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..e6206c71ea --- /dev/null +++ b/components/accordion/__examples__/base.jsx @@ -0,0 +1,110 @@ +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) => ( + 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..52d9f21267 --- /dev/null +++ b/components/accordion/component.json @@ -0,0 +1,21 @@ +{ + "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": [ + "/__examples__/base.jsx" + ], + "url-slug": "accordions" +} diff --git a/components/accordion/index.js b/components/accordion/index.js new file mode 100644 index 0000000000..ba376be6c5 --- /dev/null +++ b/components/accordion/index.js @@ -0,0 +1,178 @@ +"use strict"; + +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 _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)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } + +function _typeof(obj) { 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +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); + + function Accordion(props) { + var _this; + + _classCallCheck(this, Accordion); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Accordion).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 _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 _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.js b/components/accordion/panel.js new file mode 100644 index 0000000000..e5b99e7a10 --- /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 _react.default.createElement("li", { + className: "slds-accordion__list-item" + }, _react.default.createElement("section", { + className: (0, _classnames.default)('slds-accordion__section', { + 'slds-is-open': expanded + }) + }, _react.default.createElement("div", { + className: "slds-accordion__summary" + }, _react.default.createElement("h3", { + className: "slds-text-heading_small slds-accordion__summary-heading slds-has-flexi-truncate" + }, _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" + }, _react.default.createElement("span", { + className: "slds-truncate", + title: title || summary + }, summary))), panelContentActions), _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/__docs__/__snapshots__/storybook-stories.storyshot b/components/alert/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..cb1cdae900 --- /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..edddf823de --- /dev/null +++ b/components/alert/component.json @@ -0,0 +1,25 @@ +{ + "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": [ + "/__examples__/info.jsx", + "/__examples__/warning.jsx", + "/__examples__/offline.jsx", + "/__examples__/error.jsx", + "/__examples__/dismissable.jsx" + ], + "url-slug": "alerts" +} diff --git a/components/alert/container.js b/components/alert/container.js new file mode 100644 index 0000000000..1afff93bec --- /dev/null +++ b/components/alert/container.js @@ -0,0 +1,77 @@ +"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("../../utilities/class-names")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _typeof(obj) { 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +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); + + function AlertContainer() { + _classCallCheck(this, AlertContainer); + + return _possibleConstructorReturn(this, _getPrototypeOf(AlertContainer).apply(this, arguments)); + } + + _createClass(AlertContainer, [{ + key: "render", + value: function render() { + return _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..4e22037039 --- /dev/null +++ b/components/alert/index.js @@ -0,0 +1,260 @@ +"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 _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 _typeof(obj) { 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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function Alert(props) { + var _this; + + _classCallCheck(this, Alert); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Alert).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: _react.default.createElement(_icon.default, { + category: "utility", + name: "info" + }), + offline: _react.default.createElement(_icon.default, { + category: "utility", + name: "offline" + }), + warning: _react.default.createElement(_icon.default, { + category: "utility", + name: "warning" + }), + error: _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 = _react.default.createElement(_icon.default, { + category: this.props.iconCategory, + name: this.props.iconName + }); + } + + var clonedIcon = _react.default.cloneElement(icon, { + containerClassName: 'slds-m-right_x-small', + inverse: true, + size: 'x-small' + }); + /* eslint-disable no-script-url */ + + + return _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 + }, _react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveTextVariant[this.props.variant]), clonedIcon, _react.default.createElement("h2", null, heading, ' ', labels.headingLink ? _react.default.createElement("a", { + onClick: this.props.onClickHeadingLink, + href: "javascript:void(0);" + }, labels.headingLink) : null), this.props.dismissible ? _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/__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..2b58c2ba22 --- /dev/null +++ b/components/breadcrumb/component.json @@ -0,0 +1,17 @@ +{ + "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": [ + "/__examples__/base.jsx", + "/__examples__/one-item.jsx", + "/__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..2f02c10256 --- /dev/null +++ b/components/breadcrumb/index.js @@ -0,0 +1,107 @@ +"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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, 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({}, overflowDropdownMenu.props, { + id: "".concat(props.id, "-dropdown"), + iconCategory: 'utility', + iconName: 'threedots', + iconVariant: 'bare', + threedots: true + }); + + return _react.default.createElement("li", { + className: "slds-breadcrumb__item" + }, _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({}, defaultProps.assistiveText, props.assistiveText).label; + return _react.default.createElement("nav", { + role: "navigation", + "aria-label": assistiveText, + style: props.styleContainer + }, _react.default.createElement("ol", { + className: "slds-breadcrumb slds-list_horizontal" + }, overflowDropdownMenu && getBreadcrumbDropdown(overflowDropdownMenu, props), trail.map(function (crumb, index) { + return ( + /* 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/__docs__/__snapshots__/storybook-stories.storyshot b/components/builder-header/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..31d01cfba6 --- /dev/null +++ b/components/builder-header/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,2483 @@ +// 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 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..d0ff1a722a --- /dev/null +++ b/components/builder-header/__docs__/storybook-stories.jsx @@ -0,0 +1,24 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; + +import BuilderHeaderBase from '../__examples__/base'; +import BuilderHeaderBaseWithToolbar from '../__examples__/base-with-toolbar'; +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('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..d169cb9705 --- /dev/null +++ b/components/builder-header/__examples__/after-successful-save.jsx @@ -0,0 +1,118 @@ +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..09154ed1ca --- /dev/null +++ b/components/button-stateful/__examples__/icon.jsx @@ -0,0 +1,34 @@ +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..30a6d9db1c --- /dev/null +++ b/components/button-stateful/component.json @@ -0,0 +1,12 @@ +{ + "component": "button-stateful", + "status": "prod", + "display-name": "Stateful Buttons", + "classKey": "ButtonStateful", + "SLDS-component-path": "/components/button/#flavor-stateful", + "site-stories": [ + "/__examples__/icon.jsx", + "/__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..84829dd161 --- /dev/null +++ b/components/button-stateful/index.js @@ -0,0 +1,331 @@ +"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 _checkProps = _interopRequireDefault(require("./check-props")); + +var _component = _interopRequireDefault(require("./component.json")); + +var _buttonIcon = _interopRequireDefault(require("../icon/button-icon")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _typeof(obj) { 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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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'}}). + */ + +var ButtonStateful = +/*#__PURE__*/ +function (_React$Component) { + _inherits(ButtonStateful, _React$Component); + + function ButtonStateful(props) { + var _this; + + _classCallCheck(this, ButtonStateful); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(ButtonStateful).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({}, defaultProps.assistiveText, this.props.assistiveText).icon; + var isActive = typeof active === 'boolean' ? active : this.state.active; + + if (variant === 'icon' || variant === 'icon-filled') { + return _react.default.createElement("button", { + "aria-live": "polite", + 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 ? _react.default.cloneElement(icon, _objectSpread({}, defaultIconProps, icon.props)) : _react.default.createElement(_buttonIcon.default, { + disabled: disabled, + name: iconName, + size: iconSize, + className: "slds-button__icon_stateful" + }), iconAssistiveText ? _react.default.createElement("span", { + className: "slds-assistive-text" + }, iconAssistiveText) : null); + } + + defaultIconProps.position = 'left'; + return _react.default.createElement("button", { + "aria-live": "assertive", + 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" + }, _react.default.createElement("span", { + className: "slds-text-not-selected" + }, stateOne.icon ? _react.default.cloneElement(stateOne.icon, _objectSpread({}, defaultIconProps, stateOne.icon.props, { + size: 'small' + })) : _react.default.createElement(_buttonIcon.default, { + disabled: disabled, + name: stateOne.iconName, + size: "small", + position: "left", + className: "slds-button__icon_stateful" + }), stateOne.label), _react.default.createElement("span", { + className: "slds-text-selected" + }, stateTwo.icon ? _react.default.cloneElement(stateTwo.icon, _objectSpread({}, defaultIconProps, stateTwo.icon.props, { + size: 'small' + })) : _react.default.createElement(_buttonIcon.default, { + disabled: disabled, + name: stateTwo.iconName, + size: "small", + position: "left", + className: "slds-button__icon_stateful" + }), stateTwo.label), _react.default.createElement("span", { + className: "slds-text-selected-focus" + }, stateThree.icon ? _react.default.cloneElement(stateThree.icon, _objectSpread({}, defaultIconProps, stateThree.icon.props, { + size: 'small' + })) : _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/__docs__/__snapshots__/storybook-stories.storyshot b/components/button/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..7853d93b2b --- /dev/null +++ b/components/button/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,590 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSButton Base 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..ab6ad82d2b --- /dev/null +++ b/components/button/__docs__/storybook-stories.jsx @@ -0,0 +1,117 @@ +/* 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..dd56b258b8 --- /dev/null +++ b/components/card/__docs__/storybook-stories.jsx @@ -0,0 +1,210 @@ +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..30d2843b3a --- /dev/null +++ b/components/card/component.json @@ -0,0 +1,25 @@ +{ + "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": [ + "/__examples__/related-list-with-table.jsx" + ], + "url-slug": "cards" +} diff --git a/components/card/empty.js b/components/card/empty.js new file mode 100644 index 0000000000..351da07058 --- /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 _react.default.createElement("div", { + className: "slds-p-horizontal_small" + }, _react.default.createElement("div", { + className: "slds-text-align_center slds-m-bottom_x-large" + }, _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.js b/components/card/filter.js new file mode 100644 index 0000000000..266cd84bb7 --- /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 _react.default.createElement(_input.default, _extends({}, rest, { + assistiveText: { + label: placeholder + }, + iconLeft: _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..5efaee2173 --- /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 = _react.default.createElement(_empty.default, { + id: props.id, + heading: props.heading + }); + } + + return _react.default.createElement("article", { + id: props.id, + className: (0, _classnames.default)('slds-card', props.className), + style: props.style + }, !props.hasNoHeader && _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 ? _react.default.createElement(_body.default, { + id: bodyId, + className: props.bodyClassName + }, props.children) : _react.default.createElement(_body.default, { + id: bodyId, + className: props.bodyClassName + }, empty), props.footer ? _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.js b/components/card/private/body.js new file mode 100644 index 0000000000..7ed09672b3 --- /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 _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.js b/components/card/private/footer.js new file mode 100644 index 0000000000..fe88a896e8 --- /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 _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.js b/components/card/private/header.js new file mode 100644 index 0000000000..aaf6f3da0c --- /dev/null +++ b/components/card/private/header.js @@ -0,0 +1,137 @@ +"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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, 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 = _react.default.cloneElement(filter, { + id: filter.props.id || id + }); + + return _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 = _react.default.createElement("h2", { + id: props.headingId, + className: "slds-text-heading_small slds-truncate", + title: title + }, props.heading); + + var Header; + + if (props.header) { + Header = _react.default.cloneElement(props.header, _objectSpread({ + figure: props.icon, + body: heading, + verticalCenter: true, + canTruncate: true + }, props.header.props)); + } else { + Header = _react.default.createElement(_mediaObject.default, { + figure: props.icon, + body: heading, + verticalCenter: true, + canTruncate: true + }); + } + + var hasFilter = props.filter ? true : null; + return _react.default.createElement("div", { + className: (0, _classnames.default)('slds-card__header', 'slds-grid') + }, Header, props.filter ? renderFilter(props.filter, props.filterId) : null, _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/__docs__/__snapshots__/storybook-stories.storyshot b/components/carousel/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..6691b742e5 --- /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..453040291e --- /dev/null +++ b/components/carousel/component.json @@ -0,0 +1,13 @@ +{ + "component": "carousel", + "status": "prod", + "display-name": "Carousel", + "classKey": "Carousel", + "SLDS-component-path": "/components/carousel", + "site-stories": [ + "/__examples__/three-items.jsx", + "/__examples__/default.jsx", + "/__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..8dba2f9cd2 --- /dev/null +++ b/components/carousel/index.js @@ -0,0 +1,540 @@ +"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 _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 _typeof(obj) { 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 _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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + // ### 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 = _possibleConstructorReturn(this, _getPrototypeOf(Carousel).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 = _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 _react.default.createElement("div", { + className: (0, _classnames.default)('slds-carousel', this.props.className), + id: id, + onKeyDown: this.handleKeyDown + }, _react.default.createElement("div", { + className: "slds-grid_vertical slds-col slds-path__scroller" + }, hasAutoplay && _react.default.createElement(_autoPlayButton.default, { + assistiveText: this.props.assistiveText.autoplayButton, + isAutoplayOn: this.getIsAutoplayOn(), + onClick: this.onAutoplayBtnClick + }), _react.default.createElement("div", { + className: "slds-is-relative", + style: carouselMargins + }, hasPreviousNextPanelNavigation && _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' + } + }), _react.default.createElement("div", { + ref: this.stageItem, + className: "slds-carousel__stage slds-show" + }, _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 _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 && _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' + } + })), _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.js b/components/carousel/private/auto-play-button.js new file mode 100644 index 0000000000..045ae3e2de --- /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 _react.default.createElement("span", { + className: "slds-carousel__autoplay", + style: { + left: '66px' + } + }, _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.js b/components/carousel/private/carousel-indicators.js new file mode 100644 index 0000000000..ea344baa74 --- /dev/null +++ b/components/carousel/private/carousel-indicators.js @@ -0,0 +1,217 @@ +"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 }; } + +function _typeof(obj) { 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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; 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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function CarouselIndicators() { + var _getPrototypeOf2; + + var _this; + + _classCallCheck(this, CarouselIndicators); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(CarouselIndicators)).call.apply(_getPrototypeOf2, [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 _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 _react.default.createElement("li", { + className: "slds-carousel__indicator slds-m-horizontal_xx-small", + key: index, + role: "presentation", + style: { + margin: 0, + padding: '0 5px' + } + }, _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 + }, _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.js b/components/carousel/private/carousel-item.js new file mode 100644 index 0000000000..4a7a2d62c7 --- /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 _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 + }) : _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' + }, _react.default.createElement("div", { + className: "slds-carousel__image" + }, _react.default.createElement("img", { + src: props.src, + alt: props.imageAssistiveText || props.heading + })), _react.default.createElement("div", { + className: "slds-carousel__content", + style: { + height: 'auto' + } + }, _react.default.createElement("h2", { + className: "slds-carousel__content-title" + }, props.heading), _react.default.createElement("div", { + className: "slds-p-bottom_x-small slds-text-body_small", + style: { + minHeight: '40px' + } + }, props.description), props.buttonLabel && _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.js b/components/carousel/private/previous-next-carousel-navigator.js new file mode 100644 index 0000000000..1bc7993970 --- /dev/null +++ b/components/carousel/private/previous-next-carousel-navigator.js @@ -0,0 +1,77 @@ +"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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, 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 _react.default.createElement("div", { + className: "slds-carousel__col-center slds-is-absolute", + style: _objectSpread({}, props.inlineStyle, { + margin: '-12px 0 0', + top: '50%' + }) + }, _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/__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..e517be5562 --- /dev/null +++ b/components/checkbox/__docs__/storybook-stories.jsx @@ -0,0 +1,284 @@ +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..fcedd6ff2d --- /dev/null +++ b/components/checkbox/component.json @@ -0,0 +1,18 @@ +{ + "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": [ + "/__examples__/default.jsx", + "/__examples__/error.jsx", + "/__examples__/toggle.jsx", + "/__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..4ec7b10f66 --- /dev/null +++ b/components/checkbox/index.js @@ -0,0 +1,561 @@ +"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) { 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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function Checkbox(_props) { + var _this; + + _classCallCheck(this, Checkbox); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Checkbox).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 _react.default.createElement("span", { + className: "slds-button slds-checkbox_button" + }, _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() + })), _react.default.createElement("label", { + className: "slds-checkbox_button__label", + htmlFor: _this.getId() + }, _react.default.createElement("span", { + className: "slds-checkbox_faux" + }, labels.label), assistiveText.label ? _react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label) : null)); + }); + + _defineProperty(_assertThisInitialized(_this), "renderBaseVariant", function (props, ariaProps, assistiveText, labels) { + return _react.default.createElement("div", { + className: (0, _classnames.default)('slds-form-element', { + 'is-required': props.required, + 'slds-has-error': props.errorText + }, props.className) + }, _react.default.createElement("div", { + className: "slds-form-element__control" + }, _react.default.createElement("span", { + className: "slds-checkbox" + }, props.required ? _react.default.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*') : null, _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() + })), _react.default.createElement("label", { + className: "slds-checkbox__label", + htmlFor: _this.getId(), + id: props.labelId + }, _react.default.createElement("span", { + className: "slds-checkbox_faux" + }), labels.label ? _react.default.createElement("span", { + className: "slds-form-element__label" + }, labels.label) : null, assistiveText.label ? _react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label) : null))), props.errorText ? _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 _react.default.createElement("div", { + className: (0, _classnames.default)('slds-form-element', { + 'is-required': props.required, + 'slds-has-error': props.errorText + }, props.className) + }, _react.default.createElement("label", { + className: "slds-checkbox_toggle slds-grid", + htmlFor: _this.getId() + }, props.required ? _react.default.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*') : null, labels.label ? _react.default.createElement("span", { + className: "slds-form-element__label slds-m-bottom_none" + }, labels.label) : null, assistiveText.label ? _react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label) : null, _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")] + }) + })), _react.default.createElement("span", { + id: "".concat(_this.getId(), "-desc"), + className: "slds-checkbox_faux_container", + "aria-live": "assertive" + }, _react.default.createElement("span", { + className: "slds-checkbox_faux" + }), _react.default.createElement("span", { + className: "slds-checkbox_on" + }, labels.toggleEnabled), _react.default.createElement("span", { + className: "slds-checkbox_off" + }, labels.toggleDisabled))), props.errorText ? _react.default.createElement("div", { + className: "slds-form-element__help", + id: _this.getErrorId() + }, props.errorText) : null); + }); + + _defineProperty(_assertThisInitialized(_this), "renderVisualPickerVariant", function (props, ariaProps, assistiveText) { + return _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) + }, _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() + })), _react.default.createElement("label", { + className: "slds-checkbox_button__label", + htmlFor: _this.getId() + }, _this.props.coverable ? _react.default.createElement("div", { + className: "slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center" + }, _react.default.createElement("span", { + className: "slds-is-selected" + }, _this.props.onRenderVisualPickerSelected()), _react.default.createElement("span", { + className: "slds-is-not-selected" + }, _this.props.onRenderVisualPickerNotSelected())) : _react.default.createElement("span", { + className: "slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center" + }, _this.props.onRenderVisualPicker()), !_this.props.vertical ? _react.default.createElement("span", { + className: "slds-visual-picker__body" + }, _this.props.labels.heading ? _react.default.createElement("span", { + className: "slds-text-heading_small" + }, _this.props.labels.heading) : null, _react.default.createElement("span", { + className: "slds-text-title" + }, _this.props.labels.label), assistiveText.label || assistiveText.heading ? _react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label || assistiveText.heading) : null) : null, !_this.props.coverable ? _react.default.createElement("span", { + className: "slds-icon_container slds-visual-picker__text-check" + }, _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({}, defaultProps.assistiveText, typeof this.props.assistiveText === 'string' ? { + label: this.props.assistiveText + } : {}, _typeof(this.props.assistiveText) === 'object' ? this.props.assistiveText : {}); + + var labels = _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/__docs__/__snapshots__/storybook-stories.storyshot b/components/color-picker/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..7f585acede --- /dev/null +++ b/components/color-picker/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,2374 @@ +// 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..084fc172d7 --- /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 = 'DatepickerExample'; + + 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..5dd17be636 --- /dev/null +++ b/components/color-picker/component.json @@ -0,0 +1,11 @@ +{ + "component": "color-picker", + "status": "prod", + "display-name": "Color Pickers", + "classKey": "ColorPicker", + "SLDS-component-path": "/components/color-picker", + "site-stories": [ + "/__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..fc72fe98c6 --- /dev/null +++ b/components/color-picker/index.js @@ -0,0 +1,636 @@ +"use strict"; + +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 _typeof(obj) { 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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function ColorPicker(props) { + var _this; + + _classCallCheck(this, ColorPicker); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(ColorPicker).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 isValid = _this.props.events.onValidateColor ? _this.props.events.onValidateColor(event.target.value) : _color.default.isValidHex(event.target.value); + + _this.setState({ + currentColor: currentColor, + workingColor: _color.default.getNewColor({ + hex: currentColor + }, _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; + } // use getDerivedStateFromProps when available + + + _createClass(ColorPicker, [{ + key: "componentWillReceiveProps", + value: function componentWillReceiveProps(nextProps) { + var nextState = {}; + + if (nextProps.value) { + nextState.currentColor = nextProps.value; + } + + if (nextProps.valueWorking) { + nextState.workingColor = _color.default.getNewColor({ + hex: nextProps.valueWorking + }, this.props.events.onValidateWorkingColor); + } + + if (nextProps.disabled !== undefined) { + nextState.disabled = nextProps.disabled; + } + + this.setState(nextState); + } + }, { + key: "getInput", + value: function getInput(_ref5) { + var _this2 = this; + + var labels = _ref5.labels; + return this.props.hideInput ? null : _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') && _react.default.createElement(_panel.default, { + label: labels.swatchTab + }, _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') && _react.default.createElement(_panel.default, { + label: labels.customTab + }, _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 = _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 = _react.default.createElement("div", { + className: "slds-color-picker__selector-footer" + }, _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" + }), _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 _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 + }, _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: _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 _react.default.createElement("div", { + className: (0, _classnames.default)('slds-color-picker', this.props.className), + ref: function ref(node) { + _this5.wrapper = node; + } + }, _react.default.createElement("div", { + className: "slds-color-picker__summary" + }, _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 ? _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..5f26e0b8f0 --- /dev/null +++ b/components/color-picker/private/custom-color-form.js @@ -0,0 +1,108 @@ +"use strict"; + +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 _typeof(obj) { 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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 _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); + + function CustomColorForm() { + _classCallCheck(this, CustomColorForm); + + return _possibleConstructorReturn(this, _getPrototypeOf(CustomColorForm).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 _react.default.createElement("div", { + className: "slds-color-picker__custom-inputs" + }, _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 + }), _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) + }), _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) + }), _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..8ad4ade5b0 --- /dev/null +++ b/components/color-picker/private/custom-color.js @@ -0,0 +1,98 @@ +"use strict"; + +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 _typeof(obj) { 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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 _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); + + function CustomColor() { + _classCallCheck(this, CustomColor); + + return _possibleConstructorReturn(this, _getPrototypeOf(CustomColor).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 _react.default.createElement("div", { + className: "slds-color-picker__custom" + }, _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 + }), _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 ? _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..ad3a472454 --- /dev/null +++ b/components/color-picker/private/hsv-color.js @@ -0,0 +1,220 @@ +"use strict"; + +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 _typeof(obj) { 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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function HsvColor() { + var _getPrototypeOf2; + + var _this; + + _classCallCheck(this, HsvColor); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(HsvColor)).call.apply(_getPrototypeOf2, [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 _react.default.createElement("div", null, _react.default.createElement("p", { + className: "slds-assistive-text", + id: "color-picker-instructions-".concat(this.props.id) + }, this.props.assistiveText.saturationValueGrid), _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" + }, _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 + }, _react.default.createElement("span", { + className: "slds-assistive-text" + }, "Saturation ".concat(workingColor.hsv.saturation, "% Brightness: ").concat(workingColor.hsv.value, "%")))), _react.default.createElement("div", { + className: "slds-color-picker__hue-and-preview" + }, _react.default.createElement("label", { + className: "slds-assistive-text", + htmlFor: "color-picker-input-range-".concat(this.props.id) + }, this.props.assistiveText.hueSlider), _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 + }), _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 + }, _react.default.createElement(_radio.default, { + checked: !this.isTransparent(), + id: "color-picker-active-working-color-swatch-".concat(this.props.id), + key: "working-color", + label: this.props.labels.customTabActiveWorkingColorSwatch, + style: swatchStyle, + value: workingColor.hex, + variant: "swatch" + }), _react.default.createElement(_radio.default, { + checked: this.isTransparent(), + id: "color-picker-transparent-swatch-".concat(this.props.id), + key: "transparent", + 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..42aa4da4fe --- /dev/null +++ b/components/color-picker/private/swatch-option.js @@ -0,0 +1,99 @@ +"use strict"; + +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 _typeof(obj) { 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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 _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); + + function SwatchOption() { + _classCallCheck(this, SwatchOption); + + return _possibleConstructorReturn(this, _getPrototypeOf(SwatchOption).apply(this, arguments)); + } + + _createClass(SwatchOption, [{ + key: "render", + value: function render() { + var _this = this; + + return _react.default.createElement("li", { + className: "slds-color-picker__swatch", + style: this.props.workingColor && this.props.workingColor.hex === this.props.color ? selectedStyle : {}, + role: "presentation" + }, _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 + }, _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..ae72b639c7 --- /dev/null +++ b/components/color-picker/private/swatch-picker.js @@ -0,0 +1,166 @@ +"use strict"; + +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 _typeof(obj) { 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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function SwatchPicker(_props) { + var _this; + + _classCallCheck(this, SwatchPicker); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(SwatchPicker).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 _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 _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.js b/components/color-picker/private/swatch.js new file mode 100644 index 0000000000..e12c4cc6e1 --- /dev/null +++ b/components/color-picker/private/swatch.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")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, 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 _react.default.createElement("span", { + className: "slds-swatch", + style: innerStyle + }, _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..aca5eeb47e --- /dev/null +++ b/components/combobox/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,8296 @@ +// 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 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 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..c3ea294c5c --- /dev/null +++ b/components/combobox/__docs__/storybook-stories.jsx @@ -0,0 +1,190 @@ +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 Dialog from '../__examples__/dialog.jsx'; +import InlineSingle from '../__examples__/inline-single'; +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 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('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-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..7a035e61d9 --- /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/forms/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..1a1e47e90f --- /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-search-add-entities.jsx b/components/combobox/__examples__/inline-single-search-add-entities.jsx new file mode 100644 index 0000000000..ae4b8c57ff --- /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.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..b0832a85e6 --- /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..6826a1a071 --- /dev/null +++ b/components/combobox/add-subheadings.js @@ -0,0 +1,64 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +/* 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 subheadingsNotPresent = _toConsumableArray(subheadings); + + var filteredOptionsWithSubheadings = filteredOptions.map(function (option) { + var subheadingRelatedToFilteredOption; // Remove subheadings that have been found from + // `subheadingsNotPresent` and flag if they are + // found. + + subheadingsNotPresent = subheadingsNotPresent.filter(function (subheading) { + var subheadingNotPresentInFilteredOptions = true; + + if (option.type === subheading.id) { + subheadingRelatedToFilteredOption = subheading; + subheadingNotPresentInFilteredOptions = false; + } + + return subheadingNotPresentInFilteredOptions; + }); // So that they can be inserted into the current filtered + // options in a child array with the first related option + // OUTPUT + // Array [ + // 0: Array [ + // 0: {id: "account", label: "Accounts", type: "separator"} + // 1: {id: "1", label: "Acme", type: "account"} + // ] + // ] + + return subheadingRelatedToFilteredOption ? [subheadingRelatedToFilteredOption, option] : [option]; + }); // 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(filteredOptionsWithSubheadings)); +}; + +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.js b/components/combobox/combobox.js new file mode 100644 index 0000000000..68f7358d5d --- /dev/null +++ b/components/combobox/combobox.js @@ -0,0 +1,1743 @@ +"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 _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 _typeof(obj) { 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 _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) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; 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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function Combobox(_props) { + var _this; + + _classCallCheck(this, Combobox); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Combobox).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 = _react.default.createElement("div", null, _react.default.createElement("div", { + className: "slds-assistive-text", + id: "".concat(_this.getId(), "-label") + }, assistiveText.popoverLabel), body); + + var popoverFooter = _react.default.createElement("div", null, _react.default.createElement(_button.default, { + label: labels.cancelButton, + onClick: function onClick(e) { + _this.handleClose(e, { + trigger: 'cancel' + }); + } + }), _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.state.isOpen) { + _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.state.isOpen) { + (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.state.isOpen) { + (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); + } + } + }); + + _defineProperty(_assertThisInitialized(_this), "handlePillClickSelectedListbox", function (event, _ref6) { + var option = _ref6.option, + index = _ref6.index; + + // this is clicking the span, not the remove button + _this.setState({ + activeSelectedOption: option, + activeSelectedOptionIndex: index, + listboxHasFocus: true + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handlePillFocus", function () { + if (!_this.state.listboxHasFocus) { + _this.setState({ + 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.setState({ + isOpen: false + }); + } + }); + + _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 _react.default.createElement("div", { + className: "slds-form-element__control" + }, _react.default.createElement("div", { + className: "slds-combobox_container" + }, _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), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + // used on menu's listbox + , + "aria-owns": _this.getIsOpen() ? "".concat(_this.getId(), "-listbox") : undefined // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox" + }, _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(), + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + hasSpinner: _this.props.hasInputSpinner, + iconRight: _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, + role: "textbox", + 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 + }) + }))), _react.default.createElement(_selectedListbox.default, { + activeOption: _this.state.activeSelectedOption, + activeOptionIndex: _this.state.activeSelectedOptionIndex, + assistiveText: assistiveText, + events: { + onBlurPill: _this.handleBlurPill, + onClickPill: _this.handlePillClickSelectedListbox, + 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 && _react.default.createElement("div", { + className: "slds-has-error" + }, _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 _react.default.createElement("div", { + className: "slds-form-element__control" + }, _react.default.createElement("div", { + className: (0, _classnames.default)('slds-combobox_container', { + 'slds-has-inline-listbox': props.selection.length + }) + }, props.selection.length ? _react.default.createElement(_selectedListbox.default, { + activeOption: _this.state.activeSelectedOption, + activeOptionIndex: _this.state.activeSelectedOptionIndex, + assistiveText: assistiveText, + events: { + onBlurPill: _this.handleBlurPill, + onClickPill: _this.handlePillClickSelectedListbox, + 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, _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), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox" + }, _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(), + defaultValue: props.defaultValue, + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + hasSpinner: _this.props.hasInputSpinner, + iconRight: _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, + role: "textbox", + 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 && _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 ? _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; + /* eslint-disable jsx-a11y/role-supports-aria-props */ + + return _react.default.createElement("div", { + className: "slds-form-element__control" + }, _react.default.createElement("div", { + className: (0, _classnames.default)('slds-combobox_container', { + 'slds-has-inline-listbox': props.selection.length + }) + }, _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), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox" + }, _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(), + 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 ? _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] + }); + } + }) : _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, + role: "textbox", + 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 && _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 _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 _react.default.createElement("div", { + className: "slds-form-element__control" + }, _react.default.createElement("div", { + className: "slds-combobox_container" + }, _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), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "dialog" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox" + }, _react.default.createElement(_popover.default, popoverProps, _react.default.createElement(_innerInput.default, { + "aria-autocomplete": "none", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-popover") : undefined, + "aria-describedby": _this.getErrorId(), + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + iconRight: _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, + role: "textbox", + value: props.value + })))), props.errorText && _react.default.createElement("div", { + className: "slds-has-error" + }, _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 || ''; + /* eslint-disable jsx-a11y/role-supports-aria-props */ + + return _react.default.createElement("div", { + className: "slds-form-element__control" + }, _react.default.createElement("div", { + className: "slds-combobox_container" + }, _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), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox" + }, _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(), + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + iconRight: _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, + role: "textbox", + value: value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }))), _react.default.createElement(_selectedListbox.default, { + activeOption: _this.state.activeSelectedOption, + activeOptionIndex: _this.state.activeSelectedOptionIndex, + assistiveText: assistiveText, + events: { + onBlurPill: _this.handleBlurPill, + onClickPill: _this.handlePillClickSelectedListbox, + 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 && _react.default.createElement("div", { + className: "slds-has-error" + }, _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 || ''; + /* eslint-disable jsx-a11y/role-supports-aria-props */ + + return _react.default.createElement("div", { + className: "slds-form-element__control" + }, _react.default.createElement("div", { + className: "slds-combobox_container" + }, _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), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox" + }, _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(), + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + disabled: _this.props.singleInputDisabled, + iconRight: _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, + role: "textbox", + value: _this.state.activeOption && _this.state.activeOption.label || value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }), props.errorText && _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: "componentWillReceiveProps", + value: function componentWillReceiveProps(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) { + this.setState({ + activeOptionIndex: index + }); + } else { + this.setState({ + activeOption: undefined, + activeOptionIndex: -1 + }); + } + } else if (this.props.isOpen !== nextProps.isOpen) { + this.setState({ + 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) { + this.setState({ + activeSelectedOption: nextProps.selection[0], + activeSelectedOptionIndex: 0 + }); + } // changes pill focus to last item in the list if the selection length has changed + + + if (nextProps.selection.length > this.props.selection.length) { + if (nextProps.selection.length < 1) { + this.setState({ + activeSelectedOption: undefined, + activeSelectedOptionIndex: 0 + }); + } else { + this.setState({ + activeSelectedOption: nextProps.selection[nextProps.selection.length - 1], + activeSelectedOptionIndex: nextProps.selection.length - 1 + }); + } + } + } + }, { + 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() ? _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 = _react.default.createElement("div", { + className: (0, _classnames.default)('slds-form-element', props.classNameContainer) + }, props.entityCombobox ? null : _react.default.createElement(_label.default, { + assistiveText: this.props.assistiveText, + htmlFor: this.getId(), + label: labels.label, + required: props.required + }), this.props.fieldLevelHelpTooltip && hasRenderedLabel ? _react.default.createElement(_fieldLevelHelpTooltip.default, { + fieldLevelHelpTooltip: this.props.fieldLevelHelpTooltip + }) : null, variantExists ? subRenders[this.props.variant][multipleOrSingle](subRenderParameters) : subRenders.base.multiple(subRenderParameters)); + + return props.entityCombobox ? _react.default.createElement("div", { + className: "slds-form-element" + }, _react.default.createElement(_label.default, { + assistiveText: props.assistiveText, + htmlFor: this.getId(), + label: labels.label, + required: props.required + }), _react.default.createElement("div", { + className: "slds-form-element__control" + }, _react.default.createElement("div", { + className: "slds-combobox-group" + }, _react.default.createElement("div", { + className: "slds-combobox_object-switcher slds-combobox-addon_start" + }, props.entityCombobox), _react.default.createElement("div", { + className: "slds-combobox_container slds-combobox-addon_end" + }, mainCombobox)))) : mainCombobox; + } + }]); + + return Combobox; +}(_react.default.Component); +/* eslint-enable jsx-a11y/role-supports-aria-props */ + + +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..04d3e6df4f --- /dev/null +++ b/components/combobox/component.json @@ -0,0 +1,29 @@ +{ + "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": [ + "/__examples__/base.jsx", + "/__examples__/base-menu-subheader.jsx", + "/__examples__/base-inherit-menu-width.jsx", + "/__examples__/base-predefined-options-only.jsx", + "/__examples__/base-with-scroll.jsx", + "/__examples__/dialog.jsx", + "/__examples__/inline-multiple.jsx", + "/__examples__/inline-single.jsx", + "/__examples__/inline-single-entity-combobox.jsx", + "/__examples__/inline-single-search-add-entities.jsx", + "/__examples__/inline-multiple-loading.jsx", + "/__examples__/readonly-single.jsx", + "/__examples__/readonly-multiple.jsx", + "/__examples__/required-input-error-state.jsx", + "/__examples__/dialog.jsx" + ], + "url-slug": "comboboxes" +} diff --git a/components/combobox/filter.js b/components/combobox/filter.js new file mode 100644 index 0000000000..7d22345f8e --- /dev/null +++ b/components/combobox/filter.js @@ -0,0 +1,38 @@ +"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 searchTermFound = option.label ? option.label.match(inputValueRegExp) : false; + var isSeparator = option.type === 'separator'; + var notAlreadySelected = !selection.some(function (sel) { + return sel.id === option.id; + }); + return (!inputValue || isSeparator || searchTermFound) && 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.js b/components/combobox/private/menu.js new file mode 100644 index 0000000000..ddebee5f1f --- /dev/null +++ b/components/combobox/private/menu.js @@ -0,0 +1,460 @@ +"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")); + +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) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, 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({}, 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({}, 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 [label.substr(0, position), _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 ? _react.default.createElement("li", { + className: "slds-dropdown__header slds-truncate", + title: optionData.label, + role: "separator", + key: "menu-separator-".concat(optionData.id) + }, _react.default.createElement("span", { + className: (0, _classnames.default)('slds-listbox__option-header', props.classNameMenuSubHeader) + }, optionData.label)) : _react.default.createElement("li", { + className: "slds-has-divider_top-space", + role: "separator", + key: "menu-separator-".concat(optionData.id) + }); + } + + if (optionData.type === 'header') { + return _react.default.createElement("li", { + key: "menu-header-".concat(optionData.id, "}"), + role: "presentation", + className: "slds-listbox__item" + }, _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" + }, _react.default.createElement("span", { + className: "slds-media__figure slds-listbox__option-icon" + }, optionData.icon), _react.default.createElement("span", { + className: "slds-media__body" + }, renderLabel(optionData.label, props.inputValue)))); + } + + if (optionData.type === 'footer') { + return _react.default.createElement("li", { + key: "menu-header-".concat(optionData.id, "}"), + role: "presentation", + className: "slds-listbox__item" + }, _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" + }, _react.default.createElement("span", { + className: "slds-media__figure slds-listbox__option-icon" + }, optionData.icon), _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': _react.default.createElement("span", _extends({ + "aria-selected": active + }, disabledProps, { + 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_has-meta', { + 'slds-has-focus': active + }), + onClick: optionData.disabled ? null : function (event) { + props.onSelect(event, { + option: optionData + }); + }, + role: "option" + }), optionData.icon && !props.onRenderMenuItem ? _react.default.createElement("span", { + className: "slds-media__figure" + }, optionData.icon) : null, props.onRenderMenuItem ? _react.default.createElement(MenuItem, { + assistiveText: props.assistiveText, + selected: selected, + option: optionData + }) : _react.default.createElement("span", { + className: "slds-media__body" + }, _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)), _react.default.createElement("span", { + className: (0, _classnames.default)('slds-listbox__option-meta slds-listbox__option-meta_entity', { + 'slds-disabled-text': optionData.disabled + }) + }, optionData.subTitle))), + checkbox: _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), + 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" + }), _react.default.createElement("span", { + className: "slds-media__figure" + }, _react.default.createElement(_icon.default, { + className: "slds-listbox__icon-selected", + category: "utility", + name: "check", + size: "x-small" + })), _react.default.createElement("span", { + className: "slds-media__body" + }, props.onRenderMenuItem ? _react.default.createElement(MenuItem, { + assistiveText: props.assistiveText, + selected: selected, + option: optionData + }) : _react.default.createElement("span", { + className: (0, _classnames.default)('slds-truncate', { + 'slds-disabled-text': optionData.disabled + }), + title: optionData.label + }, selected ? _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', + triggerStyle: { + width: '100%' + } + }, userDefinedTooltipProps); + + if (active) { + // allows showing the tooltip on keyboard navigation to disabled menu item + tooltipProps.isOpen = true; + } + + item = _react.default.cloneElement(props.tooltipMenuItemDisabled, tooltipProps, menuItem[props.variant]); + } else { + item = menuItem[props.variant]; + } + + return _react.default.createElement("li", { + className: "slds-listbox__item", + key: "menu-option-".concat(optionData.id), + role: "presentation" + }, item); + }); + return _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 : _react.default.createElement("li", { + className: "slds-listbox__item slds-listbox__status", + role: "status", + "aria-live": "polite" + }, _react.default.createElement("span", { + className: "slds-m-left_x-large slds-p-vertical_medium" + }, props.labels.noOptionsFound)), props.hasMenuSpinner && _react.default.createElement("li", { + role: "presentation", + className: "slds-listbox__item" + }, _react.default.createElement("div", { + className: "slds-align_absolute-center slds-p-top_medium" + }, _react.default.createElement("div", { + role: "status", + className: "slds-spinner slds-spinner_x-small slds-spinner_inline" + }, _react.default.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.loadingMenuItems), _react.default.createElement("div", { + className: "slds-spinner__dot-a" + }), _react.default.createElement("div", { + className: "slds-spinner__dot-b" + }))))); +}; + +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/component-docs.json b/components/component-docs.json new file mode 100644 index 0000000000..f9ce702fce --- /dev/null +++ b/components/component-docs.json @@ -0,0 +1,18020 @@ +{ + "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 closeButton: '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 trigger: '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 dragIconText: '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 icon: '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 + } + ] + }, + "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 label: '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 backIcon: 'Back',\n helpIcon: 'Help',\n icon: '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```" + }, + "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._" + }, + "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 back: 'Back',\n help: 'Help',\n pageType: 'Page Type',\n title: '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 actions: '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" + } + } + ] + }, + "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'}}).", + "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-*` 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..c3f637022e --- /dev/null +++ b/components/data-table/__docs__/storybook-stories.jsx @@ -0,0 +1,44 @@ +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 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'; + +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('Fixed Header', () => ) + .add('Fixed Header Horizontal Scrolling', () => ( + + )) + .add('Joined with Page Header', () => ); 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..0396a6791e --- /dev/null +++ b/components/data-table/__examples__/advanced-single-select-fixed-header.jsx @@ -0,0 +1,213 @@ +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 ( +
    + +

    + Advanced Single Select (Fixed Header) +

    + + + + + + + + + + + + + } + /> + +
    +
    + ); + } +} + +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..50f3bcd310 --- /dev/null +++ b/components/data-table/__examples__/advanced-single-select.jsx @@ -0,0 +1,213 @@ +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 ( +
    + +

    + Advanced Single Select (Fixed Layout) +

    + + + + + + + + + + + + + } + /> + +
    +
    + ); + } +} + +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..3baf19ac96 --- /dev/null +++ b/components/data-table/__examples__/advanced.jsx @@ -0,0 +1,229 @@ +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 ( +
    + +

    + Advanced (Fixed Layout) +

    + + + + + + + + + + + + + } + /> + +
    +
    + ); + } +} + +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..0c4611b3c2 --- /dev/null +++ b/components/data-table/__examples__/basic-fixed-layout.jsx @@ -0,0 +1,106 @@ +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 ( + +
    +

    + Basic Fixed Layout +

    + + {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..3b2a2e213c --- /dev/null +++ b/components/data-table/__examples__/basic-fluid-column-bordered.jsx @@ -0,0 +1,108 @@ +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 ( + +
    +

    + Basic Fluid Layout - Column Bordered +

    + + {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..fa3c79915f --- /dev/null +++ b/components/data-table/__examples__/basic-fluid-no-row-hover.jsx @@ -0,0 +1,108 @@ +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 ( + +
    +

    + Basic Fluid Layout - No Row Hover +

    + + {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..6c963ced21 --- /dev/null +++ b/components/data-table/__examples__/basic-fluid-striped.jsx @@ -0,0 +1,108 @@ +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 ( + +
    +

    + Basic Fluid Layout - Striped +

    + + {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..663c4e1ff6 --- /dev/null +++ b/components/data-table/__examples__/basic-fluid.jsx @@ -0,0 +1,104 @@ +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 ( + +
    +

    + Basic Fluid Layout (Default) +

    + + {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..09d380a676 --- /dev/null +++ b/components/data-table/__examples__/fixed-header.jsx @@ -0,0 +1,304 @@ +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 ( +
    + +

    + Fixed Header Layout +

    + + + + + + + + + + + + + } + /> + +
    +
    + ); + } +} + +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..41bf233631 --- /dev/null +++ b/components/data-table/__examples__/joined-with-page-header.jsx @@ -0,0 +1,462 @@ +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 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..a8c0c2bf7b --- /dev/null +++ b/components/dynamic-icon/component.json @@ -0,0 +1,17 @@ +{ + "component": "dynamic-icon", + "status": "prod", + "display-name": "Dynamic Icon", + "classKey": "DynamicIcon", + "SLDS-component-path": "/components/dynamic-icon", + "site-stories": [ + "/__examples__/ellie.jsx", + "/__examples__/eq.jsx", + "/__examples__/score.jsx", + "/__examples__/strength.jsx", + "/__examples__/trend.jsx", + "/__examples__/typing.jsx", + "/__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..fc9f9a8b7c --- /dev/null +++ b/components/dynamic-icon/index.js @@ -0,0 +1,433 @@ +"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("../../utilities/class-names")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _typeof(obj) { 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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +// 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); + + function DynamicIcon() { + _classCallCheck(this, DynamicIcon); + + return _possibleConstructorReturn(this, _getPrototypeOf(DynamicIcon).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 = [_react.default.createElement("svg", { + viewBox: "0 0 280 14", + "aria-hidden": "true" + }, _react.default.createElement("circle", { + cx: "7", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "7", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "21", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "21", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "35", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "35", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "49", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "49", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "63", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "63", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "77", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "77", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "91", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "91", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "105", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "105", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "119", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "119", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "133", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "133", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "147", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "147", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "161", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "161", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "175", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "175", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "189", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "189", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "203", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "203", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "217", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "217", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "231", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "231", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "245", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "245", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "259", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "259", + cy: "7", + r: "3" + }), _react.default.createElement("circle", { + cx: "273", + cy: "7", + r: "4" + }), _react.default.createElement("circle", { + cx: "273", + cy: "7", + r: "3" + }))]; + } else if (this.props.variant === 'eq') { + children = [_react.default.createElement("div", { + className: "slds-icon-eq__bar" + }), _react.default.createElement("div", { + className: "slds-icon-eq__bar" + }), _react.default.createElement("div", { + className: "slds-icon-eq__bar" + })]; + } else if (this.props.variant === 'score') { + children = [_react.default.createElement("svg", { + viewBox: "0 0 5 5", + className: "slds-icon-score__positive", + "aria-hidden": "true" + }, _react.default.createElement("circle", { + cx: "50%", + cy: "50%", + r: "1.875" + })), _react.default.createElement("svg", { + viewBox: "0 0 5 5", + className: "slds-icon-score__negative", + "aria-hidden": "true" + }, _react.default.createElement("circle", { + cx: "50%", + cy: "50%", + r: "1.875" + }))]; + } else if (this.props.variant === 'strength') { + children = [_react.default.createElement("svg", { + viewBox: "0 0 27 7", + "aria-hidden": "true" + }, _react.default.createElement("circle", { + r: "3.025", + cx: "3.5", + cy: "3.5" + }), _react.default.createElement("circle", { + r: "3.025", + cx: "13.5", + cy: "3.5" + }), _react.default.createElement("circle", { + r: "3.025", + cx: "23.5", + cy: "3.5" + }))]; + } else if (this.props.variant === 'trend') { + children = [_react.default.createElement("svg", { + viewBox: "0 0 16 16", + "aria-hidden": "true" + }, _react.default.createElement("path", { + className: "slds-icon-trend__arrow", + d: "M.75 8H11M8 4.5L11.5 8 8 11.5" + }), _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 = [_react.default.createElement("span", { + className: "slds-icon-typing__dot" + }), _react.default.createElement("span", { + className: "slds-icon-typing__dot" + }), _react.default.createElement("span", { + className: "slds-icon-typing__dot" + })]; + + if (!this.props.title) { + defaultAssistiveText = 'User is typing'; + } + } else if (this.props.variant === 'waffle') { + children = [_react.default.createElement("span", { + className: "slds-icon-waffle" + }, _react.default.createElement("span", { + className: "slds-r1" + }), _react.default.createElement("span", { + className: "slds-r2" + }), _react.default.createElement("span", { + className: "slds-r3" + }), _react.default.createElement("span", { + className: "slds-r4" + }), _react.default.createElement("span", { + className: "slds-r5" + }), _react.default.createElement("span", { + className: "slds-r6" + }), _react.default.createElement("span", { + className: "slds-r7" + }), _react.default.createElement("span", { + className: "slds-r8" + }), _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(_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 _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/__docs__/__snapshots__/storybook-stories.storyshot b/components/expandable-section/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..4a8c3cb816 --- /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..68b22ee8fb --- /dev/null +++ b/components/expandable-section/component.json @@ -0,0 +1,13 @@ +{ + "component": "expandable-section", + "status": "prod", + "display-name": "Expandable Section", + "classKey": "ExpandableSection", + "SLDS-component-path": "/components/expandable-section", + "site-stories": [ + "/__examples__/default.jsx", + "/__examples__/controlled.jsx", + "/__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..d7b8d71349 --- /dev/null +++ b/components/expandable-section/index.js @@ -0,0 +1,185 @@ +"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 _button = _interopRequireDefault(require("../button")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _typeof(obj) { 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 _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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function ExpandableSection(props) { + var _this; + + _classCallCheck(this, ExpandableSection); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(ExpandableSection).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 = _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 _react.default.createElement("div", { + className: (0, _classnames.default)('slds-section', { + 'slds-is-open': isOpen + }, this.props.className) + }, _react.default.createElement("h3", { + className: (0, _classnames.default)('slds-section__title', { + 'slds-theme_shade': !!this.props.nonCollapsible + }) + }, !this.props.nonCollapsible ? _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), _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/__docs__/__snapshots__/storybook-stories.storyshot b/components/expression/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..84e3909aa3 --- /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..98a1a36b38 --- /dev/null +++ b/components/expression/__examples__/example.jsx @@ -0,0 +1,517 @@ +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..0ba306c2a8 --- /dev/null +++ b/components/expression/__examples__/resource-selected.jsx @@ -0,0 +1,509 @@ +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..0fe0363286 --- /dev/null +++ b/components/expression/component.json @@ -0,0 +1,23 @@ +{ + "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": ["/__examples__/resource-selected.jsx"], + "url-slug": "expression" +} diff --git a/components/expression/condition.js b/components/expression/condition.js new file mode 100644 index 0000000000..9c019d3b39 --- /dev/null +++ b/components/expression/condition.js @@ -0,0 +1,296 @@ +"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 _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 _typeof(obj) { 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +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); + + function ExpressionCondition(props) { + var _this; + + _classCallCheck(this, ExpressionCondition); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(ExpressionCondition).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 _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; + } + }, _react.default.createElement("fieldset", null, _react.default.createElement("legend", { + className: "slds-expression__legend" + }, _react.default.createElement("span", null, labels.label), _react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.title)), _react.default.createElement("div", { + className: "slds-grid slds-gutters_xx-small" + }, _react.default.createElement("div", { + className: "slds-col" + }, _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] + })), _react.default.createElement("div", { + className: "slds-col slds-grow-none" + }, _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 + })), _react.default.createElement("div", { + className: "slds-col" + }, _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 + })), _react.default.createElement("div", { + className: "slds-col slds-grow-none" + }, _react.default.createElement("div", { + className: "slds-form-element" + }, _react.default.createElement("span", { + className: "slds-form-element__label" + }, "\xA0"), _react.default.createElement("div", { + className: "slds-form-element__control" + }, _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.js b/components/expression/formula.js new file mode 100644 index 0000000000..7caf3416c6 --- /dev/null +++ b/components/expression/formula.js @@ -0,0 +1,233 @@ +"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 _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 _typeof(obj) { 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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function ExpressionFormula() { + var _this; + + _classCallCheck(this, ExpressionFormula); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(ExpressionFormula).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 = _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 _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", { + id: this.getId(), + className: (0, _classnames.default)("slds-expression_formula__rte", this.props.className) + }, _react.default.createElement("div", { + className: "slds-form-element" + }, _react.default.createElement("span", { + className: "slds-form-element__label" + }, labels.label), _react.default.createElement("div", { + className: "slds-form-element__control" + }, _react.default.createElement("div", { + className: "slds-rich-text-editor slds-grid slds-grid_vertical slds-nowrap" + }, _react.default.createElement("div", { + role: "toolbar", + className: "slds-rich-text-editor__toolbar slds-shrink-none" + }, _react.default.createElement("div", { + className: "slds-rich-text-editor__col slds-rich-text-editor__col_grow" + }, this.props.resourceCombobox), _react.default.createElement("div", { + className: "slds-rich-text-editor__col slds-rich-text-editor__col_grow" + }, this.props.functionCombobox), _react.default.createElement("div", { + className: "slds-rich-text-editor__col slds-rich-text-editor__col_grow" + }, this.props.operatorInput), _react.default.createElement("div", { + className: "slds-rich-text-editor__col" + }, _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 + }))), _react.default.createElement("div", { + className: "slds-rich-text-editor__textarea slds-grid" + }, _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 + })))))), _react.default.createElement("div", { + className: "slds-m-top_small" + }, _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.js b/components/expression/group.js new file mode 100644 index 0000000000..0066ede678 --- /dev/null +++ b/components/expression/group.js @@ -0,0 +1,371 @@ +"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 _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 _typeof(obj) { 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +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); + + _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 = _possibleConstructorReturn(this, _getPrototypeOf(ExpressionGroup).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 = _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' ? _react.default.createElement("div", { + className: "slds-expression__buttons" + }, _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 ? _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 = _react.default.createElement(_react.default.Fragment, null, this.props.triggerType === 'custom' ? _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, _react.default.createElement("ul", null, this.props.children)); + } + } + + if (this.props.isRoot) { + if (this.props.triggerType === 'formula') { + return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("div", { + className: "slds-expression__options" + }, triggerCombobox), body); + } + + return _react.default.createElement("div", { + className: (0, _classnames.default)(this.props.className), + id: this.getId() + }, _react.default.createElement("div", { + className: "slds-expression__options" + }, triggerCombobox), body, buttons); + } + + return _react.default.createElement("li", { + className: (0, _classnames.default)('slds-expression__group', this.props.className), + id: this.getId(), + ref: function ref(rootNode) { + _this2.rootNode = rootNode; + } + }, _react.default.createElement("fieldset", null, _react.default.createElement("legend", { + className: "slds-expression__legend slds-expression__legend_group" + }, _react.default.createElement("span", null, labels.label), _react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label)), _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..f740f01258 --- /dev/null +++ b/components/expression/index.js @@ -0,0 +1,168 @@ +"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 _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 _typeof(obj) { 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +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); + + function Expression() { + _classCallCheck(this, Expression); + + return _possibleConstructorReturn(this, _getPrototypeOf(Expression).apply(this, arguments)); + } + + _createClass(Expression, [{ + key: "componentWillMount", + value: function 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 _react.default.createElement("div", { + className: (0, _classnames.default)('slds-expression', this.props.className), + id: this.getId() + }, _react.default.createElement("h2", { + className: "slds-expression__title" + }, labels.title), _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/__docs__/__snapshots__/storybook-stories.storyshot b/components/files/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..70e470b601 --- /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..853edb9519 --- /dev/null +++ b/components/files/component.json @@ -0,0 +1,27 @@ +{ + "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": [ + "/__examples__/default.jsx", + "/__examples__/crops.jsx", + "/__examples__/loading.jsx", + "/__examples__/no-title.jsx", + "/__examples__/with-external-icon.jsx", + "/__examples__/no-image.jsx", + "/__examples__/actions.jsx" + ], + "url-slug": "files" +} diff --git a/components/files/file.js b/components/files/file.js new file mode 100644 index 0000000000..23dc37fffa --- /dev/null +++ b/components/files/file.js @@ -0,0 +1,229 @@ +"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 _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 _typeof(obj) { 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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +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); + + function File() { + _classCallCheck(this, File); + + return _possibleConstructorReturn(this, _getPrototypeOf(File).apply(this, arguments)); + } + + _createClass(File, [{ + key: "componentWillMount", + value: function 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({}, defaultProps.assistiveText, this.props.assistiveText); + + return _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) + }, _react.default.createElement("figure", null, _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 + }, _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 ? _react.default.createElement("figcaption", { + className: "slds-file__title slds-file__title_card" + }, _react.default.createElement("div", { + className: "slds-media__figure slds-line-height_reset" + }, this.props.icon ? _react.default.cloneElement(this.props.icon, { + size: 'x-small' + }) : null), _react.default.createElement("div", { + className: "slds-media__body" + }, _react.default.createElement("span", { + className: "slds-file__text slds-truncate", + title: this.props.labels.title + }, this.props.labels.title))) : null), this.props.externalIcon ? _react.default.createElement("div", { + className: "slds-file__external-icon" + }, _react.default.cloneElement(this.props.externalIcon, { + containerClassName: 'slds-file__icon slds-icon_container' + })) : null, this.props.moreActionsDropdown ? File.injectMoreActionsStyles() : null, _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 _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..775107fa83 --- /dev/null +++ b/components/files/index.js @@ -0,0 +1,119 @@ +"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 _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _typeof(obj) { 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +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); + + function Files() { + _classCallCheck(this, Files); + + return _possibleConstructorReturn(this, _getPrototypeOf(Files).apply(this, arguments)); + } + + _createClass(Files, [{ + key: "componentWillMount", + value: function 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 _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) + }, _react.default.cloneElement(option, { + crop: option.props.crop ? option.props.crop : _this.props.crop + })); + }); + + return _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.js b/components/files/more-files.js new file mode 100644 index 0000000000..56cf87d81c --- /dev/null +++ b/components/files/more-files.js @@ -0,0 +1,162 @@ +"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 _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _typeof(obj) { 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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +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); + + function MoreFiles() { + _classCallCheck(this, MoreFiles); + + return _possibleConstructorReturn(this, _getPrototypeOf(MoreFiles).apply(this, arguments)); + } + + _createClass(MoreFiles, [{ + key: "componentWillMount", + value: function 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({}, defaultProps.assistiveText, this.props.assistiveText); + + return _react.default.createElement("div", { + className: (0, _classnames.default)("slds-file slds-file_card", this.props.className), + id: this.getId() + }, _react.default.createElement("figure", null, _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) + }, _react.default.createElement("div", { + className: "slds-file_overlay" + }), _react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.link), _react.default.createElement("img", { + src: this.props.image, + alt: assistiveText.image + })), _react.default.createElement("figcaption", { + className: "slds-file__title slds-file__title_overlay slds-align_absolute-center slds-text-heading_large" + }, _react.default.createElement("div", { + className: "slds-media slds-media_small slds-media_center" + }, _react.default.createElement("div", { + className: "slds-media__figure slds-line-height_reset" + }), _react.default.createElement("div", { + className: "slds-media__body" + }, _react.default.createElement("span", { + className: "slds-file__text slds-truncate", + title: this.props.count + }, _react.default.createElement("span", null, this.props.count), _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.js b/components/files/private/file-actions.js new file mode 100644 index 0000000000..7afe7260a2 --- /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 = _react.default.createElement("div", { + className: "slds-file__actions-menu" + }, _react.default.createElement("div", { + className: "slds-button-group", + role: "group" + }, typeof props.onClickDownload === 'function' ? _react.default.createElement(_button.default, { + type: "button", + variant: "icon", + iconSize: "x-small", + onClick: props.onClickDownload, + title: "Download", + className: "slds-button_icon-inverse" + }, _react.default.createElement(_icon.default, { + assistiveText: { + label: props.assistiveText.download + }, + category: "utility", + name: "download", + size: "xx-small", + inverse: props.hasNoVisibleTitle + })) : null, props.moreActionsDropdown ? _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 _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.js b/components/files/private/file-figure.js new file mode 100644 index 0000000000..aba0c22804 --- /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 _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.link), _react.default.createElement(_spinner.default, { + size: "medium", + variant: "base", + assistiveText: { + label: props.assistiveText.loading + }, + containerStyle: { + zIndex: '1' + } + })); + } + + if (props.image) { + return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.link), _react.default.createElement("img", { + alt: props.assistiveText.image || props.labels.title, + src: props.image + })); + } + + return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.link), _react.default.createElement("span", { + className: "slds-file__icon slds-icon_container", + title: props.labels.title + }, _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/__docs__/__snapshots__/storybook-stories.storyshot b/components/filter/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..adf06fc805 --- /dev/null +++ b/components/filter/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,501 @@ +// 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..a2d7f22e71 --- /dev/null +++ b/components/filter/component.json @@ -0,0 +1,14 @@ +{ + "component": "filter", + "status": "prod", + "display-name": "Filters", + "classKey": "Filter", + "SLDS-component-path": "/components/filter", + "site-stories": [ + "/__examples__/default.jsx", + "/__examples__/new.jsx", + "/__examples__/error.jsx", + "/__examples__/locked.jsx" + ], + "url-slug": "filters" +} diff --git a/components/filter/index.js b/components/filter/index.js new file mode 100644 index 0000000000..3c222f36ea --- /dev/null +++ b/components/filter/index.js @@ -0,0 +1,303 @@ +"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 _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 _typeof(obj) { 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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function Filter(props) { + var _this; + + _classCallCheck(this, Filter); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Filter).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 = _react.default.createElement("div", null, _react.default.createElement("h4", { + className: "slds-assistive-text", + id: "".concat(_this.getId(), "-popover-heading") + }, assistiveText.editFilterHeading), _this.props.children, _react.default.createElement("div", { + className: "slds-m-top_small slds-text-align_right" + }, _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 _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) ? _react.default.createElement(_popover.default, popoverProps, _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" + }, _react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.editFilter), this.props.property ? _react.default.createElement("p", { + className: "slds-text-body_small" + }, this.props.property) : null, _react.default.createElement("p", null, this.props.predicate))) : _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" + }, _react.default.createElement("p", { + className: "slds-text-body_small" + }, this.props.property), _react.default.createElement("p", null, this.props.predicate)), // Remove button + !this.props.isPermanent && !this.props.isLocked ? _react.default.createElement(_button.default, { + assistiveText: { + icon: assistiveText.removeFilter + }, + hint: true, + iconCategory: "utility", + iconName: "close", + 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..62091674e3 --- /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 _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..ba0658ae8e --- /dev/null +++ b/components/forms/input/__docs__/inline/storybook-stories.jsx @@ -0,0 +1,65 @@ +/* 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..1009967a14 --- /dev/null +++ b/components/forms/input/__examples__/inline-default.jsx @@ -0,0 +1,48 @@ +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..df4362da27 --- /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) { + (0, _componentIsDeprecated.default)(COMPONENT, '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..53814072ee --- /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 = _react.default.createElement(_button.default, _extends({ + iconVariant: "global-header", + variant: "icon" + }, rest)); + + return buttonVariant === 'dropdown' ? btn : _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..17923f3254 --- /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, "".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..6331c0cd7d --- /dev/null +++ b/components/global-header/component.json @@ -0,0 +1,41 @@ +{ + "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": [ + "/__examples__/default.jsx" + ], + "url-slug": "global-headers" +} diff --git a/components/global-header/dropdown.js b/components/global-header/dropdown.js new file mode 100644 index 0000000000..51cca48518 --- /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 _react.default.createElement(_menuDropdown.default, _extends({ + nubbinPosition: "top right" + }, rest), _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.js b/components/global-header/favorites.js new file mode 100644 index 0000000000..f61c47a9b1 --- /dev/null +++ b/components/global-header/favorites.js @@ -0,0 +1,191 @@ +"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 _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 _typeof(obj) { 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 _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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function GlobalHeaderFavorites() { + var _getPrototypeOf2; + + var _this; + + _classCallCheck(this, GlobalHeaderFavorites); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(GlobalHeaderFavorites)).call.apply(_getPrototypeOf2, [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: _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 _react.default.createElement("div", { + className: "slds-global-actions__favorites slds-dropdown-trigger slds-dropdown-trigger_click" + }, _react.default.createElement("div", { + className: "slds-button-group" + }, _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)), _react.default.createElement(_popover.default, popoverProps, _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.js b/components/global-header/help.js new file mode 100644 index 0000000000..fef1220fa4 --- /dev/null +++ b/components/global-header/help.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 _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 _typeof(obj) { 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 _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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +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); + + function GlobalHeaderHelp() { + _classCallCheck(this, GlobalHeaderHelp); + + return _possibleConstructorReturn(this, _getPrototypeOf(GlobalHeaderHelp).apply(this, arguments)); + } + + _createClass(GlobalHeaderHelp, [{ + key: "render", + value: function render() { + var buttonAriaProps = { + 'aria-haspopup': true + }; + var popoverProps = (0, _lodash.default)({ + align: 'bottom', + body: _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 _react.default.createElement(_popover.default, popoverProps, _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..79194b2436 --- /dev/null +++ b/components/global-header/index.js @@ -0,0 +1,200 @@ +"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 _event = _interopRequireDefault(require("../../utilities/event")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _typeof(obj) { 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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function GlobalHeader(props) { + var _this; + + _classCallCheck(this, GlobalHeader); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(GlobalHeader).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({}, 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 _react.default.createElement("header", { + className: "slds-global-header_container" + }, this.props.onSkipToNav ? _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 ? _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, _react.default.createElement("div", { + className: "slds-global-header slds-grid slds-grid_align-spread" + }, _react.default.createElement("div", { + className: "slds-global-header__item" + }, _react.default.createElement("div", { + className: "slds-global-header__logo", + style: { + backgroundImage: "url(".concat(this.props.logoSrc, ")") + } + })), search, _react.default.createElement("div", { + className: "slds-global-header__item" + }, _react.default.createElement("ul", { + className: "slds-global-actions" + }, actions.map(function (actionItem, index) { + return _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.js b/components/global-header/notifications.js new file mode 100644 index 0000000000..0c0bd8438e --- /dev/null +++ b/components/global-header/notifications.js @@ -0,0 +1,138 @@ +"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 _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 _typeof(obj) { 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 _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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +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); + + function GlobalHeaderNotifications() { + _classCallCheck(this, GlobalHeaderNotifications); + + return _possibleConstructorReturn(this, _getPrototypeOf(GlobalHeaderNotifications).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: _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 _react.default.createElement(_popover.default, popoverProps, _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 ? _react.default.createElement("span", { + "aria-hidden": "true", + className: "slds-notification-badge slds-incoming-notification slds-show-notification" + }, notificationCount) : _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.js b/components/global-header/private/dropdown-trigger.js new file mode 100644 index 0000000000..4799ad1f5c --- /dev/null +++ b/components/global-header/private/dropdown-trigger.js @@ -0,0 +1,225 @@ +"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 }; } + +function _typeof(obj) { 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 _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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function GlobalHeaderDropdownTrigger() { + var _getPrototypeOf2; + + var _this; + + _classCallCheck(this, GlobalHeaderDropdownTrigger); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(GlobalHeaderDropdownTrigger)).call.apply(_getPrototypeOf2, [this].concat(args))); + + _defineProperty(_assertThisInitialized(_this), "renderAvatar", function () { + var avatar = _this.props.avatar; + + if (typeof avatar === 'string') { + return _react.default.createElement("span", { + className: "slds-avatar slds-avatar_circle slds-avatar_medium" + }, _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 ( + /* eslint-disable jsx-a11y/no-static-element-interactions */ + _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 + }, _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.js b/components/global-header/profile.js new file mode 100644 index 0000000000..7a56fbb044 --- /dev/null +++ b/components/global-header/profile.js @@ -0,0 +1,143 @@ +"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 _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 _typeof(obj) { 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 _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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +/** + * This component is an `Avatar` component that opens a `Popover` component when clicked. + */ +var GlobalHeaderProfile = +/*#__PURE__*/ +function (_React$Component) { + _inherits(GlobalHeaderProfile, _React$Component); + + function GlobalHeaderProfile(props) { + var _this; + + _classCallCheck(this, GlobalHeaderProfile); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(GlobalHeaderProfile).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: _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 _react.default.createElement(_popover.default, popoverProps, _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' ? _react.default.createElement("span", { + className: "slds-avatar slds-avatar_circle slds-avatar_medium" + }, _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.js b/components/global-header/search.js new file mode 100644 index 0000000000..878a8311ec --- /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 _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.js b/components/global-header/setup.js new file mode 100644 index 0000000000..d2b1b2e068 --- /dev/null +++ b/components/global-header/setup.js @@ -0,0 +1,113 @@ +"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 _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 _typeof(obj) { 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 _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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +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); + + function GlobalHeaderSetup() { + _classCallCheck(this, GlobalHeaderSetup); + + return _possibleConstructorReturn(this, _getPrototypeOf(GlobalHeaderSetup).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 _react.default.createElement(_menuDropdown.default, dropdownProps, _react.default.createElement(_buttonTrigger.default, null, _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.js b/components/global-header/task.js new file mode 100644 index 0000000000..f16d72d4c5 --- /dev/null +++ b/components/global-header/task.js @@ -0,0 +1,112 @@ +"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 _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 _typeof(obj) { 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 _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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +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); + + function GlobalHeaderTask() { + _classCallCheck(this, GlobalHeaderTask); + + return _possibleConstructorReturn(this, _getPrototypeOf(GlobalHeaderTask).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 _react.default.createElement(_menuDropdown.default, dropdownProps, _react.default.createElement(_buttonTrigger.default, null, _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/__docs__/storybook-stories.jsx b/components/global-navigation-bar/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..9e0d4c2ea2 --- /dev/null +++ b/components/global-navigation-bar/__docs__/storybook-stories.jsx @@ -0,0 +1,334 @@ +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', () => ); + +export default getGlobalNavigationBar; 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`] = ` +
    +
    +

    + Inline Help +

    +
    + +
    + +
    + ex: (415) 111-2222 +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Read Only 1`] = ` +
    +
    +

    + Read only Input +

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

    + Example Button +

    + +

    + Required Input with Error +

    +
    + +
    + +
    +
    + This field is required. +
    +
    +
    +
    +`; + +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..2b6e53bd64 --- /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..1faa3347a2 --- /dev/null +++ b/components/input/__docs__/storybook-stories.jsx @@ -0,0 +1,308 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import { INPUT } from '../../../utilities/constants'; +import Button from '../../button'; +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 = ( + +); +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', () => ( + +
    +

    + Example Button +

    +
    +
    + )) + .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..12ab559dfa --- /dev/null +++ b/components/input/__examples__/inline-help.jsx @@ -0,0 +1,22 @@ +import React from 'react'; +import Input from '~/components/input'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + render() { + return ( +
    +

    + Inline Help +

    + +
    + ); + } +} + +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..ba87dbc942 --- /dev/null +++ b/components/input/component.json @@ -0,0 +1,27 @@ +{ + "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": [ + "/__examples__/default.jsx", + "/__examples__/icons.jsx", + "/__examples__/error.jsx", + "/__examples__/inactiveInputs.jsx", + "/__examples__/inline-help.jsx", + "/__examples__/field-level-help.jsx", + "/__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..7dd0ad3a69 --- /dev/null +++ b/components/input/index.js @@ -0,0 +1,667 @@ +"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 _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 _typeof(obj) { 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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function Input(props) { + var _this; + + _classCallCheck(this, Input); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Input).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 _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 = _react.default.cloneElement(_this.props[iconPositionProp], { + iconPosition: "".concat(position) + }); + } else if (deprecatedProps.name) { + icon = _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({}, 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 _react.default.createElement("div", { + className: (0, _classnames.default)('slds-form-element', { + 'slds-has-error': this.props.errorText + }, this.props.className), + style: this.props.styleContainer + }, _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 ? _react.default.createElement(_fieldLevelHelpTooltip.default, { + assistiveText: { + triggerLearnMoreIcon: assistiveText.fieldLevelHelpButton + }, + fieldLevelHelpTooltip: this.props.fieldLevelHelpTooltip + }) : null, _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, + inlineHelpText: this.props.inlineHelpText, + 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.errorText && _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.js b/components/input/private/inner-input.js new file mode 100644 index 0000000000..6fd76c3efe --- /dev/null +++ b/components/input/private/inner-input.js @@ -0,0 +1,328 @@ +"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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, 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.bool, + '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, + + /** + * 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, + 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({}, defaultProps.assistiveText, props.assistiveText); + + return _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 && _react.default.createElement("span", { + className: "slds-form-element__addon" + }, props.fixedTextLeft), !props.isStatic && _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 ? _react.default.createElement("div", { + className: "slds-input__icon-group slds-input__icon-group_right" + }, _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 && _react.default.createElement("span", { + className: "slds-form-element__addon" + }, props.fixedTextRight), props.isStatic && _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), props.inlineHelpText && _react.default.createElement("div", { + className: "slds-form-element__help" + }, props.inlineHelpText)); +}; + +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.js b/components/input/search.js new file mode 100644 index 0000000000..e6e0ba1d64 --- /dev/null +++ b/components/input/search.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 _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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, 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({}, defaultProps.assistiveText, props.assistiveText).label; + return _react.default.createElement(_index.default, _extends({ + assistiveText: { + label: assistiveText + }, + iconLeft: _react.default.createElement(_inputIcon.default, { + assistiveText: { + icon: 'Search' + }, + category: "utility", + name: "search", + onClick: onSearch + }), + iconRight: clearable ? _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/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..5b04b1ced9 --- /dev/null +++ b/components/lookup/__docs__/storybook-stories.jsx @@ -0,0 +1,153 @@ +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..0f3a92d1db --- /dev/null +++ b/components/lookup/__examples__/default.jsx @@ -0,0 +1,40 @@ +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} + /> + + ); + } +} + +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..ddae6b1f49 --- /dev/null +++ b/components/lookup/__examples__/files.jsx @@ -0,0 +1,34 @@ +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' }, + ]} + /> + + ); + } +} + +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..bf4d2747f4 --- /dev/null +++ b/components/lookup/__examples__/with-selection.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={[ + { label: "Paddy's Pub" }, + { label: 'Tyrell Corp' }, + { label: 'Paper St. Soap Company' }, + { label: 'Nakatomi Investments' }, + { label: 'Acme Landscaping' }, + { label: 'Acme Construction' }, + ]} + selectedItem={1} + /> + + ); + } +} + +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..d1a1965ba6 --- /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) { + (0, _componentIsDeprecated.default)(COMPONENT, '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.js b/components/lookup/footer.js new file mode 100644 index 0000000000..fdf476c4e8 --- /dev/null +++ b/components/lookup/footer.js @@ -0,0 +1,110 @@ +"use strict"; + +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 _typeof(obj) { 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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function DefaultFooter() { + var _getPrototypeOf2; + + var _this; + + _classCallCheck(this, DefaultFooter); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DefaultFooter)).call.apply(_getPrototypeOf2, [this].concat(args))); + + _defineProperty(_assertThisInitialized(_this), "handleClick", function () { + if (_this.props.onClose) { + _this.props.onClose(); + } + }); + + return _this; + } + + _createClass(DefaultFooter, [{ + key: "componentWillReceiveProps", + value: function 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 ( + /* eslint-disable jsx-a11y/no-static-element-interactions */ + _react.default.createElement("div", { + className: "js-slds-lookup__item", + onClick: this.handleClick, + onMouseDown: _event.default.trapImmediate + }, _react.default.createElement("a", { + id: "newItem", + href: "javascript:void(0);", + className: className + }, _react.default.createElement("span", { + className: "lookup__item-action-label" + }, _react.default.createElement(_icon.default, { + name: "add", + category: "utility", + size: "x-small", + className: "slds-icon-text-default" + }), _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.js b/components/lookup/header.js new file mode 100644 index 0000000000..361a6712dc --- /dev/null +++ b/components/lookup/header.js @@ -0,0 +1,110 @@ +"use strict"; + +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 _typeof(obj) { 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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function DefaultHeader() { + var _getPrototypeOf2; + + var _this; + + _classCallCheck(this, DefaultHeader); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(DefaultHeader)).call.apply(_getPrototypeOf2, [this].concat(args))); + + _defineProperty(_assertThisInitialized(_this), "handleClick", function () { + if (_this.props.onClose) { + _this.props.onClose(); + } + }); + + return _this; + } + + _createClass(DefaultHeader, [{ + key: "componentWillReceiveProps", + value: function 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 ( + /* eslint-disable jsx-a11y/no-static-element-interactions */ + _react.default.createElement("div", { + className: "js-slds-lookup__item", + onMouseDown: _event.default.trapImmediate, + onClick: this.handleClick + }, _react.default.createElement("a", { + id: "searchRecords", + href: "javascript:void(0);", + className: className + }, _react.default.createElement("span", { + className: "lookup__item-action-label" + }, _react.default.createElement(_icon.default, { + name: "search", + category: "utility", + size: "x-small", + className: "slds-icon-text-default" + }), _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.js b/components/lookup/lookup.js new file mode 100644 index 0000000000..95572525d6 --- /dev/null +++ b/components/lookup/lookup.js @@ -0,0 +1,839 @@ +"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.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 _typeof(obj) { 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 _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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function Lookup(props) { + var _this; + + _classCallCheck(this, Lookup); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Lookup).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 _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 _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 _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() ? _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() ? _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 _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: _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 ? _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 _react.default.createElement("div", { + className: "slds-pill__container" + }, _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, _react.default.createElement("span", { + className: labelClassName + }, selectedItem), _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 ? // eslint-disable-next-line react/jsx-curly-brace-presence + _react.default.createElement("span", { + className: "slds-required" + }, '*') : null; + + if (_this.isSelected()) { + // inline style override + inputLabel = _react.default.createElement("span", { + className: "slds-form-element__label", + style: { + width: '100%' + } + }, required, _this.props.label); + } else { + inputLabel = _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); + } + }, { + key: "componentWillReceiveProps", + value: function 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 _react.default.createElement("div", { + className: this.getClassName(), + "data-select": "single", + "data-scope": "single", + onScroll: this.props.onScroll + }, this.props.label ? this.renderLabel() : null, _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.js b/components/lookup/private/item.js new file mode 100644 index 0000000000..55e965df35 --- /dev/null +++ b/components/lookup/private/item.js @@ -0,0 +1,183 @@ +"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 _icon = _interopRequireDefault(require("../../icon")); + +var _event = _interopRequireDefault(require("../../../utilities/event")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _typeof(obj) { 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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function Item() { + var _getPrototypeOf2; + + var _this; + + _classCallCheck(this, Item); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(Item)).call.apply(_getPrototypeOf2, [this].concat(args))); + + _defineProperty(_assertThisInitialized(_this), "handleClick", function () { + return _this.props.onSelect(_this.props.id, _this.props.data); + }); + + return _this; + } + + _createClass(Item, [{ + key: "componentWillReceiveProps", + value: function 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 _react.default.createElement(ListItemLabel, this.props); + } + }, { + key: "getIcon", + value: function getIcon() { + if (this.props.iconName && !this.props.listItemLabelRenderer) { + return _react.default.createElement("span", { + className: "slds-media__figure" + }, _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 = _react.default.createElement("div", { + className: "slds-media__body" + }, _react.default.createElement("div", { + className: "slds-lookup__result-text" + }, this.props.children.label), _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 = _react.default.createElement("div", { + className: "slds-media__body" + }, _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 (// 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; + } + }, _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.js b/components/lookup/private/menu.js new file mode 100644 index 0000000000..d674ceb3c7 --- /dev/null +++ b/components/lookup/private/menu.js @@ -0,0 +1,244 @@ +"use strict"; + +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 _typeof(obj) { 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 _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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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); + + function Menu(props) { + var _this; + + _classCallCheck(this, Menu); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Menu).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 _react.default.createElement("li", { + className: "slds-lookup__message", + "aria-live": "polite" + }, _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 _react.default.createElement(SectionDivider, _extends({ + data: component.data, + key: "section_header_".concat(id) + }, _this2.props)); + } + } + + return _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 _react.default.createElement("section", { + id: "menuContainer", + className: "ignore-react-onclickoutside" + }, this.renderHeader(), _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.js b/components/lookup/section-divider.js new file mode 100644 index 0000000000..aeb89a1822 --- /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 _react.default.createElement("li", { + className: "slds-p-around_x-small slds-lookup__divider", + tabIndex: "-1" + }, _react.default.createElement("span", { + className: "slds-m-left_x-small" + }, _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/map/__docs__/storybook-stories.jsx b/components/map/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..e881192d02 --- /dev/null +++ b/components/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 { MAP } from '../../../utilities/constants'; +import MultiLocations from '../../map/__examples__/multiple-locations'; +import SingleLocation from '../../map/__examples__/single-location'; + +storiesOf(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/map/__examples__/multiple-locations.jsx b/components/map/__examples__/multiple-locations.jsx new file mode 100644 index 0000000000..21ba7b1000 --- /dev/null +++ b/components/map/__examples__/multiple-locations.jsx @@ -0,0 +1,114 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import Map from '~/components/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 = 'MapExampleMultipleLocations'; + + constructor(props) { + super(props); + this.state = { + selection: this.props.selection || undefined, + }; + } + + render() { + const map = ( + { + log({ + action: this.props.action, + event, + eventName: 'Location is selected', + data, + }); + this.setState({ selection: data }); + }} + selection={this.state.selection} + /> + ); + + return ( + + {this.props.isModal ? ( + + } + > + {map} + + ) : ( + {map} + )} + + ); + } +} + +export default Example; diff --git a/components/map/__examples__/single-location.jsx b/components/map/__examples__/single-location.jsx new file mode 100644 index 0000000000..0a83e1900c --- /dev/null +++ b/components/map/__examples__/single-location.jsx @@ -0,0 +1,48 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import Map from '~/components/map'; +import Button from '~/components/button'; +import Modal from '~/components/modal'; + +const locations = [ + { + 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/map/component-pre-release.json b/components/map/component-pre-release.json new file mode 100644 index 0000000000..fe14371ed8 --- /dev/null +++ b/components/map/component-pre-release.json @@ -0,0 +1,12 @@ +{ + "component": "map", + "status": "prod", + "display-name": "Map", + "classKey": "Map", + "SLDS-component-path": "/components/map", + "site-stories": [ + "/__examples__/multiple-locations.jsx", + "/__examples__/single-location.jsx" + ], + "url-slug": "map" +} diff --git a/components/map/index.js b/components/map/index.js new file mode 100644 index 0000000000..9d58e62318 --- /dev/null +++ b/components/map/index.js @@ -0,0 +1,233 @@ +"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 _icon = _interopRequireDefault(require("../icon")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _typeof(obj) { 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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(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 _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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 _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.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 Map component. + */ + labels: _propTypes.default.shape({ + title: _propTypes.default.string + }), + + /** + * Array of locations objects for the Map 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 map component is used to find a location + */ + +var Map = +/*#__PURE__*/ +function (_React$Component) { + _inherits(Map, _React$Component); + + function Map(props) { + var _this; + + _classCallCheck(this, Map); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Map).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 Map's HTML id. Generate a new one if no ID present. + */ + + + _createClass(Map, [{ + 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({}, defaultProps.labels, this.props.labels); + + return _react.default.createElement("div", { + id: this.getId(), + className: (0, _classnames.default)("slds-grid", { + 'slds-has-coordinates': this.props.locations + }, this.props.classNameContainer) + }, _react.default.createElement("div", { + className: "slds-map_container", + style: { + padding: '4px' + } + }, _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 + }, _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 ? _react.default.createElement("div", { + className: "slds-coordinates" + }, _react.default.createElement("div", { + className: "slds-coordinates__header" + }, _react.default.createElement("h2", { + className: "slds-coordinates__title" + }, "".concat(labels.title, " (").concat(this.props.locations.length, ")"))), _react.default.createElement("ul", { + className: "slds-coordinates__list" + }, this.props.locations.map(function (location, i) { + return _react.default.createElement("li", { + key: location.id, + className: "slds-coordinates__item" + }, _react.default.createElement("span", { + className: "slds-assistive-text", + "aria-live": "polite" + }, "".concat(location.name, " is currently selected")), _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 + }, _react.default.createElement("span", { + className: "slds-media__figure" + }, _react.default.createElement(_icon.default, { + category: "standard", + name: "account" + })), _react.default.createElement("span", { + className: "slds-media__body" + }, _react.default.createElement("span", { + className: "slds-text-link" + }, location.name), _react.default.createElement("span", null, location.address)))); + }))) : null); + } + }]); + + return Map; +}(_react.default.Component); + +Map.displayName = displayName; +Map.propTypes = propTypes; +var _default = Map; +exports.default = _default; \ No newline at end of file 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..4514781cc9 --- /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..075558b33a --- /dev/null +++ b/components/media-object/component.json @@ -0,0 +1,16 @@ +{ + "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": [ + "/__examples__/default.jsx", + "/__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..2d5aade675 --- /dev/null +++ b/components/media-object/index.js @@ -0,0 +1,113 @@ +"use strict"; + +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 _typeof(obj) { 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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 _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); + + function MediaObject() { + _classCallCheck(this, MediaObject); + + return _possibleConstructorReturn(this, _getPrototypeOf(MediaObject).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 _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 ? _react.default.createElement("div", { + className: cssClasses.figure + }, this.props.figure, " ") : null, _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..7f866287fe --- /dev/null +++ b/components/menu-dropdown/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,5082 @@ +// 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`] = ` +
    + \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);\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 = function oneOfRequiredFunction() {};\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';\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 `` 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 Lightning Design System Buttons > Hint.\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 Lightning Design System Icons 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 Lightning Design System Icons 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 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'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 \"-1\" 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\tcomponentWillReceiveProps(nextProps, prevProps) {\n\t\tif (prevProps.value !== nextProps.value) {\n\t\t\tconst nextState = this.getCurrentSelectedIndices(nextProps);\n\t\t\tthis.setState(nextState);\n\t\t}\n\n\t\tif (prevProps.isOpen !== nextProps.isOpen) {\n\t\t\tthis.setFocus();\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\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\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 * \n\t\t * \n\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\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\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
  • \n\t\t\t\n\t\t
  • \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\t}.label;\n\n\treturn (\n\t\t\n\t\t\t
      \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\n\t\t\t\t\t\t{crumb}\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\t
    \n\t\t\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 `` or `` to define the structure of the header.\n\t * ```\n\t * \n\t * \n\t * \n\t * \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 * **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\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\treturn (\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\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\t
    {labels.title}
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \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
    \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{labels.pageType}\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\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\t\t\n\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t
    {labels.back}
    \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
    \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
    {labels.help}
    \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{toolbar}\n\t\t\t
    \n\t\t\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 * \n\t * \n\t * Custom content\n\t * \n\t * \n\t * ```\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * The miscellaneous section of the header.\n */\nconst BuilderHeaderMisc = (props) => (\n\t
    \n\t\t
    {props.children}
    \n\t
    \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 `` or `` to define the structure of the navigation section.\n\t * ```\n\t * \n\t * \n\t * \n\t * \n\t * \n\t * \n\t * ```\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * The navigation section of the header.\n */\nconst BuilderHeaderNav = (props) => (\n\t\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
  • \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\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{label}\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\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) =>
  • {child}
  • )}\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 { 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 */\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\t}.icon;\n\n\t\tconst isActive = typeof active === 'boolean' ? active : this.state.active;\n\n\t\tif (variant === 'icon' || variant === 'icon-filled') {\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\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 * 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 * Determines the size of the spinner\n\t */\n\tsize: PropTypes.oneOf(['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\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\tisInput,\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\t}.label;\n\n\tconst spinnerClassName = classNames('slds-spinner', {\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\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{assistiveText && (\n\t\t\t\t\t{assistiveText}\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\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.bool,\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 * Displays help text under the input.\n\t */\n\tinlineHelpText: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\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\n\t\t\t{props.inlineHelpText && (\n\t\t\t\t
    {props.inlineHelpText}
    \n\t\t\t)}\n\t\t\n\t);\n};\n\nInnerInput.displayName = 'SLDSInnerInput';\nInnerInput.propTypes = propTypes;\nInnerInput.defaultProps = defaultProps;\n\nexport default InnerInput;\n","/* Copyright (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.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 = oldEventParameterOrder !== undefined;\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 {\n\t\t\t\tlowPriorityWarning(\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/* 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","/* Copyright (c) 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\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","/* Copyright (c) 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","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","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 * 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 */,\n\tdefaultChecked: 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\tcomponentWillMount() {\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\t(this.props.checked && this.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 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\treturn {\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\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\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]}${\n\t\t\t\tmatch[3]\n\t\t\t}`;\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 ${\n\t\t\t\t\t\t\tworkingColor.hsv.saturation\n\t\t\t\t\t\t}% 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 scopped, defaults to false\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped']),\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\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-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-active`. If another class is desired, it should be passed in _along with_ `.slds-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 scopped, defaults to false\n\t\t */\n\t\tvariant: PropTypes.oneOf(['default', 'scoped']),\n\t};\n\n\tstatic defaultProps = {\n\t\tfocus: false,\n\t\tselected: false,\n\t\tactiveTabClassName: 'slds-active',\n\t\tdisabledTabClassName: 'slds-disabled',\n\t\tvariant: 'default',\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} = this.props;\n\t\tlet tabIndex;\n\n\t\tif (selected) {\n\t\t\ttabIndex = '0';\n\t\t} else if (disabled) {\n\t\t\ttabIndex = '-1';\n\t\t} else {\n\t\t\ttabIndex = null;\n\t\t}\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tthis.node = node;\n\t\t\t\t}}\n\t\t\t\ttabIndex={tabIndex}\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\n\t\t\t\t\t{children}\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 scopped, defaults to false\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped']),\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\tnode.classList.contains('slds-tabs_default__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 scopped, defaults to false\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped']),\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 === 'scoped' ? 'scoped' : '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>\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\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'],\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'],\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);\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\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\t// use getDerivedStateFromProps when available\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst nextState = {};\n\n\t\tif (nextProps.value) {\n\t\t\tnextState.currentColor = nextProps.value;\n\t\t}\n\n\t\tif (nextProps.valueWorking) {\n\t\t\tnextState.workingColor = ColorUtils.getNewColor(\n\t\t\t\t{\n\t\t\t\t\thex: nextProps.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 (nextProps.disabled !== undefined) {\n\t\t\tnextState.disabled = nextProps.disabled;\n\t\t}\n\n\t\tthis.setState(nextState);\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 isValid = this.props.events.onValidateColor\n\t\t\t? this.props.events.onValidateColor(event.target.value)\n\t\t\t: ColorUtils.isValidHex(event.target.value);\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: currentColor,\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';\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\tlabel.substr(0, position),\n\t\t\t{`${label.substr(\n\t\t\t\tposition,\n\t\t\t\tsearchTerm.length\n\t\t\t)}`},\n\t\t\tlabel.substr(position + searchTerm.length),\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\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\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\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{optionData.subTitle}\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\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\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\t\t\n\t\t\t\t\t\t\t\t{props.assistiveText.loadingMenuItems}\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
    \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","/* Copyright (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\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}\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.isRequired,\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 * 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\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\trole=\"listbox\"\n\t\t\tstyle={props.style}\n\t\t\taria-orientation=\"horizontal\"\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\tprops.events.onClickPill(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\tonFocus: props.events.onPillFocus,\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 jsx-a11y/role-has-required-aria-props */\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\tcomponentWillReceiveProps(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\tthis.setState({ activeOptionIndex: index });\n\t\t\t} else {\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\tthis.setState({ isOpen: nextProps.isOpen });\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\tthis.setState({\n\t\t\t\tactiveSelectedOption: nextProps.selection[0],\n\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t});\n\t\t}\n\n\t\t// changes pill focus to last item in the list if the selection length has changed\n\t\tif (nextProps.selection.length > this.props.selection.length) {\n\t\t\tif (nextProps.selection.length < 1) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tactiveSelectedOption: undefined,\n\t\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({\n\t\t\t\t\tactiveSelectedOption:\n\t\t\t\t\t\tnextProps.selection[nextProps.selection.length - 1],\n\t\t\t\t\tactiveSelectedOptionIndex: nextProps.selection.length - 1,\n\t\t\t\t});\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.state.isOpen) {\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.state.isOpen) {\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.state.isOpen) {\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\t\t}\n\t};\n\n\thandlePillClickSelectedListbox = (event, { option, index }) => {\n\t\t// this is clicking the span, not the remove button\n\t\tthis.setState({\n\t\t\tactiveSelectedOption: option,\n\t\t\tactiveSelectedOptionIndex: index,\n\t\t\tlistboxHasFocus: true,\n\t\t});\n\t};\n\n\thandlePillFocus = () => {\n\t\tif (!this.state.listboxHasFocus) {\n\t\t\tthis.setState({ listboxHasFocus: true });\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\n\t\tif (this.getIsOpen()) {\n\t\t\tthis.setState({ isOpen: false });\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\trole=\"textbox\"\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\tprops.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\trole=\"textbox\"\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\tprops.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\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\t/* eslint-disable jsx-a11y/role-supports-aria-props */\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\trole=\"textbox\"\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\tprops.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\trole=\"textbox\"\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\t`${props.selection.length} options selected`\n\t\t\t\t: (props.selection[0] && props.selection[0].label) || '';\n\n\t\t/* eslint-disable jsx-a11y/role-supports-aria-props */\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\trole=\"textbox\"\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\t/* eslint-disable jsx-a11y/role-supports-aria-props */\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\trole=\"textbox\"\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\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/* eslint-enable jsx-a11y/role-supports-aria-props */\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 searchTermFound = option.label\n\t\t\t\t? option.label.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 || isSeparator || searchTermFound) && notAlreadySelected\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\tthis.props.assistiveText.columnSortedAscending\n\t\t\t\t\t\t\t\t: this.props.assistiveTextForColumnSortedDescending ||\n\t\t\t\t\t\t\t\t\tthis.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\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\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\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\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\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}-${\n\t\t\t\t\t\tcolumn.props.property\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{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\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';\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},\n\tselection: [],\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}),\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 * 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\titems: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tid: PropTypes.string.isRequired,\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 * 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 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] : [];\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] : [];\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\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}\n\t\t\tif (canUseEventListeners && this.scrollerRef) {\n\t\t\t\tthis.scrollerRef[action]('scroll', this.resizeFixedHeaders);\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 canSelectRows =\n\t\t\tthis.props.selectRows && numRows > 0 ? this.props.selectRows : false;\n\t\tconst allSelected = canSelectRows && numRows === numSelected;\n\t\tconst indeterminateSelected =\n\t\t\tcanSelectRows && numRows !== 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\tif (index === 'action' || index === 'select') {\n\t\t\t\t\t\t\tif (ref) {\n\t\t\t\t\t\t\t\tthis.headerRefs[index][0] = ref;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.headerRefs[index] = [];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.headerRefs.column[index] = ref;\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tindeterminateSelected={indeterminateSelected}\n\t\t\t\t\tcanSelectRows={canSelectRows}\n\t\t\t\t\tcolumns={columns}\n\t\t\t\t\tid={`${this.getId()}-${DATA_TABLE_HEAD}`}\n\t\t\t\t\tonToggleAll={this.handleToggleAll}\n\t\t\t\t\tonSort={this.props.onSort}\n\t\t\t\t\tshowRowActions={!!RowActions}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\t{numRows > 0\n\t\t\t\t\t\t? this.props.items.map((item, index) => {\n\t\t\t\t\t\t\t\tconst rowId =\n\t\t\t\t\t\t\t\t\tthis.getId() && item.id\n\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: shortid.generate();\n\t\t\t\t\t\t\t\treturn (\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: // Someday this should be an element to render when the table is empty\n\t\t\t\t\t\t\tnull}\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([\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t\tPropTypes.bool,\n\t]),\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 (firstDayOfMonth.getDay() > firstDayOfWeekOffset) {\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\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\tcomponentWillMount() {\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\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\tcomponentWillMount() {\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\tcomponentWillMount() {\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

    {this.props.property}

    \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

    {this.props.property}

    \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{// Remove button\n\t\t\t\t!this.props.isPermanent && !this.props.isLocked ? (\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 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\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 = `${\n\t\t\t\tthis.props.assistiveText.newNotificationsBefore\n\t\t\t}${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{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);\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) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\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\tcomponentWillReceiveProps(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\tlockedLabel: '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\tthis.setState({\n\t\t\tactiveSelectedOption: data.option,\n\t\t\tactiveSelectedOptionIndex: data.index,\n\t\t\tlistboxHasFocus: true,\n\t\t});\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 = () => {\n\t\tif (!this.state.listboxHasFocus) {\n\t\t\tthis.setState({ listboxHasFocus: true });\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 aria-hidden=\"true\">\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\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\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-${this.props.step.id ||\n\t\t\t\t\tthis.props.index}`}\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-${this.props.step.id ||\n\t\t\t\t\tthis.props.index}`}\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-${this.props.step.id ||\n\t\t\t\tthis.props.index}`,\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 * 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 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\treturn (\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-${this.props.step.id ||\n\t\t\t\t\t\tthis.props.index}`}\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-${this.props.step.id ||\n\t\t\t\t\tthis.props.index}`}\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}(${ListItemContent.displayName ||\n\t\t\tListItemContent.name ||\n\t\t\t'Component'})`;\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\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","/* Copyright (c) 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\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\tcomponentWillReceiveProps(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\tevent.target.scrollTop /\n\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: string,\n\t * id: string,\n\t * label: string or node,\n\t * selected: string,\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/**\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 = this.flattenTree({\n\t\t\tnodes: this.props.getNodes({ nodes: this.props.nodes }),\n\t\t\texpanded: true,\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\tcomponentWillReceiveProps(nextProps) {\n\t\tthis.setState({\n\t\t\tflattenedNodes: this.flattenTree({\n\t\t\t\tnodes: this.props.getNodes({ nodes: nextProps.nodes }),\n\t\t\t\texpanded: true,\n\t\t\t}).slice(1),\n\t\t});\n\t}\n\n\t/* Flattens hierarchical tree structure into a flat array. The\n\t * first item in the array is the whole tree and therefore should be\n\t * removed with `slice(1)`.` This means that root cannot call `getNodes()`\n\t * and should directly reference the `nodes` key. All level after that\n\t * should use `getNodes()` to access the correct nodes.\n\t*/\n\tflattenTree = (root, treeIndex = '', firstLevel = true) => {\n\t\tif (!root.nodes) {\n\t\t\treturn [{ node: root, treeIndex }];\n\t\t}\n\t\tlet nodes = [{ node: root, treeIndex }];\n\t\tif (root.expanded) {\n\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\tfor (let index = 0; index < root.nodes.length; index += 1) {\n\t\t\t\tconst curNode = firstLevel\n\t\t\t\t\t? root.nodes[index]\n\t\t\t\t\t: this.props.getNodes(root)[index];\n\t\t\t\tnodes = nodes.concat(\n\t\t\t\t\tthis.flattenTree(\n\t\t\t\t\t\tcurNode,\n\t\t\t\t\t\ttreeIndex ? `${treeIndex}-${index}` : `${index}`,\n\t\t\t\t\t\tfalse\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn nodes;\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\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\tcomponentWillMount() {\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\tcomponentWillMount() {\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\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\tcomponentWillMount() {\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\tcomponentWillMount() {\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","/* Copyright (c) 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\tlet subheadingsNotPresent = [...subheadings];\n\n\tconst filteredOptionsWithSubheadings = filteredOptions.map((option) => {\n\t\tlet subheadingRelatedToFilteredOption;\n\n\t\t// Remove subheadings that have been found from\n\t\t// `subheadingsNotPresent` and flag if they are\n\t\t// found.\n\t\tsubheadingsNotPresent = subheadingsNotPresent.filter((subheading) => {\n\t\t\tlet subheadingNotPresentInFilteredOptions = true;\n\t\t\tif (option.type === subheading.id) {\n\t\t\t\tsubheadingRelatedToFilteredOption = subheading;\n\t\t\t\tsubheadingNotPresentInFilteredOptions = false;\n\t\t\t}\n\t\t\treturn subheadingNotPresentInFilteredOptions;\n\t\t});\n\n\t\t// So that they can be inserted into the current filtered\n\t\t// options in a child array with the first related option\n\t\t// OUTPUT\n\t\t// Array [\n\t\t// 0: Array [\n\t\t// 0: {id: \"account\", label: \"Accounts\", type: \"separator\"}\n\t\t// 1: {id: \"1\", label: \"Acme\", type: \"account\"}\n\t\t// ]\n\t\t// ]\n\t\treturn subheadingRelatedToFilteredOption\n\t\t\t? [subheadingRelatedToFilteredOption, option]\n\t\t\t: [option];\n\t});\n\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(...filteredOptionsWithSubheadings);\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 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..e936eb39ad --- /dev/null +++ b/design-system-react-components.min.js @@ -0,0 +1,105 @@ +/*! + * design-system-react + * v0.10.14 + * 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(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(n,r){return i={},o.m=a=[function(e,t,n){e.exports=n(62)()},function(e,t){e.exports=n},function(e,t,n){var r; +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){"use strict";var i={}.hasOwnProperty;function s(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var r=typeof n;if("string"==r||"number"==r)e.push(n);else if(Array.isArray(n)&&n.length){var o=s.apply(null,n);o&&e.push(o)}else if("object"==r)for(var a in n)i.call(n,a)&&n[a]&&e.push(a)}}return e.join(" ")}e.exports?(s.default=s,e.exports=s):void 0===(r=function(){return s}.apply(t,[]))||(e.exports=r)}()},function(e,t,n){"use strict";e.exports=n(65)},function(e,t){var n=9007199254740991,i="[object Arguments]",r="[object Function]",o="[object GeneratorFunction]",a=/^(?:0|[1-9]\d*)$/;var s,l,c=Object.prototype,u=c.hasOwnProperty,p=c.toString,d=c.propertyIsEnumerable,f=(s=Object.keys,l=Object,function(e){return s(l(e))}),m=Math.max,h=!d.call({valueOf:1},"valueOf");function b(e,t){var n=O(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&x(e)}(e)&&u.call(e,"callee")&&(!d.call(e,"callee")||p.call(e)==i)}(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&&!u.call(e,a)||o&&("length"==a||g(a,r))||n.push(a);return n}function y(e,t,n){var r=e[t];u.call(e,t)&&_(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function g(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||a.test(e))&&-1<e&&e%1==0&&e<t}function v(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||c)}function _(e,t){return e===t||e!=e&&t!=t}var O=Array.isArray;function x(e){return null!=e&&function(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=n}(e.length)&&!function(e){var t=S(e)?p.call(e):"";return t==r||t==o}(e)}function S(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var w,E,C,T=(C=function(e,t){if(h||v(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;y(n,i,void 0===s?e[i]:s)}}(t,function(e){return x(e)?b(e):function(e){if(!v(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])},w=function(e,t){var n=-1,r=t.length,o=1<r?t[r-1]:void 0,a=2<r?t[2]:void 0;for(o=3<C.length&&"function"==typeof o?(r--,o):void 0,a&&function(e,t,n){if(!S(n))return!1;var r=typeof t;return!!("number"==r?x(n)&&g(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&&C(e,i,n,o)}return e},E=m(void 0===E?w.length-1:E,0),function(){for(var e=arguments,t=-1,n=m(e.length-E,0),r=Array(n);++t<n;)r[t]=e[E+t];t=-1;for(var o=Array(E+1);++t<E;)o[t]=e[t];return o[E]=r,function(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)}(w,this,o)});e.exports=T},function(d,e,t){(function(e){var t="[object Null]",n="[object Undefined]",r="object"==typeof e&&e&&e.Object===Object&&e,o="object"==typeof self&&self&&self.Object===Object&&self,a=r||o||Function("return this")(),i=Object.prototype,s=i.hasOwnProperty,l=i.toString,c=a.Symbol,u=c?c.toStringTag:void 0;function p(e){return null==e?void 0===e?n:t:u&&u in Object(e)?function(e){var t=s.call(e,u),n=e[u];try{var r=!(e[u]=void 0)}catch(e){}var o=l.call(e);r&&(t?e[u]=n:delete e[u]);return o}(e):function(e){return l.call(e)}(e)}d.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,t(9))},function(e,t){e.exports=r},function(e,t,n){"use strict";var r=function(){};e.exports=r},function(e,bt,t){(function(e,t){var n="Expected a function",r="__lodash_hash_undefined__",y=1,_=2,a=1/0,o=9007199254740991,i=17976931348623157e292,s=NaN,g="[object Arguments]",v="[object Array]",O="[object Boolean]",x="[object Date]",S="[object Error]",l="[object Function]",c="[object GeneratorFunction]",w="[object Map]",E="[object Number]",C="[object Object]",u="[object Promise]",T="[object RegExp]",N="[object Set]",k="[object String]",j="[object Symbol]",p="[object WeakMap]",P="[object ArrayBuffer]",I="[object DataView]",d=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,f=/^\w*$/,m=/^\./,h=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,b=/^\s+|\s+$/g,D=/\\(\\)?/g,R=/^[-+]0x[0-9a-f]+$/i,A=/^0b[01]+$/i,L=/^\[object .+?Constructor\]$/,B=/^0o[0-7]+$/i,F=/^(?:0|[1-9]\d*)$/,M={};M["[object Float32Array]"]=M["[object Float64Array]"]=M["[object Int8Array]"]=M["[object Int16Array]"]=M["[object Int32Array]"]=M["[object Uint8Array]"]=M["[object Uint8ClampedArray]"]=M["[object Uint16Array]"]=M["[object Uint32Array]"]=!0,M[g]=M[v]=M[P]=M[O]=M[I]=M[x]=M[S]=M[l]=M[w]=M[E]=M[C]=M[T]=M[N]=M[k]=M[p]=!1;var q=parseInt,H="object"==typeof e&&e&&e.Object===Object&&e,K="object"==typeof self&&self&&self.Object===Object&&self,W=H||K||Function("return this")(),V=bt&&!bt.nodeType&&bt,U=V&&"object"==typeof t&&t&&!t.nodeType&&t,z=U&&U.exports===V&&H.process,G=function(){try{return z&&z.binding("util")}catch(e){}}(),Y=G&&G.isTypedArray;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 J(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function X(e){var n=-1,r=Array(e.size);return e.forEach(function(e,t){r[++n]=[t,e]}),r}function $(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var Z,ee,te,ne=Array.prototype,re=Function.prototype,oe=Object.prototype,ae=W["__core-js_shared__"],ie=(Z=/[^.]+$/.exec(ae&&ae.keys&&ae.keys.IE_PROTO||""))?"Symbol(src)_1."+Z:"",se=re.toString,le=oe.hasOwnProperty,ce=oe.toString,ue=RegExp("^"+se.call(le).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),pe=W.Symbol,de=W.Uint8Array,fe=oe.propertyIsEnumerable,me=ne.splice,he=(ee=Object.keys,te=Object,function(e){return ee(te(e))}),be=Math.max,ye=Ge(W,"DataView"),ge=Ge(W,"Map"),ve=Ge(W,"Promise"),_e=Ge(W,"Set"),Oe=Ge(W,"WeakMap"),xe=Ge(Object,"create"),Se=tt(ye),we=tt(ge),Ee=tt(ve),Ce=tt(_e),Te=tt(Oe),Ne=pe?pe.prototype:void 0,ke=Ne?Ne.valueOf:void 0,je=Ne?Ne.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 Ie(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 De(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 Re(e){var t=-1,n=e?e.length:0;for(this.__data__=new De;++t<n;)this.add(e[t])}function Ae(e){this.__data__=new Ie(e)}function Le(e,t){var n=at(e)||ot(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&&!le.call(e,a)||o&&("length"==a||Qe(a,r))||n.push(a);return n}function Be(e,t){for(var n=e.length;n--;)if(rt(e[n][0],t))return n;return-1}function Fe(e,t){for(var n=0,r=(t=Je(t,e)?[t]:Ve(t)).length;null!=e&&n<r;)e=e[et(t[n++])];return n&&n==r?e:void 0}function Me(e,t){return null!=e&&t in Object(e)}function qe(e,t,n,r,o){return e===t||(null==e||null==t||!ct(e)&&!ut(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var i=at(e),s=at(t),l=v,c=v;i||(l=(l=Ye(e))==g?C:l);s||(c=(c=Ye(t))==g?C:c);var u=l==C&&!J(e),p=c==C&&!J(t),d=l==c;if(d&&!u)return a=a||new Ae,i||ft(e)?Ue(e,t,n,r,o,a):function(e,t,n,r,o,a,i){switch(n){case I:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case P:return!(e.byteLength!=t.byteLength||!r(new de(e),new de(t)));case O:case x:case E:return rt(+e,+t);case S:return e.name==t.name&&e.message==t.message;case T:case k:return e==t+"";case w:var s=X;case N:var l=a&_;if(s=s||$,e.size!=t.size&&!l)return!1;var c=i.get(e);if(c)return c==t;a|=y,i.set(e,t);var u=Ue(s(e),s(t),r,o,a,i);return i.delete(e),u;case j:if(ke)return ke.call(e)==ke.call(t)}return!1}(e,t,l,n,r,o,a);if(!(o&_)){var f=u&&le.call(e,"__wrapped__"),m=p&&le.call(t,"__wrapped__");if(f||m){var h=f?e.value():e,b=m?t.value():t;return a=a||new Ae,n(h,b,r,o,a)}}return d&&(a=a||new Ae,function(e,t,n,r,o,a){var i=o&_,s=mt(e),l=s.length,c=mt(t).length;if(l!=c&&!i)return!1;var u=l;for(;u--;){var p=s[u];if(!(i?p in t:le.call(t,p)))return!1}var d=a.get(e);if(d&&a.get(t))return d==t;var f=!0;a.set(e,t),a.set(t,e);var m=i;for(;++u<l;){p=s[u];var h=e[p],b=t[p];if(r)var y=i?r(b,h,p,t,e,a):r(h,b,p,e,t,a);if(!(void 0===y?h===b||n(h,b,r,o,a):y)){f=!1;break}m=m||"constructor"==p}if(f&&!m){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)&&(f=!1)}return a.delete(e),a.delete(t),f}(e,t,n,r,o,a))}(e,t,qe,n,r,o))}function He(e){return!(!ct(e)||function(e){return!!ie&&ie in e}(e))&&(st(e)||J(e)?ue:L).test(tt(e))}function Ke(e){return"function"==typeof e?e:null==e?ht:"object"==typeof e?at(e)?function(n,r){if(Je(n)&&Xe(r))return $e(et(n),r);return function(e){var t=function(e,t,n){var r=null==e?void 0:Fe(e,t);return void 0===r?n:r}(e,n);return void 0===t&&t===r?function(e,t){return null!=e&&function(e,t,n){t=Je(t,e)?[t]:Ve(t);var r,o=-1,a=t.length;for(;++o<a;){var i=et(t[o]);if(!(r=null!=e&&n(e,i)))break;e=e[i]}if(r)return r;return!!(a=e?e.length:0)&<(a)&&Qe(i,a)&&(at(e)||ot(e))}(e,t,Me)}(e,n):qe(r,t,void 0,y|_)}}(e[0],e[1]):function(t){var n=function(e){var t=mt(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,Xe(o)]}return t}(t);if(1==n.length&&n[0][2])return $e(n[0][0],n[0][1]);return function(e){return e===t||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 Ae;if(r)var d=r(c,u,l,e,t,p);if(!(void 0===d?qe(u,c,r,y|_,p):d))return!1}}return!0}(e,t,n)}}(e):function(e){return Je(e)?function(t){return function(e){return null==e?void 0:e[t]}}(et(e)):function(t){return function(e){return Fe(e,t)}}(e)}(e)}function We(e){if(!function(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||oe;return e===n}(e))return he(e);var t=[];for(var n in Object(e))le.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Ve(e){return at(e)?e:Ze(e)}function Ue(e,t,n,r,o,a){var i=o&_,s=e.length,l=t.length;if(s!=l&&!(i&&s<l))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var u=-1,p=!0,d=o&y?new Re:void 0;for(a.set(e,t),a.set(t,e);++u<s;){var f=e[u],m=t[u];if(r)var h=i?r(m,f,u,t,e,a):r(f,m,u,e,t,a);if(void 0!==h){if(h)continue;p=!1;break}if(d){if(!Q(t,function(e,t){if(!d.has(t)&&(f===e||n(f,e,r,o,a)))return d.add(t)})){p=!1;break}}else if(f!==m&&!n(f,m,r,o,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function ze(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function Ge(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return He(n)?n:void 0}Pe.prototype.clear=function(){this.__data__=xe?xe(null):{}},Pe.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Pe.prototype.get=function(e){var t=this.__data__;if(xe){var n=t[e];return n===r?void 0:n}return le.call(t,e)?t[e]:void 0},Pe.prototype.has=function(e){var t=this.__data__;return xe?void 0!==t[e]:le.call(t,e)},Pe.prototype.set=function(e,t){return this.__data__[e]=xe&&void 0===t?r:t,this},Ie.prototype.clear=function(){this.__data__=[]},Ie.prototype.delete=function(e){var t=this.__data__,n=Be(t,e);return!(n<0)&&(n==t.length-1?t.pop():me.call(t,n,1),!0)},Ie.prototype.get=function(e){var t=this.__data__,n=Be(t,e);return n<0?void 0:t[n][1]},Ie.prototype.has=function(e){return-1<Be(this.__data__,e)},Ie.prototype.set=function(e,t){var n=this.__data__,r=Be(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},De.prototype.clear=function(){this.__data__={hash:new Pe,map:new(ge||Ie),string:new Pe}},De.prototype.delete=function(e){return ze(this,e).delete(e)},De.prototype.get=function(e){return ze(this,e).get(e)},De.prototype.has=function(e){return ze(this,e).has(e)},De.prototype.set=function(e,t){return ze(this,e).set(e,t),this},Re.prototype.add=Re.prototype.push=function(e){return this.__data__.set(e,r),this},Re.prototype.has=function(e){return this.__data__.has(e)},Ae.prototype.clear=function(){this.__data__=new Ie},Ae.prototype.delete=function(e){return this.__data__.delete(e)},Ae.prototype.get=function(e){return this.__data__.get(e)},Ae.prototype.has=function(e){return this.__data__.has(e)},Ae.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Ie){var r=n.__data__;if(!ge||r.length<199)return r.push([e,t]),this;n=this.__data__=new De(r)}return n.set(e,t),this};var Ye=function(e){return ce.call(e)};function Qe(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||F.test(e))&&-1<e&&e%1==0&&e<t}function Je(e,t){if(at(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!pt(e))||(f.test(e)||!d.test(e)||null!=t&&e in Object(t))}function Xe(e){return e==e&&!ct(e)}function $e(t,n){return function(e){return null!=e&&(e[t]===n&&(void 0!==n||t in Object(e)))}}(ye&&Ye(new ye(new ArrayBuffer(1)))!=I||ge&&Ye(new ge)!=w||ve&&Ye(ve.resolve())!=u||_e&&Ye(new _e)!=N||Oe&&Ye(new Oe)!=p)&&(Ye=function(e){var t=ce.call(e),n=t==C?e.constructor:void 0,r=n?tt(n):void 0;if(r)switch(r){case Se:return I;case we:return w;case Ee:return u;case Ce:return N;case Te:return p}return t});var Ze=nt(function(e){e=function(e){return null==e?"":function(e){if("string"==typeof e)return e;if(pt(e))return je?je.call(e):"";var t=e+"";return"0"==t&&1/e==-a?"-0":t}(e)}(e);var o=[];return m.test(e)&&o.push(""),e.replace(h,function(e,t,n,r){o.push(n?r.replace(D,"$1"):t||e)}),o});function et(e){if("string"==typeof e||pt(e))return e;var t=e+"";return"0"==t&&1/e==-a?"-0":t}function tt(e){if(null!=e){try{return se.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function nt(o,a){if("function"!=typeof o||a&&"function"!=typeof a)throw new TypeError(n);var i=function(){var e=arguments,t=a?a.apply(this,e):e[0],n=i.cache;if(n.has(t))return n.get(t);var r=o.apply(this,e);return i.cache=n.set(t,r),r};return i.cache=new(nt.Cache||De),i}function rt(e,t){return e===t||e!=e&&t!=t}function ot(e){return function(e){return ut(e)&&it(e)}(e)&&le.call(e,"callee")&&(!fe.call(e,"callee")||ce.call(e)==g)}nt.Cache=De;var at=Array.isArray;function it(e){return null!=e&<(e.length)&&!st(e)}function st(e){var t=ct(e)?ce.call(e):"";return t==l||t==c}function lt(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=o}function ct(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function ut(e){return!!e&&"object"==typeof e}function pt(e){return"symbol"==typeof e||ut(e)&&ce.call(e)==j}var dt,ft=Y?(dt=Y,function(e){return dt(e)}):function(e){return ut(e)&<(e.length)&&!!M[ce.call(e)]};function mt(e){return it(e)?Le(e):We(e)}function ht(e){return e}t.exports=function(e,t,n){var r=e?e.length:0;if(!r)return-1;var o=null==n?0:function(e){var t=function(e){return e?(e=function(e){if("number"==typeof e)return e;if(pt(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(b,"");var n=A.test(e);return n||B.test(e)?q(e.slice(2),n?2:8):R.test(e)?s:+e}(e))!==a&&e!==-a?e==e?e:0:(e<0?-1:1)*i:0===e?e:0}(e),n=t%1;return t==t?n?t-n:t:0}(n);return o<0&&(o=be(r+o,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,Ke(t),o)}}).call(this,t(9),t(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,et,t){(function(e,t){var r="__lodash_hash_undefined__",_=1,y=2,n=9007199254740991,g="[object Arguments]",v="[object Array]",o="[object AsyncFunction]",O="[object Boolean]",x="[object Date]",S="[object Error]",a="[object Function]",i="[object GeneratorFunction]",w="[object Map]",E="[object Number]",s="[object Null]",C="[object Object]",l="[object Promise]",c="[object Proxy]",T="[object RegExp]",N="[object Set]",k="[object String]",j="[object Symbol]",u="[object Undefined]",p="[object WeakMap]",P="[object ArrayBuffer]",I="[object DataView]",d=/^\[object .+?Constructor\]$/,f=/^(?:0|[1-9]\d*)$/,m={};m["[object Float32Array]"]=m["[object Float64Array]"]=m["[object Int8Array]"]=m["[object Int16Array]"]=m["[object Int32Array]"]=m["[object Uint8Array]"]=m["[object Uint8ClampedArray]"]=m["[object Uint16Array]"]=m["[object Uint32Array]"]=!0,m[g]=m[v]=m[P]=m[O]=m[I]=m[x]=m[S]=m[a]=m[w]=m[E]=m[C]=m[T]=m[N]=m[k]=m[p]=!1;var h="object"==typeof e&&e&&e.Object===Object&&e,b="object"==typeof self&&self&&self.Object===Object&&self,D=h||b||Function("return this")(),R=et&&!et.nodeType&&et,A=R&&"object"==typeof t&&t&&!t.nodeType&&t,L=A&&A.exports===R,B=L&&h.process,F=function(){try{return B&&B.binding&&B.binding("util")}catch(e){}}(),M=F&&F.isTypedArray;function q(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 H(e){var n=-1,r=Array(e.size);return e.forEach(function(e,t){r[++n]=[t,e]}),r}function K(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var W,V,U,z=Array.prototype,G=Function.prototype,Y=Object.prototype,Q=D["__core-js_shared__"],J=G.toString,X=Y.hasOwnProperty,$=(W=/[^.]+$/.exec(Q&&Q.keys&&Q.keys.IE_PROTO||""))?"Symbol(src)_1."+W:"",Z=Y.toString,ee=RegExp("^"+J.call(X).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),te=L?D.Buffer:void 0,ne=D.Symbol,re=D.Uint8Array,oe=Y.propertyIsEnumerable,ae=z.splice,ie=ne?ne.toStringTag:void 0,se=Object.getOwnPropertySymbols,le=te?te.isBuffer:void 0,ce=(V=Object.keys,U=Object,function(e){return V(U(e))}),ue=Fe(D,"DataView"),pe=Fe(D,"Map"),de=Fe(D,"Promise"),fe=Fe(D,"Set"),me=Fe(D,"WeakMap"),he=Fe(Object,"create"),be=Ke(ue),ye=Ke(pe),ge=Ke(de),ve=Ke(fe),_e=Ke(me),Oe=ne?ne.prototype:void 0,xe=Oe?Oe.valueOf:void 0;function Se(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.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ee(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 Ce(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Ee;++t<n;)this.add(e[t])}function Te(e){var t=this.__data__=new we(e);this.size=t.size}function Ne(e,t){var n=Ue(e),r=!n&&Ve(e),o=!n&&!r&&ze(e),a=!n&&!r&&!o&&$e(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&&!X.call(e,c)||i&&("length"==c||o&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||He(c,l))||s.push(c);return s}function ke(e,t){for(var n=e.length;n--;)if(We(e[n][0],t))return n;return-1}function je(e){return null==e?void 0===e?u:s:ie&&ie in Object(e)?function(e){var t=X.call(e,ie),n=e[ie];try{var r=!(e[ie]=void 0)}catch(e){}var o=Z.call(e);r&&(t?e[ie]=n:delete e[ie]);return o}(e):function(e){return Z.call(e)}(e)}function Pe(e){return Je(e)&&je(e)==g}function Ie(e,t,n,r,o){return e===t||(null==e||null==t||!Je(e)&&!Je(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var i=Ue(e),s=Ue(t),l=i?v:qe(e),c=s?v:qe(t),u=(l=l==g?C:l)==C,p=(c=c==g?C:c)==C,d=l==c;if(d&&ze(e)){if(!ze(t))return!1;u=!(i=!0)}if(d&&!u)return a=a||new Te,i||$e(e)?Ae(e,t,n,r,o,a):function(e,t,n,r,o,a,i){switch(n){case I:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case P:return!(e.byteLength!=t.byteLength||!a(new re(e),new re(t)));case O:case x:case E:return We(+e,+t);case S:return e.name==t.name&&e.message==t.message;case T:case k:return e==t+"";case w:var s=H;case N:var l=r&_;if(s=s||K,e.size!=t.size&&!l)return!1;var c=i.get(e);if(c)return c==t;r|=y,i.set(e,t);var u=Ae(s(e),s(t),r,o,a,i);return i.delete(e),u;case j:if(xe)return xe.call(e)==xe.call(t)}return!1}(e,t,l,n,r,o,a);if(!(n&_)){var f=u&&X.call(e,"__wrapped__"),m=p&&X.call(t,"__wrapped__");if(f||m){var h=f?e.value():e,b=m?t.value():t;return a=a||new Te,o(h,b,n,r,a)}}return d&&(a=a||new Te,function(e,t,n,r,o,a){var i=n&_,s=Le(e),l=s.length,c=Le(t).length;if(l!=c&&!i)return!1;var u=l;for(;u--;){var p=s[u];if(!(i?p in t:X.call(t,p)))return!1}var d=a.get(e);if(d&&a.get(t))return d==t;var f=!0;a.set(e,t),a.set(t,e);var m=i;for(;++u<l;){p=s[u];var h=e[p],b=t[p];if(r)var y=i?r(b,h,p,t,e,a):r(h,b,p,e,t,a);if(!(void 0===y?h===b||o(h,b,n,r,a):y)){f=!1;break}m=m||"constructor"==p}if(f&&!m){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)&&(f=!1)}return a.delete(e),a.delete(t),f}(e,t,n,r,o,a))}(e,t,n,r,Ie,o))}function De(e){return!(!Qe(e)||function(e){return!!$&&$ in e}(e))&&(Ge(e)?ee:d).test(Ke(e))}function Re(e){if(!function(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||Y;return e===n}(e))return ce(e);var t=[];for(var n in Object(e))X.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Ae(e,t,r,o,a,i){var n=r&_,s=e.length,l=t.length;if(s!=l&&!(n&&s<l))return!1;var c=i.get(e);if(c&&i.get(t))return c==t;var u=-1,p=!0,d=r&y?new Ce:void 0;for(i.set(e,t),i.set(t,e);++u<s;){var f=e[u],m=t[u];if(o)var h=n?o(m,f,u,t,e,i):o(f,m,u,e,t,i);if(void 0!==h){if(h)continue;p=!1;break}if(d){if(!q(t,function(e,t){if(n=t,!d.has(n)&&(f===e||a(f,e,r,o,i)))return d.push(t);var n})){p=!1;break}}else if(f!==m&&!a(f,m,r,o,i)){p=!1;break}}return i.delete(e),i.delete(t),p}function Le(e){return function(e,t,n){var r=t(e);return Ue(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,Me)}function Be(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function Fe(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return De(n)?n:void 0}Se.prototype.clear=function(){this.__data__=he?he(null):{},this.size=0},Se.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},Se.prototype.get=function(e){var t=this.__data__;if(he){var n=t[e];return n===r?void 0:n}return X.call(t,e)?t[e]:void 0},Se.prototype.has=function(e){var t=this.__data__;return he?void 0!==t[e]:X.call(t,e)},Se.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=he&&void 0===t?r:t,this},we.prototype.clear=function(){this.__data__=[],this.size=0},we.prototype.delete=function(e){var t=this.__data__,n=ke(t,e);return!(n<0)&&(n==t.length-1?t.pop():ae.call(t,n,1),--this.size,!0)},we.prototype.get=function(e){var t=this.__data__,n=ke(t,e);return n<0?void 0:t[n][1]},we.prototype.has=function(e){return-1<ke(this.__data__,e)},we.prototype.set=function(e,t){var n=this.__data__,r=ke(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Ee.prototype.clear=function(){this.size=0,this.__data__={hash:new Se,map:new(pe||we),string:new Se}},Ee.prototype.delete=function(e){var t=Be(this,e).delete(e);return this.size-=t?1:0,t},Ee.prototype.get=function(e){return Be(this,e).get(e)},Ee.prototype.has=function(e){return Be(this,e).has(e)},Ee.prototype.set=function(e,t){var n=Be(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Ce.prototype.add=Ce.prototype.push=function(e){return this.__data__.set(e,r),this},Ce.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.clear=function(){this.__data__=new we,this.size=0},Te.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Te.prototype.get=function(e){return this.__data__.get(e)},Te.prototype.has=function(e){return this.__data__.has(e)},Te.prototype.set=function(e,t){var n=this.__data__;if(n instanceof we){var r=n.__data__;if(!pe||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Ee(r)}return n.set(e,t),this.size=n.size,this};var Me=se?function(t){return null==t?[]:(t=Object(t),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}(se(t),function(e){return oe.call(t,e)}))}:function(){return[]},qe=je;function He(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||f.test(e))&&-1<e&&e%1==0&&e<t}function Ke(e){if(null!=e){try{return J.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function We(e,t){return e===t||e!=e&&t!=t}(ue&&qe(new ue(new ArrayBuffer(1)))!=I||pe&&qe(new pe)!=w||de&&qe(de.resolve())!=l||fe&&qe(new fe)!=N||me&&qe(new me)!=p)&&(qe=function(e){var t=je(e),n=t==C?e.constructor:void 0,r=n?Ke(n):"";if(r)switch(r){case be:return I;case ye:return w;case ge:return l;case ve:return N;case _e:return p}return t});var Ve=Pe(function(){return arguments}())?Pe:function(e){return Je(e)&&X.call(e,"callee")&&!oe.call(e,"callee")},Ue=Array.isArray;var ze=le||function(){return!1};function Ge(e){if(!Qe(e))return!1;var t=je(e);return t==a||t==i||t==o||t==c}function Ye(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=n}function Qe(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Je(e){return null!=e&&"object"==typeof e}var Xe,$e=M?(Xe=M,function(e){return Xe(e)}):function(e){return Je(e)&&Ye(e.length)&&!!m[je(e)]};function Ze(e){return function(e){return null!=e&&Ye(e.length)&&!Ge(e)}(e)?Ne(e):Re(e)}t.exports=function(e,t){return Ie(e,t)}}).call(this,t(9),t(16)(e))},function(f,e,t){(function(e){var n=1/0,r="[object Symbol]",t=/[\\^$.*+?()[\]{}|]/g,o=RegExp(t.source),a="object"==typeof e&&e&&e.Object===Object&&e,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 d(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)==r}(e))return p?p.call(e):"";var t=e+"";return"0"==t&&1/e==-n?"-0":t}f.exports=function(e){return(e=function(e){return null==e?"":d(e)}(e))&&o.test(e)?e.replace(t,"\\$&"):e}}).call(this,t(9))},function(e,gt,t){(function(e,t){var n="Expected a function",r="__lodash_hash_undefined__",y=1,_=2,a=1/0,o=9007199254740991,i=17976931348623157e292,s=NaN,g="[object Arguments]",v="[object Array]",O="[object Boolean]",x="[object Date]",S="[object Error]",l="[object Function]",c="[object GeneratorFunction]",w="[object Map]",E="[object Number]",C="[object Object]",u="[object Promise]",T="[object RegExp]",N="[object Set]",k="[object String]",j="[object Symbol]",p="[object WeakMap]",P="[object ArrayBuffer]",I="[object DataView]",d=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,f=/^\w*$/,m=/^\./,h=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,b=/^\s+|\s+$/g,D=/\\(\\)?/g,R=/^[-+]0x[0-9a-f]+$/i,A=/^0b[01]+$/i,L=/^\[object .+?Constructor\]$/,B=/^0o[0-7]+$/i,F=/^(?:0|[1-9]\d*)$/,M={};M["[object Float32Array]"]=M["[object Float64Array]"]=M["[object Int8Array]"]=M["[object Int16Array]"]=M["[object Int32Array]"]=M["[object Uint8Array]"]=M["[object Uint8ClampedArray]"]=M["[object Uint16Array]"]=M["[object Uint32Array]"]=!0,M[g]=M[v]=M[P]=M[O]=M[I]=M[x]=M[S]=M[l]=M[w]=M[E]=M[C]=M[T]=M[N]=M[k]=M[p]=!1;var q=parseInt,H="object"==typeof e&&e&&e.Object===Object&&e,K="object"==typeof self&&self&&self.Object===Object&&self,W=H||K||Function("return this")(),V=gt&&!gt.nodeType&>,U=V&&"object"==typeof t&&t&&!t.nodeType&&t,z=U&&U.exports===V&&H.process,G=function(){try{return z&&z.binding("util")}catch(e){}}(),Y=G&&G.isTypedArray;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 J(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function X(e){var n=-1,r=Array(e.size);return e.forEach(function(e,t){r[++n]=[t,e]}),r}function $(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var Z,ee,te,ne=Array.prototype,re=Function.prototype,oe=Object.prototype,ae=W["__core-js_shared__"],ie=(Z=/[^.]+$/.exec(ae&&ae.keys&&ae.keys.IE_PROTO||""))?"Symbol(src)_1."+Z:"",se=re.toString,le=oe.hasOwnProperty,ce=oe.toString,ue=RegExp("^"+se.call(le).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),pe=W.Symbol,de=W.Uint8Array,fe=oe.propertyIsEnumerable,me=ne.splice,he=(ee=Object.keys,te=Object,function(e){return ee(te(e))}),be=Math.max,ye=Ge(W,"DataView"),ge=Ge(W,"Map"),ve=Ge(W,"Promise"),_e=Ge(W,"Set"),Oe=Ge(W,"WeakMap"),xe=Ge(Object,"create"),Se=tt(ye),we=tt(ge),Ee=tt(ve),Ce=tt(_e),Te=tt(Oe),Ne=pe?pe.prototype:void 0,ke=Ne?Ne.valueOf:void 0,je=Ne?Ne.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 Ie(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 De(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 Re(e){var t=-1,n=e?e.length:0;for(this.__data__=new De;++t<n;)this.add(e[t])}function Ae(e){this.__data__=new Ie(e)}function Le(e,t){var n=st(e)||it(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&&!le.call(e,a)||o&&("length"==a||Qe(a,r))||n.push(a);return n}function Be(e,t){for(var n=e.length;n--;)if(at(e[n][0],t))return n;return-1}function Fe(e,t){for(var n=0,r=(t=Je(t,e)?[t]:Ve(t)).length;null!=e&&n<r;)e=e[et(t[n++])];return n&&n==r?e:void 0}function Me(e,t){return null!=e&&t in Object(e)}function qe(e,t,n,r,o){return e===t||(null==e||null==t||!pt(e)&&!dt(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var i=st(e),s=st(t),l=v,c=v;i||(l=(l=Ye(e))==g?C:l);s||(c=(c=Ye(t))==g?C:c);var u=l==C&&!J(e),p=c==C&&!J(t),d=l==c;if(d&&!u)return a=a||new Ae,i||ht(e)?Ue(e,t,n,r,o,a):function(e,t,n,r,o,a,i){switch(n){case I:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case P:return!(e.byteLength!=t.byteLength||!r(new de(e),new de(t)));case O:case x:case E:return at(+e,+t);case S:return e.name==t.name&&e.message==t.message;case T:case k:return e==t+"";case w:var s=X;case N:var l=a&_;if(s=s||$,e.size!=t.size&&!l)return!1;var c=i.get(e);if(c)return c==t;a|=y,i.set(e,t);var u=Ue(s(e),s(t),r,o,a,i);return i.delete(e),u;case j:if(ke)return ke.call(e)==ke.call(t)}return!1}(e,t,l,n,r,o,a);if(!(o&_)){var f=u&&le.call(e,"__wrapped__"),m=p&&le.call(t,"__wrapped__");if(f||m){var h=f?e.value():e,b=m?t.value():t;return a=a||new Ae,n(h,b,r,o,a)}}return d&&(a=a||new Ae,function(e,t,n,r,o,a){var i=o&_,s=bt(e),l=s.length,c=bt(t).length;if(l!=c&&!i)return!1;var u=l;for(;u--;){var p=s[u];if(!(i?p in t:le.call(t,p)))return!1}var d=a.get(e);if(d&&a.get(t))return d==t;var f=!0;a.set(e,t),a.set(t,e);var m=i;for(;++u<l;){p=s[u];var h=e[p],b=t[p];if(r)var y=i?r(b,h,p,t,e,a):r(h,b,p,e,t,a);if(!(void 0===y?h===b||n(h,b,r,o,a):y)){f=!1;break}m=m||"constructor"==p}if(f&&!m){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)&&(f=!1)}return a.delete(e),a.delete(t),f}(e,t,n,r,o,a))}(e,t,qe,n,r,o))}function He(e){return!(!pt(e)||function(e){return!!ie&&ie in e}(e))&&(ct(e)||J(e)?ue:L).test(tt(e))}function Ke(e){return"function"==typeof e?e:null==e?yt:"object"==typeof e?st(e)?function(n,r){if(Je(n)&&Xe(r))return $e(et(n),r);return function(e){var t=function(e,t,n){var r=null==e?void 0:Fe(e,t);return void 0===r?n:r}(e,n);return void 0===t&&t===r?function(e,t){return null!=e&&function(e,t,n){t=Je(t,e)?[t]:Ve(t);var r,o=-1,a=t.length;for(;++o<a;){var i=et(t[o]);if(!(r=null!=e&&n(e,i)))break;e=e[i]}if(r)return r;return!!(a=e?e.length:0)&&ut(a)&&Qe(i,a)&&(st(e)||it(e))}(e,t,Me)}(e,n):qe(r,t,void 0,y|_)}}(e[0],e[1]):function(t){var n=function(e){var t=bt(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,Xe(o)]}return t}(t);if(1==n.length&&n[0][2])return $e(n[0][0],n[0][1]);return function(e){return e===t||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 Ae;if(r)var d=r(c,u,l,e,t,p);if(!(void 0===d?qe(u,c,r,y|_,p):d))return!1}}return!0}(e,t,n)}}(e):function(e){return Je(e)?function(t){return function(e){return null==e?void 0:e[t]}}(et(e)):function(t){return function(e){return Fe(e,t)}}(e)}(e)}function We(e){if(!function(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||oe;return e===n}(e))return he(e);var t=[];for(var n in Object(e))le.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Ve(e){return st(e)?e:Ze(e)}function Ue(e,t,n,r,o,a){var i=o&_,s=e.length,l=t.length;if(s!=l&&!(i&&s<l))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var u=-1,p=!0,d=o&y?new Re:void 0;for(a.set(e,t),a.set(t,e);++u<s;){var f=e[u],m=t[u];if(r)var h=i?r(m,f,u,t,e,a):r(f,m,u,e,t,a);if(void 0!==h){if(h)continue;p=!1;break}if(d){if(!Q(t,function(e,t){if(!d.has(t)&&(f===e||n(f,e,r,o,a)))return d.add(t)})){p=!1;break}}else if(f!==m&&!n(f,m,r,o,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function ze(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function Ge(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return He(n)?n:void 0}Pe.prototype.clear=function(){this.__data__=xe?xe(null):{}},Pe.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Pe.prototype.get=function(e){var t=this.__data__;if(xe){var n=t[e];return n===r?void 0:n}return le.call(t,e)?t[e]:void 0},Pe.prototype.has=function(e){var t=this.__data__;return xe?void 0!==t[e]:le.call(t,e)},Pe.prototype.set=function(e,t){return this.__data__[e]=xe&&void 0===t?r:t,this},Ie.prototype.clear=function(){this.__data__=[]},Ie.prototype.delete=function(e){var t=this.__data__,n=Be(t,e);return!(n<0)&&(n==t.length-1?t.pop():me.call(t,n,1),!0)},Ie.prototype.get=function(e){var t=this.__data__,n=Be(t,e);return n<0?void 0:t[n][1]},Ie.prototype.has=function(e){return-1<Be(this.__data__,e)},Ie.prototype.set=function(e,t){var n=this.__data__,r=Be(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},De.prototype.clear=function(){this.__data__={hash:new Pe,map:new(ge||Ie),string:new Pe}},De.prototype.delete=function(e){return ze(this,e).delete(e)},De.prototype.get=function(e){return ze(this,e).get(e)},De.prototype.has=function(e){return ze(this,e).has(e)},De.prototype.set=function(e,t){return ze(this,e).set(e,t),this},Re.prototype.add=Re.prototype.push=function(e){return this.__data__.set(e,r),this},Re.prototype.has=function(e){return this.__data__.has(e)},Ae.prototype.clear=function(){this.__data__=new Ie},Ae.prototype.delete=function(e){return this.__data__.delete(e)},Ae.prototype.get=function(e){return this.__data__.get(e)},Ae.prototype.has=function(e){return this.__data__.has(e)},Ae.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Ie){var r=n.__data__;if(!ge||r.length<199)return r.push([e,t]),this;n=this.__data__=new De(r)}return n.set(e,t),this};var Ye=function(e){return ce.call(e)};function Qe(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||F.test(e))&&-1<e&&e%1==0&&e<t}function Je(e,t){if(st(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ft(e))||(f.test(e)||!d.test(e)||null!=t&&e in Object(t))}function Xe(e){return e==e&&!pt(e)}function $e(t,n){return function(e){return null!=e&&(e[t]===n&&(void 0!==n||t in Object(e)))}}(ye&&Ye(new ye(new ArrayBuffer(1)))!=I||ge&&Ye(new ge)!=w||ve&&Ye(ve.resolve())!=u||_e&&Ye(new _e)!=N||Oe&&Ye(new Oe)!=p)&&(Ye=function(e){var t=ce.call(e),n=t==C?e.constructor:void 0,r=n?tt(n):void 0;if(r)switch(r){case Se:return I;case we:return w;case Ee:return u;case Ce:return N;case Te:return p}return t});var Ze=ot(function(e){e=function(e){return null==e?"":function(e){if("string"==typeof e)return e;if(ft(e))return je?je.call(e):"";var t=e+"";return"0"==t&&1/e==-a?"-0":t}(e)}(e);var o=[];return m.test(e)&&o.push(""),e.replace(h,function(e,t,n,r){o.push(n?r.replace(D,"$1"):t||e)}),o});function et(e){if("string"==typeof e||ft(e))return e;var t=e+"";return"0"==t&&1/e==-a?"-0":t}function tt(e){if(null!=e){try{return se.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var nt,rt=(nt=function(e,t,n){var r=e?e.length:0;if(!r)return-1;var o=null==n?0:function(e){var t=function(e){return e?(e=function(e){if("number"==typeof e)return e;if(ft(e))return s;if(pt(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=pt(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(b,"");var n=A.test(e);return n||B.test(e)?q(e.slice(2),n?2:8):R.test(e)?s:+e}(e))!==a&&e!==-a?e==e?e:0:(e<0?-1:1)*i:0===e?e:0}(e),n=t%1;return t==t?n?t-n:t:0}(n);return o<0&&(o=be(r+o,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,Ke(t),o)},function(e,t,n){var r=Object(e);if(!lt(e)){var o=Ke(t);e=bt(e),t=function(e){return o(r[e],e,r)}}var a=nt(e,t,n);return-1<a?r[o?e[a]:a]:void 0});function ot(o,a){if("function"!=typeof o||a&&"function"!=typeof a)throw new TypeError(n);var i=function(){var e=arguments,t=a?a.apply(this,e):e[0],n=i.cache;if(n.has(t))return n.get(t);var r=o.apply(this,e);return i.cache=n.set(t,r),r};return i.cache=new(ot.Cache||De),i}function at(e,t){return e===t||e!=e&&t!=t}function it(e){return function(e){return dt(e)&<(e)}(e)&&le.call(e,"callee")&&(!fe.call(e,"callee")||ce.call(e)==g)}ot.Cache=De;var st=Array.isArray;function lt(e){return null!=e&&ut(e.length)&&!ct(e)}function ct(e){var t=pt(e)?ce.call(e):"";return t==l||t==c}function ut(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=o}function pt(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function dt(e){return!!e&&"object"==typeof e}function ft(e){return"symbol"==typeof e||dt(e)&&ce.call(e)==j}var mt,ht=Y?(mt=Y,function(e){return mt(e)}):function(e){return dt(e)&&ut(e.length)&&!!M[ce.call(e)]};function bt(e){return lt(e)?Le(e):We(e)}function yt(e){return e}t.exports=rt}).call(this,t(9),t(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":["/__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,ht,t){(function(e,t){var n="Expected a function",r="__lodash_hash_undefined__",y=1,_=2,a=1/0,o=9007199254740991,g="[object Arguments]",v="[object Array]",O="[object Boolean]",x="[object Date]",S="[object Error]",i="[object Function]",s="[object GeneratorFunction]",w="[object Map]",E="[object Number]",C="[object Object]",l="[object Promise]",T="[object RegExp]",N="[object Set]",k="[object String]",j="[object Symbol]",c="[object WeakMap]",P="[object ArrayBuffer]",I="[object DataView]",u=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,p=/^\w*$/,d=/^\./,f=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,m=/\\(\\)?/g,h=/^\[object .+?Constructor\]$/,b=/^(?:0|[1-9]\d*)$/,D={};D["[object Float32Array]"]=D["[object Float64Array]"]=D["[object Int8Array]"]=D["[object Int16Array]"]=D["[object Int32Array]"]=D["[object Uint8Array]"]=D["[object Uint8ClampedArray]"]=D["[object Uint16Array]"]=D["[object Uint32Array]"]=!0,D[g]=D[v]=D[P]=D[O]=D[I]=D[x]=D[S]=D[i]=D[w]=D[E]=D[C]=D[T]=D[N]=D[k]=D[c]=!1;var R="object"==typeof e&&e&&e.Object===Object&&e,A="object"==typeof self&&self&&self.Object===Object&&self,L=R||A||Function("return this")(),B=ht&&!ht.nodeType&&ht,F=B&&"object"==typeof t&&t&&!t.nodeType&&t,M=F&&F.exports===B&&R.process,q=function(){try{return M&&M.binding("util")}catch(e){}}(),H=q&&q.isTypedArray;function K(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 W(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function V(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function U(e){var n=-1,r=Array(e.size);return e.forEach(function(e,t){r[++n]=[t,e]}),r}function z(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var G,Y,Q,J=Array.prototype,X=Function.prototype,$=Object.prototype,Z=L["__core-js_shared__"],ee=(G=/[^.]+$/.exec(Z&&Z.keys&&Z.keys.IE_PROTO||""))?"Symbol(src)_1."+G:"",te=X.toString,ne=$.hasOwnProperty,re=$.toString,oe=RegExp("^"+te.call(ne).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ae=L.Symbol,ie=L.Uint8Array,se=$.propertyIsEnumerable,le=J.splice,ce=(Y=Object.keys,Q=Object,function(e){return Y(Q(e))}),ue=ze(L,"DataView"),pe=ze(L,"Map"),de=ze(L,"Promise"),fe=ze(L,"Set"),me=ze(L,"WeakMap"),he=ze(Object,"create"),be=et(ue),ye=et(pe),ge=et(de),ve=et(fe),_e=et(me),Oe=ae?ae.prototype:void 0,xe=Oe?Oe.valueOf:void 0,Se=Oe?Oe.toString:void 0;function we(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 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 Ce(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.__data__=new Ce;++t<n;)this.add(e[t])}function Ne(e){this.__data__=new Ee(e)}function ke(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&&!ne.call(e,a)||o&&("length"==a||Ye(a,r))||n.push(a);return n}function je(e,t){for(var n=e.length;n--;)if(nt(e[n][0],t))return n;return-1}we.prototype.clear=function(){this.__data__=he?he(null):{}},we.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},we.prototype.get=function(e){var t=this.__data__;if(he){var n=t[e];return n===r?void 0:n}return ne.call(t,e)?t[e]:void 0},we.prototype.has=function(e){var t=this.__data__;return he?void 0!==t[e]:ne.call(t,e)},we.prototype.set=function(e,t){return this.__data__[e]=he&&void 0===t?r:t,this},Ee.prototype.clear=function(){this.__data__=[]},Ee.prototype.delete=function(e){var t=this.__data__,n=je(t,e);return!(n<0)&&(n==t.length-1?t.pop():le.call(t,n,1),!0)},Ee.prototype.get=function(e){var t=this.__data__,n=je(t,e);return n<0?void 0:t[n][1]},Ee.prototype.has=function(e){return-1<je(this.__data__,e)},Ee.prototype.set=function(e,t){var n=this.__data__,r=je(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Ce.prototype.clear=function(){this.__data__={hash:new we,map:new(pe||Ee),string:new we}},Ce.prototype.delete=function(e){return Ue(this,e).delete(e)},Ce.prototype.get=function(e){return Ue(this,e).get(e)},Ce.prototype.has=function(e){return Ue(this,e).has(e)},Ce.prototype.set=function(e,t){return Ue(this,e).set(e,t),this},Te.prototype.add=Te.prototype.push=function(e){return this.__data__.set(e,r),this},Te.prototype.has=function(e){return this.__data__.has(e)},Ne.prototype.clear=function(){this.__data__=new Ee},Ne.prototype.delete=function(e){return this.__data__.delete(e)},Ne.prototype.get=function(e){return this.__data__.get(e)},Ne.prototype.has=function(e){return this.__data__.has(e)},Ne.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Ee){var r=n.__data__;if(!pe||r.length<199)return r.push([e,t]),this;n=this.__data__=new Ce(r)}return n.set(e,t),this};var Pe,Ie,De=(Pe=function(e,t){return e&&Le(e,t,ft)},function(e,t){if(null==e)return e;if(!at(e))return Pe(e,t);for(var n=e.length,r=Ie?n:-1,o=Object(e);(Ie?r--:++r<n)&&!1!==t(o[r],r,o););return e});function Re(e,r){var o=[];return De(e,function(e,t,n){r(e,t,n)&&o.push(e)}),o}var Ae,Le=function(e,t,n){for(var r=-1,o=Object(e),a=n(e),i=a.length;i--;){var s=a[Ae?i:++r];if(!1===t(o[s],s,o))break}return e};function Be(e,t){for(var n=0,r=(t=Qe(t,e)?[t]:We(t)).length;null!=e&&n<r;)e=e[Ze(t[n++])];return n&&n==r?e:void 0}function Fe(e,t){return null!=e&&t in Object(e)}function Me(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),l=v,c=v;i||(l=(l=Ge(e))==g?C:l);s||(c=(c=Ge(t))==g?C:c);var u=l==C&&!V(e),p=c==C&&!V(t),d=l==c;if(d&&!u)return a=a||new Ne,i||dt(e)?Ve(e,t,n,r,o,a):function(e,t,n,r,o,a,i){switch(n){case I:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case P:return!(e.byteLength!=t.byteLength||!r(new ie(e),new ie(t)));case O:case x:case E:return nt(+e,+t);case S:return e.name==t.name&&e.message==t.message;case T:case k:return e==t+"";case w:var s=U;case N:var l=a&_;if(s=s||z,e.size!=t.size&&!l)return!1;var c=i.get(e);if(c)return c==t;a|=y,i.set(e,t);var u=Ve(s(e),s(t),r,o,a,i);return i.delete(e),u;case j:if(xe)return xe.call(e)==xe.call(t)}return!1}(e,t,l,n,r,o,a);if(!(o&_)){var f=u&&ne.call(e,"__wrapped__"),m=p&&ne.call(t,"__wrapped__");if(f||m){var h=f?e.value():e,b=m?t.value():t;return a=a||new Ne,n(h,b,r,o,a)}}return d&&(a=a||new Ne,function(e,t,n,r,o,a){var i=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:ne.call(t,p)))return!1}var d=a.get(e);if(d&&a.get(t))return d==t;var f=!0;a.set(e,t),a.set(t,e);var m=i;for(;++u<l;){p=s[u];var h=e[p],b=t[p];if(r)var y=i?r(b,h,p,t,e,a):r(h,b,p,e,t,a);if(!(void 0===y?h===b||n(h,b,r,o,a):y)){f=!1;break}m=m||"constructor"==p}if(f&&!m){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)&&(f=!1)}return a.delete(e),a.delete(t),f}(e,t,n,r,o,a))}(e,t,Me,n,r,o))}function qe(e){return!(!lt(e)||function(e){return!!ee&&ee in e}(e))&&(it(e)||V(e)?oe:h).test(et(e))}function He(e){return"function"==typeof e?e:null==e?mt:"object"==typeof e?ot(e)?function(n,r){if(Qe(n)&&Je(r))return Xe(Ze(n),r);return function(e){var t=function(e,t,n){var r=null==e?void 0:Be(e,t);return void 0===r?n:r}(e,n);return void 0===t&&t===r?function(e,t){return null!=e&&function(e,t,n){t=Qe(t,e)?[t]:We(t);var r,o=-1,a=t.length;for(;++o<a;){var i=Ze(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)&&Ye(i,a)&&(ot(e)||rt(e))}(e,t,Fe)}(e,n):Me(r,t,void 0,y|_)}}(e[0],e[1]):function(t){var n=function(e){var t=ft(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,Je(o)]}return t}(t);if(1==n.length&&n[0][2])return Xe(n[0][0],n[0][1]);return function(e){return e===t||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 Ne;if(r)var d=r(c,u,l,e,t,p);if(!(void 0===d?Me(u,c,r,y|_,p):d))return!1}}return!0}(e,t,n)}}(e):function(e){return Qe(e)?function(t){return function(e){return null==e?void 0:e[t]}}(Ze(e)):function(t){return function(e){return Be(e,t)}}(e)}(e)}function Ke(e){if(!function(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||$;return e===n}(e))return ce(e);var t=[];for(var n in Object(e))ne.call(e,n)&&"constructor"!=n&&t.push(n);return t}function We(e){return ot(e)?e:$e(e)}function Ve(e,t,n,r,o,a){var i=o&_,s=e.length,l=t.length;if(s!=l&&!(i&&s<l))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var u=-1,p=!0,d=o&y?new Te:void 0;for(a.set(e,t),a.set(t,e);++u<s;){var f=e[u],m=t[u];if(r)var h=i?r(m,f,u,t,e,a):r(f,m,u,e,t,a);if(void 0!==h){if(h)continue;p=!1;break}if(d){if(!W(t,function(e,t){if(!d.has(t)&&(f===e||n(f,e,r,o,a)))return d.add(t)})){p=!1;break}}else if(f!==m&&!n(f,m,r,o,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function Ue(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function ze(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return qe(n)?n:void 0}var Ge=function(e){return re.call(e)};function Ye(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||b.test(e))&&-1<e&&e%1==0&&e<t}function Qe(e,t){if(ot(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ut(e))||(p.test(e)||!u.test(e)||null!=t&&e in Object(t))}function Je(e){return e==e&&!lt(e)}function Xe(t,n){return function(e){return null!=e&&(e[t]===n&&(void 0!==n||t in Object(e)))}}(ue&&Ge(new ue(new ArrayBuffer(1)))!=I||pe&&Ge(new pe)!=w||de&&Ge(de.resolve())!=l||fe&&Ge(new fe)!=N||me&&Ge(new me)!=c)&&(Ge=function(e){var t=re.call(e),n=t==C?e.constructor:void 0,r=n?et(n):void 0;if(r)switch(r){case be:return I;case ye:return w;case ge:return l;case ve:return N;case _e:return c}return t});var $e=tt(function(e){e=function(e){return null==e?"":function(e){if("string"==typeof e)return e;if(ut(e))return Se?Se.call(e):"";var t=e+"";return"0"==t&&1/e==-a?"-0":t}(e)}(e);var o=[];return d.test(e)&&o.push(""),e.replace(f,function(e,t,n,r){o.push(n?r.replace(m,"$1"):t||e)}),o});function Ze(e){if("string"==typeof e||ut(e))return e;var t=e+"";return"0"==t&&1/e==-a?"-0":t}function et(e){if(null!=e){try{return te.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function tt(o,a){if("function"!=typeof o||a&&"function"!=typeof a)throw new TypeError(n);var i=function(){var e=arguments,t=a?a.apply(this,e):e[0],n=i.cache;if(n.has(t))return n.get(t);var r=o.apply(this,e);return i.cache=n.set(t,r),r};return i.cache=new(tt.Cache||Ce),i}function nt(e,t){return e===t||e!=e&&t!=t}function rt(e){return function(e){return ct(e)&&at(e)}(e)&&ne.call(e,"callee")&&(!se.call(e,"callee")||re.call(e)==g)}tt.Cache=Ce;var ot=Array.isArray;function at(e){return null!=e&&st(e.length)&&!it(e)}function it(e){var t=lt(e)?re.call(e):"";return t==i||t==s}function st(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=o}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)&&re.call(e)==j}var pt,dt=H?(pt=H,function(e){return pt(e)}):function(e){return ct(e)&&st(e.length)&&!!D[re.call(e)]};function ft(e){return at(e)?ke(e):Ke(e)}function mt(e){return e}t.exports=function(e,t){return(ot(e)?K:Re)(e,function(t){if("function"==typeof t)return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)};throw new TypeError(n)}(He(t)))}}).call(this,t(9),t(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":["/__examples__/base.jsx","/__examples__/step-progress.jsx","/__examples__/hub-expandable-steps.jsx","/__examples__/card.jsx"],"url-slug":"setup-assistant"}')},function(e,t,n){"use strict";var o,r,a,i=n(66),s="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";function l(){a=!1}function c(e){if(e){if(e!==o){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(", "));o=e,l()}}else o!==s&&(o=s,l())}function u(){return a||(a=function(){o||c(s);for(var e,t=o.split(""),n=[],r=i.nextValue();0<t.length;)r=i.nextValue(),e=Math.floor(r*t.length),n.push(t.splice(e,1)[0]);return n.join("")}())}e.exports={get:function(){return o||s},characters:function(e){return c(e),o},seed:function(e){i.seed(e),r!==e&&(l(),r=e)},lookup:function(e){return u()[e]},shuffled:u}},function(e,t){e.exports=function(r,o){return function(e,t,n){return"function"!=typeof r?new Error("Invalid react-required-if prop type supplied to "+n+". Validation failed."):"function"!=typeof o?new Error("Invalid react-required-if condition supplied to "+n+". Validation failed."):(o(e)?r.isRequired:r).apply(this,arguments)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(73),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":["/__examples__/default.jsx","/__examples__/icons.jsx","/__examples__/error.jsx","/__examples__/inactiveInputs.jsx","/__examples__/inline-help.jsx","/__examples__/field-level-help.jsx","/__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":["/__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(78);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(84);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(81),a=n(82),i=n(83),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-1<n.indexOf(e.normalize())?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";e.exports=function(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}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return[].slice.call(e.querySelectorAll("*"),0).filter(i)}; +/*! + * 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 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||0<=t)&&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(77),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":["/__examples__/base-neutral.jsx","/__examples__/brand-disabled-destructive-inverse.jsx","/__examples__/button-icons.jsx"],"url-slug":"buttons"}')},function(e,$,t){"use strict";(function(e){for( +/**! + * @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 t="undefined"!=typeof window&&"undefined"!=typeof document,n=["Edge","Trident","Firefox"],r=0,o=0;o<n.length;o+=1)if(t&&0<=navigator.userAgent.indexOf(n[o])){r=1;break}var a=t&&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()},r))}};function i(e){return e&&"[object Function]"==={}.toString.call(e)}function _(e,t){if(1!==e.nodeType)return[];var n=getComputedStyle(e,null);return t?n[t]:n}function p(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function f(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=_(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/(auto|scroll)/.test(n+o+r)?e:f(p(e))}function g(e){var t=e&&e.offsetParent,n=t&&t.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TD","TABLE"].indexOf(t.nodeName)&&"static"===_(t,"position")?g(t):t:e?e.ownerDocument.documentElement:document.documentElement}function l(e){return null!==e.parentNode?l(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=a.commonAncestorContainer;if(e!==i&&t!==i||r.contains(o))return function(e){var t=e.nodeName;return"BODY"!==t&&("HTML"===t||g(e.firstElementChild)===e)}(i)?i:g(i);var s=l(e);return s.host?d(s.host,t):d(e,l(t).host)}function m(e,t){var n="top"===(1<arguments.length&&void 0!==t?t:"top")?"scrollTop":"scrollLeft",r=e.nodeName;if("BODY"!==r&&"HTML"!==r)return e[n];var o=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||o)[n]}function h(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 s=void 0,b=function(){return void 0===s&&(s=-1!==navigator.appVersion.indexOf("MSIE 10")),s};function c(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],b()?n["offset"+e]+r["margin"+("Height"===e?"Top":"Left")]+r["margin"+("Height"===e?"Bottom":"Right")]:0)}function y(){var e=document.body,t=document.documentElement,n=b()&&getComputedStyle(t);return{height:c("Height",e,t,n),width:c("Width",e,t,n)}}var u=function(e,t,n){return t&&v(e.prototype,t),n&&v(e,n),e};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 O(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=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 S(e){return x({},e,{right:e.left+e.width,bottom:e.top+e.height})}function w(e){var t={};if(b())try{t=e.getBoundingClientRect();var n=m(e,"top"),r=m(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?y():{},i=a.width||e.clientWidth||o.right-o.left,s=a.height||e.clientHeight||o.bottom-o.top,l=e.offsetWidth-i,c=e.offsetHeight-s;if(l||c){var u=_(e);l-=h(u,"x"),c-=h(u,"y"),o.width-=l,o.height-=c}return S(o)}function E(e,t){var n=b(),r="HTML"===t.nodeName,o=w(e),a=w(t),i=f(e),s=_(t),l=parseFloat(s.borderTopWidth,10),c=parseFloat(s.borderLeftWidth,10),u=S({top:o.top-a.top-l,left:o.left-a.left-c,width:o.width,height:o.height});if(u.marginTop=0,u.marginLeft=0,!n&&r){var p=parseFloat(s.marginTop,10),d=parseFloat(s.marginLeft,10);u.top-=l-p,u.bottom-=l-p,u.left-=c-d,u.right-=c-d,u.marginTop=p,u.marginLeft=d}return(n?t.contains(i):t===i&&"BODY"!==i.nodeName)&&(u=function(e,t,n){var r=2<arguments.length&&void 0!==n&&n,o=m(t,"top"),a=m(t,"left"),i=r?-1:1;return e.top+=o*i,e.bottom+=o*i,e.left+=a*i,e.right+=a*i,e}(u,t)),u}function C(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=E(e,t),r=Math.max(t.clientWidth,window.innerWidth||0),o=Math.max(t.clientHeight,window.innerHeight||0),a=m(t),i=m(t,"left");return S({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=f(p(t))).nodeName&&(i=e.ownerDocument.documentElement):i="window"===r?e.ownerDocument.documentElement:r;var s=E(i,a);if("HTML"!==i.nodeName||function e(t){var n=t.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===_(t,"position")||e(p(t)))}(a))o=s;else{var l=y(),c=l.height,u=l.width;o.top+=s.top-s.marginTop,o.bottom=c+s.top,o.left+=s.left-s.marginLeft,o.right=u+s.left}}return o.left+=n,o.top+=n,o.right-=n,o.bottom-=n,o}function T(e,t,r,n,o,a){var i=5<arguments.length&&void 0!==a?a:0;if(-1===e.indexOf("auto"))return e;var s=C(r,n,i,o),l={top:{width:s.width,height:t.top-s.top},right:{width:s.right-t.right,height:s.height},bottom:{width:s.width,height:s.bottom-t.bottom},left:{width:t.left-s.left,height:s.height}},c=Object.keys(l).map(function(e){return x({key:e},l[e],{area:function(e){return e.width*e.height}(l[e])})}).sort(function(e,t){return t.area-e.area}),u=c.filter(function(e){var t=e.width,n=e.height;return t>=r.clientWidth&&n>=r.clientHeight}),p=0<u.length?u[0].key:c[0].key,d=e.split("-")[1];return p+(d?"-"+d:"")}function N(e,t,n){return E(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 j(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 P(e,t,n){n=n.split("-")[0];var r=k(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[j(s)],o}function I(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function D(e,n,t){return(void 0===t?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var r=I(e,function(e){return e[t]===n});return e.indexOf(r)}(e,"name",t))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var t=e.function||e.fn;e.enabled&&i(t)&&(n.offsets.popper=S(n.offsets.popper),n.offsets.reference=S(n.offsets.reference),n=t(n,e))}),n}function R(e,n){return e.some(function(e){var t=e.name;return e.enabled&&t===n})}function A(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 L(e){var t=e.ownerDocument;return t?t.defaultView:window}function B(e,t,n,r){n.updateBound=r,L(e).addEventListener("resize",n.updateBound,{passive:!0});var o=f(e);return function e(t,n,r,o){var a="BODY"===t.nodeName,i=a?t.ownerDocument.defaultView:t;i.addEventListener(n,r,{passive:!0}),a||e(f(i.parentNode),n,r,o),o.push(i)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function F(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=function(e,t){return L(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}(this.reference,this.state))}function M(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function q(n,r){Object.keys(r).forEach(function(e){var t="";-1!==["width","height","top","right","bottom","left"].indexOf(e)&&M(r[e])&&(t="px"),n.style[e]=r[e]+t})}function H(e,t,n){var r=I(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 K=["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"],W=K.slice(3);function V(e,t){var n=1<arguments.length&&void 0!==t&&t,r=W.indexOf(e),o=W.slice(r+1).concat(W.slice(0,r));return n?o.reverse():o}var U="flip",z="clockwise",G="counterclockwise";function Y(e,o,a,t){var i=[0,0],s=-1!==["right","left"].indexOf(t),n=e.split(/(\+|\-)/).map(function(e){return e.trim()}),r=n.indexOf(I(n,function(e){return-1!==e.search(/,|\s/)}));n[r]&&-1===n[r].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==r?[n.slice(0,r).concat([n[r].split(l)[0]]),[n[r].split(l)[1]].concat(n.slice(r+1))]:[n];return(c=c.map(function(e,t){var n=(1===t?!s:s)?"height":"width",r=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,r=!0,e):r?(e[e.length-1]+=t,r=!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("%"))return"vh"!==i&&"vw"!==i?a:("vh"===i?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*a;var s=void 0;switch(i){case"%p":s=n;break;case"%":case"%r":default:s=r}return S(s)[t]/100*a}(e,n,o,a)})})).forEach(function(n,r){n.forEach(function(e,t){M(e)&&(i[r]+=e*("-"===n[t-1]?-1:1))})}),i}var Q={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:O({},l,a[l]),end:O({},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=M(+n)?[+n,0]:Y(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,r){var t=r.boundariesElement||g(e.instance.popper);e.instance.reference===t&&(t=g(t));var o=C(e.instance.popper,e.instance.reference,r.padding,t);r.boundaries=o;var n=r.priority,a=e.offsets.popper,i={primary:function(e){var t=a[e];return a[e]<o[e]&&!r.escapeWithReference&&(t=Math.max(a[e],o[e])),O({},e,t)},secondary:function(e){var t="right"===e?"left":"top",n=a[t];return a[e]>o[e]&&!r.escapeWithReference&&(n=Math.min(a[t],o[e]-("right"===e?a.width:a.height))),O({},t,n)}};return n.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(!H(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,l=-1!==["left","right"].indexOf(o),c=l?"height":"width",u=l?"Top":"Left",p=u.toLowerCase(),d=l?"left":"top",f=l?"bottom":"right",m=k(r)[c];s[f]-m<i[p]&&(e.offsets.popper[p]-=i[p]-(s[f]-m)),s[p]+m>i[f]&&(e.offsets.popper[p]+=s[p]+m-i[f]),e.offsets.popper=S(e.offsets.popper);var h=s[p]+s[c]/2-m/2,b=_(e.instance.popper),y=parseFloat(b["margin"+u],10),g=parseFloat(b["border"+u+"Width"],10),v=h-e.offsets.popper[p]-y-g;return v=Math.max(Math.min(i[c]-m,v),0),e.arrowElement=r,e.offsets.arrow=(O(n={},p,Math.round(v)),O(n,d,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(f,m){if(R(f.instance.modifiers,"inner"))return f;if(f.flipped&&f.placement===f.originalPlacement)return f;var h=C(f.instance.popper,f.instance.reference,m.padding,m.boundariesElement),b=f.placement.split("-")[0],y=j(b),g=f.placement.split("-")[1]||"",v=[];switch(m.behavior){case U:v=[b,y];break;case z:v=V(b);break;case G:v=V(b,!0);break;default:v=m.behavior}return v.forEach(function(e,t){if(b!==e||v.length===t+1)return f;b=f.placement.split("-")[0],y=j(b);var n=f.offsets.popper,r=f.offsets.reference,o=Math.floor,a="left"===b&&o(n.right)>o(r.left)||"right"===b&&o(n.left)<o(r.right)||"top"===b&&o(n.bottom)>o(r.top)||"bottom"===b&&o(n.top)<o(r.bottom),i=o(n.left)<o(h.left),s=o(n.right)>o(h.right),l=o(n.top)<o(h.top),c=o(n.bottom)>o(h.bottom),u="left"===b&&i||"right"===b&&s||"top"===b&&l||"bottom"===b&&c,p=-1!==["top","bottom"].indexOf(b),d=!!m.flipVariations&&(p&&"start"===g&&i||p&&"end"===g&&s||!p&&"start"===g&&l||!p&&"end"===g&&c);(a||u||d)&&(f.flipped=!0,(a||u)&&(b=v[t+1]),d&&(g=function(e){return"end"===e?"start":"start"===e?"end":e}(g)),f.placement=b+(g?"-"+g:""),f.offsets.popper=x({},f.offsets.popper,P(f.instance.popper,f.offsets.reference,f.placement)),f=D(f.instance.modifiers,f,"flip"))}),f},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=j(t),e.offsets.popper=S(o),e}},hide:{order:800,enabled:!0,fn:function(e){if(!H(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=I(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=I(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=w(g(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",p="right"===r?"left":"right",d=A("transform"),f=void 0,m=void 0;if(m="bottom"==u?-s.height+c.bottom:c.top,f="right"==p?-s.width+c.right:c.left,i&&d)l[d]="translate3d("+f+"px, "+m+"px, 0)",l[u]=0,l[p]=0,l.willChange="transform";else{var h="bottom"==u?-1:1,b="right"==p?-1:1;l[u]=m*h,l[p]=f*b,l.willChange=u+", "+p}var y={"x-placement":e.placement};return e.attributes=x({},y,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){return q(e.instance.popper,e.styles),function(t,n){Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)})}(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&q(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,r,o){var a=N(0,t,e),i=T(n.placement,a,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",i),q(t,{position:"absolute"}),n},gpuAcceleration:void 0}}},J=(u(X,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=N(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=P(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position="absolute",e=D(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,R(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.left="",this.popper.style.position="",this.popper.style.top="",this.popper.style[A("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=B(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return F.call(this)}}]),X);function X(e,t){var n=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,X),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=a(this.update.bind(this)),this.options=x({},X.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=t&&t.jquery?t[0]:t,this.options.modifiers={},Object.keys(x({},X.Defaults.modifiers,r.modifiers)).forEach(function(e){n.options.modifiers[e]=x({},X.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return x({name:e},n.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&i(e.onLoad)&&e.onLoad(n.reference,n.popper,n.options,e,n.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}J.Utils=("undefined"!=typeof window?window:e).PopperUtils,J.placements=K,J.Defaults=Q,$.a=J}).call(this,t(9))},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":["/__examples__/categories.jsx","/__examples__/colors.jsx","/__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":["/__examples__/base.jsx","/__examples__/button.jsx","/__examples__/button-group.jsx","/__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":["/__examples__/info.jsx","/__examples__/warning.jsx","/__examples__/offline.jsx","/__examples__/error.jsx","/__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":["/__examples__/menu-contents.jsx","/__examples__/header-footer.jsx","/__examples__/taglines.jsx","/__examples__/prompt.jsx","/__examples__/sizes.jsx"],"url-slug":"modals"}')},function(P,e,t){(function(e){var t="Expected a function",r="__lodash_hash_undefined__",n="[object Function]",o="[object GeneratorFunction]",a=/^\[object .+?Constructor\]$/,i="object"==typeof e&&e&&e.Object===Object&&e,s="object"==typeof self&&self&&self.Object===Object&&self,l=i||s||Function("return this")();var c,u=Array.prototype,p=Function.prototype,d=Object.prototype,f=l["__core-js_shared__"],m=(c=/[^.]+$/.exec(f&&f.keys&&f.keys.IE_PROTO||""))?"Symbol(src)_1."+c:"",h=p.toString,b=d.hasOwnProperty,y=d.toString,g=RegExp("^"+h.call(b).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),v=u.splice,_=N(l,"Map"),O=N(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 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 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 C(e){return!(!j(e)||function(e){return!!m&&m in e}(e))&&(function(e){var t=j(e)?y.call(e):"";return t==n||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 h.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}function T(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function N(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return C(n)?n:void 0}function k(o,a){if("function"!=typeof o||a&&"function"!=typeof a)throw new TypeError(t);var i=function(){var e=arguments,t=a?a.apply(this,e):e[0],n=i.cache;if(n.has(t))return n.get(t);var r=o.apply(this,e);return i.cache=n.set(t,r),r};return i.cache=new(k.Cache||w),i}function j(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}x.prototype.clear=function(){this.__data__=O?O(null):{}},x.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},x.prototype.get=function(e){var t=this.__data__;if(O){var n=t[e];return n===r?void 0:n}return b.call(t,e)?t[e]:void 0},x.prototype.has=function(e){var t=this.__data__;return O?void 0!==t[e]:b.call(t,e)},x.prototype.set=function(e,t){return this.__data__[e]=O&&void 0===t?r:t,this},S.prototype.clear=function(){this.__data__=[]},S.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)},S.prototype.get=function(e){var t=this.__data__,n=E(t,e);return n<0?void 0:t[n][1]},S.prototype.has=function(e){return-1<E(this.__data__,e)},S.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 x,map:new(_||S),string:new x}},w.prototype.delete=function(e){return T(this,e).delete(e)},w.prototype.get=function(e){return T(this,e).get(e)},w.prototype.has=function(e){return T(this,e).has(e)},w.prototype.set=function(e,t){return T(this,e).set(e,t),this},k.Cache=w,P.exports=k}).call(this,t(9))},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":["/__examples__/base.jsx","/__examples__/user-initials.jsx","/__examples__/user-icon.jsx","/__examples__/entity-initials.jsx","/__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":["/__examples__/base.jsx","/__examples__/one-item.jsx","/__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":["/__examples__/default.jsx","/__examples__/default-icon-label.jsx","/__examples__/default-right-to-left.jsx","/__examples__/sub-heading.jsx","/__examples__/custom-trigger.jsx","/__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":["/__examples__/icon.jsx","/__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":["/__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":["/__examples__/default.jsx","/__examples__/error.jsx","/__examples__/toggle.jsx","/__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":["/__examples__/default.jsx","/__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":["/__examples__/header.jsx","/__examples__/alternative-header.jsx","/__examples__/controlled-with-footer.jsx","/__examples__/custom-target.jsx","/__examples__/error.jsx","/__examples__/feature.jsx","/__examples__/walkthrough.jsx","/__examples__/walkthrough-action.jsx","/__examples__/warning.jsx","/__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":["/__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":["/__examples__/base.jsx","/__examples__/base-menu-subheader.jsx","/__examples__/base-inherit-menu-width.jsx","/__examples__/base-predefined-options-only.jsx","/__examples__/base-with-scroll.jsx","/__examples__/dialog.jsx","/__examples__/inline-multiple.jsx","/__examples__/inline-single.jsx","/__examples__/inline-single-entity-combobox.jsx","/__examples__/inline-single-search-add-entities.jsx","/__examples__/inline-multiple-loading.jsx","/__examples__/readonly-single.jsx","/__examples__/readonly-multiple.jsx","/__examples__/required-input-error-state.jsx","/__examples__/dialog.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":["/__examples__/basic-fluid.jsx","/__examples__/basic-fluid-striped.jsx","/__examples__/basic-fluid-no-row-hover.jsx","/__examples__/basic-fluid-column-bordered.jsx","/__examples__/basic-fixed-layout.jsx","/__examples__/advanced.jsx","/__examples__/advanced-single-select.jsx","/__examples__/fixed-header.jsx","/__examples__/joined-with-page-header.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":["/__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)}),i=this&&this.__assign||function(){return(i=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)},s=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},a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var c=a(n(1)),u=l(n(87)),p=a(n(88));function d(e){return e&&e.replace(/ |\u202F|\u00A0/g," ")}function f(e){var t=function e(t){if(t.nodeType===Node.TEXT_NODE)return t;for(var n=t.childNodes,r=n.length-1;0<=r;r--){var o=e(n[r]);if(null!==o)return o}return null}(e),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()}}var m,h=(m=c.Component,o(b,m),b.prototype.render=function(){var t=this,e=this.props,n=e.tagName,r=e.html,o=e.innerRef,a=s(e,["tagName","html","innerRef"]);return c.createElement(n||"div",i({},a,{ref:"function"==typeof o?function(e){o(e),t.el.current=e}: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)},b.prototype.shouldComponentUpdate=function(e){var t=this.props,n=this.getEl();return!n||d(e.html)!==d(n.innerHTML)||t.disabled!==e.disabled||t.tagName!==e.tagName||t.className!==e.className||t.innerRef!==e.innerRef||!u.default(t.style,e.style)},b.prototype.componentDidUpdate=function(){var e=this.getEl();e&&(this.props.html!==e.innerHTML&&(e.innerHTML=this.lastHtml=this.props.html),f(e))},b.propTypes={html:p.string.isRequired,onChange:p.func,disabled:p.bool,tagName:p.string,className:p.string,style:p.object,innerRef:p.oneOfType([p.object,p.func])},b);function b(){var o=null!==m&&m.apply(this,arguments)||this;return o.lastHtml=o.props.html,o.el="function"==typeof o.props.innerRef?{current:null}:c.createRef(),o.getEl=function(){return(o.props.innerRef&&"function"!=typeof o.props.innerRef?o.props.innerRef:o.el).current},o.emitChange=function(e){var t=o.getEl();if(t){var n=t.innerHTML;if(o.props.onChange&&n!==o.lastHtml){var r=Object.assign({},e,{target:{value:n}});o.props.onChange(r)}o.lastHtml=n}},o}t.default=h},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":["/__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":["/__examples__/small-image-text.jsx","/__examples__/large-image-text.jsx","/__examples__/heading-message.jsx","/__examples__/heading-only.jsx","/__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":["/__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":["/__examples__/record-home.jsx","/__examples__/object-home.jsx","/__examples__/related-list.jsx","/__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":["/__examples__/base.jsx","/__examples__/light.jsx","/__examples__/dark.jsx","/__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":["/__examples__/default.jsx","/__examples__/error.jsx","/__examples__/disabled.jsx"],"url-slug":"textareas"}')},function(e,p,t){(function(e,t){var n="object"==typeof e&&e&&e.Object===Object&&e,r=p&&!p.nodeType&&p,o=r&&"object"==typeof t&&t&&!t.nodeType&&t,a=o&&o.exports===r&&n.process,i=function(){try{return a&&a.binding("util")}catch(e){}}(),s=i&&i.isDate;var l=Object.prototype.toString;var c,u=s?(c=s,function(e){return c(e)}):function(e){return function(e){return!!e&&"object"==typeof e}(e)&&"[object Date]"==l.call(e)};t.exports=u}).call(this,t(9),t(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":["/__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":["/__examples__/info.jsx","/__examples__/success.jsx","/__examples__/warning.jsx","/__examples__/error.jsx","/__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":["/__examples__/default.jsx"],"url-slug":"tree"}')},function(e,t,n){e.exports=n(91)},function(e,t,n){"use strict";var r=n(63),i=n(26),s=n(64);e.exports=function(){function e(e,t,n,r,o,a){a!==s&&i(!1,"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")}function t(){return e}var n={array:e.isRequired=e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n}},function(e,t,n){"use strict";function r(e){return function(){return e}}function o(){}o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";var r=n(18),o=n(67),a=n(71),i=n(72)||0;function s(){return o(i)}t.exports=s,t.exports.generate=s,t.exports.seed=function(e){return r.seed(e),t.exports},t.exports.worker=function(e){return i=e,t.exports},t.exports.characters=function(e){return void 0!==e&&r.characters(e),r.shuffled()},t.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(68);n(18);e.exports=function(e){var t="",n=Math.floor(.001*(Date.now()-1459707606518));return n===o?r++:(r=0,o=n),t+=a(6),t+=a(e),0<r&&(t+=a(r)),t+=a(n)}},function(e,t,n){"use strict";var o=n(18),a=n(69),i=n(70);e.exports=function(e){for(var t,n=0,r="";!t;)r+=i(a,o.get(),1),t=e<Math.pow(16,n+1),n++;return r}},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){var r=(2<<Math.log(t.length-1)/Math.LN2)-1,o=Math.ceil(1.6*r*n/t.length);n=+n;for(var a="";;)for(var i=e(o),s=0;s<o;s++){var l=i[s]&r;if(t[l]&&(a+=t[l]).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 i=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},r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(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)}}var a=n(1),s=h(a),l=h(n(6)),c=h(n(0)),u=h(n(74)),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(28)),d=n(23),f=h(d),m=n(80);function h(e){return e&&e.__esModule?e:{default:e}}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}function y(){return _?l.default.createPortal:l.default.unstable_renderSubtreeIntoContainer}var g=t.portalClassName="ReactModalPortal",v=t.bodyOpenClassName="ReactModal__Body--open",_=void 0!==l.default.createPortal;function O(e){return e()}var x=(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)}(S,a.Component),r(S,[{key:"componentDidMount",value:function(){d.canUseDOM&&(_||(this.node=document.createElement("div")),this.node.className=this.props.portalClassName,O(this.props.parentSelector).appendChild(this.node),_||this.renderPortal(this.props))}},{key:"getSnapshotBeforeUpdate",value:function(e){return{prevParent:O(e.parentSelector),nextParent:O(this.props.parentSelector)}}},{key:"componentDidUpdate",value:function(e,t,n){if(d.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)&&(_||this.renderPortal(this.props))}}},{key:"componentWillUnmount",value:function(){if(d.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 d.canUseDOM&&_?(!this.node&&_&&(this.node=document.createElement("div")),y()(s.default.createElement(u.default,i({ref:this.portalRef,defaultStyles:S.defaultStyles},this.props)),this.node)):null}}],[{key:"setAppElement",value:function(e){p.setElement(e)}}]),S);function S(){var e,t,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,S);for(var r=arguments.length,o=Array(r),a=0;a<r;a++)o[a]=arguments[a];return(t=n=b(this,(e=S.__proto__||Object.getPrototypeOf(S)).call.apply(e,[this].concat(o)))).removePortal=function(){_||l.default.unmountComponentAtNode(n.node),O(n.props.parentSelector).removeChild(n.node)},n.portalRef=function(e){n.portal=e},n.renderPortal=function(e){var t=y()(n,s.default.createElement(u.default,i({defaultStyles:S.defaultStyles},e)),n.node);n.portalRef(t)},b(n,t)}x.propTypes={isOpen:c.default.bool.isRequired,style:c.default.shape({content:c.default.object,overlay:c.default.object}),portalClassName:c.default.string,bodyOpenClassName:c.default.string,htmlOpenClassName:c.default.string,className:c.default.oneOfType([c.default.string,c.default.shape({base:c.default.string.isRequired,afterOpen:c.default.string.isRequired,beforeClose:c.default.string.isRequired})]),overlayClassName:c.default.oneOfType([c.default.string,c.default.shape({base:c.default.string.isRequired,afterOpen:c.default.string.isRequired,beforeClose:c.default.string.isRequired})]),appElement:c.default.instanceOf(f.default),onAfterOpen:c.default.func,onRequestClose:c.default.func,closeTimeoutMS:c.default.number,ariaHideApp:c.default.bool,shouldFocusAfterRender:c.default.bool,shouldCloseOnOverlayClick:c.default.bool,shouldReturnFocusAfterClose:c.default.bool,parentSelector:c.default.func,aria:c.default.object,data:c.default.object,role:c.default.string,contentLabel:c.default.string,shouldCloseOnEsc:c.default.bool,overlayRef:c.default.func,contentRef:c.default.func},x.defaultProps={isOpen:!1,portalClassName:g,bodyOpenClassName:v,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,m.polyfill)(x),t.default=x},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i=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},r=function(e,t,n){return t&&a(e.prototype,t),n&&a(e,n),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)}}var s=n(1),l=b(s),c=b(n(0)),u=h(n(75)),p=b(n(76)),d=h(n(28)),f=h(n(79)),m=b(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 b(e){return e&&e.__esModule?e:{default:e}}var y={overlay:"ReactModal__Overlay",content:"ReactModal__Content"},g=0,v=(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)}(_,s.Component),r(_,[{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&&(g+=1,d.hide(t))}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.overlayClassName,r=e.defaultStyles,o=t?{}:r.content,a=n?{}:r.overlay;return this.shouldBeClosed()?null:l.default.createElement("div",{ref:this.setOverlayRef,className:this.buildClassName("overlay",n),style:i({},a,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},l.default.createElement("div",i({ref:this.setContentRef,style:i({},o,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))}}]),_);function _(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,_);var a=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,(_.__proto__||Object.getPrototypeOf(_)).call(this,e));return a.setOverlayRef=function(e){a.overlay=e,a.props.overlayRef&&a.props.overlayRef(e)},a.setContentRef=function(e){a.content=e,a.props.contentRef&&a.props.contentRef(e)},a.afterClose=function(){var e=a.props,t=e.appElement,n=e.ariaHideApp,r=e.htmlOpenClassName,o=e.bodyOpenClassName;o&&f.remove(document.body,o),r&&f.remove(document.getElementsByTagName("html")[0],r),n&&0<g&&0===(g-=1)&&d.show(t),a.props.shouldFocusAfterRender&&(a.props.shouldReturnFocusAfterClose?(u.returnFocus(),u.teardownScopedFocus()):u.popWithoutFocus()),a.props.onAfterClose&&a.props.onAfterClose()},a.open=function(){a.beforeOpen(),a.state.afterOpen&&a.state.beforeClose?(clearTimeout(a.closeTimer),a.setState({beforeClose:!1})):(a.props.shouldFocusAfterRender&&(u.setupScopedFocus(a.node),u.markForFocusLater()),a.setState({isOpen:!0},function(){a.setState({afterOpen:!0}),a.props.isOpen&&a.props.onAfterOpen&&a.props.onAfterOpen()}))},a.close=function(){0<a.props.closeTimeoutMS?a.closeWithTimeout():a.closeWithoutTimeout()},a.focusContent=function(){return a.content&&!a.contentHasFocus()&&a.content.focus()},a.closeWithTimeout=function(){var e=Date.now()+a.props.closeTimeoutMS;a.setState({beforeClose:!0,closesAt:e},function(){a.closeTimer=setTimeout(a.closeWithoutTimeout,a.state.closesAt-Date.now())})},a.closeWithoutTimeout=function(){a.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},a.afterClose)},a.handleKeyDown=function(e){9===e.keyCode&&(0,p.default)(a.content,e),a.props.shouldCloseOnEsc&&27===e.keyCode&&(e.stopPropagation(),a.requestClose(e))},a.handleOverlayOnClick=function(e){null===a.shouldClose&&(a.shouldClose=!0),a.shouldClose&&a.props.shouldCloseOnOverlayClick&&(a.ownerHandlesClose()?a.requestClose(e):a.focusContent()),a.shouldClose=null},a.handleContentOnMouseUp=function(){a.shouldClose=!1},a.handleOverlayOnMouseDown=function(e){a.props.shouldCloseOnOverlayClick||e.target!=a.overlay||e.preventDefault()},a.handleContentOnClick=function(){a.shouldClose=!1},a.handleContentOnMouseDown=function(){a.shouldClose=!1},a.requestClose=function(e){return a.ownerHandlesClose()&&a.props.onRequestClose(e)},a.ownerHandlesClose=function(){return a.props.onRequestClose},a.shouldBeClosed=function(){return!a.state.isOpen&&!a.state.beforeClose},a.contentHasFocus=function(){return document.activeElement===a.content||a.content.contains(document.activeElement)},a.buildClassName=function(e,t){var n="object"===(void 0===t?"undefined":o(t))?t:{base:y[e],afterOpen:y[e]+"--after-open",beforeClose:y[e]+"--before-close"},r=n.base;return a.state.afterOpen&&(r=r+" "+n.afterOpen),a.state.beforeClose&&(r=r+" "+n.beforeClose),"string"==typeof t&&t?r+" "+t:r},a.attributesFromObject=function(n,r){return Object.keys(r).reduce(function(e,t){return e[n+"-"+t]=r[t],e},{})},a.state={afterOpen:!1,beforeClose:!1},a.shouldClose=null,a.moveFromContentToOverlay=null,a}v.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},v.propTypes={isOpen:c.default.bool.isRequired,defaultStyles:c.default.shape({content:c.default.object,overlay:c.default.object}),style:c.default.shape({content:c.default.object,overlay:c.default.object}),className:c.default.oneOfType([c.default.string,c.default.object]),overlayClassName:c.default.oneOfType([c.default.string,c.default.object]),bodyOpenClassName:c.default.string,htmlOpenClassName:c.default.string,ariaHideApp:c.default.bool,appElement:c.default.instanceOf(m.default),onAfterOpen:c.default.func,onAfterClose:c.default.func,onRequestClose:c.default.func,closeTimeoutMS:c.default.number,shouldFocusAfterRender:c.default.bool,shouldCloseOnOverlayClick:c.default.bool,shouldReturnFocusAfterClose:c.default.bool,role:c.default.string,contentLabel:c.default.string,aria:c.default.object,data:c.default.object,children:c.default.node,shouldCloseOnEsc:c.default.bool,overlayRef:c.default.func,contentRef:c.default.func,testId:c.default.string},t.default=v,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 t=null;try{return void(0!==i.length&&(t=i.pop()).focus())}catch(e){console.warn(["You tried to return focus to",t,"but it is not in the DOM anymore"].join(" "))}},t.popWithoutFocus=function(){0<i.length&&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(27),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,c.default)(e);if(!n.length)return void t.preventDefault();var r,o=t.shiftKey,a=n[0],i=n[n.length-1];if(e===document.activeElement){if(!o)return;r=i}i!==document.activeElement||o||(r=a);a===document.activeElement&&o&&(r=i);if(r)return t.preventDefault(),void r.focus();var s=/(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent);if(null==s||"Chrome"==s[1]||null!=/\biPod\b|\biPad\b/g.exec(navigator.userAgent))return;var l=n.indexOf(document.activeElement);-1<l&&(l+=o?-1:1);if(void 0===n[l])return t.preventDefault(),void(r=o?i:a).focus();t.preventDefault(),n[l].focus()};var r,o=n(27),c=(r=o)&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){"use strict";e.exports=function(){}},function(n,r,o){var a; +/*! + Copyright (c) 2015 Jed Watson. + Based on code that is Copyright 2013-2015, Facebook, Inc. + All rights reserved. +*/ +/*! + Copyright (c) 2015 Jed Watson. + Based on code that is Copyright 2013-2015, Facebook, Inc. + All rights reserved. +*/ +!function(){"use strict";var e=!("undefined"==typeof window||!window.document||!window.document.createElement),t={canUseDOM:e,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:e&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:e&&!!window.screen};void 0===(a=function(){return t}.call(r,o,r,n))||(n.exports=a)}()},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 function(t,n,e){e.forEach(function(e){!function(e,t){e[t]||(e[t]=0),e[t]+=1}(n,e),t.add(e)})}(e.classList,"html"==e.nodeName.toLowerCase()?r:o,t.split(" "))},t.remove=function(e,t){return function(t,n,e){e.forEach(function(e){!function(e,t){e[t]&&(e[t]-=1)}(n,e),0===n[e]&&t.remove(e)})}(e.classList,"html"==e.nodeName.toLowerCase()?r:o,t.split(" "))}},function(e,t,n){"use strict";function l(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function c(n){this.setState(function(e){var t=this.constructor.getDerivedStateFromProps(n,e);return null!=t?t:null}.bind(this))}function u(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 r(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,r=null,o=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?r="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(r="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?o="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(o="UNSAFE_componentWillUpdate"),null!==n||null!==r||null!==o){var a=e.displayName||e.name,i="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+a+" uses "+i+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==r?"\n "+r:"")+(null!==o?"\n "+o:"")+"\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=l,t.componentWillReceiveProps=c),"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=u;var s=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;s.call(this,e,t,r)}}return e}n.r(t),n.d(t,"polyfill",function(){return r}),u.__suppressDeprecationWarning=c.__suppressDeprecationWarning=l.__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,t){var n={},r=t;if("string"==typeof r){r={};for(var o=1;o<arguments.length;o++)r[arguments[o]]=!0}for(var a in e)r[a]||(n[a]=e[a]);return n}},function(e,t,n){"use strict";var o=n(85),p=n(86),g=n(26);e.exports=function(e,d,a){var n=[],f={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"},i={getDerivedStateFromProps:"DEFINE_MANY_MERGED"},m={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)r(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=o({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=o({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=h(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=o({},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(g(!(n in m),'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){var o=i.hasOwnProperty(n)?i[n]:null;return g("DEFINE_MANY_MERGED"===o,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),e[n]=h(e[n],r)}e[n]=r}}}(e,t)},autobind:function(){}};function r(e,t){if(t){g("function"!=typeof t,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),g(!d(t),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var n,r,o,a=e.prototype,i=a.__reactAutoBindPairs;for(var s in t.hasOwnProperty("mixins")&&m.mixins(e,t.mixins),t)if(t.hasOwnProperty(s)&&"mixins"!==s){var l=t[s],c=a.hasOwnProperty(s);if(n=c,r=s,void 0,o=f.hasOwnProperty(r)?f[r]:null,y.hasOwnProperty(r)&&g("OVERRIDE_BASE"===o,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",r),n&&g("DEFINE_MANY"===o||"DEFINE_MANY_MERGED"===o,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",r),m.hasOwnProperty(s))m[s](e,l);else{var u=f.hasOwnProperty(s);if("function"==typeof l&&!u&&!c&&!1!==t.autobind)i.push(s,l),a[s]=l;else if(c){var p=f[s];g(u&&("DEFINE_MANY_MERGED"===p||"DEFINE_MANY"===p),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",p,s),"DEFINE_MANY_MERGED"===p?a[s]=h(a[s],l):"DEFINE_MANY"===p&&(a[s]=b(a[s],l))}else a[s]=l}}}else;}function s(e,t){for(var n in g(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."),t)t.hasOwnProperty(n)&&(g(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(r,o){return function(){var e=r.apply(this,arguments),t=o.apply(this,arguments);if(null==e)return t;if(null==t)return e;var n={};return s(n,e),s(n,t),n}}function b(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function l(){}var c={componentDidMount:function(){this.__isMounted=!0}},u={componentWillUnmount:function(){this.__isMounted=!1}},y={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}};return o(l.prototype,e.prototype,y),function(e){var o=function(e){return e}(function(e,t,n){this.__reactAutoBindPairs.length&&function(e){for(var t,n=e.__reactAutoBindPairs,r=0;r<n.length;r+=2){var o=n[r],a=n[r+1];e[o]=(t=e,a.bind(t))}}(this),this.props=e,this.context=t,this.refs=p,this.updater=n||a,this.state=null;var r=this.getInitialState?this.getInitialState():null;g("object"==typeof r&&!Array.isArray(r),"%s.getInitialState(): must return an object or null",o.displayName||"ReactCompositeComponent"),this.state=r});for(var t in o.prototype=new l,(o.prototype.constructor=o).prototype.__reactAutoBindPairs=[],n.forEach(r.bind(null,o)),r(o,c),r(o,e),r(o,u),o.getDefaultProps&&(o.defaultProps=o.getDefaultProps()),g(o.prototype.render,"createClass(...): Class specification must implement a `render` method."),f)o.prototype[t]||(o.prototype[t]=null);return o}}},function(e,t,n){"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/var l=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,u=Object.prototype.propertyIsEnumerable;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,r,o=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),a=1;a<arguments.length;a++){for(var i in n=Object(arguments[a]))c.call(n,i)&&(o[i]=n[i]);if(l){r=l(n);for(var s=0;s<r.length;s++)u.call(n,r[s])&&(o[r[s]]=n[r[s]])}}return o}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var f=Array.isArray,m=Object.keys,h=Object.prototype.hasOwnProperty;e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){var r,o,a,i=f(t),s=f(n);if(i&&s){if((o=t.length)!=n.length)return!1;for(r=o;0!=r--;)if(!e(t[r],n[r]))return!1;return!0}if(i!=s)return!1;var l=t instanceof Date,c=n instanceof Date;if(l!=c)return!1;if(l&&c)return t.getTime()==n.getTime();var u=t instanceof RegExp,p=n instanceof RegExp;if(u!=p)return!1;if(u&&p)return t.toString()==n.toString();var d=m(t);if((o=d.length)!==m(n).length)return!1;for(r=o;0!=r--;)if(!h.call(n,d[r]))return!1;for(r=o;0!=r--;)if(!e(t[a=d[r]],n[a]))return!1;return!0}return t!=t&&n!=n}},function(e,t,n){e.exports=n(89)()},function(e,t,n){"use strict";var s=n(90);function r(){}function o(){}o.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,o,a){if(a!==s){var i=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 i.name="Invariant Violation",i}}function t(){return e}var n={array:e.isRequired=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:o,resetWarningCache:r};return n.PropTypes=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";n.r(t);var s=n(1),P=n.n(s),r=n(0),o=n.n(r),a=n(2),I=n.n(a),i=n(3),m=n.n(i),l="SLDSAppLauncher",c="SLDSAppLauncherExpandableSection",u="SLDSAppLauncherTile",p="SLDSAvatar",d="SLDSBreadcrumb",f="SLDSBuilderHeaderMisc",h="SLDSBuilderHeaderNav",b="SLDSBuilderHeaderNavDropdown",y="SLDSBuilderHeaderNavLink",g="SLDSBuilderHeaderToolbar",v="SLDSButton",_="SLDSButtonGroup",O="SLDSButtonStateful",x="SLDSButtonIcon",S="SLDSColorPicker",w="SLDSCombobox",E="SLDSDataTable",C="SLDSDataTableCell",T="SLDSDataTableColumn",N="SLDSDataTableHead",k="SLDSDataTableRowActions",j="SLDSDataTableRow",D="SLDSDatePicker",R="SLDSCheckbox",A="SLDSInlineEdit",L="SLDSTextarea",B="SLDSSearch",F="SLDSGlobalHeader",M="SLDSGlobalHeaderFavorites",q="SLDSGlobalHeaderHelp",H="SLDSGlobalHeaderNotifications",K="SLDSGlobalHeaderProfile",W="SLDSGlobalHeaderSearch",V="SLDSGlobalHeaderSetup",U="SLDSGlobalHeaderTask",z="SLDSGlobalHeaderTool",G="SLDSGlobalNavigationBarDropdown",Y="SLDSGlobalNavigationBarRegion",Q="SLDSIcon",J="SLDSLookup",X="SLDSMenuDropdown",$="SLDSMenuDropdownTrigger",Z="SLDSMenuPicklist",ee="SLDSFilterGroup",te="SLDSPageHeader",ne="SLDSPageHeaderControl",re="SLDSPopover",oe="SLDSPopoverTooltip",ae="SLDSSetupAssistant",ie="SLDSSetupAssistantStep",se="SLDSScopedNotification",le="SLDSSpinner",ce="SLDSTimepicker",ue="SLDSVerticalNavigation";function pe(e){return(pe="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 de(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!t||"object"!==pe(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function me(e){return(me=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function he(e,t){return(he=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var be={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.oneOfType([o.a.number,o.a.string]),children:o.a.node.isRequired},ye=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=fe(this,me(n).call(this,e))).state={currButtonIndex:0},t.summaryButtons=[],t.generatedId=m.a.generate(),t}return 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&&he(e,t)}(n,s["Component"]),function(e,t,n){t&&de(e.prototype,t),n&&de(e,n)}(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(t){var e=this.state.currButtonIndex;null===e&&(e=this.summaryButtons.findIndex(function(e){return e.id===t.target.id})),"ArrowDown"===t.key?(t.preventDefault(),e<this.props.children.length-1?this.setState({currButtonIndex:e+1}):this.setState({currButtonIndex:0})):"ArrowUp"===t.key&&(t.preventDefault(),0<e?this.setState({currButtonIndex:e-1}):this.setState({currButtonIndex:this.props.children.length-1}))}},{key:"addSummaryButton",value:function(t){var e=this.summaryButtons.find(function(e){return t===e});null!==t&&void 0===e&&this.summaryButtons.push(t)}},{key:"render",value:function(){var t=this;return P.a.createElement("ul",{name:this.props.id||this.generatedId,className:I()("slds-accordion",this.props.className)},P.a.Children.map(this.props.children,function(e){return P.a.cloneElement(e,{refs:{summaryButton:t.addSummaryButton.bind(t)},onClickSummary:t.onClickSummary.bind(t),onKeyDownSummary:t.onKeyDownSummary.bind(t)})}))}}]),n}();ye.displayName="SLDSAccordion",ye.propTypes=be;var ge=ye,ve=n(19),_e=n.n(ve);n(7);var Oe=function(){},xe={LTR:"ltr",RTL:"rtl"},Se=P.a.createContext("ltr");var we=function(){};function Ee(e){return(Ee="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(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Te(){return(Te=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 Ne(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 ke(e){return(ke=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function je(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Pe(e,t){return(Pe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 De=function(){function a(){var e,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Ie(je(o=function(e,t){return!t||"object"!==Ee(t)&&"function"!=typeof t?je(e):t}(this,(e=ke(a)).call.apply(e,[this].concat(n)))),"getPaths",function(e){return e instanceof Array?e.map(function(e){return P.a.createElement("path",e)}):P.a.createElement("path",Te({key:"pathSVG"},e))}),Ie(je(o),"getCircles",function(e){return e instanceof Array?e.map(function(e){return P.a.createElement("circle",e)}):P.a.createElement("circle",Te({key:"circleSVG"},e))}),Ie(je(o),"getEllipses",function(e){return e instanceof Array?e.map(function(e){return P.a.createElement("ellipse",e)}):P.a.createElement("ellipse",Te({key:"ellipseSVG"},e))}),Ie(je(o),"getGroups",function(e){return e instanceof Array?e.map(function(e){return P.a.createElement("g",null,o.getShapes(e))}):P.a.createElement("g",{key:"groupsSVG"},o.getShapes(e))}),Ie(je(o),"getShapes",function(e){var t=[];return e&&(e.g&&t.push(o.getGroups(e.g)),e.ellipse&&t.push(o.getEllipses(e.ellipse)),e.circle&&t.push(o.getCircles(e.circle)),e.path&&t.push(o.getPaths(e.path))),t}),Ie(je(o),"getSVG",function(e,t){var n=e.viewBox,r=Ce(e,["viewBox"]);return P.a.createElement("svg",{"aria-hidden":t["aria-hidden"],className:t.className,viewBox:n,name:t.name,style:t.style},o.getShapes(r))}),o}return 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&&Pe(e,t)}(a,P.a.Component),function(e,t,n){t&&Ne(e.prototype,t),n&&Ne(e,n)}(a,[{key:"render",value:function(){var e=this.props,t=e.data,n=Ce(e,["data"]);return t?this.getSVG(t,n):null}}]),a}();Ie(De,"displayName","Svg");var Re=De;var Ae={};var Le={};var Be={};var Fe={};var Me={};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 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 Ke(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){return(We=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ve(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ue(e,t){return(Ue=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ze(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ge=function(i){var e,t,n=i.displayName||i.name||"Component";return t=e=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return ze(Ve(t=function(e,t){return!t||"object"!==qe(t)&&"function"!=typeof t?Ve(e):t}(this,(e=We(a)).call.apply(e,[this].concat(r)))),"getWrappedComponent",function(e){return P.a.createElement(i,He({},t.props,{direction:e}))}),t}return 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&&Ue(e,t)}(a,s["Component"]),function(e,t,n){t&&Ke(e.prototype,t),n&&Ke(e,n)}(a,[{key:"render",value:function(){return P.a.createElement(Se.Consumer,null,this.getWrappedComponent)}}]),a}(),ze(e,"displayName","LanguageDirection(".concat(n,")")),t};function Ye(){return(Ye=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 Qe(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Je(e,t){var n=e.name,r=void 0===n?"":n,o=(e.assistiveText,e.category),a=e.icon,i=e.path,s=e.direction,l=Qe(e,["name","assistiveText","category","icon","path","direction"]);we("UtilityIcon",{name:r,category:o,path:i,context:t});var c,u,p={action:Le,custom:Be,doctype:Fe,standard:Me,utility:Ae};if(a?c=a:Object.keys(p[o]).length&&((c=p[o][r.toLowerCase()]).viewBox=p[o].viewBox),i)u=i;else if(t.onRequestIconPath)u=t.onRequestIconPath({category:o,name:r});else if(t["".concat(o,"Sprite")])u="".concat(t["".concat(o,"Sprite")],"#").concat(r);else{var d=s===xe.RTL?"symbols-rtl.svg":"symbols.svg";u=t.iconPath&&"".concat(t.iconPath,"/").concat(o,"-sprite/svg/").concat(d,"#").concat(r)}return c?P.a.createElement(Re,Ye({data:c,name:r},l)):P.a.createElement("svg",Ye({key:"".concat(r,"_").concat(o)},l),P.a.createElement("use",{xlinkHref:u}))}Je.displayName="UtilityIcon",Je.propTypes={assistiveText:o.a.object,category:o.a.oneOf(["action","custom","doctype","standard","utility"]),icon:o.a.object,name:o.a.string,path:o.a.string},Je.defaultProps={category:"utility"},Je.contextTypes={iconPath:o.a.string,onRequestIconPath:o.a.func,actionSprite:o.a.string,customSprite:o.a.string,doctypeSprite:o.a.string,standardSprite:o.a.string,utilitySprite:o.a.string};var Xe=Ge(Je);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}function Ze(e){var t;return Oe(x,e),P.a.createElement(Xe,{"aria-hidden":"true",category:e.category,className:I()("slds-button__icon",(t={},$e(t,"slds-button__icon_".concat(e.size),e.size&&"medium"!==e.size),$e(t,"slds-button__icon_inverse-hint",e.inverse&&e.hint),$e(t,"slds-button__icon_hint",e.hint&&!e.inverse),$e(t,"slds-button__icon_".concat(e.position),e.position),t),e.className),icon:e.icon,name:e.name,path:e.path})}var et={category:o.a.oneOf(["action","custom","doctype","standard","utility"]).isRequired,hint:o.a.bool,icon:o.a.object,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),inverse:o.a.bool,name:o.a.string,path:o.a.string,position:o.a.oneOf(["left","right"]),size:o.a.oneOf(["x-small","small","medium","large"])};Ze.displayName=x,Ze.propTypes=et,Ze.defaultProps={category:"utility",size:"medium"};var tt=Ze;var nt=function(){},rt=n(29),ot=n(30),at=n(10),it=n.n(at),st=n(6),lt=n.n(st);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 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 pt(e,t){return!t||"object"!==ct(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function dt(e){return(dt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ft(e,t){return(ft=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var mt="undefined"!=typeof document,ht=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=pt(this,dt(n).call(this,e))).portalNode=null,t.state={isOpen:!1},t}return 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&&ft(e,t)}(n,s["Component"]),function(e,t,n){t&&ut(e.prototype,t),n&&ut(e,n)}(n,[{key:"componentDidMount",value:function(){this.renderPortal()}},{key:"componentDidUpdate",value:function(){this.renderPortal()}},{key:"componentWillUnmount",value:function(){this.unmountPortal()}},{key:"getChildren",value:function(){return s.Children.only(this.props.children)}},{key:"getPortalParentNode",value:function(){return"string"==typeof this.props.renderTo?document.querySelector(this.props.renderTo):this.props.renderTo||mt&&document.body}},{key:"setupPortalNode",value:function(){var e=this.getPortalParentNode();this.portalNode={},mt&&(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&&(lt.a.unmountComponentAtNode(this.portalNode),this.portalNode.parentNode.removeChild(this.portalNode)),this.portalNode=null}},{key:"updatePortal",value:function(){var t=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(e){t.portalNode.style[e]=t.props.style[e]}),this.props.onUpdate&&(this.portalNodeInstance=this.props.onUpdate(this.portalNodeInstance))}},{key:"renderPortal",value:function(){var e=this;this.getChildren()&&mt?(this.portalNode||this.setupPortalNode(),this.props.portalMount?this.props.portalMount({instance:this,reactElement:this.getChildren(),domContainerNode:this.portalNode,updateCallback:function(){e.updatePortal()}}):lt.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}}]),n}();ht.displayName="Portal",ht.propTypes={renderTag:o.a.string,renderTo:o.a.any,id:o.a.string,children:o.a.node,className:o.a.any,style:o.a.object,onMount:o.a.func,onOpen:o.a.func,onUpdate:o.a.func,portalMount:o.a.func},ht.defaultProps={renderTag:"span",renderTo:null,onMount:function(){return null},onOpen:function(){return null},onUpdate:function(){return null},onUnmount:function(){return null}};var bt=ht,yt={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 yt.trapEvent(e)},trapImmediate:function(e){e.stopImmediatePropagation&&e.stopImmediatePropagation(),e.nativeEvent&&e.nativeEvent.stopImmediatePropagation&&e.nativeEvent.stopImmediatePropagation(),yt.trap(e)}},gt=yt,vt={ENTER:13,ESCAPE:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,TAB:9,DELETE:46,BACKSPACE:8},_t=vt;function Ot(e){if(St&&Et&&e.keyCode===_t.TAB){var t=xt(Et);if(t[e.shiftKey?0:t.length-1]===document.activeElement||Et===document.activeElement)e.preventDefault(),t[e.shiftKey?t.length-1:0].focus()}}var xt=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||0<=t)&& +/*! + * 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(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)})},St=!("undefined"==typeof window||!window.document||!window.document.createElement),wt=St&&Boolean(window.addEventListener||window.attachEvent),Et=(St&&Boolean(window.screen),null),Ct=null,Tt={focusAncestor:function(e){var t=e.isPortal;if(St)if(t){var n=window.pageYOffset;Et.focus({preventScroll:!0}),window.scrollTo(window.pageXOffset,n)}else Et.focus()},hasOrAncestorHasFocus:function(){return St&&(document.activeElement===Et||Et.contains(document.activeElement))},returnFocusToStoredElement:function(){if(St){try{Ct.focus()}catch(e){console.warn("You tried to return focus to ".concat(Ct," but it is not in the DOM anymore"))}Ct=null}},setupScopedFocus:function(e){var t=e.ancestorElement;Et=t,window.addEventListener("keydown",Ot,!1)},storeActiveElement:function(){Ct=St?document.activeElement:null},teardownScopedFocus:function(){Et=null,St&&window.removeEventListener("keydown",Ot)}},Nt=1/Math.sqrt(2);function kt(e){return(kt="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 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 Pt(e,t){return!t||"object"!==kt(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function It(e){return(It=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Dt(e,t){return(Dt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Rt=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Pt(this,It(e).apply(this,arguments))}return 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)}(e,P.a.Component),function(e,t,n){t&&jt(e.prototype,t),n&&jt(e,n)}(e,[{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}}]),e}();Rt.displayName="SLDSIconSettings",Rt.childContextTypes={iconPath:o.a.string,onRequestIconPath:o.a.func,actionSprite:o.a.string,customSprite:o.a.string,doctypeSprite:o.a.string,standardSprite:o.a.string,utilitySprite:o.a.string},Rt.propTypes={iconPath:o.a.string,onRequestIconPath:o.a.func,actionSprite:o.a.string,customSprite:o.a.string,doctypeSprite:o.a.string,standardSprite:o.a.string,utilitySprite:o.a.string};var At=Rt;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 Bt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Kt(t,e,n[e])})}return t}function Ft(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){return(Mt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qt(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ht(e,t){return(Ht=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Kt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Wt=function(){function o(){var e,i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Kt(qt(i=function(e,t){return!t||"object"!==Lt(t)&&"function"!=typeof t?qt(e):t}(this,(e=Mt(o)).call.apply(e,[this].concat(n)))),"state",{triggerPopperJS:!1,isOpen:!1}),Kt(qt(i),"getPropOffsetsInPixels",function(e){var t=e.split(" ");return{vertical:parseInt(t[0],10),horizontal:parseInt(t[1],10)}}),Kt(qt(i),"getPopperStyles",function(){var e=i.state.popperData;if(!i.popper||!e)return{position:"absolute",pointerEvents:"none"};var t=e.offsets.popper.position,n=i.getPropOffsetsInPixels(i.props.offset),r=i.props.hasNubbin?function(e){var t=0<arguments.length&&void 0!==e?e:{},n=t.placement,r=0,o=0,a=16*Nt,i=.5*t.offsets.reference.width,s=.5*t.offsets.reference.height;return"top"===n?r=-1*a:"top-end"===n?(r=-1*a,o=24-i):"top-start"===n&&(r=-1*a,o=i-24),"bottom"===n?r=a:"bottom-end"===n?(r=a,o=24-i):"bottom-start"===n&&(r=a,o=i-24),"right"===n?o=a:"right-end"===n?(o=a,r=24-s):"right-start"===n&&(o=a,r=s-24),"left"===n?o=-1*a:"left-end"===n?(o=-1*a,r=24-s):"left-start"===n&&(o=-1*a,r=s-24),{left:o,top:r}}(i.state.popperData):{left:0,top:0},o=e.offsets.popper.left+r.left+n.horizontal,a=e.offsets.popper.top+r.top+n.vertical;return Bt({},e.style,{left:o,top:a,right:"inherit",position:t})}),Kt(qt(i),"setDialogContent",function(e){i.dialogContent=e,i.state.triggerPopperJS||i.setState({triggerPopperJS:!0})}),Kt(qt(i),"handleClickOutside",function(){i.handleClose()}),Kt(qt(i),"handleClose",function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};t.componentWillUnmount||i.setState({triggerPopperJS:!0}),i.props.onClose&&i.props.onClose(e,t)}),Kt(qt(i),"handleClick",function(e){e.nativeEvent&&(e.nativeEvent.preventDefault(),e.nativeEvent.stopPropagation())}),Kt(qt(i),"handleKeyDown",function(e){e.keyCode===_t.TAB&&i.props.closeOnTabKey&&(gt.trap(e),i.handleClose(e)),i.props.onKeyDown&&i.props.onKeyDown(e)}),Kt(qt(i),"handleOpen",function(){"popover"===i.props.variant&&i.dialogContent&&(Tt.storeActiveElement(),Tt.setupScopedFocus({ancestorElement:i.dialogContent}),Tt.hasOrAncestorHasFocus()||Tt.focusAncestor({isPortal:"overflowBoundaryElement"===i.props.position})),i.props.onOpen&&i.props.onOpen(void 0,{portal:i.dialogContent})}),Kt(qt(i),"createPopper",function(){var e=i.props.onRequestTargetElement(),t=i.dialogContent,n=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===xe.RTL&&(-1<n.indexOf("left")?n=n.replace("left","right"):-1<n.indexOf("right")?n=n.replace("right","left"):-1<n.indexOf("start")?n=n.replace("start","end"):-1<n.indexOf("end")&&(n=n.replace("end","start"))),n}(i.props.align,i.props.direction),r={applyStyle:{enabled:!1},preventOverflow:{enabled:!i.props.hasStaticAlignment,boundariesElement:"absolute"===i.props.position?"scrollParent":"viewport"},hide:{enabled:!1},flip:{enabled:!i.props.hasStaticAlignment},removeOnDestroy:!0,updateState:{enabled:!0,order:900,fn:function(e){return(!i.state.popperData||it()(e.offsets,i.state.popperData.offsets))&&i.state.popperData||i.setState({popperData:e}),e}}};e||console.error("Target node not found!",e),t||console.error("Popper node not found!",t),i.popper=new ot.a(e,t,{placement:n,eventsEnabled:!0,modifiers:r}),i.popper.scheduleUpdate()}),Kt(qt(i),"destroyPopper",function(){i.popper&&i.popper.destroy()}),i}return 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&&Ht(e,t)}(o,P.a.Component),function(e,t,n){t&&Ft(e.prototype,t),n&&Ft(e,n)}(o,[{key:"componentDidMount",value:function(){"absolute"!==this.props.position&&"relative"!==this.props.position||this.handleOpen()}},{key:"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&&(Tt.teardownScopedFocus(),Tt.returnFocusToStoredElement()),"absolute"!==this.props.position&&"overflowBoundaryElement"!==this.props.position||this.destroyPopper(),this.handleClose(void 0,{componentWillUnmount:!0})}},{key:"render",value:function(){var n=this,e={},t="popover"===this.props.variant?"dialog":this.props.variant;"absolute"!==this.props.position&&"overflowBoundaryElement"!==this.props.position||(e=Bt({},e,{outline:0},this.getPopperStyles())),"target"===this.props.inheritWidthOf&&this.props.onRequestTargetElement()?e.width=this.props.onRequestTargetElement().getBoundingClientRect().width:"menu"===this.props.inheritWidthOf&&this.dialogContent&&this.dialogContent.querySelector(".slds-listbox")&&(e.width=this.dialogContent.querySelector(".slds-listbox").getBoundingClientRect().width),e=Bt({},e,this.props.style);var r="popover"===this.props.variant?"section":"div",o=P.a.createElement(r,Bt({className:I()(Kt({"absolute-positioned":"absolute"===this.props.position,"portal-positioned":"overflowBoundaryElement"===this.props.position},"".concat(this.props.outsideClickIgnoreClass),"overflowBoundaryElement"===this.props.position),this.props.hasNubbin&&function(e,t){return(1<arguments.length&&void 0!==t?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})}(this.props.align,this.state.popperData),this.props.contentsClassName)||void 0,style:e,onMouseDown:this.props.onMouseDown,onKeyDown:this.handleKeyDown,onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave,ref:this.setDialogContent,role:t,tabIndex:"popover"===this.props.variant?"-1":void 0},this.props.containerProps),this.props.children),a={absolute:function(){return o},relative:function(){return o},overflowBoundaryElement:function(){var e=Object.keys(At.childContextTypes).filter(function(e){return Boolean(n.context[e])}).reduce(function(e,t){return Bt({},e,Kt({},t,n.context[t]))},{}),t=P.a.createElement(Se.Provider,{value:n.props.direction},P.a.createElement(At,e,o));return P.a.createElement(bt,{onOpen:n.handleOpen,portalMount:n.props.portalMount},t)}};return a[this.props.position]&&a[this.props.position]()}}]),o}();Kt(Wt,"displayName","SLDSDialog"),Kt(Wt,"propTypes",{align:o.a.oneOf(["top","top left","top right","right","right top","right bottom","bottom","bottom left","bottom right","left","left top","left bottom"]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),contentsClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),children:o.a.node.isRequired,closeOnTabKey:o.a.bool,containerProps:o.a.object,direction:o.a.oneOf([xe.LTR,xe.RTL]),hasNubbin:o.a.bool,hasStaticAlignment:o.a.bool,inheritWidthOf:o.a.oneOf(["target","menu","none"]),offset:o.a.string,onClose:o.a.func,onKeyDown:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,onOpen:o.a.func,onRequestTargetElement:o.a.func.isRequired,outsideClickIgnoreClass:o.a.string,portalMount:o.a.func,position:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]).isRequired,style:o.a.object,variant:o.a.oneOf(["dropdown","popover","tooltip"])}),Kt(Wt,"defaultProps",{align:"bottom left",direction:xe.LTR,offset:"0px 0px",outsideClickIgnoreClass:"ignore-react-onclickoutside"}),Wt.contextTypes={iconPath:o.a.string,onRequestIconPath:o.a.func,actionSprite:o.a.string,customSprite:o.a.string,doctypeSprite:o.a.string,standardSprite:o.a.string,utilitySprite:o.a.string};var Vt=Ge(Wt);var Ut=function(){},zt=n(31),Gt=function(){var e=I.a.apply(void 0,arguments);return""===e?void 0:e},Yt=n(32),Qt=n.n(Yt);function Jt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Xt(t,e,n[e])})}return t}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}function $t(e){Ut(Q,e,zt);var t=e.category,n=e.className,r=e.colorVariant,o=e.containerClassName,a=e.containerStyle,i=e.icon,s=e.inverse,l=e.name,c=e.path,u=e.size,p=e.title,d=e.productTheme,f=e.style;d&&(f=Jt({backgroundColor:Qt.a[d]},f));var m="string"==typeof e.assistiveText?e.assistiveText:Jt({},Zt.assistiveText,e.assistiveText).label,h=l?l.replace(/_/g,"-"):"";return P.a.createElement("span",{className:Gt(Xt({"slds-icon_container":"utility"!==t,"slds-icon_container_circle":"action"===t},"slds-icon-".concat(t,"-").concat(h),"utility"!==t&&"doctype"!==t&&!c),o),style:a,title:p},P.a.createElement(Xe,{"aria-hidden":"true",category:t,className:Gt(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?!s:s,"slds-icon-text-warning":"warning"===r,"slds-icon-text-error":"error"===r,"slds-icon-text-light":"light"===r}),icon:i,name:l,path:c,style:f}),m?P.a.createElement("span",{className:"slds-assistive-text"},m):"")}var Zt={assistiveText:{},category:"standard",colorVariant:"default",size:"medium"};$t.displayName=Q,$t.propTypes={assistiveText:o.a.shape({label:o.a.string}),category:o.a.oneOf(["action","custom","doctype","standard","utility"]).isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),containerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),containerStyle:o.a.object,colorVariant:o.a.oneOf(["base","default","error","light","warning"]),icon:o.a.object,inverse:o.a.bool,name:o.a.string,path:o.a.string,productTheme:o.a.oneOf(["global-setup","service-cloud","industry-cloud","sales-cloud","commerce-cloud","community-cloud","marketing-cloud","quip"]),size:o.a.oneOf(["xx-small","x-small","small","medium","large"]),style:o.a.object,title:o.a.string},$t.defaultProps=Zt;var en=$t;var tn=function(){},nn=n(33);function rn(e){return(rn="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 on(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 an(e){return(an=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function sn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ln(e,t){return(ln=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 un={align:o.a.oneOf(["top","top left","top right","right","right top","right bottom","bottom","bottom left","bottom right","left","left top","left bottom"]).isRequired,assistiveText:o.a.shape({tooltipTipLearnMoreIcon:o.a.string,triggerLearnMoreIcon:o.a.string}),children:o.a.node,content:o.a.node.isRequired,dialogClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),hasStaticAlignment:o.a.bool,hoverCloseDelay:o.a.number,hoverOpenDelay:o.a.number,id:o.a.string,labels:o.a.shape({learnMoreAfter:o.a.string,learnMoreBefore:o.a.string}),isOpen:o.a.bool,triggerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),position:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),triggerStyle:o.a.object,theme:o.a.oneOf(["info","error"]),variant:o.a.oneOf(["base","learnMore","list-item"])},pn={assistiveText:{tooltipTipLearnMoreIcon:"this link",triggerLearnMoreIcon:"Help"},align:"top",content:P.a.createElement("span",null,"Tooltip"),labels:{learnMoreAfter:"to learn more.",learnMoreBefore:"Click"},hoverCloseDelay:50,hoverOpenDelay:0,position:"absolute",theme:"info",variant:"base"},dn=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),cn(sn(t=function(e,t){return!t||"object"!==rn(t)&&"function"!=typeof t?sn(e):t}(this,an(n).call(this,e))),"handleCancel",function(){clearTimeout(t.tooltipTimeout),t.setState({isOpen:!1})}),cn(sn(t),"handleMouseEnter",function(){clearTimeout(t.tooltipTimeout),t.tooltipTimeout=setTimeout(function(){t.isUnmounting||t.setState({isOpen:!0})},t.props.hoverOpenDelay)}),cn(sn(t),"handleMouseLeave",function(){clearTimeout(t.tooltipTimeout),t.tooltipTimeout=setTimeout(function(){t.isUnmounting||t.setState({isOpen:!1})},t.props.hoverCloseDelay)}),cn(sn(t),"saveTriggerRef",function(e){t.trigger=e,t.state.triggerRendered||t.setState({triggerRendered:!0})}),t.state={isOpen:!1},t.tooltipTimeout={},tn(oe,e,nn),t.generatedId=m.a.generate(),t}return 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)}(n,P.a.Component),function(e,t,n){t&&on(e.prototype,t),n&&on(e,n)}(n,[{key:"componentWillUnmount",value:function(){this.isUnmounting=!0}},{key:"getContent",value:function(){var e,n=this,t=0===P.a.Children.count(this.props.children);return e=t&&this.props.onClickTrigger?[P.a.createElement("a",{href:"javascript:void(0)",onClick:this.props.onClickTrigger},P.a.createElement(en,{category:"utility",name:"info",assistiveText:{label:this.props.assistiveText.triggerLearnMoreIcon},size:"x-small"}))]:t?[P.a.createElement(Cn,{"aria-disabled":!0,assistiveText:{icon:this.props.assistiveText.triggerLearnMoreIcon},iconCategory:"utility",iconName:"info",variant:"icon"})]:this.props.children,P.a.Children.map(e,function(e,t){return P.a.cloneElement(e,{key:t,"aria-describedby":n.getIsOpen()?n.getId():void 0,onBlur:n.handleMouseLeave,onFocus:n.handleMouseEnter,onMouseEnter:n.handleMouseEnter,onMouseLeave:n.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?P.a.createElement(Vt,{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()):P.a.createElement("span",null)}},{key:"getTooltipContent",value:function(){return P.a.createElement("div",{className:"slds-popover__body"},this.props.content,"learnMore"===this.props.variant&&this.props.onClickTrigger?P.a.createElement("div",{className:"slds-m-top_x-small","aria-hidden":"true"},this.props.labels.learnMoreBefore," ",P.a.createElement(en,{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.target?this.props.target:this.trigger}},{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){cn(t,e,n[e])})}return t}({display:"inline-block"},this.props.triggerStyle);return P.a.createElement("div",{className:I()("slds-tooltip-trigger",this.props.triggerClassName),style:e,ref:this.saveTriggerRef},this.getContent(),this.getTooltip())}}]),n}();dn.contextTypes={iconPath:o.a.string},dn.displayName="SLDSPopoverTooltip",dn.propTypes=un,dn.defaultProps=pn;var fn=dn;function mn(n){return Object.keys(n).reduce(function(e,t){return"aria-"===t.substr(0,5)&&(e[t]=n[t]),e},{})}var hn=new Set(["form","formAction","formEncType","formMethod","formNoValidate","formTarget"]);function bn(e){return(bn="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 yn(){return(yn=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){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){return(vn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _n(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function On(e,t){return(On=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 Sn={assistiveText:{icon:""},disabled:!1,hint:!1,iconSize:"medium",responsive:!1,type:"button",variant:"neutral"},wn=function(){function t(e){var p;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),xn(_n(p=function(e,t){return!t||"object"!==bn(t)&&"function"!=typeof t?_n(e):t}(this,vn(t).call(this,e))),"getClassName",function(){var e,t="icon"===p.props.variant,n=p.props.iconVariant,r="more"===n,o="border"===n,a="global-header"===n,i="base"!==p.props.variant&&!n&&!p.props.inverse&&"link"!==p.props.variant||"bare"===n,s=p.props.inverse&&!t,l=p.props.inverse&&t&&!r&&!o,c=p.props.inverse&&r,u=p.props.inverse&&o;return"global-header"===n&&(n="container"),I()((xn(e={"slds-button":"link"!==p.props.variant},"slds-button_".concat(p.props.variant),i),xn(e,"slds-button_inverse",s),xn(e,"slds-button_icon-inverse",l||c),xn(e,"slds-button_icon-border-inverse",u),xn(e,"slds-button_icon-".concat(n),n&&!u),xn(e,"slds-global-header__button_icon",a),xn(e,"slds-button_icon-".concat(p.props.iconSize),n&&"medium"!==p.props.iconSize),xn(e,"slds-button_reset","link"===p.props.variant),xn(e,"slds-text-link","link"===p.props.variant),e),p.props.className)}),xn(_n(p),"handleClick",function(e){p.props.onClick&&p.props.onClick(e,{})}),xn(_n(p),"renderIcon",function(e){var t=!p.props.iconSize||p.props.iconVariant?null:p.props.iconSize;return P.a.createElement(tt,{category:p.props.iconCategory||"utility",className:I()({"slds-global-header__icon":"global-header"===p.props.iconVariant},p.props.iconClassName),hint:p.props.hint,inverse:p.props.inverse,name:e,path:p.props.iconPath,position:p.props.iconPosition,size:t})}),xn(_n(p),"renderLabel",function(){var e=p.props.iconName||p.props.iconPath,t="string"==typeof p.props.assistiveText?p.props.assistiveText:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){xn(t,e,n[e])})}return t}({},Sn.assistiveText,p.props.assistiveText).icon;return e&&t?P.a.createElement("span",{className:"slds-assistive-text"},t):p.props.label}),xn(_n(p),"renderButton",function(){var e=mn(p.props),t=function(n){return Object.keys(n).reduce(function(e,t){return hn.has(t)&&(e[t]=n[t]),e},{})}(p.props);return P.a.createElement("button",yn({className:p.getClassName(),disabled:p.props.disabled,id:p.props.id,onBlur:p.props.onBlur,onClick:p.handleClick,onFocus:p.props.onFocus,onKeyDown:p.props.onKeyDown,onKeyPress:p.props.onKeyPress,onKeyUp:p.props.onKeyUp,onMouseDown:p.props.onMouseDown,onMouseEnter:p.props.onMouseEnter,onMouseLeave:p.props.onMouseLeave,onMouseUp:p.props.onMouseUp,ref:function(e){p.props.buttonRef&&p.props.buttonRef(e)},tabIndex:p.props.tabIndex,title:p.props.title,type:p.props.type||"button",style:p.props.style},e,t),"right"===p.props.iconPosition?p.renderLabel():null,p.props.iconName||p.props.iconPath?p.renderIcon(p.props.iconName):null,"more"===p.props.iconVariant?P.a.createElement(tt,{category:"utility",name:"down",size:"x-small",className:p.props.iconClassName}):null,"left"!==p.props.iconPosition&&p.props.iconPosition?null:p.renderLabel(),p.props.children)}),xn(_n(p),"renderTooltip",function(){return P.a.createElement(fn,{content:p.props.tooltip},p.renderButton)}),nt(v,e,rt),p}return 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&&On(e,t)}(t,P.a.Component),function(e,t,n){t&&gn(e.prototype,t),n&&gn(e,n)}(t,[{key:"render",value:function(){return this.props.tooltip?this.renderTooltip():this.renderButton()}}]),t}();xn(wn,"displayName",v),xn(wn,"propTypes",{assistiveText:o.a.shape({icon:o.a.string}),buttonRef:o.a.func,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),disabled:o.a.bool,hint:o.a.bool,iconCategory:_e()(o.a.oneOf(["action","custom","doctype","standard","utility"]),function(e){return!!e.iconName}),iconClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),iconName:o.a.string,iconPath:o.a.string,iconPosition:o.a.oneOf(["left","right"]),iconSize:o.a.oneOf(["x-small","small","medium","large"]),iconVariant:o.a.oneOf(["bare","container","border","border-filled","brand","more","global-header"]),id:o.a.string,inverse:o.a.bool,label:o.a.oneOfType([o.a.string,o.a.node]),onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,onMouseDown:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,onMouseUp:o.a.func,responsive:o.a.bool,tabIndex:o.a.string,type:o.a.oneOf(["reset","submit","button"]),title:o.a.string,tooltip:o.a.node,variant:o.a.oneOf(["base","link","neutral","brand","outline-brand","destructive","success","text-destructive","icon"]),style:o.a.object}),xn(wn,"defaultProps",Sn);function En(e){var t=e.children,n=e.expanded,r=e.id,o=e.panelContentActions,a=e.summary,i=e.title,s=e.onClickSummary,l=e.onKeyDownSummary,c=e.onTogglePanel,u=e.refs;return P.a.createElement("li",{className:"slds-accordion__list-item"},P.a.createElement("section",{className:I()("slds-accordion__section",{"slds-is-open":n})},P.a.createElement("div",{className:"slds-accordion__summary"},P.a.createElement("h3",{className:"slds-text-heading_small slds-accordion__summary-heading slds-has-flexi-truncate"},P.a.createElement(Cn,{"aria-controls":"".concat(r,"-accordion-panel"),"aria-expanded":n,buttonRef:u.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:l,onClick:function(e){s(),c(e)},variant:"base"},P.a.createElement("span",{className:"slds-truncate",title:i||a},a))),o),P.a.createElement("div",{"aria-hidden":!n,className:"slds-accordion__content",id:"".concat(r,"-accordion-panel")},t)))}var Cn=wn,Tn={children:o.a.node,expanded:o.a.bool.isRequired,id:o.a.oneOfType([o.a.number,o.a.string]).isRequired,panelContentActions:o.a.node,onKeyDownSummary:o.a.func,onTogglePanel:o.a.func.isRequired,refs:o.a.shape({summaryButton:o.a.func}),summary:o.a.oneOfType([o.a.string,o.a.node]).isRequired,title:o.a.string},Nn=En;En.propTypes=Tn,En.displayName="SLDSAccordionPanel";var kn=n(4),jn=n.n(kn);var Pn=function(){},In=n(34);function Dn(e){return(Dn="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){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 An(e){return(An=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ln(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bn(e,t){return(Bn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Fn={assistiveText:o.a.shape({closeButton:o.a.oneOfType([o.a.string,o.a.node])}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),dismissible:o.a.bool,icon:o.a.node,labels:o.a.shape({heading:o.a.oneOfType([o.a.string,o.a.node]),headingLink:o.a.oneOfType([o.a.string,o.a.node])}),onClickHeadingLink:o.a.func,onRequestClose:o.a.func,style:o.a.object,variant:o.a.oneOf(["error","info","offline","warning"]).isRequired},Mn={assistiveText:{closeButton:"Close"},labels:{},variant:"info"},qn=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(Ln(t=function(e,t){return!t||"object"!==Dn(t)&&"function"!=typeof t?Ln(e):t}(this,An(n).call(this,e))),"saveButtonRef",function(e){t.closeButton=e,t.state.isInitialRender&&(Tt.storeActiveElement(),t.closeButton&&t.closeButton.focus(),t.setState({isInitialRender:!1}))}),t.state={isInitialRender:!0},Pn("SLDSAlert",e,In),t}return 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&&Bn(e,t)}(n,P.a.Component),function(e,t,n){t&&Rn(e.prototype,t),n&&Rn(e,n)}(n,[{key:"componentWillUnmount",value:function(){Tt.returnFocusToStoredElement()}},{key:"render",value:function(){var e=jn()({},Mn.assistiveText,this.props.assistiveText),t=jn()({},Mn.labels,this.props.labels),n=t.heading||this.props.content,r=this.props.onRequestClose||this.props.onDismiss,o={info:P.a.createElement(en,{category:"utility",name:"info"}),offline:P.a.createElement(en,{category:"utility",name:"offline"}),warning:P.a.createElement(en,{category:"utility",name:"warning"}),error:P.a.createElement(en,{category:"utility",name:"error"})},a=this.props.icon?this.props.icon:o[this.props.variant];this.props.iconName&&this.props.iconCategory&&(a=P.a.createElement(en,{category:this.props.iconCategory,name:this.props.iconName}));var i=P.a.cloneElement(a,{containerClassName:"slds-m-right_x-small",inverse:!0,size:"x-small"});return P.a.createElement("div",{className:Gt("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},P.a.createElement("span",{className:"slds-assistive-text"},{info:"info",warning:"warning",error:"error",offline:"offline"}[this.props.variant]),i,P.a.createElement("h2",null,n," ",t.headingLink?P.a.createElement("a",{onClick:this.props.onClickHeadingLink,href:"javascript:void(0);"},t.headingLink):null),this.props.dismissible?P.a.createElement(Cn,{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)}}]),n}();qn.defaultProps=Mn,qn.displayName="SLDSAlert",qn.propTypes=Fn;var Hn=qn;function Kn(e){return(Kn="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 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!t||"object"!==Kn(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Un(e){return(Un=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function zn(e,t){return(zn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Gn={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),children:o.a.node},Yn=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Vn(this,Un(e).apply(this,arguments))}return 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&&zn(e,t)}(e,P.a.Component),function(e,t,n){t&&Wn(e.prototype,t),n&&Wn(e,n)}(e,[{key:"render",value:function(){return P.a.createElement("div",{className:Gt("slds-notify-container",this.props.className)},this.props.children)}}]),e}();Yn.displayName="SLDSAlertContainer",Yn.propTypes=Gn;var Qn=Yn,Jn=n(5),Xn=n.n(Jn),$n=function(){},Zn=function(){};var er=function(){},tr=n(13),nr=n(20),rr=n.n(nr);var or,ar=function(){},ir="assets/",sr={setAssetsPath:function(e){e&&(ir=e)},getAssetsPath:function(){return String(ir)},setAppElement:function(e){e&&(or=e,rr.a.setAppElement(e))},getAppElement:function(){return or}};var lr=function(){},cr=n(35);function ur(e){return(ur="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 pr(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){dr(t,e,n[e])})}return t}function dr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fr(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 mr(e){return(mr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function hr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function br(e,t){return(br=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var yr="undefined"!=typeof document,gr="undefined"!=typeof window,vr={align:o.a.oneOf(["top","center"]),ariaHideApp:o.a.bool,assistiveText:o.a.shape({dialogLabel:o.a.string,dialogLabelledBy:o.a.string,closeButton:o.a.string}),children:o.a.node.isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),containerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),contentClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),contentStyle:o.a.object,directional:o.a.bool,disableClose:o.a.bool,dismissOnClickOutside:o.a.bool,onRequestClose:o.a.func,footer:o.a.oneOfType([o.a.array,o.a.node]),header:o.a.node,headerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isOpen:o.a.bool.isRequired,parentSelector:o.a.func,portalClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),prompt:o.a.oneOf(["success","warning","error","wrench","offline","info"]),size:o.a.oneOf(["small","medium","large"]),tagline:o.a.node,title:o.a.node,heading:o.a.node,toast:o.a.node},_r={assistiveText:{dialogLabel:"",dialogLabelledBy:"",closeButton:"Close"},align:"center",ariaHideApp:!0},Or=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=function(e,t){return!t||"object"!==ur(t)&&"function"!=typeof t?hr(e):t}(this,mr(n).call(this,e))).state={isClosing:!1},t.handleModalClick=t.handleModalClick.bind(hr(t)),t.closeModal=t.closeModal.bind(hr(t)),t.dismissModalOnClickOutside=t.dismissModalOnClickOutside.bind(hr(t)),t.generatedId=m.a.generate(),ar("SLDSModal",e,cr),e.ariaHideApp&&lr(),t}return 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)}(n,P.a.Component),function(e,t,n){t&&fr(e.prototype,t),n&&fr(e,n)}(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=lt.a.findDOMNode(this);n&&n.parentNode&&n.parentNode.getAttribute("data-slds-modal")&&(lt.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";return pr({},this.props.title||this.props.heading||this.props.header?{}:{borderTopLeftRadius:e,borderTopRightRadius:e},this.props.footer?{}:{borderBottomLeftRadius:e,borderBottomRightRadius:e})}},{key:"getModal",value:function(){var e="top"===this.props.align?{justifyContent:"flex-start"}:null,t=pr({},this.getBorderRadius(),this.props.contentStyle||{}),n=null;return this.props.assistiveText.dialogLabelledBy?n=this.props.assistiveText.dialogLabelledBy:this.props.assistiveText.dialogLabel||!this.props.heading&&!this.props.title||(n="".concat(this.getId(),"-heading")),P.a.createElement("section",{"aria-describedby":"".concat(this.getId(),"-modal-content"),"aria-label":this.props.assistiveText.dialogLabel,"aria-labelledby":n,"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"},P.a.createElement("div",{className:I()("slds-modal__container",this.props.containerClassName),style:e},this.headerComponent(),P.a.createElement("div",{className:I()("slds-modal__content",this.props.contentClassName),id:"".concat(this.getId(),"-modal-content"),style:t,onClick:this.handleModalClick},this.props.children),this.footerComponent()))}},{key:"setReturnFocus",value:function(){this.setState({returnFocusTo:yr?document.activeElement:null})}},{key:"clearBodyScroll",value:function(){gr&&yr&&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=P.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=pr({},_r.assistiveText,this.props.assistiveText),o=this.props.closeButtonAssistiveText||r.closeButton,a=P.a.createElement(Cn,{assistiveText:{icon:o},iconCategory:"utility",iconName:"close",iconSize:"large",inverse:!0,className:"slds-button_icon slds-modal__close",onClick:this.closeModal,title:o,variant:"icon"});return(!t&&(this.props.heading||this.props.title)||this.props.tagline)&&(t=P.a.createElement("div",null,this.props.toast,P.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?P.a.createElement("p",{className:"slds-m-top_x-small"},this.props.tagline):null)),P.a.createElement("header",{className:I()("slds-modal__header",(e={"slds-modal__header_empty":n},dr(e,"slds-theme_".concat(this.props.prompt),this.isPrompt()),dr(e,"slds-theme_alert-texture",this.isPrompt()),e),this.props.headerClassName),onClick:this.handleModalClick},this.props.disableClose?null:a,t)}},{key:"isPrompt",value:function(){return void 0!==this.props.prompt}},{key:"updateBodyScroll",value:function(){gr&&yr&&document.body&&(this.props.isOpen?document.body.style.overflow="hidden":document.body.style.overflow="inherit")}},{key:"render",value:function(){return P.a.createElement(rr.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(),P.a.createElement("div",{className:"slds-backdrop slds-backdrop_open"}))}}]),n}();Or.displayName="SLDSModal",Or.propTypes=vr,Or.defaultProps=_r;var xr=Or;function Sr(e){return(Sr="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){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){return(Er=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Cr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Tr(e,t){return(Tr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Nr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var kr={assistiveText:{trigger:"Open App Launcher"},ariaHideApp:!0,title:"App Launcher"},jr=function(){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Nr(Cr(n=function(e,t){return!t||"object"!==Sr(t)&&"function"!=typeof t?Cr(e):t}(this,Er(t).call(this,e))),"openAppLauncher",function(e){n.setState({isOpen:!0}),Xn()(n.props.triggerOnClick)&&n.props.triggerOnClick(e,{})}),Nr(Cr(n),"closeAppLauncher",function(e){n.setState({isOpen:!1}),Xn()(n.props.onClose)&&n.props.onClose(e,{})}),Nr(Cr(n),"renderSearch",function(){var e;return n.props.search&&(e=P.a.createElement("div",{className:"slds-app-launcher__header-search",ref:function(e){if(e){if(!n.focusedOnSearch){var t=e.querySelector("input");t&&setTimeout(function(){t.focus(),n.focusedOnSearch=!0},0)}}else n.focusedOnSearch=!1}},n.props.search)),e}),n.generatedId=m.a.generate(),n.state={isOpen:!1},er(l,e,tr),n}return 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&&Tr(e,t)}(t,P.a.Component),function(e,t,n){t&&wr(e.prototype,t),n&&wr(e,n)}(t,[{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=P.a.createElement(P.a.Fragment,null,P.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:P.a.createElement("span",{className:"slds-size_1-of-7"})),r=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Nr(t,e,n[e])})}return t}({},kr.assistiveText,this.props.assistiveText),o=this.props.triggerAssistiveText||r.trigger;return P.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},P.a.createElement("div",{className:"slds-context-bar__icon-action"},P.a.createElement("button",{"aria-haspopup":"true",className:"slds-button slds-icon-waffle_container slds-context-bar__button",onClick:this.openAppLauncher,title:o,type:"button"},P.a.createElement("span",{className:"slds-icon-waffle"},P.a.createElement("span",{className:"slds-r1"}),P.a.createElement("span",{className:"slds-r2"}),P.a.createElement("span",{className:"slds-r3"}),P.a.createElement("span",{className:"slds-r4"}),P.a.createElement("span",{className:"slds-r5"}),P.a.createElement("span",{className:"slds-r6"}),P.a.createElement("span",{className:"slds-r7"}),P.a.createElement("span",{className:"slds-r8"}),P.a.createElement("span",{className:"slds-r9"})),o&&P.a.createElement("span",{className:"slds-assistive-text"},o))),P.a.createElement(xr,{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?P.a.createElement("span",{className:"slds-context-bar__label-action slds-context-bar__app-name"},this.props.noTruncate?this.props.triggerName:P.a.createElement("span",{className:"slds-truncate",title:this.props.triggerName},this.props.triggerName)):null)}}]),t}();Nr(jr,"displayName",l),Nr(jr,"propTypes",{assistiveText:o.a.shape({trigger:o.a.string}),ariaHideApp:o.a.bool,children:o.a.node.isRequired,id:o.a.string,isOpen:o.a.bool,modalClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),modalHeaderButton:o.a.node,noTruncate:o.a.bool,onClose:o.a.func,search:o.a.node,title:o.a.string,triggerName:o.a.node,triggerOnClick:o.a.func}),Nr(jr,"defaultProps",kr);var Pr=jr;function Ir(e){return(Ir="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(){return(Dr=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 Rr(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 Ar(e){return(Ar=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Lr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Br(e,t){return(Br=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Fr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Mr={assistiveText:o.a.shape({toggleSection:o.a.string}),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isOpen:o.a.bool,nonCollapsible:o.a.bool,onToggleOpen:o.a.func,title:o.a.string.isRequired},qr=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),Fr(Lr(t=function(e,t){return!t||"object"!==Ir(t)&&"function"!=typeof t?Lr(e):t}(this,Ar(n).call(this,e))),"getId",function(){return t.props.id||t.generatedId}),Fr(Lr(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=m.a.generate(),t.state={isOpen:!0},t}return 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)}(n,P.a.Component),function(e,t,n){t&&Rr(e.prototype,t),n&&Rr(e,n)}(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=P.a.createElement("span",{className:I()("slds-truncate",{"slds-p-horizontal_small":!!this.props.nonCollapsible}),title:this.props.title},this.props.title);return P.a.createElement("div",{className:I()("slds-section",{"slds-is-open":t},this.props.className)},P.a.createElement("h3",{className:I()("slds-section__title",{"slds-theme_shade":!!this.props.nonCollapsible})},this.props.nonCollapsible?r:P.a.createElement(Cn,Dr({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)),P.a.createElement("div",{"aria-hidden":!t,className:"slds-section__content",id:e},this.props.children))}}]),n}();qr.displayName="SLDSExpandableSection",qr.propTypes=Mr,qr.defaultProps={assistiveText:{toggleSection:"Toggle visibility of section"},nonCollapsible:!1};var Hr=qr;function Kr(e){return(Kr="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){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 Vr(e){return(Vr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ur(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zr(e,t){return(zr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Gr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Yr=function(){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Gr(Ur(n=function(e,t){return!t||"object"!==Kr(t)&&"function"!=typeof t?Ur(e):t}(this,Vr(t).call(this,e))),"state",{isOpen:!0}),Gr(Ur(n),"toggleOpen",function(e,t){n.props.onToggleOpen?n.props.onToggleOpen(e,t):n.setState(function(e){return{isOpen:!e.isOpen}})}),er(c,e,tr),n}return 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)}(t,P.a.Component),function(e,t,n){t&&Wr(e.prototype,t),n&&Wr(e,n)}(t,[{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Gr(t,e,n[e])})}return t}({},this.props,{isOpen:void 0!==this.props.isOpen?this.props.isOpen:this.state.isOpen,onToggleOpen:this.toggleOpen}),n="tiles",t=P.a.Children.map(this.props.children,function(e){var t="slds-p-horizontal_small slds-size_1-of-1 slds-medium-size_1-of-3";return(e&&e.type&&e.type.displayName!==u||e&&!e.type)&&(n="links"),"links"===n&&(t="slds-col_padded slds-p-vertical_xx-small slds-size_1-of-5"),P.a.createElement("li",{className:t},e)});return P.a.createElement(Hr,e,P.a.createElement("ul",{className:I()("slds-grid slds-wrap",{"slds-grid_pull-padded":"tiles"===n})},t))}}]),t}();Gr(Yr,"displayName",c),Gr(Yr,"propTypes",{assistiveText:o.a.shape({toggleSection:o.a.string}),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isOpen:o.a.bool,nonCollapsible:o.a.bool,onToggleOpen:o.a.func,title:o.a.string.isRequired});function Qr(t){if(t.search){var e;if("string"==typeof t.children)e=P.a.createElement($r.a,{className:t.className,matchClass:null,matchElement:"mark",search:t.search,title:t.children},t.children);else{if(t.children.props){var n=t.children.props.children;e=n instanceof Array?n.map(function(e){return"string"==typeof e?P.a.createElement($r.a,{key:e,className:t.className,matchClass:null,matchElement:"mark",search:t.search,title:e},e):e}):n}}return P.a.createElement("span",null,e)}return"string"==typeof t.children?P.a.createElement("span",{className:t.className,title:t.children},t.children):P.a.createElement("span",{className:t.className},t.children)}var Jr=Yr,Xr=n(25),$r=n.n(Xr);Qr.displayName="SLDSHighlighter",Qr.propTypes={children:o.a.oneOfType([o.a.string,o.a.number,o.a.bool,o.a.node]),className:o.a.string,search:o.a.any};var Zr=Qr;function eo(e){return(eo="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 to(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 no(e,t){return!t||"object"!==eo(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function ro(e){return(ro=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function oo(e,t){return(oo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ao(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var io=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),no(this,ro(e).apply(this,arguments))}return 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&&oo(e,t)}(e,P.a.Component),function(e,t,n){t&&to(e.prototype,t),n&&to(e,n)}(e,[{key:"render",value:function(){var t=this,e=this.props.title;return e||"string"!=typeof this.props.children||(e=this.props.children),P.a.createElement("a",{href:this.props.href,className:I()("slds-truncate",this.props.className),onClick:function(e){t.props.onClick&&(e.preventDefault(),t.props.onClick(e,{href:t.props.href}))},title:e},P.a.createElement(Zr,{search:this.props.search},this.props.children))}}]),e}();ao(io,"displayName","SLDSAppLauncherLink"),ao(io,"propTypes",{children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),href:o.a.string,onClick:o.a.func,search:o.a.string,title:o.a.string}),ao(io,"defaultProps",{href:"javascript:void(0);"});var so=io,lo=n(36),co=n.n(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){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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}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){return(mo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ho(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function bo(e,t){return(bo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 go,vo,_o="undefined"!=typeof document,Oo=function(){};_o&&(go=document.createElement("canvas"),document.createDocumentFragment().appendChild(go),vo=go.getContext("2d"),Oo=co()(function(e,t){return vo.font=t,vo.measureText(e).width}));var xo=function(){function o(){var e,k;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return yo(ho(k=function(e,t){return!t||"object"!==uo(t)&&"function"!=typeof t?ho(e):t}(this,(e=mo(o)).call.apply(e,[this].concat(n)))),"state",{}),yo(ho(k),"onResize",function(){k.update(k.props)}),yo(ho(k),"getRenderText",function(e,t){if(e){k.scope=e;var n=t||k.props,r=(n.containerClassName,n.line),o=n.prefix,a=n.suffix,i=n.text,s=n.textTruncateChild,l=n.truncateText,c=n.wrapper,u=po(n,["containerClassName","line","prefix","suffix","text","textTruncateChild","truncateText","wrapper"]),p=k.scope.getBoundingClientRect().width,d=window.getComputedStyle(k.scope),f=[d["font-weight"],d["font-style"],d["font-size"],d["font-family"]].join(" ");if(0!==p){var m,h,b=i;if(p<Oo(i,f)){for(var y=1,g=i.length,v="",_=0,O=0,x=r,S=0,w=!1,E=-1;0!==x;){var C="",T=0;for(o&&x===r-1&&(C+=" ".concat(o),T=.66*o.length),x||(C+=l,a&&(C+=" ".concat(a)));y<=g;){if(v=i.substr(O,y),!((S=Oo(v+C,f)+T)<p)){var N=0;do{if(y-=1," "===(v=i.substr(O,y))[v.length-1]&&(v=i.substr(O,y-1)),w&&-1<(E=v.lastIndexOf(" "))&&(y=E,v=i.substr(O,y)),(S=Oo(v+C,f)+T)===N){y=0;break}N=S}while(p<=S);O+=y;break}-1===(_=i.indexOf(" ",y+1))?(y+=1,w=!1):(w=!0,y=_)}if(g<=y){O=g;break}x-=1}O!==g&&(b="".concat(i.substr(0,O)).concat(l," "),m=s)}h=c?c(b,m):P.a.createElement("div",u,b,m),k.setState({renderText:h})}else k.setState({renderText:null})}}),yo(ho(k),"update",function(e){k.getRenderText(k.scope,e)}),k}return 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)}(o,P.a.Component),function(e,t,n){t&&fo(e.prototype,t),n&&fo(e,n)}(o,[{key:"componentDidMount",value:function(){window.addEventListener("resize",this.onResize,!1)}},{key:"componentWillReceiveProps",value:function(e){this.update(e)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onResize,!1)}},{key:"render",value:function(){var e=this.props.containerClassName;return P.a.createElement("div",{ref:this.getRenderText,className:e,style:{overflow:"hidden"}},this.state.renderText)}}]),o}();yo(xo,"displayName","TextTruncate"),yo(xo,"propTypes",{containerClassName:o.a.string,line:o.a.number,prefix:o.a.string,suffix:o.a.string,text:o.a.string,textTruncateChild:o.a.node,truncateText:o.a.string,wrapper:o.a.func}),yo(xo,"defaultProps",{line:1,text:"",truncateText:"…"});var So=xo;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(){return(Eo=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 Co(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 To(e){return(To=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function No(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ko(e,t){return(ko=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var jo={assistiveText:o.a.shape({dragIconText:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),description:o.a.string,descriptionHeading:o.a.string,href:o.a.string,iconBackgroundColor:o.a.string,iconNode:o.a.node,iconText:o.a.string,isOpenTooltip:o.a.bool,moreLabel:o.a.string,onClick:o.a.func,search:o.a.string,title:o.a.string.isRequired},Po=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(No(t=function(e,t){return!t||"object"!==wo(t)&&"function"!=typeof t?No(e):t}(this,To(n).call(this,e))),"handleClick",function(e){t.props.onClick&&(e.preventDefault(),t.props.onClick(e,{href:t.props.href}))}),er(u,e,tr),t}return 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)}(n,P.a.Component),function(e,t,n){t&&Co(e.prototype,t),n&&Co(e,n)}(n,[{key:"render",value:function(){var n=this,e={};return this.props.iconBackgroundColor&&(e.backgroundColor=this.props.iconBackgroundColor),P.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"},P.a.createElement("div",{className:"slds-app-launcher__tile-figure"},this.props.iconNode||P.a.createElement("span",{className:"slds-avatar slds-avatar_large"},P.a.createElement("abbr",{className:"slds-avatar__initials slds-icon-custom-27",style:e,title:this.props.title},this.props.iconText)),P.a.createElement("div",{className:"slds-m-top_xxx-small"},P.a.createElement(Cn,Eo({assistiveText:{icon:this.props.assistiveText.dragIconText},iconCategory:"utility",iconName:"rows",title:this.props.assistiveText.dragIconText,variant:"icon"},{"aria-pressed":!1})))),P.a.createElement("div",{className:"slds-app-launcher__tile-body"},P.a.createElement("a",{href:this.props.href},P.a.createElement(Zr,{search:this.props.search},this.props.title)),P.a.createElement(So,{line:2,prefix:this.props.descriptionHeading&&this.props.descriptionHeading.toUpperCase(),suffix:this.props.moreLabel,text:this.props.description,textTruncateChild:P.a.createElement(fn,{align:"bottom",content:P.a.createElement(Zr,{search:this.props.search},this.props.description),isOpen:this.props.isOpenTooltip},P.a.createElement(Cn,{className:"slds-button_reset slds-text-link",variant:"base"},this.props.moreLabel)),wrapper:function(e,t){return P.a.createElement(P.a.Fragment,null,n.props.descriptionHeading&&P.a.createElement("div",{className:"slds-text-heading_label",style:{letterSpacing:"0.025rem"}},n.props.descriptionHeading," "),P.a.createElement(Zr,{search:n.props.search},e),t&&" ",t)}})))}}]),n}();Po.displayName=u,Po.defaultProps={assistiveText:{dragIconText:"Reorder"},href:"javascript:void(0);",moreLabel:" More"},Po.propTypes=jo;var Io=Po;var Do=function(){},Ro=n(37);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,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}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 Fo(e,t){return!t||"object"!==Ao(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Mo(e){return(Mo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qo(e,t){return(qo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Ho={assistiveText:o.a.shape({icon:o.a.string}),imgAlt:o.a.string,imgSrc:o.a.string,initials:o.a.string,inverse:o.a.bool,label:o.a.string,variant:o.a.oneOf(["entity","user"]).isRequired,size:o.a.oneOf(["x-small","small","medium","large"]).isRequired,title:o.a.string},Ko={assistiveText:{icon:"User or Account Icon"},imgAlt:"",size:"medium",title:"user avatar",variant:"user"},Wo=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=Fo(this,Mo(n).call(this,e))).state={imgLoadError:!1},Do(p,e,Ro),t}return 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)}(n,P.a.Component),function(e,t,n){t&&Bo(e.prototype,t),n&&Bo(e,n)}(n,[{key:"buildInitials",value:function(){var e=this.props.label.trim(),t=e.split(" ");return 1<t.length?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,o=t.title;return P.a.createElement("img",{alt:n,src:r,onError:function(){return e.handleImageError()},title:o})}},{key:"renderIconAvatar",value:function(){var e=this.props.variant,t="string"==typeof this.props.assistiveText?this.props.assistiveText:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Lo(t,e,n[e])})}return t}({},Ko.assistiveText,this.props.assistiveText).icon;return P.a.createElement(en,{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,o=e.variant;return P.a.createElement("abbr",{className:Gt("slds-avatar__initials",{"slds-avatar__initials_inverse":n,"slds-icon-standard-account":"entity"===o,"slds-icon-standard-user":"user"===o}),title:r},t||this.buildInitials())}},{key:"render",value:function(){var e=this,t=this.props,n=t.imgSrc,r=t.initials,o=t.variant,a=t.label,i=t.size;return P.a.createElement("div",null,P.a.createElement("span",{className:Gt("slds-avatar",{"slds-avatar_circle":"user"===o,"slds-avatar_x-small":"x-small"===i,"slds-avatar_small":"small"===i,"slds-avatar_medium":"medium"===i,"slds-avatar_large":"large"===i})},!e.state.imgLoadError&&n?e.renderBaseAvatar():r||a&&a.trim()?e.renderInitialsAvatar():e.renderIconAvatar()))}}]),n}();Wo.defaultProps=Ko,Wo.displayName="SLDSAvatar",Wo.propTypes=Ho;var Vo=Wo;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 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 Go(e,t){return!t||"object"!==Uo(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Yo(e){return(Yo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Qo(e,t){return(Qo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Jo=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=Go(this,Yo(n).call(this,e))).generatedId=m.a.generate(),t}return 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)}(n,P.a.Component),function(e,t,n){t&&zo(e.prototype,t),n&&zo(e,n)}(n,[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=P.a.createElement("span",{className:I()("slds-badge__icon","slds-badge__icon_".concat(this.props.iconAlignment)),style:this.props.style},this.props.icon);return P.a.createElement("span",{id:this.getId(),className:I()("slds-badge",{"slds-badge_inverse":"inverse"===this.props.color,"slds-badge_lightest":"light"===this.props.color},this.props.className)},"left"===this.props.iconAlignment?P.a.createElement(P.a.Fragment,null,e,this.props.content):P.a.createElement(P.a.Fragment,null,this.props.content,e))}}]),n}();Jo.displayName="SLDSBadge",Jo.propTypes={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,style:o.a.object,color:o.a.oneOf(["default","inverse","light"]),iconAlignment:o.a.oneOf(["left","right"]),content:o.a.oneOfType([o.a.string,o.a.node])},Jo.defaultProps={iconAlignment:"left",color:"default"};var Xo=Jo;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 Zo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ea(e,t){return!t||"object"!==$o(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function ta(e){return(ta=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function na(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 ra(e,t,n){return t&&na(e.prototype,t),n&&na(e,n),e}function oa(e,t){return(oa=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var aa=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=ea(this,ta(n).call(this,e))).generatedId=m.a.generate(),t}return 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&&oa(e,t)}(n,P.a.Component),ra(n,null,[{key:"injectLightningBlueStyles",value:function(){return P.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}")}}]),ra(n,[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this.props;return P.a.createElement("div",{style:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Zo(t,e,n[e])})}return t}({background:"rgb(176, 196, 223)",height:"100%",position:"relative",width:"100%",zIndex:1},e.styleContainer)},n.injectLightningBlueStyles(),P.a.createElement("div",{className:Gt("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}();aa.displayName="SLDSBrandBand",aa.propTypes={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,image:o.a.oneOf(["default","none"]),backgroundSize:o.a.oneOf(["contain","cover"]),size:o.a.oneOf(["small","medium","large"]),style:o.a.object,styleContainer:o.a.object,theme:o.a.oneOf(["default","lightning-blue"])},aa.defaultProps={backgroundSize:"contain",image:"default",size:"medium",theme:"default"};var ia=aa;var sa=function(){},la=n(38);var ca,ua,pa=(void 0===ca&&(ca=0),function(){return++ca}),da={},fa={},ma=["touchstart","touchmove"];function ha(e,t){var n=null;return-1!==ma.indexOf(t)&&ua&&(n={passive:!e.props.preventDefault}),n}function ba(e){return P.a.createElement("span",{className:"slds-truncate",title:e.label},e.icon,e.label)}var ya=function(r,o){var e,t,a=r.displayName||r.name||"Component";return t=e=function(t){function e(e){var n;return(n=t.call(this,e)||this).__outsideClickHandler=function(e){if("function"!=typeof n.__clickOutsideHandlerProp){var t=n.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 n.__clickOutsideHandlerProp(e)},n.__getComponentNode=function(){var e=n.getInstance();return o&&"function"==typeof o.setClickOutsideRef?o.setClickOutsideRef()(e):"function"==typeof e.setClickOutsideRef?e.setClickOutsideRef():Object(st.findDOMNode)(e)},n.enableOnClickOutside=function(){if("undefined"!=typeof document&&!fa[n._uid]){void 0===ua&&(ua=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}}()),fa[n._uid]=!0;var e=n.props.eventTypes;e.forEach||(e=[e]),da[n._uid]=function(e){null!==n.componentNode&&(n.props.preventDefault&&e.preventDefault(),n.props.stopPropagation&&e.stopPropagation(),n.props.excludeScrollbar&&function(e){return document.documentElement.clientWidth<=e.clientX||document.documentElement.clientHeight<=e.clientY}(e)||function(e,t,n){if(e===t)return!0;for(;e.parentNode;){if(o=n,(r=e)===t||(r.correspondingElement?r.correspondingElement.classList.contains(o):r.classList.contains(o)))return!0;e=e.parentNode}var r,o;return e}(e.target,n.componentNode,n.props.outsideClickIgnoreClass)===document&&n.__outsideClickHandler(e))},e.forEach(function(e){document.addEventListener(e,da[n._uid],ha(n,e))})}},n.disableOnClickOutside=function(){delete fa[n._uid];var t=da[n._uid];if(t&&"undefined"!=typeof document){var e=n.props.eventTypes;e.forEach||(e=[e]),e.forEach(function(e){return document.removeEventListener(e,t,ha(n,e))}),delete da[n._uid]}},n.getRef=function(e){return n.instanceRef=e},n._uid=pa(),n}!function(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t}(e,t);var n=e.prototype;return n.getInstance=function(){if(!r.prototype.isReactComponent)return this;var e=this.instanceRef;return e.getInstance?e.getInstance():e},n.componentDidMount=function(){if("undefined"!=typeof document&&document.createElement){var e=this.getInstance();if(o&&"function"==typeof o.handleClickOutside&&(this.__clickOutsideHandlerProp=o.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()}},n.componentDidUpdate=function(){this.componentNode=this.__getComponentNode()},n.componentWillUnmount=function(){this.disableOnClickOutside()},n.render=function(){var e=this.props,t=(e.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],0<=t.indexOf(n)||(o[n]=e[n]);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,["excludeScrollbar"]));return r.prototype.isReactComponent?t.ref=this.getRef:t.wrappedRef=this.getRef,t.disableOnClickOutside=this.disableOnClickOutside,t.enableOnClickOutside=this.enableOnClickOutside,Object(s.createElement)(r,t)},e}(s.Component),e.displayName="OnClickOutside("+a+")",e.defaultProps={eventTypes:["mousedown","touchstart"],excludeScrollbar:o&&o.excludeScrollbar||!1,outsideClickIgnoreClass:"ignore-react-onclickoutside",preventDefault:!1,stopPropagation:!1},e.getClass=function(){return r.getClass?r.getClass():r},t};ba.displayName="SLDSListItemLabel",ba.propTypes={data:o.a.object,icon:o.a.node,index:o.a.number,inverted:o.a.bool,isSelected:o.a.bool,label:o.a.string,value:o.a.any},ba.defaultProps={data:{},index:0,inverted:!1,isSelected:!1,label:"",value:null};var ga=ba;function va(e){return(va="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(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ca(t,e,n[e])})}return t}function Oa(){return(Oa=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 xa(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 Sa(e){return(Sa=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function wa(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ea(e,t){return(Ea=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ca(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ta=function(){function a(){var e,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return Ca(wa(r=function(e,t){return!t||"object"!==va(t)&&"function"!=typeof t?wa(e):t}(this,(e=Sa(a)).call.apply(e,[this].concat(n)))),"getLabel",function(){var e=r.props.labelRenderer;return P.a.createElement(e,{checkmark:r.props.checkmark,data:r.props.data,icon:r.getIcon("left"),index:r.props.index,inverted:r.props.inverted,isSelected:r.props.isSelected,label:r.props.label,value:r.props.value})}),Ca(wa(r),"getIcon",function(e){var t=["slds-icon-text-default"],n=r.props["".concat(e,"Icon")];return"left"===e?(r.props.checkmark&&(t.push("slds-icon_selected"),n={category:"utility",name:"check"}),t.push("slds-m-right_x-small")):t.push("slds-m-left_small"),n?P.a.createElement(en,Oa({className:I()(t),position:e,size:"x-small"},n)):null}),Ca(wa(r),"handleClick",function(e){"link"===r.props.type&&"javascript:void(0);"!==r.props.href||gt.trapImmediate(e),r.props.onSelect&&r.props.onSelect(r.props.index)}),Ca(wa(r),"handleMouseDown",function(e){gt.trapImmediate(e)}),r}return 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)}(a,P.a.Component),function(e,t,n){t&&xa(e.prototype,t),n&&xa(e,n)}(a,[{key:"render",value:function(){switch(this.props.type){case"header":return P.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"},P.a.createElement("span",null,this.props.label));case"divider":return P.a.createElement("li",{className:I()("slds-has-divider",this.props.className),onMouseDown:this.handleMouseDown,role:"separator"});case"link":case"item":default:var e=P.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=Oa({},this.props.tooltipTemplate.props),n=_a({},t,{content:this.props.tooltipContent,id:"".concat(this.props.id,"-tooltip"),triggerStyle:_a({width:"100%"},t.triggerStyle||{})});e=P.a.cloneElement(this.props.tooltipTemplate,n,e)}return P.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)}}}]),a}();Ca(Ta,"displayName","SLDSListItem"),Ca(Ta,"propTypes",{"aria-disabled":o.a.bool,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),checkmark:o.a.bool,data:o.a.object,divider:o.a.oneOf(["top","bottom"]),href:o.a.string,id:o.a.string.isRequired,index:o.a.number.isRequired,inverted:o.a.bool,isSelected:o.a.bool,label:o.a.string,labelRenderer:o.a.func,leftIcon:o.a.shape({category:o.a.string,name:o.a.string}),onSelect:o.a.func.isRequired,rightIcon:o.a.shape({category:o.a.string,name:o.a.string}),tooltipContent:o.a.oneOfType([o.a.node,o.a.string]),tooltipTemplate:o.a.node,type:o.a.string,value:o.a.any}),Ca(Ta,"defaultProps",{data:{},href:"javascript:void(0);",inverted:!1,isSelected:!1,label:"",labelRenderer:ga,value:null});var Na=Ta;function ka(e){return(ka="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 Pa(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 Ia(e,t){return!t||"object"!==ka(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Da(e){return(Da=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ra(e,t){return(Ra=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Aa(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var La=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ia(this,Da(e).apply(this,arguments))}return 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&&Ra(e,t)}(e,P.a.Component),function(e,t,n){t&&Pa(e.prototype,t),n&&Pa(e,n)}(e,[{key:"render",value:function(){var e,t,a=this;return this.props.length&&(e="slds-dropdown_length-".concat(this.props.length)),t=P.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 n=a.props.getListItemId(t),r=t===a.props.selectedIndex,o=!!a.props.selectedIndices&&-1!==a.props.selectedIndices.indexOf(t);return P.a.createElement(Na,ja({},e,{"aria-disabled":e.disabled,checkmark:a.props.checkmark&&(r||o),data:e,id:n,index:t,isSelected:r||o,key:"".concat(n,"-").concat(e.value),labelRenderer:a.props.itemRenderer,onSelect:a.props.onSelect,ref:function(e){return a.props.itemRefs(e,t)},tooltipTemplate:a.props.tooltipMenuItem}))})),this.props.tooltipMenuItem&&(t=P.a.createElement(P.a.Fragment,null,P.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}}]),e}();Aa(La,"displayName","SLDSList"),Aa(La,"propTypes",{checkmark:o.a.bool,className:o.a.string,getListItemId:o.a.func,itemRefs:o.a.func,itemRenderer:o.a.func,length:o.a.oneOf([null,"5","7","10",5,7,10]),onSelect:o.a.func,options:o.a.array,selectedIndex:o.a.number,tooltipMenuItem:o.a.node,triggerId:o.a.string}),Aa(La,"defaultProps",{length:"5",options:[],selectedIndex:-1});var Ba=La;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(){return(Ma=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 qa(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}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 Ka(e,t){return!t||"object"!==Fa(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Wa(e){return(Wa=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Va(e,t){return(Va=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ua(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var za=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ka(this,Wa(e).apply(this,arguments))}return 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&&Va(e,t)}(e,P.a.Component),function(e,t,n){t&&Ha(e.prototype,t),n&&Ha(e,n)}(e,[{key:"render",value:function(){var e=this.props,t=e.assistiveText,n=(e.children,e.className),r=e.id,o=(e.isInline,e.isOpen),a=e.onBlur,i=e.menu,s=e.onClick,l=e.onFocus,c=e.onKeyDown,u=e.onMouseDown,p=e.onMouseEnter,d=e.onMouseLeave,f=e.triggerRef,m=e.triggerClassName,h=qa(e,["assistiveText","children","className","id","isInline","isOpen","onBlur","menu","onClick","onFocus","onKeyDown","onMouseDown","onMouseEnter","onMouseLeave","triggerRef","triggerClassName"]),b="hover"===this.props.openOn?"click":this.props.openOn,y={};return 0!==P.a.Children.count(this.props.children)&&P.a.Children.forEach(this.props.children,function(e){e&&e.type.displayName===Cn.displayName&&(y=e.props)}),P.a.createElement("div",{className:I()("slds-dropdown-trigger slds-dropdown-trigger_".concat(b),{"slds-is-open":o},m),id:r,onBlur:a,onClick:s,onKeyDown:c,onFocus:l,onMouseDown:u,onMouseEnter:p,onMouseLeave:d},P.a.createElement(Cn,Ma({assistiveText:t,className:n,"aria-expanded":o,"aria-haspopup":!0},h,y,{buttonRef:f})),i)}}]),e}();Ua(za,"displayName",$),Ua(za,"propTypes",{children:o.a.element,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isOpen:o.a.bool,menu:o.a.node,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onMouseDown:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,openOn:o.a.oneOf(["hover","click","hybrid"]),triggerRef:o.a.func,triggerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string])});var Ga=za;var Ya=function(){},Qa=n(39);var Ja=function(){var t=this;return this.buffer="",function(e){return t.timeout&&(clearTimeout(t.timeout),t.timeout=void 0),t.timeout=setTimeout(function(){t.buffer=""},400),t.buffer=t.buffer+e,t.buffer}},Xa=n(11),$a=n.n(Xa);function Za(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){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(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var ei=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,d=e.toggleOpen,f=l.indexes,m=f.length-1,h=i||String.fromCharCode(s);h=/^[ -~]$/.test(h)?h.toLowerCase():null;var b=s===_t.ENTER||s===_t.SPACE||s===_t.UP;if(s===_t.ESCAPE)o&&d();else if(o)if(s===_t.ENTER||s===_t.SPACE)u(r);else{var y=f.indexOf(r);if(s===_t.DOWN)if(y<m){t=f[y+1]}else{var g=Za(f,1);t=g[0]}else if(s===_t.UP){if(0<y)t=f[y-1];else t=f[m]}else if(h){var v=l.keyBuffer(h),_=0;1<v.length&&new RegExp("^[".concat($a()(h),"]+$")).test(v)&&(_=v.length),l.forEach(function(e){(void 0===t&&e.text.substr(0,v.length)===v||0<_&&e.text.substr(0,1)===h)&&(_-=1,t=e.index)})}}else{var O=Za(f,1);t=O[0],(b||h)&&d(),b&&n.trigger&<.a.findDOMNode(n.trigger)===p&&n.handleClick(a)}return c(t),t};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 ni(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){li(t,e,n[e])})}return t}function ri(){return(ri=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 oi(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 ai(e){return(ai=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ii(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function si(e,t){return(si=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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}var ci,ui="undefined"!=typeof document,pi=ui?document.createElement("span"):{style:{}};pi.style.top=0,pi.style.left=0,pi.style.width="100%",pi.style.height="100%",pi.style.position="absolute";function di(){}function fi(e){var n=[];return n.indexes=[],n.keyBuffer=new Ja,Array.isArray(e)&&e.forEach(function(e,t){!function(e){return"header"!==e.type&&"divider"!==e.type&&!e.disabled}(e)||(n.push({index:t,text:"".concat(e.label).toLowerCase()}),n.indexes.push(t))}),n}var mi={top:"bottom","top left":"bottom left","top right":"bottom right",bottom:"top","bottom left":"top left","bottom right":"top right"},hi={align:o.a.oneOf(["center","left","right"]),assistiveText:o.a.object,buttonClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),buttonInverse:o.a.bool,buttonVariant:o.a.oneOf(["base","neutral","brand","destructive","icon"]),checkmark:o.a.bool,children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),containerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),disabled:o.a.bool,hasStaticAlignment:o.a.bool,hint:o.a.bool,hoverCloseDelay:o.a.number,iconCategory:_e()(o.a.oneOf(["action","custom","doctype","standard","utility"]),function(e){return!!e.iconName}),iconName:o.a.string,iconPosition:o.a.oneOf(["left","right"]),iconVariant:o.a.oneOf(["bare","container","border","border-filled","small","more"]),iconSize:o.a.oneOf(["x-small","small","medium","large"]),id:o.a.string,inverse:o.a.bool,isOpen:o.a.bool,label:o.a.oneOfType([o.a.string,o.a.node]),listItemRenderer:o.a.func,length:o.a.oneOf([null,"5","7","10",5,7,10]),menuPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),menuStyle:o.a.object,nubbinPosition:o.a.oneOf(["top left","top","top right","bottom left","bottom","bottom right"]),onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,openOn:o.a.oneOf(["hover","click","hybrid"]),onKeyDown:o.a.func,onMouseDown:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,onSelect:o.a.func,onOpen:o.a.func,onClose:o.a.func,options:o.a.array,style:o.a.object,tabIndex:o.a.string,overlay:o.a.oneOfType([o.a.bool,o.a.func]),value:o.a.oneOfType([o.a.number,o.a.string,o.a.array]),tooltip:o.a.node,tooltipMenuItem:o.a.node,triggerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),multiple:o.a.bool,width:o.a.oneOf(["xx-small","x-small","small","medium","bottom","large"])},bi=function(){function n(e){var p;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),li(ii(p=function(e,t){return!t||"object"!==ti(t)&&"function"!=typeof t?ii(e):t}(this,ai(n).call(this,e))),"getId",function(){return p.props.id||p.generatedId}),li(ii(p),"getIsOpen",function(){return!!("boolean"==typeof p.props.isOpen?p.props.isOpen:p.state.isOpen)}),li(ii(p),"getIndexByValue",function(n,e){var r=-1;return e&&e.length&&e.some(function(e,t){return!(!e||e.value!==n)&&(r=t,!0)}),r}),li(ii(p),"getValueByIndex",function(e){return p.props.options[e]}),li(ii(p),"getListItemRenderer",function(){return p.props.listItemRenderer?p.props.listItemRenderer:ga}),li(ii(p),"getListItemId",function(e){var t;if(void 0!==e){var n=Xn()(p.getId)?p.getId():p.props.id;t="".concat(n,"-item-").concat(e)}return t}),li(ii(p),"setFocus",function(){p.isHover||p.isUnmounting||!p.trigger||lt.a.findDOMNode(p.trigger).focus()}),li(ii(p),"getMenu",function(){return lt.a.findDOMNode(p.list)}),li(ii(p),"getMenuItem",function(e){if(void 0!==e&&p.listItems)return lt.a.findDOMNode(p.listItems[e])}),li(ii(p),"getCurrentSelectedIndices",function(t){if(!0!==p.props.multiple)return{selectedIndex:p.getIndexByValue(t.value,t.options)};var e=[];return Array.isArray(t.value)?e=t.value:e.push(t.value),{selectedIndices:(e=e.filter(function(e){return-1!==p.getIndexByValue(e,t.options)})).map(function(e){return p.getIndexByValue(e,t.options)})}}),li(ii(p),"saveRefToTrigger",function(e){p.trigger=e,p.state.triggerRendered||p.setState({triggerRendered:!0})}),li(ii(p),"saveRefToTriggerContainer",function(e){p.triggerContainer=e,p.trigger||(p.trigger=e)}),li(ii(p),"saveRefToList",function(e){p.list=e}),li(ii(p),"saveRefToListItem",function(e,t){p.listItems||(p.listItems={}),p.listItems[t]=e,t===p.state.focusedIndex&&p.handleKeyboardFocus(p.state.focusedIndex)}),li(ii(p),"handleClose",function(){p.getIsOpen()&&(ci===ii(p)&&(ci=void 0),p.setState({isOpen:!1}),p.isHover=!1,p.props.onClose&&p.props.onClose())}),li(ii(p),"handleOpen",function(){p.getIsOpen()||(ci&&Xn()(ci.handleClose)&&ci.handleClose(),ci=ii(p),p.setState({isOpen:!0}),p.props.onOpen&&p.props.onOpen())}),li(ii(p),"handleMouseEnter",function(e){var t=p.getIsOpen();p.isHover=!0,t||"hover"!==p.props.openOn?clearTimeout(p.isClosing):p.handleOpenForHover(),p.props.onMouseEnter&&p.props.onMouseEnter(e)}),li(ii(p),"handleMouseLeave",function(e){p.getIsOpen()&&(p.isClosing=setTimeout(function(){p.handleCloseForHover()},p.props.hoverCloseDelay)),p.props.onMouseLeave&&p.props.onMouseLeave(e)}),li(ii(p),"handleCloseForHover",function(){p.getIsOpen()&&p.handleClose()}),li(ii(p),"handleOpenForHover",function(){p.getIsOpen()||(p.handleOpen(),p.setFocus())}),li(ii(p),"handleClick",function(e){p.getIsOpen()?p.handleClose():(p.handleOpen(),p.setFocus()),p.props.onClick&&p.props.onClick(e)}),li(ii(p),"handleFocus",function(e){p.props.onFocus&&p.props.onFocus(e)}),li(ii(p),"handleClickCustomContent",function(){p.setFocus(),p.handleClose(),p.props.onSelect&&p.props.onSelect()}),li(ii(p),"handleSelect",function(e){if(p.props.multiple){if(p.props.multiple&&-1===p.state.selectedIndices.indexOf(e)){var t=p.state.selectedIndices.concat(e);p.setState({selectedIndices:t})}else if(p.props.multiple){var n=p.state.selectedIndices.indexOf(e),r=p.state.selectedIndices;r.splice(n,1),p.setState({selectedIndices:r})}}else p.setState({selectedIndex:e}),p.handleClose(),p.setFocus();if(p.props.onSelect){var o=p.getValueByIndex(e);p.props.onSelect(o,{option:o,optionIndex:e})}}),li(ii(p),"handleKeyDown",function(e){if(e.keyCode){if(e.keyCode!==_t.ENTER&&e.keyCode!==_t.SPACE&&e.keyCode!==_t.DOWN&&e.keyCode!==_t.UP||gt.trap(e),e.keyCode!==_t.TAB){var t=p.getIsOpen();p.handleKeyboardNavigate({event:e,isOpen:t,key:e.key,keyCode:e.keyCode,onSelect:p.handleSelect,target:e.target,toggleOpen:p.toggleOpen})}else p.handleCancel();p.props.onKeyDown&&p.props.onKeyDown(e)}}),li(ii(p),"handleCancel",function(){p.setFocus(),p.handleClose()}),li(ii(p),"handleClickOutside",function(){p.handleClose()}),li(ii(p),"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?p.handleKeyboardFocus:a,s=e.onSelect,l=e.target,c=e.toggleOpen,u=void 0===c?di:c;ei({componentContext:ii(p),currentFocusedIndex:p.state.focusedIndex,event:t,isOpen:r,keyCode:o,navigableItems:p.navigableItems,onFocus:i,onSelect:s,target:l,toggleOpen:u})}),li(ii(p),"handleKeyboardFocus",function(e){p.state.focusedIndex!==e&&p.setState({focusedIndex:e});var t=Xn()(p.getMenu)?p.getMenu():function(e){return lt.a.findDOMNode(e).querySelector("ul.dropdown__list")}(ii(p)),n=Xn()(p.getMenuItem)?p.getMenuItem(e,t):function(e,t){var n,r=1<arguments.length&&void 0!==t?t:document;return e&&(n=r.getElementById(e)),n}(p.getListItemId(e));n&&(p.focusMenuItem(n),p.scrollToMenuItem(t,n))}),li(ii(p),"focusMenuItem",function(e){e.getElementsByTagName("a")[0].focus()}),li(ii(p),"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;a<i&&(e.scrollTop=i-n-e.offsetTop)}}}),li(ii(p),"toggleOpen",function(){var e=p.getIsOpen();p.setFocus(),e?p.handleClose():p.handleOpen()}),li(ii(p),"renderDefaultMenuContent",function(e){return P.a.createElement(Ba,ri({key:"".concat(p.getId(),"-dropdown-list"),checkmark:p.props.checkmark,getListItemId:p.getListItemId,itemRefs:p.saveRefToListItem,itemRenderer:p.getListItemRenderer(),onCancel:p.handleCancel,onSelect:p.handleSelect,options:p.props.options,ref:p.saveRefToList,selectedIndex:p.props.multiple?void 0:p.state.selectedIndex,selectedIndices:p.props.multiple?p.state.selectedIndices:void 0,tooltipMenuItem:p.props.tooltipMenuItem,triggerId:p.getId(),length:p.props.length},e))}),li(ii(p),"renderMenuContent",function(e){var n=[];return P.a.Children.forEach(e,function(e){if(e&&"SLDSList"===e.type.displayName)n.push(p.renderDefaultMenuContent(e.props));else if(e){var t=P.a.cloneElement(e,{onClick:p.handleClickCustomContent,key:m.a.generate()});n.push(t)}}),0===n.length&&(n=null),n||p.renderDefaultMenuContent()}),li(ii(p),"renderDialog",function(e,t,n){var r,o="bottom",a=!1;p.props.nubbinPosition?(a=!0,o=mi[p.props.nubbinPosition]):p.props.align&&(o="center"===p.props.align?"bottom":"bottom ".concat(p.props.align));var i=mi[o].split(" ");r=I()(i.map(function(e){return"slds-dropdown_".concat(e)}));var s=p.props.isInline?"relative":p.props.menuPosition,l={};return"center"!==p.props.align||a||(l.transform="none"),t?P.a.createElement(Vt,{align:o,className:I()(p.props.containerClassName),closeOnTabKey:!0,contentsClassName:I()("slds-dropdown","slds-dropdown_".concat(p.props.width),"slds-text-align_left","ignore-react-onclickoutside",p.props.className,r,{"slds-dropdown_inverse":p.props.inverse}),context:p.context,hasNubbin:a,hasStaticAlignment:p.props.hasStaticAlignment,inheritWidthOf:p.props.inheritTargetWidth?"target":"none",offset:p.props.offset,onClose:p.handleClose,onKeyDown:p.handleKeyDown,outsideClickIgnoreClass:n,position:s,style:ni({},l,p.props.menuStyle),onRequestTargetElement:function(){return p.trigger}},p.renderMenuContent(e)):null}),li(ii(p),"renderOverlay",function(e){Xn()(pi)&&ui?pi(e,pi):p.props.overlay&&e&&!p.overlay&&ui?(p.overlay=pi,document.querySelector("body").appendChild(p.overlay)):!e&&p.overlay&&p.overlay.parentNode&&(p.overlay.parentNode.removeChild(p.overlay),p.overlay=void 0)}),Ya(X,e,Qa),p.generatedId=m.a.generate();var t=p.getCurrentSelectedIndices(e);return p.state=ni({focusedIndex:-1,selectedIndex:-1,selectedIndices:[]},t),p.navigableItems=fi(e.options),p}return 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&&si(e,t)}(n,P.a.Component),function(e,t,n){t&&oi(e.prototype,t),n&&oi(e,n)}(n,[{key:"componentWillReceiveProps",value:function(e,t){if(t.value!==e.value){var n=this.getCurrentSelectedIndices(e);this.setState(n)}t.isOpen!==e.isOpen&&this.setFocus(),e.options&&(this.navigableItems=fi(e.options))}},{key:"componentWillUnmount",value:function(){ci===this&&(ci=void 0),this.isUnmounting=!0,this.renderOverlay(!1)}},{key:"render",value:function(){var t=Ga,n={},r=[];P.a.Children.forEach(this.props.children,function(e){e&&e.type.displayName===$?(n=e.props,t=e.type):e&&r.push(e)}),0===r.length&&(r=null);var e="ignore-click-".concat(this.getId()),o=!this.props.disabled&&this.getIsOpen()&&!!this.trigger;return this.renderOverlay(o),P.a.createElement(t,ri({"aria-haspopup":!0,assistiveText:this.props.assistiveText,className:I()(e,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:o,label:this.props.label,menu:this.renderDialog(r,o,e),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||(o?"-1":"0"),tooltip:this.props.tooltip,triggerClassName:this.props.triggerClassName,triggerRef:this.saveRefToTrigger,variant:this.props.buttonVariant},n))}}]),n}();li(bi,"displayName",X),bi.contextTypes={iconPath:o.a.string},bi.propTypes=hi,bi.defaultProps={align:"left",hoverCloseDelay:300,length:"5",menuPosition:"absolute",openOn:"click",width:"medium",inverse:!1};var yi=bi,gi=ya(yi);function vi(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){_i(t,e,n[e])})}return t}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}function Oi(e){sa(d,e,la);var t=e.overflowDropdownMenu,n=e.trail,r="string"==typeof e.assistiveText?e.assistiveText:vi({},Si.assistiveText,e.assistiveText).label;return P.a.createElement("nav",{role:"navigation","aria-label":r,style:e.styleContainer},P.a.createElement("ol",{className:"slds-breadcrumb slds-list_horizontal"},t&&function(e,t){var n=vi({},e.props,{id:"".concat(t.id,"-dropdown"),iconCategory:"utility",iconName:"threedots",iconVariant:"bare",threedots:!0});return P.a.createElement("li",{className:"slds-breadcrumb__item"},P.a.createElement(gi,n))}(t,e),n.map(function(e,t){return P.a.createElement("li",{key:t,className:"slds-breadcrumb__item"},e)})))}var xi={assistiveText:o.a.shape({label:o.a.string}),id:o.a.string,overflowDropdownMenu:o.a.node,styleContainer:o.a.object,trail:o.a.array.isRequired},Si={assistiveText:{label:"Breadcrumbs"}};Oi.displayName=d,Oi.propTypes=xi,Oi.defaultProps=Si;var wi=Oi;function Ei(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ci(t,e,n[e])})}return t}function Ci(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ti(e){var t,n,r=Ei({},ki.assistiveText,e.assistiveText),o=Ei({},{},e.events),a=Ei({},ki.labels,e.labels),i=[];return P.a.Children.forEach(e.children,function(e){if(e)switch(e.type.displayName){case h:t=e;break;case g:n=e;break;case f:i.push(e)}}),P.a.createElement("div",{style:{position:"relative",height:"100px"}},P.a.createElement("div",{className:I()("slds-builder-header_container",e.className),style:e.style},P.a.createElement("header",{className:"slds-builder-header"},P.a.createElement("div",{className:"slds-builder-header__item"},P.a.createElement("div",{className:"slds-builder-header__item-label slds-media slds-media_center"},P.a.createElement("div",{className:"slds-media__figure"},P.a.createElement(en,{assistiveText:{label:r.icon},category:"utility",containerClassName:"slds-icon_container slds-icon-utility-builder slds-current-color",name:"builder",size:"x-small"})),P.a.createElement("div",{className:"slds-media__body"},a.title))),t,0<i.length?i:P.a.createElement("div",{className:"slds-builder-header__item slds-has-flexi-truncate"},P.a.createElement("h1",{className:"slds-builder-header__item-label"},P.a.createElement("span",{className:"slds-truncate",title:a.pageType},a.pageType))),P.a.createElement("div",{className:"slds-builder-header__item slds-builder-header__utilities"},P.a.createElement("div",{className:"slds-builder-header__utilities-item"},P.a.createElement("a",{href:"javascript:void(0);",className:"slds-builder-header__item-action slds-media slds-media_center",onClick:o.onClickBack},P.a.createElement("div",{className:"slds-media__figure"},P.a.createElement(en,{assistiveText:{label:r.backIcon},category:"utility",containerClassName:"slds-icon_container slds-icon-utility-settings slds-current-color",name:"back",size:"x-small"})),P.a.createElement("div",{className:"slds-media__body"},a.back))),P.a.createElement("div",{className:"slds-builder-header__utilities-item"},P.a.createElement("a",{href:"javascript:void(0);",className:"slds-builder-header__item-action slds-media slds-media_center",onClick:o.onClickHelp},P.a.createElement("div",{className:"slds-media__figure"},P.a.createElement(en,{assistiveText:{label:r.helpIcon},category:"utility",containerClassName:"slds-icon_container slds-icon-utility-settings slds-current-color",name:"help",size:"x-small"})),P.a.createElement("div",{className:"slds-media__body"},a.help))))),n))}var Ni={assistiveText:o.a.shape({backIcon:o.a.string,helpIcon:o.a.string,icon:o.a.string}),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onClickBack:o.a.func,onClickHelp:o.a.func}),labels:o.a.shape({back:o.a.string,help:o.a.string,pageType:o.a.string,title:o.a.string}),style:o.a.object},ki={assistiveText:{backIcon:"Back",helpIcon:"Help",icon:"Builder"},labels:{back:"Back",help:"Help",pageType:"Page Type",title:"App Name"}};Ti.displayName="SLDSBuilderHeader",Ti.propTypes=Ni,Ti.defaultProps=ki;function ji(e){return P.a.createElement("div",{className:"slds-builder-header__item",style:{width:"100%"}},P.a.createElement("div",{className:"slds-builder-header__item-label"},e.children))}var Pi=Ti,Ii={children:o.a.node};ji.displayName=f,ji.propTypes=Ii;function Di(e){return P.a.createElement("nav",{className:"slds-builder-header__item slds-builder-header__nav"},P.a.createElement("ul",{className:"slds-builder-header__nav-list"},P.a.Children.map(e.children,function(e){return e.type.displayName===y||e.type.displayName===b?e:null})))}var Ri=ji,Ai={children:o.a.node};Di.displayName=h,Di.propTypes=Ai;var Li=Di;function Bi(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Fi(e){var t=e.iconCategory,n=e.iconName,r=e.label,o=e.assistiveText,a=Bi(e,["iconCategory","iconName","label","assistiveText"]);return P.a.createElement("li",{className:"slds-builder-header__nav-item"},P.a.createElement(gi,a,P.a.createElement(Ga,null,P.a.createElement(Cn,{className:"slds-builder-header__item-action slds-media slds-media_center",variant:"base"},P.a.createElement("span",{className:"slds-media__figure"},P.a.createElement(en,{assistiveText:{label:o&&o.icon},category:t,containerClassName:"slds-icon_container slds-icon-utility-page slds-current-color",name:n,size:"x-small"})),P.a.createElement("span",{className:"slds-media__body"},P.a.createElement("span",{className:"slds-truncate",title:r},r),P.a.createElement(en,{category:"utility",containerClassName:"slds-icon_container slds-icon-utility-chevrondown slds-current-color slds-m-left_small",name:"chevrondown",size:"x-small"}))))))}var Mi=yi.propTypes;Fi.displayName=b,Fi.propTypes=Mi;var qi=Fi;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}function Ki(e){var t=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Hi(t,e,n[e])})}return t}({},Vi,e.assistiveText);return P.a.createElement("li",{className:"slds-builder-header__nav-item"},P.a.createElement("a",{className:"slds-builder-header__item-action slds-media slds-media_center",href:"javascript:void(0)",onClick:e.onClick},P.a.createElement("span",{className:"slds-media__figure"},P.a.createElement(en,{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"})),P.a.createElement("span",{className:"slds-media__body"},P.a.createElement("span",{className:"slds-truncate",title:e.label},e.label))))}var Wi={assistiveText:o.a.shape({icon:o.a.string}),iconCategory:o.a.oneOf(["action","custom","doctype","standard","utility"]),iconName:o.a.string,iconPath:o.a.string,label:o.a.string,onClick:o.a.func},Vi={};Ki.displayName=y,Ki.propTypes=Wi;var Ui=Ki;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}function Gi(e){var t=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){zi(t,e,n[e])})}return t}({},Qi.assistiveText,e.assistiveText);return P.a.createElement("div",{className:"slds-builder-toolbar",role:"toolbar"},P.a.Children.map(e.children,function(e){return e.type.displayName===_?P.a.createElement("div",{className:"slds-builder-toolbar__item-group","aria-label":e.props.label},e):null}),P.a.createElement("div",{className:"slds-builder-toolbar__actions","aria-label":t.actions},e.onRenderActions&&e.onRenderActions()))}var Yi={assistiveText:o.a.shape({actions:o.a.string}),children:o.a.node,onRenderActions:o.a.func},Qi={assistiveText:{actions:"Actions"}};Gi.displayName=g,Gi.propTypes=Yi,Gi.defaultProps=Qi;var Ji=Gi;function Xi(e){return(Xi="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 $i(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 Zi(e,t){return!t||"object"!==Xi(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function es(e){return(es=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ts(e,t){return(ts=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ns={children:o.a.node.isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameContainer:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,labels:o.a.shape({error:o.a.string,label:o.a.string}),variant:o.a.oneOf(["checkbox","list"])},rs={labels:{}},os=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=Zi(this,es(n).call(this,e))).generatedId=m.a.generate(),t}return 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&&ts(e,t)}(n,P.a.Component),function(e,t,n){t&&$i(e.prototype,t),n&&$i(e,n)}(n,[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e,n=this,r=jn()({},rs.labels,this.props.labels),o=P.a.Children.count(this.props.children)-1,t=this.props.children;return 0<o&&(t=P.a.Children.map(this.props.children,function(e,t){var n;return t===o&&(n=P.a.cloneElement(e,{triggerClassName:"slds-button_last"})),n||e})),e="checkbox"===this.props.variant?(t=P.a.Children.map(this.props.children,function(e){var t={variant:"button-group"};return r.error&&(t["aria-describedby"]="button-group-error-".concat(n.getId())),P.a.cloneElement(e,t)}),P.a.createElement("div",{className:I()("slds-checkbox_button-group",this.props.className),id:this.getId()},t)):"list"===this.props.variant?P.a.createElement("ul",{className:I()("slds-button-group-list",this.props.className),id:this.getId()},P.a.Children.map(this.props.children,function(e){return P.a.createElement("li",null,e)})):P.a.createElement("div",{className:I()("slds-button-group",this.props.className),id:this.getId(),role:"group"},t),"checkbox"!==this.props.variant&&!this.props.labels.label||(e=P.a.createElement("fieldset",{className:I()("slds-form-element",{"slds-has-error":r.error},this.props.classNameContainer)},P.a.createElement("legend",{className:"slds-form-element__legend slds-form-element__label"},this.props.labels.label),P.a.createElement("div",{className:"slds-form-element__control"},e,r.error?P.a.createElement("div",{className:"slds-form-element__help",id:"button-group-error-".concat(this.getId())},r.error):null))),e}}]),n}();os.displayName=_,os.propTypes=ns,os.defaultProps=rs;var as=os;var is=function(){},ss=n(40);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 cs(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){ms(t,e,n[e])})}return t}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 ps(e){return(ps=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ds(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fs(e,t){return(fs=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ms(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var hs={active:o.a.bool,assistiveText:o.a.shape({icon:o.a.string}),disabled:o.a.bool,icon:o.a.node,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,onMouseDown:o.a.func,onMouseEnter:o.a.func,responsive:o.a.bool,stateOne:o.a.object,stateTwo:o.a.object,stateThree:o.a.object,tabIndex:o.a.string,variant:o.a.oneOf(["base","neutral","brand","destructive","icon","icon-filled"])},bs={assistiveText:{icon:""},disabled:!1,iconSize:"medium",responsive:!1,stateOne:{iconName:"add",label:"Follow"},stateTwo:{iconName:"check",label:"Following"},stateThree:{iconName:"close",label:"Unfollow"}},ys=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),ms(ds(t=function(e,t){return!t||"object"!==ls(t)&&"function"!=typeof t?ds(e):t}(this,ps(n).call(this,e))),"handleBlur",function(e){t.props.onBlur&&t.props.onBlur(e),e.currentTarget.blur()}),ms(ds(t),"handleClick",function(e){Xn()(t.props.onClick)&&t.props.onClick(e),"boolean"!=typeof t.props.active&&t.setState(function(e){return{active:!e.active}})}),t.state={active:!1},is(O,e,ss),t}return 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&&fs(e,t)}(n,P.a.Component),function(e,t,n){t&&us(e.prototype,t),n&&us(e,n)}(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,o=e.iconName,a=e.iconSize,i=e.id,s=e.onFocus,l=e.onKeyDown,c=e.onKeyPress,u=e.onKeyUp,p=e.onMouseDown,d=e.onMouseEnter,f=e.stateOne,m=e.stateTwo,h=e.stateThree,b=e.tabIndex,y=e.variant,g={disabled:n,size:"small",className:"slds-button__icon_stateful"},v="string"==typeof this.props.assistiveText?this.props.assistiveText:cs({},bs.assistiveText,this.props.assistiveText).icon,_="boolean"==typeof t?t:this.state.active;return"icon"===y||"icon-filled"===y?P.a.createElement("button",{"aria-live":"polite",className:this.getClassName(_),disabled:n,id:i,onBlur:this.handleBlur,onClick:this.handleClick,onFocus:s,onKeyDown:l,onKeyPress:c,onKeyUp:u,onMouseDown:p,onMouseEnter:d,onMouseLeave:this.handleBlur,tabIndex:b,type:"button"},r?P.a.cloneElement(r,cs({},g,r.props)):P.a.createElement(tt,{disabled:n,name:o,size:a,className:"slds-button__icon_stateful"}),v?P.a.createElement("span",{className:"slds-assistive-text"},v):null):(g.position="left",P.a.createElement("button",{"aria-live":"assertive",className:this.getClassName(_),disabled:n,id:i,onBlur:this.handleBlur,onClick:this.handleClick,onFocus:s,onKeyDown:l,onKeyPress:c,onKeyUp:u,onMouseEnter:d,onMouseLeave:this.handleBlur,tabIndex:b,type:"button"},P.a.createElement("span",{className:"slds-text-not-selected"},f.icon?P.a.cloneElement(f.icon,cs({},g,f.icon.props,{size:"small"})):P.a.createElement(tt,{disabled:n,name:f.iconName,size:"small",position:"left",className:"slds-button__icon_stateful"}),f.label),P.a.createElement("span",{className:"slds-text-selected"},m.icon?P.a.cloneElement(m.icon,cs({},g,m.icon.props,{size:"small"})):P.a.createElement(tt,{disabled:n,name:m.iconName,size:"small",position:"left",className:"slds-button__icon_stateful"}),m.label),P.a.createElement("span",{className:"slds-text-selected-focus"},h.icon?P.a.cloneElement(h.icon,cs({},g,h.icon.props,{size:"small"})):P.a.createElement(tt,{disabled:n,name:h.iconName,size:"small",position:"left",className:"slds-button__icon_stateful"}),h.label)))}}]),n}();ys.displayName=O,ys.propTypes=hs,ys.defaultProps=bs;var gs=ys;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 _s(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!t||"object"!==vs(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function xs(e){return(xs=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ss(e,t){return(Ss=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ws(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Es="slds-media",Cs="slds-media__figure",Ts="slds-media__body",Ns=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Os(this,xs(e).apply(this,arguments))}return 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)}(e,P.a.Component),function(e,t,n){t&&_s(e.prototype,t),n&&_s(e,n)}(e,[{key:"render",value:function(){return P.a.createElement("div",{className:I()(Es,{"slds-media_center":this.props.verticalCenter,"slds-has-flexi-truncate":this.props.canTruncate},this.props.className)},this.props.figure?P.a.createElement("div",{className:Cs},this.props.figure," "):null,P.a.createElement("div",{className:Ts},this.props.body))}}]),e}();ws(Ns,"displayName","SLDSMediaObject"),ws(Ns,"propTypes",{canTruncate:o.a.bool,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),body:o.a.node,figure:o.a.node,verticalCenter:o.a.bool});var ks=Ns;function js(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ps(e,t){var n=P.a.cloneElement(e,{id:e.props.id||t});return P.a.createElement("div",{className:"slds-input-has-icon slds-input-has-icon_left slds-size_1-of-3"},n)}Ps.displayName="renderFilter";function Is(e){var t=null;("string"==typeof e.heading||e.heading instanceof String)&&(t=e.heading);var n,r=P.a.createElement("h2",{id:e.headingId,className:"slds-text-heading_small slds-truncate",title:t},e.heading);n=e.header?P.a.cloneElement(e.header,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){js(t,e,n[e])})}return t}({figure:e.icon,body:r,verticalCenter:!0,canTruncate:!0},e.header.props)):P.a.createElement(ks,{figure:e.icon,body:r,verticalCenter:!0,canTruncate:!0});var o=!!e.filter||null;return P.a.createElement("div",{className:I()("slds-card__header","slds-grid")},n,e.filter?Ps(e.filter,e.filterId):null,P.a.createElement("div",{id:e.headerActionsId,className:I()("slds-no-flex",{"slds-size_1-of-3":o,"slds-text-align_right":o})},e.headerActions))}Is.displayName="SLDSCardHeader",Is.propTypes={filter:o.a.node,filterId:o.a.string,header:o.a.node,headerActions:o.a.node,headerActionsId:o.a.string,heading:o.a.oneOfType([o.a.element,o.a.string]).isRequired,headingId:o.a.string,icon:o.a.node};function Ds(e){return P.a.createElement("div",{className:I()("slds-card__body",e.className),id:e.id},e.children)}var Rs=Is;Ds.displayName="SLDSCardBody",Ds.propTypes={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string};function As(e){return P.a.createElement("div",{className:"slds-card__footer"},e.children)}var Ls=Ds;As.displayName="SLDSCardFooter",As.propTypes={children:o.a.node};function Bs(e){return P.a.createElement("div",{className:"slds-p-horizontal_small"},P.a.createElement("div",{className:"slds-text-align_center slds-m-bottom_x-large"},P.a.createElement("h3",{className:"slds-text-heading_small slds-p-top_large slds-p-bottom_large"},e.heading),e.children))}var Fs=As;Bs.displayName="SLDSCardEmpty",Bs.propTypes={children:o.a.node,heading:o.a.string},Bs.defaultProps={heading:"No Related Items"};function Ms(e){var t=e.id?e.id+Hs:null,n=e.id?e.id+Vs:null,r=e.id?e.id+Ws:null,o=e.id?e.id+Ks:null,a=e.empty;return!0===a&&(a=P.a.createElement(qs,{id:e.id,heading:e.heading})),P.a.createElement("article",{id:e.id,className:I()("slds-card",e.className),style:e.style},!e.hasNoHeader&&P.a.createElement(Rs,{header:e.header,headingId:r,icon:e.icon,filter:e.filter,filterId:n,heading:e.heading,headerActions:e.headerActions,headerActionsId:o}),a?P.a.createElement(Ls,{id:t,className:e.bodyClassName},a):P.a.createElement(Ls,{id:t,className:e.bodyClassName},e.children),e.footer?P.a.createElement(Fs,null,e.footer):null)}var qs=Bs,Hs="__body",Ks="__header-actions",Ws="__heading",Vs="__filter-input";Ms.displayName="SLDSCard",Ms.defaultProps={heading:"Related Items"},Ms.propTypes={bodyClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),empty:o.a.oneOfType([o.a.bool,o.a.node]),filter:o.a.node,footer:o.a.node,hasNoHeader:o.a.bool,header:o.a.node,heading:o.a.oneOfType([o.a.node,o.a.string]).isRequired,headerActions:o.a.node,icon:o.a.node,id:o.a.string,style:o.a.object};var Us=Ms;function zs(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gs(){return(Gs=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 Ys(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Qs(e){var t=e.category,n=e.iconPosition,r=e.name,o=e.path,a=e.onClick,i=e.variant,s=Ys(e,["category","iconPosition","name","path","onClick","variant"]),l={combobox:P.a.createElement("span",{className:"slds-icon_container slds-input__icon slds-input__icon_right"},P.a.createElement(Xe,Gs({"aria-hidden":!0,category:t,className:I()("slds-icon slds-icon_x-small slds-icon-text-default"),name:r,path:o},s))),base:P.a.createElement(Xe,Gs({"aria-hidden":!0,category:t,className:I()("slds-input__icon slds-icon-text-default",zs({},"slds-input__icon_".concat(n),n)),name:r,path:o},s))};return Xn()(a)?P.a.createElement(Cn,Gs({className:I()("slds-input__icon",zs({},"slds-input__icon_".concat(n),n)),iconCategory:t,iconName:r,iconPath:o,onClick:a,variant:"icon"},s)):l[i]}Qs.displayName="SLDSIconInput",Qs.propTypes={category:o.a.string,iconPosition:o.a.oneOf(["left","right"]),name:o.a.string,path:o.a.string,onClick:o.a.func,variant:o.a.oneOf(["base","combobox"])},Qs.defaultProps={category:"utility",variant:"base"};var Js=Qs;var Xs=function(){},$s=n(41);function Zs(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function el(e){Xs(le,e,$s);var t=e.containerClassName,n=e.containerStyle,r=e.id,o=e.isDelayed,a=e.isInput,i=e.size,s=e.variant,l="string"==typeof e.assistiveText?e.assistiveText:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Zs(t,e,n[e])})}return t}({},nl.assistiveText,e.assistiveText).label,c=I()("slds-spinner",Zs({"slds-input__spinner":a,"slds-spinner_brand":"brand"===s,"slds-spinner_inverse":"inverse"===s,"slds-spinner_delayed":o},"slds-spinner_".concat(i),i));return P.a.createElement("div",{className:I()(t,"slds-spinner_container"),style:n},P.a.createElement("div",{"aria-hidden":"false",className:c,id:r,role:"status"},l&&P.a.createElement("span",{className:"slds-assistive-text"},l),P.a.createElement("div",{className:"slds-spinner__dot-a"}),P.a.createElement("div",{className:"slds-spinner__dot-b"})))}var tl={assistiveText:o.a.shape({label:o.a.string}),containerClassName:o.a.string,containerStyle:o.a.object,id:o.a.string,isDelayed:o.a.bool,isInput:o.a.bool,size:o.a.oneOf(["x-small","small","medium","large"]),variant:o.a.oneOf(["base","brand","inverse"])},nl={assistiveText:{label:"Loading..."},isDelayed:!1,size:"medium",variant:"base"};el.displayName=le,el.propTypes=tl,el.defaultProps=nl;var rl=el;function ol(){return(ol=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 al(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function il(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function sl(e){var t=mn(e);t["aria-describedby"]=e.hasSpinner?"loading-status-icon ".concat(e["aria-describedby"]):e["aria-describedby"];var n=e.containerProps,r=n.className,o=il(n,["className"]),a=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){al(t,e,n[e])})}return t}({},ul.assistiveText,e.assistiveText);return P.a.createElement("div",ol({className:I()(r,{"slds-input-has-icon":e.variant!==ll&&(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!==ll&&e.iconLeft&&e.iconRight,"slds-input-has-fixed-addon":e.fixedTextLeft||e.fixedTextRight,"slds-has-divider_bottom":e.isStatic})},o),e.iconLeft&&e.iconLeft,e.fixedTextLeft&&P.a.createElement("span",{className:"slds-form-element__addon"},e.fixedTextLeft),!e.isStatic&&P.a.createElement("input",ol({autoComplete:e.autoComplete,className:I()("slds-input",{"slds-text-align_left":e.variant===ll&&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?P.a.createElement("div",{className:"slds-input__icon-group slds-input__icon-group_right"},P.a.createElement(rl,{assistiveText:{label:a.spinner},id:"loading-status-icon",isInput:!0,size:"x-small",variant:"brand"}),e.iconRight&&e.iconRight):e.iconRight&&e.iconRight,e.fixedTextRight&&P.a.createElement("span",{className:"slds-form-element__addon"},e.fixedTextRight),e.isStatic&&P.a.createElement("span",{className:I()("slds-form-element__static","slds-grid",{"slds-grid_align-spread":e.variant!==ll}),onClick:e.onClick},e.value,e.inlineEditTrigger),e.inlineHelpText&&P.a.createElement("div",{className:"slds-form-element__help"},e.inlineHelpText))}var ll="counter",cl={"aria-activedescendant":o.a.string,"aria-autocomplete":o.a.string,"aria-controls":o.a.string,"aria-describedby":o.a.string,"aria-expanded":o.a.bool,"aria-haspopup":o.a.bool,"aria-labelledby":o.a.string,"aria-owns":o.a.string,"aria-required":o.a.bool,assistiveText:o.a.shape({spinner:o.a.string}),autoComplete:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),containerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),containerProps:o.a.object,disabled:o.a.bool,fixedTextLeft:o.a.oneOfType([o.a.node,o.a.string]),fixedTextRight:o.a.oneOfType([o.a.node,o.a.string]),hasSpinner:o.a.bool,iconLeft:o.a.node,iconRight:o.a.node,id:o.a.string.isRequired,inlineHelpText:o.a.oneOfType([o.a.node,o.a.string]),inputRef:o.a.func,isStatic:o.a.bool,label:o.a.string,onBlur:o.a.func,onChange:o.a.func,onClick:o.a.func,onFocus:o.a.func,onInput:o.a.func,onInvalid:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,onSelect:o.a.func,onSubmit:o.a.func,placeholder:o.a.string,minLength:o.a.string,minValue:o.a.number,maxLength:o.a.string,maxValue:o.a.number,name:o.a.string,readOnly:o.a.bool,required:o.a.bool,role:o.a.string,step:o.a.number,style:o.a.object,tabIndex:o.a.string,type:o.a.oneOf(["text","password","datetime","datetime-local","date","month","time","week","number","email","url","search","tel","color"]),value:o.a.oneOfType([o.a.number,o.a.string]),variant:o.a.oneOf(["base",ll]),defaultValue:o.a.oneOfType([o.a.number,o.a.string])},ul={assistiveText:{spinner:"Loading ..."},type:"text"};sl.displayName="SLDSInnerInput",sl.propTypes=cl,sl.defaultProps=ul;function pl(e){var t=e.label||e.assistiveText&&e.assistiveText.label,n={base:P.a.createElement("label",{className:I()("slds-form-element__label",{"slds-assistive-text":e.assistiveText&&!e.label},e.className),htmlFor:e.htmlFor},e.required&&P.a.createElement("abbr",{className:"slds-required",title:"required"},"*"),t),static:P.a.createElement("span",{className:I()("slds-form-element__label",e.className)},t)};return t?n[e.variant]:null}var dl=sl,fl={assistiveText:o.a.object,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),htmlFor:o.a.string,label:o.a.string,required:o.a.bool,variant:o.a.oneOf(["base","static"])};pl.displayName="Label",pl.propTypes=fl,pl.defaultProps={variant:"base"};var ml=pl;var hl=function(){},bl=n(21),yl={removeUndefined:function(t){var n={};return Object.keys(t).forEach(function(e){void 0!==t[e]&&(n[e]=t[e])}),n}};function gl(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){vl(t,e,n[e])})}return t}function vl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _l(e){var t=e.fieldLevelHelpTooltip,n=e.assistiveText,r=void 0===n?{}:n;return t?P.a.createElement(fn,gl({},xl,t.props,{assistiveText:gl({},t.props.assistiveText,yl.removeUndefined(r))})):null}var Ol={assistiveText:o.a.shape({triggerLearnMoreIcon:o.a.string}),fieldLevelHelpTooltip:o.a.node.isRequired},xl={triggerClassName:"slds-form-element__icon",triggerStyle:{position:"static"},variant:"learnMore"};_l.propTypes=Ol,_l.displayName="FieldLevelHelpTooltip";var Sl=_l;function wl(e){return(wl="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(){return(El=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 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 Tl(e){return(Tl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Nl(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function kl(e,t){return(kl=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function jl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Pl="counter",Il="Decrement",Dl="Increment",Rl={assistiveText:{decrement:"".concat(Il," ").concat(Pl),increment:"".concat(Dl," ").concat(Pl)},type:"text"},Al=function(){function t(e){var c;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),jl(Nl(c=function(e,t){return!t||"object"!==wl(t)&&"function"!=typeof t?Nl(e):t}(this,Tl(t).call(this,e))),"getId",function(){return c.props.id||c.generatedId}),jl(Nl(c),"getErrorId",function(){return c.props["aria-describedby"]||c.generatedErrorId}),jl(Nl(c),"getValueAsNumber",function(){var e=0;return void 0!==c.props.value?e=Number(c.props.value):c.inputRef&&(e=Number(c.inputRef.value)),e}),jl(Nl(c),"getCounterButtonIcon",function(t){var e=c.getValueAsNumber(),n=!1;return(c.props.disabled||t===Dl&&void 0!==c.props.maxValue&&e>=c.props.maxValue||t===Il&&void 0!==c.props.minValue&&e<=c.props.minValue)&&(n=!0),P.a.createElement(Cn,{assistiveText:{icon:c.props.assistiveText[t.toLowerCase()]},className:I()("slds-button_icon-small","slds-input__button_".concat(t.toLowerCase())),disabled:n,iconCategory:"utility",iconName:t===Il?"ban":"new",onKeyDown:function(e){13===e.keyCode&&c.performStep(t,e)},onKeyUp:c.stopStepping,onMouseDown:function(e){c.performStep(t,e)},onMouseLeave:c.stopStepping,onMouseUp:c.stopStepping,variant:"icon"})}),jl(Nl(c),"getIconRender",function(e,t){var n,r={assistiveText:{icon:c.props[t]&&c.props[t].props.assistiveText||c.props.iconAssistiveText},category:c.props[t]&&c.props[t].props.category||c.props.iconCategory,name:c.props[t]&&c.props[t].props.name||c.props.iconName,onClick:c.props[t]&&c.props[t].props.onClick||c.props.onIconClick};return c.props[t]&&e&&c.props[t]?n=P.a.cloneElement(c.props[t],{iconPosition:"".concat(e)}):r.name&&(n=P.a.createElement(Js,El({iconPosition:e},r))),n}),jl(Nl(c),"setInputRef",function(e){c.inputRef=e,c.props.inputRef&&c.props.inputRef(e)}),jl(Nl(c),"handleChange",function(e){if(c.props.onChange){var t={value:e.target.value};c.props.variant===Pl&&(t.number=Number(t.value)),c.props.onChange(e,t)}}),jl(Nl(c),"performStep",function(e,t){clearTimeout(c.stepping.timeout);var n=c.props.maxValue,r=c.props.minValue,o=void 0!==c.props.step?Number(c.props.step):1,a=c.getValueAsNumber(),i=!1;if(e===Il&&void 0!==n&&n<a)a=Number(n),i=!0;else if(e===Dl&&void 0!==r&&a<r)a=Number(r),i=!0;else{var s=0<=String(o).search(/\./)?String(o).split(".")[1].length:0,l=0;void 0!==r&&(l=(a-r)%o),a=0<l?e===Il?a-l:a+(o-l):e===Il?a-o:a+o,a=Number(a.toFixed(s)),void 0!==n&&n<a||void 0!==r&&a<r||(i=!0)}i&&(void 0===c.props.value&&c.inputRef?(c.inputRef.value=String(a),c.forceUpdate()):c.props.onChange&&c.props.onChange(t,{number:a,value:String(a)})),e===Dl&&void 0!==n&&n<=a||e===Il&&void 0!==r&&a<=r?c.stopStepping():c.stepping.timeout=setTimeout(function(){c.stepping.currentDelay=c.stepping.speedDelay,c.performStep(e)},c.stepping.currentDelay)}),jl(Nl(c),"stopStepping",function(){clearTimeout(c.stepping.timeout),c.stepping.currentDelay=c.stepping.initialDelay}),c.inputRef=null,c.stepping={currentDelay:500,initialDelay:500,speedDelay:75,timeout:{}},hl("SLDSInput",e,bl),c.generatedId=m.a.generate(),e.errorText&&(c.generatedErrorId=m.a.generate()),c}return 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&&kl(e,t)}(t,P.a.Component),function(e,t,n){t&&Cl(e.prototype,t),n&&Cl(e,n)}(t,[{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){jl(t,e,n[e])})}return t}({},Rl.assistiveText,this.props.assistiveText),t=this.props.variant===Pl?this.setInputRef:this.props.inputRef,n=null,r=null,o=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!==Pl||this.props.isStatic||this.props.readOnly||(n=this.getCounterButtonIcon(Il)),this.props.iconRight||"right"===this.props.iconPosition&&this.props.iconName?r=this.getIconRender("right","iconRight"):this.props.variant!==Pl||this.props.isStatic||this.props.readOnly||(r=this.getCounterButtonIcon(Dl)),P.a.createElement("div",{className:I()("slds-form-element",{"slds-has-error":this.props.errorText},this.props.className),style:this.props.styleContainer},P.a.createElement(ml,{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&&o?P.a.createElement(Sl,{assistiveText:{triggerLearnMoreIcon:e.fieldLevelHelpButton},fieldLevelHelpTooltip:this.props.fieldLevelHelpTooltip}):null,P.a.createElement(dl,{"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===Pl,"slds-p-horizontal_none":this.props.variant===Pl&&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,inlineHelpText:this.props.inlineHelpText,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===Pl?"number":this.props.type,value:this.props.value,variant:this.props.variant,step:this.props.step,style:this.props.styleInput}),this.props.errorText&&P.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},this.props.errorText),this.props.children)}}]),t}();jl(Al,"displayName","SLDSInput"),jl(Al,"propTypes",{"aria-activedescendant":o.a.string,"aria-autocomplete":o.a.string,"aria-controls":o.a.string,"aria-describedby":o.a.string,"aria-expanded":o.a.bool,"aria-haspopup":o.a.bool,"aria-labelledby":o.a.string,"aria-owns":o.a.string,"aria-required":o.a.bool,assistiveText:o.a.shape({label:o.a.string,spinner:o.a.string}),autoComplete:o.a.string,children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),defaultValue:o.a.oneOfType([o.a.number,o.a.string]),disabled:o.a.bool,errorText:o.a.oneOfType([o.a.node,o.a.string]),fieldLevelHelpTooltip:o.a.node,fixedTextLeft:o.a.oneOfType([o.a.node,o.a.string]),fixedTextRight:o.a.oneOfType([o.a.node,o.a.string]),hasSpinner:o.a.bool,iconLeft:o.a.node,iconRight:o.a.node,id:o.a.string,inlineHelpText:o.a.oneOfType([o.a.node,o.a.string]),inputRef:o.a.func,isStatic:o.a.bool,label:o.a.string,onBlur:o.a.func,onChange:o.a.func,onClick:o.a.func,onFocus:o.a.func,onInput:o.a.func,onInvalid:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,onSelect:o.a.func,onSubmit:o.a.func,placeholder:o.a.string,minLength:o.a.string,minValue:o.a.number,maxLength:o.a.string,maxValue:o.a.number,name:o.a.string,readOnly:o.a.bool,required:o.a.bool,role:o.a.string,step:o.a.number,styleInput:o.a.object,styleContainer:o.a.object,type:o.a.oneOf(["text","password","datetime","datetime-local","date","month","time","week","number","email","url","search","tel","color"]),value:o.a.oneOfType([o.a.number,o.a.string]),variant:o.a.oneOf(["base",Pl])}),jl(Al,"defaultProps",Rl);var Ll=Al;function Bl(){return(Bl=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 Fl(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ml(e){var t=e.id,n=e.placeholder,r=e.onChange,o=Fl(e,["id","placeholder","onChange"]);return P.a.createElement(Ll,Bl({},o,{assistiveText:{label:n},iconLeft:P.a.createElement(Js,{name:"search",category:"utility"}),id:t,onChange:r,placeholder:n}))}Ml.displayName="SLDSCardFilter",Ml.propTypes={id:o.a.string,onChange:o.a.func,placeholder:o.a.string.isRequired},Ml.defaultProps={placeholder:"Find in List"};var ql=Ml;function Hl(e){return(Hl="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 Kl(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function Wl(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 Vl(e){return(Vl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ul(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zl(e,t){return(zl=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Gl=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(Ul(t=function(e,t){return!t||"object"!==Hl(t)&&"function"!=typeof t?Ul(e):t}(this,(e=Vl(a)).call.apply(e,[this].concat(r)))),"onFocus",function(e){t["indicator".concat(t.props.currentIndex)].focus(),t.props.onFocus&&t.props.onFocus(e)}),t}return 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&&zl(e,t)}(a,P.a.Component),function(e,t,n){t&&Wl(e.prototype,t),n&&Wl(e,n)}(a,[{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 c=this,u=this.props;return P.a.createElement("ul",{className:"slds-carousel__indicators slds-col slds-text-align_center",role:"tablist"},Kl(Array(u.noOfIndicators).keys()).map(function(t){var e=t===u.currentIndex,n=I()("slds-carousel__indicator-action",u.className,{"slds-is-active":e}),r="".concat(t),o="".concat(t),a="";if(u.items&&0<u.items.length){a=u.items[t].id;for(var i=t*u.itemsPerPanel,s="",l=i;l<i+u.itemsPerPanel;l+=1)u.items[l]&&u.items[l].heading&&(s=s?"".concat(s,", "):"",s+=u.items[l].heading);s&&(o=r=s)}return P.a.createElement("li",{className:"slds-carousel__indicator slds-m-horizontal_xx-small",key:t,role:"presentation",style:{margin:0,padding:"0 5px"}},P.a.createElement("a",{ref:function(e){c["indicator".concat(t)]=e},id:"indicator-id-".concat(u.carouselId,"-").concat(t),className:n,role:"tab",tabIndex:e?"0":"-1","aria-selected":e,"aria-controls":u.getPanelId({carouselId:u.carouselId,itemId:a}),title:o,onBlur:u.onBlur,onClick:function(e){return u.onClick(e,t)},onFocus:c.onFocus},P.a.createElement("span",{className:"slds-assistive-text"},r)))}))}}]),a}();Gl.displayName="SLDSCarouselIndicators",Gl.defaultProps={currentIndex:0},Gl.propTypes={carouselId:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),currentIndex:o.a.number,hasFocus:o.a.bool,items:o.a.array,itemsPerPanel:o.a.number,noOfIndicators:o.a.number.isRequired,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func};var Yl=Gl;function Ql(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(e){return P.a.createElement("div",{className:"slds-carousel__col-center slds-is-absolute",style:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ql(t,e,n[e])})}return t}({},e.inlineStyle,{margin:"-12px 0 0",top:"50%"})},P.a.createElement(Cn,{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"}))}Jl.displayName="SLDSCarouselNavigators",Jl.propTypes={assistiveText:o.a.string,iconName:o.a.oneOf(["chevronleft","chevronright"]),isDisabled:o.a.bool,inlineStyle:o.a.object,onClick:o.a.func};function Xl(e){return P.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}):P.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"},P.a.createElement("div",{className:"slds-carousel__image"},P.a.createElement("img",{src:e.src,alt:e.imageAssistiveText||e.heading})),P.a.createElement("div",{className:"slds-carousel__content",style:{height:"auto"}},P.a.createElement("h2",{className:"slds-carousel__content-title"},e.heading),P.a.createElement("div",{className:"slds-p-bottom_x-small slds-text-body_small",style:{minHeight:"40px"}},e.description),e.buttonLabel&&P.a.createElement(Cn,{label:e.buttonLabel,tabIndex:e.isInCurrentPanel?"0":"-1",variant:"neutral"}))))}var $l=Jl;Xl.displayName="SLDSCarouselItem",Xl.propTypes={buttonLabel:o.a.string,carouselId:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),description:o.a.oneOfType([o.a.string,o.a.node]),heading:o.a.oneOfType([o.a.string,o.a.object]).isRequired,href:o.a.string,id:o.a.number.isRequired,imageAssistiveText:o.a.string,isInCurrentPanel:o.a.bool,itemWidth:o.a.number,onFocus:o.a.func,onRenderItem:o.a.func,panelIndex:o.a.number,src:o.a.string.isRequired},Xl.defaultProps={href:"javascript:void(0);"};function Zl(e){return P.a.createElement("span",{className:"slds-carousel__autoplay",style:{left:"66px"}},P.a.createElement(Cn,{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"}))}var ec=Xl;Zl.displayName="SLDSCarouselAutoplayButton",Zl.propTypes={assistiveText:o.a.string,isAutoplayOn:o.a.bool,onClick:o.a.func},Zl.defaultProps={isAutoplayOn:!1};var tc=Zl;function nc(e){return(nc="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(){return(rc=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 oc(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 ac(e){return(ac=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ic(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sc(e,t){return(sc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function lc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var cc=function(){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),lc(ic(r=function(e,t){return!t||"object"!==nc(t)&&"function"!=typeof t?ic(e):t}(this,ac(t).call(this,e))),"onNextPanelHandler",function(e){var t=r.getCurrentPanel()+1;t>r.nrOfPanels-1&&(t=0),r.setCurrentPanel(e,t,r.changeTranslationAutomatically)}),lc(ic(r),"onPreviousPanelHandler",function(e){var t=r.getCurrentPanel()-1;t<0&&(t=r.nrOfPanels-1),r.setCurrentPanel(e,t,r.changeTranslationAutomatically)}),lc(ic(r),"onIndicatorBlur",function(){r.setState({indicatorsHaveFocus:!1})}),lc(ic(r),"onIndicatorClickHandler",function(e,t){r.setCurrentPanel(e,t,r.changeTranslationAutomatically),r.setState({indicatorsHaveFocus:!0}),r.getIsAutoplayOn()&&r.stopAutoplay(e)}),lc(ic(r),"onIndicatorFocus",function(e){r.setState({indicatorsHaveFocus:!0}),r.getIsAutoplayOn()&&r.stopAutoplay(e)}),lc(ic(r),"onAutoplayBtnClick",function(e){var t=r.getIsAutoplayOn();if(r.props.onRequestAutoplayToggle)r.props.onRequestAutoplayToggle(e,{isAutoplayOn:t});else{var n=t?r.stopAutoplay:r.startAutoplay;r.setState({isAutoplayOn:!t}),n(e)}}),lc(ic(r),"getPanelId",function(e){var t=e.carouselId,n=e.itemId;return"content-id-".concat(t,"-").concat(n)}),lc(ic(r),"setDimensions",function(){St&&void 0!==r.stageItem&&void 0!==r.stageItem.current&&void 0!==r.stageItem.current.offsetWidth&&r.setState({stageWidth:r.stageItem.current.offsetWidth},r.changeTranslationAutomatically)}),lc(ic(r),"setTranslationAmount",function(e,t){r.setState({translateX:e},t)}),lc(ic(r),"setCurrentPanel",function(e,t,n){r.props.onRequestPanelChange?r.props.onRequestPanelChange(e,{currentPanel:r.getCurrentPanel(),requestedPanel:t}):r.setState({currentPanel:t},n)}),lc(ic(r),"startAutoplay",function(e){r.autoplayId=setInterval(function(){r.canGoToNext()?r.onNextPanelHandler(e):r.props.isInfinite?r.setCurrentPanel(e,0,r.changeTranslationAutomatically):r.stopAutoplay(e)},r.props.autoplayInterval)}),lc(ic(r),"stopAutoplay",function(e,t){r.autoplayId&&clearInterval(r.autoplayId),t||(r.props.onRequestAutoplayToggle?r.props.onRequestAutoplayToggle(e,{isAutoplayOn:r.getIsAutoplayOn()}):r.setState({isAutoplayOn:!1}))}),lc(ic(r),"changeTranslationAutomatically",function(){r.setTranslationAmount(-(r.state.stageWidth||r.stageWidth)*r.getCurrentPanel())}),lc(ic(r),"canGoToNext",function(){return r.getCurrentPanel()<r.nrOfPanels-1}),lc(ic(r),"canGoToPrevious",function(){return 0<r.getCurrentPanel()}),lc(ic(r),"handleKeyDown",function(e){var t,n=(lc(t={},_t.LEFT,function(){(r.props.isInfinite||r.canGoToPrevious())&&(r.onPreviousPanelHandler(e),r.setState({indicatorsHaveFocus:!0}),r.getIsAutoplayOn()&&r.stopAutoplay(e))}),lc(t,_t.RIGHT,function(){(r.props.isInfinite||r.canGoToNext())&&(r.onNextPanelHandler(e),r.setState({indicatorsHaveFocus:!0}),r.getIsAutoplayOn()&&r.stopAutoplay(e))}),t);n[e.keyCode]&&(gt.trapImmediate(e),n[e.keyCode]())}),r.nrOfPanels=Math.ceil(e.items.length/e.itemsPerPanel),r.stageItem=P.a.createRef(),r.state={currentPanel:void 0!==e.currentPanel?e.currentPanel:0,indicatorsHaveFocus:!1,isAutoplayOn:void 0!==e.isAutoplayOn?e.isAutoplayOn:e.hasAutoplay,stageWidth:0,translateX:-1e6},r.generatedId=m.a.generate(),r}return 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)}(t,P.a.Component),function(e,t,n){t&&oc(e.prototype,t),n&&oc(e,n)}(t,[{key:"componentDidMount",value:function(){St&&void 0!==this.stageItem&&void 0!==this.stageItem.current&&void 0!==this.stageItem.current.offsetWidth&&(this.stageWidth=this.stageItem.current.offsetWidth),wt&&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(){wt&&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 n=this,e=this.props,t=e.hasAutoplay,r=e.hasPreviousNextPanelNavigation,o=e.isInfinite,a=this.getCurrentPanel(),i=this.props.id||this.generatedId,s=!(o||this.canGoToPrevious()),l=!(o||this.canGoToNext()),c=(this.state.stageWidth||this.stageWidth)/this.props.itemsPerPanel,u=r?{marginLeft:"44px",marginRight:"44px"}:{};return P.a.createElement("div",{className:I()("slds-carousel",this.props.className),id:i,onKeyDown:this.handleKeyDown},P.a.createElement("div",{className:"slds-grid_vertical slds-col slds-path__scroller"},t&&P.a.createElement(tc,{assistiveText:this.props.assistiveText.autoplayButton,isAutoplayOn:this.getIsAutoplayOn(),onClick:this.onAutoplayBtnClick}),P.a.createElement("div",{className:"slds-is-relative",style:u},r&&P.a.createElement($l,{assistiveText:this.props.assistiveText.previousPanel,iconName:"chevronleft",isDisabled:s,onClick:function(e){n.getIsAutoplayOn()&&n.stopAutoplay(e),n.onPreviousPanelHandler(e)},inlineStyle:{left:"-38px"}}),P.a.createElement("div",{ref:this.stageItem,className:"slds-carousel__stage slds-show"},P.a.createElement("div",{className:"slds-carousel__panels slds-is-relative",style:{transform:"translateX(".concat(this.state.translateX,"px)")}},this.props.items.map(function(t,e){return P.a.createElement(ec,rc({carouselId:i,getPanelId:n.getPanelId,onClick:function(e){n.props.onItemClick(e,{item:t})},onFocus:function(e){n.getIsAutoplayOn()&&n.stopAutoplay(e)},onRenderItem:n.props.onRenderItem},t,{isInCurrentPanel:e>=a*n.props.itemsPerPanel&&e<a*n.props.itemsPerPanel+n.props.itemsPerPanel,itemWidth:c,key:t.id,panelIndex:Math.ceil((e+1)/n.props.itemsPerPanel)-1}))}))),r&&P.a.createElement($l,{assistiveText:this.props.assistiveText.nextPanel,iconName:"chevronright",isDisabled:l,onClick:function(e){n.getIsAutoplayOn()&&n.stopAutoplay(e),n.onNextPanelHandler(e)},inlineStyle:{right:"-38px"}})),P.a.createElement(Yl,{noOfIndicators:this.nrOfPanels,carouselId:i,currentIndex:a,getPanelId:this.getPanelId,hasFocus:this.state.indicatorsHaveFocus,onBlur:this.onIndicatorBlur,onClick:this.onIndicatorClickHandler,onFocus:this.onIndicatorFocus,items:this.props.items,itemsPerPanel:this.props.itemsPerPanel})))}}]),t}();lc(cc,"displayName","SLDSCarousel"),lc(cc,"propTypes",{assistiveText:o.a.object,autoplayInterval:o.a.number,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),currentPanel:o.a.number,hasAutoplay:o.a.bool,hasPreviousNextPanelNavigation:o.a.bool,id:o.a.string,isAutoplayOn:o.a.bool,isInfinite:o.a.bool,items:o.a.array.isRequired,itemsPerPanel:o.a.number,onRenderItem:o.a.func,onRequestAutoplayToggle:o.a.func,onRequestPanelChange:o.a.func,onItemClick:o.a.func}),lc(cc,"defaultProps",{assistiveText:{autoplayButton:"Start / Stop auto-play",nextPanel:"Next Panel",previousPanel:"Previous Panel"},autoplayInterval:4e3,hasAutoplay:!1,hasPreviousNextPanelNavigation:!1,isInfinite:!1,itemsPerPanel:1});var uc=cc;var pc=function(){},dc=n(42);function fc(e){return(fc="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 mc(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){_c(t,e,n[e])})}return t}function hc(){return(hc=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 bc(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){return(yc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function gc(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vc(e,t){return(vc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 Oc={"aria-controls":o.a.string,"aria-describedby":o.a.string,"aria-labelledby":o.a.string,"aria-owns":o.a.string,"aria-required":o.a.bool,assistiveText:o.a.shape({heading:o.a.string,label:o.a.string}),checked:o.a.bool,defaultChecked:o.a.bool,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),disabled:o.a.bool,errorText:o.a.string,id:o.a.string,indeterminate:o.a.bool,labels:o.a.shape({heading:o.a.string,label:o.a.string,toggleDisabled:o.a.string,toggleEnabled:o.a.string}),name:o.a.string,onBlur:o.a.func,onChange:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,readOnly:o.a.bool,required:o.a.bool,role:o.a.string,variant:o.a.oneOf(["base","toggle","button-group","visual-picker"]),coverable:o.a.bool,vertical:o.a.bool,onRenderVisualPicker:o.a.func,onRenderVisualPickerSelected:o.a.func,onRenderVisualPickerNotSelected:o.a.func,size:o.a.oneOf(["medium","large"])},xc={assistiveText:{},labels:{toggleDisabled:"Disabled",toggleEnabled:"Enabled"},variant:"base"},Sc=function(){function t(e){var a;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),_c(gc(a=function(e,t){return!t||"object"!==fc(t)&&"function"!=typeof t?gc(e):t}(this,yc(t).call(this,e))),"getId",function(){return a.props.id||a.generatedId}),_c(gc(a),"getErrorId",function(){return a.props.errorText?"".concat(a.getId(),"-error-text"):void 0}),_c(gc(a),"getAriaDescribedBy",function(){var e=(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{}).idArray;return(void 0===e?[]:e).concat(a.props["aria-describedby"],a.getErrorId()).filter(Boolean).join(" ")||void 0}),_c(gc(a),"handleChange",function(e){var t=a.props,n=t.checked,r=t.indeterminate,o=t.onChange;"function"==typeof o&&(a.props.oldEventParameterOrder?o(e.target.checked,e,{checked:!!r||!n,indeterminate:!1}):o(e,{checked:!!r||!n,indeterminate:!1}))}),_c(gc(a),"handleKeyDown",function(e){e.keyCode&&(e.keyCode!==_t.ENTER&&e.keyCode!==_t.SPACE||(gt.trapImmediate(e),a.handleChange(e)))}),_c(gc(a),"renderButtonGroupVariant",function(e,t,n,r){return P.a.createElement("span",{className:"slds-button slds-checkbox_button"},P.a.createElement("input",hc({disabled:e.disabled},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{id:a.getId(),name:e.name,onBlur:e.onBlur,onChange:a.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(e){a.input=e},role:e.role,required:e.required,type:"checkbox"},t,{"aria-describedby":a.getAriaDescribedBy()})),P.a.createElement("label",{className:"slds-checkbox_button__label",htmlFor:a.getId()},P.a.createElement("span",{className:"slds-checkbox_faux"},r.label),n.label?P.a.createElement("span",{className:"slds-assistive-text"},n.label):null))}),_c(gc(a),"renderBaseVariant",function(t,e,n,r){return P.a.createElement("div",{className:I()("slds-form-element",{"is-required":t.required,"slds-has-error":t.errorText},t.className)},P.a.createElement("div",{className:"slds-form-element__control"},P.a.createElement("span",{className:"slds-checkbox"},t.required?P.a.createElement("abbr",{className:"slds-required",title:"required"},"*"):null,P.a.createElement("input",hc({disabled:t.disabled},void 0!==t.checked?{checked:t.checked}:{defaultChecked:t.defaultChecked},{id:a.getId(),name:t.name,onBlur:t.onBlur,onChange:a.handleChange,onFocus:t.onFocus,onKeyDown:t.onKeyDown,onKeyPress:t.onKeyPress,onKeyUp:t.onKeyUp,ref:function(e){e&&(e.indeterminate=t.indeterminate),a.input=e},role:t.role,required:t.required,type:"checkbox"},e,{"aria-describedby":a.getAriaDescribedBy()})),P.a.createElement("label",{className:"slds-checkbox__label",htmlFor:a.getId(),id:t.labelId},P.a.createElement("span",{className:"slds-checkbox_faux"}),r.label?P.a.createElement("span",{className:"slds-form-element__label"},r.label):null,n.label?P.a.createElement("span",{className:"slds-assistive-text"},n.label):null))),t.errorText?P.a.createElement("div",{className:"slds-form-element__help",id:a.getErrorId()},t.errorText):null)}),_c(gc(a),"renderToggleVariant",function(e,t,n,r){return P.a.createElement("div",{className:I()("slds-form-element",{"is-required":e.required,"slds-has-error":e.errorText},e.className)},P.a.createElement("label",{className:"slds-checkbox_toggle slds-grid",htmlFor:a.getId()},e.required?P.a.createElement("abbr",{className:"slds-required",title:"required"},"*"):null,r.label?P.a.createElement("span",{className:"slds-form-element__label slds-m-bottom_none"},r.label):null,n.label?P.a.createElement("span",{className:"slds-assistive-text"},n.label):null,P.a.createElement("input",hc({disabled:e.disabled,id:a.getId()},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{name:e.name,onBlur:e.onBlur,onChange:a.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(e){a.input=e},role:e.role,required:e.required,type:"checkbox"},t,{"aria-describedby":a.getAriaDescribedBy({idArray:["".concat(a.getId(),"-desc")]})})),P.a.createElement("span",{id:"".concat(a.getId(),"-desc"),className:"slds-checkbox_faux_container","aria-live":"assertive"},P.a.createElement("span",{className:"slds-checkbox_faux"}),P.a.createElement("span",{className:"slds-checkbox_on"},r.toggleEnabled),P.a.createElement("span",{className:"slds-checkbox_off"},r.toggleDisabled))),e.errorText?P.a.createElement("div",{className:"slds-form-element__help",id:a.getErrorId()},e.errorText):null)}),_c(gc(a),"renderVisualPickerVariant",function(e,t,n){return P.a.createElement("span",{className:I()("slds-visual-picker","slds-visual-picker_".concat(a.props.size),a.props.vertical?"slds-visual-picker_vertical":null)},P.a.createElement("input",hc({disabled:e.disabled},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{id:a.getId(),name:e.name,onBlur:e.onBlur,onChange:a.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(e){a.input=e},role:e.role,required:e.required,type:"checkbox"},t,{"aria-describedby":a.getAriaDescribedBy()})),P.a.createElement("label",{className:"slds-checkbox_button__label",htmlFor:a.getId()},a.props.coverable?P.a.createElement("div",{className:"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center"},P.a.createElement("span",{className:"slds-is-selected"},a.props.onRenderVisualPickerSelected()),P.a.createElement("span",{className:"slds-is-not-selected"},a.props.onRenderVisualPickerNotSelected())):P.a.createElement("span",{className:"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center"},a.props.onRenderVisualPicker()),a.props.vertical?null:P.a.createElement("span",{className:"slds-visual-picker__body"},a.props.labels.heading?P.a.createElement("span",{className:"slds-text-heading_small"},a.props.labels.heading):null,P.a.createElement("span",{className:"slds-text-title"},a.props.labels.label),n.label||n.heading?P.a.createElement("span",{className:"slds-assistive-text"},n.label||n.heading):null),a.props.coverable?null:P.a.createElement("span",{className:"slds-icon_container slds-visual-picker__text-check"},P.a.createElement(en,{assistiveText:a.props.assistiveText,category:"utility",name:"check",colorVariant:"base",size:"x-small"}))))}),pc(R,a.props,dc),a.generatedId=m.a.generate(),a}return 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)}(t,P.a.Component),function(e,t,n){t&&bc(e.prototype,t),n&&bc(e,n)}(t,[{key:"render",value:function(){var e=mn(this.props);"toggle"===this.props.variant&&(e["aria-describedby"]="".concat(this.getId(),"-desc"));var t=mc({},xc.assistiveText,"string"==typeof this.props.assistiveText?{label:this.props.assistiveText}:{},"object"===fc(this.props.assistiveText)?this.props.assistiveText:{}),n=mc({},xc.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)}}]),t}();Sc.displayName=R,Sc.propTypes=Oc,Sc.defaultProps=xc;var wc=Sc;var Ec=function(){};function Cc(e){return(Cc="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(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!t||"object"!==Cc(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function kc(e){return(kc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function jc(e,t){return(jc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Pc,Ic,Dc,Rc=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Nc(this,kc(e).apply(this,arguments))}return 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)}(e,P.a.Component),function(e,t,n){t&&Tc(e.prototype,t),n&&Tc(e,n)}(e,[{key:"render",value:function(){var e;return(this.props.errorTextWorkingColor||this.props.color.errors)&&(e="color-picker-custom-error-".concat(this.props.id)),P.a.createElement("div",{className:"slds-color-picker__custom-inputs"},P.a.createElement(Ll,{"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}),P.a.createElement(Ll,{"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)}),P.a.createElement(Ll,{"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)}),P.a.createElement(Ll,{"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)}))}}]),e}();Dc="SLDSCustomColorForm",(Ic="displayName")in(Pc=Rc)?Object.defineProperty(Pc,Ic,{value:Dc,enumerable:!0,configurable:!0,writable:!0}):Pc[Ic]=Dc;var Ac=Rc;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,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}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!t||"object"!==Lc(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function qc(e){return(qc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Hc(e,t){return(Hc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Kc={assistiveText:o.a.shape({label:o.a.string,required:o.a.string}),children:o.a.node.isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),labels:o.a.shape({error:o.a.string,label:o.a.string}),onChange:o.a.func,disabled:o.a.bool,required:o.a.bool,name:o.a.string,errorId:o.a.string,variant:o.a.oneOf(["base","button-group"])},Wc={assistiveText:{required:"Required"},labels:{},variant:"base"},Vc=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=Mc(this,qc(n).call(this,e))).generatedName=m.a.generate(),t.generatedErrorId=m.a.generate(),t}return 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&&Hc(e,t)}(n,P.a.Component),function(e,t,n){t&&Fc(e.prototype,t),n&&Fc(e,n)}(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 t=this;this.labels=this.props.labels?jn()({},Wc.labels,this.props.labels):Wc.labels;var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Bc(t,e,n[e])})}return t}({},Wc.assistiveText,this.props.assistiveText),n=P.a.Children.map(this.props.children,function(e){return P.a.cloneElement(e,{name:t.getName(),onChange:t.props.onChange,"aria-describedby":t.getErrorId(),disabled:t.props.disabled})});return P.a.createElement("fieldset",{className:I()("slds-form-element",{"slds-has-error":this.labels.error})},P.a.createElement("legend",{className:I()("slds-form-element__legend","slds-form-element__label",e.label?"slds-assistive-text":"")},this.props.required?P.a.createElement("abbr",{className:"slds-required",title:"required"},"*",P.a.createElement("div",{className:"slds-assistive-text"},e.required," ")):null,e.label?e.label:this.labels.label),P.a.createElement("div",{className:I()("slds-form-element__control",this.props.className)},"button-group"===this.props.variant?P.a.createElement("div",{style:this.props.style,className:"slds-radio_button-group"},n):n,this.labels.error?P.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},this.labels.error):null))}}]),n}();Vc.displayName="SLDSRadioGroup",Vc.propTypes=Kc,Vc.defaultProps=Wc;var Uc=Vc;function zc(){return(zc=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 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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Yc(e){e.variant;var t=Gc(e,["variant"]);return P.a.createElement(Uc,zc({variant:"button-group"},t))}var Qc={assistiveText:o.a.shape({label:o.a.string}),children:o.a.node.isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),labels:o.a.shape({error:o.a.string,label:o.a.string}),onChange:o.a.func,disabled:o.a.bool,required:o.a.bool,name:o.a.string,errorId:o.a.string};Yc.displayName="SLDSRadioButtonGroup",Yc.propTypes=Qc,Yc.defaultProps={labels:{},assistiveText:{}};var Jc=Yc;function Xc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $c(e){var t=e.color,n=e.style,r=e.label,o=e.labels,a=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Xc(t,e,n[e])})}return t}({backgroundColor:t},n),i=r||t;return t||(a.backgroundImage="linear-gradient(-45deg, white 47%, #870500 0, #870500 53%, white 0)",o&&o.swatchTabTransparentSwatch&&(i=o.swatchTabTransparentSwatch)),P.a.createElement("span",{className:"slds-swatch",style:a},P.a.createElement("span",{className:"slds-assistive-text"},i))}$c.propTypes={color:o.a.string.isRequired};var Zc=$c;var eu=function(){},tu=n(43);function nu(e){return(nu="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 ru(){return(ru=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 ou(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 au(e){return(au=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function iu(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function su(e,t){return(su=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 cu={assistiveText:o.a.shape({label:o.a.string}),"aria-describedby":o.a.string,"aria-labelledby":o.a.string,checked:o.a.bool,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),defaultChecked:o.a.bool,disabled:o.a.bool,id:o.a.string,labels:o.a.shape({heading:o.a.string,label:o.a.string}),name:o.a.string,onChange:o.a.func,value:o.a.string,variant:o.a.oneOf(["base","button-group","swatch","visual-picker"]),coverable:o.a.bool,vertical:o.a.bool,onRenderVisualPicker:o.a.func,onRenderVisualPickerSelected:o.a.func,onRenderVisualPickerNotSelected:o.a.func,description:o.a.string,size:o.a.oneOf(["medium","large"]),refs:o.a.shape({input:o.a.func})},uu={assistiveText:{},variant:"base",coverable:!1},pu=function(){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),lu(iu(n=function(e,t){return!t||"object"!==nu(t)&&"function"!=typeof t?iu(e):t}(this,au(t).call(this,e))),"handleChange",function(e,t){n.preventDuplicateChangeEvent?n.preventDuplicateChangeEvent=!1:(n.preventDuplicateChangeEvent=Boolean(t),n.props.onChange&&n.props.onChange(e,{checked:!n.props.checked}))}),n.preventDuplicateChangeEvent=!1,n}return 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&&su(e,t)}(t,P.a.Component),function(e,t,n){t&&ou(e.prototype,t),n&&ou(e,n)}(t,[{key:"componentWillMount",value:function(){eu("SLDSRadio",this.props,tu),this.generatedId=m.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e,n=this,t=mn(this.props),r=function(n){return Object.keys(n).reduce(function(e,t){return"data-"===t.substr(0,5)&&(e[t]=n[t]),e},{})}(this.props),o=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){lu(t,e,n[e])})}return t}({},uu.labels,this.props.label?{label:this.props.label}:{},this.props.labels);return e="swatch"===this.props.variant?P.a.createElement("label",{style:{border:"1px"},className:"slds-radio_button__label",htmlFor:this.getId()},P.a.createElement("span",null,P.a.createElement(Zc,{label:o.label,style:this.props.style,color:this.props.value}))):"button-group"===this.props.variant?P.a.createElement("label",{className:"slds-radio_button__label",htmlFor:this.getId()},P.a.createElement("span",{className:"slds-radio_faux"},o.label)):"visual-picker"===this.props.variant?P.a.createElement("label",{htmlFor:this.getId()},this.props.coverable?P.a.createElement("div",{className:"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center"},P.a.createElement("span",{className:"slds-is-selected"},this.props.onRenderVisualPickerSelected()),P.a.createElement("span",{className:"slds-is-not-selected"},this.props.onRenderVisualPickerNotSelected())):P.a.createElement("span",{className:"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center"},this.props.onRenderVisualPicker()),this.props.vertical?null:P.a.createElement("span",{className:"slds-visual-picker__body"},o.heading?P.a.createElement("span",{className:"slds-text-heading_small"},o.heading):null,P.a.createElement("span",{className:"slds-text-title"},o.label)),this.props.coverable?null:P.a.createElement("span",{className:"slds-icon_container slds-visual-picker__text-check"},P.a.createElement(en,{assistiveText:this.props.assistiveText,category:"utility",name:"check",colorVariant:"base",size:"x-small"}))):P.a.createElement("label",{className:"slds-radio__label",htmlFor:this.getId(),id:this.props.labelId},P.a.createElement("span",{className:"slds-radio_faux"}),P.a.createElement("span",{className:"slds-form-element__label"},o.label),this.props.assistiveText.label?P.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText.label):null),P.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)},P.a.createElement("input",ru({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){n.handleChange(e)},onClick:function(e){n.props.checked&&n.props.deselectable&&n.handleChange(e)},onKeyPress:function(e){var t=e.charCode;t===_t.SPACE&&n.props.checked&&n.props.deselectable?n.handleChange(e,!0):(t===_t.ENTER&&n.props.checked&&n.props.deselectable||!n.props.checked)&&n.handleChange(e)},disabled:this.props.disabled},t,r,{ref:function(e){n.props.refs&&n.props.refs.input&&n.props.refs.input(e)}})),e)}}]),t}();pu.displayName="SLDSRadio",pu.propTypes=cu,pu.defaultProps=uu;var du=pu,fu=du,mu=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,hu={getNewColor:function(e,t,n){var r=2<arguments.length&&void 0!==n?n:{};if(e.hex)return(t?t(e.hex):this.isValidHex(e.hex))?{hex:e.hex,hsv:this.getHsvFromHex(e.hex),rgb:this.getRgbFromHex(e.hex)}:jn()({},r,{hex:e.hex,errors:jn()({},r.errors,{hex:!0}),hsv:{hue:"",saturation:"",value:""},rgb:{red:"",green:"",blue:""}});if("red"in e||"blue"in e||"green"in e){var o=jn()({},r.rgb,e),a=this.getRgbErrors(o);return Object.values(a).includes(!0)?jn()({},r,{rgb:o,errors:jn()({},r.errors,a)}):{hex:this.getHexFromRgb(o),hsv:this.getHsvFromRgb(o),rgb:o}}if("hue"in e||"saturation"in e||"value"in e){var i=jn()({},r.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){function r(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||mu.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||256<=e}(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}))},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=mu.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 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 yu(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){xu(t,e,n[e])})}return t}function gu(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 vu(e){return(vu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ou(e,t){return(Ou=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function xu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Su={border:"1px solid #9e9e9e",boxShadow:"rgb(117, 112, 112) 1px 1px 1px",marginRight:"2px"},wu={border:"1px solid #9e9e9e",marginRight:"2px"},Eu=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return xu(_u(t=function(e,t){return!t||"object"!==bu(t)&&"function"!=typeof t?_u(e):t}(this,(e=vu(a)).call.apply(e,[this].concat(r)))),"handleSwatchChange",function(e){t.setState({isTransparentSelected:""===e.target.value}),t.props.onSwatchChange(e)}),xu(_u(t),"isTransparent",function(){return""===t.props.color.hex}),t}return 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)}(a,P.a.Component),function(e,t,n){t&&gu(e.prototype,t),n&&gu(e,n)}(a,[{key:"render",value:function(){var t=this,e=this.isTransparent()?yu({},wu):yu({},Su),n=this.isTransparent()?yu({},Su):yu({},wu),r=this.props.previousColor.hex?this.props.previousColor:hu.getNewColor({hex:"#000000"}),o=this.isTransparent()?r:this.props.color;return P.a.createElement("div",null,P.a.createElement("p",{className:"slds-assistive-text",id:"color-picker-instructions-".concat(this.props.id)},this.props.assistiveText.saturationValueGrid),P.a.createElement("div",{className:"slds-color-picker__custom-range",style:{background:"hsl(".concat(o.hsv.hue,", 100%, 50%)")},onClick:function(e){!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)})}(e,t.rangeIndicator,{onSaturationValueChange:t.props.onSaturationValueChange})},role:"presentation"},P.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(e){!function(t,e){var n,r=e.onSaturationNavigate,o=e.onValueNavigate,a=(xu(n={},_t.LEFT,function(e){r(t,{delta:-1*e})}),xu(n,_t.RIGHT,function(e){r(t,{delta:e})}),xu(n,_t.UP,function(e){o(t,{delta:e})}),xu(n,_t.DOWN,function(e){o(t,{delta:-1*e})}),n);a[t.keyCode]&&(t.preventDefault(),a[t.keyCode](t.shiftKey?10:1))}(e,yu({},t.props))},ref:function(e){t.rangeIndicator=e},role:"button",style:{bottom:"".concat(o.hsv.value,"%"),left:"".concat(o.hsv.saturation,"%")},tabIndex:0},P.a.createElement("span",{className:"slds-assistive-text"},"Saturation ".concat(o.hsv.saturation,"% Brightness: ").concat(o.hsv.value,"%")))),P.a.createElement("div",{className:"slds-color-picker__hue-and-preview"},P.a.createElement("label",{className:"slds-assistive-text",htmlFor:"color-picker-input-range-".concat(this.props.id)},this.props.assistiveText.hueSlider),P.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:o.hsv.hue,onChange:this.props.onHueChange}),P.a.createElement(Jc,{name:"".concat(this.props.id,"-color-picker-swatch-toggle-button-group"),assistiveText:{label:"Toggle Transparency"},style:{border:"none",borderRadius:"unset"},onChange:this.handleSwatchChange},P.a.createElement(fu,{checked:!this.isTransparent(),id:"color-picker-active-working-color-swatch-".concat(this.props.id),key:"working-color",label:this.props.labels.customTabActiveWorkingColorSwatch,style:e,value:o.hex,variant:"swatch"}),P.a.createElement(fu,{checked:this.isTransparent(),id:"color-picker-transparent-swatch-".concat(this.props.id),key:"transparent",label:this.props.labels.customTabTransparentSwatch,style:n,value:"",variant:"swatch"}))))}}]),a}();xu(Eu,"displayName","SLDSHsvColor");var Cu=Eu;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(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 ku(e,t){return!t||"object"!==Tu(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function ju(e){return(ju=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Pu(e,t){return(Pu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Iu,Du,Ru,Au=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),ku(this,ju(e).apply(this,arguments))}return 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&&Pu(e,t)}(e,P.a.Component),function(e,t,n){t&&Nu(e.prototype,t),n&&Nu(e,n)}(e,[{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,P.a.createElement("div",{className:"slds-color-picker__custom"},P.a.createElement(Cu,{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}),P.a.createElement(Ac,{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?P.a.createElement("p",{className:"slds-form-error slds-color-picker__input-custom-error",id:"color-picker-custom-error-".concat(this.props.id)},e):"")}}]),e}();Ru="SLDSCustomColor",(Du="displayName")in(Iu=Au)?Object.defineProperty(Iu,Du,{value:Ru,enumerable:!0,configurable:!0,writable:!0}):Iu[Du]=Ru;var Lu=Au,Bu=n(8),Fu=n.n(Bu);function Mu(e){return(Mu="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){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 Hu(e,t){return!t||"object"!==Mu(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Ku(e){return(Ku=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Wu(e,t){return(Wu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Vu,Uu,zu,Gu={border:"1px solid #141414",borderRadius:"2px",margin:"3px"},Yu={border:"1px solid white",borderRadius:"2px"},Qu=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Hu(this,Ku(e).apply(this,arguments))}return 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&&Wu(e,t)}(e,P.a.Component),function(e,t,n){t&&qu(e.prototype,t),n&&qu(e,n)}(e,[{key:"render",value:function(){var t=this;return P.a.createElement("li",{className:"slds-color-picker__swatch",style:this.props.workingColor&&this.props.workingColor.hex===this.props.color?Gu:{},role:"presentation"},P.a.createElement("a",{"aria-selected":this.props.workingColor&&this.props.workingColor.hex===this.props.color,className:"slds-color-picker__swatch-trigger",onClick:function(e){!function(e,t){var n=t.hex,r=t.onSelect;e.preventDefault(),r(e,{hex:n})}(e,{hex:t.props.color,onSelect:t.props.onSelect})},ref:this.props.swatchOptionRef,role:"option",style:this.props.workingColor&&this.props.workingColor===this.props.color?Yu:{},tabIndex:this.props.tabIndex},P.a.createElement(Zc,{color:this.props.color,labels:this.props.labels})))}}]),e}();zu="SLDSSwatchOption",(Uu="displayName")in(Vu=Qu)?Object.defineProperty(Vu,Uu,{value:zu,enumerable:!0,configurable:!0,writable:!0}):Vu[Uu]=zu;var Ju=Qu;function Xu(e){return(Xu="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(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 Zu(e){return(Zu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ep(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tp(e,t){return(tp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function np(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var rp=function(){function t(e){var a;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),np(ep(a=function(e,t){return!t||"object"!==Xu(t)&&"function"!=typeof t?ep(e):t}(this,Zu(t).call(this,e))),"selectPreviousColor",function(e,t){var n=Fu()(t.swatchColors,function(e){return e===t.color.hex}),r=-1===n||n===t.swatchColors.length-1?0:n+1,o=t.swatchColors[r];t.onSelect(e,{hex:o}),a.swatchColorRefs[o].focus()}),np(ep(a),"selectNextColor",function(e,t){var n,r=Fu()(t.swatchColors,function(e){return e===t.color.hex});n=0===r?t.swatchColors.length-1:-1===r?0:r-1;var o=t.swatchColors[n];t.onSelect(e,{hex:o}),a.swatchColorRefs[o].focus()}),np(ep(a),"handleKeyDown",function(e,t){var n,r=(np(n={},_t.RIGHT,function(){t.direction===xe.RTL?a.selectNextColor(e,t):a.selectPreviousColor(e,t)}),np(n,_t.DOWN,function(){a.selectPreviousColor(e,t)}),np(n,_t.LEFT,function(){t.direction===xe.RTL?a.selectPreviousColor(e,t):a.selectNextColor(e,t)}),np(n,_t.UP,function(){a.selectNextColor(e,t)}),n);e.keyCode&&r[e.keyCode]&&(gt.trapEvent(e),r[e.keyCode]())}),np(ep(a),"addRef",function(t){return function(e){a.swatchColorRefs[t]=e}}),a.swatchColorRefs={},a}return 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&&tp(e,t)}(t,P.a.Component),function(e,t,n){t&&$u(e.prototype,t),n&&$u(e,n)}(t,[{key:"render",value:function(){var n=this,r=this.props.swatchColors.includes(this.props.color.hex);return P.a.createElement("ul",{className:"slds-color-picker__swatches",role:"listbox",onKeyDown:function(e){n.handleKeyDown(e,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){np(t,e,n[e])})}return t}({},n.props))}},this.props.swatchColors.map(function(e,t){return P.a.createElement(Ju,{color:e,key:e,labels:n.props.labels,onSelect:n.props.onSelect,swatchOptionRef:n.addRef(e),workingColor:n.props.color,tabIndex:n.props.color&&n.props.color.hex===e||0===t&&!r?0:-1})}))}}]),t}();np(rp,"displayName","SLDSSwatchPicker");function op(e){var t=e.id,n=e.className,r=e.children,o=e.variant;return P.a.createElement("ul",{id:"".concat(t,"-slds-tabs__nav"),className:I()(n,{"slds-tabs_default__nav":"default"===o,"slds-tabs_scoped__nav":"scoped"===o}),role:"tablist"},r)}var ap=Ge(rp);op.displayName="SLDSTabsList",op.propTypes={id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),children:o.a.oneOfType([o.a.object,o.a.array]),variant:o.a.oneOf(["default","scoped"])};var ip=op;function sp(e){return(sp="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 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 cp(e){return(cp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function up(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function pp(e,t){return(pp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function dp(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var fp=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return dp(up(t=function(e,t){return!t||"object"!==sp(t)&&"function"!=typeof t?up(e):t}(this,(e=cp(a)).call.apply(e,[this].concat(r)))),"checkFocus",function(){t.props.selected&&t.props.focus&&t.node&&t.node.focus()}),t}return 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&&pp(e,t)}(a,P.a.Component),function(e,t,n){t&&lp(e.prototype,t),n&&lp(e,n)}(a,[{key:"componentDidMount",value:function(){this.checkFocus()}},{key:"componentDidUpdate",value:function(){this.checkFocus()}},{key:"render",value:function(){var e,t,n,r=this,o=this.props,a=o.selected,i=o.disabled,s=o.panelId,l=o.activeTabClassName,c=o.disabledTabClassName,u=o.className,p=o.children,d=o.id,f=o.variant;return n=a?"0":i?"-1":null,P.a.createElement("li",{className:I()(u,(e={},dp(e,l,a),dp(e,c,i),dp(e,"slds-tabs_default__item","default"===f),dp(e,"slds-tabs_scoped__item","scoped"===f),e)),role:"presentation",ref:function(e){r.node=e},tabIndex:n,id:d,title:"string"==typeof p?p:null},P.a.createElement("a",{className:I()((t={},dp(t,l,a),dp(t,c,i),dp(t,"slds-tabs_default__link","default"===f),dp(t,"slds-tabs_scoped__link","scoped"===f),t)),href:"javascript:void(0);",role:"tab",tabIndex:"-1","aria-controls":s,"aria-disabled":i,"aria-selected":a?"true":"false"},p))}}]),a}();dp(fp,"displayName","SLDSTab"),dp(fp,"propTypes",{className:o.a.string,id:o.a.string,focus:o.a.bool,selected:o.a.bool,disabled:o.a.bool,activeTabClassName:o.a.string,disabledTabClassName:o.a.string,panelId:o.a.string,children:o.a.oneOfType([o.a.string,o.a.element]),variant:o.a.oneOf(["default","scoped"])}),dp(fp,"defaultProps",{focus:!1,selected:!1,activeTabClassName:"slds-active",disabledTabClassName:"slds-disabled",variant:"default"});var mp=fp;function hp(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function bp(e){var t=e.className,n=e.children,r=e.variant,o=e.selected,a=e.id,i=e.tabId;return hp(e,["className","children","variant","selected","id","tabId"]),P.a.createElement("div",{"aria-labelledby":i,className:I()(t,{"slds-show":o,"slds-hide":!o,"slds-tabs_default__content":"default"===r,"slds-tabs_scoped__content":"scoped"===r}),id:a,role:"tabpanel"},n.props.children)}bp.displayName="SLDSTabPanel",bp.propTypes={children:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),className:o.a.string,id:o.a.string,selected:o.a.bool,variant:o.a.oneOf(["default","scoped"]),tabId:o.a.string},bp.defaultProps={variant:"default",selected:!1};var yp=bp;function gp(e){return(gp="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 vp(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){return(_p=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Op(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xp(e,t){return(xp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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}function wp(e){return!(!e.classList||!e.classList.contains("slds-disabled"))||(e.getAttribute?"true"===e.getAttribute("aria-disabled"):!!e.props.disabled)}var Ep={id:o.a.string,children:o.a.oneOfType([o.a.arrayOf(o.a.node),o.a.node,o.a.element]).isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),defaultSelectedIndex:o.a.number,onSelect:o.a.func,variant:o.a.oneOf(["default","scoped"]),selectedIndex:o.a.number},Cp=function(){function t(e){var o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Sp(Op(o=function(e,t){return!t||"object"!==gp(t)&&"function"!=typeof t?Op(e):t}(this,_p(t).call(this,e))),"handleClick",function(e){var t=e.target;do{if(o.isTabFromContainer(t)){if(wp(t))return;var n=t.parentNode;"LI"===n.nodeName&&(n=(t=t.parentNode).parentNode);var r=[].slice.call(n.children).indexOf(t);return void o.setSelected(r)}}while(null!==(t=t.parentNode))}),Sp(Op(o),"handleKeyDown",function(e){if(o.isTabFromContainer(e.target)){var t=o.getSelectedIndex(),n=!1;e.keyCode===_t.LEFT||e.keyCode===_t.UP?(t=o.getPrevTab(t),n=!0):e.keyCode!==_t.RIGHT&&e.keyCode!==_t.DOWN||(t=o.getNextTab(t),n=!0),n&>.trap(e),o.setSelected(t,!0)}}),o.tabs=[],o.generatedId=m.a.generate(),o.flavor=o.getVariant(),o.state={selectedIndex:e.defaultSelectedIndex},o}return 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&&xp(e,t)}(t,P.a.Component),function(e,t,n){t&&vp(e.prototype,t),n&&vp(e,n)}(t,[{key:"getNextTab",value:function(e){for(var t=this.getTabsCount(),n=e+1;n<t;n++){if(!wp(this.getTab(n)))return n}for(var r=0;r<e;r++){if(!wp(this.getTab(r)))return r}return e}},{key:"getPanelsCount",value:function(){return this.props.children?P.a.Children.count(this.props.children):0}},{key:"getPrevTab",value:function(e){for(var t=e;t--;){if(!wp(this.getTab(t)))return t}for(t=this.getTabsCount();t-- >e;){if(!wp(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?P.a.Children.count(this.props.children):0}},{key:"getVariant",value:function(){return"scoped"===this.props.variant?"scoped":"default"}},{key:"setSelected",value:function(e,t){if(!(e<0||e>=this.getTabsCount())){var n,r=this.getSelectedIndex();Xn()(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))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(i){var s=this,l=P.a.Children.toArray(this.props.children),c=this.getSelectedIndex();return l.map(function(e,t){var n="".concat(i,"-slds-tabs_tab-").concat(t),r="".concat(i,"-slds-tabs_panel-").concat(t),o=c===t,a=s.getVariant();return P.a.createElement(yp,{key:e.key,selected:o,id:r,tabId:n,variant:a},l[t])})}},{key:"renderTabsList",value:function(s){var l=this,e=P.a.Children.toArray(this.props.children);return P.a.createElement(ip,{id:s,variant:this.getVariant()},e.map(function(t,n){var e="".concat(s,"-slds-tabs_tab-").concat(n),r="".concat(s,"-slds-tabs_panel-").concat(n),o=l.getSelectedIndex()===n,a=o&&l.state.focus,i=l.getVariant();return P.a.createElement(mp,{key:t.key,ref:function(e){l.tabs[n]={tab:t,node:e},l.state.focus&&l.setState({focus:!1})},focus:a,selected:o,id:e,panelId:r,disabled:t.props.disabled,variant:i},t.props.label)}))}},{key:"render",value:function(){var t=this,e=this.props,n=e.className,r=e.id,o=void 0===r?this.generatedId:r,a=e.variant,i=void 0===a?this.getVariant:a;return P.a.createElement("div",{id:o,className:I()({"slds-tabs_default":"default"===i,"slds-tabs_scoped":"scoped"===i},n),onClick:this.handleClick,onKeyDown:this.handleKeyDown,"data-tabs":!0,ref:function(e){t.tabsNode=e}},this.renderTabsList(o),this.renderTabPanels(o))}}]),t}();Cp.displayName="SLDSTabs",Cp.propTypes=Ep,Cp.defaultProps={defaultSelectedIndex:0,variant:"default"};function Tp(e){var t=e.children;return P.a.createElement("div",null,P.a.Children.toArray(t))}var Np=Cp;Tp.displayName="SLDSTabsPanel",Tp.propTypes={label:o.a.oneOfType([o.a.string,o.a.element]).isRequired,children:o.a.oneOfType([o.a.arrayOf(o.a.node),o.a.node,o.a.element]).isRequired};var kp=Tp;var jp=function(){},Pp=n(44),Ip=function(e){var t=e.isOpen,n=e.handleClick,r=e.keyCode,o=e.eventTarget,a=e.trigger,i=e.toggleOpen;switch(r){case _t.ESCAPE:t&&i();break;case _t.ENTER:t||function(e){var t=e.trigger,n=e.eventTarget,r=e.handleClick;t&<.a.findDOMNode(t)===n&&r(event)}({trigger:a,eventTarget:o,handleClick:n})}};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 Rp(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Mp(t,e,n[e])})}return t}function Ap(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 Lp(e){return(Lp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Bp(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Fp(e,t){return(Fp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Mp(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,Hp="undefined"!=typeof document,Kp=Hp?document.createElement("span"):{style:{}};Kp.style.top=0,Kp.style.left=0,Kp.style.width="100%",Kp.style.height="100%";var Wp={align:"right",assistiveText:{closeButton:"Close dialog"},hasNoCloseButton:!(Kp.style.position="absolute"),hasNoNubbin:!1,hoverCloseDelay:300,openOn:"click",position:"absolute",variant:"base"},Vp=function(){function t(e){var f;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Mp(Bp(f=function(e,t){return!t||"object"!==Dp(t)&&"function"!=typeof t?Bp(e):t}(this,Lp(t).call(this,e))),"state",{isOpen:!1}),Mp(Bp(f),"getId",function(){return f.props.id||f.generatedId}),Mp(Bp(f),"getIsOpen",function(){return!f.props.disabled&&!!("boolean"==typeof f.props.isOpen?f.props.isOpen:f.state.isOpen)}),Mp(Bp(f),"getMenu",function(){return f.dialog}),Mp(Bp(f),"getTargetElement",function(){return f.props.onRequestTargetElement&&f.props.onRequestTargetElement()?f.props.onRequestTargetElement():f.trigger}),Mp(Bp(f),"setMenuRef",function(e){f.dialog=e}),Mp(Bp(f),"setContainerRef",function(e){f.trigger=e,f.state.inputRendered||f.setState({inputRendered:!0})}),Mp(Bp(f),"handleDialogClose",function(e,t){var n=t&&t.componentWillUnmount||!1;qp===Bp(f)&&(qp=void 0),f.props.onClose&&f.props.onClose(e,{componentWillUnmount:n})}),Mp(Bp(f),"handleClose",function(e,t){f.getIsOpen()&&(f.props.onRequestClose&&f.props.onRequestClose(e,t),qp===Bp(f)&&(qp=void 0),f.setState({isOpen:!1}),f.isHover=!1)}),Mp(Bp(f),"handleOpen",function(){f.getIsOpen()||(qp&&Xn()(qp.handleClose)&&qp.handleClose(void 0,{trigger:"newPopover",id:qp.getId()}),qp=Bp(f),f.setState({isOpen:!0}))}),Mp(Bp(f),"handleMouseEnter",function(e){var t=f.getIsOpen();f.isHover=!0,t||"hover"!==f.props.openOn?clearTimeout(f.isClosing):f.handleOpen(),f.props.onMouseEnter&&f.props.onMouseEnter(e)}),Mp(Bp(f),"handleMouseLeave",function(e){f.getIsOpen()&&(f.isClosing=setTimeout(function(){f.handleClose()},f.props.hoverCloseDelay)),f.props.onMouseLeave&&f.props.onMouseLeave(e)}),Mp(Bp(f),"handleClick",function(e,t){var n=t.triggerOnClickCallback;f.getIsOpen()?f.handleClose():f.handleOpen(),f.props.onClick&&f.props.onClick(e),n&&n(e)}),Mp(Bp(f),"handleFocus",function(e){f.getIsOpen()||f.handleOpen(),f.props.onFocus&&f.props.onFocus(e)}),Mp(Bp(f),"handleKeyDown",function(e){if(e.keyCode){if(e.keyCode!==_t.TAB){var t=f.getIsOpen();Ip({event:e,isOpen:t,handleClick:f.handleClick,key:e.key,keyCode:e.keyCode,targetTarget:e.target,toggleOpen:f.toggleOpenFromKeyboard,trigger:f.trigger})}f.props.onKeyDown&&f.props.onKeyDown(e)}}),Mp(Bp(f),"handleCancel",function(e){f.handleClose(e,{trigger:"cancel"})}),Mp(Bp(f),"handleClickOutside",function(e){f.handleClose(e,{trigger:"clickOutside"})}),Mp(Bp(f),"toggleOpenFromKeyboard",function(e){f.getIsOpen()?f.handleCancel(e):f.handleOpen()}),Mp(Bp(f),"renderDialog",function(e,t){var n=Bp(f).props,r=n.offset,o=Rp({},Wp.assistiveText,f.props.assistiveText),a=n.closeButtonAssistiveText||o.closeButton,i="error"===f.props.variant||"warning"===f.props.variant,s=f.props.heading||i,l={error:P.a.createElement(en,{category:"utility",name:"error",size:"x-small",inverse:!0}),warning:P.a.createElement(en,{category:"utility",name:"warning",size:"x-small",inverse:!0})},c={base:P.a.createElement("header",{className:I()("slds-popover__header",{"slds-p-vertical_medium":"walkthrough"===n.variant})},P.a.createElement("h2",{id:f.props.ariaLabelledby||"".concat(f.getId(),"-dialog-heading"),className:I()({"slds-text-heading_small":"walkthrough"!==n.variant,"slds-text-heading_medium":"walkthrough"===n.variant})},f.props.heading)),themed:P.a.createElement("header",{className:"slds-popover__header"},P.a.createElement(ks,{body:P.a.createElement("h2",{id:f.props.ariaLabelledby||"".concat(f.getId(),"-dialog-heading"),className:"slds-truncate slds-text-heading_medium",title:n.heading},n.heading),figure:l[f.props.variant],verticalCenter:!0}))},u=null;s&&"walkthrough-action"!==n.variant&&"feature"!==n.variant&&(u=c[i?"themed":"base"]);var p=null;p="error"===n.variant||"warning"===n.variant?P.a.createElement("div",null,P.a.createElement("div",{id:"".concat(f.getId(),"-dialog-body"),className:I()("slds-popover__body slds-popover__body_scrollable",f.props.classNameBody),style:{borderBottom:"none"}},n.body),P.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"===n.variant||"feature"===n.variant?P.a.createElement("div",{className:I()("slds-popover__body",f.props.classNameBody),id:"".concat(f.getId(),"-dialog-body")},P.a.createElement("div",{className:"slds-media"},P.a.createElement("div",{className:"slds-media__figure"},"walkthrough-action"===n.variant?P.a.createElement(en,{category:"utility",name:"touch_action",size:"small",inverse:!0}):f.props.icon),P.a.createElement("div",{className:"slds-media__body"},n.heading?P.a.createElement("h2",{id:f.props.ariaLabelledby||"".concat(f.getId(),"-dialog-heading"),className:"slds-text-heading_small"},n.heading):null,n.body,n.stepText?P.a.createElement("p",{className:"slds-m-top_medium slds-text-title"},n.stepText):null))):P.a.createElement("div",{id:"".concat(f.getId(),"-dialog-body"),className:I()("slds-popover__body",f.props.classNameBody)},n.body);var d=null;return n.footer?d=P.a.createElement("footer",{className:I()("slds-popover__footer",f.props.classNameFooter,f.props.footerClassName),style:f.props.footerStyle},f.props.footer):"walkthrough-action"!==n.variant&&(n.footerWalkthroughActions||n.stepText)&&(d=P.a.createElement("footer",{className:"slds-popover__footer"},P.a.createElement("div",{className:"slds-grid slds-grid_vertical-align-center"},n.stepText?P.a.createElement("span",{className:"slds-text-title"},n.stepText):null,n.footerWalkthroughActions?P.a.createElement("div",{className:"slds-col_bump-left",style:{display:"inline-block"}},n.footerWalkthroughActions):null))),e?P.a.createElement(Vt,{hasNubbin:!f.props.hasNoNubbin,align:n.align,contentsClassName:I()(f.props.contentsClassName,"ignore-react-onclickoutside","slds-popover",{"slds-popover_error":"error"===n.variant},{"slds-popover_walkthrough":"walkthrough"===n.variant||"walkthrough-action"===n.variant||"feature"===n.variant},{"slds-popover_walkthrough-alt":"walkthrough-action"===n.variant},{"slds-popover_feature":"feature"===n.variant},{"slds-popover_warning":"warning"===n.variant},n.className),context:f.context,hasStaticAlignment:n.hasStaticAlignment,offset:r,onCancel:f.handleClose,onClose:f.handleDialogClose,onOpen:f.props.onOpen,onKeyDown:f.handleKeyDown,onMouseEnter:"hover"===n.openOn?f.handleMouseEnter:null,onMouseLeave:"hover"===n.openOn?f.handleMouseLeave:null,outsideClickIgnoreClass:t,onRequestTargetElement:function(){return f.getTargetElement()},position:f.props.position,style:f.props.style,variant:"popover",ref:f.setMenuRef,containerProps:{id:"".concat(f.getId(),"-popover"),"aria-labelledby":f.props.ariaLabelledby||"".concat(f.getId(),"-dialog-heading"),"aria-describedby":"".concat(f.getId(),"-dialog-body")}},!f.props.hasNoCloseButton&&P.a.createElement(Cn,{assistiveText:{icon:a},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"===n.variant||"walkthrough-action"===n.variant||"feature"===n.variant}),onClick:f.handleCancel,variant:"icon",inverse:"error"===f.props.variant||"warning"===f.props.variant}),u,p,d):null}),Mp(Bp(f),"renderOverlay",function(e){Xn()(Kp)&&Hp?Kp(e,Kp):f.props.overlay&&e&&!f.overlay&&Hp?(f.overlay=Kp,document.querySelector("body").appendChild(f.overlay)):!e&&f.overlay&&f.overlay.parentNode&&(f.overlay.parentNode.removeChild(f.overlay),f.overlay=void 0)}),f.generatedId=m.a.generate(),jp(re,e,Pp),f}return 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&&Fp(e,t)}(t,P.a.Component),function(e,t,n){t&&Ap(e.prototype,t),n&&Ap(e,n)}(t,[{key:"componentWillUnmount",value:function(){qp===this&&(qp=void 0),this.isUnmounting=!0,this.renderOverlay(!1)}},{key:"render",value:function(){var n=this,r=[],e="ignore-click-".concat(this.getId()),o=null;P.a.Children.forEach(this.props.children,function(t,e){0===e?o=P.a.cloneElement(t,Rp({"aria-haspopup":"dialog",id:n.getId(),onClick:"click"===n.props.openOn||"hybrid"===n.props.openOn?function(e){n.handleClick(e,{triggerOnClickCallback:t.props.onClick})}:t.props.onClick,onFocus:"hover"===n.props.openOn?n.handleFocus:null,onMouseDown:n.props.onMouseDown,onMouseEnter:"hover"===n.props.openOn||"hybrid"===n.props.openOn?n.handleMouseEnter:null,onMouseLeave:"hover"===n.props.openOn||"hybrid"===n.props.openOn?n.handleMouseLeave:null,tabIndex:t.props.tabIndex||"0"},t.props)):r.push(t)}),this.renderOverlay(this.getIsOpen());var t={display:this.props.hasNoTriggerStyles?void 0:"inline-block"};return P.a.createElement("div",{className:this.props.triggerClassName,style:t,ref:this.setContainerRef},o,0<r.length?r:null,this.renderDialog(this.getIsOpen(),e))}}]),t}();Mp(Vp,"displayName",re),Mp(Vp,"propTypes",{align:o.a.oneOf(["top","top left","top right","right","right top","right bottom","bottom","bottom left","bottom right","left","left top","left bottom"]),assistiveText:o.a.shape({closeButton:o.a.string}),ariaLabelledby:o.a.string,children:o.a.node.isRequired,body:o.a.oneOfType([o.a.node,o.a.array]).isRequired,classNameBody:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameFooter:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),disabled:o.a.bool,footer:o.a.node,footerStyle:o.a.object,footerWalkthroughActions:o.a.oneOfType([o.a.node,o.a.arrayOf(o.a.node)]),hasNoCloseButton:o.a.bool,hasNoNubbin:o.a.bool,hasStaticAlignment:o.a.bool,hasNoTriggerStyles:o.a.bool,heading:o.a.oneOfType([o.a.string,o.a.node]),icon:o.a.node,id:o.a.string,isOpen:o.a.bool,onClick:o.a.func,onClose:o.a.func,onKeyDown:o.a.func,onMouseDown:o.a.func,onOpen:o.a.func,onRequestClose:o.a.func,onRequestTargetElement:o.a.func,position:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),stepText:o.a.string,style:o.a.object,overlay:o.a.oneOfType([o.a.bool,o.a.func]),triggerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),variant:o.a.oneOf(["base","error","feature","walkthrough","walkthrough-action","warning"])}),Mp(Vp,"defaultProps",Wp),Vp.contextTypes={iconPath:o.a.string};var Up=Vp,zp=ya(Up),Gp=n(45);function Yp(e){return(Yp="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 Qp(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){return(Jp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Xp(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function $p(e,t){return($p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Zp(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ed={assistiveText:o.a.shape({label:o.a.string,hueSlider:o.a.string,saturationValueGrid:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameMenu:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,disabled:o.a.bool,errorText:o.a.string,errorTextWorkingColor:o.a.string,events:o.a.shape({onChange:o.a.func,onClose:o.a.func,onOpen:o.a.func,onRequestClose:o.a.func,onRequestOpen:o.a.func,onValidateColor:o.a.func,onValidateWorkingColor:o.a.func,onWorkingColorChange:o.a.func}),hasStaticAlignment:o.a.bool,hideInput:o.a.bool,isOpen:o.a.bool,labels:o.a.shape({blueAbbreviated:o.a.string,cancelButton:o.a.string,customTab:o.a.string,customTabActiveWorkingColorSwatch:o.a.string,customTabTransparentSwatch:o.a.string,greenAbbreviated:o.a.string,hexLabel:o.a.string,invalidColor:o.a.string,invalidComponent:o.a.string,label:o.a.string,redAbbreviated:o.a.string,swatchTab:o.a.string,swatchTabTransparentSwatch:o.a.string,submitButton:o.a.string}),menuPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),swatchColors:o.a.arrayOf(o.a.string),defaultSelectedTab:o.a.oneOf(["swatches","custom"]),variant:o.a.oneOf(["base","swatches","custom"]),value:o.a.string,valueWorking:o.a.string},td={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"},nd=function(){function n(e){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),Zp(Xp(a=function(e,t){return!t||"object"!==Yp(t)&&"function"!=typeof t?Xp(e):t}(this,Jp(n).call(this,e))),"handleSwatchChange",function(e){a.setWorkingColor(e,{hex:e.target.value})}),Zp(Xp(a),"handleOnRequestClose",function(e,t){var n=t.trigger;"clickOutside"!==n&&"cancel"!==n||a.handleCancelState(),a.props.onRequestClose&&a.props.onRequestClose(e,{trigger:n})}),Zp(Xp(a),"handleClickOutside",function(e){a.handleCancelButtonClick(e)}),Zp(Xp(a),"handleCancel",function(e){a.handleCancelState(),a.props.onRequestClose&&a.props.onRequestClose(e,{trigger:"cancel"})}),Zp(Xp(a),"handleCancelState",function(){var e=hu.getNewColor({hex:a.state.currentColor},a.props.events.onValidateWorkingColor);a.setState({isOpen:!1,workingColor:e,previousWorkingColor:e})}),Zp(Xp(a),"handleHexInputChange",function(e,t){var n=t.labels,r=e.target.value,o=a.props.events.onValidateColor?a.props.events.onValidateColor(e.target.value):hu.isValidHex(e.target.value);a.setState({currentColor:r,workingColor:hu.getNewColor({hex:r},a.props.events.onValidateWorkingColor),colorErrorMessage:o?"":n.invalidColor}),a.props.events.onChange&&a.props.events.onChange(e,{color:r,isValid:o})}),Zp(Xp(a),"handleSaturationValueChange",function(e,t){var n=t.saturation,r=t.value;a.setWorkingColor(e,{saturation:n,value:r})}),Zp(Xp(a),"handleSubmitButtonClick",function(e){a.setState({isOpen:!1,currentColor:a.state.workingColor.hex,colorErrorMessage:""}),a.props.events.onChange&&a.props.events.onChange(e,{color:a.state.workingColor.hex,isValid:!0})}),Zp(Xp(a),"handleSwatchButtonClick",function(){var e=hu.getNewColor({hex:a.state.workingColor.hex},a.props.events.onValidateWorkingColor);a.setState({isOpen:!a.state.isOpen,workingColor:e,previousWorkingColor:a.state.previousWorkingColor}),a.props.onRequestOpen&&a.props.onRequestOpen()}),Zp(Xp(a),"handleSwatchSelect",function(e,t){var n=t.hex;a.setWorkingColor(e,{hex:n})}),a.generatedId=e.id||m.a.generate();var t=hu.getNewColor({hex:e.valueWorking||e.value},e.events.onValidateWorkingColor);return a.state={currentColor:null!=e.value?e.value:"",disabled:e.disabled,isOpen:e.isOpen,workingColor:t,previousWorkingColor:t,colorErrorMessage:e.errorText},Ec(S,e,Gp),a}return 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)}(n,P.a.Component),function(e,t,n){t&&Qp(e.prototype,t),n&&Qp(e,n)}(n,[{key:"componentWillReceiveProps",value:function(e){var t={};e.value&&(t.currentColor=e.value),e.valueWorking&&(t.workingColor=hu.getNewColor({hex:e.valueWorking},this.props.events.onValidateWorkingColor)),void 0!==e.disabled&&(t.disabled=e.disabled),this.setState(t)}},{key:"getInput",value:function(e){var t=this,n=e.labels;return this.props.hideInput?null:P.a.createElement(Ll,{"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)&&P.a.createElement(kp,{label:t.swatchTab},P.a.createElement(ap,{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)&&P.a.createElement(kp,{label:t.customTab},P.a.createElement(Lu,{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=P.a.createElement(Np,{id:"color-picker-tabs-".concat(this.generatedId),defaultSelectedIndex:"custom"===this.props.defaultSelectedTab?1:0},this.getDefaultTab({labels:t}),this.getCustomTab({labels:t})),r=P.a.createElement("div",{className:"slds-color-picker__selector-footer"},P.a.createElement(Cn,{className:"slds-color-picker__selector-cancel",id:"color-picker-footer-cancel-".concat(this.generatedId),label:t.cancelButton,onClick:this.handleCancel,variant:"neutral"}),P.a.createElement(Cn,{className:"slds-color-picker__selector-submit",disabled:0<Object.keys(this.state.workingColor.errors||{}).length,id:"color-picker-footer-submit-".concat(this.generatedId),label:t.submitButton,onClick:this.handleSubmitButtonClick,variant:"brand"}));return P.a.createElement(zp,{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},P.a.createElement(Cn,{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:P.a.createElement(Zc,{color:this.state.currentColor,labels:t}),onClick:this.handleSwatchButtonClick,variant:"icon"}))}},{key:"setWorkingColor",value:function(e,t){var n=hu.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(n){var r=this;return function(e){var t={};t[n]=e.target.value,r.setWorkingColor(e,t)}}},{key:"handleNavigate",value:function(a){var i=this;return function(e,t){var n=t.delta,r={};r[a]=n;var o=hu.getDeltaColor(r,i.props.events.onValidateWorkingColor,i.state.workingColor);i.setState({workingColor:o,previousWorkingColor:i.state.workingColor}),i.props.events.onWorkingColorChange&&i.props.events.onWorkingColorChange(e,{color:o})}}},{key:"render",value:function(){var t=this,e=jn()({},td.labels,this.props.labels);return P.a.createElement("div",{className:I()("slds-color-picker",this.props.className),ref:function(e){t.wrapper=e}},P.a.createElement("div",{className:"slds-color-picker__summary"},P.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:e.label),this.getPopover({labels:e}),this.getInput({labels:e}),!this.state.isOpen&&this.state.colorErrorMessage?P.a.createElement("p",{className:"slds-form-error",id:"color-picker-summary-error-".concat(this.generatedId)},this.state.colorErrorMessage):""))}}]),n}();Zp(nd,"displayName",S),Zp(nd,"propTypes",ed),Zp(nd,"defaultProps",td);var rd=nd,od=n(12),ad=n.n(od),id=n(15),sd=n.n(id);function ld(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function cd(){return(cd=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 ud(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function pd(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){dd(t,e,n[e])})}return t}function dd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fd(e,t){return null==e||"string"==typeof e?e:e(t)}function md(f){var e="menu"===f.inheritWidthOf?"inherit":void 0;e="menu"===f.inheritWidthOf&&f.maxWidth?f.maxWidth:e;var t=function(e){var t=[];if(0<e.optionsSearchEntity.length){var n=e.optionsSearchEntity.map(function(e){return pd({},e,{type:"header"})});t.push.apply(t,ud(n))}if(t.push.apply(t,ud(e.options)),0<e.optionsAddItem.length){var r=e.optionsAddItem.map(function(e){return pd({},e,{type:"footer"})});t.push.apply(t,ud(r))}return t}(f).map(function(t,e){var n=e===f.activeOptionIndex&&f.activeOption&&it()(t.id,f.activeOption.id),r=f.isSelected({selection:f.selection,option:t})&&("header"!==t.type||"footer"===t.type),o=f.onRenderMenuItem;if("separator"===t.type)return t.label?P.a.createElement("li",{className:"slds-dropdown__header slds-truncate",title:t.label,role:"separator",key:"menu-separator-".concat(t.id)},P.a.createElement("span",{className:I()("slds-listbox__option-header",f.classNameMenuSubHeader)},t.label)):P.a.createElement("li",{className:"slds-has-divider_top-space",role:"separator",key:"menu-separator-".concat(t.id)});if("header"===t.type)return P.a.createElement("li",{key:"menu-header-".concat(t.id,"}"),role:"presentation",className:"slds-listbox__item"},P.a.createElement("div",{onClick:t.disabled?null:function(e){f.onSelect(e,{option:t})},"aria-selected":n,id:"".concat(f.inputId,"-listbox-option-").concat(t.id),className:I()("slds-media slds-listbox__option","slds-listbox__option_entity slds-listbox__option_term",{"slds-has-focus":n}),role:"option"},P.a.createElement("span",{className:"slds-media__figure slds-listbox__option-icon"},t.icon),P.a.createElement("span",{className:"slds-media__body"},fd(t.label,f.inputValue))));if("footer"===t.type)return P.a.createElement("li",{key:"menu-header-".concat(t.id,"}"),role:"presentation",className:"slds-listbox__item"},P.a.createElement("div",{"aria-selected":n,onClick:t.disabled?null:function(e){f.onSelect(e,{option:t})},id:"".concat(f.inputId,"-listbox-option-").concat(t.id),className:I()("slds-media slds-listbox__option","slds-listbox__option_entity slds-listbox__option_term",{"slds-has-focus":n}),role:"option"},P.a.createElement("span",{className:"slds-media__figure slds-listbox__option-icon"},t.icon),P.a.createElement("span",{className:"slds-media__body"},fd(t.label,f.inputValue))));var a={},i="".concat(f.inputId,"-listbox-option-help-").concat(t.id);t.disabled&&f.tooltipMenuItemDisabled&&n&&(a["aria-describedby"]=i),t.disabled&&(a["aria-disabled"]=!!t.disabled,a.style={cursor:"default"});var s,l={"icon-title-subtitle":P.a.createElement("span",cd({"aria-selected":n},a,{id:"".concat(f.inputId,"-listbox-option-").concat(t.id),className:I()("slds-media slds-listbox__option","slds-listbox__option_entity slds-listbox__option_has-meta",{"slds-has-focus":n}),onClick:t.disabled?null:function(e){f.onSelect(e,{option:t})},role:"option"}),t.icon&&!f.onRenderMenuItem?P.a.createElement("span",{className:"slds-media__figure"},t.icon):null,f.onRenderMenuItem?P.a.createElement(o,{assistiveText:f.assistiveText,selected:r,option:t}):P.a.createElement("span",{className:"slds-media__body"},P.a.createElement("span",{className:I()("slds-listbox__option-text","slds-listbox__option-text_entity",{"slds-disabled-text":t.disabled})},function(e,t){if(!e||0===e.length||!t||0===t.length)return e;var n=e.toLowerCase().indexOf(t.toLowerCase());return-1<n?[e.substr(0,n),P.a.createElement("span",{key:"bold",className:"slds-text-title_bold"},"".concat(e.substr(n,t.length))),e.substr(n+t.length)]:e}(t.label,f.inputValue)),P.a.createElement("span",{className:I()("slds-listbox__option-meta slds-listbox__option-meta_entity",{"slds-disabled-text":t.disabled})},t.subTitle))),checkbox:P.a.createElement("span",cd({"aria-selected":n},a,{id:"".concat(f.inputId,"-listbox-option-").concat(t.id),className:I()("slds-media slds-listbox__option"," slds-listbox__option_plain slds-media_small slds-media_center",{"slds-has-focus":n,"slds-is-selected":r}),onClick:t.disabled?null:function(e){f.onSelect(e,{selection:f.selection,option:t})},role:"option"}),P.a.createElement("span",{className:"slds-media__figure"},P.a.createElement(en,{className:"slds-listbox__icon-selected",category:"utility",name:"check",size:"x-small"})),P.a.createElement("span",{className:"slds-media__body"},f.onRenderMenuItem?P.a.createElement(o,{assistiveText:f.assistiveText,selected:r,option:t}):P.a.createElement("span",{className:I()("slds-truncate",{"slds-disabled-text":t.disabled}),title:t.label},r?P.a.createElement("span",{className:"slds-assistive-text"},f.assistiveText.optionSelectedInMenu):null," ",t.label)))};if(t.disabled&&f.tooltipMenuItemDisabled){var c=f.tooltipMenuItemDisabled.props,u=c.content,p=ld(c,["content"]),d=pd({align:"top",content:t.tooltipContent||u,id:i,position:"absolute",triggerStyle:{width:"100%"}},p);n&&(d.isOpen=!0),s=P.a.cloneElement(f.tooltipMenuItemDisabled,d,l[f.variant])}else s=l[f.variant];return P.a.createElement("li",{className:"slds-listbox__item",key:"menu-option-".concat(t.id),role:"presentation"},s)});return P.a.createElement("ul",{className:I()("slds-listbox slds-listbox_vertical slds-dropdown slds-dropdown_fluid",{"slds-dropdown_length-with-icon-5":5===f.itemVisibleLength,"slds-dropdown_length-with-icon-7":7===f.itemVisibleLength,"slds-dropdown_length-with-icon-10":10===f.itemVisibleLength},f.classNameMenu),ref:f.menuRef,role:"presentation",style:{width:"menu"===f.inheritWidthOf?"auto":void 0,maxWidth:e,position:"relative"!==f.menuPosition?"relative":void 0}},t.length?t:P.a.createElement("li",{className:"slds-listbox__item slds-listbox__status",role:"status","aria-live":"polite"},P.a.createElement("span",{className:"slds-m-left_x-large slds-p-vertical_medium"},f.labels.noOptionsFound)),f.hasMenuSpinner&&P.a.createElement("li",{role:"presentation",className:"slds-listbox__item"},P.a.createElement("div",{className:"slds-align_absolute-center slds-p-top_medium"},P.a.createElement("div",{role:"status",className:"slds-spinner slds-spinner_x-small slds-spinner_inline"},P.a.createElement("span",{className:"slds-assistive-text"},f.assistiveText.loadingMenuItems),P.a.createElement("div",{className:"slds-spinner__dot-a"}),P.a.createElement("div",{className:"slds-spinner__dot-b"})))))}var hd={activeOption:o.a.object,activeOptionIndex:o.a.number,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameMenu:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameMenuSubHeader:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),inheritWidthOf:o.a.oneOf(["target","menu","none"]),inputId:o.a.string,itemVisibleLength:o.a.oneOf([5,7,10]),labels:o.a.shape({noOptionsFound:o.a.oneOfType([o.a.node,o.a.string]).isRequired}),onRenderMenuItem:o.a.func,menuRef:o.a.oneOfType([o.a.func,o.a.object]),maxWidth:o.a.string,onSelect:o.a.func,options:o.a.array,resetActiveOption:o.a.func,selection:o.a.array,hasMenuSpinner:o.a.bool,optionsAddItem:o.a.arrayOf(o.a.shape({id:o.a.string,icon:o.a.node,label:o.a.oneOfType([o.a.string,o.a.func])})),optionsSearchEntity:o.a.arrayOf(o.a.shape({id:o.a.string,icon:o.a.node,label:o.a.oneOfType([o.a.string,o.a.func])})),tooltipMenuItemDisabled:o.a.element,variant:o.a.oneOf(["icon-title-subtitle","checkbox"]),isSelected:o.a.func,assistiveText:o.a.object};md.displayName="Menu",md.propTypes=hd,md.defaultProps={inputValue:"",menuRef:function(){},optionsAddItem:[],optionsSearchEntity:[]};function bd(e){var t=e.label||e.assistiveText&&e.assistiveText.label,n={base:P.a.createElement("label",{className:I()("slds-form-element__label",{"slds-assistive-text":e.assistiveText&&!e.label}),htmlFor:e.htmlFor},e.required&&P.a.createElement("abbr",{className:"slds-required",title:"required"},"*"),t),static:P.a.createElement("span",{className:"slds-form-element__label"},t)};return t?n[e.variant]:null}var yd=md,gd={assistiveText:o.a.object,htmlFor:o.a.string,label:o.a.oneOfType([o.a.node,o.a.string]),required:o.a.bool,variant:o.a.oneOf(["base","static"])};bd.displayName="Label",bd.propTypes=gd,bd.defaultProps={variant:"base"};var vd=bd,_d=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&>.trapEvent(e),a[e.keyCode].callback(e,a[e.keyCode].data)):e.keyCode&&r[e.keyCode]?(s&>.trapEvent(e),r[e.keyCode].callback(e,r[e.keyCode].data)):e.keyCode&&r.other&&(r.other.stopPropagation&>.trapEvent(e),r.other.callback(e,r.other.data))};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 xd(){return(xd=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 Sd(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}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 Ed(e){return(Ed=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Cd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Td(e,t){return(Td=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Nd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var kd={assistiveText:o.a.shape({remove:o.a.string}),avatar:o.a.element,bare:o.a.bool,children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),hasError:o.a.bool,href:o.a.string,icon:o.a.element,labels:o.a.shape({label:o.a.string,title:o.a.string,removeTitle:o.a.string}),onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onRemove:o.a.func,variant:o.a.oneOf(["link","option"])},jd=function(){function o(){var e,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Nd(Cd(a=function(e,t){return!t||"object"!==Od(t)&&"function"!=typeof t?Cd(e):t}(this,(e=Ed(o)).call.apply(e,[this].concat(n)))),"getHref",function(){return"string"==typeof a.props.href?a.props.href:"javascript:void(0);"}),Nd(Cd(a),"blur",function(){a.root.blur()}),Nd(Cd(a),"focus",function(){a.root.focus()}),Nd(Cd(a),"handleKeyDown",function(e){if("function"==typeof a.props.onKeyDown){for(var t,n=arguments.length,r=new Array(1<n?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];if((t=a.props.onKeyDown).call.apply(t,[null,e].concat(r)),e.defaultPrevented)return}switch(e.keyCode){case _t.ENTER:"function"==typeof a.props.onClick&&(gt.trap(e),a.props.onClick());break;case _t.BACKSPACE:case _t.DELETE:"function"==typeof a.props.onRemove&&(gt.trap(e),a.props.onRemove())}}),Nd(Cd(a),"handleRef",function(e){a.root=e}),Nd(Cd(a),"restProps",function(){var e=a.props;e.bare,e.hasError,e.variant,e.className,e.onClick,e.onRemove,e.labels,e.assistiveText,e.children,e.href,e.icon,e.avatar,e.onKeyDown;return Sd(e,["bare","hasError","variant","className","onClick","onRemove","labels","assistiveText","children","href","icon","avatar","onKeyDown"])}),Nd(Cd(a),"renderIcon",function(){var e=a.props.icon||a.props.avatar;return e?P.a.createElement("span",{className:"slds-pill__icon_container"},e):null}),Nd(Cd(a),"renderLabel",function(){return a.props.labels.label?"link"===a.props.variant?P.a.createElement("a",{href:a.getHref(),className:"slds-pill__action",title:a.props.labels.title||a.props.labels.label,onClick:a.props.onClick},P.a.createElement("span",{className:"slds-pill__label"},a.props.labels.label)):P.a.createElement("span",{className:"slds-pill__label",title:a.props.labels.title||a.props.labels.label},a.props.labels.label):a.props.children}),Nd(Cd(a),"renderRemoveIcon",function(){return"function"==typeof a.props.onRemove?P.a.createElement("span",{className:"slds-icon_container slds-pill__remove",title:a.props.labels.removeTitle,role:"button",onClick:a.props.onRemove},P.a.createElement(Xe,{style:{cursor:"pointer"},category:"utility",className:"slds-icon slds-icon_x-small slds-icon-text-default",name:"close"}),P.a.createElement("span",{className:"slds-assistive-text"},a.props.assistiveText.remove||a.props.labels.removeTitle)):null}),a}return 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&&Td(e,t)}(o,P.a.Component),function(e,t,n){t&&wd(e.prototype,t),n&&wd(e,n)}(o,[{key:"render",value:function(){var e;switch(this.props.variant){case"link":e="button";break;case"option":e="option"}return P.a.createElement("span",xd({},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())}}]),o}();jd.displayName="SLDSPill",jd.defaultProps={variant:"link",labels:{},assistiveText:{}},jd.propTypes=kd;var Pd=jd;function Id(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Dd(t,e,n[e])})}return t}function Dd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Rd(t){var e=jn()({},Ld.assistiveText,t.assistiveText),n=jn()({},Ld.labels,t.labels);return P.a.createElement(Pd,{avatar:t.avatar,bare:t.bare,hasError:t.hasError,tabIndex:t.tabIndex||"0",icon:t.icon,variant:"option",labels:n,assistiveText:{remove:e.remove},"aria-selected":"true",onBlur:t.events.onBlur,onClick:"function"==typeof t.events.onClick?function(e){t.events.onClick&&t.events.onClick(e,Id({},t.eventData))}:null,onFocus:function(e){t.events.onFocus&&t.events.onFocus(e)},onRemove:function(e){gt.trap(e),function(e,t){var n=t.events,r=t.data;gt.trap(e),n.onRequestRemove(e,r)}(e,{events:t.events,data:t.eventData})},onKeyDown:function(e){!function(e,t){var n,r=t.events,o=t.data;_d(e,{callbacks:(n={},Dd(n,_t.BACKSPACE,{callback:r.onRequestRemove,data:o}),Dd(n,_t.DELETE,{callback:r.onRequestRemove,data:o}),Dd(n,_t.LEFT,{callback:r.onRequestFocusOnPreviousPill,data:Id({},o,{direction:"previous"})}),Dd(n,_t.RIGHT,{callback:r.onRequestFocusOnNextPill,data:Id({},o,{direction:"next"})}),n)})}(e,{events:t.events,data:t.eventData})},ref:function(e){t.requestFocus&&t.active&&t.events.onRequestFocus(void 0,{ref:e})}})}var Ad={active:o.a.bool,assistiveText:o.a.shape({remove:o.a.string}),avatar:o.a.element,bare:o.a.bool,eventData:o.a.object,events:o.a.shape({onClick:o.a.func,onFocus:o.a.func,onRequestFocus:o.a.func.isRequired,onRequestFocusOnNextPill:o.a.func.isRequired,onRequestFocusOnPreviousPill:o.a.func.isRequired,onRequestRemove:o.a.func.isRequired}),hasError:o.a.bool,icon:o.a.element,labels:o.a.shape({label:o.a.string.isRequired,removeTitle:o.a.string}),requestFocus:o.a.bool,title:o.a.string,tabIndex:o.a.number},Ld={assistiveText:o.a.shape({remove:", Press delete or backspace to remove"}),labels:{remove:"Remove"},events:{}};Rd.displayName="Pill",Rd.propTypes=Ad,Rd.defaultProps=Ld;var Bd=Rd;var Fd=function(e){return e.$$typeof&&"Symbol(react.element)"===e.$$typeof.toString()||e.type&&"function"==typeof e.type};function Md(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){qd(t,e,n[e])})}return t}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 Hd(a){return a.selection.length>=a.renderAtSelectionLength?P.a.createElement("div",{className:I()({"slds-pill_container":a.isPillContainer},a.className)||void 0,id:a.id,ref:function(e){a.selectedListboxRef&&a.selectedListboxRef(e)},role:"listbox",style:a.style,"aria-orientation":"horizontal"},P.a.createElement("ul",{className:I()("slds-listbox",{"slds-listbox_inline":a.isInline,"slds-listbox_horizontal":!a.isInline,"slds-p-top_xxx-small":!a.isInline}),role:"group","aria-label":a.assistiveText.selectedListboxLabel},a.selection.map(function(e,n){var t=n===a.activeOptionIndex,r=function(e){var t=e.icon,n=null;return t&&(Fd(t)||t instanceof HTMLElement?n=t:t.category&&t.name&&(n=P.a.createElement(en,{category:t.category,name:t.name,title:t.title||e.label}))),n}(e),o=r?null:function(e){var t=e.avatar,n=null;return t&&(Fd(t)||t instanceof HTMLElement?n=t:t.imgSrc&&(n=P.a.createElement(Vo,{imgSrc:t.imgSrc,title:t.title||e.label,variant:t.variant||"user"}))),n}(e);return P.a.createElement("li",{role:"presentation",className:"slds-listbox__item",key:"".concat(a.id,"-list-item-").concat(e.id)},P.a.createElement(Bd,{active:t&&a.listboxHasFocus,assistiveText:{remove:a.assistiveText.removePill},avatar:o,bare:e.bare||a.isBare,error:e.error,events:{onBlur:a.events.onBlurPill,onClick:function(e,t){a.events.onClickPill(e,Md({},t,{index:n}))},onFocus:a.events.onPillFocus,onRequestFocusOnNextPill:a.events.onRequestFocusOnNextPill,onRequestFocusOnPreviousPill:a.events.onRequestFocusOnPreviousPill,onRequestRemove:function(e,t){a.events.onRequestRemove(e,Md({},t,{index:n}))},onRequestFocus:a.events.onRequestFocus},eventData:{option:e},hasError:e.error,icon:r,labels:{label:e.label,removeTitle:a.labels.removePillTitle},requestFocus:a.listboxHasFocus,tabIndex:t?0:-1}))}))):null}var Kd={activeOption:o.a.object,activeOptionIndex:o.a.number,assistiveText:o.a.shape({label:o.a.string,removePill:o.a.string,selectedListboxLabel:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onClickPill:o.a.func.isRequired,onPillFocus:o.a.func.isRequired,onRequestFocus:o.a.func.isRequired,onRequestFocusOnNextPill:o.a.func.isRequired,onRequestFocusOnPreviousPill:o.a.func.isRequired,onRequestRemove:o.a.func.isRequired}),id:o.a.string,isBare:o.a.bool,isInline:o.a.bool,isPillContainer:o.a.bool,labels:o.a.shape({label:o.a.string,remove:o.a.string,title:o.a.string}),renderAtSelectionLength:o.a.number,selectedListboxRef:o.a.func,selection:o.a.array,style:o.a.object,listboxHasFocus:o.a.bool,variant:o.a.oneOf(["base","inline-listbox","readonly"])};Hd.displayName="SelectedListBox",Hd.propTypes=Kd,Hd.defaultProps={renderAtSelectionLength:1};var Wd=Hd,Vd=function(e){var r,t=e.key,n=e.keyBuffer,o=e.keyCode,a=e.options,i=t||String.fromCharCode(o),s=n(i=/^[ -~]$/.test(i)?i.toLowerCase():null),l=0;return 1<s.length&&new RegExp("^[".concat($a()(i),"]+$")).test(s)&&(l=s.length),a.forEach(function(e,t){var n=String(e.label).toLowerCase();(void 0===r&&n.substr(0,s.length)===s||0<l&&n.substr(0,1)===i)&&(l-=1,r=t)}),r},Ud=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 zd,Gd=function(){},Yd=n(46);function Qd(e){return(Qd="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 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)}function Xd(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}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 Zd(e){return(Zd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ef(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tf(e,t){return(tf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function nf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var rf="undefined"!=typeof document,of={assistiveText:o.a.shape({label:o.a.string,loadingMenuItems:o.a.string,optionSelectedInMenu:o.a.string,popoverLabel:o.a.string,removeSingleSelectedOption:o.a.string,removePill:o.a.string,selectedListboxLabel:o.a.string}),"aria-describedby":o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameContainer:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameMenu:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameMenuSubHeader:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onBlur:o.a.func,onChange:o.a.func,onClose:o.a.func,onFocus:o.a.func,onOpen:o.a.func,onRequestClose:o.a.func,onRequestOpen:o.a.func,onRequestRemoveSelectedOption:o.a.func,onSelect:o.a.func,onSubmit:o.a.func}),errorText:o.a.string,fieldLevelHelpTooltip:o.a.node,hasInputSpinner:o.a.bool,hasMenuSpinner:o.a.bool,hasStaticAlignment:o.a.bool,id:o.a.string,input:o.a.node,labels:o.a.shape({label:o.a.oneOfType([o.a.node,o.a.string]),multipleOptionsSelected:o.a.string,noOptionsFound:o.a.oneOfType([o.a.node,o.a.string]),placeholder:o.a.string,placeholderReadOnly:o.a.string,removePillTitle:o.a.string}),isOpen:o.a.bool,inheritWidthOf:o.a.oneOf(["target","menu","none"]),onRenderMenuItem:o.a.func,menuPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),menuMaxWidth:o.a.string,multiple:o.a.bool,options:o.a.arrayOf(o.a.PropTypes.shape({id:o.a.string.isRequired,icon:o.a.node,label:o.a.string,subTitle:o.a.string,type:o.a.string,disabled:o.a.boolean,tooltipContent:o.a.node})),menuItemVisibleLength:o.a.oneOf([5,7,10]),predefinedOptionsOnly:o.a.bool,popover:o.a.node,required:o.a.bool,selection:o.a.arrayOf(o.a.PropTypes.shape({id:o.a.string.isRequired,icon:o.a.node,label:o.a.string,subTitle:o.a.string,type:o.a.string})).isRequired,selectedListboxRef:o.a.func,singleInputDisabled:o.a.bool,tooltipMenuItemDisabled:o.a.element,value:o.a.string,defaultValue:o.a.string,optionsAddItem:o.a.arrayOf(o.a.shape({id:o.a.string,icon:o.a.node,label:o.a.oneOfType([o.a.string,o.a.func])})),optionsSearchEntity:o.a.arrayOf(o.a.shape({id:o.a.string,icon:o.a.node,label:o.a.oneOfType([o.a.string,o.a.func])})),entityCombobox:o.a.node,variant:o.a.oneOf(["base","inline-listbox","popover","readonly"])},af={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"},sf=function(){function t(e){var l;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),nf(ef(l=function(e,t){return!t||"object"!==Qd(t)&&"function"!=typeof t?ef(e):t}(this,Zd(t).call(this,e))),"getCustomPopoverProps",function(e,t){var n=t.assistiveText,r=t.labels,o=P.a.createElement("div",null,P.a.createElement("div",{className:"slds-assistive-text",id:"".concat(l.getId(),"-label")},n.popoverLabel),e),a=P.a.createElement("div",null,P.a.createElement(Cn,{label:r.cancelButton,onClick:function(e){l.handleClose(e,{trigger:"cancel"})}}),P.a.createElement(Cn,{label:r.doneButton,variant:"brand",onClick:l.handleClose})),i={ariaLabelledby:"".concat(l.getId(),"-label"),align:"bottom",body:o,className:"slds-popover_full-width",footer:a,footerClassName:"slds-popover__footer_form",hasNoNubbin:!0,id:l.getId(),isOpen:l.state.isOpen,hasNoTriggerStyles:!0,onOpen:l.handleOpen,onClose:l.handleClose,onRequestClose:l.handleClose},s=jn()(i,l.props.popover?l.props.popover.props:{});return s.body=o,delete s.children,s}),nf(ef(l),"getId",function(){return l.props.id||l.generatedId}),nf(ef(l),"getIsActiveOption",function(){return l.state.activeOption&&-1!==l.state.activeOptionIndex}),nf(ef(l),"getIsOpen",function(){return!!("boolean"==typeof l.props.isOpen?l.props.isOpen:l.state.isOpen)}),nf(ef(l),"getNewActiveOptionIndex",function(e){var t=e.activeOptionIndex,n=e.offset,r=e.options,o=t+n,a=r.length>o&&0<=o&&"separator"===r[o].type?o+n:o;return r.length>o&&0<=o?a:t}),nf(ef(l),"getOptions",function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:l.props,t=[];return 0<e.optionsSearchEntity.length&&t.push.apply(t,Xd(e.optionsSearchEntity)),e.options&&t.push.apply(t,Xd(e.options)),0<e.optionsAddItem.length&&t.push.apply(t,Xd(e.optionsAddItem)),t}),nf(ef(l),"getTargetElement",function(){return l.inputRef}),nf(ef(l),"setInputRef",function(e){l.inputRef=e,l.state.inputRendered||l.setState({inputRendered:!0})}),nf(ef(l),"setSelectedListboxRef",function(e){l.selectedListboxRef=e,l.props.selectedListboxRef&&l.props.selectedListboxRef(e)}),nf(ef(l),"handleBlurPill",function(){l.setState({listboxHasFocus:!1})}),nf(ef(l),"handleClickOutside",function(e){l.handleRequestClose(e,{})}),nf(ef(l),"handleClose",function(e){var t=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).trigger;l.getIsOpen()&&(zd===ef(l)&&(zd=void 0),l.setState({activeOption:void 0,activeOptionIndex:-1,isOpen:!1}),"popover"===l.props.variant&&"cancel"===t&&l.props.popover.props.onClose&&l.props.popover.props.onClose(e,{trigger:t}),l.props.events.onClose&&l.props.events.onClose(e,{}))}),nf(ef(l),"handleInputBlur",function(t){setTimeout(function(){var e=rf&&document.activeElement;e&&"DIV"===e.tagName&&e.id==="".concat(l.getId(),"-listbox")?l.inputRef&&l.inputRef.focus():l.props.popover||l.handleClose(t)},200),l.props.events.onBlur&&l.props.events.onBlur(t)}),nf(ef(l),"handleInputChange",function(e){l.requestOpenMenu(),l.props.events&&l.props.events.onChange&&l.props.events.onChange(e,{value:e.target.value})}),nf(ef(l),"handleInputFocus",function(e){l.props.events.onFocus&&l.props.events.onFocus(e,{})}),nf(ef(l),"handleInputSubmit",function(e){l.state.activeOption&&l.state.activeOption.disabled||(!l.state.activeOption||"header"!==l.state.activeOption.type&&"footer"!==l.state.activeOption.type?l.getIsActiveOption()?l.handleSelect(e,{option:l.state.activeOption,selection:l.props.selection}):!l.props.predefinedOptionsOnly&&""!==e.target.value&&l.props.events.onSubmit&&l.props.events.onSubmit(e,{value:e.target.value}):l.state.activeOption.onClick(e))}),nf(ef(l),"handleKeyDown",function(e){var t,n=(nf(t={},_t.DOWN,{callback:l.handleKeyDownDown}),nf(t,_t.ENTER,{callback:l.handleInputSubmit}),nf(t,_t.ESCAPE,{callback:l.handleClose}),nf(t,_t.UP,{callback:l.handleKeyDownUp}),t);"readonly"===l.props.variant&&(2<l.props.selection.length?n[_t.TAB]={callback:l.handleKeyDownTab}:n[_t.TAB]=void 0,n.other={callback:l.handleKeyDownOther,stopPropagation:!1}),_d(e,{callbacks:n})}),nf(ef(l),"handleKeyDownDown",function(e){e.shiftKey||l.openDialog(),"popover"!==l.props.variant&&l.handleNavigateListboxMenu(e,{direction:"next"})}),nf(ef(l),"handleKeyDownTab",function(){l.selectedListboxRef&&l.setState({listboxHasFocus:!0})}),nf(ef(l),"handleKeyDownUp",function(e){!e.shiftKey&&l.state.isOpen&&l.handleNavigateListboxMenu(e,{direction:"previous"})}),nf(ef(l),"handleKeyDownOther",function(e){var t=Vd({key:e.key,keyBuffer:l.menuKeyBuffer,keyCode:e.keyCode,options:l.getOptions()});void 0!==t&&(l.state.isOpen&&Ud({container:l.menuRef,focusedIndex:t}),l.setState({activeOption:l.getOptions()[t],activeOptionIndex:t}))}),nf(ef(l),"handleNavigateListboxMenu",function(e,t){var n=t.direction,r={next:1,previous:-1};l.setState(function(e){var t=l.getNewActiveOptionIndex({activeOptionIndex:e.activeOptionIndex,offset:r[n],options:l.getOptions()});return l.state.isOpen&&Ud({container:l.menuRef,focusedIndex:t}),{activeOption:l.getOptions()[t],activeOptionIndex:t}})}),nf(ef(l),"handleNavigateSelectedListbox",function(e,t){var a=t.direction,i={next:1,previous:-1};l.setState(function(e){var t,n=e.activeSelectedOptionIndex+1===l.props.selection.length&&"next"===a,r=0===e.activeSelectedOptionIndex&&"previous"===a;if(n)t={activeSelectedOption:l.props.selection[0],activeSelectedOptionIndex:0,listboxHasFocus:!0};else if(r)t={activeSelectedOption:l.props.selection[l.props.selection.length-1],activeSelectedOptionIndex:l.props.selection.length-1,listboxHasFocus:!0};else{var o=l.getNewActiveOptionIndex({activeOptionIndex:e.activeSelectedOptionIndex,offset:i[a],options:l.props.selection});t={activeSelectedOption:l.props.selection[o],activeSelectedOptionIndex:o,listboxHasFocus:!0}}return t})}),nf(ef(l),"handleOpen",function(e,t){l.getIsOpen()?(zd=ef(l),l.setState({isOpen:!0}),l.props.events.onOpen&&l.props.events.onOpen(e,t)):zd&&Xn()(zd.handleClose)&&zd.handleClose()}),nf(ef(l),"handlePillClickSelectedListbox",function(e,t){var n=t.option,r=t.index;l.setState({activeSelectedOption:n,activeSelectedOptionIndex:r,listboxHasFocus:!0})}),nf(ef(l),"handlePillFocus",function(){l.state.listboxHasFocus||l.setState({listboxHasFocus:!0})}),nf(ef(l),"handleRemoveSelectedOption",function(e,t){var n=t.option,r=t.index;e.preventDefault();var o=1===l.props.selection.length,a=2===l.props.selection.length&&"readonly"===l.props.variant&&l.props.multiple,i=r+1===l.props.selection.length;(o||a)&&l.inputRef?l.inputRef.focus():i?l.setState({activeSelectedOption:l.props.selection[r-1],activeSelectedOptionIndex:r-1,listboxHasFocus:!0}):l.setState({activeSelectedOption:l.props.selection[r+1],activeSelectedOptionIndex:r,listboxHasFocus:!0}),l.props.events.onRequestRemoveSelectedOption&&l.props.events.onRequestRemoveSelectedOption(e,{selection:sd()(l.props.selection,n)})}),nf(ef(l),"handleRequestClose",function(e,t){l.props.events.onRequestClose&&l.props.events.onRequestClose(e,t),l.getIsOpen()&&l.setState({isOpen:!1})}),nf(ef(l),"handleRequestFocusSelectedListbox",function(e,t){var n=t.ref;n&&(l.activeSelectedOptionRef=n,l.activeSelectedOptionRef.focus())}),nf(ef(l),"handleSelect",function(e,t){var n,r=t.selection,o=t.option,a=l.isSelected({selection:r,option:o}),i=!l.props.multiple&&!a,s=l.props.multiple&&!a;n=i?[o]:s?[].concat(Xd(l.props.selection),[o]):sd()(l.props.selection,o),l.props.events.onSelect&&l.props.events.onSelect(e,{selection:n}),l.handleClose()}),nf(ef(l),"isSelected",function(e){var t=e.selection,n=e.option;return!!ad()(t,n)}),nf(ef(l),"openDialog",function(){l.props.events.onRequestOpen?l.props.events.onRequestOpen():l.setState({isOpen:!0})}),nf(ef(l),"requestOpenMenu",function(){(!l.props.multiple&&0===l.props.selection.length&&"inline-listbox"===l.props.variant||l.props.multiple||"readonly"===l.props.variant)&&l.openDialog()}),nf(ef(l),"renderBase",function(e){var t=e.assistiveText,n=e.labels,r=e.props,o=e.userDefinedProps;return P.a.createElement("div",{className:"slds-form-element__control"},P.a.createElement("div",{className:"slds-combobox_container"},P.a.createElement("div",{className:I()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":l.getIsOpen()},{"slds-has-error":r.errorText},r.className),"aria-expanded":l.getIsOpen(),"aria-haspopup":"listbox","aria-owns":l.getIsOpen()?"".concat(l.getId(),"-listbox"):void 0,role:"combobox"},P.a.createElement(dl,Jd({"aria-autocomplete":"list","aria-controls":l.getIsOpen()?"".concat(l.getId(),"-listbox"):void 0,"aria-activedescendant":l.state.activeOption?"".concat(l.getId(),"-listbox-option-").concat(l.state.activeOption.id):null,"aria-describedby":l.getErrorId(),autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},hasSpinner:l.props.hasInputSpinner,iconRight:P.a.createElement(Js,{category:"utility",name:"search",title:n.inputIconTitle}),id:l.getId(),onFocus:l.handleInputFocus,onBlur:l.handleInputBlur,onKeyDown:l.handleKeyDown,inputRef:l.setInputRef,onClick:function(){l.openDialog()},onChange:l.handleInputChange,placeholder:n.placeholder,defaultValue:r.defaultValue,readOnly:!(!r.predefinedOptionsOnly||!l.state.activeOption),required:r.required,role:"textbox",value:r.predefinedOptionsOnly&&l.state.activeOption&&l.state.activeOption.label||r.value},o.input)),l.getDialog({menuRenderer:l.renderMenu({assistiveText:t,labels:n})}))),P.a.createElement(Wd,{activeOption:l.state.activeSelectedOption,activeOptionIndex:l.state.activeSelectedOptionIndex,assistiveText:t,events:{onBlurPill:l.handleBlurPill,onClickPill:l.handlePillClickSelectedListbox,onPillFocus:l.handlePillFocus,onRequestFocus:l.handleRequestFocusSelectedListbox,onRequestFocusOnNextPill:l.handleNavigateSelectedListbox,onRequestFocusOnPreviousPill:l.handleNavigateSelectedListbox,onRequestRemove:l.handleRemoveSelectedOption},id:"".concat(l.getId(),"-selected-listbox"),labels:n,selectedListboxRef:l.setSelectedListboxRef,selection:r.selection,listboxHasFocus:l.state.listboxHasFocus}),r.errorText&&P.a.createElement("div",{className:"slds-has-error"},P.a.createElement("div",{id:l.getErrorId(),className:"slds-form-element__help slds-has-error"},r.errorText)))}),nf(ef(l),"renderInlineMultiple",function(e){var t=e.assistiveText,n=e.labels,r=e.props,o=e.userDefinedProps;return P.a.createElement("div",{className:"slds-form-element__control"},P.a.createElement("div",{className:I()("slds-combobox_container",{"slds-has-inline-listbox":r.selection.length})},r.selection.length?P.a.createElement(Wd,{activeOption:l.state.activeSelectedOption,activeOptionIndex:l.state.activeSelectedOptionIndex,assistiveText:t,events:{onBlurPill:l.handleBlurPill,onClickPill:l.handlePillClickSelectedListbox,onPillFocus:l.handlePillFocus,onRequestFocus:l.handleRequestFocusSelectedListbox,onRequestFocusOnNextPill:l.handleNavigateSelectedListbox,onRequestFocusOnPreviousPill:l.handleNavigateSelectedListbox,onRequestRemove:l.handleRemoveSelectedOption},id:"".concat(l.getId(),"-selected-listbox"),labels:n,selectedListboxRef:l.setSelectedListboxRef,selection:r.selection,listboxHasFocus:l.state.listboxHasFocus}):null,P.a.createElement("div",{className:I()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":l.getIsOpen()},{"slds-has-error":r.errorText},r.className),"aria-expanded":l.getIsOpen(),"aria-haspopup":"listbox",role:"combobox"},P.a.createElement(dl,Jd({"aria-autocomplete":"list","aria-controls":l.getIsOpen()?"".concat(l.getId(),"-listbox"):void 0,"aria-activedescendant":l.state.activeOption?"".concat(l.getId(),"-listbox-option-").concat(l.state.activeOption.id):null,"aria-describedby":l.getErrorId(),defaultValue:r.defaultValue,autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},hasSpinner:l.props.hasInputSpinner,iconRight:P.a.createElement(Js,{category:"utility",name:"search",title:n.inputIconTitle}),id:l.getId(),onFocus:l.handleInputFocus,onBlur:l.handleInputBlur,onKeyDown:l.handleKeyDown,inputRef:l.setInputRef,onClick:function(){l.openDialog()},onChange:l.handleInputChange,placeholder:n.placeholder,readOnly:!(!r.predefinedOptionsOnly||!l.state.activeOption),required:r.required,role:"textbox",value:r.predefinedOptionsOnly&&l.state.activeOption&&l.state.activeOption.label||r.value},o.input)),l.getDialog({menuRenderer:l.renderMenu({assistiveText:t,labels:n})}),r.errorText&&P.a.createElement("div",{id:l.getErrorId(),className:"slds-form-element__help"},r.errorText))))}),nf(ef(l),"renderInlineSingle",function(e){var t=e.assistiveText,n=e.labels,r=e.props,o=e.userDefinedProps,a=r.selection[0]&&r.selection[0].icon?P.a.cloneElement(r.selection[0].icon,{containerClassName:"slds-combobox__input-entity-icon"}):null,i=r.selection[0]&&r.selection[0].label?r.selection[0].label:r.value;return P.a.createElement("div",{className:"slds-form-element__control"},P.a.createElement("div",{className:I()("slds-combobox_container",{"slds-has-inline-listbox":r.selection.length})},P.a.createElement("div",{className:I()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":l.getIsOpen()},{"slds-has-error":r.errorText},r.className),"aria-expanded":l.getIsOpen(),"aria-haspopup":"listbox",role:"combobox"},P.a.createElement(dl,Jd({defaultValue:r.defaultValue,"aria-autocomplete":"list","aria-controls":l.getIsOpen()?"".concat(l.getId(),"-listbox"):void 0,"aria-activedescendant":l.state.activeOption?"".concat(l.getId(),"-listbox-option-").concat(l.state.activeOption.id):null,"aria-describedby":l.getErrorId(),autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},disabled:l.props.singleInputDisabled,hasSpinner:l.props.hasInputSpinner,iconRight:r.selection.length?P.a.createElement(Js,{assistiveText:{icon:t.removeSingleSelectedOption},buttonRef:function(e){l.buttonRef=e},category:"utility",iconPosition:"right",name:"close",onClick:function(e){l.handleRemoveSelectedOption(e,{option:r.selection[0]})}}):P.a.createElement(Js,{category:"utility",name:"search"}),iconLeft:a,id:l.getId(),onFocus:l.handleInputFocus,onBlur:l.handleInputBlur,onKeyDown:l.handleKeyDown,inputRef:l.setInputRef,onClick:function(){l.requestOpenMenu()},onChange:function(e){r.selection.length||l.handleInputChange(e)},placeholder:n.placeholder,readOnly:!(!r.predefinedOptionsOnly||!l.state.activeOption)||!!r.selection.length,required:r.required,role:"textbox",value:r.predefinedOptionsOnly?l.state.activeOption&&l.state.activeOption.label||r.value:i},o.input)),l.getDialog({menuRenderer:l.renderMenu({assistiveText:t,labels:n})}),r.errorText&&P.a.createElement("div",{id:l.getErrorId(),className:"slds-form-element__help"},r.errorText))))}),nf(ef(l),"renderMenu",function(e){var t=e.assistiveText,n=e.labels,r="readonly"===l.props.variant?5:null;return P.a.createElement(yd,{assistiveText:t,activeOption:l.state.activeOption,activeOptionIndex:l.state.activeOptionIndex,classNameMenu:l.props.classNameMenu,classNameMenuSubHeader:l.props.classNameMenuSubHeader,clearActiveOption:l.clearActiveOption,inheritWidthOf:l.props.inheritWidthOf,inputId:l.getId(),inputValue:l.props.value,isSelected:l.isSelected,itemVisibleLength:l.props.menuItemVisibleLength||r,labels:n,hasMenuSpinner:l.props.hasMenuSpinner,menuItem:l.props.menuItem,menuPosition:l.props.menuPosition,menuRef:function(e){l.menuRef=e},maxWidth:l.props.menuMaxWidth,options:l.props.options,optionsAddItem:l.props.optionsAddItem,optionsSearchEntity:l.props.optionsSearchEntity,onSelect:l.handleSelect,onRenderMenuItem:l.props.onRenderMenuItem?l.props.onRenderMenuItem:l.props.menuItem,selection:l.props.selection,tooltipMenuItemDisabled:l.props.tooltipMenuItemDisabled,variant:{base:"icon-title-subtitle","inline-listbox":"icon-title-subtitle",readonly:"checkbox"}[l.props.variant]})}),nf(ef(l),"renderPopover",function(e){var t=e.assistiveText,n=e.labels,r=e.props,o=l.getCustomPopoverProps(l.props.popover.props.body,{assistiveText:t,labels:n});return P.a.createElement("div",{className:"slds-form-element__control"},P.a.createElement("div",{className:"slds-combobox_container"},P.a.createElement("div",{className:I()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":l.getIsOpen()},{"slds-has-error":r.errorText},r.className),"aria-expanded":l.getIsOpen(),"aria-haspopup":"dialog",role:"combobox"},P.a.createElement(zp,o,P.a.createElement(dl,{"aria-autocomplete":"none","aria-controls":l.getIsOpen()?"".concat(l.getId(),"-popover"):void 0,"aria-describedby":l.getErrorId(),autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},iconRight:P.a.createElement(Js,{category:"utility",name:"down",variant:"combobox"}),id:l.getId(),onFocus:l.handleInputFocus,onBlur:l.handleInputBlur,onKeyDown:l.handleKeyDown,inputRef:l.setInputRef,onClick:function(){l.openDialog()},onChange:l.handleInputChange,placeholder:n.placeholder,readOnly:!0,required:r.required,role:"textbox",value:r.value})))),r.errorText&&P.a.createElement("div",{className:"slds-has-error"},P.a.createElement("div",{id:l.getErrorId(),className:"slds-form-element__help slds-has-error"},r.errorText)))}),nf(ef(l),"renderReadOnlyMultiple",function(e){var t=e.assistiveText,n=e.labels,r=e.props,o=e.userDefinedProps,a=1<r.selection.length?n.multipleOptionsSelected||"".concat(r.selection.length," options selected"):r.selection[0]&&r.selection[0].label||"";return P.a.createElement("div",{className:"slds-form-element__control"},P.a.createElement("div",{className:"slds-combobox_container"},P.a.createElement("div",{className:I()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":l.getIsOpen()},{"slds-has-error":r.errorText},r.className),"aria-expanded":l.getIsOpen(),"aria-haspopup":"listbox",role:"combobox"},P.a.createElement(dl,Jd({defaultValue:r.defaultValue,"aria-autocomplete":"list","aria-controls":l.getIsOpen()?"".concat(l.getId(),"-listbox"):void 0,"aria-activedescendant":l.state.activeOption?"".concat(l.getId(),"-listbox-option-").concat(l.state.activeOption.id):null,"aria-describedby":l.getErrorId(),autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},iconRight:P.a.createElement(Js,{category:"utility",name:"down",variant:"combobox"}),id:l.getId(),onFocus:l.handleInputFocus,onBlur:l.handleInputBlur,onKeyDown:l.handleKeyDown,inputRef:l.setInputRef,onClick:function(){l.requestOpenMenu()},onChange:function(e){r.selection.length||l.handleInputChange(e)},placeholder:n.placeholderReadOnly,readOnly:!0,required:r.required,role:"textbox",value:a},o.input)),l.getDialog({menuRenderer:l.renderMenu({assistiveText:t,labels:n})}))),P.a.createElement(Wd,{activeOption:l.state.activeSelectedOption,activeOptionIndex:l.state.activeSelectedOptionIndex,assistiveText:t,events:{onBlurPill:l.handleBlurPill,onClickPill:l.handlePillClickSelectedListbox,onPillFocus:l.handlePillFocus,onRequestFocus:l.handleRequestFocusSelectedListbox,onRequestFocusOnNextPill:l.handleNavigateSelectedListbox,onRequestFocusOnPreviousPill:l.handleNavigateSelectedListbox,onRequestRemove:l.handleRemoveSelectedOption},id:"".concat(l.getId(),"-selected-listbox"),labels:n,selectedListboxRef:l.setSelectedListboxRef,selection:r.selection,listboxHasFocus:l.state.listboxHasFocus,variant:l.props.variant,renderAtSelectionLength:2}),r.errorText&&P.a.createElement("div",{className:"slds-has-error"},P.a.createElement("div",{id:l.getErrorId(),className:"slds-form-element__help slds-has-error"},r.errorText)))}),nf(ef(l),"renderReadOnlySingle",function(e){var t=e.assistiveText,n=e.labels,r=e.props,o=e.userDefinedProps,a=r.selection[0]&&r.selection[0].label||"";return P.a.createElement("div",{className:"slds-form-element__control"},P.a.createElement("div",{className:"slds-combobox_container"},P.a.createElement("div",{className:I()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":l.getIsOpen()},{"slds-has-error":r.errorText},r.className),"aria-expanded":l.getIsOpen(),"aria-haspopup":"listbox",role:"combobox"},P.a.createElement(dl,Jd({defaultValue:r.defaultValue,"aria-autocomplete":"list","aria-controls":l.getIsOpen()?"".concat(l.getId(),"-listbox"):void 0,"aria-activedescendant":l.state.activeOption?"".concat(l.getId(),"-listbox-option-").concat(l.state.activeOption.id):null,"aria-describedby":l.getErrorId(),autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},disabled:l.props.singleInputDisabled,iconRight:P.a.createElement(Js,{category:"utility",name:"down",variant:"combobox"}),id:l.getId(),onFocus:l.handleInputFocus,onBlur:l.handleInputBlur,onKeyDown:l.handleKeyDown,inputRef:l.setInputRef,onClick:function(){l.requestOpenMenu()},onChange:function(e){r.selection.length||l.handleInputChange(e)},placeholder:n.placeholderReadOnly,readOnly:!0,required:r.required,role:"textbox",value:l.state.activeOption&&l.state.activeOption.label||a},o.input)),l.getDialog({menuRenderer:l.renderMenu({assistiveText:t,labels:n})}),r.errorText&&P.a.createElement("div",{id:l.getErrorId(),className:"slds-form-element__help"},r.errorText))))}),l.state={activeOption:void 0,activeOptionIndex:-1,activeSelectedOption:l.props.selection&&l.props.selection[0]||void 0,activeSelectedOptionIndex:0,listboxHasFocus:!1,isOpen:"boolean"==typeof e.isOpen&&e.isOpen},l.menuKeyBuffer=new Ja,l.menuRef=void 0,l.selectedListboxRef=null,Gd(w,e,Yd),l.generatedId=m.a.generate(),l.generatedErrorId=m.a.generate(),l}return 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&&tf(e,t)}(t,P.a.Component),function(e,t,n){t&&$d(e.prototype,t),n&&$d(e,n)}(t,[{key:"componentWillReceiveProps",value:function(e){var t=this;if(it()(this.getOptions(),this.getOptions(e)))this.props.isOpen!==e.isOpen&&this.setState({isOpen:e.isOpen});else{var n=Fu()(this.getOptions(e),function(e){return it()(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&&0<e.selection.length&&this.setState({activeSelectedOption:e.selection[0],activeSelectedOptionIndex:0}),e.selection.length>this.props.selection.length&&(e.selection.length<1?this.setState({activeSelectedOption:void 0,activeSelectedOptionIndex:0}):this.setState({activeSelectedOption:e.selection[e.selection.length-1],activeSelectedOptionIndex:e.selection.length-1}))}},{key:"componentWillUnmount",value:function(){zd===this&&(zd=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()?P.a.createElement(Vt,{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=jn()({},af.assistiveText,e.assistiveText),n=jn()({},af.labels,this.props.labels),r=n.label||t&&t.label,o={};e.input&&(o.input=e.input.props);var a={assistiveText:t,labels:n,props:this.props,userDefinedProps:o},i=this.props.multiple?"multiple":"single",s={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}},l=s[this.props.variant][i],c=P.a.createElement("div",{className:I()("slds-form-element",e.classNameContainer)},e.entityCombobox?null:P.a.createElement(vd,{assistiveText:this.props.assistiveText,htmlFor:this.getId(),label:n.label,required:e.required}),this.props.fieldLevelHelpTooltip&&r?P.a.createElement(Sl,{fieldLevelHelpTooltip:this.props.fieldLevelHelpTooltip}):null,l?s[this.props.variant][i](a):s.base.multiple(a));return e.entityCombobox?P.a.createElement("div",{className:"slds-form-element"},P.a.createElement(vd,{assistiveText:e.assistiveText,htmlFor:this.getId(),label:n.label,required:e.required}),P.a.createElement("div",{className:"slds-form-element__control"},P.a.createElement("div",{className:"slds-combobox-group"},P.a.createElement("div",{className:"slds-combobox_object-switcher slds-combobox-addon_start"},e.entityCombobox),P.a.createElement("div",{className:"slds-combobox_container slds-combobox-addon_end"},c)))):c}}]),t}();sf.contextTypes={iconPath:o.a.string},sf.displayName=w,sf.propTypes=of,sf.defaultProps=af;function lf(e){var o=e.inputValue,t=e.limit,n=void 0===t?10:t,r=e.options,a=e.selection,i=new RegExp($a()(o),"ig");return r.filter(function(t){var e=!!t.label&&t.label.match(i),n="separator"===t.type,r=!a.some(function(e){return e.id===t.id});return(!o||n||e)&&r}).splice(0,n)}var cf=sf,uf=Ge(ya(cf,{excludeScrollbar:!0}));function pf(e){var t=P.a.isValidElement(e.children)?e.children.props.children:e.children,n=P.a.createElement("div",{className:I()({"slds-truncate":e.fixedLayout}),title:e.title||t},e.children),r=P.a.createElement("td",{className:e.className,role:e.fixedLayout?"gridcell":null,style:e.width?{width:e.width}:null},n);return e.primaryColumn&&(r=P.a.createElement("th",{className:e.className,role:e.fixedLayout?"gridcell":null,style:e.width?{width:e.width}:null},n)),r}var df=function(){},ff=n(47),mf=n(48),hf=n(14),bf=n.n(hf);pf.displayName=C,pf.propTypes={children:o.a.oneOfType([o.a.node,o.a.string]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),fixedLayout:o.a.bool,item:o.a.object,primaryColumn:o.a.bool,property:o.a.string,title:o.a.string,width:o.a.string};var yf=pf;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 vf(e,t){return!t||"object"!==gf(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function _f(e){return(_f=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Of(e,t){return(Of=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var xf=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),vf(this,_f(e).apply(this,arguments))}return 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)}(e,P.a.Component),e}();xf.displayName=T,xf.propTypes={children:o.a.element,isDefaultSortDescending:o.a.bool,isSorted:o.a.bool,label:o.a.oneOfType([o.a.string,o.a.node]),primaryColumn:o.a.bool,property:o.a.string,sortable:o.a.bool,sortDirection:o.a.oneOf(["desc","asc"]),title:o.a.string,truncate:o.a.bool,width:o.a.string};function Sf(e){return P.a.createElement("div",{className:"slds-cell-fixed",style:{display:"flex",flexDirection:"row",flexWrap:"nowrap"}},e.children)}var wf=xf;var Ef=function(){};function Cf(e){return(Cf="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 Tf(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 Nf(e){return(Nf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function kf(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function jf(e,t){return(jf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Pf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var If=function(){function a(){var e,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return Pf(kf(r=function(e,t){return!t||"object"!==Cf(t)&&"function"!=typeof t?kf(e):t}(this,(e=Nf(a)).call.apply(e,[this].concat(n)))),"state",{sortDirection:null}),Pf(kf(r),"handleSort",function(e){var t=function(e,t){switch(e){case"asc":return"desc";case"desc":return"asc";case null:return t?"desc":"asc";default:return"asc"}}(r.props.sortDirection||r.state.sortDirection,r.props.isDefaultSortDescending),n={property:r.props.property,sortDirection:t};r.setState({sortDirection:t}),Xn()(r.props.onSort)&&r.props.onSort(n,e)}),r}return 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)}(a,P.a.Component),function(e,t,n){t&&Tf(e.prototype,t),n&&Tf(e,n)}(a,[{key:"componentDidMount",value:function(){Ef(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,o=n.isSorted,a=n.label,i=n.sortable,s=n.width,l=Cf(a),c=this.props.sortDirection||this.state.sortDirection||this.props.isDefaultSortDescending&&"desc",u=o?"desc"===c?"descending":"ascending":"none",p={sortable:P.a.createElement("a",{href:"javascript:void(0)",className:"slds-th__action slds-text-link_reset",onClick:this.handleSort,role:"button",tabIndex:"0"},P.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveTextForColumnSort||this.props.assistiveText.columnSort," "),P.a.createElement("span",{className:"slds-truncate",title:"string"===l?a:void 0},a),P.a.createElement(en,{className:"slds-is-sortable__icon",category:"utility",name:"desc"===c?"arrowdown":"arrowup",size:"x-small"}),c?P.a.createElement("span",{className:"slds-assistive-text","aria-atomic":"true"},"asc"===c?this.props.assistiveTextForColumnSortedAscending||this.props.assistiveText.columnSortedAscending:this.props.assistiveTextForColumnSortedDescending||this.props.assistiveText.columnSortedDescending):null),notSortable:P.a.createElement("span",{className:"slds-p-horizontal_x-small",style:{display:"flex"}},P.a.createElement("span",{className:"slds-truncate",title:"string"===l?a:void 0},a))},d=this.props.fixedLayout?p[i?"sortable":"notSortable"]:P.a.createElement("div",{className:"slds-truncate",title:"string"===l?a:void 0},a);return P.a.createElement("th",{"aria-label":"string"===l?a:void 0,"aria-sort":u,className:I()((e={"slds-is-sortable":i,"slds-is-sorted":o},Pf(e,"slds-is-sorted_".concat(c),c),Pf(e,"slds-is-sorted_asc",o&&!c),e)),ref:function(e){t.props.cellRef&&t.props.cellRef(e)},scope:"col",style:r||s?{height:r?0:null,lineHeight:r?0:null,width:s||null}:null},r?P.a.cloneElement(d,{style:{display:"flex",height:0,overflow:"hidden",paddingBottom:0,paddingTop:0,visibility:"hidden"}}):d,r?P.a.createElement(Sf,null,P.a.cloneElement(d,{style:{alignItems:"center",display:"flex",flex:"1 1 auto",lineHeight:1.25,width:"100%"},tabIndex:i?0:null})):null)}}]),a}();Pf(If,"displayName","SLDSDataTableHeaderCell"),Pf(If,"propTypes",{assistiveText:o.a.shape({actionsHeader:o.a.string,columnSort:o.a.string,columnSortedAscending:o.a.string,columnSortedDescending:o.a.string,selectAllRows:o.a.string,selectRow:o.a.string}),cellRef:o.a.func,fixedHeader:o.a.bool,id:o.a.string.isRequired,isDefaultSortDescending:o.a.bool,isSorted:o.a.bool,label:o.a.oneOfType([o.a.string,o.a.node]),onSort:o.a.func,property:o.a.string,sortable:o.a.bool,sortDirection:o.a.oneOf(["desc","asc"]),width:o.a.string});var Df=If;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 Af(){return(Af=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 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){return(Bf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ff(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Mf(e,t){return(Mf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function qf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Hf=function(){function o(){var e,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return qf(Ff(a=function(e,t){return!t||"object"!==Rf(t)&&"function"!=typeof t?Ff(e):t}(this,(e=Bf(o)).call.apply(e,[this].concat(n)))),"getActionsHeader",function(){function e(e){return P.a.createElement("div",{className:"slds-th__action",style:e},P.a.createElement("span",{className:"slds-assistive-text"},a.props.assistiveText.actionsHeader))}var t=a.props.fixedHeader,n=null;return a.props.showRowActions&&(n=P.a.createElement("th",{ref:function(e){a.props.headerRefs&&a.props.headerRefs(e,"action")},scope:"col",style:{height:t?0:null,lineHeight:t?0:null,width:"3.25rem"}},e(t?{height:0,overflow:"hidden",paddingBottom:0,paddingTop:0,visibility:"hidden"}:null),t?P.a.createElement(Sf,null,e({lineHeight:1,width:"100%"})):null)),n}),qf(Ff(a),"getSelectHeader",function(){function e(e,t,n){var r=null;return"radio"===o?r=P.a.createElement("div",{className:"slds-truncate slds-assistive-text",id:"".concat(a.props.id,"-column-group-header-row-select"),title:a.props.assistiveText.selectRowGroup},a.props.assistiveText.selectRowGroup):!0!==o&&"checkbox"!==o||(r=P.a.createElement("div",{className:"slds-th__action slds-th__action_form","aria-hidden":n&&!0,style:t},n?null:P.a.createElement("span",{id:"".concat(a.props.id,"-column-group-header-row-select"),className:"slds-assistive-text"},a.props.assistiveText.selectAllRows),P.a.createElement(wc,{assistiveText:{label:a.props.assistiveText.selectAllRows},checked:a.props.allSelected,indeterminate:a.props.indeterminateSelected,id:"".concat(a.props.id,"-").concat(e),name:n?void 0:"SelectAll",onChange:a.props.onToggleAll}))),r}var t=a.props,o=t.canSelectRows,n=t.fixedHeader,r=null;return o&&(r=P.a.createElement("th",{className:"slds-text-align_right",ref:function(e){a.props.headerRefs&&a.props.headerRefs(e,"select")},scope:"col",style:{height:n?0:null,lineHeight:n?0:null,width:"3.25rem"}},e("SelectAll-fixed-header",n?{display:"flex",height:0,overflow:"hidden",paddingBottom:0,paddingTop:0,visibility:"hidden"}:null,n&&"ariaHidden"),n?P.a.createElement(Sf,null,e("SelectAll",{display:"flex",justifyContent:"flex-end",lineHeight:1,width:"100%"})):null)),r}),a}return 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&&Mf(e,t)}(o,P.a.Component),function(e,t,n){t&&Lf(e.prototype,t),n&&Lf(e,n)}(o,[{key:"render",value:function(){var n=this,e=this.getActionsHeader(),t=this.getSelectHeader();return P.a.createElement("thead",null,P.a.createElement("tr",{className:"slds-line-height_reset"},t,this.props.columns.map(function(e,t){return P.a.createElement(Df,Af({assistiveText:n.props.assistiveText,cellRef:function(e){n.props.headerRefs&&n.props.headerRefs(e,t)},fixedHeader:n.props.fixedHeader,id:"".concat(n.props.id,"-").concat(e.props.property),key:"".concat(n.props.id,"-").concat(e.props.property),onSort:n.props.onSort},e.props))}),e))}}]),o}();qf(Hf,"displayName",N),qf(Hf,"propTypes",{assistiveText:o.a.shape({actionsHeader:o.a.string,columnSort:o.a.string,columnSortedAscending:o.a.string,columnSortedDescending:o.a.string,selectAllRows:o.a.string,selectRow:o.a.string}),allSelected:o.a.bool,headerRefs:o.a.func,indeterminateSelected:o.a.bool,canSelectRows:o.a.oneOfType([o.a.bool,o.a.oneOf(["checkbox","radio"])]),columns:o.a.arrayOf(o.a.shape({Cell:o.a.func,props:o.a.object})),fixedHeader:o.a.bool,id:o.a.string,onToggleAll:o.a.func,onSort:o.a.func,showRowActions:o.a.bool});var Kf=Hf;function Wf(e){return(Wf="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 Vf(){return(Vf=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 Uf(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 zf(e){return(zf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Gf(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yf(e,t){return(Yf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qf(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=function(){function a(){var e,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return Qf(Gf(r=function(e,t){return!t||"object"!==Wf(t)&&"function"!=typeof t?Gf(e):t}(this,(e=zf(a)).call.apply(e,[this].concat(n)))),"isSelected",function(){return!!ad()(r.props.selection,r.props.item)}),Qf(Gf(r),"handleToggle",function(e,t){var n=t.checked;return r.props.onToggle(r.props.item,n,e)}),r}return 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&&Yf(e,t)}(a,P.a.Component),function(e,t,n){t&&Uf(e.prototype,t),n&&Uf(e,n)}(a,[{key:"render",value:function(){var r=this,e={},t=this.isSelected();return this.props.canSelectRows&&(e["aria-selected"]=t?"true":"false"),P.a.createElement("tr",Vf({},e,{className:I()({"slds-hint-parent":this.props.rowActions,"slds-is-selected":this.props.canSelectRows&&t})}),this.props.canSelectRows?P.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?P.a.createElement(du,{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:t,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}):P.a.createElement(wc,{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:t,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(e){var t=e.Cell,n="".concat(r.props.id,"-").concat(C,"-").concat(e.props.property);return P.a.createElement(t,Vf({},e.props,{className:e.props.truncate?"slds-truncate":null,fixedLayout:r.props.fixedLayout,rowHeader:e.props.primaryColumn,id:n,item:r.props.item,key:n,width:e.props.width}),r.props.item[e.props.property])}),this.props.rowActions?P.a.cloneElement(this.props.rowActions,{id:"".concat(this.props.id,"-").concat(k),item:this.props.item}):null)}}]),a}();Qf(Jf,"displayName",j),Qf(Jf,"propTypes",{assistiveText:o.a.shape({actionsHeader:o.a.string,columnSort:o.a.string,columnSortedAscending:o.a.string,columnSortedDescending:o.a.string,selectAllRows:o.a.string,selectRow:o.a.string}),canSelectRows:o.a.oneOfType([o.a.bool,o.a.oneOf(["checkbox","radio"])]),columns:o.a.arrayOf(o.a.shape({Cell:o.a.func,props:o.a.object})),fixedLayout:o.a.bool,id:o.a.string.isRequired,item:o.a.object.isRequired,onToggle:o.a.func,rowActions:o.a.element,selection:o.a.array,tableId:o.a.string});var Xf=Jf;function $f(e){return($f="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 Zf(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 em(e){return(em=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function tm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function nm(e,t){return(nm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function rm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var om=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return rm(tm(t=function(e,t){return!t||"object"!==$f(t)&&"function"!=typeof t?tm(e):t}(this,(e=em(a)).call.apply(e,[this].concat(r)))),"handleClick",function(e){gt.trap(e)}),rm(tm(t),"handleSelect",function(e){Xn()(t.props.onAction)&&t.props.onAction(t.props.item,e),t.props.dropdown&&Xn()(t.props.dropdown.props.onSelect)&&t.props.dropdown.props.onSelect(e)}),t}return 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&&nm(e,t)}(a,P.a.Component),function(e,t,n){t&&Zf(e.prototype,t),n&&Zf(e,n)}(a,[{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){rm(t,e,n[e])})}return t}({},{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},this.props.dropdown?this.props.dropdown.props:{},{onSelect:this.handleSelect});return P.a.createElement("td",{className:"","data-label":"Actions",onClick:this.handleClick,style:{width:"3.25rem"}},P.a.createElement(gi,e))}}]),a}();rm(om,"displayName",k),rm(om,"propTypes",{assistiveText:o.a.object,className:o.a.string,id:o.a.string,item:o.a.object,noHint:o.a.bool,onAction:o.a.func,options:o.a.array,dropdown:o.a.node}),rm(om,"defaultProps",{assistiveText:{icon:"Actions"},noHint:!1,options:[]});var am=om;function im(e){return(im="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 lm(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function cm(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function um(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 pm(e){return(pm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function dm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fm(e,t){return(fm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hm(e){return Array.isArray(e)?e.length:0}var bm={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"},selection:[]},ym=function(){function t(e){var a;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),mm(dm(a=function(e,t){return!t||"object"!==im(t)&&"function"!=typeof t?dm(e):t}(this,pm(t).call(this,e))),"handleToggleAll",function(e,t){var n=t.checked;if("function"==typeof a.props.onChange){var r=n?cm(a.props.items):[];a.props.onChange(r,e)}if("function"==typeof a.props.onRowChange){var o=n?cm(a.props.items):[];a.props.onRowChange(e,{selection:o})}}),mm(dm(a),"handleRowToggle",function(e,t,n){var r,o;"function"==typeof a.props.onChange&&(r=t?"radio"===a.props.selectRows?[e]:[].concat(cm(a.props.selection),[e]):sd()(a.props.selection,e),a.props.onChange(r,n));"function"==typeof a.props.onRowChange&&(o=t?"radio"===a.props.selectRows?[e]:[].concat(cm(a.props.selection),[e]):sd()(a.props.selection,e),a.props.onRowChange(n,{selection:o}))}),mm(dm(a),"resizeFixedHeaders",function(e){var t=[].concat(a.headerRefs.select,a.headerRefs.column,a.headerRefs.action);if(a.props.onFixedHeaderResize)a.props.onFixedHeaderResize(e,{headerRefs:t,scrollerRef:a.scrollerRef});else if(0<t.length){var o=0;St&&(o=document.documentElement.scrollLeft),t.forEach(function(e){if(e&&St){var t=e.getBoundingClientRect().left+o,n=0;a.scrollerRef&&(n=a.scrollerRef.getBoundingClientRect().left+o);var r=e.querySelector(".slds-cell-fixed");r&&(r.style.left="".concat(t-n,"px"),r.style.width="".concat(e.offsetWidth,"px"))}})}}),mm(dm(a),"toggleFixedHeaderListeners",function(e){if(a.props.onToggleFixedHeaderListeners)a.props.onToggleFixedHeaderListeners({},{attach:e,resizeHandler:a.resizeFixedHeaders,scrollerRef:a.scrollerRef});else{var t=["".concat(e?"add":"remove","EventListener")];wt&&window[t]("resize",a.resizeFixedHeaders),wt&&a.scrollerRef&&a.scrollerRef[t]("scroll",a.resizeFixedHeaders)}}),a.generatedId=m.a.generate(),a.headerRefs={action:[],column:[],select:[]},a.scrollerRef=null,df(E,e,ff),a}return 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)}(t,P.a.Component),function(e,t,n){t&&um(e.prototype,t),n&&um(e,n)}(t,[{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 l=this,e={},t=hm(this.props.items),n=hm(this.props.selection),r=!!(this.props.selectRows&&0<t)&&this.props.selectRows,o=r&&t===n,a=r&&t!==n&&0!==n,c=[],u=null;P.a.Children.forEach(this.props.children,function(e){if(e&&e.type.displayName===wf.displayName){var t,n=e.props,r=n.children,o=lm(n,["children"]),a=jn()({},l.props);delete a.children,jn()(a,o),r&&r.type.displayName===C?(t=r.type,jn()(a,r.props)):t=yf,c.push({Cell:t,props:a,dataTableProps:l.props})}else if(e&&e.type.displayName===am.displayName){var i=e.props.dropdown,s={};l.props.fixedHeader&&(s.menuPosition="overflowBoundaryElement"),u=P.a.cloneElement(e,{dropdown:i?P.a.cloneElement(i,s):null})}});var i=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){mm(t,e,n[e])})}return t}({},bm.assistiveText,this.props.assistiveText);this.props.assistiveTextForActionsHeader&&(i.actionsHeader=this.props.assistiveTextForActionsHeader),this.props.assistiveTextForSelectAllRows&&(i.selectAllRows=this.props.assistiveTextForSelectAllRows),this.props.assistiveTextForColumnSortedAscending&&(i.columnSortedAscending=this.props.assistiveTextForColumnSortedAscending),this.props.assistiveTextForColumnSortedDescending&&(i.columnSortedDescending=this.props.assistiveTextForColumnSortedDescending),this.props.assistiveTextForColumnSort&&(i.columnSort=this.props.assistiveTextForColumnSort),this.props.assistiveTextForSelectRow&&(i.selectRow=this.props.assistiveTextForSelectRow),this.props.selectRows&&"radio"!==this.props.selectRows&&(e["aria-multiselectable"]="true"),this.headerRefs={action:u?this.headerRefs.action:[],column:this.headerRefs.column.slice(0,c.length),select:r?this.headerRefs.select:[]};var s=P.a.createElement("table",sm({},e,{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}),P.a.createElement(Kf,{assistiveText:i,allSelected:o,fixedHeader:this.props.fixedHeader,headerRefs:function(e,t){"action"===t||"select"===t?e?l.headerRefs[t][0]=e:l.headerRefs[t]=[]:l.headerRefs.column[t]=e},indeterminateSelected:a,canSelectRows:r,columns:c,id:"".concat(this.getId(),"-").concat(N),onToggleAll:this.handleToggleAll,onSort:this.props.onSort,showRowActions:!!u}),P.a.createElement("tbody",null,0<t?this.props.items.map(function(e,t){var n=l.getId()&&e.id?"".concat(l.getId(),"-").concat(j,"-").concat(e.id):m.a.generate();return P.a.createElement(Xf,{assistiveText:i,canSelectRows:r,columns:c,fixedLayout:l.props.fixedLayout,id:n,index:t,item:e,key:n,onToggle:l.handleRowToggle,selection:l.props.selection,rowActions:u,tableId:l.getId()})}):null));if(this.props.fixedHeader){var p="1px solid ".concat(mf.colorGray5),d={borderTop:p,height:"100%"};this.props.joined&&(d.borderBottom=p,d.borderLeft=p,d.borderRight=p,d.borderTop="none",d.borderRadius=hf.tableBorderRadius),s=P.a.createElement("div",{className:"slds-table_header-fixed_container",style:d,onScroll:function(e){var t=e.target.scrollLeft;0<t&&(e.target.scrollLeft=0,l.scrollerRef&&(l.scrollerRef.scrollLeft=t))}},P.a.createElement("div",{className:"slds-table_header-fixed_scroller",ref:function(e){l.scrollerRef=e},style:{height:"100%",overflow:"auto"}},s))}return s}}]),t}();mm(ym,"displayName",E),mm(ym,"propTypes",{assistiveText:o.a.shape({actionsHeader:o.a.string,columnSort:o.a.string,columnSortedAscending:o.a.string,columnSortedDescending:o.a.string,selectAllRows:o.a.string,selectRow:o.a.string,selectRowGroup:o.a.string}),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),columnBordered:o.a.bool,fixedHeader:o.a.bool,fixedLayout:o.a.bool,id:o.a.string,items:o.a.arrayOf(o.a.shape({id:o.a.string.isRequired})).isRequired,joined:o.a.bool,noRowHover:o.a.bool,onFixedHeaderResize:o.a.func,onRowChange:o.a.func,onSort:o.a.func,onToggleFixedHeaderListeners:o.a.func,selection:o.a.array,selectRows:o.a.oneOfType([o.a.bool,o.a.oneOf(["checkbox","radio"])]),stacked:o.a.bool,stackedHorizontal:o.a.bool,striped:o.a.bool,style:o.a.object,unborderedRow:o.a.bool,unbufferedCell:o.a.bool}),mm(ym,"defaultProps",bm);function gm(e){return P.a.createElement(yf,e,P.a.createElement(Zr,{search:e.search},e.children))}var vm=ym;gm.displayName=C,gm.propTypes={children:o.a.oneOfType([o.a.string,o.a.number,o.a.bool]),search:o.a.any};var _m=gm,Om={firstDayOfMonth:function(e){var t=new Date(e);return t.setDate(1),t},isFirstDayOfMonth:function(e){return 1===e.getDate()},isLastDayOfMonth:function(e){return!Om.isSameMonth(e,Om.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&&Om.isSameMonth(e,new Date)},isToday:function(e){return!!e&&Om.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 Om.addDays(e,7*parseInt(t,10))},nearestWeekDay:function(e,t){var n=t-e.getDay();return n<0&&(n+=7),Om.addDays(e,n)},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},getDaysInMonth:function(e,t){return[31,Om.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,Om.getDaysInMonth(n.getFullYear(),n.getMonth()))),n}},xm=Om;function Sm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wm(t){var n=xm.isSameMonth(t.date,t.initialDateForCalendarRender),e=xm.isToday(t.date),r=xm.isSameDay(t.date,t.selectedDate),o=xm.isFirstDayOfMonth(t.date),a=!n||t.disabled;return P.a.createElement("td",{"aria-disabled":a,"aria-selected":r,className:I()({"slds-is-today":e,"slds-disabled-text":a,"slds-is-selected":r}),onClick:function(e){!function(e,t){var n=t.date;(0,t.onSelectDate)(e,{date:n})}(e,{date:t.date,onSelectDate:t.onSelectDate})},onKeyDown:function(e){!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=(Sm(n={},_t.SPACE,function(){a(e,{date:r})}),Sm(n,_t.ENTER,function(){a(e,{date:r})}),Sm(n,_t.TAB,function(){o(e,{direction:"next"})}),Sm(n,_t.LEFT,function(){u===xe.RTL?s(e,{date:r}):i(e,{date:r})}),Sm(n,_t.RIGHT,function(){u===xe.RTL?i(e,{date:r}):s(e,{date:r})}),Sm(n,_t.UP,function(){l(e,{date:r})}),Sm(n,_t.DOWN,function(){c(e,{date:r})}),n),d=Sm({},_t.TAB,function(){o(e,{direction:"previous"})});e.keyCode&&(e.shiftKey&&p[e.keyCode]?(gt.trapEvent(e),d[e.keyCode]()):p[e.keyCode]&&(gt.trapEvent(e),p[e.keyCode]()))}(e,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Sm(t,e,n[e])})}return t}({},t))},ref:function(e){r&&t.selectedDateRef(e),t.calendarHasFocus&&xm.isSameDay(t.focusedDate,t.date)&&n&&t.onRequestInternalFocusDate(void 0,{date:t.date,ref:e})},role:"gridcell",tabIndex:!t.calendarHasFocus&&o&&n?0:-1},P.a.createElement("span",{className:"slds-day"},e?P.a.createElement("span",{className:"slds-assistive-text"},"".concat(t.todayLabel,": ")):null,t.date.getDate()))}wm.displayName="SLDSDatepickerCalendarDay",wm.propTypes={calendarHasFocus:o.a.bool.isRequired,date:o.a.instanceOf(Date).isRequired,disabled:o.a.bool,initialDateForCalendarRender:o.a.instanceOf(Date).isRequired,onCalendarBlur:o.a.func.isRequired,onKeyboardNavigateToNextDay:o.a.func.isRequired,onKeyboardNavigateToNextWeek:o.a.func.isRequired,onKeyboardNavigateToPreviousDay:o.a.func.isRequired,onKeyboardNavigateToPreviousWeek:o.a.func.isRequired,onSelectDate:o.a.func.isRequired,selectedDate:o.a.instanceOf(Date).isRequired,selectedDateRef:o.a.func.isRequired,todayLabel:o.a.string.isRequired,focusedDate:o.a.instanceOf(Date),onRequestInternalFocusDate:o.a.func};function Em(e){for(var t=[],n=e.firstDayOfWeek,r=0;r<7;r+=1)t.push(P.a.createElement(Cm,{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=xm.addDays(n,1);return P.a.createElement("tr",{className:"week",key:t[0].toString()},t)}var Cm=Ge(wm);Em.propTypes={initialDateForCalendarRender:o.a.instanceOf(Date).isRequired,calendarHasFocus:o.a.bool.isRequired,dateDisabled:o.a.func,firstDayOfWeek:o.a.instanceOf(Date).isRequired,focusedDate:o.a.instanceOf(Date).isRequired,onCalendarBlur:o.a.func.isRequired,onKeyboardNavigateToNextDay:o.a.func.isRequired,onKeyboardNavigateToNextWeek:o.a.func.isRequired,onKeyboardNavigateToPreviousDay:o.a.func.isRequired,onKeyboardNavigateToPreviousWeek:o.a.func.isRequired,onRequestInternalFocusDate:o.a.func.isRequired,onSelectDate:o.a.func.isRequired,selectedDate:o.a.instanceOf(Date).isRequired,selectedDateRef:o.a.func.isRequired,todayLabel:o.a.string.isRequired},Em.displayName="SLDSDatepickerWeek";var Tm=Em;function Nm(e){return(Nm="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 km(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 jm(e){return(jm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Pm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Im(e,t){return(Im=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Dm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Rm=function(){function o(){var e,c;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Dm(Pm(c=function(e,t){return!t||"object"!==Nm(t)&&"function"!=typeof t?Pm(e):t}(this,(e=jm(o)).call.apply(e,[this].concat(n)))),"state",{focusedDate:c.props.initialDateForCalendarRender,calendarHasFocus:!0,todayFocus:!1}),Dm(Pm(c),"setCalendarRenderSeedDate",function(e){xm.isEqual(c.props.initialDateForCalendarRender,e.initialDateForCalendarRender)||(c.setState({focusedDate:c.props.initialDateForCalendarRender}),c.props.onRequestInternalFocusDate(void 0,{date:c.props.initialDateForCalendarRender,triggerCallback:!0}))}),Dm(Pm(c),"handleSelectDate",function(e,t){var n=t.date;c.props.dateDisabled({date:n})||(c.setState({selected:n}),c.props.onSelectDate(e,{date:n}))}),Dm(Pm(c),"handleRequestClose",function(e){c.props.onRequestClose&&c.props.onRequestClose(e,{})}),Dm(Pm(c),"handleKeyboardNavigateToPreviousDay",function(e,t){var n=t.date,r=xm.addDays(n,-1);xm.isSameMonth(r,n)?(c.setState({focusedDate:r}),c.props.onRequestInternalFocusDate(e,{date:r,triggerCallback:!0})):c.props.onChangeMonth(e,r)}),Dm(Pm(c),"handleKeyboardNavigateToNextDay",function(e,t){var n=t.date,r=xm.addDays(n,1);xm.isSameMonth(r,n)?(c.setState({focusedDate:r}),c.props.onRequestInternalFocusDate(e,{date:r,triggerCallback:!0})):c.props.onChangeMonth(e,r)}),Dm(Pm(c),"handleKeyboardNavigateToPreviousWeek",function(e,t){var n=t.date,r=xm.addDays(n,-7);xm.isSameMonth(r,n)?(c.setState({focusedDate:r}),c.props.onRequestInternalFocusDate(e,{date:r,triggerCallback:!0})):c.props.onChangeMonth(e,r)}),Dm(Pm(c),"handleKeyboardNavigateToNextWeek",function(e,t){var n=t.date,r=xm.addDays(n,7);xm.isSameMonth(r,n)?(c.setState({focusedDate:r}),c.props.onRequestInternalFocusDate(e,{date:r,triggerCallback:!0})):c.props.onChangeMonth(e,r)}),Dm(Pm(c),"renderWeeks",function(){var e,t=c.props.isIsoWeekday?1:0,n=xm.firstDayOfMonth(c.props.initialDateForCalendarRender);if(n.getDay()>t){var r=xm.addWeeks(n,-1);e=xm.nearestWeekDay(r,t)}else e=n;for(var o=[],a=!1,i=e.getMonth(),s=0;!a;)o.push(P.a.createElement(Tm,{calendarHasFocus:c.state.calendarHasFocus,dateDisabled:c.props.dateDisabled,firstDayOfWeek:e,key:e.toString(),focusedDate:c.state.focusedDate,initialDateForCalendarRender:c.props.initialDateForCalendarRender,onCalendarBlur:c.props.onCalendarBlur,onKeyboardNavigateToPreviousDay:c.handleKeyboardNavigateToPreviousDay,onKeyboardNavigateToNextDay:c.handleKeyboardNavigateToNextDay,onKeyboardNavigateToPreviousWeek:c.handleKeyboardNavigateToPreviousWeek,onKeyboardNavigateToNextWeek:c.handleKeyboardNavigateToNextWeek,onRequestClose:c.handleRequestClose,onRequestInternalFocusDate:c.props.onRequestInternalFocusDate,onSelectDate:c.handleSelectDate,selectedDate:c.props.selectedDate,selectedDateRef:c.props.selectedDateRef,todayLabel:c.props.todayLabel})),e=xm.addWeeks(e,1),a=2<s&&i!==e.getMonth(),s+=1,i=e.getMonth();for(var l=0;o.length<6;)l+=1,o.push(P.a.createElement("tr",{key:"extra_".concat(l),className:"week"},P.a.createElement("td",{"aria-disabled":"true","aria-selected":"false",className:"slds-disabled-text"},P.a.createElement("span",{className:"slds-day "}," "))));return o}),c}return 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&&Im(e,t)}(o,P.a.Component),function(e,t,n){t&&km(e.prototype,t),n&&km(e,n)}(o,[{key:"componentDidUpdate",value:function(e){this.setCalendarRenderSeedDate(e)}},{key:"render",value:function(){var t=this,e=P.a.createElement("th",null,P.a.createElement("abbr",{title:this.props.weekDayLabels[0]},this.props.abbreviatedWeekDayLabels[0]));return P.a.createElement("div",{className:"calendar"},P.a.createElement("table",{className:"datepicker__month",role:"grid","aria-labelledby":"".concat(this.props.id,"-month")},P.a.createElement("thead",null,P.a.createElement("tr",null,this.props.isIsoWeekday?null:e,P.a.createElement("th",{scope:"col"},P.a.createElement("abbr",{title:this.props.weekDayLabels[1]},this.props.abbreviatedWeekDayLabels[1])),P.a.createElement("th",{scope:"col"},P.a.createElement("abbr",{title:this.props.weekDayLabels[2]},this.props.abbreviatedWeekDayLabels[2])),P.a.createElement("th",{scope:"col"},P.a.createElement("abbr",{title:this.props.weekDayLabels[3]},this.props.abbreviatedWeekDayLabels[3])),P.a.createElement("th",{scope:"col"},P.a.createElement("abbr",{title:this.props.weekDayLabels[4]},this.props.abbreviatedWeekDayLabels[4])),P.a.createElement("th",{scope:"col"},P.a.createElement("abbr",{title:this.props.weekDayLabels[5]},this.props.abbreviatedWeekDayLabels[5])),P.a.createElement("th",{scope:"col"},P.a.createElement("abbr",{title:this.props.weekDayLabels[6]},this.props.abbreviatedWeekDayLabels[6])),this.props.isIsoWeekday&&e)),P.a.createElement("tbody",null,this.renderWeeks(),P.a.createElement("tr",null,P.a.createElement("td",{colSpan:"7",role:"gridcell"},P.a.createElement("a",{href:"javascript:void(0)",tabIndex:"0",className:"slds-show_inline-block slds-p-bottom_x-small",onClick:function(e){t.handleSelectDate(e,{date:new Date})},onKeyDown:this.props.onLastFocusableNodeKeyDown,ref:this.props.todayRef},this.props.todayLabel))))))}}]),o}();Dm(Rm,"displayName","SLDSDatepickerCalendar"),Dm(Rm,"propTypes",{abbreviatedWeekDayLabels:o.a.array.isRequired,dateDisabled:o.a.func,id:o.a.string.isRequired,initialDateForCalendarRender:o.a.instanceOf(Date).isRequired,isIsoWeekday:o.a.bool,onCalendarBlur:o.a.func.isRequired,onChangeMonth:o.a.func.isRequired,onRequestInternalFocusDate:o.a.func,onRequestClose:o.a.func.isRequired,onSelectDate:o.a.func.isRequired,selectedDate:o.a.instanceOf(Date),selectedDateRef:o.a.func,todayLabel:o.a.string.isRequired,onLastFocusableNodeKeyDown:o.a.func,todayRef:o.a.func,weekDayLabels:o.a.array.isRequired});var Am=Rm;function Lm(e){return(Lm="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 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){return(Fm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Mm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qm(e,t){return(qm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Hm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Km=function(){function o(){var e,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Hm(Mm(a=function(e,t){return!t||"object"!==Lm(t)&&"function"!=typeof t?Mm(e):t}(this,(e=Fm(o)).call.apply(e,[this].concat(n)))),"getOptions",function(){for(var e=new Date,t=e.getFullYear()+a.props.relativeYearFrom,n=e.getFullYear()+a.props.relativeYearTo,r=[],o=t;o<n;o+=1)r.push({label:"".concat(o),value:o,id:String(r.length)});return r}),Hm(Mm(a),"getSelectedValueOption",function(){var t=a.props.initialDateForCalendarRender.getFullYear();return a.getOptions().filter(function(e){return e.value===t})}),Hm(Mm(a),"handleSelect",function(e,t){var n=t.selection[0];n&&a.props.onChangeMonth(new Date(a.props.initialDateForCalendarRender.setFullYear(parseInt(n.value,10))))}),a}return 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&&qm(e,t)}(o,P.a.Component),function(e,t,n){t&&Bm(e.prototype,t),n&&Bm(e,n)}(o,[{key:"render",value:function(){var e=this.getSelectedValueOption();return P.a.createElement("div",{className:"slds-form-element slds-align-content-center"},P.a.createElement(cf,{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"}))}}]),o}();Hm(Km,"displayName","SLDSDatepickerYearSelector"),Hm(Km,"propTypes",{assistiveTextYear:o.a.string.isRequired,id:o.a.string,initialDateForCalendarRender:o.a.instanceOf(Date).isRequired,onChangeMonth:o.a.func.isRequired,relativeYearFrom:o.a.number,relativeYearTo:o.a.number});var Wm=Km;function Vm(e){return(Vm="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 Um(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 zm(e){return(zm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Gm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ym(e,t){return(Ym=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Jm=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return Qm(Gm(t=function(e,t){return!t||"object"!==Vm(t)&&"function"!=typeof t?Gm(e):t}(this,(e=zm(a)).call.apply(e,[this].concat(r)))),"getMonthLabel",function(){return t.props.monthLabels[new Date(t.props.initialDateForCalendarRender).getMonth()]}),Qm(Gm(t),"getYearLabel",function(){return new Date(t.props.initialDateForCalendarRender).getFullYear()}),Qm(Gm(t),"handleClick",function(e){e.preventDefault(),e.stopPropagation()}),Qm(Gm(t),"handleYearSelect",function(e){t.props.onChangeMonth(void 0,e)}),Qm(Gm(t),"previousMonthClicked",function(){t.props.onChangeMonth(void 0,xm.addMonths(t.props.initialDateForCalendarRender,-1))}),Qm(Gm(t),"nextMonthClicked",function(){t.props.onChangeMonth(void 0,xm.addMonths(t.props.initialDateForCalendarRender,1))}),t}return 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&&Ym(e,t)}(a,P.a.Component),function(e,t,n){t&&Um(e.prototype,t),n&&Um(e,n)}(a,[{key:"render",value:function(){var t=this;return P.a.createElement("div",{className:"slds-datepicker__filter slds-grid"},P.a.createElement("div",{className:"slds-datepicker__filter_month slds-grid slds-grid_align-spread slds-grow",style:{flex:1.75}},P.a.createElement("div",{className:"slds-align-middle"},P.a.createElement(Cn,{assistiveText:{icon:this.props.assistiveTextPreviousMonth},iconCategory:"utility",iconName:"left",iconVariant:"container",onKeyDown:this.props.onPreviousMonthKeyDown,onClick:this.previousMonthClicked,buttonRef:function(e){t.props.previousMonthRef(e)},variant:"icon",type:"button"})),P.a.createElement("h2",{id:"".concat(this.props.id,"-month"),className:"slds-align-middle","aria-live":"assertive","aria-atomic":!0},this.getMonthLabel()," ",P.a.createElement("span",{className:"slds-assistive-text"},this.getYearLabel())),P.a.createElement("div",{className:"slds-align-middle"},P.a.createElement(Cn,{assistiveText:{icon:this.props.assistiveTextNextMonth},iconCategory:"utility",iconName:"right",iconVariant:"container",onClick:this.nextMonthClicked,variant:"icon",type:"button"}))),P.a.createElement(Wm,{assistiveTextYear:this.props.assistiveTextYear,id:this.props.id,initialDateForCalendarRender:this.props.initialDateForCalendarRender,onChangeMonth:this.handleYearSelect,relativeYearFrom:this.props.relativeYearFrom,relativeYearTo:this.props.relativeYearTo}))}}]),a}();Qm(Jm,"displayName","SLDSDatepickerMonthNavigation"),Qm(Jm,"propTypes",{assistiveTextNextMonth:o.a.string.isRequired,assistiveTextPreviousMonth:o.a.string.isRequired,assistiveTextYear:o.a.string.isRequired,id:o.a.string,initialDateForCalendarRender:o.a.instanceOf(Date).isRequired,onChangeMonth:o.a.func.isRequired,monthLabels:o.a.array.isRequired,onPreviousMonthKeyDown:o.a.func,previousMonthRef:o.a.func.isRequired,relativeYearFrom:o.a.number,relativeYearTo:o.a.number});var Xm=Jm;function $m(e){return($m="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 Zm(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function eh(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 th(e){return(th=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function nh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function rh(e,t){return(rh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function oh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ah=function(){function a(){var e,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return oh(nh(r=function(e,t){return!t||"object"!==$m(t)&&"function"!=typeof t?nh(e):t}(this,(e=th(a)).call.apply(e,[this].concat(n)))),"state",{initialDateForCalendarRender:r.props.selectedDate,isCalendarFocused:!0}),oh(nh(r),"handleCalendarBlur",function(e,t){var n=t.direction;"next"===n&&r.previousMonthRef?(r.setState({isCalendarFocused:!1}),r.props.onCalendarFocus&&r.props.onCalendarFocus(e,{direction:n,isCalendarFocused:!1,ref:r.previousMonthRef}),r.previousMonthRef.focus()):"previous"===n&&r.todayRef&&(r.setState({isCalendarFocused:!1}),r.props.onCalendarFocus&&r.props.onCalendarFocus(e,{direction:n,isCalendarFocused:!1,ref:r.todayRef}),r.todayRef.focus())}),oh(nh(r),"handleFirstFocusableNodeKeyDown",function(e){e.shiftKey&&e.keyCode===_t.TAB&&(gt.trapEvent(e),r.setState({isCalendarFocused:!0}))}),oh(nh(r),"handleInitialDateForCalendarRenderChange",function(e,t){r.setState({initialDateForCalendarRender:t})}),oh(nh(r),"handleKeyDown",function(e){e.keyCode===_t.ESCAPE&&(gt.trapEvent(e),r.props.onRequestClose(e,{}))}),oh(nh(r),"handleLastFocusableNodeKeyDown",function(e){e.shiftKey||e.keyCode!==_t.TAB||(gt.trapEvent(e),r.setState({isCalendarFocused:!0}))}),oh(nh(r),"handleRequestClose",function(e){r.props.onRequestClose&&r.props.onRequestClose(e,{})}),oh(nh(r),"handleRequestFocusDate",function(e,t){if(t.ref&&r.state.isCalendarFocused&&t.ref.focus(),r.props.onCalendarFocus&&t.triggerCallback){t.triggerCallback;var n=Zm(t,["triggerCallback"]);r.props.onCalendarFocus(e,n)}}),r}return 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)}(a,P.a.Component),function(e,t,n){t&&eh(e.prototype,t),n&&eh(e,n)}(a,[{key:"render",value:function(){var t=this;return P.a.createElement("div",{className:I()({"slds-datepicker":this.props.isolated},this.props.className),"aria-hidden":"false","data-selection":"single",onKeyDown:this.handleKeyDown},P.a.createElement(Xm,{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(e){t.previousMonthRef=e},onPreviousMonthKeyDown:this.handleFirstFocusableNodeKeyDown,relativeYearFrom:this.props.relativeYearFrom,relativeYearTo:this.props.relativeYearTo}),P.a.createElement(Am,{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(e){t.todayRef=e},onLastFocusableNodeKeyDown:this.handleLastFocusableNodeKeyDown,weekDayLabels:this.props.weekDayLabels}))}}]),a}();oh(ah,"defaultProps",{selectedDate:new Date,value:new Date}),oh(ah,"displayName","DatepickerCalendarWrapper"),oh(ah,"propTypes",{assistiveTextNextMonth:o.a.string.isRequired,assistiveTextPreviousMonth:o.a.string.isRequired,assistiveTextYear:o.a.string.isRequired,abbreviatedWeekDayLabels:o.a.array.isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),dateDisabled:o.a.func,id:o.a.string,isIsoWeekday:o.a.bool,isolated:o.a.bool,monthLabels:o.a.array.isRequired,onCalendarFocus:o.a.func,onRequestClose:o.a.func.isRequired,onSelectDate:o.a.func.isRequired,relativeYearFrom:o.a.number.isRequired,relativeYearTo:o.a.number.isRequired,selectedDate:o.a.instanceOf(Date),selectedDateRef:o.a.func,todayLabel:o.a.string.isRequired,weekDayLabels:o.a.array.isRequired});var ih=ah;var sh=function(){},lh=n(49);function ch(e){return(ch="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(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){hh(t,e,n[e])})}return t}function ph(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){return(dh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function fh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function mh(e,t){return(mh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 bh={assistiveText:o.a.shape({nextMonth:o.a.string,openCalendar:o.a.string,previousMonth:o.a.string,year:o.a.string}),align:o.a.oneOf(["left","right"]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),disabled:o.a.bool,dateDisabled:o.a.func,formatter:o.a.func,formattedValue:o.a.string,hasStaticAlignment:o.a.bool,id:o.a.string,labels:o.a.shape({abbreviatedWeekDays:o.a.array,label:o.a.string,months:o.a.array,placeholder:o.a.string,today:o.a.string,weekDays:o.a.array}),input:o.a.node,isOpen:o.a.bool,isIsoWeekday:o.a.bool,menuPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),onCalendarFocus:o.a.func,onChange:o.a.func,onClose:o.a.func,onOpen:o.a.func,onRequestClose:o.a.func,onRequestOpen:o.a.func,parser:o.a.func,relativeYearFrom:o.a.number,relativeYearTo:o.a.number,triggerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),value:o.a.instanceOf(Date)},yh={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 $n(!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}},gh=function(){function o(e){var i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),hh(fh(i=function(e,t){return!t||"object"!==ch(t)&&"function"!=typeof t?fh(e):t}(this,dh(o).call(this,e))),"getDatePicker",function(e){var t=e.labels,n=e.assistiveText,r=i.state.formattedValue?i.parseDate(i.state.formattedValue):i.state.value;return P.a.createElement(ih,{abbreviatedWeekDayLabels:i.props.abbreviatedWeekDayLabels||i.props.abbrWeekDayLabels||t.abbreviatedWeekDays,assistiveTextNextMonth:i.props.assistiveTextNextMonth||n.nextMonth,assistiveTextPreviousMonth:i.props.assistiveTextPreviousMonth||n.previousMonth,assistiveTextYear:n.year,id:i.getId(),isIsoWeekday:i.props.isIsoWeekday,monthLabels:i.props.monthLabels||t.months,onCalendarFocus:i.props.onCalendarFocus,dateDisabled:i.props.dateDisabled,onRequestClose:i.handleRequestClose,onSelectDate:i.handleCalendarChange,relativeYearFrom:i.props.relativeYearFrom,relativeYearTo:i.props.relativeYearTo,selectedDate:r||new Date,selectedDateRef:function(e){i.selectedDateCell=e},todayLabel:i.props.todayLabel||t.today,weekDayLabels:i.props.weekDayLabels||t.weekDays})}),hh(fh(i),"getDialog",function(e){var t=e.labels,n=e.assistiveText,r=i.props.isInline?"relative":i.props.menuPosition,o="relative"!==i.props.menuPosition?{transform:"none"}:{};return!i.props.disabled&&i.getIsOpen()?P.a.createElement(Vt,{align:"bottom ".concat(i.props.align),contentsClassName:I()("slds-datepicker slds-dropdown",{"slds-dropdown_right":"relative"===i.props.menuPosition&&"right"===i.props.align,"slds-dropdown_left":"relative"===i.props.menuPosition&&"left"===i.props.align},i.props.className),context:i.context,hasStaticAlignment:i.props.hasStaticAlignment,style:o,onClose:i.handleClose,onOpen:i.handleOpen,onRequestTargetElement:function(){return i.inputRef},position:r,portalMount:i.props.portalMount},i.getDatePicker({labels:t,assistiveText:n})):null}),hh(fh(i),"getId",function(){return i.props.id||i.generatedId}),hh(fh(i),"getIsOpen",function(){return!!("boolean"==typeof i.props.isOpen?i.props.isOpen:i.state.isOpen)}),hh(fh(i),"getInputProps",function(e){var t=e.assistiveText,n=e.labels,r={iconRight:P.a.createElement(Js,{assistiveText:{icon:i.props.assistiveTextOpenCalendar||t.openCalendar},"aria-haspopup":!0,"aria-expanded":i.getIsOpen(),category:"utility",name:"event",onClick:i.openDialog,type:"button"}),inputRef:function(e){i.setInputRef(e)},id:i.getId(),onChange:i.handleInputChange,onClick:function(){i.openDialog()},onKeyDown:i.handleKeyDown,value:i.state.inputValue},o={disabled:i.props.disabled,label:i.props.label||n.label,onBlur:i.props.onBlur,onFocus:i.props.onFocus,placeholder:i.props.placeholder||n.placeholder,required:i.props.required},a=i.props.children&&i.props.children.props;return uh({},r,o,uh({},a,{onClick:function(){i.openDialog(),a&&a.onClick&&a.onClick()}}),i.props.input&&i.props.input.props)}),hh(fh(i),"setInputRef",function(e){i.inputRef=e,i.state.inputRendered||i.setState({inputRendered:!0})}),hh(fh(i),"handleCalendarChange",function(e,t){var n=t.date;i.setState({value:n,formattedValue:i.props.formatter(n),inputValue:i.props.formatter(n)}),i.handleRequestClose(),i.props.onChange&&i.props.onChange(e,{date:n,formattedDate:i.props.formatter(n),timezoneOffset:n.getTimezoneOffset()}),i.props.onDateChange&&i.props.onDateChange(n,i.props.formatter(n))}),hh(fh(i),"handleClickOutside",function(){i.handleRequestClose()}),hh(fh(i),"handleClose",function(){i.props.onClose&&i.props.onClose()}),hh(fh(i),"handleInputChange",function(e){i.setState({formattedValue:e.target.value,inputValue:e.target.value});var t=i.props.parser(e.target.value);i.props.onChange&&i.props.onChange(e,{date:t,formattedDate:e.target.value,timezoneOffset:t.getTimezoneOffset()})}),hh(fh(i),"handleKeyDown",function(e){!e.keyCode||e.shiftKey||e.keyCode!==_t.DOWN&&e.keyCode!==_t.UP||(gt.trapEvent(e),i.setState({isOpen:!0})),i.props.onKeyDown&&i.props.onKeyDown(e,{})}),hh(fh(i),"handleOpen",function(e,t){var n=t.portal;i.props.onOpen&&i.props.onOpen(e,{portal:n}),i.selectedDateCell&&i.selectedDateCell.focus()}),hh(fh(i),"handleRequestClose",function(){i.props.onRequestClose&&i.props.onRequestClose(),i.getIsOpen()&&(i.setState({isOpen:!1}),i.inputRef&&i.inputRef.focus())}),hh(fh(i),"openDialog",function(){i.props.onRequestOpen?i.props.onRequestOpen():i.setState({isOpen:!0})}),hh(fh(i),"parseDate",function(e){var t=i.props.parser(e);return"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(t.getTime())||(t=new Date),t});var t=e.formattedValue||e.strValue,n=e.formatter(e.value),r=e.value?n:t;return i.state={isOpen:!1,value:e.value,formattedValue:r||"",inputValue:r||""},i.generatedId=m.a.generate(),sh(D,e,lh),i}return 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&&mh(e,t)}(o,P.a.Component),function(e,t,n){t&&ph(e.prototype,t),n&&ph(e,n)}(o,[{key:"componentWillReceiveProps",value:function(e){e.value&&this.props.value&&this.props.value.getTime()!==e.value.getTime()&&this.setState({value:e.value,formattedValue:this.props.formatter(e.value),inputValue:this.props.formatter(e.value)})}},{key:"render",value:function(){var e=jn()({},yh.labels,this.props.labels),t=jn()({},yh.assistiveText,this.props.assistiveText),n=this.getInputProps({assistiveText:t,labels:e}),r=this.props.children?P.a.cloneElement(this.props.children,uh({},n)):P.a.createElement(Ll,n);return P.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}))}}]),o}();gh.contextTypes={iconPath:o.a.string},gh.displayName=D,gh.propTypes=bh,gh.defaultProps=yh;var vh=ya(gh);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 Oh(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}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 Sh(e,t){return!t||"object"!==_h(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function wh(e){return(wh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Eh(e,t){return(Eh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Ch={assistiveText:o.a.shape({label:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),isPaused:o.a.bool,isStatic:o.a.bool,scorePolarity:o.a.oneOf(["positive","negative"]),strengthLevel:o.a.oneOf(["-3","-2","-1","0","1","2","3",-3,-2,-1,0,1,2,3]),title:o.a.string.isRequired,trendDirection:o.a.oneOf(["down","up","neutral"]),variant:o.a.oneOf(["ellie","eq","score","strength","trend","typing","waffle"]).isRequired},Th=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Sh(this,wh(e).apply(this,arguments))}return 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&&Eh(e,t)}(e,P.a.Component),function(e,t,n){t&&xh(e.prototype,t),n&&xh(e,n)}(e,[{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=[P.a.createElement("svg",{viewBox:"0 0 280 14","aria-hidden":"true"},P.a.createElement("circle",{cx:"7",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"7",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"21",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"21",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"35",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"35",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"49",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"49",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"63",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"63",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"77",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"77",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"91",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"91",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"105",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"105",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"119",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"119",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"133",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"133",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"147",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"147",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"161",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"161",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"175",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"175",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"189",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"189",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"203",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"203",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"217",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"217",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"231",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"231",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"245",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"245",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"259",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"259",cy:"7",r:"3"}),P.a.createElement("circle",{cx:"273",cy:"7",r:"4"}),P.a.createElement("circle",{cx:"273",cy:"7",r:"3"}))]:"eq"===this.props.variant?e=[P.a.createElement("div",{className:"slds-icon-eq__bar"}),P.a.createElement("div",{className:"slds-icon-eq__bar"}),P.a.createElement("div",{className:"slds-icon-eq__bar"})]:"score"===this.props.variant?e=[P.a.createElement("svg",{viewBox:"0 0 5 5",className:"slds-icon-score__positive","aria-hidden":"true"},P.a.createElement("circle",{cx:"50%",cy:"50%",r:"1.875"})),P.a.createElement("svg",{viewBox:"0 0 5 5",className:"slds-icon-score__negative","aria-hidden":"true"},P.a.createElement("circle",{cx:"50%",cy:"50%",r:"1.875"}))]:"strength"===this.props.variant?e=[P.a.createElement("svg",{viewBox:"0 0 27 7","aria-hidden":"true"},P.a.createElement("circle",{r:"3.025",cx:"3.5",cy:"3.5"}),P.a.createElement("circle",{r:"3.025",cx:"13.5",cy:"3.5"}),P.a.createElement("circle",{r:"3.025",cx:"23.5",cy:"3.5"}))]:"trend"===this.props.variant?e=[P.a.createElement("svg",{viewBox:"0 0 16 16","aria-hidden":"true"},P.a.createElement("path",{className:"slds-icon-trend__arrow",d:"M.75 8H11M8 4.5L11.5 8 8 11.5"}),P.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=[P.a.createElement("span",{className:"slds-icon-typing__dot"}),P.a.createElement("span",{className:"slds-icon-typing__dot"}),P.a.createElement("span",{className:"slds-icon-typing__dot"})],this.props.title||(t="User is typing")):"waffle"===this.props.variant&&(e=[P.a.createElement("span",{className:"slds-icon-waffle"},P.a.createElement("span",{className:"slds-r1"}),P.a.createElement("span",{className:"slds-r2"}),P.a.createElement("span",{className:"slds-r3"}),P.a.createElement("span",{className:"slds-r4"}),P.a.createElement("span",{className:"slds-r5"}),P.a.createElement("span",{className:"slds-r6"}),P.a.createElement("span",{className:"slds-r7"}),P.a.createElement("span",{className:"slds-r8"}),P.a.createElement("span",{className:"slds-r9"}))],this.props.title||(t="Open App Launcher")),e.push(P.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=Gt(t,this.props.className),P.a.createElement.apply(P.a,[r,n].concat(Oh(e)))}}]),e}();Th.displayName="SLDSDynamicIcon",Th.propTypes=Ch;var Nh=Th;function kh(e){return(kh="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 jh(){return(jh=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 Ph(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ih(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){return(Dh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Rh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ah(e,t){return(Ah=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Lh(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={labels:{cancel:"Cancel",save:"Save"}},Fh=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return Lh(Rh(t=function(e,t){return!t||"object"!==kh(t)&&"function"!=typeof t?Rh(e):t}(this,(e=Dh(a)).call.apply(e,[this].concat(r)))),"handleOpen",function(){t.setState({isOpen:!0})}),Lh(Rh(t),"handleClose",function(){t.setState({isOpen:!1})}),t}return 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&&Ah(e,t)}(a,P.a.Component),function(e,t,n){t&&Ih(e.prototype,t),n&&Ih(e,n)}(a,[{key:"render",value:function(){var e=this.props,t=e.onCancel,n=e.onSave,r=Ph(e,["onCancel","onSave"]),o=this.props.children?this.props.children:P.a.createElement(Cn,{assistiveText:{icon:"Edit: Status"},className:"slds-button_reset",iconCategory:"utility",iconClassName:"slds-button__icon slds-button__icon_hint",iconName:"edit",onClick:this.props.handleOpen,variant:"icon",style:{verticalAlign:"middle"}}),a=jn()({},Bh.labels,this.props.labels);return P.a.createElement(Up,jh({classNameFooter:["slds-p-top_xxx-small","slds-p-bottom_xx-small","slds-p-right_large"],classNameBody:["slds-p-bottom_xx-small"],footer:P.a.createElement("div",{className:"slds-text-align_right slds-text-align_right slds-p-bottom_x-small slds-p-right_xx-small"},P.a.createElement(Cn,{label:a.cancel,onClick:t}),P.a.createElement(Cn,{disabled:!this.props.isModified,variant:"brand",label:a.save,onClick:n})),footerStyle:{borderTop:"0px"},onClose:this.handleClose,onRequestClose:this.handleClose,onOpen:this.handleOpen},r),o)}}]),a}();Lh(Fh,"displayName","SLDSPopoverEditDialog"),Lh(Fh,"propTypes",{id:o.a.string,isModified:o.a.bool,labels:o.a.shape({cancel:o.a.oneOfType([o.a.string,o.a.node]),save:o.a.oneOfType([o.a.string,o.a.node])}),onCancel:o.a.func,onSave:o.a.func,popover:o.a.node}),Fh.defaultProps=Bh;var Mh=Fh;function qh(e){return(qh="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 Hh(e,t){return!t||"object"!==qh(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Kh(e){return(Kh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Wh(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,n){return t&&Wh(e.prototype,t),n&&Wh(e,n),e}function Uh(e,t){return(Uh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var zh={assistiveText:o.a.shape({label:o.a.string,addCondition:o.a.string,addGroup:o.a.string}),id:o.a.string,children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onChangeTrigger:o.a.func,onChangeCustomLogicValue:o.a.func,onAddCondition:o.a.func,onAddGroup:o.a.func}),focusOnMount:o.a.bool,labels:o.a.shape({addCondition:o.a.string,addGroup:o.a.string,customLogic:o.a.string,label:o.a.string,takeAction:o.a.string,triggerAll:o.a.string,triggerAlways:o.a.string,triggerAny:o.a.string,triggerCustom:o.a.string,triggerFormula:o.a.string}),isRoot:o.a.bool,triggerType:o.a.oneOf(["all","any","custom","always","formula"]),customLogicValue:o.a.string},Gh={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"}},Yh=function(){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=Hh(this,Kh(i).call(this,e))).generatedId=m.a.generate(),t}return 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&&Uh(e,t)}(i,P.a.Component),Vh(i,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}}]),Vh(i,[{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=jn()({},Gh.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 n=this,e=jn()({},Gh.assistiveText,this.props.assistiveText),t=jn()({},Gh.labels,this.props.labels),r=P.a.createElement(uf,{events:{onSelect:function(e,t){return n.props.events.onChangeTrigger(e,{triggerType:i.triggerChange(e,t)})}},id:"".concat(this.getId(),"-take-action-trigger"),multiple:!1,options:this.getTriggers(),variant:"readonly",labels:{label:t.takeAction},selection:this.getTriggerSelection()}),o="always"!==this.props.triggerType&&"formula"!==this.props.triggerType?P.a.createElement("div",{className:"slds-expression__buttons"},P.a.createElement(Cn,{iconCategory:"utility",iconName:"add",iconPosition:"left",id:"".concat(this.getId(),"-add-condition-button"),label:t.addCondition,assistiveText:{icon:e.addCondition},onClick:this.props.events.onAddCondition}),this.props.isRoot?P.a.createElement(Cn,{iconCategory:"utility",iconName:"add",iconPosition:"left",id:"".concat(this.getId(),"-add-group-button"),label:t.addGroup,assistiveText:{icon:e.addGroup},onClick:this.props.events.onAddGroup}):null):null,a=null;return"always"!==this.props.triggerType&&(a=this.props.isRoot&&"formula"===this.props.triggerType?this.props.children:P.a.createElement(P.a.Fragment,null,"custom"===this.props.triggerType?P.a.createElement(Ll,{label:t.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,P.a.createElement("ul",null,this.props.children))),this.props.isRoot?"formula"===this.props.triggerType?P.a.createElement(P.a.Fragment,null,P.a.createElement("div",{className:"slds-expression__options"},r),a):P.a.createElement("div",{className:I()(this.props.className),id:this.getId()},P.a.createElement("div",{className:"slds-expression__options"},r),a,o):P.a.createElement("li",{className:I()("slds-expression__group",this.props.className),id:this.getId(),ref:function(e){n.rootNode=e}},P.a.createElement("fieldset",null,P.a.createElement("legend",{className:"slds-expression__legend slds-expression__legend_group"},P.a.createElement("span",null,t.label),P.a.createElement("span",{className:"slds-assistive-text"},e.label)),P.a.createElement("div",{className:"slds-expression__options"},r),a,o))}}]),i}();Yh.displayName="SLDSExpressionGroup",Yh.propTypes=zh,Yh.defaultProps=Gh;var Qh=Yh;function Jh(e){return(Jh="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 $h(e,t){return!t||"object"!==Jh(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Zh(e){return(Zh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eb(e,t){return(eb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var tb={id:o.a.string,children:o.a.node,events:o.a.shape({onChangeTrigger:o.a.func,onAddGroup:o.a.func,onAddCondition:o.a.func,onChangeCustomLogicValue:o.a.func}),labels:o.a.shape({addCondition:o.a.string,addGroup:o.a.string,customLogic:o.a.string,takeAction:o.a.string,title:o.a.string,triggerAll:o.a.string,triggerAlways:o.a.string,triggerAny:o.a.string,triggerCustom:o.a.string,triggerFormula:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),triggerType:o.a.oneOf(["all","any","custom","always","formula"]),customLogicValue:o.a.string},nb={labels:{title:"Conditions"}},rb=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),$h(this,Zh(e).apply(this,arguments))}return 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&&eb(e,t)}(e,P.a.Component),function(e,t,n){t&&Xh(e.prototype,t),n&&Xh(e,n)}(e,[{key:"componentWillMount",value:function(){this.generatedId=m.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=jn()({},nb.labels,this.props.labels);return P.a.createElement("div",{className:I()("slds-expression",this.props.className),id:this.getId()},P.a.createElement("h2",{className:"slds-expression__title"},e.title),P.a.createElement(Qh,{isRoot:!0,id:"".concat(this.getId(),"-group"),events:this.props.events,labels:e,customLogicValue:this.props.customLogicValue,triggerType:this.props.triggerType},this.props.children))}}]),e}();rb.displayName="SLDSExpression",rb.propTypes=tb,rb.defaultProps=nb;var ob=rb;function ab(e){return(ab="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 ib(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 sb(e,t){return!t||"object"!==ab(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function lb(e){return(lb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function cb(e,t){return(cb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ub={assistiveText:o.a.shape({title:o.a.string,deleteIcon:o.a.string}),id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onChangeResource:o.a.func,onChangeOperator:o.a.func,onChangeValue:o.a.func,onDelete:o.a.func}).isRequired,focusOnMount:o.a.bool,labels:o.a.shape({deleteCondition:o.a.string,label:o.a.string,operator:o.a.string,resource:o.a.string,value:o.a.string}),isSubCondition:o.a.bool,resourcesList:o.a.arrayOf(o.a.object),resourceSelected:o.a.object,operatorsList:o.a.arrayOf(o.a.object),operatorSelected:o.a.object,value:o.a.string},pb={assistiveText:{title:"Condition",deleteIcon:"Delete Condition"},labels:{label:"",operator:"Operator",resource:"Resource",value:"Value",deleteCondition:"Delete Condition"},value:""},db=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=sb(this,lb(n).call(this,e))).generatedId=m.a.generate(),t}return 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)}(n,P.a.Component),function(e,t,n){t&&ib(e.prototype,t),n&&ib(e,n)}(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 t=this,e=jn()({},pb.assistiveText,this.props.assistiveText),n=jn()({},pb.labels,this.props.labels);return P.a.createElement("li",{className:I()("slds-expression__row",{"slds-expression__row_group":this.props.isSubCondition},this.props.className),id:this.getId(),ref:function(e){t.rootNode=e}},P.a.createElement("fieldset",null,P.a.createElement("legend",{className:"slds-expression__legend"},P.a.createElement("span",null,n.label),P.a.createElement("span",{className:"slds-assistive-text"},e.title)),P.a.createElement("div",{className:"slds-grid slds-gutters_xx-small"},P.a.createElement("div",{className:"slds-col"},P.a.createElement(uf,{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]})),P.a.createElement("div",{className:"slds-col slds-grow-none"},P.a.createElement(uf,{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})),P.a.createElement("div",{className:"slds-col"},P.a.createElement(Ll,{id:"".concat(this.getId(),"-input"),label:n.value,value:this.props.value,onChange:this.props.events.onChangeValue,disabled:!this.props.resourceSelected})),P.a.createElement("div",{className:"slds-col slds-grow-none"},P.a.createElement("div",{className:"slds-form-element"},P.a.createElement("span",{className:"slds-form-element__label"}," "),P.a.createElement("div",{className:"slds-form-element__control"},P.a.createElement(Cn,{id:"".concat(this.getId(),"-delete-button"),variant:"outline-brand",iconCategory:"utility",iconName:"delete",iconVariant:"border-filled",onClick:this.props.events.onDelete,assistiveText:{icon:e.deleteIcon},title:n.deleteCondition})))))))}}]),n}();db.displayName="SLDSExpressionCondition",db.propTypes=ub,db.defaultProps=pb;var fb=db,mb=n(50),hb=n.n(mb);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 yb(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){return(gb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function vb(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _b(e,t){return(_b=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Ob={assistiveText:o.a.shape({help:o.a.string}),id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onChangeTextEditor:o.a.func,onClickHelp:o.a.func,onClickCheckSyntax:o.a.func}),labels:o.a.shape({label:o.a.string,checkSyntax:o.a.string,textArea:o.a.string}),resourceCombobox:o.a.node,functionCombobox:o.a.node,operatorInput:o.a.node,textEditorValue:o.a.node},xb={assistiveText:{help:"Help"},labels:{label:"Formula",checkSyntax:"Check Syntax",textArea:"Text Area"}},Sb=function(){function e(){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(vb(n=function(e,t){return!t||"object"!==bb(t)&&"function"!=typeof t?vb(e):t}(this,gb(e).call(this))),"handleTextEditorChange",function(e){var t=e.target.value;void 0===n.props.textEditorValue&&n.setState({textEditorValue:t}),n.props.events&&n.props.events.onChangeTextEditor&&n.props.events.onChangeTextEditor(e,{textEditorValue:t})}),n.textEditorRef=P.a.createRef(),n.state={textEditorValue:"Compose formula..."},n.generatedId=m.a.generate(),n}return 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&&_b(e,t)}(e,P.a.Component),function(e,t,n){t&&yb(e.prototype,t),n&&yb(e,n)}(e,[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=jn()({},xb.assistiveText,this.props.assistiveText),t=jn()({},xb.labels,this.props.labels);return P.a.createElement(P.a.Fragment,null,P.a.createElement("div",{id:this.getId(),className:I()("slds-expression_formula__rte",this.props.className)},P.a.createElement("div",{className:"slds-form-element"},P.a.createElement("span",{className:"slds-form-element__label"},t.label),P.a.createElement("div",{className:"slds-form-element__control"},P.a.createElement("div",{className:"slds-rich-text-editor slds-grid slds-grid_vertical slds-nowrap"},P.a.createElement("div",{role:"toolbar",className:"slds-rich-text-editor__toolbar slds-shrink-none"},P.a.createElement("div",{className:"slds-rich-text-editor__col slds-rich-text-editor__col_grow"},this.props.resourceCombobox),P.a.createElement("div",{className:"slds-rich-text-editor__col slds-rich-text-editor__col_grow"},this.props.functionCombobox),P.a.createElement("div",{className:"slds-rich-text-editor__col slds-rich-text-editor__col_grow"},this.props.operatorInput),P.a.createElement("div",{className:"slds-rich-text-editor__col"},P.a.createElement(Cn,{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}))),P.a.createElement("div",{className:"slds-rich-text-editor__textarea slds-grid"},P.a.createElement(hb.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})))))),P.a.createElement("div",{className:"slds-m-top_small"},P.a.createElement(Cn,{id:"".concat(this.getId(),"-check-syntax-button"),variant:"neutral",label:t.checkSyntax,onClick:this.props.events.onClickCheckSyntax})))}}]),e}();Sb.displayName="SLDSExpressionFormula",Sb.propTypes=Ob,Sb.defaultProps=xb;function wb(e){return e.isLoading?P.a.createElement(P.a.Fragment,null,P.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.link),P.a.createElement(rl,{size:"medium",variant:"base",assistiveText:{label:e.assistiveText.loading},containerStyle:{zIndex:"1"}})):e.image?P.a.createElement(P.a.Fragment,null,P.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.link),P.a.createElement("img",{alt:e.assistiveText.image||e.labels.title,src:e.image})):P.a.createElement(P.a.Fragment,null,P.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.link),P.a.createElement("span",{className:"slds-file__icon slds-icon_container",title:e.labels.title},P.a.cloneElement(e.icon,{size:null})))}var Eb=Sb;wb.displayName="SLDSFilesFigure",wb.propTypes={assistiveText:o.a.shape({image:o.a.string}),isLoading:o.a.bool,image:o.a.string,labels:o.a.shape({title:o.a.string.isRequired})},wb.defaultProps={isLoading:!1};function Cb(e){var t=P.a.createElement("div",{className:"slds-file__actions-menu"},P.a.createElement("div",{className:"slds-button-group",role:"group"},"function"==typeof e.onClickDownload?P.a.createElement(Cn,{type:"button",variant:"icon",iconSize:"x-small",onClick:e.onClickDownload,title:"Download",className:"slds-button_icon-inverse"},P.a.createElement(en,{assistiveText:{label:e.assistiveText.download},category:"utility",name:"download",size:"xx-small",inverse:e.hasNoVisibleTitle})):null,e.moreActionsDropdown?P.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?P.a.createElement("div",{className:"slds-file__title slds-file__title_scrim"},t):t:null}var Tb=wb;Cb.displayName="SLDSFilesActions",Cb.propTypes={onClickDownload:o.a.func,moreActionsDropdown:o.a.node,hasNoVisibleTitle:o.a.bool};var Nb=Cb;function kb(e){return(kb="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,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}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 Ib(e,t){return!t||"object"!==kb(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Db(e){return(Db=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Rb(e,t){return(Rb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Ab={assistiveText:o.a.shape({download:o.a.string,image:o.a.string,link:o.a.string,loading:o.a.string,moreActions:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),crop:o.a.oneOf(["16-by-9","4-by-3","1-by-1"]),id:o.a.string,onClickDownload:o.a.func,onClickImage:o.a.func,moreActionsDropdown:o.a.node,icon:o.a.node,externalIcon:o.a.node,image:o.a.string,isLoading:o.a.bool,href:o.a.string,labels:o.a.shape({title:o.a.string.isRequired}),hasNoVisibleTitle:o.a.bool},Lb={assistiveText:{download:"download",link:"Preview:",loading:"loading",moreActions:"more actions"},crop:"16-by-9",href:"javascript:void(0);",isLoading:!1,hasNoVisibleTitle:!1},Bb=function(){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Ib(this,Db(t).apply(this,arguments))}return 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&&Rb(e,t)}(t,P.a.Component),function(e,t,n){t&&Pb(e.prototype,t),n&&Pb(e,n)}(t,[{key:"componentWillMount",value:function(){this.generatedId=m.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){jb(t,e,n[e])})}return t}({},Lb.assistiveText,this.props.assistiveText);return P.a.createElement("div",{id:this.getId(),className:I()("slds-file","slds-file_card",this.props.hasNoVisibleTitle?null:"slds-has-title",this.props.className)},P.a.createElement("figure",null,P.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},P.a.createElement(Tb,{assistiveText:e,labels:{title:this.props.labels.title},isLoading:this.props.isLoading,image:this.props.image,icon:this.props.icon})),this.props.hasNoVisibleTitle?null:P.a.createElement("figcaption",{className:"slds-file__title slds-file__title_card"},P.a.createElement("div",{className:"slds-media__figure slds-line-height_reset"},this.props.icon?P.a.cloneElement(this.props.icon,{size:"x-small"}):null),P.a.createElement("div",{className:"slds-media__body"},P.a.createElement("span",{className:"slds-file__text slds-truncate",title:this.props.labels.title},this.props.labels.title)))),this.props.externalIcon?P.a.createElement("div",{className:"slds-file__external-icon"},P.a.cloneElement(this.props.externalIcon,{containerClassName:"slds-file__icon slds-icon_container"})):null,this.props.moreActionsDropdown?t.injectMoreActionsStyles():null,P.a.createElement(Nb,{assistiveText:e,hasNoVisibleTitle:this.props.hasNoVisibleTitle,onClickDownload:this.props.onClickDownload,moreActionsDropdown:this.props.moreActionsDropdown}))}}],[{key:"injectMoreActionsStyles",value:function(){return P.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")}}]),t}();Bb.displayName="SLDSFilesFile",Bb.propTypes=Ab,Bb.defaultProps=Lb;var Fb=Bb;function Mb(e){return(Mb="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 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!t||"object"!==Mb(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Kb(e){return(Kb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Wb(e,t){return(Wb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Vb={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,crop:o.a.oneOf(["16-by-9","4-by-3","1-by-1"]),columnClassName:o.a.string},Ub=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Hb(this,Kb(e).apply(this,arguments))}return 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&&Wb(e,t)}(e,P.a.Component),function(e,t,n){t&&qb(e.prototype,t),n&&qb(e,n)}(e,[{key:"componentWillMount",value:function(){this.generatedId=m.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var t=this,e=P.a.Children.map(this.props.children,function(e){return P.a.createElement("li",{className:I()("slds-p-horizontal_xx-small slds-size_1-of-3 slds-medium-size_1-of-4",t.props.columnClassName)},P.a.cloneElement(e,{crop:e.props.crop?e.props.crop:t.props.crop}))});return P.a.createElement("ul",{className:I()("slds-grid slds-grid_pull-padded",this.props.className),id:this.getId()},e)}}]),e}();Ub.displayName="SLDSFiles",Ub.propTypes=Vb,Ub.defaultProps={crop:"4-by-3"};var zb=Ub;function Gb(e){return(Gb="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 Yb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}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 Jb(e,t){return!t||"object"!==Gb(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Xb(e){return(Xb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $b(e,t){return($b=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Zb={assistiveText:o.a.shape({count:o.a.string,image:o.a.string,link:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,crop:o.a.oneOf(["16-by-9","4-by-3","1-by-1"]),image:o.a.string,count:o.a.string,href:o.a.string},ey={assistiveText:{count:"more files",image:"Show more files",link:"Preview:"},crop:"16-by-9",href:"javascript:void(0);"},ty=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Jb(this,Xb(e).apply(this,arguments))}return 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&&$b(e,t)}(e,P.a.Component),function(e,t,n){t&&Qb(e.prototype,t),n&&Qb(e,n)}(e,[{key:"componentWillMount",value:function(){this.generatedId=m.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Yb(t,e,n[e])})}return t}({},ey.assistiveText,this.props.assistiveText);return P.a.createElement("div",{className:I()("slds-file slds-file_card",this.props.className),id:this.getId()},P.a.createElement("figure",null,P.a.createElement("a",{href:this.props.href,className:I()("slds-file__crop",this.props.crop?"slds-file__crop_".concat(this.props.crop):null)},P.a.createElement("div",{className:"slds-file_overlay"}),P.a.createElement("span",{className:"slds-assistive-text"},e.link),P.a.createElement("img",{src:this.props.image,alt:e.image})),P.a.createElement("figcaption",{className:"slds-file__title slds-file__title_overlay slds-align_absolute-center slds-text-heading_large"},P.a.createElement("div",{className:"slds-media slds-media_small slds-media_center"},P.a.createElement("div",{className:"slds-media__figure slds-line-height_reset"}),P.a.createElement("div",{className:"slds-media__body"},P.a.createElement("span",{className:"slds-file__text slds-truncate",title:this.props.count},P.a.createElement("span",null,this.props.count),P.a.createElement("span",{className:"slds-assistive-text"},e.count)))))))}}]),e}();ty.displayName="SLDSFilesMore",ty.propTypes=Zb,ty.defaultProps=ey;var ny=ty;function ry(e){return(ry="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 oy(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 ay(e){return(ay=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function iy(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sy(e,t){return(sy=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ly(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var cy=function(){function t(e){var a;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),ly(iy(a=function(e,t){return!t||"object"!==ry(t)&&"function"!=typeof t?iy(e):t}(this,ay(t).call(this,e))),"state",{popoverIsOpen:!!a.props.popover&&a.props.popover.props.isOpen}),ly(iy(a),"getId",function(){return a.props.id||a.generatedId}),ly(iy(a),"getCustomPopoverProps",function(e){var t=e.assistiveText,n=P.a.createElement("div",null,P.a.createElement("h4",{className:"slds-assistive-text",id:"".concat(a.getId(),"-popover-heading")},t.editFilterHeading),a.props.children,P.a.createElement("div",{className:"slds-m-top_small slds-text-align_right"},P.a.createElement(Cn,{className:"slds-col_bump-left",label:"Done",onClick:a.handleChange}))),r={ariaLabelledby:"".concat(a.getId(),"-popover-heading"),align:a.props.align,body:n,heading:"",id:a.getId(),isOpen:a.state.popoverIsOpen,offset:"right"===a.props.align?"0px -35px":void 0,onClose:a.handleClose,onRequestClose:a.handleClose,position:"overflowBoundaryElement",triggerClassName:"slds-grow"},o=jn()(r,a.props.popover?a.props.popover.props:{});return delete o.children,o}),ly(iy(a),"handleFilterClick",function(){a.setState({popoverIsOpen:!0}),a.props.onClick&&a.props.onClick()}),ly(iy(a),"handleClose",function(){a.setState({popoverIsOpen:!1})}),ly(iy(a),"handleChange",function(e){a.setState({popoverIsOpen:!1}),a.props.onChange&&a.props.onChange(e,{id:a.getId()})}),ly(iy(a),"handleRemove",function(e){a.props.onRemove&&a.props.onRemove(e,{id:a.getId()})}),a.generatedId=m.a.generate(),a}return 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)}(t,P.a.Component),function(e,t,n){t&&oy(e.prototype,t),n&&oy(e,n)}(t,[{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 P.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?P.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"},P.a.createElement("p",{className:"slds-text-body_small"},this.props.property),P.a.createElement("p",null,this.props.predicate)):P.a.createElement(zp,t,P.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"},P.a.createElement("span",{className:"slds-assistive-text"},e.editFilter),this.props.property?P.a.createElement("p",{className:"slds-text-body_small"},this.props.property):null,P.a.createElement("p",null,this.props.predicate))),this.props.isPermanent||this.props.isLocked?null:P.a.createElement(Cn,{assistiveText:{icon:e.removeFilter},hint:!0,iconCategory:"utility",iconName:"close",iconSize:"small",iconVariant:"bare",onClick:this.handleRemove,title:e.removeFilter,variant:"icon"}))}}]),t}();ly(cy,"displayName","SLDSFilter"),ly(cy,"propTypes",{align:o.a.oneOf(["left","right"]),assistiveText:o.a.shape({editFilter:o.a.string,editFilterHeading:o.a.string,removeFilter:o.a.string}),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),isError:o.a.bool,id:o.a.string,isLocked:o.a.bool,isNew:o.a.bool,isPermanent:o.a.bool,onChange:o.a.func,onRemove:o.a.func,onClick:o.a.func,popover:o.a.node,predicate:o.a.node,property:o.a.node}),ly(cy,"defaultProps",{align:"left",assistiveText:{editFilter:"Edit filter:",editFilterHeading:"Choose filter criteria"},predicate:"New Filter"});var uy=cy;var py=function(){},dy=n(51);function fy(e){return(fy="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){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 hy(e){return(hy=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function by(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yy(e,t){return(yy=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function gy(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var vy={assistiveText:{skipToNav:"Skip to Navigation",skipToContent:"Skip to Main Content"},logoSrc:"/assets/images/logo-noname.svg"},_y=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),gy(by(t=function(e,t){return!t||"object"!==fy(t)&&"function"!=typeof t?by(e):t}(this,hy(n).call(this,e))),"handleSkipToContent",function(e){gt.trap(e),t.props.onSkipToContent(e)}),gy(by(t),"handleSkipToNav",function(e){gt.trap(e),t.props.onSkipToNav(e)}),py(F,e,dy),t}return 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)}(n,P.a.Component),function(e,t,n){t&&my(e.prototype,t),n&&my(e,n)}(n,[{key:"render",value:function(){var e,t,n=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){gy(t,e,n[e])})}return t}({},vy.assistiveText,this.props.assistiveText),r=(gy(e={},M,[]),gy(e,q,[]),gy(e,H,[]),gy(e,K,[]),gy(e,V,[]),gy(e,U,[]),gy(e,z,[]),e);return P.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[M],r[U],r[q],r[V],r[H],r[z],r[K]),P.a.createElement("header",{className:"slds-global-header_container"},this.props.onSkipToNav?P.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?P.a.createElement("a",{href:"javascript:void(0);",className:"slds-assistive-text slds-assistive-text_focus",onClick:this.handleSkipToContent},this.props.skipToContentAssistiveText||n.skipToContent):null,P.a.createElement("div",{className:"slds-global-header slds-grid slds-grid_align-spread"},P.a.createElement("div",{className:"slds-global-header__item"},P.a.createElement("div",{className:"slds-global-header__logo",style:{backgroundImage:"url(".concat(this.props.logoSrc,")")}})),t,P.a.createElement("div",{className:"slds-global-header__item"},P.a.createElement("ul",{className:"slds-global-actions"},r.map(function(e,t){return P.a.createElement("li",{className:"slds-global-actions__item",key:"actions-item-".concat(t)},e)})))),this.props.navigation)}}]),n}();gy(_y,"displayName",F),gy(_y,"propTypes",{assistiveText:o.a.shape({skipToNav:o.a.string,skipToContent:o.a.string}),children:o.a.node,logoSrc:o.a.string,navigation:o.a.node,onSkipToContent:o.a.func,onSkipToNav:o.a.func}),gy(_y,"defaultProps",vy);var Oy=_y;function xy(){return(xy=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 Sy(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function wy(e){py("SLDSGlobalHeaderButton",e);var t=e.buttonVariant,n=Sy(e,["buttonVariant"]),r=P.a.createElement(Cn,xy({iconVariant:"global-header",variant:"icon"},n));return"dropdown"===t?r:P.a.createElement("li",null,r)}wy.displayName=z;var Ey=wy;function Cy(e){return(Cy="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 Ty(){return(Ty=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 Ny(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}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 jy(e){return(jy=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Py(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Iy(e,t){return(Iy=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 Ry=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return Dy(Py(t=function(e,t){return!t||"object"!==Cy(t)&&"function"!=typeof t?Py(e):t}(this,(e=jy(a)).call.apply(e,[this].concat(r)))),"renderAvatar",function(){var e=t.props.avatar;return"string"==typeof e?P.a.createElement("span",{className:"slds-avatar slds-avatar_circle slds-avatar_medium"},P.a.createElement("img",{src:e,alt:""})):e||null}),t}return 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&&Iy(e,t)}(a,P.a.Component),function(e,t,n){t&&ky(e.prototype,t),n&&ky(e,n)}(a,[{key:"render",value:function(){var e=this.props,t=e.className,n=e.id,r=e.isOpen,o=e.globalAction,a=e.menu,i=e.onBlur,s=e.onClick,l=e.onFocus,c=e.onKeyDown,u=e.onMouseDown,p=e.onMouseEnter,d=e.onMouseLeave,f=e.triggerRef,m=Ny(e,["className","id","isOpen","globalAction","menu","onBlur","onClick","onFocus","onKeyDown","onMouseDown","onMouseEnter","onMouseLeave","triggerRef"]);return P.a.createElement("li",{"aria-haspopup":"true",className:I()("slds-dropdown-trigger slds-dropdown-trigger_click",{"slds-is-open":r,"slds-p-around_xx-small":o},t),id:n,onBlur:i,onClick:s,onFocus:l,onKeyDown:c,onMouseDown:u,onMouseEnter:p,onMouseLeave:d,ref:f},P.a.createElement(Ey,Ty({className:I()({"slds-global-header__button_icon-actions":o}),iconClassName:I()({"slds-global-header__icon-actions":o}),"aria-haspopup":"true",buttonVariant:"dropdown"},m),this.renderAvatar()),a)}}]),a}();Dy(Ry,"displayName",$),Dy(Ry,"propTypes",{avatar:o.a.oneOfType([o.a.string,o.a.node]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isOpen:o.a.bool,globalAction:o.a.bool,menu:o.a.node,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onMouseDown:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,openOn:o.a.oneOf(["hover","click","hybrid"]),positioned:o.a.bool,triggerRef:o.a.func});var Ay=Ry;function Ly(){return(Ly=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 By(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Fy(e){py("SLDSGlobalHeaderDropdown",e);var t,n=e.globalAction,r=e.iconVariant,o=By(e,["globalAction","iconVariant"]);return n&&(t="container"),P.a.createElement(gi,Ly({nubbinPosition:"top right"},o),P.a.createElement(Ay,{globalAction:n,iconSize:n&&"small",iconVariant:t||r}))}Fy.displayName=z,Fy.propTypes={align:o.a.oneOf(["left","right"]),className:o.a.string,buttonClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),iconName:o.a.string,iconVariant:o.a.oneOf(["bare","container","border","border-filled","more","global-header"]),id:o.a.string,globalAction:o.a.bool,nubbinPosition:o.a.oneOf(["top left","top","top right","bottom left","bottom","bottom right"]),offset:o.a.string,onSelect:o.a.func,options:o.a.array.isRequired},Fy.defaultProps={align:"right",buttonVariant:"icon",iconVariant:"global-header",nubbinPosition:"top right"};var My=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 Hy(){return(Hy=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 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 Wy(e){return(Wy=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Vy(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Uy(e,t){return(Uy=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var zy={assistiveText:o.a.shape({action:o.a.string,more:o.a.string}),actionDisabled:o.a.bool,actionSelected:o.a.bool,onToggleActionSelected:o.a.func,popover:o.a.node},Gy=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(Vy(t=function(e,t){return!t||"object"!==qy(t)&&"function"!=typeof t?Vy(e):t}(this,(e=Wy(a)).call.apply(e,[this].concat(r)))),"toggleActionSelected",function(e){t.props.onToggleActionSelected&&t.props.onToggleActionSelected(e,{actionSelected:t.props.actionSelected||!1})}),t}return 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&&Uy(e,t)}(a,P.a.Component),function(e,t,n){t&&Ky(e.prototype,t),n&&Ky(e,n)}(a,[{key:"render",value:function(){var t=this,e={},n=jn()({align:"bottom",body:P.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&&(e["aria-pressed"]=!0),P.a.createElement("div",{className:"slds-global-actions__favorites slds-dropdown-trigger slds-dropdown-trigger_click"},P.a.createElement("div",{className:"slds-button-group"},P.a.createElement(Cn,Hy({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(e){e.keyCode===_t.ENTER&&(gt.trapImmediate(e),t.toggleActionSelected(e))},title:this.props.assistiveText.action,variant:"icon"},e)),P.a.createElement(zp,n,P.a.createElement(Cn,{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"}))))}}]),a}();Gy.displayName=M,Gy.defaultProps={assistiveText:{action:"Toggle Favorite",more:"View Favorites"}},Gy.propTypes=zy;var Yy=Gy;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 Jy(){return(Jy=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 Xy(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 $y(e,t){return!t||"object"!==Qy(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Zy(e){return(Zy=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eg(e,t){return(eg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var tg={assistiveText:o.a.shape({triggerButton:o.a.string}),popover:o.a.node},ng=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),$y(this,Zy(e).apply(this,arguments))}return 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)}(e,P.a.Component),function(e,t,n){t&&Xy(e.prototype,t),n&&Xy(e,n)}(e,[{key:"render",value:function(){var e=jn()({align:"bottom",body:P.a.createElement("span",null),triggerClassName:"slds-dropdown-trigger slds-dropdown-trigger_click"},this.props.popover?this.props.popover.props:{});return delete e.children,P.a.createElement(zp,e,P.a.createElement(Cn,Jy({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})))}}]),e}();ng.displayName=q,ng.defaultProps={assistiveText:{triggerButton:"Help and Training"}},ng.propTypes=tg;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(){return(ag=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 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!t||"object"!==og(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function lg(e){return(lg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function cg(e,t){return(cg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ug={assistiveText:o.a.shape({newNotificationsAfter:o.a.string,newNotificationsBefore:o.a.string,noNotifications:o.a.string}),notificationCount:o.a.number,popover:o.a.node},pg=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),sg(this,lg(e).apply(this,arguments))}return 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&&cg(e,t)}(e,P.a.Component),function(e,t,n){t&&ig(e.prototype,t),n&&ig(e,n)}(e,[{key:"render",value:function(){var e={"aria-live":"assertive"},t=this.props.notificationCount,n=jn()({align:"bottom right",body:P.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,0<t?r="".concat(this.props.assistiveText.newNotificationsBefore).concat(t).concat(this.props.assistiveText.newNotificationsAfter):e["aria-atomic"]=!0,P.a.createElement(zp,n,P.a.createElement(Cn,ag({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)),0<t?P.a.createElement("span",{"aria-hidden":"true",className:"slds-notification-badge slds-incoming-notification slds-show-notification"},t):P.a.createElement("span",{"aria-hidden":"true",className:"slds-notification-badge"}))}}]),e}();pg.displayName=H,pg.defaultProps={assistiveText:{newNotificationsAfter:" new notifications",newNotificationsBefore:"",noNotifications:"No new notifications"},notificationCount:0},pg.propTypes=ug;var dg=pg;function fg(e){return(fg="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 mg(){return(mg=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 hg(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 bg(e,t){return!t||"object"!==fg(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function yg(e){return(yg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function gg(e,t){return(gg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var vg=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),t=bg(this,yg(n).call(this,e)),py(K,e),t}return 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&&gg(e,t)}(n,P.a.Component),function(e,t,n){t&&hg(e.prototype,t),n&&hg(e,n)}(n,[{key:"render",value:function(){var e=jn()({align:"bottom right",body:P.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,P.a.createElement(zp,e,P.a.createElement(Cn,mg({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?P.a.createElement("span",{className:"slds-avatar slds-avatar_circle slds-avatar_medium"},P.a.createElement("img",{alt:this.props.userName,src:t,title:"User avatar"})):t||null))}}]),n}();vg.displayName=K,vg.propTypes={className:o.a.string,avatar:o.a.oneOfType([o.a.string,o.a.node]),buttonClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,popover:o.a.node,userName:o.a.string},vg.defaultProps={userName:"User Name"};function _g(e){return P.a.createElement("div",{className:"slds-global-header__item slds-global-header__item_search"},e.combobox)}var Og=vg;_g.displayName=W,_g.propTypes={combobox:o.a.node.isRequired};var xg=_g;function Sg(e){return(Sg="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 wg(){return(wg=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 Eg(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 Cg(e,t){return!t||"object"!==Sg(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Tg(e){return(Tg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ng(e,t){return(Ng=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var kg={assistiveText:o.a.shape({triggerButton:o.a.string}),dropdown:o.a.node},jg=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Cg(this,Tg(e).apply(this,arguments))}return 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&&Ng(e,t)}(e,P.a.Component),function(e,t,n){t&&Eg(e.prototype,t),n&&Eg(e,n)}(e,[{key:"render",value:function(){var e=jn()({align:"right",nubbinPosition:"top right"},this.props.dropdown?this.props.dropdown.props:{}),t=e.children||null;return delete e.children,P.a.createElement(gi,e,P.a.createElement(Ga,null,P.a.createElement(Cn,wg({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)}}]),e}();jg.displayName=V,jg.defaultProps={assistiveText:{triggerButton:"Setup"}},jg.propTypes=kg;var Pg=jg;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 Dg(){return(Dg=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 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 Ag(e,t){return!t||"object"!==Ig(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Lg(e){return(Lg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Bg(e,t){return(Bg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Fg={assistiveText:o.a.shape({triggerButton:o.a.string}),dropdown:o.a.node},Mg=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ag(this,Lg(e).apply(this,arguments))}return 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&&Bg(e,t)}(e,P.a.Component),function(e,t,n){t&&Rg(e.prototype,t),n&&Rg(e,n)}(e,[{key:"render",value:function(){var e=jn()({align:"right",nubbinPosition:"top right"},this.props.dropdown?this.props.dropdown.props:{}),t=e.children||null;return delete e.children,P.a.createElement(gi,e,P.a.createElement(Ga,null,P.a.createElement(Cn,Dg({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)}}]),e}();Mg.displayName=U,Mg.defaultProps={assistiveText:{triggerButton:"Global Actions"}},Mg.propTypes=Fg;var qg=Mg;function Hg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Kg(e){var t;return P.a.createElement("div",{className:I()("slds-context-bar",(t={},Hg(t,"slds-context-bar_theme-".concat(e.cloud),e.cloud),Hg(t,"slds-context-bar_theme-".concat(e.theme),e.theme),t),e.className)},function(e){var t,n,r=[];return P.a.Children.forEach(e,function(e){e&&e.type.displayName===Y&&("primary"===e.props.region?t=e:"secondary"===e.props.region?r.push(e):"tertiary"===e.props.region&&(n=e))}),[t].concat(r,[n])}(e.children))}Kg.propTypes={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),cloud:o.a.string,theme:o.a.oneOf(["light","dark"])},Kg.defaultProps={},Kg.displayName="SLDSGlobalNavigationBar";var Wg=Kg;function Vg(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ug(e){var t=e.active,n=e.dividerPosition,r=Vg(e,["active","dividerPosition"]);return P.a.createElement("li",{className:I()("slds-context-bar__item",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-is-active":t},"slds-context-bar__item_divider-".concat(n),n))},P.a.createElement(Cn,r))}Ug.displayName="SLDSGlobalNavigationBarButton",Ug.propTypes={active:o.a.bool,dividerPosition:o.a.oneOf(["left","right"])},Ug.defaultProps={className:"slds-context-bar__label-action slds-text-body_regular",style:{lineHeight:"inherit"},variant:"base"};var zg=Ug;var Gg=function(){},Yg=n(22);function Qg(e){return(Qg="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 Jg(){return(Jg=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 Xg(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function $g(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 Zg(e,t){return!t||"object"!==Qg(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function ev(e){return(ev=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function tv(e,t){return(tv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function nv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var rv=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),t=Zg(this,ev(n).call(this,e)),Gg($,t.props,Yg),t}return 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&&tv(e,t)}(n,P.a.Component),function(e,t,n){t&&$g(e.prototype,t),n&&$g(e,n)}(n,[{key:"render",value:function(){var e=this.props,t=e.active,n=e.activeBackgroundColor,r=e.className,o=e.dividerPosition,a=e.id,i=e.isOpen,s=e.label,l=e.menu,c=e.onBlur,u=e.onClick,p=e.onFocus,d=e.onKeyDown,f=e.onMouseDown,m=e.onMouseEnter,h=e.onMouseLeave,b=e.triggerRef,y=Xg(e,["active","activeBackgroundColor","className","dividerPosition","id","isOpen","label","menu","onBlur","onClick","onFocus","onKeyDown","onMouseDown","onMouseEnter","onMouseLeave","triggerRef"]),g={},v=bf.a.brandPrimaryTransparent10;return t&&(g.backgroundColor=n,g.borderBottomColor=n),i&&(g.backgroundColor=v),P.a.createElement("li",{"aria-haspopup":"true",className:I()("slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click",nv({"slds-is-open":i,"slds-is-active":t},"slds-context-bar__item_divider-".concat(o),o),r),id:a,onBlur:c,onClick:u,onFocus:p,onKeyDown:d,onMouseDown:f,onMouseEnter:m,onMouseLeave:h,ref:b,style:g},P.a.createElement("a",{className:"slds-context-bar__label-action",title:s},P.a.createElement("span",{className:"slds-truncate",title:s},s)),P.a.createElement("div",{className:"slds-context-bar__icon-action slds-p-left_none"},P.a.createElement(Cn,Jg({assistiveText:this.props.assistiveText},y,{className:"slds-context-bar__button","aria-haspopup":"true",iconCategory:"utility",iconName:"chevrondown",iconVariant:"bare",variant:"icon"}))),l)}}]),n}();nv(rv,"displayName",$),nv(rv,"propTypes",{active:o.a.bool,activeBackgroundColor:o.a.string,assistiveText:o.a.shape({icon:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),dividerPosition:o.a.oneOf(["left","right"]),id:o.a.string,isOpen:o.a.bool,label:o.a.string,menu:o.a.node,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onMouseDown:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,triggerRef:o.a.func}),nv(rv,"defaultProps",{assistiveText:{icon:"Open menu item submenu"}});var ov=rv;function av(){return(av=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 iv(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function sv(e){Gg(G,e,Yg);var t=e.active,n=e.activeBackgroundColor,r=e.assistiveText,o=e.dividerPosition,a=iv(e,["active","activeBackgroundColor","assistiveText","dividerPosition"]);return P.a.createElement(gi,av({align:"right",hasStaticAlignment:!0,hoverCloseDelay:400,length:e.length,menuPosition:"relative"},a),P.a.createElement(ov,{active:t,assistiveText:r,activeBackgroundColor:n,dividerPosition:o}))}sv.displayName=G,sv.propTypes={active:o.a.bool,activeBackgroundColor:o.a.string,assistiveText:o.a.shape({icon:o.a.string}),align:o.a.oneOf(["left","right"]),className:o.a.string,dividerPosition:o.a.oneOf(["left","right"]),buttonClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,length:o.a.oneOf([null,"5","7","10"]),offset:o.a.string,onSelect:o.a.func,options:o.a.array.isRequired},sv.defaultProps={align:"right",length:null};var lv=sv;function cv(e){var t=e.className,n=e.dividerPosition,r=e.id,o=e.label;return P.a.createElement("li",{className:"slds-context-bar__item slds-no-hover"},P.a.createElement("span",{id:r,style:{color:bf.a.colorTextLinkDisabled},className:I()("slds-context-bar__label-action",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-context-bar__item_divider-".concat(n),n),t)},P.a.createElement("span",{className:"slds-truncate"},o)))}cv.displayName="SLDSGlobalNavigationBarLabel",cv.propTypes={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),dividerPosition:o.a.oneOf(["left","right"]),id:o.a.string,label:o.a.string};var uv=cv;function pv(e){var t=e.active,n=e.activeBackgroundColor,r=e.assistiveText,o=e.className,a=e.dividerPosition,i=e.href,s=e.id,l=e.label,c=e.onBlur,u=e.onClick,p=e.onFocus,d=e.onKeyDown,f=e.onKeyPress,m=e.onKeyUp,h=e.onMouseEnter,b=e.onMouseLeave,y=e.tabIndex,g=t?{backgroundColor:n,borderBottomColor:n}:null;return P.a.createElement("li",{className:I()("slds-context-bar__item",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-is-active":t},"slds-context-bar__item_divider-".concat(a),a)),id:s,style:g},P.a.createElement("a",{href:i,className:I()("slds-context-bar__label-action",o),onBlur:c,onClick:Xn()(u)?function(e){return function(e,t,n){e.preventDefault(),n(e,{href:t})}(e,i,u)}:null,onFocus:p,onKeyDown:d,onKeyPress:f,onKeyUp:m,onMouseEnter:h,onMouseLeave:b,tabIndex:y,title:l},t?P.a.createElement("span",{className:"slds-assistive-text"},r.activeDescriptor):null,P.a.createElement("span",{className:"slds-truncate",title:l},l)))}pv.displayName="SLDSGlobalNavigationBarLink",pv.propTypes={active:o.a.bool,activeBackgroundColor:o.a.string,assistiveText:o.a.shape({activeDescriptor:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),dividerPosition:o.a.oneOf(["left","right"]),href:o.a.string,id:o.a.string,label:o.a.string,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,tabIndex:o.a.string},pv.defaultProps={assistiveText:{activeDescriptor:"Current page:"},href:"javascript:void(0);"};var dv=pv;function fv(e){return(fv="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 mv(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 hv(e,t){return!t||"object"!==fv(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function bv(e){return(bv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function yv(e,t){return(yv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function gv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var vv=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),hv(this,bv(e).apply(this,arguments))}return 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&&yv(e,t)}(e,P.a.Component),function(e,t,n){t&&mv(e.prototype,t),n&&mv(e,n)}(e,[{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 P.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?P.a.createElement("nav",{className:I()("slds-context-bar__secondary",e,t),role:"navigation"},P.a.createElement("ul",{className:"slds-grid"},n)):P.a.createElement("div",{className:I()("slds-context-bar__secondary",e,t)},P.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 P.a.createElement("div",{className:I()("slds-context-bar__tertiary","slds-col_bump-left",e,t)},P.a.createElement("ul",{className:"slds-grid"},n))}(t,this.props.className,this.props.children)}return e}}]),e}();gv(vv,"displayName",Y),gv(vv,"propTypes",{children:o.a.node,dividerPosition:o.a.oneOf(["left","right"]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),navigation:o.a.bool,region:o.a.oneOf(["primary","secondary","tertiary"]).isRequired});var _v=vv;var Ov=function(){},xv=n(52);function Sv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wv(e){var t=e.className,n=e.illustration,r=e.internalIllustration,o=e.heading,a=e.messageBody,i=e.name,s=e.path,l=e.size,c=e.style;Ov("Illustration",{illustration:n,internalIllustration:r,heading:o,path:s},xv);var u,p=i?i.replace(/_| /g,"-").toLowerCase():"",d=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Sv(t,e,n[e])})}return t}({},c);return"large"!==l||d.height||(d.height="400px"),n?u=P.a.createElement(Re,{className:"slds-illustration__svg","aria-hidden":"true",data:n,name:p,style:d}):s&&(u=P.a.createElement("svg",{className:"slds-illustration__svg","aria-hidden":"true",name:p,style:d},P.a.createElement("use",{xlinkHref:s}))),P.a.createElement("div",{className:Gt(t,"slds-illustration",{"slds-illustration_small":"small"===l,"slds-illustration_large":"large"===l})},u,P.a.createElement("div",{className:"slds-text-longform"},o?P.a.createElement("h3",{className:"slds-text-heading_medium"},o):null,a?P.a.createElement("p",{className:"slds-text-body_regular"},a):null))}wv.displayName="SLDSIllustration",wv.propTypes={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),heading:o.a.string,illustration:o.a.object,internalIllustration:o.a.bool.isRequired,messageBody:o.a.oneOfType([o.a.string,o.a.node]),name:o.a.string,path:o.a.string,size:o.a.oneOf(["small","large"]),style:o.a.object},wv.defaultProps={internalIllustration:!0,size:"small",style:{}};var Ev=wv;var Cv=function(){};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 kv(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}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 Pv(e){return(Pv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Iv(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Dv(e,t){return(Dv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Rv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Av={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),name:o.a.string,disabled:o.a.bool,id:o.a.string.isRequired,onChange:o.a.func,onKeyUp:o.a.func,onEnterEditMode:o.a.func,onLeaveEditMode:o.a.func,type:o.a.oneOf(["text","password","datetime","datetime-local","date","month","time","week","number","email","url","search","tel","color"]),value:o.a.string.isRequired},Lv=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),Rv(Iv(t=function(e,t){return!t||"object"!==Tv(t)&&"function"!=typeof t?Iv(e):t}(this,Pv(n).call(this,e))),"endEditMode",function(e){t.willSave&&(clearTimeout(t.willSave),delete t.willSave),t.setState({isEditing:!1,value:null}),t.props.onLeaveEditMode&&Xn()(t.props.onLeaveEditMode)&&t.props.onLeaveEditMode(void 0,e)}),Rv(Iv(t),"handleBlur",function(){t.willSave||(t.willSave=setTimeout(t.saveEdits,200)),t.props.onLeaveEditMode&&Xn()(t.props.onLeaveEditMode)&&t.props.onLeaveEditMode()}),Rv(Iv(t),"handleChange",function(e){t.setState({value:e.target.value})}),Rv(Iv(t),"handleKeyDown",function(e){e.keyCode&&(e.keyCode===_t.ESCAPE?t.saveEdits({cancel:!0}):e.keyCode===_t.ENTER&&t.saveEdits())}),Rv(Iv(t),"handleKeyUp",function(e){e.keyCode&&t.props.onKeyUp&&Xn()(t.props.onKeyUp)&&t.props.onKeyUp(e,{value:t.state.value})}),Rv(Iv(t),"saveEdits",function(e){e&&!0===e.cancel||Xn()(t.props.onChange)&&t.props.onChange({value:t.state.value}),t.endEditMode(e)}),Rv(Iv(t),"triggerEditMode",function(){t.props.disabled||(t.autoFocus=!0,t.setState({isEditing:!0,value:t.props.value}),Xn()(t.props.onEnterEditMode)&&t.props.onEnterEditMode())}),t.state={isEditing:!1,value:null},Cv(A,e),t}return 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)}(n,P.a.Component),function(e,t,n){t&&jv(e.prototype,t),n&&jv(e,n)}(n,[{key:"componentDidUpdate",value:function(){this.autoFocus&&(this.inputNode&&(this.inputNode.focus(),this.inputNode.select()),this.autoFocus=!1)}},{key:"render",value:function(){var t=this,e=this.props,n=e.assistiveText,r=e.disabled,o=e.value,a=e.name,i=kv(e,["assistiveText","disabled","value","name"]);return P.a.createElement(Ll,Nv({},i,{iconRight:this.state.isEditing?P.a.createElement(Js,{category:"utility",name:"close",position:"right",onClick:this.endEditMode,tabIndex:"-1"}):null,disabled:r,inlineEditTrigger:P.a.createElement(Cn,{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:a,value:this.state.isEditing?this.state.value:o,inputRef:function(e){t.inputNode=e}}))}}]),n}();Lv.displayName=A,Lv.propTypes=Av,Lv.defaultProps={assistiveText:"Edit text",type:"text"};var Bv=Lv;function Fv(){return(Fv=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 Mv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function qv(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Hv(e){var t=e.clearable,n=e.onClear,r=e.onSearch,o=e.placeholder,a=qv(e,["clearable","onClear","onSearch","placeholder"]);hl(B,a,bl);var i="string"==typeof a.assistiveText?a.assistiveText:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Mv(t,e,n[e])})}return t}({},Kv.assistiveText,a.assistiveText).label;return P.a.createElement(Ll,Fv({assistiveText:{label:i},iconLeft:P.a.createElement(Js,{assistiveText:{icon:"Search"},category:"utility",name:"search",onClick:r}),iconRight:t?P.a.createElement(Js,{assistiveText:{icon:"Clear"},category:"utility",name:"clear",onClick:n}):null,onKeyDown:r?function(e){return function(e,t){e.keyCode===_t.ENTER&&(gt.trapImmediate(e),t(e))}(e,r)}:null,placeholder:o},a))}var Kv={assistiveText:{}};Hv.displayName=B,Hv.propTypes={assistiveText:o.a.shape({label:o.a.string}),clearable:o.a.bool,onClear:o.a.func,onSearch:o.a.func,placeholder:o.a.string},Hv.defaultProps=Kv;var Wv=Hv;function Vv(e){return(Vv="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 Uv(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 zv(e){return(zv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Gv(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yv(e,t){return(Yv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Qv=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(Gv(t=function(e,t){return!t||"object"!==Vv(t)&&"function"!=typeof t?Gv(e):t}(this,(e=zv(a)).call.apply(e,[this].concat(r)))),"handleClick",function(){t.props.onClose&&t.props.onClose()}),t}return 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&&Yv(e,t)}(a,P.a.Component),function(e,t,n){t&&Uv(e.prototype,t),n&&Uv(e,n)}(a,[{key:"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"),P.a.createElement("div",{className:"js-slds-lookup__item",onMouseDown:gt.trapImmediate,onClick:this.handleClick},P.a.createElement("a",{id:"searchRecords",href:"javascript:void(0);",className:e},P.a.createElement("span",{className:"lookup__item-action-label"},P.a.createElement(en,{name:"search",category:"utility",size:"x-small",className:"slds-icon-text-default"}),P.a.createElement("span",{className:"slds-truncate"},this.props.searchTerm))))}}]),a}();Qv.displayName="LookupDefaultHeader",Qv.propTypes={},Qv.defaultProps={};var Jv=Qv;function Xv(e){return(Xv="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 $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 Zv(e){return(Zv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}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,t){return(t_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var n_=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(e_(t=function(e,t){return!t||"object"!==Xv(t)&&"function"!=typeof t?e_(e):t}(this,(e=Zv(a)).call.apply(e,[this].concat(r)))),"handleClick",function(){t.props.onClose&&t.props.onClose()}),t}return 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)}(a,P.a.Component),function(e,t,n){t&&$v(e.prototype,t),n&&$v(e,n)}(a,[{key:"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"),P.a.createElement("div",{className:"js-slds-lookup__item",onClick:this.handleClick,onMouseDown:gt.trapImmediate},P.a.createElement("a",{id:"newItem",href:"javascript:void(0);",className:e},P.a.createElement("span",{className:"lookup__item-action-label"},P.a.createElement(en,{name:"add",category:"utility",size:"x-small",className:"slds-icon-text-default"}),P.a.createElement("span",{className:"slds-truncate"},this.props.newItemLabel?this.props.newItemLabel:"Add New Item"))))}}]),a}();n_.displayName="LookupDefaultFooter",n_.propTypes={},n_.defaultProps={};function r_(e){return P.a.createElement("li",{className:"slds-p-around_x-small slds-lookup__divider",tabIndex:"-1"},P.a.createElement("span",{className:"slds-m-left_x-small"},P.a.createElement("strong",null,e.data.label)))}var o_=n_,a_={data:o.a.object};r_.displayName="LookupDefaultSectionDivider",r_.propTypes=a_;var i_=r_;var s_=function(){};function l_(e){return(l_="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 c_(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){return(u_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function p_(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d_(e,t){return(d_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var f_={data:o.a.object,handleItemFocus:o.a.func,href:o.a.string,iconCategory:o.a.string,id:o.a.string,index:o.a.number,isActive:o.a.bool,isDisabled:o.a.bool,listItemLabelRenderer:o.a.func,onSelect:o.a.func,searchTerm:o.a.string,setFocus:o.a.func},m_=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(p_(t=function(e,t){return!t||"object"!==l_(t)&&"function"!=typeof t?p_(e):t}(this,(e=u_(a)).call.apply(e,[this].concat(r)))),"handleClick",function(){return t.props.onSelect(t.props.id,t.props.data)}),t}return 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&&d_(e,t)}(a,P.a.Component),function(e,t,n){t&&c_(e.prototype,t),n&&c_(e,n)}(a,[{key:"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 P.a.createElement(e,this.props)}},{key:"getIcon",value:function(){return this.props.iconName&&!this.props.listItemLabelRenderer?P.a.createElement("span",{className:"slds-media__figure"},P.a.createElement(en,{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=P.a.createElement("div",{className:"slds-media__body"},P.a.createElement("div",{className:"slds-lookup__result-text"},this.props.children.label),P.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=P.a.createElement("div",{className:"slds-media__body"},P.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 t=this,e="js-slds-lookup__item",n=this.props.id;return this.props.isActive&&(e+=" slds-theme_shade"),P.a.createElement("li",{className:e,ref:function(e){t.itemRef=e}},P.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:gt.trapImmediate,ref:n,role:"option",tabIndex:"-1"},this.getIcon(),this.props.listItemLabelRenderer?this.getCustomLabel():this.getLabel()))}}]),a}();m_.displayName="Lookup-Menu-Item",m_.propTypes=f_;var h_=m_;function b_(e){return(b_="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 y_(){return(y_=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 g_(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 v_(e){return(v_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function __(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function O_(e,t){return(O_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var x_={boldRegex:o.a.instanceOf(RegExp),emptyMessage:o.a.oneOfType([o.a.string,o.a.element]),filterWith:o.a.func,focusIndex:o.a.number,getListLength:o.a.func,iconCategory:o.a.string,items:o.a.array,label:o.a.string,listLength:o.a.number,searchTerm:o.a.string,setFocus:o.a.func},S_=function(){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(__(n=function(e,t){return!t||"object"!==b_(t)&&"function"!=typeof t?__(e):t}(this,v_(t).call(this,e))),"handleItemFocus",function(e,t){n.listRef&&(n.listRef.scrollTop=e*t)}),n.state={filteredItems:n.filteredItems()},n}return 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&&O_(e,t)}(t,P.a.Component),function(e,t,n){t&&g_(e.prototype,t),n&&g_(e,n)}(t,[{key:"componentDidUpdate",value:function(e){var t=[].slice.call(this.listRef.children).filter(function(e){return-1<e.className.indexOf("js-slds-lookup__item")||-1<e.className.indexOf("slds-lookup__divider")}).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-1<e&&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(r){var o=[];return r.forEach(function(e,t){if(e&&e.data&&"section"===e.data.type){if(t+1<r.length){var n=r[t+1];n.data&&"section"!==n.data.type&&o.push(e)}}else o.push(e)}),o}},{key:"filteredItems",value:function(){return this.filterEmptySections(this.props.items.filter(this.filter,this))}},{key:"renderContent",value:function(){return 0===this.state.filteredItems.length?P.a.createElement("li",{className:"slds-lookup__message","aria-live":"polite"},P.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 a=this,i=this.props.focusIndex;return this.state.filteredItems.map(function(e,t){var n=e.id,r=!1;if(r=a.props.header?i===t+1:i===t,"section"===e.data.type&&a.props.sectionDividerRenderer){var o=a.props.sectionDividerRenderer;return P.a.createElement(o,y_({data:e.data,key:"section_header_".concat(n)},a.props))}return P.a.createElement(h_,{boldRegex:a.props.boldRegex,data:e.data,handleItemFocus:a.handleItemFocus,iconCategory:a.props.iconCategory,iconInverse:a.props.iconInverse,iconName:a.props.iconName,id:n,index:t,isActive:r,key:n,listItemLabelRenderer:a.props.listItemLabelRenderer,onSelect:a.props.onSelect,searchTerm:a.props.searchTerm,setFocus:a.props.setFocus},e)})}},{key:"renderSectionDivider",value:function(){return this.props.sectionDivider}},{key:"render",value:function(){var t=this;return P.a.createElement("section",{id:"menuContainer",className:"ignore-react-onclickoutside"},this.renderHeader(),P.a.createElement("ul",{id:"list",className:"slds-lookup__list",role:"presentation",ref:function(e){e&&(t.listRef=e)}},this.renderContent()),this.renderFooter())}}]),t}();S_.displayName="Lookup-Menu",S_.propTypes=x_,S_.defaultProps={emptyMessage:"No matches found."};var w_,E_,C_=S_;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 N_(){return(N_=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){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 j_(e){return(j_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function P_(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function I_(e,t){return(I_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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}function R_(e){return(e||"").toString().replace(/^\s+/,"")}var A_=(E_=w_=function(){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),D_(P_(r=function(e,t){return!t||"object"!==T_(t)&&"function"!=typeof t?P_(e):t}(this,j_(t).call(this,e))),"state",{currentFocus:null,focusIndex:null,items:[],listLength:r.props.options.length,searchTerm:R_(r.props.searchTerm),selectedIndex:r.props.selectedItem}),D_(P_(r),"getClassName",function(){return I()(r.props.className,"slds-form-element slds-lookup",{"slds-has-selection":r.isSelected(),"slds-is-open":r.getIsOpen()})}),D_(P_(r),"setFirstIndex",function(){var e=0,t=r.state.items[0];r.menuComponent&&r.menuComponent.getFilteredItemForIndex&&(t=r.menuComponent.getFilteredItemForIndex(e)),t&&"section"===t.data.type&&(e+=1),r.setState({focusIndex:e})}),D_(P_(r),"getHeader",function(){var e=r.props.headerRenderer,t=0===r.state.focusIndex;return P.a.createElement(e,N_({ref:function(e){r.headerComponent=e}},r.props,{focusIndex:r.state.focusIndex,isActive:t,onClose:r.handleClose,searchTerm:r.state.searchTerm,setFocus:r.setFocus}))}),D_(P_(r),"getFooter",function(){var e=r.props.footerRenderer,t=r.getNumFocusableItems(),n=r.state.focusIndex===t;return P.a.createElement(e,N_({ref:function(e){r.footerComponent=e}},r.props,{focusIndex:r.state.focusIndex,isActive:n,onClose:r.handleClose,setFocus:r.setFocus}))}),D_(P_(r),"setFocus",function(e){r.setState({currentFocus:e})}),D_(P_(r),"getIsOpen",function(){return!!("boolean"==typeof r.props.isOpen?r.props.isOpen:r.state.isOpen)}),D_(P_(r),"getListLength",function(e){e!==r.state.listLength&&r.setState({listLength:e})}),D_(P_(r),"getNumFocusableItems",function(){var e=0;return r.footerComponent&&(e+=1),r.headerComponent&&(e+=1),r.state.listLength-1+e}),D_(P_(r),"increaseIndex",function(){var e=r.getNumFocusableItems(),t=r.state.focusIndex<e?r.state.focusIndex+1:0,n=r.menuComponent.getFilteredItemForIndex(t);n&&"section"===n.data.type&&(t+=1),r.setState({focusIndex:t})}),D_(P_(r),"decreaseIndex",function(){var e=r.getNumFocusableItems(),t=0<r.state.focusIndex?r.state.focusIndex-1:e,n=r.menuComponent.getFilteredItemForIndex(t);n&&"section"===n.data.type&&(t=0===t?e:t-1),r.setState({focusIndex:t})}),D_(P_(r),"selectItem",function(e){if(e){var t=e.replace("item-","");r.selectItemByIndex(t)}}),D_(P_(r),"selectItemByIndex",function(e){if(0<=e&&e<r.state.items.length){r.props.onRequestClose&&r.props.onRequestClose(),r.setState({isOpen:!1,selectedIndex:e,searchTerm:""});var t=r.state.items[e].data;r.props.onSelect&&r.props.onSelect(t)}}),D_(P_(r),"handleDeleteSelected",function(){r.props.onRequestOpen&&r.props.onRequestOpen(),r.setState({selectedIndex:null,isOpen:!0}),r.focusInput(),r.props.onUnselect&&r.props.onUnselect()}),D_(P_(r),"handleClose",function(){r.props.onRequestClose&&r.props.onRequestClose(),r.setState({isOpen:!1,focusIndex:null,currentFocus:null})}),D_(P_(r),"handleClickOutside",function(){r.handleClose()}),D_(P_(r),"handleEscape",function(e){r.getIsOpen()&&e&>.trap(e),r.handleClose()}),D_(P_(r),"handleCancel",function(){r.handleClose()}),D_(P_(r),"handleClick",function(){r.props.onRequestOpen&&r.props.onRequestOpen(),r.setState({isOpen:!0})}),D_(P_(r),"handleBlur",function(e){if(r.props.onBlur){var t=e.target||e.currentTarget;r.props.onBlur(t.value)}}),D_(P_(r),"handleFocus",function(e){if(r.props.onFocus){var t=e.target||e.currentTarget;r.props.onFocus(t.value)}r.props.onRequestOpen&&r.props.onRequestOpen(),r.setState({isOpen:!0})}),D_(P_(r),"handleChange",function(e){var t=e.target||e.currentTarget;r.setState({searchTerm:R_(t.value)}),r.props.onChange&&r.props.onChange(t.value)}),D_(P_(r),"handleKeyDown",function(e){if(e.keyCode)if(e.keyCode===_t.ESCAPE?r.handleEscape(e):e.keyCode===_t.TAB?(setTimeout(function(){r.handleClose()},200),r.handleBlur(e)):r.handleClick(),e.keyCode===_t.DOWN)gt.trapImmediate(e),null===r.state.focusIndex?r.setFirstIndex():r.increaseIndex();else if(e.keyCode===_t.UP){gt.trapImmediate(e);var t=r.getNumFocusableItems();null===r.state.focusIndex?r.setState({focusIndex:t}):r.decreaseIndex()}else e.keyCode===_t.ENTER&&null!==r.state.focusIndex&&(gt.trapImmediate(e),r.headerComponent&&0===r.state.focusIndex?r.headerComponent.handleClick():r.footerComponent&&r.state.focusIndex===r.state.listLength+1?r.footerComponent.handleClick():r.selectItem(r.state.currentFocus))}),D_(P_(r),"handlePillKeyDown",function(e){e.keyCode&&(e.keyCode!==_t.DELETE&&e.keyCode!==_t.BACKSPACE||(gt.trapImmediate(e),r.handleDeleteSelected()))}),D_(P_(r),"inputRefId",function(){return"".concat(r.props.label,"Lookup")}),D_(P_(r),"focusInput",function(){r.focusOnRender=!0}),D_(P_(r),"isSelected",function(){return!isNaN(parseInt(r.state.selectedIndex,10))&&0<=r.state.selectedIndex}),D_(P_(r),"modifyItems",function(e){var t=e.map(function(e,t){return{id:"item-".concat(t),label:e.label,data:e}});r.setState({items:t})}),D_(P_(r),"renderMenuContent",function(){return P.a.createElement(C_,{ref:function(e){r.menuComponent=e},emptyMessage:r.props.emptyMessage,filterWith:r.props.filterWith,focusIndex:r.state.focusIndex,footer:r.props.footerRenderer?r.getFooter():null,getListLength:r.getListLength,header:r.props.headerRenderer?r.getHeader():null,iconCategory:r.props.iconCategory,iconInverse:r.props.iconInverse,iconName:r.props.iconName,items:r.state.items,label:r.props.label,listItemLabelRenderer:r.props.listItemLabelRenderer,listLength:r.state.listLength,onSelect:r.selectItem,searchTerm:r.state.searchTerm,sectionDividerRenderer:r.props.sectionDividerRenderer,setFocus:r.setFocus})}),D_(P_(r),"renderInlineMenu",function(){return r.getIsOpen()?P.a.createElement("div",{className:"ignore-react-onclickoutside slds-lookup__menu",role:"listbox"},r.renderMenuContent()):null}),D_(P_(r),"renderSeparateMenu",function(){var e=r.props.isInline?"relative":r.props.menuPosition;return r.getIsOpen()?P.a.createElement(Vt,{align:"bottom",className:"slds-lookup__menu slds-show",closeOnTabKey:!0,contentsClassName:"slds-lookup__menu slds-show",context:r.context,inheritWidthOf:"target",onClose:r.handleCancel,hasStaticAlignement:!r.props.flippable,constrainToScrollParent:r.props.constrainToScrollParent,onRequestTargetElement:function(){return r.input},position:e},r.renderMenuContent()):null}),D_(P_(r),"renderInput",function(){return P.a.createElement(Ll,{"aria-activedescendant":r.state.currentFocus?r.state.currentFocus:"","aria-autocomplete":"list","aria-describedby":r.props.describedById,"aria-expanded":!!r.getIsOpen(),assistiveText:r.props.assistiveText,className:"slds-lookup__search-input",disabled:r.props.disabled,iconRight:P.a.createElement(Js,{assistiveText:{icon:"Search"},category:"utility",name:"search"}),id:r.inputRefId(),onBlur:r.handleBlur,onChange:r.handleChange,onClick:r.handleClick,onFocus:r.handleFocus,onKeyDown:r.handleKeyDown,inputRef:function(e){r.input=e,r.focusOnRender&&(r.input.focus(),r.focusOnRender=!1)},placeholder:r.props.placeholder,role:"combobox",type:"text",value:r.state.searchTerm})}),D_(P_(r),"renderSelectedItem",function(){var e=r.props.options[r.state.selectedIndex].label,t=r.props.iconName?P.a.createElement(en,{category:r.props.iconCategory,className:"slds-icon slds-pill__icon",inverse:r.props.iconInverse,name:r.props.iconName}):null,n=r.props.iconName?"slds-pill__label":"slds-pill__label slds-m-left_x-small";return P.a.createElement("div",{className:"slds-pill__container"},P.a.createElement("a",{href:"javascript:void(0)",className:"slds-pill",ref:function(e){r.pills[r.state.selectedIndex]=e},onKeyDown:r.handlePillKeyDown},t,P.a.createElement("span",{className:n},e),P.a.createElement(Cn,{assistiveText:{icon:"Press delete to remove"},className:"slds-pill__remove slds-button_icon-bare",iconCategory:"utility",iconName:"close",onClick:r.handleDeleteSelected,tabIndex:"-1",variant:"icon"})))}),D_(P_(r),"renderLabel",function(){var e=r.props.required?P.a.createElement("span",{className:"slds-required"},"*"):null;return r.isSelected()?P.a.createElement("span",{className:"slds-form-element__label",style:{width:"100%"}},e,r.props.label):P.a.createElement("label",{className:"slds-form-element__label",htmlFor:r.inputRefId(),style:{width:"100%"}},e,r.props.label)}),s_(J,e),r.pills=[],r}return 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&&I_(e,t)}(t,P.a.Component),function(e,t,n){t&&k_(e.prototype,t),n&&k_(e,n)}(t,[{key:"componentDidMount",value:function(){this.modifyItems(this.props.options)}},{key:"componentWillReceiveProps",value:function(e){e.options&&this.modifyItems(e.options),e.selectedItem===this.props.selectedItem&&it()(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=D_({"slds-form-element__control":!0},"slds-input-has-icon slds-input-has-icon_".concat(this.props.iconPosition),!this.isSelected());return P.a.createElement("div",{className:this.getClassName(),"data-select":"single","data-scope":"single",onScroll:this.props.onScroll},this.props.label?this.renderLabel():null,P.a.createElement("div",{className:I()(t)},this.isSelected()?this.renderSelectedItem():null,this.isSelected()?null:this.renderInput()),e?this.renderInlineMenu():this.renderSeparateMenu())}}]),t}(),D_(w_,"displayName",J),D_(w_,"propTypes",{assistiveText:o.a.oneOfType([o.a.object,o.a.string]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),constrainToScrollParent:o.a.bool,describedById:o.a.string,menuPosition:o.a.string,disabled:o.a.bool,emptyMessage:o.a.oneOfType([o.a.string,o.a.element]),filterWith:o.a.func,flippable:o.a.bool,footerRenderer:o.a.func,headerRenderer:o.a.func,iconCategory:o.a.string,iconInverse:o.a.bool,iconName:o.a.string,iconPosition:o.a.oneOf(["left","right"]),isInline:o.a.bool,isOpen:o.a.bool,label:o.a.string,listItemLabelRenderer:o.a.func,onBlur:o.a.func,onChange:o.a.func,onFocus:o.a.func,onRequestClose:o.a.func,onRequestOpen:o.a.func,onScroll:o.a.func,onSelect:o.a.func,onUnselect:o.a.func,options:o.a.array.isRequired,placeholder:o.a.string,required:o.a.bool,searchTerm:o.a.string,sectionDividerRenderer:o.a.func,selectedItem:o.a.number}),D_(w_,"defaultProps",{constrainToScrollParent:!0,filterWith:function(e,t){return!e||(t.data&&"section"===t.data.type||t.label.match(new RegExp($a()(e),"ig")))},iconPosition:"right",searchTerm:"",menuPosition:"absolute"}),E_);A_.contextTypes={iconPath:o.a.string};var L_=ya(A_,{excludeScrollbar:!0}),B_=n(24);function F_(){}function M_(e){var n=[];return n.indexes=[],n.keyBuffer=new Ja,Array.isArray(e)&&e.forEach(function(e,t){!function(e){return"header"!==e.type&&"divider"!==e.type&&!e.disabled}(e)||(n.push({index:t,text:"".concat(e.label).toLowerCase()}),n.indexes.push(t))}),n}var q_=function(){};var H_=n.n(B_)()({displayName:Z,propTypes:{buttonRef:o.a.func,className:o.a.string,checkmark:o.a.bool,disabled:o.a.bool,errorText:o.a.string,id:o.a.string,isInline:o.a.bool,label:o.a.string,labels:o.a.shape({multipleOptionsSelected:o.a.string}),listItemRenderer:o.a.func,onClick:o.a.func,onSelect:o.a.func,onPillRemove:o.a.func,options:o.a.array.isRequired,placeholder:o.a.string,required:o.a.bool,value:o.a.node,initValueIndex:o.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:""}},componentWillMount:function(){if(q_(Z,this.props),this.generatedId=m.a.generate(),this.props.errorText&&(this.generatedErrorId=m.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=M_(this.props.options)},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=M_(e.options))},componentWillUnmount:function(){this.isUnmounting=!0,window.removeEventListener("click",this.closeOnClick,!1)},getListItemId:function(e){var t;if(void 0!==e){var n=Xn()(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(e){var t=0<arguments.length&&void 0!==e?e:this.props,n=t.value,r=t.options,o=-1;return r&&r.length&&r.some(function(e,t){return!(!e||e.value!==n)&&(o=t,!0)}),o},getValueByIndex:function(e){return this.props.options[e]},getListItemRenderer:function(){return this.props.listItemRenderer?this.props.listItemRenderer:ga},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&&(gt.trapImmediate(e),e.nativeEvent[this.getClickEventName()]=!0)},handleKeyDown:function(e){if(e.keyCode)if(e.keyCode!==_t.ENTER&&e.keyCode!==_t.SPACE&&e.keyCode!==_t.DOWN&&e.keyCode!==_t.UP||gt.trap(e),e.keyCode!==_t.TAB){var t=e.keyCode===_t.ENTER||e.keyCode===_t.DOWN||e.keyCode===_t.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?F_:c;ei({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=Xn()(this.getMenu)?this.getMenu():function(e){return lt.a.findDOMNode(e).querySelector("ul.dropdown__list")}(this),n=Xn()(this.getMenuItem)?this.getMenuItem(e,t):function(e,t){var n,r=1<arguments.length&&void 0!==t?t:document;return e&&(n=r.getElementById(e)),n}(this.getListItemId(e));n&&(this.focusMenuItem(n),this.scrollToMenuItem(t,n))},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;a<i&&(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 P.a.createElement(Ba,{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?P.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?P.a.createElement(Vt,{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&&1<this.state.selectedIndices.length)t=this.props.labels.multipleOptionsSelected;else{var n=this.props.options[this.state.selectedIndex];t=n&&n.label?n.label:this.props.placeholder}return P.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},P.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"},P.a.createElement("span",{className:"slds-truncate"},t),P.a.createElement(en,{name:"down",category:"utility"})),e?this.renderInlineMenu():this.renderDialog())},renderPills:function(){var a=this,e=this.state.selectedIndices.map(function(e){var t=a.getValueByIndex(e).label;return P.a.createElement("li",{className:"slds-listbox__item",key:"pill-".concat(e),role:"presentation"},P.a.createElement(Bd,{eventData:{item:a.props.options[e],index:e},events:{onRequestFocus:function(){},onRequestFocusOnNextPill:function(){},onRequestFocusOnPreviousPill:function(){},onRequestRemove:function(e,t){var n=a.state.selectedIndices,r=t.index;if(n.splice(a.state.selectedIndices.indexOf(r),1),a.setState({selectedIndices:n}),a.props.onPillRemove){var o=a.getValueByIndex(r);a.props.onPillRemove(o,{option:o,optionIndex:r})}}},labels:{label:t}}))});return P.a.createElement("div",{id:"listbox-selections-unique-id",orientation:"horizontal",role:"listbox"},P.a.createElement("ul",{className:"slds-listbox slds-listbox_inline slds-p-top_xxx-small",role:"group","aria-label":"Selected Options:"},e))},render:function(){var e=this.props,t=e.className,n=e.errorText,r=e.label,o=e.required?P.a.createElement("span",{style:{color:"red"}},"* "):null;return P.a.createElement("div",{className:I()("slds-form-element",{"slds-has-error":n},t)},this.props.label?P.a.createElement("label",{className:"slds-form-element__label",htmlFor:this.getId(),style:{width:"100%"}},o,r):null,this.renderTrigger(),this.renderPills(),n&&P.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},n))}});H_.contextTypes={iconPath:o.a.string};var K_=H_,W_={open:function(e){var t;Zn("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."),St&&((t=document.createElement("span")).setAttribute("data-slds-modal",!0),document.body.appendChild(t));var n=P.a.createElement(xr,{heading:e.title,footer:e.footer,isOpen:!0},e.content);lt.a.render(n,t)}},V_=n(53);function U_(t){return P.a.createElement("li",{className:I()("slds-nav-vertical__item",{"slds-is-active":t.isSelected})},P.a.createElement("a",{"data-id":t.item.id,href:t.item.url||"javascript:void(0);",className:"slds-nav-vertical__action","aria-describedby":t.categoryId,onClick:function(e){!function(e,t){Xn()(t.onSelect)&&t.onSelect(e,{item:t.item})}(e,t)}},t.item.label))}var z_=function(){};U_.displayName="SLDSVerticalNavigationItem",U_.propTypes={item:o.a.shape({id:o.a.string.isRequired,label:o.a.string.isRequired,url:o.a.string}),isSelected:o.a.bool,categoryId:o.a.string.isRequired,onSelect:o.a.func},U_.defaultProps={isSelected:!1};var G_=U_;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_(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 J_(e){return(J_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function X_(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function $_(e,t){return($_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Z_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var eO=function(){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Z_(X_(n=function(e,t){return!t||"object"!==Y_(t)&&"function"!=typeof t?X_(e):t}(this,J_(t).call(this,e))),"getId",function(){return n.props.id||n.generatedId}),Z_(X_(n),"getSelectedId",function(){var e,t=n.props.categories;return n.props.selectedId?e=n.props.selectedId:0<t.length&&t[0].items&&0<t[0].items.length&&(e=t[0].items[0].id),e}),n.generatedId=m.a.generate(),z_(ue,e,V_),n}return 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)}(t,P.a.Component),function(e,t,n){t&&Q_(e.prototype,t),n&&Q_(e,n)}(t,[{key:"render",value:function(){var r=this,o=this.getId();return P.a.createElement("nav",{id:o,className:I()("slds-nav-vertical",this.props.className)},this.props.categories.map(function(e){var t="".concat(o,"-").concat(e.id),n=r.getSelectedId();return P.a.createElement("div",{key:"".concat(t,"-header"),className:"slds-nav-vertical__section"},P.a.createElement("h2",{id:t,className:"slds-nav-vertical__title"},e.label),P.a.createElement("ul",{key:t},e.items.map(function(e){return P.a.createElement(G_,{key:e.id,item:e,isSelected:e.id===n,categoryId:t,onSelect:r.props.onSelect})})))}))}}]),t}();Z_(eO,"displayName",ue),Z_(eO,"propTypes",{id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),categories:o.a.array,selectedId:o.a.string,onSelect:o.a.func}),Z_(eO,"defaultProps",{});var tO=eO;var nO=function(){};function rO(e){return(rO="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(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 aO(e){return(aO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function iO(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sO(e,t){return(sO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function lO(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var cO={iconCategory:o.a.string,className:o.a.string,content:o.a.node.isRequired,dismissible:o.a.bool,duration:o.a.number,iconName:o.a.string,isOpen:o.a.bool.isRequired,onDismiss:o.a.func,texture:o.a.bool,theme:o.a.oneOf(["success","warning","error","offline"]),variant:o.a.oneOf(["alert","toast"]).isRequired},uO=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),lO(iO(t=function(e,t){return!t||"object"!==rO(t)&&"function"!=typeof t?iO(e):t}(this,aO(n).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 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)}(n,P.a.Component),function(e,t,n){t&&oO(e.prototype,t),n&&oO(e,n)}(n,[{key:"componentDidMount",value:function(){var e=this;nO("Notification",this.props),this.props.duration&&(this.timeout=setTimeout(function(){e.onDismiss()},this.props.duration))}},{key:"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",(lO(e={},"slds-notify_".concat(this.props.variant),this.props.variant),lO(e,"slds-theme_".concat(this.props.theme),this.props.theme),lO(e,"slds-theme_alert-texture",this.props.texture),e))}},{key:"blankContent",value:function(){return P.a.createElement("div",null)}},{key:"renderAlertContent",value:function(){return P.a.createElement("h2",{id:"dialogTitle"},this.renderIcon(),this.props.content)}},{key:"renderClose",value:function(){var t=this;if(this.props.dismissible){var e=null;return"toast"===this.props.variant&&(e="large"),P.a.createElement(Cn,{assistiveText:{icon:"Dismiss Notification"},iconCategory:"utility",iconName:"close",iconSize:e,inverse:!0,className:"slds-notify__close",onClick:this.onDismiss,buttonRef:function(e){t.dismissBtnRef=e},variant:"icon"})}return null}},{key:"renderContent",value:function(){return P.a.createElement("div",null,P.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"),P.a.createElement(en,{category:this.props.iconCategory,className:e,inverse:!0,name:this.props.iconName,size:"small"})}return null}},{key:"renderToastContent",value:function(){return P.a.createElement("section",{className:"notify__content slds-grid"},this.renderIcon(),P.a.createElement("div",{className:"slds-col slds-align-middle"},P.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 P.a.createElement("div",{className:"slds-notify-container",style:e},P.a.createElement("div",{className:this.getClassName(),role:"alertdialog","aria-labelledby":"dialogTitle",style:t},this.props.isOpen?this.renderContent():this.blankContent()))}}]),n}();uO.displayName="Notification",uO.propTypes=cO,uO.defaultProps={iconCategory:"utility",dismissible:!0,isOpen:!1,texture:!1};var pO=uO;function dO(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?P.a.createElement("p",{className:t},e.content):P.a.createElement("div",{className:t},e.content)}var fO=function(){},mO=n(54),hO={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),content:o.a.node,variant:o.a.string};dO.displayName="PageHeaderInfo",dO.propTypes=hO;function bO(e){return e.trail&&0<e.trail.length?P.a.createElement(wi,{styleContainer:e.style,trail:e.trail}):e.content?"string"==typeof e.content?P.a.createElement("span",null,e.content):e.content:null}var yO=dO,gO={content:o.a.node,trail:o.a.array};bO.displayName="PageHeaderLabel",bO.propTypes=gO;var vO=bO;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(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!t||"object"!==_O(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function SO(e){return(SO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function wO(e,t){return(wO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var EO={align:o.a.oneOf(["top","middle","bottom"]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),content:o.a.node,label:o.a.node,truncate:o.a.bool},CO=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),xO(this,SO(e).apply(this,arguments))}return 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&&wO(e,t)}(e,s["Component"]),function(e,t,n){t&&OO(e.prototype,t),n&&OO(e,n)}(e,[{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 P.a.createElement("div",{className:"slds-page-header__name-title"},P.a.createElement("h1",null,P.a.createElement(vO,{content:this.props.label}),P.a.createElement("span",{className:e,title:"string"==typeof this.props.content?this.props.content:void 0},this.props.content)))}}]),e}();CO.displayName="PageHeaderTitle",CO.propTypes=EO,CO.defaultProps={title:"Page Header Title",truncate:!0};var TO=CO;function NO(e){return(NO="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 kO(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!t||"object"!==NO(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function PO(e){return(PO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function IO(e,t){return(IO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var DO={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),content:o.a.node,flavor:o.a.string,label:o.a.node,truncate:o.a.bool},RO=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=jO(this,PO(n).call(this,e))).state={showTooltip:!1},t}return 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)}(n,s["Component"]),function(e,t,n){t&&kO(e.prototype,t),n&&kO(e,n)}(n,[{key:"componentDidMount",value:function(){this.renderFieldTruncation()}},{key:"componentDidUpdate",value:function(e){this.props.content!==e.content&&this.renderFieldTruncation()}},{key:"renderContent",value:function(){var t=this,e=this.props,n=e.content,r=e.truncate;if("string"!=typeof n)return n;var o=I()({"slds-truncate":r});return P.a.createElement("div",{className:o,ref:function(e){t.fieldContentRef=e},title:n},n)}},{key:"renderContentWithTooltip",value:function(){var e=this.props,t=e.content,n=e.truncate,r=I()({"slds-truncate":n});return P.a.createElement(fn,{align:"top",title:t,triggerStyle:{display:"inline"}},P.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)return t;var r=I()("slds-text-title",{"slds-truncate":n});return P.a.createElement("div",{className:r,title:t},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 P.a.createElement("li",{className:r},this.renderLabel(),this.state.showTooltip?this.renderContentWithTooltip():this.renderContent())}}]),n}();RO.displayName="PageHeaderDetailRow",RO.propTypes=DO,RO.defaultProps={content:"",label:"",truncate:!0};var AO=RO;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 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 FO(e,t){return!t||"object"!==LO(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function MO(e){return(MO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qO(e,t){return(qO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var HO={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),details:o.a.array},KO=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),FO(this,MO(e).apply(this,arguments))}return 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)}(e,s["Component"]),function(e,t,n){t&&BO(e.prototype,t),n&&BO(e,n)}(e,[{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 P.a.createElement(AO,{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 P.a.createElement("ul",{className:e},this.renderDetails())}}]),e}();KO.displayName="PageHeaderDetailRow",KO.propTypes=HO,KO.defaultProps={};var WO=KO;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 UO(){return(UO=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 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 GO(e,t){return!t||"object"!==VO(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function YO(e){return(YO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function QO(e,t){return(QO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var JO={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),type:o.a.oneOf(["actions","controls"])},XO=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),GO(this,YO(e).apply(this,arguments))}return 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)}(e,s["Component"]),function(e,t,n){t&&zO(e.prototype,t),n&&zO(e,n)}(e,[{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===ne?r=e:e.props&&e.props.children&&(r=[],P.a.Children.forEach(e.props.children,function(e){e&&e.type&&e.type.displayName===ne&&r.push(e)})),t&&(!r||r.length<1)&&(n="string"!=typeof e?P.a.createElement("div",UO({className:"slds-page-header__controls"},e.props)):P.a.createElement("div",{className:"slds-page-header__controls"},e)),P.a.createElement("div",{className:I()("slds-page-header__col-".concat(this.props.type),this.props.className)},n||P.a.createElement("div",{className:"slds-page-header__controls"},r))):null}}]),e}();XO.displayName="PageHeaderControls",XO.propTypes=JO,XO.defaultProps={};function $O(e){var t;if(e.iconName)t=P.a.createElement(en,{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=P.a.cloneElement(e.icon,{className:n})}return P.a.createElement("div",{className:"slds-page-header__row"},P.a.createElement("div",{className:"slds-page-header__col-title"},P.a.createElement(ks,{body:P.a.createElement(P.a.Fragment,null,P.a.createElement("div",{className:"slds-page-header__name"},P.a.createElement(TO,{content:e.title})),P.a.createElement(yO,{content:e.info,variant:e.variant})),figure:t})),P.a.createElement(ZO,{className:"slds-align-middle",navRight:e.navRight,onRenderControls:e.onRenderControls,type:"controls"}))}var ZO=XO,ex={icon:o.a.node,info:o.a.node,onRenderControls:o.a.func,title:o.a.node,variant:o.a.string};$O.displayName="PageHeaderBase",$O.propTypes=ex;function tx(e){var t;if(e.iconName)t=P.a.createElement(en,{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=P.a.cloneElement(e.icon,{className:n})}return P.a.createElement(P.a.Fragment,null,P.a.createElement("div",{className:"slds-page-header__row"},P.a.createElement("div",{className:"slds-page-header__col-title"},P.a.createElement(ks,{body:P.a.createElement(P.a.Fragment,null,P.a.createElement("div",{className:"slds-page-header__name"},P.a.createElement(TO,{content:e.title,label:e.label}))),figure:t})),P.a.createElement(ZO,{contentRight:e.contentRight,onRenderActions:e.onRenderActions,type:"actions"})),e.details?P.a.createElement("div",{className:"slds-page-header__row slds-page-header__row_gutters"},P.a.createElement("div",{className:"slds-page-header__col-details"},P.a.createElement(WO,{details:e.details}))):null)}var nx=$O,rx={details:o.a.array,label:o.a.node,icon:o.a.element,onRenderActions:o.a.func,title:o.a.node};tx.displayName="PageHeaderRecordHome",tx.propTypes=rx;function ox(e){var t;if(e.iconName)t=P.a.createElement(en,{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=P.a.cloneElement(e.icon,{className:n})}return P.a.createElement(P.a.Fragment,null,P.a.createElement("div",{className:"slds-page-header__row"},P.a.createElement("div",{className:"slds-page-header__col-title"},P.a.createElement(ks,{body:P.a.createElement(P.a.Fragment,null,e.trail?P.a.createElement(vO,{style:{lineHeight:"1.3"},trail:e.trail}):null,P.a.createElement("div",{className:"slds-page-header__name"},P.a.createElement(TO,{content:e.title,label:e.trail?null:e.label}),e.nameSwitcherDropdown?P.a.createElement("div",{className:"slds-page-header__name-switcher"},e.nameSwitcherDropdown):null)),figure:t})),P.a.createElement(ZO,{className:I()({"slds-align-middle slds-p-bottom_none":!e.onRenderControls&&!e.navRight}),contentRight:e.contentRight,onRenderActions:e.onRenderActions,type:"actions"})),P.a.createElement("div",{className:"slds-page-header__row"},P.a.createElement("div",{className:"slds-page-header__col-meta"},P.a.createElement(yO,{content:e.info,variant:e.variant})),P.a.createElement(ZO,{className:I()({"slds-align-middle":!e.onRenderActions&&!e.comntentRight}),navRight:e.navRight,onRenderControls:e.onRenderControls,type:"controls"})))}var ax=tx,ix={label:o.a.node,icon:o.a.element,info:o.a.node,nameSwitcherDropdown:o.a.node,onRenderActions:o.a.func,onRenderControls:o.a.func,title:o.a.node,trail:o.a.array,variant:o.a.string};ox.displayName="PageHeaderObjectHome",ox.propTypes=ix;function sx(e){return P.a.createElement(P.a.Fragment,null,P.a.createElement("div",{className:"slds-page-header__row"},P.a.createElement("div",{className:"slds-page-header__col-title"},P.a.createElement(vO,{content:e.label,trail:e.trail}),P.a.createElement(ks,{body:P.a.createElement("div",{className:"slds-page-header__name"},P.a.createElement(TO,{content:e.title,label:e.label}))})),P.a.createElement(ZO,{contentRight:e.contentRight,onRenderActions:e.onRenderActions,type:"actions"})),P.a.createElement("div",{className:"slds-page-header__row"},P.a.createElement("div",{className:"slds-page-header__col-meta"},P.a.createElement(yO,{content:e.info,variant:e.variant})),P.a.createElement(ZO,{navRight:e.navRight,onRenderControls:e.onRenderControls,type:"controls"})))}var lx=ox,cx={label:o.a.node,info:o.a.node,onRenderActions:o.a.func,onRenderControls:o.a.func,title:o.a.node,trail:o.a.array,variant:o.a.string};sx.displayName="PageHeaderRelatedList",sx.propTypes=cx,sx.defaultProps={};var ux=sx;function px(e){return(px="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 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 fx(e,t){return!t||"object"!==px(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function mx(e){return(mx=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function hx(e,t){return(hx=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var bx={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),details:o.a.array,label:o.a.oneOfType([o.a.string,o.a.element]),icon:o.a.element,info:o.a.oneOfType([o.a.string,o.a.element]),joined:o.a.bool,nameSwitcherDropdown:o.a.node,onRenderActions:o.a.func,onRenderControls:o.a.func,title:o.a.oneOfType([o.a.string,o.a.element]),trail:o.a.array,variant:o.a.oneOf(["base","object-home","record-home","related-list"])},yx=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),fx(this,mx(e).apply(this,arguments))}return 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)}(e,s["Component"]),function(e,t,n){t&&dx(e.prototype,t),n&&dx(e,n)}(e,[{key:"componentDidMount",value:function(){fO(te,this.props,mO)}},{key:"render",value:function(){var e,t=this.props,n=t.className,r=t.variant,o=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=lx;break;case"record-home":case"recordHome":e=ax;break;case"related-list":case"relatedList":e=ux;break;default:e=nx}return P.a.createElement("div",{className:o},P.a.createElement(e,this.props))}}]),e}();yx.displayName="SLDSPageHeader",yx.propTypes=bx,yx.defaultProps={variant:"base"};function gx(e){return P.a.createElement("div",{className:I()("slds-page-header__control",e.className)},e.children)}var vx=yx,_x={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string])};gx.displayName=ne,gx.propTypes=_x;var Ox=gx;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 Sx(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 wx(e,t){return!t||"object"!==xx(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Ex(e){return(Ex=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Cx(e,t){return(Cx=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Tx=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),wx(this,Ex(e).apply(this,arguments))}return 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&&Cx(e,t)}(e,P.a.Component),function(e,t,n){t&&Sx(e.prototype,t),n&&Sx(e,n)}(e,[{key:"render",value:function(){return P.a.createElement("div",{className:I()("slds-panel","slds-grid","slds-grid_vertical","slds-nowrap",{"slds-panel_filters":"filters"===this.props.variant},this.props.className)},P.a.createElement("div",{className:"slds-form_stacked slds-grow slds-scrollable_y slds-grid slds-grid_vertical"},this.props.children))}}]),e}();Tx.displayName="SLDSPanel",Tx.propTypes={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),variant:o.a.oneOf(["filters"])};var Nx=Tx;function kx(e){var t=e.addFilterLabel,n=e.onClickAdd,r=e.onClickRemoveAll,o=e.removeAllLabel;return P.a.createElement("div",{className:"slds-filters__footer slds-grid slds-shrink-none"},P.a.createElement(Cn,{label:t,onClick:n,variant:"link"}),P.a.createElement(Cn,{className:"slds-col_bump-left",label:o,onClick:r,variant:"link"}))}var jx=function(){};kx.displayName="SLDSPanelFilterFooter",kx.propTypes={addFilterLabel:o.a.node.isRequired,onClickAdd:o.a.func.isRequired,onClickRemoveAll:o.a.func.isRequired,removeAllLabel:o.a.node.isRequired};function Px(e){var t=e.assistiveText,n=e.cancelLabel,r=e.heading,o=e.modified,a=e.onRequestCancel,i=e.onRequestClose,s=e.onRequestSave,l=e.saveLabel;return o?P.a.createElement("div",{className:"slds-filters__header slds-grid slds-has-divider_bottom-space slds-grid_align-spread"},P.a.createElement(Cn,{label:n,onClick:a,variant:"neutral"}),P.a.createElement(Cn,{label:l,onClick:s,variant:"brand"})):P.a.createElement("div",{className:"slds-filters__header slds-grid slds-has-divider_bottom-space"},P.a.createElement("h2",{className:"slds-align-middle slds-text-heading_small"},r),P.a.createElement(Cn,{className:"slds-col_bump-left",assistiveText:{icon:t.closeButton},iconCategory:"utility",iconName:"forward",iconVariant:"bare",iconSize:"small",onClick:i,title:t.closeButton,variant:"icon"}))}var Ix=kx;Px.displayName="SLDSPanelFilterHeader",Px.propTypes={assistiveText:o.a.shape({closeButton:o.a.string}),cancelLabel:o.a.string,heading:o.a.node,modified:o.a.bool,onRequestCancel:o.a.func,onRequestClose:o.a.func,onRequestSave:o.a.func,saveLabel:o.a.string};var Dx=Px;function Rx(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){jx(ee,e);var t=e.children,n=e.errorLabel,r=e.footer,o=e.header,a=e.variant,i=e.addFilterLabel,s=e.onClickAdd,l=e.onClickRemoveAll,c=e.removeAllLabel,u=e.cancelLabel,p=e.heading,d=e.modified,f=e.onRequestCancel,m=e.onRequestClose,h=e.onRequestSave,b=e.saveLabel,y=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Rx(t,e,n[e])})}return t}({},Lx.assistiveText,e.assistiveText);return e.assistiveTextCloseFilterPanel&&(y.closeButton=e.assistiveTextCloseFilterPanel),P.a.createElement("div",{className:"slds-filters"},"panel"===a?P.a.createElement(Dx,{assistiveText:y,cancelLabel:u,heading:p,modified:d,onRequestCancel:f,onRequestClose:m,onRequestSave:h,saveLabel:b}):o||null,P.a.createElement("div",{className:"slds-filters__body"},n?P.a.createElement("div",{className:"slds-text-color_error slds-m-bottom_x-small",role:"alert"},n):null,t),"panel"===a?P.a.createElement(Ix,{addFilterLabel:i,onClickAdd:s,onClickRemoveAll:l,removeAllLabel:c}):r||null)}var Lx={addFilterLabel:"Add Filter",cancelLabel:"Cancel",assistiveText:{closeButton:"Close Filter Panel"},heading:"Filter",saveLabel:"Save",removeAllLabel:"Remove All"};Ax.displayName=ee,Ax.propTypes={assistiveText:o.a.shape({closeButton:o.a.string}),addFilterLabel:o.a.node,cancelLabel:o.a.string,children:o.a.node,errorLabel:o.a.string,footer:o.a.node,header:o.a.node,heading:o.a.oneOfType([o.a.node,o.a.string]),modified:o.a.bool,onClickAdd:o.a.func,onClickRemoveAll:o.a.func,onRequestCancel:o.a.func,onRequestClose:o.a.func,onRequestSave:o.a.func,removeAllLabel:o.a.node,saveLabel:o.a.string,variant:o.a.oneOf(["panel"])},Ax.defaultProps=Lx;var Bx=Ax;function Fx(e){return(Fx="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 Mx(e,t){return!t||"object"!==Fx(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function qx(e){return(qx=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Hx(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 Kx(e,t,n){return t&&Hx(e.prototype,t),n&&Hx(e,n),e}function Wx(e,t){return(Wx=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Vx,Ux,zx,Gx=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=Mx(this,qx(n).call(this,e))).generatedId=m.a.generate(),t}return 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&&Wx(e,t)}(n,P.a.Component),Kx(n,null,[{key:"propTypes",value:function(){return{children:o.a.node}}}]),Kx(n,[{key:"render",value:function(){var o=this,e=P.a.Children.map(this.props.children,function(e,t){var n,r=e&&e.props.id?e.props.id:"".concat(o.generatedId,"-").concat(t);return e&&e.props.errorLabel&&(n=P.a.cloneElement(e,{isError:!0})),e?P.a.createElement("li",{className:"slds-item slds-hint-parent"},n||e,e.props.errorLabel?P.a.createElement("p",{id:"".concat(r,"-error"),className:"slds-text-color_error slds-m-top_xx-small"},e.props.errorLabel):null):null});return P.a.createElement("ol",{className:"slds-list_vertical slds-list_vertical-space"},e)}}]),n}();zx="SLDSFilterList",(Ux="displayName")in(Vx=Gx)?Object.defineProperty(Vx,Ux,{value:zx,enumerable:!0,configurable:!0,writable:!0}):Vx[Ux]=zx;function Yx(e){var t=e.heading,n=e.isLocked,r=e.lockedHeading;return P.a.createElement("h3",{className:I()("slds-text-body_small","slds-m-vertical_x-small",{"slds-grid":n})},n?r:t,n?P.a.createElement(en,{className:"slds-m-left_x-small",assistiveText:{label:"locked"},category:"utility",name:"lock",size:"x-small"}):null)}var Qx=Gx;Yx.displayName="SLDSPanelFilterListHeading",Yx.propTypes={heading:o.a.oneOfType([o.a.node,o.a.string]),isLocked:o.a.bool,lockedHeading:o.a.string},Yx.defaultProps={heading:"Matching all these filters",lockedLabel:"Locked filters"};var Jx=Yx;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(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 Zx(e){return(Zx=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}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,t){return(tS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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={assistiveText:o.a.shape({listboxLabel:o.a.string,removePill:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,labels:o.a.shape({removePillTitle:o.a.string}),options:o.a.arrayOf(o.a.shape({avatar:o.a.oneOfType([o.a.node,o.a.shape({imgSrc:o.a.string,title:o.a.string,variant:o.a.string})]),bare:o.a.bool,error:o.a.bool,icon:o.a.oneOfType([o.a.node,o.a.shape({category:o.a.string,name:o.a.string})]),id:o.a.string,label:o.a.oneOfType([o.a.node,o.a.string]),title:o.a.string})),onClickPill:o.a.func,onRequestRemovePill:o.a.func,style:o.a.object,variant:o.a.oneOf(["base","bare"])},oS=function(){function t(e){var l;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),nS(eS(l=function(e,t){return!t||"object"!==Xx(t)&&"function"!=typeof t?eS(e):t}(this,Zx(t).call(this,e))),"getId",function(){return l.props.id||l.generatedId}),nS(eS(l),"getNewActiveOptionIndex",function(e){var t=e.activeOptionIndex,n=t+e.offset;return e.options.length>n&&0<=n?n:t}),nS(eS(l),"handleBlurPill",function(){l.preserveFocus?l.preserveFocus=!1:l.setState({listboxHasFocus:!1})}),nS(eS(l),"handleClickPill",function(e,t){l.setState({activeSelectedOption:t.option,activeSelectedOptionIndex:t.index,listboxHasFocus:!0}),l.props.onClickPill&&l.props.onClickPill(e,{index:t.index,option:t.option})}),nS(eS(l),"handlePillFocus",function(){l.state.listboxHasFocus||l.setState({listboxHasFocus:!0})}),nS(eS(l),"handleNavigatePillContainer",function(e,t){var i=t.direction,s={next:1,previous:-1};l.setState(function(e){var t,n=l.props.options,r=e.activeSelectedOptionIndex+1===n.length&&"next"===i,o=0===e.activeSelectedOptionIndex&&"previous"===i;if(r)t={activeSelectedOption:n[0],activeSelectedOptionIndex:0,listboxHasFocus:!0};else if(o)t={activeSelectedOption:n[n.length-1],activeSelectedOptionIndex:n.length-1,listboxHasFocus:!0};else{var a=l.getNewActiveOptionIndex({activeOptionIndex:e.activeSelectedOptionIndex,offset:s[i],options:n});t={activeSelectedOption:n[a],activeSelectedOptionIndex:a,listboxHasFocus:!0}}return l.preserveFocus=!0,t})}),nS(eS(l),"handleRequestFocusPillContainer",function(e,t){var n=t.ref;n&&(l.activeSelectedOptionRef=n,l.activeSelectedOptionRef.focus())}),nS(eS(l),"handleRequestRemove",function(e,t){l.props.onRequestRemovePill&&(l.preserveFocus=!0,l.props.onRequestRemovePill(e,{index:t.index,option:t.option}))}),nS(eS(l),"resetActiveSelectedOption",function(){var e=l.props.options,t=l.state.activeSelectedOptionIndex;e[t]||(t=0<e.length&&t>=e.length?e.length-1:0),l.setState({activeSelectedOption:e[t]||void 0,activeSelectedOptionIndex:t,listboxHasFocus:!!e[t]})}),l.state={activeSelectedOption:l.props.options&&l.props.options[0]||void 0,activeSelectedOptionIndex:0,listboxHasFocus:!1},l.activeSelectedOptionRef=null,l.generatedId=m.a.generate(),l.preserveFocus=!1,l}return 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&&tS(e,t)}(t,P.a.Component),function(e,t,n){t&&$x(e.prototype,t),n&&$x(e,n)}(t,[{key:"componentDidUpdate",value:function(){(this.props.options&&0<this.props.options.length&&!this.props.options[this.state.activeSelectedOptionIndex]||this.preserveFocus)&&(this.resetActiveSelectedOption(),this.preserveFocus=!1)}},{key:"render",value:function(){return 0<this.props.options.length?P.a.createElement(Wd,{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}}]),t}();oS.displayName="SLDSPillContainer",oS.defaultProps={assistiveText:{listboxLabel:"Selected Options:",removePill:"Press delete or backspace to remove"},labels:{removePillTitle:"Remove"}},oS.propTypes=rS;var aS=oS;function iS(e){return(iS="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 lS(e,t){return!t||"object"!==iS(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function cS(e){return(cS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function uS(e,t){return(uS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var pS={assistiveText:o.a.shape({progress:o.a.string}),id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),labels:o.a.shape({label:o.a.oneOfType([o.a.string,o.a.node]),complete:o.a.oneOfType([o.a.string,o.a.node])}),radius:o.a.oneOf(["circular"]),color:o.a.oneOf(["success"]),thickness:o.a.oneOf(["x-small","small","medium","large"]),value:o.a.number.isRequired,orientation:o.a.oneOf(["horizontal","vertical"]),style:o.a.object},dS={assistiveText:{progress:"Progress"},labels:{complete:"Complete"},orientation:"horizontal",style:{height:"100%"}},fS=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=lS(this,cS(n).call(this,e))).generatedId=m.a.generate(),t}return 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&&uS(e,t)}(n,P.a.Component),function(e,t,n){t&&sS(e.prototype,t),n&&sS(e,n)}(n,[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getDescription",value:function(e){var t=e.labels;return t.label?P.a.createElement("div",{className:"slds-grid slds-grid_align-spread slds-p-bottom_x-small",id:"progress-bar-label-".concat(this.getId())},P.a.createElement("span",null,t.label),P.a.createElement("span",{"aria-hidden":"true"},P.a.createElement("strong",null,this.props.value,"% ",t.complete))):""}},{key:"render",value:function(){var e=jn()({},dS.labels,this.props.labels),t=jn()({},dS.assistiveText,this.props.assistiveText),n=jn()({},dS.style,this.props.style);return P.a.createElement("div",{id:this.getId(),style:n},"horizontal"===this.props.orientation&&this.getDescription({labels:e}),P.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})},P.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,"%")}},P.a.createElement("span",{className:"slds-assistive-text"},"".concat(t.progress,": "),"".concat(this.props.value,"%")))))}}]),n}();fS.displayName="SLDSProgressBar",fS.propTypes=pS,fS.defaultProps=dS;var mS=fS;function hS(e){return(hS="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 bS(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!t||"object"!==hS(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function gS(e){return(gS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function vS(e,t){return(vS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var _S={assistiveText:o.a.shape({completedStep:o.a.string,disabledStep:o.a.string,percentage:o.a.string,step:o.a.string}),id:o.a.oneOfType([o.a.number,o.a.string]),index:o.a.number,isCompleted:o.a.bool,isDisabled:o.a.bool,isError:o.a.bool,isSelected:o.a.bool,label:o.a.node,onClick:o.a.func,onFocus:o.a.func,step:o.a.object,tooltipIsOpen:o.a.bool,tooltipPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"])},OS=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),yS(this,gS(e).apply(this,arguments))}return 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&&vS(e,t)}(e,P.a.Component),function(e,t,n){t&&bS(e.prototype,t),n&&bS(e,n)}(e,[{key:"buttonIcon",value:function(e,t,n){var r={isSelected:n.isSelected,isError:n.isError,isCompleted:n.isCompleted,isDisabled:n.isDisabled,step:n.step},o=e?P.a.createElement(tt,{category:"utility",name:this.props.isError?"error":"success"}):null;return n.isDisabled?P.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"},o,P.a.createElement("span",{className:"slds-assistive-text"},this.props.step.assistiveText||P.a.createElement(P.a.Fragment,null,"".concat(n.assistiveText.step," ").concat(n.index+1,": "),n.step.label,"- ".concat(t)))):P.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"},o,P.a.createElement("span",{className:"slds-assistive-text"},this.props.step.assistiveText||P.a.createElement(P.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),P.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})},P.a.createElement(fn,n,this.buttonIcon(e,t,this.props)))}}]),e}();OS.propTypes=_S,OS.displayName="SLDSProgressIndicatorStep";var xS=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 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!t||"object"!==SS(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function CS(e){return(CS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function TS(e,t){return(TS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var NS={assistiveText:o.a.shape({percentage:o.a.string}),value:o.a.string.isRequired},kS=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),ES(this,CS(e).apply(this,arguments))}return 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&&TS(e,t)}(e,P.a.Component),function(e,t,n){t&&wS(e.prototype,t),n&&wS(e,n)}(e,[{key:"render",value:function(){return P.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"},P.a.createElement("span",{className:"slds-progress-bar__value",style:"vertical"===this.props.orientation?{height:"".concat(this.props.value,"%")}:{width:"".concat(this.props.value,"%")}},P.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText.percentage||"Progress: ".concat(this.props.value,"%"))))}}]),e}();kS.displayName="ProgressBar",kS.propTypes=NS;var jS=kS;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 IS(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 DS(e,t){return!t||"object"!==PS(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function RS(e){return(RS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function AS(e,t){return(AS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var LS={assistiveText:o.a.shape({percentage:o.a.string}),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string.isRequired,orientation:o.a.oneOf(["horizontal","vertical"]),value:o.a.string.isRequired,variant:o.a.oneOf(["base","modal","setup-assistant"])},BS=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),DS(this,RS(e).apply(this,arguments))}return 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&&AS(e,t)}(e,P.a.Component),function(e,t,n){t&&IS(e.prototype,t),n&&IS(e,n)}(e,[{key:"getId",value:function(){return this.props.id}},{key:"render",value:function(){return P.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)},P.a.createElement("ol",{className:I()("slds-progress__list",{"slds-progress__list-bordered":"setup-assistant"===this.props.variant})},this.props.children),"vertical"!==this.props.orientation&&P.a.createElement(jS,{value:this.props.value,orientation:this.props.orientation,assistiveText:this.props.assistiveText}))}}]),e}();BS.propTypes=LS,BS.displayName="SLDSProgressIndicatorProgress";var FS=BS;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 qS(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 HS(e){return(HS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function KS(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function WS(e,t){return(WS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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={index:o.a.number,isCompleted:o.a.bool,isError:o.a.bool,isSelected:o.a.bool,step:o.a.object,variant:o.a.string},zS=function(){function a(){var e,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];return VS(KS(n=function(e,t){return!t||"object"!==MS(t)&&"function"!=typeof t?KS(e):t}(this,(e=HS(a)).call.apply(e,[this].concat(r)))),"stepIcon",function(e){var t=e?P.a.createElement(en,{category:"utility",size:"x-small",name:n.props.isError?"error":"success"}):null;return P.a.createElement("span",{className:I()("slds-progress__marker",{"slds-progress__marker_icon":e,"slds-progress__marker_icon-success":"setup-assistant"===n.props.variant&&e&&!n.props.isError})},t)}),VS(KS(n),"renderStepContent",function(){return n.props.step.onRenderSetupAssistantAction||n.props.step.setupAssistantEstimatedTime?P.a.createElement("div",{id:"progress-indicator-vertical-label-".concat(n.props.step.id||n.props.index),className:"slds-progress__item_content slds-grid slds-grid_align-spread"},P.a.createElement("div",{className:"slds-size_3-of-4"},n.props.step.label),P.a.createElement("div",{className:"slds-grid slds-grid_align-end slds-size_1-of-4"},P.a.createElement("div",{className:"slds-media__figure slds-media__figure_reverse"},n.props.step.onRenderSetupAssistantAction,n.props.step.setupAssistantEstimatedTime&&P.a.createElement("p",{className:"slds-text-align_right slds-text-color_weak slds-p-top_medium"},n.props.step.setupAssistantEstimatedTime)))):P.a.createElement("div",{id:"progress-indicator-vertical-label-".concat(n.props.step.id||n.props.index),className:"slds-progress__item_content slds-grid slds-grid_align-spread"},n.props.step.label)}),n}return 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&&WS(e,t)}(a,P.a.Component),function(e,t,n){t&&qS(e.prototype,t),n&&qS(e,n)}(a,[{key:"render",value:function(){var e=this.props.isCompleted||this.props.isError;return P.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())}}]),a}();zS.propTypes=US,zS.displayName="SLDSProgressIndicatorStepVertical";var GS=zS;function YS(e){return(YS="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 QS(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function JS(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 XS(e,t){return!t||"object"!==YS(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function $S(e){return($S=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ZS(e,t){return(ZS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ew={assistiveText:o.a.shape({completedStep:o.a.string,disabledStep:o.a.string,percentage:o.a.string,step:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),completedSteps:o.a.array,disabledSteps:o.a.array,errorSteps:o.a.array,id:o.a.string,orientation:o.a.oneOf(["horizontal","vertical"]),onStepClick:o.a.func,onStepFocus:o.a.func,selectedStep:o.a.object.isRequired,steps:o.a.array.isRequired,tooltipIsOpenSteps:o.a.array,variant:o.a.oneOf(["base","modal","setup-assistant"]),tooltipPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"])},tw=[{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"}],nw={assistiveText:{completedStep:"Completed",disabledStep:"Disabled",errorStep:"Error",step:"Step"},errorSteps:[],completedSteps:[],disabledSteps:[],orientation:"horizontal",selectedStep:tw[0],variant:"base",onStepClick:function(){},onStepFocus:function(){}};function rw(t,e){if(!t||!e)return!1;var n=Array.isArray(e)?e:[e];return!!ad()(n,function(e){return e===t||(void 0!==e.id&&void 0!==t.id?e.id===t.id:JSON.stringify(e)===JSON.stringify(t))})}var ow=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=XS(this,$S(n).call(this,e))).generatedId=m.a.generate(),t}return 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&&ZS(e,t)}(n,P.a.Component),function(e,t,n){t&&JS(e.prototype,t),n&&JS(e,n)}(n,[{key:"componentWillUnmount",value:function(){this.isUnmounting=!0}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getSteps",value:function(){return function(e){var t=void 0!==e,n=Array.isArray(e)&&e.every(function(e){return void 0!==e.label});return t&&n}(this.props.steps)?this.props.steps:tw}},{key:"render",value:function(){for(var n=this,r=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){QS(t,e,n[e])})}return t}({},nw.assistiveText,this.props.assistiveText),e=this.props,o=e.selectedStep,a=e.disabledSteps,i=e.errorSteps,s=e.completedSteps,t=this.getSteps(),l=0,c=0;c<t.length;c+=1)void 0===t[c].id&&(t[c].id=c),rw(t[c],this.props.selectedStep)&&(l=c);var u="setup-assistant"===this.props.variant?"vertical":this.props.orientation,p=this.props.tooltipPosition||("modal"===this.props.variant?"absolute":"overflowBoundaryElement"),d="vertical"===u?GS:xS;return P.a.createElement(FS,{assistiveText:r,id:this.getId(),orientation:u,value:0===l?"0":"".concat(l/(t.length-1)*100),variant:this.props.variant,className:this.props.className},t.map(function(e,t){return P.a.createElement(d,{assistiveText:r,key:"".concat(n.getId(),"-").concat(e.id),id:n.getId(),index:t,isSelected:rw(e,o),isDisabled:rw(e,a),isError:rw(e,i),isCompleted:rw(e,s),onClick:n.props.onStepClick,onFocus:n.props.onStepFocus,step:e,tooltipIsOpen:rw(e,n.props.tooltipIsOpenSteps),tooltipPosition:p,variant:n.props.variant})}))}}]),n}();ow.displayName="SLDSProgressIndicator",ow.propTypes=ew,ow.defaultProps=nw;function aw(e){var t={height:"large"===e.size?"2rem":"1.5rem"};return"fill"===e.flowDirection&&(t.transform="scaleX(1) rotate(-90deg)"),P.a.createElement("div",{id:e.id,className:I()("slds-progress-ring",e.className)},P.a.createElement("div",{"aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":100*e.fillPercentDecimal,className:"slds-progress-ring__progress",role:"progressbar",style:t},P.a.createElement("svg",{viewBox:"-1 -1 2 2"},P.a.createElement("path",{className:"slds-progress-ring__path",d:function(e){return function(e,t,n){return"M 1 0 A 1 1 0 ".concat(e," 1 ").concat(t," ").concat(n," L 0 0")}(.5<e?1:0,Math.cos(2*Math.PI*e),Math.sin(2*Math.PI*e))}(e.fillPercentDecimal)}))),P.a.createElement("div",{className:"slds-progress-ring__content"},e.children))}var iw=ow,sw={id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),fillPercentDecimal:o.a.number,flowDirection:o.a.oneOf(["drain","fill"]),size:o.a.oneOf(["medium","large"])};aw.displayName="SLDSProgressRingShape",aw.propTypes=sw,aw.defaultProps={fillPercentDecimal:0};var lw,cw=aw;function uw(e){return(uw="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 pw(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 dw(e,t){return!t||"object"!==uw(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function fw(e){return(fw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function mw(e,t){return(mw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function hw(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var bw=Object.freeze({ACTIVE:"active",WARNING:"warning",EXPIRED:"expired",COMPLETE:"complete"}),yw=(hw(lw={},bw.ACTIVE,"slds-progress-ring_active-step"),hw(lw,bw.WARNING,"slds-progress-ring_warning"),hw(lw,bw.EXPIRED,"slds-progress-ring_expired"),hw(lw,bw.COMPLETE,"slds-progress-ring_complete"),lw),gw={id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),theme:o.a.oneOf(["active","warning","expired","complete"]),icon:o.a.node,hasIcon:o.a.bool,value:o.a.number.isRequired,flowDirection:o.a.oneOf(["drain","fill"]),size:o.a.oneOf(["medium","large"])},vw=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),dw(this,fw(e).apply(this,arguments))}return 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)}(e,P.a.Component),function(e,t,n){t&&pw(e.prototype,t),n&&pw(e,n)}(e,[{key:"icon",value:function(){var e="";return this.props.hasIcon&&(this.props.icon?e=this.props.icon:this.props.theme===bw.WARNING?e=P.a.createElement(en,{category:"utility",name:"warning",title:"Warning"}):this.props.theme===bw.EXPIRED?e=P.a.createElement(en,{category:"utility",name:"error",title:"Expired"}):this.props.theme===bw.COMPLETE&&(e=P.a.createElement(en,{category:"utility",name:"check",title:"Complete"}))),e}},{key:"percentDecimal",value:function(){return this.props.value/100}},{key:"themeClass",value:function(){return yw[this.props.theme]||""}},{key:"render",value:function(){return P.a.createElement(cw,{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())}}]),e}();vw.displayName="SLDSProgressRing",vw.propTypes=gw,vw.defaultProps={flowDirection:"drain",size:"medium"};var _w=vw,Ow=n(55);var xw=function(){};function Sw(e){return(Sw="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 ww(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ew(t,e,n[e])})}return t}function Ew(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Cw(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 Tw(e,t){return!t||"object"!==Sw(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Nw(e){return(Nw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function kw(e,t){return(kw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var jw={assistiveText:o.a.shape({icon:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),icon:o.a.node,theme:o.a.oneOf(["dark","light"])},Pw=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),t=Tw(this,Nw(n).call(this,e)),xw(se,e,Ow),t}return 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&&kw(e,t)}(n,P.a.Component),function(e,t,n){t&&Cw(e.prototype,t),n&&Cw(e,n)}(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=ww({},t,this.props.icon.props.assistiveText)),e=P.a.cloneElement(this.props.icon,ww({},this.props.icon.props,{assistiveText:t}))}else e=P.a.createElement(en,{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 P.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"},P.a.createElement("div",{className:"slds-media__figure"},e),P.a.createElement("div",{className:"slds-media__body"},this.props.children))}}]),n}();Pw.displayName=se,Pw.propTypes=jw,Pw.defaultProps={};var Iw=Pw;var Dw=function(){},Rw=n(17);function Aw(e){return(Aw="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,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bw(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 Fw(e,t){return!t||"object"!==Aw(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Mw(e){return(Mw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qw(e,t){return(qw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Hw={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isCard:o.a.bool,onStepToggleIsOpen:o.a.func,progressBar:o.a.node},Kw=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=Fw(this,Mw(n).call(this,e))).generatedId=m.a.generate(),t}return 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&&qw(e,t)}(n,P.a.Component),function(e,t,n){t&&Bw(e.prototype,t),n&&Bw(e,n)}(n,[{key:"componentDidMount",value:function(){Dw(ae,this.props,Rw)}},{key:"componentDidUpdate",value:function(){Dw(ae,this.props,Rw)}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var n=this,e=P.a.createElement("ol",{id:this.getId(),className:I()("slds-setup-assistant",this.props.className)},P.a.Children.map(this.props.children,function(e,t){return e.type.displayName!==ie?null:P.a.cloneElement(e,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Lw(t,e,n[e])})}return t}({index:t,onToggleIsOpen:n.props.onStepToggleIsOpen,stepNumber:t+1},e.props))}));return this.props.isCard?P.a.createElement("section",{className:"slds-card"},P.a.createElement("header",{className:"slds-theme_shade slds-p-around_medium slds-m-bottom_small"},this.props.progressBar),e):P.a.createElement(P.a.Fragment,null,e)}}]),n}();Kw.displayName=ae,Kw.propTypes=Hw,Kw.defaultProps={isCard:!1};var Ww=Kw;function Vw(e){return(Vw="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(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Jw(t,e,n[e])})}return t}function zw(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 Gw(e){return(Gw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Qw(e,t){return(Qw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Jw(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Xw={assistiveText:o.a.shape({expandStep:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),description:o.a.oneOfType([o.a.string,o.a.node]),estimatedTime:o.a.oneOfType([o.a.string,o.a.node]),heading:o.a.oneOfType([o.a.string,o.a.node]),id:o.a.string,index:o.a.number,isExpandable:o.a.bool,isOpen:o.a.bool,onRenderAction:o.a.func,onRenderContent:o.a.func,onRenderFigure:o.a.func,onToggleIsOpen:o.a.func,progress:o.a.number,stepNumber:o.a.number},$w={assistiveText:{expandStep:"Expand Step"}},Zw=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),Jw(Yw(t=function(e,t){return!t||"object"!==Vw(t)&&"function"!=typeof t?Yw(e):t}(this,Gw(n).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=m.a.generate(),t.state={isOpen:e.isOpen||!1},Dw(ie,t.props,Rw),t}return 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&&Qw(e,t)}(n,P.a.Component),function(e,t,n){t&&zw(e.prototype,t),n&&zw(e,n)}(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 P.a.createElement(P.a.Fragment,null,P.a.createElement("div",{className:"slds-setup-assistant__step-summary-content slds-media__body"},P.a.createElement("h3",{className:"slds-setup-assistant__step-summary-title slds-text-heading_small"},this.props.isExpandable?P.a.createElement(Cn,{"aria-controls":"".concat(this.getId(),"-detail-content"),className:"slds-button_reset",label:this.props.heading,onClick:this.toggleIsOpen,variant:"base"}):this.props.heading),P.a.createElement("p",null,this.props.description)),P.a.createElement("div",{className:"slds-media__figure slds-media__figure_reverse"},this.props.onRenderAction?this.props.onRenderAction():null,this.props.estimatedTime?P.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(0<this.props.progress&&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===Q){var n={position:"relative",top:this.props.isExpandable?"5px":"-3px"};e.props.containerStyle&&(n=Uw({},n,e.props.containerStyle)),e=P.a.cloneElement(e,Uw({},e.props,{containerStyle:n,size:"small"})),e=P.a.createElement("div",{className:"slds-media__figure"},e)}}else void 0!==this.props.progress&&(e=P.a.createElement("div",{className:"slds-media__figure"},P.a.createElement(_w,{hasIcon:!0,icon:100===this.props.progress?null:this.props.stepNumber,flowDirection:"fill",size:"large",theme:t,value:this.props.progress})));return P.a.createElement("div",{className:"slds-setup-assistant__step-summary"},P.a.createElement("div",{className:"slds-media"},e,this.props.isExpandable||void 0!==this.props.progress?P.a.createElement("div",{className:"slds-media__body slds-m-top_x-small"},P.a.createElement("div",{className:"slds-media"},this.renderMediaContent())):this.renderMediaContent()))}},{key:"render",value:function(){var e=jn()({},$w.assistiveText,this.props.assistiveText);return P.a.createElement("li",{className:I()("slds-setup-assistant__item",this.props.className),id:this.getId()},P.a.createElement("article",{className:"slds-setup-assistant__step"},this.props.isExpandable?P.a.createElement("div",{className:I()("slds-summary-detail",{"slds-is-open":this.getIsOpen()})},P.a.createElement(Cn,{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"}),P.a.createElement("div",{className:"slds-container_fluid"},P.a.createElement("div",{className:"slds-summary-detail__title"},this.renderSummary()),P.a.createElement("div",{className:"slds-summary-detail__content",id:"".concat(this.getId(),"-detail-content")},P.a.createElement("div",{className:"slds-setup-assistant__step-detail"},this.props.onRenderContent?this.props.onRenderContent():null)))):this.renderSummary()))}}]),n}();Zw.displayName=ie,Zw.propTypes=Xw,Zw.defaultProps=$w;var eE=Zw;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(){return(nE=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 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){return(oE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function aE(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function iE(e,t){return(iE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sE(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var lE={"aria-describedby":o.a.string,assistiveText:o.a.shape({disabled:o.a.string,label:o.a.string}),classNameContainer:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),defaultValue:o.a.number,disabled:o.a.bool,errorText:o.a.string,id:o.a.string,label:o.a.string,max:o.a.number,min:o.a.number,name:o.a.string,onChange:o.a.func,onInput:o.a.func,size:o.a.oneOf(["x-small","small","medium","large"]),step:o.a.number,value:o.a.number,vertical:o.a.bool},cE={assistiveText:{disabled:"Disabled"},min:0,max:100,step:1},uE=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),sE(aE(t=function(e,t){return!t||"object"!==tE(t)&&"function"!=typeof t?aE(e):t}(this,oE(n).call(this,e))),"handleChange",function(e){Xn()(t.props.onChange)&&t.props.onChange(e,{value:Number(e.target.value)})}),sE(aE(t),"handleInput",function(e){Xn()(t.props.onInput)&&t.props.onInput(e,{value:Number(e.target.value)})}),t.generatedId=m.a.generate(),t.props.errorText&&(t.generatedErrorId=m.a.generate()),t}return 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&&iE(e,t)}(n,P.a.Component),function(e,t,n){t&&rE(e.prototype,t),n&&rE(e,n)}(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=mn(this.props);e["aria-describedby"]=this.getErrorId();var t=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){sE(t,e,n[e])})}return t}({},cE.assistiveText,this.props.assistiveText),n=this.props.label||this.props.assistiveText&&this.props.assistiveText.label;return P.a.createElement("div",{className:I()("slds-form-element",{"slds-has-error":this.props.errorText},this.props.classNameContainer)},P.a.createElement("label",{className:I()("slds-form-element__label",{"slds-assistive-text":this.props.assistiveText&&!this.props.label}),htmlFor:this.getId()},P.a.createElement("span",{className:"slds-slider-label"},n?P.a.createElement("span",{className:"slds-slider-label__label"},n):null,P.a.createElement("span",{className:"slds-slider-label__range"},this.props.min," - ",this.props.max),this.props.disabled?P.a.createElement("span",{className:"slds-assistive-text"}," ",t.disabled):null)),P.a.createElement("div",{className:"slds-form-element__control"},P.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})},P.a.createElement("input",nE({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})),P.a.createElement("span",{className:"slds-slider__value","aria-hidden":"true"},this.props.value||this.props.defaultValue||"0")),this.props.errorText?P.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},this.props.errorText):null))}}]),n}();sE(uE,"displayName","SLDSSlider"),sE(uE,"propTypes",lE),sE(uE,"defaultProps",cE);function pE(e){var t=e.isOpen,n=e.assistiveText,r=e.ariaControls,o=e.events,a=t?n.toggleButtonOpen:n.toggleButtonClose;return P.a.createElement(Cn,{className:I()("slds-button slds-button_icon slds-split-view__toggle-button",{"slds-is-open":t}),"aria-expanded":t,"aria-controls":r,title:a,variant:"base",iconName:"left",iconCategory:"utility",iconSize:"x-small",onClick:o.onClick,assistiveText:{icon:a}})}var dE=uE,fE={assistiveText:o.a.shape({toggleButtonOpen:o.a.string.isRequired,toggleButtonClose:o.a.string.isRequired}),ariaControls:o.a.string.isRequired,isOpen:o.a.bool.isRequired,events:o.a.shape({onClick:o.a.func.isRequired})};pE.displayName="SLDSSplitViewToggleButton",pE.propTypes=fE,pE.defaultProps={};var mE=pE;function hE(e){return(hE="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 yE(e,t){return!t||"object"!==hE(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function gE(e){return(gE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function vE(e,t){return(vE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 OE={assistiveText:o.a.shape({toggleButtonOpen:o.a.string,toggleButtonClose:o.a.string}),id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),isOpen:o.a.bool,events:o.a.shape({onClose:o.a.func,onOpen:o.a.func}),master:o.a.oneOfType([o.a.arrayOf(o.a.element),o.a.element]).isRequired,masterWidth:o.a.string,detail:o.a.oneOfType([o.a.arrayOf(o.a.element),o.a.element]).isRequired},xE=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=yE(this,gE(n).call(this,e))).state={isOpen:"boolean"!=typeof e.isOpen||e.isOpen},t.generatedId=m.a.generate(),t}return 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)}(n,P.a.Component),function(e,t,n){t&&bE(e.prototype,t),n&&bE(e,n)}(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 t=this;return P.a.createElement("div",{id:this.getId(),className:I()("slds-grid",this.props.className),style:{height:"100%"}},P.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()})},P.a.createElement(mE,{assistiveText:this.props.assistiveText,ariaControls:this.getMasterViewId(),isOpen:this.getIsOpen(),events:{onClick:function(e){return t.toggle(e)}}}),P.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)),P.a.createElement("div",{style:{marginLeft:"0.75rem"},className:"slds-grow slds-scrollable_y"},this.props.detail))}}]),n}();_E(xE,"displayName","SLDSSplitView"),_E(xE,"propTypes",OE),_E(xE,"defaultProps",{assistiveText:{toggleButtonOpen:"Close split view",toggleButtonClose:"Open split view"},events:{},masterWidth:"20rem"});var SE=xE;function wE(){return(wE=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 EE(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function CE(e){var t=e.className,n=EE(e,["className"]);return P.a.createElement(vx,wE({className:I()("slds-split-view__header slds-has-bottom-magnet",t)},n))}CE.displayName="SLDSSplitViewHeader",CE.propTypes={},CE.defaultProps={};function TE(e){var t=e.item;return P.a.createElement("div",null,P.a.createElement("div",{className:"slds-grid slds-wrap"},P.a.createElement("span",{className:"slds-truncate slds-text-body_regular slds-text-color_default",title:t.label},t.label),P.a.createElement("span",{className:"slds-truncate slds-col_bump-left",title:t.topRightText},t.topRightText)),P.a.createElement("div",{className:"slds-grid slds-wrap"},P.a.createElement("span",{className:"slds-truncate",title:t.bottomLeftText},t.bottomLeftText),P.a.createElement("span",{className:"slds-truncate slds-col_bump-left",title:t.bottomLeftText},t.bottomRightText)))}var NE=CE,kE={item:o.a.shape({label:o.a.string,topRightText:o.a.string,bottomLeftText:o.a.string,bottomRightText:o.a.string})};TE.displayName="SLDSSplitViewListItemContent",TE.propTypes=kE,TE.defaultProps={};var jE=TE;function PE(e){return(PE="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){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!t||"object"!==PE(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function RE(e){return(RE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function AE(e,t){return(AE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function LE(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var BE={assistiveText:o.a.shape({unreadItem:o.a.string}),item:o.a.object.isRequired,multiple:o.a.bool,isFocused:o.a.bool.isRequired,isSelected:o.a.bool.isRequired,isUnread:o.a.bool,events:o.a.shape({onClick:o.a.func.isRequired}),listItemRef:o.a.func},FE={assistiveText:{unreadItem:"Unread Item"},events:{}},ME=function(n){var e=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),DE(this,RE(e).apply(this,arguments))}return 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)}(e,P.a.Component),function(e,t,n){t&&IE(e.prototype,t),n&&IE(e,n)}(e,[{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?P.a.createElement("abbr",{className:"slds-indicator_unread",title:this.props.assistiveText.unreadItem,"aria-label":this.props.assistiveText.unreadItem},P.a.createElement("span",{className:"slds-assistive-text"},"●")):null}},{key:"render",value:function(){var t=this;return P.a.createElement("li",{className:I()("slds-split-view__list-item",{"slds-is-unread":this.props.isUnread}),role:"presentation"},P.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(),P.a.createElement(n,this.props)))}}]),e}();return LE(e,"displayName","".concat("SLDSSplitViewListItemWithContent","(").concat(n.displayName||n.name||"Component",")")),LE(e,"propTypes",BE),LE(e,"defaultProps",FE),e};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 HE(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){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(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function KE(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function WE(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!t||"object"!==qE(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function UE(e){return(UE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function zE(e,t){return(zE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function GE(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var YE=Object.freeze({UP:"up",DOWN:"down"}),QE={assistiveText:o.a.shape({list:o.a.string,sort:o.a.shape({sortedBy:o.a.string,descending:o.a.string,ascending:o.a.string}),unreadItem:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onSelect:o.a.func.isRequired,onSort:o.a.func}),id:o.a.string,labels:o.a.shape({header:o.a.string}),sortDirection:o.a.oneOf([YE.UP,YE.DOWN]),multiple:o.a.bool,options:o.a.array.isRequired,selection:o.a.array,unread:o.a.array,listItem:o.a.func},JE=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=VE(this,UE(n).call(this,e))).listItemComponents={},t.state={currentSelectedItem:null,currentFocusedListItem:{index:0,item:null}},t.ListItemWithContent=ME(e.listItem||jE),t}return 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&&zE(e,t)}(n,P.a.Component),function(e,t,n){t&&WE(e.prototype,t),n&&WE(e,n)}(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?(gt.trap(e),this.props.options===this.props.selection?this.deselectAllListItems(e):this.selectAllListItems(e)):"ArrowUp"===e.key?(gt.trap(e),this.moveToPreviousItem(e)):"ArrowDown"===e.key&&(gt.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 t=this,e=this.props.options.find(function(e){return t.props.selection.includes(e)})||this.props.options[0];e&&this.focusItem(e,!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(t,e){var n=[t];if(this.props.multiple)if(e.metaKey)n=this.props.selection.includes(t)?this.props.selection.filter(function(e){return e!==t}):[t].concat(KE(this.props.selection));else if(e.shiftKey){var r=HE([this.props.options.indexOf(this.state.currentSelectedItem),this.props.options.indexOf(t)].sort(),2),o=r[0],a=r[1],i=this.props.options.slice(o,a+1);n=[].concat(KE(i),KE(this.props.selection.filter(function(e){return!i.includes(e)})))}this.setState({currentSelectedItem:t}),this.props.events.onSelect(e,{selectedItems:n,item:t})}},{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?P.a.createElement(en,{category:"utility",name:this.props.sortDirection===YE.DOWN?"arrowdown":"arrowup",size:"xx-small",className:"slds-align-top"}):null}},{key:"headerWrapper",value:function(e){return this.props.events.onSort?P.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):P.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(P.a.createElement("span",{"aria-sort":this.props.sortDirection===YE.DOWN?this.props.assistiveText.sort.descending:this.props.assistiveText.sort.ascending},P.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText.sort.sortedBy,": "),P.a.createElement("span",null,this.props.labels.header,this.sortDirection()),P.a.createElement("span",{className:"slds-assistive-text"},"- ",this.props.sortDirection===YE.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 n=this,r=this.ListItemWithContent;return this.props.options.map(function(e,t){return P.a.createElement(r,{key:e.id||t,assistiveText:{unreadItem:n.props.assistiveText.unreadItem},listItemRef:function(e){n.addListItemComponent(e,t)},item:e,isFocused:n.isListItemFocused(e),isSelected:n.isSelected(e),isUnread:n.isUnread(e),events:{onClick:function(e,t){return n.handleOnSelect(e,t)}},multiple:n.props.multiple})})}},{key:"render",value:function(){var t=this;return P.a.createElement("div",{id:this.props.id,className:I()("slds-grid slds-grid_vertical slds-scrollable_none",this.props.className)},this.header(),P.a.createElement("ul",{className:"slds-scrollable_y","aria-label":this.props.assistiveText.list,"aria-multiselectable":this.props.multiple,role:"listbox",onKeyDown:function(e){return t.handleKeyDown(e)}},this.listItems()))}}]),n}();GE(JE,"displayName","SLDSSplitViewListbox"),GE(JE,"propTypes",QE),GE(JE,"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 XE=JE;var $E=function(){},ZE=n(56);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){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 rC(e){return(rC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function oC(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function aC(e,t){return(aC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),iC(oC(t=function(e,t){return!t||"object"!==eC(t)&&"function"!=typeof t?oC(e):t}(this,rC(n).call(this,e))),"getId",function(){return t.props.id||t.generatedId}),iC(oC(t),"getErrorId",function(){return t.props["aria-describedby"]||t.generatedErrorId}),$E(L,e,ZE),t.generatedId=m.a.generate(),e.errorText&&(t.generatedErrorId=m.a.generate()),t}return 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&&aC(e,t)}(n,P.a.Component),function(e,t,n){t&&nC(e.prototype,t),n&&nC(e,n)}(n,[{key:"render",value:function(){var e=this.props,t=e.autoFocus,n=e.children,r=e.className,o=e.classNameContainer,a=e.disabled,i=e.errorText,s=e.textareaRef,l=e.label,c=e.onBlur,u=e.onChange,p=e.onClick,d=e.onFocus,f=e.onInput,m=e.onInvalid,h=e.onKeyDown,b=e.onKeyPress,y=e.onKeyUp,g=e.onSelect,v=e.onSubmit,_=e.maxLength,O=e.name,x=e.placeholder,S=e.required,w=e.role,E=e.value,C=e.defaultValue,T=e.wrap,N=mn(this.props),k="string"==typeof this.props.assistiveText?this.props.assistiveText:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){iC(t,e,n[e])})}return t}({},this.props.assistiveText).label,j=l||k;return P.a.createElement("div",{className:I()("slds-form-element",{"slds-has-error":i},o)},j&&P.a.createElement("label",{className:I()("slds-form-element__label",{"slds-assistive-text":k&&!l}),htmlFor:this.getId()},S&&P.a.createElement("abbr",{className:"slds-required",title:"required"},"*"),j),P.a.createElement("div",{className:I()("slds-form-element__control")},P.a.createElement("textarea",tC({className:I()("slds-textarea",r),autoFocus:t,disabled:a,id:this.getId(),maxLength:_,name:O,onBlur:c,onChange:u,onClick:p,onFocus:d,onInput:f,onInvalid:m,onKeyDown:h,onKeyPress:b,onKeyUp:y,onSelect:g,onSubmit:v,placeholder:x,ref:s,role:w,required:S,wrap:T,value:E,defaultValue:C},N))),i&&P.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},i),n)}}]),n}();iC(sC,"displayName",L),iC(sC,"propTypes",{assistiveText:o.a.shape({label:o.a.string}),"aria-activedescendant":o.a.string,"aria-autocomplete":o.a.string,"aria-controls":o.a.string,"aria-describedby":o.a.string,"aria-expanded":o.a.bool,"aria-haspopup":o.a.bool,"aria-labelledby":o.a.string,"aria-owns":o.a.string,"aria-required":o.a.bool,autoFocus:o.a.bool,children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameContainer:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),disabled:o.a.bool,errorText:o.a.string,id:o.a.string,textareaRef:o.a.func,label:o.a.string,onBlur:o.a.func,onChange:o.a.func,onClick:o.a.func,onFocus:o.a.func,onInput:o.a.func,onInvalid:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,onSelect:o.a.func,onSubmit:o.a.func,maxLength:o.a.string,name:o.a.string,placeholder:o.a.string,required:o.a.bool,value:o.a.string,defaultValue:o.a.string,wrap:o.a.oneOf(["soft","hard"])});var lC=sC,cC=n(57),uC=n.n(cC);var pC=function(){};function dC(e){return(dC="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 fC(){return(fC=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 mC(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function hC(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 bC(e){return(bC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function yC(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function gC(e,t){return(gC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function vC(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var _C=function(){function a(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return vC(yC(t=function(e,t){return!t||"object"!==dC(t)&&"function"!=typeof t?yC(e):t}(this,(e=bC(a)).call.apply(e,[this].concat(r)))),"handleKeyDown",function(e){t.props.onKeyDown&&e.keyCode&&(e.keyCode!==_t.ENTER&&e.keyCode!==_t.DOWN&&e.keyCode!==_t.UP&&e.keyCode!==_t.ESCAPE||t.props.onKeyDown(e))}),t}return 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&&gC(e,t)}(a,P.a.Component),function(e,t,n){t&&hC(e.prototype,t),n&&hC(e,n)}(a,[{key:"render",value:function(){var e=this.props,t=e.iconRight,n=e.menu,r=e.onBlur,o=e.onFocus,a=(e.onKeyDown,e.onMouseDown),i=e.triggerRef,s=mC(e,["iconRight","menu","onBlur","onFocus","onKeyDown","onMouseDown","triggerRef"]);return P.a.createElement("div",{onBlur:r,onFocus:o,onKeyDown:this.handleKeyDown,onMouseDown:a},P.a.createElement(Ll,fC({iconRight:t},s,{inputRef:i}),n))}}]),a}();vC(_C,"displayName",$),vC(_C,"propTypes",{iconRight:o.a.node,id:o.a.string,label:o.a.string,menu:o.a.node,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onMouseDown:o.a.func,triggerRef:o.a.func,value:o.a.string});var OC=_C,xC=n(58);function SC(e){return(SC="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){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 EC(e){return(EC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function CC(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function TC(e,t){return(TC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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}var kC=function(){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),NC(CC(r=function(e,t){return!t||"object"!==SC(t)&&"function"!=typeof t?CC(e):t}(this,EC(t).call(this,e))),"state",{value:r.props.value,strValue:r.props.strValue,options: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}({props:r.props})}),NC(CC(r),"parseDate",function(e){var t=r.props.parser(e);return uC()(t)&&!isNaN(t.getTime())?t:new Date}),NC(CC(r),"handleChange",function(e,t){r.setState({value:e,strValue:t}),r.props.onDateChange&&r.props.onDateChange(e,t)}),NC(CC(r),"handleSelect",function(e){e&&e.value&&r.handleChange(e.value,e.label)}),NC(CC(r),"handleInputChange",function(e){var t=e.target.value;if(r.setState({strValue:t}),r.props.onDateChange){var n=r.props.parser(t);r.props.onDateChange(n,t)}}),pC(ce,e,xC),r}return 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&&TC(e,t)}(t,P.a.Component),function(e,t,n){t&&wC(e.prototype,t),n&&wC(e,n)}(t,[{key:"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 P.a.createElement(gi,{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},P.a.createElement(OC,{iconRight:P.a.createElement(Js,{category:"utility",name:"clock"}),onChange:this.handleInputChange,placeholder:this.props.placeholder,required:this.props.required,type:"text",value:this.state.strValue}))}}]),t}();NC(kC,"displayName",ce),NC(kC,"propTypes",{constrainToScrollParent:o.a.bool,disabled:o.a.bool,formatter:o.a.func,inheritTargetWidth:o.a.bool,label:o.a.string,listItemRenderer:o.a.func,menuPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),onDateChange:o.a.func,parser:o.a.func,placeholder:o.a.string,required:o.a.bool,stepInMinutes:o.a.number,strValue:o.a.string,value:o.a.instanceOf(Date)}),NC(kC,"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 jC=kC;var PC=function(){},IC=n(59);function DC(e){return(DC="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){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 AC(e){return(AC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function LC(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function BC(e,t){return(BC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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:o.a.shape({closeButton:o.a.oneOfType([o.a.string,o.a.node])}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),duration:o.a.number,labels:o.a.shape({details:o.a.oneOfType([o.a.string,o.a.node]),heading:o.a.oneOfType([o.a.string,o.a.node]),headingLink:o.a.oneOfType([o.a.string,o.a.node])}),onClickHeadingLink:o.a.func,icon:o.a.node,onRequestClose:o.a.func,style:o.a.object,variant:o.a.oneOf(["error","info","success","warning"]).isRequired},qC={assistiveText:{closeButton:"Close",error:"error",info:"info",success:"success",warning:"warning"},variant:"info"},HC=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),FC(LC(t=function(e,t){return!t||"object"!==DC(t)&&"function"!=typeof t?LC(e):t}(this,AC(n).call(this,e))),"onClose",function(){t.clearTimeout(),t.props.onRequestClose&&t.props.onRequestClose()}),FC(LC(t),"clearTimeout",function(){t.timeout&&(clearTimeout(t.timeout),t.timeout=null)}),FC(LC(t),"saveToastRef",function(e){t.toast=e,t.state.isInitialRender&&(Tt.storeActiveElement(),t.toast&&t.toast.focus(),t.setState({isInitialRender:!1}))}),t.state={isInitialRender:!0},t.timeout=null,t.toast=null,PC("SLDSToast",e,IC),t}return 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&&BC(e,t)}(n,P.a.Component),function(e,t,n){t&&RC(e.prototype,t),n&&RC(e,n)}(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(),Tt.returnFocusToStoredElement()}},{key:"render",value:function(){var e=jn()({},qC.assistiveText,this.props.assistiveText),t=jn()({},qC.labels,this.props.labels),n=t.heading||this.props.content,r={info:e.info,success:e.success,warning:e.warning,error:e.error},o={info:P.a.createElement(en,{category:"utility",name:"info"}),success:P.a.createElement(en,{category:"utility",name:"success"}),warning:P.a.createElement(en,{category:"utility",name:"warning"}),error:P.a.createElement(en,{category:"utility",name:"error"})},a=this.props.icon?this.props.icon:o[this.props.variant],i=P.a.cloneElement(a,{containerClassName:"slds-m-right_small slds-no-flex slds-align-top",inverse:!0,size:"small"});return P.a.createElement("div",{className:Gt("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},P.a.createElement("span",{className:"slds-assistive-text"},r[this.props.variant]),i,P.a.createElement("div",{className:"slds-notify__content"},P.a.createElement("h2",{className:"slds-text-heading_small"},n," ",t.headingLink?P.a.createElement("a",{onClick:this.props.onClickHeadingLink,href:"javascript:void(0);"},t.headingLink):null),t.details?P.a.createElement("p",null,t.details):null),P.a.createElement(Cn,{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"}))}}]),n}();HC.defaultProps=qC,HC.displayName="SLDSToast",HC.propTypes=MC;var KC=HC;function WC(e){return(WC="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 VC(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 UC(e,t){return!t||"object"!==WC(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function zC(e){return(zC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function GC(e,t){return(GC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var YC={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),children:o.a.node},QC=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),UC(this,zC(e).apply(this,arguments))}return 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&&GC(e,t)}(e,P.a.Component),function(e,t,n){t&&VC(e.prototype,t),n&&VC(e,n)}(e,[{key:"render",value:function(){return P.a.createElement("div",{className:Gt("slds-notify-container",this.props.className)},this.props.children)}}]),e}();QC.displayName="SLDSToastContainer",QC.propTypes=YC;var JC=QC;function XC(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $C(e){var t=e.event,n=e.props,r=e.fromFocus;gt.trap(t),Xn()(n.onSelect)&&n.onSelect({event:t,data:{node:n.node,select:!n.node.selected,treeIndex:n.treeIndex},fromFocus:r})}function ZC(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=function(e,t){var n=e.map(function(e){return e.node});return e[(Fu()(n,{id:t.id})+1)%e.length]}(t.flattenedNodes,t.node);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}}function eT(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=function(e,t){var n=e.map(function(e){return e.node}),r=Fu()(n,{id:t.id})-1;return r<0&&(r+=e.length),e[r]}(t.flattenedNodes,t.node);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}}function tT(e,t){var n;_d(e,{callbacks:(n={},XC(n,_t.DOWN,{callback:function(e){return ZC(e,t)}}),XC(n,_t.UP,{callback:function(e){return eT(e,t)}}),XC(n,_t.LEFT,{callback:function(e){return function(e,t){var n=t.flattenedNodes.map(function(e){return e.node}),r=Fu()(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)}}),XC(n,_t.ENTER,{callback:function(e){return function(e,t){$C({event:e,props:t})}(e,t)}}),n)})}function nT(t){var e=t.node.selected,n=t.treeIndex===t.focusedNodeIndex;return P.a.createElement("li",{id:"".concat(t.treeId,"-").concat(t.node.id),role:"treeitem","aria-level":t.level,"aria-selected":e?"true":"false",tabIndex:function(e){var t=0===e.selectedNodeIndexes.length&&e.treeIndex===e.flattenedNodes[0].treeIndex;return e.treeIndex===e.focusedNodeIndex||t?0:-1}(t),onKeyDown:function(e){return tT(e,t)},onFocus:function(e){return function(e,t){t.treeHasFocus||t.focusedNodeIndex||e.target!==e.currentTarget||$C({event:e,props:t})}(e,t)},onBlur:t.onNodeBlur,ref:function(e){t.treeHasFocus&&e&&n&&e.focus()}},P.a.createElement("div",{className:I()("slds-tree__item",{"slds-is-selected":e}),onClick:function(e){$C({event:e,props:t})}},P.a.createElement(Cn,{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}),P.a.createElement("span",{className:"slds-size_1-of-1"},P.a.createElement(Zr,{search:t.searchTerm,className:"slds-tree__item-label slds-truncate"},t.label))))}nT.displayName="SLDSTreeItem",nT.propTypes={htmlId:o.a.string.isRequired,label:o.a.oneOfType([o.a.node,o.a.string]).isRequired,level:o.a.number.isRequired,node:o.a.object.isRequired,onExpand:o.a.func.isRequired,onSelect:o.a.func,searchTerm:o.a.string,treeId:o.a.string,treeIndex:o.a.string,flattenedNodes:o.a.arrayOf(o.a.object),selectedNodeIndexes:o.a.arrayOf(o.a.string),focusedNodeIndex:o.a.string,onNodeBlur:o.a.func,treeHasFocus:o.a.bool,parent:o.a.object},nT.defaultProps={selected:!1,selectedNodeIndexes:[]};function rT(e,t){return P.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;Xn()(t.onScroll)&&t.onScroll(e,{percentage:n})}(e,t)},role:"tree",style:t.initialStyle},e)}var oT=nT,aT={htmlId:o.a.oneOfType([o.a.number,o.a.string]).isRequired,initalClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),initialStyle:o.a.object};rT.displayName="TreeInitialNode",rT.propTypes=aT;var iT=rT;function sT(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lT(e,t){gt.trap(e),Xn()(t.onExpand)&&t.onExpand({event:e,data:{node:t.node,expand:!t.node.expanded,treeIndex:t.treeIndex}})}function cT(e){var t=e.event,n=e.props,r=e.fromFocus;gt.trap(t),Xn()(n.onSelect)&&n.onSelect({event:t,data:{node:n.node,select:!n.node.selected,treeIndex:n.treeIndex},fromFocus:r})}function uT(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=function(e,t){var n=e.map(function(e){return e.node});return e[(Fu()(n,{id:t.id})+1)%e.length]}(t.flattenedNodes,t.node);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}}function pT(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=function(e,t){var n=e.map(function(e){return e.node}),r=Fu()(n,{id:t.id})-1;return r<0&&(r+=e.length),e[r]}(t.flattenedNodes,t.node);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}}function dT(e,t){var n;_d(e,{callbacks:(n={},sT(n,_t.DOWN,{callback:function(e){return uT(e,t)}}),sT(n,_t.UP,{callback:function(e){return pT(e,t)}}),sT(n,_t.RIGHT,{callback:function(e){return function(e,t){t.node.expanded?t.getNodes(t.node)&&0<t.getNodes(t.node).length&&uT(e,t):lT(e,t)}(e,t)}}),sT(n,_t.LEFT,{callback:function(e){return function(e,t){if(t.node.expanded)lT(e,t);else{var n=t.flattenedNodes.map(function(e){return e.node}),r=Fu()(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)}}),sT(n,_t.ENTER,{callback:function(e){return function(e,t){cT({event:e,props:t})}(e,t)}}),n)})}function fT(e,t){var n=t.node.expanded,r=t.node.selected,o=t.treeIndex===t.focusedNodeIndex,a=t.node.loading,i=P.a.createElement("div",{style:{display:"block",paddingLeft:"".concat(1.5*t.level+1.5,"rem"),marginTop:".5rem"}},P.a.createElement("div",{style:{borderRadius:"15rem",display:"block",marginBottom:".75rem",height:".5rem",backgroundColor:"rgb(224, 229, 238)",width:"40%"}}),P.a.createElement("div",{style:{borderRadius:"15rem",display:"block",marginBottom:".75rem",height:".5rem",backgroundColor:"rgb(224, 229, 238)",width:"80%"}}),P.a.createElement("div",{style:{borderRadius:"15rem",display:"block",marginBottom:".75rem",height:".5rem",backgroundColor:"rgb(224, 229, 238)",width:"60%"}})),s=t.node.assistiveText||("string"==typeof t.node.label?t.node.label:null);return P.a.createElement("li",{id:t.htmlId,role:"treeitem","aria-level":t.level,"aria-expanded":n?"true":"false","aria-label":t.node.nodes&&0<t.node.nodes.length?s:null,tabIndex:function(e){var t=0===e.selectedNodeIndexes.length&&e.treeIndex===e.flattenedNodes[0].treeIndex;return e.treeIndex===e.focusedNodeIndex||t?0:-1}(t),onKeyDown:function(e){return dT(e,t)},onFocus:function(e){return function(e,t){t.treeHasFocus||t.focusedNodeIndex||e.target!==e.currentTarget||cT({event:e,props:t,fromFocus:!0})}(e,t)},onBlur:t.onNodeBlur,ref:function(e){t.treeHasFocus&&e&&o&&e.focus()}},P.a.createElement("div",{className:I()("slds-tree__item",{"slds-is-selected":r}),onClick:function(e){cT({event:e,props:t})}},P.a.createElement(Cn,{"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){lT(e,t)},tabIndex:"-1"}),P.a.createElement("span",{className:"slds-size_1-of-1",id:"".concat(t.htmlId,"__label")},P.a.createElement(Zr,{search:t.searchTerm,className:"slds-tree__item-label slds-truncate"},t.label))),a?i:null,P.a.createElement("ul",{className:I()({"slds-is-expanded":n,"slds-is-collapsed":!n}),role:"group","aria-labelledby":"".concat(t.htmlId,"__label")},n&&!a?e:null))}var mT={htmlId:o.a.oneOfType([o.a.number,o.a.string]).isRequired,label:o.a.oneOfType([o.a.node,o.a.string]),level:o.a.number.isRequired,node:o.a.object.isRequired,onExpand:o.a.func.isRequired,onSelect:o.a.func,searchTerm:o.a.string,treeIndex:o.a.string,flattenedNodes:o.a.arrayOf(o.a.object),selectedNodeIndexes:o.a.arrayOf(o.a.string),focusedNodeIndex:o.a.string,onNodeBlur:o.a.func,treeHasFocus:o.a.bool,parent:o.a.object};fT.displayName="Branch",fT.propTypes=mT;function hT(r){var e,o="",a=r.treeId,i=r.level,s=r.onExpand,l=r.searchTerm;return Array.isArray(r.getNodes(r.node))&&(e=r.getNodes(r.node).map(function(e,t){var n="".concat(r.treeId,"-").concat(e.id);return o="".concat(t),r.treeIndex&&(o="".concat(r.treeIndex,"-").concat(o)),"branch"===e.type?P.a.createElement(hT,{getNodes:r.getNodes,htmlId:n,key:e.id,label:e.label,level:i+1,node:e,flattenedNodes:r.flattenedNodes,selectedNodeIndexes:r.selectedNodeIndexes,focusedNodeIndex:r.focusedNodeIndex,treeHasFocus:r.treeHasFocus,onNodeBlur:r.onNodeBlur,nodes:e.nodes,onSelect:r.onSelect,onExpand:s,searchTerm:l,treeId:a,treeIndex:o,parent:r.node}):P.a.createElement(oT,{label:e.label,htmlId:n,key:m.a.generate(),level:i+1,node:e,flattenedNodes:r.flattenedNodes,selectedNodeIndexes:r.selectedNodeIndexes,focusedNodeIndex:r.focusedNodeIndex,treeHasFocus:r.treeHasFocus,onNodeBlur:r.onNodeBlur,onSelect:r.onSelect,onExpand:s,searchTerm:l,treeIndex:o,treeId:a,parent:r.node})})),0===r.level?iT(e,r):bT(e,r)}var bT=fT;hT.displayName="SLDSTreeBranch",hT.propTypes={getNodes:o.a.func,htmlId:o.a.oneOfType([o.a.number,o.a.string]).isRequired,index:o.a.number,initial:o.a.bool,initalClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),initialStyle:o.a.object,label:o.a.oneOfType([o.a.node,o.a.string]),level:o.a.number.isRequired,node:o.a.object.isRequired,onSelect:o.a.func,onExpand:o.a.func.isRequired,searchTerm:o.a.string,treeId:o.a.string,treeIndex:o.a.string,flattenedNodes:o.a.arrayOf(o.a.object),selectedNodeIndexes:o.a.arrayOf(o.a.string),focusedNodeIndex:o.a.string,onNodeBlur:o.a.func,treeHasFocus:o.a.bool,parent:o.a.object},hT.defaultProps={level:0,label:"",treeIndex:"",selectedNodeIndexes:[]};var yT=hT;var gT=function(){},vT=n(60);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 xT(e){return(xT=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ST(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function wT(e,t){return(wT=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ET(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var CT={assistiveText:o.a.shape({label:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),listClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),getNodes:o.a.func,heading:o.a.oneOfType([o.a.node,o.a.string]),id:o.a.string.isRequired,nodes:o.a.arrayOf(o.a.oneOfType([o.a.number,o.a.string,o.a.shape({id:o.a.oneOfType([o.a.number,o.a.string]).isRequired,label:o.a.oneOfType([o.a.node,o.a.string]).isRequired,type:o.a.string.isRequired})])).isRequired,onClick:o.a.func.isRequired,onExpandClick:o.a.func.isRequired,onScroll:o.a.func,searchTerm:o.a.string,listStyle:o.a.object},TT={assistiveText:{},getNodes:function(e){return e.nodes}},NT=function(){function a(e){var i;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),ET(ST(i=function(e,t){return!t||"object"!==_T(t)&&"function"!=typeof t?ST(e):t}(this,xT(a).call(this,e))),"flattenTree",function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",n=!(2<arguments.length&&void 0!==arguments[2])||arguments[2];if(!e.nodes)return[{node:e,treeIndex:t}];var r=[{node:e,treeIndex:t}];if(e.expanded)for(var o=0;o<e.nodes.length;o+=1){var a=n?e.nodes[o]:i.props.getNodes(e)[o];r=r.concat(i.flattenTree(a,t?"".concat(t,"-").concat(o):"".concat(o),!1))}return r}),ET(ST(i),"handleSelect",function(e){var t,n=e.event,r=e.data,o=e.clearSelectedNodes,a=e.fromFocus;o&&i.state.flattenedNodes.forEach(function(e){e.node.selected&&(e.node.selected=!1)}),a||i.props.onClick(n,r),t=r.select?i.state.selectedNodeIndexes.concat([r.treeIndex]):i.state.selectedNodeIndexes.filter(function(e){return e!==r.treeIndex}),i.treeHasFocus=!0,i.setState({focusedNodeIndex:r.treeIndex,selectedNodeIndexes:t})}),ET(ST(i),"handleNodeBlur",function(){i.treeHasFocus=!1}),ET(ST(i),"handleExpand",function(e){var t=e.event,n=e.data;i.treeHasFocus=!0,i.props.onExpandClick(t,n),n.select&&i.setState({focusedNodeIndex:n.treeIndex})});var t,n=i.flattenTree({nodes:i.props.getNodes({nodes:i.props.nodes}),expanded:!0}).slice(1),r=ad()(n,function(e){return e.node.selected}),o=[];return r&&(o.push(r.treeIndex),t=r.treeIndex),i.state={flattenedNodes:n,selectedNodeIndexes:o,focusedNodeIndex:t},gT("SLDSTree",e,vT),i}return 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&&wT(e,t)}(a,P.a.Component),function(e,t,n){t&&OT(e.prototype,t),n&&OT(e,n)}(a,[{key:"componentWillReceiveProps",value:function(e){this.setState({flattenedNodes:this.flattenTree({nodes:this.props.getNodes({nodes:e.nodes}),expanded:!0}).slice(1)})}},{key:"render",value:function(){var e="string"==typeof this.props.assistiveText?this.props.assistiveText:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){ET(t,e,n[e])})}return t}({},TT.assistiveText,this.props.assistiveText).label,t=e||this.props.heading;return P.a.createElement("div",{id:this.props.id,className:I()("slds-tree_container",this.props.className)},P.a.createElement("h4",{className:I()("slds-tree__group-header",{"slds-assistive-text":e}),id:"".concat(this.props.id,"__heading")},t),P.a.createElement(yT,{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}))}}]),a}();NT.displayName="SLDSTree",NT.propTypes=CT,NT.defaultProps=TT;function kT(e){var t=jn()({},IT.labels,e.labels);return P.a.createElement("div",{className:I()("slds-trial-header slds-grid",e.className),style:e.style},P.a.createElement("div",{className:"slds-grid"},e.children),P.a.createElement("div",{className:"slds-grid slds-grid_vertical-align-center slds-col_bump-left"},P.a.createElement("span",{className:"slds-box slds-box_xx-small slds-theme_default"},t.timeLeft),P.a.createElement("span",{className:"slds-m-horizontal_x-small"},t.timeLeftUnit," ".concat(t.timeLeftUnitAfter)),e.onRenderActions()))}var jT=NT,PT={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),labels:o.a.shape({timeLeft:o.a.string,timeLeftUnit:o.a.string,timeLeftUnitAfter:o.a.string}),onRenderActions:o.a.func,style:o.a.object},IT={labels:{timeLeftUnitAfter:"left in trial"}};kT.displayName="SLDSTrialBar",kT.propTypes=PT,kT.defaultProps=IT;var DT=kT;function RT(){return(RT=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 AT(e){return P.a.createElement(Cn,RT({},e,{inverse:!0,style:{border:0,padding:0},className:"slds-m-right_small"}))}var LT=Cn.propTypes;AT.propTypes=LT,AT.displayName="SLDSTrialBarButton";var BT=AT;function FT(){return(FT=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 MT(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],0<=t.indexOf(n)||(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],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function qT(e){var t=e.label,n=MT(e,["label"]);return P.a.createElement(gi,FT({},n,{inverse:!0}),P.a.createElement(Ga,{triggerClassName:"slds-grid"},P.a.createElement(Cn,{inverse:!0,style:{border:0,height:"100%",padding:0},iconCategory:"utility",iconName:"right",iconPosition:"left",label:t})))}var HT=yi.propTypes;qT.propTypes=HT,qT.displayName="SLDSTrialBarDropdown";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 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 UT(e,t){return!t||"object"!==WT(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function zT(e){return(zT=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function GT(e,t){return(GT=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var YT={id:o.a.string,children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),label:o.a.string,coverable:o.a.bool,vertical:o.a.bool,links:o.a.bool,size:o.a.oneOf(["medium","large"])},QT=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),UT(this,zT(e).apply(this,arguments))}return 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)}(e,P.a.Component),function(e,t,n){t&&VT(e.prototype,t),n&&VT(e,n)}(e,[{key:"componentWillMount",value:function(){this.generatedId=m.a.generate()}},{key:"render",value:function(){var n=this,e=P.a.Children.map(this.props.children,function(e,t){return P.a.cloneElement(e,{index:"".concat(n.props.id||n.generatedId,"-").concat(t),coverable:n.props.coverable,variant:"visual-picker",name:"".concat(n.props.id||n.generatedId,"_options"),size:n.props.size,vertical:!!n.props.vertical})});return this.props.links?P.a.createElement("div",{className:"slds-form-element__control"},this.props.children):P.a.createElement("fieldset",{id:this.props.id,className:I()("slds-form-element",this.props.className)},P.a.createElement("legend",{className:"slds-form-element__legend slds-form-element__label"},this.props.label),P.a.createElement("div",{className:"slds-form-element__control"},e))}}]),e}();QT.displayName="SLDSVisualPicker",QT.propTypes=YT,QT.defaultProps={size:"medium",vertical:!1,links:!1};var JT=QT;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 $T(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!t||"object"!==XT(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function eN(e){return(eN=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function tN(e,t){return(tN=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var nN={id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),href:o.a.string,icon:o.a.node,title:o.a.string,description:o.a.string},rN=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),ZT(this,eN(e).apply(this,arguments))}return 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&&tN(e,t)}(e,P.a.Component),function(e,t,n){t&&$T(e.prototype,t),n&&$T(e,n)}(e,[{key:"render",value:function(){return P.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)},P.a.createElement("div",{className:"slds-media__figure slds-media__figure_fixed-width slds-align_absolute-center slds-m-left_xx-small"},this.props.icon),P.a.createElement("div",{className:"slds-media__body slds-border_left slds-p-around_small"},P.a.createElement("h2",{className:"slds-truncate slds-text-heading_small",title:this.props.title},this.props.title),P.a.createElement("p",{className:"slds-m-top_small"},this.props.description)))}}]),e}();rN.displayName="SLDSVisualPickerLink",rN.propTypes=nN;var oN=rN;function aN(e){return(aN="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 iN(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!t||"object"!==aN(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function lN(e){return(lN=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function cN(e,t){return(cN=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var uN={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isOpen:o.a.bool,labels:o.a.shape({title:o.a.string,description:o.a.string,unitsCompletedAfter:o.a.string}),variant:o.a.oneOf(["steps","info-only","splash","trailhead-connected"]),onRenderInfoActions:o.a.func,onRequestClose:o.a.func,infoBadge:o.a.node,doNotShowAgainCheckbox:o.a.node},pN={labels:{unitsCompletedAfter:"units completed"},variant:"steps",isOpen:!0},dN=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=sN(this,lN(n).call(this,e))).state={completedSteps:0,totalSteps:0,progress:0},t}return 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)}(n,P.a.Component),function(e,t,n){t&&iN(e.prototype,t),n&&iN(e,n)}(n,[{key:"componentWillMount",value:function(){this.generatedId=m.a.generate(),this.getCount()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getCount",value:function(){var e=P.a.Children.count(this.props.children),t=P.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 t=this,e=jn()({},pN.labels,this.props.labels),n=P.a.createElement("div",{className:I()("slds-welcome-mat__info-content",this.props.className),id:"".concat(this.getId(),"-content")},P.a.createElement("h2",{className:"slds-welcome-mat__info-title",id:"".concat(this.getId(),"-label")},e.title),P.a.createElement("div",{className:"slds-welcome-mat__info-description slds-text-longform"},P.a.createElement("p",null,e.description)),"info-only"===this.props.variant||"splash"===this.props.variant?P.a.createElement("div",{className:"slds-welcome-mat__info-actions"},this.props.onRenderInfoActions()?this.props.onRenderInfoActions():null,P.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:P.a.createElement(P.a.Fragment,null,P.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?P.a.Children.map(this.props.infoBadge,function(e){return P.a.cloneElement(e,{isComplete:t.state.completedSteps===t.state.totalSteps||null})}):null,this.state.completedSteps!==this.state.totalSteps||"trailhead-connected"!==this.props.variant?P.a.createElement(P.a.Fragment,null,"trailhead-connected"===this.props.variant?P.a.createElement("p",null,this.state.completedSteps,"/",this.state.totalSteps," ".concat(e.unitsCompletedAfter)):P.a.createElement("p",null,P.a.createElement("strong",null,this.state.completedSteps,"/",this.state.totalSteps," ".concat(e.unitsCompletedAfter))),P.a.createElement(mS,{value:this.state.progress,radius:"circular"})):null)));return P.a.createElement(xr,{assistiveText:{dialogLabelledBy:"".concat(this.getId(),"-label")},isOpen:this.props.isOpen,onRequestClose:this.props.onRequestClose,size:"small",id:"".concat(this.getId(),"-modal")},P.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()},P.a.createElement("div",{className:"slds-welcome-mat__content slds-grid"},this.props.children?P.a.createElement(P.a.Fragment,null,P.a.createElement("div",{className:"slds-welcome-mat__info slds-size_1-of-2"},n),P.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)},P.a.Children.map(this.props.children,function(e){return P.a.cloneElement(e,{variant:t.props.variant})}))):P.a.createElement("div",{className:"slds-welcome-mat__info slds-size_1-of-1"},n))))}}]),n}();dN.displayName="SLDSWelcomeMat",dN.propTypes=uN,dN.defaultProps=pN;var fN=dN;function mN(e){return(mN="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 hN(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 bN(e,t){return!t||"object"!==mN(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function yN(e){return(yN=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function gN(e,t){return(gN=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var vN={assistiveText:o.a.shape({completed:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,image:o.a.string,isComplete:o.a.bool,onCompleteRenderActions:o.a.func},_N=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),bN(this,yN(e).apply(this,arguments))}return 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&&gN(e,t)}(e,P.a.Component),function(e,t,n){t&&hN(e.prototype,t),n&&hN(e,n)}(e,[{key:"componentWillMount",value:function(){this.generatedId=m.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 P.a.createElement("div",{id:this.getId(),className:this.props.className},P.a.createElement("div",{className:"slds-welcome-mat__info-badge-container"},P.a.createElement("img",{className:"slds-welcome-mat__info-badge",src:this.props.image,width:"50",height:"50",alt:""}),P.a.createElement(en,{category:"action",name:"check",assistiveText:{label:this.getCompletedText()}})),this.props.children,this.props.isComplete?this.props.onCompleteRenderActions():null)}}]),e}();_N.displayName="SLDSWelcomeMatBadge",_N.propTypes=vN,_N.defaultProps={isComplete:!1,variant:"steps"};var ON=_N;function xN(e){return(xN="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 SN(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}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 EN(e,t){return!t||"object"!==xN(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function CN(e){return(CN=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function TN(e,t){return(TN=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var NN={assistiveText:o.a.shape({completedIcon:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,title:o.a.string,description:o.a.string,href:o.a.string,icon:o.a.node,isComplete:o.a.bool,variant:o.a.oneOf(["steps","info-only","splash","trailhead-connected"])},kN={assistiveText:{completedIcon:"Completed"},isComplete:!1,variant:"steps"},jN=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),EN(this,CN(e).apply(this,arguments))}return 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&&TN(e,t)}(e,P.a.Component),function(e,t,n){t&&wN(e.prototype,t),n&&wN(e,n)}(e,[{key:"componentWillMount",value:function(){this.generatedId=m.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){SN(t,e,n[e])})}return t}({},kN.assistiveText,this.props.assistiveText),t=P.a.createElement(P.a.Fragment,null,P.a.createElement("div",{className:I()("slds-media__figure","slds-media__figure_fixed-width","slds-align_absolute-center")},P.a.createElement("div",{className:"slds-welcome-mat__tile-figure"},P.a.createElement("div",{className:"slds-welcome-mat__tile-icon-container"},this.props.icon,this.props.isComplete&&"info-only"!==this.props.variant?P.a.createElement(en,{assistiveText:{label:e.completedIcon},category:"action",name:"check",title:e.completedIcon}):null))),P.a.createElement("div",{className:"slds-media__body"},P.a.createElement("div",{className:"slds-welcome-mat__tile-body"},P.a.createElement("h3",{className:"slds-welcome-mat__tile-title"},this.props.title),P.a.createElement("p",{className:"slds-welcome-mat__tile-description"},this.props.description))));return P.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?P.a.createElement("div",{className:"slds-media"},t):P.a.createElement("a",{href:this.props.href,className:"slds-box slds-box_link slds-media"},t))}}]),e}();jN.displayName="SLDSWelcomeMatTile",jN.propTypes=NN,jN.defaultProps=kN;var PN=jN;function IN(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function DN(e){var t,n=e.subheadings,r=e.filteredOptions,o=IN(n),a=r.map(function(n){var r;return o=o.filter(function(e){var t=!0;return n.type===e.id&&(r=e,t=!1),t}),r?[r,n]:[n]});return(t=[]).concat.apply(t,IN(a))}function RN(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)}n.d(t,"Accordion",function(){return ge}),n.d(t,"SLDSAccordion",function(){return ge}),n.d(t,"AccordionPanel",function(){return Nn}),n.d(t,"SLDSAccordionPanel",function(){return Nn}),n.d(t,"Alert",function(){return Hn}),n.d(t,"SLDSAlert",function(){return Hn}),n.d(t,"AlertContainer",function(){return Qn}),n.d(t,"SLDSAlertContainer",function(){return Qn}),n.d(t,"AppLauncher",function(){return Pr}),n.d(t,"SLDSAppLauncher",function(){return Pr}),n.d(t,"AppLauncherExpandableSection",function(){return Jr}),n.d(t,"SLDSAppLauncherExpandableSection",function(){return Jr}),n.d(t,"AppLauncherLink",function(){return so}),n.d(t,"SLDSAppLauncherLink",function(){return so}),n.d(t,"AppLauncherTile",function(){return Io}),n.d(t,"SLDSAppLauncherTile",function(){return Io}),n.d(t,"Avatar",function(){return Vo}),n.d(t,"SLDSAvatar",function(){return Vo}),n.d(t,"Badge",function(){return Xo}),n.d(t,"SLDSBadge",function(){return Xo}),n.d(t,"BrandBand",function(){return ia}),n.d(t,"SLDSBrandBand",function(){return ia}),n.d(t,"BreadCrumb",function(){return wi}),n.d(t,"SLDSBreadCrumb",function(){return wi}),n.d(t,"Breadcrumb",function(){return wi}),n.d(t,"SLDSBreadcrumb",function(){return wi}),n.d(t,"BuilderHeader",function(){return Pi}),n.d(t,"SLDSBuilderHeader",function(){return Pi}),n.d(t,"BuilderHeaderMisc",function(){return Ri}),n.d(t,"SLDSBuilderHeaderMisc",function(){return Ri}),n.d(t,"BuilderHeaderNav",function(){return Li}),n.d(t,"SLDSBuilderHeaderNav",function(){return Li}),n.d(t,"BuilderHeaderNavDropdown",function(){return qi}),n.d(t,"SLDSBuilderHeaderNavDropdown",function(){return qi}),n.d(t,"BuilderHeaderNavLink",function(){return Ui}),n.d(t,"SLDSBuilderHeaderNavLink",function(){return Ui}),n.d(t,"BuilderHeaderToolbar",function(){return Ji}),n.d(t,"SLDSBuilderHeaderToolbar",function(){return Ji}),n.d(t,"Button",function(){return Cn}),n.d(t,"SLDSButton",function(){return Cn}),n.d(t,"ButtonGroup",function(){return as}),n.d(t,"SLDSButtonGroup",function(){return as}),n.d(t,"ButtonIcon",function(){return tt}),n.d(t,"SLDSButtonIcon",function(){return tt}),n.d(t,"ButtonStateful",function(){return gs}),n.d(t,"SLDSButtonStateful",function(){return gs}),n.d(t,"Card",function(){return Us}),n.d(t,"SLDSCard",function(){return Us}),n.d(t,"CardEmpty",function(){return qs}),n.d(t,"SLDSCardEmpty",function(){return qs}),n.d(t,"CardFilter",function(){return ql}),n.d(t,"SLDSCardFilter",function(){return ql}),n.d(t,"Carousel",function(){return uc}),n.d(t,"SLDSCarousel",function(){return uc}),n.d(t,"Checkbox",function(){return wc}),n.d(t,"SLDSCheckbox",function(){return wc}),n.d(t,"ColorPicker",function(){return rd}),n.d(t,"SLDSColorPicker",function(){return rd}),n.d(t,"Combobox",function(){return uf}),n.d(t,"SLDSCombobox",function(){return uf}),n.d(t,"SLDSComboboxFilterAndLimit",function(){return lf}),n.d(t,"DataTable",function(){return vm}),n.d(t,"SLDSDataTable",function(){return vm}),n.d(t,"DataTableCell",function(){return yf}),n.d(t,"SLDSDataTableCell",function(){return yf}),n.d(t,"DataTableColumn",function(){return wf}),n.d(t,"SLDSDataTableColumn",function(){return wf}),n.d(t,"DataTableHighlightCell",function(){return _m}),n.d(t,"SLDSDataTableHighlightCell",function(){return _m}),n.d(t,"DataTableRowActions",function(){return am}),n.d(t,"SLDSDataTableRowActions",function(){return am}),n.d(t,"DatePicker",function(){return vh}),n.d(t,"SLDSDatePicker",function(){return vh}),n.d(t,"Datepicker",function(){return vh}),n.d(t,"SLDSDatepicker",function(){return vh}),n.d(t,"Dropdown",function(){return gi}),n.d(t,"DropdownTrigger",function(){return Ga}),n.d(t,"SLDSDropdownTrigger",function(){return Ga}),n.d(t,"DynamicIcon",function(){return Nh}),n.d(t,"SLDSDynamicIcon",function(){return Nh}),n.d(t,"EditDialog",function(){return Mh}),n.d(t,"SLDSEditDialog",function(){return Mh}),n.d(t,"ExpandableSection",function(){return Hr}),n.d(t,"SLDSExpandableSection",function(){return Hr}),n.d(t,"Expression",function(){return ob}),n.d(t,"SLDSExpression",function(){return ob}),n.d(t,"ExpressionCondition",function(){return fb}),n.d(t,"SLDSExpressionCondition",function(){return fb}),n.d(t,"ExpressionFormula",function(){return Eb}),n.d(t,"SLDSExpressionFormula",function(){return Eb}),n.d(t,"ExpressionGroup",function(){return Qh}),n.d(t,"SLDSExpressionGroup",function(){return Qh}),n.d(t,"File",function(){return Fb}),n.d(t,"SLDSFile",function(){return Fb}),n.d(t,"Files",function(){return zb}),n.d(t,"SLDSFiles",function(){return zb}),n.d(t,"FilesFile",function(){return Fb}),n.d(t,"SLDSFilesFile",function(){return Fb}),n.d(t,"FilesMoreFiles",function(){return ny}),n.d(t,"SLDSFilesMoreFiles",function(){return ny}),n.d(t,"Filter",function(){return uy}),n.d(t,"SLDSFilter",function(){return uy}),n.d(t,"GlobalHeader",function(){return Oy}),n.d(t,"SLDSGlobalHeader",function(){return Oy}),n.d(t,"GlobalHeaderButton",function(){return Ey}),n.d(t,"SLDSGlobalHeaderButton",function(){return Ey}),n.d(t,"GlobalHeaderDropdown",function(){return My}),n.d(t,"SLDSGlobalHeaderDropdown",function(){return My}),n.d(t,"GlobalHeaderFavorites",function(){return Yy}),n.d(t,"SLDSGlobalHeaderFavorites",function(){return Yy}),n.d(t,"GlobalHeaderHelp",function(){return rg}),n.d(t,"SLDSGlobalHeaderHelp",function(){return rg}),n.d(t,"GlobalHeaderNotifications",function(){return dg}),n.d(t,"SLDSGlobalHeaderNotifications",function(){return dg}),n.d(t,"GlobalHeaderProfile",function(){return Og}),n.d(t,"SLDSGlobalHeaderProfile",function(){return Og}),n.d(t,"GlobalHeaderSearch",function(){return xg}),n.d(t,"SLDSGlobalHeaderSearch",function(){return xg}),n.d(t,"GlobalHeaderSetup",function(){return Pg}),n.d(t,"SLDSGlobalHeaderSetup",function(){return Pg}),n.d(t,"GlobalHeaderTask",function(){return qg}),n.d(t,"SLDSGlobalHeaderTask",function(){return qg}),n.d(t,"GlobalNavigationBar",function(){return Wg}),n.d(t,"SLDSGlobalNavigationBar",function(){return Wg}),n.d(t,"GlobalNavigationBarButton",function(){return zg}),n.d(t,"SLDSGlobalNavigationBarButton",function(){return zg}),n.d(t,"GlobalNavigationBarDropdown",function(){return lv}),n.d(t,"SLDSGlobalNavigationBarDropdown",function(){return lv}),n.d(t,"GlobalNavigationBarLabel",function(){return uv}),n.d(t,"SLDSGlobalNavigationBarLabel",function(){return uv}),n.d(t,"GlobalNavigationBarLink",function(){return dv}),n.d(t,"SLDSGlobalNavigationBarLink",function(){return dv}),n.d(t,"GlobalNavigationBarRegion",function(){return _v}),n.d(t,"SLDSGlobalNavigationBarRegion",function(){return _v}),n.d(t,"Icon",function(){return en}),n.d(t,"SLDSIcon",function(){return en}),n.d(t,"IconSettings",function(){return At}),n.d(t,"SLDSIconSettings",function(){return At}),n.d(t,"Illustration",function(){return Ev}),n.d(t,"SLDSIllustration",function(){return Ev}),n.d(t,"InlineEdit",function(){return Bv}),n.d(t,"SLDSInlineEdit",function(){return Bv}),n.d(t,"Input",function(){return Ll}),n.d(t,"SLDSInput",function(){return Ll}),n.d(t,"InputIcon",function(){return Js}),n.d(t,"SLDSInputIcon",function(){return Js}),n.d(t,"InputSearch",function(){return Wv}),n.d(t,"SLDSInputSearch",function(){return Wv}),n.d(t,"Lookup",function(){return L_}),n.d(t,"SLDSLookup",function(){return L_}),n.d(t,"LookupDefaultFooter",function(){return Jv}),n.d(t,"SLDSLookupDefaultFooter",function(){return Jv}),n.d(t,"LookupDefaultHeader",function(){return o_}),n.d(t,"SLDSLookupDefaultHeader",function(){return o_}),n.d(t,"LookupDefaultSectionDivider",function(){return i_}),n.d(t,"SLDSLookupDefaultSectionDivider",function(){return i_}),n.d(t,"MediaObject",function(){return ks}),n.d(t,"SLDSMediaObject",function(){return ks}),n.d(t,"MenuDropdown",function(){return gi}),n.d(t,"SLDSMenuDropdown",function(){return gi}),n.d(t,"MenuDropdownButtonTrigger",function(){return Ga}),n.d(t,"SLDSMenuDropdownButtonTrigger",function(){return Ga}),n.d(t,"SLDSMenuPicklist",function(){return K_}),n.d(t,"Modal",function(){return xr}),n.d(t,"SLDSModal",function(){return xr}),n.d(t,"ModalTrigger",function(){return W_}),n.d(t,"SLDSModalTrigger",function(){return W_}),n.d(t,"MoreFiles",function(){return ny}),n.d(t,"SLDSMoreFiles",function(){return ny}),n.d(t,"Navigation",function(){return tO}),n.d(t,"SLDSNavigation",function(){return tO}),n.d(t,"Notification",function(){return pO}),n.d(t,"SLDSNotification",function(){return pO}),n.d(t,"PageHeader",function(){return vx}),n.d(t,"SLDSPageHeader",function(){return vx}),n.d(t,"PageHeaderControl",function(){return Ox}),n.d(t,"SLDSPageHeaderControl",function(){return Ox}),n.d(t,"Panel",function(){return Nx}),n.d(t,"SLDSPanel",function(){return Nx}),n.d(t,"PanelFilterGroup",function(){return Bx}),n.d(t,"SLDSPanelFilterGroup",function(){return Bx}),n.d(t,"PanelFilterList",function(){return Qx}),n.d(t,"SLDSPanelFilterList",function(){return Qx}),n.d(t,"PanelFilterListHeading",function(){return Jx}),n.d(t,"SLDSPanelFilterListHeading",function(){return Jx}),n.d(t,"Picklist",function(){return K_}),n.d(t,"Pill",function(){return Pd}),n.d(t,"SLDSPill",function(){return Pd}),n.d(t,"PillContainer",function(){return aS}),n.d(t,"SLDSPillContainer",function(){return aS}),n.d(t,"Popover",function(){return zp}),n.d(t,"SLDSPopover",function(){return zp}),n.d(t,"PopoverTooltip",function(){return fn}),n.d(t,"SLDSPopoverTooltip",function(){return fn}),n.d(t,"ProgressBar",function(){return mS}),n.d(t,"SLDSProgressBar",function(){return mS}),n.d(t,"ProgressIndicator",function(){return iw}),n.d(t,"SLDSProgressIndicator",function(){return iw}),n.d(t,"ProgressRing",function(){return _w}),n.d(t,"SLDSProgressRing",function(){return _w}),n.d(t,"Radio",function(){return du}),n.d(t,"SLDSRadio",function(){return du}),n.d(t,"RadioButtonGroup",function(){return Jc}),n.d(t,"SLDSRadioButtonGroup",function(){return Jc}),n.d(t,"RadioGroup",function(){return Uc}),n.d(t,"SLDSRadioGroup",function(){return Uc}),n.d(t,"ScopedNotification",function(){return Iw}),n.d(t,"SLDSScopedNotification",function(){return Iw}),n.d(t,"Search",function(){return Wv}),n.d(t,"SLDSSearch",function(){return Wv}),n.d(t,"Settings",function(){return sr}),n.d(t,"SLDSSettings",function(){return sr}),n.d(t,"SetupAssistant",function(){return Ww}),n.d(t,"SLDSSetupAssistant",function(){return Ww}),n.d(t,"SetupAssistantStep",function(){return eE}),n.d(t,"SLDSSetupAssistantStep",function(){return eE}),n.d(t,"Slider",function(){return dE}),n.d(t,"SLDSSlider",function(){return dE}),n.d(t,"Spinner",function(){return rl}),n.d(t,"SLDSSpinner",function(){return rl}),n.d(t,"SplitView",function(){return SE}),n.d(t,"SLDSSplitView",function(){return SE}),n.d(t,"SplitViewHeader",function(){return NE}),n.d(t,"SLDSSplitViewHeader",function(){return NE}),n.d(t,"SplitViewListbox",function(){return XE}),n.d(t,"SLDSSplitViewListbox",function(){return XE}),n.d(t,"Splitview",function(){return SE}),n.d(t,"SLDSSplitview",function(){return SE}),n.d(t,"Tabs",function(){return Np}),n.d(t,"SLDSTabs",function(){return Np}),n.d(t,"TabsPanel",function(){return kp}),n.d(t,"SLDSTabsPanel",function(){return kp}),n.d(t,"Textarea",function(){return lC}),n.d(t,"SLDSTextarea",function(){return lC}),n.d(t,"TimePicker",function(){return jC}),n.d(t,"SLDSTimePicker",function(){return jC}),n.d(t,"Timepicker",function(){return jC}),n.d(t,"SLDSTimepicker",function(){return jC}),n.d(t,"Toast",function(){return KC}),n.d(t,"SLDSToast",function(){return KC}),n.d(t,"ToastContainer",function(){return JC}),n.d(t,"SLDSToastContainer",function(){return JC}),n.d(t,"Tooltip",function(){return fn}),n.d(t,"SLDSTooltip",function(){return fn}),n.d(t,"Tree",function(){return jT}),n.d(t,"SLDSTree",function(){return jT}),n.d(t,"TrialBar",function(){return DT}),n.d(t,"SLDSTrialBar",function(){return DT}),n.d(t,"TrialBarButton",function(){return BT}),n.d(t,"SLDSTrialBarButton",function(){return BT}),n.d(t,"TrialBarDropdown",function(){return KT}),n.d(t,"SLDSTrialBarDropdown",function(){return KT}),n.d(t,"UNSAFE_DirectionSettings",function(){return Se}),n.d(t,"UtilityIcon",function(){return Xe}),n.d(t,"SLDSUtilityIcon",function(){return Xe}),n.d(t,"VerticalNavigation",function(){return tO}),n.d(t,"SLDSVerticalNavigation",function(){return tO}),n.d(t,"VisualPicker",function(){return JT}),n.d(t,"SLDSVisualPicker",function(){return JT}),n.d(t,"VisualPickerLink",function(){return oN}),n.d(t,"SLDSVisualPickerLink",function(){return oN}),n.d(t,"WelcomeMat",function(){return fN}),n.d(t,"SLDSWelcomeMat",function(){return fN}),n.d(t,"WelcomeMatInfoBadge",function(){return ON}),n.d(t,"SLDSWelcomeMatInfoBadge",function(){return ON}),n.d(t,"WelcomeMatTile",function(){return PN}),n.d(t,"SLDSWelcomeMatTile",function(){return PN}),n.d(t,"comboboxAddSubheadings",function(){return DN}),n.d(t,"comboboxFilterAndLimit",function(){return lf}),n.d(t,"log",function(){return RN})}],o.c=i,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/",o(o.s=61);function o(e){if(i[e])return i[e].exports;var t=i[e]={i:e,l:!1,exports:{}};return a[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}var a,i}); \ No newline at end of file diff --git a/design-system-react.js b/design-system-react.js new file mode 100644 index 0000000000..4437bdb339 --- /dev/null +++ b/design-system-react.js @@ -0,0 +1,67883 @@ +/*! + * design-system-react + * v0.10.14 + * 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 = 61); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 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, isValidElement, REACT_ELEMENT_TYPE; } else { + // By explicitly using `prop-types` you are opting into new production behavior. + // http://fb.me/prop-types-in-prod + module.exports = __webpack_require__(62)(); +} + + +/***/ }), +/* 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__(65); + + +/***/ }), +/* 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__(9))) + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__6__; + +/***/ }), +/* 7 */ +/***/ (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; + + +/***/ }), +/* 8 */ +/***/ (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__(9), __webpack_require__(16)(module))) + +/***/ }), +/* 9 */ +/***/ (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; + + +/***/ }), +/* 10 */ +/***/ (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__(9), __webpack_require__(16)(module))) + +/***/ }), +/* 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__(9))) + +/***/ }), +/* 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__(9), __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\":[\"/__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__(9), __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\":[\"/__examples__/base.jsx\",\"/__examples__/step-progress.jsx\",\"/__examples__/hub-expandable-steps.jsx\",\"/__examples__/card.jsx\"],\"url-slug\":\"setup-assistant\"}"); + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var randomFromSeed = __webpack_require__(66); + +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__(73); + +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\":[\"/__examples__/default.jsx\",\"/__examples__/icons.jsx\",\"/__examples__/error.jsx\",\"/__examples__/inactiveInputs.jsx\",\"/__examples__/inline-help.jsx\",\"/__examples__/field-level-help.jsx\",\"/__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\":[\"/__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__(78); + +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__(84); + +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__(81); +var escapeStringRegexp = __webpack_require__(82); +var blacklist = __webpack_require__(83); +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"; +/** + * 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. + * + */ + + + +/** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + +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; + } +} + +module.exports = invariant; + +/***/ }), +/* 27 */ +/***/ (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"]; + +/***/ }), +/* 28 */ +/***/ (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__(77); + +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; +} + +/***/ }), +/* 29 */ +/***/ (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\":[\"/__examples__/base-neutral.jsx\",\"/__examples__/brand-disabled-destructive-inverse.jsx\",\"/__examples__/button-icons.jsx\"],\"url-slug\":\"buttons\"}"); + +/***/ }), +/* 30 */ +/***/ (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__(9))) + +/***/ }), +/* 31 */ +/***/ (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\":[\"/__examples__/categories.jsx\",\"/__examples__/colors.jsx\",\"/__examples__/sizes.jsx\"],\"url-slug\":\"icons\"}"); + +/***/ }), +/* 32 */ +/***/ (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' +}; + +/***/ }), +/* 33 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"tooltip\",\"status\":\"prod\",\"display-name\":\"Tooltips\",\"classKey\":\"Tooltip\",\"SLDS-component-path\":\"/components/tooltips\",\"site-stories\":[\"/__examples__/base.jsx\",\"/__examples__/button.jsx\",\"/__examples__/button-group.jsx\",\"/__examples__/learn-more.jsx\"],\"url-slug\":\"tooltips\"}"); + +/***/ }), +/* 34 */ +/***/ (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\":[\"/__examples__/info.jsx\",\"/__examples__/warning.jsx\",\"/__examples__/offline.jsx\",\"/__examples__/error.jsx\",\"/__examples__/dismissable.jsx\"],\"url-slug\":\"alerts\"}"); + +/***/ }), +/* 35 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"modal\",\"status\":\"prod\",\"display-name\":\"Modals and Prompts\",\"classKey\":\"Modal\",\"SLDS-component-path\":\"/components/modals\",\"site-stories\":[\"/__examples__/menu-contents.jsx\",\"/__examples__/header-footer.jsx\",\"/__examples__/taglines.jsx\",\"/__examples__/prompt.jsx\",\"/__examples__/sizes.jsx\"],\"url-slug\":\"modals\"}"); + +/***/ }), +/* 36 */ +/***/ (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__(9))) + +/***/ }), +/* 37 */ +/***/ (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\":[\"/__examples__/base.jsx\",\"/__examples__/user-initials.jsx\",\"/__examples__/user-icon.jsx\",\"/__examples__/entity-initials.jsx\",\"/__examples__/entity-icon.jsx\"],\"url-slug\":\"avatars\"}"); + +/***/ }), +/* 38 */ +/***/ (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\":[\"/__examples__/base.jsx\",\"/__examples__/one-item.jsx\",\"/__examples__/base-with-overflow-menu.jsx\"],\"url-slug\":\"breadcrumbs\"}"); + +/***/ }), +/* 39 */ +/***/ (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\":[\"/__examples__/default.jsx\",\"/__examples__/default-icon-label.jsx\",\"/__examples__/default-right-to-left.jsx\",\"/__examples__/sub-heading.jsx\",\"/__examples__/custom-trigger.jsx\",\"/__examples__/checkmark.jsx\"],\"url-slug\":\"menu-dropdowns\"}"); + +/***/ }), +/* 40 */ +/***/ (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\":[\"/__examples__/icon.jsx\",\"/__examples__/icon-text.jsx\"],\"url-slug\":\"stateful-buttons\"}"); + +/***/ }), +/* 41 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"spinner\",\"status\":\"prod\",\"display-name\":\"Spinners\",\"classKey\":\"Spinner\",\"SLDS-component-path\":\"/components/spinner\",\"site-stories\":[\"/__examples__/default.jsx\"],\"url-slug\":\"spinners\"}"); + +/***/ }), +/* 42 */ +/***/ (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\":[\"/__examples__/default.jsx\",\"/__examples__/error.jsx\",\"/__examples__/toggle.jsx\",\"/__examples__/grouped-with-tristate.jsx\"],\"url-slug\":\"checkboxes\"}"); + +/***/ }), +/* 43 */ +/***/ (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\":[\"/__examples__/default.jsx\",\"/__examples__/disabled.jsx\"],\"SLDS-component-path\":\"/components/radio-group/\",\"url-slug\":\"radios\"}"); + +/***/ }), +/* 44 */ +/***/ (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\":[\"/__examples__/header.jsx\",\"/__examples__/alternative-header.jsx\",\"/__examples__/controlled-with-footer.jsx\",\"/__examples__/custom-target.jsx\",\"/__examples__/error.jsx\",\"/__examples__/feature.jsx\",\"/__examples__/walkthrough.jsx\",\"/__examples__/walkthrough-action.jsx\",\"/__examples__/warning.jsx\",\"/__examples__/edit-dialog.jsx\"],\"url-slug\":\"popovers\"}"); + +/***/ }), +/* 45 */ +/***/ (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\":[\"/__examples__/default.jsx\"],\"url-slug\":\"color-picker\"}"); + +/***/ }), +/* 46 */ +/***/ (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\":[\"/__examples__/base.jsx\",\"/__examples__/base-menu-subheader.jsx\",\"/__examples__/base-inherit-menu-width.jsx\",\"/__examples__/base-predefined-options-only.jsx\",\"/__examples__/base-with-scroll.jsx\",\"/__examples__/dialog.jsx\",\"/__examples__/inline-multiple.jsx\",\"/__examples__/inline-single.jsx\",\"/__examples__/inline-single-entity-combobox.jsx\",\"/__examples__/inline-single-search-add-entities.jsx\",\"/__examples__/inline-multiple-loading.jsx\",\"/__examples__/readonly-single.jsx\",\"/__examples__/readonly-multiple.jsx\",\"/__examples__/required-input-error-state.jsx\",\"/__examples__/dialog.jsx\"],\"url-slug\":\"comboboxes\"}"); + +/***/ }), +/* 47 */ +/***/ (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\":[\"/__examples__/basic-fluid.jsx\",\"/__examples__/basic-fluid-striped.jsx\",\"/__examples__/basic-fluid-no-row-hover.jsx\",\"/__examples__/basic-fluid-column-bordered.jsx\",\"/__examples__/basic-fixed-layout.jsx\",\"/__examples__/advanced.jsx\",\"/__examples__/advanced-single-select.jsx\",\"/__examples__/fixed-header.jsx\",\"/__examples__/joined-with-page-header.jsx\"],\"url-slug\":\"data-tables\"}"); + +/***/ }), +/* 48 */ +/***/ (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)' +}; + +/***/ }), +/* 49 */ +/***/ (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\":[\"/__examples__/default.jsx\"],\"url-slug\":\"date-pickers\"}"); + +/***/ }), +/* 50 */ +/***/ (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 __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 __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; +}; +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__(87)); +var PropTypes = __importStar(__webpack_require__(88)); +function normalizeHtml(str) { + return str && str.replace(/ |\u202F|\u00A0/g, ' '); +} +function findLastTextNode(node) { + if (node.nodeType === Node.TEXT_NODE) + return node; + var children = node.childNodes; + for (var i = children.length - 1; i >= 0; i--) { + var textNode = findLastTextNode(children[i]); + if (textNode !== null) + return textNode; + } + return null; +} +function replaceCaret(el) { + // Place the caret at the end of the element + var target = findLastTextNode(el); + // 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({}, 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.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; + + +/***/ }), +/* 51 */ +/***/ (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\":[\"/__examples__/default.jsx\"],\"url-slug\":\"global-headers\"}"); + +/***/ }), +/* 52 */ +/***/ (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\":[\"/__examples__/small-image-text.jsx\",\"/__examples__/large-image-text.jsx\",\"/__examples__/heading-message.jsx\",\"/__examples__/heading-only.jsx\",\"/__examples__/message-only.jsx\"],\"url-slug\":\"illustrations\"}"); + +/***/ }), +/* 53 */ +/***/ (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\":[\"/__examples__/default.jsx\"],\"url-slug\":\"vertical-navigation\"}"); + +/***/ }), +/* 54 */ +/***/ (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\":[\"/__examples__/record-home.jsx\",\"/__examples__/object-home.jsx\",\"/__examples__/related-list.jsx\",\"/__examples__/setup.jsx\"],\"url-slug\":\"page-headers\"}"); + +/***/ }), +/* 55 */ +/***/ (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\":[\"/__examples__/base.jsx\",\"/__examples__/light.jsx\",\"/__examples__/dark.jsx\",\"/__examples__/custom-icon.jsx\"],\"url-slug\":\"scoped-notifications\"}"); + +/***/ }), +/* 56 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"textarea\",\"status\":\"prod\",\"display-name\":\"Textareas\",\"classKey\":\"Textarea\",\"SLDS-component-path\":\"/components/forms#flavor-textarea\",\"site-stories\":[\"/__examples__/default.jsx\",\"/__examples__/error.jsx\",\"/__examples__/disabled.jsx\"],\"url-slug\":\"textareas\"}"); + +/***/ }), +/* 57 */ +/***/ (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__(9), __webpack_require__(16)(module))) + +/***/ }), +/* 58 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"time-picker\",\"status\":\"prod\",\"display-name\":\"Timepickers\",\"classKey\":\"TimePicker\",\"SLDS-component-path\":\"/components/timepicker\",\"site-stories\":[\"/__examples__/default.jsx\"],\"url-slug\":\"timepickers\"}"); + +/***/ }), +/* 59 */ +/***/ (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\":[\"/__examples__/info.jsx\",\"/__examples__/success.jsx\",\"/__examples__/warning.jsx\",\"/__examples__/error.jsx\",\"/__examples__/error-with-details.jsx\"],\"url-slug\":\"toasts\"}"); + +/***/ }), +/* 60 */ +/***/ (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\":[\"/__examples__/default.jsx\"],\"url-slug\":\"tree\"}"); + +/***/ }), +/* 61 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(91); + + +/***/ }), +/* 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 emptyFunction = __webpack_require__(63); +var invariant = __webpack_require__(26); +var ReactPropTypesSecret = __webpack_require__(64); + +module.exports = function() { + function shim(props, propName, componentName, location, propFullName, secret) { + if (secret === ReactPropTypesSecret) { + // It is still safe when called from React. + return; + } + invariant( + false, + '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' + ); + }; + 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, + instanceOf: getShim, + node: shim, + objectOf: getShim, + oneOf: getShim, + oneOfType: getShim, + shape: getShim, + exact: getShim + }; + + ReactPropTypes.checkPropTypes = emptyFunction; + ReactPropTypes.PropTypes = ReactPropTypes; + + return ReactPropTypes; +}; + + +/***/ }), +/* 63 */ +/***/ (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. + * + * + */ + +function makeEmptyFunction(arg) { + return function () { + return arg; + }; +} + +/** + * This function accepts and discards inputs; it has no side effects. This is + * primarily useful idiomatically for overridable function endpoints which + * always need to be callable, since JS lacks a null-call idiom ala Cocoa. + */ +var emptyFunction = function emptyFunction() {}; + +emptyFunction.thatReturns = makeEmptyFunction; +emptyFunction.thatReturnsFalse = makeEmptyFunction(false); +emptyFunction.thatReturnsTrue = makeEmptyFunction(true); +emptyFunction.thatReturnsNull = makeEmptyFunction(null); +emptyFunction.thatReturnsThis = function () { + return this; +}; +emptyFunction.thatReturnsArgument = function (arg) { + return arg; +}; + +module.exports = emptyFunction; + +/***/ }), +/* 64 */ +/***/ (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; + + +/***/ }), +/* 65 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var alphabet = __webpack_require__(18); +var build = __webpack_require__(67); +var isValid = __webpack_require__(71); + +// 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__(72) || 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; + + +/***/ }), +/* 66 */ +/***/ (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 +}; + + +/***/ }), +/* 67 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var generate = __webpack_require__(68); +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 = 1459707606518; + +// don't change unless we change the algos or REDUCE_TIME +// must be an integer and less than 16 +var version = 6; + +// 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; + + +/***/ }), +/* 68 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var alphabet = __webpack_require__(18); +var random = __webpack_require__(69); +var format = __webpack_require__(70); + +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; + + +/***/ }), +/* 69 */ +/***/ (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; + + +/***/ }), +/* 70 */ +/***/ (function(module, exports) { + +/** + * Secure random string generator with custom alphabet. + * + * Alphabet must contain 256 symbols or less. Otherwise, the generator + * will not be secure. + * + * @param {generator} random The random bytes generator. + * @param {string} alphabet Symbols to be used in new random string. + * @param {size} size The number of symbols in new random string. + * + * @return {string} Random string. + * + * @example + * const format = require('nanoid/format') + * + * function random (size) { + * const result = [] + * for (let i = 0; i < size; i++) { + * result.push(randomByte()) + * } + * return result + * } + * + * format(random, "abcdef", 5) //=> "fbaef" + * + * @name format + * @function + */ +module.exports = function (random, alphabet, size) { + var mask = (2 << Math.log(alphabet.length - 1) / Math.LN2) - 1 + var step = Math.ceil(1.6 * mask * size / alphabet.length) + size = +size + + var id = '' + while (true) { + var bytes = random(step) + for (var i = 0; i < step; i++) { + var byte = bytes[i] & mask + if (alphabet[byte]) { + id += alphabet[byte] + if (id.length === size) return id + } + } + } +} + +/** + * @callback generator + * @param {number} bytes The number of bytes to generate. + * @return {number[]} Random bytes. + */ + + +/***/ }), +/* 71 */ +/***/ (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; + + +/***/ }), +/* 72 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = 0; + + +/***/ }), +/* 73 */ +/***/ (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__(74); + +var _ModalPortal2 = _interopRequireDefault(_ModalPortal); + +var _ariaAppHider = __webpack_require__(28); + +var ariaAppHider = _interopRequireWildcard(_ariaAppHider); + +var _safeHTMLElement = __webpack_require__(23); + +var _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement); + +var _reactLifecyclesCompat = __webpack_require__(80); + +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; + +/***/ }), +/* 74 */ +/***/ (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__(75); + +var focusManager = _interopRequireWildcard(_focusManager); + +var _scopeTab = __webpack_require__(76); + +var _scopeTab2 = _interopRequireDefault(_scopeTab); + +var _ariaAppHider = __webpack_require__(28); + +var ariaAppHider = _interopRequireWildcard(_ariaAppHider); + +var _classList = __webpack_require__(79); + +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"]; + +/***/ }), +/* 75 */ +/***/ (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__(27); + +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); + } +} + +/***/ }), +/* 76 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = scopeTab; + +var _tabbable = __webpack_require__(27); + +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"]; + +/***/ }), +/* 77 */ +/***/ (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; + + +/***/ }), +/* 78 */ +/***/ (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 {} + +}()); + + +/***/ }), +/* 79 */ +/***/ (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(" ")); +}; + +/***/ }), +/* 80 */ +/***/ (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; +} + + + + +/***/ }), +/* 81 */ +/***/ (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; + + +/***/ }), +/* 82 */ +/***/ (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, '\\$&'); +}; + + +/***/ }), +/* 83 */ +/***/ (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 +} + + +/***/ }), +/* 84 */ +/***/ (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__(85); + +var emptyObject = __webpack_require__(86); +var _invariant = __webpack_require__(26); + +if (false) { var warning; } + +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; + + +/***/ }), +/* 85 */ +/***/ (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; +}; + + +/***/ }), +/* 86 */ +/***/ (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 emptyObject = {}; + +if (false) {} + +module.exports = emptyObject; + +/***/ }), +/* 87 */ +/***/ (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; +}; + + +/***/ }), +/* 88 */ +/***/ (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__(89)(); +} + + +/***/ }), +/* 89 */ +/***/ (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__(90); + +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; +}; + + +/***/ }), +/* 90 */ +/***/ (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; + + +/***/ }), +/* 91 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// 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 LOOKUP = 'SLDSLookup'; +var MAP = 'SLDSMap'; +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) { 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 _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 _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +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); } + +/* 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); + + function Accordion(props) { + var _this; + + _classCallCheck(this, Accordion); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Accordion).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 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 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__(7); + +// 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 = 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) { 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_possibleConstructorReturn(self, call) { if (call && (svg_typeof(call) === "object" || typeof call === "function")) { return call; } return svg_assertThisInitialized(self); } + +function svg_getPrototypeOf(o) { svg_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return svg_getPrototypeOf(o); } + +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_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 _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); + + function Svg() { + var _getPrototypeOf2; + + 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 = svg_possibleConstructorReturn(this, (_getPrototypeOf2 = svg_getPrototypeOf(Svg)).call.apply(_getPrototypeOf2, [this].concat(args))); + + _defineProperty(svg_assertThisInitialized(_this), "getPaths", function (paths) { + if (paths instanceof Array) { + return paths.map(function (item) { + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("path", item); + }); + } + + return 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", item); + }); + } + + return 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ellipse", item); + }); + } + + return 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("g", null, _this.getShapes(item)); + }); + } + + return 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 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": "M17.4 5.4c-.7.2-1.3.4-1.8.6-.3.2-.7.5-1.3.8.1.9.1 1.6 0 2.2 0 .6-.1 1.5-.3 2.6 1.3.9 2.2 1.6 2.8 2.1l.4.4 2-.9c.3-.6.6-1.5.7-2.5.2-.9.2-1.9.1-2.9l-2.6-2.4zm-.7-1.2l-.1-.2c-1.3-.8-2.9-1.2-4.6-1.2-.9 0-1.8.1-2.6.3v1.3c.8.1 1.4.2 2 .4.5.2 1.2.5 2 .9.7-.4 1.2-.7 1.6-.9.5-.2 1-.4 1.7-.6zm-6.5 15.6c1.7-.2 2.8-.3 3.4-.5.7-.1 1.3-.3 1.8-.5.4-.9.6-1.6.7-2.1.1-.4.2-.9.3-1.5-.2-.2-.3-.3-.5-.4-.5-.5-1.5-1.2-2.9-2.2-.6.3-1.2.6-1.7.7-.5.2-1.3.3-2.4.4-.4.9-.7 1.6-.8 2.1-.1.5-.2 1.2-.3 2 .4.5.7.9 1 1.1.3.2.8.5 1.4.9zm-5.8-2.6h2.1c.1-.7.2-1.3.3-1.7.1-.6.3-1.3.7-2.1-.5-.6-1.1-1.3-1.4-1.7-.2-.4-.6-.8-1-1.8-.2 0-.4.1-.6.1-.5.2-1.1.5-1.7.9V12c0 2 .6 3.8 1.6 5.2zm16.5-2.8c.2-.7.3-1.5.3-2.4v-.6c-.1.8-.3 1.4-.6 2 .1.1.2.3.2.4.1.2.1.4.1.6zm-16-5.9v-.1c.7-1 1.2-1.8 1.6-2.2.3-.4.8-.9 1.5-1.5v-1c-2.2 1.1-4 3-4.8 5.4.3-.2.6-.3.9-.4.3-.1.5-.1.8-.2zm12.2 11.2c-.7.3-1.8.6-3.1 1-.7.1-1.9.3-3.5.5.5.1 1 .1 1.5.1 1.9 0 3.7-.6 5.1-1.6zm6-7.7c0 6.2-5 11.2-11.1 11.2S.9 18.2.9 12 5.9.9 12 .9s11.1 5 11.1 11.1z" + } + }, + ad_set: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.4 2.4H2.5c-.3 0-.7.3-.7.6v7.4c0 .4.4.7.7.7h7.9c.4 0 .7-.3.7-.7V3c0-.3-.3-.6-.7-.6zM9.2 6.1H3.7V4.2h5.5v1.9zm12.3-3.7h-7.9c-.4 0-.7.3-.7.6v7.4c0 .4.3.7.7.7h7.9c.3 0 .7-.3.7-.7V3c0-.3-.4-.6-.7-.6zm-1.2 3.7h-5.5V4.2h5.5v1.9zM10.4 12.9H2.5c-.3 0-.7.3-.7.7V21c0 .3.4.6.7.6h7.9c.4 0 .7-.3.7-.6v-7.4c0-.4-.3-.7-.7-.7zm-1.2 3.8H3.7v-1.9h5.5v1.9zm12.3-3.8h-7.9c-.4 0-.7.3-.7.7V21c0 .3.3.6.7.6h7.9c.3 0 .7-.3.7-.6v-7.4c0-.4-.4-.7-.7-.7zm-1.2 3.8h-5.5v-1.9h5.5v1.9z" + } + }, + add: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.8 13.4h7.7c.3 0 .7-.3.7-.7v-1.4c0-.4-.4-.7-.7-.7h-7.7c-.2 0-.4-.2-.4-.4V2.5c0-.3-.3-.7-.7-.7h-1.4c-.4 0-.7.4-.7.7v7.7c0 .2-.2.4-.4.4H2.5c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h7.7c.2 0 .4.2.4.4v7.7c0 .3.3.7.7.7h1.4c.4 0 .7-.4.7-.7v-7.7c0-.2.2-.4.4-.4z" + } + }, + adduser: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.1 17.1c0-1.3.4-2.7 1.1-3.8.8-1.4 1.6-1.9 2.3-3 1.2-1.7 1.4-4.1.7-6-.8-1.9-2.5-3-4.6-2.9S6 2.7 5.3 4.6c-.7 2-.4 4.5 1.3 6.1.6.7 1.3 1.7.9 2.6-.3 1-1.4 1.4-2.2 1.7-1.8.8-4 1.9-4.3 4.1-.4 1.7.8 3.5 2.7 3.5h7.8c.4 0 .6-.4.4-.7-1.1-1.4-1.8-3.1-1.8-4.8zm7.4-5.6c-3.1 0-5.5 2.5-5.5 5.6s2.4 5.5 5.5 5.5 5.5-2.5 5.5-5.5-2.5-5.6-5.5-5.6zm2.8 6c0 .3-.2.5-.5.5h-1.3v1.4c0 .3-.3.4-.5.4h-1c-.2 0-.4-.1-.4-.4V18h-1.4c-.3 0-.4-.2-.4-.5v-.9c0-.3.1-.4.4-.4h1.4v-1.4c0-.3.2-.5.4-.5h1c.2 0 .5.2.5.5v1.4h1.3c.3 0 .5.1.5.4v.9z" + } + }, + advanced_function: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.8 3.2V1.8c0-.3-.3-.6-.6-.6H5.4c-.3 0-.6.3-.6.6v1.5c0 .1 0 .3.1.4l6.7 8.3-6.7 8.3c-.1.1-.1.2-.1.4v1.5c0 .3.3.6.6.6h13.8c.3 0 .6-.3.6-.6v-1.4c0-.4-.3-.7-.6-.7H8.5l6.1-7.5c.2-.2.2-.4.2-.6 0-.3-.1-.5-.2-.7L8.5 3.9h10.7c.3 0 .6-.3.6-.7z" + } + }, + advertising: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.6 12.6h.2c.1-1.3.6-2.4 1.2-3.3-.3-.3-.8-.6-1.4-.6-1.1 0-1.9.9-1.9 2 0 1 .8 1.9 1.9 1.9zm.6 3.6h.5c-.3-.6-.6-1.2-.8-1.8h-.3c-2.1 0-3.9-1.7-3.9-3.9 0-2.1 1.7-3.9 3.9-3.9 1.2 0 2.3.5 3 1.3.5-.3 1.1-.5 1.8-.6-1.1-1.5-2.8-2.5-4.8-2.5-3.4 0-5.8 2.7-5.8 5.9s2.6 5.8 5.9 5.6c.2 0 .3 0 .5-.1zM23 21v.6c0 .8-.6 1.4-1.4 1.4H10.5c-.7 0-1.4-.6-1.4-1.4V21c0-1.7 2-2.7 3.9-3.6h.2c.1-.1.2-.1.4 0 .7.5 1.6.7 2.5.7.8 0 1.7-.2 2.5-.7.1-.1.2-.1.4 0h.2c1.9.9 3.8 1.9 3.8 3.6zM16.1 9.1c1.9 0 3.4 1.7 3.4 3.9s-1.5 3.8-3.4 3.8-3.5-1.7-3.5-3.8 1.6-3.9 3.5-3.9zm-7.6 9c-3.1-.9-5.6-3.9-5.6-7.4 0-4.3 3.5-7.8 7.8-7.8 3.1 0 6 1.9 7.2 4.7.9.4 1.7 1 2.3 1.8-.7-4.9-4.7-8.4-9.6-8.4C5.2 1 1 5.2 1 10.6c0 4.3 2.6 7.9 6.5 9.1.2-.6.6-1.1 1-1.6z" + } + }, + agent_session: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 1.8C5.9 1.8 1 6.4 1 12c0 1.7.5 3.4 1.3 4.8.1.3.2.6.1.8l-1.4 4c-.2.3.2.6.6.6l3.9-1.6c.3-.1.5 0 .8.1 1.7.9 3.7 1.5 5.8 1.5 6 0 11-4.5 11-10.2C23 6.4 18.1 1.8 12 1.8zM9 16.6c0 .2-.2.4-.4.4h-2c-.2 0-.4-.2-.4-.4v-2.5c0-.2.2-.4.4-.4h2c.2 0 .4.2.4.4v2.5zm4.4 0c0 .2-.2.4-.4.4h-1.9c-.3 0-.4-.2-.4-.4v-5.8c0-.3.1-.5.4-.5H13c.2 0 .4.2.4.5v5.8zm4.5 0c0 .2-.2.4-.5.4h-1.9c-.2 0-.4-.2-.4-.4V7.4c0-.2.2-.4.4-.4h1.9c.3 0 .5.2.5.4v9.2z" + } + }, + alert: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16 14.3l-.2.1c-.7.2-1.4-.1-1.7-.8l-1.5-4.1c-1.2-3.2-4.8-4.8-8-3.5-3 1.3-4.4 4.8-3.3 7.8l1.5 4c.2.7-.2 1.4-.8 1.6l-.2.1c-.8.3-1.2 1.2-.9 2l.2.5c.1.2.4.4.7.2l15.9-5.8c.3-.1.4-.5.3-.8l-.2-.5c-.1-.7-1-1.1-1.8-.8zm-3.9 5.8l-3.4 1.3c-.3.1-.3.4-.2.6.5.9 1.7 1.3 2.7.9 1-.4 1.6-1.4 1.5-2.5-.1-.2-.4-.3-.6-.3zm10.6-6.9c.8-2.6.4-5.4-1.1-7.8-1.4-2.3-3.7-3.9-6.4-4.4-.2-.1-.4.1-.4.2l-.3 1.3c0 .2.1.4.3.4 2.1.4 3.9 1.7 5.1 3.6s1.4 4 .9 6.1c-.1.2 0 .4.2.4l1.2.4c.3 0 .5 0 .5-.2zm-5.1-5.4c-.7-1.2-1.9-1.9-3.3-2.2-.2-.1-.4.1-.4.3l-.1 1.3c0 .2 0 .3.2.4.8.2 1.5.6 1.9 1.3.4.7.6 1.5.3 2.3 0 .1.1.3.2.3l1.3.5c.2.1.3 0 .4-.2.5-1.3.3-2.8-.5-4z" + } + }, + all: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M14.6 10c-.6 0-1-.5-1-1V2.5c0-.5.4-1 1-1h6.5c.6 0 1.1.5 1.1 1V9c0 .5-.5 1-1.1 1h-6.5zm2.8 3.8l-3.8 4.1c-.2.2-.2.6 0 .8l3.8 4.1c.2.3.7.3.9 0l3.8-4.1c.2-.2.2-.6 0-.8l-3.8-4.1c-.2-.3-.6-.3-.9 0z" + }, { + "d": "M2.2 3l3.3-1.9c.4-.2.7-.2 1 0L9.8 3c.3.2.5.5.5.9v3.8c0 .3-.2.7-.5.8l-3.3 1.9c-.3.2-.7.2-1 0L2.2 8.5c-.3-.1-.5-.5-.5-.8V3.9c0-.4.2-.7.5-.9z" + }], + "circle": { + "cx": "6", + "cy": "18.185", + "r": "4.292" + } + }, + anchor: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M22.2 16.5L21 11.8c-.1-.5-.7-.7-1.1-.4l-3.6 3.3c-.4.3-.2 1 .3 1.1l1.5.5c-.1.3-.2.6-.4.9-.9 1.4-2.2 2.3-4.3 2.6V8.2c1.2-.5 2-1.7 2-3.1 0-1.8-1.5-3.3-3.4-3.3-1.8 0-3.3 1.5-3.3 3.3 0 1.4.8 2.6 2 3.1v11.6c-2.1-.3-3.5-1.2-4.3-2.6-.2-.3-.3-.6-.4-.9l1.5-.5c.5-.1.6-.8.3-1.1l-3.6-3.3c-.5-.3-1.1-.1-1.2.4l-1.2 4.7c-.1.5.4.9.9.8l1.2-.4c.2.5.4 1 .7 1.5C5.9 20.6 8.4 22 12 22s6-1.4 7.3-3.6c.3-.5.5-1 .7-1.5l1.2.4c.6.1 1-.3 1-.8zM12 6.6c-.7 0-1.3-.6-1.3-1.4s.6-1.3 1.3-1.3 1.3.6 1.3 1.3-.6 1.4-1.3 1.4z" + } + }, + animal_and_nature: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 2.1c1.3-.4 2.6-.7 4-.7s2.7.3 4 .7c.4-.7 1.1-1.2 2-1.2 1.3 0 2.3 1.1 2.3 2.3 0 .4-.1.8-.2 1.1.5.5.9 2 1.1 4.5.2 1.4 1.4 5.5 1.4 6.4 0 3.7-3.5 6.3-10.6 7.9-7.1-1.5-10.6-4.2-10.6-7.9 0-.9 1.1-5 1.4-6.4.2-2.5.6-4 1.2-4.5-.2-.3-.3-.7-.3-1.1C3.7 2 4.7.9 6 .9c.9 0 1.6.5 2 1.2zm1.7 8.4c-.8.2-1.4 1-1.3 1.9l.2 2.8c.1 1.8 1.6 3.3 3.4 3.3 1.8 0 3.3-1.5 3.4-3.3l.2-2.8c.1-.8-.5-1.6-1.3-1.9-.8-.2-1.6-.3-2.5-.3-.7 0-1.4.1-2.1.3zm6.9.1c.8 0 1.4-.8 1.4-1.8s-.6-1.9-1.4-1.9-1.4.8-1.4 1.9.7 1.8 1.4 1.8zm-9.2 0c.7 0 1.4-.8 1.4-1.8s-.7-1.9-1.4-1.9S6 7.7 6 8.8s.6 1.8 1.4 1.8zm6 2.2c-.8.9-2.1.9-2.9 0-.8-1-.1-1.7 1.5-1.7s2.2.8 1.4 1.7z" + } + }, + announcement: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.5 21l-.6-.5c-.7-.5-.7-1.4-.7-1.9v-1.3c0-.4-.3-.7-.7-.7H5.8c-.4 0-.7.3-.7.7v3.6c0 1.2.7 2.2 1.9 2.2h2.2c1.4 0 1.5-.9 1.5-.9s.2-.9-.2-1.2zM20.8 8.3V2c0-1.1-1.4-1.4-2.2-.7l-4.1 3.9c-.6.5-1.4.8-2.3.8h-7C2.8 6 .9 8.1.9 10.5v.1c0 2.4 1.9 4.2 4.3 4.2h7c.9 0 1.7.3 2.4.9l4 4c.8.7 2.2.4 2.2-.7v-6.3c1.4 0 2.2-.9 2.2-2.2 0-1.2-.8-2.2-2.2-2.2z" + } + }, + answer: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 1.8C5.9 1.8.9 6.4.9 12c0 1.8.5 3.5 1.4 5 .1.2.1.4.1.6l-1 3.2c-.2.6.4 1.1 1 .9l3.2-1.1c.2-.1.4-.1.6.1 1.7.9 3.7 1.5 5.8 1.5 6.2 0 11.1-4.5 11.1-10.2C23 6.4 18.1 1.8 12 1.8zm5.3 7.9l-5.6 5.6c-.3.2-.5.3-.8.3-.3 0-.6-.1-.8-.3l-2.7-2.7c-.2-.2-.2-.6 0-.7l.8-.8c.2-.2.5-.2.8 0l1.9 2 4.8-4.8c.3-.3.6-.3.8 0l.8.7c.2.2.2.6 0 .7z" + } + }, + answered_twice: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.1 5.3C4 5.3.7 8.3.7 12c0 1.2.4 2.4 1 3.4 0 .1.1.2 0 .4L1 17.9c-.1.4.2.7.7.6l2.1-.7c.2-.1.4-.1.4 0 1.2.7 2.5 1 3.9 1 4.1 0 7.4-3 7.4-6.8s-3.3-6.7-7.4-6.7zm3.6 5.2l-3.8 3.7c-.1.2-.3.2-.5.2s-.3 0-.5-.2l-1.8-1.8c-.2-.1-.2-.4 0-.5l.5-.5c.1-.1.4-.1.5 0l1.3 1.3 3.2-3.2c.2-.1.4-.1.5 0l.5.5c.2.2.2.4.1.5zm4.1-5.2h-1.9c2.2 1.5 3.8 4 3.8 6.7 0 2.8-1.7 5.4-3.8 6.8h1.9c4.1 0 7.4-3 7.4-6.8 0-3.7-3.3-6.7-7.4-6.7z" + } + }, + apex: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 18.5H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7v-1.3c0-.4-.3-.7-.7-.7zm-10.7-8.4L2.8 2.9c-.3-.2-.7-.2-1 .1l-.7 1.2c-.3.3-.2.7.1.9l6.4 5.1c.2.2.2.6 0 .7L1.2 16c-.3.2-.4.7-.1 1l.7 1.2c.3.3.7.4 1 .1l8.9-7.1c.4-.3.4-.9 0-1.1z" + } + }, + apex_plugin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.1 8.4l5.1-5.2c.3-.2.3-.7 0-.9l-1.1-1.1c-.3-.3-.7-.3-1 0L10 6.3l2.1 2.1zm5.6 5.8L22.8 9c.3-.2.3-.6 0-.9L21.7 7c-.2-.3-.7-.3-.9 0l-5.2 5.1 2.1 2.1zm-.7 4.2c.1-.1.1-.2.2-.4 0-.1 0-.3-.1-.5-.1 0-.1-.1-.1-.1L6.6 7.1c-.1-.2-.3-.2-.5-.2s-.4.1-.5.2c-.1.1-.2.1-.3.2 0 .1-.1.2-.1.2-.1.1-.2.2-.2.3-.1 0-.2.1-.2.2-.1.1-.1.3-.2.4-.1.1-.1.3-.2.4-.1.2-.1.3-.2.5 0 .2-.1.4-.1.6-.1.2-.2.4-.2.6-.1.3-.1.5-.2.8 0 .2-.1.5-.1.7 0 .3-.1.6-.1.9v3.3c0 .5.1.9.1 1.3v.4h.1l-2.4 2.4c-.4.2-.4.7-.1.9l1.7 1.7c.2.3.7.3.9 0l2.4-2.4c.9.1 1.7.2 2.6.2.8 0 1.4 0 2.2-.1.6 0 1.2-.1 1.7-.2s1-.2 1.4-.3c.4-.1.8-.3 1.1-.4.3-.2.5-.3.8-.5.3-.1.6-.4.9-.7l.1-.1z" + } + }, + approval: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.9 13.5h-4.1c-1.2 0-2.2-1-2.2-2.2.2-3.3 1.7-3.5 1.8-5.6.2-2.2-1.2-4.2-3.4-4.7-2.8-.6-5.4 1.6-5.4 4.4 0 2.4 1.6 2.4 1.8 5.9 0 1.2-1 2.2-2.2 2.2H3.1c-1.2 0-2.2.9-2.2 2.2v1.5c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7v-1.5c0-1.3-1-2.2-2.2-2.2zm0 6.6H3.1c-.4 0-.7.3-.7.7v.1c0 1.2 1 2.2 2.2 2.2h14.8c1.2 0 2.2-1 2.2-2.2v-.1c0-.4-.3-.7-.7-.7z" + } + }, + apps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6 1.8H3.2c-.8 0-1.4.6-1.4 1.4V6c0 .8.6 1.4 1.4 1.4H6c.8 0 1.4-.6 1.4-1.4V3.2c0-.8-.6-1.4-1.4-1.4zm0 14.8H3.2c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4H6c.8 0 1.4-.6 1.4-1.4V18c0-.8-.6-1.4-1.4-1.4zm0-7.4H3.2c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4H6c.8 0 1.4-.6 1.4-1.4v-2.8c0-.8-.6-1.4-1.4-1.4zm7.4-7.4h-2.8c-.8 0-1.4.6-1.4 1.4V6c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4V3.2c0-.8-.6-1.4-1.4-1.4zm0 14.8h-2.8c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4V18c0-.8-.6-1.4-1.4-1.4zm0-7.4h-2.8c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4v-2.8c0-.8-.6-1.4-1.4-1.4zm7.4-7.4H18c-.8 0-1.4.6-1.4 1.4V6c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4V3.2c0-.8-.6-1.4-1.4-1.4zm0 14.8H18c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4V18c0-.8-.6-1.4-1.4-1.4zm0-7.4H18c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4v-2.8c0-.8-.6-1.4-1.4-1.4z" + } + }, + archive: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.9 1.1H3.1C1.9 1.1.9 2.1.9 3.3v2.2c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7V3.3c0-1.2-1-2.2-2.2-2.2zm.6 7h-19c-.4 0-.7.3-.7.7V21c0 1.2 1 2.2 2.2 2.2h16.1c1.2 0 2.2-1 2.2-2.2V8.8c-.1-.4-.4-.7-.8-.7zm-6.4 3.7H8.9c-.5 0-1-.4-1-1s.5-.9 1-.9h6.2c.5 0 1 .4 1 .9s-.5 1-1 1z" + } + }, + arrowdown: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.4 14.3c-.3.4-.3.9 0 1.3l7 6.7c.3.4.9.4 1.2 0l7-6.7c.4-.4.4-.9 0-1.3l-1.3-1.2c-.3-.4-.9-.4-1.3 0l-2.1 2.1c-.4.4-1.1.1-1.1-.4V2.3c0-.5-.4-.9-.9-.9h-1.8c-.5 0-.9.5-.9.9v12.5c0 .5-.7.8-1.1.4L7 13.1c-.4-.4-1-.4-1.3 0l-1.3 1.2z" + } + }, + arrowup: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.1 9.7c.4-.4.4-.9 0-1.3l-6.9-6.7c-.4-.4-.9-.4-1.3 0L4 8.4c-.4.4-.4.9 0 1.3l1.3 1.2c.3.4.9.4 1.3 0l2.1-2.1c.4-.4 1-.1 1 .4v12.5c0 .5.5.9 1 .9h1.8c.5 0 .9-.5.9-.9V9.2c0-.5.7-.8 1-.4l2.2 2.1c.4.4.9.4 1.3 0l1.2-1.2z" + } + }, + assignment: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M1.7 13.8h20.5c.5 0 .8.3.8.7V16c0 .4-.3.7-.8.7H1.7c-.5 0-.8-.3-.8-.7v-1.5c0-.4.3-.7.8-.7zm0-6.6h20.5c.5 0 .8.3.8.7v1.5c0 .4-.3.8-.8.8H1.7c-.5 0-.8-.4-.8-.8V7.9c0-.3.3-.7.8-.7z" + } + }, + attach: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.1 16.9c.3.3.7.3 1 0l4.6-4.6c.3-.3.9-.3 1.3 0 .4.4.4 1 0 1.4l-5.7 5.6c-1.2 1.2-3.3 1.2-4.5 0l-.1-.1c-1.2-1.2-1.2-3.3 0-4.5l10-10c1.3-1.3 3.3-1.3 4.6 0 1.3 1.3 1.3 3.3 0 4.6-.2.3-.3.6-.1.9.3.5.5 1 .6 1.6.1.3.6.4.8.2l.7-.7c2.4-2.4 2.4-6.2 0-8.6h-.1C18.9.4 15 .4 12.7 2.7l-10 10c-2.4 2.3-2.4 6.2 0 8.5l.1.1c2.3 2.4 6.1 2.4 8.5 0l5.7-5.7c1.5-1.4 1.4-3.8-.1-5.3-1.5-1.4-3.9-1.3-5.3.1L7.1 15c-.3.2-.3.7 0 1l1 .9z" + } + }, + automate: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 7.6c-2.4 0-4.4 2-4.4 4.4s2 4.5 4.4 4.5c2.5 0 4.5-2 4.5-4.5s-2-4.4-4.5-4.4zm0 7.7c-1.8 0-3.2-1.5-3.2-3.3 0-1.8 1.4-3.3 3.2-3.3 1.8 0 3.3 1.5 3.3 3.3 0 1.8-1.5 3.3-3.3 3.3zm10.8-.5c.2-.9.3-1.8.3-2.8 0-1-.1-1.9-.3-2.8h-1.3c-.2-.7-.5-1.4-.8-2l.9-.8c-1-1.6-2.3-3-4-4l-.8.9c-.6-.3-1.3-.6-2-.8V1.3c-.9-.2-1.8-.4-2.8-.4-1 0-1.9.2-2.8.4v1.2c-.7.2-1.3.5-1.9.8l-.9-.9c-1.7 1-3 2.4-4 4l.9.9c-.3.6-.6 1.2-.8 1.9H1.3c-.2.9-.4 1.8-.4 2.8s.2 1.9.4 2.8h1.2c.2.7.5 1.4.8 2l-.9.8c1 1.6 2.4 3 4 4l.9-.9c.6.3 1.2.6 1.9.8v1.3c.9.2 1.9.3 2.8.3 1 0 1.9-.1 2.9-.3v-1.3c.7-.2 1.3-.5 1.9-.8l.9.9c1.6-1 3-2.3 3.9-4l-.8-.8c.3-.6.6-1.3.8-2h1.2zm-2.7 3c-.3.4-.7.8-1.1 1.2-.4.4-.8.8-1.2 1.1l-.9-.9c-.9.7-2.1 1.2-3.3 1.4v1.2c-.5.1-1 .1-1.6.1-.6 0-1.1 0-1.6-.1v-1.2c-1.2-.2-2.4-.7-3.3-1.4l-.9.9c-.4-.3-.8-.7-1.2-1.1-.4-.4-.8-.8-1.1-1.2l.9-.9c-.7-.9-1.2-2.1-1.4-3.3H2.2c-.1-.5-.1-1-.1-1.6 0-.6 0-1.1.1-1.6h1.3c.2-1.2.7-2.4 1.3-3.3L4 6.2c.3-.4.7-.8 1-1.2.4-.4.8-.8 1.2-1.1l.9.9c1-.7 2.1-1.2 3.3-1.4V2.2c.5-.1 1.1-.1 1.6-.1.6 0 1.1 0 1.7.1v1.3c1.2.2 2.3.7 3.3 1.3l.9-.8c.4.3.8.6 1.2 1 .3.4.7.8 1 1.2l-.9.9c.7 1 1.2 2.1 1.4 3.3h1.3c.1.5.1 1.1.1 1.6 0 .6 0 1.1-.1 1.7h-1.3c-.2 1.2-.7 2.3-1.4 3.3l.9.8z" + } + }, + away: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.8 4.2C15.5-.1 8.5-.1 4.2 4.2s-4.3 11.3 0 15.6 11.3 4.3 15.6 0 4.3-11.3 0-15.6zM6.1 6.1c3.3-3.2 8.6-3.2 11.8 0 1.3 1.3 2.1 2.9 2.3 4.5H3.8c.3-1.6 1-3.2 2.3-4.5z" + } + }, + back: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 10.6H7.1c-.4 0-.6-.5-.3-.8l4.4-4.4c.3-.3.3-.7 0-1l-1-1c-.3-.3-.7-.3-1 0l-8 8.1c-.3.3-.3.7 0 1l8 8.1c.3.3.7.3 1 0l1-1c.2-.3.2-.7 0-1l-4.5-4.4c-.2-.3-.1-.8.4-.8h15.3c.4 0 .7-.3.7-.7v-1.3c0-.4-.3-.8-.7-.8z" + } + }, + ban: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm5.5 11.9c-.1.3-.3.6-.7.6H7.2c-.4 0-.6-.2-.7-.6v-1.6c.1-.3.3-.6.7-.6h9.6c.4 0 .6.3.7.6v1.6z" + } + }, + block_visitor: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M29.9 8.8V9v-.2z" + }, { + "d": "M10.2 17.1c0-1.3.4-2.7 1-3.8.8-1.4 1.7-1.9 2.4-3 1.1-1.7 1.4-4.1.6-6-.7-1.9-2.5-3-4.5-2.9S6 2.7 5.4 4.6c-.8 2-.5 4.5 1.2 6.1.7.7 1.3 1.7 1 2.6-.4 1-1.5 1.4-2.2 1.7-1.8.8-4 1.9-4.4 4.1-.4 1.7.8 3.5 2.7 3.5h7.9c.4 0 .6-.4.4-.7-1.2-1.4-1.8-3.1-1.8-4.8zm11.3-3.9c-2.2-2.2-5.7-2.2-7.9 0s-2.2 5.6 0 7.8 5.7 2.2 7.9 0 2.1-5.7 0-7.8zm-6.6 1.2c1.3-1.2 3.1-1.4 4.5-.5l-5 5.1c-.9-1.5-.7-3.3.5-4.6zm5.3 5.3c-1.3 1.2-3.1 1.4-4.6.6l5.1-5.1c.9 1.4.7 3.3-.5 4.5z" + }] + }, + bold: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.9 8.8c0-2.8-2.2-5.1-4.8-5.1H6.5c-.5 0-1 .4-1 .9v15.2c0 .6.5 1 1 1h7.6c2.6 0 4.8-2.3 4.8-5.1 0-1.3-.5-2.5-1.3-3.5.8-.9 1.3-2.1 1.3-3.4zm-4.8 8.7H8.8v-3.7h5.3c.9 0 1.6.9 1.6 1.9s-.7 1.8-1.6 1.8zm0-6.9H8.8V6.9h5.3c.9 0 1.6.9 1.6 1.9s-.7 1.8-1.6 1.8z" + } + }, + bookmark: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.2 22.9l-4.6-4.6c-.2-.3-.6-.3-.9 0l-4.9 4.6c-.3.3-.8.1-.8-.3V2.8C6 1.8 6.8.9 7.8.9h8.4c1 0 1.8.9 1.8 1.9v19.8c0 .4-.5.6-.8.3z" + } + }, + breadcrumbs: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.9 19.4c-.3 0-.5-.2-.5-.5V5c0-.2.2-.4.5-.4h3.7c.2 0 .4.1.6.2l5.3 6.7c.2.3.2.6 0 .9l-5.4 6.8c-.1.1-.3.2-.6.2H3.9zm16.5-7.9L15 4.8c-.2-.2-.6-.3-.9 0l-1.1.8c-.3.3-.4.7-.1 1l4.4 5.4-4.4 5.4c-.2.3-.2.8.1 1l1.1.9c.3.2.7.2.9-.1l5.4-6.7c.2-.4.2-.7 0-1z" + } + }, + broadcast: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M.9 8.8c0 2.7 1.1 5.2 3 7.1.4.4 1 .4 1.4 0 .4-.5.4-1.1 0-1.5C3.8 12.9 3 10.9 3 8.8c0-2.2.8-4.2 2.3-5.7.4-.4.4-1 0-1.4-.4-.4-1-.4-1.4 0C2 3.6.9 6.1.9 8.8zm5.9 4.1c.4.4 1 .4 1.5 0 .4-.4.4-1 0-1.4-.7-.8-1.2-1.7-1.2-2.7 0-1.1.4-2 1.2-2.7.4-.4.4-1.1 0-1.5-.5-.4-1.1-.4-1.5 0-1.1 1.1-1.7 2.6-1.7 4.2 0 1.5.6 3 1.7 4.1zM20.1 1.7c-.4-.4-1.1-.4-1.5 0-.4.4-.4 1 0 1.4 1.5 1.5 2.3 3.5 2.4 5.7-.1 2.1-.9 4.1-2.4 5.6-.4.4-.4 1 0 1.5.4.4 1.1.4 1.5 0C22 14 23 11.5 23 8.8c0-2.7-1-5.2-2.9-7.1zm-1.2 7.1c0-1.6-.7-3.1-1.8-4.2-.4-.4-1-.4-1.4 0-.4.4-.4 1.1 0 1.5.7.7 1.1 1.6 1.1 2.7 0 1-.4 1.9-1.1 2.7-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0 1.1-1.1 1.8-2.6 1.8-4.1zM10.9 11.2c-1-.4-1.6-1.3-1.6-2.5C9.3 7.2 10.5 6 12 6c1.5 0 2.7 1.2 2.7 2.7 0 1.2-.7 2.1-1.7 2.5v10.9c0 .3-.2.5-.5.5h-1.1c-.2 0-.5-.2-.5-.5V11.2z" + } + }, + brush: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.8 1.2c-1.6-1.6-10.3 3.4-15.7 12-.2.4-.1.9.3 1.1 1.2.6 2.2 1.6 2.7 2.8.2.5.7.6 1.1.3C19.5 12 24.4 2.9 22.8 1.2zm-17.3 15c-.7 0-1.3.4-1.8.9h-.1c-.2 0-.4.3-.6.7-.7 1.2-.9 2.7-2 4.3-.2.3-.1.7.2.8 1.6.5 4.4 0 5.8-1v.1c.4-.1.3-.3.4-.3.5-.9 1-1.4 1-2.3-.1-1.7-1.3-3.2-2.9-3.2z" + } + }, + bucket: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.6 5.1c0-2.9-4.5-4.2-8.8-4.2S5.1 2.2 5.1 5.1v.2C1.1 6.5.5 9 .5 10.4c0 1.4.7 2.8 1.9 3.9 1 .8 2.3 1.3 3.6 1.4h.4c3-.1 5.9-1.1 6.8-2.7-.5-.4-.7-.9-.7-1.5 0-1 .8-1.8 1.8-1.8s1.9.8 1.9 1.8c0 .8-.5 1.5-1.2 1.7-.9 2.6-4.6 4.3-9 4.3v2.8c0 1.5 3.5 2.8 7.8 2.8s7.9-1.3 7.9-2.8V7.1c.6-.6.9-1.2.9-2zm-8.8-1.4c3.1 0 5 .7 5.8 1.2.1.1.1.3 0 .4-.8.5-2.7 1.2-5.8 1.2s-4.9-.7-5.7-1.2c-.1-.1-.1-.3 0-.4.8-.5 2.7-1.2 5.7-1.2zM3.6 12.8c-.8-.6-1.3-1.5-1.3-2.4 0-2 1.9-3 3.6-3.4l.1.1v6.7c-.9 0-1.8-.4-2.4-1z" + } + }, + builder: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.3 7.8H1.6c-.4 0-.7.4-.7.7v11.8c0 1 .9 1.9 1.9 1.9h2.5c.4 0 .7-.4.7-.7v-13c0-.3-.3-.7-.7-.7zm17.1 0H8.5c-.3 0-.7.4-.7.7v13c0 .3.4.7.7.7h12.7c1 0 1.9-.9 1.9-1.9V8.5c0-.3-.3-.7-.7-.7zm-1.2-6H2.8c-1 0-1.9.9-1.9 1.9v1.6c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V3.7c0-1-.9-1.9-1.9-1.9z" + } + }, + call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 17.5l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.7 2.4 9.1 5.5 12.3s7.6 5.2 12.3 5.5c.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6z" + } + }, + campaign: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .4C5.6.4.4 5.6.4 12S5.6 23.6 12 23.6 23.6 18.4 23.6 12 18.4.4 12 .4zm0 20.9c-5.1 0-9.3-4.2-9.3-9.3S6.9 2.7 12 2.7s9.3 4.2 9.3 9.3-4.2 9.3-9.3 9.3zM12 5c-3.8 0-7 3.2-7 7s3.2 7 7 7 7-3.2 7-7-3.2-7-7-7zm0 11.7c-2.5 0-4.7-2.1-4.7-4.7S9.5 7.3 12 7.3s4.7 2.2 4.7 4.7-2.2 4.7-4.7 4.7zm0-7c-1.3 0-2.3 1.1-2.3 2.3s1.1 2.3 2.3 2.3 2.3-1.1 2.3-2.3-1-2.3-2.3-2.3z" + } + }, + cancel_file_request: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.2 5.3h2.4c.2 0 .5-.3.5-.5s-.1-.3-.2-.4l-3.3-3.3c-.1-.1-.2-.1-.3-.1-.3 0-.5.2-.5.5v2.3c0 .8.6 1.5 1.4 1.5zm-1.8 13.4c0-3.1 1.9-5.8 4.7-6.8V8.1c0-.4-.4-.7-.8-.7h-3.6c-1.2 0-2.1-1-2.1-2.1V1.7c0-.4-.3-.7-.7-.7H3.1C1.9 1 1 1.9 1 3.1v13.6c0 1.2.9 2.1 2.1 2.1h8.3v-.1zm3.3-2.7l2.7 2.7-2.7 2.8c-.3.3-.3.7 0 1l.3.3c.3.3.7.3 1 0l2.7-2.8 2.8 2.8c.3.3.7.3 1 0l.3-.3c.3-.3.3-.8 0-1L20 18.7l2.8-2.7c.3-.3.3-.8 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.7-2.7-2.7c-.3-.3-.8-.3-1 0l-.3.3c-.3.2-.3.7 0 1z" + } + }, + cancel_transfer: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.6 5.7V4.3c1.8 0 3.3 1.5 3.3 3.3h-1.4l2.1 2.6c.2.2.4.2.5 0l2.1-2.6h-1.4c0-2.9-2.4-5.2-5.3-5.2V1L8.9 3.1c-.1.1-.1.3.1.4l2.6 2.2zm.5 9.8c-.5-.7-1.6-1.2-2.6-1.7-1.1-.5-1.3-1-1.3-1.4s.3-1 .7-1.3c.6-.6.9-1.5.9-2.5 0-1.8-1.1-3.4-3-3.4h-.2c-1.8 0-3 1.6-3 3.4 0 1 .4 1.9 1 2.5.4.3.7.8.7 1.3 0 .4-.2.9-1.3 1.4-1.6.6-3 1.4-3.1 2.9.2 1 .9 1.8 1.8 1.8h8.2c.2 0 .4-.1.5-.1 0-1 .3-2 .7-2.9zm2.6.5l2.7 2.7-2.7 2.8c-.3.3-.3.7 0 1l.3.3c.3.3.7.3 1 0l2.7-2.8 2.8 2.8c.3.3.7.3 1 0l.3-.3c.3-.3.3-.8 0-1L20 18.7l2.8-2.7c.3-.3.3-.8 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.7-2.7-2.7c-.3-.3-.8-.3-1 0l-.3.3c-.3.2-.3.7 0 1z" + } + }, + capslock: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.1 9.7l-7.5-8.5c-.3-.4-.9-.4-1.2 0L3.9 9.7c-.3.4-.1.9.4.9h3.5v5.8c0 .4.4.7.7.7h7c.3 0 .7-.3.7-.7v-5.8h3.5c.5 0 .7-.5.4-.9zm-4.6 10.1h-7c-.3 0-.7.4-.7.7v1.9c0 .4.4.7.7.7h7c.3 0 .7-.3.7-.7v-1.9c0-.3-.4-.7-.7-.7z" + } + }, + cart: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M9.3 12h11c.3 0 .7-.2.7-.6l2-7.1c.2-.5-.2-.9-.7-.9h-17l-.3-1c-.1-.6-.6-.9-1-.9H2.1C1.5 1.5 1 2 .9 2.6c0 .6.5 1.2 1.1 1.2h1.1l3.5 11.8c.1.6.6.9 1.1.9h13c.6 0 1.1-.5 1.2-1.1 0-.6-.5-1.2-1.1-1.2H9.3c-.5 0-.9-.3-1-.8-.3-.7.3-1.4 1-1.4z" + }, + "circle": [{ + "cx": "9.508", + "cy": "20.585", + "r": "1.846" + }, { + "cx": "18.508", + "cy": "20.585", + "r": "1.846" + }] + } + }, + case: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M7.9 5.2h1.4c.2 0 .3-.1.3-.3v-1h4.8v1c0 .2.1.3.3.3H16c.2 0 .3-.1.3-.3v-1c0-1.1-.9-2.1-2-2.1H9.6c-1.1 0-2 1-2 2.1v1c0 .2.1.3.3.3zm12.2 2H3.9c-1.1 0-2.1 1-2.1 2.1v10.8c0 1.1 1 2.1 2.1 2.1h16.2c1.1 0 2.1-1 2.1-2.1V9.3c0-1.1-1-2.1-2.1-2.1z" + } + }, + cases: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.2 1.6c0-.4-.4-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v14.3c0 .4.3.7.7.7h1.9c.3 0 .7-.3.7-.7V1.6zm18.9 0c0-.4-.3-.7-.7-.7h-1.9c-.3 0-.7.3-.7.7v14.3c0 .4.4.7.7.7h1.9c.4 0 .7-.3.7-.7V1.6zM17.3.9h-1.4c-.3 0-.7.4-.7.8v5.7c0 .2.1.3.3.4.8.4 1.5.9 2.1 1.5.1.2.4.1.4-.1V1.7c0-.4-.3-.8-.7-.8zM11.1 7h1.8c.3 0 .5-.2.5-.4V1.7c0-.4-.3-.8-.7-.8h-1.4c-.4 0-.7.4-.7.8v4.9c0 .2.2.5.5.4zM6.4 9.3c.6-.6 1.4-1.1 2.1-1.5.2-.1.3-.2.3-.4V1.7c0-.4-.4-.8-.7-.8H6.7c-.4 0-.7.4-.7.8v7.5c0 .2.2.3.4.1zm5.6-.5c-3.3 0-6 2.7-6 6 0 1 .3 2 .7 2.9L3.5 21c-.3.2-.3.6 0 .9l.9 1c.3.3.7.3 1 0l3.2-3.2c1 .7 2.2 1.1 3.4 1.1 3.3 0 6-2.7 6-6s-2.7-6-6-6zm0 9.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.2S13.8 18 12 18z" + } + }, + center_align_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 3c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V3zm-2.8 5.5c0-.3-.3-.7-.7-.7H5.3c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h13.4c.4 0 .7-.3.7-.7V8.5zm-.9 11.1c0-.4-.4-.7-.7-.7H6.2c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h11.6c.3 0 .7-.3.7-.7v-1.4zm3.7-5.5c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7v-1.4z" + } + }, + change_owner: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.6 17.4c-1.4-.6-1.6-1.1-1.6-1.7 0-.5.4-1 .8-1.4.8-.7 1.2-1.8 1.2-3 0-2.2-1.3-3.9-3.8-3.9s-3.8 1.7-3.8 3.9c0 1.2.3 2.3 1.2 3 .4.4.8.9.8 1.4 0 .6-.2 1.1-1.6 1.7-2.1.8-4 1.7-4 3.5 0 1.2 1 2.2 2.1 2.2h10.6c1.2 0 2.1-1 2.1-2.2 0-1.7-2-2.7-4-3.5zm7.9-8.6c0-3.4-2.8-6.3-6.2-6.3V.9l-3.1 2.6c-.2.1-.1.3 0 .5l3.1 2.5V4.8c2.2 0 3.9 1.8 3.9 4h-1.6l2.6 3.1c.1.1.3.1.5 0l2.5-3.1h-1.7z" + } + }, + change_record_type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.2 17.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7v-5.1zm-5.5-7.1H1.5c-.5 0-.7.4-.4.6l3.7 3.8c.1.2.4.2.6 0l3.7-3.8c.3-.3 0-.6-.4-.6H6.5c0-2.4 2.3-4.7 4.6-4.7V2.8c-4.2 0-7.4 3.2-7.4 7.4zm15.6-.8c-.2-.2-.5-.2-.7 0L15 13.2c-.3.3-.1.6.4.6h2.2c0 2.8-1.9 4.7-4.7 4.7v2.7c4.2 0 7.5-3.2 7.5-7.4h2.2c.5 0 .7-.4.4-.6l-3.7-3.8zm3.8-7.8c0-.4-.3-.7-.7-.7h-6.9c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7V1.6z" + } + }, + chart: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21 10.8L11.5 16c-.6.3-1.3-.1-1.3-.8V3.9c0-.5-.5-.9-.9-.7-4.6 1.3-8 5.8-7.4 10.9.5 4.6 4.2 8.4 8.9 8.9 6.2.7 11.4-4.1 11.4-10.1 0-.5-.1-1.1-.2-1.6s-.6-.7-1-.5zm-8.2 2.1l9.1-4.8c.5-.3.7-1 .3-1.5-2-2.9-5.3-5-9-5.6-.6-.1-1.2.4-1.2 1v10.5c0 .4.4.6.8.4z" + } + }, + chat: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 1.8C5.9 1.8 1 6.4 1 12c0 1.7.5 3.4 1.3 4.8.1.3.2.6.1.8l-1.4 4c-.2.3.2.6.6.6l3.9-1.6c.3-.1.5 0 .8.1 1.7.9 3.7 1.5 5.8 1.5 6 0 11-4.5 11-10.2C23 6.4 18.1 1.8 12 1.8zm-5.5 12c-1.1 0-1.9-.8-1.9-1.8s.8-1.8 1.9-1.8 1.8.8 1.8 1.8-.8 1.8-1.8 1.8zm5.5 0c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8 1.8.8 1.8 1.8-.8 1.8-1.8 1.8zm5.5 0c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8 1.9.8 1.9 1.8-.8 1.8-1.9 1.8z" + } + }, + check: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.8 19.6L1.2 12c-.3-.3-.3-.8 0-1.1l1-1c.3-.3.8-.3 1 0L9 15.7c.1.2.5.2.6 0L20.9 4.4c.2-.3.7-.3 1 0l1 1c.3.3.3.7 0 1L9.8 19.6c-.2.3-.7.3-1 0z" + } + }, + checkin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C7.2.9 3.2 4.8 3.2 9.7c0 6.1 6.3 11.7 8.2 13.2.4.3.8.3 1.2 0 1.9-1.5 8.2-7.1 8.2-13.2 0-4.9-4-8.8-8.8-8.8zm0 12.5c-2 0-3.7-1.7-3.7-3.7S10 6 12 6s3.7 1.7 3.7 3.7-1.7 3.7-3.7 3.7z" + } + }, + chevrondown: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22 8.2l-9.5 9.6c-.3.2-.7.2-1 0L2 8.2c-.2-.3-.2-.7 0-1l1-1c.3-.3.8-.3 1.1 0l7.4 7.5c.3.3.7.3 1 0l7.4-7.5c.3-.2.8-.2 1.1 0l1 1c.2.3.2.7 0 1z" + } + }, + chevronleft: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.8 22l-9.6-9.4c-.3-.3-.3-.8 0-1.1l9.6-9.4c.3-.3.7-.3 1 0l1 1c.3.3.3.7 0 1l-7.6 7.4c-.3.3-.3.8 0 1.1l7.5 7.4c.3.3.3.7 0 1l-1 1c-.2.2-.6.2-.9 0z" + } + }, + chevronright: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.3 2l9.5 9.5c.3.3.3.7 0 1L8.3 22c-.3.2-.8.2-1.1 0l-1-1c-.2-.3-.2-.8 0-1.1l7.6-7.4c.2-.3.2-.7 0-1L6.3 4.1C6 3.8 6 3.3 6.3 3l1-1c.3-.2.7-.2 1 0z" + } + }, + chevronup: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M2 15.8l9.5-9.6c.3-.2.7-.2 1 0l9.5 9.6c.2.3.2.7 0 1l-1 1c-.3.3-.8.3-1.1 0l-7.4-7.6c-.3-.2-.7-.2-1 0l-7.4 7.6c-.3.2-.8.2-1.1 0l-1-1c-.2-.3-.2-.7 0-1z" + } + }, + choice: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "circle": { + "cx": "12", + "cy": "12", + "r": "5.169" + }, + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.2c-4.5 0-8.1-3.6-8.1-8.1S7.5 3.9 12 3.9s8.1 3.6 8.1 8.1-3.6 8.1-8.1 8.1z" + } + } + }, + classic_interface: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.8 16.5v-3.9S10 15.2 8.9 17s-1 3.2-1 3.2c0 1.4 1.1 2.6 2.4 2.6.8 0 1.5-.4 1.9-1.1.4.6 1 1 1.8 1 1.3 0 2.3-1.2 2.3-2.7v-.4c0-1.9-4.3-7.1-4.3-7.1v4l.6 1.3v.2c0 .3-.2.6-.6.6-.3 0-.6-.3-.6-.6 0 0 0-.1.1-.2l.3-1.3m-4.5-3.4l3.7-1.4s-3-.8-5.1-1.2c-2.2-.4-3.4.3-3.4.3-1.3.5-2.1 1.8-1.7 3 .3.8 1 1.3 1.7 1.5-.4.6-.5 1.3-.2 2 .4 1.2 1.9 1.8 3.2 1.3.2 0 .3-.1.4-.2 1.9-.6 5.2-6.4 5.2-6.4l-3.6 1.3h-.1l-1.1 1c0 .1-.1.1-.1.1-.3.1-.7 0-.8-.4-.1-.3 0-.7.4-.8H6l1.3-.1m1.9-5.5l2.3 3.2s-.1-3.2-.3-5.3C11 3.4 10 2.3 10 2.3 9.1 1.2 7.6.8 6.6 1.6c-.6.5-.9 1.3-.9 2-.7-.2-1.4-.1-2 .3-1 .8-1.2 2.4-.3 3.5.1.1.2.3.2.4 1.2 1.5 7.8 3.1 7.8 3.1L9 7.8 7.7 7l-.1-.1c-.2-.3-.2-.7.1-.9.3-.2.7-.1.9.1 0 .1 0 .1.1.2l.5 1.3m7.5 5.5L13 11.7s3-.8 5.1-1.2c2.2-.4 3.4.3 3.4.3 1.3.5 2.1 1.8 1.7 3-.3.8-1 1.3-1.7 1.5.4.6.5 1.3.2 2-.4 1.2-1.9 1.8-3.2 1.3-.2 0-.3-.1-.4-.2-1.9-.6-5.2-6.4-5.2-6.4l3.6 1.3h.1l1.1 1c0 .1.1.1.1.1.3.1.7 0 .8-.4.1-.3 0-.7-.4-.8H18l-1.3-.1m-2.1-5.5l-2.3 3.2s.2-3.2.3-5.3 1.2-3.2 1.2-3.2c.9-1.1 2.4-1.5 3.4-.7.7.5.9 1.3.9 2 .7-.1 1.4 0 2 .4 1 .8 1.1 2.3.3 3.5l-.3.3c-1.1 1.5-7.6 3.1-7.6 3.1l2.3-3.1.1-.1 1.2-.7.1-.2c.2-.2.2-.6-.1-.8-.3-.2-.6-.2-.9.1 0 0 0 .1-.1.1l-.5 1.4" + } + }, + clear: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm2.3 11.5l3.6 3.6c.1.2.1.4 0 .6l-1.3 1.3c-.2.2-.5.2-.7 0l-3.6-3.6c-.2-.2-.4-.2-.6 0l-3.6 3.6c-.2.2-.5.2-.7 0l-1.3-1.3c-.1-.2-.1-.4 0-.6l3.6-3.6c.2-.2.2-.5 0-.7L6.1 8.1c-.2-.2-.2-.5 0-.7l1.3-1.3c.2-.1.4-.1.6 0l3.7 3.7c.2.2.4.2.6 0l3.6-3.6c.2-.2.5-.2.7 0l1.3 1.3c.1.2.1.4 0 .6l-3.6 3.6c-.2.2-.2.5 0 .7z" + } + }, + clock: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.4c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3zm1.6-8.2c-.2-.1-.2-.3-.2-.5V7.2c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v5.5c0 .2.1.4.2.5l3.4 3.5c.3.2.7.2 1 0l1-1c.2-.3.2-.7 0-1l-2.6-2.6z" + } + }, + close: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.3 11.7l6-6c.3-.3.3-.7 0-1l-.9-1c-.3-.2-.7-.2-1 0l-6 6.1c-.2.2-.5.2-.7 0l-6-6.1c-.3-.3-.7-.3-1 0l-1 1c-.2.2-.2.7 0 .9l6.1 6.1c.2.2.2.4 0 .6l-6.1 6.1c-.3.3-.3.7 0 1l1 1c.2.2.7.2.9 0l6.1-6.1c.2-.2.4-.2.6 0l6.1 6.1c.2.2.7.2.9 0l1-1c.3-.3.3-.7 0-1l-6-6c-.2-.2-.2-.5 0-.7z" + } + }, + collapse_all: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 4.4c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7V4.4zm0 13.8c0-.3-.4-.7-.7-.7h-19c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7v-1.4zm-6.3-4.8c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7H8.1c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h7.8z" + } + }, + collection_variable: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.8.9H3.2C1.9.9.9 1.9.9 3.2v17.6c0 1.2 1 2.3 2.3 2.3h17.6c1.2 0 2.3-1 2.3-2.3V3.2c0-1.3-1-2.3-2.3-2.3zm-1.1 18.2c-.1.3-.4.5-.7.5H4.7c-.3 0-.5-.3-.5-.6V4.9c0-.3.3-.5.6-.5h14.3c.3 0 .5.3.5.6v14.1zm-4.5-8.8c.5 0 1.5-.3 1.5-1.6s-1-1.4-1.2-1.4c-.6 0-1.1.5-1.7 1.3l-1 1.8c-.2-.6-.2-1.1-.3-1.4-.1-.5-.7-1.6-2-1.6-1.2 0-2.4.7-2.4.7-.2.2-.3.4-.3.7 0 .4.3.8.7.8.2 0 .3-.1.4-.1 0 0 .9-.6 1.1 0 .1.1.1.3.2.5.2.8.5 1.8.6 2.6l-.8 1.2s-.9-.3-1.4-.3-1.4.4-1.4 1.7.9 1.3 1.2 1.3c.5 0 1.1-.4 1.6-1.2l1-1.8c.2.8.3 1.4.4 1.6.3.9 1 1.5 2 1.5 0 0 1 0 2.2-.7.2-.1.4-.3.4-.7 0-.4-.3-.8-.8-.8-.1 0-.2.1-.3.1 0 0-.8.5-1.1.1-.2-.3-.4-.9-.5-1.5-.1-.5-.3-1.2-.4-1.9l.9-1.2s1 .3 1.4.3z" + } + }, + color_swatch: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.4 4.4l3.2 3.2c.7.8.7 1.9 0 2.7l-8.5 8.5V7l2.6-2.6c.8-.7 1.9-.7 2.7 0zm6.7 12.2v4.6c0 1.1-.8 1.9-1.9 1.9H9.7l8.3-8.3h3.2c1.1 0 1.9.8 1.9 1.8zM.9 18.9V2.8C.9 1.7 1.7.9 2.8.9h4.6c1 0 1.8.8 1.8 1.9v16.1c0 2.3-1.8 4.2-4.1 4.2S.9 21.2.9 18.9zm4.2 1.9c1 0 1.8-.9 1.8-1.9s-.8-1.8-1.8-1.8-1.9.8-1.9 1.8.9 1.9 1.9 1.9z" + } + }, + comments: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.1 14.3c-.1-.2-.1-.4 0-.5.6-1.1 1-2.3 1-3.6 0-4.1-3.5-7.4-7.9-7.4-2 0-3.8.8-5.2 2 4.7.5 8.5 4.4 8.5 9.1 0 1.1-.3 2.3-.7 3.3.5-.2 1-.4 1.5-.7.2-.1.4-.1.5 0l2.9 1.1c.2.1.5-.2.4-.4l-1-2.9zM8.8 6.5C4.4 6.5.9 9.8.9 13.9c0 1.3.4 2.5 1 3.5.1.2.1.4 0 .6l-1 2.8c-.1.3.2.5.4.4l2.9-1.1c.1 0 .3 0 .5.1 1.2.7 2.6 1 4.1 1 4.3 0 7.8-3.3 7.8-7.4 0-4-3.5-7.3-7.8-7.3z" + } + }, + company: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.7 1.8H3.2c-.8 0-1.4.6-1.4 1.4v18.5c0 .2.3.5.5.5h1.9c.2 0 .4-.2.4-.5v-2.8c0-.3.2-.4.5-.4h2.7c.3 0 .5.1.5.4v2.8c0 .3.2.5.5.5h1.4c.5 0 .9-.5.9-1v-18c0-.8-.6-1.4-1.4-1.4zM5.5 16.4c0 .1-.1.2-.2.2H3.9c-.1 0-.2-.1-.2-.2v-2.3c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H3.9c-.1 0-.2-.1-.2-.2V9.5c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H3.9c-.1 0-.2-.1-.2-.2V4.8c0-.1.1-.2.2-.2h1.4c.1 0 .2.1.2.2v2.4zm3.7 9.2c0 .1-.1.2-.2.2H7.6c-.1 0-.2-.1-.2-.2v-2.3c0-.2.1-.3.2-.3H9c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H7.6c-.1 0-.2-.1-.2-.2V9.5c0-.2.1-.3.2-.3H9c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H7.6c-.1 0-.2-.1-.2-.2V4.8c0-.1.1-.2.2-.2H9c.1 0 .2.1.2.2v2.4zm11.6-.7h-6.5c-.8 0-1.4.6-1.4 1.3v13.9c0 .2.3.5.5.5h1.8c.3 0 .5-.2.5-.5v-2.8c0-.3.2-.4.5-.4h2.7c.3 0 .5.1.5.4v2.8c0 .3.2.5.4.5h1.4c.5 0 1-.5 1-1V7.8c0-.7-.6-1.3-1.4-1.3zm-4.2 9.9c0 .1-.1.2-.2.2H15c-.1 0-.2-.1-.2-.2v-2.3c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H15c-.1 0-.2-.1-.2-.2V9.5c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm3.7 4.6c0 .1-.1.2-.2.2h-1.4c-.1 0-.2-.1-.2-.2v-2.3c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2h-1.4c-.1 0-.2-.1-.2-.2V9.5c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3z" + } + }, + component_customization: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 2.5C23.1.9 21.8.9 21.8.9H2.3C2 1 .9 1.1.9 2.3v6.6c.1.2.3 1.3 1.4 1.3h19.5c1.4 0 1.3-1.3 1.3-1.3V2.5zm-.4 13.8c-.3-.1-.6-.1-.9-.1 0 0-.1 0-.1-.1l-.3-.9v-.1c.1-.2.3-.5.5-.7.1-.1.1-.3-.1-.5l-.9-.9s-.1-.1-.2-.1-.2.1-.3.1c-.2.2-.4.4-.6.5-.1 0-.1.1-.1.1-.4-.1-.6-.3-.9-.4-.1 0-.1 0-.1-.1-.1-.3-.1-.5-.1-.8 0-.1 0-.3-.2-.3l-.1-.1h-1.4c-.1 0-.1 0-.2.1-.1 0-.2.2-.2.3 0 .3-.1.5-.1.8 0 .1-.1.1-.1.1-.3.1-.6.3-.9.4-.1 0-.1 0-.1-.1-.3-.1-.4-.3-.7-.5-.1 0-.1-.1-.2-.1s-.2.1-.3.1l-.9.9c-.2.2-.2.4-.1.5.1.2.4.4.5.7.1 0 .1.1 0 .1-.1.4-.3.6-.4.9v.1c-.3 0-.6 0-.8.1-.2 0-.4.1-.4.3v1.5c.1.2.2.3.4.3s.5.1.8.1v.1c.1.3.3.6.4.9 0 0 .1.1 0 .1-.1.2-.4.5-.5.7-.1.1-.1.3.1.5l.9.9c.1.1.1.1.3.1 0 0 .1-.1.2-.1.2-.1.4-.4.7-.5 0 0 0-.1.1-.1.3.1.6.3.9.4l.1.1c0 .3 0 .6.1.8 0 .3.1.4.3.4h1.4s.3-.1.4-.4v-.8l.1-.1c.4-.1.7-.3.9-.4h.1v.1c.2.1.5.4.7.5 0 0 .1.1.2.1s.2-.1.3-.1l.9-.9c.2-.2.2-.4.1-.5-.2-.2-.4-.4-.5-.7-.1 0-.1-.1 0-.1l.3-.9.1-.1c.3 0 .6 0 .9-.1.2 0 .3-.1.3-.4v-1.2c0-.4-.1-.5-.3-.5zm-5.2 3.1c-1.2 0-2-.9-2-2s.9-2.1 2-2.1 2.1.9 2.1 2.1c0 1.1-1 2-2.1 2zm-6.7-6.6c0-.7-.7-.8-.9-.8H1.8c-.3 0-.9.1-.9.9v9.5c.1.3.2.7.9.7h8.1c.9 0 .9-1.1.9-1.1v-1.1c0-.5.1-1-.1-1.4-.1-.1-.1-.2-.2-.3s-.1-.1-.1-.2c-.3-.4-.2-.9-.2-1.4 0-.5 0-1 .2-1.4l.3-.6c.2-.2.2-.6.2-.9l-.1-1.9z" + } + }, + connected_apps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11 14.4l-1.8 8.1c-.1.5.5.8.8.4l9.7-12c.3-.3.1-.7-.3-.7h-5.2c-.4 0-.6-.5-.4-.7L18.4 2c.2-.5-.1-1.1-.6-1.1H9.6c-.5 0-.9.3-1.1.8L4.7 12.9c-.2.5.1.9.6.9h5.3c.2 0 .5.3.4.6z" + } + }, + constant: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.7 3.6c-.2-.2-.3-.2-.5-.2-1.8-.1-3.6 0-5.3.1h-6.2c-1.9 0-3.5.4-4.9 1.7-.9.8-1.8 2-2.5 3.1 0 .1-.1.2-.1.4 0 .3.4.7.7.7.4 0 .5-.3.7-.6.2-.3.4-.6.7-.8 1-.9 2.3-1.4 3.6-1.3-1.1 3.1-2.7 6.6-4.9 9-.9 1-2.5 2-2.8 3.4-.4 1.4 1.1 1.8 2.2 1.4 1.4-.6 2.2-2 2.9-3.2.9-1.6 1.7-3.2 2.3-4.8l2.1-4.8c.4-1 .5-1 1.5-1h2.7c-1 2.3-2 4.5-2.9 6.8-.6 1.7-1.9 4.2-1 6.1.9 1.8 3.3 1.1 4.6.2 1.4-1 2.3-2.5 3-4 .2-.2.3-.5.2-.8-.1-.3-.3-.5-.6-.5-.7 0-.8.8-1 1.2-.4.8-1.2 1.5-2.1 1.4-2-.3-.2-4 .2-5 .3-1 .8-2 1.2-3 .3-.5.5-1.1.8-1.7.4-.7.4-.7 1.2-.7.7-.1 2.7.3 3.3-.1.5-.3.8-1.5 1-2.4.1-.2 0-.5-.1-.6z" + } + }, + contact_request: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.7 12.5c-.3.1-.4.4-.2.6l2.1 2.1c.2.2.2.5 0 .8l-.8.8c-.2.2-.6.2-.8 0l-4.9-5c-.3-.3-.3-.6 0-.8L12 6c.2-.2.6-.2.8 0l.8.8c.2.3.2.6 0 .8l-2.1 2.1c-.2.2.2.6.2.6 4.7.2 8.3 3.3 9.4 7.5 1.2-1.7 2-3.7 2-5.8C23 6.3 18.1 1.8 12 1.8S1 6.4 1 11.9c0 1.8.5 3.4 1.4 4.9.1.2.1.5 0 .8L1 21.5c-.1.4.2.7.6.6l4-1.5c.3-.1.5-.1.8.1 1.7.9 3.7 1.5 5.8 1.5 2.7-.1 5.2-1 7.1-2.6-.5-3.9-3.7-7-7.6-7.1z" + } + }, + contract: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.7 11.1h7.1c.4 0 .6-.5.2-.9l-2.3-2.3 4.2-4.2c.2-.2.2-.7 0-.9l-1.7-1.7c-.2-.2-.6-.2-.9.1l-4.1 4.1L13.8 3c-.4-.3-.9-.2-.9.3v7.1c0 .3.4.7.8.7zm-3.4 1.8H3.2c-.4 0-.6.5-.2.9l2.3 2.3-4.2 4.2c-.2.2-.2.7 0 .9l1.7 1.7c.2.2.6.2.9 0l4.2-4.2 2.3 2.3c.4.4.9.2.9-.2v-7.1c0-.3-.4-.8-.8-.8zm2.6.8v7.1c0 .4.5.6.9.2l2.3-2.3 4.2 4.2c.2.2.7.2.9 0l1.7-1.7c.2-.2.2-.6-.1-.9l-4.1-4.1 2.3-2.4c.3-.4.2-.9-.3-.9h-7.1c-.3 0-.7.4-.7.8zm-1.8-3.4V3.2c0-.4-.5-.6-.9-.2L7.9 5.3 3.7 1.1c-.2-.2-.7-.2-.9 0L1.1 2.8c-.2.2-.2.6 0 .9l4.2 4.2L3 10.2c-.4.4-.2.9.2.9h7.1c.3 0 .8-.4.8-.8z" + } + }, + contract_alt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.7 11h7.1c.4 0 .6-.5.2-.8l-2.3-2.4 4.2-4.2c.2-.2.2-.6 0-.8l-1.7-1.7c-.2-.2-.6-.2-.9 0l-4.1 4.2L13.8 3c-.4-.4-.9-.2-.9.2v7.1c0 .4.4.7.8.7zm-3.4 1.9H3.2c-.4 0-.6.5-.2.9l2.3 2.3-4.2 4.2c-.2.2-.2.7 0 .9l1.7 1.7c.2.2.6.2.9 0l4.2-4.2 2.3 2.3c.4.4.9.2.9-.2v-7.1c0-.3-.4-.8-.8-.8z" + } + }, + copy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.3.9h-12c-1 0-1.8.9-1.8 1.9v.9h11c1.1 0 1.9.8 1.9 1.8v13h.9c1 0 1.9-.9 1.9-1.9V2.8c0-1-.9-1.9-1.9-1.9zm-2.8 6.5c0-1-.8-1.9-1.8-1.9h-12c-1 0-1.9.9-1.9 1.9v13.8c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9V7.4zm-8.3 3.2c0 .3-.2.5-.4.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h3.7c.2 0 .4.2.4.5v.9zm3.7 7.4c0 .3-.2.5-.4.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h7.4c.2 0 .4.2.4.5v.9zm1.9-3.7c0 .3-.2.5-.5.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h9.2c.3 0 .5.2.5.5v.9z" + } + }, + copy_to_clipboard: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 5.4h8c.4 0 .8-.4.8-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.5c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12-2.6h-.8c-.2 0-.3.1-.3.3v1.5c0 1.6-1.3 3-2.9 3H8c-1.6 0-2.9-1.4-2.9-3V3.1c0-.2-.1-.3-.3-.3H4c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2z" + } + }, + crossfilter: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.2 4.2c-.8 0-1.6 0-2.3.3.9.7 1.6 1.5 2.2 2.4h.1c2.8 0 5 2.3 5 5.1s-2.2 5.1-5 5.1c-.7 0-1.4-.2-2-.4.3-.5.7-1.1.9-1.7.1-.2.2-.4.2-.6.3-.7.4-1.6.4-2.4 0-4.3-3.5-7.8-7.9-7.8S0 7.7 0 12s3.5 7.8 7.8 7.8c.8 0 1.6 0 2.3-.3-.9-.7-1.6-1.5-2.2-2.4h-.1c-2.8 0-5-2.3-5-5.1s2.2-5.1 5-5.1c.7 0 1.4.2 2.1.4-1 1.3-1.6 2.9-1.6 4.7 0 4.3 3.5 7.8 7.9 7.8S24 16.3 24 12s-3.5-7.8-7.8-7.8z" + } + }, + currency: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M20.8 5H3.2c-1.1 0-2 1-2 2.1v9.8c0 1.1.9 2 2 2h17.6c1.1 0 2-.9 2-2V7.1c0-1.1-.9-2.1-2-2.1zM5.5 16.9c0-1.3-1-2.4-2.3-2.4v-5c1.3 0 2.3-1.1 2.3-2.4h13c0 1.3 1 2.4 2.3 2.4v5c-1.3 0-2.3 1.1-2.3 2.4h-13z" + }, + "circle": { + "cx": "12", + "cy": "11.815", + "r": "3.369" + } + } + }, + currency_input: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.6 17.4c1.2-2.1 1-4.8-.8-6.6-2.1-2.1-5.5-2.1-7.6 0-1.8 1.8-2 4.5-.8 6.6h9.2zm6.2-14.1v17.4c0 1.2-.9 2.1-2.1 2.1H3.3c-1.2 0-2.1-.9-2.1-2.1V3.3c0-1.2.9-2.1 2.1-2.1h17.4c1.2 0 2.1.9 2.1 2.1zm-18 16.6h14.4c.4 0 .7-.3.7-.7V4.8c0-.5-.3-.8-.7-.8H4.8c-.5 0-.8.3-.8.8v14.4c.1.4.4.7.8.7z" + } + }, + custom_apps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.8 5.6c-.1-.2-.4-.3-.6-.1l-3.8 3.7c-.3.3-.7.3-1 0l-2.6-2.6c-.3-.3-.3-.7 0-1l3.8-3.8c.1-.1 0-.5-.2-.6-.6-.2-1.3-.3-2-.3-3.9 0-7 3.4-6.6 7.4.1.7.3 1.2.5 1.8l-8.6 8.5c-1.1 1.1-1.1 2.7 0 3.7.5.5 1.2.8 1.8.8s1.3-.3 1.9-.8l8.5-8.6c.6.2 1.2.4 1.8.5 4 .4 7.4-2.7 7.4-6.6 0-.7-.1-1.4-.3-2z" + } + }, + cut: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.8 14.5c-.8-.2-1.5-.1-2.2.1L6.4 1.1C6.3.9 6 .9 5.8 1l-.4.3c-.8.6-.9 1.7-.3 2.6l4.9 6.4c.2.3.2.6 0 .9l-2.7 3.4c-.6-.2-1.4-.2-2.1-.1-1.7.4-3.1 1.7-3.3 3.5-.4 2.7 2 5 4.8 4.6 1.7-.3 3-1.6 3.4-3.2.2-1.2 0-2.2-.5-3l1.9-2.6c.3-.4.8-.4 1.1 0l1.9 2.6c-.5.9-.7 1.9-.5 3 .3 1.6 1.7 2.9 3.4 3.2 2.8.4 5.2-1.9 4.8-4.6-.4-1.8-1.8-3.2-3.4-3.5zM6 19.9c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.3.6 1.3 1.4-.6 1.4-1.3 1.4zm12 0c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.3.6 1.3 1.4c0 .8-.6 1.4-1.3 1.4zM14.4 8.7c.2.3.6.3.8 0l3.7-4.8c.5-.7.4-1.6-.1-2.3h.1-.1c-.1-.1-.7-.6-.7-.6-.1-.1-.5-.1-.6.1l-4.1 5.4c-.2.2-.2.6 0 .8l1 1.4z" + } + }, + dash: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 12.7c0 .4-.3.7-.7.7H1.6c-.4 0-.7-.3-.7-.7v-1.4c0-.4.3-.7.7-.7h20.8c.4 0 .7.3.7.7v1.4z" + } + }, + database: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21 4.2C21 2.4 16.9 1 12 1S3 2.4 3 4.2v1.1C3 7 7.1 8.4 12 8.4s9-1.4 9-3.1V4.2zM3 7.8c0 1.4 4.1 2.5 9 2.5s9-1.1 9-2.5v2.3c0 1.8-4.1 3.2-9 3.2s-9-1.4-9-3.2V7.8zm0 0c0 1.4 4.1 2.5 9 2.5s9-1.1 9-2.5v2.3c0 1.8-4.1 3.2-9 3.2s-9-1.4-9-3.2V7.8zm0 4.9c0 1.4 4.1 2.5 9 2.5s9-1.1 9-2.5V15c0 1.7-4.1 3.1-9 3.1S3 16.8 3 15v-2.3zm0 4.9c0 1.4 4.1 2.5 9 2.5s9-1.1 9-2.5v2.2c0 1.8-4.1 3.2-9 3.2s-9-1.4-9-3.2v-2.2z" + } + }, + datadotcom: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.6 22.7h-2.4c-.2-.9-.3-1.7-.3-2.4-1.2 1.9-3.1 2.8-5.6 2.8-2.3 0-4-.8-5.2-2.3-1.2-1.5-1.7-3.5-1.7-5.9 0-1.6.3-2.9.9-4.2s1.4-2.3 2.5-2.9c1.1-.8 2.4-1.2 3.9-1.2 2.1 0 3.8.7 5.1 2.1V1h2.6v18.2c0 1.2.1 2.3.2 3.5zM16.8 16v-5c-.6-.8-1.3-1.3-2.1-1.7-.8-.4-1.7-.6-2.7-.6-1.5 0-2.7.6-3.6 1.7-.9 1.2-1.3 2.7-1.3 4.5 0 1.9.4 3.3 1.3 4.4.8 1.1 2 1.7 3.5 1.7 1.4 0 2.6-.5 3.5-1.4.9-1 1.4-2.2 1.4-3.6z" + } + }, + date_input: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.4 9.1H2.6c-.4 0-.7.3-.7.7v10.9c0 1.2 1 2.1 2.2 2.1h15.8c1.2 0 2.2-.9 2.2-2.1V9.8c0-.4-.3-.7-.7-.7zm-13 10.1c0 .4-.3.7-.7.7H6.2c-.4 0-.7-.3-.7-.7v-1.4c0-.4.3-.8.7-.8h1.5c.4 0 .7.4.7.8v1.4zm5 0c0 .4-.3.7-.7.7h-1.4c-.5 0-.8-.3-.8-.7v-1.4c0-.4.3-.8.8-.8h1.4c.4 0 .7.4.7.8v1.4zm0-5c0 .4-.3.7-.7.7h-1.4c-.5 0-.8-.3-.8-.7v-1.5c0-.4.3-.7.8-.7h1.4c.4 0 .7.3.7.7v1.5zm5.1 0c0 .4-.3.7-.7.7h-1.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.7.7-.7h1.5c.4 0 .7.3.7.7v1.5zm1.4-10.9h-1.8v-.7c0-.8-.6-1.4-1.4-1.4-.8 0-1.4.6-1.4 1.4v.7H8.8v-.7c0-.8-.7-1.4-1.5-1.4s-1.4.6-1.4 1.4v.7H4.1c-1.2 0-2.2 1-2.2 2.2v.7c0 .4.3.8.7.8h18.8c.4 0 .8-.4.8-.8v-.7c-.1-1.2-1.1-2.2-2.3-2.2z" + } + }, + date_time: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.1 3.1h-1.8v-.7c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v.7H8.7v-.7C8.7 1.6 8 .9 7.2.9s-1.5.7-1.5 1.5v.7H3.9c-1.2 0-2.2 1.1-2.2 2.3v.7c0 .4.3.7.7.7h19.2c.4 0 .7-.3.7-.7v-.7c0-1.2-1-2.3-2.2-2.3zM21.6 9H2.4c-.4 0-.7.4-.7.8v11.1c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V9.8c0-.4-.3-.8-.7-.8zM12 21.6c-3 0-5.5-2.5-5.5-5.5 0-3.1 2.5-5.5 5.5-5.5s5.5 2.5 5.5 5.5-2.5 5.5-5.5 5.5zm.6-5.8v-2.3c0-.2-.2-.4-.4-.4h-.4c-.2 0-.4.2-.4.4v2.6c0 .1.1.2.2.3l1.8 1.8c.1.1.4.1.5 0l.3-.3c.1-.1.1-.4 0-.5l-1.6-1.6z" + } + }, + dayview: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.3 3.2H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9zm1.2 6h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zm-8.1 10.2v.1c0 .3-.5.8-.9.8s-1-.5-1-.9v-4.6l-.7.7c-.1.1-.2.2-.4.2-.4 0-.7-.3-.7-.7 0-.2.1-.4.2-.5l1.8-1.8c.2-.2.4-.3.7-.3.5 0 1 .4 1 .9v6.1z" + } + }, + delete: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21 4.6h-5.8V2.8c0-1-.8-1.9-1.8-1.9h-2.8c-1 0-1.8.9-1.8 1.9v1.8H3c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h18c.4 0 .7-.3.7-.7V5.3c0-.4-.3-.7-.7-.7zM10.6 3.2c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.4h-2.8V3.2zm8.6 6H4.8c-.3 0-.6.4-.6.7v10.9c0 1.3 1 2.3 2.3 2.3h11c1.3 0 2.3-1 2.3-2.3V9.9c0-.3-.3-.7-.6-.7zm-8.6 10.2c0 .3-.2.4-.4.4h-1c-.2 0-.4-.1-.4-.4v-6.5c0-.3.2-.4.4-.4h1c.2 0 .4.1.4.4v6.5zm4.6 0c0 .3-.2.4-.4.4h-1c-.2 0-.4-.1-.4-.4v-6.5c0-.3.2-.4.4-.4h1c.2 0 .4.1.4.4v6.5z" + } + }, + deprecate: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 3.2H1.8c-.5 0-.9.4-.9 1v12c0 .5.4.9.9.9h7.5c.5 2.6 2.7 4.6 5.5 4.6s5-2 5.4-4.6h2c.5 0 .9-.4.9-.9v-12c0-.6-.4-1-.9-1zm-4 15.1l-1.3 1.3-2.1-2.2-2.2 2.2-1.2-1.3 2.1-2.1-2.1-2.2 1.2-1.3 2.2 2.2 2.1-2.2 1.3 1.3-2.1 2.2 2.1 2.1zm3-3.1h-1c-.4-2.6-2.7-4.6-5.4-4.6s-5.1 2-5.5 4.6H2.8V5.1h18.4v10.1z" + } + }, + description: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.3 1.8H3.7c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V3.7c0-1-.9-1.9-1.9-1.9zM5.5 6.5c0-.3.2-.5.5-.5h4.6c.3 0 .5.2.5.5v4.6c0 .3-.2.4-.5.4H6c-.3 0-.5-.1-.5-.4V6.5zm11.1 12c0 .2-.2.4-.4.4H6c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h10.2c.2 0 .4.2.4.4v1zm1.9-3.7c0 .2-.2.4-.5.4H6c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h12c.3 0 .5.2.5.4v1zm0-3.7c0 .3-.2.4-.5.4h-4.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5v.9zm0-3.7c0 .3-.2.4-.5.4h-4.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5v.9z" + } + }, + desktop: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 2.8c0-1-.9-1.9-1.9-1.9H2.8C1.8.9.9 1.8.9 2.8v12c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8v-12zm-2.8 10.4c0 .3-.3.6-.7.6H4.4c-.4 0-.7-.3-.7-.6V4.4c0-.4.3-.7.7-.7h15.2c.4 0 .7.3.7.7v8.8zm-5.1 7.1h-1.4c-.2 0-.4-.2-.4-.5v-.9c0-.3-.2-.4-.5-.4h-1.8c-.3 0-.5.1-.5.4v.9c0 .3-.2.5-.4.5H8.8c-1 0-1.9.8-1.9 1.9v.2c0 .4.3.7.7.7h8.8c.4 0 .7-.3.7-.7v-.2c0-1.1-.9-1.9-1.9-1.9z" + } + }, + desktop_console: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.2 20.3h-1.4c-.2 0-.4-.2-.4-.5v-.9c0-.3-.2-.4-.5-.4h-1.8c-.3 0-.5.1-.5.4v.9c0 .3-.2.5-.4.5H8.8c-1 0-1.9.8-1.9 1.9v.2c0 .4.3.7.7.7h8.8c.4 0 .7-.3.7-.7v-.2c0-1.1-.9-1.9-1.9-1.9zm6-19.4H2.8C1.8.9.9 1.8.9 2.8v12c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8v-12c0-1-.9-1.9-1.9-1.9zM3.7 13.2V4.4c0-.4.3-.7.7-.7h2.8v10.1H4.4c-.4 0-.7-.3-.7-.6zm16.6 0c0 .3-.3.6-.7.6H9.9V3.7h9.7c.4 0 .7.3.7.7v8.8z" + } + }, + dialing: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M22.4 17.5l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.7 2.4 9.1 5.5 12.3s7.6 5.2 12.3 5.5c.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6z" + }, { + "d": "M19.4 11.3c.5-.8.9-1.7.9-2.8-.1-2.6-2.3-4.8-4.9-4.8-1 0-2 .3-2.8.9l-2-2.1c1.3-1 3-1.6 4.8-1.6C19.6.9 23 4.3 23 8.6c0 1.8-.6 3.4-1.6 4.7l-2-2z" + }], + "circle": { + "cx": "15.415", + "cy": "8.492", + "r": "2.077" + } + } + }, + dislike: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.5 13.6V4.2c0-1.1-.8-1.9-1.8-1.9H2.5c-.3 0-.7.3-.7.7v10.6c0 .4.4.7.7.7h2.3c.4 0 .7-.3.7-.7zM22.2 12V6.2c0-4-3.2-4.4-6.7-4.4-3.3 0-4.3 1.3-7.5 1.4-.3 0-.6.4-.6.7v9.3c0 .3.3.6.7.6 2.2 0 3.9 2.4 3.9 4.9v2.8c0 .3.3.7.7.7h1.1c1.1 0 1.9-.9 1.9-1.9v-4.6c0-1 .8-1.9 1.8-1.9h2.8c1 0 1.9-.8 1.9-1.8z" + } + }, + display_rich_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M1.9 19.9h20.3c.4 0 .7.3.7.7v1.5c0 .4-.3.7-.7.7H1.9c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.7.7-.7zm0-6.5h20.3c.4 0 .7.3.7.7v1.5c0 .4-.3.7-.7.7H1.9c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.7.7-.7zm12.9-6.5h7.4c.4 0 .7.3.7.7V9c0 .5-.3.8-.7.8h-7.4c-.4 0-.8-.3-.8-.8V7.6c0-.4.4-.7.8-.7zM11.1 10L7.7 1.5c-.1-.1-.2-.3-.4-.3H4.7c-.2 0-.4.1-.4.3L1.2 10c-.1.1 0 .3.2.3H3c.2 0 .4-.1.4-.2l.7-1.8h4l.7 1.8c0 .1.2.2.3.2h1.7c.2 0 .4-.1.3-.3zM4.8 6l1.1-2.6h.2L7.3 6H4.8z" + } + }, + display_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.1 1.2H4C2.4 1.2 1.2 2.4 1.2 4v16c0 1.6 1.2 2.8 2.8 2.8h16c1.6 0 2.8-1.2 2.8-2.8V4c.1-1.6-1.2-2.8-2.7-2.8zM4.9 5.9c0-.5.4-1 .9-1h10.6c.5 0 .9.5.9 1v.9c0 .5-.4 1-.9 1H5.8c-.5 0-1-.5-1-1v-.9zM16 18.1c0 .5-.4 1-.9 1H5.9c-.5 0-1-.5-1-1v-.9c0-.5.5-.9 1-.9h9.2c.5 0 .9.4.9.9v.9zm3.1-5.6c0 .5-.4.9-.9.9H5.9c-.5 0-1-.4-1-.9v-1c0-.5.5-.9 1-.9h12.2c.5 0 1 .4 1 .9v1z" + } + }, + dock_panel: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M.9 16.2v-12C.9 2.4 2.3.9 4.1.9h12c1.8 0 3.2 1.5 3.2 3.3v1.3h-2.7V4.2c0-.3-.2-.5-.5-.5h-12c-.3 0-.5.2-.5.5v12c0 .2.2.4.5.4h1.4v2.8H4.1C2.3 19.4.9 18 .9 16.2zm20.3-8.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12c0-1-.8-1.8-1.8-1.8zM19.3 19c0 .2-.1.4-.4.4h-5.3c-.3 0-.5-.2-.5-.4v-.9c0-.2.2-.4.5-.4h2.2c.3 0 .4-.3.2-.5l-4.8-4.8c-.2-.1-.2-.4 0-.6l.6-.6c.2-.1.4-.1.6 0l4.8 4.8c.2.2.4.1.4-.2v-2.2c0-.2.3-.4.5-.4h.9c.2 0 .3.2.3.4V19z" + } + }, + down: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.8 6.5h16.4c.4 0 .8.6.4 1l-8 9.8c-.3.3-.9.3-1.2 0l-8-9.8c-.4-.4-.1-1 .4-1z" + } + }, + download: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 14.3H21c-.4 0-.7.3-.7.7v4.6c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V15c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6.2c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V15c0-.4-.3-.7-.7-.7zm-10.9 3.1c.3.2.7.2 1 0l6.2-6.3c.3-.3.3-.7 0-.9l-.9-1c-.3-.3-.7-.3-1 0l-2.6 2.6c-.3.2-.8.1-.8-.4V1.6c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.8c0 .4-.5.6-.8.3L7.2 9.1c-.2-.2-.6-.2-.9 0l-1 1.1c-.3.2-.3.6 0 .9l6.2 6.3z" + } + }, + drag: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.3 15.8c0 .9-1.1 1.2-1.5.5l-.9-2c-.5-.9-1.7-1.1-2.5-.5l-.6.5 3.1 7.3c.1.3.5.5.8.5h8.2c.4 0 .7-.3.8-.6l1.4-5.2c.4-1.4-.4-2.8-1.7-3.3l-3.7-1.2c-5.2-1.9-3.5 3.8-3.4 4zM.8 13.2h2.7v2.6H.8zM6.6 1.8h2.7v2.7H6.6zm0 17.6h2.7v2.7H6.6zM.8 7.3h2.7V10H.8zm0-5.4h2.7v2.7H.8zm11.7-.1h2.7v2.7h-2.7zm5.9 0H21v2.7h-2.6zM.8 19.4h2.7v2.7H.8zM18.4 7.8H21v2.6h-2.6z" + } + }, + drag_and_drop: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.2 1.8c1 0 1.9.9 1.9 1.9s-.9 1.8-1.9 1.8-1.8-.8-1.8-1.8.8-1.9 1.8-1.9zm5.6 0c1 0 1.8.9 1.8 1.9s-.8 1.8-1.8 1.8-1.9-.8-1.9-1.8.9-1.9 1.9-1.9zM9.2 7.4c1 0 1.9.8 1.9 1.8s-.9 1.9-1.9 1.9-1.8-.9-1.8-1.9.8-1.8 1.8-1.8zm5.6 0c1 0 1.8.8 1.8 1.8s-.8 1.9-1.8 1.9-1.9-.9-1.9-1.9.9-1.8 1.9-1.8zm-5.6 5.5c1 0 1.9.9 1.9 1.9s-.9 1.8-1.9 1.8-1.8-.8-1.8-1.8.8-1.9 1.8-1.9zm5.6 0c1 0 1.8.9 1.8 1.9s-.8 1.8-1.8 1.8-1.9-.8-1.9-1.8.9-1.9 1.9-1.9zm-5.6 5.6c1 0 1.9.8 1.9 1.8s-.9 1.9-1.9 1.9-1.8-.9-1.8-1.9.8-1.8 1.8-1.8zm5.6 0c1 0 1.8.8 1.8 1.8s-.8 1.9-1.8 1.9-1.9-.9-1.9-1.9.9-1.8 1.9-1.8z" + } + }, + dynamic_record_choice: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.6 19.8v-.1c-3.3-1.1-5.7-4.1-5.7-7.7 0-4.4 3.7-8.1 8.1-8.1s8.1 3.7 8.1 8.1c0 .7-.1 1.5-.3 2.2.1.1.2.1.3.2h.4c.8 0 1.5.2 2.1.5.2-.9.4-1.9.4-2.9-.1-6.1-5-11-11-11S1 5.9 1 12c0 5.8 4.5 10.5 10.2 10.9-.9-.7-1.6-1.8-1.6-3.1zm4.8-6.5c.7 0 1.4.2 2 .5.1-.1.3-.1.4-.1.2-.5.3-1.1.3-1.7 0-2.8-2.2-5.1-5.1-5.1S7 9.2 7 12c0 2.3 1.4 4.2 3.5 4.8.2-2 1.9-3.5 3.9-3.5zm1.8 2.7c.4-.4.9-.6 1.5-.6.8 0 1.5.4 1.8 1 .3-.1.7-.2 1-.2 1.4 0 2.5 1.1 2.5 2.4 0 1.3-1.1 2.4-2.5 2.4h-.4c-.3.6-.9.9-1.6.9-.3 0-.5-.1-.8-.2-.3.8-1 1.3-1.9 1.3-.9 0-1.6-.6-1.9-1.4-.1 0-.3.1-.4.1-1.1 0-2-.8-2-1.9 0-.7.4-1.3 1-1.7-.1-.2-.2-.5-.2-.8 0-1.2 1-2.3 2.2-2.3.7.1 1.3.5 1.7 1z" + } + }, + edit: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.4 15.4l4.1 4.1c.2.2.5.2.6 0L19.4 9.2c.2-.2.2-.4 0-.6l-4.1-4.1c-.2-.2-.4-.2-.6 0L4.4 14.8c-.2.2-.2.5 0 .6zM16.7 2.6c-.2.2-.2.5 0 .7l4 4c.2.2.5.2.7 0l1.1-1.1c.8-.7.8-1.8 0-2.6l-2.1-2.1c-.8-.8-1.9-.8-2.7 0l-1 1.1zM1 22.2c-.1.5.3.9.8.8l5-1.2c.2 0 .3-.1.4-.2l.1-.1c.1-.1.1-.4-.1-.6l-4.1-4.1c-.2-.2-.5-.2-.6-.1l-.1.1c-.1.1-.2.3-.2.4l-1.2 5z" + } + }, + edit_form: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.5 7.1h3.8c.3 0 .5-.3.5-.5s-.1-.3-.2-.4l-4.7-4.7c-.1-.1-.2-.1-.3-.1-.3 0-.5.2-.5.5v3.7c0 .8.6 1.5 1.4 1.5zm8.3 4.8l-.4-.5c-.2-.2-.7-.2-1 0l-5.5 5.5v1.3c0 .1 0 .2.1.2h1.4l5.4-5.5c.4-.3.4-.8 0-1zm-4.4 8.6h-3.3c-.7 0-1.3-.6-1.3-1.3v-2.5c0-.4.1-.8.4-1l4.4-4.4c.1-.1.2-.3.2-.5v-.9c0-.4-.3-.7-.7-.7h-5c-1.2 0-2.2-1-2.2-2.1v-5c0-.4-.3-.7-.7-.7H3C1.9 1.4.9 2.4.9 3.5v17c0 1.1 1 2.1 2.1 2.1h13.6c1 0 2-.7 2.1-1.7.1-.2-.1-.4-.3-.4zM3.8 7.8c0-.4.3-.7.7-.7h2.8c.5 0 .7.3.7.7v.6c0 .4-.3.7-.7.7H4.5c-.4 0-.7-.3-.7-.7v-.6zm7.1 9.1c0 .4-.3.7-.7.7H4.5c-.4 0-.7-.3-.7-.7v-.7c0-.3.3-.6.7-.6h5.7c.4 0 .7.3.7.6v.7zm1.5-4.2c0 .4-.4.7-.7.7H4.5c-.4 0-.7-.3-.7-.7V12c0-.4.3-.7.7-.7h7.1c.4 0 .7.3.7.7v.7z" + } + }, + education: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.9 12.3c-.5.1-1.1-.2-1.6-.3-2.9-1-5.9-2-8.8-3-.2 0-.3-.1-.4-.2-.2-.2-.2-.4 0-.5.1-.1.3-.2.5-.3 3.1-.9 6.2-1.8 9.3-2.8.7-.2 1.5-.2 2.2 0L22.4 8c.2.1.4.1.5.3.3.1.3.3 0 .5-.1.1-.2.2-.4.2-3.1 1-6.2 2.1-9.3 3.1-.5.2-.8.2-1.3.2zm-6.1.2c-.5-.1-.6.1-.6.4v3.5c0 .4.2.6.4.9.1.1.3.2.4.3.7.5 1.6.8 2.4 1 1.8.5 3.6.6 5.4.4 1.1-.2 2.3-.5 3.3-1 .5-.2.9-.4 1.3-.8.2-.2.3-.4.2-.8.1-1.1.1-2.2.1-3.4 0-.6-.5-.5-.7-.5-1.6.6-3.3 1.1-4.9 1.6-.8.3-1.6.3-2.4 0l-4.9-1.6zm15.4-1.1c-.2 0-.2.1-.2.3v3.1c0 .1 0 .2-.1.3-.2.6-.5 1.1-.6 1.7-.2.5-.1 1.1.2 1.4.1.2.3.3.5.4.1.1.3.2.5.2.3.1.6-.1.8-.3.1-.1.3-.2.4-.3.2-.4.3-.8.2-1.3-.1-.6-.4-1.2-.7-1.7-.1-.1-.1-.3-.1-.4v-3.4c0-.2-.2-.2-.3-.1l-.6.1z" + } + }, + einstein: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M23 13.2c-.4-1.2-.9-2-1.5-2.6-.5-.6-2-1.5-2.8-1.8.2-.4.7-.6 1.4-.7-.1-.5-.5-1-1.4-1.5-.9-.6-2.1-.7-3.6-.4 0-.6-.4-1.5-1.2-3C12.8 1.1 8.3.4 8.3 1.4c.4 1.2.6 2.8.7 4.7-.6-.6-1.2-1-1.8-1.2-.6-.1-1-.2-1.5-.1h-.1c-.2.1-.2.4-.1.5.3.4.5.7.5.8.1.3.3.7.6 1.2-.7-.1-1.6.2-2.8.7-1.1.6-2 1.8-2.8 3.8v.1c0 .2.1.3.2.4 1.1.2 1.8.3 2.2.6.5.2 1 .7 1.6 1.4-.2 0-.6.2-1.2.7-.5.4-.8 1.1-1.1 2v.1c0 .2.1.3.3.3.8 0 1.6.2 2.3.4.8.3 1.5.6 1.9.9V16c0-.6 0-1.1.6-1.9.7-.8 1.3-1 2.9-.4s3.2-.6 4.5-.3c1.4.3 2.1 1.7 2.2 2.7.2.9 0 1.4 0 2.6v.2h.1c.7-.4 1.1-.6 1.6-.9.4-.1 1-.3 1.8-.6-.1-.5-.5-.9-1.2-1.3.2-.1 1.3-.8 1.9-1.3.4-.3.8-.7 1.4-1.3.1 0 .1-.2 0-.3z" + }, { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M10.6 19.6c-.4-.2-1.1-.1-1.5.1-.3.1-.8.7-.8 1.2s.1.8.2 1c.1.2.2.3.4.5.1.1.1.1.2.1l.7-.1 1.4.6c0 .1.1.1.2 0l1.5-.6.8.1h.1c.4-.3.6-.6.8-.9.2-.6 0-1.4-.5-1.8-.4-.4-1-.6-1.7-.3-.5.2-.9.3-1.1.3-.2 0-.4-.1-.7-.2z" + }], + "ellipse": [{ + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "cx": "13.523", + "cy": "17.723", + "rx": ".692", + "ry": "1.015" + }, { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "cx": "9.554", + "cy": "17.723", + "rx": ".692", + "ry": "1.015" + }] + }, + email: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.5 13.9c.3.3.7.3 1 0l10.4-9.7c.2-.4.1-1-.6-1l-20.6.1c-.6 0-1.1.5-.6.9l10.4 9.7zM23.1 8c0-.5-.6-.8-.9-.4L14 15.1c-.6.5-1.3.8-2 .8s-1.4-.3-2-.8L1.9 7.6c-.4-.4-.9-.1-.9.4C.9 7.8.9 18.5.9 18.5c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V8z" + } + }, + email_open: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.1 13c0-.4-.4-.6-.7-.4l-6.8 6.3c-.4.4-1 .6-1.6.6s-1.2-.2-1.7-.6l-6.7-6.3c-.3-.2-.8 0-.8.4v8.3c0 .8.7 1.5 1.5 1.5h15.3c.8 0 1.5-.7 1.5-1.5V13zM21 9.5c.1-.1.2-.2.2-.3 0-.1-.1-.2-.2-.3l-8.6-8c-.3-.2-.6-.2-.8 0L3 8.9s0 .1-.1.1v.1c0 .2 0 .3.1.4l8.5 7.9c.3.2.6.2.8 0L21 9.5c0 .1 0 0 0 0z" + } + }, + emoji: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 12c0 6.1-5 11.1-11.1 11.1S.9 18.1.9 12 5.9.9 12 .9s11.1 5 11.1 11.1zM8.4 7.3c-1.1 0-1.9.9-1.9 2s.8 2 1.9 2 2-.9 2-2-.8-2-2-2zm7.2 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-.1 7.7c-.9.8-2.2 1.3-3.5 1.3-1.3 0-2.5-.5-3.5-1.3l-.4-.3c-.1-.1-.2-.2-.5-.2-.5 0-.9.5-.9.9 0 .2.1.5.3.7l.3.2c1.3 1.1 2.9 1.8 4.7 1.8 1.8 0 3.5-.7 4.7-1.8l.2-.2c.2-.2.3-.5.3-.7 0-.5-.4-.9-.9-.9-.2 0-.4.1-.5.2l-.3.3z" + } + }, + end_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 2.6l-1-1c-.3-.3-.8-.2-1.1.2L9.5 12.6 7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.2 2 8.3 4.6 11.3l-3.6 3.7c-.4.3-.4.8-.2 1.1l1 1c.3.3.8.2 1.1-.2L22.2 3.7c.4-.3.5-.8.2-1.1zm0 14.9l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-1.1-1-3.9 4c2.8 1.8 6.1 3.1 9.6 3.3.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6z" + } + }, + end_chat: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.4 18.7c0-4 3.3-7.3 7.3-7.3.7 0 1.4 0 2 .2.1-.5.1-.9.1-1.4 0-5.1-4.5-9.2-9.9-9.2C5.4 1 1 5.1 1 10.1c0 1.5.5 3 1.2 4.3.2.2.2.5.1.7L1 18.6c-.1.4.2.6.6.6l3.5-1.4c.2-.1.5 0 .7.1 1.5.8 3.3 1.3 5.2 1.3h.4v-.5zm4.5-10.3c.9 0 1.6.8 1.6 1.7s-.7 1.7-1.6 1.7-1.7-.8-1.7-1.7.8-1.7 1.7-1.7zM6 11.7c-1 0-1.7-.7-1.7-1.6S5 8.4 6 8.4s1.6.7 1.6 1.7-.8 1.6-1.6 1.6zm4.9 0c-.9 0-1.7-.7-1.7-1.6s.8-1.7 1.7-1.7 1.7.7 1.7 1.7-.8 1.6-1.7 1.6zm3.7 4.3l2.8 2.7-2.8 2.8c-.2.3-.2.7 0 1l.4.3c.2.3.7.3.9 0l2.8-2.8 2.8 2.8c.2.3.7.3.9 0l.4-.3c.2-.3.2-.8 0-1L20 18.7l2.8-2.7c.2-.3.2-.8 0-1l-.4-.3c-.2-.3-.7-.3-.9 0l-2.8 2.7-2.8-2.7c-.3-.3-.7-.3-.9 0l-.4.3c-.2.2-.2.7 0 1z" + } + }, + end_messaging_session: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.4 18.7c0-1.3.3-2.5.9-3.5h-1.1c-.2 0-.4-.2-.4-.4v-4.2c0-.3.2-.4.4-.4h4.3c.2 0 .3.1.3.4V12c.9-.4 1.9-.6 2.9-.6.7 0 1.4 0 2 .2.1-.5.1-1 .1-1.5C20.8 5 16.4 1 10.9 1S1 5 1 10c0 1.6.5 3.1 1.2 4.4.2.2.2.5.1.7L1 18.6c-.1.3.2.6.6.6l3.5-1.4c.2-.1.5-.1.7.1 1.5.8 3.3 1.3 5.2 1.3h.4v-.5zM5.9 5.6c0-.2.1-.3.4-.3h9.2c.2 0 .3.1.3.3v2.2c0 .2-.2.3-.4.3H6.3c-.3 0-.4-.1-.4-.3V5.6zm2.9 9.2c0 .2-.2.4-.4.4H6.2c-.2 0-.3-.2-.3-.4v-4.2c0-.3.1-.4.3-.4h2.2c.2 0 .4.1.4.4v4.2zm5.9 1.2l2.7 2.7-2.7 2.8c-.3.3-.3.7 0 1l.3.3c.3.3.7.3 1 0l2.7-2.8 2.8 2.8c.3.3.7.3 1 0l.3-.3c.3-.3.3-.8 0-1L20 18.7l2.8-2.7c.3-.3.3-.8 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.7-2.7-2.7c-.3-.3-.8-.3-1 0l-.3.3c-.3.3-.3.7 0 1z" + } + }, + erect_window: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 3c0 .4-.3.7-.7.7H1.6c-.4 0-.7-.3-.7-.7V1.6c0-.4.3-.7.7-.7h20.8c.4 0 .7.3.7.7V3z" + } + }, + error: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zM3.7 12c0-4.6 3.7-8.3 8.3-8.3 1.8 0 3.5.5 4.8 1.5L5.2 16.8c-1-1.3-1.5-3-1.5-4.8zm8.3 8.3c-1.8 0-3.5-.5-4.8-1.5L18.8 7.2c1 1.3 1.5 3 1.5 4.8 0 4.6-3.7 8.3-8.3 8.3z" + } + }, + event: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.5 9.2h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zM8.8 19.4c0 .3-.2.4-.5.4H6.5c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4H6.5c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm4.6 4.6c0 .3-.2.4-.5.4h-1.8c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4h-1.8c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm4.6 4.6c0 .3-.2.4-.5.4h-1.8c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4h-1.8c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm2.3-11.6H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9z" + } + }, + events: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.1 4.2C2 6.2.9 9 .9 11.8c0 .7.5 1.1 1.1 1.1s1.1-.5 1.1-1.1c0-2.2.9-4.4 2.5-6s3.9-2.5 6.1-2.5c.6 0 1.1-.5 1.1-1.1 0-.7-.5-1.1-1.1-1.1-2.8-.1-5.6 1-7.6 3.1zm1.3 7.6c0 .7.5 1.1 1.1 1.1s1.1-.5 1.1-1.1c0-1 .4-2.1 1.2-2.8.8-.8 1.8-1.2 2.9-1.2.6 0 1.1-.6 1.1-1.2s-.5-1.1-1.1-1.1c-1.7 0-3.3.7-4.5 1.8-.2.3-1.9 2-1.8 4.5zM21 7c-.4-.5-1-1.2-1.1-1.3-.1-.1-.3-.2-.5-.2s-.3.1-.4.2l-4.7 4.6c-1.1-.9-2.8-.8-3.8.2-1.1 1.1-1.1 2.7-.2 3.9l-4.5 4.4c-.1.2-.2.4-.2.5 0 .3.1.5.3.6l1.2 1c1.7 1.3 3.8 2 6.1 2 5.4 0 9.9-4.4 9.9-9.8 0-2.3-.8-4.4-2.1-6.1z" + } + }, + expand: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.5.9h-7.1c-.5 0-.6.4-.3.8L17.4 4l-4.2 4.1c-.2.3-.2.6 0 .9l1.8 1.7c.2.2.6.2.8 0L20 6.5l2.3 2.3c.4.3.8.2.8-.3V1.4c0-.2-.3-.5-.6-.5zM1.6 23.1h7.1c.5 0 .6-.5.3-.9l-2.3-2.3 4.1-4.2c.3-.2.3-.7 0-.9l-1.7-1.7c-.2-.2-.6-.2-.8 0l-4.2 4.2L1.8 15c-.4-.4-.9-.2-.9.2v7.1c0 .4.4.8.7.8zm21.5-.6v-7.1c0-.5-.4-.6-.8-.3L20 17.4l-4.1-4.2c-.3-.2-.6-.2-.9 0L13.3 15c-.2.2-.2.6 0 .8l4.2 4.2-2.3 2.3c-.3.4-.2.8.3.8h7.1c.2 0 .5-.3.5-.6zM.9 1.6v7.1c0 .5.5.6.9.3l2.3-2.3 4.2 4.1c.2.3.7.3.9 0l1.7-1.7c.2-.2.2-.6 0-.8L6.7 4.1 9 1.8c.4-.4.2-.9-.2-.9H1.7c-.4 0-.8.4-.8.7z" + } + }, + expand_all: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 4.4c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7V4.4zm0 13.8c0-.3-.4-.7-.7-.7h-19c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7v-1.4zm-8.4-4.8h2.1c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7h-2.1c-.2 0-.4-.2-.4-.4V8.1c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v2.1c0 .2-.2.4-.4.4H8.1c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h2.1c.2 0 .4.2.4.4v2.1c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7v-2.1c0-.2.2-.4.4-.4z" + } + }, + expand_alt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.5.9h-7.1c-.5 0-.6.4-.3.8L17.4 4l-4.2 4.1c-.2.3-.2.6 0 .9l1.8 1.7c.2.2.6.2.8 0L20 6.5l2.3 2.3c.4.3.8.2.8-.3V1.4c0-.2-.3-.5-.6-.5zM1.6 23.1h7.1c.5 0 .6-.5.3-.9l-2.3-2.3 4.1-4.2c.3-.2.3-.7 0-.9l-1.7-1.7c-.2-.2-.6-.2-.8 0l-4.2 4.2L1.8 15c-.4-.4-.9-.2-.9.2v7.1c0 .4.4.8.7.8z" + } + }, + fallback: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.9 1.6l-1.4 6.8c0 .2.2.4.5.4h7.2c.5 0 .8.6.6 1l-7.9 12.9c-.3.7-1.3.4-1.3-.3l1.4-8c0-.2-.2-.1-.5-.1H3.9c-.5 0-.9-.8-.6-1.2l8.3-11.8c.4-.6 1.3-.4 1.3.3z" + } + }, + favorite: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.6 1.4l2.2 7c.1.2.3.4.6.4h6.9c.7 0 1 .9.5 1.3l-5.7 4.2c-.2.1-.3.5-.2.7l2.7 7.2c.2.6-.5 1.2-1.1.7l-6-4.5c-.3-.2-.6-.2-.9 0l-6.1 4.5c-.5.5-1.3-.1-1-.7L7.1 15c.1-.2 0-.6-.3-.7l-5.6-4.2c-.6-.4-.2-1.3.4-1.3h6.9c.4 0 .6-.1.7-.4l2.2-7c.1-.7 1.1-.6 1.2 0z" + } + }, + feed: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.6 19.8c-.1 0-.3 0-.5-.1-.3-.1-.5-.5-.5-.7L7.9 8.3l-2.2 5.1c-.2.4-.5.6-.9.6H1.6c-.4 0-.7-.2-.7-.6v-.7c0-.4.3-.7.7-.7H4l3.2-7.2c.2-.4.6-.7 1.1-.6.4 0 .8.3.9.7l2.7 10.8 3.7-7.9c.1-.4.6-.6 1-.6.3.1.7.4.9.7l1.8 4.1h3.1c.4 0 .7.4.7.7v.7c0 .4-.3.7-.7.7h-3.8c-.4 0-.7-.3-.9-.6l-1.2-2.7-3.9 8.5c-.2.3-.5.5-1 .5z" + } + }, + file: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.5 16.7V5.2c-1.2 0-2.2 1-2.2 2.1v13.6c0 1.2 1 2.2 2.2 2.2h10.7c1.2 0 2.2-1 2.2-2.1H8.8c-2.4 0-4.3 0-4.3-4.3zM21 7.3h-3.6c-1.2 0-2.2-.9-2.2-2.1V1.6c0-.4-.3-.7-.7-.7H8.8C7.6.9 6.6 1.9 6.6 3v13.6c0 1.2 1 2.1 2.2 2.1h10.7c1.2 0 2.2-.9 2.2-2.1V8.1c0-.4-.3-.8-.7-.8zm.6-3l-3.4-3.2c-.1-.1-.2-.2-.3-.2-.3 0-.5.3-.5.5v2.4c0 .8.6 1.4 1.4 1.4h2.4c.3 0 .5-.2.5-.5 0-.1-.1-.2-.1-.4z" + } + }, + filter: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.3 14.7c-.3-.3-.7-.3-1 0l-1.7 1.6c-.2.3-.8.1-.8-.3V9.9c0-.3-.3-.7-.6-.7H5.8c-.4 0-.7.4-.7.7V16c0 .4-.5.6-.8.3l-1.7-1.6c-.2-.3-.7-.3-.9 0l-1.1 1c-.2.3-.2.7 0 1L6 22c.2.2.6.2.9 0l5.4-5.4c.3-.3.3-.7 0-1l-1-.9zM23.5 4.4c0-.4-.3-.7-.7-.7h-17c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h17c.4 0 .7-.4.7-.7V4.4zm0 5.5c0-.3-.3-.7-.7-.7H10.4c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h12.4c.4 0 .7-.3.7-.7V9.9zm0 5.6c0-.4-.3-.7-.7-.7H15c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-1.3z" + } + }, + filterlist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.3 1.8H1.8c-.7 0-1 .8-.6 1.3l9 10.5c.2.3.4.8.4 1.2v6.7c0 .3.3.7.7.7h1.4c.4 0 .6-.4.6-.7v-6.7c0-.4.2-.9.5-1.2l9.1-10.5c.4-.5.1-1.3-.6-1.3z" + } + }, + flow: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23 4.9c-.9-1.9-3.4-5.4-7.9-3.3-2.8 1.3-4.4 2-4.4 2L6.6 5.4c-1.1.5-3.6-.3-5-.8-.4-.1-.8.3-.6.7.9 1.9 3.4 5.4 7.9 3.3 2.8-1.3 8.5-3.7 8.5-3.7 1.1-.6 3.6.2 5 .7.4.1.8-.3.6-.7zm-9.7 5.9c-.5.3-2.5 1.2-2.5 1.2l-2.1.9c-1 .5-3.2-.2-4.5-.7-.3-.2-.6.3-.5.6.9 1.9 3 5.2 7 3.2 2.5-1.3 4.6-2.1 4.6-2.1 1-.6 3.2.2 4.5.7.3.1.6-.3.5-.7-.9-1.8-3-5.1-7-3.1zM11.8 19c-.4.2-1.1.6-1.1.6-.8.5-2.4-.1-3.4-.6-.2-.1-.5.3-.3.7.6 1.6 2.2 4.6 5.2 2.8l1.1-.7c.8-.4 2.4.2 3.4.6.2.2.5-.2.3-.6-.6-1.7-2.1-4.5-5.2-2.8zm.2-7.4" + } + }, + food_and_drink: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.9 11.1c-.5 3.6-3.4 6-6 6H7.4c-2.8 0-6-2.8-6-6.9V3.7c0-.5.4-.9.9-.9h18c1.5 0 2.8 1.2 2.8 2.7v2.8c0 1.5-1.3 2.8-2.8 2.8h-1.4zM18 2.8zm.7 15.7c.4 0 .7.3.7.6v.1c0 1.1-.9 2-2.1 2H3c-1.2 0-2.1-.9-2.1-2v-.1c0-.3.3-.6.7-.6h17.1zm.2-13.4v3.7h.9c.6 0 1-.4 1-1V6c0-.5-.4-.9-1-.9h-.9z" + } + }, + form_factor_support: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M23.1 9.5c0-.6-.5-1.1-1-1.1h-6.5c-.6 0-1.1.5-1.1 1.1v10.9c0 .6.5 1 1.1 1h6.5c.5 0 1-.4 1-1V9.5z" + }, { + "d": "M12.8 13.6H3.9c-.3 0-.6-.4-.6-.6V5.5c0-.3.3-.6.6-.6h12.9c.4 0 .6.3.6.6v1.1h2.4V4.2c0-.9-.7-1.6-1.6-1.6H2.5c-.8 0-1.6.7-1.6 1.6v10.2c0 .8.8 1.6 1.6 1.6h10.3v-2.4zm0 6.8V19h-.9c-.2 0-.4-.2-.4-.4v-.8c0-.2-.2-.4-.4-.4H9.5c-.2 0-.4.2-.4.4v.8c0 .2-.2.4-.4.4H7.5c-.9 0-1.6.8-1.6 1.6v.2c0 .3.3.6.6.6H13c-.2-.3-.2-.6-.2-1z" + }, { + "d": "M21.6 18.6c0 .1-.2.4-.5.4h-4.7c-.2 0-.4-.2-.4-.4v-7.8c0-.1.2-.4.4-.4h4.7c.2 0 .5.2.5.4v7.8z" + }], + "circle": { + "cx": "18.831", + "cy": "20.215", + "r": ".738" + } + }, + formula: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.9 1.5c-.3-.3-.8-.4-1.4-.4H12c-1.6.2-2.6 1.8-3.3 3.1-.3.7-.5 1.4-.8 2.1l-.3.9c0 .1-.2.7-.3.7H5.7c-.3 0-.4.2-.4.5s.1.4.4.4h1.4l-.8 3.4c-.8 3.8-1.8 8.2-2.1 9-.3.8-.6 1.2-1.2 1.2 0 0-.1 0-.2-.1l-.1-.1c0-.1.1-.2.2-.4.1-.1.1-.3.1-.4 0-.4-.1-.6-.3-.8-.2-.2-.4-.2-.7-.2s-.5 0-.8.2c-.2.2-.3.5-.3.8 0 .5.2.8.6 1.2.3.3.8.4 1.4.4 1 0 1.9-.4 2.5-1.2.5-.4.7-1 1-1.6.8-1.8 1.3-3.8 1.7-5.7.5-1.9.9-3.8 1.4-5.8h1.6c.2 0 .4-.2.4-.4s-.2-.5-.4-.5H9.6c.8-3 1.8-5.1 1.9-5.4.4-.5.7-.8 1-.8.1 0 .2.1.3.1v.2s0 .1-.1.3c-.1.2-.1.4-.1.6 0 .2 0 .4.2.6.2.2.4.3.7.3s.5-.1.7-.3c.2-.2.3-.4.3-.8 0-.5-.1-.8-.6-1.1zm7.4 9.2c.6 0 1.7-.5 1.7-2s-1.1-1.6-1.4-1.6c-.7 0-1.3.5-1.9 1.5-.6 1-1.3 2.2-1.3 2.2-.1-.8-.3-1.4-.3-1.7-.1-.6-.9-2-2.4-2s-2.9.9-2.9.9c-.3.2-.4.4-.4.8 0 .5.4.9.9.9.1 0 .3-.1.4-.1 0 0 1.2-.6 1.4 0 .1.2.1.4.2.6.3 1.1.5 2.2.8 3.3L15 14.9s-1.1-.4-1.7-.4-1.7.5-1.7 2 1.1 1.6 1.4 1.6c.7 0 1.4-.5 2-1.5.6-1 1.2-2.2 1.2-2.2.2 1 .4 1.8.5 2.1.3 1 1.2 1.7 2.4 1.7 0 0 1.2 0 2.6-.8.4-.1.6-.5.6-.9 0-.5-.4-.9-.9-.9-.1 0-.3 0-.4.1 0 0-1 .5-1.3.1-.3-.4-.5-1.1-.6-1.8-.2-.7-.4-1.5-.5-2.3l1-1.5c0 .1 1.1.5 1.7.5z" + } + }, + forward: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M1.6 13.4h15.3c.4 0 .6.5.3.8l-4.4 4.4c-.3.3-.3.7 0 1l1 1c.3.3.7.3 1 0l8-8.1c.3-.3.3-.7 0-1l-8-8.1c-.3-.3-.7-.3-1 0l-1 1c-.2.3-.2.7 0 1l4.5 4.4c.2.3.1.8-.4.8H1.6c-.4 0-.7.3-.7.7v1.3c0 .4.3.8.7.8z" + } + }, + forward_up: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.8 22.9L18.3 8.4c.4-.5 1.1-.1 1.1.4v8.4c0 .5.4.9.9.9h1.9c.6 0 1-.4 1-.9l-.1-15.3c0-.5-.4-.9-.9-.9H6.8c-.5 0-.9.4-.9.9v1.8c0 .5.4 1 .9 1h8.4c.6 0 .9.7.5 1.1L1.2 20.3c-.4.3-.4.9 0 1.2l1.2 1.3c.4.4 1 .5 1.4.1z" + } + }, + frozen: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M12.5 1.4c.2 0 .4.2.4.4V23c0 .3-.2.5-.4.5h-1c-.2 0-.4-.2-.4-.5V1.8c0-.2.2-.4.4-.4h1zM12 7.9L8.3 4.2c-.2-.2-.2-.5 0-.6l.6-.7c.2-.2.5-.2.7 0L12 5.4l2.4-2.5c.2-.2.5-.2.7 0l.6.7c.2.1.2.4 0 .6L12 7.9m0 9l3.7 3.8c.2.2.2.4 0 .6l-.6.7c-.2.2-.5.2-.7 0L12 19.5 9.6 22c-.2.2-.5.2-.7 0l-.6-.7c-.2-.2-.2-.4 0-.6l3.7-3.8" + }, { + "d": "M21.7 7.2c.2.2.1.5-.1.6L3.3 18.6c-.2.1-.5.1-.6-.2l-.5-.8c-.1-.2-.1-.5.2-.6L20.6 6.2c.3-.2.5-.1.7.2l.4.8zm-5.8 3L17.2 5c0-.2.2-.4.5-.3l.9.2c.3.1.4.3.3.6L18 8.9l3.4.8c.3.1.4.3.3.6l-.2.9c0 .2-.3.4-.5.3l-5.1-1.3m-7.8 4.5l-1.3 5.1c0 .3-.2.5-.5.4l-.9-.3c-.3 0-.4-.2-.3-.5L6 16l-3.4-.9c-.3 0-.4-.2-.3-.5l.2-.9c0-.3.3-.4.5-.3l5.1 1.3" + }, { + "d": "M2.7 6.4c.2-.2.4-.3.7-.2L21.6 17c.2.2.3.4.2.7l-.5.8c-.1.2-.4.3-.6.1L2.4 7.8c-.2-.1-.3-.4-.2-.6l.5-.8zm5.4 3.8L3 11.5c-.3 0-.5-.1-.6-.3l-.2-.9c0-.3.1-.5.3-.6l3.4-.8L5 5.5c0-.3.1-.5.4-.6l.8-.2c.3 0 .5.1.6.3l1.3 5.2m7.7 4.5l5.2-1.3c.2-.1.5 0 .5.3l.2.9c.1.3 0 .5-.3.5L18 16l.9 3.4c.1.3 0 .5-.3.5l-.9.3c-.3 0-.5-.1-.5-.4l-1.4-5.1" + }] + }, + fulfillment_order: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.2 16.8c.3 0 .7.1.9.2L7.2 2.9l-.5-1.4c-.1-.4-.6-.6-.9-.5L1.4 2.4c-.4.2-.6.6-.4 1l.4 1.4c.2.4.6.6 1 .4l2.2-.7 4.6 12.9c.6-.3 1.3-.6 2-.6zm7.8-3.3l-4.6 1.6c-.4.2-1-.1-1.1-.6L11.7 10c-.2-.5.1-1 .5-1.2l4.6-1.6c.5-.2 1 .1 1.2.6l1.6 4.5c.2.5-.1 1-.6 1.2zM14.7 6l-3.1 1c-.5.2-1-.1-1.2-.5l-1-3.1c-.2-.5.1-1 .5-1.2l3.1-1c.5-.2 1 0 1.2.5l1 3.1c.2.4 0 1-.5 1.2zM23 16.4l-.4-1.4c-.2-.4-.6-.6-1-.5l-8.4 2.9c.9.6 1.5 1.5 1.7 2.6l7.7-2.6c.4-.2.6-.6.4-1zM11.2 18c-1.4 0-2.5 1.2-2.5 2.6s1.1 2.5 2.5 2.5 2.6-1.1 2.6-2.5-1.2-2.6-2.6-2.6z" + } + }, + full_width_view: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 1.8H1.6c-.4 0-.7.4-.7.7v2.3c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V2.5c-.1-.3-.3-.7-.7-.7zM4.9 7.4H1.7c-.4 0-.7.3-.7.7v13.7c0 .4.3.7.7.7h3.2c.4 0 .7-.3.7-.7V8.1c0-.4-.3-.7-.7-.7zm17.5 0h-3.2c-.4 0-.7.3-.7.7v13.7c0 .4.3.7.7.7h3.2c.4 0 .7-.3.7-.7V8.1c0-.4-.3-.7-.7-.7zm-6.5 0H8.2c-.4 0-.7.3-.7.7v13.7c0 .4.3.7.7.7h7.7c.4 0 .7-.3.7-.7V8.1c0-.4-.3-.7-.7-.7z" + } + }, + global_constant: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M13.2 13c1.2-.9 2.5-1 3.4-1l3.2-.1h1c.4 0 .8-.1 1.2-.1h1c0-6-5-11-11-11s-11 5-11 11c0 5.3 3.8 9.8 8.7 10.8-.1-.4 0-.7.1-1.1.1-.6.5-1.1.9-1.5-1.2-1.2-2.2-3.8-2.3-7h2.5v2.9c.1-.2.1-.4.3-.6.4-.7.9-1.4 1.5-2 .1-.1.3-.1.3-.2l.2-.1zm7.5-2.2h-2.9c-.1-2.6-.7-4.9-1.6-6.6 2.5 1.3 4.2 3.8 4.5 6.6zm-7.6-7.2c1.3 1 2.4 3.7 2.5 7.2h-2.5V3.6zm-2.2 0v7.2H8.4c.1-3.5 1.2-6.2 2.5-7.2zM3.3 13h2.9c.1 2.6.7 4.9 1.6 6.6-2.5-1.3-4.2-3.8-4.5-6.6zm2.8-2.2H3.3C3.6 8 5.4 5.5 7.8 4.2c-.9 1.7-1.5 4-1.7 6.6zm5.3 8.5l.3-.3.4-.4c-.6-.3-1-.8-1.2-1.4v2.6c.2-.2.3-.4.5-.5z" + }, { + "d": "M22.9 13.8c-.1-.1-.1-.1-.2-.1-1 0-1.9.1-2.8.1h-3.3c-1 0-1.8.2-2.6.9-.4.5-.9 1.1-1.3 1.6-.1.1-.1.2-.1.3 0 .2.2.3.4.3s.2-.1.3-.2.3-.3.4-.5c.5-.5 1.2-.7 1.9-.6-.6 1.6-1.4 3.4-2.6 4.7-.4.5-1.3 1.1-1.5 1.8-.2.8.6 1 1.1.7.8-.2 1.2-1 1.6-1.7.5-.8.9-1.6 1.2-2.5.4-.8.8-1.7 1.1-2.5.2-.5.3-.5.8-.5h1.4l-1.5 3.6c-.4.9-1 2.2-.5 3.2.4 1 1.7.6 2.4.1s1.2-1.4 1.6-2.1c.1-.1.1-.3.1-.5-.1-.1-.2-.2-.4-.2-.3 0-.4.4-.5.7-.1.4-.6.7-1.1.6-1-.1-.1-2 .1-2.6.2-.5.4-1 .7-1.6.1-.2.2-.6.4-.9.2-.3.2-.3.6-.4.4 0 1.5.2 1.8 0 .3-.2.4-.9.5-1.3.1-.2.1-.3 0-.4z" + }] + }, + graph: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M.9 21c0 1 .9 1.8 1.9 1.8h19.5c.5 0 .8-.3.8-.7v-1.3c0-.4-.3-.7-.8-.7H4.4c-.4 0-.7-.3-.7-.7V1.9c0-.4-.3-.7-.7-.7H1.7c-.5 0-.8.3-.8.7V21zm22-14.5c0-.8-.6-1.4-1.3-1.4-.5 0-.8.2-1.1.4l-3.9 4-2.8-2.6-.1-.1s0-.1-.1-.1c0 0-.1 0-.1-.1h-.1-.2l-.1-.1h-.5c-.1 0-.1 0-.1.1H12.2c-.1.1-.1.1-.2.1v.1s-.1.1-.2.1l-5.2 5.3c-.3.3-.5.6-.5 1 0 .8.6 1.4 1.4 1.4.3 0 .6-.1.9-.3l4.5-4.5 2.6 2.6.1.1.1.1c.1 0 .1 0 .2.1h.1c0 .1.1.1.2.1s.2.1.3.1c.1 0 .2 0 .3-.1H17.1s0-.1.1-.1.1 0 .1-.1h.1l.1-.1 5-5c.3-.3.4-.6.4-1z" + } + }, + groups: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.3 12.9c-.6-.9-.9-2.1-.9-3.3 0-2.1.8-3.9 2.2-4.9-.4-.9-1.4-1.5-2.6-1.5-2 0-3.1 1.7-3.1 3.6 0 1 .3 1.9 1 2.5.3.3.7.8.7 1.3s-.2.9-1.4 1.4c-1.6.7-3.2 1.8-3.2 3.3 0 1 .7 1.8 1.7 1.8h1.5c.2 0 .4-.2.6-.4.7-1.3 2.1-2.2 3.3-2.8.4-.1.5-.7.2-1zm13.5-.9c-1.1-.5-1.3-.9-1.3-1.4s.3-1 .7-1.3c.7-.7 1-1.5 1-2.5 0-1.9-1.1-3.6-3.2-3.6-1.2 0-2.1.6-2.6 1.5 1.4 1 2.2 2.8 2.2 4.9 0 1.2-.3 2.4-.9 3.3-.3.4-.1.9.2 1 1.2.6 2.6 1.5 3.3 2.8.2.2.4.4.6.4h1.5c1 0 1.7-.8 1.7-1.8 0-1.5-1.5-2.6-3.2-3.3zm-5.7 3.4c-1.3-.6-1.5-1.1-1.5-1.6 0-.6.4-1.1.8-1.4.7-.7 1.2-1.7 1.2-2.8 0-2.1-1.3-3.9-3.6-3.9S8.5 7.5 8.5 9.6c0 1.1.5 2.1 1.2 2.8.4.4.8.9.8 1.4 0 .6-.2 1-1.5 1.6-1.8.8-3.6 1.6-3.6 3.3 0 1.1.8 2 1.8 2h9.6c1.1 0 1.9-.9 1.9-2 0-1.6-1.8-2.5-3.6-3.3z" + } + }, + help: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.1 17.5h-2.3c-.4 0-.6-.2-.6-.6v-.7c0-1.9 1.2-3.7 3-4.3.6-.2 1.1-.5 1.5-1 2.3-2.8.2-6.1-2.6-6.2-1 0-1.9.3-2.7 1-.6.6-1 1.3-1 2.1-.1.2-.4.5-.7.5H5.4c-.5 0-.8-.4-.7-.8.1-1.7.9-3.3 2.2-4.5C8.4 1.6 10.2.8 12.3.9c3.8.1 6.9 3.3 7.1 7.1.1 3.2-1.9 6.1-4.9 7.2-.4.2-.7.5-.7 1v.6c0 .5-.3.7-.7.7zm.7 4.9c0 .4-.3.7-.6.7h-2.4c-.3 0-.6-.3-.6-.7v-2.3c0-.4.3-.7.6-.7h2.4c.3 0 .6.3.6.7v2.3z" + } + }, + help_center: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.9.9C5.7 1 .9 6 .9 12.1c.1 6.2 5.1 11 11.2 11 6.2-.1 11-5.1 11-11.2C23 5.7 18 .9 11.9.9zm0 1.5c1.6 0 3.2.4 4.5 1.1L15 6c-.9-.5-1.9-.7-3-.7s-2.1.2-3 .7L7.6 3.5c1.3-.7 2.7-1.1 4.3-1.1zM6 15l-2.5 1.4c-.7-1.3-1.1-2.7-1.1-4.3 0-1.7.4-3.2 1.1-4.6L6 9c-.5.9-.7 1.9-.7 3s.2 2.1.7 3zm6.1 6.6c-1.6 0-3.2-.4-4.5-1.1L9 18c.9.5 1.9.7 3 .7s2.1-.2 3-.7l1.4 2.5c-1.3.7-2.7 1.1-4.3 1.1zm-.1-4.3c-3 0-5.3-2.4-5.3-5.3 0-3 2.4-5.3 5.3-5.3 3 0 5.3 2.4 5.3 5.3 0 3-2.3 5.3-5.3 5.3zm6-2.3c.5-.9.7-1.9.7-3s-.2-2.1-.7-3l2.5-1.4c.7 1.3 1.1 2.7 1.1 4.3 0 1.7-.4 3.2-1.1 4.6L18 15z" + } + }, + hide: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.9 11.6c-.7-1.5-1.7-2.8-2.9-3.9l-3.9 3.9v.4c0 2.8-2.3 5.1-5.1 5.1h-.4l-2.5 2.5c.9.2 1.9.3 2.9.3 5.2 0 9.7-3.1 11.9-7.4.1-.4.1-.6 0-.9zm-1.5-9l-1-1c-.3-.3-.8-.2-1.1.2l-3.4 3.3c-1.5-.6-3.1-.9-4.9-.9-5.2 0-9.7 3-11.9 7.4-.1.3-.1.6 0 .8 1 2.1 2.5 3.8 4.4 5.1l-2.7 2.8c-.4.3-.4.8-.2 1.1l1 1c.3.3.8.2 1.1-.2L22.2 3.7c.4-.3.5-.8.2-1.1zM6.9 12c0-2.8 2.3-5.1 5.1-5.1.9 0 1.8.3 2.5.7L13.1 9c-.4-.1-.7-.2-1.1-.2-1.8 0-3.2 1.4-3.2 3.2 0 .4.1.7.2 1.1l-1.4 1.4c-.4-.7-.7-1.6-.7-2.5z" + } + }, + hide_mobile: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.7 11.7v6.5c0 .3-.3.6-.7.6H9.5l-4 4c.3.2.6.3 1 .3h11c1 0 1.7-.8 1.7-1.7V9.1l-2.5 2.6zM12 22.2c-.7 0-1.3-.6-1.3-1.3s.6-1.3 1.3-1.3 1.3.6 1.3 1.3-.6 1.3-1.3 1.3zM4.8 21l2.6-2.6L16.7 9v.1l2.5-2.5v-.1l3.3-3.2c.3-.3.3-.8.1-1l-.9-.9c-.3-.3-.7-.2-1 .1L19.2 3v-.4c0-.9-.7-1.7-1.7-1.7h-11c-1 0-1.7.8-1.7 1.7v14.8l-3.3 3.3c-.3.3-.3.8-.1 1l.9.9c.2.3.7.2 1-.1L4.8 21zM7.3 5c0-.3.3-.7.6-.7H16c.3 0 .7.3.7.7v.5l-9.4 9.4V5z" + } + }, + hierarchy: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M10.7 10.6H5c-.3 0-.7.3-.7.6v4.9H2.4c-.3 0-.6.3-.6.6v4.6c0 .3.3.7.6.7h6.4c.3 0 .6-.4.6-.7v-4.6c0-.3-.3-.6-.6-.6H6.9v-3H17v3h-1.9c-.3 0-.7.3-.7.6v4.6c0 .3.4.7.7.7h6.3c.3 0 .6-.4.6-.7v-4.6c0-.3-.3-.6-.6-.6h-1.9v-4.9c0-.3-.3-.6-.7-.6h-5.6V7.7h1.9c.3 0 .6-.4.6-.7V2.4c0-.3-.3-.6-.6-.6H8.8c-.4 0-.7.3-.7.6V7c0 .3.3.7.7.7h1.9v2.9z" + } + }, + high_velocity_sales: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 1.5c0-.5-.3-.6-.4-.6h-9.6c-.7 0-.7.7-.7.7V3c0 .6.4.7.6.7h6.6c.3 0 .7.2.7 1v6.2c.1.2.1.6.7.6h1.5s.6 0 .6-.7V1.5zm-5.8 5.7c.1-.4-.3-.5-.4-.5H7.3c-.7 0-.7.7-.7.7v1.3c0 .6.4.8.6.8h6.6c.3 0 .7.2.7.9v6.3c.1.2.2.6.7.6h1.5s.6 0 .6-.7V7.2zM2.4 22.5c.1.1.5.4 1-.1l4.8-4.8c.2-.2.6-.5.6.2v4.7c0 .2.1.6.7.6h1.4s.6 0 .6-.7V13c0-.4-.2-.5-.4-.5H1.6c-.7 0-.7.7-.7.7v1.3c0 .6.3.7.5.7h4.5c.1 0 .7.1.2.6l-4.6 4.7s-.6.5-.1 1l1 1z" + } + }, + home: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.6 12.5h-2.3v10.1c0 .3-.2.5-.5.5h-4.6c-.2 0-.4-.2-.4-.5v-7.8H9.2v7.8c0 .3-.2.5-.4.5H4.2c-.3 0-.5-.2-.5-.5V12.5H1.4c-.2 0-.4-.1-.4-.3-.1-.2-.1-.4.1-.5L11.7 1.1c.2-.2.5-.2.6 0l10.6 10.6c.2.1.2.3.1.5s-.2.3-.4.3z" + } + }, + identity: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.2 3.7h-5.1s.1.3.1.5c0 1.8-1.5 3.2-3.3 3.2h-2.7C8.4 7.4 6.9 6 6.9 4.2c0-.2 0-.5.1-.5H2.8c-1 0-1.9.8-1.9 1.8v13.9c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V5.5c0-1-.9-1.8-1.9-1.8zM10 17.5H4.8c-.6 0-1.1-.5-1.1-1.1 0-.9 1-1.4 2-1.9.7-.2.8-.5.8-.8 0-.3-.2-.6-.5-.8-.4-.4-.6-.9-.6-1.5 0-1.2.7-2.2 1.9-2.2s2 1 2 2.2c0 .6-.3 1.1-.7 1.5-.2.2-.4.5-.4.8 0 .2.1.5.8.8 1 .5 2 1 2 1.9.1.6-.4 1.1-1 1.1zm10.3-1.8c0 .3-.2.5-.5.5h-6.4c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9zm.9-3.7c0 .3-.2.5-.4.5h-7.4c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h7.4c.2 0 .4.2.4.5v.9zm-11-6.5h2.7c.8 0 1.4-.6 1.4-1.3s-.6-1.4-1.4-1.4h-2.7c-.8 0-1.4.6-1.4 1.4s.6 1.3 1.4 1.3z" + } + }, + image: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 4.6c0-1-.9-1.8-1.9-1.8H2.8c-1 0-1.9.8-1.9 1.8v14.8c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V4.6zm-4.8 12.9H4.9c-.6 0-.9-.6-.6-1l4.1-7.1c.1-.3.6-.3.7 0l2.5 4.2c.2.3.6.3.8.1l2-2.9c.1-.3.6-.3.7 0l3.7 5.8c.3.4 0 .9-.5.9zm-1.2-8.3c-1 0-1.9-.8-1.9-1.8s.9-1.9 1.9-1.9 1.8.9 1.8 1.9-.8 1.8-1.8 1.8z" + } + }, + in_app_assistant: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M23 15.5l-.9-1.9.9-2c.1-.1 0-.3-.1-.4h-3.1c-.3-.6-.9-2.1-1.4-2.9-.7-1.1-1.5-2.1-2.4-2.8-1.1-.9-2.3-1.6-3.7-2.2H12l-.3.1c-.1 0-.6.2-1.4.5-.6.3-1.3.8-2.1 1.4-1.4 1.2-2.5 2.5-3.3 4.2-.2.5-.5 1.1-.7 1.7h-3l-.1.1c-.1 0-.2.2-.2.4l.9 1.9-.9 2c0 .2.2.4.3.4h2.1v.8c0 .3 0 .7.1.9v.6l.5.3c.1 0 .9.6 2.4 1.1 1.3.4 3.3 1 5.8 1 2.2 0 4.3-.4 6.4-1.3.6-.2 1.1-.5 1.6-.8l.5-.2.1-.4v-1.2-.4c0-.1-.1-.2-.1-.5h2.2c.1 0 .3-.1.3-.3l-.1-.1zm-3.9 1.7v.2c-.5.3-.9.5-1.3.6-1.8.8-3.7 1.2-5.7 1.2-2.3 0-4.2-.6-5.4-1-.8-.3-1.5-.6-1.8-.8v-.9-1.2c.1-1.4.5-2.6.7-3.3.2-.7.5-1.3.7-1.8C7 8.7 8 7.6 9.2 6.6c.8-.7 1.5-1.1 1.8-1.2l1-.5c1.1.5 2 1.1 2.9 1.8.8.7 1.5 1.5 2.1 2.5.4.7 1.1 2.3 1.3 2.8 0 0 .6 1.9.6 3.2.1 1 .1 1.2.1 1.4 0 .1 0 .2.1.2v.4z" + }, { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M11.9 17.5c-.3 0-.5-.1-.6-.2-.2-.2-.3-.4-.3-.7s.1-.5.3-.6c.1-.2.4-.3.7-.3s.5.1.6.3c.2.2.3.4.3.6 0 .3-.1.5-.3.7-.2.2-.5.2-.7.2zm-3.1-6.8c0-.4.2-.8.4-1.2.3-.4.6-.7 1.1-1 .5-.3 1.1-.4 1.7-.4.6 0 1.2.1 1.6.3.5.2.8.5 1.1.9.2.4.3.8.3 1.3 0 .3 0 .6-.2.9-.1.3-.3.5-.5.7-.2.2-.5.5-1.1 1l-.3.3c-.1.1-.1.2-.2.3 0 0-.1.1-.1.2v.4c-.1.4-.4.6-.8.6-.2 0-.4 0-.5-.2-.2 0-.2-.3-.2-.5 0-.4 0-.7.2-1 .1-.2.2-.4.4-.7.2-.1.4-.4.7-.6l.6-.6c.2-.1.2-.2.3-.4.1-.1.2-.3.2-.4 0-.4-.2-.6-.4-.9s-.5-.3-1-.3c-.4 0-.7.2-1 .4-.2.2-.4.5-.5 1-.2.5-.4.7-.9.7-.2 0-.4-.1-.6-.2-.2-.2-.3-.4-.3-.6z" + }] + }, + inbox: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 3.7c0-1-.9-1.9-1.9-1.9H2.8c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V3.7zM8.8 16.2c0 .2-.2.4-.5.4H4.2c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.5.5-.5h4.1c.3 0 .5.2.5.5v1.9zm0-4.7c0 .3-.2.5-.5.5H4.2c-.3 0-.5-.2-.5-.5V9.7c0-.3.2-.5.5-.5h4.1c.3 0 .5.2.5.5v1.8zm0-4.6c0 .3-.2.5-.5.5H4.2c-.3 0-.5-.2-.5-.5V5.1c0-.3.2-.5.5-.5h4.1c.3 0 .5.2.5.5v1.8zm11.5 12c0 .3-.2.5-.5.5h-8.7c-.3 0-.5-.2-.5-.5V5.1c0-.3.2-.5.5-.5h8.7c.3 0 .5.2.5.5v13.8z" + } + }, + incoming_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 17.5l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.7 2.4 9.1 5.5 12.3s7.6 5.2 12.3 5.5c.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6zm-8.7-6.4h7.1c.4 0 .6-.5.2-.9l-2.3-2.3 4.2-4.2c.2-.2.2-.7 0-.9l-1.7-1.7c-.2-.2-.6-.2-.9 0l-4.2 4.2L13.8 3c-.4-.4-.9-.2-.9.2v7.1c0 .3.4.8.8.8z" + } + }, + info: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 5.6c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4-1.4-.6-1.4-1.4.6-1.4 1.4-1.4zm2.3 9.7c0 .2-.2.4-.5.4h-3.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5.2 0 .4-.2.4-.4v-1.9c0-.2-.2-.5-.4-.5-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v3.7c0 .2.2.4.4.4.3 0 .5.2.5.5v.9z" + } + }, + info_alt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.4c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3zm0-13.8c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4-1.4-.6-1.4-1.4.6-1.4 1.4-1.4zm2.3 9.7c0 .2-.2.4-.5.4h-3.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5.2 0 .4-.2.4-.4v-1.9c0-.2-.2-.5-.4-.5-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v3.7c0 .2.2.4.4.4.3 0 .5.2.5.5v.9z" + } + }, + insert_tag_field: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.5 5.6l-1-.8c-.4-.3-.7-.2-1 0L.1 11.6c-.1.2-.1.6 0 .9l5.4 6.7c.3.2.7.3 1 0l1.1-.8c.3-.3.3-.7.1-1L3.3 12l4.4-5.4c.2-.3.1-.7-.2-1zm16.4 6l-5.4-6.7c-.3-.3-.7-.4-1-.1l-1.1.9c-.3.2-.3.7-.1.9l4.4 5.4-4.4 5.4c-.2.3-.1.8.1 1l1.1.9c.3.2.7.2 1-.1l5.4-6.7c.1-.4.1-.7 0-.9zM14.6 5l-1.4-.3c-.4-.1-.8.1-.9.5L8.9 18.3c-.1.3.1.7.5.8l1.4.3c.4.1.8-.1.9-.5l3.4-13.1c.1-.4-.1-.7-.5-.8z" + } + }, + insert_template: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 17.5h-2.1v-2c0-.4-.3-.7-.7-.7h-1.4c-.3 0-.7.3-.7.7v2h-2c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h2v2.1c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-2.1h2.1c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7zm-6.7-3.9c0-.4.3-.7.7-.7h1.1V2.8c0-1-.8-1.9-1.8-1.9H2.8C1.8.9.9 1.8.9 2.8v12.9c0 1 .9 1.8 1.9 1.8h10.1v-1.1c0-.4.3-.7.7-.7h2.1v-2.1zM7.4 5.1c0 .3-.2.4-.5.4H4.2c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v.9zm5.5 7.4c0 .2-.2.4-.4.4H4.2c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h8.3c.2 0 .4.2.4.4v1zm1.9-3.7c0 .2-.2.4-.5.4H4.2c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h10.1c.3 0 .5.2.5.4v1z" + } + }, + inspector_panel: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M1.8 20.9h20.7c.4 0 .7-.3.7-.7v-3.8c0-.4-.3-.7-.7-.7H1.8c-.4 0-.7.3-.7.7v3.8c0 .4.3.7.7.7zm0-17.8c-.4 0-.8.3-.8.7v9.4c0 .3.4.6.8.6h20.6c.4 0 .7-.3.7-.6V3.8c0-.4-.3-.7-.7-.7H1.8z" + } + }, + internal_share: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M1.1 17.5v.1c0 .4.2.6.6.6.2 0 .3 0 .5-.2 0 0 4.6-5 10.4-3.5v5.1c0 .4.2.7.6.7.1 0 .2-.1.3-.1l9.3-7.9c.1-.2.2-.3.2-.5s-.1-.4-.2-.5l-9.2-7.5c-.1-.1-.3-.1-.4-.1-.4 0-.6.3-.6.6v4.8c-.1 0-9.2-1.4-11.5 8.4z" + } + }, + italic: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 5.7v-.6c0-.5-.4-.9-.9-.9h-6.4c-.6 0-1 .4-1 .9V6c0 .5.4.9 1 .9.7 0 1.3.8 1.2 1.5l-1.7 8.1c-.1.6-.7 1-1.2 1H7.4c-.5 0-.9.5-.9 1v.9c0 .5.4.9.9.9h6.4c.6 0 1-.4 1-.9v-.9c0-.5-.4-1-1-1-.7 0-1.3-.7-1.2-1.4l1.7-8.2c.1-.6.7-1 1.2-1h.8c.7 0 1.2-.5 1.2-1.2z" + } + }, + jump_to_bottom: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.7 14l-6.2 6.3c-.3.3-.7.3-1 0L5.3 14c-.3-.2-.3-.7 0-1l1-1c.3-.3.7-.3 1 0l4.2 4.3c.3.3.7.3 1 0l4.2-4.3c.3-.2.7-.2 1 0l1 1.1c.3.2.3.7 0 .9zm0-8.3L12.5 12c-.3.3-.7.3-1 0L5.3 5.7c-.3-.3-.3-.8 0-1l1-1.1c.3-.2.7-.2 1 0L11.5 8c.3.3.7.3 1 0l4.2-4.3c.3-.3.7-.3 1 0l1 1c.3.3.3.7 0 1z" + } + }, + jump_to_top: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.3 10l6.2-6.4c.3-.2.7-.2 1 0l6.2 6.4c.3.2.3.7 0 1l-1 1c-.3.3-.7.3-1 0l-4.2-4.3c-.3-.3-.7-.3-1 0L7.3 12c-.3.2-.7.2-1 0l-1-1.1c-.3-.2-.3-.7 0-.9zm0 8.3l6.2-6.3c.3-.3.7-.3 1 0l6.2 6.3c.3.3.3.8 0 1l-1 1.1c-.3.2-.7.2-1 0L12.5 16c-.3-.3-.7-.3-1 0l-4.2 4.3c-.3.3-.7.3-1 0l-1-1c-.3-.3-.3-.7 0-1z" + } + }, + justify_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 3c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V3zm0 5.5c0-.3-.4-.7-.7-.7h-19c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V8.5zm0 11.1c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7v-1.4zm0-5.5c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7v-1.4z" + } + }, + kanban: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.8 8.1c0-.4-.4-.7-.7-.7H9.9c-.3 0-.7.3-.7.7v12.4c0 .4.4.7.7.7h4.2c.3 0 .7-.3.7-.7V8.1zm-8.3 0c0-.4-.4-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v14.3c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V8.1zm16.6 0c0-.4-.3-.7-.7-.7h-4.2c-.3 0-.7.3-.7.7v10.6c0 .4.4.7.7.7h4.2c.4 0 .7-.3.7-.7V8.1zm0-6.5c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V1.6z" + } + }, + keyboard_dismiss: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 15.7c.5 0 .9-.4.9-.9v-12c0-.5-.4-.9-.9-.9H1.8c-.5 0-.9.4-.9.9v12c0 .5.4.9.9.9h20.4zM2.8 13.9V3.7h18.4v10.2H2.8zm3.5-7.7c0 .4-.3.7-.7.7h-.4c-.4 0-.7-.3-.7-.7v-.5c0-.3.3-.7.7-.7h.4c.4 0 .7.4.7.7v.5zM9 5.7c0-.3-.4-.7-.7-.7h-.5c-.4 0-.7.4-.7.7v.5c0 .4.3.7.7.7h.5c.3 0 .7-.3.7-.7v-.5zm5.3.5c0 .4-.4.7-.7.7h-.5c-.4 0-.7-.3-.7-.7v-.5c0-.3.3-.7.7-.7h.5c.3 0 .7.4.7.7v.5zm-2.7 0c0 .4-.3.7-.7.7h-.4c-.4 0-.7-.3-.7-.7v-.5c0-.3.3-.7.7-.7h.4c.4 0 .7.4.7.7v.5zm7.9-.5c0-.3-.3-.7-.6-.7h-.5c-.4 0-.7.4-.7.7v.5c0 .4.3.7.7.7h.5c.3 0 .6-.3.6-.7v-.5zm-2.6 0c0-.3-.3-.7-.7-.7h-.5c-.3 0-.6.4-.6.7v.5c0 .4.3.7.6.7h.5c.4 0 .7-.3.7-.7v-.5zM6.3 9c0 .3-.3.6-.7.6h-.4c-.4 0-.7-.3-.7-.6v-.5c0-.4.3-.7.7-.7h.4c.4 0 .7.3.7.7V9zM9 8.5c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7V9c0 .3.3.6.7.6h.5c.3 0 .7-.3.7-.6v-.5zm5.3.5c0 .3-.4.6-.7.6h-.5c-.4 0-.7-.3-.7-.6v-.5c0-.4.3-.7.7-.7h.5c.3 0 .7.3.7.7V9zm-2.7 0c0 .3-.3.6-.7.6h-.4c-.4 0-.7-.3-.7-.6v-.5c0-.4.3-.7.7-.7h.4c.4 0 .7.3.7.7V9zm7.9-.5c0-.4-.3-.7-.6-.7h-.5c-.4 0-.7.3-.7.7V9c0 .3.3.6.7.6h.5c.3 0 .6-.3.6-.6v-.5zm-2.6 0c0-.4-.3-.7-.7-.7h-.5c-.3 0-.6.3-.6.7V9c0 .3.3.6.6.6h.5c.4 0 .7-.3.7-.6v-.5zM6.3 11.7c0 .4-.3.7-.7.7h-.4c-.4 0-.7-.3-.7-.7v-.4c0-.4.3-.7.7-.7h.4c.4 0 .7.3.7.7v.4zm10.6-.4c0-.4-.3-.7-.7-.7H7.8c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7h8.4c.4 0 .7-.3.7-.7v-.4zm2.6 0c0-.4-.3-.7-.6-.7h-.5c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7h.5c.3 0 .6-.3.6-.7v-.4zM8.4 17.2h7.2c.3 0 .4.2.2.4L12.3 22c-.2.2-.4.2-.5 0l-3.6-4.4c-.2-.2-.1-.4.2-.4z" + } + }, + knowledge_base: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.4 16.2h6c.4 0 .7-.4.7-.7V4.6c0-.8-.9-1.4-1.5-1.4H4.4c-.4 0-.7.4-.7.7v11.6c0 .3.3.7.7.7zM22.7 5.4c-.3-.1-.5.1-.5.4v11.5c0 .4-.4.7-.7.7h-19c-.3 0-.7-.3-.7-.7V5.9c0-.4-.3-.6-.6-.5-.7.4-1.2 1.1-1.2 2V18c0 1 .8 1.8 1.8 1.8h7.7c.3 0 .7.4.7.7s.3.7.6.7h2.4c.3 0 .6-.3.6-.7s.4-.7.7-.7h7.7c1 0 1.8-.8 1.8-1.8V7.4c0-1-.3-1.8-1.3-2zm-9.1 10.8h6c.4 0 .7-.4.7-.7V3.9c0-.3-.3-.7-.7-.7h-5.2c-.7 0-1.5.6-1.5 1.4v10.9c0 .3.3.7.7.7z" + } + }, + layers: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zM19.8.9h-12C6 .9 4.6 2.4 4.6 4.2v1.3h12c1 0 1.9.9 1.9 1.9v12h1.3c1.8 0 3.3-1.4 3.3-3.2v-12c0-1.8-1.5-3.3-3.3-3.3z" + } + }, + layout: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 23.1H1.8c-.5 0-.9-.4-.9-.9V1.8c0-.5.4-.9.9-.9h20.4c.5 0 .9.4.9.9v20.4c0 .5-.4.9-.9.9zM2.8 21.2h18.4V2.8H2.8v18.4zM18 9.2H6c-.3 0-.5-.2-.5-.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v2.8c0 .2-.2.4-.5.4zm-9.2 9.3H6c-.3 0-.5-.2-.5-.5v-5.5c0-.3.2-.5.5-.5h2.8c.2 0 .4.2.4.5V18c0 .3-.2.5-.4.5zm9.2 0h-5.5c-.3 0-.5-.2-.5-.5v-5.5c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5V18c0 .3-.2.5-.5.5z" + } + }, + leave_conference: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.9 10.3c-.3.4-.1.8.2 1.1.8.4 1.6.8 2.3 1.5 1.2-.9 2.5-1.4 4.1-1.5-.5-.9-1.6-1.5-2.7-2-1.1-.4-1.3-.9-1.3-1.4 0-.4.3-.8.6-1.3.7-.6 1-1.4 1-2.4.1-1.9-1-3.5-2.9-3.5-1.2 0-2 .6-2.5 1.5C12 3.3 12.8 5 12.8 7c-.1 1.3-.4 2.4-.9 3.3zm2.8 5.7l2.7 2.8-2.7 2.8c-.3.2-.3.7 0 .9l.3.3c.3.3.7.3 1 0l2.7-2.7 2.8 2.7c.3.3.7.3 1 0l.3-.3c.3-.3.3-.7 0-.9L20 18.8l2.8-2.8c.3-.3.3-.7 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.8-2.7-2.8c-.3-.3-.8-.3-1 0l-.3.3c-.3.3-.3.7 0 1zM13 14.2c-.6-.7-1.6-1.1-2.6-1.6-1.2-.5-1.4-1-1.4-1.5s.4-1 .8-1.4c.7-.7 1-1.7 1-2.8C10.8 4.8 9.6 3 7.5 3h-.2C5.2 3 4 4.8 4 6.9 4 8 4.3 9 5 9.7c.4.4.8.9.8 1.4 0 .5-.2 1-1.4 1.5-1.8.8-3.4 1.6-3.5 3.3.1 1.1.9 2 1.9 2h8.6c.2-1.4.8-2.7 1.6-3.7z" + } + }, + left: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 3.8v16.4c0 .4-.6.8-1 .4l-9.8-8c-.3-.3-.3-.9 0-1.2l9.8-8c.4-.4 1-.1 1 .4z" + } + }, + left_align_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 3c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V3zm-3.7 5.5c0-.3-.4-.7-.7-.7H2.5c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h15.3c.3 0 .7-.3.7-.7V8.5zm0 11.1c0-.4-.4-.7-.7-.7H2.5c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h15.3c.3 0 .7-.3.7-.7v-1.4zm3.7-5.5c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7v-1.4z" + } + }, + level_down: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.7 5.5c0-.3-.3-.7-.7-.7H1.6c-.4 0-.7.4-.7.7V13c0 .3.4.7.7.7h15.3c.5 0 .6.5.4.8l-2.6 2.6c-.3.3-.3.7 0 .9l.9 1c.3.3.7.3 1 0l6.3-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-1 0l-1 1c-.3.2-.3.6 0 .9l2.6 2.6c.3.3.1.8-.3.8H4.4c-.8 0-.7-.7-.7-.7V5.5z" + } + }, + level_up: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M1.6 20.3c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h11c.4 0 .8-.4.8-.7V7.1c0-.5.4-.6.8-.4l2.6 2.6c.2.3.6.3.9 0l1-.9c.3-.3.3-.7 0-1l-6.2-6.3c-.3-.3-.7-.3-1 0L5.3 7.3c-.3.3-.3.7 0 1l.9 1c.3.3.7.3 1 0l2.6-2.6c.3-.3.8-.1.8.3v12.6c0 .8-.7.7-.7.7H1.6z" + } + }, + light_bulb: { + "path": { + "d": "M11.1 1.2a7.4 7.4 0 0 0-6.6 6.6 7.3 7.3 0 0 0 2.7 6.3 2.3 2.3 0 0 1 .8 1.8 1.8 1.8 0 0 0 1.9 1.9h4.2a1.8 1.8 0 0 0 1.8-1.9 2.3 2.3 0 0 1 .9-1.8 7.3 7.3 0 0 0 2.7-5.6c.1-4.3-3.8-7.7-8.4-7.3zm4.1 18.7H8.8a.7.7 0 0 0-.8.7 2.2 2.2 0 0 0 2.2 2.2h3.6a2.2 2.2 0 0 0 2.2-2.2.7.7 0 0 0-.8-.7z" + } + }, + lightning_inspector: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.9 10.9h-.3v-.4c0-2.3-1.8-4.2-4.2-4.2-1.1 0-2 .4-2.8 1.1-.6-1.5-2.1-2.7-3.9-2.7-2.3 0-4.2 1.9-4.2 4.2 0 .8.2 1.5.6 2.1-1.9.5-3.2 2.1-3.2 4.1 0 2.3 1.7 4.1 4 4.1h13.9c2.3 0 4.2-1.8 4.2-4.2s-1.8-4.1-4.1-4.1zm-11.4.4l3.6-1.7c.2-.1.4-.1.5 0l3.6 1.7c.3.1.3.3 0 .5l-3.6 1.7c-.1.1-.3.1-.5 0l-3.6-1.7c-.2-.1-.2-.4 0-.5zm7.8 4.2l-3.6 1.7c-.2.1-.4.1-.5 0l-3.6-1.7c-.3-.1-.3-.4 0-.5l.4-.2c.1-.1.2-.1.3 0l2.9 1.4h.5l2.8-1.4c.1-.1.2-.1.3 0l.4.2c.3.1.3.4.1.5zm0-1.8l-3.6 1.7c-.2.1-.4.1-.5 0l-3.6-1.7c-.3-.1-.3-.4 0-.5l.5-.3h.2l2.9 1.4c.1.1.3.1.5 0l2.8-1.4h.3l.5.3c.2 0 .2.3 0 .5z" + } + }, + like: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.8 9.7H2.5c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h1.2c1 0 1.8-.8 1.8-1.9v-9.4c0-.4-.3-.7-.7-.7zm15.5.5h-2.8c-1 0-1.8-.9-1.8-1.9V3.7c0-1-.8-1.9-1.9-1.9h-1.1c-.4 0-.7.4-.7.7v2.8c0 2.5-1.7 4.9-3.9 4.9-.4 0-.7.3-.7.6v9.3c0 .3.3.7.6.7 3.2.1 4.2 1.4 7.5 1.4 3.5 0 6.7-.4 6.7-4.4V12c0-1-.9-1.8-1.9-1.8z" + } + }, + link: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.6 19.2l-1-.1s-.7-.1-1-.3c-.2 0-.4 0-.5.2l-.3.2c-1.3 1.3-3.5 1.5-4.9.3-1.5-1.4-1.6-3.8-.1-5.2l3.5-3.5c.4-.5 1-.7 1.5-.9.8-.2 1.6-.2 2.2.1.5.2.9.4 1.2.8.2.2.4.4.5.6.2.3.6.4.8.1l1.3-1.3c.2-.2.2-.5.1-.7-.2-.3-.4-.5-.7-.7-.3-.4-.7-.7-1.1-.9-.6-.4-1.4-.7-2.1-.8-1.5-.3-3-.1-4.3.6-.5.3-1.1.7-1.5 1.1l-3.3 3.3C.4 14.6.2 18.6 2.6 21c2.4 2.7 6.6 2.8 9.1.2l1.2-1.1c.3-.3.1-.8-.3-.9zM21 2.7C18.5.3 14.5.5 12.1 3l-1 1c-.3.3-.1.8.3.9.6 0 1.3.2 1.9.4.2 0 .5 0 .6-.2l.2-.2c1.4-1.3 3.5-1.5 4.9-.3 1.6 1.4 1.6 3.8.2 5.2l-3.5 3.5c-.5.5-1 .7-1.6.9-.7.2-1.5.2-2.2-.1-.4-.2-.8-.4-1.2-.8-.2-.2-.3-.4-.5-.6-.1-.3-.6-.4-.8-.1l-1.3 1.3c-.2.2-.2.5 0 .7.2.3.4.5.6.7.3.3.8.7 1.1.9.7.4 1.4.7 2.2.8 1.4.3 3 .1 4.2-.6.6-.3 1.1-.7 1.5-1.1l3.5-3.5c2.6-2.5 2.5-6.7-.2-9.1z" + } + }, + linked: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 16.7l-.5-.7s-.3-.4-.4-.7c-.1-.2-.3-.3-.5-.3h-.2c-1.6 0-3-1.2-3.1-2.7-.2-1.8 1.3-3.2 3-3.2h4.2c.5 0 1 .2 1.5.4.5.3 1 .8 1.2 1.4.1.4.2.7.2 1.2 0 .2 0 .4-.1.6-.1.4.2.6.5.6h1.6c.2 0 .3-.2.4-.4.1-.3.1-.5.1-.8 0-.4-.1-.8-.2-1.2-.1-.7-.4-1.3-.7-1.8-.7-1-1.8-1.9-3-2.2-.5-.1-1-.2-1.5-.2h-4C3.6 6.7 1.1 9 1 11.9c-.2 3 2.3 5.5 5.3 5.5h1.4c.3 0 .5-.5.3-.7zm15-4.9c-.1-2.9-2.6-5.2-5.5-5.2h-1.2c-.4 0-.6.5-.4.7.4.5.7.9.9 1.4.1.2.3.3.5.3h.2c1.7 0 3 1.2 3.1 2.7.2 1.8-1.3 3.2-3 3.2h-4.2c-.5 0-1-.2-1.4-.4-.6-.3-1.1-.8-1.3-1.4-.1-.4-.2-.7-.2-1.2 0-.2 0-.4.1-.6.1-.4-.2-.6-.5-.6H8.5c-.2 0-.3.2-.4.4-.1.3-.1.5-.1.8 0 .4.1.8.2 1.2.1.7.4 1.3.8 1.8.6 1 1.7 1.8 2.9 2.1.5.2 1 .3 1.5.3h4.2c3.1.1 5.5-2.4 5.4-5.5z" + } + }, + list: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.7 4.8c0-.3-.3-.6-.7-.6H1.6c-.4 0-.7.3-.7.6v1.4c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7V4.8zm19.4 0c0-.3-.3-.6-.7-.6H6.2c-.3 0-.7.3-.7.6v1.4c0 .4.4.7.7.7h16.2c.4 0 .7-.3.7-.7V4.8zM3.7 11.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7v-1.4zm17.5 0c0-.4-.3-.7-.7-.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h14.3c.4 0 .7-.3.7-.7v-1.4zM3.7 17.8c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6H3c.4 0 .7-.3.7-.6v-1.4zm19.4 0c0-.4-.3-.7-.7-.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h16.2c.4 0 .7-.3.7-.6v-1.4z" + } + }, + listen: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.4 13.9c0-6.6-5.1-12.1-11.3-12.1S.8 7.3.8 13.9c0 1.6.3 3.2.8 4.7.7 1.8 2.3 3 4.2 3.1.6 0 1-.5 1-1v-5.8c0-.5-.4-1-1-1-1 0-2 .4-2.7.9-.1-.3-.1-.6-.1-.9 0-5.5 4.1-9.8 9.1-9.8s9 4.4 9 9.8v.9c-.7-.6-1.7-1-2.7-1-.6 0-1 .5-1 1.1v5.7c0 .5.4 1 1 1 1.1 0 2.2-.4 3-1.2.8-.9 1.1-1.8 1.4-2.9.4-1.1.6-2.3.6-3.6z" + } + }, + live_message: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.2.9h-11c-1.1 0-1.9.9-1.9 1.9 1.7.2 3.2.8 4.4 1.8h6.9c.3 0 .7.3.7.7v12.5c0 .3-.4.6-.7.6h-7.9c-.3 0-.6-.3-.6-.6v-.1l-.1-.1c-.8.4-1.7.6-2.6.7 0 .1-.1.2-.1.4v2.5c0 1 .8 1.8 1.8 1.8h11.1c1 0 1.9-.8 1.9-1.8V2.8c0-1-.9-1.9-1.9-1.9zm-5.5 21.3c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zM.9 10.6c0 3.2 2.9 5.9 6.4 5.9 1.3 0 2.4-.3 3.4-.9h.5l2.3.9c.2 0 .4-.2.3-.4l-.8-2.3c0-.2 0-.3.1-.5.5-.8.7-1.8.7-2.8 0-3.3-2.8-5.9-6.4-5.9-3.6 0-6.4 2.6-6.5 6z" + } + }, + location: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.5 4.4l-6.6-3.3c-.3-.2-.7-.2-1 0L8.8 4.2 2.6 1.1c-.4-.2-.8-.2-1.2 0-.3.2-.5.6-.5.9v16.6c0 .5.3.8.6 1l6.7 3.3c.3.2.7.2.9 0l6.2-3.1 6.2 3.1c.1.1.3.2.5.2s.4-.1.6-.2c.3-.2.5-.6.5-.9V5.4c0-.5-.2-.8-.6-1zm-1.7 2.1v8.8c0 .5-.5.9-1 .7-1.7-.7-.3-3.5-1.5-5.1-1.2-1.4-2.7 0-4.1-2.2-1.3-2.2.5-3.8 2.1-4.6.3-.1.5-.1.7 0l3.4 1.7c.3.2.4.4.4.7zm-9.3 12.8c-.3.2-.6.1-.8-.1-.5-.4-.9-1-.9-1.7 0-1.1-1.8-.7-1.8-2.9 0-1.8-2.1-2.3-3.9-2.1-.5.1-.8-.3-.8-.7V5c0-.5.5-.9 1-.6l4 2h.1l.1.1c1.7 1 1.3 1.8.6 3-.7 1.3-1.1 0-2.2-.4s-2.2.4-1.8 1.1 1.5 0 2.2.7.7 1.9 2.9 1.1 2.6-.3 3.4.4c.7.8 1.1 2.2 0 3.3-.7.7-1 2.1-1.2 3-.1.2-.2.4-.4.5l-.5.1z" + } + }, + lock: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.1 8.8h1.8c.3 0 .5-.2.5-.4v-.1c0-2.6 2.2-4.8 4.9-4.6 2.5.2 4.3 2.3 4.3 4.8v-.1c0 .2.2.4.5.4h1.8c.3 0 .5-.2.5-.4v-.1c0-4.2-3.5-7.6-7.8-7.4-3.9.2-6.9 3.5-7 7.5.1.2.2.4.5.4zm-.5-.4v.1-.1zm16.6 4.1c0-1.1-.8-1.9-1.8-1.9H4.6c-1 0-1.8.8-1.8 1.9v8.7c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9v-8.7zm-7.1 7.2c.1.3-.1.6-.4.6h-3.4c-.3 0-.5-.3-.5-.6l.9-2.8c-.7-.4-1.1-1.3-1-2.2.2-.9.9-1.5 1.8-1.7 1.5-.3 2.8.8 2.8 2.1 0 .8-.4 1.5-1 1.8l.8 2.8z" + } + }, + locker_service_api_viewer: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.3 17.8c0 .3.3.7.7.7h1.2v-1c0-.6 0-1.2.2-1.8H9c-.4 0-.7.3-.7.7v1.4zm4.9-11.3H9c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h4.2c.3 0 .6-.3.6-.7V7.2c0-.4-.3-.7-.6-.7zM1.6 4.6h18.9c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7zm18.9 4.6c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7h-4.1c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h4.1zm-12.2 4c0 .3.3.6.7.6h2.1c.6-1 1.5-1.9 2.5-2.5-.1-.2-.3-.2-.4-.2H9c-.4 0-.7.3-.7.7v1.4zM5.8 6.5H1.6c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zm4.9 13.8H9c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h3.6c-.8-.8-1.5-1.7-1.9-2.8zm-4.9-4.6H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h4.2c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7zm0 4.6H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V21c0-.4-.4-.7-.7-.7zm0-9.2H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6h4.2c.3 0 .7-.3.7-.6v-1.4c0-.4-.4-.7-.7-.7zm11.7.9c-3.1 0-5.5 2.5-5.5 5.6s2.4 5.5 5.5 5.5 5.5-2.5 5.5-5.5-2.5-5.6-5.5-5.6zm3.6 4l-4.4 4.4c-.1.1-.2.1-.3 0l-2.6-2.5c-.1-.1-.1-.3 0-.4l1-.9c.1-.1.2-.1.3 0l1.3 1.3c.1.1.2.1.3 0l3.1-3.2c.1-.1.3-.1.4 0l.9.9c.2.1.2.3 0 .4z" + } + }, + locker_service_console: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22 4.2c-.4-1-.9-1.9-1.5-2.8-.3-.4-.8-.4-1.1-.1-.8.8-2.1 1.3-3.4 1.3-1.4 0-2.6-.6-3.5-1.5-.3-.3-.8-.3-1.1 0-.9.9-2.1 1.5-3.5 1.5-1.3 0-2.5-.5-3.4-1.3-.3-.3-.9-.2-1.1.1-.6.8-1.1 1.8-1.5 2.8 0 0-1.1 2.3-.9 6v1c.7 6.2 5.2 11.1 11 11.9 5.8-.9 10.3-5.8 11-12V11v-.4c.4-4-1-6.4-1-6.4zM18.9 9l-7.7 7.8c-.2.1-.4.1-.6 0l-4.5-4.6c-.1-.2-.1-.4 0-.6l.6-.6c.2-.2.5-.2.6 0l3.4 3.4c.1.1.3.1.4 0l6.6-6.6c.2-.2.4-.2.6 0l.6.6c.2.1.2.4 0 .6z" + } + }, + log_a_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.8.9H6.2C5 .9 4 2 4 3.1v.8h-.7c-.8 0-1.5.6-1.5 1.5s.7 1.4 1.5 1.4H4v3.7h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5H4v3.7h-.7c-.8 0-1.5.6-1.5 1.4 0 .9.7 1.5 1.5 1.5H4v.8c0 1.1 1 2.2 2.2 2.2h13.6c1.2 0 2.4-1.1 2.4-2.3V3c0-1.2-1.2-2.1-2.4-2.1zm-1.2 14.9l-1.1 1c-.2.3-.5.4-.8.4-2.4-.2-4.6-1.3-6.2-2.9s-2.7-3.9-2.8-6.4c0-.3.1-.6.3-.8l1-1c.5-.5 1.2-.5 1.7.1l.9 1.2c.3.4.3 1 0 1.4l-.8 1.1c0 .2 0 .4.1.5l1.7 1.9 1.8 1.7c.1.1.3.1.5 0l1.1-.8c.4-.3.9-.3 1.4 0l1.1 1c.5.3.5 1.1.1 1.6z" + } + }, + logout: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.7 22.4V21c0-.4-.3-.7-.7-.7H4.4c-.4 0-.7-.3-.7-.7V4.4c0-.4.3-.7.7-.7H9c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7H2.8C1.8.9.9 1.8.9 2.8v18.4c0 1 .9 1.9 1.9 1.9H9c.4 0 .7-.3.7-.7zm13.2-9.9c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l2.6 2.6c.3.3.1.8-.3.8H7.2c-.4 0-.7.2-.7.6v1.4c0 .4.3.7.7.7h9.7c.5 0 .6.5.4.8l-2.6 2.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.3-6.1z" + } + }, + loop: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.8 15c0 .1 0 .1-.1.1-.1.5-.2.9-.4 1.2-.2.5-.3.9-.6 1.3-.4.8-1 1.6-1.6 2.2s-1.4 1.2-2.2 1.7c-.8.5-1.7.9-2.6 1.1-.9.3-1.9.4-2.9.4C5.7 23.1.9 18.3.9 12.5S5.7 1.9 11.5 1.9c2 0 3.8.6 5.4 1.5.8.5 1.5 1 2.1 1.6.2.2.3.3.4.5.4.3.6.1.6-.4V1.7c0-.4.4-.8.8-.8h1.4c.5 0 .8.4.8.8v9c0 .4-.2.7-.6.7h-9.1c-.4 0-.7-.3-.7-.7V9.1c0-.4.4-.7.8-.7h3.4c.3 0 .6-.1.7-.2-1.3-1.9-3.5-3.1-6-3.1-4.1 0-7.4 3.3-7.4 7.4s3.3 7.4 7.4 7.4c3.2 0 5.9-2 7-4.9 0 0 .1-.6.6-.6h2.1c.4 0 .6.2.6.5v.1z" + } + }, + lower_flag: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3 .9H1.7c-.4 0-.7.3-.7.7v20.8c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7zm15.7 10.5c1.3 0 2.4.3 3.5.8V3c0-.3-.4-.5-.7-.3C14.1 6.6 15-1.4 6 1.7c-.2.1-.4.4-.4.7v10.7c0 .3.3.6.6.4 3.5-1.2 5.5-.6 7.1.3 1.3-1.5 3.3-2.4 5.4-2.4zm-4 4.6l2.7 2.7-2.7 2.8c-.3.3-.3.7 0 1l.3.3c.3.3.7.3 1 0l2.7-2.8 2.8 2.8c.3.3.7.3 1 0l.3-.3c.3-.3.3-.8 0-1L20 18.7l2.8-2.7c.3-.3.3-.8 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.7-2.7-2.7c-.3-.3-.8-.3-1 0l-.3.3c-.3.2-.3.7 0 1z" + } + }, + macros: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.2 18.6c-.1.1-.3.2-.5.2h-2.2c-.1 0-.3-.2-.3-.3 0-.1.1-.2.1-.2v-.1l.1-.1 4.8-5.7c.1-.2.1-.5 0-.7v-.1l-4.9-5.8c-.1-.1-.1-.2-.1-.2 0-.2.2-.3.3-.3h2.2c.2 0 .4 0 .5.2l5.1 6.2c.1.1.1.2.1.3 0 .1-.1.3-.1.4l-5.1 6.2zm-5.4 0c-.1.1-.3.2-.4.2H9.2c-.2 0-.3-.2-.3-.3v-.2l.1-.1v-.1l4.8-5.7c.1-.2.2-.5.1-.7l-.1-.1-4.9-5.8v-.2c0-.2.1-.3.3-.3h2.2c.1 0 .3 0 .4.2l5.1 6.2c.1.1.1.2.1.3 0 .1 0 .3-.1.4l-5.1 6.2zm-5.3 0c-.1.1-.3.2-.5.2H1.9c-.1 0-.3-.2-.3-.3 0-.1.1-.2.1-.2v-.1l.1-.1 4.8-5.7c.1-.2.1-.5 0-.7v-.1L1.7 5.8c-.1-.1-.1-.2-.1-.2 0-.2.2-.3.3-.3H6c.1 0 .3 0 .4.2l5.1 6.2c.1.1.1.2.1.3 0 .1 0 .3-.1.4l-5 6.2z" + } + }, + magicwand: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13 9.7c-.2-.2-.4-.2-.6 0l-11.1 11c-.5.6-.5 1.4 0 2 .6.5 1.4.5 2 0l11-11.1c.2-.2.2-.4 0-.6L13 9.7zm3.2 0l1.5-1.5c.3-.3.3-.7 0-1l-.9-.9c-.3-.3-.7-.3-1 0l-1.5 1.5c-.2.1-.2.4 0 .6l1.3 1.3c.2.2.5.2.6 0zM4.8 5.4c1.8.5 3.1 1.8 3.7 3.6.1.3.5.3.5 0 .6-1.7 1.9-3.1 3.7-3.6.3-.1.3-.5 0-.6C11 4.2 9.6 2.9 9 1.1c0-.3-.4-.3-.5 0-.6 1.8-1.9 3.1-3.7 3.7-.2.1-.2.5 0 .6zm18.1 8.7c-1.6-.5-2.8-1.7-3.3-3.3-.1-.2-.4-.2-.5 0-.5 1.6-1.7 2.8-3.3 3.3-.2.1-.2.4 0 .5 1.6.5 2.8 1.7 3.3 3.3.1.2.4.2.5 0 .5-1.6 1.7-2.8 3.3-3.3.2-.1.2-.5 0-.5zM17.7 3.9c1.2.3 2.1 1.2 2.4 2.4.1.2.3.2.4 0 .4-1.2 1.2-2.1 2.4-2.4.2-.1.2-.3 0-.4-1.2-.4-2-1.2-2.4-2.4-.1-.2-.3-.2-.4 0-.3 1.2-1.2 2-2.4 2.4-.2.1-.2.3 0 .4z" + } + }, + mark_all_as_read: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.1 3.2l-.8-.8c-.2-.2-.6-.2-.8 0L4.6 7.3l-2-1.9c-.2-.3-.5-.3-.8 0l-.7.7c-.3.3-.3.6 0 .8l2.7 2.7c.2.3.5.4.8.4.2 0 .5-.1.8-.4L11.1 4c.2-.2.2-.5 0-.8zm11.2 5.3h-9.6c-.4 0-.7-.3-.7-.7V6.3c0-.4.3-.8.7-.8h9.6c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zm0 6.6H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8h17.8c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zm0 6.6H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8h17.8c.5 0 .8.4.8.8V21c0 .4-.3.7-.8.7z" + } + }, + matrix: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 1.6c0-.4-.4-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h14.3c.3 0 .7-.3.7-.7V1.6zM4.6 7.2c0-.4-.3-.7-.7-.7H2.5c-.3 0-.7.3-.7.7v6c0 .3.4.6.7.6h1.4c.4 0 .7-.3.7-.6v-6zm0 9.2c0-.4-.3-.7-.7-.7H2.5c-.3 0-.7.3-.7.7v6c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-6zm8.8-9.2c0-.4-.3-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h5.5c.4 0 .7-.3.7-.7V7.2zm8.8 0c0-.4-.4-.7-.7-.7h-5.6c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h5.6c.3 0 .7-.3.7-.7V7.2zm-8.8 4.6c0-.4-.3-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6h5.5c.4 0 .7-.3.7-.6v-1.4zm8.8 0c0-.4-.4-.7-.7-.7h-5.6c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h5.6c.3 0 .7-.3.7-.6v-1.4zm-8.8 4.6c0-.4-.3-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h5.5c.4 0 .7-.4.7-.7v-1.4zm8.8 0c0-.4-.4-.7-.7-.7h-5.6c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h5.6c.3 0 .7-.4.7-.7v-1.4zM13.4 21c0-.4-.3-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h5.5c.4 0 .7-.3.7-.7V21zm8.8 0c0-.4-.4-.7-.7-.7h-5.6c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h5.6c.3 0 .7-.3.7-.7V21z" + } + }, + merge: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.5 20.3c-2.6-1.2-4.4-3.5-5.3-6-.4-.9-.6-2-.7-2.9V9.8h5c.3 0 .6-.4.3-.8l-6.5-7.9c-.3-.3-.8-.3-.9 0L5 9c-.2.2 0 .8.4.8h5v1.6c-.2 1-.4 2-.7 2.9-.9 2.5-2.8 4.8-5.4 6-.3.1-.5.6-.3.9l.6 1.5c.2.3.6.5.9.2 2.8-1.3 5-3.4 6.4-6 1.3 2.6 3.5 4.7 6.3 6 .4.2.9.2 1-.2l.6-1.5c.3-.3.1-.7-.3-.9z" + } + }, + merge_field: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.6 18.4h-.3c-1.1 0-1.5-.6-1.5-1.6 0-.5.1-.9.2-1.3 0-.5.1-1 .1-1.5 0-1.2-.5-1.8-1.3-2 .8-.2 1.3-.8 1.3-2 0-.5-.1-1-.1-1.5-.1-.4-.2-.8-.2-1.3 0-1 .4-1.6 1.5-1.6h.3c.3 0 .5-.2.5-.5s-.2-.5-.5-.5H5.9c-1.6 0-2.8.7-2.8 2.4 0 .5.1 1 .2 1.6.1.5.1 1 .1 1.6 0 .6-.1 1.2-1.1 1.3h-.1c-.3 0-.5.2-.5.5s.2.5.5.5h.1c1 .1 1.2.8 1.2 1.3 0 .6-.1 1.1-.2 1.6s-.1 1-.1 1.5c0 1.9 1.1 2.5 2.7 2.5h1.8c.2 0 .5-.2.5-.5-.1-.3-.3-.5-.6-.5zm8.8 0h.3c1.1 0 1.5-.6 1.5-1.6 0-.5-.1-.9-.2-1.3 0-.5-.1-1-.1-1.5 0-1.2.5-1.8 1.3-2-.8-.2-1.3-.8-1.3-2 0-.5.1-1 .1-1.5.1-.4.2-.8.2-1.3 0-1-.4-1.6-1.5-1.6h-.3c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h1.7c1.6 0 2.8.7 2.8 2.4 0 .5-.1 1-.2 1.6-.1.5-.1 1-.1 1.6 0 .6.1 1.2 1.1 1.3h.1c.3 0 .5.2.5.5s-.2.5-.5.5h-.1c-1 .1-1.2.8-1.2 1.3 0 .6.1 1.1.2 1.6s.1 1 .1 1.5c0 1.9-1.1 2.5-2.7 2.5h-1.8c-.2 0-.5-.2-.5-.5.1-.3.3-.5.6-.5z" + } + }, + metrics: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.7.9H3.3C2 .9.9 2 .9 3.3v17.4c0 1.3 1.1 2.4 2.4 2.4h17.4c1.3 0 2.3-1.1 2.3-2.4V3.3C23.1 2 22 .9 20.7.9zM7.2 18.3c0 .4-.3.8-.7.8h-.8c-.4 0-.8-.4-.8-.8V14c0-.4.4-.8.8-.8h.8c.4 0 .7.4.7.8v4.3zm4 0c0 .4-.4.8-.8.8h-.8c-.4 0-.7-.4-.7-.8V8c0-.4.3-.8.7-.8h.8c.4 0 .8.4.8.8v10.3zm4 0c0 .4-.4.8-.8.8h-.8c-.4 0-.8-.4-.8-.8V5.7c0-.4.4-.8.8-.8h.8c.4 0 .8.4.8.8v12.6zm3.9 0c0 .4-.4.8-.8.8h-.8c-.4 0-.7-.4-.7-.8v-7.5c0-.4.3-.8.7-.8h.8c.4 0 .8.4.8.8v7.5z" + } + }, + minimize_window: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 22.4c0 .4-.3.7-.7.7H1.6c-.4 0-.7-.3-.7-.7V21c0-.4.3-.7.7-.7h20.8c.4 0 .7.3.7.7v1.4z" + } + }, + missed_call: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M16 18.6c.3 0 .6.2.7.5l.3 2.5c.1.7.7 1.2 1.4 1.3l3 .3c.9.1 1.7-.6 1.7-1.5v-2.9c0-.4-.2-.8-.5-1.1-3-2.7-6.9-4.1-10.6-4.1S4.3 15 1.3 17.7c-.2.3-.4.7-.4 1.1v2.9c-.1.9.7 1.7 1.6 1.5l3-.3c.7-.1 1.3-.6 1.4-1.3l.3-2.5c.1-.3.4-.5.7-.5 0 0 3.9-.3 8.1 0zm2.3-12.8c.3-.2.7 0 .7.3v3.1c0 .3.2.5.5.5h1.2c.3 0 .5-.2.5-.5l.1-7.4c0-.4-.3-.6-.6-.6h-7.4c-.3 0-.5.2-.5.6v1.1c0 .3.2.6.5.6h3.1c.4 0 .5.4.3.6l-4.3 4.3c-.2.2-.4.2-.6 0l-7.1-7c-.3-.2-.6-.2-.9 0l-.8.8c-.3.2-.3.6 0 .9l8.6 8.7c.3.3.6.3.9 0l5.8-6z" + } + }, + money: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.9 12c0-1 .6-1.9 1.5-2.4A3.4 3.4 0 0 0 12 6.4c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.4 3.5 3.4c.6 0 1.3-.2 1.8-.6V12zm0 4.8v-.9c0-.3 0-.6.1-.9H5.9c0-1.3-1.1-2.4-2.4-2.4V7.4c1.3 0 2.4-1 2.4-2.4H18c0 1.3 1.1 2.4 2.5 2.4v1.9h1.7c.4 0 .6 0 .9.1V4.5c0-1.2-.9-2.1-2.1-2.1H3C1.8 2.4.9 3.3.9 4.5v11.1c0 1.2.9 2.1 2.1 2.1h11.1c-.1-.3-.2-.6-.2-.9zm9.2 3.9c0 .5-.5.9-.9.9h-5.6c-.4 0-.9-.4-.9-.9v-.9c0-.4.5-.8.9-.8h5.6c.5 0 .9.4.9.8v.9zm0-3.9c0 .5-.5.9-.9.9h-5.6c-.4 0-.9-.4-.9-.9V16c0-.5.5-.9.9-.9h5.6c.5 0 .9.4.9.9v.8zm0-3.9c0 .5-.5.9-.9.9h-5.6c-.4 0-.9-.4-.9-.9V12c0-.4.5-.8.9-.8h5.6c.5 0 .9.4.9.8v.9z" + } + }, + moneybag: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.5 4.2c.1.3.3.4.6.4h3.7c.3 0 .6-.1.7-.4L16 1.5c.1-.3-.1-.6-.4-.6H8.4c-.3 0-.5.3-.3.5l1.4 2.8zm4.7 2.6H9.8c-3.6 0-6.6 3-6.6 6.7v7.4c0 1.2 1 2.2 2.2 2.2h13.2c1.2 0 2.2-1 2.2-2.2v-7.4c0-3.7-3-6.7-6.6-6.7zm-1.1 12.4v1.3c0 .2-.2.4-.5.4h-1.4c-.3 0-.3-.2-.3-.4v-1.2c-1.1-.2-2-.7-2.3-.9-.2-.3-.3-.5-.1-.9l.5-.7c0-.2.3-.3.5-.3.1 0 .3.1.4.1.8.5 1.4.7 1.9.7s.9-.3.9-.6c0-.2-.1-.6-1.5-1.1-1.3-.4-2.8-1.2-2.8-2.9 0-1 .6-2.1 2.5-2.5V9.1c0-.2.1-.4.3-.4h1.4c.3 0 .5.2.5.4v1.1c.7.1 1.5.5 1.8.7.1.1.2.3.3.5 0 .1-.1.3-.2.4l-.6.7c-.1.1-.4.3-.6.3-.1 0-.2-.1-.3-.1-.8-.4-1.4-.7-1.8-.7-.6 0-.9.3-.9.5 0 .3.2.6 1.4 1 1.6.5 3.3 1.4 3.3 3.1 0 1.2-1 2.3-2.4 2.6z" + } + }, + monthlyview: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.3 3.2H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9zm1.2 6h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zM9.7 20.3c-1.1 0-2.3-.4-2.7-1 0-.1-.1-.2-.1-.3 0-.4.4-.8.8-.8.1 0 .2.1.4.1.5.3 1.1.5 1.6.5.9 0 1.4-.4 1.4-1s-.4-.9-1.5-.9c-.6.1-1-.1-1-.7 0-.4.3-.7.7-.7 1 .1 1.7-.2 1.7-.8 0-.6-.6-.9-1.4-.9-.5 0-1 .1-1.5.4-.1.1-.2.1-.3.1-.4 0-.7-.3-.7-.7 0-.2.1-.4.2-.5.6-.5 1.4-.8 2.5-.8 1.7 0 2.8.8 2.8 2.1 0 .9-.8 1.5-1.6 1.7.8.1 1.7.7 1.7 1.8 0 1.5-1.2 2.4-3 2.4zm7.4-.9c0 .4-.3.9-.7.9-.4 0-.7-.4-.7-.9v-4.7l-1 .9c-.1.1-.3.1-.5.1-.4 0-.7-.2-.7-.7 0-.1.1-.3.2-.4l1.8-1.8c.1-.2.4-.3.7-.3.5 0 .9.5.9 1v5.9z" + } + }, + move: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.9 11.7l-3.8-4.2c-.3-.3-.6 0-.6.4v2.7h-4.7c-.2 0-.4-.2-.4-.4V5.5h2.7c.5 0 .7-.4.4-.6l-4.1-3.8c-.2-.2-.5-.2-.7 0L7.6 4.9c-.3.3-.1.6.4.6h2.6v4.7c0 .2-.2.4-.4.4H5.5V7.9c0-.5-.4-.7-.6-.4l-3.8 4.1c-.2.2-.2.5 0 .7l3.8 4.1c.3.3.6.1.6-.4v-2.6h4.7c.2 0 .4.2.4.4v4.7H7.9c-.5 0-.7.4-.4.6l4.1 3.8c.2.2.5.2.7 0l4.1-3.8c.3-.3.1-.6-.4-.6h-2.6v-4.7c0-.2.2-.4.4-.4h4.7v2.7c0 .5.4.7.6.4l3.8-4.1c.2-.3.2-.5 0-.7z" + } + }, + multi_picklist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.5.9H8.7c-1.2 0-2.2 1-2.2 2.2v.4c0 .2.1.4.3.4h10.7c1.2 0 2.3 1 2.3 2.2v11.4c0 .3.1.4.3.4h.4c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zm-5.2 5.2H3.5c-1.2 0-2.2 1-2.2 2.2v12.6c0 1.2 1 2.2 2.2 2.2h11.8c1.2 0 2.2-1 2.2-2.2V8.3c0-1.2-1-2.2-2.2-2.2zM6.5 19.4c0 .4-.4.7-.8.7H5c-.4 0-.8-.3-.8-.7v-.8c0-.4.4-.7.8-.7h.7c.4 0 .8.3.8.7v.8zm0-4.4c0 .4-.4.7-.8.7H5c-.4 0-.8-.3-.8-.7v-.8c0-.4.4-.7.8-.7h.7c.4 0 .8.3.8.7v.8zm0-4.5c0 .4-.4.8-.8.8H5c-.4 0-.8-.4-.8-.8v-.7c0-.4.4-.8.8-.8h.7c.4 0 .8.4.8.8v.7zm8.1 8.9c0 .4-.3.7-.8.7H8.7c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h5.1c.5 0 .8.3.8.7v.8zm0-4.4c0 .4-.3.7-.8.7H8.7c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h5.1c.5 0 .8.3.8.7v.8zm0-4.5c0 .4-.3.8-.8.8H8.7c-.4 0-.7-.4-.7-.8v-.7c0-.4.3-.8.7-.8h5.1c.5 0 .8.4.8.8v.7z" + } + }, + multi_select_checkbox: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.3 1.2H8.8c-1.2 0-2.2.9-2.2 2.1v.4c0 .2.1.4.4.4h10.4c1.2 0 2.2.9 2.2 2.1v11.2c0 .3.2.4.4.4h.3c1.2 0 2.2-1 2.2-2.2V3.3c0-1.2-1-2.1-2.2-2.1zm-5.1 5H3.7c-1.2 0-2.2 1-2.2 2.2v12.3c0 1.2 1 2.1 2.2 2.1h11.5c1.2 0 2.2-.9 2.2-2.1V8.4c0-1.2-1-2.2-2.2-2.2zm-.9 6.2l-5.5 5.5c-.3.2-.5.3-.8.3-.2 0-.5-.1-.7-.3l-2.7-2.7c-.2-.2-.2-.5 0-.7l.8-.7c.2-.3.5-.3.7 0L8 15.7l4.8-4.8c.2-.2.5-.2.7 0l.8.8c.2.1.2.5 0 .7z" + } + }, + muted: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 2.6l-1-1c-.3-.3-.8-.2-1.1.2l-4.6 4.6V4.6c0-2.1-1.6-3.7-3.7-3.7S8.3 2.5 8.3 4.6v6.7c0 .7.2 1.3.6 1.9l-1.7 1.6c-.7-1-1.2-2.2-1.2-3.5V9.4c0-.6-.5-1.1-1.2-1.1s-1.1.5-1.1 1.1v1.9c0 1.9.7 3.7 1.9 5.1l-3.8 3.9c-.4.3-.4.8-.2 1.1l1 1c.3.3.8.2 1.1-.2L22.2 3.7c.4-.3.5-.8.2-1.1zM18 10.7v.6c0 3.2-2.7 5.9-6 5.9h-.4l-1.8 1.9c.4.1.8.1 1.3.2v1.5H9c-.6 0-1.2.5-1.2 1.1s.6 1.2 1.2 1.2h6c.7 0 1.2-.5 1.2-1.2s-.6-1.1-1.2-1.1h-2.1v-1.5c4.2-.6 7.4-4 7.4-8V9.4c0-.3-.1-.5-.3-.7l-2 2z" + } + }, + new: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.8 4.2C15.5-.1 8.5-.1 4.2 4.2c-4.3 4.3-4.3 11.3 0 15.6 4.3 4.4 11.3 4.4 15.6 0 4.3-4.3 4.3-11.3 0-15.6zm-.4 8.7c0 .3-.2.5-.5.5h-5.1c-.2 0-.4.2-.4.4v5.1c0 .3-.2.5-.5.5h-1.8c-.3 0-.5-.2-.5-.5v-5.1c0-.2-.2-.4-.4-.4H5.1c-.3 0-.5-.2-.5-.5v-1.8c0-.3.2-.5.5-.5h5.1c.2 0 .4-.2.4-.4V5.1c0-.3.2-.5.5-.5h1.8c.3 0 .5.2.5.5v5.1c0 .2.2.4.4.4h5.1c.3 0 .5.2.5.5v1.8z" + } + }, + new_direct_message: { + "path": { + "d": "M21 7.8l-1.6 1.7c-.2.2-.4.6-.4.9v8.1c0 .3-.3.7-.7.7H5.9c-.4 0-.7-.4-.7-.7V6c0-.4.3-.7.7-.7h8c.4 0 .8-.1 1-.4l1.6-1.6c.3-.3.1-.8-.3-.8h-12c-1 0-1.8.9-1.8 1.9v15.7c0 1 .8 1.8 1.8 1.8h15.7c1.1 0 1.9-.8 1.9-1.8V8.2c0-.4-.5-.6-.8-.4zM8.7 14.2l1.7 1.7c.1.1.2.1.3 0l9-9.2c.1-.1.1-.2 0-.3L18 4.8c-.1-.1-.2-.1-.3 0l-9 9.1c-.1.1-.1.2 0 .3zM18.5 4c-.1.1-.1.2 0 .2l1.7 1.7c.1.1.2.1.2 0l1.2-1.1c.3-.3.3-.8 0-1.1l-.8-.8c-.4-.4-.8-.4-1.1 0-.1 0-1.2 1.1-1.2 1.1zM7.2 17c0 .2.1.4.3.4l.9-.3c.2 0 .5-.1.7-.2.2 0 .5-.1.6-.1.1-.1.3-.3.2-.4l-1.8-1.8c-.1-.1-.3 0-.3.1-.1.2-.2.5-.2.7-.1.2-.2.4-.2.7-.1.4-.1.7-.2.9z" + } + }, + new_window: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.5.9h-8.8c-.4 0-.8.3-.8.6v1.4c0 .4.3.8.8.8h3.6c.4 0 .7.5.3.7l-7.8 7.9c-.3.3-.3.7 0 .9l1 1c.2.3.6.3.9 0l7.9-7.8c.2-.3.7-.1.7.3v3.6c0 .4.4.8.7.8h1.4c.4 0 .7-.4.7-.8V1.6c0-.4-.3-.7-.6-.7zm-5.7 10.9l-1.6 1.6c-.3.3-.4.6-.4 1v5.2c0 .4-.4.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V9.9c0-.3.3-.7.7-.7h5.3c.4 0 .7-.1 1-.4l1.5-1.6c.3-.2.1-.7-.3-.7H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h12.9c1 0 1.8-.9 1.8-1.9v-9.1c0-.4-.5-.6-.7-.3z" + } + }, + news: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.3 2.8H4.4c-.4 0-.7.3-.7.7v14c0 .6-.5 1.1-1.1 1-.4-.1-.8-.5-.8-1V7.4c0-.3-.1-.5-.4-.5H.7c-.4 0-.7.3-.7.7v11.8c0 1 .8 1.8 1.8 1.8h20.4c1 0 1.8-.8 1.8-1.8V3.5c0-.4-.3-.7-.7-.7zM12.9 16.2c0 .2-.2.4-.4.4H6.9c-.3 0-.4-.2-.4-.4v-1c0-.2.1-.4.4-.4h5.6c.2 0 .4.2.4.4v1zm0-3.7c0 .2-.2.4-.4.4H6.9c-.3 0-.4-.2-.4-.4v-1c0-.2.1-.4.4-.4h5.6c.2 0 .4.2.4.4v1zm8.3 3.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.4-.2-.4-.4v-1c0-.2.2-.4.4-.4h5.6c.2 0 .4.2.4.4v1zm0-3.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.4-.2-.4-.4v-1c0-.2.2-.4.4-.4h5.6c.2 0 .4.2.4.4v1zm0-3.7c0 .2-.2.4-.4.4H6.9c-.3 0-.4-.2-.4-.4V6c0-.3.1-.5.4-.5h13.9c.2 0 .4.2.4.5v2.8z" + } + }, + note: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.1 18.3l-.4.4c-.5.5-1.1.7-1.7.7h-1.2c-1.1 0-2.3-.8-2.3-2.4v-1.1c0-.9.4-1.5.6-1.8l5-5.1c.1-.1.3-.5.3-.6V4.5c0-1.2-1-2.2-2.2-2.2H5.4c-1.2 0-2.3 1.1-2.3 2.2h-.7C1.6 4.5.9 5.2.9 6s.7 1.5 1.5 1.5h.7v3h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h.7v3h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.4 1.5 1.4h.7c0 1.5 1.1 2.2 2.3 2.2h11.8c1.2 0 2.2-1 2.2-2.2v-.9c0-.3-.1-.3-.3-.2zM15.3 7.9c0 .4-.3.7-.7.7H7.2c-.4 0-.7-.3-.7-.7v-.7c0-.5.3-.8.7-.8h7.4c.4 0 .7.3.7.8v.7zM12 16.8c0 .5-.3.8-.7.8H7.2c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h4.1c.4 0 .7.3.7.7v.7zm1.1-4.4c0 .4-.3.7-.7.7H7.2c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h5.2c.4 0 .7.3.7.7v.8zm9.7-2.1l-.4-.4c-.3-.3-.8-.3-1 0l-5.7 5.8V17c0 .1 0 .2.1.2h1.3l5.7-5.8c.4-.3.4-.7 0-1.1z" + } + }, + notebook: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.3.9H6.5c-1.1 0-1.9.9-1.9 1.9v1.4H3.2c-.8 0-1.4.6-1.4 1.3s.6 1.4 1.4 1.4h1.4v3.7H3.2c-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4h1.4v3.7H3.2c-.8 0-1.4.6-1.4 1.4s.6 1.3 1.4 1.3h1.4v1.4c0 1 .8 1.9 1.9 1.9h13.8c1 0 1.9-.9 1.9-1.9V2.8c0-1-.9-1.9-1.9-1.9zm-3.2 15.7c0 .3-.2.5-.5.5h-6.4c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9zm.9-3.7c0 .3-.2.5-.5.5H9.2c-.2 0-.4-.2-.4-.5V12c0-.3.2-.5.4-.5h8.3c.3 0 .5.2.5.5v.9zm.9-4.6c0 .3-.2.5-.4.5H8.3c-.3 0-.5-.2-.5-.5V5.5c0-.2.2-.4.5-.4h10.2c.2 0 .4.2.4.4v2.8z" + } + }, + notification: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.2 15.2H21c-.9 0-1.6-.7-1.6-1.6V8.3c0-4.2-3.5-7.6-7.8-7.4-3.9.2-7 3.6-7 7.6v5.2c0 .8-.7 1.5-1.6 1.5h-.2c-1 0-1.9.9-1.9 1.9v.7c0 .3.3.7.7.7h20.8c.4 0 .7-.4.7-.7v-.7c0-1-.9-1.9-1.9-1.9zm-6.9 5.1H9.7c-.2 0-.5.3-.4.6.2 1.3 1.4 2.2 2.7 2.2s2.5-1 2.7-2.2c.1-.3-.2-.6-.4-.6z" + } + }, + number_input: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.7 22.8H3.3c-1.2 0-2.1-.9-2.1-2.1V3.3c0-1.2.9-2.1 2.1-2.1h17.4c1.2 0 2.1.9 2.1 2.1v17.4c0 1.2-.9 2.1-2.1 2.1zM4.1 4.8v14.4c0 .4.3.7.7.7h14.4c.5 0 .8-.3.8-.7V4.8c0-.5-.3-.8-.8-.8H4.8c-.4.1-.7.4-.7.8zm12.6 4.6h-1.3l.5-2.2v-.1c0-.1 0-.2-.2-.2h-1c-.1 0-.2.1-.2.2l-.6 2.2h-2.6l.5-2.2c0-.1 0-.2-.2-.2h-1c-.1 0-.2 0-.2.1l-.6 2.3H8.3c-.1 0-.1 0-.2.1l-.3 1v.1c0 .1.1.2.2.2h1.4l-.6 2.5H7.3c-.1 0-.1.1-.1.2l-.3 1c0 .1 0 .2.2.2h1.3l-.6 2.2v.1c0 .1.1.2.2.2h1.1c.1 0 .1-.1.2-.2l.6-2.3h2.6l-.5 2.2c0 .1 0 .2.2.2h1c.1 0 .2 0 .2-.1l.6-2.3h1.5c.1 0 .1-.1.2-.2l.3-1c0-.1-.1-.2-.2-.2h-1.4l.6-2.6h1.5c.1 0 .1 0 .2-.1l.2-1v-.1c0 .1-.1 0-.2 0zM13 13.3h-2.7l.6-2.6h2.7l-.6 2.6z" + } + }, + office365: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M14.2 22.8c.3.1.6.1.9 0l5.5-1.8c.4-.1.6-.4.6-.8V3.6c0-.3-.2-.6-.4-.7L15.2 1c-.3-.1-.7-.1-.9 0L3.2 5.3c-.2.1-.4.3-.4.6v12.5c0 .3.2.6.4.7l11 3.7zm.6-3c0 .2-.3.5-.5.4L5.1 19c-.3-.1-.4-.3-.4-.5v-.2c0-.2.1-.3.3-.4l1.7-.8c.2-.1.3-.3.3-.4V6.8c0-.2.2-.4.4-.4l6.9-1.6c.3 0 .6.1.6.5v14.5z" + } + } + }, + offline: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16 16.7c.2-.3.2-.6 0-.9l-.8-.8c-.2-.2-.6-.2-.8 0l-2.1 2c-.1.2-.4.2-.5 0l-2.1-2c-.2-.2-.6-.2-.8 0l-.8.8c-.3.3-.3.6 0 .9l2 2c.1.1.1.4 0 .5l-2 2.1c-.3.2-.3.6 0 .8l.8.8c.2.3.6.3.8 0l2.1-2c.1-.1.4-.1.5 0l2.1 2c.2.3.6.3.8 0l.8-.8c.2-.2.2-.6 0-.8l-2-2.1c-.2-.1-.2-.4 0-.5l2-2zm6-11.3C19.5 2.5 15.9 1 12 1S4.6 2.5 2.1 5.4c-.2.1-.2.5 0 .6l1.4 1.2c.2.2.5.1.7 0C6.2 5 9 3.7 12 3.7s5.9 1.3 7.9 3.5c.2.1.5.1.7 0L22 6c.2-.2.2-.5 0-.6zm-10 2c-1.9 0-3.7.9-5 2.3-.2.2-.2.5 0 .7l1.5 1.1c.2.2.5.2.6 0 .8-.8 1.8-1.3 2.9-1.3s2.2.5 3 1.2c.1.2.4.2.6.1l1.4-1.1c.3-.2.3-.5.1-.7C15.8 8.3 14 7.4 12 7.4z" + } + }, + offline_cached: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 9.4c-.4-3-3.1-5.3-6.2-5.3-3.5 0-6.3 2.8-6.3 6.3v.5c-2.3.2-4.1 2.1-4.1 4.4 0 2.5 2 4.5 4.5 4.5H11l-3.8-3.7c-.1-.2-.1-.5 0-.6l.6-.6c.2-.2.5-.2.6 0l1.7 1.6c.1.2.5 0 .5-.2v-6.2c0-.2.2-.5.4-.5h.9c.2 0 .4.2.4.5v6.1c0 .3.4.4.5.2l1.6-1.6c.2-.2.5-.2.6 0l.6.6c.2.2.2.4 0 .6L12 19.8h5.7c2.8 0 5.1-2.4 5.1-5.2 0-2.8-2.2-5.1-5-5.2z" + } + }, + omni_channel: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.8 1.2H16c-.4 0-.5.4-.2.7l1.8 1.8.3.3-3.5 3.4c-.3.3-.3.7 0 1 0 0 2.3 2.4 2.1 5.1 0 3.9-2.8 7-6.7 7-2.9.3-5.1-2.4-5.1-2.4-.3-.2-.7-.2-1 0L2 19.8c-.3.3-.3.7 0 1l.5.6c.3.2.7.2 1 0l.7-.6c1.5 1.2 3.5 1.9 5.6 1.9 5.1 0 9.2-4.1 9.2-9.2 0-2.1-.7-4.1-1.9-5.7l2.3-2.3.4.3 1.8 1.9c.3.3.6.1.6-.2V1.7c0-.3-.2-.5-.4-.5z" + }, + "circle": { + "cx": "9.738", + "cy": "13.615", + "r": "4.569" + } + }, + open: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.7 16.2v-.3.5-.2zM21.2.9H2.8C1.8.9.9 1.8.9 2.8v16.6c0 1 .9 1.8 1.9 1.8h5.5c.3 0 .5-.2.5-.4v-1.9c0-.3-.2-.4-.5-.4H4.4c-.4 0-.7-.4-.7-.7V6.2c0-.3.3-.7.7-.7h15.2c.4 0 .7.4.7.7v11.6c0 .3-.3.7-.7.7h-3.9c-.3 0-.5.1-.5.4v1.9c0 .2.2.4.5.4h5.5c1 0 1.9-.8 1.9-1.8V2.8c0-1-.9-1.9-1.9-1.9zM17.3 16l1-1c.3-.3.3-.7 0-1l-5.8-5.8c-.3-.3-.7-.3-1 0L5.7 14c-.3.3-.3.7 0 1l1 .9c.3.3.7.3 1 0l2.1-2.1c.3-.3.8-.1.8.3v8.3c0 .4.3.7.7.7h1.3c.4 0 .8-.3.8-.7v-8.3c0-.4.4-.6.8-.3l2.1 2.2c.3.2.7.2 1 0z" + } + }, + open_folder: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.2 6.5H10.8c-.7 0-1.3-.4-1.7-1L7.5 2.8c-.3-.6-.9-1-1.6-1H2.8c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9v-12c0-1-.9-1.8-1.9-1.8zm0-3.7H10.1c-.2 0-.3.2-.2.3l.8 1.2c.1.2.2.3.4.3h10.1c.5 0 1 .1 1.5.3.1.1.4-.1.4-.3 0-1-.9-1.8-1.9-1.8z" + } + }, + opened_folder: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.3 6.9c0-1-.8-1.8-1.8-1.8h-6.8c-.9 0-1.6-.9-1.6-.9L8.9 2.8s-.5-1-1.6-1H5.5c-1 0-1.8.9-1.8 1.9v4.1h16.6v-.9zm1.3 2.8H2.4c-1 0-1.7.9-1.4 1.7l2.6 9.7c.2.6.7 1.1 1.4 1.1h14.1c.6 0 1.2-.5 1.3-1.1l2.7-9.7c.2-.8-.5-1.7-1.5-1.7z" + } + }, + outbound_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 17.5l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.7 2.4 9.1 5.5 12.3s7.6 5.2 12.3 5.5c.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6zM22.3.9h-7.1c-.4 0-.6.5-.2.9l2.3 2.3-4.2 4.2c-.2.2-.2.7 0 .9l1.7 1.7c.2.2.6.2.9 0l4.2-4.2L22.2 9c.4.4.9.2.9-.2V1.7c0-.3-.4-.8-.8-.8z" + } + }, + outcome: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.7 5.4v-.1c-.3-.2-.7-.2-1 .1l-1 .9c-.3.3-.2.7 0 .9l2.6 2.6c.1.1.1.2.1.4s-.1.5-.4.5H7.2c-.4 0-.7.2-.7.6v1.4c.1.4.3.7.7.7H17c.1 0 .2.1.3.1.2.2.2.5.1.7l-2.6 2.6c-.3.3-.3.7 0 1l.9 1c.3.3.7.2 1 0l6.2-6.2c.3-.3.2-.7 0-1l-6.2-6.2zm-7 2.5h1.4c.4 0 .7-.3.7-.7V2.8c0-1-.8-1.8-1.8-1.8H2.8C1.8 1 1 1.8 1 2.8v18.5c0 1 .8 1.8 1.8 1.8h7.1c1 0 1.9-.8 1.9-1.8v-4.4c0-.4-.4-.7-.7-.7H9.7c-.4 0-.7.3-.7.7v2.7c0 .4-.3.7-.7.7H4.4c-.3 0-.7-.3-.7-.7V4.4c0-.4.4-.7.7-.7h3.9c.4 0 .7.3.7.7v2.8c0 .4.3.7.7.7z" + } + }, + overflow: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.2 4.6H7.3c-1 0-1.7.8-1.7 1.7v.3c0 .1.1.2.3.2h9c1 0 1.7.8 1.7 1.7v10.2c0 .2.2.3.3.3h.3c.9 0 1.7-.8 1.7-1.7v-11c0-.9-.8-1.7-1.7-1.7zM20.9.9H11c-1 0-1.7.8-1.7 1.7v.3c0 .1.1.3.3.3h9c1 0 1.7.8 1.7 1.7v10.2c0 .1.1.3.3.3h.3c.9 0 1.7-.8 1.7-1.7V2.6c0-.9-.8-1.7-1.7-1.7zM15 10.1c0-1-.7-1.7-1.7-1.7H3.1c-1 0-1.7.7-1.7 1.7v11.3c0 .9.8 1.7 1.7 1.7h10.2c1 0 1.7-.8 1.7-1.7V10.1z" + } + }, + package: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.5 11.1h-3.7l-1.5 1.8h5v2.8H3.7v-2.8h4.9l-1.5-1.8H3.5c-.9 0-1.7.7-1.7 1.6v9c0 .8.6 1.4 1.4 1.4h17.6c.8 0 1.4-.6 1.4-1.4v-9c0-.9-.8-1.6-1.7-1.6zm-9.9-9.5v5.8H7.4c-.4 0-.7.4-.4.6l4.6 5.7c.2.1.5.1.7 0L16.9 8c.3-.2 0-.6-.4-.6h-3.1V1.6c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7z" + } + }, + package_org: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.5 10.6h-5.8l-1.8 1.9h7.4v2.7H3.7v-2.7h3.7l-1.8-1.9H3.5c-.9 0-1.7.8-1.7 1.7v8.9c0 .8.6 1.4 1.4 1.4h17.6c.8 0 1.4-.6 1.4-1.4v-8.9c0-.9-.8-1.7-1.7-1.7zm-11 1.3c.4.4.9.4 1.3 0l8.8-8.8c.2-.1.2-.4 0-.6l-1.3-1.3c-.2-.2-.5-.2-.7 0l-7.4 7.5-3.1-3.1c-.2-.2-.5-.2-.7 0L5.1 6.9c-.2.2-.2.4 0 .6l4.4 4.4z" + } + }, + package_org_beta: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.5 10.6h-2.7c-.2.7-.5 1.3-1 1.9h3.5v2.7H3.7v-2.7h2.8v-1.9h-3c-.9 0-1.7.8-1.7 1.7v8.9c0 .8.6 1.4 1.4 1.4h17.6c.8 0 1.4-.6 1.4-1.4v-8.9c0-.9-.8-1.7-1.7-1.7zm-4.3-6c0-1.8-1.6-3.2-3.4-3.2H9c-.4 0-.7.3-.7.7v9.7c0 .3.3.7.7.7h3.9c1.8 0 3.3-1.5 3.2-3.3 0-.9-.4-1.7-1-2.2.7-.7 1.1-1.5 1.1-2.4zm-6-1.4h2.7c.8 0 1.4.6 1.4 1.4 0 .8-.6 1.4-1.4 1.4h-2.7V3.2zm4.1 6c0 .8-.6 1.4-1.4 1.4h-2.7V7.8h2.7c.8 0 1.4.6 1.4 1.4z" + } + }, + page: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.5 8.8h-5.2c-1.2 0-1.9-.8-1.9-2V1.7c0-.5-.3-.8-.8-.8H5c-1.2 0-2.2 1-2.2 2.2v17.8c0 1.2 1 2.2 2.2 2.2h14c1.2 0 2.2-1 2.2-2.2V9.5c0-.4-.3-.7-.7-.7zm.6-2.8l-4.9-4.9c-.1-.1-.3-.2-.4-.2-.3 0-.6.3-.6.5v4c0 .8.8 1.5 1.6 1.5h3.9c.3 0 .5-.3.5-.5s0-.4-.1-.4z" + } + }, + palette: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.8 8C21.8 3.6 17.2.9 12.1.9 5.9.9.9 5.9.9 12s5 11.1 11.2 11.1c8.6 0 7.9-4.4 5.2-6.1-1.7-1-2.5-3.3-.9-5 3-3.1 7.8 1.8 6.4-4zM6 15.7c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3 2.3 1 2.3 2.3-1 2.3-2.3 2.3zm.5-8.8c0-1.3 1-2.3 2.3-2.3s2.3 1 2.3 2.3-1 2.3-2.3 2.3-2.3-1-2.3-2.3zm5 13.4c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3 2.3 1 2.3 2.3-1 2.3-2.3 2.3zm4.2-12c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3S18 4.7 18 6s-1 2.3-2.3 2.3z" + } + }, + password: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.7 22.8H3.3c-1.2 0-2.1-.9-2.1-2.1V3.3c0-1.2.9-2.1 2.1-2.1h17.4c1.2 0 2.1.9 2.1 2.1v17.4c0 1.1-.9 2.1-2.1 2.1zM4.1 4.8v14.4c0 .4.3.7.7.7h14.4c.5 0 .8-.3.8-.7V4.8c0-.5-.3-.8-.8-.8H4.8c-.4.1-.7.4-.7.8zM17.9 11l-.4-1.4c-.1-.4-.5-.6-.9-.5l-3.2 1.1V7.1c0-.5-.3-.8-.7-.8h-1.4c-.5 0-.8.3-.8.8v3.1l-3-1.1c-.4-.1-.8.1-.9.5L6.1 11c-.1.4.1.8.5.9l2.9.9-2.1 2.8c-.2.4-.2.8.2 1.1l1.2.8c.3.2.8.1 1-.2l2.2-3.1 2.3 3.1c.2.3.7.4 1 .2l1.2-.8c.3-.3.4-.7.2-1.1l-2.1-2.8 2.8-.9c.4-.1.6-.5.5-.9z" + } + }, + paste: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.1 5.5h7.8c.4 0 .7-.3.7-.7v-2c0-1-.8-1.9-1.8-1.9H9.2c-1 0-1.8.9-1.8 1.9v2c0 .4.3.7.7.7zm12.2-2.7h-1.1c-.4 0-.7.3-.7.7v2c0 1.1-.9 1.9-1.9 1.9H7.4c-1 0-1.9-.8-1.9-1.9v-2c0-.4-.3-.7-.7-.7H3.7c-1 0-1.9.8-1.9 1.8v16.6c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V4.6c0-1-.9-1.8-1.9-1.8zm-2.8 16.1c0 .3-.1.5-.4.5H6.9c-.3 0-.4-.2-.4-.5V18c0-.3.1-.5.4-.5h10.2c.3 0 .4.2.4.5v.9zm0-3.7c0 .3-.1.5-.4.5H6.9c-.3 0-.4-.2-.4-.5v-.9c0-.3.1-.5.4-.5h10.2c.3 0 .4.2.4.5v.9zm0-3.7c0 .3-.1.5-.4.5H6.9c-.3 0-.4-.2-.4-.5v-.9c0-.3.1-.4.4-.4h10.2c.3 0 .4.1.4.4v.9z" + } + }, + pause: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.8 19.8c0 .5.5 1 1 1h1.8c.5 0 .9-.5.9-1V4.2c0-.5-.4-1-.9-1h-1.8c-.5 0-1 .5-1 1v15.6zm-7.3 0c0 .5.4 1 .9 1h1.8c.5 0 1-.5 1-1V4.2c0-.5-.5-1-1-1H7.4c-.5 0-.9.5-.9 1v15.6z" + } + }, + people: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.4 10.3c-1.3-.5-1.5-1-1.5-1.5s.4-1 .8-1.4c.8-.7 1.2-1.6 1.2-2.7 0-2-1.3-3.8-3.7-3.8-2.1 0-3.4 1.5-3.6 3.3 0 .2.1.3.2.4 1.8 1.1 2.8 3.1 2.8 5.4 0 1.8-.6 3.3-1.9 4.4-.1.1-.1.3 0 .4.3.2 1.1.6 1.5.8.2 0 .3.1.4.1h5.6c1 0 1.9-.9 1.9-1.9v-.2c0-1.6-1.8-2.5-3.7-3.3zm-6.2 6.4c-1.6-.6-1.8-1.2-1.8-1.8 0-.6.5-1.2 1-1.7.9-.7 1.4-1.8 1.4-3.1 0-2.4-1.6-4.5-4.4-4.5-2.8 0-4.5 2.1-4.5 4.5 0 1.3.5 2.4 1.5 3.1.5.5.9 1.1.9 1.7 0 .6-.2 1.2-1.8 1.8-2.3.9-4.6 2-4.6 3.9v.6c0 1 .9 1.9 1.9 1.9h12.8c1.1 0 1.9-.9 1.9-1.9v-.6c0-1.9-2-3-4.3-3.9z" + } + }, + phone_landscape: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M24 6c0-1-.8-1.8-1.8-1.8H1.8C.8 4.2 0 5 0 6v12c0 1 .8 1.8 1.8 1.8h20.4c1 0 1.8-.8 1.8-1.8V6zM2.3 13.4c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zm18 3c0 .4-.3.7-.7.7H5.3c-.4 0-.7-.3-.7-.7V7.6c0-.4.3-.7.7-.7h14.3c.4 0 .7.3.7.7v8.8z" + } + }, + phone_portrait: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.8 1.8C19.8.8 19 0 18 0H6C5 0 4.2.8 4.2 1.8v20.4c0 1 .8 1.8 1.8 1.8h12c1 0 1.8-.8 1.8-1.8V1.8zM12 23.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zm5.1-4.4c0 .4-.3.7-.7.7H7.6c-.4 0-.7-.3-.7-.7V4.4c0-.4.3-.7.7-.7h8.8c.4 0 .7.3.7.7v14.3z" + } + }, + photo: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 9.2c-2 0-3.7 1.7-3.7 3.7s1.7 3.7 3.7 3.7 3.7-1.6 3.7-3.7S14 9.2 12 9.2zm9.2-2.7h-2.4c-.6 0-1.2-.4-1.5-.9L16.2 4c-.3-.8-1.1-1.2-1.9-1.2H9.7c-.8 0-1.6.4-1.9 1.2L6.7 5.6c-.3.5-.9.9-1.6.9H2.8c-1 0-1.9.8-1.9 1.8v11.1c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V8.3c0-1-.9-1.8-1.9-1.8zm-9.2 12c-3 0-5.5-2.5-5.5-5.6S9 7.4 12 7.4s5.5 2.5 5.5 5.5-2.5 5.6-5.5 5.6z" + } + }, + picklist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 18.9c.5 0 .9-.4.9-.9V6c0-.5-.4-.9-.9-.9H1.8c-.5 0-.9.4-.9.9v12c0 .5.4.9.9.9h20.4zM2.8 17.1V6.9h18.4v10.2H2.8zM15 10.6h4.3c.1 0 .2.2.1.2l-2.1 2.5c-.1.1-.3.1-.4 0l-2.1-2.5s.1-.2.2-.2z" + } + }, + picklist_choice: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.2 15.6H1.7c-.4 0-.7.3-.7.7v1.5c0 .4.3.7.7.7h1.5c.4 0 .7-.4.7-.7v-1.5c0-.4-.3-.7-.7-.7zM7.6 5.4h14.6c.4 0 .7-.3.7-.7V3.2c0-.4-.3-.7-.7-.7H7.6c-.4 0-.7.3-.7.7v1.5c0 .4.3.7.7.7zm0 6.6h14.6c.4 0 .7-.3.7-.7V9.8c0-.4-.3-.8-.7-.8H7.6c-.4 0-.7.4-.7.8v1.5c0 .3.3.7.7.7zM3.2 2.5H1.7c-.4 0-.7.3-.7.7v1.5c0 .4.3.7.7.7h1.5c.4 0 .7-.3.7-.7V3.2c0-.4-.3-.7-.7-.7zm0 6.5H1.7c-.4 0-.7.3-.7.7v1.5c0 .4.3.8.7.8h1.5c.4-.1.7-.4.7-.8V9.7c0-.3-.3-.7-.7-.7zm6.4 9.3c0-.8.3-1.6.8-2.3v-.5H7.6c-.4 0-.7.3-.7.7v1.5c0 .4.3.8.7.8h2v-.2zm6.6-3.8c.4-.4.9-.6 1.5-.6.8 0 1.5.4 1.8 1 .3-.1.7-.2 1-.2 1.4 0 2.5 1.1 2.5 2.4 0 1.4-1.1 2.5-2.5 2.5-.1 0-.3 0-.4-.1-.3.6-.9.9-1.6.9-.3 0-.5 0-.8-.1-.3.7-1 1.2-1.9 1.2-.9 0-1.6-.5-1.9-1.3h-.4c-1.1 0-2-.8-2-1.9 0-.7.4-1.3 1-1.6-.1-.3-.2-.6-.2-.9 0-1.2 1-2.2 2.2-2.2.7 0 1.4.3 1.7.9z" + } + }, + picklist_type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.3 6.9H7.6c-.4 0-.8-.3-.8-.8V4.7c0-.5.4-.8.8-.8h14.7c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm0 6.6H7.6c-.4 0-.8-.3-.8-.8v-1.4c0-.5.4-.8.8-.8h14.7c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm-19.1 0H1.7c-.4 0-.7-.3-.7-.8v-1.4c0-.5.3-.8.7-.8h1.5c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm0-6.6H1.7c-.4 0-.7-.3-.7-.8V4.7c0-.5.3-.8.7-.8h1.5c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm0 13.2H1.7c-.4 0-.7-.3-.7-.8v-1.4c0-.5.3-.8.7-.8h1.5c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm19.1 0H7.6c-.4 0-.8-.3-.8-.8v-1.4c0-.5.4-.8.8-.8h14.7c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8z" + } + }, + pin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.8 7.1L16.6.9C16 .2 15 .2 14.3.9s-.6 1.6 0 2.3l.3.3-7.4 4.9-.3-.2c-.6-.6-1.6-.6-2.3 0s-.6 1.7 0 2.3l3.3 3.3-6.8 6.9c-.6.6-.6 1.7 0 2.3.7.7 1.7.7 2.4 0l6.8-6.8 2.9 2.9c.6.6 1.7.6 2.3 0s.7-1.7 0-2.3l-.2-.3L20.2 9l.3.3c.6.7 1.7.7 2.3 0 .6-.5.6-1.5 0-2.2z" + } + }, + pinned: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17 10.9h-.2l-1.6-7.3h.4c.8 0 1.4-.6 1.4-1.3S16.4 1 15.6 1H8.4C7.6 1 7 1.6 7 2.3s.6 1.3 1.4 1.3h.4l-1.6 7.3H7c-.7 0-1.3.6-1.3 1.4s.6 1.3 1.3 1.3h3.9v8c0 .8.6 1.4 1.4 1.4s1.4-.6 1.4-1.4v-7.9h3.4c.7 0 1.3-.6 1.3-1.4s-.6-1.4-1.4-1.4z" + } + }, + play: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.7 20.2V3.8c0-.4.6-.8 1-.4l15.3 8c.4.3.4.9 0 1.2l-15.3 8c-.4.4-1 .1-1-.4z" + } + }, + podcast_webinar: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M22.2 10.5c0-2.2-.9-4.4-2.4-6.1l-.1-.2C17.8 2.2 15 .9 12 .9 9.1.9 6.4 2.1 4.6 4h-.1c-1.7 1.7-2.7 4.1-2.7 6.5 0 2.5 1 4.8 2.8 6.6.3.3.9.3 1.3 0s.3-1 0-1.4c-1.4-1.3-2.2-3.2-2.2-5.1 0-1.7.6-3.3 1.6-4.6.2-.2.3-.4.6-.6l.1-.1c1.5-1.6 3.6-2.5 6-2.5 4.5 0 8.2 3.5 8.3 7.8 0 1.9-.8 3.8-2.2 5.1-.4.4-.4 1 0 1.4s1 .3 1.3 0c1.8-1.8 2.8-4.1 2.8-6.6zm-3.9.1c0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-3.4-2.8-6-6.3-6-2.9 0-5.3 1.8-6 4.2-.2.6-.3 1.1-.3 1.7 0 1.5.5 2.8 1.5 3.9.4.3 1 .3 1.4 0 .4-.4.4-1 0-1.4-.7-.6-1-1.5-1-2.4 0-2.3 2-4.1 4.4-4.1s4.4 1.9 4.4 4.1c0 .9-.3 1.8-1 2.4-.4.4-.4 1 0 1.4.4.3.9.3 1.3 0 1-1.1 1.6-2.4 1.6-3.8zM13 15h-2c-.8 0-1.5.6-1.5 1.4v5.2c0 .8.7 1.5 1.5 1.5h2c.8 0 1.5-.6 1.5-1.5v-5.2c0-.8-.7-1.4-1.5-1.4z" + }, + "circle": { + "cx": "12", + "cy": "10.708", + "r": "2.492" + } + } + }, + pop_in: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.2 14.4H19c.3 0 .7-.2.7-.6v-1.3c0-.4-.3-.8-.7-.8h-3.7c-.4 0-.6-.5-.3-.8l7.8-7.8c.3-.3.3-.7 0-1l-.9-.9c-.3-.3-.7-.3-1 0L13.1 9c-.3.3-.8.1-.8-.3V5c0-.3-.3-.8-.7-.8h-1.4c-.3 0-.6.5-.6.8v8.8c0 .4.2.6.6.6zm6.9 1.9h-1.9c-.2 0-.4.2-.4.5v2.8c0 .4-.4.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V9.9c0-.3.3-.7.6-.7h2.9c.3 0 .5-.2.5-.4V6.9c0-.3-.2-.4-.5-.4H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h12.9c1 0 1.8-.9 1.8-1.9v-4.4c0-.3-.1-.5-.4-.5z" + } + }, + power: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.9 3.6c-.3-.2-.7 0-.7.4v1.7c0 .3.2.7.5.8 2.4 1.4 4 4.2 3.6 7.3-.3 3.3-3.1 6.1-6.5 6.5-4.4.5-8.2-3-8.2-7.4 0-2.7 1.5-5.1 3.7-6.4.3-.1.5-.5.5-.8V4c0-.4-.4-.6-.7-.4-3.9 1.6-6.6 5.6-6.2 10.2.4 4.8 4.2 8.7 8.9 9.2 6.1.7 11.4-4.1 11.4-10.1 0-4.2-2.6-7.8-6.3-9.3zm-2.5-2c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v7.9c0 .3.3.7.7.7h1.4c.4 0 .7-.4.7-.7V1.6z" + } + }, + preview: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.9 11.6C21.7 7.2 17.2 4.2 12 4.2S2.3 7.2.1 11.6c-.1.3-.1.6 0 .8 2.2 4.4 6.7 7.4 11.9 7.4s9.7-3 11.9-7.4c.1-.3.1-.5 0-.8zM12 17.1c-2.8 0-5.1-2.3-5.1-5.1S9.2 6.9 12 6.9s5.1 2.3 5.1 5.1-2.3 5.1-5.1 5.1zm0-8.3c-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" + } + }, + print: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.5 8h-19c-1 0-1.8.9-1.8 1.9v6.4c0 1.1.8 1.9 1.8 1.9h2.8v2.7c0 1 .8 1.8 1.8 1.8h9.8c1.1 0 1.9-.8 1.9-1.8v-2.7h2.7c1 0 1.9-.8 1.9-1.9V9.9c-.1-1-.9-1.9-1.9-1.9zM3.8 12.8c-.8 0-1.4-.6-1.4-1.4S3 10 3.8 10s1.4.6 1.4 1.4-.6 1.4-1.4 1.4zm12.8 7.1c0 .4-.4.7-.7.7H8c-.3 0-.7-.3-.7-.7v-4.5c0-.4.4-.7.7-.7h7.9c.3 0 .7.3.7.7v4.5zm2.1-14.8c0 .4-.3.7-.7.7H5.9c-.4 0-.7-.3-.7-.7V2c0-.4.3-.7.7-.7H18c.4 0 .7.3.7.7v3.1z" + } + }, + priority: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.2 1.6c0-.4-.4-.7-.7-.7H2.1c-.4 0-.7.3-.7.7v20.8c0 .4.3.7.7.7h1.4c.3 0 .7-.3.7-.7V1.6zm17.7 2c-7.4 3.8-6.5-4.1-15.4-1-.3.1-.5.4-.5.6V14c0 .3.3.5.6.4 8.9-3 7.9 5.2 15.6.8.3-.1.4-.3.4-.6V3.9c0-.3-.4-.5-.7-.3z" + } + }, + privately_shared: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M16.4 18.2c-.3-1.9-2.2-2.8-3.8-3.5-.7-.3-1.7-.7-1.9-1.5-.2-.5-.1-1 .1-1.4.4-.4.8-.8 1.1-1.3.1-.1.1-.2.2-.3 1-1.4 1.1-3.2.5-4.8-.5-1.6-2-2.7-3.8-2.8h-.3c-1.8.1-3.2 1.2-3.8 2.8-.5 1.6-.4 3.4.5 4.8.1.1.2.2.2.3.4.5.8.9 1.2 1.3.1.4.2.9.1 1.4-.3.8-1.3 1.2-1.9 1.5-1.6.7-3.6 1.6-3.9 3.5-.3 1.6.8 3.2 2.4 3.2h10.9c1.5 0 2.6-1.6 2.2-3.2zm2.7-13.6c1.9-.1 3.4 1.4 3.4 3.2 0 .2-.1.2-.2.2h-.8c-.2 0-.2 0-.2-.2v.1c0-1.1-.9-2-1.9-2.1-1.2-.1-2.2.8-2.2 2 0 .1-.1.2-.2.2h-.8c-.1 0-.2-.1-.2-.2 0-1.7 1.4-3.1 3.1-3.2zm3.4 4.3H16c-.5 0-.9.3-.9.8v3.9c0 .4.4.8.9.8h6.5c.4 0 .8-.4.8-.8V9.7c0-.5-.4-.8-.8-.8zm-2.3 4c0 .1-.1.3-.2.3h-1.5c-.2 0-.3-.2-.2-.3l.3-1.2c-.3-.2-.5-.6-.4-1 .1-.4.4-.7.8-.8.7-.1 1.2.3 1.2 1 0 .3-.2.6-.4.8l.4 1.2z" + } + }, + process: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.5 10.7l3.9-4.9c.3-.4.8-.4 1.1 0l3.9 5c.2.1.4.3.6.3h4.4c.4 0 .8-.3.8-.7V3.7c0-1-.9-1.9-1.9-1.9H3.7c-1 0-1.9.9-1.9 1.9v6.7c0 .4.4.7.7.7h4.4c.3 0 .4-.2.6-.4zm9 2.6l-3.9 4.9c-.3.4-.9.4-1.2 0l-3.9-5c-.2-.1-.3-.3-.6-.3H2.5c-.3 0-.7.3-.7.7v6.7c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9v-6.7c0-.4-.4-.7-.7-.7H17c-.2 0-.4.2-.5.4z" + } + }, + prompt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M21.7 2.1H2.3c-.8 0-1.4.6-1.4 1.4v14.1c0 .8.6 1.4 1.4 1.4H9l1.7 2.4c.4.6 1.3.8 1.9.3l.3-.3 1.9-2.4h6.9c.8 0 1.4-.6 1.4-1.4V3.5c0-.8-.6-1.4-1.4-1.4z" + } + }, + prompt_edit: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M21.7 2.1H2.3c-.8 0-1.4.6-1.4 1.4v14.1c0 .8.6 1.4 1.4 1.4H9l1.7 2.4c.4.6 1.3.8 1.9.3l.3-.3 1.9-2.4h6.9c.8 0 1.4-.6 1.4-1.4V3.5c0-.8-.6-1.4-1.4-1.4zM9.8 14.8c-.1.1-.1.1-.2.1l-2.3.6c-.2 0-.4-.2-.4-.4l.6-2.3c0-.1 0-.2.1-.2.1-.1.2-.1.3 0l1.9 1.9c.1.1.1.2 0 .3zm5.6-5.7l-4.7 4.7c-.1.1-.3.1-.3 0L8.5 12c-.1-.1-.1-.2 0-.3l4.7-4.8c.1-.1.2-.1.3 0l1.9 1.9c.1.1.1.2 0 .3zm1.4-1.4l-.5.6c-.1.1-.2.1-.3 0l-1.9-1.9c-.1-.1-.1-.3 0-.3l.5-.6c.4-.3.9-.3 1.2 0l1 1.1c.4.3.4.8 0 1.1z" + } + }, + push: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.3.9H9.2c-1 0-1.8.9-1.8 1.9 0 .3.2.7.4.8.2.1 1.9 1.9 1.9 1.9.2.1.4 0 .4-.2 0-.4.3-.7.7-.7h7.8c.4 0 .8.3.8.7v12.5c0 .3-.4.6-.8.6h-7.8c-.4 0-.6-.3-.6-.6v-.1c0-.2-.3-.3-.4-.1 0 0-1.8 1.7-2 1.8-.2.2-.4.5-.4.9v.9c0 1 .8 1.8 1.8 1.8h11.1c1 0 1.9-.8 1.9-1.8V2.8c0-1-.9-1.9-1.9-1.9zm-5.5 21.3c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zM12.7 11L7 5.3c-.3-.3-.7-.3-1 0l-1 .9c-.2.3-.2.7 0 1l2.2 2.1c.2.3 0 .8-.4.8H.7c-.4.1-.7.4-.7.7v1.4c0 .4.3.7.7.7h6.1c.4 0 .6.5.3.8L5 15.8c-.3.3-.3.7 0 1l1 1c.2.2.6.2.9 0l5.8-5.8c.3-.2.3-.7 0-1z" + } + }, + puzzle: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.8 17.7c-.1 1.3-.3 2.6-.5 3.9 0 .4-.5.8-.8.8-2.5.3-5 .5-7.5.5-2.4 0-4.9-.1-7.3-.5-.4 0-.8-.4-.9-.8-.3-2-.5-4.1-.5-6.2s.2-4.1.5-6.2c.1-.3.5-.7.9-.8 1.5-.2 3-.3 4.4-.4 0 0 1.2 0 1.1-1.2 0-1-1.8-1.7-1.8-3.4C8.4 2 9.8.9 12 .9c2.3 0 3.6 1.1 3.6 2.5 0 1.8-1.7 2.4-1.8 3.4C13.8 7.9 15 8 15 8c1.5.1 3 .2 4.5.4.3 0 .8.4.8.8.2 1.5.4 2.8.5 4.2 0 .4-.4.9-.8.9h-.4c-.4 0-1-.4-1.3-.7 0 0-1-1-2.1-1-1.7-.1-3 1.4-3 3s1.3 3.1 3 3.1c1-.1 2-1.1 2-1.1.4-.2 1-.5 1.4-.5h.4c.5 0 .8.3.8.6z" + } + }, + question: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.1 17.5h-2.3c-.4 0-.6-.2-.6-.6v-.7c0-1.9 1.2-3.7 3-4.3.6-.2 1.1-.5 1.5-1 2.3-2.8.2-6.1-2.6-6.2-1 0-1.9.3-2.7 1-.6.6-1 1.3-1 2.1-.1.2-.4.5-.7.5H5.4c-.5 0-.8-.4-.7-.8.1-1.7.9-3.3 2.2-4.5C8.4 1.6 10.2.8 12.3.9c3.8.1 6.9 3.3 7.1 7.1.1 3.2-1.9 6.1-4.9 7.2-.4.2-.7.5-.7 1v.6c0 .5-.3.7-.7.7zm.7 4.9c0 .4-.3.7-.6.7h-2.4c-.3 0-.6-.3-.6-.7v-2.3c0-.4.3-.7.6-.7h2.4c.3 0 .6.3.6.7v2.3z" + } + }, + question_mark: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.3 19.8c.4 0 .7.3.7.6v1.5c0 .4-.3.7-.7.7h-1.5c-.3 0-.6-.3-.6-.7v-1.5c0-.3.3-.6.6-.6h1.5zm.7-3.6c0-1 .6-1.8 1.4-2.2h.1c2.4-1 4.1-3.3 4.1-6.1 0-3.6-3-6.6-6.6-6.6-3.3 0-6.1 2.5-6.6 5.7 0 .4.3.8.7.8h1.5c.4 0 .7-.3.7-.6.3-1.8 1.9-3 3.7-3 2 0 3.7 1.6 3.7 3.7 0 1-.4 1.8-1 2.5v.1c-.4.4-1 .7-1.5.9-1.9.6-3.1 2.4-3.1 4.3v.7c0 .4.2.7.6.7h1.5c.4 0 .7-.3.7-.7l.1-.2z" + } + }, + questions_and_answers: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 12.9c0-1.8-1.2-3.3-2.8-3.9C20.2 4.5 16.5.9 12 .9S3.8 4.5 3.7 9C2.1 9.6.9 11.1.9 12.9c0 2 1.4 3.6 3.1 4 1 3.6 4.2 6.2 8 6.2s7-2.6 8-6.2c1.7-.4 3.1-2 3.1-4zm-4.6-4.1l-.1-.1.2.1h-.1zM12 21.2c-3.6 0-6.5-3-6.5-6.6 0-.9.2-2.3.6-3.2 0-.1.1-.2.2-.4 1.4-.5 2.6-1.5 3.3-2.7 1.7 2 4.2 3.4 7 3.4H18c.1.6.3 1.3.4 2.1-.3 1.1-2.1 2.2-4.6 2.4-.1-.3-.4-.5-.7-.5h-2.3c-.4 0-.6.4-.6.7v1.4c0 .4.2.7.6.7h2.3c.3 0 .6-.2.7-.5 1.6 0 3.1-.5 4.2-1.2-.8 2.6-3.2 4.4-6 4.4z" + } + }, + quick_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 1.5C5.8 1.5.7 6.2.7 11.9c0 1.8.5 3.5 1.4 5 .1.3.2.5.1.8l-1.5 4c-.1.4.2.7.6.6l4.1-1.5c.2-.1.5-.1.7.1 1.7.9 3.8 1.5 6 1.5 6.2-.1 11.3-4.7 11.3-10.4 0-5.8-5.1-10.5-11.4-10.5zm-5.2 10c0-.2.2-.4.4-.4h7.4c.2 0 .4.2.4.4v1c0 .2-.1.4-.4.4H7.2c-.2 0-.5-.2-.5-.4v-1zM17.4 16c0 .2-.2.4-.5.4H7.2c-.2 0-.5-.2-.5-.4v-.9c0-.2.2-.5.5-.5h9.7c.2 0 .5.2.5.5v.9zm0-7.1c0 .2-.2.5-.5.5H7.2c-.2 0-.5-.2-.5-.5V8c0-.2.2-.4.5-.4h9.7c.2 0 .5.2.5.4v.9z" + } + }, + quip: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.3 1C5.8 1.3 1.3 5.8 1 11.3c-.5 6.4 4.6 11.8 11 11.8h11.1V12c0-6.4-5.4-11.5-11.8-11zM6.7 7.2c0-.5.4-.8.8-.8h9c.4 0 .8.3.8.8v.7c0 .4-.4.7-.8.7H7.4c-.4 0-.7-.3-.7-.7v-.7zm10.6 9.6c0 .4-.4.7-.8.7H7.4c-.4 0-.7-.3-.7-.7V16c0-.4.3-.7.7-.7h9.1c.4 0 .7.3.7.7v.8h.1zm2.7-4.4c0 .4-.3.7-.7.7H4.7c-.5 0-.8-.3-.8-.7v-.8c0-.4.3-.7.8-.7h14.6c.4 0 .7.3.7.7v.8z" + } + }, + quotation_marks: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.4 3c-4.1 0-7.3 3.2-7.3 7.4v9.9c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-7.8c0-.4-.3-.7-.7-.7h-5.7v-1.4c0-2.3 2.2-4.6 4.5-4.6h1.2c.4 0 .7-.4.7-.7V3.7c0-.4-.3-.7-.7-.7h-1.2zM9 3c-4.2 0-7.3 3.2-7.3 7.4v9.9c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-7.8c0-.4-.3-.7-.7-.7H4.4v-1.4c0-2.3 2.3-4.6 4.6-4.6h1.2c.4 0 .7-.4.7-.7V3.7c0-.4-.3-.7-.7-.7H9z" + } + }, + quote: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.9 1h-8.1c-.5-.1-1 .2-1.4.6l-9.8 9.9c-.9.8-.9 2.3 0 3.1l7.8 7.9c.8.8 2.3.8 3.2 0l10-10.1c.3-.4.6-1 .5-1.5V3.2c0-1.2-1-2.2-2.2-2.2zm-8 16.2l-.5.5c-.3.3-.8.3-1 0l-5.1-5c-.3-.2-.3-.7 0-1l.5-.5c.3-.3.8-.3 1 0l5.1 5c.3.3.3.7 0 1zm2.9-2.9l-.5.5c-.3.2-.7.2-1 0l-5-5c-.3-.3-.3-.8 0-1l.5-.5c.3-.3.7-.3 1 0l5 5c.4.2.4.7 0 1zM17.9 8c-1 0-1.8-.8-1.8-1.9s.8-1.8 1.8-1.8 1.9.8 1.9 1.8S18.9 8 17.9 8z" + } + }, + radio_button: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6 13.2c-2.7 0-4.8 2.1-4.8 4.8s2.1 4.9 4.8 4.9c2.7 0 4.9-2.2 4.9-4.9S8.7 13.2 6 13.2zm0 7.5c-1.4 0-2.7-1.2-2.7-2.7s1.2-2.7 2.7-2.7 2.8 1.2 2.8 2.7-1.3 2.7-2.8 2.7zm12-7.5c-2.7 0-4.9 2.1-4.9 4.8 0 2.7 2.1 4.9 4.9 4.9 2.6 0 4.8-2.1 4.8-4.9 0-2.7-2.1-4.8-4.8-4.8zM6 1.2C3.3 1.2 1.2 3.3 1.2 6c0 2.7 2.1 4.9 4.8 4.9 2.7 0 4.9-2.1 4.9-4.9 0-2.7-2.2-4.8-4.9-4.8zm0 7.5C4.6 8.7 3.3 7.5 3.3 6S4.5 3.3 6 3.3 8.8 4.5 8.8 6 7.5 8.7 6 8.7zm12-7.5c-2.7 0-4.9 2.1-4.9 4.8 0 2.7 2.1 4.9 4.9 4.9 2.6 0 4.8-2.1 4.8-4.9 0-2.7-2.1-4.8-4.8-4.8z" + } + }, + rating: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.3 19.8v2.4c0 .5-.4.9-.9.9h-.9c-.5 0-.9-.4-.9-.9v-2.4c0-.2.2-.4.4-.3 0 0 .5.1 1 .1s.9-.1.9-.1c.3-.1.5.1.4.3zM5.1 5V1.8c0-.5-.4-.9-.9-.9h-1c-.5 0-.9.4-.9.9V5C1.5 5.4.9 6.4.9 7.4c0 1.5 1.3 2.8 2.8 2.8s2.8-1.3 2.8-2.8c0-1-.6-2-1.4-2.4zm-.5 7.1s-.5.1-1 .1-.9-.1-.9-.1c-.2-.1-.4.1-.4.4v9.7c0 .5.4.9.9.9h.9c.5 0 .9-.4.9-.9v-9.7c.1-.3-.1-.5-.4-.4zm16.6 1.8s-.5.2-.9.2-1-.2-1-.2c-.2 0-.4.1-.4.4v7.9c0 .5.4.9.9.9h.9c.5 0 .9-.4.9-.9v-7.9c.1-.2-.1-.4-.4-.4zm.5-7.1v-5c0-.5-.4-.9-.9-.9h-1c-.5 0-.9.4-.9.9v5c-.8.5-1.4 1.4-1.4 2.4 0 1.6 1.3 2.8 2.8 2.8s2.8-1.2 2.8-2.8c0-1-.6-1.9-1.4-2.4zm-8.3 5.6V1.8c0-.5-.4-.9-.9-.9h-1c-.5 0-.9.4-.9.9v10.6c-.8.4-1.4 1.4-1.4 2.4 0 1.5 1.3 2.7 2.8 2.7s2.8-1.2 2.8-2.7c0-1-.6-2-1.4-2.4z" + } + }, + reassign: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.7 4.7C8.4 2.4 4.6 1.6 1.3 2.6c-.1 0-.3.3-.3.6V5c0 .4.3.5.5.4C4 4.4 7.1 4.9 9 7l.6.5c.2.3 0 .8-.4.8H5.6c-.3 0-.7.2-.7.7v1.3c0 .4.3.7.7.7l8.9.1c.4 0 .7-.3.7-.7V1.6c0-.4-.2-.7-.7-.7h-1.3c-.4 0-.8.3-.8.7v3.6c0 .4-.5.6-.8.3 0 .1-.9-.8-.9-.8zm-9.1 8.1H3c.4 0 .7.4.7.7v6.1c0 .4.3.7.7.7h15.2c.4 0 .7-.3.7-.7V7.8c0-.4-.3-.7-.7-.7h-1.8c-.4 0-.7-.3-.7-.7V5c0-.3.3-.7.7-.7h3.4c1 0 1.9.9 1.9 1.9v15c0 1-.9 1.9-1.9 1.9H2.8c-1 0-1.9-.9-1.9-1.9v-7.7c0-.3.3-.7.7-.7z" + } + }, + record: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 3.7c4.6 0 8.3 3.7 8.3 8.3s-3.7 8.3-8.3 8.3-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7z" + } + }, + record_create: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.9 5.4h8.2c.4 0 .7-.4.7-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12.2-2.6h-.7c-.2 0-.4.1-.4.3v1.5c0 1.6-1.3 3-2.9 3H7.9C6.3 7.6 5 6.2 5 4.6V3.1c0-.2-.2-.3-.4-.3h-.7c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zm-2.7 13c0 .2-.2.4-.4.4h-4c-.2 0-.3 0-.3.2v4c0 .2-.1.4-.3.4h-.8c-.2 0-.3-.2-.3-.4v-4c0-.2-.1-.2-.3-.2H7c-.2 0-.4-.2-.4-.4V15c0-.1.2-.3.4-.3h4c.2 0 .3-.1.3-.3v-4c0-.2.1-.4.3-.4h.8c.2 0 .3.2.3.4v4c0 .2.1.3.3.3h4c.2 0 .4.2.4.3v.8z" + } + }, + record_delete: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.9 5.4h8.2c.4 0 .7-.4.7-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12.2-2.6h-.7c-.2 0-.4.1-.4.3v1.5c0 1.6-1.3 3-2.9 3H7.9C6.3 7.6 5 6.2 5 4.6V3.1c0-.2-.2-.3-.4-.3h-.7c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zm-4.3 16.8c0 .6-.5 1.1-1.1 1.1H9.3c-.7 0-1.1-.5-1.1-1.1v-4.8c0-.2.1-.3.3-.3h7c.2 0 .3.1.3.3v4.8zm1-6.9c0 .2-.2.3-.4.3H7.6c-.2 0-.3-.1-.3-.3V12c0-.2.1-.3.3-.3h2.8v-.9c0-.6.4-1 1-1h1.3c.5 0 .9.4.9 1v.9h2.8c.2 0 .4.1.4.3v.7zm-5.7 3.4h-.5c-.1 0-.2.1-.2.2v2.6c0 .2.1.3.2.3h.5c.1 0 .2-.1.2-.3v-2.6c0-.1-.1-.2-.2-.2zm2.2 0h-.4c-.2 0-.3.1-.3.2v2.6c0 .2.1.3.3.3h.4c.2 0 .3-.1.3-.3v-2.6c0-.1-.1-.2-.3-.2zm-.8-5.3h-1c-.1 0-.2.1-.2.2v.7h1.3V11c.1-.1 0-.2-.1-.2z" + } + }, + record_lookup: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.9 5.4h8.2c.4 0 .7-.4.7-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12.2-2.6h-.7c-.2 0-.4.1-.4.3v1.5c0 1.6-1.3 3-2.9 3H7.9C6.3 7.6 5 6.2 5 4.6V3.1c0-.2-.2-.3-.4-.3h-.7c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zm-2.8 17.6l-.5.4c-.1.2-.3.2-.4 0l-3-3c-.9.6-2 .9-3.1.8-1.9-.3-3.5-1.9-3.7-3.9-.2-2.7 2-4.9 4.7-4.6 2 .1 3.6 1.7 3.8 3.6.2 1.2-.1 2.3-.7 3.1l3 3c0 .2 0 .4-.1.6zm-6.5-9c-1.6 0-2.9 1.4-2.9 3s1.3 2.9 2.9 2.9 3-1.3 3-2.9-1.3-3-3-3z" + } + }, + record_update: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.9 5.4h8.2c.4 0 .7-.4.7-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12.2-2.6h-.7c-.2 0-.4.1-.4.3v1.5c0 1.6-1.3 3-2.9 3H7.9C6.3 7.6 5 6.2 5 4.6V3.1c0-.2-.2-.3-.4-.3h-.7c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zM15.7 14l-5.9 5.9-2.6.8c-.2 0-.5-.2-.4-.4l.7-2.6 5.9-5.9c.1-.1.3-.1.4 0l1.8 2c.2 0 .2.1.1.2zm1.7-1.7l-.7.8c-.1.1-.3.1-.4 0l-1.9-2c-.1-.1-.1-.2 0-.3l.7-.7c.4-.4 1-.4 1.3 0l1 .9c.4.4.4 1 0 1.3z" + } + }, + recurring_exception: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18 16.2L12.8 11l-.3-.3-4.6-4.6-2-2-2.3-2.3c-.3-.3-.8-.4-1.1-.1l-.9 1c-.3.2-.3.6-.1.9l18.7 18.7.1.1c.3.3.8.4 1.1.1l.9-.9c.3-.3.3-.8-.1-1.2L20 18.3l-2-2.1zM11.5 5.1c1.8 0 3.6.7 4.9 2 .2.2.4.4.5.7.2.3-.1.5-.6.5H13l2.7 2.8h5.9c.3 0 .6-.3.6-.6V2.1c-.1-.4-.5-.7-.8-.7H20c-.4 0-.7.3-.7.7v3.2c0 .4-.2.6-.6.3-.1-.2-.2-.3-.4-.4-2.3-2.3-5.6-3.3-8.9-2.7-.6.2-1.1.3-1.7.6l2.2 2.2c.5-.2 1-.2 1.6-.2zm.9 14c-1.8 0-3.6-.7-4.9-2-.2-.2-.4-.4-.5-.7-.2-.3.2-.5.6-.5h3.2s.1 0 .2-.1l-2.7-2.7H2.4c-.3 0-.6.3-.6.6v8.4c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-3.2c0-.4.2-.6.6-.3.1.1.2.3.4.4 2.3 2.3 5.6 3.3 8.9 2.6.6-.1 1.1-.2 1.7-.5L14 18.9c-.5.1-1 .2-1.6.2z" + } + }, + recycle_bin_empty: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21 4.6h-5.8V2.8c0-1-.8-1.9-1.9-1.9h-2.7c-1 0-1.9.9-1.9 1.9v1.8H3c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h18c.3 0 .6-.3.6-.7V5.3c0-.4-.2-.7-.6-.7zm-7.7 0h-2.7V3.2c0-.2.2-.4.4-.4h1.9c.3 0 .4.2.4.4v1.4zm5.9 4.6H4.8c-.3 0-.6.4-.6.7v10.9c0 1.3 1 2.3 2.3 2.3h11c1.3 0 2.3-1 2.3-2.3V9.9c0-.3-.3-.7-.6-.7zm-8.5 11.5l-2.3.1c-.1 0-1 0-1.6-1-.6-1-.1-1.8.6-3l-.7-.5c-.1 0-.1-.1-.1-.1l.2-.2 1.8-.4.1-.1c.1 0 .2 0 .3.1v.2l.4 1.8c0 .1 0 .2-.1.2-.1.1-.1.1-.2 0l-.6-.4c-.7 1.1-.7 1.4-.6 1.7.2.3.5.3.5.3h2.3c.2 0 .5.1.6.3.1.1.1.2.1.3 0 .4-.3.7-.7.7zm1.7-6.7c0-.1 0-.2.1-.2l.6-.3c-.5-1.1-.8-1.4-1.1-1.4-.4 0-.5.2-.5.3l-1.2 1.9c-.1.2-.3.3-.6.3-.1 0-.2-.1-.3-.1-.3-.2-.4-.6-.2-.9l1.2-1.9c.1-.1.5-.9 1.6-.9 1.2 0 1.6.9 2.3 2.2l.7-.4c.1 0 .2 0 .2.1.1 0 .1.1.1.2l-.7 1.9s0 .1-.1.1h-.1l-1.9-.7c-.1-.1-.1-.1-.1-.2zm4.8 5.7c-.5 1-1.6 1-2.9 1l-.1.8c0 .1 0 .1-.1.1s-.1.1-.2 0l-1.3-1.4c-.1-.1 0-.3 0-.3v-.1l1.5-1.2c.1-.1.1-.1.2-.1s.1.1.1.2v.7c1.2 0 1.6-.1 1.8-.3.1-.3 0-.5 0-.6l-1.2-2v-.6l.3-.3c.3-.2.7-.1.9.3l1.2 2c0 .1.3.8-.2 1.8z" + } + }, + recycle_bin_full: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.4 3.3l-5.5.9-.3-1.8c-.2-1-1.1-1.6-2-1.5l-2.7.5c-1 .1-1.6 1-1.5 2l.3 1.8-5.5.8c-.3.1-.6.5-.5.8l.2 1.3c.1.4.4.6.8.6l17.1-2.8c.4 0 .6-.4.6-.8l-.3-1.3c0-.3-.4-.6-.7-.5zm-7.3 1.2l-2.6.4-.3-1.3c0-.2.1-.5.4-.5l1.8-.3c.2 0 .4.1.5.4l.2 1.3zm6 5.2H5.3c-.4 0-.7.3-.7.7v10.5c0 1.2.9 2.2 2.2 2.2h10.7c1.2 0 2.2-1 2.2-2.2V10.4c.1-.4-.2-.7-.6-.7zM11 20.8l-2.3.1c-.1 0-.9 0-1.5-.9-.6-1-.1-1.8.6-3l-.6-.4c-.1 0-.1-.1-.1-.2s0-.1.1-.1l1.8-.4.1-.1c.1 0 .1 0 .2.2l.1.1.3 1.8c0 .1 0 .1-.1.2h-.2l-.5-.4c-.6 1-.7 1.4-.6 1.6.2.3.4.4.4.4l2.2-.1c.3 0 .5.1.6.3.1.1.1.2.1.3 0 .3-.2.6-.6.6zm1.6-6.5c0-.1 0-.1.1-.2l.6-.3c-.6-1-.7-1.3-1.1-1.3-.3 0-.4.2-.5.2l-1.1 1.9c-.1.2-.4.3-.6.3-.1 0-.2 0-.3-.1-.3-.2-.4-.5-.2-.9l1.2-1.9s.5-.7 1.5-.7c1.1 0 1.6.8 2.2 2l.7-.3c.1 0 .1 0 .2.1 0 0 .1.1 0 .1l-.5 1.8c0 .1-.1.1-.1.1h-.2l-1.8-.7c-.1 0-.1 0-.1-.1zm4.7 5.5c-.6 1-1.5 1-2.9.9v.8c0 .1-.1.1-.1.1s-.1.1-.2 0l-1.4-1.4c-.1-.1 0-.2 0-.2l.1-.1 1.5-1.3h.1s.1.1.1.2v.7c1.1 0 1.5-.1 1.7-.3s0-.6 0-.6l-1.1-1.9c-.1-.2-.1-.5 0-.6.1-.1.1-.2.2-.3.3-.2.7-.1.9.3l1.1 1.9c.1.1.5.8 0 1.8zM9.9 8.7L18 7.4v1.3z" + } + }, + redo: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.4 5.8h.3c.5 0 .5-.4.2-.6l-2.3-2.3c-.2-.2-.2-.7 0-1l1-.9c.2-.3.7-.3 1 0l5.9 5.9c.3.3.3.6 0 .9l-6 6c-.3.2-.6.2-.9-.1l-1-1c-.2-.3-.3-.7 0-1l2.2-2.2c.4-.4.5-.6.1-.8-.1-.1-.5-.1-.5-.1H10c-3.3 0-5.9 2.7-5.9 5.9s2.6 5.9 5.9 5.9h3.7c.4 0 .7.4.7.7v1.5c0 .4-.3.7-.6.7H10c-4.8 0-8.8-3.9-8.8-8.8s4-8.7 8.8-8.7h6.4z" + } + }, + refresh: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.5 1.8h-1.4c-.4 0-.7.4-.7.7v3.3c0 .4-.2.6-.6.3-.1-.2-.2-.3-.4-.5-2.3-2.3-5.6-3.2-8.9-2.6-1.1.2-2.3.7-3.2 1.3-2.8 1.9-4.5 4.9-4.5 8.1 0 2.5.9 5 2.7 6.8 1.8 1.9 4.3 3 7 3 2.3 0 4.6-.8 6.3-2.3.3-.3.3-.7.1-1l-1-1c-.2-.2-.7-.3-.9 0-1.7 1.3-4 1.9-6.2 1.3-.6-.1-1.2-.4-1.8-.7-2.6-1.6-3.8-4.7-3.1-7.7.1-.6.4-1.2.7-1.8 1.3-2.2 3.6-3.5 6-3.5 1.8 0 3.6.8 4.9 2.1.2.2.4.4.5.6.2.4-.2.6-.6.6h-3.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.6.7.6h8.4c.3 0 .6-.2.6-.6V2.5c0-.3-.4-.7-.7-.7z" + } + }, + relate: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zm-3.7 6.5c0 .2-.2.5-.4.5H9.7v2.7c0 .3-.2.5-.5.5h-.9c-.2 0-.5-.2-.5-.5v-2.7H5.1c-.3 0-.5-.3-.5-.5v-.9c0-.3.2-.5.5-.5h2.7v-2.8c0-.2.3-.4.5-.4h.9c.3 0 .5.2.5.4v2.8h2.8c.2 0 .4.2.4.5v.9zm6.9 3.7h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2z" + } + }, + reminder: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M29.9 8.8V9v-.2z" + }, { + "d": "M23.2 3.5C22.9 2.1 21.8.9 20.4.7c-1.1-.1-2 .2-2.7.8-.3.2-.2.5.1.6 1.7.9 3.2 2.2 4.3 3.8.1.2.5.2.7 0 .4-.7.6-1.5.4-2.4zm-17-1.3c.3-.1.3-.5.1-.7C5.6.9 4.7.6 3.6.8 2.2 1 1 2.1.8 3.5c-.2.9 0 1.7.5 2.4.1.2.5.2.6 0C3 4.4 4.5 3 6.2 2.2zM12 3C6.4 3 1.8 7.6 1.8 13.2c0 2.2.8 4.3 2 6l-1.5 1.5c-.6.6-.6 1.5 0 2.1.3.3.7.5 1.1.5.3 0 .7-.2 1-.5L6 21.3c1.7 1.2 3.7 2 6 2s4.3-.8 6-2l1.5 1.5c.3.3.7.5 1.1.5.4 0 .8-.2 1.1-.5.6-.6.6-1.5 0-2.1l-1.5-1.5c1.2-1.7 2-3.8 2-6C22.2 7.5 17.6 3 12 3zM4.8 13.1C4.8 9.2 8.1 6 12 6s7.2 3.2 7.2 7.2-3.2 7.1-7.2 7.1-7.2-3.2-7.2-7.2zm8.4-.4v-3c0-.6-.6-1.1-1.2-1.1s-1.1.5-1.1 1.1v3.4c0 .3.1.6.4.8l2.6 2.6c.2.3.5.3.8.3.3 0 .5 0 .8-.3.4-.4.4-1.1 0-1.5l-2.3-2.3z" + }] + }, + remove_formatting: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.8 18.9l2.1-2.1c.2-.2.2-.5 0-.7l-1.3-1.3c-.1-.2-.4-.2-.6 0L18.9 17l-2-2c-.1-.2-.4-.2-.6 0L15 16.3c-.2.2-.2.5 0 .6l2 2-2 2c-.1.1-.1.4 0 .6l1.3 1.3c.2.2.5.2.7 0l1.9-1.9 2.1 2c.2.2.5.2.6 0l1.3-1.3c.2-.1.2-.4 0-.6l-2.1-2.1zM2.2 3.7h5L5.3 14.4c-.1.5.2.8.7.8h2.3c.3 0 .7-.2.7-.5l1.9-11H16c.3 0 .7-.2.7-.6l.2-1.4c.1-.4-.2-.8-.7-.8H2.4c-.3 0-.6.3-.6.6l-.3 1.4c-.1.4.3.8.7.8zm10.7 14.1c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6h10.6c.4 0 .7-.3.7-.6v-1.4z" + } + }, + remove_link: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.1 16.9c-.3 0-.6-.1-.9-.1-.2-.1-.6-.2-.8-.3-.2 0-.4 0-.5.1l-.2.2c-1.1 1.2-3 1.3-4.3.2-1.3-1.2-1.4-3.2-.1-4.5l3-3c.5-.5.9-.7 1.4-.8.7-.2 1.4-.2 2 .1.3.2.7.4 1 .7.1.1.3.3.4.6.1.2.5.3.7.1L14 9c.2-.2.2-.4 0-.6-.2-.2-.3-.4-.5-.6-.3-.3-.7-.6-1-.8-.6-.4-1.2-.6-1.9-.8-1.2-.2-2.6 0-3.8.6-.4.3-.8.6-1.2 1l-3 2.9c-2.1 2.1-2.3 5.6-.2 7.8 2.2 2.3 5.8 2.4 8 .1l1-1c.3-.2.1-.7-.3-.7zm7.6-6.5c2.2-2.2 2.2-5.9-.1-8-2.3-2.1-5.7-1.9-7.8.2l-1 .9c-.2.3-.1.7.3.8.6 0 1.2.1 1.7.3.2.1.4 0 .5-.1l.2-.2c1.1-1.1 3-1.3 4.3-.2 1.3 1.2 1.4 3.3.1 4.5l-3.1 3.1c-.4.4-.8.6-1.3.8-.7.1-1.4.1-2-.2-.3-.1-.7-.3-1-.7-.1-.1-.3-.3-.4-.5-.1-.3-.5-.3-.7-.1l-1.1 1.1c-.2.2-.2.5-.1.6.2.3.4.5.6.7.3.3.6.5 1 .8.6.3 1.2.6 1.9.7 1.2.2 2.5.1 3.7-.6.5-.2.9-.5 1.3-.9l3-3zm2.1 8.5l2.1-2.1c.2-.2.2-.5 0-.6l-1.3-1.3c-.1-.2-.4-.2-.6 0L18.9 17l-2-2c-.1-.1-.4-.1-.6 0L15 16.3c-.2.2-.2.5 0 .7l2 2-2 1.9c-.1.2-.1.5 0 .7l1.3 1.2c.2.2.5.2.7 0l1.9-1.9L21 23c.2.2.5.2.6 0l1.3-1.3c.2-.2.2-.5 0-.7l-2.1-2.1z" + } + }, + replace: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.2 17.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7v-5.1zm-5.5-7.1H1.5c-.5 0-.7.4-.4.6l3.7 3.8c.1.2.4.2.6 0l3.7-3.8c.3-.3 0-.6-.4-.6H6.5c0-2.4 2.3-4.7 4.6-4.7V2.8c-4.2 0-7.4 3.2-7.4 7.4zm15.6-.8c-.2-.2-.5-.2-.7 0L15 13.2c-.3.3-.1.6.4.6h2.2c0 2.8-1.9 4.7-4.7 4.7v2.7c4.2 0 7.5-3.2 7.5-7.4h2.2c.5 0 .7-.4.4-.6l-3.7-3.8zm3.8-7.8c0-.4-.3-.7-.7-.7h-6.9c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7V1.6z" + } + }, + reply: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.9 8.4s-.5-.6-.3-.8L11.2 5c.3-.3.3-.7 0-1l-1-1c-.2-.3-.6-.3-.9 0L3 9.2c-.2.3-.2.7 0 1l6.3 6.2c.3.3.7.3.9 0l1-.9c.3-.3.3-.7 0-1l-2.5-2.6c-.3-.3-.1-.7.2-.8 5.1.2 9.3 4.3 9.6 9.5 0 .4.3.7.7.7h1.4c.4 0 .6-.3.6-.8-.3-6.7-5.4-11.9-12.3-12.1z" + } + }, + reply_all: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.3 8.4s-.5-.6-.3-.8L13.6 5c.3-.3.3-.7 0-1l-1-1c-.2-.3-.6-.3-.9 0L5.4 9.2c-.2.3-.2.7 0 1l6.3 6.2c.3.3.7.3.9 0l1-.9c.3-.3.3-.7 0-1l-2.5-2.6c-.3-.3-.1-.7.2-.8 5.1.2 9.3 4.3 9.6 9.5 0 .4.3.7.7.7H23c.4 0 .6-.3.6-.8-.3-6.7-5.4-11.9-12.3-12.1zm-8.8 1l5.3-5.3c.3-.3.3-.7 0-1V3c-.3-.3-.7-.3-1 0L.6 9.2c-.3.3-.3.7 0 1l6.2 6.2c.3.3.7.3 1 0 .3-.3.3-.7 0-1l-5.3-5.3s-.3-.3 0-.7z" + } + }, + report_issue: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M10.5 21.1v.5c0 .5-.4.9-.9.9H1.9c-.6 0-1-.4-1-.9v-.5c0-1.2 1.4-1.9 2.7-2.5h.1c.1-.1.2-.1.3 0 .5.3 1.1.5 1.8.5.6 0 1.2-.2 1.7-.5.1-.1.2-.1.3 0h.1c1.3.6 2.6 1.3 2.6 2.5z" + }, { + "d": "M16.1 1.5c-4 0-7.1 3-7.1 6.7 0 1.1.3 2.3.9 3.3.1.1.1.2.1.4L9.2 14c-.1.3.1.5.4.6h.2l2.1-.8c.1 0 .3 0 .4.1 1.1.6 2.4 1 3.7 1 3.9 0 7-3 7-6.7.1-3.7-3.1-6.7-6.9-6.7zm-.5 2.6h1.3v3.2l-.1 2.2h-1.1l-.1-2.2V4.1zm.6 8c-.6 0-.8-.4-.8-.8s.2-.9.8-.9.9.4.9.9c0 .4-.2.8-.9.8z" + }], + "ellipse": { + "cx": "5.723", + "cy": "15.554", + "rx": "2.4", + "ry": "2.631" + } + } + }, + reset_password: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.4 10.6H4.6c-1 0-1.8.8-1.8 1.9v8.7c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9v-8.7c0-1.1-.8-1.9-1.8-1.9zm-5.1 9.9c-.7.5-1.5.7-2.3.7-.3 0-.6 0-.8-.1-1.1-.2-2.1-.8-2.7-1.7l1.6-1c.3.5.8.8 1.4.9.6.2 1.2 0 1.8-.3 1.1-.7 1.3-2.2.6-3.2-.3-.5-.8-.9-1.4-1-.6-.1-1.2 0-1.8.4l-.3.3 1.6 1.6H7.8v-4.2L9 14.1c.2-.2.5-.3.6-.5 1-.6 2.1-.8 3.2-.6 1.1.2 2 .8 2.6 1.7 1.3 2 .8 4.5-1.1 5.8zM4.6 8.4v.1-.1zm.5.4h1.8c.3 0 .5-.2.5-.4v-.1c0-2.6 2.2-4.8 4.9-4.6 2.5.2 4.3 2.3 4.3 4.8v-.1c0 .2.2.4.5.4h1.8c.3 0 .5-.2.5-.4v-.1c0-4.2-3.5-7.6-7.8-7.4-3.9.2-6.9 3.5-7 7.5.1.2.2.4.5.4z" + } + }, + resource_absence: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.1 17.1c0-1.3.4-2.7 1.1-3.8.8-1.4 1.6-1.9 2.3-3 1.2-1.7 1.4-4.1.7-6-.8-1.9-2.5-3-4.6-2.9S6 2.7 5.3 4.6c-.7 2-.4 4.5 1.3 6.1.6.7 1.3 1.7.9 2.6-.3 1-1.4 1.4-2.2 1.7-1.8.8-4 1.9-4.3 4.1-.4 1.7.8 3.5 2.7 3.5h7.8c.4 0 .6-.4.4-.7-1.1-1.4-1.8-3.1-1.8-4.8zm11.3-3.9c-2.2-2.2-5.7-2.2-7.8 0-2.2 2.1-2.2 5.6 0 7.8 2.1 2.2 5.6 2.2 7.8 0s2.2-5.7 0-7.8zM19.8 18c.2.2.2.6 0 .7l-.7.7c-.2.2-.4.2-.6-.1l-1-.9-1 1c-.2.2-.4.2-.6-.1l-.7-.6c-.2-.2-.2-.4 0-.6l1-1-1-1c-.2-.2-.2-.5 0-.6l.6-.7c.2-.2.5-.2.7 0l1 .9 1-.9c.1-.2.5-.3.7-.1l.6.7c.2.2.2.5 0 .7l-1 .9 1 1z" + } + }, + resource_capacity: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 11.5c-3.1 0-5.6 2.6-5.6 5.7s2.5 5.6 5.6 5.6 5.6-2.6 5.6-5.6-2.5-5.7-5.6-5.7zm3.9 6.2h-4v-4.3s1.5-.1 2.9 1.4 1.1 2.9 1.1 2.9zm-11.2-.5c0-1.2.5-2.7 1.1-3.8.8-1.4 1.7-2 2.4-3 1.1-1.7 1.3-4.2.6-6.1-.7-1.9-2.5-3-4.6-2.9-2 0-3.7 1.3-4.3 3.2-.8 2.1-.5 4.6 1.2 6.2.7.6 1.3 1.7 1 2.7-.4.9-1.5 1.3-2.2 1.7-1.8.8-4.1 1.9-4.4 4-.4 1.8.8 3.6 2.7 3.6h7.9c.4 0 .6-.4.4-.7-1.1-1.4-1.8-3.1-1.8-4.9z" + } + }, + resource_territory: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.3 13.4c.9-1.4 1.9-2 2.6-3 1.1-1.7 1.3-4.2.6-6-.7-1.9-2.5-3-4.5-3S7.3 2.7 6.6 4.6c-.7 2.1-.4 4.6 1.3 6.2.7.6 1.3 1.6 1 2.6-.4.9-1.5 1.3-2.3 1.7-1.8.8-3.9 1.9-4.3 4-.4 1.8.8 3.6 2.7 3.6h8.3c.4 0 .7-.5.5-.7-1.2-1.4-2.4-3.1-2.4-4.9 0-1.2.3-2.6.9-3.7zm5.1 4.8c-1 0-1.8-.8-1.8-1.8s.8-1.7 1.8-1.7 1.8.8 1.8 1.7c0 1-.8 1.8-1.8 1.8zm0-6c-2.4 0-4.2 1.9-4.2 4.2 0 2.9 3 5.7 3.9 6.4.2.1.4.1.6 0 .9-.8 3.9-3.5 3.9-6.4 0-2.3-1.8-4.2-4.2-4.2z" + } + }, + retweet: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.8 13.3l-1-1c-.2-.3-.6-.3-.9 0l-1.3 1.3c-.3.3-.8.1-.8-.4V5.5c0-1-.8-1.8-1.8-1.8h-6.7c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h5.1c.4 0 .7.3.7.7v6c0 .5-.5.6-.9.4L15 12.4c-.2-.3-.7-.3-.9 0l-1 1c-.3.3-.3.7 0 1l4.9 4.8c.2.3.6.3.9 0l4.9-4.9c.2-.3.2-.7 0-1zm-11.1 4.2H7.6c-.4 0-.7-.3-.7-.7v-6c0-.5.5-.6.9-.4L9 11.6c.2.3.7.3.9 0l1-.9c.3-.3.3-.7 0-1L6.1 4.8c-.3-.3-.7-.3-1 0L.2 9.7c-.3.3-.3.7 0 1l1 .9c.2.3.6.3.9 0l1.3-1.2c.2-.3.8-.1.8.3v7.8c0 1 .8 1.8 1.8 1.8h6.7c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7z" + } + }, + ribbon: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.1 16.9l-4.3 6.2-1.1-3h-3L6.5 15c.7.5 1.5.5 2.1.6.2.1.4.1.5.1.1.1.3.2.4.3.4.3.9.7 1.6.9zm7-1.9c-.7.5-1.5.5-2 .6-.2.1-.5.1-.6.1-.1.1-.3.2-.4.3-.4.3-.9.8-1.6 1l4.4 6.1 1.1-3h2.9L18.1 15zm-5.8-9.6c-1.4 0-2.6 1.1-2.6 2.5s1.2 2.6 2.6 2.6 2.6-1.1 2.6-2.6-1.1-2.5-2.6-2.5zm7 2.5c0 .9-.9 1.6-1.3 2.4-.3.8-.1 2-.7 2.6-.6.6-1.8.4-2.6.8-.8.3-1.5 1.3-2.4 1.3s-1.5-1-2.3-1.3c-.9-.4-2-.2-2.6-.8-.6-.6-.5-1.8-.8-2.6-.3-.8-1.3-1.5-1.3-2.4s1-1.5 1.3-2.3c.3-.8.1-2 .8-2.6.6-.6 1.7-.5 2.6-.8.8-.3 1.4-1.3 2.3-1.3s1.6 1 2.4 1.3c.8.3 2 .2 2.6.8.6.6.4 1.8.7 2.6.4.8 1.3 1.5 1.3 2.3zm-2.2 0c0-2.6-2.1-4.8-4.8-4.8S7.5 5.3 7.5 7.9s2.1 4.8 4.8 4.8 4.8-2.1 4.8-4.8z" + } + }, + richtextbulletedlist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.7 6.2c0 .4-.3.7-.7.7H1.6c-.4 0-.7-.3-.7-.7V4.8c0-.3.3-.6.7-.6H3c.4 0 .7.3.7.6v1.4zm19.4-1.4c0-.3-.3-.6-.7-.6H6.2c-.3 0-.7.3-.7.6v1.4c0 .4.4.7.7.7h16.2c.4 0 .7-.3.7-.7V4.8zM3.7 11.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7v-1.4zm17.5 0c0-.4-.3-.7-.7-.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h14.3c.4 0 .7-.3.7-.7v-1.4zM3.7 17.8c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6H3c.4 0 .7-.3.7-.6v-1.4zm19.4 0c0-.4-.3-.7-.7-.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h16.2c.4 0 .7-.3.7-.6v-1.4z" + } + }, + richtextindent: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M24 5.3c0-.4-.3-.7-.7-.7h-7.8c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7V5.3zm-1.8 11.1c0-.4-.4-.7-.7-.7h-6c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h6c.3 0 .7-.4.7-.7v-1.4zm1.8-5.6c0-.3-.3-.6-.7-.6h-7.8c-.4 0-.7.3-.7.6v1.4c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-1.4zM12.9 2.5c0-.3-.3-.7-.7-.7h-1.4c-.3 0-.6.4-.6.7v19c0 .3.3.7.6.7h1.4c.4 0 .7-.4.7-.7v-19zM4.3 7.1c-.2-.3-.6-.1-.6.4v2.7h-3c-.4 0-.7.3-.7.6v1.4c0 .4.3.7.7.7h3v2.7c0 .5.4.7.6.5l3.9-4.2c.1-.2.1-.5 0-.6L4.3 7.1z" + } + }, + richtextnumberedlist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 3v1.4c0 .4-.3.7-.7.7H9.9c-.3 0-.7-.3-.7-.7V3c0-.4.4-.7.7-.7h12.5c.4 0 .7.3.7.7zM9.9 9.7h8.3c.4 0 .7-.3.7-.7V7.6c0-.4-.3-.7-.7-.7H9.9c-.3 0-.7.3-.7.7V9c0 .4.4.7.7.7zm12.5 4.1H9.9c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7zm-4.2 4.7H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h8.3c.4 0 .7-.3.7-.7v-1.3c0-.4-.3-.7-.7-.7zM1.6 3.7h1.2v5.8c0 .3.3.7.7.7h.4c.4 0 .7-.4.7-.7V2.8c0-.5-.4-1-.9-1H1.6c-.4 0-.7.4-.7.7V3c0 .4.3.7.7.7zm3.9 9.2H1.6c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7h3v1.8H1.8c-.5 0-.9.4-.9.9v3.7c0 .5.4 1 .9 1h4c.3 0 .7-.4.7-.7V21c0-.4-.4-.7-.7-.7h-3v-1.8h2.7c.5 0 1-.5 1-1v-3.7c0-.5-.5-.9-1-.9z" + } + }, + richtextoutdent: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.6 10.2h-3V7.4c0-.4-.4-.7-.6-.4L.1 11.2c-.1.2-.1.4 0 .6L4 16c.2.2.6 0 .6-.4v-2.7h3c.3 0 .7-.3.7-.7v-1.4c0-.3-.4-.6-.7-.6zM24 5.3c0-.4-.3-.7-.7-.7h-7.8c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7V5.3zm-1.8 11.1c0-.4-.4-.7-.7-.7h-6c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h6c.3 0 .7-.4.7-.7v-1.4zm1.8-5.6c0-.3-.3-.6-.7-.6h-7.8c-.4 0-.7.3-.7.6v1.4c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-1.4zM12.9 2.5c0-.3-.3-.7-.7-.7h-1.4c-.3 0-.6.4-.6.7v19c0 .3.3.7.6.7h1.4c.4 0 .7-.4.7-.7v-19z" + } + }, + right: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.5 20.2V3.8c0-.4.6-.8 1-.4l9.8 8c.3.3.3.9 0 1.2l-9.8 8c-.4.4-1 .1-1-.4z" + } + }, + right_align_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.5 2.3h-19c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V3c0-.4-.4-.7-.7-.7zm0 5.5H6.2c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h15.3c.3 0 .7-.3.7-.7V8.5c0-.3-.4-.7-.7-.7zm0 11.1H6.2c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h15.3c.3 0 .7-.3.7-.7v-1.4c0-.4-.4-.7-.7-.7zm0-5.5h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7z" + } + }, + rotate: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4.9H21c-.4 0-.7.3-.7.7v3.2c0 .5-.5.7-.7.4-2.2-2.4-5.3-3.6-8.7-3.3-1.2.1-2.3.5-3.4 1-.5.3-1.1.6-1.5 1-.4.2-.4.7-.1 1l.9 1c.3.2.6.3.9.1.6-.4 1.2-.7 1.8-1 .3-.1.6-.2.9-.2 2.9-.6 5.7.6 7.3 2.4.5.7.1 1.1-.3 1.1h-3.3c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h8.4c.3 0 .6-.3.6-.6V1.6c0-.4-.3-.7-.7-.7zm-4.2 16.4c-.3-.3-.7-.3-1 0-.7.7-1.6 1.3-2.7 1.7-.2.1-.6.2-.9.2-2.9.6-5.7-.6-7.2-2.4-.6-.7-.2-1.1.3-1.1h3.2c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7H1.5c-.3 0-.6.3-.6.6v8.9c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7v-3.2c0-.5.5-.7.7-.4 2.2 2.4 5.3 3.6 8.7 3.3 1.2-.1 2.3-.5 3.4-1 1-.5 1.9-1.2 2.6-1.9.3-.3.3-.7 0-1l-.9-.9z" + } + }, + routing_offline: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.8 4.2C15.5-.1 8.5-.1 4.2 4.2s-4.3 11.3 0 15.6 11.3 4.3 15.6 0 4.3-11.3 0-15.6zM12 20.3c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3z" + } + }, + rows: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.5 6.5h-19c-.3 0-.7-.4-.7-.7V4.4c0-.4.4-.7.7-.7h19c.3 0 .7.3.7.7v1.4c0 .3-.4.7-.7.7zm0 6.8h-19c-.3 0-.7-.3-.7-.7v-1.3c0-.4.4-.7.7-.7h19c.3 0 .7.3.7.7v1.4c0 .3-.4.6-.7.6zm0 7h-19c-.3 0-.7-.3-.7-.7v-1.4c0-.3.4-.7.7-.7h19c.3 0 .7.4.7.7v1.4c0 .4-.4.7-.7.7z" + } + }, + rules: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 11.7L19.4 8c-.2-.2-.5-.2-.7 0l-.7.7c-.2.2-.2.5 0 .7l1.2 1.1c.1.2 0 .6-.3.6H8.7L14.8 5c.2-.2.6 0 .6.3v1.6c0 .3.2.5.4.5h1c.3 0 .5-.2.5-.5V1.6c0-.3-.2-.5-.5-.5h-5.3c-.2 0-.4.2-.4.5v.9c0 .3.2.5.4.5h1.7c.3 0 .4.3.2.6L6 11H1.4c-.3 0-.5.3-.5.5v1c0 .3.3.5.5.5H6l7.5 7.4c.2.2 0 .6-.3.6h-1.6c-.3 0-.5.2-.5.5v.9c0 .2.2.4.5.5h5.2c.3 0 .5-.2.5-.5v-5.3c0-.3-.2-.4-.5-.4h-.9c-.3 0-.5.1-.5.4v1.7c0 .3-.3.4-.5.2l-6.1-6H19c.2 0 .4.4.2.6L18 14.7c-.2.2-.2.5 0 .7l.7.7c.2.2.5.2.7 0l3.7-3.7c.2-.2.2-.5 0-.7z" + } + }, + salesforce1: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10 5.5c.8-.8 1.9-1.3 3.1-1.3 1.5 0 2.9.9 3.7 2.2.6-.3 1.3-.5 2-.5 2.9 0 5.2 2.3 5.2 5.2s-2.3 5.1-5.2 5.1h-1c-.6 1.1-1.9 1.9-3.3 1.9-.6 0-1.2-.1-1.7-.4-.6 1.5-2.1 2.6-3.9 2.6-1.9 0-3.5-1.1-4.1-2.8-.3 0-.6.1-.8.1-2.2 0-4-1.8-4-4 0-1.5.7-2.8 1.9-3.5-.2-.5-.3-1.2-.3-1.8 0-2.6 2-4.7 4.6-4.7 1.6.1 3 .8 3.8 1.9" + } + }, + save: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.1 1.8v6.3c0 .5-.3.9-.9.9H6.4c-.4 0-.9-.4-.9-.9V1.8H3.7c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V5.2l-3.4-3.4h-1.7zm3.3 17.6c0 .5-.4.9-.9.9H4.6c-.5 0-.9-.4-.9-.9v-7.7c0-.4.4-.9.9-.9h14.9c.4 0 .9.4.9.9v7.7zm-9-13.1c0 .4.4.9.9.9h2.1c.5 0 .9-.4.9-.9V1.8h-3.8l-.1 4.5z" + } + }, + screen: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 2.8c0-1-.9-1.9-1.9-1.9H2.8C1.8.9.9 1.8.9 2.8v12.8c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V2.8zm-2.8 11.1c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V4.4c0-.4.3-.7.7-.7h15.2c.4 0 .7.3.7.7v9.5zM8.8 20.3c-1 0-1.9.8-1.9 1.9v.2c0 .4.3.7.7.7h8.8c.4 0 .7-.3.7-.7v-.2c0-1.1-.9-1.9-1.9-1.9H8.8zm-.5-8H6.4c-.3 0-.4-.2-.4-.4V6.5c0-.3.1-.5.4-.5h1.9c.2 0 .5.2.5.5v5.4c0 .2-.3.4-.5.4zm9.3 0h-6.2c-.2 0-.4-.2-.4-.4V6.5c0-.3.2-.5.4-.5h6.2c.2 0 .4.2.4.5v5.4c0 .2-.2.4-.4.4z" + } + }, + search: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M22.9 20.9l-6.2-6.1c1.3-1.8 1.9-4 1.6-6.4-.6-3.9-3.8-7.1-7.8-7.4C5 .4.4 5 1 10.5c.3 4 3.5 7.3 7.4 7.8 2.4.3 4.6-.3 6.4-1.5l6.1 6.1c.3.3.7.3 1 0l.9-1c.3-.3.3-.7.1-1zM3.7 9.6c0-3.2 2.7-5.9 5.9-5.9 3.3 0 6 2.7 6 5.9 0 3.3-2.7 6-6 6-3.2 0-5.9-2.6-5.9-6z" + } + }, + send: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M1 20.5L3 13h8.6c.2 0 .4-.2.4-.4v-1c0-.2-.2-.4-.4-.4H3L1 3.8c0-.1-.1-.2-.1-.4 0-.3.3-.6.7-.6.1 0 .2.1.2.1l20.8 8.5c.3.1.5.4.5.6s-.2.6-.4.6L1.8 21.4c0 .1-.1.1-.2.1-.4-.1-.7-.4-.7-.7 0-.1 0-.2.1-.3z" + } + }, + sentiment_negative: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.2 11.1 11.2 11.1-5 11.1-11.2S18.1.9 12 .9zm-4.2 6c.8 0 1.4.9 1.4 1.9s-.6 1.8-1.4 1.8-1.3-.8-1.3-1.8.6-1.9 1.3-1.9zm-1.3 11c.2-2.9 2.3-5.2 5.5-5.2 3.3 0 5.3 2.3 5.5 5.2h-11zm9.7-7.3c-.8 0-1.4-.8-1.4-1.8s.6-1.9 1.4-1.9 1.3.9 1.3 1.9-.6 1.8-1.3 1.8z" + } + }, + sentiment_neutral: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.2 11.1 11.2 11.1-5 11.1-11.2S18.1.9 12 .9zm-4.2 6c.8 0 1.4.9 1.4 1.9s-.6 1.8-1.4 1.8-1.3-.8-1.3-1.8.6-1.9 1.3-1.9zm9.7 8.8c0 .5-.4.9-.8.9H7.3c-.5 0-.8-.4-.8-.9s.4-.9.8-.9h9.3c.5 0 .9.4.9.9zm-1.3-5.1c-.8 0-1.4-.8-1.4-1.8s.6-1.9 1.4-1.9 1.3.9 1.3 1.9-.6 1.8-1.3 1.8z" + } + }, + settings: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 8.8c-1.8 0-3.2 1.4-3.2 3.2s1.4 3.3 3.2 3.3 3.3-1.5 3.3-3.3-1.5-3.2-3.3-3.2zm9.7 6.2L20 13.5c.1-.5.2-1 .2-1.5s-.1-1.1-.2-1.6L21.7 9c.6-.5.8-1.3.4-2l-.7-1.3c-.3-.4-.8-.7-1.4-.7-.2 0-.3 0-.5.1l-2.1.8c-.8-.8-1.8-1.3-2.7-1.6l-.4-2.2c-.1-.7-.8-1.1-1.5-1.1h-1.5c-.7 0-1.4.4-1.5 1.1l-.4 2.1c-1 .4-1.9.9-2.8 1.6L4.5 5c-.2 0-.3-.1-.5-.1-.5 0-1 .3-1.3.8L1.9 7c-.3.6-.2 1.4.4 1.9L4 10.3c-.1.5-.1 1.1-.1 1.6 0 .6 0 1.1.1 1.6l-1.7 1.4c-.5.5-.7 1.3-.4 1.9l.8 1.3c.3.5.8.8 1.3.8.2 0 .4-.1.5-.1l2.1-.8c.9.7 1.8 1.2 2.8 1.6l.3 2.2c.2.7.8 1.2 1.6 1.2h1.4c.8 0 1.4-.5 1.6-1.3l.3-2.2c1.1-.3 2.1-.9 2.9-1.7l2 .8c.2 0 .3.1.5.1.6 0 1.1-.3 1.4-.7l.7-1.2c.4-.6.2-1.4-.4-1.8zM12 17.1c-2.8 0-5-2.2-5-5.1s2.2-5 5-5 5.1 2.2 5.1 5-2.2 5.1-5.1 5.1z" + } + }, + setup: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.6 15l-1.7-1.5c.1-.5.1-1 .1-1.5s0-1.1-.1-1.6L21.6 9c.6-.5.7-1.3.4-2l-.8-1.3c-.2-.5-.8-.8-1.3-.8-.2 0-.4.1-.5.1l-2.1.8c-.8-.7-1.7-1.2-2.7-1.6l-.3-2.1c-.2-.8-.8-1.2-1.6-1.2h-1.4c-.8 0-1.4.4-1.6 1.2l-.3 2.1c-1 .3-1.9.9-2.8 1.6l-2-.8c-.2-.1-.3-.1-.5-.1-.5 0-1.1.3-1.3.7L2 6.9c-.3.7-.2 1.5.4 2l1.7 1.4c-.1.5-.1 1.1-.1 1.6s0 1 .1 1.5l-1.7 1.5c-.6.4-.7 1.3-.4 1.9l.8 1.4c.2.4.8.7 1.3.7.2 0 .4 0 .5-.1l2.1-.8c.8.8 1.7 1.3 2.7 1.6l.3 2.2c.2.8.8 1.3 1.6 1.3h1.4c.8 0 1.4-.6 1.6-1.3l.3-2.2c1.1-.4 2-1 2.8-1.7l2 .7c.2.1.4.1.5.1.6 0 1.1-.2 1.4-.7l.7-1.2c.3-.6.2-1.4-.4-1.8zM12 17.1c-2.7 0-5-2.2-5-5.1s2.2-5 5-5 5.1 2.2 5.1 5-2.3 5.1-5.1 5.1zm1.4-8.8h-2.1c-.4 0-.6.2-.7.5l-1.3 3.3c-.1.2.1.5.3.5h2.2l-.8 2.8c-.1.2.3.4.4.2l3.3-3.8c.3-.3.1-.6-.3-.6h-1.6l1.5-2.3c.1-.2-.1-.5-.4-.5h-.5z" + } + }, + setup_assistant_guide: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.3 11.5c0-.2-.2-.3-.4-.2l-2 1.7c-.1.1-.1.2-.1.4v7.3c0 .5.6.7 1 .4l3.4-2.6c.1-.1.1-.2 0-.4-.8-1.2-1.6-3.3-1.9-6.6zm4.5 6.9c.1 0 .2.1.3.1h3.8c.1 0 .2-.1.3-.1.5-.4 2.7-2.2 2.7-8.5 0-2.9-.8-5-1.8-6.3C13.7 1.5 12 .9 12 .9s-1.8.6-3.2 2.7C7.8 5 7.1 7 7.1 9.9c0 6.3 2.1 8.1 2.7 8.5zM12 6c1.5 0 2.7 1.2 2.7 2.8s-1.2 2.7-2.7 2.7-2.8-1.2-2.8-2.7S10.4 6 12 6zm9.1 7l-2-1.7c-.2-.1-.4 0-.4.2-.3 3.3-1.1 5.4-1.9 6.7v.3l3.4 2.6c.4.4 1 .1 1-.3v-7.4c0-.2 0-.3-.1-.4zm-6.2 7.5c-.1-.1-.3-.2-.4-.2H9.4c-.1 0-.3.1-.4.2-.1.3-.4.8-.6 1.5-.1.5.3 1.1.9 1.1h5.3c.6 0 1-.6.9-1.1-.2-.7-.5-1.2-.6-1.5z" + } + }, + setup_modal: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M22.4.9H1.6c-.4 0-.7.3-.7.7v15c0 .3.3.7.7.7h20.8c.4 0 .7-.4.7-.7v-15c0-.4-.3-.7-.7-.7z" + }, { + "d": "M14.8 20.3c.5 0 .9.4.9.9s-.4 1-.9 1-1-.5-1-1 .5-.9 1-.9m0-.9c-1 0-1.9.8-1.9 1.8s.9 1.9 1.9 1.9 1.8-.9 1.8-1.9-.8-1.8-1.8-1.8z" + }], + "circle": [{ + "cx": "9.231", + "cy": "21.231", + "r": "1.846" + }, { + "cx": "3.692", + "cy": "21.231", + "r": "1.846" + }, { + "cx": "20.308", + "cy": "21.231", + "r": "1.846" + }] + }, + share: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 13.8H21c-.4 0-.7.4-.7.7v5.1c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V9.9c0-.3.3-.7.7-.7h1.8c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9v-6.7c0-.3-.3-.7-.7-.7zm-6.7-7.3c-4.6 0-8.8 4.1-9.2 8.9 0 .4.3.8.7.8h1.4c.4 0 .6-.3.7-.6.3-3.5 3.3-6.4 6.9-6.4h.7c.4 0 .6.5.3.8l-2.5 2.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.3-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-1 0l-1 1c-.3.3-.3.7 0 .9l2.6 2.6c.2.3.1.8-.4.8l-1.2.1z" + } + }, + share_file: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.9 7.3h3.6c.2 0 .3-.2.2-.4l-3.8-3.8c-.2-.1-.4 0-.4.2v3.6c0 .3.1.4.4.4zm3.7 1.9h-5.1c-.5 0-.9-.4-.9-.9V3.2c0-.3-.2-.5-.4-.5H9.9c-.3 0-.7.3-.7.7v1.9c0 .1.1.3.2.5L12 8.4c.4.3.6.8.7 1.4.1.7-.1 1.4-.6 2l-.7.7c-.3.2-.5.3-.8.5.3.1.7.2 1.1.2 1.2.1 2.1 1.2 2.1 2.4v1c0 .7-.3 1.3-.7 1.7-.5.5-1.2.7-1.8.6-.5 0-1-.1-1.5-.2-.3-.1-.6.1-.6.5v1.4c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7V9.7c0-.3-.2-.5-.5-.5zM12 16.5v-1c0-.3-.2-.5-.5-.5-2.5-.2-4.6-2.4-4.6-5v-.5c0-.3.4-.5.6-.3l1.8 1.9c.2.2.5.2.7 0l.7-.7c.2-.2.2-.5 0-.7L6.2 5.2c-.2-.2-.5-.2-.7 0L1.1 9.7c-.2.2-.2.5 0 .7l.7.7c.1.2.5.2.6 0l2-1.8c.2-.3.6-.1.6.2v.9c0 3.3 2.9 6.4 6.4 6.6.4 0 .6-.2.6-.5z" + } + }, + share_mobile: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.4 23.3c1 0 1.8-.9 1.8-1.9V9c0-1-.8-1.8-1.8-1.8h-3.5c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.8c.4 0 .7.4.7.7v9.2c0 .4-.3.7-.7.7H6.2c-.4 0-.7-.3-.7-.7v-9.2c0-.3.3-.7.7-.7h1.9c.3 0 .7-.3.7-.7V7.9c0-.4-.4-.7-.7-.7H4.6c-1 0-1.8.8-1.8 1.8v12.4c0 1 .8 1.9 1.8 1.9h14.8zm-6-9v-9h2.7c.4 0 .7-.4.4-.6L12.3.8c-.1-.1-.4-.1-.6 0L7.5 4.7c-.2.2 0 .6.5.6h2.6v9c0 .3.3.7.7.7h1.4c.3 0 .7-.4.7-.7z" + } + }, + share_post: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 1.8C5.9 1.8.9 6.4.9 12c0 1.8.5 3.5 1.4 5 .1.2.1.4.1.6l-1 3.2c-.2.6.4 1.1 1 .9l3.2-1.1c.2-.1.4-.1.6.1 1.7.9 3.7 1.5 5.8 1.5 6.2 0 11.1-4.5 11.1-10.2C23 6.4 18 1.8 12 1.8z" + } + }, + shield: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M2.2 6.5h19.6c.4 0 .8-.5.7-1-.5-1.5-1.1-2.9-2-4.1-.3-.4-.8-.4-1.1-.1-.8.8-2.1 1.3-3.4 1.3-1.4 0-2.6-.6-3.5-1.5-.3-.3-.8-.3-1.1 0-.9.9-2.1 1.5-3.5 1.5-1.3 0-2.5-.5-3.4-1.3-.3-.3-.9-.2-1.1.1-.9 1.2-1.6 2.6-2 4.1 0 .5.4 1 .8 1zm20.9 2.9c0-.4-.3-.6-.8-.6H1.7c-.5 0-.8.2-.8.6v.2c0 6.9 4.8 12.6 11.1 13.5 6.3-.9 11.1-6.6 11.1-13.5v-.2z" + } + }, + shift_ui: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.8 18.8h9.4c.5 0 .9.4.9.9v2.6c0 .5-.4 1-.9 1h-9.4c-.5 0-.9-.5-.9-1v-2.6c0-.5.4-.9.9-.9zM1.8 8.1h20.4c.5 0 .9.4.9.9v6.3c0 .5-.4.9-.9.9H1.8c-.5 0-.9-.4-.9-.9V9c0-.5.4-.9.9-.9zm0-7h9.4c.5 0 .9.4.9.9v2.6c0 .5-.4.9-.9.9H1.8c-.5 0-.9-.4-.9-.9V2c0-.5.4-.9.9-.9z" + } + }, + shopping_bag: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M29.9 8.8V9v-.2z" + }, { + "d": "M20.3 9c0-1-.8-1.8-1.8-1.8h-.4c-.2-3.1-2.8-5.6-6.1-5.6S6.2 4.1 6 7.2h-.5c-1 0-1.8.8-1.8 1.8l-.9 11.6c0 1 .8 1.8 1.8 1.8h14.8c1 0 1.8-.8 1.8-1.8L20.3 9zM12 4.3c1.8 0 3.1 1.3 3.4 2.9H8.7C9 5.6 10.4 4.3 12 4.3zm2.7 8.4H9.3c-.8 0-1.4-.6-1.4-1.3S8.6 10 9.3 10h5.4c.8 0 1.4.6 1.4 1.4s-.6 1.3-1.4 1.3z" + }] + }, + shortcuts: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M5.6 1.2h12.2c.4 0 .8.4.8.8 0 .2-.1.4-.3.5L15 5.9c2 1.8 7.7 8 1.1 16.1l-.1.1s-.1 0-.1.1c-.2.1-.4.3-.7.3-.4 0-.7-.3-.7-.8v-.1-.1c.3-1 1.7-7.9-4.4-10.8l-4 4c-.1.2-.3.3-.5.3-.4 0-.8-.4-.8-.8V2c0-.4.4-.8.8-.8z" + } + }, + side_list: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 1.8H9.9c-.3 0-.7.4-.7.7v19c0 .3.4.7.7.7h12.5c.4 0 .7-.4.7-.7v-19c0-.3-.3-.7-.7-.7zm-15.7 0H1.6c-.4 0-.7.4-.7.7v2.3c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7V2.5c0-.3-.3-.7-.7-.7zm0 5.6H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7V8.1c0-.4-.3-.7-.7-.7zm0 5.5H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7v-2.3c0-.4-.3-.7-.7-.7zm0 5.6H1.6c-.4 0-.7.3-.7.7v2.3c0 .3.3.7.7.7h5.1c.4 0 .7-.4.7-.7v-2.3c0-.4-.3-.7-.7-.7z" + } + }, + signpost: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.8 4.2l-1.9-1.5c-.3-.2-.5-.3-.9-.3h-6.5v-.7c0-.5-.3-.8-.8-.8h-1.4c-.5 0-.8.3-.8.8v.7H3.1c-.4 0-.7.3-.7.7v3c0 .4.3.7.7.7H20c.4 0 .7-.1.9-.2l1.9-1.5c.4-.3.4-.7 0-.9zm-1.9 6.3h-7.4V9.4c0-.2-.2-.4-.4-.4h-2.2c-.2 0-.4.2-.4.4v1.1H4c-.4 0-.7.1-.9.3l-1.9 1.4c-.4.3-.4.7 0 1l1.9 1.4c.3.2.5.3.9.3h16.9c.4 0 .7-.3.7-.7v-3c0-.4-.3-.7-.7-.7zM13.5 20v-2.5c0-.2-.2-.3-.4-.3h-2.2c-.2 0-.4.1-.4.3V20c-1.5.4-2.3 1.3-2.5 2.4-.1.3.2.7.5.7h7c.4 0 .7-.3.6-.7-.3-1.1-1.1-2-2.6-2.4z" + } + }, + skip: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.2 14.9v.3c0 .5.4.5.6.2l2.3-2.2c.2-.3.7-.3 1 0l.9.9c.3.3.3.7 0 1L17.1 21c-.3.3-.6.3-.9 0l-6-6c-.2-.2-.2-.6.1-.8l1-1c.3-.3.7-.4 1-.1l2.2 2.3c.4.3.6.4.8 0 .1-.1.1-.5.1-.5v-3.4c0-3.2-2.7-5.9-5.9-5.9s-5.9 2.6-5.9 5.9v6.1c0 .4-.4.7-.7.7H1.4c-.4 0-.7-.3-.7-.6v-6.2c0-4.8 3.9-8.7 8.8-8.7s8.7 3.9 8.7 8.7v3.4z" + } + }, + smiley_and_people: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 12c0 6.2-5 11.2-11.1 11.2S.9 18.2.9 12 5.9.9 12 .9s11.1 5 11.1 11.1zM7.8 6.9c-.7 0-1.3.8-1.3 1.9s.6 1.8 1.3 1.8 1.4-.8 1.4-1.8-.6-1.9-1.4-1.9zm8.4 0c-.8 0-1.4.8-1.4 1.9s.6 1.8 1.4 1.8 1.3-.8 1.3-1.8-.6-1.9-1.3-1.9zM5.1 13.4c.3 3.5 2.8 6.4 6.9 6.4 4 0 6.6-2.9 6.9-6.4H5.1z" + } + }, + sms: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 1.8C5.9 1.8 1 6.4 1 12c0 1.7.5 3.4 1.3 4.8.1.3.2.6.1.8l-1.4 4c-.2.3.2.6.6.6l3.9-1.6c.3-.1.5 0 .8.1 1.7.9 3.7 1.5 5.8 1.5 6 0 11-4.6 11-10.2C23 6.4 18.1 1.8 12 1.8zM7.6 13.7c-.2.2-.3.4-.5.6s-.4.2-.7.3c-.2.1-.5.1-.8.1-.3 0-.7 0-1-.2-.3-.1-.6-.3-.9-.6l-.1-.1s0-.1.1-.2l.8-.7c.1-.1.2-.1.2 0s.1.1.1.1c.1.2.2.2.4.3.2.2.4.2.7.1.1 0 .1 0 .2-.1l.2-.1V13c0-.2 0-.2-.1-.3-.1-.1-.2-.1-.4-.2s-.4-.1-.6-.2l-.6-.3c-.3-.1-.4-.3-.5-.5-.2-.2-.3-.5-.3-.8 0-.4.1-.6.2-.9.2-.2.3-.4.5-.5.2-.2.4-.3.7-.3.6-.2 1.1-.2 1.7 0 .3.1.5.3.7.4l.1.1c.1 0 .1.1 0 .2l-.7.7c-.1.1-.3.1-.4 0l-.1-.1c-.3-.1-.6-.2-.9-.1h-.2l-.1.2v.2c0 .1 0 .2.1.2 0 .1.2.1.4.2s.3.2.6.2l.6.3c.2.1.4.3.5.5.2.2.3.5.3.9 0 .3-.1.5-.2.8zm7.6.6c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-2.7c0-.3-.3-.3-.4-.1l-.8 2.1c0 .2-.2.2-.4.2h-.3c-.2 0-.4-.1-.5-.2l-.8-2.1c-.1-.2-.4-.2-.4.1v2.7c0 .3-.3.5-.6.5h-.4c-.3 0-.4-.2-.4-.5V9.2c0-.2.2-.4.4-.4h1.2c.2 0 .4.1.4.2l.9 2.4c.1.2.4.2.4 0l1-2.4c0-.1.2-.2.4-.2h1.2c.3 0 .5.2.5.4v5.1zm4.9-.6c-.2.2-.3.5-.5.6-.2.1-.4.3-.7.4s-.5.1-.8.1c-.4 0-.7-.1-1-.2-.3-.2-.7-.3-.9-.6l-.1-.1c0-.1 0-.1.1-.2l.7-.7c.1-.1.2-.1.3-.1s.1.2.1.2l.3.3c.3.1.5.1.8.1.1-.1.2-.1.2-.1l.1-.2.1-.1c0-.2-.1-.3-.1-.3-.1-.1-.2-.2-.4-.2s-.4-.2-.6-.2c-.3-.1-.5-.2-.7-.3-.2-.1-.4-.3-.5-.5-.2-.2-.3-.5-.3-.9 0-.3.1-.6.2-.8.2-.3.3-.4.5-.6.2-.1.5-.3.7-.3.6-.1 1.1-.1 1.7 0 .3.1.5.3.7.5l.1.1c.1 0 .1.2 0 .3l-.7.7c-.1.1-.2.1-.3 0l-.2-.2c-.3-.1-.6-.2-.9-.1 0 0-.1 0-.1.1l-.2.1v.2c0 .1 0 .2.1.2.1.1.2.2.4.3.2 0 .4.1.6.2.2 0 .4.1.6.2.3.2.4.4.6.5.1.3.2.5.2.9.1.2 0 .5-.1.7z" + } + }, + snippet: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.7 2.8H1.6c-.4 0-.7.3-.7.7v6c0 .3.3.7.7.7h5.1c.4 0 .7-.4.7-.7v-6c0-.4-.3-.7-.7-.7zm15.7 0H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7V3.5c0-.4-.3-.7-.7-.7zM9.9 10.2h7.9c.3 0 .7-.4.7-.7V8.1c0-.4-.4-.7-.7-.7H9.9c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7zm-3.2 3.6H1.6c-.4 0-.7.4-.7.7v6c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7v-6c0-.3-.3-.7-.7-.7zm15.7 0H9.9c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7zm-4.6 4.7H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h7.9c.3 0 .7-.3.7-.7v-1.3c0-.4-.4-.7-.7-.7z" + } + }, + sobject: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M2.9 2h1.9c-2.3 4.9-2.3 8.6 0 13.5H2.9C.3 9.8.4 7.6 2.9 2zm8 8.3c.2.9.4 1.6.5 1.8.1.5.3.8.6 1 .7-.5 1.6-.9 2.5-.9.6 0 1.1.2 1.7.4 0-.1.1-.3.1-.4 0-.5-.4-.8-.8-.8h-.4s-.9.6-1.2.1c-.2-.4-.4-.9-.6-1.6-.1-.6-.2-1.3-.4-2l.9-1.3s1 .4 1.5.4 1.5-.4 1.5-1.7-.9-1.5-1.2-1.5c-.6 0-1.2.4-1.8 1.4s-1.1 1.9-1.1 1.9c-.1-.6-.2-1.1-.2-1.4-.1-.5-.8-1.8-2.1-1.8s-2.6.8-2.6.8c-.2.1-.4.4-.4.7 0 .5.4.8.9.8.1 0 .2 0 .3-.1 0 0 1-.5 1.3 0 0 .2.1.4.2.6.2.9.5 1.9.7 2.9l-.9 1.2s-1-.4-1.5-.4c-.6 0-1.6.4-1.6 1.8s1 1.4 1.3 1.4c.6 0 1.2-.4 1.7-1.3s1.1-2 1.1-2zm9.2 3h.5c.4 0 .9.1 1.3.3C23.6 9.2 23.3 6.9 21 2h-1.8c1.9 4.1 2.2 7.4.9 11.3zM16.3 15c.4-.4.9-.6 1.5-.6.7 0 1.4.4 1.8 1 .3-.2.6-.3 1-.3 1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5h-.5c-.3.5-.9.9-1.6.9-.3 0-.5-.1-.8-.2-.3.8-1 1.3-1.9 1.3-.9 0-1.6-.6-1.9-1.4-.1 0-.2.1-.4.1-1.1 0-2-.9-2-1.9 0-.7.4-1.4 1-1.7-.1-.3-.2-.5-.2-.9 0-1.2 1-2.2 2.2-2.2.7 0 1.4.3 1.8.9z" + } + }, + sobject_collection: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.3 7c-1.6 3.4-1.6 4.8 0 8.3h1.1C6 12.3 6 10 7.4 7H6.3zM17 13.6c.3-.1.5-.1.7-.1h.5c.8-2.3.6-3.7-.7-6.6h-1.1c1.1 2.5 1.3 4.5.6 6.7zm-6.7 4.1H3.7c-.5 0-.9-.4-.9-.9V4.7H21v9.7c.7 0 1.3.3 1.8.6V2.8c0-1-.8-1.8-1.8-1.8H2.9C1.8 1 1 1.8 1 2.8v14.9c0 1 .8 1.9 1.9 1.9h6.8c0-.7.2-1.3.6-1.9zm6-1.7c.4-.4.9-.6 1.5-.6.8 0 1.4.4 1.8 1 .2-.1.6-.2 1-.2 1.3 0 2.5 1.1 2.5 2.4S22 21 20.6 21h-.5c-.3.6-.9.9-1.5.9-.3 0-.6-.1-.8-.2-.4.8-1.1 1.3-1.9 1.3-.9 0-1.7-.6-2-1.3h-.4c-1 0-1.9-.8-1.9-1.9 0-.6.4-1.2 1-1.6-.1-.3-.2-.6-.2-.9 0-1.2 1-2.2 2.2-2.2.7 0 1.3.4 1.7.9zm-5.7-2.7c.3-.5.7-1.1.7-1.1.1.5.2.9.3 1.1.1.3.3.6.6.8.6-.5 1.5-.8 2.3-.8h.1c0-.2-.2-.5-.5-.5-.1 0-.1.1-.2.1 0 0-.6.3-.7.1-.2-.3-.3-.6-.4-1-.1-.4-.2-.8-.2-1.3l.5-.8s.6.3.9.3 1-.3 1-1.2-.6-.8-.8-.8c-.4 0-.7.2-1 .8-.4.5-.7 1.1-.7 1.1-.1-.4-.2-.7-.2-.9-.1-.3-.5-1.1-1.3-1.1s-1.6.5-1.6.5c-.1.1-.2.3-.2.4 0 .3.2.5.5.5h.2s.6-.4.8 0c.1.1.1.2.1.3.1.6.3 1.2.4 1.8l-.5.8s-.6-.3-1-.3-.9.3-.9 1.1.6.9.8.9c.4.1.7-.2 1-.8z" + } + }, + socialshare: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.9 14.8c-1.2 0-2.3.5-3 1.3l-6.8-3.4c.1-.2.1-.5.1-.7 0-.3-.1-.6-.1-.8l6.8-3.4c.7.9 1.8 1.4 3 1.4 2.3 0 4.2-1.9 4.2-4.2S21.2.9 18.9.9 14.8 2.7 14.8 5v.3l-7 3.5c-.8-.6-1.7-1-2.8-1C2.7 7.8.9 9.7.9 12s1.8 4.2 4.1 4.2c1.1 0 2-.4 2.8-1.1l6.9 3.5v.3c0 2.3 1.9 4.2 4.2 4.2s4.1-1.9 4.1-4.2-1.8-4.1-4.1-4.1z" + } + }, + sort: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.7 7.4c.3-.3.3-.7 0-1L7.4 1.1c-.2-.3-.7-.3-.9 0L1.2 6.4c-.3.3-.3.7 0 1l.9 1c.3.2.7.2 1 0l1.7-1.7c.2-.3.7-.1.7.3v9.8c0 .4.4.7.7.7h1.4c.4 0 .7-.4.7-.7V7c0-.4.5-.6.8-.3l1.7 1.7c.2.2.6.2.9 0l1-1zm10.1 9.2l-.9-.9c-.3-.3-.7-.3-1 0l-1.7 1.7c-.2.2-.7 0-.7-.4V7.2c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.7c0 .5-.5.6-.8.4l-1.7-1.7c-.2-.3-.6-.3-.9 0l-1 1c-.3.3-.3.7 0 1l5.3 5.3c.3.3.7.3 1 0l5.3-5.3c.2-.3.2-.8-.1-1z" + } + }, + spinner: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.4 12.7v-1.4c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7zm.9 2.1c-.3-.3-.7-.3-1 0l-3.6 3.6c-.3.2-.3.7 0 .9l1 1c.2.3.7.3.9 0l3.6-3.6c.3-.3.3-.7 0-1l-.9-.9zm7.4-5.6c.3.3.7.3 1 0l3.6-3.6c.3-.2.3-.7 0-.9l-1-1c-.2-.3-.7-.3-.9 0l-3.6 3.5c-.3.3-.3.7 0 1l.9 1zM5.6 3.7c-.2-.3-.7-.3-.9 0l-1 1c-.3.2-.3.7 0 .9l3.6 3.6c.3.3.7.3 1 0l.9-.9c.3-.3.3-.7 0-1L5.6 3.7zm11.2 11.1c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l3.6 3.6c.2.3.7.3.9 0l1-1c.3-.2.3-.7 0-.9l-3.5-3.6zm-4.1 1.8h-1.4c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7v-5.1c0-.4-.3-.7-.7-.7zm9.7-6h-5.1c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7zM12.7.9h-1.4c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7z" + } + }, + stage: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": [{ + "cx": "21.554", + "cy": "12", + "r": "1.569" + }, { + "cx": "11.954", + "cy": "12", + "r": "1.569" + }, { + "cx": "2.492", + "cy": "12", + "r": "1.569" + }], + "path": { + "d": "M5.4 12c0 3.6 3 6.6 6.6 6.6s6.6-3 6.6-6.6-3-6.6-6.6-6.6-6.6 3-6.6 6.6zm11 0c0 2.4-2 4.4-4.4 4.4s-4.5-2-4.5-4.4 2-4.4 4.5-4.4 4.4 2 4.4 4.4z" + } + }, + stage_collection: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "11.954", + "cy": "12", + "r": "1.569" + }, + "path": { + "d": "M21.6 10.4c-.6 0-1.1.4-1.4.8h-1.6c-.5-3.3-3.2-5.8-6.6-5.8s-6.2 2.5-6.6 5.8H3.8c-.2-.5-.8-.8-1.3-.8-.9 0-1.6.7-1.6 1.6s.7 1.6 1.6 1.6c.5 0 1-.3 1.3-.8h1.6c.4 3.3 3.2 5.8 6.6 5.8 3.4 0 6.1-2.5 6.6-5.8h1.7c.2.4.7.8 1.3.8.8 0 1.5-.7 1.5-1.6s-.7-1.6-1.5-1.6zm-9.6 6c-2.4 0-4.4-2-4.4-4.4s2-4.4 4.4-4.4 4.4 2 4.4 4.4-2 4.4-4.4 4.4z" + } + }, + standard_objects: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.3 18l-8.7 4.9c-.4.3-1 .3-1.5 0L2.5 18c-.4-.2-.4-.7 0-.9l2-1.1c.2-.1.3-.1.5 0l5.2 3c.6.2 1.1.4 1.7.4s1.2-.2 1.7-.4l5.2-3c.2-.1.4-.1.5 0l2 1.1c.4.2.4.7 0 .9zm0-5.6l-8.7 5c-.4.2-1 .2-1.5 0l-8.6-5c-.4-.2-.4-.6 0-.8l2-1.2c.2-.1.3-.1.5 0l5.2 3c.6.3 1.1.4 1.7.4s1.2-.1 1.7-.4l5.2-3c.2-.1.4-.1.5 0l2 1.2c.4.2.4.6 0 .8zm-10.1-.6L2.5 6.9c-.3-.2-.3-.7 0-.9l8.7-4.9c.5-.3 1.1-.3 1.5 0L21.4 6c.4.2.4.7 0 .9l-8.7 4.9c-.4.2-1 .2-1.5 0z" + } + }, + steps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.5 23.2h-3.2V21h3.2v2.2zm0-1.1zM14 23.2h-3.2V21H14v2.2zm-6.5 0H4.3V21h3.2v2.2zm-4.3-2.8H1v-3.2h2.2v3.2zm19.8-.7h-2.2v-3.3H23v3.3zM3.2 14H1v-3.2h2.2V14zm19.8-.8h-2.2V10H23v3.2zM3.2 7.5H1V4.3h2.2v3.2zM23 6.8h-2.2V3.6H23v3.2zM19.7 3h-3.3V.8h3.3V3zm-6.5 0H10V.8h3.2V3zM6.8 3H3.6V.8h3.2V3z" + } + }, + stop: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.7 3.7h16.6v16.6H3.7V3.7z" + } + }, + store: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.9 13.6h-.1c-.7-.1-1.3-.3-1.9-.7h-.1c-.3-.3-.5-.1-.6-.1l-.1.1c-.7.5-1.5.8-2.4.8-.9 0-1.7-.3-2.5-.9-.2-.2-.4 0-.4 0-.8.6-1.6.9-2.6.9-.9 0-1.7-.3-2.4-.8l-.1-.1c-.2-.2-.5 0-.5 0-.7.5-1.4.8-2.3.9 0 0-.3 0-.3.3v6.9c0 .1.1.4.5.5h8.5c.5-.1.6-.4.6-.5V16c0-.2 0-.3.4-.3h4.1c.2 0 .3.1.3.5v4.6c0 .5.4.6.5.6h1.3s.4-.1.4-.6v-6.7c.1-.3-.1-.4-.3-.5zm-9.2 5.3v.2c0 .1-.1.4-.5.4H6.4c-.4 0-.5-.2-.5-.3v-2.9c0-.6.3-.7.5-.7h3.9c.1 0 .5.1.5.6-.1 1-.1 1.8-.1 2.7zm8.8-7.1c1 .2 1.9.1 2.7-.7.4-.4.7-1 .8-1.6v-.1c-.1-.2-.2-.4-.2-.6-1.2-2-2.2-4-3.3-6-.1-.3-.4-.3-.5-.3H4.9s-.4 0-.6.3c-1.1 2-2.1 4-3.2 6-.1.2-.2.4-.2.7v.1c.1.6.4 1.2.9 1.6.8.8 1.7.9 2.8.6.6-.3 1-.6 1.4-1.2l.1-.1c.3-.2.5-.1.7.1.2.3.4.6.7.8.8.6 1.7.6 2.6.4.6-.2 1.1-.6 1.4-1.2.2-.3.6-.3.8 0l.3.3c.4.6 1 .9 1.7 1 .7.1 1.3-.1 1.9-.5.3-.2.6-.5.8-.8.2-.3.6-.3.8 0 .4.6.8 1 1.5 1.2h.2z" + } + }, + strategy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.6 8.6h-3.7c-.8 0-1.5.7-1.5 1.5v.9H13V3.7c0-.2-.3-.4-.5-.4H7.7v-.9C7.7 1.6 7 .9 6.2.9H2.4C1.7.9 1 1.6 1 2.4v3.7c0 .9.6 1.5 1.4 1.5h3.8c.8 0 1.5-.6 1.5-1.5v-.8h3.4V11H7.7v-.8c0-.9-.7-1.5-1.5-1.5H2.4c-.8 0-1.4.6-1.4 1.5v3.6c0 .9.6 1.5 1.4 1.5h3.8c.8 0 1.5-.6 1.5-1.5V13h3.4v5.7H7.7v-.8c0-.8-.7-1.5-1.5-1.5H2.4c-.8 0-1.4.7-1.4 1.5v3.7c0 .9.6 1.5 1.4 1.5h3.8c.8 0 1.5-.6 1.5-1.5v-.8h4.9c.2 0 .4-.3.4-.5V13h3.5v.8c0 .9.6 1.5 1.5 1.5h3.7c.8 0 1.5-.6 1.5-1.5v-3.7c-.1-.8-.7-1.5-1.6-1.5zM5.8 5.7H2.9V2.8h2.9v2.9zm0 4.8v2.9H2.9v-2.9h2.9zm0 10.7H2.9v-2.9h2.9v2.9zm15.5-10.7v2.9h-2.9v-2.9h2.9z" + } + }, + strikethrough: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.6 8.4c-.1-.5-.2-1.1-.2-1.6 0-.6.2-1.3.5-2 .2-.6.7-1.3 1.3-1.8.5-.6 1.3-1.1 2.2-1.5.9-.3 2-.6 3.2-.6 1.2 0 2.3.2 3.4.5.8.3 1.6.7 2.3 1.4.3.2.3.7-.1 1L17 4.9c-.3.3-.7.3-1 0-.3-.3-.7-.6-1.1-.8-.6-.3-1.4-.5-2.3-.5-.7 0-1.4.1-1.9.3s-1 .5-1.3.9-.6.6-.7 1-.2.8-.2 1c0 .5.1 1 .2 1.3.2.3-.1.7-.4.7H6c-.2 0-.4-.3-.4-.4zm12.8 6.8h-2.3c-.3 0-.5.4-.4.6.1.3.2.7.2 1 0 .6-.2 1.1-.4 1.6-.3.4-.6.8-1 1.1-.4.3-.9.5-1.4.6-.5.2-1 .3-1.5.3-.8 0-1.7-.2-2.5-.6-.6-.3-1.1-.6-1.5-1.2-.3-.2-.7-.3-1 0l-1.3 1.1c-.3.2-.3.7 0 .9.6.8 1.4 1.3 2.4 1.7 1.2.5 2.5.7 3.9.7 1 0 2-.2 2.8-.5.9-.3 1.7-.7 2.4-1.3.6-.5 1.2-1.2 1.6-2 .3-.9.6-1.8.6-2.8 0-.3 0-.6-.1-.9-.1-.1-.3-.3-.5-.3zM23 11c-.1-.2-.3-.4-.6-.4H1.6c-.3 0-.5.2-.6.4-.1.1-.1.2-.1.3v1.3c0 .4.3.8.7.8h20.8c.4 0 .7-.4.7-.8v-1.3c0-.1 0-.2-.1-.3z" + } + }, + success: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm6.2 8.3l-7.1 7.2c-.3.3-.7.3-1 0l-3.9-3.9c-.2-.3-.2-.8 0-1.1l1-1c.3-.2.8-.2 1.1 0l2 2.1c.2.2.5.2.7 0l5.2-5.3c.2-.3.7-.3 1 0l1 1c.3.2.3.7 0 1z" + } + }, + summary: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4.9H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7zm0 5.6H6.2c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h16.2c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7zm0 9.2H6.2c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h16.2c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm0 4.6h-18c-.4 0-.7-.3-.7-.7v-3.2c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V21c0-.4-.3-.7-.7-.7zm0-9.2h-18c-.4 0-.7-.3-.7-.7V7.2c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6c0 .3.3.6.7.6h20.8c.4 0 .7-.3.7-.6v-1.4c0-.4-.3-.7-.7-.7z" + } + }, + summarydetail: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4.9H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7zM9.5 6.5H6.2c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h3.3c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zm6.4 0h-3.2c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h3.2c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7zm6.5 0h-3.2c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h3.2c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7zM9.5 15.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h3.3c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7zm6.4 0h-3.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h3.2c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm6.5 0h-3.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h3.2c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm0 4.6h-18c-.4 0-.7-.3-.7-.7v-3.2c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V21c0-.4-.3-.7-.7-.7zm0-9.2h-18c-.4 0-.7-.3-.7-.7V7.2c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6c0 .3.3.6.7.6h20.8c.4 0 .7-.3.7-.6v-1.4c0-.4-.3-.7-.7-.7z" + } + }, + survey: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M2.4 1.4h16.4c.8 0 1.5.7 1.5 1.5v1.6c0 .8-.7 1.5-1.5 1.5H2.4C1.6 6 .9 5.3.9 4.5V2.9c0-.8.7-1.5 1.5-1.5zM.5 5.5h9.1c1.7 1.4 2.4 2.1 2.4 3V10c0 .8-.7 1.5-1.5 1.5h-9C.7 11.5 0 10.8 0 10V8.5c0-.9.7-1.6 1.5-1.6zm16.6 6c2.8 0 5.1 2.3 5.1 5.1s-2.3 5.1-5.1 5.1-5.1-2.3-5.1-5.1 2.3-5.1 5.1-5.1zm3.2 3.7c.1-.1.1-.4 0-.5l-.5-.5c-.1-.1-.4-.1-.5 0l-2.8 3.1-1.2-1.2c-.2-.2-.4-.2-.5 0l-.6.5c-.1.1-.1.3 0 .4l1.8 1.8c.2.1.3.2.5.2s.4-.1.5-.2l3.3-3.6zM1.5 13.8H10c-.3.9-.4 1.7-.4 2.4 0 .8 0 1.5.2 2.3H1.5c-.8 0-1.5-.7-1.5-1.6v-1.5c0-.9.7-1.6 1.5-1.6z", + "fill": "#FFF" + } + }, + switch: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22 8.2l-9.5 9.6c-.3.2-.7.2-1 0L2 8.2c-.2-.3-.2-.7 0-1l1-1c.3-.3.8-.3 1.1 0l7.4 7.5c.3.3.7.3 1 0l7.4-7.5c.3-.3.8-.3 1.1 0l1 1c.2.3.2.7 0 1z" + } + }, + symbols: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.5 12.9l.4-1.8h1.4l-.5 1.8h-1.3zm-.4 1.4h1.4l-.3 1.4h1.3l.4-1.4h1.5v-1.4h-1.2l.5-1.8h1.4V9.7H19l.4-1.4H18l-.3 1.4h-1.4l.3-1.4h-1.4l-.3 1.4h-1.5v1.4h1.1l-.4 1.8h-1.6v1.4h1.2l-.3 1.4h1.4l.3-1.4zM1.8 2.8h20.4c.5 0 .9.4.9.9v16.6c0 .5-.4.9-.9.9H1.8c-.5 0-.9-.4-.9-.9V3.7c0-.5.4-.9.9-.9zm9.2 9.6c.3-.2.5-.4.7-.6.2-.1.3-.3.4-.6.2-.2.2-.5.2-.8 0-.5-.1-.8-.3-1.2-.2-.3-.5-.5-.9-.7-.3-.2-.8-.3-1.3-.3s-1 .1-1.4.3c-.5.2-.8.6-1.2 1v.1l.9.8.1-.1c.2-.3.5-.5.7-.6.2-.1.5-.2.8-.2.4 0 .6.1.8.3.2.1.2.3.2.6 0 .2 0 .4-.2.6-.1.1-.3.3-.6.5-.4.3-.6.5-.8.7-.2.2-.3.5-.3.9v.3h1.4v-.1c0-.2.1-.3.2-.4.1-.2.3-.3.6-.5zM4.6 8.3v5.1H6V8.3H4.6zm.7 7.6c.5 0 .9-.4.9-.9s-.4-.9-.9-.9-.9.4-.9.9.4.9.9.9zm4.2 0c.5 0 .9-.4.9-.9s-.4-.9-.9-.9-1 .4-1 .9.5.9 1 .9z" + } + }, + sync: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.1 13.5c0-.3-.3-.7-.7-.7h-1.6c-.4 0-.6.3-.6.7 0 .1 0 .2-.1.3-.1.6-.4 1.2-.7 1.7-1.3 2.3-3.5 3.5-5.9 3.5-1.9 0-3.6-.7-4.9-2-.3-.2-.4-.4-.6-.7-.1-.3.2-.5.6-.5h3.2c.4 0 .7-.3.7-.7v-1.4c0-.4-.2-.7-.6-.7H2.4c-.3 0-.6.3-.6.6V22c.1.4.4.7.8.7H4c.3 0 .7-.3.7-.7v-3.2c0-.4.2-.6.5-.3.2.1.3.3.5.4 2.3 2.3 5.5 3.3 8.8 2.7 1.2-.3 2.3-.7 3.3-1.4 2.4-1.6 3.9-4 4.3-6.6v-.1zm-20.2-3c0 .3.3.7.7.7h1.6c.4 0 .6-.3.6-.7 0-.1 0-.2.1-.3.1-.6.4-1.2.7-1.7C6.9 6.2 9.1 5 11.5 5c1.9 0 3.6.7 4.9 2 .3.2.4.4.6.7.1.3-.2.5-.6.5h-3.2c-.4 0-.7.3-.7.7v1.4c0 .4.2.7.6.7h8.5c.3 0 .6-.3.6-.6V2c-.1-.4-.4-.7-.8-.7H20c-.3 0-.7.3-.7.7v3.2c0 .4-.2.6-.5.3-.2-.1-.3-.3-.5-.4-2.3-2.3-5.5-3.3-8.8-2.7-1.2.3-2.3.7-3.3 1.4-2.4 1.6-3.9 4-4.3 6.6v.1z" + } + }, + system_and_global_variable: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.5 21.5c0-1.4.7-2.4 1.6-3v-1.4c-.5-.3-.8-.9-1-1.4-.2-.8.1-1.7.5-2.3.1-.2.3-.3.5-.5.1-.1.3-.3.5-.3.9-.5 2-.9 3.2-.9 1 0 1.8.4 2.4 1 .9-.8 1.8-1 2.4-1 .5 0 1 .1 1.4.3v-.1c.1-6-4.9-11-11-11S.9 5.9.9 12s5 11.1 11 11.1c-.2-.5-.4-1-.4-1.6zm9.3-10.6h-2.9c-.1-2.6-.7-4.9-1.6-6.7 2.4 1.4 4.1 3.9 4.5 6.7zm-7.7-7.3c1.3 1.1 2.4 3.8 2.5 7.3h-2.5V3.6zm-9.9 9.5h2.9c.1 2.6.7 4.9 1.6 6.7-2.4-1.4-4.1-3.8-4.5-6.7zm2.9-2.2H3.2C3.6 8 5.3 5.6 7.8 4.2c-1 1.8-1.5 4.1-1.7 6.7zm4.8 9.5c-1.3-1.1-2.4-3.8-2.5-7.3h2.5v7.3zm0-9.5H8.4c.1-3.5 1.2-6.2 2.5-7.3v7.3zm10.5 5.7c.5 0 1.4-.4 1.4-1.6s-.9-1.4-1.2-1.4c-.5 0-1.1.4-1.5 1.3-.5.8-1.1 1.8-1.1 1.8-.1-.6-.3-1.1-.3-1.4-.1-.5-.7-1.6-1.9-1.6s-2.4.7-2.4.7c-.3.1-.4.4-.4.6 0 .5.3.8.8.8.1 0 .2 0 .3-.1 0 0 1-.5 1.1 0 .1.2.1.4.2.5.3.9.5 1.8.7 2.7l-.9 1.2s-.9-.3-1.3-.3-1.5.4-1.5 1.6 1 1.4 1.2 1.4c.6 0 1.1-.5 1.6-1.3s1-1.8 1-1.8c.2.8.3 1.4.4 1.7.3.8 1 1.4 2 1.4 0 0 1 0 2.1-.6.3-.1.5-.5.5-.7 0-.5-.4-.8-.8-.8-.1 0-.3 0-.4.1 0 0-.8.4-1.1.1-.2-.4-.3-.9-.5-1.6-.1-.6-.2-1.2-.4-1.9l.8-1.2c.2 0 1.2.4 1.6.4z" + } + }, + table: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.5.9h-19c-.3 0-.7.3-.7.7v2.3c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V1.6c0-.4-.4-.7-.7-.7zM6.7 6.5H2.5c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h4.2c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h4.2c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zM6.7 11.1H2.5c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h4.2c.4 0 .7-.3.7-.6v-1.4c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h4.2c.3 0 .7-.3.7-.6v-1.4c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6h4.2c.3 0 .7-.3.7-.6v-1.4c0-.4-.4-.7-.7-.7zM6.7 15.7H2.5c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h4.2c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h4.2c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h4.2c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7zM6.7 20.3H2.5c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h4.2c.4 0 .7-.3.7-.7V21c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h4.2c.3 0 .7-.3.7-.7V21c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V21c0-.4-.4-.7-.7-.7z" + } + }, + tablet_landscape: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 4.6c0-1-.9-1.8-1.9-1.8H2.8c-1 0-1.9.8-1.9 1.8v14.8c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V4.6zM3.2 13.4c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.7 1.4-1.4 1.4zm17.1 4.4c0 .3-.3.7-.7.7H6.2c-.3 0-.7-.4-.7-.7V6.2c0-.3.4-.7.7-.7h13.4c.4 0 .7.4.7.7v11.6z" + } + }, + tablet_portrait: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.2 2.8c0-1-.8-1.9-1.8-1.9H4.6c-1 0-1.8.9-1.8 1.9v18.4c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9V2.8zM12 22.2c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.3.6 1.3 1.4-.6 1.4-1.3 1.4zm6.5-4.4c0 .3-.4.7-.7.7H6.2c-.3 0-.7-.4-.7-.7V4.4c0-.4.4-.7.7-.7h11.6c.3 0 .7.3.7.7v13.4z" + } + }, + tabset: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.6.9H9.4c-.3 0-.5.3-.5.6v1.2c0 .3.2.6.5.6h5.2c.3 0 .5-.3.5-.6V1.5c.1-.3-.2-.6-.5-.6zm7.9 0h-5.2c-.3 0-.6.3-.6.6v1.2c0 .3.3.6.6.6h5.2c.3-.1.6-.3.6-.6V1.5c0-.3-.3-.6-.6-.6zm0 3.9H7.8c-.3 0-.6-.3-.6-.6V1.5c0-.3-.2-.6-.6-.6H1.5c-.3 0-.6.3-.6.6v21c0 .3.3.6.6.6h21c.3 0 .6-.3.6-.6V5.4c0-.3-.3-.6-.6-.6z" + } + }, + task: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.1 3.2l-.8-.8c-.2-.2-.6-.2-.8 0L4.6 7.3l-2-1.9c-.2-.3-.5-.3-.8 0l-.7.7c-.3.3-.3.6 0 .8l2.7 2.7c.2.3.5.4.8.4.2 0 .5-.1.8-.4L11.1 4c.2-.2.2-.5 0-.8zm11.2 5.3h-9.6c-.4 0-.7-.3-.7-.7V6.3c0-.4.3-.8.7-.8h9.6c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zm0 6.6H10.5c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h11.8c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zM6 15.1H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8H6c.4 0 .7.4.7.8v1.5c.1.4-.3.7-.7.7zm0 6.6H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8H6c.4 0 .7.4.7.8V21c.1.4-.3.7-.7.7zm16.3 0H10.5c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h11.8c.5 0 .8.4.8.8V21c0 .4-.3.7-.8.7z" + } + }, + text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.8 22.1c-.1-1.5-.1-3-.1-4.5v-2.2c0-.7.1-1.4-.2-2.1-.6-1.4-2.5-1.7-3.9-1.7-.7 0-1.4.1-2.2.3-.5.1-1 .3-1.4.5l.5 1.2c.1.2.1.4.1.7 1-.5 1.9-.7 2.9-.7 1.4 0 2.2.6 2.2 1.7v.6h-1c-1.9 0-3.4.3-4.3.8-1.1.5-1.6 1.5-1.6 2.9 0 1.1.4 1.9 1 2.5.7.5 1.5.8 2.5.8.9 0 1.6-.1 2.1-.3.6-.3 1-.7 1.4-1.2h.1c0 .2.1.7.1 1.2 0 .1 1.7 0 1.8 0v-.5zm-2.1-3.6c0 .2-.1.5-.2.7 0 .2-.1.4-.2.5-.5.7-1.2 1-2 1.1-.4.1-.9 0-1.4-.1-.3 0-.7-.2-.9-.5-.3-.5-.2-1.3.1-1.8.2-.3.6-.4.9-.6.9-.3 1.9-.3 2.8-.3h.8v1zm-6.9-4.2L8.6 1.6c-.1-.3-.2-.4-.5-.4H6.5c-.3 0-.5.1-.6.4L1.2 14.3c-.1.2.1.6.3.6h1.8c.3 0 .5-.2.6-.5l1.2-3.3h4.6l1.3 3.3c.1.2.4.5.6.5h1.8c.3 0 .5-.4.4-.6zM6 8.5l1.4-3.4 1.5 3.4H6z" + } + }, + text_background_color: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 7.4l1.9 4.6H9.8l1.8-4.6h.4zm10.2-3.7v16.6c0 1-.9 1.9-1.9 1.9H3.7c-1 0-1.9-.9-1.9-1.9V3.7c0-1 .9-1.9 1.9-1.9h16.6c1 0 1.9.9 1.9 1.9zm-2.6 15.1L14.1 5.1c-.2-.3-.4-.5-.7-.5h-3.3c-.3 0-.5.2-.6.5L4.4 18.8c-.1.3.1.6.4.6h1.9c.3 0 .5-.2.6-.5l1.5-4.1H15l1.6 4.1c.1.3.4.5.7.5h1.9c.3 0 .5-.3.4-.6z" + } + }, + text_color: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.8 16.6h1.9c.3 0 .5-.2.6-.5L8.8 12H15l1.6 4.1c.1.3.4.5.7.5h1.9c.3 0 .5-.3.4-.6L14 2.3c-.1-.3-.3-.5-.6-.5h-3.2c-.3 0-.6.2-.7.5L4.4 16c-.1.3.1.6.4.6zm6.8-12h.4l2 4.6H9.8l1.8-4.6zm10.8 14.8H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h20.8c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7z" + } + }, + text_template: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.3 17.2v-.1c.1-1.3 1.1-2.3 2.4-2.3h3.1c-.5-.9-.4-2 .3-2.8l.1-.1.7-.7c.4-.5 1-.7 1.6-.8V2.8c0-1-.8-1.8-1.9-1.8H2.8C1.8 1 1 1.8 1 2.8v12.9c0 1 .8 1.8 1.8 1.8h6.4v-.3zM3.7 3.8c0-.2.2-.4.5-.4H7c.2 0 .4.2.4.4v1.3c0 .3-.2.5-.4.5H4.2c-.3 0-.5-.2-.5-.5V3.8zm0 4c0-.2.2-.4.5-.4h10.1c.3 0 .5.2.5.4v1.3c0 .3-.2.5-.5.5H4.2c-.2 0-.4-.2-.4-.5l-.1-1.3zm0 5.4v-1.3c0-.3.2-.5.5-.5h8.3c.3 0 .5.2.5.5v1.3c0 .3-.2.5-.5.5H4.2c-.3 0-.5-.2-.5-.5zm14.4-.7c-.3-.3-.6-.3-.8 0l-.8.7c-.2.2-.2.6 0 .7l2.1 2.1v.2c0 .3-.1.4-.3.4h-6.6c-.3 0-.5.2-.6.5v1.1c.1.3.3.5.6.6h6.6c.1 0 .1.1.2.1.1.1.1.4.1.5l-2.1 2.1c-.2.2-.2.5 0 .7l.8.8c.2.2.5.2.7 0l4.9-4.9c.2-.2.2-.6 0-.7l-4.8-4.9z" + } + }, + textarea: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.7 22.8H3.3c-1.2 0-2.1-.9-2.1-2.1V3.3c0-1.2.9-2.1 2.1-2.1h17.4c1.2 0 2.1.9 2.1 2.1v17.4c0 1.2-.9 2.1-2.1 2.1zM4.1 4.8v14.4c0 .4.3.7.7.7h14.4c.5 0 .8-.3.8-.7V4.8c0-.5-.3-.8-.8-.8H4.8c-.4.1-.7.4-.7.8zm12.2 7.7c.4 0 .7.3.7.7v3.1c0 .5-.3.8-.7.8H13c-.4 0-.7-.3-.8-.8 0-.2.2-.4.3-.6l.7-.7c.5-.5 1-.9 1.4-1.3.4-.3.7-.6 1-.9.1-.1.2-.2.3-.2.2-.1.3-.1.4-.1z" + } + }, + textbox: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.6 22.8H3.4c-1.2 0-2.2-1-2.2-2.2V3.4c0-1.2 1-2.2 2.2-2.2h17.3c1.2 0 2.1 1 2.1 2.2v17.3c0 1.1-1 2.1-2.2 2.1zM4.1 4.8v14.4c0 .4.3.7.7.7h14.4c.5 0 .8-.3.8-.7V4.8c0-.4-.3-.7-.8-.7H4.8c-.4 0-.7.3-.7.7zM7 16.3V7.7c0-.4.3-.7.8-.7h1.4c.4 0 .7.3.7.7v8.6c0 .4-.3.7-.7.7H7.8c-.5 0-.8-.3-.8-.7z" + } + }, + threedots: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.7 9.2c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8S.9 13.5.9 12s1.3-2.8 2.8-2.8zm8.3 0c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8 1.3-2.8 2.8-2.8zm8.3 0c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8 1.3-2.8 2.8-2.8z" + } + }, + threedots_vertical: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.2 20.3c0-1.5 1.3-2.8 2.8-2.8s2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8zm0-8.3c0-1.5 1.3-2.8 2.8-2.8s2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8zm0-8.3C9.2 2.2 10.5.9 12 .9s2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8z" + } + }, + thunder: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14 1.4c-.7-.6-1.7-.6-2.4 0L1.4 11.6c-.6.7-.6 1.7 0 2.4l5.4 5.4c.7.7 1.8.7 2.5 0L19.4 9.3c.7-.7.7-1.8 0-2.5L14 1.4zm-8.4.9c-.2-.2-.6-.2-.9 0L2.3 4.7c-.2.3-.2.7 0 .9l.9.9c.3.3.7.3.9 0l2.4-2.4c.3-.2.3-.6 0-.9l-.9-.9zm8.7 14.4c-.2.3-.2.7 0 .9l5.3 5.3c.2.2.6.2.9 0l2.4-2.4c.2-.3.2-.7 0-.9l-5.2-5.3c-.3-.2-.7-.2-1 0l-2.4 2.4z" + } + }, + tile_card_list: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.7 1.8H2.5c-.3 0-.7.4-.7.7v7.9c0 .4.4.7.7.7h4.2c.4 0 .7-.3.7-.7V2.5c0-.3-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.4-.7.7v7.9c0 .4.4.7.7.7h4.2c.3 0 .7-.3.7-.7V2.5c0-.3-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.4-.7.7v7.9c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V2.5c0-.3-.4-.7-.7-.7zM6.7 12.9H2.5c-.3 0-.7.3-.7.7v7.9c0 .3.4.7.7.7h4.2c.4 0 .7-.4.7-.7v-7.9c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v7.9c0 .3.4.7.7.7h4.2c.3 0 .7-.4.7-.7v-7.9c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v7.9c0 .3.3.7.7.7h4.2c.3 0 .7-.4.7-.7v-7.9c0-.4-.4-.7-.7-.7z" + } + }, + toggle_panel_bottom: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.2 3.7H2.8c-.5 0-1 .4-1 .9v14.8c0 .5.5.9 1 .9h18.4c.5 0 1-.4 1-.9V4.6c0-.5-.5-.9-1-.9zm-.9 14.8H3.7v-13h16.6v13zm-1.4-1H5.1c-.3 0-.4-.1-.4-.4v-4.6c0-.3.1-.5.4-.5h13.8c.3 0 .5.2.5.5v4.6c0 .3-.2.4-.5.4z" + } + }, + toggle_panel_left: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.2 3.7H2.8c-.5 0-1 .4-1 .9v14.8c0 .5.5.9 1 .9h18.4c.5 0 1-.4 1-.9V4.6c0-.5-.5-.9-1-.9zm-.9 14.8H3.7v-13h16.6v13zm-10.6-1H5.1c-.3 0-.4-.1-.4-.4V6.9c0-.3.1-.4.4-.4h4.6c.3 0 .5.1.5.4v10.2c0 .3-.2.4-.5.4z" + } + }, + toggle_panel_right: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M1.8 3.7h20.4v16.6H1.8V3.7zm1.9 1.8v13h16.6v-13H3.7zm10.1 1h5.6v11h-5.6v-11z" + } + }, + toggle_panel_top: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.2 3.7H2.8c-.5 0-1 .4-1 .9v14.8c0 .5.5.9 1 .9h18.4c.5 0 1-.4 1-.9V4.6c0-.5-.5-.9-1-.9zm-.9 14.8H3.7v-13h16.6v13zM18.9 12H5.1c-.3 0-.4-.2-.4-.5V6.9c0-.3.1-.4.4-.4h13.8c.3 0 .5.1.5.4v4.6c0 .3-.2.5-.5.5z" + } + }, + topic: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 16.3c0-.1-.2-.3-.3-.3l-1-.3c-.2-.1-.4 0-.5.2l-1.8 3c-.4.9-.2 1.1.7.7l3-1.8c.2-.1.3-.3.3-.5l-.4-1zm8-8.6c0 .1.2.3.3.3l1 .3c.2.1.4 0 .5-.2L19.6 5c.4-.8.2-1.1-.7-.6l-3 1.7c-.2.1-.3.4-.3.5l.4 1.1zm-9.8.4c.1.2.3.3.5.3l1-.3c.1-.1.3-.2.3-.3l.3-1.1c.1-.1 0-.4-.2-.5l-3-1.8c-.9-.4-1.1-.2-.7.7l1.8 3zm11.6 7.8c-.1-.2-.3-.3-.5-.3l-1 .3c-.1.1-.3.2-.3.3l-.3 1.1c-.1.2 0 .4.2.5l3.1 1.8c.8.4 1.1.2.6-.7l-1.8-3zm4.7-4.3l-7.6-2c-.3 0-.5-.3-.5-.5l-2-7.6c-.3-.8-.6-.8-.8 0l-2 7.6c-.1.3-.3.5-.6.5l-7.5 2c-.8.3-.8.6 0 .8l7.6 2c.3.1.5.3.5.6l2 7.5c.3.8.6.8.8 0l2-7.5c.1-.3.3-.5.6-.6l7.5-2c.8-.2.8-.6 0-.8zM12 13.8c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8 1.8.8 1.8 1.8-.8 1.8-1.8 1.8z" + } + }, + topic2: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.7 6.1h-3L21 1.2v-.1c0-.2-.1-.4-.4-.4h-2.4c-.2 0-.3.2-.3.4l-1.3 5.1h-6l1.3-5v-.1c0-.2-.2-.4-.4-.4H9.1c-.2 0-.3.2-.4.4l-1.3 5H4.1c-.2 0-.4.1-.4.3l-.6 2.3v.1c0 .2.1.3.4.3h3.1l-1.5 5.8H1.9c-.2 0-.3.1-.4.3l-.6 2.2c0 .2.2.4.4.4h3l-1.3 5v.1c0 .2.2.4.4.4h2.4c.2 0 .3-.1.4-.3l1.3-5.2h6l-1.3 5v.1c0 .2.1.4.4.4H15c.1 0 .3-.1.3-.4l1.3-5.1h3.3c.2 0 .3-.1.4-.4l.6-2.2v-.1c0-.2-.2-.4-.4-.4h-3.1L18.9 9h3.2c.2 0 .3-.1.4-.4l.6-2.2v-.1s-.2-.2-.4-.2zm-8.4 8.8h-6l1.5-5.8h5.9l-1.4 5.8z" + } + }, + touch_action: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.4 13.8l-3.7-1.3c-.3-.1-.5-.4-.5-.7V6.7c0-.7-.7-1.3-1.5-1.3h-.1c-.8 0-1.4.6-1.4 1.3v10c0 .8-1.1 1.2-1.6.4l-.9-2c-.5-.9-1.7-1.1-2.5-.5l-.6.4 3.2 7.6c.1.3.4.5.8.5h8.3c.5 0 .8-.3.9-.7l1.4-5.2c.4-1.5-.4-2.9-1.8-3.4zm-9.5-3.2v-4c.1-1.8 1.7-3.4 3.5-3.5h.4c1.9.1 3.4 1.7 3.5 3.5v4c0 .3.4.5.7.3 1-1.1 1.6-2.5 1.6-4 0-3.4-3-6.2-6.5-5.9-2.7.3-4.9 2.3-5.3 5-.3 1.8.3 3.6 1.5 4.9.2.2.6 0 .6-.3z" + } + }, + tracker: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7 13.1v-2c2.4-.4 4.2-2.5 4.2-5C11.2 3.3 8.9 1 6.1 1S1 3.3 1 6.1c0 2.5 1.8 4.6 4.2 5v2c-2.4.4-4.2 2.5-4.2 5 0 2.8 2.3 5.1 5.1 5.1s5.1-2.3 5.1-5.1c0-2.5-1.8-4.5-4.2-5zm-4.1-7c0-1.8 1.4-3.2 3.2-3.2s3.2 1.4 3.2 3.2-1.4 3.2-3.2 3.2-3.2-1.4-3.2-3.2zM14 4.2h8.2c.6 0 1 .5 1 1V7c0 .5-.4.9-1 .9H14c-.5 0-.9-.4-.9-.9V5.2c0-.5.4-1 .9-1zm0 12h8.2c.6 0 1 .5 1 1V19c0 .5-.4.9-1 .9H14c-.5 0-.9-.4-.9-.9v-1.8c0-.5.4-1 .9-1z" + } + }, + trail: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.8.9c1.6 0 2.8 1.2 2.8 2.7s-1.3 2.8-2.8 2.8-2.7-1.2-2.7-2.8S11.3.9 12.8.9zm7 7.5c-.5-.1-1 .3-1.1.8l-.2 2.7c-.1 0-.2.1-.3.1h-2.5l-1.8-3.1c-.1-.3-.4-.5-.7-.5L10.5 8c-.4-.1-.9.2-1.1.6l-2 5.2c-.2.5 0 .9.4 1.1l5 3.4.4 3.9c0 .5.5.9 1 .9.6 0 1.1-.5 1-1l-.4-4.8c0-.2-.2-.5-.4-.6l-2.7-3.1 1-2.5 1.2 2.1c.2.3.5.6.9.6h3.5l-1 8.3c-.1.5.3.9.8 1 .1 0 .1-.1.1-.1.5 0 1-.3 1-.8l1.6-12.9c0-.4-.4-.9-1-.9zM5.6 12.8l1.7-4.4c.1-.3.3-.6.5-.8l-.3-.1c-1.5-.2-2.8.7-3.3 2.1L3.3 12c-.2.5.1 1.1.6 1.2l.4.1c.6.2 1.1-.1 1.3-.5zm.7 3.4l-2.1 6.2c-.1.4.1.6.5.6h1.1c.4 0 .8-.2 1-.6l2-4.5-2.3-1.4c0-.1-.1-.2-.2-.3z" + } + }, + trailhead: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M21 15.4h1.2l-.6-1.9.6-1.9h-2.1c-.3-1.1-.9-2.2-1.6-3.3-.7-1.1-1.5-2-2.6-2.9-1-.9-2.3-1.7-3.9-2.3V3l-.1.1s-.6.1-1.5.5c-.6.4-1.4.8-2.2 1.5-1.3.9-2.6 2.3-3.6 4.3-.4.7-.7 1.4-.9 2.2H1.8l.6 1.9-.6 1.9H3c-.1.6-.1 1.2-.1 1.8v1.2l.1.1s1 .6 2.6 1.1c1.6.5 3.8 1 6.5 1 2.1 0 4.5-.3 7-1.3.6-.2 1.2-.5 1.8-.8l.1-.1h.1v-1.2c0-.5-.1-1.1-.1-1.8zm-18.3-.7l.4-1.2-.4-1.3h18.6l-.4 1.3.4 1.2H2.7zM6 11.6l1.4-2.3 1.2-1.9 1.9 2.4 1.2-1.1 1.2 1.5 1.9-2.8 3.1 4.2H6zm-1.2-1.3c.3-.5.6-1 .8-1.4.1-.1.1-.2.2-.3 0 0 .1-.1.1-.2 2.4-3.6 5.9-4.7 6-4.7l.1-.1v.1c2.5 1 4.3 2.5 5.5 4.2.5.5.8 1.1 1.1 1.7.4.6.6 1.3.9 1.9h-.8c-1-2.6-3-5.5-6.7-7.2-.8.3-5 1.9-6.9 7.2h-.8c.2-.3.4-.7.5-1.2zm15.6 7.6v.1l-.1.1c-2.9 1.5-5.7 2-8.2 2-4.5 0-7.9-1.6-8.4-1.9-.1-.1-.1-.1-.2-.1v-.2c0-.9 0-1.7.1-2.4h.6c0 .6-.1 1.3 0 2.1.6.4 3 1.4 6.2 1.7.8-.4 1.3-1.3.1-2.3h-.2v-.1h-.1V16.6c-.2-.4 0-.7 1.1-.8.3-.1 1.4 0 1-.4h.5c.4.4.4.8-1.3 1-.2 0-.3.2-.3.3h.1c1.7.4 2.1 1.6 1.9 2.5 2-.1 4.2-.6 6.4-1.7 0-.4 0-1.2-.2-2.2h.7c0 .2.1.3.1.5.3 1.3.2 2 .2 2.1z" + } + }, + travel_and_places: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.7 9.7l-2.1-5.6c-.3-1.1-1.3-1.8-2.4-1.8H6.8c-1.1 0-2.1.7-2.4 1.8L2.3 9.7c-1 .3-1.4 1.2-1.4 2.2v5.4c0 .9 1 1.8 1.9 2.1v1.8c0 .7.3 1 .9 1H6c.6 0 .9-.3.9-1v-1.8h10.2v1.8c0 .7.3 1 .9 1h2.3c.6 0 .9-.3.9-1v-1.8c.9-.3 1.9-1.1 1.9-2.1v-5.4c0-1-.4-1.9-1.4-2.2zm-16.6 6c-1.1 0-1.9-.8-1.9-1.9S4 12 5.1 12s1.8.8 1.8 1.8-.8 1.9-1.8 1.9zm7.6-6H5.4c-.2 0-.4-.2-.3-.5l1.4-4.1c0-.2.1-.5.4-.5h10.2c.3 0 .4.4.4.5l1.4 4.1c.1.3 0 .5-.4.5h-5.8zm6.2 6c-1 0-1.8-.8-1.8-1.9s.8-1.8 1.8-1.8 1.9.8 1.9 1.8-.8 1.9-1.9 1.9z" + } + }, + trending: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 14.1a.5.5 0 0 1-.9.4L19.7 12 14 16.9a1.6 1.6 0 0 1-2.3 0L8.3 13l-6.2 5.4a.5.5 0 0 1-.7 0l-.3-.3a.5.5 0 0 1 0-.8l6-8.2a1.6 1.6 0 0 1 2.3 0l3.5 3.4 3.5-4-2.3-2.1a.6.6 0 0 1 .4-.9H22a1.1 1.1 0 0 1 1.1 1.1z" + } + }, + turn_off_notifications: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.8 12.3c.3.3.6.3.9 0l9.9-9.1c.2-.3.1-.9-.6-.9H1.6c-.5 0-1 .5-.6.9l9.8 9.1zm3.1 5.1c.2-2.6 2.3-4.8 4.9-5 .3 0 .5-.1.7-.1.8 0 1.5.2 2.2.5V7.1c0-.5-.5-.7-.8-.4l-7.7 7.1c-.5.5-1.2.7-1.9.7s-1.4-.2-1.9-.7L1.8 6.7c-.4-.3-.9-.1-.9.4v9c0 1.2.9 2.1 2.1 2.1h10.9v-.8zm5.5-3.1c-2 0-3.7 1.7-3.7 3.7s1.7 3.7 3.7 3.7 3.7-1.7 3.7-3.7-1.6-3.7-3.7-3.7zm2.8 4.4c0 .1-.1.2-.2.2h-5.1c-.1 0-.2-.1-.2-.2v-1.4c0-.1.1-.2.2-.2H22c.1 0 .2.1.2.2v1.4z" + } + }, + type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 5.1H1.8c-.5 0-.9.4-.9.9v12c0 .5.4.9.9.9h20.4c.5 0 .9-.4.9-.9V6c0-.5-.4-.9-.9-.9zm-1 12H2.8V6.9h18.4v10.2zm-16-7h.4c.4 0 .7-.4.7-.7v-.5c0-.4-.3-.7-.7-.7h-.4c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7zm2.6 0h.5c.3 0 .7-.4.7-.7v-.5c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7zm5.3 0h.5c.3 0 .7-.4.7-.7v-.5c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7zm-2.7 0h.5c.4 0 .7-.4.7-.7v-.5c0-.4-.3-.7-.7-.7h-.5c-.3 0-.7.3-.7.7v.5c0 .3.4.7.7.7zm8 0h.5c.3 0 .7-.4.7-.7v-.5c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7zm-2.7 0h.5c.4 0 .7-.4.7-.7v-.5c0-.4-.3-.7-.7-.7h-.5c-.3 0-.7.3-.7.7v.5c0 .3.4.7.7.7zM5.2 12.8h.4c.4 0 .7-.3.7-.7v-.4c0-.4-.3-.7-.7-.7h-.4c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7zm2.6 0h.5c.3 0 .7-.3.7-.7v-.4c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7zm5.3 0h.5c.3 0 .7-.3.7-.7v-.4c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7zm-2.7 0h.5c.4 0 .7-.3.7-.7v-.4c0-.4-.3-.7-.7-.7h-.5c-.3 0-.7.3-.7.7v.4c0 .4.4.7.7.7zm8 0h.5c.3 0 .7-.3.7-.7v-.4c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7zm-2.7 0h.5c.4 0 .7-.3.7-.7v-.4c0-.4-.3-.7-.7-.7h-.5c-.3 0-.7.3-.7.7v.4c0 .4.4.7.7.7zM5.2 15.6h.4c.4 0 .7-.3.7-.7v-.5c0-.3-.3-.6-.7-.6h-.4c-.4 0-.7.3-.7.6v.5c0 .4.3.7.7.7zm2.6 0h8.4c.4 0 .7-.3.7-.7v-.5c0-.3-.3-.6-.7-.6H7.8c-.4 0-.7.3-.7.6v.5c0 .4.3.7.7.7zm10.6 0h.5c.3 0 .7-.3.7-.7v-.5c0-.3-.4-.6-.7-.6h-.5c-.4 0-.7.3-.7.6v.5c0 .4.3.7.7.7z" + } + }, + type_tool: { + "path": { + "d": "M23.2 22L15.1 1.8a1.1 1.1 0 0 0-1-.6H9.3a1 1 0 0 0-1 .6L.9 22a.7.7 0 0 0 .6.8h2.8a1.1 1.1 0 0 0 .9-.7l2.2-6h9.1l2.3 6a1.1 1.1 0 0 0 1 .7h2.8a.7.7 0 0 0 .6-.8zM8.8 12l2.7-6.8h.5l2.9 6.8z" + } + }, + undelete: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 9.2H4.8c-.3 0-.6.4-.6.7v10.9c0 1.3 1 2.3 2.3 2.3h11c1.3 0 2.3-1 2.3-2.3V9.9c0-.3-.3-.7-.6-.7zm-7.2 12v-1.8c1.5 0 2.8-1.3 2.8-2.8s-1.3-2.8-2.8-2.8c-.7 0-1.4.4-1.9.9l1.1 1.1c.1.1 0 .4-.2.4H7.6c-.1 0-.2-.1-.2-.2v-3.4c0-.2.2-.3.4-.2l1 1c.8-.8 2-1.4 3.2-1.4 2.6 0 4.7 2.1 4.7 4.7s-2.2 4.5-4.7 4.5zm9-16.6h-5.8V2.8c0-1-.8-1.9-1.8-1.9h-2.8c-1 0-1.8.9-1.8 1.9v1.8H3c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h18c.4 0 .7-.3.7-.7V5.3c0-.4-.3-.7-.7-.7zm-7.6 0h-2.8V3.2c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.4z" + } + }, + undeprecate: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 3.2H1.8c-.5 0-.9.4-.9 1v12c0 .5.4.9.9.9h7.5c.5 2.6 2.7 4.6 5.5 4.6s5-2 5.4-4.6h2c.5 0 .9-.4.9-.9v-12c0-.6-.4-1-.9-1zm-8.1 15.9l-2.7-2.8 1.2-1.3 1.5 1.5 3.3-3.3 1.2 1.3-4.5 4.6zm7.1-3.9h-1c-.4-2.6-2.7-4.6-5.4-4.6s-5.1 2-5.5 4.6H2.8V5.1h18.4v10.1z" + } + }, + underline: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.5 19.4h-17c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h17c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm-8.8-1.9c-3.5-.1-6.2-3.1-6.2-6.6V4.6c0-.5.5-.9 1-.9h.9c.5 0 .9.4.9.9v6.3c0 2 1.5 3.7 3.5 3.9 2.1.1 3.9-1.6 3.9-3.7V4.6c0-.5.4-.9.9-.9h.9c.5 0 1 .4 1 .9v6.5c0 3.7-3.1 6.6-6.8 6.4z" + } + }, + undo: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14 5.8c4.8 0 8.7 3.9 8.7 8.7s-3.9 8.8-8.7 8.8h-3.8c-.4 0-.6-.3-.6-.7v-1.5c0-.3.3-.7.6-.7H14c3.3 0 5.9-2.6 5.9-5.9S17.3 8.6 14 8.6H7.6s-.4 0-.5.1c-.4.2-.3.4 0 .8l2.3 2.2c.2.3.2.7-.1 1l-1 1c-.3.3-.6.3-.9.1l-6-6c-.2-.3-.2-.6 0-.9l6-5.9c.3-.3.7-.3 1 0l.9.9c.3.3.3.8 0 1L7.1 5.2c-.3.2-.3.6.1.6H14z" + } + }, + unlinked: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.4 17l4.3-4.4.3-.3 3.9-3.9 1.7-1.7 1.9-1.9c.3-.2.4-.6.1-.9l-.8-.8c-.2-.2-.5-.2-.8-.1L3.1 18.9c-.3.3-.3.7-.1.9l.8.9c.2.2.6.2.9-.2l1.9-1.8L8.4 17zm.1-6.3c-.2 0-.4.1-.5.3v1.4l1.8-1.7H8.5zm-4.7 5.9l1.9-1.8c-1.3-.3-2.3-1.4-2.4-2.7-.2-1.8 1.3-3.2 3-3.2h4.2c.3 0 .6.1.9.2l1.8-1.8c-.4-.2-.8-.5-1.2-.6-.5-.1-1-.2-1.5-.2h-4c-3 0-5.5 2.2-5.6 5.1-.1 2.2 1.1 4.1 2.9 5zm16.1-9.5L18 8.9c1.4.2 2.4 1.3 2.5 2.7.2 1.8-1.3 3.2-3 3.2h-4.1c-.4 0-.8-.1-1.1-.2l-1.8 1.8c.4.3.9.5 1.3.6.5.2 1 .3 1.5.3h4.2c3.1 0 5.5-2.5 5.4-5.6-.1-2.1-1.3-3.8-3-4.6zm-6 6h1.4c.2 0 .3-.2.4-.4.1-.3.1-.6.1-.8 0-.3 0-.5-.1-.7l-1.8 1.9z" + } + }, + unlock: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.6 8.4v.1-.1zm14.8 2.2h-12V8.4c0-2.4 1.8-4.6 4.3-4.7 2.2-.1 4.1 1.3 4.7 3.3.1.2.3.4.5.4h1.9c.3 0 .5-.3.4-.6-.7-3.5-3.8-6.1-7.6-5.9-3.9.2-6.9 3.6-7 7.5v2.2c-1 0-1.8.8-1.8 1.9v8.7c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9v-8.7c0-1.1-.8-1.9-1.8-1.9zm-5.3 9.1c.1.3-.1.6-.4.6h-3.4c-.3 0-.6-.3-.5-.6l.9-2.8c-.7-.4-1.1-1.3-1-2.2.2-.9.9-1.5 1.8-1.7 1.5-.3 2.8.8 2.8 2.1 0 .8-.4 1.5-1 1.8l.8 2.8z" + } + }, + unmuted: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 8.3c-.7 0-1.2.5-1.2 1.1v1.9c0 3.2-2.7 5.9-6 5.9s-6.1-2.7-6.1-5.9V9.4c0-.6-.5-1.1-1.1-1.1s-1.1.5-1.1 1.1v1.9c0 4.1 3.1 7.4 7.1 8v1.6H9c-.7 0-1.2.4-1.2 1.1s.5 1.1 1.2 1.1h6c.6 0 1.2-.5 1.2-1.1s-.6-1.1-1.2-1.1h-1.9v-1.6c4.1-.6 7.2-3.9 7.2-8V9.4c0-.6-.5-1.1-1.1-1.1zM12 15c2 0 3.7-1.7 3.7-3.7V4.6c0-2.1-1.6-3.7-3.7-3.7S8.3 2.5 8.3 4.6v6.7c0 2 1.7 3.7 3.7 3.7z" + } + }, + up: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.2 17.5H3.8c-.4 0-.8-.6-.4-1l8-9.8c.3-.3.9-.3 1.2 0l8 9.8c.4.4.1 1-.4 1z" + } + }, + upload: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 14.3H21c-.4 0-.7.4-.7.7v4.6c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V15c0-.3-.3-.7-.7-.7H1.6c-.4 0-.7.4-.7.7v6.2c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V15c0-.3-.3-.7-.7-.7zM12.5 1.1c-.3-.3-.7-.3-1 0L5.3 7.3c-.3.3-.3.7 0 1l.9 1c.3.3.7.3 1 0l2.6-2.6c.3-.3.8-.1.8.3v9.8c0 .4.3.7.7.7h1.3c.4 0 .8-.4.8-.7V7.1c0-.5.4-.6.8-.4l2.6 2.6c.2.3.6.3.9 0l1-.9c.3-.3.3-.7 0-1l-6.2-6.3z" + } + }, + user: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 19.8v1.1c0 1.2-1 2.2-2.2 2.2H3.1c-1.2 0-2.2-1-2.2-2.2v-1.1c0-2.6 3.2-4.3 6.1-5.6l.3-.1c.2-.1.5-.1.7 0 1.2.8 2.5 1.2 4 1.2s2.8-.4 3.9-1.2c.3-.1.5-.1.7 0l.3.1c3 1.3 6.2 2.9 6.2 5.6zM12 .9c3 0 5.5 2.7 5.5 6.1S15 13.1 12 13.1 6.5 10.4 6.5 7 9 .9 12 .9z" + } + }, + user_role: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.1 16.6c0-1.2.5-2.7 1.1-3.8.8-1.4 1.7-1.9 2.4-2.9 1.1-1.7 1.3-4.2.6-6-.7-1.9-2.5-3-4.5-3S6 2.2 5.3 4.1c-.7 2.1-.4 4.6 1.3 6.1.7.7 1.3 1.7 1 2.7-.4.9-1.5 1.3-2.3 1.7-1.8.8-3.9 1.9-4.3 4-.4 1.8.8 3.6 2.7 3.6h7.9c.3 0 .6-.5.3-.8-1.1-1.3-1.8-3-1.8-4.8zm7.4-5.5c-3 0-5.5 2.5-5.5 5.5s2.5 5.6 5.5 5.6 5.6-2.5 5.6-5.6-2.5-5.5-5.6-5.5zm1 6c-.1 0-.3 0-.4-.1l-2.2 2.2c-.1.1-.3.2-.4.2-.2 0-.4-.1-.5-.2-.3-.3-.3-.7 0-1l2.1-2.1c0-.1 0-.3-.1-.4-.1-1 .7-1.9 1.7-1.9.1 0 .3 0 .5.1 0 0 .1.1 0 .1l-.9 1c-.1.1-.1.2 0 .2l.6.7c.1.1.2.1.3 0l.9-.9c.1-.1.2-.1.2 0v.5c0 1-.8 1.7-1.8 1.6z" + } + }, + variable: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.7 8.2c1.1 0 3.3-.9 3.3-3.9s-2.1-3.1-2.8-3.1c-1.3 0-2.6.9-3.8 2.9-1.1 2-2.4 4.2-2.4 4.2h-.1c-.2-1.4-.5-2.6-.6-3.1-.2-1.2-1.6-3.9-4.5-3.9-3 0-5.7 1.7-5.7 1.7-.4.4-.7.9-.7 1.6 0 .9.7 1.8 1.8 1.8.2 0 .5-.1.7-.2 0 0 2.3-1.3 2.8 0 .1.4.2.8.4 1.2.5 2 1.1 4.2 1.5 6.3l-1.9 2.7s-2.2-.8-3.3-.8-3.3 1-3.3 3.9 2.1 3.2 2.8 3.2c1.3 0 2.6-1 3.7-2.9 1.2-2.1 2.5-4.2 2.5-4.2.3 1.8.7 3.2.8 3.9.8 2.1 2.5 3.3 4.7 3.3 0 0 2.3 0 5-1.5.7-.3 1.1-.9 1.1-1.7 0-1-.7-1.8-1.8-1.8-.2 0-.5.1-.7.2 0 0-2 1.1-2.6.2-.5-.9-.9-2.1-1.2-3.6-.3-1.3-.6-2.8-1-4.4l2-2.8s2.2.8 3.3.8z" + } + }, + video: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.6 6l-5 3.7V7.1c0-.7-.6-1.2-1.3-1.2H2.2c-.7 0-1.3.5-1.3 1.2v9.8c0 .7.6 1.3 1.3 1.3h13.2c.7 0 1.2-.6 1.2-1.3v-2.5l5 3.6c.4.3.9.1.9-.4V6.4c0-.4-.5-.7-.9-.4z" + } + }, + voicemail_drop: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18 6.8c-2.8 0-5.2 2.3-5.2 5.2 0 1 .4 2 .9 2.8h-3.4c.6-.8.9-1.7.9-2.8 0-2.8-2.3-5.2-5.2-5.2C3.2 6.8.8 9.1.8 12c0 2.8 2.3 5.2 5.2 5.2h12c2.8 0 5.1-2.3 5.1-5.2.1-2.9-2.2-5.2-5.1-5.2zM3.3 12c0-1.6 1.3-2.8 2.7-2.8 1.6 0 2.8 1.2 2.8 2.8S7.5 14.7 6 14.7 3.3 13.5 3.3 12zM18 14.8c-1.5 0-2.7-1.3-2.7-2.8s1.2-2.8 2.7-2.8c1.5 0 2.7 1.3 2.7 2.8.1 1.5-1.2 2.8-2.7 2.8z" + } + }, + volume_high: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.4 1.2L5.5 8.3H2.8c-1 0-1.9.8-1.9 1.9v3.6c0 1.1.9 1.9 1.9 1.9h2.7l5.9 7.1c.6.6 1.5.2 1.5-.6V1.8c0-.8-1-1.2-1.5-.6zM19.7 4c-.2-.2-.5-.2-.7 0l-.6.7c-.2.1-.2.5 0 .6 1.7 1.7 2.8 4.1 2.8 6.7 0 2.6-1.1 5-2.8 6.7-.2.2-.2.5 0 .6l.6.7c.2.2.5.2.7 0 2-2 3.4-4.9 3.4-8 0-3.1-1.3-6-3.4-8zm-2.9 3c-.2-.2-.5-.2-.7 0l-.6.6c-.2.2-.2.5 0 .7 1 .9 1.6 2.2 1.6 3.7s-.7 2.8-1.7 3.7c-.2.2-.2.5 0 .7l.7.6c.1.2.4.2.6 0 1.3-1.2 2.2-3 2.2-5s-.8-3.8-2.1-5z" + } + }, + volume_low: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.4 1.2L5.5 8.3H2.8c-1 0-1.9.8-1.9 1.9v3.6c0 1.1.9 1.9 1.9 1.9h2.7l5.9 7.1c.6.6 1.5.2 1.5-.6V1.8c0-.8-1-1.2-1.5-.6zM16.8 7c-.2-.2-.5-.2-.7 0l-.6.6c-.2.2-.2.5 0 .7 1 .9 1.6 2.2 1.6 3.7s-.7 2.8-1.7 3.7c-.2.2-.2.5 0 .7l.7.6c.1.2.4.2.6 0 1.3-1.2 2.2-3 2.2-5s-.8-3.8-2.1-5z" + } + }, + volume_off: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.4 1.2L5.5 8.3H2.8c-1 0-1.9.8-1.9 1.9v3.6c0 1.1.9 1.9 1.9 1.9h2.7l5.9 7.1c.6.6 1.5.2 1.5-.6V1.8c0-.8-1-1.2-1.5-.6zM20.7 12l2.2-2.3c.2-.1.2-.4 0-.6l-.6-.7c-.2-.1-.5-.1-.7 0l-2.2 2.3-2.3-2.3c-.2-.1-.4-.1-.6 0l-.7.7c-.2.2-.2.5 0 .6l2.3 2.3-2.3 2.3c-.2.1-.2.4 0 .6l.7.7c.2.1.4.1.6 0l2.3-2.3 2.2 2.3c.2.1.5.1.7 0l.6-.7c.2-.2.2-.5 0-.6L20.7 12z" + } + }, + waits: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 8.5c0-.4-.3-.7-.7-.7h-9.7c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h6.6l-7.2 8.7c-.1.1-.1.3-.1.4v1.4c0 .4.3.7.7.7h9.7c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7h-6.5l7-8.6c.1-.1.2-.3.2-.4V8.5zM12 2.9c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h6.6l-7.1 8.7v.1c-.1 0-.2.2-.2.3v1.4c0 .4.3.7.7.7h9.7c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7H4.8l7.1-8.6c.1-.1.1-.3.1-.4V2.9z" + } + }, + warning: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.7 19.6L13.2 2.5c-.6-.9-1.8-.9-2.4 0L.3 19.6c-.7 1.1 0 2.6 1.1 2.6h21.2c1.1 0 1.8-1.5 1.1-2.6zM12 18.5c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zm1.4-4.2c0 .3-.2.5-.5.5h-1.8c-.3 0-.5-.2-.5-.5v-6c0-.3.2-.5.5-.5h1.8c.3 0 .5.2.5.5v6z" + } + }, + weeklyview: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.3 3.2H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9zm1.2 6h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zm-6.4 4.4l-2.9 6.2c-.1.3-.4.5-.8.5-.5 0-.9-.4-.9-.8 0-.1.1-.3.1-.4l2.5-5.3H9.6c-.5 0-.8-.2-.8-.6 0-.4.3-.7.8-.7h4.8c.4 0 .8.3.8.8 0 .1 0 .2-.1.3z" + } + }, + wifi: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22 7.3c-2.5-2.8-6.1-4.4-10-4.4S4.6 4.5 2.1 7.3c-.2.2-.2.5 0 .6l1.4 1.2c.2.2.5.2.7 0C6.2 6.9 9 5.7 12 5.7s5.9 1.2 7.9 3.4c.2.2.5.2.7 0L22 7.9c.2-.1.2-.4 0-.6zM12 9.4c-1.9 0-3.7.8-5 2.3-.2.2-.2.5 0 .7l1.5 1.1c.2.1.5.1.6-.1.8-.8 1.8-1.3 2.9-1.3s2.2.5 3 1.3c.1.2.4.2.6 0l1.4-1.1c.3-.2.3-.4.1-.7-1.3-1.4-3.1-2.2-5.1-2.2zm.1 6.4c1.2 0 2.3 1 2.3 2.3s-1 2.3-2.3 2.3-2.3-1-2.3-2.3 1-2.3 2.3-2.3z" + } + }, + work_order_type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.1 12.4c0 .5-.4.9-.8.9H6.7c-.4 0-.8-.4-.8-.9v-.9c0-.4.4-.8.8-.8h10.6c.5 0 .9.4.9.8v.9h-.1zm-1.7 5.3c0 .4-.4.9-.9.9H6.7c-.4 0-.8-.5-.8-.9v-.9c0-.5.4-.9.8-.9h8.9c.4 0 .8.4.8.9v.9zM5.9 6.2c0-.4.4-.8.8-.8h8.9c.4 0 .8.4.8.8v.9c0 .5-.4.9-.8.9H6.7c-.4 0-.8-.4-.8-.9v-.9zM19 1.8H5C3.5 1.8 2.3 3 2.3 4.5v14.9c0 1.5 1.2 2.7 2.6 2.7H19c1.4 0 2.6-1.2 2.6-2.7V4.5c.1-1.5-1.1-2.7-2.6-2.7z" + } + }, + world: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 2.3zm.9.1h-.1.1zM12 20.8c-4.8 0-8.8-4-8.8-8.8 0-.5.1-1 .2-1.4.6.1 1.3.3 1.7.7.8.8 1.6 1.8 2.5 2 0 0-.1 0-.2.2-.1.1-.2.4-.2.9 0 2.1 2 .8 2 3s2.5 3 2.5 1.3 1.6-2.6 1.6-3.9-1.3-1.3-2-1.8c-.9-.4-1.3-1.1-2.9-.9-.8-.7-1.2-1.4-.9-2.1.4-.8 2.1-1 2.1-2.2S8.5 6.4 7.7 6.4c-.4 0-1.2-.3-1.8-.6.7-.8 1.7-1.4 2.7-1.9.8.3 2 .9 3.1.9 1.2 0 1.9-.9 1.7-1.5 2.1.3 3.9 1.4 5.2 2.9-.6.4-1.6.9-3.2.9-2.1 0-2.1 2.1-.9 2.5 1.3.5 2.6-.8 3 0 .5.9-3 .9-2.1 3 .9 2.1 1.7 0 2.6 2.1.9 2.1 2.6-.3 1.3-2-.6-.7-.4-3 .9-3h.4c.2.7.3 1.5.3 2.3-.1 4.8-4.1 8.8-8.9 8.8z" + } + }, + yubi_key: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M17.8 6.5H.7c-.4 0-.7.3-.7.7v9.7c0 .4.3.7.7.7h17.1c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zm-8.1 8.4c-1.6 0-2.8-1.3-2.8-2.9s1.2-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.2 2.9-2.8 2.9z" + }, { + "d": "M23.3 8.3h-6.7c-.4 0-.7.3-.7.7v6c0 .4.3.7.7.7h6.7c.4 0 .7-.3.7-.7V9c0-.4-.3-.7-.7-.7zm-1.6 1.9c.3 0 .5.1.5.4v.9h-3.7v-1.3h3.2zm0 3.6h-3.2v-1.2h3.7v.8c0 .3-.2.4-.5.4z" + }], + "circle": { + "cx": "9.692", + "cy": "12.046", + "r": ".554" + } + } + }, + zoomin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.3 8.8h-2.8V6c0-.3-.1-.5-.4-.5H9.2c-.2 0-.4.2-.4.5v2.8H6c-.3 0-.5.2-.5.4v1.9c0 .3.2.4.5.4h2.8v2.8c0 .3.2.5.4.5h1.9c.3 0 .4-.2.4-.5v-2.8h2.8c.3 0 .5-.1.5-.4V9.2c0-.2-.2-.4-.5-.4zm8.6 12.1l-5.3-5.3c1.1-1.5 1.8-3.4 1.8-5.4 0-5.1-4.2-9.3-9.2-9.3S.9 5.1.9 10.2s4.2 9.2 9.3 9.2c2 0 3.9-.7 5.4-1.8l5.3 5.3c.3.3.7.3 1 0l.9-1c.3-.3.3-.7.1-1zm-12.7-4.3c-3.6 0-6.5-2.9-6.5-6.4s2.9-6.5 6.5-6.5 6.4 2.9 6.4 6.5-2.9 6.4-6.4 6.4z" + } + }, + zoomout: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M8.8 11.5h5.5c.3 0 .5-.1.5-.4V9.2c0-.2-.2-.4-.5-.4H8.8m0 0H6c-.3 0-.5.2-.5.4v1.9c0 .3.2.4.5.4h2.8" + }, { + "d": "M22.9 20.9l-5.3-5.3c1.1-1.5 1.8-3.4 1.8-5.4 0-5.1-4.2-9.3-9.2-9.3S.9 5.1.9 10.2s4.2 9.2 9.3 9.2c2 0 3.9-.7 5.4-1.8l5.3 5.3c.3.3.7.3 1 0l.9-1c.3-.3.3-.7.1-1zm-12.7-4.3c-3.6 0-6.5-2.9-6.5-6.4s2.9-6.5 6.5-6.5 6.4 2.9 6.4 6.5-2.9 6.4-6.4 6.4z" + }] + }, + viewBox: '0 0 24 24' + }; +} + +/* 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": "M21.2 4.2H2.8C1.5 4.2.5 5.2.5 6.5v11c0 1.3 1 2.3 2.3 2.3h18.4c1.3 0 2.3-1 2.3-2.3v-11c0-1.3-1-2.3-2.3-2.3zm-9.8 13H4.8c-.7 0-1.3-.8-1.3-1.6.1-1.2 1.3-1.8 2.5-2.4.9-.4 1-.7 1-1.1 0-.4-.2-.7-.5-1-.5-.5-.8-1.2-.8-1.9 0-1.5.9-2.7 2.4-2.7s2.4 1.3 2.4 2.7c0 .8-.3 1.5-.8 1.9-.3.3-.6.6-.6 1s.1.7 1.1 1.1c1.2.5 2.4 1.2 2.4 2.4.2.8-.4 1.6-1.2 1.6zm9-2.7c0 .4-.3.8-.7.8h-3.5c-.4 0-.8-.3-.8-.8v-1.2c0-.4.4-.7.8-.7h3.5c.4 0 .7.3.7.7v1.2zm0-4.2c0 .4-.3.8-.7.8h-5.8c-.4 0-.7-.3-.7-.8V9.1c0-.4.3-.7.7-.7h5.8c.4 0 .8.3.8.7v1.2z" + } + }, + add_file: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.5 16.7V5.2c-1.2 0-2.2 1-2.2 2.1v13.6c0 1.2 1 2.2 2.2 2.2h10.7c1.2 0 2.2-1 2.2-2.1H8.8c-2.4 0-4.3 0-4.3-4.3zM21 7.3h-3.6c-1.2 0-2.2-.9-2.2-2.1V1.6c0-.4-.3-.7-.7-.7H8.8C7.6.9 6.6 1.9 6.6 3v13.6c0 1.2 1 2.1 2.2 2.1h10.7c1.2 0 2.2-.9 2.2-2.1V8.1c0-.4-.3-.8-.7-.8zm.6-3l-3.4-3.2c-.1-.1-.2-.2-.3-.2-.3 0-.5.3-.5.5v2.4c0 .8.6 1.4 1.4 1.4h2.4c.3 0 .5-.2.5-.5 0-.1-.1-.2-.1-.4z" + } + }, + add_photo_video: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 9.2c-2 0-3.7 1.7-3.7 3.7s1.7 3.7 3.7 3.7 3.7-1.6 3.7-3.7S14 9.2 12 9.2zm9.2-2.7h-2.4c-.6 0-1.2-.4-1.5-.9L16.2 4c-.3-.8-1.1-1.2-1.9-1.2H9.7c-.8 0-1.6.4-1.9 1.2L6.7 5.6c-.3.5-.9.9-1.6.9H2.8c-1 0-1.9.8-1.9 1.8v11.1c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V8.3c0-1-.9-1.8-1.9-1.8zm-9.2 12c-3 0-5.5-2.5-5.5-5.6S9 7.4 12 7.4s5.5 2.5 5.5 5.5-2.5 5.6-5.5 5.6z" + } + }, + add_relationship: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zm-3.7 6.5c0 .2-.2.5-.4.5H9.7v2.7c0 .3-.2.5-.5.5h-.9c-.2 0-.5-.2-.5-.5v-2.7H5.1c-.3 0-.5-.3-.5-.5v-.9c0-.3.2-.5.5-.5h2.7v-2.8c0-.2.3-.4.5-.4h.9c.3 0 .5.2.5.4v2.8h2.8c.2 0 .4.2.4.5v.9zm6.9 3.7h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2z" + } + }, + announcement: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.5 21l-.6-.5c-.7-.5-.7-1.4-.7-1.9v-1.3c0-.4-.3-.7-.7-.7H5.8c-.4 0-.7.3-.7.7v3.6c0 1.2.7 2.2 1.9 2.2h2.2c1.4 0 1.5-.9 1.5-.9s.2-.9-.2-1.2zM20.8 8.3V2c0-1.1-1.4-1.4-2.2-.7l-4.1 3.9c-.6.5-1.4.8-2.3.8h-7C2.8 6 .9 8.1.9 10.5v.1c0 2.4 1.9 4.2 4.3 4.2h7c.9 0 1.7.3 2.4.9l4 4c.8.7 2.2.4 2.2-.7v-6.3c1.4 0 2.2-.9 2.2-2.2 0-1.2-.8-2.2-2.2-2.2z" + } + }, + apex: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 18.5H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7v-1.3c0-.4-.3-.7-.7-.7zm-10.7-8.4L2.8 2.9c-.3-.2-.7-.2-1 .1l-.7 1.2c-.3.3-.2.7.1.9l6.4 5.1c.2.2.2.6 0 .7L1.2 16c-.3.2-.4.7-.1 1l.7 1.2c.3.3.7.4 1 .1l8.9-7.1c.4-.3.4-.9 0-1.1z" + } + }, + approval: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.8 20.1l-7.6-7.6c-.3-.3-.3-.8 0-1.1l1-1c.2-.2.7-.2 1 0l5.7 5.8c.2.2.5.2.7 0L20.8 4.9c.3-.3.8-.3 1 0l1 1c.3.3.3.7 0 1l-13 13.2c-.3.3-.8.3-1 0z" + } + }, + back: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 10.2H7.1c-.5 0-.6-.6-.4-.8l4.5-4.5c.2-.2.2-.7 0-.9l-1-1c-.3-.3-.7-.3-1 0l-8.1 8c-.3.3-.3.7 0 1l8.1 8.1c.3.3.7.3 1 0l.9-1c.3-.3.3-.7 0-1l-4.4-4.4c-.3-.3-.1-.8.3-.8h15.3c.4 0 .7-.3.7-.7v-1.4c.1-.3-.2-.6-.6-.6z" + } + }, + bug: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.1 4.7H15c.4 0 .7-.5.6-.8C15.2 2.2 13.8 1 12 1S8.8 2.3 8.4 3.9c0 .3.3.8.7.8zm12.8 9.5c.7 0 1.2-.5 1.1-1.1 0-.6-.5-1.1-1.2-1.1h-3.2v-1.8c2.1-.9 3.6-3.2 3.6-5.9 0-.5-.3-1-.9-1.1-.7-.1-1.3.4-1.3 1.1 0 1.6-.7 2.9-1.8 3.6-.4-.7-1.1-1-1.9-1H7.6c-.8 0-1.5.4-1.9 1-1-.7-1.8-2-1.8-3.5 0-.6-.4-1.2-1-1.2s-1.1.5-1.1 1.1c0 2.7 1.5 5 3.6 5.9V12H2.2c-.6 0-1.2.5-1.2 1 0 .7.5 1.2 1.1 1.2h3.3V16c-2.1.8-3.6 3.2-3.6 5.8 0 .6.4 1 .9 1.2.7.1 1.3-.4 1.3-1.1 0-1.5.7-2.9 1.8-3.6.6 2.1 2.2 3.7 4.2 4.4.5.1 1-.3 1-.7v-8.8c0-.6.4-1.2 1-1.2s1.2.5 1.2 1.1V22c0 .5.4.8.9.7 2.1-.7 3.7-2.3 4.3-4.4 1 .7 1.7 2 1.7 3.5 0 .6.5 1.1 1 1.1.7.1 1.2-.4 1.2-1.1 0-2.7-1.5-5-3.7-5.8v-1.9h3.3v.1z" + } + }, + call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 17.4l-2.8-2.2c-.7-.5-1.6-.6-2.2-.1L15 16.9c-.3.2-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.7-.1-1l1.7-2.4c.5-.6.5-1.6 0-2.2L6.5 1.6c-.7-.9-1.9-1-2.7-.2L1.5 3.8c-.4.4-.6 1-.6 1.5.3 4.7 2.4 9.1 5.5 12.3 3.2 3.1 7.6 5.2 12.3 5.5.5 0 1.1-.2 1.4-.6l2.4-2.4c.8-.7.8-2-.1-2.7z" + } + }, + canvas: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.8 17.7c-.1 1.3-.3 2.6-.5 3.9 0 .4-.5.8-.8.8-2.5.3-5 .5-7.5.5-2.4 0-4.9-.1-7.3-.5-.4 0-.8-.4-.9-.8-.3-2-.5-4.1-.5-6.2s.2-4.1.5-6.2c.1-.3.5-.7.9-.8 1.5-.2 3-.3 4.4-.4 0 0 1.2 0 1.1-1.2 0-1-1.8-1.7-1.8-3.4C8.4 2 9.8.9 12 .9c2.3 0 3.6 1.1 3.6 2.5 0 1.8-1.7 2.4-1.8 3.4C13.8 7.9 15 8 15 8c1.5.1 3 .2 4.5.4.3 0 .8.4.8.8.2 1.5.4 2.8.5 4.2 0 .4-.4.9-.8.9h-.4c-.4 0-1-.4-1.3-.7 0 0-1-1-2.1-1-1.7-.1-3 1.4-3 3s1.3 3.1 3 3.1c1-.1 2-1.1 2-1.1.4-.2 1-.5 1.4-.5h.4c.5 0 .8.3.8.6z" + } + }, + change_owner: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.6 17.4c-1.4-.6-1.6-1.1-1.6-1.7 0-.5.4-1 .8-1.4.8-.7 1.2-1.8 1.2-3 0-2.2-1.3-3.9-3.8-3.9s-3.8 1.7-3.8 3.9c0 1.2.3 2.3 1.2 3 .4.4.8.9.8 1.4 0 .6-.2 1.1-1.6 1.7-2.1.8-4 1.7-4 3.5 0 1.2 1 2.2 2.1 2.2h10.6c1.2 0 2.1-1 2.1-2.2 0-1.7-2-2.7-4-3.5zm7.9-8.6c0-3.4-2.8-6.3-6.2-6.3V.9l-3.1 2.6c-.2.1-.1.3 0 .5l3.1 2.5V4.8c2.2 0 3.9 1.8 3.9 4h-1.6l2.6 3.1c.1.1.3.1.5 0l2.5-3.1h-1.7z" + } + }, + change_record_type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.2 17.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7v-5.1zm-5.5-7.1H1.5c-.5 0-.7.4-.4.6l3.7 3.8c.1.2.4.2.6 0l3.7-3.8c.3-.3 0-.6-.4-.6H6.5c0-2.4 2.3-4.7 4.6-4.7V2.8c-4.2 0-7.4 3.2-7.4 7.4zm15.6-.8c-.2-.2-.5-.2-.7 0L15 13.2c-.3.3-.1.6.4.6h2.2c0 2.8-1.9 4.7-4.7 4.7v2.7c4.2 0 7.5-3.2 7.5-7.4h2.2c.5 0 .7-.4.4-.6l-3.7-3.8zm3.8-7.8c0-.4-.3-.7-.7-.7h-6.9c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7V1.6z" + } + }, + check: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.8 19.6L1.2 12c-.3-.3-.3-.8 0-1.1l1-1c.3-.3.8-.3 1 0L9 15.7c.1.2.5.2.6 0L20.9 4.4c.2-.3.7-.3 1 0l1 1c.3.3.3.7 0 1L9.8 19.6c-.2.3-.7.3-1 0z" + } + }, + clone: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.2.9H8.3c-1 0-1.8.9-1.8 1.9v1.1c0 .4.3.7.7.7h8.5c2 0 3.7 1.7 3.7 3.7v8.5c0 .4.3.7.7.7h1.1c1 0 1.9-.8 1.9-1.8V2.8c0-1-.9-1.9-1.9-1.9zm-5.5 5.6H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h12.9c1 0 1.8-.9 1.8-1.9V8.3c0-1-.8-1.8-1.8-1.8zm-1.9 12.4c0 .3-.1.5-.4.5H5.1c-.3 0-.5-.2-.5-.5V18c0-.3.2-.5.5-.5h8.3c.3 0 .4.2.4.5v.9zm0-3.7c0 .3-.1.5-.4.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h8.3c.3 0 .4.2.4.5v.9zm0-3.7c0 .3-.1.5-.4.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.4.5-.4h8.3c.3 0 .4.1.4.4v.9z" + } + }, + close: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.6 11.9l6-6c.3-.3.3-.7 0-1l-.9-1c-.3-.3-.7-.3-1 0L12.6 10c-.1.2-.4.2-.6 0L6 3.9c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l6.1 6.1c.1.1.1.4 0 .6L4 18.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.1-6c.2-.2.5-.2.6 0l6.1 6c.3.3.7.3 1 0l.9-.9c.3-.3.3-.7 0-1l-6-6c-.2-.2-.2-.5 0-.7z" + } + }, + defer: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.4c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3zm1.6-8.2c-.2-.1-.2-.3-.2-.5V7.2c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v5.5c0 .2.1.4.2.5l3.4 3.5c.3.2.7.2 1 0l1-1c.2-.3.2-.7 0-1l-2.6-2.6z" + } + }, + delete: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21 4.6h-5.8V2.8c0-1-.8-1.9-1.8-1.9h-2.8c-1 0-1.8.9-1.8 1.9v1.8H3c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h18c.4 0 .7-.3.7-.7V5.3c0-.4-.3-.7-.7-.7zM10.6 3.2c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.4h-2.8V3.2zm8.6 6H4.8c-.3 0-.6.4-.6.7v10.9c0 1.3 1 2.3 2.3 2.3h11c1.3 0 2.3-1 2.3-2.3V9.9c0-.3-.3-.7-.6-.7zm-8.6 10.2c0 .3-.2.4-.4.4h-1c-.2 0-.4-.1-.4-.4v-6.5c0-.3.2-.4.4-.4h1c.2 0 .4.1.4.4v6.5zm4.6 0c0 .3-.2.4-.4.4h-1c-.2 0-.4-.1-.4-.4v-6.5c0-.3.2-.4.4-.4h1c.2 0 .4.1.4.4v6.5z" + } + }, + description: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.3 1.8H3.7c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V3.7c0-1-.9-1.9-1.9-1.9zM5.5 6.5c0-.3.2-.5.5-.5h4.6c.3 0 .5.2.5.5v4.6c0 .3-.2.4-.5.4H6c-.3 0-.5-.1-.5-.4V6.5zm11.1 12c0 .2-.2.4-.4.4H6c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h10.2c.2 0 .4.2.4.4v1zm1.9-3.7c0 .2-.2.4-.5.4H6c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h12c.3 0 .5.2.5.4v1zm0-3.7c0 .3-.2.4-.5.4h-4.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5v.9zm0-3.7c0 .3-.2.4-.5.4h-4.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5v.9z" + } + }, + dial_in: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "circle": [{ + "cx": "4.615", + "cy": "4.615", + "r": "2.769" + }, { + "cx": "4.615", + "cy": "12", + "r": "2.769" + }, { + "cx": "12", + "cy": "4.615", + "r": "2.769" + }, { + "cx": "19.385", + "cy": "4.615", + "r": "2.769" + }, { + "cx": "12", + "cy": "12", + "r": "2.769" + }, { + "cx": "19.385", + "cy": "12", + "r": "2.769" + }, { + "cx": "4.615", + "cy": "19.385", + "r": "2.769" + }, { + "cx": "12", + "cy": "19.385", + "r": "2.769" + }, { + "cx": "19.385", + "cy": "19.385", + "r": "2.769" + }] + } + }, + download: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 14.3H21c-.4 0-.7.3-.7.7v4.6c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V15c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6.2c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V15c0-.4-.3-.7-.7-.7zm-10.9 3.1c.3.2.7.2 1 0l6.2-6.3c.3-.3.3-.7 0-.9l-.9-1c-.3-.3-.7-.3-1 0l-2.6 2.6c-.3.2-.8.1-.8-.4V1.6c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.8c0 .4-.5.6-.8.3L7.2 9.1c-.2-.2-.6-.2-.9 0l-1 1.1c-.3.2-.3.6 0 .9l6.2 6.3z" + } + }, + edit: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.5 3.4l-1.9-1.9c-.8-.8-1.9-.8-2.6 0L16.5 3c-.2.2-.2.5 0 .6l3.9 4c.2.2.5.2.6 0L22.6 6c.7-.7.7-1.8-.1-2.6zm-7.3 1.5c-.2-.1-.5-.1-.7 0L2.5 17 1 22.2c-.2.5.3 1 .8.9l5.3-1.5H7l12.1-12c.1-.2.1-.5 0-.7l-3.9-4z" + } + }, + edit_groups: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.2 14.5c-.1-.1-.3-.1-.4 0l-5.4 5.4-.8 2.7c-.1.3.2.5.5.5l2.7-.8 5.4-5.4c.1-.1.1-.3 0-.4l-2-2zm4.6-1.6l-1-1c-.4-.4-1-.4-1.4 0 0 0-.6.6-.9 1-.1.1-.1.3 0 .3l2 2c.1.1.2.1.3 0 .4-.3 1-.9 1-.9.4-.4.4-1 0-1.4zM12 6.3c0 1-.3 2-.8 2.8-.2.3-.1.7.2.9 1 .5 2.2 1.2 2.8 2.3.1.2.3.2.5.2H16c.8 0 1.4-.5 1.4-1.4 0-1.3-1.3-2.1-2.7-2.7-1-.4-1.1-.8-1.1-1.2 0-.4.2-.8.6-1.1.5-.5.8-1.3.8-2.1 0-1.7-1-3.1-2.7-3.1-1 0-1.8.5-2.2 1.3C11.3 3 12 4.5 12 6.3zm.7 7.7c-.1-1.5-1.5-2.1-3.1-2.8-1.1-.5-1.2-.9-1.2-1.4s.2-.9.6-1.2c.6-.6 1-1.4 1-2.4 0-1.8-1.1-3.4-3-3.4h-.2c-2 0-3 1.6-3 3.4 0 1 .3 1.8 1 2.4.3.3.6.8.6 1.2 0 .5-.2.9-1.2 1.4-1.6.7-3.1 1.4-3.1 2.8.1 1 .7 1.7 1.7 1.7h8.3c.9 0 1.6-.7 1.6-1.7z" + } + }, + edit_relationship: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.8 19.4h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2zm-5-12h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12c0-1-.8-1.8-1.8-1.8zm-8 11.8c-.1 0-.1 0-.2.1l-2.1.5c-.2 0-.3-.1-.3-.3l.5-2.1s.1-.1.1-.2c.1-.1.2-.1.3 0l1.7 1.7c.1.1.1.3 0 .3zm5.1-5.1l-4.3 4.3c-.1.1-.2.1-.3 0l-1.7-1.7c-.1-.1-.1-.2 0-.3l4.3-4.3c.1-.1.2-.1.3 0l1.7 1.7v.3zm1.3-1.3l-.5.4c-.1.1-.2.1-.3 0l-1.7-1.7c-.1-.1-.1-.1 0-.2l.5-.5c.3-.3.8-.3 1.1 0l.9.9c.3.3.3.8 0 1.1z" + } + }, + email: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.5 13.9c.3.3.7.3 1 0l10.4-9.7c.2-.4.2-1-.6-1l-20.6.1c-.6 0-1.1.5-.6.9l10.4 9.7zM23.1 8c0-.5-.6-.8-.9-.4L14 15.1c-.6.5-1.3.8-2 .8s-1.4-.3-2-.8L1.9 7.6c-.4-.4-.9-.1-.9.4-.1 2.1-.1 7.7-.1 10.5 0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V8z" + } + }, + fallback: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.9 1.6l-1.4 6.8c0 .2.2.4.5.4h7.2c.5 0 .8.6.6 1l-7.9 12.9c-.3.7-1.3.4-1.3-.3l1.4-8c0-.2-.2-.1-.5-.1H3.9c-.5 0-.9-.8-.6-1.2l8.3-11.8c.4-.6 1.3-.4 1.3.3z" + } + }, + filter: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 1.8H1.8c-.7 0-1.1.8-.6 1.3l9 10.5c.2.3.4.8.4 1.2v6.7c0 .3.3.7.7.7h1.4c.4 0 .7-.4.7-.7v-6.7c0-.4.1-.9.4-1.2l9-10.5c.5-.5.1-1.3-.6-1.3z" + } + }, + flow: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23 4.9c-.9-1.9-3.4-5.4-7.9-3.3-2.8 1.3-4.4 2-4.4 2L6.6 5.4c-1.1.5-3.6-.3-5-.8-.4-.1-.8.3-.6.7.9 1.9 3.4 5.4 7.9 3.3 2.8-1.3 8.5-3.7 8.5-3.7 1.1-.6 3.6.2 5 .7.4.1.8-.3.6-.7zm-9.7 5.9c-.5.3-2.5 1.2-2.5 1.2l-2.1.9c-1 .5-3.2-.2-4.5-.7-.3-.2-.6.3-.5.6.9 1.9 3 5.2 7 3.2 2.5-1.3 4.6-2.1 4.6-2.1 1-.6 3.2.2 4.5.7.3.1.6-.3.5-.7-.9-1.8-3-5.1-7-3.1zM11.8 19c-.4.2-1.1.6-1.1.6-.8.5-2.4-.1-3.4-.6-.2-.1-.5.3-.3.7.6 1.6 2.2 4.6 5.2 2.8l1.1-.7c.8-.4 2.4.2 3.4.6.2.2.5-.2.3-.6-.6-1.7-2.1-4.5-5.2-2.8z" + } + }, + follow: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.3 17.5h-2.1v-2c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v2h-2.1c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h2.1v2.1c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-2.1h2.1c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7zm-7.6-1.8h.5c.2 0 .4-.2.4-.5v-.4c0-1 .8-1.9 1.9-1.9h2c.4 0 .7-.3.7-.7V2.8c0-1-.8-1.9-1.8-1.9H2.8C1.8.9.9 1.8.9 2.8v16.6c0 1 .9 1.8 1.9 1.8h10.4c.4 0 .7-.3.6-.7v-3c0-1 .9-1.8 1.9-1.8zM12 5.1c0-.3.2-.5.5-.5h4.6c.3 0 .4.2.4.5V6c0 .3-.1.5-.4.5h-4.6c-.3 0-.5-.2-.5-.5v-.9zm0 3.7c0-.3.2-.5.5-.5h4.6c.3 0 .4.2.4.5v.9c0 .3-.1.5-.4.5h-4.6c-.3 0-.5-.2-.5-.5v-.9zM4.6 5.1c0-.3.2-.5.5-.5h4.6c.3 0 .5.2.5.5v4.6c0 .3-.2.5-.5.5H5.1c-.3 0-.5-.2-.5-.5V5.1zm7.4 12c0 .3-.2.4-.5.4H5.1c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9zm-6.9-3.3c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h9.2c.3 0 .5.2.5.5v.9c0 .3-.2.4-.5.4H5.1z" + } + }, + following: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.8 15.5l-1-1c-.2-.3-.7-.3-1 0l-4.3 4.4c-.2.2-.5.2-.7 0l-2-2.1c-.3-.2-.8-.2-1.1 0l-1 1.1c-.3.2-.3.7 0 1l3.9 3.9c.3.3.7.3 1 0l6.2-6.3c.3-.2.3-.7 0-1zm-11.4.1c.5-.5 1-.7 1.7-.8.7-.1 1.5.2 2 .7l1.1 1.1 3.3-3.4c.3-.4.8-.6 1.3-.7.2-.1.4-.3.4-.5V2.8c0-1-.8-1.9-1.9-1.9H2.8C1.8.9.9 1.8.9 2.8v16.6c0 1 .9 1.8 1.9 1.8h7.5c.5 0 .6-.5.4-.8l-.3-.2c-.9-1-.9-2.6 0-3.6l1-1zM12 5.1c0-.3.2-.5.5-.5h4.6c.3 0 .4.2.4.5V6c0 .3-.1.5-.4.5h-4.6c-.3 0-.5-.2-.5-.5v-.9zm0 3.7c0-.3.2-.5.5-.5h4.6c.3 0 .4.2.4.5v.9c0 .3-.1.5-.4.5h-4.6c-.3 0-.5-.2-.5-.5v-.9zM4.6 5.1c0-.3.2-.5.5-.5h4.6c.3 0 .5.2.5.5v4.6c0 .3-.2.5-.5.5H5.1c-.3 0-.5-.2-.5-.5V5.1zm3.7 12c0 .3-.2.4-.4.4H5.1c-.3 0-.4-.1-.4-.4v-.9c0-.3.1-.5.4-.5h2.8c.2 0 .4.2.4.5v.9zm-3.2-3.3c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h9.2c.3 0 .5.2.5.5v.9c0 .3-.2.4-.5.4H5.1z" + } + }, + freeze_user: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M12.5 1.4c.2 0 .4.2.4.4V23c0 .3-.2.5-.4.5h-1c-.2 0-.4-.2-.4-.5V1.8c0-.2.2-.4.4-.4h1zM12 7.9L8.3 4.2c-.2-.2-.2-.5 0-.6l.6-.7c.2-.2.5-.2.7 0L12 5.4l2.4-2.5c.2-.2.5-.2.7 0l.6.7c.2.1.2.4 0 .6L12 7.9m0 9l3.7 3.8c.2.2.2.4 0 .6l-.6.7c-.2.2-.5.2-.7 0L12 19.5 9.6 22c-.2.2-.5.2-.7 0l-.6-.7c-.2-.2-.2-.4 0-.6l3.7-3.8" + }, { + "d": "M21.7 7.2c.2.2.1.5-.1.6L3.3 18.6c-.2.1-.5.1-.6-.2l-.5-.8c-.1-.2-.1-.5.2-.6L20.6 6.2c.3-.2.5-.1.7.2l.4.8zm-5.8 3L17.2 5c0-.2.2-.4.5-.3l.9.2c.3.1.4.3.3.6L18 8.9l3.4.8c.3.1.4.3.3.6l-.2.9c0 .2-.3.4-.5.3l-5.1-1.3m-7.8 4.5l-1.3 5.1c0 .3-.2.5-.5.4l-.9-.3c-.3 0-.4-.2-.3-.5L6 16l-3.4-.9c-.3 0-.4-.2-.3-.5l.2-.9c0-.3.3-.4.5-.3l5.1 1.3" + }, { + "d": "M2.7 6.4c.2-.2.4-.3.7-.2L21.6 17c.2.2.3.4.2.7l-.5.8c-.1.2-.4.3-.6.1L2.4 7.8c-.2-.1-.3-.4-.2-.6l.5-.8zm5.4 3.8L3 11.5c-.3 0-.5-.1-.6-.3l-.2-.9c0-.3.1-.5.3-.6l3.4-.8L5 5.5c0-.3.1-.5.4-.6l.8-.2c.3 0 .5.1.6.3l1.3 5.2m7.7 4.5l5.2-1.3c.2-.1.5 0 .5.3l.2.9c.1.3 0 .5-.3.5L18 16l.9 3.4c.1.3 0 .5-.3.5l-.9.3c-.3 0-.5-.1-.5-.4l-1.4-5.1" + }] + }, + goal: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M2.3.9C1.5.9.9 1.5.9 2.3v19.4c0 .7.6 1.4 1.4 1.4.7 0 1.4-.6 1.4-1.4V2.3c0-.8-.6-1.4-1.4-1.4zM22.5 3c-6 3.1-10.7-2.3-16.4-.2-.3.1-.6.4-.6.7v10.3c0 .6.6.9 1.1.8 5.4-1.6 10.2 3.5 16.1.3.2-.2.4-.4.4-.7V3.3c0-.3-.3-.4-.6-.3zm-1.3 10.5l-.2.1c-.5.2-1.2.2-2.4.2h-.1v-2.3c-.7 0-2-.1-2.8-.3v2.5c-.8-.2-1.5-.3-2.1-.5-.3 0-.5-.1-.7-.1v-2.6c-.8-.2-2-.4-2.7-.6v2.6c-.6-.1-.7-.1-1.3-.1h-.8l-.7.1V9.8c.4-.1 1-.1 1.6-.1.6 0 .6 0 1.2.1V7.1c-.6-.1-2.4-.1-2.8 0V4.2h.4c.5 0 1.8 0 2.4.2v2.7c.6.1 1.7.3 2.5.6h.2V5c.9.3 1.8.5 2.8.7v2.6c.8.1 2 .2 2.8.2V6h.1c.7 0 1.2-.2 2.1-.3l.6-.2v2.8c-.9.2-1.7.3-2.6.3h-.2v2.9h.1c.9 0 1.8-.3 2.7-.7v2.7zm-8.3-5.8v2.8c.2 0 .4.1.6.2.7.1 1.4.4 2.2.5V8.4c-1-.2-1.9-.5-2.8-.7z" + } + }, + google_news: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.2 2.4l-1.6 1.7c-.2.2-.5.2-.7 0L18.8 2c-.2-.2-.5-.2-.7 0l-1.6 1.6c-.2.2-.5.2-.7 0L14.2 2c-.2-.2-.5-.2-.7 0l-1.6 1.6c-.2.2-.5.2-.7 0L9.6 2c-.2-.2-.5-.2-.7 0L7.2 3.6c-.1.2-.4.2-.6 0L4.9 2c-.1-.2-.4-.2-.6 0L2.6 3.6c-.2.2-.4.2-.6 0L.8 2.4c-.3-.2-.8 0-.8.4v17.5c0 1 .8 1.9 1.8 1.9h20.4c1 0 1.8-.9 1.8-1.9V2.8c0-.4-.5-.6-.8-.4zM9.7 18.9c0 .3-.2.5-.5.5H3.7c-.3 0-.5-.2-.5-.5v-8.3c0-.3.2-.4.5-.4h5.5c.3 0 .5.1.5.4v8.3zm11.1 0c0 .3-.2.5-.5.5H12c-.3 0-.5-.2-.5-.5V18c0-.3.2-.5.5-.5h8.3c.3 0 .5.2.5.5v.9zm0-3.2h-9.3v-1.9h9.3v1.9zm0-4.2c0 .3-.2.5-.5.5H12c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.4.5-.4h8.3c.3 0 .5.1.5.4v.9zm0-3.7c0 .3-.2.5-.5.5H3.7c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.4.5-.4h16.6c.3 0 .5.1.5.4v.9z" + } + }, + info: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 5.6c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4-1.4-.6-1.4-1.4.6-1.4 1.4-1.4zm2.3 9.7c0 .2-.2.4-.5.4h-3.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5.2 0 .4-.2.4-.4v-1.9c0-.2-.2-.5-.4-.5-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v3.7c0 .2.2.4.4.4.3 0 .5.2.5.5v.9z" + } + }, + join_group: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.6 11c0-1.3-1.3-2-2.6-2.6-.9-.5-1.1-.8-1.1-1.2 0-.5.3-.8.5-1.2.6-.5.9-1.2.9-2.1 0-1.6-.9-3-2.6-3-1 0-1.7.5-2.2 1.3 1.2.8 1.9 2.4 1.9 4.1 0 1-.3 2-.8 2.8-.2.3-.1.7.2.9 1 .5 2.1 1.2 2.7 2.3.1.2.3.2.5.2h1.3c.8 0 1.3-.6 1.3-1.5zm-7.5.1c-1.1-.4-1.2-.9-1.2-1.3s.3-.9.6-1.3c.6-.6 1-1.4 1-2.4 0-1.8-1.1-3.3-2.9-3.3h-.2c-1.8 0-2.9 1.5-2.9 3.3 0 1 .3 1.8.9 2.4.4.4.7.8.7 1.3 0 .4-.2.9-1.2 1.3-1.5.7-3 1.4-3 2.8 0 1.1.7 1.8 1.6 1.8h8c.9 0 1.6-.7 1.6-1.7-.1-1.5-1.5-2.2-3-2.9zm13.3 4.6h-2.1v-2.1c0-.4-.3-.7-.7-.7h-1.4c-.3 0-.7.3-.7.7v2.1h-2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h2v2c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-2h2.1c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7z" + } + }, + lead_convert: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.7 13.1c-.2.2-.2.7 0 .9l1 1c.3.3.7.3 1 0l6.2-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-.9 0l-1 .9c-.3.3-.3.7 0 1l2.6 2.6c.8.8-.4.8-.4.8h-3.7c-4.4 0-8.2 3.6-8.1 8 .1 4.3 3.6 7.7 7.9 7.7h1.6c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7h-1.5c-2.6 0-4.9-1.9-5.2-4.5-.3-3.1 2.1-5.6 5.1-5.6H15c.4.1.5.5.3.8l-2.6 2.6z" + } + }, + leave_group: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14 10.2c-.9-.4-1.1-.8-1.1-1.2 0-.4.3-.8.5-1.1.6-.5.9-1.3.9-2.1 0-1.6-.9-3-2.6-3-1 0-1.7.5-2.2 1.2 1.2.9 1.9 2.4 1.9 4.2 0 1-.3 2-.8 2.8-.2.3-.1.7.2.9 1 .5 2.1 1.1 2.7 2.2.1.2.3.3.5.3h1.3c.8 0 1.3-.6 1.3-1.5 0-1.3-1.3-2.1-2.6-2.7zM9.1 13c-1.1-.5-1.2-.9-1.2-1.4s.3-.9.6-1.2c.6-.6 1-1.4 1-2.4 0-1.8-1.1-3.4-2.9-3.4h-.2C4.5 4.6 3.5 6.2 3.5 8c0 1 .3 1.8.9 2.4.4.3.6.8.6 1.2 0 .5-.1.9-1.2 1.4-1.5.7-2.9 1.4-3 2.8.1 1 .8 1.7 1.7 1.7h8c.9 0 1.6-.7 1.6-1.7-.1-1.4-1.5-2.1-3-2.8zM14.8 19.6v-1.4c0-.3.3-.7.7-.7h6.9c.4 0 .7.4.7.7v1.4c0 .4-.3.7-.7.7h-6.9c-.4 0-.7-.3-.7-.7z" + } + }, + log_a_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.8.9H5.9C4.6.9 3.6 2 3.6 3.1v.8h-.7c-.9 0-1.5.6-1.5 1.5S2 6.8 2.9 6.8h.7v3.7h-.7c-.9 0-1.5.7-1.5 1.5s.6 1.5 1.5 1.5h.7v3.7h-.7c-.9 0-1.5.6-1.5 1.4 0 .9.6 1.5 1.5 1.5h.7v.8c0 1.1 1 2.2 2.3 2.2h13.9c1.2 0 2.4-1.1 2.4-2.3V3c0-1.2-1.2-2.1-2.4-2.1zm-1.3 14.9l-1.1 1c-.2.2-.5.4-.8.3-2.4-.1-4.7-1.2-6.4-2.8s-2.7-4-2.8-6.4c0-.3.1-.7.3-.8l1-1.1c.5-.4 1.3-.4 1.7.1l1 1.2c.3.5.3 1 0 1.4l-.8 1.2c-.1.2-.1.4.1.5l1.7 1.9 1.9 1.7c.1.1.3.1.4 0l1.2-.8c.4-.3 1-.3 1.4 0l1.2 1c.4.3.5 1.1 0 1.6z" + } + }, + log_event: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.9 18.6l-2.3.7c-.1 0-.4.1-.6.1-.6 0-1.2-.3-1.7-.8-.4-.6-.5-1.3-.3-1.9l.7-2.7 3.5-3.4c.1-.2 0-.4-.2-.4H2.5c-.3 0-.7.3-.7.6v8.6c0 1 .9 1.8 1.9 1.8h12.9c1 0 1.9-.8 1.9-1.8V19c0-.3-.4-.5-.6-.4zM2.5 8.3h15.3c.3 0 .7-.3.7-.7V6.5c0-1.1-.9-1.9-1.9-1.9h-1.4v-.4c0-.8-.6-1.4-1.4-1.4-.7 0-1.3.6-1.3 1.4v.4H7.8v-.4c0-.8-.6-1.4-1.3-1.4-.8 0-1.4.6-1.4 1.4v.4H3.7c-1 0-1.9.8-1.9 1.9v1.1c0 .4.4.7.7.7zm17.6 2.4c-.1-.1-.3-.1-.3 0L15.4 15l-.6 2.2c-.1.2.1.4.3.3l2.2-.6 4.3-4.3c.1-.1.1-.3 0-.4l-1.5-1.5zm3.7-1.4l-.9-.8c-.2-.3-.7-.3-1.1 0 0 0-.5.5-.7.8-.1.1-.1.2 0 .3l1.6 1.6c.1.1.2.1.3 0l.8-.8c.3-.2.3-.8 0-1.1z" + } + }, + manage_perm_sets: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.8.9H3.2C1.9.9.9 1.9.9 3.2v17.6c0 1.2 1 2.3 2.3 2.3h17.6c1.2 0 2.3-1 2.3-2.3V3.2c0-1.3-1-2.3-2.3-2.3zM20 20.8H4c-.4 0-.8-.4-.8-.8V4c0-.4.4-.8.8-.8h16c.4 0 .8.4.8.8v16c0 .4-.4.8-.8.8zM10.1 5.5H6.3c-.4 0-.8.3-.8.8v3.8c0 .4.3.8.8.8h3.8c.4 0 .8-.3.8-.8V6.3c-.1-.4-.4-.8-.8-.8zm7.6 0h-3.8c-.4 0-.8.3-.8.8v3.8c0 .4.3.8.8.8h3.8c.4 0 .8-.3.8-.8V6.3c0-.4-.4-.8-.8-.8zm-7.6 7.7H6.3c-.4 0-.8.3-.8.7v3.9c0 .4.3.8.8.8h3.8c.4 0 .8-.4.8-.8v-3.9c-.1-.4-.4-.7-.8-.7zm7.6 0h-3.8c-.4 0-.8.3-.8.7v3.9c0 .4.3.8.8.8h3.8c.4 0 .8-.4.8-.8v-3.9c0-.4-.4-.7-.8-.7z" + } + }, + map: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.5 4.4l-6.6-3.3c-.3-.2-.7-.2-1 0L8.8 4.2 2.6 1.1c-.4-.2-.8-.2-1.2 0-.3.2-.5.6-.5.9v16.6c0 .5.3.8.6 1l6.7 3.3c.3.2.7.2.9 0l6.2-3.1 6.2 3.1c.1.1.3.2.5.2s.4-.1.6-.2c.3-.2.5-.6.5-.9V5.4c0-.5-.2-.8-.6-1zm-1.7 2.1v8.8c0 .5-.5.9-1 .7-1.7-.7-.3-3.5-1.5-5.1-1.2-1.4-2.7 0-4.1-2.2-1.3-2.2.5-3.8 2.1-4.6.3-.1.5-.1.7 0l3.4 1.7c.3.2.4.4.4.7zm-9.3 12.8c-.3.2-.6.1-.8-.1-.5-.4-.9-1-.9-1.7 0-1.1-1.8-.7-1.8-2.9 0-1.8-2.1-2.3-3.9-2.1-.5.1-.8-.3-.8-.7V5c0-.5.5-.9 1-.6l4 2h.1l.1.1c1.7 1 1.3 1.8.6 3-.7 1.3-1.1 0-2.2-.4s-2.2.4-1.8 1.1 1.5 0 2.2.7.7 1.9 2.9 1.1 2.6-.3 3.4.4c.7.8 1.1 2.2 0 3.3-.7.7-1 2.1-1.2 3-.1.2-.2.4-.4.5l-.5.1z" + } + }, + more: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.7 9.2c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8S.9 13.5.9 12s1.3-2.8 2.8-2.8zm8.3 0c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8 1.3-2.8 2.8-2.8zm8.3 0c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8 1.3-2.8 2.8-2.8z" + } + }, + new: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.8 13.4h7.7c.3 0 .7-.3.7-.7v-1.4c0-.4-.4-.7-.7-.7h-7.7c-.2 0-.4-.2-.4-.4V2.5c0-.3-.3-.7-.7-.7h-1.4c-.4 0-.7.4-.7.7v7.7c0 .2-.2.4-.4.4H2.5c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h7.7c.2 0 .4.2.4.4v7.7c0 .3.3.7.7.7h1.4c.4 0 .7-.4.7-.7v-7.7c0-.2.2-.4.4-.4z" + } + }, + new_account: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 12.4c0-.8-.6-1-.8-1H14c-.8 0-.8.8-.8.8v9h9.9v-8.8zm-5.7 6.5c0 .4-.4.8-.8.8h-.8c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm0-3.9c0 .4-.4.7-.8.7h-.8c-.4 0-.8-.3-.8-.7v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm3.8 3.9c0 .4-.3.8-.8.8h-.8c-.4 0-.8-.4-.8-.8v-.8c0-.4.4-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm0-3.9c0 .4-.3.7-.8.7h-.8c-.4 0-.8-.3-.8-.7v-.8c0-.4.4-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm-5.8-6.7V3.8c.1-.8-.5-1-.7-1H1.8c-.8 0-.9.8-.9.8v17.6h9.9V10s0-1 .9-1h3c.4 0 .7-.4.7-.7zM5.1 18.5c0 .4-.3.8-.8.8h-.7c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm0-4c0 .5-.3.8-.8.8h-.7c-.4 0-.8-.3-.8-.8v-.7c0-.5.3-.8.8-.8h.8c.4 0 .8.3.8.8v.7zm0-3.9c0 .4-.3.8-.8.8h-.7c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm0-3.9c0 .4-.3.8-.8.8h-.7c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm4.2 11.8c0 .4-.3.8-.8.8h-.7c-.5 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.7c.5 0 .8.4.8.8v.8zm0-4c0 .5-.3.8-.8.8h-.7c-.5 0-.8-.3-.8-.8v-.7c0-.5.3-.8.8-.8h.7c.5 0 .8.3.8.8v.7zm0-3.9c0 .4-.3.8-.8.8h-.7c-.5 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.7c.5 0 .8.4.8.8v.8zm0-3.9c0 .4-.3.8-.8.8h-.7c-.5 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.7c.5 0 .8.4.8.8v.8zm4.2 0c0 .4-.3.8-.8.8H12c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8z" + } + }, + new_campaign: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.4c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3zm0-14.8c-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.5zm0 10.2c-2 0-3.7-1.7-3.7-3.7S10 8.3 12 8.3s3.7 1.7 3.7 3.7-1.7 3.7-3.7 3.7zm0-5.5c-1 0-1.8.8-1.8 1.8s.8 1.8 1.8 1.8 1.8-.8 1.8-1.8-.8-1.8-1.8-1.8z" + } + }, + new_case: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.9 6h1.9c.2 0 .4-.2.4-.5v-.9h5.6v.9c0 .3.2.5.4.5h1.9c.3 0 .4-.2.4-.5V4.4c0-1.4-1.1-2.6-2.5-2.6H9C7.6 1.8 6.5 3 6.5 4.3v1.2c0 .3.1.5.4.5zm14.3 1.8H2.8c-1 0-1.9.9-1.9 1.9v10.6c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V9.7c0-1-.9-1.9-1.9-1.9z" + } + }, + new_child_case: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.9 5.1h1.9c.2 0 .4-.2.4-.5v-.9h4.6v.9c0 .3.2.5.5.5h1.9c.2 0 .4-.2.4-.5V3.5c0-1.4-1.1-2.6-2.5-2.6H9C7.6.9 6.5 2 6.5 3.4v1.2c0 .3.1.5.4.5zm7.9 10.6h.9v-.9c0-1 .8-1.9 1.8-1.9h2.8c.6 0 1.1.3 1.4.7.2.2.5.1.5-.1V8.8c0-1-.9-1.9-1.9-1.9H2.8c-1 0-1.9.9-1.9 1.9v10.6c0 1 .9 1.8 1.9 1.8h10c.2 0 .3-.1.3-.3-.1-.2-.2-.4-.2-.6v-2.8c0-1 .9-1.8 1.9-1.8zm7.6 1.8h-2.1v-2c0-.4-.3-.7-.7-.7h-1.4c-.3 0-.7.3-.7.7v2h-2c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h2v2.1c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-2.1h2.1c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7z" + } + }, + new_contact: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.2 4.2H2.8C1.5 4.2.5 5.2.5 6.5v11c0 1.3 1 2.3 2.3 2.3h18.4c1.3 0 2.3-1 2.3-2.3v-11c0-1.3-1-2.3-2.3-2.3zm-9.8 13H4.8c-.7 0-1.3-.8-1.3-1.6.1-1.2 1.3-1.8 2.5-2.4.9-.4 1-.7 1-1.1 0-.4-.2-.7-.5-1-.5-.5-.8-1.2-.8-1.9 0-1.5.9-2.7 2.4-2.7s2.4 1.3 2.4 2.7c0 .8-.3 1.5-.8 1.9-.3.3-.6.6-.6 1s.1.7 1.1 1.1c1.2.5 2.4 1.2 2.4 2.4.2.8-.4 1.6-1.2 1.6zm9-2.7c0 .4-.3.8-.7.8h-3.5c-.4 0-.8-.3-.8-.8v-1.2c0-.4.4-.7.8-.7h3.5c.4 0 .7.3.7.7v1.2zm0-4.2c0 .4-.3.8-.7.8h-5.8c-.4 0-.7-.3-.7-.8V9.1c0-.4.3-.7.7-.7h5.8c.4 0 .8.3.8.7v1.2z" + } + }, + new_custom1: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.6 21c-.9.9-2.3.9-3.2 0-2.7-2.8-7.8-8.2-7.8-8.2-2.3-2.4-2.3-6.3 0-8.7C3.7 3 5.2 2.3 6.8 2.3s3 .6 4.1 1.8l.5.6c.3.3.9.3 1.2 0l.4-.5c1.2-1.2 2.6-1.9 4.2-1.9 1.5 0 3 .6 4.1 1.8 2.3 2.4 2.3 6.3 0 8.7 0 0-5 5.4-7.7 8.2z" + } + }, + new_custom10: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.4 22.3c-3.5 1.4-9.1 1-12.1-2.2C0 12.3 6.4.9 15.2.9c1.5 0 2.8.3 4.2.9.5.2.6.9.1 1.2-2.8 2-4.7 5.3-4.7 9s1.9 7 4.7 9c.5.3.4 1.1-.1 1.3z" + } + }, + new_custom100: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.4 19.2H7.6c-.3 0-.4.2-.4.5.4 1.4 2.4 2.5 4.8 2.5s4.3-1.1 4.7-2.5c.1-.3-.1-.5-.3-.5zm4.5-17.4H3.1C1.9 1.8.9 2.9.9 4.1v10.5c0 1.3 1 2.3 2.2 2.3h17.8c1.2 0 2.2-1 2.2-2.3V4.1c0-1.2-1-2.3-2.2-2.3zm0 12.1c0 .4-.4.7-.8.7H3.9c-.4 0-.8-.3-.8-.7V4.8c0-.4.4-.7.8-.7h16.2c.4 0 .8.3.8.7v9.1z" + } + }, + new_custom11: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.8 1.4l3 6.3 6.5 1c.8.1 1.1 1 .5 1.5L18 15.1l1.2 6.9c0 .8-.7 1.4-1.3 1L12 19.8 6.1 23c-.6.4-1.4-.2-1.3-1L6 15.1l-4.8-4.9c-.5-.5-.2-1.4.5-1.5l6.5-1 3-6.3c.3-.7 1.3-.7 1.6 0z" + } + }, + new_custom12: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "12", + "cy": "12", + "r": "11.077" + } + }, + new_custom13: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.9 1.8H3.1C1.9 1.8.9 2.8.9 4v2.2c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7V4c0-1.2-1-2.2-2.2-2.2zm0 7.3H3.1c-.4 0-.7.3-.7.7V20c0 1.2 1 2.2 2.2 2.2h14.8c1.2 0 2.2-1 2.2-2.2V9.8c0-.4-.3-.7-.7-.7zm-4.8 3.3c0 .6-.5 1.1-1.1 1.1H9c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h6c.6 0 1.1.4 1.1 1.1z" + } + }, + new_custom14: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.3 5.4h-2.2c-.4 0-.9-.2-1.3-.6L17 3.3c-.3-.3-.8-.5-1.3-.5h-4.3c-.6 0-1.1.2-1.5.6L7.6 5.3c-.2.1-.2.5-.1.7l.7.6c.5.4 1.1.5 1.6.1l2-1.2c.3-.2.7-.1.8.1l6.4 6.3c.2.1.3.3.3.6v1.6c0 .5.3.9.7.9h2.2c.5 0 .8-.3.8-.7V6.1c.1-.4-.2-.7-.7-.7zm-6.2 6.7l-4-3.9-1.1.7c-.6.3-1.2.5-1.8.5-.8 0-1.6-.3-2.2-.9L5.5 7.4c-.3-.3-.5-.6-.6-1-.1-.4-.3-.6-.7-.6H1.7c-.5 0-.8.2-.8.6v6.8c0 .5.3.7.8.7h1.4c.1 0 .3-.4.5-.6.5-.7 1.3-1.1 2.2-1.3.9 0 1.8.3 2.5.9l4.6 4.3c.4.3.7.8.9 1.3 0 .2.4.3.6.1l1.7-1.8c.9-.8 1.6-3 .7-3.9l-.7-.8zm-9.3 2.8c-.5-.5-1.2-.4-1.6.1-.4.5-.3 1.3.2 1.7l4.6 4.2c.2.2.5.3.8.3.3-.1.6-.2.7-.5.5-.5.4-1.3-.1-1.7l-4.6-4.1z" + } + }, + new_custom15: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.4 10.6c-1.3-.6-1.5-1-1.5-1.6 0-.6.4-1 .8-1.4.8-.7 1.2-1.7 1.2-2.8 0-2.1-1.3-3.9-3.6-3.9-2 0-3.2 1.4-3.6 3.1 0 .1.1.2.2.3 1.6 1.2 2.7 3.2 2.7 5.6 0 1.7-.6 3.2-1.6 4.4-.2.1-.1.4.1.6.7.2 1.4.6 2.1 1 .3.1.5.2.8.2h4.2c1 0 1.9-.8 1.9-1.8V14c0-1.7-1.8-2.6-3.7-3.4zm-6.6 6.1c-1.6-.7-1.8-1.2-1.8-1.9s.5-1.2 1-1.7c.9-.8 1.4-1.9 1.4-3.2 0-2.5-1.6-4.5-4.3-4.5S4.8 7.5 4.8 9.9c0 1.3.5 2.4 1.4 3.2.5.5 1 1.1 1 1.7 0 .7-.3 1.2-1.8 1.9-2.3.9-4.4 1.9-4.4 3.9v.4c-.1 1.1.9 2.1 2.2 2.1H15c1.2 0 2.2-1 2.2-2.1v-.4c0-2-2.2-3-4.4-3.9z" + } + }, + new_custom16: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20 19.4h-.4v-8.1c0-.5-.3-.8-.7-.8h-.8c-.4 0-.7.3-.7.8v8.1h-2.2v-8.1c0-.5-.3-.8-.7-.8h-.7c-.5 0-.8.3-.8.8v8.1h-2.2v-8.1c0-.5-.3-.8-.7-.8h-.7c-.4 0-.8.3-.8.8v8.1H6.5v-8.1c0-.5-.4-.8-.8-.8H5c-.4 0-.8.3-.8.8v8.1H4c-1.2 0-2.2 1-2.2 2.2v.7c0 .5.4.8.8.8h18.9c.4 0 .7-.3.7-.8v-.7c0-1.2-1-2.2-2.2-2.2zm1.8-13.2l-9-5c-.2-.2-.5-.3-.8-.3-.3 0-.6.1-.8.3l-9 5c-.2.2-.4.4-.4.7v.7c0 .4.4.7.8.7h18.9c.4 0 .7-.3.7-.7v-.7c0-.3-.2-.5-.4-.7zm-9.8.6c-1 0-1.8-.8-1.8-1.8S11 3.1 12 3.1s1.8.9 1.8 1.9S13 6.8 12 6.8z" + } + }, + new_custom17: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.5 4.2c.1.3.3.4.6.4h3.7c.3 0 .6-.1.7-.4L16 1.5c.1-.3-.1-.5-.4-.5H8.4c-.3 0-.5.2-.3.5l1.4 2.7zm4.7 2.6H9.8c-3.6 0-6.6 3-6.6 6.7v7.4c0 1.2 1 2.2 2.2 2.2h13.2c1.2 0 2.2-1 2.2-2.2v-7.4c0-3.7-3-6.7-6.6-6.7zm-1.1 12.4v1.3c0 .2-.2.4-.5.4h-1.4c-.3 0-.3-.2-.3-.4v-1.2c-1.1-.2-2-.7-2.3-.9-.2-.3-.3-.5-.1-.9l.5-.7c0-.2.3-.3.5-.3.1 0 .3.1.4.1.8.5 1.4.7 1.9.7s.9-.3.9-.6c0-.2-.1-.6-1.5-1.1-1.3-.4-2.8-1.2-2.8-2.9 0-1 .6-2.1 2.5-2.5V9.1c0-.2.1-.4.3-.4h1.4c.3 0 .5.2.5.4v1.1c.7.1 1.5.5 1.8.7.1.1.2.3.3.5 0 .1-.1.3-.2.4l-.5.7c-.1.1-.4.3-.6.3-.1 0-.2-.1-.3-.1-.8-.4-1.4-.7-1.8-.7-.6 0-.9.3-.9.5 0 .3.2.6 1.4 1 1.5.5 3.3 1.4 3.3 3.1-.1 1.3-1.1 2.3-2.5 2.6z" + } + }, + new_custom18: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.5 7.1h3.8c.3 0 .5-.3.5-.5s-.1-.3-.2-.4l-4.7-4.7c-.1-.1-.2-.1-.3-.1-.3 0-.5.2-.5.5v3.7c0 .8.6 1.5 1.4 1.5zm8.3 4.8l-.4-.5c-.2-.2-.7-.2-1 0l-5.5 5.5v1.3c0 .1 0 .2.1.2h1.4l5.4-5.5c.4-.3.4-.8 0-1zm-4.4 8.6h-3.3c-.7 0-1.3-.6-1.3-1.3v-2.5c0-.4.1-.8.4-1l4.4-4.4c.1-.1.2-.3.2-.5v-.9c0-.4-.3-.7-.7-.7h-5c-1.2 0-2.2-1-2.2-2.1v-5c0-.4-.3-.7-.7-.7H3C1.9 1.4.9 2.4.9 3.5v17c0 1.1 1 2.1 2.1 2.1h13.6c1 0 2-.7 2.1-1.7.1-.2-.1-.4-.3-.4zM3.8 7.8c0-.4.3-.7.7-.7h2.8c.5 0 .7.3.7.7v.6c0 .4-.3.7-.7.7H4.5c-.4 0-.7-.3-.7-.7v-.6zm7.1 9.1c0 .4-.3.7-.7.7H4.5c-.4 0-.7-.3-.7-.7v-.7c0-.3.3-.6.7-.6h5.7c.4 0 .7.3.7.6v.7zm1.5-4.2c0 .4-.4.7-.7.7H4.5c-.4 0-.7-.3-.7-.7V12c0-.4.3-.7.7-.7h7.1c.4 0 .7.3.7.7v.7z" + } + }, + new_custom19: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.8 5.6c-.1-.2-.4-.3-.6-.1l-3.8 3.7c-.3.3-.7.3-1 0l-2.6-2.6c-.3-.3-.3-.7 0-1l3.8-3.8c.1-.1 0-.5-.2-.6-.6-.2-1.3-.3-2-.3-3.9 0-7 3.4-6.6 7.4.1.7.3 1.2.5 1.8l-8.6 8.5c-1.1 1.1-1.1 2.7 0 3.7.5.5 1.2.8 1.8.8s1.3-.3 1.9-.8l8.5-8.6c.6.2 1.2.4 1.8.5 4 .4 7.4-2.7 7.4-6.6 0-.7-.1-1.4-.3-2z" + } + }, + new_custom2: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M15.4 1.6C14.3.9 10.2.2 8.7 2.7c-.7 1.2.2 3.4.9 4.8.1.3.5.5.9.3.4-.1 1-.2 1.6-.2.4 0 .7 0 1.1.1.3.1.6-.1.8-.4.3-.4.7-1 1.5-1.6 1.7-1.5 1-3.3-.1-4.1zm-2 14.6c-.4.1-.9.2-1.4.2-.5 0-.9-.1-1.3-.2-.3 0-.7.1-.8.4-.3.5-.7 1.1-1.5 1.7-1.8 1.5-1.1 3.3 0 4.1s5.2 1.4 6.7-1.1c.7-1.2-.1-3.3-.8-4.7-.2-.4-.5-.5-.9-.4zm7.9-7.6c-1.2-.7-3.4.2-4.8.9-.3.1-.5.5-.3.9.1.4.2 1 .2 1.6 0 .4 0 .7-.1 1.1-.1.3.1.7.4.8.4.3 1 .7 1.6 1.5 1.5 1.8 3.3 1.1 4 0s1.5-5.2-1-6.8zM7.8 13.4c-.1-.5-.2-.9-.2-1.4 0-.5.1-.9.2-1.3 0-.4-.1-.7-.4-.9-.5-.2-1.1-.7-1.7-1.4-1.5-1.8-3.3-1.1-4.1 0S.2 13.5 2.7 15c1.2.7 3.3 0 4.7-.7.4-.2.5-.6.4-.9z" + }, + "circle": { + "cx": "12", + "cy": "12", + "r": "2.215" + } + } + }, + new_custom20: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.6 11.2c0-.3-.4-.5-.6-.3l-5.2 3.9c-.6.4-.9 1.1-.9 1.8v1.5c0 .3.3.5.5.4l5.7-2.2c.2-.1.4-.3.4-.7.1 0 .1-4.4.1-4.4zm8.1 10.3l-1.5-1.1V3.7c0-1-1-2.1-1.7-2.6-.3-.3-.7-.3-1 0-.6.5-1.7 1.6-1.7 2.6v16.8l-1.7 1.1c-.3.2-.5.6-.5.9v.3c0 .1.1.3.3.3h8.2c.1 0 .4-.2.4-.3-.1-.6-.3-1-.8-1.3zm6.5-6.7l-5.2-4c-.2-.1-.6 0-.6.3v4.5c0 .3.2.6.5.7l5.7 2.2c.3.1.5-.1.5-.3v-1.5c0-.8-.3-1.5-.9-1.9z" + } + }, + new_custom21: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.8 19.8c-.1-.3-.4-.4-.6-.4H9.9c-.3 0-.6.1-.7.4l-1 2.7c-.1.3.1.5.3.5h7c.2 0 .4-.2.3-.5l-1-2.7zM20.9.9H3.1C1.9.9.9 1.9.9 3.1V15c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zM12 16.4c-.6 0-1.1-.4-1.1-1.1s.5-1.1 1.1-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1zm8.9-3.7c0 .5-.4.8-.8.8H3.9c-.4 0-.8-.3-.8-.8V3.9c0-.4.4-.8.8-.8h16.2c.4 0 .8.4.8.8v8.8z" + } + }, + new_custom22: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 17.1l-2.3-1.8c-.8-.7-1.9-.7-2.7-.1L15 16.8c-.2.2-.6.1-.9-.1l-3.6-3.3-3.3-3.6c-.3-.2-.3-.6-.1-.9l1.6-2.2c.6-.8.5-1.9-.1-2.7L6.7 1.7C6 .7 4.5.6 3.6 1.5l-2 2.1c-.5.4-.7 1-.7 1.6.3 4.7 2.4 9.2 5.6 12.3s7.5 5.3 12.2 5.6c.7 0 1.2-.3 1.7-.7l2-2c1-.9.9-2.4-.2-3.3z" + } + }, + new_custom23: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.5 14.1c.3.3.7.3 1.1 0L23 4.6c.2-.4.1-.9-.6-.9H1.7c-.5 0-1 .5-.6 1l10.4 9.4zm11.6-5.4c0-.5-.6-.8-.9-.4L14 15.7c-.5.5-1.2.8-2 .8-.7 0-1.4-.3-1.9-.8L1.9 8.3c-.4-.3-.9-.1-.9.4v9.4c0 1.2 1 2.2 2.2 2.2h17.7c1.2 0 2.2-1 2.2-2.2V8.7z" + } + }, + new_custom24: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.6.9H5.4c-1.2 0-2.2 1-2.2 2.2 0 .5.4.8.8.8h16c.4 0 .8-.3.8-.8 0-1.2-1-2.2-2.2-2.2zm0 5.2H5.4c-.4 0-.7.3-.7.7v15.5c0 .5.3.8.7.8h4.1c.4 0 .7-.3.7-.8v-2.9c0-.4.4-.8.8-.8h2.1c.4 0 .8.4.8.8v2.9c0 .5.3.8.7.8h4c.5 0 .8-.3.8-.8V6.8c-.1-.4-.4-.7-.8-.7zm-7.7 10c0 .4-.3.7-.7.7H8.7c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h1.5c.4 0 .7.4.7.8v1.5zm0-5.2c0 .4-.3.7-.7.7H8.7c-.4 0-.8-.3-.8-.7V9.4c0-.4.4-.7.8-.7h1.5c.4 0 .7.3.7.7v1.5zm5.1 5.2c0 .4-.3.7-.7.7h-1.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8h1.5c.4 0 .8.4.8.8v1.5zm0-5.2c0 .4-.3.7-.7.7h-1.5c-.4 0-.7-.3-.7-.7V9.4c0-.4.3-.7.7-.7h1.5c.4 0 .8.3.8.7v1.5z" + } + }, + new_custom25: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23 3.6c-.3-1.4-1.4-2.5-2.8-2.7-1-.1-2 .2-2.7.8-.2.1-.1.4.1.6 1.7.9 3.2 2.2 4.3 3.7.1.3.4.3.6 0 .5-.6.7-1.5.5-2.4zM6.3 2.3c.3-.1.3-.5.1-.6-.7-.6-1.6-.9-2.6-.8-1.4.2-2.6 1.3-2.8 2.7-.2.9 0 1.8.4 2.4.2.2.5.2.7 0 1.1-1.5 2.5-2.8 4.2-3.7zm5.7.8c-5.5 0-10 4.5-10 10 0 2.2.8 4.3 2 5.9l-1.6 1.5c-.6.6-.6 1.6 0 2.2.3.2.7.4 1.1.4s.7-.1 1-.4L6 21.1c1.7 1.2 3.8 2 6 2s4.3-.8 5.9-2l1.5 1.6c.4.2.7.4 1.1.4s.7-.1 1-.4c.6-.6.6-1.6 0-2.2L20 19c1.2-1.6 1.9-3.7 1.9-5.9.1-5.5-4.4-10-9.9-10zm-7 10c0-3.9 3.1-7 7-7s7 3.1 7 7-3.1 7-7 7-7-3.1-7-7zm8.1-.5V9.8c0-.7-.5-1.1-1.1-1.1s-1.1.4-1.1 1.1v3.3c0 .3.1.6.3.8l2.6 2.6c.2.2.5.3.8.3s.5-.1.8-.3c.4-.5.4-1.2 0-1.6l-2.3-2.3z" + } + }, + new_custom26: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.1.9C1.9.9.9 1.9.9 3.1c0 .7.3 1.3.8 1.7v16.8c0 .8.6 1.5 1.4 1.5.9 0 1.5-.7 1.5-1.5V4.8c.5-.4.8-1 .8-1.7C5.4 1.9 4.3.9 3.1.9zm19.4 4c-5.8 3-9.7-2.2-15.2-.2-.3.1-.5.4-.5.7v9.5c0 .5.5.8 1 .7 5.3-1.6 9.2 3.4 14.9.2.2-.1.4-.3.4-.6V5.3c0-.4-.3-.5-.6-.4z" + } + }, + new_custom27: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3 16.4h18c.4 0 .7-.3.7-.7V4.8c0-1.1-.9-2-2.1-2H4.4c-1.2 0-2.1.9-2.1 2v10.9c0 .5.3.7.7.7zM4.4 5.5c0-.4.3-.7.7-.7h13.8c.4 0 .7.3.7.7v8.2c0 .4-.3.7-.7.7H5.1c-.4 0-.7-.3-.7-.7V5.5zm18 13h-7.6c-.4 0-.7.3-.7.7s-.3.7-.7.7h-2.8c-.4 0-.7-.3-.7-.7s-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7 0 1.1.9 2 2.1 2h18c1.2 0 2.1-.9 2.1-2 0-.4-.3-.7-.7-.7z" + } + }, + new_custom28: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.2.9H6.8c-1.2 0-2.2 1-2.2 2.2v17.8c0 1.2 1 2.2 2.2 2.2h10.4c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zM12 22.3c-.6 0-1.1-.4-1.1-1.1s.5-1.1 1.1-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1zm5.2-3.7c0 .5-.4.8-.8.8H7.6c-.4 0-.8-.3-.8-.8v-14c0-.4.4-.7.8-.7h8.8c.4 0 .8.3.8.7v14z" + } + }, + new_custom29: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.9 3.9h-.7c-.4 0-.8.3-.8.8v14.7s0 .1.1.1l.9 1.3c.1.1.2.1.3 0l.9-1.3c.1 0 .1 0 .1-.1V4.7c0-.5-.3-.8-.8-.8zM15 .9H4.5c-1.2 0-2.2 1-2.2 2.2v17.8c0 1.2 1 2.2 2.2 2.2H15c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zM9.8 22.3c-.7 0-1.1-.4-1.1-1.1s.4-1.1 1.1-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1zm5.2-3.7c0 .5-.3.8-.7.8h-9c-.4 0-.7-.3-.7-.8v-14c0-.4.3-.7.7-.7h9c.4 0 .7.3.7.7v14z" + } + }, + new_custom3: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 7.6c-2.4 0-4.4 2-4.4 4.4s2 4.4 4.4 4.4 4.4-2 4.4-4.4-2-4.4-4.4-4.4zM23.1 12c0-1.3-3.1-1.9-3.6-3.1-.5-1.2 1.2-3.8.3-4.7s-3.5.8-4.7.3C13.9 4 13.3.9 12 .9S10.1 4 8.9 4.5c-1.2.5-3.8-1.2-4.7-.3s.8 3.5.3 4.7C4 10.1.9 10.7.9 12s3.1 1.9 3.6 3.1c.5 1.2-1.2 3.8-.3 4.7.8.9 3.5-.8 4.7-.3 1.1.5 1.8 3.6 3.1 3.6s1.9-3.1 3-3.6c1.2-.4 3.9 1.2 4.8.3.8-.8-.9-3.5-.4-4.7.6-1.2 3.7-1.8 3.7-3.1zM12 18.6c-3.6 0-6.6-3-6.6-6.6s3-6.6 6.6-6.6 6.6 3 6.6 6.6-3 6.6-6.6 6.6z" + } + }, + new_custom30: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.9 4.1C17.9 2 15.2.9 12.4.9c-.7 0-1.1.5-1.1 1.1s.4 1.1 1.1 1.1c2.2 0 4.4.9 6 2.5 1.6 1.6 2.5 3.8 2.5 6.1 0 .6.5 1.1 1.1 1.1s1.1-.5 1.1-1.1c0-2.9-1.1-5.6-3.2-7.6zm-7.5 1.3c-.7 0-1.1.4-1.1 1.1s.4 1.1 1.1 1.1c1 0 2.1.4 2.9 1.2.8.8 1.2 1.7 1.2 2.9 0 .6.4 1.1 1.1 1.1s1.1-.5 1.1-1.1c0-1.7-.7-3.3-1.9-4.5C15.6 6 14 5.4 12.4 5.4zM10.8 16l.9-2.6c.7.3 1.4.1 2-.4.7-.8.7-1.9 0-2.7-.8-.7-1.9-.7-2.7 0-.5.6-.6 1.4-.3 2.1l-2.4 1.1-4.4-4.4c-.3-.2-.8-.2-1 .1-2.8 3.3-2.6 8.3.5 11.4 3.1 3.1 8.1 3.3 11.4.5.3-.2.3-.7.1-1L10.8 16z" + } + }, + new_custom31: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.4 9.6L19.6 4c-.3-1-1.3-1.7-2.4-1.7H6.8C5.7 2.3 4.7 3 4.3 4L2.6 9.6c-1 .2-1.7 1-1.7 2v4.3c0 .9.7 1.7 1.5 2.1v3c0 .4.3.7.7.7h3c.4 0 .7-.3.7-.7v-2.9h10.4V21c0 .4.3.7.7.7h3c.4 0 .7-.3.7-.7v-3c.8-.3 1.5-1.1 1.5-2v-4.3c0-1.1-.7-1.9-1.7-2.1zm-16.8 6c-1 0-1.8-.8-1.8-1.8S3.6 12 4.6 12s1.9.8 1.9 1.8-.9 1.8-1.9 1.8zm8.1-6.1H5.4c-.2 0-.4-.2-.3-.5l1.4-4.2c0-.2.1-.3.3-.3h10.3c.2 0 .3.1.3.3l1.4 4.3c.1.2-.1.5-.3.5h-5.8zm6.3 6.1c-1 0-1.8-.8-1.8-1.8S18 12 19 12s1.9.8 1.9 1.8-.9 1.8-1.9 1.8z" + } + }, + new_custom32: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.5 6.6l-8.6 4.9c-.2.1-.4.1-.6.1-.4 0-.8-.2-1-.6-.3-.5 0-1.2.5-1.5l2.9-1.6V5.1c0-.3-.3-.5-.6-.3l-10.5 6c-.2 0-.4.1-.5.1-.4 0-.8-.2-1-.6-.3-.5-.1-1.2.4-1.5l1.8-1V1.7c.1-.5-.3-.8-.7-.8H1.7c-.5 0-.8.3-.8.8v19.2c0 1.2 1 2.2 2.2 2.2h6.3c.4 0 .8-.3.8-.8v-2.5c0-.5.3-.8.7-.8h2.2c.4 0 .7.3.7.8v2.5c0 .5.4.8.8.8h6.3c1.2 0 2.2-1 2.2-2.2v-14c0-.3-.3-.5-.6-.3zm-16 10.2c0 .4-.4.7-.8.7H5c-.4 0-.8-.3-.8-.7v-2.2c0-.4.4-.8.8-.8h.7c.4 0 .8.4.8.8v2.2zm4.4 0c0 .4-.3.7-.7.7h-.8c-.4 0-.7-.3-.7-.7v-2.2c0-.4.3-.8.7-.8h.8c.4 0 .7.4.7.8v2.2zm4.4 0c0 .4-.3.7-.7.7h-.8c-.4 0-.7-.3-.7-.7v-2.2c0-.4.3-.8.7-.8h.8c.4 0 .7.4.7.8v2.2zm4.5 0c0 .4-.4.7-.8.7h-.7c-.4 0-.8-.3-.8-.7v-2.2c0-.4.4-.8.8-.8h.7c.4 0 .8.4.8.8v2.2z" + } + }, + new_custom33: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.2 8.9h-10c-.4 0-.7.3-.7.7v2.7c0 .4.3.7.7.7h10c.4 0 .7-.3.7-.7V9.6c0-.4-.3-.7-.7-.7zM12.4 12c-.6 0-1-.5-1-1 0-.6.4-1 1-1s1 .4 1 1c0 .5-.5 1-1 1zm10-7.8H1.6c-.4 0-.7.3-.7.6v.7c0 .8.6 1.4 1.4 1.4v12.3c0 .3.3.6.7.6h.7c.4 0 .7-.3.7-.6V6.9H20v12.3c0 .3.3.6.7.6h.7c.3 0 .7-.3.7-.6V6.9h-.4c.7 0 1.4-.6 1.4-1.4v-.7c0-.3-.3-.6-.7-.6z" + } + }, + new_custom34: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9 4.6h6c.4 0 .7-.4.6-.8C15.2 2.2 13.8.9 12 .9S8.8 2.2 8.4 3.8c-.1.4.2.8.6.8zm13 9.6c.6 0 1.1-.5 1.1-1.2-.1-.5-.6-1-1.2-1h-3.3v-1.8c2.2-.9 3.7-3.2 3.7-5.9 0-.6-.3-1-.9-1.2-.7-.1-1.3.5-1.3 1.1 0 1.6-.7 3-1.8 3.6-.4-.6-1.1-1-1.9-1H7.6c-.8 0-1.5.4-1.9 1-1.1-.6-1.8-1.9-1.8-3.5 0-.6-.5-1.2-1-1.2-.7-.1-1.2.5-1.2 1.1 0 2.7 1.5 5.1 3.7 5.9V12H2.1c-.6 0-1.1.4-1.2 1 0 .6.5 1.2 1.1 1.2h3.4V16c-2.2.8-3.7 3.2-3.7 5.9 0 .5.3 1 .9 1.1.7.1 1.3-.4 1.3-1.1 0-1.5.7-2.9 1.7-3.6.7 2.1 2.3 3.7 4.3 4.4.5.1 1-.3 1-.7v-8.8c0-.6.5-1.2 1-1.2.7 0 1.2.5 1.2 1.1V22c0 .5.5.8 1 .7 2-.6 3.6-2.3 4.3-4.3 1 .6 1.7 2 1.7 3.5 0 .6.5 1.1 1 1.2.7 0 1.2-.5 1.2-1.1 0-2.8-1.5-5.1-3.7-5.9v-1.9H22z" + } + }, + new_custom35: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 8.3c-.7 0-1.2.5-1.2 1.1v1.9c0 3.2-2.7 5.9-6 5.9s-6.1-2.7-6.1-5.9V9.4c0-.6-.5-1.1-1.1-1.1s-1.1.5-1.1 1.1v1.9c0 4.1 3.1 7.4 7.1 8v1.6H9c-.7 0-1.2.4-1.2 1.1s.5 1.1 1.2 1.1h6c.6 0 1.2-.5 1.2-1.1s-.6-1.1-1.2-1.1h-1.9v-1.6c4.1-.6 7.2-3.9 7.2-8V9.4c0-.6-.5-1.1-1.1-1.1zM12 15c2.1 0 3.8-1.7 3.8-3.7V4.6c0-2.1-1.7-3.7-3.8-3.7-2.1 0-3.8 1.6-3.8 3.7v6.7c0 2 1.7 3.7 3.8 3.7z" + } + }, + new_custom36: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.9 20.1H6.5c-.3 0-.5.2-.6.4l-.5.9c-.3.5-.2 1.2.2 1.5.2.1.4.2.6.2.4 0 .8-.2 1-.6l1-1.8c.2-.3 0-.6-.3-.6zm10.3.4c-.2-.2-.4-.4-.6-.4h-1.5c-.3 0-.5.3-.3.6l1 1.8c.3.4.6.6 1 .6.2 0 .4-.1.6-.2.4-.3.6-1 .2-1.5l-.4-.9zM18.1.9H5.9c-1.2 0-2.2 1-2.2 2.2v12.6c0 1.2 1 2.2 2.2 2.2h12.2c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zM6.9 16.4c-.6 0-1-.4-1-1.1s.4-1.1 1-1.1 1.1.5 1.1 1.1-.4 1.1-1.1 1.1zm10.2 0c-.6 0-1.1-.4-1.1-1.1s.5-1.1 1.1-1.1 1 .5 1 1.1-.4 1.1-1 1.1zm1-4.4c0 .4-.3.7-.7.7H6.6c-.4 0-.7-.3-.7-.7V4.6c0-.4.3-.7.7-.7h10.8c.5 0 .8.3.8.7V12z" + } + }, + new_custom37: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 14.1h-4.5V10c.9.8 2.1 1.3 3.5 1.3.6 0 1-.5 1-1s-.5-1-1-1c-1.9 0-3.5-1.7-3.5-3.8V4.4c.4 0 .7-.3.7-.7V3c0-.4-.3-.7-.7-.7h-2.1c-.3 0-.7.3-.7.7v.7c0 .4.4.7.7.7v1c0 2.1-1.7 3.8-3.8 3.8S8.3 7.5 8.3 5.4v-1c.3 0 .7-.3.7-.7V3c0-.4-.4-.7-.7-.7H6.2c-.4 0-.7.3-.7.7v.7c0 .4.3.7.7.7v1c0 2.1-1.6 3.8-3.5 3.8-.6 0-1 .4-1 1s.5 1 1 1c1.3 0 2.6-.5 3.5-1.3V14H1.6c-.4.1-.7.4-.7.8v1.6c0 .4.3.8.7.8H3V21c0 .3.3.7.7.7h2.1c.3 0 .7-.4.7-.7v-1.4c0-1.2.9-2.1 2-2.1h7c1.1 0 2 .9 2 2.1V21c0 .3.4.7.7.7h2.1c.4 0 .7-.4.7-.7v-3.8h1.4c.4 0 .7-.4.7-.8v-1.6c0-.4-.3-.7-.7-.7zM8.2 9.9c1 .9 2.4 1.4 3.8 1.4s2.8-.5 3.8-1.4v4.2H8.2V9.9z" + } + }, + new_custom38: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 10.2c-1.6 0-3 1.3-3 2.9s1.4 3 3 3 3-1.4 3-3-1.4-2.9-3-2.9zm8.9-3.7h-3c-.3 0-.6-.2-.7-.5l-1-2c-.3-.8-1.1-1.2-1.9-1.2H9.7c-.8 0-1.6.4-1.9 1.2l-1 2c-.1.3-.4.5-.7.5h-3C1.9 6.5.9 7.5.9 8.7V19c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V8.7c0-1.2-1-2.2-2.2-2.2zM12 18.4c-2.9 0-5.2-2.3-5.2-5.2S9.1 8 12 8s5.2 2.3 5.2 5.2-2.3 5.2-5.2 5.2z" + } + }, + new_custom39: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17 4.1c-.1-.3-.4-.5-.7-.4L1.4 8.5c-.3.1-.5.5-.4.9l.6 2.3c.1.3.4.6.8.5l3.8-.5c.1.4.3.9.5 1.2l-3.2 8.7c-.2.6.1 1.2.7 1.4 0 0 .2.1.3.1.5 0 .9-.3 1-.8l3.1-8.2c.3.1.4.1.7.1s.5-.1.8-.1l3 8.2c.1.5.6.8 1 .8.1 0 .3-.1.4-.1.6-.2.9-.8.6-1.4l-3.2-8.8c.4-.6.7-1.3.7-2l5.2-.8c.3 0 .5-.4.4-.7L17 4.1zm6 5.2l-2-7.5c-.1-.6-.8-1-1.4-.9-.6.2-1 .8-.8 1.4l2 7.5c.2.6.8 1 1.4.9.6-.2 1-.8.8-1.4z" + } + }, + new_custom4: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3 5.6l7.8-4.4c.7-.4 1.7-.4 2.4 0L21 5.6c.7.4 1.2 1.2 1.2 2v8.8c0 .8-.5 1.6-1.2 2l-7.8 4.4c-.7.4-1.6.4-2.4 0L3 18.4c-.6-.4-1.2-1.2-1.2-2V7.6c0-.8.6-1.6 1.2-2z" + } + }, + new_custom40: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.9 3.7H3.1C1.9 3.7.9 4.7.9 5.9v12.2c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V5.9c0-1.2-1-2.2-2.2-2.2zm0 2.2V8H3.1V5.9h17.8zM3.1 18.1v-6.5h17.8v6.5H3.1zm6.4-4.7c-.5 0-1 .3-1.2.7-.1.1-.2.1-.2 0-.3-.4-.7-.7-1.2-.7-.9 0-1.5.7-1.5 1.5 0 .7.6 1.4 1.5 1.4.5 0 .9-.2 1.2-.7h.2c.2.5.7.7 1.2.7.8 0 1.4-.6 1.4-1.4v-.1c0-.7-.7-1.4-1.4-1.4zm8.4.4h-4.4c-.4 0-.8.3-.8.7v.7c0 .4.4.8.8.8h4.4c.4 0 .7-.4.7-.8v-.7c0-.4-.3-.7-.7-.7z" + } + }, + new_custom41: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21 5.1H3c-1.2 0-2.1.9-2.1 2v9.8c0 1.1.9 2 2.1 2h18c1.2 0 2.1-.9 2.1-2V7.1c0-1.1-.9-2-2.1-2zM5.4 16.9c0-1.3-1-2.4-2.4-2.4v-5c1.4 0 2.4-1.1 2.4-2.4h13.2c0 1.3 1.1 2.4 2.4 2.4v5c-1.3 0-2.4 1.1-2.4 2.4H5.4z" + }, + "ellipse": { + "cx": "12", + "cy": "11.815", + "rx": "3.462", + "ry": "3.369" + } + }, + new_custom42: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.9 1.8H3.1C1.9 1.8.9 2.8.9 4v2.2c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7V4c0-1.2-1-2.2-2.2-2.2zm0 7.3H3.1c-.4 0-.7.3-.7.7V20c0 1.2 1 2.2 2.2 2.2h14.8c1.2 0 2.2-1 2.2-2.2V9.8c0-.4-.3-.7-.7-.7zm-4.8 3.3c0 .6-.5 1.1-1.1 1.1H9c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h6c.6 0 1.1.4 1.1 1.1z" + } + }, + new_custom43: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23 9.8v-.7V9c0-.1 0 0-.1 0v-.1c0-.1-.1 0-.1 0l-4-5.7c-.2-.2-.4-.4-.8-.4H6c-.4 0-.7.2-.9.4l-4 5.6c0 .1-.1.1-.1.1V9c0 .1 0 0-.1 0V9.8c.1 0 .1.1.1.1v.1h.1l10.1 10.9v.1h.1s.1 0 .1.1v.1h.1v.1h.8v-.1h.1v-.1h.1V21h.1v-.1h.1L22.8 10v-.1h.1l.1-.1zM12 8.4h-1.6L12 5.7l1.6 2.7H12zm0 2h2l-2 6.5-2-6.5h2zm1.8-5.6h2.5l-.9 2.6-1.6-2.6zM8.7 7.4l-.9-2.6h2.5L8.7 7.4zm-.8 3l1.8 6-5.5-6h3.7zm8.2 0h3.7l-5.5 6 1.8-6zm4-2h-3l1-2.8 2 2.8zM5.9 5.6l1 2.8h-3l2-2.8z" + } + }, + new_custom44: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.8 4.2C16.9 1.8 15.3.9 12 .9c-1.5 0-3.3.6-4 .8 0-.5-.3-.8-.8-.8H5.8c-.4 0-.8.3-.8.8v2.9c0 .4.4.8.8.8h1.4c.4 0 .7-.4.7-.8h.9c.6 0 1 .5 1 1.1 0 .7.5 1.1 1.1 1.1v5.9c-.7 0-1.4.7-1.4 1.5v6.7c0 1.2 1 2.2 2.2 2.2h.7c1.2 0 2.2-1 2.2-2.2v-6.7c0-.8-.7-1.5-1.4-1.5V6.8c.6 0 1.1-.8 1.1-1.4 0-.6.4-1.1.9-1.1 1.5-.1 2.3.5 2.7.9.2.2.6.2.7 0 .4-.2.5-.7.2-1z" + } + }, + new_custom45: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.1 9.6h11.8v4.8H6.1zm17-.6V7.2c0-1.2-.9-2.1-2.1-2.1H3C1.8 5.1.9 6 .9 7.2V9c0 .2.2.5.4.6.8.5 1.4 1.4 1.4 2.4s-.6 1.9-1.4 2.4c-.2.1-.4.3-.4.6v1.8c0 1.2.9 2.1 2.1 2.1h18c1.2 0 2.1-.9 2.1-2.1V15c0-.2-.2-.5-.4-.6-.8-.5-1.4-1.4-1.4-2.4s.6-1.9 1.4-2.4c.2-.1.4-.3.4-.6zm-3.8 7.5H4.7c-.4 0-.7-.3-.7-.7V8.2c0-.4.3-.7.7-.7h14.5c.4 0 .7.3.7.7v7.6c0 .4-.2.7-.6.7z" + } + }, + new_custom46: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.1 7.2H7.9c-.4 0-.7.3-.7.7v8.2c0 .4.3.7.7.7h8.2c.4 0 .7-.3.7-.7V7.9c0-.4-.3-.7-.7-.7zm6.4-3.6c.3-.1.6-.4.6-.7V1.7c0-.5-.3-.8-.8-.8h-1.2c-.3 0-.6.3-.7.6-.2.7-.9 1.3-1.7 1.3s-1.5-.6-1.8-1.3c-.1-.3-.4-.6-.7-.6h-1.8c-.3 0-.6.3-.6.6-.2.7-1 1.3-1.8 1.3s-1.5-.6-1.8-1.3c-.1-.3-.3-.6-.7-.6H7.8c-.3 0-.6.3-.6.6-.3.7-1 1.3-1.8 1.3-.9 0-1.6-.6-1.8-1.3-.1-.3-.4-.6-.7-.6H1.7c-.5 0-.8.3-.8.8v1.2c0 .3.3.6.6.7.7.2 1.3.9 1.3 1.8s-.6 1.5-1.3 1.7c-.3.1-.6.4-.6.7v1.8c0 .3.3.6.6.6.7.2 1.3 1 1.3 1.8s-.6 1.5-1.3 1.8c-.3.1-.6.3-.6.7v1.7c0 .3.3.6.6.6.7.3 1.3 1 1.3 1.8 0 .9-.6 1.6-1.3 1.8-.3.1-.6.4-.6.7v1.2c0 .5.3.8.8.8h1.2c.3 0 .6-.3.7-.6.2-.7.9-1.3 1.7-1.3.8 0 1.5.6 1.8 1.3.1.3.3.6.7.6h1.7c.3 0 .6-.3.7-.6.2-.7.9-1.3 1.7-1.3s1.5.6 1.8 1.3c.1.3.3.6.7.6h1.8c.3 0 .6-.3.6-.6.3-.7 1-1.3 1.8-1.3s1.5.6 1.8 1.3c0 .3.3.6.6.6h1.2c.5 0 .8-.3.8-.8v-1.2c0-.3-.2-.6-.6-.7-.7-.2-1.3-.9-1.3-1.7s.6-1.5 1.3-1.8c.4-.1.6-.3.6-.7v-1.7c0-.3-.2-.6-.6-.7-.7-.2-1.3-.9-1.3-1.7 0-.8.6-1.5 1.3-1.8.4-.1.6-.3.6-.7V7.8c0-.3-.2-.6-.6-.6-.7-.3-1.3-1-1.3-1.8s.7-1.6 1.4-1.8zM19 16.8c0 1.2-1 2.2-2.2 2.2H7.2C6 19 5 18 5 16.8V7.2C5 6 6 5 7.2 5h9.6C18 5 19 6 19 7.2v9.6z" + } + }, + new_custom47: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.9 20.1H4.1c-1.2 0-2.3 1-2.3 2.2v.1c0 .4.4.7.7.7h15.9c.4 0 .7-.3.7-.7v-.1c.1-1.2-1-2.2-2.2-2.2zm5-11.7l-6-5.4 1-1.4c.1-.3 0-.5-.2-.6-1.9-.4-3 .9-3 .9C2.1 1.9 4 14.4 4.6 17.3c.1.3.3.6.7.6h10.2c.3 0 .5-.4.3-.6-2-2.5-3.1-5.3-3.8-7-.1-.3.2-.7.5-.5 2.7 1.4 3.9-.1 5.7 1 1 .6 2.1.5 2.8-.3l1-1c.2-.3.2-.7-.1-1.1zm-7.6-1.2c-.7 0-1.1-.5-1.1-1.1S13.7 5 14.3 5s1.1.4 1.1 1.1-.5 1.1-1.1 1.1z" + } + }, + new_custom48: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.3 2.4h-3.7v-.7c0-.5-.3-.8-.7-.8H6.1c-.4 0-.7.3-.7.8v.7H1.7c-.5 0-.8.3-.8.7v4.8c0 1.9 1.5 3.4 3.3 3.4H6c1 2.3 3.2 4 6 4 2.8.1 5.1-1.6 6.1-4h1.7c1.8 0 3.3-1.5 3.3-3.4V3.1c0-.4-.3-.7-.8-.7zM4.2 9c-.6 0-1.1-.4-1.1-1.1V4.6h2.3V9H4.2zm16.7-1.1c0 .7-.5 1.1-1.1 1.1h-1.2V4.6h2.3v3.3zm-5.2 13h-.4c-1.2 0-2.2-1.1-2.2-2.3v-.7c0-.2-.1-.4-.4-.4h-1.4c-.3 0-.4.2-.4.4v.7c0 1.2-1 2.3-2.2 2.3h-.4c-.4 0-.7.3-.7.7v.7c0 .5.3.8.7.8h7.4c.4 0 .7-.3.7-.8v-.7c0-.4-.3-.7-.7-.7z" + } + }, + new_custom49: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 8.7c-1.8 0-3.3 1.5-3.3 3.3s1.5 3.3 3.3 3.3 3.3-1.5 3.3-3.3-1.5-3.3-3.3-3.3zm0 5.1c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8 1.8.8 1.8 1.8-.8 1.8-1.8 1.8zM12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.5c0 .5-.4.8-.8.8-4.5-.4-8-3.9-8.4-8.4 0-.4.3-.8.8-.8h.7c.4 0 .7.3.7.6.4 3.4 3 6 6.4 6.4.3 0 .6.3.6.7v.7zm0-2.9c-3 0-5.5-2.5-5.5-5.5S9 6.5 12 6.5 17.5 9 17.5 12 15 17.5 12 17.5zm8.4-5.5h-.7c-.4 0-.7-.3-.7-.6-.4-3.4-3-6-6.4-6.4-.3 0-.6-.3-.6-.7v-.7c0-.5.4-.8.8-.8 4.5.4 8.1 4 8.4 8.4 0 .4-.3.8-.8.8z" + } + }, + new_custom5: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.7 2.7c-3.8-1.5-8.2-1.8-12.1-.5-3.4 1.1-6.9 3.6-7.4 7.4-.1.8-.1 1.7.1 2.4l.3 1.2.3.6c-.1.2-.3.5-.4.6-1.1 1.7-1.8 3.6-2.3 5.5-.2.8-.6 2 .2 2.5.4.3.9.3 1.2.1.4-.3.5-.7.6-1.2.3-1.9 1-3.9 2.1-5.5.5-.8 1-1.6 1.7-2.4.5-.6 1.4-1.7 2.3-1.4.9.4.9 1.4.3 2s-1.2 1.1-1.2 2c0 .7.3 1.4.8 1.8.8.6 2.2.7 3.1.6 2-.1 3.6-.7 5.1-1.8 2.1-1.5 2.9-4 3.3-6.3.3-1.5.5-2.9 1-4.3.2-.6.5-1.2.8-1.7.2-.2.5-.5.5-.8.2-.4-.1-.7-.3-.8z" + } + }, + new_custom50: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.9 14.4c-.8.5-1.8.7-2.8.7-1.2 0-2.3-.3-3.3-.9-.1-.1-.3-.1-.4 0-1 .6-2.1.9-3.3.9s-2.4-.3-3.3-.9c-.1-.1-.3-.1-.4 0-1 .6-2.1.9-3.3.9-1 0-2-.2-2.8-.7-.3-.1-.6.1-.6.4v4.5c0 .9.5 1.7 1.3 2.1 1.9.8 3.9 1.4 6 1.7.5.1.8-.3.8-.8v-2.8c0-1.2 1-2.2 2.2-2.2 1.2 0 2.2 1 2.2 2.2v2.8c0 .5.4.8.8.8 2.1-.3 4.1-.9 6-1.7.8-.4 1.3-1.2 1.3-2.1v-4.5c.1-.3-.1-.5-.4-.4zM5 12.8c1.4 0 2.5-.5 3.3-1.4.1-.2.4-.2.5 0 .8.8 2 1.4 3.2 1.4 1.4 0 2.5-.5 3.3-1.4.1-.2.4-.2.5 0 .8.8 2 1.4 3.3 1.4 2 0 3.8-1.4 4-3.2 0-.3-.1-.6-.3-.7l-9.4-7.5c-.8-.7-2-.7-2.7 0L1.2 8.9c-.2.1-.3.4-.3.7.3 1.8 2.1 3.2 4.1 3.2z" + } + }, + new_custom51: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.5 3c1 .6 1.8 2.1 2.2 3.3.1.3.3.4.6.4.2.1.4.1.7.1.4 0 .7 0 1.1-.1.9-.3 1.7-.7 2.4-1.4 1.1-1.2 1.5-2.8 1.1-4.1-1.3-.5-2.9-.1-4 1.1-.4.3-.6.7-.8 1.1-.6-1-1.3-1.8-2.1-2.3-.6-.3-1.3-.1-1.6.4-.3.5 0 1.2.4 1.5zm11.2 5.4c-3.7-2.1-4.5.7-7.7.7s-4-2.8-7.7-.7c-3.6 2.1-2.5 8.9-1.1 11.4 1.3 2.3 3.6 4.6 8.5 2.4.2-.1.4-.1.6 0 4.8 2.2 7.2-.1 8.5-2.4 1.4-2.5 2.5-9.3-1.1-11.4z" + } + }, + new_custom52: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23 6.5c.1-1.2 0-2.3-.2-3.5-.1-1-.8-1.7-1.8-1.8-1.2-.2-2.3-.3-3.5-.2-.3 0-.5.4-.3.6l5.2 5.2c.3.2.6 0 .6-.3zm-8.7-4.7c-.2-.2-.5-.3-.7-.2C10.8 2.4 8.2 3.8 6 6c-2.1 2.2-3.6 4.8-4.4 7.4-.1.3 0 .6.2.8l8 8c.2.2.5.3.8.2 2.6-.8 5.2-2.3 7.4-4.4 2.1-2.2 3.6-4.8 4.4-7.6.1-.3 0-.5-.2-.7l-7.9-7.9zm-3.1 14.4c-.4.5-1.1.5-1.6 0l-2-2c-.5-.5-.5-1.2 0-1.6.4-.5 1.1-.5 1.5 0l2.1 2.1c.5.4.5 1.1 0 1.5zm2.6-2.5c-.5.4-1.2.4-1.6 0l-2-2.1c-.5-.5-.5-1.2 0-1.6.4-.4 1.1-.4 1.5 0l2.1 2.1c.5.5.5 1.1 0 1.6zm2.6-2.6c-.5.4-1.2.4-1.6 0L12.7 9c-.4-.5-.4-1.2 0-1.6.5-.4 1.2-.4 1.6 0l2.1 2.1c.4.5.4 1.2 0 1.6zM1 17.3c-.1 1.2-.1 2.5.2 3.7.1 1 .8 1.8 1.8 1.9 1.2.2 2.5.3 3.8.2.3-.1.4-.4.3-.7L1.6 17c-.2-.2-.6-.1-.6.3z" + } + }, + new_custom53: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21 14.6h-.3c-.8 0-1.5-.7-1.5-1.5V8.2c0-4.3-3.7-7.7-8-7.2-3.7.4-6.4 3.7-6.4 7.5v4.4c0 .9-.8 1.7-1.7 1.7H3c-.6 0-1.2.5-1.2 1.2v.9c0 .6.6 1.2 1.2 1.2h18c.6 0 1.2-.6 1.2-1.2v-.9c0-.7-.6-1.2-1.2-1.2zm-6.6 5.5H9.6c-.3 0-.6.3-.5.5.3 1.4 1.5 2.5 2.9 2.5s2.7-1 3-2.5c0-.2-.3-.5-.6-.5z" + } + }, + new_custom54: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.6 12.4C6 12 8.1 11 10.4 10c.7-.4 2.1-1 2.8-1.3.2-.1.3-.3.2-.6-.2-1-1-1.9-2.1-1.9h-.8V4.8c0-.4-.3-.7-.7-.7V2.6c0-.4-.3-.8-.8-.8H7.6c-.4 0-.8.4-.8.8v1.5c-.3 0-.7.3-.7.7v1.4h-.7c-1.2 0-2.3 1.1-2.3 2.3V12c0 .3.3.5.5.4zm16.5 7.3s2.7-4.1 3-10c0-.4-.3-.7-.8-.7-8.8.3-12.9 5.6-20.7 5.9-.4 0-.7.4-.7.7v2.8c0 1.2.9 2.1 2.1 2.2 3.9.3 12.2.8 16.9 1.6.5.1 1-.4.9-.8-.1-.6-.3-1.3-.7-1.7zm-.3-6.6c-.7 0-1.2-.5-1.2-1.1s.5-1.1 1.2-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1z" + } + }, + new_custom55: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.8 15.4h4.5c.4 0 .7-.4.7-.7V4.6c0-.8-.7-1.4-1.4-1.4H5.9c-.5 0-.8.4-.8.8v10.7c0 .3.3.7.7.7zM21 5.3v10.8c0 .7-.6 1.3-1.4 1.3H4.4c-.8 0-1.4-.6-1.4-1.3V5.3c-1.2 0-2.1.9-2.1 2v10.1c0 1.1.9 2 2.1 2h6.6c.3 0 .6.4.6.7s.4.7.7.7H13c.4 0 .7-.3.7-.7s.3-.7.7-.7H21c1.1 0 2-.9 2-2V7.3c.1-1.1-.8-2-2-2zm-7.2 10.1h4.3c.5 0 .8-.4.8-.8V3.9c0-.3-.3-.7-.7-.7h-3.8c-.6 0-1.3.6-1.3 1.4v10.1c-.1.3.2.7.7.7z" + } + }, + new_custom56: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.7 4.8c-2.3 2.3-5.1-.6-7.7 2l-7.4 7.4c-.9.8-.9 2.2 0 3.1l2.6 2.5 2.5 2.6c.9.9 2.3.9 3.1 0l7.5-7.4c2.5-2.6-.3-5.4 2-7.7l.6-.6c.2-.1.2-.4 0-.5l-2-2c-.2-.2-.4-.2-.5 0l-.7.6zm-1.8 9.4l-2.6 2.6c-.3.3-.7.3-1 0l-2.1-2.1-2-2.1c-.3-.2-.3-.7 0-1L9.7 9c.3-.2.8-.2 1.1 0l2 2.1 2.1 2.1c.3.3.3.7 0 1zm7.9-11.5l-.7-.8-.8-.8c-.3-.3-.8-.3-1 0l-1 1c-.1.1-.1.3 0 .5l2 2c.2.2.4.2.5 0l1-.9c.4-.2.4-.7 0-1z" + } + }, + new_custom57: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.1 13.4v9.3c0 .3.3.5.6.3 1.8-1 7.3-4.2 7.3-4.2.6-.4 1.1-1.2 1.1-2V8.4c0-.3-.3-.4-.5-.3l-8.1 4.6c-.2.2-.4.4-.4.7zm-.7-2.6l8.1-4.7c.3-.1.3-.5 0-.6-1.8-1-7.3-4.3-7.3-4.3-.7-.4-1.7-.4-2.4 0 0 0-5.5 3.2-7.3 4.3-.3.1-.3.5 0 .6l8.1 4.7c.3.1.5.1.8 0zm-1.9 1.9L2.4 8.1c-.2-.2-.6 0-.6.3v8.4c0 .8.5 1.6 1.2 2 0 0 5.5 3.2 7.3 4.2.3.2.5 0 .5-.3v-9.3c.1-.3-.1-.5-.3-.7z" + } + }, + new_custom58: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.2 10.5c-.6 0-1.1-.5-1.1-1.2.1-.6.6-1 1.2-1h3.2c.1 0 .3-.1.3-.2.3-.5.5-1 .7-1.5.1-.3-.1-.5-.3-.5h-2.4c-.6 0-1.1-.5-1.2-1 0-.7.5-1.2 1.2-1.2h2.9c.2 0 .4-.2.4-.4V2.4c0-.4-.3-.7-.8-.7h-3.9c-1.1 0-2 .8-2 1.9v.1c0 2.1-1.4 3.9-3.3 4.4v-3c.8-.5 1.3-1.3 1.1-2.3-.1-1-1-1.7-1.9-1.8-1.4-.2-2.5.8-2.5 2.2 0 .8.4 1.5 1.1 1.9v3.1C9 7.7 7.6 5.9 7.6 3.8v-.1c0-1.1-.9-2-2-2H1.7c-.5 0-.8.3-.8.7v1.2c0 .2.2.3.4.3h2.9c.6 0 1.1.5 1.2 1 0 .7-.5 1.2-1.2 1.2H1.8c-.2 0-.4.3-.3.5.2.5.4 1.1.7 1.6.1.1.2.2.3.2h3.2c.6 0 1.2.4 1.2 1 .1.6-.4 1.2-1.1 1.2h-.9c-.3 0-.5.4-.2.6 1.6 1.4 3.6 2.3 6.3 2.3v8.4c0 .6.4 1.1 1 1.2.6 0 1.2-.5 1.2-1.1v-8.5c2.7 0 4.7-1 6.3-2.3.3-.2.1-.6-.3-.6h-1z" + } + }, + new_custom59: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.3 5c.4 0 .6-.3.6-.7 0-.2-.1-.5-.4-.6-.5-.3-1.2-1.5-1.5-2.3-.1-.3-.3-.5-.6-.5H7.5c-.3 0-.6.2-.6.5-.3.7-1 2-1.5 2.3-.2.1-.3.4-.3.6 0 .4.3.7.6.7h12.6zM5.1 20.8c0 1.3.9 2.3 2.1 2.3h9.5c1.2 0 2.2-1 2.2-2.2v-.1c0-.4-.3-.7-.7-.7H5.7c-.3 0-.6.3-.6.7zm13.8-3.6V7.9c0-.4-.3-.7-.7-.7H5.8c-.4 0-.7.3-.7.7v9.3c0 .4.3.7.7.7h12.4c.4 0 .7-.3.7-.7z" + } + }, + new_custom6: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 21.7H2.4c-1.2 0-1.8-1.3-1.2-2.3L10.7 3c.6-.9 1.9-.9 2.5 0l9.6 16.5c.6 1-.1 2.2-1.2 2.2H12z" + } + }, + new_custom60: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 10.2C22.2 5 17.6.9 12 .9S1.8 5 .9 10.2c0 .4.3.6.6.4.6-.4 1.3-.7 2.1-.7 1 0 1.9.4 2.5 1.2.1.2.5.2.6 0 .6-.8 1.5-1.2 2.5-1.2s1.9.4 2.5 1.2c.1.2.4.2.6 0 .6-.8 1.5-1.2 2.5-1.2s1.9.4 2.5 1.2c.1.2.4.2.6 0 .6-.8 1.4-1.2 2.5-1.2.7 0 1.5.3 2 .7.4.2.7 0 .7-.4zm-6.7 8.4c-.6 0-1.1.5-1.1 1.2s-.4 1.1-1.1 1.1-1.1-.5-1.1-1.1v-5.2c0-.7-.5-1.1-1.1-1.1s-1.1.4-1.1 1.1v5.2c0 1.8 1.5 3.3 3.3 3.3s3.3-1.5 3.3-3.3c0-.7-.4-1.2-1.1-1.2z" + } + }, + new_custom61: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.5.9H19c-.4 0-.7.3-.7.8v1.4c0 .5-.3.8-.8.8h-.7c-.4 0-.7-.3-.7-.8V1.7c0-.5-.3-.8-.8-.8h-1.5c-.4 0-.7.3-.7.8v1.4c0 .5-.3.8-.7.8h-.8c-.4 0-.7-.3-.7-.8V1.7c0-.5-.3-.8-.7-.8H8.7c-.4 0-.8.3-.8.8v1.4c0 .5-.3.8-.7.8h-.7c-.5 0-.8-.3-.8-.8V1.7c0-.5-.3-.8-.7-.8H3.5c-.4 0-.7.3-.7.8v3.7c0 1.2 1 2.2 2.2 2.2h14c1.2 0 2.2-1 2.2-2.2V1.7c0-.5-.3-.8-.7-.8zm-1.7 9.5c0-.4-.3-.7-.7-.7H5.9c-.4 0-.7.3-.7.7L3.5 22.2c-.1.5.3.8.7.8H9c.4 0 .8-.3.8-.7v-3.6c0-1.2.9-2.3 2.1-2.3 1.3 0 2.3 1 2.3 2.2v3.7c0 .5.4.8.8.8h4.8c.4 0 .8-.4.7-.9l-1.7-11.8z" + } + }, + new_custom62: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22 19H2c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h20c.6 0 1.1-.4 1.1-1.1S22.6 19 22 19zM2.4 16.8H15v-1.5c0-.4.3-.7.7-.7h3.7c.4 0 .7.3.7.7v1.5h1.5c.4 0 .7-.3.7-.7V3.5c0-.4-.3-.7-.7-.7H2.4c-.4 0-.7.3-.7.7v12.6c0 .4.3.7.7.7zm3.3-9.6c0-.4.3-.7.8-.7h10.7c.4 0 .7.3.7.7v.7c0 .5-.3.8-.7.8H6.5c-.5 0-.8-.3-.8-.8v-.7zm0 4.4c0-.4.3-.7.8-.7h7c.4 0 .7.3.7.7v.8c0 .4-.3.7-.7.7h-7c-.5 0-.8-.3-.8-.7v-.8z" + } + }, + new_custom63: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9 15.7h6c.4 0 .7-.3.7-.7V9c0-.4-.3-.7-.7-.7H9c-.4 0-.7.3-.7.7v6c0 .4.3.7.7.7zm13-2.6c.6 0 1.1-.5 1.1-1.1s-.5-1.1-1.1-1.1h-1.9V8.7H22c.6 0 1.1-.5 1.1-1.1s-.5-1.1-1.1-1.1h-1.9v-.4c0-1.2-1-2.2-2.2-2.2h-.4V2c0-.6-.4-1.1-1.1-1.1s-1.1.5-1.1 1.1v1.9h-2.2V2c0-.6-.5-1.1-1.1-1.1s-1.1.5-1.1 1.1v1.9H8.7V2c0-.6-.5-1.1-1.1-1.1S6.5 1.4 6.5 2v1.9h-.4c-1.2 0-2.2 1-2.2 2.2v.4H2c-.6 0-1.1.4-1.1 1.1S1.4 8.7 2 8.7h1.9v2.2H2c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h1.9v2.2H2c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h1.9v.4c0 1.2 1 2.2 2.2 2.2h.4V22c0 .6.4 1.1 1.1 1.1s1.1-.5 1.1-1.1v-1.9h2.2V22c0 .6.5 1.1 1.1 1.1s1.1-.5 1.1-1.1v-1.9h2.2V22c0 .6.5 1.1 1.1 1.1s1.1-.5 1.1-1.1v-1.9h.4c1.2 0 2.2-1 2.2-2.2v-.4H22c.6 0 1.1-.4 1.1-1.1s-.5-1.1-1.1-1.1h-1.9v-2.2H22zm-4.1 3.7c0 .6-.5 1.1-1.1 1.1H7.2c-.6 0-1.1-.5-1.1-1.1V7.2c0-.6.5-1.1 1.1-1.1h9.6c.6 0 1.1.5 1.1 1.1v9.6z" + } + }, + new_custom64: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.2c-4.5 0-8.1-3.6-8.1-8.1S7.5 3.9 12 3.9s8.1 3.6 8.1 8.1-3.6 8.1-8.1 8.1zm4.3-12.9l-6.1 2.3c-.4.1-.6.3-.7.7l-2.3 6.1c0 .3.2.6.5.5l6.1-2.3c.4-.1.6-.3.7-.7l2.3-6.1c.1-.3-.2-.6-.5-.5zM12 13.5c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5z" + } + }, + new_custom65: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.6 17.9h-18c-.4 0-.7.3-.7.7 0 1.2 1 2.2 2.2 2.2h15c1.2 0 2.2-1 2.2-2.2v-.1c0-.3-.4-.6-.7-.6zm-.8-14.7H1.7c-.4 0-.7.4-.7.8-.1.9-.1 2.7.1 3.8.4 3.4 2.2 6.2 4.7 7.8H14c1.4-.9 2.6-2.3 3.4-3.8.4.1.9.2 1.4.2 2.3 0 4.3-2 4.3-4.4s-1.9-4.4-4.3-4.4zm0 6.6c-.2 0-.3-.1-.5-.1.3-1.2.5-2.4.5-3.7v-.6c1.2 0 2.2.9 2.2 2.2s-1 2.2-2.2 2.2z" + } + }, + new_custom66: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 14l-5.3-5.4c-.9-.8-2.2-.8-3.1 0L8.6 14c-.8.8-.8 2.2 0 3l5.4 5.4c.8.9 2.2.9 3 0l5.4-5.4c.9-.8.9-2.2 0-3zm-10.1 2.4c-.5.5-1.4.5-1.8 0-.5-.5-.5-1.3 0-1.8s1.3-.5 1.8 0 .4 1.3 0 1.8zm4.1 4.2c-.5.5-1.3.5-1.8 0s-.5-1.3 0-1.8 1.4-.5 1.8 0c.5.5.5 1.3 0 1.8zm0-8.3c-.5.5-1.3.5-1.8 0s-.5-1.4 0-1.8c.5-.5 1.4-.5 1.8 0 .5.4.5 1.3 0 1.8zm4.2 4.1c-.5.5-1.4.5-1.8 0-.5-.5-.5-1.3 0-1.8s1.3-.5 1.8 0 .5 1.3 0 1.8zM13.1 5.9V3.1c0-1.2-1-2.2-2.2-2.2H3.1C1.9.9.9 1.9.9 3.1v7.8c0 1.2 1 2.2 2.2 2.2h2.8c.2 0 .5-.1.6-.3.1-.1.3-.2.4-.4l5.5-5.5c.1-.1.2-.3.4-.4.2-.1.3-.4.3-.6zm-9 5.4c-.7 0-1.3-.6-1.3-1.3s.6-1.3 1.3-1.3 1.3.6 1.3 1.3-.6 1.3-1.3 1.3zm2.9-3c-.7 0-1.3-.6-1.3-1.3S6.3 5.7 7 5.7s1.3.6 1.3 1.3S7.7 8.3 7 8.3zm3-2.9c-.7 0-1.3-.6-1.3-1.3s.6-1.3 1.3-1.3c.7 0 1.3.6 1.3 1.3s-.6 1.3-1.3 1.3z" + } + }, + new_custom67: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.5 13.1l-.5-.8c-.2-.3-.4-.4-.8-.4-.1 0-.2 0-.3.1l-1.3.4c-.5-.4-1.1-.7-1.7-1l-.3-1.3c-.1-.5-.4-.7-.9-.7h-.9c-.5 0-.8.3-.9.8l-.3 1.2c-.6.3-1.1.6-1.7 1.1L2.6 12c-.1 0-.2-.1-.3-.1-.3 0-.6.2-.8.5l-.5.8c-.2.4-.1.8.2 1.2l1.2.8c-.1.4-.1.7-.1 1 0 .3 0 .6.1 1l-1.1.9c-.4.3-.5.8-.2 1.2l.4.8c.2.3.5.4.9.4 0 0 .2 0 .3-.1L4 20c.5.4 1 .8 1.7 1l.2 1.3c.1.5.5.8.9.8h1c.4 0 .8-.3.9-.8l.2-1.3c.7-.3 1.3-.6 1.8-1.1l1.2.5c.1 0 .2.1.3.1.4 0 .7-.2.9-.5l.4-.7c.3-.4.2-.9-.2-1.2l-1.1-.9c.1-.3.1-.6.1-1 0-.3 0-.6-.1-1l1.1-.8c.3-.4.4-.9.2-1.3zm-6.3 5.6c-1.3 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.6 1.1 2.6 2.5-1.2 2.5-2.6 2.5zM22.8 7.9l-.8-.7c0-.3.1-.5.1-.8 0-.3-.1-.5-.1-.8l.8-.7c.3-.2.4-.6.2-.9l-.4-.7c-.1-.2-.4-.3-.6-.3h-.3l-1.1.4c-.4-.4-.8-.6-1.4-.8l-.1-1.1c-.1-.3-.4-.6-.8-.6h-.7c-.4 0-.7.3-.8.6l-.1 1.1c-.5.2-1 .4-1.4.8L14.2 3c-.1-.1-.2-.1-.3-.1-.2 0-.5.1-.6.4l-.4.6c-.2.3-.1.7.2.9l.8.7c0 .3-.1.5-.1.8 0 .3.1.6.1.8l-.8.7c-.3.2-.4.6-.2 1l.4.6c.1.2.4.4.6.4.1 0 .2 0 .3-.1l1.1-.4c.4.4.9.7 1.4.8l.1 1.1c.1.3.4.6.8.6h.7c.4 0 .7-.3.8-.6l.1-1.1c.6-.2 1.1-.5 1.5-.9l1 .4c.1.1.2.1.3.1.2 0 .5-.1.6-.4l.4-.6c.2-.2.1-.5-.2-.8zm-4.8.6c-1.2 0-2.1-.9-2.1-2s.9-2.1 2.1-2.1 2 1 2 2.1-.9 2-2 2z" + } + }, + new_custom68: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm8.8 10h-2.9c-.1-2.6-.7-4.9-1.6-6.7 2.4 1.4 4.1 3.8 4.5 6.7zm-9.9-7.3v7.3H8.4c.1-3.5 1.2-6.2 2.5-7.3zm0 9.5v7.3c-1.3-1.1-2.4-3.8-2.5-7.3h2.5zm2.2 7.3v-7.3h2.5c-.1 3.5-1.2 6.2-2.5 7.3zm0-9.5V3.6c1.3 1.1 2.4 3.8 2.5 7.3h-2.5zM7.7 4.2C6.8 6 6.3 8.3 6.1 10.9H3.2C3.6 8 5.3 5.6 7.7 4.2zm-4.5 8.9h2.9c.1 2.6.7 4.9 1.6 6.7-2.4-1.4-4.1-3.8-4.5-6.7zm13.1 6.7c.9-1.8 1.4-4.1 1.6-6.7h2.9c-.4 2.9-2.1 5.3-4.5 6.7z" + } + }, + new_custom69: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13 10.2c-2.2-1.6-4.3-.8-5.7.5-.5.5-1.3.8-2.2 1-1 .3-2.1.7-2.8 1.5-2.2 2-1.7 4.5 1.1 7.3l.1.1c1.7 1.7 3.2 2.5 4.7 2.5 1 0 1.9-.4 2.8-1.2.8-.8 1.2-1.8 1.5-2.8.3-.9.6-1.7 1.1-2.2.8-.8 1.3-1.8 1.4-2.7.1-.7-.1-1.7-.9-2.8 0 0-.4-.6-1.1-1.2zm-4.6 8.9c-.2.2-.5.3-.7.3-.3 0-.5-.1-.7-.3l-2.1-2c-.4-.4-.4-1 0-1.5.4-.4 1-.4 1.4 0l2.1 2.1c.4.4.4 1 0 1.4zm1.8-3c-1.1 0-1.9-.8-1.9-1.8s.8-1.9 1.9-1.9 1.8.8 1.8 1.9-.8 1.8-1.8 1.8zM22.8 2.9l-1.7-1.7c-.2-.3-.8-.3-1.1 0L18.1 3c-.3.3-.3.9 0 1.2l.1.1-3.8 3.8c-.1.2-.1.4 0 .6.3.3.8.7 1.1 1 .1.1.3.1.5 0l3.8-3.8V6c.3.3.9.3 1.2 0l1.9-1.9c.3-.4.3-.9-.1-1.2z" + } + }, + new_custom7: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.3 23.1C2 23.1.9 22 .9 20.7V3.3C.9 2 2 .9 3.3.9h17.4c1.3 0 2.4 1.1 2.4 2.4v17.4c0 1.3-1.1 2.3-2.4 2.3H3.3z" + } + }, + new_custom70: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.3 17.1L7 12.9c-.9-.9-2.3-.9-3.2 0l-2.6 2.6c-.3.3-.3.8 0 1l.5.6.5.5 4.3 4.2.2.3.9.7c.2.3.8.3 1 0l2.7-2.6c.8-.8.8-2.2 0-3.1zm-7-1.6l.6-.5c.3-.3.7-.3 1 0l3.2 3.1c.3.3.3.8 0 1.1l-.5.5c-.3.2-.8.2-1 0l-3.3-3.2c-.3-.3-.3-.7 0-1zM9 11.7l3.4 3.3c.1.1.2.1.3.1h1.6c.1 0 .3-.1.3-.3v-1.4c0-.2.2-.3.4-.3l1.3-.1c.2 0 .4-.1.4-.3v-1.4c0-.2.1-.3.3-.3l1.4-.1c.2 0 .3-.1.3-.3l.1-1.4c0-.2.1-.3.3-.3h1.4c.2 0 .3-.2.3-.4l.1-1.3c0-.2.1-.3.2-.4l1.6-.2c.2 0 .4-.3.2-.6l-3.1-4.8c-.3-.3-.8-.4-1.2 0l-9.7 9.6c-.2.2-.2.6.1.9z" + } + }, + new_custom71: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.8 5c-2.1-2.1-5-3.2-8.1-3.2C5.8 2 .9 7 .9 12.9v3.4c0 1.2 1 2.2 2.2 2.2h1.5v1.8c0 .9.7 1.7 1.7 1.9 1.1 0 2-.8 2-1.8v-6.5c0-.9-.7-1.8-1.7-1.9-1.1-.1-2 .7-2 1.8v2.5h-.7c-.4 0-.8-.3-.8-.7v-2.7C3.1 8.1 7 4.2 11.7 4c2.5-.1 4.7.8 6.4 2.5 1.8 1.6 2.7 3.8 2.7 6.2v2.9c0 .4-.3.7-.7.7h-.7v-2.4c0-.9-.7-1.8-1.7-1.9-1.1-.1-2 .7-2 1.8v6.5c0 .9.7 1.7 1.7 1.9 1.1 0 2-.8 2-1.8v-1.8h1.5c1.2 0 2.2-1 2.2-2.2v-3.5c0-2.9-1.1-5.7-3.3-7.9z" + } + }, + new_custom72: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M22 .9H2C1.4.9.9 1.4.9 2S1.4 3.1 2 3.1h8.9v2.3c-4 .6-7 3.9-7 8V16c0 2.6 2.1 4.9 4.9 4.9h6.5c2.7 0 4.9-2.2 4.9-4.9v-2.6c0-4.1-3.1-7.5-7-8V3.1H22c.7 0 1.1-.4 1.1-1.1S22.6.9 22 .9zm-4.8 12.5c0 1-.9 1.9-2 1.9H8.8c-1.1 0-1.9-.8-2-1.9.1-2.8 2.3-5.1 5.1-5.1h.1c2.9 0 5.1 2.3 5.2 5.1z" + }, + "circle": [{ + "cx": "3.138", + "cy": "21.6", + "r": "1.477" + }, { + "cx": "20.862", + "cy": "21.6", + "r": "1.477" + }] + } + }, + new_custom73: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M2.2 6.5h19.6c.4 0 .8-.5.7-1-.5-1.5-1.1-2.9-2-4.1-.3-.4-.8-.4-1.1-.1-.8.8-2.1 1.3-3.4 1.3-1.4 0-2.6-.6-3.5-1.5-.3-.3-.8-.3-1.1 0-.9.9-2.1 1.5-3.5 1.5-1.3 0-2.5-.5-3.4-1.3-.3-.3-.8-.2-1 .1-.9 1.2-1.6 2.7-2 4.2-.1.4.3.9.7.9zm20.9 2.9c0-.4-.3-.7-.8-.7H1.7c-.5 0-.8.3-.8.7v.2c0 6.9 4.8 12.6 11.1 13.5 6.3-.9 11.1-6.6 11.1-13.5v-.2z" + } + }, + new_custom74: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.9 20.5h-3.8c-.4 0-.7.3-.7.7v1.1c0 .5.3.8.7.8h3.8c.4 0 .7-.3.7-.8v-1.1c0-.4-.3-.7-.7-.7zM12 .9C7.4.9 3.7 4.4 3.7 8.7c0 2.7 1.6 5.2 3.9 6.5.9.5 1.5 1.4 1.7 2.4.1.4.4.6.8.6H14c.4 0 .7-.2.7-.6.2-1 .8-1.9 1.7-2.4 2.3-1.4 3.9-3.8 3.9-6.5 0-4.3-3.7-7.8-8.3-7.8zM9.4 4.4c-.7 1.4-1.1 3-1.2 4.4 0 1.4.3 2.6.8 3.9.1.4-.2.7-.6.5C5 11.4 5.2 5.1 9 3.8c.3 0 .6.3.4.6zm2.9 8.8c-.1.3-.5.3-.7 0-.6-1.4-.7-3.1-.8-4.7.1-1.6.2-3.2.8-4.7.1-.3.6-.3.7 0 .6 1.4.8 3.1.8 4.7s-.2 3.2-.8 4.7zm3.1 0c-.3.2-.6-.1-.5-.4.5-1.4.7-2.8.8-4.2-.1-1.2-.5-2.8-1.2-4.2-.1-.2.1-.6.5-.5 3.7 1.2 3.9 7.6.4 9.3z" + } + }, + new_custom75: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9c-.6 0-1.1.5-1.1 1.1v20c0 .6.5 1.1 1.1 1.1 6.1 0 11.1-5 11.1-11.1S18.1.9 12 .9zm8.8 10h-2.9c-.1-2.6-.7-4.9-1.6-6.7 2.4 1.4 4.1 3.8 4.5 6.7zm-7.7 9.5v-7.3h2.5c-.1 3.5-1.2 6.2-2.5 7.3zm0-9.5V3.6c1.3 1.1 2.4 3.8 2.5 7.3h-2.5zm3.2 8.9c.9-1.8 1.4-4.1 1.6-6.7h2.9c-.4 2.9-2.1 5.3-4.5 6.7zM5.9 8.3c.3.2.7.1 1-.1L9 5.9c.2-.3.2-.8-.1-1.1l-2-2c-.3-.3-.7-.3-.9-.1l-.5.3C2.8 5 .9 8.3.9 12s1.9 7 4.6 9l.5.3c.2.2.6.1.9-.1l2-2c.3-.3.3-.8.1-1.1l-2.1-2.3c-.3-.2-.7-.3-1-.1l-.8.6c-.8-1.2-1.2-2.7-1.2-4.3s.4-3 1.2-4.3l.8.6z" + } + }, + new_custom76: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 14c-.1-.2-.5-.5-.8-.4h-.3c-4.2 0-7.5-3.4-7.5-7.5V6c0-.4-.5-.6-.7-.3-.3.4-.5.9-.6 1.3-.7 2.1.2 4.4 2 5.7.8.6 1.7.9 2.5 1l.3.7c.1.1.1.2.2.2l1.1.5c.2.1.3.3.2.5l-.4 1c-.1.2.1.4.2.5l.6.3c.2 0 .3.2.2.4L8.7 19c-.1.2 0 .3.2.4l.8.4c.2.1.3.3.2.5l-.3 1.1c0 .2 0 .4.2.5l2.6 1.1c.2.1.4 0 .5-.2l1.1-2.4c.1-.2.1-.4 0-.6L12 14zm9.9-.3l-6-6.2c.3-.9.3-2-.1-3-.7-2-2.5-3.4-4.7-3.6C7.9.8 5.3 3.5 5.6 6.7c.3 2.3 1.9 4.1 4.1 4.5 1 .2 2 .1 2.8-.2l.5.6c.1.1.2.1.3.1h1.3c.2 0 .4.1.4.3v1.2c0 .2.2.3.4.3h.8c.2 0 .3.2.3.4l.2 1.2c.1.2.2.3.4.3h.9c.2 0 .4.1.4.3l.2 1.2c0 .2.1.3.3.3h2.8c.3 0 .4-.1.4-.4v-2.7c.1-.2 0-.3-.2-.4zM10.1 7.2c-1.1 0-1.9-.8-1.9-1.8s.8-1.9 1.9-1.9 1.9.8 1.9 1.9-.8 1.8-1.9 1.8z" + } + }, + new_custom77: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.3 9h1.4c.3 0 .4-.1.4-.3v-.6c0-2.8 2.1-5 4.7-5s4.7 2.2 4.7 5v.6c0 .2.2.3.4.3h1.4c.3 0 .4-.1.4-.3v-.6c0-4-3-7.2-6.9-7.2S4.9 4.1 4.9 8.1v.6c0 .2.2.3.4.3zm13.8 2.3H4.9c-1.2 0-2.1 1-2.1 2.2v7.4c0 1.2.9 2.2 2.1 2.2h14.2c1.2 0 2.1-1 2.1-2.2v-7.4c0-1.2-.9-2.2-2.1-2.2zm-5.3 5.9c-.4.5-.6 1.1-.4 1.7l.2 1.1c.1.4-.2.9-.6.9h-2.3c-.5 0-.8-.5-.7-.9l.2-1.1c.2-.6 0-1.2-.3-1.7-.3-.4-.5-1-.4-1.6.2-.9.9-1.6 1.8-1.8 1.5-.3 2.8.8 2.8 2.2 0 .4-.2.8-.3 1.2z" + } + }, + new_custom78: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 4.4l-6.6-3.3c-.3-.2-.7-.2-1 0l-6.1 3-6.2-3c-.3-.2-.7-.2-1.1 0-.3.2-.5.6-.5.9v16.6c0 .5.3.9.7 1.1L8.2 23c.3.1.7.1 1 0l6.2-3.1 6.2 3.1c.1.1.3.1.4.1.2 0 .4-.1.6-.2.3-.2.5-.6.5-.9V5.4c0-.5-.3-.8-.7-1zm-1.5 2.1v8.8c0 .5-.5.9-1.1.7-1.7-.7-.3-3.5-1.5-5.1-1.2-1.4-2.7 0-4.1-2.2-1.4-2.2.5-3.8 2.1-4.6.3-.1.5-.1.7 0l3.4 1.8c.3.1.5.3.5.6zm-9.5 12.8c-.2.2-.6.1-.8-.1-.4-.4-.8-1-.8-1.7 0-1.1-1.9-.7-1.9-2.9 0-1.8-2.1-2.3-3.9-2.1-.5 0-.9-.3-.9-.8V5c0-.5.6-.9 1.1-.6l4 2h.1l.1.1c1.7 1 1.3 1.8.6 3-.7 1.3-1.1 0-2.2-.4s-2.2.4-1.8 1.1 1.5 0 2.2.7c.7.8.7 1.9 3 1.1 2.2-.7 2.5-.3 3.3.4.7.8 1.1 2.2 0 3.3-.7.7-.9 2-1.2 3-.1.2-.2.4-.4.5l-.5.1z" + } + }, + new_custom79: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.2 8.9c-1.3 0-2.4 1.1-2.4 2.4s1.1 2.4 2.4 2.4 2.4-1.1 2.4-2.4-1-2.4-2.4-2.4zm13.9 7.5h-6.6v-2.7h.7c.3 0 .6-.3.6-.7v-2c0-.4-.3-.7-.6-.7h-.8c-.6-3.4-3.5-6.1-7.1-6.1C4.2 4.1.9 7.4.9 11.4c.1 4 3.4 7.1 7.5 7.1H21v.7c0 .3.3.6.7.6h.7c.4 0 .7-.3.7-.6v-1.8c0-.5-.5-1-1-1zm-13.9-.7c-2.5 0-4.5-1.9-4.5-4.4s2-4.4 4.5-4.4 4.5 2 4.5 4.4-2 4.4-4.5 4.4z" + } + }, + new_custom8: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.9 1.4L2.2 11c-.5.5-.5 1.4 0 2l8.7 9.6c.6.7 1.6.7 2.2 0l8.7-9.6c.5-.5.5-1.4 0-2l-8.7-9.6c-.6-.6-1.6-.6-2.2 0z" + } + }, + new_custom80: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.5 15.6c-2 0-3.6 1.5-3.6 3.5s1.6 3.5 3.6 3.5S8 21 8 19.1s-1.5-3.5-3.5-3.5zm0 4.9c-.8 0-1.5-.7-1.5-1.4 0-.8.7-1.5 1.5-1.5s1.4.7 1.4 1.5c0 .7-.6 1.4-1.4 1.4zm15-4.9c-2 0-3.5 1.5-3.5 3.5s1.5 3.5 3.5 3.5 3.6-1.6 3.6-3.5-1.6-3.5-3.6-3.5zm0 4.9c-.8 0-1.4-.7-1.4-1.4 0-.8.6-1.5 1.4-1.5s1.5.7 1.5 1.5c0 .7-.7 1.4-1.5 1.4zm-.2-7.1c.8 0 1.5.1 2.3.4.3.1.7 0 .9-.4 1.8-3.4-1.1-5-3-5.9-.5-.3-1 .1-1 .6v2.1c0 .4-.3.8-.7.7-2.7-.4-5-3.1-7.9-3.1s-3.2 2.8-3.2 2.8c-2 0-4-.2-4.9-.4-.5 0-.9.3-.9.7 0 0 0 2.5 3.6 2.5 2.9 0 5.3 2.2 5.7 5.1 0 .7 0 1.5-.3 2.2-.1.2.1.5.4.5h3.3c.3 0 .5-.2.4-.5-.2-.7-.2-1.4-.2-2.1.3-2.8 2.6-5.1 5.5-5.2zM.9 10.9zm9.4-5.5c.1.3.3.6.5.6l3.8 1.3c.4.1.7 0 .9-.3l.3-.6c.2-.3 0-.5-.2-.6-1.2-.1-3.5-.5-2.8-1.7.6-1.1 1.8-.8 2.7-.5.3.2.6-.2.5-.5-.6-1.1-1.8-1.8-3.1-1.7-1.7.2-2.9 1.8-2.7 3.5l.1.5z" + } + }, + new_custom81: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.9.9c-.3 0-1.4.1-1.8.1-5.7.2-12.2 1.7-12.5 1.8-.5.1-.8.6-.8 1v12.1c-.3-.2-.9-.3-1.4-.3-2.5 0-4.5 1.7-4.5 3.7s2 3.7 4.5 3.7 4.4-1.6 4.4-3.7v-7.5c0-.3.2-.6.5-.7 1.8-.4 4.4-.9 9-1.2.5 0 .8.3.8.8v3.8c-.3-.1-.9-.2-1.5-.2-2.4 0-4.4 1.6-4.4 3.7s2 3.6 4.4 3.6 4.5-1.6 4.5-3.6V2c0-.6-.5-1.1-1.2-1.1zm-2.5 5.9c-4.5.3-6.8.7-8.7 1.1-.5.1-.9-.2-.9-.7V6c0-.3.2-.6.6-.7 1.9-.5 4.2-.9 8.9-1.2.5 0 .8.3.8.7V6c0 .5-.3.8-.7.8z" + } + }, + new_custom82: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 9.9h-7.3c-.4 0-.7.3-.7.7v.3c0 .6-.5 1.1-1.1 1.1-.5 0-1-.5-1-1.1v-.3c0-.4-.3-.7-.7-.7H9.8h.1c-2.1.1-3.9 1.3-4.8 3-.4-.2-.8-.2-1.1-.2-1.8 0-3.2 1.4-3.2 3.1s1.5 3.1 3.3 3.1c.3 0 .7 0 1.1-.2.9 1.7 2.7 2.9 4.8 3 3.3.2 6.2-2.5 6.2-5.9 0-.2 0-.4-.1-.6 0-.3.2-.7.6-.8l5.8-1.2c.3-.1.6-.4.6-.7v-1.9c0-.4-.3-.7-.7-.7zM4 16.8c-.6 0-1-.4-1-1s.4-1 1-1c.2 0 .3.1.4.1-.1.4-.1.9-.1 1.3 0 .2.1.4.1.6H4zm9.4-9.3c.6 0 1-.5 1-1V3.3c0-.5-.5-1-1-1-.6 0-1.1.5-1.1 1v3.2c0 .6.5 1 1.1 1zm-5 .3c.2.3.5.4.8.4.2 0 .5-.1.7-.3.4-.3.5-1 .1-1.4L7.9 4.1c-.4-.5-1.1-.5-1.5-.1-.4.4-.5 1-.1 1.4l2.1 2.4zm9.1.4c.3 0 .6-.2.8-.4l2.1-2.4c.4-.4.3-1.1-.1-1.4-.5-.4-1.1-.3-1.5.1l-2 2.4c-.4.5-.4 1.1 0 1.4.2.2.5.3.7.3z" + } + }, + new_custom83: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.1 8c.1.2.4.2.5 0l.5-.5c1.3-1.2 1.3-3.2.1-4.4l-1.6-1.6c-1.3-1-3-.5-4 .5l-.5.5c-.1.1-.1.4 0 .5l5 5zm-6.7-3.5c-.1-.1-.3-.1-.5 0L3.8 14.6c-.6.6-1 1.2-1.2 2l-1.6 5c-.1.3-.1.6.1.9.2.4.6.6.9.6.1 0 .3 0 .4-.1 0 0 3.4-1 5-1.5.8-.3 1.4-.7 2-1.2l10.1-10.1c.1-.2.1-.4 0-.6l-5.1-5.1zM6.7 19.3c-.7.3-1.9.7-3 1l1-3c.1-.5.3-.8.6-1.1l2.5 2.5c-.3.3-.7.5-1.1.6z" + } + }, + new_custom84: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21 17.2H3c-.6 0-1.2.4-1.2 1.1s.5 1.1 1.2 1.1h1.4l.6 3.1c.1.3.4.6.7.6h11.9c.3 0 .6-.3.7-.6l.6-3.1H21c.6 0 1.2-.5 1.2-1.1s-.5-1.1-1.2-1.1zM5.8 15h5.1v-2.1c-.4-.3-.7-.8-.7-1.3 0-.8.6-1.4 1.4-1.4.8 0 1.4.6 1.4 1.4 0 .6-.3 1-.7 1.3V15h5.1c.4 0 .7-.4.7-.8v-1.1c0-2.3-2.1-3-3.8-3.7-1.1-.5-1.3-1-1.3-1.4s.3-.9.7-1.3c.7-.6 1.1-1.4 1.1-2.4 0-1.8-1.2-3.4-3.2-3.4S8.4 2.4 8.4 4.3c0 1 .4 1.8 1.1 2.4.3.4.7.8.7 1.3 0 .4-.2.9-1.3 1.4-1.7.7-3.8 1.5-3.8 3.7v1.1c0 .4.3.8.7.8z" + } + }, + new_custom85: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.3 2.4H3.9v-.7c0-.5-.3-.8-.8-.8H1.7c-.5 0-.8.3-.8.8v20.6c0 .5.3.8.8.8h1.4c.5 0 .8-.3.8-.8V5.4h18.4c.5 0 .8-.4.8-.8V3.1c0-.4-.3-.7-.8-.7zm-1.4 5.2H8.3c-1.2 0-2.2 1-2.2 2.2v8.1c0 1.2 1 2.2 2.2 2.2h12.6c1.2 0 2.2-1 2.2-2.2V9.8c0-1.2-1-2.2-2.2-2.2zm-2.1 6.2h-.9v3.7c0 .3-.1.4-.4.4h-1.4c-.3 0-.4-.1-.4-.4v-2.2c0-.2-.1-.3-.4-.3h-1.5c-.2 0-.3.1-.3.3v2.2c0 .3-.2.4-.4.4h-1.5c-.2 0-.3-.1-.3-.4v-3.7h-1c-.1 0-.2-.2-.1-.3l4.2-4c.1-.1.3-.1.5 0l4.1 4c.1.1 0 .3-.2.3z" + } + }, + new_custom86: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.6 4.6H9c.3 0 .4-.1.4-.4V3.1h5.2v1.1c0 .3.1.4.4.4h1.4c.3 0 .4-.1.4-.4V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.1c0 .3.1.4.4.4zm13.3 2.2H3.1C1.9 6.8.9 7.8.9 9v11.9c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V9c0-1.2-1-2.2-2.2-2.2zM12 20.1c-2.9 0-5.2-2.3-5.2-5.1S9.1 9.8 12 9.8s5.2 2.3 5.2 5.2-2.3 5.1-5.2 5.1zm2.2-6.3h-1.1v-1.1c0-.4-.3-.7-.7-.7h-.8c-.4 0-.7.3-.7.7v1.1H9.8c-.4 0-.8.4-.8.8v.7c0 .4.4.8.8.8h1.1v1.1c0 .4.3.7.7.7h.8c.4 0 .7-.3.7-.7v-1.1h1.1c.4 0 .8-.4.8-.8v-.7c0-.4-.4-.8-.8-.8z" + } + }, + new_custom87: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21 .9H3c-.7 0-1.2.5-1.2 1.1v17.8c0 .6.5 1.1 1.2 1.1h.3V22c0 .6.5 1.1 1.1 1.1h.8c.6 0 1.1-.5 1.1-1.1v-1.1h11.6V22c0 .6.4 1.1 1.1 1.1h.7c.6 0 1.1-.5 1.1-1.1v-1.1h.4c.6 0 1.1-.5 1.1-1.1V2c-.1-.6-.6-1.1-1.3-1.1zM5.1 18.6c-.6 0-1.1-.4-1.1-1.1V4.2c0-.6.5-1.1 1.1-1.1h13.8c.6 0 1.1.5 1.1 1.1v13.3c0 .7-.4 1.1-1.1 1.1H5.1zm12-13.2H6.9c-.4 0-.7.3-.7.7v9.6c0 .4.3.7.7.7h10.2c.4 0 .7-.3.7-.7V6.1c0-.4-.3-.7-.7-.7zM15.4 12h-3c-.4.7-1.3 1.5-2.3 1.5-1.4 0-2.4-1.2-2.4-2.6s1.1-2.6 2.4-2.6c1 0 1.9.7 2.3 1.5h2.9c.6 0 1 .5 1 1.1 0 .5-.4 1.1-.9 1.1z" + } + }, + new_custom88: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 19.4H1.6c-.4 0-.7.3-.7.6v.1c0 1.6 2.1 3 3.7 3h14.8c1.6 0 3.7-1.4 3.7-3V20c0-.3-.3-.6-.7-.6zM2 17.2h6.7c.4 0 .7-.4.7-.9V3.6c0-.1-.3-.2-.3 0l-7.4 13c-.1.2.1.6.3.6zm10.4 0h9.2c.5 0 .8-.4.7-.9C22 13.7 21.6 5.4 12.1 1c-.2-.1-.5 0-.5.3v15c0 .5.4.9.8.9z" + } + }, + new_custom89: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.9 9.6c-.1-.2-.5-.2-.5 0-.5.7-.9 1.6-.9 2.8v4c0 .6-.5 1.1-1.1 1.1-.6 0-1.1-.4-1.1-1.1V3.8C11.3 1 8.8.6 7 1.2c-.5.2-1 .5-1.3.9-.2.3-.4.4-.8.6-.7.1-1.8-.5-2.4-.9-.3-.1-.8 0-1 .2l-.4.7c-.3.3-.2.8.1 1C1.9 4.2 3 4.9 3.9 5c1.3.3 2.5-.2 3.4-1 .3-.2.7-.6 1-.2.7 1.1-2.2 6-2.2 13v.6c0 3 3 5.6 6 5.7 3.2.2 5.8-2.4 5.8-5.5 0-1.6.6-2.6 1.2-3.2.1-.2.1-.4 0-.6l-4.2-4.2zm7.1 3.5c-.3 0-.6-.1-.8-.4l-5.9-5.8c-.5-.5-.5-1.2 0-1.6.4-.5 1.1-.5 1.5 0l6 5.9c.4.5.4 1.2 0 1.6-.3.2-.6.3-.8.3z" + } + }, + new_custom9: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.8 8C21.8 3.6 17.2.9 12.1.9 5.9.9.9 5.9.9 12s5 11.1 11.2 11.1c8.6 0 7.9-4.4 5.2-6.1-1.7-1-2.5-3.3-.9-5 3-3.1 7.8 1.8 6.4-4zM6 15.7c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3 2.3 1 2.3 2.3-1 2.3-2.3 2.3zm.5-8.8c0-1.3 1-2.3 2.3-2.3s2.3 1 2.3 2.3-1 2.3-2.3 2.3-2.3-1-2.3-2.3zm5 13.4c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3 2.3 1 2.3 2.3-1 2.3-2.3 2.3zm4.2-12c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3S18 4.7 18 6s-1 2.3-2.3 2.3z" + } + }, + new_custom90: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.1 3.2l-9 1.3v12.7c0 .2-.1.3-.4.3h-1.4c-.3 0-.4-.1-.4-.3V4.8L2.2 6.1h-.1c-.6 0-1-.4-1.1-.9-.1-.6.3-1.2.8-1.3l6.9-1C9.4 1.8 10.6 1 12 1c1 0 1.9.4 2.5 1l7.3-1c.6-.1 1.2.3 1.2.9.1.6-.2 1.1-.9 1.3zM8.8 16.8c.3-.4.3-.8.2-1.2l-3-7c-.1-.4-.6-.6-1-.6s-.8.2-1 .6l-3 7c-.1.4-.1.7.1 1.1.1.1 1.5 2.3 3.8 2.3 1.4 0 2.7-.8 3.9-2.2zM5 11.9l1.6 3.8H3.4L5 11.9zm15-5.5c-.2-.4-.6-.6-1-.6s-.8.2-1 .6l-3 7c-.1.4 0 .7.1 1 .1.1 1.6 2.4 3.9 2.4 1.4 0 2.6-.8 3.8-2.3.3-.3.4-.7.2-1.1l-3-7zm-1 3.3l1.6 3.8h-3.2L19 9.7zm-7 10.1c-2.1 0-4.2.7-5.6 1.9-.2.2-.3.4-.3.6 0 .5.3.8.7.8h10.4c.4 0 .7-.3.7-.8 0-.2-.1-.4-.3-.6-1.4-1.2-3.5-1.9-5.6-1.9z" + } + }, + new_custom91: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.3 5.6c-1.1-.3-2.1-1.1-2.7-2.1-.5-.8-.5-2.6-1.7-2.6H6.1C4.9.9 4.9 2.7 4.4 3.5 3.6 4.7 2.7 5 1.5 5.7c-1.2.7-.1 3.6.2 4.7C2.8 14.5 5 18.3 8.4 21c1 .8 2 1.4 3.1 2 1 .5 2.7-.9 3.4-1.5 1.9-1.4 3.5-3.1 4.8-5.1 1-1.7 1.9-3.5 2.5-5.4l.6-2.4c.1-.6.4-1.7.2-2.3-.1-.3-.4-.6-.7-.7-1.7-.5.5.1 0 0zm-1.6 2.6c-1 4.9-3.7 9.5-8.1 12.2l-.6.4-.6-.4C6.1 17.2 4.1 12 3.3 8.1l-.1-.7.7-.4C5 6.3 6.1 5 6.7 3.7l.3-.6h10l.2.5c.6 1.3 1.7 2.7 3.1 3.5l.5.2v.1l-.1.8zm-9.1-2.8c-.8 0-2.9 0-3.3.3-.7.7-1.1 1.6-1.8 2.2-.8.6-.5 1.3-.2 2.2.5 1.6 1.2 3.1 2.2 4.4.5.7 1 1.4 1.7 2 .1.2 1.8 1.9 1.8.8V6.1c0-.4 0-.7-.4-.7z" + } + }, + new_custom92: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.8 14.4l-8.4-3.9c-.3-.1-.5-.1-.7 0l-8.5 3.9c-.4.2-.6.7-.3 1.2.9 1.2 1.4 2.8 1.7 3.6.1.2.3.4.6.5 2.9.7 5.3 2.4 6.3 3.1.3.3.7.3 1 0 1-.7 3.4-2.4 6.3-3.1.3-.1.5-.3.6-.5.3-.8.8-2.4 1.7-3.6.3-.4.1-1-.3-1.2zm-11 2c-.7 0-1.1-.6-1.1-1.4 0-.9.4-1.5 1.1-1.5s1.1.6 1.1 1.5c0 .8-.5 1.4-1.1 1.4zm4.4 0c-.6 0-1.1-.6-1.1-1.4 0-.9.5-1.5 1.1-1.5s1.1.6 1.1 1.5c0 .8-.4 1.4-1.1 1.4zm-8-5.8l4.6-2.1c.5-.3 1.1-.3 1.7-.2.3 0 .5.1.8.2l4.5 2.1c.2.1.5-.1.5-.3V8.6c0-.2-.1-.3-.3-.5-.2-.3-.8-.9-1.9-.9V5.1c0-.3-.2-.5-.4-.7-.4-.2-1.1-.5-2.2-.7v-2c0-.5-.3-.8-.8-.8h-1.4c-.5 0-.8.3-.8.8v1.9c-1.1.2-1.8.6-2.2.8-.2.1-.4.4-.4.6v2.2c-1.1 0-1.7.6-1.9.8-.2.2-.3.4-.3.5v1.7c0 .3.3.5.5.4z" + } + }, + new_custom93: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M9.3 12h11c.3 0 .7-.2.7-.6l2-6.8c.2-.5-.2-1-.7-1h-17l-.3-1c-.2-.4-.6-.8-1.1-.8H2.1c-.6 0-1.1.5-1.2 1.1C.9 3.5 1.4 4 2 4h1.1l3.5 11.6c.1.4.6.7 1.1.7h13c.6 0 1.1-.4 1.2-1 0-.6-.5-1.1-1.1-1.1H9.3c-.5 0-.9-.4-1-.8-.3-.7.3-1.4 1-1.4z" + }, + "ellipse": [{ + "cx": "9.508", + "cy": "20.354", + "rx": "1.846", + "ry": "1.8" + }, { + "cx": "18.508", + "cy": "20.354", + "rx": "1.846", + "ry": "1.8" + }] + } + }, + new_custom94: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.2 7.6V2c0-.6-.4-1.1-1.1-1.1h-1.5c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h.4v4.5C12 10 10 12 7.6 12s-4.5-2-4.5-4.4V3.1h.4c.7 0 1.1-.4 1.1-1.1S4.2.9 3.5.9H2C1.4.9.9 1.4.9 2v5.6c0 3.6 3 6.6 6.7 6.6s6.6-3 6.6-6.6zm8.9 4.4c0-1.8-1.5-3.3-3.3-3.3s-3.4 1.5-3.4 3.3c0 1.4 1 2.7 2.2 3.1v.9c0 2.6-2.2 4.9-4.8 4.9h-.1c-2.3 0-4.3-1.7-4.8-3.9-.1-.3-.4-.6-.8-.6h-.7c-.5 0-.8.5-.8.9.6 3.3 3.6 5.8 7 5.8h.1c3.9 0 7.1-3.3 7.1-7.1v-.9c1.4-.4 2.3-1.7 2.3-3.1zm-3.3 1.1c-.7 0-1.2-.5-1.2-1.1s.5-1.1 1.2-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1z" + } + }, + new_custom95: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.1 4.7V3.1h.4c.6 0 1.1-.4 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-3c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h.4v1.6c-4.6.6-8.1 4.4-8.1 9.1 0 5.1 4.1 9.3 9.2 9.3s9.2-4.2 9.2-9.3c0-4.7-3.5-8.5-8.1-9.1zM12 20.9c-3.9 0-7-3.2-7-7.1s3.1-7 7-7 7 3.2 7 7-3.1 7.1-7 7.1zm2.4-10.8l-1.7 1.7c-.2-.1-.4-.2-.7-.2-1.2 0-2.2 1-2.2 2.2s1 2.3 2.2 2.3 2.2-1.1 2.2-2.3c0-.2 0-.5-.1-.7l1.7-1.7c.4-.4.4-1 0-1.3-.4-.4-1-.4-1.4 0z" + } + }, + new_custom96: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.8 4.2l-1.9-1.5c-.3-.2-.5-.3-.9-.3h-6.5v-.7c0-.5-.3-.8-.8-.8h-1.4c-.5 0-.8.3-.8.8v.7H3.1c-.4 0-.7.3-.7.7v3c0 .4.3.7.7.7H20c.4 0 .7-.1.9-.2l1.9-1.5c.4-.3.4-.7 0-.9zm-1.9 6.3h-7.4V9.4c0-.2-.2-.4-.4-.4h-2.2c-.2 0-.4.2-.4.4v1.1H4c-.4 0-.7.1-.9.3l-1.9 1.4c-.4.3-.4.7 0 1l1.9 1.4c.3.2.5.3.9.3h16.9c.4 0 .7-.3.7-.7v-3c0-.4-.3-.7-.7-.7zM13.5 20v-2.5c0-.2-.2-.3-.4-.3h-2.2c-.2 0-.4.1-.4.3V20c-1.5.4-2.3 1.3-2.5 2.4-.1.3.2.7.5.7h7c.4 0 .7-.3.6-.7-.3-1.1-1.1-2-2.6-2.4z" + } + }, + new_custom97: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.8 13.5V4.8c0-2.2-1.7-3.9-3.8-3.9-2.2 0-3.8 1.7-3.8 3.9v8.7c-1.1 1.1-1.7 2.5-1.7 4 0 3.1 2.5 5.6 5.5 5.6s5.5-2.5 5.5-5.6c0-1.5-.6-2.9-1.7-4zm-.9 4H9.1c-.3 0-.6-.3-.5-.6.1-.8.6-1.6 1.2-2.1.3-.2.4-.5.4-.8V4.8C10.2 3.7 11 3 12 3s1.7.8 1.7 1.8v.3h-1c-.6 0-1 .4-1 1s.4 1 1 1h1v1.4h-1c-.6 0-1 .5-1 1s.4 1 1 1h1v1.4h-1c-.6 0-1 .5-1 1s.4 1 1 1h1c.1.4.2.6.4.8.7.5 1.1 1.3 1.3 2.1.1.4-.2.7-.5.7z" + } + }, + new_custom98: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M22.9 10.2l-2.7-2.7c-.2-.2-.4-.3-.5-.3h-2.8c-.4 0-.7.4-.7.7v5.6c0 .3.2.4.5.3.5-.2 1-.3 1.6-.3 1.5 0 2.9.9 3.6 2.2.1.2.4.2.5.1.4-.4.7-.9.7-1.6v-3.5c0-.2-.1-.4-.2-.5z" + }, { + "d": "M13.4 4.2H1.6c-.4 0-.7.3-.7.6v9.5c0 .6.3 1.2.7 1.5.2.2.4.1.5-.1.7-1.3 2.1-2.1 3.7-2.1 1.7 0 3.2 1 3.8 2.6 0 .1.2.2.3.2H12c1.2 0 2.1-.9 2.1-2.1V4.8c0-.3-.3-.6-.7-.6z" + }], + "ellipse": [{ + "cx": "18.231", + "cy": "17.769", + "rx": "2.077", + "ry": "2.077" + }, { + "cx": "5.769", + "cy": "17.769", + "rx": "2.077", + "ry": "2.077" + }] + } + }, + new_custom99: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.9 7.7h-6.2c-.2-.5-.5-.8-.8-1.1l2.3-3c.4-.5.3-1.2-.2-1.5-.4-.4-1.2-.3-1.6.2l-2.5 3.2h-1.2L8.1 2.3c-.4-.5-1.1-.6-1.6-.2s-.5 1-.1 1.5l2.3 3c-.3.3-.6.6-.8 1.1H3.1C1.9 7.7.9 8.6.9 9.8V20c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V9.8c0-1.2-1-2.1-2.2-2.1zm-3 11.5c0 .5-.3.8-.7.8H3.9c-.4 0-.8-.3-.8-.8v-8.6c0-.4.4-.8.8-.8h13.3c.4 0 .7.4.7.8v8.6zm2.6-3.6c-.7 0-1.1-.4-1.1-1.1s.4-1.1 1.1-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1zm0-3.6c-.7 0-1.1-.5-1.1-1.1 0-.6.4-1.1 1.1-1.1s1.1.5 1.1 1.1c0 .6-.5 1.1-1.1 1.1z" + } + }, + new_event: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.5 9.2h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zM8.8 19.4c0 .3-.2.4-.5.4H6.5c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4H6.5c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm4.6 4.6c0 .3-.2.4-.5.4h-1.8c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4h-1.8c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm4.6 4.6c0 .3-.2.4-.5.4h-1.8c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4h-1.8c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm2.3-11.6H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9z" + } + }, + new_group: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.3 12.9c-.7-.9-1-2.1-1-3.3 0-2.1.9-3.9 2.3-4.9-.5-.9-1.4-1.5-2.6-1.5-2 0-3.2 1.7-3.2 3.6 0 1 .3 1.9 1 2.5.4.3.7.8.7 1.3 0 .4-.2.9-1.3 1.4-1.7.7-3.2 1.8-3.2 3.3 0 1 .6 1.8 1.6 1.8h1.5c.3 0 .5-.2.6-.4.8-1.3 2.2-2.2 3.3-2.8.4-.1.5-.7.3-1zm13.5-.9c-1.2-.5-1.4-.9-1.4-1.4s.4-1 .7-1.3c.7-.7 1-1.5 1-2.5 0-1.9-1.1-3.6-3.1-3.6-1.2 0-2.2.6-2.7 1.5 1.4 1 2.3 2.8 2.3 4.9 0 1.2-.3 2.4-1 3.3-.2.4-.1.9.3 1 1.1.6 2.5 1.5 3.3 2.8.1.2.3.4.6.4h1.5c1 0 1.6-.8 1.6-1.8.1-1.5-1.5-2.6-3.1-3.3zM15 15.4c-1.2-.6-1.4-1.1-1.4-1.6 0-.6.3-1.1.8-1.4.7-.7 1.1-1.7 1.1-2.8 0-2.1-1.2-3.9-3.5-3.9S8.5 7.5 8.5 9.6c0 1.1.4 2.1 1.1 2.8.5.4.8.9.8 1.4 0 .6-.2 1-1.4 1.6-1.9.8-3.6 1.6-3.7 3.3 0 1.1.8 2 1.9 2h9.6c1.1 0 1.9-.9 1.9-2-.1-1.7-1.8-2.5-3.7-3.3z" + } + }, + new_lead: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "12", + "cy": "4.246", + "r": "3.323" + }, + "path": { + "d": "M22.3 9.8H1.7c-.8 0-1.1.9-.5 1.3l5.4 3.5c.3.2.5.5.3.8l-2 6.8c-.2.7.8 1.2 1.3.6l5.3-5.5c.3-.3.8-.3 1.1 0l5.3 5.5c.5.6 1.4.1 1.3-.6l-2.1-6.8c-.1-.3 0-.7.3-.9l5.4-3.4c.6-.4.3-1.3-.5-1.3z" + } + }, + new_note: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.1 18.3l-.4.4c-.5.5-1.1.7-1.7.7h-1.2c-1.1 0-2.3-.8-2.3-2.4v-1.1c0-.9.4-1.5.6-1.8l5-5.1c.1-.1.3-.5.3-.6V4.5c0-1.2-1-2.2-2.2-2.2H5.4c-1.2 0-2.3 1.1-2.3 2.2h-.7C1.6 4.5.9 5.2.9 6s.7 1.5 1.5 1.5h.7v3h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h.7v3h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.4 1.5 1.4h.7c0 1.5 1.1 2.2 2.3 2.2h11.8c1.2 0 2.2-1 2.2-2.2v-.9c0-.3-.1-.3-.3-.2zM15.3 7.9c0 .4-.3.7-.7.7H7.2c-.4 0-.7-.3-.7-.7v-.7c0-.5.3-.8.7-.8h7.4c.4 0 .7.3.7.8v.7zM12 16.8c0 .5-.3.8-.7.8H7.2c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h4.1c.4 0 .7.3.7.7v.7zm1.1-4.4c0 .4-.3.7-.7.7H7.2c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h5.2c.4 0 .7.3.7.7v.8zm9.7-2.1l-.4-.4c-.3-.3-.8-.3-1 0l-5.7 5.8V17c0 .1 0 .2.1.2h1.3l5.7-5.8c.4-.3.4-.7 0-1.1z" + } + }, + new_notebook: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.3.9H6.5c-1.1 0-1.9.9-1.9 1.9v1.4H3.2c-.8 0-1.4.6-1.4 1.3s.6 1.4 1.4 1.4h1.4v3.7H3.2c-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4h1.4v3.7H3.2c-.8 0-1.4.6-1.4 1.4s.6 1.3 1.4 1.3h1.4v1.4c0 1 .8 1.9 1.9 1.9h13.8c1 0 1.9-.9 1.9-1.9V2.8c0-1-.9-1.9-1.9-1.9zm-3.2 15.7c0 .3-.2.5-.5.5h-6.4c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9zm.9-3.7c0 .3-.2.5-.5.5H9.2c-.2 0-.4-.2-.4-.5V12c0-.3.2-.5.4-.5h8.3c.3 0 .5.2.5.5v.9zm.9-4.6c0 .3-.2.5-.4.5H8.3c-.3 0-.5-.2-.5-.5V5.5c0-.2.2-.4.5-.4h10.2c.2 0 .4.2.4.4v2.8z" + } + }, + new_opportunity: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.3 18.9H4.7c-.4 0-.6.3-.6.7 0 1.2.9 2.1 2 2.1h11.8c1.2 0 2.1-.9 2.1-2.1-.1-.4-.3-.7-.7-.7zM21 4.7c-1.2 0-2.1.9-2.1 2.1 0 .6.3 1.2.8 1.6-.6 1.3-2 2.2-3.5 2.2-1.9-.1-3.4-1.6-3.5-3.4 0-.4 0-.6.1-.9.8-.3 1.3-1 1.3-2 0-1.1-.9-2-2.1-2s-2.1.9-2.1 2.1c0 .9.6 1.6 1.3 1.9.1.3.1.6.1.9-.1 1.8-1.6 3.3-3.4 3.4-1.6.1-3-.9-3.6-2.2.5-.4.8-1 .8-1.6 0-1.1-.9-2-2.1-2s-2.1.9-2.1 2S1.8 8.9 3 8.9l1 7.4c0 .3.3.5.6.5h14.8c.3 0 .6-.2.6-.5l1-7.4c1.2 0 2.1-.9 2.1-2.1s-.9-2.1-2.1-2.1z" + } + }, + new_person_account: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M19.2 15.3c-1.3-.5-1.5-1-1.5-1.6 0-.5.3-1.1.8-1.5.8-.7 1.2-1.7 1.2-2.8 0-2.2-1.4-4-3.8-4s-3.8 1.8-3.8 4c0 1.2.5 2.1 1.2 2.8.5.4.9 1 .9 1.5 0 .6-.3 1.1-1.6 1.6-2 .9-3.8 1.9-3.9 3.6 0 1.2.9 2.3 2 2.3H21c1.2 0 2-1.1 2-2.3.1-1.7-1.8-2.7-3.8-3.6zM10.4 17" + }, { + "d": "M10.8 12.5c-.1-.2-.9-1.1-.8-3.6 0-2.4 1.1-3 1.1-3V3.5c0-.5-.4-.7-.7-.7H1.6s-.7.3-.7.7v16.1h5c.1-4.1 4.9-5.8 4.9-5.8.6-.3.1-1.1 0-1.3zm-5.9 5.1c0 .4-.3.7-.7.7h-.8c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h.8c.4 0 .7.3.7.7v.8zm0-3.7c0 .5-.3.8-.7.8h-.8c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h.8c.4 0 .7.3.7.7v.7zm0-3.7c0 .5-.3.8-.7.8h-.8c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h.8c.4 0 .7.3.7.7v.7zm0-3.6c0 .4-.3.7-.7.7h-.8c-.4 0-.7-.3-.7-.7v-.7c0-.5.3-.8.7-.8h.8c.4 0 .7.3.7.8v.7zM9 13.9c0 .5-.3.8-.7.8h-.7c-.4 0-.8-.3-.8-.8v-.7c0-.4.4-.7.8-.7h.7c.4 0 .7.3.7.7v.7zm0-3.7c0 .5-.3.8-.7.8h-.7c-.4 0-.8-.3-.8-.8v-.7c0-.4.4-.7.8-.7h.7c.4 0 .7.3.7.7v.7zm0-3.6c0 .4-.3.7-.7.7h-.7c-.4 0-.8-.3-.8-.7v-.7c0-.5.4-.8.8-.8h.7c.4 0 .7.3.7.8v.7z" + }] + }, + new_task: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.1 3.2l-.8-.8c-.2-.2-.6-.2-.8 0L4.6 7.3l-2-1.9c-.2-.3-.5-.3-.8 0l-.7.7c-.3.3-.3.6 0 .8l2.7 2.7c.2.3.5.4.8.4.2 0 .5-.1.8-.4L11.1 4c.2-.2.2-.5 0-.8zm11.2 5.3h-9.6c-.4 0-.7-.3-.7-.7V6.3c0-.4.3-.8.7-.8h9.6c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zm0 6.6H10.5c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h11.8c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zM6 15.1H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8H6c.4 0 .7.4.7.8v1.5c.1.4-.3.7-.7.7zm0 6.6H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8H6c.4 0 .7.4.7.8V21c.1.4-.3.7-.7.7zm16.3 0H10.5c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h11.8c.5 0 .8.4.8.8V21c0 .4-.3.7-.8.7z" + } + }, + password_unlock: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.6 8.4v.1-.1zm14.8 2.2h-12V8.4c0-2.4 1.8-4.6 4.3-4.7 2.2-.1 4.1 1.3 4.7 3.3.1.2.3.4.5.4h1.9c.3 0 .5-.3.4-.6-.7-3.5-3.8-6.1-7.6-5.9-3.9.2-6.9 3.6-7 7.5v2.2c-1 0-1.8.8-1.8 1.9v8.7c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9v-8.7c0-1.1-.8-1.9-1.8-1.9zm-5.3 9.1c.1.3-.1.6-.4.6h-3.4c-.3 0-.6-.3-.5-.6l.9-2.8c-.7-.4-1.1-1.3-1-2.2.2-.9.9-1.5 1.8-1.7 1.5-.3 2.8.8 2.8 2.1 0 .8-.4 1.5-1 1.8l.8 2.8z" + } + }, + preview: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.9 11.6C21.7 7.2 17.2 4.2 12 4.2S2.3 7.2.1 11.6c-.1.3-.1.6 0 .8 2.2 4.4 6.7 7.4 11.9 7.4s9.7-3 11.9-7.4c.1-.3.1-.5 0-.8zM12 17.1c-2.8 0-5.1-2.3-5.1-5.1S9.2 6.9 12 6.9s5.1 2.3 5.1 5.1-2.3 5.1-5.1 5.1zm0-8.3c-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" + } + }, + priority: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.2 1.6c0-.4-.4-.7-.7-.7H2.1c-.4 0-.7.3-.7.7v20.8c0 .4.3.7.7.7h1.4c.3 0 .7-.3.7-.7V1.6zm17.7 2c-7.4 3.8-6.5-4.1-15.4-1-.3.1-.5.4-.5.6V14c0 .3.3.5.6.4 8.9-3 7.9 5.2 15.6.8.3-.1.4-.3.4-.6V3.9c0-.3-.4-.5-.7-.3z" + } + }, + question_post_action: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.1 17.5h-2.3c-.4 0-.6-.2-.6-.6v-.7c0-1.9 1.2-3.7 3-4.3.6-.2 1.1-.5 1.5-1 2.3-2.8.2-6.1-2.6-6.2-1 0-1.9.3-2.7 1-.6.6-1 1.3-1 2.1-.1.2-.4.5-.7.5H5.4c-.5 0-.8-.4-.7-.8.1-1.7.9-3.3 2.2-4.5C8.4 1.6 10.2.8 12.3.9c3.8.1 6.9 3.3 7.1 7.1.1 3.2-1.9 6.1-4.9 7.2-.4.2-.7.5-.7 1v.6c0 .5-.3.7-.7.7zm.7 4.9c0 .4-.3.7-.6.7h-2.4c-.3 0-.6-.3-.6-.7v-2.3c0-.4.3-.7.6-.7h2.4c.3 0 .6.3.6.7v2.3z" + } + }, + quote: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.2 10.6H7.8c-.2 0-.4.2-.4.5v1.4c0 .2.2.4.4.4h8.4c.2 0 .4-.2.4-.4v-1.4c0-.3-.2-.5-.4-.5zm-1 4.2H8.8c-.3 0-.5.2-.5.4v1.4c0 .3.2.5.5.5h6.4c.3 0 .5-.2.5-.5v-1.4c0-.2-.2-.4-.5-.4zm5.9-9.1l-4.4-4.3c-.4-.3-.8-.5-1.3-.5H8.6c-.5 0-.9.2-1.3.5L2.9 5.7c-.4.3-.6.8-.6 1.3v14.2c0 1 .8 1.9 1.9 1.9h15.6c1.1 0 1.9-.9 1.9-1.9V7c0-.5-.2-1-.6-1.3zM12 2.3c1 0 1.8.8 1.8 1.9S13 6 12 6s-1.8-.8-1.8-1.8.8-1.9 1.8-1.9zm6.9 17.3c0 .4-.3.7-.7.7H5.8c-.4 0-.7-.3-.7-.7V8.1c0-.4.3-.7.7-.7h12.4c.4 0 .7.3.7.7v11.5z" + } + }, + recall: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.4 10.4c-.2-.2-.1-.7.2-.8h4.2c3.1 0 5.6 2.6 5.3 5.8-.3 2.7-2.7 4.8-5.5 4.8h-1.5c-.4 0-.8.3-.8.7v1.4c0 .4.4.8.8.8h1.6c4.5 0 8.1-3.6 8.2-8.1.1-4.5-3.8-8.3-8.3-8.3H8.7s-1.2 0-.4-.8L11 3.2c.3-.3.3-.8 0-1l-1-1c-.3-.3-.8-.3-1 0L2.5 7.7c-.3.2-.3.7 0 1L9 15.2c.3.3.7.3 1 0l1-1c.3-.3.3-.8 0-1l-2.6-2.8z" + } + }, + record: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 5.4h8c.4 0 .8-.4.8-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.5c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12-2.6h-.8c-.2 0-.3.1-.3.3v1.5c0 1.6-1.3 3-2.9 3H8c-1.6 0-2.9-1.4-2.9-3V3.1c0-.2-.1-.3-.3-.3H4c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zM8 18.6c0 .5-.3.8-.7.8h-.7c-.5 0-.8-.3-.8-.8v-.7c0-.4.3-.7.8-.7h.7c.4 0 .7.3.7.7v.7zM8 15c0 .4-.3.7-.7.7h-.7c-.5 0-.8-.3-.8-.7v-.8c0-.4.3-.7.8-.7h.7c.4 0 .7.3.7.7v.8zm0-3.7c0 .4-.3.7-.7.7h-.7c-.5 0-.8-.3-.8-.7v-.8c0-.4.3-.7.8-.7h.7c.4 0 .7.3.7.7v.8zm10.2 7.3c0 .5-.3.8-.8.8h-7.2c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h7.2c.5 0 .8.3.8.7v.7zm0-3.6c0 .4-.3.7-.8.7h-7.2c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h7.2c.5 0 .8.3.8.7v.8zm0-3.7c0 .4-.3.7-.8.7h-7.2c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h7.2c.5 0 .8.3.8.7v.8z" + } + }, + refresh: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.5 1.8h-1.4c-.4 0-.7.4-.7.7v3.3c0 .4-.2.6-.6.3-.1-.2-.2-.3-.4-.5-2.3-2.3-5.6-3.2-8.9-2.6-1.1.2-2.3.7-3.2 1.3-2.8 1.9-4.5 4.9-4.5 8.1 0 2.5.9 5 2.7 6.8 1.8 1.9 4.3 3 7 3 2.3 0 4.6-.8 6.3-2.3.3-.3.3-.7.1-1l-1-1c-.2-.2-.7-.3-.9 0-1.7 1.3-4 1.9-6.2 1.3-.6-.1-1.2-.4-1.8-.7-2.6-1.6-3.8-4.7-3.1-7.7.1-.6.4-1.2.7-1.8 1.3-2.2 3.6-3.5 6-3.5 1.8 0 3.6.8 4.9 2.1.2.2.4.4.5.6.2.4-.2.6-.6.6h-3.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.6.7.6h8.4c.3 0 .6-.2.6-.6V2.5c0-.3-.4-.7-.7-.7z" + } + }, + reject: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.6 11.9l6-6c.3-.3.3-.7 0-1l-.9-1c-.3-.3-.7-.3-1 0L12.6 10c-.1.2-.4.2-.6 0L6 3.9c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l6.1 6.1c.1.1.1.4 0 .6L4 18.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.1-6c.2-.2.5-.2.6 0l6.1 6c.3.3.7.3 1 0l.9-.9c.3-.3.3-.7 0-1l-6-6c-.2-.2-.2-.5 0-.7z" + } + }, + remove: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.6 11.9l6-6c.3-.3.3-.7 0-1l-.9-1c-.3-.3-.7-.3-1 0L12.6 10c-.1.2-.4.2-.6 0L6 3.9c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l6.1 6.1c.1.1.1.4 0 .6L4 18.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.1-6c.2-.2.5-.2.6 0l6.1 6c.3.3.7.3 1 0l.9-.9c.3-.3.3-.7 0-1l-6-6c-.2-.2-.2-.5 0-.7z" + } + }, + remove_relationship: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zm-11.5 7c-.3 0-.5-.3-.5-.5v-.9c0-.3.2-.5.5-.5h7.4c.2 0 .4.2.4.5v.9c0 .2-.2.5-.4.5H5.1zm14.7 3.2h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2z" + } + }, + reset_password: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.5 1.8h-1.4c-.4 0-.7.4-.7.7v3.3c0 .4-.2.6-.6.3-.1-.2-.2-.3-.4-.5-2.3-2.3-5.6-3.2-8.9-2.6-1.1.2-2.3.7-3.2 1.3-2.8 1.9-4.5 4.9-4.5 8.1 0 2.5.9 5 2.7 6.8 1.8 1.9 4.3 3 7 3 2.3 0 4.6-.8 6.3-2.3.3-.3.3-.7.1-1l-1-1c-.2-.2-.7-.3-.9 0-1.7 1.3-4 1.9-6.2 1.3-.6-.1-1.2-.4-1.8-.7-2.6-1.6-3.8-4.7-3.1-7.7.1-.6.4-1.2.7-1.8 1.3-2.2 3.6-3.5 6-3.5 1.8 0 3.6.8 4.9 2.1.2.2.4.4.5.6.2.4-.2.6-.6.6h-3.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.6.7.6h8.4c.3 0 .6-.2.6-.6V2.5c0-.3-.4-.7-.7-.7z" + } + }, + script: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.3 3.1c-4.1 0-7.2 3.2-7.2 7.3v9.7c0 .4.3.7.7.7h7.7c.4 0 .7-.3.7-.7v-7.6c0-.4-.3-.7-.7-.7h-5.7v-1.4c0-2.2 2.2-4.5 4.5-4.5h1.2c.3 0 .7-.3.7-.7V3.8c0-.3-.4-.7-.7-.7h-1.2zM9 3.1c-4 0-7.2 3.2-7.2 7.3v9.8c0 .3.4.7.7.7h7.7c.4 0 .7-.4.7-.7v-7.7c0-.4-.3-.7-.7-.7H4.6v-1.4c0-2.2 2.2-4.5 4.4-4.5h1.2c.4 0 .7-.3.7-.7V3.8c0-.3-.3-.7-.7-.7H9z" + } + }, + share: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 13.8H21c-.4 0-.7.4-.7.7v5.1c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V9.9c0-.3.3-.7.7-.7h1.8c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9v-6.7c0-.3-.3-.7-.7-.7zm-6.7-7.3c-4.6 0-8.8 4.1-9.2 8.9 0 .4.3.8.7.8h1.4c.4 0 .6-.3.7-.6.3-3.5 3.3-6.4 6.9-6.4h.7c.4 0 .6.5.3.8l-2.5 2.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.3-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-1 0l-1 1c-.3.3-.3.7 0 .9l2.6 2.6c.2.3.1.8-.4.8l-1.2.1z" + } + }, + share_file: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.9 7.4h3.6c.2 0 .3-.2.2-.4l-3.8-3.9c-.2-.1-.4 0-.4.2v3.6c0 .3.1.5.4.5zm3.7 1.8h-5.1c-.5 0-.9-.4-.9-.9V3.2c0-.2-.2-.4-.4-.4H9.9c-.3 0-.7.3-.7.7v1.8c0 .2.1.4.2.5L12 8.4c.4.4.6.9.7 1.4.1.8-.1 1.5-.6 2l-.7.7c-.3.2-.5.3-.8.5.3.1.7.2 1.1.2 1.2.1 2.1 1.2 2.1 2.4v1c0 .7-.3 1.3-.7 1.7-.5.5-1.2.7-1.8.6-.5 0-1-.1-1.5-.2-.3-.1-.6.1-.6.5v1.4c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7V9.7c0-.3-.2-.5-.5-.5zM12 16.6v-1c0-.3-.2-.5-.5-.6-2.5-.2-4.6-2.3-4.6-4.9v-.6c0-.3.4-.5.6-.2l1.8 1.8c.2.2.5.2.7 0l.7-.7c.2-.2.2-.5 0-.7L6.2 5.3c-.2-.2-.5-.2-.7 0L1.1 9.7c-.2.2-.2.5 0 .7l.7.7c.1.2.5.3.6.1l2-1.9c.2-.2.6 0 .6.3v.8c0 3.4 2.9 6.4 6.4 6.7.4 0 .6-.3.6-.5z" + } + }, + share_link: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.6 19.2l-1-.1s-.7-.1-1-.3c-.2 0-.4 0-.5.2l-.3.2c-1.3 1.3-3.5 1.5-4.9.3-1.5-1.4-1.6-3.8-.1-5.2l3.5-3.5c.4-.5 1-.7 1.5-.9.8-.2 1.6-.2 2.2.1.5.2.9.4 1.2.8.2.2.4.4.5.6.2.3.6.4.8.1l1.3-1.3c.2-.2.2-.5.1-.7-.2-.3-.4-.5-.7-.7-.3-.4-.7-.7-1.1-.9-.6-.4-1.4-.7-2.1-.8-1.5-.3-3-.1-4.3.6-.5.3-1.1.7-1.5 1.1l-3.3 3.3C.4 14.6.2 18.6 2.6 21c2.4 2.7 6.6 2.8 9.1.2l1.2-1.1c.3-.3.1-.8-.3-.9zM21 2.7C18.5.3 14.5.5 12.1 3l-1 1c-.3.3-.1.8.3.9.6 0 1.3.2 1.9.4.2 0 .5 0 .6-.2l.2-.2c1.4-1.3 3.5-1.5 4.9-.3 1.6 1.4 1.6 3.8.2 5.2l-3.5 3.5c-.5.5-1 .7-1.6.9-.7.2-1.5.2-2.2-.1-.4-.2-.8-.4-1.2-.8-.2-.2-.3-.4-.5-.6-.1-.3-.6-.4-.8-.1l-1.3 1.3c-.2.2-.2.5 0 .7.2.3.4.5.6.7.3.3.8.7 1.1.9.7.4 1.4.7 2.2.8 1.4.3 3 .1 4.2-.6.6-.3 1.1-.7 1.5-1.1l3.5-3.5c2.6-2.5 2.5-6.7-.2-9.1z" + } + }, + share_poll: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.6.9H2.4C1.6.9.9 1.6.9 2.4v3c0 .8.7 1.4 1.5 1.4h19.2c.8 0 1.5-.6 1.5-1.4v-3c0-.8-.7-1.5-1.5-1.5zm-9.2 4.5v-3h9.2v3h-9.2zM21.6 9H2.4c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h19.2c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM9 13.5v-3h12.6v3H9zm12.6 3.7H2.4c-.8 0-1.5.6-1.5 1.4v3c0 .8.7 1.5 1.5 1.5h19.2c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.4-1.5-1.4zm-5.9 4.4v-3h5.9v3h-5.9z" + } + }, + share_post: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 1.8C5.9 1.8.9 6.4.9 12c0 1.8.5 3.5 1.4 5 .1.2.1.4.1.6l-1 3.2c-.2.6.4 1.1 1 .9l3.2-1.1c.2-.1.4-.1.6.1 1.7.9 3.7 1.5 5.8 1.5 6.2 0 11.1-4.5 11.1-10.2C23 6.4 18 1.8 12 1.8z" + } + }, + share_thanks: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.9 6.5h-3.3c1-1.5.9-3.4-.2-4.6-.7-.6-1.5-1-2.4-1-1 0-1.9.5-2.6 1.2-.2.2-.3.3-.4.5-.1-.2-.2-.3-.4-.5C10.9 1.3 10 .9 9 .9c-.9 0-1.7.4-2.3 1C5.5 3.1 5.5 5 6.4 6.5H3.2C1.9 6.5.9 7.5.9 8.7v1.5c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7V8.7c0-1.2-1-2.2-2.2-2.2zm-10 0c-.8 0-1.9-.3-2.5-1-.6-.6-.6-1.6-.1-2 .2-.3.5-.3.7-.3.4 0 .7.2 1 .4.7.7.9 1.9.9 2.7v.2zm4.7-1c-.6.6-1.8 1-2.5 1v-.3c0-.7.3-1.9.9-2.6.3-.3.6-.5 1-.5.2 0 .5.1.7.3.5.6.5 1.5-.1 2.1zm5.3 7.6h-7.8v10h6.4c1.2 0 2.1-1 2.1-2.1v-7.2c0-.4-.3-.7-.7-.7zm-18.5.7v7.1c0 1.2 1 2.2 2.2 2.2h6.3v-10H3.1c-.4 0-.7.3-.7.7z" + } + }, + sort: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.7 7.4c.3-.3.3-.7 0-1L7.4 1.1c-.2-.3-.7-.3-.9 0L1.2 6.4c-.3.3-.3.7 0 1l.9 1c.3.2.7.2 1 0l1.7-1.7c.2-.3.7-.1.7.3v9.8c0 .4.4.7.7.7h1.4c.4 0 .7-.4.7-.7V7c0-.4.5-.6.8-.3l1.7 1.7c.2.2.6.2.9 0l1-1zm10.1 9.2l-.9-.9c-.3-.3-.7-.3-1 0l-1.7 1.7c-.2.2-.7 0-.7-.4V7.2c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.7c0 .5-.5.6-.8.4l-1.7-1.7c-.2-.3-.6-.3-.9 0l-1 1c-.3.3-.3.7 0 1l5.3 5.3c.3.3.7.3 1 0l5.3-5.3c.2-.3.2-.8-.1-1z" + } + }, + submit_for_approval: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.9 13.5h-4.1c-1.2 0-2.2-1-2.2-2.2.2-3.3 1.7-3.5 1.8-5.6.2-2.2-1.2-4.2-3.4-4.7-2.8-.6-5.4 1.6-5.4 4.4 0 2.4 1.6 2.4 1.8 5.9 0 1.2-1 2.2-2.2 2.2H3.1c-1.2 0-2.2.9-2.2 2.2v1.5c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7v-1.5c0-1.3-1-2.2-2.2-2.2zm0 6.6H3.1c-.4 0-.7.3-.7.7v.1c0 1.2 1 2.2 2.2 2.2h14.8c1.2 0 2.2-1 2.2-2.2v-.1c0-.4-.3-.7-.7-.7z" + } + }, + update: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm4.2 7.2c0 .3-.4.7-.7.7h-4.4c-.3 0-.5.2-.5.4v1c0 .2.2.4.5.4h1.8c1.8 0 3.3 1.4 3.3 3.2v1c0 1.8-1.5 3.2-3.3 3.2h.5v.9c0 .5-.4.9-.9.9s-1-.4-1-.9V18h-3c-.3 0-.7-.3-.7-.7v-1.4c0-.3.4-.7.7-.7h4.4c.3 0 .5-.2.5-.4v-1c0-.2-.2-.4-.5-.4h-1.8c-1.8 0-3.3-1.4-3.3-3.2v-1C7.8 7.4 9.3 6 11.1 6h.4v-.9c0-.5.5-.9 1-.9s.9.4.9.9V6h2.1c.3 0 .7.3.7.7v1.4z" + } + }, + update_status: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.8 14.1l.7.8c.2.1.5.1.6 0l2.2-2.2c.1-.2.2-.4.2-.7V3.7c0-.8-.6-1.4-1.3-1.4H2.3c-.8 0-1.4.6-1.4 1.4v10.1c0 .8.6 1.4 1.4 1.4h6.3c.3 0 .5-.1.7-.2l.8-.8c.3-.4.8-.7 1.3-.8.8-.2 1.7.1 2.4.7zM4.6 6.5c0-.3.2-.5.5-.5h8.3c.3 0 .4.2.4.5v.9c0 .3-.1.4-.4.4H5.1c-.3 0-.5-.1-.5-.4v-.9zm.5 5c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9c0 .3-.2.4-.5.4H5.1zm17.7 1.3l-1-1c-.2-.3-.7-.3-1 0l-5.7 5.7c-.1.2-.5.2-.7 0l-2-2.1c-.3-.3-.7-.3-1 0l-1 1c-.3.3-.3.8 0 1l3.9 4c.3.3.7.3 1 0l7.5-7.6c.4-.3.4-.7 0-1z" + } + }, + upload: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.4 14.3H21c-.4 0-.7.4-.7.7v4.6c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V15c0-.3-.3-.7-.7-.7H1.6c-.4 0-.7.4-.7.7v6.2c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V15c0-.3-.3-.7-.7-.7zM12.5 1.1c-.3-.3-.7-.3-1 0L5.3 7.3c-.3.3-.3.7 0 1l.9 1c.3.3.7.3 1 0l2.6-2.6c.3-.3.8-.1.8.3v9.8c0 .4.3.7.7.7h1.3c.4 0 .8-.4.8-.7V7.1c0-.5.4-.6.8-.4l2.6 2.6c.2.3.6.3.9 0l1-.9c.3-.3.3-.7 0-1l-6.2-6.3z" + } + }, + user: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 19.8v1.1c0 1.2-1 2.2-2.2 2.2H3.1c-1.2 0-2.2-1-2.2-2.2v-1.1c0-2.6 3.2-4.3 6.1-5.6l.3-.1c.2-.1.5-.1.7 0 1.2.8 2.5 1.2 4 1.2s2.8-.4 3.9-1.2c.3-.1.5-.1.7 0l.3.1c3 1.3 6.2 2.9 6.2 5.6zM12 .9c3 0 5.5 2.7 5.5 6.1S15 13.1 12 13.1 6.5 10.4 6.5 7 9 .9 12 .9z" + } + }, + user_activation: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.7 7.4c.3-.3.3-.7 0-1L7.4 1.1c-.2-.3-.7-.3-.9 0L1.2 6.4c-.3.3-.3.7 0 1l.9 1c.3.2.7.2 1 0l1.7-1.7c.2-.3.7-.1.7.3v9.8c0 .4.4.7.7.7h1.4c.4 0 .7-.4.7-.7V7c0-.4.5-.6.8-.3l1.7 1.7c.2.2.6.2.9 0l1-1zm10.1 9.2l-.9-.9c-.3-.3-.7-.3-1 0l-1.7 1.7c-.2.2-.7 0-.7-.4V7.2c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.7c0 .5-.5.6-.8.4l-1.7-1.7c-.2-.3-.6-.3-.9 0l-1 1c-.3.3-.3.7 0 1l5.3 5.3c.3.3.7.3 1 0l5.3-5.3c.2-.3.2-.8-.1-1zM7.4 21.2h-.9c-.5 0-1-.4-1-.9v-.9c0-.5.5-.9 1-.9h.9c.5 0 .9.4.9.9v.9c0 .5-.4.9-.9.9zM17.5 5.5h-.9c-.5 0-.9-.4-.9-.9v-.9c0-.5.4-.9.9-.9h.9c.5 0 1 .4 1 .9v.9c0 .5-.5.9-1 .9z" + } + }, + view_relationship: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zm3.2 10.2h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2z" + } + }, + web_link: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.5.9C6.3.9 1.4 5.9 1.4 12s4.9 11.1 11.1 11.1 11-5 11-11.1S18.6.9 12.5.9zm1.3 15.9c-.6.6-.9 2-1.2 2.9 0 .2-.1.4-.3.5l-.5.2c-.3.1-.6.1-.8-.1-.5-.5-.8-1.1-.8-1.7 0-1.2-1.9-.8-1.9-3 0-1.8-2.3-2.9-4-2.1-.1.1-.2.2-.4.2-.3.1-.5-.1-.6-.4 0-.4-.1-.8-.1-1.3 0-2.2.8-4.2 2.1-5.8 0-.1.1-.1.1-.1 1.1-1.3 2.5-2.3 4.2-2.8.4-.2.8.3.6.7-.2.2-.3.5-.3.8 0 .9-.9 1.5-1.3 1.4-.4-.2-1.4.5-.5 1l.5.2h.1l.2.1c1.6 1 1.3 1.8.6 3-.8 1.3-1.1 0-2.2-.4s-2.2.4-1.9 1.1c.4.8 1.5 0 2.3.8.7.7.7 1.8 2.9 1.1 2.2-.8 2.6-.4 3.3.3.7.8 1.1 2.2-.1 3.4zm5.9-.1c-.9-1.1 0-3.4-1.1-4.7-1.1-1.5-2.6 0-4-2.3-1.4-2.1.4-3.9 2.1-4.5.5-.2 1-.3 1.5-.3.1 0 .2.1.3.2 1.9 1.6 3.2 4.1 3.2 6.9 0 1.7-.5 3.2-1.2 4.6-.2.2-.6.3-.8.1z" + } + }, + viewBox: '0 0 24 24' + }; +} + +/* 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": "M13 17.8c-.5.6-1.5.6-2.1 0-1.7-1.9-5-5.4-5-5.4-1.5-1.6-1.5-4.1 0-5.7.7-.8 1.7-1.2 2.7-1.2 1 0 2 .4 2.7 1.2l.3.4c.2.2.6.2.8 0l.2-.4h.1c.7-.8 1.7-1.2 2.7-1.2 1 0 2 .4 2.7 1.2 1.5 1.5 1.5 4.1 0 5.7 0 0-3.3 3.5-5.1 5.4z" + } + }, + custom10: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.8 18.7c-2.3.9-5.9.7-7.8-1.4-4.7-5.1-.6-12.5 5.1-12.5.9 0 1.8.2 2.7.5.3.2.3.7 0 .9-1.8 1.3-3 3.4-3 5.8s1.2 4.6 3 5.9c.3.2.3.7 0 .8z" + } + }, + custom100: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.9 17.3H9.1c-.1 0-.2.1-.2.3.2.9 1.5 1.6 3.1 1.6 1.5 0 2.8-.7 3-1.6.1-.2 0-.3-.1-.3zm2.9-11.1H6.2c-.8 0-1.4.7-1.4 1.5v6.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4V7.7c0-.8-.6-1.5-1.4-1.5zm0 7.7c0 .3-.3.5-.5.5H6.7c-.2 0-.5-.2-.5-.5V8.2c0-.3.3-.5.5-.5h10.6c.2 0 .5.2.5.5v5.7z" + } + }, + custom101: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.8 9.3c1 0 1.8.8 1.8 1.8s-.8 1.8-1.8 1.8S9 12.1 9 11.1c0-.5.2-1 .5-1.3.3-.3.8-.5 1.3-.5zm.1 7.5c.1 0 .3-.1.5-.2.4-.3.9-.5 1.4-.7-.2-.3-.3-.6-.4-.9v-.1c-.5.2-1.1.4-1.6.4-2.3 0-4.2-1.9-4.2-4.1-.1-2.3 1.7-4.2 4-4.3 2.2-.1 4.2 1.6 4.3 3.9 1 .1 1.5.5 1.8 1.1v-.8c.1-3.3-2.6-6-5.8-6-3.3-.1-6 2.5-6.1 5.8-.1 3.2 2.4 6 5.7 6.1.1 0 .3-.1.4-.2zm7.2.6c-.6-.3-1.4-.9-2.6-1.1.3-.4.5-.9.8-1.5.1-.4.1-.7.1-1.1 0-.3 0-.9-.1-1.1-.2-1-.9-1.3-1.7-1.3-.8 0-1.5.3-1.8 1.3v1.1c0 .4 0 .7.1 1.1.3.6.5 1.1.8 1.5-1.2.2-2 .8-2.6 1.1-1.1.5-1.1 1-1.1 1v1h9.2v-1s0-.5-1.1-1z" + } + }, + custom102: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.5 14.6H5.2c-.1.1-.1.2-.1.2v4.3c0 .1 0 .1.1.2 0 0 .1.1.2.1h2.1c.1 0 .1-.1.2-.1 0-.1.1-.1.1-.2v-4.3s-.1-.1-.1-.2h-.2zm3.9-1.3H9.3c-.2 0-.3.1-.3.2v5.6c0 .1 0 .2.1.2 0 .1.1.1.2.1h2.1s.1 0 .2-.1v-5.8-.2h-.2zm3.8-4.9h-2.1c-.1 0-.1.1-.2.1 0 .1-.1.1-.1.2v10.4c0 .1.1.2.1.2.1.1.1.1.2.1h2.1c.1 0 .2 0 .2-.1.1 0 .1-.1.1-.2V8.7c0-.1 0-.1-.1-.2 0 0-.1-.1-.2-.1zm3.9-3.3H17c-.1 0-.1 0-.2.1-.1 0-.1.1-.1.2v13.7c0 .1 0 .2.1.2.1.1.1.1.2.1h2.1c.1 0 .1 0 .2-.1 0 0 .1-.1.1-.2V5.4c0-.1-.1-.2-.1-.2-.1-.1-.1-.1-.2-.1z" + } + }, + custom103: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.3 13.2c-.4-.2-1-.7-1.8-.8.2-.3.3-.7.5-1.1.1-.3.1-.5.1-.8v-.9c-.2-.7-.7-.9-1.2-.9-.6 0-1.1.2-1.3 1v.8c0 .3 0 .5.1.8.2.5.4.8.6 1.1-.4.1-.8.2-1.2.4.4.2.8.4 1.2.7.2.1.4.2.5.2.7.3 1 .7 1.2 1h2.1V14s0-.4-.8-.8zm-10.1.5c.1 0 .3-.1.5-.2.4-.3.8-.5 1.2-.7-.4-.2-.8-.3-1.2-.4.2-.3.4-.7.6-1.1 0-.3.1-.5.1-.8 0-.3 0-.6-.1-.9-.2-.7-.6-.9-1.2-.9-.5 0-1 .2-1.2.9-.1.3 0 .6 0 .9 0 .2 0 .5.1.8.1.4.3.8.5 1.1-.8.1-1.4.6-1.8.8-.8.4-.8.8-.8.8v.7H7c.3-.5.7-.8 1.2-1zm7.4.5c-.6-.3-1.4-1-2.7-1.2.3-.4.6-1 .8-1.6.2-.4.1-.8.1-1.2 0-.4.1-1 0-1.3-.3-1-1-1.3-1.8-1.3-.9 0-1.6.3-1.8 1.3-.1.3-.1.9-.1 1.3s0 .8.2 1.2c.2.7.5 1.2.8 1.6-1.3.2-2.1.9-2.7 1.2-1.2.6-1.2 1.2-1.2 1.2v1h9.6v-1s0-.6-1.2-1.2z" + } + }, + custom104: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 4.9h-11c-.4 0-.7.4-.7.8v3.7h12.4V5.7c0-.4-.3-.8-.7-.8zm-6.6 5.2v9h6.6c.4 0 .7-.4.7-.8v-8.2h-7.3zm-5.1 0v8.2c0 .2.1.4.2.5.2.2.4.3.6.3h3.6v-9H5.8z" + } + }, + custom105: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.3 6.3H5.7c-.4 0-.8.4-.8.9v.6c0 .1 0 .1.1.2l6.3 5.1c.4.4 1 .4 1.4 0L19 8c.1-.1.1-.1.1-.2v-.6c0-.5-.4-.9-.8-.9zM4.9 9.1c0-.1 0-.2.1-.2h.2l3.1 2.8c.1 0 .1.1.1.1 0 .1 0 .1-.1.2l-3 2.9c-.1 0-.2.1-.3 0-.1 0-.1-.1-.1-.2V9.1zm0 7s0-.1.1-.1l3.8-3.6c.1-.1.2-.1.3 0l1.6 1.4c.7.7 1.8.7 2.6 0l1.6-1.4c.1-.1.2-.1.3 0l3.8 3.5c.1.1.1.1.1.2v.7c0 .2-.1.5-.3.6-.1.2-.3.3-.6.3H5.7c-.4 0-.8-.4-.8-.9v-.7zm14.2-1.4c0 .1 0 .2-.1.2h-.3l-3-2.9c-.1-.1-.1-.1-.1-.2s.1-.1.1-.1l3.1-2.8h.2c.1 0 .1.1.1.2v5.6z" + } + }, + custom106: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.9 4.9c-2.8 0-5.1 2.4-5.1 5.2 0 4.3 5.1 9 5.1 9s5.2-4.9 5.2-9c0-2.8-2.3-5.1-5.2-5.2zm0 7.5c-.9 0-1.7-.6-2.1-1.4-.3-.8-.1-1.8.5-2.4.6-.7 1.6-.9 2.4-.5.9.3 1.4 1.1 1.4 2 0 1.3-1 2.3-2.2 2.3z" + } + }, + custom107: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.7 12.4h-1.5v6.2c0 .1 0 .2-.1.3 0 0-.1.1-.2 0h-2.8c-.2 0-.3-.1-.3-.3v-4.8h-3.5v4.8c0 .2-.1.3-.2.3H7.2c-.1.1-.2 0-.2 0-.1-.1-.1-.2-.1-.3v-6.2H5.5c-.2 0-.3-.1-.3-.2 0-.2 0-.3.1-.3l6.6-6.6c.1-.2.3-.2.3 0l6.6 6.6c.2 0 .2.2.1.3-.1.1-.1.2-.2.2z" + } + }, + custom108: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M11.5 14.5l.1-.7.9-.6-.2-.9h-.1l-1-.1-.4-.6.2-1.1-.7-.5-.1.1-.8.7-.6-.1-.6-1-.9.2v.1l-.1 1.1-.5.4-1.1-.3-.5.8.1.1.6.8v.7l-1 .6.2.9h.1l1 .1.4.5-.2 1.2.8.5.1-.1.7-.7.7.1.6 1 .8-.2v-.2l.1-1 .5-.4 1.2.3.4-.8-.1-.1-.6-.8zm-1.3.1c-.3.5-.6.7-1.1.9-.5.1-.9 0-1.3-.2-.9-.6-1.1-1.7-.6-2.6.2-.4.6-.7 1-.8.5-.1 1 0 1.4.2.8.6 1.1 1.7.6 2.5z" + }, { + "d": "M18.2 11.1l.1-.7.9-.6-.2-.9h-.1l-1-.1-.4-.5.2-1.2-.8-.5-.1.1-.7.7-.7-.1-.6-1-.8.2-.1.2v1l-.6.4-1.1-.2-.4.7.1.1.6.8-.1.7-.9.6.2.9h.1l1 .1.4.6-.2 1.1.7.5.1-.1.8-.6.6.1.6.9.9-.2V14l.1-1 .5-.5 1.1.3.5-.8-.1-.1-.6-.8zm-1.4.2c-.2.4-.6.7-1 .8-.5.1-1 0-1.4-.2-.8-.6-1.1-1.7-.6-2.5.3-.4.6-.7 1.1-.9.5-.1.9 0 1.3.3.9.5 1.1 1.6.6 2.5z" + }] + } + }, + custom109: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.1 11.1l-.3-.5-1 .5c-1.3-2.1-3.6-3.6-6-3.6-3.5 0-6.9 3.3-6.9 6.8v.5h1.7v-.3-.2c0-2.8 2.3-5.1 5.2-5.1 1.9 0 3.6 1 4.5 2.5L13 13.2c-.6-.5-1.4-.6-2.1-.3-.5.2-.8.6-1 1.1-.1.5-.1 1 .2 1.5.5.9 1.6 1.2 2.5.7.7-.3 1.1-1 1.1-1.8l3.1-1.8c.2.5.3 1.1.3 1.7v.5h1.7v-.3-.2c0-.9-.2-1.8-.6-2.6l.9-.6z" + } + }, + custom11: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.5 5.1l1.9 4.1 4.3.6c.5.1.7.7.3 1.1L15.9 14l.8 4.5c0 .5-.5.9-.9.6L12 17l-3.8 2.1c-.4.3-1-.1-.9-.6l.8-4.5L5 10.9c-.4-.4-.2-1 .3-1.1l4.3-.6 1.9-4.1c.2-.4.8-.4 1 0z" + } + }, + custom110: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.8 4.9H9.2c-.4-.1-.8.1-1 .4-.3.2-.5.6-.5 1v11.4c0 .8.7 1.4 1.5 1.4h5.6c.8 0 1.5-.6 1.5-1.4V6.3c0-.4-.2-.8-.5-1-.2-.3-.6-.5-1-.4zm-3.8.8h2c.1 0 .2 0 .2.1s-.1.1-.2.1h-2c-.1 0-.2 0-.2-.1s.1-.1.2-.1zm1.8 12.4c0 .1-.1.2-.2.2h-1.3c-.1 0-.1-.1-.1-.2v-.6l.1-.1h1.4s.1 0 .1.1v.6zm2.6-1.7v.1H8.7h-.1V6.9v-.2H15.3c.1 0 .1.1.1.2v9.5z" + } + }, + custom111: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M12.8 10.8c-.6-.2-1.4-.9-2.6-1.1.3-.3.6-.8.8-1.5.1-.3.1-.6.1-1s.1-.9 0-1.2c-.3-.9-1-1.2-1.7-1.2-.8 0-1.5.3-1.8 1.2-.1.3 0 .8 0 1.2 0 .4 0 .7.1 1 .3.7.5 1.2.8 1.5-1.2.2-2 .9-2.6 1.1-1.1.5-1.1 1.1-1.1 1.1v1.8h5.7c.3-1.2 1.2-2.3 2.3-2.9zM15.1 16.9c-1.1 0-1.9-.8-1.9-1.9 0-1 .8-1.8 1.9-1.8 1 0 1.8.8 1.8 1.8 0 .5-.2 1-.5 1.4-.4.3-.8.5-1.3.5zm4.1-1.4v-.9l-.1-.1-1-.3-.3-.6.5-1.1-.7-.7-.1.1-.9.5-.7-.3-.4-1.1h-.9v.1l-.4 1-.6.2-1.1-.5-.7.7.1.1.5 1-.3.6-1.1.4v.9l.1.1 1 .3.3.6-.6 1.2.7.6h.1l1-.5.6.2.4 1.2h.9l.1-.2.3-1 .7-.2 1 .5.7-.7-.1-.1-.4-.9.2-.7 1.2-.4z" + } + } + }, + custom112: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.3 12c-2.1-.4-4.2-.4-6.2 0-.7.3-1.2.9-1.2 1.6v1.3c0 .7.5 1.3 1.2 1.5.2.1.4.1.6.1l1.6 2.3c.3.4.5.4.5-.1v-1.9c1.2 0 2.3-.1 3.5-.4.7-.2 1.1-.8 1.2-1.5v-1.3c-.1-.7-.5-1.3-1.2-1.6zm5.6-6.6c-2.7-.7-5.6-.7-8.4 0-.7.2-1.2.9-1.2 1.6v2.2c0 .7.5 1.4 1.2 1.6 1.5.4 3.1.5 4.7.5v2.6c0 .5.2.6.5.2l2.2-3.1c.3 0 .7-.1 1-.2.7-.2 1.2-.9 1.2-1.6V7c0-.7-.5-1.4-1.2-1.6z" + } + }, + custom113: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M6.5 14.2h11c.1 0 .1-.1.1-.2V6.4c0-.1-.1-.2-.2-.2H6.7c-.2 0-.4.1-.4.2V14c0 .1.1.2.2.2zm1-6.7c0-.1 0-.2.1-.2h8.8c.1 0 .1.1.1.2v5.4c0 .1 0 .2-.1.2H7.6c-.1 0-.2-.1-.2-.2V7.5h.1zM19.1 17.6l-1.4-2.8c-.1-.1-.1-.1-.2-.1h-11c-.1 0-.1 0-.2.1l-1.4 2.8v.3c.1.1.2.1.3.1h13.6c.1 0 .2 0 .3-.1v-.3zm-5.7-.2h-2.9v-.1l.4-.8.1-.1h2l.1.1.4.8s0 .1-.1.1z" + } + } + }, + custom12: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "12", + "cy": "12", + "r": "7.2" + } + }, + custom13: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 5.3H6.2c-.8 0-1.4.6-1.4 1.4v1.5c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4V6.7c0-.8-.6-1.4-1.4-1.4zm0 4.8H6.2c-.2 0-.4.2-.4.5v6.7c0 .8.6 1.4 1.4 1.4h9.6c.8 0 1.4-.6 1.4-1.4v-6.7c0-.3-.2-.5-.4-.5zm-3.2 2.1c0 .4-.3.8-.7.8h-3.8c-.4 0-.7-.4-.7-.8 0-.3.3-.7.7-.7h3.8c.4 0 .7.3.7.7z" + } + }, + custom14: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.7 7.9h-1.4c-.3 0-.6-.1-.9-.3l-1.1-1c-.3-.2-.6-.4-.9-.4h-2.8c-.4 0-.7.2-1 .4L9.1 7.9c-.1.1-.1.3 0 .4l.5.4c.3.3.7.3 1 .1l1.3-.8c.2-.1.4-.1.6.1l4.1 4c.1.1.2.2.2.4v1.1c0 .2.2.6.5.6h1.4c.3 0 .5-.3.5-.5V8.4c0-.3-.2-.5-.5-.5zm-4.1 4.3L12 9.7l-.7.5c-.3.2-.7.3-1.1.3-.6 0-1.1-.2-1.5-.5l-.9-.8c-.2-.2-.4-.4-.4-.6 0-.3-.2-.4-.5-.4H5.3c-.3 0-.5.1-.5.4V13c0 .2.2.4.5.4h.9c.1 0 .2-.2.3-.3.4-.5.9-.8 1.5-.9.5 0 1.1.2 1.6.6l3 2.7c.2.3.4.5.5.9.1.1.3.2.4.1l1.1-1.2c.6-.5 1-1.9.5-2.5l-.5-.6zm-6 1.8c-.3-.3-.8-.2-1 .1-.3.3-.2.8.1 1.1l3 2.7c.1.2.3.2.5.2s.4-.1.5-.3c.3-.3.2-.8-.1-1.1l-3-2.7z" + } + }, + custom15: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.8 11.1c-.8-.4-1-.7-1-1 0-.4.3-.7.6-1 .5-.4.7-1.1.7-1.8 0-1.3-.8-2.5-2.3-2.5-1.3 0-2.1.9-2.3 2 0 .1 0 .2.1.2 1.1.8 1.7 2.1 1.7 3.6 0 1.1-.3 2.1-1 2.8-.1.2-.1.4.1.4.4.2.9.4 1.4.7.1.1.3.1.4.1H18c.7 0 1.2-.5 1.2-1.1v-.2c0-1.1-1.2-1.7-2.4-2.2zM12.5 15c-1-.4-1.1-.8-1.1-1.2 0-.4.2-.8.6-1.1.6-.5.9-1.2.9-2.1 0-1.6-1-2.9-2.8-2.9S7.3 9 7.3 10.6c0 .9.3 1.6.9 2.1.4.3.7.7.7 1.1 0 .4-.2.8-1.2 1.2-1.5.6-2.9 1.3-2.9 2.6v.2c0 .8.7 1.4 1.5 1.4h7.6c.8 0 1.5-.6 1.5-1.4v-.2c0-1.3-1.4-2-2.9-2.6z" + } + }, + custom16: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.3 16.8H17v-5.3c0-.2-.2-.5-.4-.5h-.5c-.3 0-.5.3-.5.5v5.3h-1.4v-5.3c0-.2-.3-.5-.5-.5h-.5c-.3 0-.5.3-.5.5v5.3h-1.4v-5.3c0-.2-.2-.5-.5-.5h-.5c-.2 0-.5.3-.5.5v5.3H8.4v-5.3c0-.2-.2-.5-.5-.5h-.5c-.2 0-.4.3-.4.5v5.3h-.3c-.8 0-1.4.6-1.4 1.4v.5c0 .3.2.5.5.5h12.4c.3 0 .5-.2.5-.5v-.5c0-.8-.6-1.4-1.4-1.4zm1.2-8.5L12.6 5c-.2-.1-.4-.2-.6-.2-.2 0-.4.1-.6.2L5.5 8.3c-.1.1-.2.2-.2.4v.4c0 .3.2.5.5.5h12.4c.3 0 .5-.2.5-.5v-.4c0-.2-.1-.3-.2-.4zm-6.5.3c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.6 1.2 1.2-.5 1.2-1.2 1.2z" + } + }, + custom17: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.3 6.9c.1.2.3.3.5.3h2.4c.2 0 .4-.1.4-.3l1-1.7c.1-.2-.1-.4-.2-.4H9.6c-.1 0-.3.2-.2.4l.9 1.7zm3.1 1.7h-2.8c-2.4 0-4.4 2-4.4 4.4v4.8c0 .8.7 1.4 1.5 1.4h8.6c.8 0 1.5-.6 1.5-1.4V13c0-2.4-2-4.4-4.4-4.4zm-.7 8.1v.8c0 .2-.1.3-.3.3h-.9c-.2 0-.2-.1-.2-.3v-.8c-.7-.1-1.3-.4-1.5-.6-.2-.1-.2-.3-.1-.5l.3-.5c.1-.1.2-.2.4-.2.1 0 .1 0 .2.1.5.3.9.4 1.3.4.3 0 .6-.2.6-.4 0-.1-.1-.3-1.1-.6-.8-.3-1.8-.8-1.8-1.9 0-.7.5-1.5 1.7-1.7v-.7c0-.2 0-.3.1-.3h1c.2 0 .3.1.3.3v.7c.5.1 1 .4 1.2.5.1 0 .1.1.1.3s0 .2-.1.3l-.3.4c-.1.1-.3.2-.4.2H13c-.5-.3-.9-.4-1.2-.4-.4 0-.6.2-.6.3 0 .2.1.3.9.6 1.1.4 2.2.9 2.2 2 0 .8-.6 1.5-1.6 1.7z" + } + }, + custom18: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.4 8.6h2.5c.2 0 .4-.1.4-.3 0-.1 0-.2-.1-.2L14 4.9c-.1-.1-.1-.1-.2-.1-.2 0-.4.1-.4.3v2.6c0 .5.5.9 1 .9zm5.6 3.3l-.3-.3c-.2-.2-.5-.2-.6 0l-3.7 3.7c-.1.1 0 .1 0 .1v.9h.9l3.7-3.7c.2-.2.2-.5 0-.7zm-3 5.9h-2.2c-.5 0-.9-.4-.9-1v-1.6c0-.3.1-.5.3-.7l2.9-3c.1-.1.2-.2.2-.3v-.6c0-.3-.2-.5-.5-.5h-3.4c-.8 0-1.4-.7-1.4-1.5V5.3c0-.3-.2-.5-.5-.5H6.7c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.1c.7 0 1.3-.5 1.5-1.2 0-.1-.1-.2-.3-.2zM7.2 9.1c0-.2.2-.5.5-.5h1.9c.3 0 .5.3.5.5v.5c0 .3-.2.5-.5.5H7.7c-.3 0-.5-.2-.5-.5v-.5zm4.8 6.3c0 .2-.2.4-.5.4H7.7c-.3 0-.5-.2-.5-.4v-.5c0-.3.2-.5.5-.5h3.8c.3 0 .5.2.5.5v.5zm1-2.9c0 .2-.3.5-.5.5H7.7c-.3 0-.5-.3-.5-.5V12c0-.3.2-.5.5-.5h4.8c.2 0 .5.2.5.5v.5z" + } + }, + custom19: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19 7.9c0-.2-.3-.2-.4-.1l-2.4 2.4c-.2.2-.5.2-.7 0l-1.7-1.7c-.2-.2-.2-.5 0-.7l2.4-2.4c.2-.1.1-.4 0-.4-.5-.1-.9-.2-1.3-.2-2.6 0-4.6 2.2-4.3 4.8 0 .4.1.8.3 1.1l-5.6 5.6c-.7.7-.7 1.8 0 2.4.3.4.7.5 1.2.5s.8-.1 1.2-.5l5.6-5.6c.3.2.7.3 1.1.3 2.6.3 4.8-1.7 4.8-4.3 0-.4-.1-.8-.2-1.2z" + } + }, + custom2: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M14.2 5.3c-.8-.5-3.4-1-4.4.7-.4.8.1 2.2.6 3.1.1.2.3.3.6.2.3-.1.6-.2 1-.2.2 0 .5 0 .7.1.2.1.5 0 .5-.2.2-.3.5-.7 1-1.1 1.2-.9.7-2.1 0-2.6zm-1.3 9.4c-.3.1-.6.2-.9.2-.3 0-.6-.1-.8-.1-.3-.1-.5 0-.6.2-.2.3-.4.7-.9 1.1-1.2.9-.7 2.2 0 2.6s3.3 1 4.3-.7c.4-.7-.1-2.1-.5-3-.1-.2-.4-.3-.6-.3zM18 9.8c-.8-.4-2.2.1-3.1.6-.2.1-.3.3-.2.6.1.3.2.6.2 1 0 .2 0 .5-.1.7-.1.2 0 .5.2.5.3.2.7.5 1.1 1 .9 1.2 2.1.7 2.6 0s1-3.4-.7-4.4zm-8.7 3.1c-.1-.3-.2-.6-.2-.9 0-.3.1-.6.1-.8.1-.3 0-.5-.2-.6-.3-.2-.7-.4-1.1-.9-.9-1.2-2.2-.7-2.6 0S4.3 13 6 14c.7.4 2.1-.1 3-.5.2-.1.3-.4.3-.6z" + }, + "circle": { + "cx": "12", + "cy": "12", + "r": "1.44" + } + } + }, + custom20: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.1 11.4c0-.1-.2-.3-.4-.1l-3.3 2.5c-.4.3-.6.7-.6 1.2v1c0 .2.2.3.3.2l3.7-1.4c.2-.1.3-.2.3-.4v-3zm5.3 6.8l-1-.7V6.6c0-.6-.7-1.3-1.1-1.7-.2-.1-.4-.1-.6 0-.4.4-1.2 1.1-1.2 1.7v10.9l-1.1.7c-.2.2-.3.4-.3.6v.2c0 .1.1.2.2.2h5.3c.1 0 .3-.1.3-.2 0-.4-.2-.6-.5-.8zm4.2-4.4l-3.3-2.5c-.2-.2-.4 0-.4.1v3c0 .2.1.4.3.4l3.7 1.4c.2.1.3 0 .3-.2v-1c0-.5-.2-.9-.6-1.2z" + } + }, + custom21: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.8 17.1c0-.2-.2-.3-.4-.3h-2.8c-.2 0-.4.1-.4.3l-.7 1.7c0 .2.1.4.2.4h4.6c.1 0 .2-.2.2-.4l-.7-1.7zm4-12.3H6.2c-.8 0-1.4.6-1.4 1.4v7.7c0 .8.6 1.5 1.4 1.5h11.6c.8 0 1.4-.7 1.4-1.5V6.2c0-.8-.6-1.4-1.4-1.4zM12 14.9c-.4 0-.7-.3-.7-.7s.3-.8.7-.8.7.4.7.8-.3.7-.7.7zm5.8-2.4c0 .2-.3.5-.5.5H6.7c-.2 0-.5-.3-.5-.5V6.7c0-.2.3-.5.5-.5h10.6c.2 0 .5.3.5.5v5.8z" + } + }, + custom22: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.6 15.3l-1.4-1.2c-.5-.4-1.3-.4-1.8 0l-1.4 1c-.2.2-.5.1-.6 0L11 13l-2.1-2.4c-.2-.2-.2-.4 0-.6l1-1.4c.4-.6.3-1.3-.1-1.8L8.6 5.3c-.5-.6-1.5-.7-2.1-.1L5.2 6.5c-.3.3-.4.7-.4 1.1.1 3 1.5 5.9 3.6 8s4.9 3.4 8 3.6c.4 0 .8-.2 1-.5l1.3-1.3c.7-.5.6-1.5-.1-2.1z" + } + }, + custom23: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.7 13.4c.2.2.4.2.6 0l6.8-6.2c.1-.3.1-.7-.4-.7l-13.4.1c-.4 0-.6.3-.4.6l6.8 6.2zm7.5-3.6c0-.3-.4-.4-.6-.2l-5.3 4.9c-.3.3-.8.5-1.3.5s-.9-.2-1.3-.5L5.4 9.6c-.2-.2-.6-.1-.6.2v6.3c0 .8.7 1.4 1.5 1.4h11.5c.8 0 1.4-.6 1.4-1.4V9.8z" + } + }, + custom24: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.3 4.8H7.7c-.8 0-1.5.6-1.5 1.4 0 .3.3.5.5.5h10.6c.2 0 .5-.2.5-.5 0-.8-.7-1.4-1.5-1.4zm0 3.4H7.7c-.3 0-.5.2-.5.4v10.1c0 .3.2.5.5.5h2.6c.3 0 .5-.2.5-.5v-1.9c0-.3.2-.5.5-.5h1.4c.3 0 .5.2.5.5v1.9c0 .3.2.5.5.5h2.6c.3 0 .5-.2.5-.5V8.6c0-.2-.2-.4-.5-.4zm-5 6.4c0 .3-.2.5-.5.5h-1c-.2 0-.4-.2-.4-.5v-.9c0-.3.2-.5.4-.5h1c.3 0 .5.2.5.5v.9zm0-3.3c0 .2-.2.5-.5.5h-1c-.2 0-.4-.3-.4-.5v-1c0-.2.2-.5.4-.5h1c.3 0 .5.3.5.5v1zm3.3 3.3c0 .3-.2.5-.4.5h-1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h1c.2 0 .4.2.4.5v.9zm0-3.3c0 .2-.2.5-.4.5h-1c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5h1c.2 0 .4.3.4.5v1z" + } + }, + custom25: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 6.6c-.2-.9-1-1.7-1.9-1.8-.6-.1-1.2.1-1.7.5-.1.1-.1.3.1.4 1.1.6 2 1.4 2.7 2.4.1.2.3.2.4 0 .4-.4.5-1 .4-1.5zM8.3 5.7c.1-.1.2-.3.1-.4-.5-.4-1.1-.6-1.8-.5-.9.1-1.6.9-1.8 1.8-.1.5 0 1.1.3 1.5.1.2.3.2.4 0 .8-1 1.7-1.8 2.8-2.4zm3.7.5c-3.6 0-6.5 2.9-6.5 6.5 0 1.5.5 2.8 1.3 3.9l-1 .9c-.4.4-.4 1 0 1.4.2.2.4.3.7.3s.5-.1.7-.3l.9-1c1.1.8 2.5 1.3 3.9 1.3s2.8-.5 3.8-1.3l1 1c.2.2.5.3.7.3s.5-.1.7-.3c.4-.4.4-1 0-1.4l-1-.9c.8-1.1 1.3-2.4 1.3-3.9 0-3.6-2.9-6.5-6.5-6.5zm-4.6 6.5c0-2.5 2.1-4.5 4.6-4.5s4.6 2 4.6 4.5-2.1 4.6-4.6 4.6-4.6-2.1-4.6-4.6zm5.3-.3v-1.8c0-.4-.3-.8-.7-.8s-.7.4-.7.8v2.1c0 .2.1.4.2.5l1.7 1.7c.1.1.3.2.5.2s.3-.1.5-.2c.3-.3.3-.7 0-1l-1.5-1.5z" + } + }, + custom26: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.2 4.8c-.8 0-1.4.6-1.4 1.4 0 .5.2.9.5 1.1v10.9c0 .6.4 1 .9 1s1-.4 1-1V7.3c.3-.2.5-.6.5-1.1 0-.8-.7-1.4-1.5-1.4zm12.6 2.6c-3.7 2-6.3-1.4-9.8-.1-.2 0-.4.2-.4.4v6.2c0 .3.4.6.7.5 3.4-1.1 5.9 2.2 9.7.1.1-.1.2-.2.2-.4V7.6c0-.2-.2-.3-.4-.2z" + } + }, + custom27: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.8 15.1h12.4c.3 0 .5-.2.5-.5V7c0-.8-.6-1.5-1.4-1.5H6.7c-.8 0-1.4.7-1.4 1.5v7.6c0 .3.2.5.5.5zm.9-7.7c0-.2.2-.4.5-.4h9.6c.3 0 .5.2.5.4v5.8c0 .3-.2.5-.5.5H7.2c-.3 0-.5-.2-.5-.5V7.4zm12.5 9.2h-5.3c-.2 0-.5.2-.5.4s-.2.5-.4.5h-2c-.2 0-.4-.2-.4-.5s-.3-.4-.5-.4H4.8c-.3 0-.5.2-.5.4 0 .8.7 1.5 1.5 1.5h12.4c.8 0 1.5-.7 1.5-1.5 0-.2-.2-.4-.5-.4z" + } + }, + custom28: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.4 4.8H8.6c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h6.8c.8 0 1.4-.6 1.4-1.4V6.2c0-.8-.6-1.4-1.4-1.4zM12 18.7c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.7.3.7.7-.3.7-.7.7zm3.4-2.4c0 .3-.3.5-.5.5H9.1c-.2 0-.5-.2-.5-.5V7.2c0-.3.3-.5.5-.5h5.8c.2 0 .5.2.5.5v9.1z" + } + }, + custom29: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.7 6.7h-.4c-.3 0-.5.3-.5.5v9.7l.6.8c.1.1.1.1.2 0l.6-.8V7.2c0-.2-.2-.5-.5-.5zm-3.8-1.9H7.2c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h6.7c.8 0 1.5-.6 1.5-1.4V6.2c0-.8-.7-1.4-1.5-1.4zm-3.3 13.9c-.4 0-.8-.3-.8-.7s.4-.7.8-.7.7.3.7.7-.3.7-.7.7zm3.3-2.4c0 .3-.2.5-.5.5H7.7c-.3 0-.5-.2-.5-.5V7.2c0-.3.2-.5.5-.5h5.7c.3 0 .5.2.5.5v9.1z" + } + }, + custom3: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 9.1c-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.9zm7.2 2.9c0-.8-2-1.3-2.3-2-.3-.8.8-2.5.2-3.1-.6-.6-2.3.5-3.1.2-.7-.3-1.2-2.3-2-2.3s-1.3 2-2 2.3c-.8.3-2.5-.8-3.1-.2-.6.6.5 2.3.2 3.1-.3.7-2.3 1.2-2.3 2s2 1.3 2.3 2c.3.8-.8 2.5-.2 3.1.6.6 2.3-.5 3.1-.2.7.3 1.2 2.3 2 2.3s1.3-2 2-2.3c.8-.3 2.5.8 3.1.2.6-.6-.5-2.3-.2-3.1.3-.7 2.3-1.2 2.3-2zM12 16.3c-2.4 0-4.3-1.9-4.3-4.3S9.6 7.7 12 7.7s4.3 1.9 4.3 4.3-1.9 4.3-4.3 4.3z" + } + }, + custom30: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.2 6.8c-1.4-1.3-3.1-2-5-2-.4 0-.7.3-.7.7s.3.7.7.7c1.5 0 2.9.6 4 1.6 1 1.1 1.6 2.5 1.6 4 0 .4.3.7.7.7s.7-.3.7-.7c0-1.9-.7-3.6-2-5zm-5 .9c-.4 0-.7.3-.7.7s.3.7.7.7c.7 0 1.4.3 1.9.8s.8 1.1.8 1.9c0 .4.3.7.7.7s.7-.3.7-.7c0-1.1-.4-2.2-1.2-2.9s-1.8-1.2-2.9-1.2zm-1 6.9l.6-1.7c.5.2.9.1 1.3-.3.5-.5.5-1.2 0-1.7s-1.2-.5-1.7 0c-.4.4-.4.9-.2 1.4l-1.6.7-2.8-2.8c-.2-.2-.5-.2-.7 0-1.8 2.1-1.7 5.4.4 7.4 2 2 5.2 2.1 7.3.3.3-.1.3-.5.1-.7l-2.7-2.6z" + } + }, + custom31: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.1 10.4l-1.2-3.7c-.2-.7-.8-1.2-1.5-1.2H8.6c-.7 0-1.3.5-1.6 1.2l-1.1 3.7c-.6.1-1.1.7-1.1 1.4v2.8c0 .7.4 1.2 1 1.4v2c0 .3.2.5.4.5h2c.2 0 .4-.2.4-.5v-1.9h6.8V18c0 .3.2.5.4.5h2c.2 0 .4-.2.4-.5v-2c.6-.2 1-.7 1-1.4v-2.8c0-.7-.5-1.3-1.1-1.4zm-10.9 4c-.7 0-1.2-.5-1.2-1.2S6.5 12 7.2 12s1.2.5 1.2 1.2-.5 1.2-1.2 1.2zm5.3-4.1H7.7c-.1 0-.3-.1-.2-.3l.9-2.9c0-.1.1-.1.2-.1h6.7c.1 0 .2 0 .3.1l.9 2.9c0 .2-.1.3-.3.3h-3.7zm4.1 4.1c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.6 1.2-1.2 1.2z" + } + }, + custom32: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.8 8.5l-5.6 3.2c-.1 0-.2.1-.3.1-.3 0-.6-.2-.7-.4-.2-.4 0-.8.4-1l1.8-1.1V7.5c0-.2-.2-.3-.3-.2l-6.9 3.9c-.1.1-.2.1-.3.1-.3 0-.5-.1-.7-.4-.2-.3 0-.8.3-1l1.2-.6v-4c0-.3-.2-.5-.5-.5H5.3c-.3 0-.5.2-.5.5v12.5c0 .8.6 1.4 1.4 1.4h4.1c.3 0 .5-.2.5-.5V17c0-.2.2-.4.5-.4h1.4c.3 0 .5.2.5.4v1.7c0 .3.2.5.5.5h4.1c.8 0 1.4-.6 1.4-1.4V8.7c0-.2-.2-.3-.4-.2zM8.4 15.1c0 .3-.2.5-.5.5h-.5c-.2 0-.4-.2-.4-.5v-1.4c0-.3.2-.5.4-.5h.5c.3 0 .5.2.5.5v1.4zm2.9 0c0 .3-.2.5-.5.5h-.5c-.2 0-.5-.2-.5-.5v-1.4c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v1.4zm2.9 0c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-1.4c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v1.4zm2.8 0c0 .3-.2.5-.4.5h-.5c-.3 0-.5-.2-.5-.5v-1.4c0-.3.2-.5.5-.5h.5c.2 0 .4.2.4.5v1.4z" + } + }, + custom33: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.6 10.1h-7c-.2 0-.4.2-.4.5v1.9c0 .2.2.5.4.5h7c.3 0 .5-.3.5-.5v-1.9c0-.3-.2-.5-.5-.5zm-3.4 2.1c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.8.3.8.7-.4.7-.8.7zm7-5.5H4.8c-.3 0-.5.2-.5.5v.5c0 .5.5.9 1 .9v8.7c0 .2.2.5.5.5h.4c.3 0 .5-.3.5-.5V8.6h10.8v8.7c0 .2.2.5.5.5h.5c.2 0 .5-.3.5-.5V8.6h-.3c.5 0 1-.4 1-.9v-.5c0-.3-.2-.5-.5-.5z" + } + }, + custom34: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.1 7.2h3.8c.3 0 .5-.3.5-.5-.3-1.1-1.2-1.9-2.4-1.9s-2.1.8-2.4 1.9c0 .2.2.5.5.5zm8.4 6.2c.4 0 .7-.3.7-.7 0-.4-.4-.7-.8-.7h-2.1v-1.2c1.4-.6 2.4-2 2.4-3.8 0-.4-.2-.7-.6-.8-.4 0-.8.3-.8.8 0 1-.5 1.9-1.2 2.3-.3-.4-.7-.7-1.2-.7H9.1c-.5 0-.9.3-1.2.7C7.2 8.9 6.7 8 6.7 7c0-.4-.3-.7-.7-.8-.4 0-.7.4-.7.8 0 1.7 1 3.2 2.4 3.8V12H5.6c-.4 0-.8.3-.8.7 0 .4.3.7.7.7h2.2v1.2c-1.4.6-2.4 2.1-2.4 3.9 0 .3.2.6.6.7.4.1.8-.3.8-.7 0-1 .5-1.9 1.2-2.3.4 1.3 1.4 2.4 2.8 2.8.3.1.6-.2.6-.5v-5.7c0-.4.3-.8.7-.8.4 0 .7.3.7.7v5.8c0 .4.3.6.6.5 1.4-.4 2.4-1.5 2.8-2.8.7.4 1.2 1.2 1.2 2.2 0 .4.3.8.7.8.4 0 .7-.3.7-.7 0-1.8-1-3.3-2.4-3.9v-1.2h2.2z" + } + }, + custom35: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.6 9.6c-.4 0-.8.3-.8.7v1.2c0 2.1-1.7 3.9-3.8 3.9s-3.8-1.8-3.8-3.9v-1.2c0-.4-.4-.7-.8-.7s-.7.3-.7.7v1.2c0 2.7 2 4.9 4.6 5.3v1h-1.2c-.4 0-.7.3-.7.7s.3.7.7.7h3.8c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1.2v-1c2.6-.4 4.6-2.6 4.6-5.3v-1.2c0-.4-.3-.7-.7-.7zM12 13.9c1.3 0 2.4-1.1 2.4-2.4V7.2c0-1.3-1.1-2.4-2.4-2.4-1.3 0-2.4 1.1-2.4 2.4v4.3c0 1.3 1.1 2.4 2.4 2.4z" + } + }, + custom36: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.3 17.3h-1c-.2 0-.3.1-.4.2l-.3.6c-.2.3-.2.8.2 1 .1.1.2.1.4.1s.4-.1.6-.4l.7-1.2c.1-.1 0-.3-.2-.3zm6.8.2c-.1-.1-.2-.2-.4-.2h-1c-.2 0-.3.2-.2.3l.7 1.2c.2.3.4.4.6.4.2 0 .3 0 .4-.1.4-.2.4-.7.2-1l-.3-.6zm0-12.7H7.9c-.8 0-1.4.6-1.4 1.4v8.2c0 .8.6 1.4 1.4 1.4h8.2c.8 0 1.4-.6 1.4-1.4V6.2c0-.8-.6-1.4-1.4-1.4zM8.6 14.9c-.4 0-.7-.3-.7-.7s.3-.8.7-.8.8.4.8.8-.4.7-.8.7zm6.8 0c-.4 0-.8-.3-.8-.7s.4-.8.8-.8.7.4.7.8-.3.7-.7.7zm.7-2.9c0 .3-.2.5-.5.5H8.4c-.3 0-.5-.2-.5-.5V7.2c0-.3.2-.5.5-.5h7.2c.3 0 .5.2.5.5V12z" + } + }, + custom37: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 13.4h-3.1v-2.8c.6.6 1.5.9 2.4.9.4 0 .7-.3.7-.7s-.3-.7-.7-.7c-1.3 0-2.4-1.2-2.4-2.7v-.7c.2 0 .5-.2.5-.5v-.4c0-.3-.3-.5-.5-.5h-1.5c-.2 0-.4.2-.4.5v.4c0 .3.2.5.4.5v.7c0 1.5-1.1 2.7-2.6 2.7S9.4 8.9 9.4 7.4v-.7c.2 0 .4-.2.4-.5v-.4c0-.3-.2-.5-.4-.5H7.9c-.2 0-.5.2-.5.5v.4c0 .3.3.5.5.5v.7c0 1.5-1.1 2.7-2.4 2.7-.4 0-.7.3-.7.7s.3.7.7.7c.9 0 1.8-.3 2.4-.9v2.8H4.8c-.3 0-.5.3-.5.5v1.2c0 .2.2.5.5.5h1v2.6c0 .3.2.5.4.5h1.5c.2 0 .5-.2.5-.5v-1c0-.8.6-1.4 1.4-1.4h4.8c.8 0 1.4.6 1.4 1.4v1c0 .3.3.5.5.5h1.5c.2 0 .4-.2.4-.5v-2.6h1c.3 0 .5-.3.5-.5v-1.2c0-.2-.2-.5-.5-.5zm-9.8-2.9c.7.6 1.6 1 2.6 1s1.9-.3 2.6-1v2.9H9.4v-2.9z" + } + }, + custom38: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 10.8c-1.1 0-1.9.9-1.9 1.9s.8 1.9 1.9 1.9 1.9-.8 1.9-1.9-.8-1.9-1.9-1.9zm5.8-2.4h-2c-.2 0-.3-.1-.4-.3l-.6-1.3c-.3-.5-.8-.8-1.3-.8h-3c-.5 0-1 .3-1.3.8l-.6 1.3c-.1.2-.2.3-.4.3h-2c-.8 0-1.4.6-1.4 1.4v6.8c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4V9.8c0-.8-.6-1.4-1.4-1.4zM12 16.1c-1.8 0-3.4-1.5-3.4-3.3s1.6-3.4 3.4-3.4 3.4 1.5 3.4 3.4-1.6 3.3-3.4 3.3z" + } + }, + custom39: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.3 6.9c-.1-.2-.3-.3-.5-.3L5.1 9.7c-.2.1-.3.4-.3.6l.4 1.5c.1.2.3.4.6.3l2.4-.3c.1.3.2.5.4.8l-2.1 5.6c-.2.4 0 .8.4 1h.3c.2 0 .5-.2.6-.5l2-5.4c.2.1.3.1.5.1s.3 0 .5-.1l1.9 5.4c.1.3.4.5.7.5h.3c.3-.2.5-.6.4-1L12 12.5c.3-.3.4-.8.4-1.3l3.4-.5c.2 0 .4-.2.3-.4l-.8-3.4zm3.9 3.3l-1.3-4.8c-.1-.4-.5-.7-.9-.6-.4.1-.7.5-.6.9l1.4 4.9c.1.4.5.6.8.5.4-.1.7-.5.6-.9z" + } + }, + custom4: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.3 7.8l5-2.8c.4-.3 1-.3 1.5 0l4.9 2.8c.5.3.8.8.8 1.3v5.8c0 .5-.3 1-.8 1.3L12.8 19c-.5.3-1.1.3-1.5 0l-5-2.8c-.5-.3-.8-.8-.8-1.3V9.1c0-.5.3-1 .8-1.3z" + } + }, + custom40: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 6.7H6.2c-.8 0-1.4.7-1.4 1.5v8.1c0 .8.6 1.5 1.4 1.5h11.6c.8 0 1.4-.7 1.4-1.5V8.2c0-.8-.6-1.5-1.4-1.5zm0 1.5v1.4H6.2V8.2h11.6zM6.2 16.3V12h11.6v4.3H6.2zm4.1-3.1c-.3 0-.6.2-.7.4-.1.1-.1.1-.2 0-.1-.2-.4-.4-.8-.4-.5 0-.9.4-.9 1s.4.9.9.9c.4 0 .7-.1.8-.4.1-.1.1-.1.2 0 .1.3.4.4.7.4h.1c.5 0 .9-.4.9-.9v-.1c0-.5-.4-.9-1-.9zm5.5.2H13c-.3 0-.5.3-.5.5v.5c0 .3.2.5.5.5h2.8c.3 0 .5-.2.5-.5v-.5c0-.2-.2-.5-.5-.5z" + } + }, + custom41: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M18.2 7H5.8c-.8 0-1.5.6-1.5 1.4v7c0 .8.7 1.4 1.5 1.4h12.4c.8 0 1.5-.6 1.5-1.4v-7c0-.8-.7-1.4-1.5-1.4zM7.4 15.4c0-1-.7-1.7-1.6-1.7v-3.6c.9 0 1.6-.8 1.6-1.7h9.2c0 .9.7 1.7 1.6 1.7v3.6c-.9 0-1.6.7-1.6 1.7H7.4z" + }, + "circle": { + "cx": "12", + "cy": "11.76", + "r": "2.4" + } + } + }, + custom42: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 5.3H6.2c-.8 0-1.4.6-1.4 1.4v1.5c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4V6.7c0-.8-.6-1.4-1.4-1.4zm0 4.8H6.2c-.2 0-.4.2-.4.5v6.7c0 .8.6 1.4 1.4 1.4h9.6c.8 0 1.4-.6 1.4-1.4v-6.7c0-.3-.2-.5-.4-.5zm-3.2 2.1c0 .4-.3.8-.7.8h-3.8c-.4 0-.7-.4-.7-.8 0-.3.3-.7.7-.7h3.8c.4 0 .7.3.7.7z" + } + }, + custom43: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.6 10.4c0-.1.1-.1.1-.2v-.3l-.1-.1v-.1s-.1 0-.1-.1l-2.8-4c-.2-.2-.4-.3-.6-.3H7.4c-.2 0-.4.1-.6.3L4 9.7h-.1v.1c0 .1-.1.1-.1.1v.3c0 .1.1.1.1.2v.1H4v.1l7.2 7.9.1.1h.1v.1h.6v-.1h.1v-.1h.1l7.2-7.9v-.1l.2-.1zm-7.8-1h-1.2l1.2-2 1.1 2h-1.1zm0 1.4h1.4l-1.4 4.7-1.5-4.7h1.5zM13 6.7h1.8l-.7 1.9L13 6.7zM9.4 8.6l-.7-1.9h1.8L9.4 8.6zm-.6 2.2l1.4 4.3-4-4.3h2.6zm5.9 0h2.6l-3.9 4.3 1.3-4.3zm2.9-1.4h-2.2l.7-2.1 1.5 2.1zM7.4 7.3l.7 2.1H6l1.4-2.1z" + } + }, + custom44: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.7 6.9c-1.2-1.5-2.3-2.1-4.5-2.1-.9 0-2.1.4-2.6.5 0-.3-.2-.5-.5-.5h-.9c-.3 0-.5.2-.5.5v1.9c0 .3.2.5.5.5h.9c.3 0 .5-.2.5-.5h.5c.4 0 .7.3.7.7 0 .4.3.7.7.7v3.9c-.5 0-.9.4-.9.9v4.4c0 .8.6 1.4 1.4 1.4h.5c.8 0 1.4-.6 1.4-1.4v-4.4c0-.5-.4-.9-.9-.9V8.6c.4 0 .7-.5.7-.9s.3-.7.6-.7c1 0 1.5.3 1.8.6.1.1.4.1.5 0 .2-.2.3-.4.1-.7z" + } + }, + custom45: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.9 10.3h8.2v3.4H7.9zm11.8-.4V8.6c0-.8-.7-1.4-1.5-1.4H5.8c-.8 0-1.5.6-1.5 1.4v1.3c0 .2.1.3.3.4.5.4.9 1 .9 1.7s-.4 1.3-.9 1.6c-.2.1-.3.3-.3.4v1.4c0 .8.7 1.4 1.5 1.4h12.4c.8 0 1.5-.6 1.5-1.4v-1.3c0-.2-.1-.3-.3-.4-.5-.4-.9-1-.9-1.7s.4-1.3.9-1.6c.2-.2.3-.3.3-.5zM17 15.1H7c-.3 0-.5-.2-.5-.5V9.4c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v5.2c0 .3-.2.5-.5.5z" + } + }, + custom46: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.6 8.9H9.4c-.3 0-.5.2-.5.5v5.2c0 .3.2.5.5.5h5.2c.3 0 .5-.2.5-.5V9.4c0-.3-.2-.5-.5-.5zm4.2-2.4c.3 0 .4-.2.4-.4v-.8c0-.3-.2-.5-.5-.5h-.8c-.2 0-.4.1-.4.4-.2.4-.6.8-1.2.8s-1-.4-1.1-.8c-.1-.3-.3-.4-.5-.4h-1.1c-.2 0-.4.1-.4.4-.2.4-.6.8-1.2.8s-1-.4-1.2-.8c0-.3-.2-.4-.4-.4H9.3c-.2 0-.4.1-.5.4-.1.4-.6.8-1.1.8-.5 0-1-.4-1.2-.8 0-.3-.2-.4-.4-.4h-.8c-.3 0-.5.2-.5.5v.8c0 .2.1.4.4.4.4.2.8.6.8 1.2s-.4 1-.8 1.1c-.3.1-.4.3-.4.5v1.1c0 .2.1.4.4.4.4.2.8.6.8 1.2s-.4 1-.8 1.2c-.3 0-.4.2-.4.4v1.1c0 .2.1.4.4.5.4.1.8.6.8 1.1s-.4 1-.8 1.2c-.3 0-.4.2-.4.4v.8c0 .3.2.5.5.5h.8c.2 0 .4-.1.4-.4.2-.4.6-.8 1.2-.8.5 0 1 .4 1.1.8.1.3.3.4.5.4h1.1c.2 0 .4-.1.4-.4.2-.4.6-.8 1.2-.8s1 .4 1.2.8c0 .3.2.4.4.4h1.1c.2 0 .4-.1.5-.4.1-.4.6-.8 1.1-.8s1 .4 1.2.8c0 .3.2.4.4.4h.8c.3 0 .5-.2.5-.5v-.8c0-.2-.1-.4-.4-.4-.4-.2-.8-.6-.8-1.2s.4-1 .8-1.1c.3-.1.4-.3.4-.5v-1.1c0-.2-.1-.4-.4-.4-.4-.2-.8-.6-.8-1.2s.4-1 .8-1.2c.3 0 .4-.2.4-.4V9.3c0-.2-.1-.4-.4-.5-.4-.1-.8-.6-.8-1.1s.4-1 .8-1.2zm-2.2 8.6c0 .8-.7 1.5-1.5 1.5H8.9c-.8 0-1.5-.7-1.5-1.5V8.9c0-.8.7-1.5 1.5-1.5h6.2c.8 0 1.5.7 1.5 1.5v6.2z" + } + }, + custom47: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.4 17.3H7.2c-.8 0-1.4.6-1.4 1.4 0 .3.2.5.4.5h10.1c.3 0 .5-.2.5-.5 0-.8-.6-1.4-1.4-1.4zm3.2-7.6l-3.8-3.6.6-.9c.1-.1 0-.3-.2-.4-1.1-.2-1.9.6-1.9.6-7.3 0-6.1 8.2-5.8 10.1.1.2.3.3.5.3h6.5c.2 0 .3-.2.2-.3-1.3-1.7-2-3.5-2.5-4.6 0-.2.2-.4.4-.3 1.7.9 2.4-.1 3.6.7.6.3 1.3.2 1.8-.3l.6-.6c.2-.2.2-.5 0-.7zm-4.9-.8c-.4 0-.7-.3-.7-.7s.3-.8.7-.8.7.4.7.8-.3.7-.7.7z" + } + }, + custom48: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.7 5.8h-2.4v-.5c0-.3-.2-.5-.5-.5H8.2c-.3 0-.5.2-.5.5v.5H5.3c-.3 0-.5.2-.5.4v3.2c0 1.2 1 2.1 2.2 2.1h1.1c.6 1.6 2.1 2.6 3.9 2.7 1.8 0 3.3-1.1 4-2.7h1c1.2 0 2.2-.9 2.2-2.1V6.2c0-.2-.2-.4-.5-.4zM7 10.1c-.4 0-.8-.3-.8-.7V7.2h1.5v2.9H7zm10.8-.7c0 .4-.4.7-.8.7h-.7V7.2h1.5v2.2zm-3.4 8.4h-.2c-.8 0-1.5-.7-1.5-1.5v-.5c0-.1-.1-.2-.2-.2h-1c-.1 0-.2.1-.2.2v.5c0 .8-.7 1.5-1.5 1.5h-.2c-.3 0-.5.2-.5.4v.5c0 .3.2.5.5.5h4.8c.3 0 .5-.2.5-.5v-.5c0-.2-.2-.4-.5-.4z" + } + }, + custom49: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 9.8c-1.2 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2 2.2-1 2.2-2.2-1-2.2-2.2-2.2zm0 3.4c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2zm0-8.4C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 12.7c0 .3-.2.5-.5.5-2.9-.3-5.2-2.6-5.5-5.5 0-.3.2-.5.5-.5H7c.2 0 .4.2.5.4.2 2.2 1.9 3.9 4.1 4.1.2.1.4.3.4.5v.5zm0-1.9c-2 0-3.6-1.6-3.6-3.6S10 8.4 12 8.4s3.6 1.6 3.6 3.6-1.6 3.6-3.6 3.6zm5.5-3.6H17c-.2 0-.4-.2-.5-.4-.2-2.2-1.9-3.9-4.1-4.1-.2-.1-.4-.3-.4-.5v-.5c0-.3.2-.5.5-.5 2.9.3 5.2 2.6 5.5 5.5 0 .3-.2.5-.5.5z" + } + }, + custom5: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.9 6.1c-2.4-.9-5.3-1.1-7.8-.3-2.2.7-4.5 2.4-4.8 4.9-.1.5-.1 1.1 0 1.6.1.2.2.5.3.8 0 .1.1.2.1.3l-.2.5C5.8 15 5.3 16.2 5 17.4c-.1.6-.4 1.3.1 1.7.3.1.6.1.8 0 .3-.1.3-.4.4-.7.2-1.3.6-2.6 1.3-3.7.3-.5.7-1 1.1-1.5.4-.4.9-1.1 1.5-.9.6.2.6.9.2 1.3s-.8.7-.8 1.3c0 .4.2.8.6 1.1.5.4 1.4.5 2 .5 1.3-.1 2.3-.5 3.3-1.2 1.4-1 1.9-2.6 2.2-4.2.1-.9.3-1.9.6-2.8.1-.4.3-.8.5-1.1.1-.2.3-.4.4-.6 0-.2-.1-.4-.3-.5z" + } + }, + custom50: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.4 13.5c-.6.3-1.2.4-1.8.4-.8 0-1.6-.2-2.2-.6h-.2c-.7.4-1.4.6-2.2.6s-1.5-.2-2.2-.6h-.2c-.6.4-1.4.6-2.2.6-.6 0-1.2-.1-1.8-.4-.1-.1-.3.1-.3.2v2.9c0 .6.3 1.1.8 1.4 1.2.5 2.5.9 3.9 1.1.3 0 .6-.2.6-.5v-1.8c0-.8.6-1.4 1.4-1.4.8 0 1.4.6 1.4 1.4v1.8c0 .3.3.5.6.5 1.3-.2 2.6-.6 3.8-1.1.6-.3.9-.8.9-1.4v-2.9c0-.1-.2-.3-.3-.2zm-11-1c.9 0 1.6-.4 2.1-1 .1-.1.3-.1.4 0 .5.6 1.2 1 2.1 1 .8 0 1.6-.4 2.1-1 .1-.1.2-.1.3 0 .5.6 1.3 1 2.1 1 1.4 0 2.5-1 2.6-2.1.1-.2 0-.4-.2-.5l-6-4.8c-.6-.4-1.3-.4-1.8 0L5 9.9c-.2.1-.2.3-.2.5.2 1.2 1.3 2.1 2.6 2.1z" + } + }, + custom51: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.7 6.1c.6.5 1.2 1.4 1.5 2.2 0 .1.2.3.3.3h.5c.3 0 .5 0 .7-.1.6-.2 1.1-.4 1.6-.9.7-.7 1-1.8.7-2.7-.9-.2-1.9 0-2.7.7-.2.3-.3.5-.5.8-.4-.6-.8-1.2-1.4-1.5-.3-.2-.8-.1-1 .3-.1.3 0 .7.3.9zm7.4 3.5c-2.5-1.3-3 .5-5.1.5s-2.6-1.8-5.1-.5c-2.4 1.4-1.7 5.8-.7 7.5.8 1.5 2.4 3 5.6 1.5h.4c3.2 1.5 4.8 0 5.6-1.5 1-1.7 1.7-6.1-.7-7.5z" + } + }, + custom52: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 8.4c0-.7 0-1.5-.1-2.3-.1-.6-.6-1.1-1.2-1.2-.8-.1-1.6-.1-2.3-.1-.2 0-.3.3-.2.4l3.4 3.4c.1.1.4 0 .4-.2zm-5.7-3c-.1-.2-.3-.2-.4-.2-1.8.5-3.6 1.5-5 2.9s-2.3 3.1-2.8 4.8c-.1.2 0 .4.1.5l5.2 5.2c.1.2.3.2.5.2 1.7-.6 3.4-1.5 4.8-2.9s2.4-3.1 2.9-4.9c0-.2 0-.4-.1-.5l-5.2-5.1zm-2 9.4c-.3.3-.7.3-1 0l-1.4-1.4c-.2-.2-.2-.7 0-1 .3-.3.8-.3 1.1 0l1.3 1.4c.3.2.3.7 0 1zm1.7-1.7c-.3.3-.8.3-1 0l-1.4-1.3c-.3-.3-.3-.8 0-1 .3-.3.8-.3 1 0l1.4 1.3c.3.3.3.7 0 1zm1.7-1.7c-.3.3-.8.3-1.1 0l-1.3-1.3c-.3-.3-.3-.8 0-1.1.3-.2.7-.2 1 0l1.4 1.4c.2.3.2.7 0 1zm-10.1 4c0 .8 0 1.7.1 2.5.1.6.6 1.1 1.2 1.2.9.1 1.7.1 2.5.1.2 0 .3-.3.2-.4l-3.6-3.5c-.1-.2-.4-.1-.4.1z" + } + }, + custom53: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.9 13.7h-.1c-.6 0-1-.5-1-1V9.5c0-2.8-2.5-5-5.4-4.7-2.4.3-4.2 2.4-4.2 4.9v2.9c0 .6-.5 1.1-1.1 1.1-.5 0-.8.3-.8.8v.5c0 .5.3.8.8.8h11.8c.5 0 .8-.3.8-.8v-.5c0-.5-.3-.8-.8-.8zm-4.3 3.6h-3.2c-.2 0-.3.1-.3.3.2.9 1 1.6 1.9 1.6s1.8-.6 1.9-1.6c0-.2-.1-.3-.3-.3z" + } + }, + custom54: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.5 11.8c1.6-.3 3-.9 4.4-1.6.5-.2 1.4-.7 1.8-.9.2 0 .3-.2.2-.3-.1-.7-.7-1.3-1.4-1.3H11v-.9c0-.3-.2-.5-.4-.5v-1c0-.3-.3-.5-.5-.5h-1c-.2 0-.5.2-.5.5v1c-.2 0-.4.2-.4.5v.9h-.5c-.8 0-1.5.7-1.5 1.5v2.3c0 .2.2.3.3.3zm10.8 4.8s1.7-2.7 1.9-6.6c0-.3-.2-.5-.5-.5-5.7.2-8.4 3.7-13.4 3.9-.3 0-.5.3-.5.5v1.8c0 .8.6 1.4 1.3 1.5 2.6.2 8 .5 11.1 1 .3.1.6-.2.5-.5-.1-.4-.2-.8-.4-1.1zm-.3-4.4c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.8.3.8.7-.4.7-.8.7z" + } + }, + custom55: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.7 14.6h3.1c.3 0 .5-.2.5-.4V7c0-.6-.5-1-1-1H7.8c-.4 0-.6.2-.6.6v7.6c0 .2.2.4.5.4zm10.5-7.2v7.7c0 .5-.4 1-.9 1H6.7c-.5 0-.9-.5-.9-1V7.4c-.8 0-1.5.7-1.5 1.5v7.2c0 .8.7 1.4 1.5 1.4h4.5c.3 0 .5.2.5.5s.2.5.5.5h1.4c.3 0 .5-.2.5-.5s.2-.5.5-.5h4.5c.8 0 1.5-.6 1.5-1.4V8.9c0-.8-.7-1.5-1.5-1.5zm-5 7.2h3c.4 0 .6-.2.6-.5V6.5c0-.3-.2-.5-.5-.5h-2.6c-.5 0-1 .4-1 1v7.2c0 .2.2.4.5.4z" + } + }, + custom56: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15 7.3c-1.5 1.5-3.3-.4-5 1.3l-4.8 4.8c-.5.6-.5 1.5 0 2l1.7 1.7 1.7 1.7c.5.5 1.4.5 2 0l4.8-4.9c1.7-1.6-.2-3.5 1.4-5l.3-.4c.1-.1.1-.2 0-.3l-1.3-1.3c-.1-.1-.2-.1-.3 0l-.5.4zm-1.1 6.1l-1.7 1.7c-.2.2-.5.2-.7 0l-1.3-1.3-1.3-1.4c-.2-.2-.2-.4 0-.6l1.6-1.7c.2-.2.5-.2.7 0l1.4 1.3 1.3 1.4c.2.2.2.4 0 .6zm5.2-7.5l-.5-.5-.6-.5c-.1-.2-.4-.2-.6 0l-.6.6c-.1.1-.1.3 0 .4l1.3 1.3c.1.1.2.1.3 0l.6-.6c.2-.2.2-.5.1-.7z" + } + }, + custom57: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.7 12.6v5.9c0 .2.2.3.4.2 1.1-.7 4.6-2.6 4.6-2.6.5-.3.8-.8.8-1.3V9.5c0-.2-.2-.3-.4-.2L13 12.2c-.2.1-.3.3-.3.4zm-.5-1.6l5.2-2.9c.2-.1.2-.3 0-.4C16.3 7 12.7 5 12.7 5c-.4-.2-1-.2-1.4 0 0 0-3.6 2-4.7 2.7-.2.1-.2.3 0 .4l5.2 2.9c.1.1.3.1.4 0zM11 12.2L5.9 9.3c-.2-.1-.4 0-.4.2v5.3c0 .5.3 1 .8 1.2 0 0 3.5 2 4.6 2.7.2.1.4-.1.4-.2v-5.9c0-.1-.1-.3-.3-.4z" + } + }, + custom58: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.1 11c-.4 0-.8-.3-.7-.7 0-.4.3-.7.7-.7h2.1c.1 0 .2 0 .2-.1.2-.4.3-.7.5-1 0-.2-.1-.3-.3-.3h-1.5c-.4 0-.7-.3-.8-.7 0-.4.4-.8.8-.8H19c.1 0 .2-.1.2-.2v-.7c0-.3-.2-.5-.5-.5h-2.5c-.7 0-1.3.6-1.3 1.3 0 1.3-.9 2.5-2.2 2.9v-2c.5-.3.8-.9.7-1.5-.1-.6-.6-1.1-1.2-1.2-.9-.1-1.6.6-1.6 1.4 0 .6.3 1 .7 1.3v2C10 9.2 9.1 8 9.1 6.6c0-.7-.5-1.3-1.3-1.3H5.3c-.3 0-.5.2-.5.5v.7c0 .1.1.2.2.2h1.9c.4 0 .8.3.8.7 0 .4-.3.8-.7.8H5.4c-.2 0-.3.2-.2.3.1.3.2.7.4 1 .1.1.2.1.3.1h2c.4 0 .8.3.8.7 0 .4-.3.8-.7.8h-.6c-.2 0-.3.3-.2.4 1.1.9 2.4 1.5 4.1 1.5v5.5c0 .3.3.7.7.7.4 0 .8-.3.8-.7V13c1.7 0 3-.7 4-1.5.2-.2.1-.5-.1-.5h-.6z" + } + }, + custom59: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.4 7.4c.2 0 .4-.2.4-.4 0-.1-.1-.3-.3-.4-.3-.2-.8-1-.9-1.5-.1-.2-.3-.3-.5-.3H9.3c-.2 0-.4.1-.4.3-.2.5-.7 1.3-1 1.5-.1.1-.2.2-.2.4 0 .3.2.4.4.4h8.3zM7.7 17.7c0 .9.6 1.5 1.4 1.5h6.3c.8 0 1.4-.6 1.4-1.4v-.1c0-.2-.2-.4-.5-.4H8.1c-.2 0-.4.2-.4.4zm9.1-2.3v-6c0-.3-.2-.5-.5-.5H8.2c-.3 0-.5.2-.5.5v6c0 .2.2.4.5.4h8.1c.3 0 .5-.2.5-.4z" + } + }, + custom6: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 18.2H5.8c-.8 0-1.2-.8-.9-1.4l6.3-10.6c.3-.6 1.3-.6 1.6 0l6.3 10.6c.4.6-.1 1.4-.8 1.4H12z" + } + }, + custom60: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 10.9c-.6-3.5-3.6-6.1-7.2-6.1s-6.6 2.6-7.2 6.1c0 .2.2.4.4.2.3-.3.8-.5 1.3-.5.7 0 1.3.3 1.7.8.1.1.2.1.3 0 .4-.5 1-.8 1.7-.8s1.2.3 1.6.8c.1.1.3.1.4 0 .4-.5 1-.8 1.6-.8s1.3.3 1.7.8c.1.1.2.1.3 0 .4-.5 1-.8 1.7-.8.5 0 1 .2 1.3.5.2.2.4 0 .4-.2zm-4.3 5.4c-.4 0-.7.3-.7.7s-.4.8-.8.8-.7-.4-.7-.8v-3.3c0-.4-.3-.7-.7-.7s-.7.3-.7.7V17c0 1.2.9 2.2 2.1 2.2s2.2-1 2.2-2.2c0-.4-.3-.7-.7-.7z" + } + }, + custom61: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 4.8h-.9c-.3 0-.5.2-.5.5v.9c0 .3-.2.5-.5.5h-.5c-.2 0-.5-.2-.5-.5v-.9c0-.3-.2-.5-.4-.5h-1c-.3 0-.5.2-.5.5v.9c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-.9c0-.3-.2-.5-.5-.5h-1c-.2 0-.4.2-.4.5v.9c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.9c0-.3-.2-.5-.5-.5h-.9c-.3 0-.5.2-.5.5v2.4c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4V5.3c0-.3-.2-.5-.5-.5zM16.4 11c0-.3-.2-.4-.4-.4H8c-.2 0-.4.1-.4.4l-1.1 7.6c-.1.3.2.6.5.6h3.1c.2 0 .5-.2.5-.5v-2.3c0-.8.6-1.5 1.4-1.5.8 0 1.4.6 1.4 1.4v2.4c0 .3.3.5.5.5H17c.3 0 .6-.2.5-.5L16.4 11z" + } + }, + custom62: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.5 16.8h-13c-.4 0-.7.3-.7.7 0 .4.3.7.7.7h13c.4 0 .7-.3.7-.7s-.3-.7-.7-.7zM5.8 15.4h8.1v-1c0-.3.2-.5.5-.5h2.4c.3 0 .5.2.5.5v1h.9c.3 0 .5-.3.5-.5V6.7c0-.2-.2-.5-.5-.5H5.8c-.3 0-.5.3-.5.5v8.2c0 .2.2.5.5.5zm2.1-6.3c0-.2.2-.5.5-.5h7c.2 0 .4.3.4.5v.5c0 .3-.2.5-.4.5h-7c-.3 0-.5-.2-.5-.5v-.5zm0 2.9c0-.3.2-.5.5-.5H13c.2 0 .4.2.4.5v.5c0 .2-.2.5-.4.5H8.4c-.3 0-.5-.3-.5-.5V12z" + } + }, + custom63: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.1 14.4h3.8c.3 0 .5-.2.5-.5v-3.8c0-.3-.2-.5-.5-.5h-3.8c-.3 0-.5.2-.5.5v3.8c0 .3.2.5.5.5zm8.4-1.7c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1.2V9.8h1.2c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1.2v-.2c0-.8-.7-1.5-1.5-1.5h-.2V5.5c0-.4-.3-.7-.7-.7s-.7.3-.7.7v1.2h-1.5V5.5c0-.4-.3-.7-.7-.7s-.7.3-.7.7v1.2H9.8V5.5c0-.4-.3-.7-.7-.7s-.7.3-.7.7v1.2h-.2c-.8 0-1.5.7-1.5 1.5v.2H5.5c-.4 0-.7.3-.7.7s.3.7.7.7h1.2v1.5H5.5c-.4 0-.7.3-.7.7s.3.7.7.7h1.2v1.5H5.5c-.4 0-.7.3-.7.7s.3.7.7.7h1.2v.2c0 .8.7 1.5 1.5 1.5h.2v1.2c0 .4.3.7.7.7s.7-.3.7-.7v-1.2h1.5v1.2c0 .4.3.7.7.7s.7-.3.7-.7v-1.2h1.5v1.2c0 .4.3.7.7.7s.7-.3.7-.7v-1.2h.2c.8 0 1.5-.7 1.5-1.5v-.2h1.2c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1.2v-1.5h1.2zm-2.7 2.4c0 .4-.3.7-.7.7H8.9c-.4 0-.7-.3-.7-.7V8.9c0-.4.3-.7.7-.7h6.2c.4 0 .7.3.7.7v6.2z" + } + }, + custom64: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 12.5c-2.9 0-5.3-2.4-5.3-5.3S9.1 6.7 12 6.7s5.3 2.4 5.3 5.3-2.4 5.3-5.3 5.3zm2.8-8.4l-4 1.4c-.2.1-.4.3-.5.5l-1.4 4c-.1.2.1.4.3.3l4-1.4c.2-.1.4-.3.5-.5l1.4-4c.1-.2-.1-.4-.3-.3zM12 13c-.5 0-1-.5-1-1s.5-1 1-1 1 .5 1 1-.5 1-1 1z" + } + }, + custom65: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.3 16.1h-12c-.3 0-.5.2-.5.4v.1c0 .8.6 1.4 1.4 1.4h10.1c.8 0 1.5-.6 1.5-1.4v-.1c0-.2-.3-.4-.5-.4zm-.5-9.6H5.3c-.2 0-.4.2-.5.5 0 .6 0 1.8.1 2.5.3 2.2 1.5 4.1 3.1 5.1.1 0 .2.1.3.1h5c.1 0 .2-.1.2-.1 1-.6 1.8-1.4 2.3-2.5.3.1.6.1 1 .1 1.6 0 2.9-1.3 2.9-2.8s-1.3-2.9-2.9-2.9zm0 4.3h-.4c.3-.8.4-1.6.4-2.5v-.4c.8 0 1.4.7 1.4 1.5s-.6 1.4-1.4 1.4z" + } + }, + custom66: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.8 13.3l-3.5-3.5c-.6-.6-1.5-.6-2 0l-3.5 3.5c-.6.5-.6 1.4 0 2l3.5 3.5c.5.5 1.4.5 2 0l3.5-3.5c.5-.6.5-1.5 0-2zm-6.6 1.6c-.4.3-.9.3-1.2 0-.3-.4-.3-.9 0-1.2.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.2zm2.7 2.7c-.4.3-.9.3-1.2 0-.3-.3-.3-.9 0-1.2.3-.3.9-.3 1.2 0 .3.3.3.9 0 1.2zm0-5.4c-.4.3-.9.3-1.2 0-.3-.4-.3-.9 0-1.2.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.2zm2.7 2.7c-.3.3-.9.3-1.2 0-.3-.4-.3-.9 0-1.2.4-.3.9-.3 1.2 0 .3.3.3.8 0 1.2zM12.7 8V6.2c0-.8-.6-1.4-1.4-1.4H6.2c-.8 0-1.4.6-1.4 1.4v5.1c0 .8.6 1.4 1.4 1.4H8c.2 0 .3-.1.4-.1l.3-.3 3.5-3.6.3-.3c.1-.1.2-.2.2-.4zm-5.9 3.5c-.4 0-.8-.4-.8-.8s.4-.9.8-.9.9.4.9.9-.4.8-.9.8zm2-1.9c-.5 0-.9-.4-.9-.8s.4-.9.9-.9.8.4.8.9-.4.8-.8.8zm1.9-1.9c-.5 0-.9-.4-.9-.9s.4-.8.9-.8.8.4.8.8-.4.9-.8.9z" + } + }, + custom67: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13 12.7l-.3-.5c-.1-.2-.3-.3-.6-.3 0 0-.1.1-.2.1l-.8.3c-.3-.3-.7-.5-1.1-.6l-.2-.9c0-.3-.3-.5-.6-.5h-.6c-.2 0-.5.2-.6.5l-.1.9c-.4.1-.8.3-1.1.6L6 12h-.3c-.2 0-.4.1-.5.3l-.3.5c-.1.2-.1.5.2.7l.7.6c-.1.2-.1.4-.1.6s0 .5.1.7l-.7.6c-.3.2-.3.5-.2.7l.3.5c.1.2.3.3.5.3H6l.8-.3c.3.3.7.5 1.1.6l.1.9c.1.3.4.5.6.5h.6c.3 0 .6-.2.6-.5l.2-.9c.4-.1.8-.4 1.1-.7l.8.3c.1.1.2.1.2.1.3 0 .5-.1.6-.3l.3-.5c.1-.2.1-.6-.2-.8l-.7-.5c.1-.3.1-.5.1-.7 0-.2 0-.4-.1-.6l.7-.6c.2-.2.3-.5.2-.8zm-4.1 3.7c-.9 0-1.6-.7-1.6-1.6s.7-1.7 1.6-1.7c.9 0 1.7.7 1.7 1.7s-.8 1.6-1.7 1.6zm10.1-7l-.5-.5v-.5-.5l.5-.5c.2-.1.2-.4.1-.6l-.2-.4c-.1-.1-.3-.2-.4-.2h-.2l-.7.3c-.3-.3-.6-.5-.9-.5l-.1-.8c-.1-.2-.3-.4-.5-.4h-.5c-.2 0-.4.2-.5.4l-.1.7c-.3.1-.6.3-.9.6l-.7-.4h-.1c-.2 0-.4.1-.5.3l-.2.4c-.1.2-.1.4.1.6l.6.4c-.1.2-.1.4-.1.6 0 .1 0 .3.1.5l-.6.4c-.2.2-.2.4-.1.6l.2.4c.1.2.3.3.5.3h.1l.7-.3c.3.2.6.4.9.5l.1.7c.1.2.3.4.5.4h.5c.2 0 .5-.2.5-.4l.1-.7c.3-.1.7-.3.9-.6l.7.3h.2c.1 0 .3-.1.4-.2l.2-.4c.1-.1.1-.4-.1-.5zm-3.1.3c-.8 0-1.4-.6-1.4-1.3s.6-1.3 1.4-1.3 1.3.6 1.3 1.3-.6 1.3-1.3 1.3z" + } + }, + custom68: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm5.7 6.5h-1.9c-.1-1.7-.4-3.2-1-4.3 1.6.8 2.7 2.4 2.9 4.3zm-6.4-4.7v4.7H9.6c.1-2.3.9-4.1 1.7-4.7zm0 6.1v4.7c-.8-.6-1.6-2.4-1.7-4.7h1.7zm1.4 4.7v-4.7h1.7c-.1 2.3-.9 4.1-1.7 4.7zm0-6.1V6.6c.8.6 1.6 2.4 1.7 4.7h-1.7zM9.2 7c-.6 1.1-.9 2.6-1 4.3H6.3C6.5 9.4 7.6 7.8 9.2 7zm-2.9 5.7h1.9c.1 1.7.4 3.2 1 4.3-1.6-.8-2.7-2.4-2.9-4.3zm8.5 4.3c.6-1.1.9-2.6 1-4.3h1.9c-.2 1.9-1.3 3.5-2.9 4.3z" + } + }, + custom69: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.6 10.8c-1.3-1-2.7-.5-3.6.4-.4.3-.9.5-1.5.6-.7.2-1.4.5-1.9 1-1.3 1.3-1 2.9.8 4.7h.1v.1c1.1 1 2.1 1.6 3 1.6.7 0 1.3-.3 1.9-.8.5-.5.7-1.2.9-1.9.2-.5.4-1.1.7-1.4.6-.5.9-1.1.9-1.8.1-.4 0-1.1-.5-1.7 0 0-.3-.4-.8-.8zm-3 5.8c-.1.1-.2.2-.4.2s-.4-.1-.5-.2l-1.3-1.3c-.3-.3-.3-.7 0-.9s.7-.3.9 0l1.3 1.3c.3.2.3.6 0 .9zm1.2-2c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.6 1.2 1.2-.5 1.2-1.2 1.2zM19.1 6L18 4.9c-.2-.1-.6-.1-.8 0L16 6.2c-.2.2-.2.5 0 .7V7l-2.4 2.4c-.1.1-.1.3 0 .4.2.2.5.4.7.6.1.1.2.1.3 0L17 8h.1c.2.2.5.2.7 0l1.3-1.2c.1-.2.1-.5 0-.8z" + } + }, + custom7: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.7 18.7c-.8 0-1.4-.6-1.4-1.4V6.7c0-.8.6-1.4 1.4-1.4h10.6c.8 0 1.4.6 1.4 1.4v10.6c0 .8-.6 1.4-1.4 1.4H6.7z" + } + }, + custom70: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.5 15.3l-2.8-2.7c-.5-.6-1.5-.6-2 0l-1.8 1.7c-.1.2-.1.5 0 .7l.4.3.3.3 2.8 2.8.2.2.5.5c.2.1.5.1.7 0l1.7-1.7c.6-.6.6-1.5 0-2.1zm-4.5-1l.4-.3c.2-.2.4-.2.6 0l2.1 2c.2.2.2.5 0 .7l-.3.3c-.2.2-.5.2-.7 0L7 15c-.2-.2-.2-.5 0-.7zm3-2.5l2.2 2.2c.1 0 .1.1.2.1l1-.1c.2 0 .3-.1.3-.2v-.9c0-.1.1-.2.2-.2h.9c.1 0 .2-.1.2-.2v-.9c0-.1.1-.2.3-.2h.9c.1 0 .2-.1.2-.3v-.9c0-.1.1-.2.2-.2h.9c.2 0 .3-.1.3-.2v-.9c0-.1.1-.2.2-.2l1-.2c.1 0 .2-.2.1-.3L17 5c-.2-.2-.5-.2-.7 0L10 11.2c-.2.2-.2.4 0 .6z" + } + }, + custom71: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.1 7.4c-1.4-1.4-3.3-2.2-5.3-2.1-3.9.1-7 3.4-7 7.3v2.3c0 .8.6 1.4 1.4 1.4h1v1.2c0 .6.5 1.1 1.1 1.2.7.1 1.3-.5 1.3-1.2v-4.3c0-.6-.5-1.1-1.1-1.2-.7-.1-1.3.5-1.3 1.2v1.7h-.5c-.2 0-.5-.2-.5-.5v-1.8c0-3.1 2.6-5.8 5.6-5.9 1.6 0 3.1.5 4.2 1.7 1.1 1.1 1.8 2.5 1.8 4.1v1.9c0 .3-.3.5-.5.5h-.5v-1.7c0-.6-.5-1.1-1.1-1.2-.7-.1-1.3.5-1.3 1.2v4.3c0 .6.5 1.1 1.1 1.2.7.1 1.3-.5 1.3-1.2v-1.2h1c.8 0 1.4-.6 1.4-1.4v-2.3c0-1.9-.7-3.8-2.1-5.2z" + } + }, + custom72: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M18.5 4.8h-13c-.4 0-.7.3-.7.7s.3.7.7.7h5.8v1.5c-2.6.4-4.6 2.6-4.6 5.2v1.7c0 1.7 1.4 3.2 3.2 3.2h4.2c1.8 0 3.2-1.5 3.2-3.2v-1.7c0-2.7-2-4.9-4.6-5.2V6.2h5.8c.4 0 .7-.3.7-.7s-.3-.7-.7-.7zm-3.1 8.1c0 .7-.6 1.3-1.3 1.3H9.9c-.7 0-1.2-.6-1.3-1.3.1-1.8 1.5-3.3 3.4-3.3s3.3 1.5 3.4 3.3z" + }, + "circle": [{ + "cx": "6.24", + "cy": "18.24", + "r": ".96" + }, { + "cx": "17.76", + "cy": "18.24", + "r": ".96" + }] + } + }, + custom73: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.6 8.4h12.8c.3 0 .5-.3.4-.6-.3-1-.7-1.9-1.3-2.7-.1-.2-.5-.3-.7-.1-.6.6-1.3.9-2.2.9-.9 0-1.7-.4-2.3-1-.2-.1-.5-.1-.6 0-.6.6-1.5 1-2.3 1-.9 0-1.6-.3-2.2-.9-.3-.2-.6-.1-.7.1-.6.8-1.1 1.7-1.3 2.7-.1.3.1.6.4.6zm13.6 1.9c0-.2-.2-.5-.5-.5H5.3c-.3 0-.5.3-.5.5v.1c0 4.5 3.1 8.2 7.2 8.8 4.1-.6 7.2-4.3 7.2-8.8v-.1z" + } + }, + custom74: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.4 17.5H11c-.2 0-.4.2-.4.5v.7c0 .3.2.5.4.5h2.4c.3 0 .5-.2.5-.5V18c0-.3-.2-.5-.5-.5zM12.2 4.8C9.3 4.8 7 7.1 7 9.8c0 1.8.9 3.4 2.5 4.3.5.3.9.9 1 1.6.1.2.3.4.5.4h2.5c.3 0 .4-.2.5-.4.1-.7.5-1.3 1.1-1.6 1.4-.9 2.4-2.5 2.4-4.3 0-2.7-2.3-5-5.3-5zm-1.6 2.3c-.5.9-.7 1.9-.8 2.8 0 .9.2 1.8.5 2.6.1.2-.1.4-.3.3-2.2-1.1-2.1-5.3.3-6.1.2-.1.4.2.3.4zm1.9 5.7c-.1.2-.4.2-.5 0-.4-1-.5-2.1-.5-3.1s.1-2.1.5-3c.1-.2.4-.2.5 0 .3.9.4 2 .5 3-.1 1-.2 2.1-.5 3.1zm1.9 0c-.2.1-.4-.1-.3-.3.3-.9.4-1.8.5-2.7-.1-.8-.3-1.9-.8-2.7-.1-.2.1-.5.3-.4 2.4.8 2.5 5 .3 6.1z" + } + }, + custom75: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 4.8c-.4 0-.7.3-.7.7v13c0 .4.3.7.7.7 4 0 7.2-3.2 7.2-7.2S16 4.8 12 4.8zm5.7 6.5h-1.9c-.1-1.7-.4-3.2-1-4.3 1.6.8 2.7 2.4 2.9 4.3zm-5 6.1v-4.7h1.7c-.1 2.3-.9 4.1-1.7 4.7zm0-6.1V6.6c.8.6 1.6 2.4 1.7 4.7h-1.7zm2.1 5.7c.6-1.1.9-2.6 1-4.3h1.9c-.2 1.9-1.3 3.5-2.9 4.3zM8 9.6c.2.1.5.1.7-.1L10 8c.2-.2.2-.5 0-.6L8.7 6c-.2-.1-.4-.1-.6 0-.1 0-.2.1-.3.1-1.8 1.3-3 3.5-3 5.9 0 2.4 1.2 4.6 3 5.9.1 0 .2.1.3.1.2.1.4.1.6 0l1.3-1.4c.2-.1.2-.4 0-.6l-1.3-1.5c-.2-.2-.5-.2-.7-.1l-.5.4C7 14 6.7 13 6.7 12s.3-2 .8-2.8l.5.4z" + } + }, + custom76: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.7 13.3c-.1-.2-.3-.4-.5-.3H12c-2.6 0-4.8-2.2-4.8-4.8V8c0-.2-.3-.3-.4-.1-.2.2-.3.5-.4.8-.4 1.4.1 2.9 1.3 3.7.5.4 1 .6 1.6.7l.2.4c0 .1.1.1.1.2l.7.3c.1 0 .2.2.1.3l-.2.7c0 .1 0 .2.1.3l.4.1c.1.1.2.2.1.3l-.2.8c0 .1 0 .2.1.3l.6.2c.1.1.1.2.1.3l-.2.8c0 .1 0 .2.2.3l1.6.7c.1.1.2 0 .3-.1l.7-1.6c.1-.1.1-.3 0-.4l-1.3-3.7zm6.4-.3l-3.9-4c.2-.6.2-1.2 0-1.9-.5-1.3-1.7-2.2-3-2.3-2.1-.1-3.8 1.7-3.6 3.8.2 1.4 1.3 2.6 2.7 2.9.6.1 1.2 0 1.8-.1l.3.3c.1.1.1.1.2.1h.8c.1 0 .2.1.2.2l.1.8c0 .1.1.2.3.2h.4c.1 0 .2.1.2.2l.1.8c0 .1.1.2.3.2h.6c.1 0 .2.1.2.2l.1.8c0 .1.1.2.3.2H19c.1 0 .2-.1.2-.3v-1.7c0-.2 0-.3-.1-.4zm-7.6-4.1c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2c0 .6-.5 1.2-1.2 1.2z" + } + }, + custom77: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.7 10.1h.9c.2 0 .3-.1.3-.3v-.3c0-1.8 1.3-3.3 3.1-3.3s3.1 1.5 3.1 3.3v.3c0 .2.1.3.3.3h.9c.2 0 .3-.1.3-.3v-.3c0-2.6-2-4.7-4.6-4.7S7.4 6.9 7.4 9.5v.3c0 .2.1.3.3.3zm9.1 1.4H7.4c-.8 0-1.4.7-1.4 1.5v4.8c0 .8.6 1.4 1.4 1.4h9.4c.8 0 1.4-.6 1.4-1.4V13c0-.8-.6-1.5-1.4-1.5zm-3.5 3.9c-.2.3-.4.7-.3 1.1l.2.7c0 .3-.1.6-.4.6h-1.6c-.3 0-.4-.3-.4-.6l.2-.7c.1-.4-.1-.8-.3-1.1-.2-.3-.3-.7-.2-1.1.1-.6.6-1 1.2-1.1 1-.2 1.8.5 1.8 1.4 0 .3-.1.5-.2.8z" + } + }, + custom78: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.8 7l-4.3-2.1c-.2-.1-.5-.1-.7 0l-4 2-4-2c-.2-.1-.4-.1-.7 0-.2.1-.3.4-.3.6v10.8c0 .3.1.5.4.7l4.3 2.1c.2.1.5.1.7 0l4-2 4 2c.1.1.2.1.3.1.1 0 .2 0 .4-.1s.3-.4.3-.6V7.7c0-.3-.1-.5-.4-.7zm-1 1.4v5.7c0 .3-.4.6-.7.5-1.1-.5-.2-2.3-1-3.3s-1.7 0-2.7-1.5c-.8-1.4.4-2.4 1.4-2.9.2-.1.3-.1.4 0L17.5 8c.2.1.3.2.3.4zm-6.2 8.4c-.1.1-.3 0-.5-.1-.3-.3-.5-.7-.5-1.1 0-.7-1.2-.5-1.2-1.9 0-1.2-1.5-1.5-2.6-1.4-.3 0-.6-.2-.6-.5V7.5c0-.4.4-.6.7-.5l2.6 1.3c.1 0 .1.1.1.1h.1c1.1.6.9 1.2.4 1.9-.5.9-.7 0-1.4-.2s-1.5.2-1.2.7.9 0 1.4.5.5 1.2 1.9.7 1.7-.2 2.2.2.7 1.5 0 2.2c-.4.4-.6 1.3-.8 1.9-.1.1-.1.3-.2.3l-.4.2z" + } + }, + custom79: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.4 9.8c-1 0-1.7.8-1.7 1.7s.7 1.7 1.7 1.7 1.6-.7 1.6-1.7-.7-1.7-1.6-1.7zm9.6 5.3h-4.6v-1.9h.5c.2 0 .5-.2.5-.5v-1.4c0-.3-.3-.5-.5-.5h-.6c-.4-2.4-2.4-4.3-4.9-4.3-2.8-.1-5.1 2.3-5.1 5.1.1 2.8 2.4 5 5.2 5h8.7v.4c0 .3.3.5.5.5h.5c.3 0 .5-.2.5-.5v-1.2c0-.4-.3-.7-.7-.7zm-9.6-.5c-1.8 0-3.2-1.4-3.2-3.1s1.4-3.1 3.2-3.1 3.1 1.4 3.1 3.1-1.4 3.1-3.1 3.1z" + } + }, + custom8: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.3 5.1l-5.8 6.3c-.3.3-.3.9 0 1.2l5.8 6.3c.4.4 1 .4 1.4 0l5.8-6.3c.3-.3.3-.9 0-1.2l-5.8-6.3c-.4-.4-1-.4-1.4 0z" + } + }, + custom80: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7 14.4c-1.4 0-2.4 1.1-2.4 2.4s1 2.4 2.4 2.4 2.4-1.1 2.4-2.4-1.1-2.4-2.4-2.4zm0 3.4c-.6 0-1-.5-1-1s.4-1 1-1 .9.5.9 1-.4 1-.9 1zm10-3.4c-1.3 0-2.4 1.1-2.4 2.4s1.1 2.4 2.4 2.4 2.4-1.1 2.4-2.4-1-2.4-2.4-2.4zm0 3.4c-.5 0-.9-.5-.9-1s.4-1 .9-1 1 .5 1 1-.4 1-1 1zm-.1-4.8c.5-.1 1 0 1.5.2.2.1.5 0 .6-.2 1.3-2.4-.7-3.4-2-4.1-.3-.1-.7.1-.7.5v1.4c0 .2-.2.5-.5.5-1.7-.3-3.3-2.2-5.2-2.2S8.4 11 8.4 11c-1.3 0-2.7-.1-3.3-.2-.3-.1-.5.2-.5.5 0 0 0 1.7 2.4 1.7 1.9 0 3.6 1.4 3.8 3.4 0 .5 0 1-.2 1.5 0 .1.1.3.3.3h2.2c.2 0 .3-.2.3-.3-.2-.5-.2-1-.2-1.5.2-1.8 1.8-3.4 3.7-3.4zM4.6 11.3zm6.3-3.7c0 .2.1.3.3.4l2.6.8c.2.1.4 0 .6-.2l.2-.4c.1-.2-.1-.4-.2-.4-.8-.1-2.3-.4-1.9-1.2.4-.7 1.3-.5 1.8-.3.2.1.5-.1.4-.3-.4-.8-1.2-1.3-2.1-1.2-1.2.1-1.9 1.2-1.8 2.4l.1.4z" + } + }, + custom81: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.5 4.8h-1.2c-3.7.2-8 1.1-8.2 1.2-.3.1-.5.4-.5.7v7.8c-.2-.1-.6-.1-.9-.1-1.6 0-2.9 1-2.9 2.4s1.3 2.4 2.9 2.4 2.9-1.1 2.9-2.4v-4.9c0-.3.1-.5.3-.5 1.2-.3 2.8-.6 5.9-.8.3 0 .5.2.5.5v2.5c-.3-.1-.6-.2-1-.2-1.6 0-2.9 1.1-2.9 2.4s1.3 2.4 2.9 2.4 2.9-1.1 2.9-2.4V5.5c0-.4-.3-.7-.7-.7zm-1.7 3.8c-2.9.2-4.4.4-5.7.7-.3.1-.5-.1-.5-.4v-.8c0-.2.1-.4.3-.5 1.3-.3 2.8-.6 5.9-.8.3 0 .5.2.5.5v.8c0 .3-.2.5-.5.5z" + } + }, + custom82: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 10.6h-5c-.3 0-.5.2-.5.4v.3c0 .4-.3.7-.7.7-.4 0-.8-.3-.8-.7V11c0-.2-.2-.4-.4-.4h-1.2c-1.4 0-2.7.8-3.3 2-.3-.1-.5-.1-.8-.1-1.2 0-2.2.9-2.2 2.1s1 2.2 2.2 2.2c.3 0 .5 0 .8-.1.6 1.1 1.9 1.9 3.3 2 2.3.1 4.3-1.7 4.3-4.1v-.4c-.1-.2.1-.5.3-.5l4.1-.9c.2-.1.4-.2.4-.5V11c0-.2-.2-.4-.5-.4zM6.5 15.4c-.4 0-.7-.4-.7-.8s.3-.7.7-.7c.1 0 .2 0 .3.1-.1.3-.1.6-.1.9 0 .1 0 .3.1.4-.1 0-.2.1-.3.1zM13 8.9c.4 0 .7-.3.7-.7V6c0-.4-.3-.7-.7-.7s-.8.3-.8.7v2.2c0 .4.4.7.8.7zm-3.5.2c.2.2.4.3.6.3.1 0 .3-.1.5-.2.3-.3.3-.7 0-1L9.2 6.5c-.3-.3-.7-.3-1-.1-.3.3-.4.8-.1 1l1.4 1.7zm6.3.3c.2 0 .4-.1.6-.3l1.4-1.7c.3-.3.2-.7 0-1-.4-.2-.8-.2-1 .1l-1.5 1.7c-.3.3-.2.8.1 1 .1.1.3.2.4.2z" + } + }, + custom83: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.9 9.4c.1.1.2.1.3 0l.4-.3c.8-.8.8-2.1 0-2.9l-1-1c-.8-.7-2-.4-2.6.3l-.4.3c-.1.1-.1.2 0 .3l3.3 3.3zm-4.3-2.2c-.1-.1-.3-.1-.4 0l-6.6 6.5c-.3.4-.6.8-.7 1.3l-1.1 3.2c0 .2 0 .5.1.6.1.3.4.4.6.4h.2s2.2-.7 3.3-1.1c.5-.1.9-.4 1.3-.7l6.6-6.6c.1-.1.1-.2 0-.3l-3.3-3.3zm-5 9.6c-.5.1-1.3.4-2 .6l.6-2c.1-.2.3-.4.5-.6l1.6 1.6c-.2.2-.5.3-.7.4z" + } + }, + custom84: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18 15.4H6c-.4 0-.7.3-.7.7s.3.7.7.7h1l.4 2c0 .3.2.4.4.4h7.9c.2 0 .4-.1.5-.4l.4-2H18c.4 0 .7-.3.7-.7s-.3-.7-.7-.7zM7.9 13.9h3.4v-1.3c-.3-.2-.5-.5-.5-.8 0-.6.4-1 1-1s.9.4.9 1c0 .3-.2.6-.5.8v1.3h3.4c.3 0 .5-.2.5-.5v-.7c0-1.4-1.4-1.9-2.5-2.4-.8-.3-.9-.6-.9-.9 0-.3.2-.6.5-.8.4-.4.7-.9.7-1.6 0-1.2-.8-2.2-2.1-2.2-1.4 0-2.2 1-2.2 2.2 0 .7.3 1.2.7 1.6.3.2.5.5.5.8 0 .3-.1.6-.9.9-1.1.5-2.5 1-2.5 2.4v.7c0 .3.3.5.5.5z" + } + }, + custom85: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.7 5.8h-12v-.5c0-.3-.2-.5-.5-.5h-.9c-.3 0-.5.2-.5.5v13.4c0 .3.2.5.5.5h.9c.3 0 .5-.2.5-.5v-11h12c.3 0 .5-.2.5-.5v-1c0-.2-.2-.4-.5-.4zm-.9 3.3H9.6c-.8 0-1.4.7-1.4 1.5v5.2c0 .8.6 1.5 1.4 1.5h8.2c.8 0 1.4-.7 1.4-1.5v-5.2c0-.8-.6-1.5-1.4-1.5zm-1.4 4.1h-.6v2.4c0 .1-.1.2-.2.2h-1c-.1 0-.2-.1-.2-.2v-1.4c0-.2-.1-.3-.2-.3h-1c-.1 0-.2.1-.2.3v1.4c0 .1-.1.2-.3.2h-.9c-.2 0-.3-.1-.3-.2v-2.4h-.6c-.1 0-.1-.1-.1-.2l2.7-2.6c.1-.1.3-.1.3 0l2.7 2.6c.1.1.1.2-.1.2z" + } + }, + custom86: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zM12 17.3c-1.8 0-3.4-1.5-3.4-3.4s1.6-3.3 3.4-3.3 3.4 1.5 3.4 3.3-1.6 3.4-3.4 3.4zm1.4-4.1h-.7v-.7c0-.3-.2-.5-.5-.5h-.4c-.3 0-.5.2-.5.5v.7h-.7c-.3 0-.5.2-.5.5v.5c0 .2.2.4.5.4h.7v.8c0 .2.2.4.5.4h.4c.3 0 .5-.2.5-.4v-.8h.7c.3 0 .5-.2.5-.4v-.5c0-.3-.2-.5-.5-.5z" + } + }, + custom87: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18 4.8H6c-.4 0-.7.3-.7.7V17c0 .4.3.8.7.8h.2v.7c0 .4.4.7.8.7h.4c.4 0 .8-.3.8-.7v-.7h7.6v.7c0 .4.4.7.8.7h.4c.4 0 .8-.3.8-.7v-.7h.2c.4 0 .7-.4.7-.8V5.5c0-.4-.3-.7-.7-.7zM7.4 16.3c-.4 0-.7-.3-.7-.7V7c0-.4.3-.8.7-.8h9.2c.4 0 .7.4.7.8v8.6c0 .4-.3.7-.7.7H7.4zm8-8.6H8.6c-.2 0-.4.2-.4.5v6.2c0 .3.2.5.4.5h6.8c.2 0 .4-.2.4-.5V8.2c0-.3-.2-.5-.4-.5zM14.2 12h-2c-.2.5-.8 1-1.4 1-1 0-1.7-.8-1.7-1.7s.7-1.7 1.7-1.7c.6 0 1.2.5 1.4 1h2c.4 0 .7.3.7.7s-.3.7-.7.7z" + } + }, + custom88: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.7 16.8H5.3c-.3 0-.5.2-.5.4v.1c0 1 1.3 1.9 2.4 1.9h9.6c1.1 0 2.4-.9 2.4-1.9v-.1c0-.2-.2-.4-.5-.4zM5.5 15.4h4.3c.3 0 .5-.3.5-.6V6.6c0-.1-.1-.2-.2-.1L5.3 15c-.1.1 0 .4.2.4zm6.7 0h6c.3 0 .5-.3.5-.6-.2-1.7-.5-7.1-6.6-10-.1 0-.3 0-.3.2v9.8c0 .3.2.6.4.6z" + } + }, + custom89: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.9 10.4c-.1-.1-.3-.1-.4.1-.3.4-.5 1-.5 1.7v2.7c0 .4-.4.7-.8.7-.3 0-.7-.3-.7-.7V6.7c0-1.9-1.6-2.2-2.8-1.7-.3.1-.6.3-.8.5-.1.2-.3.3-.5.4-.4.1-1.2-.3-1.6-.5-.2-.1-.5-.1-.6.1l-.3.4c-.2.2-.1.6.1.7.5.3 1.2.8 1.7.9.9.1 1.7-.2 2.3-.7.1-.2.4-.4.6-.1.5.7-1.4 3.8-1.4 8.4v.4c0 1.9 1.9 3.6 3.9 3.7 2 .1 3.7-1.5 3.7-3.6 0-1 .4-1.7.8-2.1.1-.1.1-.2 0-.3l-2.7-2.8zm4.6 2.3c-.2 0-.4-.1-.5-.2l-3.9-3.8c-.3-.3-.3-.8 0-1 .3-.3.8-.3 1 0l3.9 3.8c.3.3.3.7 0 1-.2.1-.3.2-.5.2z" + } + }, + custom9: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.9 4.8h-4.1c-.6 0-1.1.4-1.3.9L7 12.2c-.2.5.1 1 .6 1h4.2l-1.6 5.4c-.1.5.5.8.8.4l6.4-7.5c.4-.4 0-1.2-.6-1.2h-3.1l2.7-4.4c.3-.5 0-1.1-.6-1.1h-.9z" + } + }, + custom90: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.6 6.2l-5.9.9v8.3c0 .1-.1.2-.2.2h-1c-.1 0-.2-.1-.2-.2V7.3l-5.7.9h-.1c-.3 0-.7-.3-.7-.7 0-.3.2-.7.6-.8L9.9 6c.4-.7 1.2-1.2 2.1-1.2.6 0 1.2.2 1.7.7l4.7-.7c.4 0 .8.2.8.6 0 .4-.2.8-.6.8zm-8.7 8.9c.2-.2.2-.5.1-.7L8.1 9.8c-.1-.3-.4-.4-.7-.4s-.5.1-.6.4l-2 4.6c0 .2 0 .4.1.6 0 .1 1 1.5 2.5 1.5.9 0 1.7-.4 2.5-1.4zm-2.5-3.2l1.1 2.5H6.4l1-2.5zm9.8-3.5c-.1-.3-.4-.5-.6-.5s-.6.2-.7.5L14 12.9c-.1.2-.1.5 0 .7.1.1 1 1.5 2.5 1.5.9 0 1.7-.5 2.5-1.4.2-.3.2-.5.1-.8l-1.9-4.5zm-.6 2.1l1 2.5h-2.1l1.1-2.5zM12 17c-1.3 0-2.7.5-3.7 1.3-.1.1-.1.3-.1.4 0 .3.2.5.4.5h6.8c.2 0 .4-.2.4-.5 0-.1 0-.3-.1-.4-1-.8-2.4-1.3-3.7-1.3z" + } + }, + custom91: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.7 7.8c-.7-.2-1.4-.7-1.8-1.3-.3-.5-.3-1.7-1.1-1.7H8.2c-.8 0-.8 1.2-1.1 1.7-.5.7-1.2.9-1.9 1.4-.8.5-.1 2.4.1 3 .7 2.7 2.1 5.2 4.3 6.9.7.5 1.3 1 2.1 1.3.6.4 1.7-.6 2.2-.9 1.2-.9 2.3-2 3.1-3.3.7-1.1 1.2-2.3 1.6-3.6.1-.5.3-1 .4-1.5.1-.4.3-1.1.1-1.5 0-.2-.2-.4-.4-.5-1.1-.3.3.1 0 0zm-1.1 1.7c-.6 3.2-2.4 6.2-5.2 8l-.4.2-.4-.2c-3.4-2.1-4.7-5.5-5.2-8L6.3 9l.4-.3c.8-.4 1.5-1.2 1.9-2.1l.2-.4h6.4l.2.3c.4.9 1.1 1.8 2 2.3l.3.2-.1.5zm-5.9-1.8c-.5 0-1.9 0-2.1.2-.5.4-.7 1-1.2 1.4-.5.5-.3.9-.1 1.5.3 1 .8 2 1.4 2.9.3.4.7.8 1.1 1.2.1.1 1.2 1.3 1.2.6V8.2c0-.3 0-.5-.3-.5z" + } + }, + custom92: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.7 13.5L12.2 11h-.4l-5.5 2.5c-.3.2-.4.5-.2.8.6.8.9 1.9 1.1 2.4 0 .2.2.3.4.3 1.9.5 3.4 1.6 4.1 2.1.2.1.4.1.6 0 .7-.5 2.2-1.6 4.1-2.1.2 0 .4-.1.4-.3.1-.5.5-1.6 1.1-2.4.2-.2.1-.6-.2-.8zm-7.1 1.4c-.4 0-.8-.5-.8-1s.4-.9.8-.9.7.4.7.9-.3 1-.7 1zm2.8 0c-.4 0-.7-.5-.7-1s.3-.9.7-.9.8.4.8.9-.4 1-.8 1zm-5.1-3.8l2.9-1.4c.3-.1.7-.2 1.1-.1.2 0 .4.1.5.1l2.9 1.4c.2.1.4-.1.4-.2V9.8c0-.1-.1-.2-.2-.3-.2-.3-.5-.6-1.3-.6V7.5c0-.2-.1-.4-.2-.4-.3-.2-.7-.4-1.4-.5V5.3c0-.3-.3-.5-.5-.5h-1c-.2 0-.5.2-.5.5v1.3c-.7.1-1.1.3-1.4.5-.1 0-.2.2-.2.4v1.4c-.8 0-1.1.3-1.3.5-.1.1-.2.2-.2.4v1c0 .2.2.3.4.3z" + } + }, + custom93: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M10.2 12h7.1c.2 0 .4-.1.4-.4L19 7.1c.1-.3-.1-.6-.4-.6h-11l-.2-.7c-.1-.3-.4-.5-.7-.5H5.6c-.4 0-.8.3-.8.7 0 .4.3.7.7.7h.7l2.2 7.7c.1.3.4.5.7.5h8.4c.4 0 .7-.3.8-.7 0-.4-.3-.8-.8-.8h-7.3c-.3 0-.6-.2-.7-.5-.1-.4.2-.9.7-.9z" + }, + "circle": [{ + "cx": "10.32", + "cy": "17.52", + "r": "1.2" + }, { + "cx": "16.08", + "cy": "17.52", + "r": "1.2" + }] + } + }, + custom94: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.4 9.1V5.5c0-.4-.3-.7-.7-.7h-.9c-.4 0-.8.3-.8.7s.4.7.8.7h.2v2.9c0 1.6-1.3 2.9-2.9 2.9s-2.9-1.3-2.9-2.9V6.2h.3c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1c-.4 0-.7.3-.7.7v3.6c0 2.4 1.9 4.3 4.3 4.3s4.3-1.9 4.3-4.3zm5.8 2.9c0-1.2-1-2.2-2.2-2.2s-2.1 1-2.1 2.2c0 .9.6 1.7 1.4 2v.6c0 1.7-1.4 3.2-3.2 3.2-1.6 0-2.8-1.1-3.2-2.5 0-.3-.2-.4-.4-.4H9c-.3 0-.6.3-.5.6.4 2.1 2.3 3.7 4.5 3.7h.1c2.6 0 4.7-2.1 4.7-4.6V14c.8-.3 1.4-1.1 1.4-2zm-2.2.7c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.8.3.8.7-.4.7-.8.7z" + } + }, + custom95: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.7 7.2v-1h.3c.3 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7h-2c-.3 0-.7.3-.7.7 0 .4.3.7.7.7h.3v1c-3 .4-5.3 2.9-5.3 6 0 3.3 2.7 6 6 6s6-2.7 6-6c0-3.1-2.3-5.6-5.3-6zM12 17.8c-2.5 0-4.6-2.1-4.6-4.6S9.5 8.6 12 8.6s4.6 2.1 4.6 4.6-2.1 4.6-4.6 4.6zm1.6-7l-1.1 1.1c-.2-.1-.3-.1-.5-.1-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4 1.4-.6 1.4-1.4c0-.2 0-.3-.1-.5l1.1-1.1c.3-.2.3-.6 0-.8-.2-.3-.6-.3-.8 0z" + } + }, + custom96: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.1 6.9L17.8 6c-.2-.2-.4-.2-.6-.2H13v-.5c0-.3-.3-.5-.5-.5h-1c-.2 0-.5.2-.5.5v.5H6.2c-.2 0-.4.2-.4.4v2c0 .2.2.4.4.4h11c.2 0 .4 0 .6-.2l1.2-.9c.2-.2.2-.4.1-.6zM17.8 11H13v-.7c0-.1-.1-.2-.3-.2h-1.4c-.2 0-.3.1-.3.2v.7H6.8c-.2 0-.4.1-.6.2l-1.2 1c-.2.1-.2.4 0 .6l1.2.9c.2.1.4.2.6.2h11c.2 0 .4-.2.4-.5v-1.9c0-.2-.2-.5-.4-.5zM13 17.2v-1.6c0-.1-.1-.2-.3-.2h-1.4c-.2 0-.3.1-.3.2v1.6c-.9.2-1.4.8-1.6 1.5-.1.3.1.5.3.5h4.6c.2 0 .4-.2.3-.5-.2-.7-.7-1.3-1.6-1.5z" + } + }, + custom97: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.4 13.1V7c0-1.5-1.2-2.7-2.6-2.7h-.1c-1.4 0-2.6 1.2-2.6 2.7v6.1c-.7.7-1.2 1.7-1.2 2.7 0 2.2 1.7 3.9 3.9 3.9s3.8-1.7 3.8-3.9c0-1-.4-2-1.2-2.7zm-.6 2.7H9.7c-.2 0-.3-.2-.3-.4.1-.6.4-1.1.8-1.4.2-.2.3-.4.3-.6V7c0-.7.6-1.2 1.2-1.2h.1c.6 0 1.1.5 1.1 1.2v.2h-.7c-.4 0-.7.3-.7.7s.3.7.7.7h.7v1h-.7c-.4 0-.7.3-.7.7s.3.7.7.7h.7v1h-.7c-.4 0-.7.3-.7.7s.3.7.7.7h.7c.1.3.2.4.3.6.5.3.8.9.9 1.4.1.2-.1.4-.3.4z" + } + }, + custom98: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M19.5 11.1l-1.8-1.8c-.1-.1-.3-.2-.4-.2h-1.9c-.3 0-.5.2-.5.5v3.8c0 .2.1.3.3.3.4-.2.7-.3 1.1-.3 1.1 0 2 .6 2.5 1.5.1.1.3.2.4.1.3-.3.5-.6.5-1.1v-2.4c0-.1-.1-.3-.2-.4z" + }, { + "d": "M13 7H4.8c-.3 0-.5.2-.5.4v6.5c0 .5.2.8.5 1.1.1.1.3.1.4-.1.4-.9 1.4-1.5 2.5-1.5 1.2 0 2.2.8 2.6 1.8.1.1.2.2.3.2H12c.8 0 1.4-.7 1.4-1.5V7.4c0-.2-.2-.4-.4-.4z" + }], + "circle": [{ + "cx": "16.32", + "cy": "16.32", + "r": "1.44" + }, { + "cx": "7.68", + "cy": "16.32", + "r": "1.44" + }] + } + }, + custom99: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 8.6h-4.1c-.1-.2-.3-.5-.5-.7L14.7 6c.3-.4.2-.8-.1-1.1s-.8-.1-1 .2l-1.7 2.1h-.8L9.5 5.1c-.3-.3-.7-.4-1.1-.2-.3.3-.3.7-.1 1.1l1.5 1.9c-.2.2-.3.5-.5.7H6.2c-.8 0-1.4.7-1.4 1.5v6.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-6.7c0-.8-.6-1.5-1.4-1.5zm-2 7.7c0 .3-.2.5-.4.5H6.7c-.2 0-.5-.2-.5-.5v-5.7c0-.3.3-.5.5-.5h8.7c.2 0 .4.2.4.5v5.7zm1.7-2.4c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.7.3.7.7-.3.7-.7.7zm0-2.4c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.7.3.7.7-.3.7-.7.7z" + } + }, + viewBox: '0 0 24 24' + }; +} + +/* 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": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#FFC35E" + }, { + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#FFB446" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#fff" + }, { + "d": "M9.1 20.2c-.2 0-.3 0-.3-.2l-.4-.8H6.2l-.3.8c-.1.2-.2.2-.3.2-.2 0-.3-.1-.3-.3v-.1l1.6-3.9c0-.1.2-.3.4-.3s.4.2.5.3l1.5 3.9c0 .1.1.1.1.1 0 .2-.2.3-.3.3zm-1.8-3.9l-.9 2.4h1.9l-1-2.4zm3.2 3.9c-.1 0-.3-.1-.3-.3v-4c0-.1.2-.3.3-.3.2 0 .3.2.3.3v4c0 .2-.1.3-.3.3z", + "fill": "#fff" + }] + }, + attachment: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill": "#8199AF" + }, { + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#617F9B" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + }, + "path": { + "d": "M11.5 15.6c.4-.5.4-1.2 0-1.6s-1.1-.4-1.6 0l-3.4 3.4c-.4.5-.4 1.2 0 1.6s1.1.4 1.5 0l2.1-2.1c.2-.1.2-.3 0-.5s-.3-.1-.4 0l-1.3 1.4c-.2.2-.5.2-.7 0-.2-.2-.2-.5 0-.7L9 15.8c.5-.5 1.3-.5 1.8 0s.5 1.3 0 1.7l-2.1 2.2c-.8.7-2.1.7-2.9 0-.8-.8-.8-2.1 0-2.9l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2.1 0 2.9l-.3.4c0-.4-.1-.7-.4-1l.1-.1z", + "fill": "#fff" + } + }, + audio: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill": "#379FD3" + }, { + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z", + "fill": "#2987C8" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }, { + "d": "M12.7 12.8l-5.3.6v5.1c-.3-.1-.6-.1-1 0-.7.1-1.2.6-1.1 1.1.2.4.9.7 1.6.5.7-.1 1.2-.5 1.2-.9v-4l3.9-.5v3.1c-.3-.1-.6-.1-1 0-.8.1-1.3.6-1.1 1.1.1.4.9.7 1.6.5.7-.1 1.2-.5 1.2-1v-5.6z", + "fill": "#fff" + }] + } + }, + box_notes: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill": "#277A84", + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z" + }, { + "fill": "#1E5B60", + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z" + }, { + "opacity": ".5", + "fill": "#fff", + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z" + }, { + "fill": "#fff", + "d": "M11.7 14.8l.8-.8H5.4s-.1 0-.1.1v.5c0 .1.1.1.1.1h6.3zm-2.8 2.7l.8-.8H5.4s-.1 0-.1.1v.5l.1.2h3.5zM7 20.2l.1-.8H5.4s-.1 0-.1.2v.5c0 .1.1.1.1.1H7zm.3 0h.8c.1-.1.2-.1.2-.1l4.9-5s-.2.2-.6-.2c-.3-.3-.2-.5-.2-.5l-4.8 4.8c-.1.1-.1.2-.1.2 0 .1-.2.8-.2.8zm5.7-6.4l-.4.4v.2c0 .1.2.5.6.6 0 0 .1 0 .2-.1.1 0 .4-.4.4-.4s.1 0 0-.2c0-.2-.3-.5-.6-.6-.1 0-.2.1-.2.1z" + }] + }, + csv: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#45B058" + }, { + "d": "M9.1 16.2c.1.1.1.1.1.2s-.1.3-.3.3c0 0-.1-.1-.2-.1-.2-.3-.7-.5-1.1-.5-1 0-1.7.7-1.7 1.8s.7 1.8 1.7 1.8c.4 0 .9-.2 1.1-.5.1-.1.2-.1.2-.1.2 0 .3.2.3.3 0 .1 0 .1-.1.2-.3.3-.8.6-1.5.6-1.3 0-2.3-.9-2.3-2.3s1-2.3 2.3-2.3c.7 0 1.2.2 1.5.6zm2.6 4c-.7 0-1.2-.2-1.6-.5-.1-.1-.1-.2-.1-.2 0-.2.1-.3.3-.3h.1c.3.3.8.5 1.3.5.8 0 1-.4 1-.8 0-1.1-2.6-.5-2.6-2.1 0-.7.6-1.2 1.5-1.2.6 0 1.1.1 1.5.4 0 .1.1.2.1.2 0 .2-.2.3-.3.3h-.2c-.3-.3-.7-.4-1.1-.4-.6 0-.9.3-.9.7 0 1 2.6.4 2.6 2.1 0 .6-.4 1.3-1.6 1.3zM18 16l-1.5 3.9c-.1.2-.3.3-.5.3s-.4-.1-.4-.3L14 16v-.1c0-.1.1-.3.3-.3.1 0 .2.1.3.2l1.4 3.7 1.5-3.7c0-.1.1-.2.3-.2.1 0 .3.1.3.3 0 0 0 .1-.1.1z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z", + "fill": "#349C42" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + eps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#FFC35E" + }, { + "d": "M8 20.2H5.7c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4H8c.2 0 .3.1.3.3 0 .1-.1.2-.3.2H5.9v1.5H8c.1 0 .2.1.2.2 0 .2-.1.3-.2.3H5.9v1.5H8c.2 0 .3.1.3.3 0 .1-.1.2-.3.2zm3.1-1.8H9.9V20c0 .1-.2.3-.3.3-.2 0-.3-.2-.3-.3v-3.9c0-.2.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.4 0 .7-.5 1.3-1.4 1.3zm-.1-2.2H9.9v1.7H11c.6 0 .9-.3.9-.8s-.3-.9-.9-.9zm3.9 4.1c-.7 0-1.2-.2-1.6-.6 0 0-.1-.1-.1-.2s.1-.2.3-.2h.2c.3.3.7.5 1.2.5.8 0 1.1-.4 1.1-.8 0-1.1-2.7-.5-2.7-2.1 0-.7.7-1.3 1.6-1.3.5 0 1 .2 1.4.5.1.1.1.2.1.2 0 .2-.1.3-.3.3 0 0-.1 0-.1-.1-.4-.2-.8-.4-1.2-.4-.5 0-.9.3-.9.8 0 1 2.7.4 2.7 2.1 0 .6-.5 1.3-1.7 1.3z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8c-.9 0-2.4-.5-2.3-2.5 0 0 .1 2.1 2.3 2.1h4.8z", + "fill": "#FFB446" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + excel: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#45B058" + }, { + "d": "M8.8 20.2c-.1 0-.2 0-.2-.1l-1.4-1.8-1.4 1.8c-.1.1-.1.1-.2.1-.2 0-.3-.1-.3-.2s0-.2.1-.2l1.4-1.9-1.3-1.8c-.1-.1-.1-.1-.1-.2s.1-.3.3-.3c.1 0 .1.1.2.1l1.3 1.8 1.3-1.8s.1-.1.2-.1.3.2.3.3c0 .1-.1.1-.1.2l-1.3 1.8L9 19.8l.1.1c0 .2-.2.3-.3.3zm3.7 0h-2c-.2 0-.4-.2-.4-.4v-3.9c0-.1.1-.3.3-.3.1 0 .2.2.2.3v3.8h1.9c.2 0 .3.1.3.2 0 .2-.1.3-.3.3zm2.6.1c-.6 0-1.1-.3-1.5-.6-.1-.1-.1-.1-.1-.2s.1-.3.2-.3.2 0 .2.1c.3.2.8.5 1.3.5.8 0 1-.5 1-.8 0-1.2-2.6-.5-2.6-2.1 0-.8.6-1.3 1.5-1.3.6 0 1.1.2 1.5.5v.2c0 .1-.1.3-.2.3s-.1-.1-.2-.1c-.3-.3-.7-.4-1.1-.4-.6 0-1 .3-1 .7 0 1 2.7.5 2.7 2.1 0 .7-.4 1.4-1.6 1.4z", + "fill": "#fff" + }, { + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#349C42" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#fff" + }] + }, + exe: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1.1.9 1.9 1.9 1.9h17.2c1 0 1.9-.8 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#8199AF" + }, { + "d": "M8 20.2H5.7c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4H8c.2 0 .3.1.3.3 0 .1-.1.2-.3.2H5.9v1.5H8c.1 0 .2.1.2.2 0 .2-.1.3-.2.3H5.9v1.5H8c.2 0 .3.1.3.3 0 .1-.1.2-.3.2zm4.6.1c-.1 0-.2-.1-.2-.1L11 18.3l-1.4 1.9c-.1 0-.1.1-.2.1-.2 0-.3-.1-.3-.3 0-.1 0-.1.1-.2l1.4-1.9-1.3-1.8c-.1 0-.1-.1-.1-.2s.1-.2.3-.2c.1 0 .1 0 .2.1l1.3 1.7 1.3-1.7c0-.1.1-.1.2-.1s.2.1.2.2v.2l-1.4 1.8 1.5 1.9c0 .1.1.1.1.2s-.2.3-.3.3zm4-.1h-2.3c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4h2.3c.2 0 .3.1.3.3 0 .1-.1.2-.3.2h-2.2v1.5h2.2c.1 0 .2.1.2.2 0 .2-.1.3-.2.3h-2.2v1.5h2.2c.2 0 .3.1.3.3 0 .1-.1.2-.3.2z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#617F9B" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + flash: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#E53C3C" + }, { + "d": "M8 16.2H5.9v1.4H8c.1 0 .2.1.2.3 0 .1-.1.2-.2.2H5.9v1.8c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h2.4c.1 0 .2.1.2.2 0 .2-.1.3-.3.3zm3.6 4h-2c-.2 0-.4-.2-.4-.4v-3.9c0-.2.1-.3.3-.3.1 0 .2.1.2.3v3.8h1.9c.2 0 .3.1.3.2 0 .2-.1.3-.3.3zm4.6 0c-.1 0-.2-.1-.3-.2l-.3-.8h-2.2l-.4.8c0 .1-.1.2-.2.2-.2 0-.3-.1-.3-.3v-.1l1.5-3.9c.1-.2.3-.3.5-.3s.4.1.4.3l1.6 3.9v.1c0 .1-.1.3-.3.3zm-1.7-4l-1 2.5h1.9l-.9-2.5z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#DE2D2D" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + folder: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M20.8 5.8a1.7 1.7 0 0 1 1.7 1.7v11.6a1.7 1.7 0 0 1-1.7 1.7H3.2a1.7 1.7 0 0 1-1.7-1.7V4.9a1.7 1.7 0 0 1 1.7-1.7h4.3c1.4 0 1.6.4 2.5 1.7.8 1 2.7.9 3.9.9z", + "fill": "#003462" + }, { + "d": "M20.8 6.8H5a1.7 1.7 0 0 0-1.7 1.7v1.1l1.6-2.5h15.9l1.7 2.5V8.5a1.7 1.7 0 0 0-1.7-1.7z", + "fill": "#87c8f2" + }, { + "d": "M3.2 20.8h17.6a1.7 1.7 0 0 0 1.7-1.7V8.8a1.7 1.7 0 0 0-1.7-1.7H5a1.7 1.7 0 0 0-1.7 1.7v10.3a1.7 1.7 0 0 1 0 .3.9.9 0 0 1-1.8 0 1.7 1.7 0 0 0 1.7 1.4z", + "fill": "#00a1e0" + }] + }, + gdoc: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#3C8CEA" + }, { + "d": "M5.3 14h8.1v.8H5.3zm0 1.8h8.1v.8H5.3zm0 1.8h8.1v.8H5.3zm0 1.8h4.6v.8H5.3z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#2D6FE4" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + gdocs: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill": "#3C8CEA", + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z" + }, { + "fill": "#2D6FE4", + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z" + }, { + "opacity": ".5", + "fill": "#fff", + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z" + }, { + "fill": "#fff", + "d": "M11.2 16.9H8.4v.8h2c-.1 1.2-1.1 1.7-2 1.7-1.2 0-2.3-.9-2.3-2.2 0-1.3 1-2.3 2.3-2.3.9 0 1.5.6 1.5.6l.6-.6s-.8-.8-2.1-.8c-1.8 0-3.2 1.5-3.2 3.1s1.3 3.1 3.2 3.1c1.6 0 2.9-1.1 2.9-2.8-.1-.4-.1-.6-.1-.6z" + }] + }, + gform: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill": "#673AB7", + "d": "M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z" + }, { + "fill": "#45317C", + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z" + }, { + "opacity": ".5", + "fill": "#fff", + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z" + }, { + "fill": "#fff", + "d": "M6.3 14.8c0-.2-.1-.3-.3-.3h-.5c-.1 0-.2.1-.2.3v.5c0 .1.1.2.2.2H6c.2 0 .3-.1.3-.2v-.5zm7 0c0-.2-.1-.3-.2-.3H7.2c-.2 0-.3.1-.3.3v.5c0 .1.1.2.3.2h5.9c.1 0 .2-.1.2-.2v-.5zm-7 2.3c0-.1-.1-.2-.3-.2h-.5c-.1 0-.2.1-.2.2v.5c0 .2.1.3.2.3H6c.2 0 .3-.1.3-.3v-.5zm7 0c0-.1-.1-.2-.3-.2H7.2c-.1 0-.3.1-.3.2v.5c0 .2.2.3.3.3H13c.2 0 .3-.1.3-.3v-.5zm-7 2.4c0-.2-.1-.3-.3-.3h-.5c-.1 0-.2.1-.2.3v.5c0 .1.1.2.2.2H6c.2 0 .3-.1.3-.2v-.5zm7 0c0-.2-.1-.3-.2-.3H7.2c-.2 0-.3.1-.3.3v.5c0 .1.1.2.3.2h5.9c.1 0 .2-.1.2-.2v-.5z" + }] + }, + gpres: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#F8BE46" + }, { + "d": "M5.3 14v4.5H10V14H5.3zm4.2 3.7H5.7v-2.8h3.8v2.8zm.3-2v.9h3.1v2.8H9.1v-1.1h-.4v1.9h4.7v-4.5H9.8z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#F6AD34" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + gsheet: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#20A971" + }, { + "d": "M5.3 14v6.2h8.1V14H5.3zm2.4 5.7H5.8v-1.3h1.9v1.3zm0-1.9H5.8v-1.3h1.9v1.3zm0-1.9H5.8v-1.3h1.9v1.3zm5.1 3.8H8.3v-1.3h4.5v1.3zm0-1.9H8.3v-1.3h4.5v1.3zm0-1.9H8.3v-1.3h4.5v1.3z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#189355" + }, { + "d": "M15.4 0v5.4c0 .7.4 2.2 2.3 2.2h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + html: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#F7622C" + }, { + "d": "M8.6 19.1s-.1 0-.1-.1l-2.9-1.2c-.1-.1-.3-.3-.3-.5s.2-.4.3-.5l2.9-1.2c0-.1.1-.1.1-.1.2 0 .3.2.3.4 0 .1 0 .2-.2.3l-2.6 1.1 2.6 1.1c.2.1.2.2.2.3 0 .2-.1.4-.3.4zm3.2-4.2l-1.7 5c0 .2-.2.2-.3.2-.2 0-.4-.1-.4-.3 0 0 0-.1.1-.1l1.6-5c.1-.1.2-.2.4-.2s.3.1.3.3v.1zm3.8 2.9L12.8 19c-.1.1-.1.1-.2.1s-.3-.2-.3-.4c0-.1.1-.2.2-.3l2.6-1.1-2.6-1.1c-.1-.1-.2-.2-.2-.3 0-.2.2-.4.3-.4.1 0 .1 0 .2.1l2.8 1.2c.2.1.3.3.3.5s-.1.4-.3.5z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#F54921" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + image: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1.1.9 1.9 1.9 1.9h17.2c1 0 1.9-.8 1.9-1.9V7.6L15.4 0h-12z", + "fill": "#49C9A7" + }, { + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#37BB91" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + }, + "path": { + "d": "M5.3 20.2v-7.9h7.8v7.9H5.3zm7-7.1H6.1v4.7h6.2v-4.7zm-3.5 3.1l1.4-1.9.5.8.5-.2.4 2.1H6.7L8 15.8l.8.4zm-1.5-1.3c-.3 0-.6-.3-.6-.6s.3-.6.6-.6.6.3.6.6-.3.6-.6.6z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#fff" + } + }, + keynote: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#DB7A2A" + }, { + "d": "M8.2 20.3c-.1 0-.2-.1-.2-.1l-1.7-2-.4.5V20c0 .1-.2.2-.3.2-.2 0-.3-.1-.3-.2v-4.1c0-.1.1-.2.3-.2.1 0 .3.1.3.2V18l1.9-2.2c.1-.1.1-.1.2-.1.2 0 .3.1.3.2s0 .1-.1.2l-1.5 1.7 1.7 2c0 .1.1.1.1.2s-.2.3-.3.3zm4.1-.1H9.9c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4h2.4c.1 0 .2.1.2.3 0 .1-.1.2-.2.2h-2.2v1.5h2.1c.2 0 .3.1.3.2s-.1.3-.3.3h-2.1v1.5h2.2c.1 0 .2.1.2.3 0 .1-.1.2-.2.2zm4.6-4.1l-1.5 2.2V20c0 .1-.1.2-.3.2-.1 0-.3-.1-.3-.2v-1.7l-1.5-2.2v-.2c0-.1.1-.2.3-.2 0 0 .1 0 .2.1l1.3 2 1.4-2c0-.1.1-.1.2-.1s.3.1.3.2-.1.1-.1.2z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#D25B1F" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + library_folder: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill": "#003462", + "d": "M20.8 5.8c1 0 1.7.8 1.7 1.7v11.6c0 1-.7 1.7-1.7 1.7H3.2c-.9 0-1.7-.7-1.7-1.7V4.9c0-1 .8-1.7 1.7-1.7h4.3c1.4 0 1.6.4 2.5 1.7.8 1 2.7.9 3.9.9h6.9z" + }, { + "fill": "#87C8F2", + "d": "M20.8 6.8H4.9c-.9 0-1.6.7-1.6 1.7v1.1l1.6-2.5h15.9l1.7 2.5V8.5c0-1-.7-1.7-1.7-1.7z" + }, { + "fill": "#00A1E0", + "d": "M3.2 20.8h17.6c1 0 1.7-.7 1.7-1.7V8.8c0-.9-.7-1.7-1.7-1.7H5c-.9 0-1.7.7-1.7 1.7v10.6c0 .5-.4.9-.9.9s-.9-.4-.9-.9c.2.8.9 1.4 1.7 1.4z" + }, { + "d": "M11.1 14.2h1.3v4.3h-1.3zm2.3 0h1.3v4.3h-1.3zm5.5-2.3l-5.6-2.3c-.2-.1-.3-.1-.4-.1-.1 0-.2 0-.5.1l-5.6 2.3c-.1.1-.2.2-.2.3v.4c0 .2.2.3.4.3h1.1v5.3c0 .1.1.3.3.3h1.7v-4.3h-.7c-.1 0-.2-.1-.2-.3v-.4c0-.2.1-.2.2-.2h6.9c.1 0 .2 0 .2.2v.4c0 .2-.1.3-.2.3h-.7v4.3h1.7c.2 0 .3-.2.3-.4v-5.2h1.1c.2 0 .3-.2.3-.3v-.3c.1-.2 0-.3-.1-.4zm-6 .2c-.5 0-.8-.3-.8-.7 0-.4.4-.7.8-.7s.7.3.7.7c0 .4-.3.7-.7.7z", + "fill": "#fff" + }] + }, + link: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#0C8FE8" + }, { + "d": "M12.1 13.4c-.8-.8-2-.8-2.8 0l-1.2 1.1c-.8.8-.8 2 0 2.8.2.2.5.2.7 0 .2-.2.2-.4 0-.6-.5-.4-.5-1.1 0-1.5L9.9 14c.4-.4 1.1-.4 1.5 0 .5.4.5 1.1 0 1.5l-.5.6c.1.3.2.7.2 1.1l1-1c.8-.8.8-2.1 0-2.8zm-2.9 2.2c-.2.2-.2.5 0 .6.4.5.4 1.1 0 1.6l-1.1 1.1c-.5.4-1.1.4-1.6 0-.4-.4-.4-1.1 0-1.5l.6-.6c-.2-.3-.2-.7-.2-1.1l-1 1c-.8.8-.8 2.1 0 2.9.8.7 2 .7 2.8 0l1.2-1.2c.7-.8.7-2 0-2.8-.2-.2-.5-.2-.7 0z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#0973E2" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + mp4: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill": "#9B64B2" + }, { + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#824B9E" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + }, + "path": { + "d": "M9.4 20.2c-.1 0-.3-.1-.3-.3v-3.4l-1.5 3.6c0 .1 0 .1-.1.1s-.1 0-.1-.1l-1.5-3.6v3.4c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.5.5-.5.1 0 .3.1.4.3L7.5 19l1.3-3.1c.1-.2.3-.3.4-.3.3 0 .5.2.5.5v3.8c0 .2-.1.3-.3.3zm3.3-1.8h-1.2v1.5c0 .2-.1.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3 0 .8-.5 1.4-1.4 1.4zm0-2.2h-1.2v1.7h1.2c.5 0 .9-.4.9-.9s-.4-.8-.9-.8zm5.2 2.8h-.5v.9c0 .2-.1.3-.2.3-.2 0-.3-.1-.3-.3V19H15c-.2 0-.3-.1-.3-.3 0 0 0-.1.1-.2l1.8-2.7c.1-.1.2-.2.4-.2s.4.2.4.5v2.4h.5c.1 0 .2.1.2.3 0 .1-.1.2-.2.2zm-1-2.8l-1.6 2.3h1.6v-2.3z", + "fill": "#fff" + } + }, + overlay: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#A382D8" + }, { + "d": "M5.3 12.9v5.3h5.5v-5.3H5.3zm2 2v5.3h5.5v-5.3H7.3z", + "fill": "#fff" + }, { + "fill": "#CBBBEF", + "d": "M7.3 14.9h3.5v3.3H7.3z" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#8C62CE" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + pack: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#4E74B7" + }, { + "d": "M12.4 15.3v4.5c0 .2-.2.4-.4.4H5.7c-.2 0-.4-.2-.4-.4v-4.5-.1l.6-1.8c.1-.2.2-.3.4-.3h5.1c.2 0 .4.1.4.3l.6 1.8v.1zm-.9 0l-.4-1.3H6.7l-.5 1.3h5.3z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#3A57A5" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + pages: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#6A6AE2" + }, { + "d": "M7.1 18.4H5.9v1.5c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3s-.5 1.4-1.4 1.4zM7 16.2H5.9v1.7H7c.6 0 .9-.4.9-.9s-.3-.8-.9-.8zm4.6 4.1c-1.3 0-2.4-1-2.4-2.4s1.1-2.3 2.4-2.3c.6 0 1.2.2 1.5.6.1.1.1.1.1.2s-.1.3-.3.3c0 0-.1-.1-.2-.1-.2-.3-.7-.5-1.1-.5-1 0-1.8.7-1.8 1.8s.8 1.9 1.8 1.9c.5 0 .9-.3 1.2-.5v-1h-1.4c-.1 0-.2-.1-.2-.2s.1-.2.2-.2h1.5c.3 0 .4.1.4.4v.8c0 .7-.9 1.2-1.7 1.2zm4.3-.1c-.7 0-1.2-.2-1.6-.5-.1-.1-.1-.1-.1-.2 0-.2.1-.3.3-.3 0 0 .1 0 .1.1.3.2.8.4 1.3.4.8 0 1.1-.4 1.1-.7 0-1.2-2.7-.5-2.7-2.2 0-.7.6-1.2 1.5-1.2.6 0 1.1.2 1.5.5 0 0 .1.1.1.2s-.1.2-.3.2h-.2c-.3-.3-.7-.4-1.1-.4-.6 0-.9.3-.9.7 0 1 2.6.4 2.6 2.1 0 .7-.4 1.3-1.6 1.3z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#4F4FDA" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + pdf: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill": "#8C181A", + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z" + }, { + "fill": "#6B0D12", + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z" + }, { + "opacity": ".5", + "fill": "#fff", + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z" + }, { + "fill": "#fff", + "d": "M7.1 18.4H5.8v1.5c0 .2-.1.3-.3.3-.1 0-.2-.1-.2-.3v-3.8c0-.2.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3 0 .8-.5 1.4-1.4 1.4zM7 16.2H5.8v1.7H7c.6 0 .9-.3.9-.9s-.3-.8-.9-.8zm3.9 4H9.8c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4h1.1c1.4 0 2.4.9 2.4 2.2s-.9 2.3-2.4 2.3zm0-4H10v3.5h.9c1.1 0 1.8-.8 1.8-1.8 0-.9-.6-1.7-1.8-1.7zm6.2 0h-2.2v1.4H17c.2 0 .3.1.3.3s-.2.2-.3.2h-2.1v1.8c0 .2-.1.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.2.2-.4.4-.4h2.4c.1 0 .2.1.2.2s-.1.3-.2.3z" + }] + }, + ppt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#E34221" + }, { + "d": "M7.1 18.4H5.9v1.5c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3 0 .8-.5 1.4-1.4 1.4zM7 16.2H5.9v1.7H7c.6 0 .9-.4.9-.9s-.3-.8-.9-.8zm4.2 2.2H10v1.5c0 .2-.1.3-.3.3-.1 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.5.6 1.5 1.3 0 .8-.6 1.4-1.5 1.4zm0-2.2H10v1.7h1.2c.5 0 .9-.4.9-.9s-.4-.8-.9-.8zm5.3 0h-1.3v3.7c0 .2-.1.3-.2.3-.2 0-.3-.1-.3-.3v-3.7h-1.2c-.2 0-.3-.1-.3-.3 0-.1.1-.2.3-.2h3c.1 0 .2.1.2.2 0 .2-.1.3-.2.3z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#DC3119" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + psd: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1.1.9 1.9 1.9 1.9h17.2c1 0 1.9-.8 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#0C77C6" + }, { + "d": "M7.1 18.4H5.9v1.5c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3 0 .8-.5 1.4-1.4 1.4zM7 16.2H5.9v1.7H7c.6 0 .9-.4.9-.9s-.3-.8-.9-.8zm3.9 4.1c-.7 0-1.2-.3-1.6-.6-.1-.1-.1-.1-.1-.2s.1-.3.3-.3c0 0 .1 0 .1.1.4.2.8.4 1.3.4.8 0 1.1-.4 1.1-.7 0-1.2-2.7-.5-2.7-2.2 0-.7.7-1.2 1.5-1.2.6 0 1.1.2 1.5.5.1 0 .1.1.1.2s-.1.2-.3.2H12c-.4-.3-.8-.4-1.2-.4-.5 0-.9.3-.9.7 0 1 2.6.4 2.6 2.1 0 .7-.4 1.3-1.6 1.3zm4.2-.1H14c-.3 0-.4-.2-.4-.4v-3.7c0-.3.1-.4.4-.4h1.1c1.4 0 2.3.9 2.3 2.2 0 1.3-.9 2.3-2.3 2.3zm0-4h-1v3.5h1c1.1 0 1.7-.8 1.7-1.8s-.6-1.7-1.7-1.7z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#0959B7" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + quip_doc: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill": "#29B6F2", + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z" + }, { + "fill": "#2987C8", + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z" + }, { + "opacity": ".5", + "fill": "#fff", + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z" + }, { + "d": "M9.3 17.1c0-1.5-1.1-2.8-2.9-2.8s-2.9 1.3-2.9 2.8S4.6 20 6.4 20c.4 0 .7-.1 1-.2l.9.9.8-.8-.7-.7c.6-.6.9-1.3.9-2.1zm-1.8 1.2l-.3-.3h-.8v.8c-1 0-1.6-.8-1.6-1.7 0-.9.6-1.7 1.6-1.7s1.6.8 1.6 1.7c0 .4-.2.9-.5 1.2zm4.3.6c-.2 0-.4-.1-.5-.2-.1-.2-.2-.4-.2-.7v-1.9H10V18c0 .4 0 .7.1.9.1.2.2.4.3.5.2.2.4.3.7.4.2.1.5.1.7.1s.6 0 .8-.1c.3-.1.5-.2.7-.4.1-.1.2-.3.3-.5s.1-.5.1-.9v-1.9h-1.1V18c0 .3-.1.5-.2.7-.1.1-.3.2-.5.2h-.1zm2.6-2.9h1.2v3.8h-1.2zm4.3 0c-.5 0-1 .3-1.2.6v-.5h-1.1v5.4h1.1v-2.2c.2.3.7.6 1.2.6 1.1 0 1.8-.8 1.8-1.9 0-1.1-.7-2-1.8-2zm-.2 2.9c-.5 0-.9-.4-.9-.9 0-.6.4-1 .9-1s.9.5.9 1c-.1.5-.4.9-.9.9zM15 14.1c-.4 0-.7.3-.7.8s.3.7.7.7c.5 0 .8-.3.8-.7 0-.5-.3-.8-.8-.8z", + "fill": "#fff" + }] + }, + quip_sheet: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill": "#30C85A", + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z" + }, { + "fill": "#2AA848", + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z" + }, { + "opacity": ".5", + "fill": "#fff", + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z" + }, { + "fill": "#fff", + "d": "M9.3 17.1c0-1.5-1.1-2.8-2.9-2.8s-2.9 1.3-2.9 2.8S4.6 20 6.4 20c.4 0 .7-.1 1-.2l.9.9.8-.8-.7-.7c.6-.6.9-1.3.9-2.1zm-1.8 1.2l-.3-.3h-.8v.8c-1 0-1.6-.8-1.6-1.7 0-.9.6-1.7 1.6-1.7s1.6.8 1.6 1.7c0 .4-.2.9-.5 1.2zm4.3.6c-.2 0-.4-.1-.5-.2-.1-.2-.2-.4-.2-.7v-1.9H10V18c0 .4 0 .7.1.9.1.2.2.4.3.5.2.2.4.3.7.4.2.1.5.1.7.1s.6 0 .8-.1c.3-.1.5-.2.7-.4.1-.1.2-.3.3-.5.1-.2.1-.5.1-.9v-1.9h-1.1V18c0 .3-.1.5-.2.7-.1.1-.3.2-.5.2h-.1zm2.6-2.9h1.2v3.8h-1.2zm4.3 0c-.5 0-1 .3-1.2.6v-.5h-1.1v5.4h1.1v-2.2c.2.3.7.6 1.2.6 1.1 0 1.8-.8 1.8-1.9 0-1.1-.7-2-1.8-2zm-.2 2.9c-.5 0-.9-.4-.9-.9 0-.6.4-1 .9-1s.9.5.9 1c-.1.5-.4.9-.9.9zM15 14.1c-.4 0-.7.3-.7.8s.3.7.7.7c.5 0 .8-.3.8-.7 0-.5-.3-.8-.8-.8z" + }] + }, + rtf: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#00A1EE" + }, { + "d": "M7.4 18.3l.9 1.5.1.1c0 .2-.2.3-.3.3-.1 0-.2-.1-.2-.1l-1.1-1.7h-.9v1.5c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3V16c0-.2.2-.4.4-.4h1.4c.8 0 1.4.6 1.4 1.4 0 .8-.5 1.3-1.1 1.3zm-1.5-2.2v1.8H7c.6 0 .9-.4.9-.9s-.3-.9-.9-.9H5.9zm6.5 0h-1.2v3.8c0 .2-.1.3-.3.3-.2 0-.3-.1-.3-.3v-3.8H9.4c-.1 0-.2-.1-.2-.2s.1-.3.2-.3h3c.1 0 .3.2.3.3 0 .1-.2.2-.3.2zm3.9 0h-2.2v1.5h2.1c.2 0 .3.1.3.3 0 .1-.1.2-.3.2h-2.1v1.8c0 .2-.1.3-.3.3-.2 0-.3-.1-.3-.3V16c0-.2.2-.4.4-.4h2.4c.1 0 .2.2.2.3 0 .1-.1.2-.2.2z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#0089E9" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + slide: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#1AB6D9" + }, { + "d": "M5.3 13v7.2h7.5V13H5.3zm6.8 5.8H6v-4.4h6.1v4.4z", + "fill": "#fff" + }, { + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#13A3CF" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 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": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill": "#DDD965" + }, { + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#C1BC45" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }, { + "d": "M12.5 13.1H5.9c-.3 0-.6.2-.6.5v6c0 .4.3.6.6.6h5l2.2-2.2v-4.4c0-.3-.2-.5-.6-.5z", + "fill": "#fff" + }, { + "fill": "#DBD75D", + "d": "M6.7 16.3h5.1v.6H6.7zm0-1.3h5.1v.6H6.7zm0 2.7H10v.6H6.7z" + }] + } + }, + txt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#F9CA06" + }, { + "d": "M8.5 16.1H7.3v3.8c0 .2-.1.3-.3.3-.1 0-.3-.1-.3-.3v-3.8H5.5c-.1 0-.2-.1-.2-.2s.1-.3.2-.3h3c.2 0 .3.2.3.3 0 .1-.1.2-.3.2zm4.4 4.1c-.1 0-.1 0-.2-.1l-1.4-1.9-1.4 1.9c0 .1-.1.1-.2.1s-.3-.1-.3-.3l.1-.1 1.5-2L9.6 16l-.1-.1c0-.2.2-.3.3-.3.1 0 .2 0 .2.1l1.3 1.7 1.3-1.7c.1-.1.1-.1.2-.1.2 0 .3.1.3.3 0 0 0 .1-.1.1l-1.3 1.8 1.4 2c.1 0 .1.1.1.1 0 .2-.1.3-.3.3zm4.2-4.1h-1.2v3.8c0 .2-.1.3-.3.3-.1 0-.3-.1-.3-.3v-3.8h-1.2c-.1 0-.2-.1-.2-.2s.1-.3.2-.3h3c.2 0 .3.2.3.3 0 .1-.1.2-.3.2z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z", + "fill": "#F7BC04" + }, { + "d": "M15.4 0v5.4c0 .7.4 2.2 2.3 2.2h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + unknown: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill": "#8199AF" + }, { + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#617F9B" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + video: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#8E4C9E" + }, { + "d": "M10.7 17.1c0 .1-.1.2-.2.3 0 .1-1.9 1.7-4.4 2.7h-.5c-.1-.1-.2-.2-.2-.4 0-.1-.1-1.3-.1-2.6s.1-2.6.1-2.6c0-.2.1-.3.2-.4.1-.1.2-.1.3-.1h.2c2.5 1 4.4 2.6 4.4 2.7.1.1.2.2.2.4z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#713985" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + visio: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#496AB3" + }, { + "d": "M9.3 16l-1.5 3.9c-.1.2-.3.3-.5.3s-.4-.1-.4-.3L5.3 16v-.1c0-.1.1-.3.3-.3.1 0 .2.1.3.2l1.4 3.7 1.5-3.7c0-.1.1-.2.3-.2.1 0 .3.1.3.3 0 0 0 .1-.1.1zm1.2 4.2c-.1 0-.3-.1-.3-.3v-4c0-.2.2-.3.3-.3.2 0 .3.1.3.3v4c0 .2-.1.3-.3.3zm3 0c-.7 0-1.2-.2-1.6-.5-.1-.1-.1-.2-.1-.2 0-.2.1-.3.3-.3h.1c.4.3.8.5 1.3.5.8 0 1.1-.4 1.1-.7 0-1.2-2.7-.6-2.7-2.2 0-.7.7-1.2 1.5-1.2.6 0 1.1.2 1.5.5.1 0 .1.1.1.2s-.1.2-.3.2h-.1c-.4-.3-.8-.4-1.2-.4-.5 0-.9.3-.9.7 0 1 2.6.4 2.6 2.1 0 .7-.4 1.3-1.6 1.3z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#374FA0" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + webex: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill": "#80BC4B" + }, { + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#60AB38" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + }, + "path": [{ + "d": "M9.2 20.2c1.9-.1 3.4-1.7 3.4-3.7 0-1.9-1.5-3.5-3.4-3.6v7.3z", + "fill": "#CFE8AF" + }, { + "d": "M8.8 20.2c-2-.1-3.5-1.7-3.5-3.7s1.5-3.5 3.5-3.6v7.3z", + "fill": "#fff" + }] + }, + word: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#14A9DA" + }, { + "d": "M6.8 20.2H5.7c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4h1.1c1.4 0 2.4 1 2.4 2.3 0 1.2-1 2.2-2.4 2.2zm0-4h-.9v3.5h.9c1.1 0 1.8-.8 1.8-1.7 0-1-.6-1.8-1.8-1.8zm5.4 4.1c-1.3 0-2.2-1-2.2-2.3s.9-2.4 2.2-2.4c1.4 0 2.3 1 2.3 2.4 0 1.3-.9 2.3-2.3 2.3zm0-4.2c-1 0-1.6.8-1.6 1.9 0 1 .6 1.8 1.6 1.8 1.1 0 1.7-.8 1.7-1.8 0-1.1-.6-1.9-1.7-1.9zm7 .2v.2c0 .1-.1.2-.2.2s-.2 0-.2-.1c-.3-.3-.7-.5-1.1-.5-1 0-1.8.8-1.8 1.9 0 1 .8 1.8 1.8 1.8.4 0 .8-.2 1.1-.5 0-.1.1-.1.2-.1s.2.1.2.3v.1c-.4.4-.9.7-1.5.7-1.3 0-2.4-1-2.4-2.4s1.1-2.3 2.4-2.3c.6 0 1.1.3 1.5.7z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#0F93D0" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + xml: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#FC7B24" + }, { + "d": "M8.8 20.2c-.1 0-.2 0-.2-.1l-1.4-1.9-1.4 1.9c-.1.1-.2.1-.2.1-.2 0-.3-.1-.3-.3v-.1l1.5-2L5.4 16v-.1c0-.2.1-.3.3-.3 0 0 .1 0 .2.1l1.3 1.7 1.3-1.7c0-.1.1-.1.2-.1s.2.1.2.3v.1l-1.4 1.8 1.5 2v.1c0 .2-.1.3-.2.3zm5.4 0c-.2 0-.3-.1-.3-.3v-3.5l-1.5 3.7c0 .1-.1.1-.1.1-.1 0-.2 0-.2-.1l-1.5-3.7v3.5c0 .2-.1.3-.3.3-.1 0-.2-.1-.2-.3v-3.8c0-.3.2-.5.4-.5s.4.1.5.3l1.3 3.1 1.3-3.1c0-.2.2-.3.4-.3.3 0 .5.2.5.5v3.8c0 .2-.2.3-.3.3zm3.9-.1h-2c-.2 0-.4-.1-.4-.4v-3.8c0-.2.1-.3.3-.3.1 0 .2.1.2.3v3.7h1.9c.2 0 .3.2.3.3 0 .1-.1.2-.3.2z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#FB5C1B" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + zip: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#8199AF" + }, { + "d": "M8.4 20.2H5.6c-.2 0-.3-.1-.3-.3v-.2l2.6-3.5H5.5c-.1 0-.2-.1-.2-.2 0-.2.1-.3.2-.3h2.8c.2 0 .3.1.3.3 0 .1 0 .2-.1.2L6 19.7h2.4c.1 0 .3.1.3.3 0 .1-.2.2-.3.2zm1.5.1c-.1 0-.3-.2-.3-.3v-4.1c0-.1.2-.2.3-.2.2 0 .3.1.3.2V20c0 .1-.1.3-.3.3zm3.3-1.9H12V20c0 .1-.1.3-.3.3-.2 0-.3-.2-.3-.3v-3.9c0-.2.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.4s-.5 1.3-1.4 1.3zm0-2.2H12v1.7h1.2c.5 0 .9-.3.9-.8s-.4-.9-.9-.9z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z", + "fill": "#617F9B" + }, { + "d": "M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + viewBox: '0 0 24 24' + }; +} + +/* 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": "M19 12.3c0-.5-.4-.7-.5-.7h-5.3c-.4 0-.5.5-.5.5v5.7H19v-5.5zm-3.6 4c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.5.5-.5h.5c.2 0 .5.3.5.5v.5zm0-2.5c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.4zm2.4 2.5c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.5.5-.5h.5c.2 0 .5.3.5.5v.5zm0-2.5c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.4zm-3.6-4.1V6.9c0-.5-.4-.7-.5-.7H5.6c-.5 0-.6.5-.6.6v11h6.3v-7.1s0-.5.5-.5h1.9s.5-.3.5-.5zm-6.5 6.4c0 .2-.2.4-.5.4h-.5c-.2 0-.5-.2-.5-.4v-.5c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.2 0-.5-.3-.5-.5v-.5c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .3-.2.5-.5.5h-.5c-.2 0-.5-.2-.5-.5v-.4c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v.4zm0-2.4c0 .3-.2.5-.5.5h-.5c-.2 0-.5-.2-.5-.5v-.5c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm2.6 7.4c0 .2-.2.4-.5.4h-.4c-.3 0-.5-.2-.5-.4v-.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.4c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.5zm0-2.5c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.4zm0-2.4c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.5zm2.7 0c0 .3-.3.5-.5.5H12c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5z" + } + }, + action_list_component: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.6 15.3h7.1c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5h-7.1c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5zm0-4.3h7.1c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5h-7.1c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5zm0-4.2h7.1c.3 0 .5.2.5.4v1c0 .3-.2.5-.5.5h-7.1c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4zM7 6.8c-.6 0-1 .4-1 .9s.4 1 1 1 .9-.4.9-1-.4-.9-.9-.9zm0 8.5c-.6 0-1 .5-1 1s.4 1 1 1 .9-.5.9-1-.4-1-.9-1zm0-5.5c-1.2 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2 2.1-1 2.1-2.2S8.2 9.8 7 9.8zm0 2.9c-.4 0-.8-.3-.8-.7 0-.4.4-.7.8-.7s.7.3.7.7c0 .4-.3.7-.7.7z" + } + }, + actions_and_buttons: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.6 17.9c.2 0 .4-.2.4-.5v-4.9c.1-.3-.1-.5-.3-.5H6.6c-.3 0-.5.2-.5.4v1c0 .2.2.4.4.4h1.7c.1 0 .3.2.3.3 0 .1-.1.2-.1.3L5 17.7c-.2.2-.2.5 0 .7l.7.6c.2.2.4.2.6 0l3.4-3.4c.1-.1.3-.1.5 0v1.8c0 .3.2.5.4.5h1zm1.8.7c1.3-.2 2.7-.8 3.7-1.9 2.7-2.7 2.7-7.1 0-9.8s-7.1-2.7-9.8 0c-1.1 1-1.7 2.3-1.9 3.7h1.4c.2-1 .7-1.9 1.5-2.7 2.1-2.2 5.7-2.2 7.8 0s2.2 5.7 0 7.8c-.7.8-1.7 1.3-2.7 1.5v1.4zm0-2.8c.7-.2 1.3-.5 1.7-1 1.7-1.7 1.7-4.3 0-5.9s-4.2-1.7-5.9 0c-.5.5-.8 1.1-1 1.7h1.5c.1-.3.3-.5.5-.8 1.1-1.1 2.9-1.1 4 0s1 2.9 0 4c-.3.2-.5.3-.8.5v1.5z" + } + }, + address: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.8 4.5a5.7 5.7 0 0 0-5.7 5.8c0 3.9 4 7.5 5.3 8.5a.6.6 0 0 0 .7 0c1.3-1 5.4-4.6 5.4-8.5a5.7 5.7 0 0 0-5.7-5.8zm0 8.1a2.4 2.4 0 1 1 2.4-2.4 2.4 2.4 0 0 1-2.4 2.4z" + } + }, + agent_session: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.8 5.2c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3.1.4l-.7 2.1c-.1.4.2.8.6.6l2.1-.7c.2-.1.3 0 .4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7s-3.2-6.7-7.2-6.7zm-2 9.7c0 .1-.1.3-.2.3H8.3c-.1 0-.3-.2-.3-.3v-1.6c0-.2.2-.3.3-.3h1.3c.1 0 .2.1.2.3v1.6zm2.9 0c0 .1-.1.3-.2.3h-1.3c-.2 0-.3-.2-.3-.3v-3.8c0-.1.1-.3.3-.3h1.3c.1 0 .2.2.2.3v3.8zm2.9 0c0 .1-.1.3-.3.3h-1.2c-.2 0-.3-.2-.3-.3V9c0-.2.1-.3.3-.3h1.2c.2 0 .3.1.3.3v5.9z" + } + }, + all: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M13.7 10.7c-.4 0-.7-.3-.7-.7V5.9c0-.4.3-.7.7-.7h4.2c.4 0 .7.3.7.7V10c0 .4-.3.7-.7.7h-4.2zm1.8 2.4L13 15.8c-.1.1-.1.4 0 .5l2.5 2.7c.2.2.4.2.6 0l2.5-2.7c.1-.1.1-.4 0-.5l-2.5-2.7c-.2-.1-.5-.1-.6 0z" + }, { + "d": "M5.7 6.2l2.1-1.3c.2-.1.4-.1.6 0l2.2 1.3c.2.1.3.3.3.5v2.5c0 .2-.1.4-.3.5l-2.2 1.2c-.1.2-.4.2-.6 0L5.7 9.7c-.2-.1-.4-.3-.4-.5V6.7c0-.2.2-.4.4-.5z" + }], + "circle": { + "cx": "8.112", + "cy": "15.984", + "r": "2.784" + } + }, + announcement: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11 17.8l-.3-.3c-.5-.3-.5-.9-.5-1.2v-.8c0-.3-.2-.5-.4-.5H8c-.3 0-.5.2-.5.5v2.3c0 .8.5 1.4 1.2 1.4h1.5c.9 0 1-.6 1-.6s.1-.5-.2-.8zm6.8-8.2V5.5c0-.7-1-.9-1.4-.4l-2.7 2.5c-.5.3-1 .5-1.5.5H7.6C6 8.1 4.8 9.5 4.8 11v.1c0 1.5 1.2 2.7 2.8 2.7h4.6c.6 0 1.1.2 1.5.6l2.7 2.6c.4.4 1.4.3 1.4-.4v-4.1c.9 0 1.4-.6 1.4-1.5 0-.8-.6-1.4-1.4-1.4z" + } + }, + answer_best: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": [{ + "d": "M11.9 5.2c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.2 0 .4L5 17.7c-.2.4.2.7.6.6l2.1-.8c.1 0 .3 0 .4.1 1.1.6 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7s-3.2-6.7-7.2-6.7zm3.4 5.2l-3.6 3.7c-.2.1-.3.2-.5.2s-.4-.1-.5-.2l-1.8-1.8c-.2-.2-.2-.4 0-.5l.5-.5c.1-.2.3-.2.5 0l1.3 1.3 3.1-3.2c.2-.2.4-.2.5 0l.5.5c.2.1.2.4 0 .5z" + }, { + "fill-opacity": ".65", + "d": "M24 24v-9.1L14.9 24H24zm-1-3.2l-.8.7v.1l.2 1.1c0 .1-.1.1-.1.1l-.9-.5c-.1-.1-.1-.1-.1 0l-1 .5s-.1 0-.1-.1l.2-1.1v-.1l-.8-.7c0-.1 0-.2.1-.2l1-.2h.1l.4-1c0-.1.1-.1.2 0l.4 1h.1l1 .2c.1 0 .1.1.1.2z" + }] + }, + answer_private: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": [{ + "fill-opacity": ".65", + "d": "M21.4 20.2c-.3 0-.5.2-.5.4v.3h.9v-.3c0-.2-.2-.4-.4-.4z" + }, { + "fill-opacity": ".65", + "d": "M24 24v-9.1L14.9 24H24zm-1.2-1.6c0 .2-.2.4-.4.4h-2.1c-.2 0-.4-.2-.4-.4v-1.2c0-.2.2-.3.4-.3h.1v-.3c0-.5.4-.9 1-.9s.9.4.9.9v.3h.1c.2 0 .4.1.4.3v1.2z" + }, { + "d": "M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3 0 .4l-.6 2.1c-.2.4.2.7.6.6l2.1-.7c.1-.1.3-.1.4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7S16 5.3 12 5.3zm3.5 5.2l-3.7 3.7c-.2.1-.3.2-.5.2s-.4-.1-.5-.2L9 12.4c-.1-.1-.1-.4 0-.5l.5-.5c.1-.1.4-.1.5 0l1.3 1.3 3.1-3.2c.2-.1.4-.1.6 0l.5.5c.1.2.1.4 0 .5z" + }] + }, + answer_public: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3.1.4l-.7 2.1c-.1.4.2.7.6.6l2.1-.7c.2-.1.3-.1.4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7S16 5.3 12 5.3zm3.5 5.2l-3.7 3.7c-.2.1-.3.2-.5.2s-.4-.1-.5-.2L9 12.4c-.1-.1-.1-.4 0-.5l.5-.5c.1-.1.4-.1.5 0l1.3 1.3 3.1-3.2c.2-.1.4-.1.6 0l.5.5c.1.2.1.4 0 .5z" + } + }, + apex: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.7 16.2h-8c-.3 0-.5.2-.5.5v.8c0 .3.2.5.5.5h8c.3 0 .5-.2.5-.5v-.8c0-.3-.2-.5-.5-.5zm-6.9-5.4L6 6.1c-.1-.1-.4-.1-.6.1l-.5.7c-.1.2-.1.5.1.6l4.1 3.3c.2.1.2.4 0 .5L5 14.6c-.2.2-.2.5-.1.6l.5.8c.1.2.4.2.6.1l5.8-4.6c.2-.2.2-.6 0-.7z" + } + }, + apex_plugin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 9.6l3.4-3.4c.2-.1.2-.4 0-.6l-.7-.7c-.2-.2-.5-.2-.6 0l-3.4 3.4L12 9.6zm3.7 3.8l3.4-3.4c.2-.1.2-.4 0-.6l-.7-.7c-.2-.2-.5-.2-.6 0L14.4 12l1.3 1.4zm-.4 2.8c0-.1.1-.2.1-.3 0-.1 0-.2-.1-.3v-.1h-.1L8.5 8.7h-.1c0-.1-.2-.1-.3-.1-.1 0-.2.1-.3.1l-.2.2c0 .1 0 .1-.1.1 0 .1 0 .1-.1.2 0 0-.1.1-.1.2-.1 0-.1.1-.1.2-.1.1-.1.2-.2.3 0 .1-.1.2-.1.3 0 .1-.1.2-.1.3-.1.2-.1.3-.1.4-.1.2-.1.4-.1.5 0 .2-.1.4-.1.6l-.1.5v3.1s.1.1.1.2l-1.6 1.6c-.1.1-.1.4 0 .6L6 19.1c.2.1.5.1.7 0l1.5-1.6c.6.1 1.2.1 1.7.1h1.5c.3-.1.7-.1 1.1-.2.3 0 .6-.1.9-.2.3-.1.5-.2.7-.3.2 0 .4-.1.5-.2.2-.2.4-.3.6-.5h.1z" + } + }, + approval: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 13h-2.7c-.8 0-1.4-.7-1.4-1.5.1-2.1 1.1-2.2 1.2-3.6.1-1.4-.8-2.7-2.3-3.1-1.8-.3-3.5 1.1-3.5 2.9 0 1.6 1.1 1.6 1.2 3.8 0 .8-.6 1.5-1.4 1.5H6.2c-.8 0-1.4.6-1.4 1.4v1c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4v-1c0-.8-.6-1.4-1.4-1.4zm0 4.3H6.2c-.2 0-.4.2-.4.4v.1c0 .8.6 1.4 1.4 1.4h9.6c.8 0 1.4-.6 1.4-1.4v-.1c0-.2-.2-.4-.4-.4z" + } + }, + apps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.7 4.8H5.8c-.6 0-1 .4-1 1v1.9c0 .5.4.9 1 .9h1.9c.5 0 .9-.4.9-.9V5.8c0-.6-.4-1-.9-1zm5.3 0h-2c-.5 0-.9.4-.9 1v1.9c0 .5.4.9.9.9h2c.5 0 .9-.4.9-.9V5.8c0-.6-.4-1-.9-1zm5.2 0h-1.9c-.5 0-.9.4-.9 1v1.9c0 .5.4.9.9.9h1.9c.6 0 1-.4 1-.9V5.8c0-.6-.4-1-1-1zM7.7 10.1H5.8c-.6 0-1 .4-1 .9v2c0 .5.4.9 1 .9h1.9c.5 0 .9-.4.9-.9v-2c0-.5-.4-.9-.9-.9zm5.3 0h-2c-.5 0-.9.4-.9.9v2c0 .5.4.9.9.9h2c.5 0 .9-.4.9-.9v-2c0-.5-.4-.9-.9-.9zm5.2 0h-1.9c-.5 0-.9.4-.9.9v2c0 .5.4.9.9.9h1.9c.6 0 1-.4 1-.9v-2c0-.5-.4-.9-1-.9zM7.7 15.4H5.8c-.6 0-1 .4-1 .9v1.9c0 .6.4 1 1 1h1.9c.5 0 .9-.4.9-1v-1.9c0-.5-.4-.9-.9-.9zm5.3 0h-2c-.5 0-.9.4-.9.9v1.9c0 .6.4 1 .9 1h2c.5 0 .9-.4.9-1v-1.9c0-.5-.4-.9-.9-.9zm5.2 0h-1.9c-.5 0-.9.4-.9.9v1.9c0 .6.4 1 .9 1h1.9c.6 0 1-.4 1-1v-1.9c0-.5-.4-.9-1-.9z" + } + }, + apps_admin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 5h-11C5.7 5 5 5.7 5 6.5v11c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5zM17 17.5H7c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5zm-6.2-9.6H8.4c-.3 0-.5.2-.5.5v2.4c0 .3.2.5.5.5h2.4c.3 0 .5-.2.5-.5V8.4c0-.3-.2-.5-.5-.5zm4.8 0h-2.4c-.3 0-.5.2-.5.5v2.4c0 .3.2.5.5.5h2.4c.3 0 .5-.2.5-.5V8.4c0-.3-.2-.5-.5-.5zm-4.8 4.8H8.4c-.3 0-.5.2-.5.5v2.4c0 .3.2.5.5.5h2.4c.3 0 .5-.2.5-.5v-2.4c0-.3-.2-.5-.5-.5zm4.8 0h-2.4c-.3 0-.5.2-.5.5v2.4c0 .3.2.5.5.5h2.4c.3 0 .5-.2.5-.5v-2.4c0-.3-.2-.5-.5-.5z" + } + }, + article: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.7 14.2h3.1c.3 0 .5-.3.5-.5V6.5c0-.5-.5-1-1-1H7.8c-.4 0-.6.3-.6.6v7.6c0 .2.2.5.5.5zM18.2 7v7.6c0 .6-.4 1-.9 1H6.7c-.5 0-.9-.4-.9-1V7c-.8 0-1.5.6-1.5 1.4v7.2c0 .8.7 1.4 1.5 1.4h4.5c.3 0 .5.3.5.5s.2.5.5.5h1.4c.3 0 .5-.2.5-.5s.2-.5.5-.5h4.5c.8 0 1.5-.6 1.5-1.4V8.4c0-.8-.7-1.4-1.5-1.4zm-5 7.2h3c.4 0 .6-.3.6-.6V6c0-.3-.2-.5-.5-.5h-2.6c-.5 0-1 .5-1 1v7.2c0 .2.2.5.5.5z" + } + }, + asset_relationship: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 13.1V13c0-2.1-1.3-4-3.1-4.9v-.2c0-1.3-1.1-2.4-2.4-2.4S9.6 6.6 9.6 7.9v.2C7.8 9 6.5 10.9 6.5 13v.1c-1 .3-1.7 1.2-1.7 2.3 0 1.4 1 2.4 2.4 2.4.5 0 1-.1 1.4-.4.9.7 2.1 1.1 3.4 1.1s2.4-.4 3.3-1.1c.4.2.9.4 1.5.4 1.3 0 2.4-1 2.4-2.4 0-1-.7-2-1.7-2.3zm-8.2 3.4c.2-.3.3-.7.3-1.1 0-1.1-.9-2.1-2-2.3V13c0-1.6 1-3.1 2.4-3.9.4.7 1.1 1.2 2 1.2s1.6-.5 2-1.2c1.4.8 2.4 2.3 2.4 3.9v.1c-1.1.2-2 1.2-2 2.3 0 .4.1.8.3 1.1-.8.6-1.7.9-2.7.9s-1.9-.3-2.7-.9z" + } + }, + assigned_resource: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm3.9 5.6l-2.5 2.4c-.2.2-.4 0-.4-.3v-1.4c-1.8 0-3 1.2-3 3.1H8.1A4.8 4.8 0 0 1 13 9.3V7.8c0-.3.3-.5.4-.3l2.5 2.5a.4.4 0 0 1 0 .4zm-9.7 5h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z", + "fill-rule": "evenodd" + } + }, + assignment: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.3 13.2h13.4c.3 0 .5.2.5.5v.9c0 .3-.2.5-.5.5H5.3c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5zm0-4.3h13.4c.3 0 .5.2.5.5v.9c0 .3-.2.5-.5.5H5.3c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5z" + } + }, + avatar: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 17.1v.7c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4v-.7c0-1.8 2-2.8 4-3.7 0 0 .1 0 .2-.1.1 0 .3 0 .4.1.8.5 1.7.8 2.6.8.9 0 1.8-.3 2.6-.8.1-.1.3-.1.4 0 .1 0 .2 0 .2.1 2 .8 4 1.8 4 3.6z" + }, + "ellipse": { + "cx": "12", + "cy": "8.76", + "rx": "3.576", + "ry": "3.96" + } + }, + avatar_loading: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "opacity": ".5", + "path": { + "d": "M19.2 17.1v.7c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4v-.7c0-1.8 2-2.8 4-3.7 0 0 .1 0 .2-.1.1 0 .3 0 .4.1.8.5 1.7.8 2.6.8s1.8-.3 2.6-.8c.1-.1.3-.1.4 0 .1 0 .2 0 .2.1 2 .8 4 1.8 4 3.6z" + }, + "ellipse": { + "cx": "12", + "cy": "8.76", + "rx": "3.576", + "ry": "3.96" + } + } + }, + bot: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M11.9 6.2c1.7 0 3.1 1.4 3.1 3.1v.8c-1-.1-2.1-.2-3.1-.2s-2.1.1-3.1.2v-.8c0-1.7 1.4-3.1 3.1-3.1zm5.7 9.1l.3-2.7c.7.1 1.2.7 1.2 1.3 0 .8-.7 1.4-1.5 1.4zm-11.4 0c-.8 0-1.5-.6-1.5-1.4 0-.7.5-1.2 1.2-1.3l.3 2.7zm10.3-4.5c-1.6-.2-3.1-.3-4.6-.3s-3 .1-4.5.3c-.6 0-.9.5-.9 1l.5 4.7c.1.4.4.8.8.8 1.4.2 2.8.2 4.2.2s2.7 0 4.1-.2c.4 0 .7-.4.8-.8l.5-4.7c0-.5-.4-1-.9-1zM9.3 15c-.4 0-.7-.4-.7-.9s.3-.9.7-.9.6.4.6.9-.3.9-.6.9zm4 1l-.1.1s0 .1-.1.1h-2.4l-.1-.1v-.5c0-.1 0-.2.1-.2h.1c.1 0 .1.1.1.2v.2h2v-.2c0-.1.1-.2.2-.2s.2.1.2.2v.4zm1.2-1c-.3 0-.6-.4-.6-.9s.3-.9.6-.9.7.4.7.9-.3.9-.7.9z" + } + }, + bot_training: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M13.1 14.6c-.2.1-.5.2-.8.2-1.7.2-3.2-1.1-3.2-2.8 0-.3.1-.6.1-.9.1-.1.2-.2.3-.1l1.6 1.6c.2.2.3.2.5 0l1.1-1.1c.2-.1.2-.3 0-.5l-1.6-1.6c-.1-.1 0-.2.1-.3.2 0 .5-.1.8-.1 1.7 0 3.1 1.5 2.9 3.2 0 .3-.1.5-.2.8l3 3c1-1.1 1.5-2.5 1.5-4 0-3.7-3.2-6.6-7.2-6.6s-7.2 2.9-7.2 6.5c0 1.2.3 2.3.9 3.2.1.2.1.4 0 .5l-.9 2.6c-.1.2.1.4.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9s2.8-.4 3.9-1.1l-2.9-2.9z" + } + }, + branch_merge: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.4 16.9c.8-1.7 2.2-2.9 3.9-3.5.6-.2 1.2-.3 1.9-.4h1v3.2c0 .3.3.5.6.3l5-4.3c.2-.1.2-.4 0-.6l-5-4.1c-.2-.2-.6 0-.6.2V11h-1c-.7-.1-1.4-.2-1.9-.4-1.7-.7-3.1-1.8-3.9-3.5-.1-.3-.4-.4-.7-.3l-.9.4c-.2.1-.3.4-.2.7.9 1.8 2.3 3.2 3.9 4.1-1.6.9-3 2.3-3.9 4.2-.1.2-.1.5.2.6l.9.4c.3.1.6 0 .7-.3z" + } + }, + brand: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.1 9.4c-.7-2.9-3.7-4.6-7.1-4.6C8 4.8 4.8 8 4.8 12s3.2 7.2 7.3 7.2c5.5 0 5.1-2.8 3.3-3.9-1-.7-1.6-2.2-.5-3.3 1.9-2 5 1.2 4.2-2.6zm-11 5c-.9 0-1.5-.7-1.5-1.5s.6-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5zm.3-5.7c0-.9.7-1.5 1.5-1.5s1.5.7 1.5 1.5-.7 1.5-1.5 1.5c-.9 0-1.5-.6-1.5-1.5zm3.3 8.7c-.9 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5zm2.7-7.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5z" + } + }, + business_hours: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M11.5 8.5h.8c.2 0 .4.1.4.4v3.3c0 .1-.1.2-.1.3l-2.2 2.2c-.1.1-.3.1-.5 0l-.5-.6c-.2-.1-.2-.3 0-.5l1.8-1.8V8.9c0-.2.1-.4.3-.4zm8.8 3.3h-1.2v-.3c-.3-3.9-3.7-6.8-7.7-6.6-3.9.4-6.9 3.8-6.6 7.7.3 3.7 3.4 6.6 7.1 6.6 2 .1 3.9-.7 5.3-2.2.1-.1.2-.2.1-.4l-.6-.7c-.2-.3-.4-.2-.6 0-1.2 1.3-3 2-4.7 1.8-2.5-.3-4.8-2.6-5.1-5-.3-3.1 2-5.9 5.1-6.2s5.8 2 6.1 5.1v.2h-1.1c-.2 0-.4.2-.4.4 0 .1.1.2.1.3l1.9 2.3c.2.2.5.2.6 0l1.9-2.3c.2-.2.2-.4 0-.6 0 0-.1-.1-.2-.1z" + } + }, + buyer_account: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M14.8 15.7H18c.1 0 .2-.1.2-.1l.6-2.1c0-.2-.1-.3-.2-.3h-4.9l-.1-.3c0-.1-.2-.2-.3-.2h-.5c-.2 0-.4.1-.4.3 0 .2.2.3.3.3h.4l.2 1 .8 2.5c0 .1.1.2.3.2h3.7c.2 0 .4-.2.4-.3 0-.2-.2-.4-.4-.4h-3.3c-.1 0-.2-.1-.3-.2 0-.2.1-.4.3-.4z" + }, { + "d": "M14.7 4.8H5.3c-.5 0-.6.5-.6.6v11.9c0 .3.2.7 1.1.7h6.8c.7 0 .7-.5.6-.6v-.1l-.1-.3v-.1l-.8-2.5c0-.2-.2-.2-.2-.2l-.3-.3c-.3-.2-.4-.6-.4-.9.1-.7.7-1.2 1.3-1.2h.6c.3 0 .6.1.9.3v.1c.1 0 .2.1.3.1h.3c.3 0 .4-.3.4-.4V5.5c0-.6-.4-.7-.5-.7zM7.8 16.1c0 .3-.3.6-.6.6h-.5c-.3 0-.6-.3-.6-.6v-.5c0-.4.3-.6.6-.6h.5c.3 0 .6.2.6.6v.5zm0-2.9c0 .4-.3.6-.6.6h-.5c-.3 0-.6-.2-.6-.6v-.5c0-.3.3-.6.6-.6h.5c.3 0 .6.3.6.6v.5zm0-2.8c0 .4-.3.6-.6.6h-.5c-.3 0-.6-.2-.6-.6v-.5c0-.3.3-.6.6-.6h.5c.3 0 .6.3.6.6v.5zm0-2.8c0 .3-.3.6-.6.6h-.5c-.3 0-.6-.3-.6-.6v-.5c0-.4.3-.6.6-.6h.5c.3 0 .6.2.6.6v.5zm3 8.5c0 .3-.2.6-.5.6h-.6c-.3 0-.5-.3-.5-.6v-.5c0-.4.2-.6.5-.6h.6c.3 0 .5.2.5.6v.5zm0-2.9c0 .4-.2.6-.5.6h-.6c-.3 0-.5-.2-.5-.6v-.5c0-.3.2-.6.5-.6h.6c.3 0 .5.3.5.6v.5zm0-2.8c0 .4-.2.6-.5.6h-.6c-.3 0-.5-.2-.5-.6v-.5c0-.3.2-.6.5-.6h.6c.3 0 .5.3.5.6v.5zm0-2.8c0 .3-.2.6-.5.6h-.6c-.3 0-.5-.3-.5-.6v-.5c0-.4.2-.6.5-.6h.6c.3 0 .5.2.5.6v.5zm3.1 2.8c0 .4-.3.6-.6.6h-.5c-.3 0-.6-.2-.6-.6v-.5c0-.3.3-.6.6-.6h.5c.3 0 .6.3.6.6v.5zm0-2.8c0 .3-.3.6-.6.6h-.5c-.3 0-.6-.3-.6-.6v-.5c0-.4.3-.6.6-.6h.5c.3 0 .6.2.6.6v.5z" + }], + "circle": [{ + "cx": "14.904", + "cy": "18.192", + "r": ".528" + }, { + "cx": "17.496", + "cy": "18.192", + "r": ".528" + }] + } + }, + buyer_group: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "circle": [{ + "cx": "14.088", + "cy": "18.408", + "r": ".528" + }, { + "cx": "16.68", + "cy": "18.408", + "r": ".528" + }], + "path": { + "d": "M9 10.3c-.4-.5-.6-1.2-.6-1.9 0-1.3.5-2.4 1.3-3-.3-.5-.8-.8-1.5-.8-1.3 0-1.9.9-1.9 2.1 0 .6.2 1.1.6 1.5.2.2.4.5.4.8 0 .3-.1.5-.8.8-1 .5-1.9 1-1.9 2 0 .6.4 1 1 1h.9c.1 0 .3-.1.4-.2.4-.8 1.2-1.3 1.9-1.7.2-.1.3-.4.2-.6zm5 5.6h3.2c.1 0 .2 0 .2-.1l.6-2.1c0-.1-.1-.3-.2-.3h-4.9l-.1-.3c-.1-.1-.2-.2-.3-.2H12c-.2 0-.4.1-.4.3 0 .2.2.3.3.3h.3l.3 1 .7 2.5c.1.1.2.2.4.2h3.7c.2 0 .3-.1.3-.3.1-.2-.1-.3-.3-.3H14c-.1 0-.2-.1-.3-.3 0-.2.1-.4.3-.4zm-2.4-1.1l-.1-.4c-.2 0-.4-.2-.5-.3-.2-.3-.3-.6-.3-.9 0-.7.6-1.2 1.3-1.2h.5c.4 0 .8.2 1 .5h1.4c-.4-.3-.8-.5-1.3-.7-.8-.3-.9-.6-.9-.9 0-.3.3-.6.5-.9.5-.4.7-1 .7-1.6 0-1.3-.8-2.4-2.1-2.4S9.7 7.1 9.7 8.4c0 .6.2 1.2.7 1.6.2.3.4.6.4.9 0 .3-.1.6-.8.9-1.2.5-2.2 1-2.3 2.1 0 .6.5 1.2 1.2 1.2h2.8l-.1-.3zm3.5-6.4c0 .7-.1 1.4-.5 1.9-.2.3-.1.5.1.7.7.3 1.5.8 1.9 1.5h1.2c.2 0 .4.1.6.2.3-.1.5-.5.5-.9 0-1-.9-1.5-1.9-2-.7-.3-.8-.6-.8-.8 0-.3.2-.6.5-.8.4-.4.6-.9.6-1.5 0-1.2-.7-2.1-1.9-2.1-.8 0-1.3.3-1.6.8.8.6 1.3 1.7 1.3 3z" + } + } + }, + calibration: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.7 11.9c-.2.1-.3.1-.5.1-.1 0-.3 0-.5-.1-.1 0-.2.1-.2.3v6.5c0 .3.2.5.5.5h.4c.3 0 .5-.2.5-.5v-6.5c0-.2-.1-.3-.2-.3zm4.8 5.1h-1c-.1-.1-.2.1-.2.2v1.5c0 .3.2.5.5.5h.4c.3 0 .5-.2.5-.5v-1.5c0-.2-.1-.3-.2-.2zm4.8-3.6h-1c-.1-.1-.2.1-.2.2v5.1c0 .3.2.5.5.5h.4c.3 0 .5-.2.5-.5v-5.1c0-.2-.1-.3-.2-.2zm-9.4-6V5.3c0-.3-.2-.5-.5-.5H7c-.3 0-.5.2-.5.5v2.1c-.6.2-1 .8-1 1.5 0 .9.8 1.7 1.7 1.7s1.7-.8 1.7-1.7c0-.7-.4-1.3-1-1.5zm4.8 5V5.3c0-.3-.2-.5-.5-.5h-.4c-.3 0-.5.2-.5.5v7.1c-.6.3-1 .8-1 1.5 0 1 .8 1.7 1.7 1.7s1.7-.7 1.7-1.7c0-.7-.4-1.2-1-1.5zm4.8-3.6V5.3c0-.3-.2-.5-.5-.5h-.4c-.3 0-.5.2-.5.5v3.5c-.6.3-1 .8-1 1.5 0 1 .8 1.7 1.7 1.7s1.7-.7 1.7-1.7c0-.7-.4-1.2-1-1.5z" + } + }, + call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.6 15.3l-1.4-1.2c-.5-.4-1.3-.4-1.8 0l-1.4 1c-.2.2-.5.1-.6 0L11 13l-2.1-2.4c-.2-.2-.2-.4 0-.6l1-1.4c.4-.6.3-1.3-.1-1.8L8.6 5.3c-.5-.6-1.5-.7-2.1-.1L5.2 6.5c-.3.3-.4.7-.4 1.1.1 3 1.5 5.9 3.6 8s4.9 3.4 8 3.6c.4 0 .8-.2 1-.5l1.3-1.3c.7-.5.6-1.5-.1-2.1z" + } + }, + call_history: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.7 11.5v.5H5.3v-.5h1.4zM12 5.3c-3.6 0-6.5 2.7-6.7 6.2v.3H4.2c-.3 0-.5.3-.3.5l1.8 2.2c.2.2.4.2.6 0l1.8-2.2c.2-.2 0-.5-.3-.5H6.7v-.3C7 8.8 9.2 6.7 12 6.7c3.1 0 5.6 2.7 5.2 5.9-.2 2.3-2.4 4.4-4.7 4.7-1.7.1-3.3-.5-4.4-1.7-.2-.2-.3-.3-.5 0l-.6.6c-.1.2 0 .3.1.4 1.3 1.4 3.1 2.1 5 2.1 3.4 0 6.3-2.8 6.6-6.2.3-3.9-2.8-7.2-6.7-7.2zm-.7 5c.2-.2.2-.6 0-.8l-.5-.6c-.2-.3-.7-.3-.9-.1l-.6.6c-.1.1-.2.3-.2.5.1 1.3.7 2.6 1.6 3.4s2.1 1.5 3.4 1.6c.2 0 .4 0 .5-.2l.6-.6c.2-.2.2-.7-.1-.9l-.6-.5c-.2-.2-.6-.2-.8 0l-.6.4c-.1.1-.2.1-.3 0l-1-.9-.9-1c-.1-.1-.1-.2 0-.3l.4-.6z" + } + }, + campaign: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 13c-3.2 0-5.8-2.6-5.8-5.8S8.8 6.2 12 6.2s5.8 2.6 5.8 5.8-2.6 5.8-5.8 5.8zm0-10.1c-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.3zm0 7.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.9zm0-4.3c-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4 1.4-.6 1.4-1.4-.6-1.4-1.4-1.4z" + } + }, + campaign_members: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill-opacity": ".65", + "d": "M24 14.9V24h-9.1l9.1-9.1zm-1.9 6.6c-.3-.1-.3-.2-.3-.4 0-.1.1-.2.2-.3.2-.2.2-.4.2-.7 0-.5-.3-.9-.8-.9s-.9.5-.9.9c0 .3.1.5.3.7.1.1.2.2.2.3s-.1.3-.4.4c-.5.2-.9.4-.9.8 0 .3.2.5.5.5h2.4c.2 0 .4-.2.4-.5 0-.4-.4-.6-.9-.8z" + }, { + "d": "M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 13c-3.2 0-5.8-2.6-5.8-5.8S8.8 6.2 12 6.2s5.8 2.6 5.8 5.8-2.6 5.8-5.8 5.8zm0-10.1c-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.3zm0 7.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.9zm0-4.3c-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4 1.4-.6 1.4-1.4-.6-1.4-1.4-1.4z" + }] + }, + canvas: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.7 15.8c0 .8-.1 1.7-.3 2.6 0 .2-.2.5-.5.5-1.6.2-3.3.3-4.9.3-1.6 0-3.2-.1-4.8-.3-.3 0-.6-.3-.6-.5-.2-1.4-.4-2.8-.4-4.1 0-1.4.2-2.7.4-4.1 0-.2.3-.5.5-.5 1-.1 2-.2 3-.2 0 0 .7-.1.7-.8 0-.7-1.2-1.1-1.2-2.3 0-.9.9-1.6 2.4-1.6 1.4 0 2.4.7 2.4 1.6 0 1.2-1.2 1.6-1.2 2.3-.1.7.7.8.7.8 1 0 2 .1 3 .2.2 0 .5.3.5.5.2 1 .3 1.8.3 2.7.1.3-.2.5-.5.5H17c-.3 0-.7-.2-.9-.4 0 0-.7-.6-1.3-.6-1.1-.1-2 .9-2 2s.8 2.1 1.9 2c.7 0 1.4-.7 1.4-.7.2-.1.6-.3.8-.3.1-.1.2-.1.3-.1.3.1.6.3.5.5z" + } + }, + carousel: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.3 9h-.6v6.5h.6a.9.9 0 0 0 .9-.9V9.9a.9.9 0 0 0-.9-.9zm-13.5.9v4.7a.9.9 0 0 0 .9.9h.6V9h-.6a.9.9 0 0 0-.9.9zM16 8.2H8a.9.9 0 0 0-.8.9v6.3a.9.9 0 0 0 .8.9h8a.9.9 0 0 0 .8-.9V9.1a.9.9 0 0 0-.8-.9zm-1.4 6.5H9.1a.3.3 0 0 1-.3-.4l1.7-3a.2.2 0 0 1 .3 0l1 1.8a.2.2 0 0 0 .4 0l.8-1.2a.2.2 0 0 1 .3 0l1.5 2.4a.2.2 0 0 1-.2.4zm-.1-3.4a.8.8 0 1 1 .7-.8.8.8 0 0 1-.7.8z" + } + }, + case: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.1 7h1c.1 0 .2-.1.2-.3V6h3.4v.7c0 .2.1.3.2.3h1c.1 0 .2-.1.2-.3V6c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v.7c0 .2.1.3.2.3zm8.7 1.4H6.2c-.8 0-1.4.6-1.4 1.4v7.7c0 .8.6 1.5 1.4 1.5h11.6c.8 0 1.4-.7 1.4-1.5V9.8c0-.8-.6-1.4-1.4-1.4z" + } + }, + case_change_status: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zM14 13.9L11.5 17c-.1.1-.4 0-.3-.2l.6-2.2h-1.6c-.2 0-.4-.2-.3-.3l1-2.6c.1-.3.3-.4.5-.4h2c.2 0 .4.2.3.4l-1.1 1.7h1.2c.3 0 .4.4.2.5z" + } + }, + case_comment: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zm-5.6 7.7c-.5 0-1-.1-1.5-.4h-.1l-1 .4c-.1.1-.3-.1-.2-.2l.4-1c0-.1 0-.1-.1-.1-.2-.4-.3-.9-.3-1.3 0-1.5 1.3-2.7 2.8-2.7s2.8 1.2 2.8 2.7c0 1.4-1.2 2.6-2.8 2.6z" + } + }, + case_email: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zm-8.7 2.7h5.8c.2 0 .2.2.2.3l-3 2.7c0 .1-.1.1-.2 0l-3-2.7c-.1-.2 0-.3.2-.3zm6 4.1c0 .3-.4.7-.7.7H9.6c-.3 0-.7-.4-.7-.7v-2.7c0-.1.1-.2.2-.1l2.3 2.2c.2.1.4.2.6.2s.4-.1.6-.2l2.2-2.2c.1-.1.3 0 .3.1v2.7z" + } + }, + case_log_a_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zM15 15.9l-.6.5c-.1.1-.2.2-.4.2-1.2-.1-2.4-.7-3.2-1.5-.8-.8-1.4-1.9-1.4-3.2 0-.1 0-.3.1-.4l.6-.5c.2-.3.6-.2.8 0l.5.6c.2.2.2.5 0 .7l-.4.6v.2l.9 1 .9.8c.1.1.2.1.3 0l.5-.4c.2-.1.5-.1.7 0l.6.5c.3.2.3.6.1.9z" + } + }, + case_milestone: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M17.5 8.6H6c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.5c.8 0 1.5-.6 1.5-1.4v-7.7c0-.8-.7-1.5-1.5-1.5zm-7.7 3.1v5.2c0 .3-.2.5-.4.5-.3 0-.4-.2-.4-.5v-5.2c-.2-.2-.3-.4-.3-.6 0-.3.3-.6.6-.7s.7.3.7.6v.2c0 .1 0 .3-.2.5zM15 15s-.1.1-.1.2c-1.7 1-2.6-.6-4.1-.1-.2 0-.3 0-.3-.1v-3.1c0-.1 0-.2.1-.2 1.6-.7 2.5 1 4.2 0h.2V15zM8.9 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2z" + } + }, + case_transcript: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zm-3.2 7.5c0 .4-.3.7-.7.7h-3.3c-.4 0-.8-.3-.8-.7v-4.6c0-.4.4-.7.8-.7h1.6c.2 0 .3.1.3.2v1.5c0 .2.2.5.5.5h1.4c.1 0 .2.1.2.2v2.9zm0-3.8c0 .1 0 .2-.1.2h-1.1c-.2 0-.4-.2-.4-.5v-1c0-.1 0-.2.1-.2h.1l1.4 1.4v.1z" + } + }, + catalog: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.8 7.1L17 9.2c.4.4.4 1.2 0 1.7l-5.6 5.5V8.8l1.7-1.7c.5-.5 1.3-.5 1.7 0zm4.4 7.9v3c0 .7-.5 1.2-1.2 1.2h-7.5l5.4-5.4H18c.7 0 1.2.6 1.2 1.2zM4.8 16.5V6c0-.7.5-1.2 1.2-1.2h3c.7 0 1.2.5 1.2 1.2v10.5c0 1.5-1.2 2.7-2.7 2.7S4.8 18 4.8 16.5zm2.7 1.2c.7 0 1.2-.5 1.2-1.2s-.5-1.2-1.2-1.2-1.2.5-1.2 1.2.5 1.2 1.2 1.2z" + } + }, + category: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.8 7.1L17 9.2c.4.4.4 1.2 0 1.7l-5.6 5.5V8.8L13.1 7c.5-.4 1.3-.4 1.7.1zM9 4.8H6c-.7 0-1.2.5-1.2 1.2v10.5c0 1.5 1.2 2.7 2.7 2.7s2.7-1.2 2.7-2.7V6c0-.7-.6-1.2-1.2-1.2zM7.5 17.7c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2zM18 13.8h-2.1l-1.5 1.4h3.4l-.1 2.6H12l-1.5 1.4H18c.7 0 1.2-.5 1.2-1.2v-3c0-.6-.5-1.2-1.2-1.2z" + } + }, + channel_program_history: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.4 11.5c.2-2.6 2.4-4.6 5.1-4.6 3 0 5.4 2.6 5 5.7-.2 2.2-2.3 4.3-4.5 4.5-1.7.2-3.2-.4-4.3-1.6-.2-.2-.3-.3-.5-.1l-.6.7c-.1.1 0 .2.1.4 1.3 1.3 3 2 4.9 2 3.3 0 6.1-2.7 6.4-6 .2-3.8-2.8-7-6.5-7-3.5 0-6.3 2.7-6.5 6v.3H4.9c-.3 0-.4.3-.3.5l1.8 2.1c.1.2.4.2.5 0l1.8-2.1c.2-.2 0-.5-.3-.5H7.3l.1-.3zm5.1-2.4c-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.9zm2.3 2.6H14c0-.7-.2-1.3-.4-1.7.7.3 1.1 1 1.2 1.7zm-2.6-1.9v1.9h-.6c0-.9.3-1.6.6-1.9zm0 2.5v1.9c-.3-.3-.6-1-.6-1.9h.6zm.6 1.9v-1.9h.6c0 .9-.3 1.6-.6 1.9zm0-2.5V9.8c.3.3.6 1 .6 1.9h-.6zM11.4 10c-.2.5-.3 1-.4 1.7h-.7c0-.7.5-1.4 1.1-1.7zm-1.2 2.3h.8c0 .7.2 1.3.4 1.7-.6-.3-1.1-1-1.2-1.7zm3.4 1.7c.2-.5.4-1 .4-1.7h.8c-.1.7-.5 1.4-1.2 1.7z" + } + }, + channel_program_levels: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.7 11.3l-.9-.4c-.1-.1-.3-.1-.4 0l-2.6 1.3c.4-.2.8-.2 1.3-.2.7 0 1.4.2 2.1.5l.5-.2c.4-.3.4-.8 0-1zM4.8 8.9l6.5 3c.3.1.6.1.9 0l6.5-3c.4-.2.4-.7 0-.9l-6.5-3.1c-.3-.1-.6-.1-.9 0L4.8 8c-.4.2-.4.7 0 .9zm0 3.3l6.5 3.1c.1.1.3.1.5.1.3-1.2 1-2.1 1.9-2.8l-1.5.8c-.2.1-.6.1-.9 0l-5.2-2.5c-.1-.1-.2-.1-.4 0l-.9.4c-.4.2-.4.7 0 .9zm7 4.6h-.5l-5.2-2.5c-.1-.1-.3-.1-.4 0l-.9.4c-.3.2-.3.7 0 .9l6.5 3c.3.2.6.2.9 0h.2c-.4-.6-.6-1.1-.6-1.8zM16.1 13.5c-1.5 0-2.8 1.3-2.8 2.8s1.2 2.9 2.8 2.9 2.9-1.3 2.9-2.9-1.3-2.8-2.9-2.8zm2.3 2.6h-.8c0-.7-.2-1.3-.4-1.7.7.3 1.1.9 1.2 1.7zm-2.6-1.9v1.9h-.6c0-.9.3-1.6.6-1.9zm0 2.4v1.9c-.3-.3-.6-1-.6-1.9h.6zm.6 1.9v-1.9h.7c-.1.9-.4 1.6-.7 1.9zm0-2.4v-1.9c.3.2.6 1 .7 1.9h-.7zM15 14.4c-.2.4-.3 1-.4 1.7h-.7c0-.8.5-1.4 1.1-1.7zm-1.1 2.2h.7c0 .7.2 1.3.4 1.7-.6-.3-1.1-.9-1.1-1.7zm3.3 1.7c.3-.4.4-1 .4-1.7h.8c-.1.8-.5 1.4-1.2 1.7z" + } + }, + channel_program_members: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.7 16.3c0-1.4.7-2.6 1.7-3.4-.3-.2-.6-.3-.9-.5-1.1-.4-1.2-.8-1.2-1.2 0-.4.3-.8.6-1.1.6-.6.9-1.3.9-2.2 0-1.7-1-3.1-2.8-3.1-1.8 0-2.9 1.4-2.9 3.1 0 .9.4 1.6 1 2.2.3.3.6.7.6 1.1 0 .4-.2.8-1.2 1.2-1.5.7-2.9 1.4-2.9 2.7 0 .9.7 1.7 1.5 1.7H11.7v-.5zm4.4-2.8c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.8 2.9 2.8 2.8-1.2 2.8-2.8-1.2-2.9-2.8-2.9zm2.3 2.6h-.8c0-.7-.2-1.3-.4-1.7.6.3 1.1 1 1.2 1.7zm-2.6-1.9v1.9h-.6c0-.9.3-1.6.6-1.9zm0 2.5v1.8c-.3-.2-.6-1-.6-1.8h.6zm.6 1.8v-1.8h.6c0 .8-.3 1.5-.6 1.8zm0-2.4v-1.9c.3.3.6 1 .6 1.9h-.6zM15 14.4c-.3.4-.4 1-.4 1.7h-.8c.1-.7.6-1.4 1.2-1.7zm-1.2 2.3h.8c0 .6.2 1.2.4 1.7-.6-.4-1.1-1-1.2-1.7zm3.4 1.7c.2-.5.3-1.1.4-1.7h.7c0 .7-.5 1.3-1.1 1.7z" + } + }, + channel_programs: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.8 4.8c-4 0-7.2 3.2-7.2 7.2s3.2 7.2 7.2 7.2S19 16 19 12s-3.3-7.2-7.2-7.2zm5.7 6.5h-1.9c-.1-1.7-.5-3.2-1.1-4.3 1.6.8 2.7 2.4 3 4.3zM11 6.6v4.7H9.4c.1-2.3.8-4.1 1.6-4.7zm0 6.1v4.7c-.8-.6-1.5-2.4-1.6-4.7H11zm1.5 4.7v-4.7h1.6c-.1 2.3-.8 4.1-1.6 4.7zm0-6.1V6.6c.8.6 1.5 2.4 1.6 4.7h-1.6zM9 7c-.6 1.1-1 2.6-1.1 4.3H6C6.3 9.4 7.4 7.8 9 7zm-3 5.7h1.9c.1 1.7.5 3.2 1.1 4.3-1.6-.8-2.7-2.4-3-4.3zm8.5 4.3c.6-1.1 1-2.6 1.1-4.3h1.9c-.3 1.9-1.4 3.5-3 4.3z" + } + }, + choice: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "circle": { + "cx": "12", + "cy": "12", + "r": "3.336" + }, + "path": { + "d": "M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 12.5c-2.9 0-5.3-2.4-5.3-5.3S9.1 6.7 12 6.7s5.3 2.4 5.3 5.3-2.4 5.3-5.3 5.3z" + } + } + }, + client: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.8 14c.8-.5 1.7-.8 2.6-.8.3 0 .5.1.8.1.1 0 .1 0 0-.1-.4-.3-1-.5-1.5-.7-1-.5-1.2-.8-1.2-1.3 0-.4.3-.8.7-1.1.6-.5.9-1.3.9-2.2 0-1.6-1-3.1-2.9-3.1-1.8 0-2.8 1.5-2.8 3.1 0 .9.3 1.7.9 2.2.4.3.7.7.7 1.1 0 .4-.2.8-1.2 1.3-1.5.6-2.9 1.3-3 2.7 0 .9.7 1.6 1.6 1.6h3.4c.2 0 .4-.2.4-.4v-1.6c.1-.3.2-.6.6-.8zm7.8 1.4c-2.3.7-4.1-1.4-6.6-.4-.1 0-.2.2-.2.4V18c0 .3.2.6.6.5 2.4-.8 4.2 1.3 6.5.4.2-.1.3-.3.3-.5v-2.5c0-.3-.3-.6-.6-.5zm-3 2.4c-.6 0-1-.4-1-1s.4-.9 1-.9.9.4.9.9-.4 1-.9 1z" + } + }, + cms: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.5 7.2c-.5 0-.9 0-1.3.2.5.4.9.9 1.3 1.4 1.7 0 3 1.4 3 3.1s-1.3 3-3 3c-.4 0-.8 0-1.2-.2.2-.3.4-.7.5-1 .1-.1.2-.2.2-.4.1-.4.2-.9.2-1.4 0-2.6-2.1-4.7-4.7-4.7s-4.7 2.1-4.7 4.7 2.1 4.7 4.7 4.7c.5 0 .9-.1 1.3-.2-.5-.4-.9-.9-1.3-1.5-1.7 0-3-1.3-3-3s1.3-3.1 3-3.1c.4 0 .8.1 1.2.3-.5.7-.9 1.7-.9 2.8 0 2.6 2.1 4.7 4.7 4.7s4.7-2.1 4.7-4.7-2.1-4.7-4.7-4.7z" + } + }, + coaching: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.3 12.7c-.3 0-.6.1-.9.4-.4.4-.4 1.2 0 1.7.3.2.6.3.9.3.3 0 .6-.1.8-.3.5-.5.5-1.2 0-1.7-.2-.3-.5-.4-.8-.4zm7.8-5.4L17.5 5c-.2-.2-.5-.3-.7-.2l-8 5c-.8.5-1.4 1.1-1.9 2.2-.4 1-.5 2.1-.2 3.1-1.1.1-1.9 1-1.9 2.1s.9 2 2 2c.9 0 1.6-.5 1.9-1.2 1.9 1.2 4.4.9 6-.7 1.5-1.5 1.8-3.6.9-5.4-.2-.7-.1-1.4.5-1.8L19 8c.2-.1.2-.4.1-.7zM6.8 17.8c-.3 0-.6-.3-.6-.6s.3-.6.6-.6.6.2.6.6-.2.6-.6.6zm6.4-2c-.6.5-1.2.8-1.9.8s-1.4-.3-1.9-.8c-1-1-1-2.7 0-3.8.5-.5 1.2-.7 1.9-.7s1.3.2 1.9.7c1 1.1 1 2.8 0 3.8z" + } + }, + code_playground: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zM6.8 6.3h10.4c.3 0 .5.2.5.5v.9H6.3v-.9c0-.3.2-.5.5-.5zm10.4 11.4H6.8c-.3 0-.5-.2-.5-.5v-8h11.4v8c0 .3-.2.5-.5.5zm-6-2.5l-1.6-1.6 1.6-1.6c.1-.1.1-.2 0-.3l-.7-.7c-.1-.1-.2-.1-.3 0l-1.8 1.8-.3.3-.3.3c-.1.1-.1.2-.1.2 0 .1 0 .1.1.2l2.4 2.4c.1.1.3.1.4 0l.6-.6c.1-.2.1-.3 0-.4zm5-1.8l-.3-.3-.3-.4-1.8-1.7c-.1-.1-.2-.1-.3 0l-.7.7c-.1.1-.1.2 0 .3l1.6 1.6-1.6 1.6c-.1.1-.1.2 0 .3l.7.7c.1.1.2.1.3 0l2.5-2.5v-.1c0-.1 0-.1-.1-.2z" + } + }, + collection_variable: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zM17 16.6c0 .2-.2.4-.4.4H7.3c-.2 0-.3-.2-.3-.4V7.4c0-.2.2-.4.3-.4h9.4c.1 0 .3.2.3.4v9.2zm-2.9-5.7c.3 0 .9-.2.9-1s-.6-.9-.7-.9c-.4 0-.7.3-1.1.8l-.6 1.2c-.1-.4-.2-.7-.2-.9-.1-.3-.5-1.1-1.3-1.1s-1.5.5-1.5.5c-.2.1-.3.3-.3.5s.2.5.5.5c.1 0 .2-.1.2-.1s.7-.3.8 0c0 .1 0 .2.1.4.2.5.3 1.1.4 1.7l-.5.8s-.6-.2-.9-.2-.9.2-.9 1 .6.9.7.9c.4 0 .7-.3 1.1-.8l.6-1.2c.1.5.2.9.3 1.1.2.6.6.9 1.3.9 0 0 .6 0 1.4-.4.1-.1.3-.3.3-.5s-.3-.5-.5-.5c-.1 0-.2.1-.3.1 0 0-.5.3-.7.1-.1-.3-.2-.6-.3-1.1-.1-.3-.2-.7-.3-1.2l.6-.8s.6.2.9.2z" + } + }, + connected_apps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 5h-11C5.7 5 5 5.7 5 6.5v11c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5zM17 17.5H7c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5zm-3-6.2h-1.5L13.8 9c.2-.2 0-.6-.3-.6h-2c-.2 0-.5.2-.6.5l-1.3 3.3c-.1.2.1.5.4.5h1.5l-.7 2.6c-.1.3.2.4.4.2l3.1-3.7c.2-.2.1-.5-.3-.5z" + } + }, + constant: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.1 6.4c-.1-.1-.2-.1-.3-.1-1.2-.1-2.4 0-3.6 0l-4.1.1c-1.3 0-2.2.2-3.2 1.1-.6.6-1.2 1.4-1.7 2v.3c0 .3.2.4.4.4.3 0 .4-.1.5-.3s.3-.4.4-.6c.7-.6 1.5-.9 2.4-.8-.7 2-1.7 4.3-3.2 5.9-.6.7-1.6 1.4-1.9 2.3-.2.9.7 1.2 1.5.9.9-.3 1.5-1.3 2-2.1.5-1.1 1-2.1 1.5-3.2.4-1 .9-2.1 1.3-3.2.3-.6.4-.6 1-.6h1.8c-.6 1.4-1.3 2.9-1.9 4.4-.4 1.2-1.2 2.8-.7 4.1.6 1.2 2.2.8 3.1.1.9-.6 1.5-1.6 2-2.6.1-.1.2-.4.1-.6 0-.1-.2-.2-.4-.2-.4 0-.5.5-.6.8-.3.5-.8 1-1.4.9-1.4-.2-.2-2.7.1-3.3.2-.7.5-1.3.8-2 .2-.4.3-.8.5-1.1.2-.5.2-.5.8-.5.5 0 1.8.2 2.2-.1.3-.2.5-1 .7-1.5 0-.2 0-.4-.1-.5z" + } + }, + contact: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 7H6.2c-.8 0-1.4.6-1.4 1.4v7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7c0-.8-.6-1.4-1.4-1.4zm-6.1 8.1H7.5c-.4 0-.8-.5-.8-1 0-.7.8-1.1 1.6-1.5.5-.2.6-.4.6-.7s-.1-.4-.3-.6c-.3-.3-.5-.7-.5-1.2 0-.9.5-1.7 1.5-1.7s1.5.8 1.5 1.7c0 .5-.2.9-.5 1.2-.2.2-.4.4-.4.6s.1.5.7.7c.8.3 1.5.8 1.5 1.5.1.5-.3 1-.7 1zm5.6-1.7c0 .3-.2.5-.5.5h-2.2c-.2 0-.4-.2-.4-.5v-.7c0-.2.2-.5.4-.5h2.2c.3 0 .5.3.5.5v.7zm0-2.6c0 .3-.2.5-.5.5h-3.6c-.3 0-.5-.2-.5-.5v-.7c0-.3.2-.5.5-.5h3.6c.3 0 .5.2.5.5v.7z" + } + }, + contact_list: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.3 5.4c-1.1 0-2 .9-2 1.9V18c0 1 .9 1.8 2 1.8h10.5c1.1 0 1.9-.8 1.9-1.8V7.3c0-1-.8-1.9-1.9-1.9H6.3zm2.6 4.4c0 .4-.3.6-.6.6h-.7c-.3 0-.6-.2-.6-.6v-.6c0-.3.3-.6.6-.6h.7c.3 0 .6.3.6.6v.6zm7.2 0c0 .4-.3.6-.6.6h-4.6c-.4 0-.7-.2-.7-.6v-.6c0-.3.3-.6.7-.6h4.6c.3 0 .6.3.6.6v.6zM8.9 13c0 .3-.3.6-.6.6h-.7c-.3 0-.6-.3-.6-.6v-.7c0-.3.3-.6.6-.6h.7c.3 0 .6.3.6.6v.7zm6 0c0 .3-.3.6-.6.6h-3.4c-.4 0-.7-.3-.7-.6v-.7c0-.3.3-.6.7-.6h3.4c.3 0 .6.3.6.6v.7zm-6 3.1c0 .3-.3.6-.6.6h-.7c-.3 0-.6-.3-.6-.6v-.6c0-.4.3-.7.6-.7h.7c.3 0 .6.3.6.7v.6zm7.2 0c0 .3-.3.6-.6.6h-4.6c-.4 0-.7-.3-.7-.6v-.6c0-.4.3-.7.7-.7h4.6c.3 0 .6.3.6.7v.6z" + } + }, + contact_request: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M11.7 12.2c-.2.1-.3.3-.1.4l1.3 1.4c.1.1.1.3 0 .5l-.5.5c-.2.1-.4.1-.5 0l-3.3-3.3c-.1-.1-.1-.3 0-.5L11.9 8c.1-.2.3-.2.5 0l.5.5c.1.2.1.4 0 .5l-1.4 1.4c-.1.1.2.4.2.4 3 .1 5.4 2.1 6.2 4.8.7-1 1.2-2.3 1.2-3.7 0-3.7-3.2-6.6-7.2-6.6s-7.2 2.9-7.2 6.5c0 1.2.3 2.3.9 3.2.1.2.1.4 0 .5l-.9 2.6c-.1.2.1.5.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 1.8 0 3.4-.6 4.6-1.6-.3-2.6-2.3-4.6-4.9-4.7z" + } + }, + contract: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.9 8.1l-3.2-3.2c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.6c0 .5.4.9.9.9h2.6c.2 0 .3-.1.3-.3 0-.1 0-.2-.1-.2zm-.4 2h-3.3c-.8 0-1.5-.7-1.5-1.5V5.3c0-.3-.2-.5-.5-.5H7.4c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zM7.7 7.8l1.2-.1v-.1l.6-1.1h.1l.6 1.1v.1l1.2.1c.1 0 .1.1.1.2l-.9.8v.1l.2 1.2c0 .1-.1.1-.2.1l-1-.6h-.1l-1.1.6s-.1 0-.1-.1l.2-1.2-.1-.1-.8-.8c0-.1 0-.2.1-.2zm7.4 8c0 .3-.2.5-.5.5H8.4c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h6.2c.3 0 .5.2.5.5v.4zm1-2.8c0 .2-.2.4-.5.4H8.4c-.3 0-.5-.2-.5-.4v-.5c0-.3.2-.5.5-.5h7.2c.3 0 .5.2.5.5v.5z" + } + }, + contract_line_item: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.1 8.6h2.6c.2 0 .3-.1.3-.3 0-.1 0-.2-.1-.2l-3.2-3.2c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.6c0 .5.4.9.9.9zm2.4 1.5h-3.3c-.8 0-1.5-.7-1.5-1.5V5.3c0-.3-.2-.5-.5-.5H7.4c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-9.2 6.2c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm0-2.8c-.4 0-.7-.4-.7-.8s.3-.7.7-.7c.4 0 .7.3.7.7 0 .5-.3.8-.7.8zm1.2-3.9l-1.1.6s-.1 0-.1-.1l.2-1.2-.1-.1-.8-.8c0-.1 0-.2.1-.2l1.2-.1v-.1l.6-1.1h.1l.6 1.1v.1l1.2.1c.1 0 .1.1.1.2l-.9.8v.1l.2 1.2c0 .1-.1.1-.2.1l-1-.6h-.1zm6.6 6.2c0 .3-.2.5-.5.5h-4.9c-.2 0-.5-.2-.5-.5v-.4c0-.3.3-.5.5-.5h4.9c.3 0 .5.2.5.5v.4zm0-2.8c0 .2-.2.4-.5.4h-4.9c-.2 0-.5-.2-.5-.4v-.5c0-.3.3-.5.5-.5h4.9c.3 0 .5.2.5.5v.5z" + } + }, + currency: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M17.9 7.4H6.1c-.7 0-1.3.6-1.3 1.3v6.6c0 .7.6 1.3 1.3 1.3h11.8c.7 0 1.3-.6 1.3-1.3V8.7c0-.7-.6-1.3-1.3-1.3zM7.7 15.3c0-.9-.7-1.6-1.6-1.6v-3.4c.9 0 1.6-.7 1.6-1.6h8.6c0 .9.7 1.6 1.6 1.6v3.4c-.9 0-1.6.7-1.6 1.6H7.7z" + }, + "circle": { + "cx": "12", + "cy": "11.88", + "r": "2.256" + } + } + }, + currency_input: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15 15.6c.9-1.4.7-3.2-.5-4.4-1.4-1.4-3.6-1.4-5 0-1.2 1.2-1.4 3-.5 4.4h6zm4.2-9.4v11.6c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4zm-12 11.1h9.6c.3 0 .5-.3.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.3 0-.5.2-.5.5v9.6c0 .2.2.5.5.5z" + } + }, + custom: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19 7.9c0-.2-.3-.2-.4-.1l-2.4 2.4c-.2.2-.5.2-.7 0l-1.7-1.7c-.2-.2-.2-.5 0-.7l2.4-2.4c.2-.1.1-.4 0-.4-.5-.1-.9-.2-1.3-.2-2.6 0-4.6 2.2-4.3 4.8 0 .4.1.8.3 1.1l-5.6 5.6c-.7.7-.7 1.8 0 2.4.3.4.7.5 1.2.5s.8-.1 1.2-.5l5.6-5.6c.3.2.7.3 1.1.3 2.6.3 4.8-1.7 4.8-4.3 0-.4-.1-.8-.2-1.2z" + } + }, + custom_notification: { + "path": { + "d": "M12.9 5.2L12 9.6a.2.2 0 0 0 .3.3H17a.5.5 0 0 1 .3.7L12.2 19a.4.4 0 0 1-.8-.2l.9-5.2c0-.2-.1-.1-.3-.1H7.1c-.4 0-.6-.5-.4-.8L12.1 5a.4.4 0 0 1 .8.2z" + } + }, + customer_360: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.9 12.2c.2-.2.2-.4.1-.6-.1-.2-.3-.3-.5-.3s-.3 0-.5.2l-.1.1c-.2-3.2-2.8-5.7-6-5.7-3.4 0-6.1 2.7-6.1 6.1s2.7 6 6.1 6c2.8 0 5.2-1.9 5.8-4.6l1.2-1.2zm-7 4.6C9.2 16.8 7 14.6 7 12s2.2-4.9 4.9-4.9c2.5 0 4.6 2 4.8 4.5l-.1-.1c-.1-.1-.2-.1-.3-.2-.2-.1-.5 0-.6.2-.2.2-.2.6 0 .8l.9.9c-.5 2-2.5 3.6-4.7 3.6z" + }, + "g": { + "path": { + "d": "M14.8 13.7v.3c0 .3-.3.6-.6.6H9.5c-.4 0-.6-.3-.6-.6v-.3c0-.7.8-1.1 1.6-1.5h.1c0-.1.1-.1.2 0 .3.2.6.3 1 .3s.8-.1 1.1-.3c0-.1.1-.1.2 0h.1c.8.4 1.6.8 1.6 1.5z" + }, + "ellipse": { + "cx": "11.856", + "cy": "10.272", + "rx": "1.464", + "ry": "1.632" + } + } + }, + customer_portal_users: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.3 11.7c0 .3-.2.5-.5.5h-4.4c-.3 0-.5-.2-.5-.5V11c0-.3.2-.5.5-.5h4.4c.3 0 .5.2.5.5v.7zm-6.8 0c0 .3-.3.5-.5.5h-.8c-.3 0-.5-.2-.5-.5V11c0-.3.2-.5.5-.5H9c.2 0 .5.2.5.5v.7zm0 3.1c0 .3-.3.5-.5.5h-.8c-.3 0-.5-.2-.5-.5v-.7c0-.3.2-.5.5-.5H9c.2 0 .5.2.5.5v.7zm6.8 0c0 .3-.2.5-.5.5h-4.4c-.3 0-.5-.2-.5-.5v-.7c0-.3.2-.5.5-.5h4.4c.3 0 .5.2.5.5v.7zm1.4-10H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm-6.3 1.8c0-.2.2-.4.4-.4h5.6c.2 0 .3.2.3.4v.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.3-.2-.3-.4v-.7zm-1.9-.4c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.3-.8.8-.8zM7 6.2c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.4-.8.8-.8zm10.8 11.2c0 .2-.2.4-.4.4h-1.1v-.6c0-.3-.2-.5-.5-.5h-4.4c-.3 0-.5.2-.5.5v.6H9.5v-.6c0-.3-.3-.5-.5-.5h-.8c-.3 0-.5.2-.5.5v.6H6.6c-.2 0-.4-.2-.4-.4V9.5c0-.2.2-.4.4-.4h10.8c.2 0 .4.2.4.4v7.9z" + } + }, + customers: { + "xmlns": "http://www.w3.org/2000/svg", + "ellipse": { + "cx": "9.912", + "cy": "10.152", + "rx": "2.928", + "ry": "3.24" + }, + "path": { + "d": "M12.6 13.8c-.7.6-1.7 1.1-2.7 1.1-1 0-2-.5-2.7-1.1-1.3.6-2.6 1.3-2.6 2.5v.5c0 .6.4 1.1 1 1.1h8.6c.6 0 1.1-.5 1.1-1.1v-.5c0-1.2-1.3-1.9-2.7-2.5zm3.7-2.4l-.1-.1h-.3c-.5.3-1.1.5-1.7.5h-.3c-.1.3-.2.7-.4.9.1.1.2.1.3.2 1.4.6 2.4 1.3 3 2.3H18c.5 0 1-.4 1-.9v-.5c0-1.2-1.4-1.9-2.7-2.4zm-.2-3.2c0-1.2-.9-2.1-1.9-2.1-.6 0-1 .2-1.4.6.9.8 1.4 2.1 1.4 3.4v.2c1 0 1.9-.9 1.9-2.1z" + } + }, + dashboard: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 1.9c2.9 0 5.3 2.4 5.3 5.3 0 .2 0 .5-.1.7h-2.1c-.2 0-.4.2-.5.4-.2 1.3-1.3 2.3-2.6 2.3s-2.4-1-2.6-2.3c0-.2-.3-.4-.5-.4H6.8c-.1-.2-.1-.5-.1-.7 0-2.9 2.4-5.3 5.3-5.3zm-.6 7.1c.6.3 1.4 0 1.7-.5.4-.9 1.3-4.6 1.1-4.7-.2-.1-2.8 2.7-3.2 3.6-.4.5-.2 1.3.4 1.6z" + } + }, + data_integration_hub: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M17.7 6.5c-.9 0-1.7.7-1.7 1.7 0 .1.1.2.1.4l-1.6 1c-.5-.6-1.3-.9-2.1-.9-.6 0-1.2.2-1.6.5L8.1 7.4c.2-.7-.2-1.4-.9-1.8-.7-.3-1.7 0-2 .8s-.1 1.7.7 2.1c.4.2.9.2 1.3 0l2.7 1.9c-.1.3-.2.6-.2 1v.5l-1.6.6c-.2-.2-.5-.4-.9-.5-.9-.3-1.9.3-2.2 1.2-.2 1 .3 1.9 1.3 2.2.9.3 1.9-.3 2.2-1.2v-.3l1.9-.7c.5.5 1.2.9 2 .9h.2l.3 1.3c-.5.4-.8 1.1-.8 1.7.1 1.1 1.1 1.9 2.2 1.8 1.1-.1 1.9-1 1.8-2.1-.1-1-.9-1.8-1.8-1.8l-.3-1.5c.7-.4 1.1-1.3 1.1-2.1v-.5L17 9.7c.2.1.5.2.8.2.9 0 1.7-.8 1.7-1.7-.1-1-.8-1.7-1.8-1.7zm-5.3 6.6c-1 0-1.7-.8-1.7-1.7s.7-1.8 1.7-1.8 1.7.8 1.7 1.8c0 .9-.7 1.7-1.7 1.7z" + }, + "circle": { + "cx": "12.432", + "cy": "11.376", + "r": ".768" + } + } + }, + datadotcom: { + "path": { + "d": "M17.1 19.2h-1.7c-.1-.6-.1-1.1-.1-1.6-.8 1.3-2.1 1.9-3.8 1.9-1.4 0-2.6-.5-3.4-1.5-.8-1-1.2-2.4-1.2-3.9 0-1.1.2-2 .6-2.8s1-1.5 1.7-2 1.6-.7 2.6-.7c1.4 0 2.5.4 3.4 1.3V4.8h1.7v12.1c0 .8.1 1.5.2 2.3zm-1.9-4.4v-3.3c-.4-.6-.9-.9-1.4-1.2-.5-.2-1.1-.4-1.8-.4-1 0-1.8.4-2.4 1.2s-.8 1.7-.8 2.9c0 1.3.2 2.2.8 3s1.3 1.1 2.3 1.1 1.8-.3 2.4-1c.6-.6.9-1.4.9-2.3z" + } + }, + date_input: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.2 10.1H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-8.6 6.7c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v1zm3.4 0c0 .3-.3.5-.5.5h-1c-.2 0-.5-.2-.5-.5v-1c0-.2.3-.4.5-.4h1c.2 0 .5.2.5.4v1zm0-3.4c0 .3-.3.5-.5.5h-1c-.2 0-.5-.2-.5-.5v-.9c0-.3.3-.5.5-.5h1c.2 0 .5.2.5.5v.9zm3.3 0c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v.9zm1-7.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5z" + } + }, + date_time: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.3 6.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5zm.9 3.9H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zM12 18.2c-2 0-3.6-1.6-3.6-3.6s1.6-3.5 3.6-3.5 3.6 1.6 3.6 3.5-1.6 3.6-3.6 3.6zm.4-3.7V13c0-.2-.1-.3-.3-.3h-.2c-.1 0-.3.1-.3.3v1.6c0 .1.1.2.1.3l1.2 1.1c.1.1.2.1.3 0l.2-.1c.1-.1.1-.3 0-.4l-1-1z" + } + }, + decision: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.1 6.9L17.8 6c-.2-.1-.4-.2-.6-.2H13v-.5c0-.3-.3-.5-.5-.5h-1c-.2 0-.5.2-.5.5v.5H6.2c-.2 0-.4.2-.4.4v2c0 .2.2.4.4.4h11c.2 0 .5 0 .6-.2l1.3-.9c.1-.2.1-.4 0-.6zM17.8 11H13v-.7c0-.1-.1-.2-.3-.2h-1.4c-.2 0-.3.1-.3.2v.7H6.8c-.2 0-.4.1-.6.2l-1.2 1c-.2.1-.2.4 0 .6l1.2.9c.2.1.4.2.6.2h11c.2 0 .4-.2.4-.5v-1.9c0-.2-.2-.5-.4-.5zM13 17.2V16c0-.1-.1-.2-.3-.2h-1.4c-.2 0-.3.1-.3.2v1.2c-.9.2-1.4.8-1.6 1.5-.1.3.1.5.3.5h4.6c.2 0 .4-.2.3-.5-.1-.7-.7-1.2-1.6-1.5z" + } + }, + default: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "opacity": ".5", + "d": "M10.7 7.9c.5-.5 1.2-.8 1.9-.8 1.1 0 1.9.5 2.4 1.3.4-.1.9-.3 1.4-.3 1.8.1 3.3 1.5 3.3 3.3 0 1.8-1.5 3.3-3.3 3.3-.2 0-.5 0-.7-.1-.4.8-1.2 1.3-2.1 1.3-.4 0-.7-.1-1-.3-.5 1-1.4 1.7-2.6 1.7-1.2 0-2.2-.8-2.6-1.8-.2 0-.3.1-.5.1-1.4 0-2.6-1.2-2.6-2.6 0-.9.5-1.8 1.3-2.2-.2-.4-.2-.7-.2-1.2 0-1.6 1.3-2.9 2.9-2.9 1 0 1.9.5 2.4 1.2" + } + }, + delegated_account: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.4 10.2H13c-.4 0-.5.5-.5.5v8.2h6.4v-8.1c.1-.5-.3-.6-.5-.6zm-3.2 7.3c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V17c0-.2.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V12c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm2.5 5c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V17c0-.2.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5zm0-2.5c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V12c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5zm-4.3-7.9H5.1c-.5 0-.5.5-.5.6v13.7H11V9.3s0-.6.5-.6h2c.2-.1.4-.2.4-.5V5.3c.1-.5-.3-.7-.5-.7zM7.3 17.3c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.6c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.3-.5-.5v-.6c0-.2.2-.5.5-.5h.5c.3 0 .5.3.5.5v.6zM10 17.3c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5H9c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.6c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5H9c-.3 0-.5-.3-.5-.5v-.6c0-.2.2-.5.5-.5h.5c.3 0 .5.3.5.5v.6zm2.7 0c0 .2-.2.5-.5.5h-.5c-.2 0-.5-.3-.5-.5v-.6c0-.2.2-.5.5-.5h.5c.3 0 .5.3.5.5v.6zm6.4.1c-.2-.1-.4-.1-.5.1l-.2.2c-.2-1.5-1.3-2.1-2.1-2.2l.2-.2c.2-.1.2-.3.1-.5s-.3-.2-.5-.1l-.9.6c-.1.1-.2.2-.2.3s0 .2.1.3l.8 1c0 .1.1.1.3.1 0 0 .1 0 .2-.1s.2-.3 0-.5l-.2-.2c.6.1 1.3.5 1.5 1.6l-.2-.2c-.1-.1-.4-.1-.5 0s-.2.4 0 .5l.8.8c.1.1.2.1.2.1h.1c.1 0 .2 0 .2-.1l.9-1c0-.1 0-.4-.1-.5z" + } + }, + display_rich_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.3 17.2h13.4c.3 0 .5.2.5.5v1c0 .2-.2.5-.5.5H5.3c-.3 0-.5-.3-.5-.5v-1c0-.3.2-.5.5-.5zm0-4.3h13.4c.3 0 .5.2.5.5v1c0 .2-.2.4-.5.4H5.3c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5zm8.5-4.3h4.9c.3 0 .5.2.5.5v.9c0 .3-.2.5-.5.5h-4.9c-.2 0-.5-.2-.5-.5v-.9c0-.3.3-.5.5-.5zm-2.4 2.1L9.1 5c0-.1-.1-.1-.2-.1H7.2c-.1 0-.3 0-.3.1l-2.1 5.7c0 .1 0 .2.2.2h1.1c.1 0 .2-.1.2-.2l.4-1.2h2.7l.5 1.2c0 .1.1.2.2.2h1.1c.2 0 .2-.1.2-.2zM7.2 8.1l.7-1.8h.2l.8 1.8H7.2z" + } + }, + display_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.4 4.8H6.7c-1.1 0-1.9.9-1.9 1.9v10.6c0 1.1.8 1.9 1.9 1.9h10.6c1.1 0 1.9-.8 1.9-1.9V6.7c0-1-.8-1.9-1.8-1.9zM7.3 7.9c0-.3.3-.6.6-.6h7c.4 0 .7.3.7.6v.7c0 .3-.3.6-.6.6H7.9c-.3 0-.6-.3-.6-.6v-.7zm7.4 8.2c0 .3-.3.6-.6.6H7.9c-.3 0-.6-.3-.6-.6v-.6c0-.4.3-.6.6-.6h6.2c.3 0 .6.2.6.6v.6zm2-3.8c0 .4-.3.7-.6.7H7.9c-.3 0-.6-.3-.6-.7v-.6c0-.3.3-.6.6-.6h8.2c.3 0 .6.3.6.6v.6z" + } + }, + document: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 10.1h-3.3c-.8 0-1.5-.7-1.5-1.5V5.3c0-.3-.2-.5-.5-.5H7.4c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm.4-2l-3.2-3.2c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.6c0 .5.4.9.9.9h2.6c.2 0 .3-.1.3-.3 0-.1 0-.2-.1-.2z" + } + }, + drafts: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 4.8H9.8c-.8 0-1.4.6-1.4 1.4v.3c0 .1.1.2.2.2h7c.8 0 1.4.7 1.4 1.5v7.4c0 .1.1.2.3.2h.2c.8 0 1.5-.6 1.5-1.4V6.2c0-.8-.7-1.4-1.5-1.4zm-3.3 3.4H6.5c-.8 0-1.5.6-1.5 1.4v8.2c0 .8.7 1.4 1.5 1.4h7.7c.8 0 1.4-.6 1.4-1.4V9.6c0-.8-.6-1.4-1.4-1.4zM7 10.6c0-.3.2-.5.4-.5h4.8c.3 0 .5.2.5.5v.4c0 .3-.2.5-.5.5H7.4c-.2 0-.4-.2-.4-.5v-.4zm5.7 6.2c0 .3-.2.5-.5.5H7.4c-.2 0-.4-.2-.4-.5v-.5c0-.2.2-.5.4-.5h4.8c.3 0 .5.3.5.5v.5zm1-2.9c0 .3-.2.5-.5.5H7.4c-.2 0-.4-.2-.4-.5v-.5c0-.2.2-.4.4-.4h5.8c.3 0 .5.2.5.4v.5z" + } + }, + dynamic_record_choice: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.4 17.1V17c-2.1-.6-3.7-2.6-3.7-5 0-2.9 2.4-5.3 5.3-5.3s5.3 2.4 5.3 5.3c0 .5-.1 1-.2 1.4l.2.2c.1 0 .2-.1.3-.1.4 0 .9.2 1.3.4.2-.6.3-1.3.3-1.9 0-4-3.3-7.2-7.2-7.2S4.8 8 4.8 12c0 3.8 3 6.9 6.7 7.2-.6-.5-1.1-1.2-1.1-2.1zm3.2-4.3c.5 0 .9.2 1.3.4l.3-.1c.1-.4.2-.7.2-1.1 0-1.8-1.5-3.3-3.4-3.3S8.7 10.2 8.7 12c0 1.5.9 2.7 2.3 3.2.1-1.4 1.2-2.4 2.6-2.4zm1.2 1.8c.2-.2.6-.4.9-.4.5 0 1 .2 1.2.7.2-.1.5-.2.7-.2.9 0 1.6.8 1.6 1.6 0 .9-.7 1.6-1.6 1.6h-.3c-.2.4-.6.6-1.1.6-.1 0-.3 0-.5-.1-.2.5-.7.8-1.2.8-.6 0-1.1-.4-1.3-.9-.1 0-.2.1-.3.1-.7 0-1.2-.6-1.2-1.3 0-.4.2-.9.6-1.1-.1-.1-.1-.3-.1-.5 0-.8.6-1.5 1.4-1.5.5 0 .9.3 1.2.6z" + } + }, + education: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 12.3c-.4 0-.7-.2-1.1-.3-1.9-.6-3.8-1.2-5.6-1.9-.2 0-.3-.1-.4-.1-.1-.1-.1-.3 0-.4.1 0 .3-.1.4-.1l6-1.8c.5-.2.9-.2 1.4 0l6 1.8c.1 0 .3.1.4.1.1.1.1.3 0 .4-.1 0-.2.1-.3.1-2 .7-4 1.3-6 2-.3.1-.5.2-.8.2zm-4 .1c-.3-.1-.4.1-.4.2v2.3c0 .3.1.4.3.6l.2.2c.5.3 1 .5 1.6.7 1.1.3 2.3.3 3.5.2.7-.1 1.4-.3 2.1-.6.3-.2.6-.3.9-.6.1-.1.2-.3.1-.5.1-.7.1-1.4.1-2.2 0-.4-.3-.3-.4-.3-1.1.3-2.2.7-3.2 1-.6.2-1.1.2-1.6 0l-3.2-1zm10-.7c-.1 0-.1 0-.1.1v2c0 .1-.1.2-.1.3-.1.3-.3.7-.4 1-.1.4-.1.7.2 1 0 .1.1.1.2.2s.3.1.4.2c.2 0 .4-.1.5-.3l.2-.2c.2-.2.3-.5.2-.8-.1-.4-.3-.8-.5-1.1v-2.5c0-.1-.2-.1-.2-.1l-.4.2z" + } + }, + email: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.7 13.2c.2.2.4.2.6 0l6.8-6.3c.1-.2.1-.6-.4-.6H5.3c-.4 0-.6.3-.4.6l6.8 6.3zm7.5-3.6c0-.3-.4-.5-.6-.3l-5.3 4.9c-.3.4-.8.5-1.3.5s-.9-.1-1.3-.5L5.4 9.3c-.2-.2-.6 0-.6.3v6.2c0 .8.7 1.5 1.5 1.5h11.5c.8 0 1.4-.7 1.4-1.5V9.6z" + } + }, + email_chatter: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.7 13.2c.2.2.4.2.6 0l6.8-6.3c.1-.2.1-.6-.4-.6H5.3c-.4 0-.6.3-.4.6l6.8 6.3zm7.5-3.6c0-.3-.4-.5-.6-.3l-5.3 4.9c-.3.4-.8.5-1.3.5s-.9-.1-1.3-.5L5.4 9.3c-.2-.2-.6 0-.6.3v6.2c0 .8.7 1.5 1.5 1.5h11.5c.8 0 1.4-.7 1.4-1.5V9.6z" + } + }, + empty: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "opacity": ".5", + "d": "M17.3 18.7H6.7c-.8 0-1.4-.6-1.4-1.4V6.7c0-.8.6-1.4 1.4-1.4h10.6c.8 0 1.4.6 1.4 1.4v10.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.2.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.3 0-.5.2-.5.5z" + } + }, + endorsement: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.7 10.1H5.3c-.3 0-.5.2-.5.5v7.7c0 .3.2.4.5.4h.5c.8 0 1.4-.6 1.4-1.4v-6.7c0-.3-.2-.5-.5-.5zm10.6.2h-1.5c-.8 0-1.4-.6-1.4-1.4V6c0-.8-.6-1.4-1.4-1.4h-1c-.3 0-.5.2-.5.4v2c0 1.6-.8 3.3-2.4 3.3-.2 0-.5.2-.5.5v6.7c0 .3.2.5.5.5 2.1.1 3.5.9 5.8.9 2.4 0 4.3-.7 4.3-3v-3.7c0-1-.9-1.9-1.9-1.9z" + } + }, + entitlement: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M17.3 4.8H8.4c-.8 0-1.6.8-1.6 1.6h-.6c-.6 0-1.1.5-1.1 1.2s.5 1.1 1.1 1.1h.6v2.2h-.6c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h.6v2.2h-.6c-.6 0-1.1.5-1.1 1.1 0 .7.5 1.1 1.1 1.1h.6c0 1.1.8 1.7 1.6 1.7h8.9c.8 0 1.6-.8 1.6-1.7V6.4c0-.9-.8-1.6-1.6-1.6zm-1 12c0 .3-.2.5-.4.5H9.6c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.5.5-.5h6.3c.2 0 .4.3.4.5v.5zm-6.7-4.7l.5-.5c.1-.2.4-.2.5 0l1.3 1.2 3-3.1c.2-.1.4-.1.5 0l.5.5c.2.2.2.4 0 .6l-3.6 3.5c-.1.1-.3.2-.5.2s-.3-.1-.5-.2l-1.7-1.7c-.2-.2-.2-.4 0-.5zm6.7-4.3c0 .2-.2.5-.4.5H9.6c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h6.3c.2 0 .4.2.4.5v.5z" + } + }, + entitlement_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M6.1 8.4h2.5c.6 0 1-.5 1-1V4.9c0-.2-.1-.4-.3-.4-.1 0-.2.1-.3.1L5.9 7.8c-.1.1-.1.1-.1.2 0 .2.1.4.3.4zm5 10.5l1.2-1.5 1-1.4c0-.1 0-.2-.1-.3-.1-.2-.4-.6-.4-1.1s.3-1 .4-1.2c0-.2.1-.7.6-1.1.3-.4.8-.5 1-.5h.1c.2-.2.6-.5 1.1-.5s.9.3 1.2.5c.1 0 .3 0 .6.1V6c0-.8-.7-1.5-1.5-1.5h-4.8c-.2 0-.5.3-.5.5v3.4c0 .8-.6 1.4-1.4 1.4H6.2c-.2 0-.4.2-.4.5v7.2c0 .8.6 1.4 1.4 1.4h3.9z" + }, { + "d": "M15.6 17.2l-1.2 1.7-.3-.8h-.9l1.1-1.5c.2.2.5.2.6.2h.2c0 .1 0 .1.1.1.1.1.2.2.4.3zm2.1-.6c-.3.1-.5.2-.6.2h-.2l-.1.1c-.1.1-.3.2-.5.3l1.3 1.7.3-.8h.8l-1-1.5zM16 13.8c-.4 0-.8.4-.8.8s.4.7.8.7.7-.3.7-.7-.3-.8-.7-.8zm2 .8c0 .2-.3.4-.3.6-.1.3-.1.6-.3.8-.1.2-.5.1-.7.2-.2.1-.4.4-.7.4s-.4-.3-.6-.4c-.3-.1-.6 0-.8-.2-.2-.2-.1-.5-.2-.8-.1-.2-.4-.4-.4-.6s.3-.5.4-.7c.1-.2 0-.6.2-.7.2-.2.5-.2.8-.3.2-.1.4-.3.6-.3s.5.3.7.3c.2.1.6.1.7.3.2.1.2.5.3.7 0 .2.3.4.3.7zm-.6 0c0-.8-.6-1.4-1.4-1.4-.8 0-1.4.6-1.4 1.4S15.2 16 16 16s1.4-.7 1.4-1.4z" + }] + }, + entitlement_process: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M13.4 19.1v-4l2.3-2.5h3.2v4.8c0 1-.8 1.7-1.7 1.7h-3.8zm-1.4 0H8.4c-.8 0-1.6-.5-1.6-1.7h-.6c-.6 0-1.1-.4-1.1-1v-.1c0-.6.5-1.1 1.1-1.1h.6V13h-.6c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h.6V8.6h-.6c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.2h.6c0-.9.8-1.6 1.6-1.6h8.8c.9 0 1.7.7 1.7 1.6v4.9h-3.3L13 8.4c-.2-.2-.5-.2-.7 0l-2.9 3.2c-.2.2-.2.5 0 .7l2.6 2.8v4z" + } + }, + entitlement_template: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M16.9 4.7H8.1c-.9 0-1.6.7-1.6 1.6h-.6c-.6 0-1.1.5-1.1 1.1v.1c0 .6.5 1.1 1.1 1.1h.6v2.2h-.6c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h.6v2.2h-.6c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h.6c0 1.2.7 1.7 1.6 1.7h8.8c.9 0 1.7-.7 1.7-1.7V6.3c0-.9-.8-1.6-1.7-1.6zm-.8 10.8H8.8V8.3h7.3v7.2zm-6-4.7h4.8c.1 0 .1 0 .1-.1V9.6c0-.1 0-.2-.1-.2h-4.8c-.1 0-.2 0-.2.1v1.1c0 .1.1.2.2.2zm0 3.6h1.1c.1 0 .2 0 .2-.1v-2.2c0-.1-.1-.2-.2-.2h-1.1c-.1 0-.2.1-.2.1v2.2c0 .1.1.2.2.2zm4.7-2.5h-2.2c-.1 0-.2.1-.2.2v2.2c0 .1.1.1.2.1h2.2c.1 0 .2 0 .2-.1v-2.2c0-.1 0-.2-.1-.2h-.1z" + } + }, + entity: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M17.9 6.9c0-1.2-2.7-2.1-5.9-2.1s-5.9.9-5.9 2.1v.7c0 1.2 2.7 2.1 5.9 2.1s5.9-.9 5.9-2.1v-.7zM6.1 9.3c0 .9 2.7 1.6 5.9 1.6s5.9-.7 5.9-1.6v1.5c0 1.1-2.7 2.1-5.9 2.1s-5.9-1-5.9-2.1V9.3zm0 0c0 .9 2.7 1.6 5.9 1.6s5.9-.7 5.9-1.6v1.5c0 1.1-2.7 2.1-5.9 2.1s-5.9-1-5.9-2.1V9.3zm0 3.2c0 .9 2.7 1.6 5.9 1.6s5.9-.7 5.9-1.6v1.4c0 1.2-2.7 2.1-5.9 2.1s-5.9-.9-5.9-2v-1.5zm0 3.1c0 1 2.7 1.7 5.9 1.7s5.9-.7 5.9-1.7v1.5c0 1.2-2.7 2.1-5.9 2.1s-5.9-.9-5.9-2.1v-1.5z" + } + }, + entity_milestone: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M17.8 7.9l-5.1-2.8c-.4-.3-1-.3-1.5 0L6.1 7.9c-.4.3-.7.8-.7 1.3v5.7c0 .5.3 1 .7 1.3l5.1 2.9c.5.2 1.1.2 1.5 0l5.1-2.9c.5-.3.8-.8.8-1.3V9.2c0-.5-.3-1-.8-1.3zm-8 1.8v6c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-6c-.2-.1-.3-.4-.3-.6 0-.4.4-.7.8-.7s.8.3.8.8c0 .2-.1.4-.3.5zm6.2 3.8c0 .1-.1.2-.2.2-2 1.1-3.1-.7-4.9-.1-.1.1-.3 0-.3-.2V10c0-.1.1-.2.2-.3 1.8-.7 3 1.2 5 .1h.1c0 .1.1.1.1.1v3.6z" + } + }, + environment_hub: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.3 11.3c.1-1 .4-2 .9-2.9.8-1.3 2.1-2.1 3.8-2.2.3-.8 1.1-1.4 2-1.4 1.2 0 2.2 1 2.2 2.2s-1 2.1-2.2 2.1c-.9 0-1.7-.6-2-1.4-1.9.1-3 1.6-3.2 3.6H15c.3-.9 1.1-1.5 2-1.5 1.2 0 2.2 1 2.2 2.2s-1 2.2-2.2 2.2c-.9 0-1.7-.6-2-1.5h-3.2c.2 2.2 1.2 3.6 3.2 3.6.3-.8 1.1-1.4 2-1.4 1.2 0 2.2.9 2.2 2.1s-1 2.2-2.2 2.2c-.9 0-1.7-.6-2-1.4-1.8 0-3.1-.8-3.9-2.2-.4-.9-.7-1.8-.8-2.9H9c-.3.9-1.1 1.5-2 1.5-1.2 0-2.2-1-2.2-2.2s1-2.2 2.2-2.2c.9 0 1.7.6 2 1.5h1.3zM17 7.7c.4 0 .8-.3.8-.7s-.4-.8-.8-.8-.7.4-.7.8.3.7.7.7zm0 10.1c.4 0 .8-.4.8-.8s-.4-.7-.8-.7-.7.3-.7.7.3.8.7.8zm0-5.1c.4 0 .8-.3.8-.7s-.4-.7-.8-.7-.7.3-.7.7.3.7.7.7zm-10 0c.4 0 .7-.3.7-.7s-.3-.7-.7-.7-.8.3-.8.7.4.7.8.7z" + } + }, + event: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.2 10.1H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-8.6 6.7c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v1zm0-3.4c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v.9zm3.4 3.4c0 .3-.3.5-.5.5h-1c-.2 0-.5-.2-.5-.5v-1c0-.2.3-.4.5-.4h1c.2 0 .5.2.5.4v1zm0-3.4c0 .3-.3.5-.5.5h-1c-.2 0-.5-.2-.5-.5v-.9c0-.3.3-.5.5-.5h1c.2 0 .5.2.5.5v.9zm3.3 3.4c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v1zm0-3.4c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v.9zm1-7.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5z" + } + }, + events: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.1 6.9c-1.3-1.4-3-2.1-4.9-2.1-.4 0-.7.3-.7.7s.3.7.7.7c1.5 0 2.9.6 3.9 1.6 1.1 1.1 1.7 2.5 1.7 4 0 .4.3.7.7.7s.7-.3.7-.7c0-1.9-.7-3.6-2.1-4.9zm-4.9.8c-.4 0-.7.3-.7.7s.3.7.7.7a2.732 2.732 0 0 1 2.7 2.7c0 .4.3.7.7.7s.7-.3.7-.7c0-1.1-.4-2.1-1.2-2.9s-1.8-1.2-2.9-1.2zm-1 6.9l.6-1.7c.4.2.9.1 1.3-.3.5-.4.5-1.2 0-1.7s-1.2-.4-1.7 0c-.4.4-.5.9-.3 1.4l-1.5.7-2.8-2.8c-.2-.2-.6-.2-.7 0-1.8 2.2-1.7 5.4.3 7.4s5.3 2.2 7.4.4c.3-.2.3-.5.1-.7l-2.7-2.7z" + } + }, + feed: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.8 17.3c-.1 0-.3 0-.4-.1-.2-.1-.3-.3-.4-.5L9.2 9.2l-1.6 3.5c-.1.3-.4.5-.6.5H4.8c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h1.7l2.2-5.1c.1-.3.4-.5.7-.5.3.1.6.3.7.6l1.9 7.6 2.4-5.6c.2-.3.5-.4.8-.4.2 0 .5.2.6.5l1.2 2.9h2.2c.3 0 .5.2.5.4v.5c0 .3-.2.5-.5.5h-2.6c-.3 0-.6-.2-.7-.4l-.8-1.9-2.7 5.9c-.1.3-.4.5-.6.5z" + } + }, + feedback: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19 13.6v-.3c.4-.8.7-1.6.7-2.5 0-2.8-2.4-5-5.3-5-1.2 0-2.4.4-3.3 1.1 3 .6 5.2 3.2 5.2 6.3 0 .9-.1 1.7-.5 2.4.5-.1 1-.3 1.4-.5.1-.1.2-.1.3-.1l1.5.6c.3.1.5-.2.5-.5l-.5-1.5zM9.6 8.2c-2.9 0-5.3 2.2-5.3 5 0 .9.3 1.7.7 2.5 0 .1.1.2 0 .3l-.5 1.6c-.1.3.2.5.5.4l1.5-.5c.1-.1.2-.1.3 0 .8.5 1.8.7 2.8.7 2.9 0 5.3-2.2 5.3-5s-2.4-5-5.3-5zm-2.9 6c-.5 0-.9-.5-.9-1s.4-1 .9-1 1 .5 1 1-.5 1-1 1zm2.9 0c-.5 0-1-.5-1-1s.5-1 1-1 1 .5 1 1-.5 1-1 1zm2.9 0c-.5 0-1-.5-1-1s.5-1 1-1 .9.5.9 1-.4 1-.9 1z" + } + }, + file: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7 15.1V7.4c-.8 0-1.5.7-1.5 1.5V18c0 .8.7 1.4 1.5 1.4h7.2c.8 0 1.4-.6 1.4-1.4H9.8C8.3 18 7 18 7 15.1zm11-6.2h-2.4c-.8 0-1.4-.7-1.4-1.5V5c0-.2-.3-.4-.5-.4H9.8c-.8 0-1.4.6-1.4 1.4v9.1c0 .8.6 1.5 1.4 1.5H17c.8 0 1.5-.7 1.5-1.5V9.4c0-.3-.2-.5-.5-.5zm.4-2l-2.2-2.2c-.1-.1-.2-.1-.3-.1-.2 0-.3.1-.3.3v1.6c0 .5.4.9 1 .9h1.5c.2 0 .4-.1.4-.3 0-.1 0-.2-.1-.2z" + } + }, + filter: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.5 4.8H5c-.4 0-.6.5-.3.8l5.8 6.9c.2.2.2.5.2.8v5.4c0 .3.3.5.5.5h1.1c.2 0 .4-.2.4-.5v-5.4c0-.3.1-.6.3-.8l5.9-6.8c.3-.4 0-.9-.4-.9z" + } + }, + first_non_empty: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.4 11.8l5.5-5.4c.2-.2.2-.5 0-.7l-.7-.7c-.2-.2-.5-.2-.7 0L12 10.5c-.1.1-.3.1-.4 0L6.1 4.9c-.2-.1-.5-.1-.7 0l-.7.7c-.2.2-.2.5 0 .7l5.5 5.5c.1.1.1.3 0 .5l-5.5 5.5c-.2.2-.2.4 0 .7l.7.7c.2.1.5.1.7 0l5.5-5.5c.1-.1.3-.1.4 0l5.4 5.4c.2.2.5.2.7 0l.7-.7c.2-.2.2-.5 0-.7l-5.4-5.4c-.1-.2-.1-.3 0-.5z" + } + }, + flow: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 7.4C18.6 6.1 17 3.9 14 5.2c-1.8.8-2.8 1.3-2.8 1.3L8.5 7.7c-.7.3-2.4-.2-3.3-.5-.2-.1-.5.2-.4.5.7 1.2 2.3 3.5 5.2 2.1 1.8-.8 5.5-2.4 5.5-2.4.7-.4 2.4.1 3.3.5.3 0 .5-.2.4-.5zm-6.4 3.8c-.3.2-1.6.8-1.6.8l-1.3.6c-.7.4-2.1-.1-2.9-.5-.3-.1-.5.2-.4.5.6 1.2 2 3.3 4.6 2 1.6-.8 2.9-1.3 2.9-1.3.7-.4 2.1.1 2.9.4.3.1.5-.2.4-.4-.6-1.2-2-3.4-4.6-2.1zm-.9 5.3c-.3.2-.7.5-.7.5-.5.3-1.6-.1-2.2-.4-.2-.1-.4.2-.3.4.4 1.1 1.5 3 3.4 1.8l.7-.4c.6-.3 1.6.1 2.2.4.2.1.4-.2.3-.5-.4-1-1.4-2.9-3.4-1.8z" + } + }, + folder: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18 8.3h-6.8c-.4 0-.8-.2-1.1-.6l-1-1.8c-.2-.4-.6-.6-1.1-.6H6c-.7 0-1.2.5-1.2 1.2v11c0 .7.5 1.2 1.2 1.2h12c.7 0 1.2-.5 1.2-1.2V9.6c0-.7-.5-1.3-1.2-1.3zm0-2.4h-7.2c-.1 0-.2.1-.1.2l.4.8c.1.1.2.2.3.2H18c.3 0 .7.1.9.2.2.1.3 0 .3-.2 0-.7-.5-1.2-1.2-1.2z" + } + }, + forecasts: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.6 7s-.8-1.7-2.7-1.7-2.7 1.8-2.7 1.8c-1.3-.6-2.4 0-2.4 0s-.9-1.8-2.7-1.8S5.4 7 5.4 7s-1.8 3.9-1.8 7.4c-.1 3.5 2.2 4.3 3.3 4.3 1.2 0 4.1-.5 3.9-4.4 0 0 .3-.7 1.1-.7 1 0 1.3.7 1.3.7-.1 3.9 2.7 4.4 3.9 4.4 1 0 3.4-.8 3.3-4.3 0-3.5-1.8-7.4-1.8-7.4zM7.2 17.2c-1.2 0-2.1-1-2.1-2.1S6 13 7.2 13s2 .9 2 2.1-.9 2.1-2 2.1zm9.6 0c-1.1 0-2-1-2-2.1s.9-2.1 2-2.1 2.1.9 2.1 2.1-.9 2.1-2.1 2.1z" + } + }, + formula: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.3 5.1c-.3-.2-.6-.3-1-.3H12C10.9 5 10.2 6 9.8 6.9c-.2.4-.3.9-.5 1.3l-.3.6c0 .1-.1.5-.1.5H7.8c-.1 0-.2.1-.2.2 0 .2.1.3.2.3h1L8.2 12c-.5 2.6-1.2 5.4-1.4 6-.2.5-.4.7-.7.7h-.2l-.1-.1s.1-.1.1-.2c.1-.1.1-.3.1-.4 0-.1 0-.3-.2-.4-.1-.2-.3-.2-.4-.2s-.4.1-.5.2c0 .2-.1.3-.1.5 0 .3.1.6.4.8.2.2.5.3.9.3.7 0 1.2-.3 1.7-.8.2-.3.4-.7.6-1 .5-1.2.8-2.5 1.1-3.8.3-1.2.6-2.5.9-3.8h1c.2 0 .3-.1.3-.2 0-.2-.1-.3-.3-.3h-.9c.5-2 1.1-3.4 1.2-3.6.2-.3.4-.5.7-.5.1 0 .1.1.1.1l.1.1s0 .1-.1.2c-.1.2-.1.3-.1.4 0 .2.1.3.2.4s.3.2.4.2.4 0 .5-.2.2-.3.2-.5c0-.4-.2-.6-.4-.8zm4.8 6c.4 0 1.1-.3 1.1-1.3s-.7-1-1-1c-.4 0-.8.3-1.2.9-.4.7-.8 1.5-.8 1.5h-.1c-.1-.5-.1-.9-.2-1.1-.1-.4-.5-1.3-1.5-1.3s-2 .6-2 .6c-.1.1-.3.3-.3.5 0 .3.3.6.6.6.1 0 .2 0 .3-.1 0 0 .8-.4.9 0 .1.1.1.3.2.4.2.7.3 1.4.5 2.1l-.6 1s-.8-.2-1.1-.2-1.2.3-1.2 1.3.8 1 1 1c.4 0 .9-.3 1.3-1 .4-.6.8-1.4.8-1.4.1.6.2 1.1.3 1.3.2.7.8 1.2 1.6 1.2 0 0 .8 0 1.7-.6.2-.1.4-.3.4-.5 0-.4-.3-.6-.6-.6h-.3s-.6.4-.9.1c-.2-.3-.3-.7-.4-1.2l-.3-1.5.7-1c-.1.1.7.3 1.1.3z" + } + }, + fulfillment_order: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.5 15.1c.2 0 .4 0 .6.1L8.9 6l-.3-.9c-.1-.2-.4-.3-.6-.3l-2.9 1c-.2.1-.3.3-.3.6l.3.8c.1.3.4.4.6.3l1.5-.4 3 8.4c.4-.2.8-.4 1.3-.4zm5.1-2.2l-3 1.1c-.3.1-.7-.1-.8-.4l-1-2.9c-.1-.3 0-.7.3-.8l3-1c.3-.2.7 0 .8.3l1 3c.1.3 0 .6-.3.7zM13.8 8l-2.1.7c-.3.2-.6 0-.7-.3l-.7-2c-.1-.3 0-.7.4-.8l2-.7c.3-.1.6.1.7.4l.7 2c.1.3 0 .6-.3.7zm5.4 6.8l-.3-.9c-.1-.2-.4-.4-.6-.3l-5.5 1.9c.6.4 1 1 1.1 1.7l5-1.7c.3-.1.4-.4.3-.7zm-7.7 1.1c-.9 0-1.7.7-1.7 1.6 0 .9.8 1.7 1.7 1.7s1.7-.7 1.7-1.7c0-.9-.8-1.6-1.7-1.6z" + } + }, + generic_loading: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "opacity": ".15", + "d": "M12.4 5.3h-.8c-.2 0-.3.1-.3.3v3.2c0 .2.1.3.3.3h.8c.2 0 .3-.1.3-.3V5.6c0-.2-.1-.3-.3-.3zm6 6h-3.2c-.2 0-.3.1-.3.3v.8c0 .2.1.3.3.3h3.2c.2 0 .3-.1.3-.3v-.8c0-.2-.1-.3-.3-.3zm-6 3.6h-.8c-.2 0-.3.1-.3.3v3.2c0 .2.1.3.3.3h.8c.2 0 .3-.1.3-.3v-3.2c0-.2-.1-.3-.3-.3zm-3.3-2.5v-.8c0-.2-.1-.3-.3-.3H5.6c-.2 0-.3.1-.3.3v.8c0 .2.1.3.3.3h3.2c.2 0 .3-.1.3-.3zm5.2-2.2c.1.2.3.2.5 0L17 8c.1-.1.1-.3 0-.5l-.5-.5c-.2-.1-.4-.1-.5 0l-2.2 2.2c-.2.2-.2.4 0 .5l.5.5zm.5 3.6c-.1-.2-.4-.2-.5 0l-.5.5c-.1.1-.1.3 0 .5L16 17c.2.1.4.1.5 0l.5-.5c.2-.2.2-.4 0-.5l-2.2-2.2zm-5.1 0c-.1-.2-.3-.2-.5 0L7 16c-.1.1-.1.3 0 .5l.5.5c.2.1.4.1.5 0l2.2-2.2c.2-.2.2-.4 0-.5l-.5-.5zM8 7c-.1-.2-.3-.2-.5 0l-.5.5c-.1.1-.1.3 0 .5l2.2 2.2c.2.1.4.1.5 0l.5-.5c.2-.1.2-.4 0-.5L8 7z" + } + }, + global_constant: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M12.8 12.7c.8-.6 1.6-.7 2.2-.7H19.2c0-4-3.2-7.2-7.2-7.2S4.8 8 4.8 12c0 3.4 2.5 6.3 5.7 7 0-.2 0-.4.1-.7.1-.4.3-.7.5-1-.7-.8-1.4-2.5-1.5-4.6h1.7v1.9c0-.1.1-.2.2-.4.3-.4.6-.9 1-1.3.1 0 .1-.1.2-.1l.1-.1zm4.9-1.4h-1.9c-.1-1.7-.4-3.2-1-4.3 1.6.9 2.7 2.5 2.9 4.3zm-5-4.7c.8.7 1.6 2.4 1.7 4.7h-1.7V6.6zm-1.4 0v4.7H9.6c.1-2.3.9-4 1.7-4.7zm-5 6.1h1.9c.1 1.7.4 3.2 1 4.4-1.6-.9-2.7-2.5-2.9-4.4zm1.9-1.4H6.3C6.5 9.5 7.6 7.9 9.2 7c-.6 1.1-.9 2.6-1 4.3zm3.4 5.6l.2-.2.3-.3c-.4-.2-.7-.5-.8-.9v1.7c.1-.2.2-.3.3-.3z" + }, { + "d": "M19.1 13.3c0-.1-.1-.1-.1-.1h-4c-.6 0-1.2.2-1.7.6-.3.3-.6.7-.8 1.1 0 .1-.1.1-.1.1 0 .2.2.3.3.3.1 0 .1-.1.2-.2l.3-.3c.3-.3.7-.5 1.2-.4-.4 1-.9 2.2-1.7 3.1-.3.3-.9.7-1 1.1-.1.6.4.7.8.5.5-.2.7-.7 1-1.1.3-.5.6-1.1.8-1.6.2-.6.5-1.1.7-1.7.1-.3.2-.3.5-.3h1c-.4.8-.7 1.5-1 2.3-.3.6-.7 1.5-.4 2.1.3.7 1.2.4 1.6.1.5-.3.8-.9 1.1-1.4 0-.1.1-.1 0-.3 0-.1-.1-.1-.2-.1-.2 0-.3.3-.3.4-.2.3-.5.5-.8.5-.7-.1 0-1.4.1-1.8.1-.3.2-.6.4-1l.3-.6c.1-.2.1-.2.4-.2.2 0 .9.1 1.1-.1.2-.1.3-.5.4-.8 0-.1 0-.2-.1-.2z" + }] + }, + goals: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.2 4.8c-.8 0-1.4.6-1.4 1.4 0 .5.2.9.5 1.1v10.9c0 .6.4 1 .9 1s1-.4 1-1V7.3c.3-.2.5-.6.5-1.1 0-.8-.7-1.4-1.5-1.4zm12.2 2.6c-3.8 2-5.9-1.4-9.4-.1-.2 0-.4.2-.4.4v6.2c0 .3.4.6.7.5 3.4-1.1 5.5 2.2 9.2.1.1-.1.2-.2.2-.4V7.6c0-.2-.2-.3-.3-.2zm-1.1 3.3c-.5.1-.9.1-1.4.1h-.1v1.4h.1c.5 0 .9 0 1.4-.1v1.4c-.5.2-.9.2-1.4.2h-.1v-1.4c-.4 0-.9-.1-1.4-.2v1.4c-.3 0-.7-.1-1-.2-.2-.1-.3-.1-.4-.2v-1.4c-.6-.2-1-.3-1.5-.4v1.5c-.2-.1-.5-.1-.8-.1-.2 0-.4 0-.6.1v-1.5h1.4V10c-.2-.1-.5-.1-.8-.1h-.6V8.5c.2-.1.4-.1.6-.1.3 0 .6.1.8.1V10c.4.1.7.2 1.3.3 0 .1.1.1.2.1V9c.4.1.9.2 1.4.3v1.4c.5.1.9.1 1.4.1V9.4h.1c.5 0 .9 0 1.4-.1v1.4zm-4.3-.3v1.3c.1 0 .2.1.3.1.4.1.7.2 1.1.3v-1.4c-.5-.1-1-.2-1.4-.3z" + } + }, + group_loading: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "opacity": ".5", + "d": "M8.8 12.6c-.4-.7-.6-1.4-.6-2.3 0-1.4.6-2.6 1.5-3.3-.3-.6-.9-1-1.8-1-1.4 0-2.1 1.1-2.1 2.4 0 .7.2 1.3.7 1.7.2.2.4.6.4.9 0 .3-.1.6-.9 1-1.1.5-2.1 1.1-2.2 2.2 0 .7.5 1.2 1.1 1.2H6c.1 0 .3-.1.4-.3.5-.9 1.4-1.5 2.2-1.9.3-.1.4-.4.2-.6zM18 12c-.8-.4-.9-.7-.9-1 0-.3.2-.7.4-.9.5-.4.7-1 .7-1.7 0-1.3-.7-2.4-2.1-2.4-.9 0-1.5.4-1.8 1 .9.7 1.5 1.9 1.5 3.3 0 .9-.2 1.6-.6 2.3-.2.2-.1.5.2.7.8.4 1.7.9 2.2 1.8.1.2.3.3.4.3h1.1c.6 0 1.1-.5 1.1-1.2-.1-1.1-1.1-1.7-2.2-2.2zm-3.9 2.3c-.9-.4-1-.7-1-1.1 0-.4.2-.7.5-1 .5-.4.8-1.1.8-1.9 0-1.4-.8-2.6-2.4-2.6s-2.4 1.2-2.4 2.6c0 .8.3 1.4.8 1.9.3.3.5.6.5 1s-.1.7-.9 1.1c-1.3.5-2.5 1.1-2.6 2.3 0 .7.6 1.4 1.3 1.4h6.6c.7 0 1.3-.7 1.3-1.4-.1-1.2-1.3-1.8-2.5-2.3z" + } + }, + groups: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.8 12.6c-.4-.7-.6-1.4-.6-2.3 0-1.4.6-2.6 1.5-3.3-.3-.6-.9-1-1.8-1-1.4 0-2.1 1.1-2.1 2.4 0 .7.2 1.3.7 1.7.2.2.4.6.4.9 0 .3-.1.6-.9 1-1.1.5-2.1 1.1-2.2 2.2 0 .7.5 1.2 1.1 1.2H6c.1 0 .3-.1.4-.3.5-.9 1.4-1.5 2.2-1.9.3-.1.4-.4.2-.6zM18 12c-.8-.4-.9-.7-.9-1 0-.3.2-.7.4-.9.5-.4.7-1 .7-1.7 0-1.3-.7-2.4-2.1-2.4-.9 0-1.5.4-1.8 1 .9.7 1.5 1.9 1.5 3.3 0 .9-.2 1.6-.6 2.3-.2.2-.1.5.2.7.8.4 1.7.9 2.2 1.8.1.2.3.3.4.3h1.1c.6 0 1.1-.5 1.1-1.2-.1-1.1-1.1-1.7-2.2-2.2zm-3.9 2.3c-.9-.4-1-.7-1-1.1 0-.4.2-.7.5-1 .5-.4.8-1.1.8-1.9 0-1.4-.8-2.6-2.4-2.6s-2.4 1.2-2.4 2.6c0 .8.3 1.4.8 1.9.3.3.5.6.5 1s-.1.7-.9 1.1c-1.3.5-2.5 1.1-2.6 2.3 0 .7.6 1.4 1.3 1.4h6.6c.7 0 1.3-.7 1.3-1.4-.1-1.2-1.3-1.8-2.5-2.3z" + } + }, + hierarchy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.1 11.1h-4c-.3 0-.5.2-.5.5V15H5.2c-.2 0-.4.2-.4.4v3.4c0 .2.2.4.4.4h4.5c.3 0 .5-.2.5-.4v-3.4c0-.2-.2-.4-.5-.4H8.4v-2.1h7.2V15h-1.3c-.3 0-.5.2-.5.4v3.4c0 .2.2.4.5.4h4.5c.2 0 .4-.2.4-.4v-3.4c0-.2-.2-.4-.4-.4h-1.4v-3.4c0-.3-.2-.5-.5-.5h-4V9h1.3c.3 0 .5-.2.5-.4V5.3c0-.3-.2-.5-.5-.5H9.7c-.2 0-.4.2-.4.5v3.3c0 .2.2.4.4.4h1.4v2.1z" + } + }, + high_velocity_sales: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 5.2c0-.3-.2-.4-.3-.4h-6.2c-.4 0-.4.5-.4.5v.8c0 .4.2.5.3.5H17c.1 0 .4.1.4.6v4.1c0 .1.1.4.5.4h.9s.4 0 .4-.5v-6zm-3.7 3.7c0-.3-.2-.4-.3-.4H9c-.5 0-.5.5-.5.5v.9c0 .3.3.4.4.4h4.3c.2.1.5.2.5.7v4c0 .2.1.4.4.4h1s.4 0 .4-.4V8.9zm-9.7 9.9c.1.1.3.3.6-.1l3.2-3.1c0-.1.3-.3.3.1v3.1c0 .1.1.4.5.4h.9s.4 0 .4-.5v-6c0-.3-.2-.4-.3-.4H5.3c-.5 0-.5.5-.5.5v.8c0 .4.2.5.4.5H8c.2 0 .5 0 .2.4l-3 3s-.4.4-.1.6l.7.7z" + } + }, + home: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.9 12.3h-1.5v6.6c0 .2-.1.3-.3.3h-3c-.2 0-.3-.1-.3-.3v-5.1h-3.6v5.1c0 .2-.1.3-.3.3h-3c-.2 0-.3-.1-.3-.3v-6.6H5.1c-.1 0-.3-.1-.3-.2s0-.2.1-.3l6.9-7c.1-.1.3-.1.4 0l7 7v.3c0 .1-.2.2-.3.2z" + } + }, + household: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.4 4.9c-.3-.1-.6-.1-.8 0L5 11.1c-.4.3-.2.9.3.9h.9v5.8c0 .8.7 1.4 1.5 1.4h8.6c.8 0 1.5-.6 1.5-1.4V12h.9c.5 0 .7-.6.3-.9l-6.6-6.2zM8.9 15.3c-.1.1-.2.1-.3.1H8c-.3 0-.6-.2-.6-.6.1-.6.6-.9 1.3-1.1.4-.2.5-.4.5-.6 0-.2-.2-.4-.3-.5-.3-.2-.4-.6-.4-1 0-.7.5-1.3 1.2-1.3.5 0 .8.2 1 .5-.5.5-.9 1.1-.9 1.9 0 .5.2.9.4 1.3.1.1 0 .3-.1.3-.4.2-1 .5-1.2 1zm4.9 1.7h-3.6c-.4 0-.7-.3-.7-.8 0-.6.7-1 1.3-1.3.5-.2.6-.4.6-.6 0-.2-.1-.4-.3-.5-.3-.3-.4-.6-.4-1.1 0-.8.5-1.5 1.3-1.5s1.4.7 1.4 1.5c0 .5-.2.8-.5 1.1-.1.1-.3.3-.3.5s.1.4.6.6c.7.3 1.4.7 1.4 1.3-.1.5-.4.8-.8.8zm2.2-1.6h-.6c-.1 0-.2 0-.3-.1-.2-.5-.8-.7-1.2-.9-.1-.1-.2-.2-.1-.4.2-.3.4-.8.4-1.2 0-.8-.4-1.5-.9-1.9.2-.3.5-.6 1-.6.8 0 1.2.7 1.2 1.4 0 .4-.1.7-.4.9-.1.2-.2.4-.2.6s0 .3.5.5c.6.3 1.2.6 1.2 1.1 0 .4-.3.6-.6.6z" + } + }, + individual: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.1 17.5l-2.9 1.6c-.2.1-.4.1-.5 0l-2.9-1.6c-.1-.1-.1-.2 0-.3l.7-.4h.1l1.8 1c.2.1.3.2.5.2s.4-.1.6-.2l1.7-1h.2l.7.4c.1.1.1.2 0 .3zm0-1.9l-2.9 1.7c-.2.1-.4.1-.5 0l-2.9-1.7c-.1 0-.1-.2 0-.2l.7-.4h.1l1.8 1c.2.1.3.1.5.1s.4 0 .6-.1l1.7-1h.2l.7.4c.1 0 .1.2 0 .2zm-3.4-.1l-2.9-1.7c-.1 0-.1-.2 0-.2l2.9-1.7c.1-.1.4-.1.5 0l2.9 1.7c.1 0 .1.2 0 .2l-2.9 1.7h-.5zm-3.2-1c.1-.1.1-.2 0-.2l-.7-.4v-.3s0-.4.3-.7c.1 0 .3-.1.5-.2-.1-.1-.2-.1-.3-.1-.4-.3-1-.5-1.2-1-.1-.3-.1-.6.1-.9.2-.3.5-.5.7-.8.1-.1.1-.2.1-.3.6-.8.7-2 .4-3-.4-1.1-1.3-1.8-2.5-1.8h-.1c-1.2 0-2.1.7-2.5 1.8-.3 1-.2 2.2.4 3 0 .1.1.2.1.3.2.3.5.5.7.8.1.3.2.6.1.9-.2.5-.8.7-1.2 1-1 .4-2.3 1-2.5 2.2-.2 1 .5 2 1.6 2h5.3l.7-.4c.1-.1.1-.2 0-.3l-.7-.4V15l.7-.5z" + } + }, + insights: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.8 6.5H7.4c-.2 0-.4.1-.4.4v8.4c0 .3-.3.6-.6.6-.3-.1-.5-.3-.5-.6V9.2c0-.1-.1-.2-.3-.2h-.4c-.2 0-.4.1-.4.4v7c0 .6.5 1.1 1.1 1.1h12.2c.6 0 1.1-.5 1.1-1.1V6.9c0-.3-.2-.4-.4-.4zm-6.2 8c0 .2-.2.3-.3.3H9c-.2 0-.3-.1-.3-.3v-.6c0-.1.1-.2.3-.2h3.3c.1 0 .3.1.3.2v.6zm0-2.2c0 .2-.2.3-.3.3H9c-.2 0-.3-.1-.3-.3v-.6c0-.1.1-.3.3-.3h3.3c.1 0 .3.2.3.3v.6zm4.9 2.2c0 .2-.1.3-.2.3h-3.4c-.1 0-.2-.1-.2-.3v-.6c0-.1.1-.2.2-.2h3.4c.1 0 .2.1.2.2v.6zm0-2.2c0 .2-.1.3-.2.3h-3.4c-.1 0-.2-.1-.2-.3v-.6c0-.1.1-.3.2-.3h3.4c.1 0 .2.2.2.3v.6zm0-2.2c0 .1-.1.2-.2.2H9c-.2 0-.3-.1-.3-.2V8.4c0-.2.1-.3.3-.3h8.3c.1 0 .2.1.2.3v1.7z" + } + }, + instore_locations: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.7 16.8c-.1 0-.3-.1-.3-.3v-1.7c0-.2.1-.3.3-.3h1.8c.1 0 .3.1.3.3v1.8c0 .1-.1.2-.3.2H7.7zm3.4 0c-.1 0-.3-.1-.3-.3v-2.7c0-.1.1-.2.3-.2h1.8c.2 0 .3.1.3.2v2.8c0 .1-.1.2-.3.2h-1.8zm3.4 0c-.1 0-.3-.1-.3-.3v-1.7c0-.2.2-.3.3-.3h1.8c.2 0 .3.1.3.3v1.8c0 .1-.1.2-.3.2h-1.8zm-6.8-6.5c-.1 0-.3-.1-.3-.3V7.5c0-.2.1-.3.3-.3h5.2c.2 0 .3.1.3.3V10c0 .2-.1.3-.3.3H7.7zm6.8 0c-.1 0-.3-.1-.3-.3V8.3c0-.2.2-.3.3-.3h1.8c.2 0 .3.1.3.3V10c0 .2-.1.3-.3.3h-1.8zm3.2-5.5H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm0 12.4c0 .3-.2.5-.5.5H6.8c-.3 0-.5-.2-.5-.5v-4.6h11.4v4.6zm0-6H6.3V6.8c0-.3.2-.5.5-.5h10.4c.3 0 .5.2.5.5v4.4z" + } + }, + investment_account: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 6.5H6.2c-.8 0-1.4.6-1.4 1.4v8.2c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4V7.9c0-.8-.6-1.4-1.4-1.4zM16.6 13c0 .2-.3.3-.4.1L15 12l-2.5 2.2c-.3.3-.7.3-1 0L10 12.5l-2.8 2.4c-.1.1-.2.1-.3 0l-.1-.2c-.1-.1-.1-.2 0-.3l2.7-3.7c.2-.3.7-.3 1 0l1.5 1.6 1.6-1.8-1-.9c-.2-.2-.1-.5.1-.5h3.4c.2 0 .4.3.4.5V13z" + } + }, + invocable_action: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.1 17.1V19c0 .1.1.2.2.2h.2l3.6-3c.1 0 .1-.1.1-.2 0 0-.1-.1-.1-.2l-3.6-3.1h-.2c-.1 0-.2.1-.2.3v2c-2.3.6-4.1-1.4-4.1-1.4s-.1-.1-.2-.1-.2.2-.2.3c.9 3.8 4.5 3.3 4.5 3.3zm-5.9-3l-.1-.1v-.2c0-1 .8-1.8 1.7-1.8.5 0 .9.2 1.2.6h.1c.2.2.8.7 1.6 1V13c0-1 .7-1.7 1.7-1.7.3 0 .6.1.7.1l.2.1.1.1 2.1 1.8c.5-.5.7-1.2.7-1.9 0-1.5-1.2-2.7-2.6-2.7h-.2v-.2c0-1.5-1.2-2.7-2.7-2.7-.7 0-1.3.2-1.8.7-.4-1-1.4-1.8-2.6-1.8-1.5 0-2.7 1.2-2.7 2.7 0 .5.2 1 .4 1.4-1.2.3-2.1 1.3-2.1 2.6 0 1.5 1.1 2.7 2.6 2.7h1.8c-.1 0-.1 0-.1-.1z" + } + }, + iot_context: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M17.5 10.4c-.7 0-1.4.6-1.6 1.3h-1.2c-.2-1.4-1.3-2.4-2.7-2.4s-2.6 1-2.8 2.4H8c-.2-.7-.8-1.3-1.6-1.3-.9 0-1.6.8-1.6 1.7 0 .9.7 1.7 1.6 1.7.8 0 1.5-.5 1.6-1.2h1.2c.2 1.2 1.1 2.1 2.3 2.3V16c-.7.2-1.2.9-1.2 1.6 0 1 .7 1.7 1.7 1.7s1.7-.7 1.7-1.7c0-.7-.6-1.4-1.3-1.6v-1.1c1.2-.2 2.1-1.1 2.3-2.3h1.2c.2.7.9 1.2 1.6 1.2.9 0 1.7-.7 1.7-1.7s-.7-1.7-1.7-1.7zm-4.7 7.2c0 .5-.3.9-.8.9s-.8-.4-.8-.9.3-.8.8-.8.8.4.8.8zM8 8.6c-.2.2-.2.5 0 .7.2.2.5.2.7 0 1.7-1.8 4.6-1.8 6.4 0 .1.1.2.2.3.2s.3-.1.4-.2c.2-.2.2-.5 0-.7-2.2-2.1-5.7-2.1-7.8 0zm-1.2-.8C9.6 5 14.2 5 17 7.8c.1.1.2.1.3.1s.3 0 .4-.1c.2-.2.2-.5 0-.7-3.2-3.2-8.4-3.2-11.6 0-.2.2-.2.5 0 .7.2.2.5.2.7 0z" + } + }, + iot_orchestrations: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "circle": [{ + "cx": "9.36", + "cy": "7.68", + "r": "2.88" + }, { + "cx": "16.8", + "cy": "12", + "r": "2.88" + }], + "path": { + "fill-rule": "nonzero", + "d": "M9.4 17.8c.8 0 1.4-.7 1.4-1.5s-.6-1.4-1.4-1.4-1.5.6-1.5 1.4.7 1.5 1.5 1.5zm0 1.4c-1.6 0-2.9-1.3-2.9-2.9s1.3-2.9 2.9-2.9 2.8 1.3 2.8 2.9-1.2 2.9-2.8 2.9zM11 9.9c.8 1.1 2 1.7 3.4 1.9.2 0 .5-.2.5-.5 0-.2-.2-.5-.4-.5-1.2-.1-2.1-.6-2.8-1.5-.1-.2-.4-.2-.7-.1-.2.2-.2.5 0 .7zM6.7-12.5c.5-1.2.5-2.5.1-3.8-.1-.3-.4-.4-.6-.3-.3.1-.4.4-.3.6.4 1.1.3 2.1-.1 3.1-.1.3 0 .6.2.7.3.1.6 0 .7-.3zm4.8 18.7c.9-.5 1.9-.6 2.8-.2 1 .4 1.6 1.2 1.9 2 .1.4.1.6.1 1.5 0 .3.2.5.5.5s.5-.2.5-.5c0-1-.1-1.3-.2-1.8-.3-1-1.1-2-2.4-2.6-1.3-.5-2.5-.4-3.7.2-.2.2-.3.5-.1.7.1.2.4.3.6.2zm0 11.6c.9.5 1.9.6 2.8.2 1-.4 1.6-1.2 1.9-2 .1-.4.1-.6.1-1.5 0-.2.2-.5.5-.5s.5.3.5.5c0 1-.1 1.3-.2 1.8-.3 1-1.1 2-2.4 2.6-1.3.5-2.5.4-3.7-.2-.2-.2-.3-.5-.1-.7.1-.2.4-.3.6-.2z" + } + } + }, + javascript_button: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.1 8.6h2.6c.2 0 .3-.1.3-.3 0-.1 0-.2-.1-.2l-3.2-3.2c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.6c0 .5.4.9.9.9zm2.4 1.5h-3.3c-.8 0-1.5-.7-1.5-1.5V5.3c0-.3-.2-.5-.5-.5H7.4c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-8.4 5.8c0 .7-.4.9-.9.9h-.4l.1-.4h.3c.2 0 .3-.1.3-.5v-1.5h.6v1.5zm1 .9c-.2 0-.5 0-.7-.1l.2-.5c.1.1.3.2.6.2.2 0 .3-.1.3-.3s-.1-.2-.4-.3c-.3-.1-.6-.4-.6-.8s.3-.7.9-.7c.2 0 .4.1.6.1l-.1.5c-.2-.1-.4-.1-.5-.1-.3 0-.4.1-.4.2s.2.2.5.3.6.4.6.8-.3.7-1 .7z" + } + }, + job_profile: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9 7.7h5.2c.2 0 .5-.3.5-.5v-1c0-.8-.7-1.4-1.5-1.4H9.9c-.8 0-1.4.6-1.4 1.4v1c0 .2.2.5.5.5zM16.8 6h-.5c-.1 0-.2.1-.2.2v1c0 1-.9 1.9-1.9 1.9H9c-1.1 0-1.9-.9-1.9-1.9v-1c0-.1-.1-.2-.3-.2h-.5c-.8 0-1.4.6-1.4 1.4v9.7c0 .8.7 1.5 1.4 1.5h4.8c.7 0 .8-.6.8-.8v-5.1c0-.6.3-.7.5-.7h5.1c.6 0 .7-.5.7-.7V7.4c0-.8-.6-1.4-1.4-1.4zm2 8.5h-5.2c-.2 0-.3-.1-.3-.3v-.5c0-.1.1-.3.3-.3h5.2c.2 0 .3.2.3.3v.5c0 .2-.1.3-.3.3zm0 2.3h-5.2c-.2 0-.3-.1-.3-.2v-.5c0-.2.1-.3.3-.3h5.2c.2 0 .3.1.3.3v.5c0 .1-.1.2-.3.2zm0 2.4h-5.2c-.2 0-.3-.1-.3-.3v-.5c0-.1.1-.3.3-.3h5.2c.2 0 .3.2.3.3v.5c0 .2-.1.3-.3.3z" + } + }, + kanban: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.6 9.2c0-.2-.3-.5-.5-.5h-2.7c-.2 0-.4.3-.4.5v8.1c0 .2.2.4.4.4h2.7c.2 0 .5-.2.5-.4V9.2zm-5.4 0c0-.2-.3-.5-.5-.5H5c-.2 0-.4.3-.4.5v9.3c0 .2.2.4.4.4h2.7c.2 0 .5-.2.5-.4V9.2zm10.8 0c0-.2-.3-.5-.5-.5h-2.7c-.2 0-.4.3-.4.5v6.9c0 .2.2.4.4.4h2.7c.2 0 .5-.2.5-.4V9.2zM19 5c0-.2-.3-.5-.5-.5H5c-.2 0-.4.3-.4.5v1.5c0 .2.2.4.4.4h13.5c.2 0 .5-.2.5-.4V5z" + } + }, + knowledge: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.7 14.2h3.1c.3 0 .5-.3.5-.5V6.5c0-.5-.5-1-1-1H7.8c-.4 0-.6.3-.6.6v7.6c0 .2.2.5.5.5zM18.2 7v7.6c0 .6-.4 1-.9 1H6.7c-.5 0-.9-.4-.9-1V7c-.8 0-1.5.6-1.5 1.4v7.2c0 .8.7 1.4 1.5 1.4h4.5c.3 0 .5.3.5.5s.2.5.5.5h1.4c.3 0 .5-.2.5-.5s.2-.5.5-.5h4.5c.8 0 1.5-.6 1.5-1.4V8.4c0-.8-.7-1.4-1.5-1.4zm-5 7.2h3c.4 0 .6-.3.6-.6V6c0-.3-.2-.5-.5-.5h-2.6c-.5 0-1 .5-1 1v7.2c0 .2.2.5.5.5z" + } + }, + lead: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "12", + "cy": "6.96", + "r": "2.16" + }, + "path": { + "d": "M18.7 10.6H5.3c-.5 0-.7.6-.3.8l3.5 2.3c.2.1.3.3.2.5l-1.3 4.4c-.2.5.5.8.8.5l3.4-3.6c.2-.3.6-.3.8 0l3.4 3.6c.3.3.9 0 .8-.5l-1.3-4.4c-.1-.2 0-.4.2-.5l3.5-2.3c.4-.2.2-.8-.3-.8z" + } + }, + lead_insights: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M12 5.3a6.7 6.7 0 1 0 0 13.4 6.7 6.7 0 0 0 0-13.4zm0 12.6c-3.3 0-5.9-2.6-5.9-5.9 0-3.3 2.6-5.9 5.9-5.9 3.3 0 5.9 2.6 5.9 5.9 0 3.3-2.6 5.9-5.9 5.9z" + }, { + "d": "M11.8 11.8c0 .6-.2 1.1-.4 1.5-.2.4-.5.7-1 1-.4.2-.9.3-1.5.3v-.5c.7 0 1.2-.2 1.6-.5s.6-.7.7-1.3c-.4.4-.9.6-1.4.6-.3 0-.5-.1-.8-.2s-.4-.3-.5-.6c-.2-.2-.2-.5-.2-.8 0-.3.1-.6.2-.8.1-.3.3-.5.6-.6.3-.2.6-.3.9-.3.6 0 1.1.2 1.4.6s.4.9.4 1.6zm-.6-.1c0-.5-.1-.9-.3-1.2-.1-.3-.5-.4-.9-.4-.3 0-.6.1-.8.3-.2.2-.3.5-.3.9s.1.6.3.8c.2.2.4.3.8.3.2 0 .4-.1.7-.2s.3-.3.5-.5zm4.7.1c0 .6-.2 1.1-.4 1.5-.2.4-.5.7-1 1-.4.2-.9.3-1.5.3v-.5c.7 0 1.2-.2 1.6-.5s.6-.7.7-1.3c-.4.4-.9.6-1.4.6-.3 0-.5-.1-.8-.2s-.4-.3-.5-.6c-.2-.2-.2-.5-.2-.8 0-.3.1-.6.2-.8.1-.3.3-.5.6-.6.3-.2.6-.3.9-.3.6 0 1.1.2 1.4.6s.4.9.4 1.6zm-.6-.1c0-.5-.1-.9-.3-1.2-.2-.3-.5-.4-.9-.4-.3 0-.6.1-.9.3-.1.2-.2.5-.2.9s.1.6.2.8c.2.2.5.3.8.3.3 0 .5-.1.7-.2s.4-.3.6-.5z" + }] + }, + lead_list: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M8.9 15h9.6c.2 0 .5.2.5.4v1c0 .3-.3.5-.5.5H8.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4zM6 16.9H5c-.2 0-.4-.2-.4-.5v-1c0-.2.2-.4.4-.4h1c.3 0 .5.2.5.4v1c0 .2-.2.4-.5.5zm0-4.3H5c-.2 0-.4-.2-.4-.5v-1c0-.2.2-.4.4-.4h1c.3 0 .5.2.5.4v1c0 .2-.2.5-.5.5zm0-4.3H5c-.2 0-.4-.2-.4-.5v-1c0-.2.2-.4.4-.4h1c.3 0 .5.2.5.4v1c0 .2-.2.5-.5.5zm2.9 2.4h8.4c.3 0 .5.2.5.4v1c0 .3-.2.5-.5.5H8.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4zm0-4.3h9.6c.2 0 .5.2.5.5v.9c0 .3-.3.5-.5.5H8.9c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5z" + } + }, + letterhead: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zM17 16.6c0 .2-.2.3-.3.3H7.3c-.2 0-.3-.2-.3-.4v-2.1c0-.2.2-.4.4-.4h9.3c.2 0 .3.2.3.4v2.2zm0-7c0 .2-.2.3-.3.3H7.3c-.2 0-.3-.2-.3-.4V7.4c0-.2.2-.4.4-.4h9.3c.2 0 .3.2.3.4v2.2z" + } + }, + lightning_component: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.7 4.8h-4.1c-.6 0-1.1.4-1.3.9l-2.6 6.5c-.1.5.2 1 .7 1h4.1L10 18.6c-.1.5.5.8.8.4l6.3-7.5c.4-.4.1-1.2-.5-1.2h-3.1l2.7-4.4c.3-.5 0-1.1-.6-1.1h-.9z" + } + }, + lightning_usage: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.6 17.7c0 .7.5 1.2 1.2 1.2h12.7c.2 0 .5-.2.5-.4V18c0-.3-.3-.5-.5-.5h-12c-.3 0-.5-.2-.5-.5V5c0-.2-.2-.5-.5-.5H5c-.2 0-.4.3-.4.5v12.7zm3.7-3.8c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1l3.8-3.8c.3-.3.7-.3 1 0l1.8 1.8 3.3-3.3c.3-.3.7-.3 1 0 .3.3.3.8 0 1L15 12.2c-.2.1-.3.2-.5.2s-.4-.1-.5-.2l-1.9-1.9-3.3 3.4c-.2.1-.4.2-.5.2z" + } + }, + link: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.4 16.7c-.3-.1-.4-.1-.7-.1-.2-.1-.4-.1-.6-.2-.1-.1-.3 0-.4.1l-.1.1c-.9.9-2.3 1-3.2.2-1-.9-1.1-2.4-.1-3.4l2.3-2.3c.2-.3.6-.5 1-.6.5-.1 1-.1 1.4.1.3.2.6.3.8.5.1.2.2.3.3.4.1.2.4.3.5.1l.9-.8c.1-.1.1-.3 0-.5-.1-.1-.3-.3-.4-.5-.2-.2-.5-.4-.7-.5-.5-.3-.9-.5-1.4-.6-1-.2-2 0-2.8.4-.4.2-.7.5-1 .7L6 12c-1.6 1.6-1.7 4.2-.2 5.8 1.6 1.8 4.3 1.8 6 .2l.7-.8c.3-.2.1-.5-.1-.5zm5.5-10.8c-1.7-1.5-4.2-1.4-5.8.2l-.7.6c-.2.2-.1.6.2.6.4 0 .9.1 1.3.3.1 0 .3 0 .3-.1l.2-.2c.9-.8 2.2-.9 3.2-.1 1 .9 1 2.4.1 3.3l-2.3 2.3c-.3.3-.6.5-1 .6-.5.1-1 .1-1.4-.1-.3-.1-.6-.3-.8-.5-.1-.1-.2-.2-.3-.4-.1-.2-.4-.2-.6 0l-.8.8c-.1.1-.1.3 0 .5.1.1.2.3.4.4.2.3.4.4.7.6.4.3.9.4 1.4.5.9.2 1.9.1 2.8-.4.3-.2.7-.4.9-.7l2.3-2.3c1.6-1.6 1.6-4.3-.1-5.9z" + } + }, + list_email: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.6 8.4H7.3c-.7 0-1.2.5-1.2 1.1v.2c0 .1.1.2.2.2H14c.7 0 1.2.5 1.2 1.2v5.5c0 .1.1.2.2.2h.2c.6 0 1.1-.6 1.1-1.2V9.5c0-.6-.5-1.1-1.1-1.1zm2.5-2.5H9.8c-.7 0-1.2.5-1.2 1.2v.1c0 .1.1.2.2.2h7.7c.7 0 1.2.6 1.2 1.2v5.5c0 .1.1.2.2.2h.1c.7 0 1.2-.5 1.2-1.1V7.1c0-.7-.5-1.2-1.1-1.2zm-8.9 9.5c.2.1.3.1.4 0l4.4-4.1c.1-.1.1-.4-.2-.4H5.1c-.2 0-.4.3-.3.5l4.4 4zm4.9-2.5c0-.2-.2-.3-.4-.2l-3.4 3.2c-.2.2-.5.3-.8.3-.4 0-.6-.1-.9-.3l-3.4-3.2c-.1-.1-.4 0-.4.2v4.4c0 .5.4.8.8.8h7.7c.5 0 .8-.4.8-.8v-4.4z" + } + }, + live_chat: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M11.9 5.3c-4 0-7.2 2.9-7.2 6.5 0 1.2.3 2.3.8 3.2.1.2.2.4.1.5l-.9 2.6c-.1.2.1.5.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 3.9 0 7.1-2.9 7.1-6.6 0-3.7-3.2-6.6-7.2-6.6zm-3.6 7.8c-.7 0-1.2-.6-1.2-1.2 0-.7.5-1.2 1.2-1.2s1.2.5 1.2 1.2-.6 1.2-1.2 1.2zm3.6 0c-.7 0-1.2-.6-1.2-1.2 0-.7.5-1.2 1.2-1.2s1.2.5 1.2 1.2-.5 1.2-1.2 1.2zm3.6 0c-.7 0-1.2-.6-1.2-1.2 0-.7.6-1.2 1.2-1.2s1.2.5 1.2 1.2-.5 1.2-1.2 1.2z" + } + }, + live_chat_visitor: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.4.9 3.3.1.2.1.3.1.4l-.7 2.2c-.1.3.2.7.6.6l2.1-.8c.2 0 .3 0 .4.1 1.1.6 2.4 1 3.8 1 4 0 7.2-3 7.2-6.8 0-3.7-3.2-6.7-7.2-6.7zm-1.3 6.4c.6-.3.6-.5.6-.7 0-.3-.1-.5-.3-.7-.3-.2-.5-.7-.5-1.2 0-.9.5-1.6 1.5-1.6s1.5.7 1.5 1.6c0 .5-.2 1-.5 1.2-.2.2-.3.4-.3.7 0 .2 0 .4.6.7.8.3 1.5.8 1.6 1.5 0 .5-.3 1-.8 1H9.9c-.4 0-.8-.5-.8-1 0-.7.8-1.2 1.6-1.5zm-.9 4.9c-.4 0-.8-.3-.8-.7 0-.4.4-.8.8-.8s.7.4.7.8-.3.7-.7.7zm2.2 0c-.4 0-.7-.3-.7-.7 0-.4.3-.8.7-.8.4 0 .7.4.7.8s-.3.7-.7.7zm2.2 0c-.4 0-.7-.3-.7-.7 0-.4.3-.8.7-.8s.8.4.8.8-.4.7-.8.7z" + } + }, + location: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.6 6.8l-4.3-2.2a.8.8 0 0 0-.6 0l-4 2-4.1-2a.7.7 0 0 0-.7.1.7.7 0 0 0-.3.6v10.8a.7.7 0 0 0 .4.6l4.3 2.1a.8.8 0 0 0 .6 0l4-2 4 2a.6.6 0 0 0 .3.1.7.7 0 0 0 .4-.1.7.7 0 0 0 .4-.6V7.4a.7.7 0 0 0-.4-.6zm-1.1 1.4v5.7a.4.4 0 0 1-.6.4c-1.2-.4-.3-2.3-1.1-3.3-.7-.9-1.7 0-2.6-1.4-.9-1.4.3-2.5 1.4-3a.5.5 0 0 1 .4 0l2.2 1.1a.5.5 0 0 1 .3.5zm-6.1 8.3a.5.5 0 0 1-.5-.1 1.6 1.6 0 0 1-.6-1.1c0-.7-1.2-.4-1.2-1.9 0-1.2-1.3-1.5-2.5-1.3a.5.5 0 0 1-.5-.5V7.2a.4.4 0 0 1 .6-.4l2.6 1.3a.1.1 0 0 1 .1 0l.1.1c1.1.6.8 1.1.4 1.9-.5.9-.7 0-1.4-.3s-1.5.3-1.2.8.9 0 1.4.4.5 1.2 1.9.8 1.7-.3 2.2.2a1.5 1.5 0 0 1 0 2.2c-.4.4-.6 1.3-.8 1.9a.5.5 0 0 1-.2.3z" + } + }, + log_a_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.7 4.8h-9c-.8 0-1.5.7-1.5 1.4v.5h-.4c-.6 0-1 .5-1 1s.4.9 1 .9h.4V11h-.4c-.6 0-1 .5-1 1s.4 1 1 1h.4v2.4h-.4c-.6 0-1 .4-1 .9s.4 1 1 1h.4v.5c0 .7.7 1.4 1.5 1.4h9c.8 0 1.5-.7 1.5-1.5V6.2c0-.8-.7-1.4-1.5-1.4zm-.8 9.7l-.7.6c-.2.2-.4.3-.6.3-1.5-.1-3-.9-4.1-1.9-1-1-1.8-2.5-1.8-4.1 0-.2 0-.4.2-.6l.7-.6c.3-.4.8-.3 1.1 0l.6.8c.2.3.2.6 0 .9l-.5.8c-.1.1-.1.2 0 .3l1.1 1.2 1.2 1.1c.1.1.2.1.3 0l.8-.5c.2-.2.6-.2.9 0l.8.6c.3.2.3.8 0 1.1z" + } + }, + logging: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M18.5 13.5h-.9c-.2 0-.4.2-.4.4v3c0 .2-.2.4-.4.4H7c-.2 0-.4-.2-.4-.4v-3c0-.2-.2-.4-.4-.4h-.9c-.3 0-.5.2-.5.4v4c0 .7.6 1.2 1.2 1.2h11.8c.7 0 1.2-.5 1.2-1.2v-4c0-.2-.2-.4-.5-.4zM12.2 5c-.2-.1-.4-.1-.6 0l-4 4c-.2.2-.2.5 0 .6l.6.7c.2.1.4.1.6 0l1.7-1.7c.2-.2.5 0 .5.2v6.3c0 .2.2.4.4.4h.9c.3 0 .5-.2.5-.4V8.9c0-.3.3-.4.5-.3l1.7 1.7c.1.2.4.2.6 0l.6-.6c.2-.2.2-.5 0-.7l-4-4z" + } + }, + loop: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.4 14h-.1c0 .3-.1.6-.2.8-.1.3-.3.6-.4.8-.3.6-.7 1.1-1.1 1.5-.4.4-.9.8-1.4 1.1-.5.3-1.1.6-1.7.7-.6.2-1.2.3-1.8.3-3.8 0-6.9-3.1-6.9-6.9s3.1-6.9 6.9-6.9c1.2 0 2.4.4 3.5 1 .5.3 1 .7 1.3 1.1.2.1.2.1.3.3.2.1.4 0 .4-.3V5.3c0-.3.2-.5.5-.5h.9c.3 0 .5.2.6.5v5.9c0 .2-.2.4-.5.4h-5.8c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.5.5-.5h2.2c.2 0 .4 0 .5-.1-.9-1.2-2.4-2-3.9-2-2.7 0-4.9 2.1-4.9 4.8s2.2 4.8 4.9 4.8c2.1 0 3.8-1.3 4.5-3.2 0 0 .1-.4.4-.4H18c.2 0 .4.2.4.4v.1z" + } + }, + macros: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M15.5 16.2c0 .1-.1.1-.3.1h-1.4c-.1 0-.2-.1-.2-.2l.1-.1v-.1l3.1-3.7c.1-.1.1-.3 0-.4L13.7 8c-.1-.1-.1-.1-.1-.2s.2-.2.2-.2h1.4c.2 0 .3.1.3.2l3.3 4c.1 0 .1.1.1.2s-.1.1-.1.2l-3.3 4zm-3.4 0c-.1.1-.2.1-.3.1h-1.4c-.1 0-.2-.1-.2-.2V16l.1-.1 3-3.7c.1-.1.2-.3.1-.4L10.2 8v-.2c0-.1.1-.2.2-.2h1.4c.1 0 .2.1.3.2l3.3 4v.4l-3.3 4zm-3.5 0c0 .1-.1.1-.2.1H5.7c-.1 0-.2-.1-.2-.2V16h.1v-.1l3.1-3.7c.1-.1.1-.3 0-.4L5.6 8c-.1-.1-.1-.1-.1-.2s.1-.2.2-.2h2.6c.1 0 .3.1.3.2l3.3 4c.1 0 .1.1.1.2s-.1.1-.1.2l-3.3 4z" + } + }, + maintenance_asset: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M11.2 7.3c0 .1.1.2.2.2H18c.3 0 .7.1 1 .2.1.1.2 0 .2-.2 0-.7-.5-1.2-1.2-1.2h-7.2c-.1 0-.1 0-.1.1v.1l.5.8zM18 8.7h-6.8c-.4 0-.8-.2-1-.6L9.1 6.3c-.2-.4-.6-.6-1-.6H6c-.6 0-1.2.5-1.2 1.2v11c0 .7.5 1.2 1.2 1.2h12c.7 0 1.2-.5 1.2-1.2V10c0-.7-.5-1.2-1.2-1.3zm-3.1 8c-.3.3-.7.3-1 .1v-.1l-2.4-2.3c-.1 0-.3 0-.5.1-1 .1-1.9-.7-2-1.7v-.2-.5c.1 0 .1-.1.2-.1v.1l1 1c.1.1.3.1.3 0l.8-.7v-.3l-1.1-1v-.2h.1c.1-.1.3-.1.5-.1 1 0 1.8.8 1.8 1.9v.2c0 .1 0 .3-.1.4l2.4 2.4c.3.3.3.7.1 1-.1 0-.1.1-.1 0z" + } + }, + maintenance_plan: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M15.8 8.2h1.9c.2 0 .4-.2.4-.4 0-.1-.1-.3-.1-.3l-2.8-2.7c0-.1-.1-.1-.2-.1-.2 0-.4.2-.4.4V7c0 .6.5 1.1 1.2 1.2zm1.6 1.6h-2.9c-.9 0-1.7-.7-1.7-1.7V5.2c0-.3-.2-.5-.5-.5H7.6c-1 0-1.7.7-1.8 1.7v11c0 .9.8 1.7 1.8 1.7h8.7c.9 0 1.7-.8 1.7-1.7v-7c0-.3-.2-.6-.6-.6zm-1.6 7.4c-.2.2-.4.3-.7.3-.3 0-.6-.1-.7-.3L11 13.9c-.2.1-.4.2-.6.2-1.4.2-2.7-.9-2.8-2.2-.1-.4 0-.8.1-1.1 0-.1.1-.1.2 0l1.4 1.4c.1.1.3.1.4 0l1.1-1c.1-.1.1-.3 0-.4L9.3 9.3v-.2h.1c.2-.1.5-.1.7-.1 1.4 0 2.5 1.1 2.6 2.5 0 .1 0 .2-.1.3 0 .3 0 .5-.1.7l3.3 3.3c.4.4.4 1 0 1.4z" + } + }, + marketing_actions: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.4 6.2c-1.2.1-2.2 1.1-2.3 2.3.1-1.2 1.1-2.2 2.3-2.3zm2.5 2.3c-.1-1.2-1-2.2-2.3-2.3 1.3.1 2.3 1.1 2.3 2.3zm1.4 4.7l-2.5-.9c-.2-.1-.3-.2-.3-.4V8.6c0-.5-.4-.9-.9-.9h-.1c-.5 0-.9.4-.9.9V15c0 .6-.7.8-1 .3L9 14c-.4-.6-1.1-.7-1.7-.3L7 14l2 4.9c.1.2.3.3.6.3H15c.2 0 .5-.2.5-.4l1-3.5c.2-.9-.3-1.8-1.2-2.1zm-6.2-2.1V8.5c.1-1.2 1.1-2.2 2.3-2.3h.2c1.3.1 2.2 1.1 2.3 2.3v2.6c0 .2.3.3.4.2.7-.7 1.1-1.7 1.1-2.7 0-2.2-2-4-4.2-3.8C9.4 5 8 6.3 7.7 8c-.2 1.2.2 2.4 1 3.3.2.1.4 0 .4-.2z" + } + }, + merge: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.9 17.4c-1.7-.8-2.9-2.3-3.5-3.9-.2-.6-.3-1.3-.4-1.9v-1.1h3.2c.3 0 .5-.3.3-.5l-4.3-5.1c-.1-.2-.4-.2-.6 0L7.5 10c-.2.2 0 .5.2.5H11v1.1c-.1.6-.2 1.3-.4 1.9-.7 1.6-1.8 3.1-3.5 3.9-.3.1-.4.4-.3.6l.4.9c.1.3.4.4.7.2 1.8-.8 3.2-2.2 4.1-3.9.9 1.7 2.3 3.1 4.2 3.9.2.1.5.1.6-.2l.4-.9c.1-.2 0-.5-.3-.6z" + } + }, + messaging_conversation: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.1 17.1c2.6-.9 4.1-2.5 4.5-4.7 1.1.5 1.8 1.6 1.8 2.8 0 .6-.1 1.1-.3 1.5l.4 1.3c.1.3-.2.6-.5.5l-1.3-.5c-.5.3-1.1.5-1.7.5-1.2 0-2.2-.6-2.9-1.4zM10.6 5.3c3.2 0 5.8 2.4 5.8 5.4 0 3-2.6 5.4-5.8 5.4-1.1 0-2.2-.3-3-.8-.1-.1-.3-.1-.4-.1l-1.7.6c-.3.1-.6-.1-.5-.5l.6-1.7c0-.1 0-.2-.1-.3-.4-.8-.7-1.7-.7-2.6 0-3 2.6-5.4 5.8-5.4zM7.7 8.9c-.3 0-.5.2-.5.5v.4c0 .3.2.5.5.5h6.2c.3 0 .5-.2.5-.5v-.4c0-.3-.2-.5-.5-.5H7.7zm0 2.6c-.3 0-.5.2-.5.5v.5c0 .2.2.5.5.5H11c.3 0 .5-.3.5-.5V12c0-.3-.2-.5-.5-.5H7.7z" + } + }, + messaging_session: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 5.3c4 0 7.2 3 7.2 6.7S16 18.7 12 18.7c-1.4 0-2.7-.3-3.8-1-.1-.1-.2-.1-.4 0l-2.1.7c-.4.1-.7-.2-.6-.6l.7-2.1c0-.1 0-.3-.1-.4-.6-1-.9-2.1-.9-3.3C4.8 8.3 8 5.3 12 5.3zm3.1 5.5c.2 0 .3-.1.3-.2V9.1c0-.1-.1-.2-.3-.2H8.9c-.2 0-.3.1-.3.2v1.5c0 .1.1.2.3.2h6.2zm-4.8 4.8c.2 0 .3-.1.3-.2v-2.9c0-.2-.1-.3-.3-.3H8.9c-.2 0-.3.1-.3.3v2.9c0 .1.1.2.3.2h1.4zm4.8 0c.2 0 .3-.1.3-.2v-2.9c0-.2-.1-.3-.3-.3h-2.9c-.1 0-.2.1-.2.3v2.9c0 .1.1.2.2.2h2.9z" + } + }, + messaging_user: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 5.3c4 0 7.2 3 7.2 6.7S16 18.7 12 18.7c-1.4 0-2.7-.3-3.8-1-.1-.1-.2-.1-.4 0l-2.1.7c-.4.1-.7-.2-.6-.6l.7-2.1c0-.1 0-.3-.1-.4-.6-1-.9-2.1-.9-3.3C4.8 8.3 8 5.3 12 5.3zm2.1 10.1c.5 0 .8-.5.8-1 0-.8-.8-1.2-1.6-1.6-.6-.2-.6-.4-.6-.6 0-.3.1-.5.3-.7.4-.3.5-.7.5-1.2 0-.9-.5-1.7-1.5-1.7s-1.5.8-1.5 1.7c0 .5.2.9.5 1.2.2.2.3.4.3.7 0 .2-.1.4-.6.7-.8.3-1.6.7-1.6 1.5 0 .5.4 1 .8 1h4.2z" + } + }, + metrics: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.3 5.3H6.7c-.8 0-1.4.6-1.4 1.4v10.6c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V6.7c0-.8-.6-1.4-1.4-1.4zM9.1 15.8c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-2.6c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v2.6zm2.4 0c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5V9.6c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v6.2zm2.4 0c0 .3-.2.5-.5.5H13c-.3 0-.5-.2-.5-.5V8.2c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v7.6zm2.4 0c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-4.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v4.5z" + } + }, + multi_picklist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 4.8H9.8c-.8 0-1.4.6-1.4 1.4v.3c0 .1.1.2.2.2h7c.8 0 1.4.7 1.4 1.5v7.4c0 .1.1.2.3.2h.2c.8 0 1.5-.6 1.5-1.4V6.2c0-.8-.7-1.4-1.5-1.4zm-3.3 3.4H6.5c-.8 0-1.5.6-1.5 1.4v8.2c0 .8.7 1.4 1.5 1.4h7.7c.8 0 1.4-.6 1.4-1.4V9.6c0-.8-.6-1.4-1.4-1.4zm-5.8 8.6c0 .3-.2.5-.5.5h-.5c-.2 0-.4-.2-.4-.5v-.5c0-.2.2-.5.4-.5h.5c.3 0 .5.3.5.5v.5zm0-2.9c0 .3-.2.5-.5.5h-.5c-.2 0-.4-.2-.4-.5v-.5c0-.2.2-.4.4-.4h.5c.3 0 .5.2.5.4v.5zm0-2.9c0 .3-.2.5-.5.5h-.5c-.2 0-.4-.2-.4-.5v-.4c0-.3.2-.5.4-.5h.5c.3 0 .5.2.5.5v.4zm5.3 5.8c0 .3-.2.5-.5.5H9.9c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.5.5-.5h3.3c.3 0 .5.3.5.5v.5zm0-2.9c0 .3-.2.5-.5.5H9.9c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h3.3c.3 0 .5.2.5.4v.5zm0-2.9c0 .3-.2.5-.5.5H9.9c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h3.3c.3 0 .5.2.5.5v.4z" + } + }, + multi_select_checkbox: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 4.8H9.8c-.8 0-1.4.6-1.4 1.4v.3c0 .1.1.2.2.2h7c.8 0 1.4.7 1.4 1.5v7.4c0 .1.1.2.3.2h.2c.8 0 1.5-.6 1.5-1.4V6.2c0-.8-.7-1.4-1.5-1.4zm-3.3 3.4H6.5c-.8 0-1.5.6-1.5 1.4v8.2c0 .8.7 1.4 1.5 1.4h7.7c.8 0 1.4-.6 1.4-1.4V9.6c0-.8-.6-1.4-1.4-1.4zm-.7 4l-3.7 3.7c-.1.2-.3.2-.5.2-.1 0-.3 0-.5-.2l-1.7-1.8c-.2-.1-.2-.3 0-.5l.5-.5c.1-.1.3-.1.5 0l1.2 1.3 3.2-3.2c.1-.1.4-.1.5 0l.5.5c.1.2.1.4 0 .5z" + } + }, + news: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.8 6.5H7.4c-.2 0-.4.1-.4.4v8.4c0 .3-.3.6-.6.6-.3-.1-.5-.3-.5-.6V9.2c0-.1-.1-.2-.3-.2h-.4c-.2 0-.4.1-.4.4v7c0 .6.5 1.1 1.1 1.1h12.2c.6 0 1.1-.5 1.1-1.1V6.9c0-.3-.2-.4-.4-.4zm-6.2 8c0 .2-.2.3-.3.3H9c-.2 0-.3-.1-.3-.3v-.6c0-.1.1-.2.3-.2h3.3c.1 0 .3.1.3.2v.6zm0-2.2c0 .2-.2.3-.3.3H9c-.2 0-.3-.1-.3-.3v-.6c0-.1.1-.3.3-.3h3.3c.1 0 .3.2.3.3v.6zm4.9 2.2c0 .2-.1.3-.2.3h-3.4c-.1 0-.2-.1-.2-.3v-.6c0-.1.1-.2.2-.2h3.4c.1 0 .2.1.2.2v.6zm0-2.2c0 .2-.1.3-.2.3h-3.4c-.1 0-.2-.1-.2-.3v-.6c0-.1.1-.3.2-.3h3.4c.1 0 .2.2.2.3v.6zm0-2.2c0 .1-.1.2-.2.2H9c-.2 0-.3-.1-.3-.2V8.4c0-.2.1-.3.3-.3h8.3c.1 0 .2.1.2.3v1.7z" + } + }, + note: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.1 16.1l-.3.2c-.2.3-.6.5-1.1.5H15c-.8 0-1.6-.6-1.6-1.6v-.7c0-.6.3-1 .5-1.2l3.2-3.2c.1-.1.2-.3.2-.4V7.2c0-.8-.7-1.4-1.5-1.4H8.2c-.8 0-1.5.7-1.5 1.4h-.5c-.5 0-.9.4-.9 1s.4.9.9.9h.5V11h-.5c-.5 0-.9.5-.9 1s.4 1 .9 1h.5v1.9h-.5c-.5 0-.9.4-.9.9s.4 1 .9 1h.5c0 1 .7 1.4 1.5 1.4h7.6c.8 0 1.5-.6 1.5-1.4v-.6c0-.2-.1-.2-.2-.1zm-2.5-6.7c0 .2-.2.4-.4.4H9.4c-.3 0-.5-.2-.5-.4v-.5c0-.3.2-.5.5-.5h4.8c.2 0 .4.2.4.5v.5zm-2.1 5.7c0 .3-.2.5-.5.5H9.4c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4H12c.3 0 .5.2.5.4v.5zm.7-2.9c0 .3-.2.5-.5.5H9.4c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h3.3c.3 0 .5.2.5.5v.4zm6.3-1.3l-.3-.2c-.1-.2-.4-.2-.6 0l-3.7 3.7v.8c0 .1 0 .2.1.2h.7c.1 0 .1-.1.1-.1l3.7-3.7c.2-.2.2-.5 0-.7z" + } + }, + number_input: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 19.2H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4v11.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.3.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.2 0-.5.2-.5.5zm8.4 3.1h-.9l.4-1.5c0-.1 0-.1-.1-.1h-.7s-.1 0-.1.1l-.4 1.5h-1.8l.4-1.5c0-.1 0-.1-.1-.1h-.7c-.1 0-.1 0-.1.1l-.4 1.5h-1-.1l-.2.7c0 .1.1.2.1.2h1l-.5 1.7h-1l-.2.7c0 .1 0 .2.1.2h.9l-.4 1.4v.1l.1.1h.7c.1 0 .1 0 .1-.1l.4-1.5h1.8l-.4 1.4c0 .1 0 .1.1.1h.7c.1 0 .1 0 .1-.1l.4-1.5h1c.1 0 .1 0 .1-.1l.2-.7-.1-.1h-.9l.4-1.7h.9c.1 0 .1 0 .1-.1l.2-.7h-.1zm-2.5 2.6h-1.7l.4-1.7h1.8l-.5 1.7z" + } + }, + omni_supervisor: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.1 6.9c-1.5.7-2.3 2.2-2.4 4.6h2.4c.3-.8 1-1.4 1.9-1.4 1.1 0 1.9.8 1.9 1.9s-.8 1.9-1.9 1.9c-.9 0-1.6-.6-1.9-1.4h-2.4c.1 2.4.9 3.9 2.4 4.6.2-.9 1-1.5 1.9-1.5 1.1 0 1.9.9 1.9 1.9s-.8 1.9-1.9 1.9c-.9 0-1.6-.5-1.8-1.3-2.2-.7-3.4-2.6-3.5-5.6h-1.4c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h1.4c.1-3 1.3-4.9 3.5-5.6.2-.8.9-1.3 1.8-1.3 1.1 0 1.9.8 1.9 1.9s-.8 1.9-1.9 1.9c-.9 0-1.7-.6-1.9-1.5zm1.9.5c.5 0 1-.4 1-.9s-.5-1-1-1-1 .4-1 1 .5.9 1 .9zm0 11.1c.5 0 1-.4 1-1s-.5-.9-1-.9-1 .4-1 .9.5 1 1 1zm0-5.5c.5 0 1-.5 1-1s-.5-1-1-1-1 .5-1 1 .5 1 1 1zm-7.2 3.3H5.4c-.6 0-1.1-.6-1.1-1.2.1-1 1.1-1.5 2.1-1.9.7-.3.8-.6.8-.9 0-.3-.2-.6-.4-.8-.4-.4-.7-1-.7-1.6 0-1.2.8-2.2 2-2.2 1.3 0 2 1 2 2.2 0 .6-.2 1.2-.6 1.6-.3.2-.4.5-.4.8 0 .3.1.6.8.9 1 .4 2 .9 2.1 1.9-.1.6-.6 1.2-1.2 1.2z" + } + }, + operating_hours: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M12.7 12a.3.3 0 0 1-.1-.2v-2a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v2.5a.4.4 0 0 0 .1.3l1.5 1.5a.3.3 0 0 0 .5 0l.4-.4a.3.3 0 0 0 0-.5zM12 6.9a5.1 5.1 0 1 0 5.1 5.1A5.1 5.1 0 0 0 12 6.9zm0 8.9a3.8 3.8 0 1 1 3.8-3.8 3.8 3.8 0 0 1-3.8 3.8zm-5.1-1.4a3.8 3.8 0 0 1 0-4.8l-.8-1a5 5 0 0 0 0 6.7zm10.2-4.8a3.8 3.8 0 0 1 0 4.8l.8 1a5 5 0 0 0 0-6.7z", + "fill-rule": "evenodd" + } + }, + opportunity: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.1 16.6H6.9c-.2 0-.4.2-.4.4 0 .8.6 1.5 1.4 1.5h8.2c.8 0 1.4-.7 1.4-1.5 0-.2-.2-.4-.4-.4zm1.1-9.9c-.8 0-1.4.7-1.4 1.5 0 .4.2.8.5 1.1-.4.9-1.3 1.5-2.4 1.5-1.3-.1-2.3-1.1-2.4-2.4v-.6c.6-.2.9-.7.9-1.3 0-.8-.6-1.5-1.4-1.5s-1.4.7-1.4 1.5c0 .6.3 1.1.9 1.3v.6c-.1 1.3-1.1 2.3-2.4 2.4-1.1.1-2-.6-2.4-1.5.3-.3.5-.7.5-1.1 0-.8-.6-1.5-1.4-1.5s-1.5.7-1.5 1.5.7 1.4 1.5 1.4l.6 5.1c.1.3.2.4.5.4h10.2c.2 0 .4-.1.5-.4l.6-5.1c.8 0 1.5-.6 1.5-1.4s-.7-1.5-1.5-1.5z" + } + }, + opportunity_contact_role: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.6 11.4c-2 0-3.6 1.6-3.6 3.6 0 1.9 1.6 3.6 3.6 3.6s3.6-1.6 3.6-3.6-1.7-3.6-3.6-3.6zm1.7 3.1l-.6.7c-.1.1-.1.1-.1.2l.1 1c.1.3-.2.1-.2.1l-.8-.4c-.1-.1-.2 0-.2 0l-.9.4c-.2.1-.2 0-.2-.1l.2-.9c0-.2-.1-.3-.1-.3l-.6-.6-.1-.1s-.1-.1.2-.2l.8-.1c.1 0 .2-.1.2-.1l.5-1s.1-.1.2.1l.5.9s0 .1.1.1h.1l.9.1s.2.1 0 .2zm-5.6 4c.3 0 .4-.3.3-.5-.8-.8-1.2-1.9-1.2-3.1 0-.8.2-1.7.7-2.4.5-.9 1.1-1.2 1.5-1.9.8-1.1.9-2.7.4-3.9-.5-1.2-1.6-1.9-2.9-1.9s-2.4.8-2.8 2c-.5 1.4-.3 3 .8 4 .5.4.8 1.1.6 1.7 0 .1-.2.3-.5.5-1.4.6-2.8 1.3-3.4 2.3-.1.2-.4.7-.4 1.3v.6c0 .1 0 .1.1.2 0 .4.3.7.6.9.2.1.5.2 1.2.2h5z" + } + }, + opportunity_splits: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M16.6 6.5c-1.2-1.1-2.8-1.7-4.6-1.7C8 4.8 4.8 8 4.8 12c0 1.8.6 3.4 1.7 4.6L16.6 6.5zM8.2 18.1c1.1.7 2.4 1.1 3.8 1.1 4 0 7.2-3.2 7.2-7.2 0-1.4-.4-2.7-1.1-3.8l-9.9 9.9z" + } + }, + order_item: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.1 12.5l6.4 3c.3.1.7.1 1 0l6.4-3c.4-.2.4-.7 0-.9l-6.4-3.1c-.3-.1-.7-.1-1 0l-6.4 3.1c-.4.2-.4.7 0 .9z" + } + }, + orders: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.9 14.9l-.9-.4c-.1-.1-.2-.1-.4 0l-5.1 2.4c-.3.2-.7.2-1 0l-5.1-2.4c-.2-.1-.3-.1-.4 0l-.9.4c-.4.2-.4.7 0 .9l6.4 3c.3.2.7.2 1 0l6.4-3c.4-.2.4-.7 0-.9zm0-3.4l-.9-.4h-.4l-5.1 2.5c-.3.1-.7.1-1 0l-5.1-2.5H6l-.9.4c-.4.2-.4.7 0 .9l6.4 3.1c.3.1.7.1 1 0l6.4-3c.4-.2.4-.8 0-1zM5.1 9.1l6.4 3c.3.2.7.2 1 0l6.4-3c.4-.2.4-.7 0-.9l-6.4-3.1c-.3-.1-.7-.1-1 0L5.1 8.2c-.4.2-.4.7 0 .9z" + } + }, + outcome: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15 7.7v-.1c-.2-.2-.5-.1-.6.1l-.7.6c-.2.2-.2.5 0 .6l1.7 1.7c.1 0 .1.1.1.2 0 .2-.1.3-.3.3H8.8c-.2 0-.4.2-.4.4v1c0 .2.2.4.4.4h6.4c.1 0 .1.1.2.1.1.1.2.3 0 .4l-1.6 1.7h-.1c-.1.2-.1.5.1.6l.6.7c.2.2.5.2.6 0l4.1-4.1c.1-.2.1-.4 0-.6l-4.1-4zm-4.5 1.6h.9c.2 0 .4-.2.4-.4V6c0-.7-.5-1.2-1.2-1.2H6c-.7 0-1.2.5-1.2 1.2v12c0 .7.5 1.2 1.2 1.2h4.6c.7 0 1.2-.5 1.2-1.2v-2.8c0-.3-.2-.5-.4-.5h-.9c-.3 0-.5.2-.5.5v1.7c0 .3-.2.5-.4.5H7.1c-.3 0-.5-.2-.5-.5V7.1c0-.3.2-.5.5-.5h2.5c.2 0 .4.2.4.5v1.8c0 .2.2.4.5.4z" + } + }, + output: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5 12.9h10c.2 0 .3.3.2.5l-2.9 2.9c-.2.2-.2.5 0 .6l.7.7c.2.2.4.2.6 0l5.2-5.3c.2-.2.2-.4 0-.6l-5.2-5.3c-.2-.2-.5-.2-.7 0l-.6.6c-.2.2-.2.5 0 .7l2.9 2.8c.2.3.1.6-.2.6H5c-.2 0-.4.2-.4.4v.9c0 .3.2.5.4.5z" + } + }, + partner_fund_allocation: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.4 15.7l-1.9 2.1c-.1.1-.2 0-.2-.1v-.9c0-.1-.1-.3-.2-.3h-.4c-.1 0-.2.2-.2.3V19c0 .2.1.2.2.2H7c.1 0 .2 0 .2-.2v-.3c0-.1-.1-.2-.2-.2H6c-.1 0-.1-.1 0-.2l2.4-2.6h-1zm10.1 2.6c.1.1.1.2-.1.2h-.9c-.1 0-.2.1-.2.2v.3c0 .1.1.2.2.2h2.3c.1 0 .1 0 .1-.1v-2.3c0-.1 0-.2-.1-.2h-.4c-.1 0-.2.1-.2.2v.9c0 .1-.1.2-.2.1l-1.1-1c-.3.1-.6.1-.8.2l1.4 1.3zm-1-8.6C12.9 10.8 10 7.4 6 9c-.3.1-.5.4-.5.8v4.1c0 .6.5.9 1 .8 4-1.2 6.8 2.2 10.6.7.3-.2.5-.4.5-.8v-4.1c0-.5-.6-.9-1.1-.8zm-4.8 3.9c-.9 0-1.6-.7-1.6-1.6s.7-1.5 1.6-1.5 1.5.7 1.5 1.5-.7 1.6-1.5 1.6zm-.1-7.2c0-.1-.1-.2-.2-.1l-.6.7c-.1.1-.3 0-.3 0l-.3-.3v-.2l1.7-1.7h.2l1.6 1.7c.1 0 .1.1.1.2l-.3.3h-.3l-.6-.7c-.1-.1-.2 0-.2.1v1.7l-.8-.2V6.4z" + } + }, + partner_fund_claim: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.6 8.2h2.2c.2 0 .3-.2.3-.4v-.2l-2.9-2.7c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.2c0 .5.4.9.9.9zm-4.3 7.4c0-.8.4-1.6 1.2-1.9.6-.2 1.3-.4 1.9-.4 1 0 1.8.3 2.6.5.4.1.7.3 1.1.3l.1-4.3c0-.2-.2-.4-.5-.4h-3c-.7 0-1.2-.6-1.2-1.2v-3c0-.2-.2-.4-.5-.4H6.8c-.7 0-1.3.6-1.3 1.2v10.1c0 .7.6 1.3 1.3 1.3h2.5v-1.8zm8.1 0c-2.2.6-3.9-1.4-6.3-.4-.2 0-.3.2-.3.4v2.5c0 .3.3.5.6.4 2.4-.7 4.1 1.4 6.3.4.2 0 .3-.2.3-.4V16c0-.3-.3-.5-.6-.4zm-2.9 2.3c-.5 0-1-.4-1-.9s.4-1 1-1 .9.4.9 1-.4.9-.9.9z" + } + }, + partner_fund_request: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.5 14c.9-.5 1.7-.8 2.7-.8.2 0 .5.1.7.1.1 0 .2 0 0-.1-.4-.3-.9-.5-1.4-.7-1.1-.5-1.2-.8-1.2-1.3 0-.4.3-.8.6-1.1.6-.5.9-1.3.9-2.2 0-1.6-1-3.1-2.8-3.1S7.1 6.3 7.1 7.9c0 .9.3 1.7.9 2.2.4.3.7.7.7 1.1 0 .4-.2.8-1.2 1.3-1.5.6-2.9 1.3-2.9 2.7 0 .9.6 1.7 1.5 1.7h3.4c.2 0 .5-.2.5-.5v-1.6c0-.3.2-.6.5-.8zm7.8 1.4c-2.2.7-4-1.4-6.5-.4-.2.1-.3.2-.3.5V18c0 .4.3.6.6.5 2.4-.8 4.2 1.4 6.5.4.2-.1.4-.2.4-.4v-2.6c0-.3-.4-.6-.7-.5zm-3 2.4c-.5 0-1-.4-1-.9s.5-1 1-1 .9.4.9 1-.4.9-.9.9z" + } + }, + partner_marketing_budget: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.7 9.1c-4.4 1.3-7.8-2.8-12.6-.9-.3.2-.5.5-.5.9v5c0 .6.5 1.1 1.1.9 4.7-1.5 8.2 2.7 12.6.8.4-.1.6-.4.6-.9V10c.1-.6-.6-1.1-1.2-.9zm-5.8 4.6c-1 0-1.8-.8-1.8-1.8s.8-1.9 1.8-1.9 1.9.9 1.9 1.9-.9 1.8-1.9 1.8z" + } + }, + partners: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.5 7.6H17c-.3 0-.6-.1-.8-.4L15 6.3c-.2-.2-.5-.4-.8-.4h-2.8c-.4 0-.7.2-1 .4L8.9 7.6c-.1.1-.1.2 0 .4l.4.4c.3.2.8.3 1.1.1l1.3-.8c.2-.1.4-.1.5.1l4.2 4c.1.1.2.2.2.4v1c0 .3.2.6.4.6h1.5c.2 0 .5-.2.5-.5V8.1c0-.3-.3-.5-.5-.5zm-4.1 4.3l-2.6-2.5-.7.4c-.4.3-.8.4-1.2.4-.5 0-1-.2-1.4-.6l-1-.7c-.2-.2-.3-.4-.3-.6-.1-.3-.3-.5-.5-.5H5c-.2 0-.4.2-.4.5v4.3c0 .3.2.5.4.5h1c.1 0 .2-.2.3-.4.3-.4.9-.7 1.4-.8.6 0 1.2.2 1.6.6l3 2.7c.3.3.5.5.6.9.1.1.3.2.4.1l1.1-1.2c.6-.6 1-1.9.5-2.5l-.5-.6zm-6 1.8c-.3-.3-.8-.2-1 .1-.3.3-.2.8.1 1.1l3 2.7c.1.2.3.2.5.2s.4-.1.5-.3c.2-.3.2-.8-.1-1.1l-3-2.7zm10.5 4.4" + } + }, + password: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 19.2H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4v11.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.3.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.2 0-.5.2-.5.5zm9.2 4.2l-.3-1c0-.2-.3-.3-.6-.3l-2.1.7V8.7c0-.2-.2-.4-.4-.4h-1c-.3 0-.5.2-.5.4v2.1l-2-.7c-.3 0-.6.1-.6.3l-.3 1c-.1.2.1.5.3.6l1.9.6-1.4 1.8c-.1.3-.1.6.1.7l.8.6c.3.1.6.1.7-.1l1.5-2.1 1.5 2.1c.2.2.5.2.7.1l.8-.6c.2-.1.3-.4.1-.7l-1.3-1.8 1.8-.6c.2-.1.4-.4.3-.6z" + } + }, + past_chat: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M11.9 5.3c-4 0-7.2 2.9-7.2 6.5 0 1.2.3 2.3.8 3.2.1.2.2.4.1.5l-.9 2.6c-.1.2.1.5.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 3.9 0 7.1-2.9 7.1-6.6 0-3.7-3.2-6.6-7.2-6.6zm2.8 9.7l-.3.3c-.2.2-.4.2-.6.2s-.3 0-.5-.2L11 13c-.1-.1-.2-.4-.2-.7V9c0-.4.3-.7.7-.7h.5c.4 0 .7.3.7.7v3l2 2c.1.1.2.3.2.5s-.1.3-.2.5z" + } + }, + people: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 17.1v.7c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4v-.7c0-1.8 2-2.8 4-3.7 0 0 .1 0 .2-.1.1 0 .3 0 .4.1.8.5 1.7.8 2.6.8.9 0 1.8-.3 2.6-.8.1-.1.3-.1.4 0 .1 0 .2 0 .2.1 2 .8 4 1.8 4 3.6z" + }, + "ellipse": { + "cx": "12", + "cy": "8.76", + "rx": "3.576", + "ry": "3.96" + } + }, + performance: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.2 4.8h-.5c-.8 0-1.4.7-1.4 1.4v11.6c0 .7.6 1.4 1.4 1.4h.5c.3 0 .5-.2.5-.5V5.3c0-.3-.2-.5-.5-.5zm10.1 0H9.6c-.3 0-.5.2-.5.5v13.4c0 .3.2.5.5.5h7.7c.8 0 1.4-.6 1.4-1.4V6.2c0-.8-.6-1.4-1.4-1.4zm-.5 6.4l-1.3 1.3v.1l.2 1.8c.1.2-.1.3-.2.2l-1.5-.8c-.1-.1-.1-.1-.2 0l-1.5.8c-.2.1-.3 0-.3-.2l.3-1.8v-.1L11 11.2c-.1-.1 0-.2.1-.2l1.7-.3c.1 0 .1 0 .2-.1l.7-1.6c.1-.2.2-.2.3 0l.8 1.6c0 .1 0 .1.1.1l1.7.3c.2 0 .2.1.2.2z" + } + }, + person_account: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M16.7 14.2c-.9-.4-1-.7-1-1.1 0-.4.2-.7.5-1 .5-.4.8-1.1.8-1.8 0-1.4-.9-2.6-2.5-2.6s-2.4 1.2-2.4 2.6c0 .7.3 1.4.8 1.8.3.3.5.6.5 1s-.1.7-1 1.1c-1.3.5-2.5 1.2-2.5 2.3 0 .8.6 1.5 1.3 1.5h6.7c.7 0 1.3-.7 1.3-1.5 0-1.1-1.2-1.8-2.5-2.3zm-5.8 1.1" + }, { + "d": "M11.2 12.3c-.1-.1-.6-.7-.5-2.3 0-1.6.7-2 .7-2V6.5c0-.3-.3-.5-.5-.5H5.3s-.5.2-.5.5v10.4H8c.1-2.6 3.2-3.7 3.2-3.7.4-.2.1-.7 0-.9zm-3.8 3.3c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.3 0 .5.2.5.4v.5zm0-2.4c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.4zm0-2.3c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.4c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V8c0-.2.2-.5.5-.5h.5c.3 0 .5.3.5.5v.5zm2.7 4.7c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.4zm0-2.3c0 .2-.3.5-.5.5h-.5c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5zm0-2.4c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V8c0-.2.2-.5.5-.5h.5c.2 0 .5.3.5.5v.5z" + }] + }, + photo: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.6 7.4h6.8c.2 0 .3-.2.2-.3l-.8-1.2c-.3-.5-.8-.8-1.3-.8h-3c-.5 0-1 .3-1.3.8l-.8 1.2c-.1.1 0 .3.2.3zm3.4 4.4c-1.1 0-1.9.8-1.9 1.9s.8 1.9 1.9 1.9 1.9-.9 1.9-1.9-.8-1.9-1.9-1.9zm5.8-2.9H6.2c-.8 0-1.4.6-1.4 1.4V17c0 .8.6 1.5 1.4 1.5h11.6c.8 0 1.4-.7 1.4-1.5v-6.7c0-.8-.6-1.4-1.4-1.4zM12 17c-1.8 0-3.4-1.5-3.4-3.3s1.6-3.4 3.4-3.4 3.4 1.5 3.4 3.4S13.8 17 12 17z" + } + }, + picklist_choice: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.2 14.3h-.9c-.3 0-.5.2-.5.5v1c0 .2.2.4.5.4h1c.2 0 .4-.2.4-.4v-1c0-.3-.2-.5-.5-.5zm2.9-6.6h9.6c.3 0 .5-.2.5-.5v-1c0-.2-.2-.4-.5-.4H9.1c-.2 0-.5.2-.5.4v1c0 .3.3.5.5.5zm0 4.3h9.6c.3 0 .5-.2.5-.5v-1c0-.2-.2-.4-.5-.4H9.1c-.2 0-.5.2-.5.4v1c0 .3.3.5.5.5zM6.2 5.7h-.9c-.3 0-.5.3-.5.5v1c0 .2.2.5.5.5h1c.2-.1.4-.3.4-.5v-1c0-.2-.2-.5-.5-.5zm0 4.3h-.9c-.3 0-.5.2-.5.5v1c0 .2.2.5.5.5h1c.2-.1.4-.3.4-.5v-1c0-.3-.2-.5-.5-.5zm4.3 6.2c0-.6.2-1.1.5-1.6v-.3H9.1c-.2 0-.5.2-.5.5v1c0 .2.3.4.5.4h1.4zm4.3-2.6c.2-.2.6-.4 1-.4.5 0 .9.3 1.1.7.2-.1.5-.1.7-.1.9 0 1.6.7 1.6 1.6 0 .8-.7 1.6-1.6 1.6-.1 0-.2 0-.3-.1-.2.4-.6.6-1 .6-.2 0-.4 0-.6-.1-.2.5-.7.8-1.2.8-.6 0-1.1-.3-1.3-.8H13c-.7 0-1.3-.6-1.3-1.2 0-.5.2-.9.6-1.1-.1-.2-.1-.4-.1-.6 0-.8.7-1.4 1.5-1.4.4 0 .8.2 1.1.5z" + } + }, + picklist_type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.7 8.6H9.1c-.2 0-.5-.2-.5-.4v-1c0-.3.3-.5.5-.5h9.6c.3 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm0 4.4H9.1c-.2 0-.5-.3-.5-.5v-1c0-.2.3-.5.5-.5h9.6c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5zM6.2 13h-.9c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5h.9c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5zm0-4.4h-.9c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm0 8.7h-.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v1c0 .3-.2.5-.5.5zm12.5 0H9.1c-.2 0-.5-.2-.5-.5v-1c0-.2.3-.4.5-.4h9.6c.3 0 .5.2.5.4v1c0 .3-.2.5-.5.5z" + } + }, + planogram: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M18.6 17.2h-.8v-4.3c0-.3-.2-.4-.4-.4h-4.5c-.2 0-.4.1-.4.4v4.2h-1.2v-4.2c0-.3-.2-.4-.4-.4H6.4c-.2 0-.4.1-.4.4v4.2h-.8c-.3 0-.5.3-.5.5v1c0 .2.2.5.5.5h13.4c.2 0 .4-.3.4-.5v-1c.1-.2-.2-.4-.4-.4zm-5-3.6h3.1v1h-3.1v-1zm-6.5 0h3.1v1H7.1v-1zm11.5-4.2h-.8V5.1c0-.3-.2-.4-.4-.4h-4.5c-.2 0-.4.1-.4.4v4.3h-1.2V5.1c0-.3-.2-.4-.4-.4H6.4c-.2 0-.4.1-.4.4v4.3h-.8c-.3 0-.5.2-.5.4v1c0 .3.2.5.5.5h13.4c.2 0 .4-.2.4-.5v-1c.1-.2-.2-.4-.4-.4zm-5-3.6h3.1v1h-3.1v-1zm-6.5 0h3.1v1H7.1v-1z" + } + }, + poll: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.2 4.8H5.8c-.6 0-1 .4-1 1v1.9c0 .5.4.9 1 .9h12.4c.6 0 1-.4 1-.9V5.8c0-.6-.4-1-1-1zm-6 2.9V5.8h6v1.9h-6zm6 2.4H5.8c-.6 0-1 .4-1 .9v2c0 .5.4.9 1 .9h12.4c.6 0 1-.4 1-.9v-2c0-.5-.4-.9-1-.9zM10.1 13v-2h8.1v2h-8.1zm8.1 2.4H5.8c-.6 0-1 .4-1 .9v1.9c0 .6.4 1 1 1h12.4c.6 0 1-.4 1-1v-1.9c0-.5-.4-.9-1-.9zm-3.8 2.8v-1.9h3.8v1.9h-3.8z" + } + }, + portal: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.3 5.3H6.7c-.8 0-1.4.6-1.4 1.4v10.6c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V6.7c0-.8-.6-1.4-1.4-1.4zM14.2 15c0 .3-.2.6-.5.6h-3.4c-.3 0-.5-.3-.4-.6l.7-2.6c-.7-.5-1.1-1.5-1-2.5.2-1 1-1.7 1.9-1.9 1.6-.3 2.9.9 2.9 2.4 0 .8-.4 1.5-1 2l.8 2.6z" + } + }, + portal_roles: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm-6.3 1.8c0-.2.2-.4.4-.4h5.6c.2 0 .3.2.3.4v.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.3-.2-.3-.4v-.7zm-1.9-.4c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.3-.8.8-.8zM7 6.2c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.4-.8.8-.8zm10.8 11.2c0 .2-.2.4-.4.4H6.6c-.2 0-.4-.2-.4-.4V9.5c0-.2.2-.4.4-.4h10.8c.2 0 .4.2.4.4v7.9zm-1.5-4.8c0 .2-.2.4-.5.4H14c-.2 0-.5-.2-.5-.4v-.8c0-.2.3-.4.5-.4h1.8c.3 0 .5.2.5.4v.8zm0 2.6c0 .3-.2.5-.5.5H14c-.2 0-.5-.2-.5-.5v-.7c0-.3.3-.5.5-.5h1.8c.3 0 .5.2.5.5v.7zm-4.5-3.8H8.1c-.2 0-.4.1-.4.3v3.6c0 .2.1.4.3.4h3.7c.2 0 .4-.2.4-.4v-3.6c0-.2-.1-.3-.3-.3zm-1 3.5H9c-.2 0-.4-.2-.4-.4 0-.3.4-.5.7-.7.3-.1.3-.2.3-.3s-.1-.2-.2-.3c-.1-.1-.2-.3-.2-.5 0-.4.3-.7.7-.7.4 0 .7.3.7.7 0 .2-.1.4-.3.5 0 .1-.1.2-.1.3s0 .2.3.3c.3.1.6.4.6.7.1.2-.1.4-.3.4z" + } + }, + portal_roles_and_subordinates: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.3 11.8c0 .2-.2.5-.5.5h-4.4c-.3 0-.5-.3-.5-.5v-.7c0-.3.2-.5.5-.5h4.4c.3 0 .5.2.5.5v.7zm-6.8 0c0 .2-.3.5-.5.5h-.8c-.3 0-.5-.3-.5-.5v-.7c0-.3.2-.5.5-.5H9c.2 0 .5.2.5.5v.7zm8.2-7H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm-6.3 1.8c0-.2.2-.4.4-.4h5.6c.2 0 .3.2.3.4v.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.3-.2-.3-.4v-.7zm-1.9-.4c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.3-.8.8-.8zM7 6.2c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.4-.8.8-.8zm10.8 11.2c0 .2-.2.4-.4.4h-1.1v-3.6c0-.3-.2-.5-.5-.5H8.2c-.3 0-.5.2-.5.5v3.6H6.6c-.2 0-.4-.2-.4-.4V9.5c0-.2.2-.4.4-.4h10.8c.2 0 .4.2.4.4v7.9z" + } + }, + post: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.8 5.2c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3.1.4l-.7 2.1c-.1.4.2.8.6.6l2.1-.7c.2-.1.3 0 .4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7s-3.2-6.7-7.2-6.7z" + } + }, + pricebook: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.2 4.8h-9c-.8 0-1.5.7-1.5 1.4v.5h-.5c-.5 0-.9.5-.9 1s.4.9.9.9h.5V11h-.5c-.5 0-.9.5-.9 1s.4 1 .9 1h.5v2.4h-.5c-.5 0-.9.4-.9.9s.4 1 .9 1h.5v.4c0 .7.7 1.5 1.5 1.5h9c.8 0 1.5-.8 1.5-1.6V6.1c0-.8-.7-1.3-1.5-1.3zm-6.9 9.8c0 .2-.1.3-.2.3h-1c-.1 0-.2-.1-.2-.3V9.4c0-.2.1-.3.2-.3h1c.1 0 .2.1.2.3v5.2zm1.9 0c0 .2-.1.3-.2.3h-.5c-.1 0-.2-.1-.2-.3V9.4c0-.2.1-.3.2-.3h.5c.1 0 .2.1.2.3v5.2zm2.4 0c0 .2-.1.3-.2.3h-1c-.1 0-.2-.1-.2-.3V9.4c0-.2.1-.3.2-.3h1c.1 0 .2.1.2.3v5.2zm2 0c0 .2-.1.3-.3.3h-.5c-.1 0-.2-.1-.2-.3V9.4c0-.2.1-.3.2-.3h.5c.2 0 .3.1.3.3v5.2z" + } + }, + process: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9 11.1l2.6-3.2c.2-.2.6-.2.8 0l2.6 3.2c0 .1.2.2.3.2h2.9c.3 0 .5-.2.5-.5V6.7c0-.8-.6-1.4-1.4-1.4H6.7c-.8 0-1.4.6-1.4 1.4v4.1c0 .3.2.5.5.5h2.8c.2 0 .3-.1.4-.2zm6 1.8l-2.6 3.2c-.2.2-.6.2-.8 0L9 12.9c-.1-.1-.2-.2-.4-.2H5.8c-.3 0-.5.2-.5.5v4.1c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-4.1c0-.3-.2-.5-.5-.5h-2.9c-.1 0-.3.1-.3.2z" + } + }, + product: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.3 15.8h1.2c.2 0 .5-.2.5-.4V7.9c0-.2-.3-.5-.5-.5H5.3c-.3 0-.5.3-.5.5v7.5c0 .2.2.4.5.4zm13.4-8.4h-1.2c-.2 0-.5.3-.5.5v7.5c0 .2.3.4.5.4h1.2c.3 0 .5-.2.5-.4V7.9c0-.2-.2-.5-.5-.5zm-6 8.4c.3 0 .5-.2.5-.4V7.9c0-.2-.2-.5-.5-.5h-1.4c-.3 0-.5.3-.5.5v7.5c0 .2.2.4.5.4h1.4zm2.9 0c.3 0 .5-.2.5-.4V7.9c0-.2-.2-.5-.5-.5h-.5c-.2 0-.5.3-.5.5v7.5c0 .2.3.4.5.4h.5zm-6.2 0c.2 0 .4-.2.4-.4V7.9c0-.2-.2-.5-.4-.5h-.5c-.3 0-.5.3-.5.5v7.5c0 .2.2.4.5.4h.5zm9.3 1.5H5.3c-.3 0-.5.2-.5.5v.4c0 .3.2.5.5.5h13.4c.3 0 .5-.2.5-.5v-.4c0-.3-.2-.5-.5-.5zm0-12.5H5.3c-.3 0-.5.2-.5.5v.5c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4v-.5c0-.3-.2-.5-.5-.5z" + } + }, + product_consumed: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.5 13.2h-.9a.5.5 0 0 0-.4.5v3a.5.5 0 0 1-.5.4H6.8a.5.5 0 0 1-.4-.4v-3a.5.5 0 0 0-.5-.5H5a.5.5 0 0 0-.4.5v4a1.2 1.2 0 0 0 1.2 1.2h12a1.2 1.2 0 0 0 1.2-1.2v-4a.5.5 0 0 0-.5-.5zm-7 2a.4.4 0 0 0 .6 0l4-4a.4.4 0 0 0 0-.7l-.6-.6a.4.4 0 0 0-.6 0l-1.7 1.7a.3.3 0 0 1-.5-.2V5a.5.5 0 0 0-.5-.5h-.9a.5.5 0 0 0-.4.5v6.4a.3.3 0 0 1-.5.2L8.7 9.9a.4.4 0 0 0-.7 0l-.6.6a.4.4 0 0 0 0 .7z" + } + }, + product_item: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "4.56", + "y": "4.541", + "width": "14.4", + "height": "3.84", + "rx": ".96", + "ry": ".96" + }, { + "x": "4.56", + "y": "9.821", + "width": "6.48", + "height": "3.84", + "rx": ".96", + "ry": ".96" + }, { + "x": "4.56", + "y": "15.101", + "width": "6.48", + "height": "3.84", + "rx": ".96", + "ry": ".96" + }, { + "x": "12.48", + "y": "9.821", + "width": "6.48", + "height": "3.84", + "rx": ".96", + "ry": ".96" + }, { + "x": "12.48", + "y": "15.101", + "width": "6.48", + "height": "3.84", + "rx": ".96", + "ry": ".96" + }] + }, + product_item_transaction: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "4.56", + "y": "4.541", + "width": "14.4", + "height": "3.84", + "rx": ".96", + "ry": ".96" + }, { + "x": "4.56", + "y": "9.821", + "width": "6.48", + "height": "3.84", + "rx": ".96", + "ry": ".96" + }, { + "x": "4.56", + "y": "15.101", + "width": "6.48", + "height": "3.84", + "rx": ".96", + "ry": ".96" + }], + "path": { + "d": "M15.6 17.4a.3.3 0 0 0 .5 0l2.8-2.7a.3.3 0 0 0 0-.5l-2.8-2.8a.3.3 0 0 0-.5 0l-.5.5a.3.3 0 0 0 0 .5l.8.9a.2.2 0 0 1-.1.4h-2.9a.4.4 0 0 0-.4.3v.8a.4.4 0 0 0 .4.3h2.9a.2.2 0 0 1 .1.4l-.8.9a.3.3 0 0 0 0 .5z" + } + }, + product_request: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M18.6 18.7H9.7c-.3 0-.5-.2-.5-.5v-1.1c0-.3.2-.6.5-.6h8.9c.3 0 .5.3.5.6v1.1c.1.3-.2.5-.5.5zm-12.2 0H5.3c-.3 0-.6-.2-.6-.5v-1.1c0-.3.3-.6.6-.6h1.1c.3 0 .5.3.5.6v1.1c.1.3-.2.5-.5.5zm6.5-4.9c-.3 0-.5-.2-.5-.5v-1.1c0-.3.2-.6.5-.6h5.7c.3 0 .5.3.5.5v1.2c0 .3-.2.5-.5.5h-5.7zM15 8.9c-.3 0-.5-.2-.5-.5V7.2c0-.2.2-.5.5-.5h3.6c.3 0 .5.2.5.5v1.2c0 .2-.2.5-.5.5H15zM5 14c-.3-2.6 1.7-5.3 4.1-5.7l.7-.2c.1 0 .2-.1.2-.3l-.1-.1-1.6-1.1c-.2-.1-.2-.3-.1-.5l.4-.6c.1-.1.3-.2.5-.1L13 8c.1.1.2.4.1.5l-2.7 3.9c-.1.2-.3.2-.5.1l-.6-.4c-.2-.1-.2-.3-.1-.5l1.1-1.6c0-.1 0-.3-.1-.3 0-.1-.1-.1-.2-.1l-.4.1c-1.8.4-3.4 2.5-3.2 4.3 0 .2-.3.4-.5.4h-.5c-.2.1-.4-.2-.4-.4z" + } + }, + product_request_line_item: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M18.7 18.6H9.8c-.3 0-.6-.3-.6-.6v-1.1c0-.3.3-.5.6-.5h8.8c.3 0 .6.2.6.5V18c0 .3-.2.6-.5.6zm-12.2 0H5.4c-.3 0-.6-.3-.6-.6v-1.1c0-.3.2-.5.5-.5h1.2c.2 0 .5.2.5.5V18c0 .3-.2.6-.5.6zm-.6-7c1.6-2.8 5.5-4 8-2.8l.7.3c.3.1.5-.1.4-.4l-.6-2.2c-.1-.3 0-.5.2-.6l.9-.3c.1-.1.4 0 .5.2v.1l1.6 5.4c.1.2 0 .5-.3.6l-5.3 2c-.1.1-.4 0-.5-.1v-.1l-.2-.9c-.1-.2 0-.5.2-.5l2.2-.9c.2 0 .2-.2.2-.4 0-.1-.1-.1-.1-.2l-.5-.1c-1.9-1-5 0-6.2 2-.1.2-.5.2-.8.1l-.4-.4c-.2-.1-.2-.5 0-.8z" + } + }, + product_required: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "rect": [{ + "x": "10.543", + "y": "16.385", + "width": "8.657", + "height": "1.918", + "rx": ".48", + "ry": ".48" + }, { + "x": "10.543", + "y": "12.101", + "width": "8.657", + "height": "1.918", + "rx": ".48", + "ry": ".48" + }, { + "x": "11.981", + "y": "7.817", + "width": "7.219", + "height": "1.918", + "rx": ".48", + "ry": ".48" + }], + "path": [{ + "d": "M8.1 18.3h-.9a.5.5 0 0 1-.5-.5v-.9a.5.5 0 0 1 .5-.5h.9a.5.5 0 0 1 .5.5v.9a.5.5 0 0 1-.5.5zm0-4.3h-.9a.5.5 0 0 1-.5-.5v-.9a.5.5 0 0 1 .5-.5h.9a.5.5 0 0 1 .5.5v.9a.5.5 0 0 1-.5.5z", + "fill-rule": "evenodd" + }, { + "d": "M11.4 6.3l-.5-.5a.3.3 0 0 0-.5 0L7.2 9 5.9 7.7a.3.3 0 0 0-.5 0l-.5.5a.3.3 0 0 0 0 .5l1.8 1.8a.7.7 0 0 0 1 0l3.7-3.7a.4.4 0 0 0 0-.5z", + "fill-rule": "evenodd" + }] + }, + product_transfer: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.1 4.9h-.8a.4.4 0 0 0-.4.5v1.9c0 .3-.3.5-.5.3a6.2 6.2 0 0 0-5.3-2.1 5.5 5.5 0 0 0-2.1.6 5.5 5.5 0 0 0-1 .6.5.5 0 0 0 0 .7l.6.6a.4.4 0 0 0 .5 0 6.9 6.9 0 0 1 1.1-.6c.2 0 .4-.1.6-.1a4.7 4.7 0 0 1 4.5 1.5c.3.4 0 .7-.2.7h-2a.5.5 0 0 0-.5.4v.8a.5.5 0 0 0 .5.5h5.1a.4.4 0 0 0 .4-.4V5.4a.4.4 0 0 0-.5-.5zM15.6 15a.4.4 0 0 0-.6 0 4.5 4.5 0 0 1-1.7 1c-.2.1-.3.1-.5.2a4.7 4.7 0 0 1-4.5-1.5c-.3-.4-.1-.7.2-.7h2a.4.4 0 0 0 .4-.4v-.9a.4.4 0 0 0-.4-.4H5.3a.4.4 0 0 0-.4.4v5.4a.4.4 0 0 0 .5.4h.8a.4.4 0 0 0 .5-.4v-2c0-.2.2-.4.4-.2a6.2 6.2 0 0 0 5.3 2.1 5.5 5.5 0 0 0 2.1-.7 6.2 6.2 0 0 0 1.6-1.1.4.4 0 0 0 0-.6z" + } + }, + proposition: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "g": { + "path": [{ + "d": "M6.2 14.5H5.1c-.2 0-.3.2-.3.4v3.8c0 .2.1.3.3.3h.5c.5 0 .9-.4.9-.8v-3.3c0-.2-.1-.4-.3-.4zm13 2.2c-.2-.4-.5-.8-1-.9-.2 0-.4.1-.7.2-.8.3-1.7.6-2.5.9-.6.2-1.2.4-1.8.4H12c-.2 0-.4-.2-.4-.4s.2-.4.4-.4h2.2c.4 0 .7-.3.7-.7s-.3-.8-.7-.8h-1.7c-.1 0-.5 0-.8-.1-.3-.1-.7-.2-.7-.1H8c-.3 0-.6.2-.6.6v2.7c0 .3.2.6.5.6H8c.5 0 1.1.2 1.6.3.6.1 1.1.2 1.7.2.7 0 1.5-.1 2.2-.3.7-.2 1.3-.5 2-.7 1.2-.4 2.3-.8 3.5-1.2.1 0 .2-.2.2-.3z" + }, { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M13.9 9.6v3.6c0 .1.1.2.2.2.7-.4 2.9-1.6 2.9-1.6.3-.2.4-.5.4-.8V7.7c0-.1-.1-.1-.2-.1l-3.1 1.8c-.1 0-.2.1-.2.2m-.3-1l3.2-1.7c.1-.1.1-.2 0-.3-.7-.4-2.9-1.6-2.9-1.6-.3-.2-.6-.2-.9 0l-2.9 1.6c-.1.1-.1.2 0 .3l3.2 1.7c.1.1.2.1.3 0m-.7.8L9.7 7.6c-.1 0-.2 0-.2.2V11c0 .3.2.6.5.8l2.8 1.6c.1 0 .2-.1.2-.2V9.6c0-.1 0-.2-.1-.2" + }] + } + }, + question_best: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "g": { + "path": [{ + "d": "M24 24v-9.1L14.9 24H24zm-.9-3.5l-.8.8v.1l.2 1.1s-.1.1-.2.1l-.9-.5c0-.1 0-.1 0 0l-1 .5c-.1 0-.1-.1-.1-.1l.1-1.1v-.1l-.7-.8c-.1 0 0-.1 0-.1l1.1-.2.5-1c0-.1.1-.1.2 0l.4 1h.1l1 .2c.1 0 .1.1.1.1z", + "fill-opacity": ".65" + }, { + "d": "M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3 0 .4l-.6 2.1c-.2.4.2.7.6.6l2.1-.7c.1-.1.3-.1.4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7S16 5.3 12 5.3zm.7 10.8c0 .2-.2.5-.5.5h-.5c-.2 0-.4-.3-.4-.5v-.5c0-.3.2-.5.4-.5h.5c.3 0 .5.2.5.5v.5zm.2-3.1c-.1.1-.2.2-.2.3v.4c0 .2-.2.5-.5.5h-.4c-.3 0-.5-.3-.5-.5v-.4c0-.7.5-1.4 1.2-1.6.2-.1.5-.3.6-.5.8-1 0-2.3-1.1-2.3-.4 0-.7.1-1 .4-.2.2-.4.4-.4.7-.1.2-.3.3-.5.3h-.5c-.3 0-.5-.2-.5-.5.2-.6.4-1.1.9-1.5.5-.6 1.3-.9 2-.9 1.6.1 2.8 1.3 2.9 2.8 0 1.3-.8 2.4-2 2.8z" + }] + } + }, + question_feed: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3.1.4l-.7 2.1c-.1.4.2.7.6.6l2.1-.7c.2-.1.3-.1.4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7S16 5.3 12 5.3zm.7 10.8c0 .2-.2.5-.5.5h-.4c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.5zm.2-3.1c-.1.1-.2.2-.2.3v.4c0 .2-.2.5-.5.5h-.4c-.3 0-.5-.3-.5-.5v-.4c0-.7.5-1.4 1.2-1.6.2-.1.5-.3.6-.5.8-1 0-2.3-1.1-2.3-.4 0-.7.1-1 .4-.2.2-.4.4-.4.7-.1.2-.3.3-.5.3h-.5c-.3 0-.5-.2-.5-.5.2-.6.4-1.1.9-1.5.5-.6 1.3-.9 2-.9 1.6.1 2.8 1.3 2.9 2.8 0 1.3-.8 2.4-2 2.8z" + } + }, + queue: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M16.2 4.8c-.7 0-1.3.5-1.5 1.2.9.4 1.6 1.3 1.8 2.4.8-.2 1.3-.9 1.3-1.8 0-1-.7-1.8-1.6-1.8zm1.5 4.3c-.3.3-.7.5-1.1.5-.1.7-.3 1.3-.7 1.8h2.7c.3 0 .6-.3.6-.6v-.3c0-.7-.7-1.1-1.5-1.4zM15.2 12c-.5.4-1.1.7-1.8.7 0 .7-.2 1.4-.6 2h3.4c.4 0 .7-.3.7-.7v-.3c0-.8-.9-1.3-1.7-1.7zm-3.1 3.6c-.7.7-1.6 1.1-2.6 1.1s-1.9-.4-2.5-1.1c-1.1.5-2.2 1.2-2.2 2.2v.4c0 .6.4 1 .9 1h7.5c.6 0 1-.5 1-1v-.4c0-1-1-1.6-2.1-2.2z" + }, { + "d": "M13.4 7.1c-.9 0-1.7.6-1.9 1.5.9.6 1.6 1.6 1.8 2.7h.1c1 0 1.9-.9 1.9-2.1 0-1.2-.9-2.1-1.9-2.1z" + }], + "ellipse": { + "cx": "9.504", + "cy": "12.384", + "rx": "2.568", + "ry": "2.832" + } + }, + quick_text: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M11.9 5.2c-4 0-7.2 2.9-7.2 6.5 0 1.2.3 2.3.9 3.2.1.2.1.4 0 .5L4.7 18c-.1.2.1.5.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 3.9 0 7.1-2.9 7.1-6.6 0-3.7-3.2-6.6-7.2-6.6zm-3.4 6.3c0-.1.2-.3.3-.3h4.7c.1 0 .3.2.3.3v.6c0 .1-.1.3-.3.3H8.8c-.1 0-.3-.2-.3-.3v-.6zm6.7 2.8c0 .1-.1.3-.2.3H8.8c-.1 0-.3-.1-.3-.3v-.5c0-.2.1-.3.3-.3H15c.1 0 .2.1.2.3v.5zm0-4.5c0 .2-.1.3-.2.3H8.8c-.1 0-.3-.1-.3-.3v-.5c0-.2.1-.3.3-.3H15c.1 0 .2.1.2.3v.5z" + } + }, + quip: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.5 4.8C8 5 5 8 4.8 11.5c-.2 4.2 3.1 7.7 7.2 7.7h7.2V12c0-4.1-3.5-7.4-7.7-7.2zM8.6 8.9c0-.3.2-.5.5-.5H15c.2 0 .4.2.4.5v.5c0 .2-.2.4-.4.4H9.1c-.3 0-.5-.2-.5-.4v-.5zm6.8 6.2c0 .3-.2.5-.4.5H9.1c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4H15c.2 0 .4.2.4.4v.5zm1.8-2.9c0 .3-.2.5-.4.5H7.2c-.2 0-.4-.2-.4-.5v-.4c0-.3.2-.5.4-.5h9.6c.2 0 .4.2.4.5v.4z" + } + }, + quip_sheet: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.7 9.3H5.3c-.3 0-.5.2-.5.5v7.6c0 .7.5 1.2 1.2 1.2h1.7c.2 0 .4-.2.4-.4V9.8c0-.3-.2-.5-.4-.5zm11 0h-9c-.2 0-.4.2-.4.5v8.4c0 .2.2.4.4.4H18c.7 0 1.2-.5 1.2-1.2V9.7c0-.2-.2-.4-.5-.4zM18 5.4H6c-.7 0-1.2.5-1.2 1.2v1.1c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4V6.6c0-.6-.5-1.2-1.2-1.2z" + } + }, + quotes: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.3 5.3H12c-.3 0-.6.1-.8.4l-6.5 6.4c-.5.6-.5 1.5 0 2.1l5.1 5c.6.6 1.5.6 2.1 0l6.5-6.5c.2-.2.3-.6.3-.9V6.7c0-.8-.6-1.4-1.4-1.4zm-5.2 10.5l-.3.4c-.2.2-.5.2-.7 0l-3.3-3.3c-.2-.2-.2-.5 0-.7l.4-.3c.2-.2.4-.2.6 0l3.3 3.3c.2.2.2.4 0 .6zm1.9-1.9l-.3.4c-.2.1-.5.1-.7 0L9.7 11c-.1-.2-.1-.5 0-.7l.4-.3c.2-.2.5-.2.7 0l3.2 3.2c.2.2.2.5 0 .7zm1.4-4.1c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.6 1.2 1.2-.6 1.2-1.2 1.2z" + } + }, + radio_button: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 12.7c-1.7 0-3.2 1.5-3.2 3.3s1.5 3.2 3.2 3.2 3.3-1.5 3.3-3.2-1.5-3.3-3.3-3.3zm0 5.1c-.9 0-1.8-.9-1.8-1.8s.9-1.8 1.8-1.8 1.8.8 1.8 1.8S9 17.8 8 17.8zm8-5.1c-1.8 0-3.3 1.5-3.3 3.3s1.5 3.2 3.3 3.2 3.2-1.5 3.2-3.2-1.5-3.3-3.2-3.3zM8 4.8C6.3 4.8 4.8 6.2 4.8 8s1.5 3.2 3.2 3.2 3.3-1.4 3.3-3.2S9.8 4.8 8 4.8zm0 5C7.1 9.8 6.2 9 6.2 8S7.1 6.2 8 6.2 9.8 7 9.8 8 9 9.8 8 9.8zm8-5c-1.8 0-3.3 1.4-3.3 3.2s1.5 3.2 3.3 3.2 3.2-1.4 3.2-3.2-1.5-3.2-3.2-3.2z" + } + }, + read_receipts: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M11.7 10.4c.2.2.4.2.6 0l5.5-5.1c.1-.2.1-.5-.3-.5h-11c-.3 0-.5.3-.3.5l5.5 5.1zm6.1-2.9c0-.3-.3-.4-.4-.2l-4.3 4c-.3.2-.7.4-1.1.4-.4 0-.8-.2-1.1-.4l-4.3-4c-.2-.2-.5-.1-.5.2v5.1c0 .6.6 1.2 1.2 1.2h5.8v-1.5c0-.8.6-1.5 1.4-1.5h.2c.8 0 1.5.7 1.5 1.5v1.5h.5c.7 0 1.2-.6 1.2-1.2-.1 0-.1-3.6-.1-5.1z" + }, { + "d": "M17.1 15.3l-1.6-.6c-.2 0-.3-.1-.3-.3v-2.1c0-.3-.2-.6-.6-.6-.3 0-.6.3-.6.6v4.2c0 .4-.5.5-.7.2l-.4-.9c-.2-.3-.7-.4-1-.2l-.3.2L13 19c0 .2.2.2.3.2h3.5c.2 0 .4-.1.4-.2l.6-2.2c.2-.7-.2-1.3-.7-1.5z" + }] + }, + recent: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.7 11.5v.5H5.3v-.5h1.4zm5.7-2.9h-.8c-.2 0-.3.2-.3.4v3.1c0 .1 0 .2.1.3l2 2c.1.2.4.2.5 0l.5-.5c.1-.1.1-.3 0-.5l-1.7-1.7V9c0-.2-.1-.4-.3-.4zM12 5.3c-3.6 0-6.5 2.7-6.7 6.2v.3H4.2c-.3 0-.5.3-.3.5l1.8 2.2c.2.2.4.2.6 0l1.8-2.2c.2-.2 0-.5-.3-.5H6.7v-.3C7 8.8 9.2 6.7 12 6.7c3.1 0 5.6 2.7 5.2 5.9-.2 2.3-2.4 4.4-4.7 4.7-1.7.1-3.3-.5-4.4-1.7-.2-.2-.3-.3-.5 0l-.6.6c-.1.2 0 .3.1.4 1.3 1.4 3.1 2.1 5 2.1 3.4 0 6.3-2.8 6.6-6.2.3-3.9-2.8-7.2-6.7-7.2z" + } + }, + record: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zM9.4 16.3c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.2 0 .5.2.5.4v.5zm0-2.4c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.2 0 .5.2.5.4v.5zm0-2.4c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V11c0-.2.2-.4.5-.4h.5c.2 0 .5.2.5.4v.5zm6.7 4.8c0 .3-.2.5-.5.5h-4.8c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h4.8c.3 0 .5.2.5.4v.5zm0-2.4c0 .3-.2.5-.5.5h-4.8c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h4.8c.3 0 .5.2.5.4v.5zm0-2.4c0 .3-.2.5-.5.5h-4.8c-.3 0-.5-.2-.5-.5V11c0-.2.2-.4.5-.4h4.8c.3 0 .5.2.5.4v.5z" + } + }, + record_create: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-1.8 8.4c0 .2-.1.3-.2.3h-2.7s-.1.1-.1.2v2.6c0 .1-.1.2-.3.2h-.4c-.2 0-.3-.1-.3-.2v-2.6c0-.1-.1-.2-.1-.2H8.7c-.1 0-.2-.1-.2-.3V14c0-.2.1-.3.2-.3h2.7s.1 0 .1-.1v-2.7c0-.1.1-.2.3-.2h.4c.2 0 .3.1.3.2v2.7c0 .1.1.1.1.1h2.7c.1 0 .2.1.2.3v.4z" + } + }, + record_delete: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-2.8 10.9c0 .5-.3.8-.7.8h-3.6c-.4 0-.7-.3-.7-.8v-3.1c0-.1.1-.2.2-.2h4.6c.1 0 .2.1.2.2v3.1zm.6-4.4c0 .1-.1.2-.2.2H9.1c-.1 0-.2-.1-.2-.2V12c0-.1.1-.2.2-.2H11v-.6c0-.3.2-.5.5-.5h.9c.3 0 .6.2.6.5v.6h1.8c.2 0 .2.1.2.2v.5zm-3.7 2.1h-.3c-.1 0-.1.1-.1.2v1.7c0 .1 0 .1.1.1h.3c.1 0 .2 0 .2-.1v-1.7c0-.1-.1-.2-.2-.2zm1.5 0h-.3c-.1 0-.1.1-.1.2v1.7c0 .1 0 .1.1.1h.3c.1 0 .1 0 .1-.1v-1.7c0-.1 0-.2-.1-.2zm-.6-3.4h-.6c-.1 0-.1.1-.1.2v.4h.9v-.4c-.1-.1-.1-.2-.2-.2z" + } + }, + record_lookup: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-1.9 11.4l-.3.3c-.1.1-.2.1-.3 0l-1.9-1.9c-.6.4-1.3.6-2.1.5-1.2-.2-2.2-1.2-2.3-2.5-.2-1.7 1.3-3.2 3-3 1.3.1 2.3 1.1 2.5 2.4.1.7-.1 1.4-.5 2l1.9 1.9c.1.1.1.2 0 .3zm-4.1-5.8c-1.1 0-1.9.9-1.9 1.9 0 1.1.8 1.9 1.9 1.9s1.9-.8 1.9-1.9-.9-1.9-1.9-1.9z" + } + }, + record_update: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-2.9 7.3l-3.8 3.9-1.7.4c-.2.1-.3-.1-.3-.2l.5-1.7 3.9-3.8c0-.1.1-.1.2 0l1.2 1.2v.2zm1.1-1.1l-.5.5h-.2l-1.2-1.3c-.1 0-.1-.1 0-.2l.4-.4c.3-.3.6-.3.9 0l.6.6c.2.2.2.6 0 .8z" + } + }, + recycle_bin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.9 7.2h-3.8V6c0-.6-.5-1.2-1.2-1.2h-1.8c-.6 0-1.2.5-1.2 1.2v1.2H6.1c-.2 0-.4.2-.4.5v.8c0 .3.2.5.4.5h11.7c.3 0 .5-.2.5-.5v-.8c0-.3-.2-.5-.4-.5zm-5 0h-1.8v-.9c0-.2.1-.3.3-.3h1.2c.1 0 .3.1.3.3v.9zm3.8 3H7.3c-.2 0-.4.2-.4.5v7c0 .9.6 1.5 1.5 1.5h7.2c.8 0 1.5-.6 1.5-1.5v-7c0-.3-.2-.5-.4-.5zm-5.5 7.5H9.7c-.1 0-.7 0-1-.6-.4-.7-.1-1.2.3-2l-.4-.3c-.1 0-.1-.1-.1-.1 0-.1.1-.1.1-.1l1.2-.3h.1c.1 0 .1 0 .2.1v.1l.2 1.2v.1h-.1l-.4-.2c-.4.6-.5.9-.4 1 .1.2.3.2.3.2h1.5c.1 0 .3.1.3.2.1.1.1.2.1.2 0 .3-.2.5-.4.5zm1.1-4.4v-.1l.4-.2c-.3-.7-.5-.9-.7-.9-.2 0-.3.1-.3.1l-.8 1.3c-.1.1-.2.2-.4.2 0 0-.1 0-.2-.1-.2-.1-.2-.4-.1-.5l.8-1.3c0-.1.3-.5 1-.5.8 0 1.1.5 1.5 1.3l.5-.2s.1 0 .1.1.1 0 0 .1l-.4 1.2v.1h-.1l-1.3-.5v-.1zm3.1 3.7c-.4.6-1 .6-1.9.6v.5c0 .1-.1.1-.1.1s-.1.1-.1 0l-.9-.9c-.1-.1 0-.2 0-.2l1-.9h.1l.1.1v.5c.8 0 1 0 1.1-.2s0-.4 0-.4l-.7-1.3c-.1-.1-.1-.3 0-.4 0-.1.1-.1.1-.1.2-.2.5-.1.6.1l.8 1.3c0 .1.2.5-.1 1.2z" + } + }, + related_list: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 4.8h-7.7c-.8 0-1.5.6-1.5 1.4v.3c0 .1.1.2.3.2h6.9c.8 0 1.5.7 1.5 1.5v7.4c0 .1.1.2.2.2.9 0 1.7-.7 1.7-1.6v-8c0-.8-.6-1.4-1.4-1.4zM6.7 8.2c-.8 0-1.4.6-1.4 1.4v8.2c0 .8.6 1.4 1.4 1.4h7.7c.8 0 1.4-.6 1.4-1.4V9.6c0-.8-.6-1.4-1.4-1.4H6.7zm1.9 3.3c0 .3-.2.5-.4.5h-.5c-.3 0-.5-.2-.5-.5V11c0-.2.2-.4.5-.4h.5c.2 0 .4.2.4.4v.5zm5.3 0c0 .3-.2.5-.5.5h-3.3c-.3 0-.5-.2-.5-.5V11c0-.2.2-.4.5-.4h3.3c.3 0 .5.2.5.4v.5zm-5.3 2.4c0 .3-.2.5-.4.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.2 0 .4.2.4.4v.5zm5.3 0c0 .3-.2.5-.5.5h-3.3c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h3.3c.3 0 .5.2.5.4v.5zm-5.3 2.4c0 .3-.2.5-.4.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.2 0 .4.2.4.4v.5zm5.3 0c0 .3-.2.5-.5.5h-3.3c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h3.3c.3 0 .5.2.5.4v.5z" + } + }, + relationship: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.1 16.8h-.9V15h.9c.2 0 .3-.1.3-.3V6.9c0-.2-.1-.3-.3-.3H9.3c-.2 0-.3.1-.3.3v.9H7.2v-.9c0-1.2.9-2.1 2.1-2.1h7.8c1.2 0 2.1.9 2.1 2.1v7.8c0 1.2-.9 2.1-2.1 2.1zM13.8 9H6c-.7 0-1.2.5-1.2 1.2V18c0 .7.5 1.2 1.2 1.2h7.8c.7 0 1.2-.5 1.2-1.2v-7.8c0-.7-.5-1.2-1.2-1.2z" + } + }, + report: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-7 9.8c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-2.4c0-.2.2-.4.5-.4h.4c.3 0 .5.2.5.4v2.4zm2.4 0c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-4.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v4.5zm2.4 0c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-3.6c0-.2.2-.4.5-.4h.4c.3 0 .5.2.5.4v3.6z" + } + }, + resource_absence: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm4 9.1l-1.2 1.2-2.9-3-2.8 2.8L8 13.8l2.8-2.8-2.9-2.8L9.1 7l2.8 2.8 2.9-2.9L16 8l-3 3zm-9.8 1.5h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z", + "fill-rule": "evenodd" + } + }, + resource_capacity: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm4.2 6.3h-4.4V6.5s1.7-.1 3.2 1.4 1.2 3.2 1.2 3.2zm-10 4.3h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z", + "fill-rule": "evenodd" + } + }, + resource_preference: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm-2.6 8.6a.7.7 0 0 1-.7.6h-.5a.3.3 0 0 1-.2-.2v-3.5a.3.3 0 0 1 .2-.3h.9a.3.3 0 0 1 .3.3zm6.5-.7c0 1.4-1.2 1.5-2.6 1.5-1.3 0-1.7-.4-2.9-.5a.2.2 0 0 1-.3-.2v-3.1a.3.3 0 0 1 .3-.2 1.6 1.6 0 0 0 1.5-1.6v-.9a.3.3 0 0 1 .3-.3h.5a.7.7 0 0 1 .7.7v1.5a.7.7 0 0 0 .7.6h1.1a.7.7 0 0 1 .7.6zm-9.7 2.7h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z", + "fill-rule": "evenodd" + } + }, + resource_skill: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M10.5 10.9a1.4 1.4 0 1 0 2.9 0 1.4 1.4 0 1 0-2.9 0zM12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm4 8.1l-.3.4a.6.6 0 0 1-.5.3.7.7 0 0 1-.2 0l-.8-.3a3.4 3.4 0 0 1-1.1.6l-.2.9a.6.6 0 0 1-.5.5h-.6a.6.6 0 0 1-.6-.5l-.1-.9a2.9 2.9 0 0 1-1.1-.6l-.8.3a.7.7 0 0 1-.2.1.6.6 0 0 1-.5-.3l-.3-.5a.6.6 0 0 1 .1-.8l.7-.5a3 3 0 0 1-.1-.6 2.8 2.8 0 0 1 .1-.6l-.7-.6a.6.6 0 0 1-.1-.7l.3-.5a.6.6 0 0 1 .5-.3.7.7 0 0 1 .2 0l.8.3a3.3 3.3 0 0 1 1.1-.6l.1-.8a.6.6 0 0 1 .6-.5h.6a.6.6 0 0 1 .5.5l.2.8a3.3 3.3 0 0 1 1 .6l.9-.3a.7.7 0 0 1 .2 0 .6.6 0 0 1 .5.3l.3.4a.6.6 0 0 1-.2.8l-.7.5a2.9 2.9 0 0 1 .1.7 2.8 2.8 0 0 1-.1.6l.7.5a.6.6 0 0 1 .2.8zm-9.8 2.5h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z", + "fill-rule": "evenodd" + } + }, + return_order: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M5.3 5.4h8.8c.3 0 .6.2.6.5V7c0 .3-.3.6-.5.6H5.3c-.3 0-.6-.3-.6-.6V5.9c0-.3.2-.5.6-.5zm12.2 0h1.1c.3 0 .5.2.5.5V7c0 .3-.2.6-.5.6h-1.1c-.3 0-.6-.3-.6-.6V5.9c0-.3.2-.5.5-.5h.1zm-6.6 4.9c.3 0 .6.2.6.5v1.1c0 .3-.2.6-.5.6H5.3c-.3 0-.6-.3-.6-.5v-1.2c0-.3.3-.5.6-.5h5.6zm-2.1 4.9c.3 0 .6.2.6.5v1.1c0 .3-.3.6-.5.6H5.3c-.3 0-.6-.2-.6-.5v-1.2c0-.2.3-.5.6-.5h3.5zm10.1-5.1c.3 2.6-1.8 5.3-4.2 5.7l-.6.2c-.1 0-.2.1-.2.2s0 .2.1.2l1.6 1.1c.2.1.2.3.1.5l-.4.6c-.1.1-.4.2-.5.1l-3.9-2.6c-.2-.1-.2-.4-.1-.5l2.6-3.9c.1-.2.4-.3.5-.1l.6.4c.2.1.3.3.1.5l-1 1.6c-.1.1-.1.3 0 .3.1.1.2.1.2.1l.4-.1c1.9-.4 3.5-2.5 3.3-4.3 0-.2.3-.4.5-.5h.4c.2 0 .5.3.5.5z" + } + }, + return_order_line_item: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M5.3 5.5h8.9c.3 0 .6.3.6.6v1.1c0 .3-.3.6-.6.6H5.4c-.3 0-.6-.3-.6-.6V6.1c0-.3.2-.6.5-.6zm12.2 0h1.1c.3 0 .6.3.6.6v1.1c0 .3-.2.6-.5.6h-1.2c-.2 0-.5-.3-.5-.6V6.1c0-.3.2-.5.5-.6zm.6 7c-1.6 2.8-5.5 4.1-8 2.8l-.7-.3c-.3-.1-.5.1-.4.4l.6 2.2c.1.3 0 .5-.2.6l-.9.3c-.1.1-.4 0-.5-.2l-1.6-5.5c-.1-.2 0-.5.3-.6l5.3-2c.1-.1.4 0 .5.2l.2.9c.1.2 0 .5-.2.6l-2.2.8c-.2.1-.2.2-.2.4 0 .1.1.1.1.2l.5.2c1.9.9 5-.1 6.2-2.1.1-.1.5-.2.8-.1l.4.4c.2.1.2.6 0 .8z" + } + }, + reward: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.2 15.2l-2.8 4-.7-1.9H5.8l2.4-3.4c.5.3 1 .4 1.4.5h.3s.2.1.2.2c.3.2.7.5 1.1.6zm4.6-1.3c-.5.3-1 .4-1.4.5h-.3c-.1 0-.2.1-.3.2-.2.2-.6.5-1 .6l2.8 4 .7-1.9h1.9l-2.4-3.4zM12 7.7c-.9 0-1.7.7-1.7 1.7S11.1 11 12 11s1.7-.7 1.7-1.6-.8-1.7-1.7-1.7zm4.6 1.7c0 .5-.7 1-.9 1.5-.2.5-.1 1.3-.5 1.7-.4.4-1.1.3-1.7.5-.5.2-.9.8-1.5.8s-1-.6-1.5-.8c-.6-.2-1.3-.1-1.7-.5-.4-.4-.3-1.2-.5-1.7s-.9-1-.9-1.5c0-.6.7-1.1.9-1.6.2-.5.1-1.3.5-1.7.4-.3 1.1-.2 1.7-.5.5-.2.9-.8 1.5-.8s1 .6 1.5.8c.6.3 1.3.1 1.7.5.4.4.3 1.2.5 1.7s.9 1 .9 1.6zm-1.5 0c0-1.8-1.4-3.2-3.1-3.2S8.9 7.6 8.9 9.4s1.4 3.1 3.1 3.1 3.1-1.4 3.1-3.1z" + } + }, + rtc_presence: { + "path": { + "d": "M14.8 4.7c-2.7 0-4.9 2.1-4.9 4.7a4.5 4.5 0 0 0 .6 2.2.4.4 0 0 1 .1.3l-.5 1.5a.3.3 0 0 0 .4.4l1.4-.5a.4.4 0 0 1 .3 0 5 5 0 0 0 2.6.7c2.6 0 4.8-2.1 4.8-4.6s-2.2-4.7-4.8-4.7zM11 18.3v.3a.7.7 0 0 1-.7.7H5a.7.7 0 0 1-.6-.7v-.3c0-.8.9-1.3 1.8-1.7a.3.3 0 0 0 .1 0 .2.2 0 0 1 .2 0 2.2 2.2 0 0 0 1.2.3 2.2 2.2 0 0 0 1.2-.3.2.2 0 0 1 .2 0 .3.3 0 0 1 .1 0c.9.4 1.8.9 1.8 1.7z" + }, + "ellipse": { + "cx": "7.682", + "cy": "14.462", + "rx": "1.644", + "ry": "1.819" + } + }, + sales_cadence: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10 16c.2.2.5.2.6 0l3.7-3.6c.2-.2.2-.5.1-.7h-.1L10.6 8c-.1-.2-.4-.2-.6 0l-.7.7c-.2.2-.2.4-.1.6l.1.1 1.1 1.1c.2.1.2.3 0 .5 0 0-.1.1-.2.1H5.3c-.3 0-.5.2-.5.4v1c0 .3.2.5.5.5h5c.1 0 .3.1.3.3 0 .1 0 .2-.1.2l-1.2 1.2c-.2.1-.2.4 0 .6l.7.7zm5.2-2.5l-1.1 1.2c-.2.1-.2.4-.1.6h.1l.7.7c.1.2.4.2.6 0l3.7-3.6c.1-.2.1-.5 0-.7L15.4 8c-.2-.2-.5-.2-.6 0h-.1l-.7.7c-.2.2-.2.4 0 .6v.1l1.2 1.1 1.5 1.5-1.5 1.5z" + } + }, + sales_cadence_target: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.2 6c-1.3 0-2.5.4-3.4 1.1l.8.9c.8-.5 1.7-.8 2.6-.8 2.6 0 4.8 2.2 4.8 4.8s-2.2 4.8-4.8 4.8c-.9 0-1.8-.2-2.6-.7l-.9.8c1 .7 2.2 1.1 3.5 1.1 3.3 0 6-2.7 6-6s-2.7-6-6-6zm0 7.2c.7 0 1.2-.5 1.2-1.2s-.5-1.2-1.2-1.2c-.4 0-.7.2-.9.5L9.6 8.7c-.1-.2-.3-.2-.5-.1v.1l-.6.5c-.1.2-.1.4 0 .6l1 1c.1.1.1.3 0 .4H5.2c-.2 0-.4.2-.4.4v.8c0 .2.2.4.4.4h4.2c.1 0 .2.2.2.3v.2l-1 1c-.2.1-.2.3-.1.5h.1l.5.6c.2.1.4.1.6 0l2.6-2.6c.2.2.5.4.9.4zm0 1.2c-.3 0-.5 0-.8-.1l-.9.9c.5.3 1.1.4 1.7.4 2 0 3.6-1.6 3.6-3.6s-1.6-3.6-3.6-3.6c-.6 0-1.2.1-1.7.4l.9.9c.2-.1.5-.1.8-.1 1.3 0 2.4 1.1 2.4 2.4s-1.1 2.4-2.4 2.4z" + } + }, + sales_channel: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18 10.8c-.2-.8-.6-1.6-1-2.2.4-.5.4-1.2 0-1.7-.2-.2-.6-.3-.8-.3s-.6.1-.9.3c-.6-.4-1.3-.7-2.1-.9 0-.6-.5-1.2-1.2-1.2s-1.2.6-1.2 1.2c-.8.2-1.5.5-2.2.9-.2-.2-.5-.3-.8-.3-.3 0-.6.1-.9.3-.4.5-.4 1.3 0 1.7-.4.7-.7 1.4-.9 2.2-.6 0-1.2.6-1.2 1.2s.6 1.2 1.2 1.2c.1.8.5 1.5.9 2.1 0 0 0 .1-.1.1-.4.4-.4 1.2 0 1.7.3.2.6.3.9.3.3 0 .6-.1.8-.3V17c.7.5 1.5.8 2.3 1 0 .6.5 1.2 1.2 1.2s1.2-.6 1.2-1.2c.8-.2 1.5-.5 2.1-.9.3.2.6.3.9.3.3 0 .6-.1.8-.3.5-.5.5-1.2 0-1.7.4-.7.8-1.4.9-2.2h.1c.6 0 1.2-.5 1.2-1.2s-.6-1.2-1.2-1.2zm-2.2-3.4h.1c.1-.1.2-.1.2-.1.1 0 .3.1.4.2.1.1.1.3 0 .5v.1c-.1.1-.3.2-.4.2s-.2-.1-.3-.2c-.2-.2-.2-.5 0-.7zm-4.3-1.5c0-.2.2-.4.5-.4s.4.2.4.4V6c0 .3-.2.5-.4.5s-.5-.2-.5-.5v-.1zM7.4 7.4c.1-.1.2-.1.3-.1.1 0 .2 0 .3.1h.1c.2.2.2.5 0 .7-.1.1-.3.2-.4.2s-.2-.1-.3-.2L7.3 8c-.1-.2-.1-.4.1-.6zM6 12.5h-.1c-.2-.1-.4-.3-.4-.5s.2-.4.4-.5H6c.3 0 .5.2.5.5s-.3.5-.5.5zm2 4l-.1.1c0 .1-.1.1-.2.1-.2 0-.3-.1-.4-.2-.1-.1-.1-.2-.1-.3s0-.2.1-.3c.1-.1.2-.2.3-.2.2 0 .3.1.4.2.2.2.2.4 0 .6zm4.4 1.6c0 .2-.2.4-.4.4s-.5-.2-.5-.4V18c0-.3.2-.5.5-.5s.4.2.4.5v.1zm4.8-5.1c-.1.7-.4 1.4-.8 2h-.2c-.3 0-.6.1-.9.4-.3.3-.3.7-.3 1-.6.4-1.3.8-2.1.9-.2-.3-.5-.5-.9-.5s-.8.2-1 .5c-.8-.1-1.5-.5-2.2-.9.1-.4 0-.7-.3-1-.2-.3-.6-.4-.8-.4h-.2c-.4-.6-.7-1.2-.9-2 .4-.2.6-.6.6-1s-.2-.8-.6-1c.2-.7.5-1.4.9-2h.2c.3 0 .6-.1.8-.4.3-.3.4-.7.4-1 .6-.5 1.3-.8 2.1-.9.2.3.5.5 1 .5.4 0 .7-.2.9-.5.8.1 1.5.4 2 .8 0 .4.1.8.4 1.1.2.2.5.4.8.4.1 0 .2 0 .2-.1.5.7.8 1.3.9 2.1-.3.2-.5.6-.5 1s.2.7.5 1zm.8-.5h-.1c-.2 0-.5-.2-.5-.5s.3-.5.5-.5h.1c.2.1.4.3.4.5s-.2.4-.4.5zm-4.8.1c-.6-.2-.6-.5-.6-.6 0-.3.1-.5.3-.6.3-.3.4-.7.4-1.1 0-.9-.5-1.6-1.4-1.6s-1.4.7-1.4 1.6c0 .4.2.8.4 1.1.2.1.4.3.4.6s-.1.4-.6.6c-.8.3-1.5.6-1.5 1.3 0 .5.3.8.8.8h3.9c.4 0 .7-.3.7-.8 0-.7-.7-1-1.4-1.3z" + } + }, + sales_path: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.6 16.4l3.5-4.2c.1-.1.1-.3 0-.5l-3.5-4v-.2c0-.1.1-.2.2-.2h5c.2 0 .3 0 .3.1l3.6 4.4c.1.1.1.3 0 .5l-3.5 4.3c-.1.1-.2.2-.4.2H3.9c-.2 0-.3-.1-.3-.3v-.1zm7.6 0l3.4-4.2c.1-.1.1-.3 0-.5l-3.4-4v-.2c0-.1.1-.2.2-.2h5c.1 0 .2 0 .3.1l3.6 4.4c.1.1.1.3 0 .5l-3.6 4.3c0 .1-.2.2-.3.2h-5c-.1 0-.2-.1-.2-.3v-.1z" + } + }, + scan_card: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 7.2H6.2c-.8 0-1.4.6-1.4 1.4v6.8c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4V8.6c0-.8-.6-1.4-1.4-1.4zM6 12.7c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.7.3.7.7-.3.7-.7.7zm11.3 2.2c0 .2-.2.5-.5.5H7.7c-.3 0-.5-.3-.5-.5V9.1c0-.2.2-.5.5-.5h9.1c.3 0 .5.3.5.5v5.8zm-1.9-4.8H9.1c-.2 0-.5.2-.5.5v2.8c0 .3.3.5.5.5h6.3c.2 0 .4-.2.4-.5v-2.8c0-.3-.2-.5-.4-.5z" + } + }, + screen: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 6c0-.7-.5-1.2-1.2-1.2H6c-.7 0-1.2.5-1.2 1.2v8.3c0 .7.5 1.2 1.2 1.2h12c.7 0 1.2-.5 1.2-1.2V6zm-1.8 7.3c0 .2-.2.4-.5.4H7.1c-.3 0-.5-.2-.5-.4V7.1c0-.3.2-.5.5-.5h9.8c.3 0 .5.2.5.5v6.2zm-7.5 4.1c-.7 0-1.2.5-1.2 1.2v.1c0 .3.2.5.4.5h5.8c.2 0 .4-.2.4-.5v-.1c0-.7-.5-1.2-1.2-1.2H9.9zm-.3-5.2H8.3c-.1 0-.2-.1-.2-.2V8.3c0-.1.1-.2.2-.2h1.3c.2 0 .3.1.3.2V12c0 .1-.1.2-.3.2zm6.1 0h-4.1c-.1 0-.2-.1-.2-.2V8.3c0-.1.1-.2.2-.2h4.1c.1 0 .2.1.2.2V12c0 .1-.1.2-.2.2z" + } + }, + search: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.1 17.8l-4-4c.8-1.1 1.2-2.5 1-4.1-.4-2.5-2.4-4.6-5.1-4.8-3.5-.4-6.5 2.6-6.1 6.2.2 2.5 2.3 4.7 4.8 5 1.6.2 3-.2 4.1-1l4 4c.2.2.5.2.6 0l.7-.6c.1-.2.1-.5 0-.7zM6.6 10.5c0-2.1 1.8-3.9 3.9-3.9s3.9 1.8 3.9 3.9-1.8 3.9-3.9 3.9-3.9-1.8-3.9-3.9z" + } + }, + service_appointment: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "rect": [{ + "x": "14.474", + "y": "14.638", + "width": "1.315", + "height": "1.315", + "rx": ".218", + "ry": ".218" + }, { + "x": "14.474", + "y": "16.829", + "width": "1.315", + "height": "1.315", + "rx": ".218", + "ry": ".218" + }, { + "x": "12.281", + "y": "14.638", + "width": "1.315", + "height": "1.315", + "rx": ".218", + "ry": ".218" + }, { + "x": "12.281", + "y": "16.829", + "width": "1.315", + "height": "1.315", + "rx": ".218", + "ry": ".218" + }, { + "x": "10.087", + "y": "14.638", + "width": "1.315", + "height": "1.315", + "rx": ".218", + "ry": ".218" + }, { + "x": "10.087", + "y": "16.829", + "width": "1.315", + "height": "1.315", + "rx": ".218", + "ry": ".218" + }], + "path": { + "d": "M17.2 4.8H6.8a1.9 1.9 0 0 0-2 1.9v10.6a1.9 1.9 0 0 0 2 1.9h1.4a.9.9 0 0 1-.1-.4v-5.4a.3.3 0 0 1 .3-.3h9a.3.3 0 0 1 .3.3v5.4a.9.9 0 0 1 0 .4 1.9 1.9 0 0 0 1.5-1.9V6.7c0-1-.9-1.9-2-1.9zM7.4 8.7a.7.7 0 0 1-.7-.7v-.7a.7.7 0 0 1 .7-.6h3.4a.7.7 0 0 1 .6.6V8a.7.7 0 0 1-.6.7zm10.3 3.4a.3.3 0 0 1-.3.3h-9a.3.3 0 0 1-.3-.3v-.6a.9.9 0 0 1 .8-.9H10v-.4a.7.7 0 0 1 1.4 0v.4h3v-.4a.7.7 0 0 1 1.3 0v.4h1.1a.9.9 0 0 1 .9.9z", + "fill-rule": "evenodd" + } + }, + service_appointment_capacity_usage: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.3 6.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5zm.9 3.9H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-2.6 4.6c0 1.9-1.7 3.5-3.6 3.5-2 0-3.6-1.6-3.6-3.6s1.7-3.6 3.6-3.5c2 0 3.6 1.6 3.6 3.6zM12 12v2.8h2.5s.2-1-.7-1.9S12 12 12 12z" + } + }, + service_contract: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.6 6.9l-3.2-3.1c-.1-.1-.1-.1-.2-.1-.2 0-.4.1-.4.3v2.6c0 .5.5.9 1 .9h2.5c.2 0 .4-.1.4-.3 0-.1 0-.2-.1-.3zm.1 2.5c0-.2-.2-.4-.5-.4h-3.4c-.8 0-1.4-.7-1.4-1.5V4.2c0-.3-.2-.5-.5-.5H6.1c-.8 0-1.4.6-1.4 1.4v11.5c0 .8.6 1.5 1.4 1.5H11s.5-.3.4-.7-.1-2.2 1.1-3.6 3.1-1.4 3.4-1.4c.3 0 .8-.1.8-.5V9.4zM6.4 6.7l1.1-.2h.1l.5-1.1c.1-.1.2-.1.2 0l.6 1.1 1.2.2c.1 0 .1.1.1.2l-.9.8v.1L9.5 9s-.1.1-.2.1l-1-.6h-.1l-1.1.6C7 9.1 6.9 9 7 9l.2-1.2s0-.1-.1-.1l-.8-.8c-.1-.1 0-.2.1-.2zm4.3 8c0 .3-.2.5-.5.5H7.1c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h3.1c.3 0 .5.2.5.4v.5zm2.6-2.9c0 .3-.2.5-.5.5H7.1c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h5.7c.3 0 .5.2.5.5v.4zm2.6 1.7c-1.9 0-3.4 1.5-3.4 3.4s1.5 3.5 3.4 3.5 3.4-1.6 3.4-3.5-1.5-3.4-3.4-3.4zm.6 3.7h-.3l-1.3 1.3c-.1.1-.2.1-.3.1-.1 0-.2 0-.3-.1-.1-.2-.1-.4 0-.6l1.3-1.3v-.3c0-.6.4-1.1 1-1.1h.3c.1 0 .1.1 0 .1l-.5.6c-.1 0-.1.1 0 .2l.4.4h.1l.6-.6h.1c0 .1.1.2.1.3-.1.6-.6 1.1-1.2 1z" + } + }, + service_crew: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.4 12.3h-.9v-1c0-1.5-.8-2.7-1.9-3.3v1.8c0 1-.8 1.8-1.7 1.8s-1.8-.8-1.8-1.8V8c-1.1.6-2 1.8-2 3.2v1.1h-.8c-.3 0-.5.2-.5.5s.2.5.5.5h9.1c.3 0 .5-.2.5-.5s-.2-.5-.5-.5zm-4.5-1.8c.4 0 .7-.3.7-.7V7.6H9.2v2.2c0 .4.3.7.7.7zM9.9 18.6c-2.2 0-3.9-1.9-3.9-4.3h1c0 1.8 1.3 3.3 2.9 3.3s2.9-1.5 2.9-3.3h.9c0 2.4-1.7 4.3-3.8 4.3zm5.8-11c.2 0 .5-.3.5-.5V5.5c-.2 0-.4-.1-.5-.1-.2 0-.3.1-.5.1v1.6c0 .2.2.5.5.5zm-.1 6.2v-1c1.1 0 1.9-.9 1.9-2.1h1c0 1.7-1.3 3.1-2.9 3.1zm3.1-5.1h-.5V8c0-.9-.5-1.8-1.3-2.2v1.3c0 .6-.6 1.2-1.2 1.2-.7 0-1.2-.6-1.2-1.2V5.7c-.8.4-1.4 1.3-1.4 2.2.5.5.8 1.1 1.1 1.8h4.5c.3 0 .5-.2.5-.5s-.2-.5-.5-.5z" + } + }, + service_crew_member: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.6 10.9h-1.4V9.4c0-2-1.1-3.7-2.7-4.6v2.6c0 1.4-1.1 2.5-2.5 2.5S9.6 8.8 9.6 7.4V4.8c-1.7.8-2.9 2.6-2.9 4.6v1.5H5.4c-.3 0-.6.3-.6.7v.1c0 .4.2.7.6.7h13.1c.4 0 .7-.3.7-.7v-.1c0-.4-.3-.7-.6-.7zM12 8.4c.6 0 1-.4 1-1V4.3c-.3-.1-.6-.1-1-.1-.3 0-.6 0-1 .1v3.1c0 .6.5 1 1 1zM12 19.8c-3 0-5.5-2.7-5.5-6h1.4c0 2.5 1.8 4.6 4.1 4.6s4.1-2.1 4.1-4.6h1.4c0 3.3-2.5 6-5.5 6z" + } + }, + service_report: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M17.2 6h-.4a.2.2 0 0 0-.3.2v1a1.9 1.9 0 0 1-1.9 1.9H9.4a1.9 1.9 0 0 1-1.9-1.9v-1a.2.2 0 0 0-.3-.2h-.4a1.4 1.4 0 0 0-1.5 1.4v10.4a1.4 1.4 0 0 0 1.5 1.4h10.4a1.4 1.4 0 0 0 1.5-1.4V7.4A1.4 1.4 0 0 0 17.2 6zm-6.9 9.8a.5.5 0 0 1-.4.5h-.5a.5.5 0 0 1-.5-.5v-2.4a.5.5 0 0 1 .5-.4h.5a.5.5 0 0 1 .4.4zm2.4 0a.5.5 0 0 1-.5.5h-.4a.5.5 0 0 1-.5-.5v-4.5a.5.5 0 0 1 .5-.5h.4a.5.5 0 0 1 .5.5zm2.4 0a.5.5 0 0 1-.5.5h-.5a.5.5 0 0 1-.4-.5v-3.6a.5.5 0 0 1 .4-.4h.5a.5.5 0 0 1 .5.4zM9.4 7.7h5.2a.5.5 0 0 0 .5-.5v-1a1.4 1.4 0 0 0-1.4-1.4h-3.4a1.4 1.4 0 0 0-1.4 1.4v1a.5.5 0 0 0 .5.5z", + "fill-rule": "evenodd" + } + }, + service_resource: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M17.2 4.8H6.8a1.9 1.9 0 0 0-2 1.9v10.6a1.9 1.9 0 0 0 2 1.9h2.6c.3-1.1 1.5-1.7 2.9-2.3 1-.4 1.2-.8 1.2-1.2s-.3-.8-.7-1.2a2.7 2.7 0 0 1-.9-2.1c0-1.6 1.1-3 2.9-3s2.9 1.4 2.9 3a2.9 2.9 0 0 1-1 2.1c-.3.4-.6.8-.6 1.2s.1.8 1.2 1.2a10 10 0 0 1 1.8 1 1.7 1.7 0 0 0 .1-.6V6.7c0-1-.9-1.9-2-1.9zM11.4 8a.7.7 0 0 1-.6.7H7.4a.7.7 0 0 1-.7-.7v-.7a.7.7 0 0 1 .7-.6h3.4a.7.7 0 0 1 .6.6z", + "fill-rule": "evenodd" + } + }, + service_territory: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M13.6 14.9a1.8 1.8 0 0 1-1.8-1.7 1.7 1.7 0 0 1 1.8-1.8 1.7 1.7 0 1 1 0 3.5zm3.6-10.1H6.8a1.9 1.9 0 0 0-2 1.9v10.6a1.9 1.9 0 0 0 2 1.9h5.8c-1.2-1.1-3.2-3.3-3.2-5.6a4.2 4.2 0 0 1 8.3 0c0 2.3-2.1 4.5-3.3 5.6h2.8a1.9 1.9 0 0 0 2-1.9V6.7c0-1-.9-1.9-2-1.9zM11.4 8a.7.7 0 0 1-.6.7H7.4a.7.7 0 0 1-.7-.7v-.7a.7.7 0 0 1 .7-.6h3.4a.7.7 0 0 1 .6.6z", + "fill-rule": "evenodd" + } + }, + service_territory_location: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M15.9 14.3c-.5 0-.9-.4-.9-1 0-.5.4-.9.9-.9s.9.4 1 .9c0 .5-.5 1-1 1zm-4.5 0c-.6 0-1-.4-1-1 0-.5.4-.9 1-.9s.9.4.9.9-.4 1-.9 1zm2.2 0c-.5 0-.9-.4-.9-1 0-.5.4-.9.9-.9s1 .4 1 .9-.4 1-1 1zm3.6-9.5H6.7c-1 0-1.9.9-1.9 1.9v10.7c0 1 .9 1.9 1.9 1.8h5.9c-1.2-1-3.3-3.3-3.3-5.6s1.9-4.1 4.2-4.1c2.3 0 4.1 1.8 4.1 4.1 0 2.4-2 4.6-3.2 5.6h2.8c1.1 0 1.9-.8 2-1.8V6.7c0-1-.9-1.9-2-1.9zM11.4 8c-.1.4-.4.7-.7.7H7.3c-.4 0-.7-.3-.7-.7v-.6c0-.4.3-.7.7-.7h3.4c.3 0 .7.3.7.7V8z" + } + }, + service_territory_member: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M10.3 10.1A1.7 1.7 0 0 1 12 8.4a1.7 1.7 0 1 1-1.7 1.7zM12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm.2 10.5a.3.3 0 0 1-.4 0c-.8-.5-3.3-2.8-3.3-5.1a3.5 3.5 0 0 1 7 0c0 2.3-2.5 4.5-3.3 5.1zm-6 .1h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z", + "fill-rule": "evenodd" + } + }, + shift: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.3 6.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5zm.9 3.9H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zM12 18.2c-2 0-3.6-1.6-3.6-3.6s1.6-3.5 3.6-3.5 3.6 1.6 3.6 3.5-1.6 3.6-3.6 3.6zm-.6-2.1s-.1 0-.2-.1L10 14.8v-.2l.3-.3h.2l.9 1 2.1-2.1h.2l.3.3v.2L11.7 16c-.1.1-.2.1-.3.1z" + } + }, + shift_type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.3 6.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5zm.9 3.9H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-8 4.3c0-.2.1-.3.2-.3h4.7c.1 0 .2.1.2.3v.5c0 .1-.1.3-.2.3h-4.7c-.1 0-.2-.2-.2-.3v-.5zm-1.1 2.9c0 .1-.1.2-.3.2h-.5c-.2 0-.3-.1-.3-.2v-.5c0-.2.1-.3.3-.3h.5c.2 0 .3.1.3.3v.5zm0-2.4c0 .1-.1.3-.3.3h-.5c-.2 0-.3-.2-.3-.3v-.5c0-.2.1-.3.3-.3h.5c.2 0 .3.1.3.3v.5zm0-2.4c0 .2-.1.3-.3.3h-.5c-.2 0-.3-.1-.3-.3V12c0-.1.1-.3.3-.3h.5c.2 0 .3.2.3.3v.5zm6.9 4.8c0 .1-.1.2-.3.2h-5.3c-.1 0-.2-.1-.2-.2v-.5c0-.2.1-.3.2-.3h5.3c.2 0 .3.1.3.3v.5zm0-4.8c0 .2-.1.3-.3.3h-5.3c-.1 0-.2-.1-.2-.3V12c0-.1.1-.3.2-.3h5.3c.2 0 .3.2.3.3v.5z" + } + }, + shipment: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M12.7 12.9v5.8c0 .2.1.3.3.3 0 0 .1 0 .1-.1 1.1-.6 4.6-2.6 4.6-2.6.5-.3.8-.7.8-1.3V9.8c0-.2-.1-.3-.3-.3 0 0-.1 0-.1.1L13 12.5c-.2 0-.3.2-.3.4zm-.5-1.7l5.2-2.9c.1 0 .2-.2.1-.3l-.1-.1c-1.1-.6-4.7-2.6-4.7-2.6-.4-.3-1-.3-1.4 0 0 0-3.6 1.9-4.7 2.6-.1.1-.2.2-.1.4h.1l5.2 2.9c.1.1.3.1.4 0zM11 12.5L5.9 9.6c-.1-.1-.3-.1-.4 0V15c0 .5.3 1 .8 1.3 0 0 3.5 2 4.6 2.6.1.1.3 0 .4-.1V12.9c0-.2-.1-.4-.3-.4z" + } + }, + skill: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M10.5 11.2a1.3 1.3 0 1 1 1.3-1.3 1.3 1.3 0 0 1-1.3 1.3zm8.1 2.2l-1.8-2.6v-.2a5.8 5.8 0 0 0-5.7-5.8 5.3 5.3 0 0 0-1.4.2 5.7 5.7 0 0 0-4.3 5.6 5.3 5.3 0 0 0 .8 3c1 1.4 1.7 2.6 1.3 4.2a1.1 1.1 0 0 0 .2 1 1.1 1.1 0 0 0 .9.4h4.7a1.1 1.1 0 0 0 1.1-.9 1.2 1.2 0 0 0 0-.3.6.6 0 0 1 .6-.5h.4a1.1 1.1 0 0 0 1.1-.8 9.9 9.9 0 0 0 .3-2.3h1.3a.7.7 0 0 0 .5-.4.7.7 0 0 0 0-.6zm-4.8-2l-.2.3a.5.5 0 0 1-.5.3.6.6 0 0 1-.1-.1l-.7-.2a2.8 2.8 0 0 1-.9.5l-.1.7a.5.5 0 0 1-.5.4h-.5a.5.5 0 0 1-.5-.4l-.1-.7a2.4 2.4 0 0 1-.9-.5l-.6.3a.6.6 0 0 1-.2 0 .5.5 0 0 1-.4-.2l-.3-.4a.5.5 0 0 1 .2-.6l.5-.5a2.4 2.4 0 0 1 0-.5 2.3 2.3 0 0 1 0-.5l-.5-.4a.5.5 0 0 1-.2-.7l.3-.3a.5.5 0 0 1 .4-.3.6.6 0 0 1 .2.1l.7.2a2.8 2.8 0 0 1 .8-.5l.1-.7a.5.5 0 0 1 .5-.4h.5a.5.5 0 0 1 .5.4l.1.7a2.7 2.7 0 0 1 .9.5l.7-.3a.6.6 0 0 1 .1 0 .5.5 0 0 1 .5.2l.2.4a.5.5 0 0 1-.1.6l-.6.5a2.3 2.3 0 0 1 .1.5 2.3 2.3 0 0 1-.1.5l.6.4a.5.5 0 0 1 .1.7z", + "fill-rule": "evenodd" + } + }, + skill_entity: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.6 13.4l-1.8-2.6v-.2c0-3.2-2.6-5.8-5.8-5.8-.4 0-.9 0-1.3.2-2.6.5-4.4 2.9-4.4 5.6 0 1.1.3 2.2.8 3 1.1 1.4 1.7 2.6 1.3 4.2-.1.3 0 .7.2 1 .2.3.6.4.9.4h4.7c.6 0 1.1-.4 1.2-.9V18c.1-.3.3-.5.6-.5h.3c.6 0 1-.3 1.2-.8.1-.5.3-1.3.3-2.3h1.3c.2 0 .4-.2.5-.4.1-.2.1-.5 0-.6zm-3.9-3.3c-.2.3-.5.5-1.1.5-2.9 0-3.2 2.1-3.2 3.2 0 .4-.3.8-.8.8h-.1c-.4 0-.7-.2-.8-.7-.1-.4-.4-.6-.7-.8-.2-.2-.4-.3-.5-.5-.3-.6-.5-1.2-.5-2.1C7 8.7 8.3 7 10 6.6c.4 0 .7-.1 1-.1 1.6 0 3.1 1 3.7 2.5.1 0 .3.6 0 1.1z" + } + }, + skill_requirement: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M12 13.9a1.6 1.6 0 1 1 1.6-1.6 1.6 1.6 0 0 1-1.6 1.6zm7.4-2.7h-1.3V6.4a1.6 1.6 0 0 0-1.7-1.6H7.6a1.6 1.6 0 0 0-1.7 1.6v4.8H4.6a.8.8 0 0 0 0 1.6h1.3v4.8a1.6 1.6 0 0 0 1.7 1.6h8.8a1.6 1.6 0 0 0 1.7-1.6v-4.8h1.3a.8.8 0 0 0 0-1.6zM16 14.3l-.3.4a.6.6 0 0 1-.5.3.7.7 0 0 1-.2 0l-.8-.3a3.4 3.4 0 0 1-1.1.6l-.1.9a.6.6 0 0 1-.6.5h-.6a.6.6 0 0 1-.6-.5l-.1-.9a2.9 2.9 0 0 1-1.1-.6l-.8.3a.7.7 0 0 1-.2.1.6.6 0 0 1-.6-.3l-.2-.5a.6.6 0 0 1 .1-.8l.7-.6a3.2 3.2 0 0 1-.1-.6 3 3 0 0 1 .1-.6l-.7-.6a.6.6 0 0 1-.1-.8l.2-.5a.6.6 0 0 1 .6-.3.7.7 0 0 1 .2.1l.8.3a3.3 3.3 0 0 1 1.1-.7l.1-.8a.6.6 0 0 1 .6-.5h.6a.6.6 0 0 1 .6.5l.1.8a3.3 3.3 0 0 1 1.1.6l.8-.3a.7.7 0 0 1 .2 0 .6.6 0 0 1 .5.3l.3.5a.6.6 0 0 1-.1.8l-.7.5a3 3 0 0 1 .1.7 3 3 0 0 1-.1.6l.7.6a.6.6 0 0 1 .1.8z", + "fill-rule": "evenodd" + } + }, + sms: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M11.8 5.2c-4.1 0-7.3 2.9-7.3 6.6 0 1.2.3 2.3.9 3.3.1.1.1.3.1.5l-1 2.6c-.1.2.2.4.4.4l2.7-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 3.9 0 7.2-3 7.2-6.7 0-3.8-3.3-6.7-7.3-6.7zM8.9 13c-.1.1-.2.3-.4.4-.1.1-.2.2-.4.2-.2.1-.3.1-.5.1-.3 0-.5 0-.7-.1-.2-.1-.4-.3-.6-.4l-.1-.1s0-.1.1-.2l.5-.4c.1-.1.1-.1.1 0 .1 0 .1.1.1.1.1 0 .2.1.2.2.2.1.4.1.5 0h.2l.1-.1v-.1c0-.2 0-.2-.1-.2-.1-.1-.1-.2-.2-.2-.2 0-.3-.1-.5-.1-.1-.1-.3-.1-.4-.2l-.3-.3c-.1-.2-.2-.4-.2-.6 0-.2.1-.4.2-.6s.1-.2.3-.3c.1-.1.3-.2.4-.2.4-.1.8-.1 1.2 0 .1.1.3.2.4.2l.1.1c.1 0 0 .1 0 .2l-.5.4c0 .1-.1.1-.2 0h-.1c-.2-.1-.4-.2-.6-.1h-.1v.1c-.1 0-.1.1-.1.1 0 .1.1.1.1.2.1 0 .2.1.3.1.1 0 .2.1.4.1.1.1.3.1.4.2.2.1.3.2.4.4.1.1.1.3.1.5s0 .4-.1.6zm5 .4c0 .2-.1.3-.3.3h-.3c-.2 0-.3-.1-.3-.3v-1.8c0-.2-.2-.2-.3-.1l-.5 1.4c-.1.1-.2.2-.3.2h-.2c-.1 0-.3-.1-.3-.2l-.5-1.4c-.1-.1-.3-.1-.3.1v1.8c0 .2-.2.3-.4.3h-.3c-.2 0-.3-.1-.3-.3V10c0-.2.2-.3.3-.3h.8c.1 0 .2.1.3.2l.6 1.6c0 .1.2.1.2 0l.6-1.6c.1-.1.2-.2.3-.2h.8c.2 0 .3.1.3.3.1 0 .1 3.4.1 3.4zm3.2-.4c-.1.1-.2.3-.3.4-.1.1-.3.2-.5.2-.2.1-.3.1-.5.1s-.5 0-.7-.1-.4-.2-.6-.4v-.1c-.1 0 0-.1 0-.1l.5-.5c.1-.1.1-.1.2 0s0 .1 0 .1c.1.1.2.1.3.2.1.1.3.1.5.1 0-.1.1-.1.1-.1l.1-.1v-.1-.2c-.1-.1-.2-.1-.3-.2-.1 0-.3-.1-.4-.1-.2-.1-.3-.1-.5-.2l-.3-.3c-.1-.2-.2-.3-.2-.6 0-.2.1-.4.2-.5.1-.2.2-.3.3-.4.1-.1.3-.2.5-.2.3-.1.7-.1 1.1 0 .2.1.3.2.4.3l.1.1c.1 0 0 .1 0 .2l-.5.4c0 .1-.1.1-.2 0-.1 0-.1-.1-.1-.1-.1-.1-.4-.1-.6-.1l-.1.1-.1.1v.1c0 .1 0 .1.1.2 0 0 .1.1.2.1.2 0 .3.1.4.1.2.1.4.1.5.2.1.1.2.2.3.4.1.1.2.3.2.5.1.1 0 .3-.1.5z" + } + }, + snippet: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M17.8 5.7c-2.9 0-5.1 2.3-5.1 5.2v6.9c0 .2.2.5.5.5h5.4c.3 0 .5-.3.5-.5v-5.5c0-.3-.2-.5-.5-.5h-4v-.9c0-1.6 1.6-3.2 3.2-3.2h.8c.3 0 .5-.3.5-.5v-1c0-.2-.2-.5-.5-.5h-.8zm-8 0c-2.9 0-5.1 2.3-5.1 5.2v6.9c0 .2.2.5.5.5h5.4c.3 0 .5-.3.5-.5v-5.5c0-.3-.2-.5-.5-.5h-4v-.9c0-1.6 1.6-3.2 3.2-3.2h.9c.2 0 .4-.3.4-.5v-1c0-.2-.2-.5-.4-.5h-.9z" + } + }, + snippets: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.2 6h-.4c-.2 0-.3.1-.3.3v.9c0 1.1-.9 1.9-1.9 1.9H9.4c-1.1 0-1.9-.8-1.9-1.9v-.9c0-.2-.1-.3-.3-.3h-.4c-.8 0-1.4.7-1.4 1.5v10.2c0 .8.6 1.4 1.4 1.4h10.4c.8 0 1.4-.6 1.4-1.4V7.5c.1-.8-.6-1.5-1.4-1.5zm-6.6 5.5s0 .2-.1.2c-.2.1-.3.1-.3.1-.1.1-.1.2-.1.4v.8c0 .2 0 .5-.1.6-.1.2-.2.3-.3.4 0 0-.1.1 0 .3.1 0 .2.1.2.2.1.2.2.4.2.7v.9c0 .2.1.3.1.4h.2v.1c.1 0 .2.1.2.2v.5c0 .1 0 .1-.2.1h-.2c-.3 0-.6-.1-.9-.3-.3-.2-.4-.5-.4-.9v-1c0-.2-.1-.4-.2-.5-.1-.1-.2-.1-.4-.2 0 0-.1 0-.1-.2v-.4s0-.1.1-.1c.2-.1.3-.2.4-.2.1-.1.2-.3.2-.6v-.8-.4c.1-.3.2-.5.4-.6.2-.2.4-.3.6-.3.1 0 .3-.1.5-.1.1 0 .2.1.2.3v.4zm5.2 2.9s0 .1-.1.1c-.3.1-.4.2-.4.2-.1.2-.2.3-.2.6v.9c0 .1 0 .2-.1.4 0 .2-.2.4-.3.6-.2.1-.4.2-.6.2-.1 0-.3.1-.5.1-.1 0-.2-.1-.2-.2v-.5s0-.2.1-.2c.2-.1.3-.1.3-.1.1-.1.1-.2.1-.4v-.8c0-.2 0-.4.1-.6.1-.1.2-.3.3-.3 0 0 .1-.2 0-.4-.1 0-.2-.1-.2-.2-.1-.1-.2-.4-.2-.7v-.8c0-.2-.1-.3-.1-.4 0 0-.1 0-.2-.1-.1 0-.2-.1-.2-.3V11c0-.1 0-.1.2-.1h.2c.3 0 .6.1.9.3.3.2.4.5.4.9v1c0 .2.1.4.2.5.1.1.2.2.4.2 0 0 .1 0 .1.2v.4zM9.4 7.7h5.2c.3 0 .5-.2.5-.5v-.9c0-.8-.7-1.4-1.4-1.4h-3.4c-.7 0-1.4.6-1.4 1.4v.9c0 .3.2.5.5.5z" + } + }, + sobject: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6 5.4h1.2c-1.4 3.2-1.4 5.6 0 8.9H6c-1.6-3.7-1.6-5.2 0-8.9zm5.3 5.5c.1.6.2 1 .3 1.2.1.3.2.5.4.6.5-.3 1-.5 1.6-.5.4 0 .8.1 1.1.2.1 0 .1-.1.1-.2 0-.3-.2-.6-.5-.6-.1 0-.2.1-.3.1 0 0-.5.3-.7.1-.2-.3-.3-.7-.4-1.1-.1-.4-.2-.9-.3-1.3l.6-.9s.7.3 1 .3 1-.3 1-1.2c0-.9-.6-.9-.8-.9-.4 0-.8.3-1.1.9-.4.6-.7 1.2-.7 1.2h-.1c-.1-.4-.1-.8-.2-.9 0-.4-.5-1.2-1.3-1.2-.9 0-1.7.5-1.7.5-.2.1-.3.3-.3.5 0 .3.3.5.6.5h.2s.7-.4.8 0c.1.1.1.2.2.3.1.6.3 1.3.4 1.9l-.6.9s-.6-.3-1-.3c-.3 0-1 .3-1 1.2 0 .9.7.9.9.9.4 0 .7-.3 1.1-.9.3-.6.7-1.3.7-1.3zm6 1.9v.1c.1 0 .2-.1.3-.1.3 0 .6.1.9.2 1.1-2.8.9-4.4-.6-7.6h-1.2c1.3 2.8 1.4 4.9.6 7.4zm-2.5 1.1c.2-.2.6-.4 1-.4.5 0 .9.3 1.1.7.2-.1.5-.1.7-.1.9 0 1.6.7 1.6 1.6 0 .9-.7 1.6-1.6 1.6h-.3c-.2.3-.6.6-1 .6-.2 0-.4-.1-.6-.2-.2.5-.7.9-1.2.9-.6 0-1.1-.4-1.3-.9H13c-.7 0-1.3-.5-1.3-1.2 0-.5.2-.9.6-1.1-.1-.2-.1-.4-.1-.6 0-.8.7-1.4 1.5-1.4.4 0 .8.2 1.1.5z" + } + }, + sobject_collection: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.3 8.8c-1 2.2-1 3.2 0 5.5h.8c-.9-2.1-.9-3.5-.1-5.5h-.7zm7.1 4.3h.8c.5-1.6.4-2.5-.5-4.4H15c.7 1.6.8 2.9.4 4.4zm-4.5 2.7H6.6c-.3 0-.6-.2-.6-.6v-8h12v6.4c.4.1.8.2 1.2.4V6c0-.6-.6-1.2-1.2-1.2H6c-.6 0-1.2.6-1.2 1.2v9.8c0 .7.6 1.3 1.2 1.3h4.5c.1-.5.2-.9.4-1.3zm4-1.1c.2-.3.6-.4.9-.4.5 0 1 .2 1.2.6.2 0 .4-.1.7-.1.9 0 1.6.7 1.6 1.6 0 .9-.7 1.6-1.6 1.6h-.3c-.2.3-.6.6-1.1.6-.1 0-.3-.1-.5-.1-.2.4-.7.8-1.2.8-.6 0-1.1-.4-1.3-.9H13c-.7 0-1.2-.5-1.2-1.2 0-.5.2-.9.6-1.1-.1-.2-.1-.4-.1-.6 0-.8.6-1.4 1.4-1.4.5 0 .9.2 1.2.6zm-3.7-1.8c.2-.3.4-.7.4-.7.1.3.1.6.2.7.1.2.2.4.4.5.4-.3 1-.5 1.5-.5h.1c0-.2-.1-.3-.3-.3h-.2s-.3.2-.5 0c-.1-.1-.1-.3-.2-.6 0-.3-.1-.6-.1-.8l.3-.6s.4.2.6.2.6-.2.6-.7-.3-.6-.5-.6-.4.1-.7.5l-.4.8c-.1-.3-.1-.5-.1-.6-.1-.2-.3-.7-.9-.7-.5 0-1 .3-1 .3-.1 0-.2.2-.2.3 0 .2.2.3.4.3h.1s.4-.2.5 0c.1.1.1.1.1.2l.3 1.2-.4.5s-.4-.2-.6-.2-.6.2-.6.8.4.5.5.5c.2.1.5-.1.7-.5z" + } + }, + social: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.8 13.7c-1.2 0-2.1.8-2.4 1.9h-3.1c-.2 0-.3.1-.3.3V16.8c-.1.1.1.2.2.2h3.4c.4.9 1.2 1.5 2.2 1.5 1.3 0 2.4-1.1 2.4-2.4s-1.1-2.4-2.4-2.4zm-6.4-2.8c-.3-.1-.6-.3-.8-.5-.1-.1-.3 0-.4.1l-1.7 3.2h-.3c-1.3 0-2.4 1.1-2.4 2.4s1.1 2.4 2.4 2.4 2.4-1.1 2.4-2.4c0-.7-.3-1.3-.7-1.8l1.6-3c.1-.2 0-.3-.1-.4zM12 9.8c.2 0 .5 0 .7-.1l1.6 3.1c.1.1.2.2.4.1.2-.2.5-.3.8-.4.1-.1.2-.2.1-.4l-1.7-3.2c.3-.4.5-.9.5-1.5C14.4 6.1 13.3 5 12 5S9.6 6.1 9.6 7.4s1.1 2.4 2.4 2.4z" + } + }, + solution: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.4 4.8C9.1 5.1 7.2 6.9 7 9.2c-.2 1.7.6 3.3 1.8 4.2.3.3.6.8.6 1.2 0 .7.5 1.3 1.2 1.3h2.8c.7 0 1.2-.6 1.2-1.3 0-.4.3-.9.6-1.2 1.1-.9 1.8-2.2 1.8-3.7 0-2.9-2.5-5.2-5.6-4.9zm2.8 12.5H9.8c-.2 0-.4.2-.4.5 0 .8.6 1.4 1.4 1.4h2.4c.8 0 1.4-.6 1.4-1.4 0-.3-.2-.5-.4-.5z" + } + }, + sort: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.2 9c.2-.1.2-.4 0-.6L8.8 5c-.2-.2-.5-.2-.6 0L4.7 8.4c-.1.2-.1.5 0 .6l.7.7c.1.1.4.1.6 0l1.1-1.1c.1-.2.5-.1.5.2v6.3c0 .3.2.5.4.5h.9c.2 0 .5-.2.5-.5V8.8c0-.3.3-.4.5-.2l1 1.1c.2.1.5.1.7 0l.6-.7zm6.6 6l-.6-.6c-.2-.1-.5-.1-.7 0l-1 1.1c-.2.2-.5.1-.5-.2V8.9c0-.2-.3-.5-.5-.5h-.9c-.2 0-.4.3-.4.5v6.3c0 .3-.4.4-.5.3l-1.1-1.1c-.2-.2-.5-.2-.6 0l-.7.6c-.1.2-.1.5 0 .6l3.5 3.5c.1.1.4.1.6 0l3.4-3.5c.2-.1.2-.4 0-.6z" + } + }, + sossession: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.9 4.3c-4.2.1-7.6 3.6-7.6 7.8.1 4.2 3.6 7.6 7.8 7.6 4.2-.1 7.6-3.6 7.6-7.8-.1-4.2-3.6-7.6-7.8-7.6zm0 1c1.2 0 2.2.3 3.2.8L14 7.8c-.6-.3-1.3-.5-2-.5s-1.4.2-2 .5L8.9 6.1c.9-.5 1.9-.8 3-.8zM7.8 14l-1.7 1.1c-.5-.9-.8-1.9-.8-3 0-1.2.3-2.3.8-3.2l1.7 1c-.3.7-.5 1.4-.5 2.1s.2 1.4.5 2zm4.3 4.7c-1.2 0-2.2-.3-3.2-.8l1.1-1.7c.6.3 1.3.5 2 .5s1.4-.2 2-.5l1.1 1.7c-.9.5-1.9.8-3 .8zm-.1-3c-2 0-3.7-1.7-3.7-3.7S10 8.3 12 8.3s3.7 1.7 3.7 3.7-1.7 3.7-3.7 3.7zm4.2-1.7c.3-.6.5-1.3.5-2s-.2-1.4-.5-2l1.7-1.1c.5.9.8 1.9.8 3 0 1.2-.3 2.3-.8 3.2L16.2 14z" + } + }, + stage: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": [{ + "cx": "18.216", + "cy": "12", + "r": "1.008" + }, { + "cx": "11.952", + "cy": "12", + "r": "1.008" + }, { + "cx": "5.784", + "cy": "12", + "r": "1.008" + }], + "path": { + "d": "M7.7 12c0 2.4 1.9 4.3 4.3 4.3s4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3S7.7 9.6 7.7 12zm7.2 0c0 1.6-1.3 2.9-2.9 2.9S9.1 13.6 9.1 12s1.3-2.9 2.9-2.9 2.9 1.3 2.9 2.9z" + } + }, + stage_collection: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "11.952", + "cy": "12", + "r": "1.008" + }, + "path": { + "d": "M18.2 11c-.3 0-.7.2-.8.5h-1.1C16 9.3 14.2 7.7 12 7.7s-4.1 1.6-4.3 3.8H6.6c-.1-.3-.5-.5-.8-.5-.6 0-1 .4-1 1s.4 1 1 1c.3 0 .7-.2.8-.5h1.1c.3 2.2 2.1 3.8 4.3 3.8 2.2 0 4-1.6 4.2-3.7h1.1c.2.2.5.4.9.4.5 0 1-.4 1-1s-.4-1-1-1zM12 14.9c-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" + } + }, + steps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.5 19.3h-2.1v-1.5h2.1v1.5zm0-.7zm-4.2.7h-2.1v-1.5h2.1v1.5zm-4.2 0H7v-1.5h2.1v1.5zm-2.8-1.8H4.8v-2.1h1.5v2.1zm12.9-.5h-1.5v-2.1h1.5V17zM6.3 13.3H4.8v-2.1h1.5v2.1zm12.9-.5h-1.5v-2.1h1.5v2.1zM6.3 9.1H4.8V7h1.5v2.1zm12.9-.5h-1.5V6.5h1.5v2.1zM17 6.2h-2.1V4.7H17v1.5zm-4.2 0h-2.1V4.7h2.1v1.5zm-4.2 0H6.5V4.7h2.1v1.5z" + } + }, + store: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.2 13.1h-.1c-.5-.1-.9-.2-1.3-.5-.2-.2-.3-.1-.4-.1v.1c-.5.3-1 .5-1.6.5-.6 0-1.2-.2-1.6-.6-.2-.1-.3 0-.3 0-.5.4-1.1.6-1.7.6-.6 0-1.1-.2-1.6-.5v-.1c-.2-.1-.3 0-.3 0-.5.4-1 .6-1.6.6 0 0-.1 0-.1.2v4.5c0 .1 0 .3.3.3h5.6c.2 0 .3-.2.3-.3v-3.2c0-.1.1-.2.3-.2h2.7c.1 0 .2.1.2.3v3c0 .3.2.4.3.4h.8c.1 0 .3-.1.3-.4v-4.3c0-.3-.1-.3-.2-.3zm-6 3.4v.1c0 .1-.1.3-.4.3H8.4c-.3 0-.4-.1-.4-.2v-1.8c0-.5.2-.5.3-.5h2.6c.1 0 .3.1.3.4v1.7zm5.7-4.6c.6.1 1.2 0 1.7-.5.3-.2.5-.6.6-1v-.1c-.1-.1-.2-.3-.2-.4L16.9 6c-.1-.1-.3-.1-.4-.1H7.4s-.3 0-.4.1c-.7 1.3-1.4 2.7-2.1 3.9 0 .1-.1.3-.1.5 0 .4.2.8.6 1.1.5.5 1.1.6 1.8.3.4-.1.7-.4.9-.7l.1-.1c.2-.1.3-.1.5.1.1.2.2.3.4.5.5.4 1.1.4 1.7.2.4-.1.7-.4.9-.7.1-.2.4-.2.6 0l.1.2c.3.4.7.6 1.2.6.4.1.8 0 1.2-.3.2-.1.4-.3.5-.5.1-.2.4-.2.5 0 .3.4.6.6 1 .7l.1.1z" + } + }, + store_group: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.5 10.8h-4.1c-.4 0-.6.4-.6.7 0 .1 0 .2.2.2h5c.1 0 .2-.1.2-.2 0-.3-.3-.7-.7-.7zm0 1.6h-4.1c-.1 0-.2.1-.2.2v4.8c0 .1.1.2.2.2h1.3c.1 0 .2-.1.2-.2v-.9c0-.1.1-.2.3-.2h.6c.1 0 .2.1.2.2v.9c0 .1.1.2.3.2h1.2c.1 0 .2-.1.2-.2v-4.7c0-.2-.1-.3-.2-.3zm-2.4 3.1c0 .1-.1.2-.2.2h-.4c-.2 0-.3-.1-.3-.2V15c0-.1.1-.2.3-.2h.4c.1 0 .2.1.2.2v.5zm0-1.6c0 .1-.1.2-.2.2h-.4c-.2 0-.3-.1-.3-.2v-.4c0-.2.1-.3.3-.3h.4c.1 0 .2.1.2.3v.4zm1.6 1.6c0 .1-.1.2-.2.2H17c-.1 0-.2-.1-.2-.2V15c0-.1.1-.2.2-.2h.5c.1 0 .2.1.2.2v.5zm0-1.6c0 .1-.1.2-.2.2H17c-.1 0-.2-.1-.2-.2v-.4c0-.2.1-.3.2-.3h.5c.1 0 .2.1.2.3v.4zm-5-7.6H5.9c-.6 0-1.1.5-1.1 1.1v.1c0 .2.2.3.4.3h8.3c.2 0 .4-.1.4-.3v-.1c-.1-.5-.6-1.1-1.2-1.1zm0 2.7H5.9c-.2 0-.4.1-.4.4v7.9c0 .2.2.4.4.4H8c.2 0 .4-.2.4-.4v-1.5c0-.2.2-.4.4-.4h1.1c.2 0 .3.2.3.4v1.5c0 .2.2.4.4.4h2.1c.2 0 .4-.2.4-.4V9.4c0-.3-.2-.4-.4-.4zm-3.9 5.1c0 .2-.2.3-.4.3h-.8c-.2 0-.4-.1-.4-.3v-.8c0-.2.2-.4.4-.4h.8c.2 0 .4.2.4.4v.8zm0-2.7c0 .2-.2.4-.4.4h-.8c-.2 0-.4-.2-.4-.4v-.7c0-.2.2-.4.4-.4h.8c.2 0 .4.2.4.4v.7zm2.6 2.7c0 .2-.2.3-.4.3h-.7c-.2 0-.4-.1-.4-.3v-.8c0-.2.2-.4.4-.4h.7c.2 0 .4.2.4.4v.8zm0-2.7c0 .2-.2.4-.4.4h-.7c-.2 0-.4-.2-.4-.4v-.7c0-.2.2-.4.4-.4h.7c.2 0 .4.2.4.4v.7z" + } + }, + strategy: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M18.3 9.8h-2.5c-.5 0-.9.4-.9 1v.6h-2.3V6.6c0-.1-.1-.3-.3-.3H9.1v-.6c0-.5-.4-.9-.9-.9H5.7c-.5 0-.9.4-.9.9v2.5c0 .5.4.9.9.9h2.5c.5 0 .9-.4.9-.9v-.6h2.3v3.8H9.1v-.6c0-.5-.4-1-.9-1H5.7c-.5 0-.9.5-.9 1v2.4c0 .5.4 1 .9 1h2.5c.5 0 .9-.5.9-1v-.6h2.3v3.8H9.1v-.6c0-.5-.4-.9-.9-.9H5.7c-.5 0-.9.4-.9.9v2.5c0 .5.4.9.9.9h2.5c.5 0 .9-.4.9-.9v-.6h3.2c.2 0 .3-.2.3-.3v-4.8h2.3v.6c0 .5.4.9.9.9h2.5c.5 0 .9-.4.9-.9v-2.4c0-.6-.4-1-.9-1zM8.2 8.2H5.7V5.7h2.5v2.5zm0 .4v-.4.4zm0 4.6H5.7v-2.4h2.5v2.4zm0 .5v-.5.5zm0 4.6H5.7v-2.5h2.5v2.5zm0 .4v-.4.4zm10.1-5.5h-2.5v-2.4h2.5v2.4zm0 .5v-.5.5z" + } + }, + survey: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.8 5.5h10.5c.5 0 1 .5 1 1v.9c0 .6-.5 1-1 1H5.8c-.6 0-1-.4-1-1v-.9c0-.5.4-1 1-1zm0 4.3h6c.5 0 .9.5.9 1v1c0 .5-.4.9-.9.9h-6c-.6 0-1-.4-1-.9v-1c0-.5.4-1 1-1zm10 2.7c1.9 0 3.4 1.5 3.4 3.3s-1.5 3.4-3.4 3.4-3.3-1.5-3.3-3.4 1.5-3.3 3.3-3.3zm1.9 2.6c.1-.1.1-.2 0-.3l-.3-.3c-.1-.1-.3-.1-.4 0l-1.8 2-.8-.8c-.1-.1-.2-.1-.3 0l-.3.3c-.1.1-.1.2 0 .3l1.1 1.1c.1.1.2.2.3.2.2 0 .3-.1.4-.2l2.1-2.3zm-11.9-.9h5.5c-.2.5-.3 1-.3 1.4 0 .5.1 1 .2 1.4H5.8c-.6 0-1-.4-1-.9v-1c0-.5.4-.9 1-.9z" + } + }, + system_and_global_variable: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.7 18.1c0-.8.4-1.5 1-1.9v-.9c-.3-.2-.5-.5-.6-.9-.1-.5 0-1.1.3-1.5l.3-.3c.1 0 .2-.1.3-.2.7-.3 1.4-.5 2.1-.5.6 0 1.2.2 1.6.6.6-.6 1.2-.7 1.6-.7.3 0 .6.1.9.2 0-4-3.2-7.2-7.2-7.2S4.8 8 4.8 12c0 3.9 3.2 7.2 7.2 7.2-.2-.3-.3-.6-.3-1.1zm6-6.8h-1.9c-.1-1.7-.4-3.2-1-4.3 1.6.8 2.7 2.4 2.9 4.3zm-5-4.7c.8.6 1.6 2.4 1.7 4.7h-1.7V6.6zm-6.4 6.1h1.9c.1 1.7.4 3.2 1 4.3-1.6-.8-2.7-2.4-2.9-4.3zm1.9-1.4H6.3C6.5 9.4 7.6 7.8 9.2 7c-.6 1.1-.9 2.6-1 4.3zm3.1 6.1c-.8-.6-1.6-2.4-1.7-4.7h1.7v4.7zm0-6.1H9.6c.1-2.3.9-4.1 1.7-4.7v4.7zm6.8 3.7c.3 0 1-.3 1-1.1s-.6-.9-.8-.9c-.4 0-.7.3-1 .8-.4.6-.7 1.2-.7 1.2h-.1c0-.4-.1-.7-.1-.8-.1-.4-.5-1.1-1.3-1.1s-1.6.5-1.6.5c-.1.1-.2.2-.2.4 0 .3.2.5.5.5.1 0 .1 0 .2-.1 0 0 .6-.3.8 0 0 .1 0 .3.1.4.1.5.3 1.2.4 1.7l-.5.8s-.6-.2-1-.2-.9.2-.9 1 .6.9.8.9c.3 0 .7-.3 1-.8.3-.6.7-1.2.7-1.2.1.5.2.9.2 1.1.2.6.7.9 1.3.9 0 0 .7 0 1.4-.4.2-.1.3-.3.3-.5s-.2-.5-.5-.5c-.1 0-.1.1-.2.1 0 0-.5.3-.7.1-.2-.3-.3-.6-.4-1 0-.4-.1-.8-.2-1.3l.5-.8c.1.1.7.3 1 .3z" + } + }, + task: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.2 5.7l-.5-.5c-.2-.2-.4-.2-.5 0L7 8.4 5.7 7.1c-.1-.2-.3-.2-.5 0l-.5.5c-.1.1-.1.3 0 .5l1.8 1.8c.1.1.3.2.5.2s.4-.1.5-.2l3.7-3.7c.1-.1.1-.4 0-.5zm7.3 3.4h-6.3c-.2 0-.4-.2-.4-.5v-.9c0-.3.2-.5.4-.5h6.3c.2 0 .5.2.5.5v.9c0 .3-.3.5-.5.5zm0 4.3h-7.7c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h7.7c.2 0 .5.2.5.5v1c0 .2-.3.4-.5.4zm-10.6 0H7c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm0 4.4H7c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5h.9c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5zm10.6 0h-7.7c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5h7.7c.2 0 .5.3.5.5v1c0 .2-.3.5-.5.5z" + } + }, + task2: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.2 17c-.3 0-.6-.1-.8-.3l-4.5-4.5c-.1-.2-.1-.5 0-.7l.9-.8c.2-.2.5-.2.7 0l3.7 3.7 7.3-7.3c.2-.2.5-.2.7 0l.9.9c.1.2.1.4 0 .6L11 16.7c-.2.2-.5.3-.8.3z" + } + }, + team_member: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M13.7 10.6h-2.9c-.8 0-1.4.6-1.4 1.4v2.2c0 .2.1.5.2.6.2.2.5.3.7.3v2.2c0 .8.7 1.4 1.5 1.4h.9c.8 0 1.5-.6 1.5-1.4v-2.2c.2 0 .5-.1.6-.3.2-.1.3-.4.3-.6V12c0-.8-.6-1.4-1.4-1.4z" + }, { + "d": "M8.8 16c-.1 0-.1-.1-.2-.1-.4-.5-.7-1.1-.7-1.7V12c0-.8.3-1.5.8-2 .2-.1 0-.4-.2-.4H6.2c-.8 0-1.4.6-1.4 1.4v2.2c0 .3.1.5.3.7.2.1.4.3.7.3v2.1c0 .8.6 1.5 1.4 1.5h1c.2 0 .4-.1.5-.2.1 0 .2-.1.2-.2v-1.2c0-.1 0-.1-.1-.2z" + }, { + "d": "M18.2 9.6h-2.3c-.2 0-.3.2-.1.4.5.5.8 1.2.8 2v2.2c0 .6-.3 1.2-.7 1.7-.1 0-.1.1-.2.1-.1.1-.1.1-.1.2v1.2c0 .1 0 .2.1.2.2.1.4.2.6.2h1c.8 0 1.4-.7 1.4-1.5v-2.1c.3 0 .5-.1.7-.3.2-.2.3-.4.3-.7V11c0-.8-.7-1.4-1.5-1.4z" + }], + "circle": [{ + "cx": "12.24", + "cy": "7.92", + "r": "1.68" + }, { + "cx": "7.68", + "cy": "6.96", + "r": "1.68" + }, { + "cx": "16.8", + "cy": "6.96", + "r": "1.68" + }] + }, + template: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm-7.5 11.8c0 .2-.2.3-.4.3H7.3c-.2 0-.3-.2-.3-.4v-4.8c0-.2.2-.3.3-.3h2.5c.2 0 .4.2.4.4v4.8zm6.8 0c0 .2-.2.4-.4.4H12c-.2 0-.4-.2-.4-.4v-4.9c0-.2.2-.3.4-.3h4.7c.1 0 .3.2.3.4v4.8zm0-7c0 .2-.2.3-.4.3H7.3c-.2 0-.3-.2-.3-.4V7.4c0-.2.2-.4.3-.4h9.4c.2 0 .3.2.3.4v2.2z" + } + }, + text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 18.7c-.1-1-.1-2-.1-3v-1.5c0-.4.1-.9-.1-1.3-.4-1-1.7-1.2-2.6-1.2-.5 0-1 .1-1.5.2-.3.1-.6.2-.9.4l.3.7c.1.2.1.3.1.5.6-.3 1.2-.5 1.9-.5 1 0 1.4.4 1.4 1.2v.3H17c-1.2 0-2.1.2-2.8.6-.7.4-1 1-1 1.9 0 .7.2 1.3.6 1.7.5.4 1 .5 1.7.5.6 0 1 0 1.4-.2s.7-.4.9-.7h.1c0 .1 0 .4.1.8h1.2v-.4zm-1.4-2.4c0 .1-.1.3-.1.5-.1.1-.1.2-.2.3-.3.4-.8.7-1.3.8-.3 0-.6 0-.9-.1-.3 0-.5-.1-.6-.4-.2-.3-.2-.8.1-1.1.1-.2.3-.3.5-.4.6-.2 1.3-.2 1.9-.2h.6v.6zm-4.6-2.8L9.8 5.1c-.1-.2-.2-.3-.4-.3H8.3c-.1 0-.3.1-.4.3l-3.1 8.4c0 .2.1.4.2.4h1.2c.2 0 .4-.2.4-.3l.8-2.2h3.1l.9 2.2c0 .1.2.3.4.3h1.1c.2 0 .4-.2.3-.4zM8 9.7l.9-2.3 1 2.3H8z" + } + }, + text_template: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.2 15.3c0-.9.7-1.5 1.6-1.5h2c-.4-.6-.3-1.3.2-1.8v-.1l.5-.5c.3-.2.7-.4 1.1-.4V6c0-.6-.6-1.2-1.2-1.2H6c-.6 0-1.2.5-1.2 1.2v8.4c0 .6.6 1.2 1.2 1.2h4.2v-.3zM6.6 6.6c0-.1.1-.2.3-.2h1.8c.2 0 .3.1.3.2v.9c0 .2-.1.3-.3.3H6.9c-.2 0-.3-.1-.3-.3v-.9zm0 2.7c0-.2.1-.3.3-.3h6.6c.1 0 .3.1.3.3v.8c0 .2-.2.3-.3.3H6.9c-.1 0-.3-.1-.3-.3v-.8zm0 3.4v-.8c0-.2.1-.3.3-.3h5.4c.2 0 .3.1.3.3v.8c0 .2-.1.3-.3.3H6.9c-.2 0-.3-.1-.3-.3zm9.3-.4v-.1c-.2-.1-.4-.1-.5.1l-.5.4c-.1.2-.1.4 0 .5l1.3 1.3c.1.1.1.1.1.2 0 .2-.1.3-.2.3h-4.3c-.2 0-.4.1-.4.3v.7c0 .2.2.3.4.4H16.2c.1.1.1.3 0 .4l-1.3 1.3c-.1.1-.1.4 0 .5l.5.5c.1.1.3.1.5 0l3.1-3.2c.2-.1.2-.3 0-.5l-3.1-3.1z" + } + }, + textarea: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 19.2H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4v11.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.3.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.2 0-.5.2-.5.5zm8.2 5.1c.2 0 .4.2.4.5v2.1c0 .2-.2.4-.4.4h-2.3c-.2 0-.4-.2-.4-.4s0-.4.2-.5l.4-.4c.3-.3.7-.6 1-.9l.6-.6c.1 0 .2-.1.2-.1.1-.1.2-.1.3-.1z" + } + }, + textbox: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 19.2H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4v11.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.3.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.2 0-.5.2-.5.5zm2 7.7V9.1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v5.8c0 .2-.2.4-.5.4h-.9c-.3 0-.5-.2-.5-.4z" + } + }, + thanks: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.8 8.4h-2.1c.6-.9.5-2.2-.2-3-.4-.4-1-.6-1.6-.6-.6 0-1.2.3-1.7.8-.1.1-.1.2-.2.3-.1-.1-.1-.2-.2-.3-.5-.5-1.1-.8-1.7-.8-.6 0-1.1.2-1.6.6-.7.8-.7 2.1-.1 3H6.2c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5h13.4c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4zm-6.5 0c-.5 0-1.2-.2-1.7-.6-.3-.4-.4-1 0-1.3.1-.2.3-.2.5-.2s.4.1.6.3c.4.4.6 1.2.6 1.7v.1zm3.1-.6c-.5.4-1.2.6-1.7.6v-.1c0-.5.2-1.3.6-1.7.2-.2.4-.4.6-.4.2 0 .4.1.5.2.3.4.3 1 0 1.4zm3.4 4.9h-5.1v6.5h4.1c.8 0 1.4-.6 1.4-1.4v-4.6c0-.3-.2-.5-.4-.5zm-12 .5v4.6c0 .8.6 1.4 1.4 1.4h4.1v-6.5H6.2c-.2 0-.4.2-.4.5z" + } + }, + thanks_loading: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "opacity": ".5", + "d": "M17.8 8.4h-2.1c.6-.9.5-2.2-.2-3-.4-.4-1-.6-1.6-.6-.6 0-1.2.3-1.7.8-.1.1-.1.2-.2.3-.1-.1-.1-.2-.2-.3-.5-.5-1.1-.8-1.7-.8-.6 0-1.1.2-1.6.6-.7.8-.7 2.1-.1 3H6.2c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5h13.4c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4zm-6.5 0c-.5 0-1.2-.2-1.7-.6-.3-.4-.4-1 0-1.3.1-.2.3-.2.5-.2s.4.1.6.3c.4.4.6 1.2.6 1.7v.1zm3.1-.6c-.5.4-1.2.6-1.7.6v-.1c0-.5.2-1.3.6-1.7.2-.2.4-.4.6-.4.2 0 .4.1.5.2.3.4.3 1 0 1.4zm3.4 4.9h-5.1v6.5h4.1c.8 0 1.4-.6 1.4-1.4v-4.6c0-.3-.2-.5-.4-.5zm-12 .5v4.6c0 .8.6 1.4 1.4 1.4h4.1v-6.5H6.2c-.2 0-.4.2-.4.5z" + } + }, + timesheet: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17 4.8H7c-1 0-1.9.8-1.9 1.9v10.6c0 1 .9 1.9 1.9 1.9h10c1 0 1.9-.9 1.9-1.9V6.7c0-1.1-.9-1.9-1.9-1.9zm-.6 11.3c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.6c0-.4.3-.7.6-.7h7.5c.4 0 .7.3.7.7v.6zm0-3.8c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.6c0-.3.3-.6.6-.6h7.5c.4 0 .7.3.7.6v.6zm0-3.7c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.7c0-.3.3-.6.6-.6h7.5c.4 0 .7.3.7.6v.7z" + } + }, + timesheet_entry: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17 4.8H7c-1 0-1.9.8-1.9 1.9v10.6c0 1 .9 1.9 1.9 1.9h10c1 0 1.9-.9 1.9-1.9V6.7c0-1.1-.9-1.9-1.9-1.9zm-.6 11.3c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.6c0-.4.3-.7.6-.7h7.5c.4 0 .7.3.7.7v.6zM9.8 12l.4-.3c0-.1.2-.1.3 0l.9.8 2.1-2.1c.1-.1.3-.1.3 0l.4.3c.1.1.1.3 0 .3l-2.5 2.6c-.1.1-.2.1-.3.1-.1 0-.3 0-.4-.1l-1.2-1.2c-.1-.2-.1-.3 0-.4zm6.6-3.4c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.7c0-.3.3-.6.6-.6h7.5c.4 0 .7.3.7.6v.7z" + } + }, + timeslot: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M17 4.8H7a1.9 1.9 0 0 0-1.9 1.9v10.6A1.9 1.9 0 0 0 7 19.2h10a1.9 1.9 0 0 0 1.9-1.9V6.7A1.9 1.9 0 0 0 17 4.8zM7.6 7.9a.6.6 0 0 1 .7-.6h3.2a.6.6 0 0 1 .6.6v.6a.6.6 0 0 1-.6.7H8.3a.6.6 0 0 1-.7-.7zm8.7 8.2a.6.6 0 0 1-.6.6h-3.2a.6.6 0 0 1-.6-.6v-.6a.6.6 0 0 1 .6-.7h3.2a.6.6 0 0 1 .6.7zm.1-3a.7.7 0 0 1-.6.6H8.3a.6.6 0 0 1-.7-.6v-2.2a.6.6 0 0 1 .7-.6h7.5a.6.6 0 0 1 .6.6z", + "fill-rule": "evenodd" + } + }, + today: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 13c-3.2 0-5.8-2.6-5.8-5.8S8.8 6.2 12 6.2s5.8 2.6 5.8 5.8-2.6 5.8-5.8 5.8zm.7-6.1V8.6c0-.2-.2-.4-.5-.4h-.4c-.3 0-.5.2-.5.4V12c0 .2.1.4.2.5l2.3 2.3c.2.2.5.2.7 0l.3-.3c.2-.2.2-.5 0-.7l-2.1-2.1z" + } + }, + topic: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.7 8.9c.1.2.2.3.4.4l.5.1c.1 0 .2 0 .3-.1l1.1-2c.3-.4.1-.6-.4-.3l-1.9 1.1c-.1.1-.2.2-.1.3l.1.5zm-6.6.4c.1.1.2.1.3.1l.5-.1c.2-.1.3-.2.4-.4l.1-.5c0-.1 0-.2-.1-.3L7.3 7c-.4-.3-.6-.1-.3.4l1.1 1.9zm7.8 5.4c-.1-.1-.2-.1-.3-.1l-.5.1c-.2.1-.3.2-.4.4l-.1.5c0 .1 0 .2.1.3l2 1.1c.4.3.6.1.3-.4l-1.1-1.9zm-6.6.4c-.1-.2-.2-.3-.4-.4l-.5-.1c-.1 0-.2 0-.3.1l-1.1 2c-.3.4-.1.6.4.3l1.9-1.1c.1-.1.2-.2.1-.3l-.1-.5zm9.5-3.3l-4.9-1.4c-.2 0-.3-.1-.3-.3l-1.4-4.9c-.1-.5-.3-.5-.5 0l-1.3 4.9c0 .2-.2.3-.3.3l-4.9 1.4c-.5.1-.5.3 0 .5l4.9 1.3c.2 0 .3.2.3.3l1.4 4.9c.1.5.3.5.5 0l1.3-4.9c0-.2.2-.3.3-.3l4.9-1.4c.5-.1.5-.3 0-.4zM12 13.2c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2z" + } + }, + topic2: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.8 8.2h-1.9l.8-3.1V5c0-.1-.1-.2-.3-.2h-1.5c-.1 0-.2.1-.2.2l-.8 3.2h-3.8l.8-3.1V5c0-.1-.1-.2-.2-.2h-1.5c-.2 0-.3.1-.3.2l-.8 3.2H7c-.2 0-.2.1-.3.2l-.4 1.4v.1c0 .1.1.2.3.2h2l-1 3.7h-2c-.1 0-.2 0-.2.1L5 15.4c0 .1.1.2.2.2h1.9l-.8 3.2v.1c0 .1.1.2.3.2h1.5c.1 0 .2-.1.2-.2l.8-3.3h3.8l-.8 3.2c0 .2.1.3.2.3h1.5c.2 0 .3-.1.3-.2l.8-3.3H17c.1 0 .2-.1.3-.2l.3-1.4v-.1c0-.1-.1-.2-.2-.2h-2l1-3.7h2c.1 0 .2 0 .2-.2l.4-1.4c0-.1-.1-.2-.2-.2zm-5.4 5.6H9.6l1-3.6h3.8l-1 3.6z" + } + }, + trailhead: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.4 14.5h.9l-.4-1.3.4-1.4h-1.5c-.2-.8-.6-1.6-1.1-2.4-.5-.7-1.1-1.4-1.9-2.1-.7-.6-1.6-1.1-2.8-1.6h-.1s-.4.2-1 .4c-.5.3-1 .6-1.6 1.1-.9.6-1.9 1.6-2.6 3-.2.5-.4 1-.6 1.6H4.8l.4 1.4-.4 1.3h.7v2.2l.1.1s.7.3 1.8.7c1.2.4 2.8.8 4.7.8 1.5 0 3.2-.3 4.9-.9.5-.2.9-.4 1.4-.6l.1-.1v-.1-.8c0-.3 0-.8-.1-1.3zm-13-.5l.2-.8-.2-.9h13.2l-.2.9.2.8H5.4zm2.4-2.2l.9-1.6v-.1l.9-1.3 1.3 1.7.8-.8.9 1.1 1.4-2 2.2 3H7.8zm-.9-.9c.2-.4.3-.7.5-1 .1-.1.1-.1.1-.2l.1-.1c1.8-2.7 4.3-3.5 4.3-3.5h.1c1.8.8 3.1 1.9 4 3.1.2.4.5.7.7 1.1.3.5.5 1 .6 1.5h-.5c-.7-2-2.1-4-4.9-5.2-.5.2-3.5 1.3-4.9 5.2h-.5c.1-.3.2-.6.4-.9zM18 16.3v.1l-.1.1c-2 1-4.1 1.4-5.8 1.4-3.2 0-5.6-1.2-6-1.4l-.1-.1h-.1v-.1c0-.6.1-1.2.1-1.8h.5c-.1.5-.1 1.1-.1 1.7.5.2 2.2.9 4.5 1.2.5-.3.9-1 0-1.7s-.1 0-.1 0v-.1h-.1v-.1-.1c-.2-.3 0-.6.7-.6.3 0 1.1 0 .8-.3h.4c.2.3.2.6-1 .7-.2.1-.2.1-.2.2h.2c1.2.3 1.5 1.2 1.4 1.8 1.4-.1 2.9-.4 4.5-1.2 0-.3 0-.9-.1-1.6h.5c0 .1 0 .3.1.4.1.9 0 1.4 0 1.5z" + } + }, + unmatched: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.8 11.2c-.1-.1-.2-.2-.3-.2h-7c-.1 0-.2.1-.3.2v1.6c.1.1.2.2.3.2h7c.1 0 .2-.1.3-.2V12v-.8zM12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 12.5c-2.9 0-5.3-2.4-5.3-5.3S9.1 6.7 12 6.7s5.3 2.4 5.3 5.3-2.4 5.3-5.3 5.3z" + } + }, + user: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 17.1v.7c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4v-.7c0-1.8 2-2.8 4-3.7 0 0 .1 0 .2-.1.1 0 .3 0 .4.1.8.5 1.7.8 2.6.8.9 0 1.8-.3 2.6-.8.1-.1.3-.1.4 0 .1 0 .2 0 .2.1 2 .8 4 1.8 4 3.6z" + }, + "ellipse": { + "cx": "12", + "cy": "8.76", + "rx": "3.576", + "ry": "3.96" + } + }, + user_role: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.6 15.2c0-.8.2-1.7.7-2.5.5-.8 1-1.2 1.5-1.9.7-1.1.9-2.7.4-3.9-.5-1.2-1.6-1.9-2.9-1.9s-2.4.9-2.8 2.1c-.5 1.3-.3 3 .8 4 .4.4.8 1 .6 1.7-.2.6-.9.8-1.4 1.1-1.2.5-2.6 1.2-2.8 2.6-.3 1.1.5 2.3 1.7 2.3h5.1c.3 0 .4-.3.3-.5-.8-.9-1.2-2-1.2-3.1zm4.8-3.6c-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.6zm.6 3.9h-.3l-1.4 1.3c-.1.1-.2.2-.3.2-.1 0-.2-.1-.2-.2-.2-.1-.2-.4 0-.6l1.3-1.3v-.3c-.1-.6.4-1.2 1.1-1.2h.2c.1 0 .1.1.1.1l-.7.6v.2l.4.4h.2l.6-.6h.1c0 .1.1.2.1.3 0 .7-.5 1.2-1.2 1.1z" + } + }, + variable: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17 9.5c.8 0 2.2-.6 2.2-2.5s-1.4-2.1-1.8-2.1c-.9 0-1.7.7-2.5 1.9-.7 1.4-1.6 2.8-1.6 2.8-.2-.9-.3-1.7-.4-2-.1-.8-1.1-2.6-3-2.6S6.2 6.1 6.2 6.1c-.3.3-.5.6-.5 1 0 .7.5 1.2 1.2 1.2.2 0 .3 0 .5-.1 0 0 1.4-.8 1.7 0 .1.2.2.5.3.8.4 1.2.7 2.7 1 4.1l-1.2 1.8s-1.4-.5-2.2-.5-2.2.6-2.2 2.5S6.2 19 6.6 19c.9 0 1.7-.6 2.5-1.9.7-1.3 1.6-2.8 1.6-2.8.2 1.2.4 2.2.5 2.6.5 1.3 1.6 2.2 3.1 2.2 0 0 1.5 0 3.3-1.1.4-.1.7-.6.7-1 0-.7-.5-1.2-1.2-1.2-.2 0-.3 0-.5.1 0 0-1.2.7-1.7.2-.3-.6-.5-1.4-.7-2.4-.2-.8-.4-1.8-.6-2.8L14.8 9c.1 0 1.5.5 2.2.5z" + } + }, + visit_templates: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.2 13.9c-.3 0-.5-.2-.5-.5V13c0-.3.2-.5.5-.5H12c.1 0 .2 0 .3.1.8-.8 1.9-1.4 3.1-1.5V6.2c0-.8-.7-1.4-1.5-1.4H6.2c-.8 0-1.4.6-1.4 1.4v8.2c0 .8.6 1.4 1.4 1.4H11c0-.6.2-1.3.4-1.9H7.2zm-.5-6.7c0-.3.2-.5.5-.5H12c.3 0 .5.2.5.5v.5c0 .2-.2.5-.5.5H7.2c-.3 0-.5-.3-.5-.5v-.5zm0 2.9c0-.3.2-.5.5-.5H13c.2 0 .4.2.4.5v.5c0 .2-.2.4-.4.4H7.2c-.3 0-.5-.2-.5-.4v-.5zm9.1 2.4c-1.8 0-3.3 1.5-3.3 3.3s1.5 3.4 3.3 3.4 3.4-1.5 3.4-3.4-1.5-3.3-3.4-3.3zm1.9 2.5l-2.1 2.3c-.1.1-.2.2-.3.2-.2 0-.3-.1-.4-.2l-1.1-1.1c-.1-.1-.1-.2 0-.3l.3-.3c.1-.1.3-.1.3 0l.9.8 1.8-2c.1-.1.2-.1.3 0l.3.3c.1.1.1.2 0 .3z" + } + }, + visits: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M12.1 12.7c.7-.9 1.3-1.3 1.7-2 .8-1.2 1-2.8.5-4.1-.5-1.2-1.7-2-3.1-1.9s-2.4.8-2.9 2.1c-.5 1.4-.3 3.1.9 4.1.4.5.9 1.1.6 1.8-.2.6-.9.9-1.5 1.1-1.2.6-2.6 1.3-2.9 2.7-.2 1.2.6 2.4 1.8 2.4h5.6c.3 0 .5-.3.4-.4-.8-.9-1.6-2.1-1.6-3.3-.1-.8.1-1.8.5-2.5zm3.5 3.2c-.7 0-1.2-.5-1.2-1.1s.5-1.2 1.2-1.2c.6 0 1.2.5 1.2 1.2 0 .6-.6 1.1-1.2 1.1zm0-4c-1.6 0-2.9 1.3-2.9 2.9 0 1.9 2 3.8 2.7 4.2.1.1.2.1.3 0 .7-.5 2.7-2.3 2.7-4.2 0-1.6-1.3-2.9-2.8-2.9z" + } + }, + visualforce_page: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M13.3 12.9c-.1 0-.3-.2-.3-.3v-1.8c0-.1.1-.3.3-.3h1.8c.1 0 .3.2.3.3v1.8c0 .1-.1.3-.3.3h-1.8zm.8 1L13 15v.3l1.1 1.1c0 .1.2.1.2 0l1.1-1.1V15l-1.1-1.1c0-.1-.2-.1-.2 0z" + }, { + "d": "M8.7 10.9l.9-.5h.3l.9.5c.1.1.2.2.2.3v1c0 .1-.1.2-.2.3l-.9.5h-.3l-.9-.5c0-.1-.1-.2-.1-.3v-1c0-.1 0-.2.1-.3zm9-6.1H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm0 12.4c0 .3-.2.5-.5.5H6.8c-.3 0-.5-.2-.5-.5v-8h11.4v8zm0-9.5H6.3v-.9c0-.3.2-.5.5-.5h10.4c.3 0 .5.2.5.5v.9z" + }], + "circle": { + "cx": "9.768", + "cy": "15.12", + "r": "1.176" + } + } + }, + waits: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 9.7c0-.2-.2-.4-.5-.4h-6.2c-.3 0-.5.2-.5.4v.9c0 .2.2.5.5.5h4.2l-4.6 5.7c-.1 0-.1.1-.1.2v.9c0 .3.2.5.4.5h6.3c.3 0 .5-.2.5-.5V17c0-.2-.2-.4-.5-.4h-4.2l4.6-5.6c.1-.1.1-.2.1-.3v-1zM12 6.1c0-.3-.2-.5-.5-.5H5.3c-.3 0-.5.2-.5.5V7c0 .2.2.4.5.4h4.2l-4.6 5.7c-.1.1-.1.2-.1.3v.9c0 .2.2.4.5.4h6.3c.2 0 .4-.2.4-.4v-.9c0-.3-.2-.5-.4-.5H7.3l4.6-5.6c.1-.1.1-.2.1-.3v-.9z" + } + }, + work_capacity_limit: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.2 7l-2.1-2.1c-.1-.1-.2-.1-.3-.1-.2 0-.3.1-.3.3v1.6c0 .5.4.9.9.9H18c.1 0 .3-.2.3-.3 0-.1 0-.2-.1-.3zM7.1 15V7.6c-.8 0-1.4.6-1.4 1.4v8.8c0 .8.6 1.4 1.4 1.4h7c.8 0 1.4-.6 1.4-1.4H9.9c-1.5 0-2.8 0-2.8-2.8zm5.3-4.4v2.2h2s.1-.8-.6-1.5-1.4-.7-1.4-.7zM17.8 9h-2.3c-.8 0-1.4-.6-1.5-1.4V5.3c.1-.3-.1-.5-.4-.5H9.9c-.8 0-1.4.6-1.4 1.4V15c0 .8.6 1.4 1.4 1.4h7c.7 0 1.4-.6 1.4-1.4V9.5c0-.3-.2-.5-.5-.5zm-2.6 3.7c0 1.6-1.3 2.9-2.8 2.8s-2.8-1.3-2.8-2.8c0-1.6 1.3-2.9 2.8-2.8 1.6 0 2.8 1.3 2.8 2.8z" + } + }, + work_capacity_usage: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zm2.6 3.9v2.8h2.5s.2-1-.7-1.9-1.8-.9-1.8-.9zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-1.7 8.2c0 2-1.7 3.6-3.6 3.6-2 0-3.6-1.6-3.6-3.6s1.7-3.6 3.6-3.6c2 0 3.6 1.7 3.6 3.6z" + } + }, + work_order: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M15.6 12.5c-.8.4-1.2 1.2-1.2 1.3-.1.2-.2.2-.2.2H9.9c-.1 0-.2-.1-.2-.2-.4-.8-1.2-1.4-2.2-1.4-.9 0-1.6.4-2 1.2-.1.1-.2.1-.3 0-.3-.2-.4-.5-.4-.9 0 0-.1-2.7.8-4.2.2-.2.3-.3.5-.3h9.1c.1 0 .2 0 .3.1 0 0 1 1.5 1.2 1.6.1.2.2.3.5.3.2.1 2 .7 2 .7v1.8c0 .4-.1.7-.3.9-.1.1-.2 0-.3-.1-.4-.7-1.1-1.2-2-1.2-.4 0-.7.1-1 .2" + }, + "ellipse": [{ + "cx": "16.56", + "cy": "14.664", + "rx": "1.176", + "ry": "1.176" + }, { + "cx": "7.56", + "cy": "14.664", + "rx": "1.176", + "ry": "1.176" + }] + }, + work_order_item: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zM16 11.8l-4.6 4.6c-.1.1-.2.2-.4.2s-.3-.1-.5-.2L8 13.8c-.2-.1-.2-.3 0-.4l.5-.5c.1-.1.2-.1.4 0L11 15l4.1-4.1c.1-.1.3-.1.4 0l.5.5c.1.1.1.3 0 .4z" + } + }, + work_queue: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M11.5 17.2H5.3c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h6.2c.2 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm0-8.6H5.3c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h6.2c.2 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm3.2 7.4c.2.2.5.2.7 0l3.6-3.7c.2-.1.2-.4.1-.6H19L15.4 8c-.2-.2-.5-.2-.7-.1V8l-.7.7c-.2.1-.2.4 0 .6l1.2 1.2c.1.1.1.3 0 .4-.1.1-.2.1-.2.1H5.3c-.3 0-.5.3-.5.5v1c0 .2.2.4.5.5H15c.2 0 .3.1.3.3 0 0 0 .1-.1.2l-1.1 1.1c-.2.2-.2.5-.1.7h.1l.6.7z" + } + }, + work_type: { + "xmlns": "http://www.w3.org/2000/svg", + "title": {}, + "path": { + "d": "M18.2 7L16 4.9a.3.3 0 0 0-.2-.1.3.3 0 0 0-.3.3v1.6a.9.9 0 0 0 .9.9H18a.3.3 0 0 0 .3-.3.4.4 0 0 0-.1-.3zM7.1 15V7.6A1.4 1.4 0 0 0 5.7 9v8.8a1.4 1.4 0 0 0 1.4 1.4h7a1.4 1.4 0 0 0 1.4-1.4H9.9c-1.5 0-2.8 0-2.8-2.8zm10.7-6h-2.3a1.4 1.4 0 0 1-1.4-1.4V5.3a.4.4 0 0 0-.5-.5H9.9a1.4 1.4 0 0 0-1.4 1.4V15a1.4 1.4 0 0 0 1.4 1.4h7a1.4 1.4 0 0 0 1.4-1.4V9.5a.5.5 0 0 0-.5-.5zM12 14.9a.6.6 0 0 1-.6.6h-1.2a.6.6 0 0 1-.6-.6v-1.2a.6.6 0 0 1 .6-.6h1.2a.6.6 0 0 1 .6.6zm0-3.3a.6.6 0 0 1-.6.6h-1.2a.6.6 0 0 1-.6-.6v-1.2a.6.6 0 0 1 .6-.5h1.2a.6.6 0 0 1 .6.5zm3.3 3.3a.6.6 0 0 1-.6.6h-1.2a.6.6 0 0 1-.6-.6v-1.2a.6.6 0 0 1 .6-.6h1.2a.6.6 0 0 1 .6.6zm0-3.3a.6.6 0 0 1-.6.6h-1.2a.6.6 0 0 1-.6-.6v-1.2a.6.6 0 0 1 .6-.6h1.2a.6.6 0 0 1 .6.6z", + "fill-rule": "evenodd" + } + }, + work_type_group: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 7s0-.1-.1-.2l-2-1.9c0-.1-.1-.1-.1-.1h-5.3c-.7 0-1.3.6-1.3 1.2v6.4c0 .7.5 1.3 1.2 1.3h6.3c.7 0 1.3-.6 1.3-1.3V7zm-5.7 5.1c0 .3-.2.5-.5.5h-1.1c-.3 0-.5-.2-.5-.5V11c0-.3.2-.6.5-.6H13c.3 0 .6.3.6.6l-.1 1.1zm0-3c0 .3-.2.5-.5.5h-1.1c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5H13c.3 0 .6.2.6.5l-.1 1.1zm3 3c0 .3-.2.5-.5.5h-1.1c-.3 0-.5-.2-.5-.5V11c0-.3.2-.6.5-.6H16c.3 0 .5.3.5.6v1.1zm0-3c0 .3-.2.5-.5.5h-1.1c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5H16c.3 0 .5.2.5.5v1.1zM10.3 15c-.7 0-1.3-.5-1.3-1.2V7.2c-.8 0-1.4.6-1.4 1.4V15c0 .8.4 1.4 1.4 1.4h6c.8 0 1.4-.6 1.4-1.4h-6.1zm-2.8 2.8c-.7 0-1.3-.5-1.3-1.2V10c-.8 0-1.4.6-1.4 1.4v6.4c0 .8.4 1.4 1.4 1.4h6c.8 0 1.4-.6 1.4-1.4H7.5z" + } + }, + viewBox: '0 0 24 24' + }; +} + +/* harmony default export */ var standard = (standard_icons); +// CONCATENATED MODULE: ./components/utilities/UNSAFE_direction/private/language-direction.jsx +function language_direction_typeof(obj) { 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_possibleConstructorReturn(self, call) { if (call && (language_direction_typeof(call) === "object" || typeof call === "function")) { return call; } return language_direction_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function LanguageDirection() { + var _getPrototypeOf2; + + 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 = language_direction_possibleConstructorReturn(this, (_getPrototypeOf2 = language_direction_getPrototypeOf(LanguageDirection)).call.apply(_getPrototypeOf2, [this].concat(args))); + + language_direction_defineProperty(language_direction_assertThisInitialized(_this), "getWrappedComponent", function (value) { + return 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 (// 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(svg, utility_icon_extends({ + data: inlineData, + name: name + }, rest)) : external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", utility_icon_extends({ + key: "".concat(name, "_").concat(category) + }, rest), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("use", { + xlinkHref: 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 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 = function ifOneThenBothRequiredPropertyFunction() {}; + +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__(29); + +// EXTERNAL MODULE: ./node_modules/popper.js/dist/esm/popper.js +var esm_popper = __webpack_require__(30); + +// EXTERNAL MODULE: ./node_modules/lodash.isequal/index.js +var lodash_isequal = __webpack_require__(10); +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) { 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_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_getPrototypeOf(o) { portal_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return portal_getPrototypeOf(o); } + +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); } + +/* 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); + + function Portal(props) { + var _this; + + portal_classCallCheck(this, Portal); + + _this = portal_possibleConstructorReturn(this, portal_getPrototypeOf(Portal).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) { 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_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_getPrototypeOf(o) { icon_settings_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return icon_settings_getPrototypeOf(o); } + +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); } + +/* 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); + + function IconSettings() { + icon_settings_classCallCheck(this, IconSettings); + + return icon_settings_possibleConstructorReturn(this, icon_settings_getPrototypeOf(IconSettings).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) { 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 _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { dialog_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (dialog_typeof(call) === "object" || typeof call === "function")) { return call; } return dialog_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function Dialog() { + var _getPrototypeOf2; + + 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 = dialog_possibleConstructorReturn(this, (_getPrototypeOf2 = dialog_getPrototypeOf(Dialog)).call.apply(_getPrototypeOf2, [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({}, popperData.style, { + left: left, + top: 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(); + } + } + }, { + key: "componentWillUpdate", + value: function 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({}, 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({}, style, this.props.style); + var outerTag = this.props.variant === 'popover' ? 'section' : 'div'; + var contents = 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({}, accumulatedContext, dialog_defineProperty({}, key, _this2.context[key])); + }, {}); + var wrapped = // eslint-disable-next-line + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(UNSAFE_DirectionSettings.Provider, { + value: _this2.props.direction + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(icon_settings, truthyIconSettingsContext, contents)); + return 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__(31); + +// 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__(32); +var icon_backgrounds_default = /*#__PURE__*/__webpack_require__.n(icon_backgrounds); + +// CONCATENATED MODULE: ./components/icon/index.jsx +function icon_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { icon_defineProperty(target, key, 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_defaultProps.assistiveText, props.assistiveText).label; + var kababCaseName = name ? name.replace(/_/g, '-') : ''; + return 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 + }, 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 ? 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__(33); + +// CONCATENATED MODULE: ./components/tooltip/index.jsx +function tooltip_typeof(obj) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { tooltip_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (tooltip_typeof(call) === "object" || typeof call === "function")) { return call; } return tooltip_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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]), + + /** + * 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, + + /** + * 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: 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); + + function Tooltip(props) { + var _this; + + tooltip_classCallCheck(this, Tooltip); + + _this = tooltip_possibleConstructorReturn(this, tooltip_getPrototypeOf(Tooltip).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: "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 = [external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: "javascript:void(0)", + onClick: this.props.onClickTrigger + }, 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 = [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 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 ? 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()) : external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null); + } + }, { + key: "getTooltipContent", + value: function getTooltipContent() { + return 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 ? 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, ' ', 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() { + return this.props.target ? this.props.target : this.trigger; + } + }, { + key: "render", + value: function render() { + var containerStyles = tooltip_objectSpread({ + display: 'inline-block' + }, this.props.triggerStyle); + + return 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.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-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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { button_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (button_typeof(call) === "object" || typeof call === "function")) { return call; } return button_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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-*` 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); + + function Button(props) { + var _this; + + button_classCallCheck(this, Button); + + _this = button_possibleConstructorReturn(this, button_getPrototypeOf(Button).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 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_defaultProps.assistiveText, _this.props.assistiveText).icon; + return iconOnly && assistiveTextIcon ? 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 formProps = getFormProps(_this.props); + return (// 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, + type: _this.props.type || 'button', + style: _this.props.style + }, ariaProps, formProps), _this.props.iconPosition === 'right' ? _this.renderLabel() : null, _this.props.iconName || _this.props.iconPath ? _this.renderIcon(_this.props.iconName) : null, _this.props.iconVariant === 'more' ? 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 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-accordion__list-item" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("section", { + className: classnames_default()('slds-accordion__section', { + 'slds-is-open': expanded + }) + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-accordion__summary" + }, 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" + }, 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: title || summary + }, summary))), panelContentActions), 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__(34); + +// CONCATENATED MODULE: ./components/alert/index.jsx +function alert_typeof(obj) { 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_possibleConstructorReturn(self, call) { if (call && (alert_typeof(call) === "object" || typeof call === "function")) { return call; } return alert_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function Alert(props) { + var _this; + + alert_classCallCheck(this, Alert); + + _this = alert_possibleConstructorReturn(this, alert_getPrototypeOf(Alert).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: external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "info" + }), + offline: external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "offline" + }), + warning: external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "warning" + }), + error: 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: this.props.iconCategory, + name: this.props.iconName + }); + } + + var clonedIcon = 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 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveTextVariant[this.props.variant]), clonedIcon, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", null, heading, ' ', labels.headingLink ? 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 ? 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) { 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_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_getPrototypeOf(o) { container_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return container_getPrototypeOf(o); } + +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); } + +/* 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); + + function AlertContainer() { + container_classCallCheck(this, AlertContainer); + + return container_possibleConstructorReturn(this, container_getPrototypeOf(AlertContainer).apply(this, arguments)); + } + + container_createClass(AlertContainer, [{ + key: "render", + value: function render() { + return 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__(35); + +// CONCATENATED MODULE: ./components/modal/index.jsx +function modal_typeof(obj) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { modal_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (modal_typeof(call) === "object" || typeof call === "function")) { return call; } return modal_assertThisInitialized(self); } + +function modal_getPrototypeOf(o) { modal_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return modal_getPrototypeOf(o); } + +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_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); } + +/* 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); + + function Modal(props) { + var _this; + + modal_classCallCheck(this, Modal); + + _this = modal_possibleConstructorReturn(this, modal_getPrototypeOf(Modal).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({}, 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({}, 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 (// 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' + }, 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(), 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 = // 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_defaultProps.assistiveText, this.props.assistiveText); + + var closeButtonAssistiveText = this.props.closeButtonAssistiveText || assistiveText.closeButton; + var closeButton = 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null, this.props.toast, 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-m-top_x-small" + }, this.props.tagline) : null); + } + + return (// 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 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(), 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { app_launcher_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (app_launcher_typeof(call) === "object" || typeof call === "function")) { return call; } return app_launcher_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + // ### 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 = app_launcher_possibleConstructorReturn(this, app_launcher_getPrototypeOf(AppLauncher).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 = 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 = 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, 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 : 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_defaultProps.assistiveText, this.props.assistiveText); + + var triggerAssistiveText = this.props.triggerAssistiveText || assistiveText.trigger; + return 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-context-bar__icon-action" + }, 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon-waffle" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r1" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r2" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r5" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r6" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r7" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r8" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r9" + })), triggerAssistiveText && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, triggerAssistiveText))), 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 ? 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 : 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) { 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_possibleConstructorReturn(self, call) { if (call && (expandable_section_typeof(call) === "object" || typeof call === "function")) { return call; } return expandable_section_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function ExpandableSection(props) { + var _this; + + expandable_section_classCallCheck(this, ExpandableSection); + + _this = expandable_section_possibleConstructorReturn(this, expandable_section_getPrototypeOf(ExpandableSection).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 = 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 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) + }, 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 ? 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), 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { app_launcher_expandable_section_defineProperty(target, key, 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_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_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_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_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_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); + + // ### 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 = app_launcher_expandable_section_possibleConstructorReturn(this, app_launcher_expandable_section_getPrototypeOf(AppLauncherExpandableSection).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({}, 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: liClasses + }, child); + }); + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(expandable_section, expandableSectionProps, 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 = 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 = 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, children); + } + + if (typeof props.children === 'string') { + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: props.className, + title: props.children + }, props.children); + } + + return 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) { 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_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_getPrototypeOf(o) { link_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return link_getPrototypeOf(o); } + +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_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); + + function AppLauncherLink() { + link_classCallCheck(this, AppLauncherLink); + + return link_possibleConstructorReturn(this, link_getPrototypeOf(AppLauncherLink).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 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 + }, 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__(36); +var lodash_memoize_default = /*#__PURE__*/__webpack_require__.n(lodash_memoize); + +// CONCATENATED MODULE: ./components/utilities/truncate/index.jsx +function truncate_typeof(obj) { 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_possibleConstructorReturn(self, call) { if (call && (truncate_typeof(call) === "object" || typeof call === "function")) { return call; } return truncate_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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() {}; + +if (truncate_documentDefined) { + canvas = document.createElement('canvas'); + 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); + + function TextTruncate() { + var _getPrototypeOf2; + + 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 = truncate_possibleConstructorReturn(this, (_getPrototypeOf2 = truncate_getPrototypeOf(TextTruncate)).call.apply(_getPrototypeOf2, [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 = 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: "componentWillReceiveProps", + value: function componentWillReceiveProps(nextProps) { + 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 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) { 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_possibleConstructorReturn(self, call) { if (call && (tile_typeof(call) === "object" || typeof call === "function")) { return call; } return tile_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function AppLauncherTile(props) { + var _this; + + tile_classCallCheck(this, AppLauncherTile); + + _this = tile_possibleConstructorReturn(this, tile_getPrototypeOf(AppLauncherTile).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 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-app-launcher__tile-figure" + }, this.props.iconNode || external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-avatar slds-avatar_large" + }, 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)), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-m-top_xxx-small" + }, 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)))), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-app-launcher__tile-body" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: this.props.href // eslint-disable-line no-script-url + + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utilities_highlighter, { + search: this.props.search + }, this.props.title)), 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: external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tooltip, { + align: "bottom", + content: 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 + }, 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 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 && // 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, ' '), 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__(37); + +// CONCATENATED MODULE: ./components/avatar/index.jsx +function avatar_typeof(obj) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { avatar_defineProperty(target, key, 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_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_getPrototypeOf(o) { avatar_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return avatar_getPrototypeOf(o); } + +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); } + +/* 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); + + function Avatar(props) { + var _this; + + avatar_classCallCheck(this, Avatar); + + _this = avatar_possibleConstructorReturn(this, avatar_getPrototypeOf(Avatar).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 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_defaultProps.assistiveText, this.props.assistiveText).icon; + return 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 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 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.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) { 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_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_getPrototypeOf(o) { badge_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return badge_getPrototypeOf(o); } + +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); } + +/* 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); + + function Badge(props) { + var _this; + + badge_classCallCheck(this, Badge); + + _this = badge_possibleConstructorReturn(this, badge_getPrototypeOf(Badge).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 = 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 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' + }, this.props.className) + }, this.props.iconAlignment === 'left' ? 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) : 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']), + + /** + * 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { brand_band_defineProperty(target, key, 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_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_getPrototypeOf(o) { brand_band_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return brand_band_getPrototypeOf(o); } + +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); } + +/* 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); + + brand_band_createClass(BrandBand, null, [{ + key: "injectLightningBlueStyles", + value: function injectLightningBlueStyles() { + return 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 = brand_band_possibleConstructorReturn(this, brand_band_getPrototypeOf(BrandBand).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 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(), 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__(38); + +// 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 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { item_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (item_typeof(call) === "object" || typeof call === "function")) { return call; } return item_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function ListItem() { + var _getPrototypeOf2; + + 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 = item_possibleConstructorReturn(this, (_getPrototypeOf2 = item_getPrototypeOf(ListItem)).call.apply(_getPrototypeOf2, [this].concat(args))); + + item_defineProperty(item_assertThisInitialized(_this), "getLabel", function () { + var Label = _this.props.labelRenderer; + return 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 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 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, this.props.label)); + } + + case 'divider': + { + return 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 = 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({}, tooltipTemplateProps, { + content: this.props.tooltipContent, + id: "".concat(this.props.id, "-tooltip"), + triggerStyle: item_objectSpread({ + width: '100%' + }, tooltipTemplateProps.triggerStyle || {}) + }); + + itemContents = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(this.props.tooltipTemplate, tooltipProps, itemContents); + } + + return ( + /* 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) { 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_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_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_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_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); + + function List() { + menu_list_classCallCheck(this, List); + + return menu_list_possibleConstructorReturn(this, menu_list_getPrototypeOf(List).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 = 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 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 = 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, 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) { 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_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_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_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_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); + + function Trigger() { + button_trigger_classCallCheck(this, Trigger); + + return button_trigger_possibleConstructorReturn(this, button_trigger_getPrototypeOf(Trigger).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 ( + /* 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 + }, 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 = function oneOfRequiredFunction() {}; + +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__(39); + +// 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) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { menu_dropdown_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (menu_dropdown_typeof(call) === "object" || typeof call === "function")) { return call; } return menu_dropdown_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function MenuDropdown(props) { + var _this; + + menu_dropdown_classCallCheck(this, MenuDropdown); + + _this = menu_dropdown_possibleConstructorReturn(this, menu_dropdown_getPrototypeOf(MenuDropdown).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 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 = 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 ? 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({}, 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: "componentWillReceiveProps", + value: function componentWillReceiveProps(nextProps, prevProps) { + if (prevProps.value !== nextProps.value) { + var nextState = this.getCurrentSelectedIndices(nextProps); + this.setState(nextState); + } + + if (prevProps.isOpen !== nextProps.isOpen) { + this.setFocus(); + } + + if (nextProps.options) { + this.navigableItems = menu_dropdown_getNavigableItems(nextProps.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 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { breadcrumb_defineProperty(target, key, 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({}, overflowDropdownMenu.props, { + id: "".concat(props.id, "-dropdown"), + iconCategory: 'utility', + iconName: 'threedots', + iconVariant: 'bare', + threedots: true + }); + + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-breadcrumb__item" + }, 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_defaultProps.assistiveText, props.assistiveText).label; + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("nav", { + role: "navigation", + "aria-label": assistiveText, + style: props.styleContainer + }, 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 ( + /* 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { builder_header_defineProperty(target, key, 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 />` or `<BuilderHeaderToolbar />` to define the structure of the header. + * ``` + * <BuilderHeader> + * <BuilderHeaderNav /> + * <BuilderHeaderToolbar /> + * </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 + }), + + /** + * **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' + }, + 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_defaultProps.assistiveText, props.assistiveText); + + var events = builder_header_objectSpread({}, {}, props.events); + + var labels = 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: + } + } + }); + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: { + position: 'relative', + height: '100px' + } + }, 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("header", { + className: "slds-builder-header" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__item" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__item-label slds-media slds-media_center" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: { + label: assistiveText.icon + }, + category: "utility", + containerClassName: "slds-icon_container slds-icon-utility-builder slds-current-color", + name: "builder", + size: "x-small" + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, labels.title))), nav, misc.length > 0 ? misc : external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__item slds-has-flexi-truncate" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h1", { + className: "slds-builder-header__item-label" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: labels.pageType + }, labels.pageType))), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__item slds-builder-header__utilities" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__utilities-item" + }, 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, 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" + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, labels.back))), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__utilities-item" + }, 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, 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" + })), 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__item", + style: { + width: '100%' + } + }, 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("nav", { + className: "slds-builder-header__item slds-builder-header__nav" + }, 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-builder-header__nav-item" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, rest, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_trigger, null, 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure" + }, 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" + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__body" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: label + }, label), 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { nav_link_defineProperty(target, key, 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_defaultProps.assistiveText, props.assistiveText); + + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-builder-header__nav-item" + }, 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure" + }, 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" + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__body" + }, 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { toolbar_defineProperty(target, key, 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_defaultProps.assistiveText, props.assistiveText); + + return 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 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; + }), 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) { 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_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_getPrototypeOf(o) { button_group_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return button_group_getPrototypeOf(o); } + +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); } + +/* 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); + + function ButtonGroup(props) { + var _this; + + button_group_classCallCheck(this, ButtonGroup); + + _this = button_group_possibleConstructorReturn(this, button_group_getPrototypeOf(ButtonGroup).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 = 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, cloneProps); + }); + component = 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 = 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", null, child); + })); + } else { + component = 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 = 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) + }, 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), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, component, labels.error ? 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__(40); + +// CONCATENATED MODULE: ./components/button-stateful/index.jsx +function button_stateful_typeof(obj) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { button_stateful_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (button_stateful_typeof(call) === "object" || typeof call === "function")) { return call; } return button_stateful_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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>). + */ + +var button_stateful_ButtonStateful = +/*#__PURE__*/ +function (_React$Component) { + button_stateful_inherits(ButtonStateful, _React$Component); + + function ButtonStateful(props) { + var _this; + + button_stateful_classCallCheck(this, ButtonStateful); + + _this = button_stateful_possibleConstructorReturn(this, button_stateful_getPrototypeOf(ButtonStateful).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_defaultProps.assistiveText, this.props.assistiveText).icon; + var isActive = typeof active === 'boolean' ? active : this.state.active; + + if (variant === 'icon' || variant === 'icon-filled') { + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("button", { + "aria-live": "polite", + 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(icon, button_stateful_objectSpread({}, defaultIconProps, icon.props)) : 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, iconAssistiveText) : null); + } + + defaultIconProps.position = 'left'; + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("button", { + "aria-live": "assertive", + 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-not-selected" + }, stateOne.icon ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(stateOne.icon, button_stateful_objectSpread({}, defaultIconProps, stateOne.icon.props, { + size: 'small' + })) : 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), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-selected" + }, stateTwo.icon ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(stateTwo.icon, button_stateful_objectSpread({}, defaultIconProps, stateTwo.icon.props, { + size: 'small' + })) : 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), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-selected-focus" + }, stateThree.icon ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(stateThree.icon, button_stateful_objectSpread({}, defaultIconProps, stateThree.icon.props, { + size: 'small' + })) : 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) { 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_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_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_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_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); + + function MediaObject() { + media_object_classCallCheck(this, MediaObject); + + return media_object_possibleConstructorReturn(this, media_object_getPrototypeOf(MediaObject).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 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: cssClasses.figure + }, this.props.figure, " ") : null, 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { header_defineProperty(target, key, 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(filter, { + id: filter.props.id || id + }); + return 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 = 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 = 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 = 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 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, 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 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 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-p-horizontal_small" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-text-align_center slds-m-bottom_x-large" + }, 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(card_empty, { + id: props.id, + heading: props.heading + }); + } + + return 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 && 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_body, { + id: bodyId, + className: props.bodyClassName + }, props.children) : external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_body, { + id: bodyId, + className: props.bodyClassName + }, empty), props.footer ? 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: external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon_container slds-input__icon slds-input__icon_right" + }, 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: 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) ? 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__(41); + +// CONCATENATED MODULE: ./components/spinner/index.jsx +function spinner_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { spinner_defineProperty(target, key, 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, + + /** + * 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, + + /** + * Determines the size of the spinner + */ + size: prop_types_default.a.oneOf(['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, + 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, + isInput = props.isInput, + size = props.size, + variant = props.variant; + var assistiveText = typeof props.assistiveText === 'string' ? props.assistiveText : spinner_objectSpread({}, spinner_defaultProps.assistiveText, props.assistiveText).label; + var spinnerClassName = classnames_default()('slds-spinner', spinner_defineProperty({ + 'slds-input__spinner': isInput, + 'slds-spinner_brand': variant === 'brand', + 'slds-spinner_inverse': variant === 'inverse', + 'slds-spinner_delayed': isDelayed + }, "slds-spinner_".concat(size), size)); + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()(containerClassName, 'slds-spinner_container'), + style: containerStyle + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + "aria-hidden": "false", + className: spinnerClassName, + id: id, + role: "status" + }, assistiveText && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-spinner__dot-a" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-spinner__dot-b" + }))); +}; + +spinner_Spinner.displayName = SPINNER; +spinner_Spinner.propTypes = spinner_propTypes; +spinner_Spinner.defaultProps = spinner_defaultProps; +/* harmony default export */ var 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { inner_input_defineProperty(target, key, 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.bool, + '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, + + /** + * 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, + 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_defaultProps.assistiveText, props.assistiveText); + + return 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 && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__addon" + }, props.fixedTextLeft), !props.isStatic && 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-input__icon-group slds-input__icon-group_right" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(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 && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__addon" + }, props.fixedTextRight), props.isStatic && 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), props.inlineHelpText && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__help" + }, props.inlineHelpText)); +}; + +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 +/* 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: 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 && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*'), labelText), + static: 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { field_level_help_tooltip_defineProperty(target, key, 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tooltip, 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({}, 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { input_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (input_typeof(call) === "object" || typeof call === "function")) { return call; } return input_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function Input(props) { + var _this; + + input_classCallCheck(this, Input); + + _this = input_possibleConstructorReturn(this, input_getPrototypeOf(Input).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 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(_this.props[iconPositionProp], { + iconPosition: "".concat(position) + }); + } else if (deprecatedProps.name) { + icon = 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_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 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 + }, 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 ? 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, 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, + inlineHelpText: this.props.inlineHelpText, + 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.errorText && 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, filter_extends({}, rest, { + assistiveText: { + label: placeholder + }, + iconLeft: 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) { 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) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; 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_possibleConstructorReturn(self, call) { if (call && (carousel_indicators_typeof(call) === "object" || typeof call === "function")) { return call; } return carousel_indicators_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function CarouselIndicators() { + var _getPrototypeOf2; + + 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 = carousel_indicators_possibleConstructorReturn(this, (_getPrototypeOf2 = carousel_indicators_getPrototypeOf(CarouselIndicators)).call.apply(_getPrototypeOf2, [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 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 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' + } + }, 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 + }, 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { previous_next_carousel_navigator_defineProperty(target, key, 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 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({}, props.inlineStyle, { + margin: '-12px 0 0', + top: '50%' + }) + }, 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 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 + }) : 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' + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-carousel__image" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("img", { + src: props.src, + alt: props.imageAssistiveText || props.heading + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-carousel__content", + style: { + height: 'auto' + } + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: "slds-carousel__content-title" + }, props.heading), 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 && 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-carousel__autoplay", + style: { + left: '66px' + } + }, 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) { 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_possibleConstructorReturn(self, call) { if (call && (carousel_typeof(call) === "object" || typeof call === "function")) { return call; } return carousel_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + // ### 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 = carousel_possibleConstructorReturn(this, carousel_getPrototypeOf(Carousel).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 = 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 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid_vertical slds-col slds-path__scroller" + }, hasAutoplay && 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 + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-is-relative", + style: carouselMargins + }, hasPreviousNextPanelNavigation && 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' + } + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + ref: this.stageItem, + className: "slds-carousel__stage slds-show" + }, 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 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 && 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' + } + })), 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__(42); + +// CONCATENATED MODULE: ./components/checkbox/index.jsx +function checkbox_typeof(obj) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { checkbox_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (checkbox_typeof(call) === "object" || typeof call === "function")) { return call; } return checkbox_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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 */ +// # 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); + + function Checkbox(_props) { + var _this; + + checkbox_classCallCheck(this, Checkbox); + + _this = checkbox_possibleConstructorReturn(this, checkbox_getPrototypeOf(Checkbox).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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-button slds-checkbox_button" + }, 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() + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-checkbox_button__label", + htmlFor: _this.getId() + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-checkbox_faux" + }, labels.label), assistiveText.label ? 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 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) + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-checkbox" + }, props.required ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*') : null, 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() + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-checkbox__label", + htmlFor: _this.getId(), + id: props.labelId + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-checkbox_faux" + }), labels.label ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__label" + }, labels.label) : null, assistiveText.label ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label) : null))), props.errorText ? 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 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) + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-checkbox_toggle slds-grid", + htmlFor: _this.getId() + }, props.required ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*') : null, labels.label ? 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label) : null, 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")] + }) + })), 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-checkbox_faux" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-checkbox_on" + }, labels.toggleEnabled), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-checkbox_off" + }, labels.toggleDisabled))), props.errorText ? 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 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) + }, 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() + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-checkbox_button__label", + htmlFor: _this.getId() + }, _this.props.coverable ? 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-is-selected" + }, _this.props.onRenderVisualPickerSelected()), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-is-not-selected" + }, _this.props.onRenderVisualPickerNotSelected())) : 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-visual-picker__body" + }, _this.props.labels.heading ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-heading_small" + }, _this.props.labels.heading) : null, 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 ? 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon_container slds-visual-picker__text-check" + }, 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_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_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) { 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_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_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_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_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); + + function CustomColorForm() { + custom_color_form_classCallCheck(this, CustomColorForm); + + return custom_color_form_possibleConstructorReturn(this, custom_color_form_getPrototypeOf(CustomColorForm).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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-color-picker__custom-inputs" + }, 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 + }), 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) + }), 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) + }), 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { radio_group_defineProperty(target, key, 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_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_getPrototypeOf(o) { radio_group_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return radio_group_getPrototypeOf(o); } + +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); } + +/* 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); + + function RadioGroup(props) { + var _this; + + radio_group_classCallCheck(this, RadioGroup); + + _this = radio_group_possibleConstructorReturn(this, radio_group_getPrototypeOf(RadioGroup).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_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 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 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 + }) + }, 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*', 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), 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' ? 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 ? 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 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: ./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: ./components/color-picker/private/swatch.jsx +function swatch_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { swatch_defineProperty(target, key, 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-swatch", + style: innerStyle + }, 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__(43); + +// CONCATENATED MODULE: ./components/radio/index.jsx +function radio_typeof(obj) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { radio_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (radio_typeof(call) === "object" || typeof call === "function")) { return call; } return radio_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function Radio(props) { + var _this; + + radio_classCallCheck(this, Radio); + + _this = radio_possibleConstructorReturn(this, radio_getPrototypeOf(Radio).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; + } + + radio_createClass(Radio, [{ + key: "componentWillMount", + value: function 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_defaultProps.labels, this.props.label ? { + label: this.props.label + } : {}, this.props.labels); + + if (this.props.variant === 'swatch') { + radio = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + style: { + border: '1px' + }, + className: "slds-radio_button__label", + htmlFor: this.getId() + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-radio_button__label", + htmlFor: this.getId() + }, 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + htmlFor: this.getId() + }, this.props.coverable ? 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-is-selected" + }, this.props.onRenderVisualPickerSelected()), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-is-not-selected" + }, this.props.onRenderVisualPickerNotSelected())) : 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-visual-picker__body" + }, labels.heading ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-heading_small" + }, labels.heading) : null, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-title" + }, labels.label)) : null, !this.props.coverable ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon_container slds-visual-picker__text-check" + }, 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-radio__label", + htmlFor: this.getId(), + id: this.props.labelId + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-radio_faux" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__label" + }, labels.label), this.props.assistiveText.label ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.assistiveText.label) : null); + } + + return 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) + }, 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 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: '' + } + }); + } + + return { + hex: options.hex, + hsv: this.getHsvFromHex(options.hex), + rgb: this.getRgbFromHex(options.hex) + }; + } + + 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 + })); + }, + 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { hsv_color_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (hsv_color_typeof(call) === "object" || typeof call === "function")) { return call; } return hsv_color_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function HsvColor() { + var _getPrototypeOf2; + + 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 = hsv_color_possibleConstructorReturn(this, (_getPrototypeOf2 = hsv_color_getPrototypeOf(HsvColor)).call.apply(_getPrototypeOf2, [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 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.createElement("p", { + className: "slds-assistive-text", + id: "color-picker-instructions-".concat(this.props.id) + }, this.props.assistiveText.saturationValueGrid), 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" + }, 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 + }, 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, "%")))), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-color-picker__hue-and-preview" + }, 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), 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 + }), 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 + }, 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", + label: this.props.labels.customTabActiveWorkingColorSwatch, + style: swatchStyle, + value: workingColor.hex, + variant: "swatch" + }), 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", + 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) { 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_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_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_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_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); + + function CustomColor() { + custom_color_classCallCheck(this, CustomColor); + + return custom_color_possibleConstructorReturn(this, custom_color_getPrototypeOf(CustomColor).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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-color-picker__custom" + }, 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 + }), 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 ? 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__(8); +var lodash_findindex_default = /*#__PURE__*/__webpack_require__.n(lodash_findindex); + +// CONCATENATED MODULE: ./components/color-picker/private/swatch-option.jsx +function swatch_option_typeof(obj) { 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_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_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_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_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); + + function SwatchOption() { + swatch_option_classCallCheck(this, SwatchOption); + + return swatch_option_possibleConstructorReturn(this, swatch_option_getPrototypeOf(SwatchOption).apply(this, arguments)); + } + + swatch_option_createClass(SwatchOption, [{ + key: "render", + value: function render() { + var _this = this; + + return 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" + }, 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 + }, 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { swatch_picker_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (swatch_picker_typeof(call) === "object" || typeof call === "function")) { return call; } return swatch_picker_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function SwatchPicker(_props) { + var _this; + + swatch_picker_classCallCheck(this, SwatchPicker); + + _this = swatch_picker_possibleConstructorReturn(this, swatch_picker_getPrototypeOf(SwatchPicker).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 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 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 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' + }), + role: "tablist" + }, 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 scopped, defaults to false + */ + variant: prop_types_default.a.oneOf(['default', 'scoped']) +}; +/* harmony default export */ var tabs_list = (tabs_list_TabsList); +// CONCATENATED MODULE: ./components/tabs/private/tab.jsx +function tab_typeof(obj) { 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_possibleConstructorReturn(self, call) { if (call && (tab_typeof(call) === "object" || typeof call === "function")) { return call; } return tab_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function Tab() { + var _getPrototypeOf2; + + 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 = tab_possibleConstructorReturn(this, (_getPrototypeOf2 = tab_getPrototypeOf(Tab)).call.apply(_getPrototypeOf2, [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, + _this2 = this, + _classNames2; + + 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; + var tabIndex; + + if (selected) { + tabIndex = '0'; + } else if (disabled) { + tabIndex = '-1'; + } else { + tabIndex = null; + } + + return 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'), _classNames)), + role: "presentation", + ref: function ref(node) { + _this2.node = node; + }, + tabIndex: tabIndex, + id: id, + title: typeof children === 'string' ? children : null + }, 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'), _classNames2)), + href: "javascript:void(0);" // eslint-disable-line no-script-url + , + role: "tab", + tabIndex: "-1", + "aria-controls": panelId, + "aria-disabled": disabled, + "aria-selected": selected ? 'true' : 'false' + }, children)); + } + }]); + + 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-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-active`. If another class is desired, it should be passed in _along with_ `.slds-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 scopped, defaults to false + */ + variant: prop_types_default.a.oneOf(['default', 'scoped']) +}); + +tab_defineProperty(tab_Tab, "defaultProps", { + focus: false, + selected: false, + activeTabClassName: 'slds-active', + disabledTabClassName: 'slds-disabled', + variant: 'default' +}); + +/* 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 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' + }), + 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 scopped, defaults to false + */ + variant: prop_types_default.a.oneOf(['default', 'scoped']), + + /** + * 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) { 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_possibleConstructorReturn(self, call) { if (call && (tabs_typeof(call) === "object" || typeof call === "function")) { return call; } return tabs_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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'); +} // 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 scopped, defaults to false + */ + variant: prop_types_default.a.oneOf(['default', 'scoped']), + + /** + * 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); + + function Tabs(props) { + var _this; + + tabs_classCallCheck(this, Tabs); + + _this = tabs_possibleConstructorReturn(this, tabs_getPrototypeOf(Tabs).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 === 'scoped' ? 'scoped' : '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 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 (// `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 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 + }, 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 ( + /* 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' + }, 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 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 +}; +/* 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__(44); + +// 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { popover_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (popover_typeof(call) === "object" || typeof call === "function")) { return call; } return popover_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + // ### 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 = popover_possibleConstructorReturn(this, popover_getPrototypeOf(Popover).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_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: external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "error", + size: "x-small", + inverse: true + }), + warning: 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: 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' + }) + }, 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: external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("header", { + className: "slds-popover__header" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(media_object, { + body: 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 = // THIS WRAPPING DIV IS NOT IN SLDS MARKUP + 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.createElement("div", { + id: "".concat(_this.getId(), "-dialog-body"), + className: classnames_default()('slds-popover__body slds-popover__body_scrollable', _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), 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 = 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") + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, props.variant === 'walkthrough-action' ? 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), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, props.heading ? 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 ? 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 = // 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 = 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("footer", { + className: "slds-popover__footer" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid slds-grid_vertical-align-center" + }, props.stepText ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-title" + }, props.stepText) : null, props.footerWalkthroughActions ? 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 ? 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 && 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 = 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 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__(45); + +// CONCATENATED MODULE: ./components/color-picker/index.jsx +function color_picker_typeof(obj) { 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_possibleConstructorReturn(self, call) { if (call && (color_picker_typeof(call) === "object" || typeof call === "function")) { return call; } return color_picker_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function ColorPicker(props) { + var _this; + + color_picker_classCallCheck(this, ColorPicker); + + _this = color_picker_possibleConstructorReturn(this, color_picker_getPrototypeOf(ColorPicker).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 isValid = _this.props.events.onValidateColor ? _this.props.events.onValidateColor(event.target.value) : utilities_color.isValidHex(event.target.value); + + _this.setState({ + currentColor: currentColor, + workingColor: utilities_color.getNewColor({ + hex: currentColor + }, _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; + } // use getDerivedStateFromProps when available + + + color_picker_createClass(ColorPicker, [{ + key: "componentWillReceiveProps", + value: function componentWillReceiveProps(nextProps) { + var nextState = {}; + + if (nextProps.value) { + nextState.currentColor = nextProps.value; + } + + if (nextProps.valueWorking) { + nextState.workingColor = utilities_color.getNewColor({ + hex: nextProps.valueWorking + }, this.props.events.onValidateWorkingColor); + } + + if (nextProps.disabled !== undefined) { + nextState.disabled = nextProps.disabled; + } + + this.setState(nextState); + } + }, { + key: "getInput", + value: function getInput(_ref5) { + var _this2 = this; + + var labels = _ref5.labels; + return this.props.hideInput ? null : 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') && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tabs_panel, { + label: labels.swatchTab + }, 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') && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tabs_panel, { + label: labels.customTab + }, 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 = 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-color-picker__selector-footer" + }, 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" + }), 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 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 + }, 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: 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 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; + } + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-color-picker__summary" + }, 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 ? 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_nonIterableSpread(); } + +function menu_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function menu_iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function menu_arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function menu_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { menu_defineProperty(target, key, 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({}, 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({}, 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 [label.substr(0, position), 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 ? 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) + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()('slds-listbox__option-header', props.classNameMenuSubHeader) + }, optionData.label)) : 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 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" + }, 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure slds-listbox__option-icon" + }, optionData.icon), 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 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" + }, 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure slds-listbox__option-icon" + }, optionData.icon), 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': 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), + 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure" + }, optionData.icon) : null, props.onRenderMenuItem ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(MenuItem, { + assistiveText: props.assistiveText, + selected: selected, + option: optionData + }) : external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__body" + }, 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)), 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 + }) + }, optionData.subTitle))), + checkbox: 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), + 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" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure" + }, 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" + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__body" + }, props.onRenderMenuItem ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(MenuItem, { + assistiveText: props.assistiveText, + selected: selected, + option: optionData + }) : 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 ? 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', + triggerStyle: { + width: '100%' + } + }, userDefinedTooltipProps); + + if (active) { + // allows showing the tooltip on keyboard navigation to disabled menu item + tooltipProps.isOpen = true; + } + + item = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(props.tooltipMenuItemDisabled, tooltipProps, menuItem[props.variant]); + } else { + item = menuItem[props.variant]; + } + + return 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 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 : 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" + }, 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 && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + role: "presentation", + className: "slds-listbox__item" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-align_absolute-center slds-p-top_medium" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + role: "status", + className: "slds-spinner slds-spinner_x-small slds-spinner_inline" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.loadingMenuItems), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-spinner__dot-a" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-spinner__dot-b" + }))))); +}; + +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 +/* 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: 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 && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*'), labelText), + static: 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) { 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_possibleConstructorReturn(self, call) { if (call && (pill_typeof(call) === "object" || typeof call === "function")) { return call; } return pill_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function Pill() { + var _getPrototypeOf2; + + 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 = pill_possibleConstructorReturn(this, (_getPrototypeOf2 = pill_getPrototypeOf(Pill)).call.apply(_getPrototypeOf2, [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 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 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-pill__label" + }, _this.props.labels.label)); + } + + return 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 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 + }, 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" + }), 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 ( + /* 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { utilities_pill_defineProperty(target, key, 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({}, data, { + direction: 'previous' + }) + }), utilities_pill_defineProperty(_callbacks, key_code.RIGHT, { + callback: events.onRequestFocusOnNextPill, + data: 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 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); + } + }, + 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { selected_listbox_defineProperty(target, key, 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.isRequired, + 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, + + /* + * 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 = { + 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 = 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 = 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 ? 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); + } + }, + role: "listbox", + style: props.style, + "aria-orientation": "horizontal" + }, 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 + }), + role: "group", + "aria-label": props.assistiveText.selectedListboxLabel + }, 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 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) + }, 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: function onClick(event, data) { + props.events.onClickPill(event, selected_listbox_objectSpread({}, data, { + index: renderIndex + })); + }, + onFocus: props.events.onPillFocus, + onRequestFocusOnNextPill: props.events.onRequestFocusOnNextPill, + onRequestFocusOnPreviousPill: props.events.onRequestFocusOnPreviousPill, + onRequestRemove: function onRequestRemove(event, data) { + props.events.onRequestRemove(event, 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__(46); + +// CONCATENATED MODULE: ./components/combobox/combobox.jsx +function combobox_typeof(obj) { 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_nonIterableSpread(); } + +function combobox_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function combobox_iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function combobox_arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; 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_possibleConstructorReturn(self, call) { if (call && (combobox_typeof(call) === "object" || typeof call === "function")) { return call; } return combobox_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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 jsx-a11y/role-has-required-aria-props */ + +/* 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); + + function Combobox(_props) { + var _this; + + combobox_classCallCheck(this, Combobox); + + _this = combobox_possibleConstructorReturn(this, combobox_getPrototypeOf(Combobox).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 = 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.createElement("div", { + className: "slds-assistive-text", + id: "".concat(_this.getId(), "-label") + }, assistiveText.popoverLabel), body); + var popoverFooter = 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.createElement(components_button, { + label: labels.cancelButton, + onClick: function onClick(e) { + _this.handleClose(e, { + trigger: 'cancel' + }); + } + }), 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.state.isOpen) { + _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.state.isOpen) { + 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.state.isOpen) { + 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); + } + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handlePillClickSelectedListbox", function (event, _ref6) { + var option = _ref6.option, + index = _ref6.index; + + // this is clicking the span, not the remove button + _this.setState({ + activeSelectedOption: option, + activeSelectedOptionIndex: index, + listboxHasFocus: true + }); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handlePillFocus", function () { + if (!_this.state.listboxHasFocus) { + _this.setState({ + 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.setState({ + isOpen: false + }); + } + }); + + 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox_container" + }, 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), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + // used on menu's listbox + , + "aria-owns": _this.getIsOpen() ? "".concat(_this.getId(), "-listbox") : undefined // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox" + }, 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(), + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + hasSpinner: _this.props.hasInputSpinner, + iconRight: 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, + role: "textbox", + 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 + }) + }))), 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, + onClickPill: _this.handlePillClickSelectedListbox, + 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 && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-has-error" + }, 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, 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 ? 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, + onClickPill: _this.handlePillClickSelectedListbox, + 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, 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), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox" + }, 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(), + defaultValue: props.defaultValue, + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + hasSpinner: _this.props.hasInputSpinner, + iconRight: 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, + role: "textbox", + 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 && 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 ? 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; + /* eslint-disable jsx-a11y/role-supports-aria-props */ + + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, 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 + }) + }, 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), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox" + }, 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(), + 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 ? 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] + }); + } + }) : 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, + role: "textbox", + 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 && 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 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox_container" + }, 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), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "dialog" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, popoverProps, 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(), + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + iconRight: 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, + role: "textbox", + value: props.value + })))), props.errorText && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-has-error" + }, 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 || ''; + /* eslint-disable jsx-a11y/role-supports-aria-props */ + + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox_container" + }, 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), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox" + }, 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(), + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + iconRight: 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, + role: "textbox", + value: value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }))), 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, + onClickPill: _this.handlePillClickSelectedListbox, + 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 && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-has-error" + }, 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 || ''; + /* eslint-disable jsx-a11y/role-supports-aria-props */ + + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox_container" + }, 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), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox" + }, 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(), + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + disabled: _this.props.singleInputDisabled, + iconRight: 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, + role: "textbox", + value: _this.state.activeOption && _this.state.activeOption.label || value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }), props.errorText && 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: "componentWillReceiveProps", + value: function componentWillReceiveProps(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) { + this.setState({ + activeOptionIndex: index + }); + } else { + this.setState({ + activeOption: undefined, + activeOptionIndex: -1 + }); + } + } else if (this.props.isOpen !== nextProps.isOpen) { + this.setState({ + 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) { + this.setState({ + activeSelectedOption: nextProps.selection[0], + activeSelectedOptionIndex: 0 + }); + } // changes pill focus to last item in the list if the selection length has changed + + + if (nextProps.selection.length > this.props.selection.length) { + if (nextProps.selection.length < 1) { + this.setState({ + activeSelectedOption: undefined, + activeSelectedOptionIndex: 0 + }); + } else { + this.setState({ + activeSelectedOption: nextProps.selection[nextProps.selection.length - 1], + activeSelectedOptionIndex: nextProps.selection.length - 1 + }); + } + } + } + }, { + 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() ? 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-form-element', props.classNameContainer) + }, props.entityCombobox ? null : 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 ? 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element" + }, 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 + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox-group" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox_object-switcher slds-combobox-addon_start" + }, props.entityCombobox), 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); +/* eslint-enable jsx-a11y/role-supports-aria-props */ + + +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 searchTermFound = option.label ? option.label.match(inputValueRegExp) : false; + var isSeparator = option.type === 'separator'; + var notAlreadySelected = !selection.some(function (sel) { + return sel.id === option.id; + }); + return (!inputValue || isSeparator || searchTermFound) && 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__(47); + +// EXTERNAL MODULE: ./utilities/design-tokens/dist/palette-colors.common.js +var palette_colors_common = __webpack_require__(48); + +// 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.isValidElement(props.children) ? props.children.props.children : props.children; + var contents = 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("td", { + className: props.className, + role: props.fixedLayout ? 'gridcell' : null, + style: props.width ? { + width: props.width + } : null + }, contents); + + if (props.primaryColumn) { + cell = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + className: props.className, + 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) { 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_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_getPrototypeOf(o) { column_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return column_getPrototypeOf(o); } + +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); } + +/* 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); + + function DataTableColumn() { + column_classCallCheck(this, DataTableColumn); + + return column_possibleConstructorReturn(this, column_getPrototypeOf(DataTableColumn).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 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) { 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_possibleConstructorReturn(self, call) { if (call && (header_cell_typeof(call) === "object" || typeof call === "function")) { return call; } return header_cell_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function DataTableHeaderCell() { + var _getPrototypeOf2; + + 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 = header_cell_possibleConstructorReturn(this, (_getPrototypeOf2 = header_cell_getPrototypeOf(DataTableHeaderCell)).call.apply(_getPrototypeOf2, [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: 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.assistiveTextForColumnSort || this.props.assistiveText.columnSort, ' '), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: labelType === 'string' ? label : undefined + }, label), 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 ? 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: external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-p-horizontal_x-small", + style: { + display: 'flex' + } + }, 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'] : external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-truncate", + title: labelType === 'string' ? label : undefined + }, label); + return 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 ? 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(cell_fixed, null, 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) { 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_possibleConstructorReturn(self, call) { if (call && (head_typeof(call) === "object" || typeof call === "function")) { return call; } return head_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function DataTableHead() { + var _getPrototypeOf2; + + 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 = head_possibleConstructorReturn(this, (_getPrototypeOf2 = head_getPrototypeOf(DataTableHead)).call.apply(_getPrototypeOf2, [this].concat(args))); + + head_defineProperty(head_assertThisInitialized(_this), "getActionsHeader", function () { + var fixedHeader = _this.props.fixedHeader; + + var getContent = function getContent(style) { + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-th__action", + style: style + }, 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 = 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 ? 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 = 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 = 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 ? 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, 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 = 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 ? 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("thead", null, 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 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) { 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_possibleConstructorReturn(self, call) { if (call && (row_typeof(call) === "object" || typeof call === "function")) { return call; } return row_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function DataTableRow() { + var _getPrototypeOf2; + + 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 = row_possibleConstructorReturn(this, (_getPrototypeOf2 = row_getPrototypeOf(DataTableRow)).call.apply(_getPrototypeOf2, [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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tr", row_extends({}, ariaProps, { + className: classnames_default()({ + 'slds-hint-parent': this.props.rowActions, + 'slds-is-selected': this.props.canSelectRows && isSelected + }) + }), this.props.canSelectRows ? 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' ? 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 + }) : 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 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 + }), _this2.props.item[column.props.property]); + }), this.props.rowActions ? 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'])]), + 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { row_actions_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (row_actions_typeof(call) === "object" || typeof call === "function")) { return call; } return row_actions_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function DataTableRowActions() { + var _getPrototypeOf2; + + 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 = row_actions_possibleConstructorReturn(this, (_getPrototypeOf2 = row_actions_getPrototypeOf(DataTableRowActions)).call.apply(_getPrototypeOf2, [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({}, defaultDropdownProps, props, { + onSelect: this.handleSelect + }); + + return ( + /* 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' + } + }, 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { data_table_defineProperty(target, key, 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_nonIterableSpread(); } + +function data_table_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function data_table_iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function data_table_arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; 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_possibleConstructorReturn(self, call) { if (call && (data_table_typeof(call) === "object" || typeof call === "function")) { return call; } return data_table_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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' + }, + selection: [] +}; +/** + * 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); + + // ### 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 = data_table_possibleConstructorReturn(this, data_table_getPrototypeOf(DataTable).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) : []; + + _this.props.onChange(selection, e); + } + + if (typeof _this.props.onRowChange === 'function') { + var _selection = checked ? data_table_toConsumableArray(_this.props.items) : []; + + _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), "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); + } + + if (canUseEventListeners && _this.scrollerRef) { + _this.scrollerRef[action]('scroll', _this.resizeFixedHeaders); + } + } + }); + + _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 canSelectRows = this.props.selectRows && numRows > 0 ? this.props.selectRows : false; + var allSelected = canSelectRows && numRows === numSelected; + var indeterminateSelected = canSelectRows && numRows !== 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, { + dropdown: dropdown ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(dropdown, dropdownPropOverrides) : null + }); + } + }); + + var assistiveText = 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 = 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 + }), 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 + }), 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(row, { + assistiveText: assistiveText, + canSelectRows: canSelectRows, + 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)); + + 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 = 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; + } + } + } + }, 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 + }), + + /** + * 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, + + /** + * 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`. + */ + items: prop_types_default.a.arrayOf(prop_types_default.a.shape({ + id: prop_types_default.a.string.isRequired + })).isRequired, + + /** + * Makes DataTable joinable with PageHeader by adding appropriate classes/styling + */ + joined: prop_types_default.a.bool, + + /** + * 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 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(data_table_cell, props, 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.string, prop_types_default.a.number, prop_types_default.a.bool]), + + /** + * 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { day_defineProperty(target, key, 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 ( + /* 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-day" + }, isToday ? 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(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 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) { 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_possibleConstructorReturn(self, call) { if (call && (calendar_typeof(call) === "object" || typeof call === "function")) { return call; } return calendar_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function DatepickerCalendar() { + var _getPrototypeOf2; + + 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 = calendar_possibleConstructorReturn(this, (_getPrototypeOf2 = calendar_getPrototypeOf(DatepickerCalendar)).call.apply(_getPrototypeOf2, [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) { + 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(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(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tr", { + key: "extra_".concat(extraWeeks), + className: "week" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("td", { + "aria-disabled": "true", + "aria-selected": "false", + className: "slds-disabled-text" + }, 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", null, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[0] + }, this.props.abbreviatedWeekDayLabels[0])); + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "calendar" + }, 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") + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("thead", null, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tr", null, this.props.isIsoWeekday ? null : sunday, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + scope: "col" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[1] + }, this.props.abbreviatedWeekDayLabels[1])), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + scope: "col" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[2] + }, this.props.abbreviatedWeekDayLabels[2])), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + scope: "col" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[3] + }, this.props.abbreviatedWeekDayLabels[3])), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + scope: "col" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[4] + }, this.props.abbreviatedWeekDayLabels[4])), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + scope: "col" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[5] + }, this.props.abbreviatedWeekDayLabels[5])), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + scope: "col" + }, 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)), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tbody", null, this.renderWeeks(), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tr", null, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("td", { + colSpan: "7", + role: "gridcell" + }, 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) { 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_possibleConstructorReturn(self, call) { if (call && (year_picklist_typeof(call) === "object" || typeof call === "function")) { return call; } return year_picklist_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function DatepickerYearSelector() { + var _getPrototypeOf2; + + 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 = year_picklist_possibleConstructorReturn(this, (_getPrototypeOf2 = year_picklist_getPrototypeOf(DatepickerYearSelector)).call.apply(_getPrototypeOf2, [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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element slds-align-content-center" + }, 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) { 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_possibleConstructorReturn(self, call) { if (call && (navigation_typeof(call) === "object" || typeof call === "function")) { return call; } return navigation_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function DatepickerMonthNavigation() { + var _getPrototypeOf2; + + 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 = navigation_possibleConstructorReturn(this, (_getPrototypeOf2 = navigation_getPrototypeOf(DatepickerMonthNavigation)).call.apply(_getPrototypeOf2, [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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-datepicker__filter slds-grid" + }, 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 + } + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-align-middle" + }, 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" + })), 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(), ' ', external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.getYearLabel())), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-align-middle" + }, 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" + }))), 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) { 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_possibleConstructorReturn(self, call) { if (call && (calendar_wrapper_typeof(call) === "object" || typeof call === "function")) { return call; } return calendar_wrapper_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function DatepickerCalendarWrapper() { + var _getPrototypeOf2; + + 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 = calendar_wrapper_possibleConstructorReturn(this, (_getPrototypeOf2 = calendar_wrapper_getPrototypeOf(DatepickerCalendarWrapper)).call.apply(_getPrototypeOf2, [this].concat(args))); + + calendar_wrapper_defineProperty(calendar_wrapper_assertThisInitialized(_this), "state", { + initialDateForCalendarRender: _this.props.selectedDate, + isCalendarFocused: true + }); + + calendar_wrapper_defineProperty(calendar_wrapper_assertThisInitialized(_this), "handleCalendarBlur", function (event, _ref) { + var direction = _ref.direction; + + if (direction === 'next' && _this.previousMonthRef) { + _this.setState({ + isCalendarFocused: false + }); + + if (_this.props.onCalendarFocus) { + _this.props.onCalendarFocus(event, { + direction: direction, + isCalendarFocused: false, + ref: _this.previousMonthRef + }); + } + + _this.previousMonthRef.focus(); + } else if (direction === 'previous' && _this.todayRef) { + _this.setState({ + isCalendarFocused: false + }); + + if (_this.props.onCalendarFocus) { + _this.props.onCalendarFocus(event, { + direction: direction, + isCalendarFocused: false, + 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); + + _this.setState({ + isCalendarFocused: true + }); + } + }); + + 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); + + _this.setState({ + isCalendarFocused: true + }); + } + }); + + 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.state.isCalendarFocused) { + 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 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 + }, 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 + }), 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, "defaultProps", { + selectedDate: new Date(), + value: new Date() +}); + +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, + + /** + * 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 +}); + +/* 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__(49); + +// CONCATENATED MODULE: ./components/date-picker/date-picker.jsx +function date_picker_typeof(obj) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { date_picker_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (date_picker_typeof(call) === "object" || typeof call === "function")) { return call; } return date_picker_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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) before rendering 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 and returns a `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); + + function Datepicker(props) { + var _this; + + date_picker_classCallCheck(this, Datepicker); + + _this = date_picker_possibleConstructorReturn(this, date_picker_getPrototypeOf(Datepicker).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 = _this.state.formattedValue ? _this.parseDate(_this.state.formattedValue) : _this.state.value; + return 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, + 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() ? 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: 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: _this.openDialog, + 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.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({}, 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({}, 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; + + _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) { + _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 + }); + } // 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.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 + }); + + if (_this.inputRef) { + _this.inputRef.focus(); + } + } + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "openDialog", function () { + 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, + 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: "componentWillReceiveProps", + value: function componentWillReceiveProps(nextProps) { + if (nextProps.value && this.props.value) { + var currentDate = this.props.value.getTime(); + var nextDate = nextProps.value.getTime(); + + if (currentDate !== nextDate) { + this.setState({ + value: nextProps.value, + formattedValue: this.props.formatter(nextProps.value), + inputValue: this.props.formatter(nextProps.value) + }); + } + } + } + }, { + 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(this.props.children, date_picker_objectSpread({}, inputProps)) : external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, inputProps); + return 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) { 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_nonIterableSpread(); } + +function dynamic_icon_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function dynamic_icon_iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function dynamic_icon_arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; 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_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_getPrototypeOf(o) { dynamic_icon_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return dynamic_icon_getPrototypeOf(o); } + +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); } + +/* 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); + + function DynamicIcon() { + dynamic_icon_classCallCheck(this, DynamicIcon); + + return dynamic_icon_possibleConstructorReturn(this, dynamic_icon_getPrototypeOf(DynamicIcon).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 = [external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + viewBox: "0 0 280 14", + "aria-hidden": "true" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "7", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "7", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "21", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "21", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "35", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "35", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "49", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "49", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "63", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "63", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "77", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "77", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "91", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "91", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "105", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "105", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "119", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "119", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "133", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "133", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "147", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "147", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "161", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "161", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "175", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "175", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "189", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "189", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "203", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "203", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "217", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "217", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "231", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "231", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "245", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "245", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "259", + cy: "7", + r: "4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "259", + cy: "7", + r: "3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "273", + cy: "7", + r: "4" + }), 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 = [external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-icon-eq__bar" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-icon-eq__bar" + }), 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 = [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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "50%", + cy: "50%", + r: "1.875" + })), 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" + }, 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 = [external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + viewBox: "0 0 27 7", + "aria-hidden": "true" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + r: "3.025", + cx: "3.5", + cy: "3.5" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + r: "3.025", + cx: "13.5", + cy: "3.5" + }), 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 = [external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + viewBox: "0 0 16 16", + "aria-hidden": "true" + }, 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" + }), 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 = [external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon-typing__dot" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon-typing__dot" + }), 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 = [external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon-waffle" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r1" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r2" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r3" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r4" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r5" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r6" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r7" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r8" + }), 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(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 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) { 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_possibleConstructorReturn(self, call) { if (call && (edit_dialog_typeof(call) === "object" || typeof call === "function")) { return call; } return edit_dialog_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function EditDialog() { + var _getPrototypeOf2; + + 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 = edit_dialog_possibleConstructorReturn(this, (_getPrototypeOf2 = edit_dialog_getPrototypeOf(EditDialog)).call.apply(_getPrototypeOf2, [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 : external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: 'Edit: Status' + }, + className: "slds-button_reset", + 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(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: 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + label: labels.cancel, + onClick: onCancel + }), 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", { + /** + * 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) { 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_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_getPrototypeOf(o) { group_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return group_getPrototypeOf(o); } + +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); } + +/* 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); + + 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 = group_possibleConstructorReturn(this, group_getPrototypeOf(ExpressionGroup).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 = 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' ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-expression__buttons" + }, 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 ? 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 = 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' ? 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, 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 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-expression__options" + }, triggerCombobox), body); + } + + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()(this.props.className), + id: this.getId() + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-expression__options" + }, triggerCombobox), body, buttons); + } + + return 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; + } + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("fieldset", null, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("legend", { + className: "slds-expression__legend slds-expression__legend_group" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, labels.label), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label)), 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) { 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_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_getPrototypeOf(o) { expression_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return expression_getPrototypeOf(o); } + +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); } + +/* 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); + + function Expression() { + expression_classCallCheck(this, Expression); + + return expression_possibleConstructorReturn(this, expression_getPrototypeOf(Expression).apply(this, arguments)); + } + + expression_createClass(Expression, [{ + key: "componentWillMount", + value: function 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-expression', this.props.className), + id: this.getId() + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: "slds-expression__title" + }, labels.title), 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) { 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_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_getPrototypeOf(o) { condition_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return condition_getPrototypeOf(o); } + +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); } + +/* 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); + + function ExpressionCondition(props) { + var _this; + + condition_classCallCheck(this, ExpressionCondition); + + _this = condition_possibleConstructorReturn(this, condition_getPrototypeOf(ExpressionCondition).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 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; + } + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("fieldset", null, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("legend", { + className: "slds-expression__legend" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, labels.label), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.title)), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid slds-gutters_xx-small" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-col" + }, 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] + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-col slds-grow-none" + }, 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 + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-col" + }, 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 + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-col slds-grow-none" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__label" + }, "\xA0"), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, 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__(50); +var react_contenteditable_default = /*#__PURE__*/__webpack_require__.n(react_contenteditable); + +// CONCATENATED MODULE: ./components/expression/formula.jsx +function formula_typeof(obj) { 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_possibleConstructorReturn(self, call) { if (call && (formula_typeof(call) === "object" || typeof call === "function")) { return call; } return formula_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function ExpressionFormula() { + var _this; + + formula_classCallCheck(this, ExpressionFormula); + + _this = formula_possibleConstructorReturn(this, formula_getPrototypeOf(ExpressionFormula).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 = 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 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, 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) + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__label" + }, labels.label), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + role: "toolbar", + className: "slds-rich-text-editor__toolbar slds-shrink-none" + }, 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), 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), 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), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-rich-text-editor__col" + }, 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 + }))), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-rich-text-editor__textarea slds-grid" + }, 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 + })))))), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-m-top_small" + }, 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 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.link), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(spinner, { + size: "medium", + variant: "base", + assistiveText: { + label: props.assistiveText.loading + }, + containerStyle: { + zIndex: '1' + } + })); + } + + if (props.image) { + return 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.link), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("img", { + alt: props.assistiveText.image || props.labels.title, + src: props.image + })); + } + + return 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.link), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-file__icon slds-icon_container", + title: props.labels.title + }, 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-file__actions-menu" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-button-group", + role: "group" + }, typeof props.onClickDownload === 'function' ? 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" + }, 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 ? 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 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { file_defineProperty(target, key, 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_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_getPrototypeOf(o) { file_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return file_getPrototypeOf(o); } + +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); } + +/* 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); + + function File() { + file_classCallCheck(this, File); + + return file_possibleConstructorReturn(this, file_getPrototypeOf(File).apply(this, arguments)); + } + + file_createClass(File, [{ + key: "componentWillMount", + value: function 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_defaultProps.assistiveText, this.props.assistiveText); + + return 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) + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("figure", null, 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 + }, 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("figcaption", { + className: "slds-file__title slds-file__title_card" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure slds-line-height_reset" + }, this.props.icon ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(this.props.icon, { + size: 'x-small' + }) : null), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-file__external-icon" + }, 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, 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 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) { 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_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_getPrototypeOf(o) { files_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return files_getPrototypeOf(o); } + +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); } + +/* 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); + + function Files() { + files_classCallCheck(this, Files); + + return files_possibleConstructorReturn(this, files_getPrototypeOf(Files).apply(this, arguments)); + } + + files_createClass(Files, [{ + key: "componentWillMount", + value: function 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 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) + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(option, { + crop: option.props.crop ? option.props.crop : _this.props.crop + })); + }); + return 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { more_files_defineProperty(target, key, 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_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_getPrototypeOf(o) { more_files_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return more_files_getPrototypeOf(o); } + +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); } + +/* 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); + + function MoreFiles() { + more_files_classCallCheck(this, MoreFiles); + + return more_files_possibleConstructorReturn(this, more_files_getPrototypeOf(MoreFiles).apply(this, arguments)); + } + + more_files_createClass(MoreFiles, [{ + key: "componentWillMount", + value: function 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_defaultProps.assistiveText, this.props.assistiveText); + + return 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() + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("figure", null, 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) + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-file_overlay" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.link), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("img", { + src: this.props.image, + alt: assistiveText.image + })), 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media slds-media_small slds-media_center" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure slds-line-height_reset" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-file__text slds-truncate", + title: this.props.count + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, this.props.count), 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) { 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 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_possibleConstructorReturn(self, call) { if (call && (filter_typeof(call) === "object" || typeof call === "function")) { return call; } return filter_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function Filter(props) { + var _this; + + filter_classCallCheck(this, Filter); + + _this = filter_possibleConstructorReturn(this, filter_getPrototypeOf(Filter).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 = 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.createElement("h4", { + className: "slds-assistive-text", + id: "".concat(_this.getId(), "-popover-heading") + }, assistiveText.editFilterHeading), _this.props.children, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-m-top_small slds-text-align_right" + }, 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 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) ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, popoverProps, 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.editFilter), this.props.property ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-text-body_small" + }, this.props.property) : null, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", null, this.props.predicate))) : 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-text-body_small" + }, this.props.property), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", null, this.props.predicate)), // Remove button + !this.props.isPermanent && !this.props.isLocked ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: assistiveText.removeFilter + }, + hint: true, + iconCategory: "utility", + iconName: "close", + 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__(51); + +// CONCATENATED MODULE: ./components/global-header/index.jsx +function global_header_typeof(obj) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { global_header_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (global_header_typeof(call) === "object" || typeof call === "function")) { return call; } return global_header_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function GlobalHeader(props) { + var _this; + + global_header_classCallCheck(this, GlobalHeader); + + _this = global_header_possibleConstructorReturn(this, global_header_getPrototypeOf(GlobalHeader).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_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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("header", { + className: "slds-global-header_container" + }, this.props.onSkipToNav ? 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 ? 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-global-header slds-grid slds-grid_align-spread" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-global-header__item" + }, 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-global-header__item" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: "slds-global-actions" + }, actions.map(function (actionItem, index) { + return 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 = 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 : 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) { 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_possibleConstructorReturn(self, call) { if (call && (dropdown_trigger_typeof(call) === "object" || typeof call === "function")) { return call; } return dropdown_trigger_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function GlobalHeaderDropdownTrigger() { + var _getPrototypeOf2; + + 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 = dropdown_trigger_possibleConstructorReturn(this, (_getPrototypeOf2 = dropdown_trigger_getPrototypeOf(GlobalHeaderDropdownTrigger)).call.apply(_getPrototypeOf2, [this].concat(args))); + + dropdown_trigger_defineProperty(dropdown_trigger_assertThisInitialized(_this), "renderAvatar", function () { + var avatar = _this.props.avatar; + + if (typeof avatar === 'string') { + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-avatar slds-avatar_circle slds-avatar_medium" + }, 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 ( + /* eslint-disable jsx-a11y/no-static-element-interactions */ + 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 + }, 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, dropdown_extends({ + nubbinPosition: "top right" + }, rest), 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) { 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_possibleConstructorReturn(self, call) { if (call && (favorites_typeof(call) === "object" || typeof call === "function")) { return call; } return favorites_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function GlobalHeaderFavorites() { + var _getPrototypeOf2; + + 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 = favorites_possibleConstructorReturn(this, (_getPrototypeOf2 = favorites_getPrototypeOf(GlobalHeaderFavorites)).call.apply(_getPrototypeOf2, [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: 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 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-button-group" + }, 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)), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, popoverProps, 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) { 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_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_getPrototypeOf(o) { help_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return help_getPrototypeOf(o); } + +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); } + +/* 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); + + function GlobalHeaderHelp() { + help_classCallCheck(this, GlobalHeaderHelp); + + return help_possibleConstructorReturn(this, help_getPrototypeOf(GlobalHeaderHelp).apply(this, arguments)); + } + + help_createClass(GlobalHeaderHelp, [{ + key: "render", + value: function render() { + var buttonAriaProps = { + 'aria-haspopup': true + }; + var popoverProps = lodash_assign_default()({ + align: 'bottom', + body: 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, popoverProps, 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) { 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_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_getPrototypeOf(o) { notifications_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return notifications_getPrototypeOf(o); } + +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); } + +/* 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); + + function GlobalHeaderNotifications() { + notifications_classCallCheck(this, GlobalHeaderNotifications); + + return notifications_possibleConstructorReturn(this, notifications_getPrototypeOf(GlobalHeaderNotifications).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: 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, popoverProps, 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 ? 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) : 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) { 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_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_getPrototypeOf(o) { profile_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return profile_getPrototypeOf(o); } + +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); } + +/* 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); + + function GlobalHeaderProfile(props) { + var _this; + + profile_classCallCheck(this, GlobalHeaderProfile); + + _this = profile_possibleConstructorReturn(this, profile_getPrototypeOf(GlobalHeaderProfile).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: 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, popoverProps, 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' ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-avatar slds-avatar_circle slds-avatar_medium" + }, 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 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) { 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_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_getPrototypeOf(o) { setup_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return setup_getPrototypeOf(o); } + +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); } + +/* 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); + + function GlobalHeaderSetup() { + setup_classCallCheck(this, GlobalHeaderSetup); + + return setup_possibleConstructorReturn(this, setup_getPrototypeOf(GlobalHeaderSetup).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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, dropdownProps, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_trigger, null, 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) { 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_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_getPrototypeOf(o) { task_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return task_getPrototypeOf(o); } + +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); } + +/* 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); + + function GlobalHeaderTask() { + task_classCallCheck(this, GlobalHeaderTask); + + return task_possibleConstructorReturn(this, task_getPrototypeOf(GlobalHeaderTask).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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, dropdownProps, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_trigger, null, 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 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 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)) + }, 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) { 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_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_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_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_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); + + // ### 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 = global_navigation_bar_dropdown_trigger_possibleConstructorReturn(this, global_navigation_bar_dropdown_trigger_getPrototypeOf(GlobalNavigationDropdownTrigger).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 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + className: "slds-context-bar__label-action", + title: label + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: label + }, label)), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-context-bar__icon-action slds-p-left_none" + }, 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 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), 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-context-bar__item slds-no-hover" + }, 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) + }, 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 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 + }, 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.activeDescriptor) : null, 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) { 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_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_getPrototypeOf(o) { region_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return region_getPrototypeOf(o); } + +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_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 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("nav", { + className: classnames_default()('slds-context-bar__secondary', dividerClass, className), + role: "navigation" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: "slds-grid" + }, children)); + } else { + region = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-context-bar__secondary', dividerClass, className) + }, 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 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) + }, 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); + + function Region() { + region_classCallCheck(this, Region); + + return region_possibleConstructorReturn(this, region_getPrototypeOf(Region).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__(52); + +// CONCATENATED MODULE: ./components/illustration/index.jsx +function illustration_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { illustration_defineProperty(target, key, 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(_ref) { + var className = _ref.className, + illustration = _ref.illustration, + internalIllustration = _ref.internalIllustration, + heading = _ref.heading, + messageBody = _ref.messageBody, + name = _ref.name, + path = _ref.path, + size = _ref.size, + style = _ref.style; + illustration_check_props('Illustration', { + illustration: illustration, + internalIllustration: internalIllustration, + heading: heading, + path: path + }, 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 = 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + className: "slds-illustration__svg", + "aria-hidden": "true", + name: kababCaseName, + style: styles + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("use", { + xlinkHref: path + })); + } + + return 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-text-longform" + }, heading ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h3", { + className: "slds-text-heading_medium" + }, heading) : null, messageBody ? 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) { 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_possibleConstructorReturn(self, call) { if (call && (inline_typeof(call) === "object" || typeof call === "function")) { return call; } return inline_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function InlineEdit(props) { + var _this; + + inline_classCallCheck(this, InlineEdit); + + _this = inline_possibleConstructorReturn(this, inline_getPrototypeOf(InlineEdit).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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, inline_extends({}, rest, { + iconRight: this.state.isEditing ? 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: 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { search_defineProperty(target, key, 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_defaultProps.assistiveText, props.assistiveText).label; + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, search_extends({ + assistiveText: { + label: assistiveText + }, + iconLeft: 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 ? 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/lookup/header.jsx +function header_typeof(obj) { 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_possibleConstructorReturn(self, call) { if (call && (header_typeof(call) === "object" || typeof call === "function")) { return call; } return header_assertThisInitialized(self); } + +function header_getPrototypeOf(o) { header_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return header_getPrototypeOf(o); } + +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_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 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); + + function DefaultHeader() { + var _getPrototypeOf2; + + 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 = header_possibleConstructorReturn(this, (_getPrototypeOf2 = header_getPrototypeOf(DefaultHeader)).call.apply(_getPrototypeOf2, [this].concat(args))); + + lookup_header_defineProperty(header_assertThisInitialized(_this), "handleClick", function () { + if (_this.props.onClose) { + _this.props.onClose(); + } + }); + + return _this; + } + + header_createClass(DefaultHeader, [{ + key: "componentWillReceiveProps", + value: function 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 ( + /* 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + id: "searchRecords", + href: "javascript:void(0);", + className: className + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "lookup__item-action-label" + }, 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" + }), 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) { 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_possibleConstructorReturn(self, call) { if (call && (footer_typeof(call) === "object" || typeof call === "function")) { return call; } return footer_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function DefaultFooter() { + var _getPrototypeOf2; + + 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 = footer_possibleConstructorReturn(this, (_getPrototypeOf2 = footer_getPrototypeOf(DefaultFooter)).call.apply(_getPrototypeOf2, [this].concat(args))); + + footer_defineProperty(footer_assertThisInitialized(_this), "handleClick", function () { + if (_this.props.onClose) { + _this.props.onClose(); + } + }); + + return _this; + } + + footer_createClass(DefaultFooter, [{ + key: "componentWillReceiveProps", + value: function 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 ( + /* 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + id: "newItem", + href: "javascript:void(0);", + className: className + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "lookup__item-action-label" + }, 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" + }), 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-p-around_x-small slds-lookup__divider", + tabIndex: "-1" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-m-left_x-small" + }, 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) { 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_possibleConstructorReturn(self, call) { if (call && (private_item_typeof(call) === "object" || typeof call === "function")) { return call; } return private_item_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function Item() { + var _getPrototypeOf2; + + 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 = private_item_possibleConstructorReturn(this, (_getPrototypeOf2 = private_item_getPrototypeOf(Item)).call.apply(_getPrototypeOf2, [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: "componentWillReceiveProps", + value: function 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 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure" + }, 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-lookup__result-text" + }, this.props.children.label), 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, 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 (// 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; + } + }, 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) { 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_possibleConstructorReturn(self, call) { if (call && (menu_typeof(call) === "object" || typeof call === "function")) { return call; } return menu_assertThisInitialized(self); } + +function menu_getPrototypeOf(o) { menu_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return menu_getPrototypeOf(o); } + +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_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 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); + + function Menu(props) { + var _this; + + menu_classCallCheck(this, Menu); + + _this = menu_possibleConstructorReturn(this, menu_getPrototypeOf(Menu).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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-lookup__message", + "aria-live": "polite" + }, 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 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 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("section", { + id: "menuContainer", + className: "ignore-react-onclickoutside" + }, this.renderHeader(), 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 +var lookup_class, lookup_temp; + +function lookup_typeof(obj) { 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); } + +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_possibleConstructorReturn(self, call) { if (call && (lookup_typeof(call) === "object" || typeof call === "function")) { return call; } return lookup_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function Lookup(props) { + var _this; + + lookup_classCallCheck(this, Lookup); + + _this = lookup_possibleConstructorReturn(this, lookup_getPrototypeOf(Lookup).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 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 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 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() ? 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() ? 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 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: 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 ? 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-pill__container" + }, 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: labelClassName + }, selectedItem), 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 ? // 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 = 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 = 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); + } + }, { + key: "componentWillReceiveProps", + value: function 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 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, 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: '' + }; + }, + componentWillMount: function 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); + }, + componentWillReceiveProps: function 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 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 ? 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 ? 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 (// 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 + }, 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate" + }, inputValue), 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-listbox__item", + key: "pill-".concat(selectedPill), + role: "presentation" + }, 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: "listbox-selections-unique-id", + orientation: "horizontal", + role: "listbox" + }, 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 ? // 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 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 ? 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 && 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 = 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); + } +}; +/* harmony default export */ var modal_trigger = (ModalTrigger); +// EXTERNAL MODULE: ./components/vertical-navigation/component.json +var vertical_navigation_component = __webpack_require__(53); + +// 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 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 + }) + }, 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, + 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) { 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_possibleConstructorReturn(self, call) { if (call && (vertical_navigation_typeof(call) === "object" || typeof call === "function")) { return call; } return vertical_navigation_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function VerticalNavigation(props) { + var _this; + + vertical_navigation_classCallCheck(this, VerticalNavigation); + + _this = vertical_navigation_possibleConstructorReturn(this, vertical_navigation_getPrototypeOf(VerticalNavigation).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 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + key: "".concat(categoryId, "-header"), + className: "slds-nav-vertical__section" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + id: categoryId, + className: "slds-nav-vertical__title" + }, category.label), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + key: categoryId + }, category.items.map(function (item) { + return 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) { 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_possibleConstructorReturn(self, call) { if (call && (notification_typeof(call) === "object" || typeof call === "function")) { return call; } return notification_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function Notification(props) { + var _this; + + notification_classCallCheck(this, Notification); + + _this = notification_possibleConstructorReturn(this, notification_getPrototypeOf(Notification).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); + } + } + }, { + key: "componentWillReceiveProps", + value: function 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null); + } + }, { + key: "renderAlertContent", + value: function renderAlertContent() { + return 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 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 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.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 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("section", { + className: "notify__content slds-grid" + }, this.renderIcon(), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-col slds-align-middle" + }, 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-notify-container", + style: styles + }, 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__(54); + +// 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: classes + }, props.content); + } + + return 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 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 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) { 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_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_getPrototypeOf(o) { title_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return title_getPrototypeOf(o); } + +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); } + +/* 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); + + function Title() { + title_classCallCheck(this, Title); + + return title_possibleConstructorReturn(this, title_getPrototypeOf(Title).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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__name-title" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h1", null, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(page_header_private_label, { + content: this.props.label + }), 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) { 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_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_getPrototypeOf(o) { detail_block_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return detail_block_getPrototypeOf(o); } + +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); } + +/* 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); + + function DetailBlock(props) { + var _this; + + detail_block_classCallCheck(this, DetailBlock); + + _this = detail_block_possibleConstructorReturn(this, detail_block_getPrototypeOf(DetailBlock).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 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tooltip, { + align: "top", + title: content, + triggerStyle: { + display: 'inline' + } + }, 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 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 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) { 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_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_getPrototypeOf(o) { detail_row_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return detail_row_getPrototypeOf(o); } + +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); } + +/* 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); + + function DetailRow() { + detail_row_classCallCheck(this, DetailRow); + + return detail_row_possibleConstructorReturn(this, detail_row_getPrototypeOf(DetailRow).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 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 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) { 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_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_getPrototypeOf(o) { controls_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return controls_getPrototypeOf(o); } + +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); } + +/* 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); + + function Controls() { + controls_classCallCheck(this, Controls); + + return controls_possibleConstructorReturn(this, controls_getPrototypeOf(Controls).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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", controls_extends({ + className: "slds-page-header__controls" + }, controls.props)); + } else { + legacyControls = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__controls" + }, controls); + } + } + + return 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 || 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 = 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(props.icon, { + className: iconClasses + }); + } + + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-title" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(media_object, { + body: 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__name" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_title, { + content: props.title + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(info, { + content: props.info, + variant: props.variant + })), + figure: icon + })), 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 = 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(props.icon, { + className: iconClasses + }); + } + + return 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-title" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(media_object, { + body: 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__name" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_title, { + content: props.title, + label: props.label + }))), + figure: icon + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_controls, { + contentRight: props.contentRight, + onRenderActions: props.onRenderActions, + type: "actions" + })), props.details ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row slds-page-header__row_gutters" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-details" + }, 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 = 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(props.icon, { + className: iconClasses + }); + } + + return 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-title" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(media_object, { + body: 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(page_header_private_label, { + style: { + lineHeight: '1.3' + }, + trail: props.trail + }) : null, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__name" + }, 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__name-switcher" + }, props.nameSwitcherDropdown) : null)), + figure: icon + })), 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" + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-meta" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(info, { + content: props.info, + variant: props.variant + })), 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 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-title" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(page_header_private_label, { + content: props.label, + trail: props.trail + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(media_object, { + body: external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__name" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_title, { + content: props.title, + label: props.label + })) + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_controls, { + contentRight: props.contentRight, + onRenderActions: props.onRenderActions, + type: "actions" + })), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-meta" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(info, { + content: props.info, + variant: props.variant + })), 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) { 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_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_getPrototypeOf(o) { page_header_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return page_header_getPrototypeOf(o); } + +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); } + +/* 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); + + function PageHeader() { + page_header_classCallCheck(this, PageHeader); + + return page_header_possibleConstructorReturn(this, page_header_getPrototypeOf(PageHeader).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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classes + }, 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 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) { 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_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_getPrototypeOf(o) { panel_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return panel_getPrototypeOf(o); } + +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); } + +/* 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); + + function Panel() { + panel_classCallCheck(this, Panel); + + return panel_possibleConstructorReturn(this, panel_getPrototypeOf(Panel).apply(this, arguments)); + } + + panel_createClass(Panel, [{ + key: "render", + value: function render() { + return 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) + }, 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-filters__footer slds-grid slds-shrink-none" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + label: addFilterLabel, + onClick: onClickAdd, + variant: "link" + }), 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 ? 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + label: cancelLabel, + onClick: onRequestCancel, + variant: "neutral" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + label: saveLabel, + onClick: onRequestSave, + variant: "brand" + })) : external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-filters__header slds-grid slds-has-divider_bottom-space" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: "slds-align-middle slds-text-heading_small" + }, heading), 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { group_defineProperty(target, key, 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({}, filtering_group_defaultProps.assistiveText, props.assistiveText); + + if (props.assistiveTextCloseFilterPanel) { + assistiveText.closeButton = props.assistiveTextCloseFilterPanel; + } + + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-filters" + }, variant === 'panel' ? 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-filters__body" + }, errorLabel ? 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' ? 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) { 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_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_getPrototypeOf(o) { list_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return list_getPrototypeOf(o); } + +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_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); + + 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 = list_possibleConstructorReturn(this, list_getPrototypeOf(PanelFilterList).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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, { + isError: true + }); + } + + return child ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-item slds-hint-parent" + }, clonedChild || child, child.props.errorLabel ? 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 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 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 ? 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', + lockedLabel: 'Locked filters' +}; +/* harmony default export */ var list_heading = (list_heading_PanelFilterListHeading); +// CONCATENATED MODULE: ./components/pill-container/index.jsx +function pill_container_typeof(obj) { 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_possibleConstructorReturn(self, call) { if (call && (pill_container_typeof(call) === "object" || typeof call === "function")) { return call; } return pill_container_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function PillContainer(props) { + var _this; + + pill_container_classCallCheck(this, PillContainer); + + _this = pill_container_possibleConstructorReturn(this, pill_container_getPrototypeOf(PillContainer).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) { + _this.setState({ + activeSelectedOption: data.option, + activeSelectedOptionIndex: data.index, + listboxHasFocus: true + }); + + if (_this.props.onClickPill) { + _this.props.onClickPill(event, { + index: data.index, + option: data.option + }); + } + }); + + pill_container_defineProperty(pill_container_assertThisInitialized(_this), "handlePillFocus", function () { + if (!_this.state.listboxHasFocus) { + _this.setState({ + 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 ? 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) { 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_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_getPrototypeOf(o) { progress_bar_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return progress_bar_getPrototypeOf(o); } + +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); } + +/* 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); + + function ProgressBar(props) { + var _this; + + progress_bar_classCallCheck(this, ProgressBar); + + _this = progress_bar_possibleConstructorReturn(this, progress_bar_getPrototypeOf(ProgressBar).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 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()) + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, labels.label), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + "aria-hidden": "true" + }, 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 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 + }), 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' + }) + }, 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, "%") + } + }, 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) { 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_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_getPrototypeOf(o) { step_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return step_getPrototypeOf(o); } + +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); } + +/* 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); + + function Step() { + step_classCallCheck(this, Step); + + return step_possibleConstructorReturn(this, step_getPrototypeOf(Step).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 ? 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 ? 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.step.assistiveText || 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)))) : 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.step.assistiveText || 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 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 + }) + }, 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) { 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_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_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); } + +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); } + +/* 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); + + function ProgressBar() { + private_progress_bar_classCallCheck(this, ProgressBar); + + return private_progress_bar_possibleConstructorReturn(this, private_progress_bar_getPrototypeOf(ProgressBar).apply(this, arguments)); + } + + private_progress_bar_createClass(ProgressBar, [{ + key: "render", + value: function render() { + return 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" + }, 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, "%") + } + }, 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) { 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_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_getPrototypeOf(o) { progress_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return progress_getPrototypeOf(o); } + +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); } + +/* 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); + + function Progress() { + progress_classCallCheck(this, Progress); + + return progress_possibleConstructorReturn(this, progress_getPrototypeOf(Progress).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 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) + }, 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' && 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) { 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_possibleConstructorReturn(self, call) { if (call && (step_vertical_typeof(call) === "object" || typeof call === "function")) { return call; } return step_vertical_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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, + + /** + * 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); + + function StepVertical() { + var _getPrototypeOf2; + + 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 = step_vertical_possibleConstructorReturn(this, (_getPrototypeOf2 = step_vertical_getPrototypeOf(StepVertical)).call.apply(_getPrototypeOf2, [this].concat(args))); + + step_vertical_defineProperty(step_vertical_assertThisInitialized(_this), "stepIcon", function (renderIcon) { + var icon = renderIcon ? 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; + return 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 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-size_3-of-4" + }, _this.props.step.label), 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" + }, 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 && 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 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 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { progress_indicator_defineProperty(target, key, 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_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_getPrototypeOf(o) { progress_indicator_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return progress_indicator_getPrototypeOf(o); } + +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); } + +/* 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); + + function ProgressIndicator(props) { + var _this; + + progress_indicator_classCallCheck(this, ProgressIndicator); + + _this = progress_indicator_possibleConstructorReturn(this, progress_indicator_getPrototypeOf(ProgressIndicator).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_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 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 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: props.id, + className: classnames_default()('slds-progress-ring', props.className) + }, 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + viewBox: "-1 -1 2 2" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("path", { + className: "slds-progress-ring__path", + d: calculateD(props.fillPercentDecimal) + }))), 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 +var _THEME_CLASSES; + +function progress_ring_typeof(obj) { 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); } + +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_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_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_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_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); + + function ProgressRing() { + progress_ring_classCallCheck(this, ProgressRing); + + return progress_ring_possibleConstructorReturn(this, progress_ring_getPrototypeOf(ProgressRing).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 = 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 = 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 = 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 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__(55); + +// 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { scoped_notification_defineProperty(target, key, 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_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_getPrototypeOf(o) { scoped_notification_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return scoped_notification_getPrototypeOf(o); } + +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); } + +/* 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); + + function ScopedNotification(props) { + var _this; + + scoped_notification_classCallCheck(this, ScopedNotification); + + _this = scoped_notification_possibleConstructorReturn(this, scoped_notification_getPrototypeOf(ScopedNotification).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({}, iconAssistiveText, this.props.icon.props.assistiveText); + } + + icon = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(this.props.icon, scoped_notification_objectSpread({}, this.props.icon.props, { + assistiveText: iconAssistiveText + })); + } else { + icon = 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 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" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, icon), 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { setup_assistant_defineProperty(target, key, 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_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_getPrototypeOf(o) { setup_assistant_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return setup_assistant_getPrototypeOf(o); } + +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); } + +/* 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); + + function SetupAssistant(props) { + var _this; + + setup_assistant_classCallCheck(this, SetupAssistant); + + _this = setup_assistant_possibleConstructorReturn(this, setup_assistant_getPrototypeOf(SetupAssistant).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 = 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 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("section", { + className: "slds-card" + }, 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) : 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { step_defineProperty(target, key, 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_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_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 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_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 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); + + function Step(props) { + var _this; + + setup_assistant_step_classCallCheck(this, Step); + + _this = setup_assistant_step_possibleConstructorReturn(this, setup_assistant_step_getPrototypeOf(Step).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 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-setup-assistant__step-summary-content slds-media__body" + }, 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 ? 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), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", null, this.props.description)), 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 ? 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({}, containerStyle, figure.props.containerStyle); + } + + figure = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(figure, step_objectSpread({}, figure.props, { + containerStyle: containerStyle, + size: 'small' + })); + figure = 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 = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-setup-assistant__step-summary" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media" + }, figure, this.props.isExpandable || this.props.progress !== undefined ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body slds-m-top_x-small" + }, 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 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() + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("article", { + className: "slds-setup-assistant__step" + }, this.props.isExpandable ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-summary-detail', { + 'slds-is-open': this.getIsOpen() + }) + }, 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" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-container_fluid" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-summary-detail__title" + }, this.renderSummary()), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-summary-detail__content", + id: "".concat(this.getId(), "-detail-content") + }, 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { slider_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (slider_typeof(call) === "object" || typeof call === "function")) { return call; } return slider_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function Slider(props) { + var _this; + + slider_classCallCheck(this, Slider); + + _this = slider_possibleConstructorReturn(this, slider_getPrototypeOf(Slider).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_defaultProps.assistiveText, this.props.assistiveText); + + var labelText = this.props.label || this.props.assistiveText && this.props.assistiveText.label; + return 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) + }, 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() + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-slider-label" + }, labelText ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-slider-label__label" + }, labelText) : null, 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, ' ', assistiveText.disabled) : null)), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, 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' + }) + }, 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 + })), 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 ? 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 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) { 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_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_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_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_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); + + function SplitView(props) { + var _this; + + split_view_classCallCheck(this, SplitView); + + _this = split_view_possibleConstructorReturn(this, split_view_getPrototypeOf(SplitView).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 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%' + } + }, 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() + }) + }, 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); + } + } + }), 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)), 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 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 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.createElement("div", { + className: "slds-grid slds-wrap" + }, 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), 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)), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid slds-wrap" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: item.bottomLeftText + }, item.bottomLeftText), 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) { 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_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_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_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_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); + + function ListItemWithContent() { + list_item_with_content_classCallCheck(this, ListItemWithContent); + + return list_item_with_content_possibleConstructorReturn(this, list_item_with_content_getPrototypeOf(ListItemWithContent).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 ? 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 + }, 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 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" + }, 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(), 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) { 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_nonIterableRest(); } + +function listbox_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function listbox_iterableToArrayLimit(arr, i) { 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_nonIterableSpread(); } + +function listbox_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function listbox_iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function listbox_arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; 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_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_getPrototypeOf(o) { listbox_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return listbox_getPrototypeOf(o); } + +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_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); + + function SplitViewListbox(props) { + var _this; + + listbox_classCallCheck(this, SplitViewListbox); + + _this = listbox_possibleConstructorReturn(this, listbox_getPrototypeOf(SplitViewListbox).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 ? 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 ? 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) : 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(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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.assistiveText.sort.sortedBy, ': '), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, this.props.labels.header, this.sortDirection()), 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 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 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(), 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__(56); + +// CONCATENATED MODULE: ./components/textarea/index.jsx +function textarea_typeof(obj) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { textarea_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (textarea_typeof(call) === "object" || typeof call === "function")) { return call; } return textarea_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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-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); + + function Textarea(props) { + var _this; + + textarea_classCallCheck(this, Textarea); + + _this = textarea_possibleConstructorReturn(this, textarea_getPrototypeOf(Textarea).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 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 && 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 && external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*'), labelText), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-form-element__control') + }, 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 && 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__(57); +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) { 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_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_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_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_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_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); + + function TimepickerDropdownTrigger() { + var _getPrototypeOf2; + + 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 = private_dropdown_trigger_possibleConstructorReturn(this, (_getPrototypeOf2 = private_dropdown_trigger_getPrototypeOf(TimepickerDropdownTrigger)).call.apply(_getPrototypeOf2, [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 ( + /* 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 + }, 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__(58); + +// CONCATENATED MODULE: ./components/time-picker/index.jsx +function time_picker_typeof(obj) { 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_possibleConstructorReturn(self, call) { if (call && (time_picker_typeof(call) === "object" || typeof call === "function")) { return call; } return time_picker_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + // ### 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 = time_picker_possibleConstructorReturn(this, time_picker_getPrototypeOf(Timepicker).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; + } + + time_picker_createClass(Timepicker, [{ + key: "componentWillReceiveProps", + value: function 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 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_dropdown_trigger, { + iconRight: 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__(59); + +// CONCATENATED MODULE: ./components/toast/index.jsx +function toast_typeof(obj) { 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_possibleConstructorReturn(self, call) { if (call && (toast_typeof(call) === "object" || typeof call === "function")) { return call; } return toast_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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); + + function Toast(props) { + var _this; + + toast_classCallCheck(this, Toast); + + _this = toast_possibleConstructorReturn(this, toast_getPrototypeOf(Toast).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: external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "info" + }), + success: external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "success" + }), + warning: external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "warning" + }), + error: 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 = 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 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 + + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveTextVariant[this.props.variant]), clonedIcon, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-notify__content" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: "slds-text-heading_small" + }, heading, ' ', labels.headingLink ? 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", null, labels.details) : null), 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) { 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_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_getPrototypeOf(o) { toast_container_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return toast_container_getPrototypeOf(o); } + +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); } + +/* 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); + + function ToastContainer() { + toast_container_classCallCheck(this, ToastContainer); + + return toast_container_possibleConstructorReturn(this, toast_container_getPrototypeOf(ToastContainer).apply(this, arguments)); + } + + toast_container_createClass(ToastContainer, [{ + key: "render", + value: function render() { + return 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 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(); + } + } + }, 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 + }); + } + }, 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 + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-size_1-of-1" + }, 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 (// 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 = 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' + } + }, 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%' + } + }), 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%' + } + }), 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 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(); + } + } + }, 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 + }); + } + }, 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" + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-size_1-of-1", + id: "".concat(props.htmlId, "__label") + }, 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, 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 = 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 = 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__(60); + +// CONCATENATED MODULE: ./components/tree/index.jsx +function tree_typeof(obj) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { tree_defineProperty(target, key, 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_possibleConstructorReturn(self, call) { if (call && (tree_typeof(call) === "object" || typeof call === "function")) { return call; } return tree_assertThisInitialized(self); } + +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_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +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_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: string, + * id: string, + * label: string or node, + * selected: string, + * 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; + } +}; +/** + * 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); + + function Tree(props) { + var _this; + + tree_classCallCheck(this, Tree); + + _this = tree_possibleConstructorReturn(this, tree_getPrototypeOf(Tree).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), "flattenTree", function (root) { + var treeIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ''; + var firstLevel = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 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] : _this.props.getNodes(root)[index]; + nodes = nodes.concat(_this.flattenTree(curNode, treeIndex ? "".concat(treeIndex, "-").concat(index) : "".concat(index), false)); + } + } + + return nodes; + }); + + 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 = _this.flattenTree({ + nodes: _this.props.getNodes({ + nodes: _this.props.nodes + }), + expanded: true + }).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: "componentWillReceiveProps", + value: function componentWillReceiveProps(nextProps) { + this.setState({ + flattenedNodes: this.flattenTree({ + nodes: this.props.getNodes({ + nodes: nextProps.nodes + }), + expanded: true + }).slice(1) + }); + } + /* 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. + */ + + }, { + 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_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 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" */ + + }, 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), 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 + })); + } + }]); + + 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 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 + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid" + }, props.children), 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" + }, 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), 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 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, trial_bar_dropdown_extends({}, rest, { + inverse: true + }), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_trigger, { + triggerClassName: "slds-grid" + }, 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) { 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_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_getPrototypeOf(o) { visual_picker_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return visual_picker_getPrototypeOf(o); } + +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); } + +/* 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); + + function VisualPicker() { + visual_picker_classCallCheck(this, VisualPicker); + + return visual_picker_possibleConstructorReturn(this, visual_picker_getPrototypeOf(VisualPicker).apply(this, arguments)); + } + + visual_picker_createClass(VisualPicker, [{ + key: "componentWillMount", + value: function 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 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 ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, this.props.children) : 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) + }, 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), 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) { 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_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_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); } + +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); } + +/* 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); + + function VisualPickerLink() { + visual_picker_link_classCallCheck(this, VisualPickerLink); + + return visual_picker_link_possibleConstructorReturn(this, visual_picker_link_getPrototypeOf(VisualPickerLink).apply(this, arguments)); + } + + visual_picker_link_createClass(VisualPickerLink, [{ + key: "render", + value: function render() { + return 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) + }, 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), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body slds-border_left slds-p-around_small" + }, 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), 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) { 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_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_getPrototypeOf(o) { welcome_mat_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return welcome_mat_getPrototypeOf(o); } + +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); } + +/* 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); + + function WelcomeMat(props) { + var _this; + + welcome_mat_classCallCheck(this, WelcomeMat); + + _this = welcome_mat_possibleConstructorReturn(this, welcome_mat_getPrototypeOf(WelcomeMat).call(this, props)); + _this.state = { + completedSteps: 0, + totalSteps: 0, + progress: 0 + }; + return _this; + } + + welcome_mat_createClass(WelcomeMat, [{ + key: "componentWillMount", + value: function 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 = 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") + }, 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), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__info-description slds-text-longform" + }, 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' ? 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, 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 ? 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, 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 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' ? 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' ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", null, this.state.completedSteps, "/", this.state.totalSteps, " ".concat(labels.unitsCompletedAfter)) : external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", null, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("strong", null, this.state.completedSteps, "/", this.state.totalSteps, " ".concat(labels.unitsCompletedAfter))), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(progress_bar, { + value: this.state.progress, + radius: "circular" + })) : null)) : null); + return 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") + }, 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() + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__content slds-grid" + }, this.props.children ? 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, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__info slds-size_1-of-2" + }, splash), 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, { + variant: _this2.props.variant + }); + }))) : 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) { 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_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_getPrototypeOf(o) { info_badge_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return info_badge_getPrototypeOf(o); } + +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); } + +/* 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); + + function InfoBadge() { + info_badge_classCallCheck(this, InfoBadge); + + return info_badge_possibleConstructorReturn(this, info_badge_getPrototypeOf(InfoBadge).apply(this, arguments)); + } + + info_badge_createClass(InfoBadge, [{ + key: "componentWillMount", + value: function 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 external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getId(), + className: this.props.className + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__info-badge-container" + }, 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: "" + }), 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) { 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_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { welcome_mat_tile_defineProperty(target, key, 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_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_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); } + +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); } + +/* 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); + + function Tile() { + welcome_mat_tile_classCallCheck(this, Tile); + + return welcome_mat_tile_possibleConstructorReturn(this, welcome_mat_tile_getPrototypeOf(Tile).apply(this, arguments)); + } + + welcome_mat_tile_createClass(Tile, [{ + key: "componentWillMount", + value: function 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({}, welcome_mat_tile_defaultProps.assistiveText, this.props.assistiveText); + + var body = 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, 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') + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__tile-figure" + }, 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' ? 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))), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__tile-body" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h3", { + className: "slds-welcome-mat__tile-title" + }, this.props.title), external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-welcome-mat__tile-description" + }, this.props.description)))); + return 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' ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media" + }, body) : 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_nonIterableSpread(); } + +function add_subheadings_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function add_subheadings_iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function add_subheadings_arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +/* 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 subheadingsNotPresent = add_subheadings_toConsumableArray(subheadings); + + var filteredOptionsWithSubheadings = filteredOptions.map(function (option) { + var subheadingRelatedToFilteredOption; // Remove subheadings that have been found from + // `subheadingsNotPresent` and flag if they are + // found. + + subheadingsNotPresent = subheadingsNotPresent.filter(function (subheading) { + var subheadingNotPresentInFilteredOptions = true; + + if (option.type === subheading.id) { + subheadingRelatedToFilteredOption = subheading; + subheadingNotPresentInFilteredOptions = false; + } + + return subheadingNotPresentInFilteredOptions; + }); // So that they can be inserted into the current filtered + // options in a child array with the first related option + // OUTPUT + // Array [ + // 0: Array [ + // 0: {id: "account", label: "Accounts", type: "separator"} + // 1: {id: "1", label: "Acme", type: "account"} + // ] + // ] + + return subheadingRelatedToFilteredOption ? [subheadingRelatedToFilteredOption, option] : [option]; + }); // 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(filteredOptionsWithSubheadings)); +}; + +/* 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 +/* concated harmony reexport Accordion */__webpack_require__.d(__webpack_exports__, "Accordion", function() { return accordion; }); +/* concated harmony reexport SLDSAccordion */__webpack_require__.d(__webpack_exports__, "SLDSAccordion", function() { return accordion; }); +/* concated harmony reexport AccordionPanel */__webpack_require__.d(__webpack_exports__, "AccordionPanel", function() { return panel; }); +/* concated harmony reexport SLDSAccordionPanel */__webpack_require__.d(__webpack_exports__, "SLDSAccordionPanel", function() { return panel; }); +/* concated harmony reexport Alert */__webpack_require__.d(__webpack_exports__, "Alert", function() { return components_alert; }); +/* concated harmony reexport SLDSAlert */__webpack_require__.d(__webpack_exports__, "SLDSAlert", function() { return components_alert; }); +/* concated harmony reexport AlertContainer */__webpack_require__.d(__webpack_exports__, "AlertContainer", function() { return container; }); +/* concated harmony reexport SLDSAlertContainer */__webpack_require__.d(__webpack_exports__, "SLDSAlertContainer", function() { return container; }); +/* concated harmony reexport AppLauncher */__webpack_require__.d(__webpack_exports__, "AppLauncher", function() { return app_launcher; }); +/* concated harmony reexport SLDSAppLauncher */__webpack_require__.d(__webpack_exports__, "SLDSAppLauncher", function() { return app_launcher; }); +/* concated harmony reexport AppLauncherExpandableSection */__webpack_require__.d(__webpack_exports__, "AppLauncherExpandableSection", function() { return app_launcher_expandable_section; }); +/* concated harmony reexport SLDSAppLauncherExpandableSection */__webpack_require__.d(__webpack_exports__, "SLDSAppLauncherExpandableSection", function() { return app_launcher_expandable_section; }); +/* concated harmony reexport AppLauncherLink */__webpack_require__.d(__webpack_exports__, "AppLauncherLink", function() { return app_launcher_link; }); +/* concated harmony reexport SLDSAppLauncherLink */__webpack_require__.d(__webpack_exports__, "SLDSAppLauncherLink", function() { return app_launcher_link; }); +/* concated harmony reexport AppLauncherTile */__webpack_require__.d(__webpack_exports__, "AppLauncherTile", function() { return tile; }); +/* concated harmony reexport SLDSAppLauncherTile */__webpack_require__.d(__webpack_exports__, "SLDSAppLauncherTile", function() { return tile; }); +/* concated harmony reexport Avatar */__webpack_require__.d(__webpack_exports__, "Avatar", function() { return components_avatar; }); +/* concated harmony reexport SLDSAvatar */__webpack_require__.d(__webpack_exports__, "SLDSAvatar", function() { return components_avatar; }); +/* concated harmony reexport Badge */__webpack_require__.d(__webpack_exports__, "Badge", function() { return badge; }); +/* concated harmony reexport SLDSBadge */__webpack_require__.d(__webpack_exports__, "SLDSBadge", function() { return badge; }); +/* concated harmony reexport BrandBand */__webpack_require__.d(__webpack_exports__, "BrandBand", function() { return brand_band; }); +/* concated harmony reexport SLDSBrandBand */__webpack_require__.d(__webpack_exports__, "SLDSBrandBand", function() { return brand_band; }); +/* concated harmony reexport BreadCrumb */__webpack_require__.d(__webpack_exports__, "BreadCrumb", function() { return breadcrumb; }); +/* concated harmony reexport SLDSBreadCrumb */__webpack_require__.d(__webpack_exports__, "SLDSBreadCrumb", function() { return breadcrumb; }); +/* concated harmony reexport Breadcrumb */__webpack_require__.d(__webpack_exports__, "Breadcrumb", function() { return breadcrumb; }); +/* concated harmony reexport SLDSBreadcrumb */__webpack_require__.d(__webpack_exports__, "SLDSBreadcrumb", function() { return breadcrumb; }); +/* concated harmony reexport BuilderHeader */__webpack_require__.d(__webpack_exports__, "BuilderHeader", function() { return builder_header; }); +/* concated harmony reexport SLDSBuilderHeader */__webpack_require__.d(__webpack_exports__, "SLDSBuilderHeader", function() { return builder_header; }); +/* concated harmony reexport BuilderHeaderMisc */__webpack_require__.d(__webpack_exports__, "BuilderHeaderMisc", function() { return builder_header_misc; }); +/* concated harmony reexport SLDSBuilderHeaderMisc */__webpack_require__.d(__webpack_exports__, "SLDSBuilderHeaderMisc", function() { return builder_header_misc; }); +/* concated harmony reexport BuilderHeaderNav */__webpack_require__.d(__webpack_exports__, "BuilderHeaderNav", function() { return builder_header_nav; }); +/* concated harmony reexport SLDSBuilderHeaderNav */__webpack_require__.d(__webpack_exports__, "SLDSBuilderHeaderNav", function() { return builder_header_nav; }); +/* concated harmony reexport BuilderHeaderNavDropdown */__webpack_require__.d(__webpack_exports__, "BuilderHeaderNavDropdown", function() { return nav_dropdown; }); +/* concated harmony reexport SLDSBuilderHeaderNavDropdown */__webpack_require__.d(__webpack_exports__, "SLDSBuilderHeaderNavDropdown", function() { return nav_dropdown; }); +/* concated harmony reexport BuilderHeaderNavLink */__webpack_require__.d(__webpack_exports__, "BuilderHeaderNavLink", function() { return nav_link; }); +/* concated harmony reexport SLDSBuilderHeaderNavLink */__webpack_require__.d(__webpack_exports__, "SLDSBuilderHeaderNavLink", function() { return nav_link; }); +/* concated harmony reexport BuilderHeaderToolbar */__webpack_require__.d(__webpack_exports__, "BuilderHeaderToolbar", function() { return builder_header_toolbar; }); +/* concated harmony reexport SLDSBuilderHeaderToolbar */__webpack_require__.d(__webpack_exports__, "SLDSBuilderHeaderToolbar", function() { return builder_header_toolbar; }); +/* concated harmony reexport Button */__webpack_require__.d(__webpack_exports__, "Button", function() { return components_button; }); +/* concated harmony reexport SLDSButton */__webpack_require__.d(__webpack_exports__, "SLDSButton", function() { return components_button; }); +/* concated harmony reexport ButtonGroup */__webpack_require__.d(__webpack_exports__, "ButtonGroup", function() { return button_group; }); +/* concated harmony reexport SLDSButtonGroup */__webpack_require__.d(__webpack_exports__, "SLDSButtonGroup", function() { return button_group; }); +/* concated harmony reexport ButtonIcon */__webpack_require__.d(__webpack_exports__, "ButtonIcon", function() { return button_icon; }); +/* concated harmony reexport SLDSButtonIcon */__webpack_require__.d(__webpack_exports__, "SLDSButtonIcon", function() { return button_icon; }); +/* concated harmony reexport ButtonStateful */__webpack_require__.d(__webpack_exports__, "ButtonStateful", function() { return button_stateful; }); +/* concated harmony reexport SLDSButtonStateful */__webpack_require__.d(__webpack_exports__, "SLDSButtonStateful", function() { return button_stateful; }); +/* concated harmony reexport Card */__webpack_require__.d(__webpack_exports__, "Card", function() { return card; }); +/* concated harmony reexport SLDSCard */__webpack_require__.d(__webpack_exports__, "SLDSCard", function() { return card; }); +/* concated harmony reexport CardEmpty */__webpack_require__.d(__webpack_exports__, "CardEmpty", function() { return card_empty; }); +/* concated harmony reexport SLDSCardEmpty */__webpack_require__.d(__webpack_exports__, "SLDSCardEmpty", function() { return card_empty; }); +/* concated harmony reexport CardFilter */__webpack_require__.d(__webpack_exports__, "CardFilter", function() { return card_filter; }); +/* concated harmony reexport SLDSCardFilter */__webpack_require__.d(__webpack_exports__, "SLDSCardFilter", function() { return card_filter; }); +/* concated harmony reexport Carousel */__webpack_require__.d(__webpack_exports__, "Carousel", function() { return carousel; }); +/* concated harmony reexport SLDSCarousel */__webpack_require__.d(__webpack_exports__, "SLDSCarousel", function() { return carousel; }); +/* concated harmony reexport Checkbox */__webpack_require__.d(__webpack_exports__, "Checkbox", function() { return components_checkbox; }); +/* concated harmony reexport SLDSCheckbox */__webpack_require__.d(__webpack_exports__, "SLDSCheckbox", function() { return components_checkbox; }); +/* concated harmony reexport ColorPicker */__webpack_require__.d(__webpack_exports__, "ColorPicker", function() { return color_picker; }); +/* concated harmony reexport SLDSColorPicker */__webpack_require__.d(__webpack_exports__, "SLDSColorPicker", function() { return color_picker; }); +/* concated harmony reexport Combobox */__webpack_require__.d(__webpack_exports__, "Combobox", function() { return components_combobox; }); +/* concated harmony reexport SLDSCombobox */__webpack_require__.d(__webpack_exports__, "SLDSCombobox", function() { return components_combobox; }); +/* concated harmony reexport SLDSComboboxFilterAndLimit */__webpack_require__.d(__webpack_exports__, "SLDSComboboxFilterAndLimit", function() { return combobox_filter; }); +/* concated harmony reexport DataTable */__webpack_require__.d(__webpack_exports__, "DataTable", function() { return data_table; }); +/* concated harmony reexport SLDSDataTable */__webpack_require__.d(__webpack_exports__, "SLDSDataTable", function() { return data_table; }); +/* concated harmony reexport DataTableCell */__webpack_require__.d(__webpack_exports__, "DataTableCell", function() { return data_table_cell; }); +/* concated harmony reexport SLDSDataTableCell */__webpack_require__.d(__webpack_exports__, "SLDSDataTableCell", function() { return data_table_cell; }); +/* concated harmony reexport DataTableColumn */__webpack_require__.d(__webpack_exports__, "DataTableColumn", function() { return data_table_column; }); +/* concated harmony reexport SLDSDataTableColumn */__webpack_require__.d(__webpack_exports__, "SLDSDataTableColumn", function() { return data_table_column; }); +/* concated harmony reexport DataTableHighlightCell */__webpack_require__.d(__webpack_exports__, "DataTableHighlightCell", function() { return highlight_cell; }); +/* concated harmony reexport SLDSDataTableHighlightCell */__webpack_require__.d(__webpack_exports__, "SLDSDataTableHighlightCell", function() { return highlight_cell; }); +/* concated harmony reexport DataTableRowActions */__webpack_require__.d(__webpack_exports__, "DataTableRowActions", function() { return row_actions; }); +/* concated harmony reexport SLDSDataTableRowActions */__webpack_require__.d(__webpack_exports__, "SLDSDataTableRowActions", function() { return row_actions; }); +/* concated harmony reexport DatePicker */__webpack_require__.d(__webpack_exports__, "DatePicker", function() { return components_date_picker; }); +/* concated harmony reexport SLDSDatePicker */__webpack_require__.d(__webpack_exports__, "SLDSDatePicker", function() { return components_date_picker; }); +/* concated harmony reexport Datepicker */__webpack_require__.d(__webpack_exports__, "Datepicker", function() { return components_date_picker; }); +/* concated harmony reexport SLDSDatepicker */__webpack_require__.d(__webpack_exports__, "SLDSDatepicker", function() { return components_date_picker; }); +/* concated harmony reexport Dropdown */__webpack_require__.d(__webpack_exports__, "Dropdown", function() { return components_menu_dropdown; }); +/* concated harmony reexport DropdownTrigger */__webpack_require__.d(__webpack_exports__, "DropdownTrigger", function() { return button_trigger; }); +/* concated harmony reexport SLDSDropdownTrigger */__webpack_require__.d(__webpack_exports__, "SLDSDropdownTrigger", function() { return button_trigger; }); +/* concated harmony reexport DynamicIcon */__webpack_require__.d(__webpack_exports__, "DynamicIcon", function() { return dynamic_icon; }); +/* concated harmony reexport SLDSDynamicIcon */__webpack_require__.d(__webpack_exports__, "SLDSDynamicIcon", function() { return dynamic_icon; }); +/* concated harmony reexport EditDialog */__webpack_require__.d(__webpack_exports__, "EditDialog", function() { return edit_dialog; }); +/* concated harmony reexport SLDSEditDialog */__webpack_require__.d(__webpack_exports__, "SLDSEditDialog", function() { return edit_dialog; }); +/* concated harmony reexport ExpandableSection */__webpack_require__.d(__webpack_exports__, "ExpandableSection", function() { return expandable_section; }); +/* concated harmony reexport SLDSExpandableSection */__webpack_require__.d(__webpack_exports__, "SLDSExpandableSection", function() { return expandable_section; }); +/* concated harmony reexport Expression */__webpack_require__.d(__webpack_exports__, "Expression", function() { return expression; }); +/* concated harmony reexport SLDSExpression */__webpack_require__.d(__webpack_exports__, "SLDSExpression", function() { return expression; }); +/* concated harmony reexport ExpressionCondition */__webpack_require__.d(__webpack_exports__, "ExpressionCondition", function() { return condition; }); +/* concated harmony reexport SLDSExpressionCondition */__webpack_require__.d(__webpack_exports__, "SLDSExpressionCondition", function() { return condition; }); +/* concated harmony reexport ExpressionFormula */__webpack_require__.d(__webpack_exports__, "ExpressionFormula", function() { return formula; }); +/* concated harmony reexport SLDSExpressionFormula */__webpack_require__.d(__webpack_exports__, "SLDSExpressionFormula", function() { return formula; }); +/* concated harmony reexport ExpressionGroup */__webpack_require__.d(__webpack_exports__, "ExpressionGroup", function() { return group; }); +/* concated harmony reexport SLDSExpressionGroup */__webpack_require__.d(__webpack_exports__, "SLDSExpressionGroup", function() { return group; }); +/* concated harmony reexport File */__webpack_require__.d(__webpack_exports__, "File", function() { return file; }); +/* concated harmony reexport SLDSFile */__webpack_require__.d(__webpack_exports__, "SLDSFile", function() { return file; }); +/* concated harmony reexport Files */__webpack_require__.d(__webpack_exports__, "Files", function() { return components_files; }); +/* concated harmony reexport SLDSFiles */__webpack_require__.d(__webpack_exports__, "SLDSFiles", function() { return components_files; }); +/* concated harmony reexport FilesFile */__webpack_require__.d(__webpack_exports__, "FilesFile", function() { return file; }); +/* concated harmony reexport SLDSFilesFile */__webpack_require__.d(__webpack_exports__, "SLDSFilesFile", function() { return file; }); +/* concated harmony reexport FilesMoreFiles */__webpack_require__.d(__webpack_exports__, "FilesMoreFiles", function() { return more_files; }); +/* concated harmony reexport SLDSFilesMoreFiles */__webpack_require__.d(__webpack_exports__, "SLDSFilesMoreFiles", function() { return more_files; }); +/* concated harmony reexport Filter */__webpack_require__.d(__webpack_exports__, "Filter", function() { return components_filter; }); +/* concated harmony reexport SLDSFilter */__webpack_require__.d(__webpack_exports__, "SLDSFilter", function() { return components_filter; }); +/* concated harmony reexport GlobalHeader */__webpack_require__.d(__webpack_exports__, "GlobalHeader", function() { return global_header; }); +/* concated harmony reexport SLDSGlobalHeader */__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeader", function() { return global_header; }); +/* concated harmony reexport GlobalHeaderButton */__webpack_require__.d(__webpack_exports__, "GlobalHeaderButton", function() { return global_header_button; }); +/* concated harmony reexport SLDSGlobalHeaderButton */__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderButton", function() { return global_header_button; }); +/* concated harmony reexport GlobalHeaderDropdown */__webpack_require__.d(__webpack_exports__, "GlobalHeaderDropdown", function() { return global_header_dropdown; }); +/* concated harmony reexport SLDSGlobalHeaderDropdown */__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderDropdown", function() { return global_header_dropdown; }); +/* concated harmony reexport GlobalHeaderFavorites */__webpack_require__.d(__webpack_exports__, "GlobalHeaderFavorites", function() { return favorites; }); +/* concated harmony reexport SLDSGlobalHeaderFavorites */__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderFavorites", function() { return favorites; }); +/* concated harmony reexport GlobalHeaderHelp */__webpack_require__.d(__webpack_exports__, "GlobalHeaderHelp", function() { return help; }); +/* concated harmony reexport SLDSGlobalHeaderHelp */__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderHelp", function() { return help; }); +/* concated harmony reexport GlobalHeaderNotifications */__webpack_require__.d(__webpack_exports__, "GlobalHeaderNotifications", function() { return notifications; }); +/* concated harmony reexport SLDSGlobalHeaderNotifications */__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderNotifications", function() { return notifications; }); +/* concated harmony reexport GlobalHeaderProfile */__webpack_require__.d(__webpack_exports__, "GlobalHeaderProfile", function() { return profile; }); +/* concated harmony reexport SLDSGlobalHeaderProfile */__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderProfile", function() { return profile; }); +/* concated harmony reexport GlobalHeaderSearch */__webpack_require__.d(__webpack_exports__, "GlobalHeaderSearch", function() { return global_header_search; }); +/* concated harmony reexport SLDSGlobalHeaderSearch */__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderSearch", function() { return global_header_search; }); +/* concated harmony reexport GlobalHeaderSetup */__webpack_require__.d(__webpack_exports__, "GlobalHeaderSetup", function() { return setup; }); +/* concated harmony reexport SLDSGlobalHeaderSetup */__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderSetup", function() { return setup; }); +/* concated harmony reexport GlobalHeaderTask */__webpack_require__.d(__webpack_exports__, "GlobalHeaderTask", function() { return task; }); +/* concated harmony reexport SLDSGlobalHeaderTask */__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderTask", function() { return task; }); +/* concated harmony reexport GlobalNavigationBar */__webpack_require__.d(__webpack_exports__, "GlobalNavigationBar", function() { return global_navigation_bar; }); +/* concated harmony reexport SLDSGlobalNavigationBar */__webpack_require__.d(__webpack_exports__, "SLDSGlobalNavigationBar", function() { return global_navigation_bar; }); +/* concated harmony reexport GlobalNavigationBarButton */__webpack_require__.d(__webpack_exports__, "GlobalNavigationBarButton", function() { return global_navigation_bar_button; }); +/* concated harmony reexport SLDSGlobalNavigationBarButton */__webpack_require__.d(__webpack_exports__, "SLDSGlobalNavigationBarButton", function() { return global_navigation_bar_button; }); +/* concated harmony reexport GlobalNavigationBarDropdown */__webpack_require__.d(__webpack_exports__, "GlobalNavigationBarDropdown", function() { return global_navigation_bar_dropdown; }); +/* concated harmony reexport SLDSGlobalNavigationBarDropdown */__webpack_require__.d(__webpack_exports__, "SLDSGlobalNavigationBarDropdown", function() { return global_navigation_bar_dropdown; }); +/* concated harmony reexport GlobalNavigationBarLabel */__webpack_require__.d(__webpack_exports__, "GlobalNavigationBarLabel", function() { return global_navigation_bar_label; }); +/* concated harmony reexport SLDSGlobalNavigationBarLabel */__webpack_require__.d(__webpack_exports__, "SLDSGlobalNavigationBarLabel", function() { return global_navigation_bar_label; }); +/* concated harmony reexport GlobalNavigationBarLink */__webpack_require__.d(__webpack_exports__, "GlobalNavigationBarLink", function() { return global_navigation_bar_link; }); +/* concated harmony reexport SLDSGlobalNavigationBarLink */__webpack_require__.d(__webpack_exports__, "SLDSGlobalNavigationBarLink", function() { return global_navigation_bar_link; }); +/* concated harmony reexport GlobalNavigationBarRegion */__webpack_require__.d(__webpack_exports__, "GlobalNavigationBarRegion", function() { return global_navigation_bar_region; }); +/* concated harmony reexport SLDSGlobalNavigationBarRegion */__webpack_require__.d(__webpack_exports__, "SLDSGlobalNavigationBarRegion", function() { return global_navigation_bar_region; }); +/* concated harmony reexport Icon */__webpack_require__.d(__webpack_exports__, "Icon", function() { return components_icon; }); +/* concated harmony reexport SLDSIcon */__webpack_require__.d(__webpack_exports__, "SLDSIcon", function() { return components_icon; }); +/* concated harmony reexport IconSettings */__webpack_require__.d(__webpack_exports__, "IconSettings", function() { return icon_settings; }); +/* concated harmony reexport SLDSIconSettings */__webpack_require__.d(__webpack_exports__, "SLDSIconSettings", function() { return icon_settings; }); +/* concated harmony reexport Illustration */__webpack_require__.d(__webpack_exports__, "Illustration", function() { return components_illustration; }); +/* concated harmony reexport SLDSIllustration */__webpack_require__.d(__webpack_exports__, "SLDSIllustration", function() { return components_illustration; }); +/* concated harmony reexport InlineEdit */__webpack_require__.d(__webpack_exports__, "InlineEdit", function() { return inline; }); +/* concated harmony reexport SLDSInlineEdit */__webpack_require__.d(__webpack_exports__, "SLDSInlineEdit", function() { return inline; }); +/* concated harmony reexport Input */__webpack_require__.d(__webpack_exports__, "Input", function() { return input; }); +/* concated harmony reexport SLDSInput */__webpack_require__.d(__webpack_exports__, "SLDSInput", function() { return input; }); +/* concated harmony reexport InputIcon */__webpack_require__.d(__webpack_exports__, "InputIcon", function() { return input_icon; }); +/* concated harmony reexport SLDSInputIcon */__webpack_require__.d(__webpack_exports__, "SLDSInputIcon", function() { return input_icon; }); +/* concated harmony reexport InputSearch */__webpack_require__.d(__webpack_exports__, "InputSearch", function() { return input_search; }); +/* concated harmony reexport SLDSInputSearch */__webpack_require__.d(__webpack_exports__, "SLDSInputSearch", function() { return input_search; }); +/* concated harmony reexport Lookup */__webpack_require__.d(__webpack_exports__, "Lookup", function() { return components_lookup; }); +/* concated harmony reexport SLDSLookup */__webpack_require__.d(__webpack_exports__, "SLDSLookup", function() { return components_lookup; }); +/* concated harmony reexport LookupDefaultFooter */__webpack_require__.d(__webpack_exports__, "LookupDefaultFooter", function() { return default_footer; }); +/* concated harmony reexport SLDSLookupDefaultFooter */__webpack_require__.d(__webpack_exports__, "SLDSLookupDefaultFooter", function() { return default_footer; }); +/* concated harmony reexport LookupDefaultHeader */__webpack_require__.d(__webpack_exports__, "LookupDefaultHeader", function() { return default_header; }); +/* concated harmony reexport SLDSLookupDefaultHeader */__webpack_require__.d(__webpack_exports__, "SLDSLookupDefaultHeader", function() { return default_header; }); +/* concated harmony reexport LookupDefaultSectionDivider */__webpack_require__.d(__webpack_exports__, "LookupDefaultSectionDivider", function() { return default_section_divider; }); +/* concated harmony reexport SLDSLookupDefaultSectionDivider */__webpack_require__.d(__webpack_exports__, "SLDSLookupDefaultSectionDivider", function() { return default_section_divider; }); +/* concated harmony reexport MediaObject */__webpack_require__.d(__webpack_exports__, "MediaObject", function() { return media_object; }); +/* concated harmony reexport SLDSMediaObject */__webpack_require__.d(__webpack_exports__, "SLDSMediaObject", function() { return media_object; }); +/* concated harmony reexport MenuDropdown */__webpack_require__.d(__webpack_exports__, "MenuDropdown", function() { return components_menu_dropdown; }); +/* concated harmony reexport SLDSMenuDropdown */__webpack_require__.d(__webpack_exports__, "SLDSMenuDropdown", function() { return components_menu_dropdown; }); +/* concated harmony reexport MenuDropdownButtonTrigger */__webpack_require__.d(__webpack_exports__, "MenuDropdownButtonTrigger", function() { return button_trigger; }); +/* concated harmony reexport SLDSMenuDropdownButtonTrigger */__webpack_require__.d(__webpack_exports__, "SLDSMenuDropdownButtonTrigger", function() { return button_trigger; }); +/* concated harmony reexport SLDSMenuPicklist */__webpack_require__.d(__webpack_exports__, "SLDSMenuPicklist", function() { return menu_picklist; }); +/* concated harmony reexport Modal */__webpack_require__.d(__webpack_exports__, "Modal", function() { return modal; }); +/* concated harmony reexport SLDSModal */__webpack_require__.d(__webpack_exports__, "SLDSModal", function() { return modal; }); +/* concated harmony reexport ModalTrigger */__webpack_require__.d(__webpack_exports__, "ModalTrigger", function() { return modal_trigger; }); +/* concated harmony reexport SLDSModalTrigger */__webpack_require__.d(__webpack_exports__, "SLDSModalTrigger", function() { return modal_trigger; }); +/* concated harmony reexport MoreFiles */__webpack_require__.d(__webpack_exports__, "MoreFiles", function() { return more_files; }); +/* concated harmony reexport SLDSMoreFiles */__webpack_require__.d(__webpack_exports__, "SLDSMoreFiles", function() { return more_files; }); +/* concated harmony reexport Navigation */__webpack_require__.d(__webpack_exports__, "Navigation", function() { return vertical_navigation; }); +/* concated harmony reexport SLDSNavigation */__webpack_require__.d(__webpack_exports__, "SLDSNavigation", function() { return vertical_navigation; }); +/* concated harmony reexport Notification */__webpack_require__.d(__webpack_exports__, "Notification", function() { return notification; }); +/* concated harmony reexport SLDSNotification */__webpack_require__.d(__webpack_exports__, "SLDSNotification", function() { return notification; }); +/* concated harmony reexport PageHeader */__webpack_require__.d(__webpack_exports__, "PageHeader", function() { return page_header; }); +/* concated harmony reexport SLDSPageHeader */__webpack_require__.d(__webpack_exports__, "SLDSPageHeader", function() { return page_header; }); +/* concated harmony reexport PageHeaderControl */__webpack_require__.d(__webpack_exports__, "PageHeaderControl", function() { return control; }); +/* concated harmony reexport SLDSPageHeaderControl */__webpack_require__.d(__webpack_exports__, "SLDSPageHeaderControl", function() { return control; }); +/* concated harmony reexport Panel */__webpack_require__.d(__webpack_exports__, "Panel", function() { return components_panel; }); +/* concated harmony reexport SLDSPanel */__webpack_require__.d(__webpack_exports__, "SLDSPanel", function() { return components_panel; }); +/* concated harmony reexport PanelFilterGroup */__webpack_require__.d(__webpack_exports__, "PanelFilterGroup", function() { return filtering_group; }); +/* concated harmony reexport SLDSPanelFilterGroup */__webpack_require__.d(__webpack_exports__, "SLDSPanelFilterGroup", function() { return filtering_group; }); +/* concated harmony reexport PanelFilterList */__webpack_require__.d(__webpack_exports__, "PanelFilterList", function() { return filtering_list; }); +/* concated harmony reexport SLDSPanelFilterList */__webpack_require__.d(__webpack_exports__, "SLDSPanelFilterList", function() { return filtering_list; }); +/* concated harmony reexport PanelFilterListHeading */__webpack_require__.d(__webpack_exports__, "PanelFilterListHeading", function() { return list_heading; }); +/* concated harmony reexport SLDSPanelFilterListHeading */__webpack_require__.d(__webpack_exports__, "SLDSPanelFilterListHeading", function() { return list_heading; }); +/* concated harmony reexport Picklist */__webpack_require__.d(__webpack_exports__, "Picklist", function() { return menu_picklist; }); +/* concated harmony reexport Pill */__webpack_require__.d(__webpack_exports__, "Pill", function() { return pill; }); +/* concated harmony reexport SLDSPill */__webpack_require__.d(__webpack_exports__, "SLDSPill", function() { return pill; }); +/* concated harmony reexport PillContainer */__webpack_require__.d(__webpack_exports__, "PillContainer", function() { return pill_container; }); +/* concated harmony reexport SLDSPillContainer */__webpack_require__.d(__webpack_exports__, "SLDSPillContainer", function() { return pill_container; }); +/* concated harmony reexport Popover */__webpack_require__.d(__webpack_exports__, "Popover", function() { return components_popover; }); +/* concated harmony reexport SLDSPopover */__webpack_require__.d(__webpack_exports__, "SLDSPopover", function() { return components_popover; }); +/* concated harmony reexport PopoverTooltip */__webpack_require__.d(__webpack_exports__, "PopoverTooltip", function() { return tooltip; }); +/* concated harmony reexport SLDSPopoverTooltip */__webpack_require__.d(__webpack_exports__, "SLDSPopoverTooltip", function() { return tooltip; }); +/* concated harmony reexport ProgressBar */__webpack_require__.d(__webpack_exports__, "ProgressBar", function() { return progress_bar; }); +/* concated harmony reexport SLDSProgressBar */__webpack_require__.d(__webpack_exports__, "SLDSProgressBar", function() { return progress_bar; }); +/* concated harmony reexport ProgressIndicator */__webpack_require__.d(__webpack_exports__, "ProgressIndicator", function() { return progress_indicator; }); +/* concated harmony reexport SLDSProgressIndicator */__webpack_require__.d(__webpack_exports__, "SLDSProgressIndicator", function() { return progress_indicator; }); +/* concated harmony reexport ProgressRing */__webpack_require__.d(__webpack_exports__, "ProgressRing", function() { return progress_ring; }); +/* concated harmony reexport SLDSProgressRing */__webpack_require__.d(__webpack_exports__, "SLDSProgressRing", function() { return progress_ring; }); +/* concated harmony reexport Radio */__webpack_require__.d(__webpack_exports__, "Radio", function() { return components_radio; }); +/* concated harmony reexport SLDSRadio */__webpack_require__.d(__webpack_exports__, "SLDSRadio", function() { return components_radio; }); +/* concated harmony reexport RadioButtonGroup */__webpack_require__.d(__webpack_exports__, "RadioButtonGroup", function() { return radio_button_group; }); +/* concated harmony reexport SLDSRadioButtonGroup */__webpack_require__.d(__webpack_exports__, "SLDSRadioButtonGroup", function() { return radio_button_group; }); +/* concated harmony reexport RadioGroup */__webpack_require__.d(__webpack_exports__, "RadioGroup", function() { return radio_group; }); +/* concated harmony reexport SLDSRadioGroup */__webpack_require__.d(__webpack_exports__, "SLDSRadioGroup", function() { return radio_group; }); +/* concated harmony reexport ScopedNotification */__webpack_require__.d(__webpack_exports__, "ScopedNotification", function() { return scoped_notification; }); +/* concated harmony reexport SLDSScopedNotification */__webpack_require__.d(__webpack_exports__, "SLDSScopedNotification", function() { return scoped_notification; }); +/* concated harmony reexport Search */__webpack_require__.d(__webpack_exports__, "Search", function() { return input_search; }); +/* concated harmony reexport SLDSSearch */__webpack_require__.d(__webpack_exports__, "SLDSSearch", function() { return input_search; }); +/* concated harmony reexport Settings */__webpack_require__.d(__webpack_exports__, "Settings", function() { return components_settings; }); +/* concated harmony reexport SLDSSettings */__webpack_require__.d(__webpack_exports__, "SLDSSettings", function() { return components_settings; }); +/* concated harmony reexport SetupAssistant */__webpack_require__.d(__webpack_exports__, "SetupAssistant", function() { return setup_assistant; }); +/* concated harmony reexport SLDSSetupAssistant */__webpack_require__.d(__webpack_exports__, "SLDSSetupAssistant", function() { return setup_assistant; }); +/* concated harmony reexport SetupAssistantStep */__webpack_require__.d(__webpack_exports__, "SetupAssistantStep", function() { return setup_assistant_step; }); +/* concated harmony reexport SLDSSetupAssistantStep */__webpack_require__.d(__webpack_exports__, "SLDSSetupAssistantStep", function() { return setup_assistant_step; }); +/* concated harmony reexport Slider */__webpack_require__.d(__webpack_exports__, "Slider", function() { return slider; }); +/* concated harmony reexport SLDSSlider */__webpack_require__.d(__webpack_exports__, "SLDSSlider", function() { return slider; }); +/* concated harmony reexport Spinner */__webpack_require__.d(__webpack_exports__, "Spinner", function() { return spinner; }); +/* concated harmony reexport SLDSSpinner */__webpack_require__.d(__webpack_exports__, "SLDSSpinner", function() { return spinner; }); +/* concated harmony reexport SplitView */__webpack_require__.d(__webpack_exports__, "SplitView", function() { return split_view; }); +/* concated harmony reexport SLDSSplitView */__webpack_require__.d(__webpack_exports__, "SLDSSplitView", function() { return split_view; }); +/* concated harmony reexport SplitViewHeader */__webpack_require__.d(__webpack_exports__, "SplitViewHeader", function() { return split_view_header; }); +/* concated harmony reexport SLDSSplitViewHeader */__webpack_require__.d(__webpack_exports__, "SLDSSplitViewHeader", function() { return split_view_header; }); +/* concated harmony reexport SplitViewListbox */__webpack_require__.d(__webpack_exports__, "SplitViewListbox", function() { return listbox; }); +/* concated harmony reexport SLDSSplitViewListbox */__webpack_require__.d(__webpack_exports__, "SLDSSplitViewListbox", function() { return listbox; }); +/* concated harmony reexport Splitview */__webpack_require__.d(__webpack_exports__, "Splitview", function() { return split_view; }); +/* concated harmony reexport SLDSSplitview */__webpack_require__.d(__webpack_exports__, "SLDSSplitview", function() { return split_view; }); +/* concated harmony reexport Tabs */__webpack_require__.d(__webpack_exports__, "Tabs", function() { return tabs; }); +/* concated harmony reexport SLDSTabs */__webpack_require__.d(__webpack_exports__, "SLDSTabs", function() { return tabs; }); +/* concated harmony reexport TabsPanel */__webpack_require__.d(__webpack_exports__, "TabsPanel", function() { return tabs_panel; }); +/* concated harmony reexport SLDSTabsPanel */__webpack_require__.d(__webpack_exports__, "SLDSTabsPanel", function() { return tabs_panel; }); +/* concated harmony reexport Textarea */__webpack_require__.d(__webpack_exports__, "Textarea", function() { return components_textarea; }); +/* concated harmony reexport SLDSTextarea */__webpack_require__.d(__webpack_exports__, "SLDSTextarea", function() { return components_textarea; }); +/* concated harmony reexport TimePicker */__webpack_require__.d(__webpack_exports__, "TimePicker", function() { return time_picker; }); +/* concated harmony reexport SLDSTimePicker */__webpack_require__.d(__webpack_exports__, "SLDSTimePicker", function() { return time_picker; }); +/* concated harmony reexport Timepicker */__webpack_require__.d(__webpack_exports__, "Timepicker", function() { return time_picker; }); +/* concated harmony reexport SLDSTimepicker */__webpack_require__.d(__webpack_exports__, "SLDSTimepicker", function() { return time_picker; }); +/* concated harmony reexport Toast */__webpack_require__.d(__webpack_exports__, "Toast", function() { return components_toast; }); +/* concated harmony reexport SLDSToast */__webpack_require__.d(__webpack_exports__, "SLDSToast", function() { return components_toast; }); +/* concated harmony reexport ToastContainer */__webpack_require__.d(__webpack_exports__, "ToastContainer", function() { return toast_container; }); +/* concated harmony reexport SLDSToastContainer */__webpack_require__.d(__webpack_exports__, "SLDSToastContainer", function() { return toast_container; }); +/* concated harmony reexport Tooltip */__webpack_require__.d(__webpack_exports__, "Tooltip", function() { return tooltip; }); +/* concated harmony reexport SLDSTooltip */__webpack_require__.d(__webpack_exports__, "SLDSTooltip", function() { return tooltip; }); +/* concated harmony reexport Tree */__webpack_require__.d(__webpack_exports__, "Tree", function() { return tree; }); +/* concated harmony reexport SLDSTree */__webpack_require__.d(__webpack_exports__, "SLDSTree", function() { return tree; }); +/* concated harmony reexport TrialBar */__webpack_require__.d(__webpack_exports__, "TrialBar", function() { return trial_bar; }); +/* concated harmony reexport SLDSTrialBar */__webpack_require__.d(__webpack_exports__, "SLDSTrialBar", function() { return trial_bar; }); +/* concated harmony reexport TrialBarButton */__webpack_require__.d(__webpack_exports__, "TrialBarButton", function() { return trial_bar_button; }); +/* concated harmony reexport SLDSTrialBarButton */__webpack_require__.d(__webpack_exports__, "SLDSTrialBarButton", function() { return trial_bar_button; }); +/* concated harmony reexport TrialBarDropdown */__webpack_require__.d(__webpack_exports__, "TrialBarDropdown", function() { return trial_bar_dropdown; }); +/* concated harmony reexport SLDSTrialBarDropdown */__webpack_require__.d(__webpack_exports__, "SLDSTrialBarDropdown", function() { return trial_bar_dropdown; }); +/* concated harmony reexport UNSAFE_DirectionSettings */__webpack_require__.d(__webpack_exports__, "UNSAFE_DirectionSettings", function() { return UNSAFE_DirectionSettings; }); +/* concated harmony reexport UtilityIcon */__webpack_require__.d(__webpack_exports__, "UtilityIcon", function() { return utility_icon; }); +/* concated harmony reexport SLDSUtilityIcon */__webpack_require__.d(__webpack_exports__, "SLDSUtilityIcon", function() { return utility_icon; }); +/* concated harmony reexport VerticalNavigation */__webpack_require__.d(__webpack_exports__, "VerticalNavigation", function() { return vertical_navigation; }); +/* concated harmony reexport SLDSVerticalNavigation */__webpack_require__.d(__webpack_exports__, "SLDSVerticalNavigation", function() { return vertical_navigation; }); +/* concated harmony reexport VisualPicker */__webpack_require__.d(__webpack_exports__, "VisualPicker", function() { return visual_picker; }); +/* concated harmony reexport SLDSVisualPicker */__webpack_require__.d(__webpack_exports__, "SLDSVisualPicker", function() { return visual_picker; }); +/* concated harmony reexport VisualPickerLink */__webpack_require__.d(__webpack_exports__, "VisualPickerLink", function() { return visual_picker_link; }); +/* concated harmony reexport SLDSVisualPickerLink */__webpack_require__.d(__webpack_exports__, "SLDSVisualPickerLink", function() { return visual_picker_link; }); +/* concated harmony reexport WelcomeMat */__webpack_require__.d(__webpack_exports__, "WelcomeMat", function() { return welcome_mat; }); +/* concated harmony reexport SLDSWelcomeMat */__webpack_require__.d(__webpack_exports__, "SLDSWelcomeMat", function() { return welcome_mat; }); +/* concated harmony reexport WelcomeMatInfoBadge */__webpack_require__.d(__webpack_exports__, "WelcomeMatInfoBadge", function() { return info_badge; }); +/* concated harmony reexport SLDSWelcomeMatInfoBadge */__webpack_require__.d(__webpack_exports__, "SLDSWelcomeMatInfoBadge", function() { return info_badge; }); +/* concated harmony reexport WelcomeMatTile */__webpack_require__.d(__webpack_exports__, "WelcomeMatTile", function() { return welcome_mat_tile; }); +/* concated harmony reexport SLDSWelcomeMatTile */__webpack_require__.d(__webpack_exports__, "SLDSWelcomeMatTile", function() { return welcome_mat_tile; }); +/* concated harmony reexport comboboxAddSubheadings */__webpack_require__.d(__webpack_exports__, "comboboxAddSubheadings", function() { return add_subheadings; }); +/* concated harmony reexport comboboxFilterAndLimit */__webpack_require__.d(__webpack_exports__, "comboboxFilterAndLimit", function() { return combobox_filter; }); +/* concated harmony reexport log */__webpack_require__.d(__webpack_exports__, "log", function() { return utilities_log; }); +/* 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..637b92df82 --- /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/warning/warning.js","webpack://[name]/./node_modules/lodash.findindex/index.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/./node_modules/lodash.isequal/index.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/fbjs/lib/invariant.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/fbjs/lib/emptyFunction.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.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/fbjs/lib/emptyObject.js","webpack://[name]/./node_modules/react-contenteditable/node_modules/fast-deep-equal/index.js","webpack://[name]/./node_modules/react-contenteditable/node_modules/prop-types/index.js","webpack://[name]/./node_modules/react-contenteditable/node_modules/prop-types/factoryWithThrowingShims.js","webpack://[name]/./node_modules/react-contenteditable/node_modules/prop-types/lib/ReactPropTypesSecret.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-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]/./utilities/get-data-props.js","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/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","LOOKUP","MAP","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","advanced_function","advertising","agent_session","alert","all","anchor","animal_and_nature","announcement","answer","answered_twice","apex","apex_plugin","approval","apps","archive","arrowdown","arrowup","assignment","attach","automate","away","back","ban","block_visitor","bold","bookmark","breadcrumbs","broadcast","brush","bucket","builder","call","campaign","cancel_file_request","cancel_transfer","capslock","cart","case","cases","center_align_text","change_owner","change_record_type","chart","chat","check","checkin","chevrondown","chevronleft","chevronright","chevronup","choice","classic_interface","clear","clock","close","collapse_all","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","database","datadotcom","date_input","date_time","dayview","delete","deprecate","description","desktop","desktop_console","dialing","dislike","display_rich_text","display_text","dock_panel","down","download","drag","drag_and_drop","dynamic_record_choice","edit","edit_form","education","einstein","email","email_open","emoji","end_call","end_chat","end_messaging_session","erect_window","error","event","events","expand","expand_all","expand_alt","fallback","favorite","feed","file","filter","filterlist","flow","food_and_drink","form_factor_support","formula","forward","forward_up","frozen","fulfillment_order","full_width_view","global_constant","graph","help","help_center","hide","hide_mobile","hierarchy","high_velocity_sales","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_top","justify_text","kanban","keyboard_dismiss","knowledge_base","layers","layout","leave_conference","left","left_align_text","level_down","level_up","light_bulb","lightning_inspector","like","link","linked","list","listen","live_message","location","lock","locker_service_api_viewer","locker_service_console","log_a_call","logout","loop","lower_flag","macros","magicwand","mark_all_as_read","matrix","merge","merge_field","metrics","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_cached","omni_channel","open","open_folder","opened_folder","outbound_call","outcome","overflow","package","package_org","package_org_beta","page","palette","password","paste","pause","people","phone_landscape","phone_portrait","photo","picklist","picklist_choice","picklist_type","pin","pinned","play","podcast_webinar","pop_in","power","preview","print","priority","privately_shared","prompt","prompt_edit","puzzle","question","question_mark","questions_and_answers","quick_text","quotation_marks","quote","radio_button","rating","reassign","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","retweet","ribbon","richtextbulletedlist","richtextindent","richtextnumberedlist","richtextoutdent","right","right_align_text","rotate","routing_offline","rows","rules","salesforce1","save","screen","search","send","sentiment_negative","sentiment_neutral","settings","setup","setup_assistant_guide","setup_modal","share","share_file","share_mobile","share_post","shield","shift_ui","shopping_bag","shortcuts","side_list","signpost","skip","smiley_and_people","sms","snippet","sobject","sobject_collection","socialshare","sort","spinner","stage","stage_collection","standard_objects","steps","stop","store","strategy","strikethrough","success","summary","summarydetail","survey","switch","symbols","sync","system_and_global_variable","table","tablet_landscape","tablet_portrait","tabset","task","text","text_background_color","text_color","text_template","textarea","textbox","threedots","threedots_vertical","thunder","tile_card_list","toggle_panel_bottom","toggle_panel_left","toggle_panel_right","toggle_panel_top","topic","topic2","touch_action","tracker","trail","trailhead","travel_and_places","trending","turn_off_notifications","type","type_tool","undelete","undeprecate","underline","undo","unlinked","unlock","unmuted","up","upload","user","user_role","variable","video","voicemail_drop","volume_high","volume_low","volume_off","waits","warning","weeklyview","wifi","work_order_type","world","yubi_key","zoomin","zoomout","add_contact","add_file","add_photo_video","add_relationship","bug","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","rtf","slide","stypi","txt","unknown","visio","webex","word","xml","zip","account","action_list_component","actions_and_buttons","address","answer_best","answer_private","answer_public","apps_admin","article","asset_relationship","assigned_resource","avatar","avatar_loading","bot","bot_training","branch_merge","brand","business_hours","buyer_account","buyer_group","calibration","call_history","campaign_members","carousel","case_change_status","case_comment","case_email","case_log_a_call","case_milestone","case_transcript","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_notification","customer_360","customer_portal_users","customers","dashboard","data_integration_hub","decision","default","delegated_account","document","drafts","email_chatter","empty","endorsement","entitlement","entitlement_policy","entitlement_process","entitlement_template","entity","entity_milestone","environment_hub","feedback","first_non_empty","forecasts","generic_loading","goals","group_loading","household","individual","insights","instore_locations","investment_account","invocable_action","iot_context","iot_orchestrations","javascript_button","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","marketing_actions","messaging_conversation","messaging_session","messaging_user","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","pricebook","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","recycle_bin","related_list","relationship","report","resource_preference","resource_skill","return_order","return_order_line_item","reward","rtc_presence","sales_cadence","sales_cadence_target","sales_channel","sales_path","scan_card","service_appointment","service_appointment_capacity_usage","service_contract","service_crew","service_crew_member","service_report","service_resource","service_territory","service_territory_location","service_territory_member","shift","shift_type","shipment","skill","skill_entity","skill_requirement","snippets","social","solution","sossession","store_group","task2","team_member","template","thanks","thanks_loading","timesheet","timesheet_entry","timeslot","today","unmatched","visit_templates","visits","visualforce_page","work_capacity_limit","work_capacity_usage","work_order","work_order_item","work_queue","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","hoverCloseDelay","hoverOpenDelay","labels","learnMoreAfter","learnMoreBefore","triggerClassName","triggerStyle","theme","Tooltip","clearTimeout","tooltipTimeout","setTimeout","isUnmounting","trigger","triggerRendered","noChildrenProvided","count","onClickTrigger","i","getIsOpen","getId","onBlur","handleMouseLeave","onFocus","handleMouseEnter","deprecatedWay","handleCancel","getTooltipTarget","getTooltipContent","containerStyles","display","saveTriggerRef","getContent","getTooltip","getAriaProps","prev","substr","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","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","createDocumentFragment","getContext","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","transform","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","isDelayed","isInput","Spinner","spinnerClassName","COUNTER","autoComplete","fixedTextLeft","fixedTextRight","hasSpinner","iconLeft","iconRight","inlineHelpText","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","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","toggle","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","getDataProps","Swatch","innerStyle","backgroundImage","swatchTabTransparentSwatch","Radio","preventDuplicateChangeEvent","dataProps","radio","deselectable","charCode","HEX_REGEX","ColorUtils","getNewColor","customHexValidator","oldColor","isValidHex","hsv","hue","saturation","getHsvFromHex","getRgbFromHex","getRgbErrors","includes","getHexFromRgb","getHsvFromRgb","getHexFromHsv","getRgbFromHsv","getDeltaColor","limitValue","min","max","toSixDigitHex","floor","entries","keyValue","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","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","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","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","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","handlePillClickSelectedListbox","handlePillFocus","handleRequestFocusSelectedListbox","handleNavigateSelectedListbox","handleRemoveSelectedOption","setSelectedListboxRef","menuVariant","readonly","readonlyItemVisibleLength","clearActiveOption","getCustomPopoverProps","selectedOptionsRenderIsInitialRender","subRenderParameters","multipleOrSingle","renderBase","single","renderInlineMultiple","renderInlineSingle","renderPopover","renderReadOnlyMultiple","renderReadOnlySingle","mainCombobox","excludeScrollbar","limit","inputValueRegExp","searchTermFound","isSeparator","notAlreadySelected","sel","DataTableCell","childText","isValidElement","fixedLayout","cell","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","lineHeight","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","DataTable","onRowChange","selectRows","select","onFixedHeaderResize","scrollerRef","documentScrollLeft","documentElement","scrollLeft","columnLeft","wrapperLeft","cellFixed","onToggleFixedHeaderListeners","resizeHandler","resizeFixedHeaders","toggleFixedHeaderListeners","numRows","numSelected","RowActions","columnProps","dataTableProps","dropdownPropOverrides","assistiveTextForActionsHeader","assistiveTextForSelectAllRows","assistiveTextForSelectRow","unborderedRow","unbufferedCell","stackedHorizontal","striped","columnBordered","noRowHover","handleToggleAll","rowId","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","isCalendarFocused","onCalendarFocus","modifiedData","isolated","handleInitialDateForCalendarRenderChange","handleFirstFocusableNodeKeyDown","handleCalendarBlur","handleRequestFocusDate","handleLastFocusableNodeKeyDown","nextMonth","openCalendar","previousMonth","formatter","formattedValue","abbreviatedWeekDays","months","weekDays","parser","str","Datepicker","parseDate","abbrWeekDayLabels","handleCalendarChange","selectedDateCell","getDatePicker","defaultInputProps","assistiveTextOpenCalendar","topLevelDeprecatedComponentProps","childrenProps","childrenPropInputProps","inputRenderProps","formattedDate","timezoneOffset","getTimezoneOffset","onDateChange","parsedDate","prototype","strValue","dateString","initDate","currentDate","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","internalIllustration","messageBody","illustrationSvg","onEnterEditMode","onLeaveEditMode","InlineEdit","willSave","isEditing","saveEdits","endEditMode","autoFocus","inputNode","triggerEditMode","handleKeyUp","onSearch","Search","clearable","onClear","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","componentWillMount","closeOnClick","currentSelectedIndex","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","lockedLabel","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","scrollHeight","clientHeight","renderInitialNode","handleExpand","handleKeyDownRight","getNodes","RenderBranch","isExpanded","loader","paddingLeft","marginTop","marginBottom","Branch","branch","RenderInitialBranch","initial","listClassName","onExpandClick","listStyle","Tree","firstLevel","curNode","flattenTree","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","subheadingsNotPresent","filteredOptionsWithSubheadings","subheadingRelatedToFilteredOption","subheading","subheadingNotPresentInFilteredOptions","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,gEAgB1C;AACD;AACA;AACA,mBAAmB,mBAAO,CAAC,EAA4B;AACvD;;;;;;;AC3BA,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;;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;;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;;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;;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;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;AACA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AEA;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;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;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,2B;;;;;;;ACpDa;;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;AACA;AACA;AACA,4DAA4D,cAAc;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,EAAY;AACjD;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;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,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,gEAAgE,UAAU;AAC1E;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,CAAC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnKA;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,oBAAoB,mBAAO,CAAC,EAAwB;AACpD,gBAAgB,mBAAO,CAAC,EAAoB;AAC5C,2BAA2B,mBAAO,CAAC,EAA4B;;AAE/D;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;;AAEA;AACA;;;;;;;;ACzDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+B;;;;;;;ACnCA;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;AACA;AACA;AACA;AACA;AACA,WAAW,UAAU;AACrB,WAAW,OAAO;AAClB,WAAW,KAAK;AAChB;AACA,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,UAAU;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;;;;;;;;AClDa;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,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,CAAO;;AAE5B;;AAEA,gBAAgB,mBAAO,CAAC,CAAW;;AAEnC;;AAEA,iBAAiB,mBAAO,CAAC,CAAY;;AAErC;;AAEA,mBAAmB,mBAAO,CAAC,EAAe;;AAE1C;;AAEA,oBAAoB,mBAAO,CAAC,EAAyB;;AAErD;;AAEA,uBAAuB,mBAAO,CAAC,EAA4B;;AAE3D;;AAEA,6BAA6B,mBAAO,CAAC,EAAyB;;AAE9D,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,sGAAsG,qCAAqC;AAC3I;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA,wB;;;;;;;ACzQa;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,CAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,CAAY;;AAErC;;AAEA,oBAAoB,mBAAO,CAAC,EAAyB;;AAErD;;AAEA,gBAAgB,mBAAO,CAAC,EAAqB;;AAE7C;;AAEA,oBAAoB,mBAAO,CAAC,EAAyB;;AAErD;;AAEA,iBAAiB,mBAAO,CAAC,EAAsB;;AAE/C;;AAEA,uBAAuB,mBAAO,CAAC,EAA4B;;AAE3D;;AAEA,uCAAuC,6BAA6B,YAAY,EAAE,OAAO,iBAAiB,mBAAmB,uBAAuB,4EAA4E,EAAE,EAAE,sBAAsB,eAAe,EAAE;;AAE3Q,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;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,kBAAkB,mBAAO,CAAC,EAAsB;AAChD,iBAAiB,mBAAO,CAAC,EAAoB;;AAE7C,IAAI,KAAqC,EAAE,gBAE1C;;AAED;;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;;;;;;;;AC75BA;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;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,KAAqC,EAAE,EAE1C;;AAED,6B;;;;;;;AChBa;;AAEb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,oBAAoB,WAAW;AAC/B;;AAEA,oBAAoB,WAAW;AAC/B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,KAAqC,EAAE,qCAO1C;AACD;AACA;AACA,mBAAmB,mBAAO,CAAC,EAA4B;AACvD;;;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,2BAA2B,mBAAO,CAAC,EAA4B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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BAAZ,CAAhB;AAhDc,CAAtB;AAmDA0f,oBAAS,CAACzf,YAAV,GAAyB;AACxB4f,gBAAc,EAAE,SADQ;AAExB7vC,OAAK,EAAE,SAFiB;AAGxB2wB,MAAI,EAAE,QAHkB;AAIxB0O,OAAK,EAAE;AAJiB,CAAzB;AAOeqQ,mEAAf,E;;ACnKA;;AACA;;AACA;AAEA;AACA;;AAEA,IAAIv6C,iCAAU,GAAG,SAASC,kBAAT,GAA8B,CAAE,CAAjD;;AAEA,IAAIF,KAAJ,EAA2C,EAc1C;;AAEcC,4FAAf,E;;;;;ACzBiD;AACT;;AAExC;AACA;AACA;AACA;AACA;;AAEA,SAAS,+CAAwB;AACjC;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,eAAe,6BAA6B;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,+CAAwB;;AAE1C;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,aAAa,sFAAa;AAC1B;;AAEA;AACA,GAAG,CAAC,0EAAS;AACb;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAE6B;AACd,6EAAiB,EAAC;;;AC1WjC;;AACA;AAEA;AAEA;AAEA;AACA;CAGA;;AACA;AAEA;;;;AAGA,IAAM26C,wBAAa,GAAG,SAAhBA,aAAgB,CAACp9C,KAAD;AAAA,SACrB;AAAM,aAAS,EAAC,eAAhB;AAAgC,SAAK,EAAEA,KAAK,CAACyrC;AAA7C,KACEzrC,KAAK,CAACk8B,IADR,EAEEl8B,KAAK,CAACyrC,KAFR,CADqB;AAAA,CAAtB;;AAOA2R,wBAAa,CAAC/6C,WAAd,GAA4B9G,eAA5B;AAEA6hD,wBAAa,CAACj+C,SAAd,GAA0B;AACzBuE,MAAI,EAAErE,oBAAS,CAACG,MADS;AAEzB08B,MAAI,EAAE78B,oBAAS,CAACQ,IAFS;AAGzBw9C,OAAK,EAAEh+C,oBAAS,CAACM,M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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 = 61);\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 REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\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')(isValidElement, 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 * 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 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","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 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","/**\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","/**\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\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\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\nmodule.exports = invariant;","\"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 __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 __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 (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\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 findLastTextNode(node) {\n if (node.nodeType === Node.TEXT_NODE)\n return node;\n var children = node.childNodes;\n for (var i = children.length - 1; i >= 0; i--) {\n var textNode = findLastTextNode(children[i]);\n if (textNode !== null)\n return textNode;\n }\n return null;\n}\nfunction replaceCaret(el) {\n // Place the caret at the end of the element\n var target = findLastTextNode(el);\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({}, 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.lastHtml = this.props.html;\n }\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 emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\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 invariant(\n false,\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 };\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 instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","\"use strict\";\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\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\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 = 1459707606518;\n\n// don't change unless we change the algos or REDUCE_TIME\n// must be an integer and less than 16\nvar version = 6;\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","/**\n * Secure random string generator with custom alphabet.\n *\n * Alphabet must contain 256 symbols or less. Otherwise, the generator\n * will not be secure.\n *\n * @param {generator} random The random bytes generator.\n * @param {string} alphabet Symbols to be used in new random string.\n * @param {size} size The number of symbols in new random string.\n *\n * @return {string} Random string.\n *\n * @example\n * const format = require('nanoid/format')\n *\n * function random (size) {\n * const result = []\n * for (let i = 0; i < size; i++) {\n * result.push(randomByte())\n * }\n * return result\n * }\n *\n * format(random, \"abcdef\", 5) //=> \"fbaef\"\n *\n * @name format\n * @function\n */\nmodule.exports = function (random, alphabet, size) {\n var mask = (2 << Math.log(alphabet.length - 1) / Math.LN2) - 1\n var step = Math.ceil(1.6 * mask * size / alphabet.length)\n size = +size\n\n var id = ''\n while (true) {\n var bytes = random(step)\n for (var i = 0; i < step; i++) {\n var byte = bytes[i] & mask\n if (alphabet[byte]) {\n id += alphabet[byte]\n if (id.length === size) return id\n }\n }\n }\n}\n\n/**\n * @callback generator\n * @param {number} bytes The number of bytes to generate.\n * @return {number[]} Random bytes.\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\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar _invariant = require('fbjs/lib/invariant');\n\nif (process.env.NODE_ENV !== 'production') {\n var warning = require('fbjs/lib/warning');\n}\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","/**\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 emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;","'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","/**\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","/**\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","// ## 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 LOOKUP = 'SLDSLookup';\nexport const MAP = 'SLDSMap';\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}#${\n\t\t\t\t\tprops.name\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';\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\":\"M17.4 5.4c-.7.2-1.3.4-1.8.6-.3.2-.7.5-1.3.8.1.9.1 1.6 0 2.2 0 .6-.1 1.5-.3 2.6 1.3.9 2.2 1.6 2.8 2.1l.4.4 2-.9c.3-.6.6-1.5.7-2.5.2-.9.2-1.9.1-2.9l-2.6-2.4zm-.7-1.2l-.1-.2c-1.3-.8-2.9-1.2-4.6-1.2-.9 0-1.8.1-2.6.3v1.3c.8.1 1.4.2 2 .4.5.2 1.2.5 2 .9.7-.4 1.2-.7 1.6-.9.5-.2 1-.4 1.7-.6zm-6.5 15.6c1.7-.2 2.8-.3 3.4-.5.7-.1 1.3-.3 1.8-.5.4-.9.6-1.6.7-2.1.1-.4.2-.9.3-1.5-.2-.2-.3-.3-.5-.4-.5-.5-1.5-1.2-2.9-2.2-.6.3-1.2.6-1.7.7-.5.2-1.3.3-2.4.4-.4.9-.7 1.6-.8 2.1-.1.5-.2 1.2-.3 2 .4.5.7.9 1 1.1.3.2.8.5 1.4.9zm-5.8-2.6h2.1c.1-.7.2-1.3.3-1.7.1-.6.3-1.3.7-2.1-.5-.6-1.1-1.3-1.4-1.7-.2-.4-.6-.8-1-1.8-.2 0-.4.1-.6.1-.5.2-1.1.5-1.7.9V12c0 2 .6 3.8 1.6 5.2zm16.5-2.8c.2-.7.3-1.5.3-2.4v-.6c-.1.8-.3 1.4-.6 2 .1.1.2.3.2.4.1.2.1.4.1.6zm-16-5.9v-.1c.7-1 1.2-1.8 1.6-2.2.3-.4.8-.9 1.5-1.5v-1c-2.2 1.1-4 3-4.8 5.4.3-.2.6-.3.9-.4.3-.1.5-.1.8-.2zm12.2 11.2c-.7.3-1.8.6-3.1 1-.7.1-1.9.3-3.5.5.5.1 1 .1 1.5.1 1.9 0 3.7-.6 5.1-1.6zm6-7.7c0 6.2-5 11.2-11.1 11.2S.9 18.2.9 12 5.9.9 12 .9s11.1 5 11.1 11.1z\"}},\nad_set:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.4 2.4H2.5c-.3 0-.7.3-.7.6v7.4c0 .4.4.7.7.7h7.9c.4 0 .7-.3.7-.7V3c0-.3-.3-.6-.7-.6zM9.2 6.1H3.7V4.2h5.5v1.9zm12.3-3.7h-7.9c-.4 0-.7.3-.7.6v7.4c0 .4.3.7.7.7h7.9c.3 0 .7-.3.7-.7V3c0-.3-.4-.6-.7-.6zm-1.2 3.7h-5.5V4.2h5.5v1.9zM10.4 12.9H2.5c-.3 0-.7.3-.7.7V21c0 .3.4.6.7.6h7.9c.4 0 .7-.3.7-.6v-7.4c0-.4-.3-.7-.7-.7zm-1.2 3.8H3.7v-1.9h5.5v1.9zm12.3-3.8h-7.9c-.4 0-.7.3-.7.7V21c0 .3.3.6.7.6h7.9c.3 0 .7-.3.7-.6v-7.4c0-.4-.4-.7-.7-.7zm-1.2 3.8h-5.5v-1.9h5.5v1.9z\"}},\nadd:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.8 13.4h7.7c.3 0 .7-.3.7-.7v-1.4c0-.4-.4-.7-.7-.7h-7.7c-.2 0-.4-.2-.4-.4V2.5c0-.3-.3-.7-.7-.7h-1.4c-.4 0-.7.4-.7.7v7.7c0 .2-.2.4-.4.4H2.5c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h7.7c.2 0 .4.2.4.4v7.7c0 .3.3.7.7.7h1.4c.4 0 .7-.4.7-.7v-7.7c0-.2.2-.4.4-.4z\"}},\nadduser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.1 17.1c0-1.3.4-2.7 1.1-3.8.8-1.4 1.6-1.9 2.3-3 1.2-1.7 1.4-4.1.7-6-.8-1.9-2.5-3-4.6-2.9S6 2.7 5.3 4.6c-.7 2-.4 4.5 1.3 6.1.6.7 1.3 1.7.9 2.6-.3 1-1.4 1.4-2.2 1.7-1.8.8-4 1.9-4.3 4.1-.4 1.7.8 3.5 2.7 3.5h7.8c.4 0 .6-.4.4-.7-1.1-1.4-1.8-3.1-1.8-4.8zm7.4-5.6c-3.1 0-5.5 2.5-5.5 5.6s2.4 5.5 5.5 5.5 5.5-2.5 5.5-5.5-2.5-5.6-5.5-5.6zm2.8 6c0 .3-.2.5-.5.5h-1.3v1.4c0 .3-.3.4-.5.4h-1c-.2 0-.4-.1-.4-.4V18h-1.4c-.3 0-.4-.2-.4-.5v-.9c0-.3.1-.4.4-.4h1.4v-1.4c0-.3.2-.5.4-.5h1c.2 0 .5.2.5.5v1.4h1.3c.3 0 .5.1.5.4v.9z\"}},\nadvanced_function:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.8 3.2V1.8c0-.3-.3-.6-.6-.6H5.4c-.3 0-.6.3-.6.6v1.5c0 .1 0 .3.1.4l6.7 8.3-6.7 8.3c-.1.1-.1.2-.1.4v1.5c0 .3.3.6.6.6h13.8c.3 0 .6-.3.6-.6v-1.4c0-.4-.3-.7-.6-.7H8.5l6.1-7.5c.2-.2.2-.4.2-.6 0-.3-.1-.5-.2-.7L8.5 3.9h10.7c.3 0 .6-.3.6-.7z\"}},\nadvertising:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.6 12.6h.2c.1-1.3.6-2.4 1.2-3.3-.3-.3-.8-.6-1.4-.6-1.1 0-1.9.9-1.9 2 0 1 .8 1.9 1.9 1.9zm.6 3.6h.5c-.3-.6-.6-1.2-.8-1.8h-.3c-2.1 0-3.9-1.7-3.9-3.9 0-2.1 1.7-3.9 3.9-3.9 1.2 0 2.3.5 3 1.3.5-.3 1.1-.5 1.8-.6-1.1-1.5-2.8-2.5-4.8-2.5-3.4 0-5.8 2.7-5.8 5.9s2.6 5.8 5.9 5.6c.2 0 .3 0 .5-.1zM23 21v.6c0 .8-.6 1.4-1.4 1.4H10.5c-.7 0-1.4-.6-1.4-1.4V21c0-1.7 2-2.7 3.9-3.6h.2c.1-.1.2-.1.4 0 .7.5 1.6.7 2.5.7.8 0 1.7-.2 2.5-.7.1-.1.2-.1.4 0h.2c1.9.9 3.8 1.9 3.8 3.6zM16.1 9.1c1.9 0 3.4 1.7 3.4 3.9s-1.5 3.8-3.4 3.8-3.5-1.7-3.5-3.8 1.6-3.9 3.5-3.9zm-7.6 9c-3.1-.9-5.6-3.9-5.6-7.4 0-4.3 3.5-7.8 7.8-7.8 3.1 0 6 1.9 7.2 4.7.9.4 1.7 1 2.3 1.8-.7-4.9-4.7-8.4-9.6-8.4C5.2 1 1 5.2 1 10.6c0 4.3 2.6 7.9 6.5 9.1.2-.6.6-1.1 1-1.6z\"}},\nagent_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 1.8C5.9 1.8 1 6.4 1 12c0 1.7.5 3.4 1.3 4.8.1.3.2.6.1.8l-1.4 4c-.2.3.2.6.6.6l3.9-1.6c.3-.1.5 0 .8.1 1.7.9 3.7 1.5 5.8 1.5 6 0 11-4.5 11-10.2C23 6.4 18.1 1.8 12 1.8zM9 16.6c0 .2-.2.4-.4.4h-2c-.2 0-.4-.2-.4-.4v-2.5c0-.2.2-.4.4-.4h2c.2 0 .4.2.4.4v2.5zm4.4 0c0 .2-.2.4-.4.4h-1.9c-.3 0-.4-.2-.4-.4v-5.8c0-.3.1-.5.4-.5H13c.2 0 .4.2.4.5v5.8zm4.5 0c0 .2-.2.4-.5.4h-1.9c-.2 0-.4-.2-.4-.4V7.4c0-.2.2-.4.4-.4h1.9c.3 0 .5.2.5.4v9.2z\"}},\nalert:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16 14.3l-.2.1c-.7.2-1.4-.1-1.7-.8l-1.5-4.1c-1.2-3.2-4.8-4.8-8-3.5-3 1.3-4.4 4.8-3.3 7.8l1.5 4c.2.7-.2 1.4-.8 1.6l-.2.1c-.8.3-1.2 1.2-.9 2l.2.5c.1.2.4.4.7.2l15.9-5.8c.3-.1.4-.5.3-.8l-.2-.5c-.1-.7-1-1.1-1.8-.8zm-3.9 5.8l-3.4 1.3c-.3.1-.3.4-.2.6.5.9 1.7 1.3 2.7.9 1-.4 1.6-1.4 1.5-2.5-.1-.2-.4-.3-.6-.3zm10.6-6.9c.8-2.6.4-5.4-1.1-7.8-1.4-2.3-3.7-3.9-6.4-4.4-.2-.1-.4.1-.4.2l-.3 1.3c0 .2.1.4.3.4 2.1.4 3.9 1.7 5.1 3.6s1.4 4 .9 6.1c-.1.2 0 .4.2.4l1.2.4c.3 0 .5 0 .5-.2zm-5.1-5.4c-.7-1.2-1.9-1.9-3.3-2.2-.2-.1-.4.1-.4.3l-.1 1.3c0 .2 0 .3.2.4.8.2 1.5.6 1.9 1.3.4.7.6 1.5.3 2.3 0 .1.1.3.2.3l1.3.5c.2.1.3 0 .4-.2.5-1.3.3-2.8-.5-4z\"}},\nall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M14.6 10c-.6 0-1-.5-1-1V2.5c0-.5.4-1 1-1h6.5c.6 0 1.1.5 1.1 1V9c0 .5-.5 1-1.1 1h-6.5zm2.8 3.8l-3.8 4.1c-.2.2-.2.6 0 .8l3.8 4.1c.2.3.7.3.9 0l3.8-4.1c.2-.2.2-.6 0-.8l-3.8-4.1c-.2-.3-.6-.3-.9 0z\"},{\"d\":\"M2.2 3l3.3-1.9c.4-.2.7-.2 1 0L9.8 3c.3.2.5.5.5.9v3.8c0 .3-.2.7-.5.8l-3.3 1.9c-.3.2-.7.2-1 0L2.2 8.5c-.3-.1-.5-.5-.5-.8V3.9c0-.4.2-.7.5-.9z\"}],\"circle\":{\"cx\":\"6\",\"cy\":\"18.185\",\"r\":\"4.292\"}},\nanchor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M22.2 16.5L21 11.8c-.1-.5-.7-.7-1.1-.4l-3.6 3.3c-.4.3-.2 1 .3 1.1l1.5.5c-.1.3-.2.6-.4.9-.9 1.4-2.2 2.3-4.3 2.6V8.2c1.2-.5 2-1.7 2-3.1 0-1.8-1.5-3.3-3.4-3.3-1.8 0-3.3 1.5-3.3 3.3 0 1.4.8 2.6 2 3.1v11.6c-2.1-.3-3.5-1.2-4.3-2.6-.2-.3-.3-.6-.4-.9l1.5-.5c.5-.1.6-.8.3-1.1l-3.6-3.3c-.5-.3-1.1-.1-1.2.4l-1.2 4.7c-.1.5.4.9.9.8l1.2-.4c.2.5.4 1 .7 1.5C5.9 20.6 8.4 22 12 22s6-1.4 7.3-3.6c.3-.5.5-1 .7-1.5l1.2.4c.6.1 1-.3 1-.8zM12 6.6c-.7 0-1.3-.6-1.3-1.4s.6-1.3 1.3-1.3 1.3.6 1.3 1.3-.6 1.4-1.3 1.4z\"}},\nanimal_and_nature:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 2.1c1.3-.4 2.6-.7 4-.7s2.7.3 4 .7c.4-.7 1.1-1.2 2-1.2 1.3 0 2.3 1.1 2.3 2.3 0 .4-.1.8-.2 1.1.5.5.9 2 1.1 4.5.2 1.4 1.4 5.5 1.4 6.4 0 3.7-3.5 6.3-10.6 7.9-7.1-1.5-10.6-4.2-10.6-7.9 0-.9 1.1-5 1.4-6.4.2-2.5.6-4 1.2-4.5-.2-.3-.3-.7-.3-1.1C3.7 2 4.7.9 6 .9c.9 0 1.6.5 2 1.2zm1.7 8.4c-.8.2-1.4 1-1.3 1.9l.2 2.8c.1 1.8 1.6 3.3 3.4 3.3 1.8 0 3.3-1.5 3.4-3.3l.2-2.8c.1-.8-.5-1.6-1.3-1.9-.8-.2-1.6-.3-2.5-.3-.7 0-1.4.1-2.1.3zm6.9.1c.8 0 1.4-.8 1.4-1.8s-.6-1.9-1.4-1.9-1.4.8-1.4 1.9.7 1.8 1.4 1.8zm-9.2 0c.7 0 1.4-.8 1.4-1.8s-.7-1.9-1.4-1.9S6 7.7 6 8.8s.6 1.8 1.4 1.8zm6 2.2c-.8.9-2.1.9-2.9 0-.8-1-.1-1.7 1.5-1.7s2.2.8 1.4 1.7z\"}},\nannouncement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.5 21l-.6-.5c-.7-.5-.7-1.4-.7-1.9v-1.3c0-.4-.3-.7-.7-.7H5.8c-.4 0-.7.3-.7.7v3.6c0 1.2.7 2.2 1.9 2.2h2.2c1.4 0 1.5-.9 1.5-.9s.2-.9-.2-1.2zM20.8 8.3V2c0-1.1-1.4-1.4-2.2-.7l-4.1 3.9c-.6.5-1.4.8-2.3.8h-7C2.8 6 .9 8.1.9 10.5v.1c0 2.4 1.9 4.2 4.3 4.2h7c.9 0 1.7.3 2.4.9l4 4c.8.7 2.2.4 2.2-.7v-6.3c1.4 0 2.2-.9 2.2-2.2 0-1.2-.8-2.2-2.2-2.2z\"}},\nanswer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 1.8C5.9 1.8.9 6.4.9 12c0 1.8.5 3.5 1.4 5 .1.2.1.4.1.6l-1 3.2c-.2.6.4 1.1 1 .9l3.2-1.1c.2-.1.4-.1.6.1 1.7.9 3.7 1.5 5.8 1.5 6.2 0 11.1-4.5 11.1-10.2C23 6.4 18.1 1.8 12 1.8zm5.3 7.9l-5.6 5.6c-.3.2-.5.3-.8.3-.3 0-.6-.1-.8-.3l-2.7-2.7c-.2-.2-.2-.6 0-.7l.8-.8c.2-.2.5-.2.8 0l1.9 2 4.8-4.8c.3-.3.6-.3.8 0l.8.7c.2.2.2.6 0 .7z\"}},\nanswered_twice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.1 5.3C4 5.3.7 8.3.7 12c0 1.2.4 2.4 1 3.4 0 .1.1.2 0 .4L1 17.9c-.1.4.2.7.7.6l2.1-.7c.2-.1.4-.1.4 0 1.2.7 2.5 1 3.9 1 4.1 0 7.4-3 7.4-6.8s-3.3-6.7-7.4-6.7zm3.6 5.2l-3.8 3.7c-.1.2-.3.2-.5.2s-.3 0-.5-.2l-1.8-1.8c-.2-.1-.2-.4 0-.5l.5-.5c.1-.1.4-.1.5 0l1.3 1.3 3.2-3.2c.2-.1.4-.1.5 0l.5.5c.2.2.2.4.1.5zm4.1-5.2h-1.9c2.2 1.5 3.8 4 3.8 6.7 0 2.8-1.7 5.4-3.8 6.8h1.9c4.1 0 7.4-3 7.4-6.8 0-3.7-3.3-6.7-7.4-6.7z\"}},\napex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 18.5H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7v-1.3c0-.4-.3-.7-.7-.7zm-10.7-8.4L2.8 2.9c-.3-.2-.7-.2-1 .1l-.7 1.2c-.3.3-.2.7.1.9l6.4 5.1c.2.2.2.6 0 .7L1.2 16c-.3.2-.4.7-.1 1l.7 1.2c.3.3.7.4 1 .1l8.9-7.1c.4-.3.4-.9 0-1.1z\"}},\napex_plugin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.1 8.4l5.1-5.2c.3-.2.3-.7 0-.9l-1.1-1.1c-.3-.3-.7-.3-1 0L10 6.3l2.1 2.1zm5.6 5.8L22.8 9c.3-.2.3-.6 0-.9L21.7 7c-.2-.3-.7-.3-.9 0l-5.2 5.1 2.1 2.1zm-.7 4.2c.1-.1.1-.2.2-.4 0-.1 0-.3-.1-.5-.1 0-.1-.1-.1-.1L6.6 7.1c-.1-.2-.3-.2-.5-.2s-.4.1-.5.2c-.1.1-.2.1-.3.2 0 .1-.1.2-.1.2-.1.1-.2.2-.2.3-.1 0-.2.1-.2.2-.1.1-.1.3-.2.4-.1.1-.1.3-.2.4-.1.2-.1.3-.2.5 0 .2-.1.4-.1.6-.1.2-.2.4-.2.6-.1.3-.1.5-.2.8 0 .2-.1.5-.1.7 0 .3-.1.6-.1.9v3.3c0 .5.1.9.1 1.3v.4h.1l-2.4 2.4c-.4.2-.4.7-.1.9l1.7 1.7c.2.3.7.3.9 0l2.4-2.4c.9.1 1.7.2 2.6.2.8 0 1.4 0 2.2-.1.6 0 1.2-.1 1.7-.2s1-.2 1.4-.3c.4-.1.8-.3 1.1-.4.3-.2.5-.3.8-.5.3-.1.6-.4.9-.7l.1-.1z\"}},\napproval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.9 13.5h-4.1c-1.2 0-2.2-1-2.2-2.2.2-3.3 1.7-3.5 1.8-5.6.2-2.2-1.2-4.2-3.4-4.7-2.8-.6-5.4 1.6-5.4 4.4 0 2.4 1.6 2.4 1.8 5.9 0 1.2-1 2.2-2.2 2.2H3.1c-1.2 0-2.2.9-2.2 2.2v1.5c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7v-1.5c0-1.3-1-2.2-2.2-2.2zm0 6.6H3.1c-.4 0-.7.3-.7.7v.1c0 1.2 1 2.2 2.2 2.2h14.8c1.2 0 2.2-1 2.2-2.2v-.1c0-.4-.3-.7-.7-.7z\"}},\napps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6 1.8H3.2c-.8 0-1.4.6-1.4 1.4V6c0 .8.6 1.4 1.4 1.4H6c.8 0 1.4-.6 1.4-1.4V3.2c0-.8-.6-1.4-1.4-1.4zm0 14.8H3.2c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4H6c.8 0 1.4-.6 1.4-1.4V18c0-.8-.6-1.4-1.4-1.4zm0-7.4H3.2c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4H6c.8 0 1.4-.6 1.4-1.4v-2.8c0-.8-.6-1.4-1.4-1.4zm7.4-7.4h-2.8c-.8 0-1.4.6-1.4 1.4V6c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4V3.2c0-.8-.6-1.4-1.4-1.4zm0 14.8h-2.8c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4V18c0-.8-.6-1.4-1.4-1.4zm0-7.4h-2.8c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4v-2.8c0-.8-.6-1.4-1.4-1.4zm7.4-7.4H18c-.8 0-1.4.6-1.4 1.4V6c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4V3.2c0-.8-.6-1.4-1.4-1.4zm0 14.8H18c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4V18c0-.8-.6-1.4-1.4-1.4zm0-7.4H18c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4v-2.8c0-.8-.6-1.4-1.4-1.4z\"}},\narchive:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.9 1.1H3.1C1.9 1.1.9 2.1.9 3.3v2.2c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7V3.3c0-1.2-1-2.2-2.2-2.2zm.6 7h-19c-.4 0-.7.3-.7.7V21c0 1.2 1 2.2 2.2 2.2h16.1c1.2 0 2.2-1 2.2-2.2V8.8c-.1-.4-.4-.7-.8-.7zm-6.4 3.7H8.9c-.5 0-1-.4-1-1s.5-.9 1-.9h6.2c.5 0 1 .4 1 .9s-.5 1-1 1z\"}},\narrowdown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.4 14.3c-.3.4-.3.9 0 1.3l7 6.7c.3.4.9.4 1.2 0l7-6.7c.4-.4.4-.9 0-1.3l-1.3-1.2c-.3-.4-.9-.4-1.3 0l-2.1 2.1c-.4.4-1.1.1-1.1-.4V2.3c0-.5-.4-.9-.9-.9h-1.8c-.5 0-.9.5-.9.9v12.5c0 .5-.7.8-1.1.4L7 13.1c-.4-.4-1-.4-1.3 0l-1.3 1.2z\"}},\narrowup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 9.7c.4-.4.4-.9 0-1.3l-6.9-6.7c-.4-.4-.9-.4-1.3 0L4 8.4c-.4.4-.4.9 0 1.3l1.3 1.2c.3.4.9.4 1.3 0l2.1-2.1c.4-.4 1-.1 1 .4v12.5c0 .5.5.9 1 .9h1.8c.5 0 .9-.5.9-.9V9.2c0-.5.7-.8 1-.4l2.2 2.1c.4.4.9.4 1.3 0l1.2-1.2z\"}},\nassignment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M1.7 13.8h20.5c.5 0 .8.3.8.7V16c0 .4-.3.7-.8.7H1.7c-.5 0-.8-.3-.8-.7v-1.5c0-.4.3-.7.8-.7zm0-6.6h20.5c.5 0 .8.3.8.7v1.5c0 .4-.3.8-.8.8H1.7c-.5 0-.8-.4-.8-.8V7.9c0-.3.3-.7.8-.7z\"}},\nattach:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.1 16.9c.3.3.7.3 1 0l4.6-4.6c.3-.3.9-.3 1.3 0 .4.4.4 1 0 1.4l-5.7 5.6c-1.2 1.2-3.3 1.2-4.5 0l-.1-.1c-1.2-1.2-1.2-3.3 0-4.5l10-10c1.3-1.3 3.3-1.3 4.6 0 1.3 1.3 1.3 3.3 0 4.6-.2.3-.3.6-.1.9.3.5.5 1 .6 1.6.1.3.6.4.8.2l.7-.7c2.4-2.4 2.4-6.2 0-8.6h-.1C18.9.4 15 .4 12.7 2.7l-10 10c-2.4 2.3-2.4 6.2 0 8.5l.1.1c2.3 2.4 6.1 2.4 8.5 0l5.7-5.7c1.5-1.4 1.4-3.8-.1-5.3-1.5-1.4-3.9-1.3-5.3.1L7.1 15c-.3.2-.3.7 0 1l1 .9z\"}},\nautomate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 7.6c-2.4 0-4.4 2-4.4 4.4s2 4.5 4.4 4.5c2.5 0 4.5-2 4.5-4.5s-2-4.4-4.5-4.4zm0 7.7c-1.8 0-3.2-1.5-3.2-3.3 0-1.8 1.4-3.3 3.2-3.3 1.8 0 3.3 1.5 3.3 3.3 0 1.8-1.5 3.3-3.3 3.3zm10.8-.5c.2-.9.3-1.8.3-2.8 0-1-.1-1.9-.3-2.8h-1.3c-.2-.7-.5-1.4-.8-2l.9-.8c-1-1.6-2.3-3-4-4l-.8.9c-.6-.3-1.3-.6-2-.8V1.3c-.9-.2-1.8-.4-2.8-.4-1 0-1.9.2-2.8.4v1.2c-.7.2-1.3.5-1.9.8l-.9-.9c-1.7 1-3 2.4-4 4l.9.9c-.3.6-.6 1.2-.8 1.9H1.3c-.2.9-.4 1.8-.4 2.8s.2 1.9.4 2.8h1.2c.2.7.5 1.4.8 2l-.9.8c1 1.6 2.4 3 4 4l.9-.9c.6.3 1.2.6 1.9.8v1.3c.9.2 1.9.3 2.8.3 1 0 1.9-.1 2.9-.3v-1.3c.7-.2 1.3-.5 1.9-.8l.9.9c1.6-1 3-2.3 3.9-4l-.8-.8c.3-.6.6-1.3.8-2h1.2zm-2.7 3c-.3.4-.7.8-1.1 1.2-.4.4-.8.8-1.2 1.1l-.9-.9c-.9.7-2.1 1.2-3.3 1.4v1.2c-.5.1-1 .1-1.6.1-.6 0-1.1 0-1.6-.1v-1.2c-1.2-.2-2.4-.7-3.3-1.4l-.9.9c-.4-.3-.8-.7-1.2-1.1-.4-.4-.8-.8-1.1-1.2l.9-.9c-.7-.9-1.2-2.1-1.4-3.3H2.2c-.1-.5-.1-1-.1-1.6 0-.6 0-1.1.1-1.6h1.3c.2-1.2.7-2.4 1.3-3.3L4 6.2c.3-.4.7-.8 1-1.2.4-.4.8-.8 1.2-1.1l.9.9c1-.7 2.1-1.2 3.3-1.4V2.2c.5-.1 1.1-.1 1.6-.1.6 0 1.1 0 1.7.1v1.3c1.2.2 2.3.7 3.3 1.3l.9-.8c.4.3.8.6 1.2 1 .3.4.7.8 1 1.2l-.9.9c.7 1 1.2 2.1 1.4 3.3h1.3c.1.5.1 1.1.1 1.6 0 .6 0 1.1-.1 1.7h-1.3c-.2 1.2-.7 2.3-1.4 3.3l.9.8z\"}},\naway:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.8 4.2C15.5-.1 8.5-.1 4.2 4.2s-4.3 11.3 0 15.6 11.3 4.3 15.6 0 4.3-11.3 0-15.6zM6.1 6.1c3.3-3.2 8.6-3.2 11.8 0 1.3 1.3 2.1 2.9 2.3 4.5H3.8c.3-1.6 1-3.2 2.3-4.5z\"}},\nback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 10.6H7.1c-.4 0-.6-.5-.3-.8l4.4-4.4c.3-.3.3-.7 0-1l-1-1c-.3-.3-.7-.3-1 0l-8 8.1c-.3.3-.3.7 0 1l8 8.1c.3.3.7.3 1 0l1-1c.2-.3.2-.7 0-1l-4.5-4.4c-.2-.3-.1-.8.4-.8h15.3c.4 0 .7-.3.7-.7v-1.3c0-.4-.3-.8-.7-.8z\"}},\nban:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm5.5 11.9c-.1.3-.3.6-.7.6H7.2c-.4 0-.6-.2-.7-.6v-1.6c.1-.3.3-.6.7-.6h9.6c.4 0 .6.3.7.6v1.6z\"}},\nblock_visitor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M29.9 8.8V9v-.2z\"},{\"d\":\"M10.2 17.1c0-1.3.4-2.7 1-3.8.8-1.4 1.7-1.9 2.4-3 1.1-1.7 1.4-4.1.6-6-.7-1.9-2.5-3-4.5-2.9S6 2.7 5.4 4.6c-.8 2-.5 4.5 1.2 6.1.7.7 1.3 1.7 1 2.6-.4 1-1.5 1.4-2.2 1.7-1.8.8-4 1.9-4.4 4.1-.4 1.7.8 3.5 2.7 3.5h7.9c.4 0 .6-.4.4-.7-1.2-1.4-1.8-3.1-1.8-4.8zm11.3-3.9c-2.2-2.2-5.7-2.2-7.9 0s-2.2 5.6 0 7.8 5.7 2.2 7.9 0 2.1-5.7 0-7.8zm-6.6 1.2c1.3-1.2 3.1-1.4 4.5-.5l-5 5.1c-.9-1.5-.7-3.3.5-4.6zm5.3 5.3c-1.3 1.2-3.1 1.4-4.6.6l5.1-5.1c.9 1.4.7 3.3-.5 4.5z\"}]},\nbold:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.9 8.8c0-2.8-2.2-5.1-4.8-5.1H6.5c-.5 0-1 .4-1 .9v15.2c0 .6.5 1 1 1h7.6c2.6 0 4.8-2.3 4.8-5.1 0-1.3-.5-2.5-1.3-3.5.8-.9 1.3-2.1 1.3-3.4zm-4.8 8.7H8.8v-3.7h5.3c.9 0 1.6.9 1.6 1.9s-.7 1.8-1.6 1.8zm0-6.9H8.8V6.9h5.3c.9 0 1.6.9 1.6 1.9s-.7 1.8-1.6 1.8z\"}},\nbookmark:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.2 22.9l-4.6-4.6c-.2-.3-.6-.3-.9 0l-4.9 4.6c-.3.3-.8.1-.8-.3V2.8C6 1.8 6.8.9 7.8.9h8.4c1 0 1.8.9 1.8 1.9v19.8c0 .4-.5.6-.8.3z\"}},\nbreadcrumbs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.9 19.4c-.3 0-.5-.2-.5-.5V5c0-.2.2-.4.5-.4h3.7c.2 0 .4.1.6.2l5.3 6.7c.2.3.2.6 0 .9l-5.4 6.8c-.1.1-.3.2-.6.2H3.9zm16.5-7.9L15 4.8c-.2-.2-.6-.3-.9 0l-1.1.8c-.3.3-.4.7-.1 1l4.4 5.4-4.4 5.4c-.2.3-.2.8.1 1l1.1.9c.3.2.7.2.9-.1l5.4-6.7c.2-.4.2-.7 0-1z\"}},\nbroadcast:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M.9 8.8c0 2.7 1.1 5.2 3 7.1.4.4 1 .4 1.4 0 .4-.5.4-1.1 0-1.5C3.8 12.9 3 10.9 3 8.8c0-2.2.8-4.2 2.3-5.7.4-.4.4-1 0-1.4-.4-.4-1-.4-1.4 0C2 3.6.9 6.1.9 8.8zm5.9 4.1c.4.4 1 .4 1.5 0 .4-.4.4-1 0-1.4-.7-.8-1.2-1.7-1.2-2.7 0-1.1.4-2 1.2-2.7.4-.4.4-1.1 0-1.5-.5-.4-1.1-.4-1.5 0-1.1 1.1-1.7 2.6-1.7 4.2 0 1.5.6 3 1.7 4.1zM20.1 1.7c-.4-.4-1.1-.4-1.5 0-.4.4-.4 1 0 1.4 1.5 1.5 2.3 3.5 2.4 5.7-.1 2.1-.9 4.1-2.4 5.6-.4.4-.4 1 0 1.5.4.4 1.1.4 1.5 0C22 14 23 11.5 23 8.8c0-2.7-1-5.2-2.9-7.1zm-1.2 7.1c0-1.6-.7-3.1-1.8-4.2-.4-.4-1-.4-1.4 0-.4.4-.4 1.1 0 1.5.7.7 1.1 1.6 1.1 2.7 0 1-.4 1.9-1.1 2.7-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0 1.1-1.1 1.8-2.6 1.8-4.1zM10.9 11.2c-1-.4-1.6-1.3-1.6-2.5C9.3 7.2 10.5 6 12 6c1.5 0 2.7 1.2 2.7 2.7 0 1.2-.7 2.1-1.7 2.5v10.9c0 .3-.2.5-.5.5h-1.1c-.2 0-.5-.2-.5-.5V11.2z\"}},\nbrush:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.8 1.2c-1.6-1.6-10.3 3.4-15.7 12-.2.4-.1.9.3 1.1 1.2.6 2.2 1.6 2.7 2.8.2.5.7.6 1.1.3C19.5 12 24.4 2.9 22.8 1.2zm-17.3 15c-.7 0-1.3.4-1.8.9h-.1c-.2 0-.4.3-.6.7-.7 1.2-.9 2.7-2 4.3-.2.3-.1.7.2.8 1.6.5 4.4 0 5.8-1v.1c.4-.1.3-.3.4-.3.5-.9 1-1.4 1-2.3-.1-1.7-1.3-3.2-2.9-3.2z\"}},\nbucket:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.6 5.1c0-2.9-4.5-4.2-8.8-4.2S5.1 2.2 5.1 5.1v.2C1.1 6.5.5 9 .5 10.4c0 1.4.7 2.8 1.9 3.9 1 .8 2.3 1.3 3.6 1.4h.4c3-.1 5.9-1.1 6.8-2.7-.5-.4-.7-.9-.7-1.5 0-1 .8-1.8 1.8-1.8s1.9.8 1.9 1.8c0 .8-.5 1.5-1.2 1.7-.9 2.6-4.6 4.3-9 4.3v2.8c0 1.5 3.5 2.8 7.8 2.8s7.9-1.3 7.9-2.8V7.1c.6-.6.9-1.2.9-2zm-8.8-1.4c3.1 0 5 .7 5.8 1.2.1.1.1.3 0 .4-.8.5-2.7 1.2-5.8 1.2s-4.9-.7-5.7-1.2c-.1-.1-.1-.3 0-.4.8-.5 2.7-1.2 5.7-1.2zM3.6 12.8c-.8-.6-1.3-1.5-1.3-2.4 0-2 1.9-3 3.6-3.4l.1.1v6.7c-.9 0-1.8-.4-2.4-1z\"}},\nbuilder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.3 7.8H1.6c-.4 0-.7.4-.7.7v11.8c0 1 .9 1.9 1.9 1.9h2.5c.4 0 .7-.4.7-.7v-13c0-.3-.3-.7-.7-.7zm17.1 0H8.5c-.3 0-.7.4-.7.7v13c0 .3.4.7.7.7h12.7c1 0 1.9-.9 1.9-1.9V8.5c0-.3-.3-.7-.7-.7zm-1.2-6H2.8c-1 0-1.9.9-1.9 1.9v1.6c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V3.7c0-1-.9-1.9-1.9-1.9z\"}},\ncall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 17.5l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.7 2.4 9.1 5.5 12.3s7.6 5.2 12.3 5.5c.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6z\"}},\ncampaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .4C5.6.4.4 5.6.4 12S5.6 23.6 12 23.6 23.6 18.4 23.6 12 18.4.4 12 .4zm0 20.9c-5.1 0-9.3-4.2-9.3-9.3S6.9 2.7 12 2.7s9.3 4.2 9.3 9.3-4.2 9.3-9.3 9.3zM12 5c-3.8 0-7 3.2-7 7s3.2 7 7 7 7-3.2 7-7-3.2-7-7-7zm0 11.7c-2.5 0-4.7-2.1-4.7-4.7S9.5 7.3 12 7.3s4.7 2.2 4.7 4.7-2.2 4.7-4.7 4.7zm0-7c-1.3 0-2.3 1.1-2.3 2.3s1.1 2.3 2.3 2.3 2.3-1.1 2.3-2.3-1-2.3-2.3-2.3z\"}},\ncancel_file_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.2 5.3h2.4c.2 0 .5-.3.5-.5s-.1-.3-.2-.4l-3.3-3.3c-.1-.1-.2-.1-.3-.1-.3 0-.5.2-.5.5v2.3c0 .8.6 1.5 1.4 1.5zm-1.8 13.4c0-3.1 1.9-5.8 4.7-6.8V8.1c0-.4-.4-.7-.8-.7h-3.6c-1.2 0-2.1-1-2.1-2.1V1.7c0-.4-.3-.7-.7-.7H3.1C1.9 1 1 1.9 1 3.1v13.6c0 1.2.9 2.1 2.1 2.1h8.3v-.1zm3.3-2.7l2.7 2.7-2.7 2.8c-.3.3-.3.7 0 1l.3.3c.3.3.7.3 1 0l2.7-2.8 2.8 2.8c.3.3.7.3 1 0l.3-.3c.3-.3.3-.8 0-1L20 18.7l2.8-2.7c.3-.3.3-.8 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.7-2.7-2.7c-.3-.3-.8-.3-1 0l-.3.3c-.3.2-.3.7 0 1z\"}},\ncancel_transfer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.6 5.7V4.3c1.8 0 3.3 1.5 3.3 3.3h-1.4l2.1 2.6c.2.2.4.2.5 0l2.1-2.6h-1.4c0-2.9-2.4-5.2-5.3-5.2V1L8.9 3.1c-.1.1-.1.3.1.4l2.6 2.2zm.5 9.8c-.5-.7-1.6-1.2-2.6-1.7-1.1-.5-1.3-1-1.3-1.4s.3-1 .7-1.3c.6-.6.9-1.5.9-2.5 0-1.8-1.1-3.4-3-3.4h-.2c-1.8 0-3 1.6-3 3.4 0 1 .4 1.9 1 2.5.4.3.7.8.7 1.3 0 .4-.2.9-1.3 1.4-1.6.6-3 1.4-3.1 2.9.2 1 .9 1.8 1.8 1.8h8.2c.2 0 .4-.1.5-.1 0-1 .3-2 .7-2.9zm2.6.5l2.7 2.7-2.7 2.8c-.3.3-.3.7 0 1l.3.3c.3.3.7.3 1 0l2.7-2.8 2.8 2.8c.3.3.7.3 1 0l.3-.3c.3-.3.3-.8 0-1L20 18.7l2.8-2.7c.3-.3.3-.8 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.7-2.7-2.7c-.3-.3-.8-.3-1 0l-.3.3c-.3.2-.3.7 0 1z\"}},\ncapslock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.1 9.7l-7.5-8.5c-.3-.4-.9-.4-1.2 0L3.9 9.7c-.3.4-.1.9.4.9h3.5v5.8c0 .4.4.7.7.7h7c.3 0 .7-.3.7-.7v-5.8h3.5c.5 0 .7-.5.4-.9zm-4.6 10.1h-7c-.3 0-.7.4-.7.7v1.9c0 .4.4.7.7.7h7c.3 0 .7-.3.7-.7v-1.9c0-.3-.4-.7-.7-.7z\"}},\ncart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9.3 12h11c.3 0 .7-.2.7-.6l2-7.1c.2-.5-.2-.9-.7-.9h-17l-.3-1c-.1-.6-.6-.9-1-.9H2.1C1.5 1.5 1 2 .9 2.6c0 .6.5 1.2 1.1 1.2h1.1l3.5 11.8c.1.6.6.9 1.1.9h13c.6 0 1.1-.5 1.2-1.1 0-.6-.5-1.2-1.1-1.2H9.3c-.5 0-.9-.3-1-.8-.3-.7.3-1.4 1-1.4z\"},\"circle\":[{\"cx\":\"9.508\",\"cy\":\"20.585\",\"r\":\"1.846\"},{\"cx\":\"18.508\",\"cy\":\"20.585\",\"r\":\"1.846\"}]}},\ncase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M7.9 5.2h1.4c.2 0 .3-.1.3-.3v-1h4.8v1c0 .2.1.3.3.3H16c.2 0 .3-.1.3-.3v-1c0-1.1-.9-2.1-2-2.1H9.6c-1.1 0-2 1-2 2.1v1c0 .2.1.3.3.3zm12.2 2H3.9c-1.1 0-2.1 1-2.1 2.1v10.8c0 1.1 1 2.1 2.1 2.1h16.2c1.1 0 2.1-1 2.1-2.1V9.3c0-1.1-1-2.1-2.1-2.1z\"}},\ncases:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.2 1.6c0-.4-.4-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v14.3c0 .4.3.7.7.7h1.9c.3 0 .7-.3.7-.7V1.6zm18.9 0c0-.4-.3-.7-.7-.7h-1.9c-.3 0-.7.3-.7.7v14.3c0 .4.4.7.7.7h1.9c.4 0 .7-.3.7-.7V1.6zM17.3.9h-1.4c-.3 0-.7.4-.7.8v5.7c0 .2.1.3.3.4.8.4 1.5.9 2.1 1.5.1.2.4.1.4-.1V1.7c0-.4-.3-.8-.7-.8zM11.1 7h1.8c.3 0 .5-.2.5-.4V1.7c0-.4-.3-.8-.7-.8h-1.4c-.4 0-.7.4-.7.8v4.9c0 .2.2.5.5.4zM6.4 9.3c.6-.6 1.4-1.1 2.1-1.5.2-.1.3-.2.3-.4V1.7c0-.4-.4-.8-.7-.8H6.7c-.4 0-.7.4-.7.8v7.5c0 .2.2.3.4.1zm5.6-.5c-3.3 0-6 2.7-6 6 0 1 .3 2 .7 2.9L3.5 21c-.3.2-.3.6 0 .9l.9 1c.3.3.7.3 1 0l3.2-3.2c1 .7 2.2 1.1 3.4 1.1 3.3 0 6-2.7 6-6s-2.7-6-6-6zm0 9.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.2S13.8 18 12 18z\"}},\ncenter_align_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 3c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V3zm-2.8 5.5c0-.3-.3-.7-.7-.7H5.3c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h13.4c.4 0 .7-.3.7-.7V8.5zm-.9 11.1c0-.4-.4-.7-.7-.7H6.2c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h11.6c.3 0 .7-.3.7-.7v-1.4zm3.7-5.5c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7v-1.4z\"}},\nchange_owner:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.6 17.4c-1.4-.6-1.6-1.1-1.6-1.7 0-.5.4-1 .8-1.4.8-.7 1.2-1.8 1.2-3 0-2.2-1.3-3.9-3.8-3.9s-3.8 1.7-3.8 3.9c0 1.2.3 2.3 1.2 3 .4.4.8.9.8 1.4 0 .6-.2 1.1-1.6 1.7-2.1.8-4 1.7-4 3.5 0 1.2 1 2.2 2.1 2.2h10.6c1.2 0 2.1-1 2.1-2.2 0-1.7-2-2.7-4-3.5zm7.9-8.6c0-3.4-2.8-6.3-6.2-6.3V.9l-3.1 2.6c-.2.1-.1.3 0 .5l3.1 2.5V4.8c2.2 0 3.9 1.8 3.9 4h-1.6l2.6 3.1c.1.1.3.1.5 0l2.5-3.1h-1.7z\"}},\nchange_record_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.2 17.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7v-5.1zm-5.5-7.1H1.5c-.5 0-.7.4-.4.6l3.7 3.8c.1.2.4.2.6 0l3.7-3.8c.3-.3 0-.6-.4-.6H6.5c0-2.4 2.3-4.7 4.6-4.7V2.8c-4.2 0-7.4 3.2-7.4 7.4zm15.6-.8c-.2-.2-.5-.2-.7 0L15 13.2c-.3.3-.1.6.4.6h2.2c0 2.8-1.9 4.7-4.7 4.7v2.7c4.2 0 7.5-3.2 7.5-7.4h2.2c.5 0 .7-.4.4-.6l-3.7-3.8zm3.8-7.8c0-.4-.3-.7-.7-.7h-6.9c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7V1.6z\"}},\nchart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21 10.8L11.5 16c-.6.3-1.3-.1-1.3-.8V3.9c0-.5-.5-.9-.9-.7-4.6 1.3-8 5.8-7.4 10.9.5 4.6 4.2 8.4 8.9 8.9 6.2.7 11.4-4.1 11.4-10.1 0-.5-.1-1.1-.2-1.6s-.6-.7-1-.5zm-8.2 2.1l9.1-4.8c.5-.3.7-1 .3-1.5-2-2.9-5.3-5-9-5.6-.6-.1-1.2.4-1.2 1v10.5c0 .4.4.6.8.4z\"}},\nchat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 1.8C5.9 1.8 1 6.4 1 12c0 1.7.5 3.4 1.3 4.8.1.3.2.6.1.8l-1.4 4c-.2.3.2.6.6.6l3.9-1.6c.3-.1.5 0 .8.1 1.7.9 3.7 1.5 5.8 1.5 6 0 11-4.5 11-10.2C23 6.4 18.1 1.8 12 1.8zm-5.5 12c-1.1 0-1.9-.8-1.9-1.8s.8-1.8 1.9-1.8 1.8.8 1.8 1.8-.8 1.8-1.8 1.8zm5.5 0c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8 1.8.8 1.8 1.8-.8 1.8-1.8 1.8zm5.5 0c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8 1.9.8 1.9 1.8-.8 1.8-1.9 1.8z\"}},\ncheck:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.8 19.6L1.2 12c-.3-.3-.3-.8 0-1.1l1-1c.3-.3.8-.3 1 0L9 15.7c.1.2.5.2.6 0L20.9 4.4c.2-.3.7-.3 1 0l1 1c.3.3.3.7 0 1L9.8 19.6c-.2.3-.7.3-1 0z\"}},\ncheckin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C7.2.9 3.2 4.8 3.2 9.7c0 6.1 6.3 11.7 8.2 13.2.4.3.8.3 1.2 0 1.9-1.5 8.2-7.1 8.2-13.2 0-4.9-4-8.8-8.8-8.8zm0 12.5c-2 0-3.7-1.7-3.7-3.7S10 6 12 6s3.7 1.7 3.7 3.7-1.7 3.7-3.7 3.7z\"}},\nchevrondown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 8.2l-9.5 9.6c-.3.2-.7.2-1 0L2 8.2c-.2-.3-.2-.7 0-1l1-1c.3-.3.8-.3 1.1 0l7.4 7.5c.3.3.7.3 1 0l7.4-7.5c.3-.2.8-.2 1.1 0l1 1c.2.3.2.7 0 1z\"}},\nchevronleft:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.8 22l-9.6-9.4c-.3-.3-.3-.8 0-1.1l9.6-9.4c.3-.3.7-.3 1 0l1 1c.3.3.3.7 0 1l-7.6 7.4c-.3.3-.3.8 0 1.1l7.5 7.4c.3.3.3.7 0 1l-1 1c-.2.2-.6.2-.9 0z\"}},\nchevronright:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.3 2l9.5 9.5c.3.3.3.7 0 1L8.3 22c-.3.2-.8.2-1.1 0l-1-1c-.2-.3-.2-.8 0-1.1l7.6-7.4c.2-.3.2-.7 0-1L6.3 4.1C6 3.8 6 3.3 6.3 3l1-1c.3-.2.7-.2 1 0z\"}},\nchevronup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M2 15.8l9.5-9.6c.3-.2.7-.2 1 0l9.5 9.6c.2.3.2.7 0 1l-1 1c-.3.3-.8.3-1.1 0l-7.4-7.6c-.3-.2-.7-.2-1 0l-7.4 7.6c-.3.2-.8.2-1.1 0l-1-1c-.2-.3-.2-.7 0-1z\"}},\nchoice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"5.169\"},\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.2c-4.5 0-8.1-3.6-8.1-8.1S7.5 3.9 12 3.9s8.1 3.6 8.1 8.1-3.6 8.1-8.1 8.1z\"}}},\nclassic_interface:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.8 16.5v-3.9S10 15.2 8.9 17s-1 3.2-1 3.2c0 1.4 1.1 2.6 2.4 2.6.8 0 1.5-.4 1.9-1.1.4.6 1 1 1.8 1 1.3 0 2.3-1.2 2.3-2.7v-.4c0-1.9-4.3-7.1-4.3-7.1v4l.6 1.3v.2c0 .3-.2.6-.6.6-.3 0-.6-.3-.6-.6 0 0 0-.1.1-.2l.3-1.3m-4.5-3.4l3.7-1.4s-3-.8-5.1-1.2c-2.2-.4-3.4.3-3.4.3-1.3.5-2.1 1.8-1.7 3 .3.8 1 1.3 1.7 1.5-.4.6-.5 1.3-.2 2 .4 1.2 1.9 1.8 3.2 1.3.2 0 .3-.1.4-.2 1.9-.6 5.2-6.4 5.2-6.4l-3.6 1.3h-.1l-1.1 1c0 .1-.1.1-.1.1-.3.1-.7 0-.8-.4-.1-.3 0-.7.4-.8H6l1.3-.1m1.9-5.5l2.3 3.2s-.1-3.2-.3-5.3C11 3.4 10 2.3 10 2.3 9.1 1.2 7.6.8 6.6 1.6c-.6.5-.9 1.3-.9 2-.7-.2-1.4-.1-2 .3-1 .8-1.2 2.4-.3 3.5.1.1.2.3.2.4 1.2 1.5 7.8 3.1 7.8 3.1L9 7.8 7.7 7l-.1-.1c-.2-.3-.2-.7.1-.9.3-.2.7-.1.9.1 0 .1 0 .1.1.2l.5 1.3m7.5 5.5L13 11.7s3-.8 5.1-1.2c2.2-.4 3.4.3 3.4.3 1.3.5 2.1 1.8 1.7 3-.3.8-1 1.3-1.7 1.5.4.6.5 1.3.2 2-.4 1.2-1.9 1.8-3.2 1.3-.2 0-.3-.1-.4-.2-1.9-.6-5.2-6.4-5.2-6.4l3.6 1.3h.1l1.1 1c0 .1.1.1.1.1.3.1.7 0 .8-.4.1-.3 0-.7-.4-.8H18l-1.3-.1m-2.1-5.5l-2.3 3.2s.2-3.2.3-5.3 1.2-3.2 1.2-3.2c.9-1.1 2.4-1.5 3.4-.7.7.5.9 1.3.9 2 .7-.1 1.4 0 2 .4 1 .8 1.1 2.3.3 3.5l-.3.3c-1.1 1.5-7.6 3.1-7.6 3.1l2.3-3.1.1-.1 1.2-.7.1-.2c.2-.2.2-.6-.1-.8-.3-.2-.6-.2-.9.1 0 0 0 .1-.1.1l-.5 1.4\"}},\nclear:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm2.3 11.5l3.6 3.6c.1.2.1.4 0 .6l-1.3 1.3c-.2.2-.5.2-.7 0l-3.6-3.6c-.2-.2-.4-.2-.6 0l-3.6 3.6c-.2.2-.5.2-.7 0l-1.3-1.3c-.1-.2-.1-.4 0-.6l3.6-3.6c.2-.2.2-.5 0-.7L6.1 8.1c-.2-.2-.2-.5 0-.7l1.3-1.3c.2-.1.4-.1.6 0l3.7 3.7c.2.2.4.2.6 0l3.6-3.6c.2-.2.5-.2.7 0l1.3 1.3c.1.2.1.4 0 .6l-3.6 3.6c-.2.2-.2.5 0 .7z\"}},\nclock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.4c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3zm1.6-8.2c-.2-.1-.2-.3-.2-.5V7.2c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v5.5c0 .2.1.4.2.5l3.4 3.5c.3.2.7.2 1 0l1-1c.2-.3.2-.7 0-1l-2.6-2.6z\"}},\nclose:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.3 11.7l6-6c.3-.3.3-.7 0-1l-.9-1c-.3-.2-.7-.2-1 0l-6 6.1c-.2.2-.5.2-.7 0l-6-6.1c-.3-.3-.7-.3-1 0l-1 1c-.2.2-.2.7 0 .9l6.1 6.1c.2.2.2.4 0 .6l-6.1 6.1c-.3.3-.3.7 0 1l1 1c.2.2.7.2.9 0l6.1-6.1c.2-.2.4-.2.6 0l6.1 6.1c.2.2.7.2.9 0l1-1c.3-.3.3-.7 0-1l-6-6c-.2-.2-.2-.5 0-.7z\"}},\ncollapse_all:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 4.4c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7V4.4zm0 13.8c0-.3-.4-.7-.7-.7h-19c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7v-1.4zm-6.3-4.8c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7H8.1c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h7.8z\"}},\ncollection_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.8.9H3.2C1.9.9.9 1.9.9 3.2v17.6c0 1.2 1 2.3 2.3 2.3h17.6c1.2 0 2.3-1 2.3-2.3V3.2c0-1.3-1-2.3-2.3-2.3zm-1.1 18.2c-.1.3-.4.5-.7.5H4.7c-.3 0-.5-.3-.5-.6V4.9c0-.3.3-.5.6-.5h14.3c.3 0 .5.3.5.6v14.1zm-4.5-8.8c.5 0 1.5-.3 1.5-1.6s-1-1.4-1.2-1.4c-.6 0-1.1.5-1.7 1.3l-1 1.8c-.2-.6-.2-1.1-.3-1.4-.1-.5-.7-1.6-2-1.6-1.2 0-2.4.7-2.4.7-.2.2-.3.4-.3.7 0 .4.3.8.7.8.2 0 .3-.1.4-.1 0 0 .9-.6 1.1 0 .1.1.1.3.2.5.2.8.5 1.8.6 2.6l-.8 1.2s-.9-.3-1.4-.3-1.4.4-1.4 1.7.9 1.3 1.2 1.3c.5 0 1.1-.4 1.6-1.2l1-1.8c.2.8.3 1.4.4 1.6.3.9 1 1.5 2 1.5 0 0 1 0 2.2-.7.2-.1.4-.3.4-.7 0-.4-.3-.8-.8-.8-.1 0-.2.1-.3.1 0 0-.8.5-1.1.1-.2-.3-.4-.9-.5-1.5-.1-.5-.3-1.2-.4-1.9l.9-1.2s1 .3 1.4.3z\"}},\ncolor_swatch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.4 4.4l3.2 3.2c.7.8.7 1.9 0 2.7l-8.5 8.5V7l2.6-2.6c.8-.7 1.9-.7 2.7 0zm6.7 12.2v4.6c0 1.1-.8 1.9-1.9 1.9H9.7l8.3-8.3h3.2c1.1 0 1.9.8 1.9 1.8zM.9 18.9V2.8C.9 1.7 1.7.9 2.8.9h4.6c1 0 1.8.8 1.8 1.9v16.1c0 2.3-1.8 4.2-4.1 4.2S.9 21.2.9 18.9zm4.2 1.9c1 0 1.8-.9 1.8-1.9s-.8-1.8-1.8-1.8-1.9.8-1.9 1.8.9 1.9 1.9 1.9z\"}},\ncomments:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.1 14.3c-.1-.2-.1-.4 0-.5.6-1.1 1-2.3 1-3.6 0-4.1-3.5-7.4-7.9-7.4-2 0-3.8.8-5.2 2 4.7.5 8.5 4.4 8.5 9.1 0 1.1-.3 2.3-.7 3.3.5-.2 1-.4 1.5-.7.2-.1.4-.1.5 0l2.9 1.1c.2.1.5-.2.4-.4l-1-2.9zM8.8 6.5C4.4 6.5.9 9.8.9 13.9c0 1.3.4 2.5 1 3.5.1.2.1.4 0 .6l-1 2.8c-.1.3.2.5.4.4l2.9-1.1c.1 0 .3 0 .5.1 1.2.7 2.6 1 4.1 1 4.3 0 7.8-3.3 7.8-7.4 0-4-3.5-7.3-7.8-7.3z\"}},\ncompany:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.7 1.8H3.2c-.8 0-1.4.6-1.4 1.4v18.5c0 .2.3.5.5.5h1.9c.2 0 .4-.2.4-.5v-2.8c0-.3.2-.4.5-.4h2.7c.3 0 .5.1.5.4v2.8c0 .3.2.5.5.5h1.4c.5 0 .9-.5.9-1v-18c0-.8-.6-1.4-1.4-1.4zM5.5 16.4c0 .1-.1.2-.2.2H3.9c-.1 0-.2-.1-.2-.2v-2.3c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H3.9c-.1 0-.2-.1-.2-.2V9.5c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H3.9c-.1 0-.2-.1-.2-.2V4.8c0-.1.1-.2.2-.2h1.4c.1 0 .2.1.2.2v2.4zm3.7 9.2c0 .1-.1.2-.2.2H7.6c-.1 0-.2-.1-.2-.2v-2.3c0-.2.1-.3.2-.3H9c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H7.6c-.1 0-.2-.1-.2-.2V9.5c0-.2.1-.3.2-.3H9c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H7.6c-.1 0-.2-.1-.2-.2V4.8c0-.1.1-.2.2-.2H9c.1 0 .2.1.2.2v2.4zm11.6-.7h-6.5c-.8 0-1.4.6-1.4 1.3v13.9c0 .2.3.5.5.5h1.8c.3 0 .5-.2.5-.5v-2.8c0-.3.2-.4.5-.4h2.7c.3 0 .5.1.5.4v2.8c0 .3.2.5.4.5h1.4c.5 0 1-.5 1-1V7.8c0-.7-.6-1.3-1.4-1.3zm-4.2 9.9c0 .1-.1.2-.2.2H15c-.1 0-.2-.1-.2-.2v-2.3c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H15c-.1 0-.2-.1-.2-.2V9.5c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm3.7 4.6c0 .1-.1.2-.2.2h-1.4c-.1 0-.2-.1-.2-.2v-2.3c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2h-1.4c-.1 0-.2-.1-.2-.2V9.5c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3z\"}},\ncomponent_customization:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 2.5C23.1.9 21.8.9 21.8.9H2.3C2 1 .9 1.1.9 2.3v6.6c.1.2.3 1.3 1.4 1.3h19.5c1.4 0 1.3-1.3 1.3-1.3V2.5zm-.4 13.8c-.3-.1-.6-.1-.9-.1 0 0-.1 0-.1-.1l-.3-.9v-.1c.1-.2.3-.5.5-.7.1-.1.1-.3-.1-.5l-.9-.9s-.1-.1-.2-.1-.2.1-.3.1c-.2.2-.4.4-.6.5-.1 0-.1.1-.1.1-.4-.1-.6-.3-.9-.4-.1 0-.1 0-.1-.1-.1-.3-.1-.5-.1-.8 0-.1 0-.3-.2-.3l-.1-.1h-1.4c-.1 0-.1 0-.2.1-.1 0-.2.2-.2.3 0 .3-.1.5-.1.8 0 .1-.1.1-.1.1-.3.1-.6.3-.9.4-.1 0-.1 0-.1-.1-.3-.1-.4-.3-.7-.5-.1 0-.1-.1-.2-.1s-.2.1-.3.1l-.9.9c-.2.2-.2.4-.1.5.1.2.4.4.5.7.1 0 .1.1 0 .1-.1.4-.3.6-.4.9v.1c-.3 0-.6 0-.8.1-.2 0-.4.1-.4.3v1.5c.1.2.2.3.4.3s.5.1.8.1v.1c.1.3.3.6.4.9 0 0 .1.1 0 .1-.1.2-.4.5-.5.7-.1.1-.1.3.1.5l.9.9c.1.1.1.1.3.1 0 0 .1-.1.2-.1.2-.1.4-.4.7-.5 0 0 0-.1.1-.1.3.1.6.3.9.4l.1.1c0 .3 0 .6.1.8 0 .3.1.4.3.4h1.4s.3-.1.4-.4v-.8l.1-.1c.4-.1.7-.3.9-.4h.1v.1c.2.1.5.4.7.5 0 0 .1.1.2.1s.2-.1.3-.1l.9-.9c.2-.2.2-.4.1-.5-.2-.2-.4-.4-.5-.7-.1 0-.1-.1 0-.1l.3-.9.1-.1c.3 0 .6 0 .9-.1.2 0 .3-.1.3-.4v-1.2c0-.4-.1-.5-.3-.5zm-5.2 3.1c-1.2 0-2-.9-2-2s.9-2.1 2-2.1 2.1.9 2.1 2.1c0 1.1-1 2-2.1 2zm-6.7-6.6c0-.7-.7-.8-.9-.8H1.8c-.3 0-.9.1-.9.9v9.5c.1.3.2.7.9.7h8.1c.9 0 .9-1.1.9-1.1v-1.1c0-.5.1-1-.1-1.4-.1-.1-.1-.2-.2-.3s-.1-.1-.1-.2c-.3-.4-.2-.9-.2-1.4 0-.5 0-1 .2-1.4l.3-.6c.2-.2.2-.6.2-.9l-.1-1.9z\"}},\nconnected_apps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11 14.4l-1.8 8.1c-.1.5.5.8.8.4l9.7-12c.3-.3.1-.7-.3-.7h-5.2c-.4 0-.6-.5-.4-.7L18.4 2c.2-.5-.1-1.1-.6-1.1H9.6c-.5 0-.9.3-1.1.8L4.7 12.9c-.2.5.1.9.6.9h5.3c.2 0 .5.3.4.6z\"}},\nconstant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.7 3.6c-.2-.2-.3-.2-.5-.2-1.8-.1-3.6 0-5.3.1h-6.2c-1.9 0-3.5.4-4.9 1.7-.9.8-1.8 2-2.5 3.1 0 .1-.1.2-.1.4 0 .3.4.7.7.7.4 0 .5-.3.7-.6.2-.3.4-.6.7-.8 1-.9 2.3-1.4 3.6-1.3-1.1 3.1-2.7 6.6-4.9 9-.9 1-2.5 2-2.8 3.4-.4 1.4 1.1 1.8 2.2 1.4 1.4-.6 2.2-2 2.9-3.2.9-1.6 1.7-3.2 2.3-4.8l2.1-4.8c.4-1 .5-1 1.5-1h2.7c-1 2.3-2 4.5-2.9 6.8-.6 1.7-1.9 4.2-1 6.1.9 1.8 3.3 1.1 4.6.2 1.4-1 2.3-2.5 3-4 .2-.2.3-.5.2-.8-.1-.3-.3-.5-.6-.5-.7 0-.8.8-1 1.2-.4.8-1.2 1.5-2.1 1.4-2-.3-.2-4 .2-5 .3-1 .8-2 1.2-3 .3-.5.5-1.1.8-1.7.4-.7.4-.7 1.2-.7.7-.1 2.7.3 3.3-.1.5-.3.8-1.5 1-2.4.1-.2 0-.5-.1-.6z\"}},\ncontact_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.7 12.5c-.3.1-.4.4-.2.6l2.1 2.1c.2.2.2.5 0 .8l-.8.8c-.2.2-.6.2-.8 0l-4.9-5c-.3-.3-.3-.6 0-.8L12 6c.2-.2.6-.2.8 0l.8.8c.2.3.2.6 0 .8l-2.1 2.1c-.2.2.2.6.2.6 4.7.2 8.3 3.3 9.4 7.5 1.2-1.7 2-3.7 2-5.8C23 6.3 18.1 1.8 12 1.8S1 6.4 1 11.9c0 1.8.5 3.4 1.4 4.9.1.2.1.5 0 .8L1 21.5c-.1.4.2.7.6.6l4-1.5c.3-.1.5-.1.8.1 1.7.9 3.7 1.5 5.8 1.5 2.7-.1 5.2-1 7.1-2.6-.5-3.9-3.7-7-7.6-7.1z\"}},\ncontract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.7 11.1h7.1c.4 0 .6-.5.2-.9l-2.3-2.3 4.2-4.2c.2-.2.2-.7 0-.9l-1.7-1.7c-.2-.2-.6-.2-.9.1l-4.1 4.1L13.8 3c-.4-.3-.9-.2-.9.3v7.1c0 .3.4.7.8.7zm-3.4 1.8H3.2c-.4 0-.6.5-.2.9l2.3 2.3-4.2 4.2c-.2.2-.2.7 0 .9l1.7 1.7c.2.2.6.2.9 0l4.2-4.2 2.3 2.3c.4.4.9.2.9-.2v-7.1c0-.3-.4-.8-.8-.8zm2.6.8v7.1c0 .4.5.6.9.2l2.3-2.3 4.2 4.2c.2.2.7.2.9 0l1.7-1.7c.2-.2.2-.6-.1-.9l-4.1-4.1 2.3-2.4c.3-.4.2-.9-.3-.9h-7.1c-.3 0-.7.4-.7.8zm-1.8-3.4V3.2c0-.4-.5-.6-.9-.2L7.9 5.3 3.7 1.1c-.2-.2-.7-.2-.9 0L1.1 2.8c-.2.2-.2.6 0 .9l4.2 4.2L3 10.2c-.4.4-.2.9.2.9h7.1c.3 0 .8-.4.8-.8z\"}},\ncontract_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.7 11h7.1c.4 0 .6-.5.2-.8l-2.3-2.4 4.2-4.2c.2-.2.2-.6 0-.8l-1.7-1.7c-.2-.2-.6-.2-.9 0l-4.1 4.2L13.8 3c-.4-.4-.9-.2-.9.2v7.1c0 .4.4.7.8.7zm-3.4 1.9H3.2c-.4 0-.6.5-.2.9l2.3 2.3-4.2 4.2c-.2.2-.2.7 0 .9l1.7 1.7c.2.2.6.2.9 0l4.2-4.2 2.3 2.3c.4.4.9.2.9-.2v-7.1c0-.3-.4-.8-.8-.8z\"}},\ncopy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.3.9h-12c-1 0-1.8.9-1.8 1.9v.9h11c1.1 0 1.9.8 1.9 1.8v13h.9c1 0 1.9-.9 1.9-1.9V2.8c0-1-.9-1.9-1.9-1.9zm-2.8 6.5c0-1-.8-1.9-1.8-1.9h-12c-1 0-1.9.9-1.9 1.9v13.8c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9V7.4zm-8.3 3.2c0 .3-.2.5-.4.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h3.7c.2 0 .4.2.4.5v.9zm3.7 7.4c0 .3-.2.5-.4.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h7.4c.2 0 .4.2.4.5v.9zm1.9-3.7c0 .3-.2.5-.5.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h9.2c.3 0 .5.2.5.5v.9z\"}},\ncopy_to_clipboard:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 5.4h8c.4 0 .8-.4.8-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.5c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12-2.6h-.8c-.2 0-.3.1-.3.3v1.5c0 1.6-1.3 3-2.9 3H8c-1.6 0-2.9-1.4-2.9-3V3.1c0-.2-.1-.3-.3-.3H4c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2z\"}},\ncrossfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.2 4.2c-.8 0-1.6 0-2.3.3.9.7 1.6 1.5 2.2 2.4h.1c2.8 0 5 2.3 5 5.1s-2.2 5.1-5 5.1c-.7 0-1.4-.2-2-.4.3-.5.7-1.1.9-1.7.1-.2.2-.4.2-.6.3-.7.4-1.6.4-2.4 0-4.3-3.5-7.8-7.9-7.8S0 7.7 0 12s3.5 7.8 7.8 7.8c.8 0 1.6 0 2.3-.3-.9-.7-1.6-1.5-2.2-2.4h-.1c-2.8 0-5-2.3-5-5.1s2.2-5.1 5-5.1c.7 0 1.4.2 2.1.4-1 1.3-1.6 2.9-1.6 4.7 0 4.3 3.5 7.8 7.9 7.8S24 16.3 24 12s-3.5-7.8-7.8-7.8z\"}},\ncurrency:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M20.8 5H3.2c-1.1 0-2 1-2 2.1v9.8c0 1.1.9 2 2 2h17.6c1.1 0 2-.9 2-2V7.1c0-1.1-.9-2.1-2-2.1zM5.5 16.9c0-1.3-1-2.4-2.3-2.4v-5c1.3 0 2.3-1.1 2.3-2.4h13c0 1.3 1 2.4 2.3 2.4v5c-1.3 0-2.3 1.1-2.3 2.4h-13z\"},\"circle\":{\"cx\":\"12\",\"cy\":\"11.815\",\"r\":\"3.369\"}}},\ncurrency_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.6 17.4c1.2-2.1 1-4.8-.8-6.6-2.1-2.1-5.5-2.1-7.6 0-1.8 1.8-2 4.5-.8 6.6h9.2zm6.2-14.1v17.4c0 1.2-.9 2.1-2.1 2.1H3.3c-1.2 0-2.1-.9-2.1-2.1V3.3c0-1.2.9-2.1 2.1-2.1h17.4c1.2 0 2.1.9 2.1 2.1zm-18 16.6h14.4c.4 0 .7-.3.7-.7V4.8c0-.5-.3-.8-.7-.8H4.8c-.5 0-.8.3-.8.8v14.4c.1.4.4.7.8.7z\"}},\ncustom_apps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.8 5.6c-.1-.2-.4-.3-.6-.1l-3.8 3.7c-.3.3-.7.3-1 0l-2.6-2.6c-.3-.3-.3-.7 0-1l3.8-3.8c.1-.1 0-.5-.2-.6-.6-.2-1.3-.3-2-.3-3.9 0-7 3.4-6.6 7.4.1.7.3 1.2.5 1.8l-8.6 8.5c-1.1 1.1-1.1 2.7 0 3.7.5.5 1.2.8 1.8.8s1.3-.3 1.9-.8l8.5-8.6c.6.2 1.2.4 1.8.5 4 .4 7.4-2.7 7.4-6.6 0-.7-.1-1.4-.3-2z\"}},\ncut:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.8 14.5c-.8-.2-1.5-.1-2.2.1L6.4 1.1C6.3.9 6 .9 5.8 1l-.4.3c-.8.6-.9 1.7-.3 2.6l4.9 6.4c.2.3.2.6 0 .9l-2.7 3.4c-.6-.2-1.4-.2-2.1-.1-1.7.4-3.1 1.7-3.3 3.5-.4 2.7 2 5 4.8 4.6 1.7-.3 3-1.6 3.4-3.2.2-1.2 0-2.2-.5-3l1.9-2.6c.3-.4.8-.4 1.1 0l1.9 2.6c-.5.9-.7 1.9-.5 3 .3 1.6 1.7 2.9 3.4 3.2 2.8.4 5.2-1.9 4.8-4.6-.4-1.8-1.8-3.2-3.4-3.5zM6 19.9c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.3.6 1.3 1.4-.6 1.4-1.3 1.4zm12 0c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.3.6 1.3 1.4c0 .8-.6 1.4-1.3 1.4zM14.4 8.7c.2.3.6.3.8 0l3.7-4.8c.5-.7.4-1.6-.1-2.3h.1-.1c-.1-.1-.7-.6-.7-.6-.1-.1-.5-.1-.6.1l-4.1 5.4c-.2.2-.2.6 0 .8l1 1.4z\"}},\ndash:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 12.7c0 .4-.3.7-.7.7H1.6c-.4 0-.7-.3-.7-.7v-1.4c0-.4.3-.7.7-.7h20.8c.4 0 .7.3.7.7v1.4z\"}},\ndatabase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21 4.2C21 2.4 16.9 1 12 1S3 2.4 3 4.2v1.1C3 7 7.1 8.4 12 8.4s9-1.4 9-3.1V4.2zM3 7.8c0 1.4 4.1 2.5 9 2.5s9-1.1 9-2.5v2.3c0 1.8-4.1 3.2-9 3.2s-9-1.4-9-3.2V7.8zm0 0c0 1.4 4.1 2.5 9 2.5s9-1.1 9-2.5v2.3c0 1.8-4.1 3.2-9 3.2s-9-1.4-9-3.2V7.8zm0 4.9c0 1.4 4.1 2.5 9 2.5s9-1.1 9-2.5V15c0 1.7-4.1 3.1-9 3.1S3 16.8 3 15v-2.3zm0 4.9c0 1.4 4.1 2.5 9 2.5s9-1.1 9-2.5v2.2c0 1.8-4.1 3.2-9 3.2s-9-1.4-9-3.2v-2.2z\"}},\ndatadotcom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.6 22.7h-2.4c-.2-.9-.3-1.7-.3-2.4-1.2 1.9-3.1 2.8-5.6 2.8-2.3 0-4-.8-5.2-2.3-1.2-1.5-1.7-3.5-1.7-5.9 0-1.6.3-2.9.9-4.2s1.4-2.3 2.5-2.9c1.1-.8 2.4-1.2 3.9-1.2 2.1 0 3.8.7 5.1 2.1V1h2.6v18.2c0 1.2.1 2.3.2 3.5zM16.8 16v-5c-.6-.8-1.3-1.3-2.1-1.7-.8-.4-1.7-.6-2.7-.6-1.5 0-2.7.6-3.6 1.7-.9 1.2-1.3 2.7-1.3 4.5 0 1.9.4 3.3 1.3 4.4.8 1.1 2 1.7 3.5 1.7 1.4 0 2.6-.5 3.5-1.4.9-1 1.4-2.2 1.4-3.6z\"}},\ndate_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.4 9.1H2.6c-.4 0-.7.3-.7.7v10.9c0 1.2 1 2.1 2.2 2.1h15.8c1.2 0 2.2-.9 2.2-2.1V9.8c0-.4-.3-.7-.7-.7zm-13 10.1c0 .4-.3.7-.7.7H6.2c-.4 0-.7-.3-.7-.7v-1.4c0-.4.3-.8.7-.8h1.5c.4 0 .7.4.7.8v1.4zm5 0c0 .4-.3.7-.7.7h-1.4c-.5 0-.8-.3-.8-.7v-1.4c0-.4.3-.8.8-.8h1.4c.4 0 .7.4.7.8v1.4zm0-5c0 .4-.3.7-.7.7h-1.4c-.5 0-.8-.3-.8-.7v-1.5c0-.4.3-.7.8-.7h1.4c.4 0 .7.3.7.7v1.5zm5.1 0c0 .4-.3.7-.7.7h-1.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.7.7-.7h1.5c.4 0 .7.3.7.7v1.5zm1.4-10.9h-1.8v-.7c0-.8-.6-1.4-1.4-1.4-.8 0-1.4.6-1.4 1.4v.7H8.8v-.7c0-.8-.7-1.4-1.5-1.4s-1.4.6-1.4 1.4v.7H4.1c-1.2 0-2.2 1-2.2 2.2v.7c0 .4.3.8.7.8h18.8c.4 0 .8-.4.8-.8v-.7c-.1-1.2-1.1-2.2-2.3-2.2z\"}},\ndate_time:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.1 3.1h-1.8v-.7c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v.7H8.7v-.7C8.7 1.6 8 .9 7.2.9s-1.5.7-1.5 1.5v.7H3.9c-1.2 0-2.2 1.1-2.2 2.3v.7c0 .4.3.7.7.7h19.2c.4 0 .7-.3.7-.7v-.7c0-1.2-1-2.3-2.2-2.3zM21.6 9H2.4c-.4 0-.7.4-.7.8v11.1c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V9.8c0-.4-.3-.8-.7-.8zM12 21.6c-3 0-5.5-2.5-5.5-5.5 0-3.1 2.5-5.5 5.5-5.5s5.5 2.5 5.5 5.5-2.5 5.5-5.5 5.5zm.6-5.8v-2.3c0-.2-.2-.4-.4-.4h-.4c-.2 0-.4.2-.4.4v2.6c0 .1.1.2.2.3l1.8 1.8c.1.1.4.1.5 0l.3-.3c.1-.1.1-.4 0-.5l-1.6-1.6z\"}},\ndayview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.3 3.2H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9zm1.2 6h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zm-8.1 10.2v.1c0 .3-.5.8-.9.8s-1-.5-1-.9v-4.6l-.7.7c-.1.1-.2.2-.4.2-.4 0-.7-.3-.7-.7 0-.2.1-.4.2-.5l1.8-1.8c.2-.2.4-.3.7-.3.5 0 1 .4 1 .9v6.1z\"}},\ndelete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21 4.6h-5.8V2.8c0-1-.8-1.9-1.8-1.9h-2.8c-1 0-1.8.9-1.8 1.9v1.8H3c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h18c.4 0 .7-.3.7-.7V5.3c0-.4-.3-.7-.7-.7zM10.6 3.2c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.4h-2.8V3.2zm8.6 6H4.8c-.3 0-.6.4-.6.7v10.9c0 1.3 1 2.3 2.3 2.3h11c1.3 0 2.3-1 2.3-2.3V9.9c0-.3-.3-.7-.6-.7zm-8.6 10.2c0 .3-.2.4-.4.4h-1c-.2 0-.4-.1-.4-.4v-6.5c0-.3.2-.4.4-.4h1c.2 0 .4.1.4.4v6.5zm4.6 0c0 .3-.2.4-.4.4h-1c-.2 0-.4-.1-.4-.4v-6.5c0-.3.2-.4.4-.4h1c.2 0 .4.1.4.4v6.5z\"}},\ndeprecate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 3.2H1.8c-.5 0-.9.4-.9 1v12c0 .5.4.9.9.9h7.5c.5 2.6 2.7 4.6 5.5 4.6s5-2 5.4-4.6h2c.5 0 .9-.4.9-.9v-12c0-.6-.4-1-.9-1zm-4 15.1l-1.3 1.3-2.1-2.2-2.2 2.2-1.2-1.3 2.1-2.1-2.1-2.2 1.2-1.3 2.2 2.2 2.1-2.2 1.3 1.3-2.1 2.2 2.1 2.1zm3-3.1h-1c-.4-2.6-2.7-4.6-5.4-4.6s-5.1 2-5.5 4.6H2.8V5.1h18.4v10.1z\"}},\ndescription:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.3 1.8H3.7c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V3.7c0-1-.9-1.9-1.9-1.9zM5.5 6.5c0-.3.2-.5.5-.5h4.6c.3 0 .5.2.5.5v4.6c0 .3-.2.4-.5.4H6c-.3 0-.5-.1-.5-.4V6.5zm11.1 12c0 .2-.2.4-.4.4H6c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h10.2c.2 0 .4.2.4.4v1zm1.9-3.7c0 .2-.2.4-.5.4H6c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h12c.3 0 .5.2.5.4v1zm0-3.7c0 .3-.2.4-.5.4h-4.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5v.9zm0-3.7c0 .3-.2.4-.5.4h-4.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5v.9z\"}},\ndesktop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 2.8c0-1-.9-1.9-1.9-1.9H2.8C1.8.9.9 1.8.9 2.8v12c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8v-12zm-2.8 10.4c0 .3-.3.6-.7.6H4.4c-.4 0-.7-.3-.7-.6V4.4c0-.4.3-.7.7-.7h15.2c.4 0 .7.3.7.7v8.8zm-5.1 7.1h-1.4c-.2 0-.4-.2-.4-.5v-.9c0-.3-.2-.4-.5-.4h-1.8c-.3 0-.5.1-.5.4v.9c0 .3-.2.5-.4.5H8.8c-1 0-1.9.8-1.9 1.9v.2c0 .4.3.7.7.7h8.8c.4 0 .7-.3.7-.7v-.2c0-1.1-.9-1.9-1.9-1.9z\"}},\ndesktop_console:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.2 20.3h-1.4c-.2 0-.4-.2-.4-.5v-.9c0-.3-.2-.4-.5-.4h-1.8c-.3 0-.5.1-.5.4v.9c0 .3-.2.5-.4.5H8.8c-1 0-1.9.8-1.9 1.9v.2c0 .4.3.7.7.7h8.8c.4 0 .7-.3.7-.7v-.2c0-1.1-.9-1.9-1.9-1.9zm6-19.4H2.8C1.8.9.9 1.8.9 2.8v12c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8v-12c0-1-.9-1.9-1.9-1.9zM3.7 13.2V4.4c0-.4.3-.7.7-.7h2.8v10.1H4.4c-.4 0-.7-.3-.7-.6zm16.6 0c0 .3-.3.6-.7.6H9.9V3.7h9.7c.4 0 .7.3.7.7v8.8z\"}},\ndialing:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M22.4 17.5l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.7 2.4 9.1 5.5 12.3s7.6 5.2 12.3 5.5c.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6z\"},{\"d\":\"M19.4 11.3c.5-.8.9-1.7.9-2.8-.1-2.6-2.3-4.8-4.9-4.8-1 0-2 .3-2.8.9l-2-2.1c1.3-1 3-1.6 4.8-1.6C19.6.9 23 4.3 23 8.6c0 1.8-.6 3.4-1.6 4.7l-2-2z\"}],\"circle\":{\"cx\":\"15.415\",\"cy\":\"8.492\",\"r\":\"2.077\"}}},\ndislike:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.5 13.6V4.2c0-1.1-.8-1.9-1.8-1.9H2.5c-.3 0-.7.3-.7.7v10.6c0 .4.4.7.7.7h2.3c.4 0 .7-.3.7-.7zM22.2 12V6.2c0-4-3.2-4.4-6.7-4.4-3.3 0-4.3 1.3-7.5 1.4-.3 0-.6.4-.6.7v9.3c0 .3.3.6.7.6 2.2 0 3.9 2.4 3.9 4.9v2.8c0 .3.3.7.7.7h1.1c1.1 0 1.9-.9 1.9-1.9v-4.6c0-1 .8-1.9 1.8-1.9h2.8c1 0 1.9-.8 1.9-1.8z\"}},\ndisplay_rich_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M1.9 19.9h20.3c.4 0 .7.3.7.7v1.5c0 .4-.3.7-.7.7H1.9c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.7.7-.7zm0-6.5h20.3c.4 0 .7.3.7.7v1.5c0 .4-.3.7-.7.7H1.9c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.7.7-.7zm12.9-6.5h7.4c.4 0 .7.3.7.7V9c0 .5-.3.8-.7.8h-7.4c-.4 0-.8-.3-.8-.8V7.6c0-.4.4-.7.8-.7zM11.1 10L7.7 1.5c-.1-.1-.2-.3-.4-.3H4.7c-.2 0-.4.1-.4.3L1.2 10c-.1.1 0 .3.2.3H3c.2 0 .4-.1.4-.2l.7-1.8h4l.7 1.8c0 .1.2.2.3.2h1.7c.2 0 .4-.1.3-.3zM4.8 6l1.1-2.6h.2L7.3 6H4.8z\"}},\ndisplay_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.1 1.2H4C2.4 1.2 1.2 2.4 1.2 4v16c0 1.6 1.2 2.8 2.8 2.8h16c1.6 0 2.8-1.2 2.8-2.8V4c.1-1.6-1.2-2.8-2.7-2.8zM4.9 5.9c0-.5.4-1 .9-1h10.6c.5 0 .9.5.9 1v.9c0 .5-.4 1-.9 1H5.8c-.5 0-1-.5-1-1v-.9zM16 18.1c0 .5-.4 1-.9 1H5.9c-.5 0-1-.5-1-1v-.9c0-.5.5-.9 1-.9h9.2c.5 0 .9.4.9.9v.9zm3.1-5.6c0 .5-.4.9-.9.9H5.9c-.5 0-1-.4-1-.9v-1c0-.5.5-.9 1-.9h12.2c.5 0 1 .4 1 .9v1z\"}},\ndock_panel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M.9 16.2v-12C.9 2.4 2.3.9 4.1.9h12c1.8 0 3.2 1.5 3.2 3.3v1.3h-2.7V4.2c0-.3-.2-.5-.5-.5h-12c-.3 0-.5.2-.5.5v12c0 .2.2.4.5.4h1.4v2.8H4.1C2.3 19.4.9 18 .9 16.2zm20.3-8.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12c0-1-.8-1.8-1.8-1.8zM19.3 19c0 .2-.1.4-.4.4h-5.3c-.3 0-.5-.2-.5-.4v-.9c0-.2.2-.4.5-.4h2.2c.3 0 .4-.3.2-.5l-4.8-4.8c-.2-.1-.2-.4 0-.6l.6-.6c.2-.1.4-.1.6 0l4.8 4.8c.2.2.4.1.4-.2v-2.2c0-.2.3-.4.5-.4h.9c.2 0 .3.2.3.4V19z\"}},\ndown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.8 6.5h16.4c.4 0 .8.6.4 1l-8 9.8c-.3.3-.9.3-1.2 0l-8-9.8c-.4-.4-.1-1 .4-1z\"}},\ndownload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 14.3H21c-.4 0-.7.3-.7.7v4.6c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V15c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6.2c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V15c0-.4-.3-.7-.7-.7zm-10.9 3.1c.3.2.7.2 1 0l6.2-6.3c.3-.3.3-.7 0-.9l-.9-1c-.3-.3-.7-.3-1 0l-2.6 2.6c-.3.2-.8.1-.8-.4V1.6c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.8c0 .4-.5.6-.8.3L7.2 9.1c-.2-.2-.6-.2-.9 0l-1 1.1c-.3.2-.3.6 0 .9l6.2 6.3z\"}},\ndrag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.3 15.8c0 .9-1.1 1.2-1.5.5l-.9-2c-.5-.9-1.7-1.1-2.5-.5l-.6.5 3.1 7.3c.1.3.5.5.8.5h8.2c.4 0 .7-.3.8-.6l1.4-5.2c.4-1.4-.4-2.8-1.7-3.3l-3.7-1.2c-5.2-1.9-3.5 3.8-3.4 4zM.8 13.2h2.7v2.6H.8zM6.6 1.8h2.7v2.7H6.6zm0 17.6h2.7v2.7H6.6zM.8 7.3h2.7V10H.8zm0-5.4h2.7v2.7H.8zm11.7-.1h2.7v2.7h-2.7zm5.9 0H21v2.7h-2.6zM.8 19.4h2.7v2.7H.8zM18.4 7.8H21v2.6h-2.6z\"}},\ndrag_and_drop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.2 1.8c1 0 1.9.9 1.9 1.9s-.9 1.8-1.9 1.8-1.8-.8-1.8-1.8.8-1.9 1.8-1.9zm5.6 0c1 0 1.8.9 1.8 1.9s-.8 1.8-1.8 1.8-1.9-.8-1.9-1.8.9-1.9 1.9-1.9zM9.2 7.4c1 0 1.9.8 1.9 1.8s-.9 1.9-1.9 1.9-1.8-.9-1.8-1.9.8-1.8 1.8-1.8zm5.6 0c1 0 1.8.8 1.8 1.8s-.8 1.9-1.8 1.9-1.9-.9-1.9-1.9.9-1.8 1.9-1.8zm-5.6 5.5c1 0 1.9.9 1.9 1.9s-.9 1.8-1.9 1.8-1.8-.8-1.8-1.8.8-1.9 1.8-1.9zm5.6 0c1 0 1.8.9 1.8 1.9s-.8 1.8-1.8 1.8-1.9-.8-1.9-1.8.9-1.9 1.9-1.9zm-5.6 5.6c1 0 1.9.8 1.9 1.8s-.9 1.9-1.9 1.9-1.8-.9-1.8-1.9.8-1.8 1.8-1.8zm5.6 0c1 0 1.8.8 1.8 1.8s-.8 1.9-1.8 1.9-1.9-.9-1.9-1.9.9-1.8 1.9-1.8z\"}},\ndynamic_record_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.6 19.8v-.1c-3.3-1.1-5.7-4.1-5.7-7.7 0-4.4 3.7-8.1 8.1-8.1s8.1 3.7 8.1 8.1c0 .7-.1 1.5-.3 2.2.1.1.2.1.3.2h.4c.8 0 1.5.2 2.1.5.2-.9.4-1.9.4-2.9-.1-6.1-5-11-11-11S1 5.9 1 12c0 5.8 4.5 10.5 10.2 10.9-.9-.7-1.6-1.8-1.6-3.1zm4.8-6.5c.7 0 1.4.2 2 .5.1-.1.3-.1.4-.1.2-.5.3-1.1.3-1.7 0-2.8-2.2-5.1-5.1-5.1S7 9.2 7 12c0 2.3 1.4 4.2 3.5 4.8.2-2 1.9-3.5 3.9-3.5zm1.8 2.7c.4-.4.9-.6 1.5-.6.8 0 1.5.4 1.8 1 .3-.1.7-.2 1-.2 1.4 0 2.5 1.1 2.5 2.4 0 1.3-1.1 2.4-2.5 2.4h-.4c-.3.6-.9.9-1.6.9-.3 0-.5-.1-.8-.2-.3.8-1 1.3-1.9 1.3-.9 0-1.6-.6-1.9-1.4-.1 0-.3.1-.4.1-1.1 0-2-.8-2-1.9 0-.7.4-1.3 1-1.7-.1-.2-.2-.5-.2-.8 0-1.2 1-2.3 2.2-2.3.7.1 1.3.5 1.7 1z\"}},\nedit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.4 15.4l4.1 4.1c.2.2.5.2.6 0L19.4 9.2c.2-.2.2-.4 0-.6l-4.1-4.1c-.2-.2-.4-.2-.6 0L4.4 14.8c-.2.2-.2.5 0 .6zM16.7 2.6c-.2.2-.2.5 0 .7l4 4c.2.2.5.2.7 0l1.1-1.1c.8-.7.8-1.8 0-2.6l-2.1-2.1c-.8-.8-1.9-.8-2.7 0l-1 1.1zM1 22.2c-.1.5.3.9.8.8l5-1.2c.2 0 .3-.1.4-.2l.1-.1c.1-.1.1-.4-.1-.6l-4.1-4.1c-.2-.2-.5-.2-.6-.1l-.1.1c-.1.1-.2.3-.2.4l-1.2 5z\"}},\nedit_form:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.5 7.1h3.8c.3 0 .5-.3.5-.5s-.1-.3-.2-.4l-4.7-4.7c-.1-.1-.2-.1-.3-.1-.3 0-.5.2-.5.5v3.7c0 .8.6 1.5 1.4 1.5zm8.3 4.8l-.4-.5c-.2-.2-.7-.2-1 0l-5.5 5.5v1.3c0 .1 0 .2.1.2h1.4l5.4-5.5c.4-.3.4-.8 0-1zm-4.4 8.6h-3.3c-.7 0-1.3-.6-1.3-1.3v-2.5c0-.4.1-.8.4-1l4.4-4.4c.1-.1.2-.3.2-.5v-.9c0-.4-.3-.7-.7-.7h-5c-1.2 0-2.2-1-2.2-2.1v-5c0-.4-.3-.7-.7-.7H3C1.9 1.4.9 2.4.9 3.5v17c0 1.1 1 2.1 2.1 2.1h13.6c1 0 2-.7 2.1-1.7.1-.2-.1-.4-.3-.4zM3.8 7.8c0-.4.3-.7.7-.7h2.8c.5 0 .7.3.7.7v.6c0 .4-.3.7-.7.7H4.5c-.4 0-.7-.3-.7-.7v-.6zm7.1 9.1c0 .4-.3.7-.7.7H4.5c-.4 0-.7-.3-.7-.7v-.7c0-.3.3-.6.7-.6h5.7c.4 0 .7.3.7.6v.7zm1.5-4.2c0 .4-.4.7-.7.7H4.5c-.4 0-.7-.3-.7-.7V12c0-.4.3-.7.7-.7h7.1c.4 0 .7.3.7.7v.7z\"}},\neducation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.9 12.3c-.5.1-1.1-.2-1.6-.3-2.9-1-5.9-2-8.8-3-.2 0-.3-.1-.4-.2-.2-.2-.2-.4 0-.5.1-.1.3-.2.5-.3 3.1-.9 6.2-1.8 9.3-2.8.7-.2 1.5-.2 2.2 0L22.4 8c.2.1.4.1.5.3.3.1.3.3 0 .5-.1.1-.2.2-.4.2-3.1 1-6.2 2.1-9.3 3.1-.5.2-.8.2-1.3.2zm-6.1.2c-.5-.1-.6.1-.6.4v3.5c0 .4.2.6.4.9.1.1.3.2.4.3.7.5 1.6.8 2.4 1 1.8.5 3.6.6 5.4.4 1.1-.2 2.3-.5 3.3-1 .5-.2.9-.4 1.3-.8.2-.2.3-.4.2-.8.1-1.1.1-2.2.1-3.4 0-.6-.5-.5-.7-.5-1.6.6-3.3 1.1-4.9 1.6-.8.3-1.6.3-2.4 0l-4.9-1.6zm15.4-1.1c-.2 0-.2.1-.2.3v3.1c0 .1 0 .2-.1.3-.2.6-.5 1.1-.6 1.7-.2.5-.1 1.1.2 1.4.1.2.3.3.5.4.1.1.3.2.5.2.3.1.6-.1.8-.3.1-.1.3-.2.4-.3.2-.4.3-.8.2-1.3-.1-.6-.4-1.2-.7-1.7-.1-.1-.1-.3-.1-.4v-3.4c0-.2-.2-.2-.3-.1l-.6.1z\"}},\neinstein:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M23 13.2c-.4-1.2-.9-2-1.5-2.6-.5-.6-2-1.5-2.8-1.8.2-.4.7-.6 1.4-.7-.1-.5-.5-1-1.4-1.5-.9-.6-2.1-.7-3.6-.4 0-.6-.4-1.5-1.2-3C12.8 1.1 8.3.4 8.3 1.4c.4 1.2.6 2.8.7 4.7-.6-.6-1.2-1-1.8-1.2-.6-.1-1-.2-1.5-.1h-.1c-.2.1-.2.4-.1.5.3.4.5.7.5.8.1.3.3.7.6 1.2-.7-.1-1.6.2-2.8.7-1.1.6-2 1.8-2.8 3.8v.1c0 .2.1.3.2.4 1.1.2 1.8.3 2.2.6.5.2 1 .7 1.6 1.4-.2 0-.6.2-1.2.7-.5.4-.8 1.1-1.1 2v.1c0 .2.1.3.3.3.8 0 1.6.2 2.3.4.8.3 1.5.6 1.9.9V16c0-.6 0-1.1.6-1.9.7-.8 1.3-1 2.9-.4s3.2-.6 4.5-.3c1.4.3 2.1 1.7 2.2 2.7.2.9 0 1.4 0 2.6v.2h.1c.7-.4 1.1-.6 1.6-.9.4-.1 1-.3 1.8-.6-.1-.5-.5-.9-1.2-1.3.2-.1 1.3-.8 1.9-1.3.4-.3.8-.7 1.4-1.3.1 0 .1-.2 0-.3z\"},{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M10.6 19.6c-.4-.2-1.1-.1-1.5.1-.3.1-.8.7-.8 1.2s.1.8.2 1c.1.2.2.3.4.5.1.1.1.1.2.1l.7-.1 1.4.6c0 .1.1.1.2 0l1.5-.6.8.1h.1c.4-.3.6-.6.8-.9.2-.6 0-1.4-.5-1.8-.4-.4-1-.6-1.7-.3-.5.2-.9.3-1.1.3-.2 0-.4-.1-.7-.2z\"}],\"ellipse\":[{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"cx\":\"13.523\",\"cy\":\"17.723\",\"rx\":\".692\",\"ry\":\"1.015\"},{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"cx\":\"9.554\",\"cy\":\"17.723\",\"rx\":\".692\",\"ry\":\"1.015\"}]},\nemail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.5 13.9c.3.3.7.3 1 0l10.4-9.7c.2-.4.1-1-.6-1l-20.6.1c-.6 0-1.1.5-.6.9l10.4 9.7zM23.1 8c0-.5-.6-.8-.9-.4L14 15.1c-.6.5-1.3.8-2 .8s-1.4-.3-2-.8L1.9 7.6c-.4-.4-.9-.1-.9.4C.9 7.8.9 18.5.9 18.5c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V8z\"}},\nemail_open:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.1 13c0-.4-.4-.6-.7-.4l-6.8 6.3c-.4.4-1 .6-1.6.6s-1.2-.2-1.7-.6l-6.7-6.3c-.3-.2-.8 0-.8.4v8.3c0 .8.7 1.5 1.5 1.5h15.3c.8 0 1.5-.7 1.5-1.5V13zM21 9.5c.1-.1.2-.2.2-.3 0-.1-.1-.2-.2-.3l-8.6-8c-.3-.2-.6-.2-.8 0L3 8.9s0 .1-.1.1v.1c0 .2 0 .3.1.4l8.5 7.9c.3.2.6.2.8 0L21 9.5c0 .1 0 0 0 0z\"}},\nemoji:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 12c0 6.1-5 11.1-11.1 11.1S.9 18.1.9 12 5.9.9 12 .9s11.1 5 11.1 11.1zM8.4 7.3c-1.1 0-1.9.9-1.9 2s.8 2 1.9 2 2-.9 2-2-.8-2-2-2zm7.2 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-.1 7.7c-.9.8-2.2 1.3-3.5 1.3-1.3 0-2.5-.5-3.5-1.3l-.4-.3c-.1-.1-.2-.2-.5-.2-.5 0-.9.5-.9.9 0 .2.1.5.3.7l.3.2c1.3 1.1 2.9 1.8 4.7 1.8 1.8 0 3.5-.7 4.7-1.8l.2-.2c.2-.2.3-.5.3-.7 0-.5-.4-.9-.9-.9-.2 0-.4.1-.5.2l-.3.3z\"}},\nend_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 2.6l-1-1c-.3-.3-.8-.2-1.1.2L9.5 12.6 7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.2 2 8.3 4.6 11.3l-3.6 3.7c-.4.3-.4.8-.2 1.1l1 1c.3.3.8.2 1.1-.2L22.2 3.7c.4-.3.5-.8.2-1.1zm0 14.9l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-1.1-1-3.9 4c2.8 1.8 6.1 3.1 9.6 3.3.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6z\"}},\nend_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.4 18.7c0-4 3.3-7.3 7.3-7.3.7 0 1.4 0 2 .2.1-.5.1-.9.1-1.4 0-5.1-4.5-9.2-9.9-9.2C5.4 1 1 5.1 1 10.1c0 1.5.5 3 1.2 4.3.2.2.2.5.1.7L1 18.6c-.1.4.2.6.6.6l3.5-1.4c.2-.1.5 0 .7.1 1.5.8 3.3 1.3 5.2 1.3h.4v-.5zm4.5-10.3c.9 0 1.6.8 1.6 1.7s-.7 1.7-1.6 1.7-1.7-.8-1.7-1.7.8-1.7 1.7-1.7zM6 11.7c-1 0-1.7-.7-1.7-1.6S5 8.4 6 8.4s1.6.7 1.6 1.7-.8 1.6-1.6 1.6zm4.9 0c-.9 0-1.7-.7-1.7-1.6s.8-1.7 1.7-1.7 1.7.7 1.7 1.7-.8 1.6-1.7 1.6zm3.7 4.3l2.8 2.7-2.8 2.8c-.2.3-.2.7 0 1l.4.3c.2.3.7.3.9 0l2.8-2.8 2.8 2.8c.2.3.7.3.9 0l.4-.3c.2-.3.2-.8 0-1L20 18.7l2.8-2.7c.2-.3.2-.8 0-1l-.4-.3c-.2-.3-.7-.3-.9 0l-2.8 2.7-2.8-2.7c-.3-.3-.7-.3-.9 0l-.4.3c-.2.2-.2.7 0 1z\"}},\nend_messaging_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.4 18.7c0-1.3.3-2.5.9-3.5h-1.1c-.2 0-.4-.2-.4-.4v-4.2c0-.3.2-.4.4-.4h4.3c.2 0 .3.1.3.4V12c.9-.4 1.9-.6 2.9-.6.7 0 1.4 0 2 .2.1-.5.1-1 .1-1.5C20.8 5 16.4 1 10.9 1S1 5 1 10c0 1.6.5 3.1 1.2 4.4.2.2.2.5.1.7L1 18.6c-.1.3.2.6.6.6l3.5-1.4c.2-.1.5-.1.7.1 1.5.8 3.3 1.3 5.2 1.3h.4v-.5zM5.9 5.6c0-.2.1-.3.4-.3h9.2c.2 0 .3.1.3.3v2.2c0 .2-.2.3-.4.3H6.3c-.3 0-.4-.1-.4-.3V5.6zm2.9 9.2c0 .2-.2.4-.4.4H6.2c-.2 0-.3-.2-.3-.4v-4.2c0-.3.1-.4.3-.4h2.2c.2 0 .4.1.4.4v4.2zm5.9 1.2l2.7 2.7-2.7 2.8c-.3.3-.3.7 0 1l.3.3c.3.3.7.3 1 0l2.7-2.8 2.8 2.8c.3.3.7.3 1 0l.3-.3c.3-.3.3-.8 0-1L20 18.7l2.8-2.7c.3-.3.3-.8 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.7-2.7-2.7c-.3-.3-.8-.3-1 0l-.3.3c-.3.3-.3.7 0 1z\"}},\nerect_window:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 3c0 .4-.3.7-.7.7H1.6c-.4 0-.7-.3-.7-.7V1.6c0-.4.3-.7.7-.7h20.8c.4 0 .7.3.7.7V3z\"}},\nerror:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zM3.7 12c0-4.6 3.7-8.3 8.3-8.3 1.8 0 3.5.5 4.8 1.5L5.2 16.8c-1-1.3-1.5-3-1.5-4.8zm8.3 8.3c-1.8 0-3.5-.5-4.8-1.5L18.8 7.2c1 1.3 1.5 3 1.5 4.8 0 4.6-3.7 8.3-8.3 8.3z\"}},\nevent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.5 9.2h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zM8.8 19.4c0 .3-.2.4-.5.4H6.5c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4H6.5c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm4.6 4.6c0 .3-.2.4-.5.4h-1.8c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4h-1.8c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm4.6 4.6c0 .3-.2.4-.5.4h-1.8c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4h-1.8c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm2.3-11.6H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9z\"}},\nevents:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.1 4.2C2 6.2.9 9 .9 11.8c0 .7.5 1.1 1.1 1.1s1.1-.5 1.1-1.1c0-2.2.9-4.4 2.5-6s3.9-2.5 6.1-2.5c.6 0 1.1-.5 1.1-1.1 0-.7-.5-1.1-1.1-1.1-2.8-.1-5.6 1-7.6 3.1zm1.3 7.6c0 .7.5 1.1 1.1 1.1s1.1-.5 1.1-1.1c0-1 .4-2.1 1.2-2.8.8-.8 1.8-1.2 2.9-1.2.6 0 1.1-.6 1.1-1.2s-.5-1.1-1.1-1.1c-1.7 0-3.3.7-4.5 1.8-.2.3-1.9 2-1.8 4.5zM21 7c-.4-.5-1-1.2-1.1-1.3-.1-.1-.3-.2-.5-.2s-.3.1-.4.2l-4.7 4.6c-1.1-.9-2.8-.8-3.8.2-1.1 1.1-1.1 2.7-.2 3.9l-4.5 4.4c-.1.2-.2.4-.2.5 0 .3.1.5.3.6l1.2 1c1.7 1.3 3.8 2 6.1 2 5.4 0 9.9-4.4 9.9-9.8 0-2.3-.8-4.4-2.1-6.1z\"}},\nexpand:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.5.9h-7.1c-.5 0-.6.4-.3.8L17.4 4l-4.2 4.1c-.2.3-.2.6 0 .9l1.8 1.7c.2.2.6.2.8 0L20 6.5l2.3 2.3c.4.3.8.2.8-.3V1.4c0-.2-.3-.5-.6-.5zM1.6 23.1h7.1c.5 0 .6-.5.3-.9l-2.3-2.3 4.1-4.2c.3-.2.3-.7 0-.9l-1.7-1.7c-.2-.2-.6-.2-.8 0l-4.2 4.2L1.8 15c-.4-.4-.9-.2-.9.2v7.1c0 .4.4.8.7.8zm21.5-.6v-7.1c0-.5-.4-.6-.8-.3L20 17.4l-4.1-4.2c-.3-.2-.6-.2-.9 0L13.3 15c-.2.2-.2.6 0 .8l4.2 4.2-2.3 2.3c-.3.4-.2.8.3.8h7.1c.2 0 .5-.3.5-.6zM.9 1.6v7.1c0 .5.5.6.9.3l2.3-2.3 4.2 4.1c.2.3.7.3.9 0l1.7-1.7c.2-.2.2-.6 0-.8L6.7 4.1 9 1.8c.4-.4.2-.9-.2-.9H1.7c-.4 0-.8.4-.8.7z\"}},\nexpand_all:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 4.4c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7V4.4zm0 13.8c0-.3-.4-.7-.7-.7h-19c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7v-1.4zm-8.4-4.8h2.1c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7h-2.1c-.2 0-.4-.2-.4-.4V8.1c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v2.1c0 .2-.2.4-.4.4H8.1c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h2.1c.2 0 .4.2.4.4v2.1c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7v-2.1c0-.2.2-.4.4-.4z\"}},\nexpand_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.5.9h-7.1c-.5 0-.6.4-.3.8L17.4 4l-4.2 4.1c-.2.3-.2.6 0 .9l1.8 1.7c.2.2.6.2.8 0L20 6.5l2.3 2.3c.4.3.8.2.8-.3V1.4c0-.2-.3-.5-.6-.5zM1.6 23.1h7.1c.5 0 .6-.5.3-.9l-2.3-2.3 4.1-4.2c.3-.2.3-.7 0-.9l-1.7-1.7c-.2-.2-.6-.2-.8 0l-4.2 4.2L1.8 15c-.4-.4-.9-.2-.9.2v7.1c0 .4.4.8.7.8z\"}},\nfallback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.9 1.6l-1.4 6.8c0 .2.2.4.5.4h7.2c.5 0 .8.6.6 1l-7.9 12.9c-.3.7-1.3.4-1.3-.3l1.4-8c0-.2-.2-.1-.5-.1H3.9c-.5 0-.9-.8-.6-1.2l8.3-11.8c.4-.6 1.3-.4 1.3.3z\"}},\nfavorite:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.6 1.4l2.2 7c.1.2.3.4.6.4h6.9c.7 0 1 .9.5 1.3l-5.7 4.2c-.2.1-.3.5-.2.7l2.7 7.2c.2.6-.5 1.2-1.1.7l-6-4.5c-.3-.2-.6-.2-.9 0l-6.1 4.5c-.5.5-1.3-.1-1-.7L7.1 15c.1-.2 0-.6-.3-.7l-5.6-4.2c-.6-.4-.2-1.3.4-1.3h6.9c.4 0 .6-.1.7-.4l2.2-7c.1-.7 1.1-.6 1.2 0z\"}},\nfeed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.6 19.8c-.1 0-.3 0-.5-.1-.3-.1-.5-.5-.5-.7L7.9 8.3l-2.2 5.1c-.2.4-.5.6-.9.6H1.6c-.4 0-.7-.2-.7-.6v-.7c0-.4.3-.7.7-.7H4l3.2-7.2c.2-.4.6-.7 1.1-.6.4 0 .8.3.9.7l2.7 10.8 3.7-7.9c.1-.4.6-.6 1-.6.3.1.7.4.9.7l1.8 4.1h3.1c.4 0 .7.4.7.7v.7c0 .4-.3.7-.7.7h-3.8c-.4 0-.7-.3-.9-.6l-1.2-2.7-3.9 8.5c-.2.3-.5.5-1 .5z\"}},\nfile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.5 16.7V5.2c-1.2 0-2.2 1-2.2 2.1v13.6c0 1.2 1 2.2 2.2 2.2h10.7c1.2 0 2.2-1 2.2-2.1H8.8c-2.4 0-4.3 0-4.3-4.3zM21 7.3h-3.6c-1.2 0-2.2-.9-2.2-2.1V1.6c0-.4-.3-.7-.7-.7H8.8C7.6.9 6.6 1.9 6.6 3v13.6c0 1.2 1 2.1 2.2 2.1h10.7c1.2 0 2.2-.9 2.2-2.1V8.1c0-.4-.3-.8-.7-.8zm.6-3l-3.4-3.2c-.1-.1-.2-.2-.3-.2-.3 0-.5.3-.5.5v2.4c0 .8.6 1.4 1.4 1.4h2.4c.3 0 .5-.2.5-.5 0-.1-.1-.2-.1-.4z\"}},\nfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.3 14.7c-.3-.3-.7-.3-1 0l-1.7 1.6c-.2.3-.8.1-.8-.3V9.9c0-.3-.3-.7-.6-.7H5.8c-.4 0-.7.4-.7.7V16c0 .4-.5.6-.8.3l-1.7-1.6c-.2-.3-.7-.3-.9 0l-1.1 1c-.2.3-.2.7 0 1L6 22c.2.2.6.2.9 0l5.4-5.4c.3-.3.3-.7 0-1l-1-.9zM23.5 4.4c0-.4-.3-.7-.7-.7h-17c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h17c.4 0 .7-.4.7-.7V4.4zm0 5.5c0-.3-.3-.7-.7-.7H10.4c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h12.4c.4 0 .7-.3.7-.7V9.9zm0 5.6c0-.4-.3-.7-.7-.7H15c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-1.3z\"}},\nfilterlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.3 1.8H1.8c-.7 0-1 .8-.6 1.3l9 10.5c.2.3.4.8.4 1.2v6.7c0 .3.3.7.7.7h1.4c.4 0 .6-.4.6-.7v-6.7c0-.4.2-.9.5-1.2l9.1-10.5c.4-.5.1-1.3-.6-1.3z\"}},\nflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23 4.9c-.9-1.9-3.4-5.4-7.9-3.3-2.8 1.3-4.4 2-4.4 2L6.6 5.4c-1.1.5-3.6-.3-5-.8-.4-.1-.8.3-.6.7.9 1.9 3.4 5.4 7.9 3.3 2.8-1.3 8.5-3.7 8.5-3.7 1.1-.6 3.6.2 5 .7.4.1.8-.3.6-.7zm-9.7 5.9c-.5.3-2.5 1.2-2.5 1.2l-2.1.9c-1 .5-3.2-.2-4.5-.7-.3-.2-.6.3-.5.6.9 1.9 3 5.2 7 3.2 2.5-1.3 4.6-2.1 4.6-2.1 1-.6 3.2.2 4.5.7.3.1.6-.3.5-.7-.9-1.8-3-5.1-7-3.1zM11.8 19c-.4.2-1.1.6-1.1.6-.8.5-2.4-.1-3.4-.6-.2-.1-.5.3-.3.7.6 1.6 2.2 4.6 5.2 2.8l1.1-.7c.8-.4 2.4.2 3.4.6.2.2.5-.2.3-.6-.6-1.7-2.1-4.5-5.2-2.8zm.2-7.4\"}},\nfood_and_drink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.9 11.1c-.5 3.6-3.4 6-6 6H7.4c-2.8 0-6-2.8-6-6.9V3.7c0-.5.4-.9.9-.9h18c1.5 0 2.8 1.2 2.8 2.7v2.8c0 1.5-1.3 2.8-2.8 2.8h-1.4zM18 2.8zm.7 15.7c.4 0 .7.3.7.6v.1c0 1.1-.9 2-2.1 2H3c-1.2 0-2.1-.9-2.1-2v-.1c0-.3.3-.6.7-.6h17.1zm.2-13.4v3.7h.9c.6 0 1-.4 1-1V6c0-.5-.4-.9-1-.9h-.9z\"}},\nform_factor_support:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M23.1 9.5c0-.6-.5-1.1-1-1.1h-6.5c-.6 0-1.1.5-1.1 1.1v10.9c0 .6.5 1 1.1 1h6.5c.5 0 1-.4 1-1V9.5z\"},{\"d\":\"M12.8 13.6H3.9c-.3 0-.6-.4-.6-.6V5.5c0-.3.3-.6.6-.6h12.9c.4 0 .6.3.6.6v1.1h2.4V4.2c0-.9-.7-1.6-1.6-1.6H2.5c-.8 0-1.6.7-1.6 1.6v10.2c0 .8.8 1.6 1.6 1.6h10.3v-2.4zm0 6.8V19h-.9c-.2 0-.4-.2-.4-.4v-.8c0-.2-.2-.4-.4-.4H9.5c-.2 0-.4.2-.4.4v.8c0 .2-.2.4-.4.4H7.5c-.9 0-1.6.8-1.6 1.6v.2c0 .3.3.6.6.6H13c-.2-.3-.2-.6-.2-1z\"},{\"d\":\"M21.6 18.6c0 .1-.2.4-.5.4h-4.7c-.2 0-.4-.2-.4-.4v-7.8c0-.1.2-.4.4-.4h4.7c.2 0 .5.2.5.4v7.8z\"}],\"circle\":{\"cx\":\"18.831\",\"cy\":\"20.215\",\"r\":\".738\"}},\nformula:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.9 1.5c-.3-.3-.8-.4-1.4-.4H12c-1.6.2-2.6 1.8-3.3 3.1-.3.7-.5 1.4-.8 2.1l-.3.9c0 .1-.2.7-.3.7H5.7c-.3 0-.4.2-.4.5s.1.4.4.4h1.4l-.8 3.4c-.8 3.8-1.8 8.2-2.1 9-.3.8-.6 1.2-1.2 1.2 0 0-.1 0-.2-.1l-.1-.1c0-.1.1-.2.2-.4.1-.1.1-.3.1-.4 0-.4-.1-.6-.3-.8-.2-.2-.4-.2-.7-.2s-.5 0-.8.2c-.2.2-.3.5-.3.8 0 .5.2.8.6 1.2.3.3.8.4 1.4.4 1 0 1.9-.4 2.5-1.2.5-.4.7-1 1-1.6.8-1.8 1.3-3.8 1.7-5.7.5-1.9.9-3.8 1.4-5.8h1.6c.2 0 .4-.2.4-.4s-.2-.5-.4-.5H9.6c.8-3 1.8-5.1 1.9-5.4.4-.5.7-.8 1-.8.1 0 .2.1.3.1v.2s0 .1-.1.3c-.1.2-.1.4-.1.6 0 .2 0 .4.2.6.2.2.4.3.7.3s.5-.1.7-.3c.2-.2.3-.4.3-.8 0-.5-.1-.8-.6-1.1zm7.4 9.2c.6 0 1.7-.5 1.7-2s-1.1-1.6-1.4-1.6c-.7 0-1.3.5-1.9 1.5-.6 1-1.3 2.2-1.3 2.2-.1-.8-.3-1.4-.3-1.7-.1-.6-.9-2-2.4-2s-2.9.9-2.9.9c-.3.2-.4.4-.4.8 0 .5.4.9.9.9.1 0 .3-.1.4-.1 0 0 1.2-.6 1.4 0 .1.2.1.4.2.6.3 1.1.5 2.2.8 3.3L15 14.9s-1.1-.4-1.7-.4-1.7.5-1.7 2 1.1 1.6 1.4 1.6c.7 0 1.4-.5 2-1.5.6-1 1.2-2.2 1.2-2.2.2 1 .4 1.8.5 2.1.3 1 1.2 1.7 2.4 1.7 0 0 1.2 0 2.6-.8.4-.1.6-.5.6-.9 0-.5-.4-.9-.9-.9-.1 0-.3 0-.4.1 0 0-1 .5-1.3.1-.3-.4-.5-1.1-.6-1.8-.2-.7-.4-1.5-.5-2.3l1-1.5c0 .1 1.1.5 1.7.5z\"}},\nforward:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M1.6 13.4h15.3c.4 0 .6.5.3.8l-4.4 4.4c-.3.3-.3.7 0 1l1 1c.3.3.7.3 1 0l8-8.1c.3-.3.3-.7 0-1l-8-8.1c-.3-.3-.7-.3-1 0l-1 1c-.2.3-.2.7 0 1l4.5 4.4c.2.3.1.8-.4.8H1.6c-.4 0-.7.3-.7.7v1.3c0 .4.3.8.7.8z\"}},\nforward_up:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.8 22.9L18.3 8.4c.4-.5 1.1-.1 1.1.4v8.4c0 .5.4.9.9.9h1.9c.6 0 1-.4 1-.9l-.1-15.3c0-.5-.4-.9-.9-.9H6.8c-.5 0-.9.4-.9.9v1.8c0 .5.4 1 .9 1h8.4c.6 0 .9.7.5 1.1L1.2 20.3c-.4.3-.4.9 0 1.2l1.2 1.3c.4.4 1 .5 1.4.1z\"}},\nfrozen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M12.5 1.4c.2 0 .4.2.4.4V23c0 .3-.2.5-.4.5h-1c-.2 0-.4-.2-.4-.5V1.8c0-.2.2-.4.4-.4h1zM12 7.9L8.3 4.2c-.2-.2-.2-.5 0-.6l.6-.7c.2-.2.5-.2.7 0L12 5.4l2.4-2.5c.2-.2.5-.2.7 0l.6.7c.2.1.2.4 0 .6L12 7.9m0 9l3.7 3.8c.2.2.2.4 0 .6l-.6.7c-.2.2-.5.2-.7 0L12 19.5 9.6 22c-.2.2-.5.2-.7 0l-.6-.7c-.2-.2-.2-.4 0-.6l3.7-3.8\"},{\"d\":\"M21.7 7.2c.2.2.1.5-.1.6L3.3 18.6c-.2.1-.5.1-.6-.2l-.5-.8c-.1-.2-.1-.5.2-.6L20.6 6.2c.3-.2.5-.1.7.2l.4.8zm-5.8 3L17.2 5c0-.2.2-.4.5-.3l.9.2c.3.1.4.3.3.6L18 8.9l3.4.8c.3.1.4.3.3.6l-.2.9c0 .2-.3.4-.5.3l-5.1-1.3m-7.8 4.5l-1.3 5.1c0 .3-.2.5-.5.4l-.9-.3c-.3 0-.4-.2-.3-.5L6 16l-3.4-.9c-.3 0-.4-.2-.3-.5l.2-.9c0-.3.3-.4.5-.3l5.1 1.3\"},{\"d\":\"M2.7 6.4c.2-.2.4-.3.7-.2L21.6 17c.2.2.3.4.2.7l-.5.8c-.1.2-.4.3-.6.1L2.4 7.8c-.2-.1-.3-.4-.2-.6l.5-.8zm5.4 3.8L3 11.5c-.3 0-.5-.1-.6-.3l-.2-.9c0-.3.1-.5.3-.6l3.4-.8L5 5.5c0-.3.1-.5.4-.6l.8-.2c.3 0 .5.1.6.3l1.3 5.2m7.7 4.5l5.2-1.3c.2-.1.5 0 .5.3l.2.9c.1.3 0 .5-.3.5L18 16l.9 3.4c.1.3 0 .5-.3.5l-.9.3c-.3 0-.5-.1-.5-.4l-1.4-5.1\"}]},\nfulfillment_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.2 16.8c.3 0 .7.1.9.2L7.2 2.9l-.5-1.4c-.1-.4-.6-.6-.9-.5L1.4 2.4c-.4.2-.6.6-.4 1l.4 1.4c.2.4.6.6 1 .4l2.2-.7 4.6 12.9c.6-.3 1.3-.6 2-.6zm7.8-3.3l-4.6 1.6c-.4.2-1-.1-1.1-.6L11.7 10c-.2-.5.1-1 .5-1.2l4.6-1.6c.5-.2 1 .1 1.2.6l1.6 4.5c.2.5-.1 1-.6 1.2zM14.7 6l-3.1 1c-.5.2-1-.1-1.2-.5l-1-3.1c-.2-.5.1-1 .5-1.2l3.1-1c.5-.2 1 0 1.2.5l1 3.1c.2.4 0 1-.5 1.2zM23 16.4l-.4-1.4c-.2-.4-.6-.6-1-.5l-8.4 2.9c.9.6 1.5 1.5 1.7 2.6l7.7-2.6c.4-.2.6-.6.4-1zM11.2 18c-1.4 0-2.5 1.2-2.5 2.6s1.1 2.5 2.5 2.5 2.6-1.1 2.6-2.5-1.2-2.6-2.6-2.6z\"}},\nfull_width_view:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 1.8H1.6c-.4 0-.7.4-.7.7v2.3c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V2.5c-.1-.3-.3-.7-.7-.7zM4.9 7.4H1.7c-.4 0-.7.3-.7.7v13.7c0 .4.3.7.7.7h3.2c.4 0 .7-.3.7-.7V8.1c0-.4-.3-.7-.7-.7zm17.5 0h-3.2c-.4 0-.7.3-.7.7v13.7c0 .4.3.7.7.7h3.2c.4 0 .7-.3.7-.7V8.1c0-.4-.3-.7-.7-.7zm-6.5 0H8.2c-.4 0-.7.3-.7.7v13.7c0 .4.3.7.7.7h7.7c.4 0 .7-.3.7-.7V8.1c0-.4-.3-.7-.7-.7z\"}},\nglobal_constant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M13.2 13c1.2-.9 2.5-1 3.4-1l3.2-.1h1c.4 0 .8-.1 1.2-.1h1c0-6-5-11-11-11s-11 5-11 11c0 5.3 3.8 9.8 8.7 10.8-.1-.4 0-.7.1-1.1.1-.6.5-1.1.9-1.5-1.2-1.2-2.2-3.8-2.3-7h2.5v2.9c.1-.2.1-.4.3-.6.4-.7.9-1.4 1.5-2 .1-.1.3-.1.3-.2l.2-.1zm7.5-2.2h-2.9c-.1-2.6-.7-4.9-1.6-6.6 2.5 1.3 4.2 3.8 4.5 6.6zm-7.6-7.2c1.3 1 2.4 3.7 2.5 7.2h-2.5V3.6zm-2.2 0v7.2H8.4c.1-3.5 1.2-6.2 2.5-7.2zM3.3 13h2.9c.1 2.6.7 4.9 1.6 6.6-2.5-1.3-4.2-3.8-4.5-6.6zm2.8-2.2H3.3C3.6 8 5.4 5.5 7.8 4.2c-.9 1.7-1.5 4-1.7 6.6zm5.3 8.5l.3-.3.4-.4c-.6-.3-1-.8-1.2-1.4v2.6c.2-.2.3-.4.5-.5z\"},{\"d\":\"M22.9 13.8c-.1-.1-.1-.1-.2-.1-1 0-1.9.1-2.8.1h-3.3c-1 0-1.8.2-2.6.9-.4.5-.9 1.1-1.3 1.6-.1.1-.1.2-.1.3 0 .2.2.3.4.3s.2-.1.3-.2.3-.3.4-.5c.5-.5 1.2-.7 1.9-.6-.6 1.6-1.4 3.4-2.6 4.7-.4.5-1.3 1.1-1.5 1.8-.2.8.6 1 1.1.7.8-.2 1.2-1 1.6-1.7.5-.8.9-1.6 1.2-2.5.4-.8.8-1.7 1.1-2.5.2-.5.3-.5.8-.5h1.4l-1.5 3.6c-.4.9-1 2.2-.5 3.2.4 1 1.7.6 2.4.1s1.2-1.4 1.6-2.1c.1-.1.1-.3.1-.5-.1-.1-.2-.2-.4-.2-.3 0-.4.4-.5.7-.1.4-.6.7-1.1.6-1-.1-.1-2 .1-2.6.2-.5.4-1 .7-1.6.1-.2.2-.6.4-.9.2-.3.2-.3.6-.4.4 0 1.5.2 1.8 0 .3-.2.4-.9.5-1.3.1-.2.1-.3 0-.4z\"}]},\ngraph:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M.9 21c0 1 .9 1.8 1.9 1.8h19.5c.5 0 .8-.3.8-.7v-1.3c0-.4-.3-.7-.8-.7H4.4c-.4 0-.7-.3-.7-.7V1.9c0-.4-.3-.7-.7-.7H1.7c-.5 0-.8.3-.8.7V21zm22-14.5c0-.8-.6-1.4-1.3-1.4-.5 0-.8.2-1.1.4l-3.9 4-2.8-2.6-.1-.1s0-.1-.1-.1c0 0-.1 0-.1-.1h-.1-.2l-.1-.1h-.5c-.1 0-.1 0-.1.1H12.2c-.1.1-.1.1-.2.1v.1s-.1.1-.2.1l-5.2 5.3c-.3.3-.5.6-.5 1 0 .8.6 1.4 1.4 1.4.3 0 .6-.1.9-.3l4.5-4.5 2.6 2.6.1.1.1.1c.1 0 .1 0 .2.1h.1c0 .1.1.1.2.1s.2.1.3.1c.1 0 .2 0 .3-.1H17.1s0-.1.1-.1.1 0 .1-.1h.1l.1-.1 5-5c.3-.3.4-.6.4-1z\"}},\ngroups:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.3 12.9c-.6-.9-.9-2.1-.9-3.3 0-2.1.8-3.9 2.2-4.9-.4-.9-1.4-1.5-2.6-1.5-2 0-3.1 1.7-3.1 3.6 0 1 .3 1.9 1 2.5.3.3.7.8.7 1.3s-.2.9-1.4 1.4c-1.6.7-3.2 1.8-3.2 3.3 0 1 .7 1.8 1.7 1.8h1.5c.2 0 .4-.2.6-.4.7-1.3 2.1-2.2 3.3-2.8.4-.1.5-.7.2-1zm13.5-.9c-1.1-.5-1.3-.9-1.3-1.4s.3-1 .7-1.3c.7-.7 1-1.5 1-2.5 0-1.9-1.1-3.6-3.2-3.6-1.2 0-2.1.6-2.6 1.5 1.4 1 2.2 2.8 2.2 4.9 0 1.2-.3 2.4-.9 3.3-.3.4-.1.9.2 1 1.2.6 2.6 1.5 3.3 2.8.2.2.4.4.6.4h1.5c1 0 1.7-.8 1.7-1.8 0-1.5-1.5-2.6-3.2-3.3zm-5.7 3.4c-1.3-.6-1.5-1.1-1.5-1.6 0-.6.4-1.1.8-1.4.7-.7 1.2-1.7 1.2-2.8 0-2.1-1.3-3.9-3.6-3.9S8.5 7.5 8.5 9.6c0 1.1.5 2.1 1.2 2.8.4.4.8.9.8 1.4 0 .6-.2 1-1.5 1.6-1.8.8-3.6 1.6-3.6 3.3 0 1.1.8 2 1.8 2h9.6c1.1 0 1.9-.9 1.9-2 0-1.6-1.8-2.5-3.6-3.3z\"}},\nhelp:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.1 17.5h-2.3c-.4 0-.6-.2-.6-.6v-.7c0-1.9 1.2-3.7 3-4.3.6-.2 1.1-.5 1.5-1 2.3-2.8.2-6.1-2.6-6.2-1 0-1.9.3-2.7 1-.6.6-1 1.3-1 2.1-.1.2-.4.5-.7.5H5.4c-.5 0-.8-.4-.7-.8.1-1.7.9-3.3 2.2-4.5C8.4 1.6 10.2.8 12.3.9c3.8.1 6.9 3.3 7.1 7.1.1 3.2-1.9 6.1-4.9 7.2-.4.2-.7.5-.7 1v.6c0 .5-.3.7-.7.7zm.7 4.9c0 .4-.3.7-.6.7h-2.4c-.3 0-.6-.3-.6-.7v-2.3c0-.4.3-.7.6-.7h2.4c.3 0 .6.3.6.7v2.3z\"}},\nhelp_center:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.9.9C5.7 1 .9 6 .9 12.1c.1 6.2 5.1 11 11.2 11 6.2-.1 11-5.1 11-11.2C23 5.7 18 .9 11.9.9zm0 1.5c1.6 0 3.2.4 4.5 1.1L15 6c-.9-.5-1.9-.7-3-.7s-2.1.2-3 .7L7.6 3.5c1.3-.7 2.7-1.1 4.3-1.1zM6 15l-2.5 1.4c-.7-1.3-1.1-2.7-1.1-4.3 0-1.7.4-3.2 1.1-4.6L6 9c-.5.9-.7 1.9-.7 3s.2 2.1.7 3zm6.1 6.6c-1.6 0-3.2-.4-4.5-1.1L9 18c.9.5 1.9.7 3 .7s2.1-.2 3-.7l1.4 2.5c-1.3.7-2.7 1.1-4.3 1.1zm-.1-4.3c-3 0-5.3-2.4-5.3-5.3 0-3 2.4-5.3 5.3-5.3 3 0 5.3 2.4 5.3 5.3 0 3-2.3 5.3-5.3 5.3zm6-2.3c.5-.9.7-1.9.7-3s-.2-2.1-.7-3l2.5-1.4c.7 1.3 1.1 2.7 1.1 4.3 0 1.7-.4 3.2-1.1 4.6L18 15z\"}},\nhide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.9 11.6c-.7-1.5-1.7-2.8-2.9-3.9l-3.9 3.9v.4c0 2.8-2.3 5.1-5.1 5.1h-.4l-2.5 2.5c.9.2 1.9.3 2.9.3 5.2 0 9.7-3.1 11.9-7.4.1-.4.1-.6 0-.9zm-1.5-9l-1-1c-.3-.3-.8-.2-1.1.2l-3.4 3.3c-1.5-.6-3.1-.9-4.9-.9-5.2 0-9.7 3-11.9 7.4-.1.3-.1.6 0 .8 1 2.1 2.5 3.8 4.4 5.1l-2.7 2.8c-.4.3-.4.8-.2 1.1l1 1c.3.3.8.2 1.1-.2L22.2 3.7c.4-.3.5-.8.2-1.1zM6.9 12c0-2.8 2.3-5.1 5.1-5.1.9 0 1.8.3 2.5.7L13.1 9c-.4-.1-.7-.2-1.1-.2-1.8 0-3.2 1.4-3.2 3.2 0 .4.1.7.2 1.1l-1.4 1.4c-.4-.7-.7-1.6-.7-2.5z\"}},\nhide_mobile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.7 11.7v6.5c0 .3-.3.6-.7.6H9.5l-4 4c.3.2.6.3 1 .3h11c1 0 1.7-.8 1.7-1.7V9.1l-2.5 2.6zM12 22.2c-.7 0-1.3-.6-1.3-1.3s.6-1.3 1.3-1.3 1.3.6 1.3 1.3-.6 1.3-1.3 1.3zM4.8 21l2.6-2.6L16.7 9v.1l2.5-2.5v-.1l3.3-3.2c.3-.3.3-.8.1-1l-.9-.9c-.3-.3-.7-.2-1 .1L19.2 3v-.4c0-.9-.7-1.7-1.7-1.7h-11c-1 0-1.7.8-1.7 1.7v14.8l-3.3 3.3c-.3.3-.3.8-.1 1l.9.9c.2.3.7.2 1-.1L4.8 21zM7.3 5c0-.3.3-.7.6-.7H16c.3 0 .7.3.7.7v.5l-9.4 9.4V5z\"}},\nhierarchy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M10.7 10.6H5c-.3 0-.7.3-.7.6v4.9H2.4c-.3 0-.6.3-.6.6v4.6c0 .3.3.7.6.7h6.4c.3 0 .6-.4.6-.7v-4.6c0-.3-.3-.6-.6-.6H6.9v-3H17v3h-1.9c-.3 0-.7.3-.7.6v4.6c0 .3.4.7.7.7h6.3c.3 0 .6-.4.6-.7v-4.6c0-.3-.3-.6-.6-.6h-1.9v-4.9c0-.3-.3-.6-.7-.6h-5.6V7.7h1.9c.3 0 .6-.4.6-.7V2.4c0-.3-.3-.6-.6-.6H8.8c-.4 0-.7.3-.7.6V7c0 .3.3.7.7.7h1.9v2.9z\"}},\nhigh_velocity_sales:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 1.5c0-.5-.3-.6-.4-.6h-9.6c-.7 0-.7.7-.7.7V3c0 .6.4.7.6.7h6.6c.3 0 .7.2.7 1v6.2c.1.2.1.6.7.6h1.5s.6 0 .6-.7V1.5zm-5.8 5.7c.1-.4-.3-.5-.4-.5H7.3c-.7 0-.7.7-.7.7v1.3c0 .6.4.8.6.8h6.6c.3 0 .7.2.7.9v6.3c.1.2.2.6.7.6h1.5s.6 0 .6-.7V7.2zM2.4 22.5c.1.1.5.4 1-.1l4.8-4.8c.2-.2.6-.5.6.2v4.7c0 .2.1.6.7.6h1.4s.6 0 .6-.7V13c0-.4-.2-.5-.4-.5H1.6c-.7 0-.7.7-.7.7v1.3c0 .6.3.7.5.7h4.5c.1 0 .7.1.2.6l-4.6 4.7s-.6.5-.1 1l1 1z\"}},\nhome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.6 12.5h-2.3v10.1c0 .3-.2.5-.5.5h-4.6c-.2 0-.4-.2-.4-.5v-7.8H9.2v7.8c0 .3-.2.5-.4.5H4.2c-.3 0-.5-.2-.5-.5V12.5H1.4c-.2 0-.4-.1-.4-.3-.1-.2-.1-.4.1-.5L11.7 1.1c.2-.2.5-.2.6 0l10.6 10.6c.2.1.2.3.1.5s-.2.3-.4.3z\"}},\nidentity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2 3.7h-5.1s.1.3.1.5c0 1.8-1.5 3.2-3.3 3.2h-2.7C8.4 7.4 6.9 6 6.9 4.2c0-.2 0-.5.1-.5H2.8c-1 0-1.9.8-1.9 1.8v13.9c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V5.5c0-1-.9-1.8-1.9-1.8zM10 17.5H4.8c-.6 0-1.1-.5-1.1-1.1 0-.9 1-1.4 2-1.9.7-.2.8-.5.8-.8 0-.3-.2-.6-.5-.8-.4-.4-.6-.9-.6-1.5 0-1.2.7-2.2 1.9-2.2s2 1 2 2.2c0 .6-.3 1.1-.7 1.5-.2.2-.4.5-.4.8 0 .2.1.5.8.8 1 .5 2 1 2 1.9.1.6-.4 1.1-1 1.1zm10.3-1.8c0 .3-.2.5-.5.5h-6.4c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9zm.9-3.7c0 .3-.2.5-.4.5h-7.4c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h7.4c.2 0 .4.2.4.5v.9zm-11-6.5h2.7c.8 0 1.4-.6 1.4-1.3s-.6-1.4-1.4-1.4h-2.7c-.8 0-1.4.6-1.4 1.4s.6 1.3 1.4 1.3z\"}},\nimage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 4.6c0-1-.9-1.8-1.9-1.8H2.8c-1 0-1.9.8-1.9 1.8v14.8c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V4.6zm-4.8 12.9H4.9c-.6 0-.9-.6-.6-1l4.1-7.1c.1-.3.6-.3.7 0l2.5 4.2c.2.3.6.3.8.1l2-2.9c.1-.3.6-.3.7 0l3.7 5.8c.3.4 0 .9-.5.9zm-1.2-8.3c-1 0-1.9-.8-1.9-1.8s.9-1.9 1.9-1.9 1.8.9 1.8 1.9-.8 1.8-1.8 1.8z\"}},\nin_app_assistant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M23 15.5l-.9-1.9.9-2c.1-.1 0-.3-.1-.4h-3.1c-.3-.6-.9-2.1-1.4-2.9-.7-1.1-1.5-2.1-2.4-2.8-1.1-.9-2.3-1.6-3.7-2.2H12l-.3.1c-.1 0-.6.2-1.4.5-.6.3-1.3.8-2.1 1.4-1.4 1.2-2.5 2.5-3.3 4.2-.2.5-.5 1.1-.7 1.7h-3l-.1.1c-.1 0-.2.2-.2.4l.9 1.9-.9 2c0 .2.2.4.3.4h2.1v.8c0 .3 0 .7.1.9v.6l.5.3c.1 0 .9.6 2.4 1.1 1.3.4 3.3 1 5.8 1 2.2 0 4.3-.4 6.4-1.3.6-.2 1.1-.5 1.6-.8l.5-.2.1-.4v-1.2-.4c0-.1-.1-.2-.1-.5h2.2c.1 0 .3-.1.3-.3l-.1-.1zm-3.9 1.7v.2c-.5.3-.9.5-1.3.6-1.8.8-3.7 1.2-5.7 1.2-2.3 0-4.2-.6-5.4-1-.8-.3-1.5-.6-1.8-.8v-.9-1.2c.1-1.4.5-2.6.7-3.3.2-.7.5-1.3.7-1.8C7 8.7 8 7.6 9.2 6.6c.8-.7 1.5-1.1 1.8-1.2l1-.5c1.1.5 2 1.1 2.9 1.8.8.7 1.5 1.5 2.1 2.5.4.7 1.1 2.3 1.3 2.8 0 0 .6 1.9.6 3.2.1 1 .1 1.2.1 1.4 0 .1 0 .2.1.2v.4z\"},{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M11.9 17.5c-.3 0-.5-.1-.6-.2-.2-.2-.3-.4-.3-.7s.1-.5.3-.6c.1-.2.4-.3.7-.3s.5.1.6.3c.2.2.3.4.3.6 0 .3-.1.5-.3.7-.2.2-.5.2-.7.2zm-3.1-6.8c0-.4.2-.8.4-1.2.3-.4.6-.7 1.1-1 .5-.3 1.1-.4 1.7-.4.6 0 1.2.1 1.6.3.5.2.8.5 1.1.9.2.4.3.8.3 1.3 0 .3 0 .6-.2.9-.1.3-.3.5-.5.7-.2.2-.5.5-1.1 1l-.3.3c-.1.1-.1.2-.2.3 0 0-.1.1-.1.2v.4c-.1.4-.4.6-.8.6-.2 0-.4 0-.5-.2-.2 0-.2-.3-.2-.5 0-.4 0-.7.2-1 .1-.2.2-.4.4-.7.2-.1.4-.4.7-.6l.6-.6c.2-.1.2-.2.3-.4.1-.1.2-.3.2-.4 0-.4-.2-.6-.4-.9s-.5-.3-1-.3c-.4 0-.7.2-1 .4-.2.2-.4.5-.5 1-.2.5-.4.7-.9.7-.2 0-.4-.1-.6-.2-.2-.2-.3-.4-.3-.6z\"}]},\ninbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 3.7c0-1-.9-1.9-1.9-1.9H2.8c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V3.7zM8.8 16.2c0 .2-.2.4-.5.4H4.2c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.5.5-.5h4.1c.3 0 .5.2.5.5v1.9zm0-4.7c0 .3-.2.5-.5.5H4.2c-.3 0-.5-.2-.5-.5V9.7c0-.3.2-.5.5-.5h4.1c.3 0 .5.2.5.5v1.8zm0-4.6c0 .3-.2.5-.5.5H4.2c-.3 0-.5-.2-.5-.5V5.1c0-.3.2-.5.5-.5h4.1c.3 0 .5.2.5.5v1.8zm11.5 12c0 .3-.2.5-.5.5h-8.7c-.3 0-.5-.2-.5-.5V5.1c0-.3.2-.5.5-.5h8.7c.3 0 .5.2.5.5v13.8z\"}},\nincoming_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 17.5l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.7 2.4 9.1 5.5 12.3s7.6 5.2 12.3 5.5c.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6zm-8.7-6.4h7.1c.4 0 .6-.5.2-.9l-2.3-2.3 4.2-4.2c.2-.2.2-.7 0-.9l-1.7-1.7c-.2-.2-.6-.2-.9 0l-4.2 4.2L13.8 3c-.4-.4-.9-.2-.9.2v7.1c0 .3.4.8.8.8z\"}},\ninfo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 5.6c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4-1.4-.6-1.4-1.4.6-1.4 1.4-1.4zm2.3 9.7c0 .2-.2.4-.5.4h-3.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5.2 0 .4-.2.4-.4v-1.9c0-.2-.2-.5-.4-.5-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v3.7c0 .2.2.4.4.4.3 0 .5.2.5.5v.9z\"}},\ninfo_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.4c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3zm0-13.8c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4-1.4-.6-1.4-1.4.6-1.4 1.4-1.4zm2.3 9.7c0 .2-.2.4-.5.4h-3.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5.2 0 .4-.2.4-.4v-1.9c0-.2-.2-.5-.4-.5-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v3.7c0 .2.2.4.4.4.3 0 .5.2.5.5v.9z\"}},\ninsert_tag_field:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.5 5.6l-1-.8c-.4-.3-.7-.2-1 0L.1 11.6c-.1.2-.1.6 0 .9l5.4 6.7c.3.2.7.3 1 0l1.1-.8c.3-.3.3-.7.1-1L3.3 12l4.4-5.4c.2-.3.1-.7-.2-1zm16.4 6l-5.4-6.7c-.3-.3-.7-.4-1-.1l-1.1.9c-.3.2-.3.7-.1.9l4.4 5.4-4.4 5.4c-.2.3-.1.8.1 1l1.1.9c.3.2.7.2 1-.1l5.4-6.7c.1-.4.1-.7 0-.9zM14.6 5l-1.4-.3c-.4-.1-.8.1-.9.5L8.9 18.3c-.1.3.1.7.5.8l1.4.3c.4.1.8-.1.9-.5l3.4-13.1c.1-.4-.1-.7-.5-.8z\"}},\ninsert_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 17.5h-2.1v-2c0-.4-.3-.7-.7-.7h-1.4c-.3 0-.7.3-.7.7v2h-2c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h2v2.1c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-2.1h2.1c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7zm-6.7-3.9c0-.4.3-.7.7-.7h1.1V2.8c0-1-.8-1.9-1.8-1.9H2.8C1.8.9.9 1.8.9 2.8v12.9c0 1 .9 1.8 1.9 1.8h10.1v-1.1c0-.4.3-.7.7-.7h2.1v-2.1zM7.4 5.1c0 .3-.2.4-.5.4H4.2c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v.9zm5.5 7.4c0 .2-.2.4-.4.4H4.2c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h8.3c.2 0 .4.2.4.4v1zm1.9-3.7c0 .2-.2.4-.5.4H4.2c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h10.1c.3 0 .5.2.5.4v1z\"}},\ninspector_panel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M1.8 20.9h20.7c.4 0 .7-.3.7-.7v-3.8c0-.4-.3-.7-.7-.7H1.8c-.4 0-.7.3-.7.7v3.8c0 .4.3.7.7.7zm0-17.8c-.4 0-.8.3-.8.7v9.4c0 .3.4.6.8.6h20.6c.4 0 .7-.3.7-.6V3.8c0-.4-.3-.7-.7-.7H1.8z\"}},\ninternal_share:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M1.1 17.5v.1c0 .4.2.6.6.6.2 0 .3 0 .5-.2 0 0 4.6-5 10.4-3.5v5.1c0 .4.2.7.6.7.1 0 .2-.1.3-.1l9.3-7.9c.1-.2.2-.3.2-.5s-.1-.4-.2-.5l-9.2-7.5c-.1-.1-.3-.1-.4-.1-.4 0-.6.3-.6.6v4.8c-.1 0-9.2-1.4-11.5 8.4z\"}},\nitalic:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 5.7v-.6c0-.5-.4-.9-.9-.9h-6.4c-.6 0-1 .4-1 .9V6c0 .5.4.9 1 .9.7 0 1.3.8 1.2 1.5l-1.7 8.1c-.1.6-.7 1-1.2 1H7.4c-.5 0-.9.5-.9 1v.9c0 .5.4.9.9.9h6.4c.6 0 1-.4 1-.9v-.9c0-.5-.4-1-1-1-.7 0-1.3-.7-1.2-1.4l1.7-8.2c.1-.6.7-1 1.2-1h.8c.7 0 1.2-.5 1.2-1.2z\"}},\njump_to_bottom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.7 14l-6.2 6.3c-.3.3-.7.3-1 0L5.3 14c-.3-.2-.3-.7 0-1l1-1c.3-.3.7-.3 1 0l4.2 4.3c.3.3.7.3 1 0l4.2-4.3c.3-.2.7-.2 1 0l1 1.1c.3.2.3.7 0 .9zm0-8.3L12.5 12c-.3.3-.7.3-1 0L5.3 5.7c-.3-.3-.3-.8 0-1l1-1.1c.3-.2.7-.2 1 0L11.5 8c.3.3.7.3 1 0l4.2-4.3c.3-.3.7-.3 1 0l1 1c.3.3.3.7 0 1z\"}},\njump_to_top:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.3 10l6.2-6.4c.3-.2.7-.2 1 0l6.2 6.4c.3.2.3.7 0 1l-1 1c-.3.3-.7.3-1 0l-4.2-4.3c-.3-.3-.7-.3-1 0L7.3 12c-.3.2-.7.2-1 0l-1-1.1c-.3-.2-.3-.7 0-.9zm0 8.3l6.2-6.3c.3-.3.7-.3 1 0l6.2 6.3c.3.3.3.8 0 1l-1 1.1c-.3.2-.7.2-1 0L12.5 16c-.3-.3-.7-.3-1 0l-4.2 4.3c-.3.3-.7.3-1 0l-1-1c-.3-.3-.3-.7 0-1z\"}},\njustify_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 3c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V3zm0 5.5c0-.3-.4-.7-.7-.7h-19c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V8.5zm0 11.1c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7v-1.4zm0-5.5c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7v-1.4z\"}},\nkanban:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.8 8.1c0-.4-.4-.7-.7-.7H9.9c-.3 0-.7.3-.7.7v12.4c0 .4.4.7.7.7h4.2c.3 0 .7-.3.7-.7V8.1zm-8.3 0c0-.4-.4-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v14.3c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V8.1zm16.6 0c0-.4-.3-.7-.7-.7h-4.2c-.3 0-.7.3-.7.7v10.6c0 .4.4.7.7.7h4.2c.4 0 .7-.3.7-.7V8.1zm0-6.5c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V1.6z\"}},\nkeyboard_dismiss:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 15.7c.5 0 .9-.4.9-.9v-12c0-.5-.4-.9-.9-.9H1.8c-.5 0-.9.4-.9.9v12c0 .5.4.9.9.9h20.4zM2.8 13.9V3.7h18.4v10.2H2.8zm3.5-7.7c0 .4-.3.7-.7.7h-.4c-.4 0-.7-.3-.7-.7v-.5c0-.3.3-.7.7-.7h.4c.4 0 .7.4.7.7v.5zM9 5.7c0-.3-.4-.7-.7-.7h-.5c-.4 0-.7.4-.7.7v.5c0 .4.3.7.7.7h.5c.3 0 .7-.3.7-.7v-.5zm5.3.5c0 .4-.4.7-.7.7h-.5c-.4 0-.7-.3-.7-.7v-.5c0-.3.3-.7.7-.7h.5c.3 0 .7.4.7.7v.5zm-2.7 0c0 .4-.3.7-.7.7h-.4c-.4 0-.7-.3-.7-.7v-.5c0-.3.3-.7.7-.7h.4c.4 0 .7.4.7.7v.5zm7.9-.5c0-.3-.3-.7-.6-.7h-.5c-.4 0-.7.4-.7.7v.5c0 .4.3.7.7.7h.5c.3 0 .6-.3.6-.7v-.5zm-2.6 0c0-.3-.3-.7-.7-.7h-.5c-.3 0-.6.4-.6.7v.5c0 .4.3.7.6.7h.5c.4 0 .7-.3.7-.7v-.5zM6.3 9c0 .3-.3.6-.7.6h-.4c-.4 0-.7-.3-.7-.6v-.5c0-.4.3-.7.7-.7h.4c.4 0 .7.3.7.7V9zM9 8.5c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7V9c0 .3.3.6.7.6h.5c.3 0 .7-.3.7-.6v-.5zm5.3.5c0 .3-.4.6-.7.6h-.5c-.4 0-.7-.3-.7-.6v-.5c0-.4.3-.7.7-.7h.5c.3 0 .7.3.7.7V9zm-2.7 0c0 .3-.3.6-.7.6h-.4c-.4 0-.7-.3-.7-.6v-.5c0-.4.3-.7.7-.7h.4c.4 0 .7.3.7.7V9zm7.9-.5c0-.4-.3-.7-.6-.7h-.5c-.4 0-.7.3-.7.7V9c0 .3.3.6.7.6h.5c.3 0 .6-.3.6-.6v-.5zm-2.6 0c0-.4-.3-.7-.7-.7h-.5c-.3 0-.6.3-.6.7V9c0 .3.3.6.6.6h.5c.4 0 .7-.3.7-.6v-.5zM6.3 11.7c0 .4-.3.7-.7.7h-.4c-.4 0-.7-.3-.7-.7v-.4c0-.4.3-.7.7-.7h.4c.4 0 .7.3.7.7v.4zm10.6-.4c0-.4-.3-.7-.7-.7H7.8c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7h8.4c.4 0 .7-.3.7-.7v-.4zm2.6 0c0-.4-.3-.7-.6-.7h-.5c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7h.5c.3 0 .6-.3.6-.7v-.4zM8.4 17.2h7.2c.3 0 .4.2.2.4L12.3 22c-.2.2-.4.2-.5 0l-3.6-4.4c-.2-.2-.1-.4.2-.4z\"}},\nknowledge_base:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.4 16.2h6c.4 0 .7-.4.7-.7V4.6c0-.8-.9-1.4-1.5-1.4H4.4c-.4 0-.7.4-.7.7v11.6c0 .3.3.7.7.7zM22.7 5.4c-.3-.1-.5.1-.5.4v11.5c0 .4-.4.7-.7.7h-19c-.3 0-.7-.3-.7-.7V5.9c0-.4-.3-.6-.6-.5-.7.4-1.2 1.1-1.2 2V18c0 1 .8 1.8 1.8 1.8h7.7c.3 0 .7.4.7.7s.3.7.6.7h2.4c.3 0 .6-.3.6-.7s.4-.7.7-.7h7.7c1 0 1.8-.8 1.8-1.8V7.4c0-1-.3-1.8-1.3-2zm-9.1 10.8h6c.4 0 .7-.4.7-.7V3.9c0-.3-.3-.7-.7-.7h-5.2c-.7 0-1.5.6-1.5 1.4v10.9c0 .3.3.7.7.7z\"}},\nlayers:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zM19.8.9h-12C6 .9 4.6 2.4 4.6 4.2v1.3h12c1 0 1.9.9 1.9 1.9v12h1.3c1.8 0 3.3-1.4 3.3-3.2v-12c0-1.8-1.5-3.3-3.3-3.3z\"}},\nlayout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 23.1H1.8c-.5 0-.9-.4-.9-.9V1.8c0-.5.4-.9.9-.9h20.4c.5 0 .9.4.9.9v20.4c0 .5-.4.9-.9.9zM2.8 21.2h18.4V2.8H2.8v18.4zM18 9.2H6c-.3 0-.5-.2-.5-.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v2.8c0 .2-.2.4-.5.4zm-9.2 9.3H6c-.3 0-.5-.2-.5-.5v-5.5c0-.3.2-.5.5-.5h2.8c.2 0 .4.2.4.5V18c0 .3-.2.5-.4.5zm9.2 0h-5.5c-.3 0-.5-.2-.5-.5v-5.5c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5V18c0 .3-.2.5-.5.5z\"}},\nleave_conference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.9 10.3c-.3.4-.1.8.2 1.1.8.4 1.6.8 2.3 1.5 1.2-.9 2.5-1.4 4.1-1.5-.5-.9-1.6-1.5-2.7-2-1.1-.4-1.3-.9-1.3-1.4 0-.4.3-.8.6-1.3.7-.6 1-1.4 1-2.4.1-1.9-1-3.5-2.9-3.5-1.2 0-2 .6-2.5 1.5C12 3.3 12.8 5 12.8 7c-.1 1.3-.4 2.4-.9 3.3zm2.8 5.7l2.7 2.8-2.7 2.8c-.3.2-.3.7 0 .9l.3.3c.3.3.7.3 1 0l2.7-2.7 2.8 2.7c.3.3.7.3 1 0l.3-.3c.3-.3.3-.7 0-.9L20 18.8l2.8-2.8c.3-.3.3-.7 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.8-2.7-2.8c-.3-.3-.8-.3-1 0l-.3.3c-.3.3-.3.7 0 1zM13 14.2c-.6-.7-1.6-1.1-2.6-1.6-1.2-.5-1.4-1-1.4-1.5s.4-1 .8-1.4c.7-.7 1-1.7 1-2.8C10.8 4.8 9.6 3 7.5 3h-.2C5.2 3 4 4.8 4 6.9 4 8 4.3 9 5 9.7c.4.4.8.9.8 1.4 0 .5-.2 1-1.4 1.5-1.8.8-3.4 1.6-3.5 3.3.1 1.1.9 2 1.9 2h8.6c.2-1.4.8-2.7 1.6-3.7z\"}},\nleft:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 3.8v16.4c0 .4-.6.8-1 .4l-9.8-8c-.3-.3-.3-.9 0-1.2l9.8-8c.4-.4 1-.1 1 .4z\"}},\nleft_align_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 3c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V3zm-3.7 5.5c0-.3-.4-.7-.7-.7H2.5c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h15.3c.3 0 .7-.3.7-.7V8.5zm0 11.1c0-.4-.4-.7-.7-.7H2.5c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h15.3c.3 0 .7-.3.7-.7v-1.4zm3.7-5.5c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7v-1.4z\"}},\nlevel_down:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.7 5.5c0-.3-.3-.7-.7-.7H1.6c-.4 0-.7.4-.7.7V13c0 .3.4.7.7.7h15.3c.5 0 .6.5.4.8l-2.6 2.6c-.3.3-.3.7 0 .9l.9 1c.3.3.7.3 1 0l6.3-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-1 0l-1 1c-.3.2-.3.6 0 .9l2.6 2.6c.3.3.1.8-.3.8H4.4c-.8 0-.7-.7-.7-.7V5.5z\"}},\nlevel_up:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M1.6 20.3c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h11c.4 0 .8-.4.8-.7V7.1c0-.5.4-.6.8-.4l2.6 2.6c.2.3.6.3.9 0l1-.9c.3-.3.3-.7 0-1l-6.2-6.3c-.3-.3-.7-.3-1 0L5.3 7.3c-.3.3-.3.7 0 1l.9 1c.3.3.7.3 1 0l2.6-2.6c.3-.3.8-.1.8.3v12.6c0 .8-.7.7-.7.7H1.6z\"}},\nlight_bulb:{\"path\":{\"d\":\"M11.1 1.2a7.4 7.4 0 0 0-6.6 6.6 7.3 7.3 0 0 0 2.7 6.3 2.3 2.3 0 0 1 .8 1.8 1.8 1.8 0 0 0 1.9 1.9h4.2a1.8 1.8 0 0 0 1.8-1.9 2.3 2.3 0 0 1 .9-1.8 7.3 7.3 0 0 0 2.7-5.6c.1-4.3-3.8-7.7-8.4-7.3zm4.1 18.7H8.8a.7.7 0 0 0-.8.7 2.2 2.2 0 0 0 2.2 2.2h3.6a2.2 2.2 0 0 0 2.2-2.2.7.7 0 0 0-.8-.7z\"}},\nlightning_inspector:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.9 10.9h-.3v-.4c0-2.3-1.8-4.2-4.2-4.2-1.1 0-2 .4-2.8 1.1-.6-1.5-2.1-2.7-3.9-2.7-2.3 0-4.2 1.9-4.2 4.2 0 .8.2 1.5.6 2.1-1.9.5-3.2 2.1-3.2 4.1 0 2.3 1.7 4.1 4 4.1h13.9c2.3 0 4.2-1.8 4.2-4.2s-1.8-4.1-4.1-4.1zm-11.4.4l3.6-1.7c.2-.1.4-.1.5 0l3.6 1.7c.3.1.3.3 0 .5l-3.6 1.7c-.1.1-.3.1-.5 0l-3.6-1.7c-.2-.1-.2-.4 0-.5zm7.8 4.2l-3.6 1.7c-.2.1-.4.1-.5 0l-3.6-1.7c-.3-.1-.3-.4 0-.5l.4-.2c.1-.1.2-.1.3 0l2.9 1.4h.5l2.8-1.4c.1-.1.2-.1.3 0l.4.2c.3.1.3.4.1.5zm0-1.8l-3.6 1.7c-.2.1-.4.1-.5 0l-3.6-1.7c-.3-.1-.3-.4 0-.5l.5-.3h.2l2.9 1.4c.1.1.3.1.5 0l2.8-1.4h.3l.5.3c.2 0 .2.3 0 .5z\"}},\nlike:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.8 9.7H2.5c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h1.2c1 0 1.8-.8 1.8-1.9v-9.4c0-.4-.3-.7-.7-.7zm15.5.5h-2.8c-1 0-1.8-.9-1.8-1.9V3.7c0-1-.8-1.9-1.9-1.9h-1.1c-.4 0-.7.4-.7.7v2.8c0 2.5-1.7 4.9-3.9 4.9-.4 0-.7.3-.7.6v9.3c0 .3.3.7.6.7 3.2.1 4.2 1.4 7.5 1.4 3.5 0 6.7-.4 6.7-4.4V12c0-1-.9-1.8-1.9-1.8z\"}},\nlink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.6 19.2l-1-.1s-.7-.1-1-.3c-.2 0-.4 0-.5.2l-.3.2c-1.3 1.3-3.5 1.5-4.9.3-1.5-1.4-1.6-3.8-.1-5.2l3.5-3.5c.4-.5 1-.7 1.5-.9.8-.2 1.6-.2 2.2.1.5.2.9.4 1.2.8.2.2.4.4.5.6.2.3.6.4.8.1l1.3-1.3c.2-.2.2-.5.1-.7-.2-.3-.4-.5-.7-.7-.3-.4-.7-.7-1.1-.9-.6-.4-1.4-.7-2.1-.8-1.5-.3-3-.1-4.3.6-.5.3-1.1.7-1.5 1.1l-3.3 3.3C.4 14.6.2 18.6 2.6 21c2.4 2.7 6.6 2.8 9.1.2l1.2-1.1c.3-.3.1-.8-.3-.9zM21 2.7C18.5.3 14.5.5 12.1 3l-1 1c-.3.3-.1.8.3.9.6 0 1.3.2 1.9.4.2 0 .5 0 .6-.2l.2-.2c1.4-1.3 3.5-1.5 4.9-.3 1.6 1.4 1.6 3.8.2 5.2l-3.5 3.5c-.5.5-1 .7-1.6.9-.7.2-1.5.2-2.2-.1-.4-.2-.8-.4-1.2-.8-.2-.2-.3-.4-.5-.6-.1-.3-.6-.4-.8-.1l-1.3 1.3c-.2.2-.2.5 0 .7.2.3.4.5.6.7.3.3.8.7 1.1.9.7.4 1.4.7 2.2.8 1.4.3 3 .1 4.2-.6.6-.3 1.1-.7 1.5-1.1l3.5-3.5c2.6-2.5 2.5-6.7-.2-9.1z\"}},\nlinked:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 16.7l-.5-.7s-.3-.4-.4-.7c-.1-.2-.3-.3-.5-.3h-.2c-1.6 0-3-1.2-3.1-2.7-.2-1.8 1.3-3.2 3-3.2h4.2c.5 0 1 .2 1.5.4.5.3 1 .8 1.2 1.4.1.4.2.7.2 1.2 0 .2 0 .4-.1.6-.1.4.2.6.5.6h1.6c.2 0 .3-.2.4-.4.1-.3.1-.5.1-.8 0-.4-.1-.8-.2-1.2-.1-.7-.4-1.3-.7-1.8-.7-1-1.8-1.9-3-2.2-.5-.1-1-.2-1.5-.2h-4C3.6 6.7 1.1 9 1 11.9c-.2 3 2.3 5.5 5.3 5.5h1.4c.3 0 .5-.5.3-.7zm15-4.9c-.1-2.9-2.6-5.2-5.5-5.2h-1.2c-.4 0-.6.5-.4.7.4.5.7.9.9 1.4.1.2.3.3.5.3h.2c1.7 0 3 1.2 3.1 2.7.2 1.8-1.3 3.2-3 3.2h-4.2c-.5 0-1-.2-1.4-.4-.6-.3-1.1-.8-1.3-1.4-.1-.4-.2-.7-.2-1.2 0-.2 0-.4.1-.6.1-.4-.2-.6-.5-.6H8.5c-.2 0-.3.2-.4.4-.1.3-.1.5-.1.8 0 .4.1.8.2 1.2.1.7.4 1.3.8 1.8.6 1 1.7 1.8 2.9 2.1.5.2 1 .3 1.5.3h4.2c3.1.1 5.5-2.4 5.4-5.5z\"}},\nlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.7 4.8c0-.3-.3-.6-.7-.6H1.6c-.4 0-.7.3-.7.6v1.4c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7V4.8zm19.4 0c0-.3-.3-.6-.7-.6H6.2c-.3 0-.7.3-.7.6v1.4c0 .4.4.7.7.7h16.2c.4 0 .7-.3.7-.7V4.8zM3.7 11.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7v-1.4zm17.5 0c0-.4-.3-.7-.7-.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h14.3c.4 0 .7-.3.7-.7v-1.4zM3.7 17.8c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6H3c.4 0 .7-.3.7-.6v-1.4zm19.4 0c0-.4-.3-.7-.7-.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h16.2c.4 0 .7-.3.7-.6v-1.4z\"}},\nlisten:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.4 13.9c0-6.6-5.1-12.1-11.3-12.1S.8 7.3.8 13.9c0 1.6.3 3.2.8 4.7.7 1.8 2.3 3 4.2 3.1.6 0 1-.5 1-1v-5.8c0-.5-.4-1-1-1-1 0-2 .4-2.7.9-.1-.3-.1-.6-.1-.9 0-5.5 4.1-9.8 9.1-9.8s9 4.4 9 9.8v.9c-.7-.6-1.7-1-2.7-1-.6 0-1 .5-1 1.1v5.7c0 .5.4 1 1 1 1.1 0 2.2-.4 3-1.2.8-.9 1.1-1.8 1.4-2.9.4-1.1.6-2.3.6-3.6z\"}},\nlive_message:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2.9h-11c-1.1 0-1.9.9-1.9 1.9 1.7.2 3.2.8 4.4 1.8h6.9c.3 0 .7.3.7.7v12.5c0 .3-.4.6-.7.6h-7.9c-.3 0-.6-.3-.6-.6v-.1l-.1-.1c-.8.4-1.7.6-2.6.7 0 .1-.1.2-.1.4v2.5c0 1 .8 1.8 1.8 1.8h11.1c1 0 1.9-.8 1.9-1.8V2.8c0-1-.9-1.9-1.9-1.9zm-5.5 21.3c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zM.9 10.6c0 3.2 2.9 5.9 6.4 5.9 1.3 0 2.4-.3 3.4-.9h.5l2.3.9c.2 0 .4-.2.3-.4l-.8-2.3c0-.2 0-.3.1-.5.5-.8.7-1.8.7-2.8 0-3.3-2.8-5.9-6.4-5.9-3.6 0-6.4 2.6-6.5 6z\"}},\nlocation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.5 4.4l-6.6-3.3c-.3-.2-.7-.2-1 0L8.8 4.2 2.6 1.1c-.4-.2-.8-.2-1.2 0-.3.2-.5.6-.5.9v16.6c0 .5.3.8.6 1l6.7 3.3c.3.2.7.2.9 0l6.2-3.1 6.2 3.1c.1.1.3.2.5.2s.4-.1.6-.2c.3-.2.5-.6.5-.9V5.4c0-.5-.2-.8-.6-1zm-1.7 2.1v8.8c0 .5-.5.9-1 .7-1.7-.7-.3-3.5-1.5-5.1-1.2-1.4-2.7 0-4.1-2.2-1.3-2.2.5-3.8 2.1-4.6.3-.1.5-.1.7 0l3.4 1.7c.3.2.4.4.4.7zm-9.3 12.8c-.3.2-.6.1-.8-.1-.5-.4-.9-1-.9-1.7 0-1.1-1.8-.7-1.8-2.9 0-1.8-2.1-2.3-3.9-2.1-.5.1-.8-.3-.8-.7V5c0-.5.5-.9 1-.6l4 2h.1l.1.1c1.7 1 1.3 1.8.6 3-.7 1.3-1.1 0-2.2-.4s-2.2.4-1.8 1.1 1.5 0 2.2.7.7 1.9 2.9 1.1 2.6-.3 3.4.4c.7.8 1.1 2.2 0 3.3-.7.7-1 2.1-1.2 3-.1.2-.2.4-.4.5l-.5.1z\"}},\nlock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.1 8.8h1.8c.3 0 .5-.2.5-.4v-.1c0-2.6 2.2-4.8 4.9-4.6 2.5.2 4.3 2.3 4.3 4.8v-.1c0 .2.2.4.5.4h1.8c.3 0 .5-.2.5-.4v-.1c0-4.2-3.5-7.6-7.8-7.4-3.9.2-6.9 3.5-7 7.5.1.2.2.4.5.4zm-.5-.4v.1-.1zm16.6 4.1c0-1.1-.8-1.9-1.8-1.9H4.6c-1 0-1.8.8-1.8 1.9v8.7c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9v-8.7zm-7.1 7.2c.1.3-.1.6-.4.6h-3.4c-.3 0-.5-.3-.5-.6l.9-2.8c-.7-.4-1.1-1.3-1-2.2.2-.9.9-1.5 1.8-1.7 1.5-.3 2.8.8 2.8 2.1 0 .8-.4 1.5-1 1.8l.8 2.8z\"}},\nlocker_service_api_viewer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.3 17.8c0 .3.3.7.7.7h1.2v-1c0-.6 0-1.2.2-1.8H9c-.4 0-.7.3-.7.7v1.4zm4.9-11.3H9c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h4.2c.3 0 .6-.3.6-.7V7.2c0-.4-.3-.7-.6-.7zM1.6 4.6h18.9c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7zm18.9 4.6c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7h-4.1c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h4.1zm-12.2 4c0 .3.3.6.7.6h2.1c.6-1 1.5-1.9 2.5-2.5-.1-.2-.3-.2-.4-.2H9c-.4 0-.7.3-.7.7v1.4zM5.8 6.5H1.6c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zm4.9 13.8H9c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h3.6c-.8-.8-1.5-1.7-1.9-2.8zm-4.9-4.6H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h4.2c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7zm0 4.6H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V21c0-.4-.4-.7-.7-.7zm0-9.2H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6h4.2c.3 0 .7-.3.7-.6v-1.4c0-.4-.4-.7-.7-.7zm11.7.9c-3.1 0-5.5 2.5-5.5 5.6s2.4 5.5 5.5 5.5 5.5-2.5 5.5-5.5-2.5-5.6-5.5-5.6zm3.6 4l-4.4 4.4c-.1.1-.2.1-.3 0l-2.6-2.5c-.1-.1-.1-.3 0-.4l1-.9c.1-.1.2-.1.3 0l1.3 1.3c.1.1.2.1.3 0l3.1-3.2c.1-.1.3-.1.4 0l.9.9c.2.1.2.3 0 .4z\"}},\nlocker_service_console:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 4.2c-.4-1-.9-1.9-1.5-2.8-.3-.4-.8-.4-1.1-.1-.8.8-2.1 1.3-3.4 1.3-1.4 0-2.6-.6-3.5-1.5-.3-.3-.8-.3-1.1 0-.9.9-2.1 1.5-3.5 1.5-1.3 0-2.5-.5-3.4-1.3-.3-.3-.9-.2-1.1.1-.6.8-1.1 1.8-1.5 2.8 0 0-1.1 2.3-.9 6v1c.7 6.2 5.2 11.1 11 11.9 5.8-.9 10.3-5.8 11-12V11v-.4c.4-4-1-6.4-1-6.4zM18.9 9l-7.7 7.8c-.2.1-.4.1-.6 0l-4.5-4.6c-.1-.2-.1-.4 0-.6l.6-.6c.2-.2.5-.2.6 0l3.4 3.4c.1.1.3.1.4 0l6.6-6.6c.2-.2.4-.2.6 0l.6.6c.2.1.2.4 0 .6z\"}},\nlog_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.8.9H6.2C5 .9 4 2 4 3.1v.8h-.7c-.8 0-1.5.6-1.5 1.5s.7 1.4 1.5 1.4H4v3.7h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5H4v3.7h-.7c-.8 0-1.5.6-1.5 1.4 0 .9.7 1.5 1.5 1.5H4v.8c0 1.1 1 2.2 2.2 2.2h13.6c1.2 0 2.4-1.1 2.4-2.3V3c0-1.2-1.2-2.1-2.4-2.1zm-1.2 14.9l-1.1 1c-.2.3-.5.4-.8.4-2.4-.2-4.6-1.3-6.2-2.9s-2.7-3.9-2.8-6.4c0-.3.1-.6.3-.8l1-1c.5-.5 1.2-.5 1.7.1l.9 1.2c.3.4.3 1 0 1.4l-.8 1.1c0 .2 0 .4.1.5l1.7 1.9 1.8 1.7c.1.1.3.1.5 0l1.1-.8c.4-.3.9-.3 1.4 0l1.1 1c.5.3.5 1.1.1 1.6z\"}},\nlogout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.7 22.4V21c0-.4-.3-.7-.7-.7H4.4c-.4 0-.7-.3-.7-.7V4.4c0-.4.3-.7.7-.7H9c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7H2.8C1.8.9.9 1.8.9 2.8v18.4c0 1 .9 1.9 1.9 1.9H9c.4 0 .7-.3.7-.7zm13.2-9.9c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l2.6 2.6c.3.3.1.8-.3.8H7.2c-.4 0-.7.2-.7.6v1.4c0 .4.3.7.7.7h9.7c.5 0 .6.5.4.8l-2.6 2.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.3-6.1z\"}},\nloop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.8 15c0 .1 0 .1-.1.1-.1.5-.2.9-.4 1.2-.2.5-.3.9-.6 1.3-.4.8-1 1.6-1.6 2.2s-1.4 1.2-2.2 1.7c-.8.5-1.7.9-2.6 1.1-.9.3-1.9.4-2.9.4C5.7 23.1.9 18.3.9 12.5S5.7 1.9 11.5 1.9c2 0 3.8.6 5.4 1.5.8.5 1.5 1 2.1 1.6.2.2.3.3.4.5.4.3.6.1.6-.4V1.7c0-.4.4-.8.8-.8h1.4c.5 0 .8.4.8.8v9c0 .4-.2.7-.6.7h-9.1c-.4 0-.7-.3-.7-.7V9.1c0-.4.4-.7.8-.7h3.4c.3 0 .6-.1.7-.2-1.3-1.9-3.5-3.1-6-3.1-4.1 0-7.4 3.3-7.4 7.4s3.3 7.4 7.4 7.4c3.2 0 5.9-2 7-4.9 0 0 .1-.6.6-.6h2.1c.4 0 .6.2.6.5v.1z\"}},\nlower_flag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3 .9H1.7c-.4 0-.7.3-.7.7v20.8c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7zm15.7 10.5c1.3 0 2.4.3 3.5.8V3c0-.3-.4-.5-.7-.3C14.1 6.6 15-1.4 6 1.7c-.2.1-.4.4-.4.7v10.7c0 .3.3.6.6.4 3.5-1.2 5.5-.6 7.1.3 1.3-1.5 3.3-2.4 5.4-2.4zm-4 4.6l2.7 2.7-2.7 2.8c-.3.3-.3.7 0 1l.3.3c.3.3.7.3 1 0l2.7-2.8 2.8 2.8c.3.3.7.3 1 0l.3-.3c.3-.3.3-.8 0-1L20 18.7l2.8-2.7c.3-.3.3-.8 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.7-2.7-2.7c-.3-.3-.8-.3-1 0l-.3.3c-.3.2-.3.7 0 1z\"}},\nmacros:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.2 18.6c-.1.1-.3.2-.5.2h-2.2c-.1 0-.3-.2-.3-.3 0-.1.1-.2.1-.2v-.1l.1-.1 4.8-5.7c.1-.2.1-.5 0-.7v-.1l-4.9-5.8c-.1-.1-.1-.2-.1-.2 0-.2.2-.3.3-.3h2.2c.2 0 .4 0 .5.2l5.1 6.2c.1.1.1.2.1.3 0 .1-.1.3-.1.4l-5.1 6.2zm-5.4 0c-.1.1-.3.2-.4.2H9.2c-.2 0-.3-.2-.3-.3v-.2l.1-.1v-.1l4.8-5.7c.1-.2.2-.5.1-.7l-.1-.1-4.9-5.8v-.2c0-.2.1-.3.3-.3h2.2c.1 0 .3 0 .4.2l5.1 6.2c.1.1.1.2.1.3 0 .1 0 .3-.1.4l-5.1 6.2zm-5.3 0c-.1.1-.3.2-.5.2H1.9c-.1 0-.3-.2-.3-.3 0-.1.1-.2.1-.2v-.1l.1-.1 4.8-5.7c.1-.2.1-.5 0-.7v-.1L1.7 5.8c-.1-.1-.1-.2-.1-.2 0-.2.2-.3.3-.3H6c.1 0 .3 0 .4.2l5.1 6.2c.1.1.1.2.1.3 0 .1 0 .3-.1.4l-5 6.2z\"}},\nmagicwand:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13 9.7c-.2-.2-.4-.2-.6 0l-11.1 11c-.5.6-.5 1.4 0 2 .6.5 1.4.5 2 0l11-11.1c.2-.2.2-.4 0-.6L13 9.7zm3.2 0l1.5-1.5c.3-.3.3-.7 0-1l-.9-.9c-.3-.3-.7-.3-1 0l-1.5 1.5c-.2.1-.2.4 0 .6l1.3 1.3c.2.2.5.2.6 0zM4.8 5.4c1.8.5 3.1 1.8 3.7 3.6.1.3.5.3.5 0 .6-1.7 1.9-3.1 3.7-3.6.3-.1.3-.5 0-.6C11 4.2 9.6 2.9 9 1.1c0-.3-.4-.3-.5 0-.6 1.8-1.9 3.1-3.7 3.7-.2.1-.2.5 0 .6zm18.1 8.7c-1.6-.5-2.8-1.7-3.3-3.3-.1-.2-.4-.2-.5 0-.5 1.6-1.7 2.8-3.3 3.3-.2.1-.2.4 0 .5 1.6.5 2.8 1.7 3.3 3.3.1.2.4.2.5 0 .5-1.6 1.7-2.8 3.3-3.3.2-.1.2-.5 0-.5zM17.7 3.9c1.2.3 2.1 1.2 2.4 2.4.1.2.3.2.4 0 .4-1.2 1.2-2.1 2.4-2.4.2-.1.2-.3 0-.4-1.2-.4-2-1.2-2.4-2.4-.1-.2-.3-.2-.4 0-.3 1.2-1.2 2-2.4 2.4-.2.1-.2.3 0 .4z\"}},\nmark_all_as_read:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.1 3.2l-.8-.8c-.2-.2-.6-.2-.8 0L4.6 7.3l-2-1.9c-.2-.3-.5-.3-.8 0l-.7.7c-.3.3-.3.6 0 .8l2.7 2.7c.2.3.5.4.8.4.2 0 .5-.1.8-.4L11.1 4c.2-.2.2-.5 0-.8zm11.2 5.3h-9.6c-.4 0-.7-.3-.7-.7V6.3c0-.4.3-.8.7-.8h9.6c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zm0 6.6H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8h17.8c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zm0 6.6H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8h17.8c.5 0 .8.4.8.8V21c0 .4-.3.7-.8.7z\"}},\nmatrix:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 1.6c0-.4-.4-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h14.3c.3 0 .7-.3.7-.7V1.6zM4.6 7.2c0-.4-.3-.7-.7-.7H2.5c-.3 0-.7.3-.7.7v6c0 .3.4.6.7.6h1.4c.4 0 .7-.3.7-.6v-6zm0 9.2c0-.4-.3-.7-.7-.7H2.5c-.3 0-.7.3-.7.7v6c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-6zm8.8-9.2c0-.4-.3-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h5.5c.4 0 .7-.3.7-.7V7.2zm8.8 0c0-.4-.4-.7-.7-.7h-5.6c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h5.6c.3 0 .7-.3.7-.7V7.2zm-8.8 4.6c0-.4-.3-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6h5.5c.4 0 .7-.3.7-.6v-1.4zm8.8 0c0-.4-.4-.7-.7-.7h-5.6c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h5.6c.3 0 .7-.3.7-.6v-1.4zm-8.8 4.6c0-.4-.3-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h5.5c.4 0 .7-.4.7-.7v-1.4zm8.8 0c0-.4-.4-.7-.7-.7h-5.6c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h5.6c.3 0 .7-.4.7-.7v-1.4zM13.4 21c0-.4-.3-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h5.5c.4 0 .7-.3.7-.7V21zm8.8 0c0-.4-.4-.7-.7-.7h-5.6c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h5.6c.3 0 .7-.3.7-.7V21z\"}},\nmerge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.5 20.3c-2.6-1.2-4.4-3.5-5.3-6-.4-.9-.6-2-.7-2.9V9.8h5c.3 0 .6-.4.3-.8l-6.5-7.9c-.3-.3-.8-.3-.9 0L5 9c-.2.2 0 .8.4.8h5v1.6c-.2 1-.4 2-.7 2.9-.9 2.5-2.8 4.8-5.4 6-.3.1-.5.6-.3.9l.6 1.5c.2.3.6.5.9.2 2.8-1.3 5-3.4 6.4-6 1.3 2.6 3.5 4.7 6.3 6 .4.2.9.2 1-.2l.6-1.5c.3-.3.1-.7-.3-.9z\"}},\nmerge_field:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.6 18.4h-.3c-1.1 0-1.5-.6-1.5-1.6 0-.5.1-.9.2-1.3 0-.5.1-1 .1-1.5 0-1.2-.5-1.8-1.3-2 .8-.2 1.3-.8 1.3-2 0-.5-.1-1-.1-1.5-.1-.4-.2-.8-.2-1.3 0-1 .4-1.6 1.5-1.6h.3c.3 0 .5-.2.5-.5s-.2-.5-.5-.5H5.9c-1.6 0-2.8.7-2.8 2.4 0 .5.1 1 .2 1.6.1.5.1 1 .1 1.6 0 .6-.1 1.2-1.1 1.3h-.1c-.3 0-.5.2-.5.5s.2.5.5.5h.1c1 .1 1.2.8 1.2 1.3 0 .6-.1 1.1-.2 1.6s-.1 1-.1 1.5c0 1.9 1.1 2.5 2.7 2.5h1.8c.2 0 .5-.2.5-.5-.1-.3-.3-.5-.6-.5zm8.8 0h.3c1.1 0 1.5-.6 1.5-1.6 0-.5-.1-.9-.2-1.3 0-.5-.1-1-.1-1.5 0-1.2.5-1.8 1.3-2-.8-.2-1.3-.8-1.3-2 0-.5.1-1 .1-1.5.1-.4.2-.8.2-1.3 0-1-.4-1.6-1.5-1.6h-.3c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h1.7c1.6 0 2.8.7 2.8 2.4 0 .5-.1 1-.2 1.6-.1.5-.1 1-.1 1.6 0 .6.1 1.2 1.1 1.3h.1c.3 0 .5.2.5.5s-.2.5-.5.5h-.1c-1 .1-1.2.8-1.2 1.3 0 .6.1 1.1.2 1.6s.1 1 .1 1.5c0 1.9-1.1 2.5-2.7 2.5h-1.8c-.2 0-.5-.2-.5-.5.1-.3.3-.5.6-.5z\"}},\nmetrics:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.7.9H3.3C2 .9.9 2 .9 3.3v17.4c0 1.3 1.1 2.4 2.4 2.4h17.4c1.3 0 2.3-1.1 2.3-2.4V3.3C23.1 2 22 .9 20.7.9zM7.2 18.3c0 .4-.3.8-.7.8h-.8c-.4 0-.8-.4-.8-.8V14c0-.4.4-.8.8-.8h.8c.4 0 .7.4.7.8v4.3zm4 0c0 .4-.4.8-.8.8h-.8c-.4 0-.7-.4-.7-.8V8c0-.4.3-.8.7-.8h.8c.4 0 .8.4.8.8v10.3zm4 0c0 .4-.4.8-.8.8h-.8c-.4 0-.8-.4-.8-.8V5.7c0-.4.4-.8.8-.8h.8c.4 0 .8.4.8.8v12.6zm3.9 0c0 .4-.4.8-.8.8h-.8c-.4 0-.7-.4-.7-.8v-7.5c0-.4.3-.8.7-.8h.8c.4 0 .8.4.8.8v7.5z\"}},\nminimize_window:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 22.4c0 .4-.3.7-.7.7H1.6c-.4 0-.7-.3-.7-.7V21c0-.4.3-.7.7-.7h20.8c.4 0 .7.3.7.7v1.4z\"}},\nmissed_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M16 18.6c.3 0 .6.2.7.5l.3 2.5c.1.7.7 1.2 1.4 1.3l3 .3c.9.1 1.7-.6 1.7-1.5v-2.9c0-.4-.2-.8-.5-1.1-3-2.7-6.9-4.1-10.6-4.1S4.3 15 1.3 17.7c-.2.3-.4.7-.4 1.1v2.9c-.1.9.7 1.7 1.6 1.5l3-.3c.7-.1 1.3-.6 1.4-1.3l.3-2.5c.1-.3.4-.5.7-.5 0 0 3.9-.3 8.1 0zm2.3-12.8c.3-.2.7 0 .7.3v3.1c0 .3.2.5.5.5h1.2c.3 0 .5-.2.5-.5l.1-7.4c0-.4-.3-.6-.6-.6h-7.4c-.3 0-.5.2-.5.6v1.1c0 .3.2.6.5.6h3.1c.4 0 .5.4.3.6l-4.3 4.3c-.2.2-.4.2-.6 0l-7.1-7c-.3-.2-.6-.2-.9 0l-.8.8c-.3.2-.3.6 0 .9l8.6 8.7c.3.3.6.3.9 0l5.8-6z\"}},\nmoney:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.9 12c0-1 .6-1.9 1.5-2.4A3.4 3.4 0 0 0 12 6.4c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.4 3.5 3.4c.6 0 1.3-.2 1.8-.6V12zm0 4.8v-.9c0-.3 0-.6.1-.9H5.9c0-1.3-1.1-2.4-2.4-2.4V7.4c1.3 0 2.4-1 2.4-2.4H18c0 1.3 1.1 2.4 2.5 2.4v1.9h1.7c.4 0 .6 0 .9.1V4.5c0-1.2-.9-2.1-2.1-2.1H3C1.8 2.4.9 3.3.9 4.5v11.1c0 1.2.9 2.1 2.1 2.1h11.1c-.1-.3-.2-.6-.2-.9zm9.2 3.9c0 .5-.5.9-.9.9h-5.6c-.4 0-.9-.4-.9-.9v-.9c0-.4.5-.8.9-.8h5.6c.5 0 .9.4.9.8v.9zm0-3.9c0 .5-.5.9-.9.9h-5.6c-.4 0-.9-.4-.9-.9V16c0-.5.5-.9.9-.9h5.6c.5 0 .9.4.9.9v.8zm0-3.9c0 .5-.5.9-.9.9h-5.6c-.4 0-.9-.4-.9-.9V12c0-.4.5-.8.9-.8h5.6c.5 0 .9.4.9.8v.9z\"}},\nmoneybag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.5 4.2c.1.3.3.4.6.4h3.7c.3 0 .6-.1.7-.4L16 1.5c.1-.3-.1-.6-.4-.6H8.4c-.3 0-.5.3-.3.5l1.4 2.8zm4.7 2.6H9.8c-3.6 0-6.6 3-6.6 6.7v7.4c0 1.2 1 2.2 2.2 2.2h13.2c1.2 0 2.2-1 2.2-2.2v-7.4c0-3.7-3-6.7-6.6-6.7zm-1.1 12.4v1.3c0 .2-.2.4-.5.4h-1.4c-.3 0-.3-.2-.3-.4v-1.2c-1.1-.2-2-.7-2.3-.9-.2-.3-.3-.5-.1-.9l.5-.7c0-.2.3-.3.5-.3.1 0 .3.1.4.1.8.5 1.4.7 1.9.7s.9-.3.9-.6c0-.2-.1-.6-1.5-1.1-1.3-.4-2.8-1.2-2.8-2.9 0-1 .6-2.1 2.5-2.5V9.1c0-.2.1-.4.3-.4h1.4c.3 0 .5.2.5.4v1.1c.7.1 1.5.5 1.8.7.1.1.2.3.3.5 0 .1-.1.3-.2.4l-.6.7c-.1.1-.4.3-.6.3-.1 0-.2-.1-.3-.1-.8-.4-1.4-.7-1.8-.7-.6 0-.9.3-.9.5 0 .3.2.6 1.4 1 1.6.5 3.3 1.4 3.3 3.1 0 1.2-1 2.3-2.4 2.6z\"}},\nmonthlyview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.3 3.2H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9zm1.2 6h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zM9.7 20.3c-1.1 0-2.3-.4-2.7-1 0-.1-.1-.2-.1-.3 0-.4.4-.8.8-.8.1 0 .2.1.4.1.5.3 1.1.5 1.6.5.9 0 1.4-.4 1.4-1s-.4-.9-1.5-.9c-.6.1-1-.1-1-.7 0-.4.3-.7.7-.7 1 .1 1.7-.2 1.7-.8 0-.6-.6-.9-1.4-.9-.5 0-1 .1-1.5.4-.1.1-.2.1-.3.1-.4 0-.7-.3-.7-.7 0-.2.1-.4.2-.5.6-.5 1.4-.8 2.5-.8 1.7 0 2.8.8 2.8 2.1 0 .9-.8 1.5-1.6 1.7.8.1 1.7.7 1.7 1.8 0 1.5-1.2 2.4-3 2.4zm7.4-.9c0 .4-.3.9-.7.9-.4 0-.7-.4-.7-.9v-4.7l-1 .9c-.1.1-.3.1-.5.1-.4 0-.7-.2-.7-.7 0-.1.1-.3.2-.4l1.8-1.8c.1-.2.4-.3.7-.3.5 0 .9.5.9 1v5.9z\"}},\nmove:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.9 11.7l-3.8-4.2c-.3-.3-.6 0-.6.4v2.7h-4.7c-.2 0-.4-.2-.4-.4V5.5h2.7c.5 0 .7-.4.4-.6l-4.1-3.8c-.2-.2-.5-.2-.7 0L7.6 4.9c-.3.3-.1.6.4.6h2.6v4.7c0 .2-.2.4-.4.4H5.5V7.9c0-.5-.4-.7-.6-.4l-3.8 4.1c-.2.2-.2.5 0 .7l3.8 4.1c.3.3.6.1.6-.4v-2.6h4.7c.2 0 .4.2.4.4v4.7H7.9c-.5 0-.7.4-.4.6l4.1 3.8c.2.2.5.2.7 0l4.1-3.8c.3-.3.1-.6-.4-.6h-2.6v-4.7c0-.2.2-.4.4-.4h4.7v2.7c0 .5.4.7.6.4l3.8-4.1c.2-.3.2-.5 0-.7z\"}},\nmulti_picklist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.5.9H8.7c-1.2 0-2.2 1-2.2 2.2v.4c0 .2.1.4.3.4h10.7c1.2 0 2.3 1 2.3 2.2v11.4c0 .3.1.4.3.4h.4c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zm-5.2 5.2H3.5c-1.2 0-2.2 1-2.2 2.2v12.6c0 1.2 1 2.2 2.2 2.2h11.8c1.2 0 2.2-1 2.2-2.2V8.3c0-1.2-1-2.2-2.2-2.2zM6.5 19.4c0 .4-.4.7-.8.7H5c-.4 0-.8-.3-.8-.7v-.8c0-.4.4-.7.8-.7h.7c.4 0 .8.3.8.7v.8zm0-4.4c0 .4-.4.7-.8.7H5c-.4 0-.8-.3-.8-.7v-.8c0-.4.4-.7.8-.7h.7c.4 0 .8.3.8.7v.8zm0-4.5c0 .4-.4.8-.8.8H5c-.4 0-.8-.4-.8-.8v-.7c0-.4.4-.8.8-.8h.7c.4 0 .8.4.8.8v.7zm8.1 8.9c0 .4-.3.7-.8.7H8.7c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h5.1c.5 0 .8.3.8.7v.8zm0-4.4c0 .4-.3.7-.8.7H8.7c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h5.1c.5 0 .8.3.8.7v.8zm0-4.5c0 .4-.3.8-.8.8H8.7c-.4 0-.7-.4-.7-.8v-.7c0-.4.3-.8.7-.8h5.1c.5 0 .8.4.8.8v.7z\"}},\nmulti_select_checkbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.3 1.2H8.8c-1.2 0-2.2.9-2.2 2.1v.4c0 .2.1.4.4.4h10.4c1.2 0 2.2.9 2.2 2.1v11.2c0 .3.2.4.4.4h.3c1.2 0 2.2-1 2.2-2.2V3.3c0-1.2-1-2.1-2.2-2.1zm-5.1 5H3.7c-1.2 0-2.2 1-2.2 2.2v12.3c0 1.2 1 2.1 2.2 2.1h11.5c1.2 0 2.2-.9 2.2-2.1V8.4c0-1.2-1-2.2-2.2-2.2zm-.9 6.2l-5.5 5.5c-.3.2-.5.3-.8.3-.2 0-.5-.1-.7-.3l-2.7-2.7c-.2-.2-.2-.5 0-.7l.8-.7c.2-.3.5-.3.7 0L8 15.7l4.8-4.8c.2-.2.5-.2.7 0l.8.8c.2.1.2.5 0 .7z\"}},\nmuted:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 2.6l-1-1c-.3-.3-.8-.2-1.1.2l-4.6 4.6V4.6c0-2.1-1.6-3.7-3.7-3.7S8.3 2.5 8.3 4.6v6.7c0 .7.2 1.3.6 1.9l-1.7 1.6c-.7-1-1.2-2.2-1.2-3.5V9.4c0-.6-.5-1.1-1.2-1.1s-1.1.5-1.1 1.1v1.9c0 1.9.7 3.7 1.9 5.1l-3.8 3.9c-.4.3-.4.8-.2 1.1l1 1c.3.3.8.2 1.1-.2L22.2 3.7c.4-.3.5-.8.2-1.1zM18 10.7v.6c0 3.2-2.7 5.9-6 5.9h-.4l-1.8 1.9c.4.1.8.1 1.3.2v1.5H9c-.6 0-1.2.5-1.2 1.1s.6 1.2 1.2 1.2h6c.7 0 1.2-.5 1.2-1.2s-.6-1.1-1.2-1.1h-2.1v-1.5c4.2-.6 7.4-4 7.4-8V9.4c0-.3-.1-.5-.3-.7l-2 2z\"}},\nnew:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.8 4.2C15.5-.1 8.5-.1 4.2 4.2c-4.3 4.3-4.3 11.3 0 15.6 4.3 4.4 11.3 4.4 15.6 0 4.3-4.3 4.3-11.3 0-15.6zm-.4 8.7c0 .3-.2.5-.5.5h-5.1c-.2 0-.4.2-.4.4v5.1c0 .3-.2.5-.5.5h-1.8c-.3 0-.5-.2-.5-.5v-5.1c0-.2-.2-.4-.4-.4H5.1c-.3 0-.5-.2-.5-.5v-1.8c0-.3.2-.5.5-.5h5.1c.2 0 .4-.2.4-.4V5.1c0-.3.2-.5.5-.5h1.8c.3 0 .5.2.5.5v5.1c0 .2.2.4.4.4h5.1c.3 0 .5.2.5.5v1.8z\"}},\nnew_direct_message:{\"path\":{\"d\":\"M21 7.8l-1.6 1.7c-.2.2-.4.6-.4.9v8.1c0 .3-.3.7-.7.7H5.9c-.4 0-.7-.4-.7-.7V6c0-.4.3-.7.7-.7h8c.4 0 .8-.1 1-.4l1.6-1.6c.3-.3.1-.8-.3-.8h-12c-1 0-1.8.9-1.8 1.9v15.7c0 1 .8 1.8 1.8 1.8h15.7c1.1 0 1.9-.8 1.9-1.8V8.2c0-.4-.5-.6-.8-.4zM8.7 14.2l1.7 1.7c.1.1.2.1.3 0l9-9.2c.1-.1.1-.2 0-.3L18 4.8c-.1-.1-.2-.1-.3 0l-9 9.1c-.1.1-.1.2 0 .3zM18.5 4c-.1.1-.1.2 0 .2l1.7 1.7c.1.1.2.1.2 0l1.2-1.1c.3-.3.3-.8 0-1.1l-.8-.8c-.4-.4-.8-.4-1.1 0-.1 0-1.2 1.1-1.2 1.1zM7.2 17c0 .2.1.4.3.4l.9-.3c.2 0 .5-.1.7-.2.2 0 .5-.1.6-.1.1-.1.3-.3.2-.4l-1.8-1.8c-.1-.1-.3 0-.3.1-.1.2-.2.5-.2.7-.1.2-.2.4-.2.7-.1.4-.1.7-.2.9z\"}},\nnew_window:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.5.9h-8.8c-.4 0-.8.3-.8.6v1.4c0 .4.3.8.8.8h3.6c.4 0 .7.5.3.7l-7.8 7.9c-.3.3-.3.7 0 .9l1 1c.2.3.6.3.9 0l7.9-7.8c.2-.3.7-.1.7.3v3.6c0 .4.4.8.7.8h1.4c.4 0 .7-.4.7-.8V1.6c0-.4-.3-.7-.6-.7zm-5.7 10.9l-1.6 1.6c-.3.3-.4.6-.4 1v5.2c0 .4-.4.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V9.9c0-.3.3-.7.7-.7h5.3c.4 0 .7-.1 1-.4l1.5-1.6c.3-.2.1-.7-.3-.7H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h12.9c1 0 1.8-.9 1.8-1.9v-9.1c0-.4-.5-.6-.7-.3z\"}},\nnews:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.3 2.8H4.4c-.4 0-.7.3-.7.7v14c0 .6-.5 1.1-1.1 1-.4-.1-.8-.5-.8-1V7.4c0-.3-.1-.5-.4-.5H.7c-.4 0-.7.3-.7.7v11.8c0 1 .8 1.8 1.8 1.8h20.4c1 0 1.8-.8 1.8-1.8V3.5c0-.4-.3-.7-.7-.7zM12.9 16.2c0 .2-.2.4-.4.4H6.9c-.3 0-.4-.2-.4-.4v-1c0-.2.1-.4.4-.4h5.6c.2 0 .4.2.4.4v1zm0-3.7c0 .2-.2.4-.4.4H6.9c-.3 0-.4-.2-.4-.4v-1c0-.2.1-.4.4-.4h5.6c.2 0 .4.2.4.4v1zm8.3 3.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.4-.2-.4-.4v-1c0-.2.2-.4.4-.4h5.6c.2 0 .4.2.4.4v1zm0-3.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.4-.2-.4-.4v-1c0-.2.2-.4.4-.4h5.6c.2 0 .4.2.4.4v1zm0-3.7c0 .2-.2.4-.4.4H6.9c-.3 0-.4-.2-.4-.4V6c0-.3.1-.5.4-.5h13.9c.2 0 .4.2.4.5v2.8z\"}},\nnote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 18.3l-.4.4c-.5.5-1.1.7-1.7.7h-1.2c-1.1 0-2.3-.8-2.3-2.4v-1.1c0-.9.4-1.5.6-1.8l5-5.1c.1-.1.3-.5.3-.6V4.5c0-1.2-1-2.2-2.2-2.2H5.4c-1.2 0-2.3 1.1-2.3 2.2h-.7C1.6 4.5.9 5.2.9 6s.7 1.5 1.5 1.5h.7v3h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h.7v3h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.4 1.5 1.4h.7c0 1.5 1.1 2.2 2.3 2.2h11.8c1.2 0 2.2-1 2.2-2.2v-.9c0-.3-.1-.3-.3-.2zM15.3 7.9c0 .4-.3.7-.7.7H7.2c-.4 0-.7-.3-.7-.7v-.7c0-.5.3-.8.7-.8h7.4c.4 0 .7.3.7.8v.7zM12 16.8c0 .5-.3.8-.7.8H7.2c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h4.1c.4 0 .7.3.7.7v.7zm1.1-4.4c0 .4-.3.7-.7.7H7.2c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h5.2c.4 0 .7.3.7.7v.8zm9.7-2.1l-.4-.4c-.3-.3-.8-.3-1 0l-5.7 5.8V17c0 .1 0 .2.1.2h1.3l5.7-5.8c.4-.3.4-.7 0-1.1z\"}},\nnotebook:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.3.9H6.5c-1.1 0-1.9.9-1.9 1.9v1.4H3.2c-.8 0-1.4.6-1.4 1.3s.6 1.4 1.4 1.4h1.4v3.7H3.2c-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4h1.4v3.7H3.2c-.8 0-1.4.6-1.4 1.4s.6 1.3 1.4 1.3h1.4v1.4c0 1 .8 1.9 1.9 1.9h13.8c1 0 1.9-.9 1.9-1.9V2.8c0-1-.9-1.9-1.9-1.9zm-3.2 15.7c0 .3-.2.5-.5.5h-6.4c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9zm.9-3.7c0 .3-.2.5-.5.5H9.2c-.2 0-.4-.2-.4-.5V12c0-.3.2-.5.4-.5h8.3c.3 0 .5.2.5.5v.9zm.9-4.6c0 .3-.2.5-.4.5H8.3c-.3 0-.5-.2-.5-.5V5.5c0-.2.2-.4.5-.4h10.2c.2 0 .4.2.4.4v2.8z\"}},\nnotification:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2 15.2H21c-.9 0-1.6-.7-1.6-1.6V8.3c0-4.2-3.5-7.6-7.8-7.4-3.9.2-7 3.6-7 7.6v5.2c0 .8-.7 1.5-1.6 1.5h-.2c-1 0-1.9.9-1.9 1.9v.7c0 .3.3.7.7.7h20.8c.4 0 .7-.4.7-.7v-.7c0-1-.9-1.9-1.9-1.9zm-6.9 5.1H9.7c-.2 0-.5.3-.4.6.2 1.3 1.4 2.2 2.7 2.2s2.5-1 2.7-2.2c.1-.3-.2-.6-.4-.6z\"}},\nnumber_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.7 22.8H3.3c-1.2 0-2.1-.9-2.1-2.1V3.3c0-1.2.9-2.1 2.1-2.1h17.4c1.2 0 2.1.9 2.1 2.1v17.4c0 1.2-.9 2.1-2.1 2.1zM4.1 4.8v14.4c0 .4.3.7.7.7h14.4c.5 0 .8-.3.8-.7V4.8c0-.5-.3-.8-.8-.8H4.8c-.4.1-.7.4-.7.8zm12.6 4.6h-1.3l.5-2.2v-.1c0-.1 0-.2-.2-.2h-1c-.1 0-.2.1-.2.2l-.6 2.2h-2.6l.5-2.2c0-.1 0-.2-.2-.2h-1c-.1 0-.2 0-.2.1l-.6 2.3H8.3c-.1 0-.1 0-.2.1l-.3 1v.1c0 .1.1.2.2.2h1.4l-.6 2.5H7.3c-.1 0-.1.1-.1.2l-.3 1c0 .1 0 .2.2.2h1.3l-.6 2.2v.1c0 .1.1.2.2.2h1.1c.1 0 .1-.1.2-.2l.6-2.3h2.6l-.5 2.2c0 .1 0 .2.2.2h1c.1 0 .2 0 .2-.1l.6-2.3h1.5c.1 0 .1-.1.2-.2l.3-1c0-.1-.1-.2-.2-.2h-1.4l.6-2.6h1.5c.1 0 .1 0 .2-.1l.2-1v-.1c0 .1-.1 0-.2 0zM13 13.3h-2.7l.6-2.6h2.7l-.6 2.6z\"}},\noffice365:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M14.2 22.8c.3.1.6.1.9 0l5.5-1.8c.4-.1.6-.4.6-.8V3.6c0-.3-.2-.6-.4-.7L15.2 1c-.3-.1-.7-.1-.9 0L3.2 5.3c-.2.1-.4.3-.4.6v12.5c0 .3.2.6.4.7l11 3.7zm.6-3c0 .2-.3.5-.5.4L5.1 19c-.3-.1-.4-.3-.4-.5v-.2c0-.2.1-.3.3-.4l1.7-.8c.2-.1.3-.3.3-.4V6.8c0-.2.2-.4.4-.4l6.9-1.6c.3 0 .6.1.6.5v14.5z\"}}},\noffline:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16 16.7c.2-.3.2-.6 0-.9l-.8-.8c-.2-.2-.6-.2-.8 0l-2.1 2c-.1.2-.4.2-.5 0l-2.1-2c-.2-.2-.6-.2-.8 0l-.8.8c-.3.3-.3.6 0 .9l2 2c.1.1.1.4 0 .5l-2 2.1c-.3.2-.3.6 0 .8l.8.8c.2.3.6.3.8 0l2.1-2c.1-.1.4-.1.5 0l2.1 2c.2.3.6.3.8 0l.8-.8c.2-.2.2-.6 0-.8l-2-2.1c-.2-.1-.2-.4 0-.5l2-2zm6-11.3C19.5 2.5 15.9 1 12 1S4.6 2.5 2.1 5.4c-.2.1-.2.5 0 .6l1.4 1.2c.2.2.5.1.7 0C6.2 5 9 3.7 12 3.7s5.9 1.3 7.9 3.5c.2.1.5.1.7 0L22 6c.2-.2.2-.5 0-.6zm-10 2c-1.9 0-3.7.9-5 2.3-.2.2-.2.5 0 .7l1.5 1.1c.2.2.5.2.6 0 .8-.8 1.8-1.3 2.9-1.3s2.2.5 3 1.2c.1.2.4.2.6.1l1.4-1.1c.3-.2.3-.5.1-.7C15.8 8.3 14 7.4 12 7.4z\"}},\noffline_cached:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 9.4c-.4-3-3.1-5.3-6.2-5.3-3.5 0-6.3 2.8-6.3 6.3v.5c-2.3.2-4.1 2.1-4.1 4.4 0 2.5 2 4.5 4.5 4.5H11l-3.8-3.7c-.1-.2-.1-.5 0-.6l.6-.6c.2-.2.5-.2.6 0l1.7 1.6c.1.2.5 0 .5-.2v-6.2c0-.2.2-.5.4-.5h.9c.2 0 .4.2.4.5v6.1c0 .3.4.4.5.2l1.6-1.6c.2-.2.5-.2.6 0l.6.6c.2.2.2.4 0 .6L12 19.8h5.7c2.8 0 5.1-2.4 5.1-5.2 0-2.8-2.2-5.1-5-5.2z\"}},\nomni_channel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.8 1.2H16c-.4 0-.5.4-.2.7l1.8 1.8.3.3-3.5 3.4c-.3.3-.3.7 0 1 0 0 2.3 2.4 2.1 5.1 0 3.9-2.8 7-6.7 7-2.9.3-5.1-2.4-5.1-2.4-.3-.2-.7-.2-1 0L2 19.8c-.3.3-.3.7 0 1l.5.6c.3.2.7.2 1 0l.7-.6c1.5 1.2 3.5 1.9 5.6 1.9 5.1 0 9.2-4.1 9.2-9.2 0-2.1-.7-4.1-1.9-5.7l2.3-2.3.4.3 1.8 1.9c.3.3.6.1.6-.2V1.7c0-.3-.2-.5-.4-.5z\"},\"circle\":{\"cx\":\"9.738\",\"cy\":\"13.615\",\"r\":\"4.569\"}},\nopen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.7 16.2v-.3.5-.2zM21.2.9H2.8C1.8.9.9 1.8.9 2.8v16.6c0 1 .9 1.8 1.9 1.8h5.5c.3 0 .5-.2.5-.4v-1.9c0-.3-.2-.4-.5-.4H4.4c-.4 0-.7-.4-.7-.7V6.2c0-.3.3-.7.7-.7h15.2c.4 0 .7.4.7.7v11.6c0 .3-.3.7-.7.7h-3.9c-.3 0-.5.1-.5.4v1.9c0 .2.2.4.5.4h5.5c1 0 1.9-.8 1.9-1.8V2.8c0-1-.9-1.9-1.9-1.9zM17.3 16l1-1c.3-.3.3-.7 0-1l-5.8-5.8c-.3-.3-.7-.3-1 0L5.7 14c-.3.3-.3.7 0 1l1 .9c.3.3.7.3 1 0l2.1-2.1c.3-.3.8-.1.8.3v8.3c0 .4.3.7.7.7h1.3c.4 0 .8-.3.8-.7v-8.3c0-.4.4-.6.8-.3l2.1 2.2c.3.2.7.2 1 0z\"}},\nopen_folder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2 6.5H10.8c-.7 0-1.3-.4-1.7-1L7.5 2.8c-.3-.6-.9-1-1.6-1H2.8c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9v-12c0-1-.9-1.8-1.9-1.8zm0-3.7H10.1c-.2 0-.3.2-.2.3l.8 1.2c.1.2.2.3.4.3h10.1c.5 0 1 .1 1.5.3.1.1.4-.1.4-.3 0-1-.9-1.8-1.9-1.8z\"}},\nopened_folder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.3 6.9c0-1-.8-1.8-1.8-1.8h-6.8c-.9 0-1.6-.9-1.6-.9L8.9 2.8s-.5-1-1.6-1H5.5c-1 0-1.8.9-1.8 1.9v4.1h16.6v-.9zm1.3 2.8H2.4c-1 0-1.7.9-1.4 1.7l2.6 9.7c.2.6.7 1.1 1.4 1.1h14.1c.6 0 1.2-.5 1.3-1.1l2.7-9.7c.2-.8-.5-1.7-1.5-1.7z\"}},\noutbound_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 17.5l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.7 2.4 9.1 5.5 12.3s7.6 5.2 12.3 5.5c.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6zM22.3.9h-7.1c-.4 0-.6.5-.2.9l2.3 2.3-4.2 4.2c-.2.2-.2.7 0 .9l1.7 1.7c.2.2.6.2.9 0l4.2-4.2L22.2 9c.4.4.9.2.9-.2V1.7c0-.3-.4-.8-.8-.8z\"}},\noutcome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.7 5.4v-.1c-.3-.2-.7-.2-1 .1l-1 .9c-.3.3-.2.7 0 .9l2.6 2.6c.1.1.1.2.1.4s-.1.5-.4.5H7.2c-.4 0-.7.2-.7.6v1.4c.1.4.3.7.7.7H17c.1 0 .2.1.3.1.2.2.2.5.1.7l-2.6 2.6c-.3.3-.3.7 0 1l.9 1c.3.3.7.2 1 0l6.2-6.2c.3-.3.2-.7 0-1l-6.2-6.2zm-7 2.5h1.4c.4 0 .7-.3.7-.7V2.8c0-1-.8-1.8-1.8-1.8H2.8C1.8 1 1 1.8 1 2.8v18.5c0 1 .8 1.8 1.8 1.8h7.1c1 0 1.9-.8 1.9-1.8v-4.4c0-.4-.4-.7-.7-.7H9.7c-.4 0-.7.3-.7.7v2.7c0 .4-.3.7-.7.7H4.4c-.3 0-.7-.3-.7-.7V4.4c0-.4.4-.7.7-.7h3.9c.4 0 .7.3.7.7v2.8c0 .4.3.7.7.7z\"}},\noverflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.2 4.6H7.3c-1 0-1.7.8-1.7 1.7v.3c0 .1.1.2.3.2h9c1 0 1.7.8 1.7 1.7v10.2c0 .2.2.3.3.3h.3c.9 0 1.7-.8 1.7-1.7v-11c0-.9-.8-1.7-1.7-1.7zM20.9.9H11c-1 0-1.7.8-1.7 1.7v.3c0 .1.1.3.3.3h9c1 0 1.7.8 1.7 1.7v10.2c0 .1.1.3.3.3h.3c.9 0 1.7-.8 1.7-1.7V2.6c0-.9-.8-1.7-1.7-1.7zM15 10.1c0-1-.7-1.7-1.7-1.7H3.1c-1 0-1.7.7-1.7 1.7v11.3c0 .9.8 1.7 1.7 1.7h10.2c1 0 1.7-.8 1.7-1.7V10.1z\"}},\npackage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.5 11.1h-3.7l-1.5 1.8h5v2.8H3.7v-2.8h4.9l-1.5-1.8H3.5c-.9 0-1.7.7-1.7 1.6v9c0 .8.6 1.4 1.4 1.4h17.6c.8 0 1.4-.6 1.4-1.4v-9c0-.9-.8-1.6-1.7-1.6zm-9.9-9.5v5.8H7.4c-.4 0-.7.4-.4.6l4.6 5.7c.2.1.5.1.7 0L16.9 8c.3-.2 0-.6-.4-.6h-3.1V1.6c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7z\"}},\npackage_org:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.5 10.6h-5.8l-1.8 1.9h7.4v2.7H3.7v-2.7h3.7l-1.8-1.9H3.5c-.9 0-1.7.8-1.7 1.7v8.9c0 .8.6 1.4 1.4 1.4h17.6c.8 0 1.4-.6 1.4-1.4v-8.9c0-.9-.8-1.7-1.7-1.7zm-11 1.3c.4.4.9.4 1.3 0l8.8-8.8c.2-.1.2-.4 0-.6l-1.3-1.3c-.2-.2-.5-.2-.7 0l-7.4 7.5-3.1-3.1c-.2-.2-.5-.2-.7 0L5.1 6.9c-.2.2-.2.4 0 .6l4.4 4.4z\"}},\npackage_org_beta:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.5 10.6h-2.7c-.2.7-.5 1.3-1 1.9h3.5v2.7H3.7v-2.7h2.8v-1.9h-3c-.9 0-1.7.8-1.7 1.7v8.9c0 .8.6 1.4 1.4 1.4h17.6c.8 0 1.4-.6 1.4-1.4v-8.9c0-.9-.8-1.7-1.7-1.7zm-4.3-6c0-1.8-1.6-3.2-3.4-3.2H9c-.4 0-.7.3-.7.7v9.7c0 .3.3.7.7.7h3.9c1.8 0 3.3-1.5 3.2-3.3 0-.9-.4-1.7-1-2.2.7-.7 1.1-1.5 1.1-2.4zm-6-1.4h2.7c.8 0 1.4.6 1.4 1.4 0 .8-.6 1.4-1.4 1.4h-2.7V3.2zm4.1 6c0 .8-.6 1.4-1.4 1.4h-2.7V7.8h2.7c.8 0 1.4.6 1.4 1.4z\"}},\npage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.5 8.8h-5.2c-1.2 0-1.9-.8-1.9-2V1.7c0-.5-.3-.8-.8-.8H5c-1.2 0-2.2 1-2.2 2.2v17.8c0 1.2 1 2.2 2.2 2.2h14c1.2 0 2.2-1 2.2-2.2V9.5c0-.4-.3-.7-.7-.7zm.6-2.8l-4.9-4.9c-.1-.1-.3-.2-.4-.2-.3 0-.6.3-.6.5v4c0 .8.8 1.5 1.6 1.5h3.9c.3 0 .5-.3.5-.5s0-.4-.1-.4z\"}},\npalette:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.8 8C21.8 3.6 17.2.9 12.1.9 5.9.9.9 5.9.9 12s5 11.1 11.2 11.1c8.6 0 7.9-4.4 5.2-6.1-1.7-1-2.5-3.3-.9-5 3-3.1 7.8 1.8 6.4-4zM6 15.7c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3 2.3 1 2.3 2.3-1 2.3-2.3 2.3zm.5-8.8c0-1.3 1-2.3 2.3-2.3s2.3 1 2.3 2.3-1 2.3-2.3 2.3-2.3-1-2.3-2.3zm5 13.4c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3 2.3 1 2.3 2.3-1 2.3-2.3 2.3zm4.2-12c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3S18 4.7 18 6s-1 2.3-2.3 2.3z\"}},\npassword:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.7 22.8H3.3c-1.2 0-2.1-.9-2.1-2.1V3.3c0-1.2.9-2.1 2.1-2.1h17.4c1.2 0 2.1.9 2.1 2.1v17.4c0 1.1-.9 2.1-2.1 2.1zM4.1 4.8v14.4c0 .4.3.7.7.7h14.4c.5 0 .8-.3.8-.7V4.8c0-.5-.3-.8-.8-.8H4.8c-.4.1-.7.4-.7.8zM17.9 11l-.4-1.4c-.1-.4-.5-.6-.9-.5l-3.2 1.1V7.1c0-.5-.3-.8-.7-.8h-1.4c-.5 0-.8.3-.8.8v3.1l-3-1.1c-.4-.1-.8.1-.9.5L6.1 11c-.1.4.1.8.5.9l2.9.9-2.1 2.8c-.2.4-.2.8.2 1.1l1.2.8c.3.2.8.1 1-.2l2.2-3.1 2.3 3.1c.2.3.7.4 1 .2l1.2-.8c.3-.3.4-.7.2-1.1l-2.1-2.8 2.8-.9c.4-.1.6-.5.5-.9z\"}},\npaste:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.1 5.5h7.8c.4 0 .7-.3.7-.7v-2c0-1-.8-1.9-1.8-1.9H9.2c-1 0-1.8.9-1.8 1.9v2c0 .4.3.7.7.7zm12.2-2.7h-1.1c-.4 0-.7.3-.7.7v2c0 1.1-.9 1.9-1.9 1.9H7.4c-1 0-1.9-.8-1.9-1.9v-2c0-.4-.3-.7-.7-.7H3.7c-1 0-1.9.8-1.9 1.8v16.6c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V4.6c0-1-.9-1.8-1.9-1.8zm-2.8 16.1c0 .3-.1.5-.4.5H6.9c-.3 0-.4-.2-.4-.5V18c0-.3.1-.5.4-.5h10.2c.3 0 .4.2.4.5v.9zm0-3.7c0 .3-.1.5-.4.5H6.9c-.3 0-.4-.2-.4-.5v-.9c0-.3.1-.5.4-.5h10.2c.3 0 .4.2.4.5v.9zm0-3.7c0 .3-.1.5-.4.5H6.9c-.3 0-.4-.2-.4-.5v-.9c0-.3.1-.4.4-.4h10.2c.3 0 .4.1.4.4v.9z\"}},\npause:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.8 19.8c0 .5.5 1 1 1h1.8c.5 0 .9-.5.9-1V4.2c0-.5-.4-1-.9-1h-1.8c-.5 0-1 .5-1 1v15.6zm-7.3 0c0 .5.4 1 .9 1h1.8c.5 0 1-.5 1-1V4.2c0-.5-.5-1-1-1H7.4c-.5 0-.9.5-.9 1v15.6z\"}},\npeople:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.4 10.3c-1.3-.5-1.5-1-1.5-1.5s.4-1 .8-1.4c.8-.7 1.2-1.6 1.2-2.7 0-2-1.3-3.8-3.7-3.8-2.1 0-3.4 1.5-3.6 3.3 0 .2.1.3.2.4 1.8 1.1 2.8 3.1 2.8 5.4 0 1.8-.6 3.3-1.9 4.4-.1.1-.1.3 0 .4.3.2 1.1.6 1.5.8.2 0 .3.1.4.1h5.6c1 0 1.9-.9 1.9-1.9v-.2c0-1.6-1.8-2.5-3.7-3.3zm-6.2 6.4c-1.6-.6-1.8-1.2-1.8-1.8 0-.6.5-1.2 1-1.7.9-.7 1.4-1.8 1.4-3.1 0-2.4-1.6-4.5-4.4-4.5-2.8 0-4.5 2.1-4.5 4.5 0 1.3.5 2.4 1.5 3.1.5.5.9 1.1.9 1.7 0 .6-.2 1.2-1.8 1.8-2.3.9-4.6 2-4.6 3.9v.6c0 1 .9 1.9 1.9 1.9h12.8c1.1 0 1.9-.9 1.9-1.9v-.6c0-1.9-2-3-4.3-3.9z\"}},\nphone_landscape:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 6c0-1-.8-1.8-1.8-1.8H1.8C.8 4.2 0 5 0 6v12c0 1 .8 1.8 1.8 1.8h20.4c1 0 1.8-.8 1.8-1.8V6zM2.3 13.4c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zm18 3c0 .4-.3.7-.7.7H5.3c-.4 0-.7-.3-.7-.7V7.6c0-.4.3-.7.7-.7h14.3c.4 0 .7.3.7.7v8.8z\"}},\nphone_portrait:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.8 1.8C19.8.8 19 0 18 0H6C5 0 4.2.8 4.2 1.8v20.4c0 1 .8 1.8 1.8 1.8h12c1 0 1.8-.8 1.8-1.8V1.8zM12 23.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zm5.1-4.4c0 .4-.3.7-.7.7H7.6c-.4 0-.7-.3-.7-.7V4.4c0-.4.3-.7.7-.7h8.8c.4 0 .7.3.7.7v14.3z\"}},\nphoto:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 9.2c-2 0-3.7 1.7-3.7 3.7s1.7 3.7 3.7 3.7 3.7-1.6 3.7-3.7S14 9.2 12 9.2zm9.2-2.7h-2.4c-.6 0-1.2-.4-1.5-.9L16.2 4c-.3-.8-1.1-1.2-1.9-1.2H9.7c-.8 0-1.6.4-1.9 1.2L6.7 5.6c-.3.5-.9.9-1.6.9H2.8c-1 0-1.9.8-1.9 1.8v11.1c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V8.3c0-1-.9-1.8-1.9-1.8zm-9.2 12c-3 0-5.5-2.5-5.5-5.6S9 7.4 12 7.4s5.5 2.5 5.5 5.5-2.5 5.6-5.5 5.6z\"}},\npicklist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 18.9c.5 0 .9-.4.9-.9V6c0-.5-.4-.9-.9-.9H1.8c-.5 0-.9.4-.9.9v12c0 .5.4.9.9.9h20.4zM2.8 17.1V6.9h18.4v10.2H2.8zM15 10.6h4.3c.1 0 .2.2.1.2l-2.1 2.5c-.1.1-.3.1-.4 0l-2.1-2.5s.1-.2.2-.2z\"}},\npicklist_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.2 15.6H1.7c-.4 0-.7.3-.7.7v1.5c0 .4.3.7.7.7h1.5c.4 0 .7-.4.7-.7v-1.5c0-.4-.3-.7-.7-.7zM7.6 5.4h14.6c.4 0 .7-.3.7-.7V3.2c0-.4-.3-.7-.7-.7H7.6c-.4 0-.7.3-.7.7v1.5c0 .4.3.7.7.7zm0 6.6h14.6c.4 0 .7-.3.7-.7V9.8c0-.4-.3-.8-.7-.8H7.6c-.4 0-.7.4-.7.8v1.5c0 .3.3.7.7.7zM3.2 2.5H1.7c-.4 0-.7.3-.7.7v1.5c0 .4.3.7.7.7h1.5c.4 0 .7-.3.7-.7V3.2c0-.4-.3-.7-.7-.7zm0 6.5H1.7c-.4 0-.7.3-.7.7v1.5c0 .4.3.8.7.8h1.5c.4-.1.7-.4.7-.8V9.7c0-.3-.3-.7-.7-.7zm6.4 9.3c0-.8.3-1.6.8-2.3v-.5H7.6c-.4 0-.7.3-.7.7v1.5c0 .4.3.8.7.8h2v-.2zm6.6-3.8c.4-.4.9-.6 1.5-.6.8 0 1.5.4 1.8 1 .3-.1.7-.2 1-.2 1.4 0 2.5 1.1 2.5 2.4 0 1.4-1.1 2.5-2.5 2.5-.1 0-.3 0-.4-.1-.3.6-.9.9-1.6.9-.3 0-.5 0-.8-.1-.3.7-1 1.2-1.9 1.2-.9 0-1.6-.5-1.9-1.3h-.4c-1.1 0-2-.8-2-1.9 0-.7.4-1.3 1-1.6-.1-.3-.2-.6-.2-.9 0-1.2 1-2.2 2.2-2.2.7 0 1.4.3 1.7.9z\"}},\npicklist_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.3 6.9H7.6c-.4 0-.8-.3-.8-.8V4.7c0-.5.4-.8.8-.8h14.7c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm0 6.6H7.6c-.4 0-.8-.3-.8-.8v-1.4c0-.5.4-.8.8-.8h14.7c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm-19.1 0H1.7c-.4 0-.7-.3-.7-.8v-1.4c0-.5.3-.8.7-.8h1.5c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm0-6.6H1.7c-.4 0-.7-.3-.7-.8V4.7c0-.5.3-.8.7-.8h1.5c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm0 13.2H1.7c-.4 0-.7-.3-.7-.8v-1.4c0-.5.3-.8.7-.8h1.5c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm19.1 0H7.6c-.4 0-.8-.3-.8-.8v-1.4c0-.5.4-.8.8-.8h14.7c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8z\"}},\npin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.8 7.1L16.6.9C16 .2 15 .2 14.3.9s-.6 1.6 0 2.3l.3.3-7.4 4.9-.3-.2c-.6-.6-1.6-.6-2.3 0s-.6 1.7 0 2.3l3.3 3.3-6.8 6.9c-.6.6-.6 1.7 0 2.3.7.7 1.7.7 2.4 0l6.8-6.8 2.9 2.9c.6.6 1.7.6 2.3 0s.7-1.7 0-2.3l-.2-.3L20.2 9l.3.3c.6.7 1.7.7 2.3 0 .6-.5.6-1.5 0-2.2z\"}},\npinned:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17 10.9h-.2l-1.6-7.3h.4c.8 0 1.4-.6 1.4-1.3S16.4 1 15.6 1H8.4C7.6 1 7 1.6 7 2.3s.6 1.3 1.4 1.3h.4l-1.6 7.3H7c-.7 0-1.3.6-1.3 1.4s.6 1.3 1.3 1.3h3.9v8c0 .8.6 1.4 1.4 1.4s1.4-.6 1.4-1.4v-7.9h3.4c.7 0 1.3-.6 1.3-1.4s-.6-1.4-1.4-1.4z\"}},\nplay:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.7 20.2V3.8c0-.4.6-.8 1-.4l15.3 8c.4.3.4.9 0 1.2l-15.3 8c-.4.4-1 .1-1-.4z\"}},\npodcast_webinar:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M22.2 10.5c0-2.2-.9-4.4-2.4-6.1l-.1-.2C17.8 2.2 15 .9 12 .9 9.1.9 6.4 2.1 4.6 4h-.1c-1.7 1.7-2.7 4.1-2.7 6.5 0 2.5 1 4.8 2.8 6.6.3.3.9.3 1.3 0s.3-1 0-1.4c-1.4-1.3-2.2-3.2-2.2-5.1 0-1.7.6-3.3 1.6-4.6.2-.2.3-.4.6-.6l.1-.1c1.5-1.6 3.6-2.5 6-2.5 4.5 0 8.2 3.5 8.3 7.8 0 1.9-.8 3.8-2.2 5.1-.4.4-.4 1 0 1.4s1 .3 1.3 0c1.8-1.8 2.8-4.1 2.8-6.6zm-3.9.1c0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-3.4-2.8-6-6.3-6-2.9 0-5.3 1.8-6 4.2-.2.6-.3 1.1-.3 1.7 0 1.5.5 2.8 1.5 3.9.4.3 1 .3 1.4 0 .4-.4.4-1 0-1.4-.7-.6-1-1.5-1-2.4 0-2.3 2-4.1 4.4-4.1s4.4 1.9 4.4 4.1c0 .9-.3 1.8-1 2.4-.4.4-.4 1 0 1.4.4.3.9.3 1.3 0 1-1.1 1.6-2.4 1.6-3.8zM13 15h-2c-.8 0-1.5.6-1.5 1.4v5.2c0 .8.7 1.5 1.5 1.5h2c.8 0 1.5-.6 1.5-1.5v-5.2c0-.8-.7-1.4-1.5-1.4z\"},\"circle\":{\"cx\":\"12\",\"cy\":\"10.708\",\"r\":\"2.492\"}}},\npop_in:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.2 14.4H19c.3 0 .7-.2.7-.6v-1.3c0-.4-.3-.8-.7-.8h-3.7c-.4 0-.6-.5-.3-.8l7.8-7.8c.3-.3.3-.7 0-1l-.9-.9c-.3-.3-.7-.3-1 0L13.1 9c-.3.3-.8.1-.8-.3V5c0-.3-.3-.8-.7-.8h-1.4c-.3 0-.6.5-.6.8v8.8c0 .4.2.6.6.6zm6.9 1.9h-1.9c-.2 0-.4.2-.4.5v2.8c0 .4-.4.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V9.9c0-.3.3-.7.6-.7h2.9c.3 0 .5-.2.5-.4V6.9c0-.3-.2-.4-.5-.4H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h12.9c1 0 1.8-.9 1.8-1.9v-4.4c0-.3-.1-.5-.4-.5z\"}},\npower:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.9 3.6c-.3-.2-.7 0-.7.4v1.7c0 .3.2.7.5.8 2.4 1.4 4 4.2 3.6 7.3-.3 3.3-3.1 6.1-6.5 6.5-4.4.5-8.2-3-8.2-7.4 0-2.7 1.5-5.1 3.7-6.4.3-.1.5-.5.5-.8V4c0-.4-.4-.6-.7-.4-3.9 1.6-6.6 5.6-6.2 10.2.4 4.8 4.2 8.7 8.9 9.2 6.1.7 11.4-4.1 11.4-10.1 0-4.2-2.6-7.8-6.3-9.3zm-2.5-2c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v7.9c0 .3.3.7.7.7h1.4c.4 0 .7-.4.7-.7V1.6z\"}},\npreview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.9 11.6C21.7 7.2 17.2 4.2 12 4.2S2.3 7.2.1 11.6c-.1.3-.1.6 0 .8 2.2 4.4 6.7 7.4 11.9 7.4s9.7-3 11.9-7.4c.1-.3.1-.5 0-.8zM12 17.1c-2.8 0-5.1-2.3-5.1-5.1S9.2 6.9 12 6.9s5.1 2.3 5.1 5.1-2.3 5.1-5.1 5.1zm0-8.3c-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\"}},\nprint:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.5 8h-19c-1 0-1.8.9-1.8 1.9v6.4c0 1.1.8 1.9 1.8 1.9h2.8v2.7c0 1 .8 1.8 1.8 1.8h9.8c1.1 0 1.9-.8 1.9-1.8v-2.7h2.7c1 0 1.9-.8 1.9-1.9V9.9c-.1-1-.9-1.9-1.9-1.9zM3.8 12.8c-.8 0-1.4-.6-1.4-1.4S3 10 3.8 10s1.4.6 1.4 1.4-.6 1.4-1.4 1.4zm12.8 7.1c0 .4-.4.7-.7.7H8c-.3 0-.7-.3-.7-.7v-4.5c0-.4.4-.7.7-.7h7.9c.3 0 .7.3.7.7v4.5zm2.1-14.8c0 .4-.3.7-.7.7H5.9c-.4 0-.7-.3-.7-.7V2c0-.4.3-.7.7-.7H18c.4 0 .7.3.7.7v3.1z\"}},\npriority:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.2 1.6c0-.4-.4-.7-.7-.7H2.1c-.4 0-.7.3-.7.7v20.8c0 .4.3.7.7.7h1.4c.3 0 .7-.3.7-.7V1.6zm17.7 2c-7.4 3.8-6.5-4.1-15.4-1-.3.1-.5.4-.5.6V14c0 .3.3.5.6.4 8.9-3 7.9 5.2 15.6.8.3-.1.4-.3.4-.6V3.9c0-.3-.4-.5-.7-.3z\"}},\nprivately_shared:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M16.4 18.2c-.3-1.9-2.2-2.8-3.8-3.5-.7-.3-1.7-.7-1.9-1.5-.2-.5-.1-1 .1-1.4.4-.4.8-.8 1.1-1.3.1-.1.1-.2.2-.3 1-1.4 1.1-3.2.5-4.8-.5-1.6-2-2.7-3.8-2.8h-.3c-1.8.1-3.2 1.2-3.8 2.8-.5 1.6-.4 3.4.5 4.8.1.1.2.2.2.3.4.5.8.9 1.2 1.3.1.4.2.9.1 1.4-.3.8-1.3 1.2-1.9 1.5-1.6.7-3.6 1.6-3.9 3.5-.3 1.6.8 3.2 2.4 3.2h10.9c1.5 0 2.6-1.6 2.2-3.2zm2.7-13.6c1.9-.1 3.4 1.4 3.4 3.2 0 .2-.1.2-.2.2h-.8c-.2 0-.2 0-.2-.2v.1c0-1.1-.9-2-1.9-2.1-1.2-.1-2.2.8-2.2 2 0 .1-.1.2-.2.2h-.8c-.1 0-.2-.1-.2-.2 0-1.7 1.4-3.1 3.1-3.2zm3.4 4.3H16c-.5 0-.9.3-.9.8v3.9c0 .4.4.8.9.8h6.5c.4 0 .8-.4.8-.8V9.7c0-.5-.4-.8-.8-.8zm-2.3 4c0 .1-.1.3-.2.3h-1.5c-.2 0-.3-.2-.2-.3l.3-1.2c-.3-.2-.5-.6-.4-1 .1-.4.4-.7.8-.8.7-.1 1.2.3 1.2 1 0 .3-.2.6-.4.8l.4 1.2z\"}},\nprocess:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.5 10.7l3.9-4.9c.3-.4.8-.4 1.1 0l3.9 5c.2.1.4.3.6.3h4.4c.4 0 .8-.3.8-.7V3.7c0-1-.9-1.9-1.9-1.9H3.7c-1 0-1.9.9-1.9 1.9v6.7c0 .4.4.7.7.7h4.4c.3 0 .4-.2.6-.4zm9 2.6l-3.9 4.9c-.3.4-.9.4-1.2 0l-3.9-5c-.2-.1-.3-.3-.6-.3H2.5c-.3 0-.7.3-.7.7v6.7c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9v-6.7c0-.4-.4-.7-.7-.7H17c-.2 0-.4.2-.5.4z\"}},\nprompt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M21.7 2.1H2.3c-.8 0-1.4.6-1.4 1.4v14.1c0 .8.6 1.4 1.4 1.4H9l1.7 2.4c.4.6 1.3.8 1.9.3l.3-.3 1.9-2.4h6.9c.8 0 1.4-.6 1.4-1.4V3.5c0-.8-.6-1.4-1.4-1.4z\"}},\nprompt_edit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M21.7 2.1H2.3c-.8 0-1.4.6-1.4 1.4v14.1c0 .8.6 1.4 1.4 1.4H9l1.7 2.4c.4.6 1.3.8 1.9.3l.3-.3 1.9-2.4h6.9c.8 0 1.4-.6 1.4-1.4V3.5c0-.8-.6-1.4-1.4-1.4zM9.8 14.8c-.1.1-.1.1-.2.1l-2.3.6c-.2 0-.4-.2-.4-.4l.6-2.3c0-.1 0-.2.1-.2.1-.1.2-.1.3 0l1.9 1.9c.1.1.1.2 0 .3zm5.6-5.7l-4.7 4.7c-.1.1-.3.1-.3 0L8.5 12c-.1-.1-.1-.2 0-.3l4.7-4.8c.1-.1.2-.1.3 0l1.9 1.9c.1.1.1.2 0 .3zm1.4-1.4l-.5.6c-.1.1-.2.1-.3 0l-1.9-1.9c-.1-.1-.1-.3 0-.3l.5-.6c.4-.3.9-.3 1.2 0l1 1.1c.4.3.4.8 0 1.1z\"}},\npush:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.3.9H9.2c-1 0-1.8.9-1.8 1.9 0 .3.2.7.4.8.2.1 1.9 1.9 1.9 1.9.2.1.4 0 .4-.2 0-.4.3-.7.7-.7h7.8c.4 0 .8.3.8.7v12.5c0 .3-.4.6-.8.6h-7.8c-.4 0-.6-.3-.6-.6v-.1c0-.2-.3-.3-.4-.1 0 0-1.8 1.7-2 1.8-.2.2-.4.5-.4.9v.9c0 1 .8 1.8 1.8 1.8h11.1c1 0 1.9-.8 1.9-1.8V2.8c0-1-.9-1.9-1.9-1.9zm-5.5 21.3c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zM12.7 11L7 5.3c-.3-.3-.7-.3-1 0l-1 .9c-.2.3-.2.7 0 1l2.2 2.1c.2.3 0 .8-.4.8H.7c-.4.1-.7.4-.7.7v1.4c0 .4.3.7.7.7h6.1c.4 0 .6.5.3.8L5 15.8c-.3.3-.3.7 0 1l1 1c.2.2.6.2.9 0l5.8-5.8c.3-.2.3-.7 0-1z\"}},\npuzzle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.8 17.7c-.1 1.3-.3 2.6-.5 3.9 0 .4-.5.8-.8.8-2.5.3-5 .5-7.5.5-2.4 0-4.9-.1-7.3-.5-.4 0-.8-.4-.9-.8-.3-2-.5-4.1-.5-6.2s.2-4.1.5-6.2c.1-.3.5-.7.9-.8 1.5-.2 3-.3 4.4-.4 0 0 1.2 0 1.1-1.2 0-1-1.8-1.7-1.8-3.4C8.4 2 9.8.9 12 .9c2.3 0 3.6 1.1 3.6 2.5 0 1.8-1.7 2.4-1.8 3.4C13.8 7.9 15 8 15 8c1.5.1 3 .2 4.5.4.3 0 .8.4.8.8.2 1.5.4 2.8.5 4.2 0 .4-.4.9-.8.9h-.4c-.4 0-1-.4-1.3-.7 0 0-1-1-2.1-1-1.7-.1-3 1.4-3 3s1.3 3.1 3 3.1c1-.1 2-1.1 2-1.1.4-.2 1-.5 1.4-.5h.4c.5 0 .8.3.8.6z\"}},\nquestion:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.1 17.5h-2.3c-.4 0-.6-.2-.6-.6v-.7c0-1.9 1.2-3.7 3-4.3.6-.2 1.1-.5 1.5-1 2.3-2.8.2-6.1-2.6-6.2-1 0-1.9.3-2.7 1-.6.6-1 1.3-1 2.1-.1.2-.4.5-.7.5H5.4c-.5 0-.8-.4-.7-.8.1-1.7.9-3.3 2.2-4.5C8.4 1.6 10.2.8 12.3.9c3.8.1 6.9 3.3 7.1 7.1.1 3.2-1.9 6.1-4.9 7.2-.4.2-.7.5-.7 1v.6c0 .5-.3.7-.7.7zm.7 4.9c0 .4-.3.7-.6.7h-2.4c-.3 0-.6-.3-.6-.7v-2.3c0-.4.3-.7.6-.7h2.4c.3 0 .6.3.6.7v2.3z\"}},\nquestion_mark:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.3 19.8c.4 0 .7.3.7.6v1.5c0 .4-.3.7-.7.7h-1.5c-.3 0-.6-.3-.6-.7v-1.5c0-.3.3-.6.6-.6h1.5zm.7-3.6c0-1 .6-1.8 1.4-2.2h.1c2.4-1 4.1-3.3 4.1-6.1 0-3.6-3-6.6-6.6-6.6-3.3 0-6.1 2.5-6.6 5.7 0 .4.3.8.7.8h1.5c.4 0 .7-.3.7-.6.3-1.8 1.9-3 3.7-3 2 0 3.7 1.6 3.7 3.7 0 1-.4 1.8-1 2.5v.1c-.4.4-1 .7-1.5.9-1.9.6-3.1 2.4-3.1 4.3v.7c0 .4.2.7.6.7h1.5c.4 0 .7-.3.7-.7l.1-.2z\"}},\nquestions_and_answers:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 12.9c0-1.8-1.2-3.3-2.8-3.9C20.2 4.5 16.5.9 12 .9S3.8 4.5 3.7 9C2.1 9.6.9 11.1.9 12.9c0 2 1.4 3.6 3.1 4 1 3.6 4.2 6.2 8 6.2s7-2.6 8-6.2c1.7-.4 3.1-2 3.1-4zm-4.6-4.1l-.1-.1.2.1h-.1zM12 21.2c-3.6 0-6.5-3-6.5-6.6 0-.9.2-2.3.6-3.2 0-.1.1-.2.2-.4 1.4-.5 2.6-1.5 3.3-2.7 1.7 2 4.2 3.4 7 3.4H18c.1.6.3 1.3.4 2.1-.3 1.1-2.1 2.2-4.6 2.4-.1-.3-.4-.5-.7-.5h-2.3c-.4 0-.6.4-.6.7v1.4c0 .4.2.7.6.7h2.3c.3 0 .6-.2.7-.5 1.6 0 3.1-.5 4.2-1.2-.8 2.6-3.2 4.4-6 4.4z\"}},\nquick_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 1.5C5.8 1.5.7 6.2.7 11.9c0 1.8.5 3.5 1.4 5 .1.3.2.5.1.8l-1.5 4c-.1.4.2.7.6.6l4.1-1.5c.2-.1.5-.1.7.1 1.7.9 3.8 1.5 6 1.5 6.2-.1 11.3-4.7 11.3-10.4 0-5.8-5.1-10.5-11.4-10.5zm-5.2 10c0-.2.2-.4.4-.4h7.4c.2 0 .4.2.4.4v1c0 .2-.1.4-.4.4H7.2c-.2 0-.5-.2-.5-.4v-1zM17.4 16c0 .2-.2.4-.5.4H7.2c-.2 0-.5-.2-.5-.4v-.9c0-.2.2-.5.5-.5h9.7c.2 0 .5.2.5.5v.9zm0-7.1c0 .2-.2.5-.5.5H7.2c-.2 0-.5-.2-.5-.5V8c0-.2.2-.4.5-.4h9.7c.2 0 .5.2.5.4v.9z\"}},\nquip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.3 1C5.8 1.3 1.3 5.8 1 11.3c-.5 6.4 4.6 11.8 11 11.8h11.1V12c0-6.4-5.4-11.5-11.8-11zM6.7 7.2c0-.5.4-.8.8-.8h9c.4 0 .8.3.8.8v.7c0 .4-.4.7-.8.7H7.4c-.4 0-.7-.3-.7-.7v-.7zm10.6 9.6c0 .4-.4.7-.8.7H7.4c-.4 0-.7-.3-.7-.7V16c0-.4.3-.7.7-.7h9.1c.4 0 .7.3.7.7v.8h.1zm2.7-4.4c0 .4-.3.7-.7.7H4.7c-.5 0-.8-.3-.8-.7v-.8c0-.4.3-.7.8-.7h14.6c.4 0 .7.3.7.7v.8z\"}},\nquotation_marks:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.4 3c-4.1 0-7.3 3.2-7.3 7.4v9.9c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-7.8c0-.4-.3-.7-.7-.7h-5.7v-1.4c0-2.3 2.2-4.6 4.5-4.6h1.2c.4 0 .7-.4.7-.7V3.7c0-.4-.3-.7-.7-.7h-1.2zM9 3c-4.2 0-7.3 3.2-7.3 7.4v9.9c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-7.8c0-.4-.3-.7-.7-.7H4.4v-1.4c0-2.3 2.3-4.6 4.6-4.6h1.2c.4 0 .7-.4.7-.7V3.7c0-.4-.3-.7-.7-.7H9z\"}},\nquote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.9 1h-8.1c-.5-.1-1 .2-1.4.6l-9.8 9.9c-.9.8-.9 2.3 0 3.1l7.8 7.9c.8.8 2.3.8 3.2 0l10-10.1c.3-.4.6-1 .5-1.5V3.2c0-1.2-1-2.2-2.2-2.2zm-8 16.2l-.5.5c-.3.3-.8.3-1 0l-5.1-5c-.3-.2-.3-.7 0-1l.5-.5c.3-.3.8-.3 1 0l5.1 5c.3.3.3.7 0 1zm2.9-2.9l-.5.5c-.3.2-.7.2-1 0l-5-5c-.3-.3-.3-.8 0-1l.5-.5c.3-.3.7-.3 1 0l5 5c.4.2.4.7 0 1zM17.9 8c-1 0-1.8-.8-1.8-1.9s.8-1.8 1.8-1.8 1.9.8 1.9 1.8S18.9 8 17.9 8z\"}},\nradio_button:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6 13.2c-2.7 0-4.8 2.1-4.8 4.8s2.1 4.9 4.8 4.9c2.7 0 4.9-2.2 4.9-4.9S8.7 13.2 6 13.2zm0 7.5c-1.4 0-2.7-1.2-2.7-2.7s1.2-2.7 2.7-2.7 2.8 1.2 2.8 2.7-1.3 2.7-2.8 2.7zm12-7.5c-2.7 0-4.9 2.1-4.9 4.8 0 2.7 2.1 4.9 4.9 4.9 2.6 0 4.8-2.1 4.8-4.9 0-2.7-2.1-4.8-4.8-4.8zM6 1.2C3.3 1.2 1.2 3.3 1.2 6c0 2.7 2.1 4.9 4.8 4.9 2.7 0 4.9-2.1 4.9-4.9 0-2.7-2.2-4.8-4.9-4.8zm0 7.5C4.6 8.7 3.3 7.5 3.3 6S4.5 3.3 6 3.3 8.8 4.5 8.8 6 7.5 8.7 6 8.7zm12-7.5c-2.7 0-4.9 2.1-4.9 4.8 0 2.7 2.1 4.9 4.9 4.9 2.6 0 4.8-2.1 4.8-4.9 0-2.7-2.1-4.8-4.8-4.8z\"}},\nrating:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.3 19.8v2.4c0 .5-.4.9-.9.9h-.9c-.5 0-.9-.4-.9-.9v-2.4c0-.2.2-.4.4-.3 0 0 .5.1 1 .1s.9-.1.9-.1c.3-.1.5.1.4.3zM5.1 5V1.8c0-.5-.4-.9-.9-.9h-1c-.5 0-.9.4-.9.9V5C1.5 5.4.9 6.4.9 7.4c0 1.5 1.3 2.8 2.8 2.8s2.8-1.3 2.8-2.8c0-1-.6-2-1.4-2.4zm-.5 7.1s-.5.1-1 .1-.9-.1-.9-.1c-.2-.1-.4.1-.4.4v9.7c0 .5.4.9.9.9h.9c.5 0 .9-.4.9-.9v-9.7c.1-.3-.1-.5-.4-.4zm16.6 1.8s-.5.2-.9.2-1-.2-1-.2c-.2 0-.4.1-.4.4v7.9c0 .5.4.9.9.9h.9c.5 0 .9-.4.9-.9v-7.9c.1-.2-.1-.4-.4-.4zm.5-7.1v-5c0-.5-.4-.9-.9-.9h-1c-.5 0-.9.4-.9.9v5c-.8.5-1.4 1.4-1.4 2.4 0 1.6 1.3 2.8 2.8 2.8s2.8-1.2 2.8-2.8c0-1-.6-1.9-1.4-2.4zm-8.3 5.6V1.8c0-.5-.4-.9-.9-.9h-1c-.5 0-.9.4-.9.9v10.6c-.8.4-1.4 1.4-1.4 2.4 0 1.5 1.3 2.7 2.8 2.7s2.8-1.2 2.8-2.7c0-1-.6-2-1.4-2.4z\"}},\nreassign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.7 4.7C8.4 2.4 4.6 1.6 1.3 2.6c-.1 0-.3.3-.3.6V5c0 .4.3.5.5.4C4 4.4 7.1 4.9 9 7l.6.5c.2.3 0 .8-.4.8H5.6c-.3 0-.7.2-.7.7v1.3c0 .4.3.7.7.7l8.9.1c.4 0 .7-.3.7-.7V1.6c0-.4-.2-.7-.7-.7h-1.3c-.4 0-.8.3-.8.7v3.6c0 .4-.5.6-.8.3 0 .1-.9-.8-.9-.8zm-9.1 8.1H3c.4 0 .7.4.7.7v6.1c0 .4.3.7.7.7h15.2c.4 0 .7-.3.7-.7V7.8c0-.4-.3-.7-.7-.7h-1.8c-.4 0-.7-.3-.7-.7V5c0-.3.3-.7.7-.7h3.4c1 0 1.9.9 1.9 1.9v15c0 1-.9 1.9-1.9 1.9H2.8c-1 0-1.9-.9-1.9-1.9v-7.7c0-.3.3-.7.7-.7z\"}},\nrecord:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 3.7c4.6 0 8.3 3.7 8.3 8.3s-3.7 8.3-8.3 8.3-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7z\"}},\nrecord_create:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.9 5.4h8.2c.4 0 .7-.4.7-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12.2-2.6h-.7c-.2 0-.4.1-.4.3v1.5c0 1.6-1.3 3-2.9 3H7.9C6.3 7.6 5 6.2 5 4.6V3.1c0-.2-.2-.3-.4-.3h-.7c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zm-2.7 13c0 .2-.2.4-.4.4h-4c-.2 0-.3 0-.3.2v4c0 .2-.1.4-.3.4h-.8c-.2 0-.3-.2-.3-.4v-4c0-.2-.1-.2-.3-.2H7c-.2 0-.4-.2-.4-.4V15c0-.1.2-.3.4-.3h4c.2 0 .3-.1.3-.3v-4c0-.2.1-.4.3-.4h.8c.2 0 .3.2.3.4v4c0 .2.1.3.3.3h4c.2 0 .4.2.4.3v.8z\"}},\nrecord_delete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.9 5.4h8.2c.4 0 .7-.4.7-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12.2-2.6h-.7c-.2 0-.4.1-.4.3v1.5c0 1.6-1.3 3-2.9 3H7.9C6.3 7.6 5 6.2 5 4.6V3.1c0-.2-.2-.3-.4-.3h-.7c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zm-4.3 16.8c0 .6-.5 1.1-1.1 1.1H9.3c-.7 0-1.1-.5-1.1-1.1v-4.8c0-.2.1-.3.3-.3h7c.2 0 .3.1.3.3v4.8zm1-6.9c0 .2-.2.3-.4.3H7.6c-.2 0-.3-.1-.3-.3V12c0-.2.1-.3.3-.3h2.8v-.9c0-.6.4-1 1-1h1.3c.5 0 .9.4.9 1v.9h2.8c.2 0 .4.1.4.3v.7zm-5.7 3.4h-.5c-.1 0-.2.1-.2.2v2.6c0 .2.1.3.2.3h.5c.1 0 .2-.1.2-.3v-2.6c0-.1-.1-.2-.2-.2zm2.2 0h-.4c-.2 0-.3.1-.3.2v2.6c0 .2.1.3.3.3h.4c.2 0 .3-.1.3-.3v-2.6c0-.1-.1-.2-.3-.2zm-.8-5.3h-1c-.1 0-.2.1-.2.2v.7h1.3V11c.1-.1 0-.2-.1-.2z\"}},\nrecord_lookup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.9 5.4h8.2c.4 0 .7-.4.7-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12.2-2.6h-.7c-.2 0-.4.1-.4.3v1.5c0 1.6-1.3 3-2.9 3H7.9C6.3 7.6 5 6.2 5 4.6V3.1c0-.2-.2-.3-.4-.3h-.7c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zm-2.8 17.6l-.5.4c-.1.2-.3.2-.4 0l-3-3c-.9.6-2 .9-3.1.8-1.9-.3-3.5-1.9-3.7-3.9-.2-2.7 2-4.9 4.7-4.6 2 .1 3.6 1.7 3.8 3.6.2 1.2-.1 2.3-.7 3.1l3 3c0 .2 0 .4-.1.6zm-6.5-9c-1.6 0-2.9 1.4-2.9 3s1.3 2.9 2.9 2.9 3-1.3 3-2.9-1.3-3-3-3z\"}},\nrecord_update:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.9 5.4h8.2c.4 0 .7-.4.7-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12.2-2.6h-.7c-.2 0-.4.1-.4.3v1.5c0 1.6-1.3 3-2.9 3H7.9C6.3 7.6 5 6.2 5 4.6V3.1c0-.2-.2-.3-.4-.3h-.7c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zM15.7 14l-5.9 5.9-2.6.8c-.2 0-.5-.2-.4-.4l.7-2.6 5.9-5.9c.1-.1.3-.1.4 0l1.8 2c.2 0 .2.1.1.2zm1.7-1.7l-.7.8c-.1.1-.3.1-.4 0l-1.9-2c-.1-.1-.1-.2 0-.3l.7-.7c.4-.4 1-.4 1.3 0l1 .9c.4.4.4 1 0 1.3z\"}},\nrecurring_exception:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18 16.2L12.8 11l-.3-.3-4.6-4.6-2-2-2.3-2.3c-.3-.3-.8-.4-1.1-.1l-.9 1c-.3.2-.3.6-.1.9l18.7 18.7.1.1c.3.3.8.4 1.1.1l.9-.9c.3-.3.3-.8-.1-1.2L20 18.3l-2-2.1zM11.5 5.1c1.8 0 3.6.7 4.9 2 .2.2.4.4.5.7.2.3-.1.5-.6.5H13l2.7 2.8h5.9c.3 0 .6-.3.6-.6V2.1c-.1-.4-.5-.7-.8-.7H20c-.4 0-.7.3-.7.7v3.2c0 .4-.2.6-.6.3-.1-.2-.2-.3-.4-.4-2.3-2.3-5.6-3.3-8.9-2.7-.6.2-1.1.3-1.7.6l2.2 2.2c.5-.2 1-.2 1.6-.2zm.9 14c-1.8 0-3.6-.7-4.9-2-.2-.2-.4-.4-.5-.7-.2-.3.2-.5.6-.5h3.2s.1 0 .2-.1l-2.7-2.7H2.4c-.3 0-.6.3-.6.6v8.4c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-3.2c0-.4.2-.6.6-.3.1.1.2.3.4.4 2.3 2.3 5.6 3.3 8.9 2.6.6-.1 1.1-.2 1.7-.5L14 18.9c-.5.1-1 .2-1.6.2z\"}},\nrecycle_bin_empty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21 4.6h-5.8V2.8c0-1-.8-1.9-1.9-1.9h-2.7c-1 0-1.9.9-1.9 1.9v1.8H3c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h18c.3 0 .6-.3.6-.7V5.3c0-.4-.2-.7-.6-.7zm-7.7 0h-2.7V3.2c0-.2.2-.4.4-.4h1.9c.3 0 .4.2.4.4v1.4zm5.9 4.6H4.8c-.3 0-.6.4-.6.7v10.9c0 1.3 1 2.3 2.3 2.3h11c1.3 0 2.3-1 2.3-2.3V9.9c0-.3-.3-.7-.6-.7zm-8.5 11.5l-2.3.1c-.1 0-1 0-1.6-1-.6-1-.1-1.8.6-3l-.7-.5c-.1 0-.1-.1-.1-.1l.2-.2 1.8-.4.1-.1c.1 0 .2 0 .3.1v.2l.4 1.8c0 .1 0 .2-.1.2-.1.1-.1.1-.2 0l-.6-.4c-.7 1.1-.7 1.4-.6 1.7.2.3.5.3.5.3h2.3c.2 0 .5.1.6.3.1.1.1.2.1.3 0 .4-.3.7-.7.7zm1.7-6.7c0-.1 0-.2.1-.2l.6-.3c-.5-1.1-.8-1.4-1.1-1.4-.4 0-.5.2-.5.3l-1.2 1.9c-.1.2-.3.3-.6.3-.1 0-.2-.1-.3-.1-.3-.2-.4-.6-.2-.9l1.2-1.9c.1-.1.5-.9 1.6-.9 1.2 0 1.6.9 2.3 2.2l.7-.4c.1 0 .2 0 .2.1.1 0 .1.1.1.2l-.7 1.9s0 .1-.1.1h-.1l-1.9-.7c-.1-.1-.1-.1-.1-.2zm4.8 5.7c-.5 1-1.6 1-2.9 1l-.1.8c0 .1 0 .1-.1.1s-.1.1-.2 0l-1.3-1.4c-.1-.1 0-.3 0-.3v-.1l1.5-1.2c.1-.1.1-.1.2-.1s.1.1.1.2v.7c1.2 0 1.6-.1 1.8-.3.1-.3 0-.5 0-.6l-1.2-2v-.6l.3-.3c.3-.2.7-.1.9.3l1.2 2c0 .1.3.8-.2 1.8z\"}},\nrecycle_bin_full:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.4 3.3l-5.5.9-.3-1.8c-.2-1-1.1-1.6-2-1.5l-2.7.5c-1 .1-1.6 1-1.5 2l.3 1.8-5.5.8c-.3.1-.6.5-.5.8l.2 1.3c.1.4.4.6.8.6l17.1-2.8c.4 0 .6-.4.6-.8l-.3-1.3c0-.3-.4-.6-.7-.5zm-7.3 1.2l-2.6.4-.3-1.3c0-.2.1-.5.4-.5l1.8-.3c.2 0 .4.1.5.4l.2 1.3zm6 5.2H5.3c-.4 0-.7.3-.7.7v10.5c0 1.2.9 2.2 2.2 2.2h10.7c1.2 0 2.2-1 2.2-2.2V10.4c.1-.4-.2-.7-.6-.7zM11 20.8l-2.3.1c-.1 0-.9 0-1.5-.9-.6-1-.1-1.8.6-3l-.6-.4c-.1 0-.1-.1-.1-.2s0-.1.1-.1l1.8-.4.1-.1c.1 0 .1 0 .2.2l.1.1.3 1.8c0 .1 0 .1-.1.2h-.2l-.5-.4c-.6 1-.7 1.4-.6 1.6.2.3.4.4.4.4l2.2-.1c.3 0 .5.1.6.3.1.1.1.2.1.3 0 .3-.2.6-.6.6zm1.6-6.5c0-.1 0-.1.1-.2l.6-.3c-.6-1-.7-1.3-1.1-1.3-.3 0-.4.2-.5.2l-1.1 1.9c-.1.2-.4.3-.6.3-.1 0-.2 0-.3-.1-.3-.2-.4-.5-.2-.9l1.2-1.9s.5-.7 1.5-.7c1.1 0 1.6.8 2.2 2l.7-.3c.1 0 .1 0 .2.1 0 0 .1.1 0 .1l-.5 1.8c0 .1-.1.1-.1.1h-.2l-1.8-.7c-.1 0-.1 0-.1-.1zm4.7 5.5c-.6 1-1.5 1-2.9.9v.8c0 .1-.1.1-.1.1s-.1.1-.2 0l-1.4-1.4c-.1-.1 0-.2 0-.2l.1-.1 1.5-1.3h.1s.1.1.1.2v.7c1.1 0 1.5-.1 1.7-.3s0-.6 0-.6l-1.1-1.9c-.1-.2-.1-.5 0-.6.1-.1.1-.2.2-.3.3-.2.7-.1.9.3l1.1 1.9c.1.1.5.8 0 1.8zM9.9 8.7L18 7.4v1.3z\"}},\nredo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.4 5.8h.3c.5 0 .5-.4.2-.6l-2.3-2.3c-.2-.2-.2-.7 0-1l1-.9c.2-.3.7-.3 1 0l5.9 5.9c.3.3.3.6 0 .9l-6 6c-.3.2-.6.2-.9-.1l-1-1c-.2-.3-.3-.7 0-1l2.2-2.2c.4-.4.5-.6.1-.8-.1-.1-.5-.1-.5-.1H10c-3.3 0-5.9 2.7-5.9 5.9s2.6 5.9 5.9 5.9h3.7c.4 0 .7.4.7.7v1.5c0 .4-.3.7-.6.7H10c-4.8 0-8.8-3.9-8.8-8.8s4-8.7 8.8-8.7h6.4z\"}},\nrefresh:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.5 1.8h-1.4c-.4 0-.7.4-.7.7v3.3c0 .4-.2.6-.6.3-.1-.2-.2-.3-.4-.5-2.3-2.3-5.6-3.2-8.9-2.6-1.1.2-2.3.7-3.2 1.3-2.8 1.9-4.5 4.9-4.5 8.1 0 2.5.9 5 2.7 6.8 1.8 1.9 4.3 3 7 3 2.3 0 4.6-.8 6.3-2.3.3-.3.3-.7.1-1l-1-1c-.2-.2-.7-.3-.9 0-1.7 1.3-4 1.9-6.2 1.3-.6-.1-1.2-.4-1.8-.7-2.6-1.6-3.8-4.7-3.1-7.7.1-.6.4-1.2.7-1.8 1.3-2.2 3.6-3.5 6-3.5 1.8 0 3.6.8 4.9 2.1.2.2.4.4.5.6.2.4-.2.6-.6.6h-3.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.6.7.6h8.4c.3 0 .6-.2.6-.6V2.5c0-.3-.4-.7-.7-.7z\"}},\nrelate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zm-3.7 6.5c0 .2-.2.5-.4.5H9.7v2.7c0 .3-.2.5-.5.5h-.9c-.2 0-.5-.2-.5-.5v-2.7H5.1c-.3 0-.5-.3-.5-.5v-.9c0-.3.2-.5.5-.5h2.7v-2.8c0-.2.3-.4.5-.4h.9c.3 0 .5.2.5.4v2.8h2.8c.2 0 .4.2.4.5v.9zm6.9 3.7h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2z\"}},\nreminder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M29.9 8.8V9v-.2z\"},{\"d\":\"M23.2 3.5C22.9 2.1 21.8.9 20.4.7c-1.1-.1-2 .2-2.7.8-.3.2-.2.5.1.6 1.7.9 3.2 2.2 4.3 3.8.1.2.5.2.7 0 .4-.7.6-1.5.4-2.4zm-17-1.3c.3-.1.3-.5.1-.7C5.6.9 4.7.6 3.6.8 2.2 1 1 2.1.8 3.5c-.2.9 0 1.7.5 2.4.1.2.5.2.6 0C3 4.4 4.5 3 6.2 2.2zM12 3C6.4 3 1.8 7.6 1.8 13.2c0 2.2.8 4.3 2 6l-1.5 1.5c-.6.6-.6 1.5 0 2.1.3.3.7.5 1.1.5.3 0 .7-.2 1-.5L6 21.3c1.7 1.2 3.7 2 6 2s4.3-.8 6-2l1.5 1.5c.3.3.7.5 1.1.5.4 0 .8-.2 1.1-.5.6-.6.6-1.5 0-2.1l-1.5-1.5c1.2-1.7 2-3.8 2-6C22.2 7.5 17.6 3 12 3zM4.8 13.1C4.8 9.2 8.1 6 12 6s7.2 3.2 7.2 7.2-3.2 7.1-7.2 7.1-7.2-3.2-7.2-7.2zm8.4-.4v-3c0-.6-.6-1.1-1.2-1.1s-1.1.5-1.1 1.1v3.4c0 .3.1.6.4.8l2.6 2.6c.2.3.5.3.8.3.3 0 .5 0 .8-.3.4-.4.4-1.1 0-1.5l-2.3-2.3z\"}]},\nremove_formatting:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.8 18.9l2.1-2.1c.2-.2.2-.5 0-.7l-1.3-1.3c-.1-.2-.4-.2-.6 0L18.9 17l-2-2c-.1-.2-.4-.2-.6 0L15 16.3c-.2.2-.2.5 0 .6l2 2-2 2c-.1.1-.1.4 0 .6l1.3 1.3c.2.2.5.2.7 0l1.9-1.9 2.1 2c.2.2.5.2.6 0l1.3-1.3c.2-.1.2-.4 0-.6l-2.1-2.1zM2.2 3.7h5L5.3 14.4c-.1.5.2.8.7.8h2.3c.3 0 .7-.2.7-.5l1.9-11H16c.3 0 .7-.2.7-.6l.2-1.4c.1-.4-.2-.8-.7-.8H2.4c-.3 0-.6.3-.6.6l-.3 1.4c-.1.4.3.8.7.8zm10.7 14.1c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6h10.6c.4 0 .7-.3.7-.6v-1.4z\"}},\nremove_link:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.1 16.9c-.3 0-.6-.1-.9-.1-.2-.1-.6-.2-.8-.3-.2 0-.4 0-.5.1l-.2.2c-1.1 1.2-3 1.3-4.3.2-1.3-1.2-1.4-3.2-.1-4.5l3-3c.5-.5.9-.7 1.4-.8.7-.2 1.4-.2 2 .1.3.2.7.4 1 .7.1.1.3.3.4.6.1.2.5.3.7.1L14 9c.2-.2.2-.4 0-.6-.2-.2-.3-.4-.5-.6-.3-.3-.7-.6-1-.8-.6-.4-1.2-.6-1.9-.8-1.2-.2-2.6 0-3.8.6-.4.3-.8.6-1.2 1l-3 2.9c-2.1 2.1-2.3 5.6-.2 7.8 2.2 2.3 5.8 2.4 8 .1l1-1c.3-.2.1-.7-.3-.7zm7.6-6.5c2.2-2.2 2.2-5.9-.1-8-2.3-2.1-5.7-1.9-7.8.2l-1 .9c-.2.3-.1.7.3.8.6 0 1.2.1 1.7.3.2.1.4 0 .5-.1l.2-.2c1.1-1.1 3-1.3 4.3-.2 1.3 1.2 1.4 3.3.1 4.5l-3.1 3.1c-.4.4-.8.6-1.3.8-.7.1-1.4.1-2-.2-.3-.1-.7-.3-1-.7-.1-.1-.3-.3-.4-.5-.1-.3-.5-.3-.7-.1l-1.1 1.1c-.2.2-.2.5-.1.6.2.3.4.5.6.7.3.3.6.5 1 .8.6.3 1.2.6 1.9.7 1.2.2 2.5.1 3.7-.6.5-.2.9-.5 1.3-.9l3-3zm2.1 8.5l2.1-2.1c.2-.2.2-.5 0-.6l-1.3-1.3c-.1-.2-.4-.2-.6 0L18.9 17l-2-2c-.1-.1-.4-.1-.6 0L15 16.3c-.2.2-.2.5 0 .7l2 2-2 1.9c-.1.2-.1.5 0 .7l1.3 1.2c.2.2.5.2.7 0l1.9-1.9L21 23c.2.2.5.2.6 0l1.3-1.3c.2-.2.2-.5 0-.7l-2.1-2.1z\"}},\nreplace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.2 17.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7v-5.1zm-5.5-7.1H1.5c-.5 0-.7.4-.4.6l3.7 3.8c.1.2.4.2.6 0l3.7-3.8c.3-.3 0-.6-.4-.6H6.5c0-2.4 2.3-4.7 4.6-4.7V2.8c-4.2 0-7.4 3.2-7.4 7.4zm15.6-.8c-.2-.2-.5-.2-.7 0L15 13.2c-.3.3-.1.6.4.6h2.2c0 2.8-1.9 4.7-4.7 4.7v2.7c4.2 0 7.5-3.2 7.5-7.4h2.2c.5 0 .7-.4.4-.6l-3.7-3.8zm3.8-7.8c0-.4-.3-.7-.7-.7h-6.9c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7V1.6z\"}},\nreply:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.9 8.4s-.5-.6-.3-.8L11.2 5c.3-.3.3-.7 0-1l-1-1c-.2-.3-.6-.3-.9 0L3 9.2c-.2.3-.2.7 0 1l6.3 6.2c.3.3.7.3.9 0l1-.9c.3-.3.3-.7 0-1l-2.5-2.6c-.3-.3-.1-.7.2-.8 5.1.2 9.3 4.3 9.6 9.5 0 .4.3.7.7.7h1.4c.4 0 .6-.3.6-.8-.3-6.7-5.4-11.9-12.3-12.1z\"}},\nreply_all:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.3 8.4s-.5-.6-.3-.8L13.6 5c.3-.3.3-.7 0-1l-1-1c-.2-.3-.6-.3-.9 0L5.4 9.2c-.2.3-.2.7 0 1l6.3 6.2c.3.3.7.3.9 0l1-.9c.3-.3.3-.7 0-1l-2.5-2.6c-.3-.3-.1-.7.2-.8 5.1.2 9.3 4.3 9.6 9.5 0 .4.3.7.7.7H23c.4 0 .6-.3.6-.8-.3-6.7-5.4-11.9-12.3-12.1zm-8.8 1l5.3-5.3c.3-.3.3-.7 0-1V3c-.3-.3-.7-.3-1 0L.6 9.2c-.3.3-.3.7 0 1l6.2 6.2c.3.3.7.3 1 0 .3-.3.3-.7 0-1l-5.3-5.3s-.3-.3 0-.7z\"}},\nreport_issue:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M10.5 21.1v.5c0 .5-.4.9-.9.9H1.9c-.6 0-1-.4-1-.9v-.5c0-1.2 1.4-1.9 2.7-2.5h.1c.1-.1.2-.1.3 0 .5.3 1.1.5 1.8.5.6 0 1.2-.2 1.7-.5.1-.1.2-.1.3 0h.1c1.3.6 2.6 1.3 2.6 2.5z\"},{\"d\":\"M16.1 1.5c-4 0-7.1 3-7.1 6.7 0 1.1.3 2.3.9 3.3.1.1.1.2.1.4L9.2 14c-.1.3.1.5.4.6h.2l2.1-.8c.1 0 .3 0 .4.1 1.1.6 2.4 1 3.7 1 3.9 0 7-3 7-6.7.1-3.7-3.1-6.7-6.9-6.7zm-.5 2.6h1.3v3.2l-.1 2.2h-1.1l-.1-2.2V4.1zm.6 8c-.6 0-.8-.4-.8-.8s.2-.9.8-.9.9.4.9.9c0 .4-.2.8-.9.8z\"}],\"ellipse\":{\"cx\":\"5.723\",\"cy\":\"15.554\",\"rx\":\"2.4\",\"ry\":\"2.631\"}}},\nreset_password:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.4 10.6H4.6c-1 0-1.8.8-1.8 1.9v8.7c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9v-8.7c0-1.1-.8-1.9-1.8-1.9zm-5.1 9.9c-.7.5-1.5.7-2.3.7-.3 0-.6 0-.8-.1-1.1-.2-2.1-.8-2.7-1.7l1.6-1c.3.5.8.8 1.4.9.6.2 1.2 0 1.8-.3 1.1-.7 1.3-2.2.6-3.2-.3-.5-.8-.9-1.4-1-.6-.1-1.2 0-1.8.4l-.3.3 1.6 1.6H7.8v-4.2L9 14.1c.2-.2.5-.3.6-.5 1-.6 2.1-.8 3.2-.6 1.1.2 2 .8 2.6 1.7 1.3 2 .8 4.5-1.1 5.8zM4.6 8.4v.1-.1zm.5.4h1.8c.3 0 .5-.2.5-.4v-.1c0-2.6 2.2-4.8 4.9-4.6 2.5.2 4.3 2.3 4.3 4.8v-.1c0 .2.2.4.5.4h1.8c.3 0 .5-.2.5-.4v-.1c0-4.2-3.5-7.6-7.8-7.4-3.9.2-6.9 3.5-7 7.5.1.2.2.4.5.4z\"}},\nresource_absence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.1 17.1c0-1.3.4-2.7 1.1-3.8.8-1.4 1.6-1.9 2.3-3 1.2-1.7 1.4-4.1.7-6-.8-1.9-2.5-3-4.6-2.9S6 2.7 5.3 4.6c-.7 2-.4 4.5 1.3 6.1.6.7 1.3 1.7.9 2.6-.3 1-1.4 1.4-2.2 1.7-1.8.8-4 1.9-4.3 4.1-.4 1.7.8 3.5 2.7 3.5h7.8c.4 0 .6-.4.4-.7-1.1-1.4-1.8-3.1-1.8-4.8zm11.3-3.9c-2.2-2.2-5.7-2.2-7.8 0-2.2 2.1-2.2 5.6 0 7.8 2.1 2.2 5.6 2.2 7.8 0s2.2-5.7 0-7.8zM19.8 18c.2.2.2.6 0 .7l-.7.7c-.2.2-.4.2-.6-.1l-1-.9-1 1c-.2.2-.4.2-.6-.1l-.7-.6c-.2-.2-.2-.4 0-.6l1-1-1-1c-.2-.2-.2-.5 0-.6l.6-.7c.2-.2.5-.2.7 0l1 .9 1-.9c.1-.2.5-.3.7-.1l.6.7c.2.2.2.5 0 .7l-1 .9 1 1z\"}},\nresource_capacity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 11.5c-3.1 0-5.6 2.6-5.6 5.7s2.5 5.6 5.6 5.6 5.6-2.6 5.6-5.6-2.5-5.7-5.6-5.7zm3.9 6.2h-4v-4.3s1.5-.1 2.9 1.4 1.1 2.9 1.1 2.9zm-11.2-.5c0-1.2.5-2.7 1.1-3.8.8-1.4 1.7-2 2.4-3 1.1-1.7 1.3-4.2.6-6.1-.7-1.9-2.5-3-4.6-2.9-2 0-3.7 1.3-4.3 3.2-.8 2.1-.5 4.6 1.2 6.2.7.6 1.3 1.7 1 2.7-.4.9-1.5 1.3-2.2 1.7-1.8.8-4.1 1.9-4.4 4-.4 1.8.8 3.6 2.7 3.6h7.9c.4 0 .6-.4.4-.7-1.1-1.4-1.8-3.1-1.8-4.9z\"}},\nresource_territory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.3 13.4c.9-1.4 1.9-2 2.6-3 1.1-1.7 1.3-4.2.6-6-.7-1.9-2.5-3-4.5-3S7.3 2.7 6.6 4.6c-.7 2.1-.4 4.6 1.3 6.2.7.6 1.3 1.6 1 2.6-.4.9-1.5 1.3-2.3 1.7-1.8.8-3.9 1.9-4.3 4-.4 1.8.8 3.6 2.7 3.6h8.3c.4 0 .7-.5.5-.7-1.2-1.4-2.4-3.1-2.4-4.9 0-1.2.3-2.6.9-3.7zm5.1 4.8c-1 0-1.8-.8-1.8-1.8s.8-1.7 1.8-1.7 1.8.8 1.8 1.7c0 1-.8 1.8-1.8 1.8zm0-6c-2.4 0-4.2 1.9-4.2 4.2 0 2.9 3 5.7 3.9 6.4.2.1.4.1.6 0 .9-.8 3.9-3.5 3.9-6.4 0-2.3-1.8-4.2-4.2-4.2z\"}},\nretweet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.8 13.3l-1-1c-.2-.3-.6-.3-.9 0l-1.3 1.3c-.3.3-.8.1-.8-.4V5.5c0-1-.8-1.8-1.8-1.8h-6.7c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h5.1c.4 0 .7.3.7.7v6c0 .5-.5.6-.9.4L15 12.4c-.2-.3-.7-.3-.9 0l-1 1c-.3.3-.3.7 0 1l4.9 4.8c.2.3.6.3.9 0l4.9-4.9c.2-.3.2-.7 0-1zm-11.1 4.2H7.6c-.4 0-.7-.3-.7-.7v-6c0-.5.5-.6.9-.4L9 11.6c.2.3.7.3.9 0l1-.9c.3-.3.3-.7 0-1L6.1 4.8c-.3-.3-.7-.3-1 0L.2 9.7c-.3.3-.3.7 0 1l1 .9c.2.3.6.3.9 0l1.3-1.2c.2-.3.8-.1.8.3v7.8c0 1 .8 1.8 1.8 1.8h6.7c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7z\"}},\nribbon:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.1 16.9l-4.3 6.2-1.1-3h-3L6.5 15c.7.5 1.5.5 2.1.6.2.1.4.1.5.1.1.1.3.2.4.3.4.3.9.7 1.6.9zm7-1.9c-.7.5-1.5.5-2 .6-.2.1-.5.1-.6.1-.1.1-.3.2-.4.3-.4.3-.9.8-1.6 1l4.4 6.1 1.1-3h2.9L18.1 15zm-5.8-9.6c-1.4 0-2.6 1.1-2.6 2.5s1.2 2.6 2.6 2.6 2.6-1.1 2.6-2.6-1.1-2.5-2.6-2.5zm7 2.5c0 .9-.9 1.6-1.3 2.4-.3.8-.1 2-.7 2.6-.6.6-1.8.4-2.6.8-.8.3-1.5 1.3-2.4 1.3s-1.5-1-2.3-1.3c-.9-.4-2-.2-2.6-.8-.6-.6-.5-1.8-.8-2.6-.3-.8-1.3-1.5-1.3-2.4s1-1.5 1.3-2.3c.3-.8.1-2 .8-2.6.6-.6 1.7-.5 2.6-.8.8-.3 1.4-1.3 2.3-1.3s1.6 1 2.4 1.3c.8.3 2 .2 2.6.8.6.6.4 1.8.7 2.6.4.8 1.3 1.5 1.3 2.3zm-2.2 0c0-2.6-2.1-4.8-4.8-4.8S7.5 5.3 7.5 7.9s2.1 4.8 4.8 4.8 4.8-2.1 4.8-4.8z\"}},\nrichtextbulletedlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.7 6.2c0 .4-.3.7-.7.7H1.6c-.4 0-.7-.3-.7-.7V4.8c0-.3.3-.6.7-.6H3c.4 0 .7.3.7.6v1.4zm19.4-1.4c0-.3-.3-.6-.7-.6H6.2c-.3 0-.7.3-.7.6v1.4c0 .4.4.7.7.7h16.2c.4 0 .7-.3.7-.7V4.8zM3.7 11.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7v-1.4zm17.5 0c0-.4-.3-.7-.7-.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h14.3c.4 0 .7-.3.7-.7v-1.4zM3.7 17.8c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6H3c.4 0 .7-.3.7-.6v-1.4zm19.4 0c0-.4-.3-.7-.7-.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h16.2c.4 0 .7-.3.7-.6v-1.4z\"}},\nrichtextindent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 5.3c0-.4-.3-.7-.7-.7h-7.8c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7V5.3zm-1.8 11.1c0-.4-.4-.7-.7-.7h-6c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h6c.3 0 .7-.4.7-.7v-1.4zm1.8-5.6c0-.3-.3-.6-.7-.6h-7.8c-.4 0-.7.3-.7.6v1.4c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-1.4zM12.9 2.5c0-.3-.3-.7-.7-.7h-1.4c-.3 0-.6.4-.6.7v19c0 .3.3.7.6.7h1.4c.4 0 .7-.4.7-.7v-19zM4.3 7.1c-.2-.3-.6-.1-.6.4v2.7h-3c-.4 0-.7.3-.7.6v1.4c0 .4.3.7.7.7h3v2.7c0 .5.4.7.6.5l3.9-4.2c.1-.2.1-.5 0-.6L4.3 7.1z\"}},\nrichtextnumberedlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 3v1.4c0 .4-.3.7-.7.7H9.9c-.3 0-.7-.3-.7-.7V3c0-.4.4-.7.7-.7h12.5c.4 0 .7.3.7.7zM9.9 9.7h8.3c.4 0 .7-.3.7-.7V7.6c0-.4-.3-.7-.7-.7H9.9c-.3 0-.7.3-.7.7V9c0 .4.4.7.7.7zm12.5 4.1H9.9c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7zm-4.2 4.7H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h8.3c.4 0 .7-.3.7-.7v-1.3c0-.4-.3-.7-.7-.7zM1.6 3.7h1.2v5.8c0 .3.3.7.7.7h.4c.4 0 .7-.4.7-.7V2.8c0-.5-.4-1-.9-1H1.6c-.4 0-.7.4-.7.7V3c0 .4.3.7.7.7zm3.9 9.2H1.6c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7h3v1.8H1.8c-.5 0-.9.4-.9.9v3.7c0 .5.4 1 .9 1h4c.3 0 .7-.4.7-.7V21c0-.4-.4-.7-.7-.7h-3v-1.8h2.7c.5 0 1-.5 1-1v-3.7c0-.5-.5-.9-1-.9z\"}},\nrichtextoutdent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.6 10.2h-3V7.4c0-.4-.4-.7-.6-.4L.1 11.2c-.1.2-.1.4 0 .6L4 16c.2.2.6 0 .6-.4v-2.7h3c.3 0 .7-.3.7-.7v-1.4c0-.3-.4-.6-.7-.6zM24 5.3c0-.4-.3-.7-.7-.7h-7.8c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7V5.3zm-1.8 11.1c0-.4-.4-.7-.7-.7h-6c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h6c.3 0 .7-.4.7-.7v-1.4zm1.8-5.6c0-.3-.3-.6-.7-.6h-7.8c-.4 0-.7.3-.7.6v1.4c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-1.4zM12.9 2.5c0-.3-.3-.7-.7-.7h-1.4c-.3 0-.6.4-.6.7v19c0 .3.3.7.6.7h1.4c.4 0 .7-.4.7-.7v-19z\"}},\nright:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.5 20.2V3.8c0-.4.6-.8 1-.4l9.8 8c.3.3.3.9 0 1.2l-9.8 8c-.4.4-1 .1-1-.4z\"}},\nright_align_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.5 2.3h-19c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V3c0-.4-.4-.7-.7-.7zm0 5.5H6.2c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h15.3c.3 0 .7-.3.7-.7V8.5c0-.3-.4-.7-.7-.7zm0 11.1H6.2c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h15.3c.3 0 .7-.3.7-.7v-1.4c0-.4-.4-.7-.7-.7zm0-5.5h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7z\"}},\nrotate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4.9H21c-.4 0-.7.3-.7.7v3.2c0 .5-.5.7-.7.4-2.2-2.4-5.3-3.6-8.7-3.3-1.2.1-2.3.5-3.4 1-.5.3-1.1.6-1.5 1-.4.2-.4.7-.1 1l.9 1c.3.2.6.3.9.1.6-.4 1.2-.7 1.8-1 .3-.1.6-.2.9-.2 2.9-.6 5.7.6 7.3 2.4.5.7.1 1.1-.3 1.1h-3.3c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h8.4c.3 0 .6-.3.6-.6V1.6c0-.4-.3-.7-.7-.7zm-4.2 16.4c-.3-.3-.7-.3-1 0-.7.7-1.6 1.3-2.7 1.7-.2.1-.6.2-.9.2-2.9.6-5.7-.6-7.2-2.4-.6-.7-.2-1.1.3-1.1h3.2c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7H1.5c-.3 0-.6.3-.6.6v8.9c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7v-3.2c0-.5.5-.7.7-.4 2.2 2.4 5.3 3.6 8.7 3.3 1.2-.1 2.3-.5 3.4-1 1-.5 1.9-1.2 2.6-1.9.3-.3.3-.7 0-1l-.9-.9z\"}},\nrouting_offline:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.8 4.2C15.5-.1 8.5-.1 4.2 4.2s-4.3 11.3 0 15.6 11.3 4.3 15.6 0 4.3-11.3 0-15.6zM12 20.3c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3z\"}},\nrows:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.5 6.5h-19c-.3 0-.7-.4-.7-.7V4.4c0-.4.4-.7.7-.7h19c.3 0 .7.3.7.7v1.4c0 .3-.4.7-.7.7zm0 6.8h-19c-.3 0-.7-.3-.7-.7v-1.3c0-.4.4-.7.7-.7h19c.3 0 .7.3.7.7v1.4c0 .3-.4.6-.7.6zm0 7h-19c-.3 0-.7-.3-.7-.7v-1.4c0-.3.4-.7.7-.7h19c.3 0 .7.4.7.7v1.4c0 .4-.4.7-.7.7z\"}},\nrules:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 11.7L19.4 8c-.2-.2-.5-.2-.7 0l-.7.7c-.2.2-.2.5 0 .7l1.2 1.1c.1.2 0 .6-.3.6H8.7L14.8 5c.2-.2.6 0 .6.3v1.6c0 .3.2.5.4.5h1c.3 0 .5-.2.5-.5V1.6c0-.3-.2-.5-.5-.5h-5.3c-.2 0-.4.2-.4.5v.9c0 .3.2.5.4.5h1.7c.3 0 .4.3.2.6L6 11H1.4c-.3 0-.5.3-.5.5v1c0 .3.3.5.5.5H6l7.5 7.4c.2.2 0 .6-.3.6h-1.6c-.3 0-.5.2-.5.5v.9c0 .2.2.4.5.5h5.2c.3 0 .5-.2.5-.5v-5.3c0-.3-.2-.4-.5-.4h-.9c-.3 0-.5.1-.5.4v1.7c0 .3-.3.4-.5.2l-6.1-6H19c.2 0 .4.4.2.6L18 14.7c-.2.2-.2.5 0 .7l.7.7c.2.2.5.2.7 0l3.7-3.7c.2-.2.2-.5 0-.7z\"}},\nsalesforce1:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10 5.5c.8-.8 1.9-1.3 3.1-1.3 1.5 0 2.9.9 3.7 2.2.6-.3 1.3-.5 2-.5 2.9 0 5.2 2.3 5.2 5.2s-2.3 5.1-5.2 5.1h-1c-.6 1.1-1.9 1.9-3.3 1.9-.6 0-1.2-.1-1.7-.4-.6 1.5-2.1 2.6-3.9 2.6-1.9 0-3.5-1.1-4.1-2.8-.3 0-.6.1-.8.1-2.2 0-4-1.8-4-4 0-1.5.7-2.8 1.9-3.5-.2-.5-.3-1.2-.3-1.8 0-2.6 2-4.7 4.6-4.7 1.6.1 3 .8 3.8 1.9\"}},\nsave:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.1 1.8v6.3c0 .5-.3.9-.9.9H6.4c-.4 0-.9-.4-.9-.9V1.8H3.7c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V5.2l-3.4-3.4h-1.7zm3.3 17.6c0 .5-.4.9-.9.9H4.6c-.5 0-.9-.4-.9-.9v-7.7c0-.4.4-.9.9-.9h14.9c.4 0 .9.4.9.9v7.7zm-9-13.1c0 .4.4.9.9.9h2.1c.5 0 .9-.4.9-.9V1.8h-3.8l-.1 4.5z\"}},\nscreen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 2.8c0-1-.9-1.9-1.9-1.9H2.8C1.8.9.9 1.8.9 2.8v12.8c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V2.8zm-2.8 11.1c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V4.4c0-.4.3-.7.7-.7h15.2c.4 0 .7.3.7.7v9.5zM8.8 20.3c-1 0-1.9.8-1.9 1.9v.2c0 .4.3.7.7.7h8.8c.4 0 .7-.3.7-.7v-.2c0-1.1-.9-1.9-1.9-1.9H8.8zm-.5-8H6.4c-.3 0-.4-.2-.4-.4V6.5c0-.3.1-.5.4-.5h1.9c.2 0 .5.2.5.5v5.4c0 .2-.3.4-.5.4zm9.3 0h-6.2c-.2 0-.4-.2-.4-.4V6.5c0-.3.2-.5.4-.5h6.2c.2 0 .4.2.4.5v5.4c0 .2-.2.4-.4.4z\"}},\nsearch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M22.9 20.9l-6.2-6.1c1.3-1.8 1.9-4 1.6-6.4-.6-3.9-3.8-7.1-7.8-7.4C5 .4.4 5 1 10.5c.3 4 3.5 7.3 7.4 7.8 2.4.3 4.6-.3 6.4-1.5l6.1 6.1c.3.3.7.3 1 0l.9-1c.3-.3.3-.7.1-1zM3.7 9.6c0-3.2 2.7-5.9 5.9-5.9 3.3 0 6 2.7 6 5.9 0 3.3-2.7 6-6 6-3.2 0-5.9-2.6-5.9-6z\"}},\nsend:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M1 20.5L3 13h8.6c.2 0 .4-.2.4-.4v-1c0-.2-.2-.4-.4-.4H3L1 3.8c0-.1-.1-.2-.1-.4 0-.3.3-.6.7-.6.1 0 .2.1.2.1l20.8 8.5c.3.1.5.4.5.6s-.2.6-.4.6L1.8 21.4c0 .1-.1.1-.2.1-.4-.1-.7-.4-.7-.7 0-.1 0-.2.1-.3z\"}},\nsentiment_negative:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.2 11.1 11.2 11.1-5 11.1-11.2S18.1.9 12 .9zm-4.2 6c.8 0 1.4.9 1.4 1.9s-.6 1.8-1.4 1.8-1.3-.8-1.3-1.8.6-1.9 1.3-1.9zm-1.3 11c.2-2.9 2.3-5.2 5.5-5.2 3.3 0 5.3 2.3 5.5 5.2h-11zm9.7-7.3c-.8 0-1.4-.8-1.4-1.8s.6-1.9 1.4-1.9 1.3.9 1.3 1.9-.6 1.8-1.3 1.8z\"}},\nsentiment_neutral:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.2 11.1 11.2 11.1-5 11.1-11.2S18.1.9 12 .9zm-4.2 6c.8 0 1.4.9 1.4 1.9s-.6 1.8-1.4 1.8-1.3-.8-1.3-1.8.6-1.9 1.3-1.9zm9.7 8.8c0 .5-.4.9-.8.9H7.3c-.5 0-.8-.4-.8-.9s.4-.9.8-.9h9.3c.5 0 .9.4.9.9zm-1.3-5.1c-.8 0-1.4-.8-1.4-1.8s.6-1.9 1.4-1.9 1.3.9 1.3 1.9-.6 1.8-1.3 1.8z\"}},\nsettings:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 8.8c-1.8 0-3.2 1.4-3.2 3.2s1.4 3.3 3.2 3.3 3.3-1.5 3.3-3.3-1.5-3.2-3.3-3.2zm9.7 6.2L20 13.5c.1-.5.2-1 .2-1.5s-.1-1.1-.2-1.6L21.7 9c.6-.5.8-1.3.4-2l-.7-1.3c-.3-.4-.8-.7-1.4-.7-.2 0-.3 0-.5.1l-2.1.8c-.8-.8-1.8-1.3-2.7-1.6l-.4-2.2c-.1-.7-.8-1.1-1.5-1.1h-1.5c-.7 0-1.4.4-1.5 1.1l-.4 2.1c-1 .4-1.9.9-2.8 1.6L4.5 5c-.2 0-.3-.1-.5-.1-.5 0-1 .3-1.3.8L1.9 7c-.3.6-.2 1.4.4 1.9L4 10.3c-.1.5-.1 1.1-.1 1.6 0 .6 0 1.1.1 1.6l-1.7 1.4c-.5.5-.7 1.3-.4 1.9l.8 1.3c.3.5.8.8 1.3.8.2 0 .4-.1.5-.1l2.1-.8c.9.7 1.8 1.2 2.8 1.6l.3 2.2c.2.7.8 1.2 1.6 1.2h1.4c.8 0 1.4-.5 1.6-1.3l.3-2.2c1.1-.3 2.1-.9 2.9-1.7l2 .8c.2 0 .3.1.5.1.6 0 1.1-.3 1.4-.7l.7-1.2c.4-.6.2-1.4-.4-1.8zM12 17.1c-2.8 0-5-2.2-5-5.1s2.2-5 5-5 5.1 2.2 5.1 5-2.2 5.1-5.1 5.1z\"}},\nsetup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.6 15l-1.7-1.5c.1-.5.1-1 .1-1.5s0-1.1-.1-1.6L21.6 9c.6-.5.7-1.3.4-2l-.8-1.3c-.2-.5-.8-.8-1.3-.8-.2 0-.4.1-.5.1l-2.1.8c-.8-.7-1.7-1.2-2.7-1.6l-.3-2.1c-.2-.8-.8-1.2-1.6-1.2h-1.4c-.8 0-1.4.4-1.6 1.2l-.3 2.1c-1 .3-1.9.9-2.8 1.6l-2-.8c-.2-.1-.3-.1-.5-.1-.5 0-1.1.3-1.3.7L2 6.9c-.3.7-.2 1.5.4 2l1.7 1.4c-.1.5-.1 1.1-.1 1.6s0 1 .1 1.5l-1.7 1.5c-.6.4-.7 1.3-.4 1.9l.8 1.4c.2.4.8.7 1.3.7.2 0 .4 0 .5-.1l2.1-.8c.8.8 1.7 1.3 2.7 1.6l.3 2.2c.2.8.8 1.3 1.6 1.3h1.4c.8 0 1.4-.6 1.6-1.3l.3-2.2c1.1-.4 2-1 2.8-1.7l2 .7c.2.1.4.1.5.1.6 0 1.1-.2 1.4-.7l.7-1.2c.3-.6.2-1.4-.4-1.8zM12 17.1c-2.7 0-5-2.2-5-5.1s2.2-5 5-5 5.1 2.2 5.1 5-2.3 5.1-5.1 5.1zm1.4-8.8h-2.1c-.4 0-.6.2-.7.5l-1.3 3.3c-.1.2.1.5.3.5h2.2l-.8 2.8c-.1.2.3.4.4.2l3.3-3.8c.3-.3.1-.6-.3-.6h-1.6l1.5-2.3c.1-.2-.1-.5-.4-.5h-.5z\"}},\nsetup_assistant_guide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.3 11.5c0-.2-.2-.3-.4-.2l-2 1.7c-.1.1-.1.2-.1.4v7.3c0 .5.6.7 1 .4l3.4-2.6c.1-.1.1-.2 0-.4-.8-1.2-1.6-3.3-1.9-6.6zm4.5 6.9c.1 0 .2.1.3.1h3.8c.1 0 .2-.1.3-.1.5-.4 2.7-2.2 2.7-8.5 0-2.9-.8-5-1.8-6.3C13.7 1.5 12 .9 12 .9s-1.8.6-3.2 2.7C7.8 5 7.1 7 7.1 9.9c0 6.3 2.1 8.1 2.7 8.5zM12 6c1.5 0 2.7 1.2 2.7 2.8s-1.2 2.7-2.7 2.7-2.8-1.2-2.8-2.7S10.4 6 12 6zm9.1 7l-2-1.7c-.2-.1-.4 0-.4.2-.3 3.3-1.1 5.4-1.9 6.7v.3l3.4 2.6c.4.4 1 .1 1-.3v-7.4c0-.2 0-.3-.1-.4zm-6.2 7.5c-.1-.1-.3-.2-.4-.2H9.4c-.1 0-.3.1-.4.2-.1.3-.4.8-.6 1.5-.1.5.3 1.1.9 1.1h5.3c.6 0 1-.6.9-1.1-.2-.7-.5-1.2-.6-1.5z\"}},\nsetup_modal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M22.4.9H1.6c-.4 0-.7.3-.7.7v15c0 .3.3.7.7.7h20.8c.4 0 .7-.4.7-.7v-15c0-.4-.3-.7-.7-.7z\"},{\"d\":\"M14.8 20.3c.5 0 .9.4.9.9s-.4 1-.9 1-1-.5-1-1 .5-.9 1-.9m0-.9c-1 0-1.9.8-1.9 1.8s.9 1.9 1.9 1.9 1.8-.9 1.8-1.9-.8-1.8-1.8-1.8z\"}],\"circle\":[{\"cx\":\"9.231\",\"cy\":\"21.231\",\"r\":\"1.846\"},{\"cx\":\"3.692\",\"cy\":\"21.231\",\"r\":\"1.846\"},{\"cx\":\"20.308\",\"cy\":\"21.231\",\"r\":\"1.846\"}]},\nshare:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 13.8H21c-.4 0-.7.4-.7.7v5.1c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V9.9c0-.3.3-.7.7-.7h1.8c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9v-6.7c0-.3-.3-.7-.7-.7zm-6.7-7.3c-4.6 0-8.8 4.1-9.2 8.9 0 .4.3.8.7.8h1.4c.4 0 .6-.3.7-.6.3-3.5 3.3-6.4 6.9-6.4h.7c.4 0 .6.5.3.8l-2.5 2.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.3-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-1 0l-1 1c-.3.3-.3.7 0 .9l2.6 2.6c.2.3.1.8-.4.8l-1.2.1z\"}},\nshare_file:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.9 7.3h3.6c.2 0 .3-.2.2-.4l-3.8-3.8c-.2-.1-.4 0-.4.2v3.6c0 .3.1.4.4.4zm3.7 1.9h-5.1c-.5 0-.9-.4-.9-.9V3.2c0-.3-.2-.5-.4-.5H9.9c-.3 0-.7.3-.7.7v1.9c0 .1.1.3.2.5L12 8.4c.4.3.6.8.7 1.4.1.7-.1 1.4-.6 2l-.7.7c-.3.2-.5.3-.8.5.3.1.7.2 1.1.2 1.2.1 2.1 1.2 2.1 2.4v1c0 .7-.3 1.3-.7 1.7-.5.5-1.2.7-1.8.6-.5 0-1-.1-1.5-.2-.3-.1-.6.1-.6.5v1.4c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7V9.7c0-.3-.2-.5-.5-.5zM12 16.5v-1c0-.3-.2-.5-.5-.5-2.5-.2-4.6-2.4-4.6-5v-.5c0-.3.4-.5.6-.3l1.8 1.9c.2.2.5.2.7 0l.7-.7c.2-.2.2-.5 0-.7L6.2 5.2c-.2-.2-.5-.2-.7 0L1.1 9.7c-.2.2-.2.5 0 .7l.7.7c.1.2.5.2.6 0l2-1.8c.2-.3.6-.1.6.2v.9c0 3.3 2.9 6.4 6.4 6.6.4 0 .6-.2.6-.5z\"}},\nshare_mobile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.4 23.3c1 0 1.8-.9 1.8-1.9V9c0-1-.8-1.8-1.8-1.8h-3.5c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.8c.4 0 .7.4.7.7v9.2c0 .4-.3.7-.7.7H6.2c-.4 0-.7-.3-.7-.7v-9.2c0-.3.3-.7.7-.7h1.9c.3 0 .7-.3.7-.7V7.9c0-.4-.4-.7-.7-.7H4.6c-1 0-1.8.8-1.8 1.8v12.4c0 1 .8 1.9 1.8 1.9h14.8zm-6-9v-9h2.7c.4 0 .7-.4.4-.6L12.3.8c-.1-.1-.4-.1-.6 0L7.5 4.7c-.2.2 0 .6.5.6h2.6v9c0 .3.3.7.7.7h1.4c.3 0 .7-.4.7-.7z\"}},\nshare_post:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 1.8C5.9 1.8.9 6.4.9 12c0 1.8.5 3.5 1.4 5 .1.2.1.4.1.6l-1 3.2c-.2.6.4 1.1 1 .9l3.2-1.1c.2-.1.4-.1.6.1 1.7.9 3.7 1.5 5.8 1.5 6.2 0 11.1-4.5 11.1-10.2C23 6.4 18 1.8 12 1.8z\"}},\nshield:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M2.2 6.5h19.6c.4 0 .8-.5.7-1-.5-1.5-1.1-2.9-2-4.1-.3-.4-.8-.4-1.1-.1-.8.8-2.1 1.3-3.4 1.3-1.4 0-2.6-.6-3.5-1.5-.3-.3-.8-.3-1.1 0-.9.9-2.1 1.5-3.5 1.5-1.3 0-2.5-.5-3.4-1.3-.3-.3-.9-.2-1.1.1-.9 1.2-1.6 2.6-2 4.1 0 .5.4 1 .8 1zm20.9 2.9c0-.4-.3-.6-.8-.6H1.7c-.5 0-.8.2-.8.6v.2c0 6.9 4.8 12.6 11.1 13.5 6.3-.9 11.1-6.6 11.1-13.5v-.2z\"}},\nshift_ui:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.8 18.8h9.4c.5 0 .9.4.9.9v2.6c0 .5-.4 1-.9 1h-9.4c-.5 0-.9-.5-.9-1v-2.6c0-.5.4-.9.9-.9zM1.8 8.1h20.4c.5 0 .9.4.9.9v6.3c0 .5-.4.9-.9.9H1.8c-.5 0-.9-.4-.9-.9V9c0-.5.4-.9.9-.9zm0-7h9.4c.5 0 .9.4.9.9v2.6c0 .5-.4.9-.9.9H1.8c-.5 0-.9-.4-.9-.9V2c0-.5.4-.9.9-.9z\"}},\nshopping_bag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M29.9 8.8V9v-.2z\"},{\"d\":\"M20.3 9c0-1-.8-1.8-1.8-1.8h-.4c-.2-3.1-2.8-5.6-6.1-5.6S6.2 4.1 6 7.2h-.5c-1 0-1.8.8-1.8 1.8l-.9 11.6c0 1 .8 1.8 1.8 1.8h14.8c1 0 1.8-.8 1.8-1.8L20.3 9zM12 4.3c1.8 0 3.1 1.3 3.4 2.9H8.7C9 5.6 10.4 4.3 12 4.3zm2.7 8.4H9.3c-.8 0-1.4-.6-1.4-1.3S8.6 10 9.3 10h5.4c.8 0 1.4.6 1.4 1.4s-.6 1.3-1.4 1.3z\"}]},\nshortcuts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M5.6 1.2h12.2c.4 0 .8.4.8.8 0 .2-.1.4-.3.5L15 5.9c2 1.8 7.7 8 1.1 16.1l-.1.1s-.1 0-.1.1c-.2.1-.4.3-.7.3-.4 0-.7-.3-.7-.8v-.1-.1c.3-1 1.7-7.9-4.4-10.8l-4 4c-.1.2-.3.3-.5.3-.4 0-.8-.4-.8-.8V2c0-.4.4-.8.8-.8z\"}},\nside_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 1.8H9.9c-.3 0-.7.4-.7.7v19c0 .3.4.7.7.7h12.5c.4 0 .7-.4.7-.7v-19c0-.3-.3-.7-.7-.7zm-15.7 0H1.6c-.4 0-.7.4-.7.7v2.3c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7V2.5c0-.3-.3-.7-.7-.7zm0 5.6H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7V8.1c0-.4-.3-.7-.7-.7zm0 5.5H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7v-2.3c0-.4-.3-.7-.7-.7zm0 5.6H1.6c-.4 0-.7.3-.7.7v2.3c0 .3.3.7.7.7h5.1c.4 0 .7-.4.7-.7v-2.3c0-.4-.3-.7-.7-.7z\"}},\nsignpost:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.8 4.2l-1.9-1.5c-.3-.2-.5-.3-.9-.3h-6.5v-.7c0-.5-.3-.8-.8-.8h-1.4c-.5 0-.8.3-.8.8v.7H3.1c-.4 0-.7.3-.7.7v3c0 .4.3.7.7.7H20c.4 0 .7-.1.9-.2l1.9-1.5c.4-.3.4-.7 0-.9zm-1.9 6.3h-7.4V9.4c0-.2-.2-.4-.4-.4h-2.2c-.2 0-.4.2-.4.4v1.1H4c-.4 0-.7.1-.9.3l-1.9 1.4c-.4.3-.4.7 0 1l1.9 1.4c.3.2.5.3.9.3h16.9c.4 0 .7-.3.7-.7v-3c0-.4-.3-.7-.7-.7zM13.5 20v-2.5c0-.2-.2-.3-.4-.3h-2.2c-.2 0-.4.1-.4.3V20c-1.5.4-2.3 1.3-2.5 2.4-.1.3.2.7.5.7h7c.4 0 .7-.3.6-.7-.3-1.1-1.1-2-2.6-2.4z\"}},\nskip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.2 14.9v.3c0 .5.4.5.6.2l2.3-2.2c.2-.3.7-.3 1 0l.9.9c.3.3.3.7 0 1L17.1 21c-.3.3-.6.3-.9 0l-6-6c-.2-.2-.2-.6.1-.8l1-1c.3-.3.7-.4 1-.1l2.2 2.3c.4.3.6.4.8 0 .1-.1.1-.5.1-.5v-3.4c0-3.2-2.7-5.9-5.9-5.9s-5.9 2.6-5.9 5.9v6.1c0 .4-.4.7-.7.7H1.4c-.4 0-.7-.3-.7-.6v-6.2c0-4.8 3.9-8.7 8.8-8.7s8.7 3.9 8.7 8.7v3.4z\"}},\nsmiley_and_people:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 12c0 6.2-5 11.2-11.1 11.2S.9 18.2.9 12 5.9.9 12 .9s11.1 5 11.1 11.1zM7.8 6.9c-.7 0-1.3.8-1.3 1.9s.6 1.8 1.3 1.8 1.4-.8 1.4-1.8-.6-1.9-1.4-1.9zm8.4 0c-.8 0-1.4.8-1.4 1.9s.6 1.8 1.4 1.8 1.3-.8 1.3-1.8-.6-1.9-1.3-1.9zM5.1 13.4c.3 3.5 2.8 6.4 6.9 6.4 4 0 6.6-2.9 6.9-6.4H5.1z\"}},\nsms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 1.8C5.9 1.8 1 6.4 1 12c0 1.7.5 3.4 1.3 4.8.1.3.2.6.1.8l-1.4 4c-.2.3.2.6.6.6l3.9-1.6c.3-.1.5 0 .8.1 1.7.9 3.7 1.5 5.8 1.5 6 0 11-4.6 11-10.2C23 6.4 18.1 1.8 12 1.8zM7.6 13.7c-.2.2-.3.4-.5.6s-.4.2-.7.3c-.2.1-.5.1-.8.1-.3 0-.7 0-1-.2-.3-.1-.6-.3-.9-.6l-.1-.1s0-.1.1-.2l.8-.7c.1-.1.2-.1.2 0s.1.1.1.1c.1.2.2.2.4.3.2.2.4.2.7.1.1 0 .1 0 .2-.1l.2-.1V13c0-.2 0-.2-.1-.3-.1-.1-.2-.1-.4-.2s-.4-.1-.6-.2l-.6-.3c-.3-.1-.4-.3-.5-.5-.2-.2-.3-.5-.3-.8 0-.4.1-.6.2-.9.2-.2.3-.4.5-.5.2-.2.4-.3.7-.3.6-.2 1.1-.2 1.7 0 .3.1.5.3.7.4l.1.1c.1 0 .1.1 0 .2l-.7.7c-.1.1-.3.1-.4 0l-.1-.1c-.3-.1-.6-.2-.9-.1h-.2l-.1.2v.2c0 .1 0 .2.1.2 0 .1.2.1.4.2s.3.2.6.2l.6.3c.2.1.4.3.5.5.2.2.3.5.3.9 0 .3-.1.5-.2.8zm7.6.6c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-2.7c0-.3-.3-.3-.4-.1l-.8 2.1c0 .2-.2.2-.4.2h-.3c-.2 0-.4-.1-.5-.2l-.8-2.1c-.1-.2-.4-.2-.4.1v2.7c0 .3-.3.5-.6.5h-.4c-.3 0-.4-.2-.4-.5V9.2c0-.2.2-.4.4-.4h1.2c.2 0 .4.1.4.2l.9 2.4c.1.2.4.2.4 0l1-2.4c0-.1.2-.2.4-.2h1.2c.3 0 .5.2.5.4v5.1zm4.9-.6c-.2.2-.3.5-.5.6-.2.1-.4.3-.7.4s-.5.1-.8.1c-.4 0-.7-.1-1-.2-.3-.2-.7-.3-.9-.6l-.1-.1c0-.1 0-.1.1-.2l.7-.7c.1-.1.2-.1.3-.1s.1.2.1.2l.3.3c.3.1.5.1.8.1.1-.1.2-.1.2-.1l.1-.2.1-.1c0-.2-.1-.3-.1-.3-.1-.1-.2-.2-.4-.2s-.4-.2-.6-.2c-.3-.1-.5-.2-.7-.3-.2-.1-.4-.3-.5-.5-.2-.2-.3-.5-.3-.9 0-.3.1-.6.2-.8.2-.3.3-.4.5-.6.2-.1.5-.3.7-.3.6-.1 1.1-.1 1.7 0 .3.1.5.3.7.5l.1.1c.1 0 .1.2 0 .3l-.7.7c-.1.1-.2.1-.3 0l-.2-.2c-.3-.1-.6-.2-.9-.1 0 0-.1 0-.1.1l-.2.1v.2c0 .1 0 .2.1.2.1.1.2.2.4.3.2 0 .4.1.6.2.2 0 .4.1.6.2.3.2.4.4.6.5.1.3.2.5.2.9.1.2 0 .5-.1.7z\"}},\nsnippet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.7 2.8H1.6c-.4 0-.7.3-.7.7v6c0 .3.3.7.7.7h5.1c.4 0 .7-.4.7-.7v-6c0-.4-.3-.7-.7-.7zm15.7 0H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7V3.5c0-.4-.3-.7-.7-.7zM9.9 10.2h7.9c.3 0 .7-.4.7-.7V8.1c0-.4-.4-.7-.7-.7H9.9c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7zm-3.2 3.6H1.6c-.4 0-.7.4-.7.7v6c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7v-6c0-.3-.3-.7-.7-.7zm15.7 0H9.9c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7zm-4.6 4.7H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h7.9c.3 0 .7-.3.7-.7v-1.3c0-.4-.4-.7-.7-.7z\"}},\nsobject:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M2.9 2h1.9c-2.3 4.9-2.3 8.6 0 13.5H2.9C.3 9.8.4 7.6 2.9 2zm8 8.3c.2.9.4 1.6.5 1.8.1.5.3.8.6 1 .7-.5 1.6-.9 2.5-.9.6 0 1.1.2 1.7.4 0-.1.1-.3.1-.4 0-.5-.4-.8-.8-.8h-.4s-.9.6-1.2.1c-.2-.4-.4-.9-.6-1.6-.1-.6-.2-1.3-.4-2l.9-1.3s1 .4 1.5.4 1.5-.4 1.5-1.7-.9-1.5-1.2-1.5c-.6 0-1.2.4-1.8 1.4s-1.1 1.9-1.1 1.9c-.1-.6-.2-1.1-.2-1.4-.1-.5-.8-1.8-2.1-1.8s-2.6.8-2.6.8c-.2.1-.4.4-.4.7 0 .5.4.8.9.8.1 0 .2 0 .3-.1 0 0 1-.5 1.3 0 0 .2.1.4.2.6.2.9.5 1.9.7 2.9l-.9 1.2s-1-.4-1.5-.4c-.6 0-1.6.4-1.6 1.8s1 1.4 1.3 1.4c.6 0 1.2-.4 1.7-1.3s1.1-2 1.1-2zm9.2 3h.5c.4 0 .9.1 1.3.3C23.6 9.2 23.3 6.9 21 2h-1.8c1.9 4.1 2.2 7.4.9 11.3zM16.3 15c.4-.4.9-.6 1.5-.6.7 0 1.4.4 1.8 1 .3-.2.6-.3 1-.3 1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5h-.5c-.3.5-.9.9-1.6.9-.3 0-.5-.1-.8-.2-.3.8-1 1.3-1.9 1.3-.9 0-1.6-.6-1.9-1.4-.1 0-.2.1-.4.1-1.1 0-2-.9-2-1.9 0-.7.4-1.4 1-1.7-.1-.3-.2-.5-.2-.9 0-1.2 1-2.2 2.2-2.2.7 0 1.4.3 1.8.9z\"}},\nsobject_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.3 7c-1.6 3.4-1.6 4.8 0 8.3h1.1C6 12.3 6 10 7.4 7H6.3zM17 13.6c.3-.1.5-.1.7-.1h.5c.8-2.3.6-3.7-.7-6.6h-1.1c1.1 2.5 1.3 4.5.6 6.7zm-6.7 4.1H3.7c-.5 0-.9-.4-.9-.9V4.7H21v9.7c.7 0 1.3.3 1.8.6V2.8c0-1-.8-1.8-1.8-1.8H2.9C1.8 1 1 1.8 1 2.8v14.9c0 1 .8 1.9 1.9 1.9h6.8c0-.7.2-1.3.6-1.9zm6-1.7c.4-.4.9-.6 1.5-.6.8 0 1.4.4 1.8 1 .2-.1.6-.2 1-.2 1.3 0 2.5 1.1 2.5 2.4S22 21 20.6 21h-.5c-.3.6-.9.9-1.5.9-.3 0-.6-.1-.8-.2-.4.8-1.1 1.3-1.9 1.3-.9 0-1.7-.6-2-1.3h-.4c-1 0-1.9-.8-1.9-1.9 0-.6.4-1.2 1-1.6-.1-.3-.2-.6-.2-.9 0-1.2 1-2.2 2.2-2.2.7 0 1.3.4 1.7.9zm-5.7-2.7c.3-.5.7-1.1.7-1.1.1.5.2.9.3 1.1.1.3.3.6.6.8.6-.5 1.5-.8 2.3-.8h.1c0-.2-.2-.5-.5-.5-.1 0-.1.1-.2.1 0 0-.6.3-.7.1-.2-.3-.3-.6-.4-1-.1-.4-.2-.8-.2-1.3l.5-.8s.6.3.9.3 1-.3 1-1.2-.6-.8-.8-.8c-.4 0-.7.2-1 .8-.4.5-.7 1.1-.7 1.1-.1-.4-.2-.7-.2-.9-.1-.3-.5-1.1-1.3-1.1s-1.6.5-1.6.5c-.1.1-.2.3-.2.4 0 .3.2.5.5.5h.2s.6-.4.8 0c.1.1.1.2.1.3.1.6.3 1.2.4 1.8l-.5.8s-.6-.3-1-.3-.9.3-.9 1.1.6.9.8.9c.4.1.7-.2 1-.8z\"}},\nsocialshare:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.9 14.8c-1.2 0-2.3.5-3 1.3l-6.8-3.4c.1-.2.1-.5.1-.7 0-.3-.1-.6-.1-.8l6.8-3.4c.7.9 1.8 1.4 3 1.4 2.3 0 4.2-1.9 4.2-4.2S21.2.9 18.9.9 14.8 2.7 14.8 5v.3l-7 3.5c-.8-.6-1.7-1-2.8-1C2.7 7.8.9 9.7.9 12s1.8 4.2 4.1 4.2c1.1 0 2-.4 2.8-1.1l6.9 3.5v.3c0 2.3 1.9 4.2 4.2 4.2s4.1-1.9 4.1-4.2-1.8-4.1-4.1-4.1z\"}},\nsort:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.7 7.4c.3-.3.3-.7 0-1L7.4 1.1c-.2-.3-.7-.3-.9 0L1.2 6.4c-.3.3-.3.7 0 1l.9 1c.3.2.7.2 1 0l1.7-1.7c.2-.3.7-.1.7.3v9.8c0 .4.4.7.7.7h1.4c.4 0 .7-.4.7-.7V7c0-.4.5-.6.8-.3l1.7 1.7c.2.2.6.2.9 0l1-1zm10.1 9.2l-.9-.9c-.3-.3-.7-.3-1 0l-1.7 1.7c-.2.2-.7 0-.7-.4V7.2c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.7c0 .5-.5.6-.8.4l-1.7-1.7c-.2-.3-.6-.3-.9 0l-1 1c-.3.3-.3.7 0 1l5.3 5.3c.3.3.7.3 1 0l5.3-5.3c.2-.3.2-.8-.1-1z\"}},\nspinner:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.4 12.7v-1.4c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7zm.9 2.1c-.3-.3-.7-.3-1 0l-3.6 3.6c-.3.2-.3.7 0 .9l1 1c.2.3.7.3.9 0l3.6-3.6c.3-.3.3-.7 0-1l-.9-.9zm7.4-5.6c.3.3.7.3 1 0l3.6-3.6c.3-.2.3-.7 0-.9l-1-1c-.2-.3-.7-.3-.9 0l-3.6 3.5c-.3.3-.3.7 0 1l.9 1zM5.6 3.7c-.2-.3-.7-.3-.9 0l-1 1c-.3.2-.3.7 0 .9l3.6 3.6c.3.3.7.3 1 0l.9-.9c.3-.3.3-.7 0-1L5.6 3.7zm11.2 11.1c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l3.6 3.6c.2.3.7.3.9 0l1-1c.3-.2.3-.7 0-.9l-3.5-3.6zm-4.1 1.8h-1.4c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7v-5.1c0-.4-.3-.7-.7-.7zm9.7-6h-5.1c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7zM12.7.9h-1.4c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7z\"}},\nstage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":[{\"cx\":\"21.554\",\"cy\":\"12\",\"r\":\"1.569\"},{\"cx\":\"11.954\",\"cy\":\"12\",\"r\":\"1.569\"},{\"cx\":\"2.492\",\"cy\":\"12\",\"r\":\"1.569\"}],\"path\":{\"d\":\"M5.4 12c0 3.6 3 6.6 6.6 6.6s6.6-3 6.6-6.6-3-6.6-6.6-6.6-6.6 3-6.6 6.6zm11 0c0 2.4-2 4.4-4.4 4.4s-4.5-2-4.5-4.4 2-4.4 4.5-4.4 4.4 2 4.4 4.4z\"}},\nstage_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"11.954\",\"cy\":\"12\",\"r\":\"1.569\"},\"path\":{\"d\":\"M21.6 10.4c-.6 0-1.1.4-1.4.8h-1.6c-.5-3.3-3.2-5.8-6.6-5.8s-6.2 2.5-6.6 5.8H3.8c-.2-.5-.8-.8-1.3-.8-.9 0-1.6.7-1.6 1.6s.7 1.6 1.6 1.6c.5 0 1-.3 1.3-.8h1.6c.4 3.3 3.2 5.8 6.6 5.8 3.4 0 6.1-2.5 6.6-5.8h1.7c.2.4.7.8 1.3.8.8 0 1.5-.7 1.5-1.6s-.7-1.6-1.5-1.6zm-9.6 6c-2.4 0-4.4-2-4.4-4.4s2-4.4 4.4-4.4 4.4 2 4.4 4.4-2 4.4-4.4 4.4z\"}},\nstandard_objects:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.3 18l-8.7 4.9c-.4.3-1 .3-1.5 0L2.5 18c-.4-.2-.4-.7 0-.9l2-1.1c.2-.1.3-.1.5 0l5.2 3c.6.2 1.1.4 1.7.4s1.2-.2 1.7-.4l5.2-3c.2-.1.4-.1.5 0l2 1.1c.4.2.4.7 0 .9zm0-5.6l-8.7 5c-.4.2-1 .2-1.5 0l-8.6-5c-.4-.2-.4-.6 0-.8l2-1.2c.2-.1.3-.1.5 0l5.2 3c.6.3 1.1.4 1.7.4s1.2-.1 1.7-.4l5.2-3c.2-.1.4-.1.5 0l2 1.2c.4.2.4.6 0 .8zm-10.1-.6L2.5 6.9c-.3-.2-.3-.7 0-.9l8.7-4.9c.5-.3 1.1-.3 1.5 0L21.4 6c.4.2.4.7 0 .9l-8.7 4.9c-.4.2-1 .2-1.5 0z\"}},\nsteps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.5 23.2h-3.2V21h3.2v2.2zm0-1.1zM14 23.2h-3.2V21H14v2.2zm-6.5 0H4.3V21h3.2v2.2zm-4.3-2.8H1v-3.2h2.2v3.2zm19.8-.7h-2.2v-3.3H23v3.3zM3.2 14H1v-3.2h2.2V14zm19.8-.8h-2.2V10H23v3.2zM3.2 7.5H1V4.3h2.2v3.2zM23 6.8h-2.2V3.6H23v3.2zM19.7 3h-3.3V.8h3.3V3zm-6.5 0H10V.8h3.2V3zM6.8 3H3.6V.8h3.2V3z\"}},\nstop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.7 3.7h16.6v16.6H3.7V3.7z\"}},\nstore:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.9 13.6h-.1c-.7-.1-1.3-.3-1.9-.7h-.1c-.3-.3-.5-.1-.6-.1l-.1.1c-.7.5-1.5.8-2.4.8-.9 0-1.7-.3-2.5-.9-.2-.2-.4 0-.4 0-.8.6-1.6.9-2.6.9-.9 0-1.7-.3-2.4-.8l-.1-.1c-.2-.2-.5 0-.5 0-.7.5-1.4.8-2.3.9 0 0-.3 0-.3.3v6.9c0 .1.1.4.5.5h8.5c.5-.1.6-.4.6-.5V16c0-.2 0-.3.4-.3h4.1c.2 0 .3.1.3.5v4.6c0 .5.4.6.5.6h1.3s.4-.1.4-.6v-6.7c.1-.3-.1-.4-.3-.5zm-9.2 5.3v.2c0 .1-.1.4-.5.4H6.4c-.4 0-.5-.2-.5-.3v-2.9c0-.6.3-.7.5-.7h3.9c.1 0 .5.1.5.6-.1 1-.1 1.8-.1 2.7zm8.8-7.1c1 .2 1.9.1 2.7-.7.4-.4.7-1 .8-1.6v-.1c-.1-.2-.2-.4-.2-.6-1.2-2-2.2-4-3.3-6-.1-.3-.4-.3-.5-.3H4.9s-.4 0-.6.3c-1.1 2-2.1 4-3.2 6-.1.2-.2.4-.2.7v.1c.1.6.4 1.2.9 1.6.8.8 1.7.9 2.8.6.6-.3 1-.6 1.4-1.2l.1-.1c.3-.2.5-.1.7.1.2.3.4.6.7.8.8.6 1.7.6 2.6.4.6-.2 1.1-.6 1.4-1.2.2-.3.6-.3.8 0l.3.3c.4.6 1 .9 1.7 1 .7.1 1.3-.1 1.9-.5.3-.2.6-.5.8-.8.2-.3.6-.3.8 0 .4.6.8 1 1.5 1.2h.2z\"}},\nstrategy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.6 8.6h-3.7c-.8 0-1.5.7-1.5 1.5v.9H13V3.7c0-.2-.3-.4-.5-.4H7.7v-.9C7.7 1.6 7 .9 6.2.9H2.4C1.7.9 1 1.6 1 2.4v3.7c0 .9.6 1.5 1.4 1.5h3.8c.8 0 1.5-.6 1.5-1.5v-.8h3.4V11H7.7v-.8c0-.9-.7-1.5-1.5-1.5H2.4c-.8 0-1.4.6-1.4 1.5v3.6c0 .9.6 1.5 1.4 1.5h3.8c.8 0 1.5-.6 1.5-1.5V13h3.4v5.7H7.7v-.8c0-.8-.7-1.5-1.5-1.5H2.4c-.8 0-1.4.7-1.4 1.5v3.7c0 .9.6 1.5 1.4 1.5h3.8c.8 0 1.5-.6 1.5-1.5v-.8h4.9c.2 0 .4-.3.4-.5V13h3.5v.8c0 .9.6 1.5 1.5 1.5h3.7c.8 0 1.5-.6 1.5-1.5v-3.7c-.1-.8-.7-1.5-1.6-1.5zM5.8 5.7H2.9V2.8h2.9v2.9zm0 4.8v2.9H2.9v-2.9h2.9zm0 10.7H2.9v-2.9h2.9v2.9zm15.5-10.7v2.9h-2.9v-2.9h2.9z\"}},\nstrikethrough:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.6 8.4c-.1-.5-.2-1.1-.2-1.6 0-.6.2-1.3.5-2 .2-.6.7-1.3 1.3-1.8.5-.6 1.3-1.1 2.2-1.5.9-.3 2-.6 3.2-.6 1.2 0 2.3.2 3.4.5.8.3 1.6.7 2.3 1.4.3.2.3.7-.1 1L17 4.9c-.3.3-.7.3-1 0-.3-.3-.7-.6-1.1-.8-.6-.3-1.4-.5-2.3-.5-.7 0-1.4.1-1.9.3s-1 .5-1.3.9-.6.6-.7 1-.2.8-.2 1c0 .5.1 1 .2 1.3.2.3-.1.7-.4.7H6c-.2 0-.4-.3-.4-.4zm12.8 6.8h-2.3c-.3 0-.5.4-.4.6.1.3.2.7.2 1 0 .6-.2 1.1-.4 1.6-.3.4-.6.8-1 1.1-.4.3-.9.5-1.4.6-.5.2-1 .3-1.5.3-.8 0-1.7-.2-2.5-.6-.6-.3-1.1-.6-1.5-1.2-.3-.2-.7-.3-1 0l-1.3 1.1c-.3.2-.3.7 0 .9.6.8 1.4 1.3 2.4 1.7 1.2.5 2.5.7 3.9.7 1 0 2-.2 2.8-.5.9-.3 1.7-.7 2.4-1.3.6-.5 1.2-1.2 1.6-2 .3-.9.6-1.8.6-2.8 0-.3 0-.6-.1-.9-.1-.1-.3-.3-.5-.3zM23 11c-.1-.2-.3-.4-.6-.4H1.6c-.3 0-.5.2-.6.4-.1.1-.1.2-.1.3v1.3c0 .4.3.8.7.8h20.8c.4 0 .7-.4.7-.8v-1.3c0-.1 0-.2-.1-.3z\"}},\nsuccess:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm6.2 8.3l-7.1 7.2c-.3.3-.7.3-1 0l-3.9-3.9c-.2-.3-.2-.8 0-1.1l1-1c.3-.2.8-.2 1.1 0l2 2.1c.2.2.5.2.7 0l5.2-5.3c.2-.3.7-.3 1 0l1 1c.3.2.3.7 0 1z\"}},\nsummary:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4.9H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7zm0 5.6H6.2c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h16.2c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7zm0 9.2H6.2c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h16.2c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm0 4.6h-18c-.4 0-.7-.3-.7-.7v-3.2c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V21c0-.4-.3-.7-.7-.7zm0-9.2h-18c-.4 0-.7-.3-.7-.7V7.2c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6c0 .3.3.6.7.6h20.8c.4 0 .7-.3.7-.6v-1.4c0-.4-.3-.7-.7-.7z\"}},\nsummarydetail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4.9H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7zM9.5 6.5H6.2c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h3.3c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zm6.4 0h-3.2c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h3.2c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7zm6.5 0h-3.2c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h3.2c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7zM9.5 15.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h3.3c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7zm6.4 0h-3.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h3.2c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm6.5 0h-3.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h3.2c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm0 4.6h-18c-.4 0-.7-.3-.7-.7v-3.2c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V21c0-.4-.3-.7-.7-.7zm0-9.2h-18c-.4 0-.7-.3-.7-.7V7.2c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6c0 .3.3.6.7.6h20.8c.4 0 .7-.3.7-.6v-1.4c0-.4-.3-.7-.7-.7z\"}},\nsurvey:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M2.4 1.4h16.4c.8 0 1.5.7 1.5 1.5v1.6c0 .8-.7 1.5-1.5 1.5H2.4C1.6 6 .9 5.3.9 4.5V2.9c0-.8.7-1.5 1.5-1.5zM.5 5.5h9.1c1.7 1.4 2.4 2.1 2.4 3V10c0 .8-.7 1.5-1.5 1.5h-9C.7 11.5 0 10.8 0 10V8.5c0-.9.7-1.6 1.5-1.6zm16.6 6c2.8 0 5.1 2.3 5.1 5.1s-2.3 5.1-5.1 5.1-5.1-2.3-5.1-5.1 2.3-5.1 5.1-5.1zm3.2 3.7c.1-.1.1-.4 0-.5l-.5-.5c-.1-.1-.4-.1-.5 0l-2.8 3.1-1.2-1.2c-.2-.2-.4-.2-.5 0l-.6.5c-.1.1-.1.3 0 .4l1.8 1.8c.2.1.3.2.5.2s.4-.1.5-.2l3.3-3.6zM1.5 13.8H10c-.3.9-.4 1.7-.4 2.4 0 .8 0 1.5.2 2.3H1.5c-.8 0-1.5-.7-1.5-1.6v-1.5c0-.9.7-1.6 1.5-1.6z\",\"fill\":\"#FFF\"}},\nswitch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 8.2l-9.5 9.6c-.3.2-.7.2-1 0L2 8.2c-.2-.3-.2-.7 0-1l1-1c.3-.3.8-.3 1.1 0l7.4 7.5c.3.3.7.3 1 0l7.4-7.5c.3-.3.8-.3 1.1 0l1 1c.2.3.2.7 0 1z\"}},\nsymbols:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.5 12.9l.4-1.8h1.4l-.5 1.8h-1.3zm-.4 1.4h1.4l-.3 1.4h1.3l.4-1.4h1.5v-1.4h-1.2l.5-1.8h1.4V9.7H19l.4-1.4H18l-.3 1.4h-1.4l.3-1.4h-1.4l-.3 1.4h-1.5v1.4h1.1l-.4 1.8h-1.6v1.4h1.2l-.3 1.4h1.4l.3-1.4zM1.8 2.8h20.4c.5 0 .9.4.9.9v16.6c0 .5-.4.9-.9.9H1.8c-.5 0-.9-.4-.9-.9V3.7c0-.5.4-.9.9-.9zm9.2 9.6c.3-.2.5-.4.7-.6.2-.1.3-.3.4-.6.2-.2.2-.5.2-.8 0-.5-.1-.8-.3-1.2-.2-.3-.5-.5-.9-.7-.3-.2-.8-.3-1.3-.3s-1 .1-1.4.3c-.5.2-.8.6-1.2 1v.1l.9.8.1-.1c.2-.3.5-.5.7-.6.2-.1.5-.2.8-.2.4 0 .6.1.8.3.2.1.2.3.2.6 0 .2 0 .4-.2.6-.1.1-.3.3-.6.5-.4.3-.6.5-.8.7-.2.2-.3.5-.3.9v.3h1.4v-.1c0-.2.1-.3.2-.4.1-.2.3-.3.6-.5zM4.6 8.3v5.1H6V8.3H4.6zm.7 7.6c.5 0 .9-.4.9-.9s-.4-.9-.9-.9-.9.4-.9.9.4.9.9.9zm4.2 0c.5 0 .9-.4.9-.9s-.4-.9-.9-.9-1 .4-1 .9.5.9 1 .9z\"}},\nsync:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.1 13.5c0-.3-.3-.7-.7-.7h-1.6c-.4 0-.6.3-.6.7 0 .1 0 .2-.1.3-.1.6-.4 1.2-.7 1.7-1.3 2.3-3.5 3.5-5.9 3.5-1.9 0-3.6-.7-4.9-2-.3-.2-.4-.4-.6-.7-.1-.3.2-.5.6-.5h3.2c.4 0 .7-.3.7-.7v-1.4c0-.4-.2-.7-.6-.7H2.4c-.3 0-.6.3-.6.6V22c.1.4.4.7.8.7H4c.3 0 .7-.3.7-.7v-3.2c0-.4.2-.6.5-.3.2.1.3.3.5.4 2.3 2.3 5.5 3.3 8.8 2.7 1.2-.3 2.3-.7 3.3-1.4 2.4-1.6 3.9-4 4.3-6.6v-.1zm-20.2-3c0 .3.3.7.7.7h1.6c.4 0 .6-.3.6-.7 0-.1 0-.2.1-.3.1-.6.4-1.2.7-1.7C6.9 6.2 9.1 5 11.5 5c1.9 0 3.6.7 4.9 2 .3.2.4.4.6.7.1.3-.2.5-.6.5h-3.2c-.4 0-.7.3-.7.7v1.4c0 .4.2.7.6.7h8.5c.3 0 .6-.3.6-.6V2c-.1-.4-.4-.7-.8-.7H20c-.3 0-.7.3-.7.7v3.2c0 .4-.2.6-.5.3-.2-.1-.3-.3-.5-.4-2.3-2.3-5.5-3.3-8.8-2.7-1.2.3-2.3.7-3.3 1.4-2.4 1.6-3.9 4-4.3 6.6v.1z\"}},\nsystem_and_global_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.5 21.5c0-1.4.7-2.4 1.6-3v-1.4c-.5-.3-.8-.9-1-1.4-.2-.8.1-1.7.5-2.3.1-.2.3-.3.5-.5.1-.1.3-.3.5-.3.9-.5 2-.9 3.2-.9 1 0 1.8.4 2.4 1 .9-.8 1.8-1 2.4-1 .5 0 1 .1 1.4.3v-.1c.1-6-4.9-11-11-11S.9 5.9.9 12s5 11.1 11 11.1c-.2-.5-.4-1-.4-1.6zm9.3-10.6h-2.9c-.1-2.6-.7-4.9-1.6-6.7 2.4 1.4 4.1 3.9 4.5 6.7zm-7.7-7.3c1.3 1.1 2.4 3.8 2.5 7.3h-2.5V3.6zm-9.9 9.5h2.9c.1 2.6.7 4.9 1.6 6.7-2.4-1.4-4.1-3.8-4.5-6.7zm2.9-2.2H3.2C3.6 8 5.3 5.6 7.8 4.2c-1 1.8-1.5 4.1-1.7 6.7zm4.8 9.5c-1.3-1.1-2.4-3.8-2.5-7.3h2.5v7.3zm0-9.5H8.4c.1-3.5 1.2-6.2 2.5-7.3v7.3zm10.5 5.7c.5 0 1.4-.4 1.4-1.6s-.9-1.4-1.2-1.4c-.5 0-1.1.4-1.5 1.3-.5.8-1.1 1.8-1.1 1.8-.1-.6-.3-1.1-.3-1.4-.1-.5-.7-1.6-1.9-1.6s-2.4.7-2.4.7c-.3.1-.4.4-.4.6 0 .5.3.8.8.8.1 0 .2 0 .3-.1 0 0 1-.5 1.1 0 .1.2.1.4.2.5.3.9.5 1.8.7 2.7l-.9 1.2s-.9-.3-1.3-.3-1.5.4-1.5 1.6 1 1.4 1.2 1.4c.6 0 1.1-.5 1.6-1.3s1-1.8 1-1.8c.2.8.3 1.4.4 1.7.3.8 1 1.4 2 1.4 0 0 1 0 2.1-.6.3-.1.5-.5.5-.7 0-.5-.4-.8-.8-.8-.1 0-.3 0-.4.1 0 0-.8.4-1.1.1-.2-.4-.3-.9-.5-1.6-.1-.6-.2-1.2-.4-1.9l.8-1.2c.2 0 1.2.4 1.6.4z\"}},\ntable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.5.9h-19c-.3 0-.7.3-.7.7v2.3c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V1.6c0-.4-.4-.7-.7-.7zM6.7 6.5H2.5c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h4.2c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h4.2c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zM6.7 11.1H2.5c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h4.2c.4 0 .7-.3.7-.6v-1.4c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h4.2c.3 0 .7-.3.7-.6v-1.4c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6h4.2c.3 0 .7-.3.7-.6v-1.4c0-.4-.4-.7-.7-.7zM6.7 15.7H2.5c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h4.2c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h4.2c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h4.2c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7zM6.7 20.3H2.5c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h4.2c.4 0 .7-.3.7-.7V21c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h4.2c.3 0 .7-.3.7-.7V21c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V21c0-.4-.4-.7-.7-.7z\"}},\ntablet_landscape:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 4.6c0-1-.9-1.8-1.9-1.8H2.8c-1 0-1.9.8-1.9 1.8v14.8c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V4.6zM3.2 13.4c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.7 1.4-1.4 1.4zm17.1 4.4c0 .3-.3.7-.7.7H6.2c-.3 0-.7-.4-.7-.7V6.2c0-.3.4-.7.7-.7h13.4c.4 0 .7.4.7.7v11.6z\"}},\ntablet_portrait:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2 2.8c0-1-.8-1.9-1.8-1.9H4.6c-1 0-1.8.9-1.8 1.9v18.4c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9V2.8zM12 22.2c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.3.6 1.3 1.4-.6 1.4-1.3 1.4zm6.5-4.4c0 .3-.4.7-.7.7H6.2c-.3 0-.7-.4-.7-.7V4.4c0-.4.4-.7.7-.7h11.6c.3 0 .7.3.7.7v13.4z\"}},\ntabset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.6.9H9.4c-.3 0-.5.3-.5.6v1.2c0 .3.2.6.5.6h5.2c.3 0 .5-.3.5-.6V1.5c.1-.3-.2-.6-.5-.6zm7.9 0h-5.2c-.3 0-.6.3-.6.6v1.2c0 .3.3.6.6.6h5.2c.3-.1.6-.3.6-.6V1.5c0-.3-.3-.6-.6-.6zm0 3.9H7.8c-.3 0-.6-.3-.6-.6V1.5c0-.3-.2-.6-.6-.6H1.5c-.3 0-.6.3-.6.6v21c0 .3.3.6.6.6h21c.3 0 .6-.3.6-.6V5.4c0-.3-.3-.6-.6-.6z\"}},\ntask:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.1 3.2l-.8-.8c-.2-.2-.6-.2-.8 0L4.6 7.3l-2-1.9c-.2-.3-.5-.3-.8 0l-.7.7c-.3.3-.3.6 0 .8l2.7 2.7c.2.3.5.4.8.4.2 0 .5-.1.8-.4L11.1 4c.2-.2.2-.5 0-.8zm11.2 5.3h-9.6c-.4 0-.7-.3-.7-.7V6.3c0-.4.3-.8.7-.8h9.6c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zm0 6.6H10.5c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h11.8c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zM6 15.1H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8H6c.4 0 .7.4.7.8v1.5c.1.4-.3.7-.7.7zm0 6.6H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8H6c.4 0 .7.4.7.8V21c.1.4-.3.7-.7.7zm16.3 0H10.5c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h11.8c.5 0 .8.4.8.8V21c0 .4-.3.7-.8.7z\"}},\ntext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.8 22.1c-.1-1.5-.1-3-.1-4.5v-2.2c0-.7.1-1.4-.2-2.1-.6-1.4-2.5-1.7-3.9-1.7-.7 0-1.4.1-2.2.3-.5.1-1 .3-1.4.5l.5 1.2c.1.2.1.4.1.7 1-.5 1.9-.7 2.9-.7 1.4 0 2.2.6 2.2 1.7v.6h-1c-1.9 0-3.4.3-4.3.8-1.1.5-1.6 1.5-1.6 2.9 0 1.1.4 1.9 1 2.5.7.5 1.5.8 2.5.8.9 0 1.6-.1 2.1-.3.6-.3 1-.7 1.4-1.2h.1c0 .2.1.7.1 1.2 0 .1 1.7 0 1.8 0v-.5zm-2.1-3.6c0 .2-.1.5-.2.7 0 .2-.1.4-.2.5-.5.7-1.2 1-2 1.1-.4.1-.9 0-1.4-.1-.3 0-.7-.2-.9-.5-.3-.5-.2-1.3.1-1.8.2-.3.6-.4.9-.6.9-.3 1.9-.3 2.8-.3h.8v1zm-6.9-4.2L8.6 1.6c-.1-.3-.2-.4-.5-.4H6.5c-.3 0-.5.1-.6.4L1.2 14.3c-.1.2.1.6.3.6h1.8c.3 0 .5-.2.6-.5l1.2-3.3h4.6l1.3 3.3c.1.2.4.5.6.5h1.8c.3 0 .5-.4.4-.6zM6 8.5l1.4-3.4 1.5 3.4H6z\"}},\ntext_background_color:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 7.4l1.9 4.6H9.8l1.8-4.6h.4zm10.2-3.7v16.6c0 1-.9 1.9-1.9 1.9H3.7c-1 0-1.9-.9-1.9-1.9V3.7c0-1 .9-1.9 1.9-1.9h16.6c1 0 1.9.9 1.9 1.9zm-2.6 15.1L14.1 5.1c-.2-.3-.4-.5-.7-.5h-3.3c-.3 0-.5.2-.6.5L4.4 18.8c-.1.3.1.6.4.6h1.9c.3 0 .5-.2.6-.5l1.5-4.1H15l1.6 4.1c.1.3.4.5.7.5h1.9c.3 0 .5-.3.4-.6z\"}},\ntext_color:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.8 16.6h1.9c.3 0 .5-.2.6-.5L8.8 12H15l1.6 4.1c.1.3.4.5.7.5h1.9c.3 0 .5-.3.4-.6L14 2.3c-.1-.3-.3-.5-.6-.5h-3.2c-.3 0-.6.2-.7.5L4.4 16c-.1.3.1.6.4.6zm6.8-12h.4l2 4.6H9.8l1.8-4.6zm10.8 14.8H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h20.8c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7z\"}},\ntext_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.3 17.2v-.1c.1-1.3 1.1-2.3 2.4-2.3h3.1c-.5-.9-.4-2 .3-2.8l.1-.1.7-.7c.4-.5 1-.7 1.6-.8V2.8c0-1-.8-1.8-1.9-1.8H2.8C1.8 1 1 1.8 1 2.8v12.9c0 1 .8 1.8 1.8 1.8h6.4v-.3zM3.7 3.8c0-.2.2-.4.5-.4H7c.2 0 .4.2.4.4v1.3c0 .3-.2.5-.4.5H4.2c-.3 0-.5-.2-.5-.5V3.8zm0 4c0-.2.2-.4.5-.4h10.1c.3 0 .5.2.5.4v1.3c0 .3-.2.5-.5.5H4.2c-.2 0-.4-.2-.4-.5l-.1-1.3zm0 5.4v-1.3c0-.3.2-.5.5-.5h8.3c.3 0 .5.2.5.5v1.3c0 .3-.2.5-.5.5H4.2c-.3 0-.5-.2-.5-.5zm14.4-.7c-.3-.3-.6-.3-.8 0l-.8.7c-.2.2-.2.6 0 .7l2.1 2.1v.2c0 .3-.1.4-.3.4h-6.6c-.3 0-.5.2-.6.5v1.1c.1.3.3.5.6.6h6.6c.1 0 .1.1.2.1.1.1.1.4.1.5l-2.1 2.1c-.2.2-.2.5 0 .7l.8.8c.2.2.5.2.7 0l4.9-4.9c.2-.2.2-.6 0-.7l-4.8-4.9z\"}},\ntextarea:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.7 22.8H3.3c-1.2 0-2.1-.9-2.1-2.1V3.3c0-1.2.9-2.1 2.1-2.1h17.4c1.2 0 2.1.9 2.1 2.1v17.4c0 1.2-.9 2.1-2.1 2.1zM4.1 4.8v14.4c0 .4.3.7.7.7h14.4c.5 0 .8-.3.8-.7V4.8c0-.5-.3-.8-.8-.8H4.8c-.4.1-.7.4-.7.8zm12.2 7.7c.4 0 .7.3.7.7v3.1c0 .5-.3.8-.7.8H13c-.4 0-.7-.3-.8-.8 0-.2.2-.4.3-.6l.7-.7c.5-.5 1-.9 1.4-1.3.4-.3.7-.6 1-.9.1-.1.2-.2.3-.2.2-.1.3-.1.4-.1z\"}},\ntextbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.6 22.8H3.4c-1.2 0-2.2-1-2.2-2.2V3.4c0-1.2 1-2.2 2.2-2.2h17.3c1.2 0 2.1 1 2.1 2.2v17.3c0 1.1-1 2.1-2.2 2.1zM4.1 4.8v14.4c0 .4.3.7.7.7h14.4c.5 0 .8-.3.8-.7V4.8c0-.4-.3-.7-.8-.7H4.8c-.4 0-.7.3-.7.7zM7 16.3V7.7c0-.4.3-.7.8-.7h1.4c.4 0 .7.3.7.7v8.6c0 .4-.3.7-.7.7H7.8c-.5 0-.8-.3-.8-.7z\"}},\nthreedots:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.7 9.2c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8S.9 13.5.9 12s1.3-2.8 2.8-2.8zm8.3 0c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8 1.3-2.8 2.8-2.8zm8.3 0c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8 1.3-2.8 2.8-2.8z\"}},\nthreedots_vertical:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.2 20.3c0-1.5 1.3-2.8 2.8-2.8s2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8zm0-8.3c0-1.5 1.3-2.8 2.8-2.8s2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8zm0-8.3C9.2 2.2 10.5.9 12 .9s2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8z\"}},\nthunder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14 1.4c-.7-.6-1.7-.6-2.4 0L1.4 11.6c-.6.7-.6 1.7 0 2.4l5.4 5.4c.7.7 1.8.7 2.5 0L19.4 9.3c.7-.7.7-1.8 0-2.5L14 1.4zm-8.4.9c-.2-.2-.6-.2-.9 0L2.3 4.7c-.2.3-.2.7 0 .9l.9.9c.3.3.7.3.9 0l2.4-2.4c.3-.2.3-.6 0-.9l-.9-.9zm8.7 14.4c-.2.3-.2.7 0 .9l5.3 5.3c.2.2.6.2.9 0l2.4-2.4c.2-.3.2-.7 0-.9l-5.2-5.3c-.3-.2-.7-.2-1 0l-2.4 2.4z\"}},\ntile_card_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.7 1.8H2.5c-.3 0-.7.4-.7.7v7.9c0 .4.4.7.7.7h4.2c.4 0 .7-.3.7-.7V2.5c0-.3-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.4-.7.7v7.9c0 .4.4.7.7.7h4.2c.3 0 .7-.3.7-.7V2.5c0-.3-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.4-.7.7v7.9c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V2.5c0-.3-.4-.7-.7-.7zM6.7 12.9H2.5c-.3 0-.7.3-.7.7v7.9c0 .3.4.7.7.7h4.2c.4 0 .7-.4.7-.7v-7.9c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v7.9c0 .3.4.7.7.7h4.2c.3 0 .7-.4.7-.7v-7.9c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v7.9c0 .3.3.7.7.7h4.2c.3 0 .7-.4.7-.7v-7.9c0-.4-.4-.7-.7-.7z\"}},\ntoggle_panel_bottom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2 3.7H2.8c-.5 0-1 .4-1 .9v14.8c0 .5.5.9 1 .9h18.4c.5 0 1-.4 1-.9V4.6c0-.5-.5-.9-1-.9zm-.9 14.8H3.7v-13h16.6v13zm-1.4-1H5.1c-.3 0-.4-.1-.4-.4v-4.6c0-.3.1-.5.4-.5h13.8c.3 0 .5.2.5.5v4.6c0 .3-.2.4-.5.4z\"}},\ntoggle_panel_left:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2 3.7H2.8c-.5 0-1 .4-1 .9v14.8c0 .5.5.9 1 .9h18.4c.5 0 1-.4 1-.9V4.6c0-.5-.5-.9-1-.9zm-.9 14.8H3.7v-13h16.6v13zm-10.6-1H5.1c-.3 0-.4-.1-.4-.4V6.9c0-.3.1-.4.4-.4h4.6c.3 0 .5.1.5.4v10.2c0 .3-.2.4-.5.4z\"}},\ntoggle_panel_right:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M1.8 3.7h20.4v16.6H1.8V3.7zm1.9 1.8v13h16.6v-13H3.7zm10.1 1h5.6v11h-5.6v-11z\"}},\ntoggle_panel_top:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2 3.7H2.8c-.5 0-1 .4-1 .9v14.8c0 .5.5.9 1 .9h18.4c.5 0 1-.4 1-.9V4.6c0-.5-.5-.9-1-.9zm-.9 14.8H3.7v-13h16.6v13zM18.9 12H5.1c-.3 0-.4-.2-.4-.5V6.9c0-.3.1-.4.4-.4h13.8c.3 0 .5.1.5.4v4.6c0 .3-.2.5-.5.5z\"}},\ntopic:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 16.3c0-.1-.2-.3-.3-.3l-1-.3c-.2-.1-.4 0-.5.2l-1.8 3c-.4.9-.2 1.1.7.7l3-1.8c.2-.1.3-.3.3-.5l-.4-1zm8-8.6c0 .1.2.3.3.3l1 .3c.2.1.4 0 .5-.2L19.6 5c.4-.8.2-1.1-.7-.6l-3 1.7c-.2.1-.3.4-.3.5l.4 1.1zm-9.8.4c.1.2.3.3.5.3l1-.3c.1-.1.3-.2.3-.3l.3-1.1c.1-.1 0-.4-.2-.5l-3-1.8c-.9-.4-1.1-.2-.7.7l1.8 3zm11.6 7.8c-.1-.2-.3-.3-.5-.3l-1 .3c-.1.1-.3.2-.3.3l-.3 1.1c-.1.2 0 .4.2.5l3.1 1.8c.8.4 1.1.2.6-.7l-1.8-3zm4.7-4.3l-7.6-2c-.3 0-.5-.3-.5-.5l-2-7.6c-.3-.8-.6-.8-.8 0l-2 7.6c-.1.3-.3.5-.6.5l-7.5 2c-.8.3-.8.6 0 .8l7.6 2c.3.1.5.3.5.6l2 7.5c.3.8.6.8.8 0l2-7.5c.1-.3.3-.5.6-.6l7.5-2c.8-.2.8-.6 0-.8zM12 13.8c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8 1.8.8 1.8 1.8-.8 1.8-1.8 1.8z\"}},\ntopic2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.7 6.1h-3L21 1.2v-.1c0-.2-.1-.4-.4-.4h-2.4c-.2 0-.3.2-.3.4l-1.3 5.1h-6l1.3-5v-.1c0-.2-.2-.4-.4-.4H9.1c-.2 0-.3.2-.4.4l-1.3 5H4.1c-.2 0-.4.1-.4.3l-.6 2.3v.1c0 .2.1.3.4.3h3.1l-1.5 5.8H1.9c-.2 0-.3.1-.4.3l-.6 2.2c0 .2.2.4.4.4h3l-1.3 5v.1c0 .2.2.4.4.4h2.4c.2 0 .3-.1.4-.3l1.3-5.2h6l-1.3 5v.1c0 .2.1.4.4.4H15c.1 0 .3-.1.3-.4l1.3-5.1h3.3c.2 0 .3-.1.4-.4l.6-2.2v-.1c0-.2-.2-.4-.4-.4h-3.1L18.9 9h3.2c.2 0 .3-.1.4-.4l.6-2.2v-.1s-.2-.2-.4-.2zm-8.4 8.8h-6l1.5-5.8h5.9l-1.4 5.8z\"}},\ntouch_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.4 13.8l-3.7-1.3c-.3-.1-.5-.4-.5-.7V6.7c0-.7-.7-1.3-1.5-1.3h-.1c-.8 0-1.4.6-1.4 1.3v10c0 .8-1.1 1.2-1.6.4l-.9-2c-.5-.9-1.7-1.1-2.5-.5l-.6.4 3.2 7.6c.1.3.4.5.8.5h8.3c.5 0 .8-.3.9-.7l1.4-5.2c.4-1.5-.4-2.9-1.8-3.4zm-9.5-3.2v-4c.1-1.8 1.7-3.4 3.5-3.5h.4c1.9.1 3.4 1.7 3.5 3.5v4c0 .3.4.5.7.3 1-1.1 1.6-2.5 1.6-4 0-3.4-3-6.2-6.5-5.9-2.7.3-4.9 2.3-5.3 5-.3 1.8.3 3.6 1.5 4.9.2.2.6 0 .6-.3z\"}},\ntracker:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7 13.1v-2c2.4-.4 4.2-2.5 4.2-5C11.2 3.3 8.9 1 6.1 1S1 3.3 1 6.1c0 2.5 1.8 4.6 4.2 5v2c-2.4.4-4.2 2.5-4.2 5 0 2.8 2.3 5.1 5.1 5.1s5.1-2.3 5.1-5.1c0-2.5-1.8-4.5-4.2-5zm-4.1-7c0-1.8 1.4-3.2 3.2-3.2s3.2 1.4 3.2 3.2-1.4 3.2-3.2 3.2-3.2-1.4-3.2-3.2zM14 4.2h8.2c.6 0 1 .5 1 1V7c0 .5-.4.9-1 .9H14c-.5 0-.9-.4-.9-.9V5.2c0-.5.4-1 .9-1zm0 12h8.2c.6 0 1 .5 1 1V19c0 .5-.4.9-1 .9H14c-.5 0-.9-.4-.9-.9v-1.8c0-.5.4-1 .9-1z\"}},\ntrail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.8.9c1.6 0 2.8 1.2 2.8 2.7s-1.3 2.8-2.8 2.8-2.7-1.2-2.7-2.8S11.3.9 12.8.9zm7 7.5c-.5-.1-1 .3-1.1.8l-.2 2.7c-.1 0-.2.1-.3.1h-2.5l-1.8-3.1c-.1-.3-.4-.5-.7-.5L10.5 8c-.4-.1-.9.2-1.1.6l-2 5.2c-.2.5 0 .9.4 1.1l5 3.4.4 3.9c0 .5.5.9 1 .9.6 0 1.1-.5 1-1l-.4-4.8c0-.2-.2-.5-.4-.6l-2.7-3.1 1-2.5 1.2 2.1c.2.3.5.6.9.6h3.5l-1 8.3c-.1.5.3.9.8 1 .1 0 .1-.1.1-.1.5 0 1-.3 1-.8l1.6-12.9c0-.4-.4-.9-1-.9zM5.6 12.8l1.7-4.4c.1-.3.3-.6.5-.8l-.3-.1c-1.5-.2-2.8.7-3.3 2.1L3.3 12c-.2.5.1 1.1.6 1.2l.4.1c.6.2 1.1-.1 1.3-.5zm.7 3.4l-2.1 6.2c-.1.4.1.6.5.6h1.1c.4 0 .8-.2 1-.6l2-4.5-2.3-1.4c0-.1-.1-.2-.2-.3z\"}},\ntrailhead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M21 15.4h1.2l-.6-1.9.6-1.9h-2.1c-.3-1.1-.9-2.2-1.6-3.3-.7-1.1-1.5-2-2.6-2.9-1-.9-2.3-1.7-3.9-2.3V3l-.1.1s-.6.1-1.5.5c-.6.4-1.4.8-2.2 1.5-1.3.9-2.6 2.3-3.6 4.3-.4.7-.7 1.4-.9 2.2H1.8l.6 1.9-.6 1.9H3c-.1.6-.1 1.2-.1 1.8v1.2l.1.1s1 .6 2.6 1.1c1.6.5 3.8 1 6.5 1 2.1 0 4.5-.3 7-1.3.6-.2 1.2-.5 1.8-.8l.1-.1h.1v-1.2c0-.5-.1-1.1-.1-1.8zm-18.3-.7l.4-1.2-.4-1.3h18.6l-.4 1.3.4 1.2H2.7zM6 11.6l1.4-2.3 1.2-1.9 1.9 2.4 1.2-1.1 1.2 1.5 1.9-2.8 3.1 4.2H6zm-1.2-1.3c.3-.5.6-1 .8-1.4.1-.1.1-.2.2-.3 0 0 .1-.1.1-.2 2.4-3.6 5.9-4.7 6-4.7l.1-.1v.1c2.5 1 4.3 2.5 5.5 4.2.5.5.8 1.1 1.1 1.7.4.6.6 1.3.9 1.9h-.8c-1-2.6-3-5.5-6.7-7.2-.8.3-5 1.9-6.9 7.2h-.8c.2-.3.4-.7.5-1.2zm15.6 7.6v.1l-.1.1c-2.9 1.5-5.7 2-8.2 2-4.5 0-7.9-1.6-8.4-1.9-.1-.1-.1-.1-.2-.1v-.2c0-.9 0-1.7.1-2.4h.6c0 .6-.1 1.3 0 2.1.6.4 3 1.4 6.2 1.7.8-.4 1.3-1.3.1-2.3h-.2v-.1h-.1V16.6c-.2-.4 0-.7 1.1-.8.3-.1 1.4 0 1-.4h.5c.4.4.4.8-1.3 1-.2 0-.3.2-.3.3h.1c1.7.4 2.1 1.6 1.9 2.5 2-.1 4.2-.6 6.4-1.7 0-.4 0-1.2-.2-2.2h.7c0 .2.1.3.1.5.3 1.3.2 2 .2 2.1z\"}},\ntravel_and_places:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.7 9.7l-2.1-5.6c-.3-1.1-1.3-1.8-2.4-1.8H6.8c-1.1 0-2.1.7-2.4 1.8L2.3 9.7c-1 .3-1.4 1.2-1.4 2.2v5.4c0 .9 1 1.8 1.9 2.1v1.8c0 .7.3 1 .9 1H6c.6 0 .9-.3.9-1v-1.8h10.2v1.8c0 .7.3 1 .9 1h2.3c.6 0 .9-.3.9-1v-1.8c.9-.3 1.9-1.1 1.9-2.1v-5.4c0-1-.4-1.9-1.4-2.2zm-16.6 6c-1.1 0-1.9-.8-1.9-1.9S4 12 5.1 12s1.8.8 1.8 1.8-.8 1.9-1.8 1.9zm7.6-6H5.4c-.2 0-.4-.2-.3-.5l1.4-4.1c0-.2.1-.5.4-.5h10.2c.3 0 .4.4.4.5l1.4 4.1c.1.3 0 .5-.4.5h-5.8zm6.2 6c-1 0-1.8-.8-1.8-1.9s.8-1.8 1.8-1.8 1.9.8 1.9 1.8-.8 1.9-1.9 1.9z\"}},\ntrending:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 14.1a.5.5 0 0 1-.9.4L19.7 12 14 16.9a1.6 1.6 0 0 1-2.3 0L8.3 13l-6.2 5.4a.5.5 0 0 1-.7 0l-.3-.3a.5.5 0 0 1 0-.8l6-8.2a1.6 1.6 0 0 1 2.3 0l3.5 3.4 3.5-4-2.3-2.1a.6.6 0 0 1 .4-.9H22a1.1 1.1 0 0 1 1.1 1.1z\"}},\nturn_off_notifications:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.8 12.3c.3.3.6.3.9 0l9.9-9.1c.2-.3.1-.9-.6-.9H1.6c-.5 0-1 .5-.6.9l9.8 9.1zm3.1 5.1c.2-2.6 2.3-4.8 4.9-5 .3 0 .5-.1.7-.1.8 0 1.5.2 2.2.5V7.1c0-.5-.5-.7-.8-.4l-7.7 7.1c-.5.5-1.2.7-1.9.7s-1.4-.2-1.9-.7L1.8 6.7c-.4-.3-.9-.1-.9.4v9c0 1.2.9 2.1 2.1 2.1h10.9v-.8zm5.5-3.1c-2 0-3.7 1.7-3.7 3.7s1.7 3.7 3.7 3.7 3.7-1.7 3.7-3.7-1.6-3.7-3.7-3.7zm2.8 4.4c0 .1-.1.2-.2.2h-5.1c-.1 0-.2-.1-.2-.2v-1.4c0-.1.1-.2.2-.2H22c.1 0 .2.1.2.2v1.4z\"}},\ntype:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 5.1H1.8c-.5 0-.9.4-.9.9v12c0 .5.4.9.9.9h20.4c.5 0 .9-.4.9-.9V6c0-.5-.4-.9-.9-.9zm-1 12H2.8V6.9h18.4v10.2zm-16-7h.4c.4 0 .7-.4.7-.7v-.5c0-.4-.3-.7-.7-.7h-.4c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7zm2.6 0h.5c.3 0 .7-.4.7-.7v-.5c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7zm5.3 0h.5c.3 0 .7-.4.7-.7v-.5c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7zm-2.7 0h.5c.4 0 .7-.4.7-.7v-.5c0-.4-.3-.7-.7-.7h-.5c-.3 0-.7.3-.7.7v.5c0 .3.4.7.7.7zm8 0h.5c.3 0 .7-.4.7-.7v-.5c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7zm-2.7 0h.5c.4 0 .7-.4.7-.7v-.5c0-.4-.3-.7-.7-.7h-.5c-.3 0-.7.3-.7.7v.5c0 .3.4.7.7.7zM5.2 12.8h.4c.4 0 .7-.3.7-.7v-.4c0-.4-.3-.7-.7-.7h-.4c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7zm2.6 0h.5c.3 0 .7-.3.7-.7v-.4c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7zm5.3 0h.5c.3 0 .7-.3.7-.7v-.4c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7zm-2.7 0h.5c.4 0 .7-.3.7-.7v-.4c0-.4-.3-.7-.7-.7h-.5c-.3 0-.7.3-.7.7v.4c0 .4.4.7.7.7zm8 0h.5c.3 0 .7-.3.7-.7v-.4c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7zm-2.7 0h.5c.4 0 .7-.3.7-.7v-.4c0-.4-.3-.7-.7-.7h-.5c-.3 0-.7.3-.7.7v.4c0 .4.4.7.7.7zM5.2 15.6h.4c.4 0 .7-.3.7-.7v-.5c0-.3-.3-.6-.7-.6h-.4c-.4 0-.7.3-.7.6v.5c0 .4.3.7.7.7zm2.6 0h8.4c.4 0 .7-.3.7-.7v-.5c0-.3-.3-.6-.7-.6H7.8c-.4 0-.7.3-.7.6v.5c0 .4.3.7.7.7zm10.6 0h.5c.3 0 .7-.3.7-.7v-.5c0-.3-.4-.6-.7-.6h-.5c-.4 0-.7.3-.7.6v.5c0 .4.3.7.7.7z\"}},\ntype_tool:{\"path\":{\"d\":\"M23.2 22L15.1 1.8a1.1 1.1 0 0 0-1-.6H9.3a1 1 0 0 0-1 .6L.9 22a.7.7 0 0 0 .6.8h2.8a1.1 1.1 0 0 0 .9-.7l2.2-6h9.1l2.3 6a1.1 1.1 0 0 0 1 .7h2.8a.7.7 0 0 0 .6-.8zM8.8 12l2.7-6.8h.5l2.9 6.8z\"}},\nundelete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 9.2H4.8c-.3 0-.6.4-.6.7v10.9c0 1.3 1 2.3 2.3 2.3h11c1.3 0 2.3-1 2.3-2.3V9.9c0-.3-.3-.7-.6-.7zm-7.2 12v-1.8c1.5 0 2.8-1.3 2.8-2.8s-1.3-2.8-2.8-2.8c-.7 0-1.4.4-1.9.9l1.1 1.1c.1.1 0 .4-.2.4H7.6c-.1 0-.2-.1-.2-.2v-3.4c0-.2.2-.3.4-.2l1 1c.8-.8 2-1.4 3.2-1.4 2.6 0 4.7 2.1 4.7 4.7s-2.2 4.5-4.7 4.5zm9-16.6h-5.8V2.8c0-1-.8-1.9-1.8-1.9h-2.8c-1 0-1.8.9-1.8 1.9v1.8H3c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h18c.4 0 .7-.3.7-.7V5.3c0-.4-.3-.7-.7-.7zm-7.6 0h-2.8V3.2c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.4z\"}},\nundeprecate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 3.2H1.8c-.5 0-.9.4-.9 1v12c0 .5.4.9.9.9h7.5c.5 2.6 2.7 4.6 5.5 4.6s5-2 5.4-4.6h2c.5 0 .9-.4.9-.9v-12c0-.6-.4-1-.9-1zm-8.1 15.9l-2.7-2.8 1.2-1.3 1.5 1.5 3.3-3.3 1.2 1.3-4.5 4.6zm7.1-3.9h-1c-.4-2.6-2.7-4.6-5.4-4.6s-5.1 2-5.5 4.6H2.8V5.1h18.4v10.1z\"}},\nunderline:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.5 19.4h-17c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h17c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm-8.8-1.9c-3.5-.1-6.2-3.1-6.2-6.6V4.6c0-.5.5-.9 1-.9h.9c.5 0 .9.4.9.9v6.3c0 2 1.5 3.7 3.5 3.9 2.1.1 3.9-1.6 3.9-3.7V4.6c0-.5.4-.9.9-.9h.9c.5 0 1 .4 1 .9v6.5c0 3.7-3.1 6.6-6.8 6.4z\"}},\nundo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14 5.8c4.8 0 8.7 3.9 8.7 8.7s-3.9 8.8-8.7 8.8h-3.8c-.4 0-.6-.3-.6-.7v-1.5c0-.3.3-.7.6-.7H14c3.3 0 5.9-2.6 5.9-5.9S17.3 8.6 14 8.6H7.6s-.4 0-.5.1c-.4.2-.3.4 0 .8l2.3 2.2c.2.3.2.7-.1 1l-1 1c-.3.3-.6.3-.9.1l-6-6c-.2-.3-.2-.6 0-.9l6-5.9c.3-.3.7-.3 1 0l.9.9c.3.3.3.8 0 1L7.1 5.2c-.3.2-.3.6.1.6H14z\"}},\nunlinked:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.4 17l4.3-4.4.3-.3 3.9-3.9 1.7-1.7 1.9-1.9c.3-.2.4-.6.1-.9l-.8-.8c-.2-.2-.5-.2-.8-.1L3.1 18.9c-.3.3-.3.7-.1.9l.8.9c.2.2.6.2.9-.2l1.9-1.8L8.4 17zm.1-6.3c-.2 0-.4.1-.5.3v1.4l1.8-1.7H8.5zm-4.7 5.9l1.9-1.8c-1.3-.3-2.3-1.4-2.4-2.7-.2-1.8 1.3-3.2 3-3.2h4.2c.3 0 .6.1.9.2l1.8-1.8c-.4-.2-.8-.5-1.2-.6-.5-.1-1-.2-1.5-.2h-4c-3 0-5.5 2.2-5.6 5.1-.1 2.2 1.1 4.1 2.9 5zm16.1-9.5L18 8.9c1.4.2 2.4 1.3 2.5 2.7.2 1.8-1.3 3.2-3 3.2h-4.1c-.4 0-.8-.1-1.1-.2l-1.8 1.8c.4.3.9.5 1.3.6.5.2 1 .3 1.5.3h4.2c3.1 0 5.5-2.5 5.4-5.6-.1-2.1-1.3-3.8-3-4.6zm-6 6h1.4c.2 0 .3-.2.4-.4.1-.3.1-.6.1-.8 0-.3 0-.5-.1-.7l-1.8 1.9z\"}},\nunlock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.6 8.4v.1-.1zm14.8 2.2h-12V8.4c0-2.4 1.8-4.6 4.3-4.7 2.2-.1 4.1 1.3 4.7 3.3.1.2.3.4.5.4h1.9c.3 0 .5-.3.4-.6-.7-3.5-3.8-6.1-7.6-5.9-3.9.2-6.9 3.6-7 7.5v2.2c-1 0-1.8.8-1.8 1.9v8.7c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9v-8.7c0-1.1-.8-1.9-1.8-1.9zm-5.3 9.1c.1.3-.1.6-.4.6h-3.4c-.3 0-.6-.3-.5-.6l.9-2.8c-.7-.4-1.1-1.3-1-2.2.2-.9.9-1.5 1.8-1.7 1.5-.3 2.8.8 2.8 2.1 0 .8-.4 1.5-1 1.8l.8 2.8z\"}},\nunmuted:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 8.3c-.7 0-1.2.5-1.2 1.1v1.9c0 3.2-2.7 5.9-6 5.9s-6.1-2.7-6.1-5.9V9.4c0-.6-.5-1.1-1.1-1.1s-1.1.5-1.1 1.1v1.9c0 4.1 3.1 7.4 7.1 8v1.6H9c-.7 0-1.2.4-1.2 1.1s.5 1.1 1.2 1.1h6c.6 0 1.2-.5 1.2-1.1s-.6-1.1-1.2-1.1h-1.9v-1.6c4.1-.6 7.2-3.9 7.2-8V9.4c0-.6-.5-1.1-1.1-1.1zM12 15c2 0 3.7-1.7 3.7-3.7V4.6c0-2.1-1.6-3.7-3.7-3.7S8.3 2.5 8.3 4.6v6.7c0 2 1.7 3.7 3.7 3.7z\"}},\nup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.2 17.5H3.8c-.4 0-.8-.6-.4-1l8-9.8c.3-.3.9-.3 1.2 0l8 9.8c.4.4.1 1-.4 1z\"}},\nupload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 14.3H21c-.4 0-.7.4-.7.7v4.6c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V15c0-.3-.3-.7-.7-.7H1.6c-.4 0-.7.4-.7.7v6.2c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V15c0-.3-.3-.7-.7-.7zM12.5 1.1c-.3-.3-.7-.3-1 0L5.3 7.3c-.3.3-.3.7 0 1l.9 1c.3.3.7.3 1 0l2.6-2.6c.3-.3.8-.1.8.3v9.8c0 .4.3.7.7.7h1.3c.4 0 .8-.4.8-.7V7.1c0-.5.4-.6.8-.4l2.6 2.6c.2.3.6.3.9 0l1-.9c.3-.3.3-.7 0-1l-6.2-6.3z\"}},\nuser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 19.8v1.1c0 1.2-1 2.2-2.2 2.2H3.1c-1.2 0-2.2-1-2.2-2.2v-1.1c0-2.6 3.2-4.3 6.1-5.6l.3-.1c.2-.1.5-.1.7 0 1.2.8 2.5 1.2 4 1.2s2.8-.4 3.9-1.2c.3-.1.5-.1.7 0l.3.1c3 1.3 6.2 2.9 6.2 5.6zM12 .9c3 0 5.5 2.7 5.5 6.1S15 13.1 12 13.1 6.5 10.4 6.5 7 9 .9 12 .9z\"}},\nuser_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.1 16.6c0-1.2.5-2.7 1.1-3.8.8-1.4 1.7-1.9 2.4-2.9 1.1-1.7 1.3-4.2.6-6-.7-1.9-2.5-3-4.5-3S6 2.2 5.3 4.1c-.7 2.1-.4 4.6 1.3 6.1.7.7 1.3 1.7 1 2.7-.4.9-1.5 1.3-2.3 1.7-1.8.8-3.9 1.9-4.3 4-.4 1.8.8 3.6 2.7 3.6h7.9c.3 0 .6-.5.3-.8-1.1-1.3-1.8-3-1.8-4.8zm7.4-5.5c-3 0-5.5 2.5-5.5 5.5s2.5 5.6 5.5 5.6 5.6-2.5 5.6-5.6-2.5-5.5-5.6-5.5zm1 6c-.1 0-.3 0-.4-.1l-2.2 2.2c-.1.1-.3.2-.4.2-.2 0-.4-.1-.5-.2-.3-.3-.3-.7 0-1l2.1-2.1c0-.1 0-.3-.1-.4-.1-1 .7-1.9 1.7-1.9.1 0 .3 0 .5.1 0 0 .1.1 0 .1l-.9 1c-.1.1-.1.2 0 .2l.6.7c.1.1.2.1.3 0l.9-.9c.1-.1.2-.1.2 0v.5c0 1-.8 1.7-1.8 1.6z\"}},\nvariable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.7 8.2c1.1 0 3.3-.9 3.3-3.9s-2.1-3.1-2.8-3.1c-1.3 0-2.6.9-3.8 2.9-1.1 2-2.4 4.2-2.4 4.2h-.1c-.2-1.4-.5-2.6-.6-3.1-.2-1.2-1.6-3.9-4.5-3.9-3 0-5.7 1.7-5.7 1.7-.4.4-.7.9-.7 1.6 0 .9.7 1.8 1.8 1.8.2 0 .5-.1.7-.2 0 0 2.3-1.3 2.8 0 .1.4.2.8.4 1.2.5 2 1.1 4.2 1.5 6.3l-1.9 2.7s-2.2-.8-3.3-.8-3.3 1-3.3 3.9 2.1 3.2 2.8 3.2c1.3 0 2.6-1 3.7-2.9 1.2-2.1 2.5-4.2 2.5-4.2.3 1.8.7 3.2.8 3.9.8 2.1 2.5 3.3 4.7 3.3 0 0 2.3 0 5-1.5.7-.3 1.1-.9 1.1-1.7 0-1-.7-1.8-1.8-1.8-.2 0-.5.1-.7.2 0 0-2 1.1-2.6.2-.5-.9-.9-2.1-1.2-3.6-.3-1.3-.6-2.8-1-4.4l2-2.8s2.2.8 3.3.8z\"}},\nvideo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.6 6l-5 3.7V7.1c0-.7-.6-1.2-1.3-1.2H2.2c-.7 0-1.3.5-1.3 1.2v9.8c0 .7.6 1.3 1.3 1.3h13.2c.7 0 1.2-.6 1.2-1.3v-2.5l5 3.6c.4.3.9.1.9-.4V6.4c0-.4-.5-.7-.9-.4z\"}},\nvoicemail_drop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18 6.8c-2.8 0-5.2 2.3-5.2 5.2 0 1 .4 2 .9 2.8h-3.4c.6-.8.9-1.7.9-2.8 0-2.8-2.3-5.2-5.2-5.2C3.2 6.8.8 9.1.8 12c0 2.8 2.3 5.2 5.2 5.2h12c2.8 0 5.1-2.3 5.1-5.2.1-2.9-2.2-5.2-5.1-5.2zM3.3 12c0-1.6 1.3-2.8 2.7-2.8 1.6 0 2.8 1.2 2.8 2.8S7.5 14.7 6 14.7 3.3 13.5 3.3 12zM18 14.8c-1.5 0-2.7-1.3-2.7-2.8s1.2-2.8 2.7-2.8c1.5 0 2.7 1.3 2.7 2.8.1 1.5-1.2 2.8-2.7 2.8z\"}},\nvolume_high:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.4 1.2L5.5 8.3H2.8c-1 0-1.9.8-1.9 1.9v3.6c0 1.1.9 1.9 1.9 1.9h2.7l5.9 7.1c.6.6 1.5.2 1.5-.6V1.8c0-.8-1-1.2-1.5-.6zM19.7 4c-.2-.2-.5-.2-.7 0l-.6.7c-.2.1-.2.5 0 .6 1.7 1.7 2.8 4.1 2.8 6.7 0 2.6-1.1 5-2.8 6.7-.2.2-.2.5 0 .6l.6.7c.2.2.5.2.7 0 2-2 3.4-4.9 3.4-8 0-3.1-1.3-6-3.4-8zm-2.9 3c-.2-.2-.5-.2-.7 0l-.6.6c-.2.2-.2.5 0 .7 1 .9 1.6 2.2 1.6 3.7s-.7 2.8-1.7 3.7c-.2.2-.2.5 0 .7l.7.6c.1.2.4.2.6 0 1.3-1.2 2.2-3 2.2-5s-.8-3.8-2.1-5z\"}},\nvolume_low:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.4 1.2L5.5 8.3H2.8c-1 0-1.9.8-1.9 1.9v3.6c0 1.1.9 1.9 1.9 1.9h2.7l5.9 7.1c.6.6 1.5.2 1.5-.6V1.8c0-.8-1-1.2-1.5-.6zM16.8 7c-.2-.2-.5-.2-.7 0l-.6.6c-.2.2-.2.5 0 .7 1 .9 1.6 2.2 1.6 3.7s-.7 2.8-1.7 3.7c-.2.2-.2.5 0 .7l.7.6c.1.2.4.2.6 0 1.3-1.2 2.2-3 2.2-5s-.8-3.8-2.1-5z\"}},\nvolume_off:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.4 1.2L5.5 8.3H2.8c-1 0-1.9.8-1.9 1.9v3.6c0 1.1.9 1.9 1.9 1.9h2.7l5.9 7.1c.6.6 1.5.2 1.5-.6V1.8c0-.8-1-1.2-1.5-.6zM20.7 12l2.2-2.3c.2-.1.2-.4 0-.6l-.6-.7c-.2-.1-.5-.1-.7 0l-2.2 2.3-2.3-2.3c-.2-.1-.4-.1-.6 0l-.7.7c-.2.2-.2.5 0 .6l2.3 2.3-2.3 2.3c-.2.1-.2.4 0 .6l.7.7c.2.1.4.1.6 0l2.3-2.3 2.2 2.3c.2.1.5.1.7 0l.6-.7c.2-.2.2-.5 0-.6L20.7 12z\"}},\nwaits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 8.5c0-.4-.3-.7-.7-.7h-9.7c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h6.6l-7.2 8.7c-.1.1-.1.3-.1.4v1.4c0 .4.3.7.7.7h9.7c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7h-6.5l7-8.6c.1-.1.2-.3.2-.4V8.5zM12 2.9c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h6.6l-7.1 8.7v.1c-.1 0-.2.2-.2.3v1.4c0 .4.3.7.7.7h9.7c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7H4.8l7.1-8.6c.1-.1.1-.3.1-.4V2.9z\"}},\nwarning:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.7 19.6L13.2 2.5c-.6-.9-1.8-.9-2.4 0L.3 19.6c-.7 1.1 0 2.6 1.1 2.6h21.2c1.1 0 1.8-1.5 1.1-2.6zM12 18.5c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zm1.4-4.2c0 .3-.2.5-.5.5h-1.8c-.3 0-.5-.2-.5-.5v-6c0-.3.2-.5.5-.5h1.8c.3 0 .5.2.5.5v6z\"}},\nweeklyview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.3 3.2H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9zm1.2 6h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zm-6.4 4.4l-2.9 6.2c-.1.3-.4.5-.8.5-.5 0-.9-.4-.9-.8 0-.1.1-.3.1-.4l2.5-5.3H9.6c-.5 0-.8-.2-.8-.6 0-.4.3-.7.8-.7h4.8c.4 0 .8.3.8.8 0 .1 0 .2-.1.3z\"}},\nwifi:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 7.3c-2.5-2.8-6.1-4.4-10-4.4S4.6 4.5 2.1 7.3c-.2.2-.2.5 0 .6l1.4 1.2c.2.2.5.2.7 0C6.2 6.9 9 5.7 12 5.7s5.9 1.2 7.9 3.4c.2.2.5.2.7 0L22 7.9c.2-.1.2-.4 0-.6zM12 9.4c-1.9 0-3.7.8-5 2.3-.2.2-.2.5 0 .7l1.5 1.1c.2.1.5.1.6-.1.8-.8 1.8-1.3 2.9-1.3s2.2.5 3 1.3c.1.2.4.2.6 0l1.4-1.1c.3-.2.3-.4.1-.7-1.3-1.4-3.1-2.2-5.1-2.2zm.1 6.4c1.2 0 2.3 1 2.3 2.3s-1 2.3-2.3 2.3-2.3-1-2.3-2.3 1-2.3 2.3-2.3z\"}},\nwork_order_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.1 12.4c0 .5-.4.9-.8.9H6.7c-.4 0-.8-.4-.8-.9v-.9c0-.4.4-.8.8-.8h10.6c.5 0 .9.4.9.8v.9h-.1zm-1.7 5.3c0 .4-.4.9-.9.9H6.7c-.4 0-.8-.5-.8-.9v-.9c0-.5.4-.9.8-.9h8.9c.4 0 .8.4.8.9v.9zM5.9 6.2c0-.4.4-.8.8-.8h8.9c.4 0 .8.4.8.8v.9c0 .5-.4.9-.8.9H6.7c-.4 0-.8-.4-.8-.9v-.9zM19 1.8H5C3.5 1.8 2.3 3 2.3 4.5v14.9c0 1.5 1.2 2.7 2.6 2.7H19c1.4 0 2.6-1.2 2.6-2.7V4.5c.1-1.5-1.1-2.7-2.6-2.7z\"}},\nworld:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 2.3zm.9.1h-.1.1zM12 20.8c-4.8 0-8.8-4-8.8-8.8 0-.5.1-1 .2-1.4.6.1 1.3.3 1.7.7.8.8 1.6 1.8 2.5 2 0 0-.1 0-.2.2-.1.1-.2.4-.2.9 0 2.1 2 .8 2 3s2.5 3 2.5 1.3 1.6-2.6 1.6-3.9-1.3-1.3-2-1.8c-.9-.4-1.3-1.1-2.9-.9-.8-.7-1.2-1.4-.9-2.1.4-.8 2.1-1 2.1-2.2S8.5 6.4 7.7 6.4c-.4 0-1.2-.3-1.8-.6.7-.8 1.7-1.4 2.7-1.9.8.3 2 .9 3.1.9 1.2 0 1.9-.9 1.7-1.5 2.1.3 3.9 1.4 5.2 2.9-.6.4-1.6.9-3.2.9-2.1 0-2.1 2.1-.9 2.5 1.3.5 2.6-.8 3 0 .5.9-3 .9-2.1 3 .9 2.1 1.7 0 2.6 2.1.9 2.1 2.6-.3 1.3-2-.6-.7-.4-3 .9-3h.4c.2.7.3 1.5.3 2.3-.1 4.8-4.1 8.8-8.9 8.8z\"}},\nyubi_key:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.8 6.5H.7c-.4 0-.7.3-.7.7v9.7c0 .4.3.7.7.7h17.1c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zm-8.1 8.4c-1.6 0-2.8-1.3-2.8-2.9s1.2-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.2 2.9-2.8 2.9z\"},{\"d\":\"M23.3 8.3h-6.7c-.4 0-.7.3-.7.7v6c0 .4.3.7.7.7h6.7c.4 0 .7-.3.7-.7V9c0-.4-.3-.7-.7-.7zm-1.6 1.9c.3 0 .5.1.5.4v.9h-3.7v-1.3h3.2zm0 3.6h-3.2v-1.2h3.7v.8c0 .3-.2.4-.5.4z\"}],\"circle\":{\"cx\":\"9.692\",\"cy\":\"12.046\",\"r\":\".554\"}}},\nzoomin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.3 8.8h-2.8V6c0-.3-.1-.5-.4-.5H9.2c-.2 0-.4.2-.4.5v2.8H6c-.3 0-.5.2-.5.4v1.9c0 .3.2.4.5.4h2.8v2.8c0 .3.2.5.4.5h1.9c.3 0 .4-.2.4-.5v-2.8h2.8c.3 0 .5-.1.5-.4V9.2c0-.2-.2-.4-.5-.4zm8.6 12.1l-5.3-5.3c1.1-1.5 1.8-3.4 1.8-5.4 0-5.1-4.2-9.3-9.2-9.3S.9 5.1.9 10.2s4.2 9.2 9.3 9.2c2 0 3.9-.7 5.4-1.8l5.3 5.3c.3.3.7.3 1 0l.9-1c.3-.3.3-.7.1-1zm-12.7-4.3c-3.6 0-6.5-2.9-6.5-6.4s2.9-6.5 6.5-6.5 6.4 2.9 6.4 6.5-2.9 6.4-6.4 6.4z\"}},\nzoomout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M8.8 11.5h5.5c.3 0 .5-.1.5-.4V9.2c0-.2-.2-.4-.5-.4H8.8m0 0H6c-.3 0-.5.2-.5.4v1.9c0 .3.2.4.5.4h2.8\"},{\"d\":\"M22.9 20.9l-5.3-5.3c1.1-1.5 1.8-3.4 1.8-5.4 0-5.1-4.2-9.3-9.2-9.3S.9 5.1.9 10.2s4.2 9.2 9.3 9.2c2 0 3.9-.7 5.4-1.8l5.3 5.3c.3.3.7.3 1 0l.9-1c.3-.3.3-.7.1-1zm-12.7-4.3c-3.6 0-6.5-2.9-6.5-6.4s2.9-6.5 6.5-6.5 6.4 2.9 6.4 6.5-2.9 6.4-6.4 6.4z\"}]},\nviewBox:'0 0 24 24'\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\":\"M21.2 4.2H2.8C1.5 4.2.5 5.2.5 6.5v11c0 1.3 1 2.3 2.3 2.3h18.4c1.3 0 2.3-1 2.3-2.3v-11c0-1.3-1-2.3-2.3-2.3zm-9.8 13H4.8c-.7 0-1.3-.8-1.3-1.6.1-1.2 1.3-1.8 2.5-2.4.9-.4 1-.7 1-1.1 0-.4-.2-.7-.5-1-.5-.5-.8-1.2-.8-1.9 0-1.5.9-2.7 2.4-2.7s2.4 1.3 2.4 2.7c0 .8-.3 1.5-.8 1.9-.3.3-.6.6-.6 1s.1.7 1.1 1.1c1.2.5 2.4 1.2 2.4 2.4.2.8-.4 1.6-1.2 1.6zm9-2.7c0 .4-.3.8-.7.8h-3.5c-.4 0-.8-.3-.8-.8v-1.2c0-.4.4-.7.8-.7h3.5c.4 0 .7.3.7.7v1.2zm0-4.2c0 .4-.3.8-.7.8h-5.8c-.4 0-.7-.3-.7-.8V9.1c0-.4.3-.7.7-.7h5.8c.4 0 .8.3.8.7v1.2z\"}},\nadd_file:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.5 16.7V5.2c-1.2 0-2.2 1-2.2 2.1v13.6c0 1.2 1 2.2 2.2 2.2h10.7c1.2 0 2.2-1 2.2-2.1H8.8c-2.4 0-4.3 0-4.3-4.3zM21 7.3h-3.6c-1.2 0-2.2-.9-2.2-2.1V1.6c0-.4-.3-.7-.7-.7H8.8C7.6.9 6.6 1.9 6.6 3v13.6c0 1.2 1 2.1 2.2 2.1h10.7c1.2 0 2.2-.9 2.2-2.1V8.1c0-.4-.3-.8-.7-.8zm.6-3l-3.4-3.2c-.1-.1-.2-.2-.3-.2-.3 0-.5.3-.5.5v2.4c0 .8.6 1.4 1.4 1.4h2.4c.3 0 .5-.2.5-.5 0-.1-.1-.2-.1-.4z\"}},\nadd_photo_video:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 9.2c-2 0-3.7 1.7-3.7 3.7s1.7 3.7 3.7 3.7 3.7-1.6 3.7-3.7S14 9.2 12 9.2zm9.2-2.7h-2.4c-.6 0-1.2-.4-1.5-.9L16.2 4c-.3-.8-1.1-1.2-1.9-1.2H9.7c-.8 0-1.6.4-1.9 1.2L6.7 5.6c-.3.5-.9.9-1.6.9H2.8c-1 0-1.9.8-1.9 1.8v11.1c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V8.3c0-1-.9-1.8-1.9-1.8zm-9.2 12c-3 0-5.5-2.5-5.5-5.6S9 7.4 12 7.4s5.5 2.5 5.5 5.5-2.5 5.6-5.5 5.6z\"}},\nadd_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zm-3.7 6.5c0 .2-.2.5-.4.5H9.7v2.7c0 .3-.2.5-.5.5h-.9c-.2 0-.5-.2-.5-.5v-2.7H5.1c-.3 0-.5-.3-.5-.5v-.9c0-.3.2-.5.5-.5h2.7v-2.8c0-.2.3-.4.5-.4h.9c.3 0 .5.2.5.4v2.8h2.8c.2 0 .4.2.4.5v.9zm6.9 3.7h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2z\"}},\nannouncement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.5 21l-.6-.5c-.7-.5-.7-1.4-.7-1.9v-1.3c0-.4-.3-.7-.7-.7H5.8c-.4 0-.7.3-.7.7v3.6c0 1.2.7 2.2 1.9 2.2h2.2c1.4 0 1.5-.9 1.5-.9s.2-.9-.2-1.2zM20.8 8.3V2c0-1.1-1.4-1.4-2.2-.7l-4.1 3.9c-.6.5-1.4.8-2.3.8h-7C2.8 6 .9 8.1.9 10.5v.1c0 2.4 1.9 4.2 4.3 4.2h7c.9 0 1.7.3 2.4.9l4 4c.8.7 2.2.4 2.2-.7v-6.3c1.4 0 2.2-.9 2.2-2.2 0-1.2-.8-2.2-2.2-2.2z\"}},\napex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 18.5H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7v-1.3c0-.4-.3-.7-.7-.7zm-10.7-8.4L2.8 2.9c-.3-.2-.7-.2-1 .1l-.7 1.2c-.3.3-.2.7.1.9l6.4 5.1c.2.2.2.6 0 .7L1.2 16c-.3.2-.4.7-.1 1l.7 1.2c.3.3.7.4 1 .1l8.9-7.1c.4-.3.4-.9 0-1.1z\"}},\napproval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.8 20.1l-7.6-7.6c-.3-.3-.3-.8 0-1.1l1-1c.2-.2.7-.2 1 0l5.7 5.8c.2.2.5.2.7 0L20.8 4.9c.3-.3.8-.3 1 0l1 1c.3.3.3.7 0 1l-13 13.2c-.3.3-.8.3-1 0z\"}},\nback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 10.2H7.1c-.5 0-.6-.6-.4-.8l4.5-4.5c.2-.2.2-.7 0-.9l-1-1c-.3-.3-.7-.3-1 0l-8.1 8c-.3.3-.3.7 0 1l8.1 8.1c.3.3.7.3 1 0l.9-1c.3-.3.3-.7 0-1l-4.4-4.4c-.3-.3-.1-.8.3-.8h15.3c.4 0 .7-.3.7-.7v-1.4c.1-.3-.2-.6-.6-.6z\"}},\nbug:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.1 4.7H15c.4 0 .7-.5.6-.8C15.2 2.2 13.8 1 12 1S8.8 2.3 8.4 3.9c0 .3.3.8.7.8zm12.8 9.5c.7 0 1.2-.5 1.1-1.1 0-.6-.5-1.1-1.2-1.1h-3.2v-1.8c2.1-.9 3.6-3.2 3.6-5.9 0-.5-.3-1-.9-1.1-.7-.1-1.3.4-1.3 1.1 0 1.6-.7 2.9-1.8 3.6-.4-.7-1.1-1-1.9-1H7.6c-.8 0-1.5.4-1.9 1-1-.7-1.8-2-1.8-3.5 0-.6-.4-1.2-1-1.2s-1.1.5-1.1 1.1c0 2.7 1.5 5 3.6 5.9V12H2.2c-.6 0-1.2.5-1.2 1 0 .7.5 1.2 1.1 1.2h3.3V16c-2.1.8-3.6 3.2-3.6 5.8 0 .6.4 1 .9 1.2.7.1 1.3-.4 1.3-1.1 0-1.5.7-2.9 1.8-3.6.6 2.1 2.2 3.7 4.2 4.4.5.1 1-.3 1-.7v-8.8c0-.6.4-1.2 1-1.2s1.2.5 1.2 1.1V22c0 .5.4.8.9.7 2.1-.7 3.7-2.3 4.3-4.4 1 .7 1.7 2 1.7 3.5 0 .6.5 1.1 1 1.1.7.1 1.2-.4 1.2-1.1 0-2.7-1.5-5-3.7-5.8v-1.9h3.3v.1z\"}},\ncall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 17.4l-2.8-2.2c-.7-.5-1.6-.6-2.2-.1L15 16.9c-.3.2-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.7-.1-1l1.7-2.4c.5-.6.5-1.6 0-2.2L6.5 1.6c-.7-.9-1.9-1-2.7-.2L1.5 3.8c-.4.4-.6 1-.6 1.5.3 4.7 2.4 9.1 5.5 12.3 3.2 3.1 7.6 5.2 12.3 5.5.5 0 1.1-.2 1.4-.6l2.4-2.4c.8-.7.8-2-.1-2.7z\"}},\ncanvas:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.8 17.7c-.1 1.3-.3 2.6-.5 3.9 0 .4-.5.8-.8.8-2.5.3-5 .5-7.5.5-2.4 0-4.9-.1-7.3-.5-.4 0-.8-.4-.9-.8-.3-2-.5-4.1-.5-6.2s.2-4.1.5-6.2c.1-.3.5-.7.9-.8 1.5-.2 3-.3 4.4-.4 0 0 1.2 0 1.1-1.2 0-1-1.8-1.7-1.8-3.4C8.4 2 9.8.9 12 .9c2.3 0 3.6 1.1 3.6 2.5 0 1.8-1.7 2.4-1.8 3.4C13.8 7.9 15 8 15 8c1.5.1 3 .2 4.5.4.3 0 .8.4.8.8.2 1.5.4 2.8.5 4.2 0 .4-.4.9-.8.9h-.4c-.4 0-1-.4-1.3-.7 0 0-1-1-2.1-1-1.7-.1-3 1.4-3 3s1.3 3.1 3 3.1c1-.1 2-1.1 2-1.1.4-.2 1-.5 1.4-.5h.4c.5 0 .8.3.8.6z\"}},\nchange_owner:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.6 17.4c-1.4-.6-1.6-1.1-1.6-1.7 0-.5.4-1 .8-1.4.8-.7 1.2-1.8 1.2-3 0-2.2-1.3-3.9-3.8-3.9s-3.8 1.7-3.8 3.9c0 1.2.3 2.3 1.2 3 .4.4.8.9.8 1.4 0 .6-.2 1.1-1.6 1.7-2.1.8-4 1.7-4 3.5 0 1.2 1 2.2 2.1 2.2h10.6c1.2 0 2.1-1 2.1-2.2 0-1.7-2-2.7-4-3.5zm7.9-8.6c0-3.4-2.8-6.3-6.2-6.3V.9l-3.1 2.6c-.2.1-.1.3 0 .5l3.1 2.5V4.8c2.2 0 3.9 1.8 3.9 4h-1.6l2.6 3.1c.1.1.3.1.5 0l2.5-3.1h-1.7z\"}},\nchange_record_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.2 17.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7v-5.1zm-5.5-7.1H1.5c-.5 0-.7.4-.4.6l3.7 3.8c.1.2.4.2.6 0l3.7-3.8c.3-.3 0-.6-.4-.6H6.5c0-2.4 2.3-4.7 4.6-4.7V2.8c-4.2 0-7.4 3.2-7.4 7.4zm15.6-.8c-.2-.2-.5-.2-.7 0L15 13.2c-.3.3-.1.6.4.6h2.2c0 2.8-1.9 4.7-4.7 4.7v2.7c4.2 0 7.5-3.2 7.5-7.4h2.2c.5 0 .7-.4.4-.6l-3.7-3.8zm3.8-7.8c0-.4-.3-.7-.7-.7h-6.9c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7V1.6z\"}},\ncheck:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.8 19.6L1.2 12c-.3-.3-.3-.8 0-1.1l1-1c.3-.3.8-.3 1 0L9 15.7c.1.2.5.2.6 0L20.9 4.4c.2-.3.7-.3 1 0l1 1c.3.3.3.7 0 1L9.8 19.6c-.2.3-.7.3-1 0z\"}},\nclone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2.9H8.3c-1 0-1.8.9-1.8 1.9v1.1c0 .4.3.7.7.7h8.5c2 0 3.7 1.7 3.7 3.7v8.5c0 .4.3.7.7.7h1.1c1 0 1.9-.8 1.9-1.8V2.8c0-1-.9-1.9-1.9-1.9zm-5.5 5.6H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h12.9c1 0 1.8-.9 1.8-1.9V8.3c0-1-.8-1.8-1.8-1.8zm-1.9 12.4c0 .3-.1.5-.4.5H5.1c-.3 0-.5-.2-.5-.5V18c0-.3.2-.5.5-.5h8.3c.3 0 .4.2.4.5v.9zm0-3.7c0 .3-.1.5-.4.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h8.3c.3 0 .4.2.4.5v.9zm0-3.7c0 .3-.1.5-.4.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.4.5-.4h8.3c.3 0 .4.1.4.4v.9z\"}},\nclose:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.6 11.9l6-6c.3-.3.3-.7 0-1l-.9-1c-.3-.3-.7-.3-1 0L12.6 10c-.1.2-.4.2-.6 0L6 3.9c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l6.1 6.1c.1.1.1.4 0 .6L4 18.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.1-6c.2-.2.5-.2.6 0l6.1 6c.3.3.7.3 1 0l.9-.9c.3-.3.3-.7 0-1l-6-6c-.2-.2-.2-.5 0-.7z\"}},\ndefer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.4c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3zm1.6-8.2c-.2-.1-.2-.3-.2-.5V7.2c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v5.5c0 .2.1.4.2.5l3.4 3.5c.3.2.7.2 1 0l1-1c.2-.3.2-.7 0-1l-2.6-2.6z\"}},\ndelete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21 4.6h-5.8V2.8c0-1-.8-1.9-1.8-1.9h-2.8c-1 0-1.8.9-1.8 1.9v1.8H3c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h18c.4 0 .7-.3.7-.7V5.3c0-.4-.3-.7-.7-.7zM10.6 3.2c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.4h-2.8V3.2zm8.6 6H4.8c-.3 0-.6.4-.6.7v10.9c0 1.3 1 2.3 2.3 2.3h11c1.3 0 2.3-1 2.3-2.3V9.9c0-.3-.3-.7-.6-.7zm-8.6 10.2c0 .3-.2.4-.4.4h-1c-.2 0-.4-.1-.4-.4v-6.5c0-.3.2-.4.4-.4h1c.2 0 .4.1.4.4v6.5zm4.6 0c0 .3-.2.4-.4.4h-1c-.2 0-.4-.1-.4-.4v-6.5c0-.3.2-.4.4-.4h1c.2 0 .4.1.4.4v6.5z\"}},\ndescription:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.3 1.8H3.7c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V3.7c0-1-.9-1.9-1.9-1.9zM5.5 6.5c0-.3.2-.5.5-.5h4.6c.3 0 .5.2.5.5v4.6c0 .3-.2.4-.5.4H6c-.3 0-.5-.1-.5-.4V6.5zm11.1 12c0 .2-.2.4-.4.4H6c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h10.2c.2 0 .4.2.4.4v1zm1.9-3.7c0 .2-.2.4-.5.4H6c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h12c.3 0 .5.2.5.4v1zm0-3.7c0 .3-.2.4-.5.4h-4.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5v.9zm0-3.7c0 .3-.2.4-.5.4h-4.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5v.9z\"}},\ndial_in:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"4.615\",\"cy\":\"4.615\",\"r\":\"2.769\"},{\"cx\":\"4.615\",\"cy\":\"12\",\"r\":\"2.769\"},{\"cx\":\"12\",\"cy\":\"4.615\",\"r\":\"2.769\"},{\"cx\":\"19.385\",\"cy\":\"4.615\",\"r\":\"2.769\"},{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2.769\"},{\"cx\":\"19.385\",\"cy\":\"12\",\"r\":\"2.769\"},{\"cx\":\"4.615\",\"cy\":\"19.385\",\"r\":\"2.769\"},{\"cx\":\"12\",\"cy\":\"19.385\",\"r\":\"2.769\"},{\"cx\":\"19.385\",\"cy\":\"19.385\",\"r\":\"2.769\"}]}},\ndownload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 14.3H21c-.4 0-.7.3-.7.7v4.6c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V15c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6.2c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V15c0-.4-.3-.7-.7-.7zm-10.9 3.1c.3.2.7.2 1 0l6.2-6.3c.3-.3.3-.7 0-.9l-.9-1c-.3-.3-.7-.3-1 0l-2.6 2.6c-.3.2-.8.1-.8-.4V1.6c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.8c0 .4-.5.6-.8.3L7.2 9.1c-.2-.2-.6-.2-.9 0l-1 1.1c-.3.2-.3.6 0 .9l6.2 6.3z\"}},\nedit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.5 3.4l-1.9-1.9c-.8-.8-1.9-.8-2.6 0L16.5 3c-.2.2-.2.5 0 .6l3.9 4c.2.2.5.2.6 0L22.6 6c.7-.7.7-1.8-.1-2.6zm-7.3 1.5c-.2-.1-.5-.1-.7 0L2.5 17 1 22.2c-.2.5.3 1 .8.9l5.3-1.5H7l12.1-12c.1-.2.1-.5 0-.7l-3.9-4z\"}},\nedit_groups:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.2 14.5c-.1-.1-.3-.1-.4 0l-5.4 5.4-.8 2.7c-.1.3.2.5.5.5l2.7-.8 5.4-5.4c.1-.1.1-.3 0-.4l-2-2zm4.6-1.6l-1-1c-.4-.4-1-.4-1.4 0 0 0-.6.6-.9 1-.1.1-.1.3 0 .3l2 2c.1.1.2.1.3 0 .4-.3 1-.9 1-.9.4-.4.4-1 0-1.4zM12 6.3c0 1-.3 2-.8 2.8-.2.3-.1.7.2.9 1 .5 2.2 1.2 2.8 2.3.1.2.3.2.5.2H16c.8 0 1.4-.5 1.4-1.4 0-1.3-1.3-2.1-2.7-2.7-1-.4-1.1-.8-1.1-1.2 0-.4.2-.8.6-1.1.5-.5.8-1.3.8-2.1 0-1.7-1-3.1-2.7-3.1-1 0-1.8.5-2.2 1.3C11.3 3 12 4.5 12 6.3zm.7 7.7c-.1-1.5-1.5-2.1-3.1-2.8-1.1-.5-1.2-.9-1.2-1.4s.2-.9.6-1.2c.6-.6 1-1.4 1-2.4 0-1.8-1.1-3.4-3-3.4h-.2c-2 0-3 1.6-3 3.4 0 1 .3 1.8 1 2.4.3.3.6.8.6 1.2 0 .5-.2.9-1.2 1.4-1.6.7-3.1 1.4-3.1 2.8.1 1 .7 1.7 1.7 1.7h8.3c.9 0 1.6-.7 1.6-1.7z\"}},\nedit_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.8 19.4h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2zm-5-12h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12c0-1-.8-1.8-1.8-1.8zm-8 11.8c-.1 0-.1 0-.2.1l-2.1.5c-.2 0-.3-.1-.3-.3l.5-2.1s.1-.1.1-.2c.1-.1.2-.1.3 0l1.7 1.7c.1.1.1.3 0 .3zm5.1-5.1l-4.3 4.3c-.1.1-.2.1-.3 0l-1.7-1.7c-.1-.1-.1-.2 0-.3l4.3-4.3c.1-.1.2-.1.3 0l1.7 1.7v.3zm1.3-1.3l-.5.4c-.1.1-.2.1-.3 0l-1.7-1.7c-.1-.1-.1-.1 0-.2l.5-.5c.3-.3.8-.3 1.1 0l.9.9c.3.3.3.8 0 1.1z\"}},\nemail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.5 13.9c.3.3.7.3 1 0l10.4-9.7c.2-.4.2-1-.6-1l-20.6.1c-.6 0-1.1.5-.6.9l10.4 9.7zM23.1 8c0-.5-.6-.8-.9-.4L14 15.1c-.6.5-1.3.8-2 .8s-1.4-.3-2-.8L1.9 7.6c-.4-.4-.9-.1-.9.4-.1 2.1-.1 7.7-.1 10.5 0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V8z\"}},\nfallback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.9 1.6l-1.4 6.8c0 .2.2.4.5.4h7.2c.5 0 .8.6.6 1l-7.9 12.9c-.3.7-1.3.4-1.3-.3l1.4-8c0-.2-.2-.1-.5-.1H3.9c-.5 0-.9-.8-.6-1.2l8.3-11.8c.4-.6 1.3-.4 1.3.3z\"}},\nfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 1.8H1.8c-.7 0-1.1.8-.6 1.3l9 10.5c.2.3.4.8.4 1.2v6.7c0 .3.3.7.7.7h1.4c.4 0 .7-.4.7-.7v-6.7c0-.4.1-.9.4-1.2l9-10.5c.5-.5.1-1.3-.6-1.3z\"}},\nflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23 4.9c-.9-1.9-3.4-5.4-7.9-3.3-2.8 1.3-4.4 2-4.4 2L6.6 5.4c-1.1.5-3.6-.3-5-.8-.4-.1-.8.3-.6.7.9 1.9 3.4 5.4 7.9 3.3 2.8-1.3 8.5-3.7 8.5-3.7 1.1-.6 3.6.2 5 .7.4.1.8-.3.6-.7zm-9.7 5.9c-.5.3-2.5 1.2-2.5 1.2l-2.1.9c-1 .5-3.2-.2-4.5-.7-.3-.2-.6.3-.5.6.9 1.9 3 5.2 7 3.2 2.5-1.3 4.6-2.1 4.6-2.1 1-.6 3.2.2 4.5.7.3.1.6-.3.5-.7-.9-1.8-3-5.1-7-3.1zM11.8 19c-.4.2-1.1.6-1.1.6-.8.5-2.4-.1-3.4-.6-.2-.1-.5.3-.3.7.6 1.6 2.2 4.6 5.2 2.8l1.1-.7c.8-.4 2.4.2 3.4.6.2.2.5-.2.3-.6-.6-1.7-2.1-4.5-5.2-2.8z\"}},\nfollow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.3 17.5h-2.1v-2c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v2h-2.1c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h2.1v2.1c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-2.1h2.1c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7zm-7.6-1.8h.5c.2 0 .4-.2.4-.5v-.4c0-1 .8-1.9 1.9-1.9h2c.4 0 .7-.3.7-.7V2.8c0-1-.8-1.9-1.8-1.9H2.8C1.8.9.9 1.8.9 2.8v16.6c0 1 .9 1.8 1.9 1.8h10.4c.4 0 .7-.3.6-.7v-3c0-1 .9-1.8 1.9-1.8zM12 5.1c0-.3.2-.5.5-.5h4.6c.3 0 .4.2.4.5V6c0 .3-.1.5-.4.5h-4.6c-.3 0-.5-.2-.5-.5v-.9zm0 3.7c0-.3.2-.5.5-.5h4.6c.3 0 .4.2.4.5v.9c0 .3-.1.5-.4.5h-4.6c-.3 0-.5-.2-.5-.5v-.9zM4.6 5.1c0-.3.2-.5.5-.5h4.6c.3 0 .5.2.5.5v4.6c0 .3-.2.5-.5.5H5.1c-.3 0-.5-.2-.5-.5V5.1zm7.4 12c0 .3-.2.4-.5.4H5.1c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9zm-6.9-3.3c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h9.2c.3 0 .5.2.5.5v.9c0 .3-.2.4-.5.4H5.1z\"}},\nfollowing:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.8 15.5l-1-1c-.2-.3-.7-.3-1 0l-4.3 4.4c-.2.2-.5.2-.7 0l-2-2.1c-.3-.2-.8-.2-1.1 0l-1 1.1c-.3.2-.3.7 0 1l3.9 3.9c.3.3.7.3 1 0l6.2-6.3c.3-.2.3-.7 0-1zm-11.4.1c.5-.5 1-.7 1.7-.8.7-.1 1.5.2 2 .7l1.1 1.1 3.3-3.4c.3-.4.8-.6 1.3-.7.2-.1.4-.3.4-.5V2.8c0-1-.8-1.9-1.9-1.9H2.8C1.8.9.9 1.8.9 2.8v16.6c0 1 .9 1.8 1.9 1.8h7.5c.5 0 .6-.5.4-.8l-.3-.2c-.9-1-.9-2.6 0-3.6l1-1zM12 5.1c0-.3.2-.5.5-.5h4.6c.3 0 .4.2.4.5V6c0 .3-.1.5-.4.5h-4.6c-.3 0-.5-.2-.5-.5v-.9zm0 3.7c0-.3.2-.5.5-.5h4.6c.3 0 .4.2.4.5v.9c0 .3-.1.5-.4.5h-4.6c-.3 0-.5-.2-.5-.5v-.9zM4.6 5.1c0-.3.2-.5.5-.5h4.6c.3 0 .5.2.5.5v4.6c0 .3-.2.5-.5.5H5.1c-.3 0-.5-.2-.5-.5V5.1zm3.7 12c0 .3-.2.4-.4.4H5.1c-.3 0-.4-.1-.4-.4v-.9c0-.3.1-.5.4-.5h2.8c.2 0 .4.2.4.5v.9zm-3.2-3.3c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h9.2c.3 0 .5.2.5.5v.9c0 .3-.2.4-.5.4H5.1z\"}},\nfreeze_user:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M12.5 1.4c.2 0 .4.2.4.4V23c0 .3-.2.5-.4.5h-1c-.2 0-.4-.2-.4-.5V1.8c0-.2.2-.4.4-.4h1zM12 7.9L8.3 4.2c-.2-.2-.2-.5 0-.6l.6-.7c.2-.2.5-.2.7 0L12 5.4l2.4-2.5c.2-.2.5-.2.7 0l.6.7c.2.1.2.4 0 .6L12 7.9m0 9l3.7 3.8c.2.2.2.4 0 .6l-.6.7c-.2.2-.5.2-.7 0L12 19.5 9.6 22c-.2.2-.5.2-.7 0l-.6-.7c-.2-.2-.2-.4 0-.6l3.7-3.8\"},{\"d\":\"M21.7 7.2c.2.2.1.5-.1.6L3.3 18.6c-.2.1-.5.1-.6-.2l-.5-.8c-.1-.2-.1-.5.2-.6L20.6 6.2c.3-.2.5-.1.7.2l.4.8zm-5.8 3L17.2 5c0-.2.2-.4.5-.3l.9.2c.3.1.4.3.3.6L18 8.9l3.4.8c.3.1.4.3.3.6l-.2.9c0 .2-.3.4-.5.3l-5.1-1.3m-7.8 4.5l-1.3 5.1c0 .3-.2.5-.5.4l-.9-.3c-.3 0-.4-.2-.3-.5L6 16l-3.4-.9c-.3 0-.4-.2-.3-.5l.2-.9c0-.3.3-.4.5-.3l5.1 1.3\"},{\"d\":\"M2.7 6.4c.2-.2.4-.3.7-.2L21.6 17c.2.2.3.4.2.7l-.5.8c-.1.2-.4.3-.6.1L2.4 7.8c-.2-.1-.3-.4-.2-.6l.5-.8zm5.4 3.8L3 11.5c-.3 0-.5-.1-.6-.3l-.2-.9c0-.3.1-.5.3-.6l3.4-.8L5 5.5c0-.3.1-.5.4-.6l.8-.2c.3 0 .5.1.6.3l1.3 5.2m7.7 4.5l5.2-1.3c.2-.1.5 0 .5.3l.2.9c.1.3 0 .5-.3.5L18 16l.9 3.4c.1.3 0 .5-.3.5l-.9.3c-.3 0-.5-.1-.5-.4l-1.4-5.1\"}]},\ngoal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M2.3.9C1.5.9.9 1.5.9 2.3v19.4c0 .7.6 1.4 1.4 1.4.7 0 1.4-.6 1.4-1.4V2.3c0-.8-.6-1.4-1.4-1.4zM22.5 3c-6 3.1-10.7-2.3-16.4-.2-.3.1-.6.4-.6.7v10.3c0 .6.6.9 1.1.8 5.4-1.6 10.2 3.5 16.1.3.2-.2.4-.4.4-.7V3.3c0-.3-.3-.4-.6-.3zm-1.3 10.5l-.2.1c-.5.2-1.2.2-2.4.2h-.1v-2.3c-.7 0-2-.1-2.8-.3v2.5c-.8-.2-1.5-.3-2.1-.5-.3 0-.5-.1-.7-.1v-2.6c-.8-.2-2-.4-2.7-.6v2.6c-.6-.1-.7-.1-1.3-.1h-.8l-.7.1V9.8c.4-.1 1-.1 1.6-.1.6 0 .6 0 1.2.1V7.1c-.6-.1-2.4-.1-2.8 0V4.2h.4c.5 0 1.8 0 2.4.2v2.7c.6.1 1.7.3 2.5.6h.2V5c.9.3 1.8.5 2.8.7v2.6c.8.1 2 .2 2.8.2V6h.1c.7 0 1.2-.2 2.1-.3l.6-.2v2.8c-.9.2-1.7.3-2.6.3h-.2v2.9h.1c.9 0 1.8-.3 2.7-.7v2.7zm-8.3-5.8v2.8c.2 0 .4.1.6.2.7.1 1.4.4 2.2.5V8.4c-1-.2-1.9-.5-2.8-.7z\"}},\ngoogle_news:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.2 2.4l-1.6 1.7c-.2.2-.5.2-.7 0L18.8 2c-.2-.2-.5-.2-.7 0l-1.6 1.6c-.2.2-.5.2-.7 0L14.2 2c-.2-.2-.5-.2-.7 0l-1.6 1.6c-.2.2-.5.2-.7 0L9.6 2c-.2-.2-.5-.2-.7 0L7.2 3.6c-.1.2-.4.2-.6 0L4.9 2c-.1-.2-.4-.2-.6 0L2.6 3.6c-.2.2-.4.2-.6 0L.8 2.4c-.3-.2-.8 0-.8.4v17.5c0 1 .8 1.9 1.8 1.9h20.4c1 0 1.8-.9 1.8-1.9V2.8c0-.4-.5-.6-.8-.4zM9.7 18.9c0 .3-.2.5-.5.5H3.7c-.3 0-.5-.2-.5-.5v-8.3c0-.3.2-.4.5-.4h5.5c.3 0 .5.1.5.4v8.3zm11.1 0c0 .3-.2.5-.5.5H12c-.3 0-.5-.2-.5-.5V18c0-.3.2-.5.5-.5h8.3c.3 0 .5.2.5.5v.9zm0-3.2h-9.3v-1.9h9.3v1.9zm0-4.2c0 .3-.2.5-.5.5H12c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.4.5-.4h8.3c.3 0 .5.1.5.4v.9zm0-3.7c0 .3-.2.5-.5.5H3.7c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.4.5-.4h16.6c.3 0 .5.1.5.4v.9z\"}},\ninfo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 5.6c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4-1.4-.6-1.4-1.4.6-1.4 1.4-1.4zm2.3 9.7c0 .2-.2.4-.5.4h-3.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5.2 0 .4-.2.4-.4v-1.9c0-.2-.2-.5-.4-.5-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v3.7c0 .2.2.4.4.4.3 0 .5.2.5.5v.9z\"}},\njoin_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.6 11c0-1.3-1.3-2-2.6-2.6-.9-.5-1.1-.8-1.1-1.2 0-.5.3-.8.5-1.2.6-.5.9-1.2.9-2.1 0-1.6-.9-3-2.6-3-1 0-1.7.5-2.2 1.3 1.2.8 1.9 2.4 1.9 4.1 0 1-.3 2-.8 2.8-.2.3-.1.7.2.9 1 .5 2.1 1.2 2.7 2.3.1.2.3.2.5.2h1.3c.8 0 1.3-.6 1.3-1.5zm-7.5.1c-1.1-.4-1.2-.9-1.2-1.3s.3-.9.6-1.3c.6-.6 1-1.4 1-2.4 0-1.8-1.1-3.3-2.9-3.3h-.2c-1.8 0-2.9 1.5-2.9 3.3 0 1 .3 1.8.9 2.4.4.4.7.8.7 1.3 0 .4-.2.9-1.2 1.3-1.5.7-3 1.4-3 2.8 0 1.1.7 1.8 1.6 1.8h8c.9 0 1.6-.7 1.6-1.7-.1-1.5-1.5-2.2-3-2.9zm13.3 4.6h-2.1v-2.1c0-.4-.3-.7-.7-.7h-1.4c-.3 0-.7.3-.7.7v2.1h-2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h2v2c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-2h2.1c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7z\"}},\nlead_convert:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.7 13.1c-.2.2-.2.7 0 .9l1 1c.3.3.7.3 1 0l6.2-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-.9 0l-1 .9c-.3.3-.3.7 0 1l2.6 2.6c.8.8-.4.8-.4.8h-3.7c-4.4 0-8.2 3.6-8.1 8 .1 4.3 3.6 7.7 7.9 7.7h1.6c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7h-1.5c-2.6 0-4.9-1.9-5.2-4.5-.3-3.1 2.1-5.6 5.1-5.6H15c.4.1.5.5.3.8l-2.6 2.6z\"}},\nleave_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14 10.2c-.9-.4-1.1-.8-1.1-1.2 0-.4.3-.8.5-1.1.6-.5.9-1.3.9-2.1 0-1.6-.9-3-2.6-3-1 0-1.7.5-2.2 1.2 1.2.9 1.9 2.4 1.9 4.2 0 1-.3 2-.8 2.8-.2.3-.1.7.2.9 1 .5 2.1 1.1 2.7 2.2.1.2.3.3.5.3h1.3c.8 0 1.3-.6 1.3-1.5 0-1.3-1.3-2.1-2.6-2.7zM9.1 13c-1.1-.5-1.2-.9-1.2-1.4s.3-.9.6-1.2c.6-.6 1-1.4 1-2.4 0-1.8-1.1-3.4-2.9-3.4h-.2C4.5 4.6 3.5 6.2 3.5 8c0 1 .3 1.8.9 2.4.4.3.6.8.6 1.2 0 .5-.1.9-1.2 1.4-1.5.7-2.9 1.4-3 2.8.1 1 .8 1.7 1.7 1.7h8c.9 0 1.6-.7 1.6-1.7-.1-1.4-1.5-2.1-3-2.8zM14.8 19.6v-1.4c0-.3.3-.7.7-.7h6.9c.4 0 .7.4.7.7v1.4c0 .4-.3.7-.7.7h-6.9c-.4 0-.7-.3-.7-.7z\"}},\nlog_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.8.9H5.9C4.6.9 3.6 2 3.6 3.1v.8h-.7c-.9 0-1.5.6-1.5 1.5S2 6.8 2.9 6.8h.7v3.7h-.7c-.9 0-1.5.7-1.5 1.5s.6 1.5 1.5 1.5h.7v3.7h-.7c-.9 0-1.5.6-1.5 1.4 0 .9.6 1.5 1.5 1.5h.7v.8c0 1.1 1 2.2 2.3 2.2h13.9c1.2 0 2.4-1.1 2.4-2.3V3c0-1.2-1.2-2.1-2.4-2.1zm-1.3 14.9l-1.1 1c-.2.2-.5.4-.8.3-2.4-.1-4.7-1.2-6.4-2.8s-2.7-4-2.8-6.4c0-.3.1-.7.3-.8l1-1.1c.5-.4 1.3-.4 1.7.1l1 1.2c.3.5.3 1 0 1.4l-.8 1.2c-.1.2-.1.4.1.5l1.7 1.9 1.9 1.7c.1.1.3.1.4 0l1.2-.8c.4-.3 1-.3 1.4 0l1.2 1c.4.3.5 1.1 0 1.6z\"}},\nlog_event:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.9 18.6l-2.3.7c-.1 0-.4.1-.6.1-.6 0-1.2-.3-1.7-.8-.4-.6-.5-1.3-.3-1.9l.7-2.7 3.5-3.4c.1-.2 0-.4-.2-.4H2.5c-.3 0-.7.3-.7.6v8.6c0 1 .9 1.8 1.9 1.8h12.9c1 0 1.9-.8 1.9-1.8V19c0-.3-.4-.5-.6-.4zM2.5 8.3h15.3c.3 0 .7-.3.7-.7V6.5c0-1.1-.9-1.9-1.9-1.9h-1.4v-.4c0-.8-.6-1.4-1.4-1.4-.7 0-1.3.6-1.3 1.4v.4H7.8v-.4c0-.8-.6-1.4-1.3-1.4-.8 0-1.4.6-1.4 1.4v.4H3.7c-1 0-1.9.8-1.9 1.9v1.1c0 .4.4.7.7.7zm17.6 2.4c-.1-.1-.3-.1-.3 0L15.4 15l-.6 2.2c-.1.2.1.4.3.3l2.2-.6 4.3-4.3c.1-.1.1-.3 0-.4l-1.5-1.5zm3.7-1.4l-.9-.8c-.2-.3-.7-.3-1.1 0 0 0-.5.5-.7.8-.1.1-.1.2 0 .3l1.6 1.6c.1.1.2.1.3 0l.8-.8c.3-.2.3-.8 0-1.1z\"}},\nmanage_perm_sets:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.8.9H3.2C1.9.9.9 1.9.9 3.2v17.6c0 1.2 1 2.3 2.3 2.3h17.6c1.2 0 2.3-1 2.3-2.3V3.2c0-1.3-1-2.3-2.3-2.3zM20 20.8H4c-.4 0-.8-.4-.8-.8V4c0-.4.4-.8.8-.8h16c.4 0 .8.4.8.8v16c0 .4-.4.8-.8.8zM10.1 5.5H6.3c-.4 0-.8.3-.8.8v3.8c0 .4.3.8.8.8h3.8c.4 0 .8-.3.8-.8V6.3c-.1-.4-.4-.8-.8-.8zm7.6 0h-3.8c-.4 0-.8.3-.8.8v3.8c0 .4.3.8.8.8h3.8c.4 0 .8-.3.8-.8V6.3c0-.4-.4-.8-.8-.8zm-7.6 7.7H6.3c-.4 0-.8.3-.8.7v3.9c0 .4.3.8.8.8h3.8c.4 0 .8-.4.8-.8v-3.9c-.1-.4-.4-.7-.8-.7zm7.6 0h-3.8c-.4 0-.8.3-.8.7v3.9c0 .4.3.8.8.8h3.8c.4 0 .8-.4.8-.8v-3.9c0-.4-.4-.7-.8-.7z\"}},\nmap:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.5 4.4l-6.6-3.3c-.3-.2-.7-.2-1 0L8.8 4.2 2.6 1.1c-.4-.2-.8-.2-1.2 0-.3.2-.5.6-.5.9v16.6c0 .5.3.8.6 1l6.7 3.3c.3.2.7.2.9 0l6.2-3.1 6.2 3.1c.1.1.3.2.5.2s.4-.1.6-.2c.3-.2.5-.6.5-.9V5.4c0-.5-.2-.8-.6-1zm-1.7 2.1v8.8c0 .5-.5.9-1 .7-1.7-.7-.3-3.5-1.5-5.1-1.2-1.4-2.7 0-4.1-2.2-1.3-2.2.5-3.8 2.1-4.6.3-.1.5-.1.7 0l3.4 1.7c.3.2.4.4.4.7zm-9.3 12.8c-.3.2-.6.1-.8-.1-.5-.4-.9-1-.9-1.7 0-1.1-1.8-.7-1.8-2.9 0-1.8-2.1-2.3-3.9-2.1-.5.1-.8-.3-.8-.7V5c0-.5.5-.9 1-.6l4 2h.1l.1.1c1.7 1 1.3 1.8.6 3-.7 1.3-1.1 0-2.2-.4s-2.2.4-1.8 1.1 1.5 0 2.2.7.7 1.9 2.9 1.1 2.6-.3 3.4.4c.7.8 1.1 2.2 0 3.3-.7.7-1 2.1-1.2 3-.1.2-.2.4-.4.5l-.5.1z\"}},\nmore:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.7 9.2c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8S.9 13.5.9 12s1.3-2.8 2.8-2.8zm8.3 0c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8 1.3-2.8 2.8-2.8zm8.3 0c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8 1.3-2.8 2.8-2.8z\"}},\nnew:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.8 13.4h7.7c.3 0 .7-.3.7-.7v-1.4c0-.4-.4-.7-.7-.7h-7.7c-.2 0-.4-.2-.4-.4V2.5c0-.3-.3-.7-.7-.7h-1.4c-.4 0-.7.4-.7.7v7.7c0 .2-.2.4-.4.4H2.5c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h7.7c.2 0 .4.2.4.4v7.7c0 .3.3.7.7.7h1.4c.4 0 .7-.4.7-.7v-7.7c0-.2.2-.4.4-.4z\"}},\nnew_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 12.4c0-.8-.6-1-.8-1H14c-.8 0-.8.8-.8.8v9h9.9v-8.8zm-5.7 6.5c0 .4-.4.8-.8.8h-.8c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm0-3.9c0 .4-.4.7-.8.7h-.8c-.4 0-.8-.3-.8-.7v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm3.8 3.9c0 .4-.3.8-.8.8h-.8c-.4 0-.8-.4-.8-.8v-.8c0-.4.4-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm0-3.9c0 .4-.3.7-.8.7h-.8c-.4 0-.8-.3-.8-.7v-.8c0-.4.4-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm-5.8-6.7V3.8c.1-.8-.5-1-.7-1H1.8c-.8 0-.9.8-.9.8v17.6h9.9V10s0-1 .9-1h3c.4 0 .7-.4.7-.7zM5.1 18.5c0 .4-.3.8-.8.8h-.7c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm0-4c0 .5-.3.8-.8.8h-.7c-.4 0-.8-.3-.8-.8v-.7c0-.5.3-.8.8-.8h.8c.4 0 .8.3.8.8v.7zm0-3.9c0 .4-.3.8-.8.8h-.7c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm0-3.9c0 .4-.3.8-.8.8h-.7c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm4.2 11.8c0 .4-.3.8-.8.8h-.7c-.5 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.7c.5 0 .8.4.8.8v.8zm0-4c0 .5-.3.8-.8.8h-.7c-.5 0-.8-.3-.8-.8v-.7c0-.5.3-.8.8-.8h.7c.5 0 .8.3.8.8v.7zm0-3.9c0 .4-.3.8-.8.8h-.7c-.5 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.7c.5 0 .8.4.8.8v.8zm0-3.9c0 .4-.3.8-.8.8h-.7c-.5 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.7c.5 0 .8.4.8.8v.8zm4.2 0c0 .4-.3.8-.8.8H12c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8z\"}},\nnew_campaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.4c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3zm0-14.8c-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.5zm0 10.2c-2 0-3.7-1.7-3.7-3.7S10 8.3 12 8.3s3.7 1.7 3.7 3.7-1.7 3.7-3.7 3.7zm0-5.5c-1 0-1.8.8-1.8 1.8s.8 1.8 1.8 1.8 1.8-.8 1.8-1.8-.8-1.8-1.8-1.8z\"}},\nnew_case:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.9 6h1.9c.2 0 .4-.2.4-.5v-.9h5.6v.9c0 .3.2.5.4.5h1.9c.3 0 .4-.2.4-.5V4.4c0-1.4-1.1-2.6-2.5-2.6H9C7.6 1.8 6.5 3 6.5 4.3v1.2c0 .3.1.5.4.5zm14.3 1.8H2.8c-1 0-1.9.9-1.9 1.9v10.6c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V9.7c0-1-.9-1.9-1.9-1.9z\"}},\nnew_child_case:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.9 5.1h1.9c.2 0 .4-.2.4-.5v-.9h4.6v.9c0 .3.2.5.5.5h1.9c.2 0 .4-.2.4-.5V3.5c0-1.4-1.1-2.6-2.5-2.6H9C7.6.9 6.5 2 6.5 3.4v1.2c0 .3.1.5.4.5zm7.9 10.6h.9v-.9c0-1 .8-1.9 1.8-1.9h2.8c.6 0 1.1.3 1.4.7.2.2.5.1.5-.1V8.8c0-1-.9-1.9-1.9-1.9H2.8c-1 0-1.9.9-1.9 1.9v10.6c0 1 .9 1.8 1.9 1.8h10c.2 0 .3-.1.3-.3-.1-.2-.2-.4-.2-.6v-2.8c0-1 .9-1.8 1.9-1.8zm7.6 1.8h-2.1v-2c0-.4-.3-.7-.7-.7h-1.4c-.3 0-.7.3-.7.7v2h-2c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h2v2.1c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-2.1h2.1c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7z\"}},\nnew_contact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2 4.2H2.8C1.5 4.2.5 5.2.5 6.5v11c0 1.3 1 2.3 2.3 2.3h18.4c1.3 0 2.3-1 2.3-2.3v-11c0-1.3-1-2.3-2.3-2.3zm-9.8 13H4.8c-.7 0-1.3-.8-1.3-1.6.1-1.2 1.3-1.8 2.5-2.4.9-.4 1-.7 1-1.1 0-.4-.2-.7-.5-1-.5-.5-.8-1.2-.8-1.9 0-1.5.9-2.7 2.4-2.7s2.4 1.3 2.4 2.7c0 .8-.3 1.5-.8 1.9-.3.3-.6.6-.6 1s.1.7 1.1 1.1c1.2.5 2.4 1.2 2.4 2.4.2.8-.4 1.6-1.2 1.6zm9-2.7c0 .4-.3.8-.7.8h-3.5c-.4 0-.8-.3-.8-.8v-1.2c0-.4.4-.7.8-.7h3.5c.4 0 .7.3.7.7v1.2zm0-4.2c0 .4-.3.8-.7.8h-5.8c-.4 0-.7-.3-.7-.8V9.1c0-.4.3-.7.7-.7h5.8c.4 0 .8.3.8.7v1.2z\"}},\nnew_custom1:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.6 21c-.9.9-2.3.9-3.2 0-2.7-2.8-7.8-8.2-7.8-8.2-2.3-2.4-2.3-6.3 0-8.7C3.7 3 5.2 2.3 6.8 2.3s3 .6 4.1 1.8l.5.6c.3.3.9.3 1.2 0l.4-.5c1.2-1.2 2.6-1.9 4.2-1.9 1.5 0 3 .6 4.1 1.8 2.3 2.4 2.3 6.3 0 8.7 0 0-5 5.4-7.7 8.2z\"}},\nnew_custom10:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.4 22.3c-3.5 1.4-9.1 1-12.1-2.2C0 12.3 6.4.9 15.2.9c1.5 0 2.8.3 4.2.9.5.2.6.9.1 1.2-2.8 2-4.7 5.3-4.7 9s1.9 7 4.7 9c.5.3.4 1.1-.1 1.3z\"}},\nnew_custom100:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.4 19.2H7.6c-.3 0-.4.2-.4.5.4 1.4 2.4 2.5 4.8 2.5s4.3-1.1 4.7-2.5c.1-.3-.1-.5-.3-.5zm4.5-17.4H3.1C1.9 1.8.9 2.9.9 4.1v10.5c0 1.3 1 2.3 2.2 2.3h17.8c1.2 0 2.2-1 2.2-2.3V4.1c0-1.2-1-2.3-2.2-2.3zm0 12.1c0 .4-.4.7-.8.7H3.9c-.4 0-.8-.3-.8-.7V4.8c0-.4.4-.7.8-.7h16.2c.4 0 .8.3.8.7v9.1z\"}},\nnew_custom11:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.8 1.4l3 6.3 6.5 1c.8.1 1.1 1 .5 1.5L18 15.1l1.2 6.9c0 .8-.7 1.4-1.3 1L12 19.8 6.1 23c-.6.4-1.4-.2-1.3-1L6 15.1l-4.8-4.9c-.5-.5-.2-1.4.5-1.5l6.5-1 3-6.3c.3-.7 1.3-.7 1.6 0z\"}},\nnew_custom12:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"11.077\"}},\nnew_custom13:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.9 1.8H3.1C1.9 1.8.9 2.8.9 4v2.2c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7V4c0-1.2-1-2.2-2.2-2.2zm0 7.3H3.1c-.4 0-.7.3-.7.7V20c0 1.2 1 2.2 2.2 2.2h14.8c1.2 0 2.2-1 2.2-2.2V9.8c0-.4-.3-.7-.7-.7zm-4.8 3.3c0 .6-.5 1.1-1.1 1.1H9c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h6c.6 0 1.1.4 1.1 1.1z\"}},\nnew_custom14:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.3 5.4h-2.2c-.4 0-.9-.2-1.3-.6L17 3.3c-.3-.3-.8-.5-1.3-.5h-4.3c-.6 0-1.1.2-1.5.6L7.6 5.3c-.2.1-.2.5-.1.7l.7.6c.5.4 1.1.5 1.6.1l2-1.2c.3-.2.7-.1.8.1l6.4 6.3c.2.1.3.3.3.6v1.6c0 .5.3.9.7.9h2.2c.5 0 .8-.3.8-.7V6.1c.1-.4-.2-.7-.7-.7zm-6.2 6.7l-4-3.9-1.1.7c-.6.3-1.2.5-1.8.5-.8 0-1.6-.3-2.2-.9L5.5 7.4c-.3-.3-.5-.6-.6-1-.1-.4-.3-.6-.7-.6H1.7c-.5 0-.8.2-.8.6v6.8c0 .5.3.7.8.7h1.4c.1 0 .3-.4.5-.6.5-.7 1.3-1.1 2.2-1.3.9 0 1.8.3 2.5.9l4.6 4.3c.4.3.7.8.9 1.3 0 .2.4.3.6.1l1.7-1.8c.9-.8 1.6-3 .7-3.9l-.7-.8zm-9.3 2.8c-.5-.5-1.2-.4-1.6.1-.4.5-.3 1.3.2 1.7l4.6 4.2c.2.2.5.3.8.3.3-.1.6-.2.7-.5.5-.5.4-1.3-.1-1.7l-4.6-4.1z\"}},\nnew_custom15:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.4 10.6c-1.3-.6-1.5-1-1.5-1.6 0-.6.4-1 .8-1.4.8-.7 1.2-1.7 1.2-2.8 0-2.1-1.3-3.9-3.6-3.9-2 0-3.2 1.4-3.6 3.1 0 .1.1.2.2.3 1.6 1.2 2.7 3.2 2.7 5.6 0 1.7-.6 3.2-1.6 4.4-.2.1-.1.4.1.6.7.2 1.4.6 2.1 1 .3.1.5.2.8.2h4.2c1 0 1.9-.8 1.9-1.8V14c0-1.7-1.8-2.6-3.7-3.4zm-6.6 6.1c-1.6-.7-1.8-1.2-1.8-1.9s.5-1.2 1-1.7c.9-.8 1.4-1.9 1.4-3.2 0-2.5-1.6-4.5-4.3-4.5S4.8 7.5 4.8 9.9c0 1.3.5 2.4 1.4 3.2.5.5 1 1.1 1 1.7 0 .7-.3 1.2-1.8 1.9-2.3.9-4.4 1.9-4.4 3.9v.4c-.1 1.1.9 2.1 2.2 2.1H15c1.2 0 2.2-1 2.2-2.1v-.4c0-2-2.2-3-4.4-3.9z\"}},\nnew_custom16:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 19.4h-.4v-8.1c0-.5-.3-.8-.7-.8h-.8c-.4 0-.7.3-.7.8v8.1h-2.2v-8.1c0-.5-.3-.8-.7-.8h-.7c-.5 0-.8.3-.8.8v8.1h-2.2v-8.1c0-.5-.3-.8-.7-.8h-.7c-.4 0-.8.3-.8.8v8.1H6.5v-8.1c0-.5-.4-.8-.8-.8H5c-.4 0-.8.3-.8.8v8.1H4c-1.2 0-2.2 1-2.2 2.2v.7c0 .5.4.8.8.8h18.9c.4 0 .7-.3.7-.8v-.7c0-1.2-1-2.2-2.2-2.2zm1.8-13.2l-9-5c-.2-.2-.5-.3-.8-.3-.3 0-.6.1-.8.3l-9 5c-.2.2-.4.4-.4.7v.7c0 .4.4.7.8.7h18.9c.4 0 .7-.3.7-.7v-.7c0-.3-.2-.5-.4-.7zm-9.8.6c-1 0-1.8-.8-1.8-1.8S11 3.1 12 3.1s1.8.9 1.8 1.9S13 6.8 12 6.8z\"}},\nnew_custom17:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.5 4.2c.1.3.3.4.6.4h3.7c.3 0 .6-.1.7-.4L16 1.5c.1-.3-.1-.5-.4-.5H8.4c-.3 0-.5.2-.3.5l1.4 2.7zm4.7 2.6H9.8c-3.6 0-6.6 3-6.6 6.7v7.4c0 1.2 1 2.2 2.2 2.2h13.2c1.2 0 2.2-1 2.2-2.2v-7.4c0-3.7-3-6.7-6.6-6.7zm-1.1 12.4v1.3c0 .2-.2.4-.5.4h-1.4c-.3 0-.3-.2-.3-.4v-1.2c-1.1-.2-2-.7-2.3-.9-.2-.3-.3-.5-.1-.9l.5-.7c0-.2.3-.3.5-.3.1 0 .3.1.4.1.8.5 1.4.7 1.9.7s.9-.3.9-.6c0-.2-.1-.6-1.5-1.1-1.3-.4-2.8-1.2-2.8-2.9 0-1 .6-2.1 2.5-2.5V9.1c0-.2.1-.4.3-.4h1.4c.3 0 .5.2.5.4v1.1c.7.1 1.5.5 1.8.7.1.1.2.3.3.5 0 .1-.1.3-.2.4l-.5.7c-.1.1-.4.3-.6.3-.1 0-.2-.1-.3-.1-.8-.4-1.4-.7-1.8-.7-.6 0-.9.3-.9.5 0 .3.2.6 1.4 1 1.5.5 3.3 1.4 3.3 3.1-.1 1.3-1.1 2.3-2.5 2.6z\"}},\nnew_custom18:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.5 7.1h3.8c.3 0 .5-.3.5-.5s-.1-.3-.2-.4l-4.7-4.7c-.1-.1-.2-.1-.3-.1-.3 0-.5.2-.5.5v3.7c0 .8.6 1.5 1.4 1.5zm8.3 4.8l-.4-.5c-.2-.2-.7-.2-1 0l-5.5 5.5v1.3c0 .1 0 .2.1.2h1.4l5.4-5.5c.4-.3.4-.8 0-1zm-4.4 8.6h-3.3c-.7 0-1.3-.6-1.3-1.3v-2.5c0-.4.1-.8.4-1l4.4-4.4c.1-.1.2-.3.2-.5v-.9c0-.4-.3-.7-.7-.7h-5c-1.2 0-2.2-1-2.2-2.1v-5c0-.4-.3-.7-.7-.7H3C1.9 1.4.9 2.4.9 3.5v17c0 1.1 1 2.1 2.1 2.1h13.6c1 0 2-.7 2.1-1.7.1-.2-.1-.4-.3-.4zM3.8 7.8c0-.4.3-.7.7-.7h2.8c.5 0 .7.3.7.7v.6c0 .4-.3.7-.7.7H4.5c-.4 0-.7-.3-.7-.7v-.6zm7.1 9.1c0 .4-.3.7-.7.7H4.5c-.4 0-.7-.3-.7-.7v-.7c0-.3.3-.6.7-.6h5.7c.4 0 .7.3.7.6v.7zm1.5-4.2c0 .4-.4.7-.7.7H4.5c-.4 0-.7-.3-.7-.7V12c0-.4.3-.7.7-.7h7.1c.4 0 .7.3.7.7v.7z\"}},\nnew_custom19:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.8 5.6c-.1-.2-.4-.3-.6-.1l-3.8 3.7c-.3.3-.7.3-1 0l-2.6-2.6c-.3-.3-.3-.7 0-1l3.8-3.8c.1-.1 0-.5-.2-.6-.6-.2-1.3-.3-2-.3-3.9 0-7 3.4-6.6 7.4.1.7.3 1.2.5 1.8l-8.6 8.5c-1.1 1.1-1.1 2.7 0 3.7.5.5 1.2.8 1.8.8s1.3-.3 1.9-.8l8.5-8.6c.6.2 1.2.4 1.8.5 4 .4 7.4-2.7 7.4-6.6 0-.7-.1-1.4-.3-2z\"}},\nnew_custom2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M15.4 1.6C14.3.9 10.2.2 8.7 2.7c-.7 1.2.2 3.4.9 4.8.1.3.5.5.9.3.4-.1 1-.2 1.6-.2.4 0 .7 0 1.1.1.3.1.6-.1.8-.4.3-.4.7-1 1.5-1.6 1.7-1.5 1-3.3-.1-4.1zm-2 14.6c-.4.1-.9.2-1.4.2-.5 0-.9-.1-1.3-.2-.3 0-.7.1-.8.4-.3.5-.7 1.1-1.5 1.7-1.8 1.5-1.1 3.3 0 4.1s5.2 1.4 6.7-1.1c.7-1.2-.1-3.3-.8-4.7-.2-.4-.5-.5-.9-.4zm7.9-7.6c-1.2-.7-3.4.2-4.8.9-.3.1-.5.5-.3.9.1.4.2 1 .2 1.6 0 .4 0 .7-.1 1.1-.1.3.1.7.4.8.4.3 1 .7 1.6 1.5 1.5 1.8 3.3 1.1 4 0s1.5-5.2-1-6.8zM7.8 13.4c-.1-.5-.2-.9-.2-1.4 0-.5.1-.9.2-1.3 0-.4-.1-.7-.4-.9-.5-.2-1.1-.7-1.7-1.4-1.5-1.8-3.3-1.1-4.1 0S.2 13.5 2.7 15c1.2.7 3.3 0 4.7-.7.4-.2.5-.6.4-.9z\"},\"circle\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2.215\"}}},\nnew_custom20:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.6 11.2c0-.3-.4-.5-.6-.3l-5.2 3.9c-.6.4-.9 1.1-.9 1.8v1.5c0 .3.3.5.5.4l5.7-2.2c.2-.1.4-.3.4-.7.1 0 .1-4.4.1-4.4zm8.1 10.3l-1.5-1.1V3.7c0-1-1-2.1-1.7-2.6-.3-.3-.7-.3-1 0-.6.5-1.7 1.6-1.7 2.6v16.8l-1.7 1.1c-.3.2-.5.6-.5.9v.3c0 .1.1.3.3.3h8.2c.1 0 .4-.2.4-.3-.1-.6-.3-1-.8-1.3zm6.5-6.7l-5.2-4c-.2-.1-.6 0-.6.3v4.5c0 .3.2.6.5.7l5.7 2.2c.3.1.5-.1.5-.3v-1.5c0-.8-.3-1.5-.9-1.9z\"}},\nnew_custom21:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.8 19.8c-.1-.3-.4-.4-.6-.4H9.9c-.3 0-.6.1-.7.4l-1 2.7c-.1.3.1.5.3.5h7c.2 0 .4-.2.3-.5l-1-2.7zM20.9.9H3.1C1.9.9.9 1.9.9 3.1V15c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zM12 16.4c-.6 0-1.1-.4-1.1-1.1s.5-1.1 1.1-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1zm8.9-3.7c0 .5-.4.8-.8.8H3.9c-.4 0-.8-.3-.8-.8V3.9c0-.4.4-.8.8-.8h16.2c.4 0 .8.4.8.8v8.8z\"}},\nnew_custom22:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 17.1l-2.3-1.8c-.8-.7-1.9-.7-2.7-.1L15 16.8c-.2.2-.6.1-.9-.1l-3.6-3.3-3.3-3.6c-.3-.2-.3-.6-.1-.9l1.6-2.2c.6-.8.5-1.9-.1-2.7L6.7 1.7C6 .7 4.5.6 3.6 1.5l-2 2.1c-.5.4-.7 1-.7 1.6.3 4.7 2.4 9.2 5.6 12.3s7.5 5.3 12.2 5.6c.7 0 1.2-.3 1.7-.7l2-2c1-.9.9-2.4-.2-3.3z\"}},\nnew_custom23:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.5 14.1c.3.3.7.3 1.1 0L23 4.6c.2-.4.1-.9-.6-.9H1.7c-.5 0-1 .5-.6 1l10.4 9.4zm11.6-5.4c0-.5-.6-.8-.9-.4L14 15.7c-.5.5-1.2.8-2 .8-.7 0-1.4-.3-1.9-.8L1.9 8.3c-.4-.3-.9-.1-.9.4v9.4c0 1.2 1 2.2 2.2 2.2h17.7c1.2 0 2.2-1 2.2-2.2V8.7z\"}},\nnew_custom24:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.6.9H5.4c-1.2 0-2.2 1-2.2 2.2 0 .5.4.8.8.8h16c.4 0 .8-.3.8-.8 0-1.2-1-2.2-2.2-2.2zm0 5.2H5.4c-.4 0-.7.3-.7.7v15.5c0 .5.3.8.7.8h4.1c.4 0 .7-.3.7-.8v-2.9c0-.4.4-.8.8-.8h2.1c.4 0 .8.4.8.8v2.9c0 .5.3.8.7.8h4c.5 0 .8-.3.8-.8V6.8c-.1-.4-.4-.7-.8-.7zm-7.7 10c0 .4-.3.7-.7.7H8.7c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h1.5c.4 0 .7.4.7.8v1.5zm0-5.2c0 .4-.3.7-.7.7H8.7c-.4 0-.8-.3-.8-.7V9.4c0-.4.4-.7.8-.7h1.5c.4 0 .7.3.7.7v1.5zm5.1 5.2c0 .4-.3.7-.7.7h-1.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8h1.5c.4 0 .8.4.8.8v1.5zm0-5.2c0 .4-.3.7-.7.7h-1.5c-.4 0-.7-.3-.7-.7V9.4c0-.4.3-.7.7-.7h1.5c.4 0 .8.3.8.7v1.5z\"}},\nnew_custom25:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23 3.6c-.3-1.4-1.4-2.5-2.8-2.7-1-.1-2 .2-2.7.8-.2.1-.1.4.1.6 1.7.9 3.2 2.2 4.3 3.7.1.3.4.3.6 0 .5-.6.7-1.5.5-2.4zM6.3 2.3c.3-.1.3-.5.1-.6-.7-.6-1.6-.9-2.6-.8-1.4.2-2.6 1.3-2.8 2.7-.2.9 0 1.8.4 2.4.2.2.5.2.7 0 1.1-1.5 2.5-2.8 4.2-3.7zm5.7.8c-5.5 0-10 4.5-10 10 0 2.2.8 4.3 2 5.9l-1.6 1.5c-.6.6-.6 1.6 0 2.2.3.2.7.4 1.1.4s.7-.1 1-.4L6 21.1c1.7 1.2 3.8 2 6 2s4.3-.8 5.9-2l1.5 1.6c.4.2.7.4 1.1.4s.7-.1 1-.4c.6-.6.6-1.6 0-2.2L20 19c1.2-1.6 1.9-3.7 1.9-5.9.1-5.5-4.4-10-9.9-10zm-7 10c0-3.9 3.1-7 7-7s7 3.1 7 7-3.1 7-7 7-7-3.1-7-7zm8.1-.5V9.8c0-.7-.5-1.1-1.1-1.1s-1.1.4-1.1 1.1v3.3c0 .3.1.6.3.8l2.6 2.6c.2.2.5.3.8.3s.5-.1.8-.3c.4-.5.4-1.2 0-1.6l-2.3-2.3z\"}},\nnew_custom26:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.1.9C1.9.9.9 1.9.9 3.1c0 .7.3 1.3.8 1.7v16.8c0 .8.6 1.5 1.4 1.5.9 0 1.5-.7 1.5-1.5V4.8c.5-.4.8-1 .8-1.7C5.4 1.9 4.3.9 3.1.9zm19.4 4c-5.8 3-9.7-2.2-15.2-.2-.3.1-.5.4-.5.7v9.5c0 .5.5.8 1 .7 5.3-1.6 9.2 3.4 14.9.2.2-.1.4-.3.4-.6V5.3c0-.4-.3-.5-.6-.4z\"}},\nnew_custom27:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3 16.4h18c.4 0 .7-.3.7-.7V4.8c0-1.1-.9-2-2.1-2H4.4c-1.2 0-2.1.9-2.1 2v10.9c0 .5.3.7.7.7zM4.4 5.5c0-.4.3-.7.7-.7h13.8c.4 0 .7.3.7.7v8.2c0 .4-.3.7-.7.7H5.1c-.4 0-.7-.3-.7-.7V5.5zm18 13h-7.6c-.4 0-.7.3-.7.7s-.3.7-.7.7h-2.8c-.4 0-.7-.3-.7-.7s-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7 0 1.1.9 2 2.1 2h18c1.2 0 2.1-.9 2.1-2 0-.4-.3-.7-.7-.7z\"}},\nnew_custom28:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.2.9H6.8c-1.2 0-2.2 1-2.2 2.2v17.8c0 1.2 1 2.2 2.2 2.2h10.4c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zM12 22.3c-.6 0-1.1-.4-1.1-1.1s.5-1.1 1.1-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1zm5.2-3.7c0 .5-.4.8-.8.8H7.6c-.4 0-.8-.3-.8-.8v-14c0-.4.4-.7.8-.7h8.8c.4 0 .8.3.8.7v14z\"}},\nnew_custom29:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.9 3.9h-.7c-.4 0-.8.3-.8.8v14.7s0 .1.1.1l.9 1.3c.1.1.2.1.3 0l.9-1.3c.1 0 .1 0 .1-.1V4.7c0-.5-.3-.8-.8-.8zM15 .9H4.5c-1.2 0-2.2 1-2.2 2.2v17.8c0 1.2 1 2.2 2.2 2.2H15c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zM9.8 22.3c-.7 0-1.1-.4-1.1-1.1s.4-1.1 1.1-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1zm5.2-3.7c0 .5-.3.8-.7.8h-9c-.4 0-.7-.3-.7-.8v-14c0-.4.3-.7.7-.7h9c.4 0 .7.3.7.7v14z\"}},\nnew_custom3:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 7.6c-2.4 0-4.4 2-4.4 4.4s2 4.4 4.4 4.4 4.4-2 4.4-4.4-2-4.4-4.4-4.4zM23.1 12c0-1.3-3.1-1.9-3.6-3.1-.5-1.2 1.2-3.8.3-4.7s-3.5.8-4.7.3C13.9 4 13.3.9 12 .9S10.1 4 8.9 4.5c-1.2.5-3.8-1.2-4.7-.3s.8 3.5.3 4.7C4 10.1.9 10.7.9 12s3.1 1.9 3.6 3.1c.5 1.2-1.2 3.8-.3 4.7.8.9 3.5-.8 4.7-.3 1.1.5 1.8 3.6 3.1 3.6s1.9-3.1 3-3.6c1.2-.4 3.9 1.2 4.8.3.8-.8-.9-3.5-.4-4.7.6-1.2 3.7-1.8 3.7-3.1zM12 18.6c-3.6 0-6.6-3-6.6-6.6s3-6.6 6.6-6.6 6.6 3 6.6 6.6-3 6.6-6.6 6.6z\"}},\nnew_custom30:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.9 4.1C17.9 2 15.2.9 12.4.9c-.7 0-1.1.5-1.1 1.1s.4 1.1 1.1 1.1c2.2 0 4.4.9 6 2.5 1.6 1.6 2.5 3.8 2.5 6.1 0 .6.5 1.1 1.1 1.1s1.1-.5 1.1-1.1c0-2.9-1.1-5.6-3.2-7.6zm-7.5 1.3c-.7 0-1.1.4-1.1 1.1s.4 1.1 1.1 1.1c1 0 2.1.4 2.9 1.2.8.8 1.2 1.7 1.2 2.9 0 .6.4 1.1 1.1 1.1s1.1-.5 1.1-1.1c0-1.7-.7-3.3-1.9-4.5C15.6 6 14 5.4 12.4 5.4zM10.8 16l.9-2.6c.7.3 1.4.1 2-.4.7-.8.7-1.9 0-2.7-.8-.7-1.9-.7-2.7 0-.5.6-.6 1.4-.3 2.1l-2.4 1.1-4.4-4.4c-.3-.2-.8-.2-1 .1-2.8 3.3-2.6 8.3.5 11.4 3.1 3.1 8.1 3.3 11.4.5.3-.2.3-.7.1-1L10.8 16z\"}},\nnew_custom31:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.4 9.6L19.6 4c-.3-1-1.3-1.7-2.4-1.7H6.8C5.7 2.3 4.7 3 4.3 4L2.6 9.6c-1 .2-1.7 1-1.7 2v4.3c0 .9.7 1.7 1.5 2.1v3c0 .4.3.7.7.7h3c.4 0 .7-.3.7-.7v-2.9h10.4V21c0 .4.3.7.7.7h3c.4 0 .7-.3.7-.7v-3c.8-.3 1.5-1.1 1.5-2v-4.3c0-1.1-.7-1.9-1.7-2.1zm-16.8 6c-1 0-1.8-.8-1.8-1.8S3.6 12 4.6 12s1.9.8 1.9 1.8-.9 1.8-1.9 1.8zm8.1-6.1H5.4c-.2 0-.4-.2-.3-.5l1.4-4.2c0-.2.1-.3.3-.3h10.3c.2 0 .3.1.3.3l1.4 4.3c.1.2-.1.5-.3.5h-5.8zm6.3 6.1c-1 0-1.8-.8-1.8-1.8S18 12 19 12s1.9.8 1.9 1.8-.9 1.8-1.9 1.8z\"}},\nnew_custom32:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.5 6.6l-8.6 4.9c-.2.1-.4.1-.6.1-.4 0-.8-.2-1-.6-.3-.5 0-1.2.5-1.5l2.9-1.6V5.1c0-.3-.3-.5-.6-.3l-10.5 6c-.2 0-.4.1-.5.1-.4 0-.8-.2-1-.6-.3-.5-.1-1.2.4-1.5l1.8-1V1.7c.1-.5-.3-.8-.7-.8H1.7c-.5 0-.8.3-.8.8v19.2c0 1.2 1 2.2 2.2 2.2h6.3c.4 0 .8-.3.8-.8v-2.5c0-.5.3-.8.7-.8h2.2c.4 0 .7.3.7.8v2.5c0 .5.4.8.8.8h6.3c1.2 0 2.2-1 2.2-2.2v-14c0-.3-.3-.5-.6-.3zm-16 10.2c0 .4-.4.7-.8.7H5c-.4 0-.8-.3-.8-.7v-2.2c0-.4.4-.8.8-.8h.7c.4 0 .8.4.8.8v2.2zm4.4 0c0 .4-.3.7-.7.7h-.8c-.4 0-.7-.3-.7-.7v-2.2c0-.4.3-.8.7-.8h.8c.4 0 .7.4.7.8v2.2zm4.4 0c0 .4-.3.7-.7.7h-.8c-.4 0-.7-.3-.7-.7v-2.2c0-.4.3-.8.7-.8h.8c.4 0 .7.4.7.8v2.2zm4.5 0c0 .4-.4.7-.8.7h-.7c-.4 0-.8-.3-.8-.7v-2.2c0-.4.4-.8.8-.8h.7c.4 0 .8.4.8.8v2.2z\"}},\nnew_custom33:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.2 8.9h-10c-.4 0-.7.3-.7.7v2.7c0 .4.3.7.7.7h10c.4 0 .7-.3.7-.7V9.6c0-.4-.3-.7-.7-.7zM12.4 12c-.6 0-1-.5-1-1 0-.6.4-1 1-1s1 .4 1 1c0 .5-.5 1-1 1zm10-7.8H1.6c-.4 0-.7.3-.7.6v.7c0 .8.6 1.4 1.4 1.4v12.3c0 .3.3.6.7.6h.7c.4 0 .7-.3.7-.6V6.9H20v12.3c0 .3.3.6.7.6h.7c.3 0 .7-.3.7-.6V6.9h-.4c.7 0 1.4-.6 1.4-1.4v-.7c0-.3-.3-.6-.7-.6z\"}},\nnew_custom34:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9 4.6h6c.4 0 .7-.4.6-.8C15.2 2.2 13.8.9 12 .9S8.8 2.2 8.4 3.8c-.1.4.2.8.6.8zm13 9.6c.6 0 1.1-.5 1.1-1.2-.1-.5-.6-1-1.2-1h-3.3v-1.8c2.2-.9 3.7-3.2 3.7-5.9 0-.6-.3-1-.9-1.2-.7-.1-1.3.5-1.3 1.1 0 1.6-.7 3-1.8 3.6-.4-.6-1.1-1-1.9-1H7.6c-.8 0-1.5.4-1.9 1-1.1-.6-1.8-1.9-1.8-3.5 0-.6-.5-1.2-1-1.2-.7-.1-1.2.5-1.2 1.1 0 2.7 1.5 5.1 3.7 5.9V12H2.1c-.6 0-1.1.4-1.2 1 0 .6.5 1.2 1.1 1.2h3.4V16c-2.2.8-3.7 3.2-3.7 5.9 0 .5.3 1 .9 1.1.7.1 1.3-.4 1.3-1.1 0-1.5.7-2.9 1.7-3.6.7 2.1 2.3 3.7 4.3 4.4.5.1 1-.3 1-.7v-8.8c0-.6.5-1.2 1-1.2.7 0 1.2.5 1.2 1.1V22c0 .5.5.8 1 .7 2-.6 3.6-2.3 4.3-4.3 1 .6 1.7 2 1.7 3.5 0 .6.5 1.1 1 1.2.7 0 1.2-.5 1.2-1.1 0-2.8-1.5-5.1-3.7-5.9v-1.9H22z\"}},\nnew_custom35:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 8.3c-.7 0-1.2.5-1.2 1.1v1.9c0 3.2-2.7 5.9-6 5.9s-6.1-2.7-6.1-5.9V9.4c0-.6-.5-1.1-1.1-1.1s-1.1.5-1.1 1.1v1.9c0 4.1 3.1 7.4 7.1 8v1.6H9c-.7 0-1.2.4-1.2 1.1s.5 1.1 1.2 1.1h6c.6 0 1.2-.5 1.2-1.1s-.6-1.1-1.2-1.1h-1.9v-1.6c4.1-.6 7.2-3.9 7.2-8V9.4c0-.6-.5-1.1-1.1-1.1zM12 15c2.1 0 3.8-1.7 3.8-3.7V4.6c0-2.1-1.7-3.7-3.8-3.7-2.1 0-3.8 1.6-3.8 3.7v6.7c0 2 1.7 3.7 3.8 3.7z\"}},\nnew_custom36:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.9 20.1H6.5c-.3 0-.5.2-.6.4l-.5.9c-.3.5-.2 1.2.2 1.5.2.1.4.2.6.2.4 0 .8-.2 1-.6l1-1.8c.2-.3 0-.6-.3-.6zm10.3.4c-.2-.2-.4-.4-.6-.4h-1.5c-.3 0-.5.3-.3.6l1 1.8c.3.4.6.6 1 .6.2 0 .4-.1.6-.2.4-.3.6-1 .2-1.5l-.4-.9zM18.1.9H5.9c-1.2 0-2.2 1-2.2 2.2v12.6c0 1.2 1 2.2 2.2 2.2h12.2c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zM6.9 16.4c-.6 0-1-.4-1-1.1s.4-1.1 1-1.1 1.1.5 1.1 1.1-.4 1.1-1.1 1.1zm10.2 0c-.6 0-1.1-.4-1.1-1.1s.5-1.1 1.1-1.1 1 .5 1 1.1-.4 1.1-1 1.1zm1-4.4c0 .4-.3.7-.7.7H6.6c-.4 0-.7-.3-.7-.7V4.6c0-.4.3-.7.7-.7h10.8c.5 0 .8.3.8.7V12z\"}},\nnew_custom37:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 14.1h-4.5V10c.9.8 2.1 1.3 3.5 1.3.6 0 1-.5 1-1s-.5-1-1-1c-1.9 0-3.5-1.7-3.5-3.8V4.4c.4 0 .7-.3.7-.7V3c0-.4-.3-.7-.7-.7h-2.1c-.3 0-.7.3-.7.7v.7c0 .4.4.7.7.7v1c0 2.1-1.7 3.8-3.8 3.8S8.3 7.5 8.3 5.4v-1c.3 0 .7-.3.7-.7V3c0-.4-.4-.7-.7-.7H6.2c-.4 0-.7.3-.7.7v.7c0 .4.3.7.7.7v1c0 2.1-1.6 3.8-3.5 3.8-.6 0-1 .4-1 1s.5 1 1 1c1.3 0 2.6-.5 3.5-1.3V14H1.6c-.4.1-.7.4-.7.8v1.6c0 .4.3.8.7.8H3V21c0 .3.3.7.7.7h2.1c.3 0 .7-.4.7-.7v-1.4c0-1.2.9-2.1 2-2.1h7c1.1 0 2 .9 2 2.1V21c0 .3.4.7.7.7h2.1c.4 0 .7-.4.7-.7v-3.8h1.4c.4 0 .7-.4.7-.8v-1.6c0-.4-.3-.7-.7-.7zM8.2 9.9c1 .9 2.4 1.4 3.8 1.4s2.8-.5 3.8-1.4v4.2H8.2V9.9z\"}},\nnew_custom38:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 10.2c-1.6 0-3 1.3-3 2.9s1.4 3 3 3 3-1.4 3-3-1.4-2.9-3-2.9zm8.9-3.7h-3c-.3 0-.6-.2-.7-.5l-1-2c-.3-.8-1.1-1.2-1.9-1.2H9.7c-.8 0-1.6.4-1.9 1.2l-1 2c-.1.3-.4.5-.7.5h-3C1.9 6.5.9 7.5.9 8.7V19c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V8.7c0-1.2-1-2.2-2.2-2.2zM12 18.4c-2.9 0-5.2-2.3-5.2-5.2S9.1 8 12 8s5.2 2.3 5.2 5.2-2.3 5.2-5.2 5.2z\"}},\nnew_custom39:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17 4.1c-.1-.3-.4-.5-.7-.4L1.4 8.5c-.3.1-.5.5-.4.9l.6 2.3c.1.3.4.6.8.5l3.8-.5c.1.4.3.9.5 1.2l-3.2 8.7c-.2.6.1 1.2.7 1.4 0 0 .2.1.3.1.5 0 .9-.3 1-.8l3.1-8.2c.3.1.4.1.7.1s.5-.1.8-.1l3 8.2c.1.5.6.8 1 .8.1 0 .3-.1.4-.1.6-.2.9-.8.6-1.4l-3.2-8.8c.4-.6.7-1.3.7-2l5.2-.8c.3 0 .5-.4.4-.7L17 4.1zm6 5.2l-2-7.5c-.1-.6-.8-1-1.4-.9-.6.2-1 .8-.8 1.4l2 7.5c.2.6.8 1 1.4.9.6-.2 1-.8.8-1.4z\"}},\nnew_custom4:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3 5.6l7.8-4.4c.7-.4 1.7-.4 2.4 0L21 5.6c.7.4 1.2 1.2 1.2 2v8.8c0 .8-.5 1.6-1.2 2l-7.8 4.4c-.7.4-1.6.4-2.4 0L3 18.4c-.6-.4-1.2-1.2-1.2-2V7.6c0-.8.6-1.6 1.2-2z\"}},\nnew_custom40:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.9 3.7H3.1C1.9 3.7.9 4.7.9 5.9v12.2c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V5.9c0-1.2-1-2.2-2.2-2.2zm0 2.2V8H3.1V5.9h17.8zM3.1 18.1v-6.5h17.8v6.5H3.1zm6.4-4.7c-.5 0-1 .3-1.2.7-.1.1-.2.1-.2 0-.3-.4-.7-.7-1.2-.7-.9 0-1.5.7-1.5 1.5 0 .7.6 1.4 1.5 1.4.5 0 .9-.2 1.2-.7h.2c.2.5.7.7 1.2.7.8 0 1.4-.6 1.4-1.4v-.1c0-.7-.7-1.4-1.4-1.4zm8.4.4h-4.4c-.4 0-.8.3-.8.7v.7c0 .4.4.8.8.8h4.4c.4 0 .7-.4.7-.8v-.7c0-.4-.3-.7-.7-.7z\"}},\nnew_custom41:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21 5.1H3c-1.2 0-2.1.9-2.1 2v9.8c0 1.1.9 2 2.1 2h18c1.2 0 2.1-.9 2.1-2V7.1c0-1.1-.9-2-2.1-2zM5.4 16.9c0-1.3-1-2.4-2.4-2.4v-5c1.4 0 2.4-1.1 2.4-2.4h13.2c0 1.3 1.1 2.4 2.4 2.4v5c-1.3 0-2.4 1.1-2.4 2.4H5.4z\"},\"ellipse\":{\"cx\":\"12\",\"cy\":\"11.815\",\"rx\":\"3.462\",\"ry\":\"3.369\"}},\nnew_custom42:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.9 1.8H3.1C1.9 1.8.9 2.8.9 4v2.2c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7V4c0-1.2-1-2.2-2.2-2.2zm0 7.3H3.1c-.4 0-.7.3-.7.7V20c0 1.2 1 2.2 2.2 2.2h14.8c1.2 0 2.2-1 2.2-2.2V9.8c0-.4-.3-.7-.7-.7zm-4.8 3.3c0 .6-.5 1.1-1.1 1.1H9c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h6c.6 0 1.1.4 1.1 1.1z\"}},\nnew_custom43:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23 9.8v-.7V9c0-.1 0 0-.1 0v-.1c0-.1-.1 0-.1 0l-4-5.7c-.2-.2-.4-.4-.8-.4H6c-.4 0-.7.2-.9.4l-4 5.6c0 .1-.1.1-.1.1V9c0 .1 0 0-.1 0V9.8c.1 0 .1.1.1.1v.1h.1l10.1 10.9v.1h.1s.1 0 .1.1v.1h.1v.1h.8v-.1h.1v-.1h.1V21h.1v-.1h.1L22.8 10v-.1h.1l.1-.1zM12 8.4h-1.6L12 5.7l1.6 2.7H12zm0 2h2l-2 6.5-2-6.5h2zm1.8-5.6h2.5l-.9 2.6-1.6-2.6zM8.7 7.4l-.9-2.6h2.5L8.7 7.4zm-.8 3l1.8 6-5.5-6h3.7zm8.2 0h3.7l-5.5 6 1.8-6zm4-2h-3l1-2.8 2 2.8zM5.9 5.6l1 2.8h-3l2-2.8z\"}},\nnew_custom44:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.8 4.2C16.9 1.8 15.3.9 12 .9c-1.5 0-3.3.6-4 .8 0-.5-.3-.8-.8-.8H5.8c-.4 0-.8.3-.8.8v2.9c0 .4.4.8.8.8h1.4c.4 0 .7-.4.7-.8h.9c.6 0 1 .5 1 1.1 0 .7.5 1.1 1.1 1.1v5.9c-.7 0-1.4.7-1.4 1.5v6.7c0 1.2 1 2.2 2.2 2.2h.7c1.2 0 2.2-1 2.2-2.2v-6.7c0-.8-.7-1.5-1.4-1.5V6.8c.6 0 1.1-.8 1.1-1.4 0-.6.4-1.1.9-1.1 1.5-.1 2.3.5 2.7.9.2.2.6.2.7 0 .4-.2.5-.7.2-1z\"}},\nnew_custom45:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.1 9.6h11.8v4.8H6.1zm17-.6V7.2c0-1.2-.9-2.1-2.1-2.1H3C1.8 5.1.9 6 .9 7.2V9c0 .2.2.5.4.6.8.5 1.4 1.4 1.4 2.4s-.6 1.9-1.4 2.4c-.2.1-.4.3-.4.6v1.8c0 1.2.9 2.1 2.1 2.1h18c1.2 0 2.1-.9 2.1-2.1V15c0-.2-.2-.5-.4-.6-.8-.5-1.4-1.4-1.4-2.4s.6-1.9 1.4-2.4c.2-.1.4-.3.4-.6zm-3.8 7.5H4.7c-.4 0-.7-.3-.7-.7V8.2c0-.4.3-.7.7-.7h14.5c.4 0 .7.3.7.7v7.6c0 .4-.2.7-.6.7z\"}},\nnew_custom46:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.1 7.2H7.9c-.4 0-.7.3-.7.7v8.2c0 .4.3.7.7.7h8.2c.4 0 .7-.3.7-.7V7.9c0-.4-.3-.7-.7-.7zm6.4-3.6c.3-.1.6-.4.6-.7V1.7c0-.5-.3-.8-.8-.8h-1.2c-.3 0-.6.3-.7.6-.2.7-.9 1.3-1.7 1.3s-1.5-.6-1.8-1.3c-.1-.3-.4-.6-.7-.6h-1.8c-.3 0-.6.3-.6.6-.2.7-1 1.3-1.8 1.3s-1.5-.6-1.8-1.3c-.1-.3-.3-.6-.7-.6H7.8c-.3 0-.6.3-.6.6-.3.7-1 1.3-1.8 1.3-.9 0-1.6-.6-1.8-1.3-.1-.3-.4-.6-.7-.6H1.7c-.5 0-.8.3-.8.8v1.2c0 .3.3.6.6.7.7.2 1.3.9 1.3 1.8s-.6 1.5-1.3 1.7c-.3.1-.6.4-.6.7v1.8c0 .3.3.6.6.6.7.2 1.3 1 1.3 1.8s-.6 1.5-1.3 1.8c-.3.1-.6.3-.6.7v1.7c0 .3.3.6.6.6.7.3 1.3 1 1.3 1.8 0 .9-.6 1.6-1.3 1.8-.3.1-.6.4-.6.7v1.2c0 .5.3.8.8.8h1.2c.3 0 .6-.3.7-.6.2-.7.9-1.3 1.7-1.3.8 0 1.5.6 1.8 1.3.1.3.3.6.7.6h1.7c.3 0 .6-.3.7-.6.2-.7.9-1.3 1.7-1.3s1.5.6 1.8 1.3c.1.3.3.6.7.6h1.8c.3 0 .6-.3.6-.6.3-.7 1-1.3 1.8-1.3s1.5.6 1.8 1.3c0 .3.3.6.6.6h1.2c.5 0 .8-.3.8-.8v-1.2c0-.3-.2-.6-.6-.7-.7-.2-1.3-.9-1.3-1.7s.6-1.5 1.3-1.8c.4-.1.6-.3.6-.7v-1.7c0-.3-.2-.6-.6-.7-.7-.2-1.3-.9-1.3-1.7 0-.8.6-1.5 1.3-1.8.4-.1.6-.3.6-.7V7.8c0-.3-.2-.6-.6-.6-.7-.3-1.3-1-1.3-1.8s.7-1.6 1.4-1.8zM19 16.8c0 1.2-1 2.2-2.2 2.2H7.2C6 19 5 18 5 16.8V7.2C5 6 6 5 7.2 5h9.6C18 5 19 6 19 7.2v9.6z\"}},\nnew_custom47:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.9 20.1H4.1c-1.2 0-2.3 1-2.3 2.2v.1c0 .4.4.7.7.7h15.9c.4 0 .7-.3.7-.7v-.1c.1-1.2-1-2.2-2.2-2.2zm5-11.7l-6-5.4 1-1.4c.1-.3 0-.5-.2-.6-1.9-.4-3 .9-3 .9C2.1 1.9 4 14.4 4.6 17.3c.1.3.3.6.7.6h10.2c.3 0 .5-.4.3-.6-2-2.5-3.1-5.3-3.8-7-.1-.3.2-.7.5-.5 2.7 1.4 3.9-.1 5.7 1 1 .6 2.1.5 2.8-.3l1-1c.2-.3.2-.7-.1-1.1zm-7.6-1.2c-.7 0-1.1-.5-1.1-1.1S13.7 5 14.3 5s1.1.4 1.1 1.1-.5 1.1-1.1 1.1z\"}},\nnew_custom48:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.3 2.4h-3.7v-.7c0-.5-.3-.8-.7-.8H6.1c-.4 0-.7.3-.7.8v.7H1.7c-.5 0-.8.3-.8.7v4.8c0 1.9 1.5 3.4 3.3 3.4H6c1 2.3 3.2 4 6 4 2.8.1 5.1-1.6 6.1-4h1.7c1.8 0 3.3-1.5 3.3-3.4V3.1c0-.4-.3-.7-.8-.7zM4.2 9c-.6 0-1.1-.4-1.1-1.1V4.6h2.3V9H4.2zm16.7-1.1c0 .7-.5 1.1-1.1 1.1h-1.2V4.6h2.3v3.3zm-5.2 13h-.4c-1.2 0-2.2-1.1-2.2-2.3v-.7c0-.2-.1-.4-.4-.4h-1.4c-.3 0-.4.2-.4.4v.7c0 1.2-1 2.3-2.2 2.3h-.4c-.4 0-.7.3-.7.7v.7c0 .5.3.8.7.8h7.4c.4 0 .7-.3.7-.8v-.7c0-.4-.3-.7-.7-.7z\"}},\nnew_custom49:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 8.7c-1.8 0-3.3 1.5-3.3 3.3s1.5 3.3 3.3 3.3 3.3-1.5 3.3-3.3-1.5-3.3-3.3-3.3zm0 5.1c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8 1.8.8 1.8 1.8-.8 1.8-1.8 1.8zM12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.5c0 .5-.4.8-.8.8-4.5-.4-8-3.9-8.4-8.4 0-.4.3-.8.8-.8h.7c.4 0 .7.3.7.6.4 3.4 3 6 6.4 6.4.3 0 .6.3.6.7v.7zm0-2.9c-3 0-5.5-2.5-5.5-5.5S9 6.5 12 6.5 17.5 9 17.5 12 15 17.5 12 17.5zm8.4-5.5h-.7c-.4 0-.7-.3-.7-.6-.4-3.4-3-6-6.4-6.4-.3 0-.6-.3-.6-.7v-.7c0-.5.4-.8.8-.8 4.5.4 8.1 4 8.4 8.4 0 .4-.3.8-.8.8z\"}},\nnew_custom5:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.7 2.7c-3.8-1.5-8.2-1.8-12.1-.5-3.4 1.1-6.9 3.6-7.4 7.4-.1.8-.1 1.7.1 2.4l.3 1.2.3.6c-.1.2-.3.5-.4.6-1.1 1.7-1.8 3.6-2.3 5.5-.2.8-.6 2 .2 2.5.4.3.9.3 1.2.1.4-.3.5-.7.6-1.2.3-1.9 1-3.9 2.1-5.5.5-.8 1-1.6 1.7-2.4.5-.6 1.4-1.7 2.3-1.4.9.4.9 1.4.3 2s-1.2 1.1-1.2 2c0 .7.3 1.4.8 1.8.8.6 2.2.7 3.1.6 2-.1 3.6-.7 5.1-1.8 2.1-1.5 2.9-4 3.3-6.3.3-1.5.5-2.9 1-4.3.2-.6.5-1.2.8-1.7.2-.2.5-.5.5-.8.2-.4-.1-.7-.3-.8z\"}},\nnew_custom50:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.9 14.4c-.8.5-1.8.7-2.8.7-1.2 0-2.3-.3-3.3-.9-.1-.1-.3-.1-.4 0-1 .6-2.1.9-3.3.9s-2.4-.3-3.3-.9c-.1-.1-.3-.1-.4 0-1 .6-2.1.9-3.3.9-1 0-2-.2-2.8-.7-.3-.1-.6.1-.6.4v4.5c0 .9.5 1.7 1.3 2.1 1.9.8 3.9 1.4 6 1.7.5.1.8-.3.8-.8v-2.8c0-1.2 1-2.2 2.2-2.2 1.2 0 2.2 1 2.2 2.2v2.8c0 .5.4.8.8.8 2.1-.3 4.1-.9 6-1.7.8-.4 1.3-1.2 1.3-2.1v-4.5c.1-.3-.1-.5-.4-.4zM5 12.8c1.4 0 2.5-.5 3.3-1.4.1-.2.4-.2.5 0 .8.8 2 1.4 3.2 1.4 1.4 0 2.5-.5 3.3-1.4.1-.2.4-.2.5 0 .8.8 2 1.4 3.3 1.4 2 0 3.8-1.4 4-3.2 0-.3-.1-.6-.3-.7l-9.4-7.5c-.8-.7-2-.7-2.7 0L1.2 8.9c-.2.1-.3.4-.3.7.3 1.8 2.1 3.2 4.1 3.2z\"}},\nnew_custom51:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.5 3c1 .6 1.8 2.1 2.2 3.3.1.3.3.4.6.4.2.1.4.1.7.1.4 0 .7 0 1.1-.1.9-.3 1.7-.7 2.4-1.4 1.1-1.2 1.5-2.8 1.1-4.1-1.3-.5-2.9-.1-4 1.1-.4.3-.6.7-.8 1.1-.6-1-1.3-1.8-2.1-2.3-.6-.3-1.3-.1-1.6.4-.3.5 0 1.2.4 1.5zm11.2 5.4c-3.7-2.1-4.5.7-7.7.7s-4-2.8-7.7-.7c-3.6 2.1-2.5 8.9-1.1 11.4 1.3 2.3 3.6 4.6 8.5 2.4.2-.1.4-.1.6 0 4.8 2.2 7.2-.1 8.5-2.4 1.4-2.5 2.5-9.3-1.1-11.4z\"}},\nnew_custom52:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23 6.5c.1-1.2 0-2.3-.2-3.5-.1-1-.8-1.7-1.8-1.8-1.2-.2-2.3-.3-3.5-.2-.3 0-.5.4-.3.6l5.2 5.2c.3.2.6 0 .6-.3zm-8.7-4.7c-.2-.2-.5-.3-.7-.2C10.8 2.4 8.2 3.8 6 6c-2.1 2.2-3.6 4.8-4.4 7.4-.1.3 0 .6.2.8l8 8c.2.2.5.3.8.2 2.6-.8 5.2-2.3 7.4-4.4 2.1-2.2 3.6-4.8 4.4-7.6.1-.3 0-.5-.2-.7l-7.9-7.9zm-3.1 14.4c-.4.5-1.1.5-1.6 0l-2-2c-.5-.5-.5-1.2 0-1.6.4-.5 1.1-.5 1.5 0l2.1 2.1c.5.4.5 1.1 0 1.5zm2.6-2.5c-.5.4-1.2.4-1.6 0l-2-2.1c-.5-.5-.5-1.2 0-1.6.4-.4 1.1-.4 1.5 0l2.1 2.1c.5.5.5 1.1 0 1.6zm2.6-2.6c-.5.4-1.2.4-1.6 0L12.7 9c-.4-.5-.4-1.2 0-1.6.5-.4 1.2-.4 1.6 0l2.1 2.1c.4.5.4 1.2 0 1.6zM1 17.3c-.1 1.2-.1 2.5.2 3.7.1 1 .8 1.8 1.8 1.9 1.2.2 2.5.3 3.8.2.3-.1.4-.4.3-.7L1.6 17c-.2-.2-.6-.1-.6.3z\"}},\nnew_custom53:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21 14.6h-.3c-.8 0-1.5-.7-1.5-1.5V8.2c0-4.3-3.7-7.7-8-7.2-3.7.4-6.4 3.7-6.4 7.5v4.4c0 .9-.8 1.7-1.7 1.7H3c-.6 0-1.2.5-1.2 1.2v.9c0 .6.6 1.2 1.2 1.2h18c.6 0 1.2-.6 1.2-1.2v-.9c0-.7-.6-1.2-1.2-1.2zm-6.6 5.5H9.6c-.3 0-.6.3-.5.5.3 1.4 1.5 2.5 2.9 2.5s2.7-1 3-2.5c0-.2-.3-.5-.6-.5z\"}},\nnew_custom54:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.6 12.4C6 12 8.1 11 10.4 10c.7-.4 2.1-1 2.8-1.3.2-.1.3-.3.2-.6-.2-1-1-1.9-2.1-1.9h-.8V4.8c0-.4-.3-.7-.7-.7V2.6c0-.4-.3-.8-.8-.8H7.6c-.4 0-.8.4-.8.8v1.5c-.3 0-.7.3-.7.7v1.4h-.7c-1.2 0-2.3 1.1-2.3 2.3V12c0 .3.3.5.5.4zm16.5 7.3s2.7-4.1 3-10c0-.4-.3-.7-.8-.7-8.8.3-12.9 5.6-20.7 5.9-.4 0-.7.4-.7.7v2.8c0 1.2.9 2.1 2.1 2.2 3.9.3 12.2.8 16.9 1.6.5.1 1-.4.9-.8-.1-.6-.3-1.3-.7-1.7zm-.3-6.6c-.7 0-1.2-.5-1.2-1.1s.5-1.1 1.2-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1z\"}},\nnew_custom55:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.8 15.4h4.5c.4 0 .7-.4.7-.7V4.6c0-.8-.7-1.4-1.4-1.4H5.9c-.5 0-.8.4-.8.8v10.7c0 .3.3.7.7.7zM21 5.3v10.8c0 .7-.6 1.3-1.4 1.3H4.4c-.8 0-1.4-.6-1.4-1.3V5.3c-1.2 0-2.1.9-2.1 2v10.1c0 1.1.9 2 2.1 2h6.6c.3 0 .6.4.6.7s.4.7.7.7H13c.4 0 .7-.3.7-.7s.3-.7.7-.7H21c1.1 0 2-.9 2-2V7.3c.1-1.1-.8-2-2-2zm-7.2 10.1h4.3c.5 0 .8-.4.8-.8V3.9c0-.3-.3-.7-.7-.7h-3.8c-.6 0-1.3.6-1.3 1.4v10.1c-.1.3.2.7.7.7z\"}},\nnew_custom56:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.7 4.8c-2.3 2.3-5.1-.6-7.7 2l-7.4 7.4c-.9.8-.9 2.2 0 3.1l2.6 2.5 2.5 2.6c.9.9 2.3.9 3.1 0l7.5-7.4c2.5-2.6-.3-5.4 2-7.7l.6-.6c.2-.1.2-.4 0-.5l-2-2c-.2-.2-.4-.2-.5 0l-.7.6zm-1.8 9.4l-2.6 2.6c-.3.3-.7.3-1 0l-2.1-2.1-2-2.1c-.3-.2-.3-.7 0-1L9.7 9c.3-.2.8-.2 1.1 0l2 2.1 2.1 2.1c.3.3.3.7 0 1zm7.9-11.5l-.7-.8-.8-.8c-.3-.3-.8-.3-1 0l-1 1c-.1.1-.1.3 0 .5l2 2c.2.2.4.2.5 0l1-.9c.4-.2.4-.7 0-1z\"}},\nnew_custom57:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.1 13.4v9.3c0 .3.3.5.6.3 1.8-1 7.3-4.2 7.3-4.2.6-.4 1.1-1.2 1.1-2V8.4c0-.3-.3-.4-.5-.3l-8.1 4.6c-.2.2-.4.4-.4.7zm-.7-2.6l8.1-4.7c.3-.1.3-.5 0-.6-1.8-1-7.3-4.3-7.3-4.3-.7-.4-1.7-.4-2.4 0 0 0-5.5 3.2-7.3 4.3-.3.1-.3.5 0 .6l8.1 4.7c.3.1.5.1.8 0zm-1.9 1.9L2.4 8.1c-.2-.2-.6 0-.6.3v8.4c0 .8.5 1.6 1.2 2 0 0 5.5 3.2 7.3 4.2.3.2.5 0 .5-.3v-9.3c.1-.3-.1-.5-.3-.7z\"}},\nnew_custom58:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.2 10.5c-.6 0-1.1-.5-1.1-1.2.1-.6.6-1 1.2-1h3.2c.1 0 .3-.1.3-.2.3-.5.5-1 .7-1.5.1-.3-.1-.5-.3-.5h-2.4c-.6 0-1.1-.5-1.2-1 0-.7.5-1.2 1.2-1.2h2.9c.2 0 .4-.2.4-.4V2.4c0-.4-.3-.7-.8-.7h-3.9c-1.1 0-2 .8-2 1.9v.1c0 2.1-1.4 3.9-3.3 4.4v-3c.8-.5 1.3-1.3 1.1-2.3-.1-1-1-1.7-1.9-1.8-1.4-.2-2.5.8-2.5 2.2 0 .8.4 1.5 1.1 1.9v3.1C9 7.7 7.6 5.9 7.6 3.8v-.1c0-1.1-.9-2-2-2H1.7c-.5 0-.8.3-.8.7v1.2c0 .2.2.3.4.3h2.9c.6 0 1.1.5 1.2 1 0 .7-.5 1.2-1.2 1.2H1.8c-.2 0-.4.3-.3.5.2.5.4 1.1.7 1.6.1.1.2.2.3.2h3.2c.6 0 1.2.4 1.2 1 .1.6-.4 1.2-1.1 1.2h-.9c-.3 0-.5.4-.2.6 1.6 1.4 3.6 2.3 6.3 2.3v8.4c0 .6.4 1.1 1 1.2.6 0 1.2-.5 1.2-1.1v-8.5c2.7 0 4.7-1 6.3-2.3.3-.2.1-.6-.3-.6h-1z\"}},\nnew_custom59:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.3 5c.4 0 .6-.3.6-.7 0-.2-.1-.5-.4-.6-.5-.3-1.2-1.5-1.5-2.3-.1-.3-.3-.5-.6-.5H7.5c-.3 0-.6.2-.6.5-.3.7-1 2-1.5 2.3-.2.1-.3.4-.3.6 0 .4.3.7.6.7h12.6zM5.1 20.8c0 1.3.9 2.3 2.1 2.3h9.5c1.2 0 2.2-1 2.2-2.2v-.1c0-.4-.3-.7-.7-.7H5.7c-.3 0-.6.3-.6.7zm13.8-3.6V7.9c0-.4-.3-.7-.7-.7H5.8c-.4 0-.7.3-.7.7v9.3c0 .4.3.7.7.7h12.4c.4 0 .7-.3.7-.7z\"}},\nnew_custom6:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 21.7H2.4c-1.2 0-1.8-1.3-1.2-2.3L10.7 3c.6-.9 1.9-.9 2.5 0l9.6 16.5c.6 1-.1 2.2-1.2 2.2H12z\"}},\nnew_custom60:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 10.2C22.2 5 17.6.9 12 .9S1.8 5 .9 10.2c0 .4.3.6.6.4.6-.4 1.3-.7 2.1-.7 1 0 1.9.4 2.5 1.2.1.2.5.2.6 0 .6-.8 1.5-1.2 2.5-1.2s1.9.4 2.5 1.2c.1.2.4.2.6 0 .6-.8 1.5-1.2 2.5-1.2s1.9.4 2.5 1.2c.1.2.4.2.6 0 .6-.8 1.4-1.2 2.5-1.2.7 0 1.5.3 2 .7.4.2.7 0 .7-.4zm-6.7 8.4c-.6 0-1.1.5-1.1 1.2s-.4 1.1-1.1 1.1-1.1-.5-1.1-1.1v-5.2c0-.7-.5-1.1-1.1-1.1s-1.1.4-1.1 1.1v5.2c0 1.8 1.5 3.3 3.3 3.3s3.3-1.5 3.3-3.3c0-.7-.4-1.2-1.1-1.2z\"}},\nnew_custom61:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.5.9H19c-.4 0-.7.3-.7.8v1.4c0 .5-.3.8-.8.8h-.7c-.4 0-.7-.3-.7-.8V1.7c0-.5-.3-.8-.8-.8h-1.5c-.4 0-.7.3-.7.8v1.4c0 .5-.3.8-.7.8h-.8c-.4 0-.7-.3-.7-.8V1.7c0-.5-.3-.8-.7-.8H8.7c-.4 0-.8.3-.8.8v1.4c0 .5-.3.8-.7.8h-.7c-.5 0-.8-.3-.8-.8V1.7c0-.5-.3-.8-.7-.8H3.5c-.4 0-.7.3-.7.8v3.7c0 1.2 1 2.2 2.2 2.2h14c1.2 0 2.2-1 2.2-2.2V1.7c0-.5-.3-.8-.7-.8zm-1.7 9.5c0-.4-.3-.7-.7-.7H5.9c-.4 0-.7.3-.7.7L3.5 22.2c-.1.5.3.8.7.8H9c.4 0 .8-.3.8-.7v-3.6c0-1.2.9-2.3 2.1-2.3 1.3 0 2.3 1 2.3 2.2v3.7c0 .5.4.8.8.8h4.8c.4 0 .8-.4.7-.9l-1.7-11.8z\"}},\nnew_custom62:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 19H2c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h20c.6 0 1.1-.4 1.1-1.1S22.6 19 22 19zM2.4 16.8H15v-1.5c0-.4.3-.7.7-.7h3.7c.4 0 .7.3.7.7v1.5h1.5c.4 0 .7-.3.7-.7V3.5c0-.4-.3-.7-.7-.7H2.4c-.4 0-.7.3-.7.7v12.6c0 .4.3.7.7.7zm3.3-9.6c0-.4.3-.7.8-.7h10.7c.4 0 .7.3.7.7v.7c0 .5-.3.8-.7.8H6.5c-.5 0-.8-.3-.8-.8v-.7zm0 4.4c0-.4.3-.7.8-.7h7c.4 0 .7.3.7.7v.8c0 .4-.3.7-.7.7h-7c-.5 0-.8-.3-.8-.7v-.8z\"}},\nnew_custom63:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9 15.7h6c.4 0 .7-.3.7-.7V9c0-.4-.3-.7-.7-.7H9c-.4 0-.7.3-.7.7v6c0 .4.3.7.7.7zm13-2.6c.6 0 1.1-.5 1.1-1.1s-.5-1.1-1.1-1.1h-1.9V8.7H22c.6 0 1.1-.5 1.1-1.1s-.5-1.1-1.1-1.1h-1.9v-.4c0-1.2-1-2.2-2.2-2.2h-.4V2c0-.6-.4-1.1-1.1-1.1s-1.1.5-1.1 1.1v1.9h-2.2V2c0-.6-.5-1.1-1.1-1.1s-1.1.5-1.1 1.1v1.9H8.7V2c0-.6-.5-1.1-1.1-1.1S6.5 1.4 6.5 2v1.9h-.4c-1.2 0-2.2 1-2.2 2.2v.4H2c-.6 0-1.1.4-1.1 1.1S1.4 8.7 2 8.7h1.9v2.2H2c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h1.9v2.2H2c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h1.9v.4c0 1.2 1 2.2 2.2 2.2h.4V22c0 .6.4 1.1 1.1 1.1s1.1-.5 1.1-1.1v-1.9h2.2V22c0 .6.5 1.1 1.1 1.1s1.1-.5 1.1-1.1v-1.9h2.2V22c0 .6.5 1.1 1.1 1.1s1.1-.5 1.1-1.1v-1.9h.4c1.2 0 2.2-1 2.2-2.2v-.4H22c.6 0 1.1-.4 1.1-1.1s-.5-1.1-1.1-1.1h-1.9v-2.2H22zm-4.1 3.7c0 .6-.5 1.1-1.1 1.1H7.2c-.6 0-1.1-.5-1.1-1.1V7.2c0-.6.5-1.1 1.1-1.1h9.6c.6 0 1.1.5 1.1 1.1v9.6z\"}},\nnew_custom64:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.2c-4.5 0-8.1-3.6-8.1-8.1S7.5 3.9 12 3.9s8.1 3.6 8.1 8.1-3.6 8.1-8.1 8.1zm4.3-12.9l-6.1 2.3c-.4.1-.6.3-.7.7l-2.3 6.1c0 .3.2.6.5.5l6.1-2.3c.4-.1.6-.3.7-.7l2.3-6.1c.1-.3-.2-.6-.5-.5zM12 13.5c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5z\"}},\nnew_custom65:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.6 17.9h-18c-.4 0-.7.3-.7.7 0 1.2 1 2.2 2.2 2.2h15c1.2 0 2.2-1 2.2-2.2v-.1c0-.3-.4-.6-.7-.6zm-.8-14.7H1.7c-.4 0-.7.4-.7.8-.1.9-.1 2.7.1 3.8.4 3.4 2.2 6.2 4.7 7.8H14c1.4-.9 2.6-2.3 3.4-3.8.4.1.9.2 1.4.2 2.3 0 4.3-2 4.3-4.4s-1.9-4.4-4.3-4.4zm0 6.6c-.2 0-.3-.1-.5-.1.3-1.2.5-2.4.5-3.7v-.6c1.2 0 2.2.9 2.2 2.2s-1 2.2-2.2 2.2z\"}},\nnew_custom66:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 14l-5.3-5.4c-.9-.8-2.2-.8-3.1 0L8.6 14c-.8.8-.8 2.2 0 3l5.4 5.4c.8.9 2.2.9 3 0l5.4-5.4c.9-.8.9-2.2 0-3zm-10.1 2.4c-.5.5-1.4.5-1.8 0-.5-.5-.5-1.3 0-1.8s1.3-.5 1.8 0 .4 1.3 0 1.8zm4.1 4.2c-.5.5-1.3.5-1.8 0s-.5-1.3 0-1.8 1.4-.5 1.8 0c.5.5.5 1.3 0 1.8zm0-8.3c-.5.5-1.3.5-1.8 0s-.5-1.4 0-1.8c.5-.5 1.4-.5 1.8 0 .5.4.5 1.3 0 1.8zm4.2 4.1c-.5.5-1.4.5-1.8 0-.5-.5-.5-1.3 0-1.8s1.3-.5 1.8 0 .5 1.3 0 1.8zM13.1 5.9V3.1c0-1.2-1-2.2-2.2-2.2H3.1C1.9.9.9 1.9.9 3.1v7.8c0 1.2 1 2.2 2.2 2.2h2.8c.2 0 .5-.1.6-.3.1-.1.3-.2.4-.4l5.5-5.5c.1-.1.2-.3.4-.4.2-.1.3-.4.3-.6zm-9 5.4c-.7 0-1.3-.6-1.3-1.3s.6-1.3 1.3-1.3 1.3.6 1.3 1.3-.6 1.3-1.3 1.3zm2.9-3c-.7 0-1.3-.6-1.3-1.3S6.3 5.7 7 5.7s1.3.6 1.3 1.3S7.7 8.3 7 8.3zm3-2.9c-.7 0-1.3-.6-1.3-1.3s.6-1.3 1.3-1.3c.7 0 1.3.6 1.3 1.3s-.6 1.3-1.3 1.3z\"}},\nnew_custom67:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.5 13.1l-.5-.8c-.2-.3-.4-.4-.8-.4-.1 0-.2 0-.3.1l-1.3.4c-.5-.4-1.1-.7-1.7-1l-.3-1.3c-.1-.5-.4-.7-.9-.7h-.9c-.5 0-.8.3-.9.8l-.3 1.2c-.6.3-1.1.6-1.7 1.1L2.6 12c-.1 0-.2-.1-.3-.1-.3 0-.6.2-.8.5l-.5.8c-.2.4-.1.8.2 1.2l1.2.8c-.1.4-.1.7-.1 1 0 .3 0 .6.1 1l-1.1.9c-.4.3-.5.8-.2 1.2l.4.8c.2.3.5.4.9.4 0 0 .2 0 .3-.1L4 20c.5.4 1 .8 1.7 1l.2 1.3c.1.5.5.8.9.8h1c.4 0 .8-.3.9-.8l.2-1.3c.7-.3 1.3-.6 1.8-1.1l1.2.5c.1 0 .2.1.3.1.4 0 .7-.2.9-.5l.4-.7c.3-.4.2-.9-.2-1.2l-1.1-.9c.1-.3.1-.6.1-1 0-.3 0-.6-.1-1l1.1-.8c.3-.4.4-.9.2-1.3zm-6.3 5.6c-1.3 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.6 1.1 2.6 2.5-1.2 2.5-2.6 2.5zM22.8 7.9l-.8-.7c0-.3.1-.5.1-.8 0-.3-.1-.5-.1-.8l.8-.7c.3-.2.4-.6.2-.9l-.4-.7c-.1-.2-.4-.3-.6-.3h-.3l-1.1.4c-.4-.4-.8-.6-1.4-.8l-.1-1.1c-.1-.3-.4-.6-.8-.6h-.7c-.4 0-.7.3-.8.6l-.1 1.1c-.5.2-1 .4-1.4.8L14.2 3c-.1-.1-.2-.1-.3-.1-.2 0-.5.1-.6.4l-.4.6c-.2.3-.1.7.2.9l.8.7c0 .3-.1.5-.1.8 0 .3.1.6.1.8l-.8.7c-.3.2-.4.6-.2 1l.4.6c.1.2.4.4.6.4.1 0 .2 0 .3-.1l1.1-.4c.4.4.9.7 1.4.8l.1 1.1c.1.3.4.6.8.6h.7c.4 0 .7-.3.8-.6l.1-1.1c.6-.2 1.1-.5 1.5-.9l1 .4c.1.1.2.1.3.1.2 0 .5-.1.6-.4l.4-.6c.2-.2.1-.5-.2-.8zm-4.8.6c-1.2 0-2.1-.9-2.1-2s.9-2.1 2.1-2.1 2 1 2 2.1-.9 2-2 2z\"}},\nnew_custom68:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm8.8 10h-2.9c-.1-2.6-.7-4.9-1.6-6.7 2.4 1.4 4.1 3.8 4.5 6.7zm-9.9-7.3v7.3H8.4c.1-3.5 1.2-6.2 2.5-7.3zm0 9.5v7.3c-1.3-1.1-2.4-3.8-2.5-7.3h2.5zm2.2 7.3v-7.3h2.5c-.1 3.5-1.2 6.2-2.5 7.3zm0-9.5V3.6c1.3 1.1 2.4 3.8 2.5 7.3h-2.5zM7.7 4.2C6.8 6 6.3 8.3 6.1 10.9H3.2C3.6 8 5.3 5.6 7.7 4.2zm-4.5 8.9h2.9c.1 2.6.7 4.9 1.6 6.7-2.4-1.4-4.1-3.8-4.5-6.7zm13.1 6.7c.9-1.8 1.4-4.1 1.6-6.7h2.9c-.4 2.9-2.1 5.3-4.5 6.7z\"}},\nnew_custom69:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13 10.2c-2.2-1.6-4.3-.8-5.7.5-.5.5-1.3.8-2.2 1-1 .3-2.1.7-2.8 1.5-2.2 2-1.7 4.5 1.1 7.3l.1.1c1.7 1.7 3.2 2.5 4.7 2.5 1 0 1.9-.4 2.8-1.2.8-.8 1.2-1.8 1.5-2.8.3-.9.6-1.7 1.1-2.2.8-.8 1.3-1.8 1.4-2.7.1-.7-.1-1.7-.9-2.8 0 0-.4-.6-1.1-1.2zm-4.6 8.9c-.2.2-.5.3-.7.3-.3 0-.5-.1-.7-.3l-2.1-2c-.4-.4-.4-1 0-1.5.4-.4 1-.4 1.4 0l2.1 2.1c.4.4.4 1 0 1.4zm1.8-3c-1.1 0-1.9-.8-1.9-1.8s.8-1.9 1.9-1.9 1.8.8 1.8 1.9-.8 1.8-1.8 1.8zM22.8 2.9l-1.7-1.7c-.2-.3-.8-.3-1.1 0L18.1 3c-.3.3-.3.9 0 1.2l.1.1-3.8 3.8c-.1.2-.1.4 0 .6.3.3.8.7 1.1 1 .1.1.3.1.5 0l3.8-3.8V6c.3.3.9.3 1.2 0l1.9-1.9c.3-.4.3-.9-.1-1.2z\"}},\nnew_custom7:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.3 23.1C2 23.1.9 22 .9 20.7V3.3C.9 2 2 .9 3.3.9h17.4c1.3 0 2.4 1.1 2.4 2.4v17.4c0 1.3-1.1 2.3-2.4 2.3H3.3z\"}},\nnew_custom70:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.3 17.1L7 12.9c-.9-.9-2.3-.9-3.2 0l-2.6 2.6c-.3.3-.3.8 0 1l.5.6.5.5 4.3 4.2.2.3.9.7c.2.3.8.3 1 0l2.7-2.6c.8-.8.8-2.2 0-3.1zm-7-1.6l.6-.5c.3-.3.7-.3 1 0l3.2 3.1c.3.3.3.8 0 1.1l-.5.5c-.3.2-.8.2-1 0l-3.3-3.2c-.3-.3-.3-.7 0-1zM9 11.7l3.4 3.3c.1.1.2.1.3.1h1.6c.1 0 .3-.1.3-.3v-1.4c0-.2.2-.3.4-.3l1.3-.1c.2 0 .4-.1.4-.3v-1.4c0-.2.1-.3.3-.3l1.4-.1c.2 0 .3-.1.3-.3l.1-1.4c0-.2.1-.3.3-.3h1.4c.2 0 .3-.2.3-.4l.1-1.3c0-.2.1-.3.2-.4l1.6-.2c.2 0 .4-.3.2-.6l-3.1-4.8c-.3-.3-.8-.4-1.2 0l-9.7 9.6c-.2.2-.2.6.1.9z\"}},\nnew_custom71:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.8 5c-2.1-2.1-5-3.2-8.1-3.2C5.8 2 .9 7 .9 12.9v3.4c0 1.2 1 2.2 2.2 2.2h1.5v1.8c0 .9.7 1.7 1.7 1.9 1.1 0 2-.8 2-1.8v-6.5c0-.9-.7-1.8-1.7-1.9-1.1-.1-2 .7-2 1.8v2.5h-.7c-.4 0-.8-.3-.8-.7v-2.7C3.1 8.1 7 4.2 11.7 4c2.5-.1 4.7.8 6.4 2.5 1.8 1.6 2.7 3.8 2.7 6.2v2.9c0 .4-.3.7-.7.7h-.7v-2.4c0-.9-.7-1.8-1.7-1.9-1.1-.1-2 .7-2 1.8v6.5c0 .9.7 1.7 1.7 1.9 1.1 0 2-.8 2-1.8v-1.8h1.5c1.2 0 2.2-1 2.2-2.2v-3.5c0-2.9-1.1-5.7-3.3-7.9z\"}},\nnew_custom72:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M22 .9H2C1.4.9.9 1.4.9 2S1.4 3.1 2 3.1h8.9v2.3c-4 .6-7 3.9-7 8V16c0 2.6 2.1 4.9 4.9 4.9h6.5c2.7 0 4.9-2.2 4.9-4.9v-2.6c0-4.1-3.1-7.5-7-8V3.1H22c.7 0 1.1-.4 1.1-1.1S22.6.9 22 .9zm-4.8 12.5c0 1-.9 1.9-2 1.9H8.8c-1.1 0-1.9-.8-2-1.9.1-2.8 2.3-5.1 5.1-5.1h.1c2.9 0 5.1 2.3 5.2 5.1z\"},\"circle\":[{\"cx\":\"3.138\",\"cy\":\"21.6\",\"r\":\"1.477\"},{\"cx\":\"20.862\",\"cy\":\"21.6\",\"r\":\"1.477\"}]}},\nnew_custom73:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M2.2 6.5h19.6c.4 0 .8-.5.7-1-.5-1.5-1.1-2.9-2-4.1-.3-.4-.8-.4-1.1-.1-.8.8-2.1 1.3-3.4 1.3-1.4 0-2.6-.6-3.5-1.5-.3-.3-.8-.3-1.1 0-.9.9-2.1 1.5-3.5 1.5-1.3 0-2.5-.5-3.4-1.3-.3-.3-.8-.2-1 .1-.9 1.2-1.6 2.7-2 4.2-.1.4.3.9.7.9zm20.9 2.9c0-.4-.3-.7-.8-.7H1.7c-.5 0-.8.3-.8.7v.2c0 6.9 4.8 12.6 11.1 13.5 6.3-.9 11.1-6.6 11.1-13.5v-.2z\"}},\nnew_custom74:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.9 20.5h-3.8c-.4 0-.7.3-.7.7v1.1c0 .5.3.8.7.8h3.8c.4 0 .7-.3.7-.8v-1.1c0-.4-.3-.7-.7-.7zM12 .9C7.4.9 3.7 4.4 3.7 8.7c0 2.7 1.6 5.2 3.9 6.5.9.5 1.5 1.4 1.7 2.4.1.4.4.6.8.6H14c.4 0 .7-.2.7-.6.2-1 .8-1.9 1.7-2.4 2.3-1.4 3.9-3.8 3.9-6.5 0-4.3-3.7-7.8-8.3-7.8zM9.4 4.4c-.7 1.4-1.1 3-1.2 4.4 0 1.4.3 2.6.8 3.9.1.4-.2.7-.6.5C5 11.4 5.2 5.1 9 3.8c.3 0 .6.3.4.6zm2.9 8.8c-.1.3-.5.3-.7 0-.6-1.4-.7-3.1-.8-4.7.1-1.6.2-3.2.8-4.7.1-.3.6-.3.7 0 .6 1.4.8 3.1.8 4.7s-.2 3.2-.8 4.7zm3.1 0c-.3.2-.6-.1-.5-.4.5-1.4.7-2.8.8-4.2-.1-1.2-.5-2.8-1.2-4.2-.1-.2.1-.6.5-.5 3.7 1.2 3.9 7.6.4 9.3z\"}},\nnew_custom75:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9c-.6 0-1.1.5-1.1 1.1v20c0 .6.5 1.1 1.1 1.1 6.1 0 11.1-5 11.1-11.1S18.1.9 12 .9zm8.8 10h-2.9c-.1-2.6-.7-4.9-1.6-6.7 2.4 1.4 4.1 3.8 4.5 6.7zm-7.7 9.5v-7.3h2.5c-.1 3.5-1.2 6.2-2.5 7.3zm0-9.5V3.6c1.3 1.1 2.4 3.8 2.5 7.3h-2.5zm3.2 8.9c.9-1.8 1.4-4.1 1.6-6.7h2.9c-.4 2.9-2.1 5.3-4.5 6.7zM5.9 8.3c.3.2.7.1 1-.1L9 5.9c.2-.3.2-.8-.1-1.1l-2-2c-.3-.3-.7-.3-.9-.1l-.5.3C2.8 5 .9 8.3.9 12s1.9 7 4.6 9l.5.3c.2.2.6.1.9-.1l2-2c.3-.3.3-.8.1-1.1l-2.1-2.3c-.3-.2-.7-.3-1-.1l-.8.6c-.8-1.2-1.2-2.7-1.2-4.3s.4-3 1.2-4.3l.8.6z\"}},\nnew_custom76:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 14c-.1-.2-.5-.5-.8-.4h-.3c-4.2 0-7.5-3.4-7.5-7.5V6c0-.4-.5-.6-.7-.3-.3.4-.5.9-.6 1.3-.7 2.1.2 4.4 2 5.7.8.6 1.7.9 2.5 1l.3.7c.1.1.1.2.2.2l1.1.5c.2.1.3.3.2.5l-.4 1c-.1.2.1.4.2.5l.6.3c.2 0 .3.2.2.4L8.7 19c-.1.2 0 .3.2.4l.8.4c.2.1.3.3.2.5l-.3 1.1c0 .2 0 .4.2.5l2.6 1.1c.2.1.4 0 .5-.2l1.1-2.4c.1-.2.1-.4 0-.6L12 14zm9.9-.3l-6-6.2c.3-.9.3-2-.1-3-.7-2-2.5-3.4-4.7-3.6C7.9.8 5.3 3.5 5.6 6.7c.3 2.3 1.9 4.1 4.1 4.5 1 .2 2 .1 2.8-.2l.5.6c.1.1.2.1.3.1h1.3c.2 0 .4.1.4.3v1.2c0 .2.2.3.4.3h.8c.2 0 .3.2.3.4l.2 1.2c.1.2.2.3.4.3h.9c.2 0 .4.1.4.3l.2 1.2c0 .2.1.3.3.3h2.8c.3 0 .4-.1.4-.4v-2.7c.1-.2 0-.3-.2-.4zM10.1 7.2c-1.1 0-1.9-.8-1.9-1.8s.8-1.9 1.9-1.9 1.9.8 1.9 1.9-.8 1.8-1.9 1.8z\"}},\nnew_custom77:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.3 9h1.4c.3 0 .4-.1.4-.3v-.6c0-2.8 2.1-5 4.7-5s4.7 2.2 4.7 5v.6c0 .2.2.3.4.3h1.4c.3 0 .4-.1.4-.3v-.6c0-4-3-7.2-6.9-7.2S4.9 4.1 4.9 8.1v.6c0 .2.2.3.4.3zm13.8 2.3H4.9c-1.2 0-2.1 1-2.1 2.2v7.4c0 1.2.9 2.2 2.1 2.2h14.2c1.2 0 2.1-1 2.1-2.2v-7.4c0-1.2-.9-2.2-2.1-2.2zm-5.3 5.9c-.4.5-.6 1.1-.4 1.7l.2 1.1c.1.4-.2.9-.6.9h-2.3c-.5 0-.8-.5-.7-.9l.2-1.1c.2-.6 0-1.2-.3-1.7-.3-.4-.5-1-.4-1.6.2-.9.9-1.6 1.8-1.8 1.5-.3 2.8.8 2.8 2.2 0 .4-.2.8-.3 1.2z\"}},\nnew_custom78:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 4.4l-6.6-3.3c-.3-.2-.7-.2-1 0l-6.1 3-6.2-3c-.3-.2-.7-.2-1.1 0-.3.2-.5.6-.5.9v16.6c0 .5.3.9.7 1.1L8.2 23c.3.1.7.1 1 0l6.2-3.1 6.2 3.1c.1.1.3.1.4.1.2 0 .4-.1.6-.2.3-.2.5-.6.5-.9V5.4c0-.5-.3-.8-.7-1zm-1.5 2.1v8.8c0 .5-.5.9-1.1.7-1.7-.7-.3-3.5-1.5-5.1-1.2-1.4-2.7 0-4.1-2.2-1.4-2.2.5-3.8 2.1-4.6.3-.1.5-.1.7 0l3.4 1.8c.3.1.5.3.5.6zm-9.5 12.8c-.2.2-.6.1-.8-.1-.4-.4-.8-1-.8-1.7 0-1.1-1.9-.7-1.9-2.9 0-1.8-2.1-2.3-3.9-2.1-.5 0-.9-.3-.9-.8V5c0-.5.6-.9 1.1-.6l4 2h.1l.1.1c1.7 1 1.3 1.8.6 3-.7 1.3-1.1 0-2.2-.4s-2.2.4-1.8 1.1 1.5 0 2.2.7c.7.8.7 1.9 3 1.1 2.2-.7 2.5-.3 3.3.4.7.8 1.1 2.2 0 3.3-.7.7-.9 2-1.2 3-.1.2-.2.4-.4.5l-.5.1z\"}},\nnew_custom79:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.2 8.9c-1.3 0-2.4 1.1-2.4 2.4s1.1 2.4 2.4 2.4 2.4-1.1 2.4-2.4-1-2.4-2.4-2.4zm13.9 7.5h-6.6v-2.7h.7c.3 0 .6-.3.6-.7v-2c0-.4-.3-.7-.6-.7h-.8c-.6-3.4-3.5-6.1-7.1-6.1C4.2 4.1.9 7.4.9 11.4c.1 4 3.4 7.1 7.5 7.1H21v.7c0 .3.3.6.7.6h.7c.4 0 .7-.3.7-.6v-1.8c0-.5-.5-1-1-1zm-13.9-.7c-2.5 0-4.5-1.9-4.5-4.4s2-4.4 4.5-4.4 4.5 2 4.5 4.4-2 4.4-4.5 4.4z\"}},\nnew_custom8:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.9 1.4L2.2 11c-.5.5-.5 1.4 0 2l8.7 9.6c.6.7 1.6.7 2.2 0l8.7-9.6c.5-.5.5-1.4 0-2l-8.7-9.6c-.6-.6-1.6-.6-2.2 0z\"}},\nnew_custom80:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.5 15.6c-2 0-3.6 1.5-3.6 3.5s1.6 3.5 3.6 3.5S8 21 8 19.1s-1.5-3.5-3.5-3.5zm0 4.9c-.8 0-1.5-.7-1.5-1.4 0-.8.7-1.5 1.5-1.5s1.4.7 1.4 1.5c0 .7-.6 1.4-1.4 1.4zm15-4.9c-2 0-3.5 1.5-3.5 3.5s1.5 3.5 3.5 3.5 3.6-1.6 3.6-3.5-1.6-3.5-3.6-3.5zm0 4.9c-.8 0-1.4-.7-1.4-1.4 0-.8.6-1.5 1.4-1.5s1.5.7 1.5 1.5c0 .7-.7 1.4-1.5 1.4zm-.2-7.1c.8 0 1.5.1 2.3.4.3.1.7 0 .9-.4 1.8-3.4-1.1-5-3-5.9-.5-.3-1 .1-1 .6v2.1c0 .4-.3.8-.7.7-2.7-.4-5-3.1-7.9-3.1s-3.2 2.8-3.2 2.8c-2 0-4-.2-4.9-.4-.5 0-.9.3-.9.7 0 0 0 2.5 3.6 2.5 2.9 0 5.3 2.2 5.7 5.1 0 .7 0 1.5-.3 2.2-.1.2.1.5.4.5h3.3c.3 0 .5-.2.4-.5-.2-.7-.2-1.4-.2-2.1.3-2.8 2.6-5.1 5.5-5.2zM.9 10.9zm9.4-5.5c.1.3.3.6.5.6l3.8 1.3c.4.1.7 0 .9-.3l.3-.6c.2-.3 0-.5-.2-.6-1.2-.1-3.5-.5-2.8-1.7.6-1.1 1.8-.8 2.7-.5.3.2.6-.2.5-.5-.6-1.1-1.8-1.8-3.1-1.7-1.7.2-2.9 1.8-2.7 3.5l.1.5z\"}},\nnew_custom81:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.9.9c-.3 0-1.4.1-1.8.1-5.7.2-12.2 1.7-12.5 1.8-.5.1-.8.6-.8 1v12.1c-.3-.2-.9-.3-1.4-.3-2.5 0-4.5 1.7-4.5 3.7s2 3.7 4.5 3.7 4.4-1.6 4.4-3.7v-7.5c0-.3.2-.6.5-.7 1.8-.4 4.4-.9 9-1.2.5 0 .8.3.8.8v3.8c-.3-.1-.9-.2-1.5-.2-2.4 0-4.4 1.6-4.4 3.7s2 3.6 4.4 3.6 4.5-1.6 4.5-3.6V2c0-.6-.5-1.1-1.2-1.1zm-2.5 5.9c-4.5.3-6.8.7-8.7 1.1-.5.1-.9-.2-.9-.7V6c0-.3.2-.6.6-.7 1.9-.5 4.2-.9 8.9-1.2.5 0 .8.3.8.7V6c0 .5-.3.8-.7.8z\"}},\nnew_custom82:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 9.9h-7.3c-.4 0-.7.3-.7.7v.3c0 .6-.5 1.1-1.1 1.1-.5 0-1-.5-1-1.1v-.3c0-.4-.3-.7-.7-.7H9.8h.1c-2.1.1-3.9 1.3-4.8 3-.4-.2-.8-.2-1.1-.2-1.8 0-3.2 1.4-3.2 3.1s1.5 3.1 3.3 3.1c.3 0 .7 0 1.1-.2.9 1.7 2.7 2.9 4.8 3 3.3.2 6.2-2.5 6.2-5.9 0-.2 0-.4-.1-.6 0-.3.2-.7.6-.8l5.8-1.2c.3-.1.6-.4.6-.7v-1.9c0-.4-.3-.7-.7-.7zM4 16.8c-.6 0-1-.4-1-1s.4-1 1-1c.2 0 .3.1.4.1-.1.4-.1.9-.1 1.3 0 .2.1.4.1.6H4zm9.4-9.3c.6 0 1-.5 1-1V3.3c0-.5-.5-1-1-1-.6 0-1.1.5-1.1 1v3.2c0 .6.5 1 1.1 1zm-5 .3c.2.3.5.4.8.4.2 0 .5-.1.7-.3.4-.3.5-1 .1-1.4L7.9 4.1c-.4-.5-1.1-.5-1.5-.1-.4.4-.5 1-.1 1.4l2.1 2.4zm9.1.4c.3 0 .6-.2.8-.4l2.1-2.4c.4-.4.3-1.1-.1-1.4-.5-.4-1.1-.3-1.5.1l-2 2.4c-.4.5-.4 1.1 0 1.4.2.2.5.3.7.3z\"}},\nnew_custom83:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.1 8c.1.2.4.2.5 0l.5-.5c1.3-1.2 1.3-3.2.1-4.4l-1.6-1.6c-1.3-1-3-.5-4 .5l-.5.5c-.1.1-.1.4 0 .5l5 5zm-6.7-3.5c-.1-.1-.3-.1-.5 0L3.8 14.6c-.6.6-1 1.2-1.2 2l-1.6 5c-.1.3-.1.6.1.9.2.4.6.6.9.6.1 0 .3 0 .4-.1 0 0 3.4-1 5-1.5.8-.3 1.4-.7 2-1.2l10.1-10.1c.1-.2.1-.4 0-.6l-5.1-5.1zM6.7 19.3c-.7.3-1.9.7-3 1l1-3c.1-.5.3-.8.6-1.1l2.5 2.5c-.3.3-.7.5-1.1.6z\"}},\nnew_custom84:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21 17.2H3c-.6 0-1.2.4-1.2 1.1s.5 1.1 1.2 1.1h1.4l.6 3.1c.1.3.4.6.7.6h11.9c.3 0 .6-.3.7-.6l.6-3.1H21c.6 0 1.2-.5 1.2-1.1s-.5-1.1-1.2-1.1zM5.8 15h5.1v-2.1c-.4-.3-.7-.8-.7-1.3 0-.8.6-1.4 1.4-1.4.8 0 1.4.6 1.4 1.4 0 .6-.3 1-.7 1.3V15h5.1c.4 0 .7-.4.7-.8v-1.1c0-2.3-2.1-3-3.8-3.7-1.1-.5-1.3-1-1.3-1.4s.3-.9.7-1.3c.7-.6 1.1-1.4 1.1-2.4 0-1.8-1.2-3.4-3.2-3.4S8.4 2.4 8.4 4.3c0 1 .4 1.8 1.1 2.4.3.4.7.8.7 1.3 0 .4-.2.9-1.3 1.4-1.7.7-3.8 1.5-3.8 3.7v1.1c0 .4.3.8.7.8z\"}},\nnew_custom85:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.3 2.4H3.9v-.7c0-.5-.3-.8-.8-.8H1.7c-.5 0-.8.3-.8.8v20.6c0 .5.3.8.8.8h1.4c.5 0 .8-.3.8-.8V5.4h18.4c.5 0 .8-.4.8-.8V3.1c0-.4-.3-.7-.8-.7zm-1.4 5.2H8.3c-1.2 0-2.2 1-2.2 2.2v8.1c0 1.2 1 2.2 2.2 2.2h12.6c1.2 0 2.2-1 2.2-2.2V9.8c0-1.2-1-2.2-2.2-2.2zm-2.1 6.2h-.9v3.7c0 .3-.1.4-.4.4h-1.4c-.3 0-.4-.1-.4-.4v-2.2c0-.2-.1-.3-.4-.3h-1.5c-.2 0-.3.1-.3.3v2.2c0 .3-.2.4-.4.4h-1.5c-.2 0-.3-.1-.3-.4v-3.7h-1c-.1 0-.2-.2-.1-.3l4.2-4c.1-.1.3-.1.5 0l4.1 4c.1.1 0 .3-.2.3z\"}},\nnew_custom86:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.6 4.6H9c.3 0 .4-.1.4-.4V3.1h5.2v1.1c0 .3.1.4.4.4h1.4c.3 0 .4-.1.4-.4V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.1c0 .3.1.4.4.4zm13.3 2.2H3.1C1.9 6.8.9 7.8.9 9v11.9c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V9c0-1.2-1-2.2-2.2-2.2zM12 20.1c-2.9 0-5.2-2.3-5.2-5.1S9.1 9.8 12 9.8s5.2 2.3 5.2 5.2-2.3 5.1-5.2 5.1zm2.2-6.3h-1.1v-1.1c0-.4-.3-.7-.7-.7h-.8c-.4 0-.7.3-.7.7v1.1H9.8c-.4 0-.8.4-.8.8v.7c0 .4.4.8.8.8h1.1v1.1c0 .4.3.7.7.7h.8c.4 0 .7-.3.7-.7v-1.1h1.1c.4 0 .8-.4.8-.8v-.7c0-.4-.4-.8-.8-.8z\"}},\nnew_custom87:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21 .9H3c-.7 0-1.2.5-1.2 1.1v17.8c0 .6.5 1.1 1.2 1.1h.3V22c0 .6.5 1.1 1.1 1.1h.8c.6 0 1.1-.5 1.1-1.1v-1.1h11.6V22c0 .6.4 1.1 1.1 1.1h.7c.6 0 1.1-.5 1.1-1.1v-1.1h.4c.6 0 1.1-.5 1.1-1.1V2c-.1-.6-.6-1.1-1.3-1.1zM5.1 18.6c-.6 0-1.1-.4-1.1-1.1V4.2c0-.6.5-1.1 1.1-1.1h13.8c.6 0 1.1.5 1.1 1.1v13.3c0 .7-.4 1.1-1.1 1.1H5.1zm12-13.2H6.9c-.4 0-.7.3-.7.7v9.6c0 .4.3.7.7.7h10.2c.4 0 .7-.3.7-.7V6.1c0-.4-.3-.7-.7-.7zM15.4 12h-3c-.4.7-1.3 1.5-2.3 1.5-1.4 0-2.4-1.2-2.4-2.6s1.1-2.6 2.4-2.6c1 0 1.9.7 2.3 1.5h2.9c.6 0 1 .5 1 1.1 0 .5-.4 1.1-.9 1.1z\"}},\nnew_custom88:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 19.4H1.6c-.4 0-.7.3-.7.6v.1c0 1.6 2.1 3 3.7 3h14.8c1.6 0 3.7-1.4 3.7-3V20c0-.3-.3-.6-.7-.6zM2 17.2h6.7c.4 0 .7-.4.7-.9V3.6c0-.1-.3-.2-.3 0l-7.4 13c-.1.2.1.6.3.6zm10.4 0h9.2c.5 0 .8-.4.7-.9C22 13.7 21.6 5.4 12.1 1c-.2-.1-.5 0-.5.3v15c0 .5.4.9.8.9z\"}},\nnew_custom89:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.9 9.6c-.1-.2-.5-.2-.5 0-.5.7-.9 1.6-.9 2.8v4c0 .6-.5 1.1-1.1 1.1-.6 0-1.1-.4-1.1-1.1V3.8C11.3 1 8.8.6 7 1.2c-.5.2-1 .5-1.3.9-.2.3-.4.4-.8.6-.7.1-1.8-.5-2.4-.9-.3-.1-.8 0-1 .2l-.4.7c-.3.3-.2.8.1 1C1.9 4.2 3 4.9 3.9 5c1.3.3 2.5-.2 3.4-1 .3-.2.7-.6 1-.2.7 1.1-2.2 6-2.2 13v.6c0 3 3 5.6 6 5.7 3.2.2 5.8-2.4 5.8-5.5 0-1.6.6-2.6 1.2-3.2.1-.2.1-.4 0-.6l-4.2-4.2zm7.1 3.5c-.3 0-.6-.1-.8-.4l-5.9-5.8c-.5-.5-.5-1.2 0-1.6.4-.5 1.1-.5 1.5 0l6 5.9c.4.5.4 1.2 0 1.6-.3.2-.6.3-.8.3z\"}},\nnew_custom9:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.8 8C21.8 3.6 17.2.9 12.1.9 5.9.9.9 5.9.9 12s5 11.1 11.2 11.1c8.6 0 7.9-4.4 5.2-6.1-1.7-1-2.5-3.3-.9-5 3-3.1 7.8 1.8 6.4-4zM6 15.7c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3 2.3 1 2.3 2.3-1 2.3-2.3 2.3zm.5-8.8c0-1.3 1-2.3 2.3-2.3s2.3 1 2.3 2.3-1 2.3-2.3 2.3-2.3-1-2.3-2.3zm5 13.4c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3 2.3 1 2.3 2.3-1 2.3-2.3 2.3zm4.2-12c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3S18 4.7 18 6s-1 2.3-2.3 2.3z\"}},\nnew_custom90:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.1 3.2l-9 1.3v12.7c0 .2-.1.3-.4.3h-1.4c-.3 0-.4-.1-.4-.3V4.8L2.2 6.1h-.1c-.6 0-1-.4-1.1-.9-.1-.6.3-1.2.8-1.3l6.9-1C9.4 1.8 10.6 1 12 1c1 0 1.9.4 2.5 1l7.3-1c.6-.1 1.2.3 1.2.9.1.6-.2 1.1-.9 1.3zM8.8 16.8c.3-.4.3-.8.2-1.2l-3-7c-.1-.4-.6-.6-1-.6s-.8.2-1 .6l-3 7c-.1.4-.1.7.1 1.1.1.1 1.5 2.3 3.8 2.3 1.4 0 2.7-.8 3.9-2.2zM5 11.9l1.6 3.8H3.4L5 11.9zm15-5.5c-.2-.4-.6-.6-1-.6s-.8.2-1 .6l-3 7c-.1.4 0 .7.1 1 .1.1 1.6 2.4 3.9 2.4 1.4 0 2.6-.8 3.8-2.3.3-.3.4-.7.2-1.1l-3-7zm-1 3.3l1.6 3.8h-3.2L19 9.7zm-7 10.1c-2.1 0-4.2.7-5.6 1.9-.2.2-.3.4-.3.6 0 .5.3.8.7.8h10.4c.4 0 .7-.3.7-.8 0-.2-.1-.4-.3-.6-1.4-1.2-3.5-1.9-5.6-1.9z\"}},\nnew_custom91:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.3 5.6c-1.1-.3-2.1-1.1-2.7-2.1-.5-.8-.5-2.6-1.7-2.6H6.1C4.9.9 4.9 2.7 4.4 3.5 3.6 4.7 2.7 5 1.5 5.7c-1.2.7-.1 3.6.2 4.7C2.8 14.5 5 18.3 8.4 21c1 .8 2 1.4 3.1 2 1 .5 2.7-.9 3.4-1.5 1.9-1.4 3.5-3.1 4.8-5.1 1-1.7 1.9-3.5 2.5-5.4l.6-2.4c.1-.6.4-1.7.2-2.3-.1-.3-.4-.6-.7-.7-1.7-.5.5.1 0 0zm-1.6 2.6c-1 4.9-3.7 9.5-8.1 12.2l-.6.4-.6-.4C6.1 17.2 4.1 12 3.3 8.1l-.1-.7.7-.4C5 6.3 6.1 5 6.7 3.7l.3-.6h10l.2.5c.6 1.3 1.7 2.7 3.1 3.5l.5.2v.1l-.1.8zm-9.1-2.8c-.8 0-2.9 0-3.3.3-.7.7-1.1 1.6-1.8 2.2-.8.6-.5 1.3-.2 2.2.5 1.6 1.2 3.1 2.2 4.4.5.7 1 1.4 1.7 2 .1.2 1.8 1.9 1.8.8V6.1c0-.4 0-.7-.4-.7z\"}},\nnew_custom92:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.8 14.4l-8.4-3.9c-.3-.1-.5-.1-.7 0l-8.5 3.9c-.4.2-.6.7-.3 1.2.9 1.2 1.4 2.8 1.7 3.6.1.2.3.4.6.5 2.9.7 5.3 2.4 6.3 3.1.3.3.7.3 1 0 1-.7 3.4-2.4 6.3-3.1.3-.1.5-.3.6-.5.3-.8.8-2.4 1.7-3.6.3-.4.1-1-.3-1.2zm-11 2c-.7 0-1.1-.6-1.1-1.4 0-.9.4-1.5 1.1-1.5s1.1.6 1.1 1.5c0 .8-.5 1.4-1.1 1.4zm4.4 0c-.6 0-1.1-.6-1.1-1.4 0-.9.5-1.5 1.1-1.5s1.1.6 1.1 1.5c0 .8-.4 1.4-1.1 1.4zm-8-5.8l4.6-2.1c.5-.3 1.1-.3 1.7-.2.3 0 .5.1.8.2l4.5 2.1c.2.1.5-.1.5-.3V8.6c0-.2-.1-.3-.3-.5-.2-.3-.8-.9-1.9-.9V5.1c0-.3-.2-.5-.4-.7-.4-.2-1.1-.5-2.2-.7v-2c0-.5-.3-.8-.8-.8h-1.4c-.5 0-.8.3-.8.8v1.9c-1.1.2-1.8.6-2.2.8-.2.1-.4.4-.4.6v2.2c-1.1 0-1.7.6-1.9.8-.2.2-.3.4-.3.5v1.7c0 .3.3.5.5.4z\"}},\nnew_custom93:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9.3 12h11c.3 0 .7-.2.7-.6l2-6.8c.2-.5-.2-1-.7-1h-17l-.3-1c-.2-.4-.6-.8-1.1-.8H2.1c-.6 0-1.1.5-1.2 1.1C.9 3.5 1.4 4 2 4h1.1l3.5 11.6c.1.4.6.7 1.1.7h13c.6 0 1.1-.4 1.2-1 0-.6-.5-1.1-1.1-1.1H9.3c-.5 0-.9-.4-1-.8-.3-.7.3-1.4 1-1.4z\"},\"ellipse\":[{\"cx\":\"9.508\",\"cy\":\"20.354\",\"rx\":\"1.846\",\"ry\":\"1.8\"},{\"cx\":\"18.508\",\"cy\":\"20.354\",\"rx\":\"1.846\",\"ry\":\"1.8\"}]}},\nnew_custom94:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.2 7.6V2c0-.6-.4-1.1-1.1-1.1h-1.5c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h.4v4.5C12 10 10 12 7.6 12s-4.5-2-4.5-4.4V3.1h.4c.7 0 1.1-.4 1.1-1.1S4.2.9 3.5.9H2C1.4.9.9 1.4.9 2v5.6c0 3.6 3 6.6 6.7 6.6s6.6-3 6.6-6.6zm8.9 4.4c0-1.8-1.5-3.3-3.3-3.3s-3.4 1.5-3.4 3.3c0 1.4 1 2.7 2.2 3.1v.9c0 2.6-2.2 4.9-4.8 4.9h-.1c-2.3 0-4.3-1.7-4.8-3.9-.1-.3-.4-.6-.8-.6h-.7c-.5 0-.8.5-.8.9.6 3.3 3.6 5.8 7 5.8h.1c3.9 0 7.1-3.3 7.1-7.1v-.9c1.4-.4 2.3-1.7 2.3-3.1zm-3.3 1.1c-.7 0-1.2-.5-1.2-1.1s.5-1.1 1.2-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1z\"}},\nnew_custom95:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.1 4.7V3.1h.4c.6 0 1.1-.4 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-3c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h.4v1.6c-4.6.6-8.1 4.4-8.1 9.1 0 5.1 4.1 9.3 9.2 9.3s9.2-4.2 9.2-9.3c0-4.7-3.5-8.5-8.1-9.1zM12 20.9c-3.9 0-7-3.2-7-7.1s3.1-7 7-7 7 3.2 7 7-3.1 7.1-7 7.1zm2.4-10.8l-1.7 1.7c-.2-.1-.4-.2-.7-.2-1.2 0-2.2 1-2.2 2.2s1 2.3 2.2 2.3 2.2-1.1 2.2-2.3c0-.2 0-.5-.1-.7l1.7-1.7c.4-.4.4-1 0-1.3-.4-.4-1-.4-1.4 0z\"}},\nnew_custom96:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.8 4.2l-1.9-1.5c-.3-.2-.5-.3-.9-.3h-6.5v-.7c0-.5-.3-.8-.8-.8h-1.4c-.5 0-.8.3-.8.8v.7H3.1c-.4 0-.7.3-.7.7v3c0 .4.3.7.7.7H20c.4 0 .7-.1.9-.2l1.9-1.5c.4-.3.4-.7 0-.9zm-1.9 6.3h-7.4V9.4c0-.2-.2-.4-.4-.4h-2.2c-.2 0-.4.2-.4.4v1.1H4c-.4 0-.7.1-.9.3l-1.9 1.4c-.4.3-.4.7 0 1l1.9 1.4c.3.2.5.3.9.3h16.9c.4 0 .7-.3.7-.7v-3c0-.4-.3-.7-.7-.7zM13.5 20v-2.5c0-.2-.2-.3-.4-.3h-2.2c-.2 0-.4.1-.4.3V20c-1.5.4-2.3 1.3-2.5 2.4-.1.3.2.7.5.7h7c.4 0 .7-.3.6-.7-.3-1.1-1.1-2-2.6-2.4z\"}},\nnew_custom97:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.8 13.5V4.8c0-2.2-1.7-3.9-3.8-3.9-2.2 0-3.8 1.7-3.8 3.9v8.7c-1.1 1.1-1.7 2.5-1.7 4 0 3.1 2.5 5.6 5.5 5.6s5.5-2.5 5.5-5.6c0-1.5-.6-2.9-1.7-4zm-.9 4H9.1c-.3 0-.6-.3-.5-.6.1-.8.6-1.6 1.2-2.1.3-.2.4-.5.4-.8V4.8C10.2 3.7 11 3 12 3s1.7.8 1.7 1.8v.3h-1c-.6 0-1 .4-1 1s.4 1 1 1h1v1.4h-1c-.6 0-1 .5-1 1s.4 1 1 1h1v1.4h-1c-.6 0-1 .5-1 1s.4 1 1 1h1c.1.4.2.6.4.8.7.5 1.1 1.3 1.3 2.1.1.4-.2.7-.5.7z\"}},\nnew_custom98:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M22.9 10.2l-2.7-2.7c-.2-.2-.4-.3-.5-.3h-2.8c-.4 0-.7.4-.7.7v5.6c0 .3.2.4.5.3.5-.2 1-.3 1.6-.3 1.5 0 2.9.9 3.6 2.2.1.2.4.2.5.1.4-.4.7-.9.7-1.6v-3.5c0-.2-.1-.4-.2-.5z\"},{\"d\":\"M13.4 4.2H1.6c-.4 0-.7.3-.7.6v9.5c0 .6.3 1.2.7 1.5.2.2.4.1.5-.1.7-1.3 2.1-2.1 3.7-2.1 1.7 0 3.2 1 3.8 2.6 0 .1.2.2.3.2H12c1.2 0 2.1-.9 2.1-2.1V4.8c0-.3-.3-.6-.7-.6z\"}],\"ellipse\":[{\"cx\":\"18.231\",\"cy\":\"17.769\",\"rx\":\"2.077\",\"ry\":\"2.077\"},{\"cx\":\"5.769\",\"cy\":\"17.769\",\"rx\":\"2.077\",\"ry\":\"2.077\"}]}},\nnew_custom99:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.9 7.7h-6.2c-.2-.5-.5-.8-.8-1.1l2.3-3c.4-.5.3-1.2-.2-1.5-.4-.4-1.2-.3-1.6.2l-2.5 3.2h-1.2L8.1 2.3c-.4-.5-1.1-.6-1.6-.2s-.5 1-.1 1.5l2.3 3c-.3.3-.6.6-.8 1.1H3.1C1.9 7.7.9 8.6.9 9.8V20c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V9.8c0-1.2-1-2.1-2.2-2.1zm-3 11.5c0 .5-.3.8-.7.8H3.9c-.4 0-.8-.3-.8-.8v-8.6c0-.4.4-.8.8-.8h13.3c.4 0 .7.4.7.8v8.6zm2.6-3.6c-.7 0-1.1-.4-1.1-1.1s.4-1.1 1.1-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1zm0-3.6c-.7 0-1.1-.5-1.1-1.1 0-.6.4-1.1 1.1-1.1s1.1.5 1.1 1.1c0 .6-.5 1.1-1.1 1.1z\"}},\nnew_event:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.5 9.2h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zM8.8 19.4c0 .3-.2.4-.5.4H6.5c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4H6.5c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm4.6 4.6c0 .3-.2.4-.5.4h-1.8c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4h-1.8c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm4.6 4.6c0 .3-.2.4-.5.4h-1.8c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4h-1.8c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm2.3-11.6H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9z\"}},\nnew_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.3 12.9c-.7-.9-1-2.1-1-3.3 0-2.1.9-3.9 2.3-4.9-.5-.9-1.4-1.5-2.6-1.5-2 0-3.2 1.7-3.2 3.6 0 1 .3 1.9 1 2.5.4.3.7.8.7 1.3 0 .4-.2.9-1.3 1.4-1.7.7-3.2 1.8-3.2 3.3 0 1 .6 1.8 1.6 1.8h1.5c.3 0 .5-.2.6-.4.8-1.3 2.2-2.2 3.3-2.8.4-.1.5-.7.3-1zm13.5-.9c-1.2-.5-1.4-.9-1.4-1.4s.4-1 .7-1.3c.7-.7 1-1.5 1-2.5 0-1.9-1.1-3.6-3.1-3.6-1.2 0-2.2.6-2.7 1.5 1.4 1 2.3 2.8 2.3 4.9 0 1.2-.3 2.4-1 3.3-.2.4-.1.9.3 1 1.1.6 2.5 1.5 3.3 2.8.1.2.3.4.6.4h1.5c1 0 1.6-.8 1.6-1.8.1-1.5-1.5-2.6-3.1-3.3zM15 15.4c-1.2-.6-1.4-1.1-1.4-1.6 0-.6.3-1.1.8-1.4.7-.7 1.1-1.7 1.1-2.8 0-2.1-1.2-3.9-3.5-3.9S8.5 7.5 8.5 9.6c0 1.1.4 2.1 1.1 2.8.5.4.8.9.8 1.4 0 .6-.2 1-1.4 1.6-1.9.8-3.6 1.6-3.7 3.3 0 1.1.8 2 1.9 2h9.6c1.1 0 1.9-.9 1.9-2-.1-1.7-1.8-2.5-3.7-3.3z\"}},\nnew_lead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"12\",\"cy\":\"4.246\",\"r\":\"3.323\"},\"path\":{\"d\":\"M22.3 9.8H1.7c-.8 0-1.1.9-.5 1.3l5.4 3.5c.3.2.5.5.3.8l-2 6.8c-.2.7.8 1.2 1.3.6l5.3-5.5c.3-.3.8-.3 1.1 0l5.3 5.5c.5.6 1.4.1 1.3-.6l-2.1-6.8c-.1-.3 0-.7.3-.9l5.4-3.4c.6-.4.3-1.3-.5-1.3z\"}},\nnew_note:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 18.3l-.4.4c-.5.5-1.1.7-1.7.7h-1.2c-1.1 0-2.3-.8-2.3-2.4v-1.1c0-.9.4-1.5.6-1.8l5-5.1c.1-.1.3-.5.3-.6V4.5c0-1.2-1-2.2-2.2-2.2H5.4c-1.2 0-2.3 1.1-2.3 2.2h-.7C1.6 4.5.9 5.2.9 6s.7 1.5 1.5 1.5h.7v3h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h.7v3h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.4 1.5 1.4h.7c0 1.5 1.1 2.2 2.3 2.2h11.8c1.2 0 2.2-1 2.2-2.2v-.9c0-.3-.1-.3-.3-.2zM15.3 7.9c0 .4-.3.7-.7.7H7.2c-.4 0-.7-.3-.7-.7v-.7c0-.5.3-.8.7-.8h7.4c.4 0 .7.3.7.8v.7zM12 16.8c0 .5-.3.8-.7.8H7.2c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h4.1c.4 0 .7.3.7.7v.7zm1.1-4.4c0 .4-.3.7-.7.7H7.2c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h5.2c.4 0 .7.3.7.7v.8zm9.7-2.1l-.4-.4c-.3-.3-.8-.3-1 0l-5.7 5.8V17c0 .1 0 .2.1.2h1.3l5.7-5.8c.4-.3.4-.7 0-1.1z\"}},\nnew_notebook:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.3.9H6.5c-1.1 0-1.9.9-1.9 1.9v1.4H3.2c-.8 0-1.4.6-1.4 1.3s.6 1.4 1.4 1.4h1.4v3.7H3.2c-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4h1.4v3.7H3.2c-.8 0-1.4.6-1.4 1.4s.6 1.3 1.4 1.3h1.4v1.4c0 1 .8 1.9 1.9 1.9h13.8c1 0 1.9-.9 1.9-1.9V2.8c0-1-.9-1.9-1.9-1.9zm-3.2 15.7c0 .3-.2.5-.5.5h-6.4c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9zm.9-3.7c0 .3-.2.5-.5.5H9.2c-.2 0-.4-.2-.4-.5V12c0-.3.2-.5.4-.5h8.3c.3 0 .5.2.5.5v.9zm.9-4.6c0 .3-.2.5-.4.5H8.3c-.3 0-.5-.2-.5-.5V5.5c0-.2.2-.4.5-.4h10.2c.2 0 .4.2.4.4v2.8z\"}},\nnew_opportunity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.3 18.9H4.7c-.4 0-.6.3-.6.7 0 1.2.9 2.1 2 2.1h11.8c1.2 0 2.1-.9 2.1-2.1-.1-.4-.3-.7-.7-.7zM21 4.7c-1.2 0-2.1.9-2.1 2.1 0 .6.3 1.2.8 1.6-.6 1.3-2 2.2-3.5 2.2-1.9-.1-3.4-1.6-3.5-3.4 0-.4 0-.6.1-.9.8-.3 1.3-1 1.3-2 0-1.1-.9-2-2.1-2s-2.1.9-2.1 2.1c0 .9.6 1.6 1.3 1.9.1.3.1.6.1.9-.1 1.8-1.6 3.3-3.4 3.4-1.6.1-3-.9-3.6-2.2.5-.4.8-1 .8-1.6 0-1.1-.9-2-2.1-2s-2.1.9-2.1 2S1.8 8.9 3 8.9l1 7.4c0 .3.3.5.6.5h14.8c.3 0 .6-.2.6-.5l1-7.4c1.2 0 2.1-.9 2.1-2.1s-.9-2.1-2.1-2.1z\"}},\nnew_person_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M19.2 15.3c-1.3-.5-1.5-1-1.5-1.6 0-.5.3-1.1.8-1.5.8-.7 1.2-1.7 1.2-2.8 0-2.2-1.4-4-3.8-4s-3.8 1.8-3.8 4c0 1.2.5 2.1 1.2 2.8.5.4.9 1 .9 1.5 0 .6-.3 1.1-1.6 1.6-2 .9-3.8 1.9-3.9 3.6 0 1.2.9 2.3 2 2.3H21c1.2 0 2-1.1 2-2.3.1-1.7-1.8-2.7-3.8-3.6zM10.4 17\"},{\"d\":\"M10.8 12.5c-.1-.2-.9-1.1-.8-3.6 0-2.4 1.1-3 1.1-3V3.5c0-.5-.4-.7-.7-.7H1.6s-.7.3-.7.7v16.1h5c.1-4.1 4.9-5.8 4.9-5.8.6-.3.1-1.1 0-1.3zm-5.9 5.1c0 .4-.3.7-.7.7h-.8c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h.8c.4 0 .7.3.7.7v.8zm0-3.7c0 .5-.3.8-.7.8h-.8c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h.8c.4 0 .7.3.7.7v.7zm0-3.7c0 .5-.3.8-.7.8h-.8c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h.8c.4 0 .7.3.7.7v.7zm0-3.6c0 .4-.3.7-.7.7h-.8c-.4 0-.7-.3-.7-.7v-.7c0-.5.3-.8.7-.8h.8c.4 0 .7.3.7.8v.7zM9 13.9c0 .5-.3.8-.7.8h-.7c-.4 0-.8-.3-.8-.8v-.7c0-.4.4-.7.8-.7h.7c.4 0 .7.3.7.7v.7zm0-3.7c0 .5-.3.8-.7.8h-.7c-.4 0-.8-.3-.8-.8v-.7c0-.4.4-.7.8-.7h.7c.4 0 .7.3.7.7v.7zm0-3.6c0 .4-.3.7-.7.7h-.7c-.4 0-.8-.3-.8-.7v-.7c0-.5.4-.8.8-.8h.7c.4 0 .7.3.7.8v.7z\"}]},\nnew_task:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.1 3.2l-.8-.8c-.2-.2-.6-.2-.8 0L4.6 7.3l-2-1.9c-.2-.3-.5-.3-.8 0l-.7.7c-.3.3-.3.6 0 .8l2.7 2.7c.2.3.5.4.8.4.2 0 .5-.1.8-.4L11.1 4c.2-.2.2-.5 0-.8zm11.2 5.3h-9.6c-.4 0-.7-.3-.7-.7V6.3c0-.4.3-.8.7-.8h9.6c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zm0 6.6H10.5c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h11.8c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zM6 15.1H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8H6c.4 0 .7.4.7.8v1.5c.1.4-.3.7-.7.7zm0 6.6H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8H6c.4 0 .7.4.7.8V21c.1.4-.3.7-.7.7zm16.3 0H10.5c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h11.8c.5 0 .8.4.8.8V21c0 .4-.3.7-.8.7z\"}},\npassword_unlock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.6 8.4v.1-.1zm14.8 2.2h-12V8.4c0-2.4 1.8-4.6 4.3-4.7 2.2-.1 4.1 1.3 4.7 3.3.1.2.3.4.5.4h1.9c.3 0 .5-.3.4-.6-.7-3.5-3.8-6.1-7.6-5.9-3.9.2-6.9 3.6-7 7.5v2.2c-1 0-1.8.8-1.8 1.9v8.7c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9v-8.7c0-1.1-.8-1.9-1.8-1.9zm-5.3 9.1c.1.3-.1.6-.4.6h-3.4c-.3 0-.6-.3-.5-.6l.9-2.8c-.7-.4-1.1-1.3-1-2.2.2-.9.9-1.5 1.8-1.7 1.5-.3 2.8.8 2.8 2.1 0 .8-.4 1.5-1 1.8l.8 2.8z\"}},\npreview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.9 11.6C21.7 7.2 17.2 4.2 12 4.2S2.3 7.2.1 11.6c-.1.3-.1.6 0 .8 2.2 4.4 6.7 7.4 11.9 7.4s9.7-3 11.9-7.4c.1-.3.1-.5 0-.8zM12 17.1c-2.8 0-5.1-2.3-5.1-5.1S9.2 6.9 12 6.9s5.1 2.3 5.1 5.1-2.3 5.1-5.1 5.1zm0-8.3c-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\"}},\npriority:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.2 1.6c0-.4-.4-.7-.7-.7H2.1c-.4 0-.7.3-.7.7v20.8c0 .4.3.7.7.7h1.4c.3 0 .7-.3.7-.7V1.6zm17.7 2c-7.4 3.8-6.5-4.1-15.4-1-.3.1-.5.4-.5.6V14c0 .3.3.5.6.4 8.9-3 7.9 5.2 15.6.8.3-.1.4-.3.4-.6V3.9c0-.3-.4-.5-.7-.3z\"}},\nquestion_post_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.1 17.5h-2.3c-.4 0-.6-.2-.6-.6v-.7c0-1.9 1.2-3.7 3-4.3.6-.2 1.1-.5 1.5-1 2.3-2.8.2-6.1-2.6-6.2-1 0-1.9.3-2.7 1-.6.6-1 1.3-1 2.1-.1.2-.4.5-.7.5H5.4c-.5 0-.8-.4-.7-.8.1-1.7.9-3.3 2.2-4.5C8.4 1.6 10.2.8 12.3.9c3.8.1 6.9 3.3 7.1 7.1.1 3.2-1.9 6.1-4.9 7.2-.4.2-.7.5-.7 1v.6c0 .5-.3.7-.7.7zm.7 4.9c0 .4-.3.7-.6.7h-2.4c-.3 0-.6-.3-.6-.7v-2.3c0-.4.3-.7.6-.7h2.4c.3 0 .6.3.6.7v2.3z\"}},\nquote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.2 10.6H7.8c-.2 0-.4.2-.4.5v1.4c0 .2.2.4.4.4h8.4c.2 0 .4-.2.4-.4v-1.4c0-.3-.2-.5-.4-.5zm-1 4.2H8.8c-.3 0-.5.2-.5.4v1.4c0 .3.2.5.5.5h6.4c.3 0 .5-.2.5-.5v-1.4c0-.2-.2-.4-.5-.4zm5.9-9.1l-4.4-4.3c-.4-.3-.8-.5-1.3-.5H8.6c-.5 0-.9.2-1.3.5L2.9 5.7c-.4.3-.6.8-.6 1.3v14.2c0 1 .8 1.9 1.9 1.9h15.6c1.1 0 1.9-.9 1.9-1.9V7c0-.5-.2-1-.6-1.3zM12 2.3c1 0 1.8.8 1.8 1.9S13 6 12 6s-1.8-.8-1.8-1.8.8-1.9 1.8-1.9zm6.9 17.3c0 .4-.3.7-.7.7H5.8c-.4 0-.7-.3-.7-.7V8.1c0-.4.3-.7.7-.7h12.4c.4 0 .7.3.7.7v11.5z\"}},\nrecall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.4 10.4c-.2-.2-.1-.7.2-.8h4.2c3.1 0 5.6 2.6 5.3 5.8-.3 2.7-2.7 4.8-5.5 4.8h-1.5c-.4 0-.8.3-.8.7v1.4c0 .4.4.8.8.8h1.6c4.5 0 8.1-3.6 8.2-8.1.1-4.5-3.8-8.3-8.3-8.3H8.7s-1.2 0-.4-.8L11 3.2c.3-.3.3-.8 0-1l-1-1c-.3-.3-.8-.3-1 0L2.5 7.7c-.3.2-.3.7 0 1L9 15.2c.3.3.7.3 1 0l1-1c.3-.3.3-.8 0-1l-2.6-2.8z\"}},\nrecord:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 5.4h8c.4 0 .8-.4.8-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.5c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12-2.6h-.8c-.2 0-.3.1-.3.3v1.5c0 1.6-1.3 3-2.9 3H8c-1.6 0-2.9-1.4-2.9-3V3.1c0-.2-.1-.3-.3-.3H4c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zM8 18.6c0 .5-.3.8-.7.8h-.7c-.5 0-.8-.3-.8-.8v-.7c0-.4.3-.7.8-.7h.7c.4 0 .7.3.7.7v.7zM8 15c0 .4-.3.7-.7.7h-.7c-.5 0-.8-.3-.8-.7v-.8c0-.4.3-.7.8-.7h.7c.4 0 .7.3.7.7v.8zm0-3.7c0 .4-.3.7-.7.7h-.7c-.5 0-.8-.3-.8-.7v-.8c0-.4.3-.7.8-.7h.7c.4 0 .7.3.7.7v.8zm10.2 7.3c0 .5-.3.8-.8.8h-7.2c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h7.2c.5 0 .8.3.8.7v.7zm0-3.6c0 .4-.3.7-.8.7h-7.2c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h7.2c.5 0 .8.3.8.7v.8zm0-3.7c0 .4-.3.7-.8.7h-7.2c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h7.2c.5 0 .8.3.8.7v.8z\"}},\nrefresh:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.5 1.8h-1.4c-.4 0-.7.4-.7.7v3.3c0 .4-.2.6-.6.3-.1-.2-.2-.3-.4-.5-2.3-2.3-5.6-3.2-8.9-2.6-1.1.2-2.3.7-3.2 1.3-2.8 1.9-4.5 4.9-4.5 8.1 0 2.5.9 5 2.7 6.8 1.8 1.9 4.3 3 7 3 2.3 0 4.6-.8 6.3-2.3.3-.3.3-.7.1-1l-1-1c-.2-.2-.7-.3-.9 0-1.7 1.3-4 1.9-6.2 1.3-.6-.1-1.2-.4-1.8-.7-2.6-1.6-3.8-4.7-3.1-7.7.1-.6.4-1.2.7-1.8 1.3-2.2 3.6-3.5 6-3.5 1.8 0 3.6.8 4.9 2.1.2.2.4.4.5.6.2.4-.2.6-.6.6h-3.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.6.7.6h8.4c.3 0 .6-.2.6-.6V2.5c0-.3-.4-.7-.7-.7z\"}},\nreject:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.6 11.9l6-6c.3-.3.3-.7 0-1l-.9-1c-.3-.3-.7-.3-1 0L12.6 10c-.1.2-.4.2-.6 0L6 3.9c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l6.1 6.1c.1.1.1.4 0 .6L4 18.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.1-6c.2-.2.5-.2.6 0l6.1 6c.3.3.7.3 1 0l.9-.9c.3-.3.3-.7 0-1l-6-6c-.2-.2-.2-.5 0-.7z\"}},\nremove:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.6 11.9l6-6c.3-.3.3-.7 0-1l-.9-1c-.3-.3-.7-.3-1 0L12.6 10c-.1.2-.4.2-.6 0L6 3.9c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l6.1 6.1c.1.1.1.4 0 .6L4 18.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.1-6c.2-.2.5-.2.6 0l6.1 6c.3.3.7.3 1 0l.9-.9c.3-.3.3-.7 0-1l-6-6c-.2-.2-.2-.5 0-.7z\"}},\nremove_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zm-11.5 7c-.3 0-.5-.3-.5-.5v-.9c0-.3.2-.5.5-.5h7.4c.2 0 .4.2.4.5v.9c0 .2-.2.5-.4.5H5.1zm14.7 3.2h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2z\"}},\nreset_password:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.5 1.8h-1.4c-.4 0-.7.4-.7.7v3.3c0 .4-.2.6-.6.3-.1-.2-.2-.3-.4-.5-2.3-2.3-5.6-3.2-8.9-2.6-1.1.2-2.3.7-3.2 1.3-2.8 1.9-4.5 4.9-4.5 8.1 0 2.5.9 5 2.7 6.8 1.8 1.9 4.3 3 7 3 2.3 0 4.6-.8 6.3-2.3.3-.3.3-.7.1-1l-1-1c-.2-.2-.7-.3-.9 0-1.7 1.3-4 1.9-6.2 1.3-.6-.1-1.2-.4-1.8-.7-2.6-1.6-3.8-4.7-3.1-7.7.1-.6.4-1.2.7-1.8 1.3-2.2 3.6-3.5 6-3.5 1.8 0 3.6.8 4.9 2.1.2.2.4.4.5.6.2.4-.2.6-.6.6h-3.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.6.7.6h8.4c.3 0 .6-.2.6-.6V2.5c0-.3-.4-.7-.7-.7z\"}},\nscript:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.3 3.1c-4.1 0-7.2 3.2-7.2 7.3v9.7c0 .4.3.7.7.7h7.7c.4 0 .7-.3.7-.7v-7.6c0-.4-.3-.7-.7-.7h-5.7v-1.4c0-2.2 2.2-4.5 4.5-4.5h1.2c.3 0 .7-.3.7-.7V3.8c0-.3-.4-.7-.7-.7h-1.2zM9 3.1c-4 0-7.2 3.2-7.2 7.3v9.8c0 .3.4.7.7.7h7.7c.4 0 .7-.4.7-.7v-7.7c0-.4-.3-.7-.7-.7H4.6v-1.4c0-2.2 2.2-4.5 4.4-4.5h1.2c.4 0 .7-.3.7-.7V3.8c0-.3-.3-.7-.7-.7H9z\"}},\nshare:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 13.8H21c-.4 0-.7.4-.7.7v5.1c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V9.9c0-.3.3-.7.7-.7h1.8c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9v-6.7c0-.3-.3-.7-.7-.7zm-6.7-7.3c-4.6 0-8.8 4.1-9.2 8.9 0 .4.3.8.7.8h1.4c.4 0 .6-.3.7-.6.3-3.5 3.3-6.4 6.9-6.4h.7c.4 0 .6.5.3.8l-2.5 2.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.3-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-1 0l-1 1c-.3.3-.3.7 0 .9l2.6 2.6c.2.3.1.8-.4.8l-1.2.1z\"}},\nshare_file:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.9 7.4h3.6c.2 0 .3-.2.2-.4l-3.8-3.9c-.2-.1-.4 0-.4.2v3.6c0 .3.1.5.4.5zm3.7 1.8h-5.1c-.5 0-.9-.4-.9-.9V3.2c0-.2-.2-.4-.4-.4H9.9c-.3 0-.7.3-.7.7v1.8c0 .2.1.4.2.5L12 8.4c.4.4.6.9.7 1.4.1.8-.1 1.5-.6 2l-.7.7c-.3.2-.5.3-.8.5.3.1.7.2 1.1.2 1.2.1 2.1 1.2 2.1 2.4v1c0 .7-.3 1.3-.7 1.7-.5.5-1.2.7-1.8.6-.5 0-1-.1-1.5-.2-.3-.1-.6.1-.6.5v1.4c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7V9.7c0-.3-.2-.5-.5-.5zM12 16.6v-1c0-.3-.2-.5-.5-.6-2.5-.2-4.6-2.3-4.6-4.9v-.6c0-.3.4-.5.6-.2l1.8 1.8c.2.2.5.2.7 0l.7-.7c.2-.2.2-.5 0-.7L6.2 5.3c-.2-.2-.5-.2-.7 0L1.1 9.7c-.2.2-.2.5 0 .7l.7.7c.1.2.5.3.6.1l2-1.9c.2-.2.6 0 .6.3v.8c0 3.4 2.9 6.4 6.4 6.7.4 0 .6-.3.6-.5z\"}},\nshare_link:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.6 19.2l-1-.1s-.7-.1-1-.3c-.2 0-.4 0-.5.2l-.3.2c-1.3 1.3-3.5 1.5-4.9.3-1.5-1.4-1.6-3.8-.1-5.2l3.5-3.5c.4-.5 1-.7 1.5-.9.8-.2 1.6-.2 2.2.1.5.2.9.4 1.2.8.2.2.4.4.5.6.2.3.6.4.8.1l1.3-1.3c.2-.2.2-.5.1-.7-.2-.3-.4-.5-.7-.7-.3-.4-.7-.7-1.1-.9-.6-.4-1.4-.7-2.1-.8-1.5-.3-3-.1-4.3.6-.5.3-1.1.7-1.5 1.1l-3.3 3.3C.4 14.6.2 18.6 2.6 21c2.4 2.7 6.6 2.8 9.1.2l1.2-1.1c.3-.3.1-.8-.3-.9zM21 2.7C18.5.3 14.5.5 12.1 3l-1 1c-.3.3-.1.8.3.9.6 0 1.3.2 1.9.4.2 0 .5 0 .6-.2l.2-.2c1.4-1.3 3.5-1.5 4.9-.3 1.6 1.4 1.6 3.8.2 5.2l-3.5 3.5c-.5.5-1 .7-1.6.9-.7.2-1.5.2-2.2-.1-.4-.2-.8-.4-1.2-.8-.2-.2-.3-.4-.5-.6-.1-.3-.6-.4-.8-.1l-1.3 1.3c-.2.2-.2.5 0 .7.2.3.4.5.6.7.3.3.8.7 1.1.9.7.4 1.4.7 2.2.8 1.4.3 3 .1 4.2-.6.6-.3 1.1-.7 1.5-1.1l3.5-3.5c2.6-2.5 2.5-6.7-.2-9.1z\"}},\nshare_poll:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.6.9H2.4C1.6.9.9 1.6.9 2.4v3c0 .8.7 1.4 1.5 1.4h19.2c.8 0 1.5-.6 1.5-1.4v-3c0-.8-.7-1.5-1.5-1.5zm-9.2 4.5v-3h9.2v3h-9.2zM21.6 9H2.4c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h19.2c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM9 13.5v-3h12.6v3H9zm12.6 3.7H2.4c-.8 0-1.5.6-1.5 1.4v3c0 .8.7 1.5 1.5 1.5h19.2c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.4-1.5-1.4zm-5.9 4.4v-3h5.9v3h-5.9z\"}},\nshare_post:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 1.8C5.9 1.8.9 6.4.9 12c0 1.8.5 3.5 1.4 5 .1.2.1.4.1.6l-1 3.2c-.2.6.4 1.1 1 .9l3.2-1.1c.2-.1.4-.1.6.1 1.7.9 3.7 1.5 5.8 1.5 6.2 0 11.1-4.5 11.1-10.2C23 6.4 18 1.8 12 1.8z\"}},\nshare_thanks:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.9 6.5h-3.3c1-1.5.9-3.4-.2-4.6-.7-.6-1.5-1-2.4-1-1 0-1.9.5-2.6 1.2-.2.2-.3.3-.4.5-.1-.2-.2-.3-.4-.5C10.9 1.3 10 .9 9 .9c-.9 0-1.7.4-2.3 1C5.5 3.1 5.5 5 6.4 6.5H3.2C1.9 6.5.9 7.5.9 8.7v1.5c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7V8.7c0-1.2-1-2.2-2.2-2.2zm-10 0c-.8 0-1.9-.3-2.5-1-.6-.6-.6-1.6-.1-2 .2-.3.5-.3.7-.3.4 0 .7.2 1 .4.7.7.9 1.9.9 2.7v.2zm4.7-1c-.6.6-1.8 1-2.5 1v-.3c0-.7.3-1.9.9-2.6.3-.3.6-.5 1-.5.2 0 .5.1.7.3.5.6.5 1.5-.1 2.1zm5.3 7.6h-7.8v10h6.4c1.2 0 2.1-1 2.1-2.1v-7.2c0-.4-.3-.7-.7-.7zm-18.5.7v7.1c0 1.2 1 2.2 2.2 2.2h6.3v-10H3.1c-.4 0-.7.3-.7.7z\"}},\nsort:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.7 7.4c.3-.3.3-.7 0-1L7.4 1.1c-.2-.3-.7-.3-.9 0L1.2 6.4c-.3.3-.3.7 0 1l.9 1c.3.2.7.2 1 0l1.7-1.7c.2-.3.7-.1.7.3v9.8c0 .4.4.7.7.7h1.4c.4 0 .7-.4.7-.7V7c0-.4.5-.6.8-.3l1.7 1.7c.2.2.6.2.9 0l1-1zm10.1 9.2l-.9-.9c-.3-.3-.7-.3-1 0l-1.7 1.7c-.2.2-.7 0-.7-.4V7.2c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.7c0 .5-.5.6-.8.4l-1.7-1.7c-.2-.3-.6-.3-.9 0l-1 1c-.3.3-.3.7 0 1l5.3 5.3c.3.3.7.3 1 0l5.3-5.3c.2-.3.2-.8-.1-1z\"}},\nsubmit_for_approval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.9 13.5h-4.1c-1.2 0-2.2-1-2.2-2.2.2-3.3 1.7-3.5 1.8-5.6.2-2.2-1.2-4.2-3.4-4.7-2.8-.6-5.4 1.6-5.4 4.4 0 2.4 1.6 2.4 1.8 5.9 0 1.2-1 2.2-2.2 2.2H3.1c-1.2 0-2.2.9-2.2 2.2v1.5c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7v-1.5c0-1.3-1-2.2-2.2-2.2zm0 6.6H3.1c-.4 0-.7.3-.7.7v.1c0 1.2 1 2.2 2.2 2.2h14.8c1.2 0 2.2-1 2.2-2.2v-.1c0-.4-.3-.7-.7-.7z\"}},\nupdate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm4.2 7.2c0 .3-.4.7-.7.7h-4.4c-.3 0-.5.2-.5.4v1c0 .2.2.4.5.4h1.8c1.8 0 3.3 1.4 3.3 3.2v1c0 1.8-1.5 3.2-3.3 3.2h.5v.9c0 .5-.4.9-.9.9s-1-.4-1-.9V18h-3c-.3 0-.7-.3-.7-.7v-1.4c0-.3.4-.7.7-.7h4.4c.3 0 .5-.2.5-.4v-1c0-.2-.2-.4-.5-.4h-1.8c-1.8 0-3.3-1.4-3.3-3.2v-1C7.8 7.4 9.3 6 11.1 6h.4v-.9c0-.5.5-.9 1-.9s.9.4.9.9V6h2.1c.3 0 .7.3.7.7v1.4z\"}},\nupdate_status:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.8 14.1l.7.8c.2.1.5.1.6 0l2.2-2.2c.1-.2.2-.4.2-.7V3.7c0-.8-.6-1.4-1.3-1.4H2.3c-.8 0-1.4.6-1.4 1.4v10.1c0 .8.6 1.4 1.4 1.4h6.3c.3 0 .5-.1.7-.2l.8-.8c.3-.4.8-.7 1.3-.8.8-.2 1.7.1 2.4.7zM4.6 6.5c0-.3.2-.5.5-.5h8.3c.3 0 .4.2.4.5v.9c0 .3-.1.4-.4.4H5.1c-.3 0-.5-.1-.5-.4v-.9zm.5 5c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9c0 .3-.2.4-.5.4H5.1zm17.7 1.3l-1-1c-.2-.3-.7-.3-1 0l-5.7 5.7c-.1.2-.5.2-.7 0l-2-2.1c-.3-.3-.7-.3-1 0l-1 1c-.3.3-.3.8 0 1l3.9 4c.3.3.7.3 1 0l7.5-7.6c.4-.3.4-.7 0-1z\"}},\nupload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.4 14.3H21c-.4 0-.7.4-.7.7v4.6c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V15c0-.3-.3-.7-.7-.7H1.6c-.4 0-.7.4-.7.7v6.2c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V15c0-.3-.3-.7-.7-.7zM12.5 1.1c-.3-.3-.7-.3-1 0L5.3 7.3c-.3.3-.3.7 0 1l.9 1c.3.3.7.3 1 0l2.6-2.6c.3-.3.8-.1.8.3v9.8c0 .4.3.7.7.7h1.3c.4 0 .8-.4.8-.7V7.1c0-.5.4-.6.8-.4l2.6 2.6c.2.3.6.3.9 0l1-.9c.3-.3.3-.7 0-1l-6.2-6.3z\"}},\nuser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 19.8v1.1c0 1.2-1 2.2-2.2 2.2H3.1c-1.2 0-2.2-1-2.2-2.2v-1.1c0-2.6 3.2-4.3 6.1-5.6l.3-.1c.2-.1.5-.1.7 0 1.2.8 2.5 1.2 4 1.2s2.8-.4 3.9-1.2c.3-.1.5-.1.7 0l.3.1c3 1.3 6.2 2.9 6.2 5.6zM12 .9c3 0 5.5 2.7 5.5 6.1S15 13.1 12 13.1 6.5 10.4 6.5 7 9 .9 12 .9z\"}},\nuser_activation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.7 7.4c.3-.3.3-.7 0-1L7.4 1.1c-.2-.3-.7-.3-.9 0L1.2 6.4c-.3.3-.3.7 0 1l.9 1c.3.2.7.2 1 0l1.7-1.7c.2-.3.7-.1.7.3v9.8c0 .4.4.7.7.7h1.4c.4 0 .7-.4.7-.7V7c0-.4.5-.6.8-.3l1.7 1.7c.2.2.6.2.9 0l1-1zm10.1 9.2l-.9-.9c-.3-.3-.7-.3-1 0l-1.7 1.7c-.2.2-.7 0-.7-.4V7.2c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.7c0 .5-.5.6-.8.4l-1.7-1.7c-.2-.3-.6-.3-.9 0l-1 1c-.3.3-.3.7 0 1l5.3 5.3c.3.3.7.3 1 0l5.3-5.3c.2-.3.2-.8-.1-1zM7.4 21.2h-.9c-.5 0-1-.4-1-.9v-.9c0-.5.5-.9 1-.9h.9c.5 0 .9.4.9.9v.9c0 .5-.4.9-.9.9zM17.5 5.5h-.9c-.5 0-.9-.4-.9-.9v-.9c0-.5.4-.9.9-.9h.9c.5 0 1 .4 1 .9v.9c0 .5-.5.9-1 .9z\"}},\nview_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zm3.2 10.2h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2z\"}},\nweb_link:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.5.9C6.3.9 1.4 5.9 1.4 12s4.9 11.1 11.1 11.1 11-5 11-11.1S18.6.9 12.5.9zm1.3 15.9c-.6.6-.9 2-1.2 2.9 0 .2-.1.4-.3.5l-.5.2c-.3.1-.6.1-.8-.1-.5-.5-.8-1.1-.8-1.7 0-1.2-1.9-.8-1.9-3 0-1.8-2.3-2.9-4-2.1-.1.1-.2.2-.4.2-.3.1-.5-.1-.6-.4 0-.4-.1-.8-.1-1.3 0-2.2.8-4.2 2.1-5.8 0-.1.1-.1.1-.1 1.1-1.3 2.5-2.3 4.2-2.8.4-.2.8.3.6.7-.2.2-.3.5-.3.8 0 .9-.9 1.5-1.3 1.4-.4-.2-1.4.5-.5 1l.5.2h.1l.2.1c1.6 1 1.3 1.8.6 3-.8 1.3-1.1 0-2.2-.4s-2.2.4-1.9 1.1c.4.8 1.5 0 2.3.8.7.7.7 1.8 2.9 1.1 2.2-.8 2.6-.4 3.3.3.7.8 1.1 2.2-.1 3.4zm5.9-.1c-.9-1.1 0-3.4-1.1-4.7-1.1-1.5-2.6 0-4-2.3-1.4-2.1.4-3.9 2.1-4.5.5-.2 1-.3 1.5-.3.1 0 .2.1.3.2 1.9 1.6 3.2 4.1 3.2 6.9 0 1.7-.5 3.2-1.2 4.6-.2.2-.6.3-.8.1z\"}},\nviewBox:'0 0 24 24'\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\":\"M13 17.8c-.5.6-1.5.6-2.1 0-1.7-1.9-5-5.4-5-5.4-1.5-1.6-1.5-4.1 0-5.7.7-.8 1.7-1.2 2.7-1.2 1 0 2 .4 2.7 1.2l.3.4c.2.2.6.2.8 0l.2-.4h.1c.7-.8 1.7-1.2 2.7-1.2 1 0 2 .4 2.7 1.2 1.5 1.5 1.5 4.1 0 5.7 0 0-3.3 3.5-5.1 5.4z\"}},\ncustom10:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.8 18.7c-2.3.9-5.9.7-7.8-1.4-4.7-5.1-.6-12.5 5.1-12.5.9 0 1.8.2 2.7.5.3.2.3.7 0 .9-1.8 1.3-3 3.4-3 5.8s1.2 4.6 3 5.9c.3.2.3.7 0 .8z\"}},\ncustom100:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.9 17.3H9.1c-.1 0-.2.1-.2.3.2.9 1.5 1.6 3.1 1.6 1.5 0 2.8-.7 3-1.6.1-.2 0-.3-.1-.3zm2.9-11.1H6.2c-.8 0-1.4.7-1.4 1.5v6.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4V7.7c0-.8-.6-1.5-1.4-1.5zm0 7.7c0 .3-.3.5-.5.5H6.7c-.2 0-.5-.2-.5-.5V8.2c0-.3.3-.5.5-.5h10.6c.2 0 .5.2.5.5v5.7z\"}},\ncustom101:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.8 9.3c1 0 1.8.8 1.8 1.8s-.8 1.8-1.8 1.8S9 12.1 9 11.1c0-.5.2-1 .5-1.3.3-.3.8-.5 1.3-.5zm.1 7.5c.1 0 .3-.1.5-.2.4-.3.9-.5 1.4-.7-.2-.3-.3-.6-.4-.9v-.1c-.5.2-1.1.4-1.6.4-2.3 0-4.2-1.9-4.2-4.1-.1-2.3 1.7-4.2 4-4.3 2.2-.1 4.2 1.6 4.3 3.9 1 .1 1.5.5 1.8 1.1v-.8c.1-3.3-2.6-6-5.8-6-3.3-.1-6 2.5-6.1 5.8-.1 3.2 2.4 6 5.7 6.1.1 0 .3-.1.4-.2zm7.2.6c-.6-.3-1.4-.9-2.6-1.1.3-.4.5-.9.8-1.5.1-.4.1-.7.1-1.1 0-.3 0-.9-.1-1.1-.2-1-.9-1.3-1.7-1.3-.8 0-1.5.3-1.8 1.3v1.1c0 .4 0 .7.1 1.1.3.6.5 1.1.8 1.5-1.2.2-2 .8-2.6 1.1-1.1.5-1.1 1-1.1 1v1h9.2v-1s0-.5-1.1-1z\"}},\ncustom102:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.5 14.6H5.2c-.1.1-.1.2-.1.2v4.3c0 .1 0 .1.1.2 0 0 .1.1.2.1h2.1c.1 0 .1-.1.2-.1 0-.1.1-.1.1-.2v-4.3s-.1-.1-.1-.2h-.2zm3.9-1.3H9.3c-.2 0-.3.1-.3.2v5.6c0 .1 0 .2.1.2 0 .1.1.1.2.1h2.1s.1 0 .2-.1v-5.8-.2h-.2zm3.8-4.9h-2.1c-.1 0-.1.1-.2.1 0 .1-.1.1-.1.2v10.4c0 .1.1.2.1.2.1.1.1.1.2.1h2.1c.1 0 .2 0 .2-.1.1 0 .1-.1.1-.2V8.7c0-.1 0-.1-.1-.2 0 0-.1-.1-.2-.1zm3.9-3.3H17c-.1 0-.1 0-.2.1-.1 0-.1.1-.1.2v13.7c0 .1 0 .2.1.2.1.1.1.1.2.1h2.1c.1 0 .1 0 .2-.1 0 0 .1-.1.1-.2V5.4c0-.1-.1-.2-.1-.2-.1-.1-.1-.1-.2-.1z\"}},\ncustom103:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.3 13.2c-.4-.2-1-.7-1.8-.8.2-.3.3-.7.5-1.1.1-.3.1-.5.1-.8v-.9c-.2-.7-.7-.9-1.2-.9-.6 0-1.1.2-1.3 1v.8c0 .3 0 .5.1.8.2.5.4.8.6 1.1-.4.1-.8.2-1.2.4.4.2.8.4 1.2.7.2.1.4.2.5.2.7.3 1 .7 1.2 1h2.1V14s0-.4-.8-.8zm-10.1.5c.1 0 .3-.1.5-.2.4-.3.8-.5 1.2-.7-.4-.2-.8-.3-1.2-.4.2-.3.4-.7.6-1.1 0-.3.1-.5.1-.8 0-.3 0-.6-.1-.9-.2-.7-.6-.9-1.2-.9-.5 0-1 .2-1.2.9-.1.3 0 .6 0 .9 0 .2 0 .5.1.8.1.4.3.8.5 1.1-.8.1-1.4.6-1.8.8-.8.4-.8.8-.8.8v.7H7c.3-.5.7-.8 1.2-1zm7.4.5c-.6-.3-1.4-1-2.7-1.2.3-.4.6-1 .8-1.6.2-.4.1-.8.1-1.2 0-.4.1-1 0-1.3-.3-1-1-1.3-1.8-1.3-.9 0-1.6.3-1.8 1.3-.1.3-.1.9-.1 1.3s0 .8.2 1.2c.2.7.5 1.2.8 1.6-1.3.2-2.1.9-2.7 1.2-1.2.6-1.2 1.2-1.2 1.2v1h9.6v-1s0-.6-1.2-1.2z\"}},\ncustom104:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 4.9h-11c-.4 0-.7.4-.7.8v3.7h12.4V5.7c0-.4-.3-.8-.7-.8zm-6.6 5.2v9h6.6c.4 0 .7-.4.7-.8v-8.2h-7.3zm-5.1 0v8.2c0 .2.1.4.2.5.2.2.4.3.6.3h3.6v-9H5.8z\"}},\ncustom105:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.3 6.3H5.7c-.4 0-.8.4-.8.9v.6c0 .1 0 .1.1.2l6.3 5.1c.4.4 1 .4 1.4 0L19 8c.1-.1.1-.1.1-.2v-.6c0-.5-.4-.9-.8-.9zM4.9 9.1c0-.1 0-.2.1-.2h.2l3.1 2.8c.1 0 .1.1.1.1 0 .1 0 .1-.1.2l-3 2.9c-.1 0-.2.1-.3 0-.1 0-.1-.1-.1-.2V9.1zm0 7s0-.1.1-.1l3.8-3.6c.1-.1.2-.1.3 0l1.6 1.4c.7.7 1.8.7 2.6 0l1.6-1.4c.1-.1.2-.1.3 0l3.8 3.5c.1.1.1.1.1.2v.7c0 .2-.1.5-.3.6-.1.2-.3.3-.6.3H5.7c-.4 0-.8-.4-.8-.9v-.7zm14.2-1.4c0 .1 0 .2-.1.2h-.3l-3-2.9c-.1-.1-.1-.1-.1-.2s.1-.1.1-.1l3.1-2.8h.2c.1 0 .1.1.1.2v5.6z\"}},\ncustom106:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.9 4.9c-2.8 0-5.1 2.4-5.1 5.2 0 4.3 5.1 9 5.1 9s5.2-4.9 5.2-9c0-2.8-2.3-5.1-5.2-5.2zm0 7.5c-.9 0-1.7-.6-2.1-1.4-.3-.8-.1-1.8.5-2.4.6-.7 1.6-.9 2.4-.5.9.3 1.4 1.1 1.4 2 0 1.3-1 2.3-2.2 2.3z\"}},\ncustom107:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.7 12.4h-1.5v6.2c0 .1 0 .2-.1.3 0 0-.1.1-.2 0h-2.8c-.2 0-.3-.1-.3-.3v-4.8h-3.5v4.8c0 .2-.1.3-.2.3H7.2c-.1.1-.2 0-.2 0-.1-.1-.1-.2-.1-.3v-6.2H5.5c-.2 0-.3-.1-.3-.2 0-.2 0-.3.1-.3l6.6-6.6c.1-.2.3-.2.3 0l6.6 6.6c.2 0 .2.2.1.3-.1.1-.1.2-.2.2z\"}},\ncustom108:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M11.5 14.5l.1-.7.9-.6-.2-.9h-.1l-1-.1-.4-.6.2-1.1-.7-.5-.1.1-.8.7-.6-.1-.6-1-.9.2v.1l-.1 1.1-.5.4-1.1-.3-.5.8.1.1.6.8v.7l-1 .6.2.9h.1l1 .1.4.5-.2 1.2.8.5.1-.1.7-.7.7.1.6 1 .8-.2v-.2l.1-1 .5-.4 1.2.3.4-.8-.1-.1-.6-.8zm-1.3.1c-.3.5-.6.7-1.1.9-.5.1-.9 0-1.3-.2-.9-.6-1.1-1.7-.6-2.6.2-.4.6-.7 1-.8.5-.1 1 0 1.4.2.8.6 1.1 1.7.6 2.5z\"},{\"d\":\"M18.2 11.1l.1-.7.9-.6-.2-.9h-.1l-1-.1-.4-.5.2-1.2-.8-.5-.1.1-.7.7-.7-.1-.6-1-.8.2-.1.2v1l-.6.4-1.1-.2-.4.7.1.1.6.8-.1.7-.9.6.2.9h.1l1 .1.4.6-.2 1.1.7.5.1-.1.8-.6.6.1.6.9.9-.2V14l.1-1 .5-.5 1.1.3.5-.8-.1-.1-.6-.8zm-1.4.2c-.2.4-.6.7-1 .8-.5.1-1 0-1.4-.2-.8-.6-1.1-1.7-.6-2.5.3-.4.6-.7 1.1-.9.5-.1.9 0 1.3.3.9.5 1.1 1.6.6 2.5z\"}]}},\ncustom109:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 11.1l-.3-.5-1 .5c-1.3-2.1-3.6-3.6-6-3.6-3.5 0-6.9 3.3-6.9 6.8v.5h1.7v-.3-.2c0-2.8 2.3-5.1 5.2-5.1 1.9 0 3.6 1 4.5 2.5L13 13.2c-.6-.5-1.4-.6-2.1-.3-.5.2-.8.6-1 1.1-.1.5-.1 1 .2 1.5.5.9 1.6 1.2 2.5.7.7-.3 1.1-1 1.1-1.8l3.1-1.8c.2.5.3 1.1.3 1.7v.5h1.7v-.3-.2c0-.9-.2-1.8-.6-2.6l.9-.6z\"}},\ncustom11:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.5 5.1l1.9 4.1 4.3.6c.5.1.7.7.3 1.1L15.9 14l.8 4.5c0 .5-.5.9-.9.6L12 17l-3.8 2.1c-.4.3-1-.1-.9-.6l.8-4.5L5 10.9c-.4-.4-.2-1 .3-1.1l4.3-.6 1.9-4.1c.2-.4.8-.4 1 0z\"}},\ncustom110:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.8 4.9H9.2c-.4-.1-.8.1-1 .4-.3.2-.5.6-.5 1v11.4c0 .8.7 1.4 1.5 1.4h5.6c.8 0 1.5-.6 1.5-1.4V6.3c0-.4-.2-.8-.5-1-.2-.3-.6-.5-1-.4zm-3.8.8h2c.1 0 .2 0 .2.1s-.1.1-.2.1h-2c-.1 0-.2 0-.2-.1s.1-.1.2-.1zm1.8 12.4c0 .1-.1.2-.2.2h-1.3c-.1 0-.1-.1-.1-.2v-.6l.1-.1h1.4s.1 0 .1.1v.6zm2.6-1.7v.1H8.7h-.1V6.9v-.2H15.3c.1 0 .1.1.1.2v9.5z\"}},\ncustom111:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M12.8 10.8c-.6-.2-1.4-.9-2.6-1.1.3-.3.6-.8.8-1.5.1-.3.1-.6.1-1s.1-.9 0-1.2c-.3-.9-1-1.2-1.7-1.2-.8 0-1.5.3-1.8 1.2-.1.3 0 .8 0 1.2 0 .4 0 .7.1 1 .3.7.5 1.2.8 1.5-1.2.2-2 .9-2.6 1.1-1.1.5-1.1 1.1-1.1 1.1v1.8h5.7c.3-1.2 1.2-2.3 2.3-2.9zM15.1 16.9c-1.1 0-1.9-.8-1.9-1.9 0-1 .8-1.8 1.9-1.8 1 0 1.8.8 1.8 1.8 0 .5-.2 1-.5 1.4-.4.3-.8.5-1.3.5zm4.1-1.4v-.9l-.1-.1-1-.3-.3-.6.5-1.1-.7-.7-.1.1-.9.5-.7-.3-.4-1.1h-.9v.1l-.4 1-.6.2-1.1-.5-.7.7.1.1.5 1-.3.6-1.1.4v.9l.1.1 1 .3.3.6-.6 1.2.7.6h.1l1-.5.6.2.4 1.2h.9l.1-.2.3-1 .7-.2 1 .5.7-.7-.1-.1-.4-.9.2-.7 1.2-.4z\"}}},\ncustom112:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.3 12c-2.1-.4-4.2-.4-6.2 0-.7.3-1.2.9-1.2 1.6v1.3c0 .7.5 1.3 1.2 1.5.2.1.4.1.6.1l1.6 2.3c.3.4.5.4.5-.1v-1.9c1.2 0 2.3-.1 3.5-.4.7-.2 1.1-.8 1.2-1.5v-1.3c-.1-.7-.5-1.3-1.2-1.6zm5.6-6.6c-2.7-.7-5.6-.7-8.4 0-.7.2-1.2.9-1.2 1.6v2.2c0 .7.5 1.4 1.2 1.6 1.5.4 3.1.5 4.7.5v2.6c0 .5.2.6.5.2l2.2-3.1c.3 0 .7-.1 1-.2.7-.2 1.2-.9 1.2-1.6V7c0-.7-.5-1.4-1.2-1.6z\"}},\ncustom113:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M6.5 14.2h11c.1 0 .1-.1.1-.2V6.4c0-.1-.1-.2-.2-.2H6.7c-.2 0-.4.1-.4.2V14c0 .1.1.2.2.2zm1-6.7c0-.1 0-.2.1-.2h8.8c.1 0 .1.1.1.2v5.4c0 .1 0 .2-.1.2H7.6c-.1 0-.2-.1-.2-.2V7.5h.1zM19.1 17.6l-1.4-2.8c-.1-.1-.1-.1-.2-.1h-11c-.1 0-.1 0-.2.1l-1.4 2.8v.3c.1.1.2.1.3.1h13.6c.1 0 .2 0 .3-.1v-.3zm-5.7-.2h-2.9v-.1l.4-.8.1-.1h2l.1.1.4.8s0 .1-.1.1z\"}}},\ncustom12:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"7.2\"}},\ncustom13:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 5.3H6.2c-.8 0-1.4.6-1.4 1.4v1.5c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4V6.7c0-.8-.6-1.4-1.4-1.4zm0 4.8H6.2c-.2 0-.4.2-.4.5v6.7c0 .8.6 1.4 1.4 1.4h9.6c.8 0 1.4-.6 1.4-1.4v-6.7c0-.3-.2-.5-.4-.5zm-3.2 2.1c0 .4-.3.8-.7.8h-3.8c-.4 0-.7-.4-.7-.8 0-.3.3-.7.7-.7h3.8c.4 0 .7.3.7.7z\"}},\ncustom14:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.7 7.9h-1.4c-.3 0-.6-.1-.9-.3l-1.1-1c-.3-.2-.6-.4-.9-.4h-2.8c-.4 0-.7.2-1 .4L9.1 7.9c-.1.1-.1.3 0 .4l.5.4c.3.3.7.3 1 .1l1.3-.8c.2-.1.4-.1.6.1l4.1 4c.1.1.2.2.2.4v1.1c0 .2.2.6.5.6h1.4c.3 0 .5-.3.5-.5V8.4c0-.3-.2-.5-.5-.5zm-4.1 4.3L12 9.7l-.7.5c-.3.2-.7.3-1.1.3-.6 0-1.1-.2-1.5-.5l-.9-.8c-.2-.2-.4-.4-.4-.6 0-.3-.2-.4-.5-.4H5.3c-.3 0-.5.1-.5.4V13c0 .2.2.4.5.4h.9c.1 0 .2-.2.3-.3.4-.5.9-.8 1.5-.9.5 0 1.1.2 1.6.6l3 2.7c.2.3.4.5.5.9.1.1.3.2.4.1l1.1-1.2c.6-.5 1-1.9.5-2.5l-.5-.6zm-6 1.8c-.3-.3-.8-.2-1 .1-.3.3-.2.8.1 1.1l3 2.7c.1.2.3.2.5.2s.4-.1.5-.3c.3-.3.2-.8-.1-1.1l-3-2.7z\"}},\ncustom15:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.8 11.1c-.8-.4-1-.7-1-1 0-.4.3-.7.6-1 .5-.4.7-1.1.7-1.8 0-1.3-.8-2.5-2.3-2.5-1.3 0-2.1.9-2.3 2 0 .1 0 .2.1.2 1.1.8 1.7 2.1 1.7 3.6 0 1.1-.3 2.1-1 2.8-.1.2-.1.4.1.4.4.2.9.4 1.4.7.1.1.3.1.4.1H18c.7 0 1.2-.5 1.2-1.1v-.2c0-1.1-1.2-1.7-2.4-2.2zM12.5 15c-1-.4-1.1-.8-1.1-1.2 0-.4.2-.8.6-1.1.6-.5.9-1.2.9-2.1 0-1.6-1-2.9-2.8-2.9S7.3 9 7.3 10.6c0 .9.3 1.6.9 2.1.4.3.7.7.7 1.1 0 .4-.2.8-1.2 1.2-1.5.6-2.9 1.3-2.9 2.6v.2c0 .8.7 1.4 1.5 1.4h7.6c.8 0 1.5-.6 1.5-1.4v-.2c0-1.3-1.4-2-2.9-2.6z\"}},\ncustom16:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.3 16.8H17v-5.3c0-.2-.2-.5-.4-.5h-.5c-.3 0-.5.3-.5.5v5.3h-1.4v-5.3c0-.2-.3-.5-.5-.5h-.5c-.3 0-.5.3-.5.5v5.3h-1.4v-5.3c0-.2-.2-.5-.5-.5h-.5c-.2 0-.5.3-.5.5v5.3H8.4v-5.3c0-.2-.2-.5-.5-.5h-.5c-.2 0-.4.3-.4.5v5.3h-.3c-.8 0-1.4.6-1.4 1.4v.5c0 .3.2.5.5.5h12.4c.3 0 .5-.2.5-.5v-.5c0-.8-.6-1.4-1.4-1.4zm1.2-8.5L12.6 5c-.2-.1-.4-.2-.6-.2-.2 0-.4.1-.6.2L5.5 8.3c-.1.1-.2.2-.2.4v.4c0 .3.2.5.5.5h12.4c.3 0 .5-.2.5-.5v-.4c0-.2-.1-.3-.2-.4zm-6.5.3c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.6 1.2 1.2-.5 1.2-1.2 1.2z\"}},\ncustom17:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.3 6.9c.1.2.3.3.5.3h2.4c.2 0 .4-.1.4-.3l1-1.7c.1-.2-.1-.4-.2-.4H9.6c-.1 0-.3.2-.2.4l.9 1.7zm3.1 1.7h-2.8c-2.4 0-4.4 2-4.4 4.4v4.8c0 .8.7 1.4 1.5 1.4h8.6c.8 0 1.5-.6 1.5-1.4V13c0-2.4-2-4.4-4.4-4.4zm-.7 8.1v.8c0 .2-.1.3-.3.3h-.9c-.2 0-.2-.1-.2-.3v-.8c-.7-.1-1.3-.4-1.5-.6-.2-.1-.2-.3-.1-.5l.3-.5c.1-.1.2-.2.4-.2.1 0 .1 0 .2.1.5.3.9.4 1.3.4.3 0 .6-.2.6-.4 0-.1-.1-.3-1.1-.6-.8-.3-1.8-.8-1.8-1.9 0-.7.5-1.5 1.7-1.7v-.7c0-.2 0-.3.1-.3h1c.2 0 .3.1.3.3v.7c.5.1 1 .4 1.2.5.1 0 .1.1.1.3s0 .2-.1.3l-.3.4c-.1.1-.3.2-.4.2H13c-.5-.3-.9-.4-1.2-.4-.4 0-.6.2-.6.3 0 .2.1.3.9.6 1.1.4 2.2.9 2.2 2 0 .8-.6 1.5-1.6 1.7z\"}},\ncustom18:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.4 8.6h2.5c.2 0 .4-.1.4-.3 0-.1 0-.2-.1-.2L14 4.9c-.1-.1-.1-.1-.2-.1-.2 0-.4.1-.4.3v2.6c0 .5.5.9 1 .9zm5.6 3.3l-.3-.3c-.2-.2-.5-.2-.6 0l-3.7 3.7c-.1.1 0 .1 0 .1v.9h.9l3.7-3.7c.2-.2.2-.5 0-.7zm-3 5.9h-2.2c-.5 0-.9-.4-.9-1v-1.6c0-.3.1-.5.3-.7l2.9-3c.1-.1.2-.2.2-.3v-.6c0-.3-.2-.5-.5-.5h-3.4c-.8 0-1.4-.7-1.4-1.5V5.3c0-.3-.2-.5-.5-.5H6.7c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.1c.7 0 1.3-.5 1.5-1.2 0-.1-.1-.2-.3-.2zM7.2 9.1c0-.2.2-.5.5-.5h1.9c.3 0 .5.3.5.5v.5c0 .3-.2.5-.5.5H7.7c-.3 0-.5-.2-.5-.5v-.5zm4.8 6.3c0 .2-.2.4-.5.4H7.7c-.3 0-.5-.2-.5-.4v-.5c0-.3.2-.5.5-.5h3.8c.3 0 .5.2.5.5v.5zm1-2.9c0 .2-.3.5-.5.5H7.7c-.3 0-.5-.3-.5-.5V12c0-.3.2-.5.5-.5h4.8c.2 0 .5.2.5.5v.5z\"}},\ncustom19:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19 7.9c0-.2-.3-.2-.4-.1l-2.4 2.4c-.2.2-.5.2-.7 0l-1.7-1.7c-.2-.2-.2-.5 0-.7l2.4-2.4c.2-.1.1-.4 0-.4-.5-.1-.9-.2-1.3-.2-2.6 0-4.6 2.2-4.3 4.8 0 .4.1.8.3 1.1l-5.6 5.6c-.7.7-.7 1.8 0 2.4.3.4.7.5 1.2.5s.8-.1 1.2-.5l5.6-5.6c.3.2.7.3 1.1.3 2.6.3 4.8-1.7 4.8-4.3 0-.4-.1-.8-.2-1.2z\"}},\ncustom2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M14.2 5.3c-.8-.5-3.4-1-4.4.7-.4.8.1 2.2.6 3.1.1.2.3.3.6.2.3-.1.6-.2 1-.2.2 0 .5 0 .7.1.2.1.5 0 .5-.2.2-.3.5-.7 1-1.1 1.2-.9.7-2.1 0-2.6zm-1.3 9.4c-.3.1-.6.2-.9.2-.3 0-.6-.1-.8-.1-.3-.1-.5 0-.6.2-.2.3-.4.7-.9 1.1-1.2.9-.7 2.2 0 2.6s3.3 1 4.3-.7c.4-.7-.1-2.1-.5-3-.1-.2-.4-.3-.6-.3zM18 9.8c-.8-.4-2.2.1-3.1.6-.2.1-.3.3-.2.6.1.3.2.6.2 1 0 .2 0 .5-.1.7-.1.2 0 .5.2.5.3.2.7.5 1.1 1 .9 1.2 2.1.7 2.6 0s1-3.4-.7-4.4zm-8.7 3.1c-.1-.3-.2-.6-.2-.9 0-.3.1-.6.1-.8.1-.3 0-.5-.2-.6-.3-.2-.7-.4-1.1-.9-.9-1.2-2.2-.7-2.6 0S4.3 13 6 14c.7.4 2.1-.1 3-.5.2-.1.3-.4.3-.6z\"},\"circle\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"1.44\"}}},\ncustom20:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.1 11.4c0-.1-.2-.3-.4-.1l-3.3 2.5c-.4.3-.6.7-.6 1.2v1c0 .2.2.3.3.2l3.7-1.4c.2-.1.3-.2.3-.4v-3zm5.3 6.8l-1-.7V6.6c0-.6-.7-1.3-1.1-1.7-.2-.1-.4-.1-.6 0-.4.4-1.2 1.1-1.2 1.7v10.9l-1.1.7c-.2.2-.3.4-.3.6v.2c0 .1.1.2.2.2h5.3c.1 0 .3-.1.3-.2 0-.4-.2-.6-.5-.8zm4.2-4.4l-3.3-2.5c-.2-.2-.4 0-.4.1v3c0 .2.1.4.3.4l3.7 1.4c.2.1.3 0 .3-.2v-1c0-.5-.2-.9-.6-1.2z\"}},\ncustom21:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.8 17.1c0-.2-.2-.3-.4-.3h-2.8c-.2 0-.4.1-.4.3l-.7 1.7c0 .2.1.4.2.4h4.6c.1 0 .2-.2.2-.4l-.7-1.7zm4-12.3H6.2c-.8 0-1.4.6-1.4 1.4v7.7c0 .8.6 1.5 1.4 1.5h11.6c.8 0 1.4-.7 1.4-1.5V6.2c0-.8-.6-1.4-1.4-1.4zM12 14.9c-.4 0-.7-.3-.7-.7s.3-.8.7-.8.7.4.7.8-.3.7-.7.7zm5.8-2.4c0 .2-.3.5-.5.5H6.7c-.2 0-.5-.3-.5-.5V6.7c0-.2.3-.5.5-.5h10.6c.2 0 .5.3.5.5v5.8z\"}},\ncustom22:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.6 15.3l-1.4-1.2c-.5-.4-1.3-.4-1.8 0l-1.4 1c-.2.2-.5.1-.6 0L11 13l-2.1-2.4c-.2-.2-.2-.4 0-.6l1-1.4c.4-.6.3-1.3-.1-1.8L8.6 5.3c-.5-.6-1.5-.7-2.1-.1L5.2 6.5c-.3.3-.4.7-.4 1.1.1 3 1.5 5.9 3.6 8s4.9 3.4 8 3.6c.4 0 .8-.2 1-.5l1.3-1.3c.7-.5.6-1.5-.1-2.1z\"}},\ncustom23:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.7 13.4c.2.2.4.2.6 0l6.8-6.2c.1-.3.1-.7-.4-.7l-13.4.1c-.4 0-.6.3-.4.6l6.8 6.2zm7.5-3.6c0-.3-.4-.4-.6-.2l-5.3 4.9c-.3.3-.8.5-1.3.5s-.9-.2-1.3-.5L5.4 9.6c-.2-.2-.6-.1-.6.2v6.3c0 .8.7 1.4 1.5 1.4h11.5c.8 0 1.4-.6 1.4-1.4V9.8z\"}},\ncustom24:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.3 4.8H7.7c-.8 0-1.5.6-1.5 1.4 0 .3.3.5.5.5h10.6c.2 0 .5-.2.5-.5 0-.8-.7-1.4-1.5-1.4zm0 3.4H7.7c-.3 0-.5.2-.5.4v10.1c0 .3.2.5.5.5h2.6c.3 0 .5-.2.5-.5v-1.9c0-.3.2-.5.5-.5h1.4c.3 0 .5.2.5.5v1.9c0 .3.2.5.5.5h2.6c.3 0 .5-.2.5-.5V8.6c0-.2-.2-.4-.5-.4zm-5 6.4c0 .3-.2.5-.5.5h-1c-.2 0-.4-.2-.4-.5v-.9c0-.3.2-.5.4-.5h1c.3 0 .5.2.5.5v.9zm0-3.3c0 .2-.2.5-.5.5h-1c-.2 0-.4-.3-.4-.5v-1c0-.2.2-.5.4-.5h1c.3 0 .5.3.5.5v1zm3.3 3.3c0 .3-.2.5-.4.5h-1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h1c.2 0 .4.2.4.5v.9zm0-3.3c0 .2-.2.5-.4.5h-1c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5h1c.2 0 .4.3.4.5v1z\"}},\ncustom25:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 6.6c-.2-.9-1-1.7-1.9-1.8-.6-.1-1.2.1-1.7.5-.1.1-.1.3.1.4 1.1.6 2 1.4 2.7 2.4.1.2.3.2.4 0 .4-.4.5-1 .4-1.5zM8.3 5.7c.1-.1.2-.3.1-.4-.5-.4-1.1-.6-1.8-.5-.9.1-1.6.9-1.8 1.8-.1.5 0 1.1.3 1.5.1.2.3.2.4 0 .8-1 1.7-1.8 2.8-2.4zm3.7.5c-3.6 0-6.5 2.9-6.5 6.5 0 1.5.5 2.8 1.3 3.9l-1 .9c-.4.4-.4 1 0 1.4.2.2.4.3.7.3s.5-.1.7-.3l.9-1c1.1.8 2.5 1.3 3.9 1.3s2.8-.5 3.8-1.3l1 1c.2.2.5.3.7.3s.5-.1.7-.3c.4-.4.4-1 0-1.4l-1-.9c.8-1.1 1.3-2.4 1.3-3.9 0-3.6-2.9-6.5-6.5-6.5zm-4.6 6.5c0-2.5 2.1-4.5 4.6-4.5s4.6 2 4.6 4.5-2.1 4.6-4.6 4.6-4.6-2.1-4.6-4.6zm5.3-.3v-1.8c0-.4-.3-.8-.7-.8s-.7.4-.7.8v2.1c0 .2.1.4.2.5l1.7 1.7c.1.1.3.2.5.2s.3-.1.5-.2c.3-.3.3-.7 0-1l-1.5-1.5z\"}},\ncustom26:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.2 4.8c-.8 0-1.4.6-1.4 1.4 0 .5.2.9.5 1.1v10.9c0 .6.4 1 .9 1s1-.4 1-1V7.3c.3-.2.5-.6.5-1.1 0-.8-.7-1.4-1.5-1.4zm12.6 2.6c-3.7 2-6.3-1.4-9.8-.1-.2 0-.4.2-.4.4v6.2c0 .3.4.6.7.5 3.4-1.1 5.9 2.2 9.7.1.1-.1.2-.2.2-.4V7.6c0-.2-.2-.3-.4-.2z\"}},\ncustom27:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.8 15.1h12.4c.3 0 .5-.2.5-.5V7c0-.8-.6-1.5-1.4-1.5H6.7c-.8 0-1.4.7-1.4 1.5v7.6c0 .3.2.5.5.5zm.9-7.7c0-.2.2-.4.5-.4h9.6c.3 0 .5.2.5.4v5.8c0 .3-.2.5-.5.5H7.2c-.3 0-.5-.2-.5-.5V7.4zm12.5 9.2h-5.3c-.2 0-.5.2-.5.4s-.2.5-.4.5h-2c-.2 0-.4-.2-.4-.5s-.3-.4-.5-.4H4.8c-.3 0-.5.2-.5.4 0 .8.7 1.5 1.5 1.5h12.4c.8 0 1.5-.7 1.5-1.5 0-.2-.2-.4-.5-.4z\"}},\ncustom28:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.4 4.8H8.6c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h6.8c.8 0 1.4-.6 1.4-1.4V6.2c0-.8-.6-1.4-1.4-1.4zM12 18.7c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.7.3.7.7-.3.7-.7.7zm3.4-2.4c0 .3-.3.5-.5.5H9.1c-.2 0-.5-.2-.5-.5V7.2c0-.3.3-.5.5-.5h5.8c.2 0 .5.2.5.5v9.1z\"}},\ncustom29:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.7 6.7h-.4c-.3 0-.5.3-.5.5v9.7l.6.8c.1.1.1.1.2 0l.6-.8V7.2c0-.2-.2-.5-.5-.5zm-3.8-1.9H7.2c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h6.7c.8 0 1.5-.6 1.5-1.4V6.2c0-.8-.7-1.4-1.5-1.4zm-3.3 13.9c-.4 0-.8-.3-.8-.7s.4-.7.8-.7.7.3.7.7-.3.7-.7.7zm3.3-2.4c0 .3-.2.5-.5.5H7.7c-.3 0-.5-.2-.5-.5V7.2c0-.3.2-.5.5-.5h5.7c.3 0 .5.2.5.5v9.1z\"}},\ncustom3:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 9.1c-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.9zm7.2 2.9c0-.8-2-1.3-2.3-2-.3-.8.8-2.5.2-3.1-.6-.6-2.3.5-3.1.2-.7-.3-1.2-2.3-2-2.3s-1.3 2-2 2.3c-.8.3-2.5-.8-3.1-.2-.6.6.5 2.3.2 3.1-.3.7-2.3 1.2-2.3 2s2 1.3 2.3 2c.3.8-.8 2.5-.2 3.1.6.6 2.3-.5 3.1-.2.7.3 1.2 2.3 2 2.3s1.3-2 2-2.3c.8-.3 2.5.8 3.1.2.6-.6-.5-2.3-.2-3.1.3-.7 2.3-1.2 2.3-2zM12 16.3c-2.4 0-4.3-1.9-4.3-4.3S9.6 7.7 12 7.7s4.3 1.9 4.3 4.3-1.9 4.3-4.3 4.3z\"}},\ncustom30:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.2 6.8c-1.4-1.3-3.1-2-5-2-.4 0-.7.3-.7.7s.3.7.7.7c1.5 0 2.9.6 4 1.6 1 1.1 1.6 2.5 1.6 4 0 .4.3.7.7.7s.7-.3.7-.7c0-1.9-.7-3.6-2-5zm-5 .9c-.4 0-.7.3-.7.7s.3.7.7.7c.7 0 1.4.3 1.9.8s.8 1.1.8 1.9c0 .4.3.7.7.7s.7-.3.7-.7c0-1.1-.4-2.2-1.2-2.9s-1.8-1.2-2.9-1.2zm-1 6.9l.6-1.7c.5.2.9.1 1.3-.3.5-.5.5-1.2 0-1.7s-1.2-.5-1.7 0c-.4.4-.4.9-.2 1.4l-1.6.7-2.8-2.8c-.2-.2-.5-.2-.7 0-1.8 2.1-1.7 5.4.4 7.4 2 2 5.2 2.1 7.3.3.3-.1.3-.5.1-.7l-2.7-2.6z\"}},\ncustom31:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.1 10.4l-1.2-3.7c-.2-.7-.8-1.2-1.5-1.2H8.6c-.7 0-1.3.5-1.6 1.2l-1.1 3.7c-.6.1-1.1.7-1.1 1.4v2.8c0 .7.4 1.2 1 1.4v2c0 .3.2.5.4.5h2c.2 0 .4-.2.4-.5v-1.9h6.8V18c0 .3.2.5.4.5h2c.2 0 .4-.2.4-.5v-2c.6-.2 1-.7 1-1.4v-2.8c0-.7-.5-1.3-1.1-1.4zm-10.9 4c-.7 0-1.2-.5-1.2-1.2S6.5 12 7.2 12s1.2.5 1.2 1.2-.5 1.2-1.2 1.2zm5.3-4.1H7.7c-.1 0-.3-.1-.2-.3l.9-2.9c0-.1.1-.1.2-.1h6.7c.1 0 .2 0 .3.1l.9 2.9c0 .2-.1.3-.3.3h-3.7zm4.1 4.1c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.6 1.2-1.2 1.2z\"}},\ncustom32:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.8 8.5l-5.6 3.2c-.1 0-.2.1-.3.1-.3 0-.6-.2-.7-.4-.2-.4 0-.8.4-1l1.8-1.1V7.5c0-.2-.2-.3-.3-.2l-6.9 3.9c-.1.1-.2.1-.3.1-.3 0-.5-.1-.7-.4-.2-.3 0-.8.3-1l1.2-.6v-4c0-.3-.2-.5-.5-.5H5.3c-.3 0-.5.2-.5.5v12.5c0 .8.6 1.4 1.4 1.4h4.1c.3 0 .5-.2.5-.5V17c0-.2.2-.4.5-.4h1.4c.3 0 .5.2.5.4v1.7c0 .3.2.5.5.5h4.1c.8 0 1.4-.6 1.4-1.4V8.7c0-.2-.2-.3-.4-.2zM8.4 15.1c0 .3-.2.5-.5.5h-.5c-.2 0-.4-.2-.4-.5v-1.4c0-.3.2-.5.4-.5h.5c.3 0 .5.2.5.5v1.4zm2.9 0c0 .3-.2.5-.5.5h-.5c-.2 0-.5-.2-.5-.5v-1.4c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v1.4zm2.9 0c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-1.4c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v1.4zm2.8 0c0 .3-.2.5-.4.5h-.5c-.3 0-.5-.2-.5-.5v-1.4c0-.3.2-.5.5-.5h.5c.2 0 .4.2.4.5v1.4z\"}},\ncustom33:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.6 10.1h-7c-.2 0-.4.2-.4.5v1.9c0 .2.2.5.4.5h7c.3 0 .5-.3.5-.5v-1.9c0-.3-.2-.5-.5-.5zm-3.4 2.1c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.8.3.8.7-.4.7-.8.7zm7-5.5H4.8c-.3 0-.5.2-.5.5v.5c0 .5.5.9 1 .9v8.7c0 .2.2.5.5.5h.4c.3 0 .5-.3.5-.5V8.6h10.8v8.7c0 .2.2.5.5.5h.5c.2 0 .5-.3.5-.5V8.6h-.3c.5 0 1-.4 1-.9v-.5c0-.3-.2-.5-.5-.5z\"}},\ncustom34:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.1 7.2h3.8c.3 0 .5-.3.5-.5-.3-1.1-1.2-1.9-2.4-1.9s-2.1.8-2.4 1.9c0 .2.2.5.5.5zm8.4 6.2c.4 0 .7-.3.7-.7 0-.4-.4-.7-.8-.7h-2.1v-1.2c1.4-.6 2.4-2 2.4-3.8 0-.4-.2-.7-.6-.8-.4 0-.8.3-.8.8 0 1-.5 1.9-1.2 2.3-.3-.4-.7-.7-1.2-.7H9.1c-.5 0-.9.3-1.2.7C7.2 8.9 6.7 8 6.7 7c0-.4-.3-.7-.7-.8-.4 0-.7.4-.7.8 0 1.7 1 3.2 2.4 3.8V12H5.6c-.4 0-.8.3-.8.7 0 .4.3.7.7.7h2.2v1.2c-1.4.6-2.4 2.1-2.4 3.9 0 .3.2.6.6.7.4.1.8-.3.8-.7 0-1 .5-1.9 1.2-2.3.4 1.3 1.4 2.4 2.8 2.8.3.1.6-.2.6-.5v-5.7c0-.4.3-.8.7-.8.4 0 .7.3.7.7v5.8c0 .4.3.6.6.5 1.4-.4 2.4-1.5 2.8-2.8.7.4 1.2 1.2 1.2 2.2 0 .4.3.8.7.8.4 0 .7-.3.7-.7 0-1.8-1-3.3-2.4-3.9v-1.2h2.2z\"}},\ncustom35:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.6 9.6c-.4 0-.8.3-.8.7v1.2c0 2.1-1.7 3.9-3.8 3.9s-3.8-1.8-3.8-3.9v-1.2c0-.4-.4-.7-.8-.7s-.7.3-.7.7v1.2c0 2.7 2 4.9 4.6 5.3v1h-1.2c-.4 0-.7.3-.7.7s.3.7.7.7h3.8c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1.2v-1c2.6-.4 4.6-2.6 4.6-5.3v-1.2c0-.4-.3-.7-.7-.7zM12 13.9c1.3 0 2.4-1.1 2.4-2.4V7.2c0-1.3-1.1-2.4-2.4-2.4-1.3 0-2.4 1.1-2.4 2.4v4.3c0 1.3 1.1 2.4 2.4 2.4z\"}},\ncustom36:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.3 17.3h-1c-.2 0-.3.1-.4.2l-.3.6c-.2.3-.2.8.2 1 .1.1.2.1.4.1s.4-.1.6-.4l.7-1.2c.1-.1 0-.3-.2-.3zm6.8.2c-.1-.1-.2-.2-.4-.2h-1c-.2 0-.3.2-.2.3l.7 1.2c.2.3.4.4.6.4.2 0 .3 0 .4-.1.4-.2.4-.7.2-1l-.3-.6zm0-12.7H7.9c-.8 0-1.4.6-1.4 1.4v8.2c0 .8.6 1.4 1.4 1.4h8.2c.8 0 1.4-.6 1.4-1.4V6.2c0-.8-.6-1.4-1.4-1.4zM8.6 14.9c-.4 0-.7-.3-.7-.7s.3-.8.7-.8.8.4.8.8-.4.7-.8.7zm6.8 0c-.4 0-.8-.3-.8-.7s.4-.8.8-.8.7.4.7.8-.3.7-.7.7zm.7-2.9c0 .3-.2.5-.5.5H8.4c-.3 0-.5-.2-.5-.5V7.2c0-.3.2-.5.5-.5h7.2c.3 0 .5.2.5.5V12z\"}},\ncustom37:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 13.4h-3.1v-2.8c.6.6 1.5.9 2.4.9.4 0 .7-.3.7-.7s-.3-.7-.7-.7c-1.3 0-2.4-1.2-2.4-2.7v-.7c.2 0 .5-.2.5-.5v-.4c0-.3-.3-.5-.5-.5h-1.5c-.2 0-.4.2-.4.5v.4c0 .3.2.5.4.5v.7c0 1.5-1.1 2.7-2.6 2.7S9.4 8.9 9.4 7.4v-.7c.2 0 .4-.2.4-.5v-.4c0-.3-.2-.5-.4-.5H7.9c-.2 0-.5.2-.5.5v.4c0 .3.3.5.5.5v.7c0 1.5-1.1 2.7-2.4 2.7-.4 0-.7.3-.7.7s.3.7.7.7c.9 0 1.8-.3 2.4-.9v2.8H4.8c-.3 0-.5.3-.5.5v1.2c0 .2.2.5.5.5h1v2.6c0 .3.2.5.4.5h1.5c.2 0 .5-.2.5-.5v-1c0-.8.6-1.4 1.4-1.4h4.8c.8 0 1.4.6 1.4 1.4v1c0 .3.3.5.5.5h1.5c.2 0 .4-.2.4-.5v-2.6h1c.3 0 .5-.3.5-.5v-1.2c0-.2-.2-.5-.5-.5zm-9.8-2.9c.7.6 1.6 1 2.6 1s1.9-.3 2.6-1v2.9H9.4v-2.9z\"}},\ncustom38:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 10.8c-1.1 0-1.9.9-1.9 1.9s.8 1.9 1.9 1.9 1.9-.8 1.9-1.9-.8-1.9-1.9-1.9zm5.8-2.4h-2c-.2 0-.3-.1-.4-.3l-.6-1.3c-.3-.5-.8-.8-1.3-.8h-3c-.5 0-1 .3-1.3.8l-.6 1.3c-.1.2-.2.3-.4.3h-2c-.8 0-1.4.6-1.4 1.4v6.8c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4V9.8c0-.8-.6-1.4-1.4-1.4zM12 16.1c-1.8 0-3.4-1.5-3.4-3.3s1.6-3.4 3.4-3.4 3.4 1.5 3.4 3.4-1.6 3.3-3.4 3.3z\"}},\ncustom39:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.3 6.9c-.1-.2-.3-.3-.5-.3L5.1 9.7c-.2.1-.3.4-.3.6l.4 1.5c.1.2.3.4.6.3l2.4-.3c.1.3.2.5.4.8l-2.1 5.6c-.2.4 0 .8.4 1h.3c.2 0 .5-.2.6-.5l2-5.4c.2.1.3.1.5.1s.3 0 .5-.1l1.9 5.4c.1.3.4.5.7.5h.3c.3-.2.5-.6.4-1L12 12.5c.3-.3.4-.8.4-1.3l3.4-.5c.2 0 .4-.2.3-.4l-.8-3.4zm3.9 3.3l-1.3-4.8c-.1-.4-.5-.7-.9-.6-.4.1-.7.5-.6.9l1.4 4.9c.1.4.5.6.8.5.4-.1.7-.5.6-.9z\"}},\ncustom4:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.3 7.8l5-2.8c.4-.3 1-.3 1.5 0l4.9 2.8c.5.3.8.8.8 1.3v5.8c0 .5-.3 1-.8 1.3L12.8 19c-.5.3-1.1.3-1.5 0l-5-2.8c-.5-.3-.8-.8-.8-1.3V9.1c0-.5.3-1 .8-1.3z\"}},\ncustom40:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 6.7H6.2c-.8 0-1.4.7-1.4 1.5v8.1c0 .8.6 1.5 1.4 1.5h11.6c.8 0 1.4-.7 1.4-1.5V8.2c0-.8-.6-1.5-1.4-1.5zm0 1.5v1.4H6.2V8.2h11.6zM6.2 16.3V12h11.6v4.3H6.2zm4.1-3.1c-.3 0-.6.2-.7.4-.1.1-.1.1-.2 0-.1-.2-.4-.4-.8-.4-.5 0-.9.4-.9 1s.4.9.9.9c.4 0 .7-.1.8-.4.1-.1.1-.1.2 0 .1.3.4.4.7.4h.1c.5 0 .9-.4.9-.9v-.1c0-.5-.4-.9-1-.9zm5.5.2H13c-.3 0-.5.3-.5.5v.5c0 .3.2.5.5.5h2.8c.3 0 .5-.2.5-.5v-.5c0-.2-.2-.5-.5-.5z\"}},\ncustom41:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M18.2 7H5.8c-.8 0-1.5.6-1.5 1.4v7c0 .8.7 1.4 1.5 1.4h12.4c.8 0 1.5-.6 1.5-1.4v-7c0-.8-.7-1.4-1.5-1.4zM7.4 15.4c0-1-.7-1.7-1.6-1.7v-3.6c.9 0 1.6-.8 1.6-1.7h9.2c0 .9.7 1.7 1.6 1.7v3.6c-.9 0-1.6.7-1.6 1.7H7.4z\"},\"circle\":{\"cx\":\"12\",\"cy\":\"11.76\",\"r\":\"2.4\"}}},\ncustom42:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 5.3H6.2c-.8 0-1.4.6-1.4 1.4v1.5c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4V6.7c0-.8-.6-1.4-1.4-1.4zm0 4.8H6.2c-.2 0-.4.2-.4.5v6.7c0 .8.6 1.4 1.4 1.4h9.6c.8 0 1.4-.6 1.4-1.4v-6.7c0-.3-.2-.5-.4-.5zm-3.2 2.1c0 .4-.3.8-.7.8h-3.8c-.4 0-.7-.4-.7-.8 0-.3.3-.7.7-.7h3.8c.4 0 .7.3.7.7z\"}},\ncustom43:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.6 10.4c0-.1.1-.1.1-.2v-.3l-.1-.1v-.1s-.1 0-.1-.1l-2.8-4c-.2-.2-.4-.3-.6-.3H7.4c-.2 0-.4.1-.6.3L4 9.7h-.1v.1c0 .1-.1.1-.1.1v.3c0 .1.1.1.1.2v.1H4v.1l7.2 7.9.1.1h.1v.1h.6v-.1h.1v-.1h.1l7.2-7.9v-.1l.2-.1zm-7.8-1h-1.2l1.2-2 1.1 2h-1.1zm0 1.4h1.4l-1.4 4.7-1.5-4.7h1.5zM13 6.7h1.8l-.7 1.9L13 6.7zM9.4 8.6l-.7-1.9h1.8L9.4 8.6zm-.6 2.2l1.4 4.3-4-4.3h2.6zm5.9 0h2.6l-3.9 4.3 1.3-4.3zm2.9-1.4h-2.2l.7-2.1 1.5 2.1zM7.4 7.3l.7 2.1H6l1.4-2.1z\"}},\ncustom44:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.7 6.9c-1.2-1.5-2.3-2.1-4.5-2.1-.9 0-2.1.4-2.6.5 0-.3-.2-.5-.5-.5h-.9c-.3 0-.5.2-.5.5v1.9c0 .3.2.5.5.5h.9c.3 0 .5-.2.5-.5h.5c.4 0 .7.3.7.7 0 .4.3.7.7.7v3.9c-.5 0-.9.4-.9.9v4.4c0 .8.6 1.4 1.4 1.4h.5c.8 0 1.4-.6 1.4-1.4v-4.4c0-.5-.4-.9-.9-.9V8.6c.4 0 .7-.5.7-.9s.3-.7.6-.7c1 0 1.5.3 1.8.6.1.1.4.1.5 0 .2-.2.3-.4.1-.7z\"}},\ncustom45:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.9 10.3h8.2v3.4H7.9zm11.8-.4V8.6c0-.8-.7-1.4-1.5-1.4H5.8c-.8 0-1.5.6-1.5 1.4v1.3c0 .2.1.3.3.4.5.4.9 1 .9 1.7s-.4 1.3-.9 1.6c-.2.1-.3.3-.3.4v1.4c0 .8.7 1.4 1.5 1.4h12.4c.8 0 1.5-.6 1.5-1.4v-1.3c0-.2-.1-.3-.3-.4-.5-.4-.9-1-.9-1.7s.4-1.3.9-1.6c.2-.2.3-.3.3-.5zM17 15.1H7c-.3 0-.5-.2-.5-.5V9.4c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v5.2c0 .3-.2.5-.5.5z\"}},\ncustom46:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.6 8.9H9.4c-.3 0-.5.2-.5.5v5.2c0 .3.2.5.5.5h5.2c.3 0 .5-.2.5-.5V9.4c0-.3-.2-.5-.5-.5zm4.2-2.4c.3 0 .4-.2.4-.4v-.8c0-.3-.2-.5-.5-.5h-.8c-.2 0-.4.1-.4.4-.2.4-.6.8-1.2.8s-1-.4-1.1-.8c-.1-.3-.3-.4-.5-.4h-1.1c-.2 0-.4.1-.4.4-.2.4-.6.8-1.2.8s-1-.4-1.2-.8c0-.3-.2-.4-.4-.4H9.3c-.2 0-.4.1-.5.4-.1.4-.6.8-1.1.8-.5 0-1-.4-1.2-.8 0-.3-.2-.4-.4-.4h-.8c-.3 0-.5.2-.5.5v.8c0 .2.1.4.4.4.4.2.8.6.8 1.2s-.4 1-.8 1.1c-.3.1-.4.3-.4.5v1.1c0 .2.1.4.4.4.4.2.8.6.8 1.2s-.4 1-.8 1.2c-.3 0-.4.2-.4.4v1.1c0 .2.1.4.4.5.4.1.8.6.8 1.1s-.4 1-.8 1.2c-.3 0-.4.2-.4.4v.8c0 .3.2.5.5.5h.8c.2 0 .4-.1.4-.4.2-.4.6-.8 1.2-.8.5 0 1 .4 1.1.8.1.3.3.4.5.4h1.1c.2 0 .4-.1.4-.4.2-.4.6-.8 1.2-.8s1 .4 1.2.8c0 .3.2.4.4.4h1.1c.2 0 .4-.1.5-.4.1-.4.6-.8 1.1-.8s1 .4 1.2.8c0 .3.2.4.4.4h.8c.3 0 .5-.2.5-.5v-.8c0-.2-.1-.4-.4-.4-.4-.2-.8-.6-.8-1.2s.4-1 .8-1.1c.3-.1.4-.3.4-.5v-1.1c0-.2-.1-.4-.4-.4-.4-.2-.8-.6-.8-1.2s.4-1 .8-1.2c.3 0 .4-.2.4-.4V9.3c0-.2-.1-.4-.4-.5-.4-.1-.8-.6-.8-1.1s.4-1 .8-1.2zm-2.2 8.6c0 .8-.7 1.5-1.5 1.5H8.9c-.8 0-1.5-.7-1.5-1.5V8.9c0-.8.7-1.5 1.5-1.5h6.2c.8 0 1.5.7 1.5 1.5v6.2z\"}},\ncustom47:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.4 17.3H7.2c-.8 0-1.4.6-1.4 1.4 0 .3.2.5.4.5h10.1c.3 0 .5-.2.5-.5 0-.8-.6-1.4-1.4-1.4zm3.2-7.6l-3.8-3.6.6-.9c.1-.1 0-.3-.2-.4-1.1-.2-1.9.6-1.9.6-7.3 0-6.1 8.2-5.8 10.1.1.2.3.3.5.3h6.5c.2 0 .3-.2.2-.3-1.3-1.7-2-3.5-2.5-4.6 0-.2.2-.4.4-.3 1.7.9 2.4-.1 3.6.7.6.3 1.3.2 1.8-.3l.6-.6c.2-.2.2-.5 0-.7zm-4.9-.8c-.4 0-.7-.3-.7-.7s.3-.8.7-.8.7.4.7.8-.3.7-.7.7z\"}},\ncustom48:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.7 5.8h-2.4v-.5c0-.3-.2-.5-.5-.5H8.2c-.3 0-.5.2-.5.5v.5H5.3c-.3 0-.5.2-.5.4v3.2c0 1.2 1 2.1 2.2 2.1h1.1c.6 1.6 2.1 2.6 3.9 2.7 1.8 0 3.3-1.1 4-2.7h1c1.2 0 2.2-.9 2.2-2.1V6.2c0-.2-.2-.4-.5-.4zM7 10.1c-.4 0-.8-.3-.8-.7V7.2h1.5v2.9H7zm10.8-.7c0 .4-.4.7-.8.7h-.7V7.2h1.5v2.2zm-3.4 8.4h-.2c-.8 0-1.5-.7-1.5-1.5v-.5c0-.1-.1-.2-.2-.2h-1c-.1 0-.2.1-.2.2v.5c0 .8-.7 1.5-1.5 1.5h-.2c-.3 0-.5.2-.5.4v.5c0 .3.2.5.5.5h4.8c.3 0 .5-.2.5-.5v-.5c0-.2-.2-.4-.5-.4z\"}},\ncustom49:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 9.8c-1.2 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2 2.2-1 2.2-2.2-1-2.2-2.2-2.2zm0 3.4c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2zm0-8.4C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 12.7c0 .3-.2.5-.5.5-2.9-.3-5.2-2.6-5.5-5.5 0-.3.2-.5.5-.5H7c.2 0 .4.2.5.4.2 2.2 1.9 3.9 4.1 4.1.2.1.4.3.4.5v.5zm0-1.9c-2 0-3.6-1.6-3.6-3.6S10 8.4 12 8.4s3.6 1.6 3.6 3.6-1.6 3.6-3.6 3.6zm5.5-3.6H17c-.2 0-.4-.2-.5-.4-.2-2.2-1.9-3.9-4.1-4.1-.2-.1-.4-.3-.4-.5v-.5c0-.3.2-.5.5-.5 2.9.3 5.2 2.6 5.5 5.5 0 .3-.2.5-.5.5z\"}},\ncustom5:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.9 6.1c-2.4-.9-5.3-1.1-7.8-.3-2.2.7-4.5 2.4-4.8 4.9-.1.5-.1 1.1 0 1.6.1.2.2.5.3.8 0 .1.1.2.1.3l-.2.5C5.8 15 5.3 16.2 5 17.4c-.1.6-.4 1.3.1 1.7.3.1.6.1.8 0 .3-.1.3-.4.4-.7.2-1.3.6-2.6 1.3-3.7.3-.5.7-1 1.1-1.5.4-.4.9-1.1 1.5-.9.6.2.6.9.2 1.3s-.8.7-.8 1.3c0 .4.2.8.6 1.1.5.4 1.4.5 2 .5 1.3-.1 2.3-.5 3.3-1.2 1.4-1 1.9-2.6 2.2-4.2.1-.9.3-1.9.6-2.8.1-.4.3-.8.5-1.1.1-.2.3-.4.4-.6 0-.2-.1-.4-.3-.5z\"}},\ncustom50:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.4 13.5c-.6.3-1.2.4-1.8.4-.8 0-1.6-.2-2.2-.6h-.2c-.7.4-1.4.6-2.2.6s-1.5-.2-2.2-.6h-.2c-.6.4-1.4.6-2.2.6-.6 0-1.2-.1-1.8-.4-.1-.1-.3.1-.3.2v2.9c0 .6.3 1.1.8 1.4 1.2.5 2.5.9 3.9 1.1.3 0 .6-.2.6-.5v-1.8c0-.8.6-1.4 1.4-1.4.8 0 1.4.6 1.4 1.4v1.8c0 .3.3.5.6.5 1.3-.2 2.6-.6 3.8-1.1.6-.3.9-.8.9-1.4v-2.9c0-.1-.2-.3-.3-.2zm-11-1c.9 0 1.6-.4 2.1-1 .1-.1.3-.1.4 0 .5.6 1.2 1 2.1 1 .8 0 1.6-.4 2.1-1 .1-.1.2-.1.3 0 .5.6 1.3 1 2.1 1 1.4 0 2.5-1 2.6-2.1.1-.2 0-.4-.2-.5l-6-4.8c-.6-.4-1.3-.4-1.8 0L5 9.9c-.2.1-.2.3-.2.5.2 1.2 1.3 2.1 2.6 2.1z\"}},\ncustom51:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.7 6.1c.6.5 1.2 1.4 1.5 2.2 0 .1.2.3.3.3h.5c.3 0 .5 0 .7-.1.6-.2 1.1-.4 1.6-.9.7-.7 1-1.8.7-2.7-.9-.2-1.9 0-2.7.7-.2.3-.3.5-.5.8-.4-.6-.8-1.2-1.4-1.5-.3-.2-.8-.1-1 .3-.1.3 0 .7.3.9zm7.4 3.5c-2.5-1.3-3 .5-5.1.5s-2.6-1.8-5.1-.5c-2.4 1.4-1.7 5.8-.7 7.5.8 1.5 2.4 3 5.6 1.5h.4c3.2 1.5 4.8 0 5.6-1.5 1-1.7 1.7-6.1-.7-7.5z\"}},\ncustom52:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 8.4c0-.7 0-1.5-.1-2.3-.1-.6-.6-1.1-1.2-1.2-.8-.1-1.6-.1-2.3-.1-.2 0-.3.3-.2.4l3.4 3.4c.1.1.4 0 .4-.2zm-5.7-3c-.1-.2-.3-.2-.4-.2-1.8.5-3.6 1.5-5 2.9s-2.3 3.1-2.8 4.8c-.1.2 0 .4.1.5l5.2 5.2c.1.2.3.2.5.2 1.7-.6 3.4-1.5 4.8-2.9s2.4-3.1 2.9-4.9c0-.2 0-.4-.1-.5l-5.2-5.1zm-2 9.4c-.3.3-.7.3-1 0l-1.4-1.4c-.2-.2-.2-.7 0-1 .3-.3.8-.3 1.1 0l1.3 1.4c.3.2.3.7 0 1zm1.7-1.7c-.3.3-.8.3-1 0l-1.4-1.3c-.3-.3-.3-.8 0-1 .3-.3.8-.3 1 0l1.4 1.3c.3.3.3.7 0 1zm1.7-1.7c-.3.3-.8.3-1.1 0l-1.3-1.3c-.3-.3-.3-.8 0-1.1.3-.2.7-.2 1 0l1.4 1.4c.2.3.2.7 0 1zm-10.1 4c0 .8 0 1.7.1 2.5.1.6.6 1.1 1.2 1.2.9.1 1.7.1 2.5.1.2 0 .3-.3.2-.4l-3.6-3.5c-.1-.2-.4-.1-.4.1z\"}},\ncustom53:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.9 13.7h-.1c-.6 0-1-.5-1-1V9.5c0-2.8-2.5-5-5.4-4.7-2.4.3-4.2 2.4-4.2 4.9v2.9c0 .6-.5 1.1-1.1 1.1-.5 0-.8.3-.8.8v.5c0 .5.3.8.8.8h11.8c.5 0 .8-.3.8-.8v-.5c0-.5-.3-.8-.8-.8zm-4.3 3.6h-3.2c-.2 0-.3.1-.3.3.2.9 1 1.6 1.9 1.6s1.8-.6 1.9-1.6c0-.2-.1-.3-.3-.3z\"}},\ncustom54:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.5 11.8c1.6-.3 3-.9 4.4-1.6.5-.2 1.4-.7 1.8-.9.2 0 .3-.2.2-.3-.1-.7-.7-1.3-1.4-1.3H11v-.9c0-.3-.2-.5-.4-.5v-1c0-.3-.3-.5-.5-.5h-1c-.2 0-.5.2-.5.5v1c-.2 0-.4.2-.4.5v.9h-.5c-.8 0-1.5.7-1.5 1.5v2.3c0 .2.2.3.3.3zm10.8 4.8s1.7-2.7 1.9-6.6c0-.3-.2-.5-.5-.5-5.7.2-8.4 3.7-13.4 3.9-.3 0-.5.3-.5.5v1.8c0 .8.6 1.4 1.3 1.5 2.6.2 8 .5 11.1 1 .3.1.6-.2.5-.5-.1-.4-.2-.8-.4-1.1zm-.3-4.4c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.8.3.8.7-.4.7-.8.7z\"}},\ncustom55:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.7 14.6h3.1c.3 0 .5-.2.5-.4V7c0-.6-.5-1-1-1H7.8c-.4 0-.6.2-.6.6v7.6c0 .2.2.4.5.4zm10.5-7.2v7.7c0 .5-.4 1-.9 1H6.7c-.5 0-.9-.5-.9-1V7.4c-.8 0-1.5.7-1.5 1.5v7.2c0 .8.7 1.4 1.5 1.4h4.5c.3 0 .5.2.5.5s.2.5.5.5h1.4c.3 0 .5-.2.5-.5s.2-.5.5-.5h4.5c.8 0 1.5-.6 1.5-1.4V8.9c0-.8-.7-1.5-1.5-1.5zm-5 7.2h3c.4 0 .6-.2.6-.5V6.5c0-.3-.2-.5-.5-.5h-2.6c-.5 0-1 .4-1 1v7.2c0 .2.2.4.5.4z\"}},\ncustom56:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15 7.3c-1.5 1.5-3.3-.4-5 1.3l-4.8 4.8c-.5.6-.5 1.5 0 2l1.7 1.7 1.7 1.7c.5.5 1.4.5 2 0l4.8-4.9c1.7-1.6-.2-3.5 1.4-5l.3-.4c.1-.1.1-.2 0-.3l-1.3-1.3c-.1-.1-.2-.1-.3 0l-.5.4zm-1.1 6.1l-1.7 1.7c-.2.2-.5.2-.7 0l-1.3-1.3-1.3-1.4c-.2-.2-.2-.4 0-.6l1.6-1.7c.2-.2.5-.2.7 0l1.4 1.3 1.3 1.4c.2.2.2.4 0 .6zm5.2-7.5l-.5-.5-.6-.5c-.1-.2-.4-.2-.6 0l-.6.6c-.1.1-.1.3 0 .4l1.3 1.3c.1.1.2.1.3 0l.6-.6c.2-.2.2-.5.1-.7z\"}},\ncustom57:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.7 12.6v5.9c0 .2.2.3.4.2 1.1-.7 4.6-2.6 4.6-2.6.5-.3.8-.8.8-1.3V9.5c0-.2-.2-.3-.4-.2L13 12.2c-.2.1-.3.3-.3.4zm-.5-1.6l5.2-2.9c.2-.1.2-.3 0-.4C16.3 7 12.7 5 12.7 5c-.4-.2-1-.2-1.4 0 0 0-3.6 2-4.7 2.7-.2.1-.2.3 0 .4l5.2 2.9c.1.1.3.1.4 0zM11 12.2L5.9 9.3c-.2-.1-.4 0-.4.2v5.3c0 .5.3 1 .8 1.2 0 0 3.5 2 4.6 2.7.2.1.4-.1.4-.2v-5.9c0-.1-.1-.3-.3-.4z\"}},\ncustom58:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.1 11c-.4 0-.8-.3-.7-.7 0-.4.3-.7.7-.7h2.1c.1 0 .2 0 .2-.1.2-.4.3-.7.5-1 0-.2-.1-.3-.3-.3h-1.5c-.4 0-.7-.3-.8-.7 0-.4.4-.8.8-.8H19c.1 0 .2-.1.2-.2v-.7c0-.3-.2-.5-.5-.5h-2.5c-.7 0-1.3.6-1.3 1.3 0 1.3-.9 2.5-2.2 2.9v-2c.5-.3.8-.9.7-1.5-.1-.6-.6-1.1-1.2-1.2-.9-.1-1.6.6-1.6 1.4 0 .6.3 1 .7 1.3v2C10 9.2 9.1 8 9.1 6.6c0-.7-.5-1.3-1.3-1.3H5.3c-.3 0-.5.2-.5.5v.7c0 .1.1.2.2.2h1.9c.4 0 .8.3.8.7 0 .4-.3.8-.7.8H5.4c-.2 0-.3.2-.2.3.1.3.2.7.4 1 .1.1.2.1.3.1h2c.4 0 .8.3.8.7 0 .4-.3.8-.7.8h-.6c-.2 0-.3.3-.2.4 1.1.9 2.4 1.5 4.1 1.5v5.5c0 .3.3.7.7.7.4 0 .8-.3.8-.7V13c1.7 0 3-.7 4-1.5.2-.2.1-.5-.1-.5h-.6z\"}},\ncustom59:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.4 7.4c.2 0 .4-.2.4-.4 0-.1-.1-.3-.3-.4-.3-.2-.8-1-.9-1.5-.1-.2-.3-.3-.5-.3H9.3c-.2 0-.4.1-.4.3-.2.5-.7 1.3-1 1.5-.1.1-.2.2-.2.4 0 .3.2.4.4.4h8.3zM7.7 17.7c0 .9.6 1.5 1.4 1.5h6.3c.8 0 1.4-.6 1.4-1.4v-.1c0-.2-.2-.4-.5-.4H8.1c-.2 0-.4.2-.4.4zm9.1-2.3v-6c0-.3-.2-.5-.5-.5H8.2c-.3 0-.5.2-.5.5v6c0 .2.2.4.5.4h8.1c.3 0 .5-.2.5-.4z\"}},\ncustom6:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 18.2H5.8c-.8 0-1.2-.8-.9-1.4l6.3-10.6c.3-.6 1.3-.6 1.6 0l6.3 10.6c.4.6-.1 1.4-.8 1.4H12z\"}},\ncustom60:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 10.9c-.6-3.5-3.6-6.1-7.2-6.1s-6.6 2.6-7.2 6.1c0 .2.2.4.4.2.3-.3.8-.5 1.3-.5.7 0 1.3.3 1.7.8.1.1.2.1.3 0 .4-.5 1-.8 1.7-.8s1.2.3 1.6.8c.1.1.3.1.4 0 .4-.5 1-.8 1.6-.8s1.3.3 1.7.8c.1.1.2.1.3 0 .4-.5 1-.8 1.7-.8.5 0 1 .2 1.3.5.2.2.4 0 .4-.2zm-4.3 5.4c-.4 0-.7.3-.7.7s-.4.8-.8.8-.7-.4-.7-.8v-3.3c0-.4-.3-.7-.7-.7s-.7.3-.7.7V17c0 1.2.9 2.2 2.1 2.2s2.2-1 2.2-2.2c0-.4-.3-.7-.7-.7z\"}},\ncustom61:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 4.8h-.9c-.3 0-.5.2-.5.5v.9c0 .3-.2.5-.5.5h-.5c-.2 0-.5-.2-.5-.5v-.9c0-.3-.2-.5-.4-.5h-1c-.3 0-.5.2-.5.5v.9c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-.9c0-.3-.2-.5-.5-.5h-1c-.2 0-.4.2-.4.5v.9c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.9c0-.3-.2-.5-.5-.5h-.9c-.3 0-.5.2-.5.5v2.4c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4V5.3c0-.3-.2-.5-.5-.5zM16.4 11c0-.3-.2-.4-.4-.4H8c-.2 0-.4.1-.4.4l-1.1 7.6c-.1.3.2.6.5.6h3.1c.2 0 .5-.2.5-.5v-2.3c0-.8.6-1.5 1.4-1.5.8 0 1.4.6 1.4 1.4v2.4c0 .3.3.5.5.5H17c.3 0 .6-.2.5-.5L16.4 11z\"}},\ncustom62:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.5 16.8h-13c-.4 0-.7.3-.7.7 0 .4.3.7.7.7h13c.4 0 .7-.3.7-.7s-.3-.7-.7-.7zM5.8 15.4h8.1v-1c0-.3.2-.5.5-.5h2.4c.3 0 .5.2.5.5v1h.9c.3 0 .5-.3.5-.5V6.7c0-.2-.2-.5-.5-.5H5.8c-.3 0-.5.3-.5.5v8.2c0 .2.2.5.5.5zm2.1-6.3c0-.2.2-.5.5-.5h7c.2 0 .4.3.4.5v.5c0 .3-.2.5-.4.5h-7c-.3 0-.5-.2-.5-.5v-.5zm0 2.9c0-.3.2-.5.5-.5H13c.2 0 .4.2.4.5v.5c0 .2-.2.5-.4.5H8.4c-.3 0-.5-.3-.5-.5V12z\"}},\ncustom63:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.1 14.4h3.8c.3 0 .5-.2.5-.5v-3.8c0-.3-.2-.5-.5-.5h-3.8c-.3 0-.5.2-.5.5v3.8c0 .3.2.5.5.5zm8.4-1.7c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1.2V9.8h1.2c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1.2v-.2c0-.8-.7-1.5-1.5-1.5h-.2V5.5c0-.4-.3-.7-.7-.7s-.7.3-.7.7v1.2h-1.5V5.5c0-.4-.3-.7-.7-.7s-.7.3-.7.7v1.2H9.8V5.5c0-.4-.3-.7-.7-.7s-.7.3-.7.7v1.2h-.2c-.8 0-1.5.7-1.5 1.5v.2H5.5c-.4 0-.7.3-.7.7s.3.7.7.7h1.2v1.5H5.5c-.4 0-.7.3-.7.7s.3.7.7.7h1.2v1.5H5.5c-.4 0-.7.3-.7.7s.3.7.7.7h1.2v.2c0 .8.7 1.5 1.5 1.5h.2v1.2c0 .4.3.7.7.7s.7-.3.7-.7v-1.2h1.5v1.2c0 .4.3.7.7.7s.7-.3.7-.7v-1.2h1.5v1.2c0 .4.3.7.7.7s.7-.3.7-.7v-1.2h.2c.8 0 1.5-.7 1.5-1.5v-.2h1.2c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1.2v-1.5h1.2zm-2.7 2.4c0 .4-.3.7-.7.7H8.9c-.4 0-.7-.3-.7-.7V8.9c0-.4.3-.7.7-.7h6.2c.4 0 .7.3.7.7v6.2z\"}},\ncustom64:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 12.5c-2.9 0-5.3-2.4-5.3-5.3S9.1 6.7 12 6.7s5.3 2.4 5.3 5.3-2.4 5.3-5.3 5.3zm2.8-8.4l-4 1.4c-.2.1-.4.3-.5.5l-1.4 4c-.1.2.1.4.3.3l4-1.4c.2-.1.4-.3.5-.5l1.4-4c.1-.2-.1-.4-.3-.3zM12 13c-.5 0-1-.5-1-1s.5-1 1-1 1 .5 1 1-.5 1-1 1z\"}},\ncustom65:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.3 16.1h-12c-.3 0-.5.2-.5.4v.1c0 .8.6 1.4 1.4 1.4h10.1c.8 0 1.5-.6 1.5-1.4v-.1c0-.2-.3-.4-.5-.4zm-.5-9.6H5.3c-.2 0-.4.2-.5.5 0 .6 0 1.8.1 2.5.3 2.2 1.5 4.1 3.1 5.1.1 0 .2.1.3.1h5c.1 0 .2-.1.2-.1 1-.6 1.8-1.4 2.3-2.5.3.1.6.1 1 .1 1.6 0 2.9-1.3 2.9-2.8s-1.3-2.9-2.9-2.9zm0 4.3h-.4c.3-.8.4-1.6.4-2.5v-.4c.8 0 1.4.7 1.4 1.5s-.6 1.4-1.4 1.4z\"}},\ncustom66:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.8 13.3l-3.5-3.5c-.6-.6-1.5-.6-2 0l-3.5 3.5c-.6.5-.6 1.4 0 2l3.5 3.5c.5.5 1.4.5 2 0l3.5-3.5c.5-.6.5-1.5 0-2zm-6.6 1.6c-.4.3-.9.3-1.2 0-.3-.4-.3-.9 0-1.2.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.2zm2.7 2.7c-.4.3-.9.3-1.2 0-.3-.3-.3-.9 0-1.2.3-.3.9-.3 1.2 0 .3.3.3.9 0 1.2zm0-5.4c-.4.3-.9.3-1.2 0-.3-.4-.3-.9 0-1.2.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.2zm2.7 2.7c-.3.3-.9.3-1.2 0-.3-.4-.3-.9 0-1.2.4-.3.9-.3 1.2 0 .3.3.3.8 0 1.2zM12.7 8V6.2c0-.8-.6-1.4-1.4-1.4H6.2c-.8 0-1.4.6-1.4 1.4v5.1c0 .8.6 1.4 1.4 1.4H8c.2 0 .3-.1.4-.1l.3-.3 3.5-3.6.3-.3c.1-.1.2-.2.2-.4zm-5.9 3.5c-.4 0-.8-.4-.8-.8s.4-.9.8-.9.9.4.9.9-.4.8-.9.8zm2-1.9c-.5 0-.9-.4-.9-.8s.4-.9.9-.9.8.4.8.9-.4.8-.8.8zm1.9-1.9c-.5 0-.9-.4-.9-.9s.4-.8.9-.8.8.4.8.8-.4.9-.8.9z\"}},\ncustom67:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13 12.7l-.3-.5c-.1-.2-.3-.3-.6-.3 0 0-.1.1-.2.1l-.8.3c-.3-.3-.7-.5-1.1-.6l-.2-.9c0-.3-.3-.5-.6-.5h-.6c-.2 0-.5.2-.6.5l-.1.9c-.4.1-.8.3-1.1.6L6 12h-.3c-.2 0-.4.1-.5.3l-.3.5c-.1.2-.1.5.2.7l.7.6c-.1.2-.1.4-.1.6s0 .5.1.7l-.7.6c-.3.2-.3.5-.2.7l.3.5c.1.2.3.3.5.3H6l.8-.3c.3.3.7.5 1.1.6l.1.9c.1.3.4.5.6.5h.6c.3 0 .6-.2.6-.5l.2-.9c.4-.1.8-.4 1.1-.7l.8.3c.1.1.2.1.2.1.3 0 .5-.1.6-.3l.3-.5c.1-.2.1-.6-.2-.8l-.7-.5c.1-.3.1-.5.1-.7 0-.2 0-.4-.1-.6l.7-.6c.2-.2.3-.5.2-.8zm-4.1 3.7c-.9 0-1.6-.7-1.6-1.6s.7-1.7 1.6-1.7c.9 0 1.7.7 1.7 1.7s-.8 1.6-1.7 1.6zm10.1-7l-.5-.5v-.5-.5l.5-.5c.2-.1.2-.4.1-.6l-.2-.4c-.1-.1-.3-.2-.4-.2h-.2l-.7.3c-.3-.3-.6-.5-.9-.5l-.1-.8c-.1-.2-.3-.4-.5-.4h-.5c-.2 0-.4.2-.5.4l-.1.7c-.3.1-.6.3-.9.6l-.7-.4h-.1c-.2 0-.4.1-.5.3l-.2.4c-.1.2-.1.4.1.6l.6.4c-.1.2-.1.4-.1.6 0 .1 0 .3.1.5l-.6.4c-.2.2-.2.4-.1.6l.2.4c.1.2.3.3.5.3h.1l.7-.3c.3.2.6.4.9.5l.1.7c.1.2.3.4.5.4h.5c.2 0 .5-.2.5-.4l.1-.7c.3-.1.7-.3.9-.6l.7.3h.2c.1 0 .3-.1.4-.2l.2-.4c.1-.1.1-.4-.1-.5zm-3.1.3c-.8 0-1.4-.6-1.4-1.3s.6-1.3 1.4-1.3 1.3.6 1.3 1.3-.6 1.3-1.3 1.3z\"}},\ncustom68:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm5.7 6.5h-1.9c-.1-1.7-.4-3.2-1-4.3 1.6.8 2.7 2.4 2.9 4.3zm-6.4-4.7v4.7H9.6c.1-2.3.9-4.1 1.7-4.7zm0 6.1v4.7c-.8-.6-1.6-2.4-1.7-4.7h1.7zm1.4 4.7v-4.7h1.7c-.1 2.3-.9 4.1-1.7 4.7zm0-6.1V6.6c.8.6 1.6 2.4 1.7 4.7h-1.7zM9.2 7c-.6 1.1-.9 2.6-1 4.3H6.3C6.5 9.4 7.6 7.8 9.2 7zm-2.9 5.7h1.9c.1 1.7.4 3.2 1 4.3-1.6-.8-2.7-2.4-2.9-4.3zm8.5 4.3c.6-1.1.9-2.6 1-4.3h1.9c-.2 1.9-1.3 3.5-2.9 4.3z\"}},\ncustom69:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.6 10.8c-1.3-1-2.7-.5-3.6.4-.4.3-.9.5-1.5.6-.7.2-1.4.5-1.9 1-1.3 1.3-1 2.9.8 4.7h.1v.1c1.1 1 2.1 1.6 3 1.6.7 0 1.3-.3 1.9-.8.5-.5.7-1.2.9-1.9.2-.5.4-1.1.7-1.4.6-.5.9-1.1.9-1.8.1-.4 0-1.1-.5-1.7 0 0-.3-.4-.8-.8zm-3 5.8c-.1.1-.2.2-.4.2s-.4-.1-.5-.2l-1.3-1.3c-.3-.3-.3-.7 0-.9s.7-.3.9 0l1.3 1.3c.3.2.3.6 0 .9zm1.2-2c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.6 1.2 1.2-.5 1.2-1.2 1.2zM19.1 6L18 4.9c-.2-.1-.6-.1-.8 0L16 6.2c-.2.2-.2.5 0 .7V7l-2.4 2.4c-.1.1-.1.3 0 .4.2.2.5.4.7.6.1.1.2.1.3 0L17 8h.1c.2.2.5.2.7 0l1.3-1.2c.1-.2.1-.5 0-.8z\"}},\ncustom7:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.7 18.7c-.8 0-1.4-.6-1.4-1.4V6.7c0-.8.6-1.4 1.4-1.4h10.6c.8 0 1.4.6 1.4 1.4v10.6c0 .8-.6 1.4-1.4 1.4H6.7z\"}},\ncustom70:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.5 15.3l-2.8-2.7c-.5-.6-1.5-.6-2 0l-1.8 1.7c-.1.2-.1.5 0 .7l.4.3.3.3 2.8 2.8.2.2.5.5c.2.1.5.1.7 0l1.7-1.7c.6-.6.6-1.5 0-2.1zm-4.5-1l.4-.3c.2-.2.4-.2.6 0l2.1 2c.2.2.2.5 0 .7l-.3.3c-.2.2-.5.2-.7 0L7 15c-.2-.2-.2-.5 0-.7zm3-2.5l2.2 2.2c.1 0 .1.1.2.1l1-.1c.2 0 .3-.1.3-.2v-.9c0-.1.1-.2.2-.2h.9c.1 0 .2-.1.2-.2v-.9c0-.1.1-.2.3-.2h.9c.1 0 .2-.1.2-.3v-.9c0-.1.1-.2.2-.2h.9c.2 0 .3-.1.3-.2v-.9c0-.1.1-.2.2-.2l1-.2c.1 0 .2-.2.1-.3L17 5c-.2-.2-.5-.2-.7 0L10 11.2c-.2.2-.2.4 0 .6z\"}},\ncustom71:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.1 7.4c-1.4-1.4-3.3-2.2-5.3-2.1-3.9.1-7 3.4-7 7.3v2.3c0 .8.6 1.4 1.4 1.4h1v1.2c0 .6.5 1.1 1.1 1.2.7.1 1.3-.5 1.3-1.2v-4.3c0-.6-.5-1.1-1.1-1.2-.7-.1-1.3.5-1.3 1.2v1.7h-.5c-.2 0-.5-.2-.5-.5v-1.8c0-3.1 2.6-5.8 5.6-5.9 1.6 0 3.1.5 4.2 1.7 1.1 1.1 1.8 2.5 1.8 4.1v1.9c0 .3-.3.5-.5.5h-.5v-1.7c0-.6-.5-1.1-1.1-1.2-.7-.1-1.3.5-1.3 1.2v4.3c0 .6.5 1.1 1.1 1.2.7.1 1.3-.5 1.3-1.2v-1.2h1c.8 0 1.4-.6 1.4-1.4v-2.3c0-1.9-.7-3.8-2.1-5.2z\"}},\ncustom72:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M18.5 4.8h-13c-.4 0-.7.3-.7.7s.3.7.7.7h5.8v1.5c-2.6.4-4.6 2.6-4.6 5.2v1.7c0 1.7 1.4 3.2 3.2 3.2h4.2c1.8 0 3.2-1.5 3.2-3.2v-1.7c0-2.7-2-4.9-4.6-5.2V6.2h5.8c.4 0 .7-.3.7-.7s-.3-.7-.7-.7zm-3.1 8.1c0 .7-.6 1.3-1.3 1.3H9.9c-.7 0-1.2-.6-1.3-1.3.1-1.8 1.5-3.3 3.4-3.3s3.3 1.5 3.4 3.3z\"},\"circle\":[{\"cx\":\"6.24\",\"cy\":\"18.24\",\"r\":\".96\"},{\"cx\":\"17.76\",\"cy\":\"18.24\",\"r\":\".96\"}]}},\ncustom73:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.6 8.4h12.8c.3 0 .5-.3.4-.6-.3-1-.7-1.9-1.3-2.7-.1-.2-.5-.3-.7-.1-.6.6-1.3.9-2.2.9-.9 0-1.7-.4-2.3-1-.2-.1-.5-.1-.6 0-.6.6-1.5 1-2.3 1-.9 0-1.6-.3-2.2-.9-.3-.2-.6-.1-.7.1-.6.8-1.1 1.7-1.3 2.7-.1.3.1.6.4.6zm13.6 1.9c0-.2-.2-.5-.5-.5H5.3c-.3 0-.5.3-.5.5v.1c0 4.5 3.1 8.2 7.2 8.8 4.1-.6 7.2-4.3 7.2-8.8v-.1z\"}},\ncustom74:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.4 17.5H11c-.2 0-.4.2-.4.5v.7c0 .3.2.5.4.5h2.4c.3 0 .5-.2.5-.5V18c0-.3-.2-.5-.5-.5zM12.2 4.8C9.3 4.8 7 7.1 7 9.8c0 1.8.9 3.4 2.5 4.3.5.3.9.9 1 1.6.1.2.3.4.5.4h2.5c.3 0 .4-.2.5-.4.1-.7.5-1.3 1.1-1.6 1.4-.9 2.4-2.5 2.4-4.3 0-2.7-2.3-5-5.3-5zm-1.6 2.3c-.5.9-.7 1.9-.8 2.8 0 .9.2 1.8.5 2.6.1.2-.1.4-.3.3-2.2-1.1-2.1-5.3.3-6.1.2-.1.4.2.3.4zm1.9 5.7c-.1.2-.4.2-.5 0-.4-1-.5-2.1-.5-3.1s.1-2.1.5-3c.1-.2.4-.2.5 0 .3.9.4 2 .5 3-.1 1-.2 2.1-.5 3.1zm1.9 0c-.2.1-.4-.1-.3-.3.3-.9.4-1.8.5-2.7-.1-.8-.3-1.9-.8-2.7-.1-.2.1-.5.3-.4 2.4.8 2.5 5 .3 6.1z\"}},\ncustom75:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 4.8c-.4 0-.7.3-.7.7v13c0 .4.3.7.7.7 4 0 7.2-3.2 7.2-7.2S16 4.8 12 4.8zm5.7 6.5h-1.9c-.1-1.7-.4-3.2-1-4.3 1.6.8 2.7 2.4 2.9 4.3zm-5 6.1v-4.7h1.7c-.1 2.3-.9 4.1-1.7 4.7zm0-6.1V6.6c.8.6 1.6 2.4 1.7 4.7h-1.7zm2.1 5.7c.6-1.1.9-2.6 1-4.3h1.9c-.2 1.9-1.3 3.5-2.9 4.3zM8 9.6c.2.1.5.1.7-.1L10 8c.2-.2.2-.5 0-.6L8.7 6c-.2-.1-.4-.1-.6 0-.1 0-.2.1-.3.1-1.8 1.3-3 3.5-3 5.9 0 2.4 1.2 4.6 3 5.9.1 0 .2.1.3.1.2.1.4.1.6 0l1.3-1.4c.2-.1.2-.4 0-.6l-1.3-1.5c-.2-.2-.5-.2-.7-.1l-.5.4C7 14 6.7 13 6.7 12s.3-2 .8-2.8l.5.4z\"}},\ncustom76:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.7 13.3c-.1-.2-.3-.4-.5-.3H12c-2.6 0-4.8-2.2-4.8-4.8V8c0-.2-.3-.3-.4-.1-.2.2-.3.5-.4.8-.4 1.4.1 2.9 1.3 3.7.5.4 1 .6 1.6.7l.2.4c0 .1.1.1.1.2l.7.3c.1 0 .2.2.1.3l-.2.7c0 .1 0 .2.1.3l.4.1c.1.1.2.2.1.3l-.2.8c0 .1 0 .2.1.3l.6.2c.1.1.1.2.1.3l-.2.8c0 .1 0 .2.2.3l1.6.7c.1.1.2 0 .3-.1l.7-1.6c.1-.1.1-.3 0-.4l-1.3-3.7zm6.4-.3l-3.9-4c.2-.6.2-1.2 0-1.9-.5-1.3-1.7-2.2-3-2.3-2.1-.1-3.8 1.7-3.6 3.8.2 1.4 1.3 2.6 2.7 2.9.6.1 1.2 0 1.8-.1l.3.3c.1.1.1.1.2.1h.8c.1 0 .2.1.2.2l.1.8c0 .1.1.2.3.2h.4c.1 0 .2.1.2.2l.1.8c0 .1.1.2.3.2h.6c.1 0 .2.1.2.2l.1.8c0 .1.1.2.3.2H19c.1 0 .2-.1.2-.3v-1.7c0-.2 0-.3-.1-.4zm-7.6-4.1c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2c0 .6-.5 1.2-1.2 1.2z\"}},\ncustom77:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.7 10.1h.9c.2 0 .3-.1.3-.3v-.3c0-1.8 1.3-3.3 3.1-3.3s3.1 1.5 3.1 3.3v.3c0 .2.1.3.3.3h.9c.2 0 .3-.1.3-.3v-.3c0-2.6-2-4.7-4.6-4.7S7.4 6.9 7.4 9.5v.3c0 .2.1.3.3.3zm9.1 1.4H7.4c-.8 0-1.4.7-1.4 1.5v4.8c0 .8.6 1.4 1.4 1.4h9.4c.8 0 1.4-.6 1.4-1.4V13c0-.8-.6-1.5-1.4-1.5zm-3.5 3.9c-.2.3-.4.7-.3 1.1l.2.7c0 .3-.1.6-.4.6h-1.6c-.3 0-.4-.3-.4-.6l.2-.7c.1-.4-.1-.8-.3-1.1-.2-.3-.3-.7-.2-1.1.1-.6.6-1 1.2-1.1 1-.2 1.8.5 1.8 1.4 0 .3-.1.5-.2.8z\"}},\ncustom78:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.8 7l-4.3-2.1c-.2-.1-.5-.1-.7 0l-4 2-4-2c-.2-.1-.4-.1-.7 0-.2.1-.3.4-.3.6v10.8c0 .3.1.5.4.7l4.3 2.1c.2.1.5.1.7 0l4-2 4 2c.1.1.2.1.3.1.1 0 .2 0 .4-.1s.3-.4.3-.6V7.7c0-.3-.1-.5-.4-.7zm-1 1.4v5.7c0 .3-.4.6-.7.5-1.1-.5-.2-2.3-1-3.3s-1.7 0-2.7-1.5c-.8-1.4.4-2.4 1.4-2.9.2-.1.3-.1.4 0L17.5 8c.2.1.3.2.3.4zm-6.2 8.4c-.1.1-.3 0-.5-.1-.3-.3-.5-.7-.5-1.1 0-.7-1.2-.5-1.2-1.9 0-1.2-1.5-1.5-2.6-1.4-.3 0-.6-.2-.6-.5V7.5c0-.4.4-.6.7-.5l2.6 1.3c.1 0 .1.1.1.1h.1c1.1.6.9 1.2.4 1.9-.5.9-.7 0-1.4-.2s-1.5.2-1.2.7.9 0 1.4.5.5 1.2 1.9.7 1.7-.2 2.2.2.7 1.5 0 2.2c-.4.4-.6 1.3-.8 1.9-.1.1-.1.3-.2.3l-.4.2z\"}},\ncustom79:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.4 9.8c-1 0-1.7.8-1.7 1.7s.7 1.7 1.7 1.7 1.6-.7 1.6-1.7-.7-1.7-1.6-1.7zm9.6 5.3h-4.6v-1.9h.5c.2 0 .5-.2.5-.5v-1.4c0-.3-.3-.5-.5-.5h-.6c-.4-2.4-2.4-4.3-4.9-4.3-2.8-.1-5.1 2.3-5.1 5.1.1 2.8 2.4 5 5.2 5h8.7v.4c0 .3.3.5.5.5h.5c.3 0 .5-.2.5-.5v-1.2c0-.4-.3-.7-.7-.7zm-9.6-.5c-1.8 0-3.2-1.4-3.2-3.1s1.4-3.1 3.2-3.1 3.1 1.4 3.1 3.1-1.4 3.1-3.1 3.1z\"}},\ncustom8:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.3 5.1l-5.8 6.3c-.3.3-.3.9 0 1.2l5.8 6.3c.4.4 1 .4 1.4 0l5.8-6.3c.3-.3.3-.9 0-1.2l-5.8-6.3c-.4-.4-1-.4-1.4 0z\"}},\ncustom80:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7 14.4c-1.4 0-2.4 1.1-2.4 2.4s1 2.4 2.4 2.4 2.4-1.1 2.4-2.4-1.1-2.4-2.4-2.4zm0 3.4c-.6 0-1-.5-1-1s.4-1 1-1 .9.5.9 1-.4 1-.9 1zm10-3.4c-1.3 0-2.4 1.1-2.4 2.4s1.1 2.4 2.4 2.4 2.4-1.1 2.4-2.4-1-2.4-2.4-2.4zm0 3.4c-.5 0-.9-.5-.9-1s.4-1 .9-1 1 .5 1 1-.4 1-1 1zm-.1-4.8c.5-.1 1 0 1.5.2.2.1.5 0 .6-.2 1.3-2.4-.7-3.4-2-4.1-.3-.1-.7.1-.7.5v1.4c0 .2-.2.5-.5.5-1.7-.3-3.3-2.2-5.2-2.2S8.4 11 8.4 11c-1.3 0-2.7-.1-3.3-.2-.3-.1-.5.2-.5.5 0 0 0 1.7 2.4 1.7 1.9 0 3.6 1.4 3.8 3.4 0 .5 0 1-.2 1.5 0 .1.1.3.3.3h2.2c.2 0 .3-.2.3-.3-.2-.5-.2-1-.2-1.5.2-1.8 1.8-3.4 3.7-3.4zM4.6 11.3zm6.3-3.7c0 .2.1.3.3.4l2.6.8c.2.1.4 0 .6-.2l.2-.4c.1-.2-.1-.4-.2-.4-.8-.1-2.3-.4-1.9-1.2.4-.7 1.3-.5 1.8-.3.2.1.5-.1.4-.3-.4-.8-1.2-1.3-2.1-1.2-1.2.1-1.9 1.2-1.8 2.4l.1.4z\"}},\ncustom81:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.5 4.8h-1.2c-3.7.2-8 1.1-8.2 1.2-.3.1-.5.4-.5.7v7.8c-.2-.1-.6-.1-.9-.1-1.6 0-2.9 1-2.9 2.4s1.3 2.4 2.9 2.4 2.9-1.1 2.9-2.4v-4.9c0-.3.1-.5.3-.5 1.2-.3 2.8-.6 5.9-.8.3 0 .5.2.5.5v2.5c-.3-.1-.6-.2-1-.2-1.6 0-2.9 1.1-2.9 2.4s1.3 2.4 2.9 2.4 2.9-1.1 2.9-2.4V5.5c0-.4-.3-.7-.7-.7zm-1.7 3.8c-2.9.2-4.4.4-5.7.7-.3.1-.5-.1-.5-.4v-.8c0-.2.1-.4.3-.5 1.3-.3 2.8-.6 5.9-.8.3 0 .5.2.5.5v.8c0 .3-.2.5-.5.5z\"}},\ncustom82:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 10.6h-5c-.3 0-.5.2-.5.4v.3c0 .4-.3.7-.7.7-.4 0-.8-.3-.8-.7V11c0-.2-.2-.4-.4-.4h-1.2c-1.4 0-2.7.8-3.3 2-.3-.1-.5-.1-.8-.1-1.2 0-2.2.9-2.2 2.1s1 2.2 2.2 2.2c.3 0 .5 0 .8-.1.6 1.1 1.9 1.9 3.3 2 2.3.1 4.3-1.7 4.3-4.1v-.4c-.1-.2.1-.5.3-.5l4.1-.9c.2-.1.4-.2.4-.5V11c0-.2-.2-.4-.5-.4zM6.5 15.4c-.4 0-.7-.4-.7-.8s.3-.7.7-.7c.1 0 .2 0 .3.1-.1.3-.1.6-.1.9 0 .1 0 .3.1.4-.1 0-.2.1-.3.1zM13 8.9c.4 0 .7-.3.7-.7V6c0-.4-.3-.7-.7-.7s-.8.3-.8.7v2.2c0 .4.4.7.8.7zm-3.5.2c.2.2.4.3.6.3.1 0 .3-.1.5-.2.3-.3.3-.7 0-1L9.2 6.5c-.3-.3-.7-.3-1-.1-.3.3-.4.8-.1 1l1.4 1.7zm6.3.3c.2 0 .4-.1.6-.3l1.4-1.7c.3-.3.2-.7 0-1-.4-.2-.8-.2-1 .1l-1.5 1.7c-.3.3-.2.8.1 1 .1.1.3.2.4.2z\"}},\ncustom83:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.9 9.4c.1.1.2.1.3 0l.4-.3c.8-.8.8-2.1 0-2.9l-1-1c-.8-.7-2-.4-2.6.3l-.4.3c-.1.1-.1.2 0 .3l3.3 3.3zm-4.3-2.2c-.1-.1-.3-.1-.4 0l-6.6 6.5c-.3.4-.6.8-.7 1.3l-1.1 3.2c0 .2 0 .5.1.6.1.3.4.4.6.4h.2s2.2-.7 3.3-1.1c.5-.1.9-.4 1.3-.7l6.6-6.6c.1-.1.1-.2 0-.3l-3.3-3.3zm-5 9.6c-.5.1-1.3.4-2 .6l.6-2c.1-.2.3-.4.5-.6l1.6 1.6c-.2.2-.5.3-.7.4z\"}},\ncustom84:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18 15.4H6c-.4 0-.7.3-.7.7s.3.7.7.7h1l.4 2c0 .3.2.4.4.4h7.9c.2 0 .4-.1.5-.4l.4-2H18c.4 0 .7-.3.7-.7s-.3-.7-.7-.7zM7.9 13.9h3.4v-1.3c-.3-.2-.5-.5-.5-.8 0-.6.4-1 1-1s.9.4.9 1c0 .3-.2.6-.5.8v1.3h3.4c.3 0 .5-.2.5-.5v-.7c0-1.4-1.4-1.9-2.5-2.4-.8-.3-.9-.6-.9-.9 0-.3.2-.6.5-.8.4-.4.7-.9.7-1.6 0-1.2-.8-2.2-2.1-2.2-1.4 0-2.2 1-2.2 2.2 0 .7.3 1.2.7 1.6.3.2.5.5.5.8 0 .3-.1.6-.9.9-1.1.5-2.5 1-2.5 2.4v.7c0 .3.3.5.5.5z\"}},\ncustom85:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.7 5.8h-12v-.5c0-.3-.2-.5-.5-.5h-.9c-.3 0-.5.2-.5.5v13.4c0 .3.2.5.5.5h.9c.3 0 .5-.2.5-.5v-11h12c.3 0 .5-.2.5-.5v-1c0-.2-.2-.4-.5-.4zm-.9 3.3H9.6c-.8 0-1.4.7-1.4 1.5v5.2c0 .8.6 1.5 1.4 1.5h8.2c.8 0 1.4-.7 1.4-1.5v-5.2c0-.8-.6-1.5-1.4-1.5zm-1.4 4.1h-.6v2.4c0 .1-.1.2-.2.2h-1c-.1 0-.2-.1-.2-.2v-1.4c0-.2-.1-.3-.2-.3h-1c-.1 0-.2.1-.2.3v1.4c0 .1-.1.2-.3.2h-.9c-.2 0-.3-.1-.3-.2v-2.4h-.6c-.1 0-.1-.1-.1-.2l2.7-2.6c.1-.1.3-.1.3 0l2.7 2.6c.1.1.1.2-.1.2z\"}},\ncustom86:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zM12 17.3c-1.8 0-3.4-1.5-3.4-3.4s1.6-3.3 3.4-3.3 3.4 1.5 3.4 3.3-1.6 3.4-3.4 3.4zm1.4-4.1h-.7v-.7c0-.3-.2-.5-.5-.5h-.4c-.3 0-.5.2-.5.5v.7h-.7c-.3 0-.5.2-.5.5v.5c0 .2.2.4.5.4h.7v.8c0 .2.2.4.5.4h.4c.3 0 .5-.2.5-.4v-.8h.7c.3 0 .5-.2.5-.4v-.5c0-.3-.2-.5-.5-.5z\"}},\ncustom87:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18 4.8H6c-.4 0-.7.3-.7.7V17c0 .4.3.8.7.8h.2v.7c0 .4.4.7.8.7h.4c.4 0 .8-.3.8-.7v-.7h7.6v.7c0 .4.4.7.8.7h.4c.4 0 .8-.3.8-.7v-.7h.2c.4 0 .7-.4.7-.8V5.5c0-.4-.3-.7-.7-.7zM7.4 16.3c-.4 0-.7-.3-.7-.7V7c0-.4.3-.8.7-.8h9.2c.4 0 .7.4.7.8v8.6c0 .4-.3.7-.7.7H7.4zm8-8.6H8.6c-.2 0-.4.2-.4.5v6.2c0 .3.2.5.4.5h6.8c.2 0 .4-.2.4-.5V8.2c0-.3-.2-.5-.4-.5zM14.2 12h-2c-.2.5-.8 1-1.4 1-1 0-1.7-.8-1.7-1.7s.7-1.7 1.7-1.7c.6 0 1.2.5 1.4 1h2c.4 0 .7.3.7.7s-.3.7-.7.7z\"}},\ncustom88:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.7 16.8H5.3c-.3 0-.5.2-.5.4v.1c0 1 1.3 1.9 2.4 1.9h9.6c1.1 0 2.4-.9 2.4-1.9v-.1c0-.2-.2-.4-.5-.4zM5.5 15.4h4.3c.3 0 .5-.3.5-.6V6.6c0-.1-.1-.2-.2-.1L5.3 15c-.1.1 0 .4.2.4zm6.7 0h6c.3 0 .5-.3.5-.6-.2-1.7-.5-7.1-6.6-10-.1 0-.3 0-.3.2v9.8c0 .3.2.6.4.6z\"}},\ncustom89:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.9 10.4c-.1-.1-.3-.1-.4.1-.3.4-.5 1-.5 1.7v2.7c0 .4-.4.7-.8.7-.3 0-.7-.3-.7-.7V6.7c0-1.9-1.6-2.2-2.8-1.7-.3.1-.6.3-.8.5-.1.2-.3.3-.5.4-.4.1-1.2-.3-1.6-.5-.2-.1-.5-.1-.6.1l-.3.4c-.2.2-.1.6.1.7.5.3 1.2.8 1.7.9.9.1 1.7-.2 2.3-.7.1-.2.4-.4.6-.1.5.7-1.4 3.8-1.4 8.4v.4c0 1.9 1.9 3.6 3.9 3.7 2 .1 3.7-1.5 3.7-3.6 0-1 .4-1.7.8-2.1.1-.1.1-.2 0-.3l-2.7-2.8zm4.6 2.3c-.2 0-.4-.1-.5-.2l-3.9-3.8c-.3-.3-.3-.8 0-1 .3-.3.8-.3 1 0l3.9 3.8c.3.3.3.7 0 1-.2.1-.3.2-.5.2z\"}},\ncustom9:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.9 4.8h-4.1c-.6 0-1.1.4-1.3.9L7 12.2c-.2.5.1 1 .6 1h4.2l-1.6 5.4c-.1.5.5.8.8.4l6.4-7.5c.4-.4 0-1.2-.6-1.2h-3.1l2.7-4.4c.3-.5 0-1.1-.6-1.1h-.9z\"}},\ncustom90:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.6 6.2l-5.9.9v8.3c0 .1-.1.2-.2.2h-1c-.1 0-.2-.1-.2-.2V7.3l-5.7.9h-.1c-.3 0-.7-.3-.7-.7 0-.3.2-.7.6-.8L9.9 6c.4-.7 1.2-1.2 2.1-1.2.6 0 1.2.2 1.7.7l4.7-.7c.4 0 .8.2.8.6 0 .4-.2.8-.6.8zm-8.7 8.9c.2-.2.2-.5.1-.7L8.1 9.8c-.1-.3-.4-.4-.7-.4s-.5.1-.6.4l-2 4.6c0 .2 0 .4.1.6 0 .1 1 1.5 2.5 1.5.9 0 1.7-.4 2.5-1.4zm-2.5-3.2l1.1 2.5H6.4l1-2.5zm9.8-3.5c-.1-.3-.4-.5-.6-.5s-.6.2-.7.5L14 12.9c-.1.2-.1.5 0 .7.1.1 1 1.5 2.5 1.5.9 0 1.7-.5 2.5-1.4.2-.3.2-.5.1-.8l-1.9-4.5zm-.6 2.1l1 2.5h-2.1l1.1-2.5zM12 17c-1.3 0-2.7.5-3.7 1.3-.1.1-.1.3-.1.4 0 .3.2.5.4.5h6.8c.2 0 .4-.2.4-.5 0-.1 0-.3-.1-.4-1-.8-2.4-1.3-3.7-1.3z\"}},\ncustom91:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.7 7.8c-.7-.2-1.4-.7-1.8-1.3-.3-.5-.3-1.7-1.1-1.7H8.2c-.8 0-.8 1.2-1.1 1.7-.5.7-1.2.9-1.9 1.4-.8.5-.1 2.4.1 3 .7 2.7 2.1 5.2 4.3 6.9.7.5 1.3 1 2.1 1.3.6.4 1.7-.6 2.2-.9 1.2-.9 2.3-2 3.1-3.3.7-1.1 1.2-2.3 1.6-3.6.1-.5.3-1 .4-1.5.1-.4.3-1.1.1-1.5 0-.2-.2-.4-.4-.5-1.1-.3.3.1 0 0zm-1.1 1.7c-.6 3.2-2.4 6.2-5.2 8l-.4.2-.4-.2c-3.4-2.1-4.7-5.5-5.2-8L6.3 9l.4-.3c.8-.4 1.5-1.2 1.9-2.1l.2-.4h6.4l.2.3c.4.9 1.1 1.8 2 2.3l.3.2-.1.5zm-5.9-1.8c-.5 0-1.9 0-2.1.2-.5.4-.7 1-1.2 1.4-.5.5-.3.9-.1 1.5.3 1 .8 2 1.4 2.9.3.4.7.8 1.1 1.2.1.1 1.2 1.3 1.2.6V8.2c0-.3 0-.5-.3-.5z\"}},\ncustom92:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.7 13.5L12.2 11h-.4l-5.5 2.5c-.3.2-.4.5-.2.8.6.8.9 1.9 1.1 2.4 0 .2.2.3.4.3 1.9.5 3.4 1.6 4.1 2.1.2.1.4.1.6 0 .7-.5 2.2-1.6 4.1-2.1.2 0 .4-.1.4-.3.1-.5.5-1.6 1.1-2.4.2-.2.1-.6-.2-.8zm-7.1 1.4c-.4 0-.8-.5-.8-1s.4-.9.8-.9.7.4.7.9-.3 1-.7 1zm2.8 0c-.4 0-.7-.5-.7-1s.3-.9.7-.9.8.4.8.9-.4 1-.8 1zm-5.1-3.8l2.9-1.4c.3-.1.7-.2 1.1-.1.2 0 .4.1.5.1l2.9 1.4c.2.1.4-.1.4-.2V9.8c0-.1-.1-.2-.2-.3-.2-.3-.5-.6-1.3-.6V7.5c0-.2-.1-.4-.2-.4-.3-.2-.7-.4-1.4-.5V5.3c0-.3-.3-.5-.5-.5h-1c-.2 0-.5.2-.5.5v1.3c-.7.1-1.1.3-1.4.5-.1 0-.2.2-.2.4v1.4c-.8 0-1.1.3-1.3.5-.1.1-.2.2-.2.4v1c0 .2.2.3.4.3z\"}},\ncustom93:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M10.2 12h7.1c.2 0 .4-.1.4-.4L19 7.1c.1-.3-.1-.6-.4-.6h-11l-.2-.7c-.1-.3-.4-.5-.7-.5H5.6c-.4 0-.8.3-.8.7 0 .4.3.7.7.7h.7l2.2 7.7c.1.3.4.5.7.5h8.4c.4 0 .7-.3.8-.7 0-.4-.3-.8-.8-.8h-7.3c-.3 0-.6-.2-.7-.5-.1-.4.2-.9.7-.9z\"},\"circle\":[{\"cx\":\"10.32\",\"cy\":\"17.52\",\"r\":\"1.2\"},{\"cx\":\"16.08\",\"cy\":\"17.52\",\"r\":\"1.2\"}]}},\ncustom94:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.4 9.1V5.5c0-.4-.3-.7-.7-.7h-.9c-.4 0-.8.3-.8.7s.4.7.8.7h.2v2.9c0 1.6-1.3 2.9-2.9 2.9s-2.9-1.3-2.9-2.9V6.2h.3c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1c-.4 0-.7.3-.7.7v3.6c0 2.4 1.9 4.3 4.3 4.3s4.3-1.9 4.3-4.3zm5.8 2.9c0-1.2-1-2.2-2.2-2.2s-2.1 1-2.1 2.2c0 .9.6 1.7 1.4 2v.6c0 1.7-1.4 3.2-3.2 3.2-1.6 0-2.8-1.1-3.2-2.5 0-.3-.2-.4-.4-.4H9c-.3 0-.6.3-.5.6.4 2.1 2.3 3.7 4.5 3.7h.1c2.6 0 4.7-2.1 4.7-4.6V14c.8-.3 1.4-1.1 1.4-2zm-2.2.7c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.8.3.8.7-.4.7-.8.7z\"}},\ncustom95:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.7 7.2v-1h.3c.3 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7h-2c-.3 0-.7.3-.7.7 0 .4.3.7.7.7h.3v1c-3 .4-5.3 2.9-5.3 6 0 3.3 2.7 6 6 6s6-2.7 6-6c0-3.1-2.3-5.6-5.3-6zM12 17.8c-2.5 0-4.6-2.1-4.6-4.6S9.5 8.6 12 8.6s4.6 2.1 4.6 4.6-2.1 4.6-4.6 4.6zm1.6-7l-1.1 1.1c-.2-.1-.3-.1-.5-.1-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4 1.4-.6 1.4-1.4c0-.2 0-.3-.1-.5l1.1-1.1c.3-.2.3-.6 0-.8-.2-.3-.6-.3-.8 0z\"}},\ncustom96:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 6.9L17.8 6c-.2-.2-.4-.2-.6-.2H13v-.5c0-.3-.3-.5-.5-.5h-1c-.2 0-.5.2-.5.5v.5H6.2c-.2 0-.4.2-.4.4v2c0 .2.2.4.4.4h11c.2 0 .4 0 .6-.2l1.2-.9c.2-.2.2-.4.1-.6zM17.8 11H13v-.7c0-.1-.1-.2-.3-.2h-1.4c-.2 0-.3.1-.3.2v.7H6.8c-.2 0-.4.1-.6.2l-1.2 1c-.2.1-.2.4 0 .6l1.2.9c.2.1.4.2.6.2h11c.2 0 .4-.2.4-.5v-1.9c0-.2-.2-.5-.4-.5zM13 17.2v-1.6c0-.1-.1-.2-.3-.2h-1.4c-.2 0-.3.1-.3.2v1.6c-.9.2-1.4.8-1.6 1.5-.1.3.1.5.3.5h4.6c.2 0 .4-.2.3-.5-.2-.7-.7-1.3-1.6-1.5z\"}},\ncustom97:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.4 13.1V7c0-1.5-1.2-2.7-2.6-2.7h-.1c-1.4 0-2.6 1.2-2.6 2.7v6.1c-.7.7-1.2 1.7-1.2 2.7 0 2.2 1.7 3.9 3.9 3.9s3.8-1.7 3.8-3.9c0-1-.4-2-1.2-2.7zm-.6 2.7H9.7c-.2 0-.3-.2-.3-.4.1-.6.4-1.1.8-1.4.2-.2.3-.4.3-.6V7c0-.7.6-1.2 1.2-1.2h.1c.6 0 1.1.5 1.1 1.2v.2h-.7c-.4 0-.7.3-.7.7s.3.7.7.7h.7v1h-.7c-.4 0-.7.3-.7.7s.3.7.7.7h.7v1h-.7c-.4 0-.7.3-.7.7s.3.7.7.7h.7c.1.3.2.4.3.6.5.3.8.9.9 1.4.1.2-.1.4-.3.4z\"}},\ncustom98:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.5 11.1l-1.8-1.8c-.1-.1-.3-.2-.4-.2h-1.9c-.3 0-.5.2-.5.5v3.8c0 .2.1.3.3.3.4-.2.7-.3 1.1-.3 1.1 0 2 .6 2.5 1.5.1.1.3.2.4.1.3-.3.5-.6.5-1.1v-2.4c0-.1-.1-.3-.2-.4z\"},{\"d\":\"M13 7H4.8c-.3 0-.5.2-.5.4v6.5c0 .5.2.8.5 1.1.1.1.3.1.4-.1.4-.9 1.4-1.5 2.5-1.5 1.2 0 2.2.8 2.6 1.8.1.1.2.2.3.2H12c.8 0 1.4-.7 1.4-1.5V7.4c0-.2-.2-.4-.4-.4z\"}],\"circle\":[{\"cx\":\"16.32\",\"cy\":\"16.32\",\"r\":\"1.44\"},{\"cx\":\"7.68\",\"cy\":\"16.32\",\"r\":\"1.44\"}]}},\ncustom99:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 8.6h-4.1c-.1-.2-.3-.5-.5-.7L14.7 6c.3-.4.2-.8-.1-1.1s-.8-.1-1 .2l-1.7 2.1h-.8L9.5 5.1c-.3-.3-.7-.4-1.1-.2-.3.3-.3.7-.1 1.1l1.5 1.9c-.2.2-.3.5-.5.7H6.2c-.8 0-1.4.7-1.4 1.5v6.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-6.7c0-.8-.6-1.5-1.4-1.5zm-2 7.7c0 .3-.2.5-.4.5H6.7c-.2 0-.5-.2-.5-.5v-5.7c0-.3.3-.5.5-.5h8.7c.2 0 .4.2.4.5v5.7zm1.7-2.4c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.7.3.7.7-.3.7-.7.7zm0-2.4c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.7.3.7.7-.3.7-.7.7z\"}},\nviewBox:'0 0 24 24'\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\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FFC35E\"},{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FFB446\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"},{\"d\":\"M9.1 20.2c-.2 0-.3 0-.3-.2l-.4-.8H6.2l-.3.8c-.1.2-.2.2-.3.2-.2 0-.3-.1-.3-.3v-.1l1.6-3.9c0-.1.2-.3.4-.3s.4.2.5.3l1.5 3.9c0 .1.1.1.1.1 0 .2-.2.3-.3.3zm-1.8-3.9l-.9 2.4h1.9l-1-2.4zm3.2 3.9c-.1 0-.3-.1-.3-.3v-4c0-.1.2-.3.3-.3.2 0 .3.2.3.3v4c0 .2-.1.3-.3.3z\",\"fill\":\"#fff\"}]},\nattachment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill\":\"#8199AF\"},{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#617F9B\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":{\"d\":\"M11.5 15.6c.4-.5.4-1.2 0-1.6s-1.1-.4-1.6 0l-3.4 3.4c-.4.5-.4 1.2 0 1.6s1.1.4 1.5 0l2.1-2.1c.2-.1.2-.3 0-.5s-.3-.1-.4 0l-1.3 1.4c-.2.2-.5.2-.7 0-.2-.2-.2-.5 0-.7L9 15.8c.5-.5 1.3-.5 1.8 0s.5 1.3 0 1.7l-2.1 2.2c-.8.7-2.1.7-2.9 0-.8-.8-.8-2.1 0-2.9l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2.1 0 2.9l-.3.4c0-.4-.1-.7-.4-1l.1-.1z\",\"fill\":\"#fff\"}},\naudio:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill\":\"#379FD3\"},{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z\",\"fill\":\"#2987C8\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"},{\"d\":\"M12.7 12.8l-5.3.6v5.1c-.3-.1-.6-.1-1 0-.7.1-1.2.6-1.1 1.1.2.4.9.7 1.6.5.7-.1 1.2-.5 1.2-.9v-4l3.9-.5v3.1c-.3-.1-.6-.1-1 0-.8.1-1.3.6-1.1 1.1.1.4.9.7 1.6.5.7-.1 1.2-.5 1.2-1v-5.6z\",\"fill\":\"#fff\"}]}},\nbox_notes:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#277A84\",\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\"},{\"fill\":\"#1E5B60\",\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\"},{\"opacity\":\".5\",\"fill\":\"#fff\",\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\"},{\"fill\":\"#fff\",\"d\":\"M11.7 14.8l.8-.8H5.4s-.1 0-.1.1v.5c0 .1.1.1.1.1h6.3zm-2.8 2.7l.8-.8H5.4s-.1 0-.1.1v.5l.1.2h3.5zM7 20.2l.1-.8H5.4s-.1 0-.1.2v.5c0 .1.1.1.1.1H7zm.3 0h.8c.1-.1.2-.1.2-.1l4.9-5s-.2.2-.6-.2c-.3-.3-.2-.5-.2-.5l-4.8 4.8c-.1.1-.1.2-.1.2 0 .1-.2.8-.2.8zm5.7-6.4l-.4.4v.2c0 .1.2.5.6.6 0 0 .1 0 .2-.1.1 0 .4-.4.4-.4s.1 0 0-.2c0-.2-.3-.5-.6-.6-.1 0-.2.1-.2.1z\"}]},\ncsv:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#45B058\"},{\"d\":\"M9.1 16.2c.1.1.1.1.1.2s-.1.3-.3.3c0 0-.1-.1-.2-.1-.2-.3-.7-.5-1.1-.5-1 0-1.7.7-1.7 1.8s.7 1.8 1.7 1.8c.4 0 .9-.2 1.1-.5.1-.1.2-.1.2-.1.2 0 .3.2.3.3 0 .1 0 .1-.1.2-.3.3-.8.6-1.5.6-1.3 0-2.3-.9-2.3-2.3s1-2.3 2.3-2.3c.7 0 1.2.2 1.5.6zm2.6 4c-.7 0-1.2-.2-1.6-.5-.1-.1-.1-.2-.1-.2 0-.2.1-.3.3-.3h.1c.3.3.8.5 1.3.5.8 0 1-.4 1-.8 0-1.1-2.6-.5-2.6-2.1 0-.7.6-1.2 1.5-1.2.6 0 1.1.1 1.5.4 0 .1.1.2.1.2 0 .2-.2.3-.3.3h-.2c-.3-.3-.7-.4-1.1-.4-.6 0-.9.3-.9.7 0 1 2.6.4 2.6 2.1 0 .6-.4 1.3-1.6 1.3zM18 16l-1.5 3.9c-.1.2-.3.3-.5.3s-.4-.1-.4-.3L14 16v-.1c0-.1.1-.3.3-.3.1 0 .2.1.3.2l1.4 3.7 1.5-3.7c0-.1.1-.2.3-.2.1 0 .3.1.3.3 0 0 0 .1-.1.1z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z\",\"fill\":\"#349C42\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\neps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FFC35E\"},{\"d\":\"M8 20.2H5.7c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4H8c.2 0 .3.1.3.3 0 .1-.1.2-.3.2H5.9v1.5H8c.1 0 .2.1.2.2 0 .2-.1.3-.2.3H5.9v1.5H8c.2 0 .3.1.3.3 0 .1-.1.2-.3.2zm3.1-1.8H9.9V20c0 .1-.2.3-.3.3-.2 0-.3-.2-.3-.3v-3.9c0-.2.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.4 0 .7-.5 1.3-1.4 1.3zm-.1-2.2H9.9v1.7H11c.6 0 .9-.3.9-.8s-.3-.9-.9-.9zm3.9 4.1c-.7 0-1.2-.2-1.6-.6 0 0-.1-.1-.1-.2s.1-.2.3-.2h.2c.3.3.7.5 1.2.5.8 0 1.1-.4 1.1-.8 0-1.1-2.7-.5-2.7-2.1 0-.7.7-1.3 1.6-1.3.5 0 1 .2 1.4.5.1.1.1.2.1.2 0 .2-.1.3-.3.3 0 0-.1 0-.1-.1-.4-.2-.8-.4-1.2-.4-.5 0-.9.3-.9.8 0 1 2.7.4 2.7 2.1 0 .6-.5 1.3-1.7 1.3z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8c-.9 0-2.4-.5-2.3-2.5 0 0 .1 2.1 2.3 2.1h4.8z\",\"fill\":\"#FFB446\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nexcel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#45B058\"},{\"d\":\"M8.8 20.2c-.1 0-.2 0-.2-.1l-1.4-1.8-1.4 1.8c-.1.1-.1.1-.2.1-.2 0-.3-.1-.3-.2s0-.2.1-.2l1.4-1.9-1.3-1.8c-.1-.1-.1-.1-.1-.2s.1-.3.3-.3c.1 0 .1.1.2.1l1.3 1.8 1.3-1.8s.1-.1.2-.1.3.2.3.3c0 .1-.1.1-.1.2l-1.3 1.8L9 19.8l.1.1c0 .2-.2.3-.3.3zm3.7 0h-2c-.2 0-.4-.2-.4-.4v-3.9c0-.1.1-.3.3-.3.1 0 .2.2.2.3v3.8h1.9c.2 0 .3.1.3.2 0 .2-.1.3-.3.3zm2.6.1c-.6 0-1.1-.3-1.5-.6-.1-.1-.1-.1-.1-.2s.1-.3.2-.3.2 0 .2.1c.3.2.8.5 1.3.5.8 0 1-.5 1-.8 0-1.2-2.6-.5-2.6-2.1 0-.8.6-1.3 1.5-1.3.6 0 1.1.2 1.5.5v.2c0 .1-.1.3-.2.3s-.1-.1-.2-.1c-.3-.3-.7-.4-1.1-.4-.6 0-1 .3-1 .7 0 1 2.7.5 2.7 2.1 0 .7-.4 1.4-1.6 1.4z\",\"fill\":\"#fff\"},{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#349C42\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"}]},\nexe:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1.1.9 1.9 1.9 1.9h17.2c1 0 1.9-.8 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8199AF\"},{\"d\":\"M8 20.2H5.7c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4H8c.2 0 .3.1.3.3 0 .1-.1.2-.3.2H5.9v1.5H8c.1 0 .2.1.2.2 0 .2-.1.3-.2.3H5.9v1.5H8c.2 0 .3.1.3.3 0 .1-.1.2-.3.2zm4.6.1c-.1 0-.2-.1-.2-.1L11 18.3l-1.4 1.9c-.1 0-.1.1-.2.1-.2 0-.3-.1-.3-.3 0-.1 0-.1.1-.2l1.4-1.9-1.3-1.8c-.1 0-.1-.1-.1-.2s.1-.2.3-.2c.1 0 .1 0 .2.1l1.3 1.7 1.3-1.7c0-.1.1-.1.2-.1s.2.1.2.2v.2l-1.4 1.8 1.5 1.9c0 .1.1.1.1.2s-.2.3-.3.3zm4-.1h-2.3c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4h2.3c.2 0 .3.1.3.3 0 .1-.1.2-.3.2h-2.2v1.5h2.2c.1 0 .2.1.2.2 0 .2-.1.3-.2.3h-2.2v1.5h2.2c.2 0 .3.1.3.3 0 .1-.1.2-.3.2z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#617F9B\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nflash:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#E53C3C\"},{\"d\":\"M8 16.2H5.9v1.4H8c.1 0 .2.1.2.3 0 .1-.1.2-.2.2H5.9v1.8c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h2.4c.1 0 .2.1.2.2 0 .2-.1.3-.3.3zm3.6 4h-2c-.2 0-.4-.2-.4-.4v-3.9c0-.2.1-.3.3-.3.1 0 .2.1.2.3v3.8h1.9c.2 0 .3.1.3.2 0 .2-.1.3-.3.3zm4.6 0c-.1 0-.2-.1-.3-.2l-.3-.8h-2.2l-.4.8c0 .1-.1.2-.2.2-.2 0-.3-.1-.3-.3v-.1l1.5-3.9c.1-.2.3-.3.5-.3s.4.1.4.3l1.6 3.9v.1c0 .1-.1.3-.3.3zm-1.7-4l-1 2.5h1.9l-.9-2.5z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#DE2D2D\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nfolder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M20.8 5.8a1.7 1.7 0 0 1 1.7 1.7v11.6a1.7 1.7 0 0 1-1.7 1.7H3.2a1.7 1.7 0 0 1-1.7-1.7V4.9a1.7 1.7 0 0 1 1.7-1.7h4.3c1.4 0 1.6.4 2.5 1.7.8 1 2.7.9 3.9.9z\",\"fill\":\"#003462\"},{\"d\":\"M20.8 6.8H5a1.7 1.7 0 0 0-1.7 1.7v1.1l1.6-2.5h15.9l1.7 2.5V8.5a1.7 1.7 0 0 0-1.7-1.7z\",\"fill\":\"#87c8f2\"},{\"d\":\"M3.2 20.8h17.6a1.7 1.7 0 0 0 1.7-1.7V8.8a1.7 1.7 0 0 0-1.7-1.7H5a1.7 1.7 0 0 0-1.7 1.7v10.3a1.7 1.7 0 0 1 0 .3.9.9 0 0 1-1.8 0 1.7 1.7 0 0 0 1.7 1.4z\",\"fill\":\"#00a1e0\"}]},\ngdoc:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#3C8CEA\"},{\"d\":\"M5.3 14h8.1v.8H5.3zm0 1.8h8.1v.8H5.3zm0 1.8h8.1v.8H5.3zm0 1.8h4.6v.8H5.3z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#2D6FE4\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\ngdocs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#3C8CEA\",\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\"},{\"fill\":\"#2D6FE4\",\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\"},{\"opacity\":\".5\",\"fill\":\"#fff\",\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\"},{\"fill\":\"#fff\",\"d\":\"M11.2 16.9H8.4v.8h2c-.1 1.2-1.1 1.7-2 1.7-1.2 0-2.3-.9-2.3-2.2 0-1.3 1-2.3 2.3-2.3.9 0 1.5.6 1.5.6l.6-.6s-.8-.8-2.1-.8c-1.8 0-3.2 1.5-3.2 3.1s1.3 3.1 3.2 3.1c1.6 0 2.9-1.1 2.9-2.8-.1-.4-.1-.6-.1-.6z\"}]},\ngform:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#673AB7\",\"d\":\"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\"},{\"fill\":\"#45317C\",\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\"},{\"opacity\":\".5\",\"fill\":\"#fff\",\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\"},{\"fill\":\"#fff\",\"d\":\"M6.3 14.8c0-.2-.1-.3-.3-.3h-.5c-.1 0-.2.1-.2.3v.5c0 .1.1.2.2.2H6c.2 0 .3-.1.3-.2v-.5zm7 0c0-.2-.1-.3-.2-.3H7.2c-.2 0-.3.1-.3.3v.5c0 .1.1.2.3.2h5.9c.1 0 .2-.1.2-.2v-.5zm-7 2.3c0-.1-.1-.2-.3-.2h-.5c-.1 0-.2.1-.2.2v.5c0 .2.1.3.2.3H6c.2 0 .3-.1.3-.3v-.5zm7 0c0-.1-.1-.2-.3-.2H7.2c-.1 0-.3.1-.3.2v.5c0 .2.2.3.3.3H13c.2 0 .3-.1.3-.3v-.5zm-7 2.4c0-.2-.1-.3-.3-.3h-.5c-.1 0-.2.1-.2.3v.5c0 .1.1.2.2.2H6c.2 0 .3-.1.3-.2v-.5zm7 0c0-.2-.1-.3-.2-.3H7.2c-.2 0-.3.1-.3.3v.5c0 .1.1.2.3.2h5.9c.1 0 .2-.1.2-.2v-.5z\"}]},\ngpres:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#F8BE46\"},{\"d\":\"M5.3 14v4.5H10V14H5.3zm4.2 3.7H5.7v-2.8h3.8v2.8zm.3-2v.9h3.1v2.8H9.1v-1.1h-.4v1.9h4.7v-4.5H9.8z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#F6AD34\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\ngsheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#20A971\"},{\"d\":\"M5.3 14v6.2h8.1V14H5.3zm2.4 5.7H5.8v-1.3h1.9v1.3zm0-1.9H5.8v-1.3h1.9v1.3zm0-1.9H5.8v-1.3h1.9v1.3zm5.1 3.8H8.3v-1.3h4.5v1.3zm0-1.9H8.3v-1.3h4.5v1.3zm0-1.9H8.3v-1.3h4.5v1.3z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#189355\"},{\"d\":\"M15.4 0v5.4c0 .7.4 2.2 2.3 2.2h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nhtml:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#F7622C\"},{\"d\":\"M8.6 19.1s-.1 0-.1-.1l-2.9-1.2c-.1-.1-.3-.3-.3-.5s.2-.4.3-.5l2.9-1.2c0-.1.1-.1.1-.1.2 0 .3.2.3.4 0 .1 0 .2-.2.3l-2.6 1.1 2.6 1.1c.2.1.2.2.2.3 0 .2-.1.4-.3.4zm3.2-4.2l-1.7 5c0 .2-.2.2-.3.2-.2 0-.4-.1-.4-.3 0 0 0-.1.1-.1l1.6-5c.1-.1.2-.2.4-.2s.3.1.3.3v.1zm3.8 2.9L12.8 19c-.1.1-.1.1-.2.1s-.3-.2-.3-.4c0-.1.1-.2.2-.3l2.6-1.1-2.6-1.1c-.1-.1-.2-.2-.2-.3 0-.2.2-.4.3-.4.1 0 .1 0 .2.1l2.8 1.2c.2.1.3.3.3.5s-.1.4-.3.5z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#F54921\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nimage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1.1.9 1.9 1.9 1.9h17.2c1 0 1.9-.8 1.9-1.9V7.6L15.4 0h-12z\",\"fill\":\"#49C9A7\"},{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#37BB91\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":{\"d\":\"M5.3 20.2v-7.9h7.8v7.9H5.3zm7-7.1H6.1v4.7h6.2v-4.7zm-3.5 3.1l1.4-1.9.5.8.5-.2.4 2.1H6.7L8 15.8l.8.4zm-1.5-1.3c-.3 0-.6-.3-.6-.6s.3-.6.6-.6.6.3.6.6-.3.6-.6.6z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"}},\nkeynote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#DB7A2A\"},{\"d\":\"M8.2 20.3c-.1 0-.2-.1-.2-.1l-1.7-2-.4.5V20c0 .1-.2.2-.3.2-.2 0-.3-.1-.3-.2v-4.1c0-.1.1-.2.3-.2.1 0 .3.1.3.2V18l1.9-2.2c.1-.1.1-.1.2-.1.2 0 .3.1.3.2s0 .1-.1.2l-1.5 1.7 1.7 2c0 .1.1.1.1.2s-.2.3-.3.3zm4.1-.1H9.9c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4h2.4c.1 0 .2.1.2.3 0 .1-.1.2-.2.2h-2.2v1.5h2.1c.2 0 .3.1.3.2s-.1.3-.3.3h-2.1v1.5h2.2c.1 0 .2.1.2.3 0 .1-.1.2-.2.2zm4.6-4.1l-1.5 2.2V20c0 .1-.1.2-.3.2-.1 0-.3-.1-.3-.2v-1.7l-1.5-2.2v-.2c0-.1.1-.2.3-.2 0 0 .1 0 .2.1l1.3 2 1.4-2c0-.1.1-.1.2-.1s.3.1.3.2-.1.1-.1.2z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#D25B1F\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nlibrary_folder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#003462\",\"d\":\"M20.8 5.8c1 0 1.7.8 1.7 1.7v11.6c0 1-.7 1.7-1.7 1.7H3.2c-.9 0-1.7-.7-1.7-1.7V4.9c0-1 .8-1.7 1.7-1.7h4.3c1.4 0 1.6.4 2.5 1.7.8 1 2.7.9 3.9.9h6.9z\"},{\"fill\":\"#87C8F2\",\"d\":\"M20.8 6.8H4.9c-.9 0-1.6.7-1.6 1.7v1.1l1.6-2.5h15.9l1.7 2.5V8.5c0-1-.7-1.7-1.7-1.7z\"},{\"fill\":\"#00A1E0\",\"d\":\"M3.2 20.8h17.6c1 0 1.7-.7 1.7-1.7V8.8c0-.9-.7-1.7-1.7-1.7H5c-.9 0-1.7.7-1.7 1.7v10.6c0 .5-.4.9-.9.9s-.9-.4-.9-.9c.2.8.9 1.4 1.7 1.4z\"},{\"d\":\"M11.1 14.2h1.3v4.3h-1.3zm2.3 0h1.3v4.3h-1.3zm5.5-2.3l-5.6-2.3c-.2-.1-.3-.1-.4-.1-.1 0-.2 0-.5.1l-5.6 2.3c-.1.1-.2.2-.2.3v.4c0 .2.2.3.4.3h1.1v5.3c0 .1.1.3.3.3h1.7v-4.3h-.7c-.1 0-.2-.1-.2-.3v-.4c0-.2.1-.2.2-.2h6.9c.1 0 .2 0 .2.2v.4c0 .2-.1.3-.2.3h-.7v4.3h1.7c.2 0 .3-.2.3-.4v-5.2h1.1c.2 0 .3-.2.3-.3v-.3c.1-.2 0-.3-.1-.4zm-6 .2c-.5 0-.8-.3-.8-.7 0-.4.4-.7.8-.7s.7.3.7.7c0 .4-.3.7-.7.7z\",\"fill\":\"#fff\"}]},\nlink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#0C8FE8\"},{\"d\":\"M12.1 13.4c-.8-.8-2-.8-2.8 0l-1.2 1.1c-.8.8-.8 2 0 2.8.2.2.5.2.7 0 .2-.2.2-.4 0-.6-.5-.4-.5-1.1 0-1.5L9.9 14c.4-.4 1.1-.4 1.5 0 .5.4.5 1.1 0 1.5l-.5.6c.1.3.2.7.2 1.1l1-1c.8-.8.8-2.1 0-2.8zm-2.9 2.2c-.2.2-.2.5 0 .6.4.5.4 1.1 0 1.6l-1.1 1.1c-.5.4-1.1.4-1.6 0-.4-.4-.4-1.1 0-1.5l.6-.6c-.2-.3-.2-.7-.2-1.1l-1 1c-.8.8-.8 2.1 0 2.9.8.7 2 .7 2.8 0l1.2-1.2c.7-.8.7-2 0-2.8-.2-.2-.5-.2-.7 0z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#0973E2\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nmp4:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill\":\"#9B64B2\"},{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#824B9E\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":{\"d\":\"M9.4 20.2c-.1 0-.3-.1-.3-.3v-3.4l-1.5 3.6c0 .1 0 .1-.1.1s-.1 0-.1-.1l-1.5-3.6v3.4c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.5.5-.5.1 0 .3.1.4.3L7.5 19l1.3-3.1c.1-.2.3-.3.4-.3.3 0 .5.2.5.5v3.8c0 .2-.1.3-.3.3zm3.3-1.8h-1.2v1.5c0 .2-.1.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3 0 .8-.5 1.4-1.4 1.4zm0-2.2h-1.2v1.7h1.2c.5 0 .9-.4.9-.9s-.4-.8-.9-.8zm5.2 2.8h-.5v.9c0 .2-.1.3-.2.3-.2 0-.3-.1-.3-.3V19H15c-.2 0-.3-.1-.3-.3 0 0 0-.1.1-.2l1.8-2.7c.1-.1.2-.2.4-.2s.4.2.4.5v2.4h.5c.1 0 .2.1.2.3 0 .1-.1.2-.2.2zm-1-2.8l-1.6 2.3h1.6v-2.3z\",\"fill\":\"#fff\"}},\noverlay:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#A382D8\"},{\"d\":\"M5.3 12.9v5.3h5.5v-5.3H5.3zm2 2v5.3h5.5v-5.3H7.3z\",\"fill\":\"#fff\"},{\"fill\":\"#CBBBEF\",\"d\":\"M7.3 14.9h3.5v3.3H7.3z\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#8C62CE\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npack:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#4E74B7\"},{\"d\":\"M12.4 15.3v4.5c0 .2-.2.4-.4.4H5.7c-.2 0-.4-.2-.4-.4v-4.5-.1l.6-1.8c.1-.2.2-.3.4-.3h5.1c.2 0 .4.1.4.3l.6 1.8v.1zm-.9 0l-.4-1.3H6.7l-.5 1.3h5.3z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#3A57A5\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npages:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#6A6AE2\"},{\"d\":\"M7.1 18.4H5.9v1.5c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3s-.5 1.4-1.4 1.4zM7 16.2H5.9v1.7H7c.6 0 .9-.4.9-.9s-.3-.8-.9-.8zm4.6 4.1c-1.3 0-2.4-1-2.4-2.4s1.1-2.3 2.4-2.3c.6 0 1.2.2 1.5.6.1.1.1.1.1.2s-.1.3-.3.3c0 0-.1-.1-.2-.1-.2-.3-.7-.5-1.1-.5-1 0-1.8.7-1.8 1.8s.8 1.9 1.8 1.9c.5 0 .9-.3 1.2-.5v-1h-1.4c-.1 0-.2-.1-.2-.2s.1-.2.2-.2h1.5c.3 0 .4.1.4.4v.8c0 .7-.9 1.2-1.7 1.2zm4.3-.1c-.7 0-1.2-.2-1.6-.5-.1-.1-.1-.1-.1-.2 0-.2.1-.3.3-.3 0 0 .1 0 .1.1.3.2.8.4 1.3.4.8 0 1.1-.4 1.1-.7 0-1.2-2.7-.5-2.7-2.2 0-.7.6-1.2 1.5-1.2.6 0 1.1.2 1.5.5 0 0 .1.1.1.2s-.1.2-.3.2h-.2c-.3-.3-.7-.4-1.1-.4-.6 0-.9.3-.9.7 0 1 2.6.4 2.6 2.1 0 .7-.4 1.3-1.6 1.3z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#4F4FDA\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npdf:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#8C181A\",\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\"},{\"fill\":\"#6B0D12\",\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z\"},{\"opacity\":\".5\",\"fill\":\"#fff\",\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\"},{\"fill\":\"#fff\",\"d\":\"M7.1 18.4H5.8v1.5c0 .2-.1.3-.3.3-.1 0-.2-.1-.2-.3v-3.8c0-.2.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3 0 .8-.5 1.4-1.4 1.4zM7 16.2H5.8v1.7H7c.6 0 .9-.3.9-.9s-.3-.8-.9-.8zm3.9 4H9.8c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4h1.1c1.4 0 2.4.9 2.4 2.2s-.9 2.3-2.4 2.3zm0-4H10v3.5h.9c1.1 0 1.8-.8 1.8-1.8 0-.9-.6-1.7-1.8-1.7zm6.2 0h-2.2v1.4H17c.2 0 .3.1.3.3s-.2.2-.3.2h-2.1v1.8c0 .2-.1.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.2.2-.4.4-.4h2.4c.1 0 .2.1.2.2s-.1.3-.2.3z\"}]},\nppt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#E34221\"},{\"d\":\"M7.1 18.4H5.9v1.5c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3 0 .8-.5 1.4-1.4 1.4zM7 16.2H5.9v1.7H7c.6 0 .9-.4.9-.9s-.3-.8-.9-.8zm4.2 2.2H10v1.5c0 .2-.1.3-.3.3-.1 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.5.6 1.5 1.3 0 .8-.6 1.4-1.5 1.4zm0-2.2H10v1.7h1.2c.5 0 .9-.4.9-.9s-.4-.8-.9-.8zm5.3 0h-1.3v3.7c0 .2-.1.3-.2.3-.2 0-.3-.1-.3-.3v-3.7h-1.2c-.2 0-.3-.1-.3-.3 0-.1.1-.2.3-.2h3c.1 0 .2.1.2.2 0 .2-.1.3-.2.3z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#DC3119\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npsd:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1.1.9 1.9 1.9 1.9h17.2c1 0 1.9-.8 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#0C77C6\"},{\"d\":\"M7.1 18.4H5.9v1.5c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3 0 .8-.5 1.4-1.4 1.4zM7 16.2H5.9v1.7H7c.6 0 .9-.4.9-.9s-.3-.8-.9-.8zm3.9 4.1c-.7 0-1.2-.3-1.6-.6-.1-.1-.1-.1-.1-.2s.1-.3.3-.3c0 0 .1 0 .1.1.4.2.8.4 1.3.4.8 0 1.1-.4 1.1-.7 0-1.2-2.7-.5-2.7-2.2 0-.7.7-1.2 1.5-1.2.6 0 1.1.2 1.5.5.1 0 .1.1.1.2s-.1.2-.3.2H12c-.4-.3-.8-.4-1.2-.4-.5 0-.9.3-.9.7 0 1 2.6.4 2.6 2.1 0 .7-.4 1.3-1.6 1.3zm4.2-.1H14c-.3 0-.4-.2-.4-.4v-3.7c0-.3.1-.4.4-.4h1.1c1.4 0 2.3.9 2.3 2.2 0 1.3-.9 2.3-2.3 2.3zm0-4h-1v3.5h1c1.1 0 1.7-.8 1.7-1.8s-.6-1.7-1.7-1.7z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#0959B7\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nquip_doc:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#29B6F2\",\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\"},{\"fill\":\"#2987C8\",\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z\"},{\"opacity\":\".5\",\"fill\":\"#fff\",\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\"},{\"d\":\"M9.3 17.1c0-1.5-1.1-2.8-2.9-2.8s-2.9 1.3-2.9 2.8S4.6 20 6.4 20c.4 0 .7-.1 1-.2l.9.9.8-.8-.7-.7c.6-.6.9-1.3.9-2.1zm-1.8 1.2l-.3-.3h-.8v.8c-1 0-1.6-.8-1.6-1.7 0-.9.6-1.7 1.6-1.7s1.6.8 1.6 1.7c0 .4-.2.9-.5 1.2zm4.3.6c-.2 0-.4-.1-.5-.2-.1-.2-.2-.4-.2-.7v-1.9H10V18c0 .4 0 .7.1.9.1.2.2.4.3.5.2.2.4.3.7.4.2.1.5.1.7.1s.6 0 .8-.1c.3-.1.5-.2.7-.4.1-.1.2-.3.3-.5s.1-.5.1-.9v-1.9h-1.1V18c0 .3-.1.5-.2.7-.1.1-.3.2-.5.2h-.1zm2.6-2.9h1.2v3.8h-1.2zm4.3 0c-.5 0-1 .3-1.2.6v-.5h-1.1v5.4h1.1v-2.2c.2.3.7.6 1.2.6 1.1 0 1.8-.8 1.8-1.9 0-1.1-.7-2-1.8-2zm-.2 2.9c-.5 0-.9-.4-.9-.9 0-.6.4-1 .9-1s.9.5.9 1c-.1.5-.4.9-.9.9zM15 14.1c-.4 0-.7.3-.7.8s.3.7.7.7c.5 0 .8-.3.8-.7 0-.5-.3-.8-.8-.8z\",\"fill\":\"#fff\"}]},\nquip_sheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#30C85A\",\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\"},{\"fill\":\"#2AA848\",\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z\"},{\"opacity\":\".5\",\"fill\":\"#fff\",\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\"},{\"fill\":\"#fff\",\"d\":\"M9.3 17.1c0-1.5-1.1-2.8-2.9-2.8s-2.9 1.3-2.9 2.8S4.6 20 6.4 20c.4 0 .7-.1 1-.2l.9.9.8-.8-.7-.7c.6-.6.9-1.3.9-2.1zm-1.8 1.2l-.3-.3h-.8v.8c-1 0-1.6-.8-1.6-1.7 0-.9.6-1.7 1.6-1.7s1.6.8 1.6 1.7c0 .4-.2.9-.5 1.2zm4.3.6c-.2 0-.4-.1-.5-.2-.1-.2-.2-.4-.2-.7v-1.9H10V18c0 .4 0 .7.1.9.1.2.2.4.3.5.2.2.4.3.7.4.2.1.5.1.7.1s.6 0 .8-.1c.3-.1.5-.2.7-.4.1-.1.2-.3.3-.5.1-.2.1-.5.1-.9v-1.9h-1.1V18c0 .3-.1.5-.2.7-.1.1-.3.2-.5.2h-.1zm2.6-2.9h1.2v3.8h-1.2zm4.3 0c-.5 0-1 .3-1.2.6v-.5h-1.1v5.4h1.1v-2.2c.2.3.7.6 1.2.6 1.1 0 1.8-.8 1.8-1.9 0-1.1-.7-2-1.8-2zm-.2 2.9c-.5 0-.9-.4-.9-.9 0-.6.4-1 .9-1s.9.5.9 1c-.1.5-.4.9-.9.9zM15 14.1c-.4 0-.7.3-.7.8s.3.7.7.7c.5 0 .8-.3.8-.7 0-.5-.3-.8-.8-.8z\"}]},\nrtf:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#00A1EE\"},{\"d\":\"M7.4 18.3l.9 1.5.1.1c0 .2-.2.3-.3.3-.1 0-.2-.1-.2-.1l-1.1-1.7h-.9v1.5c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3V16c0-.2.2-.4.4-.4h1.4c.8 0 1.4.6 1.4 1.4 0 .8-.5 1.3-1.1 1.3zm-1.5-2.2v1.8H7c.6 0 .9-.4.9-.9s-.3-.9-.9-.9H5.9zm6.5 0h-1.2v3.8c0 .2-.1.3-.3.3-.2 0-.3-.1-.3-.3v-3.8H9.4c-.1 0-.2-.1-.2-.2s.1-.3.2-.3h3c.1 0 .3.2.3.3 0 .1-.2.2-.3.2zm3.9 0h-2.2v1.5h2.1c.2 0 .3.1.3.3 0 .1-.1.2-.3.2h-2.1v1.8c0 .2-.1.3-.3.3-.2 0-.3-.1-.3-.3V16c0-.2.2-.4.4-.4h2.4c.1 0 .2.2.2.3 0 .1-.1.2-.2.2z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#0089E9\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nslide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#1AB6D9\"},{\"d\":\"M5.3 13v7.2h7.5V13H5.3zm6.8 5.8H6v-4.4h6.1v4.4z\",\"fill\":\"#fff\"},{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#13A3CF\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 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\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill\":\"#DDD965\"},{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#C1BC45\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"},{\"d\":\"M12.5 13.1H5.9c-.3 0-.6.2-.6.5v6c0 .4.3.6.6.6h5l2.2-2.2v-4.4c0-.3-.2-.5-.6-.5z\",\"fill\":\"#fff\"},{\"fill\":\"#DBD75D\",\"d\":\"M6.7 16.3h5.1v.6H6.7zm0-1.3h5.1v.6H6.7zm0 2.7H10v.6H6.7z\"}]}},\ntxt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#F9CA06\"},{\"d\":\"M8.5 16.1H7.3v3.8c0 .2-.1.3-.3.3-.1 0-.3-.1-.3-.3v-3.8H5.5c-.1 0-.2-.1-.2-.2s.1-.3.2-.3h3c.2 0 .3.2.3.3 0 .1-.1.2-.3.2zm4.4 4.1c-.1 0-.1 0-.2-.1l-1.4-1.9-1.4 1.9c0 .1-.1.1-.2.1s-.3-.1-.3-.3l.1-.1 1.5-2L9.6 16l-.1-.1c0-.2.2-.3.3-.3.1 0 .2 0 .2.1l1.3 1.7 1.3-1.7c.1-.1.1-.1.2-.1.2 0 .3.1.3.3 0 0 0 .1-.1.1l-1.3 1.8 1.4 2c.1 0 .1.1.1.1 0 .2-.1.3-.3.3zm4.2-4.1h-1.2v3.8c0 .2-.1.3-.3.3-.1 0-.3-.1-.3-.3v-3.8h-1.2c-.1 0-.2-.1-.2-.2s.1-.3.2-.3h3c.2 0 .3.2.3.3 0 .1-.1.2-.3.2z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z\",\"fill\":\"#F7BC04\"},{\"d\":\"M15.4 0v5.4c0 .7.4 2.2 2.3 2.2h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nunknown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill\":\"#8199AF\"},{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#617F9B\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nvideo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8E4C9E\"},{\"d\":\"M10.7 17.1c0 .1-.1.2-.2.3 0 .1-1.9 1.7-4.4 2.7h-.5c-.1-.1-.2-.2-.2-.4 0-.1-.1-1.3-.1-2.6s.1-2.6.1-2.6c0-.2.1-.3.2-.4.1-.1.2-.1.3-.1h.2c2.5 1 4.4 2.6 4.4 2.7.1.1.2.2.2.4z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#713985\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nvisio:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#496AB3\"},{\"d\":\"M9.3 16l-1.5 3.9c-.1.2-.3.3-.5.3s-.4-.1-.4-.3L5.3 16v-.1c0-.1.1-.3.3-.3.1 0 .2.1.3.2l1.4 3.7 1.5-3.7c0-.1.1-.2.3-.2.1 0 .3.1.3.3 0 0 0 .1-.1.1zm1.2 4.2c-.1 0-.3-.1-.3-.3v-4c0-.2.2-.3.3-.3.2 0 .3.1.3.3v4c0 .2-.1.3-.3.3zm3 0c-.7 0-1.2-.2-1.6-.5-.1-.1-.1-.2-.1-.2 0-.2.1-.3.3-.3h.1c.4.3.8.5 1.3.5.8 0 1.1-.4 1.1-.7 0-1.2-2.7-.6-2.7-2.2 0-.7.7-1.2 1.5-1.2.6 0 1.1.2 1.5.5.1 0 .1.1.1.2s-.1.2-.3.2h-.1c-.4-.3-.8-.4-1.2-.4-.5 0-.9.3-.9.7 0 1 2.6.4 2.6 2.1 0 .7-.4 1.3-1.6 1.3z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#374FA0\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nwebex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill\":\"#80BC4B\"},{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#60AB38\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":[{\"d\":\"M9.2 20.2c1.9-.1 3.4-1.7 3.4-3.7 0-1.9-1.5-3.5-3.4-3.6v7.3z\",\"fill\":\"#CFE8AF\"},{\"d\":\"M8.8 20.2c-2-.1-3.5-1.7-3.5-3.7s1.5-3.5 3.5-3.6v7.3z\",\"fill\":\"#fff\"}]},\nword:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#14A9DA\"},{\"d\":\"M6.8 20.2H5.7c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4h1.1c1.4 0 2.4 1 2.4 2.3 0 1.2-1 2.2-2.4 2.2zm0-4h-.9v3.5h.9c1.1 0 1.8-.8 1.8-1.7 0-1-.6-1.8-1.8-1.8zm5.4 4.1c-1.3 0-2.2-1-2.2-2.3s.9-2.4 2.2-2.4c1.4 0 2.3 1 2.3 2.4 0 1.3-.9 2.3-2.3 2.3zm0-4.2c-1 0-1.6.8-1.6 1.9 0 1 .6 1.8 1.6 1.8 1.1 0 1.7-.8 1.7-1.8 0-1.1-.6-1.9-1.7-1.9zm7 .2v.2c0 .1-.1.2-.2.2s-.2 0-.2-.1c-.3-.3-.7-.5-1.1-.5-1 0-1.8.8-1.8 1.9 0 1 .8 1.8 1.8 1.8.4 0 .8-.2 1.1-.5 0-.1.1-.1.2-.1s.2.1.2.3v.1c-.4.4-.9.7-1.5.7-1.3 0-2.4-1-2.4-2.4s1.1-2.3 2.4-2.3c.6 0 1.1.3 1.5.7z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#0F93D0\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nxml:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FC7B24\"},{\"d\":\"M8.8 20.2c-.1 0-.2 0-.2-.1l-1.4-1.9-1.4 1.9c-.1.1-.2.1-.2.1-.2 0-.3-.1-.3-.3v-.1l1.5-2L5.4 16v-.1c0-.2.1-.3.3-.3 0 0 .1 0 .2.1l1.3 1.7 1.3-1.7c0-.1.1-.1.2-.1s.2.1.2.3v.1l-1.4 1.8 1.5 2v.1c0 .2-.1.3-.2.3zm5.4 0c-.2 0-.3-.1-.3-.3v-3.5l-1.5 3.7c0 .1-.1.1-.1.1-.1 0-.2 0-.2-.1l-1.5-3.7v3.5c0 .2-.1.3-.3.3-.1 0-.2-.1-.2-.3v-3.8c0-.3.2-.5.4-.5s.4.1.5.3l1.3 3.1 1.3-3.1c0-.2.2-.3.4-.3.3 0 .5.2.5.5v3.8c0 .2-.2.3-.3.3zm3.9-.1h-2c-.2 0-.4-.1-.4-.4v-3.8c0-.2.1-.3.3-.3.1 0 .2.1.2.3v3.7h1.9c.2 0 .3.2.3.3 0 .1-.1.2-.3.2z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#FB5C1B\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nzip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8199AF\"},{\"d\":\"M8.4 20.2H5.6c-.2 0-.3-.1-.3-.3v-.2l2.6-3.5H5.5c-.1 0-.2-.1-.2-.2 0-.2.1-.3.2-.3h2.8c.2 0 .3.1.3.3 0 .1 0 .2-.1.2L6 19.7h2.4c.1 0 .3.1.3.3 0 .1-.2.2-.3.2zm1.5.1c-.1 0-.3-.2-.3-.3v-4.1c0-.1.2-.2.3-.2.2 0 .3.1.3.2V20c0 .1-.1.3-.3.3zm3.3-1.9H12V20c0 .1-.1.3-.3.3-.2 0-.3-.2-.3-.3v-3.9c0-.2.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.4s-.5 1.3-1.4 1.3zm0-2.2H12v1.7h1.2c.5 0 .9-.3.9-.8s-.4-.9-.9-.9z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z\",\"fill\":\"#617F9B\"},{\"d\":\"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nviewBox:'0 0 24 24'\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\":\"M19 12.3c0-.5-.4-.7-.5-.7h-5.3c-.4 0-.5.5-.5.5v5.7H19v-5.5zm-3.6 4c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.5.5-.5h.5c.2 0 .5.3.5.5v.5zm0-2.5c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.4zm2.4 2.5c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.5.5-.5h.5c.2 0 .5.3.5.5v.5zm0-2.5c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.4zm-3.6-4.1V6.9c0-.5-.4-.7-.5-.7H5.6c-.5 0-.6.5-.6.6v11h6.3v-7.1s0-.5.5-.5h1.9s.5-.3.5-.5zm-6.5 6.4c0 .2-.2.4-.5.4h-.5c-.2 0-.5-.2-.5-.4v-.5c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.2 0-.5-.3-.5-.5v-.5c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .3-.2.5-.5.5h-.5c-.2 0-.5-.2-.5-.5v-.4c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v.4zm0-2.4c0 .3-.2.5-.5.5h-.5c-.2 0-.5-.2-.5-.5v-.5c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm2.6 7.4c0 .2-.2.4-.5.4h-.4c-.3 0-.5-.2-.5-.4v-.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.4c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.5zm0-2.5c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.4zm0-2.4c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.5zm2.7 0c0 .3-.3.5-.5.5H12c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5z\"}},\naction_list_component:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.6 15.3h7.1c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5h-7.1c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5zm0-4.3h7.1c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5h-7.1c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5zm0-4.2h7.1c.3 0 .5.2.5.4v1c0 .3-.2.5-.5.5h-7.1c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4zM7 6.8c-.6 0-1 .4-1 .9s.4 1 1 1 .9-.4.9-1-.4-.9-.9-.9zm0 8.5c-.6 0-1 .5-1 1s.4 1 1 1 .9-.5.9-1-.4-1-.9-1zm0-5.5c-1.2 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2 2.1-1 2.1-2.2S8.2 9.8 7 9.8zm0 2.9c-.4 0-.8-.3-.8-.7 0-.4.4-.7.8-.7s.7.3.7.7c0 .4-.3.7-.7.7z\"}},\nactions_and_buttons:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.6 17.9c.2 0 .4-.2.4-.5v-4.9c.1-.3-.1-.5-.3-.5H6.6c-.3 0-.5.2-.5.4v1c0 .2.2.4.4.4h1.7c.1 0 .3.2.3.3 0 .1-.1.2-.1.3L5 17.7c-.2.2-.2.5 0 .7l.7.6c.2.2.4.2.6 0l3.4-3.4c.1-.1.3-.1.5 0v1.8c0 .3.2.5.4.5h1zm1.8.7c1.3-.2 2.7-.8 3.7-1.9 2.7-2.7 2.7-7.1 0-9.8s-7.1-2.7-9.8 0c-1.1 1-1.7 2.3-1.9 3.7h1.4c.2-1 .7-1.9 1.5-2.7 2.1-2.2 5.7-2.2 7.8 0s2.2 5.7 0 7.8c-.7.8-1.7 1.3-2.7 1.5v1.4zm0-2.8c.7-.2 1.3-.5 1.7-1 1.7-1.7 1.7-4.3 0-5.9s-4.2-1.7-5.9 0c-.5.5-.8 1.1-1 1.7h1.5c.1-.3.3-.5.5-.8 1.1-1.1 2.9-1.1 4 0s1 2.9 0 4c-.3.2-.5.3-.8.5v1.5z\"}},\naddress:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.8 4.5a5.7 5.7 0 0 0-5.7 5.8c0 3.9 4 7.5 5.3 8.5a.6.6 0 0 0 .7 0c1.3-1 5.4-4.6 5.4-8.5a5.7 5.7 0 0 0-5.7-5.8zm0 8.1a2.4 2.4 0 1 1 2.4-2.4 2.4 2.4 0 0 1-2.4 2.4z\"}},\nagent_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.8 5.2c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3.1.4l-.7 2.1c-.1.4.2.8.6.6l2.1-.7c.2-.1.3 0 .4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7s-3.2-6.7-7.2-6.7zm-2 9.7c0 .1-.1.3-.2.3H8.3c-.1 0-.3-.2-.3-.3v-1.6c0-.2.2-.3.3-.3h1.3c.1 0 .2.1.2.3v1.6zm2.9 0c0 .1-.1.3-.2.3h-1.3c-.2 0-.3-.2-.3-.3v-3.8c0-.1.1-.3.3-.3h1.3c.1 0 .2.2.2.3v3.8zm2.9 0c0 .1-.1.3-.3.3h-1.2c-.2 0-.3-.2-.3-.3V9c0-.2.1-.3.3-.3h1.2c.2 0 .3.1.3.3v5.9z\"}},\nall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M13.7 10.7c-.4 0-.7-.3-.7-.7V5.9c0-.4.3-.7.7-.7h4.2c.4 0 .7.3.7.7V10c0 .4-.3.7-.7.7h-4.2zm1.8 2.4L13 15.8c-.1.1-.1.4 0 .5l2.5 2.7c.2.2.4.2.6 0l2.5-2.7c.1-.1.1-.4 0-.5l-2.5-2.7c-.2-.1-.5-.1-.6 0z\"},{\"d\":\"M5.7 6.2l2.1-1.3c.2-.1.4-.1.6 0l2.2 1.3c.2.1.3.3.3.5v2.5c0 .2-.1.4-.3.5l-2.2 1.2c-.1.2-.4.2-.6 0L5.7 9.7c-.2-.1-.4-.3-.4-.5V6.7c0-.2.2-.4.4-.5z\"}],\"circle\":{\"cx\":\"8.112\",\"cy\":\"15.984\",\"r\":\"2.784\"}},\nannouncement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11 17.8l-.3-.3c-.5-.3-.5-.9-.5-1.2v-.8c0-.3-.2-.5-.4-.5H8c-.3 0-.5.2-.5.5v2.3c0 .8.5 1.4 1.2 1.4h1.5c.9 0 1-.6 1-.6s.1-.5-.2-.8zm6.8-8.2V5.5c0-.7-1-.9-1.4-.4l-2.7 2.5c-.5.3-1 .5-1.5.5H7.6C6 8.1 4.8 9.5 4.8 11v.1c0 1.5 1.2 2.7 2.8 2.7h4.6c.6 0 1.1.2 1.5.6l2.7 2.6c.4.4 1.4.3 1.4-.4v-4.1c.9 0 1.4-.6 1.4-1.5 0-.8-.6-1.4-1.4-1.4z\"}},\nanswer_best:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":[{\"d\":\"M11.9 5.2c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.2 0 .4L5 17.7c-.2.4.2.7.6.6l2.1-.8c.1 0 .3 0 .4.1 1.1.6 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7s-3.2-6.7-7.2-6.7zm3.4 5.2l-3.6 3.7c-.2.1-.3.2-.5.2s-.4-.1-.5-.2l-1.8-1.8c-.2-.2-.2-.4 0-.5l.5-.5c.1-.2.3-.2.5 0l1.3 1.3 3.1-3.2c.2-.2.4-.2.5 0l.5.5c.2.1.2.4 0 .5z\"},{\"fill-opacity\":\".65\",\"d\":\"M24 24v-9.1L14.9 24H24zm-1-3.2l-.8.7v.1l.2 1.1c0 .1-.1.1-.1.1l-.9-.5c-.1-.1-.1-.1-.1 0l-1 .5s-.1 0-.1-.1l.2-1.1v-.1l-.8-.7c0-.1 0-.2.1-.2l1-.2h.1l.4-1c0-.1.1-.1.2 0l.4 1h.1l1 .2c.1 0 .1.1.1.2z\"}]},\nanswer_private:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":[{\"fill-opacity\":\".65\",\"d\":\"M21.4 20.2c-.3 0-.5.2-.5.4v.3h.9v-.3c0-.2-.2-.4-.4-.4z\"},{\"fill-opacity\":\".65\",\"d\":\"M24 24v-9.1L14.9 24H24zm-1.2-1.6c0 .2-.2.4-.4.4h-2.1c-.2 0-.4-.2-.4-.4v-1.2c0-.2.2-.3.4-.3h.1v-.3c0-.5.4-.9 1-.9s.9.4.9.9v.3h.1c.2 0 .4.1.4.3v1.2z\"},{\"d\":\"M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3 0 .4l-.6 2.1c-.2.4.2.7.6.6l2.1-.7c.1-.1.3-.1.4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7S16 5.3 12 5.3zm3.5 5.2l-3.7 3.7c-.2.1-.3.2-.5.2s-.4-.1-.5-.2L9 12.4c-.1-.1-.1-.4 0-.5l.5-.5c.1-.1.4-.1.5 0l1.3 1.3 3.1-3.2c.2-.1.4-.1.6 0l.5.5c.1.2.1.4 0 .5z\"}]},\nanswer_public:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3.1.4l-.7 2.1c-.1.4.2.7.6.6l2.1-.7c.2-.1.3-.1.4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7S16 5.3 12 5.3zm3.5 5.2l-3.7 3.7c-.2.1-.3.2-.5.2s-.4-.1-.5-.2L9 12.4c-.1-.1-.1-.4 0-.5l.5-.5c.1-.1.4-.1.5 0l1.3 1.3 3.1-3.2c.2-.1.4-.1.6 0l.5.5c.1.2.1.4 0 .5z\"}},\napex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.7 16.2h-8c-.3 0-.5.2-.5.5v.8c0 .3.2.5.5.5h8c.3 0 .5-.2.5-.5v-.8c0-.3-.2-.5-.5-.5zm-6.9-5.4L6 6.1c-.1-.1-.4-.1-.6.1l-.5.7c-.1.2-.1.5.1.6l4.1 3.3c.2.1.2.4 0 .5L5 14.6c-.2.2-.2.5-.1.6l.5.8c.1.2.4.2.6.1l5.8-4.6c.2-.2.2-.6 0-.7z\"}},\napex_plugin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 9.6l3.4-3.4c.2-.1.2-.4 0-.6l-.7-.7c-.2-.2-.5-.2-.6 0l-3.4 3.4L12 9.6zm3.7 3.8l3.4-3.4c.2-.1.2-.4 0-.6l-.7-.7c-.2-.2-.5-.2-.6 0L14.4 12l1.3 1.4zm-.4 2.8c0-.1.1-.2.1-.3 0-.1 0-.2-.1-.3v-.1h-.1L8.5 8.7h-.1c0-.1-.2-.1-.3-.1-.1 0-.2.1-.3.1l-.2.2c0 .1 0 .1-.1.1 0 .1 0 .1-.1.2 0 0-.1.1-.1.2-.1 0-.1.1-.1.2-.1.1-.1.2-.2.3 0 .1-.1.2-.1.3 0 .1-.1.2-.1.3-.1.2-.1.3-.1.4-.1.2-.1.4-.1.5 0 .2-.1.4-.1.6l-.1.5v3.1s.1.1.1.2l-1.6 1.6c-.1.1-.1.4 0 .6L6 19.1c.2.1.5.1.7 0l1.5-1.6c.6.1 1.2.1 1.7.1h1.5c.3-.1.7-.1 1.1-.2.3 0 .6-.1.9-.2.3-.1.5-.2.7-.3.2 0 .4-.1.5-.2.2-.2.4-.3.6-.5h.1z\"}},\napproval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 13h-2.7c-.8 0-1.4-.7-1.4-1.5.1-2.1 1.1-2.2 1.2-3.6.1-1.4-.8-2.7-2.3-3.1-1.8-.3-3.5 1.1-3.5 2.9 0 1.6 1.1 1.6 1.2 3.8 0 .8-.6 1.5-1.4 1.5H6.2c-.8 0-1.4.6-1.4 1.4v1c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4v-1c0-.8-.6-1.4-1.4-1.4zm0 4.3H6.2c-.2 0-.4.2-.4.4v.1c0 .8.6 1.4 1.4 1.4h9.6c.8 0 1.4-.6 1.4-1.4v-.1c0-.2-.2-.4-.4-.4z\"}},\napps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.7 4.8H5.8c-.6 0-1 .4-1 1v1.9c0 .5.4.9 1 .9h1.9c.5 0 .9-.4.9-.9V5.8c0-.6-.4-1-.9-1zm5.3 0h-2c-.5 0-.9.4-.9 1v1.9c0 .5.4.9.9.9h2c.5 0 .9-.4.9-.9V5.8c0-.6-.4-1-.9-1zm5.2 0h-1.9c-.5 0-.9.4-.9 1v1.9c0 .5.4.9.9.9h1.9c.6 0 1-.4 1-.9V5.8c0-.6-.4-1-1-1zM7.7 10.1H5.8c-.6 0-1 .4-1 .9v2c0 .5.4.9 1 .9h1.9c.5 0 .9-.4.9-.9v-2c0-.5-.4-.9-.9-.9zm5.3 0h-2c-.5 0-.9.4-.9.9v2c0 .5.4.9.9.9h2c.5 0 .9-.4.9-.9v-2c0-.5-.4-.9-.9-.9zm5.2 0h-1.9c-.5 0-.9.4-.9.9v2c0 .5.4.9.9.9h1.9c.6 0 1-.4 1-.9v-2c0-.5-.4-.9-1-.9zM7.7 15.4H5.8c-.6 0-1 .4-1 .9v1.9c0 .6.4 1 1 1h1.9c.5 0 .9-.4.9-1v-1.9c0-.5-.4-.9-.9-.9zm5.3 0h-2c-.5 0-.9.4-.9.9v1.9c0 .6.4 1 .9 1h2c.5 0 .9-.4.9-1v-1.9c0-.5-.4-.9-.9-.9zm5.2 0h-1.9c-.5 0-.9.4-.9.9v1.9c0 .6.4 1 .9 1h1.9c.6 0 1-.4 1-1v-1.9c0-.5-.4-.9-1-.9z\"}},\napps_admin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 5h-11C5.7 5 5 5.7 5 6.5v11c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5zM17 17.5H7c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5zm-6.2-9.6H8.4c-.3 0-.5.2-.5.5v2.4c0 .3.2.5.5.5h2.4c.3 0 .5-.2.5-.5V8.4c0-.3-.2-.5-.5-.5zm4.8 0h-2.4c-.3 0-.5.2-.5.5v2.4c0 .3.2.5.5.5h2.4c.3 0 .5-.2.5-.5V8.4c0-.3-.2-.5-.5-.5zm-4.8 4.8H8.4c-.3 0-.5.2-.5.5v2.4c0 .3.2.5.5.5h2.4c.3 0 .5-.2.5-.5v-2.4c0-.3-.2-.5-.5-.5zm4.8 0h-2.4c-.3 0-.5.2-.5.5v2.4c0 .3.2.5.5.5h2.4c.3 0 .5-.2.5-.5v-2.4c0-.3-.2-.5-.5-.5z\"}},\narticle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.7 14.2h3.1c.3 0 .5-.3.5-.5V6.5c0-.5-.5-1-1-1H7.8c-.4 0-.6.3-.6.6v7.6c0 .2.2.5.5.5zM18.2 7v7.6c0 .6-.4 1-.9 1H6.7c-.5 0-.9-.4-.9-1V7c-.8 0-1.5.6-1.5 1.4v7.2c0 .8.7 1.4 1.5 1.4h4.5c.3 0 .5.3.5.5s.2.5.5.5h1.4c.3 0 .5-.2.5-.5s.2-.5.5-.5h4.5c.8 0 1.5-.6 1.5-1.4V8.4c0-.8-.7-1.4-1.5-1.4zm-5 7.2h3c.4 0 .6-.3.6-.6V6c0-.3-.2-.5-.5-.5h-2.6c-.5 0-1 .5-1 1v7.2c0 .2.2.5.5.5z\"}},\nasset_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 13.1V13c0-2.1-1.3-4-3.1-4.9v-.2c0-1.3-1.1-2.4-2.4-2.4S9.6 6.6 9.6 7.9v.2C7.8 9 6.5 10.9 6.5 13v.1c-1 .3-1.7 1.2-1.7 2.3 0 1.4 1 2.4 2.4 2.4.5 0 1-.1 1.4-.4.9.7 2.1 1.1 3.4 1.1s2.4-.4 3.3-1.1c.4.2.9.4 1.5.4 1.3 0 2.4-1 2.4-2.4 0-1-.7-2-1.7-2.3zm-8.2 3.4c.2-.3.3-.7.3-1.1 0-1.1-.9-2.1-2-2.3V13c0-1.6 1-3.1 2.4-3.9.4.7 1.1 1.2 2 1.2s1.6-.5 2-1.2c1.4.8 2.4 2.3 2.4 3.9v.1c-1.1.2-2 1.2-2 2.3 0 .4.1.8.3 1.1-.8.6-1.7.9-2.7.9s-1.9-.3-2.7-.9z\"}},\nassigned_resource:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm3.9 5.6l-2.5 2.4c-.2.2-.4 0-.4-.3v-1.4c-1.8 0-3 1.2-3 3.1H8.1A4.8 4.8 0 0 1 13 9.3V7.8c0-.3.3-.5.4-.3l2.5 2.5a.4.4 0 0 1 0 .4zm-9.7 5h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z\",\"fill-rule\":\"evenodd\"}},\nassignment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.3 13.2h13.4c.3 0 .5.2.5.5v.9c0 .3-.2.5-.5.5H5.3c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5zm0-4.3h13.4c.3 0 .5.2.5.5v.9c0 .3-.2.5-.5.5H5.3c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5z\"}},\navatar:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 17.1v.7c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4v-.7c0-1.8 2-2.8 4-3.7 0 0 .1 0 .2-.1.1 0 .3 0 .4.1.8.5 1.7.8 2.6.8.9 0 1.8-.3 2.6-.8.1-.1.3-.1.4 0 .1 0 .2 0 .2.1 2 .8 4 1.8 4 3.6z\"},\"ellipse\":{\"cx\":\"12\",\"cy\":\"8.76\",\"rx\":\"3.576\",\"ry\":\"3.96\"}},\navatar_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"opacity\":\".5\",\"path\":{\"d\":\"M19.2 17.1v.7c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4v-.7c0-1.8 2-2.8 4-3.7 0 0 .1 0 .2-.1.1 0 .3 0 .4.1.8.5 1.7.8 2.6.8s1.8-.3 2.6-.8c.1-.1.3-.1.4 0 .1 0 .2 0 .2.1 2 .8 4 1.8 4 3.6z\"},\"ellipse\":{\"cx\":\"12\",\"cy\":\"8.76\",\"rx\":\"3.576\",\"ry\":\"3.96\"}}},\nbot:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M11.9 6.2c1.7 0 3.1 1.4 3.1 3.1v.8c-1-.1-2.1-.2-3.1-.2s-2.1.1-3.1.2v-.8c0-1.7 1.4-3.1 3.1-3.1zm5.7 9.1l.3-2.7c.7.1 1.2.7 1.2 1.3 0 .8-.7 1.4-1.5 1.4zm-11.4 0c-.8 0-1.5-.6-1.5-1.4 0-.7.5-1.2 1.2-1.3l.3 2.7zm10.3-4.5c-1.6-.2-3.1-.3-4.6-.3s-3 .1-4.5.3c-.6 0-.9.5-.9 1l.5 4.7c.1.4.4.8.8.8 1.4.2 2.8.2 4.2.2s2.7 0 4.1-.2c.4 0 .7-.4.8-.8l.5-4.7c0-.5-.4-1-.9-1zM9.3 15c-.4 0-.7-.4-.7-.9s.3-.9.7-.9.6.4.6.9-.3.9-.6.9zm4 1l-.1.1s0 .1-.1.1h-2.4l-.1-.1v-.5c0-.1 0-.2.1-.2h.1c.1 0 .1.1.1.2v.2h2v-.2c0-.1.1-.2.2-.2s.2.1.2.2v.4zm1.2-1c-.3 0-.6-.4-.6-.9s.3-.9.6-.9.7.4.7.9-.3.9-.7.9z\"}},\nbot_training:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M13.1 14.6c-.2.1-.5.2-.8.2-1.7.2-3.2-1.1-3.2-2.8 0-.3.1-.6.1-.9.1-.1.2-.2.3-.1l1.6 1.6c.2.2.3.2.5 0l1.1-1.1c.2-.1.2-.3 0-.5l-1.6-1.6c-.1-.1 0-.2.1-.3.2 0 .5-.1.8-.1 1.7 0 3.1 1.5 2.9 3.2 0 .3-.1.5-.2.8l3 3c1-1.1 1.5-2.5 1.5-4 0-3.7-3.2-6.6-7.2-6.6s-7.2 2.9-7.2 6.5c0 1.2.3 2.3.9 3.2.1.2.1.4 0 .5l-.9 2.6c-.1.2.1.4.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9s2.8-.4 3.9-1.1l-2.9-2.9z\"}},\nbranch_merge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.4 16.9c.8-1.7 2.2-2.9 3.9-3.5.6-.2 1.2-.3 1.9-.4h1v3.2c0 .3.3.5.6.3l5-4.3c.2-.1.2-.4 0-.6l-5-4.1c-.2-.2-.6 0-.6.2V11h-1c-.7-.1-1.4-.2-1.9-.4-1.7-.7-3.1-1.8-3.9-3.5-.1-.3-.4-.4-.7-.3l-.9.4c-.2.1-.3.4-.2.7.9 1.8 2.3 3.2 3.9 4.1-1.6.9-3 2.3-3.9 4.2-.1.2-.1.5.2.6l.9.4c.3.1.6 0 .7-.3z\"}},\nbrand:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 9.4c-.7-2.9-3.7-4.6-7.1-4.6C8 4.8 4.8 8 4.8 12s3.2 7.2 7.3 7.2c5.5 0 5.1-2.8 3.3-3.9-1-.7-1.6-2.2-.5-3.3 1.9-2 5 1.2 4.2-2.6zm-11 5c-.9 0-1.5-.7-1.5-1.5s.6-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5zm.3-5.7c0-.9.7-1.5 1.5-1.5s1.5.7 1.5 1.5-.7 1.5-1.5 1.5c-.9 0-1.5-.6-1.5-1.5zm3.3 8.7c-.9 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5zm2.7-7.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5z\"}},\nbusiness_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M11.5 8.5h.8c.2 0 .4.1.4.4v3.3c0 .1-.1.2-.1.3l-2.2 2.2c-.1.1-.3.1-.5 0l-.5-.6c-.2-.1-.2-.3 0-.5l1.8-1.8V8.9c0-.2.1-.4.3-.4zm8.8 3.3h-1.2v-.3c-.3-3.9-3.7-6.8-7.7-6.6-3.9.4-6.9 3.8-6.6 7.7.3 3.7 3.4 6.6 7.1 6.6 2 .1 3.9-.7 5.3-2.2.1-.1.2-.2.1-.4l-.6-.7c-.2-.3-.4-.2-.6 0-1.2 1.3-3 2-4.7 1.8-2.5-.3-4.8-2.6-5.1-5-.3-3.1 2-5.9 5.1-6.2s5.8 2 6.1 5.1v.2h-1.1c-.2 0-.4.2-.4.4 0 .1.1.2.1.3l1.9 2.3c.2.2.5.2.6 0l1.9-2.3c.2-.2.2-.4 0-.6 0 0-.1-.1-.2-.1z\"}},\nbuyer_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M14.8 15.7H18c.1 0 .2-.1.2-.1l.6-2.1c0-.2-.1-.3-.2-.3h-4.9l-.1-.3c0-.1-.2-.2-.3-.2h-.5c-.2 0-.4.1-.4.3 0 .2.2.3.3.3h.4l.2 1 .8 2.5c0 .1.1.2.3.2h3.7c.2 0 .4-.2.4-.3 0-.2-.2-.4-.4-.4h-3.3c-.1 0-.2-.1-.3-.2 0-.2.1-.4.3-.4z\"},{\"d\":\"M14.7 4.8H5.3c-.5 0-.6.5-.6.6v11.9c0 .3.2.7 1.1.7h6.8c.7 0 .7-.5.6-.6v-.1l-.1-.3v-.1l-.8-2.5c0-.2-.2-.2-.2-.2l-.3-.3c-.3-.2-.4-.6-.4-.9.1-.7.7-1.2 1.3-1.2h.6c.3 0 .6.1.9.3v.1c.1 0 .2.1.3.1h.3c.3 0 .4-.3.4-.4V5.5c0-.6-.4-.7-.5-.7zM7.8 16.1c0 .3-.3.6-.6.6h-.5c-.3 0-.6-.3-.6-.6v-.5c0-.4.3-.6.6-.6h.5c.3 0 .6.2.6.6v.5zm0-2.9c0 .4-.3.6-.6.6h-.5c-.3 0-.6-.2-.6-.6v-.5c0-.3.3-.6.6-.6h.5c.3 0 .6.3.6.6v.5zm0-2.8c0 .4-.3.6-.6.6h-.5c-.3 0-.6-.2-.6-.6v-.5c0-.3.3-.6.6-.6h.5c.3 0 .6.3.6.6v.5zm0-2.8c0 .3-.3.6-.6.6h-.5c-.3 0-.6-.3-.6-.6v-.5c0-.4.3-.6.6-.6h.5c.3 0 .6.2.6.6v.5zm3 8.5c0 .3-.2.6-.5.6h-.6c-.3 0-.5-.3-.5-.6v-.5c0-.4.2-.6.5-.6h.6c.3 0 .5.2.5.6v.5zm0-2.9c0 .4-.2.6-.5.6h-.6c-.3 0-.5-.2-.5-.6v-.5c0-.3.2-.6.5-.6h.6c.3 0 .5.3.5.6v.5zm0-2.8c0 .4-.2.6-.5.6h-.6c-.3 0-.5-.2-.5-.6v-.5c0-.3.2-.6.5-.6h.6c.3 0 .5.3.5.6v.5zm0-2.8c0 .3-.2.6-.5.6h-.6c-.3 0-.5-.3-.5-.6v-.5c0-.4.2-.6.5-.6h.6c.3 0 .5.2.5.6v.5zm3.1 2.8c0 .4-.3.6-.6.6h-.5c-.3 0-.6-.2-.6-.6v-.5c0-.3.3-.6.6-.6h.5c.3 0 .6.3.6.6v.5zm0-2.8c0 .3-.3.6-.6.6h-.5c-.3 0-.6-.3-.6-.6v-.5c0-.4.3-.6.6-.6h.5c.3 0 .6.2.6.6v.5z\"}],\"circle\":[{\"cx\":\"14.904\",\"cy\":\"18.192\",\"r\":\".528\"},{\"cx\":\"17.496\",\"cy\":\"18.192\",\"r\":\".528\"}]}},\nbuyer_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"14.088\",\"cy\":\"18.408\",\"r\":\".528\"},{\"cx\":\"16.68\",\"cy\":\"18.408\",\"r\":\".528\"}],\"path\":{\"d\":\"M9 10.3c-.4-.5-.6-1.2-.6-1.9 0-1.3.5-2.4 1.3-3-.3-.5-.8-.8-1.5-.8-1.3 0-1.9.9-1.9 2.1 0 .6.2 1.1.6 1.5.2.2.4.5.4.8 0 .3-.1.5-.8.8-1 .5-1.9 1-1.9 2 0 .6.4 1 1 1h.9c.1 0 .3-.1.4-.2.4-.8 1.2-1.3 1.9-1.7.2-.1.3-.4.2-.6zm5 5.6h3.2c.1 0 .2 0 .2-.1l.6-2.1c0-.1-.1-.3-.2-.3h-4.9l-.1-.3c-.1-.1-.2-.2-.3-.2H12c-.2 0-.4.1-.4.3 0 .2.2.3.3.3h.3l.3 1 .7 2.5c.1.1.2.2.4.2h3.7c.2 0 .3-.1.3-.3.1-.2-.1-.3-.3-.3H14c-.1 0-.2-.1-.3-.3 0-.2.1-.4.3-.4zm-2.4-1.1l-.1-.4c-.2 0-.4-.2-.5-.3-.2-.3-.3-.6-.3-.9 0-.7.6-1.2 1.3-1.2h.5c.4 0 .8.2 1 .5h1.4c-.4-.3-.8-.5-1.3-.7-.8-.3-.9-.6-.9-.9 0-.3.3-.6.5-.9.5-.4.7-1 .7-1.6 0-1.3-.8-2.4-2.1-2.4S9.7 7.1 9.7 8.4c0 .6.2 1.2.7 1.6.2.3.4.6.4.9 0 .3-.1.6-.8.9-1.2.5-2.2 1-2.3 2.1 0 .6.5 1.2 1.2 1.2h2.8l-.1-.3zm3.5-6.4c0 .7-.1 1.4-.5 1.9-.2.3-.1.5.1.7.7.3 1.5.8 1.9 1.5h1.2c.2 0 .4.1.6.2.3-.1.5-.5.5-.9 0-1-.9-1.5-1.9-2-.7-.3-.8-.6-.8-.8 0-.3.2-.6.5-.8.4-.4.6-.9.6-1.5 0-1.2-.7-2.1-1.9-2.1-.8 0-1.3.3-1.6.8.8.6 1.3 1.7 1.3 3z\"}}},\ncalibration:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.7 11.9c-.2.1-.3.1-.5.1-.1 0-.3 0-.5-.1-.1 0-.2.1-.2.3v6.5c0 .3.2.5.5.5h.4c.3 0 .5-.2.5-.5v-6.5c0-.2-.1-.3-.2-.3zm4.8 5.1h-1c-.1-.1-.2.1-.2.2v1.5c0 .3.2.5.5.5h.4c.3 0 .5-.2.5-.5v-1.5c0-.2-.1-.3-.2-.2zm4.8-3.6h-1c-.1-.1-.2.1-.2.2v5.1c0 .3.2.5.5.5h.4c.3 0 .5-.2.5-.5v-5.1c0-.2-.1-.3-.2-.2zm-9.4-6V5.3c0-.3-.2-.5-.5-.5H7c-.3 0-.5.2-.5.5v2.1c-.6.2-1 .8-1 1.5 0 .9.8 1.7 1.7 1.7s1.7-.8 1.7-1.7c0-.7-.4-1.3-1-1.5zm4.8 5V5.3c0-.3-.2-.5-.5-.5h-.4c-.3 0-.5.2-.5.5v7.1c-.6.3-1 .8-1 1.5 0 1 .8 1.7 1.7 1.7s1.7-.7 1.7-1.7c0-.7-.4-1.2-1-1.5zm4.8-3.6V5.3c0-.3-.2-.5-.5-.5h-.4c-.3 0-.5.2-.5.5v3.5c-.6.3-1 .8-1 1.5 0 1 .8 1.7 1.7 1.7s1.7-.7 1.7-1.7c0-.7-.4-1.2-1-1.5z\"}},\ncall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.6 15.3l-1.4-1.2c-.5-.4-1.3-.4-1.8 0l-1.4 1c-.2.2-.5.1-.6 0L11 13l-2.1-2.4c-.2-.2-.2-.4 0-.6l1-1.4c.4-.6.3-1.3-.1-1.8L8.6 5.3c-.5-.6-1.5-.7-2.1-.1L5.2 6.5c-.3.3-.4.7-.4 1.1.1 3 1.5 5.9 3.6 8s4.9 3.4 8 3.6c.4 0 .8-.2 1-.5l1.3-1.3c.7-.5.6-1.5-.1-2.1z\"}},\ncall_history:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.7 11.5v.5H5.3v-.5h1.4zM12 5.3c-3.6 0-6.5 2.7-6.7 6.2v.3H4.2c-.3 0-.5.3-.3.5l1.8 2.2c.2.2.4.2.6 0l1.8-2.2c.2-.2 0-.5-.3-.5H6.7v-.3C7 8.8 9.2 6.7 12 6.7c3.1 0 5.6 2.7 5.2 5.9-.2 2.3-2.4 4.4-4.7 4.7-1.7.1-3.3-.5-4.4-1.7-.2-.2-.3-.3-.5 0l-.6.6c-.1.2 0 .3.1.4 1.3 1.4 3.1 2.1 5 2.1 3.4 0 6.3-2.8 6.6-6.2.3-3.9-2.8-7.2-6.7-7.2zm-.7 5c.2-.2.2-.6 0-.8l-.5-.6c-.2-.3-.7-.3-.9-.1l-.6.6c-.1.1-.2.3-.2.5.1 1.3.7 2.6 1.6 3.4s2.1 1.5 3.4 1.6c.2 0 .4 0 .5-.2l.6-.6c.2-.2.2-.7-.1-.9l-.6-.5c-.2-.2-.6-.2-.8 0l-.6.4c-.1.1-.2.1-.3 0l-1-.9-.9-1c-.1-.1-.1-.2 0-.3l.4-.6z\"}},\ncampaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 13c-3.2 0-5.8-2.6-5.8-5.8S8.8 6.2 12 6.2s5.8 2.6 5.8 5.8-2.6 5.8-5.8 5.8zm0-10.1c-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.3zm0 7.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.9zm0-4.3c-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4 1.4-.6 1.4-1.4-.6-1.4-1.4-1.4z\"}},\ncampaign_members:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-opacity\":\".65\",\"d\":\"M24 14.9V24h-9.1l9.1-9.1zm-1.9 6.6c-.3-.1-.3-.2-.3-.4 0-.1.1-.2.2-.3.2-.2.2-.4.2-.7 0-.5-.3-.9-.8-.9s-.9.5-.9.9c0 .3.1.5.3.7.1.1.2.2.2.3s-.1.3-.4.4c-.5.2-.9.4-.9.8 0 .3.2.5.5.5h2.4c.2 0 .4-.2.4-.5 0-.4-.4-.6-.9-.8z\"},{\"d\":\"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 13c-3.2 0-5.8-2.6-5.8-5.8S8.8 6.2 12 6.2s5.8 2.6 5.8 5.8-2.6 5.8-5.8 5.8zm0-10.1c-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.3zm0 7.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.9zm0-4.3c-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4 1.4-.6 1.4-1.4-.6-1.4-1.4-1.4z\"}]},\ncanvas:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.7 15.8c0 .8-.1 1.7-.3 2.6 0 .2-.2.5-.5.5-1.6.2-3.3.3-4.9.3-1.6 0-3.2-.1-4.8-.3-.3 0-.6-.3-.6-.5-.2-1.4-.4-2.8-.4-4.1 0-1.4.2-2.7.4-4.1 0-.2.3-.5.5-.5 1-.1 2-.2 3-.2 0 0 .7-.1.7-.8 0-.7-1.2-1.1-1.2-2.3 0-.9.9-1.6 2.4-1.6 1.4 0 2.4.7 2.4 1.6 0 1.2-1.2 1.6-1.2 2.3-.1.7.7.8.7.8 1 0 2 .1 3 .2.2 0 .5.3.5.5.2 1 .3 1.8.3 2.7.1.3-.2.5-.5.5H17c-.3 0-.7-.2-.9-.4 0 0-.7-.6-1.3-.6-1.1-.1-2 .9-2 2s.8 2.1 1.9 2c.7 0 1.4-.7 1.4-.7.2-.1.6-.3.8-.3.1-.1.2-.1.3-.1.3.1.6.3.5.5z\"}},\ncarousel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.3 9h-.6v6.5h.6a.9.9 0 0 0 .9-.9V9.9a.9.9 0 0 0-.9-.9zm-13.5.9v4.7a.9.9 0 0 0 .9.9h.6V9h-.6a.9.9 0 0 0-.9.9zM16 8.2H8a.9.9 0 0 0-.8.9v6.3a.9.9 0 0 0 .8.9h8a.9.9 0 0 0 .8-.9V9.1a.9.9 0 0 0-.8-.9zm-1.4 6.5H9.1a.3.3 0 0 1-.3-.4l1.7-3a.2.2 0 0 1 .3 0l1 1.8a.2.2 0 0 0 .4 0l.8-1.2a.2.2 0 0 1 .3 0l1.5 2.4a.2.2 0 0 1-.2.4zm-.1-3.4a.8.8 0 1 1 .7-.8.8.8 0 0 1-.7.8z\"}},\ncase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.1 7h1c.1 0 .2-.1.2-.3V6h3.4v.7c0 .2.1.3.2.3h1c.1 0 .2-.1.2-.3V6c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v.7c0 .2.1.3.2.3zm8.7 1.4H6.2c-.8 0-1.4.6-1.4 1.4v7.7c0 .8.6 1.5 1.4 1.5h11.6c.8 0 1.4-.7 1.4-1.5V9.8c0-.8-.6-1.4-1.4-1.4z\"}},\ncase_change_status:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zM14 13.9L11.5 17c-.1.1-.4 0-.3-.2l.6-2.2h-1.6c-.2 0-.4-.2-.3-.3l1-2.6c.1-.3.3-.4.5-.4h2c.2 0 .4.2.3.4l-1.1 1.7h1.2c.3 0 .4.4.2.5z\"}},\ncase_comment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zm-5.6 7.7c-.5 0-1-.1-1.5-.4h-.1l-1 .4c-.1.1-.3-.1-.2-.2l.4-1c0-.1 0-.1-.1-.1-.2-.4-.3-.9-.3-1.3 0-1.5 1.3-2.7 2.8-2.7s2.8 1.2 2.8 2.7c0 1.4-1.2 2.6-2.8 2.6z\"}},\ncase_email:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zm-8.7 2.7h5.8c.2 0 .2.2.2.3l-3 2.7c0 .1-.1.1-.2 0l-3-2.7c-.1-.2 0-.3.2-.3zm6 4.1c0 .3-.4.7-.7.7H9.6c-.3 0-.7-.4-.7-.7v-2.7c0-.1.1-.2.2-.1l2.3 2.2c.2.1.4.2.6.2s.4-.1.6-.2l2.2-2.2c.1-.1.3 0 .3.1v2.7z\"}},\ncase_log_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zM15 15.9l-.6.5c-.1.1-.2.2-.4.2-1.2-.1-2.4-.7-3.2-1.5-.8-.8-1.4-1.9-1.4-3.2 0-.1 0-.3.1-.4l.6-.5c.2-.3.6-.2.8 0l.5.6c.2.2.2.5 0 .7l-.4.6v.2l.9 1 .9.8c.1.1.2.1.3 0l.5-.4c.2-.1.5-.1.7 0l.6.5c.3.2.3.6.1.9z\"}},\ncase_milestone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M17.5 8.6H6c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.5c.8 0 1.5-.6 1.5-1.4v-7.7c0-.8-.7-1.5-1.5-1.5zm-7.7 3.1v5.2c0 .3-.2.5-.4.5-.3 0-.4-.2-.4-.5v-5.2c-.2-.2-.3-.4-.3-.6 0-.3.3-.6.6-.7s.7.3.7.6v.2c0 .1 0 .3-.2.5zM15 15s-.1.1-.1.2c-1.7 1-2.6-.6-4.1-.1-.2 0-.3 0-.3-.1v-3.1c0-.1 0-.2.1-.2 1.6-.7 2.5 1 4.2 0h.2V15zM8.9 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2z\"}},\ncase_transcript:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zm-3.2 7.5c0 .4-.3.7-.7.7h-3.3c-.4 0-.8-.3-.8-.7v-4.6c0-.4.4-.7.8-.7h1.6c.2 0 .3.1.3.2v1.5c0 .2.2.5.5.5h1.4c.1 0 .2.1.2.2v2.9zm0-3.8c0 .1 0 .2-.1.2h-1.1c-.2 0-.4-.2-.4-.5v-1c0-.1 0-.2.1-.2h.1l1.4 1.4v.1z\"}},\ncatalog:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.8 7.1L17 9.2c.4.4.4 1.2 0 1.7l-5.6 5.5V8.8l1.7-1.7c.5-.5 1.3-.5 1.7 0zm4.4 7.9v3c0 .7-.5 1.2-1.2 1.2h-7.5l5.4-5.4H18c.7 0 1.2.6 1.2 1.2zM4.8 16.5V6c0-.7.5-1.2 1.2-1.2h3c.7 0 1.2.5 1.2 1.2v10.5c0 1.5-1.2 2.7-2.7 2.7S4.8 18 4.8 16.5zm2.7 1.2c.7 0 1.2-.5 1.2-1.2s-.5-1.2-1.2-1.2-1.2.5-1.2 1.2.5 1.2 1.2 1.2z\"}},\ncategory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.8 7.1L17 9.2c.4.4.4 1.2 0 1.7l-5.6 5.5V8.8L13.1 7c.5-.4 1.3-.4 1.7.1zM9 4.8H6c-.7 0-1.2.5-1.2 1.2v10.5c0 1.5 1.2 2.7 2.7 2.7s2.7-1.2 2.7-2.7V6c0-.7-.6-1.2-1.2-1.2zM7.5 17.7c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2zM18 13.8h-2.1l-1.5 1.4h3.4l-.1 2.6H12l-1.5 1.4H18c.7 0 1.2-.5 1.2-1.2v-3c0-.6-.5-1.2-1.2-1.2z\"}},\nchannel_program_history:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.4 11.5c.2-2.6 2.4-4.6 5.1-4.6 3 0 5.4 2.6 5 5.7-.2 2.2-2.3 4.3-4.5 4.5-1.7.2-3.2-.4-4.3-1.6-.2-.2-.3-.3-.5-.1l-.6.7c-.1.1 0 .2.1.4 1.3 1.3 3 2 4.9 2 3.3 0 6.1-2.7 6.4-6 .2-3.8-2.8-7-6.5-7-3.5 0-6.3 2.7-6.5 6v.3H4.9c-.3 0-.4.3-.3.5l1.8 2.1c.1.2.4.2.5 0l1.8-2.1c.2-.2 0-.5-.3-.5H7.3l.1-.3zm5.1-2.4c-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.9zm2.3 2.6H14c0-.7-.2-1.3-.4-1.7.7.3 1.1 1 1.2 1.7zm-2.6-1.9v1.9h-.6c0-.9.3-1.6.6-1.9zm0 2.5v1.9c-.3-.3-.6-1-.6-1.9h.6zm.6 1.9v-1.9h.6c0 .9-.3 1.6-.6 1.9zm0-2.5V9.8c.3.3.6 1 .6 1.9h-.6zM11.4 10c-.2.5-.3 1-.4 1.7h-.7c0-.7.5-1.4 1.1-1.7zm-1.2 2.3h.8c0 .7.2 1.3.4 1.7-.6-.3-1.1-1-1.2-1.7zm3.4 1.7c.2-.5.4-1 .4-1.7h.8c-.1.7-.5 1.4-1.2 1.7z\"}},\nchannel_program_levels:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.7 11.3l-.9-.4c-.1-.1-.3-.1-.4 0l-2.6 1.3c.4-.2.8-.2 1.3-.2.7 0 1.4.2 2.1.5l.5-.2c.4-.3.4-.8 0-1zM4.8 8.9l6.5 3c.3.1.6.1.9 0l6.5-3c.4-.2.4-.7 0-.9l-6.5-3.1c-.3-.1-.6-.1-.9 0L4.8 8c-.4.2-.4.7 0 .9zm0 3.3l6.5 3.1c.1.1.3.1.5.1.3-1.2 1-2.1 1.9-2.8l-1.5.8c-.2.1-.6.1-.9 0l-5.2-2.5c-.1-.1-.2-.1-.4 0l-.9.4c-.4.2-.4.7 0 .9zm7 4.6h-.5l-5.2-2.5c-.1-.1-.3-.1-.4 0l-.9.4c-.3.2-.3.7 0 .9l6.5 3c.3.2.6.2.9 0h.2c-.4-.6-.6-1.1-.6-1.8zM16.1 13.5c-1.5 0-2.8 1.3-2.8 2.8s1.2 2.9 2.8 2.9 2.9-1.3 2.9-2.9-1.3-2.8-2.9-2.8zm2.3 2.6h-.8c0-.7-.2-1.3-.4-1.7.7.3 1.1.9 1.2 1.7zm-2.6-1.9v1.9h-.6c0-.9.3-1.6.6-1.9zm0 2.4v1.9c-.3-.3-.6-1-.6-1.9h.6zm.6 1.9v-1.9h.7c-.1.9-.4 1.6-.7 1.9zm0-2.4v-1.9c.3.2.6 1 .7 1.9h-.7zM15 14.4c-.2.4-.3 1-.4 1.7h-.7c0-.8.5-1.4 1.1-1.7zm-1.1 2.2h.7c0 .7.2 1.3.4 1.7-.6-.3-1.1-.9-1.1-1.7zm3.3 1.7c.3-.4.4-1 .4-1.7h.8c-.1.8-.5 1.4-1.2 1.7z\"}},\nchannel_program_members:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.7 16.3c0-1.4.7-2.6 1.7-3.4-.3-.2-.6-.3-.9-.5-1.1-.4-1.2-.8-1.2-1.2 0-.4.3-.8.6-1.1.6-.6.9-1.3.9-2.2 0-1.7-1-3.1-2.8-3.1-1.8 0-2.9 1.4-2.9 3.1 0 .9.4 1.6 1 2.2.3.3.6.7.6 1.1 0 .4-.2.8-1.2 1.2-1.5.7-2.9 1.4-2.9 2.7 0 .9.7 1.7 1.5 1.7H11.7v-.5zm4.4-2.8c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.8 2.9 2.8 2.8-1.2 2.8-2.8-1.2-2.9-2.8-2.9zm2.3 2.6h-.8c0-.7-.2-1.3-.4-1.7.6.3 1.1 1 1.2 1.7zm-2.6-1.9v1.9h-.6c0-.9.3-1.6.6-1.9zm0 2.5v1.8c-.3-.2-.6-1-.6-1.8h.6zm.6 1.8v-1.8h.6c0 .8-.3 1.5-.6 1.8zm0-2.4v-1.9c.3.3.6 1 .6 1.9h-.6zM15 14.4c-.3.4-.4 1-.4 1.7h-.8c.1-.7.6-1.4 1.2-1.7zm-1.2 2.3h.8c0 .6.2 1.2.4 1.7-.6-.4-1.1-1-1.2-1.7zm3.4 1.7c.2-.5.3-1.1.4-1.7h.7c0 .7-.5 1.3-1.1 1.7z\"}},\nchannel_programs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.8 4.8c-4 0-7.2 3.2-7.2 7.2s3.2 7.2 7.2 7.2S19 16 19 12s-3.3-7.2-7.2-7.2zm5.7 6.5h-1.9c-.1-1.7-.5-3.2-1.1-4.3 1.6.8 2.7 2.4 3 4.3zM11 6.6v4.7H9.4c.1-2.3.8-4.1 1.6-4.7zm0 6.1v4.7c-.8-.6-1.5-2.4-1.6-4.7H11zm1.5 4.7v-4.7h1.6c-.1 2.3-.8 4.1-1.6 4.7zm0-6.1V6.6c.8.6 1.5 2.4 1.6 4.7h-1.6zM9 7c-.6 1.1-1 2.6-1.1 4.3H6C6.3 9.4 7.4 7.8 9 7zm-3 5.7h1.9c.1 1.7.5 3.2 1.1 4.3-1.6-.8-2.7-2.4-3-4.3zm8.5 4.3c.6-1.1 1-2.6 1.1-4.3h1.9c-.3 1.9-1.4 3.5-3 4.3z\"}},\nchoice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"3.336\"},\"path\":{\"d\":\"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 12.5c-2.9 0-5.3-2.4-5.3-5.3S9.1 6.7 12 6.7s5.3 2.4 5.3 5.3-2.4 5.3-5.3 5.3z\"}}},\nclient:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.8 14c.8-.5 1.7-.8 2.6-.8.3 0 .5.1.8.1.1 0 .1 0 0-.1-.4-.3-1-.5-1.5-.7-1-.5-1.2-.8-1.2-1.3 0-.4.3-.8.7-1.1.6-.5.9-1.3.9-2.2 0-1.6-1-3.1-2.9-3.1-1.8 0-2.8 1.5-2.8 3.1 0 .9.3 1.7.9 2.2.4.3.7.7.7 1.1 0 .4-.2.8-1.2 1.3-1.5.6-2.9 1.3-3 2.7 0 .9.7 1.6 1.6 1.6h3.4c.2 0 .4-.2.4-.4v-1.6c.1-.3.2-.6.6-.8zm7.8 1.4c-2.3.7-4.1-1.4-6.6-.4-.1 0-.2.2-.2.4V18c0 .3.2.6.6.5 2.4-.8 4.2 1.3 6.5.4.2-.1.3-.3.3-.5v-2.5c0-.3-.3-.6-.6-.5zm-3 2.4c-.6 0-1-.4-1-1s.4-.9 1-.9.9.4.9.9-.4 1-.9 1z\"}},\ncms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.5 7.2c-.5 0-.9 0-1.3.2.5.4.9.9 1.3 1.4 1.7 0 3 1.4 3 3.1s-1.3 3-3 3c-.4 0-.8 0-1.2-.2.2-.3.4-.7.5-1 .1-.1.2-.2.2-.4.1-.4.2-.9.2-1.4 0-2.6-2.1-4.7-4.7-4.7s-4.7 2.1-4.7 4.7 2.1 4.7 4.7 4.7c.5 0 .9-.1 1.3-.2-.5-.4-.9-.9-1.3-1.5-1.7 0-3-1.3-3-3s1.3-3.1 3-3.1c.4 0 .8.1 1.2.3-.5.7-.9 1.7-.9 2.8 0 2.6 2.1 4.7 4.7 4.7s4.7-2.1 4.7-4.7-2.1-4.7-4.7-4.7z\"}},\ncoaching:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.3 12.7c-.3 0-.6.1-.9.4-.4.4-.4 1.2 0 1.7.3.2.6.3.9.3.3 0 .6-.1.8-.3.5-.5.5-1.2 0-1.7-.2-.3-.5-.4-.8-.4zm7.8-5.4L17.5 5c-.2-.2-.5-.3-.7-.2l-8 5c-.8.5-1.4 1.1-1.9 2.2-.4 1-.5 2.1-.2 3.1-1.1.1-1.9 1-1.9 2.1s.9 2 2 2c.9 0 1.6-.5 1.9-1.2 1.9 1.2 4.4.9 6-.7 1.5-1.5 1.8-3.6.9-5.4-.2-.7-.1-1.4.5-1.8L19 8c.2-.1.2-.4.1-.7zM6.8 17.8c-.3 0-.6-.3-.6-.6s.3-.6.6-.6.6.2.6.6-.2.6-.6.6zm6.4-2c-.6.5-1.2.8-1.9.8s-1.4-.3-1.9-.8c-1-1-1-2.7 0-3.8.5-.5 1.2-.7 1.9-.7s1.3.2 1.9.7c1 1.1 1 2.8 0 3.8z\"}},\ncode_playground:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zM6.8 6.3h10.4c.3 0 .5.2.5.5v.9H6.3v-.9c0-.3.2-.5.5-.5zm10.4 11.4H6.8c-.3 0-.5-.2-.5-.5v-8h11.4v8c0 .3-.2.5-.5.5zm-6-2.5l-1.6-1.6 1.6-1.6c.1-.1.1-.2 0-.3l-.7-.7c-.1-.1-.2-.1-.3 0l-1.8 1.8-.3.3-.3.3c-.1.1-.1.2-.1.2 0 .1 0 .1.1.2l2.4 2.4c.1.1.3.1.4 0l.6-.6c.1-.2.1-.3 0-.4zm5-1.8l-.3-.3-.3-.4-1.8-1.7c-.1-.1-.2-.1-.3 0l-.7.7c-.1.1-.1.2 0 .3l1.6 1.6-1.6 1.6c-.1.1-.1.2 0 .3l.7.7c.1.1.2.1.3 0l2.5-2.5v-.1c0-.1 0-.1-.1-.2z\"}},\ncollection_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zM17 16.6c0 .2-.2.4-.4.4H7.3c-.2 0-.3-.2-.3-.4V7.4c0-.2.2-.4.3-.4h9.4c.1 0 .3.2.3.4v9.2zm-2.9-5.7c.3 0 .9-.2.9-1s-.6-.9-.7-.9c-.4 0-.7.3-1.1.8l-.6 1.2c-.1-.4-.2-.7-.2-.9-.1-.3-.5-1.1-1.3-1.1s-1.5.5-1.5.5c-.2.1-.3.3-.3.5s.2.5.5.5c.1 0 .2-.1.2-.1s.7-.3.8 0c0 .1 0 .2.1.4.2.5.3 1.1.4 1.7l-.5.8s-.6-.2-.9-.2-.9.2-.9 1 .6.9.7.9c.4 0 .7-.3 1.1-.8l.6-1.2c.1.5.2.9.3 1.1.2.6.6.9 1.3.9 0 0 .6 0 1.4-.4.1-.1.3-.3.3-.5s-.3-.5-.5-.5c-.1 0-.2.1-.3.1 0 0-.5.3-.7.1-.1-.3-.2-.6-.3-1.1-.1-.3-.2-.7-.3-1.2l.6-.8s.6.2.9.2z\"}},\nconnected_apps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 5h-11C5.7 5 5 5.7 5 6.5v11c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5zM17 17.5H7c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5zm-3-6.2h-1.5L13.8 9c.2-.2 0-.6-.3-.6h-2c-.2 0-.5.2-.6.5l-1.3 3.3c-.1.2.1.5.4.5h1.5l-.7 2.6c-.1.3.2.4.4.2l3.1-3.7c.2-.2.1-.5-.3-.5z\"}},\nconstant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 6.4c-.1-.1-.2-.1-.3-.1-1.2-.1-2.4 0-3.6 0l-4.1.1c-1.3 0-2.2.2-3.2 1.1-.6.6-1.2 1.4-1.7 2v.3c0 .3.2.4.4.4.3 0 .4-.1.5-.3s.3-.4.4-.6c.7-.6 1.5-.9 2.4-.8-.7 2-1.7 4.3-3.2 5.9-.6.7-1.6 1.4-1.9 2.3-.2.9.7 1.2 1.5.9.9-.3 1.5-1.3 2-2.1.5-1.1 1-2.1 1.5-3.2.4-1 .9-2.1 1.3-3.2.3-.6.4-.6 1-.6h1.8c-.6 1.4-1.3 2.9-1.9 4.4-.4 1.2-1.2 2.8-.7 4.1.6 1.2 2.2.8 3.1.1.9-.6 1.5-1.6 2-2.6.1-.1.2-.4.1-.6 0-.1-.2-.2-.4-.2-.4 0-.5.5-.6.8-.3.5-.8 1-1.4.9-1.4-.2-.2-2.7.1-3.3.2-.7.5-1.3.8-2 .2-.4.3-.8.5-1.1.2-.5.2-.5.8-.5.5 0 1.8.2 2.2-.1.3-.2.5-1 .7-1.5 0-.2 0-.4-.1-.5z\"}},\ncontact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 7H6.2c-.8 0-1.4.6-1.4 1.4v7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7c0-.8-.6-1.4-1.4-1.4zm-6.1 8.1H7.5c-.4 0-.8-.5-.8-1 0-.7.8-1.1 1.6-1.5.5-.2.6-.4.6-.7s-.1-.4-.3-.6c-.3-.3-.5-.7-.5-1.2 0-.9.5-1.7 1.5-1.7s1.5.8 1.5 1.7c0 .5-.2.9-.5 1.2-.2.2-.4.4-.4.6s.1.5.7.7c.8.3 1.5.8 1.5 1.5.1.5-.3 1-.7 1zm5.6-1.7c0 .3-.2.5-.5.5h-2.2c-.2 0-.4-.2-.4-.5v-.7c0-.2.2-.5.4-.5h2.2c.3 0 .5.3.5.5v.7zm0-2.6c0 .3-.2.5-.5.5h-3.6c-.3 0-.5-.2-.5-.5v-.7c0-.3.2-.5.5-.5h3.6c.3 0 .5.2.5.5v.7z\"}},\ncontact_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.3 5.4c-1.1 0-2 .9-2 1.9V18c0 1 .9 1.8 2 1.8h10.5c1.1 0 1.9-.8 1.9-1.8V7.3c0-1-.8-1.9-1.9-1.9H6.3zm2.6 4.4c0 .4-.3.6-.6.6h-.7c-.3 0-.6-.2-.6-.6v-.6c0-.3.3-.6.6-.6h.7c.3 0 .6.3.6.6v.6zm7.2 0c0 .4-.3.6-.6.6h-4.6c-.4 0-.7-.2-.7-.6v-.6c0-.3.3-.6.7-.6h4.6c.3 0 .6.3.6.6v.6zM8.9 13c0 .3-.3.6-.6.6h-.7c-.3 0-.6-.3-.6-.6v-.7c0-.3.3-.6.6-.6h.7c.3 0 .6.3.6.6v.7zm6 0c0 .3-.3.6-.6.6h-3.4c-.4 0-.7-.3-.7-.6v-.7c0-.3.3-.6.7-.6h3.4c.3 0 .6.3.6.6v.7zm-6 3.1c0 .3-.3.6-.6.6h-.7c-.3 0-.6-.3-.6-.6v-.6c0-.4.3-.7.6-.7h.7c.3 0 .6.3.6.7v.6zm7.2 0c0 .3-.3.6-.6.6h-4.6c-.4 0-.7-.3-.7-.6v-.6c0-.4.3-.7.7-.7h4.6c.3 0 .6.3.6.7v.6z\"}},\ncontact_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M11.7 12.2c-.2.1-.3.3-.1.4l1.3 1.4c.1.1.1.3 0 .5l-.5.5c-.2.1-.4.1-.5 0l-3.3-3.3c-.1-.1-.1-.3 0-.5L11.9 8c.1-.2.3-.2.5 0l.5.5c.1.2.1.4 0 .5l-1.4 1.4c-.1.1.2.4.2.4 3 .1 5.4 2.1 6.2 4.8.7-1 1.2-2.3 1.2-3.7 0-3.7-3.2-6.6-7.2-6.6s-7.2 2.9-7.2 6.5c0 1.2.3 2.3.9 3.2.1.2.1.4 0 .5l-.9 2.6c-.1.2.1.5.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 1.8 0 3.4-.6 4.6-1.6-.3-2.6-2.3-4.6-4.9-4.7z\"}},\ncontract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.9 8.1l-3.2-3.2c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.6c0 .5.4.9.9.9h2.6c.2 0 .3-.1.3-.3 0-.1 0-.2-.1-.2zm-.4 2h-3.3c-.8 0-1.5-.7-1.5-1.5V5.3c0-.3-.2-.5-.5-.5H7.4c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zM7.7 7.8l1.2-.1v-.1l.6-1.1h.1l.6 1.1v.1l1.2.1c.1 0 .1.1.1.2l-.9.8v.1l.2 1.2c0 .1-.1.1-.2.1l-1-.6h-.1l-1.1.6s-.1 0-.1-.1l.2-1.2-.1-.1-.8-.8c0-.1 0-.2.1-.2zm7.4 8c0 .3-.2.5-.5.5H8.4c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h6.2c.3 0 .5.2.5.5v.4zm1-2.8c0 .2-.2.4-.5.4H8.4c-.3 0-.5-.2-.5-.4v-.5c0-.3.2-.5.5-.5h7.2c.3 0 .5.2.5.5v.5z\"}},\ncontract_line_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.1 8.6h2.6c.2 0 .3-.1.3-.3 0-.1 0-.2-.1-.2l-3.2-3.2c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.6c0 .5.4.9.9.9zm2.4 1.5h-3.3c-.8 0-1.5-.7-1.5-1.5V5.3c0-.3-.2-.5-.5-.5H7.4c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-9.2 6.2c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm0-2.8c-.4 0-.7-.4-.7-.8s.3-.7.7-.7c.4 0 .7.3.7.7 0 .5-.3.8-.7.8zm1.2-3.9l-1.1.6s-.1 0-.1-.1l.2-1.2-.1-.1-.8-.8c0-.1 0-.2.1-.2l1.2-.1v-.1l.6-1.1h.1l.6 1.1v.1l1.2.1c.1 0 .1.1.1.2l-.9.8v.1l.2 1.2c0 .1-.1.1-.2.1l-1-.6h-.1zm6.6 6.2c0 .3-.2.5-.5.5h-4.9c-.2 0-.5-.2-.5-.5v-.4c0-.3.3-.5.5-.5h4.9c.3 0 .5.2.5.5v.4zm0-2.8c0 .2-.2.4-.5.4h-4.9c-.2 0-.5-.2-.5-.4v-.5c0-.3.3-.5.5-.5h4.9c.3 0 .5.2.5.5v.5z\"}},\ncurrency:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M17.9 7.4H6.1c-.7 0-1.3.6-1.3 1.3v6.6c0 .7.6 1.3 1.3 1.3h11.8c.7 0 1.3-.6 1.3-1.3V8.7c0-.7-.6-1.3-1.3-1.3zM7.7 15.3c0-.9-.7-1.6-1.6-1.6v-3.4c.9 0 1.6-.7 1.6-1.6h8.6c0 .9.7 1.6 1.6 1.6v3.4c-.9 0-1.6.7-1.6 1.6H7.7z\"},\"circle\":{\"cx\":\"12\",\"cy\":\"11.88\",\"r\":\"2.256\"}}},\ncurrency_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15 15.6c.9-1.4.7-3.2-.5-4.4-1.4-1.4-3.6-1.4-5 0-1.2 1.2-1.4 3-.5 4.4h6zm4.2-9.4v11.6c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4zm-12 11.1h9.6c.3 0 .5-.3.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.3 0-.5.2-.5.5v9.6c0 .2.2.5.5.5z\"}},\ncustom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19 7.9c0-.2-.3-.2-.4-.1l-2.4 2.4c-.2.2-.5.2-.7 0l-1.7-1.7c-.2-.2-.2-.5 0-.7l2.4-2.4c.2-.1.1-.4 0-.4-.5-.1-.9-.2-1.3-.2-2.6 0-4.6 2.2-4.3 4.8 0 .4.1.8.3 1.1l-5.6 5.6c-.7.7-.7 1.8 0 2.4.3.4.7.5 1.2.5s.8-.1 1.2-.5l5.6-5.6c.3.2.7.3 1.1.3 2.6.3 4.8-1.7 4.8-4.3 0-.4-.1-.8-.2-1.2z\"}},\ncustom_notification:{\"path\":{\"d\":\"M12.9 5.2L12 9.6a.2.2 0 0 0 .3.3H17a.5.5 0 0 1 .3.7L12.2 19a.4.4 0 0 1-.8-.2l.9-5.2c0-.2-.1-.1-.3-.1H7.1c-.4 0-.6-.5-.4-.8L12.1 5a.4.4 0 0 1 .8.2z\"}},\ncustomer_360:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.9 12.2c.2-.2.2-.4.1-.6-.1-.2-.3-.3-.5-.3s-.3 0-.5.2l-.1.1c-.2-3.2-2.8-5.7-6-5.7-3.4 0-6.1 2.7-6.1 6.1s2.7 6 6.1 6c2.8 0 5.2-1.9 5.8-4.6l1.2-1.2zm-7 4.6C9.2 16.8 7 14.6 7 12s2.2-4.9 4.9-4.9c2.5 0 4.6 2 4.8 4.5l-.1-.1c-.1-.1-.2-.1-.3-.2-.2-.1-.5 0-.6.2-.2.2-.2.6 0 .8l.9.9c-.5 2-2.5 3.6-4.7 3.6z\"},\"g\":{\"path\":{\"d\":\"M14.8 13.7v.3c0 .3-.3.6-.6.6H9.5c-.4 0-.6-.3-.6-.6v-.3c0-.7.8-1.1 1.6-1.5h.1c0-.1.1-.1.2 0 .3.2.6.3 1 .3s.8-.1 1.1-.3c0-.1.1-.1.2 0h.1c.8.4 1.6.8 1.6 1.5z\"},\"ellipse\":{\"cx\":\"11.856\",\"cy\":\"10.272\",\"rx\":\"1.464\",\"ry\":\"1.632\"}}},\ncustomer_portal_users:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.3 11.7c0 .3-.2.5-.5.5h-4.4c-.3 0-.5-.2-.5-.5V11c0-.3.2-.5.5-.5h4.4c.3 0 .5.2.5.5v.7zm-6.8 0c0 .3-.3.5-.5.5h-.8c-.3 0-.5-.2-.5-.5V11c0-.3.2-.5.5-.5H9c.2 0 .5.2.5.5v.7zm0 3.1c0 .3-.3.5-.5.5h-.8c-.3 0-.5-.2-.5-.5v-.7c0-.3.2-.5.5-.5H9c.2 0 .5.2.5.5v.7zm6.8 0c0 .3-.2.5-.5.5h-4.4c-.3 0-.5-.2-.5-.5v-.7c0-.3.2-.5.5-.5h4.4c.3 0 .5.2.5.5v.7zm1.4-10H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm-6.3 1.8c0-.2.2-.4.4-.4h5.6c.2 0 .3.2.3.4v.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.3-.2-.3-.4v-.7zm-1.9-.4c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.3-.8.8-.8zM7 6.2c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.4-.8.8-.8zm10.8 11.2c0 .2-.2.4-.4.4h-1.1v-.6c0-.3-.2-.5-.5-.5h-4.4c-.3 0-.5.2-.5.5v.6H9.5v-.6c0-.3-.3-.5-.5-.5h-.8c-.3 0-.5.2-.5.5v.6H6.6c-.2 0-.4-.2-.4-.4V9.5c0-.2.2-.4.4-.4h10.8c.2 0 .4.2.4.4v7.9z\"}},\ncustomers:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"ellipse\":{\"cx\":\"9.912\",\"cy\":\"10.152\",\"rx\":\"2.928\",\"ry\":\"3.24\"},\"path\":{\"d\":\"M12.6 13.8c-.7.6-1.7 1.1-2.7 1.1-1 0-2-.5-2.7-1.1-1.3.6-2.6 1.3-2.6 2.5v.5c0 .6.4 1.1 1 1.1h8.6c.6 0 1.1-.5 1.1-1.1v-.5c0-1.2-1.3-1.9-2.7-2.5zm3.7-2.4l-.1-.1h-.3c-.5.3-1.1.5-1.7.5h-.3c-.1.3-.2.7-.4.9.1.1.2.1.3.2 1.4.6 2.4 1.3 3 2.3H18c.5 0 1-.4 1-.9v-.5c0-1.2-1.4-1.9-2.7-2.4zm-.2-3.2c0-1.2-.9-2.1-1.9-2.1-.6 0-1 .2-1.4.6.9.8 1.4 2.1 1.4 3.4v.2c1 0 1.9-.9 1.9-2.1z\"}},\ndashboard:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 1.9c2.9 0 5.3 2.4 5.3 5.3 0 .2 0 .5-.1.7h-2.1c-.2 0-.4.2-.5.4-.2 1.3-1.3 2.3-2.6 2.3s-2.4-1-2.6-2.3c0-.2-.3-.4-.5-.4H6.8c-.1-.2-.1-.5-.1-.7 0-2.9 2.4-5.3 5.3-5.3zm-.6 7.1c.6.3 1.4 0 1.7-.5.4-.9 1.3-4.6 1.1-4.7-.2-.1-2.8 2.7-3.2 3.6-.4.5-.2 1.3.4 1.6z\"}},\ndata_integration_hub:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M17.7 6.5c-.9 0-1.7.7-1.7 1.7 0 .1.1.2.1.4l-1.6 1c-.5-.6-1.3-.9-2.1-.9-.6 0-1.2.2-1.6.5L8.1 7.4c.2-.7-.2-1.4-.9-1.8-.7-.3-1.7 0-2 .8s-.1 1.7.7 2.1c.4.2.9.2 1.3 0l2.7 1.9c-.1.3-.2.6-.2 1v.5l-1.6.6c-.2-.2-.5-.4-.9-.5-.9-.3-1.9.3-2.2 1.2-.2 1 .3 1.9 1.3 2.2.9.3 1.9-.3 2.2-1.2v-.3l1.9-.7c.5.5 1.2.9 2 .9h.2l.3 1.3c-.5.4-.8 1.1-.8 1.7.1 1.1 1.1 1.9 2.2 1.8 1.1-.1 1.9-1 1.8-2.1-.1-1-.9-1.8-1.8-1.8l-.3-1.5c.7-.4 1.1-1.3 1.1-2.1v-.5L17 9.7c.2.1.5.2.8.2.9 0 1.7-.8 1.7-1.7-.1-1-.8-1.7-1.8-1.7zm-5.3 6.6c-1 0-1.7-.8-1.7-1.7s.7-1.8 1.7-1.8 1.7.8 1.7 1.8c0 .9-.7 1.7-1.7 1.7z\"},\"circle\":{\"cx\":\"12.432\",\"cy\":\"11.376\",\"r\":\".768\"}}},\ndatadotcom:{\"path\":{\"d\":\"M17.1 19.2h-1.7c-.1-.6-.1-1.1-.1-1.6-.8 1.3-2.1 1.9-3.8 1.9-1.4 0-2.6-.5-3.4-1.5-.8-1-1.2-2.4-1.2-3.9 0-1.1.2-2 .6-2.8s1-1.5 1.7-2 1.6-.7 2.6-.7c1.4 0 2.5.4 3.4 1.3V4.8h1.7v12.1c0 .8.1 1.5.2 2.3zm-1.9-4.4v-3.3c-.4-.6-.9-.9-1.4-1.2-.5-.2-1.1-.4-1.8-.4-1 0-1.8.4-2.4 1.2s-.8 1.7-.8 2.9c0 1.3.2 2.2.8 3s1.3 1.1 2.3 1.1 1.8-.3 2.4-1c.6-.6.9-1.4.9-2.3z\"}},\ndate_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.2 10.1H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-8.6 6.7c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v1zm3.4 0c0 .3-.3.5-.5.5h-1c-.2 0-.5-.2-.5-.5v-1c0-.2.3-.4.5-.4h1c.2 0 .5.2.5.4v1zm0-3.4c0 .3-.3.5-.5.5h-1c-.2 0-.5-.2-.5-.5v-.9c0-.3.3-.5.5-.5h1c.2 0 .5.2.5.5v.9zm3.3 0c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v.9zm1-7.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5z\"}},\ndate_time:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.3 6.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5zm.9 3.9H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zM12 18.2c-2 0-3.6-1.6-3.6-3.6s1.6-3.5 3.6-3.5 3.6 1.6 3.6 3.5-1.6 3.6-3.6 3.6zm.4-3.7V13c0-.2-.1-.3-.3-.3h-.2c-.1 0-.3.1-.3.3v1.6c0 .1.1.2.1.3l1.2 1.1c.1.1.2.1.3 0l.2-.1c.1-.1.1-.3 0-.4l-1-1z\"}},\ndecision:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 6.9L17.8 6c-.2-.1-.4-.2-.6-.2H13v-.5c0-.3-.3-.5-.5-.5h-1c-.2 0-.5.2-.5.5v.5H6.2c-.2 0-.4.2-.4.4v2c0 .2.2.4.4.4h11c.2 0 .5 0 .6-.2l1.3-.9c.1-.2.1-.4 0-.6zM17.8 11H13v-.7c0-.1-.1-.2-.3-.2h-1.4c-.2 0-.3.1-.3.2v.7H6.8c-.2 0-.4.1-.6.2l-1.2 1c-.2.1-.2.4 0 .6l1.2.9c.2.1.4.2.6.2h11c.2 0 .4-.2.4-.5v-1.9c0-.2-.2-.5-.4-.5zM13 17.2V16c0-.1-.1-.2-.3-.2h-1.4c-.2 0-.3.1-.3.2v1.2c-.9.2-1.4.8-1.6 1.5-.1.3.1.5.3.5h4.6c.2 0 .4-.2.3-.5-.1-.7-.7-1.2-1.6-1.5z\"}},\ndefault:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M10.7 7.9c.5-.5 1.2-.8 1.9-.8 1.1 0 1.9.5 2.4 1.3.4-.1.9-.3 1.4-.3 1.8.1 3.3 1.5 3.3 3.3 0 1.8-1.5 3.3-3.3 3.3-.2 0-.5 0-.7-.1-.4.8-1.2 1.3-2.1 1.3-.4 0-.7-.1-1-.3-.5 1-1.4 1.7-2.6 1.7-1.2 0-2.2-.8-2.6-1.8-.2 0-.3.1-.5.1-1.4 0-2.6-1.2-2.6-2.6 0-.9.5-1.8 1.3-2.2-.2-.4-.2-.7-.2-1.2 0-1.6 1.3-2.9 2.9-2.9 1 0 1.9.5 2.4 1.2\"}},\ndelegated_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.4 10.2H13c-.4 0-.5.5-.5.5v8.2h6.4v-8.1c.1-.5-.3-.6-.5-.6zm-3.2 7.3c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V17c0-.2.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V12c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm2.5 5c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V17c0-.2.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5zm0-2.5c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V12c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5zm-4.3-7.9H5.1c-.5 0-.5.5-.5.6v13.7H11V9.3s0-.6.5-.6h2c.2-.1.4-.2.4-.5V5.3c.1-.5-.3-.7-.5-.7zM7.3 17.3c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.6c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.3-.5-.5v-.6c0-.2.2-.5.5-.5h.5c.3 0 .5.3.5.5v.6zM10 17.3c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5H9c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.6c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5H9c-.3 0-.5-.3-.5-.5v-.6c0-.2.2-.5.5-.5h.5c.3 0 .5.3.5.5v.6zm2.7 0c0 .2-.2.5-.5.5h-.5c-.2 0-.5-.3-.5-.5v-.6c0-.2.2-.5.5-.5h.5c.3 0 .5.3.5.5v.6zm6.4.1c-.2-.1-.4-.1-.5.1l-.2.2c-.2-1.5-1.3-2.1-2.1-2.2l.2-.2c.2-.1.2-.3.1-.5s-.3-.2-.5-.1l-.9.6c-.1.1-.2.2-.2.3s0 .2.1.3l.8 1c0 .1.1.1.3.1 0 0 .1 0 .2-.1s.2-.3 0-.5l-.2-.2c.6.1 1.3.5 1.5 1.6l-.2-.2c-.1-.1-.4-.1-.5 0s-.2.4 0 .5l.8.8c.1.1.2.1.2.1h.1c.1 0 .2 0 .2-.1l.9-1c0-.1 0-.4-.1-.5z\"}},\ndisplay_rich_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.3 17.2h13.4c.3 0 .5.2.5.5v1c0 .2-.2.5-.5.5H5.3c-.3 0-.5-.3-.5-.5v-1c0-.3.2-.5.5-.5zm0-4.3h13.4c.3 0 .5.2.5.5v1c0 .2-.2.4-.5.4H5.3c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5zm8.5-4.3h4.9c.3 0 .5.2.5.5v.9c0 .3-.2.5-.5.5h-4.9c-.2 0-.5-.2-.5-.5v-.9c0-.3.3-.5.5-.5zm-2.4 2.1L9.1 5c0-.1-.1-.1-.2-.1H7.2c-.1 0-.3 0-.3.1l-2.1 5.7c0 .1 0 .2.2.2h1.1c.1 0 .2-.1.2-.2l.4-1.2h2.7l.5 1.2c0 .1.1.2.2.2h1.1c.2 0 .2-.1.2-.2zM7.2 8.1l.7-1.8h.2l.8 1.8H7.2z\"}},\ndisplay_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.4 4.8H6.7c-1.1 0-1.9.9-1.9 1.9v10.6c0 1.1.8 1.9 1.9 1.9h10.6c1.1 0 1.9-.8 1.9-1.9V6.7c0-1-.8-1.9-1.8-1.9zM7.3 7.9c0-.3.3-.6.6-.6h7c.4 0 .7.3.7.6v.7c0 .3-.3.6-.6.6H7.9c-.3 0-.6-.3-.6-.6v-.7zm7.4 8.2c0 .3-.3.6-.6.6H7.9c-.3 0-.6-.3-.6-.6v-.6c0-.4.3-.6.6-.6h6.2c.3 0 .6.2.6.6v.6zm2-3.8c0 .4-.3.7-.6.7H7.9c-.3 0-.6-.3-.6-.7v-.6c0-.3.3-.6.6-.6h8.2c.3 0 .6.3.6.6v.6z\"}},\ndocument:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 10.1h-3.3c-.8 0-1.5-.7-1.5-1.5V5.3c0-.3-.2-.5-.5-.5H7.4c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm.4-2l-3.2-3.2c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.6c0 .5.4.9.9.9h2.6c.2 0 .3-.1.3-.3 0-.1 0-.2-.1-.2z\"}},\ndrafts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 4.8H9.8c-.8 0-1.4.6-1.4 1.4v.3c0 .1.1.2.2.2h7c.8 0 1.4.7 1.4 1.5v7.4c0 .1.1.2.3.2h.2c.8 0 1.5-.6 1.5-1.4V6.2c0-.8-.7-1.4-1.5-1.4zm-3.3 3.4H6.5c-.8 0-1.5.6-1.5 1.4v8.2c0 .8.7 1.4 1.5 1.4h7.7c.8 0 1.4-.6 1.4-1.4V9.6c0-.8-.6-1.4-1.4-1.4zM7 10.6c0-.3.2-.5.4-.5h4.8c.3 0 .5.2.5.5v.4c0 .3-.2.5-.5.5H7.4c-.2 0-.4-.2-.4-.5v-.4zm5.7 6.2c0 .3-.2.5-.5.5H7.4c-.2 0-.4-.2-.4-.5v-.5c0-.2.2-.5.4-.5h4.8c.3 0 .5.3.5.5v.5zm1-2.9c0 .3-.2.5-.5.5H7.4c-.2 0-.4-.2-.4-.5v-.5c0-.2.2-.4.4-.4h5.8c.3 0 .5.2.5.4v.5z\"}},\ndynamic_record_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.4 17.1V17c-2.1-.6-3.7-2.6-3.7-5 0-2.9 2.4-5.3 5.3-5.3s5.3 2.4 5.3 5.3c0 .5-.1 1-.2 1.4l.2.2c.1 0 .2-.1.3-.1.4 0 .9.2 1.3.4.2-.6.3-1.3.3-1.9 0-4-3.3-7.2-7.2-7.2S4.8 8 4.8 12c0 3.8 3 6.9 6.7 7.2-.6-.5-1.1-1.2-1.1-2.1zm3.2-4.3c.5 0 .9.2 1.3.4l.3-.1c.1-.4.2-.7.2-1.1 0-1.8-1.5-3.3-3.4-3.3S8.7 10.2 8.7 12c0 1.5.9 2.7 2.3 3.2.1-1.4 1.2-2.4 2.6-2.4zm1.2 1.8c.2-.2.6-.4.9-.4.5 0 1 .2 1.2.7.2-.1.5-.2.7-.2.9 0 1.6.8 1.6 1.6 0 .9-.7 1.6-1.6 1.6h-.3c-.2.4-.6.6-1.1.6-.1 0-.3 0-.5-.1-.2.5-.7.8-1.2.8-.6 0-1.1-.4-1.3-.9-.1 0-.2.1-.3.1-.7 0-1.2-.6-1.2-1.3 0-.4.2-.9.6-1.1-.1-.1-.1-.3-.1-.5 0-.8.6-1.5 1.4-1.5.5 0 .9.3 1.2.6z\"}},\neducation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 12.3c-.4 0-.7-.2-1.1-.3-1.9-.6-3.8-1.2-5.6-1.9-.2 0-.3-.1-.4-.1-.1-.1-.1-.3 0-.4.1 0 .3-.1.4-.1l6-1.8c.5-.2.9-.2 1.4 0l6 1.8c.1 0 .3.1.4.1.1.1.1.3 0 .4-.1 0-.2.1-.3.1-2 .7-4 1.3-6 2-.3.1-.5.2-.8.2zm-4 .1c-.3-.1-.4.1-.4.2v2.3c0 .3.1.4.3.6l.2.2c.5.3 1 .5 1.6.7 1.1.3 2.3.3 3.5.2.7-.1 1.4-.3 2.1-.6.3-.2.6-.3.9-.6.1-.1.2-.3.1-.5.1-.7.1-1.4.1-2.2 0-.4-.3-.3-.4-.3-1.1.3-2.2.7-3.2 1-.6.2-1.1.2-1.6 0l-3.2-1zm10-.7c-.1 0-.1 0-.1.1v2c0 .1-.1.2-.1.3-.1.3-.3.7-.4 1-.1.4-.1.7.2 1 0 .1.1.1.2.2s.3.1.4.2c.2 0 .4-.1.5-.3l.2-.2c.2-.2.3-.5.2-.8-.1-.4-.3-.8-.5-1.1v-2.5c0-.1-.2-.1-.2-.1l-.4.2z\"}},\nemail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.7 13.2c.2.2.4.2.6 0l6.8-6.3c.1-.2.1-.6-.4-.6H5.3c-.4 0-.6.3-.4.6l6.8 6.3zm7.5-3.6c0-.3-.4-.5-.6-.3l-5.3 4.9c-.3.4-.8.5-1.3.5s-.9-.1-1.3-.5L5.4 9.3c-.2-.2-.6 0-.6.3v6.2c0 .8.7 1.5 1.5 1.5h11.5c.8 0 1.4-.7 1.4-1.5V9.6z\"}},\nemail_chatter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.7 13.2c.2.2.4.2.6 0l6.8-6.3c.1-.2.1-.6-.4-.6H5.3c-.4 0-.6.3-.4.6l6.8 6.3zm7.5-3.6c0-.3-.4-.5-.6-.3l-5.3 4.9c-.3.4-.8.5-1.3.5s-.9-.1-1.3-.5L5.4 9.3c-.2-.2-.6 0-.6.3v6.2c0 .8.7 1.5 1.5 1.5h11.5c.8 0 1.4-.7 1.4-1.5V9.6z\"}},\nempty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M17.3 18.7H6.7c-.8 0-1.4-.6-1.4-1.4V6.7c0-.8.6-1.4 1.4-1.4h10.6c.8 0 1.4.6 1.4 1.4v10.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.2.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.3 0-.5.2-.5.5z\"}},\nendorsement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.7 10.1H5.3c-.3 0-.5.2-.5.5v7.7c0 .3.2.4.5.4h.5c.8 0 1.4-.6 1.4-1.4v-6.7c0-.3-.2-.5-.5-.5zm10.6.2h-1.5c-.8 0-1.4-.6-1.4-1.4V6c0-.8-.6-1.4-1.4-1.4h-1c-.3 0-.5.2-.5.4v2c0 1.6-.8 3.3-2.4 3.3-.2 0-.5.2-.5.5v6.7c0 .3.2.5.5.5 2.1.1 3.5.9 5.8.9 2.4 0 4.3-.7 4.3-3v-3.7c0-1-.9-1.9-1.9-1.9z\"}},\nentitlement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M17.3 4.8H8.4c-.8 0-1.6.8-1.6 1.6h-.6c-.6 0-1.1.5-1.1 1.2s.5 1.1 1.1 1.1h.6v2.2h-.6c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h.6v2.2h-.6c-.6 0-1.1.5-1.1 1.1 0 .7.5 1.1 1.1 1.1h.6c0 1.1.8 1.7 1.6 1.7h8.9c.8 0 1.6-.8 1.6-1.7V6.4c0-.9-.8-1.6-1.6-1.6zm-1 12c0 .3-.2.5-.4.5H9.6c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.5.5-.5h6.3c.2 0 .4.3.4.5v.5zm-6.7-4.7l.5-.5c.1-.2.4-.2.5 0l1.3 1.2 3-3.1c.2-.1.4-.1.5 0l.5.5c.2.2.2.4 0 .6l-3.6 3.5c-.1.1-.3.2-.5.2s-.3-.1-.5-.2l-1.7-1.7c-.2-.2-.2-.4 0-.5zm6.7-4.3c0 .2-.2.5-.4.5H9.6c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h6.3c.2 0 .4.2.4.5v.5z\"}},\nentitlement_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M6.1 8.4h2.5c.6 0 1-.5 1-1V4.9c0-.2-.1-.4-.3-.4-.1 0-.2.1-.3.1L5.9 7.8c-.1.1-.1.1-.1.2 0 .2.1.4.3.4zm5 10.5l1.2-1.5 1-1.4c0-.1 0-.2-.1-.3-.1-.2-.4-.6-.4-1.1s.3-1 .4-1.2c0-.2.1-.7.6-1.1.3-.4.8-.5 1-.5h.1c.2-.2.6-.5 1.1-.5s.9.3 1.2.5c.1 0 .3 0 .6.1V6c0-.8-.7-1.5-1.5-1.5h-4.8c-.2 0-.5.3-.5.5v3.4c0 .8-.6 1.4-1.4 1.4H6.2c-.2 0-.4.2-.4.5v7.2c0 .8.6 1.4 1.4 1.4h3.9z\"},{\"d\":\"M15.6 17.2l-1.2 1.7-.3-.8h-.9l1.1-1.5c.2.2.5.2.6.2h.2c0 .1 0 .1.1.1.1.1.2.2.4.3zm2.1-.6c-.3.1-.5.2-.6.2h-.2l-.1.1c-.1.1-.3.2-.5.3l1.3 1.7.3-.8h.8l-1-1.5zM16 13.8c-.4 0-.8.4-.8.8s.4.7.8.7.7-.3.7-.7-.3-.8-.7-.8zm2 .8c0 .2-.3.4-.3.6-.1.3-.1.6-.3.8-.1.2-.5.1-.7.2-.2.1-.4.4-.7.4s-.4-.3-.6-.4c-.3-.1-.6 0-.8-.2-.2-.2-.1-.5-.2-.8-.1-.2-.4-.4-.4-.6s.3-.5.4-.7c.1-.2 0-.6.2-.7.2-.2.5-.2.8-.3.2-.1.4-.3.6-.3s.5.3.7.3c.2.1.6.1.7.3.2.1.2.5.3.7 0 .2.3.4.3.7zm-.6 0c0-.8-.6-1.4-1.4-1.4-.8 0-1.4.6-1.4 1.4S15.2 16 16 16s1.4-.7 1.4-1.4z\"}]},\nentitlement_process:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M13.4 19.1v-4l2.3-2.5h3.2v4.8c0 1-.8 1.7-1.7 1.7h-3.8zm-1.4 0H8.4c-.8 0-1.6-.5-1.6-1.7h-.6c-.6 0-1.1-.4-1.1-1v-.1c0-.6.5-1.1 1.1-1.1h.6V13h-.6c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h.6V8.6h-.6c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.2h.6c0-.9.8-1.6 1.6-1.6h8.8c.9 0 1.7.7 1.7 1.6v4.9h-3.3L13 8.4c-.2-.2-.5-.2-.7 0l-2.9 3.2c-.2.2-.2.5 0 .7l2.6 2.8v4z\"}},\nentitlement_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M16.9 4.7H8.1c-.9 0-1.6.7-1.6 1.6h-.6c-.6 0-1.1.5-1.1 1.1v.1c0 .6.5 1.1 1.1 1.1h.6v2.2h-.6c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h.6v2.2h-.6c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h.6c0 1.2.7 1.7 1.6 1.7h8.8c.9 0 1.7-.7 1.7-1.7V6.3c0-.9-.8-1.6-1.7-1.6zm-.8 10.8H8.8V8.3h7.3v7.2zm-6-4.7h4.8c.1 0 .1 0 .1-.1V9.6c0-.1 0-.2-.1-.2h-4.8c-.1 0-.2 0-.2.1v1.1c0 .1.1.2.2.2zm0 3.6h1.1c.1 0 .2 0 .2-.1v-2.2c0-.1-.1-.2-.2-.2h-1.1c-.1 0-.2.1-.2.1v2.2c0 .1.1.2.2.2zm4.7-2.5h-2.2c-.1 0-.2.1-.2.2v2.2c0 .1.1.1.2.1h2.2c.1 0 .2 0 .2-.1v-2.2c0-.1 0-.2-.1-.2h-.1z\"}},\nentity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M17.9 6.9c0-1.2-2.7-2.1-5.9-2.1s-5.9.9-5.9 2.1v.7c0 1.2 2.7 2.1 5.9 2.1s5.9-.9 5.9-2.1v-.7zM6.1 9.3c0 .9 2.7 1.6 5.9 1.6s5.9-.7 5.9-1.6v1.5c0 1.1-2.7 2.1-5.9 2.1s-5.9-1-5.9-2.1V9.3zm0 0c0 .9 2.7 1.6 5.9 1.6s5.9-.7 5.9-1.6v1.5c0 1.1-2.7 2.1-5.9 2.1s-5.9-1-5.9-2.1V9.3zm0 3.2c0 .9 2.7 1.6 5.9 1.6s5.9-.7 5.9-1.6v1.4c0 1.2-2.7 2.1-5.9 2.1s-5.9-.9-5.9-2v-1.5zm0 3.1c0 1 2.7 1.7 5.9 1.7s5.9-.7 5.9-1.7v1.5c0 1.2-2.7 2.1-5.9 2.1s-5.9-.9-5.9-2.1v-1.5z\"}},\nentity_milestone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M17.8 7.9l-5.1-2.8c-.4-.3-1-.3-1.5 0L6.1 7.9c-.4.3-.7.8-.7 1.3v5.7c0 .5.3 1 .7 1.3l5.1 2.9c.5.2 1.1.2 1.5 0l5.1-2.9c.5-.3.8-.8.8-1.3V9.2c0-.5-.3-1-.8-1.3zm-8 1.8v6c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-6c-.2-.1-.3-.4-.3-.6 0-.4.4-.7.8-.7s.8.3.8.8c0 .2-.1.4-.3.5zm6.2 3.8c0 .1-.1.2-.2.2-2 1.1-3.1-.7-4.9-.1-.1.1-.3 0-.3-.2V10c0-.1.1-.2.2-.3 1.8-.7 3 1.2 5 .1h.1c0 .1.1.1.1.1v3.6z\"}},\nenvironment_hub:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.3 11.3c.1-1 .4-2 .9-2.9.8-1.3 2.1-2.1 3.8-2.2.3-.8 1.1-1.4 2-1.4 1.2 0 2.2 1 2.2 2.2s-1 2.1-2.2 2.1c-.9 0-1.7-.6-2-1.4-1.9.1-3 1.6-3.2 3.6H15c.3-.9 1.1-1.5 2-1.5 1.2 0 2.2 1 2.2 2.2s-1 2.2-2.2 2.2c-.9 0-1.7-.6-2-1.5h-3.2c.2 2.2 1.2 3.6 3.2 3.6.3-.8 1.1-1.4 2-1.4 1.2 0 2.2.9 2.2 2.1s-1 2.2-2.2 2.2c-.9 0-1.7-.6-2-1.4-1.8 0-3.1-.8-3.9-2.2-.4-.9-.7-1.8-.8-2.9H9c-.3.9-1.1 1.5-2 1.5-1.2 0-2.2-1-2.2-2.2s1-2.2 2.2-2.2c.9 0 1.7.6 2 1.5h1.3zM17 7.7c.4 0 .8-.3.8-.7s-.4-.8-.8-.8-.7.4-.7.8.3.7.7.7zm0 10.1c.4 0 .8-.4.8-.8s-.4-.7-.8-.7-.7.3-.7.7.3.8.7.8zm0-5.1c.4 0 .8-.3.8-.7s-.4-.7-.8-.7-.7.3-.7.7.3.7.7.7zm-10 0c.4 0 .7-.3.7-.7s-.3-.7-.7-.7-.8.3-.8.7.4.7.8.7z\"}},\nevent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.2 10.1H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-8.6 6.7c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v1zm0-3.4c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v.9zm3.4 3.4c0 .3-.3.5-.5.5h-1c-.2 0-.5-.2-.5-.5v-1c0-.2.3-.4.5-.4h1c.2 0 .5.2.5.4v1zm0-3.4c0 .3-.3.5-.5.5h-1c-.2 0-.5-.2-.5-.5v-.9c0-.3.3-.5.5-.5h1c.2 0 .5.2.5.5v.9zm3.3 3.4c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v1zm0-3.4c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v.9zm1-7.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5z\"}},\nevents:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.1 6.9c-1.3-1.4-3-2.1-4.9-2.1-.4 0-.7.3-.7.7s.3.7.7.7c1.5 0 2.9.6 3.9 1.6 1.1 1.1 1.7 2.5 1.7 4 0 .4.3.7.7.7s.7-.3.7-.7c0-1.9-.7-3.6-2.1-4.9zm-4.9.8c-.4 0-.7.3-.7.7s.3.7.7.7a2.732 2.732 0 0 1 2.7 2.7c0 .4.3.7.7.7s.7-.3.7-.7c0-1.1-.4-2.1-1.2-2.9s-1.8-1.2-2.9-1.2zm-1 6.9l.6-1.7c.4.2.9.1 1.3-.3.5-.4.5-1.2 0-1.7s-1.2-.4-1.7 0c-.4.4-.5.9-.3 1.4l-1.5.7-2.8-2.8c-.2-.2-.6-.2-.7 0-1.8 2.2-1.7 5.4.3 7.4s5.3 2.2 7.4.4c.3-.2.3-.5.1-.7l-2.7-2.7z\"}},\nfeed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.8 17.3c-.1 0-.3 0-.4-.1-.2-.1-.3-.3-.4-.5L9.2 9.2l-1.6 3.5c-.1.3-.4.5-.6.5H4.8c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h1.7l2.2-5.1c.1-.3.4-.5.7-.5.3.1.6.3.7.6l1.9 7.6 2.4-5.6c.2-.3.5-.4.8-.4.2 0 .5.2.6.5l1.2 2.9h2.2c.3 0 .5.2.5.4v.5c0 .3-.2.5-.5.5h-2.6c-.3 0-.6-.2-.7-.4l-.8-1.9-2.7 5.9c-.1.3-.4.5-.6.5z\"}},\nfeedback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19 13.6v-.3c.4-.8.7-1.6.7-2.5 0-2.8-2.4-5-5.3-5-1.2 0-2.4.4-3.3 1.1 3 .6 5.2 3.2 5.2 6.3 0 .9-.1 1.7-.5 2.4.5-.1 1-.3 1.4-.5.1-.1.2-.1.3-.1l1.5.6c.3.1.5-.2.5-.5l-.5-1.5zM9.6 8.2c-2.9 0-5.3 2.2-5.3 5 0 .9.3 1.7.7 2.5 0 .1.1.2 0 .3l-.5 1.6c-.1.3.2.5.5.4l1.5-.5c.1-.1.2-.1.3 0 .8.5 1.8.7 2.8.7 2.9 0 5.3-2.2 5.3-5s-2.4-5-5.3-5zm-2.9 6c-.5 0-.9-.5-.9-1s.4-1 .9-1 1 .5 1 1-.5 1-1 1zm2.9 0c-.5 0-1-.5-1-1s.5-1 1-1 1 .5 1 1-.5 1-1 1zm2.9 0c-.5 0-1-.5-1-1s.5-1 1-1 .9.5.9 1-.4 1-.9 1z\"}},\nfile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7 15.1V7.4c-.8 0-1.5.7-1.5 1.5V18c0 .8.7 1.4 1.5 1.4h7.2c.8 0 1.4-.6 1.4-1.4H9.8C8.3 18 7 18 7 15.1zm11-6.2h-2.4c-.8 0-1.4-.7-1.4-1.5V5c0-.2-.3-.4-.5-.4H9.8c-.8 0-1.4.6-1.4 1.4v9.1c0 .8.6 1.5 1.4 1.5H17c.8 0 1.5-.7 1.5-1.5V9.4c0-.3-.2-.5-.5-.5zm.4-2l-2.2-2.2c-.1-.1-.2-.1-.3-.1-.2 0-.3.1-.3.3v1.6c0 .5.4.9 1 .9h1.5c.2 0 .4-.1.4-.3 0-.1 0-.2-.1-.2z\"}},\nfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.5 4.8H5c-.4 0-.6.5-.3.8l5.8 6.9c.2.2.2.5.2.8v5.4c0 .3.3.5.5.5h1.1c.2 0 .4-.2.4-.5v-5.4c0-.3.1-.6.3-.8l5.9-6.8c.3-.4 0-.9-.4-.9z\"}},\nfirst_non_empty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.4 11.8l5.5-5.4c.2-.2.2-.5 0-.7l-.7-.7c-.2-.2-.5-.2-.7 0L12 10.5c-.1.1-.3.1-.4 0L6.1 4.9c-.2-.1-.5-.1-.7 0l-.7.7c-.2.2-.2.5 0 .7l5.5 5.5c.1.1.1.3 0 .5l-5.5 5.5c-.2.2-.2.4 0 .7l.7.7c.2.1.5.1.7 0l5.5-5.5c.1-.1.3-.1.4 0l5.4 5.4c.2.2.5.2.7 0l.7-.7c.2-.2.2-.5 0-.7l-5.4-5.4c-.1-.2-.1-.3 0-.5z\"}},\nflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 7.4C18.6 6.1 17 3.9 14 5.2c-1.8.8-2.8 1.3-2.8 1.3L8.5 7.7c-.7.3-2.4-.2-3.3-.5-.2-.1-.5.2-.4.5.7 1.2 2.3 3.5 5.2 2.1 1.8-.8 5.5-2.4 5.5-2.4.7-.4 2.4.1 3.3.5.3 0 .5-.2.4-.5zm-6.4 3.8c-.3.2-1.6.8-1.6.8l-1.3.6c-.7.4-2.1-.1-2.9-.5-.3-.1-.5.2-.4.5.6 1.2 2 3.3 4.6 2 1.6-.8 2.9-1.3 2.9-1.3.7-.4 2.1.1 2.9.4.3.1.5-.2.4-.4-.6-1.2-2-3.4-4.6-2.1zm-.9 5.3c-.3.2-.7.5-.7.5-.5.3-1.6-.1-2.2-.4-.2-.1-.4.2-.3.4.4 1.1 1.5 3 3.4 1.8l.7-.4c.6-.3 1.6.1 2.2.4.2.1.4-.2.3-.5-.4-1-1.4-2.9-3.4-1.8z\"}},\nfolder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18 8.3h-6.8c-.4 0-.8-.2-1.1-.6l-1-1.8c-.2-.4-.6-.6-1.1-.6H6c-.7 0-1.2.5-1.2 1.2v11c0 .7.5 1.2 1.2 1.2h12c.7 0 1.2-.5 1.2-1.2V9.6c0-.7-.5-1.3-1.2-1.3zm0-2.4h-7.2c-.1 0-.2.1-.1.2l.4.8c.1.1.2.2.3.2H18c.3 0 .7.1.9.2.2.1.3 0 .3-.2 0-.7-.5-1.2-1.2-1.2z\"}},\nforecasts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.6 7s-.8-1.7-2.7-1.7-2.7 1.8-2.7 1.8c-1.3-.6-2.4 0-2.4 0s-.9-1.8-2.7-1.8S5.4 7 5.4 7s-1.8 3.9-1.8 7.4c-.1 3.5 2.2 4.3 3.3 4.3 1.2 0 4.1-.5 3.9-4.4 0 0 .3-.7 1.1-.7 1 0 1.3.7 1.3.7-.1 3.9 2.7 4.4 3.9 4.4 1 0 3.4-.8 3.3-4.3 0-3.5-1.8-7.4-1.8-7.4zM7.2 17.2c-1.2 0-2.1-1-2.1-2.1S6 13 7.2 13s2 .9 2 2.1-.9 2.1-2 2.1zm9.6 0c-1.1 0-2-1-2-2.1s.9-2.1 2-2.1 2.1.9 2.1 2.1-.9 2.1-2.1 2.1z\"}},\nformula:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.3 5.1c-.3-.2-.6-.3-1-.3H12C10.9 5 10.2 6 9.8 6.9c-.2.4-.3.9-.5 1.3l-.3.6c0 .1-.1.5-.1.5H7.8c-.1 0-.2.1-.2.2 0 .2.1.3.2.3h1L8.2 12c-.5 2.6-1.2 5.4-1.4 6-.2.5-.4.7-.7.7h-.2l-.1-.1s.1-.1.1-.2c.1-.1.1-.3.1-.4 0-.1 0-.3-.2-.4-.1-.2-.3-.2-.4-.2s-.4.1-.5.2c0 .2-.1.3-.1.5 0 .3.1.6.4.8.2.2.5.3.9.3.7 0 1.2-.3 1.7-.8.2-.3.4-.7.6-1 .5-1.2.8-2.5 1.1-3.8.3-1.2.6-2.5.9-3.8h1c.2 0 .3-.1.3-.2 0-.2-.1-.3-.3-.3h-.9c.5-2 1.1-3.4 1.2-3.6.2-.3.4-.5.7-.5.1 0 .1.1.1.1l.1.1s0 .1-.1.2c-.1.2-.1.3-.1.4 0 .2.1.3.2.4s.3.2.4.2.4 0 .5-.2.2-.3.2-.5c0-.4-.2-.6-.4-.8zm4.8 6c.4 0 1.1-.3 1.1-1.3s-.7-1-1-1c-.4 0-.8.3-1.2.9-.4.7-.8 1.5-.8 1.5h-.1c-.1-.5-.1-.9-.2-1.1-.1-.4-.5-1.3-1.5-1.3s-2 .6-2 .6c-.1.1-.3.3-.3.5 0 .3.3.6.6.6.1 0 .2 0 .3-.1 0 0 .8-.4.9 0 .1.1.1.3.2.4.2.7.3 1.4.5 2.1l-.6 1s-.8-.2-1.1-.2-1.2.3-1.2 1.3.8 1 1 1c.4 0 .9-.3 1.3-1 .4-.6.8-1.4.8-1.4.1.6.2 1.1.3 1.3.2.7.8 1.2 1.6 1.2 0 0 .8 0 1.7-.6.2-.1.4-.3.4-.5 0-.4-.3-.6-.6-.6h-.3s-.6.4-.9.1c-.2-.3-.3-.7-.4-1.2l-.3-1.5.7-1c-.1.1.7.3 1.1.3z\"}},\nfulfillment_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.5 15.1c.2 0 .4 0 .6.1L8.9 6l-.3-.9c-.1-.2-.4-.3-.6-.3l-2.9 1c-.2.1-.3.3-.3.6l.3.8c.1.3.4.4.6.3l1.5-.4 3 8.4c.4-.2.8-.4 1.3-.4zm5.1-2.2l-3 1.1c-.3.1-.7-.1-.8-.4l-1-2.9c-.1-.3 0-.7.3-.8l3-1c.3-.2.7 0 .8.3l1 3c.1.3 0 .6-.3.7zM13.8 8l-2.1.7c-.3.2-.6 0-.7-.3l-.7-2c-.1-.3 0-.7.4-.8l2-.7c.3-.1.6.1.7.4l.7 2c.1.3 0 .6-.3.7zm5.4 6.8l-.3-.9c-.1-.2-.4-.4-.6-.3l-5.5 1.9c.6.4 1 1 1.1 1.7l5-1.7c.3-.1.4-.4.3-.7zm-7.7 1.1c-.9 0-1.7.7-1.7 1.6 0 .9.8 1.7 1.7 1.7s1.7-.7 1.7-1.7c0-.9-.8-1.6-1.7-1.6z\"}},\ngeneric_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".15\",\"d\":\"M12.4 5.3h-.8c-.2 0-.3.1-.3.3v3.2c0 .2.1.3.3.3h.8c.2 0 .3-.1.3-.3V5.6c0-.2-.1-.3-.3-.3zm6 6h-3.2c-.2 0-.3.1-.3.3v.8c0 .2.1.3.3.3h3.2c.2 0 .3-.1.3-.3v-.8c0-.2-.1-.3-.3-.3zm-6 3.6h-.8c-.2 0-.3.1-.3.3v3.2c0 .2.1.3.3.3h.8c.2 0 .3-.1.3-.3v-3.2c0-.2-.1-.3-.3-.3zm-3.3-2.5v-.8c0-.2-.1-.3-.3-.3H5.6c-.2 0-.3.1-.3.3v.8c0 .2.1.3.3.3h3.2c.2 0 .3-.1.3-.3zm5.2-2.2c.1.2.3.2.5 0L17 8c.1-.1.1-.3 0-.5l-.5-.5c-.2-.1-.4-.1-.5 0l-2.2 2.2c-.2.2-.2.4 0 .5l.5.5zm.5 3.6c-.1-.2-.4-.2-.5 0l-.5.5c-.1.1-.1.3 0 .5L16 17c.2.1.4.1.5 0l.5-.5c.2-.2.2-.4 0-.5l-2.2-2.2zm-5.1 0c-.1-.2-.3-.2-.5 0L7 16c-.1.1-.1.3 0 .5l.5.5c.2.1.4.1.5 0l2.2-2.2c.2-.2.2-.4 0-.5l-.5-.5zM8 7c-.1-.2-.3-.2-.5 0l-.5.5c-.1.1-.1.3 0 .5l2.2 2.2c.2.1.4.1.5 0l.5-.5c.2-.1.2-.4 0-.5L8 7z\"}},\nglobal_constant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M12.8 12.7c.8-.6 1.6-.7 2.2-.7H19.2c0-4-3.2-7.2-7.2-7.2S4.8 8 4.8 12c0 3.4 2.5 6.3 5.7 7 0-.2 0-.4.1-.7.1-.4.3-.7.5-1-.7-.8-1.4-2.5-1.5-4.6h1.7v1.9c0-.1.1-.2.2-.4.3-.4.6-.9 1-1.3.1 0 .1-.1.2-.1l.1-.1zm4.9-1.4h-1.9c-.1-1.7-.4-3.2-1-4.3 1.6.9 2.7 2.5 2.9 4.3zm-5-4.7c.8.7 1.6 2.4 1.7 4.7h-1.7V6.6zm-1.4 0v4.7H9.6c.1-2.3.9-4 1.7-4.7zm-5 6.1h1.9c.1 1.7.4 3.2 1 4.4-1.6-.9-2.7-2.5-2.9-4.4zm1.9-1.4H6.3C6.5 9.5 7.6 7.9 9.2 7c-.6 1.1-.9 2.6-1 4.3zm3.4 5.6l.2-.2.3-.3c-.4-.2-.7-.5-.8-.9v1.7c.1-.2.2-.3.3-.3z\"},{\"d\":\"M19.1 13.3c0-.1-.1-.1-.1-.1h-4c-.6 0-1.2.2-1.7.6-.3.3-.6.7-.8 1.1 0 .1-.1.1-.1.1 0 .2.2.3.3.3.1 0 .1-.1.2-.2l.3-.3c.3-.3.7-.5 1.2-.4-.4 1-.9 2.2-1.7 3.1-.3.3-.9.7-1 1.1-.1.6.4.7.8.5.5-.2.7-.7 1-1.1.3-.5.6-1.1.8-1.6.2-.6.5-1.1.7-1.7.1-.3.2-.3.5-.3h1c-.4.8-.7 1.5-1 2.3-.3.6-.7 1.5-.4 2.1.3.7 1.2.4 1.6.1.5-.3.8-.9 1.1-1.4 0-.1.1-.1 0-.3 0-.1-.1-.1-.2-.1-.2 0-.3.3-.3.4-.2.3-.5.5-.8.5-.7-.1 0-1.4.1-1.8.1-.3.2-.6.4-1l.3-.6c.1-.2.1-.2.4-.2.2 0 .9.1 1.1-.1.2-.1.3-.5.4-.8 0-.1 0-.2-.1-.2z\"}]},\ngoals:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.2 4.8c-.8 0-1.4.6-1.4 1.4 0 .5.2.9.5 1.1v10.9c0 .6.4 1 .9 1s1-.4 1-1V7.3c.3-.2.5-.6.5-1.1 0-.8-.7-1.4-1.5-1.4zm12.2 2.6c-3.8 2-5.9-1.4-9.4-.1-.2 0-.4.2-.4.4v6.2c0 .3.4.6.7.5 3.4-1.1 5.5 2.2 9.2.1.1-.1.2-.2.2-.4V7.6c0-.2-.2-.3-.3-.2zm-1.1 3.3c-.5.1-.9.1-1.4.1h-.1v1.4h.1c.5 0 .9 0 1.4-.1v1.4c-.5.2-.9.2-1.4.2h-.1v-1.4c-.4 0-.9-.1-1.4-.2v1.4c-.3 0-.7-.1-1-.2-.2-.1-.3-.1-.4-.2v-1.4c-.6-.2-1-.3-1.5-.4v1.5c-.2-.1-.5-.1-.8-.1-.2 0-.4 0-.6.1v-1.5h1.4V10c-.2-.1-.5-.1-.8-.1h-.6V8.5c.2-.1.4-.1.6-.1.3 0 .6.1.8.1V10c.4.1.7.2 1.3.3 0 .1.1.1.2.1V9c.4.1.9.2 1.4.3v1.4c.5.1.9.1 1.4.1V9.4h.1c.5 0 .9 0 1.4-.1v1.4zm-4.3-.3v1.3c.1 0 .2.1.3.1.4.1.7.2 1.1.3v-1.4c-.5-.1-1-.2-1.4-.3z\"}},\ngroup_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M8.8 12.6c-.4-.7-.6-1.4-.6-2.3 0-1.4.6-2.6 1.5-3.3-.3-.6-.9-1-1.8-1-1.4 0-2.1 1.1-2.1 2.4 0 .7.2 1.3.7 1.7.2.2.4.6.4.9 0 .3-.1.6-.9 1-1.1.5-2.1 1.1-2.2 2.2 0 .7.5 1.2 1.1 1.2H6c.1 0 .3-.1.4-.3.5-.9 1.4-1.5 2.2-1.9.3-.1.4-.4.2-.6zM18 12c-.8-.4-.9-.7-.9-1 0-.3.2-.7.4-.9.5-.4.7-1 .7-1.7 0-1.3-.7-2.4-2.1-2.4-.9 0-1.5.4-1.8 1 .9.7 1.5 1.9 1.5 3.3 0 .9-.2 1.6-.6 2.3-.2.2-.1.5.2.7.8.4 1.7.9 2.2 1.8.1.2.3.3.4.3h1.1c.6 0 1.1-.5 1.1-1.2-.1-1.1-1.1-1.7-2.2-2.2zm-3.9 2.3c-.9-.4-1-.7-1-1.1 0-.4.2-.7.5-1 .5-.4.8-1.1.8-1.9 0-1.4-.8-2.6-2.4-2.6s-2.4 1.2-2.4 2.6c0 .8.3 1.4.8 1.9.3.3.5.6.5 1s-.1.7-.9 1.1c-1.3.5-2.5 1.1-2.6 2.3 0 .7.6 1.4 1.3 1.4h6.6c.7 0 1.3-.7 1.3-1.4-.1-1.2-1.3-1.8-2.5-2.3z\"}},\ngroups:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.8 12.6c-.4-.7-.6-1.4-.6-2.3 0-1.4.6-2.6 1.5-3.3-.3-.6-.9-1-1.8-1-1.4 0-2.1 1.1-2.1 2.4 0 .7.2 1.3.7 1.7.2.2.4.6.4.9 0 .3-.1.6-.9 1-1.1.5-2.1 1.1-2.2 2.2 0 .7.5 1.2 1.1 1.2H6c.1 0 .3-.1.4-.3.5-.9 1.4-1.5 2.2-1.9.3-.1.4-.4.2-.6zM18 12c-.8-.4-.9-.7-.9-1 0-.3.2-.7.4-.9.5-.4.7-1 .7-1.7 0-1.3-.7-2.4-2.1-2.4-.9 0-1.5.4-1.8 1 .9.7 1.5 1.9 1.5 3.3 0 .9-.2 1.6-.6 2.3-.2.2-.1.5.2.7.8.4 1.7.9 2.2 1.8.1.2.3.3.4.3h1.1c.6 0 1.1-.5 1.1-1.2-.1-1.1-1.1-1.7-2.2-2.2zm-3.9 2.3c-.9-.4-1-.7-1-1.1 0-.4.2-.7.5-1 .5-.4.8-1.1.8-1.9 0-1.4-.8-2.6-2.4-2.6s-2.4 1.2-2.4 2.6c0 .8.3 1.4.8 1.9.3.3.5.6.5 1s-.1.7-.9 1.1c-1.3.5-2.5 1.1-2.6 2.3 0 .7.6 1.4 1.3 1.4h6.6c.7 0 1.3-.7 1.3-1.4-.1-1.2-1.3-1.8-2.5-2.3z\"}},\nhierarchy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.1 11.1h-4c-.3 0-.5.2-.5.5V15H5.2c-.2 0-.4.2-.4.4v3.4c0 .2.2.4.4.4h4.5c.3 0 .5-.2.5-.4v-3.4c0-.2-.2-.4-.5-.4H8.4v-2.1h7.2V15h-1.3c-.3 0-.5.2-.5.4v3.4c0 .2.2.4.5.4h4.5c.2 0 .4-.2.4-.4v-3.4c0-.2-.2-.4-.4-.4h-1.4v-3.4c0-.3-.2-.5-.5-.5h-4V9h1.3c.3 0 .5-.2.5-.4V5.3c0-.3-.2-.5-.5-.5H9.7c-.2 0-.4.2-.4.5v3.3c0 .2.2.4.4.4h1.4v2.1z\"}},\nhigh_velocity_sales:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 5.2c0-.3-.2-.4-.3-.4h-6.2c-.4 0-.4.5-.4.5v.8c0 .4.2.5.3.5H17c.1 0 .4.1.4.6v4.1c0 .1.1.4.5.4h.9s.4 0 .4-.5v-6zm-3.7 3.7c0-.3-.2-.4-.3-.4H9c-.5 0-.5.5-.5.5v.9c0 .3.3.4.4.4h4.3c.2.1.5.2.5.7v4c0 .2.1.4.4.4h1s.4 0 .4-.4V8.9zm-9.7 9.9c.1.1.3.3.6-.1l3.2-3.1c0-.1.3-.3.3.1v3.1c0 .1.1.4.5.4h.9s.4 0 .4-.5v-6c0-.3-.2-.4-.3-.4H5.3c-.5 0-.5.5-.5.5v.8c0 .4.2.5.4.5H8c.2 0 .5 0 .2.4l-3 3s-.4.4-.1.6l.7.7z\"}},\nhome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.9 12.3h-1.5v6.6c0 .2-.1.3-.3.3h-3c-.2 0-.3-.1-.3-.3v-5.1h-3.6v5.1c0 .2-.1.3-.3.3h-3c-.2 0-.3-.1-.3-.3v-6.6H5.1c-.1 0-.3-.1-.3-.2s0-.2.1-.3l6.9-7c.1-.1.3-.1.4 0l7 7v.3c0 .1-.2.2-.3.2z\"}},\nhousehold:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.4 4.9c-.3-.1-.6-.1-.8 0L5 11.1c-.4.3-.2.9.3.9h.9v5.8c0 .8.7 1.4 1.5 1.4h8.6c.8 0 1.5-.6 1.5-1.4V12h.9c.5 0 .7-.6.3-.9l-6.6-6.2zM8.9 15.3c-.1.1-.2.1-.3.1H8c-.3 0-.6-.2-.6-.6.1-.6.6-.9 1.3-1.1.4-.2.5-.4.5-.6 0-.2-.2-.4-.3-.5-.3-.2-.4-.6-.4-1 0-.7.5-1.3 1.2-1.3.5 0 .8.2 1 .5-.5.5-.9 1.1-.9 1.9 0 .5.2.9.4 1.3.1.1 0 .3-.1.3-.4.2-1 .5-1.2 1zm4.9 1.7h-3.6c-.4 0-.7-.3-.7-.8 0-.6.7-1 1.3-1.3.5-.2.6-.4.6-.6 0-.2-.1-.4-.3-.5-.3-.3-.4-.6-.4-1.1 0-.8.5-1.5 1.3-1.5s1.4.7 1.4 1.5c0 .5-.2.8-.5 1.1-.1.1-.3.3-.3.5s.1.4.6.6c.7.3 1.4.7 1.4 1.3-.1.5-.4.8-.8.8zm2.2-1.6h-.6c-.1 0-.2 0-.3-.1-.2-.5-.8-.7-1.2-.9-.1-.1-.2-.2-.1-.4.2-.3.4-.8.4-1.2 0-.8-.4-1.5-.9-1.9.2-.3.5-.6 1-.6.8 0 1.2.7 1.2 1.4 0 .4-.1.7-.4.9-.1.2-.2.4-.2.6s0 .3.5.5c.6.3 1.2.6 1.2 1.1 0 .4-.3.6-.6.6z\"}},\nindividual:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 17.5l-2.9 1.6c-.2.1-.4.1-.5 0l-2.9-1.6c-.1-.1-.1-.2 0-.3l.7-.4h.1l1.8 1c.2.1.3.2.5.2s.4-.1.6-.2l1.7-1h.2l.7.4c.1.1.1.2 0 .3zm0-1.9l-2.9 1.7c-.2.1-.4.1-.5 0l-2.9-1.7c-.1 0-.1-.2 0-.2l.7-.4h.1l1.8 1c.2.1.3.1.5.1s.4 0 .6-.1l1.7-1h.2l.7.4c.1 0 .1.2 0 .2zm-3.4-.1l-2.9-1.7c-.1 0-.1-.2 0-.2l2.9-1.7c.1-.1.4-.1.5 0l2.9 1.7c.1 0 .1.2 0 .2l-2.9 1.7h-.5zm-3.2-1c.1-.1.1-.2 0-.2l-.7-.4v-.3s0-.4.3-.7c.1 0 .3-.1.5-.2-.1-.1-.2-.1-.3-.1-.4-.3-1-.5-1.2-1-.1-.3-.1-.6.1-.9.2-.3.5-.5.7-.8.1-.1.1-.2.1-.3.6-.8.7-2 .4-3-.4-1.1-1.3-1.8-2.5-1.8h-.1c-1.2 0-2.1.7-2.5 1.8-.3 1-.2 2.2.4 3 0 .1.1.2.1.3.2.3.5.5.7.8.1.3.2.6.1.9-.2.5-.8.7-1.2 1-1 .4-2.3 1-2.5 2.2-.2 1 .5 2 1.6 2h5.3l.7-.4c.1-.1.1-.2 0-.3l-.7-.4V15l.7-.5z\"}},\ninsights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.8 6.5H7.4c-.2 0-.4.1-.4.4v8.4c0 .3-.3.6-.6.6-.3-.1-.5-.3-.5-.6V9.2c0-.1-.1-.2-.3-.2h-.4c-.2 0-.4.1-.4.4v7c0 .6.5 1.1 1.1 1.1h12.2c.6 0 1.1-.5 1.1-1.1V6.9c0-.3-.2-.4-.4-.4zm-6.2 8c0 .2-.2.3-.3.3H9c-.2 0-.3-.1-.3-.3v-.6c0-.1.1-.2.3-.2h3.3c.1 0 .3.1.3.2v.6zm0-2.2c0 .2-.2.3-.3.3H9c-.2 0-.3-.1-.3-.3v-.6c0-.1.1-.3.3-.3h3.3c.1 0 .3.2.3.3v.6zm4.9 2.2c0 .2-.1.3-.2.3h-3.4c-.1 0-.2-.1-.2-.3v-.6c0-.1.1-.2.2-.2h3.4c.1 0 .2.1.2.2v.6zm0-2.2c0 .2-.1.3-.2.3h-3.4c-.1 0-.2-.1-.2-.3v-.6c0-.1.1-.3.2-.3h3.4c.1 0 .2.2.2.3v.6zm0-2.2c0 .1-.1.2-.2.2H9c-.2 0-.3-.1-.3-.2V8.4c0-.2.1-.3.3-.3h8.3c.1 0 .2.1.2.3v1.7z\"}},\ninstore_locations:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.7 16.8c-.1 0-.3-.1-.3-.3v-1.7c0-.2.1-.3.3-.3h1.8c.1 0 .3.1.3.3v1.8c0 .1-.1.2-.3.2H7.7zm3.4 0c-.1 0-.3-.1-.3-.3v-2.7c0-.1.1-.2.3-.2h1.8c.2 0 .3.1.3.2v2.8c0 .1-.1.2-.3.2h-1.8zm3.4 0c-.1 0-.3-.1-.3-.3v-1.7c0-.2.2-.3.3-.3h1.8c.2 0 .3.1.3.3v1.8c0 .1-.1.2-.3.2h-1.8zm-6.8-6.5c-.1 0-.3-.1-.3-.3V7.5c0-.2.1-.3.3-.3h5.2c.2 0 .3.1.3.3V10c0 .2-.1.3-.3.3H7.7zm6.8 0c-.1 0-.3-.1-.3-.3V8.3c0-.2.2-.3.3-.3h1.8c.2 0 .3.1.3.3V10c0 .2-.1.3-.3.3h-1.8zm3.2-5.5H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm0 12.4c0 .3-.2.5-.5.5H6.8c-.3 0-.5-.2-.5-.5v-4.6h11.4v4.6zm0-6H6.3V6.8c0-.3.2-.5.5-.5h10.4c.3 0 .5.2.5.5v4.4z\"}},\ninvestment_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 6.5H6.2c-.8 0-1.4.6-1.4 1.4v8.2c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4V7.9c0-.8-.6-1.4-1.4-1.4zM16.6 13c0 .2-.3.3-.4.1L15 12l-2.5 2.2c-.3.3-.7.3-1 0L10 12.5l-2.8 2.4c-.1.1-.2.1-.3 0l-.1-.2c-.1-.1-.1-.2 0-.3l2.7-3.7c.2-.3.7-.3 1 0l1.5 1.6 1.6-1.8-1-.9c-.2-.2-.1-.5.1-.5h3.4c.2 0 .4.3.4.5V13z\"}},\ninvocable_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.1 17.1V19c0 .1.1.2.2.2h.2l3.6-3c.1 0 .1-.1.1-.2 0 0-.1-.1-.1-.2l-3.6-3.1h-.2c-.1 0-.2.1-.2.3v2c-2.3.6-4.1-1.4-4.1-1.4s-.1-.1-.2-.1-.2.2-.2.3c.9 3.8 4.5 3.3 4.5 3.3zm-5.9-3l-.1-.1v-.2c0-1 .8-1.8 1.7-1.8.5 0 .9.2 1.2.6h.1c.2.2.8.7 1.6 1V13c0-1 .7-1.7 1.7-1.7.3 0 .6.1.7.1l.2.1.1.1 2.1 1.8c.5-.5.7-1.2.7-1.9 0-1.5-1.2-2.7-2.6-2.7h-.2v-.2c0-1.5-1.2-2.7-2.7-2.7-.7 0-1.3.2-1.8.7-.4-1-1.4-1.8-2.6-1.8-1.5 0-2.7 1.2-2.7 2.7 0 .5.2 1 .4 1.4-1.2.3-2.1 1.3-2.1 2.6 0 1.5 1.1 2.7 2.6 2.7h1.8c-.1 0-.1 0-.1-.1z\"}},\niot_context:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M17.5 10.4c-.7 0-1.4.6-1.6 1.3h-1.2c-.2-1.4-1.3-2.4-2.7-2.4s-2.6 1-2.8 2.4H8c-.2-.7-.8-1.3-1.6-1.3-.9 0-1.6.8-1.6 1.7 0 .9.7 1.7 1.6 1.7.8 0 1.5-.5 1.6-1.2h1.2c.2 1.2 1.1 2.1 2.3 2.3V16c-.7.2-1.2.9-1.2 1.6 0 1 .7 1.7 1.7 1.7s1.7-.7 1.7-1.7c0-.7-.6-1.4-1.3-1.6v-1.1c1.2-.2 2.1-1.1 2.3-2.3h1.2c.2.7.9 1.2 1.6 1.2.9 0 1.7-.7 1.7-1.7s-.7-1.7-1.7-1.7zm-4.7 7.2c0 .5-.3.9-.8.9s-.8-.4-.8-.9.3-.8.8-.8.8.4.8.8zM8 8.6c-.2.2-.2.5 0 .7.2.2.5.2.7 0 1.7-1.8 4.6-1.8 6.4 0 .1.1.2.2.3.2s.3-.1.4-.2c.2-.2.2-.5 0-.7-2.2-2.1-5.7-2.1-7.8 0zm-1.2-.8C9.6 5 14.2 5 17 7.8c.1.1.2.1.3.1s.3 0 .4-.1c.2-.2.2-.5 0-.7-3.2-3.2-8.4-3.2-11.6 0-.2.2-.2.5 0 .7.2.2.5.2.7 0z\"}},\niot_orchestrations:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"circle\":[{\"cx\":\"9.36\",\"cy\":\"7.68\",\"r\":\"2.88\"},{\"cx\":\"16.8\",\"cy\":\"12\",\"r\":\"2.88\"}],\"path\":{\"fill-rule\":\"nonzero\",\"d\":\"M9.4 17.8c.8 0 1.4-.7 1.4-1.5s-.6-1.4-1.4-1.4-1.5.6-1.5 1.4.7 1.5 1.5 1.5zm0 1.4c-1.6 0-2.9-1.3-2.9-2.9s1.3-2.9 2.9-2.9 2.8 1.3 2.8 2.9-1.2 2.9-2.8 2.9zM11 9.9c.8 1.1 2 1.7 3.4 1.9.2 0 .5-.2.5-.5 0-.2-.2-.5-.4-.5-1.2-.1-2.1-.6-2.8-1.5-.1-.2-.4-.2-.7-.1-.2.2-.2.5 0 .7zM6.7-12.5c.5-1.2.5-2.5.1-3.8-.1-.3-.4-.4-.6-.3-.3.1-.4.4-.3.6.4 1.1.3 2.1-.1 3.1-.1.3 0 .6.2.7.3.1.6 0 .7-.3zm4.8 18.7c.9-.5 1.9-.6 2.8-.2 1 .4 1.6 1.2 1.9 2 .1.4.1.6.1 1.5 0 .3.2.5.5.5s.5-.2.5-.5c0-1-.1-1.3-.2-1.8-.3-1-1.1-2-2.4-2.6-1.3-.5-2.5-.4-3.7.2-.2.2-.3.5-.1.7.1.2.4.3.6.2zm0 11.6c.9.5 1.9.6 2.8.2 1-.4 1.6-1.2 1.9-2 .1-.4.1-.6.1-1.5 0-.2.2-.5.5-.5s.5.3.5.5c0 1-.1 1.3-.2 1.8-.3 1-1.1 2-2.4 2.6-1.3.5-2.5.4-3.7-.2-.2-.2-.3-.5-.1-.7.1-.2.4-.3.6-.2z\"}}},\njavascript_button:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.1 8.6h2.6c.2 0 .3-.1.3-.3 0-.1 0-.2-.1-.2l-3.2-3.2c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.6c0 .5.4.9.9.9zm2.4 1.5h-3.3c-.8 0-1.5-.7-1.5-1.5V5.3c0-.3-.2-.5-.5-.5H7.4c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-8.4 5.8c0 .7-.4.9-.9.9h-.4l.1-.4h.3c.2 0 .3-.1.3-.5v-1.5h.6v1.5zm1 .9c-.2 0-.5 0-.7-.1l.2-.5c.1.1.3.2.6.2.2 0 .3-.1.3-.3s-.1-.2-.4-.3c-.3-.1-.6-.4-.6-.8s.3-.7.9-.7c.2 0 .4.1.6.1l-.1.5c-.2-.1-.4-.1-.5-.1-.3 0-.4.1-.4.2s.2.2.5.3.6.4.6.8-.3.7-1 .7z\"}},\njob_profile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9 7.7h5.2c.2 0 .5-.3.5-.5v-1c0-.8-.7-1.4-1.5-1.4H9.9c-.8 0-1.4.6-1.4 1.4v1c0 .2.2.5.5.5zM16.8 6h-.5c-.1 0-.2.1-.2.2v1c0 1-.9 1.9-1.9 1.9H9c-1.1 0-1.9-.9-1.9-1.9v-1c0-.1-.1-.2-.3-.2h-.5c-.8 0-1.4.6-1.4 1.4v9.7c0 .8.7 1.5 1.4 1.5h4.8c.7 0 .8-.6.8-.8v-5.1c0-.6.3-.7.5-.7h5.1c.6 0 .7-.5.7-.7V7.4c0-.8-.6-1.4-1.4-1.4zm2 8.5h-5.2c-.2 0-.3-.1-.3-.3v-.5c0-.1.1-.3.3-.3h5.2c.2 0 .3.2.3.3v.5c0 .2-.1.3-.3.3zm0 2.3h-5.2c-.2 0-.3-.1-.3-.2v-.5c0-.2.1-.3.3-.3h5.2c.2 0 .3.1.3.3v.5c0 .1-.1.2-.3.2zm0 2.4h-5.2c-.2 0-.3-.1-.3-.3v-.5c0-.1.1-.3.3-.3h5.2c.2 0 .3.2.3.3v.5c0 .2-.1.3-.3.3z\"}},\nkanban:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.6 9.2c0-.2-.3-.5-.5-.5h-2.7c-.2 0-.4.3-.4.5v8.1c0 .2.2.4.4.4h2.7c.2 0 .5-.2.5-.4V9.2zm-5.4 0c0-.2-.3-.5-.5-.5H5c-.2 0-.4.3-.4.5v9.3c0 .2.2.4.4.4h2.7c.2 0 .5-.2.5-.4V9.2zm10.8 0c0-.2-.3-.5-.5-.5h-2.7c-.2 0-.4.3-.4.5v6.9c0 .2.2.4.4.4h2.7c.2 0 .5-.2.5-.4V9.2zM19 5c0-.2-.3-.5-.5-.5H5c-.2 0-.4.3-.4.5v1.5c0 .2.2.4.4.4h13.5c.2 0 .5-.2.5-.4V5z\"}},\nknowledge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.7 14.2h3.1c.3 0 .5-.3.5-.5V6.5c0-.5-.5-1-1-1H7.8c-.4 0-.6.3-.6.6v7.6c0 .2.2.5.5.5zM18.2 7v7.6c0 .6-.4 1-.9 1H6.7c-.5 0-.9-.4-.9-1V7c-.8 0-1.5.6-1.5 1.4v7.2c0 .8.7 1.4 1.5 1.4h4.5c.3 0 .5.3.5.5s.2.5.5.5h1.4c.3 0 .5-.2.5-.5s.2-.5.5-.5h4.5c.8 0 1.5-.6 1.5-1.4V8.4c0-.8-.7-1.4-1.5-1.4zm-5 7.2h3c.4 0 .6-.3.6-.6V6c0-.3-.2-.5-.5-.5h-2.6c-.5 0-1 .5-1 1v7.2c0 .2.2.5.5.5z\"}},\nlead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"12\",\"cy\":\"6.96\",\"r\":\"2.16\"},\"path\":{\"d\":\"M18.7 10.6H5.3c-.5 0-.7.6-.3.8l3.5 2.3c.2.1.3.3.2.5l-1.3 4.4c-.2.5.5.8.8.5l3.4-3.6c.2-.3.6-.3.8 0l3.4 3.6c.3.3.9 0 .8-.5l-1.3-4.4c-.1-.2 0-.4.2-.5l3.5-2.3c.4-.2.2-.8-.3-.8z\"}},\nlead_insights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M12 5.3a6.7 6.7 0 1 0 0 13.4 6.7 6.7 0 0 0 0-13.4zm0 12.6c-3.3 0-5.9-2.6-5.9-5.9 0-3.3 2.6-5.9 5.9-5.9 3.3 0 5.9 2.6 5.9 5.9 0 3.3-2.6 5.9-5.9 5.9z\"},{\"d\":\"M11.8 11.8c0 .6-.2 1.1-.4 1.5-.2.4-.5.7-1 1-.4.2-.9.3-1.5.3v-.5c.7 0 1.2-.2 1.6-.5s.6-.7.7-1.3c-.4.4-.9.6-1.4.6-.3 0-.5-.1-.8-.2s-.4-.3-.5-.6c-.2-.2-.2-.5-.2-.8 0-.3.1-.6.2-.8.1-.3.3-.5.6-.6.3-.2.6-.3.9-.3.6 0 1.1.2 1.4.6s.4.9.4 1.6zm-.6-.1c0-.5-.1-.9-.3-1.2-.1-.3-.5-.4-.9-.4-.3 0-.6.1-.8.3-.2.2-.3.5-.3.9s.1.6.3.8c.2.2.4.3.8.3.2 0 .4-.1.7-.2s.3-.3.5-.5zm4.7.1c0 .6-.2 1.1-.4 1.5-.2.4-.5.7-1 1-.4.2-.9.3-1.5.3v-.5c.7 0 1.2-.2 1.6-.5s.6-.7.7-1.3c-.4.4-.9.6-1.4.6-.3 0-.5-.1-.8-.2s-.4-.3-.5-.6c-.2-.2-.2-.5-.2-.8 0-.3.1-.6.2-.8.1-.3.3-.5.6-.6.3-.2.6-.3.9-.3.6 0 1.1.2 1.4.6s.4.9.4 1.6zm-.6-.1c0-.5-.1-.9-.3-1.2-.2-.3-.5-.4-.9-.4-.3 0-.6.1-.9.3-.1.2-.2.5-.2.9s.1.6.2.8c.2.2.5.3.8.3.3 0 .5-.1.7-.2s.4-.3.6-.5z\"}]},\nlead_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M8.9 15h9.6c.2 0 .5.2.5.4v1c0 .3-.3.5-.5.5H8.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4zM6 16.9H5c-.2 0-.4-.2-.4-.5v-1c0-.2.2-.4.4-.4h1c.3 0 .5.2.5.4v1c0 .2-.2.4-.5.5zm0-4.3H5c-.2 0-.4-.2-.4-.5v-1c0-.2.2-.4.4-.4h1c.3 0 .5.2.5.4v1c0 .2-.2.5-.5.5zm0-4.3H5c-.2 0-.4-.2-.4-.5v-1c0-.2.2-.4.4-.4h1c.3 0 .5.2.5.4v1c0 .2-.2.5-.5.5zm2.9 2.4h8.4c.3 0 .5.2.5.4v1c0 .3-.2.5-.5.5H8.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4zm0-4.3h9.6c.2 0 .5.2.5.5v.9c0 .3-.3.5-.5.5H8.9c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5z\"}},\nletterhead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zM17 16.6c0 .2-.2.3-.3.3H7.3c-.2 0-.3-.2-.3-.4v-2.1c0-.2.2-.4.4-.4h9.3c.2 0 .3.2.3.4v2.2zm0-7c0 .2-.2.3-.3.3H7.3c-.2 0-.3-.2-.3-.4V7.4c0-.2.2-.4.4-.4h9.3c.2 0 .3.2.3.4v2.2z\"}},\nlightning_component:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.7 4.8h-4.1c-.6 0-1.1.4-1.3.9l-2.6 6.5c-.1.5.2 1 .7 1h4.1L10 18.6c-.1.5.5.8.8.4l6.3-7.5c.4-.4.1-1.2-.5-1.2h-3.1l2.7-4.4c.3-.5 0-1.1-.6-1.1h-.9z\"}},\nlightning_usage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.6 17.7c0 .7.5 1.2 1.2 1.2h12.7c.2 0 .5-.2.5-.4V18c0-.3-.3-.5-.5-.5h-12c-.3 0-.5-.2-.5-.5V5c0-.2-.2-.5-.5-.5H5c-.2 0-.4.3-.4.5v12.7zm3.7-3.8c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1l3.8-3.8c.3-.3.7-.3 1 0l1.8 1.8 3.3-3.3c.3-.3.7-.3 1 0 .3.3.3.8 0 1L15 12.2c-.2.1-.3.2-.5.2s-.4-.1-.5-.2l-1.9-1.9-3.3 3.4c-.2.1-.4.2-.5.2z\"}},\nlink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.4 16.7c-.3-.1-.4-.1-.7-.1-.2-.1-.4-.1-.6-.2-.1-.1-.3 0-.4.1l-.1.1c-.9.9-2.3 1-3.2.2-1-.9-1.1-2.4-.1-3.4l2.3-2.3c.2-.3.6-.5 1-.6.5-.1 1-.1 1.4.1.3.2.6.3.8.5.1.2.2.3.3.4.1.2.4.3.5.1l.9-.8c.1-.1.1-.3 0-.5-.1-.1-.3-.3-.4-.5-.2-.2-.5-.4-.7-.5-.5-.3-.9-.5-1.4-.6-1-.2-2 0-2.8.4-.4.2-.7.5-1 .7L6 12c-1.6 1.6-1.7 4.2-.2 5.8 1.6 1.8 4.3 1.8 6 .2l.7-.8c.3-.2.1-.5-.1-.5zm5.5-10.8c-1.7-1.5-4.2-1.4-5.8.2l-.7.6c-.2.2-.1.6.2.6.4 0 .9.1 1.3.3.1 0 .3 0 .3-.1l.2-.2c.9-.8 2.2-.9 3.2-.1 1 .9 1 2.4.1 3.3l-2.3 2.3c-.3.3-.6.5-1 .6-.5.1-1 .1-1.4-.1-.3-.1-.6-.3-.8-.5-.1-.1-.2-.2-.3-.4-.1-.2-.4-.2-.6 0l-.8.8c-.1.1-.1.3 0 .5.1.1.2.3.4.4.2.3.4.4.7.6.4.3.9.4 1.4.5.9.2 1.9.1 2.8-.4.3-.2.7-.4.9-.7l2.3-2.3c1.6-1.6 1.6-4.3-.1-5.9z\"}},\nlist_email:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.6 8.4H7.3c-.7 0-1.2.5-1.2 1.1v.2c0 .1.1.2.2.2H14c.7 0 1.2.5 1.2 1.2v5.5c0 .1.1.2.2.2h.2c.6 0 1.1-.6 1.1-1.2V9.5c0-.6-.5-1.1-1.1-1.1zm2.5-2.5H9.8c-.7 0-1.2.5-1.2 1.2v.1c0 .1.1.2.2.2h7.7c.7 0 1.2.6 1.2 1.2v5.5c0 .1.1.2.2.2h.1c.7 0 1.2-.5 1.2-1.1V7.1c0-.7-.5-1.2-1.1-1.2zm-8.9 9.5c.2.1.3.1.4 0l4.4-4.1c.1-.1.1-.4-.2-.4H5.1c-.2 0-.4.3-.3.5l4.4 4zm4.9-2.5c0-.2-.2-.3-.4-.2l-3.4 3.2c-.2.2-.5.3-.8.3-.4 0-.6-.1-.9-.3l-3.4-3.2c-.1-.1-.4 0-.4.2v4.4c0 .5.4.8.8.8h7.7c.5 0 .8-.4.8-.8v-4.4z\"}},\nlive_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M11.9 5.3c-4 0-7.2 2.9-7.2 6.5 0 1.2.3 2.3.8 3.2.1.2.2.4.1.5l-.9 2.6c-.1.2.1.5.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 3.9 0 7.1-2.9 7.1-6.6 0-3.7-3.2-6.6-7.2-6.6zm-3.6 7.8c-.7 0-1.2-.6-1.2-1.2 0-.7.5-1.2 1.2-1.2s1.2.5 1.2 1.2-.6 1.2-1.2 1.2zm3.6 0c-.7 0-1.2-.6-1.2-1.2 0-.7.5-1.2 1.2-1.2s1.2.5 1.2 1.2-.5 1.2-1.2 1.2zm3.6 0c-.7 0-1.2-.6-1.2-1.2 0-.7.6-1.2 1.2-1.2s1.2.5 1.2 1.2-.5 1.2-1.2 1.2z\"}},\nlive_chat_visitor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.4.9 3.3.1.2.1.3.1.4l-.7 2.2c-.1.3.2.7.6.6l2.1-.8c.2 0 .3 0 .4.1 1.1.6 2.4 1 3.8 1 4 0 7.2-3 7.2-6.8 0-3.7-3.2-6.7-7.2-6.7zm-1.3 6.4c.6-.3.6-.5.6-.7 0-.3-.1-.5-.3-.7-.3-.2-.5-.7-.5-1.2 0-.9.5-1.6 1.5-1.6s1.5.7 1.5 1.6c0 .5-.2 1-.5 1.2-.2.2-.3.4-.3.7 0 .2 0 .4.6.7.8.3 1.5.8 1.6 1.5 0 .5-.3 1-.8 1H9.9c-.4 0-.8-.5-.8-1 0-.7.8-1.2 1.6-1.5zm-.9 4.9c-.4 0-.8-.3-.8-.7 0-.4.4-.8.8-.8s.7.4.7.8-.3.7-.7.7zm2.2 0c-.4 0-.7-.3-.7-.7 0-.4.3-.8.7-.8.4 0 .7.4.7.8s-.3.7-.7.7zm2.2 0c-.4 0-.7-.3-.7-.7 0-.4.3-.8.7-.8s.8.4.8.8-.4.7-.8.7z\"}},\nlocation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.6 6.8l-4.3-2.2a.8.8 0 0 0-.6 0l-4 2-4.1-2a.7.7 0 0 0-.7.1.7.7 0 0 0-.3.6v10.8a.7.7 0 0 0 .4.6l4.3 2.1a.8.8 0 0 0 .6 0l4-2 4 2a.6.6 0 0 0 .3.1.7.7 0 0 0 .4-.1.7.7 0 0 0 .4-.6V7.4a.7.7 0 0 0-.4-.6zm-1.1 1.4v5.7a.4.4 0 0 1-.6.4c-1.2-.4-.3-2.3-1.1-3.3-.7-.9-1.7 0-2.6-1.4-.9-1.4.3-2.5 1.4-3a.5.5 0 0 1 .4 0l2.2 1.1a.5.5 0 0 1 .3.5zm-6.1 8.3a.5.5 0 0 1-.5-.1 1.6 1.6 0 0 1-.6-1.1c0-.7-1.2-.4-1.2-1.9 0-1.2-1.3-1.5-2.5-1.3a.5.5 0 0 1-.5-.5V7.2a.4.4 0 0 1 .6-.4l2.6 1.3a.1.1 0 0 1 .1 0l.1.1c1.1.6.8 1.1.4 1.9-.5.9-.7 0-1.4-.3s-1.5.3-1.2.8.9 0 1.4.4.5 1.2 1.9.8 1.7-.3 2.2.2a1.5 1.5 0 0 1 0 2.2c-.4.4-.6 1.3-.8 1.9a.5.5 0 0 1-.2.3z\"}},\nlog_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.7 4.8h-9c-.8 0-1.5.7-1.5 1.4v.5h-.4c-.6 0-1 .5-1 1s.4.9 1 .9h.4V11h-.4c-.6 0-1 .5-1 1s.4 1 1 1h.4v2.4h-.4c-.6 0-1 .4-1 .9s.4 1 1 1h.4v.5c0 .7.7 1.4 1.5 1.4h9c.8 0 1.5-.7 1.5-1.5V6.2c0-.8-.7-1.4-1.5-1.4zm-.8 9.7l-.7.6c-.2.2-.4.3-.6.3-1.5-.1-3-.9-4.1-1.9-1-1-1.8-2.5-1.8-4.1 0-.2 0-.4.2-.6l.7-.6c.3-.4.8-.3 1.1 0l.6.8c.2.3.2.6 0 .9l-.5.8c-.1.1-.1.2 0 .3l1.1 1.2 1.2 1.1c.1.1.2.1.3 0l.8-.5c.2-.2.6-.2.9 0l.8.6c.3.2.3.8 0 1.1z\"}},\nlogging:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M18.5 13.5h-.9c-.2 0-.4.2-.4.4v3c0 .2-.2.4-.4.4H7c-.2 0-.4-.2-.4-.4v-3c0-.2-.2-.4-.4-.4h-.9c-.3 0-.5.2-.5.4v4c0 .7.6 1.2 1.2 1.2h11.8c.7 0 1.2-.5 1.2-1.2v-4c0-.2-.2-.4-.5-.4zM12.2 5c-.2-.1-.4-.1-.6 0l-4 4c-.2.2-.2.5 0 .6l.6.7c.2.1.4.1.6 0l1.7-1.7c.2-.2.5 0 .5.2v6.3c0 .2.2.4.4.4h.9c.3 0 .5-.2.5-.4V8.9c0-.3.3-.4.5-.3l1.7 1.7c.1.2.4.2.6 0l.6-.6c.2-.2.2-.5 0-.7l-4-4z\"}},\nloop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.4 14h-.1c0 .3-.1.6-.2.8-.1.3-.3.6-.4.8-.3.6-.7 1.1-1.1 1.5-.4.4-.9.8-1.4 1.1-.5.3-1.1.6-1.7.7-.6.2-1.2.3-1.8.3-3.8 0-6.9-3.1-6.9-6.9s3.1-6.9 6.9-6.9c1.2 0 2.4.4 3.5 1 .5.3 1 .7 1.3 1.1.2.1.2.1.3.3.2.1.4 0 .4-.3V5.3c0-.3.2-.5.5-.5h.9c.3 0 .5.2.6.5v5.9c0 .2-.2.4-.5.4h-5.8c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.5.5-.5h2.2c.2 0 .4 0 .5-.1-.9-1.2-2.4-2-3.9-2-2.7 0-4.9 2.1-4.9 4.8s2.2 4.8 4.9 4.8c2.1 0 3.8-1.3 4.5-3.2 0 0 .1-.4.4-.4H18c.2 0 .4.2.4.4v.1z\"}},\nmacros:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M15.5 16.2c0 .1-.1.1-.3.1h-1.4c-.1 0-.2-.1-.2-.2l.1-.1v-.1l3.1-3.7c.1-.1.1-.3 0-.4L13.7 8c-.1-.1-.1-.1-.1-.2s.2-.2.2-.2h1.4c.2 0 .3.1.3.2l3.3 4c.1 0 .1.1.1.2s-.1.1-.1.2l-3.3 4zm-3.4 0c-.1.1-.2.1-.3.1h-1.4c-.1 0-.2-.1-.2-.2V16l.1-.1 3-3.7c.1-.1.2-.3.1-.4L10.2 8v-.2c0-.1.1-.2.2-.2h1.4c.1 0 .2.1.3.2l3.3 4v.4l-3.3 4zm-3.5 0c0 .1-.1.1-.2.1H5.7c-.1 0-.2-.1-.2-.2V16h.1v-.1l3.1-3.7c.1-.1.1-.3 0-.4L5.6 8c-.1-.1-.1-.1-.1-.2s.1-.2.2-.2h2.6c.1 0 .3.1.3.2l3.3 4c.1 0 .1.1.1.2s-.1.1-.1.2l-3.3 4z\"}},\nmaintenance_asset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M11.2 7.3c0 .1.1.2.2.2H18c.3 0 .7.1 1 .2.1.1.2 0 .2-.2 0-.7-.5-1.2-1.2-1.2h-7.2c-.1 0-.1 0-.1.1v.1l.5.8zM18 8.7h-6.8c-.4 0-.8-.2-1-.6L9.1 6.3c-.2-.4-.6-.6-1-.6H6c-.6 0-1.2.5-1.2 1.2v11c0 .7.5 1.2 1.2 1.2h12c.7 0 1.2-.5 1.2-1.2V10c0-.7-.5-1.2-1.2-1.3zm-3.1 8c-.3.3-.7.3-1 .1v-.1l-2.4-2.3c-.1 0-.3 0-.5.1-1 .1-1.9-.7-2-1.7v-.2-.5c.1 0 .1-.1.2-.1v.1l1 1c.1.1.3.1.3 0l.8-.7v-.3l-1.1-1v-.2h.1c.1-.1.3-.1.5-.1 1 0 1.8.8 1.8 1.9v.2c0 .1 0 .3-.1.4l2.4 2.4c.3.3.3.7.1 1-.1 0-.1.1-.1 0z\"}},\nmaintenance_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M15.8 8.2h1.9c.2 0 .4-.2.4-.4 0-.1-.1-.3-.1-.3l-2.8-2.7c0-.1-.1-.1-.2-.1-.2 0-.4.2-.4.4V7c0 .6.5 1.1 1.2 1.2zm1.6 1.6h-2.9c-.9 0-1.7-.7-1.7-1.7V5.2c0-.3-.2-.5-.5-.5H7.6c-1 0-1.7.7-1.8 1.7v11c0 .9.8 1.7 1.8 1.7h8.7c.9 0 1.7-.8 1.7-1.7v-7c0-.3-.2-.6-.6-.6zm-1.6 7.4c-.2.2-.4.3-.7.3-.3 0-.6-.1-.7-.3L11 13.9c-.2.1-.4.2-.6.2-1.4.2-2.7-.9-2.8-2.2-.1-.4 0-.8.1-1.1 0-.1.1-.1.2 0l1.4 1.4c.1.1.3.1.4 0l1.1-1c.1-.1.1-.3 0-.4L9.3 9.3v-.2h.1c.2-.1.5-.1.7-.1 1.4 0 2.5 1.1 2.6 2.5 0 .1 0 .2-.1.3 0 .3 0 .5-.1.7l3.3 3.3c.4.4.4 1 0 1.4z\"}},\nmarketing_actions:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.4 6.2c-1.2.1-2.2 1.1-2.3 2.3.1-1.2 1.1-2.2 2.3-2.3zm2.5 2.3c-.1-1.2-1-2.2-2.3-2.3 1.3.1 2.3 1.1 2.3 2.3zm1.4 4.7l-2.5-.9c-.2-.1-.3-.2-.3-.4V8.6c0-.5-.4-.9-.9-.9h-.1c-.5 0-.9.4-.9.9V15c0 .6-.7.8-1 .3L9 14c-.4-.6-1.1-.7-1.7-.3L7 14l2 4.9c.1.2.3.3.6.3H15c.2 0 .5-.2.5-.4l1-3.5c.2-.9-.3-1.8-1.2-2.1zm-6.2-2.1V8.5c.1-1.2 1.1-2.2 2.3-2.3h.2c1.3.1 2.2 1.1 2.3 2.3v2.6c0 .2.3.3.4.2.7-.7 1.1-1.7 1.1-2.7 0-2.2-2-4-4.2-3.8C9.4 5 8 6.3 7.7 8c-.2 1.2.2 2.4 1 3.3.2.1.4 0 .4-.2z\"}},\nmerge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.9 17.4c-1.7-.8-2.9-2.3-3.5-3.9-.2-.6-.3-1.3-.4-1.9v-1.1h3.2c.3 0 .5-.3.3-.5l-4.3-5.1c-.1-.2-.4-.2-.6 0L7.5 10c-.2.2 0 .5.2.5H11v1.1c-.1.6-.2 1.3-.4 1.9-.7 1.6-1.8 3.1-3.5 3.9-.3.1-.4.4-.3.6l.4.9c.1.3.4.4.7.2 1.8-.8 3.2-2.2 4.1-3.9.9 1.7 2.3 3.1 4.2 3.9.2.1.5.1.6-.2l.4-.9c.1-.2 0-.5-.3-.6z\"}},\nmessaging_conversation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.1 17.1c2.6-.9 4.1-2.5 4.5-4.7 1.1.5 1.8 1.6 1.8 2.8 0 .6-.1 1.1-.3 1.5l.4 1.3c.1.3-.2.6-.5.5l-1.3-.5c-.5.3-1.1.5-1.7.5-1.2 0-2.2-.6-2.9-1.4zM10.6 5.3c3.2 0 5.8 2.4 5.8 5.4 0 3-2.6 5.4-5.8 5.4-1.1 0-2.2-.3-3-.8-.1-.1-.3-.1-.4-.1l-1.7.6c-.3.1-.6-.1-.5-.5l.6-1.7c0-.1 0-.2-.1-.3-.4-.8-.7-1.7-.7-2.6 0-3 2.6-5.4 5.8-5.4zM7.7 8.9c-.3 0-.5.2-.5.5v.4c0 .3.2.5.5.5h6.2c.3 0 .5-.2.5-.5v-.4c0-.3-.2-.5-.5-.5H7.7zm0 2.6c-.3 0-.5.2-.5.5v.5c0 .2.2.5.5.5H11c.3 0 .5-.3.5-.5V12c0-.3-.2-.5-.5-.5H7.7z\"}},\nmessaging_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 5.3c4 0 7.2 3 7.2 6.7S16 18.7 12 18.7c-1.4 0-2.7-.3-3.8-1-.1-.1-.2-.1-.4 0l-2.1.7c-.4.1-.7-.2-.6-.6l.7-2.1c0-.1 0-.3-.1-.4-.6-1-.9-2.1-.9-3.3C4.8 8.3 8 5.3 12 5.3zm3.1 5.5c.2 0 .3-.1.3-.2V9.1c0-.1-.1-.2-.3-.2H8.9c-.2 0-.3.1-.3.2v1.5c0 .1.1.2.3.2h6.2zm-4.8 4.8c.2 0 .3-.1.3-.2v-2.9c0-.2-.1-.3-.3-.3H8.9c-.2 0-.3.1-.3.3v2.9c0 .1.1.2.3.2h1.4zm4.8 0c.2 0 .3-.1.3-.2v-2.9c0-.2-.1-.3-.3-.3h-2.9c-.1 0-.2.1-.2.3v2.9c0 .1.1.2.2.2h2.9z\"}},\nmessaging_user:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 5.3c4 0 7.2 3 7.2 6.7S16 18.7 12 18.7c-1.4 0-2.7-.3-3.8-1-.1-.1-.2-.1-.4 0l-2.1.7c-.4.1-.7-.2-.6-.6l.7-2.1c0-.1 0-.3-.1-.4-.6-1-.9-2.1-.9-3.3C4.8 8.3 8 5.3 12 5.3zm2.1 10.1c.5 0 .8-.5.8-1 0-.8-.8-1.2-1.6-1.6-.6-.2-.6-.4-.6-.6 0-.3.1-.5.3-.7.4-.3.5-.7.5-1.2 0-.9-.5-1.7-1.5-1.7s-1.5.8-1.5 1.7c0 .5.2.9.5 1.2.2.2.3.4.3.7 0 .2-.1.4-.6.7-.8.3-1.6.7-1.6 1.5 0 .5.4 1 .8 1h4.2z\"}},\nmetrics:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.3 5.3H6.7c-.8 0-1.4.6-1.4 1.4v10.6c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V6.7c0-.8-.6-1.4-1.4-1.4zM9.1 15.8c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-2.6c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v2.6zm2.4 0c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5V9.6c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v6.2zm2.4 0c0 .3-.2.5-.5.5H13c-.3 0-.5-.2-.5-.5V8.2c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v7.6zm2.4 0c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-4.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v4.5z\"}},\nmulti_picklist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 4.8H9.8c-.8 0-1.4.6-1.4 1.4v.3c0 .1.1.2.2.2h7c.8 0 1.4.7 1.4 1.5v7.4c0 .1.1.2.3.2h.2c.8 0 1.5-.6 1.5-1.4V6.2c0-.8-.7-1.4-1.5-1.4zm-3.3 3.4H6.5c-.8 0-1.5.6-1.5 1.4v8.2c0 .8.7 1.4 1.5 1.4h7.7c.8 0 1.4-.6 1.4-1.4V9.6c0-.8-.6-1.4-1.4-1.4zm-5.8 8.6c0 .3-.2.5-.5.5h-.5c-.2 0-.4-.2-.4-.5v-.5c0-.2.2-.5.4-.5h.5c.3 0 .5.3.5.5v.5zm0-2.9c0 .3-.2.5-.5.5h-.5c-.2 0-.4-.2-.4-.5v-.5c0-.2.2-.4.4-.4h.5c.3 0 .5.2.5.4v.5zm0-2.9c0 .3-.2.5-.5.5h-.5c-.2 0-.4-.2-.4-.5v-.4c0-.3.2-.5.4-.5h.5c.3 0 .5.2.5.5v.4zm5.3 5.8c0 .3-.2.5-.5.5H9.9c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.5.5-.5h3.3c.3 0 .5.3.5.5v.5zm0-2.9c0 .3-.2.5-.5.5H9.9c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h3.3c.3 0 .5.2.5.4v.5zm0-2.9c0 .3-.2.5-.5.5H9.9c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h3.3c.3 0 .5.2.5.5v.4z\"}},\nmulti_select_checkbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 4.8H9.8c-.8 0-1.4.6-1.4 1.4v.3c0 .1.1.2.2.2h7c.8 0 1.4.7 1.4 1.5v7.4c0 .1.1.2.3.2h.2c.8 0 1.5-.6 1.5-1.4V6.2c0-.8-.7-1.4-1.5-1.4zm-3.3 3.4H6.5c-.8 0-1.5.6-1.5 1.4v8.2c0 .8.7 1.4 1.5 1.4h7.7c.8 0 1.4-.6 1.4-1.4V9.6c0-.8-.6-1.4-1.4-1.4zm-.7 4l-3.7 3.7c-.1.2-.3.2-.5.2-.1 0-.3 0-.5-.2l-1.7-1.8c-.2-.1-.2-.3 0-.5l.5-.5c.1-.1.3-.1.5 0l1.2 1.3 3.2-3.2c.1-.1.4-.1.5 0l.5.5c.1.2.1.4 0 .5z\"}},\nnews:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.8 6.5H7.4c-.2 0-.4.1-.4.4v8.4c0 .3-.3.6-.6.6-.3-.1-.5-.3-.5-.6V9.2c0-.1-.1-.2-.3-.2h-.4c-.2 0-.4.1-.4.4v7c0 .6.5 1.1 1.1 1.1h12.2c.6 0 1.1-.5 1.1-1.1V6.9c0-.3-.2-.4-.4-.4zm-6.2 8c0 .2-.2.3-.3.3H9c-.2 0-.3-.1-.3-.3v-.6c0-.1.1-.2.3-.2h3.3c.1 0 .3.1.3.2v.6zm0-2.2c0 .2-.2.3-.3.3H9c-.2 0-.3-.1-.3-.3v-.6c0-.1.1-.3.3-.3h3.3c.1 0 .3.2.3.3v.6zm4.9 2.2c0 .2-.1.3-.2.3h-3.4c-.1 0-.2-.1-.2-.3v-.6c0-.1.1-.2.2-.2h3.4c.1 0 .2.1.2.2v.6zm0-2.2c0 .2-.1.3-.2.3h-3.4c-.1 0-.2-.1-.2-.3v-.6c0-.1.1-.3.2-.3h3.4c.1 0 .2.2.2.3v.6zm0-2.2c0 .1-.1.2-.2.2H9c-.2 0-.3-.1-.3-.2V8.4c0-.2.1-.3.3-.3h8.3c.1 0 .2.1.2.3v1.7z\"}},\nnote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.1 16.1l-.3.2c-.2.3-.6.5-1.1.5H15c-.8 0-1.6-.6-1.6-1.6v-.7c0-.6.3-1 .5-1.2l3.2-3.2c.1-.1.2-.3.2-.4V7.2c0-.8-.7-1.4-1.5-1.4H8.2c-.8 0-1.5.7-1.5 1.4h-.5c-.5 0-.9.4-.9 1s.4.9.9.9h.5V11h-.5c-.5 0-.9.5-.9 1s.4 1 .9 1h.5v1.9h-.5c-.5 0-.9.4-.9.9s.4 1 .9 1h.5c0 1 .7 1.4 1.5 1.4h7.6c.8 0 1.5-.6 1.5-1.4v-.6c0-.2-.1-.2-.2-.1zm-2.5-6.7c0 .2-.2.4-.4.4H9.4c-.3 0-.5-.2-.5-.4v-.5c0-.3.2-.5.5-.5h4.8c.2 0 .4.2.4.5v.5zm-2.1 5.7c0 .3-.2.5-.5.5H9.4c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4H12c.3 0 .5.2.5.4v.5zm.7-2.9c0 .3-.2.5-.5.5H9.4c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h3.3c.3 0 .5.2.5.5v.4zm6.3-1.3l-.3-.2c-.1-.2-.4-.2-.6 0l-3.7 3.7v.8c0 .1 0 .2.1.2h.7c.1 0 .1-.1.1-.1l3.7-3.7c.2-.2.2-.5 0-.7z\"}},\nnumber_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 19.2H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4v11.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.3.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.2 0-.5.2-.5.5zm8.4 3.1h-.9l.4-1.5c0-.1 0-.1-.1-.1h-.7s-.1 0-.1.1l-.4 1.5h-1.8l.4-1.5c0-.1 0-.1-.1-.1h-.7c-.1 0-.1 0-.1.1l-.4 1.5h-1-.1l-.2.7c0 .1.1.2.1.2h1l-.5 1.7h-1l-.2.7c0 .1 0 .2.1.2h.9l-.4 1.4v.1l.1.1h.7c.1 0 .1 0 .1-.1l.4-1.5h1.8l-.4 1.4c0 .1 0 .1.1.1h.7c.1 0 .1 0 .1-.1l.4-1.5h1c.1 0 .1 0 .1-.1l.2-.7-.1-.1h-.9l.4-1.7h.9c.1 0 .1 0 .1-.1l.2-.7h-.1zm-2.5 2.6h-1.7l.4-1.7h1.8l-.5 1.7z\"}},\nomni_supervisor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.1 6.9c-1.5.7-2.3 2.2-2.4 4.6h2.4c.3-.8 1-1.4 1.9-1.4 1.1 0 1.9.8 1.9 1.9s-.8 1.9-1.9 1.9c-.9 0-1.6-.6-1.9-1.4h-2.4c.1 2.4.9 3.9 2.4 4.6.2-.9 1-1.5 1.9-1.5 1.1 0 1.9.9 1.9 1.9s-.8 1.9-1.9 1.9c-.9 0-1.6-.5-1.8-1.3-2.2-.7-3.4-2.6-3.5-5.6h-1.4c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h1.4c.1-3 1.3-4.9 3.5-5.6.2-.8.9-1.3 1.8-1.3 1.1 0 1.9.8 1.9 1.9s-.8 1.9-1.9 1.9c-.9 0-1.7-.6-1.9-1.5zm1.9.5c.5 0 1-.4 1-.9s-.5-1-1-1-1 .4-1 1 .5.9 1 .9zm0 11.1c.5 0 1-.4 1-1s-.5-.9-1-.9-1 .4-1 .9.5 1 1 1zm0-5.5c.5 0 1-.5 1-1s-.5-1-1-1-1 .5-1 1 .5 1 1 1zm-7.2 3.3H5.4c-.6 0-1.1-.6-1.1-1.2.1-1 1.1-1.5 2.1-1.9.7-.3.8-.6.8-.9 0-.3-.2-.6-.4-.8-.4-.4-.7-1-.7-1.6 0-1.2.8-2.2 2-2.2 1.3 0 2 1 2 2.2 0 .6-.2 1.2-.6 1.6-.3.2-.4.5-.4.8 0 .3.1.6.8.9 1 .4 2 .9 2.1 1.9-.1.6-.6 1.2-1.2 1.2z\"}},\noperating_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M12.7 12a.3.3 0 0 1-.1-.2v-2a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v2.5a.4.4 0 0 0 .1.3l1.5 1.5a.3.3 0 0 0 .5 0l.4-.4a.3.3 0 0 0 0-.5zM12 6.9a5.1 5.1 0 1 0 5.1 5.1A5.1 5.1 0 0 0 12 6.9zm0 8.9a3.8 3.8 0 1 1 3.8-3.8 3.8 3.8 0 0 1-3.8 3.8zm-5.1-1.4a3.8 3.8 0 0 1 0-4.8l-.8-1a5 5 0 0 0 0 6.7zm10.2-4.8a3.8 3.8 0 0 1 0 4.8l.8 1a5 5 0 0 0 0-6.7z\",\"fill-rule\":\"evenodd\"}},\nopportunity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.1 16.6H6.9c-.2 0-.4.2-.4.4 0 .8.6 1.5 1.4 1.5h8.2c.8 0 1.4-.7 1.4-1.5 0-.2-.2-.4-.4-.4zm1.1-9.9c-.8 0-1.4.7-1.4 1.5 0 .4.2.8.5 1.1-.4.9-1.3 1.5-2.4 1.5-1.3-.1-2.3-1.1-2.4-2.4v-.6c.6-.2.9-.7.9-1.3 0-.8-.6-1.5-1.4-1.5s-1.4.7-1.4 1.5c0 .6.3 1.1.9 1.3v.6c-.1 1.3-1.1 2.3-2.4 2.4-1.1.1-2-.6-2.4-1.5.3-.3.5-.7.5-1.1 0-.8-.6-1.5-1.4-1.5s-1.5.7-1.5 1.5.7 1.4 1.5 1.4l.6 5.1c.1.3.2.4.5.4h10.2c.2 0 .4-.1.5-.4l.6-5.1c.8 0 1.5-.6 1.5-1.4s-.7-1.5-1.5-1.5z\"}},\nopportunity_contact_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.6 11.4c-2 0-3.6 1.6-3.6 3.6 0 1.9 1.6 3.6 3.6 3.6s3.6-1.6 3.6-3.6-1.7-3.6-3.6-3.6zm1.7 3.1l-.6.7c-.1.1-.1.1-.1.2l.1 1c.1.3-.2.1-.2.1l-.8-.4c-.1-.1-.2 0-.2 0l-.9.4c-.2.1-.2 0-.2-.1l.2-.9c0-.2-.1-.3-.1-.3l-.6-.6-.1-.1s-.1-.1.2-.2l.8-.1c.1 0 .2-.1.2-.1l.5-1s.1-.1.2.1l.5.9s0 .1.1.1h.1l.9.1s.2.1 0 .2zm-5.6 4c.3 0 .4-.3.3-.5-.8-.8-1.2-1.9-1.2-3.1 0-.8.2-1.7.7-2.4.5-.9 1.1-1.2 1.5-1.9.8-1.1.9-2.7.4-3.9-.5-1.2-1.6-1.9-2.9-1.9s-2.4.8-2.8 2c-.5 1.4-.3 3 .8 4 .5.4.8 1.1.6 1.7 0 .1-.2.3-.5.5-1.4.6-2.8 1.3-3.4 2.3-.1.2-.4.7-.4 1.3v.6c0 .1 0 .1.1.2 0 .4.3.7.6.9.2.1.5.2 1.2.2h5z\"}},\nopportunity_splits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M16.6 6.5c-1.2-1.1-2.8-1.7-4.6-1.7C8 4.8 4.8 8 4.8 12c0 1.8.6 3.4 1.7 4.6L16.6 6.5zM8.2 18.1c1.1.7 2.4 1.1 3.8 1.1 4 0 7.2-3.2 7.2-7.2 0-1.4-.4-2.7-1.1-3.8l-9.9 9.9z\"}},\norder_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.1 12.5l6.4 3c.3.1.7.1 1 0l6.4-3c.4-.2.4-.7 0-.9l-6.4-3.1c-.3-.1-.7-.1-1 0l-6.4 3.1c-.4.2-.4.7 0 .9z\"}},\norders:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.9 14.9l-.9-.4c-.1-.1-.2-.1-.4 0l-5.1 2.4c-.3.2-.7.2-1 0l-5.1-2.4c-.2-.1-.3-.1-.4 0l-.9.4c-.4.2-.4.7 0 .9l6.4 3c.3.2.7.2 1 0l6.4-3c.4-.2.4-.7 0-.9zm0-3.4l-.9-.4h-.4l-5.1 2.5c-.3.1-.7.1-1 0l-5.1-2.5H6l-.9.4c-.4.2-.4.7 0 .9l6.4 3.1c.3.1.7.1 1 0l6.4-3c.4-.2.4-.8 0-1zM5.1 9.1l6.4 3c.3.2.7.2 1 0l6.4-3c.4-.2.4-.7 0-.9l-6.4-3.1c-.3-.1-.7-.1-1 0L5.1 8.2c-.4.2-.4.7 0 .9z\"}},\noutcome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15 7.7v-.1c-.2-.2-.5-.1-.6.1l-.7.6c-.2.2-.2.5 0 .6l1.7 1.7c.1 0 .1.1.1.2 0 .2-.1.3-.3.3H8.8c-.2 0-.4.2-.4.4v1c0 .2.2.4.4.4h6.4c.1 0 .1.1.2.1.1.1.2.3 0 .4l-1.6 1.7h-.1c-.1.2-.1.5.1.6l.6.7c.2.2.5.2.6 0l4.1-4.1c.1-.2.1-.4 0-.6l-4.1-4zm-4.5 1.6h.9c.2 0 .4-.2.4-.4V6c0-.7-.5-1.2-1.2-1.2H6c-.7 0-1.2.5-1.2 1.2v12c0 .7.5 1.2 1.2 1.2h4.6c.7 0 1.2-.5 1.2-1.2v-2.8c0-.3-.2-.5-.4-.5h-.9c-.3 0-.5.2-.5.5v1.7c0 .3-.2.5-.4.5H7.1c-.3 0-.5-.2-.5-.5V7.1c0-.3.2-.5.5-.5h2.5c.2 0 .4.2.4.5v1.8c0 .2.2.4.5.4z\"}},\noutput:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5 12.9h10c.2 0 .3.3.2.5l-2.9 2.9c-.2.2-.2.5 0 .6l.7.7c.2.2.4.2.6 0l5.2-5.3c.2-.2.2-.4 0-.6l-5.2-5.3c-.2-.2-.5-.2-.7 0l-.6.6c-.2.2-.2.5 0 .7l2.9 2.8c.2.3.1.6-.2.6H5c-.2 0-.4.2-.4.4v.9c0 .3.2.5.4.5z\"}},\npartner_fund_allocation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.4 15.7l-1.9 2.1c-.1.1-.2 0-.2-.1v-.9c0-.1-.1-.3-.2-.3h-.4c-.1 0-.2.2-.2.3V19c0 .2.1.2.2.2H7c.1 0 .2 0 .2-.2v-.3c0-.1-.1-.2-.2-.2H6c-.1 0-.1-.1 0-.2l2.4-2.6h-1zm10.1 2.6c.1.1.1.2-.1.2h-.9c-.1 0-.2.1-.2.2v.3c0 .1.1.2.2.2h2.3c.1 0 .1 0 .1-.1v-2.3c0-.1 0-.2-.1-.2h-.4c-.1 0-.2.1-.2.2v.9c0 .1-.1.2-.2.1l-1.1-1c-.3.1-.6.1-.8.2l1.4 1.3zm-1-8.6C12.9 10.8 10 7.4 6 9c-.3.1-.5.4-.5.8v4.1c0 .6.5.9 1 .8 4-1.2 6.8 2.2 10.6.7.3-.2.5-.4.5-.8v-4.1c0-.5-.6-.9-1.1-.8zm-4.8 3.9c-.9 0-1.6-.7-1.6-1.6s.7-1.5 1.6-1.5 1.5.7 1.5 1.5-.7 1.6-1.5 1.6zm-.1-7.2c0-.1-.1-.2-.2-.1l-.6.7c-.1.1-.3 0-.3 0l-.3-.3v-.2l1.7-1.7h.2l1.6 1.7c.1 0 .1.1.1.2l-.3.3h-.3l-.6-.7c-.1-.1-.2 0-.2.1v1.7l-.8-.2V6.4z\"}},\npartner_fund_claim:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.6 8.2h2.2c.2 0 .3-.2.3-.4v-.2l-2.9-2.7c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.2c0 .5.4.9.9.9zm-4.3 7.4c0-.8.4-1.6 1.2-1.9.6-.2 1.3-.4 1.9-.4 1 0 1.8.3 2.6.5.4.1.7.3 1.1.3l.1-4.3c0-.2-.2-.4-.5-.4h-3c-.7 0-1.2-.6-1.2-1.2v-3c0-.2-.2-.4-.5-.4H6.8c-.7 0-1.3.6-1.3 1.2v10.1c0 .7.6 1.3 1.3 1.3h2.5v-1.8zm8.1 0c-2.2.6-3.9-1.4-6.3-.4-.2 0-.3.2-.3.4v2.5c0 .3.3.5.6.4 2.4-.7 4.1 1.4 6.3.4.2 0 .3-.2.3-.4V16c0-.3-.3-.5-.6-.4zm-2.9 2.3c-.5 0-1-.4-1-.9s.4-1 1-1 .9.4.9 1-.4.9-.9.9z\"}},\npartner_fund_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.5 14c.9-.5 1.7-.8 2.7-.8.2 0 .5.1.7.1.1 0 .2 0 0-.1-.4-.3-.9-.5-1.4-.7-1.1-.5-1.2-.8-1.2-1.3 0-.4.3-.8.6-1.1.6-.5.9-1.3.9-2.2 0-1.6-1-3.1-2.8-3.1S7.1 6.3 7.1 7.9c0 .9.3 1.7.9 2.2.4.3.7.7.7 1.1 0 .4-.2.8-1.2 1.3-1.5.6-2.9 1.3-2.9 2.7 0 .9.6 1.7 1.5 1.7h3.4c.2 0 .5-.2.5-.5v-1.6c0-.3.2-.6.5-.8zm7.8 1.4c-2.2.7-4-1.4-6.5-.4-.2.1-.3.2-.3.5V18c0 .4.3.6.6.5 2.4-.8 4.2 1.4 6.5.4.2-.1.4-.2.4-.4v-2.6c0-.3-.4-.6-.7-.5zm-3 2.4c-.5 0-1-.4-1-.9s.5-1 1-1 .9.4.9 1-.4.9-.9.9z\"}},\npartner_marketing_budget:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.7 9.1c-4.4 1.3-7.8-2.8-12.6-.9-.3.2-.5.5-.5.9v5c0 .6.5 1.1 1.1.9 4.7-1.5 8.2 2.7 12.6.8.4-.1.6-.4.6-.9V10c.1-.6-.6-1.1-1.2-.9zm-5.8 4.6c-1 0-1.8-.8-1.8-1.8s.8-1.9 1.8-1.9 1.9.9 1.9 1.9-.9 1.8-1.9 1.8z\"}},\npartners:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.5 7.6H17c-.3 0-.6-.1-.8-.4L15 6.3c-.2-.2-.5-.4-.8-.4h-2.8c-.4 0-.7.2-1 .4L8.9 7.6c-.1.1-.1.2 0 .4l.4.4c.3.2.8.3 1.1.1l1.3-.8c.2-.1.4-.1.5.1l4.2 4c.1.1.2.2.2.4v1c0 .3.2.6.4.6h1.5c.2 0 .5-.2.5-.5V8.1c0-.3-.3-.5-.5-.5zm-4.1 4.3l-2.6-2.5-.7.4c-.4.3-.8.4-1.2.4-.5 0-1-.2-1.4-.6l-1-.7c-.2-.2-.3-.4-.3-.6-.1-.3-.3-.5-.5-.5H5c-.2 0-.4.2-.4.5v4.3c0 .3.2.5.4.5h1c.1 0 .2-.2.3-.4.3-.4.9-.7 1.4-.8.6 0 1.2.2 1.6.6l3 2.7c.3.3.5.5.6.9.1.1.3.2.4.1l1.1-1.2c.6-.6 1-1.9.5-2.5l-.5-.6zm-6 1.8c-.3-.3-.8-.2-1 .1-.3.3-.2.8.1 1.1l3 2.7c.1.2.3.2.5.2s.4-.1.5-.3c.2-.3.2-.8-.1-1.1l-3-2.7zm10.5 4.4\"}},\npassword:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 19.2H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4v11.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.3.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.2 0-.5.2-.5.5zm9.2 4.2l-.3-1c0-.2-.3-.3-.6-.3l-2.1.7V8.7c0-.2-.2-.4-.4-.4h-1c-.3 0-.5.2-.5.4v2.1l-2-.7c-.3 0-.6.1-.6.3l-.3 1c-.1.2.1.5.3.6l1.9.6-1.4 1.8c-.1.3-.1.6.1.7l.8.6c.3.1.6.1.7-.1l1.5-2.1 1.5 2.1c.2.2.5.2.7.1l.8-.6c.2-.1.3-.4.1-.7l-1.3-1.8 1.8-.6c.2-.1.4-.4.3-.6z\"}},\npast_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M11.9 5.3c-4 0-7.2 2.9-7.2 6.5 0 1.2.3 2.3.8 3.2.1.2.2.4.1.5l-.9 2.6c-.1.2.1.5.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 3.9 0 7.1-2.9 7.1-6.6 0-3.7-3.2-6.6-7.2-6.6zm2.8 9.7l-.3.3c-.2.2-.4.2-.6.2s-.3 0-.5-.2L11 13c-.1-.1-.2-.4-.2-.7V9c0-.4.3-.7.7-.7h.5c.4 0 .7.3.7.7v3l2 2c.1.1.2.3.2.5s-.1.3-.2.5z\"}},\npeople:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 17.1v.7c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4v-.7c0-1.8 2-2.8 4-3.7 0 0 .1 0 .2-.1.1 0 .3 0 .4.1.8.5 1.7.8 2.6.8.9 0 1.8-.3 2.6-.8.1-.1.3-.1.4 0 .1 0 .2 0 .2.1 2 .8 4 1.8 4 3.6z\"},\"ellipse\":{\"cx\":\"12\",\"cy\":\"8.76\",\"rx\":\"3.576\",\"ry\":\"3.96\"}},\nperformance:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.2 4.8h-.5c-.8 0-1.4.7-1.4 1.4v11.6c0 .7.6 1.4 1.4 1.4h.5c.3 0 .5-.2.5-.5V5.3c0-.3-.2-.5-.5-.5zm10.1 0H9.6c-.3 0-.5.2-.5.5v13.4c0 .3.2.5.5.5h7.7c.8 0 1.4-.6 1.4-1.4V6.2c0-.8-.6-1.4-1.4-1.4zm-.5 6.4l-1.3 1.3v.1l.2 1.8c.1.2-.1.3-.2.2l-1.5-.8c-.1-.1-.1-.1-.2 0l-1.5.8c-.2.1-.3 0-.3-.2l.3-1.8v-.1L11 11.2c-.1-.1 0-.2.1-.2l1.7-.3c.1 0 .1 0 .2-.1l.7-1.6c.1-.2.2-.2.3 0l.8 1.6c0 .1 0 .1.1.1l1.7.3c.2 0 .2.1.2.2z\"}},\nperson_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M16.7 14.2c-.9-.4-1-.7-1-1.1 0-.4.2-.7.5-1 .5-.4.8-1.1.8-1.8 0-1.4-.9-2.6-2.5-2.6s-2.4 1.2-2.4 2.6c0 .7.3 1.4.8 1.8.3.3.5.6.5 1s-.1.7-1 1.1c-1.3.5-2.5 1.2-2.5 2.3 0 .8.6 1.5 1.3 1.5h6.7c.7 0 1.3-.7 1.3-1.5 0-1.1-1.2-1.8-2.5-2.3zm-5.8 1.1\"},{\"d\":\"M11.2 12.3c-.1-.1-.6-.7-.5-2.3 0-1.6.7-2 .7-2V6.5c0-.3-.3-.5-.5-.5H5.3s-.5.2-.5.5v10.4H8c.1-2.6 3.2-3.7 3.2-3.7.4-.2.1-.7 0-.9zm-3.8 3.3c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.3 0 .5.2.5.4v.5zm0-2.4c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.4zm0-2.3c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.4c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V8c0-.2.2-.5.5-.5h.5c.3 0 .5.3.5.5v.5zm2.7 4.7c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.4zm0-2.3c0 .2-.3.5-.5.5h-.5c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5zm0-2.4c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V8c0-.2.2-.5.5-.5h.5c.2 0 .5.3.5.5v.5z\"}]},\nphoto:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.6 7.4h6.8c.2 0 .3-.2.2-.3l-.8-1.2c-.3-.5-.8-.8-1.3-.8h-3c-.5 0-1 .3-1.3.8l-.8 1.2c-.1.1 0 .3.2.3zm3.4 4.4c-1.1 0-1.9.8-1.9 1.9s.8 1.9 1.9 1.9 1.9-.9 1.9-1.9-.8-1.9-1.9-1.9zm5.8-2.9H6.2c-.8 0-1.4.6-1.4 1.4V17c0 .8.6 1.5 1.4 1.5h11.6c.8 0 1.4-.7 1.4-1.5v-6.7c0-.8-.6-1.4-1.4-1.4zM12 17c-1.8 0-3.4-1.5-3.4-3.3s1.6-3.4 3.4-3.4 3.4 1.5 3.4 3.4S13.8 17 12 17z\"}},\npicklist_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.2 14.3h-.9c-.3 0-.5.2-.5.5v1c0 .2.2.4.5.4h1c.2 0 .4-.2.4-.4v-1c0-.3-.2-.5-.5-.5zm2.9-6.6h9.6c.3 0 .5-.2.5-.5v-1c0-.2-.2-.4-.5-.4H9.1c-.2 0-.5.2-.5.4v1c0 .3.3.5.5.5zm0 4.3h9.6c.3 0 .5-.2.5-.5v-1c0-.2-.2-.4-.5-.4H9.1c-.2 0-.5.2-.5.4v1c0 .3.3.5.5.5zM6.2 5.7h-.9c-.3 0-.5.3-.5.5v1c0 .2.2.5.5.5h1c.2-.1.4-.3.4-.5v-1c0-.2-.2-.5-.5-.5zm0 4.3h-.9c-.3 0-.5.2-.5.5v1c0 .2.2.5.5.5h1c.2-.1.4-.3.4-.5v-1c0-.3-.2-.5-.5-.5zm4.3 6.2c0-.6.2-1.1.5-1.6v-.3H9.1c-.2 0-.5.2-.5.5v1c0 .2.3.4.5.4h1.4zm4.3-2.6c.2-.2.6-.4 1-.4.5 0 .9.3 1.1.7.2-.1.5-.1.7-.1.9 0 1.6.7 1.6 1.6 0 .8-.7 1.6-1.6 1.6-.1 0-.2 0-.3-.1-.2.4-.6.6-1 .6-.2 0-.4 0-.6-.1-.2.5-.7.8-1.2.8-.6 0-1.1-.3-1.3-.8H13c-.7 0-1.3-.6-1.3-1.2 0-.5.2-.9.6-1.1-.1-.2-.1-.4-.1-.6 0-.8.7-1.4 1.5-1.4.4 0 .8.2 1.1.5z\"}},\npicklist_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.7 8.6H9.1c-.2 0-.5-.2-.5-.4v-1c0-.3.3-.5.5-.5h9.6c.3 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm0 4.4H9.1c-.2 0-.5-.3-.5-.5v-1c0-.2.3-.5.5-.5h9.6c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5zM6.2 13h-.9c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5h.9c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5zm0-4.4h-.9c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm0 8.7h-.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v1c0 .3-.2.5-.5.5zm12.5 0H9.1c-.2 0-.5-.2-.5-.5v-1c0-.2.3-.4.5-.4h9.6c.3 0 .5.2.5.4v1c0 .3-.2.5-.5.5z\"}},\nplanogram:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M18.6 17.2h-.8v-4.3c0-.3-.2-.4-.4-.4h-4.5c-.2 0-.4.1-.4.4v4.2h-1.2v-4.2c0-.3-.2-.4-.4-.4H6.4c-.2 0-.4.1-.4.4v4.2h-.8c-.3 0-.5.3-.5.5v1c0 .2.2.5.5.5h13.4c.2 0 .4-.3.4-.5v-1c.1-.2-.2-.4-.4-.4zm-5-3.6h3.1v1h-3.1v-1zm-6.5 0h3.1v1H7.1v-1zm11.5-4.2h-.8V5.1c0-.3-.2-.4-.4-.4h-4.5c-.2 0-.4.1-.4.4v4.3h-1.2V5.1c0-.3-.2-.4-.4-.4H6.4c-.2 0-.4.1-.4.4v4.3h-.8c-.3 0-.5.2-.5.4v1c0 .3.2.5.5.5h13.4c.2 0 .4-.2.4-.5v-1c.1-.2-.2-.4-.4-.4zm-5-3.6h3.1v1h-3.1v-1zm-6.5 0h3.1v1H7.1v-1z\"}},\npoll:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.2 4.8H5.8c-.6 0-1 .4-1 1v1.9c0 .5.4.9 1 .9h12.4c.6 0 1-.4 1-.9V5.8c0-.6-.4-1-1-1zm-6 2.9V5.8h6v1.9h-6zm6 2.4H5.8c-.6 0-1 .4-1 .9v2c0 .5.4.9 1 .9h12.4c.6 0 1-.4 1-.9v-2c0-.5-.4-.9-1-.9zM10.1 13v-2h8.1v2h-8.1zm8.1 2.4H5.8c-.6 0-1 .4-1 .9v1.9c0 .6.4 1 1 1h12.4c.6 0 1-.4 1-1v-1.9c0-.5-.4-.9-1-.9zm-3.8 2.8v-1.9h3.8v1.9h-3.8z\"}},\nportal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.3 5.3H6.7c-.8 0-1.4.6-1.4 1.4v10.6c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V6.7c0-.8-.6-1.4-1.4-1.4zM14.2 15c0 .3-.2.6-.5.6h-3.4c-.3 0-.5-.3-.4-.6l.7-2.6c-.7-.5-1.1-1.5-1-2.5.2-1 1-1.7 1.9-1.9 1.6-.3 2.9.9 2.9 2.4 0 .8-.4 1.5-1 2l.8 2.6z\"}},\nportal_roles:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm-6.3 1.8c0-.2.2-.4.4-.4h5.6c.2 0 .3.2.3.4v.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.3-.2-.3-.4v-.7zm-1.9-.4c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.3-.8.8-.8zM7 6.2c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.4-.8.8-.8zm10.8 11.2c0 .2-.2.4-.4.4H6.6c-.2 0-.4-.2-.4-.4V9.5c0-.2.2-.4.4-.4h10.8c.2 0 .4.2.4.4v7.9zm-1.5-4.8c0 .2-.2.4-.5.4H14c-.2 0-.5-.2-.5-.4v-.8c0-.2.3-.4.5-.4h1.8c.3 0 .5.2.5.4v.8zm0 2.6c0 .3-.2.5-.5.5H14c-.2 0-.5-.2-.5-.5v-.7c0-.3.3-.5.5-.5h1.8c.3 0 .5.2.5.5v.7zm-4.5-3.8H8.1c-.2 0-.4.1-.4.3v3.6c0 .2.1.4.3.4h3.7c.2 0 .4-.2.4-.4v-3.6c0-.2-.1-.3-.3-.3zm-1 3.5H9c-.2 0-.4-.2-.4-.4 0-.3.4-.5.7-.7.3-.1.3-.2.3-.3s-.1-.2-.2-.3c-.1-.1-.2-.3-.2-.5 0-.4.3-.7.7-.7.4 0 .7.3.7.7 0 .2-.1.4-.3.5 0 .1-.1.2-.1.3s0 .2.3.3c.3.1.6.4.6.7.1.2-.1.4-.3.4z\"}},\nportal_roles_and_subordinates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.3 11.8c0 .2-.2.5-.5.5h-4.4c-.3 0-.5-.3-.5-.5v-.7c0-.3.2-.5.5-.5h4.4c.3 0 .5.2.5.5v.7zm-6.8 0c0 .2-.3.5-.5.5h-.8c-.3 0-.5-.3-.5-.5v-.7c0-.3.2-.5.5-.5H9c.2 0 .5.2.5.5v.7zm8.2-7H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm-6.3 1.8c0-.2.2-.4.4-.4h5.6c.2 0 .3.2.3.4v.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.3-.2-.3-.4v-.7zm-1.9-.4c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.3-.8.8-.8zM7 6.2c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.4-.8.8-.8zm10.8 11.2c0 .2-.2.4-.4.4h-1.1v-3.6c0-.3-.2-.5-.5-.5H8.2c-.3 0-.5.2-.5.5v3.6H6.6c-.2 0-.4-.2-.4-.4V9.5c0-.2.2-.4.4-.4h10.8c.2 0 .4.2.4.4v7.9z\"}},\npost:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.8 5.2c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3.1.4l-.7 2.1c-.1.4.2.8.6.6l2.1-.7c.2-.1.3 0 .4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7s-3.2-6.7-7.2-6.7z\"}},\npricebook:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.2 4.8h-9c-.8 0-1.5.7-1.5 1.4v.5h-.5c-.5 0-.9.5-.9 1s.4.9.9.9h.5V11h-.5c-.5 0-.9.5-.9 1s.4 1 .9 1h.5v2.4h-.5c-.5 0-.9.4-.9.9s.4 1 .9 1h.5v.4c0 .7.7 1.5 1.5 1.5h9c.8 0 1.5-.8 1.5-1.6V6.1c0-.8-.7-1.3-1.5-1.3zm-6.9 9.8c0 .2-.1.3-.2.3h-1c-.1 0-.2-.1-.2-.3V9.4c0-.2.1-.3.2-.3h1c.1 0 .2.1.2.3v5.2zm1.9 0c0 .2-.1.3-.2.3h-.5c-.1 0-.2-.1-.2-.3V9.4c0-.2.1-.3.2-.3h.5c.1 0 .2.1.2.3v5.2zm2.4 0c0 .2-.1.3-.2.3h-1c-.1 0-.2-.1-.2-.3V9.4c0-.2.1-.3.2-.3h1c.1 0 .2.1.2.3v5.2zm2 0c0 .2-.1.3-.3.3h-.5c-.1 0-.2-.1-.2-.3V9.4c0-.2.1-.3.2-.3h.5c.2 0 .3.1.3.3v5.2z\"}},\nprocess:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9 11.1l2.6-3.2c.2-.2.6-.2.8 0l2.6 3.2c0 .1.2.2.3.2h2.9c.3 0 .5-.2.5-.5V6.7c0-.8-.6-1.4-1.4-1.4H6.7c-.8 0-1.4.6-1.4 1.4v4.1c0 .3.2.5.5.5h2.8c.2 0 .3-.1.4-.2zm6 1.8l-2.6 3.2c-.2.2-.6.2-.8 0L9 12.9c-.1-.1-.2-.2-.4-.2H5.8c-.3 0-.5.2-.5.5v4.1c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-4.1c0-.3-.2-.5-.5-.5h-2.9c-.1 0-.3.1-.3.2z\"}},\nproduct:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.3 15.8h1.2c.2 0 .5-.2.5-.4V7.9c0-.2-.3-.5-.5-.5H5.3c-.3 0-.5.3-.5.5v7.5c0 .2.2.4.5.4zm13.4-8.4h-1.2c-.2 0-.5.3-.5.5v7.5c0 .2.3.4.5.4h1.2c.3 0 .5-.2.5-.4V7.9c0-.2-.2-.5-.5-.5zm-6 8.4c.3 0 .5-.2.5-.4V7.9c0-.2-.2-.5-.5-.5h-1.4c-.3 0-.5.3-.5.5v7.5c0 .2.2.4.5.4h1.4zm2.9 0c.3 0 .5-.2.5-.4V7.9c0-.2-.2-.5-.5-.5h-.5c-.2 0-.5.3-.5.5v7.5c0 .2.3.4.5.4h.5zm-6.2 0c.2 0 .4-.2.4-.4V7.9c0-.2-.2-.5-.4-.5h-.5c-.3 0-.5.3-.5.5v7.5c0 .2.2.4.5.4h.5zm9.3 1.5H5.3c-.3 0-.5.2-.5.5v.4c0 .3.2.5.5.5h13.4c.3 0 .5-.2.5-.5v-.4c0-.3-.2-.5-.5-.5zm0-12.5H5.3c-.3 0-.5.2-.5.5v.5c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4v-.5c0-.3-.2-.5-.5-.5z\"}},\nproduct_consumed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.5 13.2h-.9a.5.5 0 0 0-.4.5v3a.5.5 0 0 1-.5.4H6.8a.5.5 0 0 1-.4-.4v-3a.5.5 0 0 0-.5-.5H5a.5.5 0 0 0-.4.5v4a1.2 1.2 0 0 0 1.2 1.2h12a1.2 1.2 0 0 0 1.2-1.2v-4a.5.5 0 0 0-.5-.5zm-7 2a.4.4 0 0 0 .6 0l4-4a.4.4 0 0 0 0-.7l-.6-.6a.4.4 0 0 0-.6 0l-1.7 1.7a.3.3 0 0 1-.5-.2V5a.5.5 0 0 0-.5-.5h-.9a.5.5 0 0 0-.4.5v6.4a.3.3 0 0 1-.5.2L8.7 9.9a.4.4 0 0 0-.7 0l-.6.6a.4.4 0 0 0 0 .7z\"}},\nproduct_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"4.56\",\"y\":\"4.541\",\"width\":\"14.4\",\"height\":\"3.84\",\"rx\":\".96\",\"ry\":\".96\"},{\"x\":\"4.56\",\"y\":\"9.821\",\"width\":\"6.48\",\"height\":\"3.84\",\"rx\":\".96\",\"ry\":\".96\"},{\"x\":\"4.56\",\"y\":\"15.101\",\"width\":\"6.48\",\"height\":\"3.84\",\"rx\":\".96\",\"ry\":\".96\"},{\"x\":\"12.48\",\"y\":\"9.821\",\"width\":\"6.48\",\"height\":\"3.84\",\"rx\":\".96\",\"ry\":\".96\"},{\"x\":\"12.48\",\"y\":\"15.101\",\"width\":\"6.48\",\"height\":\"3.84\",\"rx\":\".96\",\"ry\":\".96\"}]},\nproduct_item_transaction:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"4.56\",\"y\":\"4.541\",\"width\":\"14.4\",\"height\":\"3.84\",\"rx\":\".96\",\"ry\":\".96\"},{\"x\":\"4.56\",\"y\":\"9.821\",\"width\":\"6.48\",\"height\":\"3.84\",\"rx\":\".96\",\"ry\":\".96\"},{\"x\":\"4.56\",\"y\":\"15.101\",\"width\":\"6.48\",\"height\":\"3.84\",\"rx\":\".96\",\"ry\":\".96\"}],\"path\":{\"d\":\"M15.6 17.4a.3.3 0 0 0 .5 0l2.8-2.7a.3.3 0 0 0 0-.5l-2.8-2.8a.3.3 0 0 0-.5 0l-.5.5a.3.3 0 0 0 0 .5l.8.9a.2.2 0 0 1-.1.4h-2.9a.4.4 0 0 0-.4.3v.8a.4.4 0 0 0 .4.3h2.9a.2.2 0 0 1 .1.4l-.8.9a.3.3 0 0 0 0 .5z\"}},\nproduct_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M18.6 18.7H9.7c-.3 0-.5-.2-.5-.5v-1.1c0-.3.2-.6.5-.6h8.9c.3 0 .5.3.5.6v1.1c.1.3-.2.5-.5.5zm-12.2 0H5.3c-.3 0-.6-.2-.6-.5v-1.1c0-.3.3-.6.6-.6h1.1c.3 0 .5.3.5.6v1.1c.1.3-.2.5-.5.5zm6.5-4.9c-.3 0-.5-.2-.5-.5v-1.1c0-.3.2-.6.5-.6h5.7c.3 0 .5.3.5.5v1.2c0 .3-.2.5-.5.5h-5.7zM15 8.9c-.3 0-.5-.2-.5-.5V7.2c0-.2.2-.5.5-.5h3.6c.3 0 .5.2.5.5v1.2c0 .2-.2.5-.5.5H15zM5 14c-.3-2.6 1.7-5.3 4.1-5.7l.7-.2c.1 0 .2-.1.2-.3l-.1-.1-1.6-1.1c-.2-.1-.2-.3-.1-.5l.4-.6c.1-.1.3-.2.5-.1L13 8c.1.1.2.4.1.5l-2.7 3.9c-.1.2-.3.2-.5.1l-.6-.4c-.2-.1-.2-.3-.1-.5l1.1-1.6c0-.1 0-.3-.1-.3 0-.1-.1-.1-.2-.1l-.4.1c-1.8.4-3.4 2.5-3.2 4.3 0 .2-.3.4-.5.4h-.5c-.2.1-.4-.2-.4-.4z\"}},\nproduct_request_line_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M18.7 18.6H9.8c-.3 0-.6-.3-.6-.6v-1.1c0-.3.3-.5.6-.5h8.8c.3 0 .6.2.6.5V18c0 .3-.2.6-.5.6zm-12.2 0H5.4c-.3 0-.6-.3-.6-.6v-1.1c0-.3.2-.5.5-.5h1.2c.2 0 .5.2.5.5V18c0 .3-.2.6-.5.6zm-.6-7c1.6-2.8 5.5-4 8-2.8l.7.3c.3.1.5-.1.4-.4l-.6-2.2c-.1-.3 0-.5.2-.6l.9-.3c.1-.1.4 0 .5.2v.1l1.6 5.4c.1.2 0 .5-.3.6l-5.3 2c-.1.1-.4 0-.5-.1v-.1l-.2-.9c-.1-.2 0-.5.2-.5l2.2-.9c.2 0 .2-.2.2-.4 0-.1-.1-.1-.1-.2l-.5-.1c-1.9-1-5 0-6.2 2-.1.2-.5.2-.8.1l-.4-.4c-.2-.1-.2-.5 0-.8z\"}},\nproduct_required:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"rect\":[{\"x\":\"10.543\",\"y\":\"16.385\",\"width\":\"8.657\",\"height\":\"1.918\",\"rx\":\".48\",\"ry\":\".48\"},{\"x\":\"10.543\",\"y\":\"12.101\",\"width\":\"8.657\",\"height\":\"1.918\",\"rx\":\".48\",\"ry\":\".48\"},{\"x\":\"11.981\",\"y\":\"7.817\",\"width\":\"7.219\",\"height\":\"1.918\",\"rx\":\".48\",\"ry\":\".48\"}],\"path\":[{\"d\":\"M8.1 18.3h-.9a.5.5 0 0 1-.5-.5v-.9a.5.5 0 0 1 .5-.5h.9a.5.5 0 0 1 .5.5v.9a.5.5 0 0 1-.5.5zm0-4.3h-.9a.5.5 0 0 1-.5-.5v-.9a.5.5 0 0 1 .5-.5h.9a.5.5 0 0 1 .5.5v.9a.5.5 0 0 1-.5.5z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M11.4 6.3l-.5-.5a.3.3 0 0 0-.5 0L7.2 9 5.9 7.7a.3.3 0 0 0-.5 0l-.5.5a.3.3 0 0 0 0 .5l1.8 1.8a.7.7 0 0 0 1 0l3.7-3.7a.4.4 0 0 0 0-.5z\",\"fill-rule\":\"evenodd\"}]},\nproduct_transfer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.1 4.9h-.8a.4.4 0 0 0-.4.5v1.9c0 .3-.3.5-.5.3a6.2 6.2 0 0 0-5.3-2.1 5.5 5.5 0 0 0-2.1.6 5.5 5.5 0 0 0-1 .6.5.5 0 0 0 0 .7l.6.6a.4.4 0 0 0 .5 0 6.9 6.9 0 0 1 1.1-.6c.2 0 .4-.1.6-.1a4.7 4.7 0 0 1 4.5 1.5c.3.4 0 .7-.2.7h-2a.5.5 0 0 0-.5.4v.8a.5.5 0 0 0 .5.5h5.1a.4.4 0 0 0 .4-.4V5.4a.4.4 0 0 0-.5-.5zM15.6 15a.4.4 0 0 0-.6 0 4.5 4.5 0 0 1-1.7 1c-.2.1-.3.1-.5.2a4.7 4.7 0 0 1-4.5-1.5c-.3-.4-.1-.7.2-.7h2a.4.4 0 0 0 .4-.4v-.9a.4.4 0 0 0-.4-.4H5.3a.4.4 0 0 0-.4.4v5.4a.4.4 0 0 0 .5.4h.8a.4.4 0 0 0 .5-.4v-2c0-.2.2-.4.4-.2a6.2 6.2 0 0 0 5.3 2.1 5.5 5.5 0 0 0 2.1-.7 6.2 6.2 0 0 0 1.6-1.1.4.4 0 0 0 0-.6z\"}},\nproposition:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"g\":{\"path\":[{\"d\":\"M6.2 14.5H5.1c-.2 0-.3.2-.3.4v3.8c0 .2.1.3.3.3h.5c.5 0 .9-.4.9-.8v-3.3c0-.2-.1-.4-.3-.4zm13 2.2c-.2-.4-.5-.8-1-.9-.2 0-.4.1-.7.2-.8.3-1.7.6-2.5.9-.6.2-1.2.4-1.8.4H12c-.2 0-.4-.2-.4-.4s.2-.4.4-.4h2.2c.4 0 .7-.3.7-.7s-.3-.8-.7-.8h-1.7c-.1 0-.5 0-.8-.1-.3-.1-.7-.2-.7-.1H8c-.3 0-.6.2-.6.6v2.7c0 .3.2.6.5.6H8c.5 0 1.1.2 1.6.3.6.1 1.1.2 1.7.2.7 0 1.5-.1 2.2-.3.7-.2 1.3-.5 2-.7 1.2-.4 2.3-.8 3.5-1.2.1 0 .2-.2.2-.3z\"},{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M13.9 9.6v3.6c0 .1.1.2.2.2.7-.4 2.9-1.6 2.9-1.6.3-.2.4-.5.4-.8V7.7c0-.1-.1-.1-.2-.1l-3.1 1.8c-.1 0-.2.1-.2.2m-.3-1l3.2-1.7c.1-.1.1-.2 0-.3-.7-.4-2.9-1.6-2.9-1.6-.3-.2-.6-.2-.9 0l-2.9 1.6c-.1.1-.1.2 0 .3l3.2 1.7c.1.1.2.1.3 0m-.7.8L9.7 7.6c-.1 0-.2 0-.2.2V11c0 .3.2.6.5.8l2.8 1.6c.1 0 .2-.1.2-.2V9.6c0-.1 0-.2-.1-.2\"}]}},\nquestion_best:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"g\":{\"path\":[{\"d\":\"M24 24v-9.1L14.9 24H24zm-.9-3.5l-.8.8v.1l.2 1.1s-.1.1-.2.1l-.9-.5c0-.1 0-.1 0 0l-1 .5c-.1 0-.1-.1-.1-.1l.1-1.1v-.1l-.7-.8c-.1 0 0-.1 0-.1l1.1-.2.5-1c0-.1.1-.1.2 0l.4 1h.1l1 .2c.1 0 .1.1.1.1z\",\"fill-opacity\":\".65\"},{\"d\":\"M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3 0 .4l-.6 2.1c-.2.4.2.7.6.6l2.1-.7c.1-.1.3-.1.4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7S16 5.3 12 5.3zm.7 10.8c0 .2-.2.5-.5.5h-.5c-.2 0-.4-.3-.4-.5v-.5c0-.3.2-.5.4-.5h.5c.3 0 .5.2.5.5v.5zm.2-3.1c-.1.1-.2.2-.2.3v.4c0 .2-.2.5-.5.5h-.4c-.3 0-.5-.3-.5-.5v-.4c0-.7.5-1.4 1.2-1.6.2-.1.5-.3.6-.5.8-1 0-2.3-1.1-2.3-.4 0-.7.1-1 .4-.2.2-.4.4-.4.7-.1.2-.3.3-.5.3h-.5c-.3 0-.5-.2-.5-.5.2-.6.4-1.1.9-1.5.5-.6 1.3-.9 2-.9 1.6.1 2.8 1.3 2.9 2.8 0 1.3-.8 2.4-2 2.8z\"}]}},\nquestion_feed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3.1.4l-.7 2.1c-.1.4.2.7.6.6l2.1-.7c.2-.1.3-.1.4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7S16 5.3 12 5.3zm.7 10.8c0 .2-.2.5-.5.5h-.4c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.5zm.2-3.1c-.1.1-.2.2-.2.3v.4c0 .2-.2.5-.5.5h-.4c-.3 0-.5-.3-.5-.5v-.4c0-.7.5-1.4 1.2-1.6.2-.1.5-.3.6-.5.8-1 0-2.3-1.1-2.3-.4 0-.7.1-1 .4-.2.2-.4.4-.4.7-.1.2-.3.3-.5.3h-.5c-.3 0-.5-.2-.5-.5.2-.6.4-1.1.9-1.5.5-.6 1.3-.9 2-.9 1.6.1 2.8 1.3 2.9 2.8 0 1.3-.8 2.4-2 2.8z\"}},\nqueue:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M16.2 4.8c-.7 0-1.3.5-1.5 1.2.9.4 1.6 1.3 1.8 2.4.8-.2 1.3-.9 1.3-1.8 0-1-.7-1.8-1.6-1.8zm1.5 4.3c-.3.3-.7.5-1.1.5-.1.7-.3 1.3-.7 1.8h2.7c.3 0 .6-.3.6-.6v-.3c0-.7-.7-1.1-1.5-1.4zM15.2 12c-.5.4-1.1.7-1.8.7 0 .7-.2 1.4-.6 2h3.4c.4 0 .7-.3.7-.7v-.3c0-.8-.9-1.3-1.7-1.7zm-3.1 3.6c-.7.7-1.6 1.1-2.6 1.1s-1.9-.4-2.5-1.1c-1.1.5-2.2 1.2-2.2 2.2v.4c0 .6.4 1 .9 1h7.5c.6 0 1-.5 1-1v-.4c0-1-1-1.6-2.1-2.2z\"},{\"d\":\"M13.4 7.1c-.9 0-1.7.6-1.9 1.5.9.6 1.6 1.6 1.8 2.7h.1c1 0 1.9-.9 1.9-2.1 0-1.2-.9-2.1-1.9-2.1z\"}],\"ellipse\":{\"cx\":\"9.504\",\"cy\":\"12.384\",\"rx\":\"2.568\",\"ry\":\"2.832\"}},\nquick_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M11.9 5.2c-4 0-7.2 2.9-7.2 6.5 0 1.2.3 2.3.9 3.2.1.2.1.4 0 .5L4.7 18c-.1.2.1.5.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 3.9 0 7.1-2.9 7.1-6.6 0-3.7-3.2-6.6-7.2-6.6zm-3.4 6.3c0-.1.2-.3.3-.3h4.7c.1 0 .3.2.3.3v.6c0 .1-.1.3-.3.3H8.8c-.1 0-.3-.2-.3-.3v-.6zm6.7 2.8c0 .1-.1.3-.2.3H8.8c-.1 0-.3-.1-.3-.3v-.5c0-.2.1-.3.3-.3H15c.1 0 .2.1.2.3v.5zm0-4.5c0 .2-.1.3-.2.3H8.8c-.1 0-.3-.1-.3-.3v-.5c0-.2.1-.3.3-.3H15c.1 0 .2.1.2.3v.5z\"}},\nquip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.5 4.8C8 5 5 8 4.8 11.5c-.2 4.2 3.1 7.7 7.2 7.7h7.2V12c0-4.1-3.5-7.4-7.7-7.2zM8.6 8.9c0-.3.2-.5.5-.5H15c.2 0 .4.2.4.5v.5c0 .2-.2.4-.4.4H9.1c-.3 0-.5-.2-.5-.4v-.5zm6.8 6.2c0 .3-.2.5-.4.5H9.1c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4H15c.2 0 .4.2.4.4v.5zm1.8-2.9c0 .3-.2.5-.4.5H7.2c-.2 0-.4-.2-.4-.5v-.4c0-.3.2-.5.4-.5h9.6c.2 0 .4.2.4.5v.4z\"}},\nquip_sheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.7 9.3H5.3c-.3 0-.5.2-.5.5v7.6c0 .7.5 1.2 1.2 1.2h1.7c.2 0 .4-.2.4-.4V9.8c0-.3-.2-.5-.4-.5zm11 0h-9c-.2 0-.4.2-.4.5v8.4c0 .2.2.4.4.4H18c.7 0 1.2-.5 1.2-1.2V9.7c0-.2-.2-.4-.5-.4zM18 5.4H6c-.7 0-1.2.5-1.2 1.2v1.1c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4V6.6c0-.6-.5-1.2-1.2-1.2z\"}},\nquotes:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.3 5.3H12c-.3 0-.6.1-.8.4l-6.5 6.4c-.5.6-.5 1.5 0 2.1l5.1 5c.6.6 1.5.6 2.1 0l6.5-6.5c.2-.2.3-.6.3-.9V6.7c0-.8-.6-1.4-1.4-1.4zm-5.2 10.5l-.3.4c-.2.2-.5.2-.7 0l-3.3-3.3c-.2-.2-.2-.5 0-.7l.4-.3c.2-.2.4-.2.6 0l3.3 3.3c.2.2.2.4 0 .6zm1.9-1.9l-.3.4c-.2.1-.5.1-.7 0L9.7 11c-.1-.2-.1-.5 0-.7l.4-.3c.2-.2.5-.2.7 0l3.2 3.2c.2.2.2.5 0 .7zm1.4-4.1c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.6 1.2 1.2-.6 1.2-1.2 1.2z\"}},\nradio_button:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 12.7c-1.7 0-3.2 1.5-3.2 3.3s1.5 3.2 3.2 3.2 3.3-1.5 3.3-3.2-1.5-3.3-3.3-3.3zm0 5.1c-.9 0-1.8-.9-1.8-1.8s.9-1.8 1.8-1.8 1.8.8 1.8 1.8S9 17.8 8 17.8zm8-5.1c-1.8 0-3.3 1.5-3.3 3.3s1.5 3.2 3.3 3.2 3.2-1.5 3.2-3.2-1.5-3.3-3.2-3.3zM8 4.8C6.3 4.8 4.8 6.2 4.8 8s1.5 3.2 3.2 3.2 3.3-1.4 3.3-3.2S9.8 4.8 8 4.8zm0 5C7.1 9.8 6.2 9 6.2 8S7.1 6.2 8 6.2 9.8 7 9.8 8 9 9.8 8 9.8zm8-5c-1.8 0-3.3 1.4-3.3 3.2s1.5 3.2 3.3 3.2 3.2-1.4 3.2-3.2-1.5-3.2-3.2-3.2z\"}},\nread_receipts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M11.7 10.4c.2.2.4.2.6 0l5.5-5.1c.1-.2.1-.5-.3-.5h-11c-.3 0-.5.3-.3.5l5.5 5.1zm6.1-2.9c0-.3-.3-.4-.4-.2l-4.3 4c-.3.2-.7.4-1.1.4-.4 0-.8-.2-1.1-.4l-4.3-4c-.2-.2-.5-.1-.5.2v5.1c0 .6.6 1.2 1.2 1.2h5.8v-1.5c0-.8.6-1.5 1.4-1.5h.2c.8 0 1.5.7 1.5 1.5v1.5h.5c.7 0 1.2-.6 1.2-1.2-.1 0-.1-3.6-.1-5.1z\"},{\"d\":\"M17.1 15.3l-1.6-.6c-.2 0-.3-.1-.3-.3v-2.1c0-.3-.2-.6-.6-.6-.3 0-.6.3-.6.6v4.2c0 .4-.5.5-.7.2l-.4-.9c-.2-.3-.7-.4-1-.2l-.3.2L13 19c0 .2.2.2.3.2h3.5c.2 0 .4-.1.4-.2l.6-2.2c.2-.7-.2-1.3-.7-1.5z\"}]},\nrecent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.7 11.5v.5H5.3v-.5h1.4zm5.7-2.9h-.8c-.2 0-.3.2-.3.4v3.1c0 .1 0 .2.1.3l2 2c.1.2.4.2.5 0l.5-.5c.1-.1.1-.3 0-.5l-1.7-1.7V9c0-.2-.1-.4-.3-.4zM12 5.3c-3.6 0-6.5 2.7-6.7 6.2v.3H4.2c-.3 0-.5.3-.3.5l1.8 2.2c.2.2.4.2.6 0l1.8-2.2c.2-.2 0-.5-.3-.5H6.7v-.3C7 8.8 9.2 6.7 12 6.7c3.1 0 5.6 2.7 5.2 5.9-.2 2.3-2.4 4.4-4.7 4.7-1.7.1-3.3-.5-4.4-1.7-.2-.2-.3-.3-.5 0l-.6.6c-.1.2 0 .3.1.4 1.3 1.4 3.1 2.1 5 2.1 3.4 0 6.3-2.8 6.6-6.2.3-3.9-2.8-7.2-6.7-7.2z\"}},\nrecord:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zM9.4 16.3c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.2 0 .5.2.5.4v.5zm0-2.4c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.2 0 .5.2.5.4v.5zm0-2.4c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V11c0-.2.2-.4.5-.4h.5c.2 0 .5.2.5.4v.5zm6.7 4.8c0 .3-.2.5-.5.5h-4.8c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h4.8c.3 0 .5.2.5.4v.5zm0-2.4c0 .3-.2.5-.5.5h-4.8c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h4.8c.3 0 .5.2.5.4v.5zm0-2.4c0 .3-.2.5-.5.5h-4.8c-.3 0-.5-.2-.5-.5V11c0-.2.2-.4.5-.4h4.8c.3 0 .5.2.5.4v.5z\"}},\nrecord_create:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-1.8 8.4c0 .2-.1.3-.2.3h-2.7s-.1.1-.1.2v2.6c0 .1-.1.2-.3.2h-.4c-.2 0-.3-.1-.3-.2v-2.6c0-.1-.1-.2-.1-.2H8.7c-.1 0-.2-.1-.2-.3V14c0-.2.1-.3.2-.3h2.7s.1 0 .1-.1v-2.7c0-.1.1-.2.3-.2h.4c.2 0 .3.1.3.2v2.7c0 .1.1.1.1.1h2.7c.1 0 .2.1.2.3v.4z\"}},\nrecord_delete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-2.8 10.9c0 .5-.3.8-.7.8h-3.6c-.4 0-.7-.3-.7-.8v-3.1c0-.1.1-.2.2-.2h4.6c.1 0 .2.1.2.2v3.1zm.6-4.4c0 .1-.1.2-.2.2H9.1c-.1 0-.2-.1-.2-.2V12c0-.1.1-.2.2-.2H11v-.6c0-.3.2-.5.5-.5h.9c.3 0 .6.2.6.5v.6h1.8c.2 0 .2.1.2.2v.5zm-3.7 2.1h-.3c-.1 0-.1.1-.1.2v1.7c0 .1 0 .1.1.1h.3c.1 0 .2 0 .2-.1v-1.7c0-.1-.1-.2-.2-.2zm1.5 0h-.3c-.1 0-.1.1-.1.2v1.7c0 .1 0 .1.1.1h.3c.1 0 .1 0 .1-.1v-1.7c0-.1 0-.2-.1-.2zm-.6-3.4h-.6c-.1 0-.1.1-.1.2v.4h.9v-.4c-.1-.1-.1-.2-.2-.2z\"}},\nrecord_lookup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-1.9 11.4l-.3.3c-.1.1-.2.1-.3 0l-1.9-1.9c-.6.4-1.3.6-2.1.5-1.2-.2-2.2-1.2-2.3-2.5-.2-1.7 1.3-3.2 3-3 1.3.1 2.3 1.1 2.5 2.4.1.7-.1 1.4-.5 2l1.9 1.9c.1.1.1.2 0 .3zm-4.1-5.8c-1.1 0-1.9.9-1.9 1.9 0 1.1.8 1.9 1.9 1.9s1.9-.8 1.9-1.9-.9-1.9-1.9-1.9z\"}},\nrecord_update:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-2.9 7.3l-3.8 3.9-1.7.4c-.2.1-.3-.1-.3-.2l.5-1.7 3.9-3.8c0-.1.1-.1.2 0l1.2 1.2v.2zm1.1-1.1l-.5.5h-.2l-1.2-1.3c-.1 0-.1-.1 0-.2l.4-.4c.3-.3.6-.3.9 0l.6.6c.2.2.2.6 0 .8z\"}},\nrecycle_bin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.9 7.2h-3.8V6c0-.6-.5-1.2-1.2-1.2h-1.8c-.6 0-1.2.5-1.2 1.2v1.2H6.1c-.2 0-.4.2-.4.5v.8c0 .3.2.5.4.5h11.7c.3 0 .5-.2.5-.5v-.8c0-.3-.2-.5-.4-.5zm-5 0h-1.8v-.9c0-.2.1-.3.3-.3h1.2c.1 0 .3.1.3.3v.9zm3.8 3H7.3c-.2 0-.4.2-.4.5v7c0 .9.6 1.5 1.5 1.5h7.2c.8 0 1.5-.6 1.5-1.5v-7c0-.3-.2-.5-.4-.5zm-5.5 7.5H9.7c-.1 0-.7 0-1-.6-.4-.7-.1-1.2.3-2l-.4-.3c-.1 0-.1-.1-.1-.1 0-.1.1-.1.1-.1l1.2-.3h.1c.1 0 .1 0 .2.1v.1l.2 1.2v.1h-.1l-.4-.2c-.4.6-.5.9-.4 1 .1.2.3.2.3.2h1.5c.1 0 .3.1.3.2.1.1.1.2.1.2 0 .3-.2.5-.4.5zm1.1-4.4v-.1l.4-.2c-.3-.7-.5-.9-.7-.9-.2 0-.3.1-.3.1l-.8 1.3c-.1.1-.2.2-.4.2 0 0-.1 0-.2-.1-.2-.1-.2-.4-.1-.5l.8-1.3c0-.1.3-.5 1-.5.8 0 1.1.5 1.5 1.3l.5-.2s.1 0 .1.1.1 0 0 .1l-.4 1.2v.1h-.1l-1.3-.5v-.1zm3.1 3.7c-.4.6-1 .6-1.9.6v.5c0 .1-.1.1-.1.1s-.1.1-.1 0l-.9-.9c-.1-.1 0-.2 0-.2l1-.9h.1l.1.1v.5c.8 0 1 0 1.1-.2s0-.4 0-.4l-.7-1.3c-.1-.1-.1-.3 0-.4 0-.1.1-.1.1-.1.2-.2.5-.1.6.1l.8 1.3c0 .1.2.5-.1 1.2z\"}},\nrelated_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 4.8h-7.7c-.8 0-1.5.6-1.5 1.4v.3c0 .1.1.2.3.2h6.9c.8 0 1.5.7 1.5 1.5v7.4c0 .1.1.2.2.2.9 0 1.7-.7 1.7-1.6v-8c0-.8-.6-1.4-1.4-1.4zM6.7 8.2c-.8 0-1.4.6-1.4 1.4v8.2c0 .8.6 1.4 1.4 1.4h7.7c.8 0 1.4-.6 1.4-1.4V9.6c0-.8-.6-1.4-1.4-1.4H6.7zm1.9 3.3c0 .3-.2.5-.4.5h-.5c-.3 0-.5-.2-.5-.5V11c0-.2.2-.4.5-.4h.5c.2 0 .4.2.4.4v.5zm5.3 0c0 .3-.2.5-.5.5h-3.3c-.3 0-.5-.2-.5-.5V11c0-.2.2-.4.5-.4h3.3c.3 0 .5.2.5.4v.5zm-5.3 2.4c0 .3-.2.5-.4.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.2 0 .4.2.4.4v.5zm5.3 0c0 .3-.2.5-.5.5h-3.3c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h3.3c.3 0 .5.2.5.4v.5zm-5.3 2.4c0 .3-.2.5-.4.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.2 0 .4.2.4.4v.5zm5.3 0c0 .3-.2.5-.5.5h-3.3c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h3.3c.3 0 .5.2.5.4v.5z\"}},\nrelationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.1 16.8h-.9V15h.9c.2 0 .3-.1.3-.3V6.9c0-.2-.1-.3-.3-.3H9.3c-.2 0-.3.1-.3.3v.9H7.2v-.9c0-1.2.9-2.1 2.1-2.1h7.8c1.2 0 2.1.9 2.1 2.1v7.8c0 1.2-.9 2.1-2.1 2.1zM13.8 9H6c-.7 0-1.2.5-1.2 1.2V18c0 .7.5 1.2 1.2 1.2h7.8c.7 0 1.2-.5 1.2-1.2v-7.8c0-.7-.5-1.2-1.2-1.2z\"}},\nreport:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-7 9.8c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-2.4c0-.2.2-.4.5-.4h.4c.3 0 .5.2.5.4v2.4zm2.4 0c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-4.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v4.5zm2.4 0c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-3.6c0-.2.2-.4.5-.4h.4c.3 0 .5.2.5.4v3.6z\"}},\nresource_absence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm4 9.1l-1.2 1.2-2.9-3-2.8 2.8L8 13.8l2.8-2.8-2.9-2.8L9.1 7l2.8 2.8 2.9-2.9L16 8l-3 3zm-9.8 1.5h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z\",\"fill-rule\":\"evenodd\"}},\nresource_capacity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm4.2 6.3h-4.4V6.5s1.7-.1 3.2 1.4 1.2 3.2 1.2 3.2zm-10 4.3h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z\",\"fill-rule\":\"evenodd\"}},\nresource_preference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm-2.6 8.6a.7.7 0 0 1-.7.6h-.5a.3.3 0 0 1-.2-.2v-3.5a.3.3 0 0 1 .2-.3h.9a.3.3 0 0 1 .3.3zm6.5-.7c0 1.4-1.2 1.5-2.6 1.5-1.3 0-1.7-.4-2.9-.5a.2.2 0 0 1-.3-.2v-3.1a.3.3 0 0 1 .3-.2 1.6 1.6 0 0 0 1.5-1.6v-.9a.3.3 0 0 1 .3-.3h.5a.7.7 0 0 1 .7.7v1.5a.7.7 0 0 0 .7.6h1.1a.7.7 0 0 1 .7.6zm-9.7 2.7h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z\",\"fill-rule\":\"evenodd\"}},\nresource_skill:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M10.5 10.9a1.4 1.4 0 1 0 2.9 0 1.4 1.4 0 1 0-2.9 0zM12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm4 8.1l-.3.4a.6.6 0 0 1-.5.3.7.7 0 0 1-.2 0l-.8-.3a3.4 3.4 0 0 1-1.1.6l-.2.9a.6.6 0 0 1-.5.5h-.6a.6.6 0 0 1-.6-.5l-.1-.9a2.9 2.9 0 0 1-1.1-.6l-.8.3a.7.7 0 0 1-.2.1.6.6 0 0 1-.5-.3l-.3-.5a.6.6 0 0 1 .1-.8l.7-.5a3 3 0 0 1-.1-.6 2.8 2.8 0 0 1 .1-.6l-.7-.6a.6.6 0 0 1-.1-.7l.3-.5a.6.6 0 0 1 .5-.3.7.7 0 0 1 .2 0l.8.3a3.3 3.3 0 0 1 1.1-.6l.1-.8a.6.6 0 0 1 .6-.5h.6a.6.6 0 0 1 .5.5l.2.8a3.3 3.3 0 0 1 1 .6l.9-.3a.7.7 0 0 1 .2 0 .6.6 0 0 1 .5.3l.3.4a.6.6 0 0 1-.2.8l-.7.5a2.9 2.9 0 0 1 .1.7 2.8 2.8 0 0 1-.1.6l.7.5a.6.6 0 0 1 .2.8zm-9.8 2.5h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z\",\"fill-rule\":\"evenodd\"}},\nreturn_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M5.3 5.4h8.8c.3 0 .6.2.6.5V7c0 .3-.3.6-.5.6H5.3c-.3 0-.6-.3-.6-.6V5.9c0-.3.2-.5.6-.5zm12.2 0h1.1c.3 0 .5.2.5.5V7c0 .3-.2.6-.5.6h-1.1c-.3 0-.6-.3-.6-.6V5.9c0-.3.2-.5.5-.5h.1zm-6.6 4.9c.3 0 .6.2.6.5v1.1c0 .3-.2.6-.5.6H5.3c-.3 0-.6-.3-.6-.5v-1.2c0-.3.3-.5.6-.5h5.6zm-2.1 4.9c.3 0 .6.2.6.5v1.1c0 .3-.3.6-.5.6H5.3c-.3 0-.6-.2-.6-.5v-1.2c0-.2.3-.5.6-.5h3.5zm10.1-5.1c.3 2.6-1.8 5.3-4.2 5.7l-.6.2c-.1 0-.2.1-.2.2s0 .2.1.2l1.6 1.1c.2.1.2.3.1.5l-.4.6c-.1.1-.4.2-.5.1l-3.9-2.6c-.2-.1-.2-.4-.1-.5l2.6-3.9c.1-.2.4-.3.5-.1l.6.4c.2.1.3.3.1.5l-1 1.6c-.1.1-.1.3 0 .3.1.1.2.1.2.1l.4-.1c1.9-.4 3.5-2.5 3.3-4.3 0-.2.3-.4.5-.5h.4c.2 0 .5.3.5.5z\"}},\nreturn_order_line_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M5.3 5.5h8.9c.3 0 .6.3.6.6v1.1c0 .3-.3.6-.6.6H5.4c-.3 0-.6-.3-.6-.6V6.1c0-.3.2-.6.5-.6zm12.2 0h1.1c.3 0 .6.3.6.6v1.1c0 .3-.2.6-.5.6h-1.2c-.2 0-.5-.3-.5-.6V6.1c0-.3.2-.5.5-.6zm.6 7c-1.6 2.8-5.5 4.1-8 2.8l-.7-.3c-.3-.1-.5.1-.4.4l.6 2.2c.1.3 0 .5-.2.6l-.9.3c-.1.1-.4 0-.5-.2l-1.6-5.5c-.1-.2 0-.5.3-.6l5.3-2c.1-.1.4 0 .5.2l.2.9c.1.2 0 .5-.2.6l-2.2.8c-.2.1-.2.2-.2.4 0 .1.1.1.1.2l.5.2c1.9.9 5-.1 6.2-2.1.1-.1.5-.2.8-.1l.4.4c.2.1.2.6 0 .8z\"}},\nreward:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.2 15.2l-2.8 4-.7-1.9H5.8l2.4-3.4c.5.3 1 .4 1.4.5h.3s.2.1.2.2c.3.2.7.5 1.1.6zm4.6-1.3c-.5.3-1 .4-1.4.5h-.3c-.1 0-.2.1-.3.2-.2.2-.6.5-1 .6l2.8 4 .7-1.9h1.9l-2.4-3.4zM12 7.7c-.9 0-1.7.7-1.7 1.7S11.1 11 12 11s1.7-.7 1.7-1.6-.8-1.7-1.7-1.7zm4.6 1.7c0 .5-.7 1-.9 1.5-.2.5-.1 1.3-.5 1.7-.4.4-1.1.3-1.7.5-.5.2-.9.8-1.5.8s-1-.6-1.5-.8c-.6-.2-1.3-.1-1.7-.5-.4-.4-.3-1.2-.5-1.7s-.9-1-.9-1.5c0-.6.7-1.1.9-1.6.2-.5.1-1.3.5-1.7.4-.3 1.1-.2 1.7-.5.5-.2.9-.8 1.5-.8s1 .6 1.5.8c.6.3 1.3.1 1.7.5.4.4.3 1.2.5 1.7s.9 1 .9 1.6zm-1.5 0c0-1.8-1.4-3.2-3.1-3.2S8.9 7.6 8.9 9.4s1.4 3.1 3.1 3.1 3.1-1.4 3.1-3.1z\"}},\nrtc_presence:{\"path\":{\"d\":\"M14.8 4.7c-2.7 0-4.9 2.1-4.9 4.7a4.5 4.5 0 0 0 .6 2.2.4.4 0 0 1 .1.3l-.5 1.5a.3.3 0 0 0 .4.4l1.4-.5a.4.4 0 0 1 .3 0 5 5 0 0 0 2.6.7c2.6 0 4.8-2.1 4.8-4.6s-2.2-4.7-4.8-4.7zM11 18.3v.3a.7.7 0 0 1-.7.7H5a.7.7 0 0 1-.6-.7v-.3c0-.8.9-1.3 1.8-1.7a.3.3 0 0 0 .1 0 .2.2 0 0 1 .2 0 2.2 2.2 0 0 0 1.2.3 2.2 2.2 0 0 0 1.2-.3.2.2 0 0 1 .2 0 .3.3 0 0 1 .1 0c.9.4 1.8.9 1.8 1.7z\"},\"ellipse\":{\"cx\":\"7.682\",\"cy\":\"14.462\",\"rx\":\"1.644\",\"ry\":\"1.819\"}},\nsales_cadence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10 16c.2.2.5.2.6 0l3.7-3.6c.2-.2.2-.5.1-.7h-.1L10.6 8c-.1-.2-.4-.2-.6 0l-.7.7c-.2.2-.2.4-.1.6l.1.1 1.1 1.1c.2.1.2.3 0 .5 0 0-.1.1-.2.1H5.3c-.3 0-.5.2-.5.4v1c0 .3.2.5.5.5h5c.1 0 .3.1.3.3 0 .1 0 .2-.1.2l-1.2 1.2c-.2.1-.2.4 0 .6l.7.7zm5.2-2.5l-1.1 1.2c-.2.1-.2.4-.1.6h.1l.7.7c.1.2.4.2.6 0l3.7-3.6c.1-.2.1-.5 0-.7L15.4 8c-.2-.2-.5-.2-.6 0h-.1l-.7.7c-.2.2-.2.4 0 .6v.1l1.2 1.1 1.5 1.5-1.5 1.5z\"}},\nsales_cadence_target:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.2 6c-1.3 0-2.5.4-3.4 1.1l.8.9c.8-.5 1.7-.8 2.6-.8 2.6 0 4.8 2.2 4.8 4.8s-2.2 4.8-4.8 4.8c-.9 0-1.8-.2-2.6-.7l-.9.8c1 .7 2.2 1.1 3.5 1.1 3.3 0 6-2.7 6-6s-2.7-6-6-6zm0 7.2c.7 0 1.2-.5 1.2-1.2s-.5-1.2-1.2-1.2c-.4 0-.7.2-.9.5L9.6 8.7c-.1-.2-.3-.2-.5-.1v.1l-.6.5c-.1.2-.1.4 0 .6l1 1c.1.1.1.3 0 .4H5.2c-.2 0-.4.2-.4.4v.8c0 .2.2.4.4.4h4.2c.1 0 .2.2.2.3v.2l-1 1c-.2.1-.2.3-.1.5h.1l.5.6c.2.1.4.1.6 0l2.6-2.6c.2.2.5.4.9.4zm0 1.2c-.3 0-.5 0-.8-.1l-.9.9c.5.3 1.1.4 1.7.4 2 0 3.6-1.6 3.6-3.6s-1.6-3.6-3.6-3.6c-.6 0-1.2.1-1.7.4l.9.9c.2-.1.5-.1.8-.1 1.3 0 2.4 1.1 2.4 2.4s-1.1 2.4-2.4 2.4z\"}},\nsales_channel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18 10.8c-.2-.8-.6-1.6-1-2.2.4-.5.4-1.2 0-1.7-.2-.2-.6-.3-.8-.3s-.6.1-.9.3c-.6-.4-1.3-.7-2.1-.9 0-.6-.5-1.2-1.2-1.2s-1.2.6-1.2 1.2c-.8.2-1.5.5-2.2.9-.2-.2-.5-.3-.8-.3-.3 0-.6.1-.9.3-.4.5-.4 1.3 0 1.7-.4.7-.7 1.4-.9 2.2-.6 0-1.2.6-1.2 1.2s.6 1.2 1.2 1.2c.1.8.5 1.5.9 2.1 0 0 0 .1-.1.1-.4.4-.4 1.2 0 1.7.3.2.6.3.9.3.3 0 .6-.1.8-.3V17c.7.5 1.5.8 2.3 1 0 .6.5 1.2 1.2 1.2s1.2-.6 1.2-1.2c.8-.2 1.5-.5 2.1-.9.3.2.6.3.9.3.3 0 .6-.1.8-.3.5-.5.5-1.2 0-1.7.4-.7.8-1.4.9-2.2h.1c.6 0 1.2-.5 1.2-1.2s-.6-1.2-1.2-1.2zm-2.2-3.4h.1c.1-.1.2-.1.2-.1.1 0 .3.1.4.2.1.1.1.3 0 .5v.1c-.1.1-.3.2-.4.2s-.2-.1-.3-.2c-.2-.2-.2-.5 0-.7zm-4.3-1.5c0-.2.2-.4.5-.4s.4.2.4.4V6c0 .3-.2.5-.4.5s-.5-.2-.5-.5v-.1zM7.4 7.4c.1-.1.2-.1.3-.1.1 0 .2 0 .3.1h.1c.2.2.2.5 0 .7-.1.1-.3.2-.4.2s-.2-.1-.3-.2L7.3 8c-.1-.2-.1-.4.1-.6zM6 12.5h-.1c-.2-.1-.4-.3-.4-.5s.2-.4.4-.5H6c.3 0 .5.2.5.5s-.3.5-.5.5zm2 4l-.1.1c0 .1-.1.1-.2.1-.2 0-.3-.1-.4-.2-.1-.1-.1-.2-.1-.3s0-.2.1-.3c.1-.1.2-.2.3-.2.2 0 .3.1.4.2.2.2.2.4 0 .6zm4.4 1.6c0 .2-.2.4-.4.4s-.5-.2-.5-.4V18c0-.3.2-.5.5-.5s.4.2.4.5v.1zm4.8-5.1c-.1.7-.4 1.4-.8 2h-.2c-.3 0-.6.1-.9.4-.3.3-.3.7-.3 1-.6.4-1.3.8-2.1.9-.2-.3-.5-.5-.9-.5s-.8.2-1 .5c-.8-.1-1.5-.5-2.2-.9.1-.4 0-.7-.3-1-.2-.3-.6-.4-.8-.4h-.2c-.4-.6-.7-1.2-.9-2 .4-.2.6-.6.6-1s-.2-.8-.6-1c.2-.7.5-1.4.9-2h.2c.3 0 .6-.1.8-.4.3-.3.4-.7.4-1 .6-.5 1.3-.8 2.1-.9.2.3.5.5 1 .5.4 0 .7-.2.9-.5.8.1 1.5.4 2 .8 0 .4.1.8.4 1.1.2.2.5.4.8.4.1 0 .2 0 .2-.1.5.7.8 1.3.9 2.1-.3.2-.5.6-.5 1s.2.7.5 1zm.8-.5h-.1c-.2 0-.5-.2-.5-.5s.3-.5.5-.5h.1c.2.1.4.3.4.5s-.2.4-.4.5zm-4.8.1c-.6-.2-.6-.5-.6-.6 0-.3.1-.5.3-.6.3-.3.4-.7.4-1.1 0-.9-.5-1.6-1.4-1.6s-1.4.7-1.4 1.6c0 .4.2.8.4 1.1.2.1.4.3.4.6s-.1.4-.6.6c-.8.3-1.5.6-1.5 1.3 0 .5.3.8.8.8h3.9c.4 0 .7-.3.7-.8 0-.7-.7-1-1.4-1.3z\"}},\nsales_path:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.6 16.4l3.5-4.2c.1-.1.1-.3 0-.5l-3.5-4v-.2c0-.1.1-.2.2-.2h5c.2 0 .3 0 .3.1l3.6 4.4c.1.1.1.3 0 .5l-3.5 4.3c-.1.1-.2.2-.4.2H3.9c-.2 0-.3-.1-.3-.3v-.1zm7.6 0l3.4-4.2c.1-.1.1-.3 0-.5l-3.4-4v-.2c0-.1.1-.2.2-.2h5c.1 0 .2 0 .3.1l3.6 4.4c.1.1.1.3 0 .5l-3.6 4.3c0 .1-.2.2-.3.2h-5c-.1 0-.2-.1-.2-.3v-.1z\"}},\nscan_card:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 7.2H6.2c-.8 0-1.4.6-1.4 1.4v6.8c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4V8.6c0-.8-.6-1.4-1.4-1.4zM6 12.7c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.7.3.7.7-.3.7-.7.7zm11.3 2.2c0 .2-.2.5-.5.5H7.7c-.3 0-.5-.3-.5-.5V9.1c0-.2.2-.5.5-.5h9.1c.3 0 .5.3.5.5v5.8zm-1.9-4.8H9.1c-.2 0-.5.2-.5.5v2.8c0 .3.3.5.5.5h6.3c.2 0 .4-.2.4-.5v-2.8c0-.3-.2-.5-.4-.5z\"}},\nscreen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 6c0-.7-.5-1.2-1.2-1.2H6c-.7 0-1.2.5-1.2 1.2v8.3c0 .7.5 1.2 1.2 1.2h12c.7 0 1.2-.5 1.2-1.2V6zm-1.8 7.3c0 .2-.2.4-.5.4H7.1c-.3 0-.5-.2-.5-.4V7.1c0-.3.2-.5.5-.5h9.8c.3 0 .5.2.5.5v6.2zm-7.5 4.1c-.7 0-1.2.5-1.2 1.2v.1c0 .3.2.5.4.5h5.8c.2 0 .4-.2.4-.5v-.1c0-.7-.5-1.2-1.2-1.2H9.9zm-.3-5.2H8.3c-.1 0-.2-.1-.2-.2V8.3c0-.1.1-.2.2-.2h1.3c.2 0 .3.1.3.2V12c0 .1-.1.2-.3.2zm6.1 0h-4.1c-.1 0-.2-.1-.2-.2V8.3c0-.1.1-.2.2-.2h4.1c.1 0 .2.1.2.2V12c0 .1-.1.2-.2.2z\"}},\nsearch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 17.8l-4-4c.8-1.1 1.2-2.5 1-4.1-.4-2.5-2.4-4.6-5.1-4.8-3.5-.4-6.5 2.6-6.1 6.2.2 2.5 2.3 4.7 4.8 5 1.6.2 3-.2 4.1-1l4 4c.2.2.5.2.6 0l.7-.6c.1-.2.1-.5 0-.7zM6.6 10.5c0-2.1 1.8-3.9 3.9-3.9s3.9 1.8 3.9 3.9-1.8 3.9-3.9 3.9-3.9-1.8-3.9-3.9z\"}},\nservice_appointment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"rect\":[{\"x\":\"14.474\",\"y\":\"14.638\",\"width\":\"1.315\",\"height\":\"1.315\",\"rx\":\".218\",\"ry\":\".218\"},{\"x\":\"14.474\",\"y\":\"16.829\",\"width\":\"1.315\",\"height\":\"1.315\",\"rx\":\".218\",\"ry\":\".218\"},{\"x\":\"12.281\",\"y\":\"14.638\",\"width\":\"1.315\",\"height\":\"1.315\",\"rx\":\".218\",\"ry\":\".218\"},{\"x\":\"12.281\",\"y\":\"16.829\",\"width\":\"1.315\",\"height\":\"1.315\",\"rx\":\".218\",\"ry\":\".218\"},{\"x\":\"10.087\",\"y\":\"14.638\",\"width\":\"1.315\",\"height\":\"1.315\",\"rx\":\".218\",\"ry\":\".218\"},{\"x\":\"10.087\",\"y\":\"16.829\",\"width\":\"1.315\",\"height\":\"1.315\",\"rx\":\".218\",\"ry\":\".218\"}],\"path\":{\"d\":\"M17.2 4.8H6.8a1.9 1.9 0 0 0-2 1.9v10.6a1.9 1.9 0 0 0 2 1.9h1.4a.9.9 0 0 1-.1-.4v-5.4a.3.3 0 0 1 .3-.3h9a.3.3 0 0 1 .3.3v5.4a.9.9 0 0 1 0 .4 1.9 1.9 0 0 0 1.5-1.9V6.7c0-1-.9-1.9-2-1.9zM7.4 8.7a.7.7 0 0 1-.7-.7v-.7a.7.7 0 0 1 .7-.6h3.4a.7.7 0 0 1 .6.6V8a.7.7 0 0 1-.6.7zm10.3 3.4a.3.3 0 0 1-.3.3h-9a.3.3 0 0 1-.3-.3v-.6a.9.9 0 0 1 .8-.9H10v-.4a.7.7 0 0 1 1.4 0v.4h3v-.4a.7.7 0 0 1 1.3 0v.4h1.1a.9.9 0 0 1 .9.9z\",\"fill-rule\":\"evenodd\"}},\nservice_appointment_capacity_usage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.3 6.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5zm.9 3.9H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-2.6 4.6c0 1.9-1.7 3.5-3.6 3.5-2 0-3.6-1.6-3.6-3.6s1.7-3.6 3.6-3.5c2 0 3.6 1.6 3.6 3.6zM12 12v2.8h2.5s.2-1-.7-1.9S12 12 12 12z\"}},\nservice_contract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.6 6.9l-3.2-3.1c-.1-.1-.1-.1-.2-.1-.2 0-.4.1-.4.3v2.6c0 .5.5.9 1 .9h2.5c.2 0 .4-.1.4-.3 0-.1 0-.2-.1-.3zm.1 2.5c0-.2-.2-.4-.5-.4h-3.4c-.8 0-1.4-.7-1.4-1.5V4.2c0-.3-.2-.5-.5-.5H6.1c-.8 0-1.4.6-1.4 1.4v11.5c0 .8.6 1.5 1.4 1.5H11s.5-.3.4-.7-.1-2.2 1.1-3.6 3.1-1.4 3.4-1.4c.3 0 .8-.1.8-.5V9.4zM6.4 6.7l1.1-.2h.1l.5-1.1c.1-.1.2-.1.2 0l.6 1.1 1.2.2c.1 0 .1.1.1.2l-.9.8v.1L9.5 9s-.1.1-.2.1l-1-.6h-.1l-1.1.6C7 9.1 6.9 9 7 9l.2-1.2s0-.1-.1-.1l-.8-.8c-.1-.1 0-.2.1-.2zm4.3 8c0 .3-.2.5-.5.5H7.1c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h3.1c.3 0 .5.2.5.4v.5zm2.6-2.9c0 .3-.2.5-.5.5H7.1c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h5.7c.3 0 .5.2.5.5v.4zm2.6 1.7c-1.9 0-3.4 1.5-3.4 3.4s1.5 3.5 3.4 3.5 3.4-1.6 3.4-3.5-1.5-3.4-3.4-3.4zm.6 3.7h-.3l-1.3 1.3c-.1.1-.2.1-.3.1-.1 0-.2 0-.3-.1-.1-.2-.1-.4 0-.6l1.3-1.3v-.3c0-.6.4-1.1 1-1.1h.3c.1 0 .1.1 0 .1l-.5.6c-.1 0-.1.1 0 .2l.4.4h.1l.6-.6h.1c0 .1.1.2.1.3-.1.6-.6 1.1-1.2 1z\"}},\nservice_crew:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.4 12.3h-.9v-1c0-1.5-.8-2.7-1.9-3.3v1.8c0 1-.8 1.8-1.7 1.8s-1.8-.8-1.8-1.8V8c-1.1.6-2 1.8-2 3.2v1.1h-.8c-.3 0-.5.2-.5.5s.2.5.5.5h9.1c.3 0 .5-.2.5-.5s-.2-.5-.5-.5zm-4.5-1.8c.4 0 .7-.3.7-.7V7.6H9.2v2.2c0 .4.3.7.7.7zM9.9 18.6c-2.2 0-3.9-1.9-3.9-4.3h1c0 1.8 1.3 3.3 2.9 3.3s2.9-1.5 2.9-3.3h.9c0 2.4-1.7 4.3-3.8 4.3zm5.8-11c.2 0 .5-.3.5-.5V5.5c-.2 0-.4-.1-.5-.1-.2 0-.3.1-.5.1v1.6c0 .2.2.5.5.5zm-.1 6.2v-1c1.1 0 1.9-.9 1.9-2.1h1c0 1.7-1.3 3.1-2.9 3.1zm3.1-5.1h-.5V8c0-.9-.5-1.8-1.3-2.2v1.3c0 .6-.6 1.2-1.2 1.2-.7 0-1.2-.6-1.2-1.2V5.7c-.8.4-1.4 1.3-1.4 2.2.5.5.8 1.1 1.1 1.8h4.5c.3 0 .5-.2.5-.5s-.2-.5-.5-.5z\"}},\nservice_crew_member:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.6 10.9h-1.4V9.4c0-2-1.1-3.7-2.7-4.6v2.6c0 1.4-1.1 2.5-2.5 2.5S9.6 8.8 9.6 7.4V4.8c-1.7.8-2.9 2.6-2.9 4.6v1.5H5.4c-.3 0-.6.3-.6.7v.1c0 .4.2.7.6.7h13.1c.4 0 .7-.3.7-.7v-.1c0-.4-.3-.7-.6-.7zM12 8.4c.6 0 1-.4 1-1V4.3c-.3-.1-.6-.1-1-.1-.3 0-.6 0-1 .1v3.1c0 .6.5 1 1 1zM12 19.8c-3 0-5.5-2.7-5.5-6h1.4c0 2.5 1.8 4.6 4.1 4.6s4.1-2.1 4.1-4.6h1.4c0 3.3-2.5 6-5.5 6z\"}},\nservice_report:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M17.2 6h-.4a.2.2 0 0 0-.3.2v1a1.9 1.9 0 0 1-1.9 1.9H9.4a1.9 1.9 0 0 1-1.9-1.9v-1a.2.2 0 0 0-.3-.2h-.4a1.4 1.4 0 0 0-1.5 1.4v10.4a1.4 1.4 0 0 0 1.5 1.4h10.4a1.4 1.4 0 0 0 1.5-1.4V7.4A1.4 1.4 0 0 0 17.2 6zm-6.9 9.8a.5.5 0 0 1-.4.5h-.5a.5.5 0 0 1-.5-.5v-2.4a.5.5 0 0 1 .5-.4h.5a.5.5 0 0 1 .4.4zm2.4 0a.5.5 0 0 1-.5.5h-.4a.5.5 0 0 1-.5-.5v-4.5a.5.5 0 0 1 .5-.5h.4a.5.5 0 0 1 .5.5zm2.4 0a.5.5 0 0 1-.5.5h-.5a.5.5 0 0 1-.4-.5v-3.6a.5.5 0 0 1 .4-.4h.5a.5.5 0 0 1 .5.4zM9.4 7.7h5.2a.5.5 0 0 0 .5-.5v-1a1.4 1.4 0 0 0-1.4-1.4h-3.4a1.4 1.4 0 0 0-1.4 1.4v1a.5.5 0 0 0 .5.5z\",\"fill-rule\":\"evenodd\"}},\nservice_resource:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M17.2 4.8H6.8a1.9 1.9 0 0 0-2 1.9v10.6a1.9 1.9 0 0 0 2 1.9h2.6c.3-1.1 1.5-1.7 2.9-2.3 1-.4 1.2-.8 1.2-1.2s-.3-.8-.7-1.2a2.7 2.7 0 0 1-.9-2.1c0-1.6 1.1-3 2.9-3s2.9 1.4 2.9 3a2.9 2.9 0 0 1-1 2.1c-.3.4-.6.8-.6 1.2s.1.8 1.2 1.2a10 10 0 0 1 1.8 1 1.7 1.7 0 0 0 .1-.6V6.7c0-1-.9-1.9-2-1.9zM11.4 8a.7.7 0 0 1-.6.7H7.4a.7.7 0 0 1-.7-.7v-.7a.7.7 0 0 1 .7-.6h3.4a.7.7 0 0 1 .6.6z\",\"fill-rule\":\"evenodd\"}},\nservice_territory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M13.6 14.9a1.8 1.8 0 0 1-1.8-1.7 1.7 1.7 0 0 1 1.8-1.8 1.7 1.7 0 1 1 0 3.5zm3.6-10.1H6.8a1.9 1.9 0 0 0-2 1.9v10.6a1.9 1.9 0 0 0 2 1.9h5.8c-1.2-1.1-3.2-3.3-3.2-5.6a4.2 4.2 0 0 1 8.3 0c0 2.3-2.1 4.5-3.3 5.6h2.8a1.9 1.9 0 0 0 2-1.9V6.7c0-1-.9-1.9-2-1.9zM11.4 8a.7.7 0 0 1-.6.7H7.4a.7.7 0 0 1-.7-.7v-.7a.7.7 0 0 1 .7-.6h3.4a.7.7 0 0 1 .6.6z\",\"fill-rule\":\"evenodd\"}},\nservice_territory_location:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M15.9 14.3c-.5 0-.9-.4-.9-1 0-.5.4-.9.9-.9s.9.4 1 .9c0 .5-.5 1-1 1zm-4.5 0c-.6 0-1-.4-1-1 0-.5.4-.9 1-.9s.9.4.9.9-.4 1-.9 1zm2.2 0c-.5 0-.9-.4-.9-1 0-.5.4-.9.9-.9s1 .4 1 .9-.4 1-1 1zm3.6-9.5H6.7c-1 0-1.9.9-1.9 1.9v10.7c0 1 .9 1.9 1.9 1.8h5.9c-1.2-1-3.3-3.3-3.3-5.6s1.9-4.1 4.2-4.1c2.3 0 4.1 1.8 4.1 4.1 0 2.4-2 4.6-3.2 5.6h2.8c1.1 0 1.9-.8 2-1.8V6.7c0-1-.9-1.9-2-1.9zM11.4 8c-.1.4-.4.7-.7.7H7.3c-.4 0-.7-.3-.7-.7v-.6c0-.4.3-.7.7-.7h3.4c.3 0 .7.3.7.7V8z\"}},\nservice_territory_member:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M10.3 10.1A1.7 1.7 0 0 1 12 8.4a1.7 1.7 0 1 1-1.7 1.7zM12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm.2 10.5a.3.3 0 0 1-.4 0c-.8-.5-3.3-2.8-3.3-5.1a3.5 3.5 0 0 1 7 0c0 2.3-2.5 4.5-3.3 5.1zm-6 .1h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z\",\"fill-rule\":\"evenodd\"}},\nshift:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.3 6.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5zm.9 3.9H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zM12 18.2c-2 0-3.6-1.6-3.6-3.6s1.6-3.5 3.6-3.5 3.6 1.6 3.6 3.5-1.6 3.6-3.6 3.6zm-.6-2.1s-.1 0-.2-.1L10 14.8v-.2l.3-.3h.2l.9 1 2.1-2.1h.2l.3.3v.2L11.7 16c-.1.1-.2.1-.3.1z\"}},\nshift_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.3 6.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5zm.9 3.9H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-8 4.3c0-.2.1-.3.2-.3h4.7c.1 0 .2.1.2.3v.5c0 .1-.1.3-.2.3h-4.7c-.1 0-.2-.2-.2-.3v-.5zm-1.1 2.9c0 .1-.1.2-.3.2h-.5c-.2 0-.3-.1-.3-.2v-.5c0-.2.1-.3.3-.3h.5c.2 0 .3.1.3.3v.5zm0-2.4c0 .1-.1.3-.3.3h-.5c-.2 0-.3-.2-.3-.3v-.5c0-.2.1-.3.3-.3h.5c.2 0 .3.1.3.3v.5zm0-2.4c0 .2-.1.3-.3.3h-.5c-.2 0-.3-.1-.3-.3V12c0-.1.1-.3.3-.3h.5c.2 0 .3.2.3.3v.5zm6.9 4.8c0 .1-.1.2-.3.2h-5.3c-.1 0-.2-.1-.2-.2v-.5c0-.2.1-.3.2-.3h5.3c.2 0 .3.1.3.3v.5zm0-4.8c0 .2-.1.3-.3.3h-5.3c-.1 0-.2-.1-.2-.3V12c0-.1.1-.3.2-.3h5.3c.2 0 .3.2.3.3v.5z\"}},\nshipment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M12.7 12.9v5.8c0 .2.1.3.3.3 0 0 .1 0 .1-.1 1.1-.6 4.6-2.6 4.6-2.6.5-.3.8-.7.8-1.3V9.8c0-.2-.1-.3-.3-.3 0 0-.1 0-.1.1L13 12.5c-.2 0-.3.2-.3.4zm-.5-1.7l5.2-2.9c.1 0 .2-.2.1-.3l-.1-.1c-1.1-.6-4.7-2.6-4.7-2.6-.4-.3-1-.3-1.4 0 0 0-3.6 1.9-4.7 2.6-.1.1-.2.2-.1.4h.1l5.2 2.9c.1.1.3.1.4 0zM11 12.5L5.9 9.6c-.1-.1-.3-.1-.4 0V15c0 .5.3 1 .8 1.3 0 0 3.5 2 4.6 2.6.1.1.3 0 .4-.1V12.9c0-.2-.1-.4-.3-.4z\"}},\nskill:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M10.5 11.2a1.3 1.3 0 1 1 1.3-1.3 1.3 1.3 0 0 1-1.3 1.3zm8.1 2.2l-1.8-2.6v-.2a5.8 5.8 0 0 0-5.7-5.8 5.3 5.3 0 0 0-1.4.2 5.7 5.7 0 0 0-4.3 5.6 5.3 5.3 0 0 0 .8 3c1 1.4 1.7 2.6 1.3 4.2a1.1 1.1 0 0 0 .2 1 1.1 1.1 0 0 0 .9.4h4.7a1.1 1.1 0 0 0 1.1-.9 1.2 1.2 0 0 0 0-.3.6.6 0 0 1 .6-.5h.4a1.1 1.1 0 0 0 1.1-.8 9.9 9.9 0 0 0 .3-2.3h1.3a.7.7 0 0 0 .5-.4.7.7 0 0 0 0-.6zm-4.8-2l-.2.3a.5.5 0 0 1-.5.3.6.6 0 0 1-.1-.1l-.7-.2a2.8 2.8 0 0 1-.9.5l-.1.7a.5.5 0 0 1-.5.4h-.5a.5.5 0 0 1-.5-.4l-.1-.7a2.4 2.4 0 0 1-.9-.5l-.6.3a.6.6 0 0 1-.2 0 .5.5 0 0 1-.4-.2l-.3-.4a.5.5 0 0 1 .2-.6l.5-.5a2.4 2.4 0 0 1 0-.5 2.3 2.3 0 0 1 0-.5l-.5-.4a.5.5 0 0 1-.2-.7l.3-.3a.5.5 0 0 1 .4-.3.6.6 0 0 1 .2.1l.7.2a2.8 2.8 0 0 1 .8-.5l.1-.7a.5.5 0 0 1 .5-.4h.5a.5.5 0 0 1 .5.4l.1.7a2.7 2.7 0 0 1 .9.5l.7-.3a.6.6 0 0 1 .1 0 .5.5 0 0 1 .5.2l.2.4a.5.5 0 0 1-.1.6l-.6.5a2.3 2.3 0 0 1 .1.5 2.3 2.3 0 0 1-.1.5l.6.4a.5.5 0 0 1 .1.7z\",\"fill-rule\":\"evenodd\"}},\nskill_entity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.6 13.4l-1.8-2.6v-.2c0-3.2-2.6-5.8-5.8-5.8-.4 0-.9 0-1.3.2-2.6.5-4.4 2.9-4.4 5.6 0 1.1.3 2.2.8 3 1.1 1.4 1.7 2.6 1.3 4.2-.1.3 0 .7.2 1 .2.3.6.4.9.4h4.7c.6 0 1.1-.4 1.2-.9V18c.1-.3.3-.5.6-.5h.3c.6 0 1-.3 1.2-.8.1-.5.3-1.3.3-2.3h1.3c.2 0 .4-.2.5-.4.1-.2.1-.5 0-.6zm-3.9-3.3c-.2.3-.5.5-1.1.5-2.9 0-3.2 2.1-3.2 3.2 0 .4-.3.8-.8.8h-.1c-.4 0-.7-.2-.8-.7-.1-.4-.4-.6-.7-.8-.2-.2-.4-.3-.5-.5-.3-.6-.5-1.2-.5-2.1C7 8.7 8.3 7 10 6.6c.4 0 .7-.1 1-.1 1.6 0 3.1 1 3.7 2.5.1 0 .3.6 0 1.1z\"}},\nskill_requirement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M12 13.9a1.6 1.6 0 1 1 1.6-1.6 1.6 1.6 0 0 1-1.6 1.6zm7.4-2.7h-1.3V6.4a1.6 1.6 0 0 0-1.7-1.6H7.6a1.6 1.6 0 0 0-1.7 1.6v4.8H4.6a.8.8 0 0 0 0 1.6h1.3v4.8a1.6 1.6 0 0 0 1.7 1.6h8.8a1.6 1.6 0 0 0 1.7-1.6v-4.8h1.3a.8.8 0 0 0 0-1.6zM16 14.3l-.3.4a.6.6 0 0 1-.5.3.7.7 0 0 1-.2 0l-.8-.3a3.4 3.4 0 0 1-1.1.6l-.1.9a.6.6 0 0 1-.6.5h-.6a.6.6 0 0 1-.6-.5l-.1-.9a2.9 2.9 0 0 1-1.1-.6l-.8.3a.7.7 0 0 1-.2.1.6.6 0 0 1-.6-.3l-.2-.5a.6.6 0 0 1 .1-.8l.7-.6a3.2 3.2 0 0 1-.1-.6 3 3 0 0 1 .1-.6l-.7-.6a.6.6 0 0 1-.1-.8l.2-.5a.6.6 0 0 1 .6-.3.7.7 0 0 1 .2.1l.8.3a3.3 3.3 0 0 1 1.1-.7l.1-.8a.6.6 0 0 1 .6-.5h.6a.6.6 0 0 1 .6.5l.1.8a3.3 3.3 0 0 1 1.1.6l.8-.3a.7.7 0 0 1 .2 0 .6.6 0 0 1 .5.3l.3.5a.6.6 0 0 1-.1.8l-.7.5a3 3 0 0 1 .1.7 3 3 0 0 1-.1.6l.7.6a.6.6 0 0 1 .1.8z\",\"fill-rule\":\"evenodd\"}},\nsms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M11.8 5.2c-4.1 0-7.3 2.9-7.3 6.6 0 1.2.3 2.3.9 3.3.1.1.1.3.1.5l-1 2.6c-.1.2.2.4.4.4l2.7-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 3.9 0 7.2-3 7.2-6.7 0-3.8-3.3-6.7-7.3-6.7zM8.9 13c-.1.1-.2.3-.4.4-.1.1-.2.2-.4.2-.2.1-.3.1-.5.1-.3 0-.5 0-.7-.1-.2-.1-.4-.3-.6-.4l-.1-.1s0-.1.1-.2l.5-.4c.1-.1.1-.1.1 0 .1 0 .1.1.1.1.1 0 .2.1.2.2.2.1.4.1.5 0h.2l.1-.1v-.1c0-.2 0-.2-.1-.2-.1-.1-.1-.2-.2-.2-.2 0-.3-.1-.5-.1-.1-.1-.3-.1-.4-.2l-.3-.3c-.1-.2-.2-.4-.2-.6 0-.2.1-.4.2-.6s.1-.2.3-.3c.1-.1.3-.2.4-.2.4-.1.8-.1 1.2 0 .1.1.3.2.4.2l.1.1c.1 0 0 .1 0 .2l-.5.4c0 .1-.1.1-.2 0h-.1c-.2-.1-.4-.2-.6-.1h-.1v.1c-.1 0-.1.1-.1.1 0 .1.1.1.1.2.1 0 .2.1.3.1.1 0 .2.1.4.1.1.1.3.1.4.2.2.1.3.2.4.4.1.1.1.3.1.5s0 .4-.1.6zm5 .4c0 .2-.1.3-.3.3h-.3c-.2 0-.3-.1-.3-.3v-1.8c0-.2-.2-.2-.3-.1l-.5 1.4c-.1.1-.2.2-.3.2h-.2c-.1 0-.3-.1-.3-.2l-.5-1.4c-.1-.1-.3-.1-.3.1v1.8c0 .2-.2.3-.4.3h-.3c-.2 0-.3-.1-.3-.3V10c0-.2.2-.3.3-.3h.8c.1 0 .2.1.3.2l.6 1.6c0 .1.2.1.2 0l.6-1.6c.1-.1.2-.2.3-.2h.8c.2 0 .3.1.3.3.1 0 .1 3.4.1 3.4zm3.2-.4c-.1.1-.2.3-.3.4-.1.1-.3.2-.5.2-.2.1-.3.1-.5.1s-.5 0-.7-.1-.4-.2-.6-.4v-.1c-.1 0 0-.1 0-.1l.5-.5c.1-.1.1-.1.2 0s0 .1 0 .1c.1.1.2.1.3.2.1.1.3.1.5.1 0-.1.1-.1.1-.1l.1-.1v-.1-.2c-.1-.1-.2-.1-.3-.2-.1 0-.3-.1-.4-.1-.2-.1-.3-.1-.5-.2l-.3-.3c-.1-.2-.2-.3-.2-.6 0-.2.1-.4.2-.5.1-.2.2-.3.3-.4.1-.1.3-.2.5-.2.3-.1.7-.1 1.1 0 .2.1.3.2.4.3l.1.1c.1 0 0 .1 0 .2l-.5.4c0 .1-.1.1-.2 0-.1 0-.1-.1-.1-.1-.1-.1-.4-.1-.6-.1l-.1.1-.1.1v.1c0 .1 0 .1.1.2 0 0 .1.1.2.1.2 0 .3.1.4.1.2.1.4.1.5.2.1.1.2.2.3.4.1.1.2.3.2.5.1.1 0 .3-.1.5z\"}},\nsnippet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M17.8 5.7c-2.9 0-5.1 2.3-5.1 5.2v6.9c0 .2.2.5.5.5h5.4c.3 0 .5-.3.5-.5v-5.5c0-.3-.2-.5-.5-.5h-4v-.9c0-1.6 1.6-3.2 3.2-3.2h.8c.3 0 .5-.3.5-.5v-1c0-.2-.2-.5-.5-.5h-.8zm-8 0c-2.9 0-5.1 2.3-5.1 5.2v6.9c0 .2.2.5.5.5h5.4c.3 0 .5-.3.5-.5v-5.5c0-.3-.2-.5-.5-.5h-4v-.9c0-1.6 1.6-3.2 3.2-3.2h.9c.2 0 .4-.3.4-.5v-1c0-.2-.2-.5-.4-.5h-.9z\"}},\nsnippets:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.2 6h-.4c-.2 0-.3.1-.3.3v.9c0 1.1-.9 1.9-1.9 1.9H9.4c-1.1 0-1.9-.8-1.9-1.9v-.9c0-.2-.1-.3-.3-.3h-.4c-.8 0-1.4.7-1.4 1.5v10.2c0 .8.6 1.4 1.4 1.4h10.4c.8 0 1.4-.6 1.4-1.4V7.5c.1-.8-.6-1.5-1.4-1.5zm-6.6 5.5s0 .2-.1.2c-.2.1-.3.1-.3.1-.1.1-.1.2-.1.4v.8c0 .2 0 .5-.1.6-.1.2-.2.3-.3.4 0 0-.1.1 0 .3.1 0 .2.1.2.2.1.2.2.4.2.7v.9c0 .2.1.3.1.4h.2v.1c.1 0 .2.1.2.2v.5c0 .1 0 .1-.2.1h-.2c-.3 0-.6-.1-.9-.3-.3-.2-.4-.5-.4-.9v-1c0-.2-.1-.4-.2-.5-.1-.1-.2-.1-.4-.2 0 0-.1 0-.1-.2v-.4s0-.1.1-.1c.2-.1.3-.2.4-.2.1-.1.2-.3.2-.6v-.8-.4c.1-.3.2-.5.4-.6.2-.2.4-.3.6-.3.1 0 .3-.1.5-.1.1 0 .2.1.2.3v.4zm5.2 2.9s0 .1-.1.1c-.3.1-.4.2-.4.2-.1.2-.2.3-.2.6v.9c0 .1 0 .2-.1.4 0 .2-.2.4-.3.6-.2.1-.4.2-.6.2-.1 0-.3.1-.5.1-.1 0-.2-.1-.2-.2v-.5s0-.2.1-.2c.2-.1.3-.1.3-.1.1-.1.1-.2.1-.4v-.8c0-.2 0-.4.1-.6.1-.1.2-.3.3-.3 0 0 .1-.2 0-.4-.1 0-.2-.1-.2-.2-.1-.1-.2-.4-.2-.7v-.8c0-.2-.1-.3-.1-.4 0 0-.1 0-.2-.1-.1 0-.2-.1-.2-.3V11c0-.1 0-.1.2-.1h.2c.3 0 .6.1.9.3.3.2.4.5.4.9v1c0 .2.1.4.2.5.1.1.2.2.4.2 0 0 .1 0 .1.2v.4zM9.4 7.7h5.2c.3 0 .5-.2.5-.5v-.9c0-.8-.7-1.4-1.4-1.4h-3.4c-.7 0-1.4.6-1.4 1.4v.9c0 .3.2.5.5.5z\"}},\nsobject:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6 5.4h1.2c-1.4 3.2-1.4 5.6 0 8.9H6c-1.6-3.7-1.6-5.2 0-8.9zm5.3 5.5c.1.6.2 1 .3 1.2.1.3.2.5.4.6.5-.3 1-.5 1.6-.5.4 0 .8.1 1.1.2.1 0 .1-.1.1-.2 0-.3-.2-.6-.5-.6-.1 0-.2.1-.3.1 0 0-.5.3-.7.1-.2-.3-.3-.7-.4-1.1-.1-.4-.2-.9-.3-1.3l.6-.9s.7.3 1 .3 1-.3 1-1.2c0-.9-.6-.9-.8-.9-.4 0-.8.3-1.1.9-.4.6-.7 1.2-.7 1.2h-.1c-.1-.4-.1-.8-.2-.9 0-.4-.5-1.2-1.3-1.2-.9 0-1.7.5-1.7.5-.2.1-.3.3-.3.5 0 .3.3.5.6.5h.2s.7-.4.8 0c.1.1.1.2.2.3.1.6.3 1.3.4 1.9l-.6.9s-.6-.3-1-.3c-.3 0-1 .3-1 1.2 0 .9.7.9.9.9.4 0 .7-.3 1.1-.9.3-.6.7-1.3.7-1.3zm6 1.9v.1c.1 0 .2-.1.3-.1.3 0 .6.1.9.2 1.1-2.8.9-4.4-.6-7.6h-1.2c1.3 2.8 1.4 4.9.6 7.4zm-2.5 1.1c.2-.2.6-.4 1-.4.5 0 .9.3 1.1.7.2-.1.5-.1.7-.1.9 0 1.6.7 1.6 1.6 0 .9-.7 1.6-1.6 1.6h-.3c-.2.3-.6.6-1 .6-.2 0-.4-.1-.6-.2-.2.5-.7.9-1.2.9-.6 0-1.1-.4-1.3-.9H13c-.7 0-1.3-.5-1.3-1.2 0-.5.2-.9.6-1.1-.1-.2-.1-.4-.1-.6 0-.8.7-1.4 1.5-1.4.4 0 .8.2 1.1.5z\"}},\nsobject_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.3 8.8c-1 2.2-1 3.2 0 5.5h.8c-.9-2.1-.9-3.5-.1-5.5h-.7zm7.1 4.3h.8c.5-1.6.4-2.5-.5-4.4H15c.7 1.6.8 2.9.4 4.4zm-4.5 2.7H6.6c-.3 0-.6-.2-.6-.6v-8h12v6.4c.4.1.8.2 1.2.4V6c0-.6-.6-1.2-1.2-1.2H6c-.6 0-1.2.6-1.2 1.2v9.8c0 .7.6 1.3 1.2 1.3h4.5c.1-.5.2-.9.4-1.3zm4-1.1c.2-.3.6-.4.9-.4.5 0 1 .2 1.2.6.2 0 .4-.1.7-.1.9 0 1.6.7 1.6 1.6 0 .9-.7 1.6-1.6 1.6h-.3c-.2.3-.6.6-1.1.6-.1 0-.3-.1-.5-.1-.2.4-.7.8-1.2.8-.6 0-1.1-.4-1.3-.9H13c-.7 0-1.2-.5-1.2-1.2 0-.5.2-.9.6-1.1-.1-.2-.1-.4-.1-.6 0-.8.6-1.4 1.4-1.4.5 0 .9.2 1.2.6zm-3.7-1.8c.2-.3.4-.7.4-.7.1.3.1.6.2.7.1.2.2.4.4.5.4-.3 1-.5 1.5-.5h.1c0-.2-.1-.3-.3-.3h-.2s-.3.2-.5 0c-.1-.1-.1-.3-.2-.6 0-.3-.1-.6-.1-.8l.3-.6s.4.2.6.2.6-.2.6-.7-.3-.6-.5-.6-.4.1-.7.5l-.4.8c-.1-.3-.1-.5-.1-.6-.1-.2-.3-.7-.9-.7-.5 0-1 .3-1 .3-.1 0-.2.2-.2.3 0 .2.2.3.4.3h.1s.4-.2.5 0c.1.1.1.1.1.2l.3 1.2-.4.5s-.4-.2-.6-.2-.6.2-.6.8.4.5.5.5c.2.1.5-.1.7-.5z\"}},\nsocial:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.8 13.7c-1.2 0-2.1.8-2.4 1.9h-3.1c-.2 0-.3.1-.3.3V16.8c-.1.1.1.2.2.2h3.4c.4.9 1.2 1.5 2.2 1.5 1.3 0 2.4-1.1 2.4-2.4s-1.1-2.4-2.4-2.4zm-6.4-2.8c-.3-.1-.6-.3-.8-.5-.1-.1-.3 0-.4.1l-1.7 3.2h-.3c-1.3 0-2.4 1.1-2.4 2.4s1.1 2.4 2.4 2.4 2.4-1.1 2.4-2.4c0-.7-.3-1.3-.7-1.8l1.6-3c.1-.2 0-.3-.1-.4zM12 9.8c.2 0 .5 0 .7-.1l1.6 3.1c.1.1.2.2.4.1.2-.2.5-.3.8-.4.1-.1.2-.2.1-.4l-1.7-3.2c.3-.4.5-.9.5-1.5C14.4 6.1 13.3 5 12 5S9.6 6.1 9.6 7.4s1.1 2.4 2.4 2.4z\"}},\nsolution:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.4 4.8C9.1 5.1 7.2 6.9 7 9.2c-.2 1.7.6 3.3 1.8 4.2.3.3.6.8.6 1.2 0 .7.5 1.3 1.2 1.3h2.8c.7 0 1.2-.6 1.2-1.3 0-.4.3-.9.6-1.2 1.1-.9 1.8-2.2 1.8-3.7 0-2.9-2.5-5.2-5.6-4.9zm2.8 12.5H9.8c-.2 0-.4.2-.4.5 0 .8.6 1.4 1.4 1.4h2.4c.8 0 1.4-.6 1.4-1.4 0-.3-.2-.5-.4-.5z\"}},\nsort:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.2 9c.2-.1.2-.4 0-.6L8.8 5c-.2-.2-.5-.2-.6 0L4.7 8.4c-.1.2-.1.5 0 .6l.7.7c.1.1.4.1.6 0l1.1-1.1c.1-.2.5-.1.5.2v6.3c0 .3.2.5.4.5h.9c.2 0 .5-.2.5-.5V8.8c0-.3.3-.4.5-.2l1 1.1c.2.1.5.1.7 0l.6-.7zm6.6 6l-.6-.6c-.2-.1-.5-.1-.7 0l-1 1.1c-.2.2-.5.1-.5-.2V8.9c0-.2-.3-.5-.5-.5h-.9c-.2 0-.4.3-.4.5v6.3c0 .3-.4.4-.5.3l-1.1-1.1c-.2-.2-.5-.2-.6 0l-.7.6c-.1.2-.1.5 0 .6l3.5 3.5c.1.1.4.1.6 0l3.4-3.5c.2-.1.2-.4 0-.6z\"}},\nsossession:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.9 4.3c-4.2.1-7.6 3.6-7.6 7.8.1 4.2 3.6 7.6 7.8 7.6 4.2-.1 7.6-3.6 7.6-7.8-.1-4.2-3.6-7.6-7.8-7.6zm0 1c1.2 0 2.2.3 3.2.8L14 7.8c-.6-.3-1.3-.5-2-.5s-1.4.2-2 .5L8.9 6.1c.9-.5 1.9-.8 3-.8zM7.8 14l-1.7 1.1c-.5-.9-.8-1.9-.8-3 0-1.2.3-2.3.8-3.2l1.7 1c-.3.7-.5 1.4-.5 2.1s.2 1.4.5 2zm4.3 4.7c-1.2 0-2.2-.3-3.2-.8l1.1-1.7c.6.3 1.3.5 2 .5s1.4-.2 2-.5l1.1 1.7c-.9.5-1.9.8-3 .8zm-.1-3c-2 0-3.7-1.7-3.7-3.7S10 8.3 12 8.3s3.7 1.7 3.7 3.7-1.7 3.7-3.7 3.7zm4.2-1.7c.3-.6.5-1.3.5-2s-.2-1.4-.5-2l1.7-1.1c.5.9.8 1.9.8 3 0 1.2-.3 2.3-.8 3.2L16.2 14z\"}},\nstage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":[{\"cx\":\"18.216\",\"cy\":\"12\",\"r\":\"1.008\"},{\"cx\":\"11.952\",\"cy\":\"12\",\"r\":\"1.008\"},{\"cx\":\"5.784\",\"cy\":\"12\",\"r\":\"1.008\"}],\"path\":{\"d\":\"M7.7 12c0 2.4 1.9 4.3 4.3 4.3s4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3S7.7 9.6 7.7 12zm7.2 0c0 1.6-1.3 2.9-2.9 2.9S9.1 13.6 9.1 12s1.3-2.9 2.9-2.9 2.9 1.3 2.9 2.9z\"}},\nstage_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"11.952\",\"cy\":\"12\",\"r\":\"1.008\"},\"path\":{\"d\":\"M18.2 11c-.3 0-.7.2-.8.5h-1.1C16 9.3 14.2 7.7 12 7.7s-4.1 1.6-4.3 3.8H6.6c-.1-.3-.5-.5-.8-.5-.6 0-1 .4-1 1s.4 1 1 1c.3 0 .7-.2.8-.5h1.1c.3 2.2 2.1 3.8 4.3 3.8 2.2 0 4-1.6 4.2-3.7h1.1c.2.2.5.4.9.4.5 0 1-.4 1-1s-.4-1-1-1zM12 14.9c-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\"}},\nsteps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.5 19.3h-2.1v-1.5h2.1v1.5zm0-.7zm-4.2.7h-2.1v-1.5h2.1v1.5zm-4.2 0H7v-1.5h2.1v1.5zm-2.8-1.8H4.8v-2.1h1.5v2.1zm12.9-.5h-1.5v-2.1h1.5V17zM6.3 13.3H4.8v-2.1h1.5v2.1zm12.9-.5h-1.5v-2.1h1.5v2.1zM6.3 9.1H4.8V7h1.5v2.1zm12.9-.5h-1.5V6.5h1.5v2.1zM17 6.2h-2.1V4.7H17v1.5zm-4.2 0h-2.1V4.7h2.1v1.5zm-4.2 0H6.5V4.7h2.1v1.5z\"}},\nstore:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.2 13.1h-.1c-.5-.1-.9-.2-1.3-.5-.2-.2-.3-.1-.4-.1v.1c-.5.3-1 .5-1.6.5-.6 0-1.2-.2-1.6-.6-.2-.1-.3 0-.3 0-.5.4-1.1.6-1.7.6-.6 0-1.1-.2-1.6-.5v-.1c-.2-.1-.3 0-.3 0-.5.4-1 .6-1.6.6 0 0-.1 0-.1.2v4.5c0 .1 0 .3.3.3h5.6c.2 0 .3-.2.3-.3v-3.2c0-.1.1-.2.3-.2h2.7c.1 0 .2.1.2.3v3c0 .3.2.4.3.4h.8c.1 0 .3-.1.3-.4v-4.3c0-.3-.1-.3-.2-.3zm-6 3.4v.1c0 .1-.1.3-.4.3H8.4c-.3 0-.4-.1-.4-.2v-1.8c0-.5.2-.5.3-.5h2.6c.1 0 .3.1.3.4v1.7zm5.7-4.6c.6.1 1.2 0 1.7-.5.3-.2.5-.6.6-1v-.1c-.1-.1-.2-.3-.2-.4L16.9 6c-.1-.1-.3-.1-.4-.1H7.4s-.3 0-.4.1c-.7 1.3-1.4 2.7-2.1 3.9 0 .1-.1.3-.1.5 0 .4.2.8.6 1.1.5.5 1.1.6 1.8.3.4-.1.7-.4.9-.7l.1-.1c.2-.1.3-.1.5.1.1.2.2.3.4.5.5.4 1.1.4 1.7.2.4-.1.7-.4.9-.7.1-.2.4-.2.6 0l.1.2c.3.4.7.6 1.2.6.4.1.8 0 1.2-.3.2-.1.4-.3.5-.5.1-.2.4-.2.5 0 .3.4.6.6 1 .7l.1.1z\"}},\nstore_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.5 10.8h-4.1c-.4 0-.6.4-.6.7 0 .1 0 .2.2.2h5c.1 0 .2-.1.2-.2 0-.3-.3-.7-.7-.7zm0 1.6h-4.1c-.1 0-.2.1-.2.2v4.8c0 .1.1.2.2.2h1.3c.1 0 .2-.1.2-.2v-.9c0-.1.1-.2.3-.2h.6c.1 0 .2.1.2.2v.9c0 .1.1.2.3.2h1.2c.1 0 .2-.1.2-.2v-4.7c0-.2-.1-.3-.2-.3zm-2.4 3.1c0 .1-.1.2-.2.2h-.4c-.2 0-.3-.1-.3-.2V15c0-.1.1-.2.3-.2h.4c.1 0 .2.1.2.2v.5zm0-1.6c0 .1-.1.2-.2.2h-.4c-.2 0-.3-.1-.3-.2v-.4c0-.2.1-.3.3-.3h.4c.1 0 .2.1.2.3v.4zm1.6 1.6c0 .1-.1.2-.2.2H17c-.1 0-.2-.1-.2-.2V15c0-.1.1-.2.2-.2h.5c.1 0 .2.1.2.2v.5zm0-1.6c0 .1-.1.2-.2.2H17c-.1 0-.2-.1-.2-.2v-.4c0-.2.1-.3.2-.3h.5c.1 0 .2.1.2.3v.4zm-5-7.6H5.9c-.6 0-1.1.5-1.1 1.1v.1c0 .2.2.3.4.3h8.3c.2 0 .4-.1.4-.3v-.1c-.1-.5-.6-1.1-1.2-1.1zm0 2.7H5.9c-.2 0-.4.1-.4.4v7.9c0 .2.2.4.4.4H8c.2 0 .4-.2.4-.4v-1.5c0-.2.2-.4.4-.4h1.1c.2 0 .3.2.3.4v1.5c0 .2.2.4.4.4h2.1c.2 0 .4-.2.4-.4V9.4c0-.3-.2-.4-.4-.4zm-3.9 5.1c0 .2-.2.3-.4.3h-.8c-.2 0-.4-.1-.4-.3v-.8c0-.2.2-.4.4-.4h.8c.2 0 .4.2.4.4v.8zm0-2.7c0 .2-.2.4-.4.4h-.8c-.2 0-.4-.2-.4-.4v-.7c0-.2.2-.4.4-.4h.8c.2 0 .4.2.4.4v.7zm2.6 2.7c0 .2-.2.3-.4.3h-.7c-.2 0-.4-.1-.4-.3v-.8c0-.2.2-.4.4-.4h.7c.2 0 .4.2.4.4v.8zm0-2.7c0 .2-.2.4-.4.4h-.7c-.2 0-.4-.2-.4-.4v-.7c0-.2.2-.4.4-.4h.7c.2 0 .4.2.4.4v.7z\"}},\nstrategy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M18.3 9.8h-2.5c-.5 0-.9.4-.9 1v.6h-2.3V6.6c0-.1-.1-.3-.3-.3H9.1v-.6c0-.5-.4-.9-.9-.9H5.7c-.5 0-.9.4-.9.9v2.5c0 .5.4.9.9.9h2.5c.5 0 .9-.4.9-.9v-.6h2.3v3.8H9.1v-.6c0-.5-.4-1-.9-1H5.7c-.5 0-.9.5-.9 1v2.4c0 .5.4 1 .9 1h2.5c.5 0 .9-.5.9-1v-.6h2.3v3.8H9.1v-.6c0-.5-.4-.9-.9-.9H5.7c-.5 0-.9.4-.9.9v2.5c0 .5.4.9.9.9h2.5c.5 0 .9-.4.9-.9v-.6h3.2c.2 0 .3-.2.3-.3v-4.8h2.3v.6c0 .5.4.9.9.9h2.5c.5 0 .9-.4.9-.9v-2.4c0-.6-.4-1-.9-1zM8.2 8.2H5.7V5.7h2.5v2.5zm0 .4v-.4.4zm0 4.6H5.7v-2.4h2.5v2.4zm0 .5v-.5.5zm0 4.6H5.7v-2.5h2.5v2.5zm0 .4v-.4.4zm10.1-5.5h-2.5v-2.4h2.5v2.4zm0 .5v-.5.5z\"}},\nsurvey:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.8 5.5h10.5c.5 0 1 .5 1 1v.9c0 .6-.5 1-1 1H5.8c-.6 0-1-.4-1-1v-.9c0-.5.4-1 1-1zm0 4.3h6c.5 0 .9.5.9 1v1c0 .5-.4.9-.9.9h-6c-.6 0-1-.4-1-.9v-1c0-.5.4-1 1-1zm10 2.7c1.9 0 3.4 1.5 3.4 3.3s-1.5 3.4-3.4 3.4-3.3-1.5-3.3-3.4 1.5-3.3 3.3-3.3zm1.9 2.6c.1-.1.1-.2 0-.3l-.3-.3c-.1-.1-.3-.1-.4 0l-1.8 2-.8-.8c-.1-.1-.2-.1-.3 0l-.3.3c-.1.1-.1.2 0 .3l1.1 1.1c.1.1.2.2.3.2.2 0 .3-.1.4-.2l2.1-2.3zm-11.9-.9h5.5c-.2.5-.3 1-.3 1.4 0 .5.1 1 .2 1.4H5.8c-.6 0-1-.4-1-.9v-1c0-.5.4-.9 1-.9z\"}},\nsystem_and_global_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.7 18.1c0-.8.4-1.5 1-1.9v-.9c-.3-.2-.5-.5-.6-.9-.1-.5 0-1.1.3-1.5l.3-.3c.1 0 .2-.1.3-.2.7-.3 1.4-.5 2.1-.5.6 0 1.2.2 1.6.6.6-.6 1.2-.7 1.6-.7.3 0 .6.1.9.2 0-4-3.2-7.2-7.2-7.2S4.8 8 4.8 12c0 3.9 3.2 7.2 7.2 7.2-.2-.3-.3-.6-.3-1.1zm6-6.8h-1.9c-.1-1.7-.4-3.2-1-4.3 1.6.8 2.7 2.4 2.9 4.3zm-5-4.7c.8.6 1.6 2.4 1.7 4.7h-1.7V6.6zm-6.4 6.1h1.9c.1 1.7.4 3.2 1 4.3-1.6-.8-2.7-2.4-2.9-4.3zm1.9-1.4H6.3C6.5 9.4 7.6 7.8 9.2 7c-.6 1.1-.9 2.6-1 4.3zm3.1 6.1c-.8-.6-1.6-2.4-1.7-4.7h1.7v4.7zm0-6.1H9.6c.1-2.3.9-4.1 1.7-4.7v4.7zm6.8 3.7c.3 0 1-.3 1-1.1s-.6-.9-.8-.9c-.4 0-.7.3-1 .8-.4.6-.7 1.2-.7 1.2h-.1c0-.4-.1-.7-.1-.8-.1-.4-.5-1.1-1.3-1.1s-1.6.5-1.6.5c-.1.1-.2.2-.2.4 0 .3.2.5.5.5.1 0 .1 0 .2-.1 0 0 .6-.3.8 0 0 .1 0 .3.1.4.1.5.3 1.2.4 1.7l-.5.8s-.6-.2-1-.2-.9.2-.9 1 .6.9.8.9c.3 0 .7-.3 1-.8.3-.6.7-1.2.7-1.2.1.5.2.9.2 1.1.2.6.7.9 1.3.9 0 0 .7 0 1.4-.4.2-.1.3-.3.3-.5s-.2-.5-.5-.5c-.1 0-.1.1-.2.1 0 0-.5.3-.7.1-.2-.3-.3-.6-.4-1 0-.4-.1-.8-.2-1.3l.5-.8c.1.1.7.3 1 .3z\"}},\ntask:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.2 5.7l-.5-.5c-.2-.2-.4-.2-.5 0L7 8.4 5.7 7.1c-.1-.2-.3-.2-.5 0l-.5.5c-.1.1-.1.3 0 .5l1.8 1.8c.1.1.3.2.5.2s.4-.1.5-.2l3.7-3.7c.1-.1.1-.4 0-.5zm7.3 3.4h-6.3c-.2 0-.4-.2-.4-.5v-.9c0-.3.2-.5.4-.5h6.3c.2 0 .5.2.5.5v.9c0 .3-.3.5-.5.5zm0 4.3h-7.7c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h7.7c.2 0 .5.2.5.5v1c0 .2-.3.4-.5.4zm-10.6 0H7c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm0 4.4H7c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5h.9c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5zm10.6 0h-7.7c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5h7.7c.2 0 .5.3.5.5v1c0 .2-.3.5-.5.5z\"}},\ntask2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.2 17c-.3 0-.6-.1-.8-.3l-4.5-4.5c-.1-.2-.1-.5 0-.7l.9-.8c.2-.2.5-.2.7 0l3.7 3.7 7.3-7.3c.2-.2.5-.2.7 0l.9.9c.1.2.1.4 0 .6L11 16.7c-.2.2-.5.3-.8.3z\"}},\nteam_member:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M13.7 10.6h-2.9c-.8 0-1.4.6-1.4 1.4v2.2c0 .2.1.5.2.6.2.2.5.3.7.3v2.2c0 .8.7 1.4 1.5 1.4h.9c.8 0 1.5-.6 1.5-1.4v-2.2c.2 0 .5-.1.6-.3.2-.1.3-.4.3-.6V12c0-.8-.6-1.4-1.4-1.4z\"},{\"d\":\"M8.8 16c-.1 0-.1-.1-.2-.1-.4-.5-.7-1.1-.7-1.7V12c0-.8.3-1.5.8-2 .2-.1 0-.4-.2-.4H6.2c-.8 0-1.4.6-1.4 1.4v2.2c0 .3.1.5.3.7.2.1.4.3.7.3v2.1c0 .8.6 1.5 1.4 1.5h1c.2 0 .4-.1.5-.2.1 0 .2-.1.2-.2v-1.2c0-.1 0-.1-.1-.2z\"},{\"d\":\"M18.2 9.6h-2.3c-.2 0-.3.2-.1.4.5.5.8 1.2.8 2v2.2c0 .6-.3 1.2-.7 1.7-.1 0-.1.1-.2.1-.1.1-.1.1-.1.2v1.2c0 .1 0 .2.1.2.2.1.4.2.6.2h1c.8 0 1.4-.7 1.4-1.5v-2.1c.3 0 .5-.1.7-.3.2-.2.3-.4.3-.7V11c0-.8-.7-1.4-1.5-1.4z\"}],\"circle\":[{\"cx\":\"12.24\",\"cy\":\"7.92\",\"r\":\"1.68\"},{\"cx\":\"7.68\",\"cy\":\"6.96\",\"r\":\"1.68\"},{\"cx\":\"16.8\",\"cy\":\"6.96\",\"r\":\"1.68\"}]},\ntemplate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm-7.5 11.8c0 .2-.2.3-.4.3H7.3c-.2 0-.3-.2-.3-.4v-4.8c0-.2.2-.3.3-.3h2.5c.2 0 .4.2.4.4v4.8zm6.8 0c0 .2-.2.4-.4.4H12c-.2 0-.4-.2-.4-.4v-4.9c0-.2.2-.3.4-.3h4.7c.1 0 .3.2.3.4v4.8zm0-7c0 .2-.2.3-.4.3H7.3c-.2 0-.3-.2-.3-.4V7.4c0-.2.2-.4.3-.4h9.4c.2 0 .3.2.3.4v2.2z\"}},\ntext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 18.7c-.1-1-.1-2-.1-3v-1.5c0-.4.1-.9-.1-1.3-.4-1-1.7-1.2-2.6-1.2-.5 0-1 .1-1.5.2-.3.1-.6.2-.9.4l.3.7c.1.2.1.3.1.5.6-.3 1.2-.5 1.9-.5 1 0 1.4.4 1.4 1.2v.3H17c-1.2 0-2.1.2-2.8.6-.7.4-1 1-1 1.9 0 .7.2 1.3.6 1.7.5.4 1 .5 1.7.5.6 0 1 0 1.4-.2s.7-.4.9-.7h.1c0 .1 0 .4.1.8h1.2v-.4zm-1.4-2.4c0 .1-.1.3-.1.5-.1.1-.1.2-.2.3-.3.4-.8.7-1.3.8-.3 0-.6 0-.9-.1-.3 0-.5-.1-.6-.4-.2-.3-.2-.8.1-1.1.1-.2.3-.3.5-.4.6-.2 1.3-.2 1.9-.2h.6v.6zm-4.6-2.8L9.8 5.1c-.1-.2-.2-.3-.4-.3H8.3c-.1 0-.3.1-.4.3l-3.1 8.4c0 .2.1.4.2.4h1.2c.2 0 .4-.2.4-.3l.8-2.2h3.1l.9 2.2c0 .1.2.3.4.3h1.1c.2 0 .4-.2.3-.4zM8 9.7l.9-2.3 1 2.3H8z\"}},\ntext_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.2 15.3c0-.9.7-1.5 1.6-1.5h2c-.4-.6-.3-1.3.2-1.8v-.1l.5-.5c.3-.2.7-.4 1.1-.4V6c0-.6-.6-1.2-1.2-1.2H6c-.6 0-1.2.5-1.2 1.2v8.4c0 .6.6 1.2 1.2 1.2h4.2v-.3zM6.6 6.6c0-.1.1-.2.3-.2h1.8c.2 0 .3.1.3.2v.9c0 .2-.1.3-.3.3H6.9c-.2 0-.3-.1-.3-.3v-.9zm0 2.7c0-.2.1-.3.3-.3h6.6c.1 0 .3.1.3.3v.8c0 .2-.2.3-.3.3H6.9c-.1 0-.3-.1-.3-.3v-.8zm0 3.4v-.8c0-.2.1-.3.3-.3h5.4c.2 0 .3.1.3.3v.8c0 .2-.1.3-.3.3H6.9c-.2 0-.3-.1-.3-.3zm9.3-.4v-.1c-.2-.1-.4-.1-.5.1l-.5.4c-.1.2-.1.4 0 .5l1.3 1.3c.1.1.1.1.1.2 0 .2-.1.3-.2.3h-4.3c-.2 0-.4.1-.4.3v.7c0 .2.2.3.4.4H16.2c.1.1.1.3 0 .4l-1.3 1.3c-.1.1-.1.4 0 .5l.5.5c.1.1.3.1.5 0l3.1-3.2c.2-.1.2-.3 0-.5l-3.1-3.1z\"}},\ntextarea:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 19.2H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4v11.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.3.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.2 0-.5.2-.5.5zm8.2 5.1c.2 0 .4.2.4.5v2.1c0 .2-.2.4-.4.4h-2.3c-.2 0-.4-.2-.4-.4s0-.4.2-.5l.4-.4c.3-.3.7-.6 1-.9l.6-.6c.1 0 .2-.1.2-.1.1-.1.2-.1.3-.1z\"}},\ntextbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 19.2H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4v11.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.3.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.2 0-.5.2-.5.5zm2 7.7V9.1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v5.8c0 .2-.2.4-.5.4h-.9c-.3 0-.5-.2-.5-.4z\"}},\nthanks:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.8 8.4h-2.1c.6-.9.5-2.2-.2-3-.4-.4-1-.6-1.6-.6-.6 0-1.2.3-1.7.8-.1.1-.1.2-.2.3-.1-.1-.1-.2-.2-.3-.5-.5-1.1-.8-1.7-.8-.6 0-1.1.2-1.6.6-.7.8-.7 2.1-.1 3H6.2c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5h13.4c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4zm-6.5 0c-.5 0-1.2-.2-1.7-.6-.3-.4-.4-1 0-1.3.1-.2.3-.2.5-.2s.4.1.6.3c.4.4.6 1.2.6 1.7v.1zm3.1-.6c-.5.4-1.2.6-1.7.6v-.1c0-.5.2-1.3.6-1.7.2-.2.4-.4.6-.4.2 0 .4.1.5.2.3.4.3 1 0 1.4zm3.4 4.9h-5.1v6.5h4.1c.8 0 1.4-.6 1.4-1.4v-4.6c0-.3-.2-.5-.4-.5zm-12 .5v4.6c0 .8.6 1.4 1.4 1.4h4.1v-6.5H6.2c-.2 0-.4.2-.4.5z\"}},\nthanks_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M17.8 8.4h-2.1c.6-.9.5-2.2-.2-3-.4-.4-1-.6-1.6-.6-.6 0-1.2.3-1.7.8-.1.1-.1.2-.2.3-.1-.1-.1-.2-.2-.3-.5-.5-1.1-.8-1.7-.8-.6 0-1.1.2-1.6.6-.7.8-.7 2.1-.1 3H6.2c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5h13.4c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4zm-6.5 0c-.5 0-1.2-.2-1.7-.6-.3-.4-.4-1 0-1.3.1-.2.3-.2.5-.2s.4.1.6.3c.4.4.6 1.2.6 1.7v.1zm3.1-.6c-.5.4-1.2.6-1.7.6v-.1c0-.5.2-1.3.6-1.7.2-.2.4-.4.6-.4.2 0 .4.1.5.2.3.4.3 1 0 1.4zm3.4 4.9h-5.1v6.5h4.1c.8 0 1.4-.6 1.4-1.4v-4.6c0-.3-.2-.5-.4-.5zm-12 .5v4.6c0 .8.6 1.4 1.4 1.4h4.1v-6.5H6.2c-.2 0-.4.2-.4.5z\"}},\ntimesheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17 4.8H7c-1 0-1.9.8-1.9 1.9v10.6c0 1 .9 1.9 1.9 1.9h10c1 0 1.9-.9 1.9-1.9V6.7c0-1.1-.9-1.9-1.9-1.9zm-.6 11.3c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.6c0-.4.3-.7.6-.7h7.5c.4 0 .7.3.7.7v.6zm0-3.8c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.6c0-.3.3-.6.6-.6h7.5c.4 0 .7.3.7.6v.6zm0-3.7c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.7c0-.3.3-.6.6-.6h7.5c.4 0 .7.3.7.6v.7z\"}},\ntimesheet_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17 4.8H7c-1 0-1.9.8-1.9 1.9v10.6c0 1 .9 1.9 1.9 1.9h10c1 0 1.9-.9 1.9-1.9V6.7c0-1.1-.9-1.9-1.9-1.9zm-.6 11.3c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.6c0-.4.3-.7.6-.7h7.5c.4 0 .7.3.7.7v.6zM9.8 12l.4-.3c0-.1.2-.1.3 0l.9.8 2.1-2.1c.1-.1.3-.1.3 0l.4.3c.1.1.1.3 0 .3l-2.5 2.6c-.1.1-.2.1-.3.1-.1 0-.3 0-.4-.1l-1.2-1.2c-.1-.2-.1-.3 0-.4zm6.6-3.4c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.7c0-.3.3-.6.6-.6h7.5c.4 0 .7.3.7.6v.7z\"}},\ntimeslot:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M17 4.8H7a1.9 1.9 0 0 0-1.9 1.9v10.6A1.9 1.9 0 0 0 7 19.2h10a1.9 1.9 0 0 0 1.9-1.9V6.7A1.9 1.9 0 0 0 17 4.8zM7.6 7.9a.6.6 0 0 1 .7-.6h3.2a.6.6 0 0 1 .6.6v.6a.6.6 0 0 1-.6.7H8.3a.6.6 0 0 1-.7-.7zm8.7 8.2a.6.6 0 0 1-.6.6h-3.2a.6.6 0 0 1-.6-.6v-.6a.6.6 0 0 1 .6-.7h3.2a.6.6 0 0 1 .6.7zm.1-3a.7.7 0 0 1-.6.6H8.3a.6.6 0 0 1-.7-.6v-2.2a.6.6 0 0 1 .7-.6h7.5a.6.6 0 0 1 .6.6z\",\"fill-rule\":\"evenodd\"}},\ntoday:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 13c-3.2 0-5.8-2.6-5.8-5.8S8.8 6.2 12 6.2s5.8 2.6 5.8 5.8-2.6 5.8-5.8 5.8zm.7-6.1V8.6c0-.2-.2-.4-.5-.4h-.4c-.3 0-.5.2-.5.4V12c0 .2.1.4.2.5l2.3 2.3c.2.2.5.2.7 0l.3-.3c.2-.2.2-.5 0-.7l-2.1-2.1z\"}},\ntopic:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.7 8.9c.1.2.2.3.4.4l.5.1c.1 0 .2 0 .3-.1l1.1-2c.3-.4.1-.6-.4-.3l-1.9 1.1c-.1.1-.2.2-.1.3l.1.5zm-6.6.4c.1.1.2.1.3.1l.5-.1c.2-.1.3-.2.4-.4l.1-.5c0-.1 0-.2-.1-.3L7.3 7c-.4-.3-.6-.1-.3.4l1.1 1.9zm7.8 5.4c-.1-.1-.2-.1-.3-.1l-.5.1c-.2.1-.3.2-.4.4l-.1.5c0 .1 0 .2.1.3l2 1.1c.4.3.6.1.3-.4l-1.1-1.9zm-6.6.4c-.1-.2-.2-.3-.4-.4l-.5-.1c-.1 0-.2 0-.3.1l-1.1 2c-.3.4-.1.6.4.3l1.9-1.1c.1-.1.2-.2.1-.3l-.1-.5zm9.5-3.3l-4.9-1.4c-.2 0-.3-.1-.3-.3l-1.4-4.9c-.1-.5-.3-.5-.5 0l-1.3 4.9c0 .2-.2.3-.3.3l-4.9 1.4c-.5.1-.5.3 0 .5l4.9 1.3c.2 0 .3.2.3.3l1.4 4.9c.1.5.3.5.5 0l1.3-4.9c0-.2.2-.3.3-.3l4.9-1.4c.5-.1.5-.3 0-.4zM12 13.2c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2z\"}},\ntopic2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.8 8.2h-1.9l.8-3.1V5c0-.1-.1-.2-.3-.2h-1.5c-.1 0-.2.1-.2.2l-.8 3.2h-3.8l.8-3.1V5c0-.1-.1-.2-.2-.2h-1.5c-.2 0-.3.1-.3.2l-.8 3.2H7c-.2 0-.2.1-.3.2l-.4 1.4v.1c0 .1.1.2.3.2h2l-1 3.7h-2c-.1 0-.2 0-.2.1L5 15.4c0 .1.1.2.2.2h1.9l-.8 3.2v.1c0 .1.1.2.3.2h1.5c.1 0 .2-.1.2-.2l.8-3.3h3.8l-.8 3.2c0 .2.1.3.2.3h1.5c.2 0 .3-.1.3-.2l.8-3.3H17c.1 0 .2-.1.3-.2l.3-1.4v-.1c0-.1-.1-.2-.2-.2h-2l1-3.7h2c.1 0 .2 0 .2-.2l.4-1.4c0-.1-.1-.2-.2-.2zm-5.4 5.6H9.6l1-3.6h3.8l-1 3.6z\"}},\ntrailhead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.4 14.5h.9l-.4-1.3.4-1.4h-1.5c-.2-.8-.6-1.6-1.1-2.4-.5-.7-1.1-1.4-1.9-2.1-.7-.6-1.6-1.1-2.8-1.6h-.1s-.4.2-1 .4c-.5.3-1 .6-1.6 1.1-.9.6-1.9 1.6-2.6 3-.2.5-.4 1-.6 1.6H4.8l.4 1.4-.4 1.3h.7v2.2l.1.1s.7.3 1.8.7c1.2.4 2.8.8 4.7.8 1.5 0 3.2-.3 4.9-.9.5-.2.9-.4 1.4-.6l.1-.1v-.1-.8c0-.3 0-.8-.1-1.3zm-13-.5l.2-.8-.2-.9h13.2l-.2.9.2.8H5.4zm2.4-2.2l.9-1.6v-.1l.9-1.3 1.3 1.7.8-.8.9 1.1 1.4-2 2.2 3H7.8zm-.9-.9c.2-.4.3-.7.5-1 .1-.1.1-.1.1-.2l.1-.1c1.8-2.7 4.3-3.5 4.3-3.5h.1c1.8.8 3.1 1.9 4 3.1.2.4.5.7.7 1.1.3.5.5 1 .6 1.5h-.5c-.7-2-2.1-4-4.9-5.2-.5.2-3.5 1.3-4.9 5.2h-.5c.1-.3.2-.6.4-.9zM18 16.3v.1l-.1.1c-2 1-4.1 1.4-5.8 1.4-3.2 0-5.6-1.2-6-1.4l-.1-.1h-.1v-.1c0-.6.1-1.2.1-1.8h.5c-.1.5-.1 1.1-.1 1.7.5.2 2.2.9 4.5 1.2.5-.3.9-1 0-1.7s-.1 0-.1 0v-.1h-.1v-.1-.1c-.2-.3 0-.6.7-.6.3 0 1.1 0 .8-.3h.4c.2.3.2.6-1 .7-.2.1-.2.1-.2.2h.2c1.2.3 1.5 1.2 1.4 1.8 1.4-.1 2.9-.4 4.5-1.2 0-.3 0-.9-.1-1.6h.5c0 .1 0 .3.1.4.1.9 0 1.4 0 1.5z\"}},\nunmatched:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.8 11.2c-.1-.1-.2-.2-.3-.2h-7c-.1 0-.2.1-.3.2v1.6c.1.1.2.2.3.2h7c.1 0 .2-.1.3-.2V12v-.8zM12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 12.5c-2.9 0-5.3-2.4-5.3-5.3S9.1 6.7 12 6.7s5.3 2.4 5.3 5.3-2.4 5.3-5.3 5.3z\"}},\nuser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 17.1v.7c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4v-.7c0-1.8 2-2.8 4-3.7 0 0 .1 0 .2-.1.1 0 .3 0 .4.1.8.5 1.7.8 2.6.8.9 0 1.8-.3 2.6-.8.1-.1.3-.1.4 0 .1 0 .2 0 .2.1 2 .8 4 1.8 4 3.6z\"},\"ellipse\":{\"cx\":\"12\",\"cy\":\"8.76\",\"rx\":\"3.576\",\"ry\":\"3.96\"}},\nuser_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.6 15.2c0-.8.2-1.7.7-2.5.5-.8 1-1.2 1.5-1.9.7-1.1.9-2.7.4-3.9-.5-1.2-1.6-1.9-2.9-1.9s-2.4.9-2.8 2.1c-.5 1.3-.3 3 .8 4 .4.4.8 1 .6 1.7-.2.6-.9.8-1.4 1.1-1.2.5-2.6 1.2-2.8 2.6-.3 1.1.5 2.3 1.7 2.3h5.1c.3 0 .4-.3.3-.5-.8-.9-1.2-2-1.2-3.1zm4.8-3.6c-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.6zm.6 3.9h-.3l-1.4 1.3c-.1.1-.2.2-.3.2-.1 0-.2-.1-.2-.2-.2-.1-.2-.4 0-.6l1.3-1.3v-.3c-.1-.6.4-1.2 1.1-1.2h.2c.1 0 .1.1.1.1l-.7.6v.2l.4.4h.2l.6-.6h.1c0 .1.1.2.1.3 0 .7-.5 1.2-1.2 1.1z\"}},\nvariable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17 9.5c.8 0 2.2-.6 2.2-2.5s-1.4-2.1-1.8-2.1c-.9 0-1.7.7-2.5 1.9-.7 1.4-1.6 2.8-1.6 2.8-.2-.9-.3-1.7-.4-2-.1-.8-1.1-2.6-3-2.6S6.2 6.1 6.2 6.1c-.3.3-.5.6-.5 1 0 .7.5 1.2 1.2 1.2.2 0 .3 0 .5-.1 0 0 1.4-.8 1.7 0 .1.2.2.5.3.8.4 1.2.7 2.7 1 4.1l-1.2 1.8s-1.4-.5-2.2-.5-2.2.6-2.2 2.5S6.2 19 6.6 19c.9 0 1.7-.6 2.5-1.9.7-1.3 1.6-2.8 1.6-2.8.2 1.2.4 2.2.5 2.6.5 1.3 1.6 2.2 3.1 2.2 0 0 1.5 0 3.3-1.1.4-.1.7-.6.7-1 0-.7-.5-1.2-1.2-1.2-.2 0-.3 0-.5.1 0 0-1.2.7-1.7.2-.3-.6-.5-1.4-.7-2.4-.2-.8-.4-1.8-.6-2.8L14.8 9c.1 0 1.5.5 2.2.5z\"}},\nvisit_templates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.2 13.9c-.3 0-.5-.2-.5-.5V13c0-.3.2-.5.5-.5H12c.1 0 .2 0 .3.1.8-.8 1.9-1.4 3.1-1.5V6.2c0-.8-.7-1.4-1.5-1.4H6.2c-.8 0-1.4.6-1.4 1.4v8.2c0 .8.6 1.4 1.4 1.4H11c0-.6.2-1.3.4-1.9H7.2zm-.5-6.7c0-.3.2-.5.5-.5H12c.3 0 .5.2.5.5v.5c0 .2-.2.5-.5.5H7.2c-.3 0-.5-.3-.5-.5v-.5zm0 2.9c0-.3.2-.5.5-.5H13c.2 0 .4.2.4.5v.5c0 .2-.2.4-.4.4H7.2c-.3 0-.5-.2-.5-.4v-.5zm9.1 2.4c-1.8 0-3.3 1.5-3.3 3.3s1.5 3.4 3.3 3.4 3.4-1.5 3.4-3.4-1.5-3.3-3.4-3.3zm1.9 2.5l-2.1 2.3c-.1.1-.2.2-.3.2-.2 0-.3-.1-.4-.2l-1.1-1.1c-.1-.1-.1-.2 0-.3l.3-.3c.1-.1.3-.1.3 0l.9.8 1.8-2c.1-.1.2-.1.3 0l.3.3c.1.1.1.2 0 .3z\"}},\nvisits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M12.1 12.7c.7-.9 1.3-1.3 1.7-2 .8-1.2 1-2.8.5-4.1-.5-1.2-1.7-2-3.1-1.9s-2.4.8-2.9 2.1c-.5 1.4-.3 3.1.9 4.1.4.5.9 1.1.6 1.8-.2.6-.9.9-1.5 1.1-1.2.6-2.6 1.3-2.9 2.7-.2 1.2.6 2.4 1.8 2.4h5.6c.3 0 .5-.3.4-.4-.8-.9-1.6-2.1-1.6-3.3-.1-.8.1-1.8.5-2.5zm3.5 3.2c-.7 0-1.2-.5-1.2-1.1s.5-1.2 1.2-1.2c.6 0 1.2.5 1.2 1.2 0 .6-.6 1.1-1.2 1.1zm0-4c-1.6 0-2.9 1.3-2.9 2.9 0 1.9 2 3.8 2.7 4.2.1.1.2.1.3 0 .7-.5 2.7-2.3 2.7-4.2 0-1.6-1.3-2.9-2.8-2.9z\"}},\nvisualforce_page:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M13.3 12.9c-.1 0-.3-.2-.3-.3v-1.8c0-.1.1-.3.3-.3h1.8c.1 0 .3.2.3.3v1.8c0 .1-.1.3-.3.3h-1.8zm.8 1L13 15v.3l1.1 1.1c0 .1.2.1.2 0l1.1-1.1V15l-1.1-1.1c0-.1-.2-.1-.2 0z\"},{\"d\":\"M8.7 10.9l.9-.5h.3l.9.5c.1.1.2.2.2.3v1c0 .1-.1.2-.2.3l-.9.5h-.3l-.9-.5c0-.1-.1-.2-.1-.3v-1c0-.1 0-.2.1-.3zm9-6.1H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm0 12.4c0 .3-.2.5-.5.5H6.8c-.3 0-.5-.2-.5-.5v-8h11.4v8zm0-9.5H6.3v-.9c0-.3.2-.5.5-.5h10.4c.3 0 .5.2.5.5v.9z\"}],\"circle\":{\"cx\":\"9.768\",\"cy\":\"15.12\",\"r\":\"1.176\"}}},\nwaits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 9.7c0-.2-.2-.4-.5-.4h-6.2c-.3 0-.5.2-.5.4v.9c0 .2.2.5.5.5h4.2l-4.6 5.7c-.1 0-.1.1-.1.2v.9c0 .3.2.5.4.5h6.3c.3 0 .5-.2.5-.5V17c0-.2-.2-.4-.5-.4h-4.2l4.6-5.6c.1-.1.1-.2.1-.3v-1zM12 6.1c0-.3-.2-.5-.5-.5H5.3c-.3 0-.5.2-.5.5V7c0 .2.2.4.5.4h4.2l-4.6 5.7c-.1.1-.1.2-.1.3v.9c0 .2.2.4.5.4h6.3c.2 0 .4-.2.4-.4v-.9c0-.3-.2-.5-.4-.5H7.3l4.6-5.6c.1-.1.1-.2.1-.3v-.9z\"}},\nwork_capacity_limit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.2 7l-2.1-2.1c-.1-.1-.2-.1-.3-.1-.2 0-.3.1-.3.3v1.6c0 .5.4.9.9.9H18c.1 0 .3-.2.3-.3 0-.1 0-.2-.1-.3zM7.1 15V7.6c-.8 0-1.4.6-1.4 1.4v8.8c0 .8.6 1.4 1.4 1.4h7c.8 0 1.4-.6 1.4-1.4H9.9c-1.5 0-2.8 0-2.8-2.8zm5.3-4.4v2.2h2s.1-.8-.6-1.5-1.4-.7-1.4-.7zM17.8 9h-2.3c-.8 0-1.4-.6-1.5-1.4V5.3c.1-.3-.1-.5-.4-.5H9.9c-.8 0-1.4.6-1.4 1.4V15c0 .8.6 1.4 1.4 1.4h7c.7 0 1.4-.6 1.4-1.4V9.5c0-.3-.2-.5-.5-.5zm-2.6 3.7c0 1.6-1.3 2.9-2.8 2.8s-2.8-1.3-2.8-2.8c0-1.6 1.3-2.9 2.8-2.8 1.6 0 2.8 1.3 2.8 2.8z\"}},\nwork_capacity_usage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zm2.6 3.9v2.8h2.5s.2-1-.7-1.9-1.8-.9-1.8-.9zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-1.7 8.2c0 2-1.7 3.6-3.6 3.6-2 0-3.6-1.6-3.6-3.6s1.7-3.6 3.6-3.6c2 0 3.6 1.7 3.6 3.6z\"}},\nwork_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M15.6 12.5c-.8.4-1.2 1.2-1.2 1.3-.1.2-.2.2-.2.2H9.9c-.1 0-.2-.1-.2-.2-.4-.8-1.2-1.4-2.2-1.4-.9 0-1.6.4-2 1.2-.1.1-.2.1-.3 0-.3-.2-.4-.5-.4-.9 0 0-.1-2.7.8-4.2.2-.2.3-.3.5-.3h9.1c.1 0 .2 0 .3.1 0 0 1 1.5 1.2 1.6.1.2.2.3.5.3.2.1 2 .7 2 .7v1.8c0 .4-.1.7-.3.9-.1.1-.2 0-.3-.1-.4-.7-1.1-1.2-2-1.2-.4 0-.7.1-1 .2\"},\"ellipse\":[{\"cx\":\"16.56\",\"cy\":\"14.664\",\"rx\":\"1.176\",\"ry\":\"1.176\"},{\"cx\":\"7.56\",\"cy\":\"14.664\",\"rx\":\"1.176\",\"ry\":\"1.176\"}]},\nwork_order_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zM16 11.8l-4.6 4.6c-.1.1-.2.2-.4.2s-.3-.1-.5-.2L8 13.8c-.2-.1-.2-.3 0-.4l.5-.5c.1-.1.2-.1.4 0L11 15l4.1-4.1c.1-.1.3-.1.4 0l.5.5c.1.1.1.3 0 .4z\"}},\nwork_queue:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M11.5 17.2H5.3c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h6.2c.2 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm0-8.6H5.3c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h6.2c.2 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm3.2 7.4c.2.2.5.2.7 0l3.6-3.7c.2-.1.2-.4.1-.6H19L15.4 8c-.2-.2-.5-.2-.7-.1V8l-.7.7c-.2.1-.2.4 0 .6l1.2 1.2c.1.1.1.3 0 .4-.1.1-.2.1-.2.1H5.3c-.3 0-.5.3-.5.5v1c0 .2.2.4.5.5H15c.2 0 .3.1.3.3 0 0 0 .1-.1.2l-1.1 1.1c-.2.2-.2.5-.1.7h.1l.6.7z\"}},\nwork_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"title\":{},\"path\":{\"d\":\"M18.2 7L16 4.9a.3.3 0 0 0-.2-.1.3.3 0 0 0-.3.3v1.6a.9.9 0 0 0 .9.9H18a.3.3 0 0 0 .3-.3.4.4 0 0 0-.1-.3zM7.1 15V7.6A1.4 1.4 0 0 0 5.7 9v8.8a1.4 1.4 0 0 0 1.4 1.4h7a1.4 1.4 0 0 0 1.4-1.4H9.9c-1.5 0-2.8 0-2.8-2.8zm10.7-6h-2.3a1.4 1.4 0 0 1-1.4-1.4V5.3a.4.4 0 0 0-.5-.5H9.9a1.4 1.4 0 0 0-1.4 1.4V15a1.4 1.4 0 0 0 1.4 1.4h7a1.4 1.4 0 0 0 1.4-1.4V9.5a.5.5 0 0 0-.5-.5zM12 14.9a.6.6 0 0 1-.6.6h-1.2a.6.6 0 0 1-.6-.6v-1.2a.6.6 0 0 1 .6-.6h1.2a.6.6 0 0 1 .6.6zm0-3.3a.6.6 0 0 1-.6.6h-1.2a.6.6 0 0 1-.6-.6v-1.2a.6.6 0 0 1 .6-.5h1.2a.6.6 0 0 1 .6.5zm3.3 3.3a.6.6 0 0 1-.6.6h-1.2a.6.6 0 0 1-.6-.6v-1.2a.6.6 0 0 1 .6-.6h1.2a.6.6 0 0 1 .6.6zm0-3.3a.6.6 0 0 1-.6.6h-1.2a.6.6 0 0 1-.6-.6v-1.2a.6.6 0 0 1 .6-.6h1.2a.6.6 0 0 1 .6.6z\",\"fill-rule\":\"evenodd\"}},\nwork_type_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 7s0-.1-.1-.2l-2-1.9c0-.1-.1-.1-.1-.1h-5.3c-.7 0-1.3.6-1.3 1.2v6.4c0 .7.5 1.3 1.2 1.3h6.3c.7 0 1.3-.6 1.3-1.3V7zm-5.7 5.1c0 .3-.2.5-.5.5h-1.1c-.3 0-.5-.2-.5-.5V11c0-.3.2-.6.5-.6H13c.3 0 .6.3.6.6l-.1 1.1zm0-3c0 .3-.2.5-.5.5h-1.1c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5H13c.3 0 .6.2.6.5l-.1 1.1zm3 3c0 .3-.2.5-.5.5h-1.1c-.3 0-.5-.2-.5-.5V11c0-.3.2-.6.5-.6H16c.3 0 .5.3.5.6v1.1zm0-3c0 .3-.2.5-.5.5h-1.1c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5H16c.3 0 .5.2.5.5v1.1zM10.3 15c-.7 0-1.3-.5-1.3-1.2V7.2c-.8 0-1.4.6-1.4 1.4V15c0 .8.4 1.4 1.4 1.4h6c.8 0 1.4-.6 1.4-1.4h-6.1zm-2.8 2.8c-.7 0-1.3-.5-1.3-1.2V10c-.8 0-1.4.6-1.4 1.4v6.4c0 .8.4 1.4 1.4 1.4h6c.8 0 1.4-.6 1.4-1.4H7.5z\"}},\nviewBox:'0 0 24 24'\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 xlinkHref={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 = `${baseURL +\n\t\t\t(jsonDoc && jsonDoc['url-slug']\n\t\t\t\t? `/components/${jsonDoc['url-slug']}`\n\t\t\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 = function ifOneThenBothRequiredPropertyFunction() {};\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\tcomponentWillUpdate() {\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,\n\t\t\ttop,\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\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) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tconst newProperty = newProp ? `Use \\`${newProp}\\`` : '';\n\t\tconst newPropertySentence = newProp ? ` ${newProperty} instead.` : '';\n\t\tif (!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\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) {\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// 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 !== 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(COMPONENT, props.children, createDocUrl());\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 * 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 * 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\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\treturn this.props.target ? this.props.target : 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\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.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","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 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-*` 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\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 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\ttype={this.props.type || 'button'}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\t{...ariaProps}\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, comment) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tif (!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\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\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\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 = () => {};\n\nif (documentDefined) {\n\tcanvas = document.createElement('canvas');\n\tdocFragment = document.createDocumentFragment();\n\tdocFragment.appendChild(canvas);\n\tcanvasContext = canvas.getContext('2d');\n\tmeasureWidth = memoize((text, font) => {\n\t\tcanvasContext.font = font;\n\t\treturn canvasContext.measureText(text).width;\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\tcomponentWillReceiveProps(nextProps) {\n\t\tthis.update(nextProps);\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\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 = (\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},\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(['default', 'inverse', 'light']),\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 = function oneOfRequiredFunction() {};\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';\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\tcomponentWillReceiveProps(nextProps, prevProps) {\n\t\tif (prevProps.value !== nextProps.value) {\n\t\t\tconst nextState = this.getCurrentSelectedIndices(nextProps);\n\t\t\tthis.setState(nextState);\n\t\t}\n\n\t\tif (prevProps.isOpen !== nextProps.isOpen) {\n\t\t\tthis.setFocus();\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\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\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 />` or `<BuilderHeaderToolbar />` to define the structure of the header.\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderNav />\n\t * <BuilderHeaderToolbar />\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 * **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\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\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=\"utility\"\n\t\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-builder slds-current-color\"\n\t\t\t\t\t\t\t\t\tname=\"builder\"\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) => <li>{child}</li>)}\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 { 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 */\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\t}.icon;\n\n\t\tconst isActive = typeof active === 'boolean' ? active : this.state.active;\n\n\t\tif (variant === 'icon' || variant === 'icon-filled') {\n\t\t\treturn (\n\t\t\t\t<button\n\t\t\t\t\taria-live=\"polite\"\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\treturn (\n\t\t\t<button\n\t\t\t\taria-live=\"assertive\"\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 * 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 * Determines the size of the spinner\n\t */\n\tsize: PropTypes.oneOf(['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\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\tisInput,\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\t}.label;\n\n\tconst spinnerClassName = classNames('slds-spinner', {\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\treturn (\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<div\n\t\t\t\taria-hidden=\"false\"\n\t\t\t\tclassName={spinnerClassName}\n\t\t\t\tid={id}\n\t\t\t\trole=\"status\"\n\t\t\t>\n\t\t\t\t{assistiveText && (\n\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t\t\t)}\n\t\t\t\t<div className=\"slds-spinner__dot-a\" />\n\t\t\t\t<div className=\"slds-spinner__dot-b\" />\n\t\t\t</div>\n\t\t</div>\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.bool,\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 * Displays help text under the input.\n\t */\n\tinlineHelpText: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\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\n\t\t\t{props.inlineHelpText && (\n\t\t\t\t<div className=\"slds-form-element__help\">{props.inlineHelpText}</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nInnerInput.displayName = 'SLDSInnerInput';\nInnerInput.propTypes = propTypes;\nInnerInput.defaultProps = defaultProps;\n\nexport default InnerInput;\n","/* Copyright (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\tinlineHelpText={this.props.inlineHelpText}\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.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 = oldEventParameterOrder !== undefined;\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 {\n\t\t\t\tlowPriorityWarning(\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/* 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","/* Copyright (c) 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\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","/* Copyright (c) 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","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","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 * 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 */,\n\tdefaultChecked: 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\tcomponentWillMount() {\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\t(this.props.checked && this.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 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\treturn {\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\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\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]}${\n\t\t\t\tmatch[3]\n\t\t\t}`;\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 ${\n\t\t\t\t\t\t\tworkingColor.hsv.saturation\n\t\t\t\t\t\t}% 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\tlabel={this.props.labels.customTabActiveWorkingColorSwatch}\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\tlabel={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})}\n\t\trole=\"tablist\"\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 scopped, defaults to false\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped']),\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\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-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-active`. If another class is desired, it should be passed in _along with_ `.slds-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 scopped, defaults to false\n\t\t */\n\t\tvariant: PropTypes.oneOf(['default', 'scoped']),\n\t};\n\n\tstatic defaultProps = {\n\t\tfocus: false,\n\t\tselected: false,\n\t\tactiveTabClassName: 'slds-active',\n\t\tdisabledTabClassName: 'slds-disabled',\n\t\tvariant: 'default',\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} = this.props;\n\t\tlet tabIndex;\n\n\t\tif (selected) {\n\t\t\ttabIndex = '0';\n\t\t} else if (disabled) {\n\t\t\ttabIndex = '-1';\n\t\t} else {\n\t\t\ttabIndex = null;\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})}\n\t\t\t\trole=\"presentation\"\n\t\t\t\tref={(node) => {\n\t\t\t\t\tthis.node = node;\n\t\t\t\t}}\n\t\t\t\ttabIndex={tabIndex}\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})}\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\ttabIndex=\"-1\"\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</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})}\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 scopped, defaults to false\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped']),\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\tnode.classList.contains('slds-tabs_default__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 scopped, defaults to false\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped']),\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 === 'scoped' ? 'scoped' : '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>\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},\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\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'],\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'],\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);\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 slds-popover__body_scrollable',\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\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\t// use getDerivedStateFromProps when available\n\tcomponentWillReceiveProps(nextProps) {\n\t\tconst nextState = {};\n\n\t\tif (nextProps.value) {\n\t\t\tnextState.currentColor = nextProps.value;\n\t\t}\n\n\t\tif (nextProps.valueWorking) {\n\t\t\tnextState.workingColor = ColorUtils.getNewColor(\n\t\t\t\t{\n\t\t\t\t\thex: nextProps.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 (nextProps.disabled !== undefined) {\n\t\t\tnextState.disabled = nextProps.disabled;\n\t\t}\n\n\t\tthis.setState(nextState);\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 isValid = this.props.events.onValidateColor\n\t\t\t? this.props.events.onValidateColor(event.target.value)\n\t\t\t: ColorUtils.isValidHex(event.target.value);\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: currentColor,\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';\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\tlabel.substr(0, position),\n\t\t\t<span key=\"bold\" className=\"slds-text-title_bold\">{`${label.substr(\n\t\t\t\tposition,\n\t\t\t\tsearchTerm.length\n\t\t\t)}`}</span>,\n\t\t\tlabel.substr(position + searchTerm.length),\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\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-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\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\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\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\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{optionData.subTitle}\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\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\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\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<div\n\t\t\t\t\t\t\trole=\"status\"\n\t\t\t\t\t\t\tclassName=\"slds-spinner slds-spinner_x-small slds-spinner_inline\"\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{props.assistiveText.loadingMenuItems}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<div className=\"slds-spinner__dot-a\" />\n\t\t\t\t\t\t\t<div className=\"slds-spinner__dot-b\" />\n\t\t\t\t\t\t</div>\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","/* Copyright (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\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}\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.isRequired,\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 * 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\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\trole=\"listbox\"\n\t\t\tstyle={props.style}\n\t\t\taria-orientation=\"horizontal\"\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\trole=\"group\"\n\t\t\t\taria-label={props.assistiveText.selectedListboxLabel}\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: (event, data) => {\n\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...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\tonFocus: props.events.onPillFocus,\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 jsx-a11y/role-has-required-aria-props */\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\tcomponentWillReceiveProps(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\tthis.setState({ activeOptionIndex: index });\n\t\t\t} else {\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\tthis.setState({ isOpen: nextProps.isOpen });\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\tthis.setState({\n\t\t\t\tactiveSelectedOption: nextProps.selection[0],\n\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t});\n\t\t}\n\n\t\t// changes pill focus to last item in the list if the selection length has changed\n\t\tif (nextProps.selection.length > this.props.selection.length) {\n\t\t\tif (nextProps.selection.length < 1) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tactiveSelectedOption: undefined,\n\t\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({\n\t\t\t\t\tactiveSelectedOption:\n\t\t\t\t\t\tnextProps.selection[nextProps.selection.length - 1],\n\t\t\t\t\tactiveSelectedOptionIndex: nextProps.selection.length - 1,\n\t\t\t\t});\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.state.isOpen) {\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.state.isOpen) {\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.state.isOpen) {\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\t\t}\n\t};\n\n\thandlePillClickSelectedListbox = (event, { option, index }) => {\n\t\t// this is clicking the span, not the remove button\n\t\tthis.setState({\n\t\t\tactiveSelectedOption: option,\n\t\t\tactiveSelectedOptionIndex: index,\n\t\t\tlistboxHasFocus: true,\n\t\t});\n\t};\n\n\thandlePillFocus = () => {\n\t\tif (!this.state.listboxHasFocus) {\n\t\t\tthis.setState({ listboxHasFocus: true });\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\n\t\tif (this.getIsOpen()) {\n\t\t\tthis.setState({ isOpen: false });\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\taria-expanded={this.getIsOpen()}\n\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t// used on menu's listbox\n\t\t\t\t\taria-owns={this.getIsOpen() ? `${this.getId()}-listbox` : undefined} // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\trole=\"combobox\"\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\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\trole=\"textbox\"\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\tprops.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\tonClickPill: this.handlePillClickSelectedListbox,\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\tevents={{\n\t\t\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\t\t\tonClickPill: this.handlePillClickSelectedListbox,\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\taria-expanded={this.getIsOpen()}\n\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\trole=\"combobox\"\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\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\trole=\"textbox\"\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\tprops.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\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\t/* eslint-disable jsx-a11y/role-supports-aria-props */\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\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>\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\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\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\trole=\"textbox\"\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\tprops.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\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\taria-haspopup=\"dialog\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\trole=\"combobox\"\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\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\trole=\"textbox\"\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\t`${props.selection.length} options selected`\n\t\t\t\t: (props.selection[0] && props.selection[0].label) || '';\n\n\t\t/* eslint-disable jsx-a11y/role-supports-aria-props */\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\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>\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\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\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\trole=\"textbox\"\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\tonClickPill: this.handlePillClickSelectedListbox,\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\t/* eslint-disable jsx-a11y/role-supports-aria-props */\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\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>\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\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\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\trole=\"textbox\"\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\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/* eslint-enable jsx-a11y/role-supports-aria-props */\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 searchTermFound = option.label\n\t\t\t\t? option.label.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 || isSeparator || searchTermFound) && notAlreadySelected\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\trole={props.fixedLayout ? 'gridcell' : null}\n\t\t\tstyle={props.width ? { width: props.width } : null}\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\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\tthis.props.assistiveText.columnSortedAscending\n\t\t\t\t\t\t\t\t: this.props.assistiveTextForColumnSortedDescending ||\n\t\t\t\t\t\t\t\t\tthis.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\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\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\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\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\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({\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} ${Number(\n\t\t\t\t\t\t\t\t\t\tthis.props.index\n\t\t\t\t\t\t\t\t\t) + 1}`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-labelledby={`${this.props.id}-SelectRow-label ${\n\t\t\t\t\t\t\t\t\tthis.props.tableId\n\t\t\t\t\t\t\t\t}-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} ${Number(\n\t\t\t\t\t\t\t\t\t\tthis.props.index\n\t\t\t\t\t\t\t\t\t) + 1}`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-labelledby={`${this.props.id}-SelectRow-label ${\n\t\t\t\t\t\t\t\t\tthis.props.tableId\n\t\t\t\t\t\t\t\t}-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}-${\n\t\t\t\t\t\tcolumn.props.property\n\t\t\t\t\t}`;\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>\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\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';\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},\n\tselection: [],\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}),\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 * 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\titems: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tid: PropTypes.string.isRequired,\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 * 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 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] : [];\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] : [];\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\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}\n\t\t\tif (canUseEventListeners && this.scrollerRef) {\n\t\t\t\tthis.scrollerRef[action]('scroll', this.resizeFixedHeaders);\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 canSelectRows =\n\t\t\tthis.props.selectRows && numRows > 0 ? this.props.selectRows : false;\n\t\tconst allSelected = canSelectRows && numRows === numSelected;\n\t\tconst indeterminateSelected =\n\t\t\tcanSelectRows && numRows !== 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<table\n\t\t\t\t{...ariaProps}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-table',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-table_fixed-layout': this.props.fixedLayout,\n\t\t\t\t\t\t'slds-table_header-fixed': this.props.fixedHeader,\n\t\t\t\t\t\t'slds-table_resizable-cols': this.props.fixedLayout,\n\t\t\t\t\t\t'slds-table_bordered': !this.props.unborderedRow,\n\t\t\t\t\t\t'slds-table_cell-buffer':\n\t\t\t\t\t\t\t!this.props.fixedLayout && !this.props.unbufferedCell,\n\t\t\t\t\t\t'slds-max-medium-table_stacked': this.props.stacked,\n\t\t\t\t\t\t'slds-max-medium-table_stacked-horizontal': this.props\n\t\t\t\t\t\t\t.stackedHorizontal,\n\t\t\t\t\t\t'slds-table_striped': this.props.striped,\n\t\t\t\t\t\t'slds-table_col-bordered': this.props.columnBordered,\n\t\t\t\t\t\t'slds-no-row-hover': this.props.noRowHover,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={this.getId()}\n\t\t\t\trole={this.props.fixedLayout ? 'grid' : null}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t<DataTableHead\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\tallSelected={allSelected}\n\t\t\t\t\tfixedHeader={this.props.fixedHeader}\n\t\t\t\t\theaderRefs={(ref, index) => {\n\t\t\t\t\t\tif (index === 'action' || index === 'select') {\n\t\t\t\t\t\t\tif (ref) {\n\t\t\t\t\t\t\t\tthis.headerRefs[index][0] = ref;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.headerRefs[index] = [];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.headerRefs.column[index] = ref;\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tindeterminateSelected={indeterminateSelected}\n\t\t\t\t\tcanSelectRows={canSelectRows}\n\t\t\t\t\tcolumns={columns}\n\t\t\t\t\tid={`${this.getId()}-${DATA_TABLE_HEAD}`}\n\t\t\t\t\tonToggleAll={this.handleToggleAll}\n\t\t\t\t\tonSort={this.props.onSort}\n\t\t\t\t\tshowRowActions={!!RowActions}\n\t\t\t\t/>\n\t\t\t\t<tbody>\n\t\t\t\t\t{numRows > 0\n\t\t\t\t\t\t? this.props.items.map((item, index) => {\n\t\t\t\t\t\t\t\tconst rowId =\n\t\t\t\t\t\t\t\t\tthis.getId() && item.id\n\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: shortid.generate();\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<DataTableRow\n\t\t\t\t\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\t\t\t\t\tcanSelectRows={canSelectRows}\n\t\t\t\t\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\t\t\t\t\tfixedLayout={this.props.fixedLayout}\n\t\t\t\t\t\t\t\t\t\tid={rowId}\n\t\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\tkey={rowId}\n\t\t\t\t\t\t\t\t\t\tonToggle={this.handleRowToggle}\n\t\t\t\t\t\t\t\t\t\tselection={this.props.selection}\n\t\t\t\t\t\t\t\t\t\trowActions={RowActions}\n\t\t\t\t\t\t\t\t\t\ttableId={this.getId()}\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: // Someday this should be an element to render when the table is empty\n\t\t\t\t\t\t\tnull}\n\t\t\t\t</tbody>\n\t\t\t</table>\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([\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t\tPropTypes.bool,\n\t]),\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 (firstDayOfMonth.getDay() > firstDayOfWeekOffset) {\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 defaultProps = {\n\t\tselectedDate: new Date(),\n\t\tvalue: new Date(),\n\t};\n\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 * One 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 * 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\tstate = {\n\t\tinitialDateForCalendarRender: this.props.selectedDate,\n\t\tisCalendarFocused: true,\n\t};\n\n\thandleCalendarBlur = (event, { direction }) => {\n\t\tif (direction === 'next' && this.previousMonthRef) {\n\t\t\tthis.setState({ isCalendarFocused: false });\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\tisCalendarFocused: false,\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\tthis.setState({ isCalendarFocused: false });\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\tisCalendarFocused: false,\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\tthis.setState({ isCalendarFocused: true });\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\tthis.setState({ isCalendarFocused: true });\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.state.isCalendarFocused) {\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) before rendering 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 and returns a `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\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\tcomponentWillReceiveProps(nextProps) {\n\t\tif (nextProps.value && this.props.value) {\n\t\t\tconst currentDate = this.props.value.getTime();\n\t\t\tconst nextDate = nextProps.value.getTime();\n\n\t\t\tif (currentDate !== nextDate) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tvalue: nextProps.value,\n\t\t\t\t\tformattedValue: this.props.formatter(nextProps.value),\n\t\t\t\t\tinputValue: this.props.formatter(nextProps.value),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tgetDatePicker = ({ labels, assistiveText }) => {\n\t\tconst date = this.state.formattedValue\n\t\t\t? this.parseDate(this.state.formattedValue)\n\t\t\t: this.state.value;\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\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={this.openDialog}\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.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\tthis.setState({\n\t\t\tvalue: date,\n\t\t\tformattedValue: this.props.formatter(date),\n\t\t\tinputValue: this.props.formatter(date),\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\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\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) {\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 });\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\topenDialog = () => {\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 './popover';\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 * 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\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\tcomponentWillMount() {\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\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\tcomponentWillMount() {\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\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\tcomponentWillMount() {\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\tcomponentWillMount() {\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}>\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<p className=\"slds-text-body_small\">{this.props.property}</p>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<p>{this.props.predicate}</p>\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<p className=\"slds-text-body_small\">{this.props.property}</p>\n\t\t\t\t\t\t<p>{this.props.predicate}</p>\n\t\t\t\t\t</button>\n\t\t\t\t)}\n\t\t\t\t{// Remove button\n\t\t\t\t!this.props.isPermanent && !this.props.isLocked ? (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: assistiveText.removeFilter }}\n\t\t\t\t\t\thint\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\ticonVariant=\"bare\"\n\t\t\t\t\t\tonClick={this.handleRemove}\n\t\t\t\t\t\ttitle={assistiveText.removeFilter}\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\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\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<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 = `${\n\t\t\t\tthis.props.assistiveText.newNotificationsBefore\n\t\t\t}${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<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\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) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\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 = ({\n\tclassName,\n\tillustration,\n\tinternalIllustration,\n\theading,\n\tmessageBody,\n\tname,\n\tpath,\n\tsize,\n\tstyle,\n}) => {\n\tcheckProps(\n\t\t'Illustration',\n\t\t{\n\t\t\tillustration,\n\t\t\tinternalIllustration,\n\t\t\theading,\n\t\t\tpath,\n\t\t},\n\t\tcomponentDoc\n\t);\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) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\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\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 [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\tcomponentWillReceiveProps(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\tcomponentWillReceiveProps(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) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\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\tcomponentWillReceiveProps(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\tcomponentWillReceiveProps(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_${\n\t\t\t\tthis.props.iconPosition\n\t\t\t}`]: !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) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\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\tcomponentWillMount() {\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\tcomponentWillReceiveProps(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);\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\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) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\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\tcomponentWillReceiveProps(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\tlockedLabel: '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\tthis.setState({\n\t\t\tactiveSelectedOption: data.option,\n\t\t\tactiveSelectedOptionIndex: data.index,\n\t\t\tlistboxHasFocus: true,\n\t\t});\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 = () => {\n\t\tif (!this.state.listboxHasFocus) {\n\t\t\tthis.setState({ listboxHasFocus: true });\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 aria-hidden=\"true\">\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\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\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-${this.props.step.id ||\n\t\t\t\t\tthis.props.index}`}\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-${this.props.step.id ||\n\t\t\t\t\tthis.props.index}`}\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-${this.props.step.id ||\n\t\t\t\tthis.props.index}`,\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 * 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 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\treturn (\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-${this.props.step.id ||\n\t\t\t\t\t\tthis.props.index}`}\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-${this.props.step.id ||\n\t\t\t\t\tthis.props.index}`}\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}(${ListItemContent.displayName ||\n\t\t\tListItemContent.name ||\n\t\t\t'Component'})`;\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\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","/* Copyright (c) 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\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\tcomponentWillReceiveProps(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\tevent.target.scrollTop /\n\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: string,\n\t * id: string,\n\t * label: string or node,\n\t * selected: string,\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/**\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 = this.flattenTree({\n\t\t\tnodes: this.props.getNodes({ nodes: this.props.nodes }),\n\t\t\texpanded: true,\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\tcomponentWillReceiveProps(nextProps) {\n\t\tthis.setState({\n\t\t\tflattenedNodes: this.flattenTree({\n\t\t\t\tnodes: this.props.getNodes({ nodes: nextProps.nodes }),\n\t\t\t\texpanded: true,\n\t\t\t}).slice(1),\n\t\t});\n\t}\n\n\t/* Flattens hierarchical tree structure into a flat array. The\n\t * first item in the array is the whole tree and therefore should be\n\t * removed with `slice(1)`.` This means that root cannot call `getNodes()`\n\t * and should directly reference the `nodes` key. All level after that\n\t * should use `getNodes()` to access the correct nodes.\n\t*/\n\tflattenTree = (root, treeIndex = '', firstLevel = true) => {\n\t\tif (!root.nodes) {\n\t\t\treturn [{ node: root, treeIndex }];\n\t\t}\n\t\tlet nodes = [{ node: root, treeIndex }];\n\t\tif (root.expanded) {\n\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\tfor (let index = 0; index < root.nodes.length; index += 1) {\n\t\t\t\tconst curNode = firstLevel\n\t\t\t\t\t? root.nodes[index]\n\t\t\t\t\t: this.props.getNodes(root)[index];\n\t\t\t\tnodes = nodes.concat(\n\t\t\t\t\tthis.flattenTree(\n\t\t\t\t\t\tcurNode,\n\t\t\t\t\t\ttreeIndex ? `${treeIndex}-${index}` : `${index}`,\n\t\t\t\t\t\tfalse\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn nodes;\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\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\tcomponentWillMount() {\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\tcomponentWillMount() {\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\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\tcomponentWillMount() {\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\tcomponentWillMount() {\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","/* Copyright (c) 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\tlet subheadingsNotPresent = [...subheadings];\n\n\tconst filteredOptionsWithSubheadings = filteredOptions.map((option) => {\n\t\tlet subheadingRelatedToFilteredOption;\n\n\t\t// Remove subheadings that have been found from\n\t\t// `subheadingsNotPresent` and flag if they are\n\t\t// found.\n\t\tsubheadingsNotPresent = subheadingsNotPresent.filter((subheading) => {\n\t\t\tlet subheadingNotPresentInFilteredOptions = true;\n\t\t\tif (option.type === subheading.id) {\n\t\t\t\tsubheadingRelatedToFilteredOption = subheading;\n\t\t\t\tsubheadingNotPresentInFilteredOptions = false;\n\t\t\t}\n\t\t\treturn subheadingNotPresentInFilteredOptions;\n\t\t});\n\n\t\t// So that they can be inserted into the current filtered\n\t\t// options in a child array with the first related option\n\t\t// OUTPUT\n\t\t// Array [\n\t\t// 0: Array [\n\t\t// 0: {id: \"account\", label: \"Accounts\", type: \"separator\"}\n\t\t// 1: {id: \"1\", label: \"Acme\", type: \"account\"}\n\t\t// ]\n\t\t// ]\n\t\treturn subheadingRelatedToFilteredOption\n\t\t\t? [subheadingRelatedToFilteredOption, option]\n\t\t\t: [option];\n\t});\n\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(...filteredOptionsWithSubheadings);\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 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..b2938d8b54 --- /dev/null +++ b/design-system-react.min.js @@ -0,0 +1,105 @@ +/*! + * design-system-react + * v0.10.14 + * 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(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(n,r){return a={},o.m=c=[function(e,t,n){e.exports=n(62)()},function(e,t){e.exports=n},function(e,t,n){var r; +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){"use strict";var a={}.hasOwnProperty;function s(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var r=typeof n;if("string"==r||"number"==r)e.push(n);else if(Array.isArray(n)&&n.length){var o=s.apply(null,n);o&&e.push(o)}else if("object"==r)for(var c in n)a.call(n,c)&&n[c]&&e.push(c)}}return e.join(" ")}e.exports?(s.default=s,e.exports=s):void 0===(r=function(){return s}.apply(t,[]))||(e.exports=r)}()},function(e,t,n){"use strict";e.exports=n(65)},function(e,t){var n=9007199254740991,a="[object Arguments]",r="[object Function]",o="[object GeneratorFunction]",c=/^(?:0|[1-9]\d*)$/;var s,i,l=Object.prototype,p=l.hasOwnProperty,u=l.toString,d=l.propertyIsEnumerable,h=(s=Object.keys,i=Object,function(e){return s(i(e))}),f=Math.max,m=!d.call({valueOf:1},"valueOf");function v(e,t){var n=_(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")||u.call(e)==a)}(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 c in e)!t&&!p.call(e,c)||o&&("length"==c||b(c,r))||n.push(c);return n}function g(e,t,n){var r=e[t];p.call(e,t)&&w(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))&&-1<e&&e%1==0&&e<t}function y(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||l)}function w(e,t){return e===t||e!=e&&t!=t}var _=Array.isArray;function x(e){return null!=e&&function(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=n}(e.length)&&!function(e){var t=z(e)?u.call(e):"";return t==r||t==o}(e)}function z(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var O,S,C,E=(C=function(e,t){if(m||y(t)||x(t))!function(e,t,n,r){n=n||{};for(var o=-1,c=t.length;++o<c;){var a=t[o],s=r?r(n[a],e[a],a,n,e):void 0;g(n,a,void 0===s?e[a]:s)}}(t,function(e){return x(e)?v(e):function(e){if(!y(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])},O=function(e,t){var n=-1,r=t.length,o=1<r?t[r-1]:void 0,c=2<r?t[2]:void 0;for(o=3<C.length&&"function"==typeof o?(r--,o):void 0,c&&function(e,t,n){if(!z(n))return!1;var r=typeof t;return!!("number"==r?x(n)&&b(t,n.length):"string"==r&&t in n)&&w(n[t],e)}(t[0],t[1],c)&&(o=r<3?void 0:o,r=1),e=Object(e);++n<r;){var a=t[n];a&&C(e,a,n,o)}return e},S=f(void 0===S?O.length-1:S,0),function(){for(var e=arguments,t=-1,n=f(e.length-S,0),r=Array(n);++t<n;)r[t]=e[S+t];t=-1;for(var o=Array(S+1);++t<S;)o[t]=e[t];return o[S]=r,function(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)}(O,this,o)});e.exports=E},function(d,e,t){(function(e){var t="[object Null]",n="[object Undefined]",r="object"==typeof e&&e&&e.Object===Object&&e,o="object"==typeof self&&self&&self.Object===Object&&self,c=r||o||Function("return this")(),a=Object.prototype,s=a.hasOwnProperty,i=a.toString,l=c.Symbol,p=l?l.toStringTag:void 0;function u(e){return null==e?void 0===e?n:t:p&&p in Object(e)?function(e){var t=s.call(e,p),n=e[p];try{var r=!(e[p]=void 0)}catch(e){}var o=i.call(e);r&&(t?e[p]=n:delete e[p]);return o}(e):function(e){return i.call(e)}(e)}d.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,t(9))},function(e,t){e.exports=r},function(e,t,n){"use strict";var r=function(){};e.exports=r},function(e,vt,t){(function(e,t){var n="Expected a function",r="__lodash_hash_undefined__",g=1,w=2,c=1/0,o=9007199254740991,a=17976931348623157e292,s=NaN,b="[object Arguments]",y="[object Array]",_="[object Boolean]",x="[object Date]",z="[object Error]",i="[object Function]",l="[object GeneratorFunction]",O="[object Map]",S="[object Number]",C="[object Object]",p="[object Promise]",E="[object RegExp]",M="[object Set]",T="[object String]",N="[object Symbol]",u="[object WeakMap]",k="[object ArrayBuffer]",H="[object DataView]",d=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,h=/^\w*$/,f=/^\./,m=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,v=/^\s+|\s+$/g,j=/\\(\\)?/g,P=/^[-+]0x[0-9a-f]+$/i,I=/^0b[01]+$/i,L=/^\[object .+?Constructor\]$/,V=/^0o[0-7]+$/i,D=/^(?:0|[1-9]\d*)$/,R={};R["[object Float32Array]"]=R["[object Float64Array]"]=R["[object Int8Array]"]=R["[object Int16Array]"]=R["[object Int32Array]"]=R["[object Uint8Array]"]=R["[object Uint8ClampedArray]"]=R["[object Uint16Array]"]=R["[object Uint32Array]"]=!0,R[b]=R[y]=R[k]=R[_]=R[H]=R[x]=R[z]=R[i]=R[O]=R[S]=R[C]=R[E]=R[M]=R[T]=R[u]=!1;var A=parseInt,B="object"==typeof e&&e&&e.Object===Object&&e,F="object"==typeof self&&self&&self.Object===Object&&self,q=B||F||Function("return this")(),K=vt&&!vt.nodeType&&vt,W=K&&"object"==typeof t&&t&&!t.nodeType&&t,U=W&&W.exports===K&&B.process,G=function(){try{return U&&U.binding("util")}catch(e){}}(),Y=G&&G.isTypedArray;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 J(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function X(e){var n=-1,r=Array(e.size);return e.forEach(function(e,t){r[++n]=[t,e]}),r}function $(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var Z,ee,te,ne=Array.prototype,re=Function.prototype,oe=Object.prototype,ce=q["__core-js_shared__"],ae=(Z=/[^.]+$/.exec(ce&&ce.keys&&ce.keys.IE_PROTO||""))?"Symbol(src)_1."+Z:"",se=re.toString,ie=oe.hasOwnProperty,le=oe.toString,pe=RegExp("^"+se.call(ie).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ue=q.Symbol,de=q.Uint8Array,he=oe.propertyIsEnumerable,fe=ne.splice,me=(ee=Object.keys,te=Object,function(e){return ee(te(e))}),ve=Math.max,ge=Ge(q,"DataView"),be=Ge(q,"Map"),ye=Ge(q,"Promise"),we=Ge(q,"Set"),_e=Ge(q,"WeakMap"),xe=Ge(Object,"create"),ze=tt(ge),Oe=tt(be),Se=tt(ye),Ce=tt(we),Ee=tt(_e),Me=ue?ue.prototype:void 0,Te=Me?Me.valueOf:void 0,Ne=Me?Me.toString:void 0;function ke(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 Ie(e){this.__data__=new He(e)}function Le(e,t){var n=ct(e)||ot(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 c in e)!t&&!ie.call(e,c)||o&&("length"==c||Qe(c,r))||n.push(c);return n}function Ve(e,t){for(var n=e.length;n--;)if(rt(e[n][0],t))return n;return-1}function De(e,t){for(var n=0,r=(t=Je(t,e)?[t]:Ke(t)).length;null!=e&&n<r;)e=e[et(t[n++])];return n&&n==r?e:void 0}function Re(e,t){return null!=e&&t in Object(e)}function Ae(e,t,n,r,o){return e===t||(null==e||null==t||!lt(e)&&!pt(t)?e!=e&&t!=t:function(e,t,n,r,o,c){var a=ct(e),s=ct(t),i=y,l=y;a||(i=(i=Ye(e))==b?C:i);s||(l=(l=Ye(t))==b?C:l);var p=i==C&&!J(e),u=l==C&&!J(t),d=i==l;if(d&&!p)return c=c||new Ie,a||ht(e)?We(e,t,n,r,o,c):function(e,t,n,r,o,c,a){switch(n){case H:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case k:return!(e.byteLength!=t.byteLength||!r(new de(e),new de(t)));case _:case x:case S:return rt(+e,+t);case z:return e.name==t.name&&e.message==t.message;case E:case T:return e==t+"";case O:var s=X;case M:var i=c&w;if(s=s||$,e.size!=t.size&&!i)return!1;var l=a.get(e);if(l)return l==t;c|=g,a.set(e,t);var p=We(s(e),s(t),r,o,c,a);return a.delete(e),p;case N:if(Te)return Te.call(e)==Te.call(t)}return!1}(e,t,i,n,r,o,c);if(!(o&w)){var h=p&&ie.call(e,"__wrapped__"),f=u&&ie.call(t,"__wrapped__");if(h||f){var m=h?e.value():e,v=f?t.value():t;return c=c||new Ie,n(m,v,r,o,c)}}return d&&(c=c||new Ie,function(e,t,n,r,o,c){var a=o&w,s=ft(e),i=s.length,l=ft(t).length;if(i!=l&&!a)return!1;var p=i;for(;p--;){var u=s[p];if(!(a?u in t:ie.call(t,u)))return!1}var d=c.get(e);if(d&&c.get(t))return d==t;var h=!0;c.set(e,t),c.set(t,e);var f=a;for(;++p<i;){u=s[p];var m=e[u],v=t[u];if(r)var g=a?r(v,m,u,t,e,c):r(m,v,u,e,t,c);if(!(void 0===g?m===v||n(m,v,r,o,c):g)){h=!1;break}f=f||"constructor"==u}if(h&&!f){var b=e.constructor,y=t.constructor;b!=y&&"constructor"in e&&"constructor"in t&&!("function"==typeof b&&b instanceof b&&"function"==typeof y&&y instanceof y)&&(h=!1)}return c.delete(e),c.delete(t),h}(e,t,n,r,o,c))}(e,t,Ae,n,r,o))}function Be(e){return!(!lt(e)||function(e){return!!ae&&ae in e}(e))&&(st(e)||J(e)?pe:L).test(tt(e))}function Fe(e){return"function"==typeof e?e:null==e?mt:"object"==typeof e?ct(e)?function(n,r){if(Je(n)&&Xe(r))return $e(et(n),r);return function(e){var t=function(e,t,n){var r=null==e?void 0:De(e,t);return void 0===r?n:r}(e,n);return void 0===t&&t===r?function(e,t){return null!=e&&function(e,t,n){t=Je(t,e)?[t]:Ke(t);var r,o=-1,c=t.length;for(;++o<c;){var a=et(t[o]);if(!(r=null!=e&&n(e,a)))break;e=e[a]}if(r)return r;return!!(c=e?e.length:0)&&it(c)&&Qe(a,c)&&(ct(e)||ot(e))}(e,t,Re)}(e,n):Ae(r,t,void 0,g|w)}}(e[0],e[1]):function(t){var n=function(e){var t=ft(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,Xe(o)]}return t}(t);if(1==n.length&&n[0][2])return $e(n[0][0],n[0][1]);return function(e){return e===t||function(e,t,n,r){var o=n.length,c=o,a=!r;if(null==e)return!c;for(e=Object(e);o--;){var s=n[o];if(a&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<c;){var i=(s=n[o])[0],l=e[i],p=s[1];if(a&&s[2]){if(void 0===l&&!(i in e))return!1}else{var u=new Ie;if(r)var d=r(l,p,i,e,t,u);if(!(void 0===d?Ae(p,l,r,g|w,u):d))return!1}}return!0}(e,t,n)}}(e):function(e){return Je(e)?function(t){return function(e){return null==e?void 0:e[t]}}(et(e)):function(t){return function(e){return De(e,t)}}(e)}(e)}function qe(e){if(!function(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||oe;return e===n}(e))return me(e);var t=[];for(var n in Object(e))ie.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Ke(e){return ct(e)?e:Ze(e)}function We(e,t,n,r,o,c){var a=o&w,s=e.length,i=t.length;if(s!=i&&!(a&&s<i))return!1;var l=c.get(e);if(l&&c.get(t))return l==t;var p=-1,u=!0,d=o&g?new Pe:void 0;for(c.set(e,t),c.set(t,e);++p<s;){var h=e[p],f=t[p];if(r)var m=a?r(f,h,p,t,e,c):r(h,f,p,e,t,c);if(void 0!==m){if(m)continue;u=!1;break}if(d){if(!Q(t,function(e,t){if(!d.has(t)&&(h===e||n(h,e,r,o,c)))return d.add(t)})){u=!1;break}}else if(h!==f&&!n(h,f,r,o,c)){u=!1;break}}return c.delete(e),c.delete(t),u}function Ue(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function Ge(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Be(n)?n:void 0}ke.prototype.clear=function(){this.__data__=xe?xe(null):{}},ke.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},ke.prototype.get=function(e){var t=this.__data__;if(xe){var n=t[e];return n===r?void 0:n}return ie.call(t,e)?t[e]:void 0},ke.prototype.has=function(e){var t=this.__data__;return xe?void 0!==t[e]:ie.call(t,e)},ke.prototype.set=function(e,t){return this.__data__[e]=xe&&void 0===t?r:t,this},He.prototype.clear=function(){this.__data__=[]},He.prototype.delete=function(e){var t=this.__data__,n=Ve(t,e);return!(n<0)&&(n==t.length-1?t.pop():fe.call(t,n,1),!0)},He.prototype.get=function(e){var t=this.__data__,n=Ve(t,e);return n<0?void 0:t[n][1]},He.prototype.has=function(e){return-1<Ve(this.__data__,e)},He.prototype.set=function(e,t){var n=this.__data__,r=Ve(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},je.prototype.clear=function(){this.__data__={hash:new ke,map:new(be||He),string:new ke}},je.prototype.delete=function(e){return Ue(this,e).delete(e)},je.prototype.get=function(e){return Ue(this,e).get(e)},je.prototype.has=function(e){return Ue(this,e).has(e)},je.prototype.set=function(e,t){return Ue(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)},Ie.prototype.clear=function(){this.__data__=new He},Ie.prototype.delete=function(e){return this.__data__.delete(e)},Ie.prototype.get=function(e){return this.__data__.get(e)},Ie.prototype.has=function(e){return this.__data__.has(e)},Ie.prototype.set=function(e,t){var n=this.__data__;if(n instanceof He){var r=n.__data__;if(!be||r.length<199)return r.push([e,t]),this;n=this.__data__=new je(r)}return n.set(e,t),this};var Ye=function(e){return le.call(e)};function Qe(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||D.test(e))&&-1<e&&e%1==0&&e<t}function Je(e,t){if(ct(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ut(e))||(h.test(e)||!d.test(e)||null!=t&&e in Object(t))}function Xe(e){return e==e&&!lt(e)}function $e(t,n){return function(e){return null!=e&&(e[t]===n&&(void 0!==n||t in Object(e)))}}(ge&&Ye(new ge(new ArrayBuffer(1)))!=H||be&&Ye(new be)!=O||ye&&Ye(ye.resolve())!=p||we&&Ye(new we)!=M||_e&&Ye(new _e)!=u)&&(Ye=function(e){var t=le.call(e),n=t==C?e.constructor:void 0,r=n?tt(n):void 0;if(r)switch(r){case ze:return H;case Oe:return O;case Se:return p;case Ce:return M;case Ee:return u}return t});var Ze=nt(function(e){e=function(e){return null==e?"":function(e){if("string"==typeof e)return e;if(ut(e))return Ne?Ne.call(e):"";var t=e+"";return"0"==t&&1/e==-c?"-0":t}(e)}(e);var o=[];return f.test(e)&&o.push(""),e.replace(m,function(e,t,n,r){o.push(n?r.replace(j,"$1"):t||e)}),o});function et(e){if("string"==typeof e||ut(e))return e;var t=e+"";return"0"==t&&1/e==-c?"-0":t}function tt(e){if(null!=e){try{return se.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function nt(o,c){if("function"!=typeof o||c&&"function"!=typeof c)throw new TypeError(n);var a=function(){var e=arguments,t=c?c.apply(this,e):e[0],n=a.cache;if(n.has(t))return n.get(t);var r=o.apply(this,e);return a.cache=n.set(t,r),r};return a.cache=new(nt.Cache||je),a}function rt(e,t){return e===t||e!=e&&t!=t}function ot(e){return function(e){return pt(e)&&at(e)}(e)&&ie.call(e,"callee")&&(!he.call(e,"callee")||le.call(e)==b)}nt.Cache=je;var ct=Array.isArray;function at(e){return null!=e&&it(e.length)&&!st(e)}function st(e){var t=lt(e)?le.call(e):"";return t==i||t==l}function it(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=o}function lt(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function pt(e){return!!e&&"object"==typeof e}function ut(e){return"symbol"==typeof e||pt(e)&&le.call(e)==N}var dt,ht=Y?(dt=Y,function(e){return dt(e)}):function(e){return pt(e)&&it(e.length)&&!!R[le.call(e)]};function ft(e){return at(e)?Le(e):qe(e)}function mt(e){return e}t.exports=function(e,t,n){var r=e?e.length:0;if(!r)return-1;var o=null==n?0:function(e){var t=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(v,"");var n=I.test(e);return n||V.test(e)?A(e.slice(2),n?2:8):P.test(e)?s:+e}(e))!==c&&e!==-c?e==e?e:0:(e<0?-1:1)*a:0===e?e:0}(e),n=t%1;return t==t?n?t-n:t:0}(n);return o<0&&(o=ve(r+o,0)),function(e,t,n,r){for(var o=e.length,c=n+(r?1:-1);r?c--:++c<o;)if(t(e[c],c,e))return c;return-1}(e,Fe(t),o)}}).call(this,t(9),t(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,et,t){(function(e,t){var r="__lodash_hash_undefined__",w=1,g=2,n=9007199254740991,b="[object Arguments]",y="[object Array]",o="[object AsyncFunction]",_="[object Boolean]",x="[object Date]",z="[object Error]",c="[object Function]",a="[object GeneratorFunction]",O="[object Map]",S="[object Number]",s="[object Null]",C="[object Object]",i="[object Promise]",l="[object Proxy]",E="[object RegExp]",M="[object Set]",T="[object String]",N="[object Symbol]",p="[object Undefined]",u="[object WeakMap]",k="[object ArrayBuffer]",H="[object DataView]",d=/^\[object .+?Constructor\]$/,h=/^(?:0|[1-9]\d*)$/,f={};f["[object Float32Array]"]=f["[object Float64Array]"]=f["[object Int8Array]"]=f["[object Int16Array]"]=f["[object Int32Array]"]=f["[object Uint8Array]"]=f["[object Uint8ClampedArray]"]=f["[object Uint16Array]"]=f["[object Uint32Array]"]=!0,f[b]=f[y]=f[k]=f[_]=f[H]=f[x]=f[z]=f[c]=f[O]=f[S]=f[C]=f[E]=f[M]=f[T]=f[u]=!1;var m="object"==typeof e&&e&&e.Object===Object&&e,v="object"==typeof self&&self&&self.Object===Object&&self,j=m||v||Function("return this")(),P=et&&!et.nodeType&&et,I=P&&"object"==typeof t&&t&&!t.nodeType&&t,L=I&&I.exports===P,V=L&&m.process,D=function(){try{return V&&V.binding&&V.binding("util")}catch(e){}}(),R=D&&D.isTypedArray;function A(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 B(e){var n=-1,r=Array(e.size);return e.forEach(function(e,t){r[++n]=[t,e]}),r}function F(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var q,K,W,U=Array.prototype,G=Function.prototype,Y=Object.prototype,Q=j["__core-js_shared__"],J=G.toString,X=Y.hasOwnProperty,$=(q=/[^.]+$/.exec(Q&&Q.keys&&Q.keys.IE_PROTO||""))?"Symbol(src)_1."+q:"",Z=Y.toString,ee=RegExp("^"+J.call(X).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),te=L?j.Buffer:void 0,ne=j.Symbol,re=j.Uint8Array,oe=Y.propertyIsEnumerable,ce=U.splice,ae=ne?ne.toStringTag:void 0,se=Object.getOwnPropertySymbols,ie=te?te.isBuffer:void 0,le=(K=Object.keys,W=Object,function(e){return K(W(e))}),pe=De(j,"DataView"),ue=De(j,"Map"),de=De(j,"Promise"),he=De(j,"Set"),fe=De(j,"WeakMap"),me=De(Object,"create"),ve=Fe(pe),ge=Fe(ue),be=Fe(de),ye=Fe(he),we=Fe(fe),_e=ne?ne.prototype:void 0,xe=_e?_e.valueOf:void 0;function ze(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.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Se(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 Ce(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new Se;++t<n;)this.add(e[t])}function Ee(e){var t=this.__data__=new Oe(e);this.size=t.size}function Me(e,t){var n=We(e),r=!n&&Ke(e),o=!n&&!r&&Ue(e),c=!n&&!r&&!o&&$e(e),a=n||r||o||c,s=a?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&&!X.call(e,l)||a&&("length"==l||o&&("offset"==l||"parent"==l)||c&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Be(l,i))||s.push(l);return s}function Te(e,t){for(var n=e.length;n--;)if(qe(e[n][0],t))return n;return-1}function Ne(e){return null==e?void 0===e?p:s:ae&&ae in Object(e)?function(e){var t=X.call(e,ae),n=e[ae];try{var r=!(e[ae]=void 0)}catch(e){}var o=Z.call(e);r&&(t?e[ae]=n:delete e[ae]);return o}(e):function(e){return Z.call(e)}(e)}function ke(e){return Je(e)&&Ne(e)==b}function He(e,t,n,r,o){return e===t||(null==e||null==t||!Je(e)&&!Je(t)?e!=e&&t!=t:function(e,t,n,r,o,c){var a=We(e),s=We(t),i=a?y:Ae(e),l=s?y:Ae(t),p=(i=i==b?C:i)==C,u=(l=l==b?C:l)==C,d=i==l;if(d&&Ue(e)){if(!Ue(t))return!1;p=!(a=!0)}if(d&&!p)return c=c||new Ee,a||$e(e)?Ie(e,t,n,r,o,c):function(e,t,n,r,o,c,a){switch(n){case H:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case k:return!(e.byteLength!=t.byteLength||!c(new re(e),new re(t)));case _:case x:case S:return qe(+e,+t);case z:return e.name==t.name&&e.message==t.message;case E:case T:return e==t+"";case O:var s=B;case M:var i=r&w;if(s=s||F,e.size!=t.size&&!i)return!1;var l=a.get(e);if(l)return l==t;r|=g,a.set(e,t);var p=Ie(s(e),s(t),r,o,c,a);return a.delete(e),p;case N:if(xe)return xe.call(e)==xe.call(t)}return!1}(e,t,i,n,r,o,c);if(!(n&w)){var h=p&&X.call(e,"__wrapped__"),f=u&&X.call(t,"__wrapped__");if(h||f){var m=h?e.value():e,v=f?t.value():t;return c=c||new Ee,o(m,v,n,r,c)}}return d&&(c=c||new Ee,function(e,t,n,r,o,c){var a=n&w,s=Le(e),i=s.length,l=Le(t).length;if(i!=l&&!a)return!1;var p=i;for(;p--;){var u=s[p];if(!(a?u in t:X.call(t,u)))return!1}var d=c.get(e);if(d&&c.get(t))return d==t;var h=!0;c.set(e,t),c.set(t,e);var f=a;for(;++p<i;){u=s[p];var m=e[u],v=t[u];if(r)var g=a?r(v,m,u,t,e,c):r(m,v,u,e,t,c);if(!(void 0===g?m===v||o(m,v,n,r,c):g)){h=!1;break}f=f||"constructor"==u}if(h&&!f){var b=e.constructor,y=t.constructor;b!=y&&"constructor"in e&&"constructor"in t&&!("function"==typeof b&&b instanceof b&&"function"==typeof y&&y instanceof y)&&(h=!1)}return c.delete(e),c.delete(t),h}(e,t,n,r,o,c))}(e,t,n,r,He,o))}function je(e){return!(!Qe(e)||function(e){return!!$&&$ in e}(e))&&(Ge(e)?ee:d).test(Fe(e))}function Pe(e){if(!function(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||Y;return e===n}(e))return le(e);var t=[];for(var n in Object(e))X.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Ie(e,t,r,o,c,a){var n=r&w,s=e.length,i=t.length;if(s!=i&&!(n&&s<i))return!1;var l=a.get(e);if(l&&a.get(t))return l==t;var p=-1,u=!0,d=r&g?new Ce:void 0;for(a.set(e,t),a.set(t,e);++p<s;){var h=e[p],f=t[p];if(o)var m=n?o(f,h,p,t,e,a):o(h,f,p,e,t,a);if(void 0!==m){if(m)continue;u=!1;break}if(d){if(!A(t,function(e,t){if(n=t,!d.has(n)&&(h===e||c(h,e,r,o,a)))return d.push(t);var n})){u=!1;break}}else if(h!==f&&!c(h,f,r,o,a)){u=!1;break}}return a.delete(e),a.delete(t),u}function Le(e){return function(e,t,n){var r=t(e);return We(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,Re)}function Ve(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function De(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return je(n)?n:void 0}ze.prototype.clear=function(){this.__data__=me?me(null):{},this.size=0},ze.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},ze.prototype.get=function(e){var t=this.__data__;if(me){var n=t[e];return n===r?void 0:n}return X.call(t,e)?t[e]:void 0},ze.prototype.has=function(e){var t=this.__data__;return me?void 0!==t[e]:X.call(t,e)},ze.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=me&&void 0===t?r:t,this},Oe.prototype.clear=function(){this.__data__=[],this.size=0},Oe.prototype.delete=function(e){var t=this.__data__,n=Te(t,e);return!(n<0)&&(n==t.length-1?t.pop():ce.call(t,n,1),--this.size,!0)},Oe.prototype.get=function(e){var t=this.__data__,n=Te(t,e);return n<0?void 0:t[n][1]},Oe.prototype.has=function(e){return-1<Te(this.__data__,e)},Oe.prototype.set=function(e,t){var n=this.__data__,r=Te(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Se.prototype.clear=function(){this.size=0,this.__data__={hash:new ze,map:new(ue||Oe),string:new ze}},Se.prototype.delete=function(e){var t=Ve(this,e).delete(e);return this.size-=t?1:0,t},Se.prototype.get=function(e){return Ve(this,e).get(e)},Se.prototype.has=function(e){return Ve(this,e).has(e)},Se.prototype.set=function(e,t){var n=Ve(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Ce.prototype.add=Ce.prototype.push=function(e){return this.__data__.set(e,r),this},Ce.prototype.has=function(e){return this.__data__.has(e)},Ee.prototype.clear=function(){this.__data__=new Oe,this.size=0},Ee.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},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 Oe){var r=n.__data__;if(!ue||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new Se(r)}return n.set(e,t),this.size=n.size,this};var Re=se?function(t){return null==t?[]:(t=Object(t),function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,c=[];++n<r;){var a=e[n];t(a,n,e)&&(c[o++]=a)}return c}(se(t),function(e){return oe.call(t,e)}))}:function(){return[]},Ae=Ne;function Be(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||h.test(e))&&-1<e&&e%1==0&&e<t}function Fe(e){if(null!=e){try{return J.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function qe(e,t){return e===t||e!=e&&t!=t}(pe&&Ae(new pe(new ArrayBuffer(1)))!=H||ue&&Ae(new ue)!=O||de&&Ae(de.resolve())!=i||he&&Ae(new he)!=M||fe&&Ae(new fe)!=u)&&(Ae=function(e){var t=Ne(e),n=t==C?e.constructor:void 0,r=n?Fe(n):"";if(r)switch(r){case ve:return H;case ge:return O;case be:return i;case ye:return M;case we:return u}return t});var Ke=ke(function(){return arguments}())?ke:function(e){return Je(e)&&X.call(e,"callee")&&!oe.call(e,"callee")},We=Array.isArray;var Ue=ie||function(){return!1};function Ge(e){if(!Qe(e))return!1;var t=Ne(e);return t==c||t==a||t==o||t==l}function Ye(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=n}function Qe(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Je(e){return null!=e&&"object"==typeof e}var Xe,$e=R?(Xe=R,function(e){return Xe(e)}):function(e){return Je(e)&&Ye(e.length)&&!!f[Ne(e)]};function Ze(e){return function(e){return null!=e&&Ye(e.length)&&!Ge(e)}(e)?Me(e):Pe(e)}t.exports=function(e,t){return He(e,t)}}).call(this,t(9),t(16)(e))},function(h,e,t){(function(e){var n=1/0,r="[object Symbol]",t=/[\\^$.*+?()[\]{}|]/g,o=RegExp(t.source),c="object"==typeof e&&e&&e.Object===Object&&e,a="object"==typeof self&&self&&self.Object===Object&&self,s=c||a||Function("return this")(),i=Object.prototype.toString,l=s.Symbol,p=l?l.prototype:void 0,u=p?p.toString:void 0;function d(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)==r}(e))return u?u.call(e):"";var t=e+"";return"0"==t&&1/e==-n?"-0":t}h.exports=function(e){return(e=function(e){return null==e?"":d(e)}(e))&&o.test(e)?e.replace(t,"\\$&"):e}}).call(this,t(9))},function(e,bt,t){(function(e,t){var n="Expected a function",r="__lodash_hash_undefined__",g=1,w=2,c=1/0,o=9007199254740991,a=17976931348623157e292,s=NaN,b="[object Arguments]",y="[object Array]",_="[object Boolean]",x="[object Date]",z="[object Error]",i="[object Function]",l="[object GeneratorFunction]",O="[object Map]",S="[object Number]",C="[object Object]",p="[object Promise]",E="[object RegExp]",M="[object Set]",T="[object String]",N="[object Symbol]",u="[object WeakMap]",k="[object ArrayBuffer]",H="[object DataView]",d=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,h=/^\w*$/,f=/^\./,m=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,v=/^\s+|\s+$/g,j=/\\(\\)?/g,P=/^[-+]0x[0-9a-f]+$/i,I=/^0b[01]+$/i,L=/^\[object .+?Constructor\]$/,V=/^0o[0-7]+$/i,D=/^(?:0|[1-9]\d*)$/,R={};R["[object Float32Array]"]=R["[object Float64Array]"]=R["[object Int8Array]"]=R["[object Int16Array]"]=R["[object Int32Array]"]=R["[object Uint8Array]"]=R["[object Uint8ClampedArray]"]=R["[object Uint16Array]"]=R["[object Uint32Array]"]=!0,R[b]=R[y]=R[k]=R[_]=R[H]=R[x]=R[z]=R[i]=R[O]=R[S]=R[C]=R[E]=R[M]=R[T]=R[u]=!1;var A=parseInt,B="object"==typeof e&&e&&e.Object===Object&&e,F="object"==typeof self&&self&&self.Object===Object&&self,q=B||F||Function("return this")(),K=bt&&!bt.nodeType&&bt,W=K&&"object"==typeof t&&t&&!t.nodeType&&t,U=W&&W.exports===K&&B.process,G=function(){try{return U&&U.binding("util")}catch(e){}}(),Y=G&&G.isTypedArray;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 J(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function X(e){var n=-1,r=Array(e.size);return e.forEach(function(e,t){r[++n]=[t,e]}),r}function $(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var Z,ee,te,ne=Array.prototype,re=Function.prototype,oe=Object.prototype,ce=q["__core-js_shared__"],ae=(Z=/[^.]+$/.exec(ce&&ce.keys&&ce.keys.IE_PROTO||""))?"Symbol(src)_1."+Z:"",se=re.toString,ie=oe.hasOwnProperty,le=oe.toString,pe=RegExp("^"+se.call(ie).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ue=q.Symbol,de=q.Uint8Array,he=oe.propertyIsEnumerable,fe=ne.splice,me=(ee=Object.keys,te=Object,function(e){return ee(te(e))}),ve=Math.max,ge=Ge(q,"DataView"),be=Ge(q,"Map"),ye=Ge(q,"Promise"),we=Ge(q,"Set"),_e=Ge(q,"WeakMap"),xe=Ge(Object,"create"),ze=tt(ge),Oe=tt(be),Se=tt(ye),Ce=tt(we),Ee=tt(_e),Me=ue?ue.prototype:void 0,Te=Me?Me.valueOf:void 0,Ne=Me?Me.toString:void 0;function ke(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 Ie(e){this.__data__=new He(e)}function Le(e,t){var n=st(e)||at(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 c in e)!t&&!ie.call(e,c)||o&&("length"==c||Qe(c,r))||n.push(c);return n}function Ve(e,t){for(var n=e.length;n--;)if(ct(e[n][0],t))return n;return-1}function De(e,t){for(var n=0,r=(t=Je(t,e)?[t]:Ke(t)).length;null!=e&&n<r;)e=e[et(t[n++])];return n&&n==r?e:void 0}function Re(e,t){return null!=e&&t in Object(e)}function Ae(e,t,n,r,o){return e===t||(null==e||null==t||!ut(e)&&!dt(t)?e!=e&&t!=t:function(e,t,n,r,o,c){var a=st(e),s=st(t),i=y,l=y;a||(i=(i=Ye(e))==b?C:i);s||(l=(l=Ye(t))==b?C:l);var p=i==C&&!J(e),u=l==C&&!J(t),d=i==l;if(d&&!p)return c=c||new Ie,a||mt(e)?We(e,t,n,r,o,c):function(e,t,n,r,o,c,a){switch(n){case H:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case k:return!(e.byteLength!=t.byteLength||!r(new de(e),new de(t)));case _:case x:case S:return ct(+e,+t);case z:return e.name==t.name&&e.message==t.message;case E:case T:return e==t+"";case O:var s=X;case M:var i=c&w;if(s=s||$,e.size!=t.size&&!i)return!1;var l=a.get(e);if(l)return l==t;c|=g,a.set(e,t);var p=We(s(e),s(t),r,o,c,a);return a.delete(e),p;case N:if(Te)return Te.call(e)==Te.call(t)}return!1}(e,t,i,n,r,o,c);if(!(o&w)){var h=p&&ie.call(e,"__wrapped__"),f=u&&ie.call(t,"__wrapped__");if(h||f){var m=h?e.value():e,v=f?t.value():t;return c=c||new Ie,n(m,v,r,o,c)}}return d&&(c=c||new Ie,function(e,t,n,r,o,c){var a=o&w,s=vt(e),i=s.length,l=vt(t).length;if(i!=l&&!a)return!1;var p=i;for(;p--;){var u=s[p];if(!(a?u in t:ie.call(t,u)))return!1}var d=c.get(e);if(d&&c.get(t))return d==t;var h=!0;c.set(e,t),c.set(t,e);var f=a;for(;++p<i;){u=s[p];var m=e[u],v=t[u];if(r)var g=a?r(v,m,u,t,e,c):r(m,v,u,e,t,c);if(!(void 0===g?m===v||n(m,v,r,o,c):g)){h=!1;break}f=f||"constructor"==u}if(h&&!f){var b=e.constructor,y=t.constructor;b!=y&&"constructor"in e&&"constructor"in t&&!("function"==typeof b&&b instanceof b&&"function"==typeof y&&y instanceof y)&&(h=!1)}return c.delete(e),c.delete(t),h}(e,t,n,r,o,c))}(e,t,Ae,n,r,o))}function Be(e){return!(!ut(e)||function(e){return!!ae&&ae in e}(e))&&(lt(e)||J(e)?pe:L).test(tt(e))}function Fe(e){return"function"==typeof e?e:null==e?gt:"object"==typeof e?st(e)?function(n,r){if(Je(n)&&Xe(r))return $e(et(n),r);return function(e){var t=function(e,t,n){var r=null==e?void 0:De(e,t);return void 0===r?n:r}(e,n);return void 0===t&&t===r?function(e,t){return null!=e&&function(e,t,n){t=Je(t,e)?[t]:Ke(t);var r,o=-1,c=t.length;for(;++o<c;){var a=et(t[o]);if(!(r=null!=e&&n(e,a)))break;e=e[a]}if(r)return r;return!!(c=e?e.length:0)&&pt(c)&&Qe(a,c)&&(st(e)||at(e))}(e,t,Re)}(e,n):Ae(r,t,void 0,g|w)}}(e[0],e[1]):function(t){var n=function(e){var t=vt(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,Xe(o)]}return t}(t);if(1==n.length&&n[0][2])return $e(n[0][0],n[0][1]);return function(e){return e===t||function(e,t,n,r){var o=n.length,c=o,a=!r;if(null==e)return!c;for(e=Object(e);o--;){var s=n[o];if(a&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<c;){var i=(s=n[o])[0],l=e[i],p=s[1];if(a&&s[2]){if(void 0===l&&!(i in e))return!1}else{var u=new Ie;if(r)var d=r(l,p,i,e,t,u);if(!(void 0===d?Ae(p,l,r,g|w,u):d))return!1}}return!0}(e,t,n)}}(e):function(e){return Je(e)?function(t){return function(e){return null==e?void 0:e[t]}}(et(e)):function(t){return function(e){return De(e,t)}}(e)}(e)}function qe(e){if(!function(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||oe;return e===n}(e))return me(e);var t=[];for(var n in Object(e))ie.call(e,n)&&"constructor"!=n&&t.push(n);return t}function Ke(e){return st(e)?e:Ze(e)}function We(e,t,n,r,o,c){var a=o&w,s=e.length,i=t.length;if(s!=i&&!(a&&s<i))return!1;var l=c.get(e);if(l&&c.get(t))return l==t;var p=-1,u=!0,d=o&g?new Pe:void 0;for(c.set(e,t),c.set(t,e);++p<s;){var h=e[p],f=t[p];if(r)var m=a?r(f,h,p,t,e,c):r(h,f,p,e,t,c);if(void 0!==m){if(m)continue;u=!1;break}if(d){if(!Q(t,function(e,t){if(!d.has(t)&&(h===e||n(h,e,r,o,c)))return d.add(t)})){u=!1;break}}else if(h!==f&&!n(h,f,r,o,c)){u=!1;break}}return c.delete(e),c.delete(t),u}function Ue(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function Ge(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Be(n)?n:void 0}ke.prototype.clear=function(){this.__data__=xe?xe(null):{}},ke.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},ke.prototype.get=function(e){var t=this.__data__;if(xe){var n=t[e];return n===r?void 0:n}return ie.call(t,e)?t[e]:void 0},ke.prototype.has=function(e){var t=this.__data__;return xe?void 0!==t[e]:ie.call(t,e)},ke.prototype.set=function(e,t){return this.__data__[e]=xe&&void 0===t?r:t,this},He.prototype.clear=function(){this.__data__=[]},He.prototype.delete=function(e){var t=this.__data__,n=Ve(t,e);return!(n<0)&&(n==t.length-1?t.pop():fe.call(t,n,1),!0)},He.prototype.get=function(e){var t=this.__data__,n=Ve(t,e);return n<0?void 0:t[n][1]},He.prototype.has=function(e){return-1<Ve(this.__data__,e)},He.prototype.set=function(e,t){var n=this.__data__,r=Ve(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},je.prototype.clear=function(){this.__data__={hash:new ke,map:new(be||He),string:new ke}},je.prototype.delete=function(e){return Ue(this,e).delete(e)},je.prototype.get=function(e){return Ue(this,e).get(e)},je.prototype.has=function(e){return Ue(this,e).has(e)},je.prototype.set=function(e,t){return Ue(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)},Ie.prototype.clear=function(){this.__data__=new He},Ie.prototype.delete=function(e){return this.__data__.delete(e)},Ie.prototype.get=function(e){return this.__data__.get(e)},Ie.prototype.has=function(e){return this.__data__.has(e)},Ie.prototype.set=function(e,t){var n=this.__data__;if(n instanceof He){var r=n.__data__;if(!be||r.length<199)return r.push([e,t]),this;n=this.__data__=new je(r)}return n.set(e,t),this};var Ye=function(e){return le.call(e)};function Qe(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||D.test(e))&&-1<e&&e%1==0&&e<t}function Je(e,t){if(st(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ht(e))||(h.test(e)||!d.test(e)||null!=t&&e in Object(t))}function Xe(e){return e==e&&!ut(e)}function $e(t,n){return function(e){return null!=e&&(e[t]===n&&(void 0!==n||t in Object(e)))}}(ge&&Ye(new ge(new ArrayBuffer(1)))!=H||be&&Ye(new be)!=O||ye&&Ye(ye.resolve())!=p||we&&Ye(new we)!=M||_e&&Ye(new _e)!=u)&&(Ye=function(e){var t=le.call(e),n=t==C?e.constructor:void 0,r=n?tt(n):void 0;if(r)switch(r){case ze:return H;case Oe:return O;case Se:return p;case Ce:return M;case Ee:return u}return t});var Ze=ot(function(e){e=function(e){return null==e?"":function(e){if("string"==typeof e)return e;if(ht(e))return Ne?Ne.call(e):"";var t=e+"";return"0"==t&&1/e==-c?"-0":t}(e)}(e);var o=[];return f.test(e)&&o.push(""),e.replace(m,function(e,t,n,r){o.push(n?r.replace(j,"$1"):t||e)}),o});function et(e){if("string"==typeof e||ht(e))return e;var t=e+"";return"0"==t&&1/e==-c?"-0":t}function tt(e){if(null!=e){try{return se.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var nt,rt=(nt=function(e,t,n){var r=e?e.length:0;if(!r)return-1;var o=null==n?0:function(e){var t=function(e){return e?(e=function(e){if("number"==typeof e)return e;if(ht(e))return s;if(ut(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=ut(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(v,"");var n=I.test(e);return n||V.test(e)?A(e.slice(2),n?2:8):P.test(e)?s:+e}(e))!==c&&e!==-c?e==e?e:0:(e<0?-1:1)*a:0===e?e:0}(e),n=t%1;return t==t?n?t-n:t:0}(n);return o<0&&(o=ve(r+o,0)),function(e,t,n,r){for(var o=e.length,c=n+(r?1:-1);r?c--:++c<o;)if(t(e[c],c,e))return c;return-1}(e,Fe(t),o)},function(e,t,n){var r=Object(e);if(!it(e)){var o=Fe(t);e=vt(e),t=function(e){return o(r[e],e,r)}}var c=nt(e,t,n);return-1<c?r[o?e[c]:c]:void 0});function ot(o,c){if("function"!=typeof o||c&&"function"!=typeof c)throw new TypeError(n);var a=function(){var e=arguments,t=c?c.apply(this,e):e[0],n=a.cache;if(n.has(t))return n.get(t);var r=o.apply(this,e);return a.cache=n.set(t,r),r};return a.cache=new(ot.Cache||je),a}function ct(e,t){return e===t||e!=e&&t!=t}function at(e){return function(e){return dt(e)&&it(e)}(e)&&ie.call(e,"callee")&&(!he.call(e,"callee")||le.call(e)==b)}ot.Cache=je;var st=Array.isArray;function it(e){return null!=e&&pt(e.length)&&!lt(e)}function lt(e){var t=ut(e)?le.call(e):"";return t==i||t==l}function pt(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=o}function ut(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function dt(e){return!!e&&"object"==typeof e}function ht(e){return"symbol"==typeof e||dt(e)&&le.call(e)==N}var ft,mt=Y?(ft=Y,function(e){return ft(e)}):function(e){return dt(e)&&pt(e.length)&&!!R[le.call(e)]};function vt(e){return it(e)?Le(e):qe(e)}function gt(e){return e}t.exports=rt}).call(this,t(9),t(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":["/__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,mt,t){(function(e,t){var n="Expected a function",r="__lodash_hash_undefined__",g=1,w=2,c=1/0,o=9007199254740991,b="[object Arguments]",y="[object Array]",_="[object Boolean]",x="[object Date]",z="[object Error]",a="[object Function]",s="[object GeneratorFunction]",O="[object Map]",S="[object Number]",C="[object Object]",i="[object Promise]",E="[object RegExp]",M="[object Set]",T="[object String]",N="[object Symbol]",l="[object WeakMap]",k="[object ArrayBuffer]",H="[object DataView]",p=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/,d=/^\./,h=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,f=/\\(\\)?/g,m=/^\[object .+?Constructor\]$/,v=/^(?: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[b]=j[y]=j[k]=j[_]=j[H]=j[x]=j[z]=j[a]=j[O]=j[S]=j[C]=j[E]=j[M]=j[T]=j[l]=!1;var P="object"==typeof e&&e&&e.Object===Object&&e,I="object"==typeof self&&self&&self.Object===Object&&self,L=P||I||Function("return this")(),V=mt&&!mt.nodeType&&mt,D=V&&"object"==typeof t&&t&&!t.nodeType&&t,R=D&&D.exports===V&&P.process,A=function(){try{return R&&R.binding("util")}catch(e){}}(),B=A&&A.isTypedArray;function F(e,t){for(var n=-1,r=e?e.length:0,o=0,c=[];++n<r;){var a=e[n];t(a,n,e)&&(c[o++]=a)}return c}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 K(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function W(e){var n=-1,r=Array(e.size);return e.forEach(function(e,t){r[++n]=[t,e]}),r}function U(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}var G,Y,Q,J=Array.prototype,X=Function.prototype,$=Object.prototype,Z=L["__core-js_shared__"],ee=(G=/[^.]+$/.exec(Z&&Z.keys&&Z.keys.IE_PROTO||""))?"Symbol(src)_1."+G:"",te=X.toString,ne=$.hasOwnProperty,re=$.toString,oe=RegExp("^"+te.call(ne).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ce=L.Symbol,ae=L.Uint8Array,se=$.propertyIsEnumerable,ie=J.splice,le=(Y=Object.keys,Q=Object,function(e){return Y(Q(e))}),pe=Ue(L,"DataView"),ue=Ue(L,"Map"),de=Ue(L,"Promise"),he=Ue(L,"Set"),fe=Ue(L,"WeakMap"),me=Ue(Object,"create"),ve=et(pe),ge=et(ue),be=et(de),ye=et(he),we=et(fe),_e=ce?ce.prototype:void 0,xe=_e?_e.valueOf:void 0,ze=_e?_e.toString:void 0;function Oe(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 Ce(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 Ee(e){var t=-1,n=e?e.length:0;for(this.__data__=new Ce;++t<n;)this.add(e[t])}function Me(e){this.__data__=new Se(e)}function Te(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 c in e)!t&&!ne.call(e,c)||o&&("length"==c||Ye(c,r))||n.push(c);return n}function Ne(e,t){for(var n=e.length;n--;)if(nt(e[n][0],t))return n;return-1}Oe.prototype.clear=function(){this.__data__=me?me(null):{}},Oe.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Oe.prototype.get=function(e){var t=this.__data__;if(me){var n=t[e];return n===r?void 0:n}return ne.call(t,e)?t[e]:void 0},Oe.prototype.has=function(e){var t=this.__data__;return me?void 0!==t[e]:ne.call(t,e)},Oe.prototype.set=function(e,t){return this.__data__[e]=me&&void 0===t?r:t,this},Se.prototype.clear=function(){this.__data__=[]},Se.prototype.delete=function(e){var t=this.__data__,n=Ne(t,e);return!(n<0)&&(n==t.length-1?t.pop():ie.call(t,n,1),!0)},Se.prototype.get=function(e){var t=this.__data__,n=Ne(t,e);return n<0?void 0:t[n][1]},Se.prototype.has=function(e){return-1<Ne(this.__data__,e)},Se.prototype.set=function(e,t){var n=this.__data__,r=Ne(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Ce.prototype.clear=function(){this.__data__={hash:new Oe,map:new(ue||Se),string:new Oe}},Ce.prototype.delete=function(e){return We(this,e).delete(e)},Ce.prototype.get=function(e){return We(this,e).get(e)},Ce.prototype.has=function(e){return We(this,e).has(e)},Ce.prototype.set=function(e,t){return We(this,e).set(e,t),this},Ee.prototype.add=Ee.prototype.push=function(e){return this.__data__.set(e,r),this},Ee.prototype.has=function(e){return this.__data__.has(e)},Me.prototype.clear=function(){this.__data__=new Se},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 Se){var r=n.__data__;if(!ue||r.length<199)return r.push([e,t]),this;n=this.__data__=new Ce(r)}return n.set(e,t),this};var ke,He,je=(ke=function(e,t){return e&&Le(e,t,ht)},function(e,t){if(null==e)return e;if(!ct(e))return ke(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,r){var o=[];return je(e,function(e,t,n){r(e,t,n)&&o.push(e)}),o}var Ie,Le=function(e,t,n){for(var r=-1,o=Object(e),c=n(e),a=c.length;a--;){var s=c[Ie?a:++r];if(!1===t(o[s],s,o))break}return e};function Ve(e,t){for(var n=0,r=(t=Qe(t,e)?[t]:qe(t)).length;null!=e&&n<r;)e=e[Ze(t[n++])];return n&&n==r?e:void 0}function De(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,c){var a=ot(e),s=ot(t),i=y,l=y;a||(i=(i=Ge(e))==b?C:i);s||(l=(l=Ge(t))==b?C:l);var p=i==C&&!K(e),u=l==C&&!K(t),d=i==l;if(d&&!p)return c=c||new Me,a||dt(e)?Ke(e,t,n,r,o,c):function(e,t,n,r,o,c,a){switch(n){case H:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case k:return!(e.byteLength!=t.byteLength||!r(new ae(e),new ae(t)));case _:case x:case S:return nt(+e,+t);case z:return e.name==t.name&&e.message==t.message;case E:case T:return e==t+"";case O:var s=W;case M:var i=c&w;if(s=s||U,e.size!=t.size&&!i)return!1;var l=a.get(e);if(l)return l==t;c|=g,a.set(e,t);var p=Ke(s(e),s(t),r,o,c,a);return a.delete(e),p;case N:if(xe)return xe.call(e)==xe.call(t)}return!1}(e,t,i,n,r,o,c);if(!(o&w)){var h=p&&ne.call(e,"__wrapped__"),f=u&&ne.call(t,"__wrapped__");if(h||f){var m=h?e.value():e,v=f?t.value():t;return c=c||new Me,n(m,v,r,o,c)}}return d&&(c=c||new Me,function(e,t,n,r,o,c){var a=o&w,s=ht(e),i=s.length,l=ht(t).length;if(i!=l&&!a)return!1;var p=i;for(;p--;){var u=s[p];if(!(a?u in t:ne.call(t,u)))return!1}var d=c.get(e);if(d&&c.get(t))return d==t;var h=!0;c.set(e,t),c.set(t,e);var f=a;for(;++p<i;){u=s[p];var m=e[u],v=t[u];if(r)var g=a?r(v,m,u,t,e,c):r(m,v,u,e,t,c);if(!(void 0===g?m===v||n(m,v,r,o,c):g)){h=!1;break}f=f||"constructor"==u}if(h&&!f){var b=e.constructor,y=t.constructor;b!=y&&"constructor"in e&&"constructor"in t&&!("function"==typeof b&&b instanceof b&&"function"==typeof y&&y instanceof y)&&(h=!1)}return c.delete(e),c.delete(t),h}(e,t,n,r,o,c))}(e,t,Re,n,r,o))}function Ae(e){return!(!it(e)||function(e){return!!ee&&ee in e}(e))&&(at(e)||K(e)?oe:m).test(et(e))}function Be(e){return"function"==typeof e?e:null==e?ft:"object"==typeof e?ot(e)?function(n,r){if(Qe(n)&&Je(r))return Xe(Ze(n),r);return function(e){var t=function(e,t,n){var r=null==e?void 0:Ve(e,t);return void 0===r?n:r}(e,n);return void 0===t&&t===r?function(e,t){return null!=e&&function(e,t,n){t=Qe(t,e)?[t]:qe(t);var r,o=-1,c=t.length;for(;++o<c;){var a=Ze(t[o]);if(!(r=null!=e&&n(e,a)))break;e=e[a]}if(r)return r;return!!(c=e?e.length:0)&&st(c)&&Ye(a,c)&&(ot(e)||rt(e))}(e,t,De)}(e,n):Re(r,t,void 0,g|w)}}(e[0],e[1]):function(t){var n=function(e){var t=ht(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,Je(o)]}return t}(t);if(1==n.length&&n[0][2])return Xe(n[0][0],n[0][1]);return function(e){return e===t||function(e,t,n,r){var o=n.length,c=o,a=!r;if(null==e)return!c;for(e=Object(e);o--;){var s=n[o];if(a&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<c;){var i=(s=n[o])[0],l=e[i],p=s[1];if(a&&s[2]){if(void 0===l&&!(i in e))return!1}else{var u=new Me;if(r)var d=r(l,p,i,e,t,u);if(!(void 0===d?Re(p,l,r,g|w,u):d))return!1}}return!0}(e,t,n)}}(e):function(e){return Qe(e)?function(t){return function(e){return null==e?void 0:e[t]}}(Ze(e)):function(t){return function(e){return Ve(e,t)}}(e)}(e)}function Fe(e){if(!function(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||$;return e===n}(e))return le(e);var t=[];for(var n in Object(e))ne.call(e,n)&&"constructor"!=n&&t.push(n);return t}function qe(e){return ot(e)?e:$e(e)}function Ke(e,t,n,r,o,c){var a=o&w,s=e.length,i=t.length;if(s!=i&&!(a&&s<i))return!1;var l=c.get(e);if(l&&c.get(t))return l==t;var p=-1,u=!0,d=o&g?new Ee:void 0;for(c.set(e,t),c.set(t,e);++p<s;){var h=e[p],f=t[p];if(r)var m=a?r(f,h,p,t,e,c):r(h,f,p,e,t,c);if(void 0!==m){if(m)continue;u=!1;break}if(d){if(!q(t,function(e,t){if(!d.has(t)&&(h===e||n(h,e,r,o,c)))return d.add(t)})){u=!1;break}}else if(h!==f&&!n(h,f,r,o,c)){u=!1;break}}return c.delete(e),c.delete(t),u}function We(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function Ue(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ae(n)?n:void 0}var Ge=function(e){return re.call(e)};function Ye(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||v.test(e))&&-1<e&&e%1==0&&e<t}function Qe(e,t){if(ot(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!pt(e))||(u.test(e)||!p.test(e)||null!=t&&e in Object(t))}function Je(e){return e==e&&!it(e)}function Xe(t,n){return function(e){return null!=e&&(e[t]===n&&(void 0!==n||t in Object(e)))}}(pe&&Ge(new pe(new ArrayBuffer(1)))!=H||ue&&Ge(new ue)!=O||de&&Ge(de.resolve())!=i||he&&Ge(new he)!=M||fe&&Ge(new fe)!=l)&&(Ge=function(e){var t=re.call(e),n=t==C?e.constructor:void 0,r=n?et(n):void 0;if(r)switch(r){case ve:return H;case ge:return O;case be:return i;case ye:return M;case we:return l}return t});var $e=tt(function(e){e=function(e){return null==e?"":function(e){if("string"==typeof e)return e;if(pt(e))return ze?ze.call(e):"";var t=e+"";return"0"==t&&1/e==-c?"-0":t}(e)}(e);var o=[];return d.test(e)&&o.push(""),e.replace(h,function(e,t,n,r){o.push(n?r.replace(f,"$1"):t||e)}),o});function Ze(e){if("string"==typeof e||pt(e))return e;var t=e+"";return"0"==t&&1/e==-c?"-0":t}function et(e){if(null!=e){try{return te.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function tt(o,c){if("function"!=typeof o||c&&"function"!=typeof c)throw new TypeError(n);var a=function(){var e=arguments,t=c?c.apply(this,e):e[0],n=a.cache;if(n.has(t))return n.get(t);var r=o.apply(this,e);return a.cache=n.set(t,r),r};return a.cache=new(tt.Cache||Ce),a}function nt(e,t){return e===t||e!=e&&t!=t}function rt(e){return function(e){return lt(e)&&ct(e)}(e)&&ne.call(e,"callee")&&(!se.call(e,"callee")||re.call(e)==b)}tt.Cache=Ce;var ot=Array.isArray;function ct(e){return null!=e&&st(e.length)&&!at(e)}function at(e){var t=it(e)?re.call(e):"";return t==a||t==s}function st(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=o}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)&&re.call(e)==N}var ut,dt=B?(ut=B,function(e){return ut(e)}):function(e){return lt(e)&&st(e.length)&&!!j[re.call(e)]};function ht(e){return ct(e)?Te(e):Fe(e)}function ft(e){return e}t.exports=function(e,t){return(ot(e)?F:Pe)(e,function(t){if("function"==typeof t)return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)};throw new TypeError(n)}(Be(t)))}}).call(this,t(9),t(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":["/__examples__/base.jsx","/__examples__/step-progress.jsx","/__examples__/hub-expandable-steps.jsx","/__examples__/card.jsx"],"url-slug":"setup-assistant"}')},function(e,t,n){"use strict";var o,r,c,a=n(66),s="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";function i(){c=!1}function l(e){if(e){if(e!==o){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(", "));o=e,i()}}else o!==s&&(o=s,i())}function p(){return c||(c=function(){o||l(s);for(var e,t=o.split(""),n=[],r=a.nextValue();0<t.length;)r=a.nextValue(),e=Math.floor(r*t.length),n.push(t.splice(e,1)[0]);return n.join("")}())}e.exports={get:function(){return o||s},characters:function(e){return l(e),o},seed:function(e){a.seed(e),r!==e&&(i(),r=e)},lookup:function(e){return p()[e]},shuffled:p}},function(e,t){e.exports=function(r,o){return function(e,t,n){return"function"!=typeof r?new Error("Invalid react-required-if prop type supplied to "+n+". Validation failed."):"function"!=typeof o?new Error("Invalid react-required-if condition supplied to "+n+". Validation failed."):(o(e)?r.isRequired:r).apply(this,arguments)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(73),c=(r=o)&&r.__esModule?r:{default:r};t.default=c.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":["/__examples__/default.jsx","/__examples__/icons.jsx","/__examples__/error.jsx","/__examples__/inactiveInputs.jsx","/__examples__/inline-help.jsx","/__examples__/field-level-help.jsx","/__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":["/__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(78);var c=((r=o)&&r.__esModule?r:{default:r}).default,a=c.canUseDOM?window.HTMLElement:{};t.canUseDOM=c.canUseDOM;t.default=a},function(e,t,n){"use strict";var r=n(1),o=n(84);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 c=(new r.Component).updater;e.exports=o(r.Component,r.isValidElement,c)},function(e,t,n){var r=n(1),o=n(81),c=n(82),a=n(83),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-1<n.indexOf(e.normalize())?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=a(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=c(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 c=this.getMatchBoundaries(o,t);if(0===c.first&&0===c.last)return n;var a=r.slice(0,c.first);a&&n.push(this.renderPlain(a));var s=r.slice(c.first,c.last);s&&n.push(this.renderHighlight(s)),r=r.slice(c.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";e.exports=function(e,t,n,r,o,c,a,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,c,a,s],p=0;(i=new Error(t.replace(/%s/g,function(){return l[p++]}))).name="Invariant Violation"}throw i.framesToPop=1,i}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return[].slice.call(e.querySelectorAll("*"),0).filter(a)}; +/*! + * 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 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 c(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 a(e){var t=e.getAttribute("tabindex");null===t&&(t=void 0);var n=isNaN(t);return(n||0<=t)&&c(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&&a.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(77),c=(r=o)&&r.__esModule?r:{default:r},a=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,c.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":["/__examples__/base-neutral.jsx","/__examples__/brand-disabled-destructive-inverse.jsx","/__examples__/button-icons.jsx"],"url-slug":"buttons"}')},function(e,$,t){"use strict";(function(e){for( +/**! + * @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 t="undefined"!=typeof window&&"undefined"!=typeof document,n=["Edge","Trident","Firefox"],r=0,o=0;o<n.length;o+=1)if(t&&0<=navigator.userAgent.indexOf(n[o])){r=1;break}var c=t&&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()},r))}};function a(e){return e&&"[object Function]"==={}.toString.call(e)}function w(e,t){if(1!==e.nodeType)return[];var n=getComputedStyle(e,null);return t?n[t]:n}function u(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function h(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=w(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/(auto|scroll)/.test(n+o+r)?e:h(u(e))}function b(e){var t=e&&e.offsetParent,n=t&&t.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TD","TABLE"].indexOf(t.nodeName)&&"static"===w(t,"position")?b(t):t:e?e.ownerDocument.documentElement:document.documentElement}function i(e){return null!==e.parentNode?i(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,c=document.createRange();c.setStart(r,0),c.setEnd(o,0);var a=c.commonAncestorContainer;if(e!==a&&t!==a||r.contains(o))return function(e){var t=e.nodeName;return"BODY"!==t&&("HTML"===t||b(e.firstElementChild)===e)}(a)?a:b(a);var s=i(e);return s.host?d(s.host,t):d(e,i(t).host)}function f(e,t){var n="top"===(1<arguments.length&&void 0!==t?t:"top")?"scrollTop":"scrollLeft",r=e.nodeName;if("BODY"!==r&&"HTML"!==r)return e[n];var o=e.ownerDocument.documentElement;return(e.ownerDocument.scrollingElement||o)[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 s=void 0,v=function(){return void 0===s&&(s=-1!==navigator.appVersion.indexOf("MSIE 10")),s};function l(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],v()?n["offset"+e]+r["margin"+("Height"===e?"Top":"Left")]+r["margin"+("Height"===e?"Bottom":"Right")]:0)}function g(){var e=document.body,t=document.documentElement,n=v()&&getComputedStyle(t);return{height:l("Height",e,t,n),width:l("Width",e,t,n)}}var p=function(e,t,n){return t&&y(e.prototype,t),n&&y(e,n),e};function y(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,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var 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 z(e){return x({},e,{right:e.left+e.width,bottom:e.top+e.height})}function O(e){var t={};if(v())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},c="HTML"===e.nodeName?g():{},a=c.width||e.clientWidth||o.right-o.left,s=c.height||e.clientHeight||o.bottom-o.top,i=e.offsetWidth-a,l=e.offsetHeight-s;if(i||l){var p=w(e);i-=m(p,"x"),l-=m(p,"y"),o.width-=i,o.height-=l}return z(o)}function S(e,t){var n=v(),r="HTML"===t.nodeName,o=O(e),c=O(t),a=h(e),s=w(t),i=parseFloat(s.borderTopWidth,10),l=parseFloat(s.borderLeftWidth,10),p=z({top:o.top-c.top-i,left:o.left-c.left-l,width:o.width,height:o.height});if(p.marginTop=0,p.marginLeft=0,!n&&r){var u=parseFloat(s.marginTop,10),d=parseFloat(s.marginLeft,10);p.top-=i-u,p.bottom-=i-u,p.left-=l-d,p.right-=l-d,p.marginTop=u,p.marginLeft=d}return(n?t.contains(a):t===a&&"BODY"!==a.nodeName)&&(p=function(e,t,n){var r=2<arguments.length&&void 0!==n&&n,o=f(t,"top"),c=f(t,"left"),a=r?-1:1;return e.top+=o*a,e.bottom+=o*a,e.left+=c*a,e.right+=c*a,e}(p,t)),p}function C(e,t,n,r){var o={top:0,left:0},c=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),c=f(t),a=f(t,"left");return z({top:c-n.top+n.marginTop,left:a-n.left+n.marginLeft,width:r,height:o})}(c);else{var a=void 0;"scrollParent"===r?"BODY"===(a=h(u(t))).nodeName&&(a=e.ownerDocument.documentElement):a="window"===r?e.ownerDocument.documentElement:r;var s=S(a,c);if("HTML"!==a.nodeName||function e(t){var n=t.nodeName;return"BODY"!==n&&"HTML"!==n&&("fixed"===w(t,"position")||e(u(t)))}(c))o=s;else{var i=g(),l=i.height,p=i.width;o.top+=s.top-s.marginTop,o.bottom=l+s.top,o.left+=s.left-s.marginLeft,o.right=p+s.left}}return o.left+=n,o.top+=n,o.right-=n,o.bottom-=n,o}function E(e,t,r,n,o,c){var a=5<arguments.length&&void 0!==c?c:0;if(-1===e.indexOf("auto"))return e;var s=C(r,n,a,o),i={top:{width:s.width,height:t.top-s.top},right:{width:s.right-t.right,height:s.height},bottom:{width:s.width,height:s.bottom-t.bottom},left:{width:t.left-s.left,height:s.height}},l=Object.keys(i).map(function(e){return x({key:e},i[e],{area:function(e){return e.width*e.height}(i[e])})}).sort(function(e,t){return t.area-e.area}),p=l.filter(function(e){var t=e.width,n=e.height;return t>=r.clientWidth&&n>=r.clientHeight}),u=0<p.length?p[0].key:l[0].key,d=e.split("-")[1];return u+(d?"-"+d:"")}function M(e,t,n){return S(n,d(t,n))}function T(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 k(e,t,n){n=n.split("-")[0];var r=T(e),o={width:r.width,height:r.height},c=-1!==["right","left"].indexOf(n),a=c?"top":"left",s=c?"left":"top",i=c?"height":"width",l=c?"width":"height";return o[a]=t[a]+t[i]/2-r[i]/2,o[s]=n===s?t[s]-r[l]:t[N(s)],o}function H(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function j(e,n,t){return(void 0===t?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex(function(e){return e[t]===n});var r=H(e,function(e){return e[t]===n});return e.indexOf(r)}(e,"name",t))).forEach(function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var t=e.function||e.fn;e.enabled&&a(t)&&(n.offsets.popper=z(n.offsets.popper),n.offsets.reference=z(n.offsets.reference),n=t(n,e))}),n}function P(e,n){return e.some(function(e){var t=e.name;return e.enabled&&t===n})}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],c=o?""+o+n:e;if(void 0!==document.body.style[c])return c}return null}function L(e){var t=e.ownerDocument;return t?t.defaultView:window}function V(e,t,n,r){n.updateBound=r,L(e).addEventListener("resize",n.updateBound,{passive:!0});var o=h(e);return function e(t,n,r,o){var c="BODY"===t.nodeName,a=c?t.ownerDocument.defaultView:t;a.addEventListener(n,r,{passive:!0}),c||e(h(a.parentNode),n,r,o),o.push(a)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function D(){this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=function(e,t){return L(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}(this.reference,this.state))}function R(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function A(n,r){Object.keys(r).forEach(function(e){var t="";-1!==["width","height","top","right","bottom","left"].indexOf(e)&&R(r[e])&&(t="px"),n.style[e]=r[e]+t})}function B(e,t,n){var r=H(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 c="`"+t+"`",a="`"+n+"`";console.warn(a+" modifier is required by "+c+" modifier in order to work, be sure to include it before "+c+"!")}return o}var F=["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"],q=F.slice(3);function K(e,t){var n=1<arguments.length&&void 0!==t&&t,r=q.indexOf(e),o=q.slice(r+1).concat(q.slice(0,r));return n?o.reverse():o}var W="flip",U="clockwise",G="counterclockwise";function Y(e,o,c,t){var a=[0,0],s=-1!==["right","left"].indexOf(t),n=e.split(/(\+|\-)/).map(function(e){return e.trim()}),r=n.indexOf(H(n,function(e){return-1!==e.search(/,|\s/)}));n[r]&&-1===n[r].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var i=/\s*,\s*|\s+/,l=-1!==r?[n.slice(0,r).concat([n[r].split(i)[0]]),[n[r].split(i)[1]].concat(n.slice(r+1))]:[n];return(l=l.map(function(e,t){var n=(1===t?!s:s)?"height":"width",r=!1;return e.reduce(function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,r=!0,e):r?(e[e.length-1]+=t,r=!1,e):e.concat(t)},[]).map(function(e){return function(e,t,n,r){var o=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),c=+o[1],a=o[2];if(!c)return e;if(0!==a.indexOf("%"))return"vh"!==a&&"vw"!==a?c:("vh"===a?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*c;var s=void 0;switch(a){case"%p":s=n;break;case"%":case"%r":default:s=r}return z(s)[t]/100*c}(e,n,o,c)})})).forEach(function(n,r){n.forEach(function(e,t){R(e)&&(a[r]+=e*("-"===n[t-1]?-1:1))})}),a}var Q={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,c=o.reference,a=o.popper,s=-1!==["bottom","top"].indexOf(n),i=s?"left":"top",l=s?"width":"height",p={start:_({},i,c[i]),end:_({},i,c[i]+c[l]-a[l])};e.offsets.popper=x({},a,p[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,r=e.placement,o=e.offsets,c=o.popper,a=o.reference,s=r.split("-")[0],i=void 0;return i=R(+n)?[+n,0]:Y(n,c,a,s),"left"===s?(c.top+=i[0],c.left-=i[1]):"right"===s?(c.top+=i[0],c.left+=i[1]):"top"===s?(c.left+=i[0],c.top-=i[1]):"bottom"===s&&(c.left+=i[0],c.top+=i[1]),e.popper=c,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,r){var t=r.boundariesElement||b(e.instance.popper);e.instance.reference===t&&(t=b(t));var o=C(e.instance.popper,e.instance.reference,r.padding,t);r.boundaries=o;var n=r.priority,c=e.offsets.popper,a={primary:function(e){var t=c[e];return c[e]<o[e]&&!r.escapeWithReference&&(t=Math.max(c[e],o[e])),_({},e,t)},secondary:function(e){var t="right"===e?"left":"top",n=c[t];return c[e]>o[e]&&!r.escapeWithReference&&(n=Math.min(c[t],o[e]-("right"===e?c.width:c.height))),_({},t,n)}};return n.forEach(function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";c=x({},c,a[t](e))}),e.offsets.popper=c,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],c=Math.floor,a=-1!==["top","bottom"].indexOf(o),s=a?"right":"bottom",i=a?"left":"top",l=a?"width":"height";return n[s]<c(r[i])&&(e.offsets.popper[i]=c(r[i])-n[l]),n[i]>c(r[s])&&(e.offsets.popper[i]=c(r[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!B(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],c=e.offsets,a=c.popper,s=c.reference,i=-1!==["left","right"].indexOf(o),l=i?"height":"width",p=i?"Top":"Left",u=p.toLowerCase(),d=i?"left":"top",h=i?"bottom":"right",f=T(r)[l];s[h]-f<a[u]&&(e.offsets.popper[u]-=a[u]-(s[h]-f)),s[u]+f>a[h]&&(e.offsets.popper[u]+=s[u]+f-a[h]),e.offsets.popper=z(e.offsets.popper);var m=s[u]+s[l]/2-f/2,v=w(e.instance.popper),g=parseFloat(v["margin"+p],10),b=parseFloat(v["border"+p+"Width"],10),y=m-e.offsets.popper[u]-g-b;return y=Math.max(Math.min(a[l]-f,y),0),e.arrowElement=r,e.offsets.arrow=(_(n={},u,Math.round(y)),_(n,d,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(h,f){if(P(h.instance.modifiers,"inner"))return h;if(h.flipped&&h.placement===h.originalPlacement)return h;var m=C(h.instance.popper,h.instance.reference,f.padding,f.boundariesElement),v=h.placement.split("-")[0],g=N(v),b=h.placement.split("-")[1]||"",y=[];switch(f.behavior){case W:y=[v,g];break;case U:y=K(v);break;case G:y=K(v,!0);break;default:y=f.behavior}return y.forEach(function(e,t){if(v!==e||y.length===t+1)return h;v=h.placement.split("-")[0],g=N(v);var n=h.offsets.popper,r=h.offsets.reference,o=Math.floor,c="left"===v&&o(n.right)>o(r.left)||"right"===v&&o(n.left)<o(r.right)||"top"===v&&o(n.bottom)>o(r.top)||"bottom"===v&&o(n.top)<o(r.bottom),a=o(n.left)<o(m.left),s=o(n.right)>o(m.right),i=o(n.top)<o(m.top),l=o(n.bottom)>o(m.bottom),p="left"===v&&a||"right"===v&&s||"top"===v&&i||"bottom"===v&&l,u=-1!==["top","bottom"].indexOf(v),d=!!f.flipVariations&&(u&&"start"===b&&a||u&&"end"===b&&s||!u&&"start"===b&&i||!u&&"end"===b&&l);(c||p||d)&&(h.flipped=!0,(c||p)&&(v=y[t+1]),d&&(b=function(e){return"end"===e?"start":"start"===e?"end":e}(b)),h.placement=v+(b?"-"+b:""),h.offsets.popper=x({},h.offsets.popper,k(h.instance.popper,h.offsets.reference,h.placement)),h=j(h.instance.modifiers,h,"flip"))}),h},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,c=r.reference,a=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[a?"left":"top"]=c[n]-(s?o[a?"width":"height"]:0),e.placement=N(t),e.offsets.popper=z(o),e}},hide:{order:800,enabled:!0,fn:function(e){if(!B(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=H(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,c=H(e.instance.modifiers,function(e){return"applyStyle"===e.name}).gpuAcceleration;void 0!==c&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var a=void 0!==c?c:t.gpuAcceleration,s=O(b(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",u="right"===r?"left":"right",d=I("transform"),h=void 0,f=void 0;if(f="bottom"==p?-s.height+l.bottom:l.top,h="right"==u?-s.width+l.right:l.left,a&&d)i[d]="translate3d("+h+"px, "+f+"px, 0)",i[p]=0,i[u]=0,i.willChange="transform";else{var m="bottom"==p?-1:1,v="right"==u?-1:1;i[p]=f*m,i[u]=h*v,i.willChange=p+", "+u}var g={"x-placement":e.placement};return e.attributes=x({},g,e.attributes),e.styles=x({},i,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){return A(e.instance.popper,e.styles),function(t,n){Object.keys(n).forEach(function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)})}(e.instance.popper,e.attributes),e.arrowElement&&Object.keys(e.arrowStyles).length&&A(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,r,o){var c=M(0,t,e),a=E(n.placement,c,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",a),A(t,{position:"absolute"}),n},gpuAcceleration:void 0}}},J=(p(X,[{key:"update",value:function(){return function(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=M(this.state,this.popper,this.reference),e.placement=E(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=k(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position="absolute",e=j(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}.call(this)}},{key:"destroy",value:function(){return function(){return this.state.isDestroyed=!0,P(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}.call(this)}},{key:"enableEventListeners",value:function(){return function(){this.state.eventsEnabled||(this.state=V(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:"disableEventListeners",value:function(){return D.call(this)}}]),X);function X(e,t){var n=this,r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,X),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=c(this.update.bind(this)),this.options=x({},X.Defaults,r),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=t&&t.jquery?t[0]:t,this.options.modifiers={},Object.keys(x({},X.Defaults.modifiers,r.modifiers)).forEach(function(e){n.options.modifiers[e]=x({},X.Defaults.modifiers[e]||{},r.modifiers?r.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(e){return x({name:e},n.options.modifiers[e])}).sort(function(e,t){return e.order-t.order}),this.modifiers.forEach(function(e){e.enabled&&a(e.onLoad)&&e.onLoad(n.reference,n.popper,n.options,e,n.state)}),this.update();var o=this.options.eventsEnabled;o&&this.enableEventListeners(),this.state.eventsEnabled=o}J.Utils=("undefined"!=typeof window?window:e).PopperUtils,J.placements=F,J.Defaults=Q,$.a=J}).call(this,t(9))},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":["/__examples__/categories.jsx","/__examples__/colors.jsx","/__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":["/__examples__/base.jsx","/__examples__/button.jsx","/__examples__/button-group.jsx","/__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":["/__examples__/info.jsx","/__examples__/warning.jsx","/__examples__/offline.jsx","/__examples__/error.jsx","/__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":["/__examples__/menu-contents.jsx","/__examples__/header-footer.jsx","/__examples__/taglines.jsx","/__examples__/prompt.jsx","/__examples__/sizes.jsx"],"url-slug":"modals"}')},function(k,e,t){(function(e){var t="Expected a function",r="__lodash_hash_undefined__",n="[object Function]",o="[object GeneratorFunction]",c=/^\[object .+?Constructor\]$/,a="object"==typeof e&&e&&e.Object===Object&&e,s="object"==typeof self&&self&&self.Object===Object&&self,i=a||s||Function("return this")();var l,p=Array.prototype,u=Function.prototype,d=Object.prototype,h=i["__core-js_shared__"],f=(l=/[^.]+$/.exec(h&&h.keys&&h.keys.IE_PROTO||""))?"Symbol(src)_1."+l:"",m=u.toString,v=d.hasOwnProperty,g=d.toString,b=RegExp("^"+m.call(v).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),y=p.splice,w=M(i,"Map"),_=M(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 z(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 S(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 C(e){return!(!N(e)||function(e){return!!f&&f in e}(e))&&(function(e){var t=N(e)?g.call(e):"";return t==n||t==o}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?b:c).test(function(e){if(null!=e){try{return m.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e))}function E(e,t){var n=e.__data__;return function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}(t)?n["string"==typeof t?"string":"hash"]:n.map}function M(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return C(n)?n:void 0}function T(o,c){if("function"!=typeof o||c&&"function"!=typeof c)throw new TypeError(t);var a=function(){var e=arguments,t=c?c.apply(this,e):e[0],n=a.cache;if(n.has(t))return n.get(t);var r=o.apply(this,e);return a.cache=n.set(t,r),r};return a.cache=new(T.Cache||O),a}function N(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}x.prototype.clear=function(){this.__data__=_?_(null):{}},x.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},x.prototype.get=function(e){var t=this.__data__;if(_){var n=t[e];return n===r?void 0:n}return v.call(t,e)?t[e]:void 0},x.prototype.has=function(e){var t=this.__data__;return _?void 0!==t[e]:v.call(t,e)},x.prototype.set=function(e,t){return this.__data__[e]=_&&void 0===t?r:t,this},z.prototype.clear=function(){this.__data__=[]},z.prototype.delete=function(e){var t=this.__data__,n=S(t,e);return!(n<0)&&(n==t.length-1?t.pop():y.call(t,n,1),!0)},z.prototype.get=function(e){var t=this.__data__,n=S(t,e);return n<0?void 0:t[n][1]},z.prototype.has=function(e){return-1<S(this.__data__,e)},z.prototype.set=function(e,t){var n=this.__data__,r=S(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||z),string:new x}},O.prototype.delete=function(e){return E(this,e).delete(e)},O.prototype.get=function(e){return E(this,e).get(e)},O.prototype.has=function(e){return E(this,e).has(e)},O.prototype.set=function(e,t){return E(this,e).set(e,t),this},T.Cache=O,k.exports=T}).call(this,t(9))},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":["/__examples__/base.jsx","/__examples__/user-initials.jsx","/__examples__/user-icon.jsx","/__examples__/entity-initials.jsx","/__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":["/__examples__/base.jsx","/__examples__/one-item.jsx","/__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":["/__examples__/default.jsx","/__examples__/default-icon-label.jsx","/__examples__/default-right-to-left.jsx","/__examples__/sub-heading.jsx","/__examples__/custom-trigger.jsx","/__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":["/__examples__/icon.jsx","/__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":["/__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":["/__examples__/default.jsx","/__examples__/error.jsx","/__examples__/toggle.jsx","/__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":["/__examples__/default.jsx","/__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":["/__examples__/header.jsx","/__examples__/alternative-header.jsx","/__examples__/controlled-with-footer.jsx","/__examples__/custom-target.jsx","/__examples__/error.jsx","/__examples__/feature.jsx","/__examples__/walkthrough.jsx","/__examples__/walkthrough-action.jsx","/__examples__/warning.jsx","/__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":["/__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":["/__examples__/base.jsx","/__examples__/base-menu-subheader.jsx","/__examples__/base-inherit-menu-width.jsx","/__examples__/base-predefined-options-only.jsx","/__examples__/base-with-scroll.jsx","/__examples__/dialog.jsx","/__examples__/inline-multiple.jsx","/__examples__/inline-single.jsx","/__examples__/inline-single-entity-combobox.jsx","/__examples__/inline-single-search-add-entities.jsx","/__examples__/inline-multiple-loading.jsx","/__examples__/readonly-single.jsx","/__examples__/readonly-multiple.jsx","/__examples__/required-input-error-state.jsx","/__examples__/dialog.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":["/__examples__/basic-fluid.jsx","/__examples__/basic-fluid-striped.jsx","/__examples__/basic-fluid-no-row-hover.jsx","/__examples__/basic-fluid-column-bordered.jsx","/__examples__/basic-fixed-layout.jsx","/__examples__/advanced.jsx","/__examples__/advanced-single-select.jsx","/__examples__/fixed-header.jsx","/__examples__/joined-with-page-header.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":["/__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)},s=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},c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var l=c(n(1)),p=i(n(87)),u=c(n(88));function d(e){return e&&e.replace(/ |\u202F|\u00A0/g," ")}function h(e){var t=function e(t){if(t.nodeType===Node.TEXT_NODE)return t;for(var n=t.childNodes,r=n.length-1;0<=r;r--){var o=e(n[r]);if(null!==o)return o}return null}(e),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()}}var f,m=(f=l.Component,o(v,f),v.prototype.render=function(){var t=this,e=this.props,n=e.tagName,r=e.html,o=e.innerRef,c=s(e,["tagName","html","innerRef"]);return l.createElement(n||"div",a({},c,{ref:"function"==typeof o?function(e){o(e),t.el.current=e}: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)},v.prototype.shouldComponentUpdate=function(e){var t=this.props,n=this.getEl();return!n||d(e.html)!==d(n.innerHTML)||t.disabled!==e.disabled||t.tagName!==e.tagName||t.className!==e.className||t.innerRef!==e.innerRef||!p.default(t.style,e.style)},v.prototype.componentDidUpdate=function(){var e=this.getEl();e&&(this.props.html!==e.innerHTML&&(e.innerHTML=this.lastHtml=this.props.html),h(e))},v.propTypes={html:u.string.isRequired,onChange:u.func,disabled:u.bool,tagName:u.string,className:u.string,style:u.object,innerRef:u.oneOfType([u.object,u.func])},v);function v(){var o=null!==f&&f.apply(this,arguments)||this;return o.lastHtml=o.props.html,o.el="function"==typeof o.props.innerRef?{current:null}:l.createRef(),o.getEl=function(){return(o.props.innerRef&&"function"!=typeof o.props.innerRef?o.props.innerRef:o.el).current},o.emitChange=function(e){var t=o.getEl();if(t){var n=t.innerHTML;if(o.props.onChange&&n!==o.lastHtml){var r=Object.assign({},e,{target:{value:n}});o.props.onChange(r)}o.lastHtml=n}},o}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":["/__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":["/__examples__/small-image-text.jsx","/__examples__/large-image-text.jsx","/__examples__/heading-message.jsx","/__examples__/heading-only.jsx","/__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":["/__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":["/__examples__/record-home.jsx","/__examples__/object-home.jsx","/__examples__/related-list.jsx","/__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":["/__examples__/base.jsx","/__examples__/light.jsx","/__examples__/dark.jsx","/__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":["/__examples__/default.jsx","/__examples__/error.jsx","/__examples__/disabled.jsx"],"url-slug":"textareas"}')},function(e,u,t){(function(e,t){var n="object"==typeof e&&e&&e.Object===Object&&e,r=u&&!u.nodeType&&u,o=r&&"object"==typeof t&&t&&!t.nodeType&&t,c=o&&o.exports===r&&n.process,a=function(){try{return c&&c.binding("util")}catch(e){}}(),s=a&&a.isDate;var i=Object.prototype.toString;var l,p=s?(l=s,function(e){return l(e)}):function(e){return function(e){return!!e&&"object"==typeof e}(e)&&"[object Date]"==i.call(e)};t.exports=p}).call(this,t(9),t(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":["/__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":["/__examples__/info.jsx","/__examples__/success.jsx","/__examples__/warning.jsx","/__examples__/error.jsx","/__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":["/__examples__/default.jsx"],"url-slug":"tree"}')},function(e,t,n){e.exports=n(91)},function(e,t,n){"use strict";var r=n(63),a=n(26),s=n(64);e.exports=function(){function e(e,t,n,r,o,c){c!==s&&a(!1,"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")}function t(){return e}var n={array:e.isRequired=e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n}},function(e,t,n){"use strict";function r(e){return function(){return e}}function o(){}o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},e.exports=o},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(t,e,n){"use strict";var r=n(18),o=n(67),c=n(71),a=n(72)||0;function s(){return o(a)}t.exports=s,t.exports.generate=s,t.exports.seed=function(e){return r.seed(e),t.exports},t.exports.worker=function(e){return a=e,t.exports},t.exports.characters=function(e){return void 0!==e&&r.characters(e),r.shuffled()},t.exports.isValid=c},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,c=n(68);n(18);e.exports=function(e){var t="",n=Math.floor(.001*(Date.now()-1459707606518));return n===o?r++:(r=0,o=n),t+=c(6),t+=c(e),0<r&&(t+=c(r)),t+=c(n)}},function(e,t,n){"use strict";var o=n(18),c=n(69),a=n(70);e.exports=function(e){for(var t,n=0,r="";!t;)r+=a(c,o.get(),1),t=e<Math.pow(16,n+1),n++;return r}},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){var r=(2<<Math.log(t.length-1)/Math.LN2)-1,o=Math.ceil(1.6*r*n/t.length);n=+n;for(var c="";;)for(var a=e(o),s=0;s<o;s++){var i=a[s]&r;if(t[i]&&(c+=t[i]).length===n)return c}}},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 a=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},r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(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)}}var c=n(1),s=m(c),i=m(n(6)),l=m(n(0)),p=m(n(74)),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(28)),d=n(23),h=m(d),f=n(80);function m(e){return e&&e.__esModule?e:{default:e}}function v(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}function g(){return w?i.default.createPortal:i.default.unstable_renderSubtreeIntoContainer}var b=t.portalClassName="ReactModalPortal",y=t.bodyOpenClassName="ReactModal__Body--open",w=void 0!==i.default.createPortal;function _(e){return e()}var x=(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)}(z,c.Component),r(z,[{key:"componentDidMount",value:function(){d.canUseDOM&&(w||(this.node=document.createElement("div")),this.node.className=this.props.portalClassName,_(this.props.parentSelector).appendChild(this.node),w||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(d.canUseDOM){var r=this.props,o=r.isOpen,c=r.portalClassName;e.portalClassName!==c&&(this.node.className=c);var a=n.prevParent,s=n.nextParent;s!==a&&(a.removeChild(this.node),s.appendChild(this.node)),(e.isOpen||o)&&(w||this.renderPortal(this.props))}}},{key:"componentWillUnmount",value:function(){if(d.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 d.canUseDOM&&w?(!this.node&&w&&(this.node=document.createElement("div")),g()(s.default.createElement(p.default,a({ref:this.portalRef,defaultStyles:z.defaultStyles},this.props)),this.node)):null}}],[{key:"setAppElement",value:function(e){u.setElement(e)}}]),z);function z(){var e,t,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,z);for(var r=arguments.length,o=Array(r),c=0;c<r;c++)o[c]=arguments[c];return(t=n=v(this,(e=z.__proto__||Object.getPrototypeOf(z)).call.apply(e,[this].concat(o)))).removePortal=function(){w||i.default.unmountComponentAtNode(n.node),_(n.props.parentSelector).removeChild(n.node)},n.portalRef=function(e){n.portal=e},n.renderPortal=function(e){var t=g()(n,s.default.createElement(p.default,a({defaultStyles:z.defaultStyles},e)),n.node);n.portalRef(t)},v(n,t)}x.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(h.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},x.defaultProps={isOpen:!1,portalClassName:b,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,f.polyfill)(x),t.default=x},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=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},r=function(e,t,n){return t&&c(e.prototype,t),n&&c(e,n),e};function c(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)}}var s=n(1),i=v(s),l=v(n(0)),p=m(n(75)),u=v(n(76)),d=m(n(28)),h=m(n(79)),f=v(n(23));function m(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 g={overlay:"ReactModal__Overlay",content:"ReactModal__Content"},b=0,y=(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)}(w,s.Component),r(w,[{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&&(b+=1,d.hide(t))}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.overlayClassName,r=e.defaultStyles,o=t?{}:r.content,c=n?{}:r.overlay;return this.shouldBeClosed()?null:i.default.createElement("div",{ref:this.setOverlayRef,className:this.buildClassName("overlay",n),style:a({},c,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},i.default.createElement("div",a({ref:this.setContentRef,style:a({},o,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))}}]),w);function w(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,w);var c=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,(w.__proto__||Object.getPrototypeOf(w)).call(this,e));return c.setOverlayRef=function(e){c.overlay=e,c.props.overlayRef&&c.props.overlayRef(e)},c.setContentRef=function(e){c.content=e,c.props.contentRef&&c.props.contentRef(e)},c.afterClose=function(){var e=c.props,t=e.appElement,n=e.ariaHideApp,r=e.htmlOpenClassName,o=e.bodyOpenClassName;o&&h.remove(document.body,o),r&&h.remove(document.getElementsByTagName("html")[0],r),n&&0<b&&0===(b-=1)&&d.show(t),c.props.shouldFocusAfterRender&&(c.props.shouldReturnFocusAfterClose?(p.returnFocus(),p.teardownScopedFocus()):p.popWithoutFocus()),c.props.onAfterClose&&c.props.onAfterClose()},c.open=function(){c.beforeOpen(),c.state.afterOpen&&c.state.beforeClose?(clearTimeout(c.closeTimer),c.setState({beforeClose:!1})):(c.props.shouldFocusAfterRender&&(p.setupScopedFocus(c.node),p.markForFocusLater()),c.setState({isOpen:!0},function(){c.setState({afterOpen:!0}),c.props.isOpen&&c.props.onAfterOpen&&c.props.onAfterOpen()}))},c.close=function(){0<c.props.closeTimeoutMS?c.closeWithTimeout():c.closeWithoutTimeout()},c.focusContent=function(){return c.content&&!c.contentHasFocus()&&c.content.focus()},c.closeWithTimeout=function(){var e=Date.now()+c.props.closeTimeoutMS;c.setState({beforeClose:!0,closesAt:e},function(){c.closeTimer=setTimeout(c.closeWithoutTimeout,c.state.closesAt-Date.now())})},c.closeWithoutTimeout=function(){c.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},c.afterClose)},c.handleKeyDown=function(e){9===e.keyCode&&(0,u.default)(c.content,e),c.props.shouldCloseOnEsc&&27===e.keyCode&&(e.stopPropagation(),c.requestClose(e))},c.handleOverlayOnClick=function(e){null===c.shouldClose&&(c.shouldClose=!0),c.shouldClose&&c.props.shouldCloseOnOverlayClick&&(c.ownerHandlesClose()?c.requestClose(e):c.focusContent()),c.shouldClose=null},c.handleContentOnMouseUp=function(){c.shouldClose=!1},c.handleOverlayOnMouseDown=function(e){c.props.shouldCloseOnOverlayClick||e.target!=c.overlay||e.preventDefault()},c.handleContentOnClick=function(){c.shouldClose=!1},c.handleContentOnMouseDown=function(){c.shouldClose=!1},c.requestClose=function(e){return c.ownerHandlesClose()&&c.props.onRequestClose(e)},c.ownerHandlesClose=function(){return c.props.onRequestClose},c.shouldBeClosed=function(){return!c.state.isOpen&&!c.state.beforeClose},c.contentHasFocus=function(){return document.activeElement===c.content||c.content.contains(document.activeElement)},c.buildClassName=function(e,t){var n="object"===(void 0===t?"undefined":o(t))?t:{base:g[e],afterOpen:g[e]+"--after-open",beforeClose:g[e]+"--before-close"},r=n.base;return c.state.afterOpen&&(r=r+" "+n.afterOpen),c.state.beforeClose&&(r=r+" "+n.beforeClose),"string"==typeof t&&t?r+" "+t:r},c.attributesFromObject=function(n,r){return Object.keys(r).reduce(function(e,t){return e[n+"-"+t]=r[t],e},{})},c.state={afterOpen:!1,beforeClose:!1},c.shouldClose=null,c.moveFromContentToOverlay=null,c}y.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},y.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(f.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=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(){a.push(document.activeElement)},t.returnFocus=function(){var t=null;try{return void(0!==a.length&&(t=a.pop()).focus())}catch(e){console.warn(["You tried to return focus to",t,"but it is not in the DOM anymore"].join(" "))}},t.popWithoutFocus=function(){0<a.length&&a.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(27),c=(r=o)&&r.__esModule?r:{default:r};var a=[],s=null,i=!1;function l(){i=!0}function p(){if(i){if(i=!1,!s)return;setTimeout(function(){s.contains(document.activeElement)||((0,c.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,l.default)(e);if(!n.length)return void t.preventDefault();var r,o=t.shiftKey,c=n[0],a=n[n.length-1];if(e===document.activeElement){if(!o)return;r=a}a!==document.activeElement||o||(r=c);c===document.activeElement&&o&&(r=a);if(r)return t.preventDefault(),void r.focus();var s=/(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent);if(null==s||"Chrome"==s[1]||null!=/\biPod\b|\biPad\b/g.exec(navigator.userAgent))return;var i=n.indexOf(document.activeElement);-1<i&&(i+=o?-1:1);if(void 0===n[i])return t.preventDefault(),void(r=o?a:c).focus();t.preventDefault(),n[i].focus()};var r,o=n(27),l=(r=o)&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){"use strict";e.exports=function(){}},function(n,r,o){var c; +/*! + Copyright (c) 2015 Jed Watson. + Based on code that is Copyright 2013-2015, Facebook, Inc. + All rights reserved. +*/ +/*! + Copyright (c) 2015 Jed Watson. + Based on code that is Copyright 2013-2015, Facebook, Inc. + All rights reserved. +*/ +!function(){"use strict";var e=!("undefined"==typeof window||!window.document||!window.document.createElement),t={canUseDOM:e,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:e&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:e&&!!window.screen};void 0===(c=function(){return t}.call(r,o,r,n))||(n.exports=c)}()},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 function(t,n,e){e.forEach(function(e){!function(e,t){e[t]||(e[t]=0),e[t]+=1}(n,e),t.add(e)})}(e.classList,"html"==e.nodeName.toLowerCase()?r:o,t.split(" "))},t.remove=function(e,t){return function(t,n,e){e.forEach(function(e){!function(e,t){e[t]&&(e[t]-=1)}(n,e),0===n[e]&&t.remove(e)})}(e.classList,"html"==e.nodeName.toLowerCase()?r:o,t.split(" "))}},function(e,t,n){"use strict";function i(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function l(n){this.setState(function(e){var t=this.constructor.getDerivedStateFromProps(n,e);return null!=t?t:null}.bind(this))}function p(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 r(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,r=null,o=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?r="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(r="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?o="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(o="UNSAFE_componentWillUpdate"),null!==n||null!==r||null!==o){var c=e.displayName||e.name,a="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+c+" uses "+a+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==r?"\n "+r:"")+(null!==o?"\n "+o:"")+"\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=i,t.componentWillReceiveProps=l),"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=p;var s=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;s.call(this,e,t,r)}}return e}n.r(t),n.d(t,"polyfill",function(){return r}),p.__suppressDeprecationWarning=l.__suppressDeprecationWarning=i.__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,t){var n={},r=t;if("string"==typeof r){r={};for(var o=1;o<arguments.length;o++)r[arguments[o]]=!0}for(var c in e)r[c]||(n[c]=e[c]);return n}},function(e,t,n){"use strict";var o=n(85),u=n(86),b=n(26);e.exports=function(e,d,c){var n=[],h={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"},a={getDerivedStateFromProps:"DEFINE_MANY_MERGED"},f={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)r(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=o({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=o({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=m(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=o({},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(b(!(n in f),'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){var o=a.hasOwnProperty(n)?a[n]:null;return b("DEFINE_MANY_MERGED"===o,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),e[n]=m(e[n],r)}e[n]=r}}}(e,t)},autobind:function(){}};function r(e,t){if(t){b("function"!=typeof t,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),b(!d(t),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var n,r,o,c=e.prototype,a=c.__reactAutoBindPairs;for(var s in t.hasOwnProperty("mixins")&&f.mixins(e,t.mixins),t)if(t.hasOwnProperty(s)&&"mixins"!==s){var i=t[s],l=c.hasOwnProperty(s);if(n=l,r=s,void 0,o=h.hasOwnProperty(r)?h[r]:null,g.hasOwnProperty(r)&&b("OVERRIDE_BASE"===o,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",r),n&&b("DEFINE_MANY"===o||"DEFINE_MANY_MERGED"===o,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",r),f.hasOwnProperty(s))f[s](e,i);else{var p=h.hasOwnProperty(s);if("function"==typeof i&&!p&&!l&&!1!==t.autobind)a.push(s,i),c[s]=i;else if(l){var u=h[s];b(p&&("DEFINE_MANY_MERGED"===u||"DEFINE_MANY"===u),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",u,s),"DEFINE_MANY_MERGED"===u?c[s]=m(c[s],i):"DEFINE_MANY"===u&&(c[s]=v(c[s],i))}else c[s]=i}}}else;}function s(e,t){for(var n in b(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."),t)t.hasOwnProperty(n)&&(b(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 m(r,o){return function(){var e=r.apply(this,arguments),t=o.apply(this,arguments);if(null==e)return t;if(null==t)return e;var n={};return s(n,e),s(n,t),n}}function v(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function i(){}var l={componentDidMount:function(){this.__isMounted=!0}},p={componentWillUnmount:function(){this.__isMounted=!1}},g={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}};return o(i.prototype,e.prototype,g),function(e){var o=function(e){return e}(function(e,t,n){this.__reactAutoBindPairs.length&&function(e){for(var t,n=e.__reactAutoBindPairs,r=0;r<n.length;r+=2){var o=n[r],c=n[r+1];e[o]=(t=e,c.bind(t))}}(this),this.props=e,this.context=t,this.refs=u,this.updater=n||c,this.state=null;var r=this.getInitialState?this.getInitialState():null;b("object"==typeof r&&!Array.isArray(r),"%s.getInitialState(): must return an object or null",o.displayName||"ReactCompositeComponent"),this.state=r});for(var t in o.prototype=new i,(o.prototype.constructor=o).prototype.__reactAutoBindPairs=[],n.forEach(r.bind(null,o)),r(o,l),r(o,e),r(o,p),o.getDefaultProps&&(o.defaultProps=o.getDefaultProps()),b(o.prototype.render,"createClass(...): Class specification must implement a `render` method."),h)o.prototype[t]||(o.prototype[t]=null);return o}}},function(e,t,n){"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/var i=Object.getOwnPropertySymbols,l=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable;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,r,o=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),c=1;c<arguments.length;c++){for(var a in n=Object(arguments[c]))l.call(n,a)&&(o[a]=n[a]);if(i){r=i(n);for(var s=0;s<r.length;s++)p.call(n,r[s])&&(o[r[s]]=n[r[s]])}}return o}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var h=Array.isArray,f=Object.keys,m=Object.prototype.hasOwnProperty;e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){var r,o,c,a=h(t),s=h(n);if(a&&s){if((o=t.length)!=n.length)return!1;for(r=o;0!=r--;)if(!e(t[r],n[r]))return!1;return!0}if(a!=s)return!1;var i=t instanceof Date,l=n instanceof Date;if(i!=l)return!1;if(i&&l)return t.getTime()==n.getTime();var p=t instanceof RegExp,u=n instanceof RegExp;if(p!=u)return!1;if(p&&u)return t.toString()==n.toString();var d=f(t);if((o=d.length)!==f(n).length)return!1;for(r=o;0!=r--;)if(!m.call(n,d[r]))return!1;for(r=o;0!=r--;)if(!e(t[c=d[r]],n[c]))return!1;return!0}return t!=t&&n!=n}},function(e,t,n){e.exports=n(89)()},function(e,t,n){"use strict";var s=n(90);function r(){}function o(){}o.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,o,c){if(c!==s){var a=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 a.name="Invariant Violation",a}}function t(){return e}var n={array:e.isRequired=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:o,resetWarningCache:r};return n.PropTypes=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";n.r(t);var s=n(1),k=n.n(s),r=n(0),o=n.n(r),c=n(2),H=n.n(c),a=n(3),f=n.n(a),i="SLDSAppLauncher",l="SLDSAppLauncherExpandableSection",p="SLDSAppLauncherTile",u="SLDSAvatar",d="SLDSBreadcrumb",h="SLDSBuilderHeaderMisc",m="SLDSBuilderHeaderNav",v="SLDSBuilderHeaderNavDropdown",g="SLDSBuilderHeaderNavLink",b="SLDSBuilderHeaderToolbar",y="SLDSButton",w="SLDSButtonGroup",_="SLDSButtonStateful",x="SLDSButtonIcon",z="SLDSColorPicker",O="SLDSCombobox",S="SLDSDataTable",C="SLDSDataTableCell",E="SLDSDataTableColumn",M="SLDSDataTableHead",T="SLDSDataTableRowActions",N="SLDSDataTableRow",j="SLDSDatePicker",P="SLDSCheckbox",I="SLDSInlineEdit",L="SLDSTextarea",V="SLDSSearch",D="SLDSGlobalHeader",R="SLDSGlobalHeaderFavorites",A="SLDSGlobalHeaderHelp",B="SLDSGlobalHeaderNotifications",F="SLDSGlobalHeaderProfile",q="SLDSGlobalHeaderSearch",K="SLDSGlobalHeaderSetup",W="SLDSGlobalHeaderTask",U="SLDSGlobalHeaderTool",G="SLDSGlobalNavigationBarDropdown",Y="SLDSGlobalNavigationBarRegion",Q="SLDSIcon",J="SLDSLookup",X="SLDSMenuDropdown",$="SLDSMenuDropdownTrigger",Z="SLDSMenuPicklist",ee="SLDSFilterGroup",te="SLDSPageHeader",ne="SLDSPageHeaderControl",re="SLDSPopover",oe="SLDSPopoverTooltip",ce="SLDSSetupAssistant",ae="SLDSSetupAssistantStep",se="SLDSScopedNotification",ie="SLDSSpinner",le="SLDSTimepicker",pe="SLDSVerticalNavigation";function ue(e){return(ue="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 de(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 he(e,t){return!t||"object"!==ue(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function fe(e){return(fe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function me(e,t){return(me=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ve={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.oneOfType([o.a.number,o.a.string]),children:o.a.node.isRequired},ge=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=he(this,fe(n).call(this,e))).state={currButtonIndex:0},t.summaryButtons=[],t.generatedId=f.a.generate(),t}return 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&&me(e,t)}(n,s["Component"]),function(e,t,n){t&&de(e.prototype,t),n&&de(e,n)}(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(t){var e=this.state.currButtonIndex;null===e&&(e=this.summaryButtons.findIndex(function(e){return e.id===t.target.id})),"ArrowDown"===t.key?(t.preventDefault(),e<this.props.children.length-1?this.setState({currButtonIndex:e+1}):this.setState({currButtonIndex:0})):"ArrowUp"===t.key&&(t.preventDefault(),0<e?this.setState({currButtonIndex:e-1}):this.setState({currButtonIndex:this.props.children.length-1}))}},{key:"addSummaryButton",value:function(t){var e=this.summaryButtons.find(function(e){return t===e});null!==t&&void 0===e&&this.summaryButtons.push(t)}},{key:"render",value:function(){var t=this;return k.a.createElement("ul",{name:this.props.id||this.generatedId,className:H()("slds-accordion",this.props.className)},k.a.Children.map(this.props.children,function(e){return k.a.cloneElement(e,{refs:{summaryButton:t.addSummaryButton.bind(t)},onClickSummary:t.onClickSummary.bind(t),onKeyDownSummary:t.onKeyDownSummary.bind(t)})}))}}]),n}();ge.displayName="SLDSAccordion",ge.propTypes=ve;var be=ge,ye=n(19),we=n.n(ye);n(7);var _e=function(){},xe={LTR:"ltr",RTL:"rtl"},ze=k.a.createContext("ltr");var Oe=function(){};function Se(e){return(Se="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(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ee(){return(Ee=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 Te(e){return(Te=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ne(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ke(e,t){return(ke=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function He(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var je=function(){function c(){var e,o;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return He(Ne(o=function(e,t){return!t||"object"!==Se(t)&&"function"!=typeof t?Ne(e):t}(this,(e=Te(c)).call.apply(e,[this].concat(n)))),"getPaths",function(e){return e instanceof Array?e.map(function(e){return k.a.createElement("path",e)}):k.a.createElement("path",Ee({key:"pathSVG"},e))}),He(Ne(o),"getCircles",function(e){return e instanceof Array?e.map(function(e){return k.a.createElement("circle",e)}):k.a.createElement("circle",Ee({key:"circleSVG"},e))}),He(Ne(o),"getEllipses",function(e){return e instanceof Array?e.map(function(e){return k.a.createElement("ellipse",e)}):k.a.createElement("ellipse",Ee({key:"ellipseSVG"},e))}),He(Ne(o),"getGroups",function(e){return e instanceof Array?e.map(function(e){return k.a.createElement("g",null,o.getShapes(e))}):k.a.createElement("g",{key:"groupsSVG"},o.getShapes(e))}),He(Ne(o),"getShapes",function(e){var t=[];return e&&(e.g&&t.push(o.getGroups(e.g)),e.ellipse&&t.push(o.getEllipses(e.ellipse)),e.circle&&t.push(o.getCircles(e.circle)),e.path&&t.push(o.getPaths(e.path))),t}),He(Ne(o),"getSVG",function(e,t){var n=e.viewBox,r=Ce(e,["viewBox"]);return k.a.createElement("svg",{"aria-hidden":t["aria-hidden"],className:t.className,viewBox:n,name:t.name,style:t.style},o.getShapes(r))}),o}return 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&&ke(e,t)}(c,k.a.Component),function(e,t,n){t&&Me(e.prototype,t),n&&Me(e,n)}(c,[{key:"render",value:function(){var e=this.props,t=e.data,n=Ce(e,["data"]);return t?this.getSVG(t,n):null}}]),c}();He(je,"displayName","Svg");var Pe=je,Ie={activity:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.4 5.4c-.7.2-1.3.4-1.8.6-.3.2-.7.5-1.3.8.1.9.1 1.6 0 2.2 0 .6-.1 1.5-.3 2.6 1.3.9 2.2 1.6 2.8 2.1l.4.4 2-.9c.3-.6.6-1.5.7-2.5.2-.9.2-1.9.1-2.9l-2.6-2.4zm-.7-1.2l-.1-.2c-1.3-.8-2.9-1.2-4.6-1.2-.9 0-1.8.1-2.6.3v1.3c.8.1 1.4.2 2 .4.5.2 1.2.5 2 .9.7-.4 1.2-.7 1.6-.9.5-.2 1-.4 1.7-.6zm-6.5 15.6c1.7-.2 2.8-.3 3.4-.5.7-.1 1.3-.3 1.8-.5.4-.9.6-1.6.7-2.1.1-.4.2-.9.3-1.5-.2-.2-.3-.3-.5-.4-.5-.5-1.5-1.2-2.9-2.2-.6.3-1.2.6-1.7.7-.5.2-1.3.3-2.4.4-.4.9-.7 1.6-.8 2.1-.1.5-.2 1.2-.3 2 .4.5.7.9 1 1.1.3.2.8.5 1.4.9zm-5.8-2.6h2.1c.1-.7.2-1.3.3-1.7.1-.6.3-1.3.7-2.1-.5-.6-1.1-1.3-1.4-1.7-.2-.4-.6-.8-1-1.8-.2 0-.4.1-.6.1-.5.2-1.1.5-1.7.9V12c0 2 .6 3.8 1.6 5.2zm16.5-2.8c.2-.7.3-1.5.3-2.4v-.6c-.1.8-.3 1.4-.6 2 .1.1.2.3.2.4.1.2.1.4.1.6zm-16-5.9v-.1c.7-1 1.2-1.8 1.6-2.2.3-.4.8-.9 1.5-1.5v-1c-2.2 1.1-4 3-4.8 5.4.3-.2.6-.3.9-.4.3-.1.5-.1.8-.2zm12.2 11.2c-.7.3-1.8.6-3.1 1-.7.1-1.9.3-3.5.5.5.1 1 .1 1.5.1 1.9 0 3.7-.6 5.1-1.6zm6-7.7c0 6.2-5 11.2-11.1 11.2S.9 18.2.9 12 5.9.9 12 .9s11.1 5 11.1 11.1z"}},ad_set:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.4 2.4H2.5c-.3 0-.7.3-.7.6v7.4c0 .4.4.7.7.7h7.9c.4 0 .7-.3.7-.7V3c0-.3-.3-.6-.7-.6zM9.2 6.1H3.7V4.2h5.5v1.9zm12.3-3.7h-7.9c-.4 0-.7.3-.7.6v7.4c0 .4.3.7.7.7h7.9c.3 0 .7-.3.7-.7V3c0-.3-.4-.6-.7-.6zm-1.2 3.7h-5.5V4.2h5.5v1.9zM10.4 12.9H2.5c-.3 0-.7.3-.7.7V21c0 .3.4.6.7.6h7.9c.4 0 .7-.3.7-.6v-7.4c0-.4-.3-.7-.7-.7zm-1.2 3.8H3.7v-1.9h5.5v1.9zm12.3-3.8h-7.9c-.4 0-.7.3-.7.7V21c0 .3.3.6.7.6h7.9c.3 0 .7-.3.7-.6v-7.4c0-.4-.4-.7-.7-.7zm-1.2 3.8h-5.5v-1.9h5.5v1.9z"}},add:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.8 13.4h7.7c.3 0 .7-.3.7-.7v-1.4c0-.4-.4-.7-.7-.7h-7.7c-.2 0-.4-.2-.4-.4V2.5c0-.3-.3-.7-.7-.7h-1.4c-.4 0-.7.4-.7.7v7.7c0 .2-.2.4-.4.4H2.5c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h7.7c.2 0 .4.2.4.4v7.7c0 .3.3.7.7.7h1.4c.4 0 .7-.4.7-.7v-7.7c0-.2.2-.4.4-.4z"}},adduser:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.1 17.1c0-1.3.4-2.7 1.1-3.8.8-1.4 1.6-1.9 2.3-3 1.2-1.7 1.4-4.1.7-6-.8-1.9-2.5-3-4.6-2.9S6 2.7 5.3 4.6c-.7 2-.4 4.5 1.3 6.1.6.7 1.3 1.7.9 2.6-.3 1-1.4 1.4-2.2 1.7-1.8.8-4 1.9-4.3 4.1-.4 1.7.8 3.5 2.7 3.5h7.8c.4 0 .6-.4.4-.7-1.1-1.4-1.8-3.1-1.8-4.8zm7.4-5.6c-3.1 0-5.5 2.5-5.5 5.6s2.4 5.5 5.5 5.5 5.5-2.5 5.5-5.5-2.5-5.6-5.5-5.6zm2.8 6c0 .3-.2.5-.5.5h-1.3v1.4c0 .3-.3.4-.5.4h-1c-.2 0-.4-.1-.4-.4V18h-1.4c-.3 0-.4-.2-.4-.5v-.9c0-.3.1-.4.4-.4h1.4v-1.4c0-.3.2-.5.4-.5h1c.2 0 .5.2.5.5v1.4h1.3c.3 0 .5.1.5.4v.9z"}},advanced_function:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.8 3.2V1.8c0-.3-.3-.6-.6-.6H5.4c-.3 0-.6.3-.6.6v1.5c0 .1 0 .3.1.4l6.7 8.3-6.7 8.3c-.1.1-.1.2-.1.4v1.5c0 .3.3.6.6.6h13.8c.3 0 .6-.3.6-.6v-1.4c0-.4-.3-.7-.6-.7H8.5l6.1-7.5c.2-.2.2-.4.2-.6 0-.3-.1-.5-.2-.7L8.5 3.9h10.7c.3 0 .6-.3.6-.7z"}},advertising:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.6 12.6h.2c.1-1.3.6-2.4 1.2-3.3-.3-.3-.8-.6-1.4-.6-1.1 0-1.9.9-1.9 2 0 1 .8 1.9 1.9 1.9zm.6 3.6h.5c-.3-.6-.6-1.2-.8-1.8h-.3c-2.1 0-3.9-1.7-3.9-3.9 0-2.1 1.7-3.9 3.9-3.9 1.2 0 2.3.5 3 1.3.5-.3 1.1-.5 1.8-.6-1.1-1.5-2.8-2.5-4.8-2.5-3.4 0-5.8 2.7-5.8 5.9s2.6 5.8 5.9 5.6c.2 0 .3 0 .5-.1zM23 21v.6c0 .8-.6 1.4-1.4 1.4H10.5c-.7 0-1.4-.6-1.4-1.4V21c0-1.7 2-2.7 3.9-3.6h.2c.1-.1.2-.1.4 0 .7.5 1.6.7 2.5.7.8 0 1.7-.2 2.5-.7.1-.1.2-.1.4 0h.2c1.9.9 3.8 1.9 3.8 3.6zM16.1 9.1c1.9 0 3.4 1.7 3.4 3.9s-1.5 3.8-3.4 3.8-3.5-1.7-3.5-3.8 1.6-3.9 3.5-3.9zm-7.6 9c-3.1-.9-5.6-3.9-5.6-7.4 0-4.3 3.5-7.8 7.8-7.8 3.1 0 6 1.9 7.2 4.7.9.4 1.7 1 2.3 1.8-.7-4.9-4.7-8.4-9.6-8.4C5.2 1 1 5.2 1 10.6c0 4.3 2.6 7.9 6.5 9.1.2-.6.6-1.1 1-1.6z"}},agent_session:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 1.8C5.9 1.8 1 6.4 1 12c0 1.7.5 3.4 1.3 4.8.1.3.2.6.1.8l-1.4 4c-.2.3.2.6.6.6l3.9-1.6c.3-.1.5 0 .8.1 1.7.9 3.7 1.5 5.8 1.5 6 0 11-4.5 11-10.2C23 6.4 18.1 1.8 12 1.8zM9 16.6c0 .2-.2.4-.4.4h-2c-.2 0-.4-.2-.4-.4v-2.5c0-.2.2-.4.4-.4h2c.2 0 .4.2.4.4v2.5zm4.4 0c0 .2-.2.4-.4.4h-1.9c-.3 0-.4-.2-.4-.4v-5.8c0-.3.1-.5.4-.5H13c.2 0 .4.2.4.5v5.8zm4.5 0c0 .2-.2.4-.5.4h-1.9c-.2 0-.4-.2-.4-.4V7.4c0-.2.2-.4.4-.4h1.9c.3 0 .5.2.5.4v9.2z"}},alert:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16 14.3l-.2.1c-.7.2-1.4-.1-1.7-.8l-1.5-4.1c-1.2-3.2-4.8-4.8-8-3.5-3 1.3-4.4 4.8-3.3 7.8l1.5 4c.2.7-.2 1.4-.8 1.6l-.2.1c-.8.3-1.2 1.2-.9 2l.2.5c.1.2.4.4.7.2l15.9-5.8c.3-.1.4-.5.3-.8l-.2-.5c-.1-.7-1-1.1-1.8-.8zm-3.9 5.8l-3.4 1.3c-.3.1-.3.4-.2.6.5.9 1.7 1.3 2.7.9 1-.4 1.6-1.4 1.5-2.5-.1-.2-.4-.3-.6-.3zm10.6-6.9c.8-2.6.4-5.4-1.1-7.8-1.4-2.3-3.7-3.9-6.4-4.4-.2-.1-.4.1-.4.2l-.3 1.3c0 .2.1.4.3.4 2.1.4 3.9 1.7 5.1 3.6s1.4 4 .9 6.1c-.1.2 0 .4.2.4l1.2.4c.3 0 .5 0 .5-.2zm-5.1-5.4c-.7-1.2-1.9-1.9-3.3-2.2-.2-.1-.4.1-.4.3l-.1 1.3c0 .2 0 .3.2.4.8.2 1.5.6 1.9 1.3.4.7.6 1.5.3 2.3 0 .1.1.3.2.3l1.3.5c.2.1.3 0 .4-.2.5-1.3.3-2.8-.5-4z"}},all:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M14.6 10c-.6 0-1-.5-1-1V2.5c0-.5.4-1 1-1h6.5c.6 0 1.1.5 1.1 1V9c0 .5-.5 1-1.1 1h-6.5zm2.8 3.8l-3.8 4.1c-.2.2-.2.6 0 .8l3.8 4.1c.2.3.7.3.9 0l3.8-4.1c.2-.2.2-.6 0-.8l-3.8-4.1c-.2-.3-.6-.3-.9 0z"},{d:"M2.2 3l3.3-1.9c.4-.2.7-.2 1 0L9.8 3c.3.2.5.5.5.9v3.8c0 .3-.2.7-.5.8l-3.3 1.9c-.3.2-.7.2-1 0L2.2 8.5c-.3-.1-.5-.5-.5-.8V3.9c0-.4.2-.7.5-.9z"}],circle:{cx:"6",cy:"18.185",r:"4.292"}},anchor:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M22.2 16.5L21 11.8c-.1-.5-.7-.7-1.1-.4l-3.6 3.3c-.4.3-.2 1 .3 1.1l1.5.5c-.1.3-.2.6-.4.9-.9 1.4-2.2 2.3-4.3 2.6V8.2c1.2-.5 2-1.7 2-3.1 0-1.8-1.5-3.3-3.4-3.3-1.8 0-3.3 1.5-3.3 3.3 0 1.4.8 2.6 2 3.1v11.6c-2.1-.3-3.5-1.2-4.3-2.6-.2-.3-.3-.6-.4-.9l1.5-.5c.5-.1.6-.8.3-1.1l-3.6-3.3c-.5-.3-1.1-.1-1.2.4l-1.2 4.7c-.1.5.4.9.9.8l1.2-.4c.2.5.4 1 .7 1.5C5.9 20.6 8.4 22 12 22s6-1.4 7.3-3.6c.3-.5.5-1 .7-1.5l1.2.4c.6.1 1-.3 1-.8zM12 6.6c-.7 0-1.3-.6-1.3-1.4s.6-1.3 1.3-1.3 1.3.6 1.3 1.3-.6 1.4-1.3 1.4z"}},animal_and_nature:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 2.1c1.3-.4 2.6-.7 4-.7s2.7.3 4 .7c.4-.7 1.1-1.2 2-1.2 1.3 0 2.3 1.1 2.3 2.3 0 .4-.1.8-.2 1.1.5.5.9 2 1.1 4.5.2 1.4 1.4 5.5 1.4 6.4 0 3.7-3.5 6.3-10.6 7.9-7.1-1.5-10.6-4.2-10.6-7.9 0-.9 1.1-5 1.4-6.4.2-2.5.6-4 1.2-4.5-.2-.3-.3-.7-.3-1.1C3.7 2 4.7.9 6 .9c.9 0 1.6.5 2 1.2zm1.7 8.4c-.8.2-1.4 1-1.3 1.9l.2 2.8c.1 1.8 1.6 3.3 3.4 3.3 1.8 0 3.3-1.5 3.4-3.3l.2-2.8c.1-.8-.5-1.6-1.3-1.9-.8-.2-1.6-.3-2.5-.3-.7 0-1.4.1-2.1.3zm6.9.1c.8 0 1.4-.8 1.4-1.8s-.6-1.9-1.4-1.9-1.4.8-1.4 1.9.7 1.8 1.4 1.8zm-9.2 0c.7 0 1.4-.8 1.4-1.8s-.7-1.9-1.4-1.9S6 7.7 6 8.8s.6 1.8 1.4 1.8zm6 2.2c-.8.9-2.1.9-2.9 0-.8-1-.1-1.7 1.5-1.7s2.2.8 1.4 1.7z"}},announcement:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.5 21l-.6-.5c-.7-.5-.7-1.4-.7-1.9v-1.3c0-.4-.3-.7-.7-.7H5.8c-.4 0-.7.3-.7.7v3.6c0 1.2.7 2.2 1.9 2.2h2.2c1.4 0 1.5-.9 1.5-.9s.2-.9-.2-1.2zM20.8 8.3V2c0-1.1-1.4-1.4-2.2-.7l-4.1 3.9c-.6.5-1.4.8-2.3.8h-7C2.8 6 .9 8.1.9 10.5v.1c0 2.4 1.9 4.2 4.3 4.2h7c.9 0 1.7.3 2.4.9l4 4c.8.7 2.2.4 2.2-.7v-6.3c1.4 0 2.2-.9 2.2-2.2 0-1.2-.8-2.2-2.2-2.2z"}},answer:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 1.8C5.9 1.8.9 6.4.9 12c0 1.8.5 3.5 1.4 5 .1.2.1.4.1.6l-1 3.2c-.2.6.4 1.1 1 .9l3.2-1.1c.2-.1.4-.1.6.1 1.7.9 3.7 1.5 5.8 1.5 6.2 0 11.1-4.5 11.1-10.2C23 6.4 18.1 1.8 12 1.8zm5.3 7.9l-5.6 5.6c-.3.2-.5.3-.8.3-.3 0-.6-.1-.8-.3l-2.7-2.7c-.2-.2-.2-.6 0-.7l.8-.8c.2-.2.5-.2.8 0l1.9 2 4.8-4.8c.3-.3.6-.3.8 0l.8.7c.2.2.2.6 0 .7z"}},answered_twice:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.1 5.3C4 5.3.7 8.3.7 12c0 1.2.4 2.4 1 3.4 0 .1.1.2 0 .4L1 17.9c-.1.4.2.7.7.6l2.1-.7c.2-.1.4-.1.4 0 1.2.7 2.5 1 3.9 1 4.1 0 7.4-3 7.4-6.8s-3.3-6.7-7.4-6.7zm3.6 5.2l-3.8 3.7c-.1.2-.3.2-.5.2s-.3 0-.5-.2l-1.8-1.8c-.2-.1-.2-.4 0-.5l.5-.5c.1-.1.4-.1.5 0l1.3 1.3 3.2-3.2c.2-.1.4-.1.5 0l.5.5c.2.2.2.4.1.5zm4.1-5.2h-1.9c2.2 1.5 3.8 4 3.8 6.7 0 2.8-1.7 5.4-3.8 6.8h1.9c4.1 0 7.4-3 7.4-6.8 0-3.7-3.3-6.7-7.4-6.7z"}},apex:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 18.5H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7v-1.3c0-.4-.3-.7-.7-.7zm-10.7-8.4L2.8 2.9c-.3-.2-.7-.2-1 .1l-.7 1.2c-.3.3-.2.7.1.9l6.4 5.1c.2.2.2.6 0 .7L1.2 16c-.3.2-.4.7-.1 1l.7 1.2c.3.3.7.4 1 .1l8.9-7.1c.4-.3.4-.9 0-1.1z"}},apex_plugin:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.1 8.4l5.1-5.2c.3-.2.3-.7 0-.9l-1.1-1.1c-.3-.3-.7-.3-1 0L10 6.3l2.1 2.1zm5.6 5.8L22.8 9c.3-.2.3-.6 0-.9L21.7 7c-.2-.3-.7-.3-.9 0l-5.2 5.1 2.1 2.1zm-.7 4.2c.1-.1.1-.2.2-.4 0-.1 0-.3-.1-.5-.1 0-.1-.1-.1-.1L6.6 7.1c-.1-.2-.3-.2-.5-.2s-.4.1-.5.2c-.1.1-.2.1-.3.2 0 .1-.1.2-.1.2-.1.1-.2.2-.2.3-.1 0-.2.1-.2.2-.1.1-.1.3-.2.4-.1.1-.1.3-.2.4-.1.2-.1.3-.2.5 0 .2-.1.4-.1.6-.1.2-.2.4-.2.6-.1.3-.1.5-.2.8 0 .2-.1.5-.1.7 0 .3-.1.6-.1.9v3.3c0 .5.1.9.1 1.3v.4h.1l-2.4 2.4c-.4.2-.4.7-.1.9l1.7 1.7c.2.3.7.3.9 0l2.4-2.4c.9.1 1.7.2 2.6.2.8 0 1.4 0 2.2-.1.6 0 1.2-.1 1.7-.2s1-.2 1.4-.3c.4-.1.8-.3 1.1-.4.3-.2.5-.3.8-.5.3-.1.6-.4.9-.7l.1-.1z"}},approval:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.9 13.5h-4.1c-1.2 0-2.2-1-2.2-2.2.2-3.3 1.7-3.5 1.8-5.6.2-2.2-1.2-4.2-3.4-4.7-2.8-.6-5.4 1.6-5.4 4.4 0 2.4 1.6 2.4 1.8 5.9 0 1.2-1 2.2-2.2 2.2H3.1c-1.2 0-2.2.9-2.2 2.2v1.5c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7v-1.5c0-1.3-1-2.2-2.2-2.2zm0 6.6H3.1c-.4 0-.7.3-.7.7v.1c0 1.2 1 2.2 2.2 2.2h14.8c1.2 0 2.2-1 2.2-2.2v-.1c0-.4-.3-.7-.7-.7z"}},apps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6 1.8H3.2c-.8 0-1.4.6-1.4 1.4V6c0 .8.6 1.4 1.4 1.4H6c.8 0 1.4-.6 1.4-1.4V3.2c0-.8-.6-1.4-1.4-1.4zm0 14.8H3.2c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4H6c.8 0 1.4-.6 1.4-1.4V18c0-.8-.6-1.4-1.4-1.4zm0-7.4H3.2c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4H6c.8 0 1.4-.6 1.4-1.4v-2.8c0-.8-.6-1.4-1.4-1.4zm7.4-7.4h-2.8c-.8 0-1.4.6-1.4 1.4V6c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4V3.2c0-.8-.6-1.4-1.4-1.4zm0 14.8h-2.8c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4V18c0-.8-.6-1.4-1.4-1.4zm0-7.4h-2.8c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4v-2.8c0-.8-.6-1.4-1.4-1.4zm7.4-7.4H18c-.8 0-1.4.6-1.4 1.4V6c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4V3.2c0-.8-.6-1.4-1.4-1.4zm0 14.8H18c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4V18c0-.8-.6-1.4-1.4-1.4zm0-7.4H18c-.8 0-1.4.6-1.4 1.4v2.8c0 .8.6 1.4 1.4 1.4h2.8c.8 0 1.4-.6 1.4-1.4v-2.8c0-.8-.6-1.4-1.4-1.4z"}},archive:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.9 1.1H3.1C1.9 1.1.9 2.1.9 3.3v2.2c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7V3.3c0-1.2-1-2.2-2.2-2.2zm.6 7h-19c-.4 0-.7.3-.7.7V21c0 1.2 1 2.2 2.2 2.2h16.1c1.2 0 2.2-1 2.2-2.2V8.8c-.1-.4-.4-.7-.8-.7zm-6.4 3.7H8.9c-.5 0-1-.4-1-1s.5-.9 1-.9h6.2c.5 0 1 .4 1 .9s-.5 1-1 1z"}},arrowdown:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.4 14.3c-.3.4-.3.9 0 1.3l7 6.7c.3.4.9.4 1.2 0l7-6.7c.4-.4.4-.9 0-1.3l-1.3-1.2c-.3-.4-.9-.4-1.3 0l-2.1 2.1c-.4.4-1.1.1-1.1-.4V2.3c0-.5-.4-.9-.9-.9h-1.8c-.5 0-.9.5-.9.9v12.5c0 .5-.7.8-1.1.4L7 13.1c-.4-.4-1-.4-1.3 0l-1.3 1.2z"}},arrowup:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.1 9.7c.4-.4.4-.9 0-1.3l-6.9-6.7c-.4-.4-.9-.4-1.3 0L4 8.4c-.4.4-.4.9 0 1.3l1.3 1.2c.3.4.9.4 1.3 0l2.1-2.1c.4-.4 1-.1 1 .4v12.5c0 .5.5.9 1 .9h1.8c.5 0 .9-.5.9-.9V9.2c0-.5.7-.8 1-.4l2.2 2.1c.4.4.9.4 1.3 0l1.2-1.2z"}},assignment:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M1.7 13.8h20.5c.5 0 .8.3.8.7V16c0 .4-.3.7-.8.7H1.7c-.5 0-.8-.3-.8-.7v-1.5c0-.4.3-.7.8-.7zm0-6.6h20.5c.5 0 .8.3.8.7v1.5c0 .4-.3.8-.8.8H1.7c-.5 0-.8-.4-.8-.8V7.9c0-.3.3-.7.8-.7z"}},attach:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.1 16.9c.3.3.7.3 1 0l4.6-4.6c.3-.3.9-.3 1.3 0 .4.4.4 1 0 1.4l-5.7 5.6c-1.2 1.2-3.3 1.2-4.5 0l-.1-.1c-1.2-1.2-1.2-3.3 0-4.5l10-10c1.3-1.3 3.3-1.3 4.6 0 1.3 1.3 1.3 3.3 0 4.6-.2.3-.3.6-.1.9.3.5.5 1 .6 1.6.1.3.6.4.8.2l.7-.7c2.4-2.4 2.4-6.2 0-8.6h-.1C18.9.4 15 .4 12.7 2.7l-10 10c-2.4 2.3-2.4 6.2 0 8.5l.1.1c2.3 2.4 6.1 2.4 8.5 0l5.7-5.7c1.5-1.4 1.4-3.8-.1-5.3-1.5-1.4-3.9-1.3-5.3.1L7.1 15c-.3.2-.3.7 0 1l1 .9z"}},automate:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 7.6c-2.4 0-4.4 2-4.4 4.4s2 4.5 4.4 4.5c2.5 0 4.5-2 4.5-4.5s-2-4.4-4.5-4.4zm0 7.7c-1.8 0-3.2-1.5-3.2-3.3 0-1.8 1.4-3.3 3.2-3.3 1.8 0 3.3 1.5 3.3 3.3 0 1.8-1.5 3.3-3.3 3.3zm10.8-.5c.2-.9.3-1.8.3-2.8 0-1-.1-1.9-.3-2.8h-1.3c-.2-.7-.5-1.4-.8-2l.9-.8c-1-1.6-2.3-3-4-4l-.8.9c-.6-.3-1.3-.6-2-.8V1.3c-.9-.2-1.8-.4-2.8-.4-1 0-1.9.2-2.8.4v1.2c-.7.2-1.3.5-1.9.8l-.9-.9c-1.7 1-3 2.4-4 4l.9.9c-.3.6-.6 1.2-.8 1.9H1.3c-.2.9-.4 1.8-.4 2.8s.2 1.9.4 2.8h1.2c.2.7.5 1.4.8 2l-.9.8c1 1.6 2.4 3 4 4l.9-.9c.6.3 1.2.6 1.9.8v1.3c.9.2 1.9.3 2.8.3 1 0 1.9-.1 2.9-.3v-1.3c.7-.2 1.3-.5 1.9-.8l.9.9c1.6-1 3-2.3 3.9-4l-.8-.8c.3-.6.6-1.3.8-2h1.2zm-2.7 3c-.3.4-.7.8-1.1 1.2-.4.4-.8.8-1.2 1.1l-.9-.9c-.9.7-2.1 1.2-3.3 1.4v1.2c-.5.1-1 .1-1.6.1-.6 0-1.1 0-1.6-.1v-1.2c-1.2-.2-2.4-.7-3.3-1.4l-.9.9c-.4-.3-.8-.7-1.2-1.1-.4-.4-.8-.8-1.1-1.2l.9-.9c-.7-.9-1.2-2.1-1.4-3.3H2.2c-.1-.5-.1-1-.1-1.6 0-.6 0-1.1.1-1.6h1.3c.2-1.2.7-2.4 1.3-3.3L4 6.2c.3-.4.7-.8 1-1.2.4-.4.8-.8 1.2-1.1l.9.9c1-.7 2.1-1.2 3.3-1.4V2.2c.5-.1 1.1-.1 1.6-.1.6 0 1.1 0 1.7.1v1.3c1.2.2 2.3.7 3.3 1.3l.9-.8c.4.3.8.6 1.2 1 .3.4.7.8 1 1.2l-.9.9c.7 1 1.2 2.1 1.4 3.3h1.3c.1.5.1 1.1.1 1.6 0 .6 0 1.1-.1 1.7h-1.3c-.2 1.2-.7 2.3-1.4 3.3l.9.8z"}},away:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.8 4.2C15.5-.1 8.5-.1 4.2 4.2s-4.3 11.3 0 15.6 11.3 4.3 15.6 0 4.3-11.3 0-15.6zM6.1 6.1c3.3-3.2 8.6-3.2 11.8 0 1.3 1.3 2.1 2.9 2.3 4.5H3.8c.3-1.6 1-3.2 2.3-4.5z"}},back:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 10.6H7.1c-.4 0-.6-.5-.3-.8l4.4-4.4c.3-.3.3-.7 0-1l-1-1c-.3-.3-.7-.3-1 0l-8 8.1c-.3.3-.3.7 0 1l8 8.1c.3.3.7.3 1 0l1-1c.2-.3.2-.7 0-1l-4.5-4.4c-.2-.3-.1-.8.4-.8h15.3c.4 0 .7-.3.7-.7v-1.3c0-.4-.3-.8-.7-.8z"}},ban:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm5.5 11.9c-.1.3-.3.6-.7.6H7.2c-.4 0-.6-.2-.7-.6v-1.6c.1-.3.3-.6.7-.6h9.6c.4 0 .6.3.7.6v1.6z"}},block_visitor:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M29.9 8.8V9v-.2z"},{d:"M10.2 17.1c0-1.3.4-2.7 1-3.8.8-1.4 1.7-1.9 2.4-3 1.1-1.7 1.4-4.1.6-6-.7-1.9-2.5-3-4.5-2.9S6 2.7 5.4 4.6c-.8 2-.5 4.5 1.2 6.1.7.7 1.3 1.7 1 2.6-.4 1-1.5 1.4-2.2 1.7-1.8.8-4 1.9-4.4 4.1-.4 1.7.8 3.5 2.7 3.5h7.9c.4 0 .6-.4.4-.7-1.2-1.4-1.8-3.1-1.8-4.8zm11.3-3.9c-2.2-2.2-5.7-2.2-7.9 0s-2.2 5.6 0 7.8 5.7 2.2 7.9 0 2.1-5.7 0-7.8zm-6.6 1.2c1.3-1.2 3.1-1.4 4.5-.5l-5 5.1c-.9-1.5-.7-3.3.5-4.6zm5.3 5.3c-1.3 1.2-3.1 1.4-4.6.6l5.1-5.1c.9 1.4.7 3.3-.5 4.5z"}]},bold:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.9 8.8c0-2.8-2.2-5.1-4.8-5.1H6.5c-.5 0-1 .4-1 .9v15.2c0 .6.5 1 1 1h7.6c2.6 0 4.8-2.3 4.8-5.1 0-1.3-.5-2.5-1.3-3.5.8-.9 1.3-2.1 1.3-3.4zm-4.8 8.7H8.8v-3.7h5.3c.9 0 1.6.9 1.6 1.9s-.7 1.8-1.6 1.8zm0-6.9H8.8V6.9h5.3c.9 0 1.6.9 1.6 1.9s-.7 1.8-1.6 1.8z"}},bookmark:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.2 22.9l-4.6-4.6c-.2-.3-.6-.3-.9 0l-4.9 4.6c-.3.3-.8.1-.8-.3V2.8C6 1.8 6.8.9 7.8.9h8.4c1 0 1.8.9 1.8 1.9v19.8c0 .4-.5.6-.8.3z"}},breadcrumbs:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.9 19.4c-.3 0-.5-.2-.5-.5V5c0-.2.2-.4.5-.4h3.7c.2 0 .4.1.6.2l5.3 6.7c.2.3.2.6 0 .9l-5.4 6.8c-.1.1-.3.2-.6.2H3.9zm16.5-7.9L15 4.8c-.2-.2-.6-.3-.9 0l-1.1.8c-.3.3-.4.7-.1 1l4.4 5.4-4.4 5.4c-.2.3-.2.8.1 1l1.1.9c.3.2.7.2.9-.1l5.4-6.7c.2-.4.2-.7 0-1z"}},broadcast:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M.9 8.8c0 2.7 1.1 5.2 3 7.1.4.4 1 .4 1.4 0 .4-.5.4-1.1 0-1.5C3.8 12.9 3 10.9 3 8.8c0-2.2.8-4.2 2.3-5.7.4-.4.4-1 0-1.4-.4-.4-1-.4-1.4 0C2 3.6.9 6.1.9 8.8zm5.9 4.1c.4.4 1 .4 1.5 0 .4-.4.4-1 0-1.4-.7-.8-1.2-1.7-1.2-2.7 0-1.1.4-2 1.2-2.7.4-.4.4-1.1 0-1.5-.5-.4-1.1-.4-1.5 0-1.1 1.1-1.7 2.6-1.7 4.2 0 1.5.6 3 1.7 4.1zM20.1 1.7c-.4-.4-1.1-.4-1.5 0-.4.4-.4 1 0 1.4 1.5 1.5 2.3 3.5 2.4 5.7-.1 2.1-.9 4.1-2.4 5.6-.4.4-.4 1 0 1.5.4.4 1.1.4 1.5 0C22 14 23 11.5 23 8.8c0-2.7-1-5.2-2.9-7.1zm-1.2 7.1c0-1.6-.7-3.1-1.8-4.2-.4-.4-1-.4-1.4 0-.4.4-.4 1.1 0 1.5.7.7 1.1 1.6 1.1 2.7 0 1-.4 1.9-1.1 2.7-.4.4-.4 1 0 1.4.4.4 1 .4 1.4 0 1.1-1.1 1.8-2.6 1.8-4.1zM10.9 11.2c-1-.4-1.6-1.3-1.6-2.5C9.3 7.2 10.5 6 12 6c1.5 0 2.7 1.2 2.7 2.7 0 1.2-.7 2.1-1.7 2.5v10.9c0 .3-.2.5-.5.5h-1.1c-.2 0-.5-.2-.5-.5V11.2z"}},brush:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.8 1.2c-1.6-1.6-10.3 3.4-15.7 12-.2.4-.1.9.3 1.1 1.2.6 2.2 1.6 2.7 2.8.2.5.7.6 1.1.3C19.5 12 24.4 2.9 22.8 1.2zm-17.3 15c-.7 0-1.3.4-1.8.9h-.1c-.2 0-.4.3-.6.7-.7 1.2-.9 2.7-2 4.3-.2.3-.1.7.2.8 1.6.5 4.4 0 5.8-1v.1c.4-.1.3-.3.4-.3.5-.9 1-1.4 1-2.3-.1-1.7-1.3-3.2-2.9-3.2z"}},bucket:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.6 5.1c0-2.9-4.5-4.2-8.8-4.2S5.1 2.2 5.1 5.1v.2C1.1 6.5.5 9 .5 10.4c0 1.4.7 2.8 1.9 3.9 1 .8 2.3 1.3 3.6 1.4h.4c3-.1 5.9-1.1 6.8-2.7-.5-.4-.7-.9-.7-1.5 0-1 .8-1.8 1.8-1.8s1.9.8 1.9 1.8c0 .8-.5 1.5-1.2 1.7-.9 2.6-4.6 4.3-9 4.3v2.8c0 1.5 3.5 2.8 7.8 2.8s7.9-1.3 7.9-2.8V7.1c.6-.6.9-1.2.9-2zm-8.8-1.4c3.1 0 5 .7 5.8 1.2.1.1.1.3 0 .4-.8.5-2.7 1.2-5.8 1.2s-4.9-.7-5.7-1.2c-.1-.1-.1-.3 0-.4.8-.5 2.7-1.2 5.7-1.2zM3.6 12.8c-.8-.6-1.3-1.5-1.3-2.4 0-2 1.9-3 3.6-3.4l.1.1v6.7c-.9 0-1.8-.4-2.4-1z"}},builder:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.3 7.8H1.6c-.4 0-.7.4-.7.7v11.8c0 1 .9 1.9 1.9 1.9h2.5c.4 0 .7-.4.7-.7v-13c0-.3-.3-.7-.7-.7zm17.1 0H8.5c-.3 0-.7.4-.7.7v13c0 .3.4.7.7.7h12.7c1 0 1.9-.9 1.9-1.9V8.5c0-.3-.3-.7-.7-.7zm-1.2-6H2.8c-1 0-1.9.9-1.9 1.9v1.6c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V3.7c0-1-.9-1.9-1.9-1.9z"}},call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 17.5l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.7 2.4 9.1 5.5 12.3s7.6 5.2 12.3 5.5c.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6z"}},campaign:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .4C5.6.4.4 5.6.4 12S5.6 23.6 12 23.6 23.6 18.4 23.6 12 18.4.4 12 .4zm0 20.9c-5.1 0-9.3-4.2-9.3-9.3S6.9 2.7 12 2.7s9.3 4.2 9.3 9.3-4.2 9.3-9.3 9.3zM12 5c-3.8 0-7 3.2-7 7s3.2 7 7 7 7-3.2 7-7-3.2-7-7-7zm0 11.7c-2.5 0-4.7-2.1-4.7-4.7S9.5 7.3 12 7.3s4.7 2.2 4.7 4.7-2.2 4.7-4.7 4.7zm0-7c-1.3 0-2.3 1.1-2.3 2.3s1.1 2.3 2.3 2.3 2.3-1.1 2.3-2.3-1-2.3-2.3-2.3z"}},cancel_file_request:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.2 5.3h2.4c.2 0 .5-.3.5-.5s-.1-.3-.2-.4l-3.3-3.3c-.1-.1-.2-.1-.3-.1-.3 0-.5.2-.5.5v2.3c0 .8.6 1.5 1.4 1.5zm-1.8 13.4c0-3.1 1.9-5.8 4.7-6.8V8.1c0-.4-.4-.7-.8-.7h-3.6c-1.2 0-2.1-1-2.1-2.1V1.7c0-.4-.3-.7-.7-.7H3.1C1.9 1 1 1.9 1 3.1v13.6c0 1.2.9 2.1 2.1 2.1h8.3v-.1zm3.3-2.7l2.7 2.7-2.7 2.8c-.3.3-.3.7 0 1l.3.3c.3.3.7.3 1 0l2.7-2.8 2.8 2.8c.3.3.7.3 1 0l.3-.3c.3-.3.3-.8 0-1L20 18.7l2.8-2.7c.3-.3.3-.8 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.7-2.7-2.7c-.3-.3-.8-.3-1 0l-.3.3c-.3.2-.3.7 0 1z"}},cancel_transfer:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.6 5.7V4.3c1.8 0 3.3 1.5 3.3 3.3h-1.4l2.1 2.6c.2.2.4.2.5 0l2.1-2.6h-1.4c0-2.9-2.4-5.2-5.3-5.2V1L8.9 3.1c-.1.1-.1.3.1.4l2.6 2.2zm.5 9.8c-.5-.7-1.6-1.2-2.6-1.7-1.1-.5-1.3-1-1.3-1.4s.3-1 .7-1.3c.6-.6.9-1.5.9-2.5 0-1.8-1.1-3.4-3-3.4h-.2c-1.8 0-3 1.6-3 3.4 0 1 .4 1.9 1 2.5.4.3.7.8.7 1.3 0 .4-.2.9-1.3 1.4-1.6.6-3 1.4-3.1 2.9.2 1 .9 1.8 1.8 1.8h8.2c.2 0 .4-.1.5-.1 0-1 .3-2 .7-2.9zm2.6.5l2.7 2.7-2.7 2.8c-.3.3-.3.7 0 1l.3.3c.3.3.7.3 1 0l2.7-2.8 2.8 2.8c.3.3.7.3 1 0l.3-.3c.3-.3.3-.8 0-1L20 18.7l2.8-2.7c.3-.3.3-.8 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.7-2.7-2.7c-.3-.3-.8-.3-1 0l-.3.3c-.3.2-.3.7 0 1z"}},capslock:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.1 9.7l-7.5-8.5c-.3-.4-.9-.4-1.2 0L3.9 9.7c-.3.4-.1.9.4.9h3.5v5.8c0 .4.4.7.7.7h7c.3 0 .7-.3.7-.7v-5.8h3.5c.5 0 .7-.5.4-.9zm-4.6 10.1h-7c-.3 0-.7.4-.7.7v1.9c0 .4.4.7.7.7h7c.3 0 .7-.3.7-.7v-1.9c0-.3-.4-.7-.7-.7z"}},cart:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M9.3 12h11c.3 0 .7-.2.7-.6l2-7.1c.2-.5-.2-.9-.7-.9h-17l-.3-1c-.1-.6-.6-.9-1-.9H2.1C1.5 1.5 1 2 .9 2.6c0 .6.5 1.2 1.1 1.2h1.1l3.5 11.8c.1.6.6.9 1.1.9h13c.6 0 1.1-.5 1.2-1.1 0-.6-.5-1.2-1.1-1.2H9.3c-.5 0-.9-.3-1-.8-.3-.7.3-1.4 1-1.4z"},circle:[{cx:"9.508",cy:"20.585",r:"1.846"},{cx:"18.508",cy:"20.585",r:"1.846"}]}},case:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M7.9 5.2h1.4c.2 0 .3-.1.3-.3v-1h4.8v1c0 .2.1.3.3.3H16c.2 0 .3-.1.3-.3v-1c0-1.1-.9-2.1-2-2.1H9.6c-1.1 0-2 1-2 2.1v1c0 .2.1.3.3.3zm12.2 2H3.9c-1.1 0-2.1 1-2.1 2.1v10.8c0 1.1 1 2.1 2.1 2.1h16.2c1.1 0 2.1-1 2.1-2.1V9.3c0-1.1-1-2.1-2.1-2.1z"}},cases:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.2 1.6c0-.4-.4-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v14.3c0 .4.3.7.7.7h1.9c.3 0 .7-.3.7-.7V1.6zm18.9 0c0-.4-.3-.7-.7-.7h-1.9c-.3 0-.7.3-.7.7v14.3c0 .4.4.7.7.7h1.9c.4 0 .7-.3.7-.7V1.6zM17.3.9h-1.4c-.3 0-.7.4-.7.8v5.7c0 .2.1.3.3.4.8.4 1.5.9 2.1 1.5.1.2.4.1.4-.1V1.7c0-.4-.3-.8-.7-.8zM11.1 7h1.8c.3 0 .5-.2.5-.4V1.7c0-.4-.3-.8-.7-.8h-1.4c-.4 0-.7.4-.7.8v4.9c0 .2.2.5.5.4zM6.4 9.3c.6-.6 1.4-1.1 2.1-1.5.2-.1.3-.2.3-.4V1.7c0-.4-.4-.8-.7-.8H6.7c-.4 0-.7.4-.7.8v7.5c0 .2.2.3.4.1zm5.6-.5c-3.3 0-6 2.7-6 6 0 1 .3 2 .7 2.9L3.5 21c-.3.2-.3.6 0 .9l.9 1c.3.3.7.3 1 0l3.2-3.2c1 .7 2.2 1.1 3.4 1.1 3.3 0 6-2.7 6-6s-2.7-6-6-6zm0 9.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.2S13.8 18 12 18z"}},center_align_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 3c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V3zm-2.8 5.5c0-.3-.3-.7-.7-.7H5.3c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h13.4c.4 0 .7-.3.7-.7V8.5zm-.9 11.1c0-.4-.4-.7-.7-.7H6.2c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h11.6c.3 0 .7-.3.7-.7v-1.4zm3.7-5.5c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7v-1.4z"}},change_owner:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.6 17.4c-1.4-.6-1.6-1.1-1.6-1.7 0-.5.4-1 .8-1.4.8-.7 1.2-1.8 1.2-3 0-2.2-1.3-3.9-3.8-3.9s-3.8 1.7-3.8 3.9c0 1.2.3 2.3 1.2 3 .4.4.8.9.8 1.4 0 .6-.2 1.1-1.6 1.7-2.1.8-4 1.7-4 3.5 0 1.2 1 2.2 2.1 2.2h10.6c1.2 0 2.1-1 2.1-2.2 0-1.7-2-2.7-4-3.5zm7.9-8.6c0-3.4-2.8-6.3-6.2-6.3V.9l-3.1 2.6c-.2.1-.1.3 0 .5l3.1 2.5V4.8c2.2 0 3.9 1.8 3.9 4h-1.6l2.6 3.1c.1.1.3.1.5 0l2.5-3.1h-1.7z"}},change_record_type:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.2 17.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7v-5.1zm-5.5-7.1H1.5c-.5 0-.7.4-.4.6l3.7 3.8c.1.2.4.2.6 0l3.7-3.8c.3-.3 0-.6-.4-.6H6.5c0-2.4 2.3-4.7 4.6-4.7V2.8c-4.2 0-7.4 3.2-7.4 7.4zm15.6-.8c-.2-.2-.5-.2-.7 0L15 13.2c-.3.3-.1.6.4.6h2.2c0 2.8-1.9 4.7-4.7 4.7v2.7c4.2 0 7.5-3.2 7.5-7.4h2.2c.5 0 .7-.4.4-.6l-3.7-3.8zm3.8-7.8c0-.4-.3-.7-.7-.7h-6.9c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7V1.6z"}},chart:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21 10.8L11.5 16c-.6.3-1.3-.1-1.3-.8V3.9c0-.5-.5-.9-.9-.7-4.6 1.3-8 5.8-7.4 10.9.5 4.6 4.2 8.4 8.9 8.9 6.2.7 11.4-4.1 11.4-10.1 0-.5-.1-1.1-.2-1.6s-.6-.7-1-.5zm-8.2 2.1l9.1-4.8c.5-.3.7-1 .3-1.5-2-2.9-5.3-5-9-5.6-.6-.1-1.2.4-1.2 1v10.5c0 .4.4.6.8.4z"}},chat:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 1.8C5.9 1.8 1 6.4 1 12c0 1.7.5 3.4 1.3 4.8.1.3.2.6.1.8l-1.4 4c-.2.3.2.6.6.6l3.9-1.6c.3-.1.5 0 .8.1 1.7.9 3.7 1.5 5.8 1.5 6 0 11-4.5 11-10.2C23 6.4 18.1 1.8 12 1.8zm-5.5 12c-1.1 0-1.9-.8-1.9-1.8s.8-1.8 1.9-1.8 1.8.8 1.8 1.8-.8 1.8-1.8 1.8zm5.5 0c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8 1.8.8 1.8 1.8-.8 1.8-1.8 1.8zm5.5 0c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8 1.9.8 1.9 1.8-.8 1.8-1.9 1.8z"}},check:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.8 19.6L1.2 12c-.3-.3-.3-.8 0-1.1l1-1c.3-.3.8-.3 1 0L9 15.7c.1.2.5.2.6 0L20.9 4.4c.2-.3.7-.3 1 0l1 1c.3.3.3.7 0 1L9.8 19.6c-.2.3-.7.3-1 0z"}},checkin:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C7.2.9 3.2 4.8 3.2 9.7c0 6.1 6.3 11.7 8.2 13.2.4.3.8.3 1.2 0 1.9-1.5 8.2-7.1 8.2-13.2 0-4.9-4-8.8-8.8-8.8zm0 12.5c-2 0-3.7-1.7-3.7-3.7S10 6 12 6s3.7 1.7 3.7 3.7-1.7 3.7-3.7 3.7z"}},chevrondown:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22 8.2l-9.5 9.6c-.3.2-.7.2-1 0L2 8.2c-.2-.3-.2-.7 0-1l1-1c.3-.3.8-.3 1.1 0l7.4 7.5c.3.3.7.3 1 0l7.4-7.5c.3-.2.8-.2 1.1 0l1 1c.2.3.2.7 0 1z"}},chevronleft:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.8 22l-9.6-9.4c-.3-.3-.3-.8 0-1.1l9.6-9.4c.3-.3.7-.3 1 0l1 1c.3.3.3.7 0 1l-7.6 7.4c-.3.3-.3.8 0 1.1l7.5 7.4c.3.3.3.7 0 1l-1 1c-.2.2-.6.2-.9 0z"}},chevronright:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.3 2l9.5 9.5c.3.3.3.7 0 1L8.3 22c-.3.2-.8.2-1.1 0l-1-1c-.2-.3-.2-.8 0-1.1l7.6-7.4c.2-.3.2-.7 0-1L6.3 4.1C6 3.8 6 3.3 6.3 3l1-1c.3-.2.7-.2 1 0z"}},chevronup:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M2 15.8l9.5-9.6c.3-.2.7-.2 1 0l9.5 9.6c.2.3.2.7 0 1l-1 1c-.3.3-.8.3-1.1 0l-7.4-7.6c-.3-.2-.7-.2-1 0l-7.4 7.6c-.3.2-.8.2-1.1 0l-1-1c-.2-.3-.2-.7 0-1z"}},choice:{xmlns:"http://www.w3.org/2000/svg",g:{circle:{cx:"12",cy:"12",r:"5.169"},path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.2c-4.5 0-8.1-3.6-8.1-8.1S7.5 3.9 12 3.9s8.1 3.6 8.1 8.1-3.6 8.1-8.1 8.1z"}}},classic_interface:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.8 16.5v-3.9S10 15.2 8.9 17s-1 3.2-1 3.2c0 1.4 1.1 2.6 2.4 2.6.8 0 1.5-.4 1.9-1.1.4.6 1 1 1.8 1 1.3 0 2.3-1.2 2.3-2.7v-.4c0-1.9-4.3-7.1-4.3-7.1v4l.6 1.3v.2c0 .3-.2.6-.6.6-.3 0-.6-.3-.6-.6 0 0 0-.1.1-.2l.3-1.3m-4.5-3.4l3.7-1.4s-3-.8-5.1-1.2c-2.2-.4-3.4.3-3.4.3-1.3.5-2.1 1.8-1.7 3 .3.8 1 1.3 1.7 1.5-.4.6-.5 1.3-.2 2 .4 1.2 1.9 1.8 3.2 1.3.2 0 .3-.1.4-.2 1.9-.6 5.2-6.4 5.2-6.4l-3.6 1.3h-.1l-1.1 1c0 .1-.1.1-.1.1-.3.1-.7 0-.8-.4-.1-.3 0-.7.4-.8H6l1.3-.1m1.9-5.5l2.3 3.2s-.1-3.2-.3-5.3C11 3.4 10 2.3 10 2.3 9.1 1.2 7.6.8 6.6 1.6c-.6.5-.9 1.3-.9 2-.7-.2-1.4-.1-2 .3-1 .8-1.2 2.4-.3 3.5.1.1.2.3.2.4 1.2 1.5 7.8 3.1 7.8 3.1L9 7.8 7.7 7l-.1-.1c-.2-.3-.2-.7.1-.9.3-.2.7-.1.9.1 0 .1 0 .1.1.2l.5 1.3m7.5 5.5L13 11.7s3-.8 5.1-1.2c2.2-.4 3.4.3 3.4.3 1.3.5 2.1 1.8 1.7 3-.3.8-1 1.3-1.7 1.5.4.6.5 1.3.2 2-.4 1.2-1.9 1.8-3.2 1.3-.2 0-.3-.1-.4-.2-1.9-.6-5.2-6.4-5.2-6.4l3.6 1.3h.1l1.1 1c0 .1.1.1.1.1.3.1.7 0 .8-.4.1-.3 0-.7-.4-.8H18l-1.3-.1m-2.1-5.5l-2.3 3.2s.2-3.2.3-5.3 1.2-3.2 1.2-3.2c.9-1.1 2.4-1.5 3.4-.7.7.5.9 1.3.9 2 .7-.1 1.4 0 2 .4 1 .8 1.1 2.3.3 3.5l-.3.3c-1.1 1.5-7.6 3.1-7.6 3.1l2.3-3.1.1-.1 1.2-.7.1-.2c.2-.2.2-.6-.1-.8-.3-.2-.6-.2-.9.1 0 0 0 .1-.1.1l-.5 1.4"}},clear:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm2.3 11.5l3.6 3.6c.1.2.1.4 0 .6l-1.3 1.3c-.2.2-.5.2-.7 0l-3.6-3.6c-.2-.2-.4-.2-.6 0l-3.6 3.6c-.2.2-.5.2-.7 0l-1.3-1.3c-.1-.2-.1-.4 0-.6l3.6-3.6c.2-.2.2-.5 0-.7L6.1 8.1c-.2-.2-.2-.5 0-.7l1.3-1.3c.2-.1.4-.1.6 0l3.7 3.7c.2.2.4.2.6 0l3.6-3.6c.2-.2.5-.2.7 0l1.3 1.3c.1.2.1.4 0 .6l-3.6 3.6c-.2.2-.2.5 0 .7z"}},clock:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.4c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3zm1.6-8.2c-.2-.1-.2-.3-.2-.5V7.2c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v5.5c0 .2.1.4.2.5l3.4 3.5c.3.2.7.2 1 0l1-1c.2-.3.2-.7 0-1l-2.6-2.6z"}},close:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.3 11.7l6-6c.3-.3.3-.7 0-1l-.9-1c-.3-.2-.7-.2-1 0l-6 6.1c-.2.2-.5.2-.7 0l-6-6.1c-.3-.3-.7-.3-1 0l-1 1c-.2.2-.2.7 0 .9l6.1 6.1c.2.2.2.4 0 .6l-6.1 6.1c-.3.3-.3.7 0 1l1 1c.2.2.7.2.9 0l6.1-6.1c.2-.2.4-.2.6 0l6.1 6.1c.2.2.7.2.9 0l1-1c.3-.3.3-.7 0-1l-6-6c-.2-.2-.2-.5 0-.7z"}},collapse_all:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 4.4c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7V4.4zm0 13.8c0-.3-.4-.7-.7-.7h-19c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7v-1.4zm-6.3-4.8c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7H8.1c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h7.8z"}},collection_variable:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.8.9H3.2C1.9.9.9 1.9.9 3.2v17.6c0 1.2 1 2.3 2.3 2.3h17.6c1.2 0 2.3-1 2.3-2.3V3.2c0-1.3-1-2.3-2.3-2.3zm-1.1 18.2c-.1.3-.4.5-.7.5H4.7c-.3 0-.5-.3-.5-.6V4.9c0-.3.3-.5.6-.5h14.3c.3 0 .5.3.5.6v14.1zm-4.5-8.8c.5 0 1.5-.3 1.5-1.6s-1-1.4-1.2-1.4c-.6 0-1.1.5-1.7 1.3l-1 1.8c-.2-.6-.2-1.1-.3-1.4-.1-.5-.7-1.6-2-1.6-1.2 0-2.4.7-2.4.7-.2.2-.3.4-.3.7 0 .4.3.8.7.8.2 0 .3-.1.4-.1 0 0 .9-.6 1.1 0 .1.1.1.3.2.5.2.8.5 1.8.6 2.6l-.8 1.2s-.9-.3-1.4-.3-1.4.4-1.4 1.7.9 1.3 1.2 1.3c.5 0 1.1-.4 1.6-1.2l1-1.8c.2.8.3 1.4.4 1.6.3.9 1 1.5 2 1.5 0 0 1 0 2.2-.7.2-.1.4-.3.4-.7 0-.4-.3-.8-.8-.8-.1 0-.2.1-.3.1 0 0-.8.5-1.1.1-.2-.3-.4-.9-.5-1.5-.1-.5-.3-1.2-.4-1.9l.9-1.2s1 .3 1.4.3z"}},color_swatch:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.4 4.4l3.2 3.2c.7.8.7 1.9 0 2.7l-8.5 8.5V7l2.6-2.6c.8-.7 1.9-.7 2.7 0zm6.7 12.2v4.6c0 1.1-.8 1.9-1.9 1.9H9.7l8.3-8.3h3.2c1.1 0 1.9.8 1.9 1.8zM.9 18.9V2.8C.9 1.7 1.7.9 2.8.9h4.6c1 0 1.8.8 1.8 1.9v16.1c0 2.3-1.8 4.2-4.1 4.2S.9 21.2.9 18.9zm4.2 1.9c1 0 1.8-.9 1.8-1.9s-.8-1.8-1.8-1.8-1.9.8-1.9 1.8.9 1.9 1.9 1.9z"}},comments:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.1 14.3c-.1-.2-.1-.4 0-.5.6-1.1 1-2.3 1-3.6 0-4.1-3.5-7.4-7.9-7.4-2 0-3.8.8-5.2 2 4.7.5 8.5 4.4 8.5 9.1 0 1.1-.3 2.3-.7 3.3.5-.2 1-.4 1.5-.7.2-.1.4-.1.5 0l2.9 1.1c.2.1.5-.2.4-.4l-1-2.9zM8.8 6.5C4.4 6.5.9 9.8.9 13.9c0 1.3.4 2.5 1 3.5.1.2.1.4 0 .6l-1 2.8c-.1.3.2.5.4.4l2.9-1.1c.1 0 .3 0 .5.1 1.2.7 2.6 1 4.1 1 4.3 0 7.8-3.3 7.8-7.4 0-4-3.5-7.3-7.8-7.3z"}},company:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.7 1.8H3.2c-.8 0-1.4.6-1.4 1.4v18.5c0 .2.3.5.5.5h1.9c.2 0 .4-.2.4-.5v-2.8c0-.3.2-.4.5-.4h2.7c.3 0 .5.1.5.4v2.8c0 .3.2.5.5.5h1.4c.5 0 .9-.5.9-1v-18c0-.8-.6-1.4-1.4-1.4zM5.5 16.4c0 .1-.1.2-.2.2H3.9c-.1 0-.2-.1-.2-.2v-2.3c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H3.9c-.1 0-.2-.1-.2-.2V9.5c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H3.9c-.1 0-.2-.1-.2-.2V4.8c0-.1.1-.2.2-.2h1.4c.1 0 .2.1.2.2v2.4zm3.7 9.2c0 .1-.1.2-.2.2H7.6c-.1 0-.2-.1-.2-.2v-2.3c0-.2.1-.3.2-.3H9c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H7.6c-.1 0-.2-.1-.2-.2V9.5c0-.2.1-.3.2-.3H9c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H7.6c-.1 0-.2-.1-.2-.2V4.8c0-.1.1-.2.2-.2H9c.1 0 .2.1.2.2v2.4zm11.6-.7h-6.5c-.8 0-1.4.6-1.4 1.3v13.9c0 .2.3.5.5.5h1.8c.3 0 .5-.2.5-.5v-2.8c0-.3.2-.4.5-.4h2.7c.3 0 .5.1.5.4v2.8c0 .3.2.5.4.5h1.4c.5 0 1-.5 1-1V7.8c0-.7-.6-1.3-1.4-1.3zm-4.2 9.9c0 .1-.1.2-.2.2H15c-.1 0-.2-.1-.2-.2v-2.3c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2H15c-.1 0-.2-.1-.2-.2V9.5c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm3.7 4.6c0 .1-.1.2-.2.2h-1.4c-.1 0-.2-.1-.2-.2v-2.3c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3zm0-4.6c0 .1-.1.2-.2.2h-1.4c-.1 0-.2-.1-.2-.2V9.5c0-.2.1-.3.2-.3h1.4c.1 0 .2.1.2.3v2.3z"}},component_customization:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 2.5C23.1.9 21.8.9 21.8.9H2.3C2 1 .9 1.1.9 2.3v6.6c.1.2.3 1.3 1.4 1.3h19.5c1.4 0 1.3-1.3 1.3-1.3V2.5zm-.4 13.8c-.3-.1-.6-.1-.9-.1 0 0-.1 0-.1-.1l-.3-.9v-.1c.1-.2.3-.5.5-.7.1-.1.1-.3-.1-.5l-.9-.9s-.1-.1-.2-.1-.2.1-.3.1c-.2.2-.4.4-.6.5-.1 0-.1.1-.1.1-.4-.1-.6-.3-.9-.4-.1 0-.1 0-.1-.1-.1-.3-.1-.5-.1-.8 0-.1 0-.3-.2-.3l-.1-.1h-1.4c-.1 0-.1 0-.2.1-.1 0-.2.2-.2.3 0 .3-.1.5-.1.8 0 .1-.1.1-.1.1-.3.1-.6.3-.9.4-.1 0-.1 0-.1-.1-.3-.1-.4-.3-.7-.5-.1 0-.1-.1-.2-.1s-.2.1-.3.1l-.9.9c-.2.2-.2.4-.1.5.1.2.4.4.5.7.1 0 .1.1 0 .1-.1.4-.3.6-.4.9v.1c-.3 0-.6 0-.8.1-.2 0-.4.1-.4.3v1.5c.1.2.2.3.4.3s.5.1.8.1v.1c.1.3.3.6.4.9 0 0 .1.1 0 .1-.1.2-.4.5-.5.7-.1.1-.1.3.1.5l.9.9c.1.1.1.1.3.1 0 0 .1-.1.2-.1.2-.1.4-.4.7-.5 0 0 0-.1.1-.1.3.1.6.3.9.4l.1.1c0 .3 0 .6.1.8 0 .3.1.4.3.4h1.4s.3-.1.4-.4v-.8l.1-.1c.4-.1.7-.3.9-.4h.1v.1c.2.1.5.4.7.5 0 0 .1.1.2.1s.2-.1.3-.1l.9-.9c.2-.2.2-.4.1-.5-.2-.2-.4-.4-.5-.7-.1 0-.1-.1 0-.1l.3-.9.1-.1c.3 0 .6 0 .9-.1.2 0 .3-.1.3-.4v-1.2c0-.4-.1-.5-.3-.5zm-5.2 3.1c-1.2 0-2-.9-2-2s.9-2.1 2-2.1 2.1.9 2.1 2.1c0 1.1-1 2-2.1 2zm-6.7-6.6c0-.7-.7-.8-.9-.8H1.8c-.3 0-.9.1-.9.9v9.5c.1.3.2.7.9.7h8.1c.9 0 .9-1.1.9-1.1v-1.1c0-.5.1-1-.1-1.4-.1-.1-.1-.2-.2-.3s-.1-.1-.1-.2c-.3-.4-.2-.9-.2-1.4 0-.5 0-1 .2-1.4l.3-.6c.2-.2.2-.6.2-.9l-.1-1.9z"}},connected_apps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11 14.4l-1.8 8.1c-.1.5.5.8.8.4l9.7-12c.3-.3.1-.7-.3-.7h-5.2c-.4 0-.6-.5-.4-.7L18.4 2c.2-.5-.1-1.1-.6-1.1H9.6c-.5 0-.9.3-1.1.8L4.7 12.9c-.2.5.1.9.6.9h5.3c.2 0 .5.3.4.6z"}},constant:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.7 3.6c-.2-.2-.3-.2-.5-.2-1.8-.1-3.6 0-5.3.1h-6.2c-1.9 0-3.5.4-4.9 1.7-.9.8-1.8 2-2.5 3.1 0 .1-.1.2-.1.4 0 .3.4.7.7.7.4 0 .5-.3.7-.6.2-.3.4-.6.7-.8 1-.9 2.3-1.4 3.6-1.3-1.1 3.1-2.7 6.6-4.9 9-.9 1-2.5 2-2.8 3.4-.4 1.4 1.1 1.8 2.2 1.4 1.4-.6 2.2-2 2.9-3.2.9-1.6 1.7-3.2 2.3-4.8l2.1-4.8c.4-1 .5-1 1.5-1h2.7c-1 2.3-2 4.5-2.9 6.8-.6 1.7-1.9 4.2-1 6.1.9 1.8 3.3 1.1 4.6.2 1.4-1 2.3-2.5 3-4 .2-.2.3-.5.2-.8-.1-.3-.3-.5-.6-.5-.7 0-.8.8-1 1.2-.4.8-1.2 1.5-2.1 1.4-2-.3-.2-4 .2-5 .3-1 .8-2 1.2-3 .3-.5.5-1.1.8-1.7.4-.7.4-.7 1.2-.7.7-.1 2.7.3 3.3-.1.5-.3.8-1.5 1-2.4.1-.2 0-.5-.1-.6z"}},contact_request:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.7 12.5c-.3.1-.4.4-.2.6l2.1 2.1c.2.2.2.5 0 .8l-.8.8c-.2.2-.6.2-.8 0l-4.9-5c-.3-.3-.3-.6 0-.8L12 6c.2-.2.6-.2.8 0l.8.8c.2.3.2.6 0 .8l-2.1 2.1c-.2.2.2.6.2.6 4.7.2 8.3 3.3 9.4 7.5 1.2-1.7 2-3.7 2-5.8C23 6.3 18.1 1.8 12 1.8S1 6.4 1 11.9c0 1.8.5 3.4 1.4 4.9.1.2.1.5 0 .8L1 21.5c-.1.4.2.7.6.6l4-1.5c.3-.1.5-.1.8.1 1.7.9 3.7 1.5 5.8 1.5 2.7-.1 5.2-1 7.1-2.6-.5-3.9-3.7-7-7.6-7.1z"}},contract:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.7 11.1h7.1c.4 0 .6-.5.2-.9l-2.3-2.3 4.2-4.2c.2-.2.2-.7 0-.9l-1.7-1.7c-.2-.2-.6-.2-.9.1l-4.1 4.1L13.8 3c-.4-.3-.9-.2-.9.3v7.1c0 .3.4.7.8.7zm-3.4 1.8H3.2c-.4 0-.6.5-.2.9l2.3 2.3-4.2 4.2c-.2.2-.2.7 0 .9l1.7 1.7c.2.2.6.2.9 0l4.2-4.2 2.3 2.3c.4.4.9.2.9-.2v-7.1c0-.3-.4-.8-.8-.8zm2.6.8v7.1c0 .4.5.6.9.2l2.3-2.3 4.2 4.2c.2.2.7.2.9 0l1.7-1.7c.2-.2.2-.6-.1-.9l-4.1-4.1 2.3-2.4c.3-.4.2-.9-.3-.9h-7.1c-.3 0-.7.4-.7.8zm-1.8-3.4V3.2c0-.4-.5-.6-.9-.2L7.9 5.3 3.7 1.1c-.2-.2-.7-.2-.9 0L1.1 2.8c-.2.2-.2.6 0 .9l4.2 4.2L3 10.2c-.4.4-.2.9.2.9h7.1c.3 0 .8-.4.8-.8z"}},contract_alt:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.7 11h7.1c.4 0 .6-.5.2-.8l-2.3-2.4 4.2-4.2c.2-.2.2-.6 0-.8l-1.7-1.7c-.2-.2-.6-.2-.9 0l-4.1 4.2L13.8 3c-.4-.4-.9-.2-.9.2v7.1c0 .4.4.7.8.7zm-3.4 1.9H3.2c-.4 0-.6.5-.2.9l2.3 2.3-4.2 4.2c-.2.2-.2.7 0 .9l1.7 1.7c.2.2.6.2.9 0l4.2-4.2 2.3 2.3c.4.4.9.2.9-.2v-7.1c0-.3-.4-.8-.8-.8z"}},copy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.3.9h-12c-1 0-1.8.9-1.8 1.9v.9h11c1.1 0 1.9.8 1.9 1.8v13h.9c1 0 1.9-.9 1.9-1.9V2.8c0-1-.9-1.9-1.9-1.9zm-2.8 6.5c0-1-.8-1.9-1.8-1.9h-12c-1 0-1.9.9-1.9 1.9v13.8c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9V7.4zm-8.3 3.2c0 .3-.2.5-.4.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h3.7c.2 0 .4.2.4.5v.9zm3.7 7.4c0 .3-.2.5-.4.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h7.4c.2 0 .4.2.4.5v.9zm1.9-3.7c0 .3-.2.5-.5.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h9.2c.3 0 .5.2.5.5v.9z"}},copy_to_clipboard:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 5.4h8c.4 0 .8-.4.8-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.5c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12-2.6h-.8c-.2 0-.3.1-.3.3v1.5c0 1.6-1.3 3-2.9 3H8c-1.6 0-2.9-1.4-2.9-3V3.1c0-.2-.1-.3-.3-.3H4c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2z"}},crossfilter:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.2 4.2c-.8 0-1.6 0-2.3.3.9.7 1.6 1.5 2.2 2.4h.1c2.8 0 5 2.3 5 5.1s-2.2 5.1-5 5.1c-.7 0-1.4-.2-2-.4.3-.5.7-1.1.9-1.7.1-.2.2-.4.2-.6.3-.7.4-1.6.4-2.4 0-4.3-3.5-7.8-7.9-7.8S0 7.7 0 12s3.5 7.8 7.8 7.8c.8 0 1.6 0 2.3-.3-.9-.7-1.6-1.5-2.2-2.4h-.1c-2.8 0-5-2.3-5-5.1s2.2-5.1 5-5.1c.7 0 1.4.2 2.1.4-1 1.3-1.6 2.9-1.6 4.7 0 4.3 3.5 7.8 7.9 7.8S24 16.3 24 12s-3.5-7.8-7.8-7.8z"}},currency:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M20.8 5H3.2c-1.1 0-2 1-2 2.1v9.8c0 1.1.9 2 2 2h17.6c1.1 0 2-.9 2-2V7.1c0-1.1-.9-2.1-2-2.1zM5.5 16.9c0-1.3-1-2.4-2.3-2.4v-5c1.3 0 2.3-1.1 2.3-2.4h13c0 1.3 1 2.4 2.3 2.4v5c-1.3 0-2.3 1.1-2.3 2.4h-13z"},circle:{cx:"12",cy:"11.815",r:"3.369"}}},currency_input:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.6 17.4c1.2-2.1 1-4.8-.8-6.6-2.1-2.1-5.5-2.1-7.6 0-1.8 1.8-2 4.5-.8 6.6h9.2zm6.2-14.1v17.4c0 1.2-.9 2.1-2.1 2.1H3.3c-1.2 0-2.1-.9-2.1-2.1V3.3c0-1.2.9-2.1 2.1-2.1h17.4c1.2 0 2.1.9 2.1 2.1zm-18 16.6h14.4c.4 0 .7-.3.7-.7V4.8c0-.5-.3-.8-.7-.8H4.8c-.5 0-.8.3-.8.8v14.4c.1.4.4.7.8.7z"}},custom_apps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.8 5.6c-.1-.2-.4-.3-.6-.1l-3.8 3.7c-.3.3-.7.3-1 0l-2.6-2.6c-.3-.3-.3-.7 0-1l3.8-3.8c.1-.1 0-.5-.2-.6-.6-.2-1.3-.3-2-.3-3.9 0-7 3.4-6.6 7.4.1.7.3 1.2.5 1.8l-8.6 8.5c-1.1 1.1-1.1 2.7 0 3.7.5.5 1.2.8 1.8.8s1.3-.3 1.9-.8l8.5-8.6c.6.2 1.2.4 1.8.5 4 .4 7.4-2.7 7.4-6.6 0-.7-.1-1.4-.3-2z"}},cut:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.8 14.5c-.8-.2-1.5-.1-2.2.1L6.4 1.1C6.3.9 6 .9 5.8 1l-.4.3c-.8.6-.9 1.7-.3 2.6l4.9 6.4c.2.3.2.6 0 .9l-2.7 3.4c-.6-.2-1.4-.2-2.1-.1-1.7.4-3.1 1.7-3.3 3.5-.4 2.7 2 5 4.8 4.6 1.7-.3 3-1.6 3.4-3.2.2-1.2 0-2.2-.5-3l1.9-2.6c.3-.4.8-.4 1.1 0l1.9 2.6c-.5.9-.7 1.9-.5 3 .3 1.6 1.7 2.9 3.4 3.2 2.8.4 5.2-1.9 4.8-4.6-.4-1.8-1.8-3.2-3.4-3.5zM6 19.9c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.3.6 1.3 1.4-.6 1.4-1.3 1.4zm12 0c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.3.6 1.3 1.4c0 .8-.6 1.4-1.3 1.4zM14.4 8.7c.2.3.6.3.8 0l3.7-4.8c.5-.7.4-1.6-.1-2.3h.1-.1c-.1-.1-.7-.6-.7-.6-.1-.1-.5-.1-.6.1l-4.1 5.4c-.2.2-.2.6 0 .8l1 1.4z"}},dash:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 12.7c0 .4-.3.7-.7.7H1.6c-.4 0-.7-.3-.7-.7v-1.4c0-.4.3-.7.7-.7h20.8c.4 0 .7.3.7.7v1.4z"}},database:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21 4.2C21 2.4 16.9 1 12 1S3 2.4 3 4.2v1.1C3 7 7.1 8.4 12 8.4s9-1.4 9-3.1V4.2zM3 7.8c0 1.4 4.1 2.5 9 2.5s9-1.1 9-2.5v2.3c0 1.8-4.1 3.2-9 3.2s-9-1.4-9-3.2V7.8zm0 0c0 1.4 4.1 2.5 9 2.5s9-1.1 9-2.5v2.3c0 1.8-4.1 3.2-9 3.2s-9-1.4-9-3.2V7.8zm0 4.9c0 1.4 4.1 2.5 9 2.5s9-1.1 9-2.5V15c0 1.7-4.1 3.1-9 3.1S3 16.8 3 15v-2.3zm0 4.9c0 1.4 4.1 2.5 9 2.5s9-1.1 9-2.5v2.2c0 1.8-4.1 3.2-9 3.2s-9-1.4-9-3.2v-2.2z"}},datadotcom:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.6 22.7h-2.4c-.2-.9-.3-1.7-.3-2.4-1.2 1.9-3.1 2.8-5.6 2.8-2.3 0-4-.8-5.2-2.3-1.2-1.5-1.7-3.5-1.7-5.9 0-1.6.3-2.9.9-4.2s1.4-2.3 2.5-2.9c1.1-.8 2.4-1.2 3.9-1.2 2.1 0 3.8.7 5.1 2.1V1h2.6v18.2c0 1.2.1 2.3.2 3.5zM16.8 16v-5c-.6-.8-1.3-1.3-2.1-1.7-.8-.4-1.7-.6-2.7-.6-1.5 0-2.7.6-3.6 1.7-.9 1.2-1.3 2.7-1.3 4.5 0 1.9.4 3.3 1.3 4.4.8 1.1 2 1.7 3.5 1.7 1.4 0 2.6-.5 3.5-1.4.9-1 1.4-2.2 1.4-3.6z"}},date_input:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.4 9.1H2.6c-.4 0-.7.3-.7.7v10.9c0 1.2 1 2.1 2.2 2.1h15.8c1.2 0 2.2-.9 2.2-2.1V9.8c0-.4-.3-.7-.7-.7zm-13 10.1c0 .4-.3.7-.7.7H6.2c-.4 0-.7-.3-.7-.7v-1.4c0-.4.3-.8.7-.8h1.5c.4 0 .7.4.7.8v1.4zm5 0c0 .4-.3.7-.7.7h-1.4c-.5 0-.8-.3-.8-.7v-1.4c0-.4.3-.8.8-.8h1.4c.4 0 .7.4.7.8v1.4zm0-5c0 .4-.3.7-.7.7h-1.4c-.5 0-.8-.3-.8-.7v-1.5c0-.4.3-.7.8-.7h1.4c.4 0 .7.3.7.7v1.5zm5.1 0c0 .4-.3.7-.7.7h-1.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.7.7-.7h1.5c.4 0 .7.3.7.7v1.5zm1.4-10.9h-1.8v-.7c0-.8-.6-1.4-1.4-1.4-.8 0-1.4.6-1.4 1.4v.7H8.8v-.7c0-.8-.7-1.4-1.5-1.4s-1.4.6-1.4 1.4v.7H4.1c-1.2 0-2.2 1-2.2 2.2v.7c0 .4.3.8.7.8h18.8c.4 0 .8-.4.8-.8v-.7c-.1-1.2-1.1-2.2-2.3-2.2z"}},date_time:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.1 3.1h-1.8v-.7c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v.7H8.7v-.7C8.7 1.6 8 .9 7.2.9s-1.5.7-1.5 1.5v.7H3.9c-1.2 0-2.2 1.1-2.2 2.3v.7c0 .4.3.7.7.7h19.2c.4 0 .7-.3.7-.7v-.7c0-1.2-1-2.3-2.2-2.3zM21.6 9H2.4c-.4 0-.7.4-.7.8v11.1c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V9.8c0-.4-.3-.8-.7-.8zM12 21.6c-3 0-5.5-2.5-5.5-5.5 0-3.1 2.5-5.5 5.5-5.5s5.5 2.5 5.5 5.5-2.5 5.5-5.5 5.5zm.6-5.8v-2.3c0-.2-.2-.4-.4-.4h-.4c-.2 0-.4.2-.4.4v2.6c0 .1.1.2.2.3l1.8 1.8c.1.1.4.1.5 0l.3-.3c.1-.1.1-.4 0-.5l-1.6-1.6z"}},dayview:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.3 3.2H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9zm1.2 6h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zm-8.1 10.2v.1c0 .3-.5.8-.9.8s-1-.5-1-.9v-4.6l-.7.7c-.1.1-.2.2-.4.2-.4 0-.7-.3-.7-.7 0-.2.1-.4.2-.5l1.8-1.8c.2-.2.4-.3.7-.3.5 0 1 .4 1 .9v6.1z"}},delete:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21 4.6h-5.8V2.8c0-1-.8-1.9-1.8-1.9h-2.8c-1 0-1.8.9-1.8 1.9v1.8H3c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h18c.4 0 .7-.3.7-.7V5.3c0-.4-.3-.7-.7-.7zM10.6 3.2c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.4h-2.8V3.2zm8.6 6H4.8c-.3 0-.6.4-.6.7v10.9c0 1.3 1 2.3 2.3 2.3h11c1.3 0 2.3-1 2.3-2.3V9.9c0-.3-.3-.7-.6-.7zm-8.6 10.2c0 .3-.2.4-.4.4h-1c-.2 0-.4-.1-.4-.4v-6.5c0-.3.2-.4.4-.4h1c.2 0 .4.1.4.4v6.5zm4.6 0c0 .3-.2.4-.4.4h-1c-.2 0-.4-.1-.4-.4v-6.5c0-.3.2-.4.4-.4h1c.2 0 .4.1.4.4v6.5z"}},deprecate:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 3.2H1.8c-.5 0-.9.4-.9 1v12c0 .5.4.9.9.9h7.5c.5 2.6 2.7 4.6 5.5 4.6s5-2 5.4-4.6h2c.5 0 .9-.4.9-.9v-12c0-.6-.4-1-.9-1zm-4 15.1l-1.3 1.3-2.1-2.2-2.2 2.2-1.2-1.3 2.1-2.1-2.1-2.2 1.2-1.3 2.2 2.2 2.1-2.2 1.3 1.3-2.1 2.2 2.1 2.1zm3-3.1h-1c-.4-2.6-2.7-4.6-5.4-4.6s-5.1 2-5.5 4.6H2.8V5.1h18.4v10.1z"}},description:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.3 1.8H3.7c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V3.7c0-1-.9-1.9-1.9-1.9zM5.5 6.5c0-.3.2-.5.5-.5h4.6c.3 0 .5.2.5.5v4.6c0 .3-.2.4-.5.4H6c-.3 0-.5-.1-.5-.4V6.5zm11.1 12c0 .2-.2.4-.4.4H6c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h10.2c.2 0 .4.2.4.4v1zm1.9-3.7c0 .2-.2.4-.5.4H6c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h12c.3 0 .5.2.5.4v1zm0-3.7c0 .3-.2.4-.5.4h-4.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5v.9zm0-3.7c0 .3-.2.4-.5.4h-4.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5v.9z"}},desktop:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 2.8c0-1-.9-1.9-1.9-1.9H2.8C1.8.9.9 1.8.9 2.8v12c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8v-12zm-2.8 10.4c0 .3-.3.6-.7.6H4.4c-.4 0-.7-.3-.7-.6V4.4c0-.4.3-.7.7-.7h15.2c.4 0 .7.3.7.7v8.8zm-5.1 7.1h-1.4c-.2 0-.4-.2-.4-.5v-.9c0-.3-.2-.4-.5-.4h-1.8c-.3 0-.5.1-.5.4v.9c0 .3-.2.5-.4.5H8.8c-1 0-1.9.8-1.9 1.9v.2c0 .4.3.7.7.7h8.8c.4 0 .7-.3.7-.7v-.2c0-1.1-.9-1.9-1.9-1.9z"}},desktop_console:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.2 20.3h-1.4c-.2 0-.4-.2-.4-.5v-.9c0-.3-.2-.4-.5-.4h-1.8c-.3 0-.5.1-.5.4v.9c0 .3-.2.5-.4.5H8.8c-1 0-1.9.8-1.9 1.9v.2c0 .4.3.7.7.7h8.8c.4 0 .7-.3.7-.7v-.2c0-1.1-.9-1.9-1.9-1.9zm6-19.4H2.8C1.8.9.9 1.8.9 2.8v12c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8v-12c0-1-.9-1.9-1.9-1.9zM3.7 13.2V4.4c0-.4.3-.7.7-.7h2.8v10.1H4.4c-.4 0-.7-.3-.7-.6zm16.6 0c0 .3-.3.6-.7.6H9.9V3.7h9.7c.4 0 .7.3.7.7v8.8z"}},dialing:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M22.4 17.5l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.7 2.4 9.1 5.5 12.3s7.6 5.2 12.3 5.5c.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6z"},{d:"M19.4 11.3c.5-.8.9-1.7.9-2.8-.1-2.6-2.3-4.8-4.9-4.8-1 0-2 .3-2.8.9l-2-2.1c1.3-1 3-1.6 4.8-1.6C19.6.9 23 4.3 23 8.6c0 1.8-.6 3.4-1.6 4.7l-2-2z"}],circle:{cx:"15.415",cy:"8.492",r:"2.077"}}},dislike:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.5 13.6V4.2c0-1.1-.8-1.9-1.8-1.9H2.5c-.3 0-.7.3-.7.7v10.6c0 .4.4.7.7.7h2.3c.4 0 .7-.3.7-.7zM22.2 12V6.2c0-4-3.2-4.4-6.7-4.4-3.3 0-4.3 1.3-7.5 1.4-.3 0-.6.4-.6.7v9.3c0 .3.3.6.7.6 2.2 0 3.9 2.4 3.9 4.9v2.8c0 .3.3.7.7.7h1.1c1.1 0 1.9-.9 1.9-1.9v-4.6c0-1 .8-1.9 1.8-1.9h2.8c1 0 1.9-.8 1.9-1.8z"}},display_rich_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M1.9 19.9h20.3c.4 0 .7.3.7.7v1.5c0 .4-.3.7-.7.7H1.9c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.7.7-.7zm0-6.5h20.3c.4 0 .7.3.7.7v1.5c0 .4-.3.7-.7.7H1.9c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.7.7-.7zm12.9-6.5h7.4c.4 0 .7.3.7.7V9c0 .5-.3.8-.7.8h-7.4c-.4 0-.8-.3-.8-.8V7.6c0-.4.4-.7.8-.7zM11.1 10L7.7 1.5c-.1-.1-.2-.3-.4-.3H4.7c-.2 0-.4.1-.4.3L1.2 10c-.1.1 0 .3.2.3H3c.2 0 .4-.1.4-.2l.7-1.8h4l.7 1.8c0 .1.2.2.3.2h1.7c.2 0 .4-.1.3-.3zM4.8 6l1.1-2.6h.2L7.3 6H4.8z"}},display_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.1 1.2H4C2.4 1.2 1.2 2.4 1.2 4v16c0 1.6 1.2 2.8 2.8 2.8h16c1.6 0 2.8-1.2 2.8-2.8V4c.1-1.6-1.2-2.8-2.7-2.8zM4.9 5.9c0-.5.4-1 .9-1h10.6c.5 0 .9.5.9 1v.9c0 .5-.4 1-.9 1H5.8c-.5 0-1-.5-1-1v-.9zM16 18.1c0 .5-.4 1-.9 1H5.9c-.5 0-1-.5-1-1v-.9c0-.5.5-.9 1-.9h9.2c.5 0 .9.4.9.9v.9zm3.1-5.6c0 .5-.4.9-.9.9H5.9c-.5 0-1-.4-1-.9v-1c0-.5.5-.9 1-.9h12.2c.5 0 1 .4 1 .9v1z"}},dock_panel:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M.9 16.2v-12C.9 2.4 2.3.9 4.1.9h12c1.8 0 3.2 1.5 3.2 3.3v1.3h-2.7V4.2c0-.3-.2-.5-.5-.5h-12c-.3 0-.5.2-.5.5v12c0 .2.2.4.5.4h1.4v2.8H4.1C2.3 19.4.9 18 .9 16.2zm20.3-8.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12c0-1-.8-1.8-1.8-1.8zM19.3 19c0 .2-.1.4-.4.4h-5.3c-.3 0-.5-.2-.5-.4v-.9c0-.2.2-.4.5-.4h2.2c.3 0 .4-.3.2-.5l-4.8-4.8c-.2-.1-.2-.4 0-.6l.6-.6c.2-.1.4-.1.6 0l4.8 4.8c.2.2.4.1.4-.2v-2.2c0-.2.3-.4.5-.4h.9c.2 0 .3.2.3.4V19z"}},down:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.8 6.5h16.4c.4 0 .8.6.4 1l-8 9.8c-.3.3-.9.3-1.2 0l-8-9.8c-.4-.4-.1-1 .4-1z"}},download:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 14.3H21c-.4 0-.7.3-.7.7v4.6c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V15c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6.2c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V15c0-.4-.3-.7-.7-.7zm-10.9 3.1c.3.2.7.2 1 0l6.2-6.3c.3-.3.3-.7 0-.9l-.9-1c-.3-.3-.7-.3-1 0l-2.6 2.6c-.3.2-.8.1-.8-.4V1.6c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.8c0 .4-.5.6-.8.3L7.2 9.1c-.2-.2-.6-.2-.9 0l-1 1.1c-.3.2-.3.6 0 .9l6.2 6.3z"}},drag:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.3 15.8c0 .9-1.1 1.2-1.5.5l-.9-2c-.5-.9-1.7-1.1-2.5-.5l-.6.5 3.1 7.3c.1.3.5.5.8.5h8.2c.4 0 .7-.3.8-.6l1.4-5.2c.4-1.4-.4-2.8-1.7-3.3l-3.7-1.2c-5.2-1.9-3.5 3.8-3.4 4zM.8 13.2h2.7v2.6H.8zM6.6 1.8h2.7v2.7H6.6zm0 17.6h2.7v2.7H6.6zM.8 7.3h2.7V10H.8zm0-5.4h2.7v2.7H.8zm11.7-.1h2.7v2.7h-2.7zm5.9 0H21v2.7h-2.6zM.8 19.4h2.7v2.7H.8zM18.4 7.8H21v2.6h-2.6z"}},drag_and_drop:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.2 1.8c1 0 1.9.9 1.9 1.9s-.9 1.8-1.9 1.8-1.8-.8-1.8-1.8.8-1.9 1.8-1.9zm5.6 0c1 0 1.8.9 1.8 1.9s-.8 1.8-1.8 1.8-1.9-.8-1.9-1.8.9-1.9 1.9-1.9zM9.2 7.4c1 0 1.9.8 1.9 1.8s-.9 1.9-1.9 1.9-1.8-.9-1.8-1.9.8-1.8 1.8-1.8zm5.6 0c1 0 1.8.8 1.8 1.8s-.8 1.9-1.8 1.9-1.9-.9-1.9-1.9.9-1.8 1.9-1.8zm-5.6 5.5c1 0 1.9.9 1.9 1.9s-.9 1.8-1.9 1.8-1.8-.8-1.8-1.8.8-1.9 1.8-1.9zm5.6 0c1 0 1.8.9 1.8 1.9s-.8 1.8-1.8 1.8-1.9-.8-1.9-1.8.9-1.9 1.9-1.9zm-5.6 5.6c1 0 1.9.8 1.9 1.8s-.9 1.9-1.9 1.9-1.8-.9-1.8-1.9.8-1.8 1.8-1.8zm5.6 0c1 0 1.8.8 1.8 1.8s-.8 1.9-1.8 1.9-1.9-.9-1.9-1.9.9-1.8 1.9-1.8z"}},dynamic_record_choice:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.6 19.8v-.1c-3.3-1.1-5.7-4.1-5.7-7.7 0-4.4 3.7-8.1 8.1-8.1s8.1 3.7 8.1 8.1c0 .7-.1 1.5-.3 2.2.1.1.2.1.3.2h.4c.8 0 1.5.2 2.1.5.2-.9.4-1.9.4-2.9-.1-6.1-5-11-11-11S1 5.9 1 12c0 5.8 4.5 10.5 10.2 10.9-.9-.7-1.6-1.8-1.6-3.1zm4.8-6.5c.7 0 1.4.2 2 .5.1-.1.3-.1.4-.1.2-.5.3-1.1.3-1.7 0-2.8-2.2-5.1-5.1-5.1S7 9.2 7 12c0 2.3 1.4 4.2 3.5 4.8.2-2 1.9-3.5 3.9-3.5zm1.8 2.7c.4-.4.9-.6 1.5-.6.8 0 1.5.4 1.8 1 .3-.1.7-.2 1-.2 1.4 0 2.5 1.1 2.5 2.4 0 1.3-1.1 2.4-2.5 2.4h-.4c-.3.6-.9.9-1.6.9-.3 0-.5-.1-.8-.2-.3.8-1 1.3-1.9 1.3-.9 0-1.6-.6-1.9-1.4-.1 0-.3.1-.4.1-1.1 0-2-.8-2-1.9 0-.7.4-1.3 1-1.7-.1-.2-.2-.5-.2-.8 0-1.2 1-2.3 2.2-2.3.7.1 1.3.5 1.7 1z"}},edit:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.4 15.4l4.1 4.1c.2.2.5.2.6 0L19.4 9.2c.2-.2.2-.4 0-.6l-4.1-4.1c-.2-.2-.4-.2-.6 0L4.4 14.8c-.2.2-.2.5 0 .6zM16.7 2.6c-.2.2-.2.5 0 .7l4 4c.2.2.5.2.7 0l1.1-1.1c.8-.7.8-1.8 0-2.6l-2.1-2.1c-.8-.8-1.9-.8-2.7 0l-1 1.1zM1 22.2c-.1.5.3.9.8.8l5-1.2c.2 0 .3-.1.4-.2l.1-.1c.1-.1.1-.4-.1-.6l-4.1-4.1c-.2-.2-.5-.2-.6-.1l-.1.1c-.1.1-.2.3-.2.4l-1.2 5z"}},edit_form:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.5 7.1h3.8c.3 0 .5-.3.5-.5s-.1-.3-.2-.4l-4.7-4.7c-.1-.1-.2-.1-.3-.1-.3 0-.5.2-.5.5v3.7c0 .8.6 1.5 1.4 1.5zm8.3 4.8l-.4-.5c-.2-.2-.7-.2-1 0l-5.5 5.5v1.3c0 .1 0 .2.1.2h1.4l5.4-5.5c.4-.3.4-.8 0-1zm-4.4 8.6h-3.3c-.7 0-1.3-.6-1.3-1.3v-2.5c0-.4.1-.8.4-1l4.4-4.4c.1-.1.2-.3.2-.5v-.9c0-.4-.3-.7-.7-.7h-5c-1.2 0-2.2-1-2.2-2.1v-5c0-.4-.3-.7-.7-.7H3C1.9 1.4.9 2.4.9 3.5v17c0 1.1 1 2.1 2.1 2.1h13.6c1 0 2-.7 2.1-1.7.1-.2-.1-.4-.3-.4zM3.8 7.8c0-.4.3-.7.7-.7h2.8c.5 0 .7.3.7.7v.6c0 .4-.3.7-.7.7H4.5c-.4 0-.7-.3-.7-.7v-.6zm7.1 9.1c0 .4-.3.7-.7.7H4.5c-.4 0-.7-.3-.7-.7v-.7c0-.3.3-.6.7-.6h5.7c.4 0 .7.3.7.6v.7zm1.5-4.2c0 .4-.4.7-.7.7H4.5c-.4 0-.7-.3-.7-.7V12c0-.4.3-.7.7-.7h7.1c.4 0 .7.3.7.7v.7z"}},education:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.9 12.3c-.5.1-1.1-.2-1.6-.3-2.9-1-5.9-2-8.8-3-.2 0-.3-.1-.4-.2-.2-.2-.2-.4 0-.5.1-.1.3-.2.5-.3 3.1-.9 6.2-1.8 9.3-2.8.7-.2 1.5-.2 2.2 0L22.4 8c.2.1.4.1.5.3.3.1.3.3 0 .5-.1.1-.2.2-.4.2-3.1 1-6.2 2.1-9.3 3.1-.5.2-.8.2-1.3.2zm-6.1.2c-.5-.1-.6.1-.6.4v3.5c0 .4.2.6.4.9.1.1.3.2.4.3.7.5 1.6.8 2.4 1 1.8.5 3.6.6 5.4.4 1.1-.2 2.3-.5 3.3-1 .5-.2.9-.4 1.3-.8.2-.2.3-.4.2-.8.1-1.1.1-2.2.1-3.4 0-.6-.5-.5-.7-.5-1.6.6-3.3 1.1-4.9 1.6-.8.3-1.6.3-2.4 0l-4.9-1.6zm15.4-1.1c-.2 0-.2.1-.2.3v3.1c0 .1 0 .2-.1.3-.2.6-.5 1.1-.6 1.7-.2.5-.1 1.1.2 1.4.1.2.3.3.5.4.1.1.3.2.5.2.3.1.6-.1.8-.3.1-.1.3-.2.4-.3.2-.4.3-.8.2-1.3-.1-.6-.4-1.2-.7-1.7-.1-.1-.1-.3-.1-.4v-3.4c0-.2-.2-.2-.3-.1l-.6.1z"}},einstein:{xmlns:"http://www.w3.org/2000/svg",path:[{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M23 13.2c-.4-1.2-.9-2-1.5-2.6-.5-.6-2-1.5-2.8-1.8.2-.4.7-.6 1.4-.7-.1-.5-.5-1-1.4-1.5-.9-.6-2.1-.7-3.6-.4 0-.6-.4-1.5-1.2-3C12.8 1.1 8.3.4 8.3 1.4c.4 1.2.6 2.8.7 4.7-.6-.6-1.2-1-1.8-1.2-.6-.1-1-.2-1.5-.1h-.1c-.2.1-.2.4-.1.5.3.4.5.7.5.8.1.3.3.7.6 1.2-.7-.1-1.6.2-2.8.7-1.1.6-2 1.8-2.8 3.8v.1c0 .2.1.3.2.4 1.1.2 1.8.3 2.2.6.5.2 1 .7 1.6 1.4-.2 0-.6.2-1.2.7-.5.4-.8 1.1-1.1 2v.1c0 .2.1.3.3.3.8 0 1.6.2 2.3.4.8.3 1.5.6 1.9.9V16c0-.6 0-1.1.6-1.9.7-.8 1.3-1 2.9-.4s3.2-.6 4.5-.3c1.4.3 2.1 1.7 2.2 2.7.2.9 0 1.4 0 2.6v.2h.1c.7-.4 1.1-.6 1.6-.9.4-.1 1-.3 1.8-.6-.1-.5-.5-.9-1.2-1.3.2-.1 1.3-.8 1.9-1.3.4-.3.8-.7 1.4-1.3.1 0 .1-.2 0-.3z"},{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M10.6 19.6c-.4-.2-1.1-.1-1.5.1-.3.1-.8.7-.8 1.2s.1.8.2 1c.1.2.2.3.4.5.1.1.1.1.2.1l.7-.1 1.4.6c0 .1.1.1.2 0l1.5-.6.8.1h.1c.4-.3.6-.6.8-.9.2-.6 0-1.4-.5-1.8-.4-.4-1-.6-1.7-.3-.5.2-.9.3-1.1.3-.2 0-.4-.1-.7-.2z"}],ellipse:[{"fill-rule":"evenodd","clip-rule":"evenodd",cx:"13.523",cy:"17.723",rx:".692",ry:"1.015"},{"fill-rule":"evenodd","clip-rule":"evenodd",cx:"9.554",cy:"17.723",rx:".692",ry:"1.015"}]},email:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.5 13.9c.3.3.7.3 1 0l10.4-9.7c.2-.4.1-1-.6-1l-20.6.1c-.6 0-1.1.5-.6.9l10.4 9.7zM23.1 8c0-.5-.6-.8-.9-.4L14 15.1c-.6.5-1.3.8-2 .8s-1.4-.3-2-.8L1.9 7.6c-.4-.4-.9-.1-.9.4C.9 7.8.9 18.5.9 18.5c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V8z"}},email_open:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.1 13c0-.4-.4-.6-.7-.4l-6.8 6.3c-.4.4-1 .6-1.6.6s-1.2-.2-1.7-.6l-6.7-6.3c-.3-.2-.8 0-.8.4v8.3c0 .8.7 1.5 1.5 1.5h15.3c.8 0 1.5-.7 1.5-1.5V13zM21 9.5c.1-.1.2-.2.2-.3 0-.1-.1-.2-.2-.3l-8.6-8c-.3-.2-.6-.2-.8 0L3 8.9s0 .1-.1.1v.1c0 .2 0 .3.1.4l8.5 7.9c.3.2.6.2.8 0L21 9.5c0 .1 0 0 0 0z"}},emoji:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 12c0 6.1-5 11.1-11.1 11.1S.9 18.1.9 12 5.9.9 12 .9s11.1 5 11.1 11.1zM8.4 7.3c-1.1 0-1.9.9-1.9 2s.8 2 1.9 2 2-.9 2-2-.8-2-2-2zm7.2 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-.1 7.7c-.9.8-2.2 1.3-3.5 1.3-1.3 0-2.5-.5-3.5-1.3l-.4-.3c-.1-.1-.2-.2-.5-.2-.5 0-.9.5-.9.9 0 .2.1.5.3.7l.3.2c1.3 1.1 2.9 1.8 4.7 1.8 1.8 0 3.5-.7 4.7-1.8l.2-.2c.2-.2.3-.5.3-.7 0-.5-.4-.9-.9-.9-.2 0-.4.1-.5.2l-.3.3z"}},end_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 2.6l-1-1c-.3-.3-.8-.2-1.1.2L9.5 12.6 7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.2 2 8.3 4.6 11.3l-3.6 3.7c-.4.3-.4.8-.2 1.1l1 1c.3.3.8.2 1.1-.2L22.2 3.7c.4-.3.5-.8.2-1.1zm0 14.9l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-1.1-1-3.9 4c2.8 1.8 6.1 3.1 9.6 3.3.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6z"}},end_chat:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.4 18.7c0-4 3.3-7.3 7.3-7.3.7 0 1.4 0 2 .2.1-.5.1-.9.1-1.4 0-5.1-4.5-9.2-9.9-9.2C5.4 1 1 5.1 1 10.1c0 1.5.5 3 1.2 4.3.2.2.2.5.1.7L1 18.6c-.1.4.2.6.6.6l3.5-1.4c.2-.1.5 0 .7.1 1.5.8 3.3 1.3 5.2 1.3h.4v-.5zm4.5-10.3c.9 0 1.6.8 1.6 1.7s-.7 1.7-1.6 1.7-1.7-.8-1.7-1.7.8-1.7 1.7-1.7zM6 11.7c-1 0-1.7-.7-1.7-1.6S5 8.4 6 8.4s1.6.7 1.6 1.7-.8 1.6-1.6 1.6zm4.9 0c-.9 0-1.7-.7-1.7-1.6s.8-1.7 1.7-1.7 1.7.7 1.7 1.7-.8 1.6-1.7 1.6zm3.7 4.3l2.8 2.7-2.8 2.8c-.2.3-.2.7 0 1l.4.3c.2.3.7.3.9 0l2.8-2.8 2.8 2.8c.2.3.7.3.9 0l.4-.3c.2-.3.2-.8 0-1L20 18.7l2.8-2.7c.2-.3.2-.8 0-1l-.4-.3c-.2-.3-.7-.3-.9 0l-2.8 2.7-2.8-2.7c-.3-.3-.7-.3-.9 0l-.4.3c-.2.2-.2.7 0 1z"}},end_messaging_session:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.4 18.7c0-1.3.3-2.5.9-3.5h-1.1c-.2 0-.4-.2-.4-.4v-4.2c0-.3.2-.4.4-.4h4.3c.2 0 .3.1.3.4V12c.9-.4 1.9-.6 2.9-.6.7 0 1.4 0 2 .2.1-.5.1-1 .1-1.5C20.8 5 16.4 1 10.9 1S1 5 1 10c0 1.6.5 3.1 1.2 4.4.2.2.2.5.1.7L1 18.6c-.1.3.2.6.6.6l3.5-1.4c.2-.1.5-.1.7.1 1.5.8 3.3 1.3 5.2 1.3h.4v-.5zM5.9 5.6c0-.2.1-.3.4-.3h9.2c.2 0 .3.1.3.3v2.2c0 .2-.2.3-.4.3H6.3c-.3 0-.4-.1-.4-.3V5.6zm2.9 9.2c0 .2-.2.4-.4.4H6.2c-.2 0-.3-.2-.3-.4v-4.2c0-.3.1-.4.3-.4h2.2c.2 0 .4.1.4.4v4.2zm5.9 1.2l2.7 2.7-2.7 2.8c-.3.3-.3.7 0 1l.3.3c.3.3.7.3 1 0l2.7-2.8 2.8 2.8c.3.3.7.3 1 0l.3-.3c.3-.3.3-.8 0-1L20 18.7l2.8-2.7c.3-.3.3-.8 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.7-2.7-2.7c-.3-.3-.8-.3-1 0l-.3.3c-.3.3-.3.7 0 1z"}},erect_window:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 3c0 .4-.3.7-.7.7H1.6c-.4 0-.7-.3-.7-.7V1.6c0-.4.3-.7.7-.7h20.8c.4 0 .7.3.7.7V3z"}},error:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zM3.7 12c0-4.6 3.7-8.3 8.3-8.3 1.8 0 3.5.5 4.8 1.5L5.2 16.8c-1-1.3-1.5-3-1.5-4.8zm8.3 8.3c-1.8 0-3.5-.5-4.8-1.5L18.8 7.2c1 1.3 1.5 3 1.5 4.8 0 4.6-3.7 8.3-8.3 8.3z"}},event:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.5 9.2h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zM8.8 19.4c0 .3-.2.4-.5.4H6.5c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4H6.5c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm4.6 4.6c0 .3-.2.4-.5.4h-1.8c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4h-1.8c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm4.6 4.6c0 .3-.2.4-.5.4h-1.8c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4h-1.8c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm2.3-11.6H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9z"}},events:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.1 4.2C2 6.2.9 9 .9 11.8c0 .7.5 1.1 1.1 1.1s1.1-.5 1.1-1.1c0-2.2.9-4.4 2.5-6s3.9-2.5 6.1-2.5c.6 0 1.1-.5 1.1-1.1 0-.7-.5-1.1-1.1-1.1-2.8-.1-5.6 1-7.6 3.1zm1.3 7.6c0 .7.5 1.1 1.1 1.1s1.1-.5 1.1-1.1c0-1 .4-2.1 1.2-2.8.8-.8 1.8-1.2 2.9-1.2.6 0 1.1-.6 1.1-1.2s-.5-1.1-1.1-1.1c-1.7 0-3.3.7-4.5 1.8-.2.3-1.9 2-1.8 4.5zM21 7c-.4-.5-1-1.2-1.1-1.3-.1-.1-.3-.2-.5-.2s-.3.1-.4.2l-4.7 4.6c-1.1-.9-2.8-.8-3.8.2-1.1 1.1-1.1 2.7-.2 3.9l-4.5 4.4c-.1.2-.2.4-.2.5 0 .3.1.5.3.6l1.2 1c1.7 1.3 3.8 2 6.1 2 5.4 0 9.9-4.4 9.9-9.8 0-2.3-.8-4.4-2.1-6.1z"}},expand:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.5.9h-7.1c-.5 0-.6.4-.3.8L17.4 4l-4.2 4.1c-.2.3-.2.6 0 .9l1.8 1.7c.2.2.6.2.8 0L20 6.5l2.3 2.3c.4.3.8.2.8-.3V1.4c0-.2-.3-.5-.6-.5zM1.6 23.1h7.1c.5 0 .6-.5.3-.9l-2.3-2.3 4.1-4.2c.3-.2.3-.7 0-.9l-1.7-1.7c-.2-.2-.6-.2-.8 0l-4.2 4.2L1.8 15c-.4-.4-.9-.2-.9.2v7.1c0 .4.4.8.7.8zm21.5-.6v-7.1c0-.5-.4-.6-.8-.3L20 17.4l-4.1-4.2c-.3-.2-.6-.2-.9 0L13.3 15c-.2.2-.2.6 0 .8l4.2 4.2-2.3 2.3c-.3.4-.2.8.3.8h7.1c.2 0 .5-.3.5-.6zM.9 1.6v7.1c0 .5.5.6.9.3l2.3-2.3 4.2 4.1c.2.3.7.3.9 0l1.7-1.7c.2-.2.2-.6 0-.8L6.7 4.1 9 1.8c.4-.4.2-.9-.2-.9H1.7c-.4 0-.8.4-.8.7z"}},expand_all:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 4.4c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7V4.4zm0 13.8c0-.3-.4-.7-.7-.7h-19c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7v-1.4zm-8.4-4.8h2.1c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7h-2.1c-.2 0-.4-.2-.4-.4V8.1c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v2.1c0 .2-.2.4-.4.4H8.1c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h2.1c.2 0 .4.2.4.4v2.1c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7v-2.1c0-.2.2-.4.4-.4z"}},expand_alt:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.5.9h-7.1c-.5 0-.6.4-.3.8L17.4 4l-4.2 4.1c-.2.3-.2.6 0 .9l1.8 1.7c.2.2.6.2.8 0L20 6.5l2.3 2.3c.4.3.8.2.8-.3V1.4c0-.2-.3-.5-.6-.5zM1.6 23.1h7.1c.5 0 .6-.5.3-.9l-2.3-2.3 4.1-4.2c.3-.2.3-.7 0-.9l-1.7-1.7c-.2-.2-.6-.2-.8 0l-4.2 4.2L1.8 15c-.4-.4-.9-.2-.9.2v7.1c0 .4.4.8.7.8z"}},fallback:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.9 1.6l-1.4 6.8c0 .2.2.4.5.4h7.2c.5 0 .8.6.6 1l-7.9 12.9c-.3.7-1.3.4-1.3-.3l1.4-8c0-.2-.2-.1-.5-.1H3.9c-.5 0-.9-.8-.6-1.2l8.3-11.8c.4-.6 1.3-.4 1.3.3z"}},favorite:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.6 1.4l2.2 7c.1.2.3.4.6.4h6.9c.7 0 1 .9.5 1.3l-5.7 4.2c-.2.1-.3.5-.2.7l2.7 7.2c.2.6-.5 1.2-1.1.7l-6-4.5c-.3-.2-.6-.2-.9 0l-6.1 4.5c-.5.5-1.3-.1-1-.7L7.1 15c.1-.2 0-.6-.3-.7l-5.6-4.2c-.6-.4-.2-1.3.4-1.3h6.9c.4 0 .6-.1.7-.4l2.2-7c.1-.7 1.1-.6 1.2 0z"}},feed:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.6 19.8c-.1 0-.3 0-.5-.1-.3-.1-.5-.5-.5-.7L7.9 8.3l-2.2 5.1c-.2.4-.5.6-.9.6H1.6c-.4 0-.7-.2-.7-.6v-.7c0-.4.3-.7.7-.7H4l3.2-7.2c.2-.4.6-.7 1.1-.6.4 0 .8.3.9.7l2.7 10.8 3.7-7.9c.1-.4.6-.6 1-.6.3.1.7.4.9.7l1.8 4.1h3.1c.4 0 .7.4.7.7v.7c0 .4-.3.7-.7.7h-3.8c-.4 0-.7-.3-.9-.6l-1.2-2.7-3.9 8.5c-.2.3-.5.5-1 .5z"}},file:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.5 16.7V5.2c-1.2 0-2.2 1-2.2 2.1v13.6c0 1.2 1 2.2 2.2 2.2h10.7c1.2 0 2.2-1 2.2-2.1H8.8c-2.4 0-4.3 0-4.3-4.3zM21 7.3h-3.6c-1.2 0-2.2-.9-2.2-2.1V1.6c0-.4-.3-.7-.7-.7H8.8C7.6.9 6.6 1.9 6.6 3v13.6c0 1.2 1 2.1 2.2 2.1h10.7c1.2 0 2.2-.9 2.2-2.1V8.1c0-.4-.3-.8-.7-.8zm.6-3l-3.4-3.2c-.1-.1-.2-.2-.3-.2-.3 0-.5.3-.5.5v2.4c0 .8.6 1.4 1.4 1.4h2.4c.3 0 .5-.2.5-.5 0-.1-.1-.2-.1-.4z"}},filter:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.3 14.7c-.3-.3-.7-.3-1 0l-1.7 1.6c-.2.3-.8.1-.8-.3V9.9c0-.3-.3-.7-.6-.7H5.8c-.4 0-.7.4-.7.7V16c0 .4-.5.6-.8.3l-1.7-1.6c-.2-.3-.7-.3-.9 0l-1.1 1c-.2.3-.2.7 0 1L6 22c.2.2.6.2.9 0l5.4-5.4c.3-.3.3-.7 0-1l-1-.9zM23.5 4.4c0-.4-.3-.7-.7-.7h-17c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h17c.4 0 .7-.4.7-.7V4.4zm0 5.5c0-.3-.3-.7-.7-.7H10.4c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h12.4c.4 0 .7-.3.7-.7V9.9zm0 5.6c0-.4-.3-.7-.7-.7H15c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-1.3z"}},filterlist:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.3 1.8H1.8c-.7 0-1 .8-.6 1.3l9 10.5c.2.3.4.8.4 1.2v6.7c0 .3.3.7.7.7h1.4c.4 0 .6-.4.6-.7v-6.7c0-.4.2-.9.5-1.2l9.1-10.5c.4-.5.1-1.3-.6-1.3z"}},flow:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23 4.9c-.9-1.9-3.4-5.4-7.9-3.3-2.8 1.3-4.4 2-4.4 2L6.6 5.4c-1.1.5-3.6-.3-5-.8-.4-.1-.8.3-.6.7.9 1.9 3.4 5.4 7.9 3.3 2.8-1.3 8.5-3.7 8.5-3.7 1.1-.6 3.6.2 5 .7.4.1.8-.3.6-.7zm-9.7 5.9c-.5.3-2.5 1.2-2.5 1.2l-2.1.9c-1 .5-3.2-.2-4.5-.7-.3-.2-.6.3-.5.6.9 1.9 3 5.2 7 3.2 2.5-1.3 4.6-2.1 4.6-2.1 1-.6 3.2.2 4.5.7.3.1.6-.3.5-.7-.9-1.8-3-5.1-7-3.1zM11.8 19c-.4.2-1.1.6-1.1.6-.8.5-2.4-.1-3.4-.6-.2-.1-.5.3-.3.7.6 1.6 2.2 4.6 5.2 2.8l1.1-.7c.8-.4 2.4.2 3.4.6.2.2.5-.2.3-.6-.6-1.7-2.1-4.5-5.2-2.8zm.2-7.4"}},food_and_drink:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.9 11.1c-.5 3.6-3.4 6-6 6H7.4c-2.8 0-6-2.8-6-6.9V3.7c0-.5.4-.9.9-.9h18c1.5 0 2.8 1.2 2.8 2.7v2.8c0 1.5-1.3 2.8-2.8 2.8h-1.4zM18 2.8zm.7 15.7c.4 0 .7.3.7.6v.1c0 1.1-.9 2-2.1 2H3c-1.2 0-2.1-.9-2.1-2v-.1c0-.3.3-.6.7-.6h17.1zm.2-13.4v3.7h.9c.6 0 1-.4 1-1V6c0-.5-.4-.9-1-.9h-.9z"}},form_factor_support:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M23.1 9.5c0-.6-.5-1.1-1-1.1h-6.5c-.6 0-1.1.5-1.1 1.1v10.9c0 .6.5 1 1.1 1h6.5c.5 0 1-.4 1-1V9.5z"},{d:"M12.8 13.6H3.9c-.3 0-.6-.4-.6-.6V5.5c0-.3.3-.6.6-.6h12.9c.4 0 .6.3.6.6v1.1h2.4V4.2c0-.9-.7-1.6-1.6-1.6H2.5c-.8 0-1.6.7-1.6 1.6v10.2c0 .8.8 1.6 1.6 1.6h10.3v-2.4zm0 6.8V19h-.9c-.2 0-.4-.2-.4-.4v-.8c0-.2-.2-.4-.4-.4H9.5c-.2 0-.4.2-.4.4v.8c0 .2-.2.4-.4.4H7.5c-.9 0-1.6.8-1.6 1.6v.2c0 .3.3.6.6.6H13c-.2-.3-.2-.6-.2-1z"},{d:"M21.6 18.6c0 .1-.2.4-.5.4h-4.7c-.2 0-.4-.2-.4-.4v-7.8c0-.1.2-.4.4-.4h4.7c.2 0 .5.2.5.4v7.8z"}],circle:{cx:"18.831",cy:"20.215",r:".738"}},formula:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.9 1.5c-.3-.3-.8-.4-1.4-.4H12c-1.6.2-2.6 1.8-3.3 3.1-.3.7-.5 1.4-.8 2.1l-.3.9c0 .1-.2.7-.3.7H5.7c-.3 0-.4.2-.4.5s.1.4.4.4h1.4l-.8 3.4c-.8 3.8-1.8 8.2-2.1 9-.3.8-.6 1.2-1.2 1.2 0 0-.1 0-.2-.1l-.1-.1c0-.1.1-.2.2-.4.1-.1.1-.3.1-.4 0-.4-.1-.6-.3-.8-.2-.2-.4-.2-.7-.2s-.5 0-.8.2c-.2.2-.3.5-.3.8 0 .5.2.8.6 1.2.3.3.8.4 1.4.4 1 0 1.9-.4 2.5-1.2.5-.4.7-1 1-1.6.8-1.8 1.3-3.8 1.7-5.7.5-1.9.9-3.8 1.4-5.8h1.6c.2 0 .4-.2.4-.4s-.2-.5-.4-.5H9.6c.8-3 1.8-5.1 1.9-5.4.4-.5.7-.8 1-.8.1 0 .2.1.3.1v.2s0 .1-.1.3c-.1.2-.1.4-.1.6 0 .2 0 .4.2.6.2.2.4.3.7.3s.5-.1.7-.3c.2-.2.3-.4.3-.8 0-.5-.1-.8-.6-1.1zm7.4 9.2c.6 0 1.7-.5 1.7-2s-1.1-1.6-1.4-1.6c-.7 0-1.3.5-1.9 1.5-.6 1-1.3 2.2-1.3 2.2-.1-.8-.3-1.4-.3-1.7-.1-.6-.9-2-2.4-2s-2.9.9-2.9.9c-.3.2-.4.4-.4.8 0 .5.4.9.9.9.1 0 .3-.1.4-.1 0 0 1.2-.6 1.4 0 .1.2.1.4.2.6.3 1.1.5 2.2.8 3.3L15 14.9s-1.1-.4-1.7-.4-1.7.5-1.7 2 1.1 1.6 1.4 1.6c.7 0 1.4-.5 2-1.5.6-1 1.2-2.2 1.2-2.2.2 1 .4 1.8.5 2.1.3 1 1.2 1.7 2.4 1.7 0 0 1.2 0 2.6-.8.4-.1.6-.5.6-.9 0-.5-.4-.9-.9-.9-.1 0-.3 0-.4.1 0 0-1 .5-1.3.1-.3-.4-.5-1.1-.6-1.8-.2-.7-.4-1.5-.5-2.3l1-1.5c0 .1 1.1.5 1.7.5z"}},forward:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M1.6 13.4h15.3c.4 0 .6.5.3.8l-4.4 4.4c-.3.3-.3.7 0 1l1 1c.3.3.7.3 1 0l8-8.1c.3-.3.3-.7 0-1l-8-8.1c-.3-.3-.7-.3-1 0l-1 1c-.2.3-.2.7 0 1l4.5 4.4c.2.3.1.8-.4.8H1.6c-.4 0-.7.3-.7.7v1.3c0 .4.3.8.7.8z"}},forward_up:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.8 22.9L18.3 8.4c.4-.5 1.1-.1 1.1.4v8.4c0 .5.4.9.9.9h1.9c.6 0 1-.4 1-.9l-.1-15.3c0-.5-.4-.9-.9-.9H6.8c-.5 0-.9.4-.9.9v1.8c0 .5.4 1 .9 1h8.4c.6 0 .9.7.5 1.1L1.2 20.3c-.4.3-.4.9 0 1.2l1.2 1.3c.4.4 1 .5 1.4.1z"}},frozen:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M12.5 1.4c.2 0 .4.2.4.4V23c0 .3-.2.5-.4.5h-1c-.2 0-.4-.2-.4-.5V1.8c0-.2.2-.4.4-.4h1zM12 7.9L8.3 4.2c-.2-.2-.2-.5 0-.6l.6-.7c.2-.2.5-.2.7 0L12 5.4l2.4-2.5c.2-.2.5-.2.7 0l.6.7c.2.1.2.4 0 .6L12 7.9m0 9l3.7 3.8c.2.2.2.4 0 .6l-.6.7c-.2.2-.5.2-.7 0L12 19.5 9.6 22c-.2.2-.5.2-.7 0l-.6-.7c-.2-.2-.2-.4 0-.6l3.7-3.8"},{d:"M21.7 7.2c.2.2.1.5-.1.6L3.3 18.6c-.2.1-.5.1-.6-.2l-.5-.8c-.1-.2-.1-.5.2-.6L20.6 6.2c.3-.2.5-.1.7.2l.4.8zm-5.8 3L17.2 5c0-.2.2-.4.5-.3l.9.2c.3.1.4.3.3.6L18 8.9l3.4.8c.3.1.4.3.3.6l-.2.9c0 .2-.3.4-.5.3l-5.1-1.3m-7.8 4.5l-1.3 5.1c0 .3-.2.5-.5.4l-.9-.3c-.3 0-.4-.2-.3-.5L6 16l-3.4-.9c-.3 0-.4-.2-.3-.5l.2-.9c0-.3.3-.4.5-.3l5.1 1.3"},{d:"M2.7 6.4c.2-.2.4-.3.7-.2L21.6 17c.2.2.3.4.2.7l-.5.8c-.1.2-.4.3-.6.1L2.4 7.8c-.2-.1-.3-.4-.2-.6l.5-.8zm5.4 3.8L3 11.5c-.3 0-.5-.1-.6-.3l-.2-.9c0-.3.1-.5.3-.6l3.4-.8L5 5.5c0-.3.1-.5.4-.6l.8-.2c.3 0 .5.1.6.3l1.3 5.2m7.7 4.5l5.2-1.3c.2-.1.5 0 .5.3l.2.9c.1.3 0 .5-.3.5L18 16l.9 3.4c.1.3 0 .5-.3.5l-.9.3c-.3 0-.5-.1-.5-.4l-1.4-5.1"}]},fulfillment_order:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.2 16.8c.3 0 .7.1.9.2L7.2 2.9l-.5-1.4c-.1-.4-.6-.6-.9-.5L1.4 2.4c-.4.2-.6.6-.4 1l.4 1.4c.2.4.6.6 1 .4l2.2-.7 4.6 12.9c.6-.3 1.3-.6 2-.6zm7.8-3.3l-4.6 1.6c-.4.2-1-.1-1.1-.6L11.7 10c-.2-.5.1-1 .5-1.2l4.6-1.6c.5-.2 1 .1 1.2.6l1.6 4.5c.2.5-.1 1-.6 1.2zM14.7 6l-3.1 1c-.5.2-1-.1-1.2-.5l-1-3.1c-.2-.5.1-1 .5-1.2l3.1-1c.5-.2 1 0 1.2.5l1 3.1c.2.4 0 1-.5 1.2zM23 16.4l-.4-1.4c-.2-.4-.6-.6-1-.5l-8.4 2.9c.9.6 1.5 1.5 1.7 2.6l7.7-2.6c.4-.2.6-.6.4-1zM11.2 18c-1.4 0-2.5 1.2-2.5 2.6s1.1 2.5 2.5 2.5 2.6-1.1 2.6-2.5-1.2-2.6-2.6-2.6z"}},full_width_view:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 1.8H1.6c-.4 0-.7.4-.7.7v2.3c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V2.5c-.1-.3-.3-.7-.7-.7zM4.9 7.4H1.7c-.4 0-.7.3-.7.7v13.7c0 .4.3.7.7.7h3.2c.4 0 .7-.3.7-.7V8.1c0-.4-.3-.7-.7-.7zm17.5 0h-3.2c-.4 0-.7.3-.7.7v13.7c0 .4.3.7.7.7h3.2c.4 0 .7-.3.7-.7V8.1c0-.4-.3-.7-.7-.7zm-6.5 0H8.2c-.4 0-.7.3-.7.7v13.7c0 .4.3.7.7.7h7.7c.4 0 .7-.3.7-.7V8.1c0-.4-.3-.7-.7-.7z"}},global_constant:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M13.2 13c1.2-.9 2.5-1 3.4-1l3.2-.1h1c.4 0 .8-.1 1.2-.1h1c0-6-5-11-11-11s-11 5-11 11c0 5.3 3.8 9.8 8.7 10.8-.1-.4 0-.7.1-1.1.1-.6.5-1.1.9-1.5-1.2-1.2-2.2-3.8-2.3-7h2.5v2.9c.1-.2.1-.4.3-.6.4-.7.9-1.4 1.5-2 .1-.1.3-.1.3-.2l.2-.1zm7.5-2.2h-2.9c-.1-2.6-.7-4.9-1.6-6.6 2.5 1.3 4.2 3.8 4.5 6.6zm-7.6-7.2c1.3 1 2.4 3.7 2.5 7.2h-2.5V3.6zm-2.2 0v7.2H8.4c.1-3.5 1.2-6.2 2.5-7.2zM3.3 13h2.9c.1 2.6.7 4.9 1.6 6.6-2.5-1.3-4.2-3.8-4.5-6.6zm2.8-2.2H3.3C3.6 8 5.4 5.5 7.8 4.2c-.9 1.7-1.5 4-1.7 6.6zm5.3 8.5l.3-.3.4-.4c-.6-.3-1-.8-1.2-1.4v2.6c.2-.2.3-.4.5-.5z"},{d:"M22.9 13.8c-.1-.1-.1-.1-.2-.1-1 0-1.9.1-2.8.1h-3.3c-1 0-1.8.2-2.6.9-.4.5-.9 1.1-1.3 1.6-.1.1-.1.2-.1.3 0 .2.2.3.4.3s.2-.1.3-.2.3-.3.4-.5c.5-.5 1.2-.7 1.9-.6-.6 1.6-1.4 3.4-2.6 4.7-.4.5-1.3 1.1-1.5 1.8-.2.8.6 1 1.1.7.8-.2 1.2-1 1.6-1.7.5-.8.9-1.6 1.2-2.5.4-.8.8-1.7 1.1-2.5.2-.5.3-.5.8-.5h1.4l-1.5 3.6c-.4.9-1 2.2-.5 3.2.4 1 1.7.6 2.4.1s1.2-1.4 1.6-2.1c.1-.1.1-.3.1-.5-.1-.1-.2-.2-.4-.2-.3 0-.4.4-.5.7-.1.4-.6.7-1.1.6-1-.1-.1-2 .1-2.6.2-.5.4-1 .7-1.6.1-.2.2-.6.4-.9.2-.3.2-.3.6-.4.4 0 1.5.2 1.8 0 .3-.2.4-.9.5-1.3.1-.2.1-.3 0-.4z"}]},graph:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M.9 21c0 1 .9 1.8 1.9 1.8h19.5c.5 0 .8-.3.8-.7v-1.3c0-.4-.3-.7-.8-.7H4.4c-.4 0-.7-.3-.7-.7V1.9c0-.4-.3-.7-.7-.7H1.7c-.5 0-.8.3-.8.7V21zm22-14.5c0-.8-.6-1.4-1.3-1.4-.5 0-.8.2-1.1.4l-3.9 4-2.8-2.6-.1-.1s0-.1-.1-.1c0 0-.1 0-.1-.1h-.1-.2l-.1-.1h-.5c-.1 0-.1 0-.1.1H12.2c-.1.1-.1.1-.2.1v.1s-.1.1-.2.1l-5.2 5.3c-.3.3-.5.6-.5 1 0 .8.6 1.4 1.4 1.4.3 0 .6-.1.9-.3l4.5-4.5 2.6 2.6.1.1.1.1c.1 0 .1 0 .2.1h.1c0 .1.1.1.2.1s.2.1.3.1c.1 0 .2 0 .3-.1H17.1s0-.1.1-.1.1 0 .1-.1h.1l.1-.1 5-5c.3-.3.4-.6.4-1z"}},groups:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.3 12.9c-.6-.9-.9-2.1-.9-3.3 0-2.1.8-3.9 2.2-4.9-.4-.9-1.4-1.5-2.6-1.5-2 0-3.1 1.7-3.1 3.6 0 1 .3 1.9 1 2.5.3.3.7.8.7 1.3s-.2.9-1.4 1.4c-1.6.7-3.2 1.8-3.2 3.3 0 1 .7 1.8 1.7 1.8h1.5c.2 0 .4-.2.6-.4.7-1.3 2.1-2.2 3.3-2.8.4-.1.5-.7.2-1zm13.5-.9c-1.1-.5-1.3-.9-1.3-1.4s.3-1 .7-1.3c.7-.7 1-1.5 1-2.5 0-1.9-1.1-3.6-3.2-3.6-1.2 0-2.1.6-2.6 1.5 1.4 1 2.2 2.8 2.2 4.9 0 1.2-.3 2.4-.9 3.3-.3.4-.1.9.2 1 1.2.6 2.6 1.5 3.3 2.8.2.2.4.4.6.4h1.5c1 0 1.7-.8 1.7-1.8 0-1.5-1.5-2.6-3.2-3.3zm-5.7 3.4c-1.3-.6-1.5-1.1-1.5-1.6 0-.6.4-1.1.8-1.4.7-.7 1.2-1.7 1.2-2.8 0-2.1-1.3-3.9-3.6-3.9S8.5 7.5 8.5 9.6c0 1.1.5 2.1 1.2 2.8.4.4.8.9.8 1.4 0 .6-.2 1-1.5 1.6-1.8.8-3.6 1.6-3.6 3.3 0 1.1.8 2 1.8 2h9.6c1.1 0 1.9-.9 1.9-2 0-1.6-1.8-2.5-3.6-3.3z"}},help:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.1 17.5h-2.3c-.4 0-.6-.2-.6-.6v-.7c0-1.9 1.2-3.7 3-4.3.6-.2 1.1-.5 1.5-1 2.3-2.8.2-6.1-2.6-6.2-1 0-1.9.3-2.7 1-.6.6-1 1.3-1 2.1-.1.2-.4.5-.7.5H5.4c-.5 0-.8-.4-.7-.8.1-1.7.9-3.3 2.2-4.5C8.4 1.6 10.2.8 12.3.9c3.8.1 6.9 3.3 7.1 7.1.1 3.2-1.9 6.1-4.9 7.2-.4.2-.7.5-.7 1v.6c0 .5-.3.7-.7.7zm.7 4.9c0 .4-.3.7-.6.7h-2.4c-.3 0-.6-.3-.6-.7v-2.3c0-.4.3-.7.6-.7h2.4c.3 0 .6.3.6.7v2.3z"}},help_center:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.9.9C5.7 1 .9 6 .9 12.1c.1 6.2 5.1 11 11.2 11 6.2-.1 11-5.1 11-11.2C23 5.7 18 .9 11.9.9zm0 1.5c1.6 0 3.2.4 4.5 1.1L15 6c-.9-.5-1.9-.7-3-.7s-2.1.2-3 .7L7.6 3.5c1.3-.7 2.7-1.1 4.3-1.1zM6 15l-2.5 1.4c-.7-1.3-1.1-2.7-1.1-4.3 0-1.7.4-3.2 1.1-4.6L6 9c-.5.9-.7 1.9-.7 3s.2 2.1.7 3zm6.1 6.6c-1.6 0-3.2-.4-4.5-1.1L9 18c.9.5 1.9.7 3 .7s2.1-.2 3-.7l1.4 2.5c-1.3.7-2.7 1.1-4.3 1.1zm-.1-4.3c-3 0-5.3-2.4-5.3-5.3 0-3 2.4-5.3 5.3-5.3 3 0 5.3 2.4 5.3 5.3 0 3-2.3 5.3-5.3 5.3zm6-2.3c.5-.9.7-1.9.7-3s-.2-2.1-.7-3l2.5-1.4c.7 1.3 1.1 2.7 1.1 4.3 0 1.7-.4 3.2-1.1 4.6L18 15z"}},hide:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.9 11.6c-.7-1.5-1.7-2.8-2.9-3.9l-3.9 3.9v.4c0 2.8-2.3 5.1-5.1 5.1h-.4l-2.5 2.5c.9.2 1.9.3 2.9.3 5.2 0 9.7-3.1 11.9-7.4.1-.4.1-.6 0-.9zm-1.5-9l-1-1c-.3-.3-.8-.2-1.1.2l-3.4 3.3c-1.5-.6-3.1-.9-4.9-.9-5.2 0-9.7 3-11.9 7.4-.1.3-.1.6 0 .8 1 2.1 2.5 3.8 4.4 5.1l-2.7 2.8c-.4.3-.4.8-.2 1.1l1 1c.3.3.8.2 1.1-.2L22.2 3.7c.4-.3.5-.8.2-1.1zM6.9 12c0-2.8 2.3-5.1 5.1-5.1.9 0 1.8.3 2.5.7L13.1 9c-.4-.1-.7-.2-1.1-.2-1.8 0-3.2 1.4-3.2 3.2 0 .4.1.7.2 1.1l-1.4 1.4c-.4-.7-.7-1.6-.7-2.5z"}},hide_mobile:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.7 11.7v6.5c0 .3-.3.6-.7.6H9.5l-4 4c.3.2.6.3 1 .3h11c1 0 1.7-.8 1.7-1.7V9.1l-2.5 2.6zM12 22.2c-.7 0-1.3-.6-1.3-1.3s.6-1.3 1.3-1.3 1.3.6 1.3 1.3-.6 1.3-1.3 1.3zM4.8 21l2.6-2.6L16.7 9v.1l2.5-2.5v-.1l3.3-3.2c.3-.3.3-.8.1-1l-.9-.9c-.3-.3-.7-.2-1 .1L19.2 3v-.4c0-.9-.7-1.7-1.7-1.7h-11c-1 0-1.7.8-1.7 1.7v14.8l-3.3 3.3c-.3.3-.3.8-.1 1l.9.9c.2.3.7.2 1-.1L4.8 21zM7.3 5c0-.3.3-.7.6-.7H16c.3 0 .7.3.7.7v.5l-9.4 9.4V5z"}},hierarchy:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M10.7 10.6H5c-.3 0-.7.3-.7.6v4.9H2.4c-.3 0-.6.3-.6.6v4.6c0 .3.3.7.6.7h6.4c.3 0 .6-.4.6-.7v-4.6c0-.3-.3-.6-.6-.6H6.9v-3H17v3h-1.9c-.3 0-.7.3-.7.6v4.6c0 .3.4.7.7.7h6.3c.3 0 .6-.4.6-.7v-4.6c0-.3-.3-.6-.6-.6h-1.9v-4.9c0-.3-.3-.6-.7-.6h-5.6V7.7h1.9c.3 0 .6-.4.6-.7V2.4c0-.3-.3-.6-.6-.6H8.8c-.4 0-.7.3-.7.6V7c0 .3.3.7.7.7h1.9v2.9z"}},high_velocity_sales:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 1.5c0-.5-.3-.6-.4-.6h-9.6c-.7 0-.7.7-.7.7V3c0 .6.4.7.6.7h6.6c.3 0 .7.2.7 1v6.2c.1.2.1.6.7.6h1.5s.6 0 .6-.7V1.5zm-5.8 5.7c.1-.4-.3-.5-.4-.5H7.3c-.7 0-.7.7-.7.7v1.3c0 .6.4.8.6.8h6.6c.3 0 .7.2.7.9v6.3c.1.2.2.6.7.6h1.5s.6 0 .6-.7V7.2zM2.4 22.5c.1.1.5.4 1-.1l4.8-4.8c.2-.2.6-.5.6.2v4.7c0 .2.1.6.7.6h1.4s.6 0 .6-.7V13c0-.4-.2-.5-.4-.5H1.6c-.7 0-.7.7-.7.7v1.3c0 .6.3.7.5.7h4.5c.1 0 .7.1.2.6l-4.6 4.7s-.6.5-.1 1l1 1z"}},home:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.6 12.5h-2.3v10.1c0 .3-.2.5-.5.5h-4.6c-.2 0-.4-.2-.4-.5v-7.8H9.2v7.8c0 .3-.2.5-.4.5H4.2c-.3 0-.5-.2-.5-.5V12.5H1.4c-.2 0-.4-.1-.4-.3-.1-.2-.1-.4.1-.5L11.7 1.1c.2-.2.5-.2.6 0l10.6 10.6c.2.1.2.3.1.5s-.2.3-.4.3z"}},identity:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.2 3.7h-5.1s.1.3.1.5c0 1.8-1.5 3.2-3.3 3.2h-2.7C8.4 7.4 6.9 6 6.9 4.2c0-.2 0-.5.1-.5H2.8c-1 0-1.9.8-1.9 1.8v13.9c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V5.5c0-1-.9-1.8-1.9-1.8zM10 17.5H4.8c-.6 0-1.1-.5-1.1-1.1 0-.9 1-1.4 2-1.9.7-.2.8-.5.8-.8 0-.3-.2-.6-.5-.8-.4-.4-.6-.9-.6-1.5 0-1.2.7-2.2 1.9-2.2s2 1 2 2.2c0 .6-.3 1.1-.7 1.5-.2.2-.4.5-.4.8 0 .2.1.5.8.8 1 .5 2 1 2 1.9.1.6-.4 1.1-1 1.1zm10.3-1.8c0 .3-.2.5-.5.5h-6.4c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9zm.9-3.7c0 .3-.2.5-.4.5h-7.4c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h7.4c.2 0 .4.2.4.5v.9zm-11-6.5h2.7c.8 0 1.4-.6 1.4-1.3s-.6-1.4-1.4-1.4h-2.7c-.8 0-1.4.6-1.4 1.4s.6 1.3 1.4 1.3z"}},image:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 4.6c0-1-.9-1.8-1.9-1.8H2.8c-1 0-1.9.8-1.9 1.8v14.8c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V4.6zm-4.8 12.9H4.9c-.6 0-.9-.6-.6-1l4.1-7.1c.1-.3.6-.3.7 0l2.5 4.2c.2.3.6.3.8.1l2-2.9c.1-.3.6-.3.7 0l3.7 5.8c.3.4 0 .9-.5.9zm-1.2-8.3c-1 0-1.9-.8-1.9-1.8s.9-1.9 1.9-1.9 1.8.9 1.8 1.9-.8 1.8-1.8 1.8z"}},in_app_assistant:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M23 15.5l-.9-1.9.9-2c.1-.1 0-.3-.1-.4h-3.1c-.3-.6-.9-2.1-1.4-2.9-.7-1.1-1.5-2.1-2.4-2.8-1.1-.9-2.3-1.6-3.7-2.2H12l-.3.1c-.1 0-.6.2-1.4.5-.6.3-1.3.8-2.1 1.4-1.4 1.2-2.5 2.5-3.3 4.2-.2.5-.5 1.1-.7 1.7h-3l-.1.1c-.1 0-.2.2-.2.4l.9 1.9-.9 2c0 .2.2.4.3.4h2.1v.8c0 .3 0 .7.1.9v.6l.5.3c.1 0 .9.6 2.4 1.1 1.3.4 3.3 1 5.8 1 2.2 0 4.3-.4 6.4-1.3.6-.2 1.1-.5 1.6-.8l.5-.2.1-.4v-1.2-.4c0-.1-.1-.2-.1-.5h2.2c.1 0 .3-.1.3-.3l-.1-.1zm-3.9 1.7v.2c-.5.3-.9.5-1.3.6-1.8.8-3.7 1.2-5.7 1.2-2.3 0-4.2-.6-5.4-1-.8-.3-1.5-.6-1.8-.8v-.9-1.2c.1-1.4.5-2.6.7-3.3.2-.7.5-1.3.7-1.8C7 8.7 8 7.6 9.2 6.6c.8-.7 1.5-1.1 1.8-1.2l1-.5c1.1.5 2 1.1 2.9 1.8.8.7 1.5 1.5 2.1 2.5.4.7 1.1 2.3 1.3 2.8 0 0 .6 1.9.6 3.2.1 1 .1 1.2.1 1.4 0 .1 0 .2.1.2v.4z"},{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M11.9 17.5c-.3 0-.5-.1-.6-.2-.2-.2-.3-.4-.3-.7s.1-.5.3-.6c.1-.2.4-.3.7-.3s.5.1.6.3c.2.2.3.4.3.6 0 .3-.1.5-.3.7-.2.2-.5.2-.7.2zm-3.1-6.8c0-.4.2-.8.4-1.2.3-.4.6-.7 1.1-1 .5-.3 1.1-.4 1.7-.4.6 0 1.2.1 1.6.3.5.2.8.5 1.1.9.2.4.3.8.3 1.3 0 .3 0 .6-.2.9-.1.3-.3.5-.5.7-.2.2-.5.5-1.1 1l-.3.3c-.1.1-.1.2-.2.3 0 0-.1.1-.1.2v.4c-.1.4-.4.6-.8.6-.2 0-.4 0-.5-.2-.2 0-.2-.3-.2-.5 0-.4 0-.7.2-1 .1-.2.2-.4.4-.7.2-.1.4-.4.7-.6l.6-.6c.2-.1.2-.2.3-.4.1-.1.2-.3.2-.4 0-.4-.2-.6-.4-.9s-.5-.3-1-.3c-.4 0-.7.2-1 .4-.2.2-.4.5-.5 1-.2.5-.4.7-.9.7-.2 0-.4-.1-.6-.2-.2-.2-.3-.4-.3-.6z"}]},inbox:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 3.7c0-1-.9-1.9-1.9-1.9H2.8c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V3.7zM8.8 16.2c0 .2-.2.4-.5.4H4.2c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.5.5-.5h4.1c.3 0 .5.2.5.5v1.9zm0-4.7c0 .3-.2.5-.5.5H4.2c-.3 0-.5-.2-.5-.5V9.7c0-.3.2-.5.5-.5h4.1c.3 0 .5.2.5.5v1.8zm0-4.6c0 .3-.2.5-.5.5H4.2c-.3 0-.5-.2-.5-.5V5.1c0-.3.2-.5.5-.5h4.1c.3 0 .5.2.5.5v1.8zm11.5 12c0 .3-.2.5-.5.5h-8.7c-.3 0-.5-.2-.5-.5V5.1c0-.3.2-.5.5-.5h8.7c.3 0 .5.2.5.5v13.8z"}},incoming_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 17.5l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.7 2.4 9.1 5.5 12.3s7.6 5.2 12.3 5.5c.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6zm-8.7-6.4h7.1c.4 0 .6-.5.2-.9l-2.3-2.3 4.2-4.2c.2-.2.2-.7 0-.9l-1.7-1.7c-.2-.2-.6-.2-.9 0l-4.2 4.2L13.8 3c-.4-.4-.9-.2-.9.2v7.1c0 .3.4.8.8.8z"}},info:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 5.6c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4-1.4-.6-1.4-1.4.6-1.4 1.4-1.4zm2.3 9.7c0 .2-.2.4-.5.4h-3.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5.2 0 .4-.2.4-.4v-1.9c0-.2-.2-.5-.4-.5-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v3.7c0 .2.2.4.4.4.3 0 .5.2.5.5v.9z"}},info_alt:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.4c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3zm0-13.8c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4-1.4-.6-1.4-1.4.6-1.4 1.4-1.4zm2.3 9.7c0 .2-.2.4-.5.4h-3.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5.2 0 .4-.2.4-.4v-1.9c0-.2-.2-.5-.4-.5-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v3.7c0 .2.2.4.4.4.3 0 .5.2.5.5v.9z"}},insert_tag_field:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.5 5.6l-1-.8c-.4-.3-.7-.2-1 0L.1 11.6c-.1.2-.1.6 0 .9l5.4 6.7c.3.2.7.3 1 0l1.1-.8c.3-.3.3-.7.1-1L3.3 12l4.4-5.4c.2-.3.1-.7-.2-1zm16.4 6l-5.4-6.7c-.3-.3-.7-.4-1-.1l-1.1.9c-.3.2-.3.7-.1.9l4.4 5.4-4.4 5.4c-.2.3-.1.8.1 1l1.1.9c.3.2.7.2 1-.1l5.4-6.7c.1-.4.1-.7 0-.9zM14.6 5l-1.4-.3c-.4-.1-.8.1-.9.5L8.9 18.3c-.1.3.1.7.5.8l1.4.3c.4.1.8-.1.9-.5l3.4-13.1c.1-.4-.1-.7-.5-.8z"}},insert_template:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 17.5h-2.1v-2c0-.4-.3-.7-.7-.7h-1.4c-.3 0-.7.3-.7.7v2h-2c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h2v2.1c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-2.1h2.1c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7zm-6.7-3.9c0-.4.3-.7.7-.7h1.1V2.8c0-1-.8-1.9-1.8-1.9H2.8C1.8.9.9 1.8.9 2.8v12.9c0 1 .9 1.8 1.9 1.8h10.1v-1.1c0-.4.3-.7.7-.7h2.1v-2.1zM7.4 5.1c0 .3-.2.4-.5.4H4.2c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v.9zm5.5 7.4c0 .2-.2.4-.4.4H4.2c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h8.3c.2 0 .4.2.4.4v1zm1.9-3.7c0 .2-.2.4-.5.4H4.2c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h10.1c.3 0 .5.2.5.4v1z"}},inspector_panel:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M1.8 20.9h20.7c.4 0 .7-.3.7-.7v-3.8c0-.4-.3-.7-.7-.7H1.8c-.4 0-.7.3-.7.7v3.8c0 .4.3.7.7.7zm0-17.8c-.4 0-.8.3-.8.7v9.4c0 .3.4.6.8.6h20.6c.4 0 .7-.3.7-.6V3.8c0-.4-.3-.7-.7-.7H1.8z"}},internal_share:{xmlns:"http://www.w3.org/2000/svg",path:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M1.1 17.5v.1c0 .4.2.6.6.6.2 0 .3 0 .5-.2 0 0 4.6-5 10.4-3.5v5.1c0 .4.2.7.6.7.1 0 .2-.1.3-.1l9.3-7.9c.1-.2.2-.3.2-.5s-.1-.4-.2-.5l-9.2-7.5c-.1-.1-.3-.1-.4-.1-.4 0-.6.3-.6.6v4.8c-.1 0-9.2-1.4-11.5 8.4z"}},italic:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 5.7v-.6c0-.5-.4-.9-.9-.9h-6.4c-.6 0-1 .4-1 .9V6c0 .5.4.9 1 .9.7 0 1.3.8 1.2 1.5l-1.7 8.1c-.1.6-.7 1-1.2 1H7.4c-.5 0-.9.5-.9 1v.9c0 .5.4.9.9.9h6.4c.6 0 1-.4 1-.9v-.9c0-.5-.4-1-1-1-.7 0-1.3-.7-1.2-1.4l1.7-8.2c.1-.6.7-1 1.2-1h.8c.7 0 1.2-.5 1.2-1.2z"}},jump_to_bottom:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.7 14l-6.2 6.3c-.3.3-.7.3-1 0L5.3 14c-.3-.2-.3-.7 0-1l1-1c.3-.3.7-.3 1 0l4.2 4.3c.3.3.7.3 1 0l4.2-4.3c.3-.2.7-.2 1 0l1 1.1c.3.2.3.7 0 .9zm0-8.3L12.5 12c-.3.3-.7.3-1 0L5.3 5.7c-.3-.3-.3-.8 0-1l1-1.1c.3-.2.7-.2 1 0L11.5 8c.3.3.7.3 1 0l4.2-4.3c.3-.3.7-.3 1 0l1 1c.3.3.3.7 0 1z"}},jump_to_top:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.3 10l6.2-6.4c.3-.2.7-.2 1 0l6.2 6.4c.3.2.3.7 0 1l-1 1c-.3.3-.7.3-1 0l-4.2-4.3c-.3-.3-.7-.3-1 0L7.3 12c-.3.2-.7.2-1 0l-1-1.1c-.3-.2-.3-.7 0-.9zm0 8.3l6.2-6.3c.3-.3.7-.3 1 0l6.2 6.3c.3.3.3.8 0 1l-1 1.1c-.3.2-.7.2-1 0L12.5 16c-.3-.3-.7-.3-1 0l-4.2 4.3c-.3.3-.7.3-1 0l-1-1c-.3-.3-.3-.7 0-1z"}},justify_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 3c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V3zm0 5.5c0-.3-.4-.7-.7-.7h-19c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V8.5zm0 11.1c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7v-1.4zm0-5.5c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7v-1.4z"}},kanban:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.8 8.1c0-.4-.4-.7-.7-.7H9.9c-.3 0-.7.3-.7.7v12.4c0 .4.4.7.7.7h4.2c.3 0 .7-.3.7-.7V8.1zm-8.3 0c0-.4-.4-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v14.3c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V8.1zm16.6 0c0-.4-.3-.7-.7-.7h-4.2c-.3 0-.7.3-.7.7v10.6c0 .4.4.7.7.7h4.2c.4 0 .7-.3.7-.7V8.1zm0-6.5c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V1.6z"}},keyboard_dismiss:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 15.7c.5 0 .9-.4.9-.9v-12c0-.5-.4-.9-.9-.9H1.8c-.5 0-.9.4-.9.9v12c0 .5.4.9.9.9h20.4zM2.8 13.9V3.7h18.4v10.2H2.8zm3.5-7.7c0 .4-.3.7-.7.7h-.4c-.4 0-.7-.3-.7-.7v-.5c0-.3.3-.7.7-.7h.4c.4 0 .7.4.7.7v.5zM9 5.7c0-.3-.4-.7-.7-.7h-.5c-.4 0-.7.4-.7.7v.5c0 .4.3.7.7.7h.5c.3 0 .7-.3.7-.7v-.5zm5.3.5c0 .4-.4.7-.7.7h-.5c-.4 0-.7-.3-.7-.7v-.5c0-.3.3-.7.7-.7h.5c.3 0 .7.4.7.7v.5zm-2.7 0c0 .4-.3.7-.7.7h-.4c-.4 0-.7-.3-.7-.7v-.5c0-.3.3-.7.7-.7h.4c.4 0 .7.4.7.7v.5zm7.9-.5c0-.3-.3-.7-.6-.7h-.5c-.4 0-.7.4-.7.7v.5c0 .4.3.7.7.7h.5c.3 0 .6-.3.6-.7v-.5zm-2.6 0c0-.3-.3-.7-.7-.7h-.5c-.3 0-.6.4-.6.7v.5c0 .4.3.7.6.7h.5c.4 0 .7-.3.7-.7v-.5zM6.3 9c0 .3-.3.6-.7.6h-.4c-.4 0-.7-.3-.7-.6v-.5c0-.4.3-.7.7-.7h.4c.4 0 .7.3.7.7V9zM9 8.5c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7V9c0 .3.3.6.7.6h.5c.3 0 .7-.3.7-.6v-.5zm5.3.5c0 .3-.4.6-.7.6h-.5c-.4 0-.7-.3-.7-.6v-.5c0-.4.3-.7.7-.7h.5c.3 0 .7.3.7.7V9zm-2.7 0c0 .3-.3.6-.7.6h-.4c-.4 0-.7-.3-.7-.6v-.5c0-.4.3-.7.7-.7h.4c.4 0 .7.3.7.7V9zm7.9-.5c0-.4-.3-.7-.6-.7h-.5c-.4 0-.7.3-.7.7V9c0 .3.3.6.7.6h.5c.3 0 .6-.3.6-.6v-.5zm-2.6 0c0-.4-.3-.7-.7-.7h-.5c-.3 0-.6.3-.6.7V9c0 .3.3.6.6.6h.5c.4 0 .7-.3.7-.6v-.5zM6.3 11.7c0 .4-.3.7-.7.7h-.4c-.4 0-.7-.3-.7-.7v-.4c0-.4.3-.7.7-.7h.4c.4 0 .7.3.7.7v.4zm10.6-.4c0-.4-.3-.7-.7-.7H7.8c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7h8.4c.4 0 .7-.3.7-.7v-.4zm2.6 0c0-.4-.3-.7-.6-.7h-.5c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7h.5c.3 0 .6-.3.6-.7v-.4zM8.4 17.2h7.2c.3 0 .4.2.2.4L12.3 22c-.2.2-.4.2-.5 0l-3.6-4.4c-.2-.2-.1-.4.2-.4z"}},knowledge_base:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.4 16.2h6c.4 0 .7-.4.7-.7V4.6c0-.8-.9-1.4-1.5-1.4H4.4c-.4 0-.7.4-.7.7v11.6c0 .3.3.7.7.7zM22.7 5.4c-.3-.1-.5.1-.5.4v11.5c0 .4-.4.7-.7.7h-19c-.3 0-.7-.3-.7-.7V5.9c0-.4-.3-.6-.6-.5-.7.4-1.2 1.1-1.2 2V18c0 1 .8 1.8 1.8 1.8h7.7c.3 0 .7.4.7.7s.3.7.6.7h2.4c.3 0 .6-.3.6-.7s.4-.7.7-.7h7.7c1 0 1.8-.8 1.8-1.8V7.4c0-1-.3-1.8-1.3-2zm-9.1 10.8h6c.4 0 .7-.4.7-.7V3.9c0-.3-.3-.7-.7-.7h-5.2c-.7 0-1.5.6-1.5 1.4v10.9c0 .3.3.7.7.7z"}},layers:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zM19.8.9h-12C6 .9 4.6 2.4 4.6 4.2v1.3h12c1 0 1.9.9 1.9 1.9v12h1.3c1.8 0 3.3-1.4 3.3-3.2v-12c0-1.8-1.5-3.3-3.3-3.3z"}},layout:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 23.1H1.8c-.5 0-.9-.4-.9-.9V1.8c0-.5.4-.9.9-.9h20.4c.5 0 .9.4.9.9v20.4c0 .5-.4.9-.9.9zM2.8 21.2h18.4V2.8H2.8v18.4zM18 9.2H6c-.3 0-.5-.2-.5-.4V6c0-.3.2-.5.5-.5h12c.3 0 .5.2.5.5v2.8c0 .2-.2.4-.5.4zm-9.2 9.3H6c-.3 0-.5-.2-.5-.5v-5.5c0-.3.2-.5.5-.5h2.8c.2 0 .4.2.4.5V18c0 .3-.2.5-.4.5zm9.2 0h-5.5c-.3 0-.5-.2-.5-.5v-5.5c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5V18c0 .3-.2.5-.5.5z"}},leave_conference:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.9 10.3c-.3.4-.1.8.2 1.1.8.4 1.6.8 2.3 1.5 1.2-.9 2.5-1.4 4.1-1.5-.5-.9-1.6-1.5-2.7-2-1.1-.4-1.3-.9-1.3-1.4 0-.4.3-.8.6-1.3.7-.6 1-1.4 1-2.4.1-1.9-1-3.5-2.9-3.5-1.2 0-2 .6-2.5 1.5C12 3.3 12.8 5 12.8 7c-.1 1.3-.4 2.4-.9 3.3zm2.8 5.7l2.7 2.8-2.7 2.8c-.3.2-.3.7 0 .9l.3.3c.3.3.7.3 1 0l2.7-2.7 2.8 2.7c.3.3.7.3 1 0l.3-.3c.3-.3.3-.7 0-.9L20 18.8l2.8-2.8c.3-.3.3-.7 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.8-2.7-2.8c-.3-.3-.8-.3-1 0l-.3.3c-.3.3-.3.7 0 1zM13 14.2c-.6-.7-1.6-1.1-2.6-1.6-1.2-.5-1.4-1-1.4-1.5s.4-1 .8-1.4c.7-.7 1-1.7 1-2.8C10.8 4.8 9.6 3 7.5 3h-.2C5.2 3 4 4.8 4 6.9 4 8 4.3 9 5 9.7c.4.4.8.9.8 1.4 0 .5-.2 1-1.4 1.5-1.8.8-3.4 1.6-3.5 3.3.1 1.1.9 2 1.9 2h8.6c.2-1.4.8-2.7 1.6-3.7z"}},left:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 3.8v16.4c0 .4-.6.8-1 .4l-9.8-8c-.3-.3-.3-.9 0-1.2l9.8-8c.4-.4 1-.1 1 .4z"}},left_align_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 3c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V3zm-3.7 5.5c0-.3-.4-.7-.7-.7H2.5c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h15.3c.3 0 .7-.3.7-.7V8.5zm0 11.1c0-.4-.4-.7-.7-.7H2.5c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h15.3c.3 0 .7-.3.7-.7v-1.4zm3.7-5.5c0-.4-.4-.7-.7-.7h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7v-1.4z"}},level_down:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.7 5.5c0-.3-.3-.7-.7-.7H1.6c-.4 0-.7.4-.7.7V13c0 .3.4.7.7.7h15.3c.5 0 .6.5.4.8l-2.6 2.6c-.3.3-.3.7 0 .9l.9 1c.3.3.7.3 1 0l6.3-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-1 0l-1 1c-.3.2-.3.6 0 .9l2.6 2.6c.3.3.1.8-.3.8H4.4c-.8 0-.7-.7-.7-.7V5.5z"}},level_up:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M1.6 20.3c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h11c.4 0 .8-.4.8-.7V7.1c0-.5.4-.6.8-.4l2.6 2.6c.2.3.6.3.9 0l1-.9c.3-.3.3-.7 0-1l-6.2-6.3c-.3-.3-.7-.3-1 0L5.3 7.3c-.3.3-.3.7 0 1l.9 1c.3.3.7.3 1 0l2.6-2.6c.3-.3.8-.1.8.3v12.6c0 .8-.7.7-.7.7H1.6z"}},light_bulb:{path:{d:"M11.1 1.2a7.4 7.4 0 0 0-6.6 6.6 7.3 7.3 0 0 0 2.7 6.3 2.3 2.3 0 0 1 .8 1.8 1.8 1.8 0 0 0 1.9 1.9h4.2a1.8 1.8 0 0 0 1.8-1.9 2.3 2.3 0 0 1 .9-1.8 7.3 7.3 0 0 0 2.7-5.6c.1-4.3-3.8-7.7-8.4-7.3zm4.1 18.7H8.8a.7.7 0 0 0-.8.7 2.2 2.2 0 0 0 2.2 2.2h3.6a2.2 2.2 0 0 0 2.2-2.2.7.7 0 0 0-.8-.7z"}},lightning_inspector:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.9 10.9h-.3v-.4c0-2.3-1.8-4.2-4.2-4.2-1.1 0-2 .4-2.8 1.1-.6-1.5-2.1-2.7-3.9-2.7-2.3 0-4.2 1.9-4.2 4.2 0 .8.2 1.5.6 2.1-1.9.5-3.2 2.1-3.2 4.1 0 2.3 1.7 4.1 4 4.1h13.9c2.3 0 4.2-1.8 4.2-4.2s-1.8-4.1-4.1-4.1zm-11.4.4l3.6-1.7c.2-.1.4-.1.5 0l3.6 1.7c.3.1.3.3 0 .5l-3.6 1.7c-.1.1-.3.1-.5 0l-3.6-1.7c-.2-.1-.2-.4 0-.5zm7.8 4.2l-3.6 1.7c-.2.1-.4.1-.5 0l-3.6-1.7c-.3-.1-.3-.4 0-.5l.4-.2c.1-.1.2-.1.3 0l2.9 1.4h.5l2.8-1.4c.1-.1.2-.1.3 0l.4.2c.3.1.3.4.1.5zm0-1.8l-3.6 1.7c-.2.1-.4.1-.5 0l-3.6-1.7c-.3-.1-.3-.4 0-.5l.5-.3h.2l2.9 1.4c.1.1.3.1.5 0l2.8-1.4h.3l.5.3c.2 0 .2.3 0 .5z"}},like:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.8 9.7H2.5c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h1.2c1 0 1.8-.8 1.8-1.9v-9.4c0-.4-.3-.7-.7-.7zm15.5.5h-2.8c-1 0-1.8-.9-1.8-1.9V3.7c0-1-.8-1.9-1.9-1.9h-1.1c-.4 0-.7.4-.7.7v2.8c0 2.5-1.7 4.9-3.9 4.9-.4 0-.7.3-.7.6v9.3c0 .3.3.7.6.7 3.2.1 4.2 1.4 7.5 1.4 3.5 0 6.7-.4 6.7-4.4V12c0-1-.9-1.8-1.9-1.8z"}},link:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.6 19.2l-1-.1s-.7-.1-1-.3c-.2 0-.4 0-.5.2l-.3.2c-1.3 1.3-3.5 1.5-4.9.3-1.5-1.4-1.6-3.8-.1-5.2l3.5-3.5c.4-.5 1-.7 1.5-.9.8-.2 1.6-.2 2.2.1.5.2.9.4 1.2.8.2.2.4.4.5.6.2.3.6.4.8.1l1.3-1.3c.2-.2.2-.5.1-.7-.2-.3-.4-.5-.7-.7-.3-.4-.7-.7-1.1-.9-.6-.4-1.4-.7-2.1-.8-1.5-.3-3-.1-4.3.6-.5.3-1.1.7-1.5 1.1l-3.3 3.3C.4 14.6.2 18.6 2.6 21c2.4 2.7 6.6 2.8 9.1.2l1.2-1.1c.3-.3.1-.8-.3-.9zM21 2.7C18.5.3 14.5.5 12.1 3l-1 1c-.3.3-.1.8.3.9.6 0 1.3.2 1.9.4.2 0 .5 0 .6-.2l.2-.2c1.4-1.3 3.5-1.5 4.9-.3 1.6 1.4 1.6 3.8.2 5.2l-3.5 3.5c-.5.5-1 .7-1.6.9-.7.2-1.5.2-2.2-.1-.4-.2-.8-.4-1.2-.8-.2-.2-.3-.4-.5-.6-.1-.3-.6-.4-.8-.1l-1.3 1.3c-.2.2-.2.5 0 .7.2.3.4.5.6.7.3.3.8.7 1.1.9.7.4 1.4.7 2.2.8 1.4.3 3 .1 4.2-.6.6-.3 1.1-.7 1.5-1.1l3.5-3.5c2.6-2.5 2.5-6.7-.2-9.1z"}},linked:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 16.7l-.5-.7s-.3-.4-.4-.7c-.1-.2-.3-.3-.5-.3h-.2c-1.6 0-3-1.2-3.1-2.7-.2-1.8 1.3-3.2 3-3.2h4.2c.5 0 1 .2 1.5.4.5.3 1 .8 1.2 1.4.1.4.2.7.2 1.2 0 .2 0 .4-.1.6-.1.4.2.6.5.6h1.6c.2 0 .3-.2.4-.4.1-.3.1-.5.1-.8 0-.4-.1-.8-.2-1.2-.1-.7-.4-1.3-.7-1.8-.7-1-1.8-1.9-3-2.2-.5-.1-1-.2-1.5-.2h-4C3.6 6.7 1.1 9 1 11.9c-.2 3 2.3 5.5 5.3 5.5h1.4c.3 0 .5-.5.3-.7zm15-4.9c-.1-2.9-2.6-5.2-5.5-5.2h-1.2c-.4 0-.6.5-.4.7.4.5.7.9.9 1.4.1.2.3.3.5.3h.2c1.7 0 3 1.2 3.1 2.7.2 1.8-1.3 3.2-3 3.2h-4.2c-.5 0-1-.2-1.4-.4-.6-.3-1.1-.8-1.3-1.4-.1-.4-.2-.7-.2-1.2 0-.2 0-.4.1-.6.1-.4-.2-.6-.5-.6H8.5c-.2 0-.3.2-.4.4-.1.3-.1.5-.1.8 0 .4.1.8.2 1.2.1.7.4 1.3.8 1.8.6 1 1.7 1.8 2.9 2.1.5.2 1 .3 1.5.3h4.2c3.1.1 5.5-2.4 5.4-5.5z"}},list:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.7 4.8c0-.3-.3-.6-.7-.6H1.6c-.4 0-.7.3-.7.6v1.4c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7V4.8zm19.4 0c0-.3-.3-.6-.7-.6H6.2c-.3 0-.7.3-.7.6v1.4c0 .4.4.7.7.7h16.2c.4 0 .7-.3.7-.7V4.8zM3.7 11.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7v-1.4zm17.5 0c0-.4-.3-.7-.7-.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h14.3c.4 0 .7-.3.7-.7v-1.4zM3.7 17.8c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6H3c.4 0 .7-.3.7-.6v-1.4zm19.4 0c0-.4-.3-.7-.7-.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h16.2c.4 0 .7-.3.7-.6v-1.4z"}},listen:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.4 13.9c0-6.6-5.1-12.1-11.3-12.1S.8 7.3.8 13.9c0 1.6.3 3.2.8 4.7.7 1.8 2.3 3 4.2 3.1.6 0 1-.5 1-1v-5.8c0-.5-.4-1-1-1-1 0-2 .4-2.7.9-.1-.3-.1-.6-.1-.9 0-5.5 4.1-9.8 9.1-9.8s9 4.4 9 9.8v.9c-.7-.6-1.7-1-2.7-1-.6 0-1 .5-1 1.1v5.7c0 .5.4 1 1 1 1.1 0 2.2-.4 3-1.2.8-.9 1.1-1.8 1.4-2.9.4-1.1.6-2.3.6-3.6z"}},live_message:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.2.9h-11c-1.1 0-1.9.9-1.9 1.9 1.7.2 3.2.8 4.4 1.8h6.9c.3 0 .7.3.7.7v12.5c0 .3-.4.6-.7.6h-7.9c-.3 0-.6-.3-.6-.6v-.1l-.1-.1c-.8.4-1.7.6-2.6.7 0 .1-.1.2-.1.4v2.5c0 1 .8 1.8 1.8 1.8h11.1c1 0 1.9-.8 1.9-1.8V2.8c0-1-.9-1.9-1.9-1.9zm-5.5 21.3c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zM.9 10.6c0 3.2 2.9 5.9 6.4 5.9 1.3 0 2.4-.3 3.4-.9h.5l2.3.9c.2 0 .4-.2.3-.4l-.8-2.3c0-.2 0-.3.1-.5.5-.8.7-1.8.7-2.8 0-3.3-2.8-5.9-6.4-5.9-3.6 0-6.4 2.6-6.5 6z"}},location:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.5 4.4l-6.6-3.3c-.3-.2-.7-.2-1 0L8.8 4.2 2.6 1.1c-.4-.2-.8-.2-1.2 0-.3.2-.5.6-.5.9v16.6c0 .5.3.8.6 1l6.7 3.3c.3.2.7.2.9 0l6.2-3.1 6.2 3.1c.1.1.3.2.5.2s.4-.1.6-.2c.3-.2.5-.6.5-.9V5.4c0-.5-.2-.8-.6-1zm-1.7 2.1v8.8c0 .5-.5.9-1 .7-1.7-.7-.3-3.5-1.5-5.1-1.2-1.4-2.7 0-4.1-2.2-1.3-2.2.5-3.8 2.1-4.6.3-.1.5-.1.7 0l3.4 1.7c.3.2.4.4.4.7zm-9.3 12.8c-.3.2-.6.1-.8-.1-.5-.4-.9-1-.9-1.7 0-1.1-1.8-.7-1.8-2.9 0-1.8-2.1-2.3-3.9-2.1-.5.1-.8-.3-.8-.7V5c0-.5.5-.9 1-.6l4 2h.1l.1.1c1.7 1 1.3 1.8.6 3-.7 1.3-1.1 0-2.2-.4s-2.2.4-1.8 1.1 1.5 0 2.2.7.7 1.9 2.9 1.1 2.6-.3 3.4.4c.7.8 1.1 2.2 0 3.3-.7.7-1 2.1-1.2 3-.1.2-.2.4-.4.5l-.5.1z"}},lock:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.1 8.8h1.8c.3 0 .5-.2.5-.4v-.1c0-2.6 2.2-4.8 4.9-4.6 2.5.2 4.3 2.3 4.3 4.8v-.1c0 .2.2.4.5.4h1.8c.3 0 .5-.2.5-.4v-.1c0-4.2-3.5-7.6-7.8-7.4-3.9.2-6.9 3.5-7 7.5.1.2.2.4.5.4zm-.5-.4v.1-.1zm16.6 4.1c0-1.1-.8-1.9-1.8-1.9H4.6c-1 0-1.8.8-1.8 1.9v8.7c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9v-8.7zm-7.1 7.2c.1.3-.1.6-.4.6h-3.4c-.3 0-.5-.3-.5-.6l.9-2.8c-.7-.4-1.1-1.3-1-2.2.2-.9.9-1.5 1.8-1.7 1.5-.3 2.8.8 2.8 2.1 0 .8-.4 1.5-1 1.8l.8 2.8z"}},locker_service_api_viewer:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.3 17.8c0 .3.3.7.7.7h1.2v-1c0-.6 0-1.2.2-1.8H9c-.4 0-.7.3-.7.7v1.4zm4.9-11.3H9c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h4.2c.3 0 .6-.3.6-.7V7.2c0-.4-.3-.7-.6-.7zM1.6 4.6h18.9c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7zm18.9 4.6c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7h-4.1c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h4.1zm-12.2 4c0 .3.3.6.7.6h2.1c.6-1 1.5-1.9 2.5-2.5-.1-.2-.3-.2-.4-.2H9c-.4 0-.7.3-.7.7v1.4zM5.8 6.5H1.6c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zm4.9 13.8H9c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h3.6c-.8-.8-1.5-1.7-1.9-2.8zm-4.9-4.6H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h4.2c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7zm0 4.6H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V21c0-.4-.4-.7-.7-.7zm0-9.2H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6h4.2c.3 0 .7-.3.7-.6v-1.4c0-.4-.4-.7-.7-.7zm11.7.9c-3.1 0-5.5 2.5-5.5 5.6s2.4 5.5 5.5 5.5 5.5-2.5 5.5-5.5-2.5-5.6-5.5-5.6zm3.6 4l-4.4 4.4c-.1.1-.2.1-.3 0l-2.6-2.5c-.1-.1-.1-.3 0-.4l1-.9c.1-.1.2-.1.3 0l1.3 1.3c.1.1.2.1.3 0l3.1-3.2c.1-.1.3-.1.4 0l.9.9c.2.1.2.3 0 .4z"}},locker_service_console:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22 4.2c-.4-1-.9-1.9-1.5-2.8-.3-.4-.8-.4-1.1-.1-.8.8-2.1 1.3-3.4 1.3-1.4 0-2.6-.6-3.5-1.5-.3-.3-.8-.3-1.1 0-.9.9-2.1 1.5-3.5 1.5-1.3 0-2.5-.5-3.4-1.3-.3-.3-.9-.2-1.1.1-.6.8-1.1 1.8-1.5 2.8 0 0-1.1 2.3-.9 6v1c.7 6.2 5.2 11.1 11 11.9 5.8-.9 10.3-5.8 11-12V11v-.4c.4-4-1-6.4-1-6.4zM18.9 9l-7.7 7.8c-.2.1-.4.1-.6 0l-4.5-4.6c-.1-.2-.1-.4 0-.6l.6-.6c.2-.2.5-.2.6 0l3.4 3.4c.1.1.3.1.4 0l6.6-6.6c.2-.2.4-.2.6 0l.6.6c.2.1.2.4 0 .6z"}},log_a_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.8.9H6.2C5 .9 4 2 4 3.1v.8h-.7c-.8 0-1.5.6-1.5 1.5s.7 1.4 1.5 1.4H4v3.7h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5H4v3.7h-.7c-.8 0-1.5.6-1.5 1.4 0 .9.7 1.5 1.5 1.5H4v.8c0 1.1 1 2.2 2.2 2.2h13.6c1.2 0 2.4-1.1 2.4-2.3V3c0-1.2-1.2-2.1-2.4-2.1zm-1.2 14.9l-1.1 1c-.2.3-.5.4-.8.4-2.4-.2-4.6-1.3-6.2-2.9s-2.7-3.9-2.8-6.4c0-.3.1-.6.3-.8l1-1c.5-.5 1.2-.5 1.7.1l.9 1.2c.3.4.3 1 0 1.4l-.8 1.1c0 .2 0 .4.1.5l1.7 1.9 1.8 1.7c.1.1.3.1.5 0l1.1-.8c.4-.3.9-.3 1.4 0l1.1 1c.5.3.5 1.1.1 1.6z"}},logout:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.7 22.4V21c0-.4-.3-.7-.7-.7H4.4c-.4 0-.7-.3-.7-.7V4.4c0-.4.3-.7.7-.7H9c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7H2.8C1.8.9.9 1.8.9 2.8v18.4c0 1 .9 1.9 1.9 1.9H9c.4 0 .7-.3.7-.7zm13.2-9.9c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l2.6 2.6c.3.3.1.8-.3.8H7.2c-.4 0-.7.2-.7.6v1.4c0 .4.3.7.7.7h9.7c.5 0 .6.5.4.8l-2.6 2.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.3-6.1z"}},loop:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.8 15c0 .1 0 .1-.1.1-.1.5-.2.9-.4 1.2-.2.5-.3.9-.6 1.3-.4.8-1 1.6-1.6 2.2s-1.4 1.2-2.2 1.7c-.8.5-1.7.9-2.6 1.1-.9.3-1.9.4-2.9.4C5.7 23.1.9 18.3.9 12.5S5.7 1.9 11.5 1.9c2 0 3.8.6 5.4 1.5.8.5 1.5 1 2.1 1.6.2.2.3.3.4.5.4.3.6.1.6-.4V1.7c0-.4.4-.8.8-.8h1.4c.5 0 .8.4.8.8v9c0 .4-.2.7-.6.7h-9.1c-.4 0-.7-.3-.7-.7V9.1c0-.4.4-.7.8-.7h3.4c.3 0 .6-.1.7-.2-1.3-1.9-3.5-3.1-6-3.1-4.1 0-7.4 3.3-7.4 7.4s3.3 7.4 7.4 7.4c3.2 0 5.9-2 7-4.9 0 0 .1-.6.6-.6h2.1c.4 0 .6.2.6.5v.1z"}},lower_flag:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3 .9H1.7c-.4 0-.7.3-.7.7v20.8c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7zm15.7 10.5c1.3 0 2.4.3 3.5.8V3c0-.3-.4-.5-.7-.3C14.1 6.6 15-1.4 6 1.7c-.2.1-.4.4-.4.7v10.7c0 .3.3.6.6.4 3.5-1.2 5.5-.6 7.1.3 1.3-1.5 3.3-2.4 5.4-2.4zm-4 4.6l2.7 2.7-2.7 2.8c-.3.3-.3.7 0 1l.3.3c.3.3.7.3 1 0l2.7-2.8 2.8 2.8c.3.3.7.3 1 0l.3-.3c.3-.3.3-.8 0-1L20 18.7l2.8-2.7c.3-.3.3-.8 0-1l-.3-.3c-.3-.3-.8-.3-1 0l-2.8 2.7-2.7-2.7c-.3-.3-.8-.3-1 0l-.3.3c-.3.2-.3.7 0 1z"}},macros:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.2 18.6c-.1.1-.3.2-.5.2h-2.2c-.1 0-.3-.2-.3-.3 0-.1.1-.2.1-.2v-.1l.1-.1 4.8-5.7c.1-.2.1-.5 0-.7v-.1l-4.9-5.8c-.1-.1-.1-.2-.1-.2 0-.2.2-.3.3-.3h2.2c.2 0 .4 0 .5.2l5.1 6.2c.1.1.1.2.1.3 0 .1-.1.3-.1.4l-5.1 6.2zm-5.4 0c-.1.1-.3.2-.4.2H9.2c-.2 0-.3-.2-.3-.3v-.2l.1-.1v-.1l4.8-5.7c.1-.2.2-.5.1-.7l-.1-.1-4.9-5.8v-.2c0-.2.1-.3.3-.3h2.2c.1 0 .3 0 .4.2l5.1 6.2c.1.1.1.2.1.3 0 .1 0 .3-.1.4l-5.1 6.2zm-5.3 0c-.1.1-.3.2-.5.2H1.9c-.1 0-.3-.2-.3-.3 0-.1.1-.2.1-.2v-.1l.1-.1 4.8-5.7c.1-.2.1-.5 0-.7v-.1L1.7 5.8c-.1-.1-.1-.2-.1-.2 0-.2.2-.3.3-.3H6c.1 0 .3 0 .4.2l5.1 6.2c.1.1.1.2.1.3 0 .1 0 .3-.1.4l-5 6.2z"}},magicwand:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13 9.7c-.2-.2-.4-.2-.6 0l-11.1 11c-.5.6-.5 1.4 0 2 .6.5 1.4.5 2 0l11-11.1c.2-.2.2-.4 0-.6L13 9.7zm3.2 0l1.5-1.5c.3-.3.3-.7 0-1l-.9-.9c-.3-.3-.7-.3-1 0l-1.5 1.5c-.2.1-.2.4 0 .6l1.3 1.3c.2.2.5.2.6 0zM4.8 5.4c1.8.5 3.1 1.8 3.7 3.6.1.3.5.3.5 0 .6-1.7 1.9-3.1 3.7-3.6.3-.1.3-.5 0-.6C11 4.2 9.6 2.9 9 1.1c0-.3-.4-.3-.5 0-.6 1.8-1.9 3.1-3.7 3.7-.2.1-.2.5 0 .6zm18.1 8.7c-1.6-.5-2.8-1.7-3.3-3.3-.1-.2-.4-.2-.5 0-.5 1.6-1.7 2.8-3.3 3.3-.2.1-.2.4 0 .5 1.6.5 2.8 1.7 3.3 3.3.1.2.4.2.5 0 .5-1.6 1.7-2.8 3.3-3.3.2-.1.2-.5 0-.5zM17.7 3.9c1.2.3 2.1 1.2 2.4 2.4.1.2.3.2.4 0 .4-1.2 1.2-2.1 2.4-2.4.2-.1.2-.3 0-.4-1.2-.4-2-1.2-2.4-2.4-.1-.2-.3-.2-.4 0-.3 1.2-1.2 2-2.4 2.4-.2.1-.2.3 0 .4z"}},mark_all_as_read:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.1 3.2l-.8-.8c-.2-.2-.6-.2-.8 0L4.6 7.3l-2-1.9c-.2-.3-.5-.3-.8 0l-.7.7c-.3.3-.3.6 0 .8l2.7 2.7c.2.3.5.4.8.4.2 0 .5-.1.8-.4L11.1 4c.2-.2.2-.5 0-.8zm11.2 5.3h-9.6c-.4 0-.7-.3-.7-.7V6.3c0-.4.3-.8.7-.8h9.6c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zm0 6.6H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8h17.8c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zm0 6.6H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8h17.8c.5 0 .8.4.8.8V21c0 .4-.3.7-.8.7z"}},matrix:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 1.6c0-.4-.4-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h14.3c.3 0 .7-.3.7-.7V1.6zM4.6 7.2c0-.4-.3-.7-.7-.7H2.5c-.3 0-.7.3-.7.7v6c0 .3.4.6.7.6h1.4c.4 0 .7-.3.7-.6v-6zm0 9.2c0-.4-.3-.7-.7-.7H2.5c-.3 0-.7.3-.7.7v6c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-6zm8.8-9.2c0-.4-.3-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h5.5c.4 0 .7-.3.7-.7V7.2zm8.8 0c0-.4-.4-.7-.7-.7h-5.6c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h5.6c.3 0 .7-.3.7-.7V7.2zm-8.8 4.6c0-.4-.3-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6h5.5c.4 0 .7-.3.7-.6v-1.4zm8.8 0c0-.4-.4-.7-.7-.7h-5.6c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h5.6c.3 0 .7-.3.7-.6v-1.4zm-8.8 4.6c0-.4-.3-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h5.5c.4 0 .7-.4.7-.7v-1.4zm8.8 0c0-.4-.4-.7-.7-.7h-5.6c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h5.6c.3 0 .7-.4.7-.7v-1.4zM13.4 21c0-.4-.3-.7-.7-.7H7.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h5.5c.4 0 .7-.3.7-.7V21zm8.8 0c0-.4-.4-.7-.7-.7h-5.6c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h5.6c.3 0 .7-.3.7-.7V21z"}},merge:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.5 20.3c-2.6-1.2-4.4-3.5-5.3-6-.4-.9-.6-2-.7-2.9V9.8h5c.3 0 .6-.4.3-.8l-6.5-7.9c-.3-.3-.8-.3-.9 0L5 9c-.2.2 0 .8.4.8h5v1.6c-.2 1-.4 2-.7 2.9-.9 2.5-2.8 4.8-5.4 6-.3.1-.5.6-.3.9l.6 1.5c.2.3.6.5.9.2 2.8-1.3 5-3.4 6.4-6 1.3 2.6 3.5 4.7 6.3 6 .4.2.9.2 1-.2l.6-1.5c.3-.3.1-.7-.3-.9z"}},merge_field:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.6 18.4h-.3c-1.1 0-1.5-.6-1.5-1.6 0-.5.1-.9.2-1.3 0-.5.1-1 .1-1.5 0-1.2-.5-1.8-1.3-2 .8-.2 1.3-.8 1.3-2 0-.5-.1-1-.1-1.5-.1-.4-.2-.8-.2-1.3 0-1 .4-1.6 1.5-1.6h.3c.3 0 .5-.2.5-.5s-.2-.5-.5-.5H5.9c-1.6 0-2.8.7-2.8 2.4 0 .5.1 1 .2 1.6.1.5.1 1 .1 1.6 0 .6-.1 1.2-1.1 1.3h-.1c-.3 0-.5.2-.5.5s.2.5.5.5h.1c1 .1 1.2.8 1.2 1.3 0 .6-.1 1.1-.2 1.6s-.1 1-.1 1.5c0 1.9 1.1 2.5 2.7 2.5h1.8c.2 0 .5-.2.5-.5-.1-.3-.3-.5-.6-.5zm8.8 0h.3c1.1 0 1.5-.6 1.5-1.6 0-.5-.1-.9-.2-1.3 0-.5-.1-1-.1-1.5 0-1.2.5-1.8 1.3-2-.8-.2-1.3-.8-1.3-2 0-.5.1-1 .1-1.5.1-.4.2-.8.2-1.3 0-1-.4-1.6-1.5-1.6h-.3c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h1.7c1.6 0 2.8.7 2.8 2.4 0 .5-.1 1-.2 1.6-.1.5-.1 1-.1 1.6 0 .6.1 1.2 1.1 1.3h.1c.3 0 .5.2.5.5s-.2.5-.5.5h-.1c-1 .1-1.2.8-1.2 1.3 0 .6.1 1.1.2 1.6s.1 1 .1 1.5c0 1.9-1.1 2.5-2.7 2.5h-1.8c-.2 0-.5-.2-.5-.5.1-.3.3-.5.6-.5z"}},metrics:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.7.9H3.3C2 .9.9 2 .9 3.3v17.4c0 1.3 1.1 2.4 2.4 2.4h17.4c1.3 0 2.3-1.1 2.3-2.4V3.3C23.1 2 22 .9 20.7.9zM7.2 18.3c0 .4-.3.8-.7.8h-.8c-.4 0-.8-.4-.8-.8V14c0-.4.4-.8.8-.8h.8c.4 0 .7.4.7.8v4.3zm4 0c0 .4-.4.8-.8.8h-.8c-.4 0-.7-.4-.7-.8V8c0-.4.3-.8.7-.8h.8c.4 0 .8.4.8.8v10.3zm4 0c0 .4-.4.8-.8.8h-.8c-.4 0-.8-.4-.8-.8V5.7c0-.4.4-.8.8-.8h.8c.4 0 .8.4.8.8v12.6zm3.9 0c0 .4-.4.8-.8.8h-.8c-.4 0-.7-.4-.7-.8v-7.5c0-.4.3-.8.7-.8h.8c.4 0 .8.4.8.8v7.5z"}},minimize_window:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 22.4c0 .4-.3.7-.7.7H1.6c-.4 0-.7-.3-.7-.7V21c0-.4.3-.7.7-.7h20.8c.4 0 .7.3.7.7v1.4z"}},missed_call:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M16 18.6c.3 0 .6.2.7.5l.3 2.5c.1.7.7 1.2 1.4 1.3l3 .3c.9.1 1.7-.6 1.7-1.5v-2.9c0-.4-.2-.8-.5-1.1-3-2.7-6.9-4.1-10.6-4.1S4.3 15 1.3 17.7c-.2.3-.4.7-.4 1.1v2.9c-.1.9.7 1.7 1.6 1.5l3-.3c.7-.1 1.3-.6 1.4-1.3l.3-2.5c.1-.3.4-.5.7-.5 0 0 3.9-.3 8.1 0zm2.3-12.8c.3-.2.7 0 .7.3v3.1c0 .3.2.5.5.5h1.2c.3 0 .5-.2.5-.5l.1-7.4c0-.4-.3-.6-.6-.6h-7.4c-.3 0-.5.2-.5.6v1.1c0 .3.2.6.5.6h3.1c.4 0 .5.4.3.6l-4.3 4.3c-.2.2-.4.2-.6 0l-7.1-7c-.3-.2-.6-.2-.9 0l-.8.8c-.3.2-.3.6 0 .9l8.6 8.7c.3.3.6.3.9 0l5.8-6z"}},money:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.9 12c0-1 .6-1.9 1.5-2.4A3.4 3.4 0 0 0 12 6.4c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.4 3.5 3.4c.6 0 1.3-.2 1.8-.6V12zm0 4.8v-.9c0-.3 0-.6.1-.9H5.9c0-1.3-1.1-2.4-2.4-2.4V7.4c1.3 0 2.4-1 2.4-2.4H18c0 1.3 1.1 2.4 2.5 2.4v1.9h1.7c.4 0 .6 0 .9.1V4.5c0-1.2-.9-2.1-2.1-2.1H3C1.8 2.4.9 3.3.9 4.5v11.1c0 1.2.9 2.1 2.1 2.1h11.1c-.1-.3-.2-.6-.2-.9zm9.2 3.9c0 .5-.5.9-.9.9h-5.6c-.4 0-.9-.4-.9-.9v-.9c0-.4.5-.8.9-.8h5.6c.5 0 .9.4.9.8v.9zm0-3.9c0 .5-.5.9-.9.9h-5.6c-.4 0-.9-.4-.9-.9V16c0-.5.5-.9.9-.9h5.6c.5 0 .9.4.9.9v.8zm0-3.9c0 .5-.5.9-.9.9h-5.6c-.4 0-.9-.4-.9-.9V12c0-.4.5-.8.9-.8h5.6c.5 0 .9.4.9.8v.9z"}},moneybag:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.5 4.2c.1.3.3.4.6.4h3.7c.3 0 .6-.1.7-.4L16 1.5c.1-.3-.1-.6-.4-.6H8.4c-.3 0-.5.3-.3.5l1.4 2.8zm4.7 2.6H9.8c-3.6 0-6.6 3-6.6 6.7v7.4c0 1.2 1 2.2 2.2 2.2h13.2c1.2 0 2.2-1 2.2-2.2v-7.4c0-3.7-3-6.7-6.6-6.7zm-1.1 12.4v1.3c0 .2-.2.4-.5.4h-1.4c-.3 0-.3-.2-.3-.4v-1.2c-1.1-.2-2-.7-2.3-.9-.2-.3-.3-.5-.1-.9l.5-.7c0-.2.3-.3.5-.3.1 0 .3.1.4.1.8.5 1.4.7 1.9.7s.9-.3.9-.6c0-.2-.1-.6-1.5-1.1-1.3-.4-2.8-1.2-2.8-2.9 0-1 .6-2.1 2.5-2.5V9.1c0-.2.1-.4.3-.4h1.4c.3 0 .5.2.5.4v1.1c.7.1 1.5.5 1.8.7.1.1.2.3.3.5 0 .1-.1.3-.2.4l-.6.7c-.1.1-.4.3-.6.3-.1 0-.2-.1-.3-.1-.8-.4-1.4-.7-1.8-.7-.6 0-.9.3-.9.5 0 .3.2.6 1.4 1 1.6.5 3.3 1.4 3.3 3.1 0 1.2-1 2.3-2.4 2.6z"}},monthlyview:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.3 3.2H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9zm1.2 6h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zM9.7 20.3c-1.1 0-2.3-.4-2.7-1 0-.1-.1-.2-.1-.3 0-.4.4-.8.8-.8.1 0 .2.1.4.1.5.3 1.1.5 1.6.5.9 0 1.4-.4 1.4-1s-.4-.9-1.5-.9c-.6.1-1-.1-1-.7 0-.4.3-.7.7-.7 1 .1 1.7-.2 1.7-.8 0-.6-.6-.9-1.4-.9-.5 0-1 .1-1.5.4-.1.1-.2.1-.3.1-.4 0-.7-.3-.7-.7 0-.2.1-.4.2-.5.6-.5 1.4-.8 2.5-.8 1.7 0 2.8.8 2.8 2.1 0 .9-.8 1.5-1.6 1.7.8.1 1.7.7 1.7 1.8 0 1.5-1.2 2.4-3 2.4zm7.4-.9c0 .4-.3.9-.7.9-.4 0-.7-.4-.7-.9v-4.7l-1 .9c-.1.1-.3.1-.5.1-.4 0-.7-.2-.7-.7 0-.1.1-.3.2-.4l1.8-1.8c.1-.2.4-.3.7-.3.5 0 .9.5.9 1v5.9z"}},move:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.9 11.7l-3.8-4.2c-.3-.3-.6 0-.6.4v2.7h-4.7c-.2 0-.4-.2-.4-.4V5.5h2.7c.5 0 .7-.4.4-.6l-4.1-3.8c-.2-.2-.5-.2-.7 0L7.6 4.9c-.3.3-.1.6.4.6h2.6v4.7c0 .2-.2.4-.4.4H5.5V7.9c0-.5-.4-.7-.6-.4l-3.8 4.1c-.2.2-.2.5 0 .7l3.8 4.1c.3.3.6.1.6-.4v-2.6h4.7c.2 0 .4.2.4.4v4.7H7.9c-.5 0-.7.4-.4.6l4.1 3.8c.2.2.5.2.7 0l4.1-3.8c.3-.3.1-.6-.4-.6h-2.6v-4.7c0-.2.2-.4.4-.4h4.7v2.7c0 .5.4.7.6.4l3.8-4.1c.2-.3.2-.5 0-.7z"}},multi_picklist:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.5.9H8.7c-1.2 0-2.2 1-2.2 2.2v.4c0 .2.1.4.3.4h10.7c1.2 0 2.3 1 2.3 2.2v11.4c0 .3.1.4.3.4h.4c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zm-5.2 5.2H3.5c-1.2 0-2.2 1-2.2 2.2v12.6c0 1.2 1 2.2 2.2 2.2h11.8c1.2 0 2.2-1 2.2-2.2V8.3c0-1.2-1-2.2-2.2-2.2zM6.5 19.4c0 .4-.4.7-.8.7H5c-.4 0-.8-.3-.8-.7v-.8c0-.4.4-.7.8-.7h.7c.4 0 .8.3.8.7v.8zm0-4.4c0 .4-.4.7-.8.7H5c-.4 0-.8-.3-.8-.7v-.8c0-.4.4-.7.8-.7h.7c.4 0 .8.3.8.7v.8zm0-4.5c0 .4-.4.8-.8.8H5c-.4 0-.8-.4-.8-.8v-.7c0-.4.4-.8.8-.8h.7c.4 0 .8.4.8.8v.7zm8.1 8.9c0 .4-.3.7-.8.7H8.7c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h5.1c.5 0 .8.3.8.7v.8zm0-4.4c0 .4-.3.7-.8.7H8.7c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h5.1c.5 0 .8.3.8.7v.8zm0-4.5c0 .4-.3.8-.8.8H8.7c-.4 0-.7-.4-.7-.8v-.7c0-.4.3-.8.7-.8h5.1c.5 0 .8.4.8.8v.7z"}},multi_select_checkbox:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.3 1.2H8.8c-1.2 0-2.2.9-2.2 2.1v.4c0 .2.1.4.4.4h10.4c1.2 0 2.2.9 2.2 2.1v11.2c0 .3.2.4.4.4h.3c1.2 0 2.2-1 2.2-2.2V3.3c0-1.2-1-2.1-2.2-2.1zm-5.1 5H3.7c-1.2 0-2.2 1-2.2 2.2v12.3c0 1.2 1 2.1 2.2 2.1h11.5c1.2 0 2.2-.9 2.2-2.1V8.4c0-1.2-1-2.2-2.2-2.2zm-.9 6.2l-5.5 5.5c-.3.2-.5.3-.8.3-.2 0-.5-.1-.7-.3l-2.7-2.7c-.2-.2-.2-.5 0-.7l.8-.7c.2-.3.5-.3.7 0L8 15.7l4.8-4.8c.2-.2.5-.2.7 0l.8.8c.2.1.2.5 0 .7z"}},muted:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 2.6l-1-1c-.3-.3-.8-.2-1.1.2l-4.6 4.6V4.6c0-2.1-1.6-3.7-3.7-3.7S8.3 2.5 8.3 4.6v6.7c0 .7.2 1.3.6 1.9l-1.7 1.6c-.7-1-1.2-2.2-1.2-3.5V9.4c0-.6-.5-1.1-1.2-1.1s-1.1.5-1.1 1.1v1.9c0 1.9.7 3.7 1.9 5.1l-3.8 3.9c-.4.3-.4.8-.2 1.1l1 1c.3.3.8.2 1.1-.2L22.2 3.7c.4-.3.5-.8.2-1.1zM18 10.7v.6c0 3.2-2.7 5.9-6 5.9h-.4l-1.8 1.9c.4.1.8.1 1.3.2v1.5H9c-.6 0-1.2.5-1.2 1.1s.6 1.2 1.2 1.2h6c.7 0 1.2-.5 1.2-1.2s-.6-1.1-1.2-1.1h-2.1v-1.5c4.2-.6 7.4-4 7.4-8V9.4c0-.3-.1-.5-.3-.7l-2 2z"}},new:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.8 4.2C15.5-.1 8.5-.1 4.2 4.2c-4.3 4.3-4.3 11.3 0 15.6 4.3 4.4 11.3 4.4 15.6 0 4.3-4.3 4.3-11.3 0-15.6zm-.4 8.7c0 .3-.2.5-.5.5h-5.1c-.2 0-.4.2-.4.4v5.1c0 .3-.2.5-.5.5h-1.8c-.3 0-.5-.2-.5-.5v-5.1c0-.2-.2-.4-.4-.4H5.1c-.3 0-.5-.2-.5-.5v-1.8c0-.3.2-.5.5-.5h5.1c.2 0 .4-.2.4-.4V5.1c0-.3.2-.5.5-.5h1.8c.3 0 .5.2.5.5v5.1c0 .2.2.4.4.4h5.1c.3 0 .5.2.5.5v1.8z"}},new_direct_message:{path:{d:"M21 7.8l-1.6 1.7c-.2.2-.4.6-.4.9v8.1c0 .3-.3.7-.7.7H5.9c-.4 0-.7-.4-.7-.7V6c0-.4.3-.7.7-.7h8c.4 0 .8-.1 1-.4l1.6-1.6c.3-.3.1-.8-.3-.8h-12c-1 0-1.8.9-1.8 1.9v15.7c0 1 .8 1.8 1.8 1.8h15.7c1.1 0 1.9-.8 1.9-1.8V8.2c0-.4-.5-.6-.8-.4zM8.7 14.2l1.7 1.7c.1.1.2.1.3 0l9-9.2c.1-.1.1-.2 0-.3L18 4.8c-.1-.1-.2-.1-.3 0l-9 9.1c-.1.1-.1.2 0 .3zM18.5 4c-.1.1-.1.2 0 .2l1.7 1.7c.1.1.2.1.2 0l1.2-1.1c.3-.3.3-.8 0-1.1l-.8-.8c-.4-.4-.8-.4-1.1 0-.1 0-1.2 1.1-1.2 1.1zM7.2 17c0 .2.1.4.3.4l.9-.3c.2 0 .5-.1.7-.2.2 0 .5-.1.6-.1.1-.1.3-.3.2-.4l-1.8-1.8c-.1-.1-.3 0-.3.1-.1.2-.2.5-.2.7-.1.2-.2.4-.2.7-.1.4-.1.7-.2.9z"}},new_window:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.5.9h-8.8c-.4 0-.8.3-.8.6v1.4c0 .4.3.8.8.8h3.6c.4 0 .7.5.3.7l-7.8 7.9c-.3.3-.3.7 0 .9l1 1c.2.3.6.3.9 0l7.9-7.8c.2-.3.7-.1.7.3v3.6c0 .4.4.8.7.8h1.4c.4 0 .7-.4.7-.8V1.6c0-.4-.3-.7-.6-.7zm-5.7 10.9l-1.6 1.6c-.3.3-.4.6-.4 1v5.2c0 .4-.4.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V9.9c0-.3.3-.7.7-.7h5.3c.4 0 .7-.1 1-.4l1.5-1.6c.3-.2.1-.7-.3-.7H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h12.9c1 0 1.8-.9 1.8-1.9v-9.1c0-.4-.5-.6-.7-.3z"}},news:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.3 2.8H4.4c-.4 0-.7.3-.7.7v14c0 .6-.5 1.1-1.1 1-.4-.1-.8-.5-.8-1V7.4c0-.3-.1-.5-.4-.5H.7c-.4 0-.7.3-.7.7v11.8c0 1 .8 1.8 1.8 1.8h20.4c1 0 1.8-.8 1.8-1.8V3.5c0-.4-.3-.7-.7-.7zM12.9 16.2c0 .2-.2.4-.4.4H6.9c-.3 0-.4-.2-.4-.4v-1c0-.2.1-.4.4-.4h5.6c.2 0 .4.2.4.4v1zm0-3.7c0 .2-.2.4-.4.4H6.9c-.3 0-.4-.2-.4-.4v-1c0-.2.1-.4.4-.4h5.6c.2 0 .4.2.4.4v1zm8.3 3.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.4-.2-.4-.4v-1c0-.2.2-.4.4-.4h5.6c.2 0 .4.2.4.4v1zm0-3.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.4-.2-.4-.4v-1c0-.2.2-.4.4-.4h5.6c.2 0 .4.2.4.4v1zm0-3.7c0 .2-.2.4-.4.4H6.9c-.3 0-.4-.2-.4-.4V6c0-.3.1-.5.4-.5h13.9c.2 0 .4.2.4.5v2.8z"}},note:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.1 18.3l-.4.4c-.5.5-1.1.7-1.7.7h-1.2c-1.1 0-2.3-.8-2.3-2.4v-1.1c0-.9.4-1.5.6-1.8l5-5.1c.1-.1.3-.5.3-.6V4.5c0-1.2-1-2.2-2.2-2.2H5.4c-1.2 0-2.3 1.1-2.3 2.2h-.7C1.6 4.5.9 5.2.9 6s.7 1.5 1.5 1.5h.7v3h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h.7v3h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.4 1.5 1.4h.7c0 1.5 1.1 2.2 2.3 2.2h11.8c1.2 0 2.2-1 2.2-2.2v-.9c0-.3-.1-.3-.3-.2zM15.3 7.9c0 .4-.3.7-.7.7H7.2c-.4 0-.7-.3-.7-.7v-.7c0-.5.3-.8.7-.8h7.4c.4 0 .7.3.7.8v.7zM12 16.8c0 .5-.3.8-.7.8H7.2c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h4.1c.4 0 .7.3.7.7v.7zm1.1-4.4c0 .4-.3.7-.7.7H7.2c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h5.2c.4 0 .7.3.7.7v.8zm9.7-2.1l-.4-.4c-.3-.3-.8-.3-1 0l-5.7 5.8V17c0 .1 0 .2.1.2h1.3l5.7-5.8c.4-.3.4-.7 0-1.1z"}},notebook:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.3.9H6.5c-1.1 0-1.9.9-1.9 1.9v1.4H3.2c-.8 0-1.4.6-1.4 1.3s.6 1.4 1.4 1.4h1.4v3.7H3.2c-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4h1.4v3.7H3.2c-.8 0-1.4.6-1.4 1.4s.6 1.3 1.4 1.3h1.4v1.4c0 1 .8 1.9 1.9 1.9h13.8c1 0 1.9-.9 1.9-1.9V2.8c0-1-.9-1.9-1.9-1.9zm-3.2 15.7c0 .3-.2.5-.5.5h-6.4c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9zm.9-3.7c0 .3-.2.5-.5.5H9.2c-.2 0-.4-.2-.4-.5V12c0-.3.2-.5.4-.5h8.3c.3 0 .5.2.5.5v.9zm.9-4.6c0 .3-.2.5-.4.5H8.3c-.3 0-.5-.2-.5-.5V5.5c0-.2.2-.4.5-.4h10.2c.2 0 .4.2.4.4v2.8z"}},notification:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.2 15.2H21c-.9 0-1.6-.7-1.6-1.6V8.3c0-4.2-3.5-7.6-7.8-7.4-3.9.2-7 3.6-7 7.6v5.2c0 .8-.7 1.5-1.6 1.5h-.2c-1 0-1.9.9-1.9 1.9v.7c0 .3.3.7.7.7h20.8c.4 0 .7-.4.7-.7v-.7c0-1-.9-1.9-1.9-1.9zm-6.9 5.1H9.7c-.2 0-.5.3-.4.6.2 1.3 1.4 2.2 2.7 2.2s2.5-1 2.7-2.2c.1-.3-.2-.6-.4-.6z"}},number_input:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.7 22.8H3.3c-1.2 0-2.1-.9-2.1-2.1V3.3c0-1.2.9-2.1 2.1-2.1h17.4c1.2 0 2.1.9 2.1 2.1v17.4c0 1.2-.9 2.1-2.1 2.1zM4.1 4.8v14.4c0 .4.3.7.7.7h14.4c.5 0 .8-.3.8-.7V4.8c0-.5-.3-.8-.8-.8H4.8c-.4.1-.7.4-.7.8zm12.6 4.6h-1.3l.5-2.2v-.1c0-.1 0-.2-.2-.2h-1c-.1 0-.2.1-.2.2l-.6 2.2h-2.6l.5-2.2c0-.1 0-.2-.2-.2h-1c-.1 0-.2 0-.2.1l-.6 2.3H8.3c-.1 0-.1 0-.2.1l-.3 1v.1c0 .1.1.2.2.2h1.4l-.6 2.5H7.3c-.1 0-.1.1-.1.2l-.3 1c0 .1 0 .2.2.2h1.3l-.6 2.2v.1c0 .1.1.2.2.2h1.1c.1 0 .1-.1.2-.2l.6-2.3h2.6l-.5 2.2c0 .1 0 .2.2.2h1c.1 0 .2 0 .2-.1l.6-2.3h1.5c.1 0 .1-.1.2-.2l.3-1c0-.1-.1-.2-.2-.2h-1.4l.6-2.6h1.5c.1 0 .1 0 .2-.1l.2-1v-.1c0 .1-.1 0-.2 0zM13 13.3h-2.7l.6-2.6h2.7l-.6 2.6z"}},office365:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M14.2 22.8c.3.1.6.1.9 0l5.5-1.8c.4-.1.6-.4.6-.8V3.6c0-.3-.2-.6-.4-.7L15.2 1c-.3-.1-.7-.1-.9 0L3.2 5.3c-.2.1-.4.3-.4.6v12.5c0 .3.2.6.4.7l11 3.7zm.6-3c0 .2-.3.5-.5.4L5.1 19c-.3-.1-.4-.3-.4-.5v-.2c0-.2.1-.3.3-.4l1.7-.8c.2-.1.3-.3.3-.4V6.8c0-.2.2-.4.4-.4l6.9-1.6c.3 0 .6.1.6.5v14.5z"}}},offline:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16 16.7c.2-.3.2-.6 0-.9l-.8-.8c-.2-.2-.6-.2-.8 0l-2.1 2c-.1.2-.4.2-.5 0l-2.1-2c-.2-.2-.6-.2-.8 0l-.8.8c-.3.3-.3.6 0 .9l2 2c.1.1.1.4 0 .5l-2 2.1c-.3.2-.3.6 0 .8l.8.8c.2.3.6.3.8 0l2.1-2c.1-.1.4-.1.5 0l2.1 2c.2.3.6.3.8 0l.8-.8c.2-.2.2-.6 0-.8l-2-2.1c-.2-.1-.2-.4 0-.5l2-2zm6-11.3C19.5 2.5 15.9 1 12 1S4.6 2.5 2.1 5.4c-.2.1-.2.5 0 .6l1.4 1.2c.2.2.5.1.7 0C6.2 5 9 3.7 12 3.7s5.9 1.3 7.9 3.5c.2.1.5.1.7 0L22 6c.2-.2.2-.5 0-.6zm-10 2c-1.9 0-3.7.9-5 2.3-.2.2-.2.5 0 .7l1.5 1.1c.2.2.5.2.6 0 .8-.8 1.8-1.3 2.9-1.3s2.2.5 3 1.2c.1.2.4.2.6.1l1.4-1.1c.3-.2.3-.5.1-.7C15.8 8.3 14 7.4 12 7.4z"}},offline_cached:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 9.4c-.4-3-3.1-5.3-6.2-5.3-3.5 0-6.3 2.8-6.3 6.3v.5c-2.3.2-4.1 2.1-4.1 4.4 0 2.5 2 4.5 4.5 4.5H11l-3.8-3.7c-.1-.2-.1-.5 0-.6l.6-.6c.2-.2.5-.2.6 0l1.7 1.6c.1.2.5 0 .5-.2v-6.2c0-.2.2-.5.4-.5h.9c.2 0 .4.2.4.5v6.1c0 .3.4.4.5.2l1.6-1.6c.2-.2.5-.2.6 0l.6.6c.2.2.2.4 0 .6L12 19.8h5.7c2.8 0 5.1-2.4 5.1-5.2 0-2.8-2.2-5.1-5-5.2z"}},omni_channel:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.8 1.2H16c-.4 0-.5.4-.2.7l1.8 1.8.3.3-3.5 3.4c-.3.3-.3.7 0 1 0 0 2.3 2.4 2.1 5.1 0 3.9-2.8 7-6.7 7-2.9.3-5.1-2.4-5.1-2.4-.3-.2-.7-.2-1 0L2 19.8c-.3.3-.3.7 0 1l.5.6c.3.2.7.2 1 0l.7-.6c1.5 1.2 3.5 1.9 5.6 1.9 5.1 0 9.2-4.1 9.2-9.2 0-2.1-.7-4.1-1.9-5.7l2.3-2.3.4.3 1.8 1.9c.3.3.6.1.6-.2V1.7c0-.3-.2-.5-.4-.5z"},circle:{cx:"9.738",cy:"13.615",r:"4.569"}},open:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.7 16.2v-.3.5-.2zM21.2.9H2.8C1.8.9.9 1.8.9 2.8v16.6c0 1 .9 1.8 1.9 1.8h5.5c.3 0 .5-.2.5-.4v-1.9c0-.3-.2-.4-.5-.4H4.4c-.4 0-.7-.4-.7-.7V6.2c0-.3.3-.7.7-.7h15.2c.4 0 .7.4.7.7v11.6c0 .3-.3.7-.7.7h-3.9c-.3 0-.5.1-.5.4v1.9c0 .2.2.4.5.4h5.5c1 0 1.9-.8 1.9-1.8V2.8c0-1-.9-1.9-1.9-1.9zM17.3 16l1-1c.3-.3.3-.7 0-1l-5.8-5.8c-.3-.3-.7-.3-1 0L5.7 14c-.3.3-.3.7 0 1l1 .9c.3.3.7.3 1 0l2.1-2.1c.3-.3.8-.1.8.3v8.3c0 .4.3.7.7.7h1.3c.4 0 .8-.3.8-.7v-8.3c0-.4.4-.6.8-.3l2.1 2.2c.3.2.7.2 1 0z"}},open_folder:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.2 6.5H10.8c-.7 0-1.3-.4-1.7-1L7.5 2.8c-.3-.6-.9-1-1.6-1H2.8c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9v-12c0-1-.9-1.8-1.9-1.8zm0-3.7H10.1c-.2 0-.3.2-.2.3l.8 1.2c.1.2.2.3.4.3h10.1c.5 0 1 .1 1.5.3.1.1.4-.1.4-.3 0-1-.9-1.8-1.9-1.8z"}},opened_folder:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.3 6.9c0-1-.8-1.8-1.8-1.8h-6.8c-.9 0-1.6-.9-1.6-.9L8.9 2.8s-.5-1-1.6-1H5.5c-1 0-1.8.9-1.8 1.9v4.1h16.6v-.9zm1.3 2.8H2.4c-1 0-1.7.9-1.4 1.7l2.6 9.7c.2.6.7 1.1 1.4 1.1h14.1c.6 0 1.2-.5 1.3-1.1l2.7-9.7c.2-.8-.5-1.7-1.5-1.7z"}},outbound_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 17.5l-2.8-2.3c-.7-.5-1.6-.5-2.2 0L15 16.9c-.3.3-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.6-.1-1l1.7-2.4c.5-.6.5-1.5 0-2.2L6.5 1.6C5.8.8 4.6.7 3.8 1.5L1.4 3.9c-.4.3-.6.9-.6 1.4.3 4.7 2.4 9.1 5.5 12.3s7.6 5.2 12.3 5.5c.6 0 1.1-.2 1.4-.6l2.4-2.4c.9-.7.9-2 0-2.6zM22.3.9h-7.1c-.4 0-.6.5-.2.9l2.3 2.3-4.2 4.2c-.2.2-.2.7 0 .9l1.7 1.7c.2.2.6.2.9 0l4.2-4.2L22.2 9c.4.4.9.2.9-.2V1.7c0-.3-.4-.8-.8-.8z"}},outcome:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.7 5.4v-.1c-.3-.2-.7-.2-1 .1l-1 .9c-.3.3-.2.7 0 .9l2.6 2.6c.1.1.1.2.1.4s-.1.5-.4.5H7.2c-.4 0-.7.2-.7.6v1.4c.1.4.3.7.7.7H17c.1 0 .2.1.3.1.2.2.2.5.1.7l-2.6 2.6c-.3.3-.3.7 0 1l.9 1c.3.3.7.2 1 0l6.2-6.2c.3-.3.2-.7 0-1l-6.2-6.2zm-7 2.5h1.4c.4 0 .7-.3.7-.7V2.8c0-1-.8-1.8-1.8-1.8H2.8C1.8 1 1 1.8 1 2.8v18.5c0 1 .8 1.8 1.8 1.8h7.1c1 0 1.9-.8 1.9-1.8v-4.4c0-.4-.4-.7-.7-.7H9.7c-.4 0-.7.3-.7.7v2.7c0 .4-.3.7-.7.7H4.4c-.3 0-.7-.3-.7-.7V4.4c0-.4.4-.7.7-.7h3.9c.4 0 .7.3.7.7v2.8c0 .4.3.7.7.7z"}},overflow:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.2 4.6H7.3c-1 0-1.7.8-1.7 1.7v.3c0 .1.1.2.3.2h9c1 0 1.7.8 1.7 1.7v10.2c0 .2.2.3.3.3h.3c.9 0 1.7-.8 1.7-1.7v-11c0-.9-.8-1.7-1.7-1.7zM20.9.9H11c-1 0-1.7.8-1.7 1.7v.3c0 .1.1.3.3.3h9c1 0 1.7.8 1.7 1.7v10.2c0 .1.1.3.3.3h.3c.9 0 1.7-.8 1.7-1.7V2.6c0-.9-.8-1.7-1.7-1.7zM15 10.1c0-1-.7-1.7-1.7-1.7H3.1c-1 0-1.7.7-1.7 1.7v11.3c0 .9.8 1.7 1.7 1.7h10.2c1 0 1.7-.8 1.7-1.7V10.1z"}},package:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.5 11.1h-3.7l-1.5 1.8h5v2.8H3.7v-2.8h4.9l-1.5-1.8H3.5c-.9 0-1.7.7-1.7 1.6v9c0 .8.6 1.4 1.4 1.4h17.6c.8 0 1.4-.6 1.4-1.4v-9c0-.9-.8-1.6-1.7-1.6zm-9.9-9.5v5.8H7.4c-.4 0-.7.4-.4.6l4.6 5.7c.2.1.5.1.7 0L16.9 8c.3-.2 0-.6-.4-.6h-3.1V1.6c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7z"}},package_org:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.5 10.6h-5.8l-1.8 1.9h7.4v2.7H3.7v-2.7h3.7l-1.8-1.9H3.5c-.9 0-1.7.8-1.7 1.7v8.9c0 .8.6 1.4 1.4 1.4h17.6c.8 0 1.4-.6 1.4-1.4v-8.9c0-.9-.8-1.7-1.7-1.7zm-11 1.3c.4.4.9.4 1.3 0l8.8-8.8c.2-.1.2-.4 0-.6l-1.3-1.3c-.2-.2-.5-.2-.7 0l-7.4 7.5-3.1-3.1c-.2-.2-.5-.2-.7 0L5.1 6.9c-.2.2-.2.4 0 .6l4.4 4.4z"}},package_org_beta:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.5 10.6h-2.7c-.2.7-.5 1.3-1 1.9h3.5v2.7H3.7v-2.7h2.8v-1.9h-3c-.9 0-1.7.8-1.7 1.7v8.9c0 .8.6 1.4 1.4 1.4h17.6c.8 0 1.4-.6 1.4-1.4v-8.9c0-.9-.8-1.7-1.7-1.7zm-4.3-6c0-1.8-1.6-3.2-3.4-3.2H9c-.4 0-.7.3-.7.7v9.7c0 .3.3.7.7.7h3.9c1.8 0 3.3-1.5 3.2-3.3 0-.9-.4-1.7-1-2.2.7-.7 1.1-1.5 1.1-2.4zm-6-1.4h2.7c.8 0 1.4.6 1.4 1.4 0 .8-.6 1.4-1.4 1.4h-2.7V3.2zm4.1 6c0 .8-.6 1.4-1.4 1.4h-2.7V7.8h2.7c.8 0 1.4.6 1.4 1.4z"}},page:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.5 8.8h-5.2c-1.2 0-1.9-.8-1.9-2V1.7c0-.5-.3-.8-.8-.8H5c-1.2 0-2.2 1-2.2 2.2v17.8c0 1.2 1 2.2 2.2 2.2h14c1.2 0 2.2-1 2.2-2.2V9.5c0-.4-.3-.7-.7-.7zm.6-2.8l-4.9-4.9c-.1-.1-.3-.2-.4-.2-.3 0-.6.3-.6.5v4c0 .8.8 1.5 1.6 1.5h3.9c.3 0 .5-.3.5-.5s0-.4-.1-.4z"}},palette:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.8 8C21.8 3.6 17.2.9 12.1.9 5.9.9.9 5.9.9 12s5 11.1 11.2 11.1c8.6 0 7.9-4.4 5.2-6.1-1.7-1-2.5-3.3-.9-5 3-3.1 7.8 1.8 6.4-4zM6 15.7c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3 2.3 1 2.3 2.3-1 2.3-2.3 2.3zm.5-8.8c0-1.3 1-2.3 2.3-2.3s2.3 1 2.3 2.3-1 2.3-2.3 2.3-2.3-1-2.3-2.3zm5 13.4c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3 2.3 1 2.3 2.3-1 2.3-2.3 2.3zm4.2-12c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3S18 4.7 18 6s-1 2.3-2.3 2.3z"}},password:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.7 22.8H3.3c-1.2 0-2.1-.9-2.1-2.1V3.3c0-1.2.9-2.1 2.1-2.1h17.4c1.2 0 2.1.9 2.1 2.1v17.4c0 1.1-.9 2.1-2.1 2.1zM4.1 4.8v14.4c0 .4.3.7.7.7h14.4c.5 0 .8-.3.8-.7V4.8c0-.5-.3-.8-.8-.8H4.8c-.4.1-.7.4-.7.8zM17.9 11l-.4-1.4c-.1-.4-.5-.6-.9-.5l-3.2 1.1V7.1c0-.5-.3-.8-.7-.8h-1.4c-.5 0-.8.3-.8.8v3.1l-3-1.1c-.4-.1-.8.1-.9.5L6.1 11c-.1.4.1.8.5.9l2.9.9-2.1 2.8c-.2.4-.2.8.2 1.1l1.2.8c.3.2.8.1 1-.2l2.2-3.1 2.3 3.1c.2.3.7.4 1 .2l1.2-.8c.3-.3.4-.7.2-1.1l-2.1-2.8 2.8-.9c.4-.1.6-.5.5-.9z"}},paste:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.1 5.5h7.8c.4 0 .7-.3.7-.7v-2c0-1-.8-1.9-1.8-1.9H9.2c-1 0-1.8.9-1.8 1.9v2c0 .4.3.7.7.7zm12.2-2.7h-1.1c-.4 0-.7.3-.7.7v2c0 1.1-.9 1.9-1.9 1.9H7.4c-1 0-1.9-.8-1.9-1.9v-2c0-.4-.3-.7-.7-.7H3.7c-1 0-1.9.8-1.9 1.8v16.6c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V4.6c0-1-.9-1.8-1.9-1.8zm-2.8 16.1c0 .3-.1.5-.4.5H6.9c-.3 0-.4-.2-.4-.5V18c0-.3.1-.5.4-.5h10.2c.3 0 .4.2.4.5v.9zm0-3.7c0 .3-.1.5-.4.5H6.9c-.3 0-.4-.2-.4-.5v-.9c0-.3.1-.5.4-.5h10.2c.3 0 .4.2.4.5v.9zm0-3.7c0 .3-.1.5-.4.5H6.9c-.3 0-.4-.2-.4-.5v-.9c0-.3.1-.4.4-.4h10.2c.3 0 .4.1.4.4v.9z"}},pause:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.8 19.8c0 .5.5 1 1 1h1.8c.5 0 .9-.5.9-1V4.2c0-.5-.4-1-.9-1h-1.8c-.5 0-1 .5-1 1v15.6zm-7.3 0c0 .5.4 1 .9 1h1.8c.5 0 1-.5 1-1V4.2c0-.5-.5-1-1-1H7.4c-.5 0-.9.5-.9 1v15.6z"}},people:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.4 10.3c-1.3-.5-1.5-1-1.5-1.5s.4-1 .8-1.4c.8-.7 1.2-1.6 1.2-2.7 0-2-1.3-3.8-3.7-3.8-2.1 0-3.4 1.5-3.6 3.3 0 .2.1.3.2.4 1.8 1.1 2.8 3.1 2.8 5.4 0 1.8-.6 3.3-1.9 4.4-.1.1-.1.3 0 .4.3.2 1.1.6 1.5.8.2 0 .3.1.4.1h5.6c1 0 1.9-.9 1.9-1.9v-.2c0-1.6-1.8-2.5-3.7-3.3zm-6.2 6.4c-1.6-.6-1.8-1.2-1.8-1.8 0-.6.5-1.2 1-1.7.9-.7 1.4-1.8 1.4-3.1 0-2.4-1.6-4.5-4.4-4.5-2.8 0-4.5 2.1-4.5 4.5 0 1.3.5 2.4 1.5 3.1.5.5.9 1.1.9 1.7 0 .6-.2 1.2-1.8 1.8-2.3.9-4.6 2-4.6 3.9v.6c0 1 .9 1.9 1.9 1.9h12.8c1.1 0 1.9-.9 1.9-1.9v-.6c0-1.9-2-3-4.3-3.9z"}},phone_landscape:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M24 6c0-1-.8-1.8-1.8-1.8H1.8C.8 4.2 0 5 0 6v12c0 1 .8 1.8 1.8 1.8h20.4c1 0 1.8-.8 1.8-1.8V6zM2.3 13.4c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zm18 3c0 .4-.3.7-.7.7H5.3c-.4 0-.7-.3-.7-.7V7.6c0-.4.3-.7.7-.7h14.3c.4 0 .7.3.7.7v8.8z"}},phone_portrait:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.8 1.8C19.8.8 19 0 18 0H6C5 0 4.2.8 4.2 1.8v20.4c0 1 .8 1.8 1.8 1.8h12c1 0 1.8-.8 1.8-1.8V1.8zM12 23.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zm5.1-4.4c0 .4-.3.7-.7.7H7.6c-.4 0-.7-.3-.7-.7V4.4c0-.4.3-.7.7-.7h8.8c.4 0 .7.3.7.7v14.3z"}},photo:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 9.2c-2 0-3.7 1.7-3.7 3.7s1.7 3.7 3.7 3.7 3.7-1.6 3.7-3.7S14 9.2 12 9.2zm9.2-2.7h-2.4c-.6 0-1.2-.4-1.5-.9L16.2 4c-.3-.8-1.1-1.2-1.9-1.2H9.7c-.8 0-1.6.4-1.9 1.2L6.7 5.6c-.3.5-.9.9-1.6.9H2.8c-1 0-1.9.8-1.9 1.8v11.1c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V8.3c0-1-.9-1.8-1.9-1.8zm-9.2 12c-3 0-5.5-2.5-5.5-5.6S9 7.4 12 7.4s5.5 2.5 5.5 5.5-2.5 5.6-5.5 5.6z"}},picklist:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 18.9c.5 0 .9-.4.9-.9V6c0-.5-.4-.9-.9-.9H1.8c-.5 0-.9.4-.9.9v12c0 .5.4.9.9.9h20.4zM2.8 17.1V6.9h18.4v10.2H2.8zM15 10.6h4.3c.1 0 .2.2.1.2l-2.1 2.5c-.1.1-.3.1-.4 0l-2.1-2.5s.1-.2.2-.2z"}},picklist_choice:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.2 15.6H1.7c-.4 0-.7.3-.7.7v1.5c0 .4.3.7.7.7h1.5c.4 0 .7-.4.7-.7v-1.5c0-.4-.3-.7-.7-.7zM7.6 5.4h14.6c.4 0 .7-.3.7-.7V3.2c0-.4-.3-.7-.7-.7H7.6c-.4 0-.7.3-.7.7v1.5c0 .4.3.7.7.7zm0 6.6h14.6c.4 0 .7-.3.7-.7V9.8c0-.4-.3-.8-.7-.8H7.6c-.4 0-.7.4-.7.8v1.5c0 .3.3.7.7.7zM3.2 2.5H1.7c-.4 0-.7.3-.7.7v1.5c0 .4.3.7.7.7h1.5c.4 0 .7-.3.7-.7V3.2c0-.4-.3-.7-.7-.7zm0 6.5H1.7c-.4 0-.7.3-.7.7v1.5c0 .4.3.8.7.8h1.5c.4-.1.7-.4.7-.8V9.7c0-.3-.3-.7-.7-.7zm6.4 9.3c0-.8.3-1.6.8-2.3v-.5H7.6c-.4 0-.7.3-.7.7v1.5c0 .4.3.8.7.8h2v-.2zm6.6-3.8c.4-.4.9-.6 1.5-.6.8 0 1.5.4 1.8 1 .3-.1.7-.2 1-.2 1.4 0 2.5 1.1 2.5 2.4 0 1.4-1.1 2.5-2.5 2.5-.1 0-.3 0-.4-.1-.3.6-.9.9-1.6.9-.3 0-.5 0-.8-.1-.3.7-1 1.2-1.9 1.2-.9 0-1.6-.5-1.9-1.3h-.4c-1.1 0-2-.8-2-1.9 0-.7.4-1.3 1-1.6-.1-.3-.2-.6-.2-.9 0-1.2 1-2.2 2.2-2.2.7 0 1.4.3 1.7.9z"}},picklist_type:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.3 6.9H7.6c-.4 0-.8-.3-.8-.8V4.7c0-.5.4-.8.8-.8h14.7c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm0 6.6H7.6c-.4 0-.8-.3-.8-.8v-1.4c0-.5.4-.8.8-.8h14.7c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm-19.1 0H1.7c-.4 0-.7-.3-.7-.8v-1.4c0-.5.3-.8.7-.8h1.5c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm0-6.6H1.7c-.4 0-.7-.3-.7-.8V4.7c0-.5.3-.8.7-.8h1.5c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm0 13.2H1.7c-.4 0-.7-.3-.7-.8v-1.4c0-.5.3-.8.7-.8h1.5c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8zm19.1 0H7.6c-.4 0-.8-.3-.8-.8v-1.4c0-.5.4-.8.8-.8h14.7c.4 0 .7.3.7.8v1.4c0 .5-.3.8-.7.8z"}},pin:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.8 7.1L16.6.9C16 .2 15 .2 14.3.9s-.6 1.6 0 2.3l.3.3-7.4 4.9-.3-.2c-.6-.6-1.6-.6-2.3 0s-.6 1.7 0 2.3l3.3 3.3-6.8 6.9c-.6.6-.6 1.7 0 2.3.7.7 1.7.7 2.4 0l6.8-6.8 2.9 2.9c.6.6 1.7.6 2.3 0s.7-1.7 0-2.3l-.2-.3L20.2 9l.3.3c.6.7 1.7.7 2.3 0 .6-.5.6-1.5 0-2.2z"}},pinned:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17 10.9h-.2l-1.6-7.3h.4c.8 0 1.4-.6 1.4-1.3S16.4 1 15.6 1H8.4C7.6 1 7 1.6 7 2.3s.6 1.3 1.4 1.3h.4l-1.6 7.3H7c-.7 0-1.3.6-1.3 1.4s.6 1.3 1.3 1.3h3.9v8c0 .8.6 1.4 1.4 1.4s1.4-.6 1.4-1.4v-7.9h3.4c.7 0 1.3-.6 1.3-1.4s-.6-1.4-1.4-1.4z"}},play:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.7 20.2V3.8c0-.4.6-.8 1-.4l15.3 8c.4.3.4.9 0 1.2l-15.3 8c-.4.4-1 .1-1-.4z"}},podcast_webinar:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M22.2 10.5c0-2.2-.9-4.4-2.4-6.1l-.1-.2C17.8 2.2 15 .9 12 .9 9.1.9 6.4 2.1 4.6 4h-.1c-1.7 1.7-2.7 4.1-2.7 6.5 0 2.5 1 4.8 2.8 6.6.3.3.9.3 1.3 0s.3-1 0-1.4c-1.4-1.3-2.2-3.2-2.2-5.1 0-1.7.6-3.3 1.6-4.6.2-.2.3-.4.6-.6l.1-.1c1.5-1.6 3.6-2.5 6-2.5 4.5 0 8.2 3.5 8.3 7.8 0 1.9-.8 3.8-2.2 5.1-.4.4-.4 1 0 1.4s1 .3 1.3 0c1.8-1.8 2.8-4.1 2.8-6.6zm-3.9.1c0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-3.4-2.8-6-6.3-6-2.9 0-5.3 1.8-6 4.2-.2.6-.3 1.1-.3 1.7 0 1.5.5 2.8 1.5 3.9.4.3 1 .3 1.4 0 .4-.4.4-1 0-1.4-.7-.6-1-1.5-1-2.4 0-2.3 2-4.1 4.4-4.1s4.4 1.9 4.4 4.1c0 .9-.3 1.8-1 2.4-.4.4-.4 1 0 1.4.4.3.9.3 1.3 0 1-1.1 1.6-2.4 1.6-3.8zM13 15h-2c-.8 0-1.5.6-1.5 1.4v5.2c0 .8.7 1.5 1.5 1.5h2c.8 0 1.5-.6 1.5-1.5v-5.2c0-.8-.7-1.4-1.5-1.4z"},circle:{cx:"12",cy:"10.708",r:"2.492"}}},pop_in:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.2 14.4H19c.3 0 .7-.2.7-.6v-1.3c0-.4-.3-.8-.7-.8h-3.7c-.4 0-.6-.5-.3-.8l7.8-7.8c.3-.3.3-.7 0-1l-.9-.9c-.3-.3-.7-.3-1 0L13.1 9c-.3.3-.8.1-.8-.3V5c0-.3-.3-.8-.7-.8h-1.4c-.3 0-.6.5-.6.8v8.8c0 .4.2.6.6.6zm6.9 1.9h-1.9c-.2 0-.4.2-.4.5v2.8c0 .4-.4.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V9.9c0-.3.3-.7.6-.7h2.9c.3 0 .5-.2.5-.4V6.9c0-.3-.2-.4-.5-.4H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h12.9c1 0 1.8-.9 1.8-1.9v-4.4c0-.3-.1-.5-.4-.5z"}},power:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.9 3.6c-.3-.2-.7 0-.7.4v1.7c0 .3.2.7.5.8 2.4 1.4 4 4.2 3.6 7.3-.3 3.3-3.1 6.1-6.5 6.5-4.4.5-8.2-3-8.2-7.4 0-2.7 1.5-5.1 3.7-6.4.3-.1.5-.5.5-.8V4c0-.4-.4-.6-.7-.4-3.9 1.6-6.6 5.6-6.2 10.2.4 4.8 4.2 8.7 8.9 9.2 6.1.7 11.4-4.1 11.4-10.1 0-4.2-2.6-7.8-6.3-9.3zm-2.5-2c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v7.9c0 .3.3.7.7.7h1.4c.4 0 .7-.4.7-.7V1.6z"}},preview:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.9 11.6C21.7 7.2 17.2 4.2 12 4.2S2.3 7.2.1 11.6c-.1.3-.1.6 0 .8 2.2 4.4 6.7 7.4 11.9 7.4s9.7-3 11.9-7.4c.1-.3.1-.5 0-.8zM12 17.1c-2.8 0-5.1-2.3-5.1-5.1S9.2 6.9 12 6.9s5.1 2.3 5.1 5.1-2.3 5.1-5.1 5.1zm0-8.3c-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"}},print:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.5 8h-19c-1 0-1.8.9-1.8 1.9v6.4c0 1.1.8 1.9 1.8 1.9h2.8v2.7c0 1 .8 1.8 1.8 1.8h9.8c1.1 0 1.9-.8 1.9-1.8v-2.7h2.7c1 0 1.9-.8 1.9-1.9V9.9c-.1-1-.9-1.9-1.9-1.9zM3.8 12.8c-.8 0-1.4-.6-1.4-1.4S3 10 3.8 10s1.4.6 1.4 1.4-.6 1.4-1.4 1.4zm12.8 7.1c0 .4-.4.7-.7.7H8c-.3 0-.7-.3-.7-.7v-4.5c0-.4.4-.7.7-.7h7.9c.3 0 .7.3.7.7v4.5zm2.1-14.8c0 .4-.3.7-.7.7H5.9c-.4 0-.7-.3-.7-.7V2c0-.4.3-.7.7-.7H18c.4 0 .7.3.7.7v3.1z"}},priority:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.2 1.6c0-.4-.4-.7-.7-.7H2.1c-.4 0-.7.3-.7.7v20.8c0 .4.3.7.7.7h1.4c.3 0 .7-.3.7-.7V1.6zm17.7 2c-7.4 3.8-6.5-4.1-15.4-1-.3.1-.5.4-.5.6V14c0 .3.3.5.6.4 8.9-3 7.9 5.2 15.6.8.3-.1.4-.3.4-.6V3.9c0-.3-.4-.5-.7-.3z"}},privately_shared:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M16.4 18.2c-.3-1.9-2.2-2.8-3.8-3.5-.7-.3-1.7-.7-1.9-1.5-.2-.5-.1-1 .1-1.4.4-.4.8-.8 1.1-1.3.1-.1.1-.2.2-.3 1-1.4 1.1-3.2.5-4.8-.5-1.6-2-2.7-3.8-2.8h-.3c-1.8.1-3.2 1.2-3.8 2.8-.5 1.6-.4 3.4.5 4.8.1.1.2.2.2.3.4.5.8.9 1.2 1.3.1.4.2.9.1 1.4-.3.8-1.3 1.2-1.9 1.5-1.6.7-3.6 1.6-3.9 3.5-.3 1.6.8 3.2 2.4 3.2h10.9c1.5 0 2.6-1.6 2.2-3.2zm2.7-13.6c1.9-.1 3.4 1.4 3.4 3.2 0 .2-.1.2-.2.2h-.8c-.2 0-.2 0-.2-.2v.1c0-1.1-.9-2-1.9-2.1-1.2-.1-2.2.8-2.2 2 0 .1-.1.2-.2.2h-.8c-.1 0-.2-.1-.2-.2 0-1.7 1.4-3.1 3.1-3.2zm3.4 4.3H16c-.5 0-.9.3-.9.8v3.9c0 .4.4.8.9.8h6.5c.4 0 .8-.4.8-.8V9.7c0-.5-.4-.8-.8-.8zm-2.3 4c0 .1-.1.3-.2.3h-1.5c-.2 0-.3-.2-.2-.3l.3-1.2c-.3-.2-.5-.6-.4-1 .1-.4.4-.7.8-.8.7-.1 1.2.3 1.2 1 0 .3-.2.6-.4.8l.4 1.2z"}},process:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.5 10.7l3.9-4.9c.3-.4.8-.4 1.1 0l3.9 5c.2.1.4.3.6.3h4.4c.4 0 .8-.3.8-.7V3.7c0-1-.9-1.9-1.9-1.9H3.7c-1 0-1.9.9-1.9 1.9v6.7c0 .4.4.7.7.7h4.4c.3 0 .4-.2.6-.4zm9 2.6l-3.9 4.9c-.3.4-.9.4-1.2 0l-3.9-5c-.2-.1-.3-.3-.6-.3H2.5c-.3 0-.7.3-.7.7v6.7c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9v-6.7c0-.4-.4-.7-.7-.7H17c-.2 0-.4.2-.5.4z"}},prompt:{xmlns:"http://www.w3.org/2000/svg",path:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M21.7 2.1H2.3c-.8 0-1.4.6-1.4 1.4v14.1c0 .8.6 1.4 1.4 1.4H9l1.7 2.4c.4.6 1.3.8 1.9.3l.3-.3 1.9-2.4h6.9c.8 0 1.4-.6 1.4-1.4V3.5c0-.8-.6-1.4-1.4-1.4z"}},prompt_edit:{xmlns:"http://www.w3.org/2000/svg",path:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M21.7 2.1H2.3c-.8 0-1.4.6-1.4 1.4v14.1c0 .8.6 1.4 1.4 1.4H9l1.7 2.4c.4.6 1.3.8 1.9.3l.3-.3 1.9-2.4h6.9c.8 0 1.4-.6 1.4-1.4V3.5c0-.8-.6-1.4-1.4-1.4zM9.8 14.8c-.1.1-.1.1-.2.1l-2.3.6c-.2 0-.4-.2-.4-.4l.6-2.3c0-.1 0-.2.1-.2.1-.1.2-.1.3 0l1.9 1.9c.1.1.1.2 0 .3zm5.6-5.7l-4.7 4.7c-.1.1-.3.1-.3 0L8.5 12c-.1-.1-.1-.2 0-.3l4.7-4.8c.1-.1.2-.1.3 0l1.9 1.9c.1.1.1.2 0 .3zm1.4-1.4l-.5.6c-.1.1-.2.1-.3 0l-1.9-1.9c-.1-.1-.1-.3 0-.3l.5-.6c.4-.3.9-.3 1.2 0l1 1.1c.4.3.4.8 0 1.1z"}},push:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.3.9H9.2c-1 0-1.8.9-1.8 1.9 0 .3.2.7.4.8.2.1 1.9 1.9 1.9 1.9.2.1.4 0 .4-.2 0-.4.3-.7.7-.7h7.8c.4 0 .8.3.8.7v12.5c0 .3-.4.6-.8.6h-7.8c-.4 0-.6-.3-.6-.6v-.1c0-.2-.3-.3-.4-.1 0 0-1.8 1.7-2 1.8-.2.2-.4.5-.4.9v.9c0 1 .8 1.8 1.8 1.8h11.1c1 0 1.9-.8 1.9-1.8V2.8c0-1-.9-1.9-1.9-1.9zm-5.5 21.3c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zM12.7 11L7 5.3c-.3-.3-.7-.3-1 0l-1 .9c-.2.3-.2.7 0 1l2.2 2.1c.2.3 0 .8-.4.8H.7c-.4.1-.7.4-.7.7v1.4c0 .4.3.7.7.7h6.1c.4 0 .6.5.3.8L5 15.8c-.3.3-.3.7 0 1l1 1c.2.2.6.2.9 0l5.8-5.8c.3-.2.3-.7 0-1z"}},puzzle:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.8 17.7c-.1 1.3-.3 2.6-.5 3.9 0 .4-.5.8-.8.8-2.5.3-5 .5-7.5.5-2.4 0-4.9-.1-7.3-.5-.4 0-.8-.4-.9-.8-.3-2-.5-4.1-.5-6.2s.2-4.1.5-6.2c.1-.3.5-.7.9-.8 1.5-.2 3-.3 4.4-.4 0 0 1.2 0 1.1-1.2 0-1-1.8-1.7-1.8-3.4C8.4 2 9.8.9 12 .9c2.3 0 3.6 1.1 3.6 2.5 0 1.8-1.7 2.4-1.8 3.4C13.8 7.9 15 8 15 8c1.5.1 3 .2 4.5.4.3 0 .8.4.8.8.2 1.5.4 2.8.5 4.2 0 .4-.4.9-.8.9h-.4c-.4 0-1-.4-1.3-.7 0 0-1-1-2.1-1-1.7-.1-3 1.4-3 3s1.3 3.1 3 3.1c1-.1 2-1.1 2-1.1.4-.2 1-.5 1.4-.5h.4c.5 0 .8.3.8.6z"}},question:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.1 17.5h-2.3c-.4 0-.6-.2-.6-.6v-.7c0-1.9 1.2-3.7 3-4.3.6-.2 1.1-.5 1.5-1 2.3-2.8.2-6.1-2.6-6.2-1 0-1.9.3-2.7 1-.6.6-1 1.3-1 2.1-.1.2-.4.5-.7.5H5.4c-.5 0-.8-.4-.7-.8.1-1.7.9-3.3 2.2-4.5C8.4 1.6 10.2.8 12.3.9c3.8.1 6.9 3.3 7.1 7.1.1 3.2-1.9 6.1-4.9 7.2-.4.2-.7.5-.7 1v.6c0 .5-.3.7-.7.7zm.7 4.9c0 .4-.3.7-.6.7h-2.4c-.3 0-.6-.3-.6-.7v-2.3c0-.4.3-.7.6-.7h2.4c.3 0 .6.3.6.7v2.3z"}},question_mark:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.3 19.8c.4 0 .7.3.7.6v1.5c0 .4-.3.7-.7.7h-1.5c-.3 0-.6-.3-.6-.7v-1.5c0-.3.3-.6.6-.6h1.5zm.7-3.6c0-1 .6-1.8 1.4-2.2h.1c2.4-1 4.1-3.3 4.1-6.1 0-3.6-3-6.6-6.6-6.6-3.3 0-6.1 2.5-6.6 5.7 0 .4.3.8.7.8h1.5c.4 0 .7-.3.7-.6.3-1.8 1.9-3 3.7-3 2 0 3.7 1.6 3.7 3.7 0 1-.4 1.8-1 2.5v.1c-.4.4-1 .7-1.5.9-1.9.6-3.1 2.4-3.1 4.3v.7c0 .4.2.7.6.7h1.5c.4 0 .7-.3.7-.7l.1-.2z"}},questions_and_answers:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 12.9c0-1.8-1.2-3.3-2.8-3.9C20.2 4.5 16.5.9 12 .9S3.8 4.5 3.7 9C2.1 9.6.9 11.1.9 12.9c0 2 1.4 3.6 3.1 4 1 3.6 4.2 6.2 8 6.2s7-2.6 8-6.2c1.7-.4 3.1-2 3.1-4zm-4.6-4.1l-.1-.1.2.1h-.1zM12 21.2c-3.6 0-6.5-3-6.5-6.6 0-.9.2-2.3.6-3.2 0-.1.1-.2.2-.4 1.4-.5 2.6-1.5 3.3-2.7 1.7 2 4.2 3.4 7 3.4H18c.1.6.3 1.3.4 2.1-.3 1.1-2.1 2.2-4.6 2.4-.1-.3-.4-.5-.7-.5h-2.3c-.4 0-.6.4-.6.7v1.4c0 .4.2.7.6.7h2.3c.3 0 .6-.2.7-.5 1.6 0 3.1-.5 4.2-1.2-.8 2.6-3.2 4.4-6 4.4z"}},quick_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 1.5C5.8 1.5.7 6.2.7 11.9c0 1.8.5 3.5 1.4 5 .1.3.2.5.1.8l-1.5 4c-.1.4.2.7.6.6l4.1-1.5c.2-.1.5-.1.7.1 1.7.9 3.8 1.5 6 1.5 6.2-.1 11.3-4.7 11.3-10.4 0-5.8-5.1-10.5-11.4-10.5zm-5.2 10c0-.2.2-.4.4-.4h7.4c.2 0 .4.2.4.4v1c0 .2-.1.4-.4.4H7.2c-.2 0-.5-.2-.5-.4v-1zM17.4 16c0 .2-.2.4-.5.4H7.2c-.2 0-.5-.2-.5-.4v-.9c0-.2.2-.5.5-.5h9.7c.2 0 .5.2.5.5v.9zm0-7.1c0 .2-.2.5-.5.5H7.2c-.2 0-.5-.2-.5-.5V8c0-.2.2-.4.5-.4h9.7c.2 0 .5.2.5.4v.9z"}},quip:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.3 1C5.8 1.3 1.3 5.8 1 11.3c-.5 6.4 4.6 11.8 11 11.8h11.1V12c0-6.4-5.4-11.5-11.8-11zM6.7 7.2c0-.5.4-.8.8-.8h9c.4 0 .8.3.8.8v.7c0 .4-.4.7-.8.7H7.4c-.4 0-.7-.3-.7-.7v-.7zm10.6 9.6c0 .4-.4.7-.8.7H7.4c-.4 0-.7-.3-.7-.7V16c0-.4.3-.7.7-.7h9.1c.4 0 .7.3.7.7v.8h.1zm2.7-4.4c0 .4-.3.7-.7.7H4.7c-.5 0-.8-.3-.8-.7v-.8c0-.4.3-.7.8-.7h14.6c.4 0 .7.3.7.7v.8z"}},quotation_marks:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.4 3c-4.1 0-7.3 3.2-7.3 7.4v9.9c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-7.8c0-.4-.3-.7-.7-.7h-5.7v-1.4c0-2.3 2.2-4.6 4.5-4.6h1.2c.4 0 .7-.4.7-.7V3.7c0-.4-.3-.7-.7-.7h-1.2zM9 3c-4.2 0-7.3 3.2-7.3 7.4v9.9c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-7.8c0-.4-.3-.7-.7-.7H4.4v-1.4c0-2.3 2.3-4.6 4.6-4.6h1.2c.4 0 .7-.4.7-.7V3.7c0-.4-.3-.7-.7-.7H9z"}},quote:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.9 1h-8.1c-.5-.1-1 .2-1.4.6l-9.8 9.9c-.9.8-.9 2.3 0 3.1l7.8 7.9c.8.8 2.3.8 3.2 0l10-10.1c.3-.4.6-1 .5-1.5V3.2c0-1.2-1-2.2-2.2-2.2zm-8 16.2l-.5.5c-.3.3-.8.3-1 0l-5.1-5c-.3-.2-.3-.7 0-1l.5-.5c.3-.3.8-.3 1 0l5.1 5c.3.3.3.7 0 1zm2.9-2.9l-.5.5c-.3.2-.7.2-1 0l-5-5c-.3-.3-.3-.8 0-1l.5-.5c.3-.3.7-.3 1 0l5 5c.4.2.4.7 0 1zM17.9 8c-1 0-1.8-.8-1.8-1.9s.8-1.8 1.8-1.8 1.9.8 1.9 1.8S18.9 8 17.9 8z"}},radio_button:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6 13.2c-2.7 0-4.8 2.1-4.8 4.8s2.1 4.9 4.8 4.9c2.7 0 4.9-2.2 4.9-4.9S8.7 13.2 6 13.2zm0 7.5c-1.4 0-2.7-1.2-2.7-2.7s1.2-2.7 2.7-2.7 2.8 1.2 2.8 2.7-1.3 2.7-2.8 2.7zm12-7.5c-2.7 0-4.9 2.1-4.9 4.8 0 2.7 2.1 4.9 4.9 4.9 2.6 0 4.8-2.1 4.8-4.9 0-2.7-2.1-4.8-4.8-4.8zM6 1.2C3.3 1.2 1.2 3.3 1.2 6c0 2.7 2.1 4.9 4.8 4.9 2.7 0 4.9-2.1 4.9-4.9 0-2.7-2.2-4.8-4.9-4.8zm0 7.5C4.6 8.7 3.3 7.5 3.3 6S4.5 3.3 6 3.3 8.8 4.5 8.8 6 7.5 8.7 6 8.7zm12-7.5c-2.7 0-4.9 2.1-4.9 4.8 0 2.7 2.1 4.9 4.9 4.9 2.6 0 4.8-2.1 4.8-4.9 0-2.7-2.1-4.8-4.8-4.8z"}},rating:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.3 19.8v2.4c0 .5-.4.9-.9.9h-.9c-.5 0-.9-.4-.9-.9v-2.4c0-.2.2-.4.4-.3 0 0 .5.1 1 .1s.9-.1.9-.1c.3-.1.5.1.4.3zM5.1 5V1.8c0-.5-.4-.9-.9-.9h-1c-.5 0-.9.4-.9.9V5C1.5 5.4.9 6.4.9 7.4c0 1.5 1.3 2.8 2.8 2.8s2.8-1.3 2.8-2.8c0-1-.6-2-1.4-2.4zm-.5 7.1s-.5.1-1 .1-.9-.1-.9-.1c-.2-.1-.4.1-.4.4v9.7c0 .5.4.9.9.9h.9c.5 0 .9-.4.9-.9v-9.7c.1-.3-.1-.5-.4-.4zm16.6 1.8s-.5.2-.9.2-1-.2-1-.2c-.2 0-.4.1-.4.4v7.9c0 .5.4.9.9.9h.9c.5 0 .9-.4.9-.9v-7.9c.1-.2-.1-.4-.4-.4zm.5-7.1v-5c0-.5-.4-.9-.9-.9h-1c-.5 0-.9.4-.9.9v5c-.8.5-1.4 1.4-1.4 2.4 0 1.6 1.3 2.8 2.8 2.8s2.8-1.2 2.8-2.8c0-1-.6-1.9-1.4-2.4zm-8.3 5.6V1.8c0-.5-.4-.9-.9-.9h-1c-.5 0-.9.4-.9.9v10.6c-.8.4-1.4 1.4-1.4 2.4 0 1.5 1.3 2.7 2.8 2.7s2.8-1.2 2.8-2.7c0-1-.6-2-1.4-2.4z"}},reassign:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.7 4.7C8.4 2.4 4.6 1.6 1.3 2.6c-.1 0-.3.3-.3.6V5c0 .4.3.5.5.4C4 4.4 7.1 4.9 9 7l.6.5c.2.3 0 .8-.4.8H5.6c-.3 0-.7.2-.7.7v1.3c0 .4.3.7.7.7l8.9.1c.4 0 .7-.3.7-.7V1.6c0-.4-.2-.7-.7-.7h-1.3c-.4 0-.8.3-.8.7v3.6c0 .4-.5.6-.8.3 0 .1-.9-.8-.9-.8zm-9.1 8.1H3c.4 0 .7.4.7.7v6.1c0 .4.3.7.7.7h15.2c.4 0 .7-.3.7-.7V7.8c0-.4-.3-.7-.7-.7h-1.8c-.4 0-.7-.3-.7-.7V5c0-.3.3-.7.7-.7h3.4c1 0 1.9.9 1.9 1.9v15c0 1-.9 1.9-1.9 1.9H2.8c-1 0-1.9-.9-1.9-1.9v-7.7c0-.3.3-.7.7-.7z"}},record:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 3.7c4.6 0 8.3 3.7 8.3 8.3s-3.7 8.3-8.3 8.3-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7z"}},record_create:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.9 5.4h8.2c.4 0 .7-.4.7-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12.2-2.6h-.7c-.2 0-.4.1-.4.3v1.5c0 1.6-1.3 3-2.9 3H7.9C6.3 7.6 5 6.2 5 4.6V3.1c0-.2-.2-.3-.4-.3h-.7c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zm-2.7 13c0 .2-.2.4-.4.4h-4c-.2 0-.3 0-.3.2v4c0 .2-.1.4-.3.4h-.8c-.2 0-.3-.2-.3-.4v-4c0-.2-.1-.2-.3-.2H7c-.2 0-.4-.2-.4-.4V15c0-.1.2-.3.4-.3h4c.2 0 .3-.1.3-.3v-4c0-.2.1-.4.3-.4h.8c.2 0 .3.2.3.4v4c0 .2.1.3.3.3h4c.2 0 .4.2.4.3v.8z"}},record_delete:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.9 5.4h8.2c.4 0 .7-.4.7-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12.2-2.6h-.7c-.2 0-.4.1-.4.3v1.5c0 1.6-1.3 3-2.9 3H7.9C6.3 7.6 5 6.2 5 4.6V3.1c0-.2-.2-.3-.4-.3h-.7c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zm-4.3 16.8c0 .6-.5 1.1-1.1 1.1H9.3c-.7 0-1.1-.5-1.1-1.1v-4.8c0-.2.1-.3.3-.3h7c.2 0 .3.1.3.3v4.8zm1-6.9c0 .2-.2.3-.4.3H7.6c-.2 0-.3-.1-.3-.3V12c0-.2.1-.3.3-.3h2.8v-.9c0-.6.4-1 1-1h1.3c.5 0 .9.4.9 1v.9h2.8c.2 0 .4.1.4.3v.7zm-5.7 3.4h-.5c-.1 0-.2.1-.2.2v2.6c0 .2.1.3.2.3h.5c.1 0 .2-.1.2-.3v-2.6c0-.1-.1-.2-.2-.2zm2.2 0h-.4c-.2 0-.3.1-.3.2v2.6c0 .2.1.3.3.3h.4c.2 0 .3-.1.3-.3v-2.6c0-.1-.1-.2-.3-.2zm-.8-5.3h-1c-.1 0-.2.1-.2.2v.7h1.3V11c.1-.1 0-.2-.1-.2z"}},record_lookup:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.9 5.4h8.2c.4 0 .7-.4.7-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12.2-2.6h-.7c-.2 0-.4.1-.4.3v1.5c0 1.6-1.3 3-2.9 3H7.9C6.3 7.6 5 6.2 5 4.6V3.1c0-.2-.2-.3-.4-.3h-.7c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zm-2.8 17.6l-.5.4c-.1.2-.3.2-.4 0l-3-3c-.9.6-2 .9-3.1.8-1.9-.3-3.5-1.9-3.7-3.9-.2-2.7 2-4.9 4.7-4.6 2 .1 3.6 1.7 3.8 3.6.2 1.2-.1 2.3-.7 3.1l3 3c0 .2 0 .4-.1.6zm-6.5-9c-1.6 0-2.9 1.4-2.9 3s1.3 2.9 2.9 2.9 3-1.3 3-2.9-1.3-3-3-3z"}},record_update:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.9 5.4h8.2c.4 0 .7-.4.7-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12.2-2.6h-.7c-.2 0-.4.1-.4.3v1.5c0 1.6-1.3 3-2.9 3H7.9C6.3 7.6 5 6.2 5 4.6V3.1c0-.2-.2-.3-.4-.3h-.7c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16.2c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zM15.7 14l-5.9 5.9-2.6.8c-.2 0-.5-.2-.4-.4l.7-2.6 5.9-5.9c.1-.1.3-.1.4 0l1.8 2c.2 0 .2.1.1.2zm1.7-1.7l-.7.8c-.1.1-.3.1-.4 0l-1.9-2c-.1-.1-.1-.2 0-.3l.7-.7c.4-.4 1-.4 1.3 0l1 .9c.4.4.4 1 0 1.3z"}},recurring_exception:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18 16.2L12.8 11l-.3-.3-4.6-4.6-2-2-2.3-2.3c-.3-.3-.8-.4-1.1-.1l-.9 1c-.3.2-.3.6-.1.9l18.7 18.7.1.1c.3.3.8.4 1.1.1l.9-.9c.3-.3.3-.8-.1-1.2L20 18.3l-2-2.1zM11.5 5.1c1.8 0 3.6.7 4.9 2 .2.2.4.4.5.7.2.3-.1.5-.6.5H13l2.7 2.8h5.9c.3 0 .6-.3.6-.6V2.1c-.1-.4-.5-.7-.8-.7H20c-.4 0-.7.3-.7.7v3.2c0 .4-.2.6-.6.3-.1-.2-.2-.3-.4-.4-2.3-2.3-5.6-3.3-8.9-2.7-.6.2-1.1.3-1.7.6l2.2 2.2c.5-.2 1-.2 1.6-.2zm.9 14c-1.8 0-3.6-.7-4.9-2-.2-.2-.4-.4-.5-.7-.2-.3.2-.5.6-.5h3.2s.1 0 .2-.1l-2.7-2.7H2.4c-.3 0-.6.3-.6.6v8.4c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-3.2c0-.4.2-.6.6-.3.1.1.2.3.4.4 2.3 2.3 5.6 3.3 8.9 2.6.6-.1 1.1-.2 1.7-.5L14 18.9c-.5.1-1 .2-1.6.2z"}},recycle_bin_empty:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21 4.6h-5.8V2.8c0-1-.8-1.9-1.9-1.9h-2.7c-1 0-1.9.9-1.9 1.9v1.8H3c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h18c.3 0 .6-.3.6-.7V5.3c0-.4-.2-.7-.6-.7zm-7.7 0h-2.7V3.2c0-.2.2-.4.4-.4h1.9c.3 0 .4.2.4.4v1.4zm5.9 4.6H4.8c-.3 0-.6.4-.6.7v10.9c0 1.3 1 2.3 2.3 2.3h11c1.3 0 2.3-1 2.3-2.3V9.9c0-.3-.3-.7-.6-.7zm-8.5 11.5l-2.3.1c-.1 0-1 0-1.6-1-.6-1-.1-1.8.6-3l-.7-.5c-.1 0-.1-.1-.1-.1l.2-.2 1.8-.4.1-.1c.1 0 .2 0 .3.1v.2l.4 1.8c0 .1 0 .2-.1.2-.1.1-.1.1-.2 0l-.6-.4c-.7 1.1-.7 1.4-.6 1.7.2.3.5.3.5.3h2.3c.2 0 .5.1.6.3.1.1.1.2.1.3 0 .4-.3.7-.7.7zm1.7-6.7c0-.1 0-.2.1-.2l.6-.3c-.5-1.1-.8-1.4-1.1-1.4-.4 0-.5.2-.5.3l-1.2 1.9c-.1.2-.3.3-.6.3-.1 0-.2-.1-.3-.1-.3-.2-.4-.6-.2-.9l1.2-1.9c.1-.1.5-.9 1.6-.9 1.2 0 1.6.9 2.3 2.2l.7-.4c.1 0 .2 0 .2.1.1 0 .1.1.1.2l-.7 1.9s0 .1-.1.1h-.1l-1.9-.7c-.1-.1-.1-.1-.1-.2zm4.8 5.7c-.5 1-1.6 1-2.9 1l-.1.8c0 .1 0 .1-.1.1s-.1.1-.2 0l-1.3-1.4c-.1-.1 0-.3 0-.3v-.1l1.5-1.2c.1-.1.1-.1.2-.1s.1.1.1.2v.7c1.2 0 1.6-.1 1.8-.3.1-.3 0-.5 0-.6l-1.2-2v-.6l.3-.3c.3-.2.7-.1.9.3l1.2 2c0 .1.3.8-.2 1.8z"}},recycle_bin_full:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.4 3.3l-5.5.9-.3-1.8c-.2-1-1.1-1.6-2-1.5l-2.7.5c-1 .1-1.6 1-1.5 2l.3 1.8-5.5.8c-.3.1-.6.5-.5.8l.2 1.3c.1.4.4.6.8.6l17.1-2.8c.4 0 .6-.4.6-.8l-.3-1.3c0-.3-.4-.6-.7-.5zm-7.3 1.2l-2.6.4-.3-1.3c0-.2.1-.5.4-.5l1.8-.3c.2 0 .4.1.5.4l.2 1.3zm6 5.2H5.3c-.4 0-.7.3-.7.7v10.5c0 1.2.9 2.2 2.2 2.2h10.7c1.2 0 2.2-1 2.2-2.2V10.4c.1-.4-.2-.7-.6-.7zM11 20.8l-2.3.1c-.1 0-.9 0-1.5-.9-.6-1-.1-1.8.6-3l-.6-.4c-.1 0-.1-.1-.1-.2s0-.1.1-.1l1.8-.4.1-.1c.1 0 .1 0 .2.2l.1.1.3 1.8c0 .1 0 .1-.1.2h-.2l-.5-.4c-.6 1-.7 1.4-.6 1.6.2.3.4.4.4.4l2.2-.1c.3 0 .5.1.6.3.1.1.1.2.1.3 0 .3-.2.6-.6.6zm1.6-6.5c0-.1 0-.1.1-.2l.6-.3c-.6-1-.7-1.3-1.1-1.3-.3 0-.4.2-.5.2l-1.1 1.9c-.1.2-.4.3-.6.3-.1 0-.2 0-.3-.1-.3-.2-.4-.5-.2-.9l1.2-1.9s.5-.7 1.5-.7c1.1 0 1.6.8 2.2 2l.7-.3c.1 0 .1 0 .2.1 0 0 .1.1 0 .1l-.5 1.8c0 .1-.1.1-.1.1h-.2l-1.8-.7c-.1 0-.1 0-.1-.1zm4.7 5.5c-.6 1-1.5 1-2.9.9v.8c0 .1-.1.1-.1.1s-.1.1-.2 0l-1.4-1.4c-.1-.1 0-.2 0-.2l.1-.1 1.5-1.3h.1s.1.1.1.2v.7c1.1 0 1.5-.1 1.7-.3s0-.6 0-.6l-1.1-1.9c-.1-.2-.1-.5 0-.6.1-.1.1-.2.2-.3.3-.2.7-.1.9.3l1.1 1.9c.1.1.5.8 0 1.8zM9.9 8.7L18 7.4v1.3z"}},redo:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.4 5.8h.3c.5 0 .5-.4.2-.6l-2.3-2.3c-.2-.2-.2-.7 0-1l1-.9c.2-.3.7-.3 1 0l5.9 5.9c.3.3.3.6 0 .9l-6 6c-.3.2-.6.2-.9-.1l-1-1c-.2-.3-.3-.7 0-1l2.2-2.2c.4-.4.5-.6.1-.8-.1-.1-.5-.1-.5-.1H10c-3.3 0-5.9 2.7-5.9 5.9s2.6 5.9 5.9 5.9h3.7c.4 0 .7.4.7.7v1.5c0 .4-.3.7-.6.7H10c-4.8 0-8.8-3.9-8.8-8.8s4-8.7 8.8-8.7h6.4z"}},refresh:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.5 1.8h-1.4c-.4 0-.7.4-.7.7v3.3c0 .4-.2.6-.6.3-.1-.2-.2-.3-.4-.5-2.3-2.3-5.6-3.2-8.9-2.6-1.1.2-2.3.7-3.2 1.3-2.8 1.9-4.5 4.9-4.5 8.1 0 2.5.9 5 2.7 6.8 1.8 1.9 4.3 3 7 3 2.3 0 4.6-.8 6.3-2.3.3-.3.3-.7.1-1l-1-1c-.2-.2-.7-.3-.9 0-1.7 1.3-4 1.9-6.2 1.3-.6-.1-1.2-.4-1.8-.7-2.6-1.6-3.8-4.7-3.1-7.7.1-.6.4-1.2.7-1.8 1.3-2.2 3.6-3.5 6-3.5 1.8 0 3.6.8 4.9 2.1.2.2.4.4.5.6.2.4-.2.6-.6.6h-3.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.6.7.6h8.4c.3 0 .6-.2.6-.6V2.5c0-.3-.4-.7-.7-.7z"}},relate:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zm-3.7 6.5c0 .2-.2.5-.4.5H9.7v2.7c0 .3-.2.5-.5.5h-.9c-.2 0-.5-.2-.5-.5v-2.7H5.1c-.3 0-.5-.3-.5-.5v-.9c0-.3.2-.5.5-.5h2.7v-2.8c0-.2.3-.4.5-.4h.9c.3 0 .5.2.5.4v2.8h2.8c.2 0 .4.2.4.5v.9zm6.9 3.7h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2z"}},reminder:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M29.9 8.8V9v-.2z"},{d:"M23.2 3.5C22.9 2.1 21.8.9 20.4.7c-1.1-.1-2 .2-2.7.8-.3.2-.2.5.1.6 1.7.9 3.2 2.2 4.3 3.8.1.2.5.2.7 0 .4-.7.6-1.5.4-2.4zm-17-1.3c.3-.1.3-.5.1-.7C5.6.9 4.7.6 3.6.8 2.2 1 1 2.1.8 3.5c-.2.9 0 1.7.5 2.4.1.2.5.2.6 0C3 4.4 4.5 3 6.2 2.2zM12 3C6.4 3 1.8 7.6 1.8 13.2c0 2.2.8 4.3 2 6l-1.5 1.5c-.6.6-.6 1.5 0 2.1.3.3.7.5 1.1.5.3 0 .7-.2 1-.5L6 21.3c1.7 1.2 3.7 2 6 2s4.3-.8 6-2l1.5 1.5c.3.3.7.5 1.1.5.4 0 .8-.2 1.1-.5.6-.6.6-1.5 0-2.1l-1.5-1.5c1.2-1.7 2-3.8 2-6C22.2 7.5 17.6 3 12 3zM4.8 13.1C4.8 9.2 8.1 6 12 6s7.2 3.2 7.2 7.2-3.2 7.1-7.2 7.1-7.2-3.2-7.2-7.2zm8.4-.4v-3c0-.6-.6-1.1-1.2-1.1s-1.1.5-1.1 1.1v3.4c0 .3.1.6.4.8l2.6 2.6c.2.3.5.3.8.3.3 0 .5 0 .8-.3.4-.4.4-1.1 0-1.5l-2.3-2.3z"}]},remove_formatting:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.8 18.9l2.1-2.1c.2-.2.2-.5 0-.7l-1.3-1.3c-.1-.2-.4-.2-.6 0L18.9 17l-2-2c-.1-.2-.4-.2-.6 0L15 16.3c-.2.2-.2.5 0 .6l2 2-2 2c-.1.1-.1.4 0 .6l1.3 1.3c.2.2.5.2.7 0l1.9-1.9 2.1 2c.2.2.5.2.6 0l1.3-1.3c.2-.1.2-.4 0-.6l-2.1-2.1zM2.2 3.7h5L5.3 14.4c-.1.5.2.8.7.8h2.3c.3 0 .7-.2.7-.5l1.9-11H16c.3 0 .7-.2.7-.6l.2-1.4c.1-.4-.2-.8-.7-.8H2.4c-.3 0-.6.3-.6.6l-.3 1.4c-.1.4.3.8.7.8zm10.7 14.1c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6h10.6c.4 0 .7-.3.7-.6v-1.4z"}},remove_link:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.1 16.9c-.3 0-.6-.1-.9-.1-.2-.1-.6-.2-.8-.3-.2 0-.4 0-.5.1l-.2.2c-1.1 1.2-3 1.3-4.3.2-1.3-1.2-1.4-3.2-.1-4.5l3-3c.5-.5.9-.7 1.4-.8.7-.2 1.4-.2 2 .1.3.2.7.4 1 .7.1.1.3.3.4.6.1.2.5.3.7.1L14 9c.2-.2.2-.4 0-.6-.2-.2-.3-.4-.5-.6-.3-.3-.7-.6-1-.8-.6-.4-1.2-.6-1.9-.8-1.2-.2-2.6 0-3.8.6-.4.3-.8.6-1.2 1l-3 2.9c-2.1 2.1-2.3 5.6-.2 7.8 2.2 2.3 5.8 2.4 8 .1l1-1c.3-.2.1-.7-.3-.7zm7.6-6.5c2.2-2.2 2.2-5.9-.1-8-2.3-2.1-5.7-1.9-7.8.2l-1 .9c-.2.3-.1.7.3.8.6 0 1.2.1 1.7.3.2.1.4 0 .5-.1l.2-.2c1.1-1.1 3-1.3 4.3-.2 1.3 1.2 1.4 3.3.1 4.5l-3.1 3.1c-.4.4-.8.6-1.3.8-.7.1-1.4.1-2-.2-.3-.1-.7-.3-1-.7-.1-.1-.3-.3-.4-.5-.1-.3-.5-.3-.7-.1l-1.1 1.1c-.2.2-.2.5-.1.6.2.3.4.5.6.7.3.3.6.5 1 .8.6.3 1.2.6 1.9.7 1.2.2 2.5.1 3.7-.6.5-.2.9-.5 1.3-.9l3-3zm2.1 8.5l2.1-2.1c.2-.2.2-.5 0-.6l-1.3-1.3c-.1-.2-.4-.2-.6 0L18.9 17l-2-2c-.1-.1-.4-.1-.6 0L15 16.3c-.2.2-.2.5 0 .7l2 2-2 1.9c-.1.2-.1.5 0 .7l1.3 1.2c.2.2.5.2.7 0l1.9-1.9L21 23c.2.2.5.2.6 0l1.3-1.3c.2-.2.2-.5 0-.7l-2.1-2.1z"}},replace:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.2 17.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7v-5.1zm-5.5-7.1H1.5c-.5 0-.7.4-.4.6l3.7 3.8c.1.2.4.2.6 0l3.7-3.8c.3-.3 0-.6-.4-.6H6.5c0-2.4 2.3-4.7 4.6-4.7V2.8c-4.2 0-7.4 3.2-7.4 7.4zm15.6-.8c-.2-.2-.5-.2-.7 0L15 13.2c-.3.3-.1.6.4.6h2.2c0 2.8-1.9 4.7-4.7 4.7v2.7c4.2 0 7.5-3.2 7.5-7.4h2.2c.5 0 .7-.4.4-.6l-3.7-3.8zm3.8-7.8c0-.4-.3-.7-.7-.7h-6.9c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7V1.6z"}},reply:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.9 8.4s-.5-.6-.3-.8L11.2 5c.3-.3.3-.7 0-1l-1-1c-.2-.3-.6-.3-.9 0L3 9.2c-.2.3-.2.7 0 1l6.3 6.2c.3.3.7.3.9 0l1-.9c.3-.3.3-.7 0-1l-2.5-2.6c-.3-.3-.1-.7.2-.8 5.1.2 9.3 4.3 9.6 9.5 0 .4.3.7.7.7h1.4c.4 0 .6-.3.6-.8-.3-6.7-5.4-11.9-12.3-12.1z"}},reply_all:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.3 8.4s-.5-.6-.3-.8L13.6 5c.3-.3.3-.7 0-1l-1-1c-.2-.3-.6-.3-.9 0L5.4 9.2c-.2.3-.2.7 0 1l6.3 6.2c.3.3.7.3.9 0l1-.9c.3-.3.3-.7 0-1l-2.5-2.6c-.3-.3-.1-.7.2-.8 5.1.2 9.3 4.3 9.6 9.5 0 .4.3.7.7.7H23c.4 0 .6-.3.6-.8-.3-6.7-5.4-11.9-12.3-12.1zm-8.8 1l5.3-5.3c.3-.3.3-.7 0-1V3c-.3-.3-.7-.3-1 0L.6 9.2c-.3.3-.3.7 0 1l6.2 6.2c.3.3.7.3 1 0 .3-.3.3-.7 0-1l-5.3-5.3s-.3-.3 0-.7z"}},report_issue:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M10.5 21.1v.5c0 .5-.4.9-.9.9H1.9c-.6 0-1-.4-1-.9v-.5c0-1.2 1.4-1.9 2.7-2.5h.1c.1-.1.2-.1.3 0 .5.3 1.1.5 1.8.5.6 0 1.2-.2 1.7-.5.1-.1.2-.1.3 0h.1c1.3.6 2.6 1.3 2.6 2.5z"},{d:"M16.1 1.5c-4 0-7.1 3-7.1 6.7 0 1.1.3 2.3.9 3.3.1.1.1.2.1.4L9.2 14c-.1.3.1.5.4.6h.2l2.1-.8c.1 0 .3 0 .4.1 1.1.6 2.4 1 3.7 1 3.9 0 7-3 7-6.7.1-3.7-3.1-6.7-6.9-6.7zm-.5 2.6h1.3v3.2l-.1 2.2h-1.1l-.1-2.2V4.1zm.6 8c-.6 0-.8-.4-.8-.8s.2-.9.8-.9.9.4.9.9c0 .4-.2.8-.9.8z"}],ellipse:{cx:"5.723",cy:"15.554",rx:"2.4",ry:"2.631"}}},reset_password:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.4 10.6H4.6c-1 0-1.8.8-1.8 1.9v8.7c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9v-8.7c0-1.1-.8-1.9-1.8-1.9zm-5.1 9.9c-.7.5-1.5.7-2.3.7-.3 0-.6 0-.8-.1-1.1-.2-2.1-.8-2.7-1.7l1.6-1c.3.5.8.8 1.4.9.6.2 1.2 0 1.8-.3 1.1-.7 1.3-2.2.6-3.2-.3-.5-.8-.9-1.4-1-.6-.1-1.2 0-1.8.4l-.3.3 1.6 1.6H7.8v-4.2L9 14.1c.2-.2.5-.3.6-.5 1-.6 2.1-.8 3.2-.6 1.1.2 2 .8 2.6 1.7 1.3 2 .8 4.5-1.1 5.8zM4.6 8.4v.1-.1zm.5.4h1.8c.3 0 .5-.2.5-.4v-.1c0-2.6 2.2-4.8 4.9-4.6 2.5.2 4.3 2.3 4.3 4.8v-.1c0 .2.2.4.5.4h1.8c.3 0 .5-.2.5-.4v-.1c0-4.2-3.5-7.6-7.8-7.4-3.9.2-6.9 3.5-7 7.5.1.2.2.4.5.4z"}},resource_absence:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.1 17.1c0-1.3.4-2.7 1.1-3.8.8-1.4 1.6-1.9 2.3-3 1.2-1.7 1.4-4.1.7-6-.8-1.9-2.5-3-4.6-2.9S6 2.7 5.3 4.6c-.7 2-.4 4.5 1.3 6.1.6.7 1.3 1.7.9 2.6-.3 1-1.4 1.4-2.2 1.7-1.8.8-4 1.9-4.3 4.1-.4 1.7.8 3.5 2.7 3.5h7.8c.4 0 .6-.4.4-.7-1.1-1.4-1.8-3.1-1.8-4.8zm11.3-3.9c-2.2-2.2-5.7-2.2-7.8 0-2.2 2.1-2.2 5.6 0 7.8 2.1 2.2 5.6 2.2 7.8 0s2.2-5.7 0-7.8zM19.8 18c.2.2.2.6 0 .7l-.7.7c-.2.2-.4.2-.6-.1l-1-.9-1 1c-.2.2-.4.2-.6-.1l-.7-.6c-.2-.2-.2-.4 0-.6l1-1-1-1c-.2-.2-.2-.5 0-.6l.6-.7c.2-.2.5-.2.7 0l1 .9 1-.9c.1-.2.5-.3.7-.1l.6.7c.2.2.2.5 0 .7l-1 .9 1 1z"}},resource_capacity:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 11.5c-3.1 0-5.6 2.6-5.6 5.7s2.5 5.6 5.6 5.6 5.6-2.6 5.6-5.6-2.5-5.7-5.6-5.7zm3.9 6.2h-4v-4.3s1.5-.1 2.9 1.4 1.1 2.9 1.1 2.9zm-11.2-.5c0-1.2.5-2.7 1.1-3.8.8-1.4 1.7-2 2.4-3 1.1-1.7 1.3-4.2.6-6.1-.7-1.9-2.5-3-4.6-2.9-2 0-3.7 1.3-4.3 3.2-.8 2.1-.5 4.6 1.2 6.2.7.6 1.3 1.7 1 2.7-.4.9-1.5 1.3-2.2 1.7-1.8.8-4.1 1.9-4.4 4-.4 1.8.8 3.6 2.7 3.6h7.9c.4 0 .6-.4.4-.7-1.1-1.4-1.8-3.1-1.8-4.9z"}},resource_territory:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.3 13.4c.9-1.4 1.9-2 2.6-3 1.1-1.7 1.3-4.2.6-6-.7-1.9-2.5-3-4.5-3S7.3 2.7 6.6 4.6c-.7 2.1-.4 4.6 1.3 6.2.7.6 1.3 1.6 1 2.6-.4.9-1.5 1.3-2.3 1.7-1.8.8-3.9 1.9-4.3 4-.4 1.8.8 3.6 2.7 3.6h8.3c.4 0 .7-.5.5-.7-1.2-1.4-2.4-3.1-2.4-4.9 0-1.2.3-2.6.9-3.7zm5.1 4.8c-1 0-1.8-.8-1.8-1.8s.8-1.7 1.8-1.7 1.8.8 1.8 1.7c0 1-.8 1.8-1.8 1.8zm0-6c-2.4 0-4.2 1.9-4.2 4.2 0 2.9 3 5.7 3.9 6.4.2.1.4.1.6 0 .9-.8 3.9-3.5 3.9-6.4 0-2.3-1.8-4.2-4.2-4.2z"}},retweet:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.8 13.3l-1-1c-.2-.3-.6-.3-.9 0l-1.3 1.3c-.3.3-.8.1-.8-.4V5.5c0-1-.8-1.8-1.8-1.8h-6.7c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h5.1c.4 0 .7.3.7.7v6c0 .5-.5.6-.9.4L15 12.4c-.2-.3-.7-.3-.9 0l-1 1c-.3.3-.3.7 0 1l4.9 4.8c.2.3.6.3.9 0l4.9-4.9c.2-.3.2-.7 0-1zm-11.1 4.2H7.6c-.4 0-.7-.3-.7-.7v-6c0-.5.5-.6.9-.4L9 11.6c.2.3.7.3.9 0l1-.9c.3-.3.3-.7 0-1L6.1 4.8c-.3-.3-.7-.3-1 0L.2 9.7c-.3.3-.3.7 0 1l1 .9c.2.3.6.3.9 0l1.3-1.2c.2-.3.8-.1.8.3v7.8c0 1 .8 1.8 1.8 1.8h6.7c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7z"}},ribbon:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.1 16.9l-4.3 6.2-1.1-3h-3L6.5 15c.7.5 1.5.5 2.1.6.2.1.4.1.5.1.1.1.3.2.4.3.4.3.9.7 1.6.9zm7-1.9c-.7.5-1.5.5-2 .6-.2.1-.5.1-.6.1-.1.1-.3.2-.4.3-.4.3-.9.8-1.6 1l4.4 6.1 1.1-3h2.9L18.1 15zm-5.8-9.6c-1.4 0-2.6 1.1-2.6 2.5s1.2 2.6 2.6 2.6 2.6-1.1 2.6-2.6-1.1-2.5-2.6-2.5zm7 2.5c0 .9-.9 1.6-1.3 2.4-.3.8-.1 2-.7 2.6-.6.6-1.8.4-2.6.8-.8.3-1.5 1.3-2.4 1.3s-1.5-1-2.3-1.3c-.9-.4-2-.2-2.6-.8-.6-.6-.5-1.8-.8-2.6-.3-.8-1.3-1.5-1.3-2.4s1-1.5 1.3-2.3c.3-.8.1-2 .8-2.6.6-.6 1.7-.5 2.6-.8.8-.3 1.4-1.3 2.3-1.3s1.6 1 2.4 1.3c.8.3 2 .2 2.6.8.6.6.4 1.8.7 2.6.4.8 1.3 1.5 1.3 2.3zm-2.2 0c0-2.6-2.1-4.8-4.8-4.8S7.5 5.3 7.5 7.9s2.1 4.8 4.8 4.8 4.8-2.1 4.8-4.8z"}},richtextbulletedlist:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.7 6.2c0 .4-.3.7-.7.7H1.6c-.4 0-.7-.3-.7-.7V4.8c0-.3.3-.6.7-.6H3c.4 0 .7.3.7.6v1.4zm19.4-1.4c0-.3-.3-.6-.7-.6H6.2c-.3 0-.7.3-.7.6v1.4c0 .4.4.7.7.7h16.2c.4 0 .7-.3.7-.7V4.8zM3.7 11.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7v-1.4zm17.5 0c0-.4-.3-.7-.7-.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h14.3c.4 0 .7-.3.7-.7v-1.4zM3.7 17.8c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6H3c.4 0 .7-.3.7-.6v-1.4zm19.4 0c0-.4-.3-.7-.7-.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h16.2c.4 0 .7-.3.7-.6v-1.4z"}},richtextindent:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M24 5.3c0-.4-.3-.7-.7-.7h-7.8c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7V5.3zm-1.8 11.1c0-.4-.4-.7-.7-.7h-6c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h6c.3 0 .7-.4.7-.7v-1.4zm1.8-5.6c0-.3-.3-.6-.7-.6h-7.8c-.4 0-.7.3-.7.6v1.4c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-1.4zM12.9 2.5c0-.3-.3-.7-.7-.7h-1.4c-.3 0-.6.4-.6.7v19c0 .3.3.7.6.7h1.4c.4 0 .7-.4.7-.7v-19zM4.3 7.1c-.2-.3-.6-.1-.6.4v2.7h-3c-.4 0-.7.3-.7.6v1.4c0 .4.3.7.7.7h3v2.7c0 .5.4.7.6.5l3.9-4.2c.1-.2.1-.5 0-.6L4.3 7.1z"}},richtextnumberedlist:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 3v1.4c0 .4-.3.7-.7.7H9.9c-.3 0-.7-.3-.7-.7V3c0-.4.4-.7.7-.7h12.5c.4 0 .7.3.7.7zM9.9 9.7h8.3c.4 0 .7-.3.7-.7V7.6c0-.4-.3-.7-.7-.7H9.9c-.3 0-.7.3-.7.7V9c0 .4.4.7.7.7zm12.5 4.1H9.9c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7zm-4.2 4.7H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h8.3c.4 0 .7-.3.7-.7v-1.3c0-.4-.3-.7-.7-.7zM1.6 3.7h1.2v5.8c0 .3.3.7.7.7h.4c.4 0 .7-.4.7-.7V2.8c0-.5-.4-1-.9-1H1.6c-.4 0-.7.4-.7.7V3c0 .4.3.7.7.7zm3.9 9.2H1.6c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7h3v1.8H1.8c-.5 0-.9.4-.9.9v3.7c0 .5.4 1 .9 1h4c.3 0 .7-.4.7-.7V21c0-.4-.4-.7-.7-.7h-3v-1.8h2.7c.5 0 1-.5 1-1v-3.7c0-.5-.5-.9-1-.9z"}},richtextoutdent:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.6 10.2h-3V7.4c0-.4-.4-.7-.6-.4L.1 11.2c-.1.2-.1.4 0 .6L4 16c.2.2.6 0 .6-.4v-2.7h3c.3 0 .7-.3.7-.7v-1.4c0-.3-.4-.6-.7-.6zM24 5.3c0-.4-.3-.7-.7-.7h-7.8c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7V5.3zm-1.8 11.1c0-.4-.4-.7-.7-.7h-6c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h6c.3 0 .7-.4.7-.7v-1.4zm1.8-5.6c0-.3-.3-.6-.7-.6h-7.8c-.4 0-.7.3-.7.6v1.4c0 .4.3.7.7.7h7.8c.4 0 .7-.3.7-.7v-1.4zM12.9 2.5c0-.3-.3-.7-.7-.7h-1.4c-.3 0-.6.4-.6.7v19c0 .3.3.7.6.7h1.4c.4 0 .7-.4.7-.7v-19z"}},right:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.5 20.2V3.8c0-.4.6-.8 1-.4l9.8 8c.3.3.3.9 0 1.2l-9.8 8c-.4.4-1 .1-1-.4z"}},right_align_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.5 2.3h-19c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V3c0-.4-.4-.7-.7-.7zm0 5.5H6.2c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h15.3c.3 0 .7-.3.7-.7V8.5c0-.3-.4-.7-.7-.7zm0 11.1H6.2c-.3 0-.7.3-.7.7V21c0 .4.4.7.7.7h15.3c.3 0 .7-.3.7-.7v-1.4c0-.4-.4-.7-.7-.7zm0-5.5h-19c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h19c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7z"}},rotate:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4.9H21c-.4 0-.7.3-.7.7v3.2c0 .5-.5.7-.7.4-2.2-2.4-5.3-3.6-8.7-3.3-1.2.1-2.3.5-3.4 1-.5.3-1.1.6-1.5 1-.4.2-.4.7-.1 1l.9 1c.3.2.6.3.9.1.6-.4 1.2-.7 1.8-1 .3-.1.6-.2.9-.2 2.9-.6 5.7.6 7.3 2.4.5.7.1 1.1-.3 1.1h-3.3c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h8.4c.3 0 .6-.3.6-.6V1.6c0-.4-.3-.7-.7-.7zm-4.2 16.4c-.3-.3-.7-.3-1 0-.7.7-1.6 1.3-2.7 1.7-.2.1-.6.2-.9.2-2.9.6-5.7-.6-7.2-2.4-.6-.7-.2-1.1.3-1.1h3.2c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7H1.5c-.3 0-.6.3-.6.6v8.9c0 .4.3.7.7.7H3c.4 0 .7-.3.7-.7v-3.2c0-.5.5-.7.7-.4 2.2 2.4 5.3 3.6 8.7 3.3 1.2-.1 2.3-.5 3.4-1 1-.5 1.9-1.2 2.6-1.9.3-.3.3-.7 0-1l-.9-.9z"}},routing_offline:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.8 4.2C15.5-.1 8.5-.1 4.2 4.2s-4.3 11.3 0 15.6 11.3 4.3 15.6 0 4.3-11.3 0-15.6zM12 20.3c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3z"}},rows:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.5 6.5h-19c-.3 0-.7-.4-.7-.7V4.4c0-.4.4-.7.7-.7h19c.3 0 .7.3.7.7v1.4c0 .3-.4.7-.7.7zm0 6.8h-19c-.3 0-.7-.3-.7-.7v-1.3c0-.4.4-.7.7-.7h19c.3 0 .7.3.7.7v1.4c0 .3-.4.6-.7.6zm0 7h-19c-.3 0-.7-.3-.7-.7v-1.4c0-.3.4-.7.7-.7h19c.3 0 .7.4.7.7v1.4c0 .4-.4.7-.7.7z"}},rules:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 11.7L19.4 8c-.2-.2-.5-.2-.7 0l-.7.7c-.2.2-.2.5 0 .7l1.2 1.1c.1.2 0 .6-.3.6H8.7L14.8 5c.2-.2.6 0 .6.3v1.6c0 .3.2.5.4.5h1c.3 0 .5-.2.5-.5V1.6c0-.3-.2-.5-.5-.5h-5.3c-.2 0-.4.2-.4.5v.9c0 .3.2.5.4.5h1.7c.3 0 .4.3.2.6L6 11H1.4c-.3 0-.5.3-.5.5v1c0 .3.3.5.5.5H6l7.5 7.4c.2.2 0 .6-.3.6h-1.6c-.3 0-.5.2-.5.5v.9c0 .2.2.4.5.5h5.2c.3 0 .5-.2.5-.5v-5.3c0-.3-.2-.4-.5-.4h-.9c-.3 0-.5.1-.5.4v1.7c0 .3-.3.4-.5.2l-6.1-6H19c.2 0 .4.4.2.6L18 14.7c-.2.2-.2.5 0 .7l.7.7c.2.2.5.2.7 0l3.7-3.7c.2-.2.2-.5 0-.7z"}},salesforce1:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10 5.5c.8-.8 1.9-1.3 3.1-1.3 1.5 0 2.9.9 3.7 2.2.6-.3 1.3-.5 2-.5 2.9 0 5.2 2.3 5.2 5.2s-2.3 5.1-5.2 5.1h-1c-.6 1.1-1.9 1.9-3.3 1.9-.6 0-1.2-.1-1.7-.4-.6 1.5-2.1 2.6-3.9 2.6-1.9 0-3.5-1.1-4.1-2.8-.3 0-.6.1-.8.1-2.2 0-4-1.8-4-4 0-1.5.7-2.8 1.9-3.5-.2-.5-.3-1.2-.3-1.8 0-2.6 2-4.7 4.6-4.7 1.6.1 3 .8 3.8 1.9"}},save:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.1 1.8v6.3c0 .5-.3.9-.9.9H6.4c-.4 0-.9-.4-.9-.9V1.8H3.7c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V5.2l-3.4-3.4h-1.7zm3.3 17.6c0 .5-.4.9-.9.9H4.6c-.5 0-.9-.4-.9-.9v-7.7c0-.4.4-.9.9-.9h14.9c.4 0 .9.4.9.9v7.7zm-9-13.1c0 .4.4.9.9.9h2.1c.5 0 .9-.4.9-.9V1.8h-3.8l-.1 4.5z"}},screen:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 2.8c0-1-.9-1.9-1.9-1.9H2.8C1.8.9.9 1.8.9 2.8v12.8c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V2.8zm-2.8 11.1c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V4.4c0-.4.3-.7.7-.7h15.2c.4 0 .7.3.7.7v9.5zM8.8 20.3c-1 0-1.9.8-1.9 1.9v.2c0 .4.3.7.7.7h8.8c.4 0 .7-.3.7-.7v-.2c0-1.1-.9-1.9-1.9-1.9H8.8zm-.5-8H6.4c-.3 0-.4-.2-.4-.4V6.5c0-.3.1-.5.4-.5h1.9c.2 0 .5.2.5.5v5.4c0 .2-.3.4-.5.4zm9.3 0h-6.2c-.2 0-.4-.2-.4-.4V6.5c0-.3.2-.5.4-.5h6.2c.2 0 .4.2.4.5v5.4c0 .2-.2.4-.4.4z"}},search:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M22.9 20.9l-6.2-6.1c1.3-1.8 1.9-4 1.6-6.4-.6-3.9-3.8-7.1-7.8-7.4C5 .4.4 5 1 10.5c.3 4 3.5 7.3 7.4 7.8 2.4.3 4.6-.3 6.4-1.5l6.1 6.1c.3.3.7.3 1 0l.9-1c.3-.3.3-.7.1-1zM3.7 9.6c0-3.2 2.7-5.9 5.9-5.9 3.3 0 6 2.7 6 5.9 0 3.3-2.7 6-6 6-3.2 0-5.9-2.6-5.9-6z"}},send:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M1 20.5L3 13h8.6c.2 0 .4-.2.4-.4v-1c0-.2-.2-.4-.4-.4H3L1 3.8c0-.1-.1-.2-.1-.4 0-.3.3-.6.7-.6.1 0 .2.1.2.1l20.8 8.5c.3.1.5.4.5.6s-.2.6-.4.6L1.8 21.4c0 .1-.1.1-.2.1-.4-.1-.7-.4-.7-.7 0-.1 0-.2.1-.3z"}},sentiment_negative:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.2 11.1 11.2 11.1-5 11.1-11.2S18.1.9 12 .9zm-4.2 6c.8 0 1.4.9 1.4 1.9s-.6 1.8-1.4 1.8-1.3-.8-1.3-1.8.6-1.9 1.3-1.9zm-1.3 11c.2-2.9 2.3-5.2 5.5-5.2 3.3 0 5.3 2.3 5.5 5.2h-11zm9.7-7.3c-.8 0-1.4-.8-1.4-1.8s.6-1.9 1.4-1.9 1.3.9 1.3 1.9-.6 1.8-1.3 1.8z"}},sentiment_neutral:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.2 11.1 11.2 11.1-5 11.1-11.2S18.1.9 12 .9zm-4.2 6c.8 0 1.4.9 1.4 1.9s-.6 1.8-1.4 1.8-1.3-.8-1.3-1.8.6-1.9 1.3-1.9zm9.7 8.8c0 .5-.4.9-.8.9H7.3c-.5 0-.8-.4-.8-.9s.4-.9.8-.9h9.3c.5 0 .9.4.9.9zm-1.3-5.1c-.8 0-1.4-.8-1.4-1.8s.6-1.9 1.4-1.9 1.3.9 1.3 1.9-.6 1.8-1.3 1.8z"}},settings:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 8.8c-1.8 0-3.2 1.4-3.2 3.2s1.4 3.3 3.2 3.3 3.3-1.5 3.3-3.3-1.5-3.2-3.3-3.2zm9.7 6.2L20 13.5c.1-.5.2-1 .2-1.5s-.1-1.1-.2-1.6L21.7 9c.6-.5.8-1.3.4-2l-.7-1.3c-.3-.4-.8-.7-1.4-.7-.2 0-.3 0-.5.1l-2.1.8c-.8-.8-1.8-1.3-2.7-1.6l-.4-2.2c-.1-.7-.8-1.1-1.5-1.1h-1.5c-.7 0-1.4.4-1.5 1.1l-.4 2.1c-1 .4-1.9.9-2.8 1.6L4.5 5c-.2 0-.3-.1-.5-.1-.5 0-1 .3-1.3.8L1.9 7c-.3.6-.2 1.4.4 1.9L4 10.3c-.1.5-.1 1.1-.1 1.6 0 .6 0 1.1.1 1.6l-1.7 1.4c-.5.5-.7 1.3-.4 1.9l.8 1.3c.3.5.8.8 1.3.8.2 0 .4-.1.5-.1l2.1-.8c.9.7 1.8 1.2 2.8 1.6l.3 2.2c.2.7.8 1.2 1.6 1.2h1.4c.8 0 1.4-.5 1.6-1.3l.3-2.2c1.1-.3 2.1-.9 2.9-1.7l2 .8c.2 0 .3.1.5.1.6 0 1.1-.3 1.4-.7l.7-1.2c.4-.6.2-1.4-.4-1.8zM12 17.1c-2.8 0-5-2.2-5-5.1s2.2-5 5-5 5.1 2.2 5.1 5-2.2 5.1-5.1 5.1z"}},setup:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.6 15l-1.7-1.5c.1-.5.1-1 .1-1.5s0-1.1-.1-1.6L21.6 9c.6-.5.7-1.3.4-2l-.8-1.3c-.2-.5-.8-.8-1.3-.8-.2 0-.4.1-.5.1l-2.1.8c-.8-.7-1.7-1.2-2.7-1.6l-.3-2.1c-.2-.8-.8-1.2-1.6-1.2h-1.4c-.8 0-1.4.4-1.6 1.2l-.3 2.1c-1 .3-1.9.9-2.8 1.6l-2-.8c-.2-.1-.3-.1-.5-.1-.5 0-1.1.3-1.3.7L2 6.9c-.3.7-.2 1.5.4 2l1.7 1.4c-.1.5-.1 1.1-.1 1.6s0 1 .1 1.5l-1.7 1.5c-.6.4-.7 1.3-.4 1.9l.8 1.4c.2.4.8.7 1.3.7.2 0 .4 0 .5-.1l2.1-.8c.8.8 1.7 1.3 2.7 1.6l.3 2.2c.2.8.8 1.3 1.6 1.3h1.4c.8 0 1.4-.6 1.6-1.3l.3-2.2c1.1-.4 2-1 2.8-1.7l2 .7c.2.1.4.1.5.1.6 0 1.1-.2 1.4-.7l.7-1.2c.3-.6.2-1.4-.4-1.8zM12 17.1c-2.7 0-5-2.2-5-5.1s2.2-5 5-5 5.1 2.2 5.1 5-2.3 5.1-5.1 5.1zm1.4-8.8h-2.1c-.4 0-.6.2-.7.5l-1.3 3.3c-.1.2.1.5.3.5h2.2l-.8 2.8c-.1.2.3.4.4.2l3.3-3.8c.3-.3.1-.6-.3-.6h-1.6l1.5-2.3c.1-.2-.1-.5-.4-.5h-.5z"}},setup_assistant_guide:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.3 11.5c0-.2-.2-.3-.4-.2l-2 1.7c-.1.1-.1.2-.1.4v7.3c0 .5.6.7 1 .4l3.4-2.6c.1-.1.1-.2 0-.4-.8-1.2-1.6-3.3-1.9-6.6zm4.5 6.9c.1 0 .2.1.3.1h3.8c.1 0 .2-.1.3-.1.5-.4 2.7-2.2 2.7-8.5 0-2.9-.8-5-1.8-6.3C13.7 1.5 12 .9 12 .9s-1.8.6-3.2 2.7C7.8 5 7.1 7 7.1 9.9c0 6.3 2.1 8.1 2.7 8.5zM12 6c1.5 0 2.7 1.2 2.7 2.8s-1.2 2.7-2.7 2.7-2.8-1.2-2.8-2.7S10.4 6 12 6zm9.1 7l-2-1.7c-.2-.1-.4 0-.4.2-.3 3.3-1.1 5.4-1.9 6.7v.3l3.4 2.6c.4.4 1 .1 1-.3v-7.4c0-.2 0-.3-.1-.4zm-6.2 7.5c-.1-.1-.3-.2-.4-.2H9.4c-.1 0-.3.1-.4.2-.1.3-.4.8-.6 1.5-.1.5.3 1.1.9 1.1h5.3c.6 0 1-.6.9-1.1-.2-.7-.5-1.2-.6-1.5z"}},setup_modal:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M22.4.9H1.6c-.4 0-.7.3-.7.7v15c0 .3.3.7.7.7h20.8c.4 0 .7-.4.7-.7v-15c0-.4-.3-.7-.7-.7z"},{d:"M14.8 20.3c.5 0 .9.4.9.9s-.4 1-.9 1-1-.5-1-1 .5-.9 1-.9m0-.9c-1 0-1.9.8-1.9 1.8s.9 1.9 1.9 1.9 1.8-.9 1.8-1.9-.8-1.8-1.8-1.8z"}],circle:[{cx:"9.231",cy:"21.231",r:"1.846"},{cx:"3.692",cy:"21.231",r:"1.846"},{cx:"20.308",cy:"21.231",r:"1.846"}]},share:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 13.8H21c-.4 0-.7.4-.7.7v5.1c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V9.9c0-.3.3-.7.7-.7h1.8c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9v-6.7c0-.3-.3-.7-.7-.7zm-6.7-7.3c-4.6 0-8.8 4.1-9.2 8.9 0 .4.3.8.7.8h1.4c.4 0 .6-.3.7-.6.3-3.5 3.3-6.4 6.9-6.4h.7c.4 0 .6.5.3.8l-2.5 2.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.3-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-1 0l-1 1c-.3.3-.3.7 0 .9l2.6 2.6c.2.3.1.8-.4.8l-1.2.1z"}},share_file:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.9 7.3h3.6c.2 0 .3-.2.2-.4l-3.8-3.8c-.2-.1-.4 0-.4.2v3.6c0 .3.1.4.4.4zm3.7 1.9h-5.1c-.5 0-.9-.4-.9-.9V3.2c0-.3-.2-.5-.4-.5H9.9c-.3 0-.7.3-.7.7v1.9c0 .1.1.3.2.5L12 8.4c.4.3.6.8.7 1.4.1.7-.1 1.4-.6 2l-.7.7c-.3.2-.5.3-.8.5.3.1.7.2 1.1.2 1.2.1 2.1 1.2 2.1 2.4v1c0 .7-.3 1.3-.7 1.7-.5.5-1.2.7-1.8.6-.5 0-1-.1-1.5-.2-.3-.1-.6.1-.6.5v1.4c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7V9.7c0-.3-.2-.5-.5-.5zM12 16.5v-1c0-.3-.2-.5-.5-.5-2.5-.2-4.6-2.4-4.6-5v-.5c0-.3.4-.5.6-.3l1.8 1.9c.2.2.5.2.7 0l.7-.7c.2-.2.2-.5 0-.7L6.2 5.2c-.2-.2-.5-.2-.7 0L1.1 9.7c-.2.2-.2.5 0 .7l.7.7c.1.2.5.2.6 0l2-1.8c.2-.3.6-.1.6.2v.9c0 3.3 2.9 6.4 6.4 6.6.4 0 .6-.2.6-.5z"}},share_mobile:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.4 23.3c1 0 1.8-.9 1.8-1.9V9c0-1-.8-1.8-1.8-1.8h-3.5c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.8c.4 0 .7.4.7.7v9.2c0 .4-.3.7-.7.7H6.2c-.4 0-.7-.3-.7-.7v-9.2c0-.3.3-.7.7-.7h1.9c.3 0 .7-.3.7-.7V7.9c0-.4-.4-.7-.7-.7H4.6c-1 0-1.8.8-1.8 1.8v12.4c0 1 .8 1.9 1.8 1.9h14.8zm-6-9v-9h2.7c.4 0 .7-.4.4-.6L12.3.8c-.1-.1-.4-.1-.6 0L7.5 4.7c-.2.2 0 .6.5.6h2.6v9c0 .3.3.7.7.7h1.4c.3 0 .7-.4.7-.7z"}},share_post:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 1.8C5.9 1.8.9 6.4.9 12c0 1.8.5 3.5 1.4 5 .1.2.1.4.1.6l-1 3.2c-.2.6.4 1.1 1 .9l3.2-1.1c.2-.1.4-.1.6.1 1.7.9 3.7 1.5 5.8 1.5 6.2 0 11.1-4.5 11.1-10.2C23 6.4 18 1.8 12 1.8z"}},shield:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M2.2 6.5h19.6c.4 0 .8-.5.7-1-.5-1.5-1.1-2.9-2-4.1-.3-.4-.8-.4-1.1-.1-.8.8-2.1 1.3-3.4 1.3-1.4 0-2.6-.6-3.5-1.5-.3-.3-.8-.3-1.1 0-.9.9-2.1 1.5-3.5 1.5-1.3 0-2.5-.5-3.4-1.3-.3-.3-.9-.2-1.1.1-.9 1.2-1.6 2.6-2 4.1 0 .5.4 1 .8 1zm20.9 2.9c0-.4-.3-.6-.8-.6H1.7c-.5 0-.8.2-.8.6v.2c0 6.9 4.8 12.6 11.1 13.5 6.3-.9 11.1-6.6 11.1-13.5v-.2z"}},shift_ui:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.8 18.8h9.4c.5 0 .9.4.9.9v2.6c0 .5-.4 1-.9 1h-9.4c-.5 0-.9-.5-.9-1v-2.6c0-.5.4-.9.9-.9zM1.8 8.1h20.4c.5 0 .9.4.9.9v6.3c0 .5-.4.9-.9.9H1.8c-.5 0-.9-.4-.9-.9V9c0-.5.4-.9.9-.9zm0-7h9.4c.5 0 .9.4.9.9v2.6c0 .5-.4.9-.9.9H1.8c-.5 0-.9-.4-.9-.9V2c0-.5.4-.9.9-.9z"}},shopping_bag:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M29.9 8.8V9v-.2z"},{d:"M20.3 9c0-1-.8-1.8-1.8-1.8h-.4c-.2-3.1-2.8-5.6-6.1-5.6S6.2 4.1 6 7.2h-.5c-1 0-1.8.8-1.8 1.8l-.9 11.6c0 1 .8 1.8 1.8 1.8h14.8c1 0 1.8-.8 1.8-1.8L20.3 9zM12 4.3c1.8 0 3.1 1.3 3.4 2.9H8.7C9 5.6 10.4 4.3 12 4.3zm2.7 8.4H9.3c-.8 0-1.4-.6-1.4-1.3S8.6 10 9.3 10h5.4c.8 0 1.4.6 1.4 1.4s-.6 1.3-1.4 1.3z"}]},shortcuts:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M5.6 1.2h12.2c.4 0 .8.4.8.8 0 .2-.1.4-.3.5L15 5.9c2 1.8 7.7 8 1.1 16.1l-.1.1s-.1 0-.1.1c-.2.1-.4.3-.7.3-.4 0-.7-.3-.7-.8v-.1-.1c.3-1 1.7-7.9-4.4-10.8l-4 4c-.1.2-.3.3-.5.3-.4 0-.8-.4-.8-.8V2c0-.4.4-.8.8-.8z"}},side_list:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 1.8H9.9c-.3 0-.7.4-.7.7v19c0 .3.4.7.7.7h12.5c.4 0 .7-.4.7-.7v-19c0-.3-.3-.7-.7-.7zm-15.7 0H1.6c-.4 0-.7.4-.7.7v2.3c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7V2.5c0-.3-.3-.7-.7-.7zm0 5.6H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7V8.1c0-.4-.3-.7-.7-.7zm0 5.5H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7v-2.3c0-.4-.3-.7-.7-.7zm0 5.6H1.6c-.4 0-.7.3-.7.7v2.3c0 .3.3.7.7.7h5.1c.4 0 .7-.4.7-.7v-2.3c0-.4-.3-.7-.7-.7z"}},signpost:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.8 4.2l-1.9-1.5c-.3-.2-.5-.3-.9-.3h-6.5v-.7c0-.5-.3-.8-.8-.8h-1.4c-.5 0-.8.3-.8.8v.7H3.1c-.4 0-.7.3-.7.7v3c0 .4.3.7.7.7H20c.4 0 .7-.1.9-.2l1.9-1.5c.4-.3.4-.7 0-.9zm-1.9 6.3h-7.4V9.4c0-.2-.2-.4-.4-.4h-2.2c-.2 0-.4.2-.4.4v1.1H4c-.4 0-.7.1-.9.3l-1.9 1.4c-.4.3-.4.7 0 1l1.9 1.4c.3.2.5.3.9.3h16.9c.4 0 .7-.3.7-.7v-3c0-.4-.3-.7-.7-.7zM13.5 20v-2.5c0-.2-.2-.3-.4-.3h-2.2c-.2 0-.4.1-.4.3V20c-1.5.4-2.3 1.3-2.5 2.4-.1.3.2.7.5.7h7c.4 0 .7-.3.6-.7-.3-1.1-1.1-2-2.6-2.4z"}},skip:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.2 14.9v.3c0 .5.4.5.6.2l2.3-2.2c.2-.3.7-.3 1 0l.9.9c.3.3.3.7 0 1L17.1 21c-.3.3-.6.3-.9 0l-6-6c-.2-.2-.2-.6.1-.8l1-1c.3-.3.7-.4 1-.1l2.2 2.3c.4.3.6.4.8 0 .1-.1.1-.5.1-.5v-3.4c0-3.2-2.7-5.9-5.9-5.9s-5.9 2.6-5.9 5.9v6.1c0 .4-.4.7-.7.7H1.4c-.4 0-.7-.3-.7-.6v-6.2c0-4.8 3.9-8.7 8.8-8.7s8.7 3.9 8.7 8.7v3.4z"}},smiley_and_people:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 12c0 6.2-5 11.2-11.1 11.2S.9 18.2.9 12 5.9.9 12 .9s11.1 5 11.1 11.1zM7.8 6.9c-.7 0-1.3.8-1.3 1.9s.6 1.8 1.3 1.8 1.4-.8 1.4-1.8-.6-1.9-1.4-1.9zm8.4 0c-.8 0-1.4.8-1.4 1.9s.6 1.8 1.4 1.8 1.3-.8 1.3-1.8-.6-1.9-1.3-1.9zM5.1 13.4c.3 3.5 2.8 6.4 6.9 6.4 4 0 6.6-2.9 6.9-6.4H5.1z"}},sms:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 1.8C5.9 1.8 1 6.4 1 12c0 1.7.5 3.4 1.3 4.8.1.3.2.6.1.8l-1.4 4c-.2.3.2.6.6.6l3.9-1.6c.3-.1.5 0 .8.1 1.7.9 3.7 1.5 5.8 1.5 6 0 11-4.6 11-10.2C23 6.4 18.1 1.8 12 1.8zM7.6 13.7c-.2.2-.3.4-.5.6s-.4.2-.7.3c-.2.1-.5.1-.8.1-.3 0-.7 0-1-.2-.3-.1-.6-.3-.9-.6l-.1-.1s0-.1.1-.2l.8-.7c.1-.1.2-.1.2 0s.1.1.1.1c.1.2.2.2.4.3.2.2.4.2.7.1.1 0 .1 0 .2-.1l.2-.1V13c0-.2 0-.2-.1-.3-.1-.1-.2-.1-.4-.2s-.4-.1-.6-.2l-.6-.3c-.3-.1-.4-.3-.5-.5-.2-.2-.3-.5-.3-.8 0-.4.1-.6.2-.9.2-.2.3-.4.5-.5.2-.2.4-.3.7-.3.6-.2 1.1-.2 1.7 0 .3.1.5.3.7.4l.1.1c.1 0 .1.1 0 .2l-.7.7c-.1.1-.3.1-.4 0l-.1-.1c-.3-.1-.6-.2-.9-.1h-.2l-.1.2v.2c0 .1 0 .2.1.2 0 .1.2.1.4.2s.3.2.6.2l.6.3c.2.1.4.3.5.5.2.2.3.5.3.9 0 .3-.1.5-.2.8zm7.6.6c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-2.7c0-.3-.3-.3-.4-.1l-.8 2.1c0 .2-.2.2-.4.2h-.3c-.2 0-.4-.1-.5-.2l-.8-2.1c-.1-.2-.4-.2-.4.1v2.7c0 .3-.3.5-.6.5h-.4c-.3 0-.4-.2-.4-.5V9.2c0-.2.2-.4.4-.4h1.2c.2 0 .4.1.4.2l.9 2.4c.1.2.4.2.4 0l1-2.4c0-.1.2-.2.4-.2h1.2c.3 0 .5.2.5.4v5.1zm4.9-.6c-.2.2-.3.5-.5.6-.2.1-.4.3-.7.4s-.5.1-.8.1c-.4 0-.7-.1-1-.2-.3-.2-.7-.3-.9-.6l-.1-.1c0-.1 0-.1.1-.2l.7-.7c.1-.1.2-.1.3-.1s.1.2.1.2l.3.3c.3.1.5.1.8.1.1-.1.2-.1.2-.1l.1-.2.1-.1c0-.2-.1-.3-.1-.3-.1-.1-.2-.2-.4-.2s-.4-.2-.6-.2c-.3-.1-.5-.2-.7-.3-.2-.1-.4-.3-.5-.5-.2-.2-.3-.5-.3-.9 0-.3.1-.6.2-.8.2-.3.3-.4.5-.6.2-.1.5-.3.7-.3.6-.1 1.1-.1 1.7 0 .3.1.5.3.7.5l.1.1c.1 0 .1.2 0 .3l-.7.7c-.1.1-.2.1-.3 0l-.2-.2c-.3-.1-.6-.2-.9-.1 0 0-.1 0-.1.1l-.2.1v.2c0 .1 0 .2.1.2.1.1.2.2.4.3.2 0 .4.1.6.2.2 0 .4.1.6.2.3.2.4.4.6.5.1.3.2.5.2.9.1.2 0 .5-.1.7z"}},snippet:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.7 2.8H1.6c-.4 0-.7.3-.7.7v6c0 .3.3.7.7.7h5.1c.4 0 .7-.4.7-.7v-6c0-.4-.3-.7-.7-.7zm15.7 0H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7V3.5c0-.4-.3-.7-.7-.7zM9.9 10.2h7.9c.3 0 .7-.4.7-.7V8.1c0-.4-.4-.7-.7-.7H9.9c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7zm-3.2 3.6H1.6c-.4 0-.7.4-.7.7v6c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7v-6c0-.3-.3-.7-.7-.7zm15.7 0H9.9c-.3 0-.7.4-.7.7v1.4c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7zm-4.6 4.7H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h7.9c.3 0 .7-.3.7-.7v-1.3c0-.4-.4-.7-.7-.7z"}},sobject:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M2.9 2h1.9c-2.3 4.9-2.3 8.6 0 13.5H2.9C.3 9.8.4 7.6 2.9 2zm8 8.3c.2.9.4 1.6.5 1.8.1.5.3.8.6 1 .7-.5 1.6-.9 2.5-.9.6 0 1.1.2 1.7.4 0-.1.1-.3.1-.4 0-.5-.4-.8-.8-.8h-.4s-.9.6-1.2.1c-.2-.4-.4-.9-.6-1.6-.1-.6-.2-1.3-.4-2l.9-1.3s1 .4 1.5.4 1.5-.4 1.5-1.7-.9-1.5-1.2-1.5c-.6 0-1.2.4-1.8 1.4s-1.1 1.9-1.1 1.9c-.1-.6-.2-1.1-.2-1.4-.1-.5-.8-1.8-2.1-1.8s-2.6.8-2.6.8c-.2.1-.4.4-.4.7 0 .5.4.8.9.8.1 0 .2 0 .3-.1 0 0 1-.5 1.3 0 0 .2.1.4.2.6.2.9.5 1.9.7 2.9l-.9 1.2s-1-.4-1.5-.4c-.6 0-1.6.4-1.6 1.8s1 1.4 1.3 1.4c.6 0 1.2-.4 1.7-1.3s1.1-2 1.1-2zm9.2 3h.5c.4 0 .9.1 1.3.3C23.6 9.2 23.3 6.9 21 2h-1.8c1.9 4.1 2.2 7.4.9 11.3zM16.3 15c.4-.4.9-.6 1.5-.6.7 0 1.4.4 1.8 1 .3-.2.6-.3 1-.3 1.4 0 2.5 1.1 2.5 2.5s-1.1 2.5-2.5 2.5h-.5c-.3.5-.9.9-1.6.9-.3 0-.5-.1-.8-.2-.3.8-1 1.3-1.9 1.3-.9 0-1.6-.6-1.9-1.4-.1 0-.2.1-.4.1-1.1 0-2-.9-2-1.9 0-.7.4-1.4 1-1.7-.1-.3-.2-.5-.2-.9 0-1.2 1-2.2 2.2-2.2.7 0 1.4.3 1.8.9z"}},sobject_collection:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.3 7c-1.6 3.4-1.6 4.8 0 8.3h1.1C6 12.3 6 10 7.4 7H6.3zM17 13.6c.3-.1.5-.1.7-.1h.5c.8-2.3.6-3.7-.7-6.6h-1.1c1.1 2.5 1.3 4.5.6 6.7zm-6.7 4.1H3.7c-.5 0-.9-.4-.9-.9V4.7H21v9.7c.7 0 1.3.3 1.8.6V2.8c0-1-.8-1.8-1.8-1.8H2.9C1.8 1 1 1.8 1 2.8v14.9c0 1 .8 1.9 1.9 1.9h6.8c0-.7.2-1.3.6-1.9zm6-1.7c.4-.4.9-.6 1.5-.6.8 0 1.4.4 1.8 1 .2-.1.6-.2 1-.2 1.3 0 2.5 1.1 2.5 2.4S22 21 20.6 21h-.5c-.3.6-.9.9-1.5.9-.3 0-.6-.1-.8-.2-.4.8-1.1 1.3-1.9 1.3-.9 0-1.7-.6-2-1.3h-.4c-1 0-1.9-.8-1.9-1.9 0-.6.4-1.2 1-1.6-.1-.3-.2-.6-.2-.9 0-1.2 1-2.2 2.2-2.2.7 0 1.3.4 1.7.9zm-5.7-2.7c.3-.5.7-1.1.7-1.1.1.5.2.9.3 1.1.1.3.3.6.6.8.6-.5 1.5-.8 2.3-.8h.1c0-.2-.2-.5-.5-.5-.1 0-.1.1-.2.1 0 0-.6.3-.7.1-.2-.3-.3-.6-.4-1-.1-.4-.2-.8-.2-1.3l.5-.8s.6.3.9.3 1-.3 1-1.2-.6-.8-.8-.8c-.4 0-.7.2-1 .8-.4.5-.7 1.1-.7 1.1-.1-.4-.2-.7-.2-.9-.1-.3-.5-1.1-1.3-1.1s-1.6.5-1.6.5c-.1.1-.2.3-.2.4 0 .3.2.5.5.5h.2s.6-.4.8 0c.1.1.1.2.1.3.1.6.3 1.2.4 1.8l-.5.8s-.6-.3-1-.3-.9.3-.9 1.1.6.9.8.9c.4.1.7-.2 1-.8z"}},socialshare:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.9 14.8c-1.2 0-2.3.5-3 1.3l-6.8-3.4c.1-.2.1-.5.1-.7 0-.3-.1-.6-.1-.8l6.8-3.4c.7.9 1.8 1.4 3 1.4 2.3 0 4.2-1.9 4.2-4.2S21.2.9 18.9.9 14.8 2.7 14.8 5v.3l-7 3.5c-.8-.6-1.7-1-2.8-1C2.7 7.8.9 9.7.9 12s1.8 4.2 4.1 4.2c1.1 0 2-.4 2.8-1.1l6.9 3.5v.3c0 2.3 1.9 4.2 4.2 4.2s4.1-1.9 4.1-4.2-1.8-4.1-4.1-4.1z"}},sort:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.7 7.4c.3-.3.3-.7 0-1L7.4 1.1c-.2-.3-.7-.3-.9 0L1.2 6.4c-.3.3-.3.7 0 1l.9 1c.3.2.7.2 1 0l1.7-1.7c.2-.3.7-.1.7.3v9.8c0 .4.4.7.7.7h1.4c.4 0 .7-.4.7-.7V7c0-.4.5-.6.8-.3l1.7 1.7c.2.2.6.2.9 0l1-1zm10.1 9.2l-.9-.9c-.3-.3-.7-.3-1 0l-1.7 1.7c-.2.2-.7 0-.7-.4V7.2c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.7c0 .5-.5.6-.8.4l-1.7-1.7c-.2-.3-.6-.3-.9 0l-1 1c-.3.3-.3.7 0 1l5.3 5.3c.3.3.7.3 1 0l5.3-5.3c.2-.3.2-.8-.1-1z"}},spinner:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.4 12.7v-1.4c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7zm.9 2.1c-.3-.3-.7-.3-1 0l-3.6 3.6c-.3.2-.3.7 0 .9l1 1c.2.3.7.3.9 0l3.6-3.6c.3-.3.3-.7 0-1l-.9-.9zm7.4-5.6c.3.3.7.3 1 0l3.6-3.6c.3-.2.3-.7 0-.9l-1-1c-.2-.3-.7-.3-.9 0l-3.6 3.5c-.3.3-.3.7 0 1l.9 1zM5.6 3.7c-.2-.3-.7-.3-.9 0l-1 1c-.3.2-.3.7 0 .9l3.6 3.6c.3.3.7.3 1 0l.9-.9c.3-.3.3-.7 0-1L5.6 3.7zm11.2 11.1c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l3.6 3.6c.2.3.7.3.9 0l1-1c.3-.2.3-.7 0-.9l-3.5-3.6zm-4.1 1.8h-1.4c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7v-5.1c0-.4-.3-.7-.7-.7zm9.7-6h-5.1c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h5.1c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7zM12.7.9h-1.4c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h1.4c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7z"}},stage:{xmlns:"http://www.w3.org/2000/svg",circle:[{cx:"21.554",cy:"12",r:"1.569"},{cx:"11.954",cy:"12",r:"1.569"},{cx:"2.492",cy:"12",r:"1.569"}],path:{d:"M5.4 12c0 3.6 3 6.6 6.6 6.6s6.6-3 6.6-6.6-3-6.6-6.6-6.6-6.6 3-6.6 6.6zm11 0c0 2.4-2 4.4-4.4 4.4s-4.5-2-4.5-4.4 2-4.4 4.5-4.4 4.4 2 4.4 4.4z"}},stage_collection:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"11.954",cy:"12",r:"1.569"},path:{d:"M21.6 10.4c-.6 0-1.1.4-1.4.8h-1.6c-.5-3.3-3.2-5.8-6.6-5.8s-6.2 2.5-6.6 5.8H3.8c-.2-.5-.8-.8-1.3-.8-.9 0-1.6.7-1.6 1.6s.7 1.6 1.6 1.6c.5 0 1-.3 1.3-.8h1.6c.4 3.3 3.2 5.8 6.6 5.8 3.4 0 6.1-2.5 6.6-5.8h1.7c.2.4.7.8 1.3.8.8 0 1.5-.7 1.5-1.6s-.7-1.6-1.5-1.6zm-9.6 6c-2.4 0-4.4-2-4.4-4.4s2-4.4 4.4-4.4 4.4 2 4.4 4.4-2 4.4-4.4 4.4z"}},standard_objects:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.3 18l-8.7 4.9c-.4.3-1 .3-1.5 0L2.5 18c-.4-.2-.4-.7 0-.9l2-1.1c.2-.1.3-.1.5 0l5.2 3c.6.2 1.1.4 1.7.4s1.2-.2 1.7-.4l5.2-3c.2-.1.4-.1.5 0l2 1.1c.4.2.4.7 0 .9zm0-5.6l-8.7 5c-.4.2-1 .2-1.5 0l-8.6-5c-.4-.2-.4-.6 0-.8l2-1.2c.2-.1.3-.1.5 0l5.2 3c.6.3 1.1.4 1.7.4s1.2-.1 1.7-.4l5.2-3c.2-.1.4-.1.5 0l2 1.2c.4.2.4.6 0 .8zm-10.1-.6L2.5 6.9c-.3-.2-.3-.7 0-.9l8.7-4.9c.5-.3 1.1-.3 1.5 0L21.4 6c.4.2.4.7 0 .9l-8.7 4.9c-.4.2-1 .2-1.5 0z"}},steps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.5 23.2h-3.2V21h3.2v2.2zm0-1.1zM14 23.2h-3.2V21H14v2.2zm-6.5 0H4.3V21h3.2v2.2zm-4.3-2.8H1v-3.2h2.2v3.2zm19.8-.7h-2.2v-3.3H23v3.3zM3.2 14H1v-3.2h2.2V14zm19.8-.8h-2.2V10H23v3.2zM3.2 7.5H1V4.3h2.2v3.2zM23 6.8h-2.2V3.6H23v3.2zM19.7 3h-3.3V.8h3.3V3zm-6.5 0H10V.8h3.2V3zM6.8 3H3.6V.8h3.2V3z"}},stop:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.7 3.7h16.6v16.6H3.7V3.7z"}},store:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.9 13.6h-.1c-.7-.1-1.3-.3-1.9-.7h-.1c-.3-.3-.5-.1-.6-.1l-.1.1c-.7.5-1.5.8-2.4.8-.9 0-1.7-.3-2.5-.9-.2-.2-.4 0-.4 0-.8.6-1.6.9-2.6.9-.9 0-1.7-.3-2.4-.8l-.1-.1c-.2-.2-.5 0-.5 0-.7.5-1.4.8-2.3.9 0 0-.3 0-.3.3v6.9c0 .1.1.4.5.5h8.5c.5-.1.6-.4.6-.5V16c0-.2 0-.3.4-.3h4.1c.2 0 .3.1.3.5v4.6c0 .5.4.6.5.6h1.3s.4-.1.4-.6v-6.7c.1-.3-.1-.4-.3-.5zm-9.2 5.3v.2c0 .1-.1.4-.5.4H6.4c-.4 0-.5-.2-.5-.3v-2.9c0-.6.3-.7.5-.7h3.9c.1 0 .5.1.5.6-.1 1-.1 1.8-.1 2.7zm8.8-7.1c1 .2 1.9.1 2.7-.7.4-.4.7-1 .8-1.6v-.1c-.1-.2-.2-.4-.2-.6-1.2-2-2.2-4-3.3-6-.1-.3-.4-.3-.5-.3H4.9s-.4 0-.6.3c-1.1 2-2.1 4-3.2 6-.1.2-.2.4-.2.7v.1c.1.6.4 1.2.9 1.6.8.8 1.7.9 2.8.6.6-.3 1-.6 1.4-1.2l.1-.1c.3-.2.5-.1.7.1.2.3.4.6.7.8.8.6 1.7.6 2.6.4.6-.2 1.1-.6 1.4-1.2.2-.3.6-.3.8 0l.3.3c.4.6 1 .9 1.7 1 .7.1 1.3-.1 1.9-.5.3-.2.6-.5.8-.8.2-.3.6-.3.8 0 .4.6.8 1 1.5 1.2h.2z"}},strategy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.6 8.6h-3.7c-.8 0-1.5.7-1.5 1.5v.9H13V3.7c0-.2-.3-.4-.5-.4H7.7v-.9C7.7 1.6 7 .9 6.2.9H2.4C1.7.9 1 1.6 1 2.4v3.7c0 .9.6 1.5 1.4 1.5h3.8c.8 0 1.5-.6 1.5-1.5v-.8h3.4V11H7.7v-.8c0-.9-.7-1.5-1.5-1.5H2.4c-.8 0-1.4.6-1.4 1.5v3.6c0 .9.6 1.5 1.4 1.5h3.8c.8 0 1.5-.6 1.5-1.5V13h3.4v5.7H7.7v-.8c0-.8-.7-1.5-1.5-1.5H2.4c-.8 0-1.4.7-1.4 1.5v3.7c0 .9.6 1.5 1.4 1.5h3.8c.8 0 1.5-.6 1.5-1.5v-.8h4.9c.2 0 .4-.3.4-.5V13h3.5v.8c0 .9.6 1.5 1.5 1.5h3.7c.8 0 1.5-.6 1.5-1.5v-3.7c-.1-.8-.7-1.5-1.6-1.5zM5.8 5.7H2.9V2.8h2.9v2.9zm0 4.8v2.9H2.9v-2.9h2.9zm0 10.7H2.9v-2.9h2.9v2.9zm15.5-10.7v2.9h-2.9v-2.9h2.9z"}},strikethrough:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.6 8.4c-.1-.5-.2-1.1-.2-1.6 0-.6.2-1.3.5-2 .2-.6.7-1.3 1.3-1.8.5-.6 1.3-1.1 2.2-1.5.9-.3 2-.6 3.2-.6 1.2 0 2.3.2 3.4.5.8.3 1.6.7 2.3 1.4.3.2.3.7-.1 1L17 4.9c-.3.3-.7.3-1 0-.3-.3-.7-.6-1.1-.8-.6-.3-1.4-.5-2.3-.5-.7 0-1.4.1-1.9.3s-1 .5-1.3.9-.6.6-.7 1-.2.8-.2 1c0 .5.1 1 .2 1.3.2.3-.1.7-.4.7H6c-.2 0-.4-.3-.4-.4zm12.8 6.8h-2.3c-.3 0-.5.4-.4.6.1.3.2.7.2 1 0 .6-.2 1.1-.4 1.6-.3.4-.6.8-1 1.1-.4.3-.9.5-1.4.6-.5.2-1 .3-1.5.3-.8 0-1.7-.2-2.5-.6-.6-.3-1.1-.6-1.5-1.2-.3-.2-.7-.3-1 0l-1.3 1.1c-.3.2-.3.7 0 .9.6.8 1.4 1.3 2.4 1.7 1.2.5 2.5.7 3.9.7 1 0 2-.2 2.8-.5.9-.3 1.7-.7 2.4-1.3.6-.5 1.2-1.2 1.6-2 .3-.9.6-1.8.6-2.8 0-.3 0-.6-.1-.9-.1-.1-.3-.3-.5-.3zM23 11c-.1-.2-.3-.4-.6-.4H1.6c-.3 0-.5.2-.6.4-.1.1-.1.2-.1.3v1.3c0 .4.3.8.7.8h20.8c.4 0 .7-.4.7-.8v-1.3c0-.1 0-.2-.1-.3z"}},success:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm6.2 8.3l-7.1 7.2c-.3.3-.7.3-1 0l-3.9-3.9c-.2-.3-.2-.8 0-1.1l1-1c.3-.2.8-.2 1.1 0l2 2.1c.2.2.5.2.7 0l5.2-5.3c.2-.3.7-.3 1 0l1 1c.3.2.3.7 0 1z"}},summary:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4.9H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7zm0 5.6H6.2c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h16.2c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7zm0 9.2H6.2c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h16.2c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm0 4.6h-18c-.4 0-.7-.3-.7-.7v-3.2c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V21c0-.4-.3-.7-.7-.7zm0-9.2h-18c-.4 0-.7-.3-.7-.7V7.2c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6c0 .3.3.6.7.6h20.8c.4 0 .7-.3.7-.6v-1.4c0-.4-.3-.7-.7-.7z"}},summarydetail:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4.9H1.6c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V1.6c0-.4-.3-.7-.7-.7zM9.5 6.5H6.2c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h3.3c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zm6.4 0h-3.2c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h3.2c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7zm6.5 0h-3.2c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h3.2c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7zM9.5 15.7H6.2c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h3.3c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7zm6.4 0h-3.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h3.2c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm6.5 0h-3.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h3.2c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm0 4.6h-18c-.4 0-.7-.3-.7-.7v-3.2c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6c0 .4.3.7.7.7h20.8c.4 0 .7-.3.7-.7V21c0-.4-.3-.7-.7-.7zm0-9.2h-18c-.4 0-.7-.3-.7-.7V7.2c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6c0 .3.3.6.7.6h20.8c.4 0 .7-.3.7-.6v-1.4c0-.4-.3-.7-.7-.7z"}},survey:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M2.4 1.4h16.4c.8 0 1.5.7 1.5 1.5v1.6c0 .8-.7 1.5-1.5 1.5H2.4C1.6 6 .9 5.3.9 4.5V2.9c0-.8.7-1.5 1.5-1.5zM.5 5.5h9.1c1.7 1.4 2.4 2.1 2.4 3V10c0 .8-.7 1.5-1.5 1.5h-9C.7 11.5 0 10.8 0 10V8.5c0-.9.7-1.6 1.5-1.6zm16.6 6c2.8 0 5.1 2.3 5.1 5.1s-2.3 5.1-5.1 5.1-5.1-2.3-5.1-5.1 2.3-5.1 5.1-5.1zm3.2 3.7c.1-.1.1-.4 0-.5l-.5-.5c-.1-.1-.4-.1-.5 0l-2.8 3.1-1.2-1.2c-.2-.2-.4-.2-.5 0l-.6.5c-.1.1-.1.3 0 .4l1.8 1.8c.2.1.3.2.5.2s.4-.1.5-.2l3.3-3.6zM1.5 13.8H10c-.3.9-.4 1.7-.4 2.4 0 .8 0 1.5.2 2.3H1.5c-.8 0-1.5-.7-1.5-1.6v-1.5c0-.9.7-1.6 1.5-1.6z",fill:"#FFF"}},switch:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22 8.2l-9.5 9.6c-.3.2-.7.2-1 0L2 8.2c-.2-.3-.2-.7 0-1l1-1c.3-.3.8-.3 1.1 0l7.4 7.5c.3.3.7.3 1 0l7.4-7.5c.3-.3.8-.3 1.1 0l1 1c.2.3.2.7 0 1z"}},symbols:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.5 12.9l.4-1.8h1.4l-.5 1.8h-1.3zm-.4 1.4h1.4l-.3 1.4h1.3l.4-1.4h1.5v-1.4h-1.2l.5-1.8h1.4V9.7H19l.4-1.4H18l-.3 1.4h-1.4l.3-1.4h-1.4l-.3 1.4h-1.5v1.4h1.1l-.4 1.8h-1.6v1.4h1.2l-.3 1.4h1.4l.3-1.4zM1.8 2.8h20.4c.5 0 .9.4.9.9v16.6c0 .5-.4.9-.9.9H1.8c-.5 0-.9-.4-.9-.9V3.7c0-.5.4-.9.9-.9zm9.2 9.6c.3-.2.5-.4.7-.6.2-.1.3-.3.4-.6.2-.2.2-.5.2-.8 0-.5-.1-.8-.3-1.2-.2-.3-.5-.5-.9-.7-.3-.2-.8-.3-1.3-.3s-1 .1-1.4.3c-.5.2-.8.6-1.2 1v.1l.9.8.1-.1c.2-.3.5-.5.7-.6.2-.1.5-.2.8-.2.4 0 .6.1.8.3.2.1.2.3.2.6 0 .2 0 .4-.2.6-.1.1-.3.3-.6.5-.4.3-.6.5-.8.7-.2.2-.3.5-.3.9v.3h1.4v-.1c0-.2.1-.3.2-.4.1-.2.3-.3.6-.5zM4.6 8.3v5.1H6V8.3H4.6zm.7 7.6c.5 0 .9-.4.9-.9s-.4-.9-.9-.9-.9.4-.9.9.4.9.9.9zm4.2 0c.5 0 .9-.4.9-.9s-.4-.9-.9-.9-1 .4-1 .9.5.9 1 .9z"}},sync:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.1 13.5c0-.3-.3-.7-.7-.7h-1.6c-.4 0-.6.3-.6.7 0 .1 0 .2-.1.3-.1.6-.4 1.2-.7 1.7-1.3 2.3-3.5 3.5-5.9 3.5-1.9 0-3.6-.7-4.9-2-.3-.2-.4-.4-.6-.7-.1-.3.2-.5.6-.5h3.2c.4 0 .7-.3.7-.7v-1.4c0-.4-.2-.7-.6-.7H2.4c-.3 0-.6.3-.6.6V22c.1.4.4.7.8.7H4c.3 0 .7-.3.7-.7v-3.2c0-.4.2-.6.5-.3.2.1.3.3.5.4 2.3 2.3 5.5 3.3 8.8 2.7 1.2-.3 2.3-.7 3.3-1.4 2.4-1.6 3.9-4 4.3-6.6v-.1zm-20.2-3c0 .3.3.7.7.7h1.6c.4 0 .6-.3.6-.7 0-.1 0-.2.1-.3.1-.6.4-1.2.7-1.7C6.9 6.2 9.1 5 11.5 5c1.9 0 3.6.7 4.9 2 .3.2.4.4.6.7.1.3-.2.5-.6.5h-3.2c-.4 0-.7.3-.7.7v1.4c0 .4.2.7.6.7h8.5c.3 0 .6-.3.6-.6V2c-.1-.4-.4-.7-.8-.7H20c-.3 0-.7.3-.7.7v3.2c0 .4-.2.6-.5.3-.2-.1-.3-.3-.5-.4-2.3-2.3-5.5-3.3-8.8-2.7-1.2.3-2.3.7-3.3 1.4-2.4 1.6-3.9 4-4.3 6.6v.1z"}},system_and_global_variable:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.5 21.5c0-1.4.7-2.4 1.6-3v-1.4c-.5-.3-.8-.9-1-1.4-.2-.8.1-1.7.5-2.3.1-.2.3-.3.5-.5.1-.1.3-.3.5-.3.9-.5 2-.9 3.2-.9 1 0 1.8.4 2.4 1 .9-.8 1.8-1 2.4-1 .5 0 1 .1 1.4.3v-.1c.1-6-4.9-11-11-11S.9 5.9.9 12s5 11.1 11 11.1c-.2-.5-.4-1-.4-1.6zm9.3-10.6h-2.9c-.1-2.6-.7-4.9-1.6-6.7 2.4 1.4 4.1 3.9 4.5 6.7zm-7.7-7.3c1.3 1.1 2.4 3.8 2.5 7.3h-2.5V3.6zm-9.9 9.5h2.9c.1 2.6.7 4.9 1.6 6.7-2.4-1.4-4.1-3.8-4.5-6.7zm2.9-2.2H3.2C3.6 8 5.3 5.6 7.8 4.2c-1 1.8-1.5 4.1-1.7 6.7zm4.8 9.5c-1.3-1.1-2.4-3.8-2.5-7.3h2.5v7.3zm0-9.5H8.4c.1-3.5 1.2-6.2 2.5-7.3v7.3zm10.5 5.7c.5 0 1.4-.4 1.4-1.6s-.9-1.4-1.2-1.4c-.5 0-1.1.4-1.5 1.3-.5.8-1.1 1.8-1.1 1.8-.1-.6-.3-1.1-.3-1.4-.1-.5-.7-1.6-1.9-1.6s-2.4.7-2.4.7c-.3.1-.4.4-.4.6 0 .5.3.8.8.8.1 0 .2 0 .3-.1 0 0 1-.5 1.1 0 .1.2.1.4.2.5.3.9.5 1.8.7 2.7l-.9 1.2s-.9-.3-1.3-.3-1.5.4-1.5 1.6 1 1.4 1.2 1.4c.6 0 1.1-.5 1.6-1.3s1-1.8 1-1.8c.2.8.3 1.4.4 1.7.3.8 1 1.4 2 1.4 0 0 1 0 2.1-.6.3-.1.5-.5.5-.7 0-.5-.4-.8-.8-.8-.1 0-.3 0-.4.1 0 0-.8.4-1.1.1-.2-.4-.3-.9-.5-1.6-.1-.6-.2-1.2-.4-1.9l.8-1.2c.2 0 1.2.4 1.6.4z"}},table:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.5.9h-19c-.3 0-.7.3-.7.7v2.3c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V1.6c0-.4-.4-.7-.7-.7zM6.7 6.5H2.5c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h4.2c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h4.2c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zM6.7 11.1H2.5c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h4.2c.4 0 .7-.3.7-.6v-1.4c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v1.4c0 .3.4.6.7.6h4.2c.3 0 .7-.3.7-.6v-1.4c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.6.7.6h4.2c.3 0 .7-.3.7-.6v-1.4c0-.4-.4-.7-.7-.7zM6.7 15.7H2.5c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h4.2c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v1.4c0 .3.4.7.7.7h4.2c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h4.2c.3 0 .7-.4.7-.7v-1.4c0-.4-.4-.7-.7-.7zM6.7 20.3H2.5c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h4.2c.4 0 .7-.3.7-.7V21c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h4.2c.3 0 .7-.3.7-.7V21c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V21c0-.4-.4-.7-.7-.7z"}},tablet_landscape:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 4.6c0-1-.9-1.8-1.9-1.8H2.8c-1 0-1.9.8-1.9 1.8v14.8c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V4.6zM3.2 13.4c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.7 1.4-1.4 1.4zm17.1 4.4c0 .3-.3.7-.7.7H6.2c-.3 0-.7-.4-.7-.7V6.2c0-.3.4-.7.7-.7h13.4c.4 0 .7.4.7.7v11.6z"}},tablet_portrait:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.2 2.8c0-1-.8-1.9-1.8-1.9H4.6c-1 0-1.8.9-1.8 1.9v18.4c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9V2.8zM12 22.2c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.3.6 1.3 1.4-.6 1.4-1.3 1.4zm6.5-4.4c0 .3-.4.7-.7.7H6.2c-.3 0-.7-.4-.7-.7V4.4c0-.4.4-.7.7-.7h11.6c.3 0 .7.3.7.7v13.4z"}},tabset:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.6.9H9.4c-.3 0-.5.3-.5.6v1.2c0 .3.2.6.5.6h5.2c.3 0 .5-.3.5-.6V1.5c.1-.3-.2-.6-.5-.6zm7.9 0h-5.2c-.3 0-.6.3-.6.6v1.2c0 .3.3.6.6.6h5.2c.3-.1.6-.3.6-.6V1.5c0-.3-.3-.6-.6-.6zm0 3.9H7.8c-.3 0-.6-.3-.6-.6V1.5c0-.3-.2-.6-.6-.6H1.5c-.3 0-.6.3-.6.6v21c0 .3.3.6.6.6h21c.3 0 .6-.3.6-.6V5.4c0-.3-.3-.6-.6-.6z"}},task:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.1 3.2l-.8-.8c-.2-.2-.6-.2-.8 0L4.6 7.3l-2-1.9c-.2-.3-.5-.3-.8 0l-.7.7c-.3.3-.3.6 0 .8l2.7 2.7c.2.3.5.4.8.4.2 0 .5-.1.8-.4L11.1 4c.2-.2.2-.5 0-.8zm11.2 5.3h-9.6c-.4 0-.7-.3-.7-.7V6.3c0-.4.3-.8.7-.8h9.6c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zm0 6.6H10.5c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h11.8c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zM6 15.1H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8H6c.4 0 .7.4.7.8v1.5c.1.4-.3.7-.7.7zm0 6.6H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8H6c.4 0 .7.4.7.8V21c.1.4-.3.7-.7.7zm16.3 0H10.5c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h11.8c.5 0 .8.4.8.8V21c0 .4-.3.7-.8.7z"}},text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.8 22.1c-.1-1.5-.1-3-.1-4.5v-2.2c0-.7.1-1.4-.2-2.1-.6-1.4-2.5-1.7-3.9-1.7-.7 0-1.4.1-2.2.3-.5.1-1 .3-1.4.5l.5 1.2c.1.2.1.4.1.7 1-.5 1.9-.7 2.9-.7 1.4 0 2.2.6 2.2 1.7v.6h-1c-1.9 0-3.4.3-4.3.8-1.1.5-1.6 1.5-1.6 2.9 0 1.1.4 1.9 1 2.5.7.5 1.5.8 2.5.8.9 0 1.6-.1 2.1-.3.6-.3 1-.7 1.4-1.2h.1c0 .2.1.7.1 1.2 0 .1 1.7 0 1.8 0v-.5zm-2.1-3.6c0 .2-.1.5-.2.7 0 .2-.1.4-.2.5-.5.7-1.2 1-2 1.1-.4.1-.9 0-1.4-.1-.3 0-.7-.2-.9-.5-.3-.5-.2-1.3.1-1.8.2-.3.6-.4.9-.6.9-.3 1.9-.3 2.8-.3h.8v1zm-6.9-4.2L8.6 1.6c-.1-.3-.2-.4-.5-.4H6.5c-.3 0-.5.1-.6.4L1.2 14.3c-.1.2.1.6.3.6h1.8c.3 0 .5-.2.6-.5l1.2-3.3h4.6l1.3 3.3c.1.2.4.5.6.5h1.8c.3 0 .5-.4.4-.6zM6 8.5l1.4-3.4 1.5 3.4H6z"}},text_background_color:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 7.4l1.9 4.6H9.8l1.8-4.6h.4zm10.2-3.7v16.6c0 1-.9 1.9-1.9 1.9H3.7c-1 0-1.9-.9-1.9-1.9V3.7c0-1 .9-1.9 1.9-1.9h16.6c1 0 1.9.9 1.9 1.9zm-2.6 15.1L14.1 5.1c-.2-.3-.4-.5-.7-.5h-3.3c-.3 0-.5.2-.6.5L4.4 18.8c-.1.3.1.6.4.6h1.9c.3 0 .5-.2.6-.5l1.5-4.1H15l1.6 4.1c.1.3.4.5.7.5h1.9c.3 0 .5-.3.4-.6z"}},text_color:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.8 16.6h1.9c.3 0 .5-.2.6-.5L8.8 12H15l1.6 4.1c.1.3.4.5.7.5h1.9c.3 0 .5-.3.4-.6L14 2.3c-.1-.3-.3-.5-.6-.5h-3.2c-.3 0-.6.2-.7.5L4.4 16c-.1.3.1.6.4.6zm6.8-12h.4l2 4.6H9.8l1.8-4.6zm10.8 14.8H1.6c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h20.8c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7z"}},text_template:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.3 17.2v-.1c.1-1.3 1.1-2.3 2.4-2.3h3.1c-.5-.9-.4-2 .3-2.8l.1-.1.7-.7c.4-.5 1-.7 1.6-.8V2.8c0-1-.8-1.8-1.9-1.8H2.8C1.8 1 1 1.8 1 2.8v12.9c0 1 .8 1.8 1.8 1.8h6.4v-.3zM3.7 3.8c0-.2.2-.4.5-.4H7c.2 0 .4.2.4.4v1.3c0 .3-.2.5-.4.5H4.2c-.3 0-.5-.2-.5-.5V3.8zm0 4c0-.2.2-.4.5-.4h10.1c.3 0 .5.2.5.4v1.3c0 .3-.2.5-.5.5H4.2c-.2 0-.4-.2-.4-.5l-.1-1.3zm0 5.4v-1.3c0-.3.2-.5.5-.5h8.3c.3 0 .5.2.5.5v1.3c0 .3-.2.5-.5.5H4.2c-.3 0-.5-.2-.5-.5zm14.4-.7c-.3-.3-.6-.3-.8 0l-.8.7c-.2.2-.2.6 0 .7l2.1 2.1v.2c0 .3-.1.4-.3.4h-6.6c-.3 0-.5.2-.6.5v1.1c.1.3.3.5.6.6h6.6c.1 0 .1.1.2.1.1.1.1.4.1.5l-2.1 2.1c-.2.2-.2.5 0 .7l.8.8c.2.2.5.2.7 0l4.9-4.9c.2-.2.2-.6 0-.7l-4.8-4.9z"}},textarea:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.7 22.8H3.3c-1.2 0-2.1-.9-2.1-2.1V3.3c0-1.2.9-2.1 2.1-2.1h17.4c1.2 0 2.1.9 2.1 2.1v17.4c0 1.2-.9 2.1-2.1 2.1zM4.1 4.8v14.4c0 .4.3.7.7.7h14.4c.5 0 .8-.3.8-.7V4.8c0-.5-.3-.8-.8-.8H4.8c-.4.1-.7.4-.7.8zm12.2 7.7c.4 0 .7.3.7.7v3.1c0 .5-.3.8-.7.8H13c-.4 0-.7-.3-.8-.8 0-.2.2-.4.3-.6l.7-.7c.5-.5 1-.9 1.4-1.3.4-.3.7-.6 1-.9.1-.1.2-.2.3-.2.2-.1.3-.1.4-.1z"}},textbox:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.6 22.8H3.4c-1.2 0-2.2-1-2.2-2.2V3.4c0-1.2 1-2.2 2.2-2.2h17.3c1.2 0 2.1 1 2.1 2.2v17.3c0 1.1-1 2.1-2.2 2.1zM4.1 4.8v14.4c0 .4.3.7.7.7h14.4c.5 0 .8-.3.8-.7V4.8c0-.4-.3-.7-.8-.7H4.8c-.4 0-.7.3-.7.7zM7 16.3V7.7c0-.4.3-.7.8-.7h1.4c.4 0 .7.3.7.7v8.6c0 .4-.3.7-.7.7H7.8c-.5 0-.8-.3-.8-.7z"}},threedots:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.7 9.2c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8S.9 13.5.9 12s1.3-2.8 2.8-2.8zm8.3 0c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8 1.3-2.8 2.8-2.8zm8.3 0c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8 1.3-2.8 2.8-2.8z"}},threedots_vertical:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.2 20.3c0-1.5 1.3-2.8 2.8-2.8s2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8zm0-8.3c0-1.5 1.3-2.8 2.8-2.8s2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8zm0-8.3C9.2 2.2 10.5.9 12 .9s2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8z"}},thunder:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14 1.4c-.7-.6-1.7-.6-2.4 0L1.4 11.6c-.6.7-.6 1.7 0 2.4l5.4 5.4c.7.7 1.8.7 2.5 0L19.4 9.3c.7-.7.7-1.8 0-2.5L14 1.4zm-8.4.9c-.2-.2-.6-.2-.9 0L2.3 4.7c-.2.3-.2.7 0 .9l.9.9c.3.3.7.3.9 0l2.4-2.4c.3-.2.3-.6 0-.9l-.9-.9zm8.7 14.4c-.2.3-.2.7 0 .9l5.3 5.3c.2.2.6.2.9 0l2.4-2.4c.2-.3.2-.7 0-.9l-5.2-5.3c-.3-.2-.7-.2-1 0l-2.4 2.4z"}},tile_card_list:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.7 1.8H2.5c-.3 0-.7.4-.7.7v7.9c0 .4.4.7.7.7h4.2c.4 0 .7-.3.7-.7V2.5c0-.3-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.4-.7.7v7.9c0 .4.4.7.7.7h4.2c.3 0 .7-.3.7-.7V2.5c0-.3-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.4-.7.7v7.9c0 .4.3.7.7.7h4.2c.3 0 .7-.3.7-.7V2.5c0-.3-.4-.7-.7-.7zM6.7 12.9H2.5c-.3 0-.7.3-.7.7v7.9c0 .3.4.7.7.7h4.2c.4 0 .7-.4.7-.7v-7.9c0-.4-.3-.7-.7-.7zm7.4 0H9.9c-.3 0-.7.3-.7.7v7.9c0 .3.4.7.7.7h4.2c.3 0 .7-.4.7-.7v-7.9c0-.4-.4-.7-.7-.7zm7.4 0h-4.2c-.4 0-.7.3-.7.7v7.9c0 .3.3.7.7.7h4.2c.3 0 .7-.4.7-.7v-7.9c0-.4-.4-.7-.7-.7z"}},toggle_panel_bottom:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.2 3.7H2.8c-.5 0-1 .4-1 .9v14.8c0 .5.5.9 1 .9h18.4c.5 0 1-.4 1-.9V4.6c0-.5-.5-.9-1-.9zm-.9 14.8H3.7v-13h16.6v13zm-1.4-1H5.1c-.3 0-.4-.1-.4-.4v-4.6c0-.3.1-.5.4-.5h13.8c.3 0 .5.2.5.5v4.6c0 .3-.2.4-.5.4z"}},toggle_panel_left:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.2 3.7H2.8c-.5 0-1 .4-1 .9v14.8c0 .5.5.9 1 .9h18.4c.5 0 1-.4 1-.9V4.6c0-.5-.5-.9-1-.9zm-.9 14.8H3.7v-13h16.6v13zm-10.6-1H5.1c-.3 0-.4-.1-.4-.4V6.9c0-.3.1-.4.4-.4h4.6c.3 0 .5.1.5.4v10.2c0 .3-.2.4-.5.4z"}},toggle_panel_right:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M1.8 3.7h20.4v16.6H1.8V3.7zm1.9 1.8v13h16.6v-13H3.7zm10.1 1h5.6v11h-5.6v-11z"}},toggle_panel_top:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.2 3.7H2.8c-.5 0-1 .4-1 .9v14.8c0 .5.5.9 1 .9h18.4c.5 0 1-.4 1-.9V4.6c0-.5-.5-.9-1-.9zm-.9 14.8H3.7v-13h16.6v13zM18.9 12H5.1c-.3 0-.4-.2-.4-.5V6.9c0-.3.1-.4.4-.4h13.8c.3 0 .5.1.5.4v4.6c0 .3-.2.5-.5.5z"}},topic:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 16.3c0-.1-.2-.3-.3-.3l-1-.3c-.2-.1-.4 0-.5.2l-1.8 3c-.4.9-.2 1.1.7.7l3-1.8c.2-.1.3-.3.3-.5l-.4-1zm8-8.6c0 .1.2.3.3.3l1 .3c.2.1.4 0 .5-.2L19.6 5c.4-.8.2-1.1-.7-.6l-3 1.7c-.2.1-.3.4-.3.5l.4 1.1zm-9.8.4c.1.2.3.3.5.3l1-.3c.1-.1.3-.2.3-.3l.3-1.1c.1-.1 0-.4-.2-.5l-3-1.8c-.9-.4-1.1-.2-.7.7l1.8 3zm11.6 7.8c-.1-.2-.3-.3-.5-.3l-1 .3c-.1.1-.3.2-.3.3l-.3 1.1c-.1.2 0 .4.2.5l3.1 1.8c.8.4 1.1.2.6-.7l-1.8-3zm4.7-4.3l-7.6-2c-.3 0-.5-.3-.5-.5l-2-7.6c-.3-.8-.6-.8-.8 0l-2 7.6c-.1.3-.3.5-.6.5l-7.5 2c-.8.3-.8.6 0 .8l7.6 2c.3.1.5.3.5.6l2 7.5c.3.8.6.8.8 0l2-7.5c.1-.3.3-.5.6-.6l7.5-2c.8-.2.8-.6 0-.8zM12 13.8c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8 1.8.8 1.8 1.8-.8 1.8-1.8 1.8z"}},topic2:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.7 6.1h-3L21 1.2v-.1c0-.2-.1-.4-.4-.4h-2.4c-.2 0-.3.2-.3.4l-1.3 5.1h-6l1.3-5v-.1c0-.2-.2-.4-.4-.4H9.1c-.2 0-.3.2-.4.4l-1.3 5H4.1c-.2 0-.4.1-.4.3l-.6 2.3v.1c0 .2.1.3.4.3h3.1l-1.5 5.8H1.9c-.2 0-.3.1-.4.3l-.6 2.2c0 .2.2.4.4.4h3l-1.3 5v.1c0 .2.2.4.4.4h2.4c.2 0 .3-.1.4-.3l1.3-5.2h6l-1.3 5v.1c0 .2.1.4.4.4H15c.1 0 .3-.1.3-.4l1.3-5.1h3.3c.2 0 .3-.1.4-.4l.6-2.2v-.1c0-.2-.2-.4-.4-.4h-3.1L18.9 9h3.2c.2 0 .3-.1.4-.4l.6-2.2v-.1s-.2-.2-.4-.2zm-8.4 8.8h-6l1.5-5.8h5.9l-1.4 5.8z"}},touch_action:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.4 13.8l-3.7-1.3c-.3-.1-.5-.4-.5-.7V6.7c0-.7-.7-1.3-1.5-1.3h-.1c-.8 0-1.4.6-1.4 1.3v10c0 .8-1.1 1.2-1.6.4l-.9-2c-.5-.9-1.7-1.1-2.5-.5l-.6.4 3.2 7.6c.1.3.4.5.8.5h8.3c.5 0 .8-.3.9-.7l1.4-5.2c.4-1.5-.4-2.9-1.8-3.4zm-9.5-3.2v-4c.1-1.8 1.7-3.4 3.5-3.5h.4c1.9.1 3.4 1.7 3.5 3.5v4c0 .3.4.5.7.3 1-1.1 1.6-2.5 1.6-4 0-3.4-3-6.2-6.5-5.9-2.7.3-4.9 2.3-5.3 5-.3 1.8.3 3.6 1.5 4.9.2.2.6 0 .6-.3z"}},tracker:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7 13.1v-2c2.4-.4 4.2-2.5 4.2-5C11.2 3.3 8.9 1 6.1 1S1 3.3 1 6.1c0 2.5 1.8 4.6 4.2 5v2c-2.4.4-4.2 2.5-4.2 5 0 2.8 2.3 5.1 5.1 5.1s5.1-2.3 5.1-5.1c0-2.5-1.8-4.5-4.2-5zm-4.1-7c0-1.8 1.4-3.2 3.2-3.2s3.2 1.4 3.2 3.2-1.4 3.2-3.2 3.2-3.2-1.4-3.2-3.2zM14 4.2h8.2c.6 0 1 .5 1 1V7c0 .5-.4.9-1 .9H14c-.5 0-.9-.4-.9-.9V5.2c0-.5.4-1 .9-1zm0 12h8.2c.6 0 1 .5 1 1V19c0 .5-.4.9-1 .9H14c-.5 0-.9-.4-.9-.9v-1.8c0-.5.4-1 .9-1z"}},trail:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.8.9c1.6 0 2.8 1.2 2.8 2.7s-1.3 2.8-2.8 2.8-2.7-1.2-2.7-2.8S11.3.9 12.8.9zm7 7.5c-.5-.1-1 .3-1.1.8l-.2 2.7c-.1 0-.2.1-.3.1h-2.5l-1.8-3.1c-.1-.3-.4-.5-.7-.5L10.5 8c-.4-.1-.9.2-1.1.6l-2 5.2c-.2.5 0 .9.4 1.1l5 3.4.4 3.9c0 .5.5.9 1 .9.6 0 1.1-.5 1-1l-.4-4.8c0-.2-.2-.5-.4-.6l-2.7-3.1 1-2.5 1.2 2.1c.2.3.5.6.9.6h3.5l-1 8.3c-.1.5.3.9.8 1 .1 0 .1-.1.1-.1.5 0 1-.3 1-.8l1.6-12.9c0-.4-.4-.9-1-.9zM5.6 12.8l1.7-4.4c.1-.3.3-.6.5-.8l-.3-.1c-1.5-.2-2.8.7-3.3 2.1L3.3 12c-.2.5.1 1.1.6 1.2l.4.1c.6.2 1.1-.1 1.3-.5zm.7 3.4l-2.1 6.2c-.1.4.1.6.5.6h1.1c.4 0 .8-.2 1-.6l2-4.5-2.3-1.4c0-.1-.1-.2-.2-.3z"}},trailhead:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M21 15.4h1.2l-.6-1.9.6-1.9h-2.1c-.3-1.1-.9-2.2-1.6-3.3-.7-1.1-1.5-2-2.6-2.9-1-.9-2.3-1.7-3.9-2.3V3l-.1.1s-.6.1-1.5.5c-.6.4-1.4.8-2.2 1.5-1.3.9-2.6 2.3-3.6 4.3-.4.7-.7 1.4-.9 2.2H1.8l.6 1.9-.6 1.9H3c-.1.6-.1 1.2-.1 1.8v1.2l.1.1s1 .6 2.6 1.1c1.6.5 3.8 1 6.5 1 2.1 0 4.5-.3 7-1.3.6-.2 1.2-.5 1.8-.8l.1-.1h.1v-1.2c0-.5-.1-1.1-.1-1.8zm-18.3-.7l.4-1.2-.4-1.3h18.6l-.4 1.3.4 1.2H2.7zM6 11.6l1.4-2.3 1.2-1.9 1.9 2.4 1.2-1.1 1.2 1.5 1.9-2.8 3.1 4.2H6zm-1.2-1.3c.3-.5.6-1 .8-1.4.1-.1.1-.2.2-.3 0 0 .1-.1.1-.2 2.4-3.6 5.9-4.7 6-4.7l.1-.1v.1c2.5 1 4.3 2.5 5.5 4.2.5.5.8 1.1 1.1 1.7.4.6.6 1.3.9 1.9h-.8c-1-2.6-3-5.5-6.7-7.2-.8.3-5 1.9-6.9 7.2h-.8c.2-.3.4-.7.5-1.2zm15.6 7.6v.1l-.1.1c-2.9 1.5-5.7 2-8.2 2-4.5 0-7.9-1.6-8.4-1.9-.1-.1-.1-.1-.2-.1v-.2c0-.9 0-1.7.1-2.4h.6c0 .6-.1 1.3 0 2.1.6.4 3 1.4 6.2 1.7.8-.4 1.3-1.3.1-2.3h-.2v-.1h-.1V16.6c-.2-.4 0-.7 1.1-.8.3-.1 1.4 0 1-.4h.5c.4.4.4.8-1.3 1-.2 0-.3.2-.3.3h.1c1.7.4 2.1 1.6 1.9 2.5 2-.1 4.2-.6 6.4-1.7 0-.4 0-1.2-.2-2.2h.7c0 .2.1.3.1.5.3 1.3.2 2 .2 2.1z"}},travel_and_places:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.7 9.7l-2.1-5.6c-.3-1.1-1.3-1.8-2.4-1.8H6.8c-1.1 0-2.1.7-2.4 1.8L2.3 9.7c-1 .3-1.4 1.2-1.4 2.2v5.4c0 .9 1 1.8 1.9 2.1v1.8c0 .7.3 1 .9 1H6c.6 0 .9-.3.9-1v-1.8h10.2v1.8c0 .7.3 1 .9 1h2.3c.6 0 .9-.3.9-1v-1.8c.9-.3 1.9-1.1 1.9-2.1v-5.4c0-1-.4-1.9-1.4-2.2zm-16.6 6c-1.1 0-1.9-.8-1.9-1.9S4 12 5.1 12s1.8.8 1.8 1.8-.8 1.9-1.8 1.9zm7.6-6H5.4c-.2 0-.4-.2-.3-.5l1.4-4.1c0-.2.1-.5.4-.5h10.2c.3 0 .4.4.4.5l1.4 4.1c.1.3 0 .5-.4.5h-5.8zm6.2 6c-1 0-1.8-.8-1.8-1.9s.8-1.8 1.8-1.8 1.9.8 1.9 1.8-.8 1.9-1.9 1.9z"}},trending:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 14.1a.5.5 0 0 1-.9.4L19.7 12 14 16.9a1.6 1.6 0 0 1-2.3 0L8.3 13l-6.2 5.4a.5.5 0 0 1-.7 0l-.3-.3a.5.5 0 0 1 0-.8l6-8.2a1.6 1.6 0 0 1 2.3 0l3.5 3.4 3.5-4-2.3-2.1a.6.6 0 0 1 .4-.9H22a1.1 1.1 0 0 1 1.1 1.1z"}},turn_off_notifications:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.8 12.3c.3.3.6.3.9 0l9.9-9.1c.2-.3.1-.9-.6-.9H1.6c-.5 0-1 .5-.6.9l9.8 9.1zm3.1 5.1c.2-2.6 2.3-4.8 4.9-5 .3 0 .5-.1.7-.1.8 0 1.5.2 2.2.5V7.1c0-.5-.5-.7-.8-.4l-7.7 7.1c-.5.5-1.2.7-1.9.7s-1.4-.2-1.9-.7L1.8 6.7c-.4-.3-.9-.1-.9.4v9c0 1.2.9 2.1 2.1 2.1h10.9v-.8zm5.5-3.1c-2 0-3.7 1.7-3.7 3.7s1.7 3.7 3.7 3.7 3.7-1.7 3.7-3.7-1.6-3.7-3.7-3.7zm2.8 4.4c0 .1-.1.2-.2.2h-5.1c-.1 0-.2-.1-.2-.2v-1.4c0-.1.1-.2.2-.2H22c.1 0 .2.1.2.2v1.4z"}},type:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 5.1H1.8c-.5 0-.9.4-.9.9v12c0 .5.4.9.9.9h20.4c.5 0 .9-.4.9-.9V6c0-.5-.4-.9-.9-.9zm-1 12H2.8V6.9h18.4v10.2zm-16-7h.4c.4 0 .7-.4.7-.7v-.5c0-.4-.3-.7-.7-.7h-.4c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7zm2.6 0h.5c.3 0 .7-.4.7-.7v-.5c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7zm5.3 0h.5c.3 0 .7-.4.7-.7v-.5c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7zm-2.7 0h.5c.4 0 .7-.4.7-.7v-.5c0-.4-.3-.7-.7-.7h-.5c-.3 0-.7.3-.7.7v.5c0 .3.4.7.7.7zm8 0h.5c.3 0 .7-.4.7-.7v-.5c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.5c0 .3.3.7.7.7zm-2.7 0h.5c.4 0 .7-.4.7-.7v-.5c0-.4-.3-.7-.7-.7h-.5c-.3 0-.7.3-.7.7v.5c0 .3.4.7.7.7zM5.2 12.8h.4c.4 0 .7-.3.7-.7v-.4c0-.4-.3-.7-.7-.7h-.4c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7zm2.6 0h.5c.3 0 .7-.3.7-.7v-.4c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7zm5.3 0h.5c.3 0 .7-.3.7-.7v-.4c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7zm-2.7 0h.5c.4 0 .7-.3.7-.7v-.4c0-.4-.3-.7-.7-.7h-.5c-.3 0-.7.3-.7.7v.4c0 .4.4.7.7.7zm8 0h.5c.3 0 .7-.3.7-.7v-.4c0-.4-.4-.7-.7-.7h-.5c-.4 0-.7.3-.7.7v.4c0 .4.3.7.7.7zm-2.7 0h.5c.4 0 .7-.3.7-.7v-.4c0-.4-.3-.7-.7-.7h-.5c-.3 0-.7.3-.7.7v.4c0 .4.4.7.7.7zM5.2 15.6h.4c.4 0 .7-.3.7-.7v-.5c0-.3-.3-.6-.7-.6h-.4c-.4 0-.7.3-.7.6v.5c0 .4.3.7.7.7zm2.6 0h8.4c.4 0 .7-.3.7-.7v-.5c0-.3-.3-.6-.7-.6H7.8c-.4 0-.7.3-.7.6v.5c0 .4.3.7.7.7zm10.6 0h.5c.3 0 .7-.3.7-.7v-.5c0-.3-.4-.6-.7-.6h-.5c-.4 0-.7.3-.7.6v.5c0 .4.3.7.7.7z"}},type_tool:{path:{d:"M23.2 22L15.1 1.8a1.1 1.1 0 0 0-1-.6H9.3a1 1 0 0 0-1 .6L.9 22a.7.7 0 0 0 .6.8h2.8a1.1 1.1 0 0 0 .9-.7l2.2-6h9.1l2.3 6a1.1 1.1 0 0 0 1 .7h2.8a.7.7 0 0 0 .6-.8zM8.8 12l2.7-6.8h.5l2.9 6.8z"}},undelete:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 9.2H4.8c-.3 0-.6.4-.6.7v10.9c0 1.3 1 2.3 2.3 2.3h11c1.3 0 2.3-1 2.3-2.3V9.9c0-.3-.3-.7-.6-.7zm-7.2 12v-1.8c1.5 0 2.8-1.3 2.8-2.8s-1.3-2.8-2.8-2.8c-.7 0-1.4.4-1.9.9l1.1 1.1c.1.1 0 .4-.2.4H7.6c-.1 0-.2-.1-.2-.2v-3.4c0-.2.2-.3.4-.2l1 1c.8-.8 2-1.4 3.2-1.4 2.6 0 4.7 2.1 4.7 4.7s-2.2 4.5-4.7 4.5zm9-16.6h-5.8V2.8c0-1-.8-1.9-1.8-1.9h-2.8c-1 0-1.8.9-1.8 1.9v1.8H3c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h18c.4 0 .7-.3.7-.7V5.3c0-.4-.3-.7-.7-.7zm-7.6 0h-2.8V3.2c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.4z"}},undeprecate:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 3.2H1.8c-.5 0-.9.4-.9 1v12c0 .5.4.9.9.9h7.5c.5 2.6 2.7 4.6 5.5 4.6s5-2 5.4-4.6h2c.5 0 .9-.4.9-.9v-12c0-.6-.4-1-.9-1zm-8.1 15.9l-2.7-2.8 1.2-1.3 1.5 1.5 3.3-3.3 1.2 1.3-4.5 4.6zm7.1-3.9h-1c-.4-2.6-2.7-4.6-5.4-4.6s-5.1 2-5.5 4.6H2.8V5.1h18.4v10.1z"}},underline:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.5 19.4h-17c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h17c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7zm-8.8-1.9c-3.5-.1-6.2-3.1-6.2-6.6V4.6c0-.5.5-.9 1-.9h.9c.5 0 .9.4.9.9v6.3c0 2 1.5 3.7 3.5 3.9 2.1.1 3.9-1.6 3.9-3.7V4.6c0-.5.4-.9.9-.9h.9c.5 0 1 .4 1 .9v6.5c0 3.7-3.1 6.6-6.8 6.4z"}},undo:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14 5.8c4.8 0 8.7 3.9 8.7 8.7s-3.9 8.8-8.7 8.8h-3.8c-.4 0-.6-.3-.6-.7v-1.5c0-.3.3-.7.6-.7H14c3.3 0 5.9-2.6 5.9-5.9S17.3 8.6 14 8.6H7.6s-.4 0-.5.1c-.4.2-.3.4 0 .8l2.3 2.2c.2.3.2.7-.1 1l-1 1c-.3.3-.6.3-.9.1l-6-6c-.2-.3-.2-.6 0-.9l6-5.9c.3-.3.7-.3 1 0l.9.9c.3.3.3.8 0 1L7.1 5.2c-.3.2-.3.6.1.6H14z"}},unlinked:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.4 17l4.3-4.4.3-.3 3.9-3.9 1.7-1.7 1.9-1.9c.3-.2.4-.6.1-.9l-.8-.8c-.2-.2-.5-.2-.8-.1L3.1 18.9c-.3.3-.3.7-.1.9l.8.9c.2.2.6.2.9-.2l1.9-1.8L8.4 17zm.1-6.3c-.2 0-.4.1-.5.3v1.4l1.8-1.7H8.5zm-4.7 5.9l1.9-1.8c-1.3-.3-2.3-1.4-2.4-2.7-.2-1.8 1.3-3.2 3-3.2h4.2c.3 0 .6.1.9.2l1.8-1.8c-.4-.2-.8-.5-1.2-.6-.5-.1-1-.2-1.5-.2h-4c-3 0-5.5 2.2-5.6 5.1-.1 2.2 1.1 4.1 2.9 5zm16.1-9.5L18 8.9c1.4.2 2.4 1.3 2.5 2.7.2 1.8-1.3 3.2-3 3.2h-4.1c-.4 0-.8-.1-1.1-.2l-1.8 1.8c.4.3.9.5 1.3.6.5.2 1 .3 1.5.3h4.2c3.1 0 5.5-2.5 5.4-5.6-.1-2.1-1.3-3.8-3-4.6zm-6 6h1.4c.2 0 .3-.2.4-.4.1-.3.1-.6.1-.8 0-.3 0-.5-.1-.7l-1.8 1.9z"}},unlock:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.6 8.4v.1-.1zm14.8 2.2h-12V8.4c0-2.4 1.8-4.6 4.3-4.7 2.2-.1 4.1 1.3 4.7 3.3.1.2.3.4.5.4h1.9c.3 0 .5-.3.4-.6-.7-3.5-3.8-6.1-7.6-5.9-3.9.2-6.9 3.6-7 7.5v2.2c-1 0-1.8.8-1.8 1.9v8.7c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9v-8.7c0-1.1-.8-1.9-1.8-1.9zm-5.3 9.1c.1.3-.1.6-.4.6h-3.4c-.3 0-.6-.3-.5-.6l.9-2.8c-.7-.4-1.1-1.3-1-2.2.2-.9.9-1.5 1.8-1.7 1.5-.3 2.8.8 2.8 2.1 0 .8-.4 1.5-1 1.8l.8 2.8z"}},unmuted:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 8.3c-.7 0-1.2.5-1.2 1.1v1.9c0 3.2-2.7 5.9-6 5.9s-6.1-2.7-6.1-5.9V9.4c0-.6-.5-1.1-1.1-1.1s-1.1.5-1.1 1.1v1.9c0 4.1 3.1 7.4 7.1 8v1.6H9c-.7 0-1.2.4-1.2 1.1s.5 1.1 1.2 1.1h6c.6 0 1.2-.5 1.2-1.1s-.6-1.1-1.2-1.1h-1.9v-1.6c4.1-.6 7.2-3.9 7.2-8V9.4c0-.6-.5-1.1-1.1-1.1zM12 15c2 0 3.7-1.7 3.7-3.7V4.6c0-2.1-1.6-3.7-3.7-3.7S8.3 2.5 8.3 4.6v6.7c0 2 1.7 3.7 3.7 3.7z"}},up:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.2 17.5H3.8c-.4 0-.8-.6-.4-1l8-9.8c.3-.3.9-.3 1.2 0l8 9.8c.4.4.1 1-.4 1z"}},upload:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 14.3H21c-.4 0-.7.4-.7.7v4.6c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V15c0-.3-.3-.7-.7-.7H1.6c-.4 0-.7.4-.7.7v6.2c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V15c0-.3-.3-.7-.7-.7zM12.5 1.1c-.3-.3-.7-.3-1 0L5.3 7.3c-.3.3-.3.7 0 1l.9 1c.3.3.7.3 1 0l2.6-2.6c.3-.3.8-.1.8.3v9.8c0 .4.3.7.7.7h1.3c.4 0 .8-.4.8-.7V7.1c0-.5.4-.6.8-.4l2.6 2.6c.2.3.6.3.9 0l1-.9c.3-.3.3-.7 0-1l-6.2-6.3z"}},user:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 19.8v1.1c0 1.2-1 2.2-2.2 2.2H3.1c-1.2 0-2.2-1-2.2-2.2v-1.1c0-2.6 3.2-4.3 6.1-5.6l.3-.1c.2-.1.5-.1.7 0 1.2.8 2.5 1.2 4 1.2s2.8-.4 3.9-1.2c.3-.1.5-.1.7 0l.3.1c3 1.3 6.2 2.9 6.2 5.6zM12 .9c3 0 5.5 2.7 5.5 6.1S15 13.1 12 13.1 6.5 10.4 6.5 7 9 .9 12 .9z"}},user_role:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.1 16.6c0-1.2.5-2.7 1.1-3.8.8-1.4 1.7-1.9 2.4-2.9 1.1-1.7 1.3-4.2.6-6-.7-1.9-2.5-3-4.5-3S6 2.2 5.3 4.1c-.7 2.1-.4 4.6 1.3 6.1.7.7 1.3 1.7 1 2.7-.4.9-1.5 1.3-2.3 1.7-1.8.8-3.9 1.9-4.3 4-.4 1.8.8 3.6 2.7 3.6h7.9c.3 0 .6-.5.3-.8-1.1-1.3-1.8-3-1.8-4.8zm7.4-5.5c-3 0-5.5 2.5-5.5 5.5s2.5 5.6 5.5 5.6 5.6-2.5 5.6-5.6-2.5-5.5-5.6-5.5zm1 6c-.1 0-.3 0-.4-.1l-2.2 2.2c-.1.1-.3.2-.4.2-.2 0-.4-.1-.5-.2-.3-.3-.3-.7 0-1l2.1-2.1c0-.1 0-.3-.1-.4-.1-1 .7-1.9 1.7-1.9.1 0 .3 0 .5.1 0 0 .1.1 0 .1l-.9 1c-.1.1-.1.2 0 .2l.6.7c.1.1.2.1.3 0l.9-.9c.1-.1.2-.1.2 0v.5c0 1-.8 1.7-1.8 1.6z"}},variable:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.7 8.2c1.1 0 3.3-.9 3.3-3.9s-2.1-3.1-2.8-3.1c-1.3 0-2.6.9-3.8 2.9-1.1 2-2.4 4.2-2.4 4.2h-.1c-.2-1.4-.5-2.6-.6-3.1-.2-1.2-1.6-3.9-4.5-3.9-3 0-5.7 1.7-5.7 1.7-.4.4-.7.9-.7 1.6 0 .9.7 1.8 1.8 1.8.2 0 .5-.1.7-.2 0 0 2.3-1.3 2.8 0 .1.4.2.8.4 1.2.5 2 1.1 4.2 1.5 6.3l-1.9 2.7s-2.2-.8-3.3-.8-3.3 1-3.3 3.9 2.1 3.2 2.8 3.2c1.3 0 2.6-1 3.7-2.9 1.2-2.1 2.5-4.2 2.5-4.2.3 1.8.7 3.2.8 3.9.8 2.1 2.5 3.3 4.7 3.3 0 0 2.3 0 5-1.5.7-.3 1.1-.9 1.1-1.7 0-1-.7-1.8-1.8-1.8-.2 0-.5.1-.7.2 0 0-2 1.1-2.6.2-.5-.9-.9-2.1-1.2-3.6-.3-1.3-.6-2.8-1-4.4l2-2.8s2.2.8 3.3.8z"}},video:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.6 6l-5 3.7V7.1c0-.7-.6-1.2-1.3-1.2H2.2c-.7 0-1.3.5-1.3 1.2v9.8c0 .7.6 1.3 1.3 1.3h13.2c.7 0 1.2-.6 1.2-1.3v-2.5l5 3.6c.4.3.9.1.9-.4V6.4c0-.4-.5-.7-.9-.4z"}},voicemail_drop:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18 6.8c-2.8 0-5.2 2.3-5.2 5.2 0 1 .4 2 .9 2.8h-3.4c.6-.8.9-1.7.9-2.8 0-2.8-2.3-5.2-5.2-5.2C3.2 6.8.8 9.1.8 12c0 2.8 2.3 5.2 5.2 5.2h12c2.8 0 5.1-2.3 5.1-5.2.1-2.9-2.2-5.2-5.1-5.2zM3.3 12c0-1.6 1.3-2.8 2.7-2.8 1.6 0 2.8 1.2 2.8 2.8S7.5 14.7 6 14.7 3.3 13.5 3.3 12zM18 14.8c-1.5 0-2.7-1.3-2.7-2.8s1.2-2.8 2.7-2.8c1.5 0 2.7 1.3 2.7 2.8.1 1.5-1.2 2.8-2.7 2.8z"}},volume_high:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.4 1.2L5.5 8.3H2.8c-1 0-1.9.8-1.9 1.9v3.6c0 1.1.9 1.9 1.9 1.9h2.7l5.9 7.1c.6.6 1.5.2 1.5-.6V1.8c0-.8-1-1.2-1.5-.6zM19.7 4c-.2-.2-.5-.2-.7 0l-.6.7c-.2.1-.2.5 0 .6 1.7 1.7 2.8 4.1 2.8 6.7 0 2.6-1.1 5-2.8 6.7-.2.2-.2.5 0 .6l.6.7c.2.2.5.2.7 0 2-2 3.4-4.9 3.4-8 0-3.1-1.3-6-3.4-8zm-2.9 3c-.2-.2-.5-.2-.7 0l-.6.6c-.2.2-.2.5 0 .7 1 .9 1.6 2.2 1.6 3.7s-.7 2.8-1.7 3.7c-.2.2-.2.5 0 .7l.7.6c.1.2.4.2.6 0 1.3-1.2 2.2-3 2.2-5s-.8-3.8-2.1-5z"}},volume_low:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.4 1.2L5.5 8.3H2.8c-1 0-1.9.8-1.9 1.9v3.6c0 1.1.9 1.9 1.9 1.9h2.7l5.9 7.1c.6.6 1.5.2 1.5-.6V1.8c0-.8-1-1.2-1.5-.6zM16.8 7c-.2-.2-.5-.2-.7 0l-.6.6c-.2.2-.2.5 0 .7 1 .9 1.6 2.2 1.6 3.7s-.7 2.8-1.7 3.7c-.2.2-.2.5 0 .7l.7.6c.1.2.4.2.6 0 1.3-1.2 2.2-3 2.2-5s-.8-3.8-2.1-5z"}},volume_off:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.4 1.2L5.5 8.3H2.8c-1 0-1.9.8-1.9 1.9v3.6c0 1.1.9 1.9 1.9 1.9h2.7l5.9 7.1c.6.6 1.5.2 1.5-.6V1.8c0-.8-1-1.2-1.5-.6zM20.7 12l2.2-2.3c.2-.1.2-.4 0-.6l-.6-.7c-.2-.1-.5-.1-.7 0l-2.2 2.3-2.3-2.3c-.2-.1-.4-.1-.6 0l-.7.7c-.2.2-.2.5 0 .6l2.3 2.3-2.3 2.3c-.2.1-.2.4 0 .6l.7.7c.2.1.4.1.6 0l2.3-2.3 2.2 2.3c.2.1.5.1.7 0l.6-.7c.2-.2.2-.5 0-.6L20.7 12z"}},waits:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 8.5c0-.4-.3-.7-.7-.7h-9.7c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h6.6l-7.2 8.7c-.1.1-.1.3-.1.4v1.4c0 .4.3.7.7.7h9.7c.4 0 .7-.3.7-.7v-1.4c0-.4-.3-.7-.7-.7h-6.5l7-8.6c.1-.1.2-.3.2-.4V8.5zM12 2.9c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h6.6l-7.1 8.7v.1c-.1 0-.2.2-.2.3v1.4c0 .4.3.7.7.7h9.7c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7H4.8l7.1-8.6c.1-.1.1-.3.1-.4V2.9z"}},warning:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.7 19.6L13.2 2.5c-.6-.9-1.8-.9-2.4 0L.3 19.6c-.7 1.1 0 2.6 1.1 2.6h21.2c1.1 0 1.8-1.5 1.1-2.6zM12 18.5c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4 1.4.6 1.4 1.4-.6 1.4-1.4 1.4zm1.4-4.2c0 .3-.2.5-.5.5h-1.8c-.3 0-.5-.2-.5-.5v-6c0-.3.2-.5.5-.5h1.8c.3 0 .5.2.5.5v6z"}},weeklyview:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.3 3.2H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9zm1.2 6h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zm-6.4 4.4l-2.9 6.2c-.1.3-.4.5-.8.5-.5 0-.9-.4-.9-.8 0-.1.1-.3.1-.4l2.5-5.3H9.6c-.5 0-.8-.2-.8-.6 0-.4.3-.7.8-.7h4.8c.4 0 .8.3.8.8 0 .1 0 .2-.1.3z"}},wifi:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22 7.3c-2.5-2.8-6.1-4.4-10-4.4S4.6 4.5 2.1 7.3c-.2.2-.2.5 0 .6l1.4 1.2c.2.2.5.2.7 0C6.2 6.9 9 5.7 12 5.7s5.9 1.2 7.9 3.4c.2.2.5.2.7 0L22 7.9c.2-.1.2-.4 0-.6zM12 9.4c-1.9 0-3.7.8-5 2.3-.2.2-.2.5 0 .7l1.5 1.1c.2.1.5.1.6-.1.8-.8 1.8-1.3 2.9-1.3s2.2.5 3 1.3c.1.2.4.2.6 0l1.4-1.1c.3-.2.3-.4.1-.7-1.3-1.4-3.1-2.2-5.1-2.2zm.1 6.4c1.2 0 2.3 1 2.3 2.3s-1 2.3-2.3 2.3-2.3-1-2.3-2.3 1-2.3 2.3-2.3z"}},work_order_type:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.1 12.4c0 .5-.4.9-.8.9H6.7c-.4 0-.8-.4-.8-.9v-.9c0-.4.4-.8.8-.8h10.6c.5 0 .9.4.9.8v.9h-.1zm-1.7 5.3c0 .4-.4.9-.9.9H6.7c-.4 0-.8-.5-.8-.9v-.9c0-.5.4-.9.8-.9h8.9c.4 0 .8.4.8.9v.9zM5.9 6.2c0-.4.4-.8.8-.8h8.9c.4 0 .8.4.8.8v.9c0 .5-.4.9-.8.9H6.7c-.4 0-.8-.4-.8-.9v-.9zM19 1.8H5C3.5 1.8 2.3 3 2.3 4.5v14.9c0 1.5 1.2 2.7 2.6 2.7H19c1.4 0 2.6-1.2 2.6-2.7V4.5c.1-1.5-1.1-2.7-2.6-2.7z"}},world:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 2.3zm.9.1h-.1.1zM12 20.8c-4.8 0-8.8-4-8.8-8.8 0-.5.1-1 .2-1.4.6.1 1.3.3 1.7.7.8.8 1.6 1.8 2.5 2 0 0-.1 0-.2.2-.1.1-.2.4-.2.9 0 2.1 2 .8 2 3s2.5 3 2.5 1.3 1.6-2.6 1.6-3.9-1.3-1.3-2-1.8c-.9-.4-1.3-1.1-2.9-.9-.8-.7-1.2-1.4-.9-2.1.4-.8 2.1-1 2.1-2.2S8.5 6.4 7.7 6.4c-.4 0-1.2-.3-1.8-.6.7-.8 1.7-1.4 2.7-1.9.8.3 2 .9 3.1.9 1.2 0 1.9-.9 1.7-1.5 2.1.3 3.9 1.4 5.2 2.9-.6.4-1.6.9-3.2.9-2.1 0-2.1 2.1-.9 2.5 1.3.5 2.6-.8 3 0 .5.9-3 .9-2.1 3 .9 2.1 1.7 0 2.6 2.1.9 2.1 2.6-.3 1.3-2-.6-.7-.4-3 .9-3h.4c.2.7.3 1.5.3 2.3-.1 4.8-4.1 8.8-8.9 8.8z"}},yubi_key:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M17.8 6.5H.7c-.4 0-.7.3-.7.7v9.7c0 .4.3.7.7.7h17.1c.3 0 .7-.3.7-.7V7.2c0-.4-.4-.7-.7-.7zm-8.1 8.4c-1.6 0-2.8-1.3-2.8-2.9s1.2-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.2 2.9-2.8 2.9z"},{d:"M23.3 8.3h-6.7c-.4 0-.7.3-.7.7v6c0 .4.3.7.7.7h6.7c.4 0 .7-.3.7-.7V9c0-.4-.3-.7-.7-.7zm-1.6 1.9c.3 0 .5.1.5.4v.9h-3.7v-1.3h3.2zm0 3.6h-3.2v-1.2h3.7v.8c0 .3-.2.4-.5.4z"}],circle:{cx:"9.692",cy:"12.046",r:".554"}}},zoomin:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.3 8.8h-2.8V6c0-.3-.1-.5-.4-.5H9.2c-.2 0-.4.2-.4.5v2.8H6c-.3 0-.5.2-.5.4v1.9c0 .3.2.4.5.4h2.8v2.8c0 .3.2.5.4.5h1.9c.3 0 .4-.2.4-.5v-2.8h2.8c.3 0 .5-.1.5-.4V9.2c0-.2-.2-.4-.5-.4zm8.6 12.1l-5.3-5.3c1.1-1.5 1.8-3.4 1.8-5.4 0-5.1-4.2-9.3-9.2-9.3S.9 5.1.9 10.2s4.2 9.2 9.3 9.2c2 0 3.9-.7 5.4-1.8l5.3 5.3c.3.3.7.3 1 0l.9-1c.3-.3.3-.7.1-1zm-12.7-4.3c-3.6 0-6.5-2.9-6.5-6.4s2.9-6.5 6.5-6.5 6.4 2.9 6.4 6.5-2.9 6.4-6.4 6.4z"}},zoomout:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M8.8 11.5h5.5c.3 0 .5-.1.5-.4V9.2c0-.2-.2-.4-.5-.4H8.8m0 0H6c-.3 0-.5.2-.5.4v1.9c0 .3.2.4.5.4h2.8"},{d:"M22.9 20.9l-5.3-5.3c1.1-1.5 1.8-3.4 1.8-5.4 0-5.1-4.2-9.3-9.2-9.3S.9 5.1.9 10.2s4.2 9.2 9.3 9.2c2 0 3.9-.7 5.4-1.8l5.3 5.3c.3.3.7.3 1 0l.9-1c.3-.3.3-.7.1-1zm-12.7-4.3c-3.6 0-6.5-2.9-6.5-6.4s2.9-6.5 6.5-6.5 6.4 2.9 6.4 6.5-2.9 6.4-6.4 6.4z"}]},viewBox:"0 0 24 24"},Le={add_contact:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.2 4.2H2.8C1.5 4.2.5 5.2.5 6.5v11c0 1.3 1 2.3 2.3 2.3h18.4c1.3 0 2.3-1 2.3-2.3v-11c0-1.3-1-2.3-2.3-2.3zm-9.8 13H4.8c-.7 0-1.3-.8-1.3-1.6.1-1.2 1.3-1.8 2.5-2.4.9-.4 1-.7 1-1.1 0-.4-.2-.7-.5-1-.5-.5-.8-1.2-.8-1.9 0-1.5.9-2.7 2.4-2.7s2.4 1.3 2.4 2.7c0 .8-.3 1.5-.8 1.9-.3.3-.6.6-.6 1s.1.7 1.1 1.1c1.2.5 2.4 1.2 2.4 2.4.2.8-.4 1.6-1.2 1.6zm9-2.7c0 .4-.3.8-.7.8h-3.5c-.4 0-.8-.3-.8-.8v-1.2c0-.4.4-.7.8-.7h3.5c.4 0 .7.3.7.7v1.2zm0-4.2c0 .4-.3.8-.7.8h-5.8c-.4 0-.7-.3-.7-.8V9.1c0-.4.3-.7.7-.7h5.8c.4 0 .8.3.8.7v1.2z"}},add_file:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.5 16.7V5.2c-1.2 0-2.2 1-2.2 2.1v13.6c0 1.2 1 2.2 2.2 2.2h10.7c1.2 0 2.2-1 2.2-2.1H8.8c-2.4 0-4.3 0-4.3-4.3zM21 7.3h-3.6c-1.2 0-2.2-.9-2.2-2.1V1.6c0-.4-.3-.7-.7-.7H8.8C7.6.9 6.6 1.9 6.6 3v13.6c0 1.2 1 2.1 2.2 2.1h10.7c1.2 0 2.2-.9 2.2-2.1V8.1c0-.4-.3-.8-.7-.8zm.6-3l-3.4-3.2c-.1-.1-.2-.2-.3-.2-.3 0-.5.3-.5.5v2.4c0 .8.6 1.4 1.4 1.4h2.4c.3 0 .5-.2.5-.5 0-.1-.1-.2-.1-.4z"}},add_photo_video:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 9.2c-2 0-3.7 1.7-3.7 3.7s1.7 3.7 3.7 3.7 3.7-1.6 3.7-3.7S14 9.2 12 9.2zm9.2-2.7h-2.4c-.6 0-1.2-.4-1.5-.9L16.2 4c-.3-.8-1.1-1.2-1.9-1.2H9.7c-.8 0-1.6.4-1.9 1.2L6.7 5.6c-.3.5-.9.9-1.6.9H2.8c-1 0-1.9.8-1.9 1.8v11.1c0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V8.3c0-1-.9-1.8-1.9-1.8zm-9.2 12c-3 0-5.5-2.5-5.5-5.6S9 7.4 12 7.4s5.5 2.5 5.5 5.5-2.5 5.6-5.5 5.6z"}},add_relationship:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zm-3.7 6.5c0 .2-.2.5-.4.5H9.7v2.7c0 .3-.2.5-.5.5h-.9c-.2 0-.5-.2-.5-.5v-2.7H5.1c-.3 0-.5-.3-.5-.5v-.9c0-.3.2-.5.5-.5h2.7v-2.8c0-.2.3-.4.5-.4h.9c.3 0 .5.2.5.4v2.8h2.8c.2 0 .4.2.4.5v.9zm6.9 3.7h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2z"}},announcement:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.5 21l-.6-.5c-.7-.5-.7-1.4-.7-1.9v-1.3c0-.4-.3-.7-.7-.7H5.8c-.4 0-.7.3-.7.7v3.6c0 1.2.7 2.2 1.9 2.2h2.2c1.4 0 1.5-.9 1.5-.9s.2-.9-.2-1.2zM20.8 8.3V2c0-1.1-1.4-1.4-2.2-.7l-4.1 3.9c-.6.5-1.4.8-2.3.8h-7C2.8 6 .9 8.1.9 10.5v.1c0 2.4 1.9 4.2 4.3 4.2h7c.9 0 1.7.3 2.4.9l4 4c.8.7 2.2.4 2.2-.7v-6.3c1.4 0 2.2-.9 2.2-2.2 0-1.2-.8-2.2-2.2-2.2z"}},apex:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 18.5H9.9c-.3 0-.7.3-.7.7v1.3c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7v-1.3c0-.4-.3-.7-.7-.7zm-10.7-8.4L2.8 2.9c-.3-.2-.7-.2-1 .1l-.7 1.2c-.3.3-.2.7.1.9l6.4 5.1c.2.2.2.6 0 .7L1.2 16c-.3.2-.4.7-.1 1l.7 1.2c.3.3.7.4 1 .1l8.9-7.1c.4-.3.4-.9 0-1.1z"}},approval:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.8 20.1l-7.6-7.6c-.3-.3-.3-.8 0-1.1l1-1c.2-.2.7-.2 1 0l5.7 5.8c.2.2.5.2.7 0L20.8 4.9c.3-.3.8-.3 1 0l1 1c.3.3.3.7 0 1l-13 13.2c-.3.3-.8.3-1 0z"}},back:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 10.2H7.1c-.5 0-.6-.6-.4-.8l4.5-4.5c.2-.2.2-.7 0-.9l-1-1c-.3-.3-.7-.3-1 0l-8.1 8c-.3.3-.3.7 0 1l8.1 8.1c.3.3.7.3 1 0l.9-1c.3-.3.3-.7 0-1l-4.4-4.4c-.3-.3-.1-.8.3-.8h15.3c.4 0 .7-.3.7-.7v-1.4c.1-.3-.2-.6-.6-.6z"}},bug:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.1 4.7H15c.4 0 .7-.5.6-.8C15.2 2.2 13.8 1 12 1S8.8 2.3 8.4 3.9c0 .3.3.8.7.8zm12.8 9.5c.7 0 1.2-.5 1.1-1.1 0-.6-.5-1.1-1.2-1.1h-3.2v-1.8c2.1-.9 3.6-3.2 3.6-5.9 0-.5-.3-1-.9-1.1-.7-.1-1.3.4-1.3 1.1 0 1.6-.7 2.9-1.8 3.6-.4-.7-1.1-1-1.9-1H7.6c-.8 0-1.5.4-1.9 1-1-.7-1.8-2-1.8-3.5 0-.6-.4-1.2-1-1.2s-1.1.5-1.1 1.1c0 2.7 1.5 5 3.6 5.9V12H2.2c-.6 0-1.2.5-1.2 1 0 .7.5 1.2 1.1 1.2h3.3V16c-2.1.8-3.6 3.2-3.6 5.8 0 .6.4 1 .9 1.2.7.1 1.3-.4 1.3-1.1 0-1.5.7-2.9 1.8-3.6.6 2.1 2.2 3.7 4.2 4.4.5.1 1-.3 1-.7v-8.8c0-.6.4-1.2 1-1.2s1.2.5 1.2 1.1V22c0 .5.4.8.9.7 2.1-.7 3.7-2.3 4.3-4.4 1 .7 1.7 2 1.7 3.5 0 .6.5 1.1 1 1.1.7.1 1.2-.4 1.2-1.1 0-2.7-1.5-5-3.7-5.8v-1.9h3.3v.1z"}},call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 17.4l-2.8-2.2c-.7-.5-1.6-.6-2.2-.1L15 16.9c-.3.2-.7.2-1-.1l-3.6-3.2L7.2 10c-.3-.3-.3-.7-.1-1l1.7-2.4c.5-.6.5-1.6 0-2.2L6.5 1.6c-.7-.9-1.9-1-2.7-.2L1.5 3.8c-.4.4-.6 1-.6 1.5.3 4.7 2.4 9.1 5.5 12.3 3.2 3.1 7.6 5.2 12.3 5.5.5 0 1.1-.2 1.4-.6l2.4-2.4c.8-.7.8-2-.1-2.7z"}},canvas:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.8 17.7c-.1 1.3-.3 2.6-.5 3.9 0 .4-.5.8-.8.8-2.5.3-5 .5-7.5.5-2.4 0-4.9-.1-7.3-.5-.4 0-.8-.4-.9-.8-.3-2-.5-4.1-.5-6.2s.2-4.1.5-6.2c.1-.3.5-.7.9-.8 1.5-.2 3-.3 4.4-.4 0 0 1.2 0 1.1-1.2 0-1-1.8-1.7-1.8-3.4C8.4 2 9.8.9 12 .9c2.3 0 3.6 1.1 3.6 2.5 0 1.8-1.7 2.4-1.8 3.4C13.8 7.9 15 8 15 8c1.5.1 3 .2 4.5.4.3 0 .8.4.8.8.2 1.5.4 2.8.5 4.2 0 .4-.4.9-.8.9h-.4c-.4 0-1-.4-1.3-.7 0 0-1-1-2.1-1-1.7-.1-3 1.4-3 3s1.3 3.1 3 3.1c1-.1 2-1.1 2-1.1.4-.2 1-.5 1.4-.5h.4c.5 0 .8.3.8.6z"}},change_owner:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.6 17.4c-1.4-.6-1.6-1.1-1.6-1.7 0-.5.4-1 .8-1.4.8-.7 1.2-1.8 1.2-3 0-2.2-1.3-3.9-3.8-3.9s-3.8 1.7-3.8 3.9c0 1.2.3 2.3 1.2 3 .4.4.8.9.8 1.4 0 .6-.2 1.1-1.6 1.7-2.1.8-4 1.7-4 3.5 0 1.2 1 2.2 2.1 2.2h10.6c1.2 0 2.1-1 2.1-2.2 0-1.7-2-2.7-4-3.5zm7.9-8.6c0-3.4-2.8-6.3-6.2-6.3V.9l-3.1 2.6c-.2.1-.1.3 0 .5l3.1 2.5V4.8c2.2 0 3.9 1.8 3.9 4h-1.6l2.6 3.1c.1.1.3.1.5 0l2.5-3.1h-1.7z"}},change_record_type:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.2 17.3c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7v-5.1zm-5.5-7.1H1.5c-.5 0-.7.4-.4.6l3.7 3.8c.1.2.4.2.6 0l3.7-3.8c.3-.3 0-.6-.4-.6H6.5c0-2.4 2.3-4.7 4.6-4.7V2.8c-4.2 0-7.4 3.2-7.4 7.4zm15.6-.8c-.2-.2-.5-.2-.7 0L15 13.2c-.3.3-.1.6.4.6h2.2c0 2.8-1.9 4.7-4.7 4.7v2.7c4.2 0 7.5-3.2 7.5-7.4h2.2c.5 0 .7-.4.4-.6l-3.7-3.8zm3.8-7.8c0-.4-.3-.7-.7-.7h-6.9c-.4 0-.7.3-.7.7v5.1c0 .4.3.7.7.7h6.9c.4 0 .7-.3.7-.7V1.6z"}},check:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.8 19.6L1.2 12c-.3-.3-.3-.8 0-1.1l1-1c.3-.3.8-.3 1 0L9 15.7c.1.2.5.2.6 0L20.9 4.4c.2-.3.7-.3 1 0l1 1c.3.3.3.7 0 1L9.8 19.6c-.2.3-.7.3-1 0z"}},clone:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.2.9H8.3c-1 0-1.8.9-1.8 1.9v1.1c0 .4.3.7.7.7h8.5c2 0 3.7 1.7 3.7 3.7v8.5c0 .4.3.7.7.7h1.1c1 0 1.9-.8 1.9-1.8V2.8c0-1-.9-1.9-1.9-1.9zm-5.5 5.6H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h12.9c1 0 1.8-.9 1.8-1.9V8.3c0-1-.8-1.8-1.8-1.8zm-1.9 12.4c0 .3-.1.5-.4.5H5.1c-.3 0-.5-.2-.5-.5V18c0-.3.2-.5.5-.5h8.3c.3 0 .4.2.4.5v.9zm0-3.7c0 .3-.1.5-.4.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h8.3c.3 0 .4.2.4.5v.9zm0-3.7c0 .3-.1.5-.4.5H5.1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.4.5-.4h8.3c.3 0 .4.1.4.4v.9z"}},close:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.6 11.9l6-6c.3-.3.3-.7 0-1l-.9-1c-.3-.3-.7-.3-1 0L12.6 10c-.1.2-.4.2-.6 0L6 3.9c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l6.1 6.1c.1.1.1.4 0 .6L4 18.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.1-6c.2-.2.5-.2.6 0l6.1 6c.3.3.7.3 1 0l.9-.9c.3-.3.3-.7 0-1l-6-6c-.2-.2-.2-.5 0-.7z"}},defer:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.4c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3zm1.6-8.2c-.2-.1-.2-.3-.2-.5V7.2c0-.4-.3-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v5.5c0 .2.1.4.2.5l3.4 3.5c.3.2.7.2 1 0l1-1c.2-.3.2-.7 0-1l-2.6-2.6z"}},delete:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21 4.6h-5.8V2.8c0-1-.8-1.9-1.8-1.9h-2.8c-1 0-1.8.9-1.8 1.9v1.8H3c-.4 0-.7.3-.7.7v1.4c0 .4.3.7.7.7h18c.4 0 .7-.3.7-.7V5.3c0-.4-.3-.7-.7-.7zM10.6 3.2c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.4h-2.8V3.2zm8.6 6H4.8c-.3 0-.6.4-.6.7v10.9c0 1.3 1 2.3 2.3 2.3h11c1.3 0 2.3-1 2.3-2.3V9.9c0-.3-.3-.7-.6-.7zm-8.6 10.2c0 .3-.2.4-.4.4h-1c-.2 0-.4-.1-.4-.4v-6.5c0-.3.2-.4.4-.4h1c.2 0 .4.1.4.4v6.5zm4.6 0c0 .3-.2.4-.4.4h-1c-.2 0-.4-.1-.4-.4v-6.5c0-.3.2-.4.4-.4h1c.2 0 .4.1.4.4v6.5z"}},description:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.3 1.8H3.7c-1 0-1.9.9-1.9 1.9v16.6c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V3.7c0-1-.9-1.9-1.9-1.9zM5.5 6.5c0-.3.2-.5.5-.5h4.6c.3 0 .5.2.5.5v4.6c0 .3-.2.4-.5.4H6c-.3 0-.5-.1-.5-.4V6.5zm11.1 12c0 .2-.2.4-.4.4H6c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h10.2c.2 0 .4.2.4.4v1zm1.9-3.7c0 .2-.2.4-.5.4H6c-.3 0-.5-.2-.5-.4v-1c0-.2.2-.4.5-.4h12c.3 0 .5.2.5.4v1zm0-3.7c0 .3-.2.4-.5.4h-4.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5v.9zm0-3.7c0 .3-.2.4-.5.4h-4.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5H18c.3 0 .5.2.5.5v.9z"}},dial_in:{xmlns:"http://www.w3.org/2000/svg",g:{circle:[{cx:"4.615",cy:"4.615",r:"2.769"},{cx:"4.615",cy:"12",r:"2.769"},{cx:"12",cy:"4.615",r:"2.769"},{cx:"19.385",cy:"4.615",r:"2.769"},{cx:"12",cy:"12",r:"2.769"},{cx:"19.385",cy:"12",r:"2.769"},{cx:"4.615",cy:"19.385",r:"2.769"},{cx:"12",cy:"19.385",r:"2.769"},{cx:"19.385",cy:"19.385",r:"2.769"}]}},download:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 14.3H21c-.4 0-.7.3-.7.7v4.6c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V15c0-.4-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7v6.2c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V15c0-.4-.3-.7-.7-.7zm-10.9 3.1c.3.2.7.2 1 0l6.2-6.3c.3-.3.3-.7 0-.9l-.9-1c-.3-.3-.7-.3-1 0l-2.6 2.6c-.3.2-.8.1-.8-.4V1.6c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.8c0 .4-.5.6-.8.3L7.2 9.1c-.2-.2-.6-.2-.9 0l-1 1.1c-.3.2-.3.6 0 .9l6.2 6.3z"}},edit:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.5 3.4l-1.9-1.9c-.8-.8-1.9-.8-2.6 0L16.5 3c-.2.2-.2.5 0 .6l3.9 4c.2.2.5.2.6 0L22.6 6c.7-.7.7-1.8-.1-2.6zm-7.3 1.5c-.2-.1-.5-.1-.7 0L2.5 17 1 22.2c-.2.5.3 1 .8.9l5.3-1.5H7l12.1-12c.1-.2.1-.5 0-.7l-3.9-4z"}},edit_groups:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.2 14.5c-.1-.1-.3-.1-.4 0l-5.4 5.4-.8 2.7c-.1.3.2.5.5.5l2.7-.8 5.4-5.4c.1-.1.1-.3 0-.4l-2-2zm4.6-1.6l-1-1c-.4-.4-1-.4-1.4 0 0 0-.6.6-.9 1-.1.1-.1.3 0 .3l2 2c.1.1.2.1.3 0 .4-.3 1-.9 1-.9.4-.4.4-1 0-1.4zM12 6.3c0 1-.3 2-.8 2.8-.2.3-.1.7.2.9 1 .5 2.2 1.2 2.8 2.3.1.2.3.2.5.2H16c.8 0 1.4-.5 1.4-1.4 0-1.3-1.3-2.1-2.7-2.7-1-.4-1.1-.8-1.1-1.2 0-.4.2-.8.6-1.1.5-.5.8-1.3.8-2.1 0-1.7-1-3.1-2.7-3.1-1 0-1.8.5-2.2 1.3C11.3 3 12 4.5 12 6.3zm.7 7.7c-.1-1.5-1.5-2.1-3.1-2.8-1.1-.5-1.2-.9-1.2-1.4s.2-.9.6-1.2c.6-.6 1-1.4 1-2.4 0-1.8-1.1-3.4-3-3.4h-.2c-2 0-3 1.6-3 3.4 0 1 .3 1.8 1 2.4.3.3.6.8.6 1.2 0 .5-.2.9-1.2 1.4-1.6.7-3.1 1.4-3.1 2.8.1 1 .7 1.7 1.7 1.7h8.3c.9 0 1.6-.7 1.6-1.7z"}},edit_relationship:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.8 19.4h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2zm-5-12h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12c0-1-.8-1.8-1.8-1.8zm-8 11.8c-.1 0-.1 0-.2.1l-2.1.5c-.2 0-.3-.1-.3-.3l.5-2.1s.1-.1.1-.2c.1-.1.2-.1.3 0l1.7 1.7c.1.1.1.3 0 .3zm5.1-5.1l-4.3 4.3c-.1.1-.2.1-.3 0l-1.7-1.7c-.1-.1-.1-.2 0-.3l4.3-4.3c.1-.1.2-.1.3 0l1.7 1.7v.3zm1.3-1.3l-.5.4c-.1.1-.2.1-.3 0l-1.7-1.7c-.1-.1-.1-.1 0-.2l.5-.5c.3-.3.8-.3 1.1 0l.9.9c.3.3.3.8 0 1.1z"}},email:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.5 13.9c.3.3.7.3 1 0l10.4-9.7c.2-.4.2-1-.6-1l-20.6.1c-.6 0-1.1.5-.6.9l10.4 9.7zM23.1 8c0-.5-.6-.8-.9-.4L14 15.1c-.6.5-1.3.8-2 .8s-1.4-.3-2-.8L1.9 7.6c-.4-.4-.9-.1-.9.4-.1 2.1-.1 7.7-.1 10.5 0 1 .9 1.8 1.9 1.8h18.4c1 0 1.9-.8 1.9-1.8V8z"}},fallback:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.9 1.6l-1.4 6.8c0 .2.2.4.5.4h7.2c.5 0 .8.6.6 1l-7.9 12.9c-.3.7-1.3.4-1.3-.3l1.4-8c0-.2-.2-.1-.5-.1H3.9c-.5 0-.9-.8-.6-1.2l8.3-11.8c.4-.6 1.3-.4 1.3.3z"}},filter:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 1.8H1.8c-.7 0-1.1.8-.6 1.3l9 10.5c.2.3.4.8.4 1.2v6.7c0 .3.3.7.7.7h1.4c.4 0 .7-.4.7-.7v-6.7c0-.4.1-.9.4-1.2l9-10.5c.5-.5.1-1.3-.6-1.3z"}},flow:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23 4.9c-.9-1.9-3.4-5.4-7.9-3.3-2.8 1.3-4.4 2-4.4 2L6.6 5.4c-1.1.5-3.6-.3-5-.8-.4-.1-.8.3-.6.7.9 1.9 3.4 5.4 7.9 3.3 2.8-1.3 8.5-3.7 8.5-3.7 1.1-.6 3.6.2 5 .7.4.1.8-.3.6-.7zm-9.7 5.9c-.5.3-2.5 1.2-2.5 1.2l-2.1.9c-1 .5-3.2-.2-4.5-.7-.3-.2-.6.3-.5.6.9 1.9 3 5.2 7 3.2 2.5-1.3 4.6-2.1 4.6-2.1 1-.6 3.2.2 4.5.7.3.1.6-.3.5-.7-.9-1.8-3-5.1-7-3.1zM11.8 19c-.4.2-1.1.6-1.1.6-.8.5-2.4-.1-3.4-.6-.2-.1-.5.3-.3.7.6 1.6 2.2 4.6 5.2 2.8l1.1-.7c.8-.4 2.4.2 3.4.6.2.2.5-.2.3-.6-.6-1.7-2.1-4.5-5.2-2.8z"}},follow:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.3 17.5h-2.1v-2c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v2h-2.1c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h2.1v2.1c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-2.1h2.1c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7zm-7.6-1.8h.5c.2 0 .4-.2.4-.5v-.4c0-1 .8-1.9 1.9-1.9h2c.4 0 .7-.3.7-.7V2.8c0-1-.8-1.9-1.8-1.9H2.8C1.8.9.9 1.8.9 2.8v16.6c0 1 .9 1.8 1.9 1.8h10.4c.4 0 .7-.3.6-.7v-3c0-1 .9-1.8 1.9-1.8zM12 5.1c0-.3.2-.5.5-.5h4.6c.3 0 .4.2.4.5V6c0 .3-.1.5-.4.5h-4.6c-.3 0-.5-.2-.5-.5v-.9zm0 3.7c0-.3.2-.5.5-.5h4.6c.3 0 .4.2.4.5v.9c0 .3-.1.5-.4.5h-4.6c-.3 0-.5-.2-.5-.5v-.9zM4.6 5.1c0-.3.2-.5.5-.5h4.6c.3 0 .5.2.5.5v4.6c0 .3-.2.5-.5.5H5.1c-.3 0-.5-.2-.5-.5V5.1zm7.4 12c0 .3-.2.4-.5.4H5.1c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9zm-6.9-3.3c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h9.2c.3 0 .5.2.5.5v.9c0 .3-.2.4-.5.4H5.1z"}},following:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.8 15.5l-1-1c-.2-.3-.7-.3-1 0l-4.3 4.4c-.2.2-.5.2-.7 0l-2-2.1c-.3-.2-.8-.2-1.1 0l-1 1.1c-.3.2-.3.7 0 1l3.9 3.9c.3.3.7.3 1 0l6.2-6.3c.3-.2.3-.7 0-1zm-11.4.1c.5-.5 1-.7 1.7-.8.7-.1 1.5.2 2 .7l1.1 1.1 3.3-3.4c.3-.4.8-.6 1.3-.7.2-.1.4-.3.4-.5V2.8c0-1-.8-1.9-1.9-1.9H2.8C1.8.9.9 1.8.9 2.8v16.6c0 1 .9 1.8 1.9 1.8h7.5c.5 0 .6-.5.4-.8l-.3-.2c-.9-1-.9-2.6 0-3.6l1-1zM12 5.1c0-.3.2-.5.5-.5h4.6c.3 0 .4.2.4.5V6c0 .3-.1.5-.4.5h-4.6c-.3 0-.5-.2-.5-.5v-.9zm0 3.7c0-.3.2-.5.5-.5h4.6c.3 0 .4.2.4.5v.9c0 .3-.1.5-.4.5h-4.6c-.3 0-.5-.2-.5-.5v-.9zM4.6 5.1c0-.3.2-.5.5-.5h4.6c.3 0 .5.2.5.5v4.6c0 .3-.2.5-.5.5H5.1c-.3 0-.5-.2-.5-.5V5.1zm3.7 12c0 .3-.2.4-.4.4H5.1c-.3 0-.4-.1-.4-.4v-.9c0-.3.1-.5.4-.5h2.8c.2 0 .4.2.4.5v.9zm-3.2-3.3c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h9.2c.3 0 .5.2.5.5v.9c0 .3-.2.4-.5.4H5.1z"}},freeze_user:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M12.5 1.4c.2 0 .4.2.4.4V23c0 .3-.2.5-.4.5h-1c-.2 0-.4-.2-.4-.5V1.8c0-.2.2-.4.4-.4h1zM12 7.9L8.3 4.2c-.2-.2-.2-.5 0-.6l.6-.7c.2-.2.5-.2.7 0L12 5.4l2.4-2.5c.2-.2.5-.2.7 0l.6.7c.2.1.2.4 0 .6L12 7.9m0 9l3.7 3.8c.2.2.2.4 0 .6l-.6.7c-.2.2-.5.2-.7 0L12 19.5 9.6 22c-.2.2-.5.2-.7 0l-.6-.7c-.2-.2-.2-.4 0-.6l3.7-3.8"},{d:"M21.7 7.2c.2.2.1.5-.1.6L3.3 18.6c-.2.1-.5.1-.6-.2l-.5-.8c-.1-.2-.1-.5.2-.6L20.6 6.2c.3-.2.5-.1.7.2l.4.8zm-5.8 3L17.2 5c0-.2.2-.4.5-.3l.9.2c.3.1.4.3.3.6L18 8.9l3.4.8c.3.1.4.3.3.6l-.2.9c0 .2-.3.4-.5.3l-5.1-1.3m-7.8 4.5l-1.3 5.1c0 .3-.2.5-.5.4l-.9-.3c-.3 0-.4-.2-.3-.5L6 16l-3.4-.9c-.3 0-.4-.2-.3-.5l.2-.9c0-.3.3-.4.5-.3l5.1 1.3"},{d:"M2.7 6.4c.2-.2.4-.3.7-.2L21.6 17c.2.2.3.4.2.7l-.5.8c-.1.2-.4.3-.6.1L2.4 7.8c-.2-.1-.3-.4-.2-.6l.5-.8zm5.4 3.8L3 11.5c-.3 0-.5-.1-.6-.3l-.2-.9c0-.3.1-.5.3-.6l3.4-.8L5 5.5c0-.3.1-.5.4-.6l.8-.2c.3 0 .5.1.6.3l1.3 5.2m7.7 4.5l5.2-1.3c.2-.1.5 0 .5.3l.2.9c.1.3 0 .5-.3.5L18 16l.9 3.4c.1.3 0 .5-.3.5l-.9.3c-.3 0-.5-.1-.5-.4l-1.4-5.1"}]},goal:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M2.3.9C1.5.9.9 1.5.9 2.3v19.4c0 .7.6 1.4 1.4 1.4.7 0 1.4-.6 1.4-1.4V2.3c0-.8-.6-1.4-1.4-1.4zM22.5 3c-6 3.1-10.7-2.3-16.4-.2-.3.1-.6.4-.6.7v10.3c0 .6.6.9 1.1.8 5.4-1.6 10.2 3.5 16.1.3.2-.2.4-.4.4-.7V3.3c0-.3-.3-.4-.6-.3zm-1.3 10.5l-.2.1c-.5.2-1.2.2-2.4.2h-.1v-2.3c-.7 0-2-.1-2.8-.3v2.5c-.8-.2-1.5-.3-2.1-.5-.3 0-.5-.1-.7-.1v-2.6c-.8-.2-2-.4-2.7-.6v2.6c-.6-.1-.7-.1-1.3-.1h-.8l-.7.1V9.8c.4-.1 1-.1 1.6-.1.6 0 .6 0 1.2.1V7.1c-.6-.1-2.4-.1-2.8 0V4.2h.4c.5 0 1.8 0 2.4.2v2.7c.6.1 1.7.3 2.5.6h.2V5c.9.3 1.8.5 2.8.7v2.6c.8.1 2 .2 2.8.2V6h.1c.7 0 1.2-.2 2.1-.3l.6-.2v2.8c-.9.2-1.7.3-2.6.3h-.2v2.9h.1c.9 0 1.8-.3 2.7-.7v2.7zm-8.3-5.8v2.8c.2 0 .4.1.6.2.7.1 1.4.4 2.2.5V8.4c-1-.2-1.9-.5-2.8-.7z"}},google_news:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.2 2.4l-1.6 1.7c-.2.2-.5.2-.7 0L18.8 2c-.2-.2-.5-.2-.7 0l-1.6 1.6c-.2.2-.5.2-.7 0L14.2 2c-.2-.2-.5-.2-.7 0l-1.6 1.6c-.2.2-.5.2-.7 0L9.6 2c-.2-.2-.5-.2-.7 0L7.2 3.6c-.1.2-.4.2-.6 0L4.9 2c-.1-.2-.4-.2-.6 0L2.6 3.6c-.2.2-.4.2-.6 0L.8 2.4c-.3-.2-.8 0-.8.4v17.5c0 1 .8 1.9 1.8 1.9h20.4c1 0 1.8-.9 1.8-1.9V2.8c0-.4-.5-.6-.8-.4zM9.7 18.9c0 .3-.2.5-.5.5H3.7c-.3 0-.5-.2-.5-.5v-8.3c0-.3.2-.4.5-.4h5.5c.3 0 .5.1.5.4v8.3zm11.1 0c0 .3-.2.5-.5.5H12c-.3 0-.5-.2-.5-.5V18c0-.3.2-.5.5-.5h8.3c.3 0 .5.2.5.5v.9zm0-3.2h-9.3v-1.9h9.3v1.9zm0-4.2c0 .3-.2.5-.5.5H12c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.4.5-.4h8.3c.3 0 .5.1.5.4v.9zm0-3.7c0 .3-.2.5-.5.5H3.7c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.4.5-.4h16.6c.3 0 .5.1.5.4v.9z"}},info:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 5.6c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4-1.4-.6-1.4-1.4.6-1.4 1.4-1.4zm2.3 9.7c0 .2-.2.4-.5.4h-3.6c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5.2 0 .4-.2.4-.4v-1.9c0-.2-.2-.5-.4-.5-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h2.7c.3 0 .5.2.5.5v3.7c0 .2.2.4.4.4.3 0 .5.2.5.5v.9z"}},join_group:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.6 11c0-1.3-1.3-2-2.6-2.6-.9-.5-1.1-.8-1.1-1.2 0-.5.3-.8.5-1.2.6-.5.9-1.2.9-2.1 0-1.6-.9-3-2.6-3-1 0-1.7.5-2.2 1.3 1.2.8 1.9 2.4 1.9 4.1 0 1-.3 2-.8 2.8-.2.3-.1.7.2.9 1 .5 2.1 1.2 2.7 2.3.1.2.3.2.5.2h1.3c.8 0 1.3-.6 1.3-1.5zm-7.5.1c-1.1-.4-1.2-.9-1.2-1.3s.3-.9.6-1.3c.6-.6 1-1.4 1-2.4 0-1.8-1.1-3.3-2.9-3.3h-.2c-1.8 0-2.9 1.5-2.9 3.3 0 1 .3 1.8.9 2.4.4.4.7.8.7 1.3 0 .4-.2.9-1.2 1.3-1.5.7-3 1.4-3 2.8 0 1.1.7 1.8 1.6 1.8h8c.9 0 1.6-.7 1.6-1.7-.1-1.5-1.5-2.2-3-2.9zm13.3 4.6h-2.1v-2.1c0-.4-.3-.7-.7-.7h-1.4c-.3 0-.7.3-.7.7v2.1h-2c-.4 0-.7.3-.7.7v1.4c0 .3.3.7.7.7h2v2c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-2h2.1c.4 0 .7-.4.7-.7v-1.4c0-.4-.3-.7-.7-.7z"}},lead_convert:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.7 13.1c-.2.2-.2.7 0 .9l1 1c.3.3.7.3 1 0l6.2-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-.9 0l-1 .9c-.3.3-.3.7 0 1l2.6 2.6c.8.8-.4.8-.4.8h-3.7c-4.4 0-8.2 3.6-8.1 8 .1 4.3 3.6 7.7 7.9 7.7h1.6c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7h-1.5c-2.6 0-4.9-1.9-5.2-4.5-.3-3.1 2.1-5.6 5.1-5.6H15c.4.1.5.5.3.8l-2.6 2.6z"}},leave_group:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14 10.2c-.9-.4-1.1-.8-1.1-1.2 0-.4.3-.8.5-1.1.6-.5.9-1.3.9-2.1 0-1.6-.9-3-2.6-3-1 0-1.7.5-2.2 1.2 1.2.9 1.9 2.4 1.9 4.2 0 1-.3 2-.8 2.8-.2.3-.1.7.2.9 1 .5 2.1 1.1 2.7 2.2.1.2.3.3.5.3h1.3c.8 0 1.3-.6 1.3-1.5 0-1.3-1.3-2.1-2.6-2.7zM9.1 13c-1.1-.5-1.2-.9-1.2-1.4s.3-.9.6-1.2c.6-.6 1-1.4 1-2.4 0-1.8-1.1-3.4-2.9-3.4h-.2C4.5 4.6 3.5 6.2 3.5 8c0 1 .3 1.8.9 2.4.4.3.6.8.6 1.2 0 .5-.1.9-1.2 1.4-1.5.7-2.9 1.4-3 2.8.1 1 .8 1.7 1.7 1.7h8c.9 0 1.6-.7 1.6-1.7-.1-1.4-1.5-2.1-3-2.8zM14.8 19.6v-1.4c0-.3.3-.7.7-.7h6.9c.4 0 .7.4.7.7v1.4c0 .4-.3.7-.7.7h-6.9c-.4 0-.7-.3-.7-.7z"}},log_a_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.8.9H5.9C4.6.9 3.6 2 3.6 3.1v.8h-.7c-.9 0-1.5.6-1.5 1.5S2 6.8 2.9 6.8h.7v3.7h-.7c-.9 0-1.5.7-1.5 1.5s.6 1.5 1.5 1.5h.7v3.7h-.7c-.9 0-1.5.6-1.5 1.4 0 .9.6 1.5 1.5 1.5h.7v.8c0 1.1 1 2.2 2.3 2.2h13.9c1.2 0 2.4-1.1 2.4-2.3V3c0-1.2-1.2-2.1-2.4-2.1zm-1.3 14.9l-1.1 1c-.2.2-.5.4-.8.3-2.4-.1-4.7-1.2-6.4-2.8s-2.7-4-2.8-6.4c0-.3.1-.7.3-.8l1-1.1c.5-.4 1.3-.4 1.7.1l1 1.2c.3.5.3 1 0 1.4l-.8 1.2c-.1.2-.1.4.1.5l1.7 1.9 1.9 1.7c.1.1.3.1.4 0l1.2-.8c.4-.3 1-.3 1.4 0l1.2 1c.4.3.5 1.1 0 1.6z"}},log_event:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.9 18.6l-2.3.7c-.1 0-.4.1-.6.1-.6 0-1.2-.3-1.7-.8-.4-.6-.5-1.3-.3-1.9l.7-2.7 3.5-3.4c.1-.2 0-.4-.2-.4H2.5c-.3 0-.7.3-.7.6v8.6c0 1 .9 1.8 1.9 1.8h12.9c1 0 1.9-.8 1.9-1.8V19c0-.3-.4-.5-.6-.4zM2.5 8.3h15.3c.3 0 .7-.3.7-.7V6.5c0-1.1-.9-1.9-1.9-1.9h-1.4v-.4c0-.8-.6-1.4-1.4-1.4-.7 0-1.3.6-1.3 1.4v.4H7.8v-.4c0-.8-.6-1.4-1.3-1.4-.8 0-1.4.6-1.4 1.4v.4H3.7c-1 0-1.9.8-1.9 1.9v1.1c0 .4.4.7.7.7zm17.6 2.4c-.1-.1-.3-.1-.3 0L15.4 15l-.6 2.2c-.1.2.1.4.3.3l2.2-.6 4.3-4.3c.1-.1.1-.3 0-.4l-1.5-1.5zm3.7-1.4l-.9-.8c-.2-.3-.7-.3-1.1 0 0 0-.5.5-.7.8-.1.1-.1.2 0 .3l1.6 1.6c.1.1.2.1.3 0l.8-.8c.3-.2.3-.8 0-1.1z"}},manage_perm_sets:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.8.9H3.2C1.9.9.9 1.9.9 3.2v17.6c0 1.2 1 2.3 2.3 2.3h17.6c1.2 0 2.3-1 2.3-2.3V3.2c0-1.3-1-2.3-2.3-2.3zM20 20.8H4c-.4 0-.8-.4-.8-.8V4c0-.4.4-.8.8-.8h16c.4 0 .8.4.8.8v16c0 .4-.4.8-.8.8zM10.1 5.5H6.3c-.4 0-.8.3-.8.8v3.8c0 .4.3.8.8.8h3.8c.4 0 .8-.3.8-.8V6.3c-.1-.4-.4-.8-.8-.8zm7.6 0h-3.8c-.4 0-.8.3-.8.8v3.8c0 .4.3.8.8.8h3.8c.4 0 .8-.3.8-.8V6.3c0-.4-.4-.8-.8-.8zm-7.6 7.7H6.3c-.4 0-.8.3-.8.7v3.9c0 .4.3.8.8.8h3.8c.4 0 .8-.4.8-.8v-3.9c-.1-.4-.4-.7-.8-.7zm7.6 0h-3.8c-.4 0-.8.3-.8.7v3.9c0 .4.3.8.8.8h3.8c.4 0 .8-.4.8-.8v-3.9c0-.4-.4-.7-.8-.7z"}},map:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.5 4.4l-6.6-3.3c-.3-.2-.7-.2-1 0L8.8 4.2 2.6 1.1c-.4-.2-.8-.2-1.2 0-.3.2-.5.6-.5.9v16.6c0 .5.3.8.6 1l6.7 3.3c.3.2.7.2.9 0l6.2-3.1 6.2 3.1c.1.1.3.2.5.2s.4-.1.6-.2c.3-.2.5-.6.5-.9V5.4c0-.5-.2-.8-.6-1zm-1.7 2.1v8.8c0 .5-.5.9-1 .7-1.7-.7-.3-3.5-1.5-5.1-1.2-1.4-2.7 0-4.1-2.2-1.3-2.2.5-3.8 2.1-4.6.3-.1.5-.1.7 0l3.4 1.7c.3.2.4.4.4.7zm-9.3 12.8c-.3.2-.6.1-.8-.1-.5-.4-.9-1-.9-1.7 0-1.1-1.8-.7-1.8-2.9 0-1.8-2.1-2.3-3.9-2.1-.5.1-.8-.3-.8-.7V5c0-.5.5-.9 1-.6l4 2h.1l.1.1c1.7 1 1.3 1.8.6 3-.7 1.3-1.1 0-2.2-.4s-2.2.4-1.8 1.1 1.5 0 2.2.7.7 1.9 2.9 1.1 2.6-.3 3.4.4c.7.8 1.1 2.2 0 3.3-.7.7-1 2.1-1.2 3-.1.2-.2.4-.4.5l-.5.1z"}},more:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.7 9.2c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8S.9 13.5.9 12s1.3-2.8 2.8-2.8zm8.3 0c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8 1.3-2.8 2.8-2.8zm8.3 0c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8-2.8-1.3-2.8-2.8 1.3-2.8 2.8-2.8z"}},new:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.8 13.4h7.7c.3 0 .7-.3.7-.7v-1.4c0-.4-.4-.7-.7-.7h-7.7c-.2 0-.4-.2-.4-.4V2.5c0-.3-.3-.7-.7-.7h-1.4c-.4 0-.7.4-.7.7v7.7c0 .2-.2.4-.4.4H2.5c-.3 0-.7.3-.7.7v1.4c0 .4.4.7.7.7h7.7c.2 0 .4.2.4.4v7.7c0 .3.3.7.7.7h1.4c.4 0 .7-.4.7-.7v-7.7c0-.2.2-.4.4-.4z"}},new_account:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 12.4c0-.8-.6-1-.8-1H14c-.8 0-.8.8-.8.8v9h9.9v-8.8zm-5.7 6.5c0 .4-.4.8-.8.8h-.8c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm0-3.9c0 .4-.4.7-.8.7h-.8c-.4 0-.8-.3-.8-.7v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm3.8 3.9c0 .4-.3.8-.8.8h-.8c-.4 0-.8-.4-.8-.8v-.8c0-.4.4-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm0-3.9c0 .4-.3.7-.8.7h-.8c-.4 0-.8-.3-.8-.7v-.8c0-.4.4-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm-5.8-6.7V3.8c.1-.8-.5-1-.7-1H1.8c-.8 0-.9.8-.9.8v17.6h9.9V10s0-1 .9-1h3c.4 0 .7-.4.7-.7zM5.1 18.5c0 .4-.3.8-.8.8h-.7c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm0-4c0 .5-.3.8-.8.8h-.7c-.4 0-.8-.3-.8-.8v-.7c0-.5.3-.8.8-.8h.8c.4 0 .8.3.8.8v.7zm0-3.9c0 .4-.3.8-.8.8h-.7c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm0-3.9c0 .4-.3.8-.8.8h-.7c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8zm4.2 11.8c0 .4-.3.8-.8.8h-.7c-.5 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.7c.5 0 .8.4.8.8v.8zm0-4c0 .5-.3.8-.8.8h-.7c-.5 0-.8-.3-.8-.8v-.7c0-.5.3-.8.8-.8h.7c.5 0 .8.3.8.8v.7zm0-3.9c0 .4-.3.8-.8.8h-.7c-.5 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.7c.5 0 .8.4.8.8v.8zm0-3.9c0 .4-.3.8-.8.8h-.7c-.5 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.7c.5 0 .8.4.8.8v.8zm4.2 0c0 .4-.3.8-.8.8H12c-.4 0-.8-.4-.8-.8v-.8c0-.4.3-.8.8-.8h.8c.4 0 .8.4.8.8v.8z"}},new_campaign:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.4c-4.6 0-8.3-3.7-8.3-8.3S7.4 3.7 12 3.7s8.3 3.7 8.3 8.3-3.7 8.3-8.3 8.3zm0-14.8c-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.5zm0 10.2c-2 0-3.7-1.7-3.7-3.7S10 8.3 12 8.3s3.7 1.7 3.7 3.7-1.7 3.7-3.7 3.7zm0-5.5c-1 0-1.8.8-1.8 1.8s.8 1.8 1.8 1.8 1.8-.8 1.8-1.8-.8-1.8-1.8-1.8z"}},new_case:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.9 6h1.9c.2 0 .4-.2.4-.5v-.9h5.6v.9c0 .3.2.5.4.5h1.9c.3 0 .4-.2.4-.5V4.4c0-1.4-1.1-2.6-2.5-2.6H9C7.6 1.8 6.5 3 6.5 4.3v1.2c0 .3.1.5.4.5zm14.3 1.8H2.8c-1 0-1.9.9-1.9 1.9v10.6c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V9.7c0-1-.9-1.9-1.9-1.9z"}},new_child_case:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.9 5.1h1.9c.2 0 .4-.2.4-.5v-.9h4.6v.9c0 .3.2.5.5.5h1.9c.2 0 .4-.2.4-.5V3.5c0-1.4-1.1-2.6-2.5-2.6H9C7.6.9 6.5 2 6.5 3.4v1.2c0 .3.1.5.4.5zm7.9 10.6h.9v-.9c0-1 .8-1.9 1.8-1.9h2.8c.6 0 1.1.3 1.4.7.2.2.5.1.5-.1V8.8c0-1-.9-1.9-1.9-1.9H2.8c-1 0-1.9.9-1.9 1.9v10.6c0 1 .9 1.8 1.9 1.8h10c.2 0 .3-.1.3-.3-.1-.2-.2-.4-.2-.6v-2.8c0-1 .9-1.8 1.9-1.8zm7.6 1.8h-2.1v-2c0-.4-.3-.7-.7-.7h-1.4c-.3 0-.7.3-.7.7v2h-2c-.4 0-.7.4-.7.7v1.4c0 .4.3.7.7.7h2v2.1c0 .4.4.7.7.7h1.4c.4 0 .7-.3.7-.7v-2.1h2.1c.4 0 .7-.3.7-.7v-1.4c0-.3-.3-.7-.7-.7z"}},new_contact:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.2 4.2H2.8C1.5 4.2.5 5.2.5 6.5v11c0 1.3 1 2.3 2.3 2.3h18.4c1.3 0 2.3-1 2.3-2.3v-11c0-1.3-1-2.3-2.3-2.3zm-9.8 13H4.8c-.7 0-1.3-.8-1.3-1.6.1-1.2 1.3-1.8 2.5-2.4.9-.4 1-.7 1-1.1 0-.4-.2-.7-.5-1-.5-.5-.8-1.2-.8-1.9 0-1.5.9-2.7 2.4-2.7s2.4 1.3 2.4 2.7c0 .8-.3 1.5-.8 1.9-.3.3-.6.6-.6 1s.1.7 1.1 1.1c1.2.5 2.4 1.2 2.4 2.4.2.8-.4 1.6-1.2 1.6zm9-2.7c0 .4-.3.8-.7.8h-3.5c-.4 0-.8-.3-.8-.8v-1.2c0-.4.4-.7.8-.7h3.5c.4 0 .7.3.7.7v1.2zm0-4.2c0 .4-.3.8-.7.8h-5.8c-.4 0-.7-.3-.7-.8V9.1c0-.4.3-.7.7-.7h5.8c.4 0 .8.3.8.7v1.2z"}},new_custom1:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.6 21c-.9.9-2.3.9-3.2 0-2.7-2.8-7.8-8.2-7.8-8.2-2.3-2.4-2.3-6.3 0-8.7C3.7 3 5.2 2.3 6.8 2.3s3 .6 4.1 1.8l.5.6c.3.3.9.3 1.2 0l.4-.5c1.2-1.2 2.6-1.9 4.2-1.9 1.5 0 3 .6 4.1 1.8 2.3 2.4 2.3 6.3 0 8.7 0 0-5 5.4-7.7 8.2z"}},new_custom10:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.4 22.3c-3.5 1.4-9.1 1-12.1-2.2C0 12.3 6.4.9 15.2.9c1.5 0 2.8.3 4.2.9.5.2.6.9.1 1.2-2.8 2-4.7 5.3-4.7 9s1.9 7 4.7 9c.5.3.4 1.1-.1 1.3z"}},new_custom100:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.4 19.2H7.6c-.3 0-.4.2-.4.5.4 1.4 2.4 2.5 4.8 2.5s4.3-1.1 4.7-2.5c.1-.3-.1-.5-.3-.5zm4.5-17.4H3.1C1.9 1.8.9 2.9.9 4.1v10.5c0 1.3 1 2.3 2.2 2.3h17.8c1.2 0 2.2-1 2.2-2.3V4.1c0-1.2-1-2.3-2.2-2.3zm0 12.1c0 .4-.4.7-.8.7H3.9c-.4 0-.8-.3-.8-.7V4.8c0-.4.4-.7.8-.7h16.2c.4 0 .8.3.8.7v9.1z"}},new_custom11:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.8 1.4l3 6.3 6.5 1c.8.1 1.1 1 .5 1.5L18 15.1l1.2 6.9c0 .8-.7 1.4-1.3 1L12 19.8 6.1 23c-.6.4-1.4-.2-1.3-1L6 15.1l-4.8-4.9c-.5-.5-.2-1.4.5-1.5l6.5-1 3-6.3c.3-.7 1.3-.7 1.6 0z"}},new_custom12:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"12",cy:"12",r:"11.077"}},new_custom13:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.9 1.8H3.1C1.9 1.8.9 2.8.9 4v2.2c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7V4c0-1.2-1-2.2-2.2-2.2zm0 7.3H3.1c-.4 0-.7.3-.7.7V20c0 1.2 1 2.2 2.2 2.2h14.8c1.2 0 2.2-1 2.2-2.2V9.8c0-.4-.3-.7-.7-.7zm-4.8 3.3c0 .6-.5 1.1-1.1 1.1H9c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h6c.6 0 1.1.4 1.1 1.1z"}},new_custom14:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.3 5.4h-2.2c-.4 0-.9-.2-1.3-.6L17 3.3c-.3-.3-.8-.5-1.3-.5h-4.3c-.6 0-1.1.2-1.5.6L7.6 5.3c-.2.1-.2.5-.1.7l.7.6c.5.4 1.1.5 1.6.1l2-1.2c.3-.2.7-.1.8.1l6.4 6.3c.2.1.3.3.3.6v1.6c0 .5.3.9.7.9h2.2c.5 0 .8-.3.8-.7V6.1c.1-.4-.2-.7-.7-.7zm-6.2 6.7l-4-3.9-1.1.7c-.6.3-1.2.5-1.8.5-.8 0-1.6-.3-2.2-.9L5.5 7.4c-.3-.3-.5-.6-.6-1-.1-.4-.3-.6-.7-.6H1.7c-.5 0-.8.2-.8.6v6.8c0 .5.3.7.8.7h1.4c.1 0 .3-.4.5-.6.5-.7 1.3-1.1 2.2-1.3.9 0 1.8.3 2.5.9l4.6 4.3c.4.3.7.8.9 1.3 0 .2.4.3.6.1l1.7-1.8c.9-.8 1.6-3 .7-3.9l-.7-.8zm-9.3 2.8c-.5-.5-1.2-.4-1.6.1-.4.5-.3 1.3.2 1.7l4.6 4.2c.2.2.5.3.8.3.3-.1.6-.2.7-.5.5-.5.4-1.3-.1-1.7l-4.6-4.1z"}},new_custom15:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.4 10.6c-1.3-.6-1.5-1-1.5-1.6 0-.6.4-1 .8-1.4.8-.7 1.2-1.7 1.2-2.8 0-2.1-1.3-3.9-3.6-3.9-2 0-3.2 1.4-3.6 3.1 0 .1.1.2.2.3 1.6 1.2 2.7 3.2 2.7 5.6 0 1.7-.6 3.2-1.6 4.4-.2.1-.1.4.1.6.7.2 1.4.6 2.1 1 .3.1.5.2.8.2h4.2c1 0 1.9-.8 1.9-1.8V14c0-1.7-1.8-2.6-3.7-3.4zm-6.6 6.1c-1.6-.7-1.8-1.2-1.8-1.9s.5-1.2 1-1.7c.9-.8 1.4-1.9 1.4-3.2 0-2.5-1.6-4.5-4.3-4.5S4.8 7.5 4.8 9.9c0 1.3.5 2.4 1.4 3.2.5.5 1 1.1 1 1.7 0 .7-.3 1.2-1.8 1.9-2.3.9-4.4 1.9-4.4 3.9v.4c-.1 1.1.9 2.1 2.2 2.1H15c1.2 0 2.2-1 2.2-2.1v-.4c0-2-2.2-3-4.4-3.9z"}},new_custom16:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20 19.4h-.4v-8.1c0-.5-.3-.8-.7-.8h-.8c-.4 0-.7.3-.7.8v8.1h-2.2v-8.1c0-.5-.3-.8-.7-.8h-.7c-.5 0-.8.3-.8.8v8.1h-2.2v-8.1c0-.5-.3-.8-.7-.8h-.7c-.4 0-.8.3-.8.8v8.1H6.5v-8.1c0-.5-.4-.8-.8-.8H5c-.4 0-.8.3-.8.8v8.1H4c-1.2 0-2.2 1-2.2 2.2v.7c0 .5.4.8.8.8h18.9c.4 0 .7-.3.7-.8v-.7c0-1.2-1-2.2-2.2-2.2zm1.8-13.2l-9-5c-.2-.2-.5-.3-.8-.3-.3 0-.6.1-.8.3l-9 5c-.2.2-.4.4-.4.7v.7c0 .4.4.7.8.7h18.9c.4 0 .7-.3.7-.7v-.7c0-.3-.2-.5-.4-.7zm-9.8.6c-1 0-1.8-.8-1.8-1.8S11 3.1 12 3.1s1.8.9 1.8 1.9S13 6.8 12 6.8z"}},new_custom17:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.5 4.2c.1.3.3.4.6.4h3.7c.3 0 .6-.1.7-.4L16 1.5c.1-.3-.1-.5-.4-.5H8.4c-.3 0-.5.2-.3.5l1.4 2.7zm4.7 2.6H9.8c-3.6 0-6.6 3-6.6 6.7v7.4c0 1.2 1 2.2 2.2 2.2h13.2c1.2 0 2.2-1 2.2-2.2v-7.4c0-3.7-3-6.7-6.6-6.7zm-1.1 12.4v1.3c0 .2-.2.4-.5.4h-1.4c-.3 0-.3-.2-.3-.4v-1.2c-1.1-.2-2-.7-2.3-.9-.2-.3-.3-.5-.1-.9l.5-.7c0-.2.3-.3.5-.3.1 0 .3.1.4.1.8.5 1.4.7 1.9.7s.9-.3.9-.6c0-.2-.1-.6-1.5-1.1-1.3-.4-2.8-1.2-2.8-2.9 0-1 .6-2.1 2.5-2.5V9.1c0-.2.1-.4.3-.4h1.4c.3 0 .5.2.5.4v1.1c.7.1 1.5.5 1.8.7.1.1.2.3.3.5 0 .1-.1.3-.2.4l-.5.7c-.1.1-.4.3-.6.3-.1 0-.2-.1-.3-.1-.8-.4-1.4-.7-1.8-.7-.6 0-.9.3-.9.5 0 .3.2.6 1.4 1 1.5.5 3.3 1.4 3.3 3.1-.1 1.3-1.1 2.3-2.5 2.6z"}},new_custom18:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.5 7.1h3.8c.3 0 .5-.3.5-.5s-.1-.3-.2-.4l-4.7-4.7c-.1-.1-.2-.1-.3-.1-.3 0-.5.2-.5.5v3.7c0 .8.6 1.5 1.4 1.5zm8.3 4.8l-.4-.5c-.2-.2-.7-.2-1 0l-5.5 5.5v1.3c0 .1 0 .2.1.2h1.4l5.4-5.5c.4-.3.4-.8 0-1zm-4.4 8.6h-3.3c-.7 0-1.3-.6-1.3-1.3v-2.5c0-.4.1-.8.4-1l4.4-4.4c.1-.1.2-.3.2-.5v-.9c0-.4-.3-.7-.7-.7h-5c-1.2 0-2.2-1-2.2-2.1v-5c0-.4-.3-.7-.7-.7H3C1.9 1.4.9 2.4.9 3.5v17c0 1.1 1 2.1 2.1 2.1h13.6c1 0 2-.7 2.1-1.7.1-.2-.1-.4-.3-.4zM3.8 7.8c0-.4.3-.7.7-.7h2.8c.5 0 .7.3.7.7v.6c0 .4-.3.7-.7.7H4.5c-.4 0-.7-.3-.7-.7v-.6zm7.1 9.1c0 .4-.3.7-.7.7H4.5c-.4 0-.7-.3-.7-.7v-.7c0-.3.3-.6.7-.6h5.7c.4 0 .7.3.7.6v.7zm1.5-4.2c0 .4-.4.7-.7.7H4.5c-.4 0-.7-.3-.7-.7V12c0-.4.3-.7.7-.7h7.1c.4 0 .7.3.7.7v.7z"}},new_custom19:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.8 5.6c-.1-.2-.4-.3-.6-.1l-3.8 3.7c-.3.3-.7.3-1 0l-2.6-2.6c-.3-.3-.3-.7 0-1l3.8-3.8c.1-.1 0-.5-.2-.6-.6-.2-1.3-.3-2-.3-3.9 0-7 3.4-6.6 7.4.1.7.3 1.2.5 1.8l-8.6 8.5c-1.1 1.1-1.1 2.7 0 3.7.5.5 1.2.8 1.8.8s1.3-.3 1.9-.8l8.5-8.6c.6.2 1.2.4 1.8.5 4 .4 7.4-2.7 7.4-6.6 0-.7-.1-1.4-.3-2z"}},new_custom2:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M15.4 1.6C14.3.9 10.2.2 8.7 2.7c-.7 1.2.2 3.4.9 4.8.1.3.5.5.9.3.4-.1 1-.2 1.6-.2.4 0 .7 0 1.1.1.3.1.6-.1.8-.4.3-.4.7-1 1.5-1.6 1.7-1.5 1-3.3-.1-4.1zm-2 14.6c-.4.1-.9.2-1.4.2-.5 0-.9-.1-1.3-.2-.3 0-.7.1-.8.4-.3.5-.7 1.1-1.5 1.7-1.8 1.5-1.1 3.3 0 4.1s5.2 1.4 6.7-1.1c.7-1.2-.1-3.3-.8-4.7-.2-.4-.5-.5-.9-.4zm7.9-7.6c-1.2-.7-3.4.2-4.8.9-.3.1-.5.5-.3.9.1.4.2 1 .2 1.6 0 .4 0 .7-.1 1.1-.1.3.1.7.4.8.4.3 1 .7 1.6 1.5 1.5 1.8 3.3 1.1 4 0s1.5-5.2-1-6.8zM7.8 13.4c-.1-.5-.2-.9-.2-1.4 0-.5.1-.9.2-1.3 0-.4-.1-.7-.4-.9-.5-.2-1.1-.7-1.7-1.4-1.5-1.8-3.3-1.1-4.1 0S.2 13.5 2.7 15c1.2.7 3.3 0 4.7-.7.4-.2.5-.6.4-.9z"},circle:{cx:"12",cy:"12",r:"2.215"}}},new_custom20:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.6 11.2c0-.3-.4-.5-.6-.3l-5.2 3.9c-.6.4-.9 1.1-.9 1.8v1.5c0 .3.3.5.5.4l5.7-2.2c.2-.1.4-.3.4-.7.1 0 .1-4.4.1-4.4zm8.1 10.3l-1.5-1.1V3.7c0-1-1-2.1-1.7-2.6-.3-.3-.7-.3-1 0-.6.5-1.7 1.6-1.7 2.6v16.8l-1.7 1.1c-.3.2-.5.6-.5.9v.3c0 .1.1.3.3.3h8.2c.1 0 .4-.2.4-.3-.1-.6-.3-1-.8-1.3zm6.5-6.7l-5.2-4c-.2-.1-.6 0-.6.3v4.5c0 .3.2.6.5.7l5.7 2.2c.3.1.5-.1.5-.3v-1.5c0-.8-.3-1.5-.9-1.9z"}},new_custom21:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.8 19.8c-.1-.3-.4-.4-.6-.4H9.9c-.3 0-.6.1-.7.4l-1 2.7c-.1.3.1.5.3.5h7c.2 0 .4-.2.3-.5l-1-2.7zM20.9.9H3.1C1.9.9.9 1.9.9 3.1V15c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zM12 16.4c-.6 0-1.1-.4-1.1-1.1s.5-1.1 1.1-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1zm8.9-3.7c0 .5-.4.8-.8.8H3.9c-.4 0-.8-.3-.8-.8V3.9c0-.4.4-.8.8-.8h16.2c.4 0 .8.4.8.8v8.8z"}},new_custom22:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 17.1l-2.3-1.8c-.8-.7-1.9-.7-2.7-.1L15 16.8c-.2.2-.6.1-.9-.1l-3.6-3.3-3.3-3.6c-.3-.2-.3-.6-.1-.9l1.6-2.2c.6-.8.5-1.9-.1-2.7L6.7 1.7C6 .7 4.5.6 3.6 1.5l-2 2.1c-.5.4-.7 1-.7 1.6.3 4.7 2.4 9.2 5.6 12.3s7.5 5.3 12.2 5.6c.7 0 1.2-.3 1.7-.7l2-2c1-.9.9-2.4-.2-3.3z"}},new_custom23:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.5 14.1c.3.3.7.3 1.1 0L23 4.6c.2-.4.1-.9-.6-.9H1.7c-.5 0-1 .5-.6 1l10.4 9.4zm11.6-5.4c0-.5-.6-.8-.9-.4L14 15.7c-.5.5-1.2.8-2 .8-.7 0-1.4-.3-1.9-.8L1.9 8.3c-.4-.3-.9-.1-.9.4v9.4c0 1.2 1 2.2 2.2 2.2h17.7c1.2 0 2.2-1 2.2-2.2V8.7z"}},new_custom24:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.6.9H5.4c-1.2 0-2.2 1-2.2 2.2 0 .5.4.8.8.8h16c.4 0 .8-.3.8-.8 0-1.2-1-2.2-2.2-2.2zm0 5.2H5.4c-.4 0-.7.3-.7.7v15.5c0 .5.3.8.7.8h4.1c.4 0 .7-.3.7-.8v-2.9c0-.4.4-.8.8-.8h2.1c.4 0 .8.4.8.8v2.9c0 .5.3.8.7.8h4c.5 0 .8-.3.8-.8V6.8c-.1-.4-.4-.7-.8-.7zm-7.7 10c0 .4-.3.7-.7.7H8.7c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h1.5c.4 0 .7.4.7.8v1.5zm0-5.2c0 .4-.3.7-.7.7H8.7c-.4 0-.8-.3-.8-.7V9.4c0-.4.4-.7.8-.7h1.5c.4 0 .7.3.7.7v1.5zm5.1 5.2c0 .4-.3.7-.7.7h-1.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8h1.5c.4 0 .8.4.8.8v1.5zm0-5.2c0 .4-.3.7-.7.7h-1.5c-.4 0-.7-.3-.7-.7V9.4c0-.4.3-.7.7-.7h1.5c.4 0 .8.3.8.7v1.5z"}},new_custom25:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23 3.6c-.3-1.4-1.4-2.5-2.8-2.7-1-.1-2 .2-2.7.8-.2.1-.1.4.1.6 1.7.9 3.2 2.2 4.3 3.7.1.3.4.3.6 0 .5-.6.7-1.5.5-2.4zM6.3 2.3c.3-.1.3-.5.1-.6-.7-.6-1.6-.9-2.6-.8-1.4.2-2.6 1.3-2.8 2.7-.2.9 0 1.8.4 2.4.2.2.5.2.7 0 1.1-1.5 2.5-2.8 4.2-3.7zm5.7.8c-5.5 0-10 4.5-10 10 0 2.2.8 4.3 2 5.9l-1.6 1.5c-.6.6-.6 1.6 0 2.2.3.2.7.4 1.1.4s.7-.1 1-.4L6 21.1c1.7 1.2 3.8 2 6 2s4.3-.8 5.9-2l1.5 1.6c.4.2.7.4 1.1.4s.7-.1 1-.4c.6-.6.6-1.6 0-2.2L20 19c1.2-1.6 1.9-3.7 1.9-5.9.1-5.5-4.4-10-9.9-10zm-7 10c0-3.9 3.1-7 7-7s7 3.1 7 7-3.1 7-7 7-7-3.1-7-7zm8.1-.5V9.8c0-.7-.5-1.1-1.1-1.1s-1.1.4-1.1 1.1v3.3c0 .3.1.6.3.8l2.6 2.6c.2.2.5.3.8.3s.5-.1.8-.3c.4-.5.4-1.2 0-1.6l-2.3-2.3z"}},new_custom26:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.1.9C1.9.9.9 1.9.9 3.1c0 .7.3 1.3.8 1.7v16.8c0 .8.6 1.5 1.4 1.5.9 0 1.5-.7 1.5-1.5V4.8c.5-.4.8-1 .8-1.7C5.4 1.9 4.3.9 3.1.9zm19.4 4c-5.8 3-9.7-2.2-15.2-.2-.3.1-.5.4-.5.7v9.5c0 .5.5.8 1 .7 5.3-1.6 9.2 3.4 14.9.2.2-.1.4-.3.4-.6V5.3c0-.4-.3-.5-.6-.4z"}},new_custom27:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3 16.4h18c.4 0 .7-.3.7-.7V4.8c0-1.1-.9-2-2.1-2H4.4c-1.2 0-2.1.9-2.1 2v10.9c0 .5.3.7.7.7zM4.4 5.5c0-.4.3-.7.7-.7h13.8c.4 0 .7.3.7.7v8.2c0 .4-.3.7-.7.7H5.1c-.4 0-.7-.3-.7-.7V5.5zm18 13h-7.6c-.4 0-.7.3-.7.7s-.3.7-.7.7h-2.8c-.4 0-.7-.3-.7-.7s-.3-.7-.7-.7H1.6c-.4 0-.7.3-.7.7 0 1.1.9 2 2.1 2h18c1.2 0 2.1-.9 2.1-2 0-.4-.3-.7-.7-.7z"}},new_custom28:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.2.9H6.8c-1.2 0-2.2 1-2.2 2.2v17.8c0 1.2 1 2.2 2.2 2.2h10.4c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zM12 22.3c-.6 0-1.1-.4-1.1-1.1s.5-1.1 1.1-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1zm5.2-3.7c0 .5-.4.8-.8.8H7.6c-.4 0-.8-.3-.8-.8v-14c0-.4.4-.7.8-.7h8.8c.4 0 .8.3.8.7v14z"}},new_custom29:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.9 3.9h-.7c-.4 0-.8.3-.8.8v14.7s0 .1.1.1l.9 1.3c.1.1.2.1.3 0l.9-1.3c.1 0 .1 0 .1-.1V4.7c0-.5-.3-.8-.8-.8zM15 .9H4.5c-1.2 0-2.2 1-2.2 2.2v17.8c0 1.2 1 2.2 2.2 2.2H15c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zM9.8 22.3c-.7 0-1.1-.4-1.1-1.1s.4-1.1 1.1-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1zm5.2-3.7c0 .5-.3.8-.7.8h-9c-.4 0-.7-.3-.7-.8v-14c0-.4.3-.7.7-.7h9c.4 0 .7.3.7.7v14z"}},new_custom3:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 7.6c-2.4 0-4.4 2-4.4 4.4s2 4.4 4.4 4.4 4.4-2 4.4-4.4-2-4.4-4.4-4.4zM23.1 12c0-1.3-3.1-1.9-3.6-3.1-.5-1.2 1.2-3.8.3-4.7s-3.5.8-4.7.3C13.9 4 13.3.9 12 .9S10.1 4 8.9 4.5c-1.2.5-3.8-1.2-4.7-.3s.8 3.5.3 4.7C4 10.1.9 10.7.9 12s3.1 1.9 3.6 3.1c.5 1.2-1.2 3.8-.3 4.7.8.9 3.5-.8 4.7-.3 1.1.5 1.8 3.6 3.1 3.6s1.9-3.1 3-3.6c1.2-.4 3.9 1.2 4.8.3.8-.8-.9-3.5-.4-4.7.6-1.2 3.7-1.8 3.7-3.1zM12 18.6c-3.6 0-6.6-3-6.6-6.6s3-6.6 6.6-6.6 6.6 3 6.6 6.6-3 6.6-6.6 6.6z"}},new_custom30:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.9 4.1C17.9 2 15.2.9 12.4.9c-.7 0-1.1.5-1.1 1.1s.4 1.1 1.1 1.1c2.2 0 4.4.9 6 2.5 1.6 1.6 2.5 3.8 2.5 6.1 0 .6.5 1.1 1.1 1.1s1.1-.5 1.1-1.1c0-2.9-1.1-5.6-3.2-7.6zm-7.5 1.3c-.7 0-1.1.4-1.1 1.1s.4 1.1 1.1 1.1c1 0 2.1.4 2.9 1.2.8.8 1.2 1.7 1.2 2.9 0 .6.4 1.1 1.1 1.1s1.1-.5 1.1-1.1c0-1.7-.7-3.3-1.9-4.5C15.6 6 14 5.4 12.4 5.4zM10.8 16l.9-2.6c.7.3 1.4.1 2-.4.7-.8.7-1.9 0-2.7-.8-.7-1.9-.7-2.7 0-.5.6-.6 1.4-.3 2.1l-2.4 1.1-4.4-4.4c-.3-.2-.8-.2-1 .1-2.8 3.3-2.6 8.3.5 11.4 3.1 3.1 8.1 3.3 11.4.5.3-.2.3-.7.1-1L10.8 16z"}},new_custom31:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.4 9.6L19.6 4c-.3-1-1.3-1.7-2.4-1.7H6.8C5.7 2.3 4.7 3 4.3 4L2.6 9.6c-1 .2-1.7 1-1.7 2v4.3c0 .9.7 1.7 1.5 2.1v3c0 .4.3.7.7.7h3c.4 0 .7-.3.7-.7v-2.9h10.4V21c0 .4.3.7.7.7h3c.4 0 .7-.3.7-.7v-3c.8-.3 1.5-1.1 1.5-2v-4.3c0-1.1-.7-1.9-1.7-2.1zm-16.8 6c-1 0-1.8-.8-1.8-1.8S3.6 12 4.6 12s1.9.8 1.9 1.8-.9 1.8-1.9 1.8zm8.1-6.1H5.4c-.2 0-.4-.2-.3-.5l1.4-4.2c0-.2.1-.3.3-.3h10.3c.2 0 .3.1.3.3l1.4 4.3c.1.2-.1.5-.3.5h-5.8zm6.3 6.1c-1 0-1.8-.8-1.8-1.8S18 12 19 12s1.9.8 1.9 1.8-.9 1.8-1.9 1.8z"}},new_custom32:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.5 6.6l-8.6 4.9c-.2.1-.4.1-.6.1-.4 0-.8-.2-1-.6-.3-.5 0-1.2.5-1.5l2.9-1.6V5.1c0-.3-.3-.5-.6-.3l-10.5 6c-.2 0-.4.1-.5.1-.4 0-.8-.2-1-.6-.3-.5-.1-1.2.4-1.5l1.8-1V1.7c.1-.5-.3-.8-.7-.8H1.7c-.5 0-.8.3-.8.8v19.2c0 1.2 1 2.2 2.2 2.2h6.3c.4 0 .8-.3.8-.8v-2.5c0-.5.3-.8.7-.8h2.2c.4 0 .7.3.7.8v2.5c0 .5.4.8.8.8h6.3c1.2 0 2.2-1 2.2-2.2v-14c0-.3-.3-.5-.6-.3zm-16 10.2c0 .4-.4.7-.8.7H5c-.4 0-.8-.3-.8-.7v-2.2c0-.4.4-.8.8-.8h.7c.4 0 .8.4.8.8v2.2zm4.4 0c0 .4-.3.7-.7.7h-.8c-.4 0-.7-.3-.7-.7v-2.2c0-.4.3-.8.7-.8h.8c.4 0 .7.4.7.8v2.2zm4.4 0c0 .4-.3.7-.7.7h-.8c-.4 0-.7-.3-.7-.7v-2.2c0-.4.3-.8.7-.8h.8c.4 0 .7.4.7.8v2.2zm4.5 0c0 .4-.4.7-.8.7h-.7c-.4 0-.8-.3-.8-.7v-2.2c0-.4.4-.8.8-.8h.7c.4 0 .8.4.8.8v2.2z"}},new_custom33:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.2 8.9h-10c-.4 0-.7.3-.7.7v2.7c0 .4.3.7.7.7h10c.4 0 .7-.3.7-.7V9.6c0-.4-.3-.7-.7-.7zM12.4 12c-.6 0-1-.5-1-1 0-.6.4-1 1-1s1 .4 1 1c0 .5-.5 1-1 1zm10-7.8H1.6c-.4 0-.7.3-.7.6v.7c0 .8.6 1.4 1.4 1.4v12.3c0 .3.3.6.7.6h.7c.4 0 .7-.3.7-.6V6.9H20v12.3c0 .3.3.6.7.6h.7c.3 0 .7-.3.7-.6V6.9h-.4c.7 0 1.4-.6 1.4-1.4v-.7c0-.3-.3-.6-.7-.6z"}},new_custom34:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9 4.6h6c.4 0 .7-.4.6-.8C15.2 2.2 13.8.9 12 .9S8.8 2.2 8.4 3.8c-.1.4.2.8.6.8zm13 9.6c.6 0 1.1-.5 1.1-1.2-.1-.5-.6-1-1.2-1h-3.3v-1.8c2.2-.9 3.7-3.2 3.7-5.9 0-.6-.3-1-.9-1.2-.7-.1-1.3.5-1.3 1.1 0 1.6-.7 3-1.8 3.6-.4-.6-1.1-1-1.9-1H7.6c-.8 0-1.5.4-1.9 1-1.1-.6-1.8-1.9-1.8-3.5 0-.6-.5-1.2-1-1.2-.7-.1-1.2.5-1.2 1.1 0 2.7 1.5 5.1 3.7 5.9V12H2.1c-.6 0-1.1.4-1.2 1 0 .6.5 1.2 1.1 1.2h3.4V16c-2.2.8-3.7 3.2-3.7 5.9 0 .5.3 1 .9 1.1.7.1 1.3-.4 1.3-1.1 0-1.5.7-2.9 1.7-3.6.7 2.1 2.3 3.7 4.3 4.4.5.1 1-.3 1-.7v-8.8c0-.6.5-1.2 1-1.2.7 0 1.2.5 1.2 1.1V22c0 .5.5.8 1 .7 2-.6 3.6-2.3 4.3-4.3 1 .6 1.7 2 1.7 3.5 0 .6.5 1.1 1 1.2.7 0 1.2-.5 1.2-1.1 0-2.8-1.5-5.1-3.7-5.9v-1.9H22z"}},new_custom35:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 8.3c-.7 0-1.2.5-1.2 1.1v1.9c0 3.2-2.7 5.9-6 5.9s-6.1-2.7-6.1-5.9V9.4c0-.6-.5-1.1-1.1-1.1s-1.1.5-1.1 1.1v1.9c0 4.1 3.1 7.4 7.1 8v1.6H9c-.7 0-1.2.4-1.2 1.1s.5 1.1 1.2 1.1h6c.6 0 1.2-.5 1.2-1.1s-.6-1.1-1.2-1.1h-1.9v-1.6c4.1-.6 7.2-3.9 7.2-8V9.4c0-.6-.5-1.1-1.1-1.1zM12 15c2.1 0 3.8-1.7 3.8-3.7V4.6c0-2.1-1.7-3.7-3.8-3.7-2.1 0-3.8 1.6-3.8 3.7v6.7c0 2 1.7 3.7 3.8 3.7z"}},new_custom36:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.9 20.1H6.5c-.3 0-.5.2-.6.4l-.5.9c-.3.5-.2 1.2.2 1.5.2.1.4.2.6.2.4 0 .8-.2 1-.6l1-1.8c.2-.3 0-.6-.3-.6zm10.3.4c-.2-.2-.4-.4-.6-.4h-1.5c-.3 0-.5.3-.3.6l1 1.8c.3.4.6.6 1 .6.2 0 .4-.1.6-.2.4-.3.6-1 .2-1.5l-.4-.9zM18.1.9H5.9c-1.2 0-2.2 1-2.2 2.2v12.6c0 1.2 1 2.2 2.2 2.2h12.2c1.2 0 2.2-1 2.2-2.2V3.1c0-1.2-1-2.2-2.2-2.2zM6.9 16.4c-.6 0-1-.4-1-1.1s.4-1.1 1-1.1 1.1.5 1.1 1.1-.4 1.1-1.1 1.1zm10.2 0c-.6 0-1.1-.4-1.1-1.1s.5-1.1 1.1-1.1 1 .5 1 1.1-.4 1.1-1 1.1zm1-4.4c0 .4-.3.7-.7.7H6.6c-.4 0-.7-.3-.7-.7V4.6c0-.4.3-.7.7-.7h10.8c.5 0 .8.3.8.7V12z"}},new_custom37:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 14.1h-4.5V10c.9.8 2.1 1.3 3.5 1.3.6 0 1-.5 1-1s-.5-1-1-1c-1.9 0-3.5-1.7-3.5-3.8V4.4c.4 0 .7-.3.7-.7V3c0-.4-.3-.7-.7-.7h-2.1c-.3 0-.7.3-.7.7v.7c0 .4.4.7.7.7v1c0 2.1-1.7 3.8-3.8 3.8S8.3 7.5 8.3 5.4v-1c.3 0 .7-.3.7-.7V3c0-.4-.4-.7-.7-.7H6.2c-.4 0-.7.3-.7.7v.7c0 .4.3.7.7.7v1c0 2.1-1.6 3.8-3.5 3.8-.6 0-1 .4-1 1s.5 1 1 1c1.3 0 2.6-.5 3.5-1.3V14H1.6c-.4.1-.7.4-.7.8v1.6c0 .4.3.8.7.8H3V21c0 .3.3.7.7.7h2.1c.3 0 .7-.4.7-.7v-1.4c0-1.2.9-2.1 2-2.1h7c1.1 0 2 .9 2 2.1V21c0 .3.4.7.7.7h2.1c.4 0 .7-.4.7-.7v-3.8h1.4c.4 0 .7-.4.7-.8v-1.6c0-.4-.3-.7-.7-.7zM8.2 9.9c1 .9 2.4 1.4 3.8 1.4s2.8-.5 3.8-1.4v4.2H8.2V9.9z"}},new_custom38:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 10.2c-1.6 0-3 1.3-3 2.9s1.4 3 3 3 3-1.4 3-3-1.4-2.9-3-2.9zm8.9-3.7h-3c-.3 0-.6-.2-.7-.5l-1-2c-.3-.8-1.1-1.2-1.9-1.2H9.7c-.8 0-1.6.4-1.9 1.2l-1 2c-.1.3-.4.5-.7.5h-3C1.9 6.5.9 7.5.9 8.7V19c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V8.7c0-1.2-1-2.2-2.2-2.2zM12 18.4c-2.9 0-5.2-2.3-5.2-5.2S9.1 8 12 8s5.2 2.3 5.2 5.2-2.3 5.2-5.2 5.2z"}},new_custom39:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17 4.1c-.1-.3-.4-.5-.7-.4L1.4 8.5c-.3.1-.5.5-.4.9l.6 2.3c.1.3.4.6.8.5l3.8-.5c.1.4.3.9.5 1.2l-3.2 8.7c-.2.6.1 1.2.7 1.4 0 0 .2.1.3.1.5 0 .9-.3 1-.8l3.1-8.2c.3.1.4.1.7.1s.5-.1.8-.1l3 8.2c.1.5.6.8 1 .8.1 0 .3-.1.4-.1.6-.2.9-.8.6-1.4l-3.2-8.8c.4-.6.7-1.3.7-2l5.2-.8c.3 0 .5-.4.4-.7L17 4.1zm6 5.2l-2-7.5c-.1-.6-.8-1-1.4-.9-.6.2-1 .8-.8 1.4l2 7.5c.2.6.8 1 1.4.9.6-.2 1-.8.8-1.4z"}},new_custom4:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3 5.6l7.8-4.4c.7-.4 1.7-.4 2.4 0L21 5.6c.7.4 1.2 1.2 1.2 2v8.8c0 .8-.5 1.6-1.2 2l-7.8 4.4c-.7.4-1.6.4-2.4 0L3 18.4c-.6-.4-1.2-1.2-1.2-2V7.6c0-.8.6-1.6 1.2-2z"}},new_custom40:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.9 3.7H3.1C1.9 3.7.9 4.7.9 5.9v12.2c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V5.9c0-1.2-1-2.2-2.2-2.2zm0 2.2V8H3.1V5.9h17.8zM3.1 18.1v-6.5h17.8v6.5H3.1zm6.4-4.7c-.5 0-1 .3-1.2.7-.1.1-.2.1-.2 0-.3-.4-.7-.7-1.2-.7-.9 0-1.5.7-1.5 1.5 0 .7.6 1.4 1.5 1.4.5 0 .9-.2 1.2-.7h.2c.2.5.7.7 1.2.7.8 0 1.4-.6 1.4-1.4v-.1c0-.7-.7-1.4-1.4-1.4zm8.4.4h-4.4c-.4 0-.8.3-.8.7v.7c0 .4.4.8.8.8h4.4c.4 0 .7-.4.7-.8v-.7c0-.4-.3-.7-.7-.7z"}},new_custom41:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21 5.1H3c-1.2 0-2.1.9-2.1 2v9.8c0 1.1.9 2 2.1 2h18c1.2 0 2.1-.9 2.1-2V7.1c0-1.1-.9-2-2.1-2zM5.4 16.9c0-1.3-1-2.4-2.4-2.4v-5c1.4 0 2.4-1.1 2.4-2.4h13.2c0 1.3 1.1 2.4 2.4 2.4v5c-1.3 0-2.4 1.1-2.4 2.4H5.4z"},ellipse:{cx:"12",cy:"11.815",rx:"3.462",ry:"3.369"}},new_custom42:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.9 1.8H3.1C1.9 1.8.9 2.8.9 4v2.2c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7V4c0-1.2-1-2.2-2.2-2.2zm0 7.3H3.1c-.4 0-.7.3-.7.7V20c0 1.2 1 2.2 2.2 2.2h14.8c1.2 0 2.2-1 2.2-2.2V9.8c0-.4-.3-.7-.7-.7zm-4.8 3.3c0 .6-.5 1.1-1.1 1.1H9c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h6c.6 0 1.1.4 1.1 1.1z"}},new_custom43:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23 9.8v-.7V9c0-.1 0 0-.1 0v-.1c0-.1-.1 0-.1 0l-4-5.7c-.2-.2-.4-.4-.8-.4H6c-.4 0-.7.2-.9.4l-4 5.6c0 .1-.1.1-.1.1V9c0 .1 0 0-.1 0V9.8c.1 0 .1.1.1.1v.1h.1l10.1 10.9v.1h.1s.1 0 .1.1v.1h.1v.1h.8v-.1h.1v-.1h.1V21h.1v-.1h.1L22.8 10v-.1h.1l.1-.1zM12 8.4h-1.6L12 5.7l1.6 2.7H12zm0 2h2l-2 6.5-2-6.5h2zm1.8-5.6h2.5l-.9 2.6-1.6-2.6zM8.7 7.4l-.9-2.6h2.5L8.7 7.4zm-.8 3l1.8 6-5.5-6h3.7zm8.2 0h3.7l-5.5 6 1.8-6zm4-2h-3l1-2.8 2 2.8zM5.9 5.6l1 2.8h-3l2-2.8z"}},new_custom44:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.8 4.2C16.9 1.8 15.3.9 12 .9c-1.5 0-3.3.6-4 .8 0-.5-.3-.8-.8-.8H5.8c-.4 0-.8.3-.8.8v2.9c0 .4.4.8.8.8h1.4c.4 0 .7-.4.7-.8h.9c.6 0 1 .5 1 1.1 0 .7.5 1.1 1.1 1.1v5.9c-.7 0-1.4.7-1.4 1.5v6.7c0 1.2 1 2.2 2.2 2.2h.7c1.2 0 2.2-1 2.2-2.2v-6.7c0-.8-.7-1.5-1.4-1.5V6.8c.6 0 1.1-.8 1.1-1.4 0-.6.4-1.1.9-1.1 1.5-.1 2.3.5 2.7.9.2.2.6.2.7 0 .4-.2.5-.7.2-1z"}},new_custom45:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.1 9.6h11.8v4.8H6.1zm17-.6V7.2c0-1.2-.9-2.1-2.1-2.1H3C1.8 5.1.9 6 .9 7.2V9c0 .2.2.5.4.6.8.5 1.4 1.4 1.4 2.4s-.6 1.9-1.4 2.4c-.2.1-.4.3-.4.6v1.8c0 1.2.9 2.1 2.1 2.1h18c1.2 0 2.1-.9 2.1-2.1V15c0-.2-.2-.5-.4-.6-.8-.5-1.4-1.4-1.4-2.4s.6-1.9 1.4-2.4c.2-.1.4-.3.4-.6zm-3.8 7.5H4.7c-.4 0-.7-.3-.7-.7V8.2c0-.4.3-.7.7-.7h14.5c.4 0 .7.3.7.7v7.6c0 .4-.2.7-.6.7z"}},new_custom46:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.1 7.2H7.9c-.4 0-.7.3-.7.7v8.2c0 .4.3.7.7.7h8.2c.4 0 .7-.3.7-.7V7.9c0-.4-.3-.7-.7-.7zm6.4-3.6c.3-.1.6-.4.6-.7V1.7c0-.5-.3-.8-.8-.8h-1.2c-.3 0-.6.3-.7.6-.2.7-.9 1.3-1.7 1.3s-1.5-.6-1.8-1.3c-.1-.3-.4-.6-.7-.6h-1.8c-.3 0-.6.3-.6.6-.2.7-1 1.3-1.8 1.3s-1.5-.6-1.8-1.3c-.1-.3-.3-.6-.7-.6H7.8c-.3 0-.6.3-.6.6-.3.7-1 1.3-1.8 1.3-.9 0-1.6-.6-1.8-1.3-.1-.3-.4-.6-.7-.6H1.7c-.5 0-.8.3-.8.8v1.2c0 .3.3.6.6.7.7.2 1.3.9 1.3 1.8s-.6 1.5-1.3 1.7c-.3.1-.6.4-.6.7v1.8c0 .3.3.6.6.6.7.2 1.3 1 1.3 1.8s-.6 1.5-1.3 1.8c-.3.1-.6.3-.6.7v1.7c0 .3.3.6.6.6.7.3 1.3 1 1.3 1.8 0 .9-.6 1.6-1.3 1.8-.3.1-.6.4-.6.7v1.2c0 .5.3.8.8.8h1.2c.3 0 .6-.3.7-.6.2-.7.9-1.3 1.7-1.3.8 0 1.5.6 1.8 1.3.1.3.3.6.7.6h1.7c.3 0 .6-.3.7-.6.2-.7.9-1.3 1.7-1.3s1.5.6 1.8 1.3c.1.3.3.6.7.6h1.8c.3 0 .6-.3.6-.6.3-.7 1-1.3 1.8-1.3s1.5.6 1.8 1.3c0 .3.3.6.6.6h1.2c.5 0 .8-.3.8-.8v-1.2c0-.3-.2-.6-.6-.7-.7-.2-1.3-.9-1.3-1.7s.6-1.5 1.3-1.8c.4-.1.6-.3.6-.7v-1.7c0-.3-.2-.6-.6-.7-.7-.2-1.3-.9-1.3-1.7 0-.8.6-1.5 1.3-1.8.4-.1.6-.3.6-.7V7.8c0-.3-.2-.6-.6-.6-.7-.3-1.3-1-1.3-1.8s.7-1.6 1.4-1.8zM19 16.8c0 1.2-1 2.2-2.2 2.2H7.2C6 19 5 18 5 16.8V7.2C5 6 6 5 7.2 5h9.6C18 5 19 6 19 7.2v9.6z"}},new_custom47:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.9 20.1H4.1c-1.2 0-2.3 1-2.3 2.2v.1c0 .4.4.7.7.7h15.9c.4 0 .7-.3.7-.7v-.1c.1-1.2-1-2.2-2.2-2.2zm5-11.7l-6-5.4 1-1.4c.1-.3 0-.5-.2-.6-1.9-.4-3 .9-3 .9C2.1 1.9 4 14.4 4.6 17.3c.1.3.3.6.7.6h10.2c.3 0 .5-.4.3-.6-2-2.5-3.1-5.3-3.8-7-.1-.3.2-.7.5-.5 2.7 1.4 3.9-.1 5.7 1 1 .6 2.1.5 2.8-.3l1-1c.2-.3.2-.7-.1-1.1zm-7.6-1.2c-.7 0-1.1-.5-1.1-1.1S13.7 5 14.3 5s1.1.4 1.1 1.1-.5 1.1-1.1 1.1z"}},new_custom48:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.3 2.4h-3.7v-.7c0-.5-.3-.8-.7-.8H6.1c-.4 0-.7.3-.7.8v.7H1.7c-.5 0-.8.3-.8.7v4.8c0 1.9 1.5 3.4 3.3 3.4H6c1 2.3 3.2 4 6 4 2.8.1 5.1-1.6 6.1-4h1.7c1.8 0 3.3-1.5 3.3-3.4V3.1c0-.4-.3-.7-.8-.7zM4.2 9c-.6 0-1.1-.4-1.1-1.1V4.6h2.3V9H4.2zm16.7-1.1c0 .7-.5 1.1-1.1 1.1h-1.2V4.6h2.3v3.3zm-5.2 13h-.4c-1.2 0-2.2-1.1-2.2-2.3v-.7c0-.2-.1-.4-.4-.4h-1.4c-.3 0-.4.2-.4.4v.7c0 1.2-1 2.3-2.2 2.3h-.4c-.4 0-.7.3-.7.7v.7c0 .5.3.8.7.8h7.4c.4 0 .7-.3.7-.8v-.7c0-.4-.3-.7-.7-.7z"}},new_custom49:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 8.7c-1.8 0-3.3 1.5-3.3 3.3s1.5 3.3 3.3 3.3 3.3-1.5 3.3-3.3-1.5-3.3-3.3-3.3zm0 5.1c-1 0-1.8-.8-1.8-1.8s.8-1.8 1.8-1.8 1.8.8 1.8 1.8-.8 1.8-1.8 1.8zM12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.5c0 .5-.4.8-.8.8-4.5-.4-8-3.9-8.4-8.4 0-.4.3-.8.8-.8h.7c.4 0 .7.3.7.6.4 3.4 3 6 6.4 6.4.3 0 .6.3.6.7v.7zm0-2.9c-3 0-5.5-2.5-5.5-5.5S9 6.5 12 6.5 17.5 9 17.5 12 15 17.5 12 17.5zm8.4-5.5h-.7c-.4 0-.7-.3-.7-.6-.4-3.4-3-6-6.4-6.4-.3 0-.6-.3-.6-.7v-.7c0-.5.4-.8.8-.8 4.5.4 8.1 4 8.4 8.4 0 .4-.3.8-.8.8z"}},new_custom5:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.7 2.7c-3.8-1.5-8.2-1.8-12.1-.5-3.4 1.1-6.9 3.6-7.4 7.4-.1.8-.1 1.7.1 2.4l.3 1.2.3.6c-.1.2-.3.5-.4.6-1.1 1.7-1.8 3.6-2.3 5.5-.2.8-.6 2 .2 2.5.4.3.9.3 1.2.1.4-.3.5-.7.6-1.2.3-1.9 1-3.9 2.1-5.5.5-.8 1-1.6 1.7-2.4.5-.6 1.4-1.7 2.3-1.4.9.4.9 1.4.3 2s-1.2 1.1-1.2 2c0 .7.3 1.4.8 1.8.8.6 2.2.7 3.1.6 2-.1 3.6-.7 5.1-1.8 2.1-1.5 2.9-4 3.3-6.3.3-1.5.5-2.9 1-4.3.2-.6.5-1.2.8-1.7.2-.2.5-.5.5-.8.2-.4-.1-.7-.3-.8z"}},new_custom50:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.9 14.4c-.8.5-1.8.7-2.8.7-1.2 0-2.3-.3-3.3-.9-.1-.1-.3-.1-.4 0-1 .6-2.1.9-3.3.9s-2.4-.3-3.3-.9c-.1-.1-.3-.1-.4 0-1 .6-2.1.9-3.3.9-1 0-2-.2-2.8-.7-.3-.1-.6.1-.6.4v4.5c0 .9.5 1.7 1.3 2.1 1.9.8 3.9 1.4 6 1.7.5.1.8-.3.8-.8v-2.8c0-1.2 1-2.2 2.2-2.2 1.2 0 2.2 1 2.2 2.2v2.8c0 .5.4.8.8.8 2.1-.3 4.1-.9 6-1.7.8-.4 1.3-1.2 1.3-2.1v-4.5c.1-.3-.1-.5-.4-.4zM5 12.8c1.4 0 2.5-.5 3.3-1.4.1-.2.4-.2.5 0 .8.8 2 1.4 3.2 1.4 1.4 0 2.5-.5 3.3-1.4.1-.2.4-.2.5 0 .8.8 2 1.4 3.3 1.4 2 0 3.8-1.4 4-3.2 0-.3-.1-.6-.3-.7l-9.4-7.5c-.8-.7-2-.7-2.7 0L1.2 8.9c-.2.1-.3.4-.3.7.3 1.8 2.1 3.2 4.1 3.2z"}},new_custom51:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.5 3c1 .6 1.8 2.1 2.2 3.3.1.3.3.4.6.4.2.1.4.1.7.1.4 0 .7 0 1.1-.1.9-.3 1.7-.7 2.4-1.4 1.1-1.2 1.5-2.8 1.1-4.1-1.3-.5-2.9-.1-4 1.1-.4.3-.6.7-.8 1.1-.6-1-1.3-1.8-2.1-2.3-.6-.3-1.3-.1-1.6.4-.3.5 0 1.2.4 1.5zm11.2 5.4c-3.7-2.1-4.5.7-7.7.7s-4-2.8-7.7-.7c-3.6 2.1-2.5 8.9-1.1 11.4 1.3 2.3 3.6 4.6 8.5 2.4.2-.1.4-.1.6 0 4.8 2.2 7.2-.1 8.5-2.4 1.4-2.5 2.5-9.3-1.1-11.4z"}},new_custom52:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23 6.5c.1-1.2 0-2.3-.2-3.5-.1-1-.8-1.7-1.8-1.8-1.2-.2-2.3-.3-3.5-.2-.3 0-.5.4-.3.6l5.2 5.2c.3.2.6 0 .6-.3zm-8.7-4.7c-.2-.2-.5-.3-.7-.2C10.8 2.4 8.2 3.8 6 6c-2.1 2.2-3.6 4.8-4.4 7.4-.1.3 0 .6.2.8l8 8c.2.2.5.3.8.2 2.6-.8 5.2-2.3 7.4-4.4 2.1-2.2 3.6-4.8 4.4-7.6.1-.3 0-.5-.2-.7l-7.9-7.9zm-3.1 14.4c-.4.5-1.1.5-1.6 0l-2-2c-.5-.5-.5-1.2 0-1.6.4-.5 1.1-.5 1.5 0l2.1 2.1c.5.4.5 1.1 0 1.5zm2.6-2.5c-.5.4-1.2.4-1.6 0l-2-2.1c-.5-.5-.5-1.2 0-1.6.4-.4 1.1-.4 1.5 0l2.1 2.1c.5.5.5 1.1 0 1.6zm2.6-2.6c-.5.4-1.2.4-1.6 0L12.7 9c-.4-.5-.4-1.2 0-1.6.5-.4 1.2-.4 1.6 0l2.1 2.1c.4.5.4 1.2 0 1.6zM1 17.3c-.1 1.2-.1 2.5.2 3.7.1 1 .8 1.8 1.8 1.9 1.2.2 2.5.3 3.8.2.3-.1.4-.4.3-.7L1.6 17c-.2-.2-.6-.1-.6.3z"}},new_custom53:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21 14.6h-.3c-.8 0-1.5-.7-1.5-1.5V8.2c0-4.3-3.7-7.7-8-7.2-3.7.4-6.4 3.7-6.4 7.5v4.4c0 .9-.8 1.7-1.7 1.7H3c-.6 0-1.2.5-1.2 1.2v.9c0 .6.6 1.2 1.2 1.2h18c.6 0 1.2-.6 1.2-1.2v-.9c0-.7-.6-1.2-1.2-1.2zm-6.6 5.5H9.6c-.3 0-.6.3-.5.5.3 1.4 1.5 2.5 2.9 2.5s2.7-1 3-2.5c0-.2-.3-.5-.6-.5z"}},new_custom54:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.6 12.4C6 12 8.1 11 10.4 10c.7-.4 2.1-1 2.8-1.3.2-.1.3-.3.2-.6-.2-1-1-1.9-2.1-1.9h-.8V4.8c0-.4-.3-.7-.7-.7V2.6c0-.4-.3-.8-.8-.8H7.6c-.4 0-.8.4-.8.8v1.5c-.3 0-.7.3-.7.7v1.4h-.7c-1.2 0-2.3 1.1-2.3 2.3V12c0 .3.3.5.5.4zm16.5 7.3s2.7-4.1 3-10c0-.4-.3-.7-.8-.7-8.8.3-12.9 5.6-20.7 5.9-.4 0-.7.4-.7.7v2.8c0 1.2.9 2.1 2.1 2.2 3.9.3 12.2.8 16.9 1.6.5.1 1-.4.9-.8-.1-.6-.3-1.3-.7-1.7zm-.3-6.6c-.7 0-1.2-.5-1.2-1.1s.5-1.1 1.2-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1z"}},new_custom55:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.8 15.4h4.5c.4 0 .7-.4.7-.7V4.6c0-.8-.7-1.4-1.4-1.4H5.9c-.5 0-.8.4-.8.8v10.7c0 .3.3.7.7.7zM21 5.3v10.8c0 .7-.6 1.3-1.4 1.3H4.4c-.8 0-1.4-.6-1.4-1.3V5.3c-1.2 0-2.1.9-2.1 2v10.1c0 1.1.9 2 2.1 2h6.6c.3 0 .6.4.6.7s.4.7.7.7H13c.4 0 .7-.3.7-.7s.3-.7.7-.7H21c1.1 0 2-.9 2-2V7.3c.1-1.1-.8-2-2-2zm-7.2 10.1h4.3c.5 0 .8-.4.8-.8V3.9c0-.3-.3-.7-.7-.7h-3.8c-.6 0-1.3.6-1.3 1.4v10.1c-.1.3.2.7.7.7z"}},new_custom56:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.7 4.8c-2.3 2.3-5.1-.6-7.7 2l-7.4 7.4c-.9.8-.9 2.2 0 3.1l2.6 2.5 2.5 2.6c.9.9 2.3.9 3.1 0l7.5-7.4c2.5-2.6-.3-5.4 2-7.7l.6-.6c.2-.1.2-.4 0-.5l-2-2c-.2-.2-.4-.2-.5 0l-.7.6zm-1.8 9.4l-2.6 2.6c-.3.3-.7.3-1 0l-2.1-2.1-2-2.1c-.3-.2-.3-.7 0-1L9.7 9c.3-.2.8-.2 1.1 0l2 2.1 2.1 2.1c.3.3.3.7 0 1zm7.9-11.5l-.7-.8-.8-.8c-.3-.3-.8-.3-1 0l-1 1c-.1.1-.1.3 0 .5l2 2c.2.2.4.2.5 0l1-.9c.4-.2.4-.7 0-1z"}},new_custom57:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.1 13.4v9.3c0 .3.3.5.6.3 1.8-1 7.3-4.2 7.3-4.2.6-.4 1.1-1.2 1.1-2V8.4c0-.3-.3-.4-.5-.3l-8.1 4.6c-.2.2-.4.4-.4.7zm-.7-2.6l8.1-4.7c.3-.1.3-.5 0-.6-1.8-1-7.3-4.3-7.3-4.3-.7-.4-1.7-.4-2.4 0 0 0-5.5 3.2-7.3 4.3-.3.1-.3.5 0 .6l8.1 4.7c.3.1.5.1.8 0zm-1.9 1.9L2.4 8.1c-.2-.2-.6 0-.6.3v8.4c0 .8.5 1.6 1.2 2 0 0 5.5 3.2 7.3 4.2.3.2.5 0 .5-.3v-9.3c.1-.3-.1-.5-.3-.7z"}},new_custom58:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.2 10.5c-.6 0-1.1-.5-1.1-1.2.1-.6.6-1 1.2-1h3.2c.1 0 .3-.1.3-.2.3-.5.5-1 .7-1.5.1-.3-.1-.5-.3-.5h-2.4c-.6 0-1.1-.5-1.2-1 0-.7.5-1.2 1.2-1.2h2.9c.2 0 .4-.2.4-.4V2.4c0-.4-.3-.7-.8-.7h-3.9c-1.1 0-2 .8-2 1.9v.1c0 2.1-1.4 3.9-3.3 4.4v-3c.8-.5 1.3-1.3 1.1-2.3-.1-1-1-1.7-1.9-1.8-1.4-.2-2.5.8-2.5 2.2 0 .8.4 1.5 1.1 1.9v3.1C9 7.7 7.6 5.9 7.6 3.8v-.1c0-1.1-.9-2-2-2H1.7c-.5 0-.8.3-.8.7v1.2c0 .2.2.3.4.3h2.9c.6 0 1.1.5 1.2 1 0 .7-.5 1.2-1.2 1.2H1.8c-.2 0-.4.3-.3.5.2.5.4 1.1.7 1.6.1.1.2.2.3.2h3.2c.6 0 1.2.4 1.2 1 .1.6-.4 1.2-1.1 1.2h-.9c-.3 0-.5.4-.2.6 1.6 1.4 3.6 2.3 6.3 2.3v8.4c0 .6.4 1.1 1 1.2.6 0 1.2-.5 1.2-1.1v-8.5c2.7 0 4.7-1 6.3-2.3.3-.2.1-.6-.3-.6h-1z"}},new_custom59:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.3 5c.4 0 .6-.3.6-.7 0-.2-.1-.5-.4-.6-.5-.3-1.2-1.5-1.5-2.3-.1-.3-.3-.5-.6-.5H7.5c-.3 0-.6.2-.6.5-.3.7-1 2-1.5 2.3-.2.1-.3.4-.3.6 0 .4.3.7.6.7h12.6zM5.1 20.8c0 1.3.9 2.3 2.1 2.3h9.5c1.2 0 2.2-1 2.2-2.2v-.1c0-.4-.3-.7-.7-.7H5.7c-.3 0-.6.3-.6.7zm13.8-3.6V7.9c0-.4-.3-.7-.7-.7H5.8c-.4 0-.7.3-.7.7v9.3c0 .4.3.7.7.7h12.4c.4 0 .7-.3.7-.7z"}},new_custom6:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 21.7H2.4c-1.2 0-1.8-1.3-1.2-2.3L10.7 3c.6-.9 1.9-.9 2.5 0l9.6 16.5c.6 1-.1 2.2-1.2 2.2H12z"}},new_custom60:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 10.2C22.2 5 17.6.9 12 .9S1.8 5 .9 10.2c0 .4.3.6.6.4.6-.4 1.3-.7 2.1-.7 1 0 1.9.4 2.5 1.2.1.2.5.2.6 0 .6-.8 1.5-1.2 2.5-1.2s1.9.4 2.5 1.2c.1.2.4.2.6 0 .6-.8 1.5-1.2 2.5-1.2s1.9.4 2.5 1.2c.1.2.4.2.6 0 .6-.8 1.4-1.2 2.5-1.2.7 0 1.5.3 2 .7.4.2.7 0 .7-.4zm-6.7 8.4c-.6 0-1.1.5-1.1 1.2s-.4 1.1-1.1 1.1-1.1-.5-1.1-1.1v-5.2c0-.7-.5-1.1-1.1-1.1s-1.1.4-1.1 1.1v5.2c0 1.8 1.5 3.3 3.3 3.3s3.3-1.5 3.3-3.3c0-.7-.4-1.2-1.1-1.2z"}},new_custom61:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.5.9H19c-.4 0-.7.3-.7.8v1.4c0 .5-.3.8-.8.8h-.7c-.4 0-.7-.3-.7-.8V1.7c0-.5-.3-.8-.8-.8h-1.5c-.4 0-.7.3-.7.8v1.4c0 .5-.3.8-.7.8h-.8c-.4 0-.7-.3-.7-.8V1.7c0-.5-.3-.8-.7-.8H8.7c-.4 0-.8.3-.8.8v1.4c0 .5-.3.8-.7.8h-.7c-.5 0-.8-.3-.8-.8V1.7c0-.5-.3-.8-.7-.8H3.5c-.4 0-.7.3-.7.8v3.7c0 1.2 1 2.2 2.2 2.2h14c1.2 0 2.2-1 2.2-2.2V1.7c0-.5-.3-.8-.7-.8zm-1.7 9.5c0-.4-.3-.7-.7-.7H5.9c-.4 0-.7.3-.7.7L3.5 22.2c-.1.5.3.8.7.8H9c.4 0 .8-.3.8-.7v-3.6c0-1.2.9-2.3 2.1-2.3 1.3 0 2.3 1 2.3 2.2v3.7c0 .5.4.8.8.8h4.8c.4 0 .8-.4.7-.9l-1.7-11.8z"}},new_custom62:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22 19H2c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h20c.6 0 1.1-.4 1.1-1.1S22.6 19 22 19zM2.4 16.8H15v-1.5c0-.4.3-.7.7-.7h3.7c.4 0 .7.3.7.7v1.5h1.5c.4 0 .7-.3.7-.7V3.5c0-.4-.3-.7-.7-.7H2.4c-.4 0-.7.3-.7.7v12.6c0 .4.3.7.7.7zm3.3-9.6c0-.4.3-.7.8-.7h10.7c.4 0 .7.3.7.7v.7c0 .5-.3.8-.7.8H6.5c-.5 0-.8-.3-.8-.8v-.7zm0 4.4c0-.4.3-.7.8-.7h7c.4 0 .7.3.7.7v.8c0 .4-.3.7-.7.7h-7c-.5 0-.8-.3-.8-.7v-.8z"}},new_custom63:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9 15.7h6c.4 0 .7-.3.7-.7V9c0-.4-.3-.7-.7-.7H9c-.4 0-.7.3-.7.7v6c0 .4.3.7.7.7zm13-2.6c.6 0 1.1-.5 1.1-1.1s-.5-1.1-1.1-1.1h-1.9V8.7H22c.6 0 1.1-.5 1.1-1.1s-.5-1.1-1.1-1.1h-1.9v-.4c0-1.2-1-2.2-2.2-2.2h-.4V2c0-.6-.4-1.1-1.1-1.1s-1.1.5-1.1 1.1v1.9h-2.2V2c0-.6-.5-1.1-1.1-1.1s-1.1.5-1.1 1.1v1.9H8.7V2c0-.6-.5-1.1-1.1-1.1S6.5 1.4 6.5 2v1.9h-.4c-1.2 0-2.2 1-2.2 2.2v.4H2c-.6 0-1.1.4-1.1 1.1S1.4 8.7 2 8.7h1.9v2.2H2c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h1.9v2.2H2c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h1.9v.4c0 1.2 1 2.2 2.2 2.2h.4V22c0 .6.4 1.1 1.1 1.1s1.1-.5 1.1-1.1v-1.9h2.2V22c0 .6.5 1.1 1.1 1.1s1.1-.5 1.1-1.1v-1.9h2.2V22c0 .6.5 1.1 1.1 1.1s1.1-.5 1.1-1.1v-1.9h.4c1.2 0 2.2-1 2.2-2.2v-.4H22c.6 0 1.1-.4 1.1-1.1s-.5-1.1-1.1-1.1h-1.9v-2.2H22zm-4.1 3.7c0 .6-.5 1.1-1.1 1.1H7.2c-.6 0-1.1-.5-1.1-1.1V7.2c0-.6.5-1.1 1.1-1.1h9.6c.6 0 1.1.5 1.1 1.1v9.6z"}},new_custom64:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm0 19.2c-4.5 0-8.1-3.6-8.1-8.1S7.5 3.9 12 3.9s8.1 3.6 8.1 8.1-3.6 8.1-8.1 8.1zm4.3-12.9l-6.1 2.3c-.4.1-.6.3-.7.7l-2.3 6.1c0 .3.2.6.5.5l6.1-2.3c.4-.1.6-.3.7-.7l2.3-6.1c.1-.3-.2-.6-.5-.5zM12 13.5c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5z"}},new_custom65:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.6 17.9h-18c-.4 0-.7.3-.7.7 0 1.2 1 2.2 2.2 2.2h15c1.2 0 2.2-1 2.2-2.2v-.1c0-.3-.4-.6-.7-.6zm-.8-14.7H1.7c-.4 0-.7.4-.7.8-.1.9-.1 2.7.1 3.8.4 3.4 2.2 6.2 4.7 7.8H14c1.4-.9 2.6-2.3 3.4-3.8.4.1.9.2 1.4.2 2.3 0 4.3-2 4.3-4.4s-1.9-4.4-4.3-4.4zm0 6.6c-.2 0-.3-.1-.5-.1.3-1.2.5-2.4.5-3.7v-.6c1.2 0 2.2.9 2.2 2.2s-1 2.2-2.2 2.2z"}},new_custom66:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 14l-5.3-5.4c-.9-.8-2.2-.8-3.1 0L8.6 14c-.8.8-.8 2.2 0 3l5.4 5.4c.8.9 2.2.9 3 0l5.4-5.4c.9-.8.9-2.2 0-3zm-10.1 2.4c-.5.5-1.4.5-1.8 0-.5-.5-.5-1.3 0-1.8s1.3-.5 1.8 0 .4 1.3 0 1.8zm4.1 4.2c-.5.5-1.3.5-1.8 0s-.5-1.3 0-1.8 1.4-.5 1.8 0c.5.5.5 1.3 0 1.8zm0-8.3c-.5.5-1.3.5-1.8 0s-.5-1.4 0-1.8c.5-.5 1.4-.5 1.8 0 .5.4.5 1.3 0 1.8zm4.2 4.1c-.5.5-1.4.5-1.8 0-.5-.5-.5-1.3 0-1.8s1.3-.5 1.8 0 .5 1.3 0 1.8zM13.1 5.9V3.1c0-1.2-1-2.2-2.2-2.2H3.1C1.9.9.9 1.9.9 3.1v7.8c0 1.2 1 2.2 2.2 2.2h2.8c.2 0 .5-.1.6-.3.1-.1.3-.2.4-.4l5.5-5.5c.1-.1.2-.3.4-.4.2-.1.3-.4.3-.6zm-9 5.4c-.7 0-1.3-.6-1.3-1.3s.6-1.3 1.3-1.3 1.3.6 1.3 1.3-.6 1.3-1.3 1.3zm2.9-3c-.7 0-1.3-.6-1.3-1.3S6.3 5.7 7 5.7s1.3.6 1.3 1.3S7.7 8.3 7 8.3zm3-2.9c-.7 0-1.3-.6-1.3-1.3s.6-1.3 1.3-1.3c.7 0 1.3.6 1.3 1.3s-.6 1.3-1.3 1.3z"}},new_custom67:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.5 13.1l-.5-.8c-.2-.3-.4-.4-.8-.4-.1 0-.2 0-.3.1l-1.3.4c-.5-.4-1.1-.7-1.7-1l-.3-1.3c-.1-.5-.4-.7-.9-.7h-.9c-.5 0-.8.3-.9.8l-.3 1.2c-.6.3-1.1.6-1.7 1.1L2.6 12c-.1 0-.2-.1-.3-.1-.3 0-.6.2-.8.5l-.5.8c-.2.4-.1.8.2 1.2l1.2.8c-.1.4-.1.7-.1 1 0 .3 0 .6.1 1l-1.1.9c-.4.3-.5.8-.2 1.2l.4.8c.2.3.5.4.9.4 0 0 .2 0 .3-.1L4 20c.5.4 1 .8 1.7 1l.2 1.3c.1.5.5.8.9.8h1c.4 0 .8-.3.9-.8l.2-1.3c.7-.3 1.3-.6 1.8-1.1l1.2.5c.1 0 .2.1.3.1.4 0 .7-.2.9-.5l.4-.7c.3-.4.2-.9-.2-1.2l-1.1-.9c.1-.3.1-.6.1-1 0-.3 0-.6-.1-1l1.1-.8c.3-.4.4-.9.2-1.3zm-6.3 5.6c-1.3 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.6 1.1 2.6 2.5-1.2 2.5-2.6 2.5zM22.8 7.9l-.8-.7c0-.3.1-.5.1-.8 0-.3-.1-.5-.1-.8l.8-.7c.3-.2.4-.6.2-.9l-.4-.7c-.1-.2-.4-.3-.6-.3h-.3l-1.1.4c-.4-.4-.8-.6-1.4-.8l-.1-1.1c-.1-.3-.4-.6-.8-.6h-.7c-.4 0-.7.3-.8.6l-.1 1.1c-.5.2-1 .4-1.4.8L14.2 3c-.1-.1-.2-.1-.3-.1-.2 0-.5.1-.6.4l-.4.6c-.2.3-.1.7.2.9l.8.7c0 .3-.1.5-.1.8 0 .3.1.6.1.8l-.8.7c-.3.2-.4.6-.2 1l.4.6c.1.2.4.4.6.4.1 0 .2 0 .3-.1l1.1-.4c.4.4.9.7 1.4.8l.1 1.1c.1.3.4.6.8.6h.7c.4 0 .7-.3.8-.6l.1-1.1c.6-.2 1.1-.5 1.5-.9l1 .4c.1.1.2.1.3.1.2 0 .5-.1.6-.4l.4-.6c.2-.2.1-.5-.2-.8zm-4.8.6c-1.2 0-2.1-.9-2.1-2s.9-2.1 2.1-2.1 2 1 2 2.1-.9 2-2 2z"}},new_custom68:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm8.8 10h-2.9c-.1-2.6-.7-4.9-1.6-6.7 2.4 1.4 4.1 3.8 4.5 6.7zm-9.9-7.3v7.3H8.4c.1-3.5 1.2-6.2 2.5-7.3zm0 9.5v7.3c-1.3-1.1-2.4-3.8-2.5-7.3h2.5zm2.2 7.3v-7.3h2.5c-.1 3.5-1.2 6.2-2.5 7.3zm0-9.5V3.6c1.3 1.1 2.4 3.8 2.5 7.3h-2.5zM7.7 4.2C6.8 6 6.3 8.3 6.1 10.9H3.2C3.6 8 5.3 5.6 7.7 4.2zm-4.5 8.9h2.9c.1 2.6.7 4.9 1.6 6.7-2.4-1.4-4.1-3.8-4.5-6.7zm13.1 6.7c.9-1.8 1.4-4.1 1.6-6.7h2.9c-.4 2.9-2.1 5.3-4.5 6.7z"}},new_custom69:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13 10.2c-2.2-1.6-4.3-.8-5.7.5-.5.5-1.3.8-2.2 1-1 .3-2.1.7-2.8 1.5-2.2 2-1.7 4.5 1.1 7.3l.1.1c1.7 1.7 3.2 2.5 4.7 2.5 1 0 1.9-.4 2.8-1.2.8-.8 1.2-1.8 1.5-2.8.3-.9.6-1.7 1.1-2.2.8-.8 1.3-1.8 1.4-2.7.1-.7-.1-1.7-.9-2.8 0 0-.4-.6-1.1-1.2zm-4.6 8.9c-.2.2-.5.3-.7.3-.3 0-.5-.1-.7-.3l-2.1-2c-.4-.4-.4-1 0-1.5.4-.4 1-.4 1.4 0l2.1 2.1c.4.4.4 1 0 1.4zm1.8-3c-1.1 0-1.9-.8-1.9-1.8s.8-1.9 1.9-1.9 1.8.8 1.8 1.9-.8 1.8-1.8 1.8zM22.8 2.9l-1.7-1.7c-.2-.3-.8-.3-1.1 0L18.1 3c-.3.3-.3.9 0 1.2l.1.1-3.8 3.8c-.1.2-.1.4 0 .6.3.3.8.7 1.1 1 .1.1.3.1.5 0l3.8-3.8V6c.3.3.9.3 1.2 0l1.9-1.9c.3-.4.3-.9-.1-1.2z"}},new_custom7:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.3 23.1C2 23.1.9 22 .9 20.7V3.3C.9 2 2 .9 3.3.9h17.4c1.3 0 2.4 1.1 2.4 2.4v17.4c0 1.3-1.1 2.3-2.4 2.3H3.3z"}},new_custom70:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.3 17.1L7 12.9c-.9-.9-2.3-.9-3.2 0l-2.6 2.6c-.3.3-.3.8 0 1l.5.6.5.5 4.3 4.2.2.3.9.7c.2.3.8.3 1 0l2.7-2.6c.8-.8.8-2.2 0-3.1zm-7-1.6l.6-.5c.3-.3.7-.3 1 0l3.2 3.1c.3.3.3.8 0 1.1l-.5.5c-.3.2-.8.2-1 0l-3.3-3.2c-.3-.3-.3-.7 0-1zM9 11.7l3.4 3.3c.1.1.2.1.3.1h1.6c.1 0 .3-.1.3-.3v-1.4c0-.2.2-.3.4-.3l1.3-.1c.2 0 .4-.1.4-.3v-1.4c0-.2.1-.3.3-.3l1.4-.1c.2 0 .3-.1.3-.3l.1-1.4c0-.2.1-.3.3-.3h1.4c.2 0 .3-.2.3-.4l.1-1.3c0-.2.1-.3.2-.4l1.6-.2c.2 0 .4-.3.2-.6l-3.1-4.8c-.3-.3-.8-.4-1.2 0l-9.7 9.6c-.2.2-.2.6.1.9z"}},new_custom71:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.8 5c-2.1-2.1-5-3.2-8.1-3.2C5.8 2 .9 7 .9 12.9v3.4c0 1.2 1 2.2 2.2 2.2h1.5v1.8c0 .9.7 1.7 1.7 1.9 1.1 0 2-.8 2-1.8v-6.5c0-.9-.7-1.8-1.7-1.9-1.1-.1-2 .7-2 1.8v2.5h-.7c-.4 0-.8-.3-.8-.7v-2.7C3.1 8.1 7 4.2 11.7 4c2.5-.1 4.7.8 6.4 2.5 1.8 1.6 2.7 3.8 2.7 6.2v2.9c0 .4-.3.7-.7.7h-.7v-2.4c0-.9-.7-1.8-1.7-1.9-1.1-.1-2 .7-2 1.8v6.5c0 .9.7 1.7 1.7 1.9 1.1 0 2-.8 2-1.8v-1.8h1.5c1.2 0 2.2-1 2.2-2.2v-3.5c0-2.9-1.1-5.7-3.3-7.9z"}},new_custom72:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M22 .9H2C1.4.9.9 1.4.9 2S1.4 3.1 2 3.1h8.9v2.3c-4 .6-7 3.9-7 8V16c0 2.6 2.1 4.9 4.9 4.9h6.5c2.7 0 4.9-2.2 4.9-4.9v-2.6c0-4.1-3.1-7.5-7-8V3.1H22c.7 0 1.1-.4 1.1-1.1S22.6.9 22 .9zm-4.8 12.5c0 1-.9 1.9-2 1.9H8.8c-1.1 0-1.9-.8-2-1.9.1-2.8 2.3-5.1 5.1-5.1h.1c2.9 0 5.1 2.3 5.2 5.1z"},circle:[{cx:"3.138",cy:"21.6",r:"1.477"},{cx:"20.862",cy:"21.6",r:"1.477"}]}},new_custom73:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M2.2 6.5h19.6c.4 0 .8-.5.7-1-.5-1.5-1.1-2.9-2-4.1-.3-.4-.8-.4-1.1-.1-.8.8-2.1 1.3-3.4 1.3-1.4 0-2.6-.6-3.5-1.5-.3-.3-.8-.3-1.1 0-.9.9-2.1 1.5-3.5 1.5-1.3 0-2.5-.5-3.4-1.3-.3-.3-.8-.2-1 .1-.9 1.2-1.6 2.7-2 4.2-.1.4.3.9.7.9zm20.9 2.9c0-.4-.3-.7-.8-.7H1.7c-.5 0-.8.3-.8.7v.2c0 6.9 4.8 12.6 11.1 13.5 6.3-.9 11.1-6.6 11.1-13.5v-.2z"}},new_custom74:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.9 20.5h-3.8c-.4 0-.7.3-.7.7v1.1c0 .5.3.8.7.8h3.8c.4 0 .7-.3.7-.8v-1.1c0-.4-.3-.7-.7-.7zM12 .9C7.4.9 3.7 4.4 3.7 8.7c0 2.7 1.6 5.2 3.9 6.5.9.5 1.5 1.4 1.7 2.4.1.4.4.6.8.6H14c.4 0 .7-.2.7-.6.2-1 .8-1.9 1.7-2.4 2.3-1.4 3.9-3.8 3.9-6.5 0-4.3-3.7-7.8-8.3-7.8zM9.4 4.4c-.7 1.4-1.1 3-1.2 4.4 0 1.4.3 2.6.8 3.9.1.4-.2.7-.6.5C5 11.4 5.2 5.1 9 3.8c.3 0 .6.3.4.6zm2.9 8.8c-.1.3-.5.3-.7 0-.6-1.4-.7-3.1-.8-4.7.1-1.6.2-3.2.8-4.7.1-.3.6-.3.7 0 .6 1.4.8 3.1.8 4.7s-.2 3.2-.8 4.7zm3.1 0c-.3.2-.6-.1-.5-.4.5-1.4.7-2.8.8-4.2-.1-1.2-.5-2.8-1.2-4.2-.1-.2.1-.6.5-.5 3.7 1.2 3.9 7.6.4 9.3z"}},new_custom75:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9c-.6 0-1.1.5-1.1 1.1v20c0 .6.5 1.1 1.1 1.1 6.1 0 11.1-5 11.1-11.1S18.1.9 12 .9zm8.8 10h-2.9c-.1-2.6-.7-4.9-1.6-6.7 2.4 1.4 4.1 3.8 4.5 6.7zm-7.7 9.5v-7.3h2.5c-.1 3.5-1.2 6.2-2.5 7.3zm0-9.5V3.6c1.3 1.1 2.4 3.8 2.5 7.3h-2.5zm3.2 8.9c.9-1.8 1.4-4.1 1.6-6.7h2.9c-.4 2.9-2.1 5.3-4.5 6.7zM5.9 8.3c.3.2.7.1 1-.1L9 5.9c.2-.3.2-.8-.1-1.1l-2-2c-.3-.3-.7-.3-.9-.1l-.5.3C2.8 5 .9 8.3.9 12s1.9 7 4.6 9l.5.3c.2.2.6.1.9-.1l2-2c.3-.3.3-.8.1-1.1l-2.1-2.3c-.3-.2-.7-.3-1-.1l-.8.6c-.8-1.2-1.2-2.7-1.2-4.3s.4-3 1.2-4.3l.8.6z"}},new_custom76:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 14c-.1-.2-.5-.5-.8-.4h-.3c-4.2 0-7.5-3.4-7.5-7.5V6c0-.4-.5-.6-.7-.3-.3.4-.5.9-.6 1.3-.7 2.1.2 4.4 2 5.7.8.6 1.7.9 2.5 1l.3.7c.1.1.1.2.2.2l1.1.5c.2.1.3.3.2.5l-.4 1c-.1.2.1.4.2.5l.6.3c.2 0 .3.2.2.4L8.7 19c-.1.2 0 .3.2.4l.8.4c.2.1.3.3.2.5l-.3 1.1c0 .2 0 .4.2.5l2.6 1.1c.2.1.4 0 .5-.2l1.1-2.4c.1-.2.1-.4 0-.6L12 14zm9.9-.3l-6-6.2c.3-.9.3-2-.1-3-.7-2-2.5-3.4-4.7-3.6C7.9.8 5.3 3.5 5.6 6.7c.3 2.3 1.9 4.1 4.1 4.5 1 .2 2 .1 2.8-.2l.5.6c.1.1.2.1.3.1h1.3c.2 0 .4.1.4.3v1.2c0 .2.2.3.4.3h.8c.2 0 .3.2.3.4l.2 1.2c.1.2.2.3.4.3h.9c.2 0 .4.1.4.3l.2 1.2c0 .2.1.3.3.3h2.8c.3 0 .4-.1.4-.4v-2.7c.1-.2 0-.3-.2-.4zM10.1 7.2c-1.1 0-1.9-.8-1.9-1.8s.8-1.9 1.9-1.9 1.9.8 1.9 1.9-.8 1.8-1.9 1.8z"}},new_custom77:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.3 9h1.4c.3 0 .4-.1.4-.3v-.6c0-2.8 2.1-5 4.7-5s4.7 2.2 4.7 5v.6c0 .2.2.3.4.3h1.4c.3 0 .4-.1.4-.3v-.6c0-4-3-7.2-6.9-7.2S4.9 4.1 4.9 8.1v.6c0 .2.2.3.4.3zm13.8 2.3H4.9c-1.2 0-2.1 1-2.1 2.2v7.4c0 1.2.9 2.2 2.1 2.2h14.2c1.2 0 2.1-1 2.1-2.2v-7.4c0-1.2-.9-2.2-2.1-2.2zm-5.3 5.9c-.4.5-.6 1.1-.4 1.7l.2 1.1c.1.4-.2.9-.6.9h-2.3c-.5 0-.8-.5-.7-.9l.2-1.1c.2-.6 0-1.2-.3-1.7-.3-.4-.5-1-.4-1.6.2-.9.9-1.6 1.8-1.8 1.5-.3 2.8.8 2.8 2.2 0 .4-.2.8-.3 1.2z"}},new_custom78:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 4.4l-6.6-3.3c-.3-.2-.7-.2-1 0l-6.1 3-6.2-3c-.3-.2-.7-.2-1.1 0-.3.2-.5.6-.5.9v16.6c0 .5.3.9.7 1.1L8.2 23c.3.1.7.1 1 0l6.2-3.1 6.2 3.1c.1.1.3.1.4.1.2 0 .4-.1.6-.2.3-.2.5-.6.5-.9V5.4c0-.5-.3-.8-.7-1zm-1.5 2.1v8.8c0 .5-.5.9-1.1.7-1.7-.7-.3-3.5-1.5-5.1-1.2-1.4-2.7 0-4.1-2.2-1.4-2.2.5-3.8 2.1-4.6.3-.1.5-.1.7 0l3.4 1.8c.3.1.5.3.5.6zm-9.5 12.8c-.2.2-.6.1-.8-.1-.4-.4-.8-1-.8-1.7 0-1.1-1.9-.7-1.9-2.9 0-1.8-2.1-2.3-3.9-2.1-.5 0-.9-.3-.9-.8V5c0-.5.6-.9 1.1-.6l4 2h.1l.1.1c1.7 1 1.3 1.8.6 3-.7 1.3-1.1 0-2.2-.4s-2.2.4-1.8 1.1 1.5 0 2.2.7c.7.8.7 1.9 3 1.1 2.2-.7 2.5-.3 3.3.4.7.8 1.1 2.2 0 3.3-.7.7-.9 2-1.2 3-.1.2-.2.4-.4.5l-.5.1z"}},new_custom79:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.2 8.9c-1.3 0-2.4 1.1-2.4 2.4s1.1 2.4 2.4 2.4 2.4-1.1 2.4-2.4-1-2.4-2.4-2.4zm13.9 7.5h-6.6v-2.7h.7c.3 0 .6-.3.6-.7v-2c0-.4-.3-.7-.6-.7h-.8c-.6-3.4-3.5-6.1-7.1-6.1C4.2 4.1.9 7.4.9 11.4c.1 4 3.4 7.1 7.5 7.1H21v.7c0 .3.3.6.7.6h.7c.4 0 .7-.3.7-.6v-1.8c0-.5-.5-1-1-1zm-13.9-.7c-2.5 0-4.5-1.9-4.5-4.4s2-4.4 4.5-4.4 4.5 2 4.5 4.4-2 4.4-4.5 4.4z"}},new_custom8:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.9 1.4L2.2 11c-.5.5-.5 1.4 0 2l8.7 9.6c.6.7 1.6.7 2.2 0l8.7-9.6c.5-.5.5-1.4 0-2l-8.7-9.6c-.6-.6-1.6-.6-2.2 0z"}},new_custom80:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.5 15.6c-2 0-3.6 1.5-3.6 3.5s1.6 3.5 3.6 3.5S8 21 8 19.1s-1.5-3.5-3.5-3.5zm0 4.9c-.8 0-1.5-.7-1.5-1.4 0-.8.7-1.5 1.5-1.5s1.4.7 1.4 1.5c0 .7-.6 1.4-1.4 1.4zm15-4.9c-2 0-3.5 1.5-3.5 3.5s1.5 3.5 3.5 3.5 3.6-1.6 3.6-3.5-1.6-3.5-3.6-3.5zm0 4.9c-.8 0-1.4-.7-1.4-1.4 0-.8.6-1.5 1.4-1.5s1.5.7 1.5 1.5c0 .7-.7 1.4-1.5 1.4zm-.2-7.1c.8 0 1.5.1 2.3.4.3.1.7 0 .9-.4 1.8-3.4-1.1-5-3-5.9-.5-.3-1 .1-1 .6v2.1c0 .4-.3.8-.7.7-2.7-.4-5-3.1-7.9-3.1s-3.2 2.8-3.2 2.8c-2 0-4-.2-4.9-.4-.5 0-.9.3-.9.7 0 0 0 2.5 3.6 2.5 2.9 0 5.3 2.2 5.7 5.1 0 .7 0 1.5-.3 2.2-.1.2.1.5.4.5h3.3c.3 0 .5-.2.4-.5-.2-.7-.2-1.4-.2-2.1.3-2.8 2.6-5.1 5.5-5.2zM.9 10.9zm9.4-5.5c.1.3.3.6.5.6l3.8 1.3c.4.1.7 0 .9-.3l.3-.6c.2-.3 0-.5-.2-.6-1.2-.1-3.5-.5-2.8-1.7.6-1.1 1.8-.8 2.7-.5.3.2.6-.2.5-.5-.6-1.1-1.8-1.8-3.1-1.7-1.7.2-2.9 1.8-2.7 3.5l.1.5z"}},new_custom81:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.9.9c-.3 0-1.4.1-1.8.1-5.7.2-12.2 1.7-12.5 1.8-.5.1-.8.6-.8 1v12.1c-.3-.2-.9-.3-1.4-.3-2.5 0-4.5 1.7-4.5 3.7s2 3.7 4.5 3.7 4.4-1.6 4.4-3.7v-7.5c0-.3.2-.6.5-.7 1.8-.4 4.4-.9 9-1.2.5 0 .8.3.8.8v3.8c-.3-.1-.9-.2-1.5-.2-2.4 0-4.4 1.6-4.4 3.7s2 3.6 4.4 3.6 4.5-1.6 4.5-3.6V2c0-.6-.5-1.1-1.2-1.1zm-2.5 5.9c-4.5.3-6.8.7-8.7 1.1-.5.1-.9-.2-.9-.7V6c0-.3.2-.6.6-.7 1.9-.5 4.2-.9 8.9-1.2.5 0 .8.3.8.7V6c0 .5-.3.8-.7.8z"}},new_custom82:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 9.9h-7.3c-.4 0-.7.3-.7.7v.3c0 .6-.5 1.1-1.1 1.1-.5 0-1-.5-1-1.1v-.3c0-.4-.3-.7-.7-.7H9.8h.1c-2.1.1-3.9 1.3-4.8 3-.4-.2-.8-.2-1.1-.2-1.8 0-3.2 1.4-3.2 3.1s1.5 3.1 3.3 3.1c.3 0 .7 0 1.1-.2.9 1.7 2.7 2.9 4.8 3 3.3.2 6.2-2.5 6.2-5.9 0-.2 0-.4-.1-.6 0-.3.2-.7.6-.8l5.8-1.2c.3-.1.6-.4.6-.7v-1.9c0-.4-.3-.7-.7-.7zM4 16.8c-.6 0-1-.4-1-1s.4-1 1-1c.2 0 .3.1.4.1-.1.4-.1.9-.1 1.3 0 .2.1.4.1.6H4zm9.4-9.3c.6 0 1-.5 1-1V3.3c0-.5-.5-1-1-1-.6 0-1.1.5-1.1 1v3.2c0 .6.5 1 1.1 1zm-5 .3c.2.3.5.4.8.4.2 0 .5-.1.7-.3.4-.3.5-1 .1-1.4L7.9 4.1c-.4-.5-1.1-.5-1.5-.1-.4.4-.5 1-.1 1.4l2.1 2.4zm9.1.4c.3 0 .6-.2.8-.4l2.1-2.4c.4-.4.3-1.1-.1-1.4-.5-.4-1.1-.3-1.5.1l-2 2.4c-.4.5-.4 1.1 0 1.4.2.2.5.3.7.3z"}},new_custom83:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.1 8c.1.2.4.2.5 0l.5-.5c1.3-1.2 1.3-3.2.1-4.4l-1.6-1.6c-1.3-1-3-.5-4 .5l-.5.5c-.1.1-.1.4 0 .5l5 5zm-6.7-3.5c-.1-.1-.3-.1-.5 0L3.8 14.6c-.6.6-1 1.2-1.2 2l-1.6 5c-.1.3-.1.6.1.9.2.4.6.6.9.6.1 0 .3 0 .4-.1 0 0 3.4-1 5-1.5.8-.3 1.4-.7 2-1.2l10.1-10.1c.1-.2.1-.4 0-.6l-5.1-5.1zM6.7 19.3c-.7.3-1.9.7-3 1l1-3c.1-.5.3-.8.6-1.1l2.5 2.5c-.3.3-.7.5-1.1.6z"}},new_custom84:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21 17.2H3c-.6 0-1.2.4-1.2 1.1s.5 1.1 1.2 1.1h1.4l.6 3.1c.1.3.4.6.7.6h11.9c.3 0 .6-.3.7-.6l.6-3.1H21c.6 0 1.2-.5 1.2-1.1s-.5-1.1-1.2-1.1zM5.8 15h5.1v-2.1c-.4-.3-.7-.8-.7-1.3 0-.8.6-1.4 1.4-1.4.8 0 1.4.6 1.4 1.4 0 .6-.3 1-.7 1.3V15h5.1c.4 0 .7-.4.7-.8v-1.1c0-2.3-2.1-3-3.8-3.7-1.1-.5-1.3-1-1.3-1.4s.3-.9.7-1.3c.7-.6 1.1-1.4 1.1-2.4 0-1.8-1.2-3.4-3.2-3.4S8.4 2.4 8.4 4.3c0 1 .4 1.8 1.1 2.4.3.4.7.8.7 1.3 0 .4-.2.9-1.3 1.4-1.7.7-3.8 1.5-3.8 3.7v1.1c0 .4.3.8.7.8z"}},new_custom85:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.3 2.4H3.9v-.7c0-.5-.3-.8-.8-.8H1.7c-.5 0-.8.3-.8.8v20.6c0 .5.3.8.8.8h1.4c.5 0 .8-.3.8-.8V5.4h18.4c.5 0 .8-.4.8-.8V3.1c0-.4-.3-.7-.8-.7zm-1.4 5.2H8.3c-1.2 0-2.2 1-2.2 2.2v8.1c0 1.2 1 2.2 2.2 2.2h12.6c1.2 0 2.2-1 2.2-2.2V9.8c0-1.2-1-2.2-2.2-2.2zm-2.1 6.2h-.9v3.7c0 .3-.1.4-.4.4h-1.4c-.3 0-.4-.1-.4-.4v-2.2c0-.2-.1-.3-.4-.3h-1.5c-.2 0-.3.1-.3.3v2.2c0 .3-.2.4-.4.4h-1.5c-.2 0-.3-.1-.3-.4v-3.7h-1c-.1 0-.2-.2-.1-.3l4.2-4c.1-.1.3-.1.5 0l4.1 4c.1.1 0 .3-.2.3z"}},new_custom86:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.6 4.6H9c.3 0 .4-.1.4-.4V3.1h5.2v1.1c0 .3.1.4.4.4h1.4c.3 0 .4-.1.4-.4V3.1c0-1.2-1-2.2-2.2-2.2H9.4c-1.2 0-2.2 1-2.2 2.2v1.1c0 .3.1.4.4.4zm13.3 2.2H3.1C1.9 6.8.9 7.8.9 9v11.9c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V9c0-1.2-1-2.2-2.2-2.2zM12 20.1c-2.9 0-5.2-2.3-5.2-5.1S9.1 9.8 12 9.8s5.2 2.3 5.2 5.2-2.3 5.1-5.2 5.1zm2.2-6.3h-1.1v-1.1c0-.4-.3-.7-.7-.7h-.8c-.4 0-.7.3-.7.7v1.1H9.8c-.4 0-.8.4-.8.8v.7c0 .4.4.8.8.8h1.1v1.1c0 .4.3.7.7.7h.8c.4 0 .7-.3.7-.7v-1.1h1.1c.4 0 .8-.4.8-.8v-.7c0-.4-.4-.8-.8-.8z"}},new_custom87:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21 .9H3c-.7 0-1.2.5-1.2 1.1v17.8c0 .6.5 1.1 1.2 1.1h.3V22c0 .6.5 1.1 1.1 1.1h.8c.6 0 1.1-.5 1.1-1.1v-1.1h11.6V22c0 .6.4 1.1 1.1 1.1h.7c.6 0 1.1-.5 1.1-1.1v-1.1h.4c.6 0 1.1-.5 1.1-1.1V2c-.1-.6-.6-1.1-1.3-1.1zM5.1 18.6c-.6 0-1.1-.4-1.1-1.1V4.2c0-.6.5-1.1 1.1-1.1h13.8c.6 0 1.1.5 1.1 1.1v13.3c0 .7-.4 1.1-1.1 1.1H5.1zm12-13.2H6.9c-.4 0-.7.3-.7.7v9.6c0 .4.3.7.7.7h10.2c.4 0 .7-.3.7-.7V6.1c0-.4-.3-.7-.7-.7zM15.4 12h-3c-.4.7-1.3 1.5-2.3 1.5-1.4 0-2.4-1.2-2.4-2.6s1.1-2.6 2.4-2.6c1 0 1.9.7 2.3 1.5h2.9c.6 0 1 .5 1 1.1 0 .5-.4 1.1-.9 1.1z"}},new_custom88:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 19.4H1.6c-.4 0-.7.3-.7.6v.1c0 1.6 2.1 3 3.7 3h14.8c1.6 0 3.7-1.4 3.7-3V20c0-.3-.3-.6-.7-.6zM2 17.2h6.7c.4 0 .7-.4.7-.9V3.6c0-.1-.3-.2-.3 0l-7.4 13c-.1.2.1.6.3.6zm10.4 0h9.2c.5 0 .8-.4.7-.9C22 13.7 21.6 5.4 12.1 1c-.2-.1-.5 0-.5.3v15c0 .5.4.9.8.9z"}},new_custom89:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.9 9.6c-.1-.2-.5-.2-.5 0-.5.7-.9 1.6-.9 2.8v4c0 .6-.5 1.1-1.1 1.1-.6 0-1.1-.4-1.1-1.1V3.8C11.3 1 8.8.6 7 1.2c-.5.2-1 .5-1.3.9-.2.3-.4.4-.8.6-.7.1-1.8-.5-2.4-.9-.3-.1-.8 0-1 .2l-.4.7c-.3.3-.2.8.1 1C1.9 4.2 3 4.9 3.9 5c1.3.3 2.5-.2 3.4-1 .3-.2.7-.6 1-.2.7 1.1-2.2 6-2.2 13v.6c0 3 3 5.6 6 5.7 3.2.2 5.8-2.4 5.8-5.5 0-1.6.6-2.6 1.2-3.2.1-.2.1-.4 0-.6l-4.2-4.2zm7.1 3.5c-.3 0-.6-.1-.8-.4l-5.9-5.8c-.5-.5-.5-1.2 0-1.6.4-.5 1.1-.5 1.5 0l6 5.9c.4.5.4 1.2 0 1.6-.3.2-.6.3-.8.3z"}},new_custom9:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.8 8C21.8 3.6 17.2.9 12.1.9 5.9.9.9 5.9.9 12s5 11.1 11.2 11.1c8.6 0 7.9-4.4 5.2-6.1-1.7-1-2.5-3.3-.9-5 3-3.1 7.8 1.8 6.4-4zM6 15.7c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3 2.3 1 2.3 2.3-1 2.3-2.3 2.3zm.5-8.8c0-1.3 1-2.3 2.3-2.3s2.3 1 2.3 2.3-1 2.3-2.3 2.3-2.3-1-2.3-2.3zm5 13.4c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3 2.3 1 2.3 2.3-1 2.3-2.3 2.3zm4.2-12c-1.3 0-2.3-1-2.3-2.3s1-2.3 2.3-2.3S18 4.7 18 6s-1 2.3-2.3 2.3z"}},new_custom90:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.1 3.2l-9 1.3v12.7c0 .2-.1.3-.4.3h-1.4c-.3 0-.4-.1-.4-.3V4.8L2.2 6.1h-.1c-.6 0-1-.4-1.1-.9-.1-.6.3-1.2.8-1.3l6.9-1C9.4 1.8 10.6 1 12 1c1 0 1.9.4 2.5 1l7.3-1c.6-.1 1.2.3 1.2.9.1.6-.2 1.1-.9 1.3zM8.8 16.8c.3-.4.3-.8.2-1.2l-3-7c-.1-.4-.6-.6-1-.6s-.8.2-1 .6l-3 7c-.1.4-.1.7.1 1.1.1.1 1.5 2.3 3.8 2.3 1.4 0 2.7-.8 3.9-2.2zM5 11.9l1.6 3.8H3.4L5 11.9zm15-5.5c-.2-.4-.6-.6-1-.6s-.8.2-1 .6l-3 7c-.1.4 0 .7.1 1 .1.1 1.6 2.4 3.9 2.4 1.4 0 2.6-.8 3.8-2.3.3-.3.4-.7.2-1.1l-3-7zm-1 3.3l1.6 3.8h-3.2L19 9.7zm-7 10.1c-2.1 0-4.2.7-5.6 1.9-.2.2-.3.4-.3.6 0 .5.3.8.7.8h10.4c.4 0 .7-.3.7-.8 0-.2-.1-.4-.3-.6-1.4-1.2-3.5-1.9-5.6-1.9z"}},new_custom91:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.3 5.6c-1.1-.3-2.1-1.1-2.7-2.1-.5-.8-.5-2.6-1.7-2.6H6.1C4.9.9 4.9 2.7 4.4 3.5 3.6 4.7 2.7 5 1.5 5.7c-1.2.7-.1 3.6.2 4.7C2.8 14.5 5 18.3 8.4 21c1 .8 2 1.4 3.1 2 1 .5 2.7-.9 3.4-1.5 1.9-1.4 3.5-3.1 4.8-5.1 1-1.7 1.9-3.5 2.5-5.4l.6-2.4c.1-.6.4-1.7.2-2.3-.1-.3-.4-.6-.7-.7-1.7-.5.5.1 0 0zm-1.6 2.6c-1 4.9-3.7 9.5-8.1 12.2l-.6.4-.6-.4C6.1 17.2 4.1 12 3.3 8.1l-.1-.7.7-.4C5 6.3 6.1 5 6.7 3.7l.3-.6h10l.2.5c.6 1.3 1.7 2.7 3.1 3.5l.5.2v.1l-.1.8zm-9.1-2.8c-.8 0-2.9 0-3.3.3-.7.7-1.1 1.6-1.8 2.2-.8.6-.5 1.3-.2 2.2.5 1.6 1.2 3.1 2.2 4.4.5.7 1 1.4 1.7 2 .1.2 1.8 1.9 1.8.8V6.1c0-.4 0-.7-.4-.7z"}},new_custom92:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.8 14.4l-8.4-3.9c-.3-.1-.5-.1-.7 0l-8.5 3.9c-.4.2-.6.7-.3 1.2.9 1.2 1.4 2.8 1.7 3.6.1.2.3.4.6.5 2.9.7 5.3 2.4 6.3 3.1.3.3.7.3 1 0 1-.7 3.4-2.4 6.3-3.1.3-.1.5-.3.6-.5.3-.8.8-2.4 1.7-3.6.3-.4.1-1-.3-1.2zm-11 2c-.7 0-1.1-.6-1.1-1.4 0-.9.4-1.5 1.1-1.5s1.1.6 1.1 1.5c0 .8-.5 1.4-1.1 1.4zm4.4 0c-.6 0-1.1-.6-1.1-1.4 0-.9.5-1.5 1.1-1.5s1.1.6 1.1 1.5c0 .8-.4 1.4-1.1 1.4zm-8-5.8l4.6-2.1c.5-.3 1.1-.3 1.7-.2.3 0 .5.1.8.2l4.5 2.1c.2.1.5-.1.5-.3V8.6c0-.2-.1-.3-.3-.5-.2-.3-.8-.9-1.9-.9V5.1c0-.3-.2-.5-.4-.7-.4-.2-1.1-.5-2.2-.7v-2c0-.5-.3-.8-.8-.8h-1.4c-.5 0-.8.3-.8.8v1.9c-1.1.2-1.8.6-2.2.8-.2.1-.4.4-.4.6v2.2c-1.1 0-1.7.6-1.9.8-.2.2-.3.4-.3.5v1.7c0 .3.3.5.5.4z"}},new_custom93:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M9.3 12h11c.3 0 .7-.2.7-.6l2-6.8c.2-.5-.2-1-.7-1h-17l-.3-1c-.2-.4-.6-.8-1.1-.8H2.1c-.6 0-1.1.5-1.2 1.1C.9 3.5 1.4 4 2 4h1.1l3.5 11.6c.1.4.6.7 1.1.7h13c.6 0 1.1-.4 1.2-1 0-.6-.5-1.1-1.1-1.1H9.3c-.5 0-.9-.4-1-.8-.3-.7.3-1.4 1-1.4z"},ellipse:[{cx:"9.508",cy:"20.354",rx:"1.846",ry:"1.8"},{cx:"18.508",cy:"20.354",rx:"1.846",ry:"1.8"}]}},new_custom94:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.2 7.6V2c0-.6-.4-1.1-1.1-1.1h-1.5c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h.4v4.5C12 10 10 12 7.6 12s-4.5-2-4.5-4.4V3.1h.4c.7 0 1.1-.4 1.1-1.1S4.2.9 3.5.9H2C1.4.9.9 1.4.9 2v5.6c0 3.6 3 6.6 6.7 6.6s6.6-3 6.6-6.6zm8.9 4.4c0-1.8-1.5-3.3-3.3-3.3s-3.4 1.5-3.4 3.3c0 1.4 1 2.7 2.2 3.1v.9c0 2.6-2.2 4.9-4.8 4.9h-.1c-2.3 0-4.3-1.7-4.8-3.9-.1-.3-.4-.6-.8-.6h-.7c-.5 0-.8.5-.8.9.6 3.3 3.6 5.8 7 5.8h.1c3.9 0 7.1-3.3 7.1-7.1v-.9c1.4-.4 2.3-1.7 2.3-3.1zm-3.3 1.1c-.7 0-1.2-.5-1.2-1.1s.5-1.1 1.2-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1z"}},new_custom95:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.1 4.7V3.1h.4c.6 0 1.1-.4 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-3c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h.4v1.6c-4.6.6-8.1 4.4-8.1 9.1 0 5.1 4.1 9.3 9.2 9.3s9.2-4.2 9.2-9.3c0-4.7-3.5-8.5-8.1-9.1zM12 20.9c-3.9 0-7-3.2-7-7.1s3.1-7 7-7 7 3.2 7 7-3.1 7.1-7 7.1zm2.4-10.8l-1.7 1.7c-.2-.1-.4-.2-.7-.2-1.2 0-2.2 1-2.2 2.2s1 2.3 2.2 2.3 2.2-1.1 2.2-2.3c0-.2 0-.5-.1-.7l1.7-1.7c.4-.4.4-1 0-1.3-.4-.4-1-.4-1.4 0z"}},new_custom96:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.8 4.2l-1.9-1.5c-.3-.2-.5-.3-.9-.3h-6.5v-.7c0-.5-.3-.8-.8-.8h-1.4c-.5 0-.8.3-.8.8v.7H3.1c-.4 0-.7.3-.7.7v3c0 .4.3.7.7.7H20c.4 0 .7-.1.9-.2l1.9-1.5c.4-.3.4-.7 0-.9zm-1.9 6.3h-7.4V9.4c0-.2-.2-.4-.4-.4h-2.2c-.2 0-.4.2-.4.4v1.1H4c-.4 0-.7.1-.9.3l-1.9 1.4c-.4.3-.4.7 0 1l1.9 1.4c.3.2.5.3.9.3h16.9c.4 0 .7-.3.7-.7v-3c0-.4-.3-.7-.7-.7zM13.5 20v-2.5c0-.2-.2-.3-.4-.3h-2.2c-.2 0-.4.1-.4.3V20c-1.5.4-2.3 1.3-2.5 2.4-.1.3.2.7.5.7h7c.4 0 .7-.3.6-.7-.3-1.1-1.1-2-2.6-2.4z"}},new_custom97:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.8 13.5V4.8c0-2.2-1.7-3.9-3.8-3.9-2.2 0-3.8 1.7-3.8 3.9v8.7c-1.1 1.1-1.7 2.5-1.7 4 0 3.1 2.5 5.6 5.5 5.6s5.5-2.5 5.5-5.6c0-1.5-.6-2.9-1.7-4zm-.9 4H9.1c-.3 0-.6-.3-.5-.6.1-.8.6-1.6 1.2-2.1.3-.2.4-.5.4-.8V4.8C10.2 3.7 11 3 12 3s1.7.8 1.7 1.8v.3h-1c-.6 0-1 .4-1 1s.4 1 1 1h1v1.4h-1c-.6 0-1 .5-1 1s.4 1 1 1h1v1.4h-1c-.6 0-1 .5-1 1s.4 1 1 1h1c.1.4.2.6.4.8.7.5 1.1 1.3 1.3 2.1.1.4-.2.7-.5.7z"}},new_custom98:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M22.9 10.2l-2.7-2.7c-.2-.2-.4-.3-.5-.3h-2.8c-.4 0-.7.4-.7.7v5.6c0 .3.2.4.5.3.5-.2 1-.3 1.6-.3 1.5 0 2.9.9 3.6 2.2.1.2.4.2.5.1.4-.4.7-.9.7-1.6v-3.5c0-.2-.1-.4-.2-.5z"},{d:"M13.4 4.2H1.6c-.4 0-.7.3-.7.6v9.5c0 .6.3 1.2.7 1.5.2.2.4.1.5-.1.7-1.3 2.1-2.1 3.7-2.1 1.7 0 3.2 1 3.8 2.6 0 .1.2.2.3.2H12c1.2 0 2.1-.9 2.1-2.1V4.8c0-.3-.3-.6-.7-.6z"}],ellipse:[{cx:"18.231",cy:"17.769",rx:"2.077",ry:"2.077"},{cx:"5.769",cy:"17.769",rx:"2.077",ry:"2.077"}]}},new_custom99:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.9 7.7h-6.2c-.2-.5-.5-.8-.8-1.1l2.3-3c.4-.5.3-1.2-.2-1.5-.4-.4-1.2-.3-1.6.2l-2.5 3.2h-1.2L8.1 2.3c-.4-.5-1.1-.6-1.6-.2s-.5 1-.1 1.5l2.3 3c-.3.3-.6.6-.8 1.1H3.1C1.9 7.7.9 8.6.9 9.8V20c0 1.2 1 2.2 2.2 2.2h17.8c1.2 0 2.2-1 2.2-2.2V9.8c0-1.2-1-2.1-2.2-2.1zm-3 11.5c0 .5-.3.8-.7.8H3.9c-.4 0-.8-.3-.8-.8v-8.6c0-.4.4-.8.8-.8h13.3c.4 0 .7.4.7.8v8.6zm2.6-3.6c-.7 0-1.1-.4-1.1-1.1s.4-1.1 1.1-1.1 1.1.5 1.1 1.1-.5 1.1-1.1 1.1zm0-3.6c-.7 0-1.1-.5-1.1-1.1 0-.6.4-1.1 1.1-1.1s1.1.5 1.1 1.1c0 .6-.5 1.1-1.1 1.1z"}},new_event:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.5 9.2h-19c-.3 0-.7.4-.7.7v11.3c0 1 .9 1.9 1.9 1.9h16.6c1 0 1.9-.9 1.9-1.9V9.9c0-.3-.4-.7-.7-.7zM8.8 19.4c0 .3-.2.4-.5.4H6.5c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4H6.5c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm4.6 4.6c0 .3-.2.4-.5.4h-1.8c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4h-1.8c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm4.6 4.6c0 .3-.2.4-.5.4h-1.8c-.3 0-.5-.1-.5-.4v-1.9c0-.2.2-.4.5-.4h1.8c.3 0 .5.2.5.4v1.9zm0-4.6c0 .2-.2.4-.5.4h-1.8c-.3 0-.5-.2-.5-.4v-1.9c0-.3.2-.4.5-.4h1.8c.3 0 .5.1.5.4v1.9zm2.3-11.6H18v-.9c0-.7-.6-1.4-1.4-1.4-.7 0-1.4.6-1.4 1.4v.9H8.8v-.9c0-.7-.6-1.4-1.4-1.4C6.6.9 6 1.5 6 2.3v.9H3.7c-1 0-1.9.9-1.9 1.9v1.1c0 .4.4.7.7.7h19c.3 0 .7-.3.7-.7V5.1c0-1-.9-1.9-1.9-1.9z"}},new_group:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.3 12.9c-.7-.9-1-2.1-1-3.3 0-2.1.9-3.9 2.3-4.9-.5-.9-1.4-1.5-2.6-1.5-2 0-3.2 1.7-3.2 3.6 0 1 .3 1.9 1 2.5.4.3.7.8.7 1.3 0 .4-.2.9-1.3 1.4-1.7.7-3.2 1.8-3.2 3.3 0 1 .6 1.8 1.6 1.8h1.5c.3 0 .5-.2.6-.4.8-1.3 2.2-2.2 3.3-2.8.4-.1.5-.7.3-1zm13.5-.9c-1.2-.5-1.4-.9-1.4-1.4s.4-1 .7-1.3c.7-.7 1-1.5 1-2.5 0-1.9-1.1-3.6-3.1-3.6-1.2 0-2.2.6-2.7 1.5 1.4 1 2.3 2.8 2.3 4.9 0 1.2-.3 2.4-1 3.3-.2.4-.1.9.3 1 1.1.6 2.5 1.5 3.3 2.8.1.2.3.4.6.4h1.5c1 0 1.6-.8 1.6-1.8.1-1.5-1.5-2.6-3.1-3.3zM15 15.4c-1.2-.6-1.4-1.1-1.4-1.6 0-.6.3-1.1.8-1.4.7-.7 1.1-1.7 1.1-2.8 0-2.1-1.2-3.9-3.5-3.9S8.5 7.5 8.5 9.6c0 1.1.4 2.1 1.1 2.8.5.4.8.9.8 1.4 0 .6-.2 1-1.4 1.6-1.9.8-3.6 1.6-3.7 3.3 0 1.1.8 2 1.9 2h9.6c1.1 0 1.9-.9 1.9-2-.1-1.7-1.8-2.5-3.7-3.3z"}},new_lead:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"12",cy:"4.246",r:"3.323"},path:{d:"M22.3 9.8H1.7c-.8 0-1.1.9-.5 1.3l5.4 3.5c.3.2.5.5.3.8l-2 6.8c-.2.7.8 1.2 1.3.6l5.3-5.5c.3-.3.8-.3 1.1 0l5.3 5.5c.5.6 1.4.1 1.3-.6l-2.1-6.8c-.1-.3 0-.7.3-.9l5.4-3.4c.6-.4.3-1.3-.5-1.3z"}},new_note:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.1 18.3l-.4.4c-.5.5-1.1.7-1.7.7h-1.2c-1.1 0-2.3-.8-2.3-2.4v-1.1c0-.9.4-1.5.6-1.8l5-5.1c.1-.1.3-.5.3-.6V4.5c0-1.2-1-2.2-2.2-2.2H5.4c-1.2 0-2.3 1.1-2.3 2.2h-.7C1.6 4.5.9 5.2.9 6s.7 1.5 1.5 1.5h.7v3h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.5 1.5 1.5h.7v3h-.7c-.8 0-1.5.7-1.5 1.5s.7 1.4 1.5 1.4h.7c0 1.5 1.1 2.2 2.3 2.2h11.8c1.2 0 2.2-1 2.2-2.2v-.9c0-.3-.1-.3-.3-.2zM15.3 7.9c0 .4-.3.7-.7.7H7.2c-.4 0-.7-.3-.7-.7v-.7c0-.5.3-.8.7-.8h7.4c.4 0 .7.3.7.8v.7zM12 16.8c0 .5-.3.8-.7.8H7.2c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h4.1c.4 0 .7.3.7.7v.7zm1.1-4.4c0 .4-.3.7-.7.7H7.2c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h5.2c.4 0 .7.3.7.7v.8zm9.7-2.1l-.4-.4c-.3-.3-.8-.3-1 0l-5.7 5.8V17c0 .1 0 .2.1.2h1.3l5.7-5.8c.4-.3.4-.7 0-1.1z"}},new_notebook:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.3.9H6.5c-1.1 0-1.9.9-1.9 1.9v1.4H3.2c-.8 0-1.4.6-1.4 1.3s.6 1.4 1.4 1.4h1.4v3.7H3.2c-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4h1.4v3.7H3.2c-.8 0-1.4.6-1.4 1.4s.6 1.3 1.4 1.3h1.4v1.4c0 1 .8 1.9 1.9 1.9h13.8c1 0 1.9-.9 1.9-1.9V2.8c0-1-.9-1.9-1.9-1.9zm-3.2 15.7c0 .3-.2.5-.5.5h-6.4c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9zm.9-3.7c0 .3-.2.5-.5.5H9.2c-.2 0-.4-.2-.4-.5V12c0-.3.2-.5.4-.5h8.3c.3 0 .5.2.5.5v.9zm.9-4.6c0 .3-.2.5-.4.5H8.3c-.3 0-.5-.2-.5-.5V5.5c0-.2.2-.4.5-.4h10.2c.2 0 .4.2.4.4v2.8z"}},new_opportunity:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.3 18.9H4.7c-.4 0-.6.3-.6.7 0 1.2.9 2.1 2 2.1h11.8c1.2 0 2.1-.9 2.1-2.1-.1-.4-.3-.7-.7-.7zM21 4.7c-1.2 0-2.1.9-2.1 2.1 0 .6.3 1.2.8 1.6-.6 1.3-2 2.2-3.5 2.2-1.9-.1-3.4-1.6-3.5-3.4 0-.4 0-.6.1-.9.8-.3 1.3-1 1.3-2 0-1.1-.9-2-2.1-2s-2.1.9-2.1 2.1c0 .9.6 1.6 1.3 1.9.1.3.1.6.1.9-.1 1.8-1.6 3.3-3.4 3.4-1.6.1-3-.9-3.6-2.2.5-.4.8-1 .8-1.6 0-1.1-.9-2-2.1-2s-2.1.9-2.1 2S1.8 8.9 3 8.9l1 7.4c0 .3.3.5.6.5h14.8c.3 0 .6-.2.6-.5l1-7.4c1.2 0 2.1-.9 2.1-2.1s-.9-2.1-2.1-2.1z"}},new_person_account:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M19.2 15.3c-1.3-.5-1.5-1-1.5-1.6 0-.5.3-1.1.8-1.5.8-.7 1.2-1.7 1.2-2.8 0-2.2-1.4-4-3.8-4s-3.8 1.8-3.8 4c0 1.2.5 2.1 1.2 2.8.5.4.9 1 .9 1.5 0 .6-.3 1.1-1.6 1.6-2 .9-3.8 1.9-3.9 3.6 0 1.2.9 2.3 2 2.3H21c1.2 0 2-1.1 2-2.3.1-1.7-1.8-2.7-3.8-3.6zM10.4 17"},{d:"M10.8 12.5c-.1-.2-.9-1.1-.8-3.6 0-2.4 1.1-3 1.1-3V3.5c0-.5-.4-.7-.7-.7H1.6s-.7.3-.7.7v16.1h5c.1-4.1 4.9-5.8 4.9-5.8.6-.3.1-1.1 0-1.3zm-5.9 5.1c0 .4-.3.7-.7.7h-.8c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h.8c.4 0 .7.3.7.7v.8zm0-3.7c0 .5-.3.8-.7.8h-.8c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h.8c.4 0 .7.3.7.7v.7zm0-3.7c0 .5-.3.8-.7.8h-.8c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h.8c.4 0 .7.3.7.7v.7zm0-3.6c0 .4-.3.7-.7.7h-.8c-.4 0-.7-.3-.7-.7v-.7c0-.5.3-.8.7-.8h.8c.4 0 .7.3.7.8v.7zM9 13.9c0 .5-.3.8-.7.8h-.7c-.4 0-.8-.3-.8-.8v-.7c0-.4.4-.7.8-.7h.7c.4 0 .7.3.7.7v.7zm0-3.7c0 .5-.3.8-.7.8h-.7c-.4 0-.8-.3-.8-.8v-.7c0-.4.4-.7.8-.7h.7c.4 0 .7.3.7.7v.7zm0-3.6c0 .4-.3.7-.7.7h-.7c-.4 0-.8-.3-.8-.7v-.7c0-.5.4-.8.8-.8h.7c.4 0 .7.3.7.8v.7z"}]},new_task:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.1 3.2l-.8-.8c-.2-.2-.6-.2-.8 0L4.6 7.3l-2-1.9c-.2-.3-.5-.3-.8 0l-.7.7c-.3.3-.3.6 0 .8l2.7 2.7c.2.3.5.4.8.4.2 0 .5-.1.8-.4L11.1 4c.2-.2.2-.5 0-.8zm11.2 5.3h-9.6c-.4 0-.7-.3-.7-.7V6.3c0-.4.3-.8.7-.8h9.6c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zm0 6.6H10.5c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h11.8c.5 0 .8.4.8.8v1.5c0 .4-.3.7-.8.7zM6 15.1H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8H6c.4 0 .7.4.7.8v1.5c.1.4-.3.7-.7.7zm0 6.6H4.5c-.4 0-.7-.3-.7-.7v-1.5c0-.4.3-.8.7-.8H6c.4 0 .7.4.7.8V21c.1.4-.3.7-.7.7zm16.3 0H10.5c-.4 0-.8-.3-.8-.7v-1.5c0-.4.4-.8.8-.8h11.8c.5 0 .8.4.8.8V21c0 .4-.3.7-.8.7z"}},password_unlock:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.6 8.4v.1-.1zm14.8 2.2h-12V8.4c0-2.4 1.8-4.6 4.3-4.7 2.2-.1 4.1 1.3 4.7 3.3.1.2.3.4.5.4h1.9c.3 0 .5-.3.4-.6-.7-3.5-3.8-6.1-7.6-5.9-3.9.2-6.9 3.6-7 7.5v2.2c-1 0-1.8.8-1.8 1.9v8.7c0 1 .8 1.9 1.8 1.9h14.8c1 0 1.8-.9 1.8-1.9v-8.7c0-1.1-.8-1.9-1.8-1.9zm-5.3 9.1c.1.3-.1.6-.4.6h-3.4c-.3 0-.6-.3-.5-.6l.9-2.8c-.7-.4-1.1-1.3-1-2.2.2-.9.9-1.5 1.8-1.7 1.5-.3 2.8.8 2.8 2.1 0 .8-.4 1.5-1 1.8l.8 2.8z"}},preview:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.9 11.6C21.7 7.2 17.2 4.2 12 4.2S2.3 7.2.1 11.6c-.1.3-.1.6 0 .8 2.2 4.4 6.7 7.4 11.9 7.4s9.7-3 11.9-7.4c.1-.3.1-.5 0-.8zM12 17.1c-2.8 0-5.1-2.3-5.1-5.1S9.2 6.9 12 6.9s5.1 2.3 5.1 5.1-2.3 5.1-5.1 5.1zm0-8.3c-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"}},priority:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.2 1.6c0-.4-.4-.7-.7-.7H2.1c-.4 0-.7.3-.7.7v20.8c0 .4.3.7.7.7h1.4c.3 0 .7-.3.7-.7V1.6zm17.7 2c-7.4 3.8-6.5-4.1-15.4-1-.3.1-.5.4-.5.6V14c0 .3.3.5.6.4 8.9-3 7.9 5.2 15.6.8.3-.1.4-.3.4-.6V3.9c0-.3-.4-.5-.7-.3z"}},question_post_action:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.1 17.5h-2.3c-.4 0-.6-.2-.6-.6v-.7c0-1.9 1.2-3.7 3-4.3.6-.2 1.1-.5 1.5-1 2.3-2.8.2-6.1-2.6-6.2-1 0-1.9.3-2.7 1-.6.6-1 1.3-1 2.1-.1.2-.4.5-.7.5H5.4c-.5 0-.8-.4-.7-.8.1-1.7.9-3.3 2.2-4.5C8.4 1.6 10.2.8 12.3.9c3.8.1 6.9 3.3 7.1 7.1.1 3.2-1.9 6.1-4.9 7.2-.4.2-.7.5-.7 1v.6c0 .5-.3.7-.7.7zm.7 4.9c0 .4-.3.7-.6.7h-2.4c-.3 0-.6-.3-.6-.7v-2.3c0-.4.3-.7.6-.7h2.4c.3 0 .6.3.6.7v2.3z"}},quote:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.2 10.6H7.8c-.2 0-.4.2-.4.5v1.4c0 .2.2.4.4.4h8.4c.2 0 .4-.2.4-.4v-1.4c0-.3-.2-.5-.4-.5zm-1 4.2H8.8c-.3 0-.5.2-.5.4v1.4c0 .3.2.5.5.5h6.4c.3 0 .5-.2.5-.5v-1.4c0-.2-.2-.4-.5-.4zm5.9-9.1l-4.4-4.3c-.4-.3-.8-.5-1.3-.5H8.6c-.5 0-.9.2-1.3.5L2.9 5.7c-.4.3-.6.8-.6 1.3v14.2c0 1 .8 1.9 1.9 1.9h15.6c1.1 0 1.9-.9 1.9-1.9V7c0-.5-.2-1-.6-1.3zM12 2.3c1 0 1.8.8 1.8 1.9S13 6 12 6s-1.8-.8-1.8-1.8.8-1.9 1.8-1.9zm6.9 17.3c0 .4-.3.7-.7.7H5.8c-.4 0-.7-.3-.7-.7V8.1c0-.4.3-.7.7-.7h12.4c.4 0 .7.3.7.7v11.5z"}},recall:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.4 10.4c-.2-.2-.1-.7.2-.8h4.2c3.1 0 5.6 2.6 5.3 5.8-.3 2.7-2.7 4.8-5.5 4.8h-1.5c-.4 0-.8.3-.8.7v1.4c0 .4.4.8.8.8h1.6c4.5 0 8.1-3.6 8.2-8.1.1-4.5-3.8-8.3-8.3-8.3H8.7s-1.2 0-.4-.8L11 3.2c.3-.3.3-.8 0-1l-1-1c-.3-.3-.8-.3-1 0L2.5 7.7c-.3.2-.3.7 0 1L9 15.2c.3.3.7.3 1 0l1-1c.3-.3.3-.8 0-1l-2.6-2.8z"}},record:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 5.4h8c.4 0 .8-.4.8-.8V3.1c0-1.2-1-2.2-2.2-2.2H9.5c-1.2 0-2.2 1-2.2 2.2v1.5c0 .4.3.8.7.8zm12-2.6h-.8c-.2 0-.3.1-.3.3v1.5c0 1.6-1.3 3-2.9 3H8c-1.6 0-2.9-1.4-2.9-3V3.1c0-.2-.1-.3-.3-.3H4c-1.2 0-2.2 1-2.2 2.2v15.9c0 1.2 1 2.2 2.2 2.2h16c1.2 0 2.2-1 2.2-2.2V5c0-1.2-1-2.2-2.2-2.2zM8 18.6c0 .5-.3.8-.7.8h-.7c-.5 0-.8-.3-.8-.8v-.7c0-.4.3-.7.8-.7h.7c.4 0 .7.3.7.7v.7zM8 15c0 .4-.3.7-.7.7h-.7c-.5 0-.8-.3-.8-.7v-.8c0-.4.3-.7.8-.7h.7c.4 0 .7.3.7.7v.8zm0-3.7c0 .4-.3.7-.7.7h-.7c-.5 0-.8-.3-.8-.7v-.8c0-.4.3-.7.8-.7h.7c.4 0 .7.3.7.7v.8zm10.2 7.3c0 .5-.3.8-.8.8h-7.2c-.4 0-.7-.3-.7-.8v-.7c0-.4.3-.7.7-.7h7.2c.5 0 .8.3.8.7v.7zm0-3.6c0 .4-.3.7-.8.7h-7.2c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h7.2c.5 0 .8.3.8.7v.8zm0-3.7c0 .4-.3.7-.8.7h-7.2c-.4 0-.7-.3-.7-.7v-.8c0-.4.3-.7.7-.7h7.2c.5 0 .8.3.8.7v.8z"}},refresh:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.5 1.8h-1.4c-.4 0-.7.4-.7.7v3.3c0 .4-.2.6-.6.3-.1-.2-.2-.3-.4-.5-2.3-2.3-5.6-3.2-8.9-2.6-1.1.2-2.3.7-3.2 1.3-2.8 1.9-4.5 4.9-4.5 8.1 0 2.5.9 5 2.7 6.8 1.8 1.9 4.3 3 7 3 2.3 0 4.6-.8 6.3-2.3.3-.3.3-.7.1-1l-1-1c-.2-.2-.7-.3-.9 0-1.7 1.3-4 1.9-6.2 1.3-.6-.1-1.2-.4-1.8-.7-2.6-1.6-3.8-4.7-3.1-7.7.1-.6.4-1.2.7-1.8 1.3-2.2 3.6-3.5 6-3.5 1.8 0 3.6.8 4.9 2.1.2.2.4.4.5.6.2.4-.2.6-.6.6h-3.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.6.7.6h8.4c.3 0 .6-.2.6-.6V2.5c0-.3-.4-.7-.7-.7z"}},reject:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.6 11.9l6-6c.3-.3.3-.7 0-1l-.9-1c-.3-.3-.7-.3-1 0L12.6 10c-.1.2-.4.2-.6 0L6 3.9c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l6.1 6.1c.1.1.1.4 0 .6L4 18.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.1-6c.2-.2.5-.2.6 0l6.1 6c.3.3.7.3 1 0l.9-.9c.3-.3.3-.7 0-1l-6-6c-.2-.2-.2-.5 0-.7z"}},remove:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.6 11.9l6-6c.3-.3.3-.7 0-1l-.9-1c-.3-.3-.7-.3-1 0L12.6 10c-.1.2-.4.2-.6 0L6 3.9c-.3-.3-.7-.3-1 0l-1 .9c-.3.3-.3.7 0 1l6.1 6.1c.1.1.1.4 0 .6L4 18.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.1-6c.2-.2.5-.2.6 0l6.1 6c.3.3.7.3 1 0l.9-.9c.3-.3.3-.7 0-1l-6-6c-.2-.2-.2-.5 0-.7z"}},remove_relationship:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zm-11.5 7c-.3 0-.5-.3-.5-.5v-.9c0-.3.2-.5.5-.5h7.4c.2 0 .4.2.4.5v.9c0 .2-.2.5-.4.5H5.1zm14.7 3.2h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2z"}},reset_password:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.5 1.8h-1.4c-.4 0-.7.4-.7.7v3.3c0 .4-.2.6-.6.3-.1-.2-.2-.3-.4-.5-2.3-2.3-5.6-3.2-8.9-2.6-1.1.2-2.3.7-3.2 1.3-2.8 1.9-4.5 4.9-4.5 8.1 0 2.5.9 5 2.7 6.8 1.8 1.9 4.3 3 7 3 2.3 0 4.6-.8 6.3-2.3.3-.3.3-.7.1-1l-1-1c-.2-.2-.7-.3-.9 0-1.7 1.3-4 1.9-6.2 1.3-.6-.1-1.2-.4-1.8-.7-2.6-1.6-3.8-4.7-3.1-7.7.1-.6.4-1.2.7-1.8 1.3-2.2 3.6-3.5 6-3.5 1.8 0 3.6.8 4.9 2.1.2.2.4.4.5.6.2.4-.2.6-.6.6h-3.2c-.4 0-.7.3-.7.7v1.4c0 .4.3.6.7.6h8.4c.3 0 .6-.2.6-.6V2.5c0-.3-.4-.7-.7-.7z"}},script:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.3 3.1c-4.1 0-7.2 3.2-7.2 7.3v9.7c0 .4.3.7.7.7h7.7c.4 0 .7-.3.7-.7v-7.6c0-.4-.3-.7-.7-.7h-5.7v-1.4c0-2.2 2.2-4.5 4.5-4.5h1.2c.3 0 .7-.3.7-.7V3.8c0-.3-.4-.7-.7-.7h-1.2zM9 3.1c-4 0-7.2 3.2-7.2 7.3v9.8c0 .3.4.7.7.7h7.7c.4 0 .7-.4.7-.7v-7.7c0-.4-.3-.7-.7-.7H4.6v-1.4c0-2.2 2.2-4.5 4.4-4.5h1.2c.4 0 .7-.3.7-.7V3.8c0-.3-.3-.7-.7-.7H9z"}},share:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 13.8H21c-.4 0-.7.4-.7.7v5.1c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V9.9c0-.3.3-.7.7-.7h1.8c.4 0 .7-.3.7-.7V7.2c0-.4-.3-.7-.7-.7H2.8c-1 0-1.9.8-1.9 1.8v12.9c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9v-6.7c0-.3-.3-.7-.7-.7zm-6.7-7.3c-4.6 0-8.8 4.1-9.2 8.9 0 .4.3.8.7.8h1.4c.4 0 .6-.3.7-.6.3-3.5 3.3-6.4 6.9-6.4h.7c.4 0 .6.5.3.8l-2.5 2.6c-.3.3-.3.7 0 1l.9.9c.3.3.7.3 1 0l6.3-6.2c.3-.3.3-.7 0-1l-6.2-6.2c-.3-.3-.7-.3-1 0l-1 1c-.3.3-.3.7 0 .9l2.6 2.6c.2.3.1.8-.4.8l-1.2.1z"}},share_file:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.9 7.4h3.6c.2 0 .3-.2.2-.4l-3.8-3.9c-.2-.1-.4 0-.4.2v3.6c0 .3.1.5.4.5zm3.7 1.8h-5.1c-.5 0-.9-.4-.9-.9V3.2c0-.2-.2-.4-.4-.4H9.9c-.3 0-.7.3-.7.7v1.8c0 .2.1.4.2.5L12 8.4c.4.4.6.9.7 1.4.1.8-.1 1.5-.6 2l-.7.7c-.3.2-.5.3-.8.5.3.1.7.2 1.1.2 1.2.1 2.1 1.2 2.1 2.4v1c0 .7-.3 1.3-.7 1.7-.5.5-1.2.7-1.8.6-.5 0-1-.1-1.5-.2-.3-.1-.6.1-.6.5v1.4c0 .4.4.7.7.7h12.5c.4 0 .7-.3.7-.7V9.7c0-.3-.2-.5-.5-.5zM12 16.6v-1c0-.3-.2-.5-.5-.6-2.5-.2-4.6-2.3-4.6-4.9v-.6c0-.3.4-.5.6-.2l1.8 1.8c.2.2.5.2.7 0l.7-.7c.2-.2.2-.5 0-.7L6.2 5.3c-.2-.2-.5-.2-.7 0L1.1 9.7c-.2.2-.2.5 0 .7l.7.7c.1.2.5.3.6.1l2-1.9c.2-.2.6 0 .6.3v.8c0 3.4 2.9 6.4 6.4 6.7.4 0 .6-.3.6-.5z"}},share_link:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.6 19.2l-1-.1s-.7-.1-1-.3c-.2 0-.4 0-.5.2l-.3.2c-1.3 1.3-3.5 1.5-4.9.3-1.5-1.4-1.6-3.8-.1-5.2l3.5-3.5c.4-.5 1-.7 1.5-.9.8-.2 1.6-.2 2.2.1.5.2.9.4 1.2.8.2.2.4.4.5.6.2.3.6.4.8.1l1.3-1.3c.2-.2.2-.5.1-.7-.2-.3-.4-.5-.7-.7-.3-.4-.7-.7-1.1-.9-.6-.4-1.4-.7-2.1-.8-1.5-.3-3-.1-4.3.6-.5.3-1.1.7-1.5 1.1l-3.3 3.3C.4 14.6.2 18.6 2.6 21c2.4 2.7 6.6 2.8 9.1.2l1.2-1.1c.3-.3.1-.8-.3-.9zM21 2.7C18.5.3 14.5.5 12.1 3l-1 1c-.3.3-.1.8.3.9.6 0 1.3.2 1.9.4.2 0 .5 0 .6-.2l.2-.2c1.4-1.3 3.5-1.5 4.9-.3 1.6 1.4 1.6 3.8.2 5.2l-3.5 3.5c-.5.5-1 .7-1.6.9-.7.2-1.5.2-2.2-.1-.4-.2-.8-.4-1.2-.8-.2-.2-.3-.4-.5-.6-.1-.3-.6-.4-.8-.1l-1.3 1.3c-.2.2-.2.5 0 .7.2.3.4.5.6.7.3.3.8.7 1.1.9.7.4 1.4.7 2.2.8 1.4.3 3 .1 4.2-.6.6-.3 1.1-.7 1.5-1.1l3.5-3.5c2.6-2.5 2.5-6.7-.2-9.1z"}},share_poll:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.6.9H2.4C1.6.9.9 1.6.9 2.4v3c0 .8.7 1.4 1.5 1.4h19.2c.8 0 1.5-.6 1.5-1.4v-3c0-.8-.7-1.5-1.5-1.5zm-9.2 4.5v-3h9.2v3h-9.2zM21.6 9H2.4c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h19.2c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM9 13.5v-3h12.6v3H9zm12.6 3.7H2.4c-.8 0-1.5.6-1.5 1.4v3c0 .8.7 1.5 1.5 1.5h19.2c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.4-1.5-1.4zm-5.9 4.4v-3h5.9v3h-5.9z"}},share_post:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 1.8C5.9 1.8.9 6.4.9 12c0 1.8.5 3.5 1.4 5 .1.2.1.4.1.6l-1 3.2c-.2.6.4 1.1 1 .9l3.2-1.1c.2-.1.4-.1.6.1 1.7.9 3.7 1.5 5.8 1.5 6.2 0 11.1-4.5 11.1-10.2C23 6.4 18 1.8 12 1.8z"}},share_thanks:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.9 6.5h-3.3c1-1.5.9-3.4-.2-4.6-.7-.6-1.5-1-2.4-1-1 0-1.9.5-2.6 1.2-.2.2-.3.3-.4.5-.1-.2-.2-.3-.4-.5C10.9 1.3 10 .9 9 .9c-.9 0-1.7.4-2.3 1C5.5 3.1 5.5 5 6.4 6.5H3.2C1.9 6.5.9 7.5.9 8.7v1.5c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7V8.7c0-1.2-1-2.2-2.2-2.2zm-10 0c-.8 0-1.9-.3-2.5-1-.6-.6-.6-1.6-.1-2 .2-.3.5-.3.7-.3.4 0 .7.2 1 .4.7.7.9 1.9.9 2.7v.2zm4.7-1c-.6.6-1.8 1-2.5 1v-.3c0-.7.3-1.9.9-2.6.3-.3.6-.5 1-.5.2 0 .5.1.7.3.5.6.5 1.5-.1 2.1zm5.3 7.6h-7.8v10h6.4c1.2 0 2.1-1 2.1-2.1v-7.2c0-.4-.3-.7-.7-.7zm-18.5.7v7.1c0 1.2 1 2.2 2.2 2.2h6.3v-10H3.1c-.4 0-.7.3-.7.7z"}},sort:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.7 7.4c.3-.3.3-.7 0-1L7.4 1.1c-.2-.3-.7-.3-.9 0L1.2 6.4c-.3.3-.3.7 0 1l.9 1c.3.2.7.2 1 0l1.7-1.7c.2-.3.7-.1.7.3v9.8c0 .4.4.7.7.7h1.4c.4 0 .7-.4.7-.7V7c0-.4.5-.6.8-.3l1.7 1.7c.2.2.6.2.9 0l1-1zm10.1 9.2l-.9-.9c-.3-.3-.7-.3-1 0l-1.7 1.7c-.2.2-.7 0-.7-.4V7.2c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.7c0 .5-.5.6-.8.4l-1.7-1.7c-.2-.3-.6-.3-.9 0l-1 1c-.3.3-.3.7 0 1l5.3 5.3c.3.3.7.3 1 0l5.3-5.3c.2-.3.2-.8-.1-1z"}},submit_for_approval:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.9 13.5h-4.1c-1.2 0-2.2-1-2.2-2.2.2-3.3 1.7-3.5 1.8-5.6.2-2.2-1.2-4.2-3.4-4.7-2.8-.6-5.4 1.6-5.4 4.4 0 2.4 1.6 2.4 1.8 5.9 0 1.2-1 2.2-2.2 2.2H3.1c-1.2 0-2.2.9-2.2 2.2v1.5c0 .4.3.7.8.7h20.6c.5 0 .8-.3.8-.7v-1.5c0-1.3-1-2.2-2.2-2.2zm0 6.6H3.1c-.4 0-.7.3-.7.7v.1c0 1.2 1 2.2 2.2 2.2h14.8c1.2 0 2.2-1 2.2-2.2v-.1c0-.4-.3-.7-.7-.7z"}},update:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 .9C5.9.9.9 5.9.9 12s5 11.1 11.1 11.1 11.1-5 11.1-11.1S18.1.9 12 .9zm4.2 7.2c0 .3-.4.7-.7.7h-4.4c-.3 0-.5.2-.5.4v1c0 .2.2.4.5.4h1.8c1.8 0 3.3 1.4 3.3 3.2v1c0 1.8-1.5 3.2-3.3 3.2h.5v.9c0 .5-.4.9-.9.9s-1-.4-1-.9V18h-3c-.3 0-.7-.3-.7-.7v-1.4c0-.3.4-.7.7-.7h4.4c.3 0 .5-.2.5-.4v-1c0-.2-.2-.4-.5-.4h-1.8c-1.8 0-3.3-1.4-3.3-3.2v-1C7.8 7.4 9.3 6 11.1 6h.4v-.9c0-.5.5-.9 1-.9s.9.4.9.9V6h2.1c.3 0 .7.3.7.7v1.4z"}},update_status:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.8 14.1l.7.8c.2.1.5.1.6 0l2.2-2.2c.1-.2.2-.4.2-.7V3.7c0-.8-.6-1.4-1.3-1.4H2.3c-.8 0-1.4.6-1.4 1.4v10.1c0 .8.6 1.4 1.4 1.4h6.3c.3 0 .5-.1.7-.2l.8-.8c.3-.4.8-.7 1.3-.8.8-.2 1.7.1 2.4.7zM4.6 6.5c0-.3.2-.5.5-.5h8.3c.3 0 .4.2.4.5v.9c0 .3-.1.4-.4.4H5.1c-.3 0-.5-.1-.5-.4v-.9zm.5 5c-.3 0-.5-.1-.5-.4v-.9c0-.3.2-.5.5-.5h6.4c.3 0 .5.2.5.5v.9c0 .3-.2.4-.5.4H5.1zm17.7 1.3l-1-1c-.2-.3-.7-.3-1 0l-5.7 5.7c-.1.2-.5.2-.7 0l-2-2.1c-.3-.3-.7-.3-1 0l-1 1c-.3.3-.3.8 0 1l3.9 4c.3.3.7.3 1 0l7.5-7.6c.4-.3.4-.7 0-1z"}},upload:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.4 14.3H21c-.4 0-.7.4-.7.7v4.6c0 .4-.3.7-.7.7H4.4c-.4 0-.7-.3-.7-.7V15c0-.3-.3-.7-.7-.7H1.6c-.4 0-.7.4-.7.7v6.2c0 1 .9 1.9 1.9 1.9h18.4c1 0 1.9-.9 1.9-1.9V15c0-.3-.3-.7-.7-.7zM12.5 1.1c-.3-.3-.7-.3-1 0L5.3 7.3c-.3.3-.3.7 0 1l.9 1c.3.3.7.3 1 0l2.6-2.6c.3-.3.8-.1.8.3v9.8c0 .4.3.7.7.7h1.3c.4 0 .8-.4.8-.7V7.1c0-.5.4-.6.8-.4l2.6 2.6c.2.3.6.3.9 0l1-.9c.3-.3.3-.7 0-1l-6.2-6.3z"}},user:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 19.8v1.1c0 1.2-1 2.2-2.2 2.2H3.1c-1.2 0-2.2-1-2.2-2.2v-1.1c0-2.6 3.2-4.3 6.1-5.6l.3-.1c.2-.1.5-.1.7 0 1.2.8 2.5 1.2 4 1.2s2.8-.4 3.9-1.2c.3-.1.5-.1.7 0l.3.1c3 1.3 6.2 2.9 6.2 5.6zM12 .9c3 0 5.5 2.7 5.5 6.1S15 13.1 12 13.1 6.5 10.4 6.5 7 9 .9 12 .9z"}},user_activation:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.7 7.4c.3-.3.3-.7 0-1L7.4 1.1c-.2-.3-.7-.3-.9 0L1.2 6.4c-.3.3-.3.7 0 1l.9 1c.3.2.7.2 1 0l1.7-1.7c.2-.3.7-.1.7.3v9.8c0 .4.4.7.7.7h1.4c.4 0 .7-.4.7-.7V7c0-.4.5-.6.8-.3l1.7 1.7c.2.2.6.2.9 0l1-1zm10.1 9.2l-.9-.9c-.3-.3-.7-.3-1 0l-1.7 1.7c-.2.2-.7 0-.7-.4V7.2c0-.4-.4-.7-.7-.7h-1.4c-.4 0-.7.3-.7.7v9.7c0 .5-.5.6-.8.4l-1.7-1.7c-.2-.3-.6-.3-.9 0l-1 1c-.3.3-.3.7 0 1l5.3 5.3c.3.3.7.3 1 0l5.3-5.3c.2-.3.2-.8-.1-1zM7.4 21.2h-.9c-.5 0-1-.4-1-.9v-.9c0-.5.5-.9 1-.9h.9c.5 0 .9.4.9.9v.9c0 .5-.4.9-.9.9zM17.5 5.5h-.9c-.5 0-.9-.4-.9-.9v-.9c0-.5.4-.9.9-.9h.9c.5 0 1 .4 1 .9v.9c0 .5-.5.9-1 .9z"}},view_relationship:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.6 9.2c0-1-.8-1.8-1.8-1.8h-12c-1 0-1.9.8-1.9 1.8v12c0 1 .9 1.9 1.9 1.9h12c1 0 1.8-.9 1.8-1.9v-12zm3.2 10.2h-1.3v-2.8h1.3c.3 0 .5-.2.5-.4v-12c0-.3-.2-.5-.5-.5h-12c-.2 0-.4.2-.4.5v1.3H4.6V4.2C4.6 2.4 6 .9 7.8.9h12c1.8 0 3.3 1.5 3.3 3.3v12c0 1.8-1.5 3.2-3.3 3.2z"}},web_link:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.5.9C6.3.9 1.4 5.9 1.4 12s4.9 11.1 11.1 11.1 11-5 11-11.1S18.6.9 12.5.9zm1.3 15.9c-.6.6-.9 2-1.2 2.9 0 .2-.1.4-.3.5l-.5.2c-.3.1-.6.1-.8-.1-.5-.5-.8-1.1-.8-1.7 0-1.2-1.9-.8-1.9-3 0-1.8-2.3-2.9-4-2.1-.1.1-.2.2-.4.2-.3.1-.5-.1-.6-.4 0-.4-.1-.8-.1-1.3 0-2.2.8-4.2 2.1-5.8 0-.1.1-.1.1-.1 1.1-1.3 2.5-2.3 4.2-2.8.4-.2.8.3.6.7-.2.2-.3.5-.3.8 0 .9-.9 1.5-1.3 1.4-.4-.2-1.4.5-.5 1l.5.2h.1l.2.1c1.6 1 1.3 1.8.6 3-.8 1.3-1.1 0-2.2-.4s-2.2.4-1.9 1.1c.4.8 1.5 0 2.3.8.7.7.7 1.8 2.9 1.1 2.2-.8 2.6-.4 3.3.3.7.8 1.1 2.2-.1 3.4zm5.9-.1c-.9-1.1 0-3.4-1.1-4.7-1.1-1.5-2.6 0-4-2.3-1.4-2.1.4-3.9 2.1-4.5.5-.2 1-.3 1.5-.3.1 0 .2.1.3.2 1.9 1.6 3.2 4.1 3.2 6.9 0 1.7-.5 3.2-1.2 4.6-.2.2-.6.3-.8.1z"}},viewBox:"0 0 24 24"},Ve={custom1:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13 17.8c-.5.6-1.5.6-2.1 0-1.7-1.9-5-5.4-5-5.4-1.5-1.6-1.5-4.1 0-5.7.7-.8 1.7-1.2 2.7-1.2 1 0 2 .4 2.7 1.2l.3.4c.2.2.6.2.8 0l.2-.4h.1c.7-.8 1.7-1.2 2.7-1.2 1 0 2 .4 2.7 1.2 1.5 1.5 1.5 4.1 0 5.7 0 0-3.3 3.5-5.1 5.4z"}},custom10:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.8 18.7c-2.3.9-5.9.7-7.8-1.4-4.7-5.1-.6-12.5 5.1-12.5.9 0 1.8.2 2.7.5.3.2.3.7 0 .9-1.8 1.3-3 3.4-3 5.8s1.2 4.6 3 5.9c.3.2.3.7 0 .8z"}},custom100:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.9 17.3H9.1c-.1 0-.2.1-.2.3.2.9 1.5 1.6 3.1 1.6 1.5 0 2.8-.7 3-1.6.1-.2 0-.3-.1-.3zm2.9-11.1H6.2c-.8 0-1.4.7-1.4 1.5v6.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4V7.7c0-.8-.6-1.5-1.4-1.5zm0 7.7c0 .3-.3.5-.5.5H6.7c-.2 0-.5-.2-.5-.5V8.2c0-.3.3-.5.5-.5h10.6c.2 0 .5.2.5.5v5.7z"}},custom101:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.8 9.3c1 0 1.8.8 1.8 1.8s-.8 1.8-1.8 1.8S9 12.1 9 11.1c0-.5.2-1 .5-1.3.3-.3.8-.5 1.3-.5zm.1 7.5c.1 0 .3-.1.5-.2.4-.3.9-.5 1.4-.7-.2-.3-.3-.6-.4-.9v-.1c-.5.2-1.1.4-1.6.4-2.3 0-4.2-1.9-4.2-4.1-.1-2.3 1.7-4.2 4-4.3 2.2-.1 4.2 1.6 4.3 3.9 1 .1 1.5.5 1.8 1.1v-.8c.1-3.3-2.6-6-5.8-6-3.3-.1-6 2.5-6.1 5.8-.1 3.2 2.4 6 5.7 6.1.1 0 .3-.1.4-.2zm7.2.6c-.6-.3-1.4-.9-2.6-1.1.3-.4.5-.9.8-1.5.1-.4.1-.7.1-1.1 0-.3 0-.9-.1-1.1-.2-1-.9-1.3-1.7-1.3-.8 0-1.5.3-1.8 1.3v1.1c0 .4 0 .7.1 1.1.3.6.5 1.1.8 1.5-1.2.2-2 .8-2.6 1.1-1.1.5-1.1 1-1.1 1v1h9.2v-1s0-.5-1.1-1z"}},custom102:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.5 14.6H5.2c-.1.1-.1.2-.1.2v4.3c0 .1 0 .1.1.2 0 0 .1.1.2.1h2.1c.1 0 .1-.1.2-.1 0-.1.1-.1.1-.2v-4.3s-.1-.1-.1-.2h-.2zm3.9-1.3H9.3c-.2 0-.3.1-.3.2v5.6c0 .1 0 .2.1.2 0 .1.1.1.2.1h2.1s.1 0 .2-.1v-5.8-.2h-.2zm3.8-4.9h-2.1c-.1 0-.1.1-.2.1 0 .1-.1.1-.1.2v10.4c0 .1.1.2.1.2.1.1.1.1.2.1h2.1c.1 0 .2 0 .2-.1.1 0 .1-.1.1-.2V8.7c0-.1 0-.1-.1-.2 0 0-.1-.1-.2-.1zm3.9-3.3H17c-.1 0-.1 0-.2.1-.1 0-.1.1-.1.2v13.7c0 .1 0 .2.1.2.1.1.1.1.2.1h2.1c.1 0 .1 0 .2-.1 0 0 .1-.1.1-.2V5.4c0-.1-.1-.2-.1-.2-.1-.1-.1-.1-.2-.1z"}},custom103:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.3 13.2c-.4-.2-1-.7-1.8-.8.2-.3.3-.7.5-1.1.1-.3.1-.5.1-.8v-.9c-.2-.7-.7-.9-1.2-.9-.6 0-1.1.2-1.3 1v.8c0 .3 0 .5.1.8.2.5.4.8.6 1.1-.4.1-.8.2-1.2.4.4.2.8.4 1.2.7.2.1.4.2.5.2.7.3 1 .7 1.2 1h2.1V14s0-.4-.8-.8zm-10.1.5c.1 0 .3-.1.5-.2.4-.3.8-.5 1.2-.7-.4-.2-.8-.3-1.2-.4.2-.3.4-.7.6-1.1 0-.3.1-.5.1-.8 0-.3 0-.6-.1-.9-.2-.7-.6-.9-1.2-.9-.5 0-1 .2-1.2.9-.1.3 0 .6 0 .9 0 .2 0 .5.1.8.1.4.3.8.5 1.1-.8.1-1.4.6-1.8.8-.8.4-.8.8-.8.8v.7H7c.3-.5.7-.8 1.2-1zm7.4.5c-.6-.3-1.4-1-2.7-1.2.3-.4.6-1 .8-1.6.2-.4.1-.8.1-1.2 0-.4.1-1 0-1.3-.3-1-1-1.3-1.8-1.3-.9 0-1.6.3-1.8 1.3-.1.3-.1.9-.1 1.3s0 .8.2 1.2c.2.7.5 1.2.8 1.6-1.3.2-2.1.9-2.7 1.2-1.2.6-1.2 1.2-1.2 1.2v1h9.6v-1s0-.6-1.2-1.2z"}},custom104:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 4.9h-11c-.4 0-.7.4-.7.8v3.7h12.4V5.7c0-.4-.3-.8-.7-.8zm-6.6 5.2v9h6.6c.4 0 .7-.4.7-.8v-8.2h-7.3zm-5.1 0v8.2c0 .2.1.4.2.5.2.2.4.3.6.3h3.6v-9H5.8z"}},custom105:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.3 6.3H5.7c-.4 0-.8.4-.8.9v.6c0 .1 0 .1.1.2l6.3 5.1c.4.4 1 .4 1.4 0L19 8c.1-.1.1-.1.1-.2v-.6c0-.5-.4-.9-.8-.9zM4.9 9.1c0-.1 0-.2.1-.2h.2l3.1 2.8c.1 0 .1.1.1.1 0 .1 0 .1-.1.2l-3 2.9c-.1 0-.2.1-.3 0-.1 0-.1-.1-.1-.2V9.1zm0 7s0-.1.1-.1l3.8-3.6c.1-.1.2-.1.3 0l1.6 1.4c.7.7 1.8.7 2.6 0l1.6-1.4c.1-.1.2-.1.3 0l3.8 3.5c.1.1.1.1.1.2v.7c0 .2-.1.5-.3.6-.1.2-.3.3-.6.3H5.7c-.4 0-.8-.4-.8-.9v-.7zm14.2-1.4c0 .1 0 .2-.1.2h-.3l-3-2.9c-.1-.1-.1-.1-.1-.2s.1-.1.1-.1l3.1-2.8h.2c.1 0 .1.1.1.2v5.6z"}},custom106:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.9 4.9c-2.8 0-5.1 2.4-5.1 5.2 0 4.3 5.1 9 5.1 9s5.2-4.9 5.2-9c0-2.8-2.3-5.1-5.2-5.2zm0 7.5c-.9 0-1.7-.6-2.1-1.4-.3-.8-.1-1.8.5-2.4.6-.7 1.6-.9 2.4-.5.9.3 1.4 1.1 1.4 2 0 1.3-1 2.3-2.2 2.3z"}},custom107:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.7 12.4h-1.5v6.2c0 .1 0 .2-.1.3 0 0-.1.1-.2 0h-2.8c-.2 0-.3-.1-.3-.3v-4.8h-3.5v4.8c0 .2-.1.3-.2.3H7.2c-.1.1-.2 0-.2 0-.1-.1-.1-.2-.1-.3v-6.2H5.5c-.2 0-.3-.1-.3-.2 0-.2 0-.3.1-.3l6.6-6.6c.1-.2.3-.2.3 0l6.6 6.6c.2 0 .2.2.1.3-.1.1-.1.2-.2.2z"}},custom108:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M11.5 14.5l.1-.7.9-.6-.2-.9h-.1l-1-.1-.4-.6.2-1.1-.7-.5-.1.1-.8.7-.6-.1-.6-1-.9.2v.1l-.1 1.1-.5.4-1.1-.3-.5.8.1.1.6.8v.7l-1 .6.2.9h.1l1 .1.4.5-.2 1.2.8.5.1-.1.7-.7.7.1.6 1 .8-.2v-.2l.1-1 .5-.4 1.2.3.4-.8-.1-.1-.6-.8zm-1.3.1c-.3.5-.6.7-1.1.9-.5.1-.9 0-1.3-.2-.9-.6-1.1-1.7-.6-2.6.2-.4.6-.7 1-.8.5-.1 1 0 1.4.2.8.6 1.1 1.7.6 2.5z"},{d:"M18.2 11.1l.1-.7.9-.6-.2-.9h-.1l-1-.1-.4-.5.2-1.2-.8-.5-.1.1-.7.7-.7-.1-.6-1-.8.2-.1.2v1l-.6.4-1.1-.2-.4.7.1.1.6.8-.1.7-.9.6.2.9h.1l1 .1.4.6-.2 1.1.7.5.1-.1.8-.6.6.1.6.9.9-.2V14l.1-1 .5-.5 1.1.3.5-.8-.1-.1-.6-.8zm-1.4.2c-.2.4-.6.7-1 .8-.5.1-1 0-1.4-.2-.8-.6-1.1-1.7-.6-2.5.3-.4.6-.7 1.1-.9.5-.1.9 0 1.3.3.9.5 1.1 1.6.6 2.5z"}]}},custom109:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.1 11.1l-.3-.5-1 .5c-1.3-2.1-3.6-3.6-6-3.6-3.5 0-6.9 3.3-6.9 6.8v.5h1.7v-.3-.2c0-2.8 2.3-5.1 5.2-5.1 1.9 0 3.6 1 4.5 2.5L13 13.2c-.6-.5-1.4-.6-2.1-.3-.5.2-.8.6-1 1.1-.1.5-.1 1 .2 1.5.5.9 1.6 1.2 2.5.7.7-.3 1.1-1 1.1-1.8l3.1-1.8c.2.5.3 1.1.3 1.7v.5h1.7v-.3-.2c0-.9-.2-1.8-.6-2.6l.9-.6z"}},custom11:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.5 5.1l1.9 4.1 4.3.6c.5.1.7.7.3 1.1L15.9 14l.8 4.5c0 .5-.5.9-.9.6L12 17l-3.8 2.1c-.4.3-1-.1-.9-.6l.8-4.5L5 10.9c-.4-.4-.2-1 .3-1.1l4.3-.6 1.9-4.1c.2-.4.8-.4 1 0z"}},custom110:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.8 4.9H9.2c-.4-.1-.8.1-1 .4-.3.2-.5.6-.5 1v11.4c0 .8.7 1.4 1.5 1.4h5.6c.8 0 1.5-.6 1.5-1.4V6.3c0-.4-.2-.8-.5-1-.2-.3-.6-.5-1-.4zm-3.8.8h2c.1 0 .2 0 .2.1s-.1.1-.2.1h-2c-.1 0-.2 0-.2-.1s.1-.1.2-.1zm1.8 12.4c0 .1-.1.2-.2.2h-1.3c-.1 0-.1-.1-.1-.2v-.6l.1-.1h1.4s.1 0 .1.1v.6zm2.6-1.7v.1H8.7h-.1V6.9v-.2H15.3c.1 0 .1.1.1.2v9.5z"}},custom111:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M12.8 10.8c-.6-.2-1.4-.9-2.6-1.1.3-.3.6-.8.8-1.5.1-.3.1-.6.1-1s.1-.9 0-1.2c-.3-.9-1-1.2-1.7-1.2-.8 0-1.5.3-1.8 1.2-.1.3 0 .8 0 1.2 0 .4 0 .7.1 1 .3.7.5 1.2.8 1.5-1.2.2-2 .9-2.6 1.1-1.1.5-1.1 1.1-1.1 1.1v1.8h5.7c.3-1.2 1.2-2.3 2.3-2.9zM15.1 16.9c-1.1 0-1.9-.8-1.9-1.9 0-1 .8-1.8 1.9-1.8 1 0 1.8.8 1.8 1.8 0 .5-.2 1-.5 1.4-.4.3-.8.5-1.3.5zm4.1-1.4v-.9l-.1-.1-1-.3-.3-.6.5-1.1-.7-.7-.1.1-.9.5-.7-.3-.4-1.1h-.9v.1l-.4 1-.6.2-1.1-.5-.7.7.1.1.5 1-.3.6-1.1.4v.9l.1.1 1 .3.3.6-.6 1.2.7.6h.1l1-.5.6.2.4 1.2h.9l.1-.2.3-1 .7-.2 1 .5.7-.7-.1-.1-.4-.9.2-.7 1.2-.4z"}}},custom112:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.3 12c-2.1-.4-4.2-.4-6.2 0-.7.3-1.2.9-1.2 1.6v1.3c0 .7.5 1.3 1.2 1.5.2.1.4.1.6.1l1.6 2.3c.3.4.5.4.5-.1v-1.9c1.2 0 2.3-.1 3.5-.4.7-.2 1.1-.8 1.2-1.5v-1.3c-.1-.7-.5-1.3-1.2-1.6zm5.6-6.6c-2.7-.7-5.6-.7-8.4 0-.7.2-1.2.9-1.2 1.6v2.2c0 .7.5 1.4 1.2 1.6 1.5.4 3.1.5 4.7.5v2.6c0 .5.2.6.5.2l2.2-3.1c.3 0 .7-.1 1-.2.7-.2 1.2-.9 1.2-1.6V7c0-.7-.5-1.4-1.2-1.6z"}},custom113:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M6.5 14.2h11c.1 0 .1-.1.1-.2V6.4c0-.1-.1-.2-.2-.2H6.7c-.2 0-.4.1-.4.2V14c0 .1.1.2.2.2zm1-6.7c0-.1 0-.2.1-.2h8.8c.1 0 .1.1.1.2v5.4c0 .1 0 .2-.1.2H7.6c-.1 0-.2-.1-.2-.2V7.5h.1zM19.1 17.6l-1.4-2.8c-.1-.1-.1-.1-.2-.1h-11c-.1 0-.1 0-.2.1l-1.4 2.8v.3c.1.1.2.1.3.1h13.6c.1 0 .2 0 .3-.1v-.3zm-5.7-.2h-2.9v-.1l.4-.8.1-.1h2l.1.1.4.8s0 .1-.1.1z"}}},custom12:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"12",cy:"12",r:"7.2"}},custom13:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 5.3H6.2c-.8 0-1.4.6-1.4 1.4v1.5c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4V6.7c0-.8-.6-1.4-1.4-1.4zm0 4.8H6.2c-.2 0-.4.2-.4.5v6.7c0 .8.6 1.4 1.4 1.4h9.6c.8 0 1.4-.6 1.4-1.4v-6.7c0-.3-.2-.5-.4-.5zm-3.2 2.1c0 .4-.3.8-.7.8h-3.8c-.4 0-.7-.4-.7-.8 0-.3.3-.7.7-.7h3.8c.4 0 .7.3.7.7z"}},custom14:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.7 7.9h-1.4c-.3 0-.6-.1-.9-.3l-1.1-1c-.3-.2-.6-.4-.9-.4h-2.8c-.4 0-.7.2-1 .4L9.1 7.9c-.1.1-.1.3 0 .4l.5.4c.3.3.7.3 1 .1l1.3-.8c.2-.1.4-.1.6.1l4.1 4c.1.1.2.2.2.4v1.1c0 .2.2.6.5.6h1.4c.3 0 .5-.3.5-.5V8.4c0-.3-.2-.5-.5-.5zm-4.1 4.3L12 9.7l-.7.5c-.3.2-.7.3-1.1.3-.6 0-1.1-.2-1.5-.5l-.9-.8c-.2-.2-.4-.4-.4-.6 0-.3-.2-.4-.5-.4H5.3c-.3 0-.5.1-.5.4V13c0 .2.2.4.5.4h.9c.1 0 .2-.2.3-.3.4-.5.9-.8 1.5-.9.5 0 1.1.2 1.6.6l3 2.7c.2.3.4.5.5.9.1.1.3.2.4.1l1.1-1.2c.6-.5 1-1.9.5-2.5l-.5-.6zm-6 1.8c-.3-.3-.8-.2-1 .1-.3.3-.2.8.1 1.1l3 2.7c.1.2.3.2.5.2s.4-.1.5-.3c.3-.3.2-.8-.1-1.1l-3-2.7z"}},custom15:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.8 11.1c-.8-.4-1-.7-1-1 0-.4.3-.7.6-1 .5-.4.7-1.1.7-1.8 0-1.3-.8-2.5-2.3-2.5-1.3 0-2.1.9-2.3 2 0 .1 0 .2.1.2 1.1.8 1.7 2.1 1.7 3.6 0 1.1-.3 2.1-1 2.8-.1.2-.1.4.1.4.4.2.9.4 1.4.7.1.1.3.1.4.1H18c.7 0 1.2-.5 1.2-1.1v-.2c0-1.1-1.2-1.7-2.4-2.2zM12.5 15c-1-.4-1.1-.8-1.1-1.2 0-.4.2-.8.6-1.1.6-.5.9-1.2.9-2.1 0-1.6-1-2.9-2.8-2.9S7.3 9 7.3 10.6c0 .9.3 1.6.9 2.1.4.3.7.7.7 1.1 0 .4-.2.8-1.2 1.2-1.5.6-2.9 1.3-2.9 2.6v.2c0 .8.7 1.4 1.5 1.4h7.6c.8 0 1.5-.6 1.5-1.4v-.2c0-1.3-1.4-2-2.9-2.6z"}},custom16:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.3 16.8H17v-5.3c0-.2-.2-.5-.4-.5h-.5c-.3 0-.5.3-.5.5v5.3h-1.4v-5.3c0-.2-.3-.5-.5-.5h-.5c-.3 0-.5.3-.5.5v5.3h-1.4v-5.3c0-.2-.2-.5-.5-.5h-.5c-.2 0-.5.3-.5.5v5.3H8.4v-5.3c0-.2-.2-.5-.5-.5h-.5c-.2 0-.4.3-.4.5v5.3h-.3c-.8 0-1.4.6-1.4 1.4v.5c0 .3.2.5.5.5h12.4c.3 0 .5-.2.5-.5v-.5c0-.8-.6-1.4-1.4-1.4zm1.2-8.5L12.6 5c-.2-.1-.4-.2-.6-.2-.2 0-.4.1-.6.2L5.5 8.3c-.1.1-.2.2-.2.4v.4c0 .3.2.5.5.5h12.4c.3 0 .5-.2.5-.5v-.4c0-.2-.1-.3-.2-.4zm-6.5.3c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.6 1.2 1.2-.5 1.2-1.2 1.2z"}},custom17:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.3 6.9c.1.2.3.3.5.3h2.4c.2 0 .4-.1.4-.3l1-1.7c.1-.2-.1-.4-.2-.4H9.6c-.1 0-.3.2-.2.4l.9 1.7zm3.1 1.7h-2.8c-2.4 0-4.4 2-4.4 4.4v4.8c0 .8.7 1.4 1.5 1.4h8.6c.8 0 1.5-.6 1.5-1.4V13c0-2.4-2-4.4-4.4-4.4zm-.7 8.1v.8c0 .2-.1.3-.3.3h-.9c-.2 0-.2-.1-.2-.3v-.8c-.7-.1-1.3-.4-1.5-.6-.2-.1-.2-.3-.1-.5l.3-.5c.1-.1.2-.2.4-.2.1 0 .1 0 .2.1.5.3.9.4 1.3.4.3 0 .6-.2.6-.4 0-.1-.1-.3-1.1-.6-.8-.3-1.8-.8-1.8-1.9 0-.7.5-1.5 1.7-1.7v-.7c0-.2 0-.3.1-.3h1c.2 0 .3.1.3.3v.7c.5.1 1 .4 1.2.5.1 0 .1.1.1.3s0 .2-.1.3l-.3.4c-.1.1-.3.2-.4.2H13c-.5-.3-.9-.4-1.2-.4-.4 0-.6.2-.6.3 0 .2.1.3.9.6 1.1.4 2.2.9 2.2 2 0 .8-.6 1.5-1.6 1.7z"}},custom18:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.4 8.6h2.5c.2 0 .4-.1.4-.3 0-.1 0-.2-.1-.2L14 4.9c-.1-.1-.1-.1-.2-.1-.2 0-.4.1-.4.3v2.6c0 .5.5.9 1 .9zm5.6 3.3l-.3-.3c-.2-.2-.5-.2-.6 0l-3.7 3.7c-.1.1 0 .1 0 .1v.9h.9l3.7-3.7c.2-.2.2-.5 0-.7zm-3 5.9h-2.2c-.5 0-.9-.4-.9-1v-1.6c0-.3.1-.5.3-.7l2.9-3c.1-.1.2-.2.2-.3v-.6c0-.3-.2-.5-.5-.5h-3.4c-.8 0-1.4-.7-1.4-1.5V5.3c0-.3-.2-.5-.5-.5H6.7c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.1c.7 0 1.3-.5 1.5-1.2 0-.1-.1-.2-.3-.2zM7.2 9.1c0-.2.2-.5.5-.5h1.9c.3 0 .5.3.5.5v.5c0 .3-.2.5-.5.5H7.7c-.3 0-.5-.2-.5-.5v-.5zm4.8 6.3c0 .2-.2.4-.5.4H7.7c-.3 0-.5-.2-.5-.4v-.5c0-.3.2-.5.5-.5h3.8c.3 0 .5.2.5.5v.5zm1-2.9c0 .2-.3.5-.5.5H7.7c-.3 0-.5-.3-.5-.5V12c0-.3.2-.5.5-.5h4.8c.2 0 .5.2.5.5v.5z"}},custom19:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19 7.9c0-.2-.3-.2-.4-.1l-2.4 2.4c-.2.2-.5.2-.7 0l-1.7-1.7c-.2-.2-.2-.5 0-.7l2.4-2.4c.2-.1.1-.4 0-.4-.5-.1-.9-.2-1.3-.2-2.6 0-4.6 2.2-4.3 4.8 0 .4.1.8.3 1.1l-5.6 5.6c-.7.7-.7 1.8 0 2.4.3.4.7.5 1.2.5s.8-.1 1.2-.5l5.6-5.6c.3.2.7.3 1.1.3 2.6.3 4.8-1.7 4.8-4.3 0-.4-.1-.8-.2-1.2z"}},custom2:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M14.2 5.3c-.8-.5-3.4-1-4.4.7-.4.8.1 2.2.6 3.1.1.2.3.3.6.2.3-.1.6-.2 1-.2.2 0 .5 0 .7.1.2.1.5 0 .5-.2.2-.3.5-.7 1-1.1 1.2-.9.7-2.1 0-2.6zm-1.3 9.4c-.3.1-.6.2-.9.2-.3 0-.6-.1-.8-.1-.3-.1-.5 0-.6.2-.2.3-.4.7-.9 1.1-1.2.9-.7 2.2 0 2.6s3.3 1 4.3-.7c.4-.7-.1-2.1-.5-3-.1-.2-.4-.3-.6-.3zM18 9.8c-.8-.4-2.2.1-3.1.6-.2.1-.3.3-.2.6.1.3.2.6.2 1 0 .2 0 .5-.1.7-.1.2 0 .5.2.5.3.2.7.5 1.1 1 .9 1.2 2.1.7 2.6 0s1-3.4-.7-4.4zm-8.7 3.1c-.1-.3-.2-.6-.2-.9 0-.3.1-.6.1-.8.1-.3 0-.5-.2-.6-.3-.2-.7-.4-1.1-.9-.9-1.2-2.2-.7-2.6 0S4.3 13 6 14c.7.4 2.1-.1 3-.5.2-.1.3-.4.3-.6z"},circle:{cx:"12",cy:"12",r:"1.44"}}},custom20:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.1 11.4c0-.1-.2-.3-.4-.1l-3.3 2.5c-.4.3-.6.7-.6 1.2v1c0 .2.2.3.3.2l3.7-1.4c.2-.1.3-.2.3-.4v-3zm5.3 6.8l-1-.7V6.6c0-.6-.7-1.3-1.1-1.7-.2-.1-.4-.1-.6 0-.4.4-1.2 1.1-1.2 1.7v10.9l-1.1.7c-.2.2-.3.4-.3.6v.2c0 .1.1.2.2.2h5.3c.1 0 .3-.1.3-.2 0-.4-.2-.6-.5-.8zm4.2-4.4l-3.3-2.5c-.2-.2-.4 0-.4.1v3c0 .2.1.4.3.4l3.7 1.4c.2.1.3 0 .3-.2v-1c0-.5-.2-.9-.6-1.2z"}},custom21:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.8 17.1c0-.2-.2-.3-.4-.3h-2.8c-.2 0-.4.1-.4.3l-.7 1.7c0 .2.1.4.2.4h4.6c.1 0 .2-.2.2-.4l-.7-1.7zm4-12.3H6.2c-.8 0-1.4.6-1.4 1.4v7.7c0 .8.6 1.5 1.4 1.5h11.6c.8 0 1.4-.7 1.4-1.5V6.2c0-.8-.6-1.4-1.4-1.4zM12 14.9c-.4 0-.7-.3-.7-.7s.3-.8.7-.8.7.4.7.8-.3.7-.7.7zm5.8-2.4c0 .2-.3.5-.5.5H6.7c-.2 0-.5-.3-.5-.5V6.7c0-.2.3-.5.5-.5h10.6c.2 0 .5.3.5.5v5.8z"}},custom22:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.6 15.3l-1.4-1.2c-.5-.4-1.3-.4-1.8 0l-1.4 1c-.2.2-.5.1-.6 0L11 13l-2.1-2.4c-.2-.2-.2-.4 0-.6l1-1.4c.4-.6.3-1.3-.1-1.8L8.6 5.3c-.5-.6-1.5-.7-2.1-.1L5.2 6.5c-.3.3-.4.7-.4 1.1.1 3 1.5 5.9 3.6 8s4.9 3.4 8 3.6c.4 0 .8-.2 1-.5l1.3-1.3c.7-.5.6-1.5-.1-2.1z"}},custom23:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.7 13.4c.2.2.4.2.6 0l6.8-6.2c.1-.3.1-.7-.4-.7l-13.4.1c-.4 0-.6.3-.4.6l6.8 6.2zm7.5-3.6c0-.3-.4-.4-.6-.2l-5.3 4.9c-.3.3-.8.5-1.3.5s-.9-.2-1.3-.5L5.4 9.6c-.2-.2-.6-.1-.6.2v6.3c0 .8.7 1.4 1.5 1.4h11.5c.8 0 1.4-.6 1.4-1.4V9.8z"}},custom24:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.3 4.8H7.7c-.8 0-1.5.6-1.5 1.4 0 .3.3.5.5.5h10.6c.2 0 .5-.2.5-.5 0-.8-.7-1.4-1.5-1.4zm0 3.4H7.7c-.3 0-.5.2-.5.4v10.1c0 .3.2.5.5.5h2.6c.3 0 .5-.2.5-.5v-1.9c0-.3.2-.5.5-.5h1.4c.3 0 .5.2.5.5v1.9c0 .3.2.5.5.5h2.6c.3 0 .5-.2.5-.5V8.6c0-.2-.2-.4-.5-.4zm-5 6.4c0 .3-.2.5-.5.5h-1c-.2 0-.4-.2-.4-.5v-.9c0-.3.2-.5.4-.5h1c.3 0 .5.2.5.5v.9zm0-3.3c0 .2-.2.5-.5.5h-1c-.2 0-.4-.3-.4-.5v-1c0-.2.2-.5.4-.5h1c.3 0 .5.3.5.5v1zm3.3 3.3c0 .3-.2.5-.4.5h-1c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h1c.2 0 .4.2.4.5v.9zm0-3.3c0 .2-.2.5-.4.5h-1c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5h1c.2 0 .4.3.4.5v1z"}},custom25:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 6.6c-.2-.9-1-1.7-1.9-1.8-.6-.1-1.2.1-1.7.5-.1.1-.1.3.1.4 1.1.6 2 1.4 2.7 2.4.1.2.3.2.4 0 .4-.4.5-1 .4-1.5zM8.3 5.7c.1-.1.2-.3.1-.4-.5-.4-1.1-.6-1.8-.5-.9.1-1.6.9-1.8 1.8-.1.5 0 1.1.3 1.5.1.2.3.2.4 0 .8-1 1.7-1.8 2.8-2.4zm3.7.5c-3.6 0-6.5 2.9-6.5 6.5 0 1.5.5 2.8 1.3 3.9l-1 .9c-.4.4-.4 1 0 1.4.2.2.4.3.7.3s.5-.1.7-.3l.9-1c1.1.8 2.5 1.3 3.9 1.3s2.8-.5 3.8-1.3l1 1c.2.2.5.3.7.3s.5-.1.7-.3c.4-.4.4-1 0-1.4l-1-.9c.8-1.1 1.3-2.4 1.3-3.9 0-3.6-2.9-6.5-6.5-6.5zm-4.6 6.5c0-2.5 2.1-4.5 4.6-4.5s4.6 2 4.6 4.5-2.1 4.6-4.6 4.6-4.6-2.1-4.6-4.6zm5.3-.3v-1.8c0-.4-.3-.8-.7-.8s-.7.4-.7.8v2.1c0 .2.1.4.2.5l1.7 1.7c.1.1.3.2.5.2s.3-.1.5-.2c.3-.3.3-.7 0-1l-1.5-1.5z"}},custom26:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.2 4.8c-.8 0-1.4.6-1.4 1.4 0 .5.2.9.5 1.1v10.9c0 .6.4 1 .9 1s1-.4 1-1V7.3c.3-.2.5-.6.5-1.1 0-.8-.7-1.4-1.5-1.4zm12.6 2.6c-3.7 2-6.3-1.4-9.8-.1-.2 0-.4.2-.4.4v6.2c0 .3.4.6.7.5 3.4-1.1 5.9 2.2 9.7.1.1-.1.2-.2.2-.4V7.6c0-.2-.2-.3-.4-.2z"}},custom27:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.8 15.1h12.4c.3 0 .5-.2.5-.5V7c0-.8-.6-1.5-1.4-1.5H6.7c-.8 0-1.4.7-1.4 1.5v7.6c0 .3.2.5.5.5zm.9-7.7c0-.2.2-.4.5-.4h9.6c.3 0 .5.2.5.4v5.8c0 .3-.2.5-.5.5H7.2c-.3 0-.5-.2-.5-.5V7.4zm12.5 9.2h-5.3c-.2 0-.5.2-.5.4s-.2.5-.4.5h-2c-.2 0-.4-.2-.4-.5s-.3-.4-.5-.4H4.8c-.3 0-.5.2-.5.4 0 .8.7 1.5 1.5 1.5h12.4c.8 0 1.5-.7 1.5-1.5 0-.2-.2-.4-.5-.4z"}},custom28:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.4 4.8H8.6c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h6.8c.8 0 1.4-.6 1.4-1.4V6.2c0-.8-.6-1.4-1.4-1.4zM12 18.7c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.7.3.7.7-.3.7-.7.7zm3.4-2.4c0 .3-.3.5-.5.5H9.1c-.2 0-.5-.2-.5-.5V7.2c0-.3.3-.5.5-.5h5.8c.2 0 .5.2.5.5v9.1z"}},custom29:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.7 6.7h-.4c-.3 0-.5.3-.5.5v9.7l.6.8c.1.1.1.1.2 0l.6-.8V7.2c0-.2-.2-.5-.5-.5zm-3.8-1.9H7.2c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h6.7c.8 0 1.5-.6 1.5-1.4V6.2c0-.8-.7-1.4-1.5-1.4zm-3.3 13.9c-.4 0-.8-.3-.8-.7s.4-.7.8-.7.7.3.7.7-.3.7-.7.7zm3.3-2.4c0 .3-.2.5-.5.5H7.7c-.3 0-.5-.2-.5-.5V7.2c0-.3.2-.5.5-.5h5.7c.3 0 .5.2.5.5v9.1z"}},custom3:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 9.1c-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.9zm7.2 2.9c0-.8-2-1.3-2.3-2-.3-.8.8-2.5.2-3.1-.6-.6-2.3.5-3.1.2-.7-.3-1.2-2.3-2-2.3s-1.3 2-2 2.3c-.8.3-2.5-.8-3.1-.2-.6.6.5 2.3.2 3.1-.3.7-2.3 1.2-2.3 2s2 1.3 2.3 2c.3.8-.8 2.5-.2 3.1.6.6 2.3-.5 3.1-.2.7.3 1.2 2.3 2 2.3s1.3-2 2-2.3c.8-.3 2.5.8 3.1.2.6-.6-.5-2.3-.2-3.1.3-.7 2.3-1.2 2.3-2zM12 16.3c-2.4 0-4.3-1.9-4.3-4.3S9.6 7.7 12 7.7s4.3 1.9 4.3 4.3-1.9 4.3-4.3 4.3z"}},custom30:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.2 6.8c-1.4-1.3-3.1-2-5-2-.4 0-.7.3-.7.7s.3.7.7.7c1.5 0 2.9.6 4 1.6 1 1.1 1.6 2.5 1.6 4 0 .4.3.7.7.7s.7-.3.7-.7c0-1.9-.7-3.6-2-5zm-5 .9c-.4 0-.7.3-.7.7s.3.7.7.7c.7 0 1.4.3 1.9.8s.8 1.1.8 1.9c0 .4.3.7.7.7s.7-.3.7-.7c0-1.1-.4-2.2-1.2-2.9s-1.8-1.2-2.9-1.2zm-1 6.9l.6-1.7c.5.2.9.1 1.3-.3.5-.5.5-1.2 0-1.7s-1.2-.5-1.7 0c-.4.4-.4.9-.2 1.4l-1.6.7-2.8-2.8c-.2-.2-.5-.2-.7 0-1.8 2.1-1.7 5.4.4 7.4 2 2 5.2 2.1 7.3.3.3-.1.3-.5.1-.7l-2.7-2.6z"}},custom31:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.1 10.4l-1.2-3.7c-.2-.7-.8-1.2-1.5-1.2H8.6c-.7 0-1.3.5-1.6 1.2l-1.1 3.7c-.6.1-1.1.7-1.1 1.4v2.8c0 .7.4 1.2 1 1.4v2c0 .3.2.5.4.5h2c.2 0 .4-.2.4-.5v-1.9h6.8V18c0 .3.2.5.4.5h2c.2 0 .4-.2.4-.5v-2c.6-.2 1-.7 1-1.4v-2.8c0-.7-.5-1.3-1.1-1.4zm-10.9 4c-.7 0-1.2-.5-1.2-1.2S6.5 12 7.2 12s1.2.5 1.2 1.2-.5 1.2-1.2 1.2zm5.3-4.1H7.7c-.1 0-.3-.1-.2-.3l.9-2.9c0-.1.1-.1.2-.1h6.7c.1 0 .2 0 .3.1l.9 2.9c0 .2-.1.3-.3.3h-3.7zm4.1 4.1c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.6 1.2-1.2 1.2z"}},custom32:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.8 8.5l-5.6 3.2c-.1 0-.2.1-.3.1-.3 0-.6-.2-.7-.4-.2-.4 0-.8.4-1l1.8-1.1V7.5c0-.2-.2-.3-.3-.2l-6.9 3.9c-.1.1-.2.1-.3.1-.3 0-.5-.1-.7-.4-.2-.3 0-.8.3-1l1.2-.6v-4c0-.3-.2-.5-.5-.5H5.3c-.3 0-.5.2-.5.5v12.5c0 .8.6 1.4 1.4 1.4h4.1c.3 0 .5-.2.5-.5V17c0-.2.2-.4.5-.4h1.4c.3 0 .5.2.5.4v1.7c0 .3.2.5.5.5h4.1c.8 0 1.4-.6 1.4-1.4V8.7c0-.2-.2-.3-.4-.2zM8.4 15.1c0 .3-.2.5-.5.5h-.5c-.2 0-.4-.2-.4-.5v-1.4c0-.3.2-.5.4-.5h.5c.3 0 .5.2.5.5v1.4zm2.9 0c0 .3-.2.5-.5.5h-.5c-.2 0-.5-.2-.5-.5v-1.4c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v1.4zm2.9 0c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-1.4c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v1.4zm2.8 0c0 .3-.2.5-.4.5h-.5c-.3 0-.5-.2-.5-.5v-1.4c0-.3.2-.5.5-.5h.5c.2 0 .4.2.4.5v1.4z"}},custom33:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.6 10.1h-7c-.2 0-.4.2-.4.5v1.9c0 .2.2.5.4.5h7c.3 0 .5-.3.5-.5v-1.9c0-.3-.2-.5-.5-.5zm-3.4 2.1c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.8.3.8.7-.4.7-.8.7zm7-5.5H4.8c-.3 0-.5.2-.5.5v.5c0 .5.5.9 1 .9v8.7c0 .2.2.5.5.5h.4c.3 0 .5-.3.5-.5V8.6h10.8v8.7c0 .2.2.5.5.5h.5c.2 0 .5-.3.5-.5V8.6h-.3c.5 0 1-.4 1-.9v-.5c0-.3-.2-.5-.5-.5z"}},custom34:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.1 7.2h3.8c.3 0 .5-.3.5-.5-.3-1.1-1.2-1.9-2.4-1.9s-2.1.8-2.4 1.9c0 .2.2.5.5.5zm8.4 6.2c.4 0 .7-.3.7-.7 0-.4-.4-.7-.8-.7h-2.1v-1.2c1.4-.6 2.4-2 2.4-3.8 0-.4-.2-.7-.6-.8-.4 0-.8.3-.8.8 0 1-.5 1.9-1.2 2.3-.3-.4-.7-.7-1.2-.7H9.1c-.5 0-.9.3-1.2.7C7.2 8.9 6.7 8 6.7 7c0-.4-.3-.7-.7-.8-.4 0-.7.4-.7.8 0 1.7 1 3.2 2.4 3.8V12H5.6c-.4 0-.8.3-.8.7 0 .4.3.7.7.7h2.2v1.2c-1.4.6-2.4 2.1-2.4 3.9 0 .3.2.6.6.7.4.1.8-.3.8-.7 0-1 .5-1.9 1.2-2.3.4 1.3 1.4 2.4 2.8 2.8.3.1.6-.2.6-.5v-5.7c0-.4.3-.8.7-.8.4 0 .7.3.7.7v5.8c0 .4.3.6.6.5 1.4-.4 2.4-1.5 2.8-2.8.7.4 1.2 1.2 1.2 2.2 0 .4.3.8.7.8.4 0 .7-.3.7-.7 0-1.8-1-3.3-2.4-3.9v-1.2h2.2z"}},custom35:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.6 9.6c-.4 0-.8.3-.8.7v1.2c0 2.1-1.7 3.9-3.8 3.9s-3.8-1.8-3.8-3.9v-1.2c0-.4-.4-.7-.8-.7s-.7.3-.7.7v1.2c0 2.7 2 4.9 4.6 5.3v1h-1.2c-.4 0-.7.3-.7.7s.3.7.7.7h3.8c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1.2v-1c2.6-.4 4.6-2.6 4.6-5.3v-1.2c0-.4-.3-.7-.7-.7zM12 13.9c1.3 0 2.4-1.1 2.4-2.4V7.2c0-1.3-1.1-2.4-2.4-2.4-1.3 0-2.4 1.1-2.4 2.4v4.3c0 1.3 1.1 2.4 2.4 2.4z"}},custom36:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.3 17.3h-1c-.2 0-.3.1-.4.2l-.3.6c-.2.3-.2.8.2 1 .1.1.2.1.4.1s.4-.1.6-.4l.7-1.2c.1-.1 0-.3-.2-.3zm6.8.2c-.1-.1-.2-.2-.4-.2h-1c-.2 0-.3.2-.2.3l.7 1.2c.2.3.4.4.6.4.2 0 .3 0 .4-.1.4-.2.4-.7.2-1l-.3-.6zm0-12.7H7.9c-.8 0-1.4.6-1.4 1.4v8.2c0 .8.6 1.4 1.4 1.4h8.2c.8 0 1.4-.6 1.4-1.4V6.2c0-.8-.6-1.4-1.4-1.4zM8.6 14.9c-.4 0-.7-.3-.7-.7s.3-.8.7-.8.8.4.8.8-.4.7-.8.7zm6.8 0c-.4 0-.8-.3-.8-.7s.4-.8.8-.8.7.4.7.8-.3.7-.7.7zm.7-2.9c0 .3-.2.5-.5.5H8.4c-.3 0-.5-.2-.5-.5V7.2c0-.3.2-.5.5-.5h7.2c.3 0 .5.2.5.5V12z"}},custom37:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 13.4h-3.1v-2.8c.6.6 1.5.9 2.4.9.4 0 .7-.3.7-.7s-.3-.7-.7-.7c-1.3 0-2.4-1.2-2.4-2.7v-.7c.2 0 .5-.2.5-.5v-.4c0-.3-.3-.5-.5-.5h-1.5c-.2 0-.4.2-.4.5v.4c0 .3.2.5.4.5v.7c0 1.5-1.1 2.7-2.6 2.7S9.4 8.9 9.4 7.4v-.7c.2 0 .4-.2.4-.5v-.4c0-.3-.2-.5-.4-.5H7.9c-.2 0-.5.2-.5.5v.4c0 .3.3.5.5.5v.7c0 1.5-1.1 2.7-2.4 2.7-.4 0-.7.3-.7.7s.3.7.7.7c.9 0 1.8-.3 2.4-.9v2.8H4.8c-.3 0-.5.3-.5.5v1.2c0 .2.2.5.5.5h1v2.6c0 .3.2.5.4.5h1.5c.2 0 .5-.2.5-.5v-1c0-.8.6-1.4 1.4-1.4h4.8c.8 0 1.4.6 1.4 1.4v1c0 .3.3.5.5.5h1.5c.2 0 .4-.2.4-.5v-2.6h1c.3 0 .5-.3.5-.5v-1.2c0-.2-.2-.5-.5-.5zm-9.8-2.9c.7.6 1.6 1 2.6 1s1.9-.3 2.6-1v2.9H9.4v-2.9z"}},custom38:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 10.8c-1.1 0-1.9.9-1.9 1.9s.8 1.9 1.9 1.9 1.9-.8 1.9-1.9-.8-1.9-1.9-1.9zm5.8-2.4h-2c-.2 0-.3-.1-.4-.3l-.6-1.3c-.3-.5-.8-.8-1.3-.8h-3c-.5 0-1 .3-1.3.8l-.6 1.3c-.1.2-.2.3-.4.3h-2c-.8 0-1.4.6-1.4 1.4v6.8c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4V9.8c0-.8-.6-1.4-1.4-1.4zM12 16.1c-1.8 0-3.4-1.5-3.4-3.3s1.6-3.4 3.4-3.4 3.4 1.5 3.4 3.4-1.6 3.3-3.4 3.3z"}},custom39:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.3 6.9c-.1-.2-.3-.3-.5-.3L5.1 9.7c-.2.1-.3.4-.3.6l.4 1.5c.1.2.3.4.6.3l2.4-.3c.1.3.2.5.4.8l-2.1 5.6c-.2.4 0 .8.4 1h.3c.2 0 .5-.2.6-.5l2-5.4c.2.1.3.1.5.1s.3 0 .5-.1l1.9 5.4c.1.3.4.5.7.5h.3c.3-.2.5-.6.4-1L12 12.5c.3-.3.4-.8.4-1.3l3.4-.5c.2 0 .4-.2.3-.4l-.8-3.4zm3.9 3.3l-1.3-4.8c-.1-.4-.5-.7-.9-.6-.4.1-.7.5-.6.9l1.4 4.9c.1.4.5.6.8.5.4-.1.7-.5.6-.9z"}},custom4:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.3 7.8l5-2.8c.4-.3 1-.3 1.5 0l4.9 2.8c.5.3.8.8.8 1.3v5.8c0 .5-.3 1-.8 1.3L12.8 19c-.5.3-1.1.3-1.5 0l-5-2.8c-.5-.3-.8-.8-.8-1.3V9.1c0-.5.3-1 .8-1.3z"}},custom40:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 6.7H6.2c-.8 0-1.4.7-1.4 1.5v8.1c0 .8.6 1.5 1.4 1.5h11.6c.8 0 1.4-.7 1.4-1.5V8.2c0-.8-.6-1.5-1.4-1.5zm0 1.5v1.4H6.2V8.2h11.6zM6.2 16.3V12h11.6v4.3H6.2zm4.1-3.1c-.3 0-.6.2-.7.4-.1.1-.1.1-.2 0-.1-.2-.4-.4-.8-.4-.5 0-.9.4-.9 1s.4.9.9.9c.4 0 .7-.1.8-.4.1-.1.1-.1.2 0 .1.3.4.4.7.4h.1c.5 0 .9-.4.9-.9v-.1c0-.5-.4-.9-1-.9zm5.5.2H13c-.3 0-.5.3-.5.5v.5c0 .3.2.5.5.5h2.8c.3 0 .5-.2.5-.5v-.5c0-.2-.2-.5-.5-.5z"}},custom41:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M18.2 7H5.8c-.8 0-1.5.6-1.5 1.4v7c0 .8.7 1.4 1.5 1.4h12.4c.8 0 1.5-.6 1.5-1.4v-7c0-.8-.7-1.4-1.5-1.4zM7.4 15.4c0-1-.7-1.7-1.6-1.7v-3.6c.9 0 1.6-.8 1.6-1.7h9.2c0 .9.7 1.7 1.6 1.7v3.6c-.9 0-1.6.7-1.6 1.7H7.4z"},circle:{cx:"12",cy:"11.76",r:"2.4"}}},custom42:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 5.3H6.2c-.8 0-1.4.6-1.4 1.4v1.5c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4V6.7c0-.8-.6-1.4-1.4-1.4zm0 4.8H6.2c-.2 0-.4.2-.4.5v6.7c0 .8.6 1.4 1.4 1.4h9.6c.8 0 1.4-.6 1.4-1.4v-6.7c0-.3-.2-.5-.4-.5zm-3.2 2.1c0 .4-.3.8-.7.8h-3.8c-.4 0-.7-.4-.7-.8 0-.3.3-.7.7-.7h3.8c.4 0 .7.3.7.7z"}},custom43:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.6 10.4c0-.1.1-.1.1-.2v-.3l-.1-.1v-.1s-.1 0-.1-.1l-2.8-4c-.2-.2-.4-.3-.6-.3H7.4c-.2 0-.4.1-.6.3L4 9.7h-.1v.1c0 .1-.1.1-.1.1v.3c0 .1.1.1.1.2v.1H4v.1l7.2 7.9.1.1h.1v.1h.6v-.1h.1v-.1h.1l7.2-7.9v-.1l.2-.1zm-7.8-1h-1.2l1.2-2 1.1 2h-1.1zm0 1.4h1.4l-1.4 4.7-1.5-4.7h1.5zM13 6.7h1.8l-.7 1.9L13 6.7zM9.4 8.6l-.7-1.9h1.8L9.4 8.6zm-.6 2.2l1.4 4.3-4-4.3h2.6zm5.9 0h2.6l-3.9 4.3 1.3-4.3zm2.9-1.4h-2.2l.7-2.1 1.5 2.1zM7.4 7.3l.7 2.1H6l1.4-2.1z"}},custom44:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.7 6.9c-1.2-1.5-2.3-2.1-4.5-2.1-.9 0-2.1.4-2.6.5 0-.3-.2-.5-.5-.5h-.9c-.3 0-.5.2-.5.5v1.9c0 .3.2.5.5.5h.9c.3 0 .5-.2.5-.5h.5c.4 0 .7.3.7.7 0 .4.3.7.7.7v3.9c-.5 0-.9.4-.9.9v4.4c0 .8.6 1.4 1.4 1.4h.5c.8 0 1.4-.6 1.4-1.4v-4.4c0-.5-.4-.9-.9-.9V8.6c.4 0 .7-.5.7-.9s.3-.7.6-.7c1 0 1.5.3 1.8.6.1.1.4.1.5 0 .2-.2.3-.4.1-.7z"}},custom45:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.9 10.3h8.2v3.4H7.9zm11.8-.4V8.6c0-.8-.7-1.4-1.5-1.4H5.8c-.8 0-1.5.6-1.5 1.4v1.3c0 .2.1.3.3.4.5.4.9 1 .9 1.7s-.4 1.3-.9 1.6c-.2.1-.3.3-.3.4v1.4c0 .8.7 1.4 1.5 1.4h12.4c.8 0 1.5-.6 1.5-1.4v-1.3c0-.2-.1-.3-.3-.4-.5-.4-.9-1-.9-1.7s.4-1.3.9-1.6c.2-.2.3-.3.3-.5zM17 15.1H7c-.3 0-.5-.2-.5-.5V9.4c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v5.2c0 .3-.2.5-.5.5z"}},custom46:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.6 8.9H9.4c-.3 0-.5.2-.5.5v5.2c0 .3.2.5.5.5h5.2c.3 0 .5-.2.5-.5V9.4c0-.3-.2-.5-.5-.5zm4.2-2.4c.3 0 .4-.2.4-.4v-.8c0-.3-.2-.5-.5-.5h-.8c-.2 0-.4.1-.4.4-.2.4-.6.8-1.2.8s-1-.4-1.1-.8c-.1-.3-.3-.4-.5-.4h-1.1c-.2 0-.4.1-.4.4-.2.4-.6.8-1.2.8s-1-.4-1.2-.8c0-.3-.2-.4-.4-.4H9.3c-.2 0-.4.1-.5.4-.1.4-.6.8-1.1.8-.5 0-1-.4-1.2-.8 0-.3-.2-.4-.4-.4h-.8c-.3 0-.5.2-.5.5v.8c0 .2.1.4.4.4.4.2.8.6.8 1.2s-.4 1-.8 1.1c-.3.1-.4.3-.4.5v1.1c0 .2.1.4.4.4.4.2.8.6.8 1.2s-.4 1-.8 1.2c-.3 0-.4.2-.4.4v1.1c0 .2.1.4.4.5.4.1.8.6.8 1.1s-.4 1-.8 1.2c-.3 0-.4.2-.4.4v.8c0 .3.2.5.5.5h.8c.2 0 .4-.1.4-.4.2-.4.6-.8 1.2-.8.5 0 1 .4 1.1.8.1.3.3.4.5.4h1.1c.2 0 .4-.1.4-.4.2-.4.6-.8 1.2-.8s1 .4 1.2.8c0 .3.2.4.4.4h1.1c.2 0 .4-.1.5-.4.1-.4.6-.8 1.1-.8s1 .4 1.2.8c0 .3.2.4.4.4h.8c.3 0 .5-.2.5-.5v-.8c0-.2-.1-.4-.4-.4-.4-.2-.8-.6-.8-1.2s.4-1 .8-1.1c.3-.1.4-.3.4-.5v-1.1c0-.2-.1-.4-.4-.4-.4-.2-.8-.6-.8-1.2s.4-1 .8-1.2c.3 0 .4-.2.4-.4V9.3c0-.2-.1-.4-.4-.5-.4-.1-.8-.6-.8-1.1s.4-1 .8-1.2zm-2.2 8.6c0 .8-.7 1.5-1.5 1.5H8.9c-.8 0-1.5-.7-1.5-1.5V8.9c0-.8.7-1.5 1.5-1.5h6.2c.8 0 1.5.7 1.5 1.5v6.2z"}},custom47:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.4 17.3H7.2c-.8 0-1.4.6-1.4 1.4 0 .3.2.5.4.5h10.1c.3 0 .5-.2.5-.5 0-.8-.6-1.4-1.4-1.4zm3.2-7.6l-3.8-3.6.6-.9c.1-.1 0-.3-.2-.4-1.1-.2-1.9.6-1.9.6-7.3 0-6.1 8.2-5.8 10.1.1.2.3.3.5.3h6.5c.2 0 .3-.2.2-.3-1.3-1.7-2-3.5-2.5-4.6 0-.2.2-.4.4-.3 1.7.9 2.4-.1 3.6.7.6.3 1.3.2 1.8-.3l.6-.6c.2-.2.2-.5 0-.7zm-4.9-.8c-.4 0-.7-.3-.7-.7s.3-.8.7-.8.7.4.7.8-.3.7-.7.7z"}},custom48:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.7 5.8h-2.4v-.5c0-.3-.2-.5-.5-.5H8.2c-.3 0-.5.2-.5.5v.5H5.3c-.3 0-.5.2-.5.4v3.2c0 1.2 1 2.1 2.2 2.1h1.1c.6 1.6 2.1 2.6 3.9 2.7 1.8 0 3.3-1.1 4-2.7h1c1.2 0 2.2-.9 2.2-2.1V6.2c0-.2-.2-.4-.5-.4zM7 10.1c-.4 0-.8-.3-.8-.7V7.2h1.5v2.9H7zm10.8-.7c0 .4-.4.7-.8.7h-.7V7.2h1.5v2.2zm-3.4 8.4h-.2c-.8 0-1.5-.7-1.5-1.5v-.5c0-.1-.1-.2-.2-.2h-1c-.1 0-.2.1-.2.2v.5c0 .8-.7 1.5-1.5 1.5h-.2c-.3 0-.5.2-.5.4v.5c0 .3.2.5.5.5h4.8c.3 0 .5-.2.5-.5v-.5c0-.2-.2-.4-.5-.4z"}},custom49:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 9.8c-1.2 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2 2.2-1 2.2-2.2-1-2.2-2.2-2.2zm0 3.4c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2zm0-8.4C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 12.7c0 .3-.2.5-.5.5-2.9-.3-5.2-2.6-5.5-5.5 0-.3.2-.5.5-.5H7c.2 0 .4.2.5.4.2 2.2 1.9 3.9 4.1 4.1.2.1.4.3.4.5v.5zm0-1.9c-2 0-3.6-1.6-3.6-3.6S10 8.4 12 8.4s3.6 1.6 3.6 3.6-1.6 3.6-3.6 3.6zm5.5-3.6H17c-.2 0-.4-.2-.5-.4-.2-2.2-1.9-3.9-4.1-4.1-.2-.1-.4-.3-.4-.5v-.5c0-.3.2-.5.5-.5 2.9.3 5.2 2.6 5.5 5.5 0 .3-.2.5-.5.5z"}},custom5:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.9 6.1c-2.4-.9-5.3-1.1-7.8-.3-2.2.7-4.5 2.4-4.8 4.9-.1.5-.1 1.1 0 1.6.1.2.2.5.3.8 0 .1.1.2.1.3l-.2.5C5.8 15 5.3 16.2 5 17.4c-.1.6-.4 1.3.1 1.7.3.1.6.1.8 0 .3-.1.3-.4.4-.7.2-1.3.6-2.6 1.3-3.7.3-.5.7-1 1.1-1.5.4-.4.9-1.1 1.5-.9.6.2.6.9.2 1.3s-.8.7-.8 1.3c0 .4.2.8.6 1.1.5.4 1.4.5 2 .5 1.3-.1 2.3-.5 3.3-1.2 1.4-1 1.9-2.6 2.2-4.2.1-.9.3-1.9.6-2.8.1-.4.3-.8.5-1.1.1-.2.3-.4.4-.6 0-.2-.1-.4-.3-.5z"}},custom50:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.4 13.5c-.6.3-1.2.4-1.8.4-.8 0-1.6-.2-2.2-.6h-.2c-.7.4-1.4.6-2.2.6s-1.5-.2-2.2-.6h-.2c-.6.4-1.4.6-2.2.6-.6 0-1.2-.1-1.8-.4-.1-.1-.3.1-.3.2v2.9c0 .6.3 1.1.8 1.4 1.2.5 2.5.9 3.9 1.1.3 0 .6-.2.6-.5v-1.8c0-.8.6-1.4 1.4-1.4.8 0 1.4.6 1.4 1.4v1.8c0 .3.3.5.6.5 1.3-.2 2.6-.6 3.8-1.1.6-.3.9-.8.9-1.4v-2.9c0-.1-.2-.3-.3-.2zm-11-1c.9 0 1.6-.4 2.1-1 .1-.1.3-.1.4 0 .5.6 1.2 1 2.1 1 .8 0 1.6-.4 2.1-1 .1-.1.2-.1.3 0 .5.6 1.3 1 2.1 1 1.4 0 2.5-1 2.6-2.1.1-.2 0-.4-.2-.5l-6-4.8c-.6-.4-1.3-.4-1.8 0L5 9.9c-.2.1-.2.3-.2.5.2 1.2 1.3 2.1 2.6 2.1z"}},custom51:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.7 6.1c.6.5 1.2 1.4 1.5 2.2 0 .1.2.3.3.3h.5c.3 0 .5 0 .7-.1.6-.2 1.1-.4 1.6-.9.7-.7 1-1.8.7-2.7-.9-.2-1.9 0-2.7.7-.2.3-.3.5-.5.8-.4-.6-.8-1.2-1.4-1.5-.3-.2-.8-.1-1 .3-.1.3 0 .7.3.9zm7.4 3.5c-2.5-1.3-3 .5-5.1.5s-2.6-1.8-5.1-.5c-2.4 1.4-1.7 5.8-.7 7.5.8 1.5 2.4 3 5.6 1.5h.4c3.2 1.5 4.8 0 5.6-1.5 1-1.7 1.7-6.1-.7-7.5z"}},custom52:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 8.4c0-.7 0-1.5-.1-2.3-.1-.6-.6-1.1-1.2-1.2-.8-.1-1.6-.1-2.3-.1-.2 0-.3.3-.2.4l3.4 3.4c.1.1.4 0 .4-.2zm-5.7-3c-.1-.2-.3-.2-.4-.2-1.8.5-3.6 1.5-5 2.9s-2.3 3.1-2.8 4.8c-.1.2 0 .4.1.5l5.2 5.2c.1.2.3.2.5.2 1.7-.6 3.4-1.5 4.8-2.9s2.4-3.1 2.9-4.9c0-.2 0-.4-.1-.5l-5.2-5.1zm-2 9.4c-.3.3-.7.3-1 0l-1.4-1.4c-.2-.2-.2-.7 0-1 .3-.3.8-.3 1.1 0l1.3 1.4c.3.2.3.7 0 1zm1.7-1.7c-.3.3-.8.3-1 0l-1.4-1.3c-.3-.3-.3-.8 0-1 .3-.3.8-.3 1 0l1.4 1.3c.3.3.3.7 0 1zm1.7-1.7c-.3.3-.8.3-1.1 0l-1.3-1.3c-.3-.3-.3-.8 0-1.1.3-.2.7-.2 1 0l1.4 1.4c.2.3.2.7 0 1zm-10.1 4c0 .8 0 1.7.1 2.5.1.6.6 1.1 1.2 1.2.9.1 1.7.1 2.5.1.2 0 .3-.3.2-.4l-3.6-3.5c-.1-.2-.4-.1-.4.1z"}},custom53:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.9 13.7h-.1c-.6 0-1-.5-1-1V9.5c0-2.8-2.5-5-5.4-4.7-2.4.3-4.2 2.4-4.2 4.9v2.9c0 .6-.5 1.1-1.1 1.1-.5 0-.8.3-.8.8v.5c0 .5.3.8.8.8h11.8c.5 0 .8-.3.8-.8v-.5c0-.5-.3-.8-.8-.8zm-4.3 3.6h-3.2c-.2 0-.3.1-.3.3.2.9 1 1.6 1.9 1.6s1.8-.6 1.9-1.6c0-.2-.1-.3-.3-.3z"}},custom54:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.5 11.8c1.6-.3 3-.9 4.4-1.6.5-.2 1.4-.7 1.8-.9.2 0 .3-.2.2-.3-.1-.7-.7-1.3-1.4-1.3H11v-.9c0-.3-.2-.5-.4-.5v-1c0-.3-.3-.5-.5-.5h-1c-.2 0-.5.2-.5.5v1c-.2 0-.4.2-.4.5v.9h-.5c-.8 0-1.5.7-1.5 1.5v2.3c0 .2.2.3.3.3zm10.8 4.8s1.7-2.7 1.9-6.6c0-.3-.2-.5-.5-.5-5.7.2-8.4 3.7-13.4 3.9-.3 0-.5.3-.5.5v1.8c0 .8.6 1.4 1.3 1.5 2.6.2 8 .5 11.1 1 .3.1.6-.2.5-.5-.1-.4-.2-.8-.4-1.1zm-.3-4.4c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.8.3.8.7-.4.7-.8.7z"}},custom55:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.7 14.6h3.1c.3 0 .5-.2.5-.4V7c0-.6-.5-1-1-1H7.8c-.4 0-.6.2-.6.6v7.6c0 .2.2.4.5.4zm10.5-7.2v7.7c0 .5-.4 1-.9 1H6.7c-.5 0-.9-.5-.9-1V7.4c-.8 0-1.5.7-1.5 1.5v7.2c0 .8.7 1.4 1.5 1.4h4.5c.3 0 .5.2.5.5s.2.5.5.5h1.4c.3 0 .5-.2.5-.5s.2-.5.5-.5h4.5c.8 0 1.5-.6 1.5-1.4V8.9c0-.8-.7-1.5-1.5-1.5zm-5 7.2h3c.4 0 .6-.2.6-.5V6.5c0-.3-.2-.5-.5-.5h-2.6c-.5 0-1 .4-1 1v7.2c0 .2.2.4.5.4z"}},custom56:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15 7.3c-1.5 1.5-3.3-.4-5 1.3l-4.8 4.8c-.5.6-.5 1.5 0 2l1.7 1.7 1.7 1.7c.5.5 1.4.5 2 0l4.8-4.9c1.7-1.6-.2-3.5 1.4-5l.3-.4c.1-.1.1-.2 0-.3l-1.3-1.3c-.1-.1-.2-.1-.3 0l-.5.4zm-1.1 6.1l-1.7 1.7c-.2.2-.5.2-.7 0l-1.3-1.3-1.3-1.4c-.2-.2-.2-.4 0-.6l1.6-1.7c.2-.2.5-.2.7 0l1.4 1.3 1.3 1.4c.2.2.2.4 0 .6zm5.2-7.5l-.5-.5-.6-.5c-.1-.2-.4-.2-.6 0l-.6.6c-.1.1-.1.3 0 .4l1.3 1.3c.1.1.2.1.3 0l.6-.6c.2-.2.2-.5.1-.7z"}},custom57:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.7 12.6v5.9c0 .2.2.3.4.2 1.1-.7 4.6-2.6 4.6-2.6.5-.3.8-.8.8-1.3V9.5c0-.2-.2-.3-.4-.2L13 12.2c-.2.1-.3.3-.3.4zm-.5-1.6l5.2-2.9c.2-.1.2-.3 0-.4C16.3 7 12.7 5 12.7 5c-.4-.2-1-.2-1.4 0 0 0-3.6 2-4.7 2.7-.2.1-.2.3 0 .4l5.2 2.9c.1.1.3.1.4 0zM11 12.2L5.9 9.3c-.2-.1-.4 0-.4.2v5.3c0 .5.3 1 .8 1.2 0 0 3.5 2 4.6 2.7.2.1.4-.1.4-.2v-5.9c0-.1-.1-.3-.3-.4z"}},custom58:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.1 11c-.4 0-.8-.3-.7-.7 0-.4.3-.7.7-.7h2.1c.1 0 .2 0 .2-.1.2-.4.3-.7.5-1 0-.2-.1-.3-.3-.3h-1.5c-.4 0-.7-.3-.8-.7 0-.4.4-.8.8-.8H19c.1 0 .2-.1.2-.2v-.7c0-.3-.2-.5-.5-.5h-2.5c-.7 0-1.3.6-1.3 1.3 0 1.3-.9 2.5-2.2 2.9v-2c.5-.3.8-.9.7-1.5-.1-.6-.6-1.1-1.2-1.2-.9-.1-1.6.6-1.6 1.4 0 .6.3 1 .7 1.3v2C10 9.2 9.1 8 9.1 6.6c0-.7-.5-1.3-1.3-1.3H5.3c-.3 0-.5.2-.5.5v.7c0 .1.1.2.2.2h1.9c.4 0 .8.3.8.7 0 .4-.3.8-.7.8H5.4c-.2 0-.3.2-.2.3.1.3.2.7.4 1 .1.1.2.1.3.1h2c.4 0 .8.3.8.7 0 .4-.3.8-.7.8h-.6c-.2 0-.3.3-.2.4 1.1.9 2.4 1.5 4.1 1.5v5.5c0 .3.3.7.7.7.4 0 .8-.3.8-.7V13c1.7 0 3-.7 4-1.5.2-.2.1-.5-.1-.5h-.6z"}},custom59:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.4 7.4c.2 0 .4-.2.4-.4 0-.1-.1-.3-.3-.4-.3-.2-.8-1-.9-1.5-.1-.2-.3-.3-.5-.3H9.3c-.2 0-.4.1-.4.3-.2.5-.7 1.3-1 1.5-.1.1-.2.2-.2.4 0 .3.2.4.4.4h8.3zM7.7 17.7c0 .9.6 1.5 1.4 1.5h6.3c.8 0 1.4-.6 1.4-1.4v-.1c0-.2-.2-.4-.5-.4H8.1c-.2 0-.4.2-.4.4zm9.1-2.3v-6c0-.3-.2-.5-.5-.5H8.2c-.3 0-.5.2-.5.5v6c0 .2.2.4.5.4h8.1c.3 0 .5-.2.5-.4z"}},custom6:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 18.2H5.8c-.8 0-1.2-.8-.9-1.4l6.3-10.6c.3-.6 1.3-.6 1.6 0l6.3 10.6c.4.6-.1 1.4-.8 1.4H12z"}},custom60:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 10.9c-.6-3.5-3.6-6.1-7.2-6.1s-6.6 2.6-7.2 6.1c0 .2.2.4.4.2.3-.3.8-.5 1.3-.5.7 0 1.3.3 1.7.8.1.1.2.1.3 0 .4-.5 1-.8 1.7-.8s1.2.3 1.6.8c.1.1.3.1.4 0 .4-.5 1-.8 1.6-.8s1.3.3 1.7.8c.1.1.2.1.3 0 .4-.5 1-.8 1.7-.8.5 0 1 .2 1.3.5.2.2.4 0 .4-.2zm-4.3 5.4c-.4 0-.7.3-.7.7s-.4.8-.8.8-.7-.4-.7-.8v-3.3c0-.4-.3-.7-.7-.7s-.7.3-.7.7V17c0 1.2.9 2.2 2.1 2.2s2.2-1 2.2-2.2c0-.4-.3-.7-.7-.7z"}},custom61:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 4.8h-.9c-.3 0-.5.2-.5.5v.9c0 .3-.2.5-.5.5h-.5c-.2 0-.5-.2-.5-.5v-.9c0-.3-.2-.5-.4-.5h-1c-.3 0-.5.2-.5.5v.9c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-.9c0-.3-.2-.5-.5-.5h-1c-.2 0-.4.2-.4.5v.9c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.9c0-.3-.2-.5-.5-.5h-.9c-.3 0-.5.2-.5.5v2.4c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4V5.3c0-.3-.2-.5-.5-.5zM16.4 11c0-.3-.2-.4-.4-.4H8c-.2 0-.4.1-.4.4l-1.1 7.6c-.1.3.2.6.5.6h3.1c.2 0 .5-.2.5-.5v-2.3c0-.8.6-1.5 1.4-1.5.8 0 1.4.6 1.4 1.4v2.4c0 .3.3.5.5.5H17c.3 0 .6-.2.5-.5L16.4 11z"}},custom62:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.5 16.8h-13c-.4 0-.7.3-.7.7 0 .4.3.7.7.7h13c.4 0 .7-.3.7-.7s-.3-.7-.7-.7zM5.8 15.4h8.1v-1c0-.3.2-.5.5-.5h2.4c.3 0 .5.2.5.5v1h.9c.3 0 .5-.3.5-.5V6.7c0-.2-.2-.5-.5-.5H5.8c-.3 0-.5.3-.5.5v8.2c0 .2.2.5.5.5zm2.1-6.3c0-.2.2-.5.5-.5h7c.2 0 .4.3.4.5v.5c0 .3-.2.5-.4.5h-7c-.3 0-.5-.2-.5-.5v-.5zm0 2.9c0-.3.2-.5.5-.5H13c.2 0 .4.2.4.5v.5c0 .2-.2.5-.4.5H8.4c-.3 0-.5-.3-.5-.5V12z"}},custom63:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.1 14.4h3.8c.3 0 .5-.2.5-.5v-3.8c0-.3-.2-.5-.5-.5h-3.8c-.3 0-.5.2-.5.5v3.8c0 .3.2.5.5.5zm8.4-1.7c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1.2V9.8h1.2c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1.2v-.2c0-.8-.7-1.5-1.5-1.5h-.2V5.5c0-.4-.3-.7-.7-.7s-.7.3-.7.7v1.2h-1.5V5.5c0-.4-.3-.7-.7-.7s-.7.3-.7.7v1.2H9.8V5.5c0-.4-.3-.7-.7-.7s-.7.3-.7.7v1.2h-.2c-.8 0-1.5.7-1.5 1.5v.2H5.5c-.4 0-.7.3-.7.7s.3.7.7.7h1.2v1.5H5.5c-.4 0-.7.3-.7.7s.3.7.7.7h1.2v1.5H5.5c-.4 0-.7.3-.7.7s.3.7.7.7h1.2v.2c0 .8.7 1.5 1.5 1.5h.2v1.2c0 .4.3.7.7.7s.7-.3.7-.7v-1.2h1.5v1.2c0 .4.3.7.7.7s.7-.3.7-.7v-1.2h1.5v1.2c0 .4.3.7.7.7s.7-.3.7-.7v-1.2h.2c.8 0 1.5-.7 1.5-1.5v-.2h1.2c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1.2v-1.5h1.2zm-2.7 2.4c0 .4-.3.7-.7.7H8.9c-.4 0-.7-.3-.7-.7V8.9c0-.4.3-.7.7-.7h6.2c.4 0 .7.3.7.7v6.2z"}},custom64:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 12.5c-2.9 0-5.3-2.4-5.3-5.3S9.1 6.7 12 6.7s5.3 2.4 5.3 5.3-2.4 5.3-5.3 5.3zm2.8-8.4l-4 1.4c-.2.1-.4.3-.5.5l-1.4 4c-.1.2.1.4.3.3l4-1.4c.2-.1.4-.3.5-.5l1.4-4c.1-.2-.1-.4-.3-.3zM12 13c-.5 0-1-.5-1-1s.5-1 1-1 1 .5 1 1-.5 1-1 1z"}},custom65:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.3 16.1h-12c-.3 0-.5.2-.5.4v.1c0 .8.6 1.4 1.4 1.4h10.1c.8 0 1.5-.6 1.5-1.4v-.1c0-.2-.3-.4-.5-.4zm-.5-9.6H5.3c-.2 0-.4.2-.5.5 0 .6 0 1.8.1 2.5.3 2.2 1.5 4.1 3.1 5.1.1 0 .2.1.3.1h5c.1 0 .2-.1.2-.1 1-.6 1.8-1.4 2.3-2.5.3.1.6.1 1 .1 1.6 0 2.9-1.3 2.9-2.8s-1.3-2.9-2.9-2.9zm0 4.3h-.4c.3-.8.4-1.6.4-2.5v-.4c.8 0 1.4.7 1.4 1.5s-.6 1.4-1.4 1.4z"}},custom66:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.8 13.3l-3.5-3.5c-.6-.6-1.5-.6-2 0l-3.5 3.5c-.6.5-.6 1.4 0 2l3.5 3.5c.5.5 1.4.5 2 0l3.5-3.5c.5-.6.5-1.5 0-2zm-6.6 1.6c-.4.3-.9.3-1.2 0-.3-.4-.3-.9 0-1.2.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.2zm2.7 2.7c-.4.3-.9.3-1.2 0-.3-.3-.3-.9 0-1.2.3-.3.9-.3 1.2 0 .3.3.3.9 0 1.2zm0-5.4c-.4.3-.9.3-1.2 0-.3-.4-.3-.9 0-1.2.3-.3.9-.3 1.2 0 .3.3.3.8 0 1.2zm2.7 2.7c-.3.3-.9.3-1.2 0-.3-.4-.3-.9 0-1.2.4-.3.9-.3 1.2 0 .3.3.3.8 0 1.2zM12.7 8V6.2c0-.8-.6-1.4-1.4-1.4H6.2c-.8 0-1.4.6-1.4 1.4v5.1c0 .8.6 1.4 1.4 1.4H8c.2 0 .3-.1.4-.1l.3-.3 3.5-3.6.3-.3c.1-.1.2-.2.2-.4zm-5.9 3.5c-.4 0-.8-.4-.8-.8s.4-.9.8-.9.9.4.9.9-.4.8-.9.8zm2-1.9c-.5 0-.9-.4-.9-.8s.4-.9.9-.9.8.4.8.9-.4.8-.8.8zm1.9-1.9c-.5 0-.9-.4-.9-.9s.4-.8.9-.8.8.4.8.8-.4.9-.8.9z"}},custom67:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13 12.7l-.3-.5c-.1-.2-.3-.3-.6-.3 0 0-.1.1-.2.1l-.8.3c-.3-.3-.7-.5-1.1-.6l-.2-.9c0-.3-.3-.5-.6-.5h-.6c-.2 0-.5.2-.6.5l-.1.9c-.4.1-.8.3-1.1.6L6 12h-.3c-.2 0-.4.1-.5.3l-.3.5c-.1.2-.1.5.2.7l.7.6c-.1.2-.1.4-.1.6s0 .5.1.7l-.7.6c-.3.2-.3.5-.2.7l.3.5c.1.2.3.3.5.3H6l.8-.3c.3.3.7.5 1.1.6l.1.9c.1.3.4.5.6.5h.6c.3 0 .6-.2.6-.5l.2-.9c.4-.1.8-.4 1.1-.7l.8.3c.1.1.2.1.2.1.3 0 .5-.1.6-.3l.3-.5c.1-.2.1-.6-.2-.8l-.7-.5c.1-.3.1-.5.1-.7 0-.2 0-.4-.1-.6l.7-.6c.2-.2.3-.5.2-.8zm-4.1 3.7c-.9 0-1.6-.7-1.6-1.6s.7-1.7 1.6-1.7c.9 0 1.7.7 1.7 1.7s-.8 1.6-1.7 1.6zm10.1-7l-.5-.5v-.5-.5l.5-.5c.2-.1.2-.4.1-.6l-.2-.4c-.1-.1-.3-.2-.4-.2h-.2l-.7.3c-.3-.3-.6-.5-.9-.5l-.1-.8c-.1-.2-.3-.4-.5-.4h-.5c-.2 0-.4.2-.5.4l-.1.7c-.3.1-.6.3-.9.6l-.7-.4h-.1c-.2 0-.4.1-.5.3l-.2.4c-.1.2-.1.4.1.6l.6.4c-.1.2-.1.4-.1.6 0 .1 0 .3.1.5l-.6.4c-.2.2-.2.4-.1.6l.2.4c.1.2.3.3.5.3h.1l.7-.3c.3.2.6.4.9.5l.1.7c.1.2.3.4.5.4h.5c.2 0 .5-.2.5-.4l.1-.7c.3-.1.7-.3.9-.6l.7.3h.2c.1 0 .3-.1.4-.2l.2-.4c.1-.1.1-.4-.1-.5zm-3.1.3c-.8 0-1.4-.6-1.4-1.3s.6-1.3 1.4-1.3 1.3.6 1.3 1.3-.6 1.3-1.3 1.3z"}},custom68:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm5.7 6.5h-1.9c-.1-1.7-.4-3.2-1-4.3 1.6.8 2.7 2.4 2.9 4.3zm-6.4-4.7v4.7H9.6c.1-2.3.9-4.1 1.7-4.7zm0 6.1v4.7c-.8-.6-1.6-2.4-1.7-4.7h1.7zm1.4 4.7v-4.7h1.7c-.1 2.3-.9 4.1-1.7 4.7zm0-6.1V6.6c.8.6 1.6 2.4 1.7 4.7h-1.7zM9.2 7c-.6 1.1-.9 2.6-1 4.3H6.3C6.5 9.4 7.6 7.8 9.2 7zm-2.9 5.7h1.9c.1 1.7.4 3.2 1 4.3-1.6-.8-2.7-2.4-2.9-4.3zm8.5 4.3c.6-1.1.9-2.6 1-4.3h1.9c-.2 1.9-1.3 3.5-2.9 4.3z"}},custom69:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.6 10.8c-1.3-1-2.7-.5-3.6.4-.4.3-.9.5-1.5.6-.7.2-1.4.5-1.9 1-1.3 1.3-1 2.9.8 4.7h.1v.1c1.1 1 2.1 1.6 3 1.6.7 0 1.3-.3 1.9-.8.5-.5.7-1.2.9-1.9.2-.5.4-1.1.7-1.4.6-.5.9-1.1.9-1.8.1-.4 0-1.1-.5-1.7 0 0-.3-.4-.8-.8zm-3 5.8c-.1.1-.2.2-.4.2s-.4-.1-.5-.2l-1.3-1.3c-.3-.3-.3-.7 0-.9s.7-.3.9 0l1.3 1.3c.3.2.3.6 0 .9zm1.2-2c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.6 1.2 1.2-.5 1.2-1.2 1.2zM19.1 6L18 4.9c-.2-.1-.6-.1-.8 0L16 6.2c-.2.2-.2.5 0 .7V7l-2.4 2.4c-.1.1-.1.3 0 .4.2.2.5.4.7.6.1.1.2.1.3 0L17 8h.1c.2.2.5.2.7 0l1.3-1.2c.1-.2.1-.5 0-.8z"}},custom7:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.7 18.7c-.8 0-1.4-.6-1.4-1.4V6.7c0-.8.6-1.4 1.4-1.4h10.6c.8 0 1.4.6 1.4 1.4v10.6c0 .8-.6 1.4-1.4 1.4H6.7z"}},custom70:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.5 15.3l-2.8-2.7c-.5-.6-1.5-.6-2 0l-1.8 1.7c-.1.2-.1.5 0 .7l.4.3.3.3 2.8 2.8.2.2.5.5c.2.1.5.1.7 0l1.7-1.7c.6-.6.6-1.5 0-2.1zm-4.5-1l.4-.3c.2-.2.4-.2.6 0l2.1 2c.2.2.2.5 0 .7l-.3.3c-.2.2-.5.2-.7 0L7 15c-.2-.2-.2-.5 0-.7zm3-2.5l2.2 2.2c.1 0 .1.1.2.1l1-.1c.2 0 .3-.1.3-.2v-.9c0-.1.1-.2.2-.2h.9c.1 0 .2-.1.2-.2v-.9c0-.1.1-.2.3-.2h.9c.1 0 .2-.1.2-.3v-.9c0-.1.1-.2.2-.2h.9c.2 0 .3-.1.3-.2v-.9c0-.1.1-.2.2-.2l1-.2c.1 0 .2-.2.1-.3L17 5c-.2-.2-.5-.2-.7 0L10 11.2c-.2.2-.2.4 0 .6z"}},custom71:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.1 7.4c-1.4-1.4-3.3-2.2-5.3-2.1-3.9.1-7 3.4-7 7.3v2.3c0 .8.6 1.4 1.4 1.4h1v1.2c0 .6.5 1.1 1.1 1.2.7.1 1.3-.5 1.3-1.2v-4.3c0-.6-.5-1.1-1.1-1.2-.7-.1-1.3.5-1.3 1.2v1.7h-.5c-.2 0-.5-.2-.5-.5v-1.8c0-3.1 2.6-5.8 5.6-5.9 1.6 0 3.1.5 4.2 1.7 1.1 1.1 1.8 2.5 1.8 4.1v1.9c0 .3-.3.5-.5.5h-.5v-1.7c0-.6-.5-1.1-1.1-1.2-.7-.1-1.3.5-1.3 1.2v4.3c0 .6.5 1.1 1.1 1.2.7.1 1.3-.5 1.3-1.2v-1.2h1c.8 0 1.4-.6 1.4-1.4v-2.3c0-1.9-.7-3.8-2.1-5.2z"}},custom72:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M18.5 4.8h-13c-.4 0-.7.3-.7.7s.3.7.7.7h5.8v1.5c-2.6.4-4.6 2.6-4.6 5.2v1.7c0 1.7 1.4 3.2 3.2 3.2h4.2c1.8 0 3.2-1.5 3.2-3.2v-1.7c0-2.7-2-4.9-4.6-5.2V6.2h5.8c.4 0 .7-.3.7-.7s-.3-.7-.7-.7zm-3.1 8.1c0 .7-.6 1.3-1.3 1.3H9.9c-.7 0-1.2-.6-1.3-1.3.1-1.8 1.5-3.3 3.4-3.3s3.3 1.5 3.4 3.3z"},circle:[{cx:"6.24",cy:"18.24",r:".96"},{cx:"17.76",cy:"18.24",r:".96"}]}},custom73:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.6 8.4h12.8c.3 0 .5-.3.4-.6-.3-1-.7-1.9-1.3-2.7-.1-.2-.5-.3-.7-.1-.6.6-1.3.9-2.2.9-.9 0-1.7-.4-2.3-1-.2-.1-.5-.1-.6 0-.6.6-1.5 1-2.3 1-.9 0-1.6-.3-2.2-.9-.3-.2-.6-.1-.7.1-.6.8-1.1 1.7-1.3 2.7-.1.3.1.6.4.6zm13.6 1.9c0-.2-.2-.5-.5-.5H5.3c-.3 0-.5.3-.5.5v.1c0 4.5 3.1 8.2 7.2 8.8 4.1-.6 7.2-4.3 7.2-8.8v-.1z"}},custom74:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.4 17.5H11c-.2 0-.4.2-.4.5v.7c0 .3.2.5.4.5h2.4c.3 0 .5-.2.5-.5V18c0-.3-.2-.5-.5-.5zM12.2 4.8C9.3 4.8 7 7.1 7 9.8c0 1.8.9 3.4 2.5 4.3.5.3.9.9 1 1.6.1.2.3.4.5.4h2.5c.3 0 .4-.2.5-.4.1-.7.5-1.3 1.1-1.6 1.4-.9 2.4-2.5 2.4-4.3 0-2.7-2.3-5-5.3-5zm-1.6 2.3c-.5.9-.7 1.9-.8 2.8 0 .9.2 1.8.5 2.6.1.2-.1.4-.3.3-2.2-1.1-2.1-5.3.3-6.1.2-.1.4.2.3.4zm1.9 5.7c-.1.2-.4.2-.5 0-.4-1-.5-2.1-.5-3.1s.1-2.1.5-3c.1-.2.4-.2.5 0 .3.9.4 2 .5 3-.1 1-.2 2.1-.5 3.1zm1.9 0c-.2.1-.4-.1-.3-.3.3-.9.4-1.8.5-2.7-.1-.8-.3-1.9-.8-2.7-.1-.2.1-.5.3-.4 2.4.8 2.5 5 .3 6.1z"}},custom75:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 4.8c-.4 0-.7.3-.7.7v13c0 .4.3.7.7.7 4 0 7.2-3.2 7.2-7.2S16 4.8 12 4.8zm5.7 6.5h-1.9c-.1-1.7-.4-3.2-1-4.3 1.6.8 2.7 2.4 2.9 4.3zm-5 6.1v-4.7h1.7c-.1 2.3-.9 4.1-1.7 4.7zm0-6.1V6.6c.8.6 1.6 2.4 1.7 4.7h-1.7zm2.1 5.7c.6-1.1.9-2.6 1-4.3h1.9c-.2 1.9-1.3 3.5-2.9 4.3zM8 9.6c.2.1.5.1.7-.1L10 8c.2-.2.2-.5 0-.6L8.7 6c-.2-.1-.4-.1-.6 0-.1 0-.2.1-.3.1-1.8 1.3-3 3.5-3 5.9 0 2.4 1.2 4.6 3 5.9.1 0 .2.1.3.1.2.1.4.1.6 0l1.3-1.4c.2-.1.2-.4 0-.6l-1.3-1.5c-.2-.2-.5-.2-.7-.1l-.5.4C7 14 6.7 13 6.7 12s.3-2 .8-2.8l.5.4z"}},custom76:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.7 13.3c-.1-.2-.3-.4-.5-.3H12c-2.6 0-4.8-2.2-4.8-4.8V8c0-.2-.3-.3-.4-.1-.2.2-.3.5-.4.8-.4 1.4.1 2.9 1.3 3.7.5.4 1 .6 1.6.7l.2.4c0 .1.1.1.1.2l.7.3c.1 0 .2.2.1.3l-.2.7c0 .1 0 .2.1.3l.4.1c.1.1.2.2.1.3l-.2.8c0 .1 0 .2.1.3l.6.2c.1.1.1.2.1.3l-.2.8c0 .1 0 .2.2.3l1.6.7c.1.1.2 0 .3-.1l.7-1.6c.1-.1.1-.3 0-.4l-1.3-3.7zm6.4-.3l-3.9-4c.2-.6.2-1.2 0-1.9-.5-1.3-1.7-2.2-3-2.3-2.1-.1-3.8 1.7-3.6 3.8.2 1.4 1.3 2.6 2.7 2.9.6.1 1.2 0 1.8-.1l.3.3c.1.1.1.1.2.1h.8c.1 0 .2.1.2.2l.1.8c0 .1.1.2.3.2h.4c.1 0 .2.1.2.2l.1.8c0 .1.1.2.3.2h.6c.1 0 .2.1.2.2l.1.8c0 .1.1.2.3.2H19c.1 0 .2-.1.2-.3v-1.7c0-.2 0-.3-.1-.4zm-7.6-4.1c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2c0 .6-.5 1.2-1.2 1.2z"}},custom77:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.7 10.1h.9c.2 0 .3-.1.3-.3v-.3c0-1.8 1.3-3.3 3.1-3.3s3.1 1.5 3.1 3.3v.3c0 .2.1.3.3.3h.9c.2 0 .3-.1.3-.3v-.3c0-2.6-2-4.7-4.6-4.7S7.4 6.9 7.4 9.5v.3c0 .2.1.3.3.3zm9.1 1.4H7.4c-.8 0-1.4.7-1.4 1.5v4.8c0 .8.6 1.4 1.4 1.4h9.4c.8 0 1.4-.6 1.4-1.4V13c0-.8-.6-1.5-1.4-1.5zm-3.5 3.9c-.2.3-.4.7-.3 1.1l.2.7c0 .3-.1.6-.4.6h-1.6c-.3 0-.4-.3-.4-.6l.2-.7c.1-.4-.1-.8-.3-1.1-.2-.3-.3-.7-.2-1.1.1-.6.6-1 1.2-1.1 1-.2 1.8.5 1.8 1.4 0 .3-.1.5-.2.8z"}},custom78:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.8 7l-4.3-2.1c-.2-.1-.5-.1-.7 0l-4 2-4-2c-.2-.1-.4-.1-.7 0-.2.1-.3.4-.3.6v10.8c0 .3.1.5.4.7l4.3 2.1c.2.1.5.1.7 0l4-2 4 2c.1.1.2.1.3.1.1 0 .2 0 .4-.1s.3-.4.3-.6V7.7c0-.3-.1-.5-.4-.7zm-1 1.4v5.7c0 .3-.4.6-.7.5-1.1-.5-.2-2.3-1-3.3s-1.7 0-2.7-1.5c-.8-1.4.4-2.4 1.4-2.9.2-.1.3-.1.4 0L17.5 8c.2.1.3.2.3.4zm-6.2 8.4c-.1.1-.3 0-.5-.1-.3-.3-.5-.7-.5-1.1 0-.7-1.2-.5-1.2-1.9 0-1.2-1.5-1.5-2.6-1.4-.3 0-.6-.2-.6-.5V7.5c0-.4.4-.6.7-.5l2.6 1.3c.1 0 .1.1.1.1h.1c1.1.6.9 1.2.4 1.9-.5.9-.7 0-1.4-.2s-1.5.2-1.2.7.9 0 1.4.5.5 1.2 1.9.7 1.7-.2 2.2.2.7 1.5 0 2.2c-.4.4-.6 1.3-.8 1.9-.1.1-.1.3-.2.3l-.4.2z"}},custom79:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.4 9.8c-1 0-1.7.8-1.7 1.7s.7 1.7 1.7 1.7 1.6-.7 1.6-1.7-.7-1.7-1.6-1.7zm9.6 5.3h-4.6v-1.9h.5c.2 0 .5-.2.5-.5v-1.4c0-.3-.3-.5-.5-.5h-.6c-.4-2.4-2.4-4.3-4.9-4.3-2.8-.1-5.1 2.3-5.1 5.1.1 2.8 2.4 5 5.2 5h8.7v.4c0 .3.3.5.5.5h.5c.3 0 .5-.2.5-.5v-1.2c0-.4-.3-.7-.7-.7zm-9.6-.5c-1.8 0-3.2-1.4-3.2-3.1s1.4-3.1 3.2-3.1 3.1 1.4 3.1 3.1-1.4 3.1-3.1 3.1z"}},custom8:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.3 5.1l-5.8 6.3c-.3.3-.3.9 0 1.2l5.8 6.3c.4.4 1 .4 1.4 0l5.8-6.3c.3-.3.3-.9 0-1.2l-5.8-6.3c-.4-.4-1-.4-1.4 0z"}},custom80:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7 14.4c-1.4 0-2.4 1.1-2.4 2.4s1 2.4 2.4 2.4 2.4-1.1 2.4-2.4-1.1-2.4-2.4-2.4zm0 3.4c-.6 0-1-.5-1-1s.4-1 1-1 .9.5.9 1-.4 1-.9 1zm10-3.4c-1.3 0-2.4 1.1-2.4 2.4s1.1 2.4 2.4 2.4 2.4-1.1 2.4-2.4-1-2.4-2.4-2.4zm0 3.4c-.5 0-.9-.5-.9-1s.4-1 .9-1 1 .5 1 1-.4 1-1 1zm-.1-4.8c.5-.1 1 0 1.5.2.2.1.5 0 .6-.2 1.3-2.4-.7-3.4-2-4.1-.3-.1-.7.1-.7.5v1.4c0 .2-.2.5-.5.5-1.7-.3-3.3-2.2-5.2-2.2S8.4 11 8.4 11c-1.3 0-2.7-.1-3.3-.2-.3-.1-.5.2-.5.5 0 0 0 1.7 2.4 1.7 1.9 0 3.6 1.4 3.8 3.4 0 .5 0 1-.2 1.5 0 .1.1.3.3.3h2.2c.2 0 .3-.2.3-.3-.2-.5-.2-1-.2-1.5.2-1.8 1.8-3.4 3.7-3.4zM4.6 11.3zm6.3-3.7c0 .2.1.3.3.4l2.6.8c.2.1.4 0 .6-.2l.2-.4c.1-.2-.1-.4-.2-.4-.8-.1-2.3-.4-1.9-1.2.4-.7 1.3-.5 1.8-.3.2.1.5-.1.4-.3-.4-.8-1.2-1.3-2.1-1.2-1.2.1-1.9 1.2-1.8 2.4l.1.4z"}},custom81:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.5 4.8h-1.2c-3.7.2-8 1.1-8.2 1.2-.3.1-.5.4-.5.7v7.8c-.2-.1-.6-.1-.9-.1-1.6 0-2.9 1-2.9 2.4s1.3 2.4 2.9 2.4 2.9-1.1 2.9-2.4v-4.9c0-.3.1-.5.3-.5 1.2-.3 2.8-.6 5.9-.8.3 0 .5.2.5.5v2.5c-.3-.1-.6-.2-1-.2-1.6 0-2.9 1.1-2.9 2.4s1.3 2.4 2.9 2.4 2.9-1.1 2.9-2.4V5.5c0-.4-.3-.7-.7-.7zm-1.7 3.8c-2.9.2-4.4.4-5.7.7-.3.1-.5-.1-.5-.4v-.8c0-.2.1-.4.3-.5 1.3-.3 2.8-.6 5.9-.8.3 0 .5.2.5.5v.8c0 .3-.2.5-.5.5z"}},custom82:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 10.6h-5c-.3 0-.5.2-.5.4v.3c0 .4-.3.7-.7.7-.4 0-.8-.3-.8-.7V11c0-.2-.2-.4-.4-.4h-1.2c-1.4 0-2.7.8-3.3 2-.3-.1-.5-.1-.8-.1-1.2 0-2.2.9-2.2 2.1s1 2.2 2.2 2.2c.3 0 .5 0 .8-.1.6 1.1 1.9 1.9 3.3 2 2.3.1 4.3-1.7 4.3-4.1v-.4c-.1-.2.1-.5.3-.5l4.1-.9c.2-.1.4-.2.4-.5V11c0-.2-.2-.4-.5-.4zM6.5 15.4c-.4 0-.7-.4-.7-.8s.3-.7.7-.7c.1 0 .2 0 .3.1-.1.3-.1.6-.1.9 0 .1 0 .3.1.4-.1 0-.2.1-.3.1zM13 8.9c.4 0 .7-.3.7-.7V6c0-.4-.3-.7-.7-.7s-.8.3-.8.7v2.2c0 .4.4.7.8.7zm-3.5.2c.2.2.4.3.6.3.1 0 .3-.1.5-.2.3-.3.3-.7 0-1L9.2 6.5c-.3-.3-.7-.3-1-.1-.3.3-.4.8-.1 1l1.4 1.7zm6.3.3c.2 0 .4-.1.6-.3l1.4-1.7c.3-.3.2-.7 0-1-.4-.2-.8-.2-1 .1l-1.5 1.7c-.3.3-.2.8.1 1 .1.1.3.2.4.2z"}},custom83:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.9 9.4c.1.1.2.1.3 0l.4-.3c.8-.8.8-2.1 0-2.9l-1-1c-.8-.7-2-.4-2.6.3l-.4.3c-.1.1-.1.2 0 .3l3.3 3.3zm-4.3-2.2c-.1-.1-.3-.1-.4 0l-6.6 6.5c-.3.4-.6.8-.7 1.3l-1.1 3.2c0 .2 0 .5.1.6.1.3.4.4.6.4h.2s2.2-.7 3.3-1.1c.5-.1.9-.4 1.3-.7l6.6-6.6c.1-.1.1-.2 0-.3l-3.3-3.3zm-5 9.6c-.5.1-1.3.4-2 .6l.6-2c.1-.2.3-.4.5-.6l1.6 1.6c-.2.2-.5.3-.7.4z"}},custom84:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18 15.4H6c-.4 0-.7.3-.7.7s.3.7.7.7h1l.4 2c0 .3.2.4.4.4h7.9c.2 0 .4-.1.5-.4l.4-2H18c.4 0 .7-.3.7-.7s-.3-.7-.7-.7zM7.9 13.9h3.4v-1.3c-.3-.2-.5-.5-.5-.8 0-.6.4-1 1-1s.9.4.9 1c0 .3-.2.6-.5.8v1.3h3.4c.3 0 .5-.2.5-.5v-.7c0-1.4-1.4-1.9-2.5-2.4-.8-.3-.9-.6-.9-.9 0-.3.2-.6.5-.8.4-.4.7-.9.7-1.6 0-1.2-.8-2.2-2.1-2.2-1.4 0-2.2 1-2.2 2.2 0 .7.3 1.2.7 1.6.3.2.5.5.5.8 0 .3-.1.6-.9.9-1.1.5-2.5 1-2.5 2.4v.7c0 .3.3.5.5.5z"}},custom85:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.7 5.8h-12v-.5c0-.3-.2-.5-.5-.5h-.9c-.3 0-.5.2-.5.5v13.4c0 .3.2.5.5.5h.9c.3 0 .5-.2.5-.5v-11h12c.3 0 .5-.2.5-.5v-1c0-.2-.2-.4-.5-.4zm-.9 3.3H9.6c-.8 0-1.4.7-1.4 1.5v5.2c0 .8.6 1.5 1.4 1.5h8.2c.8 0 1.4-.7 1.4-1.5v-5.2c0-.8-.6-1.5-1.4-1.5zm-1.4 4.1h-.6v2.4c0 .1-.1.2-.2.2h-1c-.1 0-.2-.1-.2-.2v-1.4c0-.2-.1-.3-.2-.3h-1c-.1 0-.2.1-.2.3v1.4c0 .1-.1.2-.3.2h-.9c-.2 0-.3-.1-.3-.2v-2.4h-.6c-.1 0-.1-.1-.1-.2l2.7-2.6c.1-.1.3-.1.3 0l2.7 2.6c.1.1.1.2-.1.2z"}},custom86:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zM12 17.3c-1.8 0-3.4-1.5-3.4-3.4s1.6-3.3 3.4-3.3 3.4 1.5 3.4 3.3-1.6 3.4-3.4 3.4zm1.4-4.1h-.7v-.7c0-.3-.2-.5-.5-.5h-.4c-.3 0-.5.2-.5.5v.7h-.7c-.3 0-.5.2-.5.5v.5c0 .2.2.4.5.4h.7v.8c0 .2.2.4.5.4h.4c.3 0 .5-.2.5-.4v-.8h.7c.3 0 .5-.2.5-.4v-.5c0-.3-.2-.5-.5-.5z"}},custom87:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18 4.8H6c-.4 0-.7.3-.7.7V17c0 .4.3.8.7.8h.2v.7c0 .4.4.7.8.7h.4c.4 0 .8-.3.8-.7v-.7h7.6v.7c0 .4.4.7.8.7h.4c.4 0 .8-.3.8-.7v-.7h.2c.4 0 .7-.4.7-.8V5.5c0-.4-.3-.7-.7-.7zM7.4 16.3c-.4 0-.7-.3-.7-.7V7c0-.4.3-.8.7-.8h9.2c.4 0 .7.4.7.8v8.6c0 .4-.3.7-.7.7H7.4zm8-8.6H8.6c-.2 0-.4.2-.4.5v6.2c0 .3.2.5.4.5h6.8c.2 0 .4-.2.4-.5V8.2c0-.3-.2-.5-.4-.5zM14.2 12h-2c-.2.5-.8 1-1.4 1-1 0-1.7-.8-1.7-1.7s.7-1.7 1.7-1.7c.6 0 1.2.5 1.4 1h2c.4 0 .7.3.7.7s-.3.7-.7.7z"}},custom88:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.7 16.8H5.3c-.3 0-.5.2-.5.4v.1c0 1 1.3 1.9 2.4 1.9h9.6c1.1 0 2.4-.9 2.4-1.9v-.1c0-.2-.2-.4-.5-.4zM5.5 15.4h4.3c.3 0 .5-.3.5-.6V6.6c0-.1-.1-.2-.2-.1L5.3 15c-.1.1 0 .4.2.4zm6.7 0h6c.3 0 .5-.3.5-.6-.2-1.7-.5-7.1-6.6-10-.1 0-.3 0-.3.2v9.8c0 .3.2.6.4.6z"}},custom89:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.9 10.4c-.1-.1-.3-.1-.4.1-.3.4-.5 1-.5 1.7v2.7c0 .4-.4.7-.8.7-.3 0-.7-.3-.7-.7V6.7c0-1.9-1.6-2.2-2.8-1.7-.3.1-.6.3-.8.5-.1.2-.3.3-.5.4-.4.1-1.2-.3-1.6-.5-.2-.1-.5-.1-.6.1l-.3.4c-.2.2-.1.6.1.7.5.3 1.2.8 1.7.9.9.1 1.7-.2 2.3-.7.1-.2.4-.4.6-.1.5.7-1.4 3.8-1.4 8.4v.4c0 1.9 1.9 3.6 3.9 3.7 2 .1 3.7-1.5 3.7-3.6 0-1 .4-1.7.8-2.1.1-.1.1-.2 0-.3l-2.7-2.8zm4.6 2.3c-.2 0-.4-.1-.5-.2l-3.9-3.8c-.3-.3-.3-.8 0-1 .3-.3.8-.3 1 0l3.9 3.8c.3.3.3.7 0 1-.2.1-.3.2-.5.2z"}},custom9:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.9 4.8h-4.1c-.6 0-1.1.4-1.3.9L7 12.2c-.2.5.1 1 .6 1h4.2l-1.6 5.4c-.1.5.5.8.8.4l6.4-7.5c.4-.4 0-1.2-.6-1.2h-3.1l2.7-4.4c.3-.5 0-1.1-.6-1.1h-.9z"}},custom90:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.6 6.2l-5.9.9v8.3c0 .1-.1.2-.2.2h-1c-.1 0-.2-.1-.2-.2V7.3l-5.7.9h-.1c-.3 0-.7-.3-.7-.7 0-.3.2-.7.6-.8L9.9 6c.4-.7 1.2-1.2 2.1-1.2.6 0 1.2.2 1.7.7l4.7-.7c.4 0 .8.2.8.6 0 .4-.2.8-.6.8zm-8.7 8.9c.2-.2.2-.5.1-.7L8.1 9.8c-.1-.3-.4-.4-.7-.4s-.5.1-.6.4l-2 4.6c0 .2 0 .4.1.6 0 .1 1 1.5 2.5 1.5.9 0 1.7-.4 2.5-1.4zm-2.5-3.2l1.1 2.5H6.4l1-2.5zm9.8-3.5c-.1-.3-.4-.5-.6-.5s-.6.2-.7.5L14 12.9c-.1.2-.1.5 0 .7.1.1 1 1.5 2.5 1.5.9 0 1.7-.5 2.5-1.4.2-.3.2-.5.1-.8l-1.9-4.5zm-.6 2.1l1 2.5h-2.1l1.1-2.5zM12 17c-1.3 0-2.7.5-3.7 1.3-.1.1-.1.3-.1.4 0 .3.2.5.4.5h6.8c.2 0 .4-.2.4-.5 0-.1 0-.3-.1-.4-1-.8-2.4-1.3-3.7-1.3z"}},custom91:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.7 7.8c-.7-.2-1.4-.7-1.8-1.3-.3-.5-.3-1.7-1.1-1.7H8.2c-.8 0-.8 1.2-1.1 1.7-.5.7-1.2.9-1.9 1.4-.8.5-.1 2.4.1 3 .7 2.7 2.1 5.2 4.3 6.9.7.5 1.3 1 2.1 1.3.6.4 1.7-.6 2.2-.9 1.2-.9 2.3-2 3.1-3.3.7-1.1 1.2-2.3 1.6-3.6.1-.5.3-1 .4-1.5.1-.4.3-1.1.1-1.5 0-.2-.2-.4-.4-.5-1.1-.3.3.1 0 0zm-1.1 1.7c-.6 3.2-2.4 6.2-5.2 8l-.4.2-.4-.2c-3.4-2.1-4.7-5.5-5.2-8L6.3 9l.4-.3c.8-.4 1.5-1.2 1.9-2.1l.2-.4h6.4l.2.3c.4.9 1.1 1.8 2 2.3l.3.2-.1.5zm-5.9-1.8c-.5 0-1.9 0-2.1.2-.5.4-.7 1-1.2 1.4-.5.5-.3.9-.1 1.5.3 1 .8 2 1.4 2.9.3.4.7.8 1.1 1.2.1.1 1.2 1.3 1.2.6V8.2c0-.3 0-.5-.3-.5z"}},custom92:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.7 13.5L12.2 11h-.4l-5.5 2.5c-.3.2-.4.5-.2.8.6.8.9 1.9 1.1 2.4 0 .2.2.3.4.3 1.9.5 3.4 1.6 4.1 2.1.2.1.4.1.6 0 .7-.5 2.2-1.6 4.1-2.1.2 0 .4-.1.4-.3.1-.5.5-1.6 1.1-2.4.2-.2.1-.6-.2-.8zm-7.1 1.4c-.4 0-.8-.5-.8-1s.4-.9.8-.9.7.4.7.9-.3 1-.7 1zm2.8 0c-.4 0-.7-.5-.7-1s.3-.9.7-.9.8.4.8.9-.4 1-.8 1zm-5.1-3.8l2.9-1.4c.3-.1.7-.2 1.1-.1.2 0 .4.1.5.1l2.9 1.4c.2.1.4-.1.4-.2V9.8c0-.1-.1-.2-.2-.3-.2-.3-.5-.6-1.3-.6V7.5c0-.2-.1-.4-.2-.4-.3-.2-.7-.4-1.4-.5V5.3c0-.3-.3-.5-.5-.5h-1c-.2 0-.5.2-.5.5v1.3c-.7.1-1.1.3-1.4.5-.1 0-.2.2-.2.4v1.4c-.8 0-1.1.3-1.3.5-.1.1-.2.2-.2.4v1c0 .2.2.3.4.3z"}},custom93:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M10.2 12h7.1c.2 0 .4-.1.4-.4L19 7.1c.1-.3-.1-.6-.4-.6h-11l-.2-.7c-.1-.3-.4-.5-.7-.5H5.6c-.4 0-.8.3-.8.7 0 .4.3.7.7.7h.7l2.2 7.7c.1.3.4.5.7.5h8.4c.4 0 .7-.3.8-.7 0-.4-.3-.8-.8-.8h-7.3c-.3 0-.6-.2-.7-.5-.1-.4.2-.9.7-.9z"},circle:[{cx:"10.32",cy:"17.52",r:"1.2"},{cx:"16.08",cy:"17.52",r:"1.2"}]}},custom94:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.4 9.1V5.5c0-.4-.3-.7-.7-.7h-.9c-.4 0-.8.3-.8.7s.4.7.8.7h.2v2.9c0 1.6-1.3 2.9-2.9 2.9s-2.9-1.3-2.9-2.9V6.2h.3c.4 0 .7-.3.7-.7s-.3-.7-.7-.7h-1c-.4 0-.7.3-.7.7v3.6c0 2.4 1.9 4.3 4.3 4.3s4.3-1.9 4.3-4.3zm5.8 2.9c0-1.2-1-2.2-2.2-2.2s-2.1 1-2.1 2.2c0 .9.6 1.7 1.4 2v.6c0 1.7-1.4 3.2-3.2 3.2-1.6 0-2.8-1.1-3.2-2.5 0-.3-.2-.4-.4-.4H9c-.3 0-.6.3-.5.6.4 2.1 2.3 3.7 4.5 3.7h.1c2.6 0 4.7-2.1 4.7-4.6V14c.8-.3 1.4-1.1 1.4-2zm-2.2.7c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.8.3.8.7-.4.7-.8.7z"}},custom95:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.7 7.2v-1h.3c.3 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7h-2c-.3 0-.7.3-.7.7 0 .4.3.7.7.7h.3v1c-3 .4-5.3 2.9-5.3 6 0 3.3 2.7 6 6 6s6-2.7 6-6c0-3.1-2.3-5.6-5.3-6zM12 17.8c-2.5 0-4.6-2.1-4.6-4.6S9.5 8.6 12 8.6s4.6 2.1 4.6 4.6-2.1 4.6-4.6 4.6zm1.6-7l-1.1 1.1c-.2-.1-.3-.1-.5-.1-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4 1.4-.6 1.4-1.4c0-.2 0-.3-.1-.5l1.1-1.1c.3-.2.3-.6 0-.8-.2-.3-.6-.3-.8 0z"}},custom96:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.1 6.9L17.8 6c-.2-.2-.4-.2-.6-.2H13v-.5c0-.3-.3-.5-.5-.5h-1c-.2 0-.5.2-.5.5v.5H6.2c-.2 0-.4.2-.4.4v2c0 .2.2.4.4.4h11c.2 0 .4 0 .6-.2l1.2-.9c.2-.2.2-.4.1-.6zM17.8 11H13v-.7c0-.1-.1-.2-.3-.2h-1.4c-.2 0-.3.1-.3.2v.7H6.8c-.2 0-.4.1-.6.2l-1.2 1c-.2.1-.2.4 0 .6l1.2.9c.2.1.4.2.6.2h11c.2 0 .4-.2.4-.5v-1.9c0-.2-.2-.5-.4-.5zM13 17.2v-1.6c0-.1-.1-.2-.3-.2h-1.4c-.2 0-.3.1-.3.2v1.6c-.9.2-1.4.8-1.6 1.5-.1.3.1.5.3.5h4.6c.2 0 .4-.2.3-.5-.2-.7-.7-1.3-1.6-1.5z"}},custom97:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.4 13.1V7c0-1.5-1.2-2.7-2.6-2.7h-.1c-1.4 0-2.6 1.2-2.6 2.7v6.1c-.7.7-1.2 1.7-1.2 2.7 0 2.2 1.7 3.9 3.9 3.9s3.8-1.7 3.8-3.9c0-1-.4-2-1.2-2.7zm-.6 2.7H9.7c-.2 0-.3-.2-.3-.4.1-.6.4-1.1.8-1.4.2-.2.3-.4.3-.6V7c0-.7.6-1.2 1.2-1.2h.1c.6 0 1.1.5 1.1 1.2v.2h-.7c-.4 0-.7.3-.7.7s.3.7.7.7h.7v1h-.7c-.4 0-.7.3-.7.7s.3.7.7.7h.7v1h-.7c-.4 0-.7.3-.7.7s.3.7.7.7h.7c.1.3.2.4.3.6.5.3.8.9.9 1.4.1.2-.1.4-.3.4z"}},custom98:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M19.5 11.1l-1.8-1.8c-.1-.1-.3-.2-.4-.2h-1.9c-.3 0-.5.2-.5.5v3.8c0 .2.1.3.3.3.4-.2.7-.3 1.1-.3 1.1 0 2 .6 2.5 1.5.1.1.3.2.4.1.3-.3.5-.6.5-1.1v-2.4c0-.1-.1-.3-.2-.4z"},{d:"M13 7H4.8c-.3 0-.5.2-.5.4v6.5c0 .5.2.8.5 1.1.1.1.3.1.4-.1.4-.9 1.4-1.5 2.5-1.5 1.2 0 2.2.8 2.6 1.8.1.1.2.2.3.2H12c.8 0 1.4-.7 1.4-1.5V7.4c0-.2-.2-.4-.4-.4z"}],circle:[{cx:"16.32",cy:"16.32",r:"1.44"},{cx:"7.68",cy:"16.32",r:"1.44"}]}},custom99:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 8.6h-4.1c-.1-.2-.3-.5-.5-.7L14.7 6c.3-.4.2-.8-.1-1.1s-.8-.1-1 .2l-1.7 2.1h-.8L9.5 5.1c-.3-.3-.7-.4-1.1-.2-.3.3-.3.7-.1 1.1l1.5 1.9c-.2.2-.3.5-.5.7H6.2c-.8 0-1.4.7-1.4 1.5v6.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-6.7c0-.8-.6-1.5-1.4-1.5zm-2 7.7c0 .3-.2.5-.4.5H6.7c-.2 0-.5-.2-.5-.5v-5.7c0-.3.3-.5.5-.5h8.7c.2 0 .4.2.4.5v5.7zm1.7-2.4c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.7.3.7.7-.3.7-.7.7zm0-2.4c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.7.3.7.7-.3.7-.7.7z"}},viewBox:"0 0 24 24"},De={ai:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#FFC35E"},{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#FFB446"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#fff"},{d:"M9.1 20.2c-.2 0-.3 0-.3-.2l-.4-.8H6.2l-.3.8c-.1.2-.2.2-.3.2-.2 0-.3-.1-.3-.3v-.1l1.6-3.9c0-.1.2-.3.4-.3s.4.2.5.3l1.5 3.9c0 .1.1.1.1.1 0 .2-.2.3-.3.3zm-1.8-3.9l-.9 2.4h1.9l-1-2.4zm3.2 3.9c-.1 0-.3-.1-.3-.3v-4c0-.1.2-.3.3-.3.2 0 .3.2.3.3v4c0 .2-.1.3-.3.3z",fill:"#fff"}]},attachment:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z",fill:"#8199AF"},{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#617F9B"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]},path:{d:"M11.5 15.6c.4-.5.4-1.2 0-1.6s-1.1-.4-1.6 0l-3.4 3.4c-.4.5-.4 1.2 0 1.6s1.1.4 1.5 0l2.1-2.1c.2-.1.2-.3 0-.5s-.3-.1-.4 0l-1.3 1.4c-.2.2-.5.2-.7 0-.2-.2-.2-.5 0-.7L9 15.8c.5-.5 1.3-.5 1.8 0s.5 1.3 0 1.7l-2.1 2.2c-.8.7-2.1.7-2.9 0-.8-.8-.8-2.1 0-2.9l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2.1 0 2.9l-.3.4c0-.4-.1-.7-.4-1l.1-.1z",fill:"#fff"}},audio:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z",fill:"#379FD3"},{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z",fill:"#2987C8"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"},{d:"M12.7 12.8l-5.3.6v5.1c-.3-.1-.6-.1-1 0-.7.1-1.2.6-1.1 1.1.2.4.9.7 1.6.5.7-.1 1.2-.5 1.2-.9v-4l3.9-.5v3.1c-.3-.1-.6-.1-1 0-.8.1-1.3.6-1.1 1.1.1.4.9.7 1.6.5.7-.1 1.2-.5 1.2-1v-5.6z",fill:"#fff"}]}},box_notes:{xmlns:"http://www.w3.org/2000/svg",path:[{fill:"#277A84",d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z"},{fill:"#1E5B60",d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z"},{opacity:".5",fill:"#fff",d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z"},{fill:"#fff",d:"M11.7 14.8l.8-.8H5.4s-.1 0-.1.1v.5c0 .1.1.1.1.1h6.3zm-2.8 2.7l.8-.8H5.4s-.1 0-.1.1v.5l.1.2h3.5zM7 20.2l.1-.8H5.4s-.1 0-.1.2v.5c0 .1.1.1.1.1H7zm.3 0h.8c.1-.1.2-.1.2-.1l4.9-5s-.2.2-.6-.2c-.3-.3-.2-.5-.2-.5l-4.8 4.8c-.1.1-.1.2-.1.2 0 .1-.2.8-.2.8zm5.7-6.4l-.4.4v.2c0 .1.2.5.6.6 0 0 .1 0 .2-.1.1 0 .4-.4.4-.4s.1 0 0-.2c0-.2-.3-.5-.6-.6-.1 0-.2.1-.2.1z"}]},csv:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#45B058"},{d:"M9.1 16.2c.1.1.1.1.1.2s-.1.3-.3.3c0 0-.1-.1-.2-.1-.2-.3-.7-.5-1.1-.5-1 0-1.7.7-1.7 1.8s.7 1.8 1.7 1.8c.4 0 .9-.2 1.1-.5.1-.1.2-.1.2-.1.2 0 .3.2.3.3 0 .1 0 .1-.1.2-.3.3-.8.6-1.5.6-1.3 0-2.3-.9-2.3-2.3s1-2.3 2.3-2.3c.7 0 1.2.2 1.5.6zm2.6 4c-.7 0-1.2-.2-1.6-.5-.1-.1-.1-.2-.1-.2 0-.2.1-.3.3-.3h.1c.3.3.8.5 1.3.5.8 0 1-.4 1-.8 0-1.1-2.6-.5-2.6-2.1 0-.7.6-1.2 1.5-1.2.6 0 1.1.1 1.5.4 0 .1.1.2.1.2 0 .2-.2.3-.3.3h-.2c-.3-.3-.7-.4-1.1-.4-.6 0-.9.3-.9.7 0 1 2.6.4 2.6 2.1 0 .6-.4 1.3-1.6 1.3zM18 16l-1.5 3.9c-.1.2-.3.3-.5.3s-.4-.1-.4-.3L14 16v-.1c0-.1.1-.3.3-.3.1 0 .2.1.3.2l1.4 3.7 1.5-3.7c0-.1.1-.2.3-.2.1 0 .3.1.3.3 0 0 0 .1-.1.1z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z",fill:"#349C42"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},eps:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#FFC35E"},{d:"M8 20.2H5.7c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4H8c.2 0 .3.1.3.3 0 .1-.1.2-.3.2H5.9v1.5H8c.1 0 .2.1.2.2 0 .2-.1.3-.2.3H5.9v1.5H8c.2 0 .3.1.3.3 0 .1-.1.2-.3.2zm3.1-1.8H9.9V20c0 .1-.2.3-.3.3-.2 0-.3-.2-.3-.3v-3.9c0-.2.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.4 0 .7-.5 1.3-1.4 1.3zm-.1-2.2H9.9v1.7H11c.6 0 .9-.3.9-.8s-.3-.9-.9-.9zm3.9 4.1c-.7 0-1.2-.2-1.6-.6 0 0-.1-.1-.1-.2s.1-.2.3-.2h.2c.3.3.7.5 1.2.5.8 0 1.1-.4 1.1-.8 0-1.1-2.7-.5-2.7-2.1 0-.7.7-1.3 1.6-1.3.5 0 1 .2 1.4.5.1.1.1.2.1.2 0 .2-.1.3-.3.3 0 0-.1 0-.1-.1-.4-.2-.8-.4-1.2-.4-.5 0-.9.3-.9.8 0 1 2.7.4 2.7 2.1 0 .6-.5 1.3-1.7 1.3z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8c-.9 0-2.4-.5-2.3-2.5 0 0 .1 2.1 2.3 2.1h4.8z",fill:"#FFB446"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},excel:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#45B058"},{d:"M8.8 20.2c-.1 0-.2 0-.2-.1l-1.4-1.8-1.4 1.8c-.1.1-.1.1-.2.1-.2 0-.3-.1-.3-.2s0-.2.1-.2l1.4-1.9-1.3-1.8c-.1-.1-.1-.1-.1-.2s.1-.3.3-.3c.1 0 .1.1.2.1l1.3 1.8 1.3-1.8s.1-.1.2-.1.3.2.3.3c0 .1-.1.1-.1.2l-1.3 1.8L9 19.8l.1.1c0 .2-.2.3-.3.3zm3.7 0h-2c-.2 0-.4-.2-.4-.4v-3.9c0-.1.1-.3.3-.3.1 0 .2.2.2.3v3.8h1.9c.2 0 .3.1.3.2 0 .2-.1.3-.3.3zm2.6.1c-.6 0-1.1-.3-1.5-.6-.1-.1-.1-.1-.1-.2s.1-.3.2-.3.2 0 .2.1c.3.2.8.5 1.3.5.8 0 1-.5 1-.8 0-1.2-2.6-.5-2.6-2.1 0-.8.6-1.3 1.5-1.3.6 0 1.1.2 1.5.5v.2c0 .1-.1.3-.2.3s-.1-.1-.2-.1c-.3-.3-.7-.4-1.1-.4-.6 0-1 .3-1 .7 0 1 2.7.5 2.7 2.1 0 .7-.4 1.4-1.6 1.4z",fill:"#fff"},{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#349C42"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#fff"}]},exe:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1.1.9 1.9 1.9 1.9h17.2c1 0 1.9-.8 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#8199AF"},{d:"M8 20.2H5.7c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4H8c.2 0 .3.1.3.3 0 .1-.1.2-.3.2H5.9v1.5H8c.1 0 .2.1.2.2 0 .2-.1.3-.2.3H5.9v1.5H8c.2 0 .3.1.3.3 0 .1-.1.2-.3.2zm4.6.1c-.1 0-.2-.1-.2-.1L11 18.3l-1.4 1.9c-.1 0-.1.1-.2.1-.2 0-.3-.1-.3-.3 0-.1 0-.1.1-.2l1.4-1.9-1.3-1.8c-.1 0-.1-.1-.1-.2s.1-.2.3-.2c.1 0 .1 0 .2.1l1.3 1.7 1.3-1.7c0-.1.1-.1.2-.1s.2.1.2.2v.2l-1.4 1.8 1.5 1.9c0 .1.1.1.1.2s-.2.3-.3.3zm4-.1h-2.3c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4h2.3c.2 0 .3.1.3.3 0 .1-.1.2-.3.2h-2.2v1.5h2.2c.1 0 .2.1.2.2 0 .2-.1.3-.2.3h-2.2v1.5h2.2c.2 0 .3.1.3.3 0 .1-.1.2-.3.2z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#617F9B"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},flash:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#E53C3C"},{d:"M8 16.2H5.9v1.4H8c.1 0 .2.1.2.3 0 .1-.1.2-.2.2H5.9v1.8c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h2.4c.1 0 .2.1.2.2 0 .2-.1.3-.3.3zm3.6 4h-2c-.2 0-.4-.2-.4-.4v-3.9c0-.2.1-.3.3-.3.1 0 .2.1.2.3v3.8h1.9c.2 0 .3.1.3.2 0 .2-.1.3-.3.3zm4.6 0c-.1 0-.2-.1-.3-.2l-.3-.8h-2.2l-.4.8c0 .1-.1.2-.2.2-.2 0-.3-.1-.3-.3v-.1l1.5-3.9c.1-.2.3-.3.5-.3s.4.1.4.3l1.6 3.9v.1c0 .1-.1.3-.3.3zm-1.7-4l-1 2.5h1.9l-.9-2.5z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#DE2D2D"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},folder:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M20.8 5.8a1.7 1.7 0 0 1 1.7 1.7v11.6a1.7 1.7 0 0 1-1.7 1.7H3.2a1.7 1.7 0 0 1-1.7-1.7V4.9a1.7 1.7 0 0 1 1.7-1.7h4.3c1.4 0 1.6.4 2.5 1.7.8 1 2.7.9 3.9.9z",fill:"#003462"},{d:"M20.8 6.8H5a1.7 1.7 0 0 0-1.7 1.7v1.1l1.6-2.5h15.9l1.7 2.5V8.5a1.7 1.7 0 0 0-1.7-1.7z",fill:"#87c8f2"},{d:"M3.2 20.8h17.6a1.7 1.7 0 0 0 1.7-1.7V8.8a1.7 1.7 0 0 0-1.7-1.7H5a1.7 1.7 0 0 0-1.7 1.7v10.3a1.7 1.7 0 0 1 0 .3.9.9 0 0 1-1.8 0 1.7 1.7 0 0 0 1.7 1.4z",fill:"#00a1e0"}]},gdoc:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#3C8CEA"},{d:"M5.3 14h8.1v.8H5.3zm0 1.8h8.1v.8H5.3zm0 1.8h8.1v.8H5.3zm0 1.8h4.6v.8H5.3z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#2D6FE4"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},gdocs:{xmlns:"http://www.w3.org/2000/svg",path:[{fill:"#3C8CEA",d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z"},{fill:"#2D6FE4",d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z"},{opacity:".5",fill:"#fff",d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z"},{fill:"#fff",d:"M11.2 16.9H8.4v.8h2c-.1 1.2-1.1 1.7-2 1.7-1.2 0-2.3-.9-2.3-2.2 0-1.3 1-2.3 2.3-2.3.9 0 1.5.6 1.5.6l.6-.6s-.8-.8-2.1-.8c-1.8 0-3.2 1.5-3.2 3.1s1.3 3.1 3.2 3.1c1.6 0 2.9-1.1 2.9-2.8-.1-.4-.1-.6-.1-.6z"}]},gform:{xmlns:"http://www.w3.org/2000/svg",path:[{fill:"#673AB7",d:"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z"},{fill:"#45317C",d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z"},{opacity:".5",fill:"#fff",d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z"},{fill:"#fff",d:"M6.3 14.8c0-.2-.1-.3-.3-.3h-.5c-.1 0-.2.1-.2.3v.5c0 .1.1.2.2.2H6c.2 0 .3-.1.3-.2v-.5zm7 0c0-.2-.1-.3-.2-.3H7.2c-.2 0-.3.1-.3.3v.5c0 .1.1.2.3.2h5.9c.1 0 .2-.1.2-.2v-.5zm-7 2.3c0-.1-.1-.2-.3-.2h-.5c-.1 0-.2.1-.2.2v.5c0 .2.1.3.2.3H6c.2 0 .3-.1.3-.3v-.5zm7 0c0-.1-.1-.2-.3-.2H7.2c-.1 0-.3.1-.3.2v.5c0 .2.2.3.3.3H13c.2 0 .3-.1.3-.3v-.5zm-7 2.4c0-.2-.1-.3-.3-.3h-.5c-.1 0-.2.1-.2.3v.5c0 .1.1.2.2.2H6c.2 0 .3-.1.3-.2v-.5zm7 0c0-.2-.1-.3-.2-.3H7.2c-.2 0-.3.1-.3.3v.5c0 .1.1.2.3.2h5.9c.1 0 .2-.1.2-.2v-.5z"}]},gpres:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#F8BE46"},{d:"M5.3 14v4.5H10V14H5.3zm4.2 3.7H5.7v-2.8h3.8v2.8zm.3-2v.9h3.1v2.8H9.1v-1.1h-.4v1.9h4.7v-4.5H9.8z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#F6AD34"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},gsheet:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#20A971"},{d:"M5.3 14v6.2h8.1V14H5.3zm2.4 5.7H5.8v-1.3h1.9v1.3zm0-1.9H5.8v-1.3h1.9v1.3zm0-1.9H5.8v-1.3h1.9v1.3zm5.1 3.8H8.3v-1.3h4.5v1.3zm0-1.9H8.3v-1.3h4.5v1.3zm0-1.9H8.3v-1.3h4.5v1.3z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#189355"},{d:"M15.4 0v5.4c0 .7.4 2.2 2.3 2.2h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},html:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#F7622C"},{d:"M8.6 19.1s-.1 0-.1-.1l-2.9-1.2c-.1-.1-.3-.3-.3-.5s.2-.4.3-.5l2.9-1.2c0-.1.1-.1.1-.1.2 0 .3.2.3.4 0 .1 0 .2-.2.3l-2.6 1.1 2.6 1.1c.2.1.2.2.2.3 0 .2-.1.4-.3.4zm3.2-4.2l-1.7 5c0 .2-.2.2-.3.2-.2 0-.4-.1-.4-.3 0 0 0-.1.1-.1l1.6-5c.1-.1.2-.2.4-.2s.3.1.3.3v.1zm3.8 2.9L12.8 19c-.1.1-.1.1-.2.1s-.3-.2-.3-.4c0-.1.1-.2.2-.3l2.6-1.1-2.6-1.1c-.1-.1-.2-.2-.2-.3 0-.2.2-.4.3-.4.1 0 .1 0 .2.1l2.8 1.2c.2.1.3.3.3.5s-.1.4-.3.5z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#F54921"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},image:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1.1.9 1.9 1.9 1.9h17.2c1 0 1.9-.8 1.9-1.9V7.6L15.4 0h-12z",fill:"#49C9A7"},{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#37BB91"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]},path:{d:"M5.3 20.2v-7.9h7.8v7.9H5.3zm7-7.1H6.1v4.7h6.2v-4.7zm-3.5 3.1l1.4-1.9.5.8.5-.2.4 2.1H6.7L8 15.8l.8.4zm-1.5-1.3c-.3 0-.6-.3-.6-.6s.3-.6.6-.6.6.3.6.6-.3.6-.6.6z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#fff"}},keynote:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#DB7A2A"},{d:"M8.2 20.3c-.1 0-.2-.1-.2-.1l-1.7-2-.4.5V20c0 .1-.2.2-.3.2-.2 0-.3-.1-.3-.2v-4.1c0-.1.1-.2.3-.2.1 0 .3.1.3.2V18l1.9-2.2c.1-.1.1-.1.2-.1.2 0 .3.1.3.2s0 .1-.1.2l-1.5 1.7 1.7 2c0 .1.1.1.1.2s-.2.3-.3.3zm4.1-.1H9.9c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4h2.4c.1 0 .2.1.2.3 0 .1-.1.2-.2.2h-2.2v1.5h2.1c.2 0 .3.1.3.2s-.1.3-.3.3h-2.1v1.5h2.2c.1 0 .2.1.2.3 0 .1-.1.2-.2.2zm4.6-4.1l-1.5 2.2V20c0 .1-.1.2-.3.2-.1 0-.3-.1-.3-.2v-1.7l-1.5-2.2v-.2c0-.1.1-.2.3-.2 0 0 .1 0 .2.1l1.3 2 1.4-2c0-.1.1-.1.2-.1s.3.1.3.2-.1.1-.1.2z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#D25B1F"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},library_folder:{xmlns:"http://www.w3.org/2000/svg",path:[{fill:"#003462",d:"M20.8 5.8c1 0 1.7.8 1.7 1.7v11.6c0 1-.7 1.7-1.7 1.7H3.2c-.9 0-1.7-.7-1.7-1.7V4.9c0-1 .8-1.7 1.7-1.7h4.3c1.4 0 1.6.4 2.5 1.7.8 1 2.7.9 3.9.9h6.9z"},{fill:"#87C8F2",d:"M20.8 6.8H4.9c-.9 0-1.6.7-1.6 1.7v1.1l1.6-2.5h15.9l1.7 2.5V8.5c0-1-.7-1.7-1.7-1.7z"},{fill:"#00A1E0",d:"M3.2 20.8h17.6c1 0 1.7-.7 1.7-1.7V8.8c0-.9-.7-1.7-1.7-1.7H5c-.9 0-1.7.7-1.7 1.7v10.6c0 .5-.4.9-.9.9s-.9-.4-.9-.9c.2.8.9 1.4 1.7 1.4z"},{d:"M11.1 14.2h1.3v4.3h-1.3zm2.3 0h1.3v4.3h-1.3zm5.5-2.3l-5.6-2.3c-.2-.1-.3-.1-.4-.1-.1 0-.2 0-.5.1l-5.6 2.3c-.1.1-.2.2-.2.3v.4c0 .2.2.3.4.3h1.1v5.3c0 .1.1.3.3.3h1.7v-4.3h-.7c-.1 0-.2-.1-.2-.3v-.4c0-.2.1-.2.2-.2h6.9c.1 0 .2 0 .2.2v.4c0 .2-.1.3-.2.3h-.7v4.3h1.7c.2 0 .3-.2.3-.4v-5.2h1.1c.2 0 .3-.2.3-.3v-.3c.1-.2 0-.3-.1-.4zm-6 .2c-.5 0-.8-.3-.8-.7 0-.4.4-.7.8-.7s.7.3.7.7c0 .4-.3.7-.7.7z",fill:"#fff"}]},link:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#0C8FE8"},{d:"M12.1 13.4c-.8-.8-2-.8-2.8 0l-1.2 1.1c-.8.8-.8 2 0 2.8.2.2.5.2.7 0 .2-.2.2-.4 0-.6-.5-.4-.5-1.1 0-1.5L9.9 14c.4-.4 1.1-.4 1.5 0 .5.4.5 1.1 0 1.5l-.5.6c.1.3.2.7.2 1.1l1-1c.8-.8.8-2.1 0-2.8zm-2.9 2.2c-.2.2-.2.5 0 .6.4.5.4 1.1 0 1.6l-1.1 1.1c-.5.4-1.1.4-1.6 0-.4-.4-.4-1.1 0-1.5l.6-.6c-.2-.3-.2-.7-.2-1.1l-1 1c-.8.8-.8 2.1 0 2.9.8.7 2 .7 2.8 0l1.2-1.2c.7-.8.7-2 0-2.8-.2-.2-.5-.2-.7 0z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#0973E2"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},mp4:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z",fill:"#9B64B2"},{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#824B9E"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]},path:{d:"M9.4 20.2c-.1 0-.3-.1-.3-.3v-3.4l-1.5 3.6c0 .1 0 .1-.1.1s-.1 0-.1-.1l-1.5-3.6v3.4c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.5.5-.5.1 0 .3.1.4.3L7.5 19l1.3-3.1c.1-.2.3-.3.4-.3.3 0 .5.2.5.5v3.8c0 .2-.1.3-.3.3zm3.3-1.8h-1.2v1.5c0 .2-.1.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3 0 .8-.5 1.4-1.4 1.4zm0-2.2h-1.2v1.7h1.2c.5 0 .9-.4.9-.9s-.4-.8-.9-.8zm5.2 2.8h-.5v.9c0 .2-.1.3-.2.3-.2 0-.3-.1-.3-.3V19H15c-.2 0-.3-.1-.3-.3 0 0 0-.1.1-.2l1.8-2.7c.1-.1.2-.2.4-.2s.4.2.4.5v2.4h.5c.1 0 .2.1.2.3 0 .1-.1.2-.2.2zm-1-2.8l-1.6 2.3h1.6v-2.3z",fill:"#fff"}},overlay:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#A382D8"},{d:"M5.3 12.9v5.3h5.5v-5.3H5.3zm2 2v5.3h5.5v-5.3H7.3z",fill:"#fff"},{fill:"#CBBBEF",d:"M7.3 14.9h3.5v3.3H7.3z"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#8C62CE"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},pack:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#4E74B7"},{d:"M12.4 15.3v4.5c0 .2-.2.4-.4.4H5.7c-.2 0-.4-.2-.4-.4v-4.5-.1l.6-1.8c.1-.2.2-.3.4-.3h5.1c.2 0 .4.1.4.3l.6 1.8v.1zm-.9 0l-.4-1.3H6.7l-.5 1.3h5.3z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#3A57A5"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},pages:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#6A6AE2"},{d:"M7.1 18.4H5.9v1.5c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3s-.5 1.4-1.4 1.4zM7 16.2H5.9v1.7H7c.6 0 .9-.4.9-.9s-.3-.8-.9-.8zm4.6 4.1c-1.3 0-2.4-1-2.4-2.4s1.1-2.3 2.4-2.3c.6 0 1.2.2 1.5.6.1.1.1.1.1.2s-.1.3-.3.3c0 0-.1-.1-.2-.1-.2-.3-.7-.5-1.1-.5-1 0-1.8.7-1.8 1.8s.8 1.9 1.8 1.9c.5 0 .9-.3 1.2-.5v-1h-1.4c-.1 0-.2-.1-.2-.2s.1-.2.2-.2h1.5c.3 0 .4.1.4.4v.8c0 .7-.9 1.2-1.7 1.2zm4.3-.1c-.7 0-1.2-.2-1.6-.5-.1-.1-.1-.1-.1-.2 0-.2.1-.3.3-.3 0 0 .1 0 .1.1.3.2.8.4 1.3.4.8 0 1.1-.4 1.1-.7 0-1.2-2.7-.5-2.7-2.2 0-.7.6-1.2 1.5-1.2.6 0 1.1.2 1.5.5 0 0 .1.1.1.2s-.1.2-.3.2h-.2c-.3-.3-.7-.4-1.1-.4-.6 0-.9.3-.9.7 0 1 2.6.4 2.6 2.1 0 .7-.4 1.3-1.6 1.3z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#4F4FDA"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},pdf:{xmlns:"http://www.w3.org/2000/svg",path:[{fill:"#8C181A",d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z"},{fill:"#6B0D12",d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z"},{opacity:".5",fill:"#fff",d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z"},{fill:"#fff",d:"M7.1 18.4H5.8v1.5c0 .2-.1.3-.3.3-.1 0-.2-.1-.2-.3v-3.8c0-.2.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3 0 .8-.5 1.4-1.4 1.4zM7 16.2H5.8v1.7H7c.6 0 .9-.3.9-.9s-.3-.8-.9-.8zm3.9 4H9.8c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4h1.1c1.4 0 2.4.9 2.4 2.2s-.9 2.3-2.4 2.3zm0-4H10v3.5h.9c1.1 0 1.8-.8 1.8-1.8 0-.9-.6-1.7-1.8-1.7zm6.2 0h-2.2v1.4H17c.2 0 .3.1.3.3s-.2.2-.3.2h-2.1v1.8c0 .2-.1.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.2.2-.4.4-.4h2.4c.1 0 .2.1.2.2s-.1.3-.2.3z"}]},ppt:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#E34221"},{d:"M7.1 18.4H5.9v1.5c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3 0 .8-.5 1.4-1.4 1.4zM7 16.2H5.9v1.7H7c.6 0 .9-.4.9-.9s-.3-.8-.9-.8zm4.2 2.2H10v1.5c0 .2-.1.3-.3.3-.1 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.5.6 1.5 1.3 0 .8-.6 1.4-1.5 1.4zm0-2.2H10v1.7h1.2c.5 0 .9-.4.9-.9s-.4-.8-.9-.8zm5.3 0h-1.3v3.7c0 .2-.1.3-.2.3-.2 0-.3-.1-.3-.3v-3.7h-1.2c-.2 0-.3-.1-.3-.3 0-.1.1-.2.3-.2h3c.1 0 .2.1.2.2 0 .2-.1.3-.2.3z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#DC3119"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},psd:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1.1.9 1.9 1.9 1.9h17.2c1 0 1.9-.8 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#0C77C6"},{d:"M7.1 18.4H5.9v1.5c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3v-3.8c0-.3.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.3 0 .8-.5 1.4-1.4 1.4zM7 16.2H5.9v1.7H7c.6 0 .9-.4.9-.9s-.3-.8-.9-.8zm3.9 4.1c-.7 0-1.2-.3-1.6-.6-.1-.1-.1-.1-.1-.2s.1-.3.3-.3c0 0 .1 0 .1.1.4.2.8.4 1.3.4.8 0 1.1-.4 1.1-.7 0-1.2-2.7-.5-2.7-2.2 0-.7.7-1.2 1.5-1.2.6 0 1.1.2 1.5.5.1 0 .1.1.1.2s-.1.2-.3.2H12c-.4-.3-.8-.4-1.2-.4-.5 0-.9.3-.9.7 0 1 2.6.4 2.6 2.1 0 .7-.4 1.3-1.6 1.3zm4.2-.1H14c-.3 0-.4-.2-.4-.4v-3.7c0-.3.1-.4.4-.4h1.1c1.4 0 2.3.9 2.3 2.2 0 1.3-.9 2.3-2.3 2.3zm0-4h-1v3.5h1c1.1 0 1.7-.8 1.7-1.8s-.6-1.7-1.7-1.7z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#0959B7"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},quip_doc:{xmlns:"http://www.w3.org/2000/svg",path:[{fill:"#29B6F2",d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z"},{fill:"#2987C8",d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z"},{opacity:".5",fill:"#fff",d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z"},{d:"M9.3 17.1c0-1.5-1.1-2.8-2.9-2.8s-2.9 1.3-2.9 2.8S4.6 20 6.4 20c.4 0 .7-.1 1-.2l.9.9.8-.8-.7-.7c.6-.6.9-1.3.9-2.1zm-1.8 1.2l-.3-.3h-.8v.8c-1 0-1.6-.8-1.6-1.7 0-.9.6-1.7 1.6-1.7s1.6.8 1.6 1.7c0 .4-.2.9-.5 1.2zm4.3.6c-.2 0-.4-.1-.5-.2-.1-.2-.2-.4-.2-.7v-1.9H10V18c0 .4 0 .7.1.9.1.2.2.4.3.5.2.2.4.3.7.4.2.1.5.1.7.1s.6 0 .8-.1c.3-.1.5-.2.7-.4.1-.1.2-.3.3-.5s.1-.5.1-.9v-1.9h-1.1V18c0 .3-.1.5-.2.7-.1.1-.3.2-.5.2h-.1zm2.6-2.9h1.2v3.8h-1.2zm4.3 0c-.5 0-1 .3-1.2.6v-.5h-1.1v5.4h1.1v-2.2c.2.3.7.6 1.2.6 1.1 0 1.8-.8 1.8-1.9 0-1.1-.7-2-1.8-2zm-.2 2.9c-.5 0-.9-.4-.9-.9 0-.6.4-1 .9-1s.9.5.9 1c-.1.5-.4.9-.9.9zM15 14.1c-.4 0-.7.3-.7.8s.3.7.7.7c.5 0 .8-.3.8-.7 0-.5-.3-.8-.8-.8z",fill:"#fff"}]},quip_sheet:{xmlns:"http://www.w3.org/2000/svg",path:[{fill:"#30C85A",d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z"},{fill:"#2AA848",d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z"},{opacity:".5",fill:"#fff",d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z"},{fill:"#fff",d:"M9.3 17.1c0-1.5-1.1-2.8-2.9-2.8s-2.9 1.3-2.9 2.8S4.6 20 6.4 20c.4 0 .7-.1 1-.2l.9.9.8-.8-.7-.7c.6-.6.9-1.3.9-2.1zm-1.8 1.2l-.3-.3h-.8v.8c-1 0-1.6-.8-1.6-1.7 0-.9.6-1.7 1.6-1.7s1.6.8 1.6 1.7c0 .4-.2.9-.5 1.2zm4.3.6c-.2 0-.4-.1-.5-.2-.1-.2-.2-.4-.2-.7v-1.9H10V18c0 .4 0 .7.1.9.1.2.2.4.3.5.2.2.4.3.7.4.2.1.5.1.7.1s.6 0 .8-.1c.3-.1.5-.2.7-.4.1-.1.2-.3.3-.5.1-.2.1-.5.1-.9v-1.9h-1.1V18c0 .3-.1.5-.2.7-.1.1-.3.2-.5.2h-.1zm2.6-2.9h1.2v3.8h-1.2zm4.3 0c-.5 0-1 .3-1.2.6v-.5h-1.1v5.4h1.1v-2.2c.2.3.7.6 1.2.6 1.1 0 1.8-.8 1.8-1.9 0-1.1-.7-2-1.8-2zm-.2 2.9c-.5 0-.9-.4-.9-.9 0-.6.4-1 .9-1s.9.5.9 1c-.1.5-.4.9-.9.9zM15 14.1c-.4 0-.7.3-.7.8s.3.7.7.7c.5 0 .8-.3.8-.7 0-.5-.3-.8-.8-.8z"}]},rtf:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#00A1EE"},{d:"M7.4 18.3l.9 1.5.1.1c0 .2-.2.3-.3.3-.1 0-.2-.1-.2-.1l-1.1-1.7h-.9v1.5c0 .2-.2.3-.3.3-.2 0-.3-.1-.3-.3V16c0-.2.2-.4.4-.4h1.4c.8 0 1.4.6 1.4 1.4 0 .8-.5 1.3-1.1 1.3zm-1.5-2.2v1.8H7c.6 0 .9-.4.9-.9s-.3-.9-.9-.9H5.9zm6.5 0h-1.2v3.8c0 .2-.1.3-.3.3-.2 0-.3-.1-.3-.3v-3.8H9.4c-.1 0-.2-.1-.2-.2s.1-.3.2-.3h3c.1 0 .3.2.3.3 0 .1-.2.2-.3.2zm3.9 0h-2.2v1.5h2.1c.2 0 .3.1.3.3 0 .1-.1.2-.3.2h-2.1v1.8c0 .2-.1.3-.3.3-.2 0-.3-.1-.3-.3V16c0-.2.2-.4.4-.4h2.4c.1 0 .2.2.2.3 0 .1-.1.2-.2.2z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#0089E9"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},slide:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#1AB6D9"},{d:"M5.3 13v7.2h7.5V13H5.3zm6.8 5.8H6v-4.4h6.1v4.4z",fill:"#fff"},{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#13A3CF"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 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:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z",fill:"#DDD965"},{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#C1BC45"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"},{d:"M12.5 13.1H5.9c-.3 0-.6.2-.6.5v6c0 .4.3.6.6.6h5l2.2-2.2v-4.4c0-.3-.2-.5-.6-.5z",fill:"#fff"},{fill:"#DBD75D",d:"M6.7 16.3h5.1v.6H6.7zm0-1.3h5.1v.6H6.7zm0 2.7H10v.6H6.7z"}]}},txt:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#F9CA06"},{d:"M8.5 16.1H7.3v3.8c0 .2-.1.3-.3.3-.1 0-.3-.1-.3-.3v-3.8H5.5c-.1 0-.2-.1-.2-.2s.1-.3.2-.3h3c.2 0 .3.2.3.3 0 .1-.1.2-.3.2zm4.4 4.1c-.1 0-.1 0-.2-.1l-1.4-1.9-1.4 1.9c0 .1-.1.1-.2.1s-.3-.1-.3-.3l.1-.1 1.5-2L9.6 16l-.1-.1c0-.2.2-.3.3-.3.1 0 .2 0 .2.1l1.3 1.7 1.3-1.7c.1-.1.1-.1.2-.1.2 0 .3.1.3.3 0 0 0 .1-.1.1l-1.3 1.8 1.4 2c.1 0 .1.1.1.1 0 .2-.1.3-.3.3zm4.2-4.1h-1.2v3.8c0 .2-.1.3-.3.3-.1 0-.3-.1-.3-.3v-3.8h-1.2c-.1 0-.2-.1-.2-.2s.1-.3.2-.3h3c.2 0 .3.2.3.3 0 .1-.1.2-.3.2z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.3 2.1h4.8z",fill:"#F7BC04"},{d:"M15.4 0v5.4c0 .7.4 2.2 2.3 2.2h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},unknown:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z",fill:"#8199AF"},{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#617F9B"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},video:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#8E4C9E"},{d:"M10.7 17.1c0 .1-.1.2-.2.3 0 .1-1.9 1.7-4.4 2.7h-.5c-.1-.1-.2-.2-.2-.4 0-.1-.1-1.3-.1-2.6s.1-2.6.1-2.6c0-.2.1-.3.2-.4.1-.1.2-.1.3-.1h.2c2.5 1 4.4 2.6 4.4 2.7.1.1.2.2.2.4z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#713985"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},visio:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#496AB3"},{d:"M9.3 16l-1.5 3.9c-.1.2-.3.3-.5.3s-.4-.1-.4-.3L5.3 16v-.1c0-.1.1-.3.3-.3.1 0 .2.1.3.2l1.4 3.7 1.5-3.7c0-.1.1-.2.3-.2.1 0 .3.1.3.3 0 0 0 .1-.1.1zm1.2 4.2c-.1 0-.3-.1-.3-.3v-4c0-.2.2-.3.3-.3.2 0 .3.1.3.3v4c0 .2-.1.3-.3.3zm3 0c-.7 0-1.2-.2-1.6-.5-.1-.1-.1-.2-.1-.2 0-.2.1-.3.3-.3h.1c.4.3.8.5 1.3.5.8 0 1.1-.4 1.1-.7 0-1.2-2.7-.6-2.7-2.2 0-.7.7-1.2 1.5-1.2.6 0 1.1.2 1.5.5.1 0 .1.1.1.2s-.1.2-.3.2h-.1c-.4-.3-.8-.4-1.2-.4-.5 0-.9.3-.9.7 0 1 2.6.4 2.6 2.1 0 .7-.4 1.3-1.6 1.3z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#374FA0"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},webex:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M3.4 0c-1 0-1.9.9-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z",fill:"#80BC4B"},{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#60AB38"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]},path:[{d:"M9.2 20.2c1.9-.1 3.4-1.7 3.4-3.7 0-1.9-1.5-3.5-3.4-3.6v7.3z",fill:"#CFE8AF"},{d:"M8.8 20.2c-2-.1-3.5-1.7-3.5-3.7s1.5-3.5 3.5-3.6v7.3z",fill:"#fff"}]},word:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#14A9DA"},{d:"M6.8 20.2H5.7c-.2 0-.4-.2-.4-.4v-3.7c0-.2.2-.4.4-.4h1.1c1.4 0 2.4 1 2.4 2.3 0 1.2-1 2.2-2.4 2.2zm0-4h-.9v3.5h.9c1.1 0 1.8-.8 1.8-1.7 0-1-.6-1.8-1.8-1.8zm5.4 4.1c-1.3 0-2.2-1-2.2-2.3s.9-2.4 2.2-2.4c1.4 0 2.3 1 2.3 2.4 0 1.3-.9 2.3-2.3 2.3zm0-4.2c-1 0-1.6.8-1.6 1.9 0 1 .6 1.8 1.6 1.8 1.1 0 1.7-.8 1.7-1.8 0-1.1-.6-1.9-1.7-1.9zm7 .2v.2c0 .1-.1.2-.2.2s-.2 0-.2-.1c-.3-.3-.7-.5-1.1-.5-1 0-1.8.8-1.8 1.9 0 1 .8 1.8 1.8 1.8.4 0 .8-.2 1.1-.5 0-.1.1-.1.2-.1s.2.1.2.3v.1c-.4.4-.9.7-1.5.7-1.3 0-2.4-1-2.4-2.4s1.1-2.3 2.4-2.3c.6 0 1.1.3 1.5.7z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#0F93D0"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},xml:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#FC7B24"},{d:"M8.8 20.2c-.1 0-.2 0-.2-.1l-1.4-1.9-1.4 1.9c-.1.1-.2.1-.2.1-.2 0-.3-.1-.3-.3v-.1l1.5-2L5.4 16v-.1c0-.2.1-.3.3-.3 0 0 .1 0 .2.1l1.3 1.7 1.3-1.7c0-.1.1-.1.2-.1s.2.1.2.3v.1l-1.4 1.8 1.5 2v.1c0 .2-.1.3-.2.3zm5.4 0c-.2 0-.3-.1-.3-.3v-3.5l-1.5 3.7c0 .1-.1.1-.1.1-.1 0-.2 0-.2-.1l-1.5-3.7v3.5c0 .2-.1.3-.3.3-.1 0-.2-.1-.2-.3v-3.8c0-.3.2-.5.4-.5s.4.1.5.3l1.3 3.1 1.3-3.1c0-.2.2-.3.4-.3.3 0 .5.2.5.5v3.8c0 .2-.2.3-.3.3zm3.9-.1h-2c-.2 0-.4-.1-.4-.4v-3.8c0-.2.1-.3.3-.3.1 0 .2.1.2.3v3.7h1.9c.2 0 .3.2.3.3 0 .1-.1.2-.3.2z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#FB5C1B"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},zip:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M3.4 0c-1 0-1.9.8-1.9 1.9v20.2c0 1 .9 1.9 1.9 1.9h17.2c1 0 1.9-.9 1.9-1.9V7.6L15.4 0h-12z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#8199AF"},{d:"M8.4 20.2H5.6c-.2 0-.3-.1-.3-.3v-.2l2.6-3.5H5.5c-.1 0-.2-.1-.2-.2 0-.2.1-.3.2-.3h2.8c.2 0 .3.1.3.3 0 .1 0 .2-.1.2L6 19.7h2.4c.1 0 .3.1.3.3 0 .1-.2.2-.3.2zm1.5.1c-.1 0-.3-.2-.3-.3v-4.1c0-.1.2-.2.3-.2.2 0 .3.1.3.2V20c0 .1-.1.3-.3.3zm3.3-1.9H12V20c0 .1-.1.3-.3.3-.2 0-.3-.2-.3-.3v-3.9c0-.2.2-.4.4-.4h1.4c.9 0 1.4.6 1.4 1.4s-.5 1.3-1.4 1.3zm0-2.2H12v1.7h1.2c.5 0 .9-.3.9-.8s-.4-.9-.9-.9z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M22.5 7.6V8h-4.8s-2.4-.5-2.3-2.5c0 0 .1 2.1 2.2 2.1h4.9z",fill:"#617F9B"},{d:"M15.4 0v5.5c0 .6.4 2.1 2.3 2.1h4.8L15.4 0z",opacity:".5",fill:"#fff"}]}},viewBox:"0 0 24 24"},Re={account:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19 12.3c0-.5-.4-.7-.5-.7h-5.3c-.4 0-.5.5-.5.5v5.7H19v-5.5zm-3.6 4c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.5.5-.5h.5c.2 0 .5.3.5.5v.5zm0-2.5c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.4zm2.4 2.5c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.5.5-.5h.5c.2 0 .5.3.5.5v.5zm0-2.5c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.4zm-3.6-4.1V6.9c0-.5-.4-.7-.5-.7H5.6c-.5 0-.6.5-.6.6v11h6.3v-7.1s0-.5.5-.5h1.9s.5-.3.5-.5zm-6.5 6.4c0 .2-.2.4-.5.4h-.5c-.2 0-.5-.2-.5-.4v-.5c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.2 0-.5-.3-.5-.5v-.5c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .3-.2.5-.5.5h-.5c-.2 0-.5-.2-.5-.5v-.4c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v.4zm0-2.4c0 .3-.2.5-.5.5h-.5c-.2 0-.5-.2-.5-.5v-.5c0-.3.3-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm2.6 7.4c0 .2-.2.4-.5.4h-.4c-.3 0-.5-.2-.5-.4v-.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.4c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.5zm0-2.5c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.4zm0-2.4c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.5zm2.7 0c0 .3-.3.5-.5.5H12c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5z"}},action_list_component:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.6 15.3h7.1c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5h-7.1c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5zm0-4.3h7.1c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5h-7.1c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5zm0-4.2h7.1c.3 0 .5.2.5.4v1c0 .3-.2.5-.5.5h-7.1c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4zM7 6.8c-.6 0-1 .4-1 .9s.4 1 1 1 .9-.4.9-1-.4-.9-.9-.9zm0 8.5c-.6 0-1 .5-1 1s.4 1 1 1 .9-.5.9-1-.4-1-.9-1zm0-5.5c-1.2 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2 2.1-1 2.1-2.2S8.2 9.8 7 9.8zm0 2.9c-.4 0-.8-.3-.8-.7 0-.4.4-.7.8-.7s.7.3.7.7c0 .4-.3.7-.7.7z"}},actions_and_buttons:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.6 17.9c.2 0 .4-.2.4-.5v-4.9c.1-.3-.1-.5-.3-.5H6.6c-.3 0-.5.2-.5.4v1c0 .2.2.4.4.4h1.7c.1 0 .3.2.3.3 0 .1-.1.2-.1.3L5 17.7c-.2.2-.2.5 0 .7l.7.6c.2.2.4.2.6 0l3.4-3.4c.1-.1.3-.1.5 0v1.8c0 .3.2.5.4.5h1zm1.8.7c1.3-.2 2.7-.8 3.7-1.9 2.7-2.7 2.7-7.1 0-9.8s-7.1-2.7-9.8 0c-1.1 1-1.7 2.3-1.9 3.7h1.4c.2-1 .7-1.9 1.5-2.7 2.1-2.2 5.7-2.2 7.8 0s2.2 5.7 0 7.8c-.7.8-1.7 1.3-2.7 1.5v1.4zm0-2.8c.7-.2 1.3-.5 1.7-1 1.7-1.7 1.7-4.3 0-5.9s-4.2-1.7-5.9 0c-.5.5-.8 1.1-1 1.7h1.5c.1-.3.3-.5.5-.8 1.1-1.1 2.9-1.1 4 0s1 2.9 0 4c-.3.2-.5.3-.8.5v1.5z"}},address:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.8 4.5a5.7 5.7 0 0 0-5.7 5.8c0 3.9 4 7.5 5.3 8.5a.6.6 0 0 0 .7 0c1.3-1 5.4-4.6 5.4-8.5a5.7 5.7 0 0 0-5.7-5.8zm0 8.1a2.4 2.4 0 1 1 2.4-2.4 2.4 2.4 0 0 1-2.4 2.4z"}},agent_session:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.8 5.2c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3.1.4l-.7 2.1c-.1.4.2.8.6.6l2.1-.7c.2-.1.3 0 .4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7s-3.2-6.7-7.2-6.7zm-2 9.7c0 .1-.1.3-.2.3H8.3c-.1 0-.3-.2-.3-.3v-1.6c0-.2.2-.3.3-.3h1.3c.1 0 .2.1.2.3v1.6zm2.9 0c0 .1-.1.3-.2.3h-1.3c-.2 0-.3-.2-.3-.3v-3.8c0-.1.1-.3.3-.3h1.3c.1 0 .2.2.2.3v3.8zm2.9 0c0 .1-.1.3-.3.3h-1.2c-.2 0-.3-.2-.3-.3V9c0-.2.1-.3.3-.3h1.2c.2 0 .3.1.3.3v5.9z"}},all:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M13.7 10.7c-.4 0-.7-.3-.7-.7V5.9c0-.4.3-.7.7-.7h4.2c.4 0 .7.3.7.7V10c0 .4-.3.7-.7.7h-4.2zm1.8 2.4L13 15.8c-.1.1-.1.4 0 .5l2.5 2.7c.2.2.4.2.6 0l2.5-2.7c.1-.1.1-.4 0-.5l-2.5-2.7c-.2-.1-.5-.1-.6 0z"},{d:"M5.7 6.2l2.1-1.3c.2-.1.4-.1.6 0l2.2 1.3c.2.1.3.3.3.5v2.5c0 .2-.1.4-.3.5l-2.2 1.2c-.1.2-.4.2-.6 0L5.7 9.7c-.2-.1-.4-.3-.4-.5V6.7c0-.2.2-.4.4-.5z"}],circle:{cx:"8.112",cy:"15.984",r:"2.784"}},announcement:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11 17.8l-.3-.3c-.5-.3-.5-.9-.5-1.2v-.8c0-.3-.2-.5-.4-.5H8c-.3 0-.5.2-.5.5v2.3c0 .8.5 1.4 1.2 1.4h1.5c.9 0 1-.6 1-.6s.1-.5-.2-.8zm6.8-8.2V5.5c0-.7-1-.9-1.4-.4l-2.7 2.5c-.5.3-1 .5-1.5.5H7.6C6 8.1 4.8 9.5 4.8 11v.1c0 1.5 1.2 2.7 2.8 2.7h4.6c.6 0 1.1.2 1.5.6l2.7 2.6c.4.4 1.4.3 1.4-.4v-4.1c.9 0 1.4-.6 1.4-1.5 0-.8-.6-1.4-1.4-1.4z"}},answer_best:{xmlns:"http://www.w3.org/2000/svg",title:{},path:[{d:"M11.9 5.2c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.2 0 .4L5 17.7c-.2.4.2.7.6.6l2.1-.8c.1 0 .3 0 .4.1 1.1.6 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7s-3.2-6.7-7.2-6.7zm3.4 5.2l-3.6 3.7c-.2.1-.3.2-.5.2s-.4-.1-.5-.2l-1.8-1.8c-.2-.2-.2-.4 0-.5l.5-.5c.1-.2.3-.2.5 0l1.3 1.3 3.1-3.2c.2-.2.4-.2.5 0l.5.5c.2.1.2.4 0 .5z"},{"fill-opacity":".65",d:"M24 24v-9.1L14.9 24H24zm-1-3.2l-.8.7v.1l.2 1.1c0 .1-.1.1-.1.1l-.9-.5c-.1-.1-.1-.1-.1 0l-1 .5s-.1 0-.1-.1l.2-1.1v-.1l-.8-.7c0-.1 0-.2.1-.2l1-.2h.1l.4-1c0-.1.1-.1.2 0l.4 1h.1l1 .2c.1 0 .1.1.1.2z"}]},answer_private:{xmlns:"http://www.w3.org/2000/svg",title:{},path:[{"fill-opacity":".65",d:"M21.4 20.2c-.3 0-.5.2-.5.4v.3h.9v-.3c0-.2-.2-.4-.4-.4z"},{"fill-opacity":".65",d:"M24 24v-9.1L14.9 24H24zm-1.2-1.6c0 .2-.2.4-.4.4h-2.1c-.2 0-.4-.2-.4-.4v-1.2c0-.2.2-.3.4-.3h.1v-.3c0-.5.4-.9 1-.9s.9.4.9.9v.3h.1c.2 0 .4.1.4.3v1.2z"},{d:"M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3 0 .4l-.6 2.1c-.2.4.2.7.6.6l2.1-.7c.1-.1.3-.1.4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7S16 5.3 12 5.3zm3.5 5.2l-3.7 3.7c-.2.1-.3.2-.5.2s-.4-.1-.5-.2L9 12.4c-.1-.1-.1-.4 0-.5l.5-.5c.1-.1.4-.1.5 0l1.3 1.3 3.1-3.2c.2-.1.4-.1.6 0l.5.5c.1.2.1.4 0 .5z"}]},answer_public:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3.1.4l-.7 2.1c-.1.4.2.7.6.6l2.1-.7c.2-.1.3-.1.4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7S16 5.3 12 5.3zm3.5 5.2l-3.7 3.7c-.2.1-.3.2-.5.2s-.4-.1-.5-.2L9 12.4c-.1-.1-.1-.4 0-.5l.5-.5c.1-.1.4-.1.5 0l1.3 1.3 3.1-3.2c.2-.1.4-.1.6 0l.5.5c.1.2.1.4 0 .5z"}},apex:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.7 16.2h-8c-.3 0-.5.2-.5.5v.8c0 .3.2.5.5.5h8c.3 0 .5-.2.5-.5v-.8c0-.3-.2-.5-.5-.5zm-6.9-5.4L6 6.1c-.1-.1-.4-.1-.6.1l-.5.7c-.1.2-.1.5.1.6l4.1 3.3c.2.1.2.4 0 .5L5 14.6c-.2.2-.2.5-.1.6l.5.8c.1.2.4.2.6.1l5.8-4.6c.2-.2.2-.6 0-.7z"}},apex_plugin:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 9.6l3.4-3.4c.2-.1.2-.4 0-.6l-.7-.7c-.2-.2-.5-.2-.6 0l-3.4 3.4L12 9.6zm3.7 3.8l3.4-3.4c.2-.1.2-.4 0-.6l-.7-.7c-.2-.2-.5-.2-.6 0L14.4 12l1.3 1.4zm-.4 2.8c0-.1.1-.2.1-.3 0-.1 0-.2-.1-.3v-.1h-.1L8.5 8.7h-.1c0-.1-.2-.1-.3-.1-.1 0-.2.1-.3.1l-.2.2c0 .1 0 .1-.1.1 0 .1 0 .1-.1.2 0 0-.1.1-.1.2-.1 0-.1.1-.1.2-.1.1-.1.2-.2.3 0 .1-.1.2-.1.3 0 .1-.1.2-.1.3-.1.2-.1.3-.1.4-.1.2-.1.4-.1.5 0 .2-.1.4-.1.6l-.1.5v3.1s.1.1.1.2l-1.6 1.6c-.1.1-.1.4 0 .6L6 19.1c.2.1.5.1.7 0l1.5-1.6c.6.1 1.2.1 1.7.1h1.5c.3-.1.7-.1 1.1-.2.3 0 .6-.1.9-.2.3-.1.5-.2.7-.3.2 0 .4-.1.5-.2.2-.2.4-.3.6-.5h.1z"}},approval:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 13h-2.7c-.8 0-1.4-.7-1.4-1.5.1-2.1 1.1-2.2 1.2-3.6.1-1.4-.8-2.7-2.3-3.1-1.8-.3-3.5 1.1-3.5 2.9 0 1.6 1.1 1.6 1.2 3.8 0 .8-.6 1.5-1.4 1.5H6.2c-.8 0-1.4.6-1.4 1.4v1c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4v-1c0-.8-.6-1.4-1.4-1.4zm0 4.3H6.2c-.2 0-.4.2-.4.4v.1c0 .8.6 1.4 1.4 1.4h9.6c.8 0 1.4-.6 1.4-1.4v-.1c0-.2-.2-.4-.4-.4z"}},apps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.7 4.8H5.8c-.6 0-1 .4-1 1v1.9c0 .5.4.9 1 .9h1.9c.5 0 .9-.4.9-.9V5.8c0-.6-.4-1-.9-1zm5.3 0h-2c-.5 0-.9.4-.9 1v1.9c0 .5.4.9.9.9h2c.5 0 .9-.4.9-.9V5.8c0-.6-.4-1-.9-1zm5.2 0h-1.9c-.5 0-.9.4-.9 1v1.9c0 .5.4.9.9.9h1.9c.6 0 1-.4 1-.9V5.8c0-.6-.4-1-1-1zM7.7 10.1H5.8c-.6 0-1 .4-1 .9v2c0 .5.4.9 1 .9h1.9c.5 0 .9-.4.9-.9v-2c0-.5-.4-.9-.9-.9zm5.3 0h-2c-.5 0-.9.4-.9.9v2c0 .5.4.9.9.9h2c.5 0 .9-.4.9-.9v-2c0-.5-.4-.9-.9-.9zm5.2 0h-1.9c-.5 0-.9.4-.9.9v2c0 .5.4.9.9.9h1.9c.6 0 1-.4 1-.9v-2c0-.5-.4-.9-1-.9zM7.7 15.4H5.8c-.6 0-1 .4-1 .9v1.9c0 .6.4 1 1 1h1.9c.5 0 .9-.4.9-1v-1.9c0-.5-.4-.9-.9-.9zm5.3 0h-2c-.5 0-.9.4-.9.9v1.9c0 .6.4 1 .9 1h2c.5 0 .9-.4.9-1v-1.9c0-.5-.4-.9-.9-.9zm5.2 0h-1.9c-.5 0-.9.4-.9.9v1.9c0 .6.4 1 .9 1h1.9c.6 0 1-.4 1-1v-1.9c0-.5-.4-.9-1-.9z"}},apps_admin:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 5h-11C5.7 5 5 5.7 5 6.5v11c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5zM17 17.5H7c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5zm-6.2-9.6H8.4c-.3 0-.5.2-.5.5v2.4c0 .3.2.5.5.5h2.4c.3 0 .5-.2.5-.5V8.4c0-.3-.2-.5-.5-.5zm4.8 0h-2.4c-.3 0-.5.2-.5.5v2.4c0 .3.2.5.5.5h2.4c.3 0 .5-.2.5-.5V8.4c0-.3-.2-.5-.5-.5zm-4.8 4.8H8.4c-.3 0-.5.2-.5.5v2.4c0 .3.2.5.5.5h2.4c.3 0 .5-.2.5-.5v-2.4c0-.3-.2-.5-.5-.5zm4.8 0h-2.4c-.3 0-.5.2-.5.5v2.4c0 .3.2.5.5.5h2.4c.3 0 .5-.2.5-.5v-2.4c0-.3-.2-.5-.5-.5z"}},article:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.7 14.2h3.1c.3 0 .5-.3.5-.5V6.5c0-.5-.5-1-1-1H7.8c-.4 0-.6.3-.6.6v7.6c0 .2.2.5.5.5zM18.2 7v7.6c0 .6-.4 1-.9 1H6.7c-.5 0-.9-.4-.9-1V7c-.8 0-1.5.6-1.5 1.4v7.2c0 .8.7 1.4 1.5 1.4h4.5c.3 0 .5.3.5.5s.2.5.5.5h1.4c.3 0 .5-.2.5-.5s.2-.5.5-.5h4.5c.8 0 1.5-.6 1.5-1.4V8.4c0-.8-.7-1.4-1.5-1.4zm-5 7.2h3c.4 0 .6-.3.6-.6V6c0-.3-.2-.5-.5-.5h-2.6c-.5 0-1 .5-1 1v7.2c0 .2.2.5.5.5z"}},asset_relationship:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 13.1V13c0-2.1-1.3-4-3.1-4.9v-.2c0-1.3-1.1-2.4-2.4-2.4S9.6 6.6 9.6 7.9v.2C7.8 9 6.5 10.9 6.5 13v.1c-1 .3-1.7 1.2-1.7 2.3 0 1.4 1 2.4 2.4 2.4.5 0 1-.1 1.4-.4.9.7 2.1 1.1 3.4 1.1s2.4-.4 3.3-1.1c.4.2.9.4 1.5.4 1.3 0 2.4-1 2.4-2.4 0-1-.7-2-1.7-2.3zm-8.2 3.4c.2-.3.3-.7.3-1.1 0-1.1-.9-2.1-2-2.3V13c0-1.6 1-3.1 2.4-3.9.4.7 1.1 1.2 2 1.2s1.6-.5 2-1.2c1.4.8 2.4 2.3 2.4 3.9v.1c-1.1.2-2 1.2-2 2.3 0 .4.1.8.3 1.1-.8.6-1.7.9-2.7.9s-1.9-.3-2.7-.9z"}},assigned_resource:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm3.9 5.6l-2.5 2.4c-.2.2-.4 0-.4-.3v-1.4c-1.8 0-3 1.2-3 3.1H8.1A4.8 4.8 0 0 1 13 9.3V7.8c0-.3.3-.5.4-.3l2.5 2.5a.4.4 0 0 1 0 .4zm-9.7 5h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z","fill-rule":"evenodd"}},assignment:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.3 13.2h13.4c.3 0 .5.2.5.5v.9c0 .3-.2.5-.5.5H5.3c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5zm0-4.3h13.4c.3 0 .5.2.5.5v.9c0 .3-.2.5-.5.5H5.3c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5z"}},avatar:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 17.1v.7c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4v-.7c0-1.8 2-2.8 4-3.7 0 0 .1 0 .2-.1.1 0 .3 0 .4.1.8.5 1.7.8 2.6.8.9 0 1.8-.3 2.6-.8.1-.1.3-.1.4 0 .1 0 .2 0 .2.1 2 .8 4 1.8 4 3.6z"},ellipse:{cx:"12",cy:"8.76",rx:"3.576",ry:"3.96"}},avatar_loading:{xmlns:"http://www.w3.org/2000/svg",g:{opacity:".5",path:{d:"M19.2 17.1v.7c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4v-.7c0-1.8 2-2.8 4-3.7 0 0 .1 0 .2-.1.1 0 .3 0 .4.1.8.5 1.7.8 2.6.8s1.8-.3 2.6-.8c.1-.1.3-.1.4 0 .1 0 .2 0 .2.1 2 .8 4 1.8 4 3.6z"},ellipse:{cx:"12",cy:"8.76",rx:"3.576",ry:"3.96"}}},bot:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M11.9 6.2c1.7 0 3.1 1.4 3.1 3.1v.8c-1-.1-2.1-.2-3.1-.2s-2.1.1-3.1.2v-.8c0-1.7 1.4-3.1 3.1-3.1zm5.7 9.1l.3-2.7c.7.1 1.2.7 1.2 1.3 0 .8-.7 1.4-1.5 1.4zm-11.4 0c-.8 0-1.5-.6-1.5-1.4 0-.7.5-1.2 1.2-1.3l.3 2.7zm10.3-4.5c-1.6-.2-3.1-.3-4.6-.3s-3 .1-4.5.3c-.6 0-.9.5-.9 1l.5 4.7c.1.4.4.8.8.8 1.4.2 2.8.2 4.2.2s2.7 0 4.1-.2c.4 0 .7-.4.8-.8l.5-4.7c0-.5-.4-1-.9-1zM9.3 15c-.4 0-.7-.4-.7-.9s.3-.9.7-.9.6.4.6.9-.3.9-.6.9zm4 1l-.1.1s0 .1-.1.1h-2.4l-.1-.1v-.5c0-.1 0-.2.1-.2h.1c.1 0 .1.1.1.2v.2h2v-.2c0-.1.1-.2.2-.2s.2.1.2.2v.4zm1.2-1c-.3 0-.6-.4-.6-.9s.3-.9.6-.9.7.4.7.9-.3.9-.7.9z"}},bot_training:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M13.1 14.6c-.2.1-.5.2-.8.2-1.7.2-3.2-1.1-3.2-2.8 0-.3.1-.6.1-.9.1-.1.2-.2.3-.1l1.6 1.6c.2.2.3.2.5 0l1.1-1.1c.2-.1.2-.3 0-.5l-1.6-1.6c-.1-.1 0-.2.1-.3.2 0 .5-.1.8-.1 1.7 0 3.1 1.5 2.9 3.2 0 .3-.1.5-.2.8l3 3c1-1.1 1.5-2.5 1.5-4 0-3.7-3.2-6.6-7.2-6.6s-7.2 2.9-7.2 6.5c0 1.2.3 2.3.9 3.2.1.2.1.4 0 .5l-.9 2.6c-.1.2.1.4.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9s2.8-.4 3.9-1.1l-2.9-2.9z"}},branch_merge:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.4 16.9c.8-1.7 2.2-2.9 3.9-3.5.6-.2 1.2-.3 1.9-.4h1v3.2c0 .3.3.5.6.3l5-4.3c.2-.1.2-.4 0-.6l-5-4.1c-.2-.2-.6 0-.6.2V11h-1c-.7-.1-1.4-.2-1.9-.4-1.7-.7-3.1-1.8-3.9-3.5-.1-.3-.4-.4-.7-.3l-.9.4c-.2.1-.3.4-.2.7.9 1.8 2.3 3.2 3.9 4.1-1.6.9-3 2.3-3.9 4.2-.1.2-.1.5.2.6l.9.4c.3.1.6 0 .7-.3z"}},brand:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.1 9.4c-.7-2.9-3.7-4.6-7.1-4.6C8 4.8 4.8 8 4.8 12s3.2 7.2 7.3 7.2c5.5 0 5.1-2.8 3.3-3.9-1-.7-1.6-2.2-.5-3.3 1.9-2 5 1.2 4.2-2.6zm-11 5c-.9 0-1.5-.7-1.5-1.5s.6-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5zm.3-5.7c0-.9.7-1.5 1.5-1.5s1.5.7 1.5 1.5-.7 1.5-1.5 1.5c-.9 0-1.5-.6-1.5-1.5zm3.3 8.7c-.9 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5zm2.7-7.8c-.8 0-1.5-.7-1.5-1.5s.7-1.5 1.5-1.5 1.5.7 1.5 1.5-.7 1.5-1.5 1.5z"}},business_hours:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M11.5 8.5h.8c.2 0 .4.1.4.4v3.3c0 .1-.1.2-.1.3l-2.2 2.2c-.1.1-.3.1-.5 0l-.5-.6c-.2-.1-.2-.3 0-.5l1.8-1.8V8.9c0-.2.1-.4.3-.4zm8.8 3.3h-1.2v-.3c-.3-3.9-3.7-6.8-7.7-6.6-3.9.4-6.9 3.8-6.6 7.7.3 3.7 3.4 6.6 7.1 6.6 2 .1 3.9-.7 5.3-2.2.1-.1.2-.2.1-.4l-.6-.7c-.2-.3-.4-.2-.6 0-1.2 1.3-3 2-4.7 1.8-2.5-.3-4.8-2.6-5.1-5-.3-3.1 2-5.9 5.1-6.2s5.8 2 6.1 5.1v.2h-1.1c-.2 0-.4.2-.4.4 0 .1.1.2.1.3l1.9 2.3c.2.2.5.2.6 0l1.9-2.3c.2-.2.2-.4 0-.6 0 0-.1-.1-.2-.1z"}},buyer_account:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M14.8 15.7H18c.1 0 .2-.1.2-.1l.6-2.1c0-.2-.1-.3-.2-.3h-4.9l-.1-.3c0-.1-.2-.2-.3-.2h-.5c-.2 0-.4.1-.4.3 0 .2.2.3.3.3h.4l.2 1 .8 2.5c0 .1.1.2.3.2h3.7c.2 0 .4-.2.4-.3 0-.2-.2-.4-.4-.4h-3.3c-.1 0-.2-.1-.3-.2 0-.2.1-.4.3-.4z"},{d:"M14.7 4.8H5.3c-.5 0-.6.5-.6.6v11.9c0 .3.2.7 1.1.7h6.8c.7 0 .7-.5.6-.6v-.1l-.1-.3v-.1l-.8-2.5c0-.2-.2-.2-.2-.2l-.3-.3c-.3-.2-.4-.6-.4-.9.1-.7.7-1.2 1.3-1.2h.6c.3 0 .6.1.9.3v.1c.1 0 .2.1.3.1h.3c.3 0 .4-.3.4-.4V5.5c0-.6-.4-.7-.5-.7zM7.8 16.1c0 .3-.3.6-.6.6h-.5c-.3 0-.6-.3-.6-.6v-.5c0-.4.3-.6.6-.6h.5c.3 0 .6.2.6.6v.5zm0-2.9c0 .4-.3.6-.6.6h-.5c-.3 0-.6-.2-.6-.6v-.5c0-.3.3-.6.6-.6h.5c.3 0 .6.3.6.6v.5zm0-2.8c0 .4-.3.6-.6.6h-.5c-.3 0-.6-.2-.6-.6v-.5c0-.3.3-.6.6-.6h.5c.3 0 .6.3.6.6v.5zm0-2.8c0 .3-.3.6-.6.6h-.5c-.3 0-.6-.3-.6-.6v-.5c0-.4.3-.6.6-.6h.5c.3 0 .6.2.6.6v.5zm3 8.5c0 .3-.2.6-.5.6h-.6c-.3 0-.5-.3-.5-.6v-.5c0-.4.2-.6.5-.6h.6c.3 0 .5.2.5.6v.5zm0-2.9c0 .4-.2.6-.5.6h-.6c-.3 0-.5-.2-.5-.6v-.5c0-.3.2-.6.5-.6h.6c.3 0 .5.3.5.6v.5zm0-2.8c0 .4-.2.6-.5.6h-.6c-.3 0-.5-.2-.5-.6v-.5c0-.3.2-.6.5-.6h.6c.3 0 .5.3.5.6v.5zm0-2.8c0 .3-.2.6-.5.6h-.6c-.3 0-.5-.3-.5-.6v-.5c0-.4.2-.6.5-.6h.6c.3 0 .5.2.5.6v.5zm3.1 2.8c0 .4-.3.6-.6.6h-.5c-.3 0-.6-.2-.6-.6v-.5c0-.3.3-.6.6-.6h.5c.3 0 .6.3.6.6v.5zm0-2.8c0 .3-.3.6-.6.6h-.5c-.3 0-.6-.3-.6-.6v-.5c0-.4.3-.6.6-.6h.5c.3 0 .6.2.6.6v.5z"}],circle:[{cx:"14.904",cy:"18.192",r:".528"},{cx:"17.496",cy:"18.192",r:".528"}]}},buyer_group:{xmlns:"http://www.w3.org/2000/svg",g:{circle:[{cx:"14.088",cy:"18.408",r:".528"},{cx:"16.68",cy:"18.408",r:".528"}],path:{d:"M9 10.3c-.4-.5-.6-1.2-.6-1.9 0-1.3.5-2.4 1.3-3-.3-.5-.8-.8-1.5-.8-1.3 0-1.9.9-1.9 2.1 0 .6.2 1.1.6 1.5.2.2.4.5.4.8 0 .3-.1.5-.8.8-1 .5-1.9 1-1.9 2 0 .6.4 1 1 1h.9c.1 0 .3-.1.4-.2.4-.8 1.2-1.3 1.9-1.7.2-.1.3-.4.2-.6zm5 5.6h3.2c.1 0 .2 0 .2-.1l.6-2.1c0-.1-.1-.3-.2-.3h-4.9l-.1-.3c-.1-.1-.2-.2-.3-.2H12c-.2 0-.4.1-.4.3 0 .2.2.3.3.3h.3l.3 1 .7 2.5c.1.1.2.2.4.2h3.7c.2 0 .3-.1.3-.3.1-.2-.1-.3-.3-.3H14c-.1 0-.2-.1-.3-.3 0-.2.1-.4.3-.4zm-2.4-1.1l-.1-.4c-.2 0-.4-.2-.5-.3-.2-.3-.3-.6-.3-.9 0-.7.6-1.2 1.3-1.2h.5c.4 0 .8.2 1 .5h1.4c-.4-.3-.8-.5-1.3-.7-.8-.3-.9-.6-.9-.9 0-.3.3-.6.5-.9.5-.4.7-1 .7-1.6 0-1.3-.8-2.4-2.1-2.4S9.7 7.1 9.7 8.4c0 .6.2 1.2.7 1.6.2.3.4.6.4.9 0 .3-.1.6-.8.9-1.2.5-2.2 1-2.3 2.1 0 .6.5 1.2 1.2 1.2h2.8l-.1-.3zm3.5-6.4c0 .7-.1 1.4-.5 1.9-.2.3-.1.5.1.7.7.3 1.5.8 1.9 1.5h1.2c.2 0 .4.1.6.2.3-.1.5-.5.5-.9 0-1-.9-1.5-1.9-2-.7-.3-.8-.6-.8-.8 0-.3.2-.6.5-.8.4-.4.6-.9.6-1.5 0-1.2-.7-2.1-1.9-2.1-.8 0-1.3.3-1.6.8.8.6 1.3 1.7 1.3 3z"}}},calibration:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.7 11.9c-.2.1-.3.1-.5.1-.1 0-.3 0-.5-.1-.1 0-.2.1-.2.3v6.5c0 .3.2.5.5.5h.4c.3 0 .5-.2.5-.5v-6.5c0-.2-.1-.3-.2-.3zm4.8 5.1h-1c-.1-.1-.2.1-.2.2v1.5c0 .3.2.5.5.5h.4c.3 0 .5-.2.5-.5v-1.5c0-.2-.1-.3-.2-.2zm4.8-3.6h-1c-.1-.1-.2.1-.2.2v5.1c0 .3.2.5.5.5h.4c.3 0 .5-.2.5-.5v-5.1c0-.2-.1-.3-.2-.2zm-9.4-6V5.3c0-.3-.2-.5-.5-.5H7c-.3 0-.5.2-.5.5v2.1c-.6.2-1 .8-1 1.5 0 .9.8 1.7 1.7 1.7s1.7-.8 1.7-1.7c0-.7-.4-1.3-1-1.5zm4.8 5V5.3c0-.3-.2-.5-.5-.5h-.4c-.3 0-.5.2-.5.5v7.1c-.6.3-1 .8-1 1.5 0 1 .8 1.7 1.7 1.7s1.7-.7 1.7-1.7c0-.7-.4-1.2-1-1.5zm4.8-3.6V5.3c0-.3-.2-.5-.5-.5h-.4c-.3 0-.5.2-.5.5v3.5c-.6.3-1 .8-1 1.5 0 1 .8 1.7 1.7 1.7s1.7-.7 1.7-1.7c0-.7-.4-1.2-1-1.5z"}},call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.6 15.3l-1.4-1.2c-.5-.4-1.3-.4-1.8 0l-1.4 1c-.2.2-.5.1-.6 0L11 13l-2.1-2.4c-.2-.2-.2-.4 0-.6l1-1.4c.4-.6.3-1.3-.1-1.8L8.6 5.3c-.5-.6-1.5-.7-2.1-.1L5.2 6.5c-.3.3-.4.7-.4 1.1.1 3 1.5 5.9 3.6 8s4.9 3.4 8 3.6c.4 0 .8-.2 1-.5l1.3-1.3c.7-.5.6-1.5-.1-2.1z"}},call_history:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.7 11.5v.5H5.3v-.5h1.4zM12 5.3c-3.6 0-6.5 2.7-6.7 6.2v.3H4.2c-.3 0-.5.3-.3.5l1.8 2.2c.2.2.4.2.6 0l1.8-2.2c.2-.2 0-.5-.3-.5H6.7v-.3C7 8.8 9.2 6.7 12 6.7c3.1 0 5.6 2.7 5.2 5.9-.2 2.3-2.4 4.4-4.7 4.7-1.7.1-3.3-.5-4.4-1.7-.2-.2-.3-.3-.5 0l-.6.6c-.1.2 0 .3.1.4 1.3 1.4 3.1 2.1 5 2.1 3.4 0 6.3-2.8 6.6-6.2.3-3.9-2.8-7.2-6.7-7.2zm-.7 5c.2-.2.2-.6 0-.8l-.5-.6c-.2-.3-.7-.3-.9-.1l-.6.6c-.1.1-.2.3-.2.5.1 1.3.7 2.6 1.6 3.4s2.1 1.5 3.4 1.6c.2 0 .4 0 .5-.2l.6-.6c.2-.2.2-.7-.1-.9l-.6-.5c-.2-.2-.6-.2-.8 0l-.6.4c-.1.1-.2.1-.3 0l-1-.9-.9-1c-.1-.1-.1-.2 0-.3l.4-.6z"}},campaign:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 13c-3.2 0-5.8-2.6-5.8-5.8S8.8 6.2 12 6.2s5.8 2.6 5.8 5.8-2.6 5.8-5.8 5.8zm0-10.1c-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.3zm0 7.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.9zm0-4.3c-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4 1.4-.6 1.4-1.4-.6-1.4-1.4-1.4z"}},campaign_members:{xmlns:"http://www.w3.org/2000/svg",path:[{"fill-opacity":".65",d:"M24 14.9V24h-9.1l9.1-9.1zm-1.9 6.6c-.3-.1-.3-.2-.3-.4 0-.1.1-.2.2-.3.2-.2.2-.4.2-.7 0-.5-.3-.9-.8-.9s-.9.5-.9.9c0 .3.1.5.3.7.1.1.2.2.2.3s-.1.3-.4.4c-.5.2-.9.4-.9.8 0 .3.2.5.5.5h2.4c.2 0 .4-.2.4-.5 0-.4-.4-.6-.9-.8z"},{d:"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 13c-3.2 0-5.8-2.6-5.8-5.8S8.8 6.2 12 6.2s5.8 2.6 5.8 5.8-2.6 5.8-5.8 5.8zm0-10.1c-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.3zm0 7.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.9zm0-4.3c-.8 0-1.4.6-1.4 1.4s.6 1.4 1.4 1.4 1.4-.6 1.4-1.4-.6-1.4-1.4-1.4z"}]},canvas:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.7 15.8c0 .8-.1 1.7-.3 2.6 0 .2-.2.5-.5.5-1.6.2-3.3.3-4.9.3-1.6 0-3.2-.1-4.8-.3-.3 0-.6-.3-.6-.5-.2-1.4-.4-2.8-.4-4.1 0-1.4.2-2.7.4-4.1 0-.2.3-.5.5-.5 1-.1 2-.2 3-.2 0 0 .7-.1.7-.8 0-.7-1.2-1.1-1.2-2.3 0-.9.9-1.6 2.4-1.6 1.4 0 2.4.7 2.4 1.6 0 1.2-1.2 1.6-1.2 2.3-.1.7.7.8.7.8 1 0 2 .1 3 .2.2 0 .5.3.5.5.2 1 .3 1.8.3 2.7.1.3-.2.5-.5.5H17c-.3 0-.7-.2-.9-.4 0 0-.7-.6-1.3-.6-1.1-.1-2 .9-2 2s.8 2.1 1.9 2c.7 0 1.4-.7 1.4-.7.2-.1.6-.3.8-.3.1-.1.2-.1.3-.1.3.1.6.3.5.5z"}},carousel:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.3 9h-.6v6.5h.6a.9.9 0 0 0 .9-.9V9.9a.9.9 0 0 0-.9-.9zm-13.5.9v4.7a.9.9 0 0 0 .9.9h.6V9h-.6a.9.9 0 0 0-.9.9zM16 8.2H8a.9.9 0 0 0-.8.9v6.3a.9.9 0 0 0 .8.9h8a.9.9 0 0 0 .8-.9V9.1a.9.9 0 0 0-.8-.9zm-1.4 6.5H9.1a.3.3 0 0 1-.3-.4l1.7-3a.2.2 0 0 1 .3 0l1 1.8a.2.2 0 0 0 .4 0l.8-1.2a.2.2 0 0 1 .3 0l1.5 2.4a.2.2 0 0 1-.2.4zm-.1-3.4a.8.8 0 1 1 .7-.8.8.8 0 0 1-.7.8z"}},case:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.1 7h1c.1 0 .2-.1.2-.3V6h3.4v.7c0 .2.1.3.2.3h1c.1 0 .2-.1.2-.3V6c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v.7c0 .2.1.3.2.3zm8.7 1.4H6.2c-.8 0-1.4.6-1.4 1.4v7.7c0 .8.6 1.5 1.4 1.5h11.6c.8 0 1.4-.7 1.4-1.5V9.8c0-.8-.6-1.4-1.4-1.4z"}},case_change_status:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zM14 13.9L11.5 17c-.1.1-.4 0-.3-.2l.6-2.2h-1.6c-.2 0-.4-.2-.3-.3l1-2.6c.1-.3.3-.4.5-.4h2c.2 0 .4.2.3.4l-1.1 1.7h1.2c.3 0 .4.4.2.5z"}},case_comment:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zm-5.6 7.7c-.5 0-1-.1-1.5-.4h-.1l-1 .4c-.1.1-.3-.1-.2-.2l.4-1c0-.1 0-.1-.1-.1-.2-.4-.3-.9-.3-1.3 0-1.5 1.3-2.7 2.8-2.7s2.8 1.2 2.8 2.7c0 1.4-1.2 2.6-2.8 2.6z"}},case_email:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zm-8.7 2.7h5.8c.2 0 .2.2.2.3l-3 2.7c0 .1-.1.1-.2 0l-3-2.7c-.1-.2 0-.3.2-.3zm6 4.1c0 .3-.4.7-.7.7H9.6c-.3 0-.7-.4-.7-.7v-2.7c0-.1.1-.2.2-.1l2.3 2.2c.2.1.4.2.6.2s.4-.1.6-.2l2.2-2.2c.1-.1.3 0 .3.1v2.7z"}},case_log_a_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zM15 15.9l-.6.5c-.1.1-.2.2-.4.2-1.2-.1-2.4-.7-3.2-1.5-.8-.8-1.4-1.9-1.4-3.2 0-.1 0-.3.1-.4l.6-.5c.2-.3.6-.2.8 0l.5.6c.2.2.2.5 0 .7l-.4.6v.2l.9 1 .9.8c.1.1.2.1.3 0l.5-.4c.2-.1.5-.1.7 0l.6.5c.3.2.3.6.1.9z"}},case_milestone:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M17.5 8.6H6c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.5c.8 0 1.5-.6 1.5-1.4v-7.7c0-.8-.7-1.5-1.5-1.5zm-7.7 3.1v5.2c0 .3-.2.5-.4.5-.3 0-.4-.2-.4-.5v-5.2c-.2-.2-.3-.4-.3-.6 0-.3.3-.6.6-.7s.7.3.7.6v.2c0 .1 0 .3-.2.5zM15 15s-.1.1-.1.2c-1.7 1-2.6-.6-4.1-.1-.2 0-.3 0-.3-.1v-3.1c0-.1 0-.2.1-.2 1.6-.7 2.5 1 4.2 0h.2V15zM8.9 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2z"}},case_transcript:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.1 7.2h1c.1 0 .2-.1.2-.2v-.8h3.4V7c0 .1.1.2.2.2h1c.1 0 .2-.1.2-.2v-.8c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4V7c0 .1.1.2.2.2zm8.7 1.4H6.2c-.8 0-1.4.7-1.4 1.5v7.7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7.7c0-.8-.6-1.5-1.4-1.5zm-3.2 7.5c0 .4-.3.7-.7.7h-3.3c-.4 0-.8-.3-.8-.7v-4.6c0-.4.4-.7.8-.7h1.6c.2 0 .3.1.3.2v1.5c0 .2.2.5.5.5h1.4c.1 0 .2.1.2.2v2.9zm0-3.8c0 .1 0 .2-.1.2h-1.1c-.2 0-.4-.2-.4-.5v-1c0-.1 0-.2.1-.2h.1l1.4 1.4v.1z"}},catalog:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.8 7.1L17 9.2c.4.4.4 1.2 0 1.7l-5.6 5.5V8.8l1.7-1.7c.5-.5 1.3-.5 1.7 0zm4.4 7.9v3c0 .7-.5 1.2-1.2 1.2h-7.5l5.4-5.4H18c.7 0 1.2.6 1.2 1.2zM4.8 16.5V6c0-.7.5-1.2 1.2-1.2h3c.7 0 1.2.5 1.2 1.2v10.5c0 1.5-1.2 2.7-2.7 2.7S4.8 18 4.8 16.5zm2.7 1.2c.7 0 1.2-.5 1.2-1.2s-.5-1.2-1.2-1.2-1.2.5-1.2 1.2.5 1.2 1.2 1.2z"}},category:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.8 7.1L17 9.2c.4.4.4 1.2 0 1.7l-5.6 5.5V8.8L13.1 7c.5-.4 1.3-.4 1.7.1zM9 4.8H6c-.7 0-1.2.5-1.2 1.2v10.5c0 1.5 1.2 2.7 2.7 2.7s2.7-1.2 2.7-2.7V6c0-.7-.6-1.2-1.2-1.2zM7.5 17.7c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2zM18 13.8h-2.1l-1.5 1.4h3.4l-.1 2.6H12l-1.5 1.4H18c.7 0 1.2-.5 1.2-1.2v-3c0-.6-.5-1.2-1.2-1.2z"}},channel_program_history:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.4 11.5c.2-2.6 2.4-4.6 5.1-4.6 3 0 5.4 2.6 5 5.7-.2 2.2-2.3 4.3-4.5 4.5-1.7.2-3.2-.4-4.3-1.6-.2-.2-.3-.3-.5-.1l-.6.7c-.1.1 0 .2.1.4 1.3 1.3 3 2 4.9 2 3.3 0 6.1-2.7 6.4-6 .2-3.8-2.8-7-6.5-7-3.5 0-6.3 2.7-6.5 6v.3H4.9c-.3 0-.4.3-.3.5l1.8 2.1c.1.2.4.2.5 0l1.8-2.1c.2-.2 0-.5-.3-.5H7.3l.1-.3zm5.1-2.4c-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.9zm2.3 2.6H14c0-.7-.2-1.3-.4-1.7.7.3 1.1 1 1.2 1.7zm-2.6-1.9v1.9h-.6c0-.9.3-1.6.6-1.9zm0 2.5v1.9c-.3-.3-.6-1-.6-1.9h.6zm.6 1.9v-1.9h.6c0 .9-.3 1.6-.6 1.9zm0-2.5V9.8c.3.3.6 1 .6 1.9h-.6zM11.4 10c-.2.5-.3 1-.4 1.7h-.7c0-.7.5-1.4 1.1-1.7zm-1.2 2.3h.8c0 .7.2 1.3.4 1.7-.6-.3-1.1-1-1.2-1.7zm3.4 1.7c.2-.5.4-1 .4-1.7h.8c-.1.7-.5 1.4-1.2 1.7z"}},channel_program_levels:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.7 11.3l-.9-.4c-.1-.1-.3-.1-.4 0l-2.6 1.3c.4-.2.8-.2 1.3-.2.7 0 1.4.2 2.1.5l.5-.2c.4-.3.4-.8 0-1zM4.8 8.9l6.5 3c.3.1.6.1.9 0l6.5-3c.4-.2.4-.7 0-.9l-6.5-3.1c-.3-.1-.6-.1-.9 0L4.8 8c-.4.2-.4.7 0 .9zm0 3.3l6.5 3.1c.1.1.3.1.5.1.3-1.2 1-2.1 1.9-2.8l-1.5.8c-.2.1-.6.1-.9 0l-5.2-2.5c-.1-.1-.2-.1-.4 0l-.9.4c-.4.2-.4.7 0 .9zm7 4.6h-.5l-5.2-2.5c-.1-.1-.3-.1-.4 0l-.9.4c-.3.2-.3.7 0 .9l6.5 3c.3.2.6.2.9 0h.2c-.4-.6-.6-1.1-.6-1.8zM16.1 13.5c-1.5 0-2.8 1.3-2.8 2.8s1.2 2.9 2.8 2.9 2.9-1.3 2.9-2.9-1.3-2.8-2.9-2.8zm2.3 2.6h-.8c0-.7-.2-1.3-.4-1.7.7.3 1.1.9 1.2 1.7zm-2.6-1.9v1.9h-.6c0-.9.3-1.6.6-1.9zm0 2.4v1.9c-.3-.3-.6-1-.6-1.9h.6zm.6 1.9v-1.9h.7c-.1.9-.4 1.6-.7 1.9zm0-2.4v-1.9c.3.2.6 1 .7 1.9h-.7zM15 14.4c-.2.4-.3 1-.4 1.7h-.7c0-.8.5-1.4 1.1-1.7zm-1.1 2.2h.7c0 .7.2 1.3.4 1.7-.6-.3-1.1-.9-1.1-1.7zm3.3 1.7c.3-.4.4-1 .4-1.7h.8c-.1.8-.5 1.4-1.2 1.7z"}},channel_program_members:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.7 16.3c0-1.4.7-2.6 1.7-3.4-.3-.2-.6-.3-.9-.5-1.1-.4-1.2-.8-1.2-1.2 0-.4.3-.8.6-1.1.6-.6.9-1.3.9-2.2 0-1.7-1-3.1-2.8-3.1-1.8 0-2.9 1.4-2.9 3.1 0 .9.4 1.6 1 2.2.3.3.6.7.6 1.1 0 .4-.2.8-1.2 1.2-1.5.7-2.9 1.4-2.9 2.7 0 .9.7 1.7 1.5 1.7H11.7v-.5zm4.4-2.8c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.8 2.9 2.8 2.8-1.2 2.8-2.8-1.2-2.9-2.8-2.9zm2.3 2.6h-.8c0-.7-.2-1.3-.4-1.7.6.3 1.1 1 1.2 1.7zm-2.6-1.9v1.9h-.6c0-.9.3-1.6.6-1.9zm0 2.5v1.8c-.3-.2-.6-1-.6-1.8h.6zm.6 1.8v-1.8h.6c0 .8-.3 1.5-.6 1.8zm0-2.4v-1.9c.3.3.6 1 .6 1.9h-.6zM15 14.4c-.3.4-.4 1-.4 1.7h-.8c.1-.7.6-1.4 1.2-1.7zm-1.2 2.3h.8c0 .6.2 1.2.4 1.7-.6-.4-1.1-1-1.2-1.7zm3.4 1.7c.2-.5.3-1.1.4-1.7h.7c0 .7-.5 1.3-1.1 1.7z"}},channel_programs:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.8 4.8c-4 0-7.2 3.2-7.2 7.2s3.2 7.2 7.2 7.2S19 16 19 12s-3.3-7.2-7.2-7.2zm5.7 6.5h-1.9c-.1-1.7-.5-3.2-1.1-4.3 1.6.8 2.7 2.4 3 4.3zM11 6.6v4.7H9.4c.1-2.3.8-4.1 1.6-4.7zm0 6.1v4.7c-.8-.6-1.5-2.4-1.6-4.7H11zm1.5 4.7v-4.7h1.6c-.1 2.3-.8 4.1-1.6 4.7zm0-6.1V6.6c.8.6 1.5 2.4 1.6 4.7h-1.6zM9 7c-.6 1.1-1 2.6-1.1 4.3H6C6.3 9.4 7.4 7.8 9 7zm-3 5.7h1.9c.1 1.7.5 3.2 1.1 4.3-1.6-.8-2.7-2.4-3-4.3zm8.5 4.3c.6-1.1 1-2.6 1.1-4.3h1.9c-.3 1.9-1.4 3.5-3 4.3z"}},choice:{xmlns:"http://www.w3.org/2000/svg",g:{circle:{cx:"12",cy:"12",r:"3.336"},path:{d:"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 12.5c-2.9 0-5.3-2.4-5.3-5.3S9.1 6.7 12 6.7s5.3 2.4 5.3 5.3-2.4 5.3-5.3 5.3z"}}},client:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.8 14c.8-.5 1.7-.8 2.6-.8.3 0 .5.1.8.1.1 0 .1 0 0-.1-.4-.3-1-.5-1.5-.7-1-.5-1.2-.8-1.2-1.3 0-.4.3-.8.7-1.1.6-.5.9-1.3.9-2.2 0-1.6-1-3.1-2.9-3.1-1.8 0-2.8 1.5-2.8 3.1 0 .9.3 1.7.9 2.2.4.3.7.7.7 1.1 0 .4-.2.8-1.2 1.3-1.5.6-2.9 1.3-3 2.7 0 .9.7 1.6 1.6 1.6h3.4c.2 0 .4-.2.4-.4v-1.6c.1-.3.2-.6.6-.8zm7.8 1.4c-2.3.7-4.1-1.4-6.6-.4-.1 0-.2.2-.2.4V18c0 .3.2.6.6.5 2.4-.8 4.2 1.3 6.5.4.2-.1.3-.3.3-.5v-2.5c0-.3-.3-.6-.6-.5zm-3 2.4c-.6 0-1-.4-1-1s.4-.9 1-.9.9.4.9.9-.4 1-.9 1z"}},cms:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.5 7.2c-.5 0-.9 0-1.3.2.5.4.9.9 1.3 1.4 1.7 0 3 1.4 3 3.1s-1.3 3-3 3c-.4 0-.8 0-1.2-.2.2-.3.4-.7.5-1 .1-.1.2-.2.2-.4.1-.4.2-.9.2-1.4 0-2.6-2.1-4.7-4.7-4.7s-4.7 2.1-4.7 4.7 2.1 4.7 4.7 4.7c.5 0 .9-.1 1.3-.2-.5-.4-.9-.9-1.3-1.5-1.7 0-3-1.3-3-3s1.3-3.1 3-3.1c.4 0 .8.1 1.2.3-.5.7-.9 1.7-.9 2.8 0 2.6 2.1 4.7 4.7 4.7s4.7-2.1 4.7-4.7-2.1-4.7-4.7-4.7z"}},coaching:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.3 12.7c-.3 0-.6.1-.9.4-.4.4-.4 1.2 0 1.7.3.2.6.3.9.3.3 0 .6-.1.8-.3.5-.5.5-1.2 0-1.7-.2-.3-.5-.4-.8-.4zm7.8-5.4L17.5 5c-.2-.2-.5-.3-.7-.2l-8 5c-.8.5-1.4 1.1-1.9 2.2-.4 1-.5 2.1-.2 3.1-1.1.1-1.9 1-1.9 2.1s.9 2 2 2c.9 0 1.6-.5 1.9-1.2 1.9 1.2 4.4.9 6-.7 1.5-1.5 1.8-3.6.9-5.4-.2-.7-.1-1.4.5-1.8L19 8c.2-.1.2-.4.1-.7zM6.8 17.8c-.3 0-.6-.3-.6-.6s.3-.6.6-.6.6.2.6.6-.2.6-.6.6zm6.4-2c-.6.5-1.2.8-1.9.8s-1.4-.3-1.9-.8c-1-1-1-2.7 0-3.8.5-.5 1.2-.7 1.9-.7s1.3.2 1.9.7c1 1.1 1 2.8 0 3.8z"}},code_playground:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zM6.8 6.3h10.4c.3 0 .5.2.5.5v.9H6.3v-.9c0-.3.2-.5.5-.5zm10.4 11.4H6.8c-.3 0-.5-.2-.5-.5v-8h11.4v8c0 .3-.2.5-.5.5zm-6-2.5l-1.6-1.6 1.6-1.6c.1-.1.1-.2 0-.3l-.7-.7c-.1-.1-.2-.1-.3 0l-1.8 1.8-.3.3-.3.3c-.1.1-.1.2-.1.2 0 .1 0 .1.1.2l2.4 2.4c.1.1.3.1.4 0l.6-.6c.1-.2.1-.3 0-.4zm5-1.8l-.3-.3-.3-.4-1.8-1.7c-.1-.1-.2-.1-.3 0l-.7.7c-.1.1-.1.2 0 .3l1.6 1.6-1.6 1.6c-.1.1-.1.2 0 .3l.7.7c.1.1.2.1.3 0l2.5-2.5v-.1c0-.1 0-.1-.1-.2z"}},collection_variable:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zM17 16.6c0 .2-.2.4-.4.4H7.3c-.2 0-.3-.2-.3-.4V7.4c0-.2.2-.4.3-.4h9.4c.1 0 .3.2.3.4v9.2zm-2.9-5.7c.3 0 .9-.2.9-1s-.6-.9-.7-.9c-.4 0-.7.3-1.1.8l-.6 1.2c-.1-.4-.2-.7-.2-.9-.1-.3-.5-1.1-1.3-1.1s-1.5.5-1.5.5c-.2.1-.3.3-.3.5s.2.5.5.5c.1 0 .2-.1.2-.1s.7-.3.8 0c0 .1 0 .2.1.4.2.5.3 1.1.4 1.7l-.5.8s-.6-.2-.9-.2-.9.2-.9 1 .6.9.7.9c.4 0 .7-.3 1.1-.8l.6-1.2c.1.5.2.9.3 1.1.2.6.6.9 1.3.9 0 0 .6 0 1.4-.4.1-.1.3-.3.3-.5s-.3-.5-.5-.5c-.1 0-.2.1-.3.1 0 0-.5.3-.7.1-.1-.3-.2-.6-.3-1.1-.1-.3-.2-.7-.3-1.2l.6-.8s.6.2.9.2z"}},connected_apps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 5h-11C5.7 5 5 5.7 5 6.5v11c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5zM17 17.5H7c-.3 0-.5-.2-.5-.5V7c0-.3.2-.5.5-.5h10c.3 0 .5.2.5.5v10c0 .3-.2.5-.5.5zm-3-6.2h-1.5L13.8 9c.2-.2 0-.6-.3-.6h-2c-.2 0-.5.2-.6.5l-1.3 3.3c-.1.2.1.5.4.5h1.5l-.7 2.6c-.1.3.2.4.4.2l3.1-3.7c.2-.2.1-.5-.3-.5z"}},constant:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.1 6.4c-.1-.1-.2-.1-.3-.1-1.2-.1-2.4 0-3.6 0l-4.1.1c-1.3 0-2.2.2-3.2 1.1-.6.6-1.2 1.4-1.7 2v.3c0 .3.2.4.4.4.3 0 .4-.1.5-.3s.3-.4.4-.6c.7-.6 1.5-.9 2.4-.8-.7 2-1.7 4.3-3.2 5.9-.6.7-1.6 1.4-1.9 2.3-.2.9.7 1.2 1.5.9.9-.3 1.5-1.3 2-2.1.5-1.1 1-2.1 1.5-3.2.4-1 .9-2.1 1.3-3.2.3-.6.4-.6 1-.6h1.8c-.6 1.4-1.3 2.9-1.9 4.4-.4 1.2-1.2 2.8-.7 4.1.6 1.2 2.2.8 3.1.1.9-.6 1.5-1.6 2-2.6.1-.1.2-.4.1-.6 0-.1-.2-.2-.4-.2-.4 0-.5.5-.6.8-.3.5-.8 1-1.4.9-1.4-.2-.2-2.7.1-3.3.2-.7.5-1.3.8-2 .2-.4.3-.8.5-1.1.2-.5.2-.5.8-.5.5 0 1.8.2 2.2-.1.3-.2.5-1 .7-1.5 0-.2 0-.4-.1-.5z"}},contact:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 7H6.2c-.8 0-1.4.6-1.4 1.4v7c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4v-7c0-.8-.6-1.4-1.4-1.4zm-6.1 8.1H7.5c-.4 0-.8-.5-.8-1 0-.7.8-1.1 1.6-1.5.5-.2.6-.4.6-.7s-.1-.4-.3-.6c-.3-.3-.5-.7-.5-1.2 0-.9.5-1.7 1.5-1.7s1.5.8 1.5 1.7c0 .5-.2.9-.5 1.2-.2.2-.4.4-.4.6s.1.5.7.7c.8.3 1.5.8 1.5 1.5.1.5-.3 1-.7 1zm5.6-1.7c0 .3-.2.5-.5.5h-2.2c-.2 0-.4-.2-.4-.5v-.7c0-.2.2-.5.4-.5h2.2c.3 0 .5.3.5.5v.7zm0-2.6c0 .3-.2.5-.5.5h-3.6c-.3 0-.5-.2-.5-.5v-.7c0-.3.2-.5.5-.5h3.6c.3 0 .5.2.5.5v.7z"}},contact_list:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.3 5.4c-1.1 0-2 .9-2 1.9V18c0 1 .9 1.8 2 1.8h10.5c1.1 0 1.9-.8 1.9-1.8V7.3c0-1-.8-1.9-1.9-1.9H6.3zm2.6 4.4c0 .4-.3.6-.6.6h-.7c-.3 0-.6-.2-.6-.6v-.6c0-.3.3-.6.6-.6h.7c.3 0 .6.3.6.6v.6zm7.2 0c0 .4-.3.6-.6.6h-4.6c-.4 0-.7-.2-.7-.6v-.6c0-.3.3-.6.7-.6h4.6c.3 0 .6.3.6.6v.6zM8.9 13c0 .3-.3.6-.6.6h-.7c-.3 0-.6-.3-.6-.6v-.7c0-.3.3-.6.6-.6h.7c.3 0 .6.3.6.6v.7zm6 0c0 .3-.3.6-.6.6h-3.4c-.4 0-.7-.3-.7-.6v-.7c0-.3.3-.6.7-.6h3.4c.3 0 .6.3.6.6v.7zm-6 3.1c0 .3-.3.6-.6.6h-.7c-.3 0-.6-.3-.6-.6v-.6c0-.4.3-.7.6-.7h.7c.3 0 .6.3.6.7v.6zm7.2 0c0 .3-.3.6-.6.6h-4.6c-.4 0-.7-.3-.7-.6v-.6c0-.4.3-.7.7-.7h4.6c.3 0 .6.3.6.7v.6z"}},contact_request:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M11.7 12.2c-.2.1-.3.3-.1.4l1.3 1.4c.1.1.1.3 0 .5l-.5.5c-.2.1-.4.1-.5 0l-3.3-3.3c-.1-.1-.1-.3 0-.5L11.9 8c.1-.2.3-.2.5 0l.5.5c.1.2.1.4 0 .5l-1.4 1.4c-.1.1.2.4.2.4 3 .1 5.4 2.1 6.2 4.8.7-1 1.2-2.3 1.2-3.7 0-3.7-3.2-6.6-7.2-6.6s-7.2 2.9-7.2 6.5c0 1.2.3 2.3.9 3.2.1.2.1.4 0 .5l-.9 2.6c-.1.2.1.5.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 1.8 0 3.4-.6 4.6-1.6-.3-2.6-2.3-4.6-4.9-4.7z"}},contract:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.9 8.1l-3.2-3.2c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.6c0 .5.4.9.9.9h2.6c.2 0 .3-.1.3-.3 0-.1 0-.2-.1-.2zm-.4 2h-3.3c-.8 0-1.5-.7-1.5-1.5V5.3c0-.3-.2-.5-.5-.5H7.4c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zM7.7 7.8l1.2-.1v-.1l.6-1.1h.1l.6 1.1v.1l1.2.1c.1 0 .1.1.1.2l-.9.8v.1l.2 1.2c0 .1-.1.1-.2.1l-1-.6h-.1l-1.1.6s-.1 0-.1-.1l.2-1.2-.1-.1-.8-.8c0-.1 0-.2.1-.2zm7.4 8c0 .3-.2.5-.5.5H8.4c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h6.2c.3 0 .5.2.5.5v.4zm1-2.8c0 .2-.2.4-.5.4H8.4c-.3 0-.5-.2-.5-.4v-.5c0-.3.2-.5.5-.5h7.2c.3 0 .5.2.5.5v.5z"}},contract_line_item:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.1 8.6h2.6c.2 0 .3-.1.3-.3 0-.1 0-.2-.1-.2l-3.2-3.2c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.6c0 .5.4.9.9.9zm2.4 1.5h-3.3c-.8 0-1.5-.7-1.5-1.5V5.3c0-.3-.2-.5-.5-.5H7.4c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-9.2 6.2c-.4 0-.7-.3-.7-.7 0-.4.3-.7.7-.7.4 0 .7.3.7.7 0 .4-.3.7-.7.7zm0-2.8c-.4 0-.7-.4-.7-.8s.3-.7.7-.7c.4 0 .7.3.7.7 0 .5-.3.8-.7.8zm1.2-3.9l-1.1.6s-.1 0-.1-.1l.2-1.2-.1-.1-.8-.8c0-.1 0-.2.1-.2l1.2-.1v-.1l.6-1.1h.1l.6 1.1v.1l1.2.1c.1 0 .1.1.1.2l-.9.8v.1l.2 1.2c0 .1-.1.1-.2.1l-1-.6h-.1zm6.6 6.2c0 .3-.2.5-.5.5h-4.9c-.2 0-.5-.2-.5-.5v-.4c0-.3.3-.5.5-.5h4.9c.3 0 .5.2.5.5v.4zm0-2.8c0 .2-.2.4-.5.4h-4.9c-.2 0-.5-.2-.5-.4v-.5c0-.3.3-.5.5-.5h4.9c.3 0 .5.2.5.5v.5z"}},currency:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M17.9 7.4H6.1c-.7 0-1.3.6-1.3 1.3v6.6c0 .7.6 1.3 1.3 1.3h11.8c.7 0 1.3-.6 1.3-1.3V8.7c0-.7-.6-1.3-1.3-1.3zM7.7 15.3c0-.9-.7-1.6-1.6-1.6v-3.4c.9 0 1.6-.7 1.6-1.6h8.6c0 .9.7 1.6 1.6 1.6v3.4c-.9 0-1.6.7-1.6 1.6H7.7z"},circle:{cx:"12",cy:"11.88",r:"2.256"}}},currency_input:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15 15.6c.9-1.4.7-3.2-.5-4.4-1.4-1.4-3.6-1.4-5 0-1.2 1.2-1.4 3-.5 4.4h6zm4.2-9.4v11.6c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4zm-12 11.1h9.6c.3 0 .5-.3.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.3 0-.5.2-.5.5v9.6c0 .2.2.5.5.5z"}},custom:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19 7.9c0-.2-.3-.2-.4-.1l-2.4 2.4c-.2.2-.5.2-.7 0l-1.7-1.7c-.2-.2-.2-.5 0-.7l2.4-2.4c.2-.1.1-.4 0-.4-.5-.1-.9-.2-1.3-.2-2.6 0-4.6 2.2-4.3 4.8 0 .4.1.8.3 1.1l-5.6 5.6c-.7.7-.7 1.8 0 2.4.3.4.7.5 1.2.5s.8-.1 1.2-.5l5.6-5.6c.3.2.7.3 1.1.3 2.6.3 4.8-1.7 4.8-4.3 0-.4-.1-.8-.2-1.2z"}},custom_notification:{path:{d:"M12.9 5.2L12 9.6a.2.2 0 0 0 .3.3H17a.5.5 0 0 1 .3.7L12.2 19a.4.4 0 0 1-.8-.2l.9-5.2c0-.2-.1-.1-.3-.1H7.1c-.4 0-.6-.5-.4-.8L12.1 5a.4.4 0 0 1 .8.2z"}},customer_360:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.9 12.2c.2-.2.2-.4.1-.6-.1-.2-.3-.3-.5-.3s-.3 0-.5.2l-.1.1c-.2-3.2-2.8-5.7-6-5.7-3.4 0-6.1 2.7-6.1 6.1s2.7 6 6.1 6c2.8 0 5.2-1.9 5.8-4.6l1.2-1.2zm-7 4.6C9.2 16.8 7 14.6 7 12s2.2-4.9 4.9-4.9c2.5 0 4.6 2 4.8 4.5l-.1-.1c-.1-.1-.2-.1-.3-.2-.2-.1-.5 0-.6.2-.2.2-.2.6 0 .8l.9.9c-.5 2-2.5 3.6-4.7 3.6z"},g:{path:{d:"M14.8 13.7v.3c0 .3-.3.6-.6.6H9.5c-.4 0-.6-.3-.6-.6v-.3c0-.7.8-1.1 1.6-1.5h.1c0-.1.1-.1.2 0 .3.2.6.3 1 .3s.8-.1 1.1-.3c0-.1.1-.1.2 0h.1c.8.4 1.6.8 1.6 1.5z"},ellipse:{cx:"11.856",cy:"10.272",rx:"1.464",ry:"1.632"}}},customer_portal_users:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.3 11.7c0 .3-.2.5-.5.5h-4.4c-.3 0-.5-.2-.5-.5V11c0-.3.2-.5.5-.5h4.4c.3 0 .5.2.5.5v.7zm-6.8 0c0 .3-.3.5-.5.5h-.8c-.3 0-.5-.2-.5-.5V11c0-.3.2-.5.5-.5H9c.2 0 .5.2.5.5v.7zm0 3.1c0 .3-.3.5-.5.5h-.8c-.3 0-.5-.2-.5-.5v-.7c0-.3.2-.5.5-.5H9c.2 0 .5.2.5.5v.7zm6.8 0c0 .3-.2.5-.5.5h-4.4c-.3 0-.5-.2-.5-.5v-.7c0-.3.2-.5.5-.5h4.4c.3 0 .5.2.5.5v.7zm1.4-10H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm-6.3 1.8c0-.2.2-.4.4-.4h5.6c.2 0 .3.2.3.4v.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.3-.2-.3-.4v-.7zm-1.9-.4c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.3-.8.8-.8zM7 6.2c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.4-.8.8-.8zm10.8 11.2c0 .2-.2.4-.4.4h-1.1v-.6c0-.3-.2-.5-.5-.5h-4.4c-.3 0-.5.2-.5.5v.6H9.5v-.6c0-.3-.3-.5-.5-.5h-.8c-.3 0-.5.2-.5.5v.6H6.6c-.2 0-.4-.2-.4-.4V9.5c0-.2.2-.4.4-.4h10.8c.2 0 .4.2.4.4v7.9z"}},customers:{xmlns:"http://www.w3.org/2000/svg",ellipse:{cx:"9.912",cy:"10.152",rx:"2.928",ry:"3.24"},path:{d:"M12.6 13.8c-.7.6-1.7 1.1-2.7 1.1-1 0-2-.5-2.7-1.1-1.3.6-2.6 1.3-2.6 2.5v.5c0 .6.4 1.1 1 1.1h8.6c.6 0 1.1-.5 1.1-1.1v-.5c0-1.2-1.3-1.9-2.7-2.5zm3.7-2.4l-.1-.1h-.3c-.5.3-1.1.5-1.7.5h-.3c-.1.3-.2.7-.4.9.1.1.2.1.3.2 1.4.6 2.4 1.3 3 2.3H18c.5 0 1-.4 1-.9v-.5c0-1.2-1.4-1.9-2.7-2.4zm-.2-3.2c0-1.2-.9-2.1-1.9-2.1-.6 0-1 .2-1.4.6.9.8 1.4 2.1 1.4 3.4v.2c1 0 1.9-.9 1.9-2.1z"}},dashboard:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 1.9c2.9 0 5.3 2.4 5.3 5.3 0 .2 0 .5-.1.7h-2.1c-.2 0-.4.2-.5.4-.2 1.3-1.3 2.3-2.6 2.3s-2.4-1-2.6-2.3c0-.2-.3-.4-.5-.4H6.8c-.1-.2-.1-.5-.1-.7 0-2.9 2.4-5.3 5.3-5.3zm-.6 7.1c.6.3 1.4 0 1.7-.5.4-.9 1.3-4.6 1.1-4.7-.2-.1-2.8 2.7-3.2 3.6-.4.5-.2 1.3.4 1.6z"}},data_integration_hub:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M17.7 6.5c-.9 0-1.7.7-1.7 1.7 0 .1.1.2.1.4l-1.6 1c-.5-.6-1.3-.9-2.1-.9-.6 0-1.2.2-1.6.5L8.1 7.4c.2-.7-.2-1.4-.9-1.8-.7-.3-1.7 0-2 .8s-.1 1.7.7 2.1c.4.2.9.2 1.3 0l2.7 1.9c-.1.3-.2.6-.2 1v.5l-1.6.6c-.2-.2-.5-.4-.9-.5-.9-.3-1.9.3-2.2 1.2-.2 1 .3 1.9 1.3 2.2.9.3 1.9-.3 2.2-1.2v-.3l1.9-.7c.5.5 1.2.9 2 .9h.2l.3 1.3c-.5.4-.8 1.1-.8 1.7.1 1.1 1.1 1.9 2.2 1.8 1.1-.1 1.9-1 1.8-2.1-.1-1-.9-1.8-1.8-1.8l-.3-1.5c.7-.4 1.1-1.3 1.1-2.1v-.5L17 9.7c.2.1.5.2.8.2.9 0 1.7-.8 1.7-1.7-.1-1-.8-1.7-1.8-1.7zm-5.3 6.6c-1 0-1.7-.8-1.7-1.7s.7-1.8 1.7-1.8 1.7.8 1.7 1.8c0 .9-.7 1.7-1.7 1.7z"},circle:{cx:"12.432",cy:"11.376",r:".768"}}},datadotcom:{path:{d:"M17.1 19.2h-1.7c-.1-.6-.1-1.1-.1-1.6-.8 1.3-2.1 1.9-3.8 1.9-1.4 0-2.6-.5-3.4-1.5-.8-1-1.2-2.4-1.2-3.9 0-1.1.2-2 .6-2.8s1-1.5 1.7-2 1.6-.7 2.6-.7c1.4 0 2.5.4 3.4 1.3V4.8h1.7v12.1c0 .8.1 1.5.2 2.3zm-1.9-4.4v-3.3c-.4-.6-.9-.9-1.4-1.2-.5-.2-1.1-.4-1.8-.4-1 0-1.8.4-2.4 1.2s-.8 1.7-.8 2.9c0 1.3.2 2.2.8 3s1.3 1.1 2.3 1.1 1.8-.3 2.4-1c.6-.6.9-1.4.9-2.3z"}},date_input:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.2 10.1H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-8.6 6.7c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v1zm3.4 0c0 .3-.3.5-.5.5h-1c-.2 0-.5-.2-.5-.5v-1c0-.2.3-.4.5-.4h1c.2 0 .5.2.5.4v1zm0-3.4c0 .3-.3.5-.5.5h-1c-.2 0-.5-.2-.5-.5v-.9c0-.3.3-.5.5-.5h1c.2 0 .5.2.5.5v.9zm3.3 0c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v.9zm1-7.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5z"}},date_time:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.3 6.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5zm.9 3.9H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zM12 18.2c-2 0-3.6-1.6-3.6-3.6s1.6-3.5 3.6-3.5 3.6 1.6 3.6 3.5-1.6 3.6-3.6 3.6zm.4-3.7V13c0-.2-.1-.3-.3-.3h-.2c-.1 0-.3.1-.3.3v1.6c0 .1.1.2.1.3l1.2 1.1c.1.1.2.1.3 0l.2-.1c.1-.1.1-.3 0-.4l-1-1z"}},decision:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.1 6.9L17.8 6c-.2-.1-.4-.2-.6-.2H13v-.5c0-.3-.3-.5-.5-.5h-1c-.2 0-.5.2-.5.5v.5H6.2c-.2 0-.4.2-.4.4v2c0 .2.2.4.4.4h11c.2 0 .5 0 .6-.2l1.3-.9c.1-.2.1-.4 0-.6zM17.8 11H13v-.7c0-.1-.1-.2-.3-.2h-1.4c-.2 0-.3.1-.3.2v.7H6.8c-.2 0-.4.1-.6.2l-1.2 1c-.2.1-.2.4 0 .6l1.2.9c.2.1.4.2.6.2h11c.2 0 .4-.2.4-.5v-1.9c0-.2-.2-.5-.4-.5zM13 17.2V16c0-.1-.1-.2-.3-.2h-1.4c-.2 0-.3.1-.3.2v1.2c-.9.2-1.4.8-1.6 1.5-.1.3.1.5.3.5h4.6c.2 0 .4-.2.3-.5-.1-.7-.7-1.2-1.6-1.5z"}},default:{xmlns:"http://www.w3.org/2000/svg",path:{opacity:".5",d:"M10.7 7.9c.5-.5 1.2-.8 1.9-.8 1.1 0 1.9.5 2.4 1.3.4-.1.9-.3 1.4-.3 1.8.1 3.3 1.5 3.3 3.3 0 1.8-1.5 3.3-3.3 3.3-.2 0-.5 0-.7-.1-.4.8-1.2 1.3-2.1 1.3-.4 0-.7-.1-1-.3-.5 1-1.4 1.7-2.6 1.7-1.2 0-2.2-.8-2.6-1.8-.2 0-.3.1-.5.1-1.4 0-2.6-1.2-2.6-2.6 0-.9.5-1.8 1.3-2.2-.2-.4-.2-.7-.2-1.2 0-1.6 1.3-2.9 2.9-2.9 1 0 1.9.5 2.4 1.2"}},delegated_account:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.4 10.2H13c-.4 0-.5.5-.5.5v8.2h6.4v-8.1c.1-.5-.3-.6-.5-.6zm-3.2 7.3c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V17c0-.2.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V12c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm2.5 5c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V17c0-.2.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5zm0-2.5c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V12c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5zm-4.3-7.9H5.1c-.5 0-.5.5-.5.6v13.7H11V9.3s0-.6.5-.6h2c.2-.1.4-.2.4-.5V5.3c.1-.5-.3-.7-.5-.7zM7.3 17.3c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.6c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.3-.5-.5v-.6c0-.2.2-.5.5-.5h.5c.3 0 .5.3.5.5v.6zM10 17.3c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5H9c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.6c0 .3-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5H9c-.3 0-.5-.2-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.5c0 .2-.2.5-.5.5H9c-.3 0-.5-.3-.5-.5v-.6c0-.2.2-.5.5-.5h.5c.3 0 .5.3.5.5v.6zm2.7 0c0 .2-.2.5-.5.5h-.5c-.2 0-.5-.3-.5-.5v-.6c0-.2.2-.5.5-.5h.5c.3 0 .5.3.5.5v.6zm6.4.1c-.2-.1-.4-.1-.5.1l-.2.2c-.2-1.5-1.3-2.1-2.1-2.2l.2-.2c.2-.1.2-.3.1-.5s-.3-.2-.5-.1l-.9.6c-.1.1-.2.2-.2.3s0 .2.1.3l.8 1c0 .1.1.1.3.1 0 0 .1 0 .2-.1s.2-.3 0-.5l-.2-.2c.6.1 1.3.5 1.5 1.6l-.2-.2c-.1-.1-.4-.1-.5 0s-.2.4 0 .5l.8.8c.1.1.2.1.2.1h.1c.1 0 .2 0 .2-.1l.9-1c0-.1 0-.4-.1-.5z"}},display_rich_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.3 17.2h13.4c.3 0 .5.2.5.5v1c0 .2-.2.5-.5.5H5.3c-.3 0-.5-.3-.5-.5v-1c0-.3.2-.5.5-.5zm0-4.3h13.4c.3 0 .5.2.5.5v1c0 .2-.2.4-.5.4H5.3c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5zm8.5-4.3h4.9c.3 0 .5.2.5.5v.9c0 .3-.2.5-.5.5h-4.9c-.2 0-.5-.2-.5-.5v-.9c0-.3.3-.5.5-.5zm-2.4 2.1L9.1 5c0-.1-.1-.1-.2-.1H7.2c-.1 0-.3 0-.3.1l-2.1 5.7c0 .1 0 .2.2.2h1.1c.1 0 .2-.1.2-.2l.4-1.2h2.7l.5 1.2c0 .1.1.2.2.2h1.1c.2 0 .2-.1.2-.2zM7.2 8.1l.7-1.8h.2l.8 1.8H7.2z"}},display_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.4 4.8H6.7c-1.1 0-1.9.9-1.9 1.9v10.6c0 1.1.8 1.9 1.9 1.9h10.6c1.1 0 1.9-.8 1.9-1.9V6.7c0-1-.8-1.9-1.8-1.9zM7.3 7.9c0-.3.3-.6.6-.6h7c.4 0 .7.3.7.6v.7c0 .3-.3.6-.6.6H7.9c-.3 0-.6-.3-.6-.6v-.7zm7.4 8.2c0 .3-.3.6-.6.6H7.9c-.3 0-.6-.3-.6-.6v-.6c0-.4.3-.6.6-.6h6.2c.3 0 .6.2.6.6v.6zm2-3.8c0 .4-.3.7-.6.7H7.9c-.3 0-.6-.3-.6-.7v-.6c0-.3.3-.6.6-.6h8.2c.3 0 .6.3.6.6v.6z"}},document:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 10.1h-3.3c-.8 0-1.5-.7-1.5-1.5V5.3c0-.3-.2-.5-.5-.5H7.4c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm.4-2l-3.2-3.2c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.6c0 .5.4.9.9.9h2.6c.2 0 .3-.1.3-.3 0-.1 0-.2-.1-.2z"}},drafts:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 4.8H9.8c-.8 0-1.4.6-1.4 1.4v.3c0 .1.1.2.2.2h7c.8 0 1.4.7 1.4 1.5v7.4c0 .1.1.2.3.2h.2c.8 0 1.5-.6 1.5-1.4V6.2c0-.8-.7-1.4-1.5-1.4zm-3.3 3.4H6.5c-.8 0-1.5.6-1.5 1.4v8.2c0 .8.7 1.4 1.5 1.4h7.7c.8 0 1.4-.6 1.4-1.4V9.6c0-.8-.6-1.4-1.4-1.4zM7 10.6c0-.3.2-.5.4-.5h4.8c.3 0 .5.2.5.5v.4c0 .3-.2.5-.5.5H7.4c-.2 0-.4-.2-.4-.5v-.4zm5.7 6.2c0 .3-.2.5-.5.5H7.4c-.2 0-.4-.2-.4-.5v-.5c0-.2.2-.5.4-.5h4.8c.3 0 .5.3.5.5v.5zm1-2.9c0 .3-.2.5-.5.5H7.4c-.2 0-.4-.2-.4-.5v-.5c0-.2.2-.4.4-.4h5.8c.3 0 .5.2.5.4v.5z"}},dynamic_record_choice:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.4 17.1V17c-2.1-.6-3.7-2.6-3.7-5 0-2.9 2.4-5.3 5.3-5.3s5.3 2.4 5.3 5.3c0 .5-.1 1-.2 1.4l.2.2c.1 0 .2-.1.3-.1.4 0 .9.2 1.3.4.2-.6.3-1.3.3-1.9 0-4-3.3-7.2-7.2-7.2S4.8 8 4.8 12c0 3.8 3 6.9 6.7 7.2-.6-.5-1.1-1.2-1.1-2.1zm3.2-4.3c.5 0 .9.2 1.3.4l.3-.1c.1-.4.2-.7.2-1.1 0-1.8-1.5-3.3-3.4-3.3S8.7 10.2 8.7 12c0 1.5.9 2.7 2.3 3.2.1-1.4 1.2-2.4 2.6-2.4zm1.2 1.8c.2-.2.6-.4.9-.4.5 0 1 .2 1.2.7.2-.1.5-.2.7-.2.9 0 1.6.8 1.6 1.6 0 .9-.7 1.6-1.6 1.6h-.3c-.2.4-.6.6-1.1.6-.1 0-.3 0-.5-.1-.2.5-.7.8-1.2.8-.6 0-1.1-.4-1.3-.9-.1 0-.2.1-.3.1-.7 0-1.2-.6-1.2-1.3 0-.4.2-.9.6-1.1-.1-.1-.1-.3-.1-.5 0-.8.6-1.5 1.4-1.5.5 0 .9.3 1.2.6z"}},education:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 12.3c-.4 0-.7-.2-1.1-.3-1.9-.6-3.8-1.2-5.6-1.9-.2 0-.3-.1-.4-.1-.1-.1-.1-.3 0-.4.1 0 .3-.1.4-.1l6-1.8c.5-.2.9-.2 1.4 0l6 1.8c.1 0 .3.1.4.1.1.1.1.3 0 .4-.1 0-.2.1-.3.1-2 .7-4 1.3-6 2-.3.1-.5.2-.8.2zm-4 .1c-.3-.1-.4.1-.4.2v2.3c0 .3.1.4.3.6l.2.2c.5.3 1 .5 1.6.7 1.1.3 2.3.3 3.5.2.7-.1 1.4-.3 2.1-.6.3-.2.6-.3.9-.6.1-.1.2-.3.1-.5.1-.7.1-1.4.1-2.2 0-.4-.3-.3-.4-.3-1.1.3-2.2.7-3.2 1-.6.2-1.1.2-1.6 0l-3.2-1zm10-.7c-.1 0-.1 0-.1.1v2c0 .1-.1.2-.1.3-.1.3-.3.7-.4 1-.1.4-.1.7.2 1 0 .1.1.1.2.2s.3.1.4.2c.2 0 .4-.1.5-.3l.2-.2c.2-.2.3-.5.2-.8-.1-.4-.3-.8-.5-1.1v-2.5c0-.1-.2-.1-.2-.1l-.4.2z"}},email:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.7 13.2c.2.2.4.2.6 0l6.8-6.3c.1-.2.1-.6-.4-.6H5.3c-.4 0-.6.3-.4.6l6.8 6.3zm7.5-3.6c0-.3-.4-.5-.6-.3l-5.3 4.9c-.3.4-.8.5-1.3.5s-.9-.1-1.3-.5L5.4 9.3c-.2-.2-.6 0-.6.3v6.2c0 .8.7 1.5 1.5 1.5h11.5c.8 0 1.4-.7 1.4-1.5V9.6z"}},email_chatter:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.7 13.2c.2.2.4.2.6 0l6.8-6.3c.1-.2.1-.6-.4-.6H5.3c-.4 0-.6.3-.4.6l6.8 6.3zm7.5-3.6c0-.3-.4-.5-.6-.3l-5.3 4.9c-.3.4-.8.5-1.3.5s-.9-.1-1.3-.5L5.4 9.3c-.2-.2-.6 0-.6.3v6.2c0 .8.7 1.5 1.5 1.5h11.5c.8 0 1.4-.7 1.4-1.5V9.6z"}},empty:{xmlns:"http://www.w3.org/2000/svg",path:{opacity:".5",d:"M17.3 18.7H6.7c-.8 0-1.4-.6-1.4-1.4V6.7c0-.8.6-1.4 1.4-1.4h10.6c.8 0 1.4.6 1.4 1.4v10.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.2.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.3 0-.5.2-.5.5z"}},endorsement:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.7 10.1H5.3c-.3 0-.5.2-.5.5v7.7c0 .3.2.4.5.4h.5c.8 0 1.4-.6 1.4-1.4v-6.7c0-.3-.2-.5-.5-.5zm10.6.2h-1.5c-.8 0-1.4-.6-1.4-1.4V6c0-.8-.6-1.4-1.4-1.4h-1c-.3 0-.5.2-.5.4v2c0 1.6-.8 3.3-2.4 3.3-.2 0-.5.2-.5.5v6.7c0 .3.2.5.5.5 2.1.1 3.5.9 5.8.9 2.4 0 4.3-.7 4.3-3v-3.7c0-1-.9-1.9-1.9-1.9z"}},entitlement:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M17.3 4.8H8.4c-.8 0-1.6.8-1.6 1.6h-.6c-.6 0-1.1.5-1.1 1.2s.5 1.1 1.1 1.1h.6v2.2h-.6c-.6 0-1.1.5-1.1 1.1s.5 1.1 1.1 1.1h.6v2.2h-.6c-.6 0-1.1.5-1.1 1.1 0 .7.5 1.1 1.1 1.1h.6c0 1.1.8 1.7 1.6 1.7h8.9c.8 0 1.6-.8 1.6-1.7V6.4c0-.9-.8-1.6-1.6-1.6zm-1 12c0 .3-.2.5-.4.5H9.6c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.5.5-.5h6.3c.2 0 .4.3.4.5v.5zm-6.7-4.7l.5-.5c.1-.2.4-.2.5 0l1.3 1.2 3-3.1c.2-.1.4-.1.5 0l.5.5c.2.2.2.4 0 .6l-3.6 3.5c-.1.1-.3.2-.5.2s-.3-.1-.5-.2l-1.7-1.7c-.2-.2-.2-.4 0-.5zm6.7-4.3c0 .2-.2.5-.4.5H9.6c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h6.3c.2 0 .4.2.4.5v.5z"}},entitlement_policy:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M6.1 8.4h2.5c.6 0 1-.5 1-1V4.9c0-.2-.1-.4-.3-.4-.1 0-.2.1-.3.1L5.9 7.8c-.1.1-.1.1-.1.2 0 .2.1.4.3.4zm5 10.5l1.2-1.5 1-1.4c0-.1 0-.2-.1-.3-.1-.2-.4-.6-.4-1.1s.3-1 .4-1.2c0-.2.1-.7.6-1.1.3-.4.8-.5 1-.5h.1c.2-.2.6-.5 1.1-.5s.9.3 1.2.5c.1 0 .3 0 .6.1V6c0-.8-.7-1.5-1.5-1.5h-4.8c-.2 0-.5.3-.5.5v3.4c0 .8-.6 1.4-1.4 1.4H6.2c-.2 0-.4.2-.4.5v7.2c0 .8.6 1.4 1.4 1.4h3.9z"},{d:"M15.6 17.2l-1.2 1.7-.3-.8h-.9l1.1-1.5c.2.2.5.2.6.2h.2c0 .1 0 .1.1.1.1.1.2.2.4.3zm2.1-.6c-.3.1-.5.2-.6.2h-.2l-.1.1c-.1.1-.3.2-.5.3l1.3 1.7.3-.8h.8l-1-1.5zM16 13.8c-.4 0-.8.4-.8.8s.4.7.8.7.7-.3.7-.7-.3-.8-.7-.8zm2 .8c0 .2-.3.4-.3.6-.1.3-.1.6-.3.8-.1.2-.5.1-.7.2-.2.1-.4.4-.7.4s-.4-.3-.6-.4c-.3-.1-.6 0-.8-.2-.2-.2-.1-.5-.2-.8-.1-.2-.4-.4-.4-.6s.3-.5.4-.7c.1-.2 0-.6.2-.7.2-.2.5-.2.8-.3.2-.1.4-.3.6-.3s.5.3.7.3c.2.1.6.1.7.3.2.1.2.5.3.7 0 .2.3.4.3.7zm-.6 0c0-.8-.6-1.4-1.4-1.4-.8 0-1.4.6-1.4 1.4S15.2 16 16 16s1.4-.7 1.4-1.4z"}]},entitlement_process:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M13.4 19.1v-4l2.3-2.5h3.2v4.8c0 1-.8 1.7-1.7 1.7h-3.8zm-1.4 0H8.4c-.8 0-1.6-.5-1.6-1.7h-.6c-.6 0-1.1-.4-1.1-1v-.1c0-.6.5-1.1 1.1-1.1h.6V13h-.6c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h.6V8.6h-.6c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.2h.6c0-.9.8-1.6 1.6-1.6h8.8c.9 0 1.7.7 1.7 1.6v4.9h-3.3L13 8.4c-.2-.2-.5-.2-.7 0l-2.9 3.2c-.2.2-.2.5 0 .7l2.6 2.8v4z"}},entitlement_template:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M16.9 4.7H8.1c-.9 0-1.6.7-1.6 1.6h-.6c-.6 0-1.1.5-1.1 1.1v.1c0 .6.5 1.1 1.1 1.1h.6v2.2h-.6c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h.6v2.2h-.6c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h.6c0 1.2.7 1.7 1.6 1.7h8.8c.9 0 1.7-.7 1.7-1.7V6.3c0-.9-.8-1.6-1.7-1.6zm-.8 10.8H8.8V8.3h7.3v7.2zm-6-4.7h4.8c.1 0 .1 0 .1-.1V9.6c0-.1 0-.2-.1-.2h-4.8c-.1 0-.2 0-.2.1v1.1c0 .1.1.2.2.2zm0 3.6h1.1c.1 0 .2 0 .2-.1v-2.2c0-.1-.1-.2-.2-.2h-1.1c-.1 0-.2.1-.2.1v2.2c0 .1.1.2.2.2zm4.7-2.5h-2.2c-.1 0-.2.1-.2.2v2.2c0 .1.1.1.2.1h2.2c.1 0 .2 0 .2-.1v-2.2c0-.1 0-.2-.1-.2h-.1z"}},entity:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M17.9 6.9c0-1.2-2.7-2.1-5.9-2.1s-5.9.9-5.9 2.1v.7c0 1.2 2.7 2.1 5.9 2.1s5.9-.9 5.9-2.1v-.7zM6.1 9.3c0 .9 2.7 1.6 5.9 1.6s5.9-.7 5.9-1.6v1.5c0 1.1-2.7 2.1-5.9 2.1s-5.9-1-5.9-2.1V9.3zm0 0c0 .9 2.7 1.6 5.9 1.6s5.9-.7 5.9-1.6v1.5c0 1.1-2.7 2.1-5.9 2.1s-5.9-1-5.9-2.1V9.3zm0 3.2c0 .9 2.7 1.6 5.9 1.6s5.9-.7 5.9-1.6v1.4c0 1.2-2.7 2.1-5.9 2.1s-5.9-.9-5.9-2v-1.5zm0 3.1c0 1 2.7 1.7 5.9 1.7s5.9-.7 5.9-1.7v1.5c0 1.2-2.7 2.1-5.9 2.1s-5.9-.9-5.9-2.1v-1.5z"}},entity_milestone:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M17.8 7.9l-5.1-2.8c-.4-.3-1-.3-1.5 0L6.1 7.9c-.4.3-.7.8-.7 1.3v5.7c0 .5.3 1 .7 1.3l5.1 2.9c.5.2 1.1.2 1.5 0l5.1-2.9c.5-.3.8-.8.8-1.3V9.2c0-.5-.3-1-.8-1.3zm-8 1.8v6c0 .3-.2.5-.5.5s-.5-.2-.5-.5v-6c-.2-.1-.3-.4-.3-.6 0-.4.4-.7.8-.7s.8.3.8.8c0 .2-.1.4-.3.5zm6.2 3.8c0 .1-.1.2-.2.2-2 1.1-3.1-.7-4.9-.1-.1.1-.3 0-.3-.2V10c0-.1.1-.2.2-.3 1.8-.7 3 1.2 5 .1h.1c0 .1.1.1.1.1v3.6z"}},environment_hub:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.3 11.3c.1-1 .4-2 .9-2.9.8-1.3 2.1-2.1 3.8-2.2.3-.8 1.1-1.4 2-1.4 1.2 0 2.2 1 2.2 2.2s-1 2.1-2.2 2.1c-.9 0-1.7-.6-2-1.4-1.9.1-3 1.6-3.2 3.6H15c.3-.9 1.1-1.5 2-1.5 1.2 0 2.2 1 2.2 2.2s-1 2.2-2.2 2.2c-.9 0-1.7-.6-2-1.5h-3.2c.2 2.2 1.2 3.6 3.2 3.6.3-.8 1.1-1.4 2-1.4 1.2 0 2.2.9 2.2 2.1s-1 2.2-2.2 2.2c-.9 0-1.7-.6-2-1.4-1.8 0-3.1-.8-3.9-2.2-.4-.9-.7-1.8-.8-2.9H9c-.3.9-1.1 1.5-2 1.5-1.2 0-2.2-1-2.2-2.2s1-2.2 2.2-2.2c.9 0 1.7.6 2 1.5h1.3zM17 7.7c.4 0 .8-.3.8-.7s-.4-.8-.8-.8-.7.4-.7.8.3.7.7.7zm0 10.1c.4 0 .8-.4.8-.8s-.4-.7-.8-.7-.7.3-.7.7.3.8.7.8zm0-5.1c.4 0 .8-.3.8-.7s-.4-.7-.8-.7-.7.3-.7.7.3.7.7.7zm-10 0c.4 0 .7-.3.7-.7s-.3-.7-.7-.7-.8.3-.8.7.4.7.8.7z"}},event:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.2 10.1H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-8.6 6.7c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v1zm0-3.4c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v.9zm3.4 3.4c0 .3-.3.5-.5.5h-1c-.2 0-.5-.2-.5-.5v-1c0-.2.3-.4.5-.4h1c.2 0 .5.2.5.4v1zm0-3.4c0 .3-.3.5-.5.5h-1c-.2 0-.5-.2-.5-.5v-.9c0-.3.3-.5.5-.5h1c.2 0 .5.2.5.5v.9zm3.3 3.4c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v1zm0-3.4c0 .3-.2.5-.5.5h-.9c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v.9zm1-7.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5z"}},events:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.1 6.9c-1.3-1.4-3-2.1-4.9-2.1-.4 0-.7.3-.7.7s.3.7.7.7c1.5 0 2.9.6 3.9 1.6 1.1 1.1 1.7 2.5 1.7 4 0 .4.3.7.7.7s.7-.3.7-.7c0-1.9-.7-3.6-2.1-4.9zm-4.9.8c-.4 0-.7.3-.7.7s.3.7.7.7a2.732 2.732 0 0 1 2.7 2.7c0 .4.3.7.7.7s.7-.3.7-.7c0-1.1-.4-2.1-1.2-2.9s-1.8-1.2-2.9-1.2zm-1 6.9l.6-1.7c.4.2.9.1 1.3-.3.5-.4.5-1.2 0-1.7s-1.2-.4-1.7 0c-.4.4-.5.9-.3 1.4l-1.5.7-2.8-2.8c-.2-.2-.6-.2-.7 0-1.8 2.2-1.7 5.4.3 7.4s5.3 2.2 7.4.4c.3-.2.3-.5.1-.7l-2.7-2.7z"}},feed:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.8 17.3c-.1 0-.3 0-.4-.1-.2-.1-.3-.3-.4-.5L9.2 9.2l-1.6 3.5c-.1.3-.4.5-.6.5H4.8c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h1.7l2.2-5.1c.1-.3.4-.5.7-.5.3.1.6.3.7.6l1.9 7.6 2.4-5.6c.2-.3.5-.4.8-.4.2 0 .5.2.6.5l1.2 2.9h2.2c.3 0 .5.2.5.4v.5c0 .3-.2.5-.5.5h-2.6c-.3 0-.6-.2-.7-.4l-.8-1.9-2.7 5.9c-.1.3-.4.5-.6.5z"}},feedback:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19 13.6v-.3c.4-.8.7-1.6.7-2.5 0-2.8-2.4-5-5.3-5-1.2 0-2.4.4-3.3 1.1 3 .6 5.2 3.2 5.2 6.3 0 .9-.1 1.7-.5 2.4.5-.1 1-.3 1.4-.5.1-.1.2-.1.3-.1l1.5.6c.3.1.5-.2.5-.5l-.5-1.5zM9.6 8.2c-2.9 0-5.3 2.2-5.3 5 0 .9.3 1.7.7 2.5 0 .1.1.2 0 .3l-.5 1.6c-.1.3.2.5.5.4l1.5-.5c.1-.1.2-.1.3 0 .8.5 1.8.7 2.8.7 2.9 0 5.3-2.2 5.3-5s-2.4-5-5.3-5zm-2.9 6c-.5 0-.9-.5-.9-1s.4-1 .9-1 1 .5 1 1-.5 1-1 1zm2.9 0c-.5 0-1-.5-1-1s.5-1 1-1 1 .5 1 1-.5 1-1 1zm2.9 0c-.5 0-1-.5-1-1s.5-1 1-1 .9.5.9 1-.4 1-.9 1z"}},file:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7 15.1V7.4c-.8 0-1.5.7-1.5 1.5V18c0 .8.7 1.4 1.5 1.4h7.2c.8 0 1.4-.6 1.4-1.4H9.8C8.3 18 7 18 7 15.1zm11-6.2h-2.4c-.8 0-1.4-.7-1.4-1.5V5c0-.2-.3-.4-.5-.4H9.8c-.8 0-1.4.6-1.4 1.4v9.1c0 .8.6 1.5 1.4 1.5H17c.8 0 1.5-.7 1.5-1.5V9.4c0-.3-.2-.5-.5-.5zm.4-2l-2.2-2.2c-.1-.1-.2-.1-.3-.1-.2 0-.3.1-.3.3v1.6c0 .5.4.9 1 .9h1.5c.2 0 .4-.1.4-.3 0-.1 0-.2-.1-.2z"}},filter:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.5 4.8H5c-.4 0-.6.5-.3.8l5.8 6.9c.2.2.2.5.2.8v5.4c0 .3.3.5.5.5h1.1c.2 0 .4-.2.4-.5v-5.4c0-.3.1-.6.3-.8l5.9-6.8c.3-.4 0-.9-.4-.9z"}},first_non_empty:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.4 11.8l5.5-5.4c.2-.2.2-.5 0-.7l-.7-.7c-.2-.2-.5-.2-.7 0L12 10.5c-.1.1-.3.1-.4 0L6.1 4.9c-.2-.1-.5-.1-.7 0l-.7.7c-.2.2-.2.5 0 .7l5.5 5.5c.1.1.1.3 0 .5l-5.5 5.5c-.2.2-.2.4 0 .7l.7.7c.2.1.5.1.7 0l5.5-5.5c.1-.1.3-.1.4 0l5.4 5.4c.2.2.5.2.7 0l.7-.7c.2-.2.2-.5 0-.7l-5.4-5.4c-.1-.2-.1-.3 0-.5z"}},flow:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 7.4C18.6 6.1 17 3.9 14 5.2c-1.8.8-2.8 1.3-2.8 1.3L8.5 7.7c-.7.3-2.4-.2-3.3-.5-.2-.1-.5.2-.4.5.7 1.2 2.3 3.5 5.2 2.1 1.8-.8 5.5-2.4 5.5-2.4.7-.4 2.4.1 3.3.5.3 0 .5-.2.4-.5zm-6.4 3.8c-.3.2-1.6.8-1.6.8l-1.3.6c-.7.4-2.1-.1-2.9-.5-.3-.1-.5.2-.4.5.6 1.2 2 3.3 4.6 2 1.6-.8 2.9-1.3 2.9-1.3.7-.4 2.1.1 2.9.4.3.1.5-.2.4-.4-.6-1.2-2-3.4-4.6-2.1zm-.9 5.3c-.3.2-.7.5-.7.5-.5.3-1.6-.1-2.2-.4-.2-.1-.4.2-.3.4.4 1.1 1.5 3 3.4 1.8l.7-.4c.6-.3 1.6.1 2.2.4.2.1.4-.2.3-.5-.4-1-1.4-2.9-3.4-1.8z"}},folder:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18 8.3h-6.8c-.4 0-.8-.2-1.1-.6l-1-1.8c-.2-.4-.6-.6-1.1-.6H6c-.7 0-1.2.5-1.2 1.2v11c0 .7.5 1.2 1.2 1.2h12c.7 0 1.2-.5 1.2-1.2V9.6c0-.7-.5-1.3-1.2-1.3zm0-2.4h-7.2c-.1 0-.2.1-.1.2l.4.8c.1.1.2.2.3.2H18c.3 0 .7.1.9.2.2.1.3 0 .3-.2 0-.7-.5-1.2-1.2-1.2z"}},forecasts:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.6 7s-.8-1.7-2.7-1.7-2.7 1.8-2.7 1.8c-1.3-.6-2.4 0-2.4 0s-.9-1.8-2.7-1.8S5.4 7 5.4 7s-1.8 3.9-1.8 7.4c-.1 3.5 2.2 4.3 3.3 4.3 1.2 0 4.1-.5 3.9-4.4 0 0 .3-.7 1.1-.7 1 0 1.3.7 1.3.7-.1 3.9 2.7 4.4 3.9 4.4 1 0 3.4-.8 3.3-4.3 0-3.5-1.8-7.4-1.8-7.4zM7.2 17.2c-1.2 0-2.1-1-2.1-2.1S6 13 7.2 13s2 .9 2 2.1-.9 2.1-2 2.1zm9.6 0c-1.1 0-2-1-2-2.1s.9-2.1 2-2.1 2.1.9 2.1 2.1-.9 2.1-2.1 2.1z"}},formula:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.3 5.1c-.3-.2-.6-.3-1-.3H12C10.9 5 10.2 6 9.8 6.9c-.2.4-.3.9-.5 1.3l-.3.6c0 .1-.1.5-.1.5H7.8c-.1 0-.2.1-.2.2 0 .2.1.3.2.3h1L8.2 12c-.5 2.6-1.2 5.4-1.4 6-.2.5-.4.7-.7.7h-.2l-.1-.1s.1-.1.1-.2c.1-.1.1-.3.1-.4 0-.1 0-.3-.2-.4-.1-.2-.3-.2-.4-.2s-.4.1-.5.2c0 .2-.1.3-.1.5 0 .3.1.6.4.8.2.2.5.3.9.3.7 0 1.2-.3 1.7-.8.2-.3.4-.7.6-1 .5-1.2.8-2.5 1.1-3.8.3-1.2.6-2.5.9-3.8h1c.2 0 .3-.1.3-.2 0-.2-.1-.3-.3-.3h-.9c.5-2 1.1-3.4 1.2-3.6.2-.3.4-.5.7-.5.1 0 .1.1.1.1l.1.1s0 .1-.1.2c-.1.2-.1.3-.1.4 0 .2.1.3.2.4s.3.2.4.2.4 0 .5-.2.2-.3.2-.5c0-.4-.2-.6-.4-.8zm4.8 6c.4 0 1.1-.3 1.1-1.3s-.7-1-1-1c-.4 0-.8.3-1.2.9-.4.7-.8 1.5-.8 1.5h-.1c-.1-.5-.1-.9-.2-1.1-.1-.4-.5-1.3-1.5-1.3s-2 .6-2 .6c-.1.1-.3.3-.3.5 0 .3.3.6.6.6.1 0 .2 0 .3-.1 0 0 .8-.4.9 0 .1.1.1.3.2.4.2.7.3 1.4.5 2.1l-.6 1s-.8-.2-1.1-.2-1.2.3-1.2 1.3.8 1 1 1c.4 0 .9-.3 1.3-1 .4-.6.8-1.4.8-1.4.1.6.2 1.1.3 1.3.2.7.8 1.2 1.6 1.2 0 0 .8 0 1.7-.6.2-.1.4-.3.4-.5 0-.4-.3-.6-.6-.6h-.3s-.6.4-.9.1c-.2-.3-.3-.7-.4-1.2l-.3-1.5.7-1c-.1.1.7.3 1.1.3z"}},fulfillment_order:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.5 15.1c.2 0 .4 0 .6.1L8.9 6l-.3-.9c-.1-.2-.4-.3-.6-.3l-2.9 1c-.2.1-.3.3-.3.6l.3.8c.1.3.4.4.6.3l1.5-.4 3 8.4c.4-.2.8-.4 1.3-.4zm5.1-2.2l-3 1.1c-.3.1-.7-.1-.8-.4l-1-2.9c-.1-.3 0-.7.3-.8l3-1c.3-.2.7 0 .8.3l1 3c.1.3 0 .6-.3.7zM13.8 8l-2.1.7c-.3.2-.6 0-.7-.3l-.7-2c-.1-.3 0-.7.4-.8l2-.7c.3-.1.6.1.7.4l.7 2c.1.3 0 .6-.3.7zm5.4 6.8l-.3-.9c-.1-.2-.4-.4-.6-.3l-5.5 1.9c.6.4 1 1 1.1 1.7l5-1.7c.3-.1.4-.4.3-.7zm-7.7 1.1c-.9 0-1.7.7-1.7 1.6 0 .9.8 1.7 1.7 1.7s1.7-.7 1.7-1.7c0-.9-.8-1.6-1.7-1.6z"}},generic_loading:{xmlns:"http://www.w3.org/2000/svg",path:{opacity:".15",d:"M12.4 5.3h-.8c-.2 0-.3.1-.3.3v3.2c0 .2.1.3.3.3h.8c.2 0 .3-.1.3-.3V5.6c0-.2-.1-.3-.3-.3zm6 6h-3.2c-.2 0-.3.1-.3.3v.8c0 .2.1.3.3.3h3.2c.2 0 .3-.1.3-.3v-.8c0-.2-.1-.3-.3-.3zm-6 3.6h-.8c-.2 0-.3.1-.3.3v3.2c0 .2.1.3.3.3h.8c.2 0 .3-.1.3-.3v-3.2c0-.2-.1-.3-.3-.3zm-3.3-2.5v-.8c0-.2-.1-.3-.3-.3H5.6c-.2 0-.3.1-.3.3v.8c0 .2.1.3.3.3h3.2c.2 0 .3-.1.3-.3zm5.2-2.2c.1.2.3.2.5 0L17 8c.1-.1.1-.3 0-.5l-.5-.5c-.2-.1-.4-.1-.5 0l-2.2 2.2c-.2.2-.2.4 0 .5l.5.5zm.5 3.6c-.1-.2-.4-.2-.5 0l-.5.5c-.1.1-.1.3 0 .5L16 17c.2.1.4.1.5 0l.5-.5c.2-.2.2-.4 0-.5l-2.2-2.2zm-5.1 0c-.1-.2-.3-.2-.5 0L7 16c-.1.1-.1.3 0 .5l.5.5c.2.1.4.1.5 0l2.2-2.2c.2-.2.2-.4 0-.5l-.5-.5zM8 7c-.1-.2-.3-.2-.5 0l-.5.5c-.1.1-.1.3 0 .5l2.2 2.2c.2.1.4.1.5 0l.5-.5c.2-.1.2-.4 0-.5L8 7z"}},global_constant:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M12.8 12.7c.8-.6 1.6-.7 2.2-.7H19.2c0-4-3.2-7.2-7.2-7.2S4.8 8 4.8 12c0 3.4 2.5 6.3 5.7 7 0-.2 0-.4.1-.7.1-.4.3-.7.5-1-.7-.8-1.4-2.5-1.5-4.6h1.7v1.9c0-.1.1-.2.2-.4.3-.4.6-.9 1-1.3.1 0 .1-.1.2-.1l.1-.1zm4.9-1.4h-1.9c-.1-1.7-.4-3.2-1-4.3 1.6.9 2.7 2.5 2.9 4.3zm-5-4.7c.8.7 1.6 2.4 1.7 4.7h-1.7V6.6zm-1.4 0v4.7H9.6c.1-2.3.9-4 1.7-4.7zm-5 6.1h1.9c.1 1.7.4 3.2 1 4.4-1.6-.9-2.7-2.5-2.9-4.4zm1.9-1.4H6.3C6.5 9.5 7.6 7.9 9.2 7c-.6 1.1-.9 2.6-1 4.3zm3.4 5.6l.2-.2.3-.3c-.4-.2-.7-.5-.8-.9v1.7c.1-.2.2-.3.3-.3z"},{d:"M19.1 13.3c0-.1-.1-.1-.1-.1h-4c-.6 0-1.2.2-1.7.6-.3.3-.6.7-.8 1.1 0 .1-.1.1-.1.1 0 .2.2.3.3.3.1 0 .1-.1.2-.2l.3-.3c.3-.3.7-.5 1.2-.4-.4 1-.9 2.2-1.7 3.1-.3.3-.9.7-1 1.1-.1.6.4.7.8.5.5-.2.7-.7 1-1.1.3-.5.6-1.1.8-1.6.2-.6.5-1.1.7-1.7.1-.3.2-.3.5-.3h1c-.4.8-.7 1.5-1 2.3-.3.6-.7 1.5-.4 2.1.3.7 1.2.4 1.6.1.5-.3.8-.9 1.1-1.4 0-.1.1-.1 0-.3 0-.1-.1-.1-.2-.1-.2 0-.3.3-.3.4-.2.3-.5.5-.8.5-.7-.1 0-1.4.1-1.8.1-.3.2-.6.4-1l.3-.6c.1-.2.1-.2.4-.2.2 0 .9.1 1.1-.1.2-.1.3-.5.4-.8 0-.1 0-.2-.1-.2z"}]},goals:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.2 4.8c-.8 0-1.4.6-1.4 1.4 0 .5.2.9.5 1.1v10.9c0 .6.4 1 .9 1s1-.4 1-1V7.3c.3-.2.5-.6.5-1.1 0-.8-.7-1.4-1.5-1.4zm12.2 2.6c-3.8 2-5.9-1.4-9.4-.1-.2 0-.4.2-.4.4v6.2c0 .3.4.6.7.5 3.4-1.1 5.5 2.2 9.2.1.1-.1.2-.2.2-.4V7.6c0-.2-.2-.3-.3-.2zm-1.1 3.3c-.5.1-.9.1-1.4.1h-.1v1.4h.1c.5 0 .9 0 1.4-.1v1.4c-.5.2-.9.2-1.4.2h-.1v-1.4c-.4 0-.9-.1-1.4-.2v1.4c-.3 0-.7-.1-1-.2-.2-.1-.3-.1-.4-.2v-1.4c-.6-.2-1-.3-1.5-.4v1.5c-.2-.1-.5-.1-.8-.1-.2 0-.4 0-.6.1v-1.5h1.4V10c-.2-.1-.5-.1-.8-.1h-.6V8.5c.2-.1.4-.1.6-.1.3 0 .6.1.8.1V10c.4.1.7.2 1.3.3 0 .1.1.1.2.1V9c.4.1.9.2 1.4.3v1.4c.5.1.9.1 1.4.1V9.4h.1c.5 0 .9 0 1.4-.1v1.4zm-4.3-.3v1.3c.1 0 .2.1.3.1.4.1.7.2 1.1.3v-1.4c-.5-.1-1-.2-1.4-.3z"}},group_loading:{xmlns:"http://www.w3.org/2000/svg",path:{opacity:".5",d:"M8.8 12.6c-.4-.7-.6-1.4-.6-2.3 0-1.4.6-2.6 1.5-3.3-.3-.6-.9-1-1.8-1-1.4 0-2.1 1.1-2.1 2.4 0 .7.2 1.3.7 1.7.2.2.4.6.4.9 0 .3-.1.6-.9 1-1.1.5-2.1 1.1-2.2 2.2 0 .7.5 1.2 1.1 1.2H6c.1 0 .3-.1.4-.3.5-.9 1.4-1.5 2.2-1.9.3-.1.4-.4.2-.6zM18 12c-.8-.4-.9-.7-.9-1 0-.3.2-.7.4-.9.5-.4.7-1 .7-1.7 0-1.3-.7-2.4-2.1-2.4-.9 0-1.5.4-1.8 1 .9.7 1.5 1.9 1.5 3.3 0 .9-.2 1.6-.6 2.3-.2.2-.1.5.2.7.8.4 1.7.9 2.2 1.8.1.2.3.3.4.3h1.1c.6 0 1.1-.5 1.1-1.2-.1-1.1-1.1-1.7-2.2-2.2zm-3.9 2.3c-.9-.4-1-.7-1-1.1 0-.4.2-.7.5-1 .5-.4.8-1.1.8-1.9 0-1.4-.8-2.6-2.4-2.6s-2.4 1.2-2.4 2.6c0 .8.3 1.4.8 1.9.3.3.5.6.5 1s-.1.7-.9 1.1c-1.3.5-2.5 1.1-2.6 2.3 0 .7.6 1.4 1.3 1.4h6.6c.7 0 1.3-.7 1.3-1.4-.1-1.2-1.3-1.8-2.5-2.3z"}},groups:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.8 12.6c-.4-.7-.6-1.4-.6-2.3 0-1.4.6-2.6 1.5-3.3-.3-.6-.9-1-1.8-1-1.4 0-2.1 1.1-2.1 2.4 0 .7.2 1.3.7 1.7.2.2.4.6.4.9 0 .3-.1.6-.9 1-1.1.5-2.1 1.1-2.2 2.2 0 .7.5 1.2 1.1 1.2H6c.1 0 .3-.1.4-.3.5-.9 1.4-1.5 2.2-1.9.3-.1.4-.4.2-.6zM18 12c-.8-.4-.9-.7-.9-1 0-.3.2-.7.4-.9.5-.4.7-1 .7-1.7 0-1.3-.7-2.4-2.1-2.4-.9 0-1.5.4-1.8 1 .9.7 1.5 1.9 1.5 3.3 0 .9-.2 1.6-.6 2.3-.2.2-.1.5.2.7.8.4 1.7.9 2.2 1.8.1.2.3.3.4.3h1.1c.6 0 1.1-.5 1.1-1.2-.1-1.1-1.1-1.7-2.2-2.2zm-3.9 2.3c-.9-.4-1-.7-1-1.1 0-.4.2-.7.5-1 .5-.4.8-1.1.8-1.9 0-1.4-.8-2.6-2.4-2.6s-2.4 1.2-2.4 2.6c0 .8.3 1.4.8 1.9.3.3.5.6.5 1s-.1.7-.9 1.1c-1.3.5-2.5 1.1-2.6 2.3 0 .7.6 1.4 1.3 1.4h6.6c.7 0 1.3-.7 1.3-1.4-.1-1.2-1.3-1.8-2.5-2.3z"}},hierarchy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.1 11.1h-4c-.3 0-.5.2-.5.5V15H5.2c-.2 0-.4.2-.4.4v3.4c0 .2.2.4.4.4h4.5c.3 0 .5-.2.5-.4v-3.4c0-.2-.2-.4-.5-.4H8.4v-2.1h7.2V15h-1.3c-.3 0-.5.2-.5.4v3.4c0 .2.2.4.5.4h4.5c.2 0 .4-.2.4-.4v-3.4c0-.2-.2-.4-.4-.4h-1.4v-3.4c0-.3-.2-.5-.5-.5h-4V9h1.3c.3 0 .5-.2.5-.4V5.3c0-.3-.2-.5-.5-.5H9.7c-.2 0-.4.2-.4.5v3.3c0 .2.2.4.4.4h1.4v2.1z"}},high_velocity_sales:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 5.2c0-.3-.2-.4-.3-.4h-6.2c-.4 0-.4.5-.4.5v.8c0 .4.2.5.3.5H17c.1 0 .4.1.4.6v4.1c0 .1.1.4.5.4h.9s.4 0 .4-.5v-6zm-3.7 3.7c0-.3-.2-.4-.3-.4H9c-.5 0-.5.5-.5.5v.9c0 .3.3.4.4.4h4.3c.2.1.5.2.5.7v4c0 .2.1.4.4.4h1s.4 0 .4-.4V8.9zm-9.7 9.9c.1.1.3.3.6-.1l3.2-3.1c0-.1.3-.3.3.1v3.1c0 .1.1.4.5.4h.9s.4 0 .4-.5v-6c0-.3-.2-.4-.3-.4H5.3c-.5 0-.5.5-.5.5v.8c0 .4.2.5.4.5H8c.2 0 .5 0 .2.4l-3 3s-.4.4-.1.6l.7.7z"}},home:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.9 12.3h-1.5v6.6c0 .2-.1.3-.3.3h-3c-.2 0-.3-.1-.3-.3v-5.1h-3.6v5.1c0 .2-.1.3-.3.3h-3c-.2 0-.3-.1-.3-.3v-6.6H5.1c-.1 0-.3-.1-.3-.2s0-.2.1-.3l6.9-7c.1-.1.3-.1.4 0l7 7v.3c0 .1-.2.2-.3.2z"}},household:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.4 4.9c-.3-.1-.6-.1-.8 0L5 11.1c-.4.3-.2.9.3.9h.9v5.8c0 .8.7 1.4 1.5 1.4h8.6c.8 0 1.5-.6 1.5-1.4V12h.9c.5 0 .7-.6.3-.9l-6.6-6.2zM8.9 15.3c-.1.1-.2.1-.3.1H8c-.3 0-.6-.2-.6-.6.1-.6.6-.9 1.3-1.1.4-.2.5-.4.5-.6 0-.2-.2-.4-.3-.5-.3-.2-.4-.6-.4-1 0-.7.5-1.3 1.2-1.3.5 0 .8.2 1 .5-.5.5-.9 1.1-.9 1.9 0 .5.2.9.4 1.3.1.1 0 .3-.1.3-.4.2-1 .5-1.2 1zm4.9 1.7h-3.6c-.4 0-.7-.3-.7-.8 0-.6.7-1 1.3-1.3.5-.2.6-.4.6-.6 0-.2-.1-.4-.3-.5-.3-.3-.4-.6-.4-1.1 0-.8.5-1.5 1.3-1.5s1.4.7 1.4 1.5c0 .5-.2.8-.5 1.1-.1.1-.3.3-.3.5s.1.4.6.6c.7.3 1.4.7 1.4 1.3-.1.5-.4.8-.8.8zm2.2-1.6h-.6c-.1 0-.2 0-.3-.1-.2-.5-.8-.7-1.2-.9-.1-.1-.2-.2-.1-.4.2-.3.4-.8.4-1.2 0-.8-.4-1.5-.9-1.9.2-.3.5-.6 1-.6.8 0 1.2.7 1.2 1.4 0 .4-.1.7-.4.9-.1.2-.2.4-.2.6s0 .3.5.5c.6.3 1.2.6 1.2 1.1 0 .4-.3.6-.6.6z"}},individual:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.1 17.5l-2.9 1.6c-.2.1-.4.1-.5 0l-2.9-1.6c-.1-.1-.1-.2 0-.3l.7-.4h.1l1.8 1c.2.1.3.2.5.2s.4-.1.6-.2l1.7-1h.2l.7.4c.1.1.1.2 0 .3zm0-1.9l-2.9 1.7c-.2.1-.4.1-.5 0l-2.9-1.7c-.1 0-.1-.2 0-.2l.7-.4h.1l1.8 1c.2.1.3.1.5.1s.4 0 .6-.1l1.7-1h.2l.7.4c.1 0 .1.2 0 .2zm-3.4-.1l-2.9-1.7c-.1 0-.1-.2 0-.2l2.9-1.7c.1-.1.4-.1.5 0l2.9 1.7c.1 0 .1.2 0 .2l-2.9 1.7h-.5zm-3.2-1c.1-.1.1-.2 0-.2l-.7-.4v-.3s0-.4.3-.7c.1 0 .3-.1.5-.2-.1-.1-.2-.1-.3-.1-.4-.3-1-.5-1.2-1-.1-.3-.1-.6.1-.9.2-.3.5-.5.7-.8.1-.1.1-.2.1-.3.6-.8.7-2 .4-3-.4-1.1-1.3-1.8-2.5-1.8h-.1c-1.2 0-2.1.7-2.5 1.8-.3 1-.2 2.2.4 3 0 .1.1.2.1.3.2.3.5.5.7.8.1.3.2.6.1.9-.2.5-.8.7-1.2 1-1 .4-2.3 1-2.5 2.2-.2 1 .5 2 1.6 2h5.3l.7-.4c.1-.1.1-.2 0-.3l-.7-.4V15l.7-.5z"}},insights:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.8 6.5H7.4c-.2 0-.4.1-.4.4v8.4c0 .3-.3.6-.6.6-.3-.1-.5-.3-.5-.6V9.2c0-.1-.1-.2-.3-.2h-.4c-.2 0-.4.1-.4.4v7c0 .6.5 1.1 1.1 1.1h12.2c.6 0 1.1-.5 1.1-1.1V6.9c0-.3-.2-.4-.4-.4zm-6.2 8c0 .2-.2.3-.3.3H9c-.2 0-.3-.1-.3-.3v-.6c0-.1.1-.2.3-.2h3.3c.1 0 .3.1.3.2v.6zm0-2.2c0 .2-.2.3-.3.3H9c-.2 0-.3-.1-.3-.3v-.6c0-.1.1-.3.3-.3h3.3c.1 0 .3.2.3.3v.6zm4.9 2.2c0 .2-.1.3-.2.3h-3.4c-.1 0-.2-.1-.2-.3v-.6c0-.1.1-.2.2-.2h3.4c.1 0 .2.1.2.2v.6zm0-2.2c0 .2-.1.3-.2.3h-3.4c-.1 0-.2-.1-.2-.3v-.6c0-.1.1-.3.2-.3h3.4c.1 0 .2.2.2.3v.6zm0-2.2c0 .1-.1.2-.2.2H9c-.2 0-.3-.1-.3-.2V8.4c0-.2.1-.3.3-.3h8.3c.1 0 .2.1.2.3v1.7z"}},instore_locations:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.7 16.8c-.1 0-.3-.1-.3-.3v-1.7c0-.2.1-.3.3-.3h1.8c.1 0 .3.1.3.3v1.8c0 .1-.1.2-.3.2H7.7zm3.4 0c-.1 0-.3-.1-.3-.3v-2.7c0-.1.1-.2.3-.2h1.8c.2 0 .3.1.3.2v2.8c0 .1-.1.2-.3.2h-1.8zm3.4 0c-.1 0-.3-.1-.3-.3v-1.7c0-.2.2-.3.3-.3h1.8c.2 0 .3.1.3.3v1.8c0 .1-.1.2-.3.2h-1.8zm-6.8-6.5c-.1 0-.3-.1-.3-.3V7.5c0-.2.1-.3.3-.3h5.2c.2 0 .3.1.3.3V10c0 .2-.1.3-.3.3H7.7zm6.8 0c-.1 0-.3-.1-.3-.3V8.3c0-.2.2-.3.3-.3h1.8c.2 0 .3.1.3.3V10c0 .2-.1.3-.3.3h-1.8zm3.2-5.5H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm0 12.4c0 .3-.2.5-.5.5H6.8c-.3 0-.5-.2-.5-.5v-4.6h11.4v4.6zm0-6H6.3V6.8c0-.3.2-.5.5-.5h10.4c.3 0 .5.2.5.5v4.4z"}},investment_account:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 6.5H6.2c-.8 0-1.4.6-1.4 1.4v8.2c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4V7.9c0-.8-.6-1.4-1.4-1.4zM16.6 13c0 .2-.3.3-.4.1L15 12l-2.5 2.2c-.3.3-.7.3-1 0L10 12.5l-2.8 2.4c-.1.1-.2.1-.3 0l-.1-.2c-.1-.1-.1-.2 0-.3l2.7-3.7c.2-.3.7-.3 1 0l1.5 1.6 1.6-1.8-1-.9c-.2-.2-.1-.5.1-.5h3.4c.2 0 .4.3.4.5V13z"}},invocable_action:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.1 17.1V19c0 .1.1.2.2.2h.2l3.6-3c.1 0 .1-.1.1-.2 0 0-.1-.1-.1-.2l-3.6-3.1h-.2c-.1 0-.2.1-.2.3v2c-2.3.6-4.1-1.4-4.1-1.4s-.1-.1-.2-.1-.2.2-.2.3c.9 3.8 4.5 3.3 4.5 3.3zm-5.9-3l-.1-.1v-.2c0-1 .8-1.8 1.7-1.8.5 0 .9.2 1.2.6h.1c.2.2.8.7 1.6 1V13c0-1 .7-1.7 1.7-1.7.3 0 .6.1.7.1l.2.1.1.1 2.1 1.8c.5-.5.7-1.2.7-1.9 0-1.5-1.2-2.7-2.6-2.7h-.2v-.2c0-1.5-1.2-2.7-2.7-2.7-.7 0-1.3.2-1.8.7-.4-1-1.4-1.8-2.6-1.8-1.5 0-2.7 1.2-2.7 2.7 0 .5.2 1 .4 1.4-1.2.3-2.1 1.3-2.1 2.6 0 1.5 1.1 2.7 2.6 2.7h1.8c-.1 0-.1 0-.1-.1z"}},iot_context:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M17.5 10.4c-.7 0-1.4.6-1.6 1.3h-1.2c-.2-1.4-1.3-2.4-2.7-2.4s-2.6 1-2.8 2.4H8c-.2-.7-.8-1.3-1.6-1.3-.9 0-1.6.8-1.6 1.7 0 .9.7 1.7 1.6 1.7.8 0 1.5-.5 1.6-1.2h1.2c.2 1.2 1.1 2.1 2.3 2.3V16c-.7.2-1.2.9-1.2 1.6 0 1 .7 1.7 1.7 1.7s1.7-.7 1.7-1.7c0-.7-.6-1.4-1.3-1.6v-1.1c1.2-.2 2.1-1.1 2.3-2.3h1.2c.2.7.9 1.2 1.6 1.2.9 0 1.7-.7 1.7-1.7s-.7-1.7-1.7-1.7zm-4.7 7.2c0 .5-.3.9-.8.9s-.8-.4-.8-.9.3-.8.8-.8.8.4.8.8zM8 8.6c-.2.2-.2.5 0 .7.2.2.5.2.7 0 1.7-1.8 4.6-1.8 6.4 0 .1.1.2.2.3.2s.3-.1.4-.2c.2-.2.2-.5 0-.7-2.2-2.1-5.7-2.1-7.8 0zm-1.2-.8C9.6 5 14.2 5 17 7.8c.1.1.2.1.3.1s.3 0 .4-.1c.2-.2.2-.5 0-.7-3.2-3.2-8.4-3.2-11.6 0-.2.2-.2.5 0 .7.2.2.5.2.7 0z"}},iot_orchestrations:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd",circle:[{cx:"9.36",cy:"7.68",r:"2.88"},{cx:"16.8",cy:"12",r:"2.88"}],path:{"fill-rule":"nonzero",d:"M9.4 17.8c.8 0 1.4-.7 1.4-1.5s-.6-1.4-1.4-1.4-1.5.6-1.5 1.4.7 1.5 1.5 1.5zm0 1.4c-1.6 0-2.9-1.3-2.9-2.9s1.3-2.9 2.9-2.9 2.8 1.3 2.8 2.9-1.2 2.9-2.8 2.9zM11 9.9c.8 1.1 2 1.7 3.4 1.9.2 0 .5-.2.5-.5 0-.2-.2-.5-.4-.5-1.2-.1-2.1-.6-2.8-1.5-.1-.2-.4-.2-.7-.1-.2.2-.2.5 0 .7zM6.7-12.5c.5-1.2.5-2.5.1-3.8-.1-.3-.4-.4-.6-.3-.3.1-.4.4-.3.6.4 1.1.3 2.1-.1 3.1-.1.3 0 .6.2.7.3.1.6 0 .7-.3zm4.8 18.7c.9-.5 1.9-.6 2.8-.2 1 .4 1.6 1.2 1.9 2 .1.4.1.6.1 1.5 0 .3.2.5.5.5s.5-.2.5-.5c0-1-.1-1.3-.2-1.8-.3-1-1.1-2-2.4-2.6-1.3-.5-2.5-.4-3.7.2-.2.2-.3.5-.1.7.1.2.4.3.6.2zm0 11.6c.9.5 1.9.6 2.8.2 1-.4 1.6-1.2 1.9-2 .1-.4.1-.6.1-1.5 0-.2.2-.5.5-.5s.5.3.5.5c0 1-.1 1.3-.2 1.8-.3 1-1.1 2-2.4 2.6-1.3.5-2.5.4-3.7-.2-.2-.2-.3-.5-.1-.7.1-.2.4-.3.6-.2z"}}},javascript_button:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.1 8.6h2.6c.2 0 .3-.1.3-.3 0-.1 0-.2-.1-.2l-3.2-3.2c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.6c0 .5.4.9.9.9zm2.4 1.5h-3.3c-.8 0-1.5-.7-1.5-1.5V5.3c0-.3-.2-.5-.5-.5H7.4c-.8 0-1.4.6-1.4 1.4v11.6c0 .8.6 1.4 1.4 1.4h9.2c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-8.4 5.8c0 .7-.4.9-.9.9h-.4l.1-.4h.3c.2 0 .3-.1.3-.5v-1.5h.6v1.5zm1 .9c-.2 0-.5 0-.7-.1l.2-.5c.1.1.3.2.6.2.2 0 .3-.1.3-.3s-.1-.2-.4-.3c-.3-.1-.6-.4-.6-.8s.3-.7.9-.7c.2 0 .4.1.6.1l-.1.5c-.2-.1-.4-.1-.5-.1-.3 0-.4.1-.4.2s.2.2.5.3.6.4.6.8-.3.7-1 .7z"}},job_profile:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9 7.7h5.2c.2 0 .5-.3.5-.5v-1c0-.8-.7-1.4-1.5-1.4H9.9c-.8 0-1.4.6-1.4 1.4v1c0 .2.2.5.5.5zM16.8 6h-.5c-.1 0-.2.1-.2.2v1c0 1-.9 1.9-1.9 1.9H9c-1.1 0-1.9-.9-1.9-1.9v-1c0-.1-.1-.2-.3-.2h-.5c-.8 0-1.4.6-1.4 1.4v9.7c0 .8.7 1.5 1.4 1.5h4.8c.7 0 .8-.6.8-.8v-5.1c0-.6.3-.7.5-.7h5.1c.6 0 .7-.5.7-.7V7.4c0-.8-.6-1.4-1.4-1.4zm2 8.5h-5.2c-.2 0-.3-.1-.3-.3v-.5c0-.1.1-.3.3-.3h5.2c.2 0 .3.2.3.3v.5c0 .2-.1.3-.3.3zm0 2.3h-5.2c-.2 0-.3-.1-.3-.2v-.5c0-.2.1-.3.3-.3h5.2c.2 0 .3.1.3.3v.5c0 .1-.1.2-.3.2zm0 2.4h-5.2c-.2 0-.3-.1-.3-.3v-.5c0-.1.1-.3.3-.3h5.2c.2 0 .3.2.3.3v.5c0 .2-.1.3-.3.3z"}},kanban:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.6 9.2c0-.2-.3-.5-.5-.5h-2.7c-.2 0-.4.3-.4.5v8.1c0 .2.2.4.4.4h2.7c.2 0 .5-.2.5-.4V9.2zm-5.4 0c0-.2-.3-.5-.5-.5H5c-.2 0-.4.3-.4.5v9.3c0 .2.2.4.4.4h2.7c.2 0 .5-.2.5-.4V9.2zm10.8 0c0-.2-.3-.5-.5-.5h-2.7c-.2 0-.4.3-.4.5v6.9c0 .2.2.4.4.4h2.7c.2 0 .5-.2.5-.4V9.2zM19 5c0-.2-.3-.5-.5-.5H5c-.2 0-.4.3-.4.5v1.5c0 .2.2.4.4.4h13.5c.2 0 .5-.2.5-.4V5z"}},knowledge:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.7 14.2h3.1c.3 0 .5-.3.5-.5V6.5c0-.5-.5-1-1-1H7.8c-.4 0-.6.3-.6.6v7.6c0 .2.2.5.5.5zM18.2 7v7.6c0 .6-.4 1-.9 1H6.7c-.5 0-.9-.4-.9-1V7c-.8 0-1.5.6-1.5 1.4v7.2c0 .8.7 1.4 1.5 1.4h4.5c.3 0 .5.3.5.5s.2.5.5.5h1.4c.3 0 .5-.2.5-.5s.2-.5.5-.5h4.5c.8 0 1.5-.6 1.5-1.4V8.4c0-.8-.7-1.4-1.5-1.4zm-5 7.2h3c.4 0 .6-.3.6-.6V6c0-.3-.2-.5-.5-.5h-2.6c-.5 0-1 .5-1 1v7.2c0 .2.2.5.5.5z"}},lead:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"12",cy:"6.96",r:"2.16"},path:{d:"M18.7 10.6H5.3c-.5 0-.7.6-.3.8l3.5 2.3c.2.1.3.3.2.5l-1.3 4.4c-.2.5.5.8.8.5l3.4-3.6c.2-.3.6-.3.8 0l3.4 3.6c.3.3.9 0 .8-.5l-1.3-4.4c-.1-.2 0-.4.2-.5l3.5-2.3c.4-.2.2-.8-.3-.8z"}},lead_insights:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M12 5.3a6.7 6.7 0 1 0 0 13.4 6.7 6.7 0 0 0 0-13.4zm0 12.6c-3.3 0-5.9-2.6-5.9-5.9 0-3.3 2.6-5.9 5.9-5.9 3.3 0 5.9 2.6 5.9 5.9 0 3.3-2.6 5.9-5.9 5.9z"},{d:"M11.8 11.8c0 .6-.2 1.1-.4 1.5-.2.4-.5.7-1 1-.4.2-.9.3-1.5.3v-.5c.7 0 1.2-.2 1.6-.5s.6-.7.7-1.3c-.4.4-.9.6-1.4.6-.3 0-.5-.1-.8-.2s-.4-.3-.5-.6c-.2-.2-.2-.5-.2-.8 0-.3.1-.6.2-.8.1-.3.3-.5.6-.6.3-.2.6-.3.9-.3.6 0 1.1.2 1.4.6s.4.9.4 1.6zm-.6-.1c0-.5-.1-.9-.3-1.2-.1-.3-.5-.4-.9-.4-.3 0-.6.1-.8.3-.2.2-.3.5-.3.9s.1.6.3.8c.2.2.4.3.8.3.2 0 .4-.1.7-.2s.3-.3.5-.5zm4.7.1c0 .6-.2 1.1-.4 1.5-.2.4-.5.7-1 1-.4.2-.9.3-1.5.3v-.5c.7 0 1.2-.2 1.6-.5s.6-.7.7-1.3c-.4.4-.9.6-1.4.6-.3 0-.5-.1-.8-.2s-.4-.3-.5-.6c-.2-.2-.2-.5-.2-.8 0-.3.1-.6.2-.8.1-.3.3-.5.6-.6.3-.2.6-.3.9-.3.6 0 1.1.2 1.4.6s.4.9.4 1.6zm-.6-.1c0-.5-.1-.9-.3-1.2-.2-.3-.5-.4-.9-.4-.3 0-.6.1-.9.3-.1.2-.2.5-.2.9s.1.6.2.8c.2.2.5.3.8.3.3 0 .5-.1.7-.2s.4-.3.6-.5z"}]},lead_list:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M8.9 15h9.6c.2 0 .5.2.5.4v1c0 .3-.3.5-.5.5H8.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4zM6 16.9H5c-.2 0-.4-.2-.4-.5v-1c0-.2.2-.4.4-.4h1c.3 0 .5.2.5.4v1c0 .2-.2.4-.5.5zm0-4.3H5c-.2 0-.4-.2-.4-.5v-1c0-.2.2-.4.4-.4h1c.3 0 .5.2.5.4v1c0 .2-.2.5-.5.5zm0-4.3H5c-.2 0-.4-.2-.4-.5v-1c0-.2.2-.4.4-.4h1c.3 0 .5.2.5.4v1c0 .2-.2.5-.5.5zm2.9 2.4h8.4c.3 0 .5.2.5.4v1c0 .3-.2.5-.5.5H8.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4zm0-4.3h9.6c.2 0 .5.2.5.5v.9c0 .3-.3.5-.5.5H8.9c-.3 0-.5-.2-.5-.5v-.9c0-.3.2-.5.5-.5z"}},letterhead:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zM17 16.6c0 .2-.2.3-.3.3H7.3c-.2 0-.3-.2-.3-.4v-2.1c0-.2.2-.4.4-.4h9.3c.2 0 .3.2.3.4v2.2zm0-7c0 .2-.2.3-.3.3H7.3c-.2 0-.3-.2-.3-.4V7.4c0-.2.2-.4.4-.4h9.3c.2 0 .3.2.3.4v2.2z"}},lightning_component:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.7 4.8h-4.1c-.6 0-1.1.4-1.3.9l-2.6 6.5c-.1.5.2 1 .7 1h4.1L10 18.6c-.1.5.5.8.8.4l6.3-7.5c.4-.4.1-1.2-.5-1.2h-3.1l2.7-4.4c.3-.5 0-1.1-.6-1.1h-.9z"}},lightning_usage:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.6 17.7c0 .7.5 1.2 1.2 1.2h12.7c.2 0 .5-.2.5-.4V18c0-.3-.3-.5-.5-.5h-12c-.3 0-.5-.2-.5-.5V5c0-.2-.2-.5-.5-.5H5c-.2 0-.4.3-.4.5v12.7zm3.7-3.8c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1l3.8-3.8c.3-.3.7-.3 1 0l1.8 1.8 3.3-3.3c.3-.3.7-.3 1 0 .3.3.3.8 0 1L15 12.2c-.2.1-.3.2-.5.2s-.4-.1-.5-.2l-1.9-1.9-3.3 3.4c-.2.1-.4.2-.5.2z"}},link:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.4 16.7c-.3-.1-.4-.1-.7-.1-.2-.1-.4-.1-.6-.2-.1-.1-.3 0-.4.1l-.1.1c-.9.9-2.3 1-3.2.2-1-.9-1.1-2.4-.1-3.4l2.3-2.3c.2-.3.6-.5 1-.6.5-.1 1-.1 1.4.1.3.2.6.3.8.5.1.2.2.3.3.4.1.2.4.3.5.1l.9-.8c.1-.1.1-.3 0-.5-.1-.1-.3-.3-.4-.5-.2-.2-.5-.4-.7-.5-.5-.3-.9-.5-1.4-.6-1-.2-2 0-2.8.4-.4.2-.7.5-1 .7L6 12c-1.6 1.6-1.7 4.2-.2 5.8 1.6 1.8 4.3 1.8 6 .2l.7-.8c.3-.2.1-.5-.1-.5zm5.5-10.8c-1.7-1.5-4.2-1.4-5.8.2l-.7.6c-.2.2-.1.6.2.6.4 0 .9.1 1.3.3.1 0 .3 0 .3-.1l.2-.2c.9-.8 2.2-.9 3.2-.1 1 .9 1 2.4.1 3.3l-2.3 2.3c-.3.3-.6.5-1 .6-.5.1-1 .1-1.4-.1-.3-.1-.6-.3-.8-.5-.1-.1-.2-.2-.3-.4-.1-.2-.4-.2-.6 0l-.8.8c-.1.1-.1.3 0 .5.1.1.2.3.4.4.2.3.4.4.7.6.4.3.9.4 1.4.5.9.2 1.9.1 2.8-.4.3-.2.7-.4.9-.7l2.3-2.3c1.6-1.6 1.6-4.3-.1-5.9z"}},list_email:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.6 8.4H7.3c-.7 0-1.2.5-1.2 1.1v.2c0 .1.1.2.2.2H14c.7 0 1.2.5 1.2 1.2v5.5c0 .1.1.2.2.2h.2c.6 0 1.1-.6 1.1-1.2V9.5c0-.6-.5-1.1-1.1-1.1zm2.5-2.5H9.8c-.7 0-1.2.5-1.2 1.2v.1c0 .1.1.2.2.2h7.7c.7 0 1.2.6 1.2 1.2v5.5c0 .1.1.2.2.2h.1c.7 0 1.2-.5 1.2-1.1V7.1c0-.7-.5-1.2-1.1-1.2zm-8.9 9.5c.2.1.3.1.4 0l4.4-4.1c.1-.1.1-.4-.2-.4H5.1c-.2 0-.4.3-.3.5l4.4 4zm4.9-2.5c0-.2-.2-.3-.4-.2l-3.4 3.2c-.2.2-.5.3-.8.3-.4 0-.6-.1-.9-.3l-3.4-3.2c-.1-.1-.4 0-.4.2v4.4c0 .5.4.8.8.8h7.7c.5 0 .8-.4.8-.8v-4.4z"}},live_chat:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M11.9 5.3c-4 0-7.2 2.9-7.2 6.5 0 1.2.3 2.3.8 3.2.1.2.2.4.1.5l-.9 2.6c-.1.2.1.5.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 3.9 0 7.1-2.9 7.1-6.6 0-3.7-3.2-6.6-7.2-6.6zm-3.6 7.8c-.7 0-1.2-.6-1.2-1.2 0-.7.5-1.2 1.2-1.2s1.2.5 1.2 1.2-.6 1.2-1.2 1.2zm3.6 0c-.7 0-1.2-.6-1.2-1.2 0-.7.5-1.2 1.2-1.2s1.2.5 1.2 1.2-.5 1.2-1.2 1.2zm3.6 0c-.7 0-1.2-.6-1.2-1.2 0-.7.6-1.2 1.2-1.2s1.2.5 1.2 1.2-.5 1.2-1.2 1.2z"}},live_chat_visitor:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.4.9 3.3.1.2.1.3.1.4l-.7 2.2c-.1.3.2.7.6.6l2.1-.8c.2 0 .3 0 .4.1 1.1.6 2.4 1 3.8 1 4 0 7.2-3 7.2-6.8 0-3.7-3.2-6.7-7.2-6.7zm-1.3 6.4c.6-.3.6-.5.6-.7 0-.3-.1-.5-.3-.7-.3-.2-.5-.7-.5-1.2 0-.9.5-1.6 1.5-1.6s1.5.7 1.5 1.6c0 .5-.2 1-.5 1.2-.2.2-.3.4-.3.7 0 .2 0 .4.6.7.8.3 1.5.8 1.6 1.5 0 .5-.3 1-.8 1H9.9c-.4 0-.8-.5-.8-1 0-.7.8-1.2 1.6-1.5zm-.9 4.9c-.4 0-.8-.3-.8-.7 0-.4.4-.8.8-.8s.7.4.7.8-.3.7-.7.7zm2.2 0c-.4 0-.7-.3-.7-.7 0-.4.3-.8.7-.8.4 0 .7.4.7.8s-.3.7-.7.7zm2.2 0c-.4 0-.7-.3-.7-.7 0-.4.3-.8.7-.8s.8.4.8.8-.4.7-.8.7z"}},location:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.6 6.8l-4.3-2.2a.8.8 0 0 0-.6 0l-4 2-4.1-2a.7.7 0 0 0-.7.1.7.7 0 0 0-.3.6v10.8a.7.7 0 0 0 .4.6l4.3 2.1a.8.8 0 0 0 .6 0l4-2 4 2a.6.6 0 0 0 .3.1.7.7 0 0 0 .4-.1.7.7 0 0 0 .4-.6V7.4a.7.7 0 0 0-.4-.6zm-1.1 1.4v5.7a.4.4 0 0 1-.6.4c-1.2-.4-.3-2.3-1.1-3.3-.7-.9-1.7 0-2.6-1.4-.9-1.4.3-2.5 1.4-3a.5.5 0 0 1 .4 0l2.2 1.1a.5.5 0 0 1 .3.5zm-6.1 8.3a.5.5 0 0 1-.5-.1 1.6 1.6 0 0 1-.6-1.1c0-.7-1.2-.4-1.2-1.9 0-1.2-1.3-1.5-2.5-1.3a.5.5 0 0 1-.5-.5V7.2a.4.4 0 0 1 .6-.4l2.6 1.3a.1.1 0 0 1 .1 0l.1.1c1.1.6.8 1.1.4 1.9-.5.9-.7 0-1.4-.3s-1.5.3-1.2.8.9 0 1.4.4.5 1.2 1.9.8 1.7-.3 2.2.2a1.5 1.5 0 0 1 0 2.2c-.4.4-.6 1.3-.8 1.9a.5.5 0 0 1-.2.3z"}},log_a_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.7 4.8h-9c-.8 0-1.5.7-1.5 1.4v.5h-.4c-.6 0-1 .5-1 1s.4.9 1 .9h.4V11h-.4c-.6 0-1 .5-1 1s.4 1 1 1h.4v2.4h-.4c-.6 0-1 .4-1 .9s.4 1 1 1h.4v.5c0 .7.7 1.4 1.5 1.4h9c.8 0 1.5-.7 1.5-1.5V6.2c0-.8-.7-1.4-1.5-1.4zm-.8 9.7l-.7.6c-.2.2-.4.3-.6.3-1.5-.1-3-.9-4.1-1.9-1-1-1.8-2.5-1.8-4.1 0-.2 0-.4.2-.6l.7-.6c.3-.4.8-.3 1.1 0l.6.8c.2.3.2.6 0 .9l-.5.8c-.1.1-.1.2 0 .3l1.1 1.2 1.2 1.1c.1.1.2.1.3 0l.8-.5c.2-.2.6-.2.9 0l.8.6c.3.2.3.8 0 1.1z"}},logging:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M18.5 13.5h-.9c-.2 0-.4.2-.4.4v3c0 .2-.2.4-.4.4H7c-.2 0-.4-.2-.4-.4v-3c0-.2-.2-.4-.4-.4h-.9c-.3 0-.5.2-.5.4v4c0 .7.6 1.2 1.2 1.2h11.8c.7 0 1.2-.5 1.2-1.2v-4c0-.2-.2-.4-.5-.4zM12.2 5c-.2-.1-.4-.1-.6 0l-4 4c-.2.2-.2.5 0 .6l.6.7c.2.1.4.1.6 0l1.7-1.7c.2-.2.5 0 .5.2v6.3c0 .2.2.4.4.4h.9c.3 0 .5-.2.5-.4V8.9c0-.3.3-.4.5-.3l1.7 1.7c.1.2.4.2.6 0l.6-.6c.2-.2.2-.5 0-.7l-4-4z"}},loop:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.4 14h-.1c0 .3-.1.6-.2.8-.1.3-.3.6-.4.8-.3.6-.7 1.1-1.1 1.5-.4.4-.9.8-1.4 1.1-.5.3-1.1.6-1.7.7-.6.2-1.2.3-1.8.3-3.8 0-6.9-3.1-6.9-6.9s3.1-6.9 6.9-6.9c1.2 0 2.4.4 3.5 1 .5.3 1 .7 1.3 1.1.2.1.2.1.3.3.2.1.4 0 .4-.3V5.3c0-.3.2-.5.5-.5h.9c.3 0 .5.2.6.5v5.9c0 .2-.2.4-.5.4h-5.8c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.5.5-.5h2.2c.2 0 .4 0 .5-.1-.9-1.2-2.4-2-3.9-2-2.7 0-4.9 2.1-4.9 4.8s2.2 4.8 4.9 4.8c2.1 0 3.8-1.3 4.5-3.2 0 0 .1-.4.4-.4H18c.2 0 .4.2.4.4v.1z"}},macros:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M15.5 16.2c0 .1-.1.1-.3.1h-1.4c-.1 0-.2-.1-.2-.2l.1-.1v-.1l3.1-3.7c.1-.1.1-.3 0-.4L13.7 8c-.1-.1-.1-.1-.1-.2s.2-.2.2-.2h1.4c.2 0 .3.1.3.2l3.3 4c.1 0 .1.1.1.2s-.1.1-.1.2l-3.3 4zm-3.4 0c-.1.1-.2.1-.3.1h-1.4c-.1 0-.2-.1-.2-.2V16l.1-.1 3-3.7c.1-.1.2-.3.1-.4L10.2 8v-.2c0-.1.1-.2.2-.2h1.4c.1 0 .2.1.3.2l3.3 4v.4l-3.3 4zm-3.5 0c0 .1-.1.1-.2.1H5.7c-.1 0-.2-.1-.2-.2V16h.1v-.1l3.1-3.7c.1-.1.1-.3 0-.4L5.6 8c-.1-.1-.1-.1-.1-.2s.1-.2.2-.2h2.6c.1 0 .3.1.3.2l3.3 4c.1 0 .1.1.1.2s-.1.1-.1.2l-3.3 4z"}},maintenance_asset:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M11.2 7.3c0 .1.1.2.2.2H18c.3 0 .7.1 1 .2.1.1.2 0 .2-.2 0-.7-.5-1.2-1.2-1.2h-7.2c-.1 0-.1 0-.1.1v.1l.5.8zM18 8.7h-6.8c-.4 0-.8-.2-1-.6L9.1 6.3c-.2-.4-.6-.6-1-.6H6c-.6 0-1.2.5-1.2 1.2v11c0 .7.5 1.2 1.2 1.2h12c.7 0 1.2-.5 1.2-1.2V10c0-.7-.5-1.2-1.2-1.3zm-3.1 8c-.3.3-.7.3-1 .1v-.1l-2.4-2.3c-.1 0-.3 0-.5.1-1 .1-1.9-.7-2-1.7v-.2-.5c.1 0 .1-.1.2-.1v.1l1 1c.1.1.3.1.3 0l.8-.7v-.3l-1.1-1v-.2h.1c.1-.1.3-.1.5-.1 1 0 1.8.8 1.8 1.9v.2c0 .1 0 .3-.1.4l2.4 2.4c.3.3.3.7.1 1-.1 0-.1.1-.1 0z"}},maintenance_plan:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M15.8 8.2h1.9c.2 0 .4-.2.4-.4 0-.1-.1-.3-.1-.3l-2.8-2.7c0-.1-.1-.1-.2-.1-.2 0-.4.2-.4.4V7c0 .6.5 1.1 1.2 1.2zm1.6 1.6h-2.9c-.9 0-1.7-.7-1.7-1.7V5.2c0-.3-.2-.5-.5-.5H7.6c-1 0-1.7.7-1.8 1.7v11c0 .9.8 1.7 1.8 1.7h8.7c.9 0 1.7-.8 1.7-1.7v-7c0-.3-.2-.6-.6-.6zm-1.6 7.4c-.2.2-.4.3-.7.3-.3 0-.6-.1-.7-.3L11 13.9c-.2.1-.4.2-.6.2-1.4.2-2.7-.9-2.8-2.2-.1-.4 0-.8.1-1.1 0-.1.1-.1.2 0l1.4 1.4c.1.1.3.1.4 0l1.1-1c.1-.1.1-.3 0-.4L9.3 9.3v-.2h.1c.2-.1.5-.1.7-.1 1.4 0 2.5 1.1 2.6 2.5 0 .1 0 .2-.1.3 0 .3 0 .5-.1.7l3.3 3.3c.4.4.4 1 0 1.4z"}},marketing_actions:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.4 6.2c-1.2.1-2.2 1.1-2.3 2.3.1-1.2 1.1-2.2 2.3-2.3zm2.5 2.3c-.1-1.2-1-2.2-2.3-2.3 1.3.1 2.3 1.1 2.3 2.3zm1.4 4.7l-2.5-.9c-.2-.1-.3-.2-.3-.4V8.6c0-.5-.4-.9-.9-.9h-.1c-.5 0-.9.4-.9.9V15c0 .6-.7.8-1 .3L9 14c-.4-.6-1.1-.7-1.7-.3L7 14l2 4.9c.1.2.3.3.6.3H15c.2 0 .5-.2.5-.4l1-3.5c.2-.9-.3-1.8-1.2-2.1zm-6.2-2.1V8.5c.1-1.2 1.1-2.2 2.3-2.3h.2c1.3.1 2.2 1.1 2.3 2.3v2.6c0 .2.3.3.4.2.7-.7 1.1-1.7 1.1-2.7 0-2.2-2-4-4.2-3.8C9.4 5 8 6.3 7.7 8c-.2 1.2.2 2.4 1 3.3.2.1.4 0 .4-.2z"}},merge:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.9 17.4c-1.7-.8-2.9-2.3-3.5-3.9-.2-.6-.3-1.3-.4-1.9v-1.1h3.2c.3 0 .5-.3.3-.5l-4.3-5.1c-.1-.2-.4-.2-.6 0L7.5 10c-.2.2 0 .5.2.5H11v1.1c-.1.6-.2 1.3-.4 1.9-.7 1.6-1.8 3.1-3.5 3.9-.3.1-.4.4-.3.6l.4.9c.1.3.4.4.7.2 1.8-.8 3.2-2.2 4.1-3.9.9 1.7 2.3 3.1 4.2 3.9.2.1.5.1.6-.2l.4-.9c.1-.2 0-.5-.3-.6z"}},messaging_conversation:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.1 17.1c2.6-.9 4.1-2.5 4.5-4.7 1.1.5 1.8 1.6 1.8 2.8 0 .6-.1 1.1-.3 1.5l.4 1.3c.1.3-.2.6-.5.5l-1.3-.5c-.5.3-1.1.5-1.7.5-1.2 0-2.2-.6-2.9-1.4zM10.6 5.3c3.2 0 5.8 2.4 5.8 5.4 0 3-2.6 5.4-5.8 5.4-1.1 0-2.2-.3-3-.8-.1-.1-.3-.1-.4-.1l-1.7.6c-.3.1-.6-.1-.5-.5l.6-1.7c0-.1 0-.2-.1-.3-.4-.8-.7-1.7-.7-2.6 0-3 2.6-5.4 5.8-5.4zM7.7 8.9c-.3 0-.5.2-.5.5v.4c0 .3.2.5.5.5h6.2c.3 0 .5-.2.5-.5v-.4c0-.3-.2-.5-.5-.5H7.7zm0 2.6c-.3 0-.5.2-.5.5v.5c0 .2.2.5.5.5H11c.3 0 .5-.3.5-.5V12c0-.3-.2-.5-.5-.5H7.7z"}},messaging_session:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 5.3c4 0 7.2 3 7.2 6.7S16 18.7 12 18.7c-1.4 0-2.7-.3-3.8-1-.1-.1-.2-.1-.4 0l-2.1.7c-.4.1-.7-.2-.6-.6l.7-2.1c0-.1 0-.3-.1-.4-.6-1-.9-2.1-.9-3.3C4.8 8.3 8 5.3 12 5.3zm3.1 5.5c.2 0 .3-.1.3-.2V9.1c0-.1-.1-.2-.3-.2H8.9c-.2 0-.3.1-.3.2v1.5c0 .1.1.2.3.2h6.2zm-4.8 4.8c.2 0 .3-.1.3-.2v-2.9c0-.2-.1-.3-.3-.3H8.9c-.2 0-.3.1-.3.3v2.9c0 .1.1.2.3.2h1.4zm4.8 0c.2 0 .3-.1.3-.2v-2.9c0-.2-.1-.3-.3-.3h-2.9c-.1 0-.2.1-.2.3v2.9c0 .1.1.2.2.2h2.9z"}},messaging_user:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 5.3c4 0 7.2 3 7.2 6.7S16 18.7 12 18.7c-1.4 0-2.7-.3-3.8-1-.1-.1-.2-.1-.4 0l-2.1.7c-.4.1-.7-.2-.6-.6l.7-2.1c0-.1 0-.3-.1-.4-.6-1-.9-2.1-.9-3.3C4.8 8.3 8 5.3 12 5.3zm2.1 10.1c.5 0 .8-.5.8-1 0-.8-.8-1.2-1.6-1.6-.6-.2-.6-.4-.6-.6 0-.3.1-.5.3-.7.4-.3.5-.7.5-1.2 0-.9-.5-1.7-1.5-1.7s-1.5.8-1.5 1.7c0 .5.2.9.5 1.2.2.2.3.4.3.7 0 .2-.1.4-.6.7-.8.3-1.6.7-1.6 1.5 0 .5.4 1 .8 1h4.2z"}},metrics:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.3 5.3H6.7c-.8 0-1.4.6-1.4 1.4v10.6c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V6.7c0-.8-.6-1.4-1.4-1.4zM9.1 15.8c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-2.6c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v2.6zm2.4 0c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5V9.6c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v6.2zm2.4 0c0 .3-.2.5-.5.5H13c-.3 0-.5-.2-.5-.5V8.2c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v7.6zm2.4 0c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-4.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v4.5z"}},multi_picklist:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 4.8H9.8c-.8 0-1.4.6-1.4 1.4v.3c0 .1.1.2.2.2h7c.8 0 1.4.7 1.4 1.5v7.4c0 .1.1.2.3.2h.2c.8 0 1.5-.6 1.5-1.4V6.2c0-.8-.7-1.4-1.5-1.4zm-3.3 3.4H6.5c-.8 0-1.5.6-1.5 1.4v8.2c0 .8.7 1.4 1.5 1.4h7.7c.8 0 1.4-.6 1.4-1.4V9.6c0-.8-.6-1.4-1.4-1.4zm-5.8 8.6c0 .3-.2.5-.5.5h-.5c-.2 0-.4-.2-.4-.5v-.5c0-.2.2-.5.4-.5h.5c.3 0 .5.3.5.5v.5zm0-2.9c0 .3-.2.5-.5.5h-.5c-.2 0-.4-.2-.4-.5v-.5c0-.2.2-.4.4-.4h.5c.3 0 .5.2.5.4v.5zm0-2.9c0 .3-.2.5-.5.5h-.5c-.2 0-.4-.2-.4-.5v-.4c0-.3.2-.5.4-.5h.5c.3 0 .5.2.5.5v.4zm5.3 5.8c0 .3-.2.5-.5.5H9.9c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.5.5-.5h3.3c.3 0 .5.3.5.5v.5zm0-2.9c0 .3-.2.5-.5.5H9.9c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h3.3c.3 0 .5.2.5.4v.5zm0-2.9c0 .3-.2.5-.5.5H9.9c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h3.3c.3 0 .5.2.5.5v.4z"}},multi_select_checkbox:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 4.8H9.8c-.8 0-1.4.6-1.4 1.4v.3c0 .1.1.2.2.2h7c.8 0 1.4.7 1.4 1.5v7.4c0 .1.1.2.3.2h.2c.8 0 1.5-.6 1.5-1.4V6.2c0-.8-.7-1.4-1.5-1.4zm-3.3 3.4H6.5c-.8 0-1.5.6-1.5 1.4v8.2c0 .8.7 1.4 1.5 1.4h7.7c.8 0 1.4-.6 1.4-1.4V9.6c0-.8-.6-1.4-1.4-1.4zm-.7 4l-3.7 3.7c-.1.2-.3.2-.5.2-.1 0-.3 0-.5-.2l-1.7-1.8c-.2-.1-.2-.3 0-.5l.5-.5c.1-.1.3-.1.5 0l1.2 1.3 3.2-3.2c.1-.1.4-.1.5 0l.5.5c.1.2.1.4 0 .5z"}},news:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.8 6.5H7.4c-.2 0-.4.1-.4.4v8.4c0 .3-.3.6-.6.6-.3-.1-.5-.3-.5-.6V9.2c0-.1-.1-.2-.3-.2h-.4c-.2 0-.4.1-.4.4v7c0 .6.5 1.1 1.1 1.1h12.2c.6 0 1.1-.5 1.1-1.1V6.9c0-.3-.2-.4-.4-.4zm-6.2 8c0 .2-.2.3-.3.3H9c-.2 0-.3-.1-.3-.3v-.6c0-.1.1-.2.3-.2h3.3c.1 0 .3.1.3.2v.6zm0-2.2c0 .2-.2.3-.3.3H9c-.2 0-.3-.1-.3-.3v-.6c0-.1.1-.3.3-.3h3.3c.1 0 .3.2.3.3v.6zm4.9 2.2c0 .2-.1.3-.2.3h-3.4c-.1 0-.2-.1-.2-.3v-.6c0-.1.1-.2.2-.2h3.4c.1 0 .2.1.2.2v.6zm0-2.2c0 .2-.1.3-.2.3h-3.4c-.1 0-.2-.1-.2-.3v-.6c0-.1.1-.3.2-.3h3.4c.1 0 .2.2.2.3v.6zm0-2.2c0 .1-.1.2-.2.2H9c-.2 0-.3-.1-.3-.2V8.4c0-.2.1-.3.3-.3h8.3c.1 0 .2.1.2.3v1.7z"}},note:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.1 16.1l-.3.2c-.2.3-.6.5-1.1.5H15c-.8 0-1.6-.6-1.6-1.6v-.7c0-.6.3-1 .5-1.2l3.2-3.2c.1-.1.2-.3.2-.4V7.2c0-.8-.7-1.4-1.5-1.4H8.2c-.8 0-1.5.7-1.5 1.4h-.5c-.5 0-.9.4-.9 1s.4.9.9.9h.5V11h-.5c-.5 0-.9.5-.9 1s.4 1 .9 1h.5v1.9h-.5c-.5 0-.9.4-.9.9s.4 1 .9 1h.5c0 1 .7 1.4 1.5 1.4h7.6c.8 0 1.5-.6 1.5-1.4v-.6c0-.2-.1-.2-.2-.1zm-2.5-6.7c0 .2-.2.4-.4.4H9.4c-.3 0-.5-.2-.5-.4v-.5c0-.3.2-.5.5-.5h4.8c.2 0 .4.2.4.5v.5zm-2.1 5.7c0 .3-.2.5-.5.5H9.4c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4H12c.3 0 .5.2.5.4v.5zm.7-2.9c0 .3-.2.5-.5.5H9.4c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h3.3c.3 0 .5.2.5.5v.4zm6.3-1.3l-.3-.2c-.1-.2-.4-.2-.6 0l-3.7 3.7v.8c0 .1 0 .2.1.2h.7c.1 0 .1-.1.1-.1l3.7-3.7c.2-.2.2-.5 0-.7z"}},number_input:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 19.2H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4v11.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.3.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.2 0-.5.2-.5.5zm8.4 3.1h-.9l.4-1.5c0-.1 0-.1-.1-.1h-.7s-.1 0-.1.1l-.4 1.5h-1.8l.4-1.5c0-.1 0-.1-.1-.1h-.7c-.1 0-.1 0-.1.1l-.4 1.5h-1-.1l-.2.7c0 .1.1.2.1.2h1l-.5 1.7h-1l-.2.7c0 .1 0 .2.1.2h.9l-.4 1.4v.1l.1.1h.7c.1 0 .1 0 .1-.1l.4-1.5h1.8l-.4 1.4c0 .1 0 .1.1.1h.7c.1 0 .1 0 .1-.1l.4-1.5h1c.1 0 .1 0 .1-.1l.2-.7-.1-.1h-.9l.4-1.7h.9c.1 0 .1 0 .1-.1l.2-.7h-.1zm-2.5 2.6h-1.7l.4-1.7h1.8l-.5 1.7z"}},omni_supervisor:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.1 6.9c-1.5.7-2.3 2.2-2.4 4.6h2.4c.3-.8 1-1.4 1.9-1.4 1.1 0 1.9.8 1.9 1.9s-.8 1.9-1.9 1.9c-.9 0-1.6-.6-1.9-1.4h-2.4c.1 2.4.9 3.9 2.4 4.6.2-.9 1-1.5 1.9-1.5 1.1 0 1.9.9 1.9 1.9s-.8 1.9-1.9 1.9c-.9 0-1.6-.5-1.8-1.3-2.2-.7-3.4-2.6-3.5-5.6h-1.4c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h1.4c.1-3 1.3-4.9 3.5-5.6.2-.8.9-1.3 1.8-1.3 1.1 0 1.9.8 1.9 1.9s-.8 1.9-1.9 1.9c-.9 0-1.7-.6-1.9-1.5zm1.9.5c.5 0 1-.4 1-.9s-.5-1-1-1-1 .4-1 1 .5.9 1 .9zm0 11.1c.5 0 1-.4 1-1s-.5-.9-1-.9-1 .4-1 .9.5 1 1 1zm0-5.5c.5 0 1-.5 1-1s-.5-1-1-1-1 .5-1 1 .5 1 1 1zm-7.2 3.3H5.4c-.6 0-1.1-.6-1.1-1.2.1-1 1.1-1.5 2.1-1.9.7-.3.8-.6.8-.9 0-.3-.2-.6-.4-.8-.4-.4-.7-1-.7-1.6 0-1.2.8-2.2 2-2.2 1.3 0 2 1 2 2.2 0 .6-.2 1.2-.6 1.6-.3.2-.4.5-.4.8 0 .3.1.6.8.9 1 .4 2 .9 2.1 1.9-.1.6-.6 1.2-1.2 1.2z"}},operating_hours:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M12.7 12a.3.3 0 0 1-.1-.2v-2a.3.3 0 0 0-.3-.3h-.6a.3.3 0 0 0-.3.3v2.5a.4.4 0 0 0 .1.3l1.5 1.5a.3.3 0 0 0 .5 0l.4-.4a.3.3 0 0 0 0-.5zM12 6.9a5.1 5.1 0 1 0 5.1 5.1A5.1 5.1 0 0 0 12 6.9zm0 8.9a3.8 3.8 0 1 1 3.8-3.8 3.8 3.8 0 0 1-3.8 3.8zm-5.1-1.4a3.8 3.8 0 0 1 0-4.8l-.8-1a5 5 0 0 0 0 6.7zm10.2-4.8a3.8 3.8 0 0 1 0 4.8l.8 1a5 5 0 0 0 0-6.7z","fill-rule":"evenodd"}},opportunity:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.1 16.6H6.9c-.2 0-.4.2-.4.4 0 .8.6 1.5 1.4 1.5h8.2c.8 0 1.4-.7 1.4-1.5 0-.2-.2-.4-.4-.4zm1.1-9.9c-.8 0-1.4.7-1.4 1.5 0 .4.2.8.5 1.1-.4.9-1.3 1.5-2.4 1.5-1.3-.1-2.3-1.1-2.4-2.4v-.6c.6-.2.9-.7.9-1.3 0-.8-.6-1.5-1.4-1.5s-1.4.7-1.4 1.5c0 .6.3 1.1.9 1.3v.6c-.1 1.3-1.1 2.3-2.4 2.4-1.1.1-2-.6-2.4-1.5.3-.3.5-.7.5-1.1 0-.8-.6-1.5-1.4-1.5s-1.5.7-1.5 1.5.7 1.4 1.5 1.4l.6 5.1c.1.3.2.4.5.4h10.2c.2 0 .4-.1.5-.4l.6-5.1c.8 0 1.5-.6 1.5-1.4s-.7-1.5-1.5-1.5z"}},opportunity_contact_role:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.6 11.4c-2 0-3.6 1.6-3.6 3.6 0 1.9 1.6 3.6 3.6 3.6s3.6-1.6 3.6-3.6-1.7-3.6-3.6-3.6zm1.7 3.1l-.6.7c-.1.1-.1.1-.1.2l.1 1c.1.3-.2.1-.2.1l-.8-.4c-.1-.1-.2 0-.2 0l-.9.4c-.2.1-.2 0-.2-.1l.2-.9c0-.2-.1-.3-.1-.3l-.6-.6-.1-.1s-.1-.1.2-.2l.8-.1c.1 0 .2-.1.2-.1l.5-1s.1-.1.2.1l.5.9s0 .1.1.1h.1l.9.1s.2.1 0 .2zm-5.6 4c.3 0 .4-.3.3-.5-.8-.8-1.2-1.9-1.2-3.1 0-.8.2-1.7.7-2.4.5-.9 1.1-1.2 1.5-1.9.8-1.1.9-2.7.4-3.9-.5-1.2-1.6-1.9-2.9-1.9s-2.4.8-2.8 2c-.5 1.4-.3 3 .8 4 .5.4.8 1.1.6 1.7 0 .1-.2.3-.5.5-1.4.6-2.8 1.3-3.4 2.3-.1.2-.4.7-.4 1.3v.6c0 .1 0 .1.1.2 0 .4.3.7.6.9.2.1.5.2 1.2.2h5z"}},opportunity_splits:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M16.6 6.5c-1.2-1.1-2.8-1.7-4.6-1.7C8 4.8 4.8 8 4.8 12c0 1.8.6 3.4 1.7 4.6L16.6 6.5zM8.2 18.1c1.1.7 2.4 1.1 3.8 1.1 4 0 7.2-3.2 7.2-7.2 0-1.4-.4-2.7-1.1-3.8l-9.9 9.9z"}},order_item:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.1 12.5l6.4 3c.3.1.7.1 1 0l6.4-3c.4-.2.4-.7 0-.9l-6.4-3.1c-.3-.1-.7-.1-1 0l-6.4 3.1c-.4.2-.4.7 0 .9z"}},orders:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.9 14.9l-.9-.4c-.1-.1-.2-.1-.4 0l-5.1 2.4c-.3.2-.7.2-1 0l-5.1-2.4c-.2-.1-.3-.1-.4 0l-.9.4c-.4.2-.4.7 0 .9l6.4 3c.3.2.7.2 1 0l6.4-3c.4-.2.4-.7 0-.9zm0-3.4l-.9-.4h-.4l-5.1 2.5c-.3.1-.7.1-1 0l-5.1-2.5H6l-.9.4c-.4.2-.4.7 0 .9l6.4 3.1c.3.1.7.1 1 0l6.4-3c.4-.2.4-.8 0-1zM5.1 9.1l6.4 3c.3.2.7.2 1 0l6.4-3c.4-.2.4-.7 0-.9l-6.4-3.1c-.3-.1-.7-.1-1 0L5.1 8.2c-.4.2-.4.7 0 .9z"}},outcome:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15 7.7v-.1c-.2-.2-.5-.1-.6.1l-.7.6c-.2.2-.2.5 0 .6l1.7 1.7c.1 0 .1.1.1.2 0 .2-.1.3-.3.3H8.8c-.2 0-.4.2-.4.4v1c0 .2.2.4.4.4h6.4c.1 0 .1.1.2.1.1.1.2.3 0 .4l-1.6 1.7h-.1c-.1.2-.1.5.1.6l.6.7c.2.2.5.2.6 0l4.1-4.1c.1-.2.1-.4 0-.6l-4.1-4zm-4.5 1.6h.9c.2 0 .4-.2.4-.4V6c0-.7-.5-1.2-1.2-1.2H6c-.7 0-1.2.5-1.2 1.2v12c0 .7.5 1.2 1.2 1.2h4.6c.7 0 1.2-.5 1.2-1.2v-2.8c0-.3-.2-.5-.4-.5h-.9c-.3 0-.5.2-.5.5v1.7c0 .3-.2.5-.4.5H7.1c-.3 0-.5-.2-.5-.5V7.1c0-.3.2-.5.5-.5h2.5c.2 0 .4.2.4.5v1.8c0 .2.2.4.5.4z"}},output:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5 12.9h10c.2 0 .3.3.2.5l-2.9 2.9c-.2.2-.2.5 0 .6l.7.7c.2.2.4.2.6 0l5.2-5.3c.2-.2.2-.4 0-.6l-5.2-5.3c-.2-.2-.5-.2-.7 0l-.6.6c-.2.2-.2.5 0 .7l2.9 2.8c.2.3.1.6-.2.6H5c-.2 0-.4.2-.4.4v.9c0 .3.2.5.4.5z"}},partner_fund_allocation:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.4 15.7l-1.9 2.1c-.1.1-.2 0-.2-.1v-.9c0-.1-.1-.3-.2-.3h-.4c-.1 0-.2.2-.2.3V19c0 .2.1.2.2.2H7c.1 0 .2 0 .2-.2v-.3c0-.1-.1-.2-.2-.2H6c-.1 0-.1-.1 0-.2l2.4-2.6h-1zm10.1 2.6c.1.1.1.2-.1.2h-.9c-.1 0-.2.1-.2.2v.3c0 .1.1.2.2.2h2.3c.1 0 .1 0 .1-.1v-2.3c0-.1 0-.2-.1-.2h-.4c-.1 0-.2.1-.2.2v.9c0 .1-.1.2-.2.1l-1.1-1c-.3.1-.6.1-.8.2l1.4 1.3zm-1-8.6C12.9 10.8 10 7.4 6 9c-.3.1-.5.4-.5.8v4.1c0 .6.5.9 1 .8 4-1.2 6.8 2.2 10.6.7.3-.2.5-.4.5-.8v-4.1c0-.5-.6-.9-1.1-.8zm-4.8 3.9c-.9 0-1.6-.7-1.6-1.6s.7-1.5 1.6-1.5 1.5.7 1.5 1.5-.7 1.6-1.5 1.6zm-.1-7.2c0-.1-.1-.2-.2-.1l-.6.7c-.1.1-.3 0-.3 0l-.3-.3v-.2l1.7-1.7h.2l1.6 1.7c.1 0 .1.1.1.2l-.3.3h-.3l-.6-.7c-.1-.1-.2 0-.2.1v1.7l-.8-.2V6.4z"}},partner_fund_claim:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.6 8.2h2.2c.2 0 .3-.2.3-.4v-.2l-2.9-2.7c0-.1-.1-.1-.2-.1-.2 0-.3.1-.3.3v2.2c0 .5.4.9.9.9zm-4.3 7.4c0-.8.4-1.6 1.2-1.9.6-.2 1.3-.4 1.9-.4 1 0 1.8.3 2.6.5.4.1.7.3 1.1.3l.1-4.3c0-.2-.2-.4-.5-.4h-3c-.7 0-1.2-.6-1.2-1.2v-3c0-.2-.2-.4-.5-.4H6.8c-.7 0-1.3.6-1.3 1.2v10.1c0 .7.6 1.3 1.3 1.3h2.5v-1.8zm8.1 0c-2.2.6-3.9-1.4-6.3-.4-.2 0-.3.2-.3.4v2.5c0 .3.3.5.6.4 2.4-.7 4.1 1.4 6.3.4.2 0 .3-.2.3-.4V16c0-.3-.3-.5-.6-.4zm-2.9 2.3c-.5 0-1-.4-1-.9s.4-1 1-1 .9.4.9 1-.4.9-.9.9z"}},partner_fund_request:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.5 14c.9-.5 1.7-.8 2.7-.8.2 0 .5.1.7.1.1 0 .2 0 0-.1-.4-.3-.9-.5-1.4-.7-1.1-.5-1.2-.8-1.2-1.3 0-.4.3-.8.6-1.1.6-.5.9-1.3.9-2.2 0-1.6-1-3.1-2.8-3.1S7.1 6.3 7.1 7.9c0 .9.3 1.7.9 2.2.4.3.7.7.7 1.1 0 .4-.2.8-1.2 1.3-1.5.6-2.9 1.3-2.9 2.7 0 .9.6 1.7 1.5 1.7h3.4c.2 0 .5-.2.5-.5v-1.6c0-.3.2-.6.5-.8zm7.8 1.4c-2.2.7-4-1.4-6.5-.4-.2.1-.3.2-.3.5V18c0 .4.3.6.6.5 2.4-.8 4.2 1.4 6.5.4.2-.1.4-.2.4-.4v-2.6c0-.3-.4-.6-.7-.5zm-3 2.4c-.5 0-1-.4-1-.9s.5-1 1-1 .9.4.9 1-.4.9-.9.9z"}},partner_marketing_budget:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.7 9.1c-4.4 1.3-7.8-2.8-12.6-.9-.3.2-.5.5-.5.9v5c0 .6.5 1.1 1.1.9 4.7-1.5 8.2 2.7 12.6.8.4-.1.6-.4.6-.9V10c.1-.6-.6-1.1-1.2-.9zm-5.8 4.6c-1 0-1.8-.8-1.8-1.8s.8-1.9 1.8-1.9 1.9.9 1.9 1.9-.9 1.8-1.9 1.8z"}},partners:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.5 7.6H17c-.3 0-.6-.1-.8-.4L15 6.3c-.2-.2-.5-.4-.8-.4h-2.8c-.4 0-.7.2-1 .4L8.9 7.6c-.1.1-.1.2 0 .4l.4.4c.3.2.8.3 1.1.1l1.3-.8c.2-.1.4-.1.5.1l4.2 4c.1.1.2.2.2.4v1c0 .3.2.6.4.6h1.5c.2 0 .5-.2.5-.5V8.1c0-.3-.3-.5-.5-.5zm-4.1 4.3l-2.6-2.5-.7.4c-.4.3-.8.4-1.2.4-.5 0-1-.2-1.4-.6l-1-.7c-.2-.2-.3-.4-.3-.6-.1-.3-.3-.5-.5-.5H5c-.2 0-.4.2-.4.5v4.3c0 .3.2.5.4.5h1c.1 0 .2-.2.3-.4.3-.4.9-.7 1.4-.8.6 0 1.2.2 1.6.6l3 2.7c.3.3.5.5.6.9.1.1.3.2.4.1l1.1-1.2c.6-.6 1-1.9.5-2.5l-.5-.6zm-6 1.8c-.3-.3-.8-.2-1 .1-.3.3-.2.8.1 1.1l3 2.7c.1.2.3.2.5.2s.4-.1.5-.3c.2-.3.2-.8-.1-1.1l-3-2.7zm10.5 4.4"}},password:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 19.2H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4v11.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.3.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.2 0-.5.2-.5.5zm9.2 4.2l-.3-1c0-.2-.3-.3-.6-.3l-2.1.7V8.7c0-.2-.2-.4-.4-.4h-1c-.3 0-.5.2-.5.4v2.1l-2-.7c-.3 0-.6.1-.6.3l-.3 1c-.1.2.1.5.3.6l1.9.6-1.4 1.8c-.1.3-.1.6.1.7l.8.6c.3.1.6.1.7-.1l1.5-2.1 1.5 2.1c.2.2.5.2.7.1l.8-.6c.2-.1.3-.4.1-.7l-1.3-1.8 1.8-.6c.2-.1.4-.4.3-.6z"}},past_chat:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M11.9 5.3c-4 0-7.2 2.9-7.2 6.5 0 1.2.3 2.3.8 3.2.1.2.2.4.1.5l-.9 2.6c-.1.2.1.5.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 3.9 0 7.1-2.9 7.1-6.6 0-3.7-3.2-6.6-7.2-6.6zm2.8 9.7l-.3.3c-.2.2-.4.2-.6.2s-.3 0-.5-.2L11 13c-.1-.1-.2-.4-.2-.7V9c0-.4.3-.7.7-.7h.5c.4 0 .7.3.7.7v3l2 2c.1.1.2.3.2.5s-.1.3-.2.5z"}},people:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 17.1v.7c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4v-.7c0-1.8 2-2.8 4-3.7 0 0 .1 0 .2-.1.1 0 .3 0 .4.1.8.5 1.7.8 2.6.8.9 0 1.8-.3 2.6-.8.1-.1.3-.1.4 0 .1 0 .2 0 .2.1 2 .8 4 1.8 4 3.6z"},ellipse:{cx:"12",cy:"8.76",rx:"3.576",ry:"3.96"}},performance:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.2 4.8h-.5c-.8 0-1.4.7-1.4 1.4v11.6c0 .7.6 1.4 1.4 1.4h.5c.3 0 .5-.2.5-.5V5.3c0-.3-.2-.5-.5-.5zm10.1 0H9.6c-.3 0-.5.2-.5.5v13.4c0 .3.2.5.5.5h7.7c.8 0 1.4-.6 1.4-1.4V6.2c0-.8-.6-1.4-1.4-1.4zm-.5 6.4l-1.3 1.3v.1l.2 1.8c.1.2-.1.3-.2.2l-1.5-.8c-.1-.1-.1-.1-.2 0l-1.5.8c-.2.1-.3 0-.3-.2l.3-1.8v-.1L11 11.2c-.1-.1 0-.2.1-.2l1.7-.3c.1 0 .1 0 .2-.1l.7-1.6c.1-.2.2-.2.3 0l.8 1.6c0 .1 0 .1.1.1l1.7.3c.2 0 .2.1.2.2z"}},person_account:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M16.7 14.2c-.9-.4-1-.7-1-1.1 0-.4.2-.7.5-1 .5-.4.8-1.1.8-1.8 0-1.4-.9-2.6-2.5-2.6s-2.4 1.2-2.4 2.6c0 .7.3 1.4.8 1.8.3.3.5.6.5 1s-.1.7-1 1.1c-1.3.5-2.5 1.2-2.5 2.3 0 .8.6 1.5 1.3 1.5h6.7c.7 0 1.3-.7 1.3-1.5 0-1.1-1.2-1.8-2.5-2.3zm-5.8 1.1"},{d:"M11.2 12.3c-.1-.1-.6-.7-.5-2.3 0-1.6.7-2 .7-2V6.5c0-.3-.3-.5-.5-.5H5.3s-.5.2-.5.5v10.4H8c.1-2.6 3.2-3.7 3.2-3.7.4-.2.1-.7 0-.9zm-3.8 3.3c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.3 0 .5.2.5.4v.5zm0-2.4c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.4zm0-2.3c0 .2-.2.5-.5.5h-.5c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.3 0 .5.2.5.5v.5zm0-2.4c0 .3-.2.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V8c0-.2.2-.5.5-.5h.5c.3 0 .5.3.5.5v.5zm2.7 4.7c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.4zm0-2.3c0 .2-.3.5-.5.5h-.5c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.5c.2 0 .5.2.5.5v.5zm0-2.4c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V8c0-.2.2-.5.5-.5h.5c.2 0 .5.3.5.5v.5z"}]},photo:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.6 7.4h6.8c.2 0 .3-.2.2-.3l-.8-1.2c-.3-.5-.8-.8-1.3-.8h-3c-.5 0-1 .3-1.3.8l-.8 1.2c-.1.1 0 .3.2.3zm3.4 4.4c-1.1 0-1.9.8-1.9 1.9s.8 1.9 1.9 1.9 1.9-.9 1.9-1.9-.8-1.9-1.9-1.9zm5.8-2.9H6.2c-.8 0-1.4.6-1.4 1.4V17c0 .8.6 1.5 1.4 1.5h11.6c.8 0 1.4-.7 1.4-1.5v-6.7c0-.8-.6-1.4-1.4-1.4zM12 17c-1.8 0-3.4-1.5-3.4-3.3s1.6-3.4 3.4-3.4 3.4 1.5 3.4 3.4S13.8 17 12 17z"}},picklist_choice:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.2 14.3h-.9c-.3 0-.5.2-.5.5v1c0 .2.2.4.5.4h1c.2 0 .4-.2.4-.4v-1c0-.3-.2-.5-.5-.5zm2.9-6.6h9.6c.3 0 .5-.2.5-.5v-1c0-.2-.2-.4-.5-.4H9.1c-.2 0-.5.2-.5.4v1c0 .3.3.5.5.5zm0 4.3h9.6c.3 0 .5-.2.5-.5v-1c0-.2-.2-.4-.5-.4H9.1c-.2 0-.5.2-.5.4v1c0 .3.3.5.5.5zM6.2 5.7h-.9c-.3 0-.5.3-.5.5v1c0 .2.2.5.5.5h1c.2-.1.4-.3.4-.5v-1c0-.2-.2-.5-.5-.5zm0 4.3h-.9c-.3 0-.5.2-.5.5v1c0 .2.2.5.5.5h1c.2-.1.4-.3.4-.5v-1c0-.3-.2-.5-.5-.5zm4.3 6.2c0-.6.2-1.1.5-1.6v-.3H9.1c-.2 0-.5.2-.5.5v1c0 .2.3.4.5.4h1.4zm4.3-2.6c.2-.2.6-.4 1-.4.5 0 .9.3 1.1.7.2-.1.5-.1.7-.1.9 0 1.6.7 1.6 1.6 0 .8-.7 1.6-1.6 1.6-.1 0-.2 0-.3-.1-.2.4-.6.6-1 .6-.2 0-.4 0-.6-.1-.2.5-.7.8-1.2.8-.6 0-1.1-.3-1.3-.8H13c-.7 0-1.3-.6-1.3-1.2 0-.5.2-.9.6-1.1-.1-.2-.1-.4-.1-.6 0-.8.7-1.4 1.5-1.4.4 0 .8.2 1.1.5z"}},picklist_type:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.7 8.6H9.1c-.2 0-.5-.2-.5-.4v-1c0-.3.3-.5.5-.5h9.6c.3 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm0 4.4H9.1c-.2 0-.5-.3-.5-.5v-1c0-.2.3-.5.5-.5h9.6c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5zM6.2 13h-.9c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5h.9c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5zm0-4.4h-.9c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm0 8.7h-.9c-.3 0-.5-.2-.5-.5v-1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v1c0 .3-.2.5-.5.5zm12.5 0H9.1c-.2 0-.5-.2-.5-.5v-1c0-.2.3-.4.5-.4h9.6c.3 0 .5.2.5.4v1c0 .3-.2.5-.5.5z"}},planogram:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M18.6 17.2h-.8v-4.3c0-.3-.2-.4-.4-.4h-4.5c-.2 0-.4.1-.4.4v4.2h-1.2v-4.2c0-.3-.2-.4-.4-.4H6.4c-.2 0-.4.1-.4.4v4.2h-.8c-.3 0-.5.3-.5.5v1c0 .2.2.5.5.5h13.4c.2 0 .4-.3.4-.5v-1c.1-.2-.2-.4-.4-.4zm-5-3.6h3.1v1h-3.1v-1zm-6.5 0h3.1v1H7.1v-1zm11.5-4.2h-.8V5.1c0-.3-.2-.4-.4-.4h-4.5c-.2 0-.4.1-.4.4v4.3h-1.2V5.1c0-.3-.2-.4-.4-.4H6.4c-.2 0-.4.1-.4.4v4.3h-.8c-.3 0-.5.2-.5.4v1c0 .3.2.5.5.5h13.4c.2 0 .4-.2.4-.5v-1c.1-.2-.2-.4-.4-.4zm-5-3.6h3.1v1h-3.1v-1zm-6.5 0h3.1v1H7.1v-1z"}},poll:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.2 4.8H5.8c-.6 0-1 .4-1 1v1.9c0 .5.4.9 1 .9h12.4c.6 0 1-.4 1-.9V5.8c0-.6-.4-1-1-1zm-6 2.9V5.8h6v1.9h-6zm6 2.4H5.8c-.6 0-1 .4-1 .9v2c0 .5.4.9 1 .9h12.4c.6 0 1-.4 1-.9v-2c0-.5-.4-.9-1-.9zM10.1 13v-2h8.1v2h-8.1zm8.1 2.4H5.8c-.6 0-1 .4-1 .9v1.9c0 .6.4 1 1 1h12.4c.6 0 1-.4 1-1v-1.9c0-.5-.4-.9-1-.9zm-3.8 2.8v-1.9h3.8v1.9h-3.8z"}},portal:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.3 5.3H6.7c-.8 0-1.4.6-1.4 1.4v10.6c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V6.7c0-.8-.6-1.4-1.4-1.4zM14.2 15c0 .3-.2.6-.5.6h-3.4c-.3 0-.5-.3-.4-.6l.7-2.6c-.7-.5-1.1-1.5-1-2.5.2-1 1-1.7 1.9-1.9 1.6-.3 2.9.9 2.9 2.4 0 .8-.4 1.5-1 2l.8 2.6z"}},portal_roles:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm-6.3 1.8c0-.2.2-.4.4-.4h5.6c.2 0 .3.2.3.4v.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.3-.2-.3-.4v-.7zm-1.9-.4c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.3-.8.8-.8zM7 6.2c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.4-.8.8-.8zm10.8 11.2c0 .2-.2.4-.4.4H6.6c-.2 0-.4-.2-.4-.4V9.5c0-.2.2-.4.4-.4h10.8c.2 0 .4.2.4.4v7.9zm-1.5-4.8c0 .2-.2.4-.5.4H14c-.2 0-.5-.2-.5-.4v-.8c0-.2.3-.4.5-.4h1.8c.3 0 .5.2.5.4v.8zm0 2.6c0 .3-.2.5-.5.5H14c-.2 0-.5-.2-.5-.5v-.7c0-.3.3-.5.5-.5h1.8c.3 0 .5.2.5.5v.7zm-4.5-3.8H8.1c-.2 0-.4.1-.4.3v3.6c0 .2.1.4.3.4h3.7c.2 0 .4-.2.4-.4v-3.6c0-.2-.1-.3-.3-.3zm-1 3.5H9c-.2 0-.4-.2-.4-.4 0-.3.4-.5.7-.7.3-.1.3-.2.3-.3s-.1-.2-.2-.3c-.1-.1-.2-.3-.2-.5 0-.4.3-.7.7-.7.4 0 .7.3.7.7 0 .2-.1.4-.3.5 0 .1-.1.2-.1.3s0 .2.3.3c.3.1.6.4.6.7.1.2-.1.4-.3.4z"}},portal_roles_and_subordinates:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.3 11.8c0 .2-.2.5-.5.5h-4.4c-.3 0-.5-.3-.5-.5v-.7c0-.3.2-.5.5-.5h4.4c.3 0 .5.2.5.5v.7zm-6.8 0c0 .2-.3.5-.5.5h-.8c-.3 0-.5-.3-.5-.5v-.7c0-.3.2-.5.5-.5H9c.2 0 .5.2.5.5v.7zm8.2-7H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm-6.3 1.8c0-.2.2-.4.4-.4h5.6c.2 0 .3.2.3.4v.7c0 .2-.2.4-.4.4h-5.6c-.2 0-.3-.2-.3-.4v-.7zm-1.9-.4c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.3-.8.8-.8zM7 6.2c.4 0 .7.4.7.8s-.3.7-.7.7-.8-.3-.8-.7.4-.8.8-.8zm10.8 11.2c0 .2-.2.4-.4.4h-1.1v-3.6c0-.3-.2-.5-.5-.5H8.2c-.3 0-.5.2-.5.5v3.6H6.6c-.2 0-.4-.2-.4-.4V9.5c0-.2.2-.4.4-.4h10.8c.2 0 .4.2.4.4v7.9z"}},post:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.8 5.2c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3.1.4l-.7 2.1c-.1.4.2.8.6.6l2.1-.7c.2-.1.3 0 .4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7s-3.2-6.7-7.2-6.7z"}},pricebook:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.2 4.8h-9c-.8 0-1.5.7-1.5 1.4v.5h-.5c-.5 0-.9.5-.9 1s.4.9.9.9h.5V11h-.5c-.5 0-.9.5-.9 1s.4 1 .9 1h.5v2.4h-.5c-.5 0-.9.4-.9.9s.4 1 .9 1h.5v.4c0 .7.7 1.5 1.5 1.5h9c.8 0 1.5-.8 1.5-1.6V6.1c0-.8-.7-1.3-1.5-1.3zm-6.9 9.8c0 .2-.1.3-.2.3h-1c-.1 0-.2-.1-.2-.3V9.4c0-.2.1-.3.2-.3h1c.1 0 .2.1.2.3v5.2zm1.9 0c0 .2-.1.3-.2.3h-.5c-.1 0-.2-.1-.2-.3V9.4c0-.2.1-.3.2-.3h.5c.1 0 .2.1.2.3v5.2zm2.4 0c0 .2-.1.3-.2.3h-1c-.1 0-.2-.1-.2-.3V9.4c0-.2.1-.3.2-.3h1c.1 0 .2.1.2.3v5.2zm2 0c0 .2-.1.3-.3.3h-.5c-.1 0-.2-.1-.2-.3V9.4c0-.2.1-.3.2-.3h.5c.2 0 .3.1.3.3v5.2z"}},process:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9 11.1l2.6-3.2c.2-.2.6-.2.8 0l2.6 3.2c0 .1.2.2.3.2h2.9c.3 0 .5-.2.5-.5V6.7c0-.8-.6-1.4-1.4-1.4H6.7c-.8 0-1.4.6-1.4 1.4v4.1c0 .3.2.5.5.5h2.8c.2 0 .3-.1.4-.2zm6 1.8l-2.6 3.2c-.2.2-.6.2-.8 0L9 12.9c-.1-.1-.2-.2-.4-.2H5.8c-.3 0-.5.2-.5.5v4.1c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-4.1c0-.3-.2-.5-.5-.5h-2.9c-.1 0-.3.1-.3.2z"}},product:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.3 15.8h1.2c.2 0 .5-.2.5-.4V7.9c0-.2-.3-.5-.5-.5H5.3c-.3 0-.5.3-.5.5v7.5c0 .2.2.4.5.4zm13.4-8.4h-1.2c-.2 0-.5.3-.5.5v7.5c0 .2.3.4.5.4h1.2c.3 0 .5-.2.5-.4V7.9c0-.2-.2-.5-.5-.5zm-6 8.4c.3 0 .5-.2.5-.4V7.9c0-.2-.2-.5-.5-.5h-1.4c-.3 0-.5.3-.5.5v7.5c0 .2.2.4.5.4h1.4zm2.9 0c.3 0 .5-.2.5-.4V7.9c0-.2-.2-.5-.5-.5h-.5c-.2 0-.5.3-.5.5v7.5c0 .2.3.4.5.4h.5zm-6.2 0c.2 0 .4-.2.4-.4V7.9c0-.2-.2-.5-.4-.5h-.5c-.3 0-.5.3-.5.5v7.5c0 .2.2.4.5.4h.5zm9.3 1.5H5.3c-.3 0-.5.2-.5.5v.4c0 .3.2.5.5.5h13.4c.3 0 .5-.2.5-.5v-.4c0-.3-.2-.5-.5-.5zm0-12.5H5.3c-.3 0-.5.2-.5.5v.5c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4v-.5c0-.3-.2-.5-.5-.5z"}},product_consumed:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.5 13.2h-.9a.5.5 0 0 0-.4.5v3a.5.5 0 0 1-.5.4H6.8a.5.5 0 0 1-.4-.4v-3a.5.5 0 0 0-.5-.5H5a.5.5 0 0 0-.4.5v4a1.2 1.2 0 0 0 1.2 1.2h12a1.2 1.2 0 0 0 1.2-1.2v-4a.5.5 0 0 0-.5-.5zm-7 2a.4.4 0 0 0 .6 0l4-4a.4.4 0 0 0 0-.7l-.6-.6a.4.4 0 0 0-.6 0l-1.7 1.7a.3.3 0 0 1-.5-.2V5a.5.5 0 0 0-.5-.5h-.9a.5.5 0 0 0-.4.5v6.4a.3.3 0 0 1-.5.2L8.7 9.9a.4.4 0 0 0-.7 0l-.6.6a.4.4 0 0 0 0 .7z"}},product_item:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"4.56",y:"4.541",width:"14.4",height:"3.84",rx:".96",ry:".96"},{x:"4.56",y:"9.821",width:"6.48",height:"3.84",rx:".96",ry:".96"},{x:"4.56",y:"15.101",width:"6.48",height:"3.84",rx:".96",ry:".96"},{x:"12.48",y:"9.821",width:"6.48",height:"3.84",rx:".96",ry:".96"},{x:"12.48",y:"15.101",width:"6.48",height:"3.84",rx:".96",ry:".96"}]},product_item_transaction:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"4.56",y:"4.541",width:"14.4",height:"3.84",rx:".96",ry:".96"},{x:"4.56",y:"9.821",width:"6.48",height:"3.84",rx:".96",ry:".96"},{x:"4.56",y:"15.101",width:"6.48",height:"3.84",rx:".96",ry:".96"}],path:{d:"M15.6 17.4a.3.3 0 0 0 .5 0l2.8-2.7a.3.3 0 0 0 0-.5l-2.8-2.8a.3.3 0 0 0-.5 0l-.5.5a.3.3 0 0 0 0 .5l.8.9a.2.2 0 0 1-.1.4h-2.9a.4.4 0 0 0-.4.3v.8a.4.4 0 0 0 .4.3h2.9a.2.2 0 0 1 .1.4l-.8.9a.3.3 0 0 0 0 .5z"}},product_request:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M18.6 18.7H9.7c-.3 0-.5-.2-.5-.5v-1.1c0-.3.2-.6.5-.6h8.9c.3 0 .5.3.5.6v1.1c.1.3-.2.5-.5.5zm-12.2 0H5.3c-.3 0-.6-.2-.6-.5v-1.1c0-.3.3-.6.6-.6h1.1c.3 0 .5.3.5.6v1.1c.1.3-.2.5-.5.5zm6.5-4.9c-.3 0-.5-.2-.5-.5v-1.1c0-.3.2-.6.5-.6h5.7c.3 0 .5.3.5.5v1.2c0 .3-.2.5-.5.5h-5.7zM15 8.9c-.3 0-.5-.2-.5-.5V7.2c0-.2.2-.5.5-.5h3.6c.3 0 .5.2.5.5v1.2c0 .2-.2.5-.5.5H15zM5 14c-.3-2.6 1.7-5.3 4.1-5.7l.7-.2c.1 0 .2-.1.2-.3l-.1-.1-1.6-1.1c-.2-.1-.2-.3-.1-.5l.4-.6c.1-.1.3-.2.5-.1L13 8c.1.1.2.4.1.5l-2.7 3.9c-.1.2-.3.2-.5.1l-.6-.4c-.2-.1-.2-.3-.1-.5l1.1-1.6c0-.1 0-.3-.1-.3 0-.1-.1-.1-.2-.1l-.4.1c-1.8.4-3.4 2.5-3.2 4.3 0 .2-.3.4-.5.4h-.5c-.2.1-.4-.2-.4-.4z"}},product_request_line_item:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M18.7 18.6H9.8c-.3 0-.6-.3-.6-.6v-1.1c0-.3.3-.5.6-.5h8.8c.3 0 .6.2.6.5V18c0 .3-.2.6-.5.6zm-12.2 0H5.4c-.3 0-.6-.3-.6-.6v-1.1c0-.3.2-.5.5-.5h1.2c.2 0 .5.2.5.5V18c0 .3-.2.6-.5.6zm-.6-7c1.6-2.8 5.5-4 8-2.8l.7.3c.3.1.5-.1.4-.4l-.6-2.2c-.1-.3 0-.5.2-.6l.9-.3c.1-.1.4 0 .5.2v.1l1.6 5.4c.1.2 0 .5-.3.6l-5.3 2c-.1.1-.4 0-.5-.1v-.1l-.2-.9c-.1-.2 0-.5.2-.5l2.2-.9c.2 0 .2-.2.2-.4 0-.1-.1-.1-.1-.2l-.5-.1c-1.9-1-5 0-6.2 2-.1.2-.5.2-.8.1l-.4-.4c-.2-.1-.2-.5 0-.8z"}},product_required:{xmlns:"http://www.w3.org/2000/svg",title:{},rect:[{x:"10.543",y:"16.385",width:"8.657",height:"1.918",rx:".48",ry:".48"},{x:"10.543",y:"12.101",width:"8.657",height:"1.918",rx:".48",ry:".48"},{x:"11.981",y:"7.817",width:"7.219",height:"1.918",rx:".48",ry:".48"}],path:[{d:"M8.1 18.3h-.9a.5.5 0 0 1-.5-.5v-.9a.5.5 0 0 1 .5-.5h.9a.5.5 0 0 1 .5.5v.9a.5.5 0 0 1-.5.5zm0-4.3h-.9a.5.5 0 0 1-.5-.5v-.9a.5.5 0 0 1 .5-.5h.9a.5.5 0 0 1 .5.5v.9a.5.5 0 0 1-.5.5z","fill-rule":"evenodd"},{d:"M11.4 6.3l-.5-.5a.3.3 0 0 0-.5 0L7.2 9 5.9 7.7a.3.3 0 0 0-.5 0l-.5.5a.3.3 0 0 0 0 .5l1.8 1.8a.7.7 0 0 0 1 0l3.7-3.7a.4.4 0 0 0 0-.5z","fill-rule":"evenodd"}]},product_transfer:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.1 4.9h-.8a.4.4 0 0 0-.4.5v1.9c0 .3-.3.5-.5.3a6.2 6.2 0 0 0-5.3-2.1 5.5 5.5 0 0 0-2.1.6 5.5 5.5 0 0 0-1 .6.5.5 0 0 0 0 .7l.6.6a.4.4 0 0 0 .5 0 6.9 6.9 0 0 1 1.1-.6c.2 0 .4-.1.6-.1a4.7 4.7 0 0 1 4.5 1.5c.3.4 0 .7-.2.7h-2a.5.5 0 0 0-.5.4v.8a.5.5 0 0 0 .5.5h5.1a.4.4 0 0 0 .4-.4V5.4a.4.4 0 0 0-.5-.5zM15.6 15a.4.4 0 0 0-.6 0 4.5 4.5 0 0 1-1.7 1c-.2.1-.3.1-.5.2a4.7 4.7 0 0 1-4.5-1.5c-.3-.4-.1-.7.2-.7h2a.4.4 0 0 0 .4-.4v-.9a.4.4 0 0 0-.4-.4H5.3a.4.4 0 0 0-.4.4v5.4a.4.4 0 0 0 .5.4h.8a.4.4 0 0 0 .5-.4v-2c0-.2.2-.4.4-.2a6.2 6.2 0 0 0 5.3 2.1 5.5 5.5 0 0 0 2.1-.7 6.2 6.2 0 0 0 1.6-1.1.4.4 0 0 0 0-.6z"}},proposition:{xmlns:"http://www.w3.org/2000/svg",title:{},g:{path:[{d:"M6.2 14.5H5.1c-.2 0-.3.2-.3.4v3.8c0 .2.1.3.3.3h.5c.5 0 .9-.4.9-.8v-3.3c0-.2-.1-.4-.3-.4zm13 2.2c-.2-.4-.5-.8-1-.9-.2 0-.4.1-.7.2-.8.3-1.7.6-2.5.9-.6.2-1.2.4-1.8.4H12c-.2 0-.4-.2-.4-.4s.2-.4.4-.4h2.2c.4 0 .7-.3.7-.7s-.3-.8-.7-.8h-1.7c-.1 0-.5 0-.8-.1-.3-.1-.7-.2-.7-.1H8c-.3 0-.6.2-.6.6v2.7c0 .3.2.6.5.6H8c.5 0 1.1.2 1.6.3.6.1 1.1.2 1.7.2.7 0 1.5-.1 2.2-.3.7-.2 1.3-.5 2-.7 1.2-.4 2.3-.8 3.5-1.2.1 0 .2-.2.2-.3z"},{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M13.9 9.6v3.6c0 .1.1.2.2.2.7-.4 2.9-1.6 2.9-1.6.3-.2.4-.5.4-.8V7.7c0-.1-.1-.1-.2-.1l-3.1 1.8c-.1 0-.2.1-.2.2m-.3-1l3.2-1.7c.1-.1.1-.2 0-.3-.7-.4-2.9-1.6-2.9-1.6-.3-.2-.6-.2-.9 0l-2.9 1.6c-.1.1-.1.2 0 .3l3.2 1.7c.1.1.2.1.3 0m-.7.8L9.7 7.6c-.1 0-.2 0-.2.2V11c0 .3.2.6.5.8l2.8 1.6c.1 0 .2-.1.2-.2V9.6c0-.1 0-.2-.1-.2"}]}},question_best:{xmlns:"http://www.w3.org/2000/svg",title:{},g:{path:[{d:"M24 24v-9.1L14.9 24H24zm-.9-3.5l-.8.8v.1l.2 1.1s-.1.1-.2.1l-.9-.5c0-.1 0-.1 0 0l-1 .5c-.1 0-.1-.1-.1-.1l.1-1.1v-.1l-.7-.8c-.1 0 0-.1 0-.1l1.1-.2.5-1c0-.1.1-.1.2 0l.4 1h.1l1 .2c.1 0 .1.1.1.1z","fill-opacity":".65"},{d:"M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3 0 .4l-.6 2.1c-.2.4.2.7.6.6l2.1-.7c.1-.1.3-.1.4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7S16 5.3 12 5.3zm.7 10.8c0 .2-.2.5-.5.5h-.5c-.2 0-.4-.3-.4-.5v-.5c0-.3.2-.5.4-.5h.5c.3 0 .5.2.5.5v.5zm.2-3.1c-.1.1-.2.2-.2.3v.4c0 .2-.2.5-.5.5h-.4c-.3 0-.5-.3-.5-.5v-.4c0-.7.5-1.4 1.2-1.6.2-.1.5-.3.6-.5.8-1 0-2.3-1.1-2.3-.4 0-.7.1-1 .4-.2.2-.4.4-.4.7-.1.2-.3.3-.5.3h-.5c-.3 0-.5-.2-.5-.5.2-.6.4-1.1.9-1.5.5-.6 1.3-.9 2-.9 1.6.1 2.8 1.3 2.9 2.8 0 1.3-.8 2.4-2 2.8z"}]}},question_feed:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 5.3c-4 0-7.2 3-7.2 6.7 0 1.2.3 2.3.9 3.3.1.1.1.3.1.4l-.7 2.1c-.1.4.2.7.6.6l2.1-.7c.2-.1.3-.1.4 0 1.1.7 2.4 1 3.8 1 4 0 7.2-3 7.2-6.7S16 5.3 12 5.3zm.7 10.8c0 .2-.2.5-.5.5h-.4c-.3 0-.5-.3-.5-.5v-.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v.5zm.2-3.1c-.1.1-.2.2-.2.3v.4c0 .2-.2.5-.5.5h-.4c-.3 0-.5-.3-.5-.5v-.4c0-.7.5-1.4 1.2-1.6.2-.1.5-.3.6-.5.8-1 0-2.3-1.1-2.3-.4 0-.7.1-1 .4-.2.2-.4.4-.4.7-.1.2-.3.3-.5.3h-.5c-.3 0-.5-.2-.5-.5.2-.6.4-1.1.9-1.5.5-.6 1.3-.9 2-.9 1.6.1 2.8 1.3 2.9 2.8 0 1.3-.8 2.4-2 2.8z"}},queue:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M16.2 4.8c-.7 0-1.3.5-1.5 1.2.9.4 1.6 1.3 1.8 2.4.8-.2 1.3-.9 1.3-1.8 0-1-.7-1.8-1.6-1.8zm1.5 4.3c-.3.3-.7.5-1.1.5-.1.7-.3 1.3-.7 1.8h2.7c.3 0 .6-.3.6-.6v-.3c0-.7-.7-1.1-1.5-1.4zM15.2 12c-.5.4-1.1.7-1.8.7 0 .7-.2 1.4-.6 2h3.4c.4 0 .7-.3.7-.7v-.3c0-.8-.9-1.3-1.7-1.7zm-3.1 3.6c-.7.7-1.6 1.1-2.6 1.1s-1.9-.4-2.5-1.1c-1.1.5-2.2 1.2-2.2 2.2v.4c0 .6.4 1 .9 1h7.5c.6 0 1-.5 1-1v-.4c0-1-1-1.6-2.1-2.2z"},{d:"M13.4 7.1c-.9 0-1.7.6-1.9 1.5.9.6 1.6 1.6 1.8 2.7h.1c1 0 1.9-.9 1.9-2.1 0-1.2-.9-2.1-1.9-2.1z"}],ellipse:{cx:"9.504",cy:"12.384",rx:"2.568",ry:"2.832"}},quick_text:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M11.9 5.2c-4 0-7.2 2.9-7.2 6.5 0 1.2.3 2.3.9 3.2.1.2.1.4 0 .5L4.7 18c-.1.2.1.5.4.4l2.6-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 3.9 0 7.1-2.9 7.1-6.6 0-3.7-3.2-6.6-7.2-6.6zm-3.4 6.3c0-.1.2-.3.3-.3h4.7c.1 0 .3.2.3.3v.6c0 .1-.1.3-.3.3H8.8c-.1 0-.3-.2-.3-.3v-.6zm6.7 2.8c0 .1-.1.3-.2.3H8.8c-.1 0-.3-.1-.3-.3v-.5c0-.2.1-.3.3-.3H15c.1 0 .2.1.2.3v.5zm0-4.5c0 .2-.1.3-.2.3H8.8c-.1 0-.3-.1-.3-.3v-.5c0-.2.1-.3.3-.3H15c.1 0 .2.1.2.3v.5z"}},quip:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.5 4.8C8 5 5 8 4.8 11.5c-.2 4.2 3.1 7.7 7.2 7.7h7.2V12c0-4.1-3.5-7.4-7.7-7.2zM8.6 8.9c0-.3.2-.5.5-.5H15c.2 0 .4.2.4.5v.5c0 .2-.2.4-.4.4H9.1c-.3 0-.5-.2-.5-.4v-.5zm6.8 6.2c0 .3-.2.5-.4.5H9.1c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4H15c.2 0 .4.2.4.4v.5zm1.8-2.9c0 .3-.2.5-.4.5H7.2c-.2 0-.4-.2-.4-.5v-.4c0-.3.2-.5.4-.5h9.6c.2 0 .4.2.4.5v.4z"}},quip_sheet:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.7 9.3H5.3c-.3 0-.5.2-.5.5v7.6c0 .7.5 1.2 1.2 1.2h1.7c.2 0 .4-.2.4-.4V9.8c0-.3-.2-.5-.4-.5zm11 0h-9c-.2 0-.4.2-.4.5v8.4c0 .2.2.4.4.4H18c.7 0 1.2-.5 1.2-1.2V9.7c0-.2-.2-.4-.5-.4zM18 5.4H6c-.7 0-1.2.5-1.2 1.2v1.1c0 .2.2.4.5.4h13.4c.3 0 .5-.2.5-.4V6.6c0-.6-.5-1.2-1.2-1.2z"}},quotes:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.3 5.3H12c-.3 0-.6.1-.8.4l-6.5 6.4c-.5.6-.5 1.5 0 2.1l5.1 5c.6.6 1.5.6 2.1 0l6.5-6.5c.2-.2.3-.6.3-.9V6.7c0-.8-.6-1.4-1.4-1.4zm-5.2 10.5l-.3.4c-.2.2-.5.2-.7 0l-3.3-3.3c-.2-.2-.2-.5 0-.7l.4-.3c.2-.2.4-.2.6 0l3.3 3.3c.2.2.2.4 0 .6zm1.9-1.9l-.3.4c-.2.1-.5.1-.7 0L9.7 11c-.1-.2-.1-.5 0-.7l.4-.3c.2-.2.5-.2.7 0l3.2 3.2c.2.2.2.5 0 .7zm1.4-4.1c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.6 1.2 1.2-.6 1.2-1.2 1.2z"}},radio_button:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 12.7c-1.7 0-3.2 1.5-3.2 3.3s1.5 3.2 3.2 3.2 3.3-1.5 3.3-3.2-1.5-3.3-3.3-3.3zm0 5.1c-.9 0-1.8-.9-1.8-1.8s.9-1.8 1.8-1.8 1.8.8 1.8 1.8S9 17.8 8 17.8zm8-5.1c-1.8 0-3.3 1.5-3.3 3.3s1.5 3.2 3.3 3.2 3.2-1.5 3.2-3.2-1.5-3.3-3.2-3.3zM8 4.8C6.3 4.8 4.8 6.2 4.8 8s1.5 3.2 3.2 3.2 3.3-1.4 3.3-3.2S9.8 4.8 8 4.8zm0 5C7.1 9.8 6.2 9 6.2 8S7.1 6.2 8 6.2 9.8 7 9.8 8 9 9.8 8 9.8zm8-5c-1.8 0-3.3 1.4-3.3 3.2s1.5 3.2 3.3 3.2 3.2-1.4 3.2-3.2-1.5-3.2-3.2-3.2z"}},read_receipts:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M11.7 10.4c.2.2.4.2.6 0l5.5-5.1c.1-.2.1-.5-.3-.5h-11c-.3 0-.5.3-.3.5l5.5 5.1zm6.1-2.9c0-.3-.3-.4-.4-.2l-4.3 4c-.3.2-.7.4-1.1.4-.4 0-.8-.2-1.1-.4l-4.3-4c-.2-.2-.5-.1-.5.2v5.1c0 .6.6 1.2 1.2 1.2h5.8v-1.5c0-.8.6-1.5 1.4-1.5h.2c.8 0 1.5.7 1.5 1.5v1.5h.5c.7 0 1.2-.6 1.2-1.2-.1 0-.1-3.6-.1-5.1z"},{d:"M17.1 15.3l-1.6-.6c-.2 0-.3-.1-.3-.3v-2.1c0-.3-.2-.6-.6-.6-.3 0-.6.3-.6.6v4.2c0 .4-.5.5-.7.2l-.4-.9c-.2-.3-.7-.4-1-.2l-.3.2L13 19c0 .2.2.2.3.2h3.5c.2 0 .4-.1.4-.2l.6-2.2c.2-.7-.2-1.3-.7-1.5z"}]},recent:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.7 11.5v.5H5.3v-.5h1.4zm5.7-2.9h-.8c-.2 0-.3.2-.3.4v3.1c0 .1 0 .2.1.3l2 2c.1.2.4.2.5 0l.5-.5c.1-.1.1-.3 0-.5l-1.7-1.7V9c0-.2-.1-.4-.3-.4zM12 5.3c-3.6 0-6.5 2.7-6.7 6.2v.3H4.2c-.3 0-.5.3-.3.5l1.8 2.2c.2.2.4.2.6 0l1.8-2.2c.2-.2 0-.5-.3-.5H6.7v-.3C7 8.8 9.2 6.7 12 6.7c3.1 0 5.6 2.7 5.2 5.9-.2 2.3-2.4 4.4-4.7 4.7-1.7.1-3.3-.5-4.4-1.7-.2-.2-.3-.3-.5 0l-.6.6c-.1.2 0 .3.1.4 1.3 1.4 3.1 2.1 5 2.1 3.4 0 6.3-2.8 6.6-6.2.3-3.9-2.8-7.2-6.7-7.2z"}},record:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zM9.4 16.3c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.2 0 .5.2.5.4v.5zm0-2.4c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.2 0 .5.2.5.4v.5zm0-2.4c0 .3-.3.5-.5.5h-.5c-.3 0-.5-.2-.5-.5V11c0-.2.2-.4.5-.4h.5c.2 0 .5.2.5.4v.5zm6.7 4.8c0 .3-.2.5-.5.5h-4.8c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h4.8c.3 0 .5.2.5.4v.5zm0-2.4c0 .3-.2.5-.5.5h-4.8c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h4.8c.3 0 .5.2.5.4v.5zm0-2.4c0 .3-.2.5-.5.5h-4.8c-.3 0-.5-.2-.5-.5V11c0-.2.2-.4.5-.4h4.8c.3 0 .5.2.5.4v.5z"}},record_create:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-1.8 8.4c0 .2-.1.3-.2.3h-2.7s-.1.1-.1.2v2.6c0 .1-.1.2-.3.2h-.4c-.2 0-.3-.1-.3-.2v-2.6c0-.1-.1-.2-.1-.2H8.7c-.1 0-.2-.1-.2-.3V14c0-.2.1-.3.2-.3h2.7s.1 0 .1-.1v-2.7c0-.1.1-.2.3-.2h.4c.2 0 .3.1.3.2v2.7c0 .1.1.1.1.1h2.7c.1 0 .2.1.2.3v.4z"}},record_delete:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-2.8 10.9c0 .5-.3.8-.7.8h-3.6c-.4 0-.7-.3-.7-.8v-3.1c0-.1.1-.2.2-.2h4.6c.1 0 .2.1.2.2v3.1zm.6-4.4c0 .1-.1.2-.2.2H9.1c-.1 0-.2-.1-.2-.2V12c0-.1.1-.2.2-.2H11v-.6c0-.3.2-.5.5-.5h.9c.3 0 .6.2.6.5v.6h1.8c.2 0 .2.1.2.2v.5zm-3.7 2.1h-.3c-.1 0-.1.1-.1.2v1.7c0 .1 0 .1.1.1h.3c.1 0 .2 0 .2-.1v-1.7c0-.1-.1-.2-.2-.2zm1.5 0h-.3c-.1 0-.1.1-.1.2v1.7c0 .1 0 .1.1.1h.3c.1 0 .1 0 .1-.1v-1.7c0-.1 0-.2-.1-.2zm-.6-3.4h-.6c-.1 0-.1.1-.1.2v.4h.9v-.4c-.1-.1-.1-.2-.2-.2z"}},record_lookup:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-1.9 11.4l-.3.3c-.1.1-.2.1-.3 0l-1.9-1.9c-.6.4-1.3.6-2.1.5-1.2-.2-2.2-1.2-2.3-2.5-.2-1.7 1.3-3.2 3-3 1.3.1 2.3 1.1 2.5 2.4.1.7-.1 1.4-.5 2l1.9 1.9c.1.1.1.2 0 .3zm-4.1-5.8c-1.1 0-1.9.9-1.9 1.9 0 1.1.8 1.9 1.9 1.9s1.9-.8 1.9-1.9-.9-1.9-1.9-1.9z"}},record_update:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-2.9 7.3l-3.8 3.9-1.7.4c-.2.1-.3-.1-.3-.2l.5-1.7 3.9-3.8c0-.1.1-.1.2 0l1.2 1.2v.2zm1.1-1.1l-.5.5h-.2l-1.2-1.3c-.1 0-.1-.1 0-.2l.4-.4c.3-.3.6-.3.9 0l.6.6c.2.2.2.6 0 .8z"}},recycle_bin:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.9 7.2h-3.8V6c0-.6-.5-1.2-1.2-1.2h-1.8c-.6 0-1.2.5-1.2 1.2v1.2H6.1c-.2 0-.4.2-.4.5v.8c0 .3.2.5.4.5h11.7c.3 0 .5-.2.5-.5v-.8c0-.3-.2-.5-.4-.5zm-5 0h-1.8v-.9c0-.2.1-.3.3-.3h1.2c.1 0 .3.1.3.3v.9zm3.8 3H7.3c-.2 0-.4.2-.4.5v7c0 .9.6 1.5 1.5 1.5h7.2c.8 0 1.5-.6 1.5-1.5v-7c0-.3-.2-.5-.4-.5zm-5.5 7.5H9.7c-.1 0-.7 0-1-.6-.4-.7-.1-1.2.3-2l-.4-.3c-.1 0-.1-.1-.1-.1 0-.1.1-.1.1-.1l1.2-.3h.1c.1 0 .1 0 .2.1v.1l.2 1.2v.1h-.1l-.4-.2c-.4.6-.5.9-.4 1 .1.2.3.2.3.2h1.5c.1 0 .3.1.3.2.1.1.1.2.1.2 0 .3-.2.5-.4.5zm1.1-4.4v-.1l.4-.2c-.3-.7-.5-.9-.7-.9-.2 0-.3.1-.3.1l-.8 1.3c-.1.1-.2.2-.4.2 0 0-.1 0-.2-.1-.2-.1-.2-.4-.1-.5l.8-1.3c0-.1.3-.5 1-.5.8 0 1.1.5 1.5 1.3l.5-.2s.1 0 .1.1.1 0 0 .1l-.4 1.2v.1h-.1l-1.3-.5v-.1zm3.1 3.7c-.4.6-1 .6-1.9.6v.5c0 .1-.1.1-.1.1s-.1.1-.1 0l-.9-.9c-.1-.1 0-.2 0-.2l1-.9h.1l.1.1v.5c.8 0 1 0 1.1-.2s0-.4 0-.4l-.7-1.3c-.1-.1-.1-.3 0-.4 0-.1.1-.1.1-.1.2-.2.5-.1.6.1l.8 1.3c0 .1.2.5-.1 1.2z"}},related_list:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 4.8h-7.7c-.8 0-1.5.6-1.5 1.4v.3c0 .1.1.2.3.2h6.9c.8 0 1.5.7 1.5 1.5v7.4c0 .1.1.2.2.2.9 0 1.7-.7 1.7-1.6v-8c0-.8-.6-1.4-1.4-1.4zM6.7 8.2c-.8 0-1.4.6-1.4 1.4v8.2c0 .8.6 1.4 1.4 1.4h7.7c.8 0 1.4-.6 1.4-1.4V9.6c0-.8-.6-1.4-1.4-1.4H6.7zm1.9 3.3c0 .3-.2.5-.4.5h-.5c-.3 0-.5-.2-.5-.5V11c0-.2.2-.4.5-.4h.5c.2 0 .4.2.4.4v.5zm5.3 0c0 .3-.2.5-.5.5h-3.3c-.3 0-.5-.2-.5-.5V11c0-.2.2-.4.5-.4h3.3c.3 0 .5.2.5.4v.5zm-5.3 2.4c0 .3-.2.5-.4.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.2 0 .4.2.4.4v.5zm5.3 0c0 .3-.2.5-.5.5h-3.3c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h3.3c.3 0 .5.2.5.4v.5zm-5.3 2.4c0 .3-.2.5-.4.5h-.5c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h.5c.2 0 .4.2.4.4v.5zm5.3 0c0 .3-.2.5-.5.5h-3.3c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h3.3c.3 0 .5.2.5.4v.5z"}},relationship:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.1 16.8h-.9V15h.9c.2 0 .3-.1.3-.3V6.9c0-.2-.1-.3-.3-.3H9.3c-.2 0-.3.1-.3.3v.9H7.2v-.9c0-1.2.9-2.1 2.1-2.1h7.8c1.2 0 2.1.9 2.1 2.1v7.8c0 1.2-.9 2.1-2.1 2.1zM13.8 9H6c-.7 0-1.2.5-1.2 1.2V18c0 .7.5 1.2 1.2 1.2h7.8c.7 0 1.2-.5 1.2-1.2v-7.8c0-.7-.5-1.2-1.2-1.2z"}},report:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-7 9.8c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-2.4c0-.2.2-.4.5-.4h.4c.3 0 .5.2.5.4v2.4zm2.4 0c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-4.5c0-.3.2-.5.5-.5h.4c.3 0 .5.2.5.5v4.5zm2.4 0c0 .3-.2.5-.5.5h-.4c-.3 0-.5-.2-.5-.5v-3.6c0-.2.2-.4.5-.4h.4c.3 0 .5.2.5.4v3.6z"}},resource_absence:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm4 9.1l-1.2 1.2-2.9-3-2.8 2.8L8 13.8l2.8-2.8-2.9-2.8L9.1 7l2.8 2.8 2.9-2.9L16 8l-3 3zm-9.8 1.5h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z","fill-rule":"evenodd"}},resource_capacity:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm4.2 6.3h-4.4V6.5s1.7-.1 3.2 1.4 1.2 3.2 1.2 3.2zm-10 4.3h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z","fill-rule":"evenodd"}},resource_preference:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm-2.6 8.6a.7.7 0 0 1-.7.6h-.5a.3.3 0 0 1-.2-.2v-3.5a.3.3 0 0 1 .2-.3h.9a.3.3 0 0 1 .3.3zm6.5-.7c0 1.4-1.2 1.5-2.6 1.5-1.3 0-1.7-.4-2.9-.5a.2.2 0 0 1-.3-.2v-3.1a.3.3 0 0 1 .3-.2 1.6 1.6 0 0 0 1.5-1.6v-.9a.3.3 0 0 1 .3-.3h.5a.7.7 0 0 1 .7.7v1.5a.7.7 0 0 0 .7.6h1.1a.7.7 0 0 1 .7.6zm-9.7 2.7h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z","fill-rule":"evenodd"}},resource_skill:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M10.5 10.9a1.4 1.4 0 1 0 2.9 0 1.4 1.4 0 1 0-2.9 0zM12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm4 8.1l-.3.4a.6.6 0 0 1-.5.3.7.7 0 0 1-.2 0l-.8-.3a3.4 3.4 0 0 1-1.1.6l-.2.9a.6.6 0 0 1-.5.5h-.6a.6.6 0 0 1-.6-.5l-.1-.9a2.9 2.9 0 0 1-1.1-.6l-.8.3a.7.7 0 0 1-.2.1.6.6 0 0 1-.5-.3l-.3-.5a.6.6 0 0 1 .1-.8l.7-.5a3 3 0 0 1-.1-.6 2.8 2.8 0 0 1 .1-.6l-.7-.6a.6.6 0 0 1-.1-.7l.3-.5a.6.6 0 0 1 .5-.3.7.7 0 0 1 .2 0l.8.3a3.3 3.3 0 0 1 1.1-.6l.1-.8a.6.6 0 0 1 .6-.5h.6a.6.6 0 0 1 .5.5l.2.8a3.3 3.3 0 0 1 1 .6l.9-.3a.7.7 0 0 1 .2 0 .6.6 0 0 1 .5.3l.3.4a.6.6 0 0 1-.2.8l-.7.5a2.9 2.9 0 0 1 .1.7 2.8 2.8 0 0 1-.1.6l.7.5a.6.6 0 0 1 .2.8zm-9.8 2.5h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z","fill-rule":"evenodd"}},return_order:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M5.3 5.4h8.8c.3 0 .6.2.6.5V7c0 .3-.3.6-.5.6H5.3c-.3 0-.6-.3-.6-.6V5.9c0-.3.2-.5.6-.5zm12.2 0h1.1c.3 0 .5.2.5.5V7c0 .3-.2.6-.5.6h-1.1c-.3 0-.6-.3-.6-.6V5.9c0-.3.2-.5.5-.5h.1zm-6.6 4.9c.3 0 .6.2.6.5v1.1c0 .3-.2.6-.5.6H5.3c-.3 0-.6-.3-.6-.5v-1.2c0-.3.3-.5.6-.5h5.6zm-2.1 4.9c.3 0 .6.2.6.5v1.1c0 .3-.3.6-.5.6H5.3c-.3 0-.6-.2-.6-.5v-1.2c0-.2.3-.5.6-.5h3.5zm10.1-5.1c.3 2.6-1.8 5.3-4.2 5.7l-.6.2c-.1 0-.2.1-.2.2s0 .2.1.2l1.6 1.1c.2.1.2.3.1.5l-.4.6c-.1.1-.4.2-.5.1l-3.9-2.6c-.2-.1-.2-.4-.1-.5l2.6-3.9c.1-.2.4-.3.5-.1l.6.4c.2.1.3.3.1.5l-1 1.6c-.1.1-.1.3 0 .3.1.1.2.1.2.1l.4-.1c1.9-.4 3.5-2.5 3.3-4.3 0-.2.3-.4.5-.5h.4c.2 0 .5.3.5.5z"}},return_order_line_item:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M5.3 5.5h8.9c.3 0 .6.3.6.6v1.1c0 .3-.3.6-.6.6H5.4c-.3 0-.6-.3-.6-.6V6.1c0-.3.2-.6.5-.6zm12.2 0h1.1c.3 0 .6.3.6.6v1.1c0 .3-.2.6-.5.6h-1.2c-.2 0-.5-.3-.5-.6V6.1c0-.3.2-.5.5-.6zm.6 7c-1.6 2.8-5.5 4.1-8 2.8l-.7-.3c-.3-.1-.5.1-.4.4l.6 2.2c.1.3 0 .5-.2.6l-.9.3c-.1.1-.4 0-.5-.2l-1.6-5.5c-.1-.2 0-.5.3-.6l5.3-2c.1-.1.4 0 .5.2l.2.9c.1.2 0 .5-.2.6l-2.2.8c-.2.1-.2.2-.2.4 0 .1.1.1.1.2l.5.2c1.9.9 5-.1 6.2-2.1.1-.1.5-.2.8-.1l.4.4c.2.1.2.6 0 .8z"}},reward:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.2 15.2l-2.8 4-.7-1.9H5.8l2.4-3.4c.5.3 1 .4 1.4.5h.3s.2.1.2.2c.3.2.7.5 1.1.6zm4.6-1.3c-.5.3-1 .4-1.4.5h-.3c-.1 0-.2.1-.3.2-.2.2-.6.5-1 .6l2.8 4 .7-1.9h1.9l-2.4-3.4zM12 7.7c-.9 0-1.7.7-1.7 1.7S11.1 11 12 11s1.7-.7 1.7-1.6-.8-1.7-1.7-1.7zm4.6 1.7c0 .5-.7 1-.9 1.5-.2.5-.1 1.3-.5 1.7-.4.4-1.1.3-1.7.5-.5.2-.9.8-1.5.8s-1-.6-1.5-.8c-.6-.2-1.3-.1-1.7-.5-.4-.4-.3-1.2-.5-1.7s-.9-1-.9-1.5c0-.6.7-1.1.9-1.6.2-.5.1-1.3.5-1.7.4-.3 1.1-.2 1.7-.5.5-.2.9-.8 1.5-.8s1 .6 1.5.8c.6.3 1.3.1 1.7.5.4.4.3 1.2.5 1.7s.9 1 .9 1.6zm-1.5 0c0-1.8-1.4-3.2-3.1-3.2S8.9 7.6 8.9 9.4s1.4 3.1 3.1 3.1 3.1-1.4 3.1-3.1z"}},rtc_presence:{path:{d:"M14.8 4.7c-2.7 0-4.9 2.1-4.9 4.7a4.5 4.5 0 0 0 .6 2.2.4.4 0 0 1 .1.3l-.5 1.5a.3.3 0 0 0 .4.4l1.4-.5a.4.4 0 0 1 .3 0 5 5 0 0 0 2.6.7c2.6 0 4.8-2.1 4.8-4.6s-2.2-4.7-4.8-4.7zM11 18.3v.3a.7.7 0 0 1-.7.7H5a.7.7 0 0 1-.6-.7v-.3c0-.8.9-1.3 1.8-1.7a.3.3 0 0 0 .1 0 .2.2 0 0 1 .2 0 2.2 2.2 0 0 0 1.2.3 2.2 2.2 0 0 0 1.2-.3.2.2 0 0 1 .2 0 .3.3 0 0 1 .1 0c.9.4 1.8.9 1.8 1.7z"},ellipse:{cx:"7.682",cy:"14.462",rx:"1.644",ry:"1.819"}},sales_cadence:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10 16c.2.2.5.2.6 0l3.7-3.6c.2-.2.2-.5.1-.7h-.1L10.6 8c-.1-.2-.4-.2-.6 0l-.7.7c-.2.2-.2.4-.1.6l.1.1 1.1 1.1c.2.1.2.3 0 .5 0 0-.1.1-.2.1H5.3c-.3 0-.5.2-.5.4v1c0 .3.2.5.5.5h5c.1 0 .3.1.3.3 0 .1 0 .2-.1.2l-1.2 1.2c-.2.1-.2.4 0 .6l.7.7zm5.2-2.5l-1.1 1.2c-.2.1-.2.4-.1.6h.1l.7.7c.1.2.4.2.6 0l3.7-3.6c.1-.2.1-.5 0-.7L15.4 8c-.2-.2-.5-.2-.6 0h-.1l-.7.7c-.2.2-.2.4 0 .6v.1l1.2 1.1 1.5 1.5-1.5 1.5z"}},sales_cadence_target:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.2 6c-1.3 0-2.5.4-3.4 1.1l.8.9c.8-.5 1.7-.8 2.6-.8 2.6 0 4.8 2.2 4.8 4.8s-2.2 4.8-4.8 4.8c-.9 0-1.8-.2-2.6-.7l-.9.8c1 .7 2.2 1.1 3.5 1.1 3.3 0 6-2.7 6-6s-2.7-6-6-6zm0 7.2c.7 0 1.2-.5 1.2-1.2s-.5-1.2-1.2-1.2c-.4 0-.7.2-.9.5L9.6 8.7c-.1-.2-.3-.2-.5-.1v.1l-.6.5c-.1.2-.1.4 0 .6l1 1c.1.1.1.3 0 .4H5.2c-.2 0-.4.2-.4.4v.8c0 .2.2.4.4.4h4.2c.1 0 .2.2.2.3v.2l-1 1c-.2.1-.2.3-.1.5h.1l.5.6c.2.1.4.1.6 0l2.6-2.6c.2.2.5.4.9.4zm0 1.2c-.3 0-.5 0-.8-.1l-.9.9c.5.3 1.1.4 1.7.4 2 0 3.6-1.6 3.6-3.6s-1.6-3.6-3.6-3.6c-.6 0-1.2.1-1.7.4l.9.9c.2-.1.5-.1.8-.1 1.3 0 2.4 1.1 2.4 2.4s-1.1 2.4-2.4 2.4z"}},sales_channel:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18 10.8c-.2-.8-.6-1.6-1-2.2.4-.5.4-1.2 0-1.7-.2-.2-.6-.3-.8-.3s-.6.1-.9.3c-.6-.4-1.3-.7-2.1-.9 0-.6-.5-1.2-1.2-1.2s-1.2.6-1.2 1.2c-.8.2-1.5.5-2.2.9-.2-.2-.5-.3-.8-.3-.3 0-.6.1-.9.3-.4.5-.4 1.3 0 1.7-.4.7-.7 1.4-.9 2.2-.6 0-1.2.6-1.2 1.2s.6 1.2 1.2 1.2c.1.8.5 1.5.9 2.1 0 0 0 .1-.1.1-.4.4-.4 1.2 0 1.7.3.2.6.3.9.3.3 0 .6-.1.8-.3V17c.7.5 1.5.8 2.3 1 0 .6.5 1.2 1.2 1.2s1.2-.6 1.2-1.2c.8-.2 1.5-.5 2.1-.9.3.2.6.3.9.3.3 0 .6-.1.8-.3.5-.5.5-1.2 0-1.7.4-.7.8-1.4.9-2.2h.1c.6 0 1.2-.5 1.2-1.2s-.6-1.2-1.2-1.2zm-2.2-3.4h.1c.1-.1.2-.1.2-.1.1 0 .3.1.4.2.1.1.1.3 0 .5v.1c-.1.1-.3.2-.4.2s-.2-.1-.3-.2c-.2-.2-.2-.5 0-.7zm-4.3-1.5c0-.2.2-.4.5-.4s.4.2.4.4V6c0 .3-.2.5-.4.5s-.5-.2-.5-.5v-.1zM7.4 7.4c.1-.1.2-.1.3-.1.1 0 .2 0 .3.1h.1c.2.2.2.5 0 .7-.1.1-.3.2-.4.2s-.2-.1-.3-.2L7.3 8c-.1-.2-.1-.4.1-.6zM6 12.5h-.1c-.2-.1-.4-.3-.4-.5s.2-.4.4-.5H6c.3 0 .5.2.5.5s-.3.5-.5.5zm2 4l-.1.1c0 .1-.1.1-.2.1-.2 0-.3-.1-.4-.2-.1-.1-.1-.2-.1-.3s0-.2.1-.3c.1-.1.2-.2.3-.2.2 0 .3.1.4.2.2.2.2.4 0 .6zm4.4 1.6c0 .2-.2.4-.4.4s-.5-.2-.5-.4V18c0-.3.2-.5.5-.5s.4.2.4.5v.1zm4.8-5.1c-.1.7-.4 1.4-.8 2h-.2c-.3 0-.6.1-.9.4-.3.3-.3.7-.3 1-.6.4-1.3.8-2.1.9-.2-.3-.5-.5-.9-.5s-.8.2-1 .5c-.8-.1-1.5-.5-2.2-.9.1-.4 0-.7-.3-1-.2-.3-.6-.4-.8-.4h-.2c-.4-.6-.7-1.2-.9-2 .4-.2.6-.6.6-1s-.2-.8-.6-1c.2-.7.5-1.4.9-2h.2c.3 0 .6-.1.8-.4.3-.3.4-.7.4-1 .6-.5 1.3-.8 2.1-.9.2.3.5.5 1 .5.4 0 .7-.2.9-.5.8.1 1.5.4 2 .8 0 .4.1.8.4 1.1.2.2.5.4.8.4.1 0 .2 0 .2-.1.5.7.8 1.3.9 2.1-.3.2-.5.6-.5 1s.2.7.5 1zm.8-.5h-.1c-.2 0-.5-.2-.5-.5s.3-.5.5-.5h.1c.2.1.4.3.4.5s-.2.4-.4.5zm-4.8.1c-.6-.2-.6-.5-.6-.6 0-.3.1-.5.3-.6.3-.3.4-.7.4-1.1 0-.9-.5-1.6-1.4-1.6s-1.4.7-1.4 1.6c0 .4.2.8.4 1.1.2.1.4.3.4.6s-.1.4-.6.6c-.8.3-1.5.6-1.5 1.3 0 .5.3.8.8.8h3.9c.4 0 .7-.3.7-.8 0-.7-.7-1-1.4-1.3z"}},sales_path:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.6 16.4l3.5-4.2c.1-.1.1-.3 0-.5l-3.5-4v-.2c0-.1.1-.2.2-.2h5c.2 0 .3 0 .3.1l3.6 4.4c.1.1.1.3 0 .5l-3.5 4.3c-.1.1-.2.2-.4.2H3.9c-.2 0-.3-.1-.3-.3v-.1zm7.6 0l3.4-4.2c.1-.1.1-.3 0-.5l-3.4-4v-.2c0-.1.1-.2.2-.2h5c.1 0 .2 0 .3.1l3.6 4.4c.1.1.1.3 0 .5l-3.6 4.3c0 .1-.2.2-.3.2h-5c-.1 0-.2-.1-.2-.3v-.1z"}},scan_card:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 7.2H6.2c-.8 0-1.4.6-1.4 1.4v6.8c0 .8.6 1.4 1.4 1.4h11.6c.8 0 1.4-.6 1.4-1.4V8.6c0-.8-.6-1.4-1.4-1.4zM6 12.7c-.4 0-.7-.3-.7-.7s.3-.7.7-.7.7.3.7.7-.3.7-.7.7zm11.3 2.2c0 .2-.2.5-.5.5H7.7c-.3 0-.5-.3-.5-.5V9.1c0-.2.2-.5.5-.5h9.1c.3 0 .5.3.5.5v5.8zm-1.9-4.8H9.1c-.2 0-.5.2-.5.5v2.8c0 .3.3.5.5.5h6.3c.2 0 .4-.2.4-.5v-2.8c0-.3-.2-.5-.4-.5z"}},screen:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 6c0-.7-.5-1.2-1.2-1.2H6c-.7 0-1.2.5-1.2 1.2v8.3c0 .7.5 1.2 1.2 1.2h12c.7 0 1.2-.5 1.2-1.2V6zm-1.8 7.3c0 .2-.2.4-.5.4H7.1c-.3 0-.5-.2-.5-.4V7.1c0-.3.2-.5.5-.5h9.8c.3 0 .5.2.5.5v6.2zm-7.5 4.1c-.7 0-1.2.5-1.2 1.2v.1c0 .3.2.5.4.5h5.8c.2 0 .4-.2.4-.5v-.1c0-.7-.5-1.2-1.2-1.2H9.9zm-.3-5.2H8.3c-.1 0-.2-.1-.2-.2V8.3c0-.1.1-.2.2-.2h1.3c.2 0 .3.1.3.2V12c0 .1-.1.2-.3.2zm6.1 0h-4.1c-.1 0-.2-.1-.2-.2V8.3c0-.1.1-.2.2-.2h4.1c.1 0 .2.1.2.2V12c0 .1-.1.2-.2.2z"}},search:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.1 17.8l-4-4c.8-1.1 1.2-2.5 1-4.1-.4-2.5-2.4-4.6-5.1-4.8-3.5-.4-6.5 2.6-6.1 6.2.2 2.5 2.3 4.7 4.8 5 1.6.2 3-.2 4.1-1l4 4c.2.2.5.2.6 0l.7-.6c.1-.2.1-.5 0-.7zM6.6 10.5c0-2.1 1.8-3.9 3.9-3.9s3.9 1.8 3.9 3.9-1.8 3.9-3.9 3.9-3.9-1.8-3.9-3.9z"}},service_appointment:{xmlns:"http://www.w3.org/2000/svg",title:{},rect:[{x:"14.474",y:"14.638",width:"1.315",height:"1.315",rx:".218",ry:".218"},{x:"14.474",y:"16.829",width:"1.315",height:"1.315",rx:".218",ry:".218"},{x:"12.281",y:"14.638",width:"1.315",height:"1.315",rx:".218",ry:".218"},{x:"12.281",y:"16.829",width:"1.315",height:"1.315",rx:".218",ry:".218"},{x:"10.087",y:"14.638",width:"1.315",height:"1.315",rx:".218",ry:".218"},{x:"10.087",y:"16.829",width:"1.315",height:"1.315",rx:".218",ry:".218"}],path:{d:"M17.2 4.8H6.8a1.9 1.9 0 0 0-2 1.9v10.6a1.9 1.9 0 0 0 2 1.9h1.4a.9.9 0 0 1-.1-.4v-5.4a.3.3 0 0 1 .3-.3h9a.3.3 0 0 1 .3.3v5.4a.9.9 0 0 1 0 .4 1.9 1.9 0 0 0 1.5-1.9V6.7c0-1-.9-1.9-2-1.9zM7.4 8.7a.7.7 0 0 1-.7-.7v-.7a.7.7 0 0 1 .7-.6h3.4a.7.7 0 0 1 .6.6V8a.7.7 0 0 1-.6.7zm10.3 3.4a.3.3 0 0 1-.3.3h-9a.3.3 0 0 1-.3-.3v-.6a.9.9 0 0 1 .8-.9H10v-.4a.7.7 0 0 1 1.4 0v.4h3v-.4a.7.7 0 0 1 1.3 0v.4h1.1a.9.9 0 0 1 .9.9z","fill-rule":"evenodd"}},service_appointment_capacity_usage:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.3 6.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5zm.9 3.9H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-2.6 4.6c0 1.9-1.7 3.5-3.6 3.5-2 0-3.6-1.6-3.6-3.6s1.7-3.6 3.6-3.5c2 0 3.6 1.6 3.6 3.6zM12 12v2.8h2.5s.2-1-.7-1.9S12 12 12 12z"}},service_contract:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.6 6.9l-3.2-3.1c-.1-.1-.1-.1-.2-.1-.2 0-.4.1-.4.3v2.6c0 .5.5.9 1 .9h2.5c.2 0 .4-.1.4-.3 0-.1 0-.2-.1-.3zm.1 2.5c0-.2-.2-.4-.5-.4h-3.4c-.8 0-1.4-.7-1.4-1.5V4.2c0-.3-.2-.5-.5-.5H6.1c-.8 0-1.4.6-1.4 1.4v11.5c0 .8.6 1.5 1.4 1.5H11s.5-.3.4-.7-.1-2.2 1.1-3.6 3.1-1.4 3.4-1.4c.3 0 .8-.1.8-.5V9.4zM6.4 6.7l1.1-.2h.1l.5-1.1c.1-.1.2-.1.2 0l.6 1.1 1.2.2c.1 0 .1.1.1.2l-.9.8v.1L9.5 9s-.1.1-.2.1l-1-.6h-.1l-1.1.6C7 9.1 6.9 9 7 9l.2-1.2s0-.1-.1-.1l-.8-.8c-.1-.1 0-.2.1-.2zm4.3 8c0 .3-.2.5-.5.5H7.1c-.3 0-.5-.2-.5-.5v-.5c0-.2.2-.4.5-.4h3.1c.3 0 .5.2.5.4v.5zm2.6-2.9c0 .3-.2.5-.5.5H7.1c-.3 0-.5-.2-.5-.5v-.4c0-.3.2-.5.5-.5h5.7c.3 0 .5.2.5.5v.4zm2.6 1.7c-1.9 0-3.4 1.5-3.4 3.4s1.5 3.5 3.4 3.5 3.4-1.6 3.4-3.5-1.5-3.4-3.4-3.4zm.6 3.7h-.3l-1.3 1.3c-.1.1-.2.1-.3.1-.1 0-.2 0-.3-.1-.1-.2-.1-.4 0-.6l1.3-1.3v-.3c0-.6.4-1.1 1-1.1h.3c.1 0 .1.1 0 .1l-.5.6c-.1 0-.1.1 0 .2l.4.4h.1l.6-.6h.1c0 .1.1.2.1.3-.1.6-.6 1.1-1.2 1z"}},service_crew:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.4 12.3h-.9v-1c0-1.5-.8-2.7-1.9-3.3v1.8c0 1-.8 1.8-1.7 1.8s-1.8-.8-1.8-1.8V8c-1.1.6-2 1.8-2 3.2v1.1h-.8c-.3 0-.5.2-.5.5s.2.5.5.5h9.1c.3 0 .5-.2.5-.5s-.2-.5-.5-.5zm-4.5-1.8c.4 0 .7-.3.7-.7V7.6H9.2v2.2c0 .4.3.7.7.7zM9.9 18.6c-2.2 0-3.9-1.9-3.9-4.3h1c0 1.8 1.3 3.3 2.9 3.3s2.9-1.5 2.9-3.3h.9c0 2.4-1.7 4.3-3.8 4.3zm5.8-11c.2 0 .5-.3.5-.5V5.5c-.2 0-.4-.1-.5-.1-.2 0-.3.1-.5.1v1.6c0 .2.2.5.5.5zm-.1 6.2v-1c1.1 0 1.9-.9 1.9-2.1h1c0 1.7-1.3 3.1-2.9 3.1zm3.1-5.1h-.5V8c0-.9-.5-1.8-1.3-2.2v1.3c0 .6-.6 1.2-1.2 1.2-.7 0-1.2-.6-1.2-1.2V5.7c-.8.4-1.4 1.3-1.4 2.2.5.5.8 1.1 1.1 1.8h4.5c.3 0 .5-.2.5-.5s-.2-.5-.5-.5z"}},service_crew_member:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.6 10.9h-1.4V9.4c0-2-1.1-3.7-2.7-4.6v2.6c0 1.4-1.1 2.5-2.5 2.5S9.6 8.8 9.6 7.4V4.8c-1.7.8-2.9 2.6-2.9 4.6v1.5H5.4c-.3 0-.6.3-.6.7v.1c0 .4.2.7.6.7h13.1c.4 0 .7-.3.7-.7v-.1c0-.4-.3-.7-.6-.7zM12 8.4c.6 0 1-.4 1-1V4.3c-.3-.1-.6-.1-1-.1-.3 0-.6 0-1 .1v3.1c0 .6.5 1 1 1zM12 19.8c-3 0-5.5-2.7-5.5-6h1.4c0 2.5 1.8 4.6 4.1 4.6s4.1-2.1 4.1-4.6h1.4c0 3.3-2.5 6-5.5 6z"}},service_report:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M17.2 6h-.4a.2.2 0 0 0-.3.2v1a1.9 1.9 0 0 1-1.9 1.9H9.4a1.9 1.9 0 0 1-1.9-1.9v-1a.2.2 0 0 0-.3-.2h-.4a1.4 1.4 0 0 0-1.5 1.4v10.4a1.4 1.4 0 0 0 1.5 1.4h10.4a1.4 1.4 0 0 0 1.5-1.4V7.4A1.4 1.4 0 0 0 17.2 6zm-6.9 9.8a.5.5 0 0 1-.4.5h-.5a.5.5 0 0 1-.5-.5v-2.4a.5.5 0 0 1 .5-.4h.5a.5.5 0 0 1 .4.4zm2.4 0a.5.5 0 0 1-.5.5h-.4a.5.5 0 0 1-.5-.5v-4.5a.5.5 0 0 1 .5-.5h.4a.5.5 0 0 1 .5.5zm2.4 0a.5.5 0 0 1-.5.5h-.5a.5.5 0 0 1-.4-.5v-3.6a.5.5 0 0 1 .4-.4h.5a.5.5 0 0 1 .5.4zM9.4 7.7h5.2a.5.5 0 0 0 .5-.5v-1a1.4 1.4 0 0 0-1.4-1.4h-3.4a1.4 1.4 0 0 0-1.4 1.4v1a.5.5 0 0 0 .5.5z","fill-rule":"evenodd"}},service_resource:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M17.2 4.8H6.8a1.9 1.9 0 0 0-2 1.9v10.6a1.9 1.9 0 0 0 2 1.9h2.6c.3-1.1 1.5-1.7 2.9-2.3 1-.4 1.2-.8 1.2-1.2s-.3-.8-.7-1.2a2.7 2.7 0 0 1-.9-2.1c0-1.6 1.1-3 2.9-3s2.9 1.4 2.9 3a2.9 2.9 0 0 1-1 2.1c-.3.4-.6.8-.6 1.2s.1.8 1.2 1.2a10 10 0 0 1 1.8 1 1.7 1.7 0 0 0 .1-.6V6.7c0-1-.9-1.9-2-1.9zM11.4 8a.7.7 0 0 1-.6.7H7.4a.7.7 0 0 1-.7-.7v-.7a.7.7 0 0 1 .7-.6h3.4a.7.7 0 0 1 .6.6z","fill-rule":"evenodd"}},service_territory:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M13.6 14.9a1.8 1.8 0 0 1-1.8-1.7 1.7 1.7 0 0 1 1.8-1.8 1.7 1.7 0 1 1 0 3.5zm3.6-10.1H6.8a1.9 1.9 0 0 0-2 1.9v10.6a1.9 1.9 0 0 0 2 1.9h5.8c-1.2-1.1-3.2-3.3-3.2-5.6a4.2 4.2 0 0 1 8.3 0c0 2.3-2.1 4.5-3.3 5.6h2.8a1.9 1.9 0 0 0 2-1.9V6.7c0-1-.9-1.9-2-1.9zM11.4 8a.7.7 0 0 1-.6.7H7.4a.7.7 0 0 1-.7-.7v-.7a.7.7 0 0 1 .7-.6h3.4a.7.7 0 0 1 .6.6z","fill-rule":"evenodd"}},service_territory_location:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M15.9 14.3c-.5 0-.9-.4-.9-1 0-.5.4-.9.9-.9s.9.4 1 .9c0 .5-.5 1-1 1zm-4.5 0c-.6 0-1-.4-1-1 0-.5.4-.9 1-.9s.9.4.9.9-.4 1-.9 1zm2.2 0c-.5 0-.9-.4-.9-1 0-.5.4-.9.9-.9s1 .4 1 .9-.4 1-1 1zm3.6-9.5H6.7c-1 0-1.9.9-1.9 1.9v10.7c0 1 .9 1.9 1.9 1.8h5.9c-1.2-1-3.3-3.3-3.3-5.6s1.9-4.1 4.2-4.1c2.3 0 4.1 1.8 4.1 4.1 0 2.4-2 4.6-3.2 5.6h2.8c1.1 0 1.9-.8 2-1.8V6.7c0-1-.9-1.9-2-1.9zM11.4 8c-.1.4-.4.7-.7.7H7.3c-.4 0-.7-.3-.7-.7v-.6c0-.4.3-.7.7-.7h3.4c.3 0 .7.3.7.7V8z"}},service_territory_member:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M10.3 10.1A1.7 1.7 0 0 1 12 8.4a1.7 1.7 0 1 1-1.7 1.7zM12 4.8a6.1 6.1 0 1 0 6 6.1c0-3.3-2.7-6.1-6-6.1zm.2 10.5a.3.3 0 0 1-.4 0c-.8-.5-3.3-2.8-3.3-5.1a3.5 3.5 0 0 1 7 0c0 2.3-2.5 4.5-3.3 5.1zm-6 .1h-.3a1.1 1.1 0 0 0-1.1 1.1v1.6a1.1 1.1 0 0 0 1.1 1.1h12.2a1.1 1.1 0 0 0 1.1-1.1v-1.6a1.1 1.1 0 0 0-1.1-1.1h-.4a7.2 7.2 0 0 1-11.5 0z","fill-rule":"evenodd"}},shift:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.3 6.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5zm.9 3.9H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zM12 18.2c-2 0-3.6-1.6-3.6-3.6s1.6-3.5 3.6-3.5 3.6 1.6 3.6 3.5-1.6 3.6-3.6 3.6zm-.6-2.1s-.1 0-.2-.1L10 14.8v-.2l.3-.3h.2l.9 1 2.1-2.1h.2l.3.3v.2L11.7 16c-.1.1-.2.1-.3.1z"}},shift_type:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.3 6.2h-1.2v-.4c0-.6-.5-1-1-1s-.9.4-.9 1v.4H9.8v-.4c0-.6-.4-1-.9-1s-1 .4-1 1v.4H6.7c-.8 0-1.4.7-1.4 1.5v.5c0 .2.2.4.5.4h12.4c.3 0 .5-.2.5-.4v-.5c0-.8-.6-1.5-1.4-1.5zm.9 3.9H5.8c-.3 0-.5.2-.5.5v7.2c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4v-7.2c0-.3-.2-.5-.5-.5zm-8 4.3c0-.2.1-.3.2-.3h4.7c.1 0 .2.1.2.3v.5c0 .1-.1.3-.2.3h-4.7c-.1 0-.2-.2-.2-.3v-.5zm-1.1 2.9c0 .1-.1.2-.3.2h-.5c-.2 0-.3-.1-.3-.2v-.5c0-.2.1-.3.3-.3h.5c.2 0 .3.1.3.3v.5zm0-2.4c0 .1-.1.3-.3.3h-.5c-.2 0-.3-.2-.3-.3v-.5c0-.2.1-.3.3-.3h.5c.2 0 .3.1.3.3v.5zm0-2.4c0 .2-.1.3-.3.3h-.5c-.2 0-.3-.1-.3-.3V12c0-.1.1-.3.3-.3h.5c.2 0 .3.2.3.3v.5zm6.9 4.8c0 .1-.1.2-.3.2h-5.3c-.1 0-.2-.1-.2-.2v-.5c0-.2.1-.3.2-.3h5.3c.2 0 .3.1.3.3v.5zm0-4.8c0 .2-.1.3-.3.3h-5.3c-.1 0-.2-.1-.2-.3V12c0-.1.1-.3.2-.3h5.3c.2 0 .3.2.3.3v.5z"}},shipment:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M12.7 12.9v5.8c0 .2.1.3.3.3 0 0 .1 0 .1-.1 1.1-.6 4.6-2.6 4.6-2.6.5-.3.8-.7.8-1.3V9.8c0-.2-.1-.3-.3-.3 0 0-.1 0-.1.1L13 12.5c-.2 0-.3.2-.3.4zm-.5-1.7l5.2-2.9c.1 0 .2-.2.1-.3l-.1-.1c-1.1-.6-4.7-2.6-4.7-2.6-.4-.3-1-.3-1.4 0 0 0-3.6 1.9-4.7 2.6-.1.1-.2.2-.1.4h.1l5.2 2.9c.1.1.3.1.4 0zM11 12.5L5.9 9.6c-.1-.1-.3-.1-.4 0V15c0 .5.3 1 .8 1.3 0 0 3.5 2 4.6 2.6.1.1.3 0 .4-.1V12.9c0-.2-.1-.4-.3-.4z"}},skill:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M10.5 11.2a1.3 1.3 0 1 1 1.3-1.3 1.3 1.3 0 0 1-1.3 1.3zm8.1 2.2l-1.8-2.6v-.2a5.8 5.8 0 0 0-5.7-5.8 5.3 5.3 0 0 0-1.4.2 5.7 5.7 0 0 0-4.3 5.6 5.3 5.3 0 0 0 .8 3c1 1.4 1.7 2.6 1.3 4.2a1.1 1.1 0 0 0 .2 1 1.1 1.1 0 0 0 .9.4h4.7a1.1 1.1 0 0 0 1.1-.9 1.2 1.2 0 0 0 0-.3.6.6 0 0 1 .6-.5h.4a1.1 1.1 0 0 0 1.1-.8 9.9 9.9 0 0 0 .3-2.3h1.3a.7.7 0 0 0 .5-.4.7.7 0 0 0 0-.6zm-4.8-2l-.2.3a.5.5 0 0 1-.5.3.6.6 0 0 1-.1-.1l-.7-.2a2.8 2.8 0 0 1-.9.5l-.1.7a.5.5 0 0 1-.5.4h-.5a.5.5 0 0 1-.5-.4l-.1-.7a2.4 2.4 0 0 1-.9-.5l-.6.3a.6.6 0 0 1-.2 0 .5.5 0 0 1-.4-.2l-.3-.4a.5.5 0 0 1 .2-.6l.5-.5a2.4 2.4 0 0 1 0-.5 2.3 2.3 0 0 1 0-.5l-.5-.4a.5.5 0 0 1-.2-.7l.3-.3a.5.5 0 0 1 .4-.3.6.6 0 0 1 .2.1l.7.2a2.8 2.8 0 0 1 .8-.5l.1-.7a.5.5 0 0 1 .5-.4h.5a.5.5 0 0 1 .5.4l.1.7a2.7 2.7 0 0 1 .9.5l.7-.3a.6.6 0 0 1 .1 0 .5.5 0 0 1 .5.2l.2.4a.5.5 0 0 1-.1.6l-.6.5a2.3 2.3 0 0 1 .1.5 2.3 2.3 0 0 1-.1.5l.6.4a.5.5 0 0 1 .1.7z","fill-rule":"evenodd"}},skill_entity:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.6 13.4l-1.8-2.6v-.2c0-3.2-2.6-5.8-5.8-5.8-.4 0-.9 0-1.3.2-2.6.5-4.4 2.9-4.4 5.6 0 1.1.3 2.2.8 3 1.1 1.4 1.7 2.6 1.3 4.2-.1.3 0 .7.2 1 .2.3.6.4.9.4h4.7c.6 0 1.1-.4 1.2-.9V18c.1-.3.3-.5.6-.5h.3c.6 0 1-.3 1.2-.8.1-.5.3-1.3.3-2.3h1.3c.2 0 .4-.2.5-.4.1-.2.1-.5 0-.6zm-3.9-3.3c-.2.3-.5.5-1.1.5-2.9 0-3.2 2.1-3.2 3.2 0 .4-.3.8-.8.8h-.1c-.4 0-.7-.2-.8-.7-.1-.4-.4-.6-.7-.8-.2-.2-.4-.3-.5-.5-.3-.6-.5-1.2-.5-2.1C7 8.7 8.3 7 10 6.6c.4 0 .7-.1 1-.1 1.6 0 3.1 1 3.7 2.5.1 0 .3.6 0 1.1z"}},skill_requirement:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M12 13.9a1.6 1.6 0 1 1 1.6-1.6 1.6 1.6 0 0 1-1.6 1.6zm7.4-2.7h-1.3V6.4a1.6 1.6 0 0 0-1.7-1.6H7.6a1.6 1.6 0 0 0-1.7 1.6v4.8H4.6a.8.8 0 0 0 0 1.6h1.3v4.8a1.6 1.6 0 0 0 1.7 1.6h8.8a1.6 1.6 0 0 0 1.7-1.6v-4.8h1.3a.8.8 0 0 0 0-1.6zM16 14.3l-.3.4a.6.6 0 0 1-.5.3.7.7 0 0 1-.2 0l-.8-.3a3.4 3.4 0 0 1-1.1.6l-.1.9a.6.6 0 0 1-.6.5h-.6a.6.6 0 0 1-.6-.5l-.1-.9a2.9 2.9 0 0 1-1.1-.6l-.8.3a.7.7 0 0 1-.2.1.6.6 0 0 1-.6-.3l-.2-.5a.6.6 0 0 1 .1-.8l.7-.6a3.2 3.2 0 0 1-.1-.6 3 3 0 0 1 .1-.6l-.7-.6a.6.6 0 0 1-.1-.8l.2-.5a.6.6 0 0 1 .6-.3.7.7 0 0 1 .2.1l.8.3a3.3 3.3 0 0 1 1.1-.7l.1-.8a.6.6 0 0 1 .6-.5h.6a.6.6 0 0 1 .6.5l.1.8a3.3 3.3 0 0 1 1.1.6l.8-.3a.7.7 0 0 1 .2 0 .6.6 0 0 1 .5.3l.3.5a.6.6 0 0 1-.1.8l-.7.5a3 3 0 0 1 .1.7 3 3 0 0 1-.1.6l.7.6a.6.6 0 0 1 .1.8z","fill-rule":"evenodd"}},sms:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M11.8 5.2c-4.1 0-7.3 2.9-7.3 6.6 0 1.2.3 2.3.9 3.3.1.1.1.3.1.5l-1 2.6c-.1.2.2.4.4.4l2.7-1c.1-.1.3 0 .5.1 1.1.6 2.4.9 3.8.9 3.9 0 7.2-3 7.2-6.7 0-3.8-3.3-6.7-7.3-6.7zM8.9 13c-.1.1-.2.3-.4.4-.1.1-.2.2-.4.2-.2.1-.3.1-.5.1-.3 0-.5 0-.7-.1-.2-.1-.4-.3-.6-.4l-.1-.1s0-.1.1-.2l.5-.4c.1-.1.1-.1.1 0 .1 0 .1.1.1.1.1 0 .2.1.2.2.2.1.4.1.5 0h.2l.1-.1v-.1c0-.2 0-.2-.1-.2-.1-.1-.1-.2-.2-.2-.2 0-.3-.1-.5-.1-.1-.1-.3-.1-.4-.2l-.3-.3c-.1-.2-.2-.4-.2-.6 0-.2.1-.4.2-.6s.1-.2.3-.3c.1-.1.3-.2.4-.2.4-.1.8-.1 1.2 0 .1.1.3.2.4.2l.1.1c.1 0 0 .1 0 .2l-.5.4c0 .1-.1.1-.2 0h-.1c-.2-.1-.4-.2-.6-.1h-.1v.1c-.1 0-.1.1-.1.1 0 .1.1.1.1.2.1 0 .2.1.3.1.1 0 .2.1.4.1.1.1.3.1.4.2.2.1.3.2.4.4.1.1.1.3.1.5s0 .4-.1.6zm5 .4c0 .2-.1.3-.3.3h-.3c-.2 0-.3-.1-.3-.3v-1.8c0-.2-.2-.2-.3-.1l-.5 1.4c-.1.1-.2.2-.3.2h-.2c-.1 0-.3-.1-.3-.2l-.5-1.4c-.1-.1-.3-.1-.3.1v1.8c0 .2-.2.3-.4.3h-.3c-.2 0-.3-.1-.3-.3V10c0-.2.2-.3.3-.3h.8c.1 0 .2.1.3.2l.6 1.6c0 .1.2.1.2 0l.6-1.6c.1-.1.2-.2.3-.2h.8c.2 0 .3.1.3.3.1 0 .1 3.4.1 3.4zm3.2-.4c-.1.1-.2.3-.3.4-.1.1-.3.2-.5.2-.2.1-.3.1-.5.1s-.5 0-.7-.1-.4-.2-.6-.4v-.1c-.1 0 0-.1 0-.1l.5-.5c.1-.1.1-.1.2 0s0 .1 0 .1c.1.1.2.1.3.2.1.1.3.1.5.1 0-.1.1-.1.1-.1l.1-.1v-.1-.2c-.1-.1-.2-.1-.3-.2-.1 0-.3-.1-.4-.1-.2-.1-.3-.1-.5-.2l-.3-.3c-.1-.2-.2-.3-.2-.6 0-.2.1-.4.2-.5.1-.2.2-.3.3-.4.1-.1.3-.2.5-.2.3-.1.7-.1 1.1 0 .2.1.3.2.4.3l.1.1c.1 0 0 .1 0 .2l-.5.4c0 .1-.1.1-.2 0-.1 0-.1-.1-.1-.1-.1-.1-.4-.1-.6-.1l-.1.1-.1.1v.1c0 .1 0 .1.1.2 0 0 .1.1.2.1.2 0 .3.1.4.1.2.1.4.1.5.2.1.1.2.2.3.4.1.1.2.3.2.5.1.1 0 .3-.1.5z"}},snippet:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M17.8 5.7c-2.9 0-5.1 2.3-5.1 5.2v6.9c0 .2.2.5.5.5h5.4c.3 0 .5-.3.5-.5v-5.5c0-.3-.2-.5-.5-.5h-4v-.9c0-1.6 1.6-3.2 3.2-3.2h.8c.3 0 .5-.3.5-.5v-1c0-.2-.2-.5-.5-.5h-.8zm-8 0c-2.9 0-5.1 2.3-5.1 5.2v6.9c0 .2.2.5.5.5h5.4c.3 0 .5-.3.5-.5v-5.5c0-.3-.2-.5-.5-.5h-4v-.9c0-1.6 1.6-3.2 3.2-3.2h.9c.2 0 .4-.3.4-.5v-1c0-.2-.2-.5-.4-.5h-.9z"}},snippets:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.2 6h-.4c-.2 0-.3.1-.3.3v.9c0 1.1-.9 1.9-1.9 1.9H9.4c-1.1 0-1.9-.8-1.9-1.9v-.9c0-.2-.1-.3-.3-.3h-.4c-.8 0-1.4.7-1.4 1.5v10.2c0 .8.6 1.4 1.4 1.4h10.4c.8 0 1.4-.6 1.4-1.4V7.5c.1-.8-.6-1.5-1.4-1.5zm-6.6 5.5s0 .2-.1.2c-.2.1-.3.1-.3.1-.1.1-.1.2-.1.4v.8c0 .2 0 .5-.1.6-.1.2-.2.3-.3.4 0 0-.1.1 0 .3.1 0 .2.1.2.2.1.2.2.4.2.7v.9c0 .2.1.3.1.4h.2v.1c.1 0 .2.1.2.2v.5c0 .1 0 .1-.2.1h-.2c-.3 0-.6-.1-.9-.3-.3-.2-.4-.5-.4-.9v-1c0-.2-.1-.4-.2-.5-.1-.1-.2-.1-.4-.2 0 0-.1 0-.1-.2v-.4s0-.1.1-.1c.2-.1.3-.2.4-.2.1-.1.2-.3.2-.6v-.8-.4c.1-.3.2-.5.4-.6.2-.2.4-.3.6-.3.1 0 .3-.1.5-.1.1 0 .2.1.2.3v.4zm5.2 2.9s0 .1-.1.1c-.3.1-.4.2-.4.2-.1.2-.2.3-.2.6v.9c0 .1 0 .2-.1.4 0 .2-.2.4-.3.6-.2.1-.4.2-.6.2-.1 0-.3.1-.5.1-.1 0-.2-.1-.2-.2v-.5s0-.2.1-.2c.2-.1.3-.1.3-.1.1-.1.1-.2.1-.4v-.8c0-.2 0-.4.1-.6.1-.1.2-.3.3-.3 0 0 .1-.2 0-.4-.1 0-.2-.1-.2-.2-.1-.1-.2-.4-.2-.7v-.8c0-.2-.1-.3-.1-.4 0 0-.1 0-.2-.1-.1 0-.2-.1-.2-.3V11c0-.1 0-.1.2-.1h.2c.3 0 .6.1.9.3.3.2.4.5.4.9v1c0 .2.1.4.2.5.1.1.2.2.4.2 0 0 .1 0 .1.2v.4zM9.4 7.7h5.2c.3 0 .5-.2.5-.5v-.9c0-.8-.7-1.4-1.4-1.4h-3.4c-.7 0-1.4.6-1.4 1.4v.9c0 .3.2.5.5.5z"}},sobject:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6 5.4h1.2c-1.4 3.2-1.4 5.6 0 8.9H6c-1.6-3.7-1.6-5.2 0-8.9zm5.3 5.5c.1.6.2 1 .3 1.2.1.3.2.5.4.6.5-.3 1-.5 1.6-.5.4 0 .8.1 1.1.2.1 0 .1-.1.1-.2 0-.3-.2-.6-.5-.6-.1 0-.2.1-.3.1 0 0-.5.3-.7.1-.2-.3-.3-.7-.4-1.1-.1-.4-.2-.9-.3-1.3l.6-.9s.7.3 1 .3 1-.3 1-1.2c0-.9-.6-.9-.8-.9-.4 0-.8.3-1.1.9-.4.6-.7 1.2-.7 1.2h-.1c-.1-.4-.1-.8-.2-.9 0-.4-.5-1.2-1.3-1.2-.9 0-1.7.5-1.7.5-.2.1-.3.3-.3.5 0 .3.3.5.6.5h.2s.7-.4.8 0c.1.1.1.2.2.3.1.6.3 1.3.4 1.9l-.6.9s-.6-.3-1-.3c-.3 0-1 .3-1 1.2 0 .9.7.9.9.9.4 0 .7-.3 1.1-.9.3-.6.7-1.3.7-1.3zm6 1.9v.1c.1 0 .2-.1.3-.1.3 0 .6.1.9.2 1.1-2.8.9-4.4-.6-7.6h-1.2c1.3 2.8 1.4 4.9.6 7.4zm-2.5 1.1c.2-.2.6-.4 1-.4.5 0 .9.3 1.1.7.2-.1.5-.1.7-.1.9 0 1.6.7 1.6 1.6 0 .9-.7 1.6-1.6 1.6h-.3c-.2.3-.6.6-1 .6-.2 0-.4-.1-.6-.2-.2.5-.7.9-1.2.9-.6 0-1.1-.4-1.3-.9H13c-.7 0-1.3-.5-1.3-1.2 0-.5.2-.9.6-1.1-.1-.2-.1-.4-.1-.6 0-.8.7-1.4 1.5-1.4.4 0 .8.2 1.1.5z"}},sobject_collection:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.3 8.8c-1 2.2-1 3.2 0 5.5h.8c-.9-2.1-.9-3.5-.1-5.5h-.7zm7.1 4.3h.8c.5-1.6.4-2.5-.5-4.4H15c.7 1.6.8 2.9.4 4.4zm-4.5 2.7H6.6c-.3 0-.6-.2-.6-.6v-8h12v6.4c.4.1.8.2 1.2.4V6c0-.6-.6-1.2-1.2-1.2H6c-.6 0-1.2.6-1.2 1.2v9.8c0 .7.6 1.3 1.2 1.3h4.5c.1-.5.2-.9.4-1.3zm4-1.1c.2-.3.6-.4.9-.4.5 0 1 .2 1.2.6.2 0 .4-.1.7-.1.9 0 1.6.7 1.6 1.6 0 .9-.7 1.6-1.6 1.6h-.3c-.2.3-.6.6-1.1.6-.1 0-.3-.1-.5-.1-.2.4-.7.8-1.2.8-.6 0-1.1-.4-1.3-.9H13c-.7 0-1.2-.5-1.2-1.2 0-.5.2-.9.6-1.1-.1-.2-.1-.4-.1-.6 0-.8.6-1.4 1.4-1.4.5 0 .9.2 1.2.6zm-3.7-1.8c.2-.3.4-.7.4-.7.1.3.1.6.2.7.1.2.2.4.4.5.4-.3 1-.5 1.5-.5h.1c0-.2-.1-.3-.3-.3h-.2s-.3.2-.5 0c-.1-.1-.1-.3-.2-.6 0-.3-.1-.6-.1-.8l.3-.6s.4.2.6.2.6-.2.6-.7-.3-.6-.5-.6-.4.1-.7.5l-.4.8c-.1-.3-.1-.5-.1-.6-.1-.2-.3-.7-.9-.7-.5 0-1 .3-1 .3-.1 0-.2.2-.2.3 0 .2.2.3.4.3h.1s.4-.2.5 0c.1.1.1.1.1.2l.3 1.2-.4.5s-.4-.2-.6-.2-.6.2-.6.8.4.5.5.5c.2.1.5-.1.7-.5z"}},social:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.8 13.7c-1.2 0-2.1.8-2.4 1.9h-3.1c-.2 0-.3.1-.3.3V16.8c-.1.1.1.2.2.2h3.4c.4.9 1.2 1.5 2.2 1.5 1.3 0 2.4-1.1 2.4-2.4s-1.1-2.4-2.4-2.4zm-6.4-2.8c-.3-.1-.6-.3-.8-.5-.1-.1-.3 0-.4.1l-1.7 3.2h-.3c-1.3 0-2.4 1.1-2.4 2.4s1.1 2.4 2.4 2.4 2.4-1.1 2.4-2.4c0-.7-.3-1.3-.7-1.8l1.6-3c.1-.2 0-.3-.1-.4zM12 9.8c.2 0 .5 0 .7-.1l1.6 3.1c.1.1.2.2.4.1.2-.2.5-.3.8-.4.1-.1.2-.2.1-.4l-1.7-3.2c.3-.4.5-.9.5-1.5C14.4 6.1 13.3 5 12 5S9.6 6.1 9.6 7.4s1.1 2.4 2.4 2.4z"}},solution:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.4 4.8C9.1 5.1 7.2 6.9 7 9.2c-.2 1.7.6 3.3 1.8 4.2.3.3.6.8.6 1.2 0 .7.5 1.3 1.2 1.3h2.8c.7 0 1.2-.6 1.2-1.3 0-.4.3-.9.6-1.2 1.1-.9 1.8-2.2 1.8-3.7 0-2.9-2.5-5.2-5.6-4.9zm2.8 12.5H9.8c-.2 0-.4.2-.4.5 0 .8.6 1.4 1.4 1.4h2.4c.8 0 1.4-.6 1.4-1.4 0-.3-.2-.5-.4-.5z"}},sort:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.2 9c.2-.1.2-.4 0-.6L8.8 5c-.2-.2-.5-.2-.6 0L4.7 8.4c-.1.2-.1.5 0 .6l.7.7c.1.1.4.1.6 0l1.1-1.1c.1-.2.5-.1.5.2v6.3c0 .3.2.5.4.5h.9c.2 0 .5-.2.5-.5V8.8c0-.3.3-.4.5-.2l1 1.1c.2.1.5.1.7 0l.6-.7zm6.6 6l-.6-.6c-.2-.1-.5-.1-.7 0l-1 1.1c-.2.2-.5.1-.5-.2V8.9c0-.2-.3-.5-.5-.5h-.9c-.2 0-.4.3-.4.5v6.3c0 .3-.4.4-.5.3l-1.1-1.1c-.2-.2-.5-.2-.6 0l-.7.6c-.1.2-.1.5 0 .6l3.5 3.5c.1.1.4.1.6 0l3.4-3.5c.2-.1.2-.4 0-.6z"}},sossession:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.9 4.3c-4.2.1-7.6 3.6-7.6 7.8.1 4.2 3.6 7.6 7.8 7.6 4.2-.1 7.6-3.6 7.6-7.8-.1-4.2-3.6-7.6-7.8-7.6zm0 1c1.2 0 2.2.3 3.2.8L14 7.8c-.6-.3-1.3-.5-2-.5s-1.4.2-2 .5L8.9 6.1c.9-.5 1.9-.8 3-.8zM7.8 14l-1.7 1.1c-.5-.9-.8-1.9-.8-3 0-1.2.3-2.3.8-3.2l1.7 1c-.3.7-.5 1.4-.5 2.1s.2 1.4.5 2zm4.3 4.7c-1.2 0-2.2-.3-3.2-.8l1.1-1.7c.6.3 1.3.5 2 .5s1.4-.2 2-.5l1.1 1.7c-.9.5-1.9.8-3 .8zm-.1-3c-2 0-3.7-1.7-3.7-3.7S10 8.3 12 8.3s3.7 1.7 3.7 3.7-1.7 3.7-3.7 3.7zm4.2-1.7c.3-.6.5-1.3.5-2s-.2-1.4-.5-2l1.7-1.1c.5.9.8 1.9.8 3 0 1.2-.3 2.3-.8 3.2L16.2 14z"}},stage:{xmlns:"http://www.w3.org/2000/svg",circle:[{cx:"18.216",cy:"12",r:"1.008"},{cx:"11.952",cy:"12",r:"1.008"},{cx:"5.784",cy:"12",r:"1.008"}],path:{d:"M7.7 12c0 2.4 1.9 4.3 4.3 4.3s4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3S7.7 9.6 7.7 12zm7.2 0c0 1.6-1.3 2.9-2.9 2.9S9.1 13.6 9.1 12s1.3-2.9 2.9-2.9 2.9 1.3 2.9 2.9z"}},stage_collection:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"11.952",cy:"12",r:"1.008"},path:{d:"M18.2 11c-.3 0-.7.2-.8.5h-1.1C16 9.3 14.2 7.7 12 7.7s-4.1 1.6-4.3 3.8H6.6c-.1-.3-.5-.5-.8-.5-.6 0-1 .4-1 1s.4 1 1 1c.3 0 .7-.2.8-.5h1.1c.3 2.2 2.1 3.8 4.3 3.8 2.2 0 4-1.6 4.2-3.7h1.1c.2.2.5.4.9.4.5 0 1-.4 1-1s-.4-1-1-1zM12 14.9c-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"}},steps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.5 19.3h-2.1v-1.5h2.1v1.5zm0-.7zm-4.2.7h-2.1v-1.5h2.1v1.5zm-4.2 0H7v-1.5h2.1v1.5zm-2.8-1.8H4.8v-2.1h1.5v2.1zm12.9-.5h-1.5v-2.1h1.5V17zM6.3 13.3H4.8v-2.1h1.5v2.1zm12.9-.5h-1.5v-2.1h1.5v2.1zM6.3 9.1H4.8V7h1.5v2.1zm12.9-.5h-1.5V6.5h1.5v2.1zM17 6.2h-2.1V4.7H17v1.5zm-4.2 0h-2.1V4.7h2.1v1.5zm-4.2 0H6.5V4.7h2.1v1.5z"}},store:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.2 13.1h-.1c-.5-.1-.9-.2-1.3-.5-.2-.2-.3-.1-.4-.1v.1c-.5.3-1 .5-1.6.5-.6 0-1.2-.2-1.6-.6-.2-.1-.3 0-.3 0-.5.4-1.1.6-1.7.6-.6 0-1.1-.2-1.6-.5v-.1c-.2-.1-.3 0-.3 0-.5.4-1 .6-1.6.6 0 0-.1 0-.1.2v4.5c0 .1 0 .3.3.3h5.6c.2 0 .3-.2.3-.3v-3.2c0-.1.1-.2.3-.2h2.7c.1 0 .2.1.2.3v3c0 .3.2.4.3.4h.8c.1 0 .3-.1.3-.4v-4.3c0-.3-.1-.3-.2-.3zm-6 3.4v.1c0 .1-.1.3-.4.3H8.4c-.3 0-.4-.1-.4-.2v-1.8c0-.5.2-.5.3-.5h2.6c.1 0 .3.1.3.4v1.7zm5.7-4.6c.6.1 1.2 0 1.7-.5.3-.2.5-.6.6-1v-.1c-.1-.1-.2-.3-.2-.4L16.9 6c-.1-.1-.3-.1-.4-.1H7.4s-.3 0-.4.1c-.7 1.3-1.4 2.7-2.1 3.9 0 .1-.1.3-.1.5 0 .4.2.8.6 1.1.5.5 1.1.6 1.8.3.4-.1.7-.4.9-.7l.1-.1c.2-.1.3-.1.5.1.1.2.2.3.4.5.5.4 1.1.4 1.7.2.4-.1.7-.4.9-.7.1-.2.4-.2.6 0l.1.2c.3.4.7.6 1.2.6.4.1.8 0 1.2-.3.2-.1.4-.3.5-.5.1-.2.4-.2.5 0 .3.4.6.6 1 .7l.1.1z"}},store_group:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.5 10.8h-4.1c-.4 0-.6.4-.6.7 0 .1 0 .2.2.2h5c.1 0 .2-.1.2-.2 0-.3-.3-.7-.7-.7zm0 1.6h-4.1c-.1 0-.2.1-.2.2v4.8c0 .1.1.2.2.2h1.3c.1 0 .2-.1.2-.2v-.9c0-.1.1-.2.3-.2h.6c.1 0 .2.1.2.2v.9c0 .1.1.2.3.2h1.2c.1 0 .2-.1.2-.2v-4.7c0-.2-.1-.3-.2-.3zm-2.4 3.1c0 .1-.1.2-.2.2h-.4c-.2 0-.3-.1-.3-.2V15c0-.1.1-.2.3-.2h.4c.1 0 .2.1.2.2v.5zm0-1.6c0 .1-.1.2-.2.2h-.4c-.2 0-.3-.1-.3-.2v-.4c0-.2.1-.3.3-.3h.4c.1 0 .2.1.2.3v.4zm1.6 1.6c0 .1-.1.2-.2.2H17c-.1 0-.2-.1-.2-.2V15c0-.1.1-.2.2-.2h.5c.1 0 .2.1.2.2v.5zm0-1.6c0 .1-.1.2-.2.2H17c-.1 0-.2-.1-.2-.2v-.4c0-.2.1-.3.2-.3h.5c.1 0 .2.1.2.3v.4zm-5-7.6H5.9c-.6 0-1.1.5-1.1 1.1v.1c0 .2.2.3.4.3h8.3c.2 0 .4-.1.4-.3v-.1c-.1-.5-.6-1.1-1.2-1.1zm0 2.7H5.9c-.2 0-.4.1-.4.4v7.9c0 .2.2.4.4.4H8c.2 0 .4-.2.4-.4v-1.5c0-.2.2-.4.4-.4h1.1c.2 0 .3.2.3.4v1.5c0 .2.2.4.4.4h2.1c.2 0 .4-.2.4-.4V9.4c0-.3-.2-.4-.4-.4zm-3.9 5.1c0 .2-.2.3-.4.3h-.8c-.2 0-.4-.1-.4-.3v-.8c0-.2.2-.4.4-.4h.8c.2 0 .4.2.4.4v.8zm0-2.7c0 .2-.2.4-.4.4h-.8c-.2 0-.4-.2-.4-.4v-.7c0-.2.2-.4.4-.4h.8c.2 0 .4.2.4.4v.7zm2.6 2.7c0 .2-.2.3-.4.3h-.7c-.2 0-.4-.1-.4-.3v-.8c0-.2.2-.4.4-.4h.7c.2 0 .4.2.4.4v.8zm0-2.7c0 .2-.2.4-.4.4h-.7c-.2 0-.4-.2-.4-.4v-.7c0-.2.2-.4.4-.4h.7c.2 0 .4.2.4.4v.7z"}},strategy:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M18.3 9.8h-2.5c-.5 0-.9.4-.9 1v.6h-2.3V6.6c0-.1-.1-.3-.3-.3H9.1v-.6c0-.5-.4-.9-.9-.9H5.7c-.5 0-.9.4-.9.9v2.5c0 .5.4.9.9.9h2.5c.5 0 .9-.4.9-.9v-.6h2.3v3.8H9.1v-.6c0-.5-.4-1-.9-1H5.7c-.5 0-.9.5-.9 1v2.4c0 .5.4 1 .9 1h2.5c.5 0 .9-.5.9-1v-.6h2.3v3.8H9.1v-.6c0-.5-.4-.9-.9-.9H5.7c-.5 0-.9.4-.9.9v2.5c0 .5.4.9.9.9h2.5c.5 0 .9-.4.9-.9v-.6h3.2c.2 0 .3-.2.3-.3v-4.8h2.3v.6c0 .5.4.9.9.9h2.5c.5 0 .9-.4.9-.9v-2.4c0-.6-.4-1-.9-1zM8.2 8.2H5.7V5.7h2.5v2.5zm0 .4v-.4.4zm0 4.6H5.7v-2.4h2.5v2.4zm0 .5v-.5.5zm0 4.6H5.7v-2.5h2.5v2.5zm0 .4v-.4.4zm10.1-5.5h-2.5v-2.4h2.5v2.4zm0 .5v-.5.5z"}},survey:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.8 5.5h10.5c.5 0 1 .5 1 1v.9c0 .6-.5 1-1 1H5.8c-.6 0-1-.4-1-1v-.9c0-.5.4-1 1-1zm0 4.3h6c.5 0 .9.5.9 1v1c0 .5-.4.9-.9.9h-6c-.6 0-1-.4-1-.9v-1c0-.5.4-1 1-1zm10 2.7c1.9 0 3.4 1.5 3.4 3.3s-1.5 3.4-3.4 3.4-3.3-1.5-3.3-3.4 1.5-3.3 3.3-3.3zm1.9 2.6c.1-.1.1-.2 0-.3l-.3-.3c-.1-.1-.3-.1-.4 0l-1.8 2-.8-.8c-.1-.1-.2-.1-.3 0l-.3.3c-.1.1-.1.2 0 .3l1.1 1.1c.1.1.2.2.3.2.2 0 .3-.1.4-.2l2.1-2.3zm-11.9-.9h5.5c-.2.5-.3 1-.3 1.4 0 .5.1 1 .2 1.4H5.8c-.6 0-1-.4-1-.9v-1c0-.5.4-.9 1-.9z"}},system_and_global_variable:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.7 18.1c0-.8.4-1.5 1-1.9v-.9c-.3-.2-.5-.5-.6-.9-.1-.5 0-1.1.3-1.5l.3-.3c.1 0 .2-.1.3-.2.7-.3 1.4-.5 2.1-.5.6 0 1.2.2 1.6.6.6-.6 1.2-.7 1.6-.7.3 0 .6.1.9.2 0-4-3.2-7.2-7.2-7.2S4.8 8 4.8 12c0 3.9 3.2 7.2 7.2 7.2-.2-.3-.3-.6-.3-1.1zm6-6.8h-1.9c-.1-1.7-.4-3.2-1-4.3 1.6.8 2.7 2.4 2.9 4.3zm-5-4.7c.8.6 1.6 2.4 1.7 4.7h-1.7V6.6zm-6.4 6.1h1.9c.1 1.7.4 3.2 1 4.3-1.6-.8-2.7-2.4-2.9-4.3zm1.9-1.4H6.3C6.5 9.4 7.6 7.8 9.2 7c-.6 1.1-.9 2.6-1 4.3zm3.1 6.1c-.8-.6-1.6-2.4-1.7-4.7h1.7v4.7zm0-6.1H9.6c.1-2.3.9-4.1 1.7-4.7v4.7zm6.8 3.7c.3 0 1-.3 1-1.1s-.6-.9-.8-.9c-.4 0-.7.3-1 .8-.4.6-.7 1.2-.7 1.2h-.1c0-.4-.1-.7-.1-.8-.1-.4-.5-1.1-1.3-1.1s-1.6.5-1.6.5c-.1.1-.2.2-.2.4 0 .3.2.5.5.5.1 0 .1 0 .2-.1 0 0 .6-.3.8 0 0 .1 0 .3.1.4.1.5.3 1.2.4 1.7l-.5.8s-.6-.2-1-.2-.9.2-.9 1 .6.9.8.9c.3 0 .7-.3 1-.8.3-.6.7-1.2.7-1.2.1.5.2.9.2 1.1.2.6.7.9 1.3.9 0 0 .7 0 1.4-.4.2-.1.3-.3.3-.5s-.2-.5-.5-.5c-.1 0-.1.1-.2.1 0 0-.5.3-.7.1-.2-.3-.3-.6-.4-1 0-.4-.1-.8-.2-1.3l.5-.8c.1.1.7.3 1 .3z"}},task:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.2 5.7l-.5-.5c-.2-.2-.4-.2-.5 0L7 8.4 5.7 7.1c-.1-.2-.3-.2-.5 0l-.5.5c-.1.1-.1.3 0 .5l1.8 1.8c.1.1.3.2.5.2s.4-.1.5-.2l3.7-3.7c.1-.1.1-.4 0-.5zm7.3 3.4h-6.3c-.2 0-.4-.2-.4-.5v-.9c0-.3.2-.5.4-.5h6.3c.2 0 .5.2.5.5v.9c0 .3-.3.5-.5.5zm0 4.3h-7.7c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h7.7c.2 0 .5.2.5.5v1c0 .2-.3.4-.5.4zm-10.6 0H7c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h.9c.3 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm0 4.4H7c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5h.9c.3 0 .5.3.5.5v1c0 .2-.2.5-.5.5zm10.6 0h-7.7c-.3 0-.5-.3-.5-.5v-1c0-.2.2-.5.5-.5h7.7c.2 0 .5.3.5.5v1c0 .2-.3.5-.5.5z"}},task2:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.2 17c-.3 0-.6-.1-.8-.3l-4.5-4.5c-.1-.2-.1-.5 0-.7l.9-.8c.2-.2.5-.2.7 0l3.7 3.7 7.3-7.3c.2-.2.5-.2.7 0l.9.9c.1.2.1.4 0 .6L11 16.7c-.2.2-.5.3-.8.3z"}},team_member:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M13.7 10.6h-2.9c-.8 0-1.4.6-1.4 1.4v2.2c0 .2.1.5.2.6.2.2.5.3.7.3v2.2c0 .8.7 1.4 1.5 1.4h.9c.8 0 1.5-.6 1.5-1.4v-2.2c.2 0 .5-.1.6-.3.2-.1.3-.4.3-.6V12c0-.8-.6-1.4-1.4-1.4z"},{d:"M8.8 16c-.1 0-.1-.1-.2-.1-.4-.5-.7-1.1-.7-1.7V12c0-.8.3-1.5.8-2 .2-.1 0-.4-.2-.4H6.2c-.8 0-1.4.6-1.4 1.4v2.2c0 .3.1.5.3.7.2.1.4.3.7.3v2.1c0 .8.6 1.5 1.4 1.5h1c.2 0 .4-.1.5-.2.1 0 .2-.1.2-.2v-1.2c0-.1 0-.1-.1-.2z"},{d:"M18.2 9.6h-2.3c-.2 0-.3.2-.1.4.5.5.8 1.2.8 2v2.2c0 .6-.3 1.2-.7 1.7-.1 0-.1.1-.2.1-.1.1-.1.1-.1.2v1.2c0 .1 0 .2.1.2.2.1.4.2.6.2h1c.8 0 1.4-.7 1.4-1.5v-2.1c.3 0 .5-.1.7-.3.2-.2.3-.4.3-.7V11c0-.8-.7-1.4-1.5-1.4z"}],circle:[{cx:"12.24",cy:"7.92",r:"1.68"},{cx:"7.68",cy:"6.96",r:"1.68"},{cx:"16.8",cy:"6.96",r:"1.68"}]},template:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M17.7 4.8H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm-7.5 11.8c0 .2-.2.3-.4.3H7.3c-.2 0-.3-.2-.3-.4v-4.8c0-.2.2-.3.3-.3h2.5c.2 0 .4.2.4.4v4.8zm6.8 0c0 .2-.2.4-.4.4H12c-.2 0-.4-.2-.4-.4v-4.9c0-.2.2-.3.4-.3h4.7c.1 0 .3.2.3.4v4.8zm0-7c0 .2-.2.3-.4.3H7.3c-.2 0-.3-.2-.3-.4V7.4c0-.2.2-.4.3-.4h9.4c.2 0 .3.2.3.4v2.2z"}},text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 18.7c-.1-1-.1-2-.1-3v-1.5c0-.4.1-.9-.1-1.3-.4-1-1.7-1.2-2.6-1.2-.5 0-1 .1-1.5.2-.3.1-.6.2-.9.4l.3.7c.1.2.1.3.1.5.6-.3 1.2-.5 1.9-.5 1 0 1.4.4 1.4 1.2v.3H17c-1.2 0-2.1.2-2.8.6-.7.4-1 1-1 1.9 0 .7.2 1.3.6 1.7.5.4 1 .5 1.7.5.6 0 1 0 1.4-.2s.7-.4.9-.7h.1c0 .1 0 .4.1.8h1.2v-.4zm-1.4-2.4c0 .1-.1.3-.1.5-.1.1-.1.2-.2.3-.3.4-.8.7-1.3.8-.3 0-.6 0-.9-.1-.3 0-.5-.1-.6-.4-.2-.3-.2-.8.1-1.1.1-.2.3-.3.5-.4.6-.2 1.3-.2 1.9-.2h.6v.6zm-4.6-2.8L9.8 5.1c-.1-.2-.2-.3-.4-.3H8.3c-.1 0-.3.1-.4.3l-3.1 8.4c0 .2.1.4.2.4h1.2c.2 0 .4-.2.4-.3l.8-2.2h3.1l.9 2.2c0 .1.2.3.4.3h1.1c.2 0 .4-.2.3-.4zM8 9.7l.9-2.3 1 2.3H8z"}},text_template:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.2 15.3c0-.9.7-1.5 1.6-1.5h2c-.4-.6-.3-1.3.2-1.8v-.1l.5-.5c.3-.2.7-.4 1.1-.4V6c0-.6-.6-1.2-1.2-1.2H6c-.6 0-1.2.5-1.2 1.2v8.4c0 .6.6 1.2 1.2 1.2h4.2v-.3zM6.6 6.6c0-.1.1-.2.3-.2h1.8c.2 0 .3.1.3.2v.9c0 .2-.1.3-.3.3H6.9c-.2 0-.3-.1-.3-.3v-.9zm0 2.7c0-.2.1-.3.3-.3h6.6c.1 0 .3.1.3.3v.8c0 .2-.2.3-.3.3H6.9c-.1 0-.3-.1-.3-.3v-.8zm0 3.4v-.8c0-.2.1-.3.3-.3h5.4c.2 0 .3.1.3.3v.8c0 .2-.1.3-.3.3H6.9c-.2 0-.3-.1-.3-.3zm9.3-.4v-.1c-.2-.1-.4-.1-.5.1l-.5.4c-.1.2-.1.4 0 .5l1.3 1.3c.1.1.1.1.1.2 0 .2-.1.3-.2.3h-4.3c-.2 0-.4.1-.4.3v.7c0 .2.2.3.4.4H16.2c.1.1.1.3 0 .4l-1.3 1.3c-.1.1-.1.4 0 .5l.5.5c.1.1.3.1.5 0l3.1-3.2c.2-.1.2-.3 0-.5l-3.1-3.1z"}},textarea:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 19.2H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4v11.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.3.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.2 0-.5.2-.5.5zm8.2 5.1c.2 0 .4.2.4.5v2.1c0 .2-.2.4-.4.4h-2.3c-.2 0-.4-.2-.4-.4s0-.4.2-.5l.4-.4c.3-.3.7-.6 1-.9l.6-.6c.1 0 .2-.1.2-.1.1-.1.2-.1.3-.1z"}},textbox:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 19.2H6.2c-.8 0-1.4-.6-1.4-1.4V6.2c0-.8.6-1.4 1.4-1.4h11.6c.8 0 1.4.6 1.4 1.4v11.6c0 .8-.6 1.4-1.4 1.4zM6.7 7.2v9.6c0 .3.3.5.5.5h9.6c.3 0 .5-.2.5-.5V7.2c0-.3-.2-.5-.5-.5H7.2c-.2 0-.5.2-.5.5zm2 7.7V9.1c0-.2.2-.4.5-.4h.9c.3 0 .5.2.5.4v5.8c0 .2-.2.4-.5.4h-.9c-.3 0-.5-.2-.5-.4z"}},thanks:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.8 8.4h-2.1c.6-.9.5-2.2-.2-3-.4-.4-1-.6-1.6-.6-.6 0-1.2.3-1.7.8-.1.1-.1.2-.2.3-.1-.1-.1-.2-.2-.3-.5-.5-1.1-.8-1.7-.8-.6 0-1.1.2-1.6.6-.7.8-.7 2.1-.1 3H6.2c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5h13.4c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4zm-6.5 0c-.5 0-1.2-.2-1.7-.6-.3-.4-.4-1 0-1.3.1-.2.3-.2.5-.2s.4.1.6.3c.4.4.6 1.2.6 1.7v.1zm3.1-.6c-.5.4-1.2.6-1.7.6v-.1c0-.5.2-1.3.6-1.7.2-.2.4-.4.6-.4.2 0 .4.1.5.2.3.4.3 1 0 1.4zm3.4 4.9h-5.1v6.5h4.1c.8 0 1.4-.6 1.4-1.4v-4.6c0-.3-.2-.5-.4-.5zm-12 .5v4.6c0 .8.6 1.4 1.4 1.4h4.1v-6.5H6.2c-.2 0-.4.2-.4.5z"}},thanks_loading:{xmlns:"http://www.w3.org/2000/svg",path:{opacity:".5",d:"M17.8 8.4h-2.1c.6-.9.5-2.2-.2-3-.4-.4-1-.6-1.6-.6-.6 0-1.2.3-1.7.8-.1.1-.1.2-.2.3-.1-.1-.1-.2-.2-.3-.5-.5-1.1-.8-1.7-.8-.6 0-1.1.2-1.6.6-.7.8-.7 2.1-.1 3H6.2c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5h13.4c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4zm-6.5 0c-.5 0-1.2-.2-1.7-.6-.3-.4-.4-1 0-1.3.1-.2.3-.2.5-.2s.4.1.6.3c.4.4.6 1.2.6 1.7v.1zm3.1-.6c-.5.4-1.2.6-1.7.6v-.1c0-.5.2-1.3.6-1.7.2-.2.4-.4.6-.4.2 0 .4.1.5.2.3.4.3 1 0 1.4zm3.4 4.9h-5.1v6.5h4.1c.8 0 1.4-.6 1.4-1.4v-4.6c0-.3-.2-.5-.4-.5zm-12 .5v4.6c0 .8.6 1.4 1.4 1.4h4.1v-6.5H6.2c-.2 0-.4.2-.4.5z"}},timesheet:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17 4.8H7c-1 0-1.9.8-1.9 1.9v10.6c0 1 .9 1.9 1.9 1.9h10c1 0 1.9-.9 1.9-1.9V6.7c0-1.1-.9-1.9-1.9-1.9zm-.6 11.3c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.6c0-.4.3-.7.6-.7h7.5c.4 0 .7.3.7.7v.6zm0-3.8c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.6c0-.3.3-.6.6-.6h7.5c.4 0 .7.3.7.6v.6zm0-3.7c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.7c0-.3.3-.6.6-.6h7.5c.4 0 .7.3.7.6v.7z"}},timesheet_entry:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17 4.8H7c-1 0-1.9.8-1.9 1.9v10.6c0 1 .9 1.9 1.9 1.9h10c1 0 1.9-.9 1.9-1.9V6.7c0-1.1-.9-1.9-1.9-1.9zm-.6 11.3c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.6c0-.4.3-.7.6-.7h7.5c.4 0 .7.3.7.7v.6zM9.8 12l.4-.3c0-.1.2-.1.3 0l.9.8 2.1-2.1c.1-.1.3-.1.3 0l.4.3c.1.1.1.3 0 .3l-2.5 2.6c-.1.1-.2.1-.3.1-.1 0-.3 0-.4-.1l-1.2-1.2c-.1-.2-.1-.3 0-.4zm6.6-3.4c0 .3-.3.6-.6.6H8.2c-.3 0-.6-.3-.6-.6v-.7c0-.3.3-.6.6-.6h7.5c.4 0 .7.3.7.6v.7z"}},timeslot:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M17 4.8H7a1.9 1.9 0 0 0-1.9 1.9v10.6A1.9 1.9 0 0 0 7 19.2h10a1.9 1.9 0 0 0 1.9-1.9V6.7A1.9 1.9 0 0 0 17 4.8zM7.6 7.9a.6.6 0 0 1 .7-.6h3.2a.6.6 0 0 1 .6.6v.6a.6.6 0 0 1-.6.7H8.3a.6.6 0 0 1-.7-.7zm8.7 8.2a.6.6 0 0 1-.6.6h-3.2a.6.6 0 0 1-.6-.6v-.6a.6.6 0 0 1 .6-.7h3.2a.6.6 0 0 1 .6.7zm.1-3a.7.7 0 0 1-.6.6H8.3a.6.6 0 0 1-.7-.6v-2.2a.6.6 0 0 1 .7-.6h7.5a.6.6 0 0 1 .6.6z","fill-rule":"evenodd"}},today:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 13c-3.2 0-5.8-2.6-5.8-5.8S8.8 6.2 12 6.2s5.8 2.6 5.8 5.8-2.6 5.8-5.8 5.8zm.7-6.1V8.6c0-.2-.2-.4-.5-.4h-.4c-.3 0-.5.2-.5.4V12c0 .2.1.4.2.5l2.3 2.3c.2.2.5.2.7 0l.3-.3c.2-.2.2-.5 0-.7l-2.1-2.1z"}},topic:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.7 8.9c.1.2.2.3.4.4l.5.1c.1 0 .2 0 .3-.1l1.1-2c.3-.4.1-.6-.4-.3l-1.9 1.1c-.1.1-.2.2-.1.3l.1.5zm-6.6.4c.1.1.2.1.3.1l.5-.1c.2-.1.3-.2.4-.4l.1-.5c0-.1 0-.2-.1-.3L7.3 7c-.4-.3-.6-.1-.3.4l1.1 1.9zm7.8 5.4c-.1-.1-.2-.1-.3-.1l-.5.1c-.2.1-.3.2-.4.4l-.1.5c0 .1 0 .2.1.3l2 1.1c.4.3.6.1.3-.4l-1.1-1.9zm-6.6.4c-.1-.2-.2-.3-.4-.4l-.5-.1c-.1 0-.2 0-.3.1l-1.1 2c-.3.4-.1.6.4.3l1.9-1.1c.1-.1.2-.2.1-.3l-.1-.5zm9.5-3.3l-4.9-1.4c-.2 0-.3-.1-.3-.3l-1.4-4.9c-.1-.5-.3-.5-.5 0l-1.3 4.9c0 .2-.2.3-.3.3l-4.9 1.4c-.5.1-.5.3 0 .5l4.9 1.3c.2 0 .3.2.3.3l1.4 4.9c.1.5.3.5.5 0l1.3-4.9c0-.2.2-.3.3-.3l4.9-1.4c.5-.1.5-.3 0-.4zM12 13.2c-.7 0-1.2-.5-1.2-1.2s.5-1.2 1.2-1.2 1.2.5 1.2 1.2-.5 1.2-1.2 1.2z"}},topic2:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.8 8.2h-1.9l.8-3.1V5c0-.1-.1-.2-.3-.2h-1.5c-.1 0-.2.1-.2.2l-.8 3.2h-3.8l.8-3.1V5c0-.1-.1-.2-.2-.2h-1.5c-.2 0-.3.1-.3.2l-.8 3.2H7c-.2 0-.2.1-.3.2l-.4 1.4v.1c0 .1.1.2.3.2h2l-1 3.7h-2c-.1 0-.2 0-.2.1L5 15.4c0 .1.1.2.2.2h1.9l-.8 3.2v.1c0 .1.1.2.3.2h1.5c.1 0 .2-.1.2-.2l.8-3.3h3.8l-.8 3.2c0 .2.1.3.2.3h1.5c.2 0 .3-.1.3-.2l.8-3.3H17c.1 0 .2-.1.3-.2l.3-1.4v-.1c0-.1-.1-.2-.2-.2h-2l1-3.7h2c.1 0 .2 0 .2-.2l.4-1.4c0-.1-.1-.2-.2-.2zm-5.4 5.6H9.6l1-3.6h3.8l-1 3.6z"}},trailhead:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.4 14.5h.9l-.4-1.3.4-1.4h-1.5c-.2-.8-.6-1.6-1.1-2.4-.5-.7-1.1-1.4-1.9-2.1-.7-.6-1.6-1.1-2.8-1.6h-.1s-.4.2-1 .4c-.5.3-1 .6-1.6 1.1-.9.6-1.9 1.6-2.6 3-.2.5-.4 1-.6 1.6H4.8l.4 1.4-.4 1.3h.7v2.2l.1.1s.7.3 1.8.7c1.2.4 2.8.8 4.7.8 1.5 0 3.2-.3 4.9-.9.5-.2.9-.4 1.4-.6l.1-.1v-.1-.8c0-.3 0-.8-.1-1.3zm-13-.5l.2-.8-.2-.9h13.2l-.2.9.2.8H5.4zm2.4-2.2l.9-1.6v-.1l.9-1.3 1.3 1.7.8-.8.9 1.1 1.4-2 2.2 3H7.8zm-.9-.9c.2-.4.3-.7.5-1 .1-.1.1-.1.1-.2l.1-.1c1.8-2.7 4.3-3.5 4.3-3.5h.1c1.8.8 3.1 1.9 4 3.1.2.4.5.7.7 1.1.3.5.5 1 .6 1.5h-.5c-.7-2-2.1-4-4.9-5.2-.5.2-3.5 1.3-4.9 5.2h-.5c.1-.3.2-.6.4-.9zM18 16.3v.1l-.1.1c-2 1-4.1 1.4-5.8 1.4-3.2 0-5.6-1.2-6-1.4l-.1-.1h-.1v-.1c0-.6.1-1.2.1-1.8h.5c-.1.5-.1 1.1-.1 1.7.5.2 2.2.9 4.5 1.2.5-.3.9-1 0-1.7s-.1 0-.1 0v-.1h-.1v-.1-.1c-.2-.3 0-.6.7-.6.3 0 1.1 0 .8-.3h.4c.2.3.2.6-1 .7-.2.1-.2.1-.2.2h.2c1.2.3 1.5 1.2 1.4 1.8 1.4-.1 2.9-.4 4.5-1.2 0-.3 0-.9-.1-1.6h.5c0 .1 0 .3.1.4.1.9 0 1.4 0 1.5z"}},unmatched:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.8 11.2c-.1-.1-.2-.2-.3-.2h-7c-.1 0-.2.1-.3.2v1.6c.1.1.2.2.3.2h7c.1 0 .2-.1.3-.2V12v-.8zM12 4.8C8 4.8 4.8 8 4.8 12S8 19.2 12 19.2s7.2-3.2 7.2-7.2S16 4.8 12 4.8zm0 12.5c-2.9 0-5.3-2.4-5.3-5.3S9.1 6.7 12 6.7s5.3 2.4 5.3 5.3-2.4 5.3-5.3 5.3z"}},user:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 17.1v.7c0 .8-.6 1.4-1.4 1.4H6.2c-.8 0-1.4-.6-1.4-1.4v-.7c0-1.8 2-2.8 4-3.7 0 0 .1 0 .2-.1.1 0 .3 0 .4.1.8.5 1.7.8 2.6.8.9 0 1.8-.3 2.6-.8.1-.1.3-.1.4 0 .1 0 .2 0 .2.1 2 .8 4 1.8 4 3.6z"},ellipse:{cx:"12",cy:"8.76",rx:"3.576",ry:"3.96"}},user_role:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.6 15.2c0-.8.2-1.7.7-2.5.5-.8 1-1.2 1.5-1.9.7-1.1.9-2.7.4-3.9-.5-1.2-1.6-1.9-2.9-1.9s-2.4.9-2.8 2.1c-.5 1.3-.3 3 .8 4 .4.4.8 1 .6 1.7-.2.6-.9.8-1.4 1.1-1.2.5-2.6 1.2-2.8 2.6-.3 1.1.5 2.3 1.7 2.3h5.1c.3 0 .4-.3.3-.5-.8-.9-1.2-2-1.2-3.1zm4.8-3.6c-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.6zm.6 3.9h-.3l-1.4 1.3c-.1.1-.2.2-.3.2-.1 0-.2-.1-.2-.2-.2-.1-.2-.4 0-.6l1.3-1.3v-.3c-.1-.6.4-1.2 1.1-1.2h.2c.1 0 .1.1.1.1l-.7.6v.2l.4.4h.2l.6-.6h.1c0 .1.1.2.1.3 0 .7-.5 1.2-1.2 1.1z"}},variable:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17 9.5c.8 0 2.2-.6 2.2-2.5s-1.4-2.1-1.8-2.1c-.9 0-1.7.7-2.5 1.9-.7 1.4-1.6 2.8-1.6 2.8-.2-.9-.3-1.7-.4-2-.1-.8-1.1-2.6-3-2.6S6.2 6.1 6.2 6.1c-.3.3-.5.6-.5 1 0 .7.5 1.2 1.2 1.2.2 0 .3 0 .5-.1 0 0 1.4-.8 1.7 0 .1.2.2.5.3.8.4 1.2.7 2.7 1 4.1l-1.2 1.8s-1.4-.5-2.2-.5-2.2.6-2.2 2.5S6.2 19 6.6 19c.9 0 1.7-.6 2.5-1.9.7-1.3 1.6-2.8 1.6-2.8.2 1.2.4 2.2.5 2.6.5 1.3 1.6 2.2 3.1 2.2 0 0 1.5 0 3.3-1.1.4-.1.7-.6.7-1 0-.7-.5-1.2-1.2-1.2-.2 0-.3 0-.5.1 0 0-1.2.7-1.7.2-.3-.6-.5-1.4-.7-2.4-.2-.8-.4-1.8-.6-2.8L14.8 9c.1 0 1.5.5 2.2.5z"}},visit_templates:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.2 13.9c-.3 0-.5-.2-.5-.5V13c0-.3.2-.5.5-.5H12c.1 0 .2 0 .3.1.8-.8 1.9-1.4 3.1-1.5V6.2c0-.8-.7-1.4-1.5-1.4H6.2c-.8 0-1.4.6-1.4 1.4v8.2c0 .8.6 1.4 1.4 1.4H11c0-.6.2-1.3.4-1.9H7.2zm-.5-6.7c0-.3.2-.5.5-.5H12c.3 0 .5.2.5.5v.5c0 .2-.2.5-.5.5H7.2c-.3 0-.5-.3-.5-.5v-.5zm0 2.9c0-.3.2-.5.5-.5H13c.2 0 .4.2.4.5v.5c0 .2-.2.4-.4.4H7.2c-.3 0-.5-.2-.5-.4v-.5zm9.1 2.4c-1.8 0-3.3 1.5-3.3 3.3s1.5 3.4 3.3 3.4 3.4-1.5 3.4-3.4-1.5-3.3-3.4-3.3zm1.9 2.5l-2.1 2.3c-.1.1-.2.2-.3.2-.2 0-.3-.1-.4-.2l-1.1-1.1c-.1-.1-.1-.2 0-.3l.3-.3c.1-.1.3-.1.3 0l.9.8 1.8-2c.1-.1.2-.1.3 0l.3.3c.1.1.1.2 0 .3z"}},visits:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M12.1 12.7c.7-.9 1.3-1.3 1.7-2 .8-1.2 1-2.8.5-4.1-.5-1.2-1.7-2-3.1-1.9s-2.4.8-2.9 2.1c-.5 1.4-.3 3.1.9 4.1.4.5.9 1.1.6 1.8-.2.6-.9.9-1.5 1.1-1.2.6-2.6 1.3-2.9 2.7-.2 1.2.6 2.4 1.8 2.4h5.6c.3 0 .5-.3.4-.4-.8-.9-1.6-2.1-1.6-3.3-.1-.8.1-1.8.5-2.5zm3.5 3.2c-.7 0-1.2-.5-1.2-1.1s.5-1.2 1.2-1.2c.6 0 1.2.5 1.2 1.2 0 .6-.6 1.1-1.2 1.1zm0-4c-1.6 0-2.9 1.3-2.9 2.9 0 1.9 2 3.8 2.7 4.2.1.1.2.1.3 0 .7-.5 2.7-2.3 2.7-4.2 0-1.6-1.3-2.9-2.8-2.9z"}},visualforce_page:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M13.3 12.9c-.1 0-.3-.2-.3-.3v-1.8c0-.1.1-.3.3-.3h1.8c.1 0 .3.2.3.3v1.8c0 .1-.1.3-.3.3h-1.8zm.8 1L13 15v.3l1.1 1.1c0 .1.2.1.2 0l1.1-1.1V15l-1.1-1.1c0-.1-.2-.1-.2 0z"},{d:"M8.7 10.9l.9-.5h.3l.9.5c.1.1.2.2.2.3v1c0 .1-.1.2-.2.3l-.9.5h-.3l-.9-.5c0-.1-.1-.2-.1-.3v-1c0-.1 0-.2.1-.3zm9-6.1H6.3c-.8 0-1.5.7-1.5 1.5v11.4c0 .8.7 1.5 1.5 1.5h11.4c.8 0 1.5-.7 1.5-1.5V6.3c0-.8-.7-1.5-1.5-1.5zm0 12.4c0 .3-.2.5-.5.5H6.8c-.3 0-.5-.2-.5-.5v-8h11.4v8zm0-9.5H6.3v-.9c0-.3.2-.5.5-.5h10.4c.3 0 .5.2.5.5v.9z"}],circle:{cx:"9.768",cy:"15.12",r:"1.176"}}},waits:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 9.7c0-.2-.2-.4-.5-.4h-6.2c-.3 0-.5.2-.5.4v.9c0 .2.2.5.5.5h4.2l-4.6 5.7c-.1 0-.1.1-.1.2v.9c0 .3.2.5.4.5h6.3c.3 0 .5-.2.5-.5V17c0-.2-.2-.4-.5-.4h-4.2l4.6-5.6c.1-.1.1-.2.1-.3v-1zM12 6.1c0-.3-.2-.5-.5-.5H5.3c-.3 0-.5.2-.5.5V7c0 .2.2.4.5.4h4.2l-4.6 5.7c-.1.1-.1.2-.1.3v.9c0 .2.2.4.5.4h6.3c.2 0 .4-.2.4-.4v-.9c0-.3-.2-.5-.4-.5H7.3l4.6-5.6c.1-.1.1-.2.1-.3v-.9z"}},work_capacity_limit:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.2 7l-2.1-2.1c-.1-.1-.2-.1-.3-.1-.2 0-.3.1-.3.3v1.6c0 .5.4.9.9.9H18c.1 0 .3-.2.3-.3 0-.1 0-.2-.1-.3zM7.1 15V7.6c-.8 0-1.4.6-1.4 1.4v8.8c0 .8.6 1.4 1.4 1.4h7c.8 0 1.4-.6 1.4-1.4H9.9c-1.5 0-2.8 0-2.8-2.8zm5.3-4.4v2.2h2s.1-.8-.6-1.5-1.4-.7-1.4-.7zM17.8 9h-2.3c-.8 0-1.4-.6-1.5-1.4V5.3c.1-.3-.1-.5-.4-.5H9.9c-.8 0-1.4.6-1.4 1.4V15c0 .8.6 1.4 1.4 1.4h7c.7 0 1.4-.6 1.4-1.4V9.5c0-.3-.2-.5-.5-.5zm-2.6 3.7c0 1.6-1.3 2.9-2.8 2.8s-2.8-1.3-2.8-2.8c0-1.6 1.3-2.9 2.8-2.8 1.6 0 2.8 1.3 2.8 2.8z"}},work_capacity_usage:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zm2.6 3.9v2.8h2.5s.2-1-.7-1.9-1.8-.9-1.8-.9zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zm-1.7 8.2c0 2-1.7 3.6-3.6 3.6-2 0-3.6-1.6-3.6-3.6s1.7-3.6 3.6-3.6c2 0 3.6 1.7 3.6 3.6z"}},work_order:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M15.6 12.5c-.8.4-1.2 1.2-1.2 1.3-.1.2-.2.2-.2.2H9.9c-.1 0-.2-.1-.2-.2-.4-.8-1.2-1.4-2.2-1.4-.9 0-1.6.4-2 1.2-.1.1-.2.1-.3 0-.3-.2-.4-.5-.4-.9 0 0-.1-2.7.8-4.2.2-.2.3-.3.5-.3h9.1c.1 0 .2 0 .3.1 0 0 1 1.5 1.2 1.6.1.2.2.3.5.3.2.1 2 .7 2 .7v1.8c0 .4-.1.7-.3.9-.1.1-.2 0-.3-.1-.4-.7-1.1-1.2-2-1.2-.4 0-.7.1-1 .2"},ellipse:[{cx:"16.56",cy:"14.664",rx:"1.176",ry:"1.176"},{cx:"7.56",cy:"14.664",rx:"1.176",ry:"1.176"}]},work_order_item:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.4 7.7h5.2c.3 0 .5-.2.5-.5v-1c0-.8-.6-1.4-1.4-1.4h-3.4c-.8 0-1.4.6-1.4 1.4v1c0 .3.2.5.5.5zM17.3 6h-.5c-.1 0-.2.1-.2.2v1c0 1.1-.9 1.9-2 1.9H9.4c-1.1 0-2-.8-2-1.9v-1c0-.1-.1-.2-.2-.2h-.5c-.8 0-1.4.6-1.4 1.4v10.4c0 .8.6 1.4 1.4 1.4h10.6c.8 0 1.4-.6 1.4-1.4V7.4c0-.8-.6-1.4-1.4-1.4zM16 11.8l-4.6 4.6c-.1.1-.2.2-.4.2s-.3-.1-.5-.2L8 13.8c-.2-.1-.2-.3 0-.4l.5-.5c.1-.1.2-.1.4 0L11 15l4.1-4.1c.1-.1.3-.1.4 0l.5.5c.1.1.1.3 0 .4z"}},work_queue:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M11.5 17.2H5.3c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h6.2c.2 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm0-8.6H5.3c-.3 0-.5-.2-.5-.4v-1c0-.3.2-.5.5-.5h6.2c.2 0 .5.2.5.5v1c0 .2-.2.4-.5.4zm3.2 7.4c.2.2.5.2.7 0l3.6-3.7c.2-.1.2-.4.1-.6H19L15.4 8c-.2-.2-.5-.2-.7-.1V8l-.7.7c-.2.1-.2.4 0 .6l1.2 1.2c.1.1.1.3 0 .4-.1.1-.2.1-.2.1H5.3c-.3 0-.5.3-.5.5v1c0 .2.2.4.5.5H15c.2 0 .3.1.3.3 0 0 0 .1-.1.2l-1.1 1.1c-.2.2-.2.5-.1.7h.1l.6.7z"}},work_type:{xmlns:"http://www.w3.org/2000/svg",title:{},path:{d:"M18.2 7L16 4.9a.3.3 0 0 0-.2-.1.3.3 0 0 0-.3.3v1.6a.9.9 0 0 0 .9.9H18a.3.3 0 0 0 .3-.3.4.4 0 0 0-.1-.3zM7.1 15V7.6A1.4 1.4 0 0 0 5.7 9v8.8a1.4 1.4 0 0 0 1.4 1.4h7a1.4 1.4 0 0 0 1.4-1.4H9.9c-1.5 0-2.8 0-2.8-2.8zm10.7-6h-2.3a1.4 1.4 0 0 1-1.4-1.4V5.3a.4.4 0 0 0-.5-.5H9.9a1.4 1.4 0 0 0-1.4 1.4V15a1.4 1.4 0 0 0 1.4 1.4h7a1.4 1.4 0 0 0 1.4-1.4V9.5a.5.5 0 0 0-.5-.5zM12 14.9a.6.6 0 0 1-.6.6h-1.2a.6.6 0 0 1-.6-.6v-1.2a.6.6 0 0 1 .6-.6h1.2a.6.6 0 0 1 .6.6zm0-3.3a.6.6 0 0 1-.6.6h-1.2a.6.6 0 0 1-.6-.6v-1.2a.6.6 0 0 1 .6-.5h1.2a.6.6 0 0 1 .6.5zm3.3 3.3a.6.6 0 0 1-.6.6h-1.2a.6.6 0 0 1-.6-.6v-1.2a.6.6 0 0 1 .6-.6h1.2a.6.6 0 0 1 .6.6zm0-3.3a.6.6 0 0 1-.6.6h-1.2a.6.6 0 0 1-.6-.6v-1.2a.6.6 0 0 1 .6-.6h1.2a.6.6 0 0 1 .6.6z","fill-rule":"evenodd"}},work_type_group:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 7s0-.1-.1-.2l-2-1.9c0-.1-.1-.1-.1-.1h-5.3c-.7 0-1.3.6-1.3 1.2v6.4c0 .7.5 1.3 1.2 1.3h6.3c.7 0 1.3-.6 1.3-1.3V7zm-5.7 5.1c0 .3-.2.5-.5.5h-1.1c-.3 0-.5-.2-.5-.5V11c0-.3.2-.6.5-.6H13c.3 0 .6.3.6.6l-.1 1.1zm0-3c0 .3-.2.5-.5.5h-1.1c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5H13c.3 0 .6.2.6.5l-.1 1.1zm3 3c0 .3-.2.5-.5.5h-1.1c-.3 0-.5-.2-.5-.5V11c0-.3.2-.6.5-.6H16c.3 0 .5.3.5.6v1.1zm0-3c0 .3-.2.5-.5.5h-1.1c-.3 0-.5-.2-.5-.5V8c0-.3.2-.5.5-.5H16c.3 0 .5.2.5.5v1.1zM10.3 15c-.7 0-1.3-.5-1.3-1.2V7.2c-.8 0-1.4.6-1.4 1.4V15c0 .8.4 1.4 1.4 1.4h6c.8 0 1.4-.6 1.4-1.4h-6.1zm-2.8 2.8c-.7 0-1.3-.5-1.3-1.2V10c-.8 0-1.4.6-1.4 1.4v6.4c0 .8.4 1.4 1.4 1.4h6c.8 0 1.4-.6 1.4-1.4H7.5z"}},viewBox:"0 0 24 24"};function Ae(e){return(Ae="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(){return(Be=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 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 qe(e){return(qe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ke(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function We(e,t){return(We=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ue(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ge=function(a){var e,t,n=a.displayName||a.name||"Component";return t=e=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return Ue(Ke(t=function(e,t){return!t||"object"!==Ae(t)&&"function"!=typeof t?Ke(e):t}(this,(e=qe(c)).call.apply(e,[this].concat(r)))),"getWrappedComponent",function(e){return k.a.createElement(a,Be({},t.props,{direction:e}))}),t}return 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,s["Component"]),function(e,t,n){t&&Fe(e.prototype,t),n&&Fe(e,n)}(c,[{key:"render",value:function(){return k.a.createElement(ze.Consumer,null,this.getWrappedComponent)}}]),c}(),Ue(e,"displayName","LanguageDirection(".concat(n,")")),t};function Ye(){return(Ye=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 Qe(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Je(e,t){var n=e.name,r=void 0===n?"":n,o=(e.assistiveText,e.category),c=e.icon,a=e.path,s=e.direction,i=Qe(e,["name","assistiveText","category","icon","path","direction"]);Oe("UtilityIcon",{name:r,category:o,path:a,context:t});var l,p,u={action:Le,custom:Ve,doctype:De,standard:Re,utility:Ie};if(c?l=c:Object.keys(u[o]).length&&((l=u[o][r.toLowerCase()]).viewBox=u[o].viewBox),a)p=a;else if(t.onRequestIconPath)p=t.onRequestIconPath({category:o,name:r});else if(t["".concat(o,"Sprite")])p="".concat(t["".concat(o,"Sprite")],"#").concat(r);else{var d=s===xe.RTL?"symbols-rtl.svg":"symbols.svg";p=t.iconPath&&"".concat(t.iconPath,"/").concat(o,"-sprite/svg/").concat(d,"#").concat(r)}return l?k.a.createElement(Pe,Ye({data:l,name:r},i)):k.a.createElement("svg",Ye({key:"".concat(r,"_").concat(o)},i),k.a.createElement("use",{xlinkHref:p}))}Je.displayName="UtilityIcon",Je.propTypes={assistiveText:o.a.object,category:o.a.oneOf(["action","custom","doctype","standard","utility"]),icon:o.a.object,name:o.a.string,path:o.a.string},Je.defaultProps={category:"utility"},Je.contextTypes={iconPath:o.a.string,onRequestIconPath:o.a.func,actionSprite:o.a.string,customSprite:o.a.string,doctypeSprite:o.a.string,standardSprite:o.a.string,utilitySprite:o.a.string};var Xe=Ge(Je);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}function Ze(e){var t;return _e(x,e),k.a.createElement(Xe,{"aria-hidden":"true",category:e.category,className:H()("slds-button__icon",(t={},$e(t,"slds-button__icon_".concat(e.size),e.size&&"medium"!==e.size),$e(t,"slds-button__icon_inverse-hint",e.inverse&&e.hint),$e(t,"slds-button__icon_hint",e.hint&&!e.inverse),$e(t,"slds-button__icon_".concat(e.position),e.position),t),e.className),icon:e.icon,name:e.name,path:e.path})}var et={category:o.a.oneOf(["action","custom","doctype","standard","utility"]).isRequired,hint:o.a.bool,icon:o.a.object,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),inverse:o.a.bool,name:o.a.string,path:o.a.string,position:o.a.oneOf(["left","right"]),size:o.a.oneOf(["x-small","small","medium","large"])};Ze.displayName=x,Ze.propTypes=et,Ze.defaultProps={category:"utility",size:"medium"};var tt=Ze;var nt=function(){},rt=n(29),ot=n(30),ct=n(10),at=n.n(ct),st=n(6),it=n.n(st);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 pt(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 ut(e,t){return!t||"object"!==lt(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function dt(e){return(dt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ht(e,t){return(ht=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ft="undefined"!=typeof document,mt=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=ut(this,dt(n).call(this,e))).portalNode=null,t.state={isOpen:!1},t}return 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&&ht(e,t)}(n,s["Component"]),function(e,t,n){t&&pt(e.prototype,t),n&&pt(e,n)}(n,[{key:"componentDidMount",value:function(){this.renderPortal()}},{key:"componentDidUpdate",value:function(){this.renderPortal()}},{key:"componentWillUnmount",value:function(){this.unmountPortal()}},{key:"getChildren",value:function(){return s.Children.only(this.props.children)}},{key:"getPortalParentNode",value:function(){return"string"==typeof this.props.renderTo?document.querySelector(this.props.renderTo):this.props.renderTo||ft&&document.body}},{key:"setupPortalNode",value:function(){var e=this.getPortalParentNode();this.portalNode={},ft&&(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&&(it.a.unmountComponentAtNode(this.portalNode),this.portalNode.parentNode.removeChild(this.portalNode)),this.portalNode=null}},{key:"updatePortal",value:function(){var t=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(e){t.portalNode.style[e]=t.props.style[e]}),this.props.onUpdate&&(this.portalNodeInstance=this.props.onUpdate(this.portalNodeInstance))}},{key:"renderPortal",value:function(){var e=this;this.getChildren()&&ft?(this.portalNode||this.setupPortalNode(),this.props.portalMount?this.props.portalMount({instance:this,reactElement:this.getChildren(),domContainerNode:this.portalNode,updateCallback:function(){e.updatePortal()}}):it.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}}]),n}();mt.displayName="Portal",mt.propTypes={renderTag:o.a.string,renderTo:o.a.any,id:o.a.string,children:o.a.node,className:o.a.any,style:o.a.object,onMount:o.a.func,onOpen:o.a.func,onUpdate:o.a.func,portalMount:o.a.func},mt.defaultProps={renderTag:"span",renderTo:null,onMount:function(){return null},onOpen:function(){return null},onUpdate:function(){return null},onUnmount:function(){return null}};var vt=mt,gt={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 gt.trapEvent(e)},trapImmediate:function(e){e.stopImmediatePropagation&&e.stopImmediatePropagation(),e.nativeEvent&&e.nativeEvent.stopImmediatePropagation&&e.nativeEvent.stopImmediatePropagation(),gt.trap(e)}},bt=gt,yt={ENTER:13,ESCAPE:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,TAB:9,DELETE:46,BACKSPACE:8},wt=yt;function _t(e){if(zt&&St&&e.keyCode===wt.TAB){var t=xt(St);if(t[e.shiftKey?0:t.length-1]===document.activeElement||St===document.activeElement)e.preventDefault(),t[e.shiftKey?t.length-1:0].focus()}}var xt=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||0<=t)&& +/*! + * 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(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)})},zt=!("undefined"==typeof window||!window.document||!window.document.createElement),Ot=zt&&Boolean(window.addEventListener||window.attachEvent),St=(zt&&Boolean(window.screen),null),Ct=null,Et={focusAncestor:function(e){var t=e.isPortal;if(zt)if(t){var n=window.pageYOffset;St.focus({preventScroll:!0}),window.scrollTo(window.pageXOffset,n)}else St.focus()},hasOrAncestorHasFocus:function(){return zt&&(document.activeElement===St||St.contains(document.activeElement))},returnFocusToStoredElement:function(){if(zt){try{Ct.focus()}catch(e){console.warn("You tried to return focus to ".concat(Ct," but it is not in the DOM anymore"))}Ct=null}},setupScopedFocus:function(e){var t=e.ancestorElement;St=t,window.addEventListener("keydown",_t,!1)},storeActiveElement:function(){Ct=zt?document.activeElement:null},teardownScopedFocus:function(){St=null,zt&&window.removeEventListener("keydown",_t)}},Mt=1/Math.sqrt(2);function Tt(e){return(Tt="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 Nt(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!t||"object"!==Tt(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Ht(e){return(Ht=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function jt(e,t){return(jt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Pt=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),kt(this,Ht(e).apply(this,arguments))}return 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)}(e,k.a.Component),function(e,t,n){t&&Nt(e.prototype,t),n&&Nt(e,n)}(e,[{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}}]),e}();Pt.displayName="SLDSIconSettings",Pt.childContextTypes={iconPath:o.a.string,onRequestIconPath:o.a.func,actionSprite:o.a.string,customSprite:o.a.string,doctypeSprite:o.a.string,standardSprite:o.a.string,utilitySprite:o.a.string},Pt.propTypes={iconPath:o.a.string,onRequestIconPath:o.a.func,actionSprite:o.a.string,customSprite:o.a.string,doctypeSprite:o.a.string,standardSprite:o.a.string,utilitySprite:o.a.string};var It=Pt;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(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ft(t,e,n[e])})}return t}function Dt(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 Rt(e){return(Rt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function At(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bt(e,t){return(Bt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 qt=function(){function o(){var e,a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Ft(At(a=function(e,t){return!t||"object"!==Lt(t)&&"function"!=typeof t?At(e):t}(this,(e=Rt(o)).call.apply(e,[this].concat(n)))),"state",{triggerPopperJS:!1,isOpen:!1}),Ft(At(a),"getPropOffsetsInPixels",function(e){var t=e.split(" ");return{vertical:parseInt(t[0],10),horizontal:parseInt(t[1],10)}}),Ft(At(a),"getPopperStyles",function(){var e=a.state.popperData;if(!a.popper||!e)return{position:"absolute",pointerEvents:"none"};var t=e.offsets.popper.position,n=a.getPropOffsetsInPixels(a.props.offset),r=a.props.hasNubbin?function(e){var t=0<arguments.length&&void 0!==e?e:{},n=t.placement,r=0,o=0,c=16*Mt,a=.5*t.offsets.reference.width,s=.5*t.offsets.reference.height;return"top"===n?r=-1*c:"top-end"===n?(r=-1*c,o=24-a):"top-start"===n&&(r=-1*c,o=a-24),"bottom"===n?r=c:"bottom-end"===n?(r=c,o=24-a):"bottom-start"===n&&(r=c,o=a-24),"right"===n?o=c:"right-end"===n?(o=c,r=24-s):"right-start"===n&&(o=c,r=s-24),"left"===n?o=-1*c:"left-end"===n?(o=-1*c,r=24-s):"left-start"===n&&(o=-1*c,r=s-24),{left:o,top:r}}(a.state.popperData):{left:0,top:0},o=e.offsets.popper.left+r.left+n.horizontal,c=e.offsets.popper.top+r.top+n.vertical;return Vt({},e.style,{left:o,top:c,right:"inherit",position:t})}),Ft(At(a),"setDialogContent",function(e){a.dialogContent=e,a.state.triggerPopperJS||a.setState({triggerPopperJS:!0})}),Ft(At(a),"handleClickOutside",function(){a.handleClose()}),Ft(At(a),"handleClose",function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};t.componentWillUnmount||a.setState({triggerPopperJS:!0}),a.props.onClose&&a.props.onClose(e,t)}),Ft(At(a),"handleClick",function(e){e.nativeEvent&&(e.nativeEvent.preventDefault(),e.nativeEvent.stopPropagation())}),Ft(At(a),"handleKeyDown",function(e){e.keyCode===wt.TAB&&a.props.closeOnTabKey&&(bt.trap(e),a.handleClose(e)),a.props.onKeyDown&&a.props.onKeyDown(e)}),Ft(At(a),"handleOpen",function(){"popover"===a.props.variant&&a.dialogContent&&(Et.storeActiveElement(),Et.setupScopedFocus({ancestorElement:a.dialogContent}),Et.hasOrAncestorHasFocus()||Et.focusAncestor({isPortal:"overflowBoundaryElement"===a.props.position})),a.props.onOpen&&a.props.onOpen(void 0,{portal:a.dialogContent})}),Ft(At(a),"createPopper",function(){var e=a.props.onRequestTargetElement(),t=a.dialogContent,n=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===xe.RTL&&(-1<n.indexOf("left")?n=n.replace("left","right"):-1<n.indexOf("right")?n=n.replace("right","left"):-1<n.indexOf("start")?n=n.replace("start","end"):-1<n.indexOf("end")&&(n=n.replace("end","start"))),n}(a.props.align,a.props.direction),r={applyStyle:{enabled:!1},preventOverflow:{enabled:!a.props.hasStaticAlignment,boundariesElement:"absolute"===a.props.position?"scrollParent":"viewport"},hide:{enabled:!1},flip:{enabled:!a.props.hasStaticAlignment},removeOnDestroy:!0,updateState:{enabled:!0,order:900,fn:function(e){return(!a.state.popperData||at()(e.offsets,a.state.popperData.offsets))&&a.state.popperData||a.setState({popperData:e}),e}}};e||console.error("Target node not found!",e),t||console.error("Popper node not found!",t),a.popper=new ot.a(e,t,{placement:n,eventsEnabled:!0,modifiers:r}),a.popper.scheduleUpdate()}),Ft(At(a),"destroyPopper",function(){a.popper&&a.popper.destroy()}),a}return 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&&Bt(e,t)}(o,k.a.Component),function(e,t,n){t&&Dt(e.prototype,t),n&&Dt(e,n)}(o,[{key:"componentDidMount",value:function(){"absolute"!==this.props.position&&"relative"!==this.props.position||this.handleOpen()}},{key:"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&&(Et.teardownScopedFocus(),Et.returnFocusToStoredElement()),"absolute"!==this.props.position&&"overflowBoundaryElement"!==this.props.position||this.destroyPopper(),this.handleClose(void 0,{componentWillUnmount:!0})}},{key:"render",value:function(){var n=this,e={},t="popover"===this.props.variant?"dialog":this.props.variant;"absolute"!==this.props.position&&"overflowBoundaryElement"!==this.props.position||(e=Vt({},e,{outline:0},this.getPopperStyles())),"target"===this.props.inheritWidthOf&&this.props.onRequestTargetElement()?e.width=this.props.onRequestTargetElement().getBoundingClientRect().width:"menu"===this.props.inheritWidthOf&&this.dialogContent&&this.dialogContent.querySelector(".slds-listbox")&&(e.width=this.dialogContent.querySelector(".slds-listbox").getBoundingClientRect().width),e=Vt({},e,this.props.style);var r="popover"===this.props.variant?"section":"div",o=k.a.createElement(r,Vt({className:H()(Ft({"absolute-positioned":"absolute"===this.props.position,"portal-positioned":"overflowBoundaryElement"===this.props.position},"".concat(this.props.outsideClickIgnoreClass),"overflowBoundaryElement"===this.props.position),this.props.hasNubbin&&function(e,t){return(1<arguments.length&&void 0!==t?t:{}).flipped?H()({"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}):H()({"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})}(this.props.align,this.state.popperData),this.props.contentsClassName)||void 0,style:e,onMouseDown:this.props.onMouseDown,onKeyDown:this.handleKeyDown,onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave,ref:this.setDialogContent,role:t,tabIndex:"popover"===this.props.variant?"-1":void 0},this.props.containerProps),this.props.children),c={absolute:function(){return o},relative:function(){return o},overflowBoundaryElement:function(){var e=Object.keys(It.childContextTypes).filter(function(e){return Boolean(n.context[e])}).reduce(function(e,t){return Vt({},e,Ft({},t,n.context[t]))},{}),t=k.a.createElement(ze.Provider,{value:n.props.direction},k.a.createElement(It,e,o));return k.a.createElement(vt,{onOpen:n.handleOpen,portalMount:n.props.portalMount},t)}};return c[this.props.position]&&c[this.props.position]()}}]),o}();Ft(qt,"displayName","SLDSDialog"),Ft(qt,"propTypes",{align:o.a.oneOf(["top","top left","top right","right","right top","right bottom","bottom","bottom left","bottom right","left","left top","left bottom"]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),contentsClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),children:o.a.node.isRequired,closeOnTabKey:o.a.bool,containerProps:o.a.object,direction:o.a.oneOf([xe.LTR,xe.RTL]),hasNubbin:o.a.bool,hasStaticAlignment:o.a.bool,inheritWidthOf:o.a.oneOf(["target","menu","none"]),offset:o.a.string,onClose:o.a.func,onKeyDown:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,onOpen:o.a.func,onRequestTargetElement:o.a.func.isRequired,outsideClickIgnoreClass:o.a.string,portalMount:o.a.func,position:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]).isRequired,style:o.a.object,variant:o.a.oneOf(["dropdown","popover","tooltip"])}),Ft(qt,"defaultProps",{align:"bottom left",direction:xe.LTR,offset:"0px 0px",outsideClickIgnoreClass:"ignore-react-onclickoutside"}),qt.contextTypes={iconPath:o.a.string,onRequestIconPath:o.a.func,actionSprite:o.a.string,customSprite:o.a.string,doctypeSprite:o.a.string,standardSprite:o.a.string,utilitySprite:o.a.string};var Kt=Ge(qt);var Wt=function(){},Ut=n(31),Gt=function(){var e=H.a.apply(void 0,arguments);return""===e?void 0:e},Yt=n(32),Qt=n.n(Yt);function Jt(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Xt(t,e,n[e])})}return t}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}function $t(e){Wt(Q,e,Ut);var t=e.category,n=e.className,r=e.colorVariant,o=e.containerClassName,c=e.containerStyle,a=e.icon,s=e.inverse,i=e.name,l=e.path,p=e.size,u=e.title,d=e.productTheme,h=e.style;d&&(h=Jt({backgroundColor:Qt.a[d]},h));var f="string"==typeof e.assistiveText?e.assistiveText:Jt({},Zt.assistiveText,e.assistiveText).label,m=i?i.replace(/_/g,"-"):"";return k.a.createElement("span",{className:Gt(Xt({"slds-icon_container":"utility"!==t,"slds-icon_container_circle":"action"===t},"slds-icon-".concat(t,"-").concat(m),"utility"!==t&&"doctype"!==t&&!l),o),style:c,title:u},k.a.createElement(Xe,{"aria-hidden":"true",category:t,className:Gt(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?!s:s,"slds-icon-text-warning":"warning"===r,"slds-icon-text-error":"error"===r,"slds-icon-text-light":"light"===r}),icon:a,name:i,path:l,style:h}),f?k.a.createElement("span",{className:"slds-assistive-text"},f):"")}var Zt={assistiveText:{},category:"standard",colorVariant:"default",size:"medium"};$t.displayName=Q,$t.propTypes={assistiveText:o.a.shape({label:o.a.string}),category:o.a.oneOf(["action","custom","doctype","standard","utility"]).isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),containerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),containerStyle:o.a.object,colorVariant:o.a.oneOf(["base","default","error","light","warning"]),icon:o.a.object,inverse:o.a.bool,name:o.a.string,path:o.a.string,productTheme:o.a.oneOf(["global-setup","service-cloud","industry-cloud","sales-cloud","commerce-cloud","community-cloud","marketing-cloud","quip"]),size:o.a.oneOf(["xx-small","x-small","small","medium","large"]),style:o.a.object,title:o.a.string},$t.defaultProps=Zt;var en=$t;var tn=function(){},nn=n(33);function rn(e){return(rn="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 on(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){return(cn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function an(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sn(e,t){return(sn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ln(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var pn={align:o.a.oneOf(["top","top left","top right","right","right top","right bottom","bottom","bottom left","bottom right","left","left top","left bottom"]).isRequired,assistiveText:o.a.shape({tooltipTipLearnMoreIcon:o.a.string,triggerLearnMoreIcon:o.a.string}),children:o.a.node,content:o.a.node.isRequired,dialogClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),hasStaticAlignment:o.a.bool,hoverCloseDelay:o.a.number,hoverOpenDelay:o.a.number,id:o.a.string,labels:o.a.shape({learnMoreAfter:o.a.string,learnMoreBefore:o.a.string}),isOpen:o.a.bool,triggerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),position:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),triggerStyle:o.a.object,theme:o.a.oneOf(["info","error"]),variant:o.a.oneOf(["base","learnMore","list-item"])},un={assistiveText:{tooltipTipLearnMoreIcon:"this link",triggerLearnMoreIcon:"Help"},align:"top",content:k.a.createElement("span",null,"Tooltip"),labels:{learnMoreAfter:"to learn more.",learnMoreBefore:"Click"},hoverCloseDelay:50,hoverOpenDelay:0,position:"absolute",theme:"info",variant:"base"},dn=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),ln(an(t=function(e,t){return!t||"object"!==rn(t)&&"function"!=typeof t?an(e):t}(this,cn(n).call(this,e))),"handleCancel",function(){clearTimeout(t.tooltipTimeout),t.setState({isOpen:!1})}),ln(an(t),"handleMouseEnter",function(){clearTimeout(t.tooltipTimeout),t.tooltipTimeout=setTimeout(function(){t.isUnmounting||t.setState({isOpen:!0})},t.props.hoverOpenDelay)}),ln(an(t),"handleMouseLeave",function(){clearTimeout(t.tooltipTimeout),t.tooltipTimeout=setTimeout(function(){t.isUnmounting||t.setState({isOpen:!1})},t.props.hoverCloseDelay)}),ln(an(t),"saveTriggerRef",function(e){t.trigger=e,t.state.triggerRendered||t.setState({triggerRendered:!0})}),t.state={isOpen:!1},t.tooltipTimeout={},tn(oe,e,nn),t.generatedId=f.a.generate(),t}return 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)}(n,k.a.Component),function(e,t,n){t&&on(e.prototype,t),n&&on(e,n)}(n,[{key:"componentWillUnmount",value:function(){this.isUnmounting=!0}},{key:"getContent",value:function(){var e,n=this,t=0===k.a.Children.count(this.props.children);return e=t&&this.props.onClickTrigger?[k.a.createElement("a",{href:"javascript:void(0)",onClick:this.props.onClickTrigger},k.a.createElement(en,{category:"utility",name:"info",assistiveText:{label:this.props.assistiveText.triggerLearnMoreIcon},size:"x-small"}))]:t?[k.a.createElement(Cn,{"aria-disabled":!0,assistiveText:{icon:this.props.assistiveText.triggerLearnMoreIcon},iconCategory:"utility",iconName:"info",variant:"icon"})]:this.props.children,k.a.Children.map(e,function(e,t){return k.a.cloneElement(e,{key:t,"aria-describedby":n.getIsOpen()?n.getId():void 0,onBlur:n.handleMouseLeave,onFocus:n.handleMouseEnter,onMouseEnter:n.handleMouseEnter,onMouseLeave:n.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?k.a.createElement(Kt,{closeOnTabKey:!0,hasNubbin:!0,contentsClassName:H()("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()):k.a.createElement("span",null)}},{key:"getTooltipContent",value:function(){return k.a.createElement("div",{className:"slds-popover__body"},this.props.content,"learnMore"===this.props.variant&&this.props.onClickTrigger?k.a.createElement("div",{className:"slds-m-top_x-small","aria-hidden":"true"},this.props.labels.learnMoreBefore," ",k.a.createElement(en,{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.target?this.props.target:this.trigger}},{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){ln(t,e,n[e])})}return t}({display:"inline-block"},this.props.triggerStyle);return k.a.createElement("div",{className:H()("slds-tooltip-trigger",this.props.triggerClassName),style:e,ref:this.saveTriggerRef},this.getContent(),this.getTooltip())}}]),n}();dn.contextTypes={iconPath:o.a.string},dn.displayName="SLDSPopoverTooltip",dn.propTypes=pn,dn.defaultProps=un;var hn=dn;function fn(n){return Object.keys(n).reduce(function(e,t){return"aria-"===t.substr(0,5)&&(e[t]=n[t]),e},{})}var mn=new Set(["form","formAction","formEncType","formMethod","formNoValidate","formTarget"]);function vn(e){return(vn="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 gn(){return(gn=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 bn(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 yn(e){return(yn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function wn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _n(e,t){return(_n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 zn={assistiveText:{icon:""},disabled:!1,hint:!1,iconSize:"medium",responsive:!1,type:"button",variant:"neutral"},On=function(){function t(e){var u;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),xn(wn(u=function(e,t){return!t||"object"!==vn(t)&&"function"!=typeof t?wn(e):t}(this,yn(t).call(this,e))),"getClassName",function(){var e,t="icon"===u.props.variant,n=u.props.iconVariant,r="more"===n,o="border"===n,c="global-header"===n,a="base"!==u.props.variant&&!n&&!u.props.inverse&&"link"!==u.props.variant||"bare"===n,s=u.props.inverse&&!t,i=u.props.inverse&&t&&!r&&!o,l=u.props.inverse&&r,p=u.props.inverse&&o;return"global-header"===n&&(n="container"),H()((xn(e={"slds-button":"link"!==u.props.variant},"slds-button_".concat(u.props.variant),a),xn(e,"slds-button_inverse",s),xn(e,"slds-button_icon-inverse",i||l),xn(e,"slds-button_icon-border-inverse",p),xn(e,"slds-button_icon-".concat(n),n&&!p),xn(e,"slds-global-header__button_icon",c),xn(e,"slds-button_icon-".concat(u.props.iconSize),n&&"medium"!==u.props.iconSize),xn(e,"slds-button_reset","link"===u.props.variant),xn(e,"slds-text-link","link"===u.props.variant),e),u.props.className)}),xn(wn(u),"handleClick",function(e){u.props.onClick&&u.props.onClick(e,{})}),xn(wn(u),"renderIcon",function(e){var t=!u.props.iconSize||u.props.iconVariant?null:u.props.iconSize;return k.a.createElement(tt,{category:u.props.iconCategory||"utility",className:H()({"slds-global-header__icon":"global-header"===u.props.iconVariant},u.props.iconClassName),hint:u.props.hint,inverse:u.props.inverse,name:e,path:u.props.iconPath,position:u.props.iconPosition,size:t})}),xn(wn(u),"renderLabel",function(){var e=u.props.iconName||u.props.iconPath,t="string"==typeof u.props.assistiveText?u.props.assistiveText:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){xn(t,e,n[e])})}return t}({},zn.assistiveText,u.props.assistiveText).icon;return e&&t?k.a.createElement("span",{className:"slds-assistive-text"},t):u.props.label}),xn(wn(u),"renderButton",function(){var e=fn(u.props),t=function(n){return Object.keys(n).reduce(function(e,t){return mn.has(t)&&(e[t]=n[t]),e},{})}(u.props);return k.a.createElement("button",gn({className:u.getClassName(),disabled:u.props.disabled,id:u.props.id,onBlur:u.props.onBlur,onClick:u.handleClick,onFocus:u.props.onFocus,onKeyDown:u.props.onKeyDown,onKeyPress:u.props.onKeyPress,onKeyUp:u.props.onKeyUp,onMouseDown:u.props.onMouseDown,onMouseEnter:u.props.onMouseEnter,onMouseLeave:u.props.onMouseLeave,onMouseUp:u.props.onMouseUp,ref:function(e){u.props.buttonRef&&u.props.buttonRef(e)},tabIndex:u.props.tabIndex,title:u.props.title,type:u.props.type||"button",style:u.props.style},e,t),"right"===u.props.iconPosition?u.renderLabel():null,u.props.iconName||u.props.iconPath?u.renderIcon(u.props.iconName):null,"more"===u.props.iconVariant?k.a.createElement(tt,{category:"utility",name:"down",size:"x-small",className:u.props.iconClassName}):null,"left"!==u.props.iconPosition&&u.props.iconPosition?null:u.renderLabel(),u.props.children)}),xn(wn(u),"renderTooltip",function(){return k.a.createElement(hn,{content:u.props.tooltip},u.renderButton)}),nt(y,e,rt),u}return 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)}(t,k.a.Component),function(e,t,n){t&&bn(e.prototype,t),n&&bn(e,n)}(t,[{key:"render",value:function(){return this.props.tooltip?this.renderTooltip():this.renderButton()}}]),t}();xn(On,"displayName",y),xn(On,"propTypes",{assistiveText:o.a.shape({icon:o.a.string}),buttonRef:o.a.func,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),disabled:o.a.bool,hint:o.a.bool,iconCategory:we()(o.a.oneOf(["action","custom","doctype","standard","utility"]),function(e){return!!e.iconName}),iconClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),iconName:o.a.string,iconPath:o.a.string,iconPosition:o.a.oneOf(["left","right"]),iconSize:o.a.oneOf(["x-small","small","medium","large"]),iconVariant:o.a.oneOf(["bare","container","border","border-filled","brand","more","global-header"]),id:o.a.string,inverse:o.a.bool,label:o.a.oneOfType([o.a.string,o.a.node]),onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,onMouseDown:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,onMouseUp:o.a.func,responsive:o.a.bool,tabIndex:o.a.string,type:o.a.oneOf(["reset","submit","button"]),title:o.a.string,tooltip:o.a.node,variant:o.a.oneOf(["base","link","neutral","brand","outline-brand","destructive","success","text-destructive","icon"]),style:o.a.object}),xn(On,"defaultProps",zn);function Sn(e){var t=e.children,n=e.expanded,r=e.id,o=e.panelContentActions,c=e.summary,a=e.title,s=e.onClickSummary,i=e.onKeyDownSummary,l=e.onTogglePanel,p=e.refs;return k.a.createElement("li",{className:"slds-accordion__list-item"},k.a.createElement("section",{className:H()("slds-accordion__section",{"slds-is-open":n})},k.a.createElement("div",{className:"slds-accordion__summary"},k.a.createElement("h3",{className:"slds-text-heading_small slds-accordion__summary-heading slds-has-flexi-truncate"},k.a.createElement(Cn,{"aria-controls":"".concat(r,"-accordion-panel"),"aria-expanded":n,buttonRef:p.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:i,onClick:function(e){s(),l(e)},variant:"base"},k.a.createElement("span",{className:"slds-truncate",title:a||c},c))),o),k.a.createElement("div",{"aria-hidden":!n,className:"slds-accordion__content",id:"".concat(r,"-accordion-panel")},t)))}var Cn=On,En={children:o.a.node,expanded:o.a.bool.isRequired,id:o.a.oneOfType([o.a.number,o.a.string]).isRequired,panelContentActions:o.a.node,onKeyDownSummary:o.a.func,onTogglePanel:o.a.func.isRequired,refs:o.a.shape({summaryButton:o.a.func}),summary:o.a.oneOfType([o.a.string,o.a.node]).isRequired,title:o.a.string},Mn=Sn;Sn.propTypes=En,Sn.displayName="SLDSAccordionPanel";var Tn=n(4),Nn=n.n(Tn);var kn=function(){},Hn=n(34);function jn(e){return(jn="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){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 In(e){return(In=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}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,t){return(Vn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Dn={assistiveText:o.a.shape({closeButton:o.a.oneOfType([o.a.string,o.a.node])}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),dismissible:o.a.bool,icon:o.a.node,labels:o.a.shape({heading:o.a.oneOfType([o.a.string,o.a.node]),headingLink:o.a.oneOfType([o.a.string,o.a.node])}),onClickHeadingLink:o.a.func,onRequestClose:o.a.func,style:o.a.object,variant:o.a.oneOf(["error","info","offline","warning"]).isRequired},Rn={assistiveText:{closeButton:"Close"},labels:{},variant:"info"},An=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(Ln(t=function(e,t){return!t||"object"!==jn(t)&&"function"!=typeof t?Ln(e):t}(this,In(n).call(this,e))),"saveButtonRef",function(e){t.closeButton=e,t.state.isInitialRender&&(Et.storeActiveElement(),t.closeButton&&t.closeButton.focus(),t.setState({isInitialRender:!1}))}),t.state={isInitialRender:!0},kn("SLDSAlert",e,Hn),t}return 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)}(n,k.a.Component),function(e,t,n){t&&Pn(e.prototype,t),n&&Pn(e,n)}(n,[{key:"componentWillUnmount",value:function(){Et.returnFocusToStoredElement()}},{key:"render",value:function(){var e=Nn()({},Rn.assistiveText,this.props.assistiveText),t=Nn()({},Rn.labels,this.props.labels),n=t.heading||this.props.content,r=this.props.onRequestClose||this.props.onDismiss,o={info:k.a.createElement(en,{category:"utility",name:"info"}),offline:k.a.createElement(en,{category:"utility",name:"offline"}),warning:k.a.createElement(en,{category:"utility",name:"warning"}),error:k.a.createElement(en,{category:"utility",name:"error"})},c=this.props.icon?this.props.icon:o[this.props.variant];this.props.iconName&&this.props.iconCategory&&(c=k.a.createElement(en,{category:this.props.iconCategory,name:this.props.iconName}));var a=k.a.cloneElement(c,{containerClassName:"slds-m-right_x-small",inverse:!0,size:"x-small"});return k.a.createElement("div",{className:Gt("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},k.a.createElement("span",{className:"slds-assistive-text"},{info:"info",warning:"warning",error:"error",offline:"offline"}[this.props.variant]),a,k.a.createElement("h2",null,n," ",t.headingLink?k.a.createElement("a",{onClick:this.props.onClickHeadingLink,href:"javascript:void(0);"},t.headingLink):null),this.props.dismissible?k.a.createElement(Cn,{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)}}]),n}();An.defaultProps=Rn,An.displayName="SLDSAlert",An.propTypes=Dn;var Bn=An;function Fn(e){return(Fn="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 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 Kn(e,t){return!t||"object"!==Fn(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Wn(e){return(Wn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Un(e,t){return(Un=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Gn={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),children:o.a.node},Yn=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Kn(this,Wn(e).apply(this,arguments))}return 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&&Un(e,t)}(e,k.a.Component),function(e,t,n){t&&qn(e.prototype,t),n&&qn(e,n)}(e,[{key:"render",value:function(){return k.a.createElement("div",{className:Gt("slds-notify-container",this.props.className)},this.props.children)}}]),e}();Yn.displayName="SLDSAlertContainer",Yn.propTypes=Gn;var Qn=Yn,Jn=n(5),Xn=n.n(Jn),$n=function(){},Zn=function(){};var er=function(){},tr=n(13),nr=n(20),rr=n.n(nr);var or,cr=function(){},ar="assets/",sr={setAssetsPath:function(e){e&&(ar=e)},getAssetsPath:function(){return String(ar)},setAppElement:function(e){e&&(or=e,rr.a.setAppElement(e))},getAppElement:function(){return or}};var ir=function(){},lr=n(35);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 ur(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){dr(t,e,n[e])})}return t}function dr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hr(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){return(fr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function mr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vr(e,t){return(vr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var gr="undefined"!=typeof document,br="undefined"!=typeof window,yr={align:o.a.oneOf(["top","center"]),ariaHideApp:o.a.bool,assistiveText:o.a.shape({dialogLabel:o.a.string,dialogLabelledBy:o.a.string,closeButton:o.a.string}),children:o.a.node.isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),containerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),contentClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),contentStyle:o.a.object,directional:o.a.bool,disableClose:o.a.bool,dismissOnClickOutside:o.a.bool,onRequestClose:o.a.func,footer:o.a.oneOfType([o.a.array,o.a.node]),header:o.a.node,headerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isOpen:o.a.bool.isRequired,parentSelector:o.a.func,portalClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),prompt:o.a.oneOf(["success","warning","error","wrench","offline","info"]),size:o.a.oneOf(["small","medium","large"]),tagline:o.a.node,title:o.a.node,heading:o.a.node,toast:o.a.node},wr={assistiveText:{dialogLabel:"",dialogLabelledBy:"",closeButton:"Close"},align:"center",ariaHideApp:!0},_r=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=function(e,t){return!t||"object"!==pr(t)&&"function"!=typeof t?mr(e):t}(this,fr(n).call(this,e))).state={isClosing:!1},t.handleModalClick=t.handleModalClick.bind(mr(t)),t.closeModal=t.closeModal.bind(mr(t)),t.dismissModalOnClickOutside=t.dismissModalOnClickOutside.bind(mr(t)),t.generatedId=f.a.generate(),cr("SLDSModal",e,lr),e.ariaHideApp&&ir(),t}return 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&&vr(e,t)}(n,k.a.Component),function(e,t,n){t&&hr(e.prototype,t),n&&hr(e,n)}(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=it.a.findDOMNode(this);n&&n.parentNode&&n.parentNode.getAttribute("data-slds-modal")&&(it.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";return ur({},this.props.title||this.props.heading||this.props.header?{}:{borderTopLeftRadius:e,borderTopRightRadius:e},this.props.footer?{}:{borderBottomLeftRadius:e,borderBottomRightRadius:e})}},{key:"getModal",value:function(){var e="top"===this.props.align?{justifyContent:"flex-start"}:null,t=ur({},this.getBorderRadius(),this.props.contentStyle||{}),n=null;return this.props.assistiveText.dialogLabelledBy?n=this.props.assistiveText.dialogLabelledBy:this.props.assistiveText.dialogLabel||!this.props.heading&&!this.props.title||(n="".concat(this.getId(),"-heading")),k.a.createElement("section",{"aria-describedby":"".concat(this.getId(),"-modal-content"),"aria-label":this.props.assistiveText.dialogLabel,"aria-labelledby":n,"aria-modal":!0,className:H()("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"},k.a.createElement("div",{className:H()("slds-modal__container",this.props.containerClassName),style:e},this.headerComponent(),k.a.createElement("div",{className:H()("slds-modal__content",this.props.contentClassName),id:"".concat(this.getId(),"-modal-content"),style:t,onClick:this.handleModalClick},this.props.children),this.footerComponent()))}},{key:"setReturnFocus",value:function(){this.setState({returnFocusTo:gr?document.activeElement:null})}},{key:"clearBodyScroll",value:function(){br&&gr&&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=k.a.createElement("footer",{className:H()(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=ur({},wr.assistiveText,this.props.assistiveText),o=this.props.closeButtonAssistiveText||r.closeButton,c=k.a.createElement(Cn,{assistiveText:{icon:o},iconCategory:"utility",iconName:"close",iconSize:"large",inverse:!0,className:"slds-button_icon slds-modal__close",onClick:this.closeModal,title:o,variant:"icon"});return(!t&&(this.props.heading||this.props.title)||this.props.tagline)&&(t=k.a.createElement("div",null,this.props.toast,k.a.createElement("h2",{className:H()({"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?k.a.createElement("p",{className:"slds-m-top_x-small"},this.props.tagline):null)),k.a.createElement("header",{className:H()("slds-modal__header",(e={"slds-modal__header_empty":n},dr(e,"slds-theme_".concat(this.props.prompt),this.isPrompt()),dr(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(){br&&gr&&document.body&&(this.props.isOpen?document.body.style.overflow="hidden":document.body.style.overflow="inherit")}},{key:"render",value:function(){return k.a.createElement(rr.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:H()("ReactModalPortal",this.props.portalClassName)},this.getModal(),k.a.createElement("div",{className:"slds-backdrop slds-backdrop_open"}))}}]),n}();_r.displayName="SLDSModal",_r.propTypes=yr,_r.defaultProps=wr;var xr=_r;function zr(e){return(zr="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){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){return(Sr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Cr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Er(e,t){return(Er=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Mr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Tr={assistiveText:{trigger:"Open App Launcher"},ariaHideApp:!0,title:"App Launcher"},Nr=function(){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Mr(Cr(n=function(e,t){return!t||"object"!==zr(t)&&"function"!=typeof t?Cr(e):t}(this,Sr(t).call(this,e))),"openAppLauncher",function(e){n.setState({isOpen:!0}),Xn()(n.props.triggerOnClick)&&n.props.triggerOnClick(e,{})}),Mr(Cr(n),"closeAppLauncher",function(e){n.setState({isOpen:!1}),Xn()(n.props.onClose)&&n.props.onClose(e,{})}),Mr(Cr(n),"renderSearch",function(){var e;return n.props.search&&(e=k.a.createElement("div",{className:"slds-app-launcher__header-search",ref:function(e){if(e){if(!n.focusedOnSearch){var t=e.querySelector("input");t&&setTimeout(function(){t.focus(),n.focusedOnSearch=!0},0)}}else n.focusedOnSearch=!1}},n.props.search)),e}),n.generatedId=f.a.generate(),n.state={isOpen:!1},er(i,e,tr),n}return 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)}(t,k.a.Component),function(e,t,n){t&&Or(e.prototype,t),n&&Or(e,n)}(t,[{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=k.a.createElement(k.a.Fragment,null,k.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:k.a.createElement("span",{className:"slds-size_1-of-7"})),r=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Mr(t,e,n[e])})}return t}({},Tr.assistiveText,this.props.assistiveText),o=this.props.triggerAssistiveText||r.trigger;return k.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},k.a.createElement("div",{className:"slds-context-bar__icon-action"},k.a.createElement("button",{"aria-haspopup":"true",className:"slds-button slds-icon-waffle_container slds-context-bar__button",onClick:this.openAppLauncher,title:o,type:"button"},k.a.createElement("span",{className:"slds-icon-waffle"},k.a.createElement("span",{className:"slds-r1"}),k.a.createElement("span",{className:"slds-r2"}),k.a.createElement("span",{className:"slds-r3"}),k.a.createElement("span",{className:"slds-r4"}),k.a.createElement("span",{className:"slds-r5"}),k.a.createElement("span",{className:"slds-r6"}),k.a.createElement("span",{className:"slds-r7"}),k.a.createElement("span",{className:"slds-r8"}),k.a.createElement("span",{className:"slds-r9"})),o&&k.a.createElement("span",{className:"slds-assistive-text"},o))),k.a.createElement(xr,{ariaHideApp:this.props.ariaHideApp,assistiveText:{dialogLabelledBy:"".concat(this.getId(),"-app-launcher-title")},className:H()("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?k.a.createElement("span",{className:"slds-context-bar__label-action slds-context-bar__app-name"},this.props.noTruncate?this.props.triggerName:k.a.createElement("span",{className:"slds-truncate",title:this.props.triggerName},this.props.triggerName)):null)}}]),t}();Mr(Nr,"displayName",i),Mr(Nr,"propTypes",{assistiveText:o.a.shape({trigger:o.a.string}),ariaHideApp:o.a.bool,children:o.a.node.isRequired,id:o.a.string,isOpen:o.a.bool,modalClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),modalHeaderButton:o.a.node,noTruncate:o.a.bool,onClose:o.a.func,search:o.a.node,title:o.a.string,triggerName:o.a.node,triggerOnClick:o.a.func}),Mr(Nr,"defaultProps",Tr);var kr=Nr;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 jr(){return(jr=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 Pr(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 Ir(e){return(Ir=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Lr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Vr(e,t){return(Vr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Dr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Rr={assistiveText:o.a.shape({toggleSection:o.a.string}),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isOpen:o.a.bool,nonCollapsible:o.a.bool,onToggleOpen:o.a.func,title:o.a.string.isRequired},Ar=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),Dr(Lr(t=function(e,t){return!t||"object"!==Hr(t)&&"function"!=typeof t?Lr(e):t}(this,Ir(n).call(this,e))),"getId",function(){return t.props.id||t.generatedId}),Dr(Lr(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=f.a.generate(),t.state={isOpen:!0},t}return 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&&Vr(e,t)}(n,k.a.Component),function(e,t,n){t&&Pr(e.prototype,t),n&&Pr(e,n)}(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=k.a.createElement("span",{className:H()("slds-truncate",{"slds-p-horizontal_small":!!this.props.nonCollapsible}),title:this.props.title},this.props.title);return k.a.createElement("div",{className:H()("slds-section",{"slds-is-open":t},this.props.className)},k.a.createElement("h3",{className:H()("slds-section__title",{"slds-theme_shade":!!this.props.nonCollapsible})},this.props.nonCollapsible?r:k.a.createElement(Cn,jr({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)),k.a.createElement("div",{"aria-hidden":!t,className:"slds-section__content",id:e},this.props.children))}}]),n}();Ar.displayName="SLDSExpandableSection",Ar.propTypes=Rr,Ar.defaultProps={assistiveText:{toggleSection:"Toggle visibility of section"},nonCollapsible:!1};var Br=Ar;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 qr(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 Kr(e){return(Kr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Wr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ur(e,t){return(Ur=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Gr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Yr=function(){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Gr(Wr(n=function(e,t){return!t||"object"!==Fr(t)&&"function"!=typeof t?Wr(e):t}(this,Kr(t).call(this,e))),"state",{isOpen:!0}),Gr(Wr(n),"toggleOpen",function(e,t){n.props.onToggleOpen?n.props.onToggleOpen(e,t):n.setState(function(e){return{isOpen:!e.isOpen}})}),er(l,e,tr),n}return 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&&Ur(e,t)}(t,k.a.Component),function(e,t,n){t&&qr(e.prototype,t),n&&qr(e,n)}(t,[{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Gr(t,e,n[e])})}return t}({},this.props,{isOpen:void 0!==this.props.isOpen?this.props.isOpen:this.state.isOpen,onToggleOpen:this.toggleOpen}),n="tiles",t=k.a.Children.map(this.props.children,function(e){var t="slds-p-horizontal_small slds-size_1-of-1 slds-medium-size_1-of-3";return(e&&e.type&&e.type.displayName!==p||e&&!e.type)&&(n="links"),"links"===n&&(t="slds-col_padded slds-p-vertical_xx-small slds-size_1-of-5"),k.a.createElement("li",{className:t},e)});return k.a.createElement(Br,e,k.a.createElement("ul",{className:H()("slds-grid slds-wrap",{"slds-grid_pull-padded":"tiles"===n})},t))}}]),t}();Gr(Yr,"displayName",l),Gr(Yr,"propTypes",{assistiveText:o.a.shape({toggleSection:o.a.string}),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isOpen:o.a.bool,nonCollapsible:o.a.bool,onToggleOpen:o.a.func,title:o.a.string.isRequired});function Qr(t){if(t.search){var e;if("string"==typeof t.children)e=k.a.createElement($r.a,{className:t.className,matchClass:null,matchElement:"mark",search:t.search,title:t.children},t.children);else{if(t.children.props){var n=t.children.props.children;e=n instanceof Array?n.map(function(e){return"string"==typeof e?k.a.createElement($r.a,{key:e,className:t.className,matchClass:null,matchElement:"mark",search:t.search,title:e},e):e}):n}}return k.a.createElement("span",null,e)}return"string"==typeof t.children?k.a.createElement("span",{className:t.className,title:t.children},t.children):k.a.createElement("span",{className:t.className},t.children)}var Jr=Yr,Xr=n(25),$r=n.n(Xr);Qr.displayName="SLDSHighlighter",Qr.propTypes={children:o.a.oneOfType([o.a.string,o.a.number,o.a.bool,o.a.node]),className:o.a.string,search:o.a.any};var Zr=Qr;function eo(e){return(eo="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 to(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 no(e,t){return!t||"object"!==eo(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function ro(e){return(ro=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function oo(e,t){return(oo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function co(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ao=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),no(this,ro(e).apply(this,arguments))}return 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&&oo(e,t)}(e,k.a.Component),function(e,t,n){t&&to(e.prototype,t),n&&to(e,n)}(e,[{key:"render",value:function(){var t=this,e=this.props.title;return e||"string"!=typeof this.props.children||(e=this.props.children),k.a.createElement("a",{href:this.props.href,className:H()("slds-truncate",this.props.className),onClick:function(e){t.props.onClick&&(e.preventDefault(),t.props.onClick(e,{href:t.props.href}))},title:e},k.a.createElement(Zr,{search:this.props.search},this.props.children))}}]),e}();co(ao,"displayName","SLDSAppLauncherLink"),co(ao,"propTypes",{children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),href:o.a.string,onClick:o.a.func,search:o.a.string,title:o.a.string}),co(ao,"defaultProps",{href:"javascript:void(0);"});var so=ao,io=n(36),lo=n.n(io);function po(e){return(po="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){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}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){return(fo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function mo(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vo(e,t){return(vo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function go(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var bo,yo,wo="undefined"!=typeof document,_o=function(){};wo&&(bo=document.createElement("canvas"),document.createDocumentFragment().appendChild(bo),yo=bo.getContext("2d"),_o=lo()(function(e,t){return yo.font=t,yo.measureText(e).width}));var xo=function(){function o(){var e,T;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return go(mo(T=function(e,t){return!t||"object"!==po(t)&&"function"!=typeof t?mo(e):t}(this,(e=fo(o)).call.apply(e,[this].concat(n)))),"state",{}),go(mo(T),"onResize",function(){T.update(T.props)}),go(mo(T),"getRenderText",function(e,t){if(e){T.scope=e;var n=t||T.props,r=(n.containerClassName,n.line),o=n.prefix,c=n.suffix,a=n.text,s=n.textTruncateChild,i=n.truncateText,l=n.wrapper,p=uo(n,["containerClassName","line","prefix","suffix","text","textTruncateChild","truncateText","wrapper"]),u=T.scope.getBoundingClientRect().width,d=window.getComputedStyle(T.scope),h=[d["font-weight"],d["font-style"],d["font-size"],d["font-family"]].join(" ");if(0!==u){var f,m,v=a;if(u<_o(a,h)){for(var g=1,b=a.length,y="",w=0,_=0,x=r,z=0,O=!1,S=-1;0!==x;){var C="",E=0;for(o&&x===r-1&&(C+=" ".concat(o),E=.66*o.length),x||(C+=i,c&&(C+=" ".concat(c)));g<=b;){if(y=a.substr(_,g),!((z=_o(y+C,h)+E)<u)){var M=0;do{if(g-=1," "===(y=a.substr(_,g))[y.length-1]&&(y=a.substr(_,g-1)),O&&-1<(S=y.lastIndexOf(" "))&&(g=S,y=a.substr(_,g)),(z=_o(y+C,h)+E)===M){g=0;break}M=z}while(u<=z);_+=g;break}-1===(w=a.indexOf(" ",g+1))?(g+=1,O=!1):(O=!0,g=w)}if(b<=g){_=b;break}x-=1}_!==b&&(v="".concat(a.substr(0,_)).concat(i," "),f=s)}m=l?l(v,f):k.a.createElement("div",p,v,f),T.setState({renderText:m})}else T.setState({renderText:null})}}),go(mo(T),"update",function(e){T.getRenderText(T.scope,e)}),T}return 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&&vo(e,t)}(o,k.a.Component),function(e,t,n){t&&ho(e.prototype,t),n&&ho(e,n)}(o,[{key:"componentDidMount",value:function(){window.addEventListener("resize",this.onResize,!1)}},{key:"componentWillReceiveProps",value:function(e){this.update(e)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onResize,!1)}},{key:"render",value:function(){var e=this.props.containerClassName;return k.a.createElement("div",{ref:this.getRenderText,className:e,style:{overflow:"hidden"}},this.state.renderText)}}]),o}();go(xo,"displayName","TextTruncate"),go(xo,"propTypes",{containerClassName:o.a.string,line:o.a.number,prefix:o.a.string,suffix:o.a.string,text:o.a.string,textTruncateChild:o.a.node,truncateText:o.a.string,wrapper:o.a.func}),go(xo,"defaultProps",{line:1,text:"",truncateText:"…"});var zo=xo;function Oo(e){return(Oo="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 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 Co(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 Eo(e){return(Eo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Mo(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function To(e,t){return(To=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var No={assistiveText:o.a.shape({dragIconText:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),description:o.a.string,descriptionHeading:o.a.string,href:o.a.string,iconBackgroundColor:o.a.string,iconNode:o.a.node,iconText:o.a.string,isOpenTooltip:o.a.bool,moreLabel:o.a.string,onClick:o.a.func,search:o.a.string,title:o.a.string.isRequired},ko=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(Mo(t=function(e,t){return!t||"object"!==Oo(t)&&"function"!=typeof t?Mo(e):t}(this,Eo(n).call(this,e))),"handleClick",function(e){t.props.onClick&&(e.preventDefault(),t.props.onClick(e,{href:t.props.href}))}),er(p,e,tr),t}return 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&&To(e,t)}(n,k.a.Component),function(e,t,n){t&&Co(e.prototype,t),n&&Co(e,n)}(n,[{key:"render",value:function(){var n=this,e={};return this.props.iconBackgroundColor&&(e.backgroundColor=this.props.iconBackgroundColor),k.a.createElement("div",{className:H()("slds-app-launcher__tile slds-text-link_reset slds-is-draggable",this.props.className),onClick:this.handleClick,role:"button",tabIndex:"0"},k.a.createElement("div",{className:"slds-app-launcher__tile-figure"},this.props.iconNode||k.a.createElement("span",{className:"slds-avatar slds-avatar_large"},k.a.createElement("abbr",{className:"slds-avatar__initials slds-icon-custom-27",style:e,title:this.props.title},this.props.iconText)),k.a.createElement("div",{className:"slds-m-top_xxx-small"},k.a.createElement(Cn,So({assistiveText:{icon:this.props.assistiveText.dragIconText},iconCategory:"utility",iconName:"rows",title:this.props.assistiveText.dragIconText,variant:"icon"},{"aria-pressed":!1})))),k.a.createElement("div",{className:"slds-app-launcher__tile-body"},k.a.createElement("a",{href:this.props.href},k.a.createElement(Zr,{search:this.props.search},this.props.title)),k.a.createElement(zo,{line:2,prefix:this.props.descriptionHeading&&this.props.descriptionHeading.toUpperCase(),suffix:this.props.moreLabel,text:this.props.description,textTruncateChild:k.a.createElement(hn,{align:"bottom",content:k.a.createElement(Zr,{search:this.props.search},this.props.description),isOpen:this.props.isOpenTooltip},k.a.createElement(Cn,{className:"slds-button_reset slds-text-link",variant:"base"},this.props.moreLabel)),wrapper:function(e,t){return k.a.createElement(k.a.Fragment,null,n.props.descriptionHeading&&k.a.createElement("div",{className:"slds-text-heading_label",style:{letterSpacing:"0.025rem"}},n.props.descriptionHeading," "),k.a.createElement(Zr,{search:n.props.search},e),t&&" ",t)}})))}}]),n}();ko.displayName=p,ko.defaultProps={assistiveText:{dragIconText:"Reorder"},href:"javascript:void(0);",moreLabel:" More"},ko.propTypes=No;var Ho=ko;var jo=function(){},Po=n(37);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 Lo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Vo(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 Do(e,t){return!t||"object"!==Io(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Ro(e){return(Ro=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ao(e,t){return(Ao=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Bo={assistiveText:o.a.shape({icon:o.a.string}),imgAlt:o.a.string,imgSrc:o.a.string,initials:o.a.string,inverse:o.a.bool,label:o.a.string,variant:o.a.oneOf(["entity","user"]).isRequired,size:o.a.oneOf(["x-small","small","medium","large"]).isRequired,title:o.a.string},Fo={assistiveText:{icon:"User or Account Icon"},imgAlt:"",size:"medium",title:"user avatar",variant:"user"},qo=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=Do(this,Ro(n).call(this,e))).state={imgLoadError:!1},jo(u,e,Po),t}return 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&&Ao(e,t)}(n,k.a.Component),function(e,t,n){t&&Vo(e.prototype,t),n&&Vo(e,n)}(n,[{key:"buildInitials",value:function(){var e=this.props.label.trim(),t=e.split(" ");return 1<t.length?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,o=t.title;return k.a.createElement("img",{alt:n,src:r,onError:function(){return e.handleImageError()},title:o})}},{key:"renderIconAvatar",value:function(){var e=this.props.variant,t="string"==typeof this.props.assistiveText?this.props.assistiveText:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Lo(t,e,n[e])})}return t}({},Fo.assistiveText,this.props.assistiveText).icon;return k.a.createElement(en,{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,o=e.variant;return k.a.createElement("abbr",{className:Gt("slds-avatar__initials",{"slds-avatar__initials_inverse":n,"slds-icon-standard-account":"entity"===o,"slds-icon-standard-user":"user"===o}),title:r},t||this.buildInitials())}},{key:"render",value:function(){var e=this,t=this.props,n=t.imgSrc,r=t.initials,o=t.variant,c=t.label,a=t.size;return k.a.createElement("div",null,k.a.createElement("span",{className:Gt("slds-avatar",{"slds-avatar_circle":"user"===o,"slds-avatar_x-small":"x-small"===a,"slds-avatar_small":"small"===a,"slds-avatar_medium":"medium"===a,"slds-avatar_large":"large"===a})},!e.state.imgLoadError&&n?e.renderBaseAvatar():r||c&&c.trim()?e.renderInitialsAvatar():e.renderIconAvatar()))}}]),n}();qo.defaultProps=Fo,qo.displayName="SLDSAvatar",qo.propTypes=Bo;var Ko=qo;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 Uo(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 Go(e,t){return!t||"object"!==Wo(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Yo(e){return(Yo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Qo(e,t){return(Qo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Jo=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=Go(this,Yo(n).call(this,e))).generatedId=f.a.generate(),t}return 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)}(n,k.a.Component),function(e,t,n){t&&Uo(e.prototype,t),n&&Uo(e,n)}(n,[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=k.a.createElement("span",{className:H()("slds-badge__icon","slds-badge__icon_".concat(this.props.iconAlignment)),style:this.props.style},this.props.icon);return k.a.createElement("span",{id:this.getId(),className:H()("slds-badge",{"slds-badge_inverse":"inverse"===this.props.color,"slds-badge_lightest":"light"===this.props.color},this.props.className)},"left"===this.props.iconAlignment?k.a.createElement(k.a.Fragment,null,e,this.props.content):k.a.createElement(k.a.Fragment,null,this.props.content,e))}}]),n}();Jo.displayName="SLDSBadge",Jo.propTypes={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,style:o.a.object,color:o.a.oneOf(["default","inverse","light"]),iconAlignment:o.a.oneOf(["left","right"]),content:o.a.oneOfType([o.a.string,o.a.node])},Jo.defaultProps={iconAlignment:"left",color:"default"};var Xo=Jo;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 Zo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ec(e,t){return!t||"object"!==$o(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function tc(e){return(tc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function nc(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 rc(e,t,n){return t&&nc(e.prototype,t),n&&nc(e,n),e}function oc(e,t){return(oc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var cc=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=ec(this,tc(n).call(this,e))).generatedId=f.a.generate(),t}return 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)}(n,k.a.Component),rc(n,null,[{key:"injectLightningBlueStyles",value:function(){return k.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}")}}]),rc(n,[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this.props;return k.a.createElement("div",{style:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Zo(t,e,n[e])})}return t}({background:"rgb(176, 196, 223)",height:"100%",position:"relative",width:"100%",zIndex:1},e.styleContainer)},n.injectLightningBlueStyles(),k.a.createElement("div",{className:Gt("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}();cc.displayName="SLDSBrandBand",cc.propTypes={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,image:o.a.oneOf(["default","none"]),backgroundSize:o.a.oneOf(["contain","cover"]),size:o.a.oneOf(["small","medium","large"]),style:o.a.object,styleContainer:o.a.object,theme:o.a.oneOf(["default","lightning-blue"])},cc.defaultProps={backgroundSize:"contain",image:"default",size:"medium",theme:"default"};var ac=cc;var sc=function(){},ic=n(38);var lc,pc,uc=(void 0===lc&&(lc=0),function(){return++lc}),dc={},hc={},fc=["touchstart","touchmove"];function mc(e,t){var n=null;return-1!==fc.indexOf(t)&&pc&&(n={passive:!e.props.preventDefault}),n}function vc(e){return k.a.createElement("span",{className:"slds-truncate",title:e.label},e.icon,e.label)}var gc=function(r,o){var e,t,c=r.displayName||r.name||"Component";return t=e=function(t){function e(e){var n;return(n=t.call(this,e)||this).__outsideClickHandler=function(e){if("function"!=typeof n.__clickOutsideHandlerProp){var t=n.getInstance();if("function"!=typeof t.props.handleClickOutside){if("function"!=typeof t.handleClickOutside)throw new Error("WrappedComponent: "+c+" lacks a handleClickOutside(event) function for processing outside click events.");t.handleClickOutside(e)}else t.props.handleClickOutside(e)}else n.__clickOutsideHandlerProp(e)},n.__getComponentNode=function(){var e=n.getInstance();return o&&"function"==typeof o.setClickOutsideRef?o.setClickOutsideRef()(e):"function"==typeof e.setClickOutsideRef?e.setClickOutsideRef():Object(st.findDOMNode)(e)},n.enableOnClickOutside=function(){if("undefined"!=typeof document&&!hc[n._uid]){void 0===pc&&(pc=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}}()),hc[n._uid]=!0;var e=n.props.eventTypes;e.forEach||(e=[e]),dc[n._uid]=function(e){null!==n.componentNode&&(n.props.preventDefault&&e.preventDefault(),n.props.stopPropagation&&e.stopPropagation(),n.props.excludeScrollbar&&function(e){return document.documentElement.clientWidth<=e.clientX||document.documentElement.clientHeight<=e.clientY}(e)||function(e,t,n){if(e===t)return!0;for(;e.parentNode;){if(o=n,(r=e)===t||(r.correspondingElement?r.correspondingElement.classList.contains(o):r.classList.contains(o)))return!0;e=e.parentNode}var r,o;return e}(e.target,n.componentNode,n.props.outsideClickIgnoreClass)===document&&n.__outsideClickHandler(e))},e.forEach(function(e){document.addEventListener(e,dc[n._uid],mc(n,e))})}},n.disableOnClickOutside=function(){delete hc[n._uid];var t=dc[n._uid];if(t&&"undefined"!=typeof document){var e=n.props.eventTypes;e.forEach||(e=[e]),e.forEach(function(e){return document.removeEventListener(e,t,mc(n,e))}),delete dc[n._uid]}},n.getRef=function(e){return n.instanceRef=e},n._uid=uc(),n}!function(e,t){e.prototype=Object.create(t.prototype),(e.prototype.constructor=e).__proto__=t}(e,t);var n=e.prototype;return n.getInstance=function(){if(!r.prototype.isReactComponent)return this;var e=this.instanceRef;return e.getInstance?e.getInstance():e},n.componentDidMount=function(){if("undefined"!=typeof document&&document.createElement){var e=this.getInstance();if(o&&"function"==typeof o.handleClickOutside&&(this.__clickOutsideHandlerProp=o.handleClickOutside(e),"function"!=typeof this.__clickOutsideHandlerProp))throw new Error("WrappedComponent: "+c+" lacks a function for processing outside click events specified by the handleClickOutside config option.");this.componentNode=this.__getComponentNode(),this.props.disableOnClickOutside||this.enableOnClickOutside()}},n.componentDidUpdate=function(){this.componentNode=this.__getComponentNode()},n.componentWillUnmount=function(){this.disableOnClickOutside()},n.render=function(){var e=this.props,t=(e.excludeScrollbar,function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(e,["excludeScrollbar"]));return r.prototype.isReactComponent?t.ref=this.getRef:t.wrappedRef=this.getRef,t.disableOnClickOutside=this.disableOnClickOutside,t.enableOnClickOutside=this.enableOnClickOutside,Object(s.createElement)(r,t)},e}(s.Component),e.displayName="OnClickOutside("+c+")",e.defaultProps={eventTypes:["mousedown","touchstart"],excludeScrollbar:o&&o.excludeScrollbar||!1,outsideClickIgnoreClass:"ignore-react-onclickoutside",preventDefault:!1,stopPropagation:!1},e.getClass=function(){return r.getClass?r.getClass():r},t};vc.displayName="SLDSListItemLabel",vc.propTypes={data:o.a.object,icon:o.a.node,index:o.a.number,inverted:o.a.bool,isSelected:o.a.bool,label:o.a.string,value:o.a.any},vc.defaultProps={data:{},index:0,inverted:!1,isSelected:!1,label:"",value:null};var bc=vc;function yc(e){return(yc="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(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Cc(t,e,n[e])})}return t}function _c(){return(_c=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 xc(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 zc(e){return(zc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Oc(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Sc(e,t){return(Sc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ec=function(){function c(){var e,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return Cc(Oc(r=function(e,t){return!t||"object"!==yc(t)&&"function"!=typeof t?Oc(e):t}(this,(e=zc(c)).call.apply(e,[this].concat(n)))),"getLabel",function(){var e=r.props.labelRenderer;return k.a.createElement(e,{checkmark:r.props.checkmark,data:r.props.data,icon:r.getIcon("left"),index:r.props.index,inverted:r.props.inverted,isSelected:r.props.isSelected,label:r.props.label,value:r.props.value})}),Cc(Oc(r),"getIcon",function(e){var t=["slds-icon-text-default"],n=r.props["".concat(e,"Icon")];return"left"===e?(r.props.checkmark&&(t.push("slds-icon_selected"),n={category:"utility",name:"check"}),t.push("slds-m-right_x-small")):t.push("slds-m-left_small"),n?k.a.createElement(en,_c({className:H()(t),position:e,size:"x-small"},n)):null}),Cc(Oc(r),"handleClick",function(e){"link"===r.props.type&&"javascript:void(0);"!==r.props.href||bt.trapImmediate(e),r.props.onSelect&&r.props.onSelect(r.props.index)}),Cc(Oc(r),"handleMouseDown",function(e){bt.trapImmediate(e)}),r}return 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,k.a.Component),function(e,t,n){t&&xc(e.prototype,t),n&&xc(e,n)}(c,[{key:"render",value:function(){switch(this.props.type){case"header":return k.a.createElement("li",{className:H()("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"},k.a.createElement("span",null,this.props.label));case"divider":return k.a.createElement("li",{className:H()("slds-has-divider",this.props.className),onMouseDown:this.handleMouseDown,role:"separator"});case"link":case"item":default:var e=k.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=_c({},this.props.tooltipTemplate.props),n=wc({},t,{content:this.props.tooltipContent,id:"".concat(this.props.id,"-tooltip"),triggerStyle:wc({width:"100%"},t.triggerStyle||{})});e=k.a.cloneElement(this.props.tooltipTemplate,n,e)}return k.a.createElement("li",{"aria-selected":null===this.props.checkmark?this.props.isSelected:null,className:H()("slds-dropdown__item",{"slds-is-selected":this.props.isSelected},this.props.className),id:this.props.id,onMouseDown:this.handleMouseDown,role:"presentation"},e)}}}]),c}();Cc(Ec,"displayName","SLDSListItem"),Cc(Ec,"propTypes",{"aria-disabled":o.a.bool,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),checkmark:o.a.bool,data:o.a.object,divider:o.a.oneOf(["top","bottom"]),href:o.a.string,id:o.a.string.isRequired,index:o.a.number.isRequired,inverted:o.a.bool,isSelected:o.a.bool,label:o.a.string,labelRenderer:o.a.func,leftIcon:o.a.shape({category:o.a.string,name:o.a.string}),onSelect:o.a.func.isRequired,rightIcon:o.a.shape({category:o.a.string,name:o.a.string}),tooltipContent:o.a.oneOfType([o.a.node,o.a.string]),tooltipTemplate:o.a.node,type:o.a.string,value:o.a.any}),Cc(Ec,"defaultProps",{data:{},href:"javascript:void(0);",inverted:!1,isSelected:!1,label:"",labelRenderer:bc,value:null});var Mc=Ec;function Tc(e){return(Tc="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 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 kc(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 Hc(e,t){return!t||"object"!==Tc(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function jc(e){return(jc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Pc(e,t){return(Pc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 Lc=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Hc(this,jc(e).apply(this,arguments))}return 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&&Pc(e,t)}(e,k.a.Component),function(e,t,n){t&&kc(e.prototype,t),n&&kc(e,n)}(e,[{key:"render",value:function(){var e,t,c=this;return this.props.length&&(e="slds-dropdown_length-".concat(this.props.length)),t=k.a.createElement("ul",{"aria-labelledby":this.props.triggerId,className:H()("dropdown__list",e,this.props.className),role:"menu"},this.props.options.map(function(e,t){var n=c.props.getListItemId(t),r=t===c.props.selectedIndex,o=!!c.props.selectedIndices&&-1!==c.props.selectedIndices.indexOf(t);return k.a.createElement(Mc,Nc({},e,{"aria-disabled":e.disabled,checkmark:c.props.checkmark&&(r||o),data:e,id:n,index:t,isSelected:r||o,key:"".concat(n,"-").concat(e.value),labelRenderer:c.props.itemRenderer,onSelect:c.props.onSelect,ref:function(e){return c.props.itemRefs(e,t)},tooltipTemplate:c.props.tooltipMenuItem}))})),this.props.tooltipMenuItem&&(t=k.a.createElement(k.a.Fragment,null,k.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}}]),e}();Ic(Lc,"displayName","SLDSList"),Ic(Lc,"propTypes",{checkmark:o.a.bool,className:o.a.string,getListItemId:o.a.func,itemRefs:o.a.func,itemRenderer:o.a.func,length:o.a.oneOf([null,"5","7","10",5,7,10]),onSelect:o.a.func,options:o.a.array,selectedIndex:o.a.number,tooltipMenuItem:o.a.node,triggerId:o.a.string}),Ic(Lc,"defaultProps",{length:"5",options:[],selectedIndex:-1});var Vc=Lc;function Dc(e){return(Dc="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(){return(Rc=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 Ac(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Bc(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 Fc(e,t){return!t||"object"!==Dc(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function qc(e){return(qc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Kc(e,t){return(Kc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Wc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Uc=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Fc(this,qc(e).apply(this,arguments))}return 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&&Kc(e,t)}(e,k.a.Component),function(e,t,n){t&&Bc(e.prototype,t),n&&Bc(e,n)}(e,[{key:"render",value:function(){var e=this.props,t=e.assistiveText,n=(e.children,e.className),r=e.id,o=(e.isInline,e.isOpen),c=e.onBlur,a=e.menu,s=e.onClick,i=e.onFocus,l=e.onKeyDown,p=e.onMouseDown,u=e.onMouseEnter,d=e.onMouseLeave,h=e.triggerRef,f=e.triggerClassName,m=Ac(e,["assistiveText","children","className","id","isInline","isOpen","onBlur","menu","onClick","onFocus","onKeyDown","onMouseDown","onMouseEnter","onMouseLeave","triggerRef","triggerClassName"]),v="hover"===this.props.openOn?"click":this.props.openOn,g={};return 0!==k.a.Children.count(this.props.children)&&k.a.Children.forEach(this.props.children,function(e){e&&e.type.displayName===Cn.displayName&&(g=e.props)}),k.a.createElement("div",{className:H()("slds-dropdown-trigger slds-dropdown-trigger_".concat(v),{"slds-is-open":o},f),id:r,onBlur:c,onClick:s,onKeyDown:l,onFocus:i,onMouseDown:p,onMouseEnter:u,onMouseLeave:d},k.a.createElement(Cn,Rc({assistiveText:t,className:n,"aria-expanded":o,"aria-haspopup":!0},m,g,{buttonRef:h})),a)}}]),e}();Wc(Uc,"displayName",$),Wc(Uc,"propTypes",{children:o.a.element,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isOpen:o.a.bool,menu:o.a.node,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onMouseDown:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,openOn:o.a.oneOf(["hover","click","hybrid"]),triggerRef:o.a.func,triggerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string])});var Gc=Uc;var Yc=function(){},Qc=n(39);var Jc=function(){var t=this;return this.buffer="",function(e){return t.timeout&&(clearTimeout(t.timeout),t.timeout=void 0),t.timeout=setTimeout(function(){t.buffer=""},400),t.buffer=t.buffer+e,t.buffer}},Xc=n(11),$c=n.n(Xc);function Zc(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,c=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,c=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw c}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var ea=function(e){var t,n=e.componentContext,r=e.currentFocusedIndex,o=e.isOpen,c=e.event,a=e.key,s=e.keyCode,i=e.navigableItems,l=e.onFocus,p=e.onSelect,u=e.target,d=e.toggleOpen,h=i.indexes,f=h.length-1,m=a||String.fromCharCode(s);m=/^[ -~]$/.test(m)?m.toLowerCase():null;var v=s===wt.ENTER||s===wt.SPACE||s===wt.UP;if(s===wt.ESCAPE)o&&d();else if(o)if(s===wt.ENTER||s===wt.SPACE)p(r);else{var g=h.indexOf(r);if(s===wt.DOWN)if(g<f){t=h[g+1]}else{var b=Zc(h,1);t=b[0]}else if(s===wt.UP){if(0<g)t=h[g-1];else t=h[f]}else if(m){var y=i.keyBuffer(m),w=0;1<y.length&&new RegExp("^[".concat($c()(m),"]+$")).test(y)&&(w=y.length),i.forEach(function(e){(void 0===t&&e.text.substr(0,y.length)===y||0<w&&e.text.substr(0,1)===m)&&(w-=1,t=e.index)})}}else{var _=Zc(h,1);t=_[0],(v||m)&&d(),v&&n.trigger&&it.a.findDOMNode(n.trigger)===u&&n.handleClick(c)}return l(t),t};function ta(e){return(ta="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 na(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){ia(t,e,n[e])})}return t}function ra(){return(ra=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 oa(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 ca(e){return(ca=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function aa(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sa(e,t){return(sa=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ia(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var la,pa="undefined"!=typeof document,ua=pa?document.createElement("span"):{style:{}};ua.style.top=0,ua.style.left=0,ua.style.width="100%",ua.style.height="100%",ua.style.position="absolute";function da(){}function ha(e){var n=[];return n.indexes=[],n.keyBuffer=new Jc,Array.isArray(e)&&e.forEach(function(e,t){!function(e){return"header"!==e.type&&"divider"!==e.type&&!e.disabled}(e)||(n.push({index:t,text:"".concat(e.label).toLowerCase()}),n.indexes.push(t))}),n}var fa={top:"bottom","top left":"bottom left","top right":"bottom right",bottom:"top","bottom left":"top left","bottom right":"top right"},ma={align:o.a.oneOf(["center","left","right"]),assistiveText:o.a.object,buttonClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),buttonInverse:o.a.bool,buttonVariant:o.a.oneOf(["base","neutral","brand","destructive","icon"]),checkmark:o.a.bool,children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),containerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),disabled:o.a.bool,hasStaticAlignment:o.a.bool,hint:o.a.bool,hoverCloseDelay:o.a.number,iconCategory:we()(o.a.oneOf(["action","custom","doctype","standard","utility"]),function(e){return!!e.iconName}),iconName:o.a.string,iconPosition:o.a.oneOf(["left","right"]),iconVariant:o.a.oneOf(["bare","container","border","border-filled","small","more"]),iconSize:o.a.oneOf(["x-small","small","medium","large"]),id:o.a.string,inverse:o.a.bool,isOpen:o.a.bool,label:o.a.oneOfType([o.a.string,o.a.node]),listItemRenderer:o.a.func,length:o.a.oneOf([null,"5","7","10",5,7,10]),menuPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),menuStyle:o.a.object,nubbinPosition:o.a.oneOf(["top left","top","top right","bottom left","bottom","bottom right"]),onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,openOn:o.a.oneOf(["hover","click","hybrid"]),onKeyDown:o.a.func,onMouseDown:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,onSelect:o.a.func,onOpen:o.a.func,onClose:o.a.func,options:o.a.array,style:o.a.object,tabIndex:o.a.string,overlay:o.a.oneOfType([o.a.bool,o.a.func]),value:o.a.oneOfType([o.a.number,o.a.string,o.a.array]),tooltip:o.a.node,tooltipMenuItem:o.a.node,triggerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),multiple:o.a.bool,width:o.a.oneOf(["xx-small","x-small","small","medium","bottom","large"])},va=function(){function n(e){var u;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),ia(aa(u=function(e,t){return!t||"object"!==ta(t)&&"function"!=typeof t?aa(e):t}(this,ca(n).call(this,e))),"getId",function(){return u.props.id||u.generatedId}),ia(aa(u),"getIsOpen",function(){return!!("boolean"==typeof u.props.isOpen?u.props.isOpen:u.state.isOpen)}),ia(aa(u),"getIndexByValue",function(n,e){var r=-1;return e&&e.length&&e.some(function(e,t){return!(!e||e.value!==n)&&(r=t,!0)}),r}),ia(aa(u),"getValueByIndex",function(e){return u.props.options[e]}),ia(aa(u),"getListItemRenderer",function(){return u.props.listItemRenderer?u.props.listItemRenderer:bc}),ia(aa(u),"getListItemId",function(e){var t;if(void 0!==e){var n=Xn()(u.getId)?u.getId():u.props.id;t="".concat(n,"-item-").concat(e)}return t}),ia(aa(u),"setFocus",function(){u.isHover||u.isUnmounting||!u.trigger||it.a.findDOMNode(u.trigger).focus()}),ia(aa(u),"getMenu",function(){return it.a.findDOMNode(u.list)}),ia(aa(u),"getMenuItem",function(e){if(void 0!==e&&u.listItems)return it.a.findDOMNode(u.listItems[e])}),ia(aa(u),"getCurrentSelectedIndices",function(t){if(!0!==u.props.multiple)return{selectedIndex:u.getIndexByValue(t.value,t.options)};var e=[];return Array.isArray(t.value)?e=t.value:e.push(t.value),{selectedIndices:(e=e.filter(function(e){return-1!==u.getIndexByValue(e,t.options)})).map(function(e){return u.getIndexByValue(e,t.options)})}}),ia(aa(u),"saveRefToTrigger",function(e){u.trigger=e,u.state.triggerRendered||u.setState({triggerRendered:!0})}),ia(aa(u),"saveRefToTriggerContainer",function(e){u.triggerContainer=e,u.trigger||(u.trigger=e)}),ia(aa(u),"saveRefToList",function(e){u.list=e}),ia(aa(u),"saveRefToListItem",function(e,t){u.listItems||(u.listItems={}),u.listItems[t]=e,t===u.state.focusedIndex&&u.handleKeyboardFocus(u.state.focusedIndex)}),ia(aa(u),"handleClose",function(){u.getIsOpen()&&(la===aa(u)&&(la=void 0),u.setState({isOpen:!1}),u.isHover=!1,u.props.onClose&&u.props.onClose())}),ia(aa(u),"handleOpen",function(){u.getIsOpen()||(la&&Xn()(la.handleClose)&&la.handleClose(),la=aa(u),u.setState({isOpen:!0}),u.props.onOpen&&u.props.onOpen())}),ia(aa(u),"handleMouseEnter",function(e){var t=u.getIsOpen();u.isHover=!0,t||"hover"!==u.props.openOn?clearTimeout(u.isClosing):u.handleOpenForHover(),u.props.onMouseEnter&&u.props.onMouseEnter(e)}),ia(aa(u),"handleMouseLeave",function(e){u.getIsOpen()&&(u.isClosing=setTimeout(function(){u.handleCloseForHover()},u.props.hoverCloseDelay)),u.props.onMouseLeave&&u.props.onMouseLeave(e)}),ia(aa(u),"handleCloseForHover",function(){u.getIsOpen()&&u.handleClose()}),ia(aa(u),"handleOpenForHover",function(){u.getIsOpen()||(u.handleOpen(),u.setFocus())}),ia(aa(u),"handleClick",function(e){u.getIsOpen()?u.handleClose():(u.handleOpen(),u.setFocus()),u.props.onClick&&u.props.onClick(e)}),ia(aa(u),"handleFocus",function(e){u.props.onFocus&&u.props.onFocus(e)}),ia(aa(u),"handleClickCustomContent",function(){u.setFocus(),u.handleClose(),u.props.onSelect&&u.props.onSelect()}),ia(aa(u),"handleSelect",function(e){if(u.props.multiple){if(u.props.multiple&&-1===u.state.selectedIndices.indexOf(e)){var t=u.state.selectedIndices.concat(e);u.setState({selectedIndices:t})}else if(u.props.multiple){var n=u.state.selectedIndices.indexOf(e),r=u.state.selectedIndices;r.splice(n,1),u.setState({selectedIndices:r})}}else u.setState({selectedIndex:e}),u.handleClose(),u.setFocus();if(u.props.onSelect){var o=u.getValueByIndex(e);u.props.onSelect(o,{option:o,optionIndex:e})}}),ia(aa(u),"handleKeyDown",function(e){if(e.keyCode){if(e.keyCode!==wt.ENTER&&e.keyCode!==wt.SPACE&&e.keyCode!==wt.DOWN&&e.keyCode!==wt.UP||bt.trap(e),e.keyCode!==wt.TAB){var t=u.getIsOpen();u.handleKeyboardNavigate({event:e,isOpen:t,key:e.key,keyCode:e.keyCode,onSelect:u.handleSelect,target:e.target,toggleOpen:u.toggleOpen})}else u.handleCancel();u.props.onKeyDown&&u.props.onKeyDown(e)}}),ia(aa(u),"handleCancel",function(){u.setFocus(),u.handleClose()}),ia(aa(u),"handleClickOutside",function(){u.handleClose()}),ia(aa(u),"handleKeyboardNavigate",function(e){var t=e.event,n=e.isOpen,r=void 0===n||n,o=e.keyCode,c=e.onFocus,a=void 0===c?u.handleKeyboardFocus:c,s=e.onSelect,i=e.target,l=e.toggleOpen,p=void 0===l?da:l;ea({componentContext:aa(u),currentFocusedIndex:u.state.focusedIndex,event:t,isOpen:r,keyCode:o,navigableItems:u.navigableItems,onFocus:a,onSelect:s,target:i,toggleOpen:p})}),ia(aa(u),"handleKeyboardFocus",function(e){u.state.focusedIndex!==e&&u.setState({focusedIndex:e});var t=Xn()(u.getMenu)?u.getMenu():function(e){return it.a.findDOMNode(e).querySelector("ul.dropdown__list")}(aa(u)),n=Xn()(u.getMenuItem)?u.getMenuItem(e,t):function(e,t){var n,r=1<arguments.length&&void 0!==t?t:document;return e&&(n=r.getElementById(e)),n}(u.getListItemId(e));n&&(u.focusMenuItem(n),u.scrollToMenuItem(t,n))}),ia(aa(u),"focusMenuItem",function(e){e.getElementsByTagName("a")[0].focus()}),ia(aa(u),"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 c=r+n+e.offsetTop,a=o+t.offsetHeight+e.offsetTop;c<a&&(e.scrollTop=a-n-e.offsetTop)}}}),ia(aa(u),"toggleOpen",function(){var e=u.getIsOpen();u.setFocus(),e?u.handleClose():u.handleOpen()}),ia(aa(u),"renderDefaultMenuContent",function(e){return k.a.createElement(Vc,ra({key:"".concat(u.getId(),"-dropdown-list"),checkmark:u.props.checkmark,getListItemId:u.getListItemId,itemRefs:u.saveRefToListItem,itemRenderer:u.getListItemRenderer(),onCancel:u.handleCancel,onSelect:u.handleSelect,options:u.props.options,ref:u.saveRefToList,selectedIndex:u.props.multiple?void 0:u.state.selectedIndex,selectedIndices:u.props.multiple?u.state.selectedIndices:void 0,tooltipMenuItem:u.props.tooltipMenuItem,triggerId:u.getId(),length:u.props.length},e))}),ia(aa(u),"renderMenuContent",function(e){var n=[];return k.a.Children.forEach(e,function(e){if(e&&"SLDSList"===e.type.displayName)n.push(u.renderDefaultMenuContent(e.props));else if(e){var t=k.a.cloneElement(e,{onClick:u.handleClickCustomContent,key:f.a.generate()});n.push(t)}}),0===n.length&&(n=null),n||u.renderDefaultMenuContent()}),ia(aa(u),"renderDialog",function(e,t,n){var r,o="bottom",c=!1;u.props.nubbinPosition?(c=!0,o=fa[u.props.nubbinPosition]):u.props.align&&(o="center"===u.props.align?"bottom":"bottom ".concat(u.props.align));var a=fa[o].split(" ");r=H()(a.map(function(e){return"slds-dropdown_".concat(e)}));var s=u.props.isInline?"relative":u.props.menuPosition,i={};return"center"!==u.props.align||c||(i.transform="none"),t?k.a.createElement(Kt,{align:o,className:H()(u.props.containerClassName),closeOnTabKey:!0,contentsClassName:H()("slds-dropdown","slds-dropdown_".concat(u.props.width),"slds-text-align_left","ignore-react-onclickoutside",u.props.className,r,{"slds-dropdown_inverse":u.props.inverse}),context:u.context,hasNubbin:c,hasStaticAlignment:u.props.hasStaticAlignment,inheritWidthOf:u.props.inheritTargetWidth?"target":"none",offset:u.props.offset,onClose:u.handleClose,onKeyDown:u.handleKeyDown,outsideClickIgnoreClass:n,position:s,style:na({},i,u.props.menuStyle),onRequestTargetElement:function(){return u.trigger}},u.renderMenuContent(e)):null}),ia(aa(u),"renderOverlay",function(e){Xn()(ua)&&pa?ua(e,ua):u.props.overlay&&e&&!u.overlay&&pa?(u.overlay=ua,document.querySelector("body").appendChild(u.overlay)):!e&&u.overlay&&u.overlay.parentNode&&(u.overlay.parentNode.removeChild(u.overlay),u.overlay=void 0)}),Yc(X,e,Qc),u.generatedId=f.a.generate();var t=u.getCurrentSelectedIndices(e);return u.state=na({focusedIndex:-1,selectedIndex:-1,selectedIndices:[]},t),u.navigableItems=ha(e.options),u}return 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&&sa(e,t)}(n,k.a.Component),function(e,t,n){t&&oa(e.prototype,t),n&&oa(e,n)}(n,[{key:"componentWillReceiveProps",value:function(e,t){if(t.value!==e.value){var n=this.getCurrentSelectedIndices(e);this.setState(n)}t.isOpen!==e.isOpen&&this.setFocus(),e.options&&(this.navigableItems=ha(e.options))}},{key:"componentWillUnmount",value:function(){la===this&&(la=void 0),this.isUnmounting=!0,this.renderOverlay(!1)}},{key:"render",value:function(){var t=Gc,n={},r=[];k.a.Children.forEach(this.props.children,function(e){e&&e.type.displayName===$?(n=e.props,t=e.type):e&&r.push(e)}),0===r.length&&(r=null);var e="ignore-click-".concat(this.getId()),o=!this.props.disabled&&this.getIsOpen()&&!!this.trigger;return this.renderOverlay(o),k.a.createElement(t,ra({"aria-haspopup":!0,assistiveText:this.props.assistiveText,className:H()(e,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:o,label:this.props.label,menu:this.renderDialog(r,o,e),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||(o?"-1":"0"),tooltip:this.props.tooltip,triggerClassName:this.props.triggerClassName,triggerRef:this.saveRefToTrigger,variant:this.props.buttonVariant},n))}}]),n}();ia(va,"displayName",X),va.contextTypes={iconPath:o.a.string},va.propTypes=ma,va.defaultProps={align:"left",hoverCloseDelay:300,length:"5",menuPosition:"absolute",openOn:"click",width:"medium",inverse:!1};var ga=va,ba=gc(ga);function ya(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){wa(t,e,n[e])})}return t}function wa(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){sc(d,e,ic);var t=e.overflowDropdownMenu,n=e.trail,r="string"==typeof e.assistiveText?e.assistiveText:ya({},za.assistiveText,e.assistiveText).label;return k.a.createElement("nav",{role:"navigation","aria-label":r,style:e.styleContainer},k.a.createElement("ol",{className:"slds-breadcrumb slds-list_horizontal"},t&&function(e,t){var n=ya({},e.props,{id:"".concat(t.id,"-dropdown"),iconCategory:"utility",iconName:"threedots",iconVariant:"bare",threedots:!0});return k.a.createElement("li",{className:"slds-breadcrumb__item"},k.a.createElement(ba,n))}(t,e),n.map(function(e,t){return k.a.createElement("li",{key:t,className:"slds-breadcrumb__item"},e)})))}var xa={assistiveText:o.a.shape({label:o.a.string}),id:o.a.string,overflowDropdownMenu:o.a.node,styleContainer:o.a.object,trail:o.a.array.isRequired},za={assistiveText:{label:"Breadcrumbs"}};_a.displayName=d,_a.propTypes=xa,_a.defaultProps=za;var Oa=_a;function Sa(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ca(t,e,n[e])})}return t}function Ca(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ea(e){var t,n,r=Sa({},Ta.assistiveText,e.assistiveText),o=Sa({},{},e.events),c=Sa({},Ta.labels,e.labels),a=[];return k.a.Children.forEach(e.children,function(e){if(e)switch(e.type.displayName){case m:t=e;break;case b:n=e;break;case h:a.push(e)}}),k.a.createElement("div",{style:{position:"relative",height:"100px"}},k.a.createElement("div",{className:H()("slds-builder-header_container",e.className),style:e.style},k.a.createElement("header",{className:"slds-builder-header"},k.a.createElement("div",{className:"slds-builder-header__item"},k.a.createElement("div",{className:"slds-builder-header__item-label slds-media slds-media_center"},k.a.createElement("div",{className:"slds-media__figure"},k.a.createElement(en,{assistiveText:{label:r.icon},category:"utility",containerClassName:"slds-icon_container slds-icon-utility-builder slds-current-color",name:"builder",size:"x-small"})),k.a.createElement("div",{className:"slds-media__body"},c.title))),t,0<a.length?a:k.a.createElement("div",{className:"slds-builder-header__item slds-has-flexi-truncate"},k.a.createElement("h1",{className:"slds-builder-header__item-label"},k.a.createElement("span",{className:"slds-truncate",title:c.pageType},c.pageType))),k.a.createElement("div",{className:"slds-builder-header__item slds-builder-header__utilities"},k.a.createElement("div",{className:"slds-builder-header__utilities-item"},k.a.createElement("a",{href:"javascript:void(0);",className:"slds-builder-header__item-action slds-media slds-media_center",onClick:o.onClickBack},k.a.createElement("div",{className:"slds-media__figure"},k.a.createElement(en,{assistiveText:{label:r.backIcon},category:"utility",containerClassName:"slds-icon_container slds-icon-utility-settings slds-current-color",name:"back",size:"x-small"})),k.a.createElement("div",{className:"slds-media__body"},c.back))),k.a.createElement("div",{className:"slds-builder-header__utilities-item"},k.a.createElement("a",{href:"javascript:void(0);",className:"slds-builder-header__item-action slds-media slds-media_center",onClick:o.onClickHelp},k.a.createElement("div",{className:"slds-media__figure"},k.a.createElement(en,{assistiveText:{label:r.helpIcon},category:"utility",containerClassName:"slds-icon_container slds-icon-utility-settings slds-current-color",name:"help",size:"x-small"})),k.a.createElement("div",{className:"slds-media__body"},c.help))))),n))}var Ma={assistiveText:o.a.shape({backIcon:o.a.string,helpIcon:o.a.string,icon:o.a.string}),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onClickBack:o.a.func,onClickHelp:o.a.func}),labels:o.a.shape({back:o.a.string,help:o.a.string,pageType:o.a.string,title:o.a.string}),style:o.a.object},Ta={assistiveText:{backIcon:"Back",helpIcon:"Help",icon:"Builder"},labels:{back:"Back",help:"Help",pageType:"Page Type",title:"App Name"}};Ea.displayName="SLDSBuilderHeader",Ea.propTypes=Ma,Ea.defaultProps=Ta;function Na(e){return k.a.createElement("div",{className:"slds-builder-header__item",style:{width:"100%"}},k.a.createElement("div",{className:"slds-builder-header__item-label"},e.children))}var ka=Ea,Ha={children:o.a.node};Na.displayName=h,Na.propTypes=Ha;function ja(e){return k.a.createElement("nav",{className:"slds-builder-header__item slds-builder-header__nav"},k.a.createElement("ul",{className:"slds-builder-header__nav-list"},k.a.Children.map(e.children,function(e){return e.type.displayName===g||e.type.displayName===v?e:null})))}var Pa=Na,Ia={children:o.a.node};ja.displayName=m,ja.propTypes=Ia;var La=ja;function Va(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Da(e){var t=e.iconCategory,n=e.iconName,r=e.label,o=e.assistiveText,c=Va(e,["iconCategory","iconName","label","assistiveText"]);return k.a.createElement("li",{className:"slds-builder-header__nav-item"},k.a.createElement(ba,c,k.a.createElement(Gc,null,k.a.createElement(Cn,{className:"slds-builder-header__item-action slds-media slds-media_center",variant:"base"},k.a.createElement("span",{className:"slds-media__figure"},k.a.createElement(en,{assistiveText:{label:o&&o.icon},category:t,containerClassName:"slds-icon_container slds-icon-utility-page slds-current-color",name:n,size:"x-small"})),k.a.createElement("span",{className:"slds-media__body"},k.a.createElement("span",{className:"slds-truncate",title:r},r),k.a.createElement(en,{category:"utility",containerClassName:"slds-icon_container slds-icon-utility-chevrondown slds-current-color slds-m-left_small",name:"chevrondown",size:"x-small"}))))))}var Ra=ga.propTypes;Da.displayName=v,Da.propTypes=Ra;var Aa=Da;function Ba(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fa(e){var t=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ba(t,e,n[e])})}return t}({},Ka,e.assistiveText);return k.a.createElement("li",{className:"slds-builder-header__nav-item"},k.a.createElement("a",{className:"slds-builder-header__item-action slds-media slds-media_center",href:"javascript:void(0)",onClick:e.onClick},k.a.createElement("span",{className:"slds-media__figure"},k.a.createElement(en,{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"})),k.a.createElement("span",{className:"slds-media__body"},k.a.createElement("span",{className:"slds-truncate",title:e.label},e.label))))}var qa={assistiveText:o.a.shape({icon:o.a.string}),iconCategory:o.a.oneOf(["action","custom","doctype","standard","utility"]),iconName:o.a.string,iconPath:o.a.string,label:o.a.string,onClick:o.a.func},Ka={};Fa.displayName=g,Fa.propTypes=qa;var Wa=Fa;function Ua(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ga(e){var t=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ua(t,e,n[e])})}return t}({},Qa.assistiveText,e.assistiveText);return k.a.createElement("div",{className:"slds-builder-toolbar",role:"toolbar"},k.a.Children.map(e.children,function(e){return e.type.displayName===w?k.a.createElement("div",{className:"slds-builder-toolbar__item-group","aria-label":e.props.label},e):null}),k.a.createElement("div",{className:"slds-builder-toolbar__actions","aria-label":t.actions},e.onRenderActions&&e.onRenderActions()))}var Ya={assistiveText:o.a.shape({actions:o.a.string}),children:o.a.node,onRenderActions:o.a.func},Qa={assistiveText:{actions:"Actions"}};Ga.displayName=b,Ga.propTypes=Ya,Ga.defaultProps=Qa;var Ja=Ga;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!t||"object"!==Xa(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function es(e){return(es=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ts(e,t){return(ts=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ns={children:o.a.node.isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameContainer:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,labels:o.a.shape({error:o.a.string,label:o.a.string}),variant:o.a.oneOf(["checkbox","list"])},rs={labels:{}},os=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=Za(this,es(n).call(this,e))).generatedId=f.a.generate(),t}return 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&&ts(e,t)}(n,k.a.Component),function(e,t,n){t&&$a(e.prototype,t),n&&$a(e,n)}(n,[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e,n=this,r=Nn()({},rs.labels,this.props.labels),o=k.a.Children.count(this.props.children)-1,t=this.props.children;return 0<o&&(t=k.a.Children.map(this.props.children,function(e,t){var n;return t===o&&(n=k.a.cloneElement(e,{triggerClassName:"slds-button_last"})),n||e})),e="checkbox"===this.props.variant?(t=k.a.Children.map(this.props.children,function(e){var t={variant:"button-group"};return r.error&&(t["aria-describedby"]="button-group-error-".concat(n.getId())),k.a.cloneElement(e,t)}),k.a.createElement("div",{className:H()("slds-checkbox_button-group",this.props.className),id:this.getId()},t)):"list"===this.props.variant?k.a.createElement("ul",{className:H()("slds-button-group-list",this.props.className),id:this.getId()},k.a.Children.map(this.props.children,function(e){return k.a.createElement("li",null,e)})):k.a.createElement("div",{className:H()("slds-button-group",this.props.className),id:this.getId(),role:"group"},t),"checkbox"!==this.props.variant&&!this.props.labels.label||(e=k.a.createElement("fieldset",{className:H()("slds-form-element",{"slds-has-error":r.error},this.props.classNameContainer)},k.a.createElement("legend",{className:"slds-form-element__legend slds-form-element__label"},this.props.labels.label),k.a.createElement("div",{className:"slds-form-element__control"},e,r.error?k.a.createElement("div",{className:"slds-form-element__help",id:"button-group-error-".concat(this.getId())},r.error):null))),e}}]),n}();os.displayName=w,os.propTypes=ns,os.defaultProps=rs;var cs=os;var as=function(){},ss=n(40);function is(e){return(is="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 ls(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){fs(t,e,n[e])})}return t}function ps(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 us(e){return(us=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ds(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function hs(e,t){return(hs=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function fs(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ms={active:o.a.bool,assistiveText:o.a.shape({icon:o.a.string}),disabled:o.a.bool,icon:o.a.node,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,onMouseDown:o.a.func,onMouseEnter:o.a.func,responsive:o.a.bool,stateOne:o.a.object,stateTwo:o.a.object,stateThree:o.a.object,tabIndex:o.a.string,variant:o.a.oneOf(["base","neutral","brand","destructive","icon","icon-filled"])},vs={assistiveText:{icon:""},disabled:!1,iconSize:"medium",responsive:!1,stateOne:{iconName:"add",label:"Follow"},stateTwo:{iconName:"check",label:"Following"},stateThree:{iconName:"close",label:"Unfollow"}},gs=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),fs(ds(t=function(e,t){return!t||"object"!==is(t)&&"function"!=typeof t?ds(e):t}(this,us(n).call(this,e))),"handleBlur",function(e){t.props.onBlur&&t.props.onBlur(e),e.currentTarget.blur()}),fs(ds(t),"handleClick",function(e){Xn()(t.props.onClick)&&t.props.onClick(e),"boolean"!=typeof t.props.active&&t.setState(function(e){return{active:!e.active}})}),t.state={active:!1},as(_,e,ss),t}return 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&&hs(e,t)}(n,k.a.Component),function(e,t,n){t&&ps(e.prototype,t),n&&ps(e,n)}(n,[{key:"getClassName",value:function(e){return H()(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,o=e.iconName,c=e.iconSize,a=e.id,s=e.onFocus,i=e.onKeyDown,l=e.onKeyPress,p=e.onKeyUp,u=e.onMouseDown,d=e.onMouseEnter,h=e.stateOne,f=e.stateTwo,m=e.stateThree,v=e.tabIndex,g=e.variant,b={disabled:n,size:"small",className:"slds-button__icon_stateful"},y="string"==typeof this.props.assistiveText?this.props.assistiveText:ls({},vs.assistiveText,this.props.assistiveText).icon,w="boolean"==typeof t?t:this.state.active;return"icon"===g||"icon-filled"===g?k.a.createElement("button",{"aria-live":"polite",className:this.getClassName(w),disabled:n,id:a,onBlur:this.handleBlur,onClick:this.handleClick,onFocus:s,onKeyDown:i,onKeyPress:l,onKeyUp:p,onMouseDown:u,onMouseEnter:d,onMouseLeave:this.handleBlur,tabIndex:v,type:"button"},r?k.a.cloneElement(r,ls({},b,r.props)):k.a.createElement(tt,{disabled:n,name:o,size:c,className:"slds-button__icon_stateful"}),y?k.a.createElement("span",{className:"slds-assistive-text"},y):null):(b.position="left",k.a.createElement("button",{"aria-live":"assertive",className:this.getClassName(w),disabled:n,id:a,onBlur:this.handleBlur,onClick:this.handleClick,onFocus:s,onKeyDown:i,onKeyPress:l,onKeyUp:p,onMouseEnter:d,onMouseLeave:this.handleBlur,tabIndex:v,type:"button"},k.a.createElement("span",{className:"slds-text-not-selected"},h.icon?k.a.cloneElement(h.icon,ls({},b,h.icon.props,{size:"small"})):k.a.createElement(tt,{disabled:n,name:h.iconName,size:"small",position:"left",className:"slds-button__icon_stateful"}),h.label),k.a.createElement("span",{className:"slds-text-selected"},f.icon?k.a.cloneElement(f.icon,ls({},b,f.icon.props,{size:"small"})):k.a.createElement(tt,{disabled:n,name:f.iconName,size:"small",position:"left",className:"slds-button__icon_stateful"}),f.label),k.a.createElement("span",{className:"slds-text-selected-focus"},m.icon?k.a.cloneElement(m.icon,ls({},b,m.icon.props,{size:"small"})):k.a.createElement(tt,{disabled:n,name:m.iconName,size:"small",position:"left",className:"slds-button__icon_stateful"}),m.label)))}}]),n}();gs.displayName=_,gs.propTypes=ms,gs.defaultProps=vs;var bs=gs;function ys(e){return(ys="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){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 _s(e,t){return!t||"object"!==ys(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function xs(e){return(xs=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function zs(e,t){return(zs=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Os(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ss="slds-media",Cs="slds-media__figure",Es="slds-media__body",Ms=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),_s(this,xs(e).apply(this,arguments))}return 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&&zs(e,t)}(e,k.a.Component),function(e,t,n){t&&ws(e.prototype,t),n&&ws(e,n)}(e,[{key:"render",value:function(){return k.a.createElement("div",{className:H()(Ss,{"slds-media_center":this.props.verticalCenter,"slds-has-flexi-truncate":this.props.canTruncate},this.props.className)},this.props.figure?k.a.createElement("div",{className:Cs},this.props.figure," "):null,k.a.createElement("div",{className:Es},this.props.body))}}]),e}();Os(Ms,"displayName","SLDSMediaObject"),Os(Ms,"propTypes",{canTruncate:o.a.bool,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),body:o.a.node,figure:o.a.node,verticalCenter:o.a.bool});var Ts=Ms;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}function ks(e,t){var n=k.a.cloneElement(e,{id:e.props.id||t});return k.a.createElement("div",{className:"slds-input-has-icon slds-input-has-icon_left slds-size_1-of-3"},n)}ks.displayName="renderFilter";function Hs(e){var t=null;("string"==typeof e.heading||e.heading instanceof String)&&(t=e.heading);var n,r=k.a.createElement("h2",{id:e.headingId,className:"slds-text-heading_small slds-truncate",title:t},e.heading);n=e.header?k.a.cloneElement(e.header,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ns(t,e,n[e])})}return t}({figure:e.icon,body:r,verticalCenter:!0,canTruncate:!0},e.header.props)):k.a.createElement(Ts,{figure:e.icon,body:r,verticalCenter:!0,canTruncate:!0});var o=!!e.filter||null;return k.a.createElement("div",{className:H()("slds-card__header","slds-grid")},n,e.filter?ks(e.filter,e.filterId):null,k.a.createElement("div",{id:e.headerActionsId,className:H()("slds-no-flex",{"slds-size_1-of-3":o,"slds-text-align_right":o})},e.headerActions))}Hs.displayName="SLDSCardHeader",Hs.propTypes={filter:o.a.node,filterId:o.a.string,header:o.a.node,headerActions:o.a.node,headerActionsId:o.a.string,heading:o.a.oneOfType([o.a.element,o.a.string]).isRequired,headingId:o.a.string,icon:o.a.node};function js(e){return k.a.createElement("div",{className:H()("slds-card__body",e.className),id:e.id},e.children)}var Ps=Hs;js.displayName="SLDSCardBody",js.propTypes={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string};function Is(e){return k.a.createElement("div",{className:"slds-card__footer"},e.children)}var Ls=js;Is.displayName="SLDSCardFooter",Is.propTypes={children:o.a.node};function Vs(e){return k.a.createElement("div",{className:"slds-p-horizontal_small"},k.a.createElement("div",{className:"slds-text-align_center slds-m-bottom_x-large"},k.a.createElement("h3",{className:"slds-text-heading_small slds-p-top_large slds-p-bottom_large"},e.heading),e.children))}var Ds=Is;Vs.displayName="SLDSCardEmpty",Vs.propTypes={children:o.a.node,heading:o.a.string},Vs.defaultProps={heading:"No Related Items"};function Rs(e){var t=e.id?e.id+Bs:null,n=e.id?e.id+Ks:null,r=e.id?e.id+qs:null,o=e.id?e.id+Fs:null,c=e.empty;return!0===c&&(c=k.a.createElement(As,{id:e.id,heading:e.heading})),k.a.createElement("article",{id:e.id,className:H()("slds-card",e.className),style:e.style},!e.hasNoHeader&&k.a.createElement(Ps,{header:e.header,headingId:r,icon:e.icon,filter:e.filter,filterId:n,heading:e.heading,headerActions:e.headerActions,headerActionsId:o}),c?k.a.createElement(Ls,{id:t,className:e.bodyClassName},c):k.a.createElement(Ls,{id:t,className:e.bodyClassName},e.children),e.footer?k.a.createElement(Ds,null,e.footer):null)}var As=Vs,Bs="__body",Fs="__header-actions",qs="__heading",Ks="__filter-input";Rs.displayName="SLDSCard",Rs.defaultProps={heading:"Related Items"},Rs.propTypes={bodyClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),empty:o.a.oneOfType([o.a.bool,o.a.node]),filter:o.a.node,footer:o.a.node,hasNoHeader:o.a.bool,header:o.a.node,heading:o.a.oneOfType([o.a.node,o.a.string]).isRequired,headerActions:o.a.node,icon:o.a.node,id:o.a.string,style:o.a.object};var Ws=Rs;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}function Gs(){return(Gs=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 Ys(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Qs(e){var t=e.category,n=e.iconPosition,r=e.name,o=e.path,c=e.onClick,a=e.variant,s=Ys(e,["category","iconPosition","name","path","onClick","variant"]),i={combobox:k.a.createElement("span",{className:"slds-icon_container slds-input__icon slds-input__icon_right"},k.a.createElement(Xe,Gs({"aria-hidden":!0,category:t,className:H()("slds-icon slds-icon_x-small slds-icon-text-default"),name:r,path:o},s))),base:k.a.createElement(Xe,Gs({"aria-hidden":!0,category:t,className:H()("slds-input__icon slds-icon-text-default",Us({},"slds-input__icon_".concat(n),n)),name:r,path:o},s))};return Xn()(c)?k.a.createElement(Cn,Gs({className:H()("slds-input__icon",Us({},"slds-input__icon_".concat(n),n)),iconCategory:t,iconName:r,iconPath:o,onClick:c,variant:"icon"},s)):i[a]}Qs.displayName="SLDSIconInput",Qs.propTypes={category:o.a.string,iconPosition:o.a.oneOf(["left","right"]),name:o.a.string,path:o.a.string,onClick:o.a.func,variant:o.a.oneOf(["base","combobox"])},Qs.defaultProps={category:"utility",variant:"base"};var Js=Qs;var Xs=function(){},$s=n(41);function Zs(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ei(e){Xs(ie,e,$s);var t=e.containerClassName,n=e.containerStyle,r=e.id,o=e.isDelayed,c=e.isInput,a=e.size,s=e.variant,i="string"==typeof e.assistiveText?e.assistiveText:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Zs(t,e,n[e])})}return t}({},ni.assistiveText,e.assistiveText).label,l=H()("slds-spinner",Zs({"slds-input__spinner":c,"slds-spinner_brand":"brand"===s,"slds-spinner_inverse":"inverse"===s,"slds-spinner_delayed":o},"slds-spinner_".concat(a),a));return k.a.createElement("div",{className:H()(t,"slds-spinner_container"),style:n},k.a.createElement("div",{"aria-hidden":"false",className:l,id:r,role:"status"},i&&k.a.createElement("span",{className:"slds-assistive-text"},i),k.a.createElement("div",{className:"slds-spinner__dot-a"}),k.a.createElement("div",{className:"slds-spinner__dot-b"})))}var ti={assistiveText:o.a.shape({label:o.a.string}),containerClassName:o.a.string,containerStyle:o.a.object,id:o.a.string,isDelayed:o.a.bool,isInput:o.a.bool,size:o.a.oneOf(["x-small","small","medium","large"]),variant:o.a.oneOf(["base","brand","inverse"])},ni={assistiveText:{label:"Loading..."},isDelayed:!1,size:"medium",variant:"base"};ei.displayName=ie,ei.propTypes=ti,ei.defaultProps=ni;var ri=ei;function oi(){return(oi=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 ci(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ai(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function si(e){var t=fn(e);t["aria-describedby"]=e.hasSpinner?"loading-status-icon ".concat(e["aria-describedby"]):e["aria-describedby"];var n=e.containerProps,r=n.className,o=ai(n,["className"]),c=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){ci(t,e,n[e])})}return t}({},pi.assistiveText,e.assistiveText);return k.a.createElement("div",oi({className:H()(r,{"slds-input-has-icon":e.variant!==ii&&(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!==ii&&e.iconLeft&&e.iconRight,"slds-input-has-fixed-addon":e.fixedTextLeft||e.fixedTextRight,"slds-has-divider_bottom":e.isStatic})},o),e.iconLeft&&e.iconLeft,e.fixedTextLeft&&k.a.createElement("span",{className:"slds-form-element__addon"},e.fixedTextLeft),!e.isStatic&&k.a.createElement("input",oi({autoComplete:e.autoComplete,className:H()("slds-input",{"slds-text-align_left":e.variant===ii&&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?k.a.createElement("div",{className:"slds-input__icon-group slds-input__icon-group_right"},k.a.createElement(ri,{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&&k.a.createElement("span",{className:"slds-form-element__addon"},e.fixedTextRight),e.isStatic&&k.a.createElement("span",{className:H()("slds-form-element__static","slds-grid",{"slds-grid_align-spread":e.variant!==ii}),onClick:e.onClick},e.value,e.inlineEditTrigger),e.inlineHelpText&&k.a.createElement("div",{className:"slds-form-element__help"},e.inlineHelpText))}var ii="counter",li={"aria-activedescendant":o.a.string,"aria-autocomplete":o.a.string,"aria-controls":o.a.string,"aria-describedby":o.a.string,"aria-expanded":o.a.bool,"aria-haspopup":o.a.bool,"aria-labelledby":o.a.string,"aria-owns":o.a.string,"aria-required":o.a.bool,assistiveText:o.a.shape({spinner:o.a.string}),autoComplete:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),containerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),containerProps:o.a.object,disabled:o.a.bool,fixedTextLeft:o.a.oneOfType([o.a.node,o.a.string]),fixedTextRight:o.a.oneOfType([o.a.node,o.a.string]),hasSpinner:o.a.bool,iconLeft:o.a.node,iconRight:o.a.node,id:o.a.string.isRequired,inlineHelpText:o.a.oneOfType([o.a.node,o.a.string]),inputRef:o.a.func,isStatic:o.a.bool,label:o.a.string,onBlur:o.a.func,onChange:o.a.func,onClick:o.a.func,onFocus:o.a.func,onInput:o.a.func,onInvalid:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,onSelect:o.a.func,onSubmit:o.a.func,placeholder:o.a.string,minLength:o.a.string,minValue:o.a.number,maxLength:o.a.string,maxValue:o.a.number,name:o.a.string,readOnly:o.a.bool,required:o.a.bool,role:o.a.string,step:o.a.number,style:o.a.object,tabIndex:o.a.string,type:o.a.oneOf(["text","password","datetime","datetime-local","date","month","time","week","number","email","url","search","tel","color"]),value:o.a.oneOfType([o.a.number,o.a.string]),variant:o.a.oneOf(["base",ii]),defaultValue:o.a.oneOfType([o.a.number,o.a.string])},pi={assistiveText:{spinner:"Loading ..."},type:"text"};si.displayName="SLDSInnerInput",si.propTypes=li,si.defaultProps=pi;function ui(e){var t=e.label||e.assistiveText&&e.assistiveText.label,n={base:k.a.createElement("label",{className:H()("slds-form-element__label",{"slds-assistive-text":e.assistiveText&&!e.label},e.className),htmlFor:e.htmlFor},e.required&&k.a.createElement("abbr",{className:"slds-required",title:"required"},"*"),t),static:k.a.createElement("span",{className:H()("slds-form-element__label",e.className)},t)};return t?n[e.variant]:null}var di=si,hi={assistiveText:o.a.object,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),htmlFor:o.a.string,label:o.a.string,required:o.a.bool,variant:o.a.oneOf(["base","static"])};ui.displayName="Label",ui.propTypes=hi,ui.defaultProps={variant:"base"};var fi=ui;var mi=function(){},vi=n(21),gi={removeUndefined:function(t){var n={};return Object.keys(t).forEach(function(e){void 0!==t[e]&&(n[e]=t[e])}),n}};function bi(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){yi(t,e,n[e])})}return t}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 wi(e){var t=e.fieldLevelHelpTooltip,n=e.assistiveText,r=void 0===n?{}:n;return t?k.a.createElement(hn,bi({},xi,t.props,{assistiveText:bi({},t.props.assistiveText,gi.removeUndefined(r))})):null}var _i={assistiveText:o.a.shape({triggerLearnMoreIcon:o.a.string}),fieldLevelHelpTooltip:o.a.node.isRequired},xi={triggerClassName:"slds-form-element__icon",triggerStyle:{position:"static"},variant:"learnMore"};wi.propTypes=_i,wi.displayName="FieldLevelHelpTooltip";var zi=wi;function Oi(e){return(Oi="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 Si(){return(Si=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 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){return(Ei=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Mi(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ti(e,t){return(Ti=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ni(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="counter",Hi="Decrement",ji="Increment",Pi={assistiveText:{decrement:"".concat(Hi," ").concat(ki),increment:"".concat(ji," ").concat(ki)},type:"text"},Ii=function(){function t(e){var l;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Ni(Mi(l=function(e,t){return!t||"object"!==Oi(t)&&"function"!=typeof t?Mi(e):t}(this,Ei(t).call(this,e))),"getId",function(){return l.props.id||l.generatedId}),Ni(Mi(l),"getErrorId",function(){return l.props["aria-describedby"]||l.generatedErrorId}),Ni(Mi(l),"getValueAsNumber",function(){var e=0;return void 0!==l.props.value?e=Number(l.props.value):l.inputRef&&(e=Number(l.inputRef.value)),e}),Ni(Mi(l),"getCounterButtonIcon",function(t){var e=l.getValueAsNumber(),n=!1;return(l.props.disabled||t===ji&&void 0!==l.props.maxValue&&e>=l.props.maxValue||t===Hi&&void 0!==l.props.minValue&&e<=l.props.minValue)&&(n=!0),k.a.createElement(Cn,{assistiveText:{icon:l.props.assistiveText[t.toLowerCase()]},className:H()("slds-button_icon-small","slds-input__button_".concat(t.toLowerCase())),disabled:n,iconCategory:"utility",iconName:t===Hi?"ban":"new",onKeyDown:function(e){13===e.keyCode&&l.performStep(t,e)},onKeyUp:l.stopStepping,onMouseDown:function(e){l.performStep(t,e)},onMouseLeave:l.stopStepping,onMouseUp:l.stopStepping,variant:"icon"})}),Ni(Mi(l),"getIconRender",function(e,t){var n,r={assistiveText:{icon:l.props[t]&&l.props[t].props.assistiveText||l.props.iconAssistiveText},category:l.props[t]&&l.props[t].props.category||l.props.iconCategory,name:l.props[t]&&l.props[t].props.name||l.props.iconName,onClick:l.props[t]&&l.props[t].props.onClick||l.props.onIconClick};return l.props[t]&&e&&l.props[t]?n=k.a.cloneElement(l.props[t],{iconPosition:"".concat(e)}):r.name&&(n=k.a.createElement(Js,Si({iconPosition:e},r))),n}),Ni(Mi(l),"setInputRef",function(e){l.inputRef=e,l.props.inputRef&&l.props.inputRef(e)}),Ni(Mi(l),"handleChange",function(e){if(l.props.onChange){var t={value:e.target.value};l.props.variant===ki&&(t.number=Number(t.value)),l.props.onChange(e,t)}}),Ni(Mi(l),"performStep",function(e,t){clearTimeout(l.stepping.timeout);var n=l.props.maxValue,r=l.props.minValue,o=void 0!==l.props.step?Number(l.props.step):1,c=l.getValueAsNumber(),a=!1;if(e===Hi&&void 0!==n&&n<c)c=Number(n),a=!0;else if(e===ji&&void 0!==r&&c<r)c=Number(r),a=!0;else{var s=0<=String(o).search(/\./)?String(o).split(".")[1].length:0,i=0;void 0!==r&&(i=(c-r)%o),c=0<i?e===Hi?c-i:c+(o-i):e===Hi?c-o:c+o,c=Number(c.toFixed(s)),void 0!==n&&n<c||void 0!==r&&c<r||(a=!0)}a&&(void 0===l.props.value&&l.inputRef?(l.inputRef.value=String(c),l.forceUpdate()):l.props.onChange&&l.props.onChange(t,{number:c,value:String(c)})),e===ji&&void 0!==n&&n<=c||e===Hi&&void 0!==r&&c<=r?l.stopStepping():l.stepping.timeout=setTimeout(function(){l.stepping.currentDelay=l.stepping.speedDelay,l.performStep(e)},l.stepping.currentDelay)}),Ni(Mi(l),"stopStepping",function(){clearTimeout(l.stepping.timeout),l.stepping.currentDelay=l.stepping.initialDelay}),l.inputRef=null,l.stepping={currentDelay:500,initialDelay:500,speedDelay:75,timeout:{}},mi("SLDSInput",e,vi),l.generatedId=f.a.generate(),e.errorText&&(l.generatedErrorId=f.a.generate()),l}return 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&&Ti(e,t)}(t,k.a.Component),function(e,t,n){t&&Ci(e.prototype,t),n&&Ci(e,n)}(t,[{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ni(t,e,n[e])})}return t}({},Pi.assistiveText,this.props.assistiveText),t=this.props.variant===ki?this.setInputRef:this.props.inputRef,n=null,r=null,o=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!==ki||this.props.isStatic||this.props.readOnly||(n=this.getCounterButtonIcon(Hi)),this.props.iconRight||"right"===this.props.iconPosition&&this.props.iconName?r=this.getIconRender("right","iconRight"):this.props.variant!==ki||this.props.isStatic||this.props.readOnly||(r=this.getCounterButtonIcon(ji)),k.a.createElement("div",{className:H()("slds-form-element",{"slds-has-error":this.props.errorText},this.props.className),style:this.props.styleContainer},k.a.createElement(fi,{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&&o?k.a.createElement(zi,{assistiveText:{triggerLearnMoreIcon:e.fieldLevelHelpButton},fieldLevelHelpTooltip:this.props.fieldLevelHelpTooltip}):null,k.a.createElement(di,{"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:H()({"slds-input_counter":this.props.variant===ki,"slds-p-horizontal_none":this.props.variant===ki&&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,inlineHelpText:this.props.inlineHelpText,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===ki?"number":this.props.type,value:this.props.value,variant:this.props.variant,step:this.props.step,style:this.props.styleInput}),this.props.errorText&&k.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},this.props.errorText),this.props.children)}}]),t}();Ni(Ii,"displayName","SLDSInput"),Ni(Ii,"propTypes",{"aria-activedescendant":o.a.string,"aria-autocomplete":o.a.string,"aria-controls":o.a.string,"aria-describedby":o.a.string,"aria-expanded":o.a.bool,"aria-haspopup":o.a.bool,"aria-labelledby":o.a.string,"aria-owns":o.a.string,"aria-required":o.a.bool,assistiveText:o.a.shape({label:o.a.string,spinner:o.a.string}),autoComplete:o.a.string,children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),defaultValue:o.a.oneOfType([o.a.number,o.a.string]),disabled:o.a.bool,errorText:o.a.oneOfType([o.a.node,o.a.string]),fieldLevelHelpTooltip:o.a.node,fixedTextLeft:o.a.oneOfType([o.a.node,o.a.string]),fixedTextRight:o.a.oneOfType([o.a.node,o.a.string]),hasSpinner:o.a.bool,iconLeft:o.a.node,iconRight:o.a.node,id:o.a.string,inlineHelpText:o.a.oneOfType([o.a.node,o.a.string]),inputRef:o.a.func,isStatic:o.a.bool,label:o.a.string,onBlur:o.a.func,onChange:o.a.func,onClick:o.a.func,onFocus:o.a.func,onInput:o.a.func,onInvalid:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,onSelect:o.a.func,onSubmit:o.a.func,placeholder:o.a.string,minLength:o.a.string,minValue:o.a.number,maxLength:o.a.string,maxValue:o.a.number,name:o.a.string,readOnly:o.a.bool,required:o.a.bool,role:o.a.string,step:o.a.number,styleInput:o.a.object,styleContainer:o.a.object,type:o.a.oneOf(["text","password","datetime","datetime-local","date","month","time","week","number","email","url","search","tel","color"]),value:o.a.oneOfType([o.a.number,o.a.string]),variant:o.a.oneOf(["base",ki])}),Ni(Ii,"defaultProps",Pi);var Li=Ii;function Vi(){return(Vi=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 Di(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ri(e){var t=e.id,n=e.placeholder,r=e.onChange,o=Di(e,["id","placeholder","onChange"]);return k.a.createElement(Li,Vi({},o,{assistiveText:{label:n},iconLeft:k.a.createElement(Js,{name:"search",category:"utility"}),id:t,onChange:r,placeholder:n}))}Ri.displayName="SLDSCardFilter",Ri.propTypes={id:o.a.string,onChange:o.a.func,placeholder:o.a.string.isRequired},Ri.defaultProps={placeholder:"Find in List"};var Ai=Ri;function Bi(e){return(Bi="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 Fi(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function qi(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 Ki(e){return(Ki=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Wi(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ui(e,t){return(Ui=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Gi=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(Wi(t=function(e,t){return!t||"object"!==Bi(t)&&"function"!=typeof t?Wi(e):t}(this,(e=Ki(c)).call.apply(e,[this].concat(r)))),"onFocus",function(e){t["indicator".concat(t.props.currentIndex)].focus(),t.props.onFocus&&t.props.onFocus(e)}),t}return 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&&Ui(e,t)}(c,k.a.Component),function(e,t,n){t&&qi(e.prototype,t),n&&qi(e,n)}(c,[{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 l=this,p=this.props;return k.a.createElement("ul",{className:"slds-carousel__indicators slds-col slds-text-align_center",role:"tablist"},Fi(Array(p.noOfIndicators).keys()).map(function(t){var e=t===p.currentIndex,n=H()("slds-carousel__indicator-action",p.className,{"slds-is-active":e}),r="".concat(t),o="".concat(t),c="";if(p.items&&0<p.items.length){c=p.items[t].id;for(var a=t*p.itemsPerPanel,s="",i=a;i<a+p.itemsPerPanel;i+=1)p.items[i]&&p.items[i].heading&&(s=s?"".concat(s,", "):"",s+=p.items[i].heading);s&&(o=r=s)}return k.a.createElement("li",{className:"slds-carousel__indicator slds-m-horizontal_xx-small",key:t,role:"presentation",style:{margin:0,padding:"0 5px"}},k.a.createElement("a",{ref:function(e){l["indicator".concat(t)]=e},id:"indicator-id-".concat(p.carouselId,"-").concat(t),className:n,role:"tab",tabIndex:e?"0":"-1","aria-selected":e,"aria-controls":p.getPanelId({carouselId:p.carouselId,itemId:c}),title:o,onBlur:p.onBlur,onClick:function(e){return p.onClick(e,t)},onFocus:l.onFocus},k.a.createElement("span",{className:"slds-assistive-text"},r)))}))}}]),c}();Gi.displayName="SLDSCarouselIndicators",Gi.defaultProps={currentIndex:0},Gi.propTypes={carouselId:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),currentIndex:o.a.number,hasFocus:o.a.bool,items:o.a.array,itemsPerPanel:o.a.number,noOfIndicators:o.a.number.isRequired,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func};var Yi=Gi;function Qi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ji(e){return k.a.createElement("div",{className:"slds-carousel__col-center slds-is-absolute",style:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Qi(t,e,n[e])})}return t}({},e.inlineStyle,{margin:"-12px 0 0",top:"50%"})},k.a.createElement(Cn,{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"}))}Ji.displayName="SLDSCarouselNavigators",Ji.propTypes={assistiveText:o.a.string,iconName:o.a.oneOf(["chevronleft","chevronright"]),isDisabled:o.a.bool,inlineStyle:o.a.object,onClick:o.a.func};function Xi(e){return k.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}):k.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"},k.a.createElement("div",{className:"slds-carousel__image"},k.a.createElement("img",{src:e.src,alt:e.imageAssistiveText||e.heading})),k.a.createElement("div",{className:"slds-carousel__content",style:{height:"auto"}},k.a.createElement("h2",{className:"slds-carousel__content-title"},e.heading),k.a.createElement("div",{className:"slds-p-bottom_x-small slds-text-body_small",style:{minHeight:"40px"}},e.description),e.buttonLabel&&k.a.createElement(Cn,{label:e.buttonLabel,tabIndex:e.isInCurrentPanel?"0":"-1",variant:"neutral"}))))}var $i=Ji;Xi.displayName="SLDSCarouselItem",Xi.propTypes={buttonLabel:o.a.string,carouselId:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),description:o.a.oneOfType([o.a.string,o.a.node]),heading:o.a.oneOfType([o.a.string,o.a.object]).isRequired,href:o.a.string,id:o.a.number.isRequired,imageAssistiveText:o.a.string,isInCurrentPanel:o.a.bool,itemWidth:o.a.number,onFocus:o.a.func,onRenderItem:o.a.func,panelIndex:o.a.number,src:o.a.string.isRequired},Xi.defaultProps={href:"javascript:void(0);"};function Zi(e){return k.a.createElement("span",{className:"slds-carousel__autoplay",style:{left:"66px"}},k.a.createElement(Cn,{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"}))}var el=Xi;Zi.displayName="SLDSCarouselAutoplayButton",Zi.propTypes={assistiveText:o.a.string,isAutoplayOn:o.a.bool,onClick:o.a.func},Zi.defaultProps={isAutoplayOn:!1};var tl=Zi;function nl(e){return(nl="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 rl(){return(rl=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 ol(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 cl(e){return(cl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function al(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sl(e,t){return(sl=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function il(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ll=function(){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),il(al(r=function(e,t){return!t||"object"!==nl(t)&&"function"!=typeof t?al(e):t}(this,cl(t).call(this,e))),"onNextPanelHandler",function(e){var t=r.getCurrentPanel()+1;t>r.nrOfPanels-1&&(t=0),r.setCurrentPanel(e,t,r.changeTranslationAutomatically)}),il(al(r),"onPreviousPanelHandler",function(e){var t=r.getCurrentPanel()-1;t<0&&(t=r.nrOfPanels-1),r.setCurrentPanel(e,t,r.changeTranslationAutomatically)}),il(al(r),"onIndicatorBlur",function(){r.setState({indicatorsHaveFocus:!1})}),il(al(r),"onIndicatorClickHandler",function(e,t){r.setCurrentPanel(e,t,r.changeTranslationAutomatically),r.setState({indicatorsHaveFocus:!0}),r.getIsAutoplayOn()&&r.stopAutoplay(e)}),il(al(r),"onIndicatorFocus",function(e){r.setState({indicatorsHaveFocus:!0}),r.getIsAutoplayOn()&&r.stopAutoplay(e)}),il(al(r),"onAutoplayBtnClick",function(e){var t=r.getIsAutoplayOn();if(r.props.onRequestAutoplayToggle)r.props.onRequestAutoplayToggle(e,{isAutoplayOn:t});else{var n=t?r.stopAutoplay:r.startAutoplay;r.setState({isAutoplayOn:!t}),n(e)}}),il(al(r),"getPanelId",function(e){var t=e.carouselId,n=e.itemId;return"content-id-".concat(t,"-").concat(n)}),il(al(r),"setDimensions",function(){zt&&void 0!==r.stageItem&&void 0!==r.stageItem.current&&void 0!==r.stageItem.current.offsetWidth&&r.setState({stageWidth:r.stageItem.current.offsetWidth},r.changeTranslationAutomatically)}),il(al(r),"setTranslationAmount",function(e,t){r.setState({translateX:e},t)}),il(al(r),"setCurrentPanel",function(e,t,n){r.props.onRequestPanelChange?r.props.onRequestPanelChange(e,{currentPanel:r.getCurrentPanel(),requestedPanel:t}):r.setState({currentPanel:t},n)}),il(al(r),"startAutoplay",function(e){r.autoplayId=setInterval(function(){r.canGoToNext()?r.onNextPanelHandler(e):r.props.isInfinite?r.setCurrentPanel(e,0,r.changeTranslationAutomatically):r.stopAutoplay(e)},r.props.autoplayInterval)}),il(al(r),"stopAutoplay",function(e,t){r.autoplayId&&clearInterval(r.autoplayId),t||(r.props.onRequestAutoplayToggle?r.props.onRequestAutoplayToggle(e,{isAutoplayOn:r.getIsAutoplayOn()}):r.setState({isAutoplayOn:!1}))}),il(al(r),"changeTranslationAutomatically",function(){r.setTranslationAmount(-(r.state.stageWidth||r.stageWidth)*r.getCurrentPanel())}),il(al(r),"canGoToNext",function(){return r.getCurrentPanel()<r.nrOfPanels-1}),il(al(r),"canGoToPrevious",function(){return 0<r.getCurrentPanel()}),il(al(r),"handleKeyDown",function(e){var t,n=(il(t={},wt.LEFT,function(){(r.props.isInfinite||r.canGoToPrevious())&&(r.onPreviousPanelHandler(e),r.setState({indicatorsHaveFocus:!0}),r.getIsAutoplayOn()&&r.stopAutoplay(e))}),il(t,wt.RIGHT,function(){(r.props.isInfinite||r.canGoToNext())&&(r.onNextPanelHandler(e),r.setState({indicatorsHaveFocus:!0}),r.getIsAutoplayOn()&&r.stopAutoplay(e))}),t);n[e.keyCode]&&(bt.trapImmediate(e),n[e.keyCode]())}),r.nrOfPanels=Math.ceil(e.items.length/e.itemsPerPanel),r.stageItem=k.a.createRef(),r.state={currentPanel:void 0!==e.currentPanel?e.currentPanel:0,indicatorsHaveFocus:!1,isAutoplayOn:void 0!==e.isAutoplayOn?e.isAutoplayOn:e.hasAutoplay,stageWidth:0,translateX:-1e6},r.generatedId=f.a.generate(),r}return 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&&sl(e,t)}(t,k.a.Component),function(e,t,n){t&&ol(e.prototype,t),n&&ol(e,n)}(t,[{key:"componentDidMount",value:function(){zt&&void 0!==this.stageItem&&void 0!==this.stageItem.current&&void 0!==this.stageItem.current.offsetWidth&&(this.stageWidth=this.stageItem.current.offsetWidth),Ot&&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(){Ot&&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 n=this,e=this.props,t=e.hasAutoplay,r=e.hasPreviousNextPanelNavigation,o=e.isInfinite,c=this.getCurrentPanel(),a=this.props.id||this.generatedId,s=!(o||this.canGoToPrevious()),i=!(o||this.canGoToNext()),l=(this.state.stageWidth||this.stageWidth)/this.props.itemsPerPanel,p=r?{marginLeft:"44px",marginRight:"44px"}:{};return k.a.createElement("div",{className:H()("slds-carousel",this.props.className),id:a,onKeyDown:this.handleKeyDown},k.a.createElement("div",{className:"slds-grid_vertical slds-col slds-path__scroller"},t&&k.a.createElement(tl,{assistiveText:this.props.assistiveText.autoplayButton,isAutoplayOn:this.getIsAutoplayOn(),onClick:this.onAutoplayBtnClick}),k.a.createElement("div",{className:"slds-is-relative",style:p},r&&k.a.createElement($i,{assistiveText:this.props.assistiveText.previousPanel,iconName:"chevronleft",isDisabled:s,onClick:function(e){n.getIsAutoplayOn()&&n.stopAutoplay(e),n.onPreviousPanelHandler(e)},inlineStyle:{left:"-38px"}}),k.a.createElement("div",{ref:this.stageItem,className:"slds-carousel__stage slds-show"},k.a.createElement("div",{className:"slds-carousel__panels slds-is-relative",style:{transform:"translateX(".concat(this.state.translateX,"px)")}},this.props.items.map(function(t,e){return k.a.createElement(el,rl({carouselId:a,getPanelId:n.getPanelId,onClick:function(e){n.props.onItemClick(e,{item:t})},onFocus:function(e){n.getIsAutoplayOn()&&n.stopAutoplay(e)},onRenderItem:n.props.onRenderItem},t,{isInCurrentPanel:e>=c*n.props.itemsPerPanel&&e<c*n.props.itemsPerPanel+n.props.itemsPerPanel,itemWidth:l,key:t.id,panelIndex:Math.ceil((e+1)/n.props.itemsPerPanel)-1}))}))),r&&k.a.createElement($i,{assistiveText:this.props.assistiveText.nextPanel,iconName:"chevronright",isDisabled:i,onClick:function(e){n.getIsAutoplayOn()&&n.stopAutoplay(e),n.onNextPanelHandler(e)},inlineStyle:{right:"-38px"}})),k.a.createElement(Yi,{noOfIndicators:this.nrOfPanels,carouselId:a,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})))}}]),t}();il(ll,"displayName","SLDSCarousel"),il(ll,"propTypes",{assistiveText:o.a.object,autoplayInterval:o.a.number,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),currentPanel:o.a.number,hasAutoplay:o.a.bool,hasPreviousNextPanelNavigation:o.a.bool,id:o.a.string,isAutoplayOn:o.a.bool,isInfinite:o.a.bool,items:o.a.array.isRequired,itemsPerPanel:o.a.number,onRenderItem:o.a.func,onRequestAutoplayToggle:o.a.func,onRequestPanelChange:o.a.func,onItemClick:o.a.func}),il(ll,"defaultProps",{assistiveText:{autoplayButton:"Start / Stop auto-play",nextPanel:"Next Panel",previousPanel:"Previous Panel"},autoplayInterval:4e3,hasAutoplay:!1,hasPreviousNextPanelNavigation:!1,isInfinite:!1,itemsPerPanel:1});var pl=ll;var ul=function(){},dl=n(42);function hl(e){return(hl="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 fl(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){wl(t,e,n[e])})}return t}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 vl(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 gl(e){return(gl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function bl(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yl(e,t){return(yl=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function wl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var _l={"aria-controls":o.a.string,"aria-describedby":o.a.string,"aria-labelledby":o.a.string,"aria-owns":o.a.string,"aria-required":o.a.bool,assistiveText:o.a.shape({heading:o.a.string,label:o.a.string}),checked:o.a.bool,defaultChecked:o.a.bool,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),disabled:o.a.bool,errorText:o.a.string,id:o.a.string,indeterminate:o.a.bool,labels:o.a.shape({heading:o.a.string,label:o.a.string,toggleDisabled:o.a.string,toggleEnabled:o.a.string}),name:o.a.string,onBlur:o.a.func,onChange:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,readOnly:o.a.bool,required:o.a.bool,role:o.a.string,variant:o.a.oneOf(["base","toggle","button-group","visual-picker"]),coverable:o.a.bool,vertical:o.a.bool,onRenderVisualPicker:o.a.func,onRenderVisualPickerSelected:o.a.func,onRenderVisualPickerNotSelected:o.a.func,size:o.a.oneOf(["medium","large"])},xl={assistiveText:{},labels:{toggleDisabled:"Disabled",toggleEnabled:"Enabled"},variant:"base"},zl=function(){function t(e){var c;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),wl(bl(c=function(e,t){return!t||"object"!==hl(t)&&"function"!=typeof t?bl(e):t}(this,gl(t).call(this,e))),"getId",function(){return c.props.id||c.generatedId}),wl(bl(c),"getErrorId",function(){return c.props.errorText?"".concat(c.getId(),"-error-text"):void 0}),wl(bl(c),"getAriaDescribedBy",function(){var e=(0<arguments.length&&void 0!==arguments[0]?arguments[0]:{}).idArray;return(void 0===e?[]:e).concat(c.props["aria-describedby"],c.getErrorId()).filter(Boolean).join(" ")||void 0}),wl(bl(c),"handleChange",function(e){var t=c.props,n=t.checked,r=t.indeterminate,o=t.onChange;"function"==typeof o&&(c.props.oldEventParameterOrder?o(e.target.checked,e,{checked:!!r||!n,indeterminate:!1}):o(e,{checked:!!r||!n,indeterminate:!1}))}),wl(bl(c),"handleKeyDown",function(e){e.keyCode&&(e.keyCode!==wt.ENTER&&e.keyCode!==wt.SPACE||(bt.trapImmediate(e),c.handleChange(e)))}),wl(bl(c),"renderButtonGroupVariant",function(e,t,n,r){return k.a.createElement("span",{className:"slds-button slds-checkbox_button"},k.a.createElement("input",ml({disabled:e.disabled},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{id:c.getId(),name:e.name,onBlur:e.onBlur,onChange:c.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(e){c.input=e},role:e.role,required:e.required,type:"checkbox"},t,{"aria-describedby":c.getAriaDescribedBy()})),k.a.createElement("label",{className:"slds-checkbox_button__label",htmlFor:c.getId()},k.a.createElement("span",{className:"slds-checkbox_faux"},r.label),n.label?k.a.createElement("span",{className:"slds-assistive-text"},n.label):null))}),wl(bl(c),"renderBaseVariant",function(t,e,n,r){return k.a.createElement("div",{className:H()("slds-form-element",{"is-required":t.required,"slds-has-error":t.errorText},t.className)},k.a.createElement("div",{className:"slds-form-element__control"},k.a.createElement("span",{className:"slds-checkbox"},t.required?k.a.createElement("abbr",{className:"slds-required",title:"required"},"*"):null,k.a.createElement("input",ml({disabled:t.disabled},void 0!==t.checked?{checked:t.checked}:{defaultChecked:t.defaultChecked},{id:c.getId(),name:t.name,onBlur:t.onBlur,onChange:c.handleChange,onFocus:t.onFocus,onKeyDown:t.onKeyDown,onKeyPress:t.onKeyPress,onKeyUp:t.onKeyUp,ref:function(e){e&&(e.indeterminate=t.indeterminate),c.input=e},role:t.role,required:t.required,type:"checkbox"},e,{"aria-describedby":c.getAriaDescribedBy()})),k.a.createElement("label",{className:"slds-checkbox__label",htmlFor:c.getId(),id:t.labelId},k.a.createElement("span",{className:"slds-checkbox_faux"}),r.label?k.a.createElement("span",{className:"slds-form-element__label"},r.label):null,n.label?k.a.createElement("span",{className:"slds-assistive-text"},n.label):null))),t.errorText?k.a.createElement("div",{className:"slds-form-element__help",id:c.getErrorId()},t.errorText):null)}),wl(bl(c),"renderToggleVariant",function(e,t,n,r){return k.a.createElement("div",{className:H()("slds-form-element",{"is-required":e.required,"slds-has-error":e.errorText},e.className)},k.a.createElement("label",{className:"slds-checkbox_toggle slds-grid",htmlFor:c.getId()},e.required?k.a.createElement("abbr",{className:"slds-required",title:"required"},"*"):null,r.label?k.a.createElement("span",{className:"slds-form-element__label slds-m-bottom_none"},r.label):null,n.label?k.a.createElement("span",{className:"slds-assistive-text"},n.label):null,k.a.createElement("input",ml({disabled:e.disabled,id:c.getId()},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{name:e.name,onBlur:e.onBlur,onChange:c.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(e){c.input=e},role:e.role,required:e.required,type:"checkbox"},t,{"aria-describedby":c.getAriaDescribedBy({idArray:["".concat(c.getId(),"-desc")]})})),k.a.createElement("span",{id:"".concat(c.getId(),"-desc"),className:"slds-checkbox_faux_container","aria-live":"assertive"},k.a.createElement("span",{className:"slds-checkbox_faux"}),k.a.createElement("span",{className:"slds-checkbox_on"},r.toggleEnabled),k.a.createElement("span",{className:"slds-checkbox_off"},r.toggleDisabled))),e.errorText?k.a.createElement("div",{className:"slds-form-element__help",id:c.getErrorId()},e.errorText):null)}),wl(bl(c),"renderVisualPickerVariant",function(e,t,n){return k.a.createElement("span",{className:H()("slds-visual-picker","slds-visual-picker_".concat(c.props.size),c.props.vertical?"slds-visual-picker_vertical":null)},k.a.createElement("input",ml({disabled:e.disabled},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{id:c.getId(),name:e.name,onBlur:e.onBlur,onChange:c.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(e){c.input=e},role:e.role,required:e.required,type:"checkbox"},t,{"aria-describedby":c.getAriaDescribedBy()})),k.a.createElement("label",{className:"slds-checkbox_button__label",htmlFor:c.getId()},c.props.coverable?k.a.createElement("div",{className:"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center"},k.a.createElement("span",{className:"slds-is-selected"},c.props.onRenderVisualPickerSelected()),k.a.createElement("span",{className:"slds-is-not-selected"},c.props.onRenderVisualPickerNotSelected())):k.a.createElement("span",{className:"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center"},c.props.onRenderVisualPicker()),c.props.vertical?null:k.a.createElement("span",{className:"slds-visual-picker__body"},c.props.labels.heading?k.a.createElement("span",{className:"slds-text-heading_small"},c.props.labels.heading):null,k.a.createElement("span",{className:"slds-text-title"},c.props.labels.label),n.label||n.heading?k.a.createElement("span",{className:"slds-assistive-text"},n.label||n.heading):null),c.props.coverable?null:k.a.createElement("span",{className:"slds-icon_container slds-visual-picker__text-check"},k.a.createElement(en,{assistiveText:c.props.assistiveText,category:"utility",name:"check",colorVariant:"base",size:"x-small"}))))}),ul(P,c.props,dl),c.generatedId=f.a.generate(),c}return 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&&yl(e,t)}(t,k.a.Component),function(e,t,n){t&&vl(e.prototype,t),n&&vl(e,n)}(t,[{key:"render",value:function(){var e=fn(this.props);"toggle"===this.props.variant&&(e["aria-describedby"]="".concat(this.getId(),"-desc"));var t=fl({},xl.assistiveText,"string"==typeof this.props.assistiveText?{label:this.props.assistiveText}:{},"object"===hl(this.props.assistiveText)?this.props.assistiveText:{}),n=fl({},xl.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)}}]),t}();zl.displayName=P,zl.propTypes=_l,zl.defaultProps=xl;var Ol=zl;var Sl=function(){};function Cl(e){return(Cl="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){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 Ml(e,t){return!t||"object"!==Cl(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Tl(e){return(Tl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Nl(e,t){return(Nl=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var kl,Hl,jl,Pl=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ml(this,Tl(e).apply(this,arguments))}return 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)}(e,k.a.Component),function(e,t,n){t&&El(e.prototype,t),n&&El(e,n)}(e,[{key:"render",value:function(){var e;return(this.props.errorTextWorkingColor||this.props.color.errors)&&(e="color-picker-custom-error-".concat(this.props.id)),k.a.createElement("div",{className:"slds-color-picker__custom-inputs"},k.a.createElement(Li,{"aria-describedby":e,className:H()("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}),k.a.createElement(Li,{"aria-describedby":e,className:H()("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)}),k.a.createElement(Li,{"aria-describedby":e,className:H()("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)}),k.a.createElement(Li,{"aria-describedby":e,className:H()("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)}))}}]),e}();jl="SLDSCustomColorForm",(Hl="displayName")in(kl=Pl)?Object.defineProperty(kl,Hl,{value:jl,enumerable:!0,configurable:!0,writable:!0}):kl[Hl]=jl;var Il=Pl;function Ll(e){return(Ll="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 Vl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Dl(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 Rl(e,t){return!t||"object"!==Ll(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Al(e){return(Al=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Bl(e,t){return(Bl=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Fl={assistiveText:o.a.shape({label:o.a.string,required:o.a.string}),children:o.a.node.isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),labels:o.a.shape({error:o.a.string,label:o.a.string}),onChange:o.a.func,disabled:o.a.bool,required:o.a.bool,name:o.a.string,errorId:o.a.string,variant:o.a.oneOf(["base","button-group"])},ql={assistiveText:{required:"Required"},labels:{},variant:"base"},Kl=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=Rl(this,Al(n).call(this,e))).generatedName=f.a.generate(),t.generatedErrorId=f.a.generate(),t}return 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&&Bl(e,t)}(n,k.a.Component),function(e,t,n){t&&Dl(e.prototype,t),n&&Dl(e,n)}(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 t=this;this.labels=this.props.labels?Nn()({},ql.labels,this.props.labels):ql.labels;var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Vl(t,e,n[e])})}return t}({},ql.assistiveText,this.props.assistiveText),n=k.a.Children.map(this.props.children,function(e){return k.a.cloneElement(e,{name:t.getName(),onChange:t.props.onChange,"aria-describedby":t.getErrorId(),disabled:t.props.disabled})});return k.a.createElement("fieldset",{className:H()("slds-form-element",{"slds-has-error":this.labels.error})},k.a.createElement("legend",{className:H()("slds-form-element__legend","slds-form-element__label",e.label?"slds-assistive-text":"")},this.props.required?k.a.createElement("abbr",{className:"slds-required",title:"required"},"*",k.a.createElement("div",{className:"slds-assistive-text"},e.required," ")):null,e.label?e.label:this.labels.label),k.a.createElement("div",{className:H()("slds-form-element__control",this.props.className)},"button-group"===this.props.variant?k.a.createElement("div",{style:this.props.style,className:"slds-radio_button-group"},n):n,this.labels.error?k.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},this.labels.error):null))}}]),n}();Kl.displayName="SLDSRadioGroup",Kl.propTypes=Fl,Kl.defaultProps=ql;var Wl=Kl;function Ul(){return(Ul=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 Gl(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Yl(e){e.variant;var t=Gl(e,["variant"]);return k.a.createElement(Wl,Ul({variant:"button-group"},t))}var Ql={assistiveText:o.a.shape({label:o.a.string}),children:o.a.node.isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),labels:o.a.shape({error:o.a.string,label:o.a.string}),onChange:o.a.func,disabled:o.a.bool,required:o.a.bool,name:o.a.string,errorId:o.a.string};Yl.displayName="SLDSRadioButtonGroup",Yl.propTypes=Ql,Yl.defaultProps={labels:{},assistiveText:{}};var Jl=Yl;function Xl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $l(e){var t=e.color,n=e.style,r=e.label,o=e.labels,c=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Xl(t,e,n[e])})}return t}({backgroundColor:t},n),a=r||t;return t||(c.backgroundImage="linear-gradient(-45deg, white 47%, #870500 0, #870500 53%, white 0)",o&&o.swatchTabTransparentSwatch&&(a=o.swatchTabTransparentSwatch)),k.a.createElement("span",{className:"slds-swatch",style:c},k.a.createElement("span",{className:"slds-assistive-text"},a))}$l.propTypes={color:o.a.string.isRequired};var Zl=$l;var ep=function(){},tp=n(43);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(){return(rp=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 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 cp(e){return(cp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ap(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sp(e,t){return(sp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ip(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var lp={assistiveText:o.a.shape({label:o.a.string}),"aria-describedby":o.a.string,"aria-labelledby":o.a.string,checked:o.a.bool,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),defaultChecked:o.a.bool,disabled:o.a.bool,id:o.a.string,labels:o.a.shape({heading:o.a.string,label:o.a.string}),name:o.a.string,onChange:o.a.func,value:o.a.string,variant:o.a.oneOf(["base","button-group","swatch","visual-picker"]),coverable:o.a.bool,vertical:o.a.bool,onRenderVisualPicker:o.a.func,onRenderVisualPickerSelected:o.a.func,onRenderVisualPickerNotSelected:o.a.func,description:o.a.string,size:o.a.oneOf(["medium","large"]),refs:o.a.shape({input:o.a.func})},pp={assistiveText:{},variant:"base",coverable:!1},up=function(){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),ip(ap(n=function(e,t){return!t||"object"!==np(t)&&"function"!=typeof t?ap(e):t}(this,cp(t).call(this,e))),"handleChange",function(e,t){n.preventDuplicateChangeEvent?n.preventDuplicateChangeEvent=!1:(n.preventDuplicateChangeEvent=Boolean(t),n.props.onChange&&n.props.onChange(e,{checked:!n.props.checked}))}),n.preventDuplicateChangeEvent=!1,n}return 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)}(t,k.a.Component),function(e,t,n){t&&op(e.prototype,t),n&&op(e,n)}(t,[{key:"componentWillMount",value:function(){ep("SLDSRadio",this.props,tp),this.generatedId=f.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e,n=this,t=fn(this.props),r=function(n){return Object.keys(n).reduce(function(e,t){return"data-"===t.substr(0,5)&&(e[t]=n[t]),e},{})}(this.props),o=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){ip(t,e,n[e])})}return t}({},pp.labels,this.props.label?{label:this.props.label}:{},this.props.labels);return e="swatch"===this.props.variant?k.a.createElement("label",{style:{border:"1px"},className:"slds-radio_button__label",htmlFor:this.getId()},k.a.createElement("span",null,k.a.createElement(Zl,{label:o.label,style:this.props.style,color:this.props.value}))):"button-group"===this.props.variant?k.a.createElement("label",{className:"slds-radio_button__label",htmlFor:this.getId()},k.a.createElement("span",{className:"slds-radio_faux"},o.label)):"visual-picker"===this.props.variant?k.a.createElement("label",{htmlFor:this.getId()},this.props.coverable?k.a.createElement("div",{className:"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center"},k.a.createElement("span",{className:"slds-is-selected"},this.props.onRenderVisualPickerSelected()),k.a.createElement("span",{className:"slds-is-not-selected"},this.props.onRenderVisualPickerNotSelected())):k.a.createElement("span",{className:"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center"},this.props.onRenderVisualPicker()),this.props.vertical?null:k.a.createElement("span",{className:"slds-visual-picker__body"},o.heading?k.a.createElement("span",{className:"slds-text-heading_small"},o.heading):null,k.a.createElement("span",{className:"slds-text-title"},o.label)),this.props.coverable?null:k.a.createElement("span",{className:"slds-icon_container slds-visual-picker__text-check"},k.a.createElement(en,{assistiveText:this.props.assistiveText,category:"utility",name:"check",colorVariant:"base",size:"x-small"}))):k.a.createElement("label",{className:"slds-radio__label",htmlFor:this.getId(),id:this.props.labelId},k.a.createElement("span",{className:"slds-radio_faux"}),k.a.createElement("span",{className:"slds-form-element__label"},o.label),this.props.assistiveText.label?k.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText.label):null),k.a.createElement("span",{className:H()("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)},k.a.createElement("input",rp({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){n.handleChange(e)},onClick:function(e){n.props.checked&&n.props.deselectable&&n.handleChange(e)},onKeyPress:function(e){var t=e.charCode;t===wt.SPACE&&n.props.checked&&n.props.deselectable?n.handleChange(e,!0):(t===wt.ENTER&&n.props.checked&&n.props.deselectable||!n.props.checked)&&n.handleChange(e)},disabled:this.props.disabled},t,r,{ref:function(e){n.props.refs&&n.props.refs.input&&n.props.refs.input(e)}})),e)}}]),t}();up.displayName="SLDSRadio",up.propTypes=lp,up.defaultProps=pp;var dp=up,hp=dp,fp=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,mp={getNewColor:function(e,t,n){var r=2<arguments.length&&void 0!==n?n:{};if(e.hex)return(t?t(e.hex):this.isValidHex(e.hex))?{hex:e.hex,hsv:this.getHsvFromHex(e.hex),rgb:this.getRgbFromHex(e.hex)}:Nn()({},r,{hex:e.hex,errors:Nn()({},r.errors,{hex:!0}),hsv:{hue:"",saturation:"",value:""},rgb:{red:"",green:"",blue:""}});if("red"in e||"blue"in e||"green"in e){var o=Nn()({},r.rgb,e),c=this.getRgbErrors(o);return Object.values(c).includes(!0)?Nn()({},r,{rgb:o,errors:Nn()({},r.errors,c)}):{hex:this.getHexFromRgb(o),hsv:this.getHsvFromRgb(o),rgb:o}}if("hue"in e||"saturation"in e||"value"in e){var a=Nn()({},r.hsv,e);return{hex:this.getHexFromHsv(a),hsv:a,rgb:this.getRgbFromHsv(a)}}return{hex:"",hsv:{hue:"",saturation:"",value:""},rgb:{red:"",green:"",blue:""}}},getDeltaColor:function(e,t,n){function r(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||fp.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||256<=e}(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}))},getHsvFromRgb:function(e){var t,n=e.red/255,r=e.green/255,o=e.blue/255,c=Math.max(n,r,o),a=Math.min(n,r,o),s=c-a;return c===a?t=0:(t=n===c?(r-o)/s+(r<o?6:0):r===c?(o-n)/s+2:(n-r)/s+4,t*=60),{hue:t,saturation:0===c?0:s/c*100,value:100*c}},getRgbFromHsv:function(e){var t,n,r,o=e.hue/360,c=e.saturation/100,a=e.value/100,s=Math.floor(6*o),i=6*o-s,l=a*(1-c),p=a*(1-i*c),u=a*(1-(1-i)*c);switch(s%6){case 0:t=a,n=u,r=l;break;case 1:t=p,n=a,r=l;break;case 2:t=l,n=a,r=u;break;case 3:t=l,n=p,r=a;break;case 4:t=u,n=l,r=a;break;default:t=a,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=fp.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 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 gp(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){xp(t,e,n[e])})}return t}function bp(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 yp(e){return(yp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function wp(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _p(e,t){return(_p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 zp={border:"1px solid #9e9e9e",boxShadow:"rgb(117, 112, 112) 1px 1px 1px",marginRight:"2px"},Op={border:"1px solid #9e9e9e",marginRight:"2px"},Sp=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return xp(wp(t=function(e,t){return!t||"object"!==vp(t)&&"function"!=typeof t?wp(e):t}(this,(e=yp(c)).call.apply(e,[this].concat(r)))),"handleSwatchChange",function(e){t.setState({isTransparentSelected:""===e.target.value}),t.props.onSwatchChange(e)}),xp(wp(t),"isTransparent",function(){return""===t.props.color.hex}),t}return 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)}(c,k.a.Component),function(e,t,n){t&&bp(e.prototype,t),n&&bp(e,n)}(c,[{key:"render",value:function(){var t=this,e=this.isTransparent()?gp({},Op):gp({},zp),n=this.isTransparent()?gp({},zp):gp({},Op),r=this.props.previousColor.hex?this.props.previousColor:mp.getNewColor({hex:"#000000"}),o=this.isTransparent()?r:this.props.color;return k.a.createElement("div",null,k.a.createElement("p",{className:"slds-assistive-text",id:"color-picker-instructions-".concat(this.props.id)},this.props.assistiveText.saturationValueGrid),k.a.createElement("div",{className:"slds-color-picker__custom-range",style:{background:"hsl(".concat(o.hsv.hue,", 100%, 50%)")},onClick:function(e){!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)})}(e,t.rangeIndicator,{onSaturationValueChange:t.props.onSaturationValueChange})},role:"presentation"},k.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(e){!function(t,e){var n,r=e.onSaturationNavigate,o=e.onValueNavigate,c=(xp(n={},wt.LEFT,function(e){r(t,{delta:-1*e})}),xp(n,wt.RIGHT,function(e){r(t,{delta:e})}),xp(n,wt.UP,function(e){o(t,{delta:e})}),xp(n,wt.DOWN,function(e){o(t,{delta:-1*e})}),n);c[t.keyCode]&&(t.preventDefault(),c[t.keyCode](t.shiftKey?10:1))}(e,gp({},t.props))},ref:function(e){t.rangeIndicator=e},role:"button",style:{bottom:"".concat(o.hsv.value,"%"),left:"".concat(o.hsv.saturation,"%")},tabIndex:0},k.a.createElement("span",{className:"slds-assistive-text"},"Saturation ".concat(o.hsv.saturation,"% Brightness: ").concat(o.hsv.value,"%")))),k.a.createElement("div",{className:"slds-color-picker__hue-and-preview"},k.a.createElement("label",{className:"slds-assistive-text",htmlFor:"color-picker-input-range-".concat(this.props.id)},this.props.assistiveText.hueSlider),k.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:o.hsv.hue,onChange:this.props.onHueChange}),k.a.createElement(Jl,{name:"".concat(this.props.id,"-color-picker-swatch-toggle-button-group"),assistiveText:{label:"Toggle Transparency"},style:{border:"none",borderRadius:"unset"},onChange:this.handleSwatchChange},k.a.createElement(hp,{checked:!this.isTransparent(),id:"color-picker-active-working-color-swatch-".concat(this.props.id),key:"working-color",label:this.props.labels.customTabActiveWorkingColorSwatch,style:e,value:o.hex,variant:"swatch"}),k.a.createElement(hp,{checked:this.isTransparent(),id:"color-picker-transparent-swatch-".concat(this.props.id),key:"transparent",label:this.props.labels.customTabTransparentSwatch,style:n,value:"",variant:"swatch"}))))}}]),c}();xp(Sp,"displayName","SLDSHsvColor");var Cp=Sp;function Ep(e){return(Ep="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){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 Tp(e,t){return!t||"object"!==Ep(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Np(e){return(Np=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function kp(e,t){return(kp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Hp,jp,Pp,Ip=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Tp(this,Np(e).apply(this,arguments))}return 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&&kp(e,t)}(e,k.a.Component),function(e,t,n){t&&Mp(e.prototype,t),n&&Mp(e,n)}(e,[{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,k.a.createElement("div",{className:"slds-color-picker__custom"},k.a.createElement(Cp,{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}),k.a.createElement(Il,{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?k.a.createElement("p",{className:"slds-form-error slds-color-picker__input-custom-error",id:"color-picker-custom-error-".concat(this.props.id)},e):"")}}]),e}();Pp="SLDSCustomColor",(jp="displayName")in(Hp=Ip)?Object.defineProperty(Hp,jp,{value:Pp,enumerable:!0,configurable:!0,writable:!0}):Hp[jp]=Pp;var Lp=Ip,Vp=n(8),Dp=n.n(Vp);function Rp(e){return(Rp="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){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!t||"object"!==Rp(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Fp(e){return(Fp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qp(e,t){return(qp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Kp,Wp,Up,Gp={border:"1px solid #141414",borderRadius:"2px",margin:"3px"},Yp={border:"1px solid white",borderRadius:"2px"},Qp=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Bp(this,Fp(e).apply(this,arguments))}return 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&&qp(e,t)}(e,k.a.Component),function(e,t,n){t&&Ap(e.prototype,t),n&&Ap(e,n)}(e,[{key:"render",value:function(){var t=this;return k.a.createElement("li",{className:"slds-color-picker__swatch",style:this.props.workingColor&&this.props.workingColor.hex===this.props.color?Gp:{},role:"presentation"},k.a.createElement("a",{"aria-selected":this.props.workingColor&&this.props.workingColor.hex===this.props.color,className:"slds-color-picker__swatch-trigger",onClick:function(e){!function(e,t){var n=t.hex,r=t.onSelect;e.preventDefault(),r(e,{hex:n})}(e,{hex:t.props.color,onSelect:t.props.onSelect})},ref:this.props.swatchOptionRef,role:"option",style:this.props.workingColor&&this.props.workingColor===this.props.color?Yp:{},tabIndex:this.props.tabIndex},k.a.createElement(Zl,{color:this.props.color,labels:this.props.labels})))}}]),e}();Up="SLDSSwatchOption",(Wp="displayName")in(Kp=Qp)?Object.defineProperty(Kp,Wp,{value:Up,enumerable:!0,configurable:!0,writable:!0}):Kp[Wp]=Up;var Jp=Qp;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){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 Zp(e){return(Zp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eu(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tu(e,t){return(tu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function nu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ru=function(){function t(e){var c;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),nu(eu(c=function(e,t){return!t||"object"!==Xp(t)&&"function"!=typeof t?eu(e):t}(this,Zp(t).call(this,e))),"selectPreviousColor",function(e,t){var n=Dp()(t.swatchColors,function(e){return e===t.color.hex}),r=-1===n||n===t.swatchColors.length-1?0:n+1,o=t.swatchColors[r];t.onSelect(e,{hex:o}),c.swatchColorRefs[o].focus()}),nu(eu(c),"selectNextColor",function(e,t){var n,r=Dp()(t.swatchColors,function(e){return e===t.color.hex});n=0===r?t.swatchColors.length-1:-1===r?0:r-1;var o=t.swatchColors[n];t.onSelect(e,{hex:o}),c.swatchColorRefs[o].focus()}),nu(eu(c),"handleKeyDown",function(e,t){var n,r=(nu(n={},wt.RIGHT,function(){t.direction===xe.RTL?c.selectNextColor(e,t):c.selectPreviousColor(e,t)}),nu(n,wt.DOWN,function(){c.selectPreviousColor(e,t)}),nu(n,wt.LEFT,function(){t.direction===xe.RTL?c.selectPreviousColor(e,t):c.selectNextColor(e,t)}),nu(n,wt.UP,function(){c.selectNextColor(e,t)}),n);e.keyCode&&r[e.keyCode]&&(bt.trapEvent(e),r[e.keyCode]())}),nu(eu(c),"addRef",function(t){return function(e){c.swatchColorRefs[t]=e}}),c.swatchColorRefs={},c}return 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&&tu(e,t)}(t,k.a.Component),function(e,t,n){t&&$p(e.prototype,t),n&&$p(e,n)}(t,[{key:"render",value:function(){var n=this,r=this.props.swatchColors.includes(this.props.color.hex);return k.a.createElement("ul",{className:"slds-color-picker__swatches",role:"listbox",onKeyDown:function(e){n.handleKeyDown(e,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){nu(t,e,n[e])})}return t}({},n.props))}},this.props.swatchColors.map(function(e,t){return k.a.createElement(Jp,{color:e,key:e,labels:n.props.labels,onSelect:n.props.onSelect,swatchOptionRef:n.addRef(e),workingColor:n.props.color,tabIndex:n.props.color&&n.props.color.hex===e||0===t&&!r?0:-1})}))}}]),t}();nu(ru,"displayName","SLDSSwatchPicker");function ou(e){var t=e.id,n=e.className,r=e.children,o=e.variant;return k.a.createElement("ul",{id:"".concat(t,"-slds-tabs__nav"),className:H()(n,{"slds-tabs_default__nav":"default"===o,"slds-tabs_scoped__nav":"scoped"===o}),role:"tablist"},r)}var cu=Ge(ru);ou.displayName="SLDSTabsList",ou.propTypes={id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),children:o.a.oneOfType([o.a.object,o.a.array]),variant:o.a.oneOf(["default","scoped"])};var au=ou;function su(e){return(su="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,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 lu(e){return(lu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function pu(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function uu(e,t){return(uu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function du(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var hu=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return du(pu(t=function(e,t){return!t||"object"!==su(t)&&"function"!=typeof t?pu(e):t}(this,(e=lu(c)).call.apply(e,[this].concat(r)))),"checkFocus",function(){t.props.selected&&t.props.focus&&t.node&&t.node.focus()}),t}return 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&&uu(e,t)}(c,k.a.Component),function(e,t,n){t&&iu(e.prototype,t),n&&iu(e,n)}(c,[{key:"componentDidMount",value:function(){this.checkFocus()}},{key:"componentDidUpdate",value:function(){this.checkFocus()}},{key:"render",value:function(){var e,t,n,r=this,o=this.props,c=o.selected,a=o.disabled,s=o.panelId,i=o.activeTabClassName,l=o.disabledTabClassName,p=o.className,u=o.children,d=o.id,h=o.variant;return n=c?"0":a?"-1":null,k.a.createElement("li",{className:H()(p,(e={},du(e,i,c),du(e,l,a),du(e,"slds-tabs_default__item","default"===h),du(e,"slds-tabs_scoped__item","scoped"===h),e)),role:"presentation",ref:function(e){r.node=e},tabIndex:n,id:d,title:"string"==typeof u?u:null},k.a.createElement("a",{className:H()((t={},du(t,i,c),du(t,l,a),du(t,"slds-tabs_default__link","default"===h),du(t,"slds-tabs_scoped__link","scoped"===h),t)),href:"javascript:void(0);",role:"tab",tabIndex:"-1","aria-controls":s,"aria-disabled":a,"aria-selected":c?"true":"false"},u))}}]),c}();du(hu,"displayName","SLDSTab"),du(hu,"propTypes",{className:o.a.string,id:o.a.string,focus:o.a.bool,selected:o.a.bool,disabled:o.a.bool,activeTabClassName:o.a.string,disabledTabClassName:o.a.string,panelId:o.a.string,children:o.a.oneOfType([o.a.string,o.a.element]),variant:o.a.oneOf(["default","scoped"])}),du(hu,"defaultProps",{focus:!1,selected:!1,activeTabClassName:"slds-active",disabledTabClassName:"slds-disabled",variant:"default"});var fu=hu;function mu(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function vu(e){var t=e.className,n=e.children,r=e.variant,o=e.selected,c=e.id,a=e.tabId;return mu(e,["className","children","variant","selected","id","tabId"]),k.a.createElement("div",{"aria-labelledby":a,className:H()(t,{"slds-show":o,"slds-hide":!o,"slds-tabs_default__content":"default"===r,"slds-tabs_scoped__content":"scoped"===r}),id:c,role:"tabpanel"},n.props.children)}vu.displayName="SLDSTabPanel",vu.propTypes={children:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),className:o.a.string,id:o.a.string,selected:o.a.bool,variant:o.a.oneOf(["default","scoped"]),tabId:o.a.string},vu.defaultProps={variant:"default",selected:!1};var gu=vu;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 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 wu(e){return(wu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xu(e,t){return(xu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function zu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ou(e){return!(!e.classList||!e.classList.contains("slds-disabled"))||(e.getAttribute?"true"===e.getAttribute("aria-disabled"):!!e.props.disabled)}var Su={id:o.a.string,children:o.a.oneOfType([o.a.arrayOf(o.a.node),o.a.node,o.a.element]).isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),defaultSelectedIndex:o.a.number,onSelect:o.a.func,variant:o.a.oneOf(["default","scoped"]),selectedIndex:o.a.number},Cu=function(){function t(e){var o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),zu(_u(o=function(e,t){return!t||"object"!==bu(t)&&"function"!=typeof t?_u(e):t}(this,wu(t).call(this,e))),"handleClick",function(e){var t=e.target;do{if(o.isTabFromContainer(t)){if(Ou(t))return;var n=t.parentNode;"LI"===n.nodeName&&(n=(t=t.parentNode).parentNode);var r=[].slice.call(n.children).indexOf(t);return void o.setSelected(r)}}while(null!==(t=t.parentNode))}),zu(_u(o),"handleKeyDown",function(e){if(o.isTabFromContainer(e.target)){var t=o.getSelectedIndex(),n=!1;e.keyCode===wt.LEFT||e.keyCode===wt.UP?(t=o.getPrevTab(t),n=!0):e.keyCode!==wt.RIGHT&&e.keyCode!==wt.DOWN||(t=o.getNextTab(t),n=!0),n&&bt.trap(e),o.setSelected(t,!0)}}),o.tabs=[],o.generatedId=f.a.generate(),o.flavor=o.getVariant(),o.state={selectedIndex:e.defaultSelectedIndex},o}return 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&&xu(e,t)}(t,k.a.Component),function(e,t,n){t&&yu(e.prototype,t),n&&yu(e,n)}(t,[{key:"getNextTab",value:function(e){for(var t=this.getTabsCount(),n=e+1;n<t;n++){if(!Ou(this.getTab(n)))return n}for(var r=0;r<e;r++){if(!Ou(this.getTab(r)))return r}return e}},{key:"getPanelsCount",value:function(){return this.props.children?k.a.Children.count(this.props.children):0}},{key:"getPrevTab",value:function(e){for(var t=e;t--;){if(!Ou(this.getTab(t)))return t}for(t=this.getTabsCount();t-- >e;){if(!Ou(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?k.a.Children.count(this.props.children):0}},{key:"getVariant",value:function(){return"scoped"===this.props.variant?"scoped":"default"}},{key:"setSelected",value:function(e,t){if(!(e<0||e>=this.getTabsCount())){var n,r=this.getSelectedIndex();Xn()(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))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(a){var s=this,i=k.a.Children.toArray(this.props.children),l=this.getSelectedIndex();return i.map(function(e,t){var n="".concat(a,"-slds-tabs_tab-").concat(t),r="".concat(a,"-slds-tabs_panel-").concat(t),o=l===t,c=s.getVariant();return k.a.createElement(gu,{key:e.key,selected:o,id:r,tabId:n,variant:c},i[t])})}},{key:"renderTabsList",value:function(s){var i=this,e=k.a.Children.toArray(this.props.children);return k.a.createElement(au,{id:s,variant:this.getVariant()},e.map(function(t,n){var e="".concat(s,"-slds-tabs_tab-").concat(n),r="".concat(s,"-slds-tabs_panel-").concat(n),o=i.getSelectedIndex()===n,c=o&&i.state.focus,a=i.getVariant();return k.a.createElement(fu,{key:t.key,ref:function(e){i.tabs[n]={tab:t,node:e},i.state.focus&&i.setState({focus:!1})},focus:c,selected:o,id:e,panelId:r,disabled:t.props.disabled,variant:a},t.props.label)}))}},{key:"render",value:function(){var t=this,e=this.props,n=e.className,r=e.id,o=void 0===r?this.generatedId:r,c=e.variant,a=void 0===c?this.getVariant:c;return k.a.createElement("div",{id:o,className:H()({"slds-tabs_default":"default"===a,"slds-tabs_scoped":"scoped"===a},n),onClick:this.handleClick,onKeyDown:this.handleKeyDown,"data-tabs":!0,ref:function(e){t.tabsNode=e}},this.renderTabsList(o),this.renderTabPanels(o))}}]),t}();Cu.displayName="SLDSTabs",Cu.propTypes=Su,Cu.defaultProps={defaultSelectedIndex:0,variant:"default"};function Eu(e){var t=e.children;return k.a.createElement("div",null,k.a.Children.toArray(t))}var Mu=Cu;Eu.displayName="SLDSTabsPanel",Eu.propTypes={label:o.a.oneOfType([o.a.string,o.a.element]).isRequired,children:o.a.oneOfType([o.a.arrayOf(o.a.node),o.a.node,o.a.element]).isRequired};var Tu=Eu;var Nu=function(){},ku=n(44),Hu=function(e){var t=e.isOpen,n=e.handleClick,r=e.keyCode,o=e.eventTarget,c=e.trigger,a=e.toggleOpen;switch(r){case wt.ESCAPE:t&&a();break;case wt.ENTER:t||function(e){var t=e.trigger,n=e.eventTarget,r=e.handleClick;t&&it.a.findDOMNode(t)===n&&r(event)}({trigger:c,eventTarget:o,handleClick:n})}};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(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ru(t,e,n[e])})}return t}function Iu(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 Lu(e){return(Lu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Vu(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Du(e,t){return(Du=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ru(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Au,Bu="undefined"!=typeof document,Fu=Bu?document.createElement("span"):{style:{}};Fu.style.top=0,Fu.style.left=0,Fu.style.width="100%",Fu.style.height="100%";var qu={align:"right",assistiveText:{closeButton:"Close dialog"},hasNoCloseButton:!(Fu.style.position="absolute"),hasNoNubbin:!1,hoverCloseDelay:300,openOn:"click",position:"absolute",variant:"base"},Ku=function(){function t(e){var h;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Ru(Vu(h=function(e,t){return!t||"object"!==ju(t)&&"function"!=typeof t?Vu(e):t}(this,Lu(t).call(this,e))),"state",{isOpen:!1}),Ru(Vu(h),"getId",function(){return h.props.id||h.generatedId}),Ru(Vu(h),"getIsOpen",function(){return!h.props.disabled&&!!("boolean"==typeof h.props.isOpen?h.props.isOpen:h.state.isOpen)}),Ru(Vu(h),"getMenu",function(){return h.dialog}),Ru(Vu(h),"getTargetElement",function(){return h.props.onRequestTargetElement&&h.props.onRequestTargetElement()?h.props.onRequestTargetElement():h.trigger}),Ru(Vu(h),"setMenuRef",function(e){h.dialog=e}),Ru(Vu(h),"setContainerRef",function(e){h.trigger=e,h.state.inputRendered||h.setState({inputRendered:!0})}),Ru(Vu(h),"handleDialogClose",function(e,t){var n=t&&t.componentWillUnmount||!1;Au===Vu(h)&&(Au=void 0),h.props.onClose&&h.props.onClose(e,{componentWillUnmount:n})}),Ru(Vu(h),"handleClose",function(e,t){h.getIsOpen()&&(h.props.onRequestClose&&h.props.onRequestClose(e,t),Au===Vu(h)&&(Au=void 0),h.setState({isOpen:!1}),h.isHover=!1)}),Ru(Vu(h),"handleOpen",function(){h.getIsOpen()||(Au&&Xn()(Au.handleClose)&&Au.handleClose(void 0,{trigger:"newPopover",id:Au.getId()}),Au=Vu(h),h.setState({isOpen:!0}))}),Ru(Vu(h),"handleMouseEnter",function(e){var t=h.getIsOpen();h.isHover=!0,t||"hover"!==h.props.openOn?clearTimeout(h.isClosing):h.handleOpen(),h.props.onMouseEnter&&h.props.onMouseEnter(e)}),Ru(Vu(h),"handleMouseLeave",function(e){h.getIsOpen()&&(h.isClosing=setTimeout(function(){h.handleClose()},h.props.hoverCloseDelay)),h.props.onMouseLeave&&h.props.onMouseLeave(e)}),Ru(Vu(h),"handleClick",function(e,t){var n=t.triggerOnClickCallback;h.getIsOpen()?h.handleClose():h.handleOpen(),h.props.onClick&&h.props.onClick(e),n&&n(e)}),Ru(Vu(h),"handleFocus",function(e){h.getIsOpen()||h.handleOpen(),h.props.onFocus&&h.props.onFocus(e)}),Ru(Vu(h),"handleKeyDown",function(e){if(e.keyCode){if(e.keyCode!==wt.TAB){var t=h.getIsOpen();Hu({event:e,isOpen:t,handleClick:h.handleClick,key:e.key,keyCode:e.keyCode,targetTarget:e.target,toggleOpen:h.toggleOpenFromKeyboard,trigger:h.trigger})}h.props.onKeyDown&&h.props.onKeyDown(e)}}),Ru(Vu(h),"handleCancel",function(e){h.handleClose(e,{trigger:"cancel"})}),Ru(Vu(h),"handleClickOutside",function(e){h.handleClose(e,{trigger:"clickOutside"})}),Ru(Vu(h),"toggleOpenFromKeyboard",function(e){h.getIsOpen()?h.handleCancel(e):h.handleOpen()}),Ru(Vu(h),"renderDialog",function(e,t){var n=Vu(h).props,r=n.offset,o=Pu({},qu.assistiveText,h.props.assistiveText),c=n.closeButtonAssistiveText||o.closeButton,a="error"===h.props.variant||"warning"===h.props.variant,s=h.props.heading||a,i={error:k.a.createElement(en,{category:"utility",name:"error",size:"x-small",inverse:!0}),warning:k.a.createElement(en,{category:"utility",name:"warning",size:"x-small",inverse:!0})},l={base:k.a.createElement("header",{className:H()("slds-popover__header",{"slds-p-vertical_medium":"walkthrough"===n.variant})},k.a.createElement("h2",{id:h.props.ariaLabelledby||"".concat(h.getId(),"-dialog-heading"),className:H()({"slds-text-heading_small":"walkthrough"!==n.variant,"slds-text-heading_medium":"walkthrough"===n.variant})},h.props.heading)),themed:k.a.createElement("header",{className:"slds-popover__header"},k.a.createElement(Ts,{body:k.a.createElement("h2",{id:h.props.ariaLabelledby||"".concat(h.getId(),"-dialog-heading"),className:"slds-truncate slds-text-heading_medium",title:n.heading},n.heading),figure:i[h.props.variant],verticalCenter:!0}))},p=null;s&&"walkthrough-action"!==n.variant&&"feature"!==n.variant&&(p=l[a?"themed":"base"]);var u=null;u="error"===n.variant||"warning"===n.variant?k.a.createElement("div",null,k.a.createElement("div",{id:"".concat(h.getId(),"-dialog-body"),className:H()("slds-popover__body slds-popover__body_scrollable",h.props.classNameBody),style:{borderBottom:"none"}},n.body),k.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"===n.variant||"feature"===n.variant?k.a.createElement("div",{className:H()("slds-popover__body",h.props.classNameBody),id:"".concat(h.getId(),"-dialog-body")},k.a.createElement("div",{className:"slds-media"},k.a.createElement("div",{className:"slds-media__figure"},"walkthrough-action"===n.variant?k.a.createElement(en,{category:"utility",name:"touch_action",size:"small",inverse:!0}):h.props.icon),k.a.createElement("div",{className:"slds-media__body"},n.heading?k.a.createElement("h2",{id:h.props.ariaLabelledby||"".concat(h.getId(),"-dialog-heading"),className:"slds-text-heading_small"},n.heading):null,n.body,n.stepText?k.a.createElement("p",{className:"slds-m-top_medium slds-text-title"},n.stepText):null))):k.a.createElement("div",{id:"".concat(h.getId(),"-dialog-body"),className:H()("slds-popover__body",h.props.classNameBody)},n.body);var d=null;return n.footer?d=k.a.createElement("footer",{className:H()("slds-popover__footer",h.props.classNameFooter,h.props.footerClassName),style:h.props.footerStyle},h.props.footer):"walkthrough-action"!==n.variant&&(n.footerWalkthroughActions||n.stepText)&&(d=k.a.createElement("footer",{className:"slds-popover__footer"},k.a.createElement("div",{className:"slds-grid slds-grid_vertical-align-center"},n.stepText?k.a.createElement("span",{className:"slds-text-title"},n.stepText):null,n.footerWalkthroughActions?k.a.createElement("div",{className:"slds-col_bump-left",style:{display:"inline-block"}},n.footerWalkthroughActions):null))),e?k.a.createElement(Kt,{hasNubbin:!h.props.hasNoNubbin,align:n.align,contentsClassName:H()(h.props.contentsClassName,"ignore-react-onclickoutside","slds-popover",{"slds-popover_error":"error"===n.variant},{"slds-popover_walkthrough":"walkthrough"===n.variant||"walkthrough-action"===n.variant||"feature"===n.variant},{"slds-popover_walkthrough-alt":"walkthrough-action"===n.variant},{"slds-popover_feature":"feature"===n.variant},{"slds-popover_warning":"warning"===n.variant},n.className),context:h.context,hasStaticAlignment:n.hasStaticAlignment,offset:r,onCancel:h.handleClose,onClose:h.handleDialogClose,onOpen:h.props.onOpen,onKeyDown:h.handleKeyDown,onMouseEnter:"hover"===n.openOn?h.handleMouseEnter:null,onMouseLeave:"hover"===n.openOn?h.handleMouseLeave:null,outsideClickIgnoreClass:t,onRequestTargetElement:function(){return h.getTargetElement()},position:h.props.position,style:h.props.style,variant:"popover",ref:h.setMenuRef,containerProps:{id:"".concat(h.getId(),"-popover"),"aria-labelledby":h.props.ariaLabelledby||"".concat(h.getId(),"-dialog-heading"),"aria-describedby":"".concat(h.getId(),"-dialog-body")}},!h.props.hasNoCloseButton&&k.a.createElement(Cn,{assistiveText:{icon:c},iconCategory:"utility",iconName:"close",className:H()("slds-button slds-button_icon-small slds-float_right slds-popover__close slds-button_icon",{"slds-button_icon-inverse":"walkthrough"===n.variant||"walkthrough-action"===n.variant||"feature"===n.variant}),onClick:h.handleCancel,variant:"icon",inverse:"error"===h.props.variant||"warning"===h.props.variant}),p,u,d):null}),Ru(Vu(h),"renderOverlay",function(e){Xn()(Fu)&&Bu?Fu(e,Fu):h.props.overlay&&e&&!h.overlay&&Bu?(h.overlay=Fu,document.querySelector("body").appendChild(h.overlay)):!e&&h.overlay&&h.overlay.parentNode&&(h.overlay.parentNode.removeChild(h.overlay),h.overlay=void 0)}),h.generatedId=f.a.generate(),Nu(re,e,ku),h}return 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&&Du(e,t)}(t,k.a.Component),function(e,t,n){t&&Iu(e.prototype,t),n&&Iu(e,n)}(t,[{key:"componentWillUnmount",value:function(){Au===this&&(Au=void 0),this.isUnmounting=!0,this.renderOverlay(!1)}},{key:"render",value:function(){var n=this,r=[],e="ignore-click-".concat(this.getId()),o=null;k.a.Children.forEach(this.props.children,function(t,e){0===e?o=k.a.cloneElement(t,Pu({"aria-haspopup":"dialog",id:n.getId(),onClick:"click"===n.props.openOn||"hybrid"===n.props.openOn?function(e){n.handleClick(e,{triggerOnClickCallback:t.props.onClick})}:t.props.onClick,onFocus:"hover"===n.props.openOn?n.handleFocus:null,onMouseDown:n.props.onMouseDown,onMouseEnter:"hover"===n.props.openOn||"hybrid"===n.props.openOn?n.handleMouseEnter:null,onMouseLeave:"hover"===n.props.openOn||"hybrid"===n.props.openOn?n.handleMouseLeave:null,tabIndex:t.props.tabIndex||"0"},t.props)):r.push(t)}),this.renderOverlay(this.getIsOpen());var t={display:this.props.hasNoTriggerStyles?void 0:"inline-block"};return k.a.createElement("div",{className:this.props.triggerClassName,style:t,ref:this.setContainerRef},o,0<r.length?r:null,this.renderDialog(this.getIsOpen(),e))}}]),t}();Ru(Ku,"displayName",re),Ru(Ku,"propTypes",{align:o.a.oneOf(["top","top left","top right","right","right top","right bottom","bottom","bottom left","bottom right","left","left top","left bottom"]),assistiveText:o.a.shape({closeButton:o.a.string}),ariaLabelledby:o.a.string,children:o.a.node.isRequired,body:o.a.oneOfType([o.a.node,o.a.array]).isRequired,classNameBody:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameFooter:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),disabled:o.a.bool,footer:o.a.node,footerStyle:o.a.object,footerWalkthroughActions:o.a.oneOfType([o.a.node,o.a.arrayOf(o.a.node)]),hasNoCloseButton:o.a.bool,hasNoNubbin:o.a.bool,hasStaticAlignment:o.a.bool,hasNoTriggerStyles:o.a.bool,heading:o.a.oneOfType([o.a.string,o.a.node]),icon:o.a.node,id:o.a.string,isOpen:o.a.bool,onClick:o.a.func,onClose:o.a.func,onKeyDown:o.a.func,onMouseDown:o.a.func,onOpen:o.a.func,onRequestClose:o.a.func,onRequestTargetElement:o.a.func,position:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),stepText:o.a.string,style:o.a.object,overlay:o.a.oneOfType([o.a.bool,o.a.func]),triggerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),variant:o.a.oneOf(["base","error","feature","walkthrough","walkthrough-action","warning"])}),Ru(Ku,"defaultProps",qu),Ku.contextTypes={iconPath:o.a.string};var Wu=Ku,Uu=gc(Wu),Gu=n(45);function Yu(e){return(Yu="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){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 Ju(e){return(Ju=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}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,t){return($u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Zu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ed={assistiveText:o.a.shape({label:o.a.string,hueSlider:o.a.string,saturationValueGrid:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameMenu:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,disabled:o.a.bool,errorText:o.a.string,errorTextWorkingColor:o.a.string,events:o.a.shape({onChange:o.a.func,onClose:o.a.func,onOpen:o.a.func,onRequestClose:o.a.func,onRequestOpen:o.a.func,onValidateColor:o.a.func,onValidateWorkingColor:o.a.func,onWorkingColorChange:o.a.func}),hasStaticAlignment:o.a.bool,hideInput:o.a.bool,isOpen:o.a.bool,labels:o.a.shape({blueAbbreviated:o.a.string,cancelButton:o.a.string,customTab:o.a.string,customTabActiveWorkingColorSwatch:o.a.string,customTabTransparentSwatch:o.a.string,greenAbbreviated:o.a.string,hexLabel:o.a.string,invalidColor:o.a.string,invalidComponent:o.a.string,label:o.a.string,redAbbreviated:o.a.string,swatchTab:o.a.string,swatchTabTransparentSwatch:o.a.string,submitButton:o.a.string}),menuPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),swatchColors:o.a.arrayOf(o.a.string),defaultSelectedTab:o.a.oneOf(["swatches","custom"]),variant:o.a.oneOf(["base","swatches","custom"]),value:o.a.string,valueWorking:o.a.string},td={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"},nd=function(){function n(e){var c;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),Zu(Xu(c=function(e,t){return!t||"object"!==Yu(t)&&"function"!=typeof t?Xu(e):t}(this,Ju(n).call(this,e))),"handleSwatchChange",function(e){c.setWorkingColor(e,{hex:e.target.value})}),Zu(Xu(c),"handleOnRequestClose",function(e,t){var n=t.trigger;"clickOutside"!==n&&"cancel"!==n||c.handleCancelState(),c.props.onRequestClose&&c.props.onRequestClose(e,{trigger:n})}),Zu(Xu(c),"handleClickOutside",function(e){c.handleCancelButtonClick(e)}),Zu(Xu(c),"handleCancel",function(e){c.handleCancelState(),c.props.onRequestClose&&c.props.onRequestClose(e,{trigger:"cancel"})}),Zu(Xu(c),"handleCancelState",function(){var e=mp.getNewColor({hex:c.state.currentColor},c.props.events.onValidateWorkingColor);c.setState({isOpen:!1,workingColor:e,previousWorkingColor:e})}),Zu(Xu(c),"handleHexInputChange",function(e,t){var n=t.labels,r=e.target.value,o=c.props.events.onValidateColor?c.props.events.onValidateColor(e.target.value):mp.isValidHex(e.target.value);c.setState({currentColor:r,workingColor:mp.getNewColor({hex:r},c.props.events.onValidateWorkingColor),colorErrorMessage:o?"":n.invalidColor}),c.props.events.onChange&&c.props.events.onChange(e,{color:r,isValid:o})}),Zu(Xu(c),"handleSaturationValueChange",function(e,t){var n=t.saturation,r=t.value;c.setWorkingColor(e,{saturation:n,value:r})}),Zu(Xu(c),"handleSubmitButtonClick",function(e){c.setState({isOpen:!1,currentColor:c.state.workingColor.hex,colorErrorMessage:""}),c.props.events.onChange&&c.props.events.onChange(e,{color:c.state.workingColor.hex,isValid:!0})}),Zu(Xu(c),"handleSwatchButtonClick",function(){var e=mp.getNewColor({hex:c.state.workingColor.hex},c.props.events.onValidateWorkingColor);c.setState({isOpen:!c.state.isOpen,workingColor:e,previousWorkingColor:c.state.previousWorkingColor}),c.props.onRequestOpen&&c.props.onRequestOpen()}),Zu(Xu(c),"handleSwatchSelect",function(e,t){var n=t.hex;c.setWorkingColor(e,{hex:n})}),c.generatedId=e.id||f.a.generate();var t=mp.getNewColor({hex:e.valueWorking||e.value},e.events.onValidateWorkingColor);return c.state={currentColor:null!=e.value?e.value:"",disabled:e.disabled,isOpen:e.isOpen,workingColor:t,previousWorkingColor:t,colorErrorMessage:e.errorText},Sl(z,e,Gu),c}return 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)}(n,k.a.Component),function(e,t,n){t&&Qu(e.prototype,t),n&&Qu(e,n)}(n,[{key:"componentWillReceiveProps",value:function(e){var t={};e.value&&(t.currentColor=e.value),e.valueWorking&&(t.workingColor=mp.getNewColor({hex:e.valueWorking},this.props.events.onValidateWorkingColor)),void 0!==e.disabled&&(t.disabled=e.disabled),this.setState(t)}},{key:"getInput",value:function(e){var t=this,n=e.labels;return this.props.hideInput?null:k.a.createElement(Li,{"aria-describedby":!this.state.isOpen&&this.state.colorErrorMessage?"color-picker-summary-error-".concat(this.generatedId):void 0,className:H()("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)&&k.a.createElement(Tu,{label:t.swatchTab},k.a.createElement(cu,{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)&&k.a.createElement(Tu,{label:t.customTab},k.a.createElement(Lp,{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=k.a.createElement(Mu,{id:"color-picker-tabs-".concat(this.generatedId),defaultSelectedIndex:"custom"===this.props.defaultSelectedTab?1:0},this.getDefaultTab({labels:t}),this.getCustomTab({labels:t})),r=k.a.createElement("div",{className:"slds-color-picker__selector-footer"},k.a.createElement(Cn,{className:"slds-color-picker__selector-cancel",id:"color-picker-footer-cancel-".concat(this.generatedId),label:t.cancelButton,onClick:this.handleCancel,variant:"neutral"}),k.a.createElement(Cn,{className:"slds-color-picker__selector-submit",disabled:0<Object.keys(this.state.workingColor.errors||{}).length,id:"color-picker-footer-submit-".concat(this.generatedId),label:t.submitButton,onClick:this.handleSubmitButtonClick,variant:"brand"}));return k.a.createElement(Uu,{ariaLabelledby:"color-picker-label-".concat(this.generatedId),align:"bottom left",body:n,className:H()("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},k.a.createElement(Cn,{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:k.a.createElement(Zl,{color:this.state.currentColor,labels:t}),onClick:this.handleSwatchButtonClick,variant:"icon"}))}},{key:"setWorkingColor",value:function(e,t){var n=mp.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(n){var r=this;return function(e){var t={};t[n]=e.target.value,r.setWorkingColor(e,t)}}},{key:"handleNavigate",value:function(c){var a=this;return function(e,t){var n=t.delta,r={};r[c]=n;var o=mp.getDeltaColor(r,a.props.events.onValidateWorkingColor,a.state.workingColor);a.setState({workingColor:o,previousWorkingColor:a.state.workingColor}),a.props.events.onWorkingColorChange&&a.props.events.onWorkingColorChange(e,{color:o})}}},{key:"render",value:function(){var t=this,e=Nn()({},td.labels,this.props.labels);return k.a.createElement("div",{className:H()("slds-color-picker",this.props.className),ref:function(e){t.wrapper=e}},k.a.createElement("div",{className:"slds-color-picker__summary"},k.a.createElement("label",{className:H()("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:e.label),this.getPopover({labels:e}),this.getInput({labels:e}),!this.state.isOpen&&this.state.colorErrorMessage?k.a.createElement("p",{className:"slds-form-error",id:"color-picker-summary-error-".concat(this.generatedId)},this.state.colorErrorMessage):""))}}]),n}();Zu(nd,"displayName",z),Zu(nd,"propTypes",ed),Zu(nd,"defaultProps",td);var rd=nd,od=n(12),cd=n.n(od),ad=n(15),sd=n.n(ad);function id(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ld(){return(ld=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 pd(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function ud(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){dd(t,e,n[e])})}return t}function dd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hd(e,t){return null==e||"string"==typeof e?e:e(t)}function fd(h){var e="menu"===h.inheritWidthOf?"inherit":void 0;e="menu"===h.inheritWidthOf&&h.maxWidth?h.maxWidth:e;var t=function(e){var t=[];if(0<e.optionsSearchEntity.length){var n=e.optionsSearchEntity.map(function(e){return ud({},e,{type:"header"})});t.push.apply(t,pd(n))}if(t.push.apply(t,pd(e.options)),0<e.optionsAddItem.length){var r=e.optionsAddItem.map(function(e){return ud({},e,{type:"footer"})});t.push.apply(t,pd(r))}return t}(h).map(function(t,e){var n=e===h.activeOptionIndex&&h.activeOption&&at()(t.id,h.activeOption.id),r=h.isSelected({selection:h.selection,option:t})&&("header"!==t.type||"footer"===t.type),o=h.onRenderMenuItem;if("separator"===t.type)return t.label?k.a.createElement("li",{className:"slds-dropdown__header slds-truncate",title:t.label,role:"separator",key:"menu-separator-".concat(t.id)},k.a.createElement("span",{className:H()("slds-listbox__option-header",h.classNameMenuSubHeader)},t.label)):k.a.createElement("li",{className:"slds-has-divider_top-space",role:"separator",key:"menu-separator-".concat(t.id)});if("header"===t.type)return k.a.createElement("li",{key:"menu-header-".concat(t.id,"}"),role:"presentation",className:"slds-listbox__item"},k.a.createElement("div",{onClick:t.disabled?null:function(e){h.onSelect(e,{option:t})},"aria-selected":n,id:"".concat(h.inputId,"-listbox-option-").concat(t.id),className:H()("slds-media slds-listbox__option","slds-listbox__option_entity slds-listbox__option_term",{"slds-has-focus":n}),role:"option"},k.a.createElement("span",{className:"slds-media__figure slds-listbox__option-icon"},t.icon),k.a.createElement("span",{className:"slds-media__body"},hd(t.label,h.inputValue))));if("footer"===t.type)return k.a.createElement("li",{key:"menu-header-".concat(t.id,"}"),role:"presentation",className:"slds-listbox__item"},k.a.createElement("div",{"aria-selected":n,onClick:t.disabled?null:function(e){h.onSelect(e,{option:t})},id:"".concat(h.inputId,"-listbox-option-").concat(t.id),className:H()("slds-media slds-listbox__option","slds-listbox__option_entity slds-listbox__option_term",{"slds-has-focus":n}),role:"option"},k.a.createElement("span",{className:"slds-media__figure slds-listbox__option-icon"},t.icon),k.a.createElement("span",{className:"slds-media__body"},hd(t.label,h.inputValue))));var c={},a="".concat(h.inputId,"-listbox-option-help-").concat(t.id);t.disabled&&h.tooltipMenuItemDisabled&&n&&(c["aria-describedby"]=a),t.disabled&&(c["aria-disabled"]=!!t.disabled,c.style={cursor:"default"});var s,i={"icon-title-subtitle":k.a.createElement("span",ld({"aria-selected":n},c,{id:"".concat(h.inputId,"-listbox-option-").concat(t.id),className:H()("slds-media slds-listbox__option","slds-listbox__option_entity slds-listbox__option_has-meta",{"slds-has-focus":n}),onClick:t.disabled?null:function(e){h.onSelect(e,{option:t})},role:"option"}),t.icon&&!h.onRenderMenuItem?k.a.createElement("span",{className:"slds-media__figure"},t.icon):null,h.onRenderMenuItem?k.a.createElement(o,{assistiveText:h.assistiveText,selected:r,option:t}):k.a.createElement("span",{className:"slds-media__body"},k.a.createElement("span",{className:H()("slds-listbox__option-text","slds-listbox__option-text_entity",{"slds-disabled-text":t.disabled})},function(e,t){if(!e||0===e.length||!t||0===t.length)return e;var n=e.toLowerCase().indexOf(t.toLowerCase());return-1<n?[e.substr(0,n),k.a.createElement("span",{key:"bold",className:"slds-text-title_bold"},"".concat(e.substr(n,t.length))),e.substr(n+t.length)]:e}(t.label,h.inputValue)),k.a.createElement("span",{className:H()("slds-listbox__option-meta slds-listbox__option-meta_entity",{"slds-disabled-text":t.disabled})},t.subTitle))),checkbox:k.a.createElement("span",ld({"aria-selected":n},c,{id:"".concat(h.inputId,"-listbox-option-").concat(t.id),className:H()("slds-media slds-listbox__option"," slds-listbox__option_plain slds-media_small slds-media_center",{"slds-has-focus":n,"slds-is-selected":r}),onClick:t.disabled?null:function(e){h.onSelect(e,{selection:h.selection,option:t})},role:"option"}),k.a.createElement("span",{className:"slds-media__figure"},k.a.createElement(en,{className:"slds-listbox__icon-selected",category:"utility",name:"check",size:"x-small"})),k.a.createElement("span",{className:"slds-media__body"},h.onRenderMenuItem?k.a.createElement(o,{assistiveText:h.assistiveText,selected:r,option:t}):k.a.createElement("span",{className:H()("slds-truncate",{"slds-disabled-text":t.disabled}),title:t.label},r?k.a.createElement("span",{className:"slds-assistive-text"},h.assistiveText.optionSelectedInMenu):null," ",t.label)))};if(t.disabled&&h.tooltipMenuItemDisabled){var l=h.tooltipMenuItemDisabled.props,p=l.content,u=id(l,["content"]),d=ud({align:"top",content:t.tooltipContent||p,id:a,position:"absolute",triggerStyle:{width:"100%"}},u);n&&(d.isOpen=!0),s=k.a.cloneElement(h.tooltipMenuItemDisabled,d,i[h.variant])}else s=i[h.variant];return k.a.createElement("li",{className:"slds-listbox__item",key:"menu-option-".concat(t.id),role:"presentation"},s)});return k.a.createElement("ul",{className:H()("slds-listbox slds-listbox_vertical slds-dropdown slds-dropdown_fluid",{"slds-dropdown_length-with-icon-5":5===h.itemVisibleLength,"slds-dropdown_length-with-icon-7":7===h.itemVisibleLength,"slds-dropdown_length-with-icon-10":10===h.itemVisibleLength},h.classNameMenu),ref:h.menuRef,role:"presentation",style:{width:"menu"===h.inheritWidthOf?"auto":void 0,maxWidth:e,position:"relative"!==h.menuPosition?"relative":void 0}},t.length?t:k.a.createElement("li",{className:"slds-listbox__item slds-listbox__status",role:"status","aria-live":"polite"},k.a.createElement("span",{className:"slds-m-left_x-large slds-p-vertical_medium"},h.labels.noOptionsFound)),h.hasMenuSpinner&&k.a.createElement("li",{role:"presentation",className:"slds-listbox__item"},k.a.createElement("div",{className:"slds-align_absolute-center slds-p-top_medium"},k.a.createElement("div",{role:"status",className:"slds-spinner slds-spinner_x-small slds-spinner_inline"},k.a.createElement("span",{className:"slds-assistive-text"},h.assistiveText.loadingMenuItems),k.a.createElement("div",{className:"slds-spinner__dot-a"}),k.a.createElement("div",{className:"slds-spinner__dot-b"})))))}var md={activeOption:o.a.object,activeOptionIndex:o.a.number,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameMenu:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameMenuSubHeader:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),inheritWidthOf:o.a.oneOf(["target","menu","none"]),inputId:o.a.string,itemVisibleLength:o.a.oneOf([5,7,10]),labels:o.a.shape({noOptionsFound:o.a.oneOfType([o.a.node,o.a.string]).isRequired}),onRenderMenuItem:o.a.func,menuRef:o.a.oneOfType([o.a.func,o.a.object]),maxWidth:o.a.string,onSelect:o.a.func,options:o.a.array,resetActiveOption:o.a.func,selection:o.a.array,hasMenuSpinner:o.a.bool,optionsAddItem:o.a.arrayOf(o.a.shape({id:o.a.string,icon:o.a.node,label:o.a.oneOfType([o.a.string,o.a.func])})),optionsSearchEntity:o.a.arrayOf(o.a.shape({id:o.a.string,icon:o.a.node,label:o.a.oneOfType([o.a.string,o.a.func])})),tooltipMenuItemDisabled:o.a.element,variant:o.a.oneOf(["icon-title-subtitle","checkbox"]),isSelected:o.a.func,assistiveText:o.a.object};fd.displayName="Menu",fd.propTypes=md,fd.defaultProps={inputValue:"",menuRef:function(){},optionsAddItem:[],optionsSearchEntity:[]};function vd(e){var t=e.label||e.assistiveText&&e.assistiveText.label,n={base:k.a.createElement("label",{className:H()("slds-form-element__label",{"slds-assistive-text":e.assistiveText&&!e.label}),htmlFor:e.htmlFor},e.required&&k.a.createElement("abbr",{className:"slds-required",title:"required"},"*"),t),static:k.a.createElement("span",{className:"slds-form-element__label"},t)};return t?n[e.variant]:null}var gd=fd,bd={assistiveText:o.a.object,htmlFor:o.a.string,label:o.a.oneOfType([o.a.node,o.a.string]),required:o.a.bool,variant:o.a.oneOf(["base","static"])};vd.displayName="Label",vd.propTypes=bd,vd.defaultProps={variant:"base"};var yd=vd,wd=function(e,t){var n=t.callbacks,r=void 0===n?{}:n,o=t.shiftCallbacks,c=void 0===o?{}:o,a=t.stopPropagation,s=void 0===a||a;e.shiftKey&&e.keyCode&&c[e.keyCode]?(s&&bt.trapEvent(e),c[e.keyCode].callback(e,c[e.keyCode].data)):e.keyCode&&r[e.keyCode]?(s&&bt.trapEvent(e),r[e.keyCode].callback(e,r[e.keyCode].data)):e.keyCode&&r.other&&(r.other.stopPropagation&&bt.trapEvent(e),r.other.callback(e,r.other.data))};function _d(e){return(_d="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 xd(){return(xd=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 zd(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Od(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){return(Sd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Cd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ed(e,t){return(Ed=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Md(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Td={assistiveText:o.a.shape({remove:o.a.string}),avatar:o.a.element,bare:o.a.bool,children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),hasError:o.a.bool,href:o.a.string,icon:o.a.element,labels:o.a.shape({label:o.a.string,title:o.a.string,removeTitle:o.a.string}),onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onRemove:o.a.func,variant:o.a.oneOf(["link","option"])},Nd=function(){function o(){var e,c;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Md(Cd(c=function(e,t){return!t||"object"!==_d(t)&&"function"!=typeof t?Cd(e):t}(this,(e=Sd(o)).call.apply(e,[this].concat(n)))),"getHref",function(){return"string"==typeof c.props.href?c.props.href:"javascript:void(0);"}),Md(Cd(c),"blur",function(){c.root.blur()}),Md(Cd(c),"focus",function(){c.root.focus()}),Md(Cd(c),"handleKeyDown",function(e){if("function"==typeof c.props.onKeyDown){for(var t,n=arguments.length,r=new Array(1<n?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];if((t=c.props.onKeyDown).call.apply(t,[null,e].concat(r)),e.defaultPrevented)return}switch(e.keyCode){case wt.ENTER:"function"==typeof c.props.onClick&&(bt.trap(e),c.props.onClick());break;case wt.BACKSPACE:case wt.DELETE:"function"==typeof c.props.onRemove&&(bt.trap(e),c.props.onRemove())}}),Md(Cd(c),"handleRef",function(e){c.root=e}),Md(Cd(c),"restProps",function(){var e=c.props;e.bare,e.hasError,e.variant,e.className,e.onClick,e.onRemove,e.labels,e.assistiveText,e.children,e.href,e.icon,e.avatar,e.onKeyDown;return zd(e,["bare","hasError","variant","className","onClick","onRemove","labels","assistiveText","children","href","icon","avatar","onKeyDown"])}),Md(Cd(c),"renderIcon",function(){var e=c.props.icon||c.props.avatar;return e?k.a.createElement("span",{className:"slds-pill__icon_container"},e):null}),Md(Cd(c),"renderLabel",function(){return c.props.labels.label?"link"===c.props.variant?k.a.createElement("a",{href:c.getHref(),className:"slds-pill__action",title:c.props.labels.title||c.props.labels.label,onClick:c.props.onClick},k.a.createElement("span",{className:"slds-pill__label"},c.props.labels.label)):k.a.createElement("span",{className:"slds-pill__label",title:c.props.labels.title||c.props.labels.label},c.props.labels.label):c.props.children}),Md(Cd(c),"renderRemoveIcon",function(){return"function"==typeof c.props.onRemove?k.a.createElement("span",{className:"slds-icon_container slds-pill__remove",title:c.props.labels.removeTitle,role:"button",onClick:c.props.onRemove},k.a.createElement(Xe,{style:{cursor:"pointer"},category:"utility",className:"slds-icon slds-icon_x-small slds-icon-text-default",name:"close"}),k.a.createElement("span",{className:"slds-assistive-text"},c.props.assistiveText.remove||c.props.labels.removeTitle)):null}),c}return 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&&Ed(e,t)}(o,k.a.Component),function(e,t,n){t&&Od(e.prototype,t),n&&Od(e,n)}(o,[{key:"render",value:function(){var e;switch(this.props.variant){case"link":e="button";break;case"option":e="option"}return k.a.createElement("span",xd({},this.restProps(),{role:e,className:H()("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())}}]),o}();Nd.displayName="SLDSPill",Nd.defaultProps={variant:"link",labels:{},assistiveText:{}},Nd.propTypes=Td;var kd=Nd;function Hd(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){jd(t,e,n[e])})}return t}function jd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pd(t){var e=Nn()({},Ld.assistiveText,t.assistiveText),n=Nn()({},Ld.labels,t.labels);return k.a.createElement(kd,{avatar:t.avatar,bare:t.bare,hasError:t.hasError,tabIndex:t.tabIndex||"0",icon:t.icon,variant:"option",labels:n,assistiveText:{remove:e.remove},"aria-selected":"true",onBlur:t.events.onBlur,onClick:"function"==typeof t.events.onClick?function(e){t.events.onClick&&t.events.onClick(e,Hd({},t.eventData))}:null,onFocus:function(e){t.events.onFocus&&t.events.onFocus(e)},onRemove:function(e){bt.trap(e),function(e,t){var n=t.events,r=t.data;bt.trap(e),n.onRequestRemove(e,r)}(e,{events:t.events,data:t.eventData})},onKeyDown:function(e){!function(e,t){var n,r=t.events,o=t.data;wd(e,{callbacks:(n={},jd(n,wt.BACKSPACE,{callback:r.onRequestRemove,data:o}),jd(n,wt.DELETE,{callback:r.onRequestRemove,data:o}),jd(n,wt.LEFT,{callback:r.onRequestFocusOnPreviousPill,data:Hd({},o,{direction:"previous"})}),jd(n,wt.RIGHT,{callback:r.onRequestFocusOnNextPill,data:Hd({},o,{direction:"next"})}),n)})}(e,{events:t.events,data:t.eventData})},ref:function(e){t.requestFocus&&t.active&&t.events.onRequestFocus(void 0,{ref:e})}})}var Id={active:o.a.bool,assistiveText:o.a.shape({remove:o.a.string}),avatar:o.a.element,bare:o.a.bool,eventData:o.a.object,events:o.a.shape({onClick:o.a.func,onFocus:o.a.func,onRequestFocus:o.a.func.isRequired,onRequestFocusOnNextPill:o.a.func.isRequired,onRequestFocusOnPreviousPill:o.a.func.isRequired,onRequestRemove:o.a.func.isRequired}),hasError:o.a.bool,icon:o.a.element,labels:o.a.shape({label:o.a.string.isRequired,removeTitle:o.a.string}),requestFocus:o.a.bool,title:o.a.string,tabIndex:o.a.number},Ld={assistiveText:o.a.shape({remove:", Press delete or backspace to remove"}),labels:{remove:"Remove"},events:{}};Pd.displayName="Pill",Pd.propTypes=Id,Pd.defaultProps=Ld;var Vd=Pd;var Dd=function(e){return e.$$typeof&&"Symbol(react.element)"===e.$$typeof.toString()||e.type&&"function"==typeof e.type};function Rd(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ad(t,e,n[e])})}return t}function Ad(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Bd(c){return c.selection.length>=c.renderAtSelectionLength?k.a.createElement("div",{className:H()({"slds-pill_container":c.isPillContainer},c.className)||void 0,id:c.id,ref:function(e){c.selectedListboxRef&&c.selectedListboxRef(e)},role:"listbox",style:c.style,"aria-orientation":"horizontal"},k.a.createElement("ul",{className:H()("slds-listbox",{"slds-listbox_inline":c.isInline,"slds-listbox_horizontal":!c.isInline,"slds-p-top_xxx-small":!c.isInline}),role:"group","aria-label":c.assistiveText.selectedListboxLabel},c.selection.map(function(e,n){var t=n===c.activeOptionIndex,r=function(e){var t=e.icon,n=null;return t&&(Dd(t)||t instanceof HTMLElement?n=t:t.category&&t.name&&(n=k.a.createElement(en,{category:t.category,name:t.name,title:t.title||e.label}))),n}(e),o=r?null:function(e){var t=e.avatar,n=null;return t&&(Dd(t)||t instanceof HTMLElement?n=t:t.imgSrc&&(n=k.a.createElement(Ko,{imgSrc:t.imgSrc,title:t.title||e.label,variant:t.variant||"user"}))),n}(e);return k.a.createElement("li",{role:"presentation",className:"slds-listbox__item",key:"".concat(c.id,"-list-item-").concat(e.id)},k.a.createElement(Vd,{active:t&&c.listboxHasFocus,assistiveText:{remove:c.assistiveText.removePill},avatar:o,bare:e.bare||c.isBare,error:e.error,events:{onBlur:c.events.onBlurPill,onClick:function(e,t){c.events.onClickPill(e,Rd({},t,{index:n}))},onFocus:c.events.onPillFocus,onRequestFocusOnNextPill:c.events.onRequestFocusOnNextPill,onRequestFocusOnPreviousPill:c.events.onRequestFocusOnPreviousPill,onRequestRemove:function(e,t){c.events.onRequestRemove(e,Rd({},t,{index:n}))},onRequestFocus:c.events.onRequestFocus},eventData:{option:e},hasError:e.error,icon:r,labels:{label:e.label,removeTitle:c.labels.removePillTitle},requestFocus:c.listboxHasFocus,tabIndex:t?0:-1}))}))):null}var Fd={activeOption:o.a.object,activeOptionIndex:o.a.number,assistiveText:o.a.shape({label:o.a.string,removePill:o.a.string,selectedListboxLabel:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onClickPill:o.a.func.isRequired,onPillFocus:o.a.func.isRequired,onRequestFocus:o.a.func.isRequired,onRequestFocusOnNextPill:o.a.func.isRequired,onRequestFocusOnPreviousPill:o.a.func.isRequired,onRequestRemove:o.a.func.isRequired}),id:o.a.string,isBare:o.a.bool,isInline:o.a.bool,isPillContainer:o.a.bool,labels:o.a.shape({label:o.a.string,remove:o.a.string,title:o.a.string}),renderAtSelectionLength:o.a.number,selectedListboxRef:o.a.func,selection:o.a.array,style:o.a.object,listboxHasFocus:o.a.bool,variant:o.a.oneOf(["base","inline-listbox","readonly"])};Bd.displayName="SelectedListBox",Bd.propTypes=Fd,Bd.defaultProps={renderAtSelectionLength:1};var qd=Bd,Kd=function(e){var r,t=e.key,n=e.keyBuffer,o=e.keyCode,c=e.options,a=t||String.fromCharCode(o),s=n(a=/^[ -~]$/.test(a)?a.toLowerCase():null),i=0;return 1<s.length&&new RegExp("^[".concat($c()(a),"]+$")).test(s)&&(i=s.length),c.forEach(function(e,t){var n=String(e.label).toLowerCase();(void 0===r&&n.substr(0,s.length)===s||0<i&&n.substr(0,1)===a)&&(i-=1,r=t)}),r},Wd=function(e){var t=e.container,n=e.focusedIndex,r=e.itemTag,o=void 0===r?"li":r,c=e.scrollPadding,a=void 0===c?4:c,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+a:s.offsetTop<=t.scrollTop&&(t.scrollTop=s.offsetTop-a))};var Ud,Gd=function(){},Yd=n(46);function Qd(e){return(Qd="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 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)}function Xd(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}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 Zd(e){return(Zd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function th(e,t){return(th=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 rh="undefined"!=typeof document,oh={assistiveText:o.a.shape({label:o.a.string,loadingMenuItems:o.a.string,optionSelectedInMenu:o.a.string,popoverLabel:o.a.string,removeSingleSelectedOption:o.a.string,removePill:o.a.string,selectedListboxLabel:o.a.string}),"aria-describedby":o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameContainer:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameMenu:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameMenuSubHeader:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onBlur:o.a.func,onChange:o.a.func,onClose:o.a.func,onFocus:o.a.func,onOpen:o.a.func,onRequestClose:o.a.func,onRequestOpen:o.a.func,onRequestRemoveSelectedOption:o.a.func,onSelect:o.a.func,onSubmit:o.a.func}),errorText:o.a.string,fieldLevelHelpTooltip:o.a.node,hasInputSpinner:o.a.bool,hasMenuSpinner:o.a.bool,hasStaticAlignment:o.a.bool,id:o.a.string,input:o.a.node,labels:o.a.shape({label:o.a.oneOfType([o.a.node,o.a.string]),multipleOptionsSelected:o.a.string,noOptionsFound:o.a.oneOfType([o.a.node,o.a.string]),placeholder:o.a.string,placeholderReadOnly:o.a.string,removePillTitle:o.a.string}),isOpen:o.a.bool,inheritWidthOf:o.a.oneOf(["target","menu","none"]),onRenderMenuItem:o.a.func,menuPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),menuMaxWidth:o.a.string,multiple:o.a.bool,options:o.a.arrayOf(o.a.PropTypes.shape({id:o.a.string.isRequired,icon:o.a.node,label:o.a.string,subTitle:o.a.string,type:o.a.string,disabled:o.a.boolean,tooltipContent:o.a.node})),menuItemVisibleLength:o.a.oneOf([5,7,10]),predefinedOptionsOnly:o.a.bool,popover:o.a.node,required:o.a.bool,selection:o.a.arrayOf(o.a.PropTypes.shape({id:o.a.string.isRequired,icon:o.a.node,label:o.a.string,subTitle:o.a.string,type:o.a.string})).isRequired,selectedListboxRef:o.a.func,singleInputDisabled:o.a.bool,tooltipMenuItemDisabled:o.a.element,value:o.a.string,defaultValue:o.a.string,optionsAddItem:o.a.arrayOf(o.a.shape({id:o.a.string,icon:o.a.node,label:o.a.oneOfType([o.a.string,o.a.func])})),optionsSearchEntity:o.a.arrayOf(o.a.shape({id:o.a.string,icon:o.a.node,label:o.a.oneOfType([o.a.string,o.a.func])})),entityCombobox:o.a.node,variant:o.a.oneOf(["base","inline-listbox","popover","readonly"])},ch={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"},ah=function(){function t(e){var i;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),nh(eh(i=function(e,t){return!t||"object"!==Qd(t)&&"function"!=typeof t?eh(e):t}(this,Zd(t).call(this,e))),"getCustomPopoverProps",function(e,t){var n=t.assistiveText,r=t.labels,o=k.a.createElement("div",null,k.a.createElement("div",{className:"slds-assistive-text",id:"".concat(i.getId(),"-label")},n.popoverLabel),e),c=k.a.createElement("div",null,k.a.createElement(Cn,{label:r.cancelButton,onClick:function(e){i.handleClose(e,{trigger:"cancel"})}}),k.a.createElement(Cn,{label:r.doneButton,variant:"brand",onClick:i.handleClose})),a={ariaLabelledby:"".concat(i.getId(),"-label"),align:"bottom",body:o,className:"slds-popover_full-width",footer:c,footerClassName:"slds-popover__footer_form",hasNoNubbin:!0,id:i.getId(),isOpen:i.state.isOpen,hasNoTriggerStyles:!0,onOpen:i.handleOpen,onClose:i.handleClose,onRequestClose:i.handleClose},s=Nn()(a,i.props.popover?i.props.popover.props:{});return s.body=o,delete s.children,s}),nh(eh(i),"getId",function(){return i.props.id||i.generatedId}),nh(eh(i),"getIsActiveOption",function(){return i.state.activeOption&&-1!==i.state.activeOptionIndex}),nh(eh(i),"getIsOpen",function(){return!!("boolean"==typeof i.props.isOpen?i.props.isOpen:i.state.isOpen)}),nh(eh(i),"getNewActiveOptionIndex",function(e){var t=e.activeOptionIndex,n=e.offset,r=e.options,o=t+n,c=r.length>o&&0<=o&&"separator"===r[o].type?o+n:o;return r.length>o&&0<=o?c:t}),nh(eh(i),"getOptions",function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:i.props,t=[];return 0<e.optionsSearchEntity.length&&t.push.apply(t,Xd(e.optionsSearchEntity)),e.options&&t.push.apply(t,Xd(e.options)),0<e.optionsAddItem.length&&t.push.apply(t,Xd(e.optionsAddItem)),t}),nh(eh(i),"getTargetElement",function(){return i.inputRef}),nh(eh(i),"setInputRef",function(e){i.inputRef=e,i.state.inputRendered||i.setState({inputRendered:!0})}),nh(eh(i),"setSelectedListboxRef",function(e){i.selectedListboxRef=e,i.props.selectedListboxRef&&i.props.selectedListboxRef(e)}),nh(eh(i),"handleBlurPill",function(){i.setState({listboxHasFocus:!1})}),nh(eh(i),"handleClickOutside",function(e){i.handleRequestClose(e,{})}),nh(eh(i),"handleClose",function(e){var t=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).trigger;i.getIsOpen()&&(Ud===eh(i)&&(Ud=void 0),i.setState({activeOption:void 0,activeOptionIndex:-1,isOpen:!1}),"popover"===i.props.variant&&"cancel"===t&&i.props.popover.props.onClose&&i.props.popover.props.onClose(e,{trigger:t}),i.props.events.onClose&&i.props.events.onClose(e,{}))}),nh(eh(i),"handleInputBlur",function(t){setTimeout(function(){var e=rh&&document.activeElement;e&&"DIV"===e.tagName&&e.id==="".concat(i.getId(),"-listbox")?i.inputRef&&i.inputRef.focus():i.props.popover||i.handleClose(t)},200),i.props.events.onBlur&&i.props.events.onBlur(t)}),nh(eh(i),"handleInputChange",function(e){i.requestOpenMenu(),i.props.events&&i.props.events.onChange&&i.props.events.onChange(e,{value:e.target.value})}),nh(eh(i),"handleInputFocus",function(e){i.props.events.onFocus&&i.props.events.onFocus(e,{})}),nh(eh(i),"handleInputSubmit",function(e){i.state.activeOption&&i.state.activeOption.disabled||(!i.state.activeOption||"header"!==i.state.activeOption.type&&"footer"!==i.state.activeOption.type?i.getIsActiveOption()?i.handleSelect(e,{option:i.state.activeOption,selection:i.props.selection}):!i.props.predefinedOptionsOnly&&""!==e.target.value&&i.props.events.onSubmit&&i.props.events.onSubmit(e,{value:e.target.value}):i.state.activeOption.onClick(e))}),nh(eh(i),"handleKeyDown",function(e){var t,n=(nh(t={},wt.DOWN,{callback:i.handleKeyDownDown}),nh(t,wt.ENTER,{callback:i.handleInputSubmit}),nh(t,wt.ESCAPE,{callback:i.handleClose}),nh(t,wt.UP,{callback:i.handleKeyDownUp}),t);"readonly"===i.props.variant&&(2<i.props.selection.length?n[wt.TAB]={callback:i.handleKeyDownTab}:n[wt.TAB]=void 0,n.other={callback:i.handleKeyDownOther,stopPropagation:!1}),wd(e,{callbacks:n})}),nh(eh(i),"handleKeyDownDown",function(e){e.shiftKey||i.openDialog(),"popover"!==i.props.variant&&i.handleNavigateListboxMenu(e,{direction:"next"})}),nh(eh(i),"handleKeyDownTab",function(){i.selectedListboxRef&&i.setState({listboxHasFocus:!0})}),nh(eh(i),"handleKeyDownUp",function(e){!e.shiftKey&&i.state.isOpen&&i.handleNavigateListboxMenu(e,{direction:"previous"})}),nh(eh(i),"handleKeyDownOther",function(e){var t=Kd({key:e.key,keyBuffer:i.menuKeyBuffer,keyCode:e.keyCode,options:i.getOptions()});void 0!==t&&(i.state.isOpen&&Wd({container:i.menuRef,focusedIndex:t}),i.setState({activeOption:i.getOptions()[t],activeOptionIndex:t}))}),nh(eh(i),"handleNavigateListboxMenu",function(e,t){var n=t.direction,r={next:1,previous:-1};i.setState(function(e){var t=i.getNewActiveOptionIndex({activeOptionIndex:e.activeOptionIndex,offset:r[n],options:i.getOptions()});return i.state.isOpen&&Wd({container:i.menuRef,focusedIndex:t}),{activeOption:i.getOptions()[t],activeOptionIndex:t}})}),nh(eh(i),"handleNavigateSelectedListbox",function(e,t){var c=t.direction,a={next:1,previous:-1};i.setState(function(e){var t,n=e.activeSelectedOptionIndex+1===i.props.selection.length&&"next"===c,r=0===e.activeSelectedOptionIndex&&"previous"===c;if(n)t={activeSelectedOption:i.props.selection[0],activeSelectedOptionIndex:0,listboxHasFocus:!0};else if(r)t={activeSelectedOption:i.props.selection[i.props.selection.length-1],activeSelectedOptionIndex:i.props.selection.length-1,listboxHasFocus:!0};else{var o=i.getNewActiveOptionIndex({activeOptionIndex:e.activeSelectedOptionIndex,offset:a[c],options:i.props.selection});t={activeSelectedOption:i.props.selection[o],activeSelectedOptionIndex:o,listboxHasFocus:!0}}return t})}),nh(eh(i),"handleOpen",function(e,t){i.getIsOpen()?(Ud=eh(i),i.setState({isOpen:!0}),i.props.events.onOpen&&i.props.events.onOpen(e,t)):Ud&&Xn()(Ud.handleClose)&&Ud.handleClose()}),nh(eh(i),"handlePillClickSelectedListbox",function(e,t){var n=t.option,r=t.index;i.setState({activeSelectedOption:n,activeSelectedOptionIndex:r,listboxHasFocus:!0})}),nh(eh(i),"handlePillFocus",function(){i.state.listboxHasFocus||i.setState({listboxHasFocus:!0})}),nh(eh(i),"handleRemoveSelectedOption",function(e,t){var n=t.option,r=t.index;e.preventDefault();var o=1===i.props.selection.length,c=2===i.props.selection.length&&"readonly"===i.props.variant&&i.props.multiple,a=r+1===i.props.selection.length;(o||c)&&i.inputRef?i.inputRef.focus():a?i.setState({activeSelectedOption:i.props.selection[r-1],activeSelectedOptionIndex:r-1,listboxHasFocus:!0}):i.setState({activeSelectedOption:i.props.selection[r+1],activeSelectedOptionIndex:r,listboxHasFocus:!0}),i.props.events.onRequestRemoveSelectedOption&&i.props.events.onRequestRemoveSelectedOption(e,{selection:sd()(i.props.selection,n)})}),nh(eh(i),"handleRequestClose",function(e,t){i.props.events.onRequestClose&&i.props.events.onRequestClose(e,t),i.getIsOpen()&&i.setState({isOpen:!1})}),nh(eh(i),"handleRequestFocusSelectedListbox",function(e,t){var n=t.ref;n&&(i.activeSelectedOptionRef=n,i.activeSelectedOptionRef.focus())}),nh(eh(i),"handleSelect",function(e,t){var n,r=t.selection,o=t.option,c=i.isSelected({selection:r,option:o}),a=!i.props.multiple&&!c,s=i.props.multiple&&!c;n=a?[o]:s?[].concat(Xd(i.props.selection),[o]):sd()(i.props.selection,o),i.props.events.onSelect&&i.props.events.onSelect(e,{selection:n}),i.handleClose()}),nh(eh(i),"isSelected",function(e){var t=e.selection,n=e.option;return!!cd()(t,n)}),nh(eh(i),"openDialog",function(){i.props.events.onRequestOpen?i.props.events.onRequestOpen():i.setState({isOpen:!0})}),nh(eh(i),"requestOpenMenu",function(){(!i.props.multiple&&0===i.props.selection.length&&"inline-listbox"===i.props.variant||i.props.multiple||"readonly"===i.props.variant)&&i.openDialog()}),nh(eh(i),"renderBase",function(e){var t=e.assistiveText,n=e.labels,r=e.props,o=e.userDefinedProps;return k.a.createElement("div",{className:"slds-form-element__control"},k.a.createElement("div",{className:"slds-combobox_container"},k.a.createElement("div",{className:H()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":i.getIsOpen()},{"slds-has-error":r.errorText},r.className),"aria-expanded":i.getIsOpen(),"aria-haspopup":"listbox","aria-owns":i.getIsOpen()?"".concat(i.getId(),"-listbox"):void 0,role:"combobox"},k.a.createElement(di,Jd({"aria-autocomplete":"list","aria-controls":i.getIsOpen()?"".concat(i.getId(),"-listbox"):void 0,"aria-activedescendant":i.state.activeOption?"".concat(i.getId(),"-listbox-option-").concat(i.state.activeOption.id):null,"aria-describedby":i.getErrorId(),autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},hasSpinner:i.props.hasInputSpinner,iconRight:k.a.createElement(Js,{category:"utility",name:"search",title:n.inputIconTitle}),id:i.getId(),onFocus:i.handleInputFocus,onBlur:i.handleInputBlur,onKeyDown:i.handleKeyDown,inputRef:i.setInputRef,onClick:function(){i.openDialog()},onChange:i.handleInputChange,placeholder:n.placeholder,defaultValue:r.defaultValue,readOnly:!(!r.predefinedOptionsOnly||!i.state.activeOption),required:r.required,role:"textbox",value:r.predefinedOptionsOnly&&i.state.activeOption&&i.state.activeOption.label||r.value},o.input)),i.getDialog({menuRenderer:i.renderMenu({assistiveText:t,labels:n})}))),k.a.createElement(qd,{activeOption:i.state.activeSelectedOption,activeOptionIndex:i.state.activeSelectedOptionIndex,assistiveText:t,events:{onBlurPill:i.handleBlurPill,onClickPill:i.handlePillClickSelectedListbox,onPillFocus:i.handlePillFocus,onRequestFocus:i.handleRequestFocusSelectedListbox,onRequestFocusOnNextPill:i.handleNavigateSelectedListbox,onRequestFocusOnPreviousPill:i.handleNavigateSelectedListbox,onRequestRemove:i.handleRemoveSelectedOption},id:"".concat(i.getId(),"-selected-listbox"),labels:n,selectedListboxRef:i.setSelectedListboxRef,selection:r.selection,listboxHasFocus:i.state.listboxHasFocus}),r.errorText&&k.a.createElement("div",{className:"slds-has-error"},k.a.createElement("div",{id:i.getErrorId(),className:"slds-form-element__help slds-has-error"},r.errorText)))}),nh(eh(i),"renderInlineMultiple",function(e){var t=e.assistiveText,n=e.labels,r=e.props,o=e.userDefinedProps;return k.a.createElement("div",{className:"slds-form-element__control"},k.a.createElement("div",{className:H()("slds-combobox_container",{"slds-has-inline-listbox":r.selection.length})},r.selection.length?k.a.createElement(qd,{activeOption:i.state.activeSelectedOption,activeOptionIndex:i.state.activeSelectedOptionIndex,assistiveText:t,events:{onBlurPill:i.handleBlurPill,onClickPill:i.handlePillClickSelectedListbox,onPillFocus:i.handlePillFocus,onRequestFocus:i.handleRequestFocusSelectedListbox,onRequestFocusOnNextPill:i.handleNavigateSelectedListbox,onRequestFocusOnPreviousPill:i.handleNavigateSelectedListbox,onRequestRemove:i.handleRemoveSelectedOption},id:"".concat(i.getId(),"-selected-listbox"),labels:n,selectedListboxRef:i.setSelectedListboxRef,selection:r.selection,listboxHasFocus:i.state.listboxHasFocus}):null,k.a.createElement("div",{className:H()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":i.getIsOpen()},{"slds-has-error":r.errorText},r.className),"aria-expanded":i.getIsOpen(),"aria-haspopup":"listbox",role:"combobox"},k.a.createElement(di,Jd({"aria-autocomplete":"list","aria-controls":i.getIsOpen()?"".concat(i.getId(),"-listbox"):void 0,"aria-activedescendant":i.state.activeOption?"".concat(i.getId(),"-listbox-option-").concat(i.state.activeOption.id):null,"aria-describedby":i.getErrorId(),defaultValue:r.defaultValue,autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},hasSpinner:i.props.hasInputSpinner,iconRight:k.a.createElement(Js,{category:"utility",name:"search",title:n.inputIconTitle}),id:i.getId(),onFocus:i.handleInputFocus,onBlur:i.handleInputBlur,onKeyDown:i.handleKeyDown,inputRef:i.setInputRef,onClick:function(){i.openDialog()},onChange:i.handleInputChange,placeholder:n.placeholder,readOnly:!(!r.predefinedOptionsOnly||!i.state.activeOption),required:r.required,role:"textbox",value:r.predefinedOptionsOnly&&i.state.activeOption&&i.state.activeOption.label||r.value},o.input)),i.getDialog({menuRenderer:i.renderMenu({assistiveText:t,labels:n})}),r.errorText&&k.a.createElement("div",{id:i.getErrorId(),className:"slds-form-element__help"},r.errorText))))}),nh(eh(i),"renderInlineSingle",function(e){var t=e.assistiveText,n=e.labels,r=e.props,o=e.userDefinedProps,c=r.selection[0]&&r.selection[0].icon?k.a.cloneElement(r.selection[0].icon,{containerClassName:"slds-combobox__input-entity-icon"}):null,a=r.selection[0]&&r.selection[0].label?r.selection[0].label:r.value;return k.a.createElement("div",{className:"slds-form-element__control"},k.a.createElement("div",{className:H()("slds-combobox_container",{"slds-has-inline-listbox":r.selection.length})},k.a.createElement("div",{className:H()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":i.getIsOpen()},{"slds-has-error":r.errorText},r.className),"aria-expanded":i.getIsOpen(),"aria-haspopup":"listbox",role:"combobox"},k.a.createElement(di,Jd({defaultValue:r.defaultValue,"aria-autocomplete":"list","aria-controls":i.getIsOpen()?"".concat(i.getId(),"-listbox"):void 0,"aria-activedescendant":i.state.activeOption?"".concat(i.getId(),"-listbox-option-").concat(i.state.activeOption.id):null,"aria-describedby":i.getErrorId(),autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},disabled:i.props.singleInputDisabled,hasSpinner:i.props.hasInputSpinner,iconRight:r.selection.length?k.a.createElement(Js,{assistiveText:{icon:t.removeSingleSelectedOption},buttonRef:function(e){i.buttonRef=e},category:"utility",iconPosition:"right",name:"close",onClick:function(e){i.handleRemoveSelectedOption(e,{option:r.selection[0]})}}):k.a.createElement(Js,{category:"utility",name:"search"}),iconLeft:c,id:i.getId(),onFocus:i.handleInputFocus,onBlur:i.handleInputBlur,onKeyDown:i.handleKeyDown,inputRef:i.setInputRef,onClick:function(){i.requestOpenMenu()},onChange:function(e){r.selection.length||i.handleInputChange(e)},placeholder:n.placeholder,readOnly:!(!r.predefinedOptionsOnly||!i.state.activeOption)||!!r.selection.length,required:r.required,role:"textbox",value:r.predefinedOptionsOnly?i.state.activeOption&&i.state.activeOption.label||r.value:a},o.input)),i.getDialog({menuRenderer:i.renderMenu({assistiveText:t,labels:n})}),r.errorText&&k.a.createElement("div",{id:i.getErrorId(),className:"slds-form-element__help"},r.errorText))))}),nh(eh(i),"renderMenu",function(e){var t=e.assistiveText,n=e.labels,r="readonly"===i.props.variant?5:null;return k.a.createElement(gd,{assistiveText:t,activeOption:i.state.activeOption,activeOptionIndex:i.state.activeOptionIndex,classNameMenu:i.props.classNameMenu,classNameMenuSubHeader:i.props.classNameMenuSubHeader,clearActiveOption:i.clearActiveOption,inheritWidthOf:i.props.inheritWidthOf,inputId:i.getId(),inputValue:i.props.value,isSelected:i.isSelected,itemVisibleLength:i.props.menuItemVisibleLength||r,labels:n,hasMenuSpinner:i.props.hasMenuSpinner,menuItem:i.props.menuItem,menuPosition:i.props.menuPosition,menuRef:function(e){i.menuRef=e},maxWidth:i.props.menuMaxWidth,options:i.props.options,optionsAddItem:i.props.optionsAddItem,optionsSearchEntity:i.props.optionsSearchEntity,onSelect:i.handleSelect,onRenderMenuItem:i.props.onRenderMenuItem?i.props.onRenderMenuItem:i.props.menuItem,selection:i.props.selection,tooltipMenuItemDisabled:i.props.tooltipMenuItemDisabled,variant:{base:"icon-title-subtitle","inline-listbox":"icon-title-subtitle",readonly:"checkbox"}[i.props.variant]})}),nh(eh(i),"renderPopover",function(e){var t=e.assistiveText,n=e.labels,r=e.props,o=i.getCustomPopoverProps(i.props.popover.props.body,{assistiveText:t,labels:n});return k.a.createElement("div",{className:"slds-form-element__control"},k.a.createElement("div",{className:"slds-combobox_container"},k.a.createElement("div",{className:H()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":i.getIsOpen()},{"slds-has-error":r.errorText},r.className),"aria-expanded":i.getIsOpen(),"aria-haspopup":"dialog",role:"combobox"},k.a.createElement(Uu,o,k.a.createElement(di,{"aria-autocomplete":"none","aria-controls":i.getIsOpen()?"".concat(i.getId(),"-popover"):void 0,"aria-describedby":i.getErrorId(),autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},iconRight:k.a.createElement(Js,{category:"utility",name:"down",variant:"combobox"}),id:i.getId(),onFocus:i.handleInputFocus,onBlur:i.handleInputBlur,onKeyDown:i.handleKeyDown,inputRef:i.setInputRef,onClick:function(){i.openDialog()},onChange:i.handleInputChange,placeholder:n.placeholder,readOnly:!0,required:r.required,role:"textbox",value:r.value})))),r.errorText&&k.a.createElement("div",{className:"slds-has-error"},k.a.createElement("div",{id:i.getErrorId(),className:"slds-form-element__help slds-has-error"},r.errorText)))}),nh(eh(i),"renderReadOnlyMultiple",function(e){var t=e.assistiveText,n=e.labels,r=e.props,o=e.userDefinedProps,c=1<r.selection.length?n.multipleOptionsSelected||"".concat(r.selection.length," options selected"):r.selection[0]&&r.selection[0].label||"";return k.a.createElement("div",{className:"slds-form-element__control"},k.a.createElement("div",{className:"slds-combobox_container"},k.a.createElement("div",{className:H()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":i.getIsOpen()},{"slds-has-error":r.errorText},r.className),"aria-expanded":i.getIsOpen(),"aria-haspopup":"listbox",role:"combobox"},k.a.createElement(di,Jd({defaultValue:r.defaultValue,"aria-autocomplete":"list","aria-controls":i.getIsOpen()?"".concat(i.getId(),"-listbox"):void 0,"aria-activedescendant":i.state.activeOption?"".concat(i.getId(),"-listbox-option-").concat(i.state.activeOption.id):null,"aria-describedby":i.getErrorId(),autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},iconRight:k.a.createElement(Js,{category:"utility",name:"down",variant:"combobox"}),id:i.getId(),onFocus:i.handleInputFocus,onBlur:i.handleInputBlur,onKeyDown:i.handleKeyDown,inputRef:i.setInputRef,onClick:function(){i.requestOpenMenu()},onChange:function(e){r.selection.length||i.handleInputChange(e)},placeholder:n.placeholderReadOnly,readOnly:!0,required:r.required,role:"textbox",value:c},o.input)),i.getDialog({menuRenderer:i.renderMenu({assistiveText:t,labels:n})}))),k.a.createElement(qd,{activeOption:i.state.activeSelectedOption,activeOptionIndex:i.state.activeSelectedOptionIndex,assistiveText:t,events:{onBlurPill:i.handleBlurPill,onClickPill:i.handlePillClickSelectedListbox,onPillFocus:i.handlePillFocus,onRequestFocus:i.handleRequestFocusSelectedListbox,onRequestFocusOnNextPill:i.handleNavigateSelectedListbox,onRequestFocusOnPreviousPill:i.handleNavigateSelectedListbox,onRequestRemove:i.handleRemoveSelectedOption},id:"".concat(i.getId(),"-selected-listbox"),labels:n,selectedListboxRef:i.setSelectedListboxRef,selection:r.selection,listboxHasFocus:i.state.listboxHasFocus,variant:i.props.variant,renderAtSelectionLength:2}),r.errorText&&k.a.createElement("div",{className:"slds-has-error"},k.a.createElement("div",{id:i.getErrorId(),className:"slds-form-element__help slds-has-error"},r.errorText)))}),nh(eh(i),"renderReadOnlySingle",function(e){var t=e.assistiveText,n=e.labels,r=e.props,o=e.userDefinedProps,c=r.selection[0]&&r.selection[0].label||"";return k.a.createElement("div",{className:"slds-form-element__control"},k.a.createElement("div",{className:"slds-combobox_container"},k.a.createElement("div",{className:H()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":i.getIsOpen()},{"slds-has-error":r.errorText},r.className),"aria-expanded":i.getIsOpen(),"aria-haspopup":"listbox",role:"combobox"},k.a.createElement(di,Jd({defaultValue:r.defaultValue,"aria-autocomplete":"list","aria-controls":i.getIsOpen()?"".concat(i.getId(),"-listbox"):void 0,"aria-activedescendant":i.state.activeOption?"".concat(i.getId(),"-listbox-option-").concat(i.state.activeOption.id):null,"aria-describedby":i.getErrorId(),autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},disabled:i.props.singleInputDisabled,iconRight:k.a.createElement(Js,{category:"utility",name:"down",variant:"combobox"}),id:i.getId(),onFocus:i.handleInputFocus,onBlur:i.handleInputBlur,onKeyDown:i.handleKeyDown,inputRef:i.setInputRef,onClick:function(){i.requestOpenMenu()},onChange:function(e){r.selection.length||i.handleInputChange(e)},placeholder:n.placeholderReadOnly,readOnly:!0,required:r.required,role:"textbox",value:i.state.activeOption&&i.state.activeOption.label||c},o.input)),i.getDialog({menuRenderer:i.renderMenu({assistiveText:t,labels:n})}),r.errorText&&k.a.createElement("div",{id:i.getErrorId(),className:"slds-form-element__help"},r.errorText))))}),i.state={activeOption:void 0,activeOptionIndex:-1,activeSelectedOption:i.props.selection&&i.props.selection[0]||void 0,activeSelectedOptionIndex:0,listboxHasFocus:!1,isOpen:"boolean"==typeof e.isOpen&&e.isOpen},i.menuKeyBuffer=new Jc,i.menuRef=void 0,i.selectedListboxRef=null,Gd(O,e,Yd),i.generatedId=f.a.generate(),i.generatedErrorId=f.a.generate(),i}return 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&&th(e,t)}(t,k.a.Component),function(e,t,n){t&&$d(e.prototype,t),n&&$d(e,n)}(t,[{key:"componentWillReceiveProps",value:function(e){var t=this;if(at()(this.getOptions(),this.getOptions(e)))this.props.isOpen!==e.isOpen&&this.setState({isOpen:e.isOpen});else{var n=Dp()(this.getOptions(e),function(e){return at()(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&&0<e.selection.length&&this.setState({activeSelectedOption:e.selection[0],activeSelectedOptionIndex:0}),e.selection.length>this.props.selection.length&&(e.selection.length<1?this.setState({activeSelectedOption:void 0,activeSelectedOptionIndex:0}):this.setState({activeSelectedOption:e.selection[e.selection.length-1],activeSelectedOptionIndex:e.selection.length-1}))}},{key:"componentWillUnmount",value:function(){Ud===this&&(Ud=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()?k.a.createElement(Kt,{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=Nn()({},ch.assistiveText,e.assistiveText),n=Nn()({},ch.labels,this.props.labels),r=n.label||t&&t.label,o={};e.input&&(o.input=e.input.props);var c={assistiveText:t,labels:n,props:this.props,userDefinedProps:o},a=this.props.multiple?"multiple":"single",s={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}},i=s[this.props.variant][a],l=k.a.createElement("div",{className:H()("slds-form-element",e.classNameContainer)},e.entityCombobox?null:k.a.createElement(yd,{assistiveText:this.props.assistiveText,htmlFor:this.getId(),label:n.label,required:e.required}),this.props.fieldLevelHelpTooltip&&r?k.a.createElement(zi,{fieldLevelHelpTooltip:this.props.fieldLevelHelpTooltip}):null,i?s[this.props.variant][a](c):s.base.multiple(c));return e.entityCombobox?k.a.createElement("div",{className:"slds-form-element"},k.a.createElement(yd,{assistiveText:e.assistiveText,htmlFor:this.getId(),label:n.label,required:e.required}),k.a.createElement("div",{className:"slds-form-element__control"},k.a.createElement("div",{className:"slds-combobox-group"},k.a.createElement("div",{className:"slds-combobox_object-switcher slds-combobox-addon_start"},e.entityCombobox),k.a.createElement("div",{className:"slds-combobox_container slds-combobox-addon_end"},l)))):l}}]),t}();ah.contextTypes={iconPath:o.a.string},ah.displayName=O,ah.propTypes=oh,ah.defaultProps=ch;function sh(e){var o=e.inputValue,t=e.limit,n=void 0===t?10:t,r=e.options,c=e.selection,a=new RegExp($c()(o),"ig");return r.filter(function(t){var e=!!t.label&&t.label.match(a),n="separator"===t.type,r=!c.some(function(e){return e.id===t.id});return(!o||n||e)&&r}).splice(0,n)}var ih=ah,lh=Ge(gc(ih,{excludeScrollbar:!0}));function ph(e){var t=k.a.isValidElement(e.children)?e.children.props.children:e.children,n=k.a.createElement("div",{className:H()({"slds-truncate":e.fixedLayout}),title:e.title||t},e.children),r=k.a.createElement("td",{className:e.className,role:e.fixedLayout?"gridcell":null,style:e.width?{width:e.width}:null},n);return e.primaryColumn&&(r=k.a.createElement("th",{className:e.className,role:e.fixedLayout?"gridcell":null,style:e.width?{width:e.width}:null},n)),r}var uh=function(){},dh=n(47),hh=n(48),fh=n(14),mh=n.n(fh);ph.displayName=C,ph.propTypes={children:o.a.oneOfType([o.a.node,o.a.string]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),fixedLayout:o.a.bool,item:o.a.object,primaryColumn:o.a.bool,property:o.a.string,title:o.a.string,width:o.a.string};var vh=ph;function gh(e){return(gh="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){return!t||"object"!==gh(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function yh(e){return(yh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function wh(e,t){return(wh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var _h=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),bh(this,yh(e).apply(this,arguments))}return 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)}(e,k.a.Component),e}();_h.displayName=E,_h.propTypes={children:o.a.element,isDefaultSortDescending:o.a.bool,isSorted:o.a.bool,label:o.a.oneOfType([o.a.string,o.a.node]),primaryColumn:o.a.bool,property:o.a.string,sortable:o.a.bool,sortDirection:o.a.oneOf(["desc","asc"]),title:o.a.string,truncate:o.a.bool,width:o.a.string};function xh(e){return k.a.createElement("div",{className:"slds-cell-fixed",style:{display:"flex",flexDirection:"row",flexWrap:"nowrap"}},e.children)}var zh=_h;var Oh=function(){};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 Ch(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 Eh(e){return(Eh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Mh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Th(e,t){return(Th=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 kh=function(){function c(){var e,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return Nh(Mh(r=function(e,t){return!t||"object"!==Sh(t)&&"function"!=typeof t?Mh(e):t}(this,(e=Eh(c)).call.apply(e,[this].concat(n)))),"state",{sortDirection:null}),Nh(Mh(r),"handleSort",function(e){var t=function(e,t){switch(e){case"asc":return"desc";case"desc":return"asc";case null:return t?"desc":"asc";default:return"asc"}}(r.props.sortDirection||r.state.sortDirection,r.props.isDefaultSortDescending),n={property:r.props.property,sortDirection:t};r.setState({sortDirection:t}),Xn()(r.props.onSort)&&r.props.onSort(n,e)}),r}return 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&&Th(e,t)}(c,k.a.Component),function(e,t,n){t&&Ch(e.prototype,t),n&&Ch(e,n)}(c,[{key:"componentDidMount",value:function(){Oh(E,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,o=n.isSorted,c=n.label,a=n.sortable,s=n.width,i=Sh(c),l=this.props.sortDirection||this.state.sortDirection||this.props.isDefaultSortDescending&&"desc",p=o?"desc"===l?"descending":"ascending":"none",u={sortable:k.a.createElement("a",{href:"javascript:void(0)",className:"slds-th__action slds-text-link_reset",onClick:this.handleSort,role:"button",tabIndex:"0"},k.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveTextForColumnSort||this.props.assistiveText.columnSort," "),k.a.createElement("span",{className:"slds-truncate",title:"string"===i?c:void 0},c),k.a.createElement(en,{className:"slds-is-sortable__icon",category:"utility",name:"desc"===l?"arrowdown":"arrowup",size:"x-small"}),l?k.a.createElement("span",{className:"slds-assistive-text","aria-atomic":"true"},"asc"===l?this.props.assistiveTextForColumnSortedAscending||this.props.assistiveText.columnSortedAscending:this.props.assistiveTextForColumnSortedDescending||this.props.assistiveText.columnSortedDescending):null),notSortable:k.a.createElement("span",{className:"slds-p-horizontal_x-small",style:{display:"flex"}},k.a.createElement("span",{className:"slds-truncate",title:"string"===i?c:void 0},c))},d=this.props.fixedLayout?u[a?"sortable":"notSortable"]:k.a.createElement("div",{className:"slds-truncate",title:"string"===i?c:void 0},c);return k.a.createElement("th",{"aria-label":"string"===i?c:void 0,"aria-sort":p,className:H()((e={"slds-is-sortable":a,"slds-is-sorted":o},Nh(e,"slds-is-sorted_".concat(l),l),Nh(e,"slds-is-sorted_asc",o&&!l),e)),ref:function(e){t.props.cellRef&&t.props.cellRef(e)},scope:"col",style:r||s?{height:r?0:null,lineHeight:r?0:null,width:s||null}:null},r?k.a.cloneElement(d,{style:{display:"flex",height:0,overflow:"hidden",paddingBottom:0,paddingTop:0,visibility:"hidden"}}):d,r?k.a.createElement(xh,null,k.a.cloneElement(d,{style:{alignItems:"center",display:"flex",flex:"1 1 auto",lineHeight:1.25,width:"100%"},tabIndex:a?0:null})):null)}}]),c}();Nh(kh,"displayName","SLDSDataTableHeaderCell"),Nh(kh,"propTypes",{assistiveText:o.a.shape({actionsHeader:o.a.string,columnSort:o.a.string,columnSortedAscending:o.a.string,columnSortedDescending:o.a.string,selectAllRows:o.a.string,selectRow:o.a.string}),cellRef:o.a.func,fixedHeader:o.a.bool,id:o.a.string.isRequired,isDefaultSortDescending:o.a.bool,isSorted:o.a.bool,label:o.a.oneOfType([o.a.string,o.a.node]),onSort:o.a.func,property:o.a.string,sortable:o.a.bool,sortDirection:o.a.oneOf(["desc","asc"]),width:o.a.string});var Hh=kh;function jh(e){return(jh="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 Ph(){return(Ph=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 Ih(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 Lh(e){return(Lh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Vh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Dh(e,t){return(Dh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Rh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ah=function(){function o(){var e,c;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Rh(Vh(c=function(e,t){return!t||"object"!==jh(t)&&"function"!=typeof t?Vh(e):t}(this,(e=Lh(o)).call.apply(e,[this].concat(n)))),"getActionsHeader",function(){function e(e){return k.a.createElement("div",{className:"slds-th__action",style:e},k.a.createElement("span",{className:"slds-assistive-text"},c.props.assistiveText.actionsHeader))}var t=c.props.fixedHeader,n=null;return c.props.showRowActions&&(n=k.a.createElement("th",{ref:function(e){c.props.headerRefs&&c.props.headerRefs(e,"action")},scope:"col",style:{height:t?0:null,lineHeight:t?0:null,width:"3.25rem"}},e(t?{height:0,overflow:"hidden",paddingBottom:0,paddingTop:0,visibility:"hidden"}:null),t?k.a.createElement(xh,null,e({lineHeight:1,width:"100%"})):null)),n}),Rh(Vh(c),"getSelectHeader",function(){function e(e,t,n){var r=null;return"radio"===o?r=k.a.createElement("div",{className:"slds-truncate slds-assistive-text",id:"".concat(c.props.id,"-column-group-header-row-select"),title:c.props.assistiveText.selectRowGroup},c.props.assistiveText.selectRowGroup):!0!==o&&"checkbox"!==o||(r=k.a.createElement("div",{className:"slds-th__action slds-th__action_form","aria-hidden":n&&!0,style:t},n?null:k.a.createElement("span",{id:"".concat(c.props.id,"-column-group-header-row-select"),className:"slds-assistive-text"},c.props.assistiveText.selectAllRows),k.a.createElement(Ol,{assistiveText:{label:c.props.assistiveText.selectAllRows},checked:c.props.allSelected,indeterminate:c.props.indeterminateSelected,id:"".concat(c.props.id,"-").concat(e),name:n?void 0:"SelectAll",onChange:c.props.onToggleAll}))),r}var t=c.props,o=t.canSelectRows,n=t.fixedHeader,r=null;return o&&(r=k.a.createElement("th",{className:"slds-text-align_right",ref:function(e){c.props.headerRefs&&c.props.headerRefs(e,"select")},scope:"col",style:{height:n?0:null,lineHeight:n?0:null,width:"3.25rem"}},e("SelectAll-fixed-header",n?{display:"flex",height:0,overflow:"hidden",paddingBottom:0,paddingTop:0,visibility:"hidden"}:null,n&&"ariaHidden"),n?k.a.createElement(xh,null,e("SelectAll",{display:"flex",justifyContent:"flex-end",lineHeight:1,width:"100%"})):null)),r}),c}return 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)}(o,k.a.Component),function(e,t,n){t&&Ih(e.prototype,t),n&&Ih(e,n)}(o,[{key:"render",value:function(){var n=this,e=this.getActionsHeader(),t=this.getSelectHeader();return k.a.createElement("thead",null,k.a.createElement("tr",{className:"slds-line-height_reset"},t,this.props.columns.map(function(e,t){return k.a.createElement(Hh,Ph({assistiveText:n.props.assistiveText,cellRef:function(e){n.props.headerRefs&&n.props.headerRefs(e,t)},fixedHeader:n.props.fixedHeader,id:"".concat(n.props.id,"-").concat(e.props.property),key:"".concat(n.props.id,"-").concat(e.props.property),onSort:n.props.onSort},e.props))}),e))}}]),o}();Rh(Ah,"displayName",M),Rh(Ah,"propTypes",{assistiveText:o.a.shape({actionsHeader:o.a.string,columnSort:o.a.string,columnSortedAscending:o.a.string,columnSortedDescending:o.a.string,selectAllRows:o.a.string,selectRow:o.a.string}),allSelected:o.a.bool,headerRefs:o.a.func,indeterminateSelected:o.a.bool,canSelectRows:o.a.oneOfType([o.a.bool,o.a.oneOf(["checkbox","radio"])]),columns:o.a.arrayOf(o.a.shape({Cell:o.a.func,props:o.a.object})),fixedHeader:o.a.bool,id:o.a.string,onToggleAll:o.a.func,onSort:o.a.func,showRowActions:o.a.bool});var Bh=Ah;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 qh(){return(qh=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 Kh(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){return(Wh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Uh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Gh(e,t){return(Gh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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=function(){function c(){var e,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return Yh(Uh(r=function(e,t){return!t||"object"!==Fh(t)&&"function"!=typeof t?Uh(e):t}(this,(e=Wh(c)).call.apply(e,[this].concat(n)))),"isSelected",function(){return!!cd()(r.props.selection,r.props.item)}),Yh(Uh(r),"handleToggle",function(e,t){var n=t.checked;return r.props.onToggle(r.props.item,n,e)}),r}return 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,k.a.Component),function(e,t,n){t&&Kh(e.prototype,t),n&&Kh(e,n)}(c,[{key:"render",value:function(){var r=this,e={},t=this.isSelected();return this.props.canSelectRows&&(e["aria-selected"]=t?"true":"false"),k.a.createElement("tr",qh({},e,{className:H()({"slds-hint-parent":this.props.rowActions,"slds-is-selected":this.props.canSelectRows&&t})}),this.props.canSelectRows?k.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?k.a.createElement(dp,{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:t,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}):k.a.createElement(Ol,{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:t,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(e){var t=e.Cell,n="".concat(r.props.id,"-").concat(C,"-").concat(e.props.property);return k.a.createElement(t,qh({},e.props,{className:e.props.truncate?"slds-truncate":null,fixedLayout:r.props.fixedLayout,rowHeader:e.props.primaryColumn,id:n,item:r.props.item,key:n,width:e.props.width}),r.props.item[e.props.property])}),this.props.rowActions?k.a.cloneElement(this.props.rowActions,{id:"".concat(this.props.id,"-").concat(T),item:this.props.item}):null)}}]),c}();Yh(Qh,"displayName",N),Yh(Qh,"propTypes",{assistiveText:o.a.shape({actionsHeader:o.a.string,columnSort:o.a.string,columnSortedAscending:o.a.string,columnSortedDescending:o.a.string,selectAllRows:o.a.string,selectRow:o.a.string}),canSelectRows:o.a.oneOfType([o.a.bool,o.a.oneOf(["checkbox","radio"])]),columns:o.a.arrayOf(o.a.shape({Cell:o.a.func,props:o.a.object})),fixedLayout:o.a.bool,id:o.a.string.isRequired,item:o.a.object.isRequired,onToggle:o.a.func,rowActions:o.a.element,selection:o.a.array,tableId:o.a.string});var Jh=Qh;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){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 Zh(e){return(Zh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ef(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tf(e,t){return(tf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function nf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var rf=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return nf(ef(t=function(e,t){return!t||"object"!==Xh(t)&&"function"!=typeof t?ef(e):t}(this,(e=Zh(c)).call.apply(e,[this].concat(r)))),"handleClick",function(e){bt.trap(e)}),nf(ef(t),"handleSelect",function(e){Xn()(t.props.onAction)&&t.props.onAction(t.props.item,e),t.props.dropdown&&Xn()(t.props.dropdown.props.onSelect)&&t.props.dropdown.props.onSelect(e)}),t}return 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&&tf(e,t)}(c,k.a.Component),function(e,t,n){t&&$h(e.prototype,t),n&&$h(e,n)}(c,[{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){nf(t,e,n[e])})}return t}({},{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},this.props.dropdown?this.props.dropdown.props:{},{onSelect:this.handleSelect});return k.a.createElement("td",{className:"","data-label":"Actions",onClick:this.handleClick,style:{width:"3.25rem"}},k.a.createElement(ba,e))}}]),c}();nf(rf,"displayName",T),nf(rf,"propTypes",{assistiveText:o.a.object,className:o.a.string,id:o.a.string,item:o.a.object,noHint:o.a.bool,onAction:o.a.func,options:o.a.array,dropdown:o.a.node}),nf(rf,"defaultProps",{assistiveText:{icon:"Actions"},noHint:!1,options:[]});var of=rf;function cf(e){return(cf="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(){return(af=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 sf(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function lf(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function pf(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 uf(e){return(uf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function df(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function hf(e,t){return(hf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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}function mf(e){return Array.isArray(e)?e.length:0}var vf={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"},selection:[]},gf=function(){function t(e){var c;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),ff(df(c=function(e,t){return!t||"object"!==cf(t)&&"function"!=typeof t?df(e):t}(this,uf(t).call(this,e))),"handleToggleAll",function(e,t){var n=t.checked;if("function"==typeof c.props.onChange){var r=n?lf(c.props.items):[];c.props.onChange(r,e)}if("function"==typeof c.props.onRowChange){var o=n?lf(c.props.items):[];c.props.onRowChange(e,{selection:o})}}),ff(df(c),"handleRowToggle",function(e,t,n){var r,o;"function"==typeof c.props.onChange&&(r=t?"radio"===c.props.selectRows?[e]:[].concat(lf(c.props.selection),[e]):sd()(c.props.selection,e),c.props.onChange(r,n));"function"==typeof c.props.onRowChange&&(o=t?"radio"===c.props.selectRows?[e]:[].concat(lf(c.props.selection),[e]):sd()(c.props.selection,e),c.props.onRowChange(n,{selection:o}))}),ff(df(c),"resizeFixedHeaders",function(e){var t=[].concat(c.headerRefs.select,c.headerRefs.column,c.headerRefs.action);if(c.props.onFixedHeaderResize)c.props.onFixedHeaderResize(e,{headerRefs:t,scrollerRef:c.scrollerRef});else if(0<t.length){var o=0;zt&&(o=document.documentElement.scrollLeft),t.forEach(function(e){if(e&&zt){var t=e.getBoundingClientRect().left+o,n=0;c.scrollerRef&&(n=c.scrollerRef.getBoundingClientRect().left+o);var r=e.querySelector(".slds-cell-fixed");r&&(r.style.left="".concat(t-n,"px"),r.style.width="".concat(e.offsetWidth,"px"))}})}}),ff(df(c),"toggleFixedHeaderListeners",function(e){if(c.props.onToggleFixedHeaderListeners)c.props.onToggleFixedHeaderListeners({},{attach:e,resizeHandler:c.resizeFixedHeaders,scrollerRef:c.scrollerRef});else{var t=["".concat(e?"add":"remove","EventListener")];Ot&&window[t]("resize",c.resizeFixedHeaders),Ot&&c.scrollerRef&&c.scrollerRef[t]("scroll",c.resizeFixedHeaders)}}),c.generatedId=f.a.generate(),c.headerRefs={action:[],column:[],select:[]},c.scrollerRef=null,uh(S,e,dh),c}return 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&&hf(e,t)}(t,k.a.Component),function(e,t,n){t&&pf(e.prototype,t),n&&pf(e,n)}(t,[{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 i=this,e={},t=mf(this.props.items),n=mf(this.props.selection),r=!!(this.props.selectRows&&0<t)&&this.props.selectRows,o=r&&t===n,c=r&&t!==n&&0!==n,l=[],p=null;k.a.Children.forEach(this.props.children,function(e){if(e&&e.type.displayName===zh.displayName){var t,n=e.props,r=n.children,o=sf(n,["children"]),c=Nn()({},i.props);delete c.children,Nn()(c,o),r&&r.type.displayName===C?(t=r.type,Nn()(c,r.props)):t=vh,l.push({Cell:t,props:c,dataTableProps:i.props})}else if(e&&e.type.displayName===of.displayName){var a=e.props.dropdown,s={};i.props.fixedHeader&&(s.menuPosition="overflowBoundaryElement"),p=k.a.cloneElement(e,{dropdown:a?k.a.cloneElement(a,s):null})}});var a=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){ff(t,e,n[e])})}return t}({},vf.assistiveText,this.props.assistiveText);this.props.assistiveTextForActionsHeader&&(a.actionsHeader=this.props.assistiveTextForActionsHeader),this.props.assistiveTextForSelectAllRows&&(a.selectAllRows=this.props.assistiveTextForSelectAllRows),this.props.assistiveTextForColumnSortedAscending&&(a.columnSortedAscending=this.props.assistiveTextForColumnSortedAscending),this.props.assistiveTextForColumnSortedDescending&&(a.columnSortedDescending=this.props.assistiveTextForColumnSortedDescending),this.props.assistiveTextForColumnSort&&(a.columnSort=this.props.assistiveTextForColumnSort),this.props.assistiveTextForSelectRow&&(a.selectRow=this.props.assistiveTextForSelectRow),this.props.selectRows&&"radio"!==this.props.selectRows&&(e["aria-multiselectable"]="true"),this.headerRefs={action:p?this.headerRefs.action:[],column:this.headerRefs.column.slice(0,l.length),select:r?this.headerRefs.select:[]};var s=k.a.createElement("table",af({},e,{className:H()("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}),k.a.createElement(Bh,{assistiveText:a,allSelected:o,fixedHeader:this.props.fixedHeader,headerRefs:function(e,t){"action"===t||"select"===t?e?i.headerRefs[t][0]=e:i.headerRefs[t]=[]:i.headerRefs.column[t]=e},indeterminateSelected:c,canSelectRows:r,columns:l,id:"".concat(this.getId(),"-").concat(M),onToggleAll:this.handleToggleAll,onSort:this.props.onSort,showRowActions:!!p}),k.a.createElement("tbody",null,0<t?this.props.items.map(function(e,t){var n=i.getId()&&e.id?"".concat(i.getId(),"-").concat(N,"-").concat(e.id):f.a.generate();return k.a.createElement(Jh,{assistiveText:a,canSelectRows:r,columns:l,fixedLayout:i.props.fixedLayout,id:n,index:t,item:e,key:n,onToggle:i.handleRowToggle,selection:i.props.selection,rowActions:p,tableId:i.getId()})}):null));if(this.props.fixedHeader){var u="1px solid ".concat(hh.colorGray5),d={borderTop:u,height:"100%"};this.props.joined&&(d.borderBottom=u,d.borderLeft=u,d.borderRight=u,d.borderTop="none",d.borderRadius=fh.tableBorderRadius),s=k.a.createElement("div",{className:"slds-table_header-fixed_container",style:d,onScroll:function(e){var t=e.target.scrollLeft;0<t&&(e.target.scrollLeft=0,i.scrollerRef&&(i.scrollerRef.scrollLeft=t))}},k.a.createElement("div",{className:"slds-table_header-fixed_scroller",ref:function(e){i.scrollerRef=e},style:{height:"100%",overflow:"auto"}},s))}return s}}]),t}();ff(gf,"displayName",S),ff(gf,"propTypes",{assistiveText:o.a.shape({actionsHeader:o.a.string,columnSort:o.a.string,columnSortedAscending:o.a.string,columnSortedDescending:o.a.string,selectAllRows:o.a.string,selectRow:o.a.string,selectRowGroup:o.a.string}),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),columnBordered:o.a.bool,fixedHeader:o.a.bool,fixedLayout:o.a.bool,id:o.a.string,items:o.a.arrayOf(o.a.shape({id:o.a.string.isRequired})).isRequired,joined:o.a.bool,noRowHover:o.a.bool,onFixedHeaderResize:o.a.func,onRowChange:o.a.func,onSort:o.a.func,onToggleFixedHeaderListeners:o.a.func,selection:o.a.array,selectRows:o.a.oneOfType([o.a.bool,o.a.oneOf(["checkbox","radio"])]),stacked:o.a.bool,stackedHorizontal:o.a.bool,striped:o.a.bool,style:o.a.object,unborderedRow:o.a.bool,unbufferedCell:o.a.bool}),ff(gf,"defaultProps",vf);function bf(e){return k.a.createElement(vh,e,k.a.createElement(Zr,{search:e.search},e.children))}var yf=gf;bf.displayName=C,bf.propTypes={children:o.a.oneOfType([o.a.string,o.a.number,o.a.bool]),search:o.a.any};var wf=bf,_f={firstDayOfMonth:function(e){var t=new Date(e);return t.setDate(1),t},isFirstDayOfMonth:function(e){return 1===e.getDate()},isLastDayOfMonth:function(e){return!_f.isSameMonth(e,_f.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&&_f.isSameMonth(e,new Date)},isToday:function(e){return!!e&&_f.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 _f.addDays(e,7*parseInt(t,10))},nearestWeekDay:function(e,t){var n=t-e.getDay();return n<0&&(n+=7),_f.addDays(e,n)},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},getDaysInMonth:function(e,t){return[31,_f.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,_f.getDaysInMonth(n.getFullYear(),n.getMonth()))),n}},xf=_f;function zf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Of(t){var n=xf.isSameMonth(t.date,t.initialDateForCalendarRender),e=xf.isToday(t.date),r=xf.isSameDay(t.date,t.selectedDate),o=xf.isFirstDayOfMonth(t.date),c=!n||t.disabled;return k.a.createElement("td",{"aria-disabled":c,"aria-selected":r,className:H()({"slds-is-today":e,"slds-disabled-text":c,"slds-is-selected":r}),onClick:function(e){!function(e,t){var n=t.date;(0,t.onSelectDate)(e,{date:n})}(e,{date:t.date,onSelectDate:t.onSelectDate})},onKeyDown:function(e){!function(e,t){var n,r=t.date,o=t.onCalendarBlur,c=t.onSelectDate,a=t.onKeyboardNavigateToPreviousDay,s=t.onKeyboardNavigateToNextDay,i=t.onKeyboardNavigateToPreviousWeek,l=t.onKeyboardNavigateToNextWeek,p=t.direction,u=(zf(n={},wt.SPACE,function(){c(e,{date:r})}),zf(n,wt.ENTER,function(){c(e,{date:r})}),zf(n,wt.TAB,function(){o(e,{direction:"next"})}),zf(n,wt.LEFT,function(){p===xe.RTL?s(e,{date:r}):a(e,{date:r})}),zf(n,wt.RIGHT,function(){p===xe.RTL?a(e,{date:r}):s(e,{date:r})}),zf(n,wt.UP,function(){i(e,{date:r})}),zf(n,wt.DOWN,function(){l(e,{date:r})}),n),d=zf({},wt.TAB,function(){o(e,{direction:"previous"})});e.keyCode&&(e.shiftKey&&u[e.keyCode]?(bt.trapEvent(e),d[e.keyCode]()):u[e.keyCode]&&(bt.trapEvent(e),u[e.keyCode]()))}(e,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){zf(t,e,n[e])})}return t}({},t))},ref:function(e){r&&t.selectedDateRef(e),t.calendarHasFocus&&xf.isSameDay(t.focusedDate,t.date)&&n&&t.onRequestInternalFocusDate(void 0,{date:t.date,ref:e})},role:"gridcell",tabIndex:!t.calendarHasFocus&&o&&n?0:-1},k.a.createElement("span",{className:"slds-day"},e?k.a.createElement("span",{className:"slds-assistive-text"},"".concat(t.todayLabel,": ")):null,t.date.getDate()))}Of.displayName="SLDSDatepickerCalendarDay",Of.propTypes={calendarHasFocus:o.a.bool.isRequired,date:o.a.instanceOf(Date).isRequired,disabled:o.a.bool,initialDateForCalendarRender:o.a.instanceOf(Date).isRequired,onCalendarBlur:o.a.func.isRequired,onKeyboardNavigateToNextDay:o.a.func.isRequired,onKeyboardNavigateToNextWeek:o.a.func.isRequired,onKeyboardNavigateToPreviousDay:o.a.func.isRequired,onKeyboardNavigateToPreviousWeek:o.a.func.isRequired,onSelectDate:o.a.func.isRequired,selectedDate:o.a.instanceOf(Date).isRequired,selectedDateRef:o.a.func.isRequired,todayLabel:o.a.string.isRequired,focusedDate:o.a.instanceOf(Date),onRequestInternalFocusDate:o.a.func};function Sf(e){for(var t=[],n=e.firstDayOfWeek,r=0;r<7;r+=1)t.push(k.a.createElement(Cf,{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=xf.addDays(n,1);return k.a.createElement("tr",{className:"week",key:t[0].toString()},t)}var Cf=Ge(Of);Sf.propTypes={initialDateForCalendarRender:o.a.instanceOf(Date).isRequired,calendarHasFocus:o.a.bool.isRequired,dateDisabled:o.a.func,firstDayOfWeek:o.a.instanceOf(Date).isRequired,focusedDate:o.a.instanceOf(Date).isRequired,onCalendarBlur:o.a.func.isRequired,onKeyboardNavigateToNextDay:o.a.func.isRequired,onKeyboardNavigateToNextWeek:o.a.func.isRequired,onKeyboardNavigateToPreviousDay:o.a.func.isRequired,onKeyboardNavigateToPreviousWeek:o.a.func.isRequired,onRequestInternalFocusDate:o.a.func.isRequired,onSelectDate:o.a.func.isRequired,selectedDate:o.a.instanceOf(Date).isRequired,selectedDateRef:o.a.func.isRequired,todayLabel:o.a.string.isRequired},Sf.displayName="SLDSDatepickerWeek";var Ef=Sf;function Mf(e){return(Mf="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 Tf(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 Nf(e){return(Nf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function kf(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Hf(e,t){return(Hf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function jf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Pf=function(){function o(){var e,l;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return jf(kf(l=function(e,t){return!t||"object"!==Mf(t)&&"function"!=typeof t?kf(e):t}(this,(e=Nf(o)).call.apply(e,[this].concat(n)))),"state",{focusedDate:l.props.initialDateForCalendarRender,calendarHasFocus:!0,todayFocus:!1}),jf(kf(l),"setCalendarRenderSeedDate",function(e){xf.isEqual(l.props.initialDateForCalendarRender,e.initialDateForCalendarRender)||(l.setState({focusedDate:l.props.initialDateForCalendarRender}),l.props.onRequestInternalFocusDate(void 0,{date:l.props.initialDateForCalendarRender,triggerCallback:!0}))}),jf(kf(l),"handleSelectDate",function(e,t){var n=t.date;l.props.dateDisabled({date:n})||(l.setState({selected:n}),l.props.onSelectDate(e,{date:n}))}),jf(kf(l),"handleRequestClose",function(e){l.props.onRequestClose&&l.props.onRequestClose(e,{})}),jf(kf(l),"handleKeyboardNavigateToPreviousDay",function(e,t){var n=t.date,r=xf.addDays(n,-1);xf.isSameMonth(r,n)?(l.setState({focusedDate:r}),l.props.onRequestInternalFocusDate(e,{date:r,triggerCallback:!0})):l.props.onChangeMonth(e,r)}),jf(kf(l),"handleKeyboardNavigateToNextDay",function(e,t){var n=t.date,r=xf.addDays(n,1);xf.isSameMonth(r,n)?(l.setState({focusedDate:r}),l.props.onRequestInternalFocusDate(e,{date:r,triggerCallback:!0})):l.props.onChangeMonth(e,r)}),jf(kf(l),"handleKeyboardNavigateToPreviousWeek",function(e,t){var n=t.date,r=xf.addDays(n,-7);xf.isSameMonth(r,n)?(l.setState({focusedDate:r}),l.props.onRequestInternalFocusDate(e,{date:r,triggerCallback:!0})):l.props.onChangeMonth(e,r)}),jf(kf(l),"handleKeyboardNavigateToNextWeek",function(e,t){var n=t.date,r=xf.addDays(n,7);xf.isSameMonth(r,n)?(l.setState({focusedDate:r}),l.props.onRequestInternalFocusDate(e,{date:r,triggerCallback:!0})):l.props.onChangeMonth(e,r)}),jf(kf(l),"renderWeeks",function(){var e,t=l.props.isIsoWeekday?1:0,n=xf.firstDayOfMonth(l.props.initialDateForCalendarRender);if(n.getDay()>t){var r=xf.addWeeks(n,-1);e=xf.nearestWeekDay(r,t)}else e=n;for(var o=[],c=!1,a=e.getMonth(),s=0;!c;)o.push(k.a.createElement(Ef,{calendarHasFocus:l.state.calendarHasFocus,dateDisabled:l.props.dateDisabled,firstDayOfWeek:e,key:e.toString(),focusedDate:l.state.focusedDate,initialDateForCalendarRender:l.props.initialDateForCalendarRender,onCalendarBlur:l.props.onCalendarBlur,onKeyboardNavigateToPreviousDay:l.handleKeyboardNavigateToPreviousDay,onKeyboardNavigateToNextDay:l.handleKeyboardNavigateToNextDay,onKeyboardNavigateToPreviousWeek:l.handleKeyboardNavigateToPreviousWeek,onKeyboardNavigateToNextWeek:l.handleKeyboardNavigateToNextWeek,onRequestClose:l.handleRequestClose,onRequestInternalFocusDate:l.props.onRequestInternalFocusDate,onSelectDate:l.handleSelectDate,selectedDate:l.props.selectedDate,selectedDateRef:l.props.selectedDateRef,todayLabel:l.props.todayLabel})),e=xf.addWeeks(e,1),c=2<s&&a!==e.getMonth(),s+=1,a=e.getMonth();for(var i=0;o.length<6;)i+=1,o.push(k.a.createElement("tr",{key:"extra_".concat(i),className:"week"},k.a.createElement("td",{"aria-disabled":"true","aria-selected":"false",className:"slds-disabled-text"},k.a.createElement("span",{className:"slds-day "}," "))));return o}),l}return 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&&Hf(e,t)}(o,k.a.Component),function(e,t,n){t&&Tf(e.prototype,t),n&&Tf(e,n)}(o,[{key:"componentDidUpdate",value:function(e){this.setCalendarRenderSeedDate(e)}},{key:"render",value:function(){var t=this,e=k.a.createElement("th",null,k.a.createElement("abbr",{title:this.props.weekDayLabels[0]},this.props.abbreviatedWeekDayLabels[0]));return k.a.createElement("div",{className:"calendar"},k.a.createElement("table",{className:"datepicker__month",role:"grid","aria-labelledby":"".concat(this.props.id,"-month")},k.a.createElement("thead",null,k.a.createElement("tr",null,this.props.isIsoWeekday?null:e,k.a.createElement("th",{scope:"col"},k.a.createElement("abbr",{title:this.props.weekDayLabels[1]},this.props.abbreviatedWeekDayLabels[1])),k.a.createElement("th",{scope:"col"},k.a.createElement("abbr",{title:this.props.weekDayLabels[2]},this.props.abbreviatedWeekDayLabels[2])),k.a.createElement("th",{scope:"col"},k.a.createElement("abbr",{title:this.props.weekDayLabels[3]},this.props.abbreviatedWeekDayLabels[3])),k.a.createElement("th",{scope:"col"},k.a.createElement("abbr",{title:this.props.weekDayLabels[4]},this.props.abbreviatedWeekDayLabels[4])),k.a.createElement("th",{scope:"col"},k.a.createElement("abbr",{title:this.props.weekDayLabels[5]},this.props.abbreviatedWeekDayLabels[5])),k.a.createElement("th",{scope:"col"},k.a.createElement("abbr",{title:this.props.weekDayLabels[6]},this.props.abbreviatedWeekDayLabels[6])),this.props.isIsoWeekday&&e)),k.a.createElement("tbody",null,this.renderWeeks(),k.a.createElement("tr",null,k.a.createElement("td",{colSpan:"7",role:"gridcell"},k.a.createElement("a",{href:"javascript:void(0)",tabIndex:"0",className:"slds-show_inline-block slds-p-bottom_x-small",onClick:function(e){t.handleSelectDate(e,{date:new Date})},onKeyDown:this.props.onLastFocusableNodeKeyDown,ref:this.props.todayRef},this.props.todayLabel))))))}}]),o}();jf(Pf,"displayName","SLDSDatepickerCalendar"),jf(Pf,"propTypes",{abbreviatedWeekDayLabels:o.a.array.isRequired,dateDisabled:o.a.func,id:o.a.string.isRequired,initialDateForCalendarRender:o.a.instanceOf(Date).isRequired,isIsoWeekday:o.a.bool,onCalendarBlur:o.a.func.isRequired,onChangeMonth:o.a.func.isRequired,onRequestInternalFocusDate:o.a.func,onRequestClose:o.a.func.isRequired,onSelectDate:o.a.func.isRequired,selectedDate:o.a.instanceOf(Date),selectedDateRef:o.a.func,todayLabel:o.a.string.isRequired,onLastFocusableNodeKeyDown:o.a.func,todayRef:o.a.func,weekDayLabels:o.a.array.isRequired});var If=Pf;function Lf(e){return(Lf="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 Vf(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 Df(e){return(Df=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Rf(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Af(e,t){return(Af=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Bf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ff=function(){function o(){var e,c;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Bf(Rf(c=function(e,t){return!t||"object"!==Lf(t)&&"function"!=typeof t?Rf(e):t}(this,(e=Df(o)).call.apply(e,[this].concat(n)))),"getOptions",function(){for(var e=new Date,t=e.getFullYear()+c.props.relativeYearFrom,n=e.getFullYear()+c.props.relativeYearTo,r=[],o=t;o<n;o+=1)r.push({label:"".concat(o),value:o,id:String(r.length)});return r}),Bf(Rf(c),"getSelectedValueOption",function(){var t=c.props.initialDateForCalendarRender.getFullYear();return c.getOptions().filter(function(e){return e.value===t})}),Bf(Rf(c),"handleSelect",function(e,t){var n=t.selection[0];n&&c.props.onChangeMonth(new Date(c.props.initialDateForCalendarRender.setFullYear(parseInt(n.value,10))))}),c}return 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&&Af(e,t)}(o,k.a.Component),function(e,t,n){t&&Vf(e.prototype,t),n&&Vf(e,n)}(o,[{key:"render",value:function(){var e=this.getSelectedValueOption();return k.a.createElement("div",{className:"slds-form-element slds-align-content-center"},k.a.createElement(ih,{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"}))}}]),o}();Bf(Ff,"displayName","SLDSDatepickerYearSelector"),Bf(Ff,"propTypes",{assistiveTextYear:o.a.string.isRequired,id:o.a.string,initialDateForCalendarRender:o.a.instanceOf(Date).isRequired,onChangeMonth:o.a.func.isRequired,relativeYearFrom:o.a.number,relativeYearTo:o.a.number});var qf=Ff;function Kf(e){return(Kf="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 Wf(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 Uf(e){return(Uf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Gf(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yf(e,t){return(Yf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qf(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=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return Qf(Gf(t=function(e,t){return!t||"object"!==Kf(t)&&"function"!=typeof t?Gf(e):t}(this,(e=Uf(c)).call.apply(e,[this].concat(r)))),"getMonthLabel",function(){return t.props.monthLabels[new Date(t.props.initialDateForCalendarRender).getMonth()]}),Qf(Gf(t),"getYearLabel",function(){return new Date(t.props.initialDateForCalendarRender).getFullYear()}),Qf(Gf(t),"handleClick",function(e){e.preventDefault(),e.stopPropagation()}),Qf(Gf(t),"handleYearSelect",function(e){t.props.onChangeMonth(void 0,e)}),Qf(Gf(t),"previousMonthClicked",function(){t.props.onChangeMonth(void 0,xf.addMonths(t.props.initialDateForCalendarRender,-1))}),Qf(Gf(t),"nextMonthClicked",function(){t.props.onChangeMonth(void 0,xf.addMonths(t.props.initialDateForCalendarRender,1))}),t}return 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&&Yf(e,t)}(c,k.a.Component),function(e,t,n){t&&Wf(e.prototype,t),n&&Wf(e,n)}(c,[{key:"render",value:function(){var t=this;return k.a.createElement("div",{className:"slds-datepicker__filter slds-grid"},k.a.createElement("div",{className:"slds-datepicker__filter_month slds-grid slds-grid_align-spread slds-grow",style:{flex:1.75}},k.a.createElement("div",{className:"slds-align-middle"},k.a.createElement(Cn,{assistiveText:{icon:this.props.assistiveTextPreviousMonth},iconCategory:"utility",iconName:"left",iconVariant:"container",onKeyDown:this.props.onPreviousMonthKeyDown,onClick:this.previousMonthClicked,buttonRef:function(e){t.props.previousMonthRef(e)},variant:"icon",type:"button"})),k.a.createElement("h2",{id:"".concat(this.props.id,"-month"),className:"slds-align-middle","aria-live":"assertive","aria-atomic":!0},this.getMonthLabel()," ",k.a.createElement("span",{className:"slds-assistive-text"},this.getYearLabel())),k.a.createElement("div",{className:"slds-align-middle"},k.a.createElement(Cn,{assistiveText:{icon:this.props.assistiveTextNextMonth},iconCategory:"utility",iconName:"right",iconVariant:"container",onClick:this.nextMonthClicked,variant:"icon",type:"button"}))),k.a.createElement(qf,{assistiveTextYear:this.props.assistiveTextYear,id:this.props.id,initialDateForCalendarRender:this.props.initialDateForCalendarRender,onChangeMonth:this.handleYearSelect,relativeYearFrom:this.props.relativeYearFrom,relativeYearTo:this.props.relativeYearTo}))}}]),c}();Qf(Jf,"displayName","SLDSDatepickerMonthNavigation"),Qf(Jf,"propTypes",{assistiveTextNextMonth:o.a.string.isRequired,assistiveTextPreviousMonth:o.a.string.isRequired,assistiveTextYear:o.a.string.isRequired,id:o.a.string,initialDateForCalendarRender:o.a.instanceOf(Date).isRequired,onChangeMonth:o.a.func.isRequired,monthLabels:o.a.array.isRequired,onPreviousMonthKeyDown:o.a.func,previousMonthRef:o.a.func.isRequired,relativeYearFrom:o.a.number,relativeYearTo:o.a.number});var Xf=Jf;function $f(e){return($f="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 Zf(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}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 tm(e){return(tm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function nm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function rm(e,t){return(rm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function om(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var cm=function(){function c(){var e,r;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return om(nm(r=function(e,t){return!t||"object"!==$f(t)&&"function"!=typeof t?nm(e):t}(this,(e=tm(c)).call.apply(e,[this].concat(n)))),"state",{initialDateForCalendarRender:r.props.selectedDate,isCalendarFocused:!0}),om(nm(r),"handleCalendarBlur",function(e,t){var n=t.direction;"next"===n&&r.previousMonthRef?(r.setState({isCalendarFocused:!1}),r.props.onCalendarFocus&&r.props.onCalendarFocus(e,{direction:n,isCalendarFocused:!1,ref:r.previousMonthRef}),r.previousMonthRef.focus()):"previous"===n&&r.todayRef&&(r.setState({isCalendarFocused:!1}),r.props.onCalendarFocus&&r.props.onCalendarFocus(e,{direction:n,isCalendarFocused:!1,ref:r.todayRef}),r.todayRef.focus())}),om(nm(r),"handleFirstFocusableNodeKeyDown",function(e){e.shiftKey&&e.keyCode===wt.TAB&&(bt.trapEvent(e),r.setState({isCalendarFocused:!0}))}),om(nm(r),"handleInitialDateForCalendarRenderChange",function(e,t){r.setState({initialDateForCalendarRender:t})}),om(nm(r),"handleKeyDown",function(e){e.keyCode===wt.ESCAPE&&(bt.trapEvent(e),r.props.onRequestClose(e,{}))}),om(nm(r),"handleLastFocusableNodeKeyDown",function(e){e.shiftKey||e.keyCode!==wt.TAB||(bt.trapEvent(e),r.setState({isCalendarFocused:!0}))}),om(nm(r),"handleRequestClose",function(e){r.props.onRequestClose&&r.props.onRequestClose(e,{})}),om(nm(r),"handleRequestFocusDate",function(e,t){if(t.ref&&r.state.isCalendarFocused&&t.ref.focus(),r.props.onCalendarFocus&&t.triggerCallback){t.triggerCallback;var n=Zf(t,["triggerCallback"]);r.props.onCalendarFocus(e,n)}}),r}return 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&&rm(e,t)}(c,k.a.Component),function(e,t,n){t&&em(e.prototype,t),n&&em(e,n)}(c,[{key:"render",value:function(){var t=this;return k.a.createElement("div",{className:H()({"slds-datepicker":this.props.isolated},this.props.className),"aria-hidden":"false","data-selection":"single",onKeyDown:this.handleKeyDown},k.a.createElement(Xf,{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(e){t.previousMonthRef=e},onPreviousMonthKeyDown:this.handleFirstFocusableNodeKeyDown,relativeYearFrom:this.props.relativeYearFrom,relativeYearTo:this.props.relativeYearTo}),k.a.createElement(If,{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(e){t.todayRef=e},onLastFocusableNodeKeyDown:this.handleLastFocusableNodeKeyDown,weekDayLabels:this.props.weekDayLabels}))}}]),c}();om(cm,"defaultProps",{selectedDate:new Date,value:new Date}),om(cm,"displayName","DatepickerCalendarWrapper"),om(cm,"propTypes",{assistiveTextNextMonth:o.a.string.isRequired,assistiveTextPreviousMonth:o.a.string.isRequired,assistiveTextYear:o.a.string.isRequired,abbreviatedWeekDayLabels:o.a.array.isRequired,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),dateDisabled:o.a.func,id:o.a.string,isIsoWeekday:o.a.bool,isolated:o.a.bool,monthLabels:o.a.array.isRequired,onCalendarFocus:o.a.func,onRequestClose:o.a.func.isRequired,onSelectDate:o.a.func.isRequired,relativeYearFrom:o.a.number.isRequired,relativeYearTo:o.a.number.isRequired,selectedDate:o.a.instanceOf(Date),selectedDateRef:o.a.func,todayLabel:o.a.string.isRequired,weekDayLabels:o.a.array.isRequired});var am=cm;var sm=function(){},im=n(49);function lm(e){return(lm="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 pm(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){mm(t,e,n[e])})}return t}function um(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 dm(e){return(dm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function hm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fm(e,t){return(fm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mm(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={assistiveText:o.a.shape({nextMonth:o.a.string,openCalendar:o.a.string,previousMonth:o.a.string,year:o.a.string}),align:o.a.oneOf(["left","right"]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),disabled:o.a.bool,dateDisabled:o.a.func,formatter:o.a.func,formattedValue:o.a.string,hasStaticAlignment:o.a.bool,id:o.a.string,labels:o.a.shape({abbreviatedWeekDays:o.a.array,label:o.a.string,months:o.a.array,placeholder:o.a.string,today:o.a.string,weekDays:o.a.array}),input:o.a.node,isOpen:o.a.bool,isIsoWeekday:o.a.bool,menuPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),onCalendarFocus:o.a.func,onChange:o.a.func,onClose:o.a.func,onOpen:o.a.func,onRequestClose:o.a.func,onRequestOpen:o.a.func,parser:o.a.func,relativeYearFrom:o.a.number,relativeYearTo:o.a.number,triggerClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),value:o.a.instanceOf(Date)},gm={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 $n(!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}},bm=function(){function o(e){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),mm(hm(a=function(e,t){return!t||"object"!==lm(t)&&"function"!=typeof t?hm(e):t}(this,dm(o).call(this,e))),"getDatePicker",function(e){var t=e.labels,n=e.assistiveText,r=a.state.formattedValue?a.parseDate(a.state.formattedValue):a.state.value;return k.a.createElement(am,{abbreviatedWeekDayLabels:a.props.abbreviatedWeekDayLabels||a.props.abbrWeekDayLabels||t.abbreviatedWeekDays,assistiveTextNextMonth:a.props.assistiveTextNextMonth||n.nextMonth,assistiveTextPreviousMonth:a.props.assistiveTextPreviousMonth||n.previousMonth,assistiveTextYear:n.year,id:a.getId(),isIsoWeekday:a.props.isIsoWeekday,monthLabels:a.props.monthLabels||t.months,onCalendarFocus:a.props.onCalendarFocus,dateDisabled:a.props.dateDisabled,onRequestClose:a.handleRequestClose,onSelectDate:a.handleCalendarChange,relativeYearFrom:a.props.relativeYearFrom,relativeYearTo:a.props.relativeYearTo,selectedDate:r||new Date,selectedDateRef:function(e){a.selectedDateCell=e},todayLabel:a.props.todayLabel||t.today,weekDayLabels:a.props.weekDayLabels||t.weekDays})}),mm(hm(a),"getDialog",function(e){var t=e.labels,n=e.assistiveText,r=a.props.isInline?"relative":a.props.menuPosition,o="relative"!==a.props.menuPosition?{transform:"none"}:{};return!a.props.disabled&&a.getIsOpen()?k.a.createElement(Kt,{align:"bottom ".concat(a.props.align),contentsClassName:H()("slds-datepicker slds-dropdown",{"slds-dropdown_right":"relative"===a.props.menuPosition&&"right"===a.props.align,"slds-dropdown_left":"relative"===a.props.menuPosition&&"left"===a.props.align},a.props.className),context:a.context,hasStaticAlignment:a.props.hasStaticAlignment,style:o,onClose:a.handleClose,onOpen:a.handleOpen,onRequestTargetElement:function(){return a.inputRef},position:r,portalMount:a.props.portalMount},a.getDatePicker({labels:t,assistiveText:n})):null}),mm(hm(a),"getId",function(){return a.props.id||a.generatedId}),mm(hm(a),"getIsOpen",function(){return!!("boolean"==typeof a.props.isOpen?a.props.isOpen:a.state.isOpen)}),mm(hm(a),"getInputProps",function(e){var t=e.assistiveText,n=e.labels,r={iconRight:k.a.createElement(Js,{assistiveText:{icon:a.props.assistiveTextOpenCalendar||t.openCalendar},"aria-haspopup":!0,"aria-expanded":a.getIsOpen(),category:"utility",name:"event",onClick:a.openDialog,type:"button"}),inputRef:function(e){a.setInputRef(e)},id:a.getId(),onChange:a.handleInputChange,onClick:function(){a.openDialog()},onKeyDown:a.handleKeyDown,value:a.state.inputValue},o={disabled:a.props.disabled,label:a.props.label||n.label,onBlur:a.props.onBlur,onFocus:a.props.onFocus,placeholder:a.props.placeholder||n.placeholder,required:a.props.required},c=a.props.children&&a.props.children.props;return pm({},r,o,pm({},c,{onClick:function(){a.openDialog(),c&&c.onClick&&c.onClick()}}),a.props.input&&a.props.input.props)}),mm(hm(a),"setInputRef",function(e){a.inputRef=e,a.state.inputRendered||a.setState({inputRendered:!0})}),mm(hm(a),"handleCalendarChange",function(e,t){var n=t.date;a.setState({value:n,formattedValue:a.props.formatter(n),inputValue:a.props.formatter(n)}),a.handleRequestClose(),a.props.onChange&&a.props.onChange(e,{date:n,formattedDate:a.props.formatter(n),timezoneOffset:n.getTimezoneOffset()}),a.props.onDateChange&&a.props.onDateChange(n,a.props.formatter(n))}),mm(hm(a),"handleClickOutside",function(){a.handleRequestClose()}),mm(hm(a),"handleClose",function(){a.props.onClose&&a.props.onClose()}),mm(hm(a),"handleInputChange",function(e){a.setState({formattedValue:e.target.value,inputValue:e.target.value});var t=a.props.parser(e.target.value);a.props.onChange&&a.props.onChange(e,{date:t,formattedDate:e.target.value,timezoneOffset:t.getTimezoneOffset()})}),mm(hm(a),"handleKeyDown",function(e){!e.keyCode||e.shiftKey||e.keyCode!==wt.DOWN&&e.keyCode!==wt.UP||(bt.trapEvent(e),a.setState({isOpen:!0})),a.props.onKeyDown&&a.props.onKeyDown(e,{})}),mm(hm(a),"handleOpen",function(e,t){var n=t.portal;a.props.onOpen&&a.props.onOpen(e,{portal:n}),a.selectedDateCell&&a.selectedDateCell.focus()}),mm(hm(a),"handleRequestClose",function(){a.props.onRequestClose&&a.props.onRequestClose(),a.getIsOpen()&&(a.setState({isOpen:!1}),a.inputRef&&a.inputRef.focus())}),mm(hm(a),"openDialog",function(){a.props.onRequestOpen?a.props.onRequestOpen():a.setState({isOpen:!0})}),mm(hm(a),"parseDate",function(e){var t=a.props.parser(e);return"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(t.getTime())||(t=new Date),t});var t=e.formattedValue||e.strValue,n=e.formatter(e.value),r=e.value?n:t;return a.state={isOpen:!1,value:e.value,formattedValue:r||"",inputValue:r||""},a.generatedId=f.a.generate(),sm(j,e,im),a}return 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)}(o,k.a.Component),function(e,t,n){t&&um(e.prototype,t),n&&um(e,n)}(o,[{key:"componentWillReceiveProps",value:function(e){e.value&&this.props.value&&this.props.value.getTime()!==e.value.getTime()&&this.setState({value:e.value,formattedValue:this.props.formatter(e.value),inputValue:this.props.formatter(e.value)})}},{key:"render",value:function(){var e=Nn()({},gm.labels,this.props.labels),t=Nn()({},gm.assistiveText,this.props.assistiveText),n=this.getInputProps({assistiveText:t,labels:e}),r=this.props.children?k.a.cloneElement(this.props.children,pm({},n)):k.a.createElement(Li,n);return k.a.createElement("div",{className:H()("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}))}}]),o}();bm.contextTypes={iconPath:o.a.string},bm.displayName=j,bm.propTypes=vm,bm.defaultProps=gm;var ym=gc(bm);function wm(e){return(wm="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 _m(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function xm(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 zm(e,t){return!t||"object"!==wm(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Om(e){return(Om=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Sm(e,t){return(Sm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Cm={assistiveText:o.a.shape({label:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),isPaused:o.a.bool,isStatic:o.a.bool,scorePolarity:o.a.oneOf(["positive","negative"]),strengthLevel:o.a.oneOf(["-3","-2","-1","0","1","2","3",-3,-2,-1,0,1,2,3]),title:o.a.string.isRequired,trendDirection:o.a.oneOf(["down","up","neutral"]),variant:o.a.oneOf(["ellie","eq","score","strength","trend","typing","waffle"]).isRequired},Em=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),zm(this,Om(e).apply(this,arguments))}return 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&&Sm(e,t)}(e,k.a.Component),function(e,t,n){t&&xm(e.prototype,t),n&&xm(e,n)}(e,[{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=[k.a.createElement("svg",{viewBox:"0 0 280 14","aria-hidden":"true"},k.a.createElement("circle",{cx:"7",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"7",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"21",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"21",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"35",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"35",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"49",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"49",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"63",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"63",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"77",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"77",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"91",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"91",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"105",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"105",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"119",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"119",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"133",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"133",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"147",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"147",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"161",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"161",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"175",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"175",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"189",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"189",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"203",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"203",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"217",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"217",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"231",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"231",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"245",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"245",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"259",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"259",cy:"7",r:"3"}),k.a.createElement("circle",{cx:"273",cy:"7",r:"4"}),k.a.createElement("circle",{cx:"273",cy:"7",r:"3"}))]:"eq"===this.props.variant?e=[k.a.createElement("div",{className:"slds-icon-eq__bar"}),k.a.createElement("div",{className:"slds-icon-eq__bar"}),k.a.createElement("div",{className:"slds-icon-eq__bar"})]:"score"===this.props.variant?e=[k.a.createElement("svg",{viewBox:"0 0 5 5",className:"slds-icon-score__positive","aria-hidden":"true"},k.a.createElement("circle",{cx:"50%",cy:"50%",r:"1.875"})),k.a.createElement("svg",{viewBox:"0 0 5 5",className:"slds-icon-score__negative","aria-hidden":"true"},k.a.createElement("circle",{cx:"50%",cy:"50%",r:"1.875"}))]:"strength"===this.props.variant?e=[k.a.createElement("svg",{viewBox:"0 0 27 7","aria-hidden":"true"},k.a.createElement("circle",{r:"3.025",cx:"3.5",cy:"3.5"}),k.a.createElement("circle",{r:"3.025",cx:"13.5",cy:"3.5"}),k.a.createElement("circle",{r:"3.025",cx:"23.5",cy:"3.5"}))]:"trend"===this.props.variant?e=[k.a.createElement("svg",{viewBox:"0 0 16 16","aria-hidden":"true"},k.a.createElement("path",{className:"slds-icon-trend__arrow",d:"M.75 8H11M8 4.5L11.5 8 8 11.5"}),k.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=[k.a.createElement("span",{className:"slds-icon-typing__dot"}),k.a.createElement("span",{className:"slds-icon-typing__dot"}),k.a.createElement("span",{className:"slds-icon-typing__dot"})],this.props.title||(t="User is typing")):"waffle"===this.props.variant&&(e=[k.a.createElement("span",{className:"slds-icon-waffle"},k.a.createElement("span",{className:"slds-r1"}),k.a.createElement("span",{className:"slds-r2"}),k.a.createElement("span",{className:"slds-r3"}),k.a.createElement("span",{className:"slds-r4"}),k.a.createElement("span",{className:"slds-r5"}),k.a.createElement("span",{className:"slds-r6"}),k.a.createElement("span",{className:"slds-r7"}),k.a.createElement("span",{className:"slds-r8"}),k.a.createElement("span",{className:"slds-r9"}))],this.props.title||(t="Open App Launcher")),e.push(k.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=Gt(t,this.props.className),k.a.createElement.apply(k.a,[r,n].concat(_m(e)))}}]),e}();Em.displayName="SLDSDynamicIcon",Em.propTypes=Cm;var Mm=Em;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(){return(Nm=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 km(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Hm(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 jm(e){return(jm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Pm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Im(e,t){return(Im=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 Vm={labels:{cancel:"Cancel",save:"Save"}},Dm=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return Lm(Pm(t=function(e,t){return!t||"object"!==Tm(t)&&"function"!=typeof t?Pm(e):t}(this,(e=jm(c)).call.apply(e,[this].concat(r)))),"handleOpen",function(){t.setState({isOpen:!0})}),Lm(Pm(t),"handleClose",function(){t.setState({isOpen:!1})}),t}return 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&&Im(e,t)}(c,k.a.Component),function(e,t,n){t&&Hm(e.prototype,t),n&&Hm(e,n)}(c,[{key:"render",value:function(){var e=this.props,t=e.onCancel,n=e.onSave,r=km(e,["onCancel","onSave"]),o=this.props.children?this.props.children:k.a.createElement(Cn,{assistiveText:{icon:"Edit: Status"},className:"slds-button_reset",iconCategory:"utility",iconClassName:"slds-button__icon slds-button__icon_hint",iconName:"edit",onClick:this.props.handleOpen,variant:"icon",style:{verticalAlign:"middle"}}),c=Nn()({},Vm.labels,this.props.labels);return k.a.createElement(Wu,Nm({classNameFooter:["slds-p-top_xxx-small","slds-p-bottom_xx-small","slds-p-right_large"],classNameBody:["slds-p-bottom_xx-small"],footer:k.a.createElement("div",{className:"slds-text-align_right slds-text-align_right slds-p-bottom_x-small slds-p-right_xx-small"},k.a.createElement(Cn,{label:c.cancel,onClick:t}),k.a.createElement(Cn,{disabled:!this.props.isModified,variant:"brand",label:c.save,onClick:n})),footerStyle:{borderTop:"0px"},onClose:this.handleClose,onRequestClose:this.handleClose,onOpen:this.handleOpen},r),o)}}]),c}();Lm(Dm,"displayName","SLDSPopoverEditDialog"),Lm(Dm,"propTypes",{id:o.a.string,isModified:o.a.bool,labels:o.a.shape({cancel:o.a.oneOfType([o.a.string,o.a.node]),save:o.a.oneOfType([o.a.string,o.a.node])}),onCancel:o.a.func,onSave:o.a.func,popover:o.a.node}),Dm.defaultProps=Vm;var Rm=Dm;function Am(e){return(Am="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 Bm(e,t){return!t||"object"!==Am(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Fm(e){return(Fm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qm(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 Km(e,t,n){return t&&qm(e.prototype,t),n&&qm(e,n),e}function Wm(e,t){return(Wm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Um={assistiveText:o.a.shape({label:o.a.string,addCondition:o.a.string,addGroup:o.a.string}),id:o.a.string,children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onChangeTrigger:o.a.func,onChangeCustomLogicValue:o.a.func,onAddCondition:o.a.func,onAddGroup:o.a.func}),focusOnMount:o.a.bool,labels:o.a.shape({addCondition:o.a.string,addGroup:o.a.string,customLogic:o.a.string,label:o.a.string,takeAction:o.a.string,triggerAll:o.a.string,triggerAlways:o.a.string,triggerAny:o.a.string,triggerCustom:o.a.string,triggerFormula:o.a.string}),isRoot:o.a.bool,triggerType:o.a.oneOf(["all","any","custom","always","formula"]),customLogicValue:o.a.string},Gm={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"}},Ym=function(){function a(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(t=Bm(this,Fm(a).call(this,e))).generatedId=f.a.generate(),t}return 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&&Wm(e,t)}(a,k.a.Component),Km(a,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}}]),Km(a,[{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=Nn()({},Gm.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 n=this,e=Nn()({},Gm.assistiveText,this.props.assistiveText),t=Nn()({},Gm.labels,this.props.labels),r=k.a.createElement(lh,{events:{onSelect:function(e,t){return n.props.events.onChangeTrigger(e,{triggerType:a.triggerChange(e,t)})}},id:"".concat(this.getId(),"-take-action-trigger"),multiple:!1,options:this.getTriggers(),variant:"readonly",labels:{label:t.takeAction},selection:this.getTriggerSelection()}),o="always"!==this.props.triggerType&&"formula"!==this.props.triggerType?k.a.createElement("div",{className:"slds-expression__buttons"},k.a.createElement(Cn,{iconCategory:"utility",iconName:"add",iconPosition:"left",id:"".concat(this.getId(),"-add-condition-button"),label:t.addCondition,assistiveText:{icon:e.addCondition},onClick:this.props.events.onAddCondition}),this.props.isRoot?k.a.createElement(Cn,{iconCategory:"utility",iconName:"add",iconPosition:"left",id:"".concat(this.getId(),"-add-group-button"),label:t.addGroup,assistiveText:{icon:e.addGroup},onClick:this.props.events.onAddGroup}):null):null,c=null;return"always"!==this.props.triggerType&&(c=this.props.isRoot&&"formula"===this.props.triggerType?this.props.children:k.a.createElement(k.a.Fragment,null,"custom"===this.props.triggerType?k.a.createElement(Li,{label:t.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,k.a.createElement("ul",null,this.props.children))),this.props.isRoot?"formula"===this.props.triggerType?k.a.createElement(k.a.Fragment,null,k.a.createElement("div",{className:"slds-expression__options"},r),c):k.a.createElement("div",{className:H()(this.props.className),id:this.getId()},k.a.createElement("div",{className:"slds-expression__options"},r),c,o):k.a.createElement("li",{className:H()("slds-expression__group",this.props.className),id:this.getId(),ref:function(e){n.rootNode=e}},k.a.createElement("fieldset",null,k.a.createElement("legend",{className:"slds-expression__legend slds-expression__legend_group"},k.a.createElement("span",null,t.label),k.a.createElement("span",{className:"slds-assistive-text"},e.label)),k.a.createElement("div",{className:"slds-expression__options"},r),c,o))}}]),a}();Ym.displayName="SLDSExpressionGroup",Ym.propTypes=Um,Ym.defaultProps=Gm;var Qm=Ym;function Jm(e){return(Jm="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 Xm(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 $m(e,t){return!t||"object"!==Jm(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Zm(e){return(Zm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ev(e,t){return(ev=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var tv={id:o.a.string,children:o.a.node,events:o.a.shape({onChangeTrigger:o.a.func,onAddGroup:o.a.func,onAddCondition:o.a.func,onChangeCustomLogicValue:o.a.func}),labels:o.a.shape({addCondition:o.a.string,addGroup:o.a.string,customLogic:o.a.string,takeAction:o.a.string,title:o.a.string,triggerAll:o.a.string,triggerAlways:o.a.string,triggerAny:o.a.string,triggerCustom:o.a.string,triggerFormula:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),triggerType:o.a.oneOf(["all","any","custom","always","formula"]),customLogicValue:o.a.string},nv={labels:{title:"Conditions"}},rv=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),$m(this,Zm(e).apply(this,arguments))}return 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&&ev(e,t)}(e,k.a.Component),function(e,t,n){t&&Xm(e.prototype,t),n&&Xm(e,n)}(e,[{key:"componentWillMount",value:function(){this.generatedId=f.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=Nn()({},nv.labels,this.props.labels);return k.a.createElement("div",{className:H()("slds-expression",this.props.className),id:this.getId()},k.a.createElement("h2",{className:"slds-expression__title"},e.title),k.a.createElement(Qm,{isRoot:!0,id:"".concat(this.getId(),"-group"),events:this.props.events,labels:e,customLogicValue:this.props.customLogicValue,triggerType:this.props.triggerType},this.props.children))}}]),e}();rv.displayName="SLDSExpression",rv.propTypes=tv,rv.defaultProps=nv;var ov=rv;function cv(e){return(cv="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 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 sv(e,t){return!t||"object"!==cv(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function iv(e){return(iv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function lv(e,t){return(lv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var pv={assistiveText:o.a.shape({title:o.a.string,deleteIcon:o.a.string}),id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onChangeResource:o.a.func,onChangeOperator:o.a.func,onChangeValue:o.a.func,onDelete:o.a.func}).isRequired,focusOnMount:o.a.bool,labels:o.a.shape({deleteCondition:o.a.string,label:o.a.string,operator:o.a.string,resource:o.a.string,value:o.a.string}),isSubCondition:o.a.bool,resourcesList:o.a.arrayOf(o.a.object),resourceSelected:o.a.object,operatorsList:o.a.arrayOf(o.a.object),operatorSelected:o.a.object,value:o.a.string},uv={assistiveText:{title:"Condition",deleteIcon:"Delete Condition"},labels:{label:"",operator:"Operator",resource:"Resource",value:"Value",deleteCondition:"Delete Condition"},value:""},dv=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=sv(this,iv(n).call(this,e))).generatedId=f.a.generate(),t}return 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&&lv(e,t)}(n,k.a.Component),function(e,t,n){t&&av(e.prototype,t),n&&av(e,n)}(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 t=this,e=Nn()({},uv.assistiveText,this.props.assistiveText),n=Nn()({},uv.labels,this.props.labels);return k.a.createElement("li",{className:H()("slds-expression__row",{"slds-expression__row_group":this.props.isSubCondition},this.props.className),id:this.getId(),ref:function(e){t.rootNode=e}},k.a.createElement("fieldset",null,k.a.createElement("legend",{className:"slds-expression__legend"},k.a.createElement("span",null,n.label),k.a.createElement("span",{className:"slds-assistive-text"},e.title)),k.a.createElement("div",{className:"slds-grid slds-gutters_xx-small"},k.a.createElement("div",{className:"slds-col"},k.a.createElement(lh,{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]})),k.a.createElement("div",{className:"slds-col slds-grow-none"},k.a.createElement(lh,{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})),k.a.createElement("div",{className:"slds-col"},k.a.createElement(Li,{id:"".concat(this.getId(),"-input"),label:n.value,value:this.props.value,onChange:this.props.events.onChangeValue,disabled:!this.props.resourceSelected})),k.a.createElement("div",{className:"slds-col slds-grow-none"},k.a.createElement("div",{className:"slds-form-element"},k.a.createElement("span",{className:"slds-form-element__label"}," "),k.a.createElement("div",{className:"slds-form-element__control"},k.a.createElement(Cn,{id:"".concat(this.getId(),"-delete-button"),variant:"outline-brand",iconCategory:"utility",iconName:"delete",iconVariant:"border-filled",onClick:this.props.events.onDelete,assistiveText:{icon:e.deleteIcon},title:n.deleteCondition})))))))}}]),n}();dv.displayName="SLDSExpressionCondition",dv.propTypes=pv,dv.defaultProps=uv;var hv=dv,fv=n(50),mv=n.n(fv);function vv(e){return(vv="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 gv(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 bv(e){return(bv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function yv(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function wv(e,t){return(wv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var _v={assistiveText:o.a.shape({help:o.a.string}),id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onChangeTextEditor:o.a.func,onClickHelp:o.a.func,onClickCheckSyntax:o.a.func}),labels:o.a.shape({label:o.a.string,checkSyntax:o.a.string,textArea:o.a.string}),resourceCombobox:o.a.node,functionCombobox:o.a.node,operatorInput:o.a.node,textEditorValue:o.a.node},xv={assistiveText:{help:"Help"},labels:{label:"Formula",checkSyntax:"Check Syntax",textArea:"Text Area"}},zv=function(){function e(){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(yv(n=function(e,t){return!t||"object"!==vv(t)&&"function"!=typeof t?yv(e):t}(this,bv(e).call(this))),"handleTextEditorChange",function(e){var t=e.target.value;void 0===n.props.textEditorValue&&n.setState({textEditorValue:t}),n.props.events&&n.props.events.onChangeTextEditor&&n.props.events.onChangeTextEditor(e,{textEditorValue:t})}),n.textEditorRef=k.a.createRef(),n.state={textEditorValue:"Compose formula..."},n.generatedId=f.a.generate(),n}return 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&&wv(e,t)}(e,k.a.Component),function(e,t,n){t&&gv(e.prototype,t),n&&gv(e,n)}(e,[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=Nn()({},xv.assistiveText,this.props.assistiveText),t=Nn()({},xv.labels,this.props.labels);return k.a.createElement(k.a.Fragment,null,k.a.createElement("div",{id:this.getId(),className:H()("slds-expression_formula__rte",this.props.className)},k.a.createElement("div",{className:"slds-form-element"},k.a.createElement("span",{className:"slds-form-element__label"},t.label),k.a.createElement("div",{className:"slds-form-element__control"},k.a.createElement("div",{className:"slds-rich-text-editor slds-grid slds-grid_vertical slds-nowrap"},k.a.createElement("div",{role:"toolbar",className:"slds-rich-text-editor__toolbar slds-shrink-none"},k.a.createElement("div",{className:"slds-rich-text-editor__col slds-rich-text-editor__col_grow"},this.props.resourceCombobox),k.a.createElement("div",{className:"slds-rich-text-editor__col slds-rich-text-editor__col_grow"},this.props.functionCombobox),k.a.createElement("div",{className:"slds-rich-text-editor__col slds-rich-text-editor__col_grow"},this.props.operatorInput),k.a.createElement("div",{className:"slds-rich-text-editor__col"},k.a.createElement(Cn,{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}))),k.a.createElement("div",{className:"slds-rich-text-editor__textarea slds-grid"},k.a.createElement(mv.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})))))),k.a.createElement("div",{className:"slds-m-top_small"},k.a.createElement(Cn,{id:"".concat(this.getId(),"-check-syntax-button"),variant:"neutral",label:t.checkSyntax,onClick:this.props.events.onClickCheckSyntax})))}}]),e}();zv.displayName="SLDSExpressionFormula",zv.propTypes=_v,zv.defaultProps=xv;function Ov(e){return e.isLoading?k.a.createElement(k.a.Fragment,null,k.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.link),k.a.createElement(ri,{size:"medium",variant:"base",assistiveText:{label:e.assistiveText.loading},containerStyle:{zIndex:"1"}})):e.image?k.a.createElement(k.a.Fragment,null,k.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.link),k.a.createElement("img",{alt:e.assistiveText.image||e.labels.title,src:e.image})):k.a.createElement(k.a.Fragment,null,k.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.link),k.a.createElement("span",{className:"slds-file__icon slds-icon_container",title:e.labels.title},k.a.cloneElement(e.icon,{size:null})))}var Sv=zv;Ov.displayName="SLDSFilesFigure",Ov.propTypes={assistiveText:o.a.shape({image:o.a.string}),isLoading:o.a.bool,image:o.a.string,labels:o.a.shape({title:o.a.string.isRequired})},Ov.defaultProps={isLoading:!1};function Cv(e){var t=k.a.createElement("div",{className:"slds-file__actions-menu"},k.a.createElement("div",{className:"slds-button-group",role:"group"},"function"==typeof e.onClickDownload?k.a.createElement(Cn,{type:"button",variant:"icon",iconSize:"x-small",onClick:e.onClickDownload,title:"Download",className:"slds-button_icon-inverse"},k.a.createElement(en,{assistiveText:{label:e.assistiveText.download},category:"utility",name:"download",size:"xx-small",inverse:e.hasNoVisibleTitle})):null,e.moreActionsDropdown?k.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?k.a.createElement("div",{className:"slds-file__title slds-file__title_scrim"},t):t:null}var Ev=Ov;Cv.displayName="SLDSFilesActions",Cv.propTypes={onClickDownload:o.a.func,moreActionsDropdown:o.a.node,hasNoVisibleTitle:o.a.bool};var Mv=Cv;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(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kv(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 Hv(e,t){return!t||"object"!==Tv(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function jv(e){return(jv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Pv(e,t){return(Pv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Iv={assistiveText:o.a.shape({download:o.a.string,image:o.a.string,link:o.a.string,loading:o.a.string,moreActions:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),crop:o.a.oneOf(["16-by-9","4-by-3","1-by-1"]),id:o.a.string,onClickDownload:o.a.func,onClickImage:o.a.func,moreActionsDropdown:o.a.node,icon:o.a.node,externalIcon:o.a.node,image:o.a.string,isLoading:o.a.bool,href:o.a.string,labels:o.a.shape({title:o.a.string.isRequired}),hasNoVisibleTitle:o.a.bool},Lv={assistiveText:{download:"download",link:"Preview:",loading:"loading",moreActions:"more actions"},crop:"16-by-9",href:"javascript:void(0);",isLoading:!1,hasNoVisibleTitle:!1},Vv=function(){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Hv(this,jv(t).apply(this,arguments))}return 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&&Pv(e,t)}(t,k.a.Component),function(e,t,n){t&&kv(e.prototype,t),n&&kv(e,n)}(t,[{key:"componentWillMount",value:function(){this.generatedId=f.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Nv(t,e,n[e])})}return t}({},Lv.assistiveText,this.props.assistiveText);return k.a.createElement("div",{id:this.getId(),className:H()("slds-file","slds-file_card",this.props.hasNoVisibleTitle?null:"slds-has-title",this.props.className)},k.a.createElement("figure",null,k.a.createElement("a",{href:this.props.href,className:H()("slds-file__crop",this.props.crop?"slds-file__crop_".concat(this.props.crop):null),onClick:this.props.onClickImage},k.a.createElement(Ev,{assistiveText:e,labels:{title:this.props.labels.title},isLoading:this.props.isLoading,image:this.props.image,icon:this.props.icon})),this.props.hasNoVisibleTitle?null:k.a.createElement("figcaption",{className:"slds-file__title slds-file__title_card"},k.a.createElement("div",{className:"slds-media__figure slds-line-height_reset"},this.props.icon?k.a.cloneElement(this.props.icon,{size:"x-small"}):null),k.a.createElement("div",{className:"slds-media__body"},k.a.createElement("span",{className:"slds-file__text slds-truncate",title:this.props.labels.title},this.props.labels.title)))),this.props.externalIcon?k.a.createElement("div",{className:"slds-file__external-icon"},k.a.cloneElement(this.props.externalIcon,{containerClassName:"slds-file__icon slds-icon_container"})):null,this.props.moreActionsDropdown?t.injectMoreActionsStyles():null,k.a.createElement(Mv,{assistiveText:e,hasNoVisibleTitle:this.props.hasNoVisibleTitle,onClickDownload:this.props.onClickDownload,moreActionsDropdown:this.props.moreActionsDropdown}))}}],[{key:"injectMoreActionsStyles",value:function(){return k.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")}}]),t}();Vv.displayName="SLDSFilesFile",Vv.propTypes=Iv,Vv.defaultProps=Lv;var Dv=Vv;function Rv(e){return(Rv="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 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 Bv(e,t){return!t||"object"!==Rv(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Fv(e){return(Fv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qv(e,t){return(qv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Kv={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,crop:o.a.oneOf(["16-by-9","4-by-3","1-by-1"]),columnClassName:o.a.string},Wv=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Bv(this,Fv(e).apply(this,arguments))}return 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&&qv(e,t)}(e,k.a.Component),function(e,t,n){t&&Av(e.prototype,t),n&&Av(e,n)}(e,[{key:"componentWillMount",value:function(){this.generatedId=f.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var t=this,e=k.a.Children.map(this.props.children,function(e){return k.a.createElement("li",{className:H()("slds-p-horizontal_xx-small slds-size_1-of-3 slds-medium-size_1-of-4",t.props.columnClassName)},k.a.cloneElement(e,{crop:e.props.crop?e.props.crop:t.props.crop}))});return k.a.createElement("ul",{className:H()("slds-grid slds-grid_pull-padded",this.props.className),id:this.getId()},e)}}]),e}();Wv.displayName="SLDSFiles",Wv.propTypes=Kv,Wv.defaultProps={crop:"4-by-3"};var Uv=Wv;function Gv(e){return(Gv="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 Yv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Qv(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 Jv(e,t){return!t||"object"!==Gv(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Xv(e){return(Xv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $v(e,t){return($v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Zv={assistiveText:o.a.shape({count:o.a.string,image:o.a.string,link:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,crop:o.a.oneOf(["16-by-9","4-by-3","1-by-1"]),image:o.a.string,count:o.a.string,href:o.a.string},eg={assistiveText:{count:"more files",image:"Show more files",link:"Preview:"},crop:"16-by-9",href:"javascript:void(0);"},tg=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Jv(this,Xv(e).apply(this,arguments))}return 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&&$v(e,t)}(e,k.a.Component),function(e,t,n){t&&Qv(e.prototype,t),n&&Qv(e,n)}(e,[{key:"componentWillMount",value:function(){this.generatedId=f.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Yv(t,e,n[e])})}return t}({},eg.assistiveText,this.props.assistiveText);return k.a.createElement("div",{className:H()("slds-file slds-file_card",this.props.className),id:this.getId()},k.a.createElement("figure",null,k.a.createElement("a",{href:this.props.href,className:H()("slds-file__crop",this.props.crop?"slds-file__crop_".concat(this.props.crop):null)},k.a.createElement("div",{className:"slds-file_overlay"}),k.a.createElement("span",{className:"slds-assistive-text"},e.link),k.a.createElement("img",{src:this.props.image,alt:e.image})),k.a.createElement("figcaption",{className:"slds-file__title slds-file__title_overlay slds-align_absolute-center slds-text-heading_large"},k.a.createElement("div",{className:"slds-media slds-media_small slds-media_center"},k.a.createElement("div",{className:"slds-media__figure slds-line-height_reset"}),k.a.createElement("div",{className:"slds-media__body"},k.a.createElement("span",{className:"slds-file__text slds-truncate",title:this.props.count},k.a.createElement("span",null,this.props.count),k.a.createElement("span",{className:"slds-assistive-text"},e.count)))))))}}]),e}();tg.displayName="SLDSFilesMore",tg.propTypes=Zv,tg.defaultProps=eg;var ng=tg;function rg(e){return(rg="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 og(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 cg(e){return(cg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ag(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function sg(e,t){return(sg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ig(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var lg=function(){function t(e){var c;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),ig(ag(c=function(e,t){return!t||"object"!==rg(t)&&"function"!=typeof t?ag(e):t}(this,cg(t).call(this,e))),"state",{popoverIsOpen:!!c.props.popover&&c.props.popover.props.isOpen}),ig(ag(c),"getId",function(){return c.props.id||c.generatedId}),ig(ag(c),"getCustomPopoverProps",function(e){var t=e.assistiveText,n=k.a.createElement("div",null,k.a.createElement("h4",{className:"slds-assistive-text",id:"".concat(c.getId(),"-popover-heading")},t.editFilterHeading),c.props.children,k.a.createElement("div",{className:"slds-m-top_small slds-text-align_right"},k.a.createElement(Cn,{className:"slds-col_bump-left",label:"Done",onClick:c.handleChange}))),r={ariaLabelledby:"".concat(c.getId(),"-popover-heading"),align:c.props.align,body:n,heading:"",id:c.getId(),isOpen:c.state.popoverIsOpen,offset:"right"===c.props.align?"0px -35px":void 0,onClose:c.handleClose,onRequestClose:c.handleClose,position:"overflowBoundaryElement",triggerClassName:"slds-grow"},o=Nn()(r,c.props.popover?c.props.popover.props:{});return delete o.children,o}),ig(ag(c),"handleFilterClick",function(){c.setState({popoverIsOpen:!0}),c.props.onClick&&c.props.onClick()}),ig(ag(c),"handleClose",function(){c.setState({popoverIsOpen:!1})}),ig(ag(c),"handleChange",function(e){c.setState({popoverIsOpen:!1}),c.props.onChange&&c.props.onChange(e,{id:c.getId()})}),ig(ag(c),"handleRemove",function(e){c.props.onRemove&&c.props.onRemove(e,{id:c.getId()})}),c.generatedId=f.a.generate(),c}return 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)}(t,k.a.Component),function(e,t,n){t&&og(e.prototype,t),n&&og(e,n)}(t,[{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 k.a.createElement("div",{className:H()("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?k.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"},k.a.createElement("p",{className:"slds-text-body_small"},this.props.property),k.a.createElement("p",null,this.props.predicate)):k.a.createElement(Uu,t,k.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"},k.a.createElement("span",{className:"slds-assistive-text"},e.editFilter),this.props.property?k.a.createElement("p",{className:"slds-text-body_small"},this.props.property):null,k.a.createElement("p",null,this.props.predicate))),this.props.isPermanent||this.props.isLocked?null:k.a.createElement(Cn,{assistiveText:{icon:e.removeFilter},hint:!0,iconCategory:"utility",iconName:"close",iconSize:"small",iconVariant:"bare",onClick:this.handleRemove,title:e.removeFilter,variant:"icon"}))}}]),t}();ig(lg,"displayName","SLDSFilter"),ig(lg,"propTypes",{align:o.a.oneOf(["left","right"]),assistiveText:o.a.shape({editFilter:o.a.string,editFilterHeading:o.a.string,removeFilter:o.a.string}),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),isError:o.a.bool,id:o.a.string,isLocked:o.a.bool,isNew:o.a.bool,isPermanent:o.a.bool,onChange:o.a.func,onRemove:o.a.func,onClick:o.a.func,popover:o.a.node,predicate:o.a.node,property:o.a.node}),ig(lg,"defaultProps",{align:"left",assistiveText:{editFilter:"Edit filter:",editFilterHeading:"Choose filter criteria"},predicate:"New Filter"});var pg=lg;var ug=function(){},dg=n(51);function hg(e){return(hg="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 fg(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){return(mg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function vg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function gg(e,t){return(gg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function bg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var yg={assistiveText:{skipToNav:"Skip to Navigation",skipToContent:"Skip to Main Content"},logoSrc:"/assets/images/logo-noname.svg"},wg=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),bg(vg(t=function(e,t){return!t||"object"!==hg(t)&&"function"!=typeof t?vg(e):t}(this,mg(n).call(this,e))),"handleSkipToContent",function(e){bt.trap(e),t.props.onSkipToContent(e)}),bg(vg(t),"handleSkipToNav",function(e){bt.trap(e),t.props.onSkipToNav(e)}),ug(D,e,dg),t}return 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&&gg(e,t)}(n,k.a.Component),function(e,t,n){t&&fg(e.prototype,t),n&&fg(e,n)}(n,[{key:"render",value:function(){var e,t,n=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){bg(t,e,n[e])})}return t}({},yg.assistiveText,this.props.assistiveText),r=(bg(e={},R,[]),bg(e,A,[]),bg(e,B,[]),bg(e,F,[]),bg(e,K,[]),bg(e,W,[]),bg(e,U,[]),e);return k.a.Children.forEach(this.props.children,function(e){e&&(e.type.displayName===q?t=e:r[e.type.displayName]&&r[e.type.displayName].push(e))}),r=[].concat(r[R],r[W],r[A],r[K],r[B],r[U],r[F]),k.a.createElement("header",{className:"slds-global-header_container"},this.props.onSkipToNav?k.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?k.a.createElement("a",{href:"javascript:void(0);",className:"slds-assistive-text slds-assistive-text_focus",onClick:this.handleSkipToContent},this.props.skipToContentAssistiveText||n.skipToContent):null,k.a.createElement("div",{className:"slds-global-header slds-grid slds-grid_align-spread"},k.a.createElement("div",{className:"slds-global-header__item"},k.a.createElement("div",{className:"slds-global-header__logo",style:{backgroundImage:"url(".concat(this.props.logoSrc,")")}})),t,k.a.createElement("div",{className:"slds-global-header__item"},k.a.createElement("ul",{className:"slds-global-actions"},r.map(function(e,t){return k.a.createElement("li",{className:"slds-global-actions__item",key:"actions-item-".concat(t)},e)})))),this.props.navigation)}}]),n}();bg(wg,"displayName",D),bg(wg,"propTypes",{assistiveText:o.a.shape({skipToNav:o.a.string,skipToContent:o.a.string}),children:o.a.node,logoSrc:o.a.string,navigation:o.a.node,onSkipToContent:o.a.func,onSkipToNav:o.a.func}),bg(wg,"defaultProps",yg);var _g=wg;function xg(){return(xg=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 zg(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Og(e){ug("SLDSGlobalHeaderButton",e);var t=e.buttonVariant,n=zg(e,["buttonVariant"]),r=k.a.createElement(Cn,xg({iconVariant:"global-header",variant:"icon"},n));return"dropdown"===t?r:k.a.createElement("li",null,r)}Og.displayName=U;var Sg=Og;function Cg(e){return(Cg="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 Eg(){return(Eg=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 Mg(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Tg(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 Ng(e){return(Ng=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function kg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Hg(e,t){return(Hg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function jg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Pg=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return jg(kg(t=function(e,t){return!t||"object"!==Cg(t)&&"function"!=typeof t?kg(e):t}(this,(e=Ng(c)).call.apply(e,[this].concat(r)))),"renderAvatar",function(){var e=t.props.avatar;return"string"==typeof e?k.a.createElement("span",{className:"slds-avatar slds-avatar_circle slds-avatar_medium"},k.a.createElement("img",{src:e,alt:""})):e||null}),t}return 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&&Hg(e,t)}(c,k.a.Component),function(e,t,n){t&&Tg(e.prototype,t),n&&Tg(e,n)}(c,[{key:"render",value:function(){var e=this.props,t=e.className,n=e.id,r=e.isOpen,o=e.globalAction,c=e.menu,a=e.onBlur,s=e.onClick,i=e.onFocus,l=e.onKeyDown,p=e.onMouseDown,u=e.onMouseEnter,d=e.onMouseLeave,h=e.triggerRef,f=Mg(e,["className","id","isOpen","globalAction","menu","onBlur","onClick","onFocus","onKeyDown","onMouseDown","onMouseEnter","onMouseLeave","triggerRef"]);return k.a.createElement("li",{"aria-haspopup":"true",className:H()("slds-dropdown-trigger slds-dropdown-trigger_click",{"slds-is-open":r,"slds-p-around_xx-small":o},t),id:n,onBlur:a,onClick:s,onFocus:i,onKeyDown:l,onMouseDown:p,onMouseEnter:u,onMouseLeave:d,ref:h},k.a.createElement(Sg,Eg({className:H()({"slds-global-header__button_icon-actions":o}),iconClassName:H()({"slds-global-header__icon-actions":o}),"aria-haspopup":"true",buttonVariant:"dropdown"},f),this.renderAvatar()),c)}}]),c}();jg(Pg,"displayName",$),jg(Pg,"propTypes",{avatar:o.a.oneOfType([o.a.string,o.a.node]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isOpen:o.a.bool,globalAction:o.a.bool,menu:o.a.node,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onMouseDown:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,openOn:o.a.oneOf(["hover","click","hybrid"]),positioned:o.a.bool,triggerRef:o.a.func});var Ig=Pg;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 Vg(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Dg(e){ug("SLDSGlobalHeaderDropdown",e);var t,n=e.globalAction,r=e.iconVariant,o=Vg(e,["globalAction","iconVariant"]);return n&&(t="container"),k.a.createElement(ba,Lg({nubbinPosition:"top right"},o),k.a.createElement(Ig,{globalAction:n,iconSize:n&&"small",iconVariant:t||r}))}Dg.displayName=U,Dg.propTypes={align:o.a.oneOf(["left","right"]),className:o.a.string,buttonClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),iconName:o.a.string,iconVariant:o.a.oneOf(["bare","container","border","border-filled","more","global-header"]),id:o.a.string,globalAction:o.a.bool,nubbinPosition:o.a.oneOf(["top left","top","top right","bottom left","bottom","bottom right"]),offset:o.a.string,onSelect:o.a.func,options:o.a.array.isRequired},Dg.defaultProps={align:"right",buttonVariant:"icon",iconVariant:"global-header",nubbinPosition:"top right"};var Rg=Dg;function Ag(e){return(Ag="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(){return(Bg=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 Fg(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 qg(e){return(qg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Kg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Wg(e,t){return(Wg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Ug={assistiveText:o.a.shape({action:o.a.string,more:o.a.string}),actionDisabled:o.a.bool,actionSelected:o.a.bool,onToggleActionSelected:o.a.func,popover:o.a.node},Gg=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(Kg(t=function(e,t){return!t||"object"!==Ag(t)&&"function"!=typeof t?Kg(e):t}(this,(e=qg(c)).call.apply(e,[this].concat(r)))),"toggleActionSelected",function(e){t.props.onToggleActionSelected&&t.props.onToggleActionSelected(e,{actionSelected:t.props.actionSelected||!1})}),t}return 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&&Wg(e,t)}(c,k.a.Component),function(e,t,n){t&&Fg(e.prototype,t),n&&Fg(e,n)}(c,[{key:"render",value:function(){var t=this,e={},n=Nn()({align:"bottom",body:k.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&&(e["aria-pressed"]=!0),k.a.createElement("div",{className:"slds-global-actions__favorites slds-dropdown-trigger slds-dropdown-trigger_click"},k.a.createElement("div",{className:"slds-button-group"},k.a.createElement(Cn,Bg({assistiveText:{icon:this.props.assistiveText.action},className:H()("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(e){e.keyCode===wt.ENTER&&(bt.trapImmediate(e),t.toggleActionSelected(e))},title:this.props.assistiveText.action,variant:"icon"},e)),k.a.createElement(Uu,n,k.a.createElement(Cn,{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"}))))}}]),c}();Gg.displayName=R,Gg.defaultProps={assistiveText:{action:"Toggle Favorite",more:"View Favorites"}},Gg.propTypes=Ug;var Yg=Gg;function Qg(e){return(Qg="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 Jg(){return(Jg=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 Xg(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 $g(e,t){return!t||"object"!==Qg(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Zg(e){return(Zg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eb(e,t){return(eb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var tb={assistiveText:o.a.shape({triggerButton:o.a.string}),popover:o.a.node},nb=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),$g(this,Zg(e).apply(this,arguments))}return 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&&eb(e,t)}(e,k.a.Component),function(e,t,n){t&&Xg(e.prototype,t),n&&Xg(e,n)}(e,[{key:"render",value:function(){var e=Nn()({align:"bottom",body:k.a.createElement("span",null),triggerClassName:"slds-dropdown-trigger slds-dropdown-trigger_click"},this.props.popover?this.props.popover.props:{});return delete e.children,k.a.createElement(Uu,e,k.a.createElement(Cn,Jg({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})))}}]),e}();nb.displayName=A,nb.defaultProps={assistiveText:{triggerButton:"Help and Training"}},nb.propTypes=tb;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 cb(){return(cb=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 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 sb(e,t){return!t||"object"!==ob(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function ib(e){return(ib=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function lb(e,t){return(lb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var pb={assistiveText:o.a.shape({newNotificationsAfter:o.a.string,newNotificationsBefore:o.a.string,noNotifications:o.a.string}),notificationCount:o.a.number,popover:o.a.node},ub=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),sb(this,ib(e).apply(this,arguments))}return 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&&lb(e,t)}(e,k.a.Component),function(e,t,n){t&&ab(e.prototype,t),n&&ab(e,n)}(e,[{key:"render",value:function(){var e={"aria-live":"assertive"},t=this.props.notificationCount,n=Nn()({align:"bottom right",body:k.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,0<t?r="".concat(this.props.assistiveText.newNotificationsBefore).concat(t).concat(this.props.assistiveText.newNotificationsAfter):e["aria-atomic"]=!0,k.a.createElement(Uu,n,k.a.createElement(Cn,cb({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)),0<t?k.a.createElement("span",{"aria-hidden":"true",className:"slds-notification-badge slds-incoming-notification slds-show-notification"},t):k.a.createElement("span",{"aria-hidden":"true",className:"slds-notification-badge"}))}}]),e}();ub.displayName=B,ub.defaultProps={assistiveText:{newNotificationsAfter:" new notifications",newNotificationsBefore:"",noNotifications:"No new notifications"},notificationCount:0},ub.propTypes=pb;var db=ub;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 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){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 vb(e,t){return!t||"object"!==hb(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function gb(e){return(gb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function bb(e,t){return(bb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var yb=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),t=vb(this,gb(n).call(this,e)),ug(F,e),t}return 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&&bb(e,t)}(n,k.a.Component),function(e,t,n){t&&mb(e.prototype,t),n&&mb(e,n)}(n,[{key:"render",value:function(){var e=Nn()({align:"bottom right",body:k.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,k.a.createElement(Uu,e,k.a.createElement(Cn,fb({className:H()("slds-global-actions__avatar slds-global-actions__item-action",this.props.buttonClassName),title:this.props.userName,variant:"icon"},{"aria-haspopup":!0}),"string"==typeof t?k.a.createElement("span",{className:"slds-avatar slds-avatar_circle slds-avatar_medium"},k.a.createElement("img",{alt:this.props.userName,src:t,title:"User avatar"})):t||null))}}]),n}();yb.displayName=F,yb.propTypes={className:o.a.string,avatar:o.a.oneOfType([o.a.string,o.a.node]),buttonClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,popover:o.a.node,userName:o.a.string},yb.defaultProps={userName:"User Name"};function wb(e){return k.a.createElement("div",{className:"slds-global-header__item slds-global-header__item_search"},e.combobox)}var _b=yb;wb.displayName=q,wb.propTypes={combobox:o.a.node.isRequired};var xb=wb;function zb(e){return(zb="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 Ob(){return(Ob=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 Sb(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!t||"object"!==zb(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Eb(e){return(Eb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Mb(e,t){return(Mb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Tb={assistiveText:o.a.shape({triggerButton:o.a.string}),dropdown:o.a.node},Nb=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Cb(this,Eb(e).apply(this,arguments))}return 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&&Mb(e,t)}(e,k.a.Component),function(e,t,n){t&&Sb(e.prototype,t),n&&Sb(e,n)}(e,[{key:"render",value:function(){var e=Nn()({align:"right",nubbinPosition:"top right"},this.props.dropdown?this.props.dropdown.props:{}),t=e.children||null;return delete e.children,k.a.createElement(ba,e,k.a.createElement(Gc,null,k.a.createElement(Cn,Ob({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)}}]),e}();Nb.displayName=K,Nb.defaultProps={assistiveText:{triggerButton:"Setup"}},Nb.propTypes=Tb;var kb=Nb;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 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 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 Ib(e,t){return!t||"object"!==Hb(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Lb(e){return(Lb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Vb(e,t){return(Vb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Db={assistiveText:o.a.shape({triggerButton:o.a.string}),dropdown:o.a.node},Rb=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ib(this,Lb(e).apply(this,arguments))}return 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&&Vb(e,t)}(e,k.a.Component),function(e,t,n){t&&Pb(e.prototype,t),n&&Pb(e,n)}(e,[{key:"render",value:function(){var e=Nn()({align:"right",nubbinPosition:"top right"},this.props.dropdown?this.props.dropdown.props:{}),t=e.children||null;return delete e.children,k.a.createElement(ba,e,k.a.createElement(Gc,null,k.a.createElement(Cn,jb({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)}}]),e}();Rb.displayName=W,Rb.defaultProps={assistiveText:{triggerButton:"Global Actions"}},Rb.propTypes=Db;var Ab=Rb;function Bb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Fb(e){var t;return k.a.createElement("div",{className:H()("slds-context-bar",(t={},Bb(t,"slds-context-bar_theme-".concat(e.cloud),e.cloud),Bb(t,"slds-context-bar_theme-".concat(e.theme),e.theme),t),e.className)},function(e){var t,n,r=[];return k.a.Children.forEach(e,function(e){e&&e.type.displayName===Y&&("primary"===e.props.region?t=e:"secondary"===e.props.region?r.push(e):"tertiary"===e.props.region&&(n=e))}),[t].concat(r,[n])}(e.children))}Fb.propTypes={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),cloud:o.a.string,theme:o.a.oneOf(["light","dark"])},Fb.defaultProps={},Fb.displayName="SLDSGlobalNavigationBar";var qb=Fb;function Kb(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Wb(e){var t=e.active,n=e.dividerPosition,r=Kb(e,["active","dividerPosition"]);return k.a.createElement("li",{className:H()("slds-context-bar__item",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-is-active":t},"slds-context-bar__item_divider-".concat(n),n))},k.a.createElement(Cn,r))}Wb.displayName="SLDSGlobalNavigationBarButton",Wb.propTypes={active:o.a.bool,dividerPosition:o.a.oneOf(["left","right"])},Wb.defaultProps={className:"slds-context-bar__label-action slds-text-body_regular",style:{lineHeight:"inherit"},variant:"base"};var Ub=Wb;var Gb=function(){},Yb=n(22);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(){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 Xb(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function $b(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 Zb(e,t){return!t||"object"!==Qb(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function ey(e){return(ey=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ty(e,t){return(ty=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ny(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(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),t=Zb(this,ey(n).call(this,e)),Gb($,t.props,Yb),t}return 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&&ty(e,t)}(n,k.a.Component),function(e,t,n){t&&$b(e.prototype,t),n&&$b(e,n)}(n,[{key:"render",value:function(){var e=this.props,t=e.active,n=e.activeBackgroundColor,r=e.className,o=e.dividerPosition,c=e.id,a=e.isOpen,s=e.label,i=e.menu,l=e.onBlur,p=e.onClick,u=e.onFocus,d=e.onKeyDown,h=e.onMouseDown,f=e.onMouseEnter,m=e.onMouseLeave,v=e.triggerRef,g=Xb(e,["active","activeBackgroundColor","className","dividerPosition","id","isOpen","label","menu","onBlur","onClick","onFocus","onKeyDown","onMouseDown","onMouseEnter","onMouseLeave","triggerRef"]),b={},y=mh.a.brandPrimaryTransparent10;return t&&(b.backgroundColor=n,b.borderBottomColor=n),a&&(b.backgroundColor=y),k.a.createElement("li",{"aria-haspopup":"true",className:H()("slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click",ny({"slds-is-open":a,"slds-is-active":t},"slds-context-bar__item_divider-".concat(o),o),r),id:c,onBlur:l,onClick:p,onFocus:u,onKeyDown:d,onMouseDown:h,onMouseEnter:f,onMouseLeave:m,ref:v,style:b},k.a.createElement("a",{className:"slds-context-bar__label-action",title:s},k.a.createElement("span",{className:"slds-truncate",title:s},s)),k.a.createElement("div",{className:"slds-context-bar__icon-action slds-p-left_none"},k.a.createElement(Cn,Jb({assistiveText:this.props.assistiveText},g,{className:"slds-context-bar__button","aria-haspopup":"true",iconCategory:"utility",iconName:"chevrondown",iconVariant:"bare",variant:"icon"}))),i)}}]),n}();ny(ry,"displayName",$),ny(ry,"propTypes",{active:o.a.bool,activeBackgroundColor:o.a.string,assistiveText:o.a.shape({icon:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),dividerPosition:o.a.oneOf(["left","right"]),id:o.a.string,isOpen:o.a.bool,label:o.a.string,menu:o.a.node,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onMouseDown:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,triggerRef:o.a.func}),ny(ry,"defaultProps",{assistiveText:{icon:"Open menu item submenu"}});var oy=ry;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 ay(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function sy(e){Gb(G,e,Yb);var t=e.active,n=e.activeBackgroundColor,r=e.assistiveText,o=e.dividerPosition,c=ay(e,["active","activeBackgroundColor","assistiveText","dividerPosition"]);return k.a.createElement(ba,cy({align:"right",hasStaticAlignment:!0,hoverCloseDelay:400,length:e.length,menuPosition:"relative"},c),k.a.createElement(oy,{active:t,assistiveText:r,activeBackgroundColor:n,dividerPosition:o}))}sy.displayName=G,sy.propTypes={active:o.a.bool,activeBackgroundColor:o.a.string,assistiveText:o.a.shape({icon:o.a.string}),align:o.a.oneOf(["left","right"]),className:o.a.string,dividerPosition:o.a.oneOf(["left","right"]),buttonClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,length:o.a.oneOf([null,"5","7","10"]),offset:o.a.string,onSelect:o.a.func,options:o.a.array.isRequired},sy.defaultProps={align:"right",length:null};var iy=sy;function ly(e){var t=e.className,n=e.dividerPosition,r=e.id,o=e.label;return k.a.createElement("li",{className:"slds-context-bar__item slds-no-hover"},k.a.createElement("span",{id:r,style:{color:mh.a.colorTextLinkDisabled},className:H()("slds-context-bar__label-action",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-context-bar__item_divider-".concat(n),n),t)},k.a.createElement("span",{className:"slds-truncate"},o)))}ly.displayName="SLDSGlobalNavigationBarLabel",ly.propTypes={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),dividerPosition:o.a.oneOf(["left","right"]),id:o.a.string,label:o.a.string};var py=ly;function uy(e){var t=e.active,n=e.activeBackgroundColor,r=e.assistiveText,o=e.className,c=e.dividerPosition,a=e.href,s=e.id,i=e.label,l=e.onBlur,p=e.onClick,u=e.onFocus,d=e.onKeyDown,h=e.onKeyPress,f=e.onKeyUp,m=e.onMouseEnter,v=e.onMouseLeave,g=e.tabIndex,b=t?{backgroundColor:n,borderBottomColor:n}:null;return k.a.createElement("li",{className:H()("slds-context-bar__item",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-is-active":t},"slds-context-bar__item_divider-".concat(c),c)),id:s,style:b},k.a.createElement("a",{href:a,className:H()("slds-context-bar__label-action",o),onBlur:l,onClick:Xn()(p)?function(e){return function(e,t,n){e.preventDefault(),n(e,{href:t})}(e,a,p)}:null,onFocus:u,onKeyDown:d,onKeyPress:h,onKeyUp:f,onMouseEnter:m,onMouseLeave:v,tabIndex:g,title:i},t?k.a.createElement("span",{className:"slds-assistive-text"},r.activeDescriptor):null,k.a.createElement("span",{className:"slds-truncate",title:i},i)))}uy.displayName="SLDSGlobalNavigationBarLink",uy.propTypes={active:o.a.bool,activeBackgroundColor:o.a.string,assistiveText:o.a.shape({activeDescriptor:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),dividerPosition:o.a.oneOf(["left","right"]),href:o.a.string,id:o.a.string,label:o.a.string,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,onMouseEnter:o.a.func,onMouseLeave:o.a.func,tabIndex:o.a.string},uy.defaultProps={assistiveText:{activeDescriptor:"Current page:"},href:"javascript:void(0);"};var dy=uy;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 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!t||"object"!==hy(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function vy(e){return(vy=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function gy(e,t){return(gy=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function by(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var yy=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),my(this,vy(e).apply(this,arguments))}return 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&&gy(e,t)}(e,k.a.Component),function(e,t,n){t&&fy(e.prototype,t),n&&fy(e,n)}(e,[{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 k.a.createElement("div",{className:H()("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?k.a.createElement("nav",{className:H()("slds-context-bar__secondary",e,t),role:"navigation"},k.a.createElement("ul",{className:"slds-grid"},n)):k.a.createElement("div",{className:H()("slds-context-bar__secondary",e,t)},k.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 k.a.createElement("div",{className:H()("slds-context-bar__tertiary","slds-col_bump-left",e,t)},k.a.createElement("ul",{className:"slds-grid"},n))}(t,this.props.className,this.props.children)}return e}}]),e}();by(yy,"displayName",Y),by(yy,"propTypes",{children:o.a.node,dividerPosition:o.a.oneOf(["left","right"]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),navigation:o.a.bool,region:o.a.oneOf(["primary","secondary","tertiary"]).isRequired});var wy=yy;var _y=function(){},xy=n(52);function zy(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Oy(e){var t=e.className,n=e.illustration,r=e.internalIllustration,o=e.heading,c=e.messageBody,a=e.name,s=e.path,i=e.size,l=e.style;_y("Illustration",{illustration:n,internalIllustration:r,heading:o,path:s},xy);var p,u=a?a.replace(/_| /g,"-").toLowerCase():"",d=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){zy(t,e,n[e])})}return t}({},l);return"large"!==i||d.height||(d.height="400px"),n?p=k.a.createElement(Pe,{className:"slds-illustration__svg","aria-hidden":"true",data:n,name:u,style:d}):s&&(p=k.a.createElement("svg",{className:"slds-illustration__svg","aria-hidden":"true",name:u,style:d},k.a.createElement("use",{xlinkHref:s}))),k.a.createElement("div",{className:Gt(t,"slds-illustration",{"slds-illustration_small":"small"===i,"slds-illustration_large":"large"===i})},p,k.a.createElement("div",{className:"slds-text-longform"},o?k.a.createElement("h3",{className:"slds-text-heading_medium"},o):null,c?k.a.createElement("p",{className:"slds-text-body_regular"},c):null))}Oy.displayName="SLDSIllustration",Oy.propTypes={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),heading:o.a.string,illustration:o.a.object,internalIllustration:o.a.bool.isRequired,messageBody:o.a.oneOfType([o.a.string,o.a.node]),name:o.a.string,path:o.a.string,size:o.a.oneOf(["small","large"]),style:o.a.object},Oy.defaultProps={internalIllustration:!0,size:"small",style:{}};var Sy=Oy;var Cy=function(){};function Ey(e){return(Ey="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(){return(My=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 Ty(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ny(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 ky(e){return(ky=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Hy(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function jy(e,t){return(jy=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Py(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={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),name:o.a.string,disabled:o.a.bool,id:o.a.string.isRequired,onChange:o.a.func,onKeyUp:o.a.func,onEnterEditMode:o.a.func,onLeaveEditMode:o.a.func,type:o.a.oneOf(["text","password","datetime","datetime-local","date","month","time","week","number","email","url","search","tel","color"]),value:o.a.string.isRequired},Ly=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),Py(Hy(t=function(e,t){return!t||"object"!==Ey(t)&&"function"!=typeof t?Hy(e):t}(this,ky(n).call(this,e))),"endEditMode",function(e){t.willSave&&(clearTimeout(t.willSave),delete t.willSave),t.setState({isEditing:!1,value:null}),t.props.onLeaveEditMode&&Xn()(t.props.onLeaveEditMode)&&t.props.onLeaveEditMode(void 0,e)}),Py(Hy(t),"handleBlur",function(){t.willSave||(t.willSave=setTimeout(t.saveEdits,200)),t.props.onLeaveEditMode&&Xn()(t.props.onLeaveEditMode)&&t.props.onLeaveEditMode()}),Py(Hy(t),"handleChange",function(e){t.setState({value:e.target.value})}),Py(Hy(t),"handleKeyDown",function(e){e.keyCode&&(e.keyCode===wt.ESCAPE?t.saveEdits({cancel:!0}):e.keyCode===wt.ENTER&&t.saveEdits())}),Py(Hy(t),"handleKeyUp",function(e){e.keyCode&&t.props.onKeyUp&&Xn()(t.props.onKeyUp)&&t.props.onKeyUp(e,{value:t.state.value})}),Py(Hy(t),"saveEdits",function(e){e&&!0===e.cancel||Xn()(t.props.onChange)&&t.props.onChange({value:t.state.value}),t.endEditMode(e)}),Py(Hy(t),"triggerEditMode",function(){t.props.disabled||(t.autoFocus=!0,t.setState({isEditing:!0,value:t.props.value}),Xn()(t.props.onEnterEditMode)&&t.props.onEnterEditMode())}),t.state={isEditing:!1,value:null},Cy(I,e),t}return 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)}(n,k.a.Component),function(e,t,n){t&&Ny(e.prototype,t),n&&Ny(e,n)}(n,[{key:"componentDidUpdate",value:function(){this.autoFocus&&(this.inputNode&&(this.inputNode.focus(),this.inputNode.select()),this.autoFocus=!1)}},{key:"render",value:function(){var t=this,e=this.props,n=e.assistiveText,r=e.disabled,o=e.value,c=e.name,a=Ty(e,["assistiveText","disabled","value","name"]);return k.a.createElement(Li,My({},a,{iconRight:this.state.isEditing?k.a.createElement(Js,{category:"utility",name:"close",position:"right",onClick:this.endEditMode,tabIndex:"-1"}):null,disabled:r,inlineEditTrigger:k.a.createElement(Cn,{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:o,inputRef:function(e){t.inputNode=e}}))}}]),n}();Ly.displayName=I,Ly.propTypes=Iy,Ly.defaultProps={assistiveText:"Edit text",type:"text"};var Vy=Ly;function Dy(){return(Dy=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 Ry(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ay(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function By(e){var t=e.clearable,n=e.onClear,r=e.onSearch,o=e.placeholder,c=Ay(e,["clearable","onClear","onSearch","placeholder"]);mi(V,c,vi);var a="string"==typeof c.assistiveText?c.assistiveText:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Ry(t,e,n[e])})}return t}({},Fy.assistiveText,c.assistiveText).label;return k.a.createElement(Li,Dy({assistiveText:{label:a},iconLeft:k.a.createElement(Js,{assistiveText:{icon:"Search"},category:"utility",name:"search",onClick:r}),iconRight:t?k.a.createElement(Js,{assistiveText:{icon:"Clear"},category:"utility",name:"clear",onClick:n}):null,onKeyDown:r?function(e){return function(e,t){e.keyCode===wt.ENTER&&(bt.trapImmediate(e),t(e))}(e,r)}:null,placeholder:o},c))}var Fy={assistiveText:{}};By.displayName=V,By.propTypes={assistiveText:o.a.shape({label:o.a.string}),clearable:o.a.bool,onClear:o.a.func,onSearch:o.a.func,placeholder:o.a.string},By.defaultProps=Fy;var qy=By;function Ky(e){return(Ky="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 Wy(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 Uy(e){return(Uy=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Gy(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yy(e,t){return(Yy=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Qy=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(Gy(t=function(e,t){return!t||"object"!==Ky(t)&&"function"!=typeof t?Gy(e):t}(this,(e=Uy(c)).call.apply(e,[this].concat(r)))),"handleClick",function(){t.props.onClose&&t.props.onClose()}),t}return 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,k.a.Component),function(e,t,n){t&&Wy(e.prototype,t),n&&Wy(e,n)}(c,[{key:"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"),k.a.createElement("div",{className:"js-slds-lookup__item",onMouseDown:bt.trapImmediate,onClick:this.handleClick},k.a.createElement("a",{id:"searchRecords",href:"javascript:void(0);",className:e},k.a.createElement("span",{className:"lookup__item-action-label"},k.a.createElement(en,{name:"search",category:"utility",size:"x-small",className:"slds-icon-text-default"}),k.a.createElement("span",{className:"slds-truncate"},this.props.searchTerm))))}}]),c}();Qy.displayName="LookupDefaultHeader",Qy.propTypes={},Qy.defaultProps={};var Jy=Qy;function Xy(e){return(Xy="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 $y(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 Zy(e){return(Zy=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}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,t){return(tw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var nw=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(ew(t=function(e,t){return!t||"object"!==Xy(t)&&"function"!=typeof t?ew(e):t}(this,(e=Zy(c)).call.apply(e,[this].concat(r)))),"handleClick",function(){t.props.onClose&&t.props.onClose()}),t}return 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&&tw(e,t)}(c,k.a.Component),function(e,t,n){t&&$y(e.prototype,t),n&&$y(e,n)}(c,[{key:"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"),k.a.createElement("div",{className:"js-slds-lookup__item",onClick:this.handleClick,onMouseDown:bt.trapImmediate},k.a.createElement("a",{id:"newItem",href:"javascript:void(0);",className:e},k.a.createElement("span",{className:"lookup__item-action-label"},k.a.createElement(en,{name:"add",category:"utility",size:"x-small",className:"slds-icon-text-default"}),k.a.createElement("span",{className:"slds-truncate"},this.props.newItemLabel?this.props.newItemLabel:"Add New Item"))))}}]),c}();nw.displayName="LookupDefaultFooter",nw.propTypes={},nw.defaultProps={};function rw(e){return k.a.createElement("li",{className:"slds-p-around_x-small slds-lookup__divider",tabIndex:"-1"},k.a.createElement("span",{className:"slds-m-left_x-small"},k.a.createElement("strong",null,e.data.label)))}var ow=nw,cw={data:o.a.object};rw.displayName="LookupDefaultSectionDivider",rw.propTypes=cw;var aw=rw;var sw=function(){};function iw(e){return(iw="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){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 pw(e){return(pw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function uw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function dw(e,t){return(dw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var hw={data:o.a.object,handleItemFocus:o.a.func,href:o.a.string,iconCategory:o.a.string,id:o.a.string,index:o.a.number,isActive:o.a.bool,isDisabled:o.a.bool,listItemLabelRenderer:o.a.func,onSelect:o.a.func,searchTerm:o.a.string,setFocus:o.a.func},fw=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(uw(t=function(e,t){return!t||"object"!==iw(t)&&"function"!=typeof t?uw(e):t}(this,(e=pw(c)).call.apply(e,[this].concat(r)))),"handleClick",function(){return t.props.onSelect(t.props.id,t.props.data)}),t}return 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&&dw(e,t)}(c,k.a.Component),function(e,t,n){t&&lw(e.prototype,t),n&&lw(e,n)}(c,[{key:"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 k.a.createElement(e,this.props)}},{key:"getIcon",value:function(){return this.props.iconName&&!this.props.listItemLabelRenderer?k.a.createElement("span",{className:"slds-media__figure"},k.a.createElement(en,{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=k.a.createElement("div",{className:"slds-media__body"},k.a.createElement("div",{className:"slds-lookup__result-text"},this.props.children.label),k.a.createElement("span",{className:"slds-lookup__result-meta slds-text-body_small"},this.props.children.data.subTitle));else{var t=H()("slds-lookup__result-text",{"slds-m-left_x-small":!this.props.iconName});e=k.a.createElement("div",{className:"slds-media__body"},k.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 t=this,e="js-slds-lookup__item",n=this.props.id;return this.props.isActive&&(e+=" slds-theme_shade"),k.a.createElement("li",{className:e,ref:function(e){t.itemRef=e}},k.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:bt.trapImmediate,ref:n,role:"option",tabIndex:"-1"},this.getIcon(),this.props.listItemLabelRenderer?this.getCustomLabel():this.getLabel()))}}]),c}();fw.displayName="Lookup-Menu-Item",fw.propTypes=hw;var mw=fw;function vw(e){return(vw="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 gw(){return(gw=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 bw(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 yw(e){return(yw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ww(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _w(e,t){return(_w=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var xw={boldRegex:o.a.instanceOf(RegExp),emptyMessage:o.a.oneOfType([o.a.string,o.a.element]),filterWith:o.a.func,focusIndex:o.a.number,getListLength:o.a.func,iconCategory:o.a.string,items:o.a.array,label:o.a.string,listLength:o.a.number,searchTerm:o.a.string,setFocus:o.a.func},zw=function(){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(ww(n=function(e,t){return!t||"object"!==vw(t)&&"function"!=typeof t?ww(e):t}(this,yw(t).call(this,e))),"handleItemFocus",function(e,t){n.listRef&&(n.listRef.scrollTop=e*t)}),n.state={filteredItems:n.filteredItems()},n}return 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&&_w(e,t)}(t,k.a.Component),function(e,t,n){t&&bw(e.prototype,t),n&&bw(e,n)}(t,[{key:"componentDidUpdate",value:function(e){var t=[].slice.call(this.listRef.children).filter(function(e){return-1<e.className.indexOf("js-slds-lookup__item")||-1<e.className.indexOf("slds-lookup__divider")}).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-1<e&&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(r){var o=[];return r.forEach(function(e,t){if(e&&e.data&&"section"===e.data.type){if(t+1<r.length){var n=r[t+1];n.data&&"section"!==n.data.type&&o.push(e)}}else o.push(e)}),o}},{key:"filteredItems",value:function(){return this.filterEmptySections(this.props.items.filter(this.filter,this))}},{key:"renderContent",value:function(){return 0===this.state.filteredItems.length?k.a.createElement("li",{className:"slds-lookup__message","aria-live":"polite"},k.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 c=this,a=this.props.focusIndex;return this.state.filteredItems.map(function(e,t){var n=e.id,r=!1;if(r=c.props.header?a===t+1:a===t,"section"===e.data.type&&c.props.sectionDividerRenderer){var o=c.props.sectionDividerRenderer;return k.a.createElement(o,gw({data:e.data,key:"section_header_".concat(n)},c.props))}return k.a.createElement(mw,{boldRegex:c.props.boldRegex,data:e.data,handleItemFocus:c.handleItemFocus,iconCategory:c.props.iconCategory,iconInverse:c.props.iconInverse,iconName:c.props.iconName,id:n,index:t,isActive:r,key:n,listItemLabelRenderer:c.props.listItemLabelRenderer,onSelect:c.props.onSelect,searchTerm:c.props.searchTerm,setFocus:c.props.setFocus},e)})}},{key:"renderSectionDivider",value:function(){return this.props.sectionDivider}},{key:"render",value:function(){var t=this;return k.a.createElement("section",{id:"menuContainer",className:"ignore-react-onclickoutside"},this.renderHeader(),k.a.createElement("ul",{id:"list",className:"slds-lookup__list",role:"presentation",ref:function(e){e&&(t.listRef=e)}},this.renderContent()),this.renderFooter())}}]),t}();zw.displayName="Lookup-Menu",zw.propTypes=xw,zw.defaultProps={emptyMessage:"No matches found."};var Ow,Sw,Cw=zw;function Ew(e){return(Ew="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(){return(Mw=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 Tw(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 Nw(e){return(Nw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function kw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Hw(e,t){return(Hw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function jw(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){return(e||"").toString().replace(/^\s+/,"")}var Iw=(Sw=Ow=function(){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),jw(kw(r=function(e,t){return!t||"object"!==Ew(t)&&"function"!=typeof t?kw(e):t}(this,Nw(t).call(this,e))),"state",{currentFocus:null,focusIndex:null,items:[],listLength:r.props.options.length,searchTerm:Pw(r.props.searchTerm),selectedIndex:r.props.selectedItem}),jw(kw(r),"getClassName",function(){return H()(r.props.className,"slds-form-element slds-lookup",{"slds-has-selection":r.isSelected(),"slds-is-open":r.getIsOpen()})}),jw(kw(r),"setFirstIndex",function(){var e=0,t=r.state.items[0];r.menuComponent&&r.menuComponent.getFilteredItemForIndex&&(t=r.menuComponent.getFilteredItemForIndex(e)),t&&"section"===t.data.type&&(e+=1),r.setState({focusIndex:e})}),jw(kw(r),"getHeader",function(){var e=r.props.headerRenderer,t=0===r.state.focusIndex;return k.a.createElement(e,Mw({ref:function(e){r.headerComponent=e}},r.props,{focusIndex:r.state.focusIndex,isActive:t,onClose:r.handleClose,searchTerm:r.state.searchTerm,setFocus:r.setFocus}))}),jw(kw(r),"getFooter",function(){var e=r.props.footerRenderer,t=r.getNumFocusableItems(),n=r.state.focusIndex===t;return k.a.createElement(e,Mw({ref:function(e){r.footerComponent=e}},r.props,{focusIndex:r.state.focusIndex,isActive:n,onClose:r.handleClose,setFocus:r.setFocus}))}),jw(kw(r),"setFocus",function(e){r.setState({currentFocus:e})}),jw(kw(r),"getIsOpen",function(){return!!("boolean"==typeof r.props.isOpen?r.props.isOpen:r.state.isOpen)}),jw(kw(r),"getListLength",function(e){e!==r.state.listLength&&r.setState({listLength:e})}),jw(kw(r),"getNumFocusableItems",function(){var e=0;return r.footerComponent&&(e+=1),r.headerComponent&&(e+=1),r.state.listLength-1+e}),jw(kw(r),"increaseIndex",function(){var e=r.getNumFocusableItems(),t=r.state.focusIndex<e?r.state.focusIndex+1:0,n=r.menuComponent.getFilteredItemForIndex(t);n&&"section"===n.data.type&&(t+=1),r.setState({focusIndex:t})}),jw(kw(r),"decreaseIndex",function(){var e=r.getNumFocusableItems(),t=0<r.state.focusIndex?r.state.focusIndex-1:e,n=r.menuComponent.getFilteredItemForIndex(t);n&&"section"===n.data.type&&(t=0===t?e:t-1),r.setState({focusIndex:t})}),jw(kw(r),"selectItem",function(e){if(e){var t=e.replace("item-","");r.selectItemByIndex(t)}}),jw(kw(r),"selectItemByIndex",function(e){if(0<=e&&e<r.state.items.length){r.props.onRequestClose&&r.props.onRequestClose(),r.setState({isOpen:!1,selectedIndex:e,searchTerm:""});var t=r.state.items[e].data;r.props.onSelect&&r.props.onSelect(t)}}),jw(kw(r),"handleDeleteSelected",function(){r.props.onRequestOpen&&r.props.onRequestOpen(),r.setState({selectedIndex:null,isOpen:!0}),r.focusInput(),r.props.onUnselect&&r.props.onUnselect()}),jw(kw(r),"handleClose",function(){r.props.onRequestClose&&r.props.onRequestClose(),r.setState({isOpen:!1,focusIndex:null,currentFocus:null})}),jw(kw(r),"handleClickOutside",function(){r.handleClose()}),jw(kw(r),"handleEscape",function(e){r.getIsOpen()&&e&&bt.trap(e),r.handleClose()}),jw(kw(r),"handleCancel",function(){r.handleClose()}),jw(kw(r),"handleClick",function(){r.props.onRequestOpen&&r.props.onRequestOpen(),r.setState({isOpen:!0})}),jw(kw(r),"handleBlur",function(e){if(r.props.onBlur){var t=e.target||e.currentTarget;r.props.onBlur(t.value)}}),jw(kw(r),"handleFocus",function(e){if(r.props.onFocus){var t=e.target||e.currentTarget;r.props.onFocus(t.value)}r.props.onRequestOpen&&r.props.onRequestOpen(),r.setState({isOpen:!0})}),jw(kw(r),"handleChange",function(e){var t=e.target||e.currentTarget;r.setState({searchTerm:Pw(t.value)}),r.props.onChange&&r.props.onChange(t.value)}),jw(kw(r),"handleKeyDown",function(e){if(e.keyCode)if(e.keyCode===wt.ESCAPE?r.handleEscape(e):e.keyCode===wt.TAB?(setTimeout(function(){r.handleClose()},200),r.handleBlur(e)):r.handleClick(),e.keyCode===wt.DOWN)bt.trapImmediate(e),null===r.state.focusIndex?r.setFirstIndex():r.increaseIndex();else if(e.keyCode===wt.UP){bt.trapImmediate(e);var t=r.getNumFocusableItems();null===r.state.focusIndex?r.setState({focusIndex:t}):r.decreaseIndex()}else e.keyCode===wt.ENTER&&null!==r.state.focusIndex&&(bt.trapImmediate(e),r.headerComponent&&0===r.state.focusIndex?r.headerComponent.handleClick():r.footerComponent&&r.state.focusIndex===r.state.listLength+1?r.footerComponent.handleClick():r.selectItem(r.state.currentFocus))}),jw(kw(r),"handlePillKeyDown",function(e){e.keyCode&&(e.keyCode!==wt.DELETE&&e.keyCode!==wt.BACKSPACE||(bt.trapImmediate(e),r.handleDeleteSelected()))}),jw(kw(r),"inputRefId",function(){return"".concat(r.props.label,"Lookup")}),jw(kw(r),"focusInput",function(){r.focusOnRender=!0}),jw(kw(r),"isSelected",function(){return!isNaN(parseInt(r.state.selectedIndex,10))&&0<=r.state.selectedIndex}),jw(kw(r),"modifyItems",function(e){var t=e.map(function(e,t){return{id:"item-".concat(t),label:e.label,data:e}});r.setState({items:t})}),jw(kw(r),"renderMenuContent",function(){return k.a.createElement(Cw,{ref:function(e){r.menuComponent=e},emptyMessage:r.props.emptyMessage,filterWith:r.props.filterWith,focusIndex:r.state.focusIndex,footer:r.props.footerRenderer?r.getFooter():null,getListLength:r.getListLength,header:r.props.headerRenderer?r.getHeader():null,iconCategory:r.props.iconCategory,iconInverse:r.props.iconInverse,iconName:r.props.iconName,items:r.state.items,label:r.props.label,listItemLabelRenderer:r.props.listItemLabelRenderer,listLength:r.state.listLength,onSelect:r.selectItem,searchTerm:r.state.searchTerm,sectionDividerRenderer:r.props.sectionDividerRenderer,setFocus:r.setFocus})}),jw(kw(r),"renderInlineMenu",function(){return r.getIsOpen()?k.a.createElement("div",{className:"ignore-react-onclickoutside slds-lookup__menu",role:"listbox"},r.renderMenuContent()):null}),jw(kw(r),"renderSeparateMenu",function(){var e=r.props.isInline?"relative":r.props.menuPosition;return r.getIsOpen()?k.a.createElement(Kt,{align:"bottom",className:"slds-lookup__menu slds-show",closeOnTabKey:!0,contentsClassName:"slds-lookup__menu slds-show",context:r.context,inheritWidthOf:"target",onClose:r.handleCancel,hasStaticAlignement:!r.props.flippable,constrainToScrollParent:r.props.constrainToScrollParent,onRequestTargetElement:function(){return r.input},position:e},r.renderMenuContent()):null}),jw(kw(r),"renderInput",function(){return k.a.createElement(Li,{"aria-activedescendant":r.state.currentFocus?r.state.currentFocus:"","aria-autocomplete":"list","aria-describedby":r.props.describedById,"aria-expanded":!!r.getIsOpen(),assistiveText:r.props.assistiveText,className:"slds-lookup__search-input",disabled:r.props.disabled,iconRight:k.a.createElement(Js,{assistiveText:{icon:"Search"},category:"utility",name:"search"}),id:r.inputRefId(),onBlur:r.handleBlur,onChange:r.handleChange,onClick:r.handleClick,onFocus:r.handleFocus,onKeyDown:r.handleKeyDown,inputRef:function(e){r.input=e,r.focusOnRender&&(r.input.focus(),r.focusOnRender=!1)},placeholder:r.props.placeholder,role:"combobox",type:"text",value:r.state.searchTerm})}),jw(kw(r),"renderSelectedItem",function(){var e=r.props.options[r.state.selectedIndex].label,t=r.props.iconName?k.a.createElement(en,{category:r.props.iconCategory,className:"slds-icon slds-pill__icon",inverse:r.props.iconInverse,name:r.props.iconName}):null,n=r.props.iconName?"slds-pill__label":"slds-pill__label slds-m-left_x-small";return k.a.createElement("div",{className:"slds-pill__container"},k.a.createElement("a",{href:"javascript:void(0)",className:"slds-pill",ref:function(e){r.pills[r.state.selectedIndex]=e},onKeyDown:r.handlePillKeyDown},t,k.a.createElement("span",{className:n},e),k.a.createElement(Cn,{assistiveText:{icon:"Press delete to remove"},className:"slds-pill__remove slds-button_icon-bare",iconCategory:"utility",iconName:"close",onClick:r.handleDeleteSelected,tabIndex:"-1",variant:"icon"})))}),jw(kw(r),"renderLabel",function(){var e=r.props.required?k.a.createElement("span",{className:"slds-required"},"*"):null;return r.isSelected()?k.a.createElement("span",{className:"slds-form-element__label",style:{width:"100%"}},e,r.props.label):k.a.createElement("label",{className:"slds-form-element__label",htmlFor:r.inputRefId(),style:{width:"100%"}},e,r.props.label)}),sw(J,e),r.pills=[],r}return 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&&Hw(e,t)}(t,k.a.Component),function(e,t,n){t&&Tw(e.prototype,t),n&&Tw(e,n)}(t,[{key:"componentDidMount",value:function(){this.modifyItems(this.props.options)}},{key:"componentWillReceiveProps",value:function(e){e.options&&this.modifyItems(e.options),e.selectedItem===this.props.selectedItem&&at()(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=jw({"slds-form-element__control":!0},"slds-input-has-icon slds-input-has-icon_".concat(this.props.iconPosition),!this.isSelected());return k.a.createElement("div",{className:this.getClassName(),"data-select":"single","data-scope":"single",onScroll:this.props.onScroll},this.props.label?this.renderLabel():null,k.a.createElement("div",{className:H()(t)},this.isSelected()?this.renderSelectedItem():null,this.isSelected()?null:this.renderInput()),e?this.renderInlineMenu():this.renderSeparateMenu())}}]),t}(),jw(Ow,"displayName",J),jw(Ow,"propTypes",{assistiveText:o.a.oneOfType([o.a.object,o.a.string]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),constrainToScrollParent:o.a.bool,describedById:o.a.string,menuPosition:o.a.string,disabled:o.a.bool,emptyMessage:o.a.oneOfType([o.a.string,o.a.element]),filterWith:o.a.func,flippable:o.a.bool,footerRenderer:o.a.func,headerRenderer:o.a.func,iconCategory:o.a.string,iconInverse:o.a.bool,iconName:o.a.string,iconPosition:o.a.oneOf(["left","right"]),isInline:o.a.bool,isOpen:o.a.bool,label:o.a.string,listItemLabelRenderer:o.a.func,onBlur:o.a.func,onChange:o.a.func,onFocus:o.a.func,onRequestClose:o.a.func,onRequestOpen:o.a.func,onScroll:o.a.func,onSelect:o.a.func,onUnselect:o.a.func,options:o.a.array.isRequired,placeholder:o.a.string,required:o.a.bool,searchTerm:o.a.string,sectionDividerRenderer:o.a.func,selectedItem:o.a.number}),jw(Ow,"defaultProps",{constrainToScrollParent:!0,filterWith:function(e,t){return!e||(t.data&&"section"===t.data.type||t.label.match(new RegExp($c()(e),"ig")))},iconPosition:"right",searchTerm:"",menuPosition:"absolute"}),Sw);Iw.contextTypes={iconPath:o.a.string};var Lw=gc(Iw,{excludeScrollbar:!0}),Vw=n(24);function Dw(){}function Rw(e){var n=[];return n.indexes=[],n.keyBuffer=new Jc,Array.isArray(e)&&e.forEach(function(e,t){!function(e){return"header"!==e.type&&"divider"!==e.type&&!e.disabled}(e)||(n.push({index:t,text:"".concat(e.label).toLowerCase()}),n.indexes.push(t))}),n}var Aw=function(){};var Bw=n.n(Vw)()({displayName:Z,propTypes:{buttonRef:o.a.func,className:o.a.string,checkmark:o.a.bool,disabled:o.a.bool,errorText:o.a.string,id:o.a.string,isInline:o.a.bool,label:o.a.string,labels:o.a.shape({multipleOptionsSelected:o.a.string}),listItemRenderer:o.a.func,onClick:o.a.func,onSelect:o.a.func,onPillRemove:o.a.func,options:o.a.array.isRequired,placeholder:o.a.string,required:o.a.bool,value:o.a.node,initValueIndex:o.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:""}},componentWillMount:function(){if(Aw(Z,this.props),this.generatedId=f.a.generate(),this.props.errorText&&(this.generatedErrorId=f.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=Rw(this.props.options)},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=Rw(e.options))},componentWillUnmount:function(){this.isUnmounting=!0,window.removeEventListener("click",this.closeOnClick,!1)},getListItemId:function(e){var t;if(void 0!==e){var n=Xn()(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(e){var t=0<arguments.length&&void 0!==e?e:this.props,n=t.value,r=t.options,o=-1;return r&&r.length&&r.some(function(e,t){return!(!e||e.value!==n)&&(o=t,!0)}),o},getValueByIndex:function(e){return this.props.options[e]},getListItemRenderer:function(){return this.props.listItemRenderer?this.props.listItemRenderer:bc},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&&(bt.trapImmediate(e),e.nativeEvent[this.getClickEventName()]=!0)},handleKeyDown:function(e){if(e.keyCode)if(e.keyCode!==wt.ENTER&&e.keyCode!==wt.SPACE&&e.keyCode!==wt.DOWN&&e.keyCode!==wt.UP||bt.trap(e),e.keyCode!==wt.TAB){var t=e.keyCode===wt.ENTER||e.keyCode===wt.DOWN||e.keyCode===wt.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,c=e.onFocus,a=void 0===c?this.handleKeyboardFocus:c,s=e.onSelect,i=e.target,l=e.toggleOpen,p=void 0===l?Dw:l;ea({componentContext:this,currentFocusedIndex:this.state.focusedIndex,event:t,isOpen:r,keyCode:o,navigableItems:this.navigableItems,onFocus:a,onSelect:s,target:i,toggleOpen:p})},handleKeyboardFocus:function(e){this.state.focusedIndex!==e&&this.setState({focusedIndex:e});var t=Xn()(this.getMenu)?this.getMenu():function(e){return it.a.findDOMNode(e).querySelector("ul.dropdown__list")}(this),n=Xn()(this.getMenuItem)?this.getMenuItem(e,t):function(e,t){var n,r=1<arguments.length&&void 0!==t?t:document;return e&&(n=r.getElementById(e)),n}(this.getListItemId(e));n&&(this.focusMenuItem(n),this.scrollToMenuItem(t,n))},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 c=r+n+e.offsetTop,a=o+t.offsetHeight+e.offsetTop;c<a&&(e.scrollTop=a-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 k.a.createElement(Vc,{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?k.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?k.a.createElement(Kt,{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&&1<this.state.selectedIndices.length)t=this.props.labels.multipleOptionsSelected;else{var n=this.props.options[this.state.selectedIndex];t=n&&n.label?n.label:this.props.placeholder}return k.a.createElement("div",{className:H()("slds-picklist slds-dropdown-trigger slds-dropdown-trigger_click",{"slds-is-open":this.state.isOpen},this.props.className),onKeyDown:this.handleKeyDown,onMouseDown:this.handleMouseDown},k.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"},k.a.createElement("span",{className:"slds-truncate"},t),k.a.createElement(en,{name:"down",category:"utility"})),e?this.renderInlineMenu():this.renderDialog())},renderPills:function(){var c=this,e=this.state.selectedIndices.map(function(e){var t=c.getValueByIndex(e).label;return k.a.createElement("li",{className:"slds-listbox__item",key:"pill-".concat(e),role:"presentation"},k.a.createElement(Vd,{eventData:{item:c.props.options[e],index:e},events:{onRequestFocus:function(){},onRequestFocusOnNextPill:function(){},onRequestFocusOnPreviousPill:function(){},onRequestRemove:function(e,t){var n=c.state.selectedIndices,r=t.index;if(n.splice(c.state.selectedIndices.indexOf(r),1),c.setState({selectedIndices:n}),c.props.onPillRemove){var o=c.getValueByIndex(r);c.props.onPillRemove(o,{option:o,optionIndex:r})}}},labels:{label:t}}))});return k.a.createElement("div",{id:"listbox-selections-unique-id",orientation:"horizontal",role:"listbox"},k.a.createElement("ul",{className:"slds-listbox slds-listbox_inline slds-p-top_xxx-small",role:"group","aria-label":"Selected Options:"},e))},render:function(){var e=this.props,t=e.className,n=e.errorText,r=e.label,o=e.required?k.a.createElement("span",{style:{color:"red"}},"* "):null;return k.a.createElement("div",{className:H()("slds-form-element",{"slds-has-error":n},t)},this.props.label?k.a.createElement("label",{className:"slds-form-element__label",htmlFor:this.getId(),style:{width:"100%"}},o,r):null,this.renderTrigger(),this.renderPills(),n&&k.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},n))}});Bw.contextTypes={iconPath:o.a.string};var Fw=Bw,qw={open:function(e){var t;Zn("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."),zt&&((t=document.createElement("span")).setAttribute("data-slds-modal",!0),document.body.appendChild(t));var n=k.a.createElement(xr,{heading:e.title,footer:e.footer,isOpen:!0},e.content);it.a.render(n,t)}},Kw=n(53);function Ww(t){return k.a.createElement("li",{className:H()("slds-nav-vertical__item",{"slds-is-active":t.isSelected})},k.a.createElement("a",{"data-id":t.item.id,href:t.item.url||"javascript:void(0);",className:"slds-nav-vertical__action","aria-describedby":t.categoryId,onClick:function(e){!function(e,t){Xn()(t.onSelect)&&t.onSelect(e,{item:t.item})}(e,t)}},t.item.label))}var Uw=function(){};Ww.displayName="SLDSVerticalNavigationItem",Ww.propTypes={item:o.a.shape({id:o.a.string.isRequired,label:o.a.string.isRequired,url:o.a.string}),isSelected:o.a.bool,categoryId:o.a.string.isRequired,onSelect:o.a.func},Ww.defaultProps={isSelected:!1};var Gw=Ww;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(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 Jw(e){return(Jw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Xw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function $w(e,t){return($w=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Zw(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var e_=function(){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Zw(Xw(n=function(e,t){return!t||"object"!==Yw(t)&&"function"!=typeof t?Xw(e):t}(this,Jw(t).call(this,e))),"getId",function(){return n.props.id||n.generatedId}),Zw(Xw(n),"getSelectedId",function(){var e,t=n.props.categories;return n.props.selectedId?e=n.props.selectedId:0<t.length&&t[0].items&&0<t[0].items.length&&(e=t[0].items[0].id),e}),n.generatedId=f.a.generate(),Uw(pe,e,Kw),n}return 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&&$w(e,t)}(t,k.a.Component),function(e,t,n){t&&Qw(e.prototype,t),n&&Qw(e,n)}(t,[{key:"render",value:function(){var r=this,o=this.getId();return k.a.createElement("nav",{id:o,className:H()("slds-nav-vertical",this.props.className)},this.props.categories.map(function(e){var t="".concat(o,"-").concat(e.id),n=r.getSelectedId();return k.a.createElement("div",{key:"".concat(t,"-header"),className:"slds-nav-vertical__section"},k.a.createElement("h2",{id:t,className:"slds-nav-vertical__title"},e.label),k.a.createElement("ul",{key:t},e.items.map(function(e){return k.a.createElement(Gw,{key:e.id,item:e,isSelected:e.id===n,categoryId:t,onSelect:r.props.onSelect})})))}))}}]),t}();Zw(e_,"displayName",pe),Zw(e_,"propTypes",{id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),categories:o.a.array,selectedId:o.a.string,onSelect:o.a.func}),Zw(e_,"defaultProps",{});var t_=e_;var n_=function(){};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 o_(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 c_(e){return(c_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function a_(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function s_(e,t){return(s_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 l_={iconCategory:o.a.string,className:o.a.string,content:o.a.node.isRequired,dismissible:o.a.bool,duration:o.a.number,iconName:o.a.string,isOpen:o.a.bool.isRequired,onDismiss:o.a.func,texture:o.a.bool,theme:o.a.oneOf(["success","warning","error","offline"]),variant:o.a.oneOf(["alert","toast"]).isRequired},p_=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),i_(a_(t=function(e,t){return!t||"object"!==r_(t)&&"function"!=typeof t?a_(e):t}(this,c_(n).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 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&&s_(e,t)}(n,k.a.Component),function(e,t,n){t&&o_(e.prototype,t),n&&o_(e,n)}(n,[{key:"componentDidMount",value:function(){var e=this;n_("Notification",this.props),this.props.duration&&(this.timeout=setTimeout(function(){e.onDismiss()},this.props.duration))}},{key:"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 H()(this.props.className,"slds-notify",(i_(e={},"slds-notify_".concat(this.props.variant),this.props.variant),i_(e,"slds-theme_".concat(this.props.theme),this.props.theme),i_(e,"slds-theme_alert-texture",this.props.texture),e))}},{key:"blankContent",value:function(){return k.a.createElement("div",null)}},{key:"renderAlertContent",value:function(){return k.a.createElement("h2",{id:"dialogTitle"},this.renderIcon(),this.props.content)}},{key:"renderClose",value:function(){var t=this;if(this.props.dismissible){var e=null;return"toast"===this.props.variant&&(e="large"),k.a.createElement(Cn,{assistiveText:{icon:"Dismiss Notification"},iconCategory:"utility",iconName:"close",iconSize:e,inverse:!0,className:"slds-notify__close",onClick:this.onDismiss,buttonRef:function(e){t.dismissBtnRef=e},variant:"icon"})}return null}},{key:"renderContent",value:function(){return k.a.createElement("div",null,k.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"),k.a.createElement(en,{category:this.props.iconCategory,className:e,inverse:!0,name:this.props.iconName,size:"small"})}return null}},{key:"renderToastContent",value:function(){return k.a.createElement("section",{className:"notify__content slds-grid"},this.renderIcon(),k.a.createElement("div",{className:"slds-col slds-align-middle"},k.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 k.a.createElement("div",{className:"slds-notify-container",style:e},k.a.createElement("div",{className:this.getClassName(),role:"alertdialog","aria-labelledby":"dialogTitle",style:t},this.props.isOpen?this.renderContent():this.blankContent()))}}]),n}();p_.displayName="Notification",p_.propTypes=l_,p_.defaultProps={iconCategory:"utility",dismissible:!0,isOpen:!1,texture:!1};var u_=p_;function d_(e){if(!e.content)return null;var t=H()({"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?k.a.createElement("p",{className:t},e.content):k.a.createElement("div",{className:t},e.content)}var h_=function(){},f_=n(54),m_={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),content:o.a.node,variant:o.a.string};d_.displayName="PageHeaderInfo",d_.propTypes=m_;function v_(e){return e.trail&&0<e.trail.length?k.a.createElement(Oa,{styleContainer:e.style,trail:e.trail}):e.content?"string"==typeof e.content?k.a.createElement("span",null,e.content):e.content:null}var g_=d_,b_={content:o.a.node,trail:o.a.array};v_.displayName="PageHeaderLabel",v_.propTypes=b_;var y_=v_;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,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!t||"object"!==w_(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function z_(e){return(z_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function O_(e,t){return(O_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var S_={align:o.a.oneOf(["top","middle","bottom"]),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),content:o.a.node,label:o.a.node,truncate:o.a.bool},C_=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),x_(this,z_(e).apply(this,arguments))}return 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&&O_(e,t)}(e,s["Component"]),function(e,t,n){t&&__(e.prototype,t),n&&__(e,n)}(e,[{key:"render",value:function(){if(!this.props.content)return null;var e=H()("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 k.a.createElement("div",{className:"slds-page-header__name-title"},k.a.createElement("h1",null,k.a.createElement(y_,{content:this.props.label}),k.a.createElement("span",{className:e,title:"string"==typeof this.props.content?this.props.content:void 0},this.props.content)))}}]),e}();C_.displayName="PageHeaderTitle",C_.propTypes=S_,C_.defaultProps={title:"Page Header Title",truncate:!0};var E_=C_;function M_(e){return(M_="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 T_(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!t||"object"!==M_(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function k_(e){return(k_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function H_(e,t){return(H_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var j_={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),content:o.a.node,flavor:o.a.string,label:o.a.node,truncate:o.a.bool},P_=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=N_(this,k_(n).call(this,e))).state={showTooltip:!1},t}return 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&&H_(e,t)}(n,s["Component"]),function(e,t,n){t&&T_(e.prototype,t),n&&T_(e,n)}(n,[{key:"componentDidMount",value:function(){this.renderFieldTruncation()}},{key:"componentDidUpdate",value:function(e){this.props.content!==e.content&&this.renderFieldTruncation()}},{key:"renderContent",value:function(){var t=this,e=this.props,n=e.content,r=e.truncate;if("string"!=typeof n)return n;var o=H()({"slds-truncate":r});return k.a.createElement("div",{className:o,ref:function(e){t.fieldContentRef=e},title:n},n)}},{key:"renderContentWithTooltip",value:function(){var e=this.props,t=e.content,n=e.truncate,r=H()({"slds-truncate":n});return k.a.createElement(hn,{align:"top",title:t,triggerStyle:{display:"inline"}},k.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)return t;var r=H()("slds-text-title",{"slds-truncate":n});return k.a.createElement("div",{className:r,title:t},t)}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.flavor,r=H()("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 k.a.createElement("li",{className:r},this.renderLabel(),this.state.showTooltip?this.renderContentWithTooltip():this.renderContent())}}]),n}();P_.displayName="PageHeaderDetailRow",P_.propTypes=j_,P_.defaultProps={content:"",label:"",truncate:!0};var I_=P_;function L_(e){return(L_="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 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 D_(e,t){return!t||"object"!==L_(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function R_(e){return(R_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function A_(e,t){return(A_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var B_={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),details:o.a.array},F_=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),D_(this,R_(e).apply(this,arguments))}return 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&&A_(e,t)}(e,s["Component"]),function(e,t,n){t&&V_(e.prototype,t),n&&V_(e,n)}(e,[{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 k.a.createElement(I_,{key:n,flavor:e.flavor,label:e.label,content:e.content,truncate:e.truncate})}):null}},{key:"render",value:function(){var e=H()("slds-page-header__detail-row",this.props.className);return k.a.createElement("ul",{className:e},this.renderDetails())}}]),e}();F_.displayName="PageHeaderDetailRow",F_.propTypes=B_,F_.defaultProps={};var q_=F_;function K_(e){return(K_="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 W_(){return(W_=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 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 G_(e,t){return!t||"object"!==K_(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Y_(e){return(Y_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Q_(e,t){return(Q_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var J_={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),type:o.a.oneOf(["actions","controls"])},X_=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),G_(this,Y_(e).apply(this,arguments))}return 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&&Q_(e,t)}(e,s["Component"]),function(e,t,n){t&&U_(e.prototype,t),n&&U_(e,n)}(e,[{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===ne?r=e:e.props&&e.props.children&&(r=[],k.a.Children.forEach(e.props.children,function(e){e&&e.type&&e.type.displayName===ne&&r.push(e)})),t&&(!r||r.length<1)&&(n="string"!=typeof e?k.a.createElement("div",W_({className:"slds-page-header__controls"},e.props)):k.a.createElement("div",{className:"slds-page-header__controls"},e)),k.a.createElement("div",{className:H()("slds-page-header__col-".concat(this.props.type),this.props.className)},n||k.a.createElement("div",{className:"slds-page-header__controls"},r))):null}}]),e}();X_.displayName="PageHeaderControls",X_.propTypes=J_,X_.defaultProps={};function $_(e){var t;if(e.iconName)t=k.a.createElement(en,{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=H()(e.icon.props.className,n)),t=k.a.cloneElement(e.icon,{className:n})}return k.a.createElement("div",{className:"slds-page-header__row"},k.a.createElement("div",{className:"slds-page-header__col-title"},k.a.createElement(Ts,{body:k.a.createElement(k.a.Fragment,null,k.a.createElement("div",{className:"slds-page-header__name"},k.a.createElement(E_,{content:e.title})),k.a.createElement(g_,{content:e.info,variant:e.variant})),figure:t})),k.a.createElement(Z_,{className:"slds-align-middle",navRight:e.navRight,onRenderControls:e.onRenderControls,type:"controls"}))}var Z_=X_,ex={icon:o.a.node,info:o.a.node,onRenderControls:o.a.func,title:o.a.node,variant:o.a.string};$_.displayName="PageHeaderBase",$_.propTypes=ex;function tx(e){var t;if(e.iconName)t=k.a.createElement(en,{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=H()(e.icon.props.className,n)),t=k.a.cloneElement(e.icon,{className:n})}return k.a.createElement(k.a.Fragment,null,k.a.createElement("div",{className:"slds-page-header__row"},k.a.createElement("div",{className:"slds-page-header__col-title"},k.a.createElement(Ts,{body:k.a.createElement(k.a.Fragment,null,k.a.createElement("div",{className:"slds-page-header__name"},k.a.createElement(E_,{content:e.title,label:e.label}))),figure:t})),k.a.createElement(Z_,{contentRight:e.contentRight,onRenderActions:e.onRenderActions,type:"actions"})),e.details?k.a.createElement("div",{className:"slds-page-header__row slds-page-header__row_gutters"},k.a.createElement("div",{className:"slds-page-header__col-details"},k.a.createElement(q_,{details:e.details}))):null)}var nx=$_,rx={details:o.a.array,label:o.a.node,icon:o.a.element,onRenderActions:o.a.func,title:o.a.node};tx.displayName="PageHeaderRecordHome",tx.propTypes=rx;function ox(e){var t;if(e.iconName)t=k.a.createElement(en,{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=H()(e.icon.props.className,n)),t=k.a.cloneElement(e.icon,{className:n})}return k.a.createElement(k.a.Fragment,null,k.a.createElement("div",{className:"slds-page-header__row"},k.a.createElement("div",{className:"slds-page-header__col-title"},k.a.createElement(Ts,{body:k.a.createElement(k.a.Fragment,null,e.trail?k.a.createElement(y_,{style:{lineHeight:"1.3"},trail:e.trail}):null,k.a.createElement("div",{className:"slds-page-header__name"},k.a.createElement(E_,{content:e.title,label:e.trail?null:e.label}),e.nameSwitcherDropdown?k.a.createElement("div",{className:"slds-page-header__name-switcher"},e.nameSwitcherDropdown):null)),figure:t})),k.a.createElement(Z_,{className:H()({"slds-align-middle slds-p-bottom_none":!e.onRenderControls&&!e.navRight}),contentRight:e.contentRight,onRenderActions:e.onRenderActions,type:"actions"})),k.a.createElement("div",{className:"slds-page-header__row"},k.a.createElement("div",{className:"slds-page-header__col-meta"},k.a.createElement(g_,{content:e.info,variant:e.variant})),k.a.createElement(Z_,{className:H()({"slds-align-middle":!e.onRenderActions&&!e.comntentRight}),navRight:e.navRight,onRenderControls:e.onRenderControls,type:"controls"})))}var cx=tx,ax={label:o.a.node,icon:o.a.element,info:o.a.node,nameSwitcherDropdown:o.a.node,onRenderActions:o.a.func,onRenderControls:o.a.func,title:o.a.node,trail:o.a.array,variant:o.a.string};ox.displayName="PageHeaderObjectHome",ox.propTypes=ax;function sx(e){return k.a.createElement(k.a.Fragment,null,k.a.createElement("div",{className:"slds-page-header__row"},k.a.createElement("div",{className:"slds-page-header__col-title"},k.a.createElement(y_,{content:e.label,trail:e.trail}),k.a.createElement(Ts,{body:k.a.createElement("div",{className:"slds-page-header__name"},k.a.createElement(E_,{content:e.title,label:e.label}))})),k.a.createElement(Z_,{contentRight:e.contentRight,onRenderActions:e.onRenderActions,type:"actions"})),k.a.createElement("div",{className:"slds-page-header__row"},k.a.createElement("div",{className:"slds-page-header__col-meta"},k.a.createElement(g_,{content:e.info,variant:e.variant})),k.a.createElement(Z_,{navRight:e.navRight,onRenderControls:e.onRenderControls,type:"controls"})))}var ix=ox,lx={label:o.a.node,info:o.a.node,onRenderActions:o.a.func,onRenderControls:o.a.func,title:o.a.node,trail:o.a.array,variant:o.a.string};sx.displayName="PageHeaderRelatedList",sx.propTypes=lx,sx.defaultProps={};var px=sx;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 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!t||"object"!==ux(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function fx(e){return(fx=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function mx(e,t){return(mx=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var vx={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),details:o.a.array,label:o.a.oneOfType([o.a.string,o.a.element]),icon:o.a.element,info:o.a.oneOfType([o.a.string,o.a.element]),joined:o.a.bool,nameSwitcherDropdown:o.a.node,onRenderActions:o.a.func,onRenderControls:o.a.func,title:o.a.oneOfType([o.a.string,o.a.element]),trail:o.a.array,variant:o.a.oneOf(["base","object-home","record-home","related-list"])},gx=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),hx(this,fx(e).apply(this,arguments))}return 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)}(e,s["Component"]),function(e,t,n){t&&dx(e.prototype,t),n&&dx(e,n)}(e,[{key:"componentDidMount",value:function(){h_(te,this.props,f_)}},{key:"render",value:function(){var e,t=this.props,n=t.className,r=t.variant,o=H()("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=ix;break;case"record-home":case"recordHome":e=cx;break;case"related-list":case"relatedList":e=px;break;default:e=nx}return k.a.createElement("div",{className:o},k.a.createElement(e,this.props))}}]),e}();gx.displayName="SLDSPageHeader",gx.propTypes=vx,gx.defaultProps={variant:"base"};function bx(e){return k.a.createElement("div",{className:H()("slds-page-header__control",e.className)},e.children)}var yx=gx,wx={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string])};bx.displayName=ne,bx.propTypes=wx;var _x=bx;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 zx(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!t||"object"!==xx(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Sx(e){return(Sx=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Cx(e,t){return(Cx=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Ex=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ox(this,Sx(e).apply(this,arguments))}return 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&&Cx(e,t)}(e,k.a.Component),function(e,t,n){t&&zx(e.prototype,t),n&&zx(e,n)}(e,[{key:"render",value:function(){return k.a.createElement("div",{className:H()("slds-panel","slds-grid","slds-grid_vertical","slds-nowrap",{"slds-panel_filters":"filters"===this.props.variant},this.props.className)},k.a.createElement("div",{className:"slds-form_stacked slds-grow slds-scrollable_y slds-grid slds-grid_vertical"},this.props.children))}}]),e}();Ex.displayName="SLDSPanel",Ex.propTypes={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),variant:o.a.oneOf(["filters"])};var Mx=Ex;function Tx(e){var t=e.addFilterLabel,n=e.onClickAdd,r=e.onClickRemoveAll,o=e.removeAllLabel;return k.a.createElement("div",{className:"slds-filters__footer slds-grid slds-shrink-none"},k.a.createElement(Cn,{label:t,onClick:n,variant:"link"}),k.a.createElement(Cn,{className:"slds-col_bump-left",label:o,onClick:r,variant:"link"}))}var Nx=function(){};Tx.displayName="SLDSPanelFilterFooter",Tx.propTypes={addFilterLabel:o.a.node.isRequired,onClickAdd:o.a.func.isRequired,onClickRemoveAll:o.a.func.isRequired,removeAllLabel:o.a.node.isRequired};function kx(e){var t=e.assistiveText,n=e.cancelLabel,r=e.heading,o=e.modified,c=e.onRequestCancel,a=e.onRequestClose,s=e.onRequestSave,i=e.saveLabel;return o?k.a.createElement("div",{className:"slds-filters__header slds-grid slds-has-divider_bottom-space slds-grid_align-spread"},k.a.createElement(Cn,{label:n,onClick:c,variant:"neutral"}),k.a.createElement(Cn,{label:i,onClick:s,variant:"brand"})):k.a.createElement("div",{className:"slds-filters__header slds-grid slds-has-divider_bottom-space"},k.a.createElement("h2",{className:"slds-align-middle slds-text-heading_small"},r),k.a.createElement(Cn,{className:"slds-col_bump-left",assistiveText:{icon:t.closeButton},iconCategory:"utility",iconName:"forward",iconVariant:"bare",iconSize:"small",onClick:a,title:t.closeButton,variant:"icon"}))}var Hx=Tx;kx.displayName="SLDSPanelFilterHeader",kx.propTypes={assistiveText:o.a.shape({closeButton:o.a.string}),cancelLabel:o.a.string,heading:o.a.node,modified:o.a.bool,onRequestCancel:o.a.func,onRequestClose:o.a.func,onRequestSave:o.a.func,saveLabel:o.a.string};var jx=kx;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}function Ix(e){Nx(ee,e);var t=e.children,n=e.errorLabel,r=e.footer,o=e.header,c=e.variant,a=e.addFilterLabel,s=e.onClickAdd,i=e.onClickRemoveAll,l=e.removeAllLabel,p=e.cancelLabel,u=e.heading,d=e.modified,h=e.onRequestCancel,f=e.onRequestClose,m=e.onRequestSave,v=e.saveLabel,g=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Px(t,e,n[e])})}return t}({},Lx.assistiveText,e.assistiveText);return e.assistiveTextCloseFilterPanel&&(g.closeButton=e.assistiveTextCloseFilterPanel),k.a.createElement("div",{className:"slds-filters"},"panel"===c?k.a.createElement(jx,{assistiveText:g,cancelLabel:p,heading:u,modified:d,onRequestCancel:h,onRequestClose:f,onRequestSave:m,saveLabel:v}):o||null,k.a.createElement("div",{className:"slds-filters__body"},n?k.a.createElement("div",{className:"slds-text-color_error slds-m-bottom_x-small",role:"alert"},n):null,t),"panel"===c?k.a.createElement(Hx,{addFilterLabel:a,onClickAdd:s,onClickRemoveAll:i,removeAllLabel:l}):r||null)}var Lx={addFilterLabel:"Add Filter",cancelLabel:"Cancel",assistiveText:{closeButton:"Close Filter Panel"},heading:"Filter",saveLabel:"Save",removeAllLabel:"Remove All"};Ix.displayName=ee,Ix.propTypes={assistiveText:o.a.shape({closeButton:o.a.string}),addFilterLabel:o.a.node,cancelLabel:o.a.string,children:o.a.node,errorLabel:o.a.string,footer:o.a.node,header:o.a.node,heading:o.a.oneOfType([o.a.node,o.a.string]),modified:o.a.bool,onClickAdd:o.a.func,onClickRemoveAll:o.a.func,onRequestCancel:o.a.func,onRequestClose:o.a.func,onRequestSave:o.a.func,removeAllLabel:o.a.node,saveLabel:o.a.string,variant:o.a.oneOf(["panel"])},Ix.defaultProps=Lx;var Vx=Ix;function Dx(e){return(Dx="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){return!t||"object"!==Dx(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Ax(e){return(Ax=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Bx(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 Fx(e,t,n){return t&&Bx(e.prototype,t),n&&Bx(e,n),e}function qx(e,t){return(qx=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Kx,Wx,Ux,Gx=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=Rx(this,Ax(n).call(this,e))).generatedId=f.a.generate(),t}return 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&&qx(e,t)}(n,k.a.Component),Fx(n,null,[{key:"propTypes",value:function(){return{children:o.a.node}}}]),Fx(n,[{key:"render",value:function(){var o=this,e=k.a.Children.map(this.props.children,function(e,t){var n,r=e&&e.props.id?e.props.id:"".concat(o.generatedId,"-").concat(t);return e&&e.props.errorLabel&&(n=k.a.cloneElement(e,{isError:!0})),e?k.a.createElement("li",{className:"slds-item slds-hint-parent"},n||e,e.props.errorLabel?k.a.createElement("p",{id:"".concat(r,"-error"),className:"slds-text-color_error slds-m-top_xx-small"},e.props.errorLabel):null):null});return k.a.createElement("ol",{className:"slds-list_vertical slds-list_vertical-space"},e)}}]),n}();Ux="SLDSFilterList",(Wx="displayName")in(Kx=Gx)?Object.defineProperty(Kx,Wx,{value:Ux,enumerable:!0,configurable:!0,writable:!0}):Kx[Wx]=Ux;function Yx(e){var t=e.heading,n=e.isLocked,r=e.lockedHeading;return k.a.createElement("h3",{className:H()("slds-text-body_small","slds-m-vertical_x-small",{"slds-grid":n})},n?r:t,n?k.a.createElement(en,{className:"slds-m-left_x-small",assistiveText:{label:"locked"},category:"utility",name:"lock",size:"x-small"}):null)}var Qx=Gx;Yx.displayName="SLDSPanelFilterListHeading",Yx.propTypes={heading:o.a.oneOfType([o.a.node,o.a.string]),isLocked:o.a.bool,lockedHeading:o.a.string},Yx.defaultProps={heading:"Matching all these filters",lockedLabel:"Locked filters"};var Jx=Yx;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(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 Zx(e){return(Zx=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}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,t){return(tz=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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={assistiveText:o.a.shape({listboxLabel:o.a.string,removePill:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,labels:o.a.shape({removePillTitle:o.a.string}),options:o.a.arrayOf(o.a.shape({avatar:o.a.oneOfType([o.a.node,o.a.shape({imgSrc:o.a.string,title:o.a.string,variant:o.a.string})]),bare:o.a.bool,error:o.a.bool,icon:o.a.oneOfType([o.a.node,o.a.shape({category:o.a.string,name:o.a.string})]),id:o.a.string,label:o.a.oneOfType([o.a.node,o.a.string]),title:o.a.string})),onClickPill:o.a.func,onRequestRemovePill:o.a.func,style:o.a.object,variant:o.a.oneOf(["base","bare"])},oz=function(){function t(e){var i;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),nz(ez(i=function(e,t){return!t||"object"!==Xx(t)&&"function"!=typeof t?ez(e):t}(this,Zx(t).call(this,e))),"getId",function(){return i.props.id||i.generatedId}),nz(ez(i),"getNewActiveOptionIndex",function(e){var t=e.activeOptionIndex,n=t+e.offset;return e.options.length>n&&0<=n?n:t}),nz(ez(i),"handleBlurPill",function(){i.preserveFocus?i.preserveFocus=!1:i.setState({listboxHasFocus:!1})}),nz(ez(i),"handleClickPill",function(e,t){i.setState({activeSelectedOption:t.option,activeSelectedOptionIndex:t.index,listboxHasFocus:!0}),i.props.onClickPill&&i.props.onClickPill(e,{index:t.index,option:t.option})}),nz(ez(i),"handlePillFocus",function(){i.state.listboxHasFocus||i.setState({listboxHasFocus:!0})}),nz(ez(i),"handleNavigatePillContainer",function(e,t){var a=t.direction,s={next:1,previous:-1};i.setState(function(e){var t,n=i.props.options,r=e.activeSelectedOptionIndex+1===n.length&&"next"===a,o=0===e.activeSelectedOptionIndex&&"previous"===a;if(r)t={activeSelectedOption:n[0],activeSelectedOptionIndex:0,listboxHasFocus:!0};else if(o)t={activeSelectedOption:n[n.length-1],activeSelectedOptionIndex:n.length-1,listboxHasFocus:!0};else{var c=i.getNewActiveOptionIndex({activeOptionIndex:e.activeSelectedOptionIndex,offset:s[a],options:n});t={activeSelectedOption:n[c],activeSelectedOptionIndex:c,listboxHasFocus:!0}}return i.preserveFocus=!0,t})}),nz(ez(i),"handleRequestFocusPillContainer",function(e,t){var n=t.ref;n&&(i.activeSelectedOptionRef=n,i.activeSelectedOptionRef.focus())}),nz(ez(i),"handleRequestRemove",function(e,t){i.props.onRequestRemovePill&&(i.preserveFocus=!0,i.props.onRequestRemovePill(e,{index:t.index,option:t.option}))}),nz(ez(i),"resetActiveSelectedOption",function(){var e=i.props.options,t=i.state.activeSelectedOptionIndex;e[t]||(t=0<e.length&&t>=e.length?e.length-1:0),i.setState({activeSelectedOption:e[t]||void 0,activeSelectedOptionIndex:t,listboxHasFocus:!!e[t]})}),i.state={activeSelectedOption:i.props.options&&i.props.options[0]||void 0,activeSelectedOptionIndex:0,listboxHasFocus:!1},i.activeSelectedOptionRef=null,i.generatedId=f.a.generate(),i.preserveFocus=!1,i}return 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&&tz(e,t)}(t,k.a.Component),function(e,t,n){t&&$x(e.prototype,t),n&&$x(e,n)}(t,[{key:"componentDidUpdate",value:function(){(this.props.options&&0<this.props.options.length&&!this.props.options[this.state.activeSelectedOptionIndex]||this.preserveFocus)&&(this.resetActiveSelectedOption(),this.preserveFocus=!1)}},{key:"render",value:function(){return 0<this.props.options.length?k.a.createElement(qd,{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}}]),t}();oz.displayName="SLDSPillContainer",oz.defaultProps={assistiveText:{listboxLabel:"Selected Options:",removePill:"Press delete or backspace to remove"},labels:{removePillTitle:"Remove"}},oz.propTypes=rz;var cz=oz;function az(e){return(az="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 sz(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 iz(e,t){return!t||"object"!==az(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function lz(e){return(lz=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function pz(e,t){return(pz=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var uz={assistiveText:o.a.shape({progress:o.a.string}),id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),labels:o.a.shape({label:o.a.oneOfType([o.a.string,o.a.node]),complete:o.a.oneOfType([o.a.string,o.a.node])}),radius:o.a.oneOf(["circular"]),color:o.a.oneOf(["success"]),thickness:o.a.oneOf(["x-small","small","medium","large"]),value:o.a.number.isRequired,orientation:o.a.oneOf(["horizontal","vertical"]),style:o.a.object},dz={assistiveText:{progress:"Progress"},labels:{complete:"Complete"},orientation:"horizontal",style:{height:"100%"}},hz=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=iz(this,lz(n).call(this,e))).generatedId=f.a.generate(),t}return 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&&pz(e,t)}(n,k.a.Component),function(e,t,n){t&&sz(e.prototype,t),n&&sz(e,n)}(n,[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getDescription",value:function(e){var t=e.labels;return t.label?k.a.createElement("div",{className:"slds-grid slds-grid_align-spread slds-p-bottom_x-small",id:"progress-bar-label-".concat(this.getId())},k.a.createElement("span",null,t.label),k.a.createElement("span",{"aria-hidden":"true"},k.a.createElement("strong",null,this.props.value,"% ",t.complete))):""}},{key:"render",value:function(){var e=Nn()({},dz.labels,this.props.labels),t=Nn()({},dz.assistiveText,this.props.assistiveText),n=Nn()({},dz.style,this.props.style);return k.a.createElement("div",{id:this.getId(),style:n},"horizontal"===this.props.orientation&&this.getDescription({labels:e}),k.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:H()("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})},k.a.createElement("span",{className:H()("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,"%")}},k.a.createElement("span",{className:"slds-assistive-text"},"".concat(t.progress,": "),"".concat(this.props.value,"%")))))}}]),n}();hz.displayName="SLDSProgressBar",hz.propTypes=uz,hz.defaultProps=dz;var fz=hz;function mz(e){return(mz="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 vz(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 gz(e,t){return!t||"object"!==mz(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function bz(e){return(bz=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function yz(e,t){return(yz=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var wz={assistiveText:o.a.shape({completedStep:o.a.string,disabledStep:o.a.string,percentage:o.a.string,step:o.a.string}),id:o.a.oneOfType([o.a.number,o.a.string]),index:o.a.number,isCompleted:o.a.bool,isDisabled:o.a.bool,isError:o.a.bool,isSelected:o.a.bool,label:o.a.node,onClick:o.a.func,onFocus:o.a.func,step:o.a.object,tooltipIsOpen:o.a.bool,tooltipPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"])},_z=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),gz(this,bz(e).apply(this,arguments))}return 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&&yz(e,t)}(e,k.a.Component),function(e,t,n){t&&vz(e.prototype,t),n&&vz(e,n)}(e,[{key:"buttonIcon",value:function(e,t,n){var r={isSelected:n.isSelected,isError:n.isError,isCompleted:n.isCompleted,isDisabled:n.isDisabled,step:n.step},o=e?k.a.createElement(tt,{category:"utility",name:this.props.isError?"error":"success"}):null;return n.isDisabled?k.a.createElement("a",{className:H()("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"},o,k.a.createElement("span",{className:"slds-assistive-text"},this.props.step.assistiveText||k.a.createElement(k.a.Fragment,null,"".concat(n.assistiveText.step," ").concat(n.index+1,": "),n.step.label,"- ".concat(t)))):k.a.createElement("button",{className:H()("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"},o,k.a.createElement("span",{className:"slds-assistive-text"},this.props.step.assistiveText||k.a.createElement(k.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),k.a.createElement("li",{className:H()("slds-progress__item",{"slds-is-completed":this.props.isCompleted,"slds-is-active":this.props.isSelected&&!this.props.isError,"slds-has-error":this.props.isError})},k.a.createElement(hn,n,this.buttonIcon(e,t,this.props)))}}]),e}();_z.propTypes=wz,_z.displayName="SLDSProgressIndicatorStep";var xz=_z;function zz(e){return(zz="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 Oz(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 Sz(e,t){return!t||"object"!==zz(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Cz(e){return(Cz=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ez(e,t){return(Ez=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Mz={assistiveText:o.a.shape({percentage:o.a.string}),value:o.a.string.isRequired},Tz=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Sz(this,Cz(e).apply(this,arguments))}return 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&&Ez(e,t)}(e,k.a.Component),function(e,t,n){t&&Oz(e.prototype,t),n&&Oz(e,n)}(e,[{key:"render",value:function(){return k.a.createElement("div",{className:H()("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"},k.a.createElement("span",{className:"slds-progress-bar__value",style:"vertical"===this.props.orientation?{height:"".concat(this.props.value,"%")}:{width:"".concat(this.props.value,"%")}},k.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText.percentage||"Progress: ".concat(this.props.value,"%"))))}}]),e}();Tz.displayName="ProgressBar",Tz.propTypes=Mz;var Nz=Tz;function kz(e){return(kz="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 Hz(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 jz(e,t){return!t||"object"!==kz(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function Pz(e){return(Pz=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Iz(e,t){return(Iz=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Lz={assistiveText:o.a.shape({percentage:o.a.string}),children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string.isRequired,orientation:o.a.oneOf(["horizontal","vertical"]),value:o.a.string.isRequired,variant:o.a.oneOf(["base","modal","setup-assistant"])},Vz=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),jz(this,Pz(e).apply(this,arguments))}return 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&&Iz(e,t)}(e,k.a.Component),function(e,t,n){t&&Hz(e.prototype,t),n&&Hz(e,n)}(e,[{key:"getId",value:function(){return this.props.id}},{key:"render",value:function(){return k.a.createElement("div",{id:this.getId(),className:H()("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)},k.a.createElement("ol",{className:H()("slds-progress__list",{"slds-progress__list-bordered":"setup-assistant"===this.props.variant})},this.props.children),"vertical"!==this.props.orientation&&k.a.createElement(Nz,{value:this.props.value,orientation:this.props.orientation,assistiveText:this.props.assistiveText}))}}]),e}();Vz.propTypes=Lz,Vz.displayName="SLDSProgressIndicatorProgress";var Dz=Vz;function Rz(e){return(Rz="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 Az(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 Bz(e){return(Bz=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Fz(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qz(e,t){return(qz=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Kz(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Wz={index:o.a.number,isCompleted:o.a.bool,isError:o.a.bool,isSelected:o.a.bool,step:o.a.object,variant:o.a.string},Uz=function(){function c(){var e,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];return Kz(Fz(n=function(e,t){return!t||"object"!==Rz(t)&&"function"!=typeof t?Fz(e):t}(this,(e=Bz(c)).call.apply(e,[this].concat(r)))),"stepIcon",function(e){var t=e?k.a.createElement(en,{category:"utility",size:"x-small",name:n.props.isError?"error":"success"}):null;return k.a.createElement("span",{className:H()("slds-progress__marker",{"slds-progress__marker_icon":e,"slds-progress__marker_icon-success":"setup-assistant"===n.props.variant&&e&&!n.props.isError})},t)}),Kz(Fz(n),"renderStepContent",function(){return n.props.step.onRenderSetupAssistantAction||n.props.step.setupAssistantEstimatedTime?k.a.createElement("div",{id:"progress-indicator-vertical-label-".concat(n.props.step.id||n.props.index),className:"slds-progress__item_content slds-grid slds-grid_align-spread"},k.a.createElement("div",{className:"slds-size_3-of-4"},n.props.step.label),k.a.createElement("div",{className:"slds-grid slds-grid_align-end slds-size_1-of-4"},k.a.createElement("div",{className:"slds-media__figure slds-media__figure_reverse"},n.props.step.onRenderSetupAssistantAction,n.props.step.setupAssistantEstimatedTime&&k.a.createElement("p",{className:"slds-text-align_right slds-text-color_weak slds-p-top_medium"},n.props.step.setupAssistantEstimatedTime)))):k.a.createElement("div",{id:"progress-indicator-vertical-label-".concat(n.props.step.id||n.props.index),className:"slds-progress__item_content slds-grid slds-grid_align-spread"},n.props.step.label)}),n}return 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&&qz(e,t)}(c,k.a.Component),function(e,t,n){t&&Az(e.prototype,t),n&&Az(e,n)}(c,[{key:"render",value:function(){var e=this.props.isCompleted||this.props.isError;return k.a.createElement("li",{className:H()("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())}}]),c}();Uz.propTypes=Wz,Uz.displayName="SLDSProgressIndicatorStepVertical";var Gz=Uz;function Yz(e){return(Yz="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 Qz(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jz(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 Xz(e,t){return!t||"object"!==Yz(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function $z(e){return($z=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Zz(e,t){return(Zz=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var eO={assistiveText:o.a.shape({completedStep:o.a.string,disabledStep:o.a.string,percentage:o.a.string,step:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),completedSteps:o.a.array,disabledSteps:o.a.array,errorSteps:o.a.array,id:o.a.string,orientation:o.a.oneOf(["horizontal","vertical"]),onStepClick:o.a.func,onStepFocus:o.a.func,selectedStep:o.a.object.isRequired,steps:o.a.array.isRequired,tooltipIsOpenSteps:o.a.array,variant:o.a.oneOf(["base","modal","setup-assistant"]),tooltipPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"])},tO=[{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"}],nO={assistiveText:{completedStep:"Completed",disabledStep:"Disabled",errorStep:"Error",step:"Step"},errorSteps:[],completedSteps:[],disabledSteps:[],orientation:"horizontal",selectedStep:tO[0],variant:"base",onStepClick:function(){},onStepFocus:function(){}};function rO(t,e){if(!t||!e)return!1;var n=Array.isArray(e)?e:[e];return!!cd()(n,function(e){return e===t||(void 0!==e.id&&void 0!==t.id?e.id===t.id:JSON.stringify(e)===JSON.stringify(t))})}var oO=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=Xz(this,$z(n).call(this,e))).generatedId=f.a.generate(),t}return 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&&Zz(e,t)}(n,k.a.Component),function(e,t,n){t&&Jz(e.prototype,t),n&&Jz(e,n)}(n,[{key:"componentWillUnmount",value:function(){this.isUnmounting=!0}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getSteps",value:function(){return function(e){var t=void 0!==e,n=Array.isArray(e)&&e.every(function(e){return void 0!==e.label});return t&&n}(this.props.steps)?this.props.steps:tO}},{key:"render",value:function(){for(var n=this,r=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){Qz(t,e,n[e])})}return t}({},nO.assistiveText,this.props.assistiveText),e=this.props,o=e.selectedStep,c=e.disabledSteps,a=e.errorSteps,s=e.completedSteps,t=this.getSteps(),i=0,l=0;l<t.length;l+=1)void 0===t[l].id&&(t[l].id=l),rO(t[l],this.props.selectedStep)&&(i=l);var p="setup-assistant"===this.props.variant?"vertical":this.props.orientation,u=this.props.tooltipPosition||("modal"===this.props.variant?"absolute":"overflowBoundaryElement"),d="vertical"===p?Gz:xz;return k.a.createElement(Dz,{assistiveText:r,id:this.getId(),orientation:p,value:0===i?"0":"".concat(i/(t.length-1)*100),variant:this.props.variant,className:this.props.className},t.map(function(e,t){return k.a.createElement(d,{assistiveText:r,key:"".concat(n.getId(),"-").concat(e.id),id:n.getId(),index:t,isSelected:rO(e,o),isDisabled:rO(e,c),isError:rO(e,a),isCompleted:rO(e,s),onClick:n.props.onStepClick,onFocus:n.props.onStepFocus,step:e,tooltipIsOpen:rO(e,n.props.tooltipIsOpenSteps),tooltipPosition:u,variant:n.props.variant})}))}}]),n}();oO.displayName="SLDSProgressIndicator",oO.propTypes=eO,oO.defaultProps=nO;function cO(e){var t={height:"large"===e.size?"2rem":"1.5rem"};return"fill"===e.flowDirection&&(t.transform="scaleX(1) rotate(-90deg)"),k.a.createElement("div",{id:e.id,className:H()("slds-progress-ring",e.className)},k.a.createElement("div",{"aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":100*e.fillPercentDecimal,className:"slds-progress-ring__progress",role:"progressbar",style:t},k.a.createElement("svg",{viewBox:"-1 -1 2 2"},k.a.createElement("path",{className:"slds-progress-ring__path",d:function(e){return function(e,t,n){return"M 1 0 A 1 1 0 ".concat(e," 1 ").concat(t," ").concat(n," L 0 0")}(.5<e?1:0,Math.cos(2*Math.PI*e),Math.sin(2*Math.PI*e))}(e.fillPercentDecimal)}))),k.a.createElement("div",{className:"slds-progress-ring__content"},e.children))}var aO=oO,sO={id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),fillPercentDecimal:o.a.number,flowDirection:o.a.oneOf(["drain","fill"]),size:o.a.oneOf(["medium","large"])};cO.displayName="SLDSProgressRingShape",cO.propTypes=sO,cO.defaultProps={fillPercentDecimal:0};var iO,lO=cO;function pO(e){return(pO="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){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 dO(e,t){return!t||"object"!==pO(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function hO(e){return(hO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function fO(e,t){return(fO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mO(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var vO=Object.freeze({ACTIVE:"active",WARNING:"warning",EXPIRED:"expired",COMPLETE:"complete"}),gO=(mO(iO={},vO.ACTIVE,"slds-progress-ring_active-step"),mO(iO,vO.WARNING,"slds-progress-ring_warning"),mO(iO,vO.EXPIRED,"slds-progress-ring_expired"),mO(iO,vO.COMPLETE,"slds-progress-ring_complete"),iO),bO={id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),theme:o.a.oneOf(["active","warning","expired","complete"]),icon:o.a.node,hasIcon:o.a.bool,value:o.a.number.isRequired,flowDirection:o.a.oneOf(["drain","fill"]),size:o.a.oneOf(["medium","large"])},yO=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),dO(this,hO(e).apply(this,arguments))}return 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)}(e,k.a.Component),function(e,t,n){t&&uO(e.prototype,t),n&&uO(e,n)}(e,[{key:"icon",value:function(){var e="";return this.props.hasIcon&&(this.props.icon?e=this.props.icon:this.props.theme===vO.WARNING?e=k.a.createElement(en,{category:"utility",name:"warning",title:"Warning"}):this.props.theme===vO.EXPIRED?e=k.a.createElement(en,{category:"utility",name:"error",title:"Expired"}):this.props.theme===vO.COMPLETE&&(e=k.a.createElement(en,{category:"utility",name:"check",title:"Complete"}))),e}},{key:"percentDecimal",value:function(){return this.props.value/100}},{key:"themeClass",value:function(){return gO[this.props.theme]||""}},{key:"render",value:function(){return k.a.createElement(lO,{id:this.props.id,size:this.props.size,className:H()(this.props.className,this.themeClass(),{"slds-progress-ring_large":"large"===this.props.size}),fillPercentDecimal:this.percentDecimal(),flowDirection:this.props.flowDirection},this.icon())}}]),e}();yO.displayName="SLDSProgressRing",yO.propTypes=bO,yO.defaultProps={flowDirection:"drain",size:"medium"};var wO=yO,_O=n(55);var xO=function(){};function zO(e){return(zO="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(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){SO(t,e,n[e])})}return t}function SO(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function CO(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 EO(e,t){return!t||"object"!==zO(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function MO(e){return(MO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function TO(e,t){return(TO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var NO={assistiveText:o.a.shape({icon:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),icon:o.a.node,theme:o.a.oneOf(["dark","light"])},kO=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),t=EO(this,MO(n).call(this,e)),xO(se,e,_O),t}return 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&&TO(e,t)}(n,k.a.Component),function(e,t,n){t&&CO(e.prototype,t),n&&CO(e,n)}(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=OO({},t,this.props.icon.props.assistiveText)),e=k.a.cloneElement(this.props.icon,OO({},this.props.icon.props,{assistiveText:t}))}else e=k.a.createElement(en,{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 k.a.createElement("div",{className:H()("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"},k.a.createElement("div",{className:"slds-media__figure"},e),k.a.createElement("div",{className:"slds-media__body"},this.props.children))}}]),n}();kO.displayName=se,kO.propTypes=NO,kO.defaultProps={};var HO=kO;var jO=function(){},PO=n(17);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 LO(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function VO(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 DO(e,t){return!t||"object"!==IO(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function RO(e){return(RO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function AO(e,t){return(AO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var BO={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isCard:o.a.bool,onStepToggleIsOpen:o.a.func,progressBar:o.a.node},FO=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=DO(this,RO(n).call(this,e))).generatedId=f.a.generate(),t}return 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&&AO(e,t)}(n,k.a.Component),function(e,t,n){t&&VO(e.prototype,t),n&&VO(e,n)}(n,[{key:"componentDidMount",value:function(){jO(ce,this.props,PO)}},{key:"componentDidUpdate",value:function(){jO(ce,this.props,PO)}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var n=this,e=k.a.createElement("ol",{id:this.getId(),className:H()("slds-setup-assistant",this.props.className)},k.a.Children.map(this.props.children,function(e,t){return e.type.displayName!==ae?null:k.a.cloneElement(e,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){LO(t,e,n[e])})}return t}({index:t,onToggleIsOpen:n.props.onStepToggleIsOpen,stepNumber:t+1},e.props))}));return this.props.isCard?k.a.createElement("section",{className:"slds-card"},k.a.createElement("header",{className:"slds-theme_shade slds-p-around_medium slds-m-bottom_small"},this.props.progressBar),e):k.a.createElement(k.a.Fragment,null,e)}}]),n}();FO.displayName=ce,FO.propTypes=BO,FO.defaultProps={isCard:!1};var qO=FO;function KO(e){return(KO="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(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){JO(t,e,n[e])})}return t}function UO(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 GO(e){return(GO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function YO(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function QO(e,t){return(QO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function JO(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var XO={assistiveText:o.a.shape({expandStep:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),description:o.a.oneOfType([o.a.string,o.a.node]),estimatedTime:o.a.oneOfType([o.a.string,o.a.node]),heading:o.a.oneOfType([o.a.string,o.a.node]),id:o.a.string,index:o.a.number,isExpandable:o.a.bool,isOpen:o.a.bool,onRenderAction:o.a.func,onRenderContent:o.a.func,onRenderFigure:o.a.func,onToggleIsOpen:o.a.func,progress:o.a.number,stepNumber:o.a.number},$O={assistiveText:{expandStep:"Expand Step"}},ZO=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),JO(YO(t=function(e,t){return!t||"object"!==KO(t)&&"function"!=typeof t?YO(e):t}(this,GO(n).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=f.a.generate(),t.state={isOpen:e.isOpen||!1},jO(ae,t.props,PO),t}return 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)}(n,k.a.Component),function(e,t,n){t&&UO(e.prototype,t),n&&UO(e,n)}(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 k.a.createElement(k.a.Fragment,null,k.a.createElement("div",{className:"slds-setup-assistant__step-summary-content slds-media__body"},k.a.createElement("h3",{className:"slds-setup-assistant__step-summary-title slds-text-heading_small"},this.props.isExpandable?k.a.createElement(Cn,{"aria-controls":"".concat(this.getId(),"-detail-content"),className:"slds-button_reset",label:this.props.heading,onClick:this.toggleIsOpen,variant:"base"}):this.props.heading),k.a.createElement("p",null,this.props.description)),k.a.createElement("div",{className:"slds-media__figure slds-media__figure_reverse"},this.props.onRenderAction?this.props.onRenderAction():null,this.props.estimatedTime?k.a.createElement("p",{className:H()("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(0<this.props.progress&&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===Q){var n={position:"relative",top:this.props.isExpandable?"5px":"-3px"};e.props.containerStyle&&(n=WO({},n,e.props.containerStyle)),e=k.a.cloneElement(e,WO({},e.props,{containerStyle:n,size:"small"})),e=k.a.createElement("div",{className:"slds-media__figure"},e)}}else void 0!==this.props.progress&&(e=k.a.createElement("div",{className:"slds-media__figure"},k.a.createElement(wO,{hasIcon:!0,icon:100===this.props.progress?null:this.props.stepNumber,flowDirection:"fill",size:"large",theme:t,value:this.props.progress})));return k.a.createElement("div",{className:"slds-setup-assistant__step-summary"},k.a.createElement("div",{className:"slds-media"},e,this.props.isExpandable||void 0!==this.props.progress?k.a.createElement("div",{className:"slds-media__body slds-m-top_x-small"},k.a.createElement("div",{className:"slds-media"},this.renderMediaContent())):this.renderMediaContent()))}},{key:"render",value:function(){var e=Nn()({},$O.assistiveText,this.props.assistiveText);return k.a.createElement("li",{className:H()("slds-setup-assistant__item",this.props.className),id:this.getId()},k.a.createElement("article",{className:"slds-setup-assistant__step"},this.props.isExpandable?k.a.createElement("div",{className:H()("slds-summary-detail",{"slds-is-open":this.getIsOpen()})},k.a.createElement(Cn,{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"}),k.a.createElement("div",{className:"slds-container_fluid"},k.a.createElement("div",{className:"slds-summary-detail__title"},this.renderSummary()),k.a.createElement("div",{className:"slds-summary-detail__content",id:"".concat(this.getId(),"-detail-content")},k.a.createElement("div",{className:"slds-setup-assistant__step-detail"},this.props.onRenderContent?this.props.onRenderContent():null)))):this.renderSummary()))}}]),n}();ZO.displayName=ae,ZO.propTypes=XO,ZO.defaultProps=$O;var eS=ZO;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){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){return(oS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function cS(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function aS(e,t){return(aS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sS(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var iS={"aria-describedby":o.a.string,assistiveText:o.a.shape({disabled:o.a.string,label:o.a.string}),classNameContainer:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),defaultValue:o.a.number,disabled:o.a.bool,errorText:o.a.string,id:o.a.string,label:o.a.string,max:o.a.number,min:o.a.number,name:o.a.string,onChange:o.a.func,onInput:o.a.func,size:o.a.oneOf(["x-small","small","medium","large"]),step:o.a.number,value:o.a.number,vertical:o.a.bool},lS={assistiveText:{disabled:"Disabled"},min:0,max:100,step:1},pS=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),sS(cS(t=function(e,t){return!t||"object"!==tS(t)&&"function"!=typeof t?cS(e):t}(this,oS(n).call(this,e))),"handleChange",function(e){Xn()(t.props.onChange)&&t.props.onChange(e,{value:Number(e.target.value)})}),sS(cS(t),"handleInput",function(e){Xn()(t.props.onInput)&&t.props.onInput(e,{value:Number(e.target.value)})}),t.generatedId=f.a.generate(),t.props.errorText&&(t.generatedErrorId=f.a.generate()),t}return 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&&aS(e,t)}(n,k.a.Component),function(e,t,n){t&&rS(e.prototype,t),n&&rS(e,n)}(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=fn(this.props);e["aria-describedby"]=this.getErrorId();var t=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){sS(t,e,n[e])})}return t}({},lS.assistiveText,this.props.assistiveText),n=this.props.label||this.props.assistiveText&&this.props.assistiveText.label;return k.a.createElement("div",{className:H()("slds-form-element",{"slds-has-error":this.props.errorText},this.props.classNameContainer)},k.a.createElement("label",{className:H()("slds-form-element__label",{"slds-assistive-text":this.props.assistiveText&&!this.props.label}),htmlFor:this.getId()},k.a.createElement("span",{className:"slds-slider-label"},n?k.a.createElement("span",{className:"slds-slider-label__label"},n):null,k.a.createElement("span",{className:"slds-slider-label__range"},this.props.min," - ",this.props.max),this.props.disabled?k.a.createElement("span",{className:"slds-assistive-text"}," ",t.disabled):null)),k.a.createElement("div",{className:"slds-form-element__control"},k.a.createElement("div",{className:H()("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})},k.a.createElement("input",nS({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})),k.a.createElement("span",{className:"slds-slider__value","aria-hidden":"true"},this.props.value||this.props.defaultValue||"0")),this.props.errorText?k.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},this.props.errorText):null))}}]),n}();sS(pS,"displayName","SLDSSlider"),sS(pS,"propTypes",iS),sS(pS,"defaultProps",lS);function uS(e){var t=e.isOpen,n=e.assistiveText,r=e.ariaControls,o=e.events,c=t?n.toggleButtonOpen:n.toggleButtonClose;return k.a.createElement(Cn,{className:H()("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:o.onClick,assistiveText:{icon:c}})}var dS=pS,hS={assistiveText:o.a.shape({toggleButtonOpen:o.a.string.isRequired,toggleButtonClose:o.a.string.isRequired}),ariaControls:o.a.string.isRequired,isOpen:o.a.bool.isRequired,events:o.a.shape({onClick:o.a.func.isRequired})};uS.displayName="SLDSSplitViewToggleButton",uS.propTypes=hS,uS.defaultProps={};var fS=uS;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 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 gS(e,t){return!t||"object"!==mS(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function bS(e){return(bS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function yS(e,t){return(yS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function wS(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:o.a.shape({toggleButtonOpen:o.a.string,toggleButtonClose:o.a.string}),id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),isOpen:o.a.bool,events:o.a.shape({onClose:o.a.func,onOpen:o.a.func}),master:o.a.oneOfType([o.a.arrayOf(o.a.element),o.a.element]).isRequired,masterWidth:o.a.string,detail:o.a.oneOfType([o.a.arrayOf(o.a.element),o.a.element]).isRequired},xS=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=gS(this,bS(n).call(this,e))).state={isOpen:"boolean"!=typeof e.isOpen||e.isOpen},t.generatedId=f.a.generate(),t}return 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)}(n,k.a.Component),function(e,t,n){t&&vS(e.prototype,t),n&&vS(e,n)}(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 t=this;return k.a.createElement("div",{id:this.getId(),className:H()("slds-grid",this.props.className),style:{height:"100%"}},k.a.createElement("div",{style:{maxWidth:this.getIsOpen()?this.props.masterWidth:"0",minWidth:this.getIsOpen()?this.props.masterWidth:"0"},className:H()("slds-split-view_container",{"slds-is-open":this.getIsOpen()},{"slds-is-closed":!this.getIsOpen()})},k.a.createElement(fS,{assistiveText:this.props.assistiveText,ariaControls:this.getMasterViewId(),isOpen:this.getIsOpen(),events:{onClick:function(e){return t.toggle(e)}}}),k.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)),k.a.createElement("div",{style:{marginLeft:"0.75rem"},className:"slds-grow slds-scrollable_y"},this.props.detail))}}]),n}();wS(xS,"displayName","SLDSSplitView"),wS(xS,"propTypes",_S),wS(xS,"defaultProps",{assistiveText:{toggleButtonOpen:"Close split view",toggleButtonClose:"Open split view"},events:{},masterWidth:"20rem"});var zS=xS;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 SS(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function CS(e){var t=e.className,n=SS(e,["className"]);return k.a.createElement(yx,OS({className:H()("slds-split-view__header slds-has-bottom-magnet",t)},n))}CS.displayName="SLDSSplitViewHeader",CS.propTypes={},CS.defaultProps={};function ES(e){var t=e.item;return k.a.createElement("div",null,k.a.createElement("div",{className:"slds-grid slds-wrap"},k.a.createElement("span",{className:"slds-truncate slds-text-body_regular slds-text-color_default",title:t.label},t.label),k.a.createElement("span",{className:"slds-truncate slds-col_bump-left",title:t.topRightText},t.topRightText)),k.a.createElement("div",{className:"slds-grid slds-wrap"},k.a.createElement("span",{className:"slds-truncate",title:t.bottomLeftText},t.bottomLeftText),k.a.createElement("span",{className:"slds-truncate slds-col_bump-left",title:t.bottomLeftText},t.bottomRightText)))}var MS=CS,TS={item:o.a.shape({label:o.a.string,topRightText:o.a.string,bottomLeftText:o.a.string,bottomRightText:o.a.string})};ES.displayName="SLDSSplitViewListItemContent",ES.propTypes=TS,ES.defaultProps={};var NS=ES;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 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 jS(e,t){return!t||"object"!==kS(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function PS(e){return(PS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function IS(e,t){return(IS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function LS(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var VS={assistiveText:o.a.shape({unreadItem:o.a.string}),item:o.a.object.isRequired,multiple:o.a.bool,isFocused:o.a.bool.isRequired,isSelected:o.a.bool.isRequired,isUnread:o.a.bool,events:o.a.shape({onClick:o.a.func.isRequired}),listItemRef:o.a.func},DS={assistiveText:{unreadItem:"Unread Item"},events:{}},RS=function(n){var e=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),jS(this,PS(e).apply(this,arguments))}return 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)}(e,k.a.Component),function(e,t,n){t&&HS(e.prototype,t),n&&HS(e,n)}(e,[{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?k.a.createElement("abbr",{className:"slds-indicator_unread",title:this.props.assistiveText.unreadItem,"aria-label":this.props.assistiveText.unreadItem},k.a.createElement("span",{className:"slds-assistive-text"},"●")):null}},{key:"render",value:function(){var t=this;return k.a.createElement("li",{className:H()("slds-split-view__list-item",{"slds-is-unread":this.props.isUnread}),role:"presentation"},k.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(),k.a.createElement(n,this.props)))}}]),e}();return LS(e,"displayName","".concat("SLDSSplitViewListItemWithContent","(").concat(n.displayName||n.name||"Component",")")),LS(e,"propTypes",VS),LS(e,"defaultProps",DS),e};function AS(e){return(AS="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 BS(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,c=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,c=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw c}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function FS(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function qS(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 KS(e,t){return!t||"object"!==AS(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function WS(e){return(WS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function US(e,t){return(US=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function GS(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var YS=Object.freeze({UP:"up",DOWN:"down"}),QS={assistiveText:o.a.shape({list:o.a.string,sort:o.a.shape({sortedBy:o.a.string,descending:o.a.string,ascending:o.a.string}),unreadItem:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),events:o.a.shape({onSelect:o.a.func.isRequired,onSort:o.a.func}),id:o.a.string,labels:o.a.shape({header:o.a.string}),sortDirection:o.a.oneOf([YS.UP,YS.DOWN]),multiple:o.a.bool,options:o.a.array.isRequired,selection:o.a.array,unread:o.a.array,listItem:o.a.func},JS=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=KS(this,WS(n).call(this,e))).listItemComponents={},t.state={currentSelectedItem:null,currentFocusedListItem:{index:0,item:null}},t.ListItemWithContent=RS(e.listItem||NS),t}return 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&&US(e,t)}(n,k.a.Component),function(e,t,n){t&&qS(e.prototype,t),n&&qS(e,n)}(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?(bt.trap(e),this.props.options===this.props.selection?this.deselectAllListItems(e):this.selectAllListItems(e)):"ArrowUp"===e.key?(bt.trap(e),this.moveToPreviousItem(e)):"ArrowDown"===e.key&&(bt.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 t=this,e=this.props.options.find(function(e){return t.props.selection.includes(e)})||this.props.options[0];e&&this.focusItem(e,!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(t,e){var n=[t];if(this.props.multiple)if(e.metaKey)n=this.props.selection.includes(t)?this.props.selection.filter(function(e){return e!==t}):[t].concat(FS(this.props.selection));else if(e.shiftKey){var r=BS([this.props.options.indexOf(this.state.currentSelectedItem),this.props.options.indexOf(t)].sort(),2),o=r[0],c=r[1],a=this.props.options.slice(o,c+1);n=[].concat(FS(a),FS(this.props.selection.filter(function(e){return!a.includes(e)})))}this.setState({currentSelectedItem:t}),this.props.events.onSelect(e,{selectedItems:n,item:t})}},{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?k.a.createElement(en,{category:"utility",name:this.props.sortDirection===YS.DOWN?"arrowdown":"arrowup",size:"xx-small",className:"slds-align-top"}):null}},{key:"headerWrapper",value:function(e){return this.props.events.onSort?k.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):k.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(k.a.createElement("span",{"aria-sort":this.props.sortDirection===YS.DOWN?this.props.assistiveText.sort.descending:this.props.assistiveText.sort.ascending},k.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText.sort.sortedBy,": "),k.a.createElement("span",null,this.props.labels.header,this.sortDirection()),k.a.createElement("span",{className:"slds-assistive-text"},"- ",this.props.sortDirection===YS.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 n=this,r=this.ListItemWithContent;return this.props.options.map(function(e,t){return k.a.createElement(r,{key:e.id||t,assistiveText:{unreadItem:n.props.assistiveText.unreadItem},listItemRef:function(e){n.addListItemComponent(e,t)},item:e,isFocused:n.isListItemFocused(e),isSelected:n.isSelected(e),isUnread:n.isUnread(e),events:{onClick:function(e,t){return n.handleOnSelect(e,t)}},multiple:n.props.multiple})})}},{key:"render",value:function(){var t=this;return k.a.createElement("div",{id:this.props.id,className:H()("slds-grid slds-grid_vertical slds-scrollable_none",this.props.className)},this.header(),k.a.createElement("ul",{className:"slds-scrollable_y","aria-label":this.props.assistiveText.list,"aria-multiselectable":this.props.multiple,role:"listbox",onKeyDown:function(e){return t.handleKeyDown(e)}},this.listItems()))}}]),n}();GS(JS,"displayName","SLDSSplitViewListbox"),GS(JS,"propTypes",QS),GS(JS,"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 XS=JS;var $S=function(){},ZS=n(56);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){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 rC(e){return(rC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function oC(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function cC(e,t){return(cC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function aC(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=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),aC(oC(t=function(e,t){return!t||"object"!==eC(t)&&"function"!=typeof t?oC(e):t}(this,rC(n).call(this,e))),"getId",function(){return t.props.id||t.generatedId}),aC(oC(t),"getErrorId",function(){return t.props["aria-describedby"]||t.generatedErrorId}),$S(L,e,ZS),t.generatedId=f.a.generate(),e.errorText&&(t.generatedErrorId=f.a.generate()),t}return 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&&cC(e,t)}(n,k.a.Component),function(e,t,n){t&&nC(e.prototype,t),n&&nC(e,n)}(n,[{key:"render",value:function(){var e=this.props,t=e.autoFocus,n=e.children,r=e.className,o=e.classNameContainer,c=e.disabled,a=e.errorText,s=e.textareaRef,i=e.label,l=e.onBlur,p=e.onChange,u=e.onClick,d=e.onFocus,h=e.onInput,f=e.onInvalid,m=e.onKeyDown,v=e.onKeyPress,g=e.onKeyUp,b=e.onSelect,y=e.onSubmit,w=e.maxLength,_=e.name,x=e.placeholder,z=e.required,O=e.role,S=e.value,C=e.defaultValue,E=e.wrap,M=fn(this.props),T="string"==typeof this.props.assistiveText?this.props.assistiveText:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){aC(t,e,n[e])})}return t}({},this.props.assistiveText).label,N=i||T;return k.a.createElement("div",{className:H()("slds-form-element",{"slds-has-error":a},o)},N&&k.a.createElement("label",{className:H()("slds-form-element__label",{"slds-assistive-text":T&&!i}),htmlFor:this.getId()},z&&k.a.createElement("abbr",{className:"slds-required",title:"required"},"*"),N),k.a.createElement("div",{className:H()("slds-form-element__control")},k.a.createElement("textarea",tC({className:H()("slds-textarea",r),autoFocus:t,disabled:c,id:this.getId(),maxLength:w,name:_,onBlur:l,onChange:p,onClick:u,onFocus:d,onInput:h,onInvalid:f,onKeyDown:m,onKeyPress:v,onKeyUp:g,onSelect:b,onSubmit:y,placeholder:x,ref:s,role:O,required:z,wrap:E,value:S,defaultValue:C},M))),a&&k.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},a),n)}}]),n}();aC(sC,"displayName",L),aC(sC,"propTypes",{assistiveText:o.a.shape({label:o.a.string}),"aria-activedescendant":o.a.string,"aria-autocomplete":o.a.string,"aria-controls":o.a.string,"aria-describedby":o.a.string,"aria-expanded":o.a.bool,"aria-haspopup":o.a.bool,"aria-labelledby":o.a.string,"aria-owns":o.a.string,"aria-required":o.a.bool,autoFocus:o.a.bool,children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),classNameContainer:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),disabled:o.a.bool,errorText:o.a.string,id:o.a.string,textareaRef:o.a.func,label:o.a.string,onBlur:o.a.func,onChange:o.a.func,onClick:o.a.func,onFocus:o.a.func,onInput:o.a.func,onInvalid:o.a.func,onKeyDown:o.a.func,onKeyPress:o.a.func,onKeyUp:o.a.func,onSelect:o.a.func,onSubmit:o.a.func,maxLength:o.a.string,name:o.a.string,placeholder:o.a.string,required:o.a.bool,value:o.a.string,defaultValue:o.a.string,wrap:o.a.oneOf(["soft","hard"])});var iC=sC,lC=n(57),pC=n.n(lC);var uC=function(){};function dC(e){return(dC="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 hC(){return(hC=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 fC(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}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 vC(e){return(vC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function gC(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function bC(e,t){return(bC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yC(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var wC=function(){function c(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c);for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return yC(gC(t=function(e,t){return!t||"object"!==dC(t)&&"function"!=typeof t?gC(e):t}(this,(e=vC(c)).call.apply(e,[this].concat(r)))),"handleKeyDown",function(e){t.props.onKeyDown&&e.keyCode&&(e.keyCode!==wt.ENTER&&e.keyCode!==wt.DOWN&&e.keyCode!==wt.UP&&e.keyCode!==wt.ESCAPE||t.props.onKeyDown(e))}),t}return 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&&bC(e,t)}(c,k.a.Component),function(e,t,n){t&&mC(e.prototype,t),n&&mC(e,n)}(c,[{key:"render",value:function(){var e=this.props,t=e.iconRight,n=e.menu,r=e.onBlur,o=e.onFocus,c=(e.onKeyDown,e.onMouseDown),a=e.triggerRef,s=fC(e,["iconRight","menu","onBlur","onFocus","onKeyDown","onMouseDown","triggerRef"]);return k.a.createElement("div",{onBlur:r,onFocus:o,onKeyDown:this.handleKeyDown,onMouseDown:c},k.a.createElement(Li,hC({iconRight:t},s,{inputRef:a}),n))}}]),c}();yC(wC,"displayName",$),yC(wC,"propTypes",{iconRight:o.a.node,id:o.a.string,label:o.a.string,menu:o.a.node,onBlur:o.a.func,onClick:o.a.func,onFocus:o.a.func,onKeyDown:o.a.func,onMouseDown:o.a.func,triggerRef:o.a.func,value:o.a.string});var _C=wC,xC=n(58);function zC(e){return(zC="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){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){return(SC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function CC(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function EC(e,t){return(EC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function MC(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var TC=function(){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),MC(CC(r=function(e,t){return!t||"object"!==zC(t)&&"function"!=typeof t?CC(e):t}(this,SC(t).call(this,e))),"state",{value:r.props.value,strValue:r.props.strValue,options: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 c=t.formatter(o);r.push({label:c,value:new Date(o)}),o.setMinutes(o.getMinutes()+t.stepInMinutes)}return r}({props:r.props})}),MC(CC(r),"parseDate",function(e){var t=r.props.parser(e);return pC()(t)&&!isNaN(t.getTime())?t:new Date}),MC(CC(r),"handleChange",function(e,t){r.setState({value:e,strValue:t}),r.props.onDateChange&&r.props.onDateChange(e,t)}),MC(CC(r),"handleSelect",function(e){e&&e.value&&r.handleChange(e.value,e.label)}),MC(CC(r),"handleInputChange",function(e){var t=e.target.value;if(r.setState({strValue:t}),r.props.onDateChange){var n=r.props.parser(t);r.props.onDateChange(n,t)}}),uC(le,e,xC),r}return 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&&EC(e,t)}(t,k.a.Component),function(e,t,n){t&&OC(e.prototype,t),n&&OC(e,n)}(t,[{key:"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 k.a.createElement(ba,{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},k.a.createElement(_C,{iconRight:k.a.createElement(Js,{category:"utility",name:"clock"}),onChange:this.handleInputChange,placeholder:this.props.placeholder,required:this.props.required,type:"text",value:this.state.strValue}))}}]),t}();MC(TC,"displayName",le),MC(TC,"propTypes",{constrainToScrollParent:o.a.bool,disabled:o.a.bool,formatter:o.a.func,inheritTargetWidth:o.a.bool,label:o.a.string,listItemRenderer:o.a.func,menuPosition:o.a.oneOf(["absolute","overflowBoundaryElement","relative"]),onDateChange:o.a.func,parser:o.a.func,placeholder:o.a.string,required:o.a.bool,stepInMinutes:o.a.number,strValue:o.a.string,value:o.a.instanceOf(Date)}),MC(TC,"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 NC=TC;var kC=function(){},HC=n(59);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){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){return(IC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function LC(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function VC(e,t){return(VC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}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 RC={assistiveText:o.a.shape({closeButton:o.a.oneOfType([o.a.string,o.a.node])}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),duration:o.a.number,labels:o.a.shape({details:o.a.oneOfType([o.a.string,o.a.node]),heading:o.a.oneOfType([o.a.string,o.a.node]),headingLink:o.a.oneOfType([o.a.string,o.a.node])}),onClickHeadingLink:o.a.func,icon:o.a.node,onRequestClose:o.a.func,style:o.a.object,variant:o.a.oneOf(["error","info","success","warning"]).isRequired},AC={assistiveText:{closeButton:"Close",error:"error",info:"info",success:"success",warning:"warning"},variant:"info"},BC=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),DC(LC(t=function(e,t){return!t||"object"!==jC(t)&&"function"!=typeof t?LC(e):t}(this,IC(n).call(this,e))),"onClose",function(){t.clearTimeout(),t.props.onRequestClose&&t.props.onRequestClose()}),DC(LC(t),"clearTimeout",function(){t.timeout&&(clearTimeout(t.timeout),t.timeout=null)}),DC(LC(t),"saveToastRef",function(e){t.toast=e,t.state.isInitialRender&&(Et.storeActiveElement(),t.toast&&t.toast.focus(),t.setState({isInitialRender:!1}))}),t.state={isInitialRender:!0},t.timeout=null,t.toast=null,kC("SLDSToast",e,HC),t}return 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)}(n,k.a.Component),function(e,t,n){t&&PC(e.prototype,t),n&&PC(e,n)}(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(),Et.returnFocusToStoredElement()}},{key:"render",value:function(){var e=Nn()({},AC.assistiveText,this.props.assistiveText),t=Nn()({},AC.labels,this.props.labels),n=t.heading||this.props.content,r={info:e.info,success:e.success,warning:e.warning,error:e.error},o={info:k.a.createElement(en,{category:"utility",name:"info"}),success:k.a.createElement(en,{category:"utility",name:"success"}),warning:k.a.createElement(en,{category:"utility",name:"warning"}),error:k.a.createElement(en,{category:"utility",name:"error"})},c=this.props.icon?this.props.icon:o[this.props.variant],a=k.a.cloneElement(c,{containerClassName:"slds-m-right_small slds-no-flex slds-align-top",inverse:!0,size:"small"});return k.a.createElement("div",{className:Gt("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},k.a.createElement("span",{className:"slds-assistive-text"},r[this.props.variant]),a,k.a.createElement("div",{className:"slds-notify__content"},k.a.createElement("h2",{className:"slds-text-heading_small"},n," ",t.headingLink?k.a.createElement("a",{onClick:this.props.onClickHeadingLink,href:"javascript:void(0);"},t.headingLink):null),t.details?k.a.createElement("p",null,t.details):null),k.a.createElement(Cn,{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"}))}}]),n}();BC.defaultProps=AC,BC.displayName="SLDSToast",BC.propTypes=RC;var FC=BC;function qC(e){return(qC="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 KC(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 WC(e,t){return!t||"object"!==qC(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function UC(e){return(UC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function GC(e,t){return(GC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var YC={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),children:o.a.node},QC=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),WC(this,UC(e).apply(this,arguments))}return 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&&GC(e,t)}(e,k.a.Component),function(e,t,n){t&&KC(e.prototype,t),n&&KC(e,n)}(e,[{key:"render",value:function(){return k.a.createElement("div",{className:Gt("slds-notify-container",this.props.className)},this.props.children)}}]),e}();QC.displayName="SLDSToastContainer",QC.propTypes=YC;var JC=QC;function XC(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $C(e){var t=e.event,n=e.props,r=e.fromFocus;bt.trap(t),Xn()(n.onSelect)&&n.onSelect({event:t,data:{node:n.node,select:!n.node.selected,treeIndex:n.treeIndex},fromFocus:r})}function ZC(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=function(e,t){var n=e.map(function(e){return e.node});return e[(Dp()(n,{id:t.id})+1)%e.length]}(t.flattenedNodes,t.node);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}}function eE(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=function(e,t){var n=e.map(function(e){return e.node}),r=Dp()(n,{id:t.id})-1;return r<0&&(r+=e.length),e[r]}(t.flattenedNodes,t.node);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}}function tE(e,t){var n;wd(e,{callbacks:(n={},XC(n,wt.DOWN,{callback:function(e){return ZC(e,t)}}),XC(n,wt.UP,{callback:function(e){return eE(e,t)}}),XC(n,wt.LEFT,{callback:function(e){return function(e,t){var n=t.flattenedNodes.map(function(e){return e.node}),r=Dp()(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)}}),XC(n,wt.ENTER,{callback:function(e){return function(e,t){$C({event:e,props:t})}(e,t)}}),n)})}function nE(t){var e=t.node.selected,n=t.treeIndex===t.focusedNodeIndex;return k.a.createElement("li",{id:"".concat(t.treeId,"-").concat(t.node.id),role:"treeitem","aria-level":t.level,"aria-selected":e?"true":"false",tabIndex:function(e){var t=0===e.selectedNodeIndexes.length&&e.treeIndex===e.flattenedNodes[0].treeIndex;return e.treeIndex===e.focusedNodeIndex||t?0:-1}(t),onKeyDown:function(e){return tE(e,t)},onFocus:function(e){return function(e,t){t.treeHasFocus||t.focusedNodeIndex||e.target!==e.currentTarget||$C({event:e,props:t})}(e,t)},onBlur:t.onNodeBlur,ref:function(e){t.treeHasFocus&&e&&n&&e.focus()}},k.a.createElement("div",{className:H()("slds-tree__item",{"slds-is-selected":e}),onClick:function(e){$C({event:e,props:t})}},k.a.createElement(Cn,{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}),k.a.createElement("span",{className:"slds-size_1-of-1"},k.a.createElement(Zr,{search:t.searchTerm,className:"slds-tree__item-label slds-truncate"},t.label))))}nE.displayName="SLDSTreeItem",nE.propTypes={htmlId:o.a.string.isRequired,label:o.a.oneOfType([o.a.node,o.a.string]).isRequired,level:o.a.number.isRequired,node:o.a.object.isRequired,onExpand:o.a.func.isRequired,onSelect:o.a.func,searchTerm:o.a.string,treeId:o.a.string,treeIndex:o.a.string,flattenedNodes:o.a.arrayOf(o.a.object),selectedNodeIndexes:o.a.arrayOf(o.a.string),focusedNodeIndex:o.a.string,onNodeBlur:o.a.func,treeHasFocus:o.a.bool,parent:o.a.object},nE.defaultProps={selected:!1,selectedNodeIndexes:[]};function rE(e,t){return k.a.createElement("ul",{"aria-labelledby":"".concat(t.htmlId,"__heading"),className:H()("slds-tree",t.initalClassName),onScroll:function(e){!function(e,t){var n=e.target.scrollTop/(e.target.scrollHeight-e.target.clientHeight)*100;Xn()(t.onScroll)&&t.onScroll(e,{percentage:n})}(e,t)},role:"tree",style:t.initialStyle},e)}var oE=nE,cE={htmlId:o.a.oneOfType([o.a.number,o.a.string]).isRequired,initalClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),initialStyle:o.a.object};rE.displayName="TreeInitialNode",rE.propTypes=cE;var aE=rE;function sE(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function iE(e,t){bt.trap(e),Xn()(t.onExpand)&&t.onExpand({event:e,data:{node:t.node,expand:!t.node.expanded,treeIndex:t.treeIndex}})}function lE(e){var t=e.event,n=e.props,r=e.fromFocus;bt.trap(t),Xn()(n.onSelect)&&n.onSelect({event:t,data:{node:n.node,select:!n.node.selected,treeIndex:n.treeIndex},fromFocus:r})}function pE(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=function(e,t){var n=e.map(function(e){return e.node});return e[(Dp()(n,{id:t.id})+1)%e.length]}(t.flattenedNodes,t.node);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}}function uE(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=function(e,t){var n=e.map(function(e){return e.node}),r=Dp()(n,{id:t.id})-1;return r<0&&(r+=e.length),e[r]}(t.flattenedNodes,t.node);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}}function dE(e,t){var n;wd(e,{callbacks:(n={},sE(n,wt.DOWN,{callback:function(e){return pE(e,t)}}),sE(n,wt.UP,{callback:function(e){return uE(e,t)}}),sE(n,wt.RIGHT,{callback:function(e){return function(e,t){t.node.expanded?t.getNodes(t.node)&&0<t.getNodes(t.node).length&&pE(e,t):iE(e,t)}(e,t)}}),sE(n,wt.LEFT,{callback:function(e){return function(e,t){if(t.node.expanded)iE(e,t);else{var n=t.flattenedNodes.map(function(e){return e.node}),r=Dp()(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)}}),sE(n,wt.ENTER,{callback:function(e){return function(e,t){lE({event:e,props:t})}(e,t)}}),n)})}function hE(e,t){var n=t.node.expanded,r=t.node.selected,o=t.treeIndex===t.focusedNodeIndex,c=t.node.loading,a=k.a.createElement("div",{style:{display:"block",paddingLeft:"".concat(1.5*t.level+1.5,"rem"),marginTop:".5rem"}},k.a.createElement("div",{style:{borderRadius:"15rem",display:"block",marginBottom:".75rem",height:".5rem",backgroundColor:"rgb(224, 229, 238)",width:"40%"}}),k.a.createElement("div",{style:{borderRadius:"15rem",display:"block",marginBottom:".75rem",height:".5rem",backgroundColor:"rgb(224, 229, 238)",width:"80%"}}),k.a.createElement("div",{style:{borderRadius:"15rem",display:"block",marginBottom:".75rem",height:".5rem",backgroundColor:"rgb(224, 229, 238)",width:"60%"}})),s=t.node.assistiveText||("string"==typeof t.node.label?t.node.label:null);return k.a.createElement("li",{id:t.htmlId,role:"treeitem","aria-level":t.level,"aria-expanded":n?"true":"false","aria-label":t.node.nodes&&0<t.node.nodes.length?s:null,tabIndex:function(e){var t=0===e.selectedNodeIndexes.length&&e.treeIndex===e.flattenedNodes[0].treeIndex;return e.treeIndex===e.focusedNodeIndex||t?0:-1}(t),onKeyDown:function(e){return dE(e,t)},onFocus:function(e){return function(e,t){t.treeHasFocus||t.focusedNodeIndex||e.target!==e.currentTarget||lE({event:e,props:t,fromFocus:!0})}(e,t)},onBlur:t.onNodeBlur,ref:function(e){t.treeHasFocus&&e&&o&&e.focus()}},k.a.createElement("div",{className:H()("slds-tree__item",{"slds-is-selected":r}),onClick:function(e){lE({event:e,props:t})}},k.a.createElement(Cn,{"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){iE(e,t)},tabIndex:"-1"}),k.a.createElement("span",{className:"slds-size_1-of-1",id:"".concat(t.htmlId,"__label")},k.a.createElement(Zr,{search:t.searchTerm,className:"slds-tree__item-label slds-truncate"},t.label))),c?a:null,k.a.createElement("ul",{className:H()({"slds-is-expanded":n,"slds-is-collapsed":!n}),role:"group","aria-labelledby":"".concat(t.htmlId,"__label")},n&&!c?e:null))}var fE={htmlId:o.a.oneOfType([o.a.number,o.a.string]).isRequired,label:o.a.oneOfType([o.a.node,o.a.string]),level:o.a.number.isRequired,node:o.a.object.isRequired,onExpand:o.a.func.isRequired,onSelect:o.a.func,searchTerm:o.a.string,treeIndex:o.a.string,flattenedNodes:o.a.arrayOf(o.a.object),selectedNodeIndexes:o.a.arrayOf(o.a.string),focusedNodeIndex:o.a.string,onNodeBlur:o.a.func,treeHasFocus:o.a.bool,parent:o.a.object};hE.displayName="Branch",hE.propTypes=fE;function mE(r){var e,o="",c=r.treeId,a=r.level,s=r.onExpand,i=r.searchTerm;return Array.isArray(r.getNodes(r.node))&&(e=r.getNodes(r.node).map(function(e,t){var n="".concat(r.treeId,"-").concat(e.id);return o="".concat(t),r.treeIndex&&(o="".concat(r.treeIndex,"-").concat(o)),"branch"===e.type?k.a.createElement(mE,{getNodes:r.getNodes,htmlId:n,key:e.id,label:e.label,level:a+1,node:e,flattenedNodes:r.flattenedNodes,selectedNodeIndexes:r.selectedNodeIndexes,focusedNodeIndex:r.focusedNodeIndex,treeHasFocus:r.treeHasFocus,onNodeBlur:r.onNodeBlur,nodes:e.nodes,onSelect:r.onSelect,onExpand:s,searchTerm:i,treeId:c,treeIndex:o,parent:r.node}):k.a.createElement(oE,{label:e.label,htmlId:n,key:f.a.generate(),level:a+1,node:e,flattenedNodes:r.flattenedNodes,selectedNodeIndexes:r.selectedNodeIndexes,focusedNodeIndex:r.focusedNodeIndex,treeHasFocus:r.treeHasFocus,onNodeBlur:r.onNodeBlur,onSelect:r.onSelect,onExpand:s,searchTerm:i,treeIndex:o,treeId:c,parent:r.node})})),0===r.level?aE(e,r):vE(e,r)}var vE=hE;mE.displayName="SLDSTreeBranch",mE.propTypes={getNodes:o.a.func,htmlId:o.a.oneOfType([o.a.number,o.a.string]).isRequired,index:o.a.number,initial:o.a.bool,initalClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),initialStyle:o.a.object,label:o.a.oneOfType([o.a.node,o.a.string]),level:o.a.number.isRequired,node:o.a.object.isRequired,onSelect:o.a.func,onExpand:o.a.func.isRequired,searchTerm:o.a.string,treeId:o.a.string,treeIndex:o.a.string,flattenedNodes:o.a.arrayOf(o.a.object),selectedNodeIndexes:o.a.arrayOf(o.a.string),focusedNodeIndex:o.a.string,onNodeBlur:o.a.func,treeHasFocus:o.a.bool,parent:o.a.object},mE.defaultProps={level:0,label:"",treeIndex:"",selectedNodeIndexes:[]};var gE=mE;var bE=function(){},yE=n(60);function wE(e){return(wE="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(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){return(xE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function zE(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function OE(e,t){return(OE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function SE(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var CE={assistiveText:o.a.shape({label:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),listClassName:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),getNodes:o.a.func,heading:o.a.oneOfType([o.a.node,o.a.string]),id:o.a.string.isRequired,nodes:o.a.arrayOf(o.a.oneOfType([o.a.number,o.a.string,o.a.shape({id:o.a.oneOfType([o.a.number,o.a.string]).isRequired,label:o.a.oneOfType([o.a.node,o.a.string]).isRequired,type:o.a.string.isRequired})])).isRequired,onClick:o.a.func.isRequired,onExpandClick:o.a.func.isRequired,onScroll:o.a.func,searchTerm:o.a.string,listStyle:o.a.object},EE={assistiveText:{},getNodes:function(e){return e.nodes}},ME=function(){function c(e){var a;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),SE(zE(a=function(e,t){return!t||"object"!==wE(t)&&"function"!=typeof t?zE(e):t}(this,xE(c).call(this,e))),"flattenTree",function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",n=!(2<arguments.length&&void 0!==arguments[2])||arguments[2];if(!e.nodes)return[{node:e,treeIndex:t}];var r=[{node:e,treeIndex:t}];if(e.expanded)for(var o=0;o<e.nodes.length;o+=1){var c=n?e.nodes[o]:a.props.getNodes(e)[o];r=r.concat(a.flattenTree(c,t?"".concat(t,"-").concat(o):"".concat(o),!1))}return r}),SE(zE(a),"handleSelect",function(e){var t,n=e.event,r=e.data,o=e.clearSelectedNodes,c=e.fromFocus;o&&a.state.flattenedNodes.forEach(function(e){e.node.selected&&(e.node.selected=!1)}),c||a.props.onClick(n,r),t=r.select?a.state.selectedNodeIndexes.concat([r.treeIndex]):a.state.selectedNodeIndexes.filter(function(e){return e!==r.treeIndex}),a.treeHasFocus=!0,a.setState({focusedNodeIndex:r.treeIndex,selectedNodeIndexes:t})}),SE(zE(a),"handleNodeBlur",function(){a.treeHasFocus=!1}),SE(zE(a),"handleExpand",function(e){var t=e.event,n=e.data;a.treeHasFocus=!0,a.props.onExpandClick(t,n),n.select&&a.setState({focusedNodeIndex:n.treeIndex})});var t,n=a.flattenTree({nodes:a.props.getNodes({nodes:a.props.nodes}),expanded:!0}).slice(1),r=cd()(n,function(e){return e.node.selected}),o=[];return r&&(o.push(r.treeIndex),t=r.treeIndex),a.state={flattenedNodes:n,selectedNodeIndexes:o,focusedNodeIndex:t},bE("SLDSTree",e,yE),a}return 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)}(c,k.a.Component),function(e,t,n){t&&_E(e.prototype,t),n&&_E(e,n)}(c,[{key:"componentWillReceiveProps",value:function(e){this.setState({flattenedNodes:this.flattenTree({nodes:this.props.getNodes({nodes:e.nodes}),expanded:!0}).slice(1)})}},{key:"render",value:function(){var e="string"==typeof this.props.assistiveText?this.props.assistiveText:function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){SE(t,e,n[e])})}return t}({},EE.assistiveText,this.props.assistiveText).label,t=e||this.props.heading;return k.a.createElement("div",{id:this.props.id,className:H()("slds-tree_container",this.props.className)},k.a.createElement("h4",{className:H()("slds-tree__group-header",{"slds-assistive-text":e}),id:"".concat(this.props.id,"__heading")},t),k.a.createElement(gE,{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}))}}]),c}();ME.displayName="SLDSTree",ME.propTypes=CE,ME.defaultProps=EE;function TE(e){var t=Nn()({},HE.labels,e.labels);return k.a.createElement("div",{className:H()("slds-trial-header slds-grid",e.className),style:e.style},k.a.createElement("div",{className:"slds-grid"},e.children),k.a.createElement("div",{className:"slds-grid slds-grid_vertical-align-center slds-col_bump-left"},k.a.createElement("span",{className:"slds-box slds-box_xx-small slds-theme_default"},t.timeLeft),k.a.createElement("span",{className:"slds-m-horizontal_x-small"},t.timeLeftUnit," ".concat(t.timeLeftUnitAfter)),e.onRenderActions()))}var NE=ME,kE={children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),labels:o.a.shape({timeLeft:o.a.string,timeLeftUnit:o.a.string,timeLeftUnitAfter:o.a.string}),onRenderActions:o.a.func,style:o.a.object},HE={labels:{timeLeftUnitAfter:"left in trial"}};TE.displayName="SLDSTrialBar",TE.propTypes=kE,TE.defaultProps=HE;var jE=TE;function PE(){return(PE=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 IE(e){return k.a.createElement(Cn,PE({},e,{inverse:!0,style:{border:0,padding:0},className:"slds-m-right_small"}))}var LE=Cn.propTypes;IE.propTypes=LE,IE.displayName="SLDSTrialBarButton";var VE=IE;function DE(){return(DE=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 RE(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},c=Object.keys(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function AE(e){var t=e.label,n=RE(e,["label"]);return k.a.createElement(ba,DE({},n,{inverse:!0}),k.a.createElement(Gc,{triggerClassName:"slds-grid"},k.a.createElement(Cn,{inverse:!0,style:{border:0,height:"100%",padding:0},iconCategory:"utility",iconName:"right",iconPosition:"left",label:t})))}var BE=ga.propTypes;AE.propTypes=BE,AE.displayName="SLDSTrialBarDropdown";var FE=AE;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 KE(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!t||"object"!==qE(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function UE(e){return(UE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function GE(e,t){return(GE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var YE={id:o.a.string,children:o.a.node,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),label:o.a.string,coverable:o.a.bool,vertical:o.a.bool,links:o.a.bool,size:o.a.oneOf(["medium","large"])},QE=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),WE(this,UE(e).apply(this,arguments))}return 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)}(e,k.a.Component),function(e,t,n){t&&KE(e.prototype,t),n&&KE(e,n)}(e,[{key:"componentWillMount",value:function(){this.generatedId=f.a.generate()}},{key:"render",value:function(){var n=this,e=k.a.Children.map(this.props.children,function(e,t){return k.a.cloneElement(e,{index:"".concat(n.props.id||n.generatedId,"-").concat(t),coverable:n.props.coverable,variant:"visual-picker",name:"".concat(n.props.id||n.generatedId,"_options"),size:n.props.size,vertical:!!n.props.vertical})});return this.props.links?k.a.createElement("div",{className:"slds-form-element__control"},this.props.children):k.a.createElement("fieldset",{id:this.props.id,className:H()("slds-form-element",this.props.className)},k.a.createElement("legend",{className:"slds-form-element__legend slds-form-element__label"},this.props.label),k.a.createElement("div",{className:"slds-form-element__control"},e))}}]),e}();QE.displayName="SLDSVisualPicker",QE.propTypes=YE,QE.defaultProps={size:"medium",vertical:!1,links:!1};var JE=QE;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(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 ZE(e,t){return!t||"object"!==XE(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function eM(e){return(eM=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function tM(e,t){return(tM=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var nM={id:o.a.string,className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),href:o.a.string,icon:o.a.node,title:o.a.string,description:o.a.string},rM=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),ZE(this,eM(e).apply(this,arguments))}return 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&&tM(e,t)}(e,k.a.Component),function(e,t,n){t&&$E(e.prototype,t),n&&$E(e,n)}(e,[{key:"render",value:function(){return k.a.createElement("a",{href:this.props.href,id:this.props.id,className:H()("slds-box","slds-box_link","slds-theme_default","slds-box_x-small","slds-media","slds-visual-picker_vertical",this.props.className)},k.a.createElement("div",{className:"slds-media__figure slds-media__figure_fixed-width slds-align_absolute-center slds-m-left_xx-small"},this.props.icon),k.a.createElement("div",{className:"slds-media__body slds-border_left slds-p-around_small"},k.a.createElement("h2",{className:"slds-truncate slds-text-heading_small",title:this.props.title},this.props.title),k.a.createElement("p",{className:"slds-m-top_small"},this.props.description)))}}]),e}();rM.displayName="SLDSVisualPickerLink",rM.propTypes=nM;var oM=rM;function cM(e){return(cM="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){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 sM(e,t){return!t||"object"!==cM(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function iM(e){return(iM=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function lM(e,t){return(lM=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var pM={className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,isOpen:o.a.bool,labels:o.a.shape({title:o.a.string,description:o.a.string,unitsCompletedAfter:o.a.string}),variant:o.a.oneOf(["steps","info-only","splash","trailhead-connected"]),onRenderInfoActions:o.a.func,onRequestClose:o.a.func,infoBadge:o.a.node,doNotShowAgainCheckbox:o.a.node},uM={labels:{unitsCompletedAfter:"units completed"},variant:"steps",isOpen:!0},dM=function(){function n(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(t=sM(this,iM(n).call(this,e))).state={completedSteps:0,totalSteps:0,progress:0},t}return 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&&lM(e,t)}(n,k.a.Component),function(e,t,n){t&&aM(e.prototype,t),n&&aM(e,n)}(n,[{key:"componentWillMount",value:function(){this.generatedId=f.a.generate(),this.getCount()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getCount",value:function(){var e=k.a.Children.count(this.props.children),t=k.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 t=this,e=Nn()({},uM.labels,this.props.labels),n=k.a.createElement("div",{className:H()("slds-welcome-mat__info-content",this.props.className),id:"".concat(this.getId(),"-content")},k.a.createElement("h2",{className:"slds-welcome-mat__info-title",id:"".concat(this.getId(),"-label")},e.title),k.a.createElement("div",{className:"slds-welcome-mat__info-description slds-text-longform"},k.a.createElement("p",null,e.description)),"info-only"===this.props.variant||"splash"===this.props.variant?k.a.createElement("div",{className:"slds-welcome-mat__info-actions"},this.props.onRenderInfoActions()?this.props.onRenderInfoActions():null,k.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:k.a.createElement(k.a.Fragment,null,k.a.createElement("div",{className:H()("slds-welcome-mat__info-progress",this.state.completedSteps===this.state.totalSteps?"slds-welcome-mat__info-progress_complete":null)},"trailhead-connected"===this.props.variant?k.a.Children.map(this.props.infoBadge,function(e){return k.a.cloneElement(e,{isComplete:t.state.completedSteps===t.state.totalSteps||null})}):null,this.state.completedSteps!==this.state.totalSteps||"trailhead-connected"!==this.props.variant?k.a.createElement(k.a.Fragment,null,"trailhead-connected"===this.props.variant?k.a.createElement("p",null,this.state.completedSteps,"/",this.state.totalSteps," ".concat(e.unitsCompletedAfter)):k.a.createElement("p",null,k.a.createElement("strong",null,this.state.completedSteps,"/",this.state.totalSteps," ".concat(e.unitsCompletedAfter))),k.a.createElement(fz,{value:this.state.progress,radius:"circular"})):null)));return k.a.createElement(xr,{assistiveText:{dialogLabelledBy:"".concat(this.getId(),"-label")},isOpen:this.props.isOpen,onRequestClose:this.props.onRequestClose,size:"small",id:"".concat(this.getId(),"-modal")},k.a.createElement("div",{className:H()("slds-welcome-mat",{"slds-welcome-mat_info-only":"info-only"===this.props.variant},this.props.children?null:"slds-welcome-mat_splash"),id:this.getId()},k.a.createElement("div",{className:"slds-welcome-mat__content slds-grid"},this.props.children?k.a.createElement(k.a.Fragment,null,k.a.createElement("div",{className:"slds-welcome-mat__info slds-size_1-of-2"},n),k.a.createElement("div",{className:H()("slds-welcome-mat__tiles","slds-size_1-of-2","info-only"===this.props.variant?"slds-welcome-mat__tiles_info-only":null)},k.a.Children.map(this.props.children,function(e){return k.a.cloneElement(e,{variant:t.props.variant})}))):k.a.createElement("div",{className:"slds-welcome-mat__info slds-size_1-of-1"},n))))}}]),n}();dM.displayName="SLDSWelcomeMat",dM.propTypes=pM,dM.defaultProps=uM;var hM=dM;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 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 vM(e,t){return!t||"object"!==fM(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function gM(e){return(gM=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function bM(e,t){return(bM=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var yM={assistiveText:o.a.shape({completed:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,image:o.a.string,isComplete:o.a.bool,onCompleteRenderActions:o.a.func},wM=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),vM(this,gM(e).apply(this,arguments))}return 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&&bM(e,t)}(e,k.a.Component),function(e,t,n){t&&mM(e.prototype,t),n&&mM(e,n)}(e,[{key:"componentWillMount",value:function(){this.generatedId=f.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 k.a.createElement("div",{id:this.getId(),className:this.props.className},k.a.createElement("div",{className:"slds-welcome-mat__info-badge-container"},k.a.createElement("img",{className:"slds-welcome-mat__info-badge",src:this.props.image,width:"50",height:"50",alt:""}),k.a.createElement(en,{category:"action",name:"check",assistiveText:{label:this.getCompletedText()}})),this.props.children,this.props.isComplete?this.props.onCompleteRenderActions():null)}}]),e}();wM.displayName="SLDSWelcomeMatBadge",wM.propTypes=yM,wM.defaultProps={isComplete:!1,variant:"steps"};var _M=wM;function xM(e){return(xM="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 zM(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}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 SM(e,t){return!t||"object"!==xM(t)&&"function"!=typeof t?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}function CM(e){return(CM=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function EM(e,t){return(EM=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var MM={assistiveText:o.a.shape({completedIcon:o.a.string}),className:o.a.oneOfType([o.a.array,o.a.object,o.a.string]),id:o.a.string,title:o.a.string,description:o.a.string,href:o.a.string,icon:o.a.node,isComplete:o.a.bool,variant:o.a.oneOf(["steps","info-only","splash","trailhead-connected"])},TM={assistiveText:{completedIcon:"Completed"},isComplete:!1,variant:"steps"},NM=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),SM(this,CM(e).apply(this,arguments))}return 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&&EM(e,t)}(e,k.a.Component),function(e,t,n){t&&OM(e.prototype,t),n&&OM(e,n)}(e,[{key:"componentWillMount",value:function(){this.generatedId=f.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(e){zM(t,e,n[e])})}return t}({},TM.assistiveText,this.props.assistiveText),t=k.a.createElement(k.a.Fragment,null,k.a.createElement("div",{className:H()("slds-media__figure","slds-media__figure_fixed-width","slds-align_absolute-center")},k.a.createElement("div",{className:"slds-welcome-mat__tile-figure"},k.a.createElement("div",{className:"slds-welcome-mat__tile-icon-container"},this.props.icon,this.props.isComplete&&"info-only"!==this.props.variant?k.a.createElement(en,{assistiveText:{label:e.completedIcon},category:"action",name:"check",title:e.completedIcon}):null))),k.a.createElement("div",{className:"slds-media__body"},k.a.createElement("div",{className:"slds-welcome-mat__tile-body"},k.a.createElement("h3",{className:"slds-welcome-mat__tile-title"},this.props.title),k.a.createElement("p",{className:"slds-welcome-mat__tile-description"},this.props.description))));return k.a.createElement("div",{id:this.getId(),className:H()("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?k.a.createElement("div",{className:"slds-media"},t):k.a.createElement("a",{href:this.props.href,className:"slds-box slds-box_link slds-media"},t))}}]),e}();NM.displayName="SLDSWelcomeMatTile",NM.propTypes=MM,NM.defaultProps=TM;var kM=NM;function HM(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function jM(e){var t,n=e.subheadings,r=e.filteredOptions,o=HM(n),c=r.map(function(n){var r;return o=o.filter(function(e){var t=!0;return n.type===e.id&&(r=e,t=!1),t}),r?[r,n]:[n]});return(t=[]).concat.apply(t,HM(c))}function PM(e){var t=e.action,n=e.event,r=e.eventName,o=e.data,c=e.customLog;c&&n?c({eventName:r,event:n,data:o}):t&&n?t(r)(n,o):console&&console.log&&console.log(r,n,o)}n.d(t,"Accordion",function(){return be}),n.d(t,"SLDSAccordion",function(){return be}),n.d(t,"AccordionPanel",function(){return Mn}),n.d(t,"SLDSAccordionPanel",function(){return Mn}),n.d(t,"Alert",function(){return Bn}),n.d(t,"SLDSAlert",function(){return Bn}),n.d(t,"AlertContainer",function(){return Qn}),n.d(t,"SLDSAlertContainer",function(){return Qn}),n.d(t,"AppLauncher",function(){return kr}),n.d(t,"SLDSAppLauncher",function(){return kr}),n.d(t,"AppLauncherExpandableSection",function(){return Jr}),n.d(t,"SLDSAppLauncherExpandableSection",function(){return Jr}),n.d(t,"AppLauncherLink",function(){return so}),n.d(t,"SLDSAppLauncherLink",function(){return so}),n.d(t,"AppLauncherTile",function(){return Ho}),n.d(t,"SLDSAppLauncherTile",function(){return Ho}),n.d(t,"Avatar",function(){return Ko}),n.d(t,"SLDSAvatar",function(){return Ko}),n.d(t,"Badge",function(){return Xo}),n.d(t,"SLDSBadge",function(){return Xo}),n.d(t,"BrandBand",function(){return ac}),n.d(t,"SLDSBrandBand",function(){return ac}),n.d(t,"BreadCrumb",function(){return Oa}),n.d(t,"SLDSBreadCrumb",function(){return Oa}),n.d(t,"Breadcrumb",function(){return Oa}),n.d(t,"SLDSBreadcrumb",function(){return Oa}),n.d(t,"BuilderHeader",function(){return ka}),n.d(t,"SLDSBuilderHeader",function(){return ka}),n.d(t,"BuilderHeaderMisc",function(){return Pa}),n.d(t,"SLDSBuilderHeaderMisc",function(){return Pa}),n.d(t,"BuilderHeaderNav",function(){return La}),n.d(t,"SLDSBuilderHeaderNav",function(){return La}),n.d(t,"BuilderHeaderNavDropdown",function(){return Aa}),n.d(t,"SLDSBuilderHeaderNavDropdown",function(){return Aa}),n.d(t,"BuilderHeaderNavLink",function(){return Wa}),n.d(t,"SLDSBuilderHeaderNavLink",function(){return Wa}),n.d(t,"BuilderHeaderToolbar",function(){return Ja}),n.d(t,"SLDSBuilderHeaderToolbar",function(){return Ja}),n.d(t,"Button",function(){return Cn}),n.d(t,"SLDSButton",function(){return Cn}),n.d(t,"ButtonGroup",function(){return cs}),n.d(t,"SLDSButtonGroup",function(){return cs}),n.d(t,"ButtonIcon",function(){return tt}),n.d(t,"SLDSButtonIcon",function(){return tt}),n.d(t,"ButtonStateful",function(){return bs}),n.d(t,"SLDSButtonStateful",function(){return bs}),n.d(t,"Card",function(){return Ws}),n.d(t,"SLDSCard",function(){return Ws}),n.d(t,"CardEmpty",function(){return As}),n.d(t,"SLDSCardEmpty",function(){return As}),n.d(t,"CardFilter",function(){return Ai}),n.d(t,"SLDSCardFilter",function(){return Ai}),n.d(t,"Carousel",function(){return pl}),n.d(t,"SLDSCarousel",function(){return pl}),n.d(t,"Checkbox",function(){return Ol}),n.d(t,"SLDSCheckbox",function(){return Ol}),n.d(t,"ColorPicker",function(){return rd}),n.d(t,"SLDSColorPicker",function(){return rd}),n.d(t,"Combobox",function(){return lh}),n.d(t,"SLDSCombobox",function(){return lh}),n.d(t,"SLDSComboboxFilterAndLimit",function(){return sh}),n.d(t,"DataTable",function(){return yf}),n.d(t,"SLDSDataTable",function(){return yf}),n.d(t,"DataTableCell",function(){return vh}),n.d(t,"SLDSDataTableCell",function(){return vh}),n.d(t,"DataTableColumn",function(){return zh}),n.d(t,"SLDSDataTableColumn",function(){return zh}),n.d(t,"DataTableHighlightCell",function(){return wf}),n.d(t,"SLDSDataTableHighlightCell",function(){return wf}),n.d(t,"DataTableRowActions",function(){return of}),n.d(t,"SLDSDataTableRowActions",function(){return of}),n.d(t,"DatePicker",function(){return ym}),n.d(t,"SLDSDatePicker",function(){return ym}),n.d(t,"Datepicker",function(){return ym}),n.d(t,"SLDSDatepicker",function(){return ym}),n.d(t,"Dropdown",function(){return ba}),n.d(t,"DropdownTrigger",function(){return Gc}),n.d(t,"SLDSDropdownTrigger",function(){return Gc}),n.d(t,"DynamicIcon",function(){return Mm}),n.d(t,"SLDSDynamicIcon",function(){return Mm}),n.d(t,"EditDialog",function(){return Rm}),n.d(t,"SLDSEditDialog",function(){return Rm}),n.d(t,"ExpandableSection",function(){return Br}),n.d(t,"SLDSExpandableSection",function(){return Br}),n.d(t,"Expression",function(){return ov}),n.d(t,"SLDSExpression",function(){return ov}),n.d(t,"ExpressionCondition",function(){return hv}),n.d(t,"SLDSExpressionCondition",function(){return hv}),n.d(t,"ExpressionFormula",function(){return Sv}),n.d(t,"SLDSExpressionFormula",function(){return Sv}),n.d(t,"ExpressionGroup",function(){return Qm}),n.d(t,"SLDSExpressionGroup",function(){return Qm}),n.d(t,"File",function(){return Dv}),n.d(t,"SLDSFile",function(){return Dv}),n.d(t,"Files",function(){return Uv}),n.d(t,"SLDSFiles",function(){return Uv}),n.d(t,"FilesFile",function(){return Dv}),n.d(t,"SLDSFilesFile",function(){return Dv}),n.d(t,"FilesMoreFiles",function(){return ng}),n.d(t,"SLDSFilesMoreFiles",function(){return ng}),n.d(t,"Filter",function(){return pg}),n.d(t,"SLDSFilter",function(){return pg}),n.d(t,"GlobalHeader",function(){return _g}),n.d(t,"SLDSGlobalHeader",function(){return _g}),n.d(t,"GlobalHeaderButton",function(){return Sg}),n.d(t,"SLDSGlobalHeaderButton",function(){return Sg}),n.d(t,"GlobalHeaderDropdown",function(){return Rg}),n.d(t,"SLDSGlobalHeaderDropdown",function(){return Rg}),n.d(t,"GlobalHeaderFavorites",function(){return Yg}),n.d(t,"SLDSGlobalHeaderFavorites",function(){return Yg}),n.d(t,"GlobalHeaderHelp",function(){return rb}),n.d(t,"SLDSGlobalHeaderHelp",function(){return rb}),n.d(t,"GlobalHeaderNotifications",function(){return db}),n.d(t,"SLDSGlobalHeaderNotifications",function(){return db}),n.d(t,"GlobalHeaderProfile",function(){return _b}),n.d(t,"SLDSGlobalHeaderProfile",function(){return _b}),n.d(t,"GlobalHeaderSearch",function(){return xb}),n.d(t,"SLDSGlobalHeaderSearch",function(){return xb}),n.d(t,"GlobalHeaderSetup",function(){return kb}),n.d(t,"SLDSGlobalHeaderSetup",function(){return kb}),n.d(t,"GlobalHeaderTask",function(){return Ab}),n.d(t,"SLDSGlobalHeaderTask",function(){return Ab}),n.d(t,"GlobalNavigationBar",function(){return qb}),n.d(t,"SLDSGlobalNavigationBar",function(){return qb}),n.d(t,"GlobalNavigationBarButton",function(){return Ub}),n.d(t,"SLDSGlobalNavigationBarButton",function(){return Ub}),n.d(t,"GlobalNavigationBarDropdown",function(){return iy}),n.d(t,"SLDSGlobalNavigationBarDropdown",function(){return iy}),n.d(t,"GlobalNavigationBarLabel",function(){return py}),n.d(t,"SLDSGlobalNavigationBarLabel",function(){return py}),n.d(t,"GlobalNavigationBarLink",function(){return dy}),n.d(t,"SLDSGlobalNavigationBarLink",function(){return dy}),n.d(t,"GlobalNavigationBarRegion",function(){return wy}),n.d(t,"SLDSGlobalNavigationBarRegion",function(){return wy}),n.d(t,"Icon",function(){return en}),n.d(t,"SLDSIcon",function(){return en}),n.d(t,"IconSettings",function(){return It}),n.d(t,"SLDSIconSettings",function(){return It}),n.d(t,"Illustration",function(){return Sy}),n.d(t,"SLDSIllustration",function(){return Sy}),n.d(t,"InlineEdit",function(){return Vy}),n.d(t,"SLDSInlineEdit",function(){return Vy}),n.d(t,"Input",function(){return Li}),n.d(t,"SLDSInput",function(){return Li}),n.d(t,"InputIcon",function(){return Js}),n.d(t,"SLDSInputIcon",function(){return Js}),n.d(t,"InputSearch",function(){return qy}),n.d(t,"SLDSInputSearch",function(){return qy}),n.d(t,"Lookup",function(){return Lw}),n.d(t,"SLDSLookup",function(){return Lw}),n.d(t,"LookupDefaultFooter",function(){return Jy}),n.d(t,"SLDSLookupDefaultFooter",function(){return Jy}),n.d(t,"LookupDefaultHeader",function(){return ow}),n.d(t,"SLDSLookupDefaultHeader",function(){return ow}),n.d(t,"LookupDefaultSectionDivider",function(){return aw}),n.d(t,"SLDSLookupDefaultSectionDivider",function(){return aw}),n.d(t,"MediaObject",function(){return Ts}),n.d(t,"SLDSMediaObject",function(){return Ts}),n.d(t,"MenuDropdown",function(){return ba}),n.d(t,"SLDSMenuDropdown",function(){return ba}),n.d(t,"MenuDropdownButtonTrigger",function(){return Gc}),n.d(t,"SLDSMenuDropdownButtonTrigger",function(){return Gc}),n.d(t,"SLDSMenuPicklist",function(){return Fw}),n.d(t,"Modal",function(){return xr}),n.d(t,"SLDSModal",function(){return xr}),n.d(t,"ModalTrigger",function(){return qw}),n.d(t,"SLDSModalTrigger",function(){return qw}),n.d(t,"MoreFiles",function(){return ng}),n.d(t,"SLDSMoreFiles",function(){return ng}),n.d(t,"Navigation",function(){return t_}),n.d(t,"SLDSNavigation",function(){return t_}),n.d(t,"Notification",function(){return u_}),n.d(t,"SLDSNotification",function(){return u_}),n.d(t,"PageHeader",function(){return yx}),n.d(t,"SLDSPageHeader",function(){return yx}),n.d(t,"PageHeaderControl",function(){return _x}),n.d(t,"SLDSPageHeaderControl",function(){return _x}),n.d(t,"Panel",function(){return Mx}),n.d(t,"SLDSPanel",function(){return Mx}),n.d(t,"PanelFilterGroup",function(){return Vx}),n.d(t,"SLDSPanelFilterGroup",function(){return Vx}),n.d(t,"PanelFilterList",function(){return Qx}),n.d(t,"SLDSPanelFilterList",function(){return Qx}),n.d(t,"PanelFilterListHeading",function(){return Jx}),n.d(t,"SLDSPanelFilterListHeading",function(){return Jx}),n.d(t,"Picklist",function(){return Fw}),n.d(t,"Pill",function(){return kd}),n.d(t,"SLDSPill",function(){return kd}),n.d(t,"PillContainer",function(){return cz}),n.d(t,"SLDSPillContainer",function(){return cz}),n.d(t,"Popover",function(){return Uu}),n.d(t,"SLDSPopover",function(){return Uu}),n.d(t,"PopoverTooltip",function(){return hn}),n.d(t,"SLDSPopoverTooltip",function(){return hn}),n.d(t,"ProgressBar",function(){return fz}),n.d(t,"SLDSProgressBar",function(){return fz}),n.d(t,"ProgressIndicator",function(){return aO}),n.d(t,"SLDSProgressIndicator",function(){return aO}),n.d(t,"ProgressRing",function(){return wO}),n.d(t,"SLDSProgressRing",function(){return wO}),n.d(t,"Radio",function(){return dp}),n.d(t,"SLDSRadio",function(){return dp}),n.d(t,"RadioButtonGroup",function(){return Jl}),n.d(t,"SLDSRadioButtonGroup",function(){return Jl}),n.d(t,"RadioGroup",function(){return Wl}),n.d(t,"SLDSRadioGroup",function(){return Wl}),n.d(t,"ScopedNotification",function(){return HO}),n.d(t,"SLDSScopedNotification",function(){return HO}),n.d(t,"Search",function(){return qy}),n.d(t,"SLDSSearch",function(){return qy}),n.d(t,"Settings",function(){return sr}),n.d(t,"SLDSSettings",function(){return sr}),n.d(t,"SetupAssistant",function(){return qO}),n.d(t,"SLDSSetupAssistant",function(){return qO}),n.d(t,"SetupAssistantStep",function(){return eS}),n.d(t,"SLDSSetupAssistantStep",function(){return eS}),n.d(t,"Slider",function(){return dS}),n.d(t,"SLDSSlider",function(){return dS}),n.d(t,"Spinner",function(){return ri}),n.d(t,"SLDSSpinner",function(){return ri}),n.d(t,"SplitView",function(){return zS}),n.d(t,"SLDSSplitView",function(){return zS}),n.d(t,"SplitViewHeader",function(){return MS}),n.d(t,"SLDSSplitViewHeader",function(){return MS}),n.d(t,"SplitViewListbox",function(){return XS}),n.d(t,"SLDSSplitViewListbox",function(){return XS}),n.d(t,"Splitview",function(){return zS}),n.d(t,"SLDSSplitview",function(){return zS}),n.d(t,"Tabs",function(){return Mu}),n.d(t,"SLDSTabs",function(){return Mu}),n.d(t,"TabsPanel",function(){return Tu}),n.d(t,"SLDSTabsPanel",function(){return Tu}),n.d(t,"Textarea",function(){return iC}),n.d(t,"SLDSTextarea",function(){return iC}),n.d(t,"TimePicker",function(){return NC}),n.d(t,"SLDSTimePicker",function(){return NC}),n.d(t,"Timepicker",function(){return NC}),n.d(t,"SLDSTimepicker",function(){return NC}),n.d(t,"Toast",function(){return FC}),n.d(t,"SLDSToast",function(){return FC}),n.d(t,"ToastContainer",function(){return JC}),n.d(t,"SLDSToastContainer",function(){return JC}),n.d(t,"Tooltip",function(){return hn}),n.d(t,"SLDSTooltip",function(){return hn}),n.d(t,"Tree",function(){return NE}),n.d(t,"SLDSTree",function(){return NE}),n.d(t,"TrialBar",function(){return jE}),n.d(t,"SLDSTrialBar",function(){return jE}),n.d(t,"TrialBarButton",function(){return VE}),n.d(t,"SLDSTrialBarButton",function(){return VE}),n.d(t,"TrialBarDropdown",function(){return FE}),n.d(t,"SLDSTrialBarDropdown",function(){return FE}),n.d(t,"UNSAFE_DirectionSettings",function(){return ze}),n.d(t,"UtilityIcon",function(){return Xe}),n.d(t,"SLDSUtilityIcon",function(){return Xe}),n.d(t,"VerticalNavigation",function(){return t_}),n.d(t,"SLDSVerticalNavigation",function(){return t_}),n.d(t,"VisualPicker",function(){return JE}),n.d(t,"SLDSVisualPicker",function(){return JE}),n.d(t,"VisualPickerLink",function(){return oM}),n.d(t,"SLDSVisualPickerLink",function(){return oM}),n.d(t,"WelcomeMat",function(){return hM}),n.d(t,"SLDSWelcomeMat",function(){return hM}),n.d(t,"WelcomeMatInfoBadge",function(){return _M}),n.d(t,"SLDSWelcomeMatInfoBadge",function(){return _M}),n.d(t,"WelcomeMatTile",function(){return kM}),n.d(t,"SLDSWelcomeMatTile",function(){return kM}),n.d(t,"comboboxAddSubheadings",function(){return jM}),n.d(t,"comboboxFilterAndLimit",function(){return sh}),n.d(t,"log",function(){return PM})}],o.c=a,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="/",o(o.s=61);function o(e){if(a[e])return a[e].exports;var t=a[e]={i:e,l:!1,exports:{}};return c[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}var c,a}); \ 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'; + +