{"version":3,"sources":["webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/tslib/tslib.es6.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-manager-react/dist/manage-jss.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-manager-react/dist/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-foundation-react/dist/foundation/foundation.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-foundation-react/dist/foundation/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-foundation-react/dist/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/high-contrast.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/node-libs-browser/node_modules/util/util.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/design-system.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-layouts-react/dist/utilities/breakpoint-tracker.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/elevation.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isString.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-layouts-react/dist/utilities/breakpoints.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-dom/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-utilities/dist/units.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/redux-subspace/es/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/common.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux/es/utils/PropTypes.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux/es/components/Provider.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux/es/utils/Subscription.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux/es/components/connectAdvanced.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux/es/utils/shallowEqual.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux/es/connect/wrapMapToProps.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux/es/connect/mapStateToProps.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux/es/connect/mergeProps.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux/es/connect/selectorFactory.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux/es/connect/connect.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/typescript-string-operations/dist/index.min.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/get.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-utilities/dist/format.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/redux/es/redux.js","webpack:///(webpack)/buildin/global.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-web-utilities/dist/class-names.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/density.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/set.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/models/LogLevel.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/svg-foundation/svg-foundation.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/math-utilities.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/node_modules/tslib/tslib.es6.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/palette.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/utilities/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/node_modules/tslib/tslib.es6.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-web-utilities/dist/key-codes.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isArray.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/design-system-provider/design-system-property.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/design-system-provider/design-system-provider.template.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/dist/esm/design-system-provider/design-system-provider.styles.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/dist/esm/design-system-provider/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isNil.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-global/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-nested/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/cms-models-msn/configuration/types/PlatformType.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-foreground-toggle.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-fill-card.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/dist/esm/styles/behaviors.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/findIndex.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux-subspace/es/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-utilities/dist/math.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-utilities/dist/localization.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/process/browser.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/models/ActivityLogItem.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/models/NetworkActivityLogItem.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/ActivityLoggingService.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/utilities/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/color-converters.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/toNumber.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/node_modules/tslib/tslib.es6.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/default-palette.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/design-system/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-utilities/dist/with-defaults.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/color-rgba-64.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/appenders/BrowserConsoleAppender.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/LoggedExceptionManager.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/RuntimeEnvironment.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/LoggingService.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/models/UserActivityType.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/models/PerfCounterItem.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/PerfCounterLoggingService.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/models/UserActivityLogItem.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/UserActivityTrackingService.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/InstrumentationService.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/typography.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/attributes.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/border.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/observation/observable.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/exenv-es6/dist/can-use-dom.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/cursor.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/dom.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-foreground.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/accent-foreground.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseValues.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/values.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/merge.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isEmpty.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/date-fns/esm/_lib/toInteger/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/date-fns/esm/_lib/requiredArgs/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/date-fns/esm/parseISO/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_charsEndIndex.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/trimEnd.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_charsStartIndex.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/trimStart.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-web-utilities/dist/localization.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/endsWith.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseSome.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/some.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isObject.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-web-utilities/dist/dom.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_createCaseFirst.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/upperFirst.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/capitalize.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_arrayReduce.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_basePropertyOf.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_deburrLetter.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/deburr.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_asciiWords.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_hasUnicodeWord.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_unicodeWords.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/words.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_createCompounder.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/camelCase.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-web-utilities/dist/strings.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-focus.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/resolve-pathname/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/value-equal/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/tiny-invariant/dist/tiny-invariant.esm.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/history/esm/history.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/prop-types/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isObjectLike.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_root.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/utilities/colors.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-fill-stealth.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/disabled.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/tabbable/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-outline.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-utilities/dist/apply-focus-visible.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/toString.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_Symbol.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/typography/typography.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/utilities/dom.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-fill-input.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_getRawTag.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_objectToString.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseGetTag.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@babel/runtime/helpers/esm/extends.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/heading/heading.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/color-lab.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/listbox/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isArrayLike.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_copyObject.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/keys.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseIsMatch.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_isStrictComparable.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_getMatchData.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_matchesStrictComparable.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseMatches.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseMatchesProperty.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseProperty.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_basePropertyDeep.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/property.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseIteratee.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_isMasked.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_coreJsData.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseIsNative.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_getValue.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_getNative.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-layer.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/color-constants.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/content-card/content-card.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-fill.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_toKey.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/directives/directive.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_memoizeCapped.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_stringToPath.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_castPath.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/patterns/start-end.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/patterns/button.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/accent-foreground-cut.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-outline-contrast.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/fonts.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isBuffer.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/models/LogItem.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/models/LogType.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_DataView.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_Promise.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_WeakMap.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_getTag.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseIsArguments.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isArguments.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/windows-prong-one/dist/content-card/content-card.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/color-xyz.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/accent-fill.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/warning/browser.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/eq.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_isPrototype.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_arrayMap.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/toInteger.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseIsNaN.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_strictIndexOf.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseIndexOf.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/BaseService.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_stackClear.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_stackDelete.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_stackGet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_stackHas.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_stackSet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_Stack.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isFunction.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/typography/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/cms-models-msn/configuration/types/BrowserType.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/named-colors.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/parse-color.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/color-hsl.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/data-grid/data-grid-context.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/patterns/input-field.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_nodeUtil.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_toSource.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/styles.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-web-utilities/dist/aria.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseRest.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/identity.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_isIterateeCall.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_isIndex.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseAssignValue.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_assignValue.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseUnary.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseGet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isSymbol.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseToString.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_copyArray.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/loggers/Logger.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/accessible-recipe.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/label/label.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_listCacheClear.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_assocIndexOf.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_listCacheDelete.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_listCacheGet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_listCacheHas.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_listCacheSet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_ListCache.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_nativeKeysIn.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseKeysIn.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/keysIn.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseIsTypedArray.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isTypedArray.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_Map.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/toFinite.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_asciiToArray.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_unicodeToArray.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_stringToArray.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_Set.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/memoize.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isInteger.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/image/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/context-menu-item/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-manager-react/dist/context.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-manager-react/dist/jss.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isArrayLikeObject.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/observation/notifier.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/raf-throttle/lib/rafThrottle.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_nativeCreate.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_hashClear.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_hashDelete.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_hashGet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_hashHas.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_hashSet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_Hash.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_mapCacheClear.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_isKeyable.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_getMapData.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_mapCacheDelete.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_mapCacheGet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_mapCacheHas.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_mapCacheSet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_MapCache.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/rules/StyleRule.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/tabs/tab-item.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/tabs/tab.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/tabs/tab-panel.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/cms-models-msn/configuration/types/DeviceFormFactorType.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/viewport-positioner/viewport-positioner.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/viewport-positioner/viewport-context.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/viewport-positioner/viewport-positioner.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/viewport-positioner/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/text-field/text-field.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/text-field/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-manager/dist/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/card/card.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/hypertext/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/tree-view/tree-view.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/divider/divider.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_createAssigner.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isLength.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_isKey.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_cloneArrayBuffer.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_getPrototype.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_setToArray.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_arrayPush.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_castSlice.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseSlice.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_getAllKeysIn.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/cms-infrastructure-javascriptextensions/Guid.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/color-lch.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/flipper/flipper.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/utilities/apply-mixins.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/text-field/text-field.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/listbox/listbox-context.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/edge-icons/dist/svg-foundation/svg-foundation.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/button/button.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/paragraph/paragraph.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/badge/badge.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_equalArrays.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_mapToArray.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_equalByTag.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_equalObjects.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseIsEqualDeep.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseIsEqual.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_arrayIncludes.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_arrayIncludesWith.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_createSet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseUniq.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_isFlattenable.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseFlatten.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_arrayFilter.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_getSymbols.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_defineProperty.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_Uint8Array.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/RuleList.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-is/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-manager-react/dist/design-system-provider.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/image/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/context-menu/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/tabs/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/button/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/auto-suggest/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/dialog/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/listbox-item/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/radio/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/toggle/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/auto-suggest-option/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/auto-suggest/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/checkbox/checkbox.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/typography/typography.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/typography/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/card/card.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/card/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/label/label.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/label/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/divider/divider.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/divider/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/checkbox/checkbox.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/checkbox/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/carousel/carousel.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/topic-card/topic-card.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_getAllKeys.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/interfaces.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-fill-toggle.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/button/button.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/button/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/utilities/style/focus.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-web-utilities/dist/rtl-scroll-converter.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/utils/toCssValue.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/utils/createRule.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/is-in-browser/dist/module.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/progress/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/badge/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/breadcrumb/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/data-grid/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/horizontal-overflow/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/number-field/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/select/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/text-area/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/tree-view/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/tree-view-item/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/text-action/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/action-trigger/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/image/image.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/context-menu/context-menu.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/context-menu-item/context-menu-item.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/hypertext/hypertext.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/tabs/tabs.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/button/button.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/progress/progress.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/auto-suggest/auto-suggest.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/listbox/listbox.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/badge/badge.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/breadcrumb/breadcrumb.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/data-grid/data-grid.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/stack-panel/stack-panel.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/data-grid/data-grid-row.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/data-grid/data-grid-cell.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/dialog/dialog.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/horizontal-overflow/horizontal-overflow.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/listbox-item/listbox-item.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/number-field/number-field.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/radio/radio.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/select/select.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/text-area/text-area.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/toggle/toggle.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/tree-view-item/tree-view-item.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/progress/progress.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/action-trigger/action-trigger.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-manager-react/dist/jss-manager.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-manager-react/dist/sheet-manager.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/symbol-observable/es/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_freeGlobal.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/constant.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_overArg.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseSet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_cloneBuffer.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_cloneTypedArray.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isPlainObject.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-preset-default/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseFindIndex.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_hasPath.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_arraySome.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_cacheHas.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseGetAllKeys.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/stubArray.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_hasUnicode.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_getSymbolsIn.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseForOwn.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseRandom.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/color-hsv.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_basePickBy.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseClamp.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/view.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/directives/node-observation.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/tree-view/tree-view.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/last.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/use-callback-ref/dist/es2015/useMergeRef.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/use-callback-ref/dist/es2015/useRef.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/use-callback-ref/dist/es2015/assignRef.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-focus-lock/dist/es2015/FocusGuard.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/use-sidecar/dist/es2015/medium.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-focus-lock/dist/es2015/medium.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-focus-lock/dist/es2015/Lock.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/constants.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-clientside-effect/lib/index.es.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/utils/array.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/focusIsHidden.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/utils/all-affected.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/focusInside.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/utils/tabOrder.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/utils/tabbables.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/utils/tabUtils.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/utils/DOMutils.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/utils/correctFocus.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/utils/firstFocus.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/focusMerge.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/setFocus.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-lock/dist/es2015/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-focus-lock/dist/es2015/util.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-focus-lock/dist/es2015/Trap.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-focus-lock/dist/es2015/Combination.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-focus-lock/dist/es2015/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_arrayEach.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseAssign.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseAssignIn.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_copySymbols.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_copySymbolsIn.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_initCloneArray.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_cloneDataView.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_cloneRegExp.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_cloneSymbol.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_initCloneByTag.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseIsMap.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isMap.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseIsSet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isSet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseClone.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_assignMergeValue.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_safeGet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/toPlainObject.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseMergeDeep.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseMerge.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseSetToString.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_shortOut.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_setToString.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_setCacheAdd.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_setCacheHas.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_SetCache.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseHasIn.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/hasIn.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/attribution/attribution.style.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/attribution/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseTimes.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_arrayLikeKeys.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_nativeKeys.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseKeys.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_createBaseFor.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseFor.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_createBaseEach.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseEach.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/flatten.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_flatRest.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_apply.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_overRest.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseCreate.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_initCloneObject.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/invariant/browser.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-foreground-hint.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/directives/ref.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/button-base/button-base.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/heading/heading.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/heading/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseInRange.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/inRange.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/utils/toCss.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/sheets.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/css-vendor/lib/prefix.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/typography/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/card/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/image/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/context-menu/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/context-menu-item/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/hypertext/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/auto-suggest/auto-suggest-context.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/stealth-button/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/toggle/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/radio/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/divider/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/lightweight-button/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/accent-button/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/checkbox/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/outline-button/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/pivot/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/label/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-utilities/dist/screen-reader.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/dist/esm/styles/size.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-layouts-react/dist/container/container.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-layouts-react/dist/canvas/canvas.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/flipper/flipper.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/flipper/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/uniqueId.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isEqual.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/negate.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/pickBy.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/omitBy.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/fast-definitions.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/controller.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/fast-element.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/object-assign/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/SheetsRegistry.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/utils/isObservable.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/utils/linkRule.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/utils/createGenerateClassName.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/StyleSheet.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/heading/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/carousel/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/flipper/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/progress/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/focus-visible/dist/focus-visible.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/text-field/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/dialog/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/button/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/caption/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/paragraph/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/cms-models-msn/configuration/types/ApplicationType.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/badge/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/directives/children.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/tree-item/tree-item.template.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/node_modules/@microsoft/fast-web-utilities/dist/dom.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/hamburger-menu/hamburger-menu-item/hamburger-menu-item.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/node_modules/@microsoft/fast-web-utilities/dist/system-colors.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/hamburger-menu/hamburger-menu-item/hamburger-menu-item.styles.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/hamburger-menu/hamburger-menu-item/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-utilities/dist/acrylic.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/acrylic.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/symbol-observable/es/ponyfill.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/stubFalse.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-redux-subspace/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/recompose/wrapDisplayName.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/noop.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/context-menu/context-menu.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/context-menu-item/context-menu-item.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/neutral-divider.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@skatejs/val/dist-web/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/form-associated/form-associated.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-base/dist/stack-panel/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/auto-suggest-option/auto-suggest-option.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/auto-suggest/auto-suggest.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/browser-ring-one/dist/dialog/dialog.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-glyphs-msft/dist/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/preview-card/preview-card.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/attribution/attribution.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/pivot/pivot.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/text-action/text-action.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/text-action/text-action.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/text-action/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/text-field/text-field.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/text-field/text-field.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/text-field/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/appenders/ConsoleAppender.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/clientcore-infrastructure-analytics/appenders/BaseAppender.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/now.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/debounce.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/cloneDeep.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isBoolean.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-utilities/dist/max-lines.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-react-utilities/dist/extract-element.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-web-utilities/dist/html.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-jss-utilities/dist/truncation.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/indexOf.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/directives/binding.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/template-compiler.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/template.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react/cjs/react.production.min.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/prop-types/factoryWithThrowingShims.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-is/cjs/react-is.production.min.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/scheduler/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/scheduler/cjs/scheduler.production.min.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/utils/getDynamicStyles.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/SheetsManager.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/utils/cloneStyle.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/utils/escape.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/utils/moduleId.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/Jss.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/PluginsRegistry.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/plugins/rules.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/rules/SimpleRule.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/rules/KeyframesRule.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/rules/ConditionalRule.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/rules/FontFaceRule.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/rules/ViewportRule.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/plugins/observables.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/plugins/functions.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/renderers/DomRenderer.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss/lib/renderers/VirtualRenderer.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/node-libs-browser/node_modules/util/support/isBufferBrowser.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/inherits/inherits_browser.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-template/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-template/lib/parse.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-extend/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-compose/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-camel-case/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/hyphenate-style-name/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-default-unit/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-default-unit/lib/defaultUnits.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-expand/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-expand/lib/props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-vendor-prefixer/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/css-vendor/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/css-vendor/lib/supported-property.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/css-vendor/lib/camelize.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/css-vendor/lib/supported-value.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/jss-props-sort/lib/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/recompose/getDisplayName.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/mergeWith.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/clamp.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/utilities/style/display.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/patterns/aria-global.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/utilities/style/disabled.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/edge-icons/dist/icons/general/cancel/cancel.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseInverter.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_createInverter.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/invert.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseHas.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/has.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/background/background.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/utilities/composed-parent.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/design-system-provider/design-system-provider.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/cms-models-msn/collections/Content360ContentGroupingType.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/snarkdown/dist/snarkdown.es.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/intersection-observer/intersection-observer.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/topojson-client/src/identity.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/topojson-client/src/transform.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/topojson-client/src/feature.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/topojson-client/src/reverse.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/assign.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/card/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/more/more.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/context-menu/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/context-menu-item/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/hypertext/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/custom-properties/behavior.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/throttle.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/tree-item/tree-item.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/dist/esm/styles/patterns/button.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/utilities/match-media-stylesheet-behavior.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/svg/svg.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/directives/slotted.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/dist/esm/styles/elevation.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/directives/when.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/utilities/style/direction.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/anchor/anchor.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/chevron-right/chevron-right.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/chevron-left/chevron-left.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/random.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/isUndefined.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/union.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/check-circle-fill/check-circle-fill.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/stars/stars.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/news/news.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/ticket/ticket.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/sports-balls/sports-balls.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/money/money.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/financial-arrow-up/financial-arrow-up.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/diamond/diamond.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/glasses/glasses.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/health/health.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/food-bowl/food-bowl.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/car/car.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/home/home.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/meditation/meditation.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/video-auto-play/video-auto-play.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/map-pin/map-pin.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/block/block.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/home-group/home-group.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/atom/atom.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/user-love/user-love.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/fountain-pen-tip/fountain-pen-tip.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/double-bookmark/double-bookmark.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/settings/settings.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/msn/globe-west-legacy/globe-west-legacy.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/basketball/basketball.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/horoscope/horoscope.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/soccer-ball/soccer-ball.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/interests/suitcase/suitcase.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/msn/entertainment-logo-legacy/entertainment-logo-legacy.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/history/history.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/uniqBy.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/auto-suggest-option/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/auto-suggest/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/refresh/refresh.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/following/following.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/follow/follow.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/stealth-button/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/toggle/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/radio/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/label/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/edge-icons/dist/icons/chevron/chevron-down/chevron-down.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/divider/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/lightweight-button/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/accent-button/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/checkbox/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/msn/video-play/video-play.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/share/share.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/msn/notification-legacy/notification-legacy.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/outline-button/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/chunk.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/camera/camera.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/dhp-ntp/play/play.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/news-icons/dist/icons/msn/circle-right-arrow-legacy/circle-right-arrow-legacy.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/pivot/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/unionBy.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-jss-manager-react/dist/context.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-jss-manager-react/dist/jss.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-jss-manager-react/dist/jss-manager.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-jss-manager-react/dist/sheet-manager.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-jss-manager-react/dist/manage-jss.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-jss-manager-react/dist/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-styles-msft/dist/utilities/color/color-constants.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-styles-msft/dist/design-system/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-styles-msft/dist/default-palette.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-styles-msft/dist/utilities/design-system.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-styles-msft/dist/utilities/color/common.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-styles-msft/dist/utilities/color/palette.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-styles-msft/dist/utilities/color/accessible-recipe.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-styles-msft/dist/utilities/color/neutral-foreground-hint.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-jss-utilities/dist/units.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-styles-msft/dist/utilities/density.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-styles-msft/dist/utilities/typography.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-styles-msft/dist/utilities/color/neutral-foreground.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-jss-utilities/dist/localization.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-jss-utilities/dist/format.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-jss-utilities/dist/apply-focus-visible.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/windows-prong-one/dist/content-card/content-card.style.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-foundation-react/dist/foundation/foundation.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/fast-components-foundation-react/dist/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/windows-prong-one/dist/content-card/content-card.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/windows-prong-one/dist/content-card/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/edge-icons/dist/icons/general/menu/menu.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-layouts-react/dist/container/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-layouts-react/dist/row/row.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-layouts-react/dist/row/row.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-layouts-react/dist/row/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-layouts-react/dist/canvas/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-layouts-react/dist/pane/pane.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-layouts-react/dist/pane/pane.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-layouts-react/dist/pane/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/browser-ring-one/dist/side-pane-layout/side-pane-layout.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/browser-ring-one/dist/side-pane-layout/side-pane-layout.style.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/browser-ring-one/dist/side-pane-layout/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/color-blending.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/color-interpolation.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/color-scale.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/color-palette.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-colors/dist/component-state-color-palette.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/topic-card/topic-card.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-styles-msft/dist/utilities/color/create-color-palette.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/topic-card/topic-card.style.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/topic-card/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/node_modules/@microsoft/fast-web-utilities/dist/key-codes.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/feed-navigation/feed-navigation.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/feed-navigation-item/feed-navigation-item.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/feed-navigation-item/feed-navigation-item.styles.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/feed-navigation-item/feed-navigation-item.template.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/feed-navigation-item/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/feed-navigation/feed-navigation.template.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/feed-navigation/feed-navigation.styles.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/feed-navigation/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/button/button.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/button/button.template.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-web-utilities/dist/system-colors.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/dist/esm/button/button.styles.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/dist/esm/button/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/tree-view/tree-view.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/hamburger-menu/hamburger-menu.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/hamburger-menu/hamburger-menu.styles.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/hamburger-menu/hamburger-menu.template.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/hamburger-menu/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_arrayAggregator.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseAggregator.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_createAggregator.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/groupBy.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_shuffleSelf.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_arrayShuffle.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseShuffle.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/shuffle.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/divider/divider.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/divider/divider.template.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/dist/esm/divider/divider.styles.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/dist/esm/divider/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseIndexOfWith.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_basePullAll.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/pullAll.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/pull.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_parent.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_baseUnset.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_customOmitClone.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/omit.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/ad-label/ad-label.style.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/ad-label/ad-label.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/ad-label/ad-label.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/ad-label/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/search-box/search-box.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/search-box/search-box.template.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/search-box/search-box.styles.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fast/components/dist/esm/search-box/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-foundation/dist/esm/anchor/anchor.template.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/dist/esm/anchor/anchor.styles.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@fluentui/web-components/dist/esm/anchor/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/tree-view-item/tree-view-item.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/tree-view-item/tree-view-item.style.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/tree-view-item/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/caption/caption.props.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/caption/caption.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/caption/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/content-card/content-card.style.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/content-card/content-card.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/content-card/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/observation/array-change-records.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/observation/array-observer.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-element/dist/esm/directives/repeat.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/_basePick.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/lodash-es/pick.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/carousel/carousel.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/carousel/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/progress/progress.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/progress/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/browser-ring-one/dist/dialog/dialog.style.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/browser-ring-one/dist/dialog/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/action-trigger/action-trigger.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/action-trigger/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/tree-view/tree-view.style.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/tree-view/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/preview-card/preview-card.style.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@edge-web-ui/components/dist/preview-card/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/paragraph/paragraph.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/paragraph/index.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/badge/badge.js","webpack:///C:/agents/peregrineAgent_selfhoste0001QU_a0/_work/1/s/node_modules/@microsoft/fast-components-react-msft/dist/badge/index.js"],"names":["module","exports","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","key","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","hoistNonReactStatics","styles","Component","JSSManagedComponent","super","managedComponent","displayName","name","referenceResolverStore","referenceStore","args","storageKey","processStorageKey","resolverFunction","get","isPlainObject","Array","isArray","ref","set","unhandledPropKeys","keys","props","filter","defaultHandledProps","handledProps","pick","componentClasses","concat","className","trim","replace","slot","nodes","children","Children","map","node","hasSlot","nodeSlot","item","index","join","highContrastSelector","HighContrastColor","highContrastOptOutProperty","highContrastLinkValue","highContrastStealth","background","buttonBackground","border","color","buttonText","fill","highContrastOutline","highContrastAccent","selectedBackground","selectedText","highContrastLinkOutline","highContrastDisabled","opacity","disabledText","highContrastDisabledBorder","highContrastDisabledForeground","highContrastOutlineFocus","highContrastDoubleOuterFocus","highContrastDoubleFocus","highContrastSelected","highContrastSelectedOutline","highContrastTextForeground","text","highContrastForeground","highContrastSelectedForeground","highContrastHighlightForeground","highContrastLinkForeground","highContrastBorder","highContrastBorderColor","highContrastLinkBorder","highContrastColorBackground","highContrastBackground","highContrastButtonBackground","highContrastSelectedBackground","highContrastHighlightBackground","highContrastButtonColorIndicator","highContrastHighlightColorIndicator","getOwnPropertyDescriptors","obj","descriptors","formatRegExp","format","f","isString","objects","push","inspect","len","str","String","x","Number","JSON","stringify","_","isNull","isObject","deprecate","fn","msg","process","noDeprecation","warned","throwDeprecation","Error","traceDeprecation","console","trace","error","debugEnviron","debugs","opts","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","style","recurseTimes","isFunction","constructor","ret","primitive","simple","isNumber","formatPrimitive","visibleKeys","array","hash","forEach","val","idx","arrayToHash","getOwnPropertyNames","isError","formatError","isRegExp","RegExp","toString","isDate","Date","output","base","braces","toUTCString","l","formatProperty","match","formatArray","pop","reduce","prev","cur","numLinesEst","reduceToSingleString","split","line","substr","ar","arg","re","objectToString","o","pad","debuglog","env","NODE_DEBUG","toUpperCase","test","pid","isNullOrUndefined","isSymbol","isPrimitive","isBuffer","months","timestamp","time","getHours","getMinutes","getSeconds","getDate","getMonth","prop","log","inherits","origin","add","kCustomPromisifiedSymbol","Symbol","undefined","callbackifyOnRejected","reason","cb","newReason","promisify","original","TypeError","enumerable","writable","configurable","promiseResolve","promiseReject","promise","err","setPrototypeOf","getPrototypeOf","defineProperties","custom","callbackify","callbackified","maybeCb","self","nextTick","rej","getDesignSystemValue","designSystem","backgroundColor","accentBaseColor","cornerRadius","elevatedCornerRadius","neutralPalette","accentPalette","designUnit","baseHeightMultiplier","baseHorizontalSpacingMultiplier","direction","outlineWidth","focusOutlineWidth","disabledOpacity","accentFillHoverDelta","accentFillActiveDelta","accentFillFocusDelta","accentFillSelectedDelta","accentForegroundRestDelta","accentForegroundHoverDelta","accentForegroundActiveDelta","accentForegroundFocusDelta","neutralFillRestDelta","neutralFillHoverDelta","neutralFillActiveDelta","neutralFillFocusDelta","neutralFillSelectedDelta","neutralFillInputRestDelta","neutralFillInputHoverDelta","neutralFillInputActiveDelta","neutralFillInputFocusDelta","neutralFillInputSelectedDelta","neutralFillStealthRestDelta","neutralFillStealthHoverDelta","neutralFillStealthActiveDelta","neutralFillStealthFocusDelta","neutralFillStealthSelectedDelta","neutralFillToggleHoverDelta","neutralFillToggleActiveDelta","neutralFillToggleFocusDelta","baseLayerLuminance","neutralFillCardDelta","neutralForegroundHoverDelta","neutralForegroundActiveDelta","neutralForegroundFocusDelta","neutralDividerRestDelta","neutralOutlineRestDelta","neutralOutlineHoverDelta","neutralOutlineActiveDelta","getFontWeight","neutralOutlineFocusDelta","fontWeight","_breakpoints","_defaultBreakpoint","subscriptions","update","breakpoint","window","innerWidth","defaultBreakpoint","notifySubscribers","openRequestAnimationFrame","currentBreakpoint","requestFrame","requestAnimationFrame","addEventListener","breakpointConfig","callback","includes","subscription","ElevationMultiplier","ambientShadowConfig","blurMultiplier","blurBase","xOffsetMultiplier","yOffsetMultiplier","directionalShadowConfig","elevationShadow","elevationValue","shadowConfig","config","g","b","opacityMultiple","parseFloat","toFixed","toStringWebRGBA","combinedShadow","bind","conf","applyElevation","defaultBreakpoints","identifyBreakpoint","windowWidth","breakpoints","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","toUnit","unit","withPx","toPx","_defineProperty","_objectSpread","source","ownKeys","sym","_objectWithoutPropertiesLoose","excluded","sourceKeys","applySubspaceMiddleware","_len","middlewares","_key","createSubspace","store","subspacedStore","_dispatch","_getState","getState","middlewareApi","subscribe","replaceReducer","dispatch","chain","middleware","pipeline","getStateChain","dispatchChain","isGlobal","action","type","globalAction","startsWith","copyProperties","scopedMiddleware","predicate","wrappedMiddleware","appliedMiddleware","childrenOnly","subspaceTypes","subspaceEnhancer","mapState","namespace","rootStore","namespacedAction","rootStoreEnhancer","processAction","defaultValue","hasNamespace","substring","DEFAULT_OPTIONS","enhancer","subspace","subspaceEnhanced","isRoot","subspaceEnhancers","parentNamespace","namespaceEnhancer","subspaceTypesEnhancer","processActionEnhancer","_temp","subspaceOptions","_ref$enhancer","subspaceRoot","mapStateType","state","resolveParameters","applyMiddleware","createStore","SwatchFamilyType","colorRecipeFactory","recipe","memoizedRecipe","swatchFamilyToSwatchRecipeFactory","parseColorString","parsed","isValidColor","colorMatches","a","equalValue","contrast","luminance","designSystemResolverMax","Math","max","clamp","min","subscriptionShape","shape","trySubscribe","func","isRequired","tryUnsubscribe","notifyNestedSubs","isSubscribed","storeShape","storeKey","_Provider$childContex","subscriptionKey","Provider","_Component","_proto","context","_this","getChildContext","_ref","render","only","propTypes","element","childContextTypes","_assertThisInitialized","ReferenceError","nullListeners","notify","Subscription","parentSub","onStateChange","unsubscribe","listeners","addNestedSub","listener","Boolean","current","clear","slice","splice","hotReloadingVersion","dummyState","noop","connectAdvanced","selectorFactory","_contextTypes","_childContextTypes","_ref2","_ref2$getDisplayName","getDisplayName","_ref2$methodName","methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","shouldHandleStateChanges","_ref2$storeKey","_ref2$withRef","withRef","connectOptions","version","contextTypes","WrappedComponent","wrappedComponentName","selectorFactoryOptions","Connect","renderCount","propsMode","setWrappedInstance","initSelector","initSubscription","_ref3","componentDidMount","selector","run","shouldComponentUpdate","forceUpdate","componentWillReceiveProps","nextProps","componentWillUnmount","getWrappedInstance","wrappedInstance","sourceSelector","makeSelectorStateful","componentDidUpdate","notifyNestedSubsOnComponentDidUpdate","setState","addExtraProps","withExtras","hasOwn","is","y","shallowEqual","objA","objB","keysA","keysB","wrapMapToPropsConstant","getConstant","options","constant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","proxy","stateOrDispatch","ownProps","mapDispatchToProps","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","mergedProps","pure","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextState","nextOwnProps","nextStateProps","statePropsChanged","propsChanged","stateChanged","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","factories","strictEqual","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","_ref$selectorFactory","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","IsNullOrWhiteSpace","Join","Empty","u","Format","regexNumber","regexObject","parsePattern","toLowerCase","getDisplayDateFromString","getFullYear","getSortableDateFromString","isNaN","formatNumber","StringBuilder","Values","ToString","Append","AppendFormat","Clear","object","path","reducedValue","currentValue","resolver","important","randomString","random","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","proto","reducer","preloadedState","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","nextReducer","observable","outerSubscribe","observer","observeState","bindActionCreator","actionCreator","bindActionCreators","actionCreators","boundActionCreators","compose","funcs","Function","classNames","accum","leadingChar","normalizedValue","DensityCategory","heightNumber","lines","height","densityCategorySwitch","compactValue","normalValue","spaciousValue","category","densityValue","spacious","compact","normal","getDensityCategory","horizontalSpacingNumber","adjustment","horizontalSpacing","glyphSizeNumber","halfDesignUnit","sizeOffset","glyphSize","LogLevel","SVGFoundation","defaultProps","viewBox","width","xmlns","normalize","denormalize","degreesToRadians","PI","radiansToDegrees","getHexStringForByte","round","lerp","lerpAnglesInDegrees","roundToPrecisionSmall","precision","factor","pow","PaletteType","findSwatchIndex","paletteResolver","swatch","colorPalette","findIndex","paletteSwatch","findClosestSwatchIndex","resolvedPalette","resolvedSwatch","swatchLuminance","mappedSwatch","mappedIndex","previousValue","abs","isDarkMode","sqrt","getSwatch","swatchByMode","valueA","valueB","swatchByContrast","referenceColor","indexResolver","directionResolver","contrastCondition","sourcePalette","initialSearchIndex","constrainedSourcePalette","endSearchIndex","startSearchIndex","reverse","binarySearch","valuesToSearch","searchCondition","startIndex","endIndex","middleIndex","floor","valueToCheckAgainst","referenceColorInitialIndexResolver","findClosestBackgroundIndex","minContrastTargetFactory","targetContrast","instanceContrast","DisplayNamePrefix","create","createGenerateClassName","sheets","RuleList","SheetsManager","SheetsRegistry","toCssValue","getDynamicStyles","_getDynamicStyles","_interopRequireDefault","_toCssValue","_SheetsRegistry","_SheetsManager","_RuleList","_sheets","_createGenerateClassName","_Jss2","__esModule","KeyCodes","keyCodeArrowDown","keyCodeArrowLeft","keyCodeArrowRight","keyCodeArrowUp","keyCodeEnd","keyCodeEnter","keyCodeEscape","keyCodeHome","keyCodeSpace","keyCodeTab","designSystemProperty","cssCustomProperty","attribute","designSystemProperties","mode","default","decorator","DesignSystemProviderTemplate","DesignSystemProviderStyles","display","el","backgroundStyles","var","withBehaviors","noPaint","$fastController","removeStyles","addStyles","noPaintChanged","density","converter","accentFillRestDelta","template","_extends","_createClass","descriptor","Constructor","protoProps","staticProps","onCreateRule","GlobalContainerRule","GlobalPrefixedRule","parent","global","onProcessRule","rule","rules","sheet","addRule","addScope","handleNestedGlobalContainerRule","handlePrefixedGlobalRule","_jss","_classCallCheck","instance","jss","plugins","createRule","separatorRegExp","scope","parts","scoped","getReplaceRef","container","getRule","_warning2","meta","hasAnd","replaceParentRefs","nestedProp","parentProp","parentSelectors","nestedSelectors","j","nested","parentRegExp","getOptions","nestingLevel","onProcessStyle","replaceRef","isNested","isNestedConditional","refRegExp","_warning","PlatformType","neutralForegroundToggleAlgorithm","neutralForegroundToggleFactory","neutralForegroundToggle","neutralForegroundToggleLarge","neutralCardFillAlgorithm","offset","neutralForegroundRestBehavior","rest","findProvider","neutralForegroundActiveBehavior","hover","active","neutralForegroundHintBehavior","focus","accentForegroundRestBehavior","accentForegroundHoverBehavior","accentForegroundActiveBehavior","accentForegroundCutRestBehavior","neutralFillRestBehavior","neutralFillHoverBehavior","neutralFillActiveBehavior","neutralFillFocusBehavior","neutralFillStealthRestBehavior","selected","neutralFillStealthHoverBehavior","neutralFillStealthActiveBehavior","neutralFillStealthSelectedBehavior","accentFillRestBehavior","accentFillHoverBehavior","accentFillActiveBehavior","neutralOutlineRestBehavior","neutralFillCard","neutralOutlineHoverBehavior","neutralOutlineActiveBehavior","neutralDividerRestBehavior","neutralLayerFloatingBehavior","neutralFocusBehavior","neutralFocusInnerAccentBehavior","ltr","nativeMax","fromIndex","SubspaceProvider","_React$PureComponent","subClass","superClass","__proto__","subspaceDecorator","PureComponent","oneOfType","string","subspaced","SubspacedComponent","createElement","performOperation","operation","firstArg","_add","_subtract","_multiply","_divide","subtract","multiply","divide","Direction","localizeSpacing","dir","rtl","applyLocalizedProperty","ltrProperty","rtlProperty","directionSwitch","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","setTimeout","clearTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","marker","runClearTimeout","Item","title","browser","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","umask","LogItem","parentActivityId","data","correlationVector","LogType","BeginActivity","Guid","newGuid","Activity","Ended","serviceName","requestUri","requestHttpMethod","currentOperationName","BeginNetworkActivity","BaseService","logger","correlationVectorProvider","loggerName","InstancesMap","Logger","isEnabledFor","parentActivity","isActivityEnabled","ActivityId","getVectorForNewActivity","activityItem","createActivity","dateTimeNow","clonedActivityItem","cloneDeep","EndActivity","LogDateTime","elapsedTime","getTime","Message","elapsedTimeInMs","warn","vector","responseSize","responseStatusCode","endNetworkActivity","errorMessage","successful","EndNetworkActivity","isNetworkActivity","latestChildCorrelationVector","incrementExternalVector","extendExternalVector","rgbToLinearLuminance","rgb","rgbToRelativeLuminance","luminanceHelper","calculateContrastRatio","contrastRatio","luminanceA","luminanceB","rgbToHSL","delta","hue","lum","sat","hslToRGB","hsl","alpha","h","m","rgbToHSV","hsvToRGB","hsv","v","rgbToXYZ","rgbToXYZHelper","z","xyzToRGB","xyz","xyzToRGBHelper","rgbToLAB","xyzToLABHelper","epsilon","kappa","whitePoint","xyzToLAB","labToRGB","lab","fy","fx","fz","xcubed","ycubed","zcubed","labToXYZ","rgbToLCH","atan2","labToLCH","lchToRGB","lch","cos","sin","lchToLAB","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","defaultFontWeights","light","semilight","semibold","bold","designSystemDefaults","neutralForegroundDarkIndex","neutralForegroundLightIndex","withDesignSystemDefaults","withDefaults","defaults","memoize","checkDesignSystemResolver","ColorRGBA64","red","green","blue","rhs","formatHexValue","toStringHexRGB","BrowserConsoleAppender","logLevel","LoggedExceptionManager","loggingService","fatal","RuntimeEnvironment","runtimeEnvironment","LoggingInstancesMap","addUnhandledErrorCallback","fatalCallback","constructErrorMessage","message","stack","activity","logItem","processMessage","Trace","isTraceEnabled","Debug","isDebugEnabled","debug","Info","isInfoEnabled","info","Warn","isWarnEnabled","isErrorEnabled","Fatal","isFatalEnabled","Browser","event","rejectionErrorPropertyName","messageToLog","Data","CorrelationVectorKey","ParentActivityId","UserActivityType","counterName","counterValue","activityId","logDateTime","Instrumentation","_counterName","CounterValue","perfCounterItem","dimensions","logItems","defaultLogItem","CounterName","isEmpty","dimension","dimensionValue","dimensionLogItem","perfCounter","logPerfCounterItem","dimensionedLogItems","getDimensionedLogItems","pageName","userActivityType","trackingData","pageTitle","pageUri","extendedData","eventData","_userActivityType","pageViewData","isActivityTrackingEnabled","getUserActivityLogItem","pageActionData","elementTitle","eventType","PageAction","PageView","activityLoggingService","userActivityTrackingService","perfCounterLoggingService","loggingServiceInstance","getInstance","activityServiceInstance","ActivityLoggingService","userActivityServiceInstance","perfCounterServiceInstance","checkLoggerName","serviceInstance","checkServiceInstance","getLoggerName","typeRamp","fontSize","lineHeight","sanitizeTypeRampId","scaleTypeRampId","typeConfigNumber","densityOffset","size","getFontSize","getLineHeight","applyFontSize","applyLineHeight","getScaledLineHeight","applyScaledLineHeight","applyTypeRampFactory","fontSizeGetter","lineHeightGetter","applyTypeRamp","applyScaledTypeRamp","applyTypeRampConfig","booleanConverter","toView","fromView","nullableNumberConverter","number","AttributeDefinition","Owner","guards","Set","fieldName","callbackName","hasCallback","newValue","oldValue","tryReflectToAttribute","track","has","setValue","delete","queueUpdate","latestValue","setAttribute","setBooleanAttribute","attributeLists","attributes","ii","list","jj","property","attr","configOrTarget","$target","$prop","cornerRadiusRule","applyCornerRadius","applyFloatingCornerRadius","applyElevatedCornerRadius","applyFocusPlaceholderBorder","volatileRegex","notifierLookup","WeakMap","accessorLookup","watcher","createArrayObserver","DefaultObservableAccessor","field","watch","getNotifier","Observable","freeze","factory","found","propertyName","needsRefresh","nameOrAccessor","getAccessors","getValue","accessors","currentTarget","initialSubscriber","isVolatileBinding","BindingObserverImplementation","trackVolatile","currentEvent","setCurrentEvent","ExecutionContext","isFirst","isLast","defaultExecutionContext","seal","needsQueue","first","last","propertySource","notifier","disconnect","previousWatcher","prevValue","canUseDOM","document","applyCursor","cursor","applyCursorDefault","applyCursorDisabled","applyCursorPointer","updateQueue","globalThis","__magic__","trustedTypes","createPolicy","fastHTMLPolicy","createHTML","html","htmlPolicy","processQueue","scan","newLength","_interpolationStart","_interpolationEnd","DOM","supportsAdoptedStyleSheets","adoptedStyleSheets","CSSStyleSheet","policy","isMarker","nodeType","extractDirectiveIndexFromMarker","createInterpolationPlaceholder","attributeName","createBlockPlaceholder","callable","nextUpdate","removeAttribute","child","firstChild","removeChild","createTemplateWalker","fragment","createTreeWalker","neutralForeground","neutralForegroundRest","neutralForegroundHover","neutralForegroundActive","accentForegroundAlgorithm","contrastTarget","palette","accent","accentIndex","stateDeltas","accessibleSwatch","swatchContrast","accessibleIndex1","accessibleIndex2","indexOneIsRestState","restIndex","hoverIndex","activeIndex","focusIndex","accentForeground","accentForegroundLarge","accentForegroundRest","accentForegroundHover","accentForegroundActive","accentForegroundLargeRest","merge","srcIndex","tag","toInteger","dirtyNumber","NaN","ceil","requiredArgs","required","patterns","dateTimeDelimiter","timeZoneDelimiter","timezone","dateRegex","timeRegex","timezoneRegex","parseISO","argument","dirtyOptions","additionalDigits","RangeError","date","dateStrings","splitDateString","parseYearResult","parseYear","parseDate","restDateString","year","parseTime","dirtyDate","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","setFullYear","parseTimezone","dateString","timeString","token","exec","regex","captures","century","isWeekDate","dayOfYear","parseDateUnit","month","day","week","dayOfWeek","_year","validateWeekDate","isoWeekYear","setUTCFullYear","fourthOfJanuaryDay","getUTCDay","diff","setUTCDate","dayOfISOWeekYear","daysInMonths","isLeapYearIndex","validateDate","validateDayOfYearDate","hours","parseTimeUnit","minutes","seconds","validateTime","timezoneString","sign","_hours","validateTimezone","strSymbols","chrSymbols","reTrimEnd","chars","guard","end","reTrimStart","start","position","collection","isHTMLElement","every","HTMLElement","getDisplayedNodes","rootNode","from","querySelectorAll","offsetParent","_canUseFocusVisible","canUseFocusVisible","styleElement","head","appendChild","insertRule","canUseForcedColors","matchMedia","matches","chr","charAt","trailing","iteratee","accumulator","initAccum","reLatin","reComboMark","reAsciiWord","reHasUnicodeWord","rsBreakRange","rsMathOpRange","rsBreak","rsDigits","rsDingbat","rsLower","rsMisc","rsRegional","rsSurrPair","rsUpper","rsMiscLower","rsMiscUpper","reOptMod","rsModifier","rsSeq","rsEmoji","reUnicodeWord","pattern","reApos","word","formatSpecifier","parameters","stringToSearch","searchFor","isNullOrWhiteSpace","neutralFocusContrastCondition","neutralFocusAlgorithm","neutralFocus","neutralFocusInnerAccentDirectionResolver","referenceIndex","neutralFocusInnerAccent","accentFillColor","neutralFocusInnerAccentIndexResolver","isAbsolute","pathname","spliceOne","k","to","toParts","fromParts","isToAbs","isFromAbs","mustEndAbs","hasTrailingSlash","up","part","unshift","iterator","condition","addLeadingSlash","stripBasename","prefix","hasBasename","stripTrailingSlash","createPath","location","search","createLocation","currentLocation","hashIndex","searchIndex","parsePath","decodeURI","URIError","createTransitionManager","prompt","setPrompt","nextPrompt","confirmTransitionTo","getUserConfirmation","appendListener","isActive","notifyListeners","getConfirmation","confirm","getHistoryState","history","createBrowserHistory","ua","globalHistory","canUseHistory","navigator","userAgent","needsHashChangeListener","_props","_props$forceRefresh","forceRefresh","_props$getUserConfirm","_props$keyLength","keyLength","basename","getDOMLocation","historyState","_window$location","createKey","transitionManager","handlePopState","isExtraneousPopstateEvent","handlePop","handleHashChange","forceNextPop","ok","fromLocation","toLocation","toIndex","allKeys","go","revertPop","initialLocation","createHref","listenerCount","checkDOMListeners","removeEventListener","isBlocked","href","pushState","prevIndex","nextKeys","replaceState","goBack","goForward","block","unblock","listen","unlisten","lowerBound","upperBound","createMemoryHistory","_props$initialEntries","initialEntries","_props$initialIndex","initialIndex","entries","entry","nextIndex","nextEntries","canGo","freeSelf","root","black","white","neutralFillStealthSwapThreshold","neutralFillStealthAlgorithm","deltaResolver","backgroundIndex","neutralFillStealthRest","neutralFillStealthHover","neutralFillStealthActive","neutralFillStealthFocus","neutralFillStealthSelected","neutralFillStealth","applyDisabledState","candidateSelectors","candidateSelector","Element","msMatchesSelector","webkitMatchesSelector","tabbable","candidate","candidateTabindex","regularTabbables","orderedTabbables","candidates","includeContainer","isNodeMatchingSelectorTabbable","getTabindex","documentOrder","tabIndex","sort","sortOrderedTabbables","isNodeMatchingSelectorFocusable","isInput","isRadio","checked","getCheckedRadio","ownerDocument","isTabbableRadio","isNonTabbableRadio","disabled","isHiddenInput","getComputedStyle","visibility","isHidden","isTabbable","isFocusable","focusableCandidateSelector","tabindexAttr","getAttribute","contentEditable","isContentEditable","tagName","neutralOutline","restDelta","neutralOutlineRest","neutralOutlineHover","neutralOutlineActive","applyFocusVisibleSelector","applyFocusVisiblePolyfillSelector","applyFocusVisible","outline","TypographyTag","TypographySize","neutralFillInputAlgorithm","neutralFillInputRest","neutralFillInputHover","neutralFillInputActive","neutralFillInputFocus","neutralFillInputSelected","neutralFillInput","objectProto","nativeObjectToString","symToStringTag","toStringTag","isOwn","unmasked","HeadingAlignBaseline","HeadingSize","HeadingTag","ColorLAB","customizer","isNew","matchData","noCustomizer","objValue","srcValue","COMPARE_PARTIAL_FLAG","hasIn","identity","uid","maskSrcKey","IE_PROTO","reIsHostCtor","funcProto","funcToString","reIsNative","NeutralPaletteLightModeLayers","NeutralPaletteDarkModeLayers","StandardLuminance","luminanceOrBackgroundColor","luminanceRecipe","backgroundRecipe","baseLayerLuminanceIndex","neutralLayerCardIndex","lightNeutralLayerL2","neutralLayerL2Index","darkNeutralLayerL4","darkColor","neutralLayerFloating","neutralLayerCard","neutralLayerCardContainer","neutralLayerL1","neutralLayerL1Alt","neutralLayerL2","neutralLayerL3","neutralLayerL4","paletteConstants","steps","clipLight","clipDark","baseColor","ContentCardLayout","neutralFillThreshold","neutralFillAlgorithm","neutralFillRest","neutralFillHover","neutralFillActive","neutralFillFocus","neutralFillSelected","neutralFill","Directive","targetIndex","AttachedBehaviorDirective","behavior","createCustomAttributePlaceholder","rePropName","reEscapeChar","cache","charCodeAt","quote","subString","StartEnd","startContainer","classList","toggle","assignedNodes","endContainer","endTemplate","handleEndContentChange","startTemplate","handleStartContentChange","buttonStyles","padding","overflow","transition","baseButton","button_contentRegion","content","bottom","left","right","button__disabled","button_beforeContent","button_afterContent","button__hasBeforeOrAfterAndChildren","accentForegroundCutAlgorithm","accentForegroundCutFactory","accentForegroundCut","neutralOutlineContrastAlgorithm","neutralOutlineContrast","neutralOutlineContrastRest","neutralOutlineContrastHover","neutralOutlineContrastActive","weight","applyFontWeight","weightResolver","applyFontWeightLight","applyFontWeightSemiLight","applyFontWeightNormal","applyFontWeightSemiBold","applyFontWeightBold","freeExports","freeModule","Buffer","logType","Default","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","getTag","ArrayBuffer","Ctor","ctorString","isObjectLike","isArguments","ColorXYZ","accentFillAlgorithm","paletteLength","textColor","hoverDelta","maxIndex","accessibleOffset","accentFill","accentFillLarge","accentFillRest","accentFillHover","accentFillActive","remainder","_logger","setLevel","getLevel","flush","appender","addAppender","removeAppender","removeAllAppenders","__data__","pairs","LARGE_ARRAY_SIZE","Stack","Typography","BrowserType","webRGBRegex","hexRGBRegex","isColorStringHexRGB","raw","isColorStringWebRGB","parseColorHexRGB","digits","rawInt","parseColorWebRGB","ColorHSL","DataGridContext","createContext","onCellFocused","onCellKeyDown","focusRowKey","focusColumnKey","desiredVisibleRowIndex","desiredFocusRowKey","desiredFocusColumnKey","columns","dataRowKey","inputFieldStyles","margin","filledInputFieldStyles","doubleOuterFocus","freeProcess","nodeUtil","types","require","styleLookup","Map","ElementStyles","behaviors","reduceStyles","curr","reduceBehaviors","AdoptedStyleSheetsStyles","styleSheetCache","styleSheets","replaceSync","sourceSheets","styleClassId","StyleElementStyles","styleClass","body","innerHTML","prepend","createStyles","css","strings","values","cssString","Orientation","reIsUint","symbolProto","symbolToString","baseToString","appenders","append","accessibleAlgorithm","minContrast","activeDelta","focusDelta","accessibleIndex","resolvedRest","resolvedHover","resolvedActive","resolvedFocus","indexToSwatchFamily","LabelTag","eq","ListCache","isProto","isArrayLike","typedArrayTags","isLength","nodeIsTypedArray","isTypedArray","rsAstral","rsCombo","rsFitz","rsNonAstral","rsSymbol","reUnicode","memoized","Cache","Image","designSystemContext","Consumer","stylesheetRegistry","spilloverSubscribe","subscriber","spillover","spilloverUnsubscribe","spilloverNotifySubscribers","handleChange","spilloverHas","SubscriberSet","sub1","sub2","PropertyChangeNotifier","subscribers","propertyToWatch","propertyToUnwatch","requestId","later","throttled","cancel","cancelAnimationFrame","Hash","MapCache","_typeof","_toCss2","_toCssValue2","StyleRule","isProcessed","Renderer","selectorText","renderer","onChangeValue","isDefined","remove","renderable","removeProperty","setProperty","attached","json","toJSON","link","allowEmpty","setSelector","replaceRule","TabItem","Tab","managedClasses","unhandledProps","role","generateClassNames","tab","tab__active","TabPanel","tabPanel","tabPanel__hidden","DeviceFormFactorType","ViewportPositionerHorizontalPosition","ViewportPositionerVerticalPosition","AxisPositioningMode","ViewportContext","viewport","ViewportPositionerHorizontalPositionLabel","ViewportPositionerVerticalPositionLabel","anchor","horizontalPositioningMode","defaultHorizontalPosition","horizontalThreshold","horizontalAlwaysInView","horizontalLockToDefault","verticalPositioningMode","defaultVerticalPosition","verticalThreshold","verticalAlwaysInView","verticalLockToDefault","fixedAfterInitialPlacement","scaleToFit","delayContentInstanciation","rootElement","createRef","anchorTop","anchorRight","anchorBottom","anchorLeft","anchorHeight","anchorWidth","scrollTop","scrollLeft","baseHorizontalOffset","baseVerticalOffset","getPositioningStyles","styleProps","verticalSelectedPositionHeight","horizontalSelectedPositionWidth","initialLayoutComplete","transformOrigin","xTransformOrigin","yTransformOrigin","transform","xTranslate","yTranslate","top","updateDisabledState","getAnchorElement","getViewportElement","validRefChecksRemaining","enableComponent","disable","viewportElement","anchorElement","isNil","IntersectionObserver","ResizeObserver","noObserverMode","collisionDetector","handleCollision","rootMargin","threshold","observe","resizeDetector","handleResize","handleScroll","setNoObserverMode","positionerRect","getBoundingClientRect","positionerDimension","viewportRect","anchorRect","updatePositionerOffset","detachListeners","viewportRef","viewPortElement","getHorizontalPositioningOptions","inset","insetLeft","insetRight","adjacent","getVerticalPositioningOptions","insetTop","insetBottom","getAvailableWidth","positionOption","spaceLeft","spaceRight","getAvailableHeight","spaceAbove","spaceBelow","handlePositionerResize","handleAnchorResize","contentRect","currentVerticalPosition","currentHorizontalPosition","handlePositionerCollision","boundingClientRect","handleAnchorCollision","anchorEntry","rootBounds","positionerEntry","shouldDeriveAnchorPosition","uncontrolled","updateForScrolling","scrollingContainer","verticalScrollDelta","horizontalScrollDelta","updateLayout","desiredVerticalPosition","desiredHorizontalPosition","horizontalOptions","verticalOptions","nextPositionerDimension","getNextPositionerDimension","getHorizontalTranslate","getVerticalTranslate","getHorizontalPositioningState","getVerticalPositioningState","newPositionerDimension","horizontalPosition","translate","verticalPosition","extractElement","extractedElement","scrollingElement","elementRef","getHorizontalPositionToLabel","positioningMode","getVerticalPositionToLabel","generateInitialState","prevProps","viewportPositioner","viewportPositioner__left","viewportPositioner__right","viewportPositioner__top","viewportPositioner__bottom","viewportPositioner__horizontalInset","viewportPositioner__verticalInset","isVerticalInset","isHorizontalInset","contextType","textField","mergeDesignSystem","overrides","CardTag","TreeViewContext","setLastFocused","adjustNestedTreeItemCount","ChildNodeCountTracker","_count","TreeView","nestedTreeItemTracker","lastFocused","adjust","count","handleBlur","contains","relatedTarget","focusable","handleFocus","selectedChild","querySelector","toBeFocused","handleKeyDown","keyCode","getVisibleNodes","onFocus","onBlur","onKeyDown","ensureFocusability","treeView","focusableChild","DividerRoles","_inheritsLoose","assigner","sources","reIsDeepProp","reIsPlainProp","arrayBuffer","byteLength","getPrototype","ColorLCH","FlipperDirection","applyMixins","derivedCtor","baseCtors","baseCtor","TextFieldType","ListboxContext","listboxItemInvoked","listboxItemFocused","listboxSelectedItems","listboxMultiselectable","ButtonAppearance","ParagraphSize","BadgeSize","bitmask","equalFunc","isPartial","arrLength","othLength","stacked","arrValue","othValue","compared","othIndex","symbolValueOf","byteOffset","buffer","convert","objProps","objLength","skipCtor","objCtor","othCtor","objectTag","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","baseIsEqual","comparator","isCommon","outer","computed","seenIndex","spreadableSymbol","isConcatSpreadable","baseFlatten","isStrict","resIndex","nativeGetSymbols","getSymbols","symbol","stubArray","Uint8Array","_createRule2","_linkRule2","_StyleRule2","_escape2","_options","onUpdate","classes","decl","_options2","generateClassName","register","unregister","cssRules","getUnescapedKeysMap","cssRule","getKey","DesignSystemProvider","updateDownstreamDesignSystem","downstreamDesignSystem","shouldUpdate","upstreamDesignSystem","designSystemOverrides","createDesignSystem","designSystemMergingFunction","autoSuggestOption","autoSuggestOption_contentRegion","autoSuggestOption__disabled","autoSuggestOption__selected","autoSuggest","autoSuggest_menu","e11","autoSuggest__menuOpen","CheckboxSlot","generateHTMLTag","typography","_1","card","div","hidden","label","label__hidden","generateAttributes","separator","divider","ariaLabel","inputId","indeterminate","onChange","handleCheckboxChange","inputRef","prevState","applyIndeterminateState","checkbox_input","checkbox_stateIndicator","id","renderLabelBySlot","renderLabel","checkbox","checkbox__disabled","checkbox__checked","checkbox__indeterminate","withSlot","checkbox_label","labelClassName","cloneElement","CarouselSlideTheme","TopicCardSize","emptyArray","neutralFillToggle","neutralFillToggleRest","neutralFillToggleHover","neutralFillToggleActive","ButtonSlot","appearance","beforeContent","afterContent","before","generateBeforeContent","withoutSlot","after","generateAfterContent","focusVisible","RtlScrollConverter","scrolledElement","getRtlScrollLeftConverter","scrollValue","setRtlScrollLeftConverter","initializeRtlScrollConverters","scrollWidth","clientWidth","newScrollValue","maxScroll","applyDirectScrollConverters","testElement","getTestElement","checkForScrollType","isReverse","applyReverseScrollConverters","isDirect","applyInvertedScrollConverters","directSetRtlScrollConverter","directGetRtlScrollConverter","invertedSetRtlScrollConverter","invertedGetRtlScrollConverter","reverseSetRtlScrollConverter","reverseGetRtlScrollConverter","createTextNode","initialGetRtlScrollConverter","initialSetRtlScrollConverter","originalModule","webpackPolyfill","ignoreImportant","cssValue","by","declCopy","_cloneStyle2","isBrowser","textFieldOverrides","flex","glyphStyles","textAction","textAction__filled","textAction__outline","textAction__focus","textAction__disabled","textAction_button","textAction_beforeGlyph","textAction_afterGlyph","actionTriggerButtonOverrides","button","actionTrigger","actionTrigger_glyph","actionTrigger__primary","actionTrigger__lightweight","actionTrigger__justified","actionTrigger__outline","actionTrigger__stealth","actionTrigger__disabled","actionTrigger__hasGlyphAndContent","ImageSlot","alt","sizes","src","srcSet","image","ContextMenu","enableAutoFocus","renderChild","handleMenuItemFocus","isFocusableElement","isMenuItemElement","isDisabledElement","domChildren","blur","setFocus","handleMenuKeyDown","preventDefault","handleContextMenu","onContextMenu","renderChildren","contextMenu","focusableElementRoles","ContextMenuItemRole","ContextMenuItem","onInvoke","handleMenuItemKeyDown","handleInvoke","handleMenuItemClick","onClick","contextMenuItem","contextMenuItem__checkbox","contextMenuItem__radio","contextMenuItem__disabled","menuItemCheckbox","menuItemRadio","menuItem","Hypertext","hypertext","TabLocation","TabsSlot","Tabs","activeId","disableTabFocus","orientation","tabItemSlot","tabPanelSlot","tabSlot","items","renderTabItem","tabItem","getChildrenBySlot","getSlot","handleClick","renderTabPanel","horizontal","activateTab","previous","getCurrentIndexById","tabListRef","toArray","tabItems","tabElements","renderTabElements","tabs_tabList","tabs_tabPanels","renderTabPanels","currentItemIndex","tabs","tabs_tabContent","tabs_tabPanelContent","generateTabClassNames","setActive","generateTabContentClassNames","generateTabPanelClassNames","generateTabPanelContentClassNames","itemIndex","childBySlot","filterChildren","isValidTabItem","ButtonHTMLTags","Button","renderDisabledAttribute","ProgressType","Progress","maxValue","minValue","progress","determinate","AutoSuggest","isMenuOpen","inputRegion","initialValue","onValueChange","onInvoked","placeholder","listboxId","filterSuggestions","shouldFocusMenuOnNextRender","defaultInputRegionRenderFunction","activedescendantId","focusedItem","handleBlurCapture","toggleMenu","updateFocusedItem","newSelection","updateValue","handleInputRegionClick","defaultPrevented","handleItemInvoked","invoke","storedValueString","isFromSuggestedOption","handleInputRegionKeydown","focusOnMenu","HTMLInputElement","focusOnInput","handleMenuKeydown","checkForMenuEnd","isValidInput","increment","childrenAsArray","getItemIndexById","nextFocusableItem","getFirstValidOptionInRange","focusFirstItemInRange","validOption","getElementById","desiredMenuState","updatedIsMenuOpen","validateMenuState","inputElements","getElementsByTagName","handleWindowClick","activeElement","onBlurCapture","renderInputRegion","renderMenu","autoSuggest__disabled","shouldFocusOnMenu","typeAheadEnabled","focusItemOnMount","defaultSelection","onSelectedItemsChanged","onItemInvoked","listbox","listbox__disabled","alternateChildren","valuePropertyKey","isMatch","Listbox","labelledBy","multiselectable","selectedItems","typeAheadPropertyKey","selectOnFocus","typeAheadString","shiftRangeSelectStartIndex","setInitialFocus","selection","isInitialMount","getInitialSelection","initialSelection","getListboxItemDataFromIds","listboxItemfocused","focussedItemId","updateSelection","focusItemId","shiftKey","itemProps","getItemPropsById","toggleItem","itemData","ctrlKey","selectRange","processTypeAhead","typeAheadTimer","matchIndex","some","typeAheadTimerExpired","culledSelection","listboxItem","newSelectedItems","validatedSelection","validateSelection","selectedIds","itemId","idPropertyKey","itemNode","disabledPropertyKey","find","matchNode","getNodeById","isValidSelectedItem","currentSelection","thisOption","getValidOptions","Badge","badge","Breadcrumb","augmentedChild","isLastItem","isClonableElement","generateItemClassNames","generateCurrentItemClassNames","generateSeparatorClassNames","generateItemsContainerClassNames","breadcrumb","breadcrumb_itemsContainer","breadcrumb_item","breadcrumb_item__current","breadcrumb_separator","isValidElement","DataGrid","rows","rowHeight","rowHeightCallback","defaultFocusColumnKey","defaultFocusRowKey","stableRangeEndIndex","pageSize","virtualize","currentTemplateColumns","nonVirtualizedScrollContainer","isFocused","lastReportedScrollPosition","lastReportedViewportSpan","validateFocusRowState","newState","newFocusRowIndex","getRowIndexByKey","focusRowIndex","applyUpdatedFocusProps","shouldUpdateState","getColumnIndexByKey","currentDataPageStartIndex","currentDataPageEndIndex","applyInitialState","applyInitialFocusState","getInitialStateObject","applyVirtualizedInitialState","applyNonVirtualizedInitialState","virtualizedComponentUpdateHandler","renderPanel","renderVirtualizingPanel","sizeRowsToIndex","rowPositions","estimatedTotalHeight","getEstimatedTotalHeight","nonVirtualizedComponentUpdateHandler","renderNonVirtualizingPanel","columnDataKey","renderGridHeader","dataGrid_header","gridTemplateColumns","renderColumnHeader","dataGrid_scrollingPanel","renderNonVirtualizedRows","rowsToRender","row","renderRow","itemSpans","span","stackPanelVisibleItemIndex","convertRowIndexToStackPanelIndex","dataGrid_scrollingPanelItems","dataGrid_scrollingPanel__scrollable","initiallyVisibleItemIndex","onScrollChange","throttledScroll","itemSpan","overflowY","stackPanel","stackPanel_items","stackPanel__scrollable","renderVirtualizedRows","column","dataGrid_columnHeader","columnIndex","header","rowData","rowKey","dataGrid_row","dataGrid_row__focusedWithin","dataGrid_cell","rowIndex","dataGridRow","dataGridRow__focusedWithin","dataGridRow_cell","getGridTemplateColumns","templateColumns","columnWidth","handleGridFocus","handleGridBlur","handleCellKeyDown","cell","arrowDown","incrementFocusRow","arrowRight","incrementFocusColumn","arrowUp","arrowLeft","pageDown","incrementFocusPage","pageUp","home","thisRowStart","thisRowHeight","defaultRowHeight","sizeRowsToScrollValue","targetScrollValue","thisRowEnd","handleStackPanelScrollChange","scrollMaxValue","viewportSpan","currentPageTop","currentPageBottom","currentViewportBottom","topVisibleElementIndex","getIndexOfRowAtScrollPosition","newRowPositions","middleViewportPosition","newDataPageStartIndex","newDataPageEndIndex","scrollPosition","estimatedItemIndex","maxRowpositionSizedIndex","getRenderedRows","rowCount","offsetTop","nextItemIndex","nextItemScrollPosition","newScrollPosition","clientHeight","scrollHeight","scrollNonVirtualizedRowToTop","focusOnCell","currentFocusRowIndex","newFocusRowKey","focusRowElement","getRowElementByKey","focusCell","getCellElementByKey","updateDirection","currentFocusColumnIndex","newFocusColumnIndex","newFocusColumnKey","rowElement","cellElement","rowId","columnKey","cellId","forceScrollRowToTop","dataRow","handleCellFocus","closest","dataPageStartIndex","dataPageEndIndex","getColumns","generateColumns","dataGrid","dataGrid__virtualized","gridColumn","definitions","StackPanel","neverVirtualizeIndexes","preloadBufferCount","scrollLayoutUpdateDelay","itemContainerElement","itemContainerSpan","lastRecordedScroll","scrollLayoutUpdateTimer","renderItem","itemPositions","renderedRangeStartIndex","renderedRangeEndIndex","newStyleProps","updateItemPositions","currentItemStart","itemCount","currentItemBottom","getMaxScrollDistance","getViewportSpan","scrollPos","getScrollPosition","lastIndex","visibleRangeStartIndex","getThresholdItemIndex","visibleRangeEndIndex","bufferLength","getBufferLength","isScrollable","thresholdIndex","onScrollCapture","reportScrollChange","newDirection","getDirection","DirectionAttributeName","vertical","getScrollLeft","setScrollPosition","setScrollLeft","getScrollIntoViewPosition","itemPosition","renderItems","scrollContent","targetScrollPosition","DataGridRow","renderCell","dataGridCell","renderCells","DataGridCell","focusTarget","isDesiredFocusCell","isFocusCell","focusTargetElement","Dialog","describedBy","contentWidth","contentHeight","modal","onDismiss","visible","focusTargetOnClose","shouldAddKeyListener","handleDocumentKeyDown","checkForSoftDismiss","handleTabKeyDown","tabbableElements","tabbableElementCount","tryFocusOnRootElement","handleDocumentFocus","shouldForceFocus","focusOnFirstElement","currentFocusElement","invokeFocusOnCloseTarget","targetElement","dialog_positioningRegion","dialog_contentRegion","renderModalOverlay","dialog","dialog_modalOverlay","onTouchStart","touchAction","ButtonDirection","HorizontalOverflow","scrollDuration","onOverflowChange","nextItemPeek","fixedHeight","isScrollAnimating","onItemFocus","isOverflow","itemLeft","offsetLeft","itemWidth","itemRight","viewportWidth","peek","getScrollPeek","scrollStart","duration","defaultScrollAnimationDuration","currentTime","currentScrollAnimStartTime","getScrollAnimationPosition","maxPeek","getPositionData","positionData","overflowStart","overflowEnd","handleOverflowChange","horizontalOverflowItemsRef","itemsOnLoad","itemsHeight","getItemHeight","onWindowResize","handlePreviousClick","handleNextClick","updateScrollAnimation","easeInOutQuad","currentScrollAnimStartPosition","currentScrollAnimEndPosition","throttledResize","horizontalOverflow_contentRegion","horizontalOverflow_previous","horizontalOverflow_next","onLoad","getListStyle","getItems","resizeObserver","snapshot","horizontalOverflow","whiteSpace","overflowX","availableWidth","getItemWidths","getItemMaxHeight","itemMaxHeight","childNodes","childNode","childNodeHeight","onFocusCapture","horizontalOverflow_item","buttonDirection","itemWidths","distance","getWithinMaxDistance","getWithinMinDistance","maxDistance","getNextDistance","getPreviousDistance","itemWidthsLength","getScrollDistanceFromButtonDirection","startValue","changeInValue","startScrollPosition","ListboxItem","displayString","isItemSelected","isSelected","invokeOption","listboxItem__disabled","listboxItem__selected","NumberField","numberField","RadioSlot","Radio","handleRadioChange","radio_input","radio_stateIndicator","renderChildrenWithSlot","radio","radio__disabled","radio__checked","radio_label","Select","displayStringFormatter","form","trigger","menu","autoFocus","menuFlyoutConfig","onMenuSelectionChange","triggerId","triggerUniqueIdPrefix","checkPropsForMenuState","shouldMenuBeOpen","onSelectValueChange","menuSelectionChange","trimSelection","getValueFromSelection","newDisplayString","getFormattedDisplayString","validOptions","selectedItemIndex","getSelectedItemPosInSet","selectableItemCount","updateSelectionFromProps","controlledSelection","thisItem","selectionId","optionCount","defaultTriggerRenderFunction","defaultDisplayStringFormatter","selectedOptions","optionValues","selectedOption","focusTriggerElement","handleKeydown","incrementSelectedOption","selectItemInRange","isLastChild","lastChildIndex","shouldOpenMenu","handleMenuBlur","isFocusableButton","HTMLButtonElement","triggerButton","getTriggerButton","shouldUpdateSelection","updatedMenuVisibility","renderTrigger","renderHiddenSelectElement","select","select__scaleToFit","select__disabled","select_menu__open","select__multiSelectable","multiple","shouldFocusOnMount","defaultMenu","customMenu","generateViewportPositionerClassNames","select__menuPositioningRegion","select__menuPositionLeft","select__menuPositionRight","select__menuPositionTop","select__menuPositionBottom","select__menuPositionHorizontalInset","select__menuPositionVerticalInset","focusChildIndex","TextArea","textArea","Toggle","labelId","selectedMessage","statusMessageId","unselectedMessage","handleToggleChange","toggle_toggleButton","toggle_input","toggle_stateIndicator","generateLabel","generateToggleStateLabel","renderStatusMessage","toggle__disabled","toggle__checked","toggle_label","htmlFor","toggle_statusMessage","TreeViewItem","dragConnect","expandCollapseGlyph","titleContent","defaultExpanded","onExpandedChange","onSelected","expandCollapseButton","handleArrowLeft","handleArrowRight","focusNextNode","handleSelected","handleSpaceBar","handleExpandCollapseButtonClick","setExpanded","expanded","handleContentContainerClick","expandButton","hasChildNodes","hasSelectedChild","hadChildNodes","renderChildNodes","treeViewItem","treeViewItem__expanded","treeViewItem__nested","treeViewItem__selected","treeViewItem_contentRegion","treeViewItem_innerContentRegion","renderExpandCollapseButton","currentNode","parentElement","parentNode","visibleNodes","currentIndex","nextElement","getTreeRoot","childOnSelected","childOnExpandedChange","childExpanded","childProps","treeViewItem_childNodeRegion","wrapChildOnSelected","wrapChildOnExpandedChange","treeViewItem_expandCollapseButton","treeViewItem_expandCollapseGlyph","ProgressSize","ActionTriggerAppearance","mergeClassNames","hasCreatedIntialStyleSheets","sheetManager","jssStyleSheet","createPropStyleSheet","managedComponentProps","hasSheetProps","hadSheetProps","getManagedClassNames","innerRef","primaryClasses","secondaryClasses","primarySheet","primaryStyleSheet","secondarySheet","secondaryStyleSheet","mergeWith","stylesheet","registry","tracker","getTracker","designSystemRegistry","createStyleSheet","previousDesignSystem","nextDesignSystem","removeStyleSheet","attach","freeGlobal","allocUnsafe","isDeep","copy","typedArray","objectCtorString","_jssTemplate2","_jssGlobal2","_jssExtend2","_jssNested2","_jssCompose2","_jssCamelCase2","_jssDefaultUnit2","_jssExpand2","_jssVendorPrefixer2","_jssPropsSort2","extend","camelCase","defaultUnit","expand","vendorPrefixer","propsSort","fromRight","hasFunc","keysFunc","symbolsFunc","reHasUnicode","getSymbolsIn","nativeFloor","nativeRandom","lower","upper","ColorHSV","paths","range","createRange","HTMLView","lastChild","insertBefore","nextSibling","oldSource","unbind","views","setStart","setEnd","deleteContents","view","elements","NodeObservationBehavior","updateTarget","computeNodes","getNodes","useMergeRefs","refs","assignRef","facade","hiddenGuard","ItoI","innerCreateMedium","assigned","read","useMedium","assignSyncMedium","cbs","assignMedium","pendingQueue","executeQueue","cycle","createMedium","mediumFocus","mediumBlur","mediumEffect","mediumSidecar","medium","async","ssr","createSidecarMedium","FocusLock","parentRef","_extends2","_React$useState","realObserved","setObserved","observed","originalFocusedElement","noFocusGuards","persistentFocus","crossFrame","group","allowTextSelection","whiteList","_props$shards","shards","_props$as","as","Container","_props$lockProps","lockProps","containerProps","SideCar","sideCar","shouldReturnFocus","returnFocus","onActivationCallback","onActivation","onDeactivationCallback","onDeactivation","allowDefer","focusOptions","setObserveNode","newObserved","hasLeadingGuards","hasTailingGuards","mergedRef","reducePropsToState","handleStateChangeOnClient","mountedInstances","emitChange","SideEffect","_PureComponent","asArray","acc","filterNested","_loop","_ret","getTopParent","focusInFrame","frame","topNode","dataset","focusGuard","tabSort","tabDiff","indexDiff","filterNegative","keepGuards","queryTabbables","tabbables","queryGuardTabbables","parents","withGuards","getParents","getCommonParent","nodea","nodeb","parentsA","parentsB","currentParent","isVisible","Node","DOCUMENT_NODE","computedStyle","getPropertyValue","DOCUMENT_FRAGMENT_NODE","host","notHiddenInput","topNodes","parentFocus","correctNode","findSelectedRadio","isGuard","notAGuard","innerNodes","outerNodes","lastNode","cnt","firstFocus","lastFocus","isOnGuard","resultSet","lastNodeInside","firstNodeIndex","lastNodeIndex","correctedNodes","correctedIndexDiff","returnFirstNode","returnLastNode","baseActiveElement","leftEntry","rightEntries","activeElements","leftEntries","topCommon","subEntry","common","commonParent","anyFocusable","innerElements","_ref4","srcNodes","dstNodes","remap","autoFocusables","_ref5","orderedInnerElements","entity","_ref6","newId","autoFocusable","_ref7","autofocus","guardCount","lockDisabled","contentWindow","deferAction","setImmediate","lastActiveTrap","lastActiveFocus","lastPortaledElement","focusWasOutsideWindow","defaultWhitelist","autoGuard","allNodes","lastGuard","focusAutoGuard","lockItem","extractRef","_lastActiveTrap","workingNode","portaledElement","workingArea","focusWhitelisted","newActiveElement","focusedIndex","onTrap","stopPropagation","observerNode","onWindowBlur","moveFocusInside","focusInside","propsList","traps","trap","lastTrap","sameTrap","FocusLockCombination","input","dataView","reFlags","regexp","nodeIsMap","isMap","nodeIsSet","isSet","cloneableTags","baseClone","isFlat","isFull","isArr","isFunc","subValue","keysIn","mergeFunc","isBuff","isTyped","isArrayLikeObject","baseMerge","nativeNow","now","setToString","lastCalled","stamp","remaining","SetCache","attribution","attribution_contentRegion","attribution_image","Attribution","inherited","isArg","isType","skipIndexes","baseFor","iterable","baseEach","eachFunc","otherArgs","objectCreate","argIndex","framesToPop","neutralForegroundHintAlgorithm","neutralForegroundHint","neutralForegroundHintLarge","RefBehavior","ButtonBase","hasBeforeOrAfterAndChildren","h1","heading","nativeMin","toFinite","toNumber","_options$indent","indent","fallbacks","fallback","indentStr","_prop","_value","_prop2","_value2","_SheetsRegistry2","_isInBrowser","js","jsCssMap","Moz","ms","O","Webkit","typography__1","typography__2","typography__3","typography__4","typography__5","typography__6","typography__7","typography__8","typography__9","e4","image__picture","image_img","contextMenuItem_contentRegion","AutoSuggestContext","indicatorMargin","indicatorSize","indicatorCheckedOffset","float","inputSize","indeterminateIndicatorMargin","indicatorSvg","colorEval","encodeURIComponent","pivot","pivot_tabList","pivot_tab","pivot_tab__active","pivot_tabContent","pivot_activeIndicator","pivot_tabPanel","pivot_tabPanel__hidden","pivot_tabPanels","pivot_tabPanels__animatePrevious","animation","pivot_tabPanels__animateNext","pivot_tabPanelContent","clip","containerStyleSheet","canvasStyleSheet","canvas","Canvas","minWidth","renderStyleAttribute","visibleToAssistiveTechnologies","coerceButtonProps","renderGlyph","flipper","flipper__next","flipper__previous","isNext","coercedProps","flipper_glyph","idCounter","defaultShadowOptions","defaultElementOptions","fastDefinitions","nameOrConfig","definition","collect","observedAttributes","propertyLookup","attributeLookup","shadowOptions","elementOptions","customElements","define","shadowRoots","defaultEventOptions","bubbles","composed","getShadowRoot","shadowRoot","boundObservables","needsInitialization","_template","_styles","isConnected","attachShadow","renderTemplate","sourceBehaviors","getRootNode","addStylesTo","addBehaviors","removeStylesFrom","removeBehaviors","targetBehaviors","finishInitialization","attrDef","onAttributeChangedCallback","detail","dispatchEvent","CustomEvent","propertyNames","resolveTemplate","resolveStyles","dispose","removeChildNodes","controller","forType","createFASTElement","BaseType","forCustomElement","onConnectedCallback","onDisconnectedCallback","FASTElement","nameOrDef","customElement","propIsEnumerable","toObject","test1","test2","fromCharCode","test3","letter","shouldUseNative","symbols","_symbolObservable","_symbolObservable2","_moduleId2","ruleCounter","jssId","classNamePrefix","_RuleList2","StyleSheet","_name","deployed","linked","deploy","detach","added","_name2","deleteRule","getRules","ReactIs","REACT_STATICS","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","objectPrototype","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","heading__1","heading__2","heading__3","heading__4","heading__5","heading__6","heading__7","themeDarkNeutralForegroundRest","themeLightNeutralForegroundRest","themeDarkNeutralFillStealthRest","themeLightNeutralFillStealthRest","themeDarkNeutralOutlineRest","themeLightNeutralOutlineRest","themeDarkNeutralFocus","themeLightNeutralFocus","carousel","carousel_slides","carousel_sequenceIndicators","carousel_sequenceIndicator","carousel_sequenceIndicator__active","carousel_tabPanel","carousel_tabPanel__hidden","carousel_tabPanels","carousel_tabPanelContent","carousel_flipperPrevious","carousel_flipperNext","carousel__themeDark","carousel__themeLight","carousel__slideAnimatePrevious","carousel__slideAnimateNext","progress__circular","stroke","progress__paused","progress_circularSVG__control","progress_circularSVG__container","progress_circularSVG__page","progress_valueIndicator","progress_valueIndicator__indeterminate","progress_indicator","progress_indicator__determinate","progress_dot","progress_dot__1","progress_dot__2","loaded","load","readyState","onDOMReady","hadKeyboardEvent","hadFocusVisibleRecently","hadFocusVisibleRecentlyTimeout","inputTypesWhitelist","url","tel","email","password","datetime","isValidFocusTarget","nodeName","addFocusVisibleClass","onPointerDown","addInitialPointerMoveListeners","onInitialPointerMove","readOnly","hasAttribute","visibilityState","textField__filled","e14","transparentBackground","applyTransparentBackplateStyles","button__primary","button__outline","button__lightweight","button__justified","button__stealth","caption","caption__1","caption__2","paragraph","paragraph__1","paragraph__2","paragraph__3","ApplicationType","largeHeight","smallHeight","badge__filled","badge__small","badge__large","MutationObserver","handleEvent","TreeItemTemplate","isNestedItem","propertyOrOptions","childList","handleContainerClick","when","childItems","childItemLength","renderCollapsedChildren","slotted","isButtonAnHTMLElement","handleMenuItemSelection","$emit","SystemColors","HamburgerMenuItemStyles","Field","FieldText","Highlight","HighlightText","GrayText","backdropFilterSupport","documentElement","applyAcrylicMaterial","fallbackOpacity","topHighlight","acrylicConfig","textureImage","fallbackBackgroundColor","backdropFilterStyles","blurRadius","saturation","fallbackStyles","applyAcrylic","symbolObservablePonyfill","_getDisplayName","_default","BaseComponent","hocName","neutralDividerRest","_objectWithoutProperties","sourceSymbolKeys","cacheCtorLocalNames","cacheElementEventHandlers","ensureProps","objs","attrs","events","applyAttrs","handlers","applyEvents","applyProps","applyRef","ensureRef","ensureLocalName","lname","defaultCreateElement","chren","_len2","_key2","supportsElementInternals","FormAssociated","dirtyValue","proxyEventsToBlock","proxyInitialized","elementInternals","attachInternals","validity","validationMessage","willValidate","labels","parentLabels","forLabels","setFormValue","connectedCallback","attachProxy","checkValidity","reportValidity","flags","setValidity","setCustomValidity","_a","proxySlot","HTMLFormElement","submit","AutoSuggestOption","displayFormatter","formatDisplayString","defaultDisplayFormatter","searchString","beforeGlyph","generateGlyph","closeButton","primaryButton","secondaryButton","closeButtonElement","handleCloseButtonClick","dialog_body","dialog_heading","generateCloseButton","getHeadingProps","generateActions","focusDialogCloseButton","dialog__singleAction","_6","primary","dialog_closeButton","dialog_closeButtonGlyph","stealth","dialog_actionWrapper","dialog_primaryButton","dialog_secondaryButton","getPrimaryButtonProps","findDOMNode","glyphArrowright","PreviewCard","destination","icon","imageOverlay","renderImage","renderContentArea","previewCard","previewCard_imageRegion","previewCard_obscuredRegion","previewCard_image","generateIcon","previewCard_contentRegion","renderHeading","renderAttribution","headingProps","previewCard_heading","previewCard_headingContent","generateHeadingMaxlines","previewCard_attribution","previewCard_icon","previewCard_iconWrapper","_7","headingSize","Pivot","handleTabsUpdate","activeTabId","offsetX","tabPanelIndex","tabsRef","getLTR","setActiveIndicatorOffset","prevTabPanelIndex","updateTabPanelIndex","generatePivotClassNames","generateTabPanelsClassNames","tabElement","mytabsArray","indexNotChanged","shouldReverse","mytab","center","TextActionAppearance","TextActionButtonPosition","afterGlyph","buttonPosition","handleOnFocus","focused","handleOnBlur","buttonExists","generateButton","generateBeforeGlyph","generateAfterGlyph","TextFieldAppearance","allowedItems","wait","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","invokeFunc","leadingEdge","timerExpired","shouldInvoke","timeSinceLastCall","trailingEdge","timeWaiting","remainingWait","debounced","isInvoking","CLONE_DEEP_FLAG","applyMaxLines","extractHtmlElement","sourceRef","foundNode","Text","convertStylePropertyPixelsToNumber","getClientRectWithMargin","rect","clone","ellipsis","normalBind","bindingObserver","isBindingVolatile","triggerBind","targetName","normalUnbind","contentUnbind","$fastView","isComposed","needsBindOnly","triggerUnbind","updateAttributeTarget","updateBooleanAttributeTarget","updateContentTarget","textContent","$fastTemplate","updatePropertyTarget","updateClassTarget","classVersions","names","currentName","createPlaceholder","originalTargetName","cleanedTargetName","compilationContext","locatedDirectives","createAggregateBinding","partCount","finalParts","directive","interpolationEndLength","parseContent","directives","valueParts","bindingParts","literal","directiveIndex","compileAttributes","includeBasicValues","attrValue","parseResult","removeAttributeNode","compileContent","walker","currentPart","viewBehaviorFactories","targetAtContent","nextNode","behaviorCount","hasHostBehaviors","targetOffset","hostBehaviorFactories","hostBindingTarget","fec","firstElementChild","directiveCount","createComment","compileTemplate","cloneNode","viewFactories","behaviorIndex","factoryIndex","createBehavior","hostFactories","appendTo","lastAttributeNameRegex","currentString","for","q","w","aa","ba","A","ca","B","C","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","D","E","updater","F","G","isReactComponent","H","isPureReactComponent","I","J","K","L","__self","__source","M","$$typeof","_owner","N","Q","keyPrefix","R","U","S","T","escape","ea","fa","V","da","W","X","_calculateChangedBits","_currentValue","_currentValue2","_threadCount","_context","forwardRef","lazy","_ctor","_status","_result","memo","useCallback","useContext","useEffect","useImperativeHandle","useDebugValue","useLayoutEffect","useMemo","useReducer","useRef","useState","Fragment","StrictMode","Suspense","createFactory","unstable_ConcurrentMode","unstable_Profiler","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentDispatcher","ReactCurrentOwner","Y","Z","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propName","componentName","propFullName","secret","getShim","ReactPropTypes","bool","any","arrayOf","elementType","instanceOf","objectOf","oneOf","exact","checkPropTypes","PropTypes","typeOf","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Memo","Portal","Profiler","isValidElementType","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","onError","ha","ia","ja","la","ma","na","oa","extractEvents","eventTypes","pa","phasedRegistrationNames","qa","registrationName","ra","sa","dependencies","ta","va","wa","ka","xa","ya","za","Aa","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","Ba","injectEventPluginOrder","injectEventPluginsByName","Ca","stateNode","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","return","Ma","dispatchConfig","Na","_targetInst","Oa","Pa","Qa","Ra","Sa","Ta","animationend","animationiteration","animationstart","transitionend","Ua","Va","Wa","Xa","Ya","Za","$a","ab","bb","db","eb","fb","gb","nativeEvent","Interface","isDefaultPrevented","returnValue","ib","eventPool","jb","destructor","hb","getPooled","cancelBubble","persist","eventPhase","cancelable","timeStamp","isTrusted","kb","lb","mb","nb","ob","documentMode","pb","qb","rb","sb","beforeInput","bubbled","captured","compositionEnd","compositionStart","compositionUpdate","tb","ub","vb","wb","zb","locale","which","xb","altKey","metaKey","char","yb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","srcElement","correspondingUseElement","Ob","Pb","Rb","_valueTracker","stopTracking","Qb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","_debugOwner","_debugSource","fileName","lineNumber","kc","lc","mc","nc","acceptsBooleans","attributeNamespace","mustUseProperty","rc","sc","tc","pc","qc","oc","setAttributeNS","uc","vc","defaultChecked","_wrapperState","initialChecked","wc","controlled","xc","yc","zc","Ac","Bc","change","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","detachEvent","Kc","Lc","attachEvent","Mc","Nc","Oc","Pc","_isInputEventSupported","Qc","Rc","Alt","Control","Meta","Shift","Sc","getModifierState","Tc","Uc","Vc","Wc","Xc","Yc","screenX","screenY","clientX","clientY","pageX","pageY","buttons","fromElement","toElement","movementX","movementY","Zc","pointerId","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","$c","mouseEnter","mouseLeave","pointerEnter","pointerLeave","ad","defaultView","parentWindow","alternate","bd","cd","dd","ed","effectTag","fd","hd","sibling","gd","animationName","pseudoElement","jd","clipboardData","kd","ld","charCode","md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","nd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","od","repeat","pd","dataTransfer","qd","touches","targetTouches","changedTouches","rd","sd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","td","ud","vd","wd","isInteractive","xd","isInteractiveTopLevelEventType","yd","zd","Ad","targetInst","ancestors","containerInfo","topLevelType","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Nd","HTMLIFrameElement","Od","Qd","focusedElem","selectionRange","Md","compareDocumentPosition","selectionStart","selectionEnd","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","removeAllRanges","addRange","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","onSelect","$d","Zd","ae","defaultSelected","be","dangerouslySetInnerHTML","ce","de","ee","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","fe","ge","he","ie","je","MSApp","execUnsafeLocalFunction","namespaceURI","ke","nodeValue","le","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","me","ne","oe","pe","menuitem","area","br","col","embed","hr","img","keygen","param","wbr","qe","se","te","ue","ve","we","xe","__html","ye","ze","Ae","unstable_scheduleCallback","Be","unstable_cancelCallback","De","Ee","Fe","Ge","He","Ie","Je","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Ke","Le","Me","Ne","Oe","__reactInternalMemoizedMergedChildContext","Pe","Qe","Re","Se","Ue","pendingProps","contextDependencies","memoizedState","memoizedProps","lastEffect","firstEffect","nextEffect","childExpirationTime","expirationTime","Ve","Xe","Ye","Ze","$e","af","bf","pendingChildren","implementation","cf","didError","earliestPendingTime","latestPendingTime","df","ff","latestPingedTime","earliestSuspendedTime","latestSuspendedTime","gf","nextExpirationTimeToWorkOn","jf","kf","baseState","tf","_reactInternalFiber","lf","nf","mf","payload","of","pf","qf","rf","sf","uf","vf","wf","UNSAFE_componentWillReceiveProps","xf","yf","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","zf","Af","_stringRef","Bf","Cf","Df","Ef","Ff","Gf","Hf","If","Jf","Kf","Lf","Mf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","baseUpdate","ng","og","pg","lastRenderedReducer","qg","lastRenderedState","eagerReducer","eagerState","rg","destroy","deps","sg","tg","ug","vg","wg","readContext","Uf","Pf","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","UNSAFE_componentWillUpdate","componentWillUpdate","Qg","Rg","pendingContext","Sg","timedOutAt","Tg","Ug","hf","We","hydrate","observedBits","unstable_observedBits","Vg","Wg","Xg","Yg","Zg","bh","firstUpdate","lastUpdate","firstCapturedUpdate","lastCapturedUpdate","firstCapturedEffect","lastCapturedEffect","ch","dh","eh","fh","gh","hh","ih","jh","kh","lh","nh","oh","onclick","ph","WeakSet","qh","rh","sh","th","vh","wh","xh","yh","_reactRootContainer","zh","wasMultiple","Ce","uh","Ah","Bh","Ch","Dh","Eh","componentDidCatch","Fh","componentStack","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","__reactInternalSnapshotBeforeUpdate","Vh","Wh","Xh","Yh","Zh","pendingCommitExpirationTime","ef","Pd","unstable_runWithPriority","unstable_NormalPriority","finishedWork","$h","ai","createElementNS","bi","ci","di","maxDuration","pingCache","ei","fi","unstable_getCurrentPriorityLevel","unstable_ImmediatePriority","unstable_UserBlockingPriority","unstable_LowPriority","unstable_IdlePriority","gi","hi","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","unstable_now","ui","vi","wi","xi","yi","zi","timeoutHandle","Ai","Bi","Ci","nextScheduledRoot","Di","Ei","unstable_shouldYield","_onComplete","Fi","firstBatch","_expirationTime","_defer","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","_root","_callbacks","_next","_hasChildren","_didComplete","_children","Oi","_didCommit","_onCommit","Pi","_internalRoot","Qi","Si","legacy_renderSubtreeIntoContainer","Ri","Ti","commit","unmount","createBatch","Vi","createPortal","unstable_renderSubtreeIntoContainer","unmountComponentAtNode","unstable_createPortal","unstable_batchedUpdates","unstable_interactiveUpdates","flushSync","unstable_createRoot","unstable_flushControlled","Events","findFiberByHostInstance","bundleType","rendererPackageName","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Te","overrideProps","currentDispatcherRef","findHostInstanceByFiber","Wi","Xi","priorityLevel","performance","_schedMock","MessageChannel","port2","port1","onmessage","postMessage","unstable_next","unstable_wrapCallback","unstable_continueExecution","unstable_pauseExecution","unstable_getFirstCallbackNode","extracted","cloneStyle","typeOfStyle","_isObservable2","newStyle","_isObservable","CSS","ns","_isInBrowser2","_StyleSheet2","_PluginsRegistry2","_rules2","_observables2","_functions2","_sheets2","_createGenerateClassName2","_createRule3","_DomRenderer2","_VirtualRenderer2","defaultPlugins","instanceCounter","Jss","use","setup","insertionPoint","virtual","onProcessSheet","ruleOptions","plugin","PluginsRegistry","hooks","nextStyle","processedValue","_SimpleRule2","_KeyframesRule2","_ConditionalRule2","_FontFaceRule2","_ViewportRule2","RuleClass","SimpleRule","KeyframesRule","frames","inner","ConditionalRule","_toCss","FontFaceRule","ViewportRule","style$","styleRule","nextValue","fnValuesNs","fnStyleNs","fnStyle","extractKey","CSSRuleTypes","cssText","isAttached","getHead","findPrevNode","findHigherSheet","findHighestSheet","nextElementSibling","comment","findCommentNode","getNonce","DomRenderer","hasInsertedRules","media","nonce","prevNode","insertionPointElement","_parentNode","insertStyle","_index","newCssRule","VirtualRenderer","readUInt8","ctor","superCtor","super_","TempCtor","_parse","_parse2","semiWithNl","colonIndex","valueNs","mergeExtend","refRule","mergeRest","composes","registerClass","convertCase","hyphenatedProp","_hyphenateStyleName2","_hyphenateStyleName","converted","uppercasePattern","msPattern","toHyphenLower","hName","camelCasedOptions","addCamelCasedVersion","iterate","_defaultUnits","regExp","newObj","units","convertedValue","innerProp","_innerProp","motion","perspective","styleDetector","processArray","scheme","objectToArray","mapValuesByProp","isFallback","isInArray","propObj","customPropObj","customProps","appendedValue","customPropsToStyle","baseProp","propArrayInObj","propArray","attachment","timingFunction","delay","iterationCount","fillMode","playState","spread","radius","font","variant","stretch","family","grow","basis","wrap","flow","shrink","align","grid","templateRows","templateAreas","autoColumns","autoRows","autoFlow","rowStart","rowEnd","columnStart","columnEnd","gap","rowGap","columnGap","vendor","changeProp","supportedProp","supportedProperty","changeValue","supportedValue","_interopRequireWildcard","_prefix2","_supportedProperty2","_supportedValue2","_camelize2","toUpper","cacheKey","prop0","prop1","displayValue","ARIAGlobalStatesAndProperties","disabledCursor","CancelIcon","titleText","renderTitleText","setter","toIteratee","invert","drawBackground","getDesignSystemOverrides","withContext","composedParent","supportsAdoptedStylesheets","ShadowRoot","isDesignSystemConsumer","provider","isDesignSystemProvider","designSystemConsumerBehavior","useDefaults","cssCustomPropertyDefinitions","attributeChangeHandler","isValidDesignSystemValue","setCustomProperty","syncDesignSystemWithProvider","deleteCustomProperty","writeCustomProperties","localDesignSystemChangeHandler","providerDesignSystemChangeHandler","customPropertyTarget","evaluate","_tagNames","tagNames","tagNameUpper","selfNotifier","designSystemNotifier","disconnectedCSSCustomPropertyRegistry","registerCSSCustomProperty","disconnectedRegistry","cached","designProperties","designSystemProvider","providerCtor","registerTagName","Content360ContentGroupingType","TAGS","outdent","encodeAttr","parse","chunk","tokenizer","out","links","IntersectionObserverEntry","intersectionRatio","THROTTLE_TIMEOUT","POLL_INTERVAL","USE_MUTATION_OBSERVER","_observationTargets","_registerInstance","_monitorIntersections","_checkForIntersections","unobserve","_unmonitorIntersections","_unregisterInstance","takeRecords","records","_queuedEntries","_initThresholds","opt_threshold","_parseRootMargin","opt_rootMargin","margins","_monitoringIntersections","_monitoringInterval","setInterval","addEvent","_domObserver","characterData","subtree","clearInterval","removeEvent","rootIsInDom","_rootIsInDom","rootRect","_getRootRect","targetRect","rootContainsTarget","_rootContainsTarget","oldEntry","intersectionRect","_computeTargetAndRootIntersection","newEntry","_hasCrossedThreshold","isIntersecting","_callback","rect1","rect2","getParentNode","atRoot","parentRect","parentComputedStyle","_expandRectByRootMargin","_rootMarginValues","newRect","oldRatio","newRatio","thresholds","containsDeep","targetArea","intersectionArea","opt_options","timer","opt_useCapture","detatchEvent","assignedSlot","x0","y0","kx","scale","ky","dx","dy","topology","features","geometries","bbox","properties","geometry","transformPoint","arcs","arc","points","point","ring","polygon","coordinates","Card","More","CSSCustomPropertyBehavior","unregisterCSSCustomProperty","cssCustomPropertyBehaviorFactory","isTreeItemElement","TreeItem","parentTreeNode","getParentTreeNode","disconnectedCallback","renderCollapsedNodes","treeChildren","parentTreeItemNode","BaseButtonStyles","AccentButtonStyles","HypertextStyles","LightweightButtonStyles","OutlineButtonStyles","StealthButtonStyles","MatchMediaStyleSheetBehavior","query","listenerCache","constructListener","forcedColorsStylesheetBehavior","with","horizontalThreeDots","hamburgerMenuGlyph","closeButtonGlyph","microsoftLogo","SlottedBehavior","elevation","templateOrTemplateBinding","getTemplate","DirectionalStyleSheetBehavior","DirectionalStyleSheetBehaviorSubscription","_b","_c","Anchor","DelegatesARIALink","ChevronRight","ChevronLeft","freeParseFloat","floating","temp","rand","union","arrays","CheckCircleFill","Stars","News","Ticket","SportsBalls","Money","FinancialArrowUp","Diamond","Glasses","Health","FoodBowl","Car","Home","Meditation","VideoAutoPlay","MapPin","Block","HomeGroup","Atom","UserLove","FountainPenTip","DoubleBookmark","Settings","GlobeWestLegacy","Basketball","Horoscope","SoccerBall","Suitcase","EntertainmentLogoLegacy","History","Refresh","Following","fillRule","clipRule","Follow","StealthButton","Label","ChevronDownIcon","Divider","LightweightButton","AccentButton","Checkbox","VideoPlay","Share","NotificationLegacy","OutlineButton","nativeCeil","Camera","Play","CircleRightArrowLegacy","unionBy","contentCard","contentCard_body","contentCard__default","contentCard_footer","contentCard_footer__hidden","contentCard_headingContainer","contentCard__condensed","contentCard_icon","contentCard_mediaWrapper","contentCard_imagePriority","contentCard_abstract","contentCard_heading","contentCard_mask","contentCard__infoPane","contentCard__infoPaneSplitVertical","contentCard__infoPaneSplitHorizontal","contentCard_backgroundImage","contentCard_media","contentCard_attribution","contentCard__hasAbstract","contentCard_headingWrapper","contentCard__hasAbstractFooter","contentCard_startActions","contentCard_endActions","headingLevel","imagePriority","layout","hasAbstract","isImagePriority","renderBodyContent","generateFooterArea","getClassNameByLayout","condensed","infoPane","infoPaneSplitHorizontal","infoPaneSplitVertical","hasElementSlot","generateBodyClassNames","renderMediaWrapper","renderMediaSlot","renderIconSlot","slotElement","generateFooterClassNames","RowResizeDirection","rowStyleSheet","row__fill","row_resizeHandle","row__resizeNorth","row__resizeSouth","row__overlay","row__hidden","collapsed","collapsedHeight","initialHeight","maxHeight","minHeight","onResize","resizeControl","overlay","resizable","resizeFrom","isShift","resizeFromNorth","north","getHeight","setHeight","onMouseDown","resizing","dragReference","onMouseUp","onMouseMove","updatedHeight","throttle","flexBasis","resizeProps","generateStyleAttribute","renderResizeControl","south","PaneResizeDirection","paneStyleSheet","pane","pane_resizeHandle","pane__resizeWest","pane__resizeEast","pane__overlay","pane__hidden","collapsedWidth","initialWidth","maxWidth","setWidth","updatedWidth","getWidth","valueMin","valueMax","valueNow","east","west","rowStyle","paneStyle","buttonStyle","lightDismissEnabled","mobileNavigationMenuButtonLabel","mobileNavigationMenuButtonProps","globalActionsButtonLabel","globalActionsButtonProps","navigationMenu","globalActions","paneMinWidth","mobileNavBackgroundValue","inPageFlow","mobileNavWindowMaxWidth","mobileNavOpenGlyph","mobileNavCloseGlyph","navPaneElement","openMenuButtonElement","closeMenuButtonElement","handleWindowKeyDown","navOpen","resetMenus","focusHamburgerMenuButton","toggleGlobalActions","menuOpen","isResponsive","handleMobileNavigationMenuVisibilityToggle","toggleMobileMenu","handleNavAnimationEnd","sidePaneLayout_canvas","sidePaneLayout_container","sidePaneLayout_row","renderLayout","renderLightDismiss","sidePaneLayout","sidePaneLayout__inPageFlow","sidePaneLayout_mobileNavigationMenu","sidePaneLayout_mobileNavigationMenu__open","sidePaneLayout_mobileNavigationMenu__close","isOpen","sidePaneLayout_pane","sidePaneLayout_navigation","sidePaneLayout_mobileNavigation","sidePaneLayout_mobileNavigation_container","sidePaneLayout_mobileNavigation_headerContainer","sidePaneLayout_navigation_headerContainer","generateMobileNavMenuClassNames","renderHamburgerButton","renderGlobalActionsButton","renderNavigationMenu","generatePaneClassNames","renderHeader","renderTextField","sidePaneLayout_globalActionsButton","sidePaneLayout_mobileNavigationMenu_buttonContainer","showGlobalActions","sidePaneLayout_mobileNavigationMenu_button","glyph","sidePaneLayout_icon","styleOverrides","sidePaneLayout_navigation_headerText","heading_4","marginTop","_4","sidePaneLayout_navigation_header","sidePaneLayout_globalActions","sidePaneLayout_textField","dismissMobileMenu","ColorBlendMode","saturateViaLCH","saturationConstant","blendMultiplyChannel","blendMultiply","blendOverlayChannel","blendOverlay","ColorInterpolationSpace","interpolateByColorSpace","space","HSL","interpolateHSL","HSV","interpolateHSV","XYZ","interpolateXYZ","LAB","interpolateLAB","LCH","interpolateLCH","interpolateRGB","stops","sortColorScaleStops","interpolationMode","RGB","lowerIndex","upperIndex","getColor","containedStops","finalStops","searchDown","contrastErrorMargin","maxSearchIterations","startingColor","finalPosition","finalColor","testRangeMin","testRangeMax","mid","iterations","midColor","midContrast","newStops","defaultPaletteConfig","updatePaletteColors","newConfig","changed","generatePaletteColorScale","baseColorHSL","trimmedScale","scaleColorLight","scaleColorDark","adjustedLight","adjustedDark","saturationAdjustmentCutoff","saturationLight","saturationDark","multiplyLight","multiplyDark","overlayLight","overlayDark","baseScalePosition","greyscalePaletteConfig","regenPalettes","darkLumColor","referencePalette","baseColorLum","baseColorPercent","matchRelativeLuminanceIndex","darkPercent","darkBaseColor","fromObject","darkestBaseColor","fullColorScaleStops","reference","bestFitValue","MAX_VALUE","bestFitIndex","referenceLength","fitValue","greenDesignSystem","backplate","followButton","isFollowed","isFollowedIcon","isNotFollowedIcon","topic","topicCard_contentRegion","topicCard_image","generateTopicCardTitle","generateTopicCardAction","topicCard","topicCard__isFollowed","topicCard__isNotFollowed","topicCard__small","topicCard__large","topicCard__backplate","sizeClassName","large","topicCard_topic","topicCard_topicContent","topicProps","topicCard_actionRegion","topicCard_followButton","topicCard_isFollowedIcon","topicCard_isNotFollowedIcon","generateGreenAccentStyles","small","iconAttributes","e6","localizedStrings","isOverflowing","showMenu","overflowItems","onContainerResize","onNavItemClick","selectedNav","onNavItemKeyPress","toggleOverflowMenu","hideOverflowMenu","showOverflowMenu","navItem","onClickOutside","navContainer","containerWidth","offsetWidth","navElement","FeedNavigationItemStyles","FeedNavigationItemTemplate","download","hreflang","ping","referrerpolicy","rel","delegatesFocus","navItemTemplate","showPipeSeparator","overflowButton","overflowButtonTooltip","overflowTemplate","FeedNavigationTemplate","FeedNavigationStyles","handleSubmission","requestSubmit","click","detachProxy","handleFormReset","reset","formAction","formaction","formEnctype","formenctype","formMethod","formmethod","formNoValidate","formnovalidate","formTarget","formtarget","ButtonTemplate","formId","ariaAtomic","ariaBusy","ariaControls","ariaCurrent","ariaDescribedby","ariaDetails","ariaDisabled","ariaErrormessage","ariaExpanded","ariaFlowto","ariaHaspopup","ariaHidden","ariaInvalid","ariaKeyshortcuts","ariaLabelledby","ariaLive","ariaOwns","ariaPressed","ariaRelevant","ariaRoledescription","ButtonStyles","ButtonFace","ButtonText","treeItems","setItems","handleItemSelected","resetItems","currentSelected","checkForNestedItems","slottedTreeItems","onOverlayClick","targetClass","closeMenu","menuOverlay","newSelectedItem","treeItem","HamburgerMenuStyles","HamburgerMenuTemplate","openMenu","menuButtonTooltip","useMobileStyles","closeButtonTooltip","initializer","groupBy","DividerRole","DividerTemplate","DividerStyles","pull","omit","AdLabelAppearance","adLabel","adLabel__primary","adLabel__neutralDark","adLabel__neutralLight","apperanceClass","neutralDark","neutralLight","autocomplete","maxLength","maxlength","minLength","minlength","spellcheck","control","SearchBoxTemplate","isOnImage","handleTextInput","submitSearch","SearchBoxStyles","AnchorTemplate","AnchorStyles","expandedGlyph","glyphClassName","treeViewItem_glyph","treeViewItem_glyphContainer","treeViewItem_expandedGlyph","nestedNodeOffest","CaptionSize","CaptionTag","_2","_9","_8","centeredInlineFlex","contentCard_positioningRegion","t7","contentCard_attributionRegion","contentCard_timestamp","contentCard_contentRegion","contentCard_headingContent","contentCard_imageRegion","contentCard_image","contentCard_iconWrapper","contentCard_kicker","contentCard_kickerRegion","contentCard_curatedBy","contentCard_kickerContent","contentCard_actionIcon__trigger","contentCard_menuGlyph","contentCard__hideHeadingHover","contentCard__imagePriority","contentCard_actionRegion","contentCard_actionIcon","contentCard__1x_1y","contentCard__1x_2y","contentCard__1x_3y","contentCard_obscuredRegion","contentCard__2x_2y","abstract","curatedBy","headingMaxLines","kicker","likeIcon","menuTrigger","saveIcon","handleSecondaryActionHover","hideHeadingHover","handleMenuTriggerClick","renderAttributionRegion","_2x_2y","_1x_2y","_1x_3y","_1x_1y","renderKickerRegion","renderAbstract","renderKicker","renderCuratedBy","getAbstractProps","kickerProps","onMouseEnter","onMouseLeave","filled","renderTimestamp","renderActionRegion","contentCard_saveIcon","contentCard_likeIcon","renderMenuTrigger","contentCard_menuTrigger","defaultHeadingSize","_5","_3","maxLines","newSplice","removed","addedCount","calcSplices","currentStart","currentEnd","old","oldStart","oldEnd","prefixCount","suffixCount","searchLength","sharedPrefix","index1","index2","sharedSuffix","ops","distances","edits","northWest","spliceOperationsFromEditDistances","calcEditDistances","splices","oldIndex","$push","mergeSplice","inserted","insertionOffset","intersectCount","start1","end1","start2","end2","deleteCount","currentRemoved","projectArraySplices","changeRecords","initialSplices","record","createInitialSplices","arrayObservationEnabled","adjustIndex","changeRecord","arrayLength","oldCollection","finalSplices","defaultRepeatOptions","positioning","bindWithoutPositioning","bindWithPositioning","childContext","itemsBinding","isItemsBindingVolatile","templateBinding","isTemplateBindingVolatile","itemsObserver","originalContext","bindView","itemsBindingObserver","templateBindingObserver","observeItems","refreshAllViews","unbindAllViews","updateViews","oldObserver","newObserver","totalRemoved","removeDelta","addIndex","neighbor","shift","currentContext","templateChanged","itemsLength","viewsLength","disposeContiguousBatch","setArrayObserverFactory","arrayProto","notEmpty","methodCallResult","addSplice","oldArray","enableArrayObservation","autoplay","autoplayInterval","nextFlipper","previousFlipper","loop","onActiveIdUpdate","slideTransitionDirection","assignTransitionDirectionClassName","assignSlideThemeClassName","getSlideTheme","handleUpdate","activeTab","activeTabIndex","slides","slide","setTransitionDirection","autoplayNextSlide","nextPosition","getActiveIndex","nextSlide","newPosition","setNewSlidePosition","previousSlide","rootEl","generatePreviousFlipper","generateTabsClassNames","generateNextFlipper","autoplayTimer","lastItemKey","theme","dark","incomingIndex","isMultipleSlides","isFirstSlide","previousFlipperClassName","isLastSlide","nextFlipperClassName","newActiveId","circular","paused","renderProgress","dotClass","indicatorCount","cx","cy","renderCircle","strokeValue","generateSVGClassNames","renderCircularBackground","generateCircularValueIndicatorClassNames","progressIndicatorClasses","renderIndeterminateItems","hasGlyphAndContent","previewCard_positioningRegion"],"mappings":"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B,EAAIJ,EAAWhB,MAAIsB,GAAKD,EAAI,EAAID,EAAEE,GAAKD,EAAI,EAAID,EAAEH,EAAQC,EAAKI,GAAKF,EAAEH,EAAQC,KAASI,GAChJ,OAAOD,EAAI,GAAKC,GAAK1B,OAAO8B,eAAeT,EAAQC,EAAKI,GAAIA,I,wLCpDzD,MCEMkiC,EAAqB,CAC9BC,MAAO,IACPC,UAAW,IACX3Y,OAAQ,IACR4Y,SAAU,IACVC,KAAM,KAGJC,EAAuB,CACzBzyB,gBAAiB,IACjBmL,SAAU,EACVkW,QAAS,EACT/gB,WAAY,EACZC,qBAAsB,EACtBC,gCAAiC,EACjCC,UAAW,IAAU0mB,IACrBjnB,aAAc,EACdC,qBAAsB,EACtBQ,kBAAmB,EACnBuC,WAAYkvB,EACZxxB,gBAAiB,GACjBF,aAAc,EACdN,eDxB0B,CAC1B,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WCrEAC,cDuEyB,CACzB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UA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,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WDrEAC,cCuEyB,CACzB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WDpKAJ,gBAAiB,UAIjBshB,oBAAqB,EACrB1gB,qBAAsB,EACtBC,uBAAwB,EACxBC,qBAAsB,EACtBC,wBAAyB,GACzBC,0BAA2B,EAC3BC,2BAA4B,EAC5BC,6BAA8B,EAC9BC,2BAA4B,EAC5BC,qBAAsB,EACtBC,sBAAuB,GACvBC,uBAAwB,EACxBC,sBAAuB,EACvBC,yBAA0B,EAC1BC,0BAA2B,EAC3BC,2BAA4B,EAC5BC,4BAA6B,EAC7BC,2BAA4B,EAC5BC,8BAA+B,EAC/BC,4BAA6B,EAC7BC,6BAA8B,EAC9BC,8BAA+B,EAC/BC,6BAA8B,EAC9BC,gCAAiC,EACjCC,4BAA6B,EAC7BC,8BAA+B,EAC/BC,4BAA6B,EAC7BC,oBAAqB,EACrBC,qBAAsB,EACtBkwB,2BAA4B,GAC5BC,4BAA6B,EAC7BlwB,4BAA6B,EAC7BC,6BAA8B,EAC9BC,4BAA6B,EAC7BC,wBAAyB,EACzBC,wBAAyB,GACzBC,yBAA0B,GAC1BC,0BAA2B,GAC3BE,yBAA0B,KAqBvB,SAAS+vB,EAA0Bz2B,EAAKwD,GAC3C,OAAO,OAAAhG,EAAA,GAAWwC,GAAOA,EAAIwD,GAAgBxD,EAWlC,QErGR,SAASuD,EAAqBhQ,GACjC,OAAQiQ,GACGA,QAAsC1B,IAAtB0B,EAAajQ,GAC9BiQ,EAAajQ,GACb,EAAqBA,GAM5B,MAAMkQ,EAAkBF,EAAqB,mBAgBvC,GAZkBA,EAAqB,mBAIxBA,EAAqB,gBAIbA,EAAqB,wBAI3BA,EAAqB,mBA0EtC2C,GAtEgB3C,EAAqB,iBAI1BA,EAAqB,YAInBA,EAAqB,cAIXA,EAAqB,wBAIVA,EAAqB,mCAI3CA,EAAqB,aAIlBA,EAAqB,gBAIhBA,EAAqB,qBAIvBA,EAAqB,mBACjBA,EAAqB,uBACpBA,EAAqB,wBACpBA,EAAqB,yBACtBA,EAAqB,wBAClBA,EAAqB,2BACnBA,EAAqB,6BACpBA,EAAqB,8BACpBA,EAAqB,+BACtBA,EAAqB,8BAC3BA,EAAqB,wBACpBA,EAAqB,yBACpBA,EAAqB,0BACtBA,EAAqB,yBAClBA,EAAqB,4BACpBA,EAAqB,6BACpBA,EAAqB,8BACpBA,EAAqB,+BACtBA,EAAqB,8BAClBA,EAAqB,iCACvBA,EAAqB,+BACpBA,EAAqB,gCACpBA,EAAqB,iCACtBA,EAAqB,gCAClBA,EAAqB,mCACzBA,EAAqB,+BACpBA,EAAqB,gCACtBA,EAAqB,+BAC9BA,EAAqB,sBACnBA,EAAqB,wBAIfA,EAAqB,8BAIpBA,EAAqB,+BACrBA,EAAqB,gCACnD4C,EAA+B5C,EAAqB,gCACpD6C,EAA8B7C,EAAqB,+BACzBA,EAAqB,2BACrBA,EAAqB,2BACpBA,EAAqB,4BACpBA,EAAqB,6BACjCA,EAAqB,cACVA,EAAqB,4B,IC3GlD0K,E,SAQJ,SAASC,EAAmBC,GAC/B,MAAMC,EAAiB,OAAAooB,EAAA,GAAQroB,GAa/B,OAZA,SAAqBnO,GACjB,MAAmB,mBAARA,EACCwD,GACG4K,EAAenc,OAAOC,OAAO,GAAIsR,EAAc,CAClDC,gBAAiBzD,EAAIwD,MAKtB4K,EAAepO,IAS3B,SAASqO,EAAkC3C,EAAM/D,GACpD,MAAMyG,EAAiB,OAAAooB,EAAA,GAAQ7uB,GAC/B,OAAQ3H,GACe,mBAARA,EACCwD,GACG4K,EAAenc,OAAOC,OAAO,GAAIsR,EAAc,CAClDC,gBAAiBzD,EAAIwD,MACrBkI,GAID0C,EAAepO,GAAK0L,IAtCvC,SAAWuC,GACPA,EAAuB,KAAI,OAC3BA,EAAwB,MAAI,QAC5BA,EAAyB,OAAI,SAC7BA,EAAwB,MAAI,QAC5BA,EAA2B,SAAI,WALnC,CAMGA,IAAqBA,EAAmB,KAwCpC,MAAMK,EAAmB,OAAAkoB,EAAA,GAASr+B,IACrC,IAAIoW,EAAS,YAAiBpW,GAC9B,GAAe,OAAXoW,EACA,OAAOA,EAGX,GADAA,EAAS,YAAiBpW,GACX,OAAXoW,EACA,OAAOA,EAEX,MAAM,IAAIvS,MAAS7D,EAAH,qIAMb,SAASqW,EAAarW,GACzB,OAAO,YAAoBA,IAAU,YAAoBA,GAatD,MAAM,EAAW,OAAAq+B,EAAA,GAAQ,CAAC9nB,EAAGhG,IACzB,YAAc4F,EAAiBI,GAAIJ,EAAiB5F,IAC5D,CAACgG,EAAGhG,IAAMgG,EAAIhG,GAKV,SAASmG,EAAU1W,GACtB,OAAO,YAAuBmW,EAAiBnW,IAK5C,MAAM8W,EAAQ,CAACxa,EAAOya,EAAKF,IAAQD,KAAKG,IAAIH,KAAKC,IAAIva,EAAOya,GAAMF,GCtFlE,IAAIgQ,EAyBJ,SAASC,EAAgBC,EAAiBC,GAC7C,OAAQ3b,IACJ,IAAKgL,EAAa2Q,GACd,OAAQ,EAEZ,MAAMC,EAAeqX,EAA0BvX,EAAiB1b,GAC1D/L,EAAQ2nB,EAAansB,QAAQksB,GAEnC,OAAkB,IAAX1nB,EACDA,EACA2nB,EAAaC,UAAWC,IACtB,OAAQ9Q,EAAa8Q,KD8BL5W,EC9B4C4W,ED+BjEhR,EC/ByD6Q,GD+BrCxQ,WAAWL,EAAiB5F,KADpD,IAAyBA,KCtBzB,SAAS6W,EAAuBL,EAAiBC,GACpD,OAAQ3b,IACJ,MAAMgc,EAAkBiX,EAA0BvX,EAAiB1b,GAC7Dic,EAAiBgX,EAA0BtX,EAAQ3b,GACnD/L,EAAQwnB,EAAgBO,EAAiBC,EAAjCR,CAAiDzb,GAC/D,IAAIkc,EACJ,IAAe,IAAXjoB,EACA,OAAOA,EAEX,IACIioB,EAAkB7Q,EAAU4Q,GAEhC,MAAOzsB,GACH0sB,GAAmB,EAEvB,OAAyB,IAArBA,EACO,EAEJF,EACFpoB,IAAI,CAACuoB,EAAcC,KACb,CACH/Q,UAAWA,EAAU8Q,GACrBloB,MAAOmoB,KAGVrgB,OAAO,CAACsgB,EAAexF,IACjBtL,KAAK+Q,IAAIzF,EAAaxL,UAAY6Q,GACrC3Q,KAAK+Q,IAAID,EAAchR,UAAY6Q,GACjCrF,EACAwF,GACPpoB,OAUJ,SAASsoB,EAAWvc,GACvB,OAAOqL,EAAUpL,EAAgBD,OAAoB,GAAMuL,KAAKiR,KAAK,MAAS,EAQ3E,SAASC,EAAUxoB,EAAO2nB,GAC7B,MAAqB,mBAAV3nB,EACC+L,GACG4b,EAAa5b,GAAcyL,EAAMxX,EAAM+L,GAAe,EAAG4b,EAAa5b,GAAchR,OAAS,IAIjG4sB,EAAanQ,EAAMxX,EAAO,EAAG2nB,EAAa5sB,OAAS,IAgD3D,SAAS6tB,EAAiBC,GAI7B,OAAQpB,GAKIqB,GAKIC,GAKIC,GAOIjd,IACJ,MAAMrL,EAAQs+B,EAA0BnW,EAAgB9c,GAClDkd,EAAgB+V,EAA0BvX,EAAiB1b,GAC3DhR,EAASkuB,EAAcluB,OACvBmuB,EAAqB1R,EAAMsR,EAAcpoB,EAAOuoB,EAAeld,GAAe,EAAGhR,EAAS,GAC1F0R,EAAYsc,EAAkBG,EAAoBD,EAAeld,GAIvE,MAAMod,EAA2B,GAAGhqB,OAAO8pB,GACrCG,EAAiBruB,EAAS,EAChC,IAAIsuB,EAAmBH,EAOvB,OANmB,IAAfzc,IAGA0c,EAAyBG,UACzBD,EAAmBD,EAAiBC,GA9EhE,SAASE,EAAaC,EAAgBC,EAAiBC,EAAa,EAAGC,EAAWH,EAAezuB,OAAS,GACtG,GAAI4uB,IAAaD,EACb,OAAOF,EAAeE,GAE1B,MAAME,EAActS,KAAKuS,OAAOF,EAAWD,GAAc,GAAKA,EAG9D,OAAID,EAAgBD,EAAeI,IACxBL,EAAaC,EAAgBC,EAAiBC,EAAYE,GAI1DL,EAAaC,EAAgBC,EAAiBG,EAAc,EACnED,GAmEuBJ,CAAaJ,GAZpB,SAAiCW,GAC7B,OAAOd,EAAkB,EAAStoB,EAAOopB,MAW0BT,EAAkBD,IAU1G,SAASW,EAAmClB,EAAgBI,EAAeld,GAC9E,OAAO+b,EAAuBmB,EAAeJ,EAAtCf,CAAsD/b,GCzL1D,SAAS0kD,EAAoB1iB,EAAS2iB,EAAavO,EAAWoJ,EAAYoF,EAAaC,GAC1F,OAAQ7kD,IACJ,MAAMgc,EAAkBiX,EAA0B+O,EAAShiC,GACrDU,EAAY6b,EAAWvc,IAAiB,EAAI,EAC5CoiC,EAAmBvlB,EAAiB5c,EAAjB4c,CACvBb,EADuBa,CAEvBmB,EAFuBnB,CAGvB,IAAMnc,EAHiBmc,ED0LQsB,ECtLN8U,EAA0B0xB,EAAa3kD,GDuL9Doe,GAAqBA,GAAoBD,GC3LpBtB,CAKvB7c,GDqLH,IAAkCme,ECnLjC,MAAM2mC,EAAkBrpC,EAAgBumB,EAASI,EAAzB3mB,CAA2Czb,GAC7D+kD,EAAe9xB,EAA0BmjB,EAAWp2C,GACpDglD,EAAgB/xB,EAA0BusB,EAAYx/C,GACtDilD,EAAiBhyB,EAA0B2xB,EAAa5kD,GACxDklD,EAAgBjyB,EAA0B4xB,EAAY7kD,GAC5D,OAvCR,SAA6B8kD,EAAiB9iB,EAASthC,EAAW01C,EAAWoJ,EAAYoF,EAAaC,GAElG,MAAMtiB,EAAmBuiB,EAAkBpkD,EAAY6K,KAAK+Q,IAAI85B,EAAYoJ,GACtEhd,EAAoC,IAAd9hC,EACtB01C,EAAYoJ,EACZ9+C,EAAY01C,EAAY11C,EAAY8+C,EACpC/c,EAAYD,EAAsBsiB,EAAkBviB,EACpDG,EAAaF,EAAsBD,EAAmBuiB,EACtDniB,EAAcF,EAAY/hC,EAAYkkD,EACtChiB,EAAaH,EAAY/hC,EAAYmkD,EAC3C,MAAO,CACHx/B,KAAM5I,EAAUgmB,EAAWT,GAC3Bxc,MAAO/I,EAAUimB,EAAYV,GAC7Bvc,OAAQhJ,EAAUkmB,EAAaX,GAC/Brc,MAAOlJ,EAAUmmB,EAAYZ,IAyBtBmjB,CAAoBL,EAAiB9oC,EAAiBtb,EAAWqkD,EAAcC,EAAeC,EAAgBC,ICvC7H,SAAS05C,EAA+BzgF,GACpC,OAAOumC,EAAoB,EAAgBvmC,EAAgB,EAAG,EAAG,EAAG,IFKxE,SAAW3C,GACPA,EAAqB,QAAI,UACzBA,EAAoB,OAAI,SAF5B,CAGGA,IAAgBA,EAAc,KEH1B,MAAMqjF,EAAwBh0F,EAAkCJ,EAAiB4a,KAAM3a,EAAmBk0F,EAA+B,OAItG/zF,EAAkCJ,EAAiB4a,KAAM3a,EAAmBk0F,EAA+B,KCZ9I,SAAS34F,EAAOC,EAAO,MAC1B,OAAQjV,GAAUA,EAAQiV,EAE9B,MAAMC,EAASF,IACR,SAASG,EAAK5J,GACjB,OAAO,OAAAxC,EAAA,GAAWwC,GACXwD,GACQmG,EAAO3J,EAAIwD,IAEpBmG,EAAO3J,G,ICNNwc,G,WAiDJ,SAASI,GAAsBC,EAAcC,EAAaC,GAC7D,OAAQvZ,IACJ,MAAMwZ,EAlBP,SAA4BxZ,GAC/B,MAAMyZ,EAAe1Z,EAAqB,UAArBA,CAAgCC,GACrD,OAAOyZ,GAAgB,EACjBT,GAAgBU,SAChBD,IAAiB,EACbT,GAAgBW,QAChBX,GAAgBY,OAYLC,CAAmB7Z,GACpC,OAAOizB,EAA0BzZ,IAAaR,GAAgBW,QACxDN,EACAG,IAAaR,GAAgBU,SACzBH,EACAD,EAAatZ,KAvD/B,SAAWgZ,GACPA,EAAyB,QAAI,UAC7BA,EAAwB,OAAI,SAC5BA,EAA0B,SAAI,WAHlC,CAIGA,KAAoBA,GAAkB,KCHlC,MAAM+f,GAAW,CACpB,CAAC,GAAI,IACL,CAAC,GAAI,IACL,CAAC,GAAI,IACL,CAAC,GAAI,IACL,CAAC,GAAI,IACL,CAAC,GAAI,IACL,CAAC,GAAI,IACL,CAAC,GAAI,IACL,CAAC,GAAI,KACPh9B,OAAO,CAAC8c,EAAOle,EAAK1G,IAAUxF,OAAOC,OAAOmqB,EAAO,CACjD,CAAC,KAAI5kB,EAAQ,IAAM,CAAE+kC,SAAUr+B,EAAI,GAAIs+B,WAAYt+B,EAAI,MACvD,IAIJ,SAASu+B,GAAmBnpC,GACxB,OAAOgpC,GAAS5pC,eAAeY,GAAOA,EAAM,KAKhD,SAASopC,GAAgBppC,GACrB,OAAQiQ,IACJ,MAAMo5B,EAAmBnH,SAASliC,EAAIwD,QAAQ,IAAK,IAAK,IAClD8lC,EAAgBjgB,IAAuB,EAAG,EAAG,EAA7BA,CAAgCpZ,GAChDs5B,EAAO,aAAMF,EAAmBC,EAAe,EAAG,GACxD,OAAOH,GAAmB,IAAI9lC,OAAOkmC,EAAKn+B,cAM3C,SAASo+B,GAAYxpC,GACxB,OAAOgpC,GAASG,GAAmBnpC,IAAMipC,SAKtC,SAASQ,GAAczpC,GAC1B,OAAOgpC,GAASG,GAAmBnpC,IAAMkpC,WAKtC,SAASQ,GAAc1pC,GAC1B,OAAOqW,EAAKmzB,GAAYxpC,IAKrB,SAAS2pC,GAAgB3pC,GAC5B,OAAOqW,EAAKozB,GAAczpC,IAgC9B,SAAS8pC,GAAqBC,EAAgBC,GAC1C,OAAQhqC,IAAQ,CACZ,YAAa+pC,EAAe/pC,GAC5B,cAAegqC,EAAiBhqC,KAMX8pC,GAAqBJ,GAAeC,IAA1D,MAIMO,GAAsBJ,IAxB5B,SAA6B9pC,GAChC,OAAQiQ,GACGy5B,GAAcN,GAAgBppC,EAAhBopC,CAAqBn5B,OAM3C,SAA+BjQ,GAClC,OAAQiQ,GAAiB05B,GAAgBP,GAAgBppC,EAAhBopC,CAAqBn5B,OCrFrD0hC,GAAoBh3B,EAAmBg6C,EAAoB,EAAgB,GAAI,EAAGhiD,EAA6BC,EAA8BC,IAC7I++B,GAAwB92B,EAAkCJ,EAAiB4a,KAAMqc,IACxD72B,EAAkCJ,EAAiB+a,MAAOkc,IACzD72B,EAAkCJ,EAAiBgb,OAAQic,IAC5D72B,EAAkCJ,EAAiBkb,MAAO+b,ICJzF,IAAI7Y,IACX,SAAWA,GACPA,EAAe,IAAI,MACnBA,EAAe,IAAI,MAFvB,CAGGA,KAAcA,GAAY,K,MCNtB,SAAS5xB,GAAOhG,KAAUiB,GAC7B,OAAQ8N,GACG9N,EAAK6J,OAAO,CAAC6a,EAAcC,EAAc5iB,IACrC2iB,EAAarjB,QAAQ,IAAI2H,OAAO,MAAMjH,OAAY,KAAM4iB,EAAa7W,IAC7E/O,G,cCDJ,SAASulD,GAA0BpmC,EAAW,IACjD,MAAO,kBAAkBA,EAKtB,SAASqmC,GAAkCrmC,EAAW,IACzD,MAAO,sCAAsCA,uCAA8CA,mDAA0DA,IF4BlJ,IAAyBgX,GAAK4B,GG2RtB,GAhUA,CACXyrI,YAAa,CACT7zI,QAAS,OACT2nB,SAAU,WACV9tB,MAAO,OACP,aAAc,aACd,iBAAkB,SAClBk8B,QAAS,OACTx9B,OAAQ,OACRqjC,SAAU,UAEdk4G,iBAAkB,CACd9zI,QAAS,OACT,kBAAmB,SACnB,UAAW,MACX,aAAc,OACd,wBAAyB,WACzB,qBAAsB,OACtB2nB,SAAU,YAEdosH,qBAAsB,CAClB,0BAA2B,CACvB/zI,QAAS,QAEb,iDAAkD,CAC9CA,QAAS,SAEb,8BAA+B,CAC3B6gF,OHSoBr6E,GGTG,QHSE4B,GGTO,OHUhChpB,IACJ,MAGM/O,GAHM+O,GAAgBA,EAAaU,UACnCV,EAAaU,UACbmoB,GAAUzB,OACMyB,GAAUG,IAAMA,GAAM5B,GAC5C,MAAwB,mBAAVn2B,EACRA,EAAM+O,GACN/O,KGfN,8BAA+B,CAC3B,8BAA+B,CAC3B,sBAAuB,QAE3B,0BAA2B,CACvB2vB,QAAS,QACT27B,QAAS,qBAGjB,oCAAqC,CACjChU,SAAU,WACVsU,OAAQ,IACRE,MAAO,IACPD,KAAM,IACNtoD,WAAYyL,EACZ,aAAchJ,GAAO,qBAAsBgJ,KAGnD20J,mBAAoB,CAChBrsH,SAAU,WACV,uBAAwB,OACxB,qBAAsB,OACtB,cAAe,IACf,iBAAkB,MAClB,aAAc,OACd3nB,QAAS,OACT,iBAAkB,MAClB,cAAe,SACf,kBAAmB,gBACnBjsB,MAAOkqG,EACPhqG,KAAMgqG,GAEVg2D,2BAA4B,CACxBj0I,QAAS,QAEbk0I,6BAA8B,CAC1B,WAAY,IACZl0I,QAAS,OACT,iBAAkB,SAClB,uBAAwB,OACxB,qBAAsB,OACtB,iBAAkB,IAClB,cAAe,QAEnBm0I,uBAAwB,CACpB,sBAAuB,CACnB,UAAW,KAEf,wBAAyB,CACrB,WAAY,IACZ,cAAe,IACf,uBAAwB,OACxB,iBAAkB,KAEtB,8BAA+B,CAC3BxsH,SAAU,WACV,WAAY,cAEhB,yBAA0B95C,OAAOC,OAAOD,OAAOC,OAAO,GAAIurC,GAAoB,OAAQ,CAAE,qBAAsB,OAElH+6H,iBAAkB,CACdzsH,SAAU,WACV3nB,QAAS,cACT+rC,IAAK,MACL7P,KAAM,MACN0P,UAAW,wBACX/xC,MAAO,OACPtB,OAAQ,OACR,kBAAmB,SACnB,cAAe,SACf,gBAAiB,MACjB3kB,WAAY,kBACZ6tD,OAAQ,SACR,QAAS,CACL5nC,MAAO,OACPtB,OAAQ,OACRtkB,KAAM,SAGdogK,yBAA0B,CACtB1sH,SAAU,WACV,WAAY,IACZ,cAAe,IACf,oBAAqB,OACrB,aAAc,OACdpvB,OAAQ,eAEZ+7I,0BAA2B,CACvB,sBAAuB,CACnB,wBAAyB,KAE7B,8BAA+B,CAC3B,WAAY,IACZ,cAAe,SACf7yG,OAAQ,KAEZ,kCAAmC,CAC/B,WAAY,IACZ,cAAe,SACf,cAAe,MACf,uBAAwB,QAE5B,sBAAuB,CACnBsK,IAAK,UACL7P,KAAM,IACN0P,UAAW,OACX3P,OAAQ,MACR,gBAAiB,MACjB,sBAAuB,QAE3B,yBAA0BpuD,OAAOC,OAAO,GAAIurC,GAAoB,OAChE,uBAAwB,CACpB,QAAS,CACL,gBAAiB,MAGzB,8BAA+B,CAC3B,8BAA+B,CAC3B,sBAAuB,OAInCk7H,qBAAsB1mK,OAAOC,OAAOD,OAAOC,OAAO,CAAE65C,SAAU,WAAY8Z,OAAQ,KAAOpoB,GAAoB,OAAQ,CAAE,cAAe,MAAO,cAAe,SAAU,aAAc,cAAetlC,MAAOkqG,EAAuBtiD,QAAS,WAC1O64G,oBAAqB3mK,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAO,CAAE,kBAAmB,OAAQioD,QAAS,OAAQhiD,MAAOgtC,IAAyB1H,GAAoB,OAAQ,CAAE,cAAe,MAAOuiB,SAAU,SAAU57B,QAAS,cAAe,qBAAsB,IAAK,qBAAsB,WAAY,UAAW,CAC3T,kBAAmB,eD/IxB,SAA2B1V,EAAGhG,GACjC,IAAIzT,EACA2e,EACJ,GAAiB,iBAANlF,GAAwB,OAANA,EACzBkF,EAAW,GACX3e,EAASyZ,MAER,IAAiB,iBAANA,EAKZ,MAAO,GAJPkF,EAAWlF,EACXzZ,EAASyT,EAKb,OAAOzW,OAAOC,OAAO,CACjB,UAAW,CACPioD,QAAS,SAEd,eACG,CACE,CAACH,GAA0BpmC,IAAY3e,GAEzC,CACE,CAACglD,GAAkCrmC,IAAY3e,ICyH7CilD,CAAkB,CACxB,kBAAmB,eAClB,CAAE,WAAY,CACXnO,SAAU,WACVqU,QAAS,GACT+P,IAAK,IACL7P,KAAM,IACNC,MAAO,IACPF,OAAQ,OAEhBw4G,iBAAkB,CACdz0I,QAAS,QAEb00I,sBAAuB,CACnB3gK,MAAOgtC,GACP,kBAAmB,WACnBjtC,OAAQ,OACR,oCAAqC,CACjC6zC,SAAU,WACVsU,OAAQ,IACRE,MAAO,IACPD,KAAM,KAEV,8BAA+B,CAC3B,wBAAyB,UACzB,kCAAmC,CAC/B,cAAe,IACf,WAAY,aACZ,uBAAwB,OACxB,qBAAsB,IACtB,iBAAkB,OAClB,cAAe,OAEnB,oCAAqC,CACjC,cAAe,IACf,WAAY,IACZvU,SAAU,aAGlB,kCAAmC,CAC/B,cAAe,KAEnB,0BAA2B,CACvB,cAAe,IACf5zC,MAAOgtC,GACP4a,QAAS,mBAEb,sBAAuB,CACnB37B,QAAS,OACT2nB,SAAU,WACVokB,IAAK,IACL7P,KAAM,IACNC,MAAO,IACPF,OAAQ,IACRroD,WAAYyC,GAAO,gDAAiD,IAAM,YAE9E,wBAAyB,CACrB,aAAc,QACd,WAAY,IACZ,cAAe,aACf,uBAAwB,OACxB,qBAAsB,OACtB,cAAe,OAEnB,yBAA0BxI,OAAOC,OAAOD,OAAOC,OAAO,GAAIurC,GAAoB,OAAQ,CAAE,qBAAsB,IAAKtlC,MAAOgtC,MAE9H4zH,mCAAoC,CAChC,wBAAyB,YACzB,qBAAsB,OACtB,8BAA+B,CAC3B,WAAY,aACZ,cAAe,IACflzG,OAAQ,KAEZ,kCAAmC,CAC/B,WAAY,IACZ,cAAe,IACf,uBAAwB,MACxB,qBAAsB,OACtB,iBAAkB,IAClB,cAAe,QAEnB,wBAAyB,CACrB,WAAY,IACZ,cAAe,IACf,uBAAwB,IACxB,qBAAsB,OACtB,cAAe,IACf,iBAAkB,OAEtB,yBAA0B5zD,OAAOC,OAAO,GAAIurC,GAAoB,OAChE,uBAAwB,CACpB,QAAS,CACL,gBAAiB,OAI7Bu7H,qCAAsC,CAClC,sBAAuB,CACnB,wBAAyB,WAE7B,8BAA+B,CAC3B,cAAe,aACfnzG,OAAQ,KAEZ,kCAAmC,CAC/B,cAAe,IACf,WAAY,aACZ,uBAAwB,OACxB,qBAAsB,IACtB,iBAAkB,OAClB,cAAe,QAEnB,wBAAyB,CACrB,cAAe,IACf,WAAY,IACZ,iBAAkB,KAEtB,0BAA2B,CACvB,cAAe,IACf,WAAY,IACZ9F,QAAS,oBAEb,yBAA0B9tD,OAAOC,OAAO,GAAIurC,GAAoB,OAChE,uBAAwB,CACpB,QAAS,CACL,gBAAiB,MAGzB,oCAAqC,CACjCsO,SAAU,WACVsU,OAAQ,IACRE,MAAO,IACPD,KAAM,IACNtoD,WAAYyL,EACZ,aAAchJ,GAAO,qBAAsBgJ,KAGnDw1J,4BAA6B,CACzBltH,SAAU,WACVokB,IAAK,IACL7P,KAAM,IACNC,MAAO,IACPF,OAAQ,IACR,uBAAwB,CACpBpiC,MAAO,OACPtB,OAAQ,OACR,aAAc,UAGtBu8I,kBAAmB,CACf,QAAS,CACL,gBAAiB,QAGzBC,wBAAyB,CACrBhhK,MAAOgtC,GACP,iBAAkB,QAEtBi0H,yBAA0B,GAC1BC,2BAA4B,GAC5BC,+BAAgC,GAChCC,yBAA0B,GAC1BC,uBAAwB,I,uCCpT5B,MAAM,WAAmB,IAAMtkK,UAC3B,cACIE,SAAS7C,WAKTO,KAAK0C,uBAAyB,GAI9B1C,KAAK2C,eAAiB,GAS1B,UAAUC,GACN,MAAMC,EAAa7C,KAAK8C,kBAAkBF,GAC1C,IAAIG,EAAmB,OAAAC,GAAA,GAAIhD,KAAK0C,uBAAwBG,GACxD,GAAKA,IACD,OAAAI,GAAA,GAAcF,KACdG,MAAMC,QAAQJ,GAGlB,MAAgC,mBAArBA,IAIPA,EAAoBK,IAChB,OAAAC,GAAA,GAAIrD,KAAK2C,eAAgBE,EAAYO,IAEzC,OAAAC,GAAA,GAAIrD,KAAK0C,uBAAwBG,EAAYE,IANtCA,EAgBf,UAAUH,GACN,OAAO,OAAAI,GAAA,GAAIhD,KAAK2C,eAAgB3C,KAAK8C,kBAAkBF,IAK3D,iBACI,MAAMU,EAAoBnE,OAAOoE,KAAKvD,KAAKwD,OAAOC,OAAQhD,KAC5C,GAAWiD,oBAAoBvD,QAAQM,IAAQ,IACrDT,KAAK2D,eACJ3D,KAAK2D,aAAa9D,eAAeY,IAE1C,OAAO,OAAAmD,GAAA,GAAK5D,KAAKwD,MAAOF,GAM5B,mBAAmBO,EAAmB,IAClC,OAAQA,EACHC,OAAO,KAAI9D,KAAKwD,MAAMO,WAAa,KACnCC,OACAC,QAAQ,YAAa,MAAQ,KAMtC,SAASC,EAAMC,EAAQnE,KAAKwD,MAAMY,UAC9B,OAAO,IAAMC,SAASC,IAAIH,EAAQI,GACvBvE,KAAKwE,QAAQN,EAAMK,GAAQA,EAAO,MAGjD,YAAYL,EAAMC,EAAQnE,KAAKwD,MAAMY,UACjC,OAAO,IAAMC,SAASC,IAAIH,EAAQI,GACtBvE,KAAKwE,QAAQN,EAAMK,GAAe,KAAPA,GAM3C,QAAQL,EAAMK,GACV,MAAME,EAAW,OAAAzB,GAAA,GAAIuB,EAAM,cAC3B,OAAOrB,MAAMC,QAAQe,IAAoC,IAA5BA,EAAK/D,QAAQsE,GAAmBP,IAASO,EAM1E,kBAAkB7B,GACd,OAAOA,EACFa,OAAQiB,GACc,iBAATA,GAAqC,iBAATA,GAEzCJ,IAAI,CAACI,EAAMC,IACK,IAAVA,EAAcD,EAAO,IAAIA,MAE/BE,KAAK,KAMlB,GAAWlB,oBAAsB,CAAC,YACnB,ICxHA,GDwHA,G,mBErHf,MAAM,WAAoB,GACtB,YAAYF,GACRlB,MAAMkB,GACNxD,KAAK2D,aAAe,CAChBgjK,kBAAc,EACd3kH,UAAM,EACN4kH,mBAAe,EACfC,YAAQ,EACR9sG,oBAAgB,EAChBv5D,YAAQ,GAEZR,KAAK+a,MAAQ,CACT+rJ,aAAa,EACbC,gBAAiB/mK,KAAKwD,MAAMojK,gBAAiB,GAMrD,SACI,OAAQ,IAAMhuI,cAAc,MAAOz5B,OAAOC,OAAO,GAAIY,KAAKg6D,iBAAkB,CAAEj2D,UAAW/D,KAAKk6D,uBAC1F,IAAMthC,cAAc,OAAQ,CAAE70B,UAAW/D,KAAKwD,MAAMu2D,eAAeosG,6BAA+BnmK,KAAKytE,SAAS,qBAChH,IAAM70C,cAAc,MAAO,CAAE70B,UAAW/D,KAAKwD,MAAMu2D,eAAegsG,mBAClE/lK,KAAKgnK,oBACLhnK,KAAKwD,MAAMqjK,SAAW,KAAkB31I,QAClClxB,KAAKinK,qBACL,MAKd,qBACI,MAAM,YAAE9B,EAAW,0BAAES,GAA+B5lK,KAAKwD,MAAMu2D,eAC/D,OAAOz3D,MAAM43D,mBAAmB,aAAWirG,EAAa,CAACnlK,KAAKknK,yBAA0BlnK,KAAKwD,MAAMqjK,QAAS,CAACjB,EAA2B5lK,KAAK+a,MAAMgsJ,mBAEvJ,uBACI,MAAM,qBAAE1B,EAAoB,uBAAEI,EAAsB,sBAAEO,EAAqB,qCAAEE,EAAoC,mCAAED,GAAwCjmK,KAAKwD,MAAMu2D,eACtK,OAAQ/5D,KAAKwD,MAAMqjK,QACf,KAAK,KAAkB31I,QACnB,OAAOm0I,EACX,KAAK,KAAkB8B,UACnB,OAAO1B,EACX,KAAK,KAAkB2B,SACnB,OAAOpB,EACX,KAAK,KAAkBqB,wBACnB,OAAOnB,EACX,KAAK,KAAkBoB,sBACnB,OAAOrB,EACX,QACI,OAAOZ,GAMnB,yBACI,MAAM,iBAAED,EAAgB,yBAAEkB,GAA8BtmK,KAAKwD,MAAMu2D,eACnE,OAAO,aAAWqrG,EAAkB,CAChCkB,EACAtmK,KAAKunK,eAAe,cAG5B,oBACI,MAAM,wBAAElB,EAAuB,oBAAEP,EAAmB,6BAAEN,EAA4B,2BAAEe,EAA0B,qBAAEV,GAA0B7lK,KAAKwD,MAAMu2D,eACrJ,OAAQ,IAAMnhC,cAAc,MAAO,CAAE70B,UAAW/D,KAAKwnK,0BACjDxnK,KAAKynK,qBACL,IAAM7uI,cAAc,MAAO,CAAE70B,UAAWyhK,GACpC,IAAM5sI,cAAc,OAAQ,CAAE70B,UAAWsiK,GAA2BrmK,KAAKytE,SAAS,gBAClF,IAAM70C,cAAc,OAAQ,CAAE70B,UAAWwiK,EAA4BtsG,KAAM,UAAW,aAAcj6D,KAAKwD,MAAMmjK,cAC3G,IAAM/tI,cAAc,IAAK,CAAE70B,UAAW+hK,EAAqB9jH,KAAMhiD,KAAKwD,MAAMw+C,KAAMxhD,OAAQR,KAAKwD,MAAMhD,QAAUR,KAAK0uE,YAAY,CAC5H,gBACA,cACA,mBACA,QACA,OACA,cACA,WACA,sBAEZ,IAAM91C,cAAc,MAAO,CAAE70B,UAAW8hK,GAAwB7lK,KAAKytE,SAAS,aAC9EztE,KAAKwD,MAAMqjK,SAAW,KAAkB31I,QAClClxB,KAAKinK,qBACL,MAEd,qBACI,GAAIjnK,KAAKunK,eAAe,UAAYvnK,KAAKunK,eAAe,QACpD,OAAQ,IAAM3uI,cAAc,MAAO,CAAE70B,UAAW/D,KAAKwD,MAAMu2D,eAAe4rG,0BACtE3lK,KAAK0nK,kBACL1nK,KAAK2nK,kBAGjB,iBACI,GAAI3nK,KAAKunK,eAAe,QACpB,OAAQ,IAAM3uI,cAAc,OAAQ,CAAE70B,UAAW/D,KAAKwD,MAAMu2D,eAAe2rG,kBAAoB1lK,KAAKytE,SAAS,SAGrH,kBACI,GAAIztE,KAAKunK,eAAe,SACpB,OAAQ,IAAM3uI,cAAc,MAAO,CAAE70B,UAAW/D,KAAKwD,MAAMu2D,eAAeqsG,mBAAqBpmK,KAAKytE,SAAS,UAGrH,eAAevpE,GACX,MAAM0jK,EAAc5nK,KAAKytE,SAASvpE,GAClC,OAAO0jK,GAAsC,IAAvBA,EAAYloK,OAKtC,2BACI,MAAM,mBAAE4lK,EAAkB,2BAAEC,EAA0B,+BAAEiB,GAAoCxmK,KAAKwD,MAAMu2D,eACvG,OAAO,aAAWurG,EAAoB,CAClCC,EACAvlK,KAAKunK,eAAe,YACdvnK,KAAKunK,eAAe,mBACjBvnK,KAAKunK,eAAe,gBAC9B,CAACf,EAAgCxmK,KAAKunK,eAAe,cAE5D,qBACI,MAAM,yBAAEd,EAAwB,uBAAEC,GAA4B1mK,KAAKwD,MAAMu2D,eACzE,OAAQ,IAAMnhC,cAAc,MAAO,CAAE70B,UAAW/D,KAAK6nK,4BACjD,IAAMjvI,cAAc,OAAQ,CAAE70B,UAAW0iK,GAA4BzmK,KAAKytE,SAAS,kBACnF,IAAM70C,cAAc,OAAQ,CAAE70B,UAAW2iK,GAA0B1mK,KAAKytE,SAAS,kBAG7F,GAAYjrE,YAAc,cAC1B,GAAYyoB,aAAe,CACvB07I,aAAc,EACdE,OAAQ,KAAkB31I,SAEf,UC7Hf,MAAM,GAAc,EAAU,GAAV,CAA4B,K,4FCHjC,MAAM,UAAiB,IAClC,cACI5uB,SAAS7C,WACTO,KAAK2D,aAAe,CAChBo2D,oBAAgB,EAChB68F,eAAW,GAGnB,SACI,OAAQ,IAAMh+H,cAAc,MAAOz5B,OAAOC,OAAO,GAAIY,KAAKg6D,kBACtDh6D,KAAK62J,gBAAgB72J,KAAKwD,OAC1B,IAAMo1B,cAAc,OAAQ,CAExBj4B,EAAG,6DAGnB,EAASsqB,aAAe,CACpBC,QAAS,YACTC,MAAO,OACPtB,OAAQ,OACRuB,MAAO,8B,qBCvBX,MAAMy4E,EAAY,YAAU3vE,EAAA,oBAAV,CAA+B,a,ICCtC4zI,E,qDACX,SAAWA,GACPA,EAA0B,MAAI,QAC9BA,EAA0B,MAAI,QAFlC,CAGGA,IAAuBA,EAAqB,KCAxC,MAIMC,EAAgB,CACzBrlF,IAAK,CACDzpC,SAAU,WACV3nB,QAAS,OACT,iBAAkB,MAClB,aAAc,QAElB02I,UAAW,CACP92F,KAAM,IACNhkB,SAAU,UAEd+6G,iBAAkB,CACdhvH,SAAU,WACVgU,QAAS,IACTnnD,QAAS,IACT0nD,KAAM,IACN3jC,OAAQ,YAAK,GACbsB,MAAO,OACP,UAAW,IACXgiC,WAAY,6BACZ9F,QAAS,OACT6V,UAAW,eACX,UAAW,CACPptB,OAAQ,aAEZ,UAAW,CACPhqC,QAAS,IACTo3D,UAAW,YAEf,WAAY,CACRp3D,QAAS,IACTo3D,UAAW,aAGnBgrG,iBAAkB,CACd,sBAAuB,CACnB7qG,IAAK,SAGb8qG,iBAAkB,CACd,sBAAuB,CACnB56G,OAAQ,SAGhB66G,aAAc,CACVnvH,SAAU,WACV9tB,MAAO,OACP,UAAW,KAEfk9I,YAAa,CACT/2I,QAAS,SAMV,MAAM,UAAY,IACrB,YAAY9tB,GACRlB,MAAMkB,GACNxD,KAAK2D,aAAe,CAChB2kK,eAAW,EACXC,qBAAiB,EACjBhjK,UAAM,EACNskB,YAAQ,EACRqiD,YAAQ,EACRgB,QAAI,EACJs7F,mBAAe,EACfzuG,oBAAgB,EAChB0uG,eAAW,EACXC,eAAW,EACXC,cAAU,EACVC,mBAAe,EACfC,aAAS,EACTC,eAAW,EACXC,gBAAY,GAKhB/oK,KAAKilE,UAAa/kE,IACd,MAAM8oK,EAAU9oK,EAAE68E,SACZksF,EAAkBjpK,KAAKwD,MAAMulK,aAAejB,EAAmBoB,MAC/DrzI,EAASmzI,EAAU,GAAK,EAC9B,IAAIn/I,EAAS7pB,KAAKmpK,YAClB,OAAQjpK,EAAE2kE,SACN,KAAK,IACDh7C,EAASo/I,EAAkBp/I,EAASgM,EAAShM,EAASgM,EACtD,MACJ,KAAK,IACDhM,EAASo/I,EAAkBp/I,EAASgM,EAAShM,EAASgM,EAK9D71B,KAAKopK,UAAUv/I,GAEf7pB,KAAK2oK,SAASzoK,EAAG2pB,IAKrB7pB,KAAKqpK,YAAenpK,IAEC,IAAbA,EAAE2xE,QAGN7xE,KAAK2hB,SAAS,CACV2nJ,UAAU,EACVC,cAAerpK,EAAEsmI,SAMzBxmI,KAAKwpK,UAAatpK,IAEG,IAAbA,EAAE2xE,QAGN7xE,KAAK2hB,SAAS,CACV2nJ,UAAU,EACVC,cAAe,QAGvBvpK,KAAKypK,YAAevpK,IAChB,IAAKF,KAAK+a,MAAMuuJ,SACZ,OAEJ,MAAMzzI,EAAS71B,KAAK+a,MAAMwuJ,cAAgBrpK,EAAEsmI,MACtCkjC,EAnIG,UAmIa1pK,KAAKwD,MAAMulK,WAC3B/oK,KAAK6pB,SAAWgM,EAChB71B,KAAK6pB,SAAWgM,EAClB6zI,GAAiB1pK,KAAKwD,MAAMklK,WAC5BgB,GAAiB1pK,KAAKwD,MAAMilK,YAIhCzoK,KAAK2oK,SAASzoK,EAAGwpK,GACjB1pK,KAAK2hB,SAAS,CACV4nJ,cAAerpK,EAAEsmI,QAErBxmI,KAAKopK,UAAUM,KAEnB1pK,KAAK2oK,SAAW,CAACzoK,EAAG2pB,KACmB,mBAAxB7pB,KAAKwD,MAAMmlK,UAClB3oK,KAAKwD,MAAMmlK,SAASzoK,EAAG2pB,IAG/B7pB,KAAK+a,MAAQ,CACTuuJ,UAAU,EACVC,cAAe,KACf1/I,OAAQ7pB,KAAKwD,MAAMglK,eAEvBxoK,KAAK2oK,SAAW,OAAAgB,EAAA,GAAS3pK,KAAK2oK,SAAU,IACxC3oK,KAAKypK,YAAc,OAAAE,EAAA,GAAS3pK,KAAKypK,YAAa,IAC9CzpK,KAAK87D,YAAc,IAAMC,YAK7B,SACI,OAAO/7D,KAAKwD,MAAMqmB,QAAU7pB,KAAK+a,MAAM8O,OAK3C,mBAAmB84C,EAAWmK,GACtB,gBACI9sE,KAAK+a,MAAMuuJ,WAAax8F,EAAUw8F,UAClC15H,SAASj7B,iBAAiB,UAAW3U,KAAKwpK,WAC1C55H,SAASj7B,iBAAiB,YAAa3U,KAAKypK,eAEtCzpK,KAAK+a,MAAMuuJ,UAAYx8F,EAAUw8F,WACvC15H,SAASkS,oBAAoB,UAAW9hD,KAAKwpK,WAC7C55H,SAASkS,oBAAoB,YAAa9hD,KAAKypK,eAO3D,YACI,OAAIzpK,KAAKwD,MAAM8kK,UACJtoK,KAAKwD,MAAM+kK,gBAEbvoK,KAAK6pB,UAAY7pB,KAAKwD,MAAMklK,UAC1B1oK,KAAKwD,MAAMklK,UAEb1oK,KAAK6pB,UAAY7pB,KAAKwD,MAAMilK,UAC1BzoK,KAAKwD,MAAMilK,UAGXzoK,KAAK6pB,SAMpB,yBACI,MAAMA,EAAS,YAAK7pB,KAAKmpK,aACnBhnK,EAAS,GAYf,OAXAA,EAAOumK,UAAY1oK,KAAKwD,MAAM8kK,UACxBtoK,KAAKwD,MAAM+kK,gBACXvoK,KAAKwD,MAAMslK,UACP,YAAK9oK,KAAKwD,MAAMklK,WAChB7+I,EACN7pB,KAAKwD,MAAMqlK,QACX1mK,EAAO0nB,OAASA,EAGhB1nB,EAAOynK,UAAY//I,EAEhB1qB,OAAOC,OAAO+C,EAAQnC,KAAKwD,MAAMgH,OAK5C,sBACI,IAAKxK,KAAKwD,MAAMslK,WAAa9oK,KAAKwD,MAAM8kK,UACpC,OAAO,KAEX,MAAMuB,EAAc,CAChB9lK,UAAW/D,KAAKwD,MAAMu2D,eAAekuG,iBACrCoB,YAAarpK,KAAKqpK,YAClBpkG,UAAWjlE,KAAKilE,UAChBhL,KAAM,aAEV,MAAwC,mBAA7Bj6D,KAAKwD,MAAMolK,cACX5oK,KAAKwD,MAAMolK,cAAciB,GAGzB,IAAMjxI,cAAc,SAAUz5B,OAAOC,OAAO,GAAIyqK,IAG/D,UAAUhgJ,GACN7pB,KAAK2hB,SAAS,CACVkI,WAGR,SACI,OAAQ,IAAM+O,cAAc,MAAOz5B,OAAOC,OAAO,GAAIY,KAAKg6D,iBAAkB,CAAEj2D,UAAW/D,KAAKk6D,qBAAsB1vD,MAAOxK,KAAK8pK,yBAA0B1mK,IAAKpD,KAAK87D,YAAaoR,GAAIltE,KAAKwD,MAAM0pE,GAAI,cAAeltE,KAAKwD,MAAM0oE,SAC1NlsE,KAAKwD,MAAMY,SACXpE,KAAK+pK,uBAEb,qBACI,MAAM,IAAErnF,EAAG,UAAEslF,EAAS,iBAAEE,EAAgB,iBAAEC,EAAgB,aAAEC,EAAY,YAAEC,GAAiBroK,KAAKwD,MAAMu2D,eAChGgvG,EAAa/oK,KAAKwD,MAAMulK,WACxB7+F,EAAU,YAAWwY,EAAK,CAACwlF,EAAkBa,IAAejB,EAAmBoB,OAAQ,CAACf,EAAkBY,IAAejB,EAAmBkC,OAAQ,CAAC5B,EAAcpoK,KAAKwD,MAAMqlK,SAAU,CAACR,EAAaroK,KAAKwD,MAAM0oE,QAAS,CAAC87F,EAAWhoK,KAAKwD,MAAM+B,OACvP,OAAOjD,MAAM43D,mBAAmBgQ,IAGxC,EAAI1nE,YAAc,MAClB,EAAIyoB,aAAe,CACf1lB,MAAM,EACNijK,cAAe,GACfD,gBAAiB,GACjBG,UAAW,GACXD,UAAW,IACXK,WAAW,EACXR,WAAW,EACXO,SAAS,EACT38F,QAAQ,EACRnS,eAAgB,IC/QpB,MAAM,EAAM,YAAUguG,EAAV,CAAyB,G,aCArC,MAAMr0D,EAAS,YAAUD,EAAA,iBAAV,CAA4B,U,ICChCw2D,E,4BACX,SAAWA,GACPA,EAA0B,KAAI,OAC9BA,EAA0B,KAAI,OAFlC,CAGGA,IAAwBA,EAAsB,KCE1C,MAAMC,EAAiB,CAC1BC,KAAM,CACFlxH,SAAU,WACVi4B,KAAM,WACN5/C,QAAS,OACT,iBAAkB,UAEtB84I,kBAAmBjrK,OAAOC,OAAOD,OAAOC,OAAO,CAAE65C,SAAU,WAAYgU,QAAS,IAAKnnD,QAAS,IAAKu3D,IAAK,IAAKlyC,MAAO,YAAK,GAAItB,OAAQ,OAAQ,UAAW,IAAKsjC,WAAY,6BAA8B9F,QAAS,OAAQ6V,UAAW,eAAgB,UAAW,CACtPptB,OAAQ,cACP,YAAkB,CACvBhqC,QAAS,IACTo3D,UAAW,cACV,CAAE,WAAY,CACXp3D,QAAS,IACTo3D,UAAW,cAEnBmtG,iBAAkB,CACd,uBAAwB,CACpB78G,KAAM,SAGd88G,iBAAkB,CACd,uBAAwB,CACpB78G,MAAO,SAGf88G,cAAe,CACXtxH,SAAU,WACVpvB,OAAQ,OACR,UAAW,KAEf2gJ,aAAc,CACVl5I,QAAS,SAGV,MAAM,UAAa,IACtB,YAAY9tB,GACRlB,MAAMkB,GAINxD,KAAK2D,aAAe,CAChB2kK,eAAW,EACXmC,oBAAgB,EAChBv+F,YAAQ,EACRgB,QAAI,EACJw9F,kBAAc,EACd3wG,oBAAgB,EAChB4wG,cAAU,EACVh3D,cAAU,EACVg1D,cAAU,EACVE,aAAS,EACTD,mBAAe,EACfE,eAAW,EACXC,gBAAY,EACZ59I,WAAO,GAKXnrB,KAAKilE,UAAa/kE,IACd,MACM21B,EADU31B,EAAE68E,SACO,GAAK,EAC9B,IAAI5xD,EACJ,OAAQjrB,EAAE2kE,SACN,KAAK,IACD15C,EAAQnrB,KAAK87D,YAAYr9C,QAAQ4wD,YAAcx5C,EAC/C,MACJ,KAAK,IACD1K,EAAQnrB,KAAK87D,YAAYr9C,QAAQ4wD,YAAcx5C,EAKvD71B,KAAK4qK,SAASz/I,GAEdnrB,KAAK2oK,SAASzoK,EAAGirB,IAKrBnrB,KAAKqpK,YAAenpK,IAEC,IAAbA,EAAE2xE,QAGN7xE,KAAK2hB,SAAS,CACV2nJ,UAAU,EACVC,cAAerpK,EAAEqmI,SAMzBvmI,KAAKwpK,UAAatpK,IAEG,IAAbA,EAAE2xE,QAGN7xE,KAAK2hB,SAAS,CACV2nJ,UAAU,EACVC,cAAe,QAGvBvpK,KAAKypK,YAAevpK,IAChB,IAAKF,KAAK+a,MAAMuuJ,SACZ,OAEJ,MAAMzzI,EAAS71B,KAAK+a,MAAMwuJ,cAAgBrpK,EAAEqmI,MAC5C,IAAIskC,EJ9GI,SI8GW7qK,KAAKwD,MAAMulK,WACxB/oK,KAAKmrB,QAAU0K,EACf71B,KAAKmrB,QAAU0K,EAErBg1I,EAAe5uJ,KAAKC,IAAID,KAAKG,IAAIyuJ,EAAc7qK,KAAKwD,MAAMmnK,UAAW3qK,KAAKwD,MAAMmwG,UAEhF3zG,KAAK2oK,SAASzoK,EAAG2qK,GACjB7qK,KAAK2hB,SAAS,CACV4nJ,cAAerpK,EAAEqmI,QAErBvmI,KAAK4qK,SAASC,IAElB7qK,KAAKmwF,eAAiB,KAClBnwF,KAAK4qK,SAAS5qK,KAAK87D,YAAYr9C,QAAQ4wD,cAE3CrvE,KAAK2oK,SAAW,CAACzoK,EAAGirB,KACmB,mBAAxBnrB,KAAKwD,MAAMmlK,UAClB3oK,KAAKwD,MAAMmlK,SAASzoK,EAAGirB,IAG/BnrB,KAAK+a,MAAQ,CACTuuJ,UAAU,EACVC,cAAe,KACfp+I,MAAOnrB,KAAKwD,MAAMknK,cAEtB1qK,KAAK2oK,SAAW,OAAAgB,EAAA,GAAS3pK,KAAK2oK,SAAU,IACxC3oK,KAAKypK,YAAc,OAAAE,EAAA,GAAS3pK,KAAKypK,YAAa,IAC9CzpK,KAAKmwF,eAAiB,IAAYnwF,KAAKmwF,gBACvCnwF,KAAK87D,YAAc,IAAMC,YAK7B,QACI,OAAO/7D,KAAKwD,MAAM2nB,OAASnrB,KAAK+a,MAAMoQ,MAK1C,oBACQ,eACAhX,OAAOQ,iBAAiB,SAAU3U,KAAKmwF,gBAM/C,uBACQ,eACAh8E,OAAO2tC,oBAAoB,SAAU9hD,KAAKmwF,gBAMlD,mBAAmBxtB,EAAWmK,GACtB,gBACI9sE,KAAK+a,MAAMuuJ,WAAax8F,EAAUw8F,UAClC15H,SAASj7B,iBAAiB,UAAW3U,KAAKwpK,WAC1C55H,SAASj7B,iBAAiB,YAAa3U,KAAKypK,eAEtCzpK,KAAK+a,MAAMuuJ,UAAYx8F,EAAUw8F,WACvC15H,SAASkS,oBAAoB,UAAW9hD,KAAKwpK,WAC7C55H,SAASkS,oBAAoB,YAAa9hD,KAAKypK,eAO3D,WACI,OAAIzpK,KAAKwD,MAAM8kK,UACJtoK,KAAKwD,MAAMinK,eAEbzqK,KAAKmrB,QAAUnrB,KAAKwD,MAAMmwG,SACxB3zG,KAAKwD,MAAMmwG,SAEb3zG,KAAKmrB,QAAUnrB,KAAKwD,MAAMmnK,SACxB3qK,KAAKwD,MAAMmnK,SAGX3qK,KAAKmrB,QAMpB,yBACI,MAAMA,EAAQ,YAAKnrB,KAAK8qK,YAClB3oK,EAAS,GAYf,OAXAA,EAAOwxG,SAAW3zG,KAAKwD,MAAM8kK,UACvB,YAAKtoK,KAAKwD,MAAMinK,gBAChBzqK,KAAKwD,MAAMslK,UACP,YAAK9oK,KAAKwD,MAAMmwG,UAChBxoF,EACNnrB,KAAKwD,MAAMqlK,QACX1mK,EAAOgpB,MAAQA,EAGfhpB,EAAOynK,UAAYz+I,EAEhBhsB,OAAOC,OAAO+C,EAAQnC,KAAKwD,MAAMgH,OAK5C,sBACI,IAAKxK,KAAKwD,MAAMslK,WAAa9oK,KAAKwD,MAAM8kK,UACpC,OAAO,KAEX,MAAMuB,EAAc,CAChB9lK,UAAW/D,KAAKwD,MAAMu2D,eAAeqwG,kBACrCf,YAAarpK,KAAKqpK,YAClBpkG,UAAWjlE,KAAKilE,UAChBhL,KAAM,YACN8wG,SAAU/qK,KAAKwD,MAAMmwG,SACrBq3D,SAAUhrK,KAAKwD,MAAMmnK,SACrBM,SAAUjrK,KAAK+a,MAAMoQ,OAEzB,MAAwC,mBAA7BnrB,KAAKwD,MAAMolK,cACX5oK,KAAKwD,MAAMolK,cAAciB,GAGxB,IAAMjxI,cAAc,SAAU,CAAE70B,UAAW8lK,EAAY9lK,UAAWslK,YAAaQ,EAAYR,YAAapkG,UAAW4kG,EAAY5kG,UAAWhL,KAAM4vG,EAAY5vG,KAAM,gBAAiB4vG,EAAYkB,SAAU,gBAAiBlB,EAAYmB,SAAU,gBAAiBnB,EAAYoB,WAG7R,SAAS9/I,GACLnrB,KAAK2hB,SAAS,CACVwJ,UAGR,SACI,OAAQ,IAAMyN,cAAc,MAAOz5B,OAAOC,OAAO,GAAIY,KAAKg6D,iBAAkB,CAAEj2D,UAAW/D,KAAKk6D,qBAAsB1vD,MAAOxK,KAAK8pK,yBAA0B1mK,IAAKpD,KAAK87D,YAAaoR,GAAIltE,KAAKwD,MAAM0pE,GAAI,cAAeltE,KAAKwD,MAAM0oE,SAC1NlsE,KAAKwD,MAAMY,SACXpE,KAAK+pK,uBAEb,qBACI,MAAM,KAAEI,EAAI,iBAAEG,EAAgB,iBAAED,EAAgB,cAAEE,EAAa,aAAEC,GAAkBxqK,KAAKwD,MAAMu2D,eACxFgvG,EAAa/oK,KAAKwD,MAAMulK,WACxB7+F,EAAU,YAAWigG,EAAM,CAACG,EAAkBvB,IAAekB,EAAoBiB,MAAO,CAACb,EAAkBtB,IAAekB,EAAoBkB,MAAO,CAACZ,EAAevqK,KAAKwD,MAAMqlK,SAAU,CAAC2B,EAAcxqK,KAAKwD,MAAM0oE,SAC1N,OAAO5pE,MAAM43D,mBAAmBgQ,IAGxC,EAAK1nE,YAAc,OAInB,EAAKyoB,aAAe,CAChBy/I,aAAc,IACdD,eAAgB,GAChB92D,SAAU,IACVg3D,SAAU,IACV7B,WAAW,EACXR,WAAW,EACXO,SAAS,EACT38F,QAAQ,EACRnS,eAAgB,IChRpB,MAAM,EAAO,YAAUmwG,EAAV,CAA0B,G,8GCSvC,MAAMkB,EAAW,CACbnD,iBAAkB9oK,OAAOC,OAAOD,OAAOC,OAAO,CAAEgG,OAAQ,OAAQF,WAAY,OAAQioD,WAAY,uBAAwB,WAAY,CAC5HG,QAAS,KACTrU,SAAU,WACVokB,IAAK,MACL7P,KAAM,IACNriC,MAAO,OACPtB,OAAQ,MACR3kB,WAAY,IACZ,CAAC,KAAuB,CACpBA,WAAY,IAAkBI,aAEnC,UAAW,CACVQ,QAAS,IACTo3D,UAAW,YACXptB,OAAQ,cACT,WAAY,CACX,WAAY,CACR5qC,WAAY,IACZ,CAAC,KAAuB,CACpBA,WAAY,IAAkBI,WAC9BukB,OAAQ,UAGf,YAAkB,CACvB,CAAC,KAAuB,CACpB3kB,WAAY,IAAkBI,WAC9BukB,OAAQ,UAEX,CAAE,CAAC,KAAuB1qB,OAAOC,OAAOD,OAAOC,OAAO,GAAI,KAA6B,CAAE0G,QAAS,SAErGulK,EAAY,CACdjB,kBAAmBjrK,OAAOC,OAAOD,OAAOC,OAAO,CAAEgG,OAAQ,OAAQF,WAAY,OAAQioD,WAAY,uBAAwB,WAAY,CAC7HG,QAAS,KACTrU,SAAU,WACVsU,OAAQ,IACRC,KAAM,MACNriC,MAAO,MACPtB,OAAQ,OACR3kB,WAAY,IACZ,CAAC,KAAuB,CACpBA,WAAY,IAAkBI,aAEnC,UAAW,CACVQ,QAAS,IACTo3D,UAAW,YACXptB,OAAQ,cACT,WAAY,CACX,WAAY,CACR5qC,WAAY,IACZ,CAAC,KAAuB,CACpBA,WAAY,IAAkBI,WAC9B6lB,MAAO,UAGd,YAAkB,CACvB,CAAC,KAAuB,CACpBjmB,WAAY,IAAkBI,WAC9B6lB,MAAO,UAEV,CAAE,CAAC,KAAuBhsB,OAAOC,OAAOD,OAAOC,OAAO,GAAI,KAA6B,CAAE0G,QAAS,SAErGwlK,EAAc,CAChBz5F,OAAQ,CACJ8hC,SAAU,SAIH,MAAM,UAAuB,IACxC,YAAYnwG,GACRlB,MAAMkB,GACNxD,KAAK2D,aAAe,CAChBs3B,WAAO,EACPqoC,eAAW,EACXioG,yBAAqB,EACrBC,qCAAiC,EACjCC,qCAAiC,EACjCC,8BAA0B,EAC1BC,8BAA0B,EAC1BC,oBAAgB,EAChBC,mBAAe,EACfC,kBAAc,EACdC,8BAA0B,EAC1BhyG,oBAAgB,EAChBiyG,gBAAY,EACZlD,eAAW,EACXmD,6BAAyB,EACzBC,wBAAoB,EACpBC,yBAAqB,GAEzBnsK,KAAKosK,eAAiB,IAAMrwG,YAC5B/7D,KAAKqsK,sBAAwB,IAAMtwG,YACnC/7D,KAAKssK,uBAAyB,IAAMvwG,YACpC/7D,KAAKoR,UAAY,IAAU0mB,IAC3B93B,KAAKusK,oBAAuBtmI,IACpBjmC,KAAK+a,MAAMyxJ,SAAWvmI,EAAM4+B,UAAY,IAASyuD,SACjDtzH,KAAKysK,aACLzsK,KAAK0sK,6BAGb1sK,KAAK2sK,oBAAuBzsK,IAC2C,mBAAxD,OAAA8C,EAAA,GAAIhD,KAAKwD,MAAO,qCACvBxD,KAAKwD,MAAMmoK,yBAAyBv3F,QAAQl0E,GAEhDF,KAAK2hB,SAAS,CACVirJ,UAAW5sK,KAAK+a,MAAM6xJ,YAG9B5sK,KAAKw+D,aAAe,KAChB,GAAI,cAAa,CACb,MAAMquG,EAAe14J,OAAOC,YAAcpU,KAAKwD,MAAMyoK,wBACjDY,IAAiB7sK,KAAK+a,MAAM8xJ,cAC5B7sK,KAAKysK,aAETzsK,KAAK2hB,SAAS,CACVkrJ,mBAIZ7sK,KAAK8sK,2CAA8C5sK,IAE3C,mBADO,OAAA8C,EAAA,GAAIhD,KAAKwD,MAAO,4CAEvBxD,KAAKwD,MAAMioK,gCAAgCr3F,QAAQl0E,GAEvDF,KAAK+sK,oBAET/sK,KAAK+sK,iBAAmB,KACpB/sK,KAAK2hB,SAAS,CACV6qJ,SAAUxsK,KAAK+a,MAAMyxJ,SACtB,KACC,MAAM7uJ,EAAU,IAAS6pG,YAAYxnH,KAAKosK,eAAe3tJ,SACrDze,KAAK+a,MAAMyxJ,SAAW7uJ,aAAmB07B,cACzC17B,EAAQnT,MAAM8mB,QAAU,QAE5BtxB,KAAK0sK,2BACD/uJ,aAAmB07B,aACnB17B,EAAQhJ,iBAAiB,eAAgB3U,KAAKgtK,0BAI1DhtK,KAAKgtK,sBAAyB9sK,IAC1B,MAAMyd,EAAU,IAAS6pG,YAAYxnH,KAAKosK,eAAe3tJ,SACrDd,aAAmB07B,cACnB17B,EAAQmkC,oBAAoB,eAAgB9hD,KAAKgtK,uBAC5ChtK,KAAK+a,MAAMyxJ,UACZ7uJ,EAAQnT,MAAM8mB,QAAU,UAOpCtxB,KAAK8nF,gBAAkB,KACnB,GAAiC,OAA7B9nF,KAAK87D,YAAYr9C,QACjB,OAEJ,MAAMiqE,EAAU1oF,KAAK87D,YAAYr9C,QAAQiqE,QAAQ,SAKjD1oF,KAAKoR,UAJW,OAAZs3E,GAKgC,QAAhCA,EAAQjiC,aAAa,OAAmB,IAAU/sB,IAJjC,IAAU5B,KAMnC93B,KAAK+a,MAAQ,CACTyxJ,SAAS,EACTI,UAAU,EACVC,cAAc,GAElB14J,OAAOQ,iBAAiB,SAAU3U,KAAKw+D,cACvCx+D,KAAK87D,YAAc,IAAMC,YAK7B,sBACI/7D,KAAK8nF,kBAKT,oBACI9nF,KAAKw+D,eACD,eACArqD,OAAOQ,iBAAiB,UAAW3U,KAAKusK,qBAMhD,uBACQ,gBACAp4J,OAAO2tC,oBAAoB,UAAW9hD,KAAKusK,qBAC3Cp4J,OAAO2tC,oBAAoB,SAAU9hD,KAAKw+D,eAGlD,SACI,MAAM,sBAAEyuG,EAAqB,yBAAEC,EAAwB,mBAAEC,GAAwBntK,KAAKwD,MAAMu2D,eAC5F,OAAQ,IAAMnhC,cAAc,MAAOz5B,OAAOC,OAAO,CAAEgE,IAAKpD,KAAK87D,aAAe97D,KAAKg6D,iBAAkB,CAAEj2D,UAAW/D,KAAKk6D,uBACjH,IAAMthC,cAAcirE,EAAW,CAAE9/F,UAAW,YAAWmpK,IACnD,IAAMt0I,cAAc,EAAK,CAAE70B,UAAW,YAAWopK,GAAqB7wE,cAAe8uE,EAAU7lK,MAAM,GACjGvF,KAAKotK,eACL,IAAMx0I,cAAc86E,EAAQ,CAAE3vG,UAAW,YAAWkpK,IAA0BjtK,KAAKwD,MAAMY,UACzFpE,KAAKqtK,wBAKrB,qBACI,MAAM,eAAEC,EAAc,2BAAEC,GAAgCvtK,KAAKwD,MAAMu2D,eACnE,OAAOz3D,MAAM43D,mBAAmB,YAAWozG,EAAgB,CACvDC,EACAvtK,KAAKwD,MAAMwoK,cAMnB,kCACI,MAAM,oCAAEwB,EAAmC,0CAAEC,EAAyC,2CAAEC,GAAgD1tK,KAAKwD,MAAMu2D,eAC7I4zG,IAAW3tK,KAAK+a,MAAMyxJ,QAC5B,OAAO,YAAWgB,EAAqC,CAACC,EAA2CE,GAAS,CAACD,GAA6CC,IAK9J,yBACI,OAAO,YAAW3tK,KAAKwD,MAAMu2D,eAAe6zG,qBAEhD,eACI,MAAM,0BAAEC,EAAyB,gCAAEC,EAA+B,0CAAEC,EAAyC,gDAAEC,EAA+C,0CAAEC,GAA+CjuK,KAAKwD,MAAMu2D,eAC1N,OAAI/5D,KAAK+a,MAAM8xJ,aACH,IAAMj0I,cAAc,MAAO,KAC/B,IAAMA,cAAc,IAAY,CAAEj3B,MAAO3B,KAAKwD,MAAMuoK,yBAA0BhoK,UAAW/D,KAAKkuK,kCAAmC,eAAgBluK,KAAK+a,MAAMyxJ,QAASppK,IAAKpD,KAAKosK,gBAC3K,IAAMxzI,cAAc,MAAO,CAAE70B,UAAW,YAAWkqK,IAC/C,IAAMr1I,cAAc,MAAO,CAAE70B,UAAW,YAAWiqK,IAC/ChuK,KAAKmuK,sBAAsBnuK,KAAKssK,wBAChCtsK,KAAKsoH,iBACTtoH,KAAKouK,6BACT,IAAMx1I,cAAc,MAAO,CAAE70B,UAAW,YAAWgqK,IAA8C/tK,KAAKquK,qBAAqB,YAAWP,GAAkC9tK,KAAK+sK,oBACjL,IAAMn0I,cAAc,MAAO,CAAE70B,UAAW/D,KAAKsuK,0BACzC,IAAM11I,cAAc,MAAO,CAAE70B,UAAW,YAAWkqK,IAA8CjuK,KAAKuuK,gBACtGvuK,KAAKwuK,oBAET,IAAM51I,cAAc,EAAM,CAAEkwI,UAAW9oK,KAAKwD,MAAMslK,UAAWC,WAAY/oK,KAAKoR,YAAc,IAAU0mB,IACpGmyI,EAAoBiB,KACpBjB,EAAoBkB,KAAMx3D,SAAU3zG,KAAKwD,MAAMsoK,aAAcxvE,cAAe+uE,GAClF,IAAMzyI,cAAc,MAAO,CAAE70B,UAAW/D,KAAKsuK,0BACzC,IAAM11I,cAAc,MAAO,CAAE70B,UAAW,YAAWkqK,IAC/CjuK,KAAKuuK,eACLvuK,KAAKouK,6BACTpuK,KAAKwuK,kBACLxuK,KAAKquK,qBAAqB,YAAWR,MAKjD,aACI7tK,KAAK2hB,SAAS,CACV6qJ,SAAS,EACTI,UAAU,IAGlB,4BACI,MAAM,mCAAE6B,EAAkC,oDAAEC,GAAyD1uK,KAAKwD,MAAMu2D,eAChH,OAAI/5D,KAAKwD,MAAMqoK,cACH,IAAMjzI,cAAc,MAAO,CAAE70B,UAAW,YAAW2qK,IACvD,IAAM91I,cAAc,IAAQz5B,OAAOC,OAAO,GAAIY,KAAKwD,MAAMmoK,yBAA0B,CAAErvE,cAAegvE,EAAaj9F,WAAY,IAAiB84C,QAAS,aAAcnnH,KAAKwD,MAAMkoK,0BAA4B,KAAM3nK,UAAW,YAAW0qK,GAAqCr6F,QAASp0E,KAAK2sK,sBAAwB3sK,KAAKooH,aAAa,SACrUpoH,KAAK2uK,qBAGF,KAGf,sBAAsB98F,GAClB,OAAQ,IAAMj5C,cAAc,IAAQz5B,OAAOC,OAAO,GAAIY,KAAKwD,MAAMioK,gCAAiC,CAAEnvE,cAAegvE,EAAaj9F,WAAY,IAAiB84C,QAAS,aAAcnnH,KAAKwD,MAAMgoK,iCAAmC,KAAM,iBAAiBxrK,KAAK+a,MAAMyxJ,SAAU,KAAazoK,UAAW,YAAW/D,KAAKwD,MAAMu2D,eAAe60G,4CAA6Cx6F,QAASp0E,KAAK8sK,2CAA4C1pK,IAAKyuE,IAAW7xE,KAAK+a,MAAMyxJ,QACvcxsK,KAAK+zG,YAAY/zG,KAAKwD,MAAM2oK,qBAC5BnsK,KAAK+zG,YAAY/zG,KAAKwD,MAAM0oK,qBAEtC,YAAY2C,GACR,MAAwB,mBAAVA,EACRA,EAAM,YAAW7uK,KAAKwD,MAAMu2D,eAAe+0G,sBAC3C,KAEV,aAAa7zI,GACT,OAAQ,IAAMrC,cAAc,EAAU,CAAEg+H,UAAW37H,EAAOl3B,UAAW,YAAW/D,KAAKwD,MAAMu2D,eAAe+0G,uBAE9G,qBACI,GAAI9uK,KAAK+a,MAAMyxJ,SAAWxsK,KAAKwD,MAAM+nK,oBACjC,OAAQ,IAAM3yI,cAAc,MAAO,CAAEpuB,MAAO,CACpCyuC,SAAU,WACV7zC,OAAQ,OACRi6D,MAAO,IACPhC,IAAK,IACL7P,KAAM,IACNC,MAAO,IACPF,OAAQ,KACT6mB,QAASp0E,KAAK8sK,6CAG7B,cAAciC,GAAiB,GAI3B,OAAQ,IAAMn2I,cAAc,IAAS,CAAE70B,UAAW,YAAW/D,KAAKwD,MAAMu2D,eAAei1G,sCAAuC1yE,cAAeyyE,EAH1H,CACfE,UAAW,CAAEC,UAAW,SAE+I,KAAMn7H,IAAK,IAAW67D,GAAI5lE,KAAM,IAAYmlI,IAAMnvK,KAAKwD,MAAMy3B,OAE5O,eACI,OAAQ,IAAMrC,cAAc,MAAO,CAAE70B,UAAW/D,KAAKwD,MAAMu2D,eAAeq1G,kCACtEpvK,KAAKmuK,sBAAsBnuK,KAAKqsK,uBAChCrsK,KAAKsoH,eAAc,IAE3B,oBACI,GAAItoH,KAAK+a,MAAM6xJ,SACX,MAA2C,mBAA7B5sK,KAAKwD,MAAMqoK,cACnB7rK,KAAKwD,MAAMqoK,cAAc,YAAW7rK,KAAKwD,MAAMu2D,eAAes1G,+BAC9D,KAGd,kBACI,MAAuC,mBAAzBrvK,KAAKwD,MAAM8/D,UACnBtjE,KAAKwD,MAAM8/D,UAAU,YAAWtjE,KAAKwD,MAAMu2D,eAAeu1G,2BAC1D,KAEV,qBAAqBvrK,EAAWwrK,GAC5B,MAA4C,mBAA9BvvK,KAAKwD,MAAMooK,eACnB5rK,KAAKwD,MAAMooK,eAAe7nK,EAAWwrK,GACrC,KAKV,2BACQvvK,KAAK+a,MAAMyxJ,QACPxsK,KAAKssK,wBAA0BtsK,KAAKssK,uBAAuB7tJ,SAC3D,IAAS+oG,YAAYxnH,KAAKssK,uBAAuB7tJ,SAAS4X,QAI1Dr2B,KAAKqsK,uBAAyBrsK,KAAKqsK,sBAAsB5tJ,SACzD,IAAS+oG,YAAYxnH,KAAKqsK,sBAAsB5tJ,SAAS4X,SAKzE,EAAepL,aAAe,CAC1BgQ,MAAO,kBACPswI,qBAAqB,EACrBQ,yBAA0B,IAC1BD,aAAc,IACdE,YAAY,EACZjyG,eAAgB,GAChB+uG,WAAW,EACXmD,wBAAyB,KACzBE,oBAAsBpoK,GAAe,IAAM60B,cAAc,EAAU,CAAEg+H,UAAW,OAAQ7yJ,UAAWA,IACnGmoK,mBAAqBnoK,GAAe,IAAM60B,cAAc,EAAU,CAAEg+H,UAAW,OAAQ7yJ,UAAWA,K,8BC5KvF,MA/LA,CACX,iCAAkC,CAC9B,KAAM,CACF+B,QAAS,EACTo3D,UAAW,aAEf,OAAQ,CACJp3D,QAAS,EACTo3D,UAAW,iBAGnB,gCAAiC,CAC7B,KAAM,CACFp3D,QAAS,EACTo3D,UAAW,gBAEf,OAAQ,CACJp3D,QAAS,EACTo3D,UAAW,cAGnB,wBAAyB,CACrB,KAAM,CACFp3D,QAAS,GAEb,OAAQ,CACJA,QAAS,IAGjB,uBAAwB,CACpB,KAAM,CACFA,QAAS,GAEb,OAAQ,CACJA,QAAS,IAGjBwnK,eAAgB,GAChBL,sBAAuB,CACnB,aAAc,OACd,cAAe,OACf,eAAgB,YAAgB,OAAQ,QACxC,gBAAiB,YAAgB,OAAQ,QACzC5nK,MAAO,IACP,6CAA8C,CAC1C,eAAgB,OAChB,gBAAiB,SAGzB6nK,yBAA0B,GAC1BM,oCAAqCruK,OAAOC,OAAOD,OAAOC,OAAO,CAAEkyB,QAAS,OAAQ,iBAAkB,SAAU2nB,SAAU,WAAY,UAAW,MAAOokB,IAAK,IAAK7P,KAAM,YAAgB,IAAK,QAASC,MAAO,YAAgB,OAAQ,KAAM5jC,OAAQ,QAASsB,MAAO,QAAS,cAAe,OAAQ,eAAgB,YAAgB,OAAQ,QAAS,gBAAiB,YAAgB,OAAQ,QAAS,sBAAuB,OAAQ,mBAAoB,YAAgB,WAAY,cAAgB,YAAe,IAAoBwmF,KAAM,CAAE,6CAA8C,CACtjB9nF,OAAQ,UAEhB6jJ,2CAA4C,CACxC,iBAAkB,sBAClB,qBAAsB,OACtB,6BAA8B,4BAC9B,0CAA2C,CACvC,qBAAsB,OACtB,iBAAkB,eAG1BD,0CAA2C,CACvC,qBAAsB,OACtB,iBAAkB,qBAClB,6BAA8B,4BAC9B,0CAA2C,CACvC,qBAAsB,OACtB,kBAAmB,QACnB,sBAAuB,OACvB,iBAAkB,cAG1BmB,2CAA4C,CACxCt9I,QAAS,OACT,YAAa,OACb,eAAgB,YAAgB,OAAQ,SACxC,cAAe,YAAgB,QAAS,QACxC,6CAA8C,CAC1CA,QAAS,UAGjBo9I,oDAAqD,CACjDz1H,SAAU,YAEd61H,oBAAqB,CACjBjlJ,OAAQ,OACRsB,MAAO,QAEXsjJ,mCAAoC,CAChC,YAAa,QAEjBY,6BAA8BlwK,OAAOC,OAAO,CAAE,UAAW,IAAK65C,SAAU,WAAY5zC,MAAO,IAAuBH,WAAY,IAAgB+nD,QAAS,kBAAmB,YAAa,QAASoQ,IAAK,OAAQ5P,MAAO,KAAO,YAAe,IAAoBkkD,KAC9Pk8D,0BAA2B,CACvB38F,KAAM,IACN,kBAAmB,OACnBjkB,QAAS,IACT,aAAc,OACd,YAAa,QACb,aAAc,OACd,gBAAiB,OACjB5nD,MAAO,IACP,6CAA8C,CAC1CisB,QAAS,SAGjBw8I,gCAAiC,CAC7Bx8I,QAAS,OACT,iBAAkB,SAClB4/C,KAAM,IACNjkB,QAAS,IACT9hC,MAAO,OACP,kBAAmB,OACnB,eAAgB,YAAgB,OAAQ,SACxC,cAAe,YAAgB,QAAS,QACxC,aAAc,OACd,YAAa,QACb9lB,MAAO,IACP,6CAA8C,CAC1CisB,QAAS,SAGjB08I,gDAAiD,CAC7C18I,QAAS,OACT,gBAAiB,QAErBy8I,0CAA2C,CACvCz8I,QAAS,OACT,iBAAkB,SAClBnG,MAAO,OACPtB,OAAQ,OACR,aAAc,OACd,gBAAiB,OACjB,6CAA8C,CAC1CyH,QAAS,SAGjB89I,iCAAkC,CAC9B99I,QAAS,QAEb09I,qCAAsC,CAClClpK,QAAS,KAEbmoK,0CAA2C,CACvC38I,QAAS,OACT,cAAe,SACf,kBAAmB,gBACnB,aAAc,QAElBs8I,oBAAqB,CACjBt8I,QAAS,OACT,iBAAkB,SAClB,cAAe,OACf,eAAgB,YAAgB,OAAQ,QACxC,gBAAiB,YAAgB,OAAQ,QACzCzH,OAAQ,QACR,6CAA8C,CAC1C,iBAAkB,MAClB,cAAe,SACf,eAAgB,OAChB,gBAAiB,OACjB,YAAa,QACbA,OAAQ,UAGhBsjJ,mBAAoB,CAChB,6CAA8C,CAC1C77I,QAAS,QACT,aAAc,SAGtBg+I,yBAA0B,CACtB,aAAc,OACd,6CAA8C,CAC1C,YAAa,QACb,eAAgB,YAAgB,QAAS,QACzC,cAAe,YAAgB,OAAQ,SACvC,aAAc,UAGtB/B,2BAA4B,CACxB,iEAAkE,CAC9D1jJ,OAAQ,QAEZ,8BAA+B,CAC3ByH,QAAS,QACTnG,MAAO,OACPtB,OAAQ,UCpLpB,MAAM,EAAiB,YAAU,EAAV,CAAgC,I,oECyM5C2lJ,E,4IApMJ,SAASC,EAAe/iE,EAAO4V,EAAYotD,EAAqB,IACnE,MAAMxtI,EAAM,YAASwqE,GACrB,IAAI3sE,EAAMmC,EAAIthC,EAAI0hH,EAAaotD,EAI/B,OAHI3vI,EAAM,IACNA,EAAM,GAEH,YAAS,IAAI,IAASmC,EAAI91B,EAAG2zB,EAAKmC,EAAI/B,IAuI1C,SAASwvI,EAAqBpiH,EAAQ8P,GACzC,OAAO9P,EAAS8P,EAUb,SAASuyG,EAAcriH,EAAQ8P,GAClC,OAAO,IAAI,IAAYsyG,EAAqBpiH,EAAO1sD,EAAGw8D,EAAIx8D,GAAI8uK,EAAqBpiH,EAAO53C,EAAG0nD,EAAI1nD,GAAIg6J,EAAqBpiH,EAAO33C,EAAGynD,EAAIznD,GAAI,GAKzI,SAASi6J,EAAoBtiH,EAAQ8P,GACxC,OAAI9P,EAAS,GACF,YAAM,EAAM8P,EAAM9P,EAAQ,EAAG,GAEjC,YAAM,EAAM,GAAO,EAAM8P,IAAQ,EAAM9P,GAAS,EAAG,GAUvD,SAASuiH,EAAaviH,EAAQ8P,GACjC,OAAO,IAAI,IAAYwyG,EAAoBtiH,EAAO1sD,EAAGw8D,EAAIx8D,GAAIgvK,EAAoBtiH,EAAO53C,EAAG0nD,EAAI1nD,GAAIk6J,EAAoBtiH,EAAO33C,EAAGynD,EAAIznD,GAAI,IAwB7I,SAAW45J,GACPA,EAAeA,EAAqB,KAAI,GAAK,OAC7CA,EAAeA,EAAsB,MAAI,GAAK,QAC9CA,EAAeA,EAAuB,OAAI,GAAK,SAC/CA,EAAeA,EAAsB,MAAI,GAAK,QAC9CA,EAAeA,EAAwB,QAAI,GAAK,UAChDA,EAAeA,EAAyB,SAAI,GAAK,WACjDA,EAAeA,EAAwB,QAAI,GAAK,UAChDA,EAAeA,EAAuB,OAAI,GAAK,SARnD,CASGA,IAAmBA,EAAiB,K,IC3H5BO,E,kBAcJ,SAASC,EAAwB/2H,EAAUg3H,EAAOziH,EAAMC,GAC3D,GAAI7mC,MAAMqyB,IAAaA,GAAY,EAC/B,OAAOuU,EAEN,GAAIvU,GAAY,EACjB,OAAOwU,EAEX,OAAQwiH,GACJ,KAAKF,EAAwBG,IACzB,OAAO,YA7FZ,SAAwBj3H,EAAUuU,EAAMC,GAC3C,OAAI7mC,MAAMqyB,IAAaA,GAAY,EACxBuU,EAEFvU,GAAY,EACVwU,EAEJ,IAAI,IAAS,YAAoBxU,EAAUuU,EAAKrtB,EAAGstB,EAAMttB,GAAI,YAAK8Y,EAAUuU,EAAKluD,EAAGmuD,EAAMnuD,GAAI,YAAK25C,EAAUuU,EAAKphD,EAAGqhD,EAAMrhD,IAsF1G+jK,CAAel3H,EAAU,YAASuU,GAAO,YAASC,KACtE,KAAKsiH,EAAwBK,IACzB,OAAO,YAjFZ,SAAwBn3H,EAAUuU,EAAMC,GAC3C,OAAI7mC,MAAMqyB,IAAaA,GAAY,EACxBuU,EAEFvU,GAAY,EACVwU,EAEJ,IAAI,IAAS,YAAoBxU,EAAUuU,EAAKrtB,EAAGstB,EAAMttB,GAAI,YAAK8Y,EAAUuU,EAAKluD,EAAGmuD,EAAMnuD,GAAI,YAAK25C,EAAUuU,EAAKhtB,EAAGitB,EAAMjtB,IA0E1G6vI,CAAep3H,EAAU,YAASuU,GAAO,YAASC,KACtE,KAAKsiH,EAAwBO,IACzB,OAAO,YArEZ,SAAwBr3H,EAAUuU,EAAMC,GAC3C,OAAI7mC,MAAMqyB,IAAaA,GAAY,EACxBuU,EAEFvU,GAAY,EACVwU,EAEJ,IAAI,IAAS,YAAKxU,EAAUuU,EAAKplD,EAAGqlD,EAAMrlD,GAAI,YAAK6wC,EAAUuU,EAAKxrC,EAAGyrC,EAAMzrC,GAAI,YAAKi3B,EAAUuU,EAAK7sB,EAAG8sB,EAAM9sB,IA8D3F4vI,CAAet3H,EAAU,YAASuU,GAAO,YAASC,KACtE,KAAKsiH,EAAwBS,IACzB,OAAO,YAzDZ,SAAwBv3H,EAAUuU,EAAMC,GAC3C,OAAI7mC,MAAMqyB,IAAaA,GAAY,EACxBuU,EAEFvU,GAAY,EACVwU,EAEJ,IAAI,IAAS,YAAKxU,EAAUuU,EAAKphD,EAAGqhD,EAAMrhD,GAAI,YAAK6sC,EAAUuU,EAAK5xC,EAAG6xC,EAAM7xC,GAAI,YAAKq9B,EAAUuU,EAAK53C,EAAG63C,EAAM73C,IAkD3F66J,CAAex3H,EAAU,YAASuU,GAAO,YAASC,KACtE,KAAKsiH,EAAwBW,IACzB,OAAO,YA7CZ,SAAwBz3H,EAAUuU,EAAMC,GAC3C,OAAI7mC,MAAMqyB,IAAaA,GAAY,EACxBuU,EAEFvU,GAAY,EACVwU,EAEJ,IAAI,IAAS,YAAKxU,EAAUuU,EAAKphD,EAAGqhD,EAAMrhD,GAAI,YAAK6sC,EAAUuU,EAAK5sD,EAAG6sD,EAAM7sD,GAAI,YAAoBq4C,EAAUuU,EAAKrtB,EAAGstB,EAAMttB,IAsC1GwwI,CAAe13H,EAAU,YAASuU,GAAO,YAASC,KACtE,QACI,OArHL,SAAwBxU,EAAUuU,EAAMC,GAC3C,OAAI7mC,MAAMqyB,IAAaA,GAAY,EACxBuU,EAEFvU,GAAY,EACVwU,EAEJ,IAAI,IAAY,YAAKxU,EAAUuU,EAAK3sD,EAAG4sD,EAAM5sD,GAAI,YAAKo4C,EAAUuU,EAAK73C,EAAG83C,EAAM93C,GAAI,YAAKsjC,EAAUuU,EAAK53C,EAAG63C,EAAM73C,GAAI,YAAKqjC,EAAUuU,EAAK5xC,EAAG6xC,EAAM7xC,IA8GxIg1J,CAAe33H,EAAUuU,EAAMC,KAhClD,SAAWsiH,GACPA,EAAwBA,EAA6B,IAAI,GAAK,MAC9DA,EAAwBA,EAA6B,IAAI,GAAK,MAC9DA,EAAwBA,EAA6B,IAAI,GAAK,MAC9DA,EAAwBA,EAA6B,IAAI,GAAK,MAC9DA,EAAwBA,EAA6B,IAAI,GAAK,MAC9DA,EAAwBA,EAA6B,IAAI,GAAK,MANlE,CAOGA,IAA4BA,EAA0B,KCnGlD,MAAM,EACT,YAAYc,GACR,GAAa,MAATA,GAAkC,IAAjBA,EAAMnxK,OACvB,MAAM,IAAIwJ,MAAM,wCAGhBlJ,KAAK6wK,MAAQ7wK,KAAK8wK,oBAAoBD,GAG9C,gCAAgC9mK,GAC5B,GAAc,MAAVA,GAAoC,IAAlBA,EAAOrK,OACzB,MAAM,IAAIwJ,MAAM,yCAEpB,MAAM2nK,EAAQ,IAAI3tK,MAAM6G,EAAOrK,QAC/B,IAAK,IAAIH,EAAI,EAAGA,EAAIwK,EAAOrK,OAAQH,IAErB,IAANA,EACAsxK,EAAMtxK,GAAK,CAAE8F,MAAO0E,EAAOxK,GAAI05C,SAAU,GAEpC15C,IAAMwK,EAAOrK,OAAS,EAC3BmxK,EAAMtxK,GAAK,CAAE8F,MAAO0E,EAAOxK,GAAI05C,SAAU,GAGzC43H,EAAMtxK,GAAK,CACP8F,MAAO0E,EAAOxK,GACd05C,SAAU15C,GAAK,GAAKwK,EAAOrK,OAAS,KAIhD,OAAO,IAAI,EAAWmxK,GAE1B,SAAS53H,EAAU83H,EAAoBhB,EAAwBiB,KAC3D,GAA0B,IAAtBhxK,KAAK6wK,MAAMnxK,OACX,OAAOM,KAAK6wK,MAAM,GAAGxrK,MAEpB,GAAI4zC,GAAY,EACjB,OAAOj5C,KAAK6wK,MAAM,GAAGxrK,MAEpB,GAAI4zC,GAAY,EACjB,OAAOj5C,KAAK6wK,MAAM7wK,KAAK6wK,MAAMnxK,OAAS,GAAG2F,MAE7C,IAAI4rK,EAAa,EACjB,IAAK,IAAI1xK,EAAI,EAAGA,EAAIS,KAAK6wK,MAAMnxK,OAAQH,IAC/BS,KAAK6wK,MAAMtxK,GAAG05C,UAAYA,IAC1Bg4H,EAAa1xK,GAGrB,IAAI2xK,EAAaD,EAAa,EAC1BC,GAAclxK,KAAK6wK,MAAMnxK,SACzBwxK,EAAalxK,KAAK6wK,MAAMnxK,OAAS,GAIrC,OAAOswK,GAFgB/2H,EAAWj5C,KAAK6wK,MAAMI,GAAYh4H,WACpD,GAAOj5C,KAAK6wK,MAAMK,GAAYj4H,SAAWj5C,KAAK6wK,MAAMI,GAAYh4H,WACvB83H,EAAmB/wK,KAAK6wK,MAAMI,GAAY5rK,MAAOrF,KAAK6wK,MAAMK,GAAY7rK,OAE1H,KAAKs9C,EAAYC,EAAYmuH,EAAoBhB,EAAwBiB,KACrE,GAAIruH,EAAa,GAAKC,EAAa,GAAKA,EAAaD,EACjD,MAAM,IAAIz5C,MAAM,kBAEpB,GAAIy5C,IAAeC,EACf,OAAO,IAAI,EAAW,CAClB,CAAEv9C,MAAOrF,KAAKmxK,SAASxuH,EAAYouH,GAAoB93H,SAAU,KAGzE,MAAMm4H,EAAiB,GACvB,IAAK,IAAI7xK,EAAI,EAAGA,EAAIS,KAAK6wK,MAAMnxK,OAAQH,IAC/BS,KAAK6wK,MAAMtxK,GAAG05C,UAAY0J,GAC1B3iD,KAAK6wK,MAAMtxK,GAAG05C,UAAY2J,GAC1BwuH,EAAerpK,KAAK/H,KAAK6wK,MAAMtxK,IAGvC,GAA8B,IAA1B6xK,EAAe1xK,OACf,OAAO,IAAI,EAAW,CAClB,CAAE2F,MAAOrF,KAAKmxK,SAASxuH,GAAa1J,SAAU0J,GAC9C,CAAEt9C,MAAOrF,KAAKmxK,SAASvuH,GAAa3J,SAAU2J,KAGlDwuH,EAAe,GAAGn4H,WAAa0J,GAC/ByuH,EAAexzH,QAAQ,CACnBv4C,MAAOrF,KAAKmxK,SAASxuH,GACrB1J,SAAU0J,IAGdyuH,EAAeA,EAAe1xK,OAAS,GAAGu5C,WAAa2J,GACvDwuH,EAAerpK,KAAK,CAChB1C,MAAOrF,KAAKmxK,SAASvuH,GACrB3J,SAAU2J,IAGlB,MAAMo9C,EAAQp9C,EAAaD,EACrB0uH,EAAa,IAAInuK,MAAMkuK,EAAe1xK,QAC5C,IAAK,IAAIH,EAAI,EAAGA,EAAI6xK,EAAe1xK,OAAQH,IACvC8xK,EAAW9xK,GAAK,CACZ8F,MAAO+rK,EAAe7xK,GAAG8F,MACzB4zC,UAAWm4H,EAAe7xK,GAAG05C,SAAW0J,GAAcq9C,GAG9D,OAAO,IAAI,EAAWqxE,GAE1B,cAAcp4H,EAAUn9B,EAAUw1J,GAAa,EAAOP,EAAoBhB,EAAwBiB,IAAKO,EAAsB,KAAOC,EAAsB,IAClJ5qJ,MAAMqyB,IAAaA,GAAY,EAC/BA,EAAW,EAENA,GAAY,IACjBA,EAAW,GAEf,MAAMw4H,EAAgBzxK,KAAKmxK,SAASl4H,EAAU83H,GACxCW,EAAgBJ,EAAa,EAAI,EACjCK,EAAa3xK,KAAKmxK,SAASO,EAAeX,GAEhD,GADsB,YAAcU,EAAeE,IAC9B71J,EACjB,OAAO41J,EAEX,IAAIE,EAAeN,EAAa,EAAIr4H,EAChC44H,EAAeP,EAAar4H,EAAW,EACvC64H,EAAMJ,EACNK,EAAa,EACjB,KAAOA,GAAcP,GAAqB,CACtCM,EAAM71J,KAAK+Q,IAAI6kJ,EAAeD,GAAgB,EAAIA,EAClD,MAAMI,EAAWhyK,KAAKmxK,SAASW,EAAKf,GAC9BkB,EAAc,YAAcR,EAAeO,GACjD,GAAI/1J,KAAK+Q,IAAIilJ,EAAcn2J,IAAay1J,EACpC,OAAOO,EAEFG,EAAcn2J,EACfw1J,EACAM,EAAeE,EAGfD,EAAeC,EAIfR,EACAO,EAAeC,EAGfF,EAAeE,EAGvBC,IAEJ,OAAOD,EAEX,QACI,MAAMI,EAAW,IAAIhvK,MAAMlD,KAAK6wK,MAAMnxK,QACtC,IAAK,IAAIH,EAAI,EAAGA,EAAI2yK,EAASxyK,OAAQH,IACjC2yK,EAAS3yK,GAAK,CACV8F,MAAOrF,KAAK6wK,MAAMtxK,GAAG8F,MACrB4zC,SAAUj5C,KAAK6wK,MAAMtxK,GAAG05C,UAGhC,OAAO,IAAI,EAAWi5H,GAE1B,oBAAoBrB,GAChB,OAAOA,EAAMvrH,KAAK,CAAC1pC,EAAGhG,KAClB,MAAM07G,EAAI11G,EAAEq9B,SACNu4E,EAAI57G,EAAEqjC,SACZ,OAAIq4E,EAAIE,GACI,EAEHF,EAAIE,EACF,EAGA,KCjKhB,MAAM,EACT,YAAY97G,GACR1V,KAAK0V,OAASvW,OAAOC,OAAO,GAAI,EAAa+yK,qBAAsBz8J,GACnE1V,KAAK0yC,QAAU,GACf1yC,KAAKoyK,sBAET,8BAA8BC,GAC1B,IAAIC,GAAU,EACd,IAAK,MAAM7xK,KAAO4xK,EACVryK,KAAK0V,OAAOjV,KACRT,KAAK0V,OAAOjV,GAAKob,WACZ7b,KAAK0V,OAAOjV,GAAKob,WAAWw2J,EAAU5xK,MACvCT,KAAK0V,OAAOjV,GAAO4xK,EAAU5xK,GAC7B6xK,GAAU,GAIVD,EAAU5xK,KAAST,KAAK0V,OAAOjV,KAC/BT,KAAK0V,OAAOjV,GAAO4xK,EAAU5xK,GAC7B6xK,GAAU,IAQ1B,OAHIA,GACAtyK,KAAKoyK,sBAEFE,EAEX,sBACI,MAAMvU,EAAQ/9J,KAAKuyK,4BACnB,IAAK,IAAIhzK,EAAI,EAAGA,EAAIS,KAAK0V,OAAOo1C,MAAOvrD,IACnCS,KAAK0yC,QAAQnzC,GAAKw+J,EAAMoT,SAAS5xK,GAAKS,KAAK0V,OAAOo1C,MAAQ,GAAI9qD,KAAK0V,OAAOq7J,mBAGlF,4BAII,MAAMyB,EAAe,YAASxyK,KAAK0V,OAAOu1C,WAMpCwnH,EALY,IAAI,EAAW,CAC7B,CAAEx5H,SAAU,EAAG5zC,MAAOrF,KAAK0V,OAAOg9J,iBAClC,CAAEz5H,SAAU,GAAK5zC,MAAOrF,KAAK0V,OAAOu1C,WACpC,CAAEhS,SAAU,EAAG5zC,MAAOrF,KAAK0V,OAAOi9J,kBAEP3uK,KAAKhE,KAAK0V,OAAOq1C,UAAW,EAAI/qD,KAAK0V,OAAOs1C,UAG3E,IAAI4nH,EAFiBH,EAAatB,SAAS,GAGvC0B,EAFgBJ,EAAatB,SAAS,GAO1C,GAJIqB,EAAalzK,GAAKU,KAAK0V,OAAOo9J,6BAC9BF,EAAgBnD,EAAemD,EAAe5yK,KAAK0V,OAAOq9J,iBAC1DF,EAAepD,EAAeoD,EAAc7yK,KAAK0V,OAAOs9J,iBAE1B,IAA9BhzK,KAAK0V,OAAOu9J,cAAqB,CACjC,MAAM55I,EAAWu2I,EAAc5vK,KAAK0V,OAAOu1C,UAAW2nH,GACtDA,EAAgB5C,EAAwBhwK,KAAK0V,OAAOu9J,cAAejzK,KAAK0V,OAAOq7J,kBAAmB6B,EAAev5I,GAErH,GAAiC,IAA7Br5B,KAAK0V,OAAOw9J,aAAoB,CAChC,MAAM75I,EAAWu2I,EAAc5vK,KAAK0V,OAAOu1C,UAAW4nH,GACtDA,EAAe7C,EAAwBhwK,KAAK0V,OAAOw9J,aAAclzK,KAAK0V,OAAOq7J,kBAAmB8B,EAAcx5I,GAElH,GAAiC,IAA7Br5B,KAAK0V,OAAOy9J,aAAoB,CAChC,MAAMtK,EAAUiH,EAAa9vK,KAAK0V,OAAOu1C,UAAW2nH,GACpDA,EAAgB5C,EAAwBhwK,KAAK0V,OAAOy9J,aAAcnzK,KAAK0V,OAAOq7J,kBAAmB6B,EAAe/J,GAEpH,GAAgC,IAA5B7oK,KAAK0V,OAAO09J,YAAmB,CAC/B,MAAMvK,EAAUiH,EAAa9vK,KAAK0V,OAAOu1C,UAAW4nH,GACpDA,EAAe7C,EAAwBhwK,KAAK0V,OAAO09J,YAAapzK,KAAK0V,OAAOq7J,kBAAmB8B,EAAchK,GAEjH,OAAI7oK,KAAK0V,OAAO29J,kBACRrzK,KAAK0V,OAAO29J,mBAAqB,EAC1B,IAAI,EAAW,CAClB,CAAEp6H,SAAU,EAAG5zC,MAAOrF,KAAK0V,OAAOu1C,WAClC,CAAEhS,SAAU,EAAG5zC,MAAOwtK,EAAa12J,WAGlCnc,KAAK0V,OAAO29J,mBAAqB,EAC/B,IAAI,EAAW,CAClB,CAAEp6H,SAAU,EAAG5zC,MAAOutK,EAAcz2J,SACpC,CAAE88B,SAAU,EAAG5zC,MAAOrF,KAAK0V,OAAOu1C,aAGnC,IAAI,EAAW,CAClB,CAAEhS,SAAU,EAAG5zC,MAAOutK,EAAcz2J,SACpC,CACI88B,SAAUj5C,KAAK0V,OAAO29J,kBACtBhuK,MAAOrF,KAAK0V,OAAOu1C,WAEvB,CAAEhS,SAAU,EAAG5zC,MAAOwtK,EAAa12J,WAGpC,IAAI,EAAW,CAClB,CAAE88B,SAAU,EAAG5zC,MAAOutK,EAAcz2J,SACpC,CAAE88B,SAAU,GAAK5zC,MAAOrF,KAAK0V,OAAOu1C,WACpC,CAAEhS,SAAU,EAAG5zC,MAAOwtK,EAAa12J,YAI/C,EAAag2J,qBAAuB,CAChClnH,UAAW,YAAiB,WAC5BH,MAAO,GACPimH,kBAAmBhB,EAAwBiB,IAC3C0B,gBAAiB,IAAI,IAAY,EAAG,EAAG,EAAG,GAC1CC,eAAgB,IAAI,IAAY,EAAG,EAAG,EAAG,GACzC5nH,UAAW,KACXC,SAAU,IACV8nH,2BAA4B,IAC5BC,gBAAiB,IACjBC,eAAgB,KAChBG,aAAc,EACdC,YAAa,IACbH,cAAe,EACfC,aAAc,EACdG,kBAAmB,IAEvB,EAAaC,uBAAyB,CAClCroH,UAAW,YAAiB,WAC5BH,MAAO,GACPimH,kBAAmBhB,EAAwBiB,IAC3C0B,gBAAiB,IAAI,IAAY,EAAG,EAAG,EAAG,GAC1CC,eAAgB,IAAI,IAAY,EAAG,EAAG,EAAG,GACzC5nH,UAAW,EACXC,SAAU,EACV8nH,2BAA4B,EAC5BC,gBAAiB,EACjBC,eAAgB,EAChBG,aAAc,EACdC,YAAa,EACbH,cAAe,EACfC,aAAc,EACdG,kBAAmB,IAiFF,EAAalB,qBAAqBO,gBACnC,EAAaP,qBAAqBQ,eCpN/C,MAAM,EACT,YAAYj9J,GACR1V,KAAK0yC,QAAU,GACf1yC,KAAK0V,OAASvW,OAAOC,OAAO,GAAI,EAA2B+yK,qBAAsBz8J,GACjF1V,KAAKuzK,gBAET,gBACI,IAAIzoH,EAAQ9qD,KAAK0V,OAAOo1C,OACpBlkC,MAAMkkC,IAAUA,EAAQ,KACxBA,EAAQ,GAIZ,MAKM0oH,EAAe,IAAI,IALT,YAKgD,GAS1DC,EADI,IAAI,EAAat0K,OAAOC,OAAOD,OAAOC,OAAO,GAAI,EAAak0K,wBAAyB,CAAEroH,UAAWuoH,EAAcH,kBAAmB,GAJjH,GAIgKvoH,WACnKpY,QAKrBghI,GAFgB,YAAqB1zK,KAAK0V,OAAOu1C,WACjC,YAASjrD,KAAK0V,OAAOu1C,WAAW7+C,GACC,EAEjDunK,EADoB3zK,KAAK4zK,4BAA4BF,EAAcD,IAC3B3oH,EAAQ,GAGhD+oH,EADe7zK,KAAK4zK,4BAvBV,IAuB+CH,IAC3B3oH,EAAQ,GAKtC0nH,EAAe,YAASxyK,KAAK0V,OAAOu1C,WACpC6oH,EAAgB,YAAS,IAASC,WAAW,CAC/C5zI,EAAGqyI,EAAaryI,EAChB7gC,EAAGkzK,EAAalzK,EAChB8M,EAjCY,OAmCV4nK,EAAmB,YAAS,IAASD,WAAW,CAClD5zI,EAAGqyI,EAAaryI,EAChB7gC,EAAGkzK,EAAalzK,EAChB8M,EApCe,OAuCb6nK,EAAsB,IAAI/wK,MAAM,GACtC+wK,EAAoB,GAAK,CACrBh7H,SAAU,EACV5zC,MAAO,IAAI,IAAY,EAAG,EAAG,EAAG,IAEpC4uK,EAAoB,GAAK,CACrBh7H,SAAU06H,EACVtuK,MAAOrF,KAAK0V,OAAOu1C,WAEvBgpH,EAAoB,GAAK,CACrBh7H,SAAU46H,EACVxuK,MAAOyuK,GAEXG,EAAoB,GAAK,CACrBh7H,SAAU,IACV5zC,MAAO2uK,GAEXC,EAAoB,GAAK,CACrBh7H,SAAU,EACV5zC,MAAO,IAAI,IAAY,EAAG,EAAG,EAAG,IAEpC,MAAM04J,EAAQ,IAAI,EAAWkW,GAE7Bj0K,KAAK0yC,QAAU,IAAIxvC,MAAM4nD,GACzB,IAAK,IAAIvrD,EAAI,EAAGA,EAAIurD,EAAOvrD,IAAK,CAC5B,MAAMqB,EAAIm9J,EAAMoT,SAAS5xK,GAAKurD,EAAQ,GAAIilH,EAAwBiB,KAClEhxK,KAAK0yC,QAAQnzC,GAAKqB,GAG1B,4BAA4B8rG,EAAOwnE,GAC/B,IAAIC,EAAe9rK,OAAO+rK,UACtBC,EAAe,EACf90K,EAAI,EACR,MAAM+0K,EAAkBJ,EAAUx0K,OAClC,KAAOH,EAAI+0K,EAAiB/0K,IAAK,CAC7B,MAAMg1K,EAAWt4J,KAAK+Q,IAAI,YAAqBknJ,EAAU30K,IAAMmtG,GAC3D6nE,EAAWJ,IACXA,EAAeI,EACfF,EAAe90K,GAGvB,OAAO80K,GAGf,EAA2BlC,qBAAuB,CAC9ClnH,UAAW,YAAiB,WAC5BH,MAAO,I,sBC/GP7qD,EAAkC,SAAUX,EAAGY,GAC/C,IAAIb,EAAI,GACR,IAAK,IAAIM,KAAKL,EAAOH,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,IAAMO,EAAEC,QAAQR,GAAK,IAC9EN,EAAEM,GAAKL,EAAEK,IACb,GAAS,MAALL,GAAqD,mBAAjCH,OAAOiB,sBACtB,KAAIb,EAAI,EAAb,IAAgBI,EAAIR,OAAOiB,sBAAsBd,GAAIC,EAAII,EAAED,OAAQH,IAC3DW,EAAEC,QAAQR,EAAEJ,IAAM,GAAKJ,OAAOS,UAAUS,qBAAqBP,KAAKR,EAAGK,EAAEJ,MACvEF,EAAEM,EAAEJ,IAAMD,EAAEK,EAAEJ,KAE1B,OAAOF,GAYX,MAAMm1K,EAAoB,CACtBxjK,eCrB+Bi6C,EDqBG,YAAiB,WCpB5C,IAAI,EAA2B,CAClCA,cACDvY,QAAQpuC,IAAKe,GAAUA,EAAM6+B,iBAAiBx2B,gBDmBjDkD,gBAAiB,WCtBd,IAA4Bq6C,EDwBnC,MAAM,UAAkB,IACpB,cACI3oD,SAAS7C,WACTO,KAAK2D,aAAe,CAChB8wK,eAAW,EACXC,kBAAc,EACdC,gBAAY,EACZC,oBAAgB,EAChBC,uBAAmB,EACnBjiG,WAAO,EACP7Y,oBAAgB,EAChB+6G,WAAO,EACP9qI,UAAM,GAMd,SACI,MAAM,wBAAE+qI,EAAuB,gBAAEC,GAAqBh1K,KAAKwD,MAAMu2D,eACjE,OAAQ,IAAMnhC,cAAc,MAAOz5B,OAAOC,OAAO,GAAIY,KAAKg6D,iBAAkB,CAAEj2D,UAAW/D,KAAKk6D,uBAC1F,IAAMthC,cAAc,MAAO,CAAE70B,UAAW,YAAWgxK,IAC/C,IAAMn8I,cAAc,IAAOz5B,OAAOC,OAAO,GAAIY,KAAKwD,MAAMovE,MAAO,CAAE7uE,UAAW,YAAWixK,MACvFh1K,KAAKi1K,yBACLj1K,KAAKk1K,4BAKjB,qBACI,MAAM,UAAEC,EAAS,sBAAEC,EAAqB,yBAAEC,EAAwB,iBAAEC,EAAgB,iBAAEC,EAAgB,qBAAEC,GAA0Bx1K,KAAKwD,MAAMu2D,eACvI07G,EAAgBz1K,KAAKwD,MAAMwmC,OAAS,IAAc0rI,MAAQH,EAAmBD,EAC7EX,IAAe30K,KAAKwD,MAAMmxK,WAChC,OAAOryK,MAAM43D,mBAAmB,YAAWi7G,EAAWM,EAAe,CAACD,EAAsBx1K,KAAKwD,MAAMixK,WAAY,CAACW,EAAuBT,GAAa,CAACU,GAA2BV,KAKxL,yBACI,MAAM,gBAAEgB,EAAe,uBAAEC,GAA4B51K,KAAKwD,MAAMu2D,eAC1DyrD,EAAKxlH,KAAKwD,MAAMsxK,OAAO,SAAE1wK,EAAQ,UAAEL,GAAcyhH,EAAIqwD,EAAa51K,EAAOulH,EAAI,CAAC,WAAY,cAChG,OAAQ,IAAM5sF,cAAc,UAAQz5B,OAAOC,OAAO,GAAIy2K,EAAY,CAAE9xK,UAAW,YAAW4xK,EAAiB,CAAC5xK,IAAaA,MACrH,IAAM60B,cAAc,OAAQ,CAAE70B,UAAW,YAAW6xK,IAA2BxxK,IAKvF,0BACI,MAAM,uBAAE0xK,EAAsB,uBAAEC,EAAsB,yBAAEC,EAAwB,4BAAEC,GAAiCj2K,KAAKwD,MAAMu2D,eAC9H,OAAQ,IAAMnhC,cAAc,MAAO,CAAE70B,UAAW,YAAW+xK,IACvD,IAAMl9I,cAAc,IAAsB,CAAEloB,aAAc8jK,GACtD,IAAM57I,cAAc,IAAez5B,OAAOC,OAAO,GAAIY,KAAKwD,MAAMkxK,aAAc,CAAE3wK,UAAW,YAAWgyK,GAAyBz5E,cAAe,EAAU45E,0BAA0Bl2K,KAAKwD,MAAMmxK,cACpJ,mBAA9B30K,KAAKwD,MAAMoxK,eACZ50K,KAAKwD,MAAMoxK,eAAe,YAAWoB,IACrC,KACkC,mBAAjCh2K,KAAKwD,MAAMqxK,kBACZ70K,KAAKwD,MAAMqxK,kBAAkB,YAAWoB,IACxC,SAG1B,EAAUhrJ,aAAe,CACrBwpJ,WAAW,EACXzqI,KAAM,IAAcmsI,MACpBxB,YAAY,EACZ56G,eAAgB,IAEpB,EAAUv3D,YAAc,YACxB,EAAU0zK,0BAA4B,OAAAxyI,EAAA,GAASixI,IAAe,CAC1D9iG,OAAQ,CACJ,QAAS,CACLtsE,KAAMovK,EAAa,IAAuB,SAGlD,IAAI/xK,IAASA,EAAKgC,Q,+IEhGtB,MAGMwxK,GAAiBj3K,OAAOC,OAAO,CAAE65C,SAAU,WAAY3nB,QAAS,eAAgB+rC,IAAK,MAAO7P,KAAM,MAAO0P,UAAW,wBAAyBrzC,OAAQ,IAAWsB,MAAO,KAAa,KA6F3K,OA5FA,CACXgqJ,UAAWh2K,OAAOC,OAAOD,OAAOC,OAAO,CAAE65C,SAAU,WAAY9tB,MAAO,QAAU,eAA8B,CAAE+hC,SAAU,WAC1H6nH,wBAAyB,CACrBzjJ,QAAS,OACT,iBAAkB,MAClB,cAAe,UAEnB0jJ,gBAAiB,GACjBW,gBAAiBx2K,OAAOC,OAAO,CAAE8xE,KAAM,IAAKjkB,QAAS,IAAK7nD,OAAQ,IAAK,kBAAmB,OAAQ,YAAa,CACvGkoD,QAAS,KACTrU,SAAU,WACVpvB,OAAQ,OACRsB,MAAO,OACPkyC,IAAK,IACL7P,KAAM,MACL,YAAkB,CACvB,YAAa,CACTnG,QAAS,OAAA1/C,EAAA,GAAO,gBAAiB,KACjC,CAAC,KAAuB,CACpB0/C,QAAS,OAAA1/C,EAAA,GAAO,aAAa,IAAkBjC,yBAI3DkwK,uBAAwBz2K,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAO,CAAE,UAAW,IAAKiG,MAAO,KAAyB,YAAc,EAAG,KAAM,YAAoB,OAAQ,eAAwB,CAAE,gBAAiB,WAAY,aAAc,YAAgB,OAAQ,WAAa,KAC7S0wK,uBAAwB52K,OAAOC,OAAOD,OAAOC,OAAO,CAAEkyB,QAAS,OAAQ2nB,SAAU,WAAYiU,SAAU,SAAUhoD,WAAY,cAAe,iBAAkB,OAAQ,kBAAmB,OAAQE,OAAQ,wBAAyB6nD,QAAS,IAAKnd,OAAQ,UAAWvqC,KAAM,IAAuB,cAAe,YAAgB,YA5B9S,GA4BkU,IAAK,eAAgB,YAAgB,GAAI,YA5B3W,KA4BkY,YAAkB,CACjaL,WAAY,IACZ,eAAgB,IAChB,aAAc,OAAAyC,EAAA,GAAO,sBAAuB,KAC5C,CAAC,KAAuB,CACpBzC,WAAY,IAAkBQ,mBAC9B,eAAgB,IAAkBJ,WAClC,aAAc,OAAAqC,EAAA,GAAO,mBAAmB,IAAkBxC,iBAAoB,YAAK,OAEvF,8DAA+DhG,OAAOC,OAAO,GAAI,QAChF,CAAE,UAAWD,OAAOC,OAAOD,OAAOC,OAAO,CAAE8F,WAAY,KAA2B,KAAkC,CAAE,8DAA+D/F,OAAOC,OAAO,GAAI,OAAoC,WAAY,CACpP8F,WAAY,KACb,CAAC,KAAuB/F,OAAOC,OAAOD,OAAOC,OAAO,GAAI,KAA6B,CAAE8F,WAAY,IAAkBC,iBAAkBC,OAAQ,OAAAuC,EAAA,GAAO,aAAa,IAAkBrC,WAAc,YAAK,UAC/MwwK,uBAAwB,GACxBE,yBAA0B72K,OAAOC,OAAO,GAAIg3K,IAC5CH,4BAA6B92K,OAAOC,OAAO,GAAIg3K,IAC/ChB,sBAAuB,CACnB,8BAA+B,CAC3BjoH,WAAY,mBACZrnD,QAAS,KAEb,iCAAkC,CAC9BA,QAAS,MAGjBuvK,yBAA0B,CACtB,iCAAkC,CAC9BloH,WAAY,mBACZrnD,QAAS,KAEb,8BAA+B,CAC3BA,QAAS,MAGjB0vK,qBAAsBr2K,OAAOC,OAAOD,OAAOC,OAAO,GAAI,YAAe,IAAoBuyG,KAAM,CAAExkD,WAAY,mBAAoB,UAAWhuD,OAAOC,OAAOD,OAAOC,OAAO,GAAI,YAAe,IAAoBi3K,KAAM,CAAE,CAAC,KAAuB,CACnOjxK,OAAQ,OAAAuC,EAAA,GAAO,aAAa,IAAkBjC,mBAAsB,YAAK,SACvE,CAAC,KAAuBvG,OAAOC,OAAOD,OAAOC,OAAO,GAAI,KAA6B,CAAEgG,OAAQ,OAAAuC,EAAA,GAAO,aAAa,IAAkBnB,KAAQ,YAAK,UAChK8uK,iBAAkB,CACd,4BAA6B,CACzBnqJ,MAAO,YAAK,YAAa,MACzBtB,OAAQ,YAAK,YAAa,OAE9B,qBAAsB,CAClBsB,MAAO,YAAK,YAAa,MACzB,aAAc,YAAK,YAAa,OAEpC,qBAAsB,CAClB,cAAe,YAAgB,YA1ElB,IA0E0C,IACvD,eAAgB,YAAgB,GAAI,YA3EvB,KA4Eb,YAAa,eAAe,YAAK,YAAI,YAAS,YAAa,KAAM,GA5EpD,UA+ErBoqJ,iBAAkB,CACd,4BAA6B,CACzBpqJ,MAAO,YAAK,YAAS,YAAa,KAAM,MACxCtB,OAAQ,YAAK,YAAa,OAE9B,qBAAsB,CAClBsB,MAAO,YAAK,YAAa,MACzB,aAAc,YAAK,YAAa,OAEpC,qBAAsB,CAClB,cAAe,YAAgB,YAxFlB,IAwF0C,IACvD,eAAgB,YAAgB,GAAI,YAzFvB,KA0Fb,YAAa,eAAe,YAAK,YAAI,YAAa,KA1FrC,GA0F6D,YAAS,YAAa,KAAM,a,SCrFlH,MAAM,GAAY,aAAU,GAAV,CAA2B,I,mECLlC+E,E,8CACX,SAAWA,GACPA,EAASA,EAAc,IAAI,IAAM,MACjCA,EAASA,EAAoB,UAAI,IAAM,YACvCA,EAASA,EAAoB,UAAI,IAAM,YACvCA,EAASA,EAAqB,WAAI,IAAM,aACxCA,EAASA,EAAkB,QAAI,IAAM,UACrCA,EAASA,EAAe,KAAI,GAAK,OACjCA,EAASA,EAAoB,UAAI,KAAO,YACxCA,EAASA,EAAgB,MAAI,IAAM,QACnCA,EAASA,EAAmB,SAAI,IAAM,WACtCA,EAASA,EAAuB,aAAI,KAAO,eAC3CA,EAASA,EAAgB,MAAI,KAAO,QACpCA,EAASA,EAAiB,OAAI,IAAM,SACpCA,EAASA,EAAgB,MAAI,KAAO,QACpCA,EAASA,EAAe,KAAI,IAAM,OAClCA,EAASA,EAAiB,OAAI,IAAM,SACpCA,EAASA,EAAc,IAAI,IAAM,MACjCA,EAASA,EAAgB,MAAI,IAAM,QACnCA,EAASA,EAAiB,OAAI,KAAO,SACrCA,EAASA,EAAkB,QAAI,IAAM,UACrCA,EAASA,EAAkB,QAAI,KAAO,UACtCA,EAASA,EAAiB,OAAI,IAAM,SACpCA,EAASA,EAAuB,aAAI,KAAO,eAC3CA,EAASA,EAAoB,UAAI,KAAO,YACxCA,EAASA,EAAqB,WAAI,KAAO,aACzCA,EAASA,EAAqB,WAAI,KAAO,aACzCA,EAASA,EAAqB,WAAI,KAAO,aACzCA,EAASA,EAAoB,UAAI,KAAO,YACxCA,EAASA,EAAoB,UAAI,KAAO,YACxCA,EAASA,EAAoB,UAAI,KAAO,YACxCA,EAASA,EAAoB,UAAI,KAAO,YACxCA,EAASA,EAAoB,UAAI,KAAO,YACxCA,EAASA,EAAoB,UAAI,KAAO,YACxCA,EAASA,EAAoB,UAAI,KAAO,YACxCA,EAASA,EAAoB,UAAI,KAAO,YACxCA,EAASA,EAAe,KAAI,IAAM,OAClCA,EAASA,EAAiB,OAAI,IAAM,SACpCA,EAASA,EAAe,KAAI,IAAM,OAClCA,EAASA,EAAgB,MAAI,KAAO,QACpCA,EAASA,EAAiB,OAAI,KAAO,SACrCA,EAASA,EAAkB,QAAI,KAAO,UACtCA,EAASA,EAAkB,QAAI,IAAM,UACrCA,EAASA,EAAkB,QAAI,IAAM,UACrCA,EAASA,EAAkB,QAAI,IAAM,UACrCA,EAASA,EAAkB,QAAI,IAAM,UACrCA,EAASA,EAAkB,QAAI,KAAO,UACtCA,EAASA,EAAkB,QAAI,KAAO,UACtCA,EAASA,EAAkB,QAAI,KAAO,UACtCA,EAASA,EAAkB,QAAI,KAAO,UACtCA,EAASA,EAAkB,QAAI,KAAO,UACtCA,EAASA,EAAkB,QAAI,KAAO,UACtCA,EAASA,EAAuB,aAAI,KAAO,eAC3CA,EAASA,EAAoB,UAAI,KAAO,YACxCA,EAASA,EAAsB,YAAI,KAAO,cAC1CA,EAASA,EAAyB,eAAI,KAAO,iBAC7CA,EAASA,EAAqB,WAAI,KAAO,aACzCA,EAASA,EAAsB,YAAI,KAAO,cAC1CA,EAASA,EAAmB,SAAI,IAAM,WACtCA,EAASA,EAAiB,OAAI,IAAM,SACpCA,EAASA,EAAiB,OAAI,KAAO,SACrCA,EAASA,EAAgB,MAAI,IAAM,QACnCA,EAASA,EAAgB,MAAI,KAAO,QACpCA,EAASA,EAAqB,WAAI,KAAO,aACzCA,EAASA,EAAgB,MAAI,IAAM,QACnCA,EAASA,EAAgB,MAAI,IAAM,QACnCA,EAASA,EAAc,IAAI,GAAK,MAChCA,EAASA,EAAgB,MAAI,KAAO,QACpCA,EAASA,EAAsB,YAAI,IAAM,cACzCA,EAASA,EAAuB,aAAI,KAAO,eAC3CA,EAASA,EAAuB,aAAI,IAAM,eArE9C,CAsEGA,IAAaA,EAAW,K,cCtEpB,MAAM,UAAuB,IAChC,cACI5tB,SAAS7C,WAETO,KAAKs2K,iBAAmB,GAExBt2K,KAAKu2K,eAAgB,EAErBv2K,KAAKw2K,UAAW,EAEhBx2K,KAAKy2K,cAAgB,GAErBz2K,KAAKixF,eAAiB,IAAI98E,OAAO6pD,eAAe,OAAA2rG,EAAA,GAAS3pK,KAAK02K,kBAAkBxgK,KAAKlW,MAAO,MAE5FA,KAAK22K,eAAkBC,IACnB,MAAM34F,EAAS24F,EAAY1pG,GAC3BltE,KAAKi1E,SAAWgJ,EAChBj+E,KAAKmkI,OAAOyyC,GACZ52K,KAAKw2K,UAAW,GAEpBx2K,KAAK62K,kBAAoB,CAAC5wI,EAAO2wI,KAC7B,MAAM,QAAE/xG,GAAY5+B,EDkEJ,KCjEZ4+B,GDgHY,KChHgBA,IAGhC7kE,KAAK22K,eAAeC,GACpB3wI,EAAMutC,mBAGVxzE,KAAK82K,mBAAsB7wI,IACvBA,EAAM8lE,mBACgB,IAAlB/rG,KAAKw2K,SACLx2K,KAAK+2K,mBAGL/2K,KAAKg3K,oBAGbh3K,KAAKmkI,OAAU8yC,IACXj3K,KAAKohH,MAAM,SAAU,CAAEw1D,YAAaK,KAExCj3K,KAAKk3K,eAAkBjxI,IACfA,EAAMzlC,kBAAkB,GAG5BR,KAAK+2K,oBAMb,oBACIz0K,MAAM2iH,oBACNjlH,KAAKixF,eAAe3yB,QAAQt+D,KAAKm3K,cAKrC,uBACI70K,MAAMo9J,uBACN1/J,KAAKixF,eAAezhD,aAOxB,YAAY9D,EAAUD,GACbA,GAAaA,EAAS/rC,SAG3BM,KAAKi1E,SAAW,KAChBxpC,EAASrgC,QAAQ,CAAC1G,EAAMC,KACpBD,EAAKwoE,GAAKxoE,EAAKwoE,IAAM,OAAOvoE,EACvB3E,KAAKi1E,WAA8B,IAAlBvwE,EAAK26C,WACvBr/C,KAAKi1E,SAAWvwE,EAAKwoE,MAGzBxhC,GACAh3B,sBAAsB,KAElB,GADA1U,KAAK02K,oBACD12K,KAAKi1E,SAAU,CACf,MAAM4F,EAAgB76E,KAAKm3K,aAAazyG,cAAc,IAAI1kE,KAAKi1E,UAC/D4F,GAAiBA,EAAcxkD,YAK/C,mBACIr2B,KAAKw2K,UAAW,EAChB5mI,SAASj7B,iBAAiB,QAAS3U,KAAKk3K,gBAE5C,mBACIl3K,KAAKw2K,UAAW,EAChB5mI,SAASkS,oBAAoB,QAAS9hD,KAAKk3K,gBAE/C,oBACIl3K,KAAKy2K,cAAgB,GACrBz2K,KAAKw2K,UAAW,EAChB,IAAIrrJ,EAAQ,EACZ,MAAMisJ,EAAiBp3K,KAAKm3K,aAAaE,YACzCn0K,MAAMs2C,KAAKx5C,KAAKm3K,aAAa/yK,UAAUgH,QAAQ,CAACksK,EAAY3yK,KACxD,MAAMsyK,EAAUj3K,KAAKo8B,KAAKz3B,GACrBsyK,IAGL9rJ,GAASmsJ,EAAWD,YAChBlsJ,EAAQisJ,GACRp3K,KAAKy2K,cAAc1uK,KAAKkvK,GACxBK,EAAW9qH,UAAU39C,IAAI,WAGzByoK,EAAW9qH,UAAU0M,OAAO,aAGpCl5D,KAAKu2K,gBAAkBv2K,KAAKy2K,cAAc/2K,QAGlD,YAAW,CACPgpB,EAAA,GACD,EAAe9oB,UAAW,YAAQ,GACrC,YAAW,CACP8oB,EAAA,GACD,EAAe9oB,UAAW,wBAAoB,GACjD,YAAW,CACP8oB,EAAA,GACD,EAAe9oB,UAAW,gBAAY,GACzC,YAAW,CACP8oB,EAAA,GACD,EAAe9oB,UAAW,qBAAiB,GAC9C,YAAW,CACP8oB,EAAA,GACD,EAAe9oB,UAAW,gBAAY,GACzC,YAAW,CACP8oB,EAAA,GACD,EAAe9oB,UAAW,qBAAiB,GAC9C,YAAY,EAAgB,K,8DC1IrB,MAAM,UAA2B,IACpC,cACI0C,SAAS7C,WACTO,KAAKm2B,QAAS,GAGtB,YAAW,CACP,YAAK,CAAElF,KAAM,aACd,EAAmBrxB,UAAW,cAAU,G,yCCRpC,MAAM23K,EAA2B,GAAI;MACtC,OAAAjmJ,EAAA,GAAQ;;;;;;;;;;;;;;;iBAeG,IAA8BG;gBAC/B,IAA8BA;;;;;wBAKtB,IAAyBA;iBAChC,IAAgCA;gBACjC,IAAgCA;;;;;wBAKxB,IAAwBA;;;;wBAIxB,IAAyBA;;;;wBAIzB,IAAyBA;;;;wBAIzB,IAAgCA;;;eAGzC;;wBAES,IAAqBA;;;;;;;;;;EAU3CC,cAAc,IAA0B,IAAyB,IAAwB,IAA2B,IAA0B,IAA0B,IAAyB,IAAsB,IAA+B,KCzD3O8lJ,EAA6B,GAAK;;;oBAG3BpvK,GAAKA,EAAEqvK;gBACXrvK,GAAKA,EAAE45C;oBACH55C,GAAKA,EAAEsvK;gBACXtvK,GAAKA,EAAEuvK;0BACGvvK,GAAKA,EAAEwvK;eAClBxvK,GAAKA,EAAEyvK;kBACJzvK,GAAKA,EAAE5H;gBACT4H,GAAKA,EAAEwQ;;;;UAIb;;;;;ECRV,IAAI,EAAyB,cAAqC,IAElE,EAAyB,YAAW,CAChC,YAAc,CACVnW,KAAM,4BACN0vB,SAAA,EACAhwB,OAAA,EACA6yG,cAAe,CACX8iE,gBAAgB,MAGzB,G,cCZH,IACA,MACMC,EAAkB,GAAK;8CACiB3vK,GAAKA,EAAE4vK,mBAAqB;;kBAExD5vK,GAAKA,EAAE8kE;oBACL9kE,GAAKA,EAAE45C;;qBAEN,CAAC55C,EAAGxH,IAAMwH,EAAE8kE,KAAOtsE,EAAEiyB,OAAOoiD,UAAY;sBACvC,CAAC7sE,EAAGxH,IAAMA,EAAEiyB,OAAO8jJ,eAAevuK;yBAC/B,CAACA,EAAGxH,IAAMA,EAAEiyB,OAAOgkJ,kBAAkBj2K,EAAEqlC,MAAO79B;;cAEzDA,GAAKA,EAAEkpB;;;EAIf2mJ,EAAiB,GAAK;;;cAfH;;sBAoBH7vK,GAAKA,EAAEkuK,iBAAiB4B,uBAAyB;iBACtD9vK,GAAKA,EAAEkuK,iBAAiB4B,uBAAyB;;yBAEzC9vK,GAAMA,EAAEouK,SAAW,OAAS;iBACpC,CAACpuK,EAAGxH,IAAMwH,EAAE0uK,mBAAmBl2K,EAAEqlC;;UAExC;;EAGJkyI,EAAmB,GAAK;;gBAEd/vK,GAAMA,EAAEmuK,cAAgB,oBAAsB;;UAEpD0B;;oBAEU7vK,GAAMA,EAAEouK,SAAW,eAAiB;;+BAnC/B;;cAuCX,OAAArqC,EAAA,GAAO/jI,GAAKA,EAAEquK,cAAesB;;;EAI9BK,EAAyB,GAAK;;uCAEJ,OAAAh1K,EAAA,GAAI;cAC7B,OAAA+oI,EAAA,GAAO/jI,GAAKA,EAAEg0B,KAAM27I;;UAExBI;;cAEI;;;0BCvDd,MAAMrgJ,EAAM,GAAI;;;;;;;;;;;;;;EAeV4B,EAAM,GAAI;;;;;;;;;;;;;;;;;;EAmBH2+I,EAAuB,GAAI;MAClC,OAAA/mJ,EAAA,GAAQ;;iBAEG,IAA8BG;gBAC/B,IAA8BA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA6CxB,IAA6BA;;;UAGzCsvI,EAAA;;;;;;;;;;;;;EAaRrvI,cAAc,IAA8B,IAA+B,IAA+B,IAAI,IAA8BoG,EAAK4B,IC9FnJ,IAAI,EAAqB,cAAiC,IAE1D,EAAqB,YAAW,CAC5B,YAAc,CACVj3B,KAAM,uBACN0vB,SAAA,EACAhwB,OAAA,KAEL,I,4ICLI,MAAM,UAAe,IACxB,cACIG,SAAS7C,WACTO,KAAK+iB,MAAQ6sB,SAAShX,cAAc,SAIpC54B,KAAKs4K,iBAAmB,KACpB,IAAKt4K,KAAKi0F,KACN,OAEJ,MAAM36B,EAAWt5D,KAAK+iB,MAAM+yF,YACvBx8C,GACDh3D,MAAM4iH,cAIyB,mBAA5BllH,KAAKi0F,KAAKskF,cACXv4K,KAAKi0F,KAAKskF,cAAcv4K,KAAK+iB,OAC7B/iB,KAAK+iB,MAAMy1J,QACZl/G,GACDh3D,MAAMm2K,eAMdz4K,KAAK04K,gBAAkB,KACnB,IAAIlzD,EACiB,QAApBA,EAAKxlH,KAAKi0F,YAAyB,IAAPuxB,GAAyBA,EAAGmzD,SAGjE,oBACQ34K,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAM61J,WAAa54K,KAAK64K,YAGrC,qBACQ74K,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAM+1J,YAAc94K,KAAK+4K,aAGtC,oBACQ/4K,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAMi2J,WAAah5K,KAAKi5K,YAGrC,wBACQj5K,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAMm2J,eAAiBl5K,KAAKm5K,gBAGzC,oBACQn5K,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAMq2J,WAAap5K,KAAKq5K,YAGrC,YAAYrjG,EAAUn0E,GACd7B,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAMnK,KAAO5Y,KAAK4Y,MAElB,WAAT/W,GAAqB7B,KAAK2U,iBAAiB,QAAS3U,KAAKs4K,kBAC5C,WAAbtiG,GAAyBh2E,KAAK8hD,oBAAoB,QAAS9hD,KAAKs4K,kBACvD,UAATz2K,GAAoB7B,KAAK2U,iBAAiB,QAAS3U,KAAK04K,iBAC3C,UAAb1iG,GAAwBh2E,KAAK8hD,oBAAoB,QAAS9hD,KAAK04K,iBAKnE,oBACIp2K,MAAM2iH,oBACNjlH,KAAK+iB,MAAMmpB,aAAa,OAAQlsC,KAAK4Y,OAG7C,YAAW,CACP,YAAK,CAAEqY,KAAM,aACd,EAAOrxB,UAAW,iBAAa,GAClC,YAAW,CACP,YAAK,CAAEmxB,UAAW,UACnB,EAAOnxB,UAAW,cAAU,GAC/B,YAAW,CACP,KACD,EAAOA,UAAW,kBAAc,GACnC,YAAW,CACP,KACD,EAAOA,UAAW,mBAAe,GACpC,YAAW,CACP,KACD,EAAOA,UAAW,kBAAc,GACnC,YAAW,CACP,YAAK,CAAEqxB,KAAM,aACd,EAAOrxB,UAAW,sBAAkB,GACvC,YAAW,CACP,KACD,EAAOA,UAAW,kBAAc,GACnC,YAAW,CACP,KACD,EAAOA,UAAW,YAAQ,GAMtB,MAAM,UAA4B,KAEzC,YAAW,CACP,YAAK,CAAEmxB,UAAW,gBAAiBE,KAAM,cAC1C,EAAoBrxB,UAAW,oBAAgB,GAClD,YAAW,CACP,YAAK,CAAEmxB,UAAW,eAAgBE,KAAM,cACzC,EAAoBrxB,UAAW,mBAAe,GACjD,YAAY,EAAQ,IAAU,GCpHvB,MAAM05K,E,QAAiB,CAAK;;;;sBAIblxK,GAAKA,EAAEkiG;qBACRliG,GAAKA,EAAE49C;gBACZ59C,GAAKA,EAAEmxK;sBACDnxK,GAAKA,EAAEywK;uBACNzwK,GAAKA,EAAE2wK;sBACR3wK,GAAKA,EAAE6wK;0BACH7wK,GAAKA,EAAE+wK;sBACX/wK,GAAKA,EAAEixK;gBACbjxK,GAAKA,EAAE3F;gBACP2F,GAAKA,EAAEwQ;iBACNxQ,GAAKA,EAAEzG;uBACDyG,GAAKA,EAAEoxK;qBACTpxK,GAAKA,EAAEqxK;yBACHrxK,GAAKA,EAAEsxK;wBACRtxK,GAAKA,EAAEuxK;4BACHvxK,GAAKA,EAAEwxK;wBACXxxK,GAAKA,EAAEyxK;yBACNzxK,GAAKA,EAAE0xK;6BACH1xK,GAAKA,EAAE2xK;yBACX3xK,GAAKA,EAAE4xK;uBACT5xK,GAAKA,EAAE6xK;yBACL7xK,GAAKA,EAAE8xK;uBACT9xK,GAAKA,EAAE+xK;wBACN/xK,GAAKA,EAAEgyK;6BACFhyK,GAAKA,EAAEiyK;sBACdjyK,GAAKA,EAAEokE;2BACFpkE,GAAKA,EAAEkyK;qBACblyK,GAAKA,EAAEmyK;qBACPnyK,GAAKA,EAAEoyK;wBACJpyK,GAAKA,EAAEqyK;yBACNryK,GAAKA,EAAEsyK;gCACAtyK,GAAKA,EAAEuyK;;UAE7B;;;;UAIA;;MC1CCt5D,E,UACX,SAAWA,GACPA,EAAqB,OAAI,SACzBA,EAAyB,WAAI,aAC7BA,EAAuB,SAAI,WAC3BA,EAA0B,YAAI,cAC9BA,EAAyB,WAAI,aAC7BA,EAAyB,WAAI,aAC7BA,EAAyB,WAAI,aAC7BA,EAAoB,MAAI,QACxBA,EAAwB,UAAI,YAC5BA,EAAwB,UAAI,YAC5BA,EAA4B,cAAI,gBAChCA,EAAuB,SAAI,WAZ/B,CAaGA,IAAiBA,EAAe,K,oDCf5B,MAAMu5D,EAAe,GAAI;MAC1B;MACA;MACA;MACA;MACA;EACJlpJ,cAAc,IAA0B,IAAyB,IAAwB,IAAgC,IAAiC,IAA+B,IAA8B,IAA2B,IAA0B,IAA0B,IAAyB,IAAkC,IAAiC,IAAgC,IAAsB,IAAiC,IAA+B,IAA8B,IAA6B,IAA4B,YAA+B,GAAI;;;;8BAItlB2vF,EAAaw5D;gCACXx5D,EAAaM;yBACpBN,EAAaM;0BACZ37D,EAAA;;;;;8BAKIq7D,EAAaI;yBAClBJ,EAAaK;;;;8BAIRL,EAAaK;gCACXL,EAAaI;yBACpBJ,EAAaI;;;4BAGV;gCACIJ,EAAay5D;wCACLz5D,EAAaK;;;;;8BAKvBL,EAAaw5D;gCACXx5D,EAAaM;yBACpBN,EAAaM;;;;yBAIbN,EAAaI;;;;8BAIRJ,EAAaI;;;;;yBAKlBJ,EAAaM;;;;;;;gCAONN,EAAaM;;;;;;yBAMpBN,EAAay5D;;;;6BAIT;8BACCz5D,EAAaI;gCACXJ,EAAaI;yBACpBJ,EAAaK;;;;;yBAKbL,EAAaM;;YChEtC,IAAI,EAAe,cAA2B,EAC1C,kBAAkBj2E,EAAUD,GACpBC,IAAaD,IACbzrC,KAAKwsD,UAAU39C,IAAI48B,GACnBzrC,KAAKwsD,UAAU0M,OAAOxtB,IAM9B,oBACIppC,MAAM2iH,oBACDjlH,KAAKquE,aACNruE,KAAKquE,WAAa,aAI9B,YAAW,CACP,KACD,EAAazuE,UAAW,kBAAc,GACzC,EAAe,YAAW,CACtB,YAAc,CACV6C,KAAM,gBACN0vB,SAAA,EACAhwB,OAAA,EACA6yG,cAAe,CACX8iE,gBAAgB,MAGzB,I,qJClCI,MAAM,UAAiB,IAC1B,cACIx1K,SAAS7C,WACTO,KAAKukE,WAAY,EACjBvkE,KAAKokE,WAAclkE,IACf,MAAMsjD,EAAOxjD,KAAKmlE,SAId,YAAc3hB,KAAUA,EAAK6gB,SAASnkE,EAAEokE,iBACxCtkE,KAAKukE,WAAY,GAErBvkE,KAAKklE,sBAETllE,KAAKwkE,YAAetkE,IAChB,IAAK,YAAcF,KAAKmlE,UACpB,OAEJ,MAAM3hB,EAAOxjD,KAAKmlE,SACZlB,EAAcjkE,KAAKikE,YAIzB,GAAI,YAAczgB,IAASA,IAAStjD,EAAEM,OAAQ,CAK1C,MAAMikE,EAAgBjhB,EAAKkhB,cAAc,0BACnCC,EAAgBV,IAEdQ,GAEEjhB,EAAKkhB,cAAc,sBACzBC,GAAe,YAAcA,KAC7BA,EAAYtuC,QACRr2B,KAAKukE,YACLvkE,KAAKukE,WAAY,SAOrBvkE,KAAKukE,YACLvkE,KAAKukE,WAAY,IAI7BvkE,KAAK4kE,cAAiB1kE,IAClB,IAAKF,KAAK+6K,UACN,OAAO,EAEX,OAAQ76K,EAAE2kE,SACN,KAAK,IACG7kE,KAAK+6K,WAAa/6K,KAAK+6K,UAAUr7K,QACjCM,KAAK+6K,UAAU,GAAG1kJ,QAEtB,MACJ,KAAK,IACGr2B,KAAK+6K,WAAa/6K,KAAK+6K,UAAUr7K,QACjCM,KAAK+6K,UAAU/6K,KAAK+6K,UAAUr7K,OAAS,GAAG22B,QAE9C,MACJ,QACI,OAAO,IAGnBr2B,KAAKg7K,SAAW,KACZ,MAAM1nI,EAAatzC,KAAK+6K,UAAUxuJ,UAAUvsB,KAAKizE,oBACjD,IAAK,IAAIvuE,EAAO,EAAGA,EAAO1E,KAAK+6K,UAAUr7K,OAAQgF,IACzCA,IAAS4uC,GAAetzC,KAAK+6K,UAAUr2K,GAAMo6G,aAAa,aAC1D9+G,KAAK+6K,UAAUr2K,GAAMwnC,aAAa,WAAY,KAElDlsC,KAAK+6K,UAAUr2K,GAAMiQ,iBAAiB,kBAAmB3U,KAAKi7K,qBAGtEj7K,KAAKk7K,WAAa,KACd,IAAK,IAAIx2K,EAAO,EAAGA,EAAO1E,KAAK+6K,UAAUr7K,OAAQgF,IAC7C1E,KAAK+6K,UAAUr2K,GAAMo9C,oBAAoB,kBAAmB9hD,KAAKi7K,qBAGzEj7K,KAAKi7K,mBAAsB/6K,IACvB,MAAM84E,EAAe94E,EAAEM,OACnBw4E,IAAiBh5E,KAAKm7K,kBAClBn7K,KAAKm7K,kBAELn7K,KAAKm7K,gBAAgBtpI,gBAAgB,YACrC7xC,KAAKm7K,gBAAgBpkJ,UAAW,GAEpC/2B,KAAKm7K,gBAAkBniG,IAM/Bh5E,KAAKizE,mBAAsB1hD,GAChB,YAAkBA,KAAQvxB,KAAKmzE,kBAAkB5hD,GAK5DvxB,KAAKmzE,kBAAqB5hD,GACf,YAAkBA,IAA4C,SAArCA,EAAGk1B,aAAa,iBAGxD,wBAAwB/a,EAAUD,GAC1BzrC,KAAK4xB,gBAAgBkkF,cAErB91G,KAAKk7K,aACLl7K,KAAK+6K,UAAY/6K,KAAK8kE,kBACtB9kE,KAAKg7K,WAGDh7K,KAAKo7K,uBACLp7K,KAAKq7K,iBAAiBjwK,QAAQ7G,IACtB,YAAkBA,KAClBA,EAAKswB,QAAS,MAMlC,sBACI,OAAO70B,KAAKq7K,iBAAiB59F,KAAMl5E,GACxB,YAAkBA,IAASA,EAAKmgE,cAAc,sBAG7D,oBACIpiE,MAAM2iH,oBACNjlH,KAAK+6K,UAAY/6K,KAAK8kE,kBACtB,IAAI94B,YAAY,KAEZ,MAAMznC,EAAOvE,KAAKmlE,SAAST,cAAc,0BACrCngE,IACAvE,KAAKm7K,gBAAkB52K,KAG/BvE,KAAKklE,qBAET,kBACI,MAAM61G,EAAY,GAQlB,YAP8B/rK,IAA1BhP,KAAKq7K,kBACLr7K,KAAKq7K,iBAAiBjwK,QAAS1G,IACvB,YAAkBA,IAClBq2K,EAAUhzK,KAAKrD,KAIpBq2K,EAMX,qBACI,IAAK/6K,KAAKukE,WAAa,YAAcvkE,KAAKmlE,UAAW,CACjD,MAAMC,EAAiBplE,KAAK0kE,cAAc,mCACrC,YAAcU,KACfplE,KAAKukE,WAAY,KAKjC,YAAW,CACP,YAAK,CAAExzC,UAAW,4BACnB,EAASnxB,UAAW,4BAAwB,GAC/C,YAAW,CACP8oB,EAAA,GACD,EAAS9oB,UAAW,iBAAa,GACpC,YAAW,CACP8oB,EAAA,GACD,EAAS9oB,UAAW,uBAAmB,GAC1C,YAAW,CACP8oB,EAAA,GACD,EAAS9oB,UAAW,mBAAe,GACtC,YAAW,CACP8oB,EAAA,GACD,EAAS9oB,UAAW,cAAU,GACjC,YAAW,CACP8oB,EAAA,GACD,EAAS9oB,UAAW,wBAAoB,GC3LpC,MAAM,UAAsB,EAC/B,cACI0C,SAAS7C,WAETO,KAAKw2K,UAAW,EAKhBx2K,KAAKs7K,eAAkBr1I,IACnB,MAAMs1I,EAAct1I,EAAMzlC,OAAOimD,aAAa,SAC1C80H,GAAeA,EAAYzmK,SAAS,YACpC9U,KAAKw7K,aAOjB,oBACIl5K,MAAM2iH,oBACNjlH,KAAKy7K,YAAY9mK,iBAAiB,QAAS3U,KAAKs7K,gBAKpD,uBACIh5K,MAAMo9J,uBACN1/J,KAAKy7K,YAAY35H,oBAAoB,QAAS9hD,KAAKs7K,gBAKvD,WACIt7K,KAAKw2K,UAAW,EAKpB,YACIx2K,KAAKw2K,UAAW,EAOpB,qBAAqB9qI,EAAUD,GAC3B,IAAKA,GACDC,IAAaD,IACZzrC,KAAKq7K,mBACLr7K,KAAKq7K,iBAAiB37K,OACvB,OAGJ,IAAIg8K,EACJ,IAAK,MAAMC,KAAY37K,KAAKq7K,iBAAkB,CAC1C,GAAIM,EAASzuG,KAAOzhC,EAAU,CAC1BiwI,EAAkBC,EAClB,MAEJ,GAAKA,EAAS76D,YACT66D,EAAS76D,WAAWphH,SAGzBg8K,EAAkBC,EAAS76D,WAAWziC,KAAKvsC,GAASA,EAAMo7B,KAAOzhC,GAC7DiwI,GACA,MAGHA,GAAmBA,IAAoB17K,KAAKm7K,kBAG7Cn7K,KAAKm7K,iBACLn7K,KAAKm7K,gBAAgBtpI,gBAAgB,YAEzC7xC,KAAKm7K,gBAAkBO,EACvB17K,KAAKm7K,gBAAgBjvI,aAAa,WAAY,SAOlD,uBAAuBR,EAAUD,GACxBA,GAGDC,IAAaD,IACbzrC,KAAKohH,MAAM,SAAU,CAAEzsC,SAAUlpC,IACjCzrC,KAAKw7K,cAIjB,YAAW,CACP,YAAK,CAAEzqJ,UAAW,yBACnB,EAAcnxB,UAAW,yBAAqB,GACjD,YAAW,CACP,YAAK,CAAEmxB,UAAW,0BACnB,EAAcnxB,UAAW,0BAAsB,GAClD,YAAW,CACP,YAAK,CAAEmxB,UAAW,oBAAqBE,KAAM,aAC9C,EAAcrxB,UAAW,uBAAmB,GAC/C,YAAW,CACP8oB,EAAA,GACD,EAAc9oB,UAAW,qBAAiB,GAC7C,YAAW,CACP8oB,EAAA,GACD,EAAc9oB,UAAW,gBAAY,GACxC,YAAW,CACP8oB,EAAA,GACD,EAAc9oB,UAAW,uBAAmB,G,mDC/GxC,MAAMg8K,EAAsB,GAAI;MACjC,OAAAtqJ,EAAA,GAAQ;;;;;;;uBAOS;sBACD;;;;gBAIN,IAA8BG;;;;;;;sBAOxB,IAA6BA;;;;;;;sBAO7B,IAAgCA;;;;;;;;UAQ5CsvI,EAAA;sBACY,IAA6BtvI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0DjDC,cAAc,IAA+B,IAAgC,IAAsB,IAA8B,K,qDC7FnI,IACO,MAAMmqJ,EAAwB,GAAK;;;;qBAIrBzzK,GAAOA,EAAEouK,SAA2B,SAAhB;sBACnBpuK,GAAKA,EAAE0zK;0BACH1zK,GAAKA,EAAE2zK;qBACZ3zK,GAAKA,EAAE2zK;;cAEd;;;qBAGO3zK,GAAMA,EAAEouK,SAAW,UAAY,YAAapuK,GAAKA,EAAE4zK,gBAAkB,SAAW;cACvF,OAAA54K,EAAA,GAAI;;;8BAGYgF,GAAMA,EAAE4zK,gBAAkB,SAAW;;0BAEzC;;;;;kCAKQ5zK,GAAKA,EAAEozK;sCACHpzK,GAAKA,EAAE6zK;iCACZ7zK,GAAKA,EAAE6zK;;0BAEd;;;;;;;oCAOU7zK,GAAMA,EAAEm8D,UAAY,GAAK;0BACnC,OAAAnhE,EAAA,GAAI;oCACM,CAACgF,EAAGxH,IAAMwH,EAAEw8D,cAAchkE,EAAEqlC;kCAC9B,CAAC79B,EAAGxH,IAAMwH,EAAEo8D,YAAY5jE,EAAEqlC;iCAC3B,CAAC79B,EAAGxH,IAAMwH,EAAEg8D,WAAWxjE,EAAEqlC;;gCAE1B,OAAAg7E,EAAA,GAAQ;;;;;;ECpCxC,IAAI,EAAoB,cAAgC,IAExD,EAAoB,YAAW,CAC3B,YAAc,CACVx+G,KAAM,sBACN0vB,SAAA,EACAhwB,OAAA,EACA6yG,cAAe,CACX8iE,gBAAgB,MAGzB,I,0CCAY,MAXf,SAAyB5sK,EAAO4rJ,EAAQv8G,EAAUC,GAIhD,IAHA,IAAI71C,GAAS,EACTjF,EAAkB,MAATwL,EAAgB,EAAIA,EAAMxL,SAE9BiF,EAAQjF,GAAQ,CACvB,IAAIiC,EAAQuJ,EAAMvG,GAClBmyJ,EAAOt8G,EAAa74C,EAAO44C,EAAS54C,GAAQuJ,GAE9C,OAAOsvC,G,SCEM,MAPf,SAAwBtB,EAAY49G,EAAQv8G,EAAUC,GAIpD,OAHA,YAAStB,GAAY,SAASv3C,EAAOlB,EAAKy4C,GACxC49G,EAAOt8G,EAAa74C,EAAO44C,EAAS54C,GAAQu3C,MAEvCsB,G,kBCKM,MATf,SAA0Bs8G,EAAQolB,GAChC,OAAO,SAAShjI,EAAYqB,GAC1B,IAAI/9B,EAAO,OAAArZ,EAAA,GAAQ+1C,GAAc,EAAkB,EAC/CsB,EAAc0hI,EAAcA,IAAgB,GAEhD,OAAO1/J,EAAK08B,EAAY49G,EAAQ,YAAav8G,EAAU,GAAIC,KCX3D,EAHcr7C,OAAOS,UAGQC,eAyB7Bs8K,EAAU,GAAiB,SAASp6K,EAAQJ,EAAOlB,GACjD,EAAeX,KAAKiC,EAAQtB,GAC9BsB,EAAOtB,GAAKsH,KAAKpG,GAEjB,YAAgBI,EAAQtB,EAAK,CAACkB,OAInB,O,mDCbA,MAjBf,SAAqBuJ,EAAO8+B,GAC1B,IAAIrlC,GAAS,EACTjF,EAASwL,EAAMxL,OACf8qF,EAAY9qF,EAAS,EAGzB,IADAsqC,OAAgBh7B,IAATg7B,EAAqBtqC,EAASsqC,IAC5BrlC,EAAQqlC,GAAM,CACrB,IAAI63H,EAAO,YAAWl9J,EAAO6lF,GACzB7oF,EAAQuJ,EAAM22J,GAElB32J,EAAM22J,GAAQ32J,EAAMvG,GACpBuG,EAAMvG,GAAShD,EAGjB,OADAuJ,EAAMxL,OAASsqC,EACR9+B,GCVM,MAJf,SAAsBA,GACpB,OAAO,EAAY,YAAUA,K,SCGhB,MAJf,SAAqBguC,GACnB,OAAO,EAAY,OAAAyb,EAAA,GAAOzb,K,SCab,IALf,SAAiBA,GAEf,OADW,OAAA/1C,EAAA,GAAQ+1C,GAAc,EAAe,GACpCA,K,mECfHkjI,E,oCACX,SAAWA,GAIPA,EAAuB,UAAI,YAI3BA,EAA0B,aAAI,eARlC,CASGA,IAAgBA,EAAc,KAO1B,MAAM,UAAgB,IACzB,cACI95K,SAAS7C,WASTO,KAAKi6D,KAAOmiH,EAAY9vG,WAGhC,YAAW,CACP,KACD,EAAQ1sE,UAAW,YAAQ,GClCvB,MAAMy8K,E,QAAkB,CAAK;sBACdj0K,GAAKA,EAAE6xD;kCCHtB,MAAMqiH,EAAgB,GAAI;IAC7B,OAAAhrJ,EAAA,GAAQ;;;;;yDAK6C,IAA2BG;;EAElFC,cAAc,KCEhB,IAAI,EAAgB,cAA4B,IAEhD,EAAgB,YAAW,CACvB,YAAc,CACVjvB,KAAM,iBACN0vB,SAAA,EACAhwB,OAAA,KAEL,I,4DCCY,MAZf,SAAyB+I,EAAOvJ,EAAOq2B,EAAW6wC,GAIhD,IAHA,IAAIlkE,EAAQqzB,EAAY,EACpBt4B,EAASwL,EAAMxL,SAEViF,EAAQjF,GACf,GAAImpE,EAAW39D,EAAMvG,GAAQhD,GAC3B,OAAOgD,EAGX,OAAQ,G,kBCTNia,EAHa1b,MAAMtD,UAGCgf,OAwCT,MA3Bf,SAAqB1T,EAAOypD,EAAQpa,EAAUsuB,GAC5C,IAAI1oE,EAAU0oE,EAAa,EAAkB,IACzClkE,GAAS,EACTjF,EAASi1D,EAAOj1D,OAChBiK,EAAOuB,EAQX,IANIA,IAAUypD,IACZA,EAAS,YAAUA,IAEjBpa,IACF5wC,EAAO,YAASuB,EAAO,YAAUqvC,OAE1B51C,EAAQjF,GAKf,IAJA,IAAIs4B,EAAY,EACZr2B,EAAQgzD,EAAOhwD,GACfqkE,EAAWzuB,EAAWA,EAAS54C,GAASA,GAEpCq2B,EAAY73B,EAAQwJ,EAAMq/D,EAAUhxC,EAAW6wC,KAAgB,GACjEl/D,IAASuB,GACX0T,EAAO9e,KAAK6J,EAAMquB,EAAW,GAE/BpZ,EAAO9e,KAAKoL,EAAO8sB,EAAW,GAGlC,OAAO9sB,GCnBM,MANf,SAAiBA,EAAOypD,GACtB,OAAQzpD,GAASA,EAAMxL,QAAUi1D,GAAUA,EAAOj1D,OAC9C,EAAYwL,EAAOypD,GACnBzpD,GCCFqxK,EAAO,YAAS,GAEL,O,uFCbA,MAJf,SAAgBn1J,EAAQC,GACtB,OAAOA,EAAK3nB,OAAS,EAAI0nB,EAAS,YAAQA,EAAQ,YAAUC,EAAM,GAAI,K,SCOzD,MANf,SAAmBD,EAAQC,GAGzB,OAFAA,EAAO,YAASA,EAAMD,GAEL,OADjBA,EAAS,EAAOA,EAAQC,YACQD,EAAO,YAAM,OAAAioB,EAAA,GAAKhoB,M,kBCDrC,MAJf,SAAyB1lB,GACvB,OAAO,OAAAsB,EAAA,GAActB,QAASqN,EAAYrN,G,kBCsBxC66K,EAAO,aAAS,SAASp1J,EAAQ24E,GACnC,IAAIh+F,EAAS,GACb,GAAc,MAAVqlB,EACF,OAAOrlB,EAET,IAAIi8F,GAAS,EACb+B,EAAQ,YAASA,GAAO,SAAS14E,GAG/B,OAFAA,EAAO,YAASA,EAAMD,GACtB42E,IAAWA,EAAS32E,EAAK3nB,OAAS,GAC3B2nB,KAET,YAAWD,EAAQ,YAAaA,GAASrlB,GACrCi8F,IACFj8F,EAAS,YAAUA,EAAQoqH,EAAwD,IAGrF,IADA,IAAIzsH,EAASqgG,EAAMrgG,OACZA,KACL,EAAUqC,EAAQg+F,EAAMrgG,IAE1B,OAAOqC,KAGM,O,sNChCA,ICxBJ06K,EDwBI,EAnBA,CACXC,QAASv9K,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAO,GAAI,YAAoB,OAAQ,eAA0B,CAAE,cAAe,YAAK,YAAS,IAAiB,YAAS,IAAmB,KAAM,aAAc,aAAckyB,QAAS,eAAgB,aAAc,WAAa,eAAgC,eAAsB,CAAEpsB,WAHlX,UAGsZ2kB,OAAQ,IAAW,YAAa,OAAQojC,QAAS,QAAS,kBAAmB,SAAW,YAAkB,CACvhB,eAAgB,OACf,CAAE,CAAC,KAAuB,CACvB37B,QAAS,SACT,eAAgB,SAExBqrJ,iBAAkB,CACdz3K,WAVuB,UAWvBG,MAAO,YAAoB,IAXJ,YAa3Bu3K,qBAAsB,CAClB13K,WAb2B,UAc3BG,MAAO,YAAoB,IAdA,YAgB/Bw3K,sBAAuB19K,OAAOC,OAAO,CAAE8F,WAAY,YAAuB,IAAM,KAAQG,MAAO,YAAsB,IAAM,KAAQD,OAAQ,OAAAuC,EAAA,GAAO,gBAAiB,YAAK,KAAe,YAAmB,IAAM,OAAW,YAAkB,CACzO,aAAc,OAAAA,EAAA,GAAO,uBAAwB,YAAK,YAAS,IAAmB,MAAgB,S,kCCpBtG,SAAW80K,GACPA,EAA2B,QAAI,UAC/BA,EAA+B,YAAI,cACnCA,EAAgC,aAAI,eAHxC,CAIGA,IAAsBA,EAAoB,K,YCA7C,MAAM,UAAgB,IAClB,cACIn6K,SAAS7C,WACTO,KAAK2D,aAAe,CAChB0qE,gBAAY,EACZlC,WAAO,EACPpS,oBAAgB,GAMxB,SACI,OAAQ,IAAMnhC,cAAc,UAAWz5B,OAAOC,OAAO,GAAIY,KAAKg6D,iBAAkB,CAAEj2D,UAAW/D,KAAKk6D,uBAAyBl6D,KAAKwD,MAAM2oE,OAK1I,qBACI,MAAM,QAAEuwG,EAAO,iBAAEC,EAAgB,qBAAEC,EAAoB,sBAAEC,GAA2B78K,KAAKwD,MAAMu2D,eACzF+iH,EAAiB98K,KAAKwD,MAAM6qE,aAAeouG,EAAkBM,YAC7DH,EACA58K,KAAKwD,MAAM6qE,aAAeouG,EAAkBO,aACxCH,EACAF,EACV,OAAOr6K,MAAM43D,mBAAmB,YAAWwiH,EAASI,KAG5D,EAAQ7xJ,aAAe,CACnBojD,WAAYouG,EAAkBz1D,QAC9BjtD,eAAgB,IAEpB,EAAQv3D,YAAc,UACP,QC7Bf,MAAM,EAAU,YAAU,EAAV,CAAyB,I,mICNlC,MAAM,UAAkB,IAC3B,cACIF,SAAS7C,WACTO,KAAK+iB,MAAQ6sB,SAAShX,cAAc,SAExC,kBACQ54B,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAM87F,SAAW7+G,KAAK6+G,UAGnC,sBACQ7+G,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAMk6J,aAAej9K,KAAKi9K,cAGvC,mBACQj9K,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAMunF,UAAYtqG,KAAKsqG,WAGpC,qBACQtqG,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAMu1D,YAAct4E,KAAKs4E,aAGtC,mBACQt4E,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAMm6J,UAAYl9K,KAAKm9K,WAGpC,mBACQn9K,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAMq6J,UAAYp9K,KAAKq9K,WAGpC,cACQr9K,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAMinB,KAAOhqC,KAAKgqC,MAG/B,oBACQhqC,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAMu6J,WAAat9K,KAAKs9K,YAGrC,yBACIt9K,KAAK2sD,aAAaH,UAAUC,OAAO,MAAOzsD,KAAK84C,IAAI4T,gBAAgBhtD,OAAS,GAKhF,eAMQM,KAAK4xB,gBAAgBkkF,aACrB91G,KAAKglH,aAAahlH,KAAK2B,OAEvB3B,KAAK+iB,iBAAiBs2B,cACtBr5C,KAAK+iB,MAAMphB,MAAQ3B,KAAK2B,OAE5B3B,KAAKohH,MAAM,UAKf,eACI,IAAIoE,EACiB,QAApBA,EAAKxlH,KAAKi0F,YAAyB,IAAPuxB,GAAyBA,EAAGG,SAK7D,oBACIrjH,MAAM2iH,oBACFjlH,KAAKsqG,WACLtqG,KAAKq2B,QAETr2B,KAAKglH,aAAahlH,KAAK2B,MAAO3B,KAAK2B,OAKvC,kBACQ3B,KAAKu9K,SAAWv9K,KAAKu9K,QAAQ57K,QAC7B3B,KAAK2B,MAAQ3B,KAAKu9K,QAAQ57K,QAItC,YAAW,CACP,YAAK,CAAEovB,UAAW,WAAYE,KAAM,aACrC,EAAUrxB,UAAW,gBAAY,GACpC,YAAW,CACP,KACD,EAAUA,UAAW,oBAAgB,GACxC,YAAW,CACP,YAAK,CAAEqxB,KAAM,aACd,EAAUrxB,UAAW,iBAAa,GACrC,YAAW,CACP,KACD,EAAUA,UAAW,mBAAe,GACvC,YAAW,CACP,YAAK,CAAEqyB,UAAW,OACnB,EAAUryB,UAAW,iBAAa,GACrC,YAAW,CACP,YAAK,CAAEqyB,UAAW,OACnB,EAAUryB,UAAW,iBAAa,GACrC,YAAW,CACP,YAAK,CAAEqyB,UAAW,OACnB,EAAUryB,UAAW,YAAQ,GAChC,YAAW,CACP,YAAK,CAAEqxB,KAAM,aACd,EAAUrxB,UAAW,kBAAc,GACtC,YAAW,CACP,YAAK,CAAEqxB,KAAM,aACd,EAAUrxB,UAAW,iBAAa,GACrC,YAAW,CACP8oB,EAAA,GACD,EAAU9oB,UAAW,2BAAuB,GAC/C,YAAY,EAAW,K,+BCxHvB,EACO,MAAM49K,EAAoB,GAAK;;;yBAGbp1K,GAAKA,EAAEisC;yBACPjsC,GAAKA,EAAE49C;yBACP59C,GAAKA,EAAEy2G;sBACVz2G,GAAKA,EAAE6yB;oBACT7yB,GAAMA,EAAE49C,SAAW,KAAO;;cAEhC59C,GAAMA,EAAEy2G,SAAW,WAAa;cAChCz2G,GAAMA,EAAEq1K,UAAY,UAAY;;;;cAIhC;;;;;sBAKQr1K,GAAKA,EAAE8kE;yBACJ9kE,GAAKA,EAAE6yB;wBACR7yB,GAAKA,EAAE3F;yBACN2F,GAAKA,EAAEs1K;8BACFt1K,GAAKA,EAAEkwE;+BACNlwE,GAAKA,EAAE60K;4BACV70K,GAAKA,EAAEisC;4BACPjsC,GAAKA,EAAE49C;4BACP59C,GAAKA,EAAEy2G;6BACNz2G,GAAKA,EAAE+0K;6BACP/0K,GAAKA,EAAEi1K;+BACLj1K,GAAKA,EAAEk1K;0BACZl1K,GAAKA,EAAEzG;kBACf,OAAAyB,EAAA,GAAI;;;;uBAICgF,GAAMA,EAAE49C,SAAW,KAAO;0BACvB59C,GAAMA,EAAEq1K,UAAY,UAAY;sBACpCr1K,GAAKA,EAAEu1K;yBACJv1K,GAAKA,EAAEu1K;;+BAED,OAAAv6K,EAAA,GAAI;;;sBAGb,OAAAA,EAAA,GAAI;kCACQgF,GAAKA,EAAEykD;;;;;;;;;;;;;;;;sDC/ClC,MAAM+wH,E,OAAkB,CAAI;MAC7B,OAAAtsJ,EAAA,GAAQ;;;;;;UAMJyvI,EAAA;;;;sBAIY,IAA6BtvI;;;;;;;;iBAQlC,IAA8BA;;;;;;;;;;;;iBAY9B,IAA8BA;;;;;;;;;;;;eAYhC;;;;;;;;UAUoC;;;gBAGnC,IAA8BA;;;;;;;;;;;;;;sBAcxB,IAAgCA;;;;;;;;;;UAU5CsvI,EAAA;;;;;;;;;;;;4BAYkB,IAAqBtvI;;;;;;;;;;;;;;;;;;;;;;kBAsB/Bu0B,EAAA;;;;;;;;;;EAUhBt0B,cAAc,IAAsB,IAA+B,IAAiC,IAA+B,KCnHrI,IAAI,EAAgB,cAA4B,IAEhD,EAAgB,YAAW,CACvB,YAAc,CACVjvB,KAAM,kBACN0vB,SAAA,EACAhwB,OAAA,EACA6yG,cAAe,CACX8iE,gBAAgB,MAGzB,I,0HCjBI,MAAM+F,EAAiB,GAAK;;;;oBAIfz1K,GAAKA,EAAEqvK;gBACXrvK,GAAKA,EAAE45C;oBACH55C,GAAKA,EAAEsvK;gBACXtvK,GAAKA,EAAEuvK;0BACGvvK,GAAKA,EAAEwvK;eAClBxvK,GAAKA,EAAEyvK;kBACJzvK,GAAKA,EAAE5H;gBACT4H,GAAKA,EAAEwQ;uBACAxQ,GAAKA,EAAEoxK;qBACTpxK,GAAKA,EAAEqxK;yBACHrxK,GAAKA,EAAEsxK;wBACRtxK,GAAKA,EAAEuxK;4BACHvxK,GAAKA,EAAEwxK;wBACXxxK,GAAKA,EAAEyxK;yBACNzxK,GAAKA,EAAE0xK;6BACH1xK,GAAKA,EAAE2xK;yBACX3xK,GAAKA,EAAE4xK;uBACT5xK,GAAKA,EAAE6xK;yBACL7xK,GAAKA,EAAE8xK;uBACT9xK,GAAKA,EAAE+xK;wBACN/xK,GAAKA,EAAEgyK;6BACFhyK,GAAKA,EAAEiyK;sBACdjyK,GAAKA,EAAEokE;2BACFpkE,GAAKA,EAAEkyK;qBACblyK,GAAKA,EAAEmyK;qBACPnyK,GAAKA,EAAEoyK;yBACHpyK,GAAKA,EAAEsyK;gCACAtyK,GAAKA,EAAEuyK;;UAE7B;;;;UAIA;;kCCzCH,MAAMmD,EAAe,GAAI;MAC1B;MACA;MACA;MACA;MACA;MACA;EACJpsJ,cAAc,IAA0B,IAAyB,IAAwB,IAAgC,IAAiC,IAA+B,IAA8B,IAA2B,IAA0B,IAA0B,IAAyB,IAAkC,IAAiC,IAAgC,IAAsB,IAAiC,IAA+B,IAA8B,IAA6B,KCMrjB,IAAI,EAAe,cAA2B,IAC1C,kBAAkBga,EAAUD,GACpBC,IAAaD,IACbzrC,KAAKwsD,UAAU39C,IAAI48B,GACnBzrC,KAAKwsD,UAAU0M,OAAOxtB,IAM9B,oBACIppC,MAAM2iH,oBACDjlH,KAAKquE,aACNruE,KAAKquE,WAAa,aAI9B,YAAW,CACP,KACD,EAAazuE,UAAW,kBAAc,GACzC,EAAe,YAAW,CACtB,YAAc,CACV6C,KAAM,gBACN0vB,SAAA,EACAhwB,OAAA,EACA6yG,cAAe,CACX8iE,gBAAgB,MAGzB,I,uIClCY,MAAM,UAAqB,IACtC,YAAYt0K,GACRlB,MAAMkB,GACNxD,KAAK2D,aAAe,CAChB01F,iBAAa,EACb0kF,mBAAe,EACflP,WAAO,EACP5zI,WAAO,EACP72B,cAAU,EACV21D,oBAAgB,EAChBhjC,cAAU,EACVyiE,qBAAiB,EACjBC,sBAAkB,EAClBC,gBAAY,GAEhB15F,KAAK87D,YAAc,IAAMC,YACzB/7D,KAAK25F,qBAAuB,IAAM59B,YAIlC/7D,KAAKwkE,YAAetkE,IAGZA,EAAEM,SAAWN,EAAEquC,gBACfvuC,KAAK2hB,SAAS,CAAE4iD,WAAW,IAGgB,mBAAhCvkE,KAAKod,QAAQumD,gBACpB3jE,KAAKod,QAAQumD,eAAe3jE,KAAK87D,eAO7C97D,KAAKokE,WAAclkE,IAEV,eAAeA,EAAEM,SAAWN,EAAEquC,eAGnCvuC,KAAK2hB,SAAS,CAAE4iD,WAAW,KAK/BvkE,KAAK4kE,cAAiB1kE,IAClB,GAAIA,EAAEM,SAAWN,EAAEquC,cAGnB,OAAQruC,EAAE2kE,SACN,KAAK,IACD7kE,KAAK45F,kBACL,MACJ,KAAK,IACD55F,KAAK65F,mBACL,MACJ,KAAK,IAED35F,EAAEszE,iBACFxzE,KAAK85F,cAAc,GACnB,MACJ,KAAK,IAED55F,EAAEszE,iBACFxzE,KAAK85F,eAAe,GACpB,MACJ,KAAK,IACD95F,KAAK+5F,eAAe75F,GACpB,MACJ,KAAK,IACDF,KAAKg6F,mBAOjBh6F,KAAKi6F,gCAAkC,KACnCj6F,KAAKk6F,aAAal6F,KAAK+a,MAAMo/E,WAKjCn6F,KAAK+5F,eAAkB75F,IACkB,mBAA1BF,KAAKwD,MAAMk2F,YAClB15F,KAAKwD,MAAMk2F,WAAW15F,KAAKwD,MAAOtD,IAM1CF,KAAKo6F,4BAA+Bl6F,IAChC,MAAMm6F,EAAer6F,KAAK25F,qBAAqBl7E,UAC1C,YAAc47E,IACd,YAAcA,IAAiBA,IAAiBn6F,EAAEM,SACnDR,KAAK+5F,eAAe75F,IAG5BF,KAAK+a,MAAQ,CACTwpD,WAAW,EACX41B,SAAUn6F,KAAKs6F,gBAAkBt6F,KAAKwD,MAAMg2F,qBAAkBxqF,GAGtE,qBACQhP,KAAKs6F,iBACLt6F,KAAK4jE,0BAA0B,GAGvC,mBAAmBjB,GAEX3iE,KAAKwD,MAAMuzB,WAAa4rC,EAAU5rC,UAClC/2B,KAAK+5F,iBAET,MAAMS,EAAgBx6F,KAAKs6F,cAAc33B,GACnC23B,EAAgBt6F,KAAKs6F,gBACvBA,IAAkBE,GAClBx6F,KAAK2hB,SAAS,CAAEw4E,SAAUn6F,KAAKwD,MAAMg2F,kBACrCx5F,KAAK4jE,0BAA0B,IAE1B42B,IAAkBF,GACvBt6F,KAAK4jE,2BAA2B,GAGxC,uBACQ5jE,KAAKs6F,iBACLt6F,KAAK4jE,2BAA2B,GAGxC,SACI,OAAQ,IAAMhrC,cAAc,MAAOz5B,OAAOC,OAAO,GAAIY,KAAKg6D,iBAAkB,CAAEC,KAAM,WAAY,gBAAiBj6D,KAAK+a,MAAMo/E,SAAU,kBAAmBn6F,KAAKwD,MAAMuzB,SAAUsuB,SAAUrlD,KAAK+a,MAAMwpD,UAAY,GAAK,EAAGxgE,UAAW/D,KAAKk6D,qBAAsB6K,QAAS/kE,KAAKwkE,YAAaQ,OAAQhlE,KAAKokE,WAAYa,UAAWjlE,KAAK4kE,cAAexhE,IAAKpD,KAAK87D,cACtV97D,KAAK2pF,aACL3pF,KAAKy6F,oBAEb,qBACI,MAAM,aAAEC,EAAY,uBAAEC,EAAsB,qBAAEC,EAAoB,uBAAEC,GAA4B76F,KAAKwD,MAAMu2D,eAC3G,OAAOz3D,MAAM43D,mBAAmB,YAAWwgC,EAAc,CAACC,EAAwB36F,KAAK+a,MAAMo/E,UAAW,CAACS,EAAsB56F,KAAKod,QAAQyX,QAAS,CAACgmE,EAAwB76F,KAAKwD,MAAMuzB,YAE7L,aACI,MAAM,2BAAE+jE,EAA0B,gCAAEC,GAAqC/6F,KAAKwD,MAAMu2D,eAC9Ex1D,EAAQ,IAAMq0B,cAAc,MAAO,CAAE70B,UAAW,YAAW+2F,GAA6B1mB,QAASp0E,KAAKo6F,6BACxG,IAAMxhE,cAAc,MAAO,CAAE70B,UAAW,YAAWg3F,IAC/C/6F,KAAKg7F,6BACLh7F,KAAK+zG,cACL/zG,KAAKwD,MAAMy3B,QACnB,MAAyC,mBAA3Bj7B,KAAKwD,MAAM61F,YACnBr5F,KAAKwD,MAAM61F,YAAY90F,GACvBA,EAEV,0BAA0B4/D,GACgC,mBAA3CnkE,KAAKod,QAAQwmD,2BACpB5jE,KAAKod,QAAQwmD,0BAA0BO,GAM/C,cAAc3gE,EAAQxD,KAAKwD,OACvB,QAASA,EAAMY,SAKnB,kBACI,GAAIpE,KAAK+a,MAAMo/E,SACXn6F,KAAKk6F,aAAY,QAEhB,GAAI,eACL,YAAcl6F,KAAK87D,YAAYr9C,UAC/B,YAAcze,KAAK87D,YAAYr9C,QAAQy8E,eAAgB,CACvD,MAAMA,EAAgBl7F,KAAK87D,YAAYr9C,QAAQy8E,cAC/C,GAAI,YAAcA,GAAgB,CAC9B,MAAMC,EAAaD,EAAcxS,QAAQ,qBACrC,YAAcyS,IACdA,EAAW9kE,UAQ3B,iBACuC,kBAAxBr2B,KAAK+a,MAAMo/E,UAGtBn6F,KAAKk6F,aAAal6F,KAAK+a,MAAMo/E,UAKjC,mBACuC,kBAAxBn6F,KAAK+a,MAAMo/E,WAGjBn6F,KAAK+a,MAAMo/E,SAIZn6F,KAAK85F,cAAc,GAHnB95F,KAAKk6F,aAAY,IAMzB,cAAct6D,GACV,IAAK,cACD,OAEJ,MAAMw7D,EAAep7F,KAAK8kE,kBACpBu2B,EAAeD,EAAaj7F,QAAQH,KAAK87D,YAAYr9C,SAC3D,IAAsB,IAAlB48E,EAAqB,CACrB,MAAMC,EAAcF,EAAaC,EAAez7D,GAC5C,YAAc07D,IACdA,EAAYjlE,SAQxB,kBACI,OAAO,cACD,YAAkBr2B,KAAKu7F,cAAe,qBACtC,GAMV,cACI,MAAMN,EAAcj7F,KAAK87D,YAAYr9C,QACrC,OAAK,YAAcw8E,IAAiB,cAG7BA,EAAYvS,QAAQ,iBAFhB,KAIf,oBAAoB8S,GAChB,MAAO,CAACh4F,EAAOtD,KACPs7F,GACAA,EAAgBh4F,EAAOtD,GAE3BF,KAAKk6F,aAAY,IAGzB,0BAA0BuB,GACtB,MAAO,CAACC,EAAeC,KACfF,GACAA,EAAsBC,EAAeC,GAErCD,GACA17F,KAAKk6F,aAAY,IAI7B,mBACI,OAAOl6F,KAAKs6F,gBAAmB,IAAM1hE,cAAc,MAAO,CAAEqhC,KAAM,QAASl2D,UAAW,YAAW/D,KAAKwD,MAAMu2D,eAAe6hC,+BAAiC,IAAMv3F,SAASC,IAAItE,KAAKwD,MAAMY,SAAW0tC,GAC5L,IAAM6tC,eAAe7tC,IAAWA,EAAMtuC,MAGpC,IAAMoqE,aAAa97B,EAAO3yC,OAAOC,OAAOD,OAAOC,OAAO,GAAI0yC,EAAMtuC,OAAQ,CAAEk2F,WAAY15F,KAAK67F,oBAAoB/pD,EAAMtuC,MAAMk2F,YAAaD,iBAAkBz5F,KAAK87F,0BAA0BhqD,EAAMtuC,MAAMi2F,qBAFjM3nD,IAGR,KAEX,gBACI,MAAMksI,EAAiB,YAAWh+K,KAAKwD,MAAMu2D,eAAekkH,oBAC5D,OAAIj+K,KAAKs6F,iBACLt6F,KAAK+a,MAAMo/E,UACyB,mBAA7Bn6F,KAAKwD,MAAMu6K,cACX/9K,KAAKwD,MAAMu6K,cAAcC,GAE7Bh+K,KAAKwD,MAAMqrK,MAAMmP,GAE5B,cACI,MAAmC,mBAArBh+K,KAAKwD,MAAMqrK,MAAuB,KAAQ,IAAMj2I,cAAc,MAAO,CAAE,cAAe,OAAQ70B,UAAW,YAAW/D,KAAKwD,MAAMu2D,eAAemkH,8BAAgCl+K,KAAKkmH,iBAErM,6BACI,MAAM,kCAAEnqB,EAAiC,2BAAEoiF,GAAgCn+K,KAAKwD,MAAMu2D,eACtF,OAAO/5D,KAAKs6F,gBAGZ,IAAM1hE,cAAc,MAAO,CAAE,eAAe,EAAM70B,UAAW,YAAWg4F,GAAoC3nB,QAASp0E,KAAKi6F,gCAAiC72F,IAAKpD,KAAK25F,sBACjK,IAAM/gE,cAAc,MAAO,CAAE1N,QAAS,YAAaE,MAAO,6BAA8BrnB,UAAW,YAAWo6K,IAC1G,IAAMvlJ,cAAc,OAAQ,CAAEj4B,EAAG,gCAAoC,KAMjF,YAAYw5F,GACJn6F,KAAKs6F,iBACLt6F,KAAK2hB,SAAS,CACVw4E,YACD,KAC4C,mBAAhCn6F,KAAKwD,MAAMi2F,kBAClBz5F,KAAKwD,MAAMi2F,iBAAiBU,EAAUn6F,KAAKwD,UAM/D,EAAaynB,aAAe,CACxBuuE,iBAAiB,EACjBz/B,eAAgB,IAEpB,EAAasJ,YAAc,I,+ICrT3B,MAAM+6G,EAAmB,YAAK,YAAI,IAAY,MA8F/B,MA7FA,CAEX1jF,aAAcv7F,OAAOC,OAAOD,OAAOC,OAAO,CAAE65C,SAAU,WAAY5zC,MAAO,IAAuBH,WAAY,KAA0B,eAAuB,YAAkB,iCAAkC/F,OAAOC,OAAO,CAAEgG,OAAQ,OAAAuC,EAAA,GAAO,gBAAiB,YAAK,KAAoB,MAAiB,OAC3Ss2K,mBAAoB,CAChB9yJ,MAAO,IACPtB,OAAQ,IACRtkB,KAAM,IACN,CAAC,KAAuB,CACpBA,KAAM,IAAkBD,aAGhC44K,4BAA6B,CACzB,eAAgB,YAAgB,cAAqB,IACrD,cAAe,YAAgB,GAAI,eACnC5sJ,QAAS,OACT,cAAe,UAGnBwpE,2BAA4B37F,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAO,CAAEkyB,QAAS,OAAQ2nB,SAAU,WAAY,aAAc,aAAcpvB,OAAQ,eAAY,eAAgC,eAAsB,CAAE,UAAW1qB,OAAOC,OAAOD,OAAOC,OAAO,CAAE8F,WAAY,KAA2B,KAAuB,CAAE,oEAC/R,CACrB,CAAC,KAAuB,CACpBK,KAAM,IAAkBI,iBAE1B,WAAY,CAClBT,WAAY,KAGhB,YAAa,CACTooD,QAAS,KACTh8B,QAAS,QACTnG,MAAO,IACP,cAAe,KAChB,CAAC,KAAuBhsB,OAAOC,OAAOD,OAAOC,OAAO,GAAI,KAA6B,CAAEiG,MAAO,IAAkBC,WAAYF,OAAQ,OAAAuC,EAAA,GAAO,wBAAyB,YAAK,UAEhLozF,gCAAiC57F,OAAOC,OAAOD,OAAOC,OAAO,CAEzD,cAAe,YAAgB,YAAkB,KAAoB,IAAK,eAAgB,YAAgB,GAAI,YAAkB,MAAqBkyB,QAAS,OAAQ,cAAe,SAAU,cAAe,UAAY,YAAoB,OAAQ,eAE1PsqE,6BAA8B,CAC1BtqE,QAAS,OACT,YAAa,cAAc8sJ,OAC3B,gCAAiC,CAC7B,YAAa,CACTjzJ,MAAO,SAKnB4wE,kCAAmC58F,OAAOC,OAAO,CAAE8F,WAAY,OAAQE,OAAQ,OAAQiiD,QAAS,OAAQl8B,MAAO,YAAK,YAAI,IAAiB,YAAS,IAAY,KAAMtB,OAAQ,YAAK,YAAI,IAAiB,YAAS,IAAY,KAAMojC,QAAS,IAAK37B,QAAS,OAAQ,kBAAmB,SAAU,cAAe,UAAY,eACxT6sJ,2BAA4B,CACxBhzJ,MAAO,IACPtB,OAAQ,IACRsjC,WAAY,uBACZ+P,UAAW,YAAgB,iBAAkB,kBAC7C,iBAAkB,OAClB33D,KAAM,IACN,CAAC,KAAuB,CACpBA,KAAM,IAAkBD,aAGhCq1F,uBAAwB,CACpB,8DAA+D,CAC3Dz9B,UAAW,YAAgB,eAAgB,kBAE/C,oCAAqC,CACjC5rC,QAAS,UAGjBupE,uBAAwB,CACpB,kCAAmC17F,OAAOC,OAAO,CAAE8F,WAAY,KAA8B,KAC7F,WAAY/F,OAAOC,OAAOD,OAAOC,OAAO,CAAEkuD,QAAS,KAAMh8B,QAAS,QAAS2nB,SAAU,WAAYokB,IAAK,YAAK,YAAO,YAAS,cAAgB,YAAoB,OAAQ,IAAKlyC,MAAO,MAAOtB,OAAQ,YAAsB,MAAO3kB,WAAY,YAAqB,KAA6BsoD,KAAM,YAAgB,YAAK,KAAoB,SAAUC,MAAO,YAAgB,QAAS,YAAK,OAAuB,eAAsB,KACxa,gIACmE,CAC/D,CAAC,KAAuB,CACpBloD,KAAM,IAAkBI,gBAIpCi1F,qBAAsB,CAClB,qCAAsC,CAClC3hD,SAAU,WAEV,cAAe,YAAgB,YAAK,YAAI,IAAiB,YAAS,IAAY,KAAM,IACpF,eAAgB,YAAgB,GAAI,YAAK,YAAI,IAAiB,YAAS,IAAY,OAEvF,uCAAwC,CACpCA,SAAU,WAEVuU,KAAM,YAAgB,YAAK,YAAS,YAAI,IAAiB,YAAS,IAAY,KAAM,IAAK,IACzFC,MAAO,YAAgB,GAAI,YAAK,YAAS,YAAI,IAAiB,YAAS,IAAY,KAAM,Q,QCnFrG,MAAM,EAAe,YAAU,EAAV,CAA8B,I,mECTxC4wH,EAKAC,E,6EAJX,SAAWD,GACPA,EAAYA,EAAgB,GAAI,GAAK,KACrCA,EAAYA,EAAgB,GAAI,GAAK,KAFzC,CAGGA,IAAgBA,EAAc,KAEjC,SAAWC,GACPA,EAAc,EAAI,IAClBA,EAAiB,KAAI,OACrBA,EAAoB,QAAI,UACxBA,EAAuB,WAAI,aAJ/B,CAKGA,IAAeA,EAAa,KCJ/B,MAAM,UAAgB,IAClB,cACIh8K,SAAS7C,WACTO,KAAK2D,aAAe,CAChBqmC,UAAM,EACN+vB,oBAAgB,EAChBhmB,SAAK,GAMb,SACI,OAAQ,IAAMnb,cAAc,IAAYz5B,OAAOC,OAAO,GAAIY,KAAKg6D,iBAAkB,CAAEjmB,IAAK,IAAc/zC,KAAKwD,MAAMuwC,KAAM/J,KAAMhqC,KAAKgqC,OAAQjmC,UAAW/D,KAAKk6D,uBAAyBl6D,KAAKwD,MAAMY,UAElM,qBACI,OAAO9B,MAAM43D,mBAAmB,YAAWl6D,KAAKwD,MAAMu2D,eAAe0lD,QAAS,CAC1Ez/G,KAAKwD,MAAMu2D,eAAe,YAAY/5D,KAAKwD,MAAMwmC,OACjD,KAGR,OACI,OAAOhqC,KAAKwD,MAAMwmC,OAASq0I,EAAYE,GAAK,IAAeC,GAAK,IAAeC,IAGvF,EAAQxzJ,aAAe,CACnB8oB,IAAKuqI,EAAW3+K,EAChBqqC,KAAMq0I,EAAYtyG,GAClBhS,eAAgB,IAEpB,EAAQv3D,YAAiB,IAAH,UACP,QC7Bf,MAAM,EAAU,YAAU,IAAV,CAAyB,I,8MCNzC,MAIMk8K,EAAqB,CACvBptJ,QAAS,cACT,cAAe,UA4NJ,MA1NA,CACX6zI,YAAa,CACTlsH,SAAU,WACViU,SAAU,SACV57B,QAAS,OACT,iBAAkB,SAClB,UAAWnyB,OAAOC,OAAOD,OAAOC,OAAO,GAAI,YAAe,IAAoBi3K,KAAM,CAAE,gCAAiC,CAC/G,kBAAmB,aACpB,uBAAwB,CACvBvwK,QAAS,SAGrB64K,8BAA+B,CAC3B90J,OAAQ,OACRyH,QAAS,OACT,iBAAkB,UAEtBu0I,qBAAsB1mK,OAAOC,OAAOD,OAAOC,OAAO,CAAE65C,SAAU,WAAY,aAAc,MAAO,aAAc,YAAK,EAAI,IAAS2lI,GAAGj1I,aAAe,YAAc,EAAG,IAASi1I,GAAGj1I,aAAc,CAAE,WAAY,CAClM,aAAc,OAAAhiC,EAAA,GAAO,2BAA4B,KACjDorD,OAAQ,UACR5nC,MAAO,oBACPtB,OAAQ,UAEhBg1J,8BAA+B1/K,OAAOC,OAAOD,OAAOC,OAAO,GAAIs/K,GAAqB,CAAE,aAAc,aAAc,aAAc,WAAYzxH,QAAS,OAAO,YA/B5I,OA+BiK,YA/BjK,MA+BsL9hC,MAAO,OAAQ,aAAc,YA5BvM,MA6B5Bk7I,wBAAyB,CACrB,6BAA8B,CAC1B,WAAY,CACR,cAAe,YAAgB,MAAO,IACtC,eAAgB,YAAgB,GAAI,UAIhDyY,sBAAuB3/K,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAO,GAAI,YAAoB,OAAQ,eAA0Bs/K,GAAqB,CAAEr5K,MAAO,MACvK05K,0BAA2B,CACvBztJ,QAAS,OACT,iBAAkB,MAClB,YAAa,OACb,gBAAiB,aACjB27B,QAAS,GAAG,YA7CG,OA6CqB,YA9CxB,QA+CZ,aAAc,eAAe,YA5CL,QA8C5B64G,oBAAqB3mK,OAAOC,OAAO,CAAEkyB,QAAS,QAAS,kBAAmB,OAAQ67B,WAAY,sBAAuBhiC,MAAO,OAAQ,WAAY,CACxIkyC,IAAK,IACL5P,MAAO,IACP,UAAW,MACV,YAAkB,gCAAiC,CACxD,kBAAmB,eAEvBuxH,2BAA4B7/K,OAAOC,OAAO,GAAI,eAC9C6/K,wBAAyB,CACrBhmI,SAAU,WACV3nB,QAAS,cACT,aAAc,aACdpsB,WAAY,YAAsB,IAAM,MAE5Cg6K,kBAAmB,CACfp5K,QAAS,KAEb4/J,iBAAkBvmK,OAAOC,OAAO,CAAE+rB,MAAO,OAAQtB,OAAQ,OAAQtkB,KAAM,KAAS,KAChF45K,wBAAyBhgL,OAAOC,OAAOD,OAAOC,OAAO,CAAE65C,SAAU,YAAcylI,GAAqB,CAAEvzJ,MAAO,OAAQtB,OAAQ,OAAQ,kBAAmB,SAAU,gBAAiB,MAAO3kB,WAAY,kBAAmB,cAAe,YAAgB,OAAQ,IAAK,eAAgB,YAAgB,GAAI,QAASqoD,OAAQ,QAC1T6xH,mBAAoBjgL,OAAOC,OAAO,CAAE65C,SAAU,WAAYiU,SAAU,OAAQ57B,QAAS,OAAQ,gBAAiB,MAAO,UAAW,IAAK,kBAAmB,OAAQpsB,WAAY,OAAQE,OAAQ,OAAQ6nD,QAAS,IAAK,cAAe,UAAW,UAAW,CAC/O,+BAAgC,CAC5B,kBAAmB,eAEtB,YAAkB,+BAAgC,CACvD,kBAAmB,eAEvBoyH,yBAA0B,CACtB/tJ,QAAS,OACT,wBAAyB,WACzBnG,MAAO,QAEXm0J,sBAAuB,CACnB,cAAe,YAAgB,OAAQ,IACvC,eAAgB,YAAgB,GAAI,QACpC,aAAc,QAElBC,0BAA2B,CACvBl6K,MAAO,IACP8nD,WAAY,uBAEhBqyH,gCAAiC,CAC7B,aAAc,cAElBC,sBAAuB,GACvBC,8BAA+B,CAC3B,UAAW,CACP,gCAAiC,CAC7B,kBAAmB,UAI/BC,2BAA4B,GAC5BC,yBAA0B,CACtBtuJ,QAAS,cACT2nB,SAAU,WACVwU,MAAO,YAAgB,YAxGX,IAwG8B,IAC1CD,KAAM,YAAgB,GAAI,YAzGd,KA0GZD,OAAQ,MACR,UAAW,IACX,YAAa,IACb,kBAAmB,YAEvBsyH,uBAAwB,CACpBh2J,OAAQ,OACRsB,MAAO,OACP,cAAe,YAAgB,MAAO,IACtC,eAAgB,YAAgB,GAAI,QAExC20J,mBAAoB,CAChB,mCAAoC,CAChC,iBAAkB,OAEtB,+BAAgC,CAC5B5uG,KAAM,KAEV,6BAA8B,CAC1BoiE,MAAO,IACP,aAAc,YA9HN,IA+HR,eAAgB,YAAgB,YA/HxB,IA+H2C,IACnD,cAAe,YAAgB,GAAI,YAhI3B,MAkIZ,6BAA8B,CAC1BnoH,MAAO,OACPtB,OAAQ,OACR,eAAgB,YAAgB,MAAO,IACvC,cAAe,YAAgB,GAAI,QAEvC,sBAAuB,CACnBsB,MAAO,OACPtB,OAAQ,QAEZ,mDAAoD1qB,OAAOC,OAAO,GAAI,gBAE1E2gL,mBAAoB,GACpBC,mBAAoB,GACpBC,2BAA4B,CACxB,WAAY,CACR3yH,QAAS,KACTrU,SAAU,WACVsU,OAAQ,IACRC,KAAM,MAGd0yH,mBAAoB,CAChB,6BAA8B,CAC1BjnI,SAAU,WACV,WAAY,CACR/zC,WAAY,OAAAyC,EAAA,GAAO,iDAAkD,IAAM,KAC3EkiB,OAAQ,QACRsB,MAAO,QAEX,iCAAkC,CAC9B8tB,SAAU,SACV,aAAc,OACd,gCAAiC,CAC7B5zC,MAAO,KAEX,kDAAmD,CAC/C4zC,SAAU,WACVokB,IAAK,OACL7P,KAAM,YAAgB,OAAQ,IAC9BC,MAAO,YAAgB,GAAI,SAG/B,6BAA8B,CAC1B,eAAgB,KAEpB,sBAAuB,CACnBloD,KAAM,OAIlB,2BAA4B,CACxB,cAAe,YAAgB,IAAK,IACpC,eAAgB,YAAgB,GAAI,MAExC,6BAA8B,CAC1B+rB,QAAS,eACTi8B,OAAQ,OACRroD,WAAY,OACZimB,MAAO,OACPtB,OAAQ,OACR,gBAAiB,IACjB,cAAe,YAAgB,YAAa,IAC5C,eAAgB,YAAgB,GAAI,aACpC,eAAgB,IAChBovB,SAAU,WACV,iBAAkB,UAEtB,sBAAuB,CACnB,cAAe,YAAgB,OAAQ,IACvC,eAAgB,YAAgB,GAAI,QACpC3nB,QAAS,QACT,aAAc,OAElB,+BAAgC,CAC5B,UAAW,KAEf,mCAAoC,CAChC2nB,SAAU,WACVgU,QAAS,GAAG,YAhND,OAgNyB,YAjN5B,OAiNiD,YA/MvC,OAiNtB,qCAAsC,CAClCM,OAAQ,QAEZ,+BAAgC,CAC5B,mCAAoC,CAChC,8DAA+D,CAC3DloD,MAAO,MAGf,4BAA6BlG,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAO,CAAE,mBAAoB,eAAiB,KAA+B,CAAE,2BAA4BD,OAAOC,OAAO,CAAEmG,KAAM,KAAS,KAAyB,UAAWpG,OAAOC,OAAOD,OAAOC,OAAO,CAAE,mBAAoB,YAAwB,IAAM,MAAU,KAAkC,CAAE,2BAA4BD,OAAOC,OAAO,GAAI,OAAoC,WAAY,CAClc8F,WAAY,YAAyB,IAAM,QACzC,YAAkB/F,OAAOC,OAAOD,OAAOC,OAAO,CAAE,mBAAoB,YAAwB,IAAM,KAAQ,eAAgB,IAAO,aAAc,OAAAuI,EAAA,GAAO,sBAAuB,IAAM,MAAU,KAAkC,CAAE,2BAA4BxI,OAAOC,OAAO,GAAI,Y,4KCjOjSa,EAAkC,SAAUX,EAAGY,GAC/C,IAAIb,EAAI,GACR,IAAK,IAAIM,KAAKL,EAAOH,OAAOS,UAAUC,eAAeC,KAAKR,EAAGK,IAAMO,EAAEC,QAAQR,GAAK,IAC9EN,EAAEM,GAAKL,EAAEK,IACb,GAAS,MAALL,GAAqD,mBAAjCH,OAAOiB,sBACtB,KAAIb,EAAI,EAAb,IAAgBI,EAAIR,OAAOiB,sBAAsBd,GAAIC,EAAII,EAAED,OAAQH,IAC3DW,EAAEC,QAAQR,EAAEJ,IAAM,GAAKJ,OAAOS,UAAUS,qBAAqBP,KAAKR,EAAGK,EAAEJ,MACvEF,EAAEM,EAAEJ,IAAMD,EAAEK,EAAEJ,KAE1B,OAAOF,GAaX,MAAM,UAAoB,IACtB,YAAYmE,GACRlB,MAAMkB,GACNxD,KAAK2D,aAAe,CAChBw8K,cAAU,EACV7xE,iBAAa,EACb8xE,eAAW,EACXz4D,iBAAa,EACbC,UAAM,EACN/X,aAAS,EACTwwE,qBAAiB,EACjBx2J,YAAQ,EACR+oD,WAAO,EACPg0F,mBAAe,EACf0Z,YAAQ,EACRzZ,YAAQ,EACR0Z,cAAU,EACVxmH,oBAAgB,EAChBymH,iBAAa,EACbC,cAAU,EACVvyK,eAAW,EACXid,WAAO,GAOXnrB,KAAK0gL,2BAA6B,KAC9B1gL,KAAK2hB,SAAS,CACVg/J,kBAAmB3gL,KAAK+a,MAAM4lK,oBAMtC3gL,KAAK4gL,uBAA0B1gL,IACtB,OAAA49D,EAAA,GAAM99D,KAAKwD,MAAMg9K,cACyB,mBAApCxgL,KAAKwD,MAAMg9K,YAAYxsG,UAC9Bh0E,KAAKwD,MAAMg9K,YAAYxsG,SAAS9zE,IAGxCF,KAAK+a,MAAQ,CACT4lK,kBAAkB,GAM1B,SACI,OAAQ,IAAM/nJ,cAAc,IAAMz5B,OAAOC,OAAO,GAAIY,KAAKqsE,qBAAsB,CAAEtoE,UAAW/D,KAAKk6D,qBAAsBnmB,IAAK/zC,KAAKwD,MAAMuwC,MACnI,IAAMnb,cAAc,MAAO,CAAE70B,UAAW,YAAW/D,KAAKwD,MAAMu2D,eAAe4kH,gCACzE3+K,KAAK8nH,cACL9nH,KAAK+nH,qBACT/nH,KAAK6gL,2BAKb,qBACI,MAAM,YAAE1b,EAAW,2BAAEwa,EAA0B,8BAAED,GAAmC1/K,KAAKwD,MAAMu2D,eACzFgtG,EAAkB/mK,KAAKwD,MAAMojK,eAC9B5mK,KAAKwD,MAAMqjK,SAAW,IAAkBia,UAAY9gL,KAAKwD,MAAMovE,MACpE,OAAOtwE,MAAM43D,mBAAmB,YAAWirG,EAAa,CAACnlK,KAAKknK,yBAA0BlnK,KAAKwD,MAAMqjK,QAAS,CAAC8Y,EAA4B5Y,GAAkB,CAAC2Y,EAA+B1/K,KAAK+a,MAAM4lK,oBAE1M,qBACI,MAAMt0I,EAAaltC,OAAOC,OAAO,GAAIY,KAAKg6D,kBAC1C,OAAO76D,OAAOC,OAAOD,OAAOC,OAAO,GAAIitC,GAAa,CAAE7hC,MAAOrL,OAAOC,OAAOD,OAAOC,OAAO,GAAIitC,EAAW7hC,OAAQ,CAAEqf,OAAQ7pB,KAAKwD,MAAMqmB,OAAQsB,MAAOnrB,KAAKwD,MAAM2nB,UAEnK,uBACI,MAAM,mBAAE20J,EAAkB,mBAAEC,EAAkB,mBAAEC,EAAkB,mBAAEE,GAAwBlgL,KAAKwD,MAAMu2D,eACvG,OAAQ/5D,KAAKwD,MAAMqjK,QACf,KAAK,IAAkBka,OACnB,OAAOhB,EACX,KAAK,IAAkBiB,OACnB,OAAOhB,EACX,KAAK,IAAkBc,OACnB,OAAOZ,EACX,KAAK,IAAkBe,OACvB,QACI,OAAOnB,GAMnB,cACI,MAAM,wBAAEb,EAAuB,2BAAEgB,EAA0B,kBAAEf,GAAuBl/K,KAAKwD,MAAMu2D,eAC/F,GAAgC,mBAArB/5D,KAAKwD,MAAMovE,MAClB,OAAQ,IAAMh6C,cAAc,MAAO,CAAE70B,UAAW,YAAWk7K,EAAyBgB,IAChFjgL,KAAKwD,MAAMovE,MAAM,YAAWssG,IAC5Bl/K,KAAKwD,MAAMqjK,SAAW,IAAkBia,OAClC9gL,KAAKooH,eACL,MAMlB,oBACI,OAAQ,IAAMxvF,cAAc,MAAO,CAAE70B,UAAW/D,KAAKwD,MAAMu2D,eAAeglH,2BACtE/+K,KAAKkhL,qBACLlhL,KAAKsoH,gBACLtoH,KAAKmhL,kBAKb,qBACI,GAAInhL,KAAKwD,MAAM88K,QAA0C,mBAAzBtgL,KAAKwD,MAAM48K,UACvC,OAAQ,IAAMxnJ,cAAc,MAAO,CAAE70B,UAAW/D,KAAKwD,MAAMu2D,eAAeslH,0BACtEr/K,KAAKohL,eACLphL,KAAKqhL,mBAMjB,gBACI,IAAKrhL,KAAKwD,MAAMqsG,QACZ,OAEJ,MAAM2V,EAAKxlH,KAAK2mH,mBAAmB,SAAEviH,EAAQ,cAAEk4F,GAAkBkpB,EAAIgD,EAAevoH,EAAOulH,EAAI,CAAC,WAAY,mBACtG,oBAAEsgD,EAAmB,2BAAEma,EAA0B,2BAAEjB,GAAgCh/K,KAAKwD,MAAMu2D,eACpG,OAAQ,IAAMnhC,cAAc,UAAWz5B,OAAOC,OAAO,GAAIY,KAAKwD,MAAMmkH,YAAa,CAAE5jH,UAAW,YAAW+hK,EAAqBma,KAC1H,IAAMrnJ,cAAc,IAAYz5B,OAAOC,OAAO,GAAIopH,EAAc,CAAElsB,cAAe,EAAYqsB,wBAAwBH,EAAax+E,KAAMhqC,KAAKwD,MAAM68K,iBAAkBt8K,UAAW,YAAWi7K,KACvL56K,EACApE,KAAKwD,MAAMqjK,SAAW,IAAkBia,OAClC9gL,KAAKooH,eACL,OAKlB,iBACI,IAAKpoH,KAAKwD,MAAM28K,UACZngL,KAAKwD,MAAMojK,eACV5mK,KAAKwD,MAAMqjK,SAAW,IAAkBka,QAAU/gL,KAAKwD,MAAMovE,MAC9D,OAEJ,MAAM,qBAAEizF,EAAoB,2BAAEoa,GAAgCjgL,KAAKwD,MAAMu2D,eACzE,OAAQ,IAAMnhC,cAAc,IAAWz5B,OAAOC,OAAO,GAAIY,KAAKshL,mBAAoB,CAAEv9K,UAAW,YAAW8hK,EAAsBoa,MAKpI,eACI,IAAKjgL,KAAKwD,MAAM88K,OACZ,OAEJ,MAAM96D,EAAKxlH,KAAKwD,MAAM88K,QAAQ,SAAEl8K,GAAaohH,EAAI+7D,EAActhL,EAAOulH,EAAI,CAAC,cACrE,mBAAE45D,EAAkB,0BAAEG,GAA+Bv/K,KAAKwD,MAAMu2D,eACtE,OAAQ,IAAMnhC,cAAc,UAAYz5B,OAAOC,OAAO,GAAImiL,EAAa,CAAEx9K,UAAW,YAAWq7K,GAAqBoC,aAAcxhL,KAAK0gL,2BAA4Be,aAAczhL,KAAK0gL,6BAClL,IAAM9nJ,cAAc,IAAO,CAAE70B,UAAW,YAAWw7K,GAA4BmC,QAAQ,EAAO13I,KAAM,IAAUmsI,OAAS/xK,IAK/H,kBACI,GAAoC,mBAAzBpE,KAAKwD,MAAM48K,UAClB,OAAOpgL,KAAKwD,MAAM48K,UAAUpgL,KAAKwD,MAAMu2D,eAAeulH,uBAM9D,0BACI,OAAQ,IAAM1mJ,cAAc,MAAO,CAAE70B,UAAW,YAAW/D,KAAKwD,MAAMu2D,eAAe8kH,gCACjF7+K,KAAKuoH,oBACLvoH,KAAK2hL,kBACL3hL,KAAK4hL,sBAEb,oBACI,GAAI5hL,KAAKwD,MAAM8qG,YACX,OAAQ,IAAM11E,cAAc,IAAaz5B,OAAOC,OAAO,GAAIY,KAAKwD,MAAM8qG,YAAa,CAAEvqG,UAAW,YAAW/D,KAAKwD,MAAMu2D,eAAessG,4BAM7I,kBACI,GAAIrmK,KAAKwD,MAAM0K,UACX,OAAQ,IAAM0qB,cAAc,OAAQ,CAAE70B,UAAW,YAAW/D,KAAKwD,MAAMu2D,eAAe+kH,wBAClF9+K,KAAKwD,MAAM8qG,YAAc,IAAM11E,cAAc,OAAQ,KAAM,KAAY,KACvE,IAAMA,cAAc,OAAQ,KAAM54B,KAAKwD,MAAM0K,YAGzD,qBACI,IAAKlO,KAAKwD,MAAMi9K,WAAazgL,KAAKwD,MAAM+8K,WAAavgL,KAAKwD,MAAMg9K,YAC5D,OAEJ,MAAM,yBAAEZ,EAAwB,uBAAEC,EAAsB,qBAAEgC,EAAoB,qBAC9EC,GAA0B9hL,KAAKwD,MAAMu2D,eAC/B0mH,EAA0C,mBAAxBzgL,KAAKwD,MAAMi9K,UAC/BzgL,KAAKwD,MAAMi9K,SAAS,YAAWZ,EAAwBgC,IACrDtB,EAA0C,mBAAxBvgL,KAAKwD,MAAM+8K,UAC/BvgL,KAAKwD,MAAM+8K,SAAS,YAAWV,EAAwBiC,IAC3D,OAAQ,IAAMlpJ,cAAc,MAAO,CAAE70B,UAAW,YAAW67K,GAA2B4B,aAAcxhL,KAAK0gL,2BAA4Be,aAAczhL,KAAK0gL,4BACpJD,EACAF,EACAvgL,KAAK+hL,qBAKb,oBACI,GAAI/hL,KAAKwD,MAAMg9K,YAAa,CAExB,MAAMh7D,EAAKxlH,KAAKwD,MAAMg9K,aAAa,MAAEr0G,EAAK,SAAE6H,GAAawxC,EAAIhiH,EAAQvD,EAAOulH,EAAI,CAAC,QAAS,cACpF,sBAAEi6D,EAAqB,uBAAEI,EAAsB,gCAAEL,EAA+B,wBAAEwC,GAA6BhiL,KAAKwD,MAAMu2D,eAChI,OAAQ,IAAMnhC,cAAc,IAAez5B,OAAOC,OAAO,GAAIoE,EAAO,CAAE,aAAc2oE,EAAOpoE,UAAW,YAAW87K,EAAwBL,EAAiCwC,GAA0B5tG,QAASp0E,KAAK4gL,yBAC9M,IAAMhoJ,cAAc,IAAM,CAAE70B,UAAW,YAAW07K,OAM9D,eACI,GAA+B,mBAApBz/K,KAAKwD,MAAMokH,KAAqB,CACvC,MAAM,iBAAE89C,EAAgB,wBAAEyZ,GAA6Bn/K,KAAKwD,MAAMu2D,eAClE,OAAQ,IAAMnhC,cAAc,OAAQ,CAAE70B,UAAW,YAAWo7K,IAA4Bn/K,KAAKwD,MAAMokH,KAAK,YAAW89C,MAM3H,kBACI,MAAMuc,EAAqBjiL,KAAKwD,MAAMqjK,SAAW,IAAkBoa,OAC7D,IAAeiB,GACfliL,KAAKwD,MAAMovE,MACP,IAAem2C,GACf,IAAehC,GACzB,OAAO5nH,OAAOC,OAAO,GAAI,CAAE4qC,KAAMi4I,GAAsBjiL,KAAKwD,MAAMqsG,SAKtE,mBACI,OAAO1wG,OAAOC,OAAO,GAAI,CAAE4qC,KAAM,IAAcm4I,IAAMniL,KAAKwD,MAAM28K,WAGxE,EAAYl1J,aAAe,CACvBpB,OAAQ,QACRsB,MAAO,QACP07I,OAAQ,IAAkBoa,OAC1BlnH,eAAgB,GAChBsmH,gBAAiB,GAErB,EAAY79K,YAAc,cAI1B,EAAYmmH,wBAA0B,OAAAjlF,EAAA,GAAQ,CAACslF,EAAao5D,KAAa,CACrEt2G,WAAY3sE,OAAOC,OAAOD,OAAOC,OAAO,GAAI,YAAcgjL,EAAU,IAAS,IAAIp5D,GAAer/E,aAAc,CAAE,cAAe,SAE3HrY,QAAS,cAAe,qBAAsB,WAAY,qBAAsB8wJ,MACpF,IAAIx/K,IAASA,EAAKgC,QACP,QC9Qf,MAAM,EAAc,YAAU,EAAV,CAA6B,I,gHCP1C,SAASy9K,EAAU19K,EAAO29K,EAASC,GACtC,MAAO,CACH59K,MAAOA,EACP29K,QAASA,EACTC,WAAYA,GAsKb,SAASC,EAAY/jK,EAASgkK,EAAcC,EAAYC,EAAKC,EAAUC,GAC1E,IAAIC,EAAc,EACdC,EAAc,EAClB,MAAM3F,EAAYnhK,KAAKG,IAAIsmK,EAAaD,EAAcI,EAASD,GAW/D,GAVqB,IAAjBH,GAAmC,IAAbG,IACtBE,EArER,SAAsBrkK,EAASkkK,EAAKK,GAChC,IAAK,IAAIzjL,EAAI,EAAGA,EAAIyjL,IAAgBzjL,EAChC,GAAIkf,EAAQlf,KAAOojL,EAAIpjL,GACnB,OAAOA,EAGf,OAAOyjL,EA+DWC,CAAaxkK,EAASkkK,EAAKvF,IAEzCsF,IAAejkK,EAAQ/e,QAAUmjL,IAAWF,EAAIjjL,SAChDqjL,EAhER,SAAsBtkK,EAASkkK,EAAKK,GAChC,IAAIE,EAASzkK,EAAQ/e,OACjByjL,EAASR,EAAIjjL,OACbykE,EAAQ,EACZ,KAAOA,EAAQ6+G,GAAgBvkK,IAAUykK,KAAYP,IAAMQ,IACvDh/G,IAEJ,OAAOA,EAyDWi/G,CAAa3kK,EAASkkK,EAAKvF,EAAY0F,IAGzDF,GAAYE,EAEZD,GAAUE,GADVL,GAAcK,IAFdN,GAAgBK,IAIkB,GAAKD,EAASD,GAAa,EACzD,OAAO,IAEX,GAAIH,IAAiBC,EAAY,CAC7B,MAAM9jK,EAASyjK,EAAUI,EAAc,GAAI,GAC3C,KAAOG,EAAWC,GACdjkK,EAAO0jK,QAAQv6K,KAAK46K,EAAIC,MAE5B,MAAO,CAAChkK,GAEP,GAAIgkK,IAAaC,EAClB,MAAO,CAACR,EAAUI,EAAc,GAAIC,EAAaD,IAErD,MAAMY,EA9IV,SAA2CC,GACvC,IAAI/jL,EAAI+jL,EAAU5jL,OAAS,EACvBk1B,EAAI0uJ,EAAU,GAAG5jL,OAAS,EAC1B+e,EAAU6kK,EAAU/jL,GAAGq1B,GAC3B,MAAM2uJ,EAAQ,GACd,KAAOhkL,EAAI,GAAKq1B,EAAI,GAAG,CACnB,GAAU,IAANr1B,EAAS,CACTgkL,EAAMx7K,KArDD,GAsDL6sB,IACA,SAEJ,GAAU,IAANA,EAAS,CACT2uJ,EAAMx7K,KAzDE,GA0DRxI,IACA,SAEJ,MAAMikL,EAAYF,EAAU/jL,EAAI,GAAGq1B,EAAI,GACjCu2I,EAAOmY,EAAU/jL,EAAI,GAAGq1B,GACxBs0I,EAAQoa,EAAU/jL,GAAGq1B,EAAI,GAC/B,IAAIxY,EAEAA,EADA+uJ,EAAOjC,EACDiC,EAAOqY,EAAYrY,EAAOqY,EAG1Bta,EAAQsa,EAAYta,EAAQsa,EAElCpnK,IAAQonK,GACJA,IAAc/kK,EACd8kK,EAAMx7K,KA5EH,IA+EHw7K,EAAMx7K,KA9EF,GA+EJ0W,EAAU+kK,GAEdjkL,IACAq1B,KAEKxY,IAAQ+uJ,GACboY,EAAMx7K,KAnFE,GAoFRxI,IACAkf,EAAU0sJ,IAGVoY,EAAMx7K,KAzFD,GA0FL6sB,IACAnW,EAAUyqJ,GAIlB,OADAqa,EAAMt1J,UACCs1J,EA6FKE,CA/KhB,SAA2BhlK,EAASgkK,EAAcC,EAAYC,EAAKC,EAAUC,GAEzE,MAAM97F,EAAW87F,EAASD,EAAW,EAC/BrwC,EAAcmwC,EAAaD,EAAe,EAC1Ca,EAAY,IAAIpgL,MAAM6jF,GAC5B,IAAImiF,EACAiC,EAEJ,IAAK,IAAI5rK,EAAI,EAAGA,EAAIwnF,IAAYxnF,EAC5B+jL,EAAU/jL,GAAK,IAAI2D,MAAMqvI,GACzB+wC,EAAU/jL,GAAG,GAAKA,EAGtB,IAAK,IAAIq1B,EAAI,EAAGA,EAAI29G,IAAe39G,EAC/B0uJ,EAAU,GAAG1uJ,GAAKA,EAEtB,IAAK,IAAIr1B,EAAI,EAAGA,EAAIwnF,IAAYxnF,EAC5B,IAAK,IAAIq1B,EAAI,EAAGA,EAAI29G,IAAe39G,EAC3BnW,EAAQgkK,EAAe7tJ,EAAI,KAAO+tJ,EAAIC,EAAWrjL,EAAI,GACrD+jL,EAAU/jL,GAAGq1B,GAAK0uJ,EAAU/jL,EAAI,GAAGq1B,EAAI,IAGvCs0I,EAAQoa,EAAU/jL,EAAI,GAAGq1B,GAAK,EAC9Bu2I,EAAOmY,EAAU/jL,GAAGq1B,EAAI,GAAK,EAC7B0uJ,EAAU/jL,GAAGq1B,GAAKs0I,EAAQiC,EAAOjC,EAAQiC,GAIrD,OAAOmY,EAmJuCI,CAAkBjlK,EAASgkK,EAAcC,EAAYC,EAAKC,EAAUC,IAC5Gc,EAAU,GAChB,IAAI/kK,OAAS,EACTja,EAAQ89K,EACRmB,EAAWhB,EACf,IAAK,IAAIrjL,EAAI,EAAGA,EAAI8jL,EAAI3jL,SAAUH,EAC9B,OAAQ8jL,EAAI9jL,IACR,KArMO,OAsMY,IAAXqf,IACA+kK,EAAQ57K,KAAK6W,GACbA,OAAS,GAEbja,IACAi/K,IACA,MACJ,KA5MQ,OA6MW,IAAXhlK,IACAA,EAASyjK,EAAU19K,EAAO,GAAI,IAElCia,EAAO2jK,aACP59K,IACAia,EAAO0jK,QAAQv6K,KAAK46K,EAAIiB,IACxBA,IACA,MACJ,KApNK,OAqNc,IAAXhlK,IACAA,EAASyjK,EAAU19K,EAAO,GAAI,IAElCia,EAAO2jK,aACP59K,IACA,MACJ,KA1NQ,OA2NW,IAAXia,IACAA,EAASyjK,EAAU19K,EAAO,GAAI,IAElCia,EAAO0jK,QAAQv6K,KAAK46K,EAAIiB,IACxBA,IAQZ,YAHe,IAAXhlK,GACA+kK,EAAQ57K,KAAK6W,GAEV+kK,EAEX,MAAME,EAAQ3gL,MAAMtD,UAAUmI,KAC9B,SAAS+7K,EAAYH,EAASh/K,EAAO29K,EAASC,GAC1C,MAAM3jK,EAASyjK,EAAU19K,EAAO29K,EAASC,GACzC,IAAIwB,GAAW,EACXC,EAAkB,EACtB,IAAK,IAAIzkL,EAAI,EAAG+sC,EAAKq3I,EAAQjkL,OAAQH,EAAI+sC,EAAI/sC,IAAK,CAC9C,MAAMkf,EAAUklK,EAAQpkL,GAExB,GADAkf,EAAQ9Z,OAASq/K,EACbD,EACA,SAEJ,MAAME,GAnIKC,EAmIsBtlK,EAAOja,MAnIrBw/K,EAmI4BvlK,EAAOja,MAAQia,EAAO0jK,QAAQ5iL,OAnIpD0kL,EAmI4D3lK,EAAQ9Z,MAnI5D0/K,EAmImE5lK,EAAQ9Z,MAAQ8Z,EAAQ8jK,WAjI5H4B,EAAOC,GAAUC,EAAOH,GAChB,EAGRC,IAASC,GAAUC,IAASH,EACrB,EAGPA,EAASE,EACLD,EAAOE,EACAF,EAAOC,EAEXC,EAAOD,EAGdC,EAAOF,EACAE,EAAOH,EAEXC,EAAOD,GAgHV,GAAID,GAAkB,EAAG,CAErBN,EAAQ/kK,OAAOrf,EAAG,GAClBA,IACAykL,GAAmBvlK,EAAQ8jK,WAAa9jK,EAAQ6jK,QAAQ5iL,OACxDkf,EAAO2jK,YAAc9jK,EAAQ8jK,WAAa0B,EAC1C,MAAMK,EAAc1lK,EAAO0jK,QAAQ5iL,OAAS+e,EAAQ6jK,QAAQ5iL,OAASukL,EACrE,GAAKrlK,EAAO2jK,YAAe+B,EAItB,CACD,IAAIC,EAAiB9lK,EAAQ6jK,QAC7B,GAAI1jK,EAAOja,MAAQ8Z,EAAQ9Z,MAAO,CAE9B,MAAM4vD,EAAU31C,EAAO0jK,QAAQ3jK,MAAM,EAAGF,EAAQ9Z,MAAQia,EAAOja,OAC/Dk/K,EAAM9jL,MAAMw0D,EAASgwH,GACrBA,EAAiBhwH,EAErB,GAAI31C,EAAOja,MAAQia,EAAO0jK,QAAQ5iL,OAC9B+e,EAAQ9Z,MAAQ8Z,EAAQ8jK,WAAY,CAEpC,MAAMptH,EAASv2C,EAAO0jK,QAAQ3jK,MAAMF,EAAQ9Z,MAAQ8Z,EAAQ8jK,WAAa3jK,EAAOja,OAChFk/K,EAAM9jL,MAAMwkL,EAAgBpvH,GAEhCv2C,EAAO0jK,QAAUiC,EACb9lK,EAAQ9Z,MAAQia,EAAOja,QACvBia,EAAOja,MAAQ8Z,EAAQ9Z,YAlB3Bo/K,GAAW,OAsBd,GAAInlK,EAAOja,MAAQ8Z,EAAQ9Z,MAAO,CAEnCo/K,GAAW,EACXJ,EAAQ/kK,OAAOrf,EAAG,EAAGqf,GACrBrf,IACA,MAAMs2B,EAASjX,EAAO2jK,WAAa3jK,EAAO0jK,QAAQ5iL,OAClD+e,EAAQ9Z,OAASkxB,EACjBmuJ,GAAmBnuJ,GA1K/B,IAAmBquJ,EAAQC,EAAMC,EAAQC,EA6KhCN,GACDJ,EAAQ57K,KAAK6W,GAYd,SAAS4lK,EAAoBt5K,EAAOu5K,GACvC,IAAId,EAAU,GACd,MAAMe,EAXV,SAA8BD,GAC1B,MAAMd,EAAU,GAChB,IAAK,IAAIpkL,EAAI,EAAG+sC,EAAKm4I,EAAc/kL,OAAQH,EAAI+sC,EAAI/sC,IAAK,CACpD,MAAMolL,EAASF,EAAcllL,GAC7BukL,EAAYH,EAASgB,EAAOhgL,MAAOggL,EAAOrC,QAASqC,EAAOpC,YAE9D,OAAOoB,EAKgBiB,CAAqBH,GAC5C,IAAK,IAAIllL,EAAI,EAAG+sC,EAAKo4I,EAAehlL,OAAQH,EAAI+sC,IAAM/sC,EAAG,CACrD,MAAMqf,EAAS8lK,EAAenlL,GACJ,IAAtBqf,EAAO2jK,YAA8C,IAA1B3jK,EAAO0jK,QAAQ5iL,OAM9CikL,EAAUA,EAAQ7/K,OAAO0+K,EAAYt3K,EAAO0T,EAAOja,MAAOia,EAAOja,MAAQia,EAAO2jK,WAAY3jK,EAAO0jK,QAAS,EAAG1jK,EAAO0jK,QAAQ5iL,SALtHkf,EAAO0jK,QAAQ,KAAOp3K,EAAM0T,EAAOja,QACnCg/K,EAAQ57K,KAAK6W,GAMzB,OAAO+kK,EChUX,IAAIkB,GAA0B,EAC9B,SAASC,EAAYC,EAAc75K,GAC/B,IAAIvG,EAAQogL,EAAapgL,MACzB,MAAMqgL,EAAc95K,EAAMxL,OAY1B,OAXIiF,EAAQqgL,EACRrgL,EAAQqgL,EAAcD,EAAaxC,WAE9B59K,EAAQ,IACbA,EACIqgL,EAAcD,EAAazC,QAAQ5iL,OAASiF,EAAQogL,EAAaxC,YAErE59K,EAAQ,IACRA,EAAQ,GAEZogL,EAAapgL,MAAQA,EACdogL,EAEX,MAAM,UAAsB,IACxB,YAAY9tK,GACR3U,MAAM2U,GACNjX,KAAKilL,mBAAgB,EACrBjlL,KAAK2jL,aAAU,EACf3jL,KAAKmvC,YAAa,EAClBnvC,KAAKF,KAAOE,KAAK8wD,MACjB75C,EAAO2a,gBAAkB5xB,KAE7B,UAAU4e,QACe,IAAjB5e,KAAK2jL,QACL3jL,KAAK2jL,QAAU,CAAC/kK,GAGhB5e,KAAK2jL,QAAQ57K,KAAK6W,GAElB5e,KAAKmvC,aACLnvC,KAAKmvC,YAAa,EAClB,IAAInD,YAAYhsC,OAGxB,MAAMilL,GACFjlL,KAAKilL,cAAgBA,EACjBjlL,KAAKmvC,aACLnvC,KAAKmvC,YAAa,EAClB,IAAInD,YAAYhsC,OAGxB,QACI,MAAM2jL,EAAU3jL,KAAK2jL,QACfsB,EAAgBjlL,KAAKilL,cAC3B,QAAgB,IAAZtB,QAAwC,IAAlBsB,EACtB,OAEJjlL,KAAKmvC,YAAa,EAClBnvC,KAAK2jL,aAAU,EACf3jL,KAAKilL,mBAAgB,EACrB,MAAMC,OAAiC,IAAlBD,EACfT,EAAoBxkL,KAAKiX,OAAQ0sK,GACjCnB,EAAYxiL,KAAKiX,OAAQ,EAAGjX,KAAKiX,OAAOvX,OAAQulL,EAAe,EAAGA,EAAcvlL,QACtFM,KAAKge,OAAOknK,I,aCxDpB,MAAMC,EAAuBhmL,OAAO2uC,OAAO,CACvCs3I,aAAa,IAEjB,SAASC,EAAuBzkF,EAAMrrB,EAAO5wE,EAAOyY,GAChDwjF,EAAK1qF,KAAKq/D,EAAM5wE,GAAQyY,GAE5B,SAASkoK,EAAoB1kF,EAAMrrB,EAAO5wE,EAAOyY,GAC7C,MAAMmoK,EAAepmL,OAAO6vB,OAAO5R,GACnCmoK,EAAa5gL,MAAQA,EACrB4gL,EAAa7lL,OAAS61E,EAAM71E,OAC5BkhG,EAAK1qF,KAAKq/D,EAAM5wE,GAAQ4gL,GAMrB,MAAM,EAUT,YAAYlnI,EAAUmnI,EAAcC,EAAwBC,EAAiBC,EAA2BnjK,GACpGxiB,KAAKq+C,SAAWA,EAChBr+C,KAAKwlL,aAAeA,EACpBxlL,KAAK0lL,gBAAkBA,EACvB1lL,KAAKwiB,QAAUA,EACfxiB,KAAKiX,OAAS,KACdjX,KAAKwgG,MAAQ,GACbxgG,KAAKu1E,MAAQ,KACbv1E,KAAK4lL,cAAgB,KACrB5lL,KAAK6lL,qBAAkB,EACvB7lL,KAAKulL,kBAAe,EACpBvlL,KAAK8lL,SAAWT,EAChBrlL,KAAK+lL,qBAAuB,IAAWjqJ,QAAQ0pJ,EAAcxlL,KAAMylL,GACnEzlL,KAAKgmL,wBAA0B,IAAWlqJ,QAAQ4pJ,EAAiB1lL,KAAM2lL,GACrEnjK,EAAQ4iK,cACRplL,KAAK8lL,SAAWR,GAQxB,KAAKruK,EAAQmG,GACTpd,KAAKiX,OAASA,EACdjX,KAAK6lL,gBAAkBzoK,EACvBpd,KAAKulL,aAAepmL,OAAO6vB,OAAO5R,GAClCpd,KAAKulL,aAAa1yJ,OAAS5b,EAC3BjX,KAAKu1E,MAAQv1E,KAAK+lL,qBAAqBznH,QAAQrnD,EAAQjX,KAAK6lL,iBAC5D7lL,KAAKmyB,SAAWnyB,KAAKgmL,wBAAwB1nH,QAAQrnD,EAAQjX,KAAK6lL,iBAClE7lL,KAAKimL,eACLjmL,KAAKkmL,kBAMT,SACIlmL,KAAKiX,OAAS,KACdjX,KAAKu1E,MAAQ,KACc,OAAvBv1E,KAAK4lL,eACL5lL,KAAK4lL,cAAcxnK,YAAYpe,MAEnCA,KAAKmmL,iBACLnmL,KAAK+lL,qBAAqBv2I,aAC1BxvC,KAAKgmL,wBAAwBx2I,aAGjC,aAAav4B,EAAQrU,GACbqU,IAAWjX,KAAKwlL,cAChBxlL,KAAKu1E,MAAQv1E,KAAK+lL,qBAAqBznH,QAAQt+D,KAAKiX,OAAQjX,KAAK6lL,iBACjE7lL,KAAKimL,eACLjmL,KAAKkmL,mBAEAjvK,IAAWjX,KAAK0lL,iBACrB1lL,KAAKmyB,SAAWnyB,KAAKgmL,wBAAwB1nH,QAAQt+D,KAAKiX,OAAQjX,KAAK6lL,iBACvE7lL,KAAKkmL,iBAAgB,IAGrBlmL,KAAKomL,YAAYxjL,GAGzB,eACS5C,KAAKu1E,QACNv1E,KAAKu1E,MAAQ,IAEjB,MAAM8wG,EAAcrmL,KAAK4lL,cACnBU,EAAetmL,KAAK4lL,cAAgB,IAAWh4I,YAAY5tC,KAAKu1E,OAClE8wG,IAAgBC,IACI,OAAhBD,GACAA,EAAYjoK,YAAYpe,MAE5BsmL,EAAYpuK,UAAUlY,OAG9B,YAAY2jL,GACR,MAAM4B,EAAevlL,KAAKulL,aACpB/kF,EAAQxgG,KAAKwgG,MACb+lF,EAAe,GACfT,EAAW9lL,KAAK8lL,SACtB,IAAIU,EAAc,EAClB,IAAK,IAAIjnL,EAAI,EAAG+sC,EAAKq3I,EAAQjkL,OAAQH,EAAI+sC,IAAM/sC,EAAG,CAC9C,MAAMqf,EAAS+kK,EAAQpkL,GACjB+iL,EAAU1jK,EAAO0jK,QACvBiE,EAAax+K,QAAQy4F,EAAM5hF,OAAOA,EAAOja,MAAQ6hL,EAAalE,EAAQ5iL,SACtE8mL,GAAe5nK,EAAO2jK,WAE1B,MAAMhtG,EAAQv1E,KAAKu1E,MACbpjD,EAAWnyB,KAAKmyB,SACtB,IAAK,IAAI5yB,EAAI,EAAG+sC,EAAKq3I,EAAQjkL,OAAQH,EAAI+sC,IAAM/sC,EAAG,CAC9C,MAAMqf,EAAS+kK,EAAQpkL,GACvB,IAAIknL,EAAW7nK,EAAOja,MACtB,MAAMm0C,EAAM2tI,EAAW7nK,EAAO2jK,WAC9B,KAAOkE,EAAW3tI,IAAO2tI,EAAU,CAC/B,MAAMC,EAAWlmF,EAAMimF,GACjBpoI,EAAWqoI,EAAWA,EAAS30I,WAAa/xC,KAAKq+C,SACjDuiD,EAAO2lF,EAAa7mL,OAAS,EAAI6mL,EAAaI,QAAUx0J,EAASnD,SACvEwxE,EAAM5hF,OAAO6nK,EAAU,EAAG7lF,GAC1BklF,EAASllF,EAAMrrB,EAAOkxG,EAAUlB,GAChC3kF,EAAKR,aAAa/hD,IAG1B,IAAK,IAAI9+C,EAAI,EAAG+sC,EAAKi6I,EAAa7mL,OAAQH,EAAI+sC,IAAM/sC,EAChDgnL,EAAahnL,GAAG03G,UAEpB,GAAIj3G,KAAKwiB,QAAQ4iK,YACb,IAAK,IAAI7lL,EAAI,EAAG+sC,EAAKk0D,EAAM9gG,OAAQH,EAAI+sC,IAAM/sC,EAAG,CAC5C,MAAMqnL,EAAiBpmF,EAAMjhG,GAAG6d,QAChCwpK,EAAelnL,OAAS4sC,EACxBs6I,EAAejiL,MAAQpF,GAInC,gBAAgBsnL,GAAkB,GAC9B,MAAMtxG,EAAQv1E,KAAKu1E,MACbgwG,EAAevlL,KAAKulL,aACpBpzJ,EAAWnyB,KAAKmyB,SAChBksB,EAAWr+C,KAAKq+C,SAChBynI,EAAW9lL,KAAK8lL,SACtB,IAAIgB,EAAcvxG,EAAM71E,OACpB8gG,EAAQxgG,KAAKwgG,MACbumF,EAAcvmF,EAAM9gG,OAMxB,IALoB,IAAhBonL,GAAqBD,KAErB,IAASG,uBAAuBxmF,GAChCumF,EAAc,GAEE,IAAhBA,EAAmB,CAEnB/mL,KAAKwgG,MAAQA,EAAQ,IAAIt9F,MAAM4jL,GAC/B,IAAK,IAAIvnL,EAAI,EAAGA,EAAIunL,IAAevnL,EAAG,CAClC,MAAMqhG,EAAOzuE,EAASnD,SACtB82J,EAASllF,EAAMrrB,EAAOh2E,EAAGgmL,GACzB/kF,EAAMjhG,GAAKqhG,EACXA,EAAKR,aAAa/hD,QAGrB,CAED,IAAI9+C,EAAI,EACR,KAAOA,EAAIunL,IAAevnL,EACtB,GAAIA,EAAIwnL,EAAa,CAEjBjB,EADatlF,EAAMjhG,GACJg2E,EAAOh2E,EAAGgmL,OAExB,CACD,MAAM3kF,EAAOzuE,EAASnD,SACtB82J,EAASllF,EAAMrrB,EAAOh2E,EAAGgmL,GACzB/kF,EAAMz4F,KAAK64F,GACXA,EAAKR,aAAa/hD,GAG1B,MAAMikI,EAAU9hF,EAAM5hF,OAAOrf,EAAGwnL,EAAcxnL,GAC9C,IAAKA,EAAI,EAAGunL,EAAcxE,EAAQ5iL,OAAQH,EAAIunL,IAAevnL,EACzD+iL,EAAQ/iL,GAAG03G,WAIvB,iBACI,MAAMzW,EAAQxgG,KAAKwgG,MACnB,IAAK,IAAIjhG,EAAI,EAAG+sC,EAAKk0D,EAAM9gG,OAAQH,EAAI+sC,IAAM/sC,EACzCihG,EAAMjhG,GAAGghG,UAQd,MAAM,UAAwB,IAOjC,YAAYilF,EAAcE,EAAiBljK,GACvClgB,QACAtC,KAAKwlL,aAAeA,EACpBxlL,KAAK0lL,gBAAkBA,EACvB1lL,KAAKwiB,QAAUA,EAKfxiB,KAAKmuH,kBAAoB,IAAIz8E,uBD9I9B,WACH,GAAImzI,EACA,OAEJA,GAA0B,EAC1B,IAAWoC,wBAAyB/tI,GACzB,IAAI,EAAcA,IAE7B,MAAMguI,EAAahkL,MAAMtD,UACnB4M,EAAM06K,EAAW16K,IACjBzE,EAAOm/K,EAAWn/K,KAClBkmB,EAAUi5J,EAAWj5J,QACrB04J,EAAQO,EAAWP,MACnBrhI,EAAO4hI,EAAW5hI,KAClB1mC,EAASsoK,EAAWtoK,OACpBg/B,EAAUspI,EAAWtpI,QAC3BspI,EAAW16K,IAAM,WACb,MAAM26K,EAAWnnL,KAAKN,OAAS,EACzB0nL,EAAmB56K,EAAIzM,MAAMC,KAAMP,WACnC4N,EAAIrN,KAAK4xB,gBAIf,YAHU,IAANvkB,GAAgB85K,GAChB95K,EAAEg6K,UAAUhF,EAAUriL,KAAKN,OAAQ,CAAC0nL,GAAmB,IAEpDA,GAEXF,EAAWn/K,KAAO,WACd,MAAMq/K,EAAmBr/K,EAAKhI,MAAMC,KAAMP,WACpC4N,EAAIrN,KAAK4xB,gBAIf,YAHU,IAANvkB,GACAA,EAAEg6K,UAAUvC,EAAYzC,EAAUriL,KAAKN,OAASD,UAAUC,OAAQ,GAAID,UAAUC,QAASM,OAEtFonL,GAEXF,EAAWj5J,QAAU,WACjB,IAAIq5J,EACJ,MAAMj6K,EAAIrN,KAAK4xB,qBACL,IAANvkB,IACAA,EAAEyjD,QACFw2H,EAAWtnL,KAAK2e,SAEpB,MAAMyoK,EAAmBn5J,EAAQluB,MAAMC,KAAMP,WAI7C,YAHU,IAAN4N,GACAA,EAAEsrK,MAAM2O,GAELF,GAEXF,EAAWP,MAAQ,WACf,MAAMQ,EAAWnnL,KAAKN,OAAS,EACzB0nL,EAAmBT,EAAM5mL,MAAMC,KAAMP,WACrC4N,EAAIrN,KAAK4xB,gBAIf,YAHU,IAANvkB,GAAgB85K,GAChB95K,EAAEg6K,UAAUhF,EAAU,EAAG,CAAC+E,GAAmB,IAE1CA,GAEXF,EAAW5hI,KAAO,WACd,IAAIgiI,EACJ,MAAMj6K,EAAIrN,KAAK4xB,qBACL,IAANvkB,IACAA,EAAEyjD,QACFw2H,EAAWtnL,KAAK2e,SAEpB,MAAMyoK,EAAmB9hI,EAAKvlD,MAAMC,KAAMP,WAI1C,YAHU,IAAN4N,GACAA,EAAEsrK,MAAM2O,GAELF,GAEXF,EAAWtoK,OAAS,WAChB,MAAMwoK,EAAmBxoK,EAAO7e,MAAMC,KAAMP,WACtC4N,EAAIrN,KAAK4xB,gBAIf,YAHU,IAANvkB,GACAA,EAAEg6K,UAAUvC,EAAYzC,GAAW5iL,UAAU,GAAI2nL,EAAkB3nL,UAAUC,OAAS,EAAID,UAAUC,OAAS,EAAI,GAAIM,OAElHonL,GAEXF,EAAWtpI,QAAU,WACjB,MAAMwpI,EAAmBxpI,EAAQ79C,MAAMC,KAAMP,WACvC4N,EAAIrN,KAAK4xB,gBAIf,YAHU,IAANvkB,GACAA,EAAEg6K,UAAUvC,EAAYzC,EAAU,EAAG,GAAI5iL,UAAUC,QAASM,OAEzDonL,GC6DPG,GACAvnL,KAAKylL,uBAAyB,IAAWh3I,kBAAkB+2I,GAC3DxlL,KAAK2lL,0BAA4B,IAAWl3I,kBAAkBi3I,GAMlE,eAAellL,GACX,OAAO,IAAI,EAAeA,EAAQR,KAAKwlL,aAAcxlL,KAAKylL,uBAAwBzlL,KAAK0lL,gBAAiB1lL,KAAK2lL,0BAA2B3lL,KAAKwiB,UAW9I,SAAS2pH,EAAOq5C,EAAcxkB,EAA2Bx+I,EAAU2iK,GAItE,OAAO,IAAI,EAAgBK,EAHkC,mBAA9BxkB,EACzBA,EACA,IAAMA,EAC8Cx+I,K,mDC/N/C,MANf,SAAkB4E,EAAQ24E,GACxB,OAAO,YAAW34E,EAAQ24E,GAAO,SAASp+F,EAAO0lB,GAC/C,OAAO,OAAA2hC,EAAA,GAAM5hC,EAAQC,O,SCMrBzjB,EAAO,aAAS,SAASwjB,EAAQ24E,GACnC,OAAiB,MAAV34E,EAAiB,GAAK,EAASA,EAAQ24E,MAGjC,O,oMCff,MAAM,UAAiB,IAInB,YAAYv8F,GACRlB,MAAMkB,GAINxD,KAAK2D,aAAe,CAChB6jL,cAAU,EACVC,sBAAkB,EAClB1tH,oBAAgB,EAChB2tH,iBAAa,EACbC,qBAAiB,EACjBx7G,WAAO,EACPy7G,UAAM,EACN3yG,cAAU,EACV4yG,sBAAkB,EAClBtyG,WAAO,GAKXv1E,KAAK8nL,yBAA2B,KAIhC9nL,KAAK+nL,mCAAqC,KACtC,MAAM,2BAAEnrE,EAA0B,+BAAED,GAAoC38G,KAAKwD,MAAMu2D,eAInF,MAAO,KAHqB/5D,KAAK8nL,2BAA6B,IAAiBjmL,KACzE+6G,EACAD,IAMV38G,KAAKgoL,0BAA4B,KAC7B,MAAM,qBAAEtrE,EAAoB,oBAAED,GAAyBz8G,KAAKwD,MAAMu2D,eAIlE,MAAO,KAHO/5D,KAAKioL,kBAAoB,IAAmBjlJ,MACpD05E,EACAD,IAMVz8G,KAAKkoL,aAAgBC,IAC0B,mBAAhCnoL,KAAKwD,MAAMqkL,kBAClB7nL,KAAKwD,MAAMqkL,iBAAiBM,GAAW,GAE3CnoL,KAAK2hB,SAAS,CACVszD,SAAUkzG,IAEd,MAAMC,EAAiBpoL,KAAKqoL,OACvB/jL,IAAKgkL,GAAUA,EAAMp7G,IACrB/sE,QAAQgoL,GACbnoL,KAAKuoL,uBAAuBH,IAKhCpoL,KAAKwoL,kBAAoB,KACrB,IAAIC,EAAezoL,KAAK0oL,iBAAmB,EACvCD,EAAezoL,KAAKqoL,OAAO3oL,OAAS,IACpC+oL,EAAe,GAEnB,MAAMxzG,EAAWj1E,KAAKqoL,OAAOI,GAAcv7G,GAC3CltE,KAAKuoL,uBAAuBE,GACe,mBAAhCzoL,KAAKwD,MAAMqkL,kBAClB7nL,KAAKwD,MAAMqkL,iBAAiB5yG,GAAU,GAE1Cj1E,KAAK2hB,SAAS,CACVszD,cAMRj1E,KAAK2oL,UAAY,KACb,IAAIC,EAAc5oL,KAAK0oL,iBAAmB,EACtCE,EAAc5oL,KAAKqoL,OAAO3oL,OAAS,IACnCkpL,EAAc,GAElB5oL,KAAKuoL,uBAAuBK,GAC5B5oL,KAAK6oL,oBAAoBD,IAK7B5oL,KAAK8oL,cAAgB,KACjB,IAAIF,EAAc5oL,KAAK0oL,iBAAmB,EACtCE,EAAc,IACdA,EAAc5oL,KAAKqoL,OAAO3oL,OAAS,GAEvCM,KAAKuoL,uBAAuBK,GAC5B5oL,KAAK6oL,oBAAoBD,IAE7B5oL,KAAK+oL,OAAS,IAAMhtH,YAChB74D,MAAMC,QAAQnD,KAAKwD,MAAM+xE,SACzBv1E,KAAK+a,MAAQ,CACTk6D,SAAyC,iBAAxBj1E,KAAKwD,MAAMyxE,SACtBj1E,KAAKwD,MAAMyxE,SACX,OAAAjyE,EAAA,GAAIhD,KAAKwD,MAAM+xE,MAAM,GAAI,KAAM,OAOjD,gCAAgCp0D,EAAW2rD,GACvC,OAAI3rD,EAAU8zD,UAAY9zD,EAAU8zD,WAAanI,EAAUmI,SAChD,CACHA,SAAU9zD,EAAU8zD,UAGrB,KAKX,SACI,OAAQ,IAAMr8C,cAAc,MAAOz5B,OAAOC,OAAO,GAAIY,KAAKg6D,iBAAkB,CAAEj2D,UAAW/D,KAAKk6D,qBAAsB92D,IAAKpD,KAAK+oL,SAC1H/oL,KAAKgpL,0BACL,IAAMpwJ,cAAc,UAAM,CAAEuzC,MAAOnsE,KAAKwD,MAAM2oE,MAAO8I,SAAUj1E,KAAK+a,MAAMk6D,SAAUhL,SAAUjqE,KAAKkoL,aAAc3yG,MAAOv1E,KAAKqoL,OAAQtuH,eAAgB/5D,KAAKipL,yBAA0B9zG,YAAa,IAAYW,WAAYZ,gBAAiBl1E,KAAKwD,MAAMgkL,WACrPxnL,KAAKkpL,uBAKb,oBACQ,eAAelpL,KAAKwD,MAAMgkL,WAE1BxnL,KAAKmpL,cAAgBh1K,OAAOgnJ,YAAYn7J,KAAKwoL,kBAAmBxoL,KAAKwD,MAAMikL,mBAMnF,qBACQznL,KAAKwD,MAAMgkL,UAAY,OAAA1pH,EAAA,GAAM99D,KAAKmpL,eAElCnpL,KAAKmpL,cAAgBh1K,OAAOgnJ,YAAYn7J,KAAKwoL,kBAAmBxoL,KAAKwD,MAAMikL,kBAErEznL,KAAKwD,MAAMgkL,UAAa,OAAA1pH,EAAA,GAAM99D,KAAKmpL,iBAEzCnpL,KAAKmpL,cAAgBh1K,OAAOqnJ,cAAcx7J,KAAKmpL,gBAMvD,uBACS,OAAArrH,EAAA,GAAM99D,KAAKmpL,iBACZnpL,KAAKmpL,cAAgBh1K,OAAOqnJ,cAAcx7J,KAAKmpL,gBAMvD,qBACI,OAAO7mL,MAAM43D,mBAAmB,YAAWl6D,KAAKwD,MAAMu2D,eAAe+hD,SAAU,CAAC97G,KAAKgoL,4BAA6BhoL,KAAKioL,iBAAkB,CACrIjoL,KAAK+nL,uCACH/nL,KAAK8nL,4BAMf,yBACI,MAAM,gBAAE/rE,EAAe,mBAAEM,EAAkB,4BAAEL,EAA2B,yBAAEM,EAAwB,2BAAEL,EAA0B,mCAAEC,EAAkC,kBAAEC,EAAiB,0BAAEC,GAA+Bp8G,KAAKwD,MAAMu2D,eACjO,MAAO,CACH4c,KAAMolC,EACNvlC,eAAgB6lC,EAChB9lC,aAAcylC,EACdnlC,qBAAsBylC,EACtBniD,IAAK8hD,EACL7hD,YAAa8hD,EACb5hD,SAAU6hD,EACV5hD,iBAAkB6hD,GAO1B,aACI,OAAIl5G,MAAMC,QAAQnD,KAAKwD,MAAM+xE,OAClBv1E,KAAKwD,MAAM+xE,MAAMjxE,IAAKgkL,GAAUnpL,OAAOC,OAAO,GAAIkpL,EAAO,CAC5DnuH,IAAK,IAAM,IAAMvhC,cAAc,IAAMs8F,SAAU,SAI5C,GAMf,uBACI,OAA8B,IAAvBl1H,KAAKqoL,OAAO3oL,OAKvB,mBACI,GAAIM,KAAKqoL,OAAO3oL,OAAQ,CAEpB,OADqBM,KAAKqoL,OAAO,GAAGn7G,KACZltE,KAAK+a,MAAMk6D,SAGnC,OAAO,EAMf,kBACI,MAAMm0G,EAAcppL,KAAKqoL,OAAO3oL,OAAS,EACzC,GAAI0pL,GAAe,EAAG,CAElB,OADoBppL,KAAKqoL,OAAOe,GAAal8G,KACtBltE,KAAK+a,MAAMk6D,SAGlC,OAAO,EAMf,iBACI,OAAOj1E,KAAKqoL,OACP/jL,IAAKgkL,GAAUA,EAAMp7G,IACrB/sE,QAAQH,KAAK+a,MAAMk6D,UAK5B,gBACI,KAAIj1E,KAAKqoL,OAAO3oL,QAAU,GAG1B,OAAOM,KAAKqoL,OAAOroL,KAAK0oL,kBAAkBW,MACpCrpL,KAAKqoL,OAAOroL,KAAK0oL,kBAAkBW,MACnC,IAAmBC,KAK7B,uBAAuBC,GACfvpL,KAAK0oL,iBAAmBa,EACxBvpL,KAAK8nL,yBAA2B,IAAiBjmL,KAGjD7B,KAAK8nL,yBAA2B,IAAiB9xG,SAMzD,0BACI,IAAKh2E,KAAKwpL,kBAAqBxpL,KAAKypL,eAAiBzpL,KAAKwD,MAAMokL,KAC5D,OAEJ,MAAM8B,EAA2B1pL,KAAKwD,MAAMu2D,eACvCwiD,yBACL,MAA0C,mBAA/Bv8G,KAAKwD,MAAMmkL,gBACX3nL,KAAKwD,MAAMmkL,gBAAgB3nL,KAAK8oL,cAAeY,GAG9C,IAAM9wJ,cAAc,IAAS,CAAExnB,UAAW,IAAiB4kE,SAAU5B,QAASp0E,KAAK8oL,cAAe/kL,UAAW2lL,IAM7H,sBACI,IAAK1pL,KAAKwpL,kBAAqBxpL,KAAK2pL,cAAgB3pL,KAAKwD,MAAMokL,KAC3D,OAEJ,MAAMgC,EAAuB5pL,KAAKwD,MAAMu2D,eACnCyiD,qBACL,MAAsC,mBAA3Bx8G,KAAKwD,MAAMkkL,YACX1nL,KAAKwD,MAAMkkL,YAAY1nL,KAAK2oL,UAAWiB,GAGtC,IAAMhxJ,cAAc,IAAS,CAAExnB,UAAW,IAAiBvP,KAAMuyE,QAASp0E,KAAK2oL,UAAW5kL,UAAW6lL,IAMrH,oBAAoB3wI,GAChB,MAAM4wI,EAAc7pL,KAAKqoL,OAAOpvI,GAAUi0B,GACC,mBAAhCltE,KAAKwD,MAAMqkL,kBAClB7nL,KAAKwD,MAAMqkL,iBAAiBgC,GAAa,GAE7C7pL,KAAK2hB,SAAS,CACVszD,SAAU40G,KAItB,EAASrnL,YAAiB,IAAH,WACvB,EAASyoB,aAAe,CACpBu8J,UAAU,EACVC,iBAAkB,IAClBG,MAAM,EACN7tH,eAAgB,IAEL,QCtTf,MAAM,EAAW,YAAU,IAAV,CAA0B,I,uJCH3C,MAAM,UAAiB,IACnB,cACIz3D,SAAS7C,WACTO,KAAK2D,aAAe,CAChBS,cAAU,EACVzC,WAAO,EACPk2E,cAAU,EACVD,cAAU,EACV7d,oBAAgB,EAChB+vH,cAAU,EACVC,YAAQ,EACR//I,UAAM,GAMd,SACI,OAAQ,IAAMpR,cAAc,UAAcz5B,OAAOC,OAAO,GAAIY,KAAKg6D,iBAAkB,CAAEj2D,UAAW/D,KAAKk6D,qBAAsBH,eAAgB/5D,KAAKwD,MAAMu2D,eAAgBp4D,MAAO3B,KAAKwD,MAAM7B,MAAOk2E,SAAU73E,KAAKwD,MAAMq0E,SAAUD,SAAU53E,KAAKwD,MAAMo0E,WAAa53E,KAAKgqL,kBAKzQ,qBACI,MAAM,SAAElyG,EAAQ,mBAAE+kC,EAAkB,iBAAEE,GAAsB/8G,KAAKwD,MAAMu2D,eACvE,OAAOz3D,MAAM43D,mBAAmB,YAAW4d,EAAU,CAAC+kC,EAAoB78G,KAAKwD,MAAMsmL,UAAW,CAAC/sE,EAAkB/8G,KAAKwD,MAAMumL,UAElI,2CACI,MAAM,wBAAE5sE,EAAuB,uCAAEC,GAA4Cp9G,KAAKwD,MAAMu2D,eACxF,OAAO,YAAWojD,EAAyB,CACvCC,GACCp9G,KAAKwD,MAAM7B,QAGpB,wBACI,OAAO,YAAW3B,KAAKwD,MAAMu2D,eAAe,yBAAyB/5D,KAAKwD,MAAMwmC,OAEpF,2BACI,MAAM,mBAAEqzE,EAAkB,gCAAEC,GAAqCt9G,KAAKwD,MAAMu2D,eAC5E,OAAO,YAAWsjD,EAAoBC,GAE1C,2BACI,MAAMvjD,EAAiB/5D,KAAKwD,MACvBu2D,eACCkwH,EAAWlwH,EAAewjD,aAChC,OAAO,IAAIr6G,MAAM,EAASgnL,gBACrB3kL,UAAKyJ,GACL1K,IAAI,CAACI,EAAMC,IACJ,IAAMi0B,cAAc,OAAQ,CAAE70B,UAAW,YAAWkmL,EAAUlwH,EAAe,kBAAiBp1D,EAAQ,KAAOlE,IAAKkE,KAGlI,aAAaZ,EAAWyG,GACpB,OAAO,IAAMouB,cAAc,SAAU,CAAE70B,UAAWA,EAAWyG,MAAOA,EAAO2/K,GAAI,MAAOC,GAAI,MAAOvpL,EAAG,QAExG,2BACI,OAAOb,KAAKqqL,aAAa,YAAWrqL,KAAKwD,MAAMu2D,eAAesjD,qBAElE,iBACI,MAAM,wBAAEF,EAAuB,mBAAEE,GAAwBr9G,KAAKwD,MAAMu2D,eACpE,GAAI/5D,KAAKwD,MAAMsmL,SAAU,CACrB,MAAMQ,EAAe,GAAKtqL,KAAKwD,MAAM7B,MAAS,IAC9C,MAAO,CACH,IAAMi3B,cAAc,MAAO,CAAE10B,KAAM,eAAa6zE,YAAat3E,IAAK,KAC9D,IAAMm4B,cAAc,MAAO,CAAE70B,UAAW/D,KAAKuqL,wBAAyBr/J,QAAS,aAC3ElrB,KAAKwqL,2BACLxqL,KAAKqqL,aAAarqL,KAAKyqL,2CAA4C,CAAE12C,gBAAoBu2C,EAAH,cAC9F,IAAM1xJ,cAAc,MAAO,CAAE10B,KAAM,eAAawoE,cAAejsE,IAAK,KAChE,IAAMm4B,cAAc,MAAO,CAAE70B,UAAW/D,KAAKuqL,wBAAyBr/J,QAAS,aAC3ElrB,KAAKwqL,2BACLxqL,KAAKqqL,aAAarqL,KAAKyqL,+CAGvC,MAAO,CACH,IAAM7xJ,cAAc,MAAO,CAAE70B,UAAW/D,KAAK0qL,2BAA4BxmL,KAAM,eAAa6zE,YAAat3E,IAAK,KAC1G,IAAMm4B,cAAc,MAAO,CAAE70B,UAAW,YAAWo5G,GAA0B3yG,MAAO,CAAE2gB,MAAUnrB,KAAKwD,MAAM7B,MAAd,QACjG,IAAMi3B,cAAc,MAAO,CAAE10B,KAAM,eAAawoE,cAAe3oE,UAAW,YAAWs5G,GAAqB58G,IAAK,KAAOT,KAAK2qL,8BAIvI,EAAS1/J,aAAe,CACpB4sD,SAAU,EACVD,SAAU,IACVkyG,UAAU,EACVC,QAAQ,EACR//I,KAAM,IAAa9V,UACnB6lC,eAAgB,IAEpB,EAASv3D,YAAiB,IAAH,WACvB,EAAS0nL,eAAiB,EACX,QCtFf,MAAM,EAAW,YAAU,IAAV,CAA0B,I,4JC0C5B,MAhDCx0K,GACL,OAAAm+B,EAAA,GAAM,IAAc,CACvBk6C,OAAQ,CACJ,wBAAyB,CACrB,YAAa,UAGrB+4B,qBAAsB,CAClB,0BAA2B,CACvB,oBAAqB,MAG7Bj5B,qBAAsB1uF,OAAOC,OAAO,CAAE,aAAc,aAAckyB,QAAS,OAAQ,iBAAkB,SAAU27B,QAAS,YAAK,YAAS,cAA2B,IAAKhU,SAAU,YAAc,eAC9LmuE,qBAAsB,CAClB,aAAc,aACd91F,QAAS,OACT,wBAAyB,UACzB,WAAY,MACZnG,MAAO,OACP,aAAc,QAElBq7F,YAAarnH,OAAOC,OAAOD,OAAOC,OAAO,CAAE8xE,KAAM,QAAS,aAAc,OAAS,YAAoB,OAAQ,CAAE7rE,MAAO,IAAuB,gBAAiB,WAAY6nD,SAAU,WACpLu5D,eAAgB,CACZn1F,QAAS,gBAEb+1F,qBAAsB,CAClBpuE,SAAU,YAEdquE,uBAAwB,CACpBruE,SAAU,YAEdguE,mBAAoB,CAChB,aAAc,aACdhuE,SAAU,WACVkU,WAAY,OACZkQ,IAAK,YAAK,eACV7P,KAAM,YAAgB,GAAI,eAC1BC,MAAO,YAAgB,cAAqB,IAC5C,6BAA8B,CAC1BtiC,MAAO,YAAK,YAAS,IAAiB,IACtCtB,OAAQ,YAAK,YAAS,IAAiB,MAG/Cq9F,wBAAyB,CACrB3hH,KAAM,O,QCtClB,MAAMgnF,EAAS,YAAU,EAAV,CAAwB,Y,iKCDvC,MAAM,UAAsB,IACxB,cACIjqF,SAAS7C,WACTO,KAAK2D,aAAe,CAChB0qE,gBAAY,EACZrsB,UAAM,EACN+X,oBAAgB,EAChB/T,cAAU,EACV6oH,WAAO,GAEX7uK,KAAKkmH,cAAgB,IACVlmH,KAAKwD,MAAMqrK,MAAM,YAAW7uK,KAAKwD,MAAMu2D,eAAegY,sBAMrE,SACI,OAAQ,IAAMn5C,cAAc,IAAQz5B,OAAOC,OAAO,GAAIY,KAAKg6D,iBAAkB,CAAEj2D,UAAW/D,KAAKk6D,qBAAsBlU,SAAUhmD,KAAKwD,MAAMwiD,SAAUhE,KAAMhiD,KAAKwD,MAAMw+C,KAAMqsB,WAAY,IAAiB,IAAwBruE,KAAKwD,MAAM6qE,aAAciuB,cAAe,IAA8BhuB,cAAetuE,KAAKkmH,gBAAkBlmH,KAAKwD,MAAMY,UAK3V,qBACI,MAAM,cAAE0tE,EAAa,wBAAEO,EAAuB,kCAAEC,GAAuCtyE,KAAKwD,MAAMu2D,eAClG,OAAOz3D,MAAM43D,mBAAmB,YAAW4X,EAAe,CAACO,EAAyBryE,KAAKwD,MAAMwiD,UAAW,CACtGhmD,KAAKwD,MAAMu2D,eAAe,kBAAkB/5D,KAAKwD,MAAM6qE,YACtB,iBAA1BruE,KAAKwD,MAAM6qE,YACnB,CAACiE,EAAmCtyE,KAAK4qL,wBAKhD,qBACI,OAAQ,OAAA9sH,EAAA,GAAM99D,KAAKwD,MAAMqrK,SAAW,OAAA/wG,EAAA,GAAM99D,KAAKwD,MAAMY,WAG7D,EAAc5B,YAAiB,IAAH,gBAC5B,EAAcyoB,aAAe,CACzB8uC,eAAgB,IAEL,QCxCf,MAAM,EAAgB,YAAU,IAAV,CAA+B,I,qFCLtC,MAHA,CACXoL,SAAUhmE,OAAOC,OAAO,CAAEkyB,QAAS,OAAQ,iBAAkB,SAAU,cAAe,UAAW,YAAa,cAAe,YAAa,KAAO,YAAkB,M,QCOvK,MAAMyyC,EAAW,YAAU,EAAV,CAA0B,M,wICN3C,MACM26G,EAAqB,CACvBptJ,QAAS,cACT,cAAe,UA8DJ,MA5DA,CACX02F,YAAa,CACT/uE,SAAU,WACViU,SAAU,SACV57B,QAAS,OACT,iBAAkB,MAClB,UAAW,CACP,gCAAiC,CAC7B,kBAAmB,aAEvB,6BAA8B,CAC1B,kDAAmD,CAC/CxrB,QAAS,SAKzB8iH,wBAAyBzpH,OAAOC,OAAOD,OAAOC,OAAO,GAAIs/K,GAAqB,CAAE,aAAc,aAAc,aAAc,WAAYvzJ,MAAO,OAAQ,UAAW,IAAK,aAAc,YAtB7J,MAuBtBk9F,0BAA2B,CACvB/2F,QAAS,OACT,iBAAkB,SAClB,kBAAmB,gBACnB4/C,KAAM,IACNoiE,MAAO,IACP,cAAe,YAAgB,MAAO,IACtC,eAAgB,YAAgB,GAAI,QAExC7qB,oBAAqBtpH,OAAOC,OAAO,CAAEkyB,QAAS,QAAS,kBAAmB,OAAQ67B,WAAY,sBAAuB,WAAY,CACzHkQ,IAAK,IACL5P,MAAO,IACP,UAAW,MACV,YAAkB,gCAAiC,CACxD,kBAAmB,eAEvBi7D,2BAA4BvpH,OAAOC,OAAOD,OAAOC,OAAO,GAAI,eAA4B,CAAEkyB,QAAS,cAAe,qBAAsB,IAAK,qBAAsB,aACnK22F,wBAAyB,CACrBhvE,SAAU,WACV3nB,QAAS,cACTpsB,WAAY,YAAsB,IAAM,KACxCouI,MAAO,KAEXnrB,kBAAmB,CACfriH,QAAS,KAEb+iH,iBAAkB1pH,OAAOC,OAAO,CAAE+rB,MAAO,OAAQtB,OAAQ,OAAQtkB,KAAM,KAAS,KAChFujH,wBAAyB3pH,OAAOC,OAAOD,OAAOC,OAAO,CAAE65C,SAAU,YAAcylI,GAAqB,CAAE,kBAAmB,SAAUx5K,WAAY,IAAOY,QAAS,MAAOynD,OAAQ,IAAKpiC,MAAO,OAAQtB,OAAQ,OAAQ4jC,MAAO,YAAgB,IAAK,IAAKD,KAAM,YAAgB,GAAI,OAC7Q06D,2BAA4B,CACxB,WAAY,CACR56D,QAAS,KACTrU,SAAU,WACVsU,OAAQ,IACRC,KAAM,MAGdq9H,8BAA+B,CAC3BhhK,OAAQ,OACRyH,QAAS,OACT,iBAAkB,Q,UCxD1B,MAAMo2F,EAAc,YAAU,EAAV,CAA6B,Y,wJCFjD,MAAM,UAAkB,IACpB,cACIplH,SAAS7C,WACTO,KAAK2D,aAAe,CAChBqmC,UAAM,EACN+vB,oBAAgB,GAMxB,SACI,OAAQ,IAAMnhC,cAAc,IAAYz5B,OAAOC,OAAO,GAAIY,KAAKg6D,iBAAkB,CAAEjmB,IAAK,IAAcp0C,EAAGqqC,KAAMhqC,KAAKgqC,KAAMjmC,UAAW/D,KAAKk6D,uBAAyBl6D,KAAKwD,MAAMY,UAKlL,qBACI,MAAM21D,EAAiB/5D,KAAKwD,MAAMu2D,eAClC,OAAOz3D,MAAM43D,mBAAmB,YAAWH,EAAe6lD,UAAW7lD,EAAe,cAAc/5D,KAAKwD,MAAMwmC,QAKjH,WACI,OAAQhqC,KAAKwD,MAAMwmC,MACf,KAAK,IAAc+hC,GACf,OAAO,IAAem2G,GAC1B,KAAK,IAAc3D,GACf,OAAO,IAAex3D,GAC1B,QACI,OAAO,IAAegC,KAItC,EAAU99F,aAAe,CACrB+e,KAAM,IAAcm4I,GACpBpoH,eAAgB,IAEpB,EAAUv3D,YAAiB,IAAH,YACT,QCtCf,MAAM,EAAY,YAAU,IAAV,CAA2B,I,+ICH7C,MAAM,UAAc,IAChB,cACIF,SAAS7C,WACTO,KAAK2D,aAAe,CAChB+9K,YAAQ,EACR13I,UAAM,EACN+vB,oBAAgB,GAMxB,SACI,OAAQ,IAAMnhC,cAAc,UAAWz5B,OAAOC,OAAO,GAAIY,KAAKg6D,iBAAkB,CAAEj2D,UAAW/D,KAAKk6D,qBAAsBH,eAAgB/5D,KAAKwD,MAAMu2D,iBAAmB/5D,KAAKwD,MAAMY,UAKrL,qBACI,MAAM,cAAE+7G,EAAa,aAAEC,EAAY,aAAEC,GAAkBrgH,KAAKwD,MAAMu2D,eAClE,OAAOz3D,MAAM43D,mBAAmB,YAAW,CAACimD,EAAengH,KAAKwD,MAAMk+K,QAAS,CAACrhE,EAAcrgH,KAAKwD,MAAMwmC,OAAS,IAAU0rI,OAAQ,CAACt1D,EAAcpgH,KAAKwD,MAAMwmC,OAAS,IAAUmsI,UAGzL,EAAM3zK,YAAiB,IAAH,QACpB,EAAMyoB,aAAe,CACjB+e,KAAM,IAAUmsI,MAChBuL,QAAQ,EACR3nH,eAAgB,IAEL,QC1Bf,MAAM,EAAQ,YAAU,IAAV,CAAuB","file":"vendor.59a155a2bcf72d7f19a4.js","sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { JSSManager } from \"./jss-manager\";\n/* eslint-disable-next-line @typescript-eslint/no-var-requires */\nconst hoistNonReactStatics = require(\"hoist-non-react-statics\");\n/**\n * Main entry into the style manager. This function accepts a JSS style object and returns a\n * higher order component. That higher-order component can then be used to compose a component\n * with styles managed\n * @param S - The stylesheet class-name contract\n * @param C - The stylesheet design-system configuration object\n */\nfunction manageJss(styles) {\n return function (Component) {\n class JSSManagedComponent extends JSSManager {\n constructor() {\n super(...arguments);\n this.styles = styles;\n this.managedComponent = Component;\n }\n }\n JSSManagedComponent.displayName = `withJSS(${Component.displayName || Component.name})`;\n return hoistNonReactStatics(JSSManagedComponent, Component);\n };\n}\nexport { manageJss };\n","import { manageJss } from \"./manage-jss\";\nexport default manageJss;\nexport { DesignSystemProvider, } from \"./design-system-provider\";\nexport { stylesheetRegistry, \n/**\n * @deprecated\n * use JSSManager.jss to access the JSS instance\n */\njss, } from \"./jss\";\nexport { Consumer as DesignSystemConsumer } from \"./context\";\nexport { JSSManager, } from \"./jss-manager\";\nexport * from \"./design-system-provider\";\nexport * from \"@microsoft/fast-jss-manager\";\n","import React from \"react\";\nimport { get, isPlainObject, pick, set } from \"lodash-es\";\n/**\n * The foundation component is the component that all fast base components are built on top of. It provides a common\n * set of utilities that each component inherits.\n * @param H - These are the props that are \"handled\". \"handled\" props are not mapped automatically to the root element\n * returned by the render function. Use handled props to expose inputs that will not map directly to DOM attributes\n * (eg a custom callback) or where the DOM attribute would be required.\n * @param U - These are \"unhandled\" props. Any props from this interface will be mapped onto the root DOM node of the\n * render function as-is. It is advised that these props map to valid HTML attributes - otherwise you will likely have HTML errors.\n * @param S - The state interface of the component.\n */\nclass Foundation extends React.Component {\n constructor() {\n super(...arguments);\n /**\n * Store all memoized ref callbacks so they can quickly be accessed. Storing the functions\n * allows us to not create new ref functions every update cycle\n */\n this.referenceResolverStore = {};\n /**\n * Location where all react element and component references are stored\n */\n this.referenceStore = {};\n }\n /**\n * Stores a react ref callback under the path provided as arguments. Paths are resolved using lodash's get/set API.\n * The reference object itself will be stored on the referenceStore under the path provided and can be accessed via\n * the getRef method under the same path.\n *\n * Usage:
\n */\n setRef(...args) {\n const storageKey = this.processStorageKey(args);\n let resolverFunction = get(this.referenceResolverStore, storageKey);\n if (!storageKey ||\n isPlainObject(resolverFunction) ||\n Array.isArray(resolverFunction)) {\n return;\n }\n if (typeof resolverFunction === \"function\") {\n return resolverFunction;\n }\n else {\n resolverFunction = (ref) => {\n set(this.referenceStore, storageKey, ref);\n };\n set(this.referenceResolverStore, storageKey, resolverFunction);\n return resolverFunction;\n }\n }\n /**\n * Get a reference by key , where function arguments are used as to create the keyname,\n * eg. getRef('foo', 'bar', 0) resolves to this.references.foo.bar[0];\n *\n * Usage: const contentContainer = this.getRef(\"content-container\");\n */\n getRef(...args) {\n return get(this.referenceStore, this.processStorageKey(args));\n }\n /**\n * Returns an object containing all props that are not enumerated as handledProps\n */\n unhandledProps() {\n const unhandledPropKeys = Object.keys(this.props).filter((key) => {\n return (!(Foundation.defaultHandledProps.indexOf(key) > -1) &&\n this.handledProps &&\n !this.handledProps.hasOwnProperty(key));\n });\n return pick(this.props, unhandledPropKeys);\n }\n /**\n * Joins any string with the className prop passed to the component. Used for applying a className to the root\n * element of a component's render function.\n */\n generateClassNames(componentClasses = \"\") {\n return (componentClasses\n .concat(` ${this.props.className || \"\"}`)\n .trim()\n .replace(/(\\s){2,}/g, \" \") || null);\n }\n /*\n * Return an array of all nodes who's slot prop matches the provided slot.\n * If no nodes are provided, `this.props.children` will be used\n */\n withSlot(slot, nodes = this.props.children) {\n return React.Children.map(nodes, (node) => {\n return this.hasSlot(slot, node) ? node : null;\n });\n }\n withoutSlot(slot, nodes = this.props.children) {\n return React.Children.map(nodes, (node) => {\n return !this.hasSlot(slot, node) ? node : null;\n });\n }\n /**\n * Determine if a single node has a slot property\n */\n hasSlot(slot, node) {\n const nodeSlot = get(node, \"props.slot\");\n return Array.isArray(slot) ? slot.indexOf(nodeSlot) !== -1 : slot === nodeSlot;\n }\n /**\n * Generates a string that conforms to object/array accessor syntax that can be used by lodash's get / set,\n * eg. => [\"foo\", \"bar\", 0] => \"foo[bar][0]\"\n */\n processStorageKey(args) {\n return args\n .filter((item) => {\n return typeof item === \"string\" || typeof item === \"number\";\n })\n .map((item, index) => {\n return index === 0 ? item : `[${item}]`;\n })\n .join(\"\");\n }\n}\n/**\n * The props that should never be passed to the root element by unhandled props\n */\nFoundation.defaultHandledProps = [\"children\"];\nexport default Foundation;\n","import Foundation from \"./foundation\";\nexport default Foundation;\nexport * from \"./foundation\";\n","import Foundation from \"./foundation\";\nexport default Foundation;\nexport * from \"./foundation\";\n","import { add, format, important, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { canUseForcedColors } from \"@microsoft/fast-web-utilities\";\nimport { focusOutlineWidth, outlineWidth } from \"./design-system\";\nexport const highContrastSelector = \"@media (-ms-high-contrast:active)\";\nexport var HighContrastColor;\n(function (HighContrastColor) {\n HighContrastColor[\"text\"] = \"WindowText\";\n HighContrastColor[\"forcedColorLink\"] = \"LinkText\";\n HighContrastColor[\"msLink\"] = \"-ms-hotlight\";\n HighContrastColor[\"disabledText\"] = \"GrayText\";\n HighContrastColor[\"selectedText\"] = \"HighlightText\";\n HighContrastColor[\"selectedBackground\"] = \"Highlight\";\n HighContrastColor[\"buttonText\"] = \"ButtonText\";\n HighContrastColor[\"buttonBackground\"] = \"ButtonFace\";\n HighContrastColor[\"background\"] = \"Window\";\n})(HighContrastColor || (HighContrastColor = {}));\n// Function used to to opt-out of high contrast color scheme for '-ms' prefixes\nfunction applyhighContrastOptOutProperty() {\n return {\n \"-ms-high-contrast-adjust\": \"none\",\n };\n}\n// Used to to opt-out of high contrast color scheme\nexport const highContrastOptOutProperty = applyhighContrastOptOutProperty();\n// Function used to to set link color base on 'forced-color' query\nexport function applyHighContrastLinkValue() {\n return canUseForcedColors() ? \"LinkText !important\" : \"-ms-hotlight !important\";\n}\n// Used to to set high contrast base on 'forced-color' query\nexport const highContrastLinkValue = applyHighContrastLinkValue();\n// Used to remove text backplate and borders in 'ButtonText' colors\nexport const highContrastStealth = {\n [highContrastSelector]: Object.assign({ background: HighContrastColor.buttonBackground, border: \"none\", color: HighContrastColor.buttonText, fill: HighContrastColor.buttonText }, highContrastOptOutProperty),\n};\n// Used to remove text backplate in 'ButtonText' and 'ButtonFace' colors\nexport const highContrastOutline = {\n [highContrastSelector]: Object.assign({ background: HighContrastColor.buttonBackground, \"border-color\": HighContrastColor.buttonText, color: HighContrastColor.buttonText, fill: HighContrastColor.buttonText }, highContrastOptOutProperty),\n};\n// Used to remove text backplate in 'HighlightText' and 'Highlight' colors\nexport const highContrastAccent = {\n [highContrastSelector]: Object.assign({ background: HighContrastColor.selectedBackground, \"border-color\": HighContrastColor.selectedBackground, color: HighContrastColor.selectedText, fill: HighContrastColor.selectedText }, highContrastOptOutProperty),\n};\n// Used to set button with a border to 'link' color\nexport const highContrastLinkOutline = {\n [highContrastSelector]: {\n background: HighContrastColor.background,\n \"border-color\": highContrastLinkValue,\n color: highContrastLinkValue,\n fill: highContrastLinkValue,\n },\n};\n// Used to set a borderless component to disabled color\nexport const highContrastDisabled = {\n [highContrastSelector]: {\n opacity: \"1\",\n background: important(HighContrastColor.buttonBackground),\n color: important(HighContrastColor.disabledText),\n fill: important(HighContrastColor.disabledText),\n },\n};\n// Used to set a components with border to disabled color\nexport const highContrastDisabledBorder = {\n [highContrastSelector]: {\n opacity: \"1\",\n background: important(HighContrastColor.buttonBackground),\n color: important(HighContrastColor.disabledText),\n fill: important(HighContrastColor.disabledText),\n \"border-color\": important(HighContrastColor.disabledText),\n },\n};\n// Used to set foreground to disabled color\nexport const highContrastDisabledForeground = {\n [highContrastSelector]: {\n opacity: \"1\",\n color: important(HighContrastColor.disabledText),\n fill: important(HighContrastColor.disabledText),\n },\n};\n// Used to set background to disabled color\nexport const highContrastDisabledBackground = {\n [highContrastSelector]: {\n opacity: \"1\",\n background: important(HighContrastColor.disabledText),\n },\n};\n// Used to set focus with keyboard focus\nexport const highContrastOutlineFocus = {\n [highContrastSelector]: {\n \"border-color\": HighContrastColor.buttonText,\n \"box-shadow\": format(\"0 0 0 {0} inset {1}\", toPx(outlineWidth), () => HighContrastColor.buttonText),\n },\n};\n// Used to apply a focus indicator outside of control bounds for smaller controls like checkbox and radio\nexport const highContrastDoubleOuterFocus = {\n [highContrastSelector]: {\n \"box-shadow\": format(`0 0 0 2px Background, 0 0 0 {0} {1}`, toPx(add(focusOutlineWidth, 2)), () => HighContrastColor.buttonText),\n },\n};\n// Used to set double focus with keyboard focus\nexport const highContrastDoubleFocus = {\n [highContrastSelector]: {\n \"border-color\": important(HighContrastColor.buttonText),\n \"box-shadow\": format(\"0 0 0 {0} inset {1}\", toPx(focusOutlineWidth), () => HighContrastColor.buttonBackground),\n },\n};\n// Used to set background to 'Highlight' foreground to 'HighlightText'\nexport const highContrastSelected = {\n [highContrastSelector]: {\n background: HighContrastColor.selectedBackground,\n color: HighContrastColor.selectedText,\n fill: HighContrastColor.selectedText,\n },\n};\n/**\n * @deprecated Use 'highContrastSelected' instead\n */\nexport const highContrastSelection = highContrastSelected;\n// Used to set 'Highlight' color with an outline\nexport const highContrastSelectedOutline = {\n [highContrastSelector]: {\n background: HighContrastColor.selectedText,\n \"border-color\": HighContrastColor.selectedBackground,\n color: HighContrastColor.selectedBackground,\n fill: HighContrastColor.selectedBackground,\n },\n};\n// Used to set foreground and glyph to be 'WindowText' color\nexport const highContrastTextForeground = {\n [highContrastSelector]: {\n color: important(HighContrastColor.text),\n fill: important(HighContrastColor.text),\n },\n};\n// Used to set foreground and glyph to be 'ButtonText' color\nexport const highContrastForeground = {\n [highContrastSelector]: {\n color: important(HighContrastColor.buttonText),\n fill: important(HighContrastColor.buttonText),\n },\n};\n// Used to set foreground and glyph to be 'HighlightText' color\nexport const highContrastSelectedForeground = {\n [highContrastSelector]: {\n color: important(HighContrastColor.selectedText),\n fill: important(HighContrastColor.selectedText),\n },\n};\n// Used to set foreground and glyph to be 'Highlight' color\nexport const highContrastHighlightForeground = {\n [highContrastSelector]: {\n color: important(HighContrastColor.selectedBackground),\n fill: important(HighContrastColor.selectedBackground),\n },\n};\n// Used to set foreground and glyph to be 'link' color\nexport const highContrastLinkForeground = {\n [highContrastSelector]: {\n color: highContrastLinkValue,\n fill: highContrastLinkValue,\n },\n};\n// Used to set borders to be 'WindowText' color\nexport const highContrastBorder = {\n [highContrastSelector]: {\n border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.text),\n },\n};\n// Used to set border color to be 'ButtonText' color\nexport const highContrastBorderColor = {\n [highContrastSelector]: {\n \"border-color\": HighContrastColor.buttonText,\n },\n};\n// Used to set box-shadow border color to be 'link' color\nexport const highContrastLinkBorder = {\n [highContrastSelector]: {\n background: HighContrastColor.buttonBackground,\n \"box-shadow\": format(\"0 0 0 {0} inset {1}\", toPx(outlineWidth), () => highContrastLinkValue),\n },\n};\n// Used to set background to be 'Window' color\nexport const highContrastColorBackground = {\n [highContrastSelector]: {\n background: HighContrastColor.background,\n },\n};\n// Used to set background to be 'ButtonText' color\nexport const highContrastBackground = {\n [highContrastSelector]: {\n background: HighContrastColor.buttonText,\n },\n};\n// Used to set background to be 'ButtonFace' color\nexport const highContrastButtonBackground = {\n [highContrastSelector]: {\n background: HighContrastColor.buttonBackground,\n },\n};\n// Used to set background to be 'HighlightText' color\nexport const highContrastSelectedBackground = {\n [highContrastSelector]: {\n background: HighContrastColor.selectedText,\n },\n};\n// Used to set background to be 'Highlight' color\nexport const highContrastHighlightBackground = {\n [highContrastSelector]: {\n background: HighContrastColor.selectedBackground,\n },\n};\n// Used to set background to be 'link' color\nexport const highContrastLinkBackground = {\n [highContrastSelector]: {\n background: highContrastLinkValue,\n },\n};\n// Used to set background to be 'ButtonFace' and border to 'HighlightText'\nexport const highContrastButtonColorIndicator = {\n [highContrastSelector]: {\n opacity: \"1\",\n background: HighContrastColor.buttonBackground,\n \"border-color\": HighContrastColor.selectedText,\n },\n};\n// Used to set background to be 'Highlight' and border to 'HighlightText'\nexport const highContrastHighlightColorIndicator = {\n [highContrastSelector]: {\n opacity: \"1\",\n background: HighContrastColor.selectedBackground,\n \"border-color\": HighContrastColor.selectedText,\n },\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","import designSystemDefaults from \"../design-system\";\n/**\n * Safely retrieves the value from a key of the DesignSystem.\n */\nexport function getDesignSystemValue(key) {\n return (designSystem) => {\n return designSystem && designSystem[key] !== undefined\n ? designSystem[key]\n : designSystemDefaults[key];\n };\n}\n/**\n * Retrieve the backgroundColor when invoked with a DesignSystem\n */\nexport const backgroundColor = getDesignSystemValue(\"backgroundColor\");\n/**\n * Retrieve the accentBaseColor when invoked with a DesignSystem\n */\nexport const accentBaseColor = getDesignSystemValue(\"accentBaseColor\");\n/**\n * Retrieve the cornerRadius when invoked with a DesignSystem\n */\nexport const cornerRadius = getDesignSystemValue(\"cornerRadius\");\n/**\n * Retrieve the elevatedCornerRadius when invoked with a DesignSystem\n */\nexport const elevatedCornerRadius = getDesignSystemValue(\"elevatedCornerRadius\");\n/**\n * Retrieve the neutral palette from the design system\n */\nexport const neutralPalette = getDesignSystemValue(\"neutralPalette\");\n/**\n * Retrieve the accent palette from the design system\n */\nexport const accentPalette = getDesignSystemValue(\"accentPalette\");\n/**\n * Retrieve the contrast from the design system\n */\nexport const contrast = getDesignSystemValue(\"contrast\");\n/**\n * Retrieve the designUnit from the design system\n */\nexport const designUnit = getDesignSystemValue(\"designUnit\");\n/**\n * Retrieve the baseHeightMultiplier from the design system\n */\nexport const baseHeightMultiplier = getDesignSystemValue(\"baseHeightMultiplier\");\n/**\n * Retrieve the baseHorizontalSpacingMultiplier from the design system\n */\nexport const baseHorizontalSpacingMultiplier = getDesignSystemValue(\"baseHorizontalSpacingMultiplier\");\n/**\n * Retrieve the direction from the design system\n */\nexport const direction = getDesignSystemValue(\"direction\");\n/**\n * Retrieve the outlineWidth from the design system\n */\nexport const outlineWidth = getDesignSystemValue(\"outlineWidth\");\n/**\n * Retrieve the focusOutlineWidth from the design system\n */\nexport const focusOutlineWidth = getDesignSystemValue(\"focusOutlineWidth\");\n/**\n * Retrieve the direction from the design system\n */\nexport const disabledOpacity = getDesignSystemValue(\"disabledOpacity\");\nexport const accentFillRestDelta = getDesignSystemValue(\"accentFillRestDelta\");\nexport const accentFillHoverDelta = getDesignSystemValue(\"accentFillHoverDelta\");\nexport const accentFillActiveDelta = getDesignSystemValue(\"accentFillActiveDelta\");\nexport const accentFillFocusDelta = getDesignSystemValue(\"accentFillFocusDelta\");\nexport const accentFillSelectedDelta = getDesignSystemValue(\"accentFillSelectedDelta\");\nexport const accentForegroundRestDelta = getDesignSystemValue(\"accentForegroundRestDelta\");\nexport const accentForegroundHoverDelta = getDesignSystemValue(\"accentForegroundHoverDelta\");\nexport const accentForegroundActiveDelta = getDesignSystemValue(\"accentForegroundActiveDelta\");\nexport const accentForegroundFocusDelta = getDesignSystemValue(\"accentForegroundFocusDelta\");\nexport const neutralFillRestDelta = getDesignSystemValue(\"neutralFillRestDelta\");\nexport const neutralFillHoverDelta = getDesignSystemValue(\"neutralFillHoverDelta\");\nexport const neutralFillActiveDelta = getDesignSystemValue(\"neutralFillActiveDelta\");\nexport const neutralFillFocusDelta = getDesignSystemValue(\"neutralFillFocusDelta\");\nexport const neutralFillSelectedDelta = getDesignSystemValue(\"neutralFillSelectedDelta\");\nexport const neutralFillInputRestDelta = getDesignSystemValue(\"neutralFillInputRestDelta\");\nexport const neutralFillInputHoverDelta = getDesignSystemValue(\"neutralFillInputHoverDelta\");\nexport const neutralFillInputActiveDelta = getDesignSystemValue(\"neutralFillInputActiveDelta\");\nexport const neutralFillInputFocusDelta = getDesignSystemValue(\"neutralFillInputFocusDelta\");\nexport const neutralFillInputSelectedDelta = getDesignSystemValue(\"neutralFillInputSelectedDelta\");\nexport const neutralFillStealthRestDelta = getDesignSystemValue(\"neutralFillStealthRestDelta\");\nexport const neutralFillStealthHoverDelta = getDesignSystemValue(\"neutralFillStealthHoverDelta\");\nexport const neutralFillStealthActiveDelta = getDesignSystemValue(\"neutralFillStealthActiveDelta\");\nexport const neutralFillStealthFocusDelta = getDesignSystemValue(\"neutralFillStealthFocusDelta\");\nexport const neutralFillStealthSelectedDelta = getDesignSystemValue(\"neutralFillStealthSelectedDelta\");\nexport const neutralFillToggleHoverDelta = getDesignSystemValue(\"neutralFillToggleHoverDelta\");\nexport const neutralFillToggleActiveDelta = getDesignSystemValue(\"neutralFillToggleActiveDelta\");\nexport const neutralFillToggleFocusDelta = getDesignSystemValue(\"neutralFillToggleFocusDelta\");\nexport const baseLayerLuminance = getDesignSystemValue(\"baseLayerLuminance\");\nexport const neutralFillCardDelta = getDesignSystemValue(\"neutralFillCardDelta\");\n/**\n * @deprecated Neutral foreground is now based on contrast and this is no longer used.\n */\nexport const neutralForegroundDarkIndex = getDesignSystemValue(\"neutralForegroundDarkIndex\");\n/**\n * @deprecated Neutral foreground is now based on contrast and this is no longer used.\n */\nexport const neutralForegroundLightIndex = getDesignSystemValue(\"neutralForegroundLightIndex\");\nexport const neutralForegroundHoverDelta = getDesignSystemValue(\"neutralForegroundHoverDelta\");\nexport const neutralForegroundActiveDelta = getDesignSystemValue(\"neutralForegroundActiveDelta\");\nexport const neutralForegroundFocusDelta = getDesignSystemValue(\"neutralForegroundFocusDelta\");\nexport const neutralDividerRestDelta = getDesignSystemValue(\"neutralDividerRestDelta\");\nexport const neutralOutlineRestDelta = getDesignSystemValue(\"neutralOutlineRestDelta\");\nexport const neutralOutlineHoverDelta = getDesignSystemValue(\"neutralOutlineHoverDelta\");\nexport const neutralOutlineActiveDelta = getDesignSystemValue(\"neutralOutlineActiveDelta\");\nexport const getFontWeight = getDesignSystemValue(\"fontWeight\");\nexport const neutralOutlineFocusDelta = getDesignSystemValue(\"neutralOutlineFocusDelta\");\n","import AccentButtonStyles from \"./accent-button\";\nexport { AccentButtonStyles };\nimport ActionToggleStyles from \"./action-toggle\";\nexport { ActionToggleStyles };\nexport * from \"./action-toggle\";\nimport ActionTriggerStyles from \"./action-trigger\";\nexport { ActionTriggerStyles };\nexport * from \"./action-trigger\";\nimport AutoSuggestStyles from \"./auto-suggest\";\nexport { AutoSuggestStyles };\nexport * from \"./auto-suggest\";\nimport AutoSuggestOptionStyles from \"./auto-suggest-option\";\nexport { AutoSuggestOptionStyles };\nexport * from \"./auto-suggest-option\";\nimport BadgeStyles from \"./badge\";\nexport { BadgeStyles };\nimport BreadcrumbStyles from \"./breadcrumb\";\nexport { BreadcrumbStyles };\nimport ButtonStyles from \"./button\";\nexport { ButtonStyles };\nimport CallToActionStyles from \"./call-to-action\";\nexport { CallToActionStyles };\nexport * from \"./call-to-action\";\nimport CaptionStyles from \"./caption\";\nexport { CaptionStyles };\nimport CarouselStyles from \"./carousel\";\nexport { CarouselStyles };\nimport CardStyles from \"./card\";\nexport { CardStyles };\nimport CheckboxStyles from \"./checkbox\";\nexport { CheckboxStyles };\nimport ContextMenuStyles from \"./context-menu\";\nexport { ContextMenuStyles };\nimport DataGridStyles from \"./data-grid\";\nexport { DataGridStyles };\nimport HeadingStyles from \"./heading\";\nexport { HeadingStyles };\nimport HypertextStyles from \"./hypertext\";\nexport { HypertextStyles };\nimport ContextMenuItemStyles from \"./context-menu-item\";\nexport { ContextMenuItemStyles };\n/**\n * Export design system defaults and typings\n */\nimport DesignSystemDefaults from \"./design-system\";\nexport * from \"./design-system\";\nexport { DesignSystemDefaults };\n// Delete when `fontWeight` export is removed\nimport { defaultFontWeights } from \"./design-system\";\n/**\n * @deprecated - use applyFontWeight instead\n */\nexport const fontWeight = defaultFontWeights;\n/**\n * Export dialog styles\n */\nimport DialogStyles from \"./dialog\";\nexport { DialogStyles };\n/**\n * Export divider styles\n */\nimport DividerStyles from \"./divider\";\nexport { DividerStyles };\n/**\n * Export flipper styles\n */\nimport FlipperStyles from \"./flipper\";\nexport { FlipperStyles };\n/**\n * Export flyout styles\n */\nimport FlyoutStyles from \"./flyout\";\nexport { FlyoutStyles };\n/**\n * Export image styles\n */\nimport ImageStyles from \"./image\";\nexport { ImageStyles };\n/**\n * Export label styles\n */\nimport LabelStyles from \"./label\";\nexport { LabelStyles };\n/**\n * Export lightweight button styles\n */\nimport LightweightButtonStyles from \"./lightweight-button\";\nexport { LightweightButtonStyles };\n/**\n * Export metatext styles\n */\nimport MetatextStyles from \"./metatext\";\nexport { MetatextStyles };\n/**\n * Export neutral button styles\n */\nimport NeutralButtonStyles from \"./neutral-button\";\nexport { NeutralButtonStyles };\n/**\n * Export number field styles\n */\nimport NumberFieldStyles from \"./number-field\";\nexport { NumberFieldStyles };\n/**\n * Export outline button styles\n */\nimport OutlineButtonStyles from \"./outline-button\";\nexport { OutlineButtonStyles };\n/**\n * Export paragraph styles\n */\nimport ParagraphStyles from \"./paragraph\";\nexport { ParagraphStyles };\n/**\n * Export pivot styles\n */\nimport PivotStyles from \"./pivot\";\nexport { PivotStyles };\n/**\n * Export progress styles\n */\nimport ProgressStyles from \"./progress\";\nexport { ProgressStyles };\n/**\n * Export radio styles\n */\nimport RadioStyles from \"./radio\";\nexport { RadioStyles };\n/**\n * Export select styles\n */\nimport SelectStyles from \"./select\";\nexport { SelectStyles };\nexport * from \"./select\";\n/**\n * Export select option styles\n */\nimport SelectOptionStyles from \"./select-option\";\nexport { SelectOptionStyles };\n/**\n * Export slider styles\n */\nimport SliderStyles from \"./slider\";\nexport { SliderStyles };\n/**\n * Export slider styles\n */\nimport SliderLabelStyles from \"./slider-label\";\nexport { SliderLabelStyles };\n/**\n * Export stealth button styles\n */\nimport StealthButtonStyles from \"./stealth-button\";\nexport { StealthButtonStyles };\n/**\n * Export subheading styles\n */\nimport SubheadingStyles from \"./subheading\";\nexport { SubheadingStyles };\n/**\n * Export toggle styles\n */\nimport ToggleStyles from \"./toggle\";\nexport { ToggleStyles };\n/**\n * Export text action styles\n */\nimport TextActionStyles from \"./text-action\";\nexport { TextActionStyles };\nexport * from \"./text-action\";\n/**\n * Export text area styles\n */\nimport TextAreaStyles from \"./text-area\";\nexport { TextAreaStyles };\n/**\n * Export text field styles\n */\nimport TextFieldStyles from \"./text-field\";\nexport { TextFieldStyles };\n/**\n * Export tree view styles\n */\nimport TreeViewStyles from \"./tree-view\";\nexport { TreeViewStyles };\n/**\n * Export tree view item styles\n */\nimport TreeViewItemStyles from \"./tree-view-item\";\nexport { TreeViewItemStyles };\n/**\n * Export typography styles\n */\nimport TypographyStyles from \"./typography\";\nexport { TypographyStyles };\n/**\n * Export utilities\n */\nexport * from \"./utilities/acrylic\";\nexport * from \"./utilities/border\";\nexport * from \"./utilities/color\";\nexport * from \"./utilities/cursor\";\nexport * from \"./utilities/density\";\nexport * from \"./utilities/design-system\";\nexport * from \"./utilities/disabled\";\nexport * from \"./utilities/elevation\";\nexport * from \"./utilities/fonts\";\nexport * from \"./utilities/high-contrast\";\nexport * from \"./utilities/important\";\nexport * from \"./utilities/keyof-to-type\";\nexport * from \"./utilities/typography\";\n","import { canUseDOM } from \"exenv-es6\";\nimport { defaultBreakpoints, identifyBreakpoint, } from \"./breakpoints\";\nclass BreakpointTracker {\n /**\n * Constructor for the BreakpointTracker component.\n * @param defaultBreakpoint?: number - optional breakpoint that can be used instead of window.innerWidth\n */\n constructor() {\n /**\n * The default array of breakpoint values\n */\n this._breakpoints = defaultBreakpoints;\n /**\n * Default breakpoint that can be set, used when the DOM is unavailable (useful for server side rendering)\n */\n this._defaultBreakpoint = 0;\n /**\n * The subscriptions\n */\n this.subscriptions = [];\n /**\n * Notifies subscribes if a breakpoint threshold has been crossed\n */\n this.update = () => {\n const breakpoint = canUseDOM()\n ? identifyBreakpoint(window.innerWidth, this._breakpoints)\n : this.defaultBreakpoint;\n if (this.breakpoint !== breakpoint) {\n this.breakpoint = breakpoint;\n this.notifySubscribers(this.breakpoint);\n }\n this.openRequestAnimationFrame = false;\n };\n /**\n * Returns the current breakpoint\n */\n this.currentBreakpoint = () => {\n return this.breakpoint;\n };\n /**\n * Request's an animation frame if there are currently no open animation frame requests\n */\n this.requestFrame = () => {\n if (this.openRequestAnimationFrame) {\n return;\n }\n this.openRequestAnimationFrame = true;\n window.requestAnimationFrame(this.update);\n };\n if (canUseDOM()) {\n this.breakpoint = identifyBreakpoint(window.innerWidth, this._breakpoints);\n window.addEventListener(\"resize\", this.requestFrame);\n }\n else {\n this.breakpoint = this.defaultBreakpoint;\n }\n }\n /**\n * Gets breakpoint values\n */\n get breakpoints() {\n return this._breakpoints;\n }\n /**\n * Sets breakpoint values\n */\n set breakpoints(breakpointConfig) {\n this._breakpoints = breakpointConfig;\n this.update();\n }\n /**\n * Gets the default breakpoint value\n */\n get defaultBreakpoint() {\n return this._defaultBreakpoint;\n }\n /**\n * Sets the default breakpoint value\n */\n set defaultBreakpoint(breakpoint) {\n this._defaultBreakpoint = breakpoint;\n this.update();\n }\n /**\n * Subscribes a callback to be called when breakpoints change\n */\n subscribe(callback) {\n if (!this.subscriptions.includes(callback)) {\n this.subscriptions.push(callback);\n }\n }\n /**\n * Unsubscribes a callback from the breakpoint tracker\n */\n unsubscribe(callback) {\n this.subscriptions = this.subscriptions.filter((subscription) => callback !== subscription);\n }\n /**\n * Call all subscribed callbacks\n */\n notifySubscribers(breakpoint) {\n this.subscriptions.forEach((subscription) => {\n subscription(breakpoint);\n });\n }\n}\nexport default new BreakpointTracker();\n","import { toPx } from \"@microsoft/fast-jss-utilities\";\nimport { ColorRGBA64, rgbToRelativeLuminance } from \"@microsoft/fast-colors\";\nimport { black } from \"../utilities/color/color-constants\";\nimport { parseColorString } from \"../utilities/color/common\";\nimport { backgroundColor } from \"./design-system\";\n/**\n * The MSFT elevation values\n */\nexport var ElevationMultiplier;\n(function (ElevationMultiplier) {\n ElevationMultiplier[ElevationMultiplier[\"e1\"] = 1] = \"e1\";\n ElevationMultiplier[ElevationMultiplier[\"e2\"] = 2] = \"e2\";\n ElevationMultiplier[ElevationMultiplier[\"e3\"] = 3] = \"e3\";\n ElevationMultiplier[ElevationMultiplier[\"e4\"] = 4] = \"e4\";\n ElevationMultiplier[ElevationMultiplier[\"e5\"] = 6] = \"e5\";\n ElevationMultiplier[ElevationMultiplier[\"e6\"] = 8] = \"e6\";\n ElevationMultiplier[ElevationMultiplier[\"e7\"] = 9] = \"e7\";\n ElevationMultiplier[ElevationMultiplier[\"e8\"] = 12] = \"e8\";\n ElevationMultiplier[ElevationMultiplier[\"e9\"] = 16] = \"e9\";\n ElevationMultiplier[ElevationMultiplier[\"e10\"] = 24] = \"e10\";\n ElevationMultiplier[ElevationMultiplier[\"e11\"] = 32] = \"e11\";\n ElevationMultiplier[ElevationMultiplier[\"e12\"] = 40] = \"e12\";\n ElevationMultiplier[ElevationMultiplier[\"e13\"] = 48] = \"e13\";\n ElevationMultiplier[ElevationMultiplier[\"e14\"] = 64] = \"e14\";\n ElevationMultiplier[ElevationMultiplier[\"e15\"] = 80] = \"e15\";\n ElevationMultiplier[ElevationMultiplier[\"e16\"] = 96] = \"e16\";\n ElevationMultiplier[ElevationMultiplier[\"e17\"] = 192] = \"e17\";\n})(ElevationMultiplier || (ElevationMultiplier = {}));\n/**\n * Ambient shadow config\n */\nexport const ambientShadowConfig = {\n blurMultiplier: 0.225,\n blurBase: 2,\n xOffsetMultiplier: 0,\n yOffsetMultiplier: 0,\n opacity: 0.11,\n};\n/**\n * Directional shadow config\n */\nexport const directionalShadowConfig = {\n blurMultiplier: 0.9,\n blurBase: 0,\n xOffsetMultiplier: 0,\n yOffsetMultiplier: 0.4,\n opacity: 0.13,\n};\n/**\n * Generate Elevation Shadow\n * Generates a string representing a box shadow value\n */\nexport function elevationShadow(elevationValue, color, shadowConfig) {\n return (config) => {\n const { r, g, b } = parseColorString(color);\n const { xOffsetMultiplier, yOffsetMultiplier, opacity, blurMultiplier, blurBase = 0, } = shadowConfig;\n // TODO: (Breaking) Remove default https://github.com/microsoft/fast/issues/2469\n const lum = rgbToRelativeLuminance(parseColorString(backgroundColor(config)));\n const opacityMultiple = 2 - lum; // white (1) = 1; black (0) = 2;\n return [xOffsetMultiplier, yOffsetMultiplier]\n .map((val) => parseFloat((val * elevationValue).toFixed(1)))\n .concat(blurBase + blurMultiplier * elevationValue)\n .map(toPx)\n .concat(new ColorRGBA64(r, g, b, opacity * opacityMultiple).toStringWebRGBA())\n .join(\" \");\n };\n}\nfunction combinedShadow(elevationValue, color = black) {\n return (designSystem) => {\n const fn = elevationShadow.bind(null, elevationValue, color);\n return [directionalShadowConfig, ambientShadowConfig]\n .map((conf) => fn(conf)(designSystem))\n .join(\", \");\n };\n}\n/**\n * Apply elevation shadow treatment to a component.\n *\n * @param elevationValue The number of pixels of depth or an ElevationMultiplier value.\n */\nexport function applyElevation(elevationValue) {\n return { \"box-shadow\": combinedShadow(elevationValue) };\n}\n/**\n * Apply elevation\n * Used to apply elevation shadow treatment to a component\n *\n * @deprecated Use applyElevation.\n */\nexport function elevation(elevationValue, color = black) {\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n return (config) => {\n return {\n \"box-shadow\": combinedShadow(elevationValue, color),\n };\n };\n}\n","import baseGetTag from './_baseGetTag.js';\nimport isArray from './isArray.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nexport default isString;\n","import { canUseDOM } from \"exenv-es6\";\nexport const defaultBreakpoints = [0, 540, 768, 1084, 1400, 1779];\n/**\n * Identifies current breakpoint based on window width\n */\nexport function identifyBreakpoint(windowWidth, breakpoints = defaultBreakpoints) {\n for (let breakpoint = breakpoints.length - 1; breakpoint >= 0; breakpoint--) {\n if (windowWidth >= breakpoints[breakpoint]) {\n return breakpoint;\n }\n }\n}\n/**\n * Gets a value from an array where the index retrieved is either the current break-point\n * or the nearest preceding break-point if no entry exists for the current break-point\n */\nexport function getValueByBreakpoint(breakpointSet, breakpoints) {\n if (!canUseDOM()) {\n return breakpointSet[0];\n }\n const breakpoint = breakpoints\n ? identifyBreakpoint(window.innerWidth, breakpoints)\n : identifyBreakpoint(window.innerWidth);\n return breakpointSet.slice(0, breakpoint + 1).pop();\n}\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","import { isFunction } from \"lodash-es\";\nexport function toUnit(unit = \"px\") {\n return (value) => value + unit;\n}\nconst withPx = toUnit();\nexport function toPx(arg) {\n return isFunction(arg)\n ? (designSystem) => {\n return withPx(arg(designSystem));\n }\n : withPx(arg);\n}\n","import { compose } from 'redux';\n\nfunction _defineProperty(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\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _objectWithoutPropertiesLoose(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 return target;\n}\n\nvar applySubspaceMiddleware = function applySubspaceMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createSubspace) {\n return function (store) {\n var subspacedStore = createSubspace(store);\n\n var _dispatch = function dispatch() {\n throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var _getState = subspacedStore.getState,\n subscribe = subspacedStore.subscribe,\n replaceReducer = subspacedStore.replaceReducer,\n subspaceValues = _objectWithoutPropertiesLoose(subspacedStore, [\"getState\", \"subscribe\", \"replaceReducer\"]);\n\n var middlewareApi = _objectSpread({}, subspaceValues, {\n getState: function getState() {\n return _getState.apply(void 0, arguments);\n },\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n });\n\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareApi);\n }).map(function (pipeline) {\n return typeof pipeline === 'function' ? {\n dispatch: pipeline\n } : pipeline;\n });\n var getStateChain = chain.map(function (pipeline) {\n return pipeline.getState;\n }).filter(function (pipeline) {\n return pipeline;\n });\n var dispatchChain = chain.map(function (pipeline) {\n return pipeline.dispatch;\n }).filter(function (pipeline) {\n return pipeline;\n });\n _getState = compose.apply(void 0, getStateChain)(subspacedStore.getState);\n _dispatch = compose.apply(void 0, dispatchChain)(subspacedStore.dispatch);\n return _objectSpread({}, subspacedStore, {\n getState: _getState,\n dispatch: _dispatch\n });\n };\n };\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\nvar REDUX_PREFIX = '@@redux/';\n\nvar isGlobal = function isGlobal(action) {\n return !action.type || action.globalAction === true || action.type.startsWith(REDUX_PREFIX);\n};\n\nvar namespacedAction = function namespacedAction(namespace) {\n return function (action) {\n return namespace && !isGlobal(action, namespace) ? _objectSpread({}, action, {\n type: namespace + \"/\" + action.type\n }) : action;\n };\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\nvar copyProperties = function copyProperties(source, target) {\n return Object.keys(source).forEach(function (key) {\n return target[key] = source[key];\n });\n};\n\nvar scopedMiddleware = function scopedMiddleware(middleware, predicate) {\n var wrappedMiddleware = function wrappedMiddleware(store) {\n if (predicate(store)) {\n var appliedMiddleware = middleware(store);\n copyProperties(middleware, wrappedMiddleware);\n return appliedMiddleware;\n }\n\n return {};\n };\n\n copyProperties(middleware, wrappedMiddleware);\n return wrappedMiddleware;\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\nvar ROOT = 'ROOT';\nvar NAMESPACE_ROOT = 'NAMESPACE_ROOT';\nvar CHILD = 'CHILD';\n\nvar subspaceTypesEnhancer = function subspaceTypesEnhancer(isRoot, namespace) {\n return function (createSubspace) {\n return function (store) {\n var subspace = createSubspace(store);\n var subspaceTypes = [];\n\n if (isRoot) {\n subspaceTypes.push(ROOT);\n subspaceTypes.push(NAMESPACE_ROOT);\n } else if (namespace) {\n subspaceTypes.push(NAMESPACE_ROOT);\n subspaceTypes.push(CHILD);\n } else {\n subspaceTypes.push(CHILD);\n }\n\n return _objectSpread({}, subspace, {\n subspaceTypes: subspaceTypes\n });\n };\n };\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\n\nvar childrenOnly = function childrenOnly(store) {\n return store.subspaceTypes && store.subspaceTypes.indexOf(CHILD) >= 0;\n};\n\nvar applyToChildren = function applyToChildren(middleware) {\n return scopedMiddleware(middleware, childrenOnly);\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\n\nvar verifyState = function verifyState(state) {\n if (process.env.NODE_ENV !== 'production' && state === undefined) {\n throw new TypeError('mapState must not return undefined.');\n }\n\n return state;\n};\n\nvar subspaceEnhancer = function subspaceEnhancer(mapState, namespace) {\n return applySubspaceMiddleware(applyToChildren(function (store) {\n return {\n getState: function getState(next) {\n return function () {\n return verifyState(mapState(next(), store.rootStore.getState()));\n };\n },\n dispatch: function dispatch(next) {\n return function (action) {\n return next(namespacedAction(namespace)(action));\n };\n }\n };\n }));\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\nvar namespaceEnhancer = function namespaceEnhancer(namespace) {\n return function (createSubspace) {\n return function (store) {\n var subspace = createSubspace(store);\n var parentNamespace = store.namespace || '';\n var storeNamespace;\n\n if (!namespace) {\n storeNamespace = parentNamespace;\n } else if (parentNamespace) {\n storeNamespace = parentNamespace + \"/\" + namespace;\n } else {\n storeNamespace = namespace;\n }\n\n return _objectSpread({}, subspace, {\n namespace: storeNamespace\n });\n };\n };\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\nvar rootStoreEnhancer = function rootStoreEnhancer(createSubspace) {\n return function (store) {\n var subspace = createSubspace(store);\n return _objectSpread({}, subspace, {\n rootStore: store.rootStore || store\n });\n };\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\nvar hasNamespace = function hasNamespace(action, namespace) {\n return action && action.type && action.type.indexOf(namespace + \"/\") === 0;\n};\n\nvar processAction = function processAction(namespace) {\n return function (action, callback, defaultValue) {\n if (!namespace || isGlobal(action)) {\n return callback(action);\n } else if (hasNamespace(action, namespace)) {\n return callback(_objectSpread({}, action, {\n type: action.type.substring(namespace.length + 1)\n }));\n } else {\n return defaultValue;\n }\n };\n};\n\nvar processActionEnhancer = function processActionEnhancer(namespace) {\n return function (createSubspace) {\n return function (store) {\n var subspace = createSubspace(store);\n return _objectSpread({}, subspace, {\n processAction: processAction(namespace)\n });\n };\n };\n};\n\nvar resolveParameters = function resolveParameters(mapState, namespace) {\n if (process.env.NODE_ENV !== 'production' && !(mapState || namespace)) {\n throw new TypeError('mapState and/or namespace must be defined.');\n }\n\n var mapStateType = typeof mapState;\n var namespaceType = typeof namespace;\n\n if (mapStateType === 'string' && namespaceType !== 'null') {\n namespace = mapState;\n }\n\n if (mapStateType !== 'function') {\n mapState = function mapState(state) {\n return state[namespace];\n };\n }\n\n return [mapState, namespace];\n};\n\nvar DEFAULT_OPTIONS = {\n enhancer: function enhancer(subspace) {\n return subspace;\n }\n};\n\nvar resolveEnhancer = function resolveEnhancer(_temp) {\n var _ref = _temp === void 0 ? DEFAULT_OPTIONS : _temp,\n _ref$enhancer = _ref.enhancer,\n enhancer = _ref$enhancer === void 0 ? DEFAULT_OPTIONS.enhancer : _ref$enhancer;\n\n if (typeof enhancer !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n throw new TypeError('enhancer must be a function.');\n }\n\n return DEFAULT_OPTIONS.enhancer;\n }\n\n return enhancer;\n};\n\nvar createSubspace = function createSubspace(store, enhancer) {\n if (typeof enhancer !== 'undefined') {\n return enhancer(createSubspace)(store);\n }\n\n return store;\n};\n\nvar subspaceEnhanced = function subspaceEnhanced(mapState, namespace, isRoot) {\n var subspaceEnhancers = compose(subspaceEnhancer(mapState, namespace), namespaceEnhancer(namespace), subspaceTypesEnhancer(isRoot, namespace), processActionEnhancer(namespace), rootStoreEnhancer);\n return function (store) {\n return createSubspace(store, compose(resolveEnhancer(store.subspaceOptions), subspaceEnhancers));\n };\n};\n\nvar subspaceRoot = function subspaceRoot(store, subspaceOptions) {\n return subspaceEnhanced(undefined, undefined, true)(_objectSpread({}, store, {\n subspaceOptions: subspaceOptions\n }));\n};\n\nvar subspace = function subspace(mapState, namespace) {\n return subspaceEnhanced.apply(void 0, resolveParameters(mapState, namespace));\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\n\nvar applyMiddleware = function applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n if (store.subspaceOptions && typeof store.subspaceOptions.enhancer === \"function\") {\n return subspaceRoot(store, {\n enhancer: compose(applySubspaceMiddleware.apply(void 0, middlewares), store.subspaceOptions.enhancer)\n });\n }\n\n return subspaceRoot(store, {\n enhancer: applySubspaceMiddleware.apply(void 0, middlewares)\n });\n };\n };\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\nvar namespaced = (function (namespace) {\n var actionProcessor = processAction(namespace);\n return function (reducer) {\n return function (state, action) {\n if (typeof state === 'undefined') {\n return reducer(state, action);\n }\n\n return actionProcessor(action, function (transformedAction) {\n return reducer(state, transformedAction);\n }, state);\n };\n };\n});\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\nvar globalAction = function globalAction(action) {\n return action.type ? _objectSpread({}, action, {\n globalAction: true\n }) : action;\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\n\nvar rootOnly = function rootOnly(store) {\n return !store.subspaceTypes || store.subspaceTypes.indexOf(ROOT) >= 0;\n};\n\nvar applyToRoot = function applyToRoot(middleware) {\n return scopedMiddleware(middleware, rootOnly);\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\n\nvar namespaceRootsOnly = function namespaceRootsOnly(store) {\n return !store.subspaceTypes || store.subspaceTypes.indexOf(NAMESPACE_ROOT) >= 0;\n};\n\nvar applyToNamespaceRoots = function applyToNamespaceRoots(middleware) {\n return scopedMiddleware(middleware, namespaceRootsOnly);\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\n\nvar isMatch = function isMatch(expectedType, actualType) {\n return typeof expectedType === 'string' ? actualType === expectedType : actualType.match(expectedType) !== null;\n};\n\nvar shouldBeGlobal = function shouldBeGlobal(action, actionTypes) {\n return !isGlobal(action) && actionTypes.find(function (type) {\n return isMatch(type, action.type);\n });\n};\n\nvar globalActions = function globalActions() {\n for (var _len = arguments.length, actionTypes = new Array(_len), _key = 0; _key < _len; _key++) {\n actionTypes[_key] = arguments[_key];\n }\n\n return function (store) {\n return function (next) {\n return function (action) {\n return shouldBeGlobal(action, actionTypes) ? store.dispatch(globalAction(action)) : next(action);\n };\n };\n };\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\n\nexport { subspace, applyMiddleware, namespaced, namespacedAction, globalAction, applyToRoot, applyToNamespaceRoots, applyToChildren, globalActions };\n","import { contrastRatio, isColorStringHexRGB, isColorStringWebRGB, parseColorHexRGB, parseColorWebRGB, rgbToRelativeLuminance, } from \"@microsoft/fast-colors\";\nimport { memoize } from \"lodash-es\";\n/**\n * The states that a swatch can have\n */\nexport var SwatchFamilyType;\n(function (SwatchFamilyType) {\n SwatchFamilyType[\"rest\"] = \"rest\";\n SwatchFamilyType[\"hover\"] = \"hover\";\n SwatchFamilyType[\"active\"] = \"active\";\n SwatchFamilyType[\"focus\"] = \"focus\";\n SwatchFamilyType[\"selected\"] = \"selected\";\n})(SwatchFamilyType || (SwatchFamilyType = {}));\nexport function colorRecipeFactory(recipe) {\n const memoizedRecipe = memoize(recipe);\n function curryRecipe(arg) {\n if (typeof arg === \"function\") {\n return (designSystem) => {\n return memoizedRecipe(Object.assign({}, designSystem, {\n backgroundColor: arg(designSystem),\n }));\n };\n }\n else {\n return memoizedRecipe(arg);\n }\n }\n return curryRecipe;\n}\n/**\n * Helper function to transform a SwatchFamilyResolver into simple ColorRecipe for simple use\n * use in stylesheets.\n */\nexport function swatchFamilyToSwatchRecipeFactory(type, callback) {\n const memoizedRecipe = memoize(callback);\n return (arg) => {\n if (typeof arg === \"function\") {\n return (designSystem) => {\n return memoizedRecipe(Object.assign({}, designSystem, {\n backgroundColor: arg(designSystem),\n }))[type];\n };\n }\n else {\n return memoizedRecipe(arg)[type];\n }\n };\n}\n/**\n * Converts a color string into a ColorRGBA64 instance.\n * Supports #RRGGBB and rgb(r, g, b) formats\n */\nexport const parseColorString = memoize((color) => {\n let parsed = parseColorHexRGB(color);\n if (parsed !== null) {\n return parsed;\n }\n parsed = parseColorWebRGB(color);\n if (parsed !== null) {\n return parsed;\n }\n throw new Error(`${color} cannot be converted to a ColorRGBA64. Color strings must be one of the following formats: \"#RGB\", \"#RRGGBB\", or \"rgb(r, g, b)\"`);\n});\n/**\n * Determines if a string value represents a color\n * Supports #RRGGBB and rgb(r, g, b) formats\n */\nexport function isValidColor(color) {\n return isColorStringHexRGB(color) || isColorStringWebRGB(color);\n}\n/**\n * Determines if a color string matches another color.\n * Supports #RRGGBB and rgb(r, g, b) formats\n */\nexport function colorMatches(a, b) {\n return parseColorString(a).equalValue(parseColorString(b));\n}\n/**\n * Returns the contrast value between two color strings.\n * Supports #RRGGBB and rgb(r, g, b) formats.\n */\nexport const contrast = memoize((a, b) => {\n return contrastRatio(parseColorString(a), parseColorString(b));\n}, (a, b) => a + b);\n/**\n * Returns the relative luminance of a color. If the value is not a color, -1 will be returned\n * Supports #RRGGBB and rgb(r, g, b) formats\n */\nexport function luminance(color) {\n return rgbToRelativeLuminance(parseColorString(color));\n}\nexport function designSystemResolverMax(...args) {\n return (designSystem) => Math.max.apply(null, args.map((fn) => fn(designSystem)));\n}\nexport const clamp = (value, min, max) => Math.min(Math.max(value, min), max);\n","import PropTypes from 'prop-types';\nexport var subscriptionShape = PropTypes.shape({\n trySubscribe: PropTypes.func.isRequired,\n tryUnsubscribe: PropTypes.func.isRequired,\n notifyNestedSubs: PropTypes.func.isRequired,\n isSubscribed: PropTypes.func.isRequired\n});\nexport var storeShape = PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n});","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { Component, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { storeShape, subscriptionShape } from '../utils/PropTypes';\nimport warning from '../utils/warning';\nvar didWarnAboutReceivingStore = false;\n\nfunction warnAboutReceivingStore() {\n if (didWarnAboutReceivingStore) {\n return;\n }\n\n didWarnAboutReceivingStore = true;\n warning(' does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reduxjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.');\n}\n\nexport function createProvider(storeKey) {\n var _Provider$childContex;\n\n if (storeKey === void 0) {\n storeKey = 'store';\n }\n\n var subscriptionKey = storeKey + \"Subscription\";\n\n var Provider =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(Provider, _Component);\n\n var _proto = Provider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref;\n\n return _ref = {}, _ref[storeKey] = this[storeKey], _ref[subscriptionKey] = null, _ref;\n };\n\n function Provider(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this[storeKey] = props.store;\n return _this;\n }\n\n _proto.render = function render() {\n return Children.only(this.props.children);\n };\n\n return Provider;\n }(Component);\n\n if (process.env.NODE_ENV !== 'production') {\n Provider.prototype.componentWillReceiveProps = function (nextProps) {\n if (this[storeKey] !== nextProps.store) {\n warnAboutReceivingStore();\n }\n };\n }\n\n Provider.propTypes = {\n store: storeShape.isRequired,\n children: PropTypes.element.isRequired\n };\n Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[storeKey] = storeShape.isRequired, _Provider$childContex[subscriptionKey] = subscriptionShape, _Provider$childContex);\n return Provider;\n}\nexport default createProvider();","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","// encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\nvar CLEARED = null;\nvar nullListeners = {\n notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n // the current/next pattern is copied from redux's createStore code.\n // TODO: refactor+expose that code to be reusable here?\n var current = [];\n var next = [];\n return {\n clear: function clear() {\n next = CLEARED;\n current = CLEARED;\n },\n notify: function notify() {\n var listeners = current = next;\n\n for (var i = 0; i < listeners.length; i++) {\n listeners[i]();\n }\n },\n get: function get() {\n return next;\n },\n subscribe: function subscribe(listener) {\n var isSubscribed = true;\n if (next === current) next = current.slice();\n next.push(listener);\n return function unsubscribe() {\n if (!isSubscribed || current === CLEARED) return;\n isSubscribed = false;\n if (next === current) next = current.slice();\n next.splice(next.indexOf(listener), 1);\n };\n }\n };\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(store, parentSub, onStateChange) {\n this.store = store;\n this.parentSub = parentSub;\n this.onStateChange = onStateChange;\n this.unsubscribe = null;\n this.listeners = nullListeners;\n }\n\n var _proto = Subscription.prototype;\n\n _proto.addNestedSub = function addNestedSub(listener) {\n this.trySubscribe();\n return this.listeners.subscribe(listener);\n };\n\n _proto.notifyNestedSubs = function notifyNestedSubs() {\n this.listeners.notify();\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.unsubscribe);\n };\n\n _proto.trySubscribe = function trySubscribe() {\n if (!this.unsubscribe) {\n this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.onStateChange) : this.store.subscribe(this.onStateChange);\n this.listeners = createListenerCollection();\n }\n };\n\n _proto.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n this.listeners.clear();\n this.listeners = nullListeners;\n }\n };\n\n return Subscription;\n}();\n\nexport { Subscription as default };","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport hoistStatics from 'hoist-non-react-statics';\nimport invariant from 'invariant';\nimport { Component, createElement } from 'react';\nimport { isValidElementType } from 'react-is';\nimport Subscription from '../utils/Subscription';\nimport { storeShape, subscriptionShape } from '../utils/PropTypes';\nvar hotReloadingVersion = 0;\nvar dummyState = {};\n\nfunction noop() {}\n\nfunction makeSelectorStateful(sourceSelector, store) {\n // wrap the selector in an object that tracks its results between runs.\n var selector = {\n run: function runComponentSelector(props) {\n try {\n var nextProps = sourceSelector(store.getState(), props);\n\n if (nextProps !== selector.props || selector.error) {\n selector.shouldComponentUpdate = true;\n selector.props = nextProps;\n selector.error = null;\n }\n } catch (error) {\n selector.shouldComponentUpdate = true;\n selector.error = error;\n }\n }\n };\n return selector;\n}\n\nexport default function connectAdvanced(\n/*\n selectorFactory is a func that is responsible for returning the selector function used to\n compute new props from state, props, and dispatch. For example:\n export default connectAdvanced((dispatch, options) => (state, props) => ({\n thing: state.things[props.thingId],\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\n }))(YourComponent)\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\n props. Do not use connectAdvanced directly without memoizing results between calls to your\n selector, otherwise the Connect component will re-render on every state or props change.\n*/\nselectorFactory, // options object:\n_ref) {\n var _contextTypes, _childContextTypes;\n\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\"]);\n\n var subscriptionKey = storeKey + 'Subscription';\n var version = hotReloadingVersion++;\n var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = storeShape, _contextTypes[subscriptionKey] = subscriptionShape, _contextTypes);\n var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = subscriptionShape, _childContextTypes);\n return function wrapWithConnect(WrappedComponent) {\n invariant(isValidElementType(WrappedComponent), \"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + JSON.stringify(WrappedComponent)));\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n withRef: withRef,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent // TODO Actually fix our use of componentWillReceiveProps\n\n /* eslint-disable react/no-deprecated */\n\n });\n\n var Connect =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(Connect, _Component);\n\n function Connect(props, context) {\n var _this;\n\n _this = _Component.call(this, props, context) || this;\n _this.version = version;\n _this.state = {};\n _this.renderCount = 0;\n _this.store = props[storeKey] || context[storeKey];\n _this.propsMode = Boolean(props[storeKey]);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n invariant(_this.store, \"Could not find \\\"\" + storeKey + \"\\\" in either the context or props of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a , \") + (\"or explicitly pass \\\"\" + storeKey + \"\\\" as a prop to \\\"\" + displayName + \"\\\".\"));\n\n _this.initSelector();\n\n _this.initSubscription();\n\n return _this;\n }\n\n var _proto = Connect.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var _ref3;\n\n // If this component received store from props, its subscription should be transparent\n // to any descendants receiving store+subscription from context; it passes along\n // subscription passed to it. Otherwise, it shadows the parent subscription, which allows\n // Connect to control ordering of notifications to flow top-down.\n var subscription = this.propsMode ? null : this.subscription;\n return _ref3 = {}, _ref3[subscriptionKey] = subscription || this.context[subscriptionKey], _ref3;\n };\n\n _proto.componentDidMount = function componentDidMount() {\n if (!shouldHandleStateChanges) return; // componentWillMount fires during server side rendering, but componentDidMount and\n // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount.\n // Otherwise, unsubscription would never take place during SSR, causing a memory leak.\n // To handle the case where a child component may have triggered a state change by\n // dispatching an action in its componentWillMount, we have to re-run the select and maybe\n // re-render.\n\n this.subscription.trySubscribe();\n this.selector.run(this.props);\n if (this.selector.shouldComponentUpdate) this.forceUpdate();\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n this.selector.run(nextProps);\n };\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate() {\n return this.selector.shouldComponentUpdate;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n if (this.subscription) this.subscription.tryUnsubscribe();\n this.subscription = null;\n this.notifyNestedSubs = noop;\n this.store = null;\n this.selector.run = noop;\n this.selector.shouldComponentUpdate = false;\n };\n\n _proto.getWrappedInstance = function getWrappedInstance() {\n invariant(withRef, \"To access the wrapped instance, you need to specify \" + (\"{ withRef: true } in the options argument of the \" + methodName + \"() call.\"));\n return this.wrappedInstance;\n };\n\n _proto.setWrappedInstance = function setWrappedInstance(ref) {\n this.wrappedInstance = ref;\n };\n\n _proto.initSelector = function initSelector() {\n var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions);\n this.selector = makeSelectorStateful(sourceSelector, this.store);\n this.selector.run(this.props);\n };\n\n _proto.initSubscription = function initSubscription() {\n if (!shouldHandleStateChanges) return; // parentSub's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey];\n this.subscription = new Subscription(this.store, parentSub, this.onStateChange.bind(this)); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `this.subscription` will then be null. An\n // extra null check every change can be avoided by copying the method onto `this` and then\n // replacing it with a no-op on unmount. This can probably be avoided if Subscription's\n // listeners logic is changed to not call listeners that have been unsubscribed in the\n // middle of the notification loop.\n\n this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription);\n };\n\n _proto.onStateChange = function onStateChange() {\n this.selector.run(this.props);\n\n if (!this.selector.shouldComponentUpdate) {\n this.notifyNestedSubs();\n } else {\n this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate;\n this.setState(dummyState);\n }\n };\n\n _proto.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() {\n // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it\n // needs to notify nested subs. Once called, it unimplements itself until further state\n // changes occur. Doing it this way vs having a permanent `componentDidUpdate` that does\n // a boolean check every time avoids an extra method call most of the time, resulting\n // in some perf boost.\n this.componentDidUpdate = undefined;\n this.notifyNestedSubs();\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.subscription) && this.subscription.isSubscribed();\n };\n\n _proto.addExtraProps = function addExtraProps(props) {\n if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props; // make a shallow copy so that fields added don't leak to the original selector.\n // this is especially important for 'ref' since that's a reference back to the component\n // instance. a singleton memoized selector would then be holding a reference to the\n // instance, preventing the instance from being garbage collected, and that would be bad\n\n var withExtras = _extends({}, props);\n\n if (withRef) withExtras.ref = this.setWrappedInstance;\n if (renderCountProp) withExtras[renderCountProp] = this.renderCount++;\n if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription;\n return withExtras;\n };\n\n _proto.render = function render() {\n var selector = this.selector;\n selector.shouldComponentUpdate = false;\n\n if (selector.error) {\n throw selector.error;\n } else {\n return createElement(WrappedComponent, this.addExtraProps(selector.props));\n }\n };\n\n return Connect;\n }(Component);\n /* eslint-enable react/no-deprecated */\n\n\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n Connect.childContextTypes = childContextTypes;\n Connect.contextTypes = contextTypes;\n Connect.propTypes = contextTypes;\n\n if (process.env.NODE_ENV !== 'production') {\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n var _this2 = this;\n\n // We are hot reloading!\n if (this.version !== version) {\n this.version = version;\n this.initSelector(); // If any connected descendants don't hot reload (and resubscribe in the process), their\n // listeners will be lost when we unsubscribe. Unfortunately, by copying over all\n // listeners, this does mean that the old versions of connected descendants will still be\n // notified of state changes; however, their onStateChange function is a no-op so this\n // isn't a huge deal.\n\n var oldListeners = [];\n\n if (this.subscription) {\n oldListeners = this.subscription.listeners.get();\n this.subscription.tryUnsubscribe();\n }\n\n this.initSubscription();\n\n if (shouldHandleStateChanges) {\n this.subscription.trySubscribe();\n oldListeners.forEach(function (listener) {\n return _this2.subscription.listeners.subscribe(listener);\n });\n }\n }\n };\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","var hasOwn = Object.prototype.hasOwnProperty;\n\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n// \n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n// \n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n// \n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n// \n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n// \n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import { bindActionCreators } from 'redux';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"]);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\n connect is a facade over connectAdvanced. It turns its args into a compatible\n selectorFactory, which has the signature:\n\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\n \n connect passes its args to connectAdvanced as options, which will in turn pass them to\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\n\n selectorFactory returns a final props selector from its mapStateToProps,\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\n mergePropsFactories, and pure args.\n\n The resulting final props selector is called by the Connect component instance whenever\n it receives new props or store state.\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"]);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default createConnect();","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var String=function(){function t(){}return t.IsNullOrWhiteSpace=function(t){try{return null==t||\"undefined\"==t||t.toString().replace(/\\s/g,\"\").length<1}catch(t){return console.log(t),!1}},t.Join=function(e){for(var r=[],n=1;n1&&(r=o[0].replace(\"{\",\"\"),e=o[1].replace(\"}\",\"\")),null==(i=a?n[0][r]:n[r])||void 0==i||e.match(/{\\d+}/)?i:void 0!==(i=t.parsePattern(e,i))&&null!=i?i:t.Empty})},t.parsePattern=function(e,r){switch(e){case\"L\":return r=r.toLowerCase();case\"U\":return r=r.toUpperCase();case\"d\":if(\"string\"==typeof r)return t.getDisplayDateFromString(r);if(r instanceof Date)return t.Format(\"{0:00}.{1:00}.{2:0000}\",r.getDate(),r.getMonth(),r.getFullYear());break;case\"s\":if(\"string\"==typeof r)return t.getSortableDateFromString(r);if(r instanceof Date)return t.Format(\"{0:0000}-{1:00}-{2:00}\",r.getFullYear(),r.getMonth(),r.getDate());break;case\"n\":\"string\"!=typeof r&&(r=r.toString());var n=r.replace(/,/g,\".\");if(isNaN(parseFloat(n))||n.length<=3)break;var a=n.split(/[^0-9]+/g),i=a;a.length>1&&(i=[t.join.apply(t,[\"\"].concat(a.splice(0,a.length-1))),a[a.length-1]]);var o=i[0],l=o.length%3,g=l>0?o.substring(0,l):t.Empty,u=o.substring(l).match(/.{3}/g);return r=(g=g+\".\"+t.Join(\".\",u))+(i.length>1?\",\"+i[1]:\"\")}return\"number\"!=typeof r&&isNaN(r)||isNaN(+e)||t.IsNullOrWhiteSpace(r)?r:t.formatNumber(r,e)},t.getDisplayDateFromString=function(t){var e;if((e=t.split(\"-\")).length<=1)return t;var r=e[e.length-1],n=e[e.length-2],a=e[e.length-3];return(r=(r=r.split(\"T\")[0]).split(\" \")[0])+\".\"+n+\".\"+a},t.getSortableDateFromString=function(e){var r=e.replace(\",\",\"\").split(\".\");if(r.length<=1)return e;var n=r[r.length-1].split(\" \"),a=t.Empty;n.length>1&&(a=n[n.length-1]);var i=r[r.length-1].split(\" \")[0]+\"-\"+r[r.length-2]+\"-\"+r[r.length-3];return!t.IsNullOrWhiteSpace(a)&&a.length>1?i+=\"T\"+a:i+=\"T00:00:00\",i},t.formatNumber=function(t,e){var r=e.length,n=t.toString();if(r<=n.length)return n;var a=r-n.length;return new Array(a+=1).join(\"0\")+n},t.join=function(e){for(var r=[],n=1;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\nexport default get;\n","import { isString } from \"lodash-es\";\nexport function format(value, ...args) {\n return (designSystem) => {\n return args.reduce((reducedValue, currentValue, index) => {\n return reducedValue.replace(new RegExp(`\\\\{${index}\\\\}`, \"g\"), currentValue(designSystem));\n }, value);\n };\n}\nexport function toString(resolver) {\n return (designSystem) => String(resolver(designSystem));\n}\nexport function important(value) {\n return isString(value)\n ? `${value} !important`\n : (arg) => important(value(arg));\n}\n","import $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected the listener to be a function.');\n }\n\n if (isDispatching) {\n throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionDescription = actionType && \"action \\\"\" + String(actionType) + \"\\\"\" || 'an action';\n return \"Given \" + actionDescription + \", reducer \\\"\" + key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\";\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle \" + ActionTypes.INIT + \" or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers);\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(\"bindActionCreators expected an object or a function, instead received \" + (actionCreators === null ? 'null' : typeof actionCreators) + \". \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\nfunction _defineProperty(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\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(\"Dispatching while constructing your middleware is not allowed. \" + \"Other middleware would not be applied to this dispatch.\");\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { createStore, combineReducers, bindActionCreators, applyMiddleware, compose, ActionTypes as __DO_NOT_USE__ActionTypes };\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","import { isFunction, isString } from \"lodash-es\";\nexport function classNames(...args) {\n return args.reduce((accum, value) => {\n const leadingChar = accum.length ? \" \" : \"\";\n const normalizedValue = Array.isArray(value) && value[1]\n ? classNames.call(null, value[0])\n : isFunction(value)\n ? value()\n : isString(value)\n ? value\n : \"\";\n return !normalizedValue.length ? accum : accum + leadingChar + normalizedValue;\n }, \"\");\n}\n","import { toPx, toUnit } from \"@microsoft/fast-jss-utilities\";\nimport { checkDesignSystemResolver, } from \"../design-system\";\nimport { getDesignSystemValue } from \"../utilities/design-system\";\nimport { baseHeightMultiplier, baseHorizontalSpacingMultiplier, designUnit, } from \"../utilities/design-system\";\nexport var DensityCategory;\n(function (DensityCategory) {\n DensityCategory[\"compact\"] = \"compact\";\n DensityCategory[\"normal\"] = \"normal\";\n DensityCategory[\"spacious\"] = \"spacious\";\n})(DensityCategory || (DensityCategory = {}));\n/**\n * Returns the component height as a number.\n *\n * @param lines The logical number of lines the component takes, typically 1.\n */\nexport function heightNumber(lines = 1) {\n return (designSystem) => {\n return ((baseHeightMultiplier(designSystem) +\n getDesignSystemValue(\"density\")(designSystem)) *\n designUnit(designSystem) *\n lines);\n };\n}\n/**\n * Returns the component height formatted in the provided unit or px by default.\n *\n * @param lines The logical number of lines the component takes, typically 1.\n * @param unit The unit of measurement; px by default.\n */\nexport function height(lines = 1, unit) {\n return (designSystem) => toUnit(unit)(heightNumber(lines)(designSystem));\n}\n/**\n * Returns the higher-level category for the density setting.\n *\n * @param designSystem The design system config.\n */\nexport function getDensityCategory(designSystem) {\n const densityValue = getDesignSystemValue(\"density\")(designSystem);\n return densityValue >= 2\n ? DensityCategory.spacious\n : densityValue <= -2\n ? DensityCategory.compact\n : DensityCategory.normal;\n}\n/**\n * Returns a value based on the higher-level category for the density setting.\n * Used to adjust things like type size and sizing that is based on the category rather than individual density.\n *\n * @param compactValue The adjustment when the category is \"compact\"\n * @param normalValue The adjustment when the category is \"normal\"\n * @param spaciousValue The adjustment when the category is \"spacious\"\n */\nexport function densityCategorySwitch(compactValue, normalValue, spaciousValue) {\n return (designSystem) => {\n const category = getDensityCategory(designSystem);\n return checkDesignSystemResolver(category === DensityCategory.compact\n ? compactValue\n : category === DensityCategory.spacious\n ? spaciousValue\n : normalValue, designSystem);\n };\n}\n/**\n * Returns the standard horizontal spacing for text and icons as a number.\n *\n * @param adjustment Any border that should be removed from the overall content spacing.\n */\nexport function horizontalSpacingNumber(adjustment = 0) {\n return (designSystem) => {\n return ((baseHorizontalSpacingMultiplier(designSystem) +\n densityCategorySwitch(-1, 0, 1)(designSystem)) *\n designUnit(designSystem) -\n adjustment);\n };\n}\n/**\n * Returns the standard horizontal spacing for text and icons formatted in the provided unit or px by default.\n *\n * @param adjustment Any border that should be removed from the overall content spacing.\n * @param unit The unit of measurement; px by default.\n */\nexport function horizontalSpacing(adjustment = 0, unit) {\n return (designSystem) => {\n return toUnit(unit)(horizontalSpacingNumber(checkDesignSystemResolver(adjustment, designSystem))(designSystem));\n };\n}\n/**\n * Returns the width and height for an icon as a number.\n */\nexport function glyphSizeNumber(designSystem) {\n const halfDesignUnit = designUnit(designSystem) / 2;\n const sizeOffset = densityCategorySwitch(halfDesignUnit * -1, 0, halfDesignUnit)(designSystem);\n return ((baseHeightMultiplier(designSystem) / 2) * designUnit(designSystem) + sizeOffset);\n}\nexport function glyphSize(arg) {\n return typeof arg === \"string\"\n ? (designSystem) => toUnit(arg)(glyphSizeNumber(designSystem))\n : toPx(glyphSizeNumber(arg));\n}\n/**\n * @deprecated Use height instead.\n * @param value\n * @param unit\n */\nexport function density(value, unit) {\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n return (config) => toUnit(unit)(value * 1);\n}\n","import baseSet from './_baseSet.js';\n\n/**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\nfunction set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n}\n\nexport default set;\n","/**\r\n * Enum for Log level.\r\n * @readonly\r\n * @enum {number}\r\n */\r\nexport var LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"All\"] = 128] = \"All\";\r\n LogLevel[LogLevel[\"Activity\"] = 64] = \"Activity\";\r\n LogLevel[LogLevel[\"Trace\"] = 32] = \"Trace\";\r\n LogLevel[LogLevel[\"Debug\"] = 16] = \"Debug\";\r\n LogLevel[LogLevel[\"Info\"] = 8] = \"Info\";\r\n LogLevel[LogLevel[\"Warn\"] = 4] = \"Warn\";\r\n LogLevel[LogLevel[\"Error\"] = 2] = \"Error\";\r\n LogLevel[LogLevel[\"Fatal\"] = 1] = \"Fatal\";\r\n LogLevel[LogLevel[\"Off\"] = 0] = \"Off\";\r\n})(LogLevel || (LogLevel = {}));\r\n//# sourceMappingURL=LogLevel.js.map","import * as React from \"react\";\nimport { get } from \"lodash-es\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\n/**\n * The SVGFoundation component is the component that all fast icon components are built on top of. It provides a common\n * set of utilities that each component inherits.\n * @param H - These are the props that are \"handled\". \"handled\" props are not mapped automatically to the root element\n * returned by the render function. Use handled props to expose inputs that will not map directly to DOM attributes\n * (eg a custom callback) or where the DOM attribute would be required.\n * @param U - These are \"unhandled\" props that map to SVGAttributes. Any props from this interface will be mapped onto the root DOM node of the\n * render function as-is. It is advised that these props map to valid SVG attributes - otherwise you will likely have HTML errors.\n */\nclass SVGFoundation extends Foundation {\n renderTitleText(props) {\n return typeof get(props, \"titleText\") === \"string\" ? (React.createElement(\"title\", null, get(props, \"titleText\"))) : null;\n }\n}\nSVGFoundation.defaultProps = {\n viewBox: \"0 0 16 16\",\n width: \"16px\",\n height: \"16px\",\n xmlns: \"http://www.w3.org/2000/svg\",\n};\nexport default SVGFoundation;\n","/**\n * Ensures that an input number does not exceed a max value and is not less than a min value.\n * @param i - the number to clamp\n * @param min - the maximum (inclusive) value\n * @param max - the minimum (inclusive) value\n * @public\n */\nexport function clamp(i, min, max) {\n if (isNaN(i) || i <= min) {\n return min;\n }\n else if (i >= max) {\n return max;\n }\n return i;\n}\n/**\n * Scales an input to a number between 0 and 1\n * @param i - a number between min and max\n * @param min - the max value\n * @param max - the min value\n * @public\n */\nexport function normalize(i, min, max) {\n if (isNaN(i) || i <= min) {\n return 0.0;\n }\n else if (i >= max) {\n return 1.0;\n }\n return i / (max - min);\n}\n/**\n * Scales a number between 0 and 1\n * @param i - the number to denormalize\n * @param min - the min value\n * @param max - the max value\n * @public\n */\nexport function denormalize(i, min, max) {\n if (isNaN(i)) {\n return min;\n }\n return min + i * (max - min);\n}\n/**\n * Converts degrees to radians.\n * @param i - degrees\n * @public\n */\nexport function degreesToRadians(i) {\n return i * (Math.PI / 180.0);\n}\n/**\n * Converts radians to degrees.\n * @param i - radians\n * @public\n */\nexport function radiansToDegrees(i) {\n return i * (180.0 / Math.PI);\n}\n/**\n * Converts a number between 0 and 255 to a hex string.\n * @param i - the number to convert to a hex string\n * @public\n */\nexport function getHexStringForByte(i) {\n const s = Math.round(clamp(i, 0.0, 255.0)).toString(16);\n if (s.length === 1) {\n return \"0\" + s;\n }\n return s;\n}\n/**\n * Linearly interpolate\n * @public\n */\nexport function lerp(i, min, max) {\n if (isNaN(i) || i <= 0.0) {\n return min;\n }\n else if (i >= 1.0) {\n return max;\n }\n return min + i * (max - min);\n}\n/**\n * Linearly interpolate angles in degrees\n * @public\n */\nexport function lerpAnglesInDegrees(i, min, max) {\n if (i <= 0.0) {\n return min % 360.0;\n }\n else if (i >= 1.0) {\n return max % 360.0;\n }\n const a = (min - max + 360.0) % 360.0;\n const b = (max - min + 360.0) % 360.0;\n if (a <= b) {\n return (min - a * i + 360.0) % 360.0;\n }\n return (min + a * i + 360.0) % 360.0;\n}\nconst TwoPI = Math.PI * 2;\n/**\n * Linearly interpolate angles in radians\n * @public\n */\nexport function lerpAnglesInRadians(i, min, max) {\n if (isNaN(i) || i <= 0.0) {\n return min % TwoPI;\n }\n else if (i >= 1.0) {\n return max % TwoPI;\n }\n const a = (min - max + TwoPI) % TwoPI;\n const b = (max - min + TwoPI) % TwoPI;\n if (a <= b) {\n return (min - a * i + TwoPI) % TwoPI;\n }\n return (min + a * i + TwoPI) % TwoPI;\n}\n/**\n *\n * Will return infinity if i*10^(precision) overflows number\n * note that floating point rounding rules come into play here\n * so values that end up rounding on a .5 round to the nearest\n * even not always up so 2.5 rounds to 2\n * @param i - the number to round\n * @param precision - the precision to round to\n *\n * @public\n */\nexport function roundToPrecisionSmall(i, precision) {\n const factor = Math.pow(10, precision);\n return Math.round(i * factor) / factor;\n}\n","import AutoSuggest from \"./auto-suggest\";\nexport { AutoSuggest };\nexport * from \"./auto-suggest\";\nimport Badge from \"./badge\";\nexport { Badge };\nexport * from \"./badge\";\nimport Breadcrumb from \"./breadcrumb\";\nexport { Breadcrumb };\nexport * from \"./breadcrumb\";\nimport Button from \"./button\";\nexport { Button };\nexport * from \"./button\";\nimport Card from \"./card\";\nexport { Card };\nexport * from \"./card\";\nimport ContextMenu from \"./context-menu\";\nexport { ContextMenu };\nexport * from \"./context-menu\";\nimport ContextMenuItem from \"./context-menu-item\";\nexport { ContextMenuItem };\nexport * from \"./context-menu-item\";\nimport Checkbox from \"./checkbox\";\nexport { Checkbox };\nexport * from \"./checkbox\";\nimport DataGrid from \"./data-grid\";\nexport { DataGrid };\nexport * from \"./data-grid\";\nimport Dialog from \"./dialog\";\nexport { Dialog };\nexport * from \"./dialog\";\nimport Divider from \"./divider\";\nexport { Divider };\nexport * from \"./divider\";\nimport HorizontalOverflow from \"./horizontal-overflow\";\nexport { HorizontalOverflow };\nexport * from \"./horizontal-overflow\";\nimport Hypertext from \"./hypertext\";\nexport { Hypertext };\nexport * from \"./hypertext\";\nimport Image from \"./image\";\nexport { Image };\nexport * from \"./image\";\nimport Label from \"./label\";\nexport { Label };\nexport * from \"./label\";\nimport Listbox from \"./listbox\";\nexport { Listbox };\nexport * from \"./listbox\";\nimport ListboxItem from \"./listbox-item\";\nexport { ListboxItem };\nexport * from \"./listbox-item\";\nimport NumberField from \"./number-field\";\nexport { NumberField };\nexport * from \"./number-field\";\nimport Progress from \"./progress\";\nexport { Progress };\nexport * from \"./progress\";\nimport Radio from \"./radio\";\nexport { Radio };\nexport * from \"./radio\";\nimport Select from \"./select\";\nexport { Select };\nexport * from \"./select\";\nimport Slider from \"./slider\";\nexport { Slider };\nexport * from \"./slider\";\nimport SliderTrackItem from \"./slider-track-item\";\nexport { SliderTrackItem };\nexport * from \"./slider-track-item\";\n// holding off on exporting this until we are confident of the implementation\n// import StackPanel from \"./stack-panel\";\n// export { StackPanel };\n// export * from \"./stack-panel\";\nimport Tabs from \"./tabs\";\nexport { Tabs };\nexport * from \"./tabs\";\nimport TextArea from \"./text-area\";\nexport { TextArea };\nexport * from \"./text-area\";\nimport TextField from \"./text-field\";\nexport { TextField };\nexport * from \"./text-field\";\nimport Toggle from \"./toggle\";\nexport { Toggle };\nexport * from \"./toggle\";\nimport TreeView from \"./tree-view\";\nexport { TreeView };\nexport * from \"./tree-view\";\nimport TreeViewItem from \"./tree-view-item\";\nexport { TreeViewItem };\nexport * from \"./tree-view-item\";\nimport Typography from \"./typography\";\nexport { Typography };\nexport * from \"./typography\";\nexport * from \"./utilities/resize-observer\";\nexport * from \"./utilities/resize-observer-entry\";\nexport * from \"./utilities/intersection-observer\";\nexport * from \"./utilities/intersection-observer-entry\";\nimport ViewportPositioner from \"./viewport-positioner\";\nexport { ViewportPositioner };\nexport * from \"./viewport-positioner\";\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { checkDesignSystemResolver, } from \"../../design-system\";\nimport { backgroundColor } from \"../../utilities/design-system\";\nimport { accentPalette, neutralPalette } from \"../design-system\";\nimport { clamp, colorMatches, contrast, isValidColor, luminance, } from \"./common\";\n/**\n * The named palettes of the MSFT design system\n * @deprecated - use neutralPalette and accentPalette functions instead\n */\nexport var PaletteType;\n(function (PaletteType) {\n PaletteType[\"neutral\"] = \"neutral\";\n PaletteType[\"accent\"] = \"accent\";\n})(PaletteType || (PaletteType = {}));\n/**\n * Retrieves a palette by name. This function returns a function that accepts\n * a design system, returning a palette a palette or null\n * @deprecated - use neutralPalette and accentPalette functions instead\n */\nexport function palette(paletteType) {\n return (designSystem) => {\n switch (paletteType) {\n case PaletteType.accent:\n return accentPalette(designSystem);\n case PaletteType.neutral:\n default:\n return neutralPalette(designSystem);\n }\n };\n}\n/**\n * A function to find the index of a swatch in a specified palette. If the color is found,\n * otherwise it will return -1\n */\nexport function findSwatchIndex(paletteResolver, swatch) {\n return (designSystem) => {\n if (!isValidColor(swatch)) {\n return -1;\n }\n const colorPalette = checkDesignSystemResolver(paletteResolver, designSystem);\n const index = colorPalette.indexOf(swatch);\n // If we don't find the string exactly, it might be because of color formatting differences\n return index !== -1\n ? index\n : colorPalette.findIndex((paletteSwatch) => {\n return (isValidColor(paletteSwatch) && colorMatches(swatch, paletteSwatch));\n });\n };\n}\n/**\n * Returns the closest swatch in a palette to an input swatch.\n * If the input swatch cannot be converted to a color, 0 will be returned\n */\nexport function findClosestSwatchIndex(paletteResolver, swatch) {\n return (designSystem) => {\n const resolvedPalette = checkDesignSystemResolver(paletteResolver, designSystem);\n const resolvedSwatch = checkDesignSystemResolver(swatch, designSystem);\n const index = findSwatchIndex(resolvedPalette, resolvedSwatch)(designSystem);\n let swatchLuminance;\n if (index !== -1) {\n return index;\n }\n try {\n swatchLuminance = luminance(resolvedSwatch);\n }\n catch (e) {\n swatchLuminance = -1;\n }\n if (swatchLuminance === -1) {\n return 0;\n }\n return resolvedPalette\n .map((mappedSwatch, mappedIndex) => {\n return {\n luminance: luminance(mappedSwatch),\n index: mappedIndex,\n };\n })\n .reduce((previousValue, currentValue) => {\n return Math.abs(currentValue.luminance - swatchLuminance) <\n Math.abs(previousValue.luminance - swatchLuminance)\n ? currentValue\n : previousValue;\n }).index;\n };\n}\n/**\n * Determines if the design-system should be considered in \"dark mode\".\n * We're in dark mode if we have more contrast between #000000 and our background\n * color than #FFFFFF and our background color. That threshold can be expressed as a relative luminance\n * using the contrast formula as (1 + 0.5) / (bg + 0.05) === (bg + 0.05) / (0 + 0.05),\n * which reduces to the following, where bg is the relative luminance of the background color\n */\nexport function isDarkMode(designSystem) {\n return luminance(backgroundColor(designSystem)) <= (-0.1 + Math.sqrt(0.21)) / 2;\n}\n/**\n * Determines if the design-system should be considered in \"light mode\".\n */\nexport function isLightMode(designSystem) {\n return !isDarkMode(designSystem);\n}\nexport function getSwatch(index, colorPalette) {\n if (typeof index === \"function\") {\n return (designSystem) => {\n return colorPalette(designSystem)[clamp(index(designSystem), 0, colorPalette(designSystem).length - 1)];\n };\n }\n else {\n return colorPalette[clamp(index, 0, colorPalette.length - 1)];\n }\n}\nexport function swatchByMode(paletteResolver) {\n return (valueA, valueB) => {\n return (designSystem) => {\n return getSwatch(isDarkMode(designSystem)\n ? checkDesignSystemResolver(valueB, designSystem)\n : checkDesignSystemResolver(valueA, designSystem), paletteResolver(designSystem));\n };\n };\n}\nfunction binarySearch(valuesToSearch, searchCondition, startIndex = 0, endIndex = valuesToSearch.length - 1) {\n if (endIndex === startIndex) {\n return valuesToSearch[startIndex];\n }\n const middleIndex = Math.floor((endIndex - startIndex) / 2) + startIndex;\n // Check to see if this passes on the item in the center of the array\n // if it does check the previous values\n if (searchCondition(valuesToSearch[middleIndex])) {\n return binarySearch(valuesToSearch, searchCondition, startIndex, middleIndex // include this index because it passed the search condition\n );\n }\n else {\n return binarySearch(valuesToSearch, searchCondition, middleIndex + 1, // exclude this index because it failed the search condition\n endIndex);\n }\n}\n// disable type-defs because this a deeply curried function and the call-signature is pretty complicated\n// and typescript can work it out automatically for consumers\n/**\n * Retrieves a swatch from an input palette, where the swatch's contrast against the reference color\n * passes an input condition. The direction to search in the palette is determined by an input condition.\n * Where to begin the search in the palette will be determined another input function that should return the starting index.\n * example: swatchByContrast(\n * \"#FFF\" // compare swatches against \"#FFF\"\n * )(\n * neutralPalette // use the neutral palette from the DesignSystem - since this is a function, it will be evaluated with the DesignSystem\n * )(\n * () => 0 // begin searching for a swatch at the beginning of the neutral palette\n * )(\n * () => 1 // While searching, search in the direction toward the end of the array (-1 moves towards the beginning of the array)\n * )(\n * minContrastTargetFactory(4.5) // A swatch is only valid if the contrast is greater than 4.5\n * )(\n * designSystem // Pass the design-system. The first swatch that passes the previous condition will be returned from this function\n * )\n */\nexport function swatchByContrast(referenceColor) {\n /**\n * A function that expects a function that resolves a palette\n */\n return (paletteResolver) => {\n /**\n * A function that expects a function that resolves the index\n * of the palette that the algorithm should begin looking for a swatch at\n */\n return (indexResolver) => {\n /**\n * A function that expects a function that determines which direction in the\n * palette we should look for a swatch relative to the initial index\n */\n return (directionResolver) => {\n /**\n * A function that expects a function that determines if the contrast\n * between the reference color and color from the palette are acceptable\n */\n return (contrastCondition) => {\n /**\n * A function that accepts a design-system. It resolves all of the curried arguments\n * and loops over the palette until we reach the bounds of the palette or the condition\n * is satisfied. Once either the condition is satisfied or we reach the end of the palette,\n * we return the color\n */\n return (designSystem) => {\n const color = checkDesignSystemResolver(referenceColor, designSystem);\n const sourcePalette = checkDesignSystemResolver(paletteResolver, designSystem);\n const length = sourcePalette.length;\n const initialSearchIndex = clamp(indexResolver(color, sourcePalette, designSystem), 0, length - 1);\n const direction = directionResolver(initialSearchIndex, sourcePalette, designSystem);\n function contrastSearchCondition(valueToCheckAgainst) {\n return contrastCondition(contrast(color, valueToCheckAgainst));\n }\n const constrainedSourcePalette = [].concat(sourcePalette);\n const endSearchIndex = length - 1;\n let startSearchIndex = initialSearchIndex;\n if (direction === -1) {\n // reverse the palette array when the direction that\n // the contrast resolves for is reversed\n constrainedSourcePalette.reverse();\n startSearchIndex = endSearchIndex - startSearchIndex;\n }\n return binarySearch(constrainedSourcePalette, contrastSearchCondition, startSearchIndex, endSearchIndex);\n };\n };\n };\n };\n };\n}\n/**\n * Resolves the index that the contrast search algorithm should start at\n */\nexport function referenceColorInitialIndexResolver(referenceColor, sourcePalette, designSystem) {\n return findClosestSwatchIndex(sourcePalette, referenceColor)(designSystem);\n}\nexport function findClosestBackgroundIndex(designSystem) {\n return findClosestSwatchIndex(neutralPalette, backgroundColor(designSystem))(designSystem);\n}\nexport function minContrastTargetFactory(targetContrast) {\n return (instanceContrast) => instanceContrast >= targetContrast;\n}\n","const DisplayNamePrefix = \"Base\";\nexport { DisplayNamePrefix };\nexport * from \"./resize-observer\";\nexport * from \"./resize-observer-entry\";\nexport * from \"./intersection-observer\";\nexport * from \"./intersection-observer-entry\";\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.create = exports.createGenerateClassName = exports.sheets = exports.RuleList = exports.SheetsManager = exports.SheetsRegistry = exports.toCssValue = exports.getDynamicStyles = undefined;\n\nvar _getDynamicStyles = require('./utils/getDynamicStyles');\n\nObject.defineProperty(exports, 'getDynamicStyles', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_getDynamicStyles)['default'];\n }\n});\n\nvar _toCssValue = require('./utils/toCssValue');\n\nObject.defineProperty(exports, 'toCssValue', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_toCssValue)['default'];\n }\n});\n\nvar _SheetsRegistry = require('./SheetsRegistry');\n\nObject.defineProperty(exports, 'SheetsRegistry', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_SheetsRegistry)['default'];\n }\n});\n\nvar _SheetsManager = require('./SheetsManager');\n\nObject.defineProperty(exports, 'SheetsManager', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_SheetsManager)['default'];\n }\n});\n\nvar _RuleList = require('./RuleList');\n\nObject.defineProperty(exports, 'RuleList', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_RuleList)['default'];\n }\n});\n\nvar _sheets = require('./sheets');\n\nObject.defineProperty(exports, 'sheets', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_sheets)['default'];\n }\n});\n\nvar _createGenerateClassName = require('./utils/createGenerateClassName');\n\nObject.defineProperty(exports, 'createGenerateClassName', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_createGenerateClassName)['default'];\n }\n});\n\nvar _Jss = require('./Jss');\n\nvar _Jss2 = _interopRequireDefault(_Jss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Creates a new instance of Jss.\n */\nvar create = exports.create = function create(options) {\n return new _Jss2['default'](options);\n};\n\n/**\n * A global Jss instance.\n */\nexports['default'] = create();","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*\n * Key Code values\n * @deprecated - use individual keycode exports\n */\nexport var KeyCodes;\n(function (KeyCodes) {\n KeyCodes[KeyCodes[\"alt\"] = 18] = \"alt\";\n KeyCodes[KeyCodes[\"arrowDown\"] = 40] = \"arrowDown\";\n KeyCodes[KeyCodes[\"arrowLeft\"] = 37] = \"arrowLeft\";\n KeyCodes[KeyCodes[\"arrowRight\"] = 39] = \"arrowRight\";\n KeyCodes[KeyCodes[\"arrowUp\"] = 38] = \"arrowUp\";\n KeyCodes[KeyCodes[\"back\"] = 8] = \"back\";\n KeyCodes[KeyCodes[\"backSlash\"] = 220] = \"backSlash\";\n KeyCodes[KeyCodes[\"break\"] = 19] = \"break\";\n KeyCodes[KeyCodes[\"capsLock\"] = 20] = \"capsLock\";\n KeyCodes[KeyCodes[\"closeBracket\"] = 221] = \"closeBracket\";\n KeyCodes[KeyCodes[\"colon\"] = 186] = \"colon\";\n KeyCodes[KeyCodes[\"colon2\"] = 59] = \"colon2\";\n KeyCodes[KeyCodes[\"comma\"] = 188] = \"comma\";\n KeyCodes[KeyCodes[\"ctrl\"] = 17] = \"ctrl\";\n KeyCodes[KeyCodes[\"delete\"] = 46] = \"delete\";\n KeyCodes[KeyCodes[\"end\"] = 35] = \"end\";\n KeyCodes[KeyCodes[\"enter\"] = 13] = \"enter\";\n KeyCodes[KeyCodes[\"equals\"] = 187] = \"equals\";\n KeyCodes[KeyCodes[\"equals2\"] = 61] = \"equals2\";\n KeyCodes[KeyCodes[\"equals3\"] = 107] = \"equals3\";\n KeyCodes[KeyCodes[\"escape\"] = 27] = \"escape\";\n KeyCodes[KeyCodes[\"forwardSlash\"] = 191] = \"forwardSlash\";\n KeyCodes[KeyCodes[\"function1\"] = 112] = \"function1\";\n KeyCodes[KeyCodes[\"function10\"] = 121] = \"function10\";\n KeyCodes[KeyCodes[\"function11\"] = 122] = \"function11\";\n KeyCodes[KeyCodes[\"function12\"] = 123] = \"function12\";\n KeyCodes[KeyCodes[\"function2\"] = 113] = \"function2\";\n KeyCodes[KeyCodes[\"function3\"] = 114] = \"function3\";\n KeyCodes[KeyCodes[\"function4\"] = 115] = \"function4\";\n KeyCodes[KeyCodes[\"function5\"] = 116] = \"function5\";\n KeyCodes[KeyCodes[\"function6\"] = 117] = \"function6\";\n KeyCodes[KeyCodes[\"function7\"] = 118] = \"function7\";\n KeyCodes[KeyCodes[\"function8\"] = 119] = \"function8\";\n KeyCodes[KeyCodes[\"function9\"] = 120] = \"function9\";\n KeyCodes[KeyCodes[\"home\"] = 36] = \"home\";\n KeyCodes[KeyCodes[\"insert\"] = 45] = \"insert\";\n KeyCodes[KeyCodes[\"menu\"] = 93] = \"menu\";\n KeyCodes[KeyCodes[\"minus\"] = 189] = \"minus\";\n KeyCodes[KeyCodes[\"minus2\"] = 109] = \"minus2\";\n KeyCodes[KeyCodes[\"numLock\"] = 144] = \"numLock\";\n KeyCodes[KeyCodes[\"numPad0\"] = 96] = \"numPad0\";\n KeyCodes[KeyCodes[\"numPad1\"] = 97] = \"numPad1\";\n KeyCodes[KeyCodes[\"numPad2\"] = 98] = \"numPad2\";\n KeyCodes[KeyCodes[\"numPad3\"] = 99] = \"numPad3\";\n KeyCodes[KeyCodes[\"numPad4\"] = 100] = \"numPad4\";\n KeyCodes[KeyCodes[\"numPad5\"] = 101] = \"numPad5\";\n KeyCodes[KeyCodes[\"numPad6\"] = 102] = \"numPad6\";\n KeyCodes[KeyCodes[\"numPad7\"] = 103] = \"numPad7\";\n KeyCodes[KeyCodes[\"numPad8\"] = 104] = \"numPad8\";\n KeyCodes[KeyCodes[\"numPad9\"] = 105] = \"numPad9\";\n KeyCodes[KeyCodes[\"numPadDivide\"] = 111] = \"numPadDivide\";\n KeyCodes[KeyCodes[\"numPadDot\"] = 110] = \"numPadDot\";\n KeyCodes[KeyCodes[\"numPadMinus\"] = 109] = \"numPadMinus\";\n KeyCodes[KeyCodes[\"numPadMultiply\"] = 106] = \"numPadMultiply\";\n KeyCodes[KeyCodes[\"numPadPlus\"] = 107] = \"numPadPlus\";\n KeyCodes[KeyCodes[\"openBracket\"] = 219] = \"openBracket\";\n KeyCodes[KeyCodes[\"pageDown\"] = 34] = \"pageDown\";\n KeyCodes[KeyCodes[\"pageUp\"] = 33] = \"pageUp\";\n KeyCodes[KeyCodes[\"period\"] = 190] = \"period\";\n KeyCodes[KeyCodes[\"print\"] = 44] = \"print\";\n KeyCodes[KeyCodes[\"quote\"] = 222] = \"quote\";\n KeyCodes[KeyCodes[\"scrollLock\"] = 145] = \"scrollLock\";\n KeyCodes[KeyCodes[\"shift\"] = 16] = \"shift\";\n KeyCodes[KeyCodes[\"space\"] = 32] = \"space\";\n KeyCodes[KeyCodes[\"tab\"] = 9] = \"tab\";\n KeyCodes[KeyCodes[\"tilde\"] = 192] = \"tilde\";\n KeyCodes[KeyCodes[\"windowsLeft\"] = 91] = \"windowsLeft\";\n KeyCodes[KeyCodes[\"windowsOpera\"] = 219] = \"windowsOpera\";\n KeyCodes[KeyCodes[\"windowsRight\"] = 92] = \"windowsRight\";\n})(KeyCodes || (KeyCodes = {}));\nexport const keyCodeAlt = 18;\nexport const keyCodeArrowDown = 40;\nexport const keyCodeArrowLeft = 37;\nexport const keyCodeArrowRight = 39;\nexport const keyCodeArrowUp = 38;\nexport const keyCodeBack = 8;\nexport const keyCodeBackSlash = 220;\nexport const keyCodeBreak = 19;\nexport const keyCodeCapsLock = 20;\nexport const keyCodeCloseBracket = 221;\nexport const keyCodeColon = 186;\nexport const keyCodeColon2 = 59; // Opera and Firefox\nexport const keyCodeComma = 188;\nexport const keyCodeCtrl = 17;\nexport const keyCodeDelete = 46;\nexport const keyCodeEnd = 35;\nexport const keyCodeEnter = 13;\nexport const keyCodeEquals = 187;\nexport const keyCodeEquals2 = 61; // Opera\nexport const keyCodeEquals3 = 107; // Firefox\nexport const keyCodeEscape = 27;\nexport const keyCodeForwardSlash = 191;\nexport const keyCodeFunction1 = 112;\nexport const keyCodeFunction10 = 121;\nexport const keyCodeFunction11 = 122;\nexport const keyCodeFunction12 = 123;\nexport const keyCodeFunction2 = 113;\nexport const keyCodeFunction3 = 114;\nexport const keyCodeFunction4 = 115;\nexport const keyCodeFunction5 = 116;\nexport const keyCodeFunction6 = 117;\nexport const keyCodeFunction7 = 118;\nexport const keyCodeFunction8 = 119;\nexport const keyCodeFunction9 = 120;\nexport const keyCodeHome = 36;\nexport const keyCodeInsert = 45;\nexport const keyCodeMenu = 93;\nexport const keyCodeMinus = 189;\nexport const keyCodeMinus2 = 109; // Opera and Firefox\nexport const keyCodeNumLock = 144;\nexport const keyCodeNumPad0 = 96;\nexport const keyCodeNumPad1 = 97;\nexport const keyCodeNumPad2 = 98;\nexport const keyCodeNumPad3 = 99;\nexport const keyCodeNumPad4 = 100;\nexport const keyCodeNumPad5 = 101;\nexport const keyCodeNumPad6 = 102;\nexport const keyCodeNumPad7 = 103;\nexport const keyCodeNumPad8 = 104;\nexport const keyCodeNumPad9 = 105;\nexport const keyCodeNumPadDivide = 111;\nexport const keyCodeNumPadDot = 110;\nexport const keyCodeNumPadMinus = 109;\nexport const keyCodeNumPadMultiply = 106;\nexport const keyCodeNumPadPlus = 107;\nexport const keyCodeOpenBracket = 219;\nexport const keyCodePageDown = 34;\nexport const keyCodePageUp = 33;\nexport const keyCodePeriod = 190;\nexport const keyCodePrint = 44;\nexport const keyCodeQuote = 222;\nexport const keyCodeScrollLock = 145;\nexport const keyCodeShift = 16;\nexport const keyCodeSpace = 32;\nexport const keyCodeTab = 9;\nexport const keyCodeTilde = 192;\nexport const keyCodeWindowsLeft = 91;\nexport const keyCodeWindowsOpera = 219; // Opera\nexport const keyCodeWindowsRight = 92;\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\nexport default isArray;\n","import { attr, observable, } from \"@microsoft/fast-element\";\n/**\n * Decorator to declare a property as a design-system property.\n * Intended to be used with the {@link @microsoft/fast-foundation#DesignSystemProvider}\n * @param config - {@link DecoratorDesignSystemPropertyConfiguration}\n *\n * @public\n */\nexport function designSystemProperty(config) {\n const decorator = (source, prop, config) => {\n const { cssCustomProperty, attribute } = config;\n if (!source.designSystemProperties) {\n source.designSystemProperties = {};\n }\n if (attribute === false) {\n observable(source, prop);\n }\n else {\n /**\n * Default to fromView so we don't perform un-necessary DOM writes\n */\n if (config.mode === void 0) {\n config = Object.assign(Object.assign({}, config), { mode: \"fromView\" });\n }\n attr(config)(source, prop);\n }\n source.designSystemProperties[prop] = {\n cssCustomProperty: cssCustomProperty === false\n ? false\n : typeof cssCustomProperty === \"string\"\n ? cssCustomProperty\n : typeof attribute === \"string\"\n ? attribute\n : prop,\n default: config.default,\n };\n };\n return (source, prop) => {\n decorator(source, prop, config);\n };\n}\n","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @microsoft/fast-foundation#DesignSystemProvider} component.\n * @public\n */\nexport const DesignSystemProviderTemplate = html `\n \n`;\n","import { css } from '@microsoft/fast-element';\nimport { display } from '@microsoft/fast-foundation';\nexport const DesignSystemProviderStyles = css `\n ${display('block')};\n`;\n","import { __decorate } from \"tslib\";\nimport { attr, css, nullableNumberConverter } from '@microsoft/fast-element';\nimport { DesignSystemDefaults, neutralForegroundRest, } from '@microsoft/fast-components-styles-msft';\nimport { CSSCustomPropertyBehavior, designSystemProperty, DesignSystemProvider, designSystemProvider, DesignSystemProviderTemplate as template, } from '@microsoft/fast-foundation';\nimport { DesignSystemProviderStyles as styles } from './design-system-provider.styles';\nconst color = new CSSCustomPropertyBehavior('neutral-foreground-rest', neutralForegroundRest, (el) => el);\nconst backgroundStyles = css `\n :host {\n background-color: var(--background-color);\n color: ${color.var};\n }\n`.withBehaviors(color);\n/**\n * The Fluent DesignSystemProvider Element. Implements {@link @microsoft/fast-foundation#DesignSystemProvider},\n * {@link @microsoft/fast-foundation#DesignSystemProviderTemplate}\n *\n *\n * @public\n * @remarks\n * HTML Element: \\\n */\nlet FluentDesignSystemProvider = class FluentDesignSystemProvider extends DesignSystemProvider {\n constructor() {\n super(...arguments);\n /**\n * Used to instruct the FASTDesignSystemProvider\n * that it should not set the CSS\n * background-color and color properties\n *\n * @remarks\n * HTML boolean boolean attribute: no-paint\n */\n this.noPaint = false;\n }\n noPaintChanged() {\n if (!this.noPaint && this.backgroundColor !== void 0) {\n this.$fastController.addStyles(backgroundStyles);\n }\n else {\n this.$fastController.removeStyles(backgroundStyles);\n }\n }\n backgroundColorChanged() {\n // If background changes or is removed, we need to\n // re-evaluate whether we should have paint styles applied\n this.noPaintChanged();\n }\n};\n__decorate([\n attr({ attribute: 'no-paint', mode: 'boolean' })\n], FluentDesignSystemProvider.prototype, \"noPaint\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'background-color',\n default: DesignSystemDefaults.backgroundColor,\n })\n], FluentDesignSystemProvider.prototype, \"backgroundColor\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'accent-base-color',\n cssCustomProperty: false,\n default: DesignSystemDefaults.accentBaseColor,\n })\n], FluentDesignSystemProvider.prototype, \"accentBaseColor\", void 0);\n__decorate([\n designSystemProperty({\n attribute: false,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralPalette,\n })\n], FluentDesignSystemProvider.prototype, \"neutralPalette\", void 0);\n__decorate([\n designSystemProperty({\n attribute: false,\n cssCustomProperty: false,\n default: DesignSystemDefaults.accentPalette,\n })\n], FluentDesignSystemProvider.prototype, \"accentPalette\", void 0);\n__decorate([\n designSystemProperty({\n default: DesignSystemDefaults.density,\n converter: nullableNumberConverter,\n })\n], FluentDesignSystemProvider.prototype, \"density\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'design-unit',\n converter: nullableNumberConverter,\n default: DesignSystemDefaults.designUnit,\n })\n], FluentDesignSystemProvider.prototype, \"designUnit\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'direction',\n cssCustomProperty: false,\n default: DesignSystemDefaults.direction,\n })\n], FluentDesignSystemProvider.prototype, \"direction\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'base-height-multiplier',\n default: DesignSystemDefaults.baseHeightMultiplier,\n converter: nullableNumberConverter,\n })\n], FluentDesignSystemProvider.prototype, \"baseHeightMultiplier\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'base-horizontal-spacing-multiplier',\n converter: nullableNumberConverter,\n default: DesignSystemDefaults.baseHorizontalSpacingMultiplier,\n })\n], FluentDesignSystemProvider.prototype, \"baseHorizontalSpacingMultiplier\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'corner-radius',\n converter: nullableNumberConverter,\n default: DesignSystemDefaults.cornerRadius,\n })\n], FluentDesignSystemProvider.prototype, \"cornerRadius\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'elevated-corner-radius',\n converter: nullableNumberConverter,\n default: DesignSystemDefaults.elevatedCornerRadius,\n })\n], FluentDesignSystemProvider.prototype, \"elevatedCornerRadius\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'outline-width',\n converter: nullableNumberConverter,\n default: DesignSystemDefaults.outlineWidth,\n })\n], FluentDesignSystemProvider.prototype, \"outlineWidth\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'focus-outline-width',\n converter: nullableNumberConverter,\n default: DesignSystemDefaults.focusOutlineWidth,\n })\n], FluentDesignSystemProvider.prototype, \"focusOutlineWidth\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'disabled-opacity',\n converter: nullableNumberConverter,\n default: DesignSystemDefaults.disabledOpacity,\n })\n], FluentDesignSystemProvider.prototype, \"disabledOpacity\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-minus-2-font-size',\n default: '10px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampMinus2FontSize\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-minus-2-line-height',\n default: '16px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampMinus2LineHeight\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-minus-1-font-size',\n default: '12px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampMinus1FontSize\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-minus-1-line-height',\n default: '16px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampMinus1LineHeight\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-base-font-size',\n default: '14px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampBaseFontSize\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-base-line-height',\n default: '20px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampBaseLineHeight\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-plus-1-font-size',\n default: '16px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampPlus1FontSize\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-plus-1-line-height',\n default: '24px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampPlus1LineHeight\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-plus-2-font-size',\n default: '20px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampPlus2FontSize\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-plus-2-line-height',\n default: '28px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampPlus2LineHeight\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-plus-3-font-size',\n default: '28px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampPlus3FontSize\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-plus-3-line-height',\n default: '36px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampPlus3LineHeight\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-plus-4-font-size',\n default: '34px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampPlus4FontSize\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-plus-4-line-height',\n default: '44px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampPlus4LineHeight\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-plus-5-font-size',\n default: '46px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampPlus5FontSize\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-plus-5-line-height',\n default: '56px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampPlus5LineHeight\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-plus-6-font-size',\n default: '60px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampPlus6FontSize\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'type-ramp-plus-6-line-height',\n default: '72px',\n })\n], FluentDesignSystemProvider.prototype, \"typeRampPlus6LineHeight\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'accent-fill-rest-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.accentFillRestDelta,\n })\n], FluentDesignSystemProvider.prototype, \"accentFillRestDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'accent-fill-hover-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.accentFillHoverDelta,\n })\n], FluentDesignSystemProvider.prototype, \"accentFillHoverDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'accent-fill-active-delta',\n cssCustomProperty: false,\n converter: nullableNumberConverter,\n default: DesignSystemDefaults.accentFillActiveDelta,\n })\n], FluentDesignSystemProvider.prototype, \"accentFillActiveDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'accent-fill-focus-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.accentFillFocusDelta,\n })\n], FluentDesignSystemProvider.prototype, \"accentFillFocusDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'accent-fill-selected-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.accentFillSelectedDelta,\n })\n], FluentDesignSystemProvider.prototype, \"accentFillSelectedDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'accent-foreground-rest-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.accentForegroundRestDelta,\n })\n], FluentDesignSystemProvider.prototype, \"accentForegroundRestDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'accent-foreground-hover-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.accentForegroundHoverDelta,\n })\n], FluentDesignSystemProvider.prototype, \"accentForegroundHoverDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'accent-foreground-active-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.accentForegroundActiveDelta,\n })\n], FluentDesignSystemProvider.prototype, \"accentForegroundActiveDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'accent-foreground-focus-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.accentForegroundFocusDelta,\n })\n], FluentDesignSystemProvider.prototype, \"accentForegroundFocusDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-rest-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillRestDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillRestDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-hover-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillHoverDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillHoverDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-active-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillActiveDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillActiveDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-focus-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillFocusDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillFocusDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-selected-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillSelectedDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillSelectedDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-input-rest-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillInputRestDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillInputRestDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-input-hover-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillInputHoverDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillInputHoverDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-input-active-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillInputActiveDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillInputActiveDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-input-focus-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillInputFocusDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillInputFocusDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-input-selected-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillInputSelectedDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillInputSelectedDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-stealth-rest-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillStealthRestDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillStealthRestDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-stealth-hover-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillStealthHoverDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillStealthHoverDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-stealth-active-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillStealthActiveDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillStealthActiveDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-stealth-focus-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillStealthFocusDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillStealthFocusDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-stealth-selected-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillStealthSelectedDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillStealthSelectedDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-toggle-hover-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillToggleHoverDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillToggleHoverDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-toggle-hover-active',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillToggleActiveDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillToggleActiveDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-toggle-hover-focus',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillToggleFocusDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillToggleFocusDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'base-layer-luminance',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.baseLayerLuminance,\n })\n], FluentDesignSystemProvider.prototype, \"baseLayerLuminance\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-fill-card-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralFillCardDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralFillCardDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-foreground-hover-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralForegroundHoverDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralForegroundHoverDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-foreground-active-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralForegroundActiveDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralForegroundActiveDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-foreground-focus-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralForegroundFocusDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralForegroundFocusDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-divider-rest-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralDividerRestDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralDividerRestDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-outline-rest-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralOutlineRestDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralOutlineRestDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-outline-hover-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralOutlineHoverDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralOutlineHoverDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-outline-active-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralOutlineActiveDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralOutlineActiveDelta\", void 0);\n__decorate([\n designSystemProperty({\n attribute: 'neutral-outline-focus-delta',\n converter: nullableNumberConverter,\n cssCustomProperty: false,\n default: DesignSystemDefaults.neutralOutlineFocusDelta,\n })\n], FluentDesignSystemProvider.prototype, \"neutralOutlineFocusDelta\", void 0);\nFluentDesignSystemProvider = __decorate([\n designSystemProvider({\n name: 'fluent-design-system-provider',\n template,\n styles,\n })\n], FluentDesignSystemProvider);\nexport { FluentDesignSystemProvider };\n","/**\n * Checks if `value` is `null` or `undefined`.\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 nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\nfunction isNil(value) {\n return value == null;\n}\n\nexport default isNil;\n","'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 _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\nexports['default'] = jssGlobal;\n\nvar _jss = require('jss');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar propKey = '@global';\nvar prefixKey = '@global ';\n\nvar GlobalContainerRule = function () {\n function GlobalContainerRule(key, styles, options) {\n _classCallCheck(this, GlobalContainerRule);\n\n this.type = 'global';\n\n this.key = key;\n this.options = options;\n this.rules = new _jss.RuleList(_extends({}, options, {\n parent: this\n }));\n\n for (var selector in styles) {\n this.rules.add(selector, styles[selector], { selector: selector });\n }\n\n this.rules.process();\n }\n\n /**\n * Get a rule.\n */\n\n\n _createClass(GlobalContainerRule, [{\n key: 'getRule',\n value: function getRule(name) {\n return this.rules.get(name);\n }\n\n /**\n * Create and register rule, run plugins.\n */\n\n }, {\n key: 'addRule',\n value: function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n\n /**\n * Get index of a rule.\n */\n\n }, {\n key: 'indexOf',\n value: function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n\n /**\n * Generates a CSS string.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n return this.rules.toString();\n }\n }]);\n\n return GlobalContainerRule;\n}();\n\nvar GlobalPrefixedRule = function () {\n function GlobalPrefixedRule(name, style, options) {\n _classCallCheck(this, GlobalPrefixedRule);\n\n this.name = name;\n this.options = options;\n var selector = name.substr(prefixKey.length);\n this.rule = options.jss.createRule(selector, style, _extends({}, options, {\n parent: this,\n selector: selector\n }));\n }\n\n _createClass(GlobalPrefixedRule, [{\n key: 'toString',\n value: function toString(options) {\n return this.rule.toString(options);\n }\n }]);\n\n return GlobalPrefixedRule;\n}();\n\nvar separatorRegExp = /\\s*,\\s*/g;\n\nfunction addScope(selector, scope) {\n var parts = selector.split(separatorRegExp);\n var scoped = '';\n for (var i = 0; i < parts.length; i++) {\n scoped += scope + ' ' + parts[i].trim();\n if (parts[i + 1]) scoped += ', ';\n }\n return scoped;\n}\n\nfunction handleNestedGlobalContainerRule(rule) {\n var options = rule.options,\n style = rule.style;\n\n var rules = style[propKey];\n\n if (!rules) return;\n\n for (var name in rules) {\n options.sheet.addRule(name, rules[name], _extends({}, options, {\n selector: addScope(name, rule.selector)\n }));\n }\n\n delete style[propKey];\n}\n\nfunction handlePrefixedGlobalRule(rule) {\n var options = rule.options,\n style = rule.style;\n\n for (var prop in style) {\n if (prop.substr(0, propKey.length) !== propKey) continue;\n\n var selector = addScope(prop.substr(propKey.length), rule.selector);\n options.sheet.addRule(selector, style[prop], _extends({}, options, {\n selector: selector\n }));\n delete style[prop];\n }\n}\n\n/**\n * Convert nested rules to separate, remove them from original styles.\n *\n * @param {Rule} rule\n * @api public\n */\nfunction jssGlobal() {\n function onCreateRule(name, styles, options) {\n if (name === propKey) {\n return new GlobalContainerRule(name, styles, options);\n }\n\n if (name[0] === '@' && name.substr(0, prefixKey.length) === prefixKey) {\n return new GlobalPrefixedRule(name, styles, options);\n }\n\n var parent = options.parent;\n\n\n if (parent) {\n if (parent.type === 'global' || parent.options.parent.type === 'global') {\n options.global = true;\n }\n }\n\n if (options.global) options.selector = name;\n\n return null;\n }\n\n function onProcessRule(rule) {\n if (rule.type !== 'style') return;\n\n handleNestedGlobalContainerRule(rule);\n handlePrefixedGlobalRule(rule);\n }\n\n return { onCreateRule: onCreateRule, onProcessRule: onProcessRule };\n}","'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\nexports.default = jssNested;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar separatorRegExp = /\\s*,\\s*/g;\nvar parentRegExp = /&/g;\nvar refRegExp = /\\$([\\w-]+)/g;\n\n/**\n * Convert nested rules to separate, remove them from original styles.\n *\n * @param {Rule} rule\n * @api public\n */\nfunction jssNested() {\n // Get a function to be used for $ref replacement.\n function getReplaceRef(container) {\n return function (match, key) {\n var rule = container.getRule(key);\n if (rule) return rule.selector;\n (0, _warning2.default)(false, '[JSS] Could not find the referenced rule %s in %s.', key, container.options.meta || container);\n return key;\n };\n }\n\n var hasAnd = function hasAnd(str) {\n return str.indexOf('&') !== -1;\n };\n\n function replaceParentRefs(nestedProp, parentProp) {\n var parentSelectors = parentProp.split(separatorRegExp);\n var nestedSelectors = nestedProp.split(separatorRegExp);\n\n var result = '';\n\n for (var i = 0; i < parentSelectors.length; i++) {\n var parent = parentSelectors[i];\n\n for (var j = 0; j < nestedSelectors.length; j++) {\n var nested = nestedSelectors[j];\n if (result) result += ', ';\n // Replace all & by the parent or prefix & with the parent.\n result += hasAnd(nested) ? nested.replace(parentRegExp, parent) : parent + ' ' + nested;\n }\n }\n\n return result;\n }\n\n function getOptions(rule, container, options) {\n // Options has been already created, now we only increase index.\n if (options) return _extends({}, options, { index: options.index + 1 });\n\n var nestingLevel = rule.options.nestingLevel;\n\n nestingLevel = nestingLevel === undefined ? 1 : nestingLevel + 1;\n\n return _extends({}, rule.options, {\n nestingLevel: nestingLevel,\n index: container.indexOf(rule) + 1\n });\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n var container = rule.options.parent;\n var options = void 0;\n var replaceRef = void 0;\n for (var prop in style) {\n var isNested = hasAnd(prop);\n var isNestedConditional = prop[0] === '@';\n\n if (!isNested && !isNestedConditional) continue;\n\n options = getOptions(rule, container, options);\n\n if (isNested) {\n var selector = replaceParentRefs(prop, rule.selector\n // Lazily create the ref replacer function just once for\n // all nested rules within the sheet.\n );if (!replaceRef) replaceRef = getReplaceRef(container\n // Replace all $refs.\n );selector = selector.replace(refRegExp, replaceRef);\n\n container.addRule(selector, style[prop], _extends({}, options, { selector: selector }));\n } else if (isNestedConditional) {\n container\n // Place conditional right after the parent rule to ensure right ordering.\n .addRule(prop, null, options).addRule(rule.key, style[prop], { selector: rule.selector });\n }\n\n delete style[prop];\n }\n\n return style;\n }\n\n return { onProcessStyle: onProcessStyle };\n}","/*!\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n */\r\nexport var PlatformType;\r\n(function (PlatformType) {\r\n PlatformType[\"App\"] = \"app\";\r\n PlatformType[\"Web\"] = \"web\";\r\n})(PlatformType || (PlatformType = {}));\r\n//# sourceMappingURL=PlatformType.js.map","import { black, white } from \"./color-constants\";\nimport { contrast } from \"./common\";\nimport { neutralFillToggleRest } from \"./neutral-fill-toggle\";\n/**\n * Function to derive neutralForegroundToggle from an input background and target contrast ratio\n */\nconst neutralForegroundToggleAlgorithm = (backgroundColor, targetContrast) => {\n return contrast(white, backgroundColor) >= targetContrast ? white : black;\n};\n/**\n * Factory to create a neutral-foreground-toggle function that operates on a target contrast ratio\n */\nfunction neutralForegroundToggleFactory(targetContrast) {\n function neutralForegroundToggleInternal(arg) {\n return typeof arg === \"function\"\n ? (designSystem) => {\n return neutralForegroundToggleAlgorithm(arg(designSystem), targetContrast);\n }\n : neutralForegroundToggleAlgorithm(neutralFillToggleRest(arg), targetContrast);\n }\n return neutralForegroundToggleInternal;\n}\n/**\n * Toggle text for normal sized text, less than 18pt normal weight\n */\nexport const neutralForegroundToggle = neutralForegroundToggleFactory(4.5);\n/**\n * Toggle text for large sized text, greater than 18pt or 16pt and bold\n */\nexport const neutralForegroundToggleLarge = neutralForegroundToggleFactory(3);\n","import { backgroundColor, neutralFillCardDelta, neutralPalette } from \"../design-system\";\nimport { findClosestSwatchIndex, getSwatch } from \"./palette\";\nconst neutralCardFillAlgorithm = (designSystem) => {\n const offset = neutralFillCardDelta(designSystem);\n const index = findClosestSwatchIndex(neutralPalette, backgroundColor(designSystem))(designSystem);\n return getSwatch(index - (index < offset ? offset * -1 : offset), neutralPalette(designSystem));\n};\nexport function neutralFillCard(arg) {\n if (typeof arg === \"function\") {\n return (designSystem) => {\n return neutralCardFillAlgorithm(Object.assign({}, designSystem, { backgroundColor: arg(designSystem) }));\n };\n }\n else {\n return neutralCardFillAlgorithm(arg);\n }\n}\n","import { cssCustomPropertyBehaviorFactory } from '@microsoft/fast-foundation';\nimport { accentBaseColor, accentFill, accentFillLarge, accentForeground, accentForegroundCut, accentForegroundLarge, direction, neutralDividerRest, neutralFill, neutralFillCard, neutralFillInput, neutralFillStealth, neutralFillToggle, neutralFocus, neutralFocusInnerAccent, neutralForeground, neutralForegroundHint, neutralForegroundHintLarge, neutralForegroundToggle, neutralForegroundToggleLarge, neutralLayerCard, neutralLayerCardContainer, neutralLayerFloating, neutralLayerL1, neutralLayerL1Alt, neutralLayerL2, neutralLayerL3, neutralLayerL4, neutralOutline, } from '@microsoft/fast-components-styles-msft';\nimport { Direction } from '@microsoft/fast-web-utilities';\nimport { FluentDesignSystemProvider } from '../design-system-provider';\n/**\n * Behavior to resolve and make available the neutral-foreground-rest CSS custom property.\n * @public\n */\nexport const neutralForegroundRestBehavior = cssCustomPropertyBehaviorFactory('neutral-foreground-rest', x => neutralForeground(x).rest, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-foreground-hover CSS custom property.\n * @public\n */\nexport const neutralForegroundHoverBehavior = cssCustomPropertyBehaviorFactory('neutral-foreground-hover', x => neutralForeground(x).hover, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-foreground-active CSS custom property.\n * @public\n */\nexport const neutralForegroundActiveBehavior = cssCustomPropertyBehaviorFactory('neutral-foreground-active', x => neutralForeground(x).active, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-foreground-focus CSS custom property.\n * @public\n */\nexport const neutralForegroundFocusBehavior = cssCustomPropertyBehaviorFactory('neutral-foreground-focus', x => neutralForeground(x).focus, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-foreground-toggle CSS custom property.\n * @public\n */\nexport const neutralForegroundToggleBehavior = cssCustomPropertyBehaviorFactory('neutral-foreground-toggle', neutralForegroundToggle, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-foreground-toggle-large CSS custom property.\n * @public\n */\nexport const neutralForegroundToggleLargeBehavior = cssCustomPropertyBehaviorFactory('neutral-foreground-toggle-large', neutralForegroundToggleLarge, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-foreground-hint CSS custom property.\n * @public\n */\nexport const neutralForegroundHintBehavior = cssCustomPropertyBehaviorFactory('neutral-foreground-hint', neutralForegroundHint, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-foreground-hint-large CSS custom property.\n * @public\n */\nexport const neutralForegroundHintLargeBehavior = cssCustomPropertyBehaviorFactory('neutral-foreground-hint-large', neutralForegroundHintLarge, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-foreground-rest CSS custom property.\n * @public\n */\nexport const accentForegroundRestBehavior = cssCustomPropertyBehaviorFactory('accent-foreground-rest', x => accentForeground(x).rest, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-foreground-hover CSS custom property.\n * @public\n */\nexport const accentForegroundHoverBehavior = cssCustomPropertyBehaviorFactory('accent-foreground-hover', x => accentForeground(x).hover, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-foreground-active CSS custom property.\n * @public\n */\nexport const accentForegroundActiveBehavior = cssCustomPropertyBehaviorFactory('accent-foreground-active', x => accentForeground(x).active, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-foreground-focus CSS custom property.\n * @public\n */\nexport const accentForegroundFocusBehavior = cssCustomPropertyBehaviorFactory('accent-foreground-focus', x => accentForeground(x).focus, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-foreground-cut-rest CSS custom property.\n * @public\n */\nexport const accentForegroundCutRestBehavior = cssCustomPropertyBehaviorFactory('accent-foreground-cut-rest', x => accentForegroundCut(x), FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-foreground-large-rest CSS custom property.\n * @public\n */\nexport const accentForegroundLargeRestBehavior = cssCustomPropertyBehaviorFactory('accent-foreground-large-rest', x => accentForegroundLarge(x).rest, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-foreground-large-hover CSS custom property.\n * @public\n */\nexport const accentForegroundLargeHoverBehavior = cssCustomPropertyBehaviorFactory('accent-foreground-large-hover', x => accentForegroundLarge(x).hover, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-foreground-large-active CSS custom property.\n * @public\n */\nexport const accentForegroundLargeActiveBehavior = cssCustomPropertyBehaviorFactory('accent-foreground-large-active', x => accentForegroundLarge(x).active, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-foreground-large-focus CSS custom property.\n * @public\n */\nexport const accentForegroundLargeFocusBehavior = cssCustomPropertyBehaviorFactory('accent-foreground-large-focus', x => accentForegroundLarge(x).focus, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-rest CSS custom property.\n * @public\n */\nexport const neutralFillRestBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-rest', x => neutralFill(x).rest, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-hover CSS custom property.\n * @public\n */\nexport const neutralFillHoverBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-hover', x => neutralFill(x).hover, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-active CSS custom property.\n * @public\n */\nexport const neutralFillActiveBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-active', x => neutralFill(x).active, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-focus CSS custom property.\n * @public\n */\nexport const neutralFillFocusBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-focus', x => neutralFill(x).focus, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-selected CSS custom property.\n * @public\n */\nexport const neutralFillSelectedBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-selected', x => neutralFill(x).selected, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-stealth-rest CSS custom property.\n * @public\n */\nexport const neutralFillStealthRestBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-stealth-rest', x => neutralFillStealth(x).rest, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-stealth-hover CSS custom property.\n * @public\n */\nexport const neutralFillStealthHoverBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-stealth-hover', x => neutralFillStealth(x).hover, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-stealth-active CSS custom property.\n * @public\n */\nexport const neutralFillStealthActiveBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-stealth-active', x => neutralFillStealth(x).active, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-stealth-focus CSS custom property.\n * @public\n */\nexport const neutralFillStealthFocusBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-stealth-focus', x => neutralFillStealth(x).focus, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-stealth-selected CSS custom property.\n * @public\n */\nexport const neutralFillStealthSelectedBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-stealth-selected', x => neutralFillStealth(x).selected, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-toggle-rest CSS custom property.\n * @public\n */\nexport const neutralFillToggleRestBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-toggle-rest', x => neutralFillToggle(x).rest, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-toggle-hover CSS custom property.\n * @public\n */\nexport const neutralFillToggleHoverBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-toggle-hover', x => neutralFillToggle(x).hover, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-toggle-active CSS custom property.\n * @public\n */\nexport const neutralFillToggleActiveBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-toggle-active', x => neutralFillToggle(x).active, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-toggle-focus CSS custom property.\n * @public\n */\nexport const neutralFillToggleFocusBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-toggle-focus', x => neutralFillToggle(x).focus, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-input-rest CSS custom property.\n * @public\n */\nexport const neutralFillInputRestBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-input-rest', x => neutralFillInput(x).rest, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-input-hover CSS custom property.\n * @public\n */\nexport const neutralFillInputHoverBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-input-hover', x => neutralFillInput(x).hover, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-input-active CSS custom property.\n * @public\n */\nexport const neutralFillInputActiveBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-input-active', x => neutralFillInput(x).active, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-input-focus CSS custom property.\n * @public\n */\nexport const neutralFillInputFocusBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-input-focus', x => neutralFillInput(x).focus, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-fill-rest CSS custom property.\n * @public\n */\nexport const accentFillRestBehavior = cssCustomPropertyBehaviorFactory('accent-fill-rest', x => accentFill(x).rest, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-fill-hover CSS custom property.\n * @public\n */\nexport const accentFillHoverBehavior = cssCustomPropertyBehaviorFactory('accent-fill-hover', x => accentFill(x).hover, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-fill-active CSS custom property.\n * @public\n */\nexport const accentFillActiveBehavior = cssCustomPropertyBehaviorFactory('accent-fill-active', x => accentFill(x).active, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-fill-focus CSS custom property.\n * @public\n */\nexport const accentFillFocusBehavior = cssCustomPropertyBehaviorFactory('accent-fill-focus', x => accentFill(x).focus, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-fill-selected CSS custom property.\n * @public\n */\nexport const accentFillSelectedBehavior = cssCustomPropertyBehaviorFactory('accent-fill-selected', x => accentFill(x).selected, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-fill-large-rest CSS custom property.\n * @public\n */\nexport const accentFillLargeRestBehavior = cssCustomPropertyBehaviorFactory('accent-fill-large-rest', x => accentFillLarge(x).rest, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-fill-large-hover CSS custom property.\n * @public\n */\nexport const accentFillLargeHoverBehavior = cssCustomPropertyBehaviorFactory('accent-fill-large-hover', x => accentFillLarge(x).hover, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-fill-large-active CSS custom property.\n * @public\n */\nexport const accentFillLargeActiveBehavior = cssCustomPropertyBehaviorFactory('accent-fill-large-active', x => accentFillLarge(x).active, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-fill-large-focus CSS custom property.\n * @public\n */\nexport const accentFillLargeFocusBehavior = cssCustomPropertyBehaviorFactory('accent-fill-large-focus', x => accentFillLarge(x).focus, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the accent-fill-large-selected CSS custom property.\n * @public\n */\nexport const accentFillLargeSelectedBehavior = cssCustomPropertyBehaviorFactory('accent-fill-large-selected', x => accentFillLarge(x).selected, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-fill-card-rest CSS custom property.\n * @public\n */\nexport const neutralFillCardRestBehavior = cssCustomPropertyBehaviorFactory('neutral-fill-card-rest', x => neutralFillCard(x), FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-outline-rest CSS custom property.\n * @public\n */\nexport const neutralOutlineRestBehavior = cssCustomPropertyBehaviorFactory('neutral-outline-rest', x => neutralOutline(x).rest, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-outline-hover CSS custom property.\n * @public\n */\nexport const neutralOutlineHoverBehavior = cssCustomPropertyBehaviorFactory('neutral-outline-hover', x => neutralOutline(x).hover, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-outline-active CSS custom property.\n * @public\n */\nexport const neutralOutlineActiveBehavior = cssCustomPropertyBehaviorFactory('neutral-outline-active', x => neutralOutline(x).active, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-outline-focus CSS custom property.\n * @public\n */\nexport const neutralOutlineFocusBehavior = cssCustomPropertyBehaviorFactory('neutral-outline-focus', x => neutralOutline(x).focus, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-divider-rest CSS custom property.\n * @public\n */\nexport const neutralDividerRestBehavior = cssCustomPropertyBehaviorFactory('neutral-divider-rest', neutralDividerRest, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-layer-floating CSS custom property.\n * @public\n */\nexport const neutralLayerFloatingBehavior = cssCustomPropertyBehaviorFactory('neutral-layer-floating', neutralLayerFloating, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-layer-card CSS custom property.\n * @public\n */\nexport const neutralLayerCardBehavior = cssCustomPropertyBehaviorFactory('neutral-layer-card', neutralLayerCard, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-layer-card-container CSS custom property.\n * @public\n */\nexport const neutralLayerCardContainerBehavior = cssCustomPropertyBehaviorFactory('neutral-layer-card-container', neutralLayerCardContainer, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-layer-l1 CSS custom property.\n * @public\n */\nexport const neutralLayerL1Behavior = cssCustomPropertyBehaviorFactory('neutral-layer-l1', neutralLayerL1, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-layer-l1-alt CSS custom property.\n * @public\n */\nexport const neutralLayerL1AltBehavior = cssCustomPropertyBehaviorFactory('neutral-layer-l1-alt', neutralLayerL1Alt, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-layer-l2 CSS custom property.\n * @public\n */\nexport const neutralLayerL2Behavior = cssCustomPropertyBehaviorFactory('neutral-layer-l2', neutralLayerL2, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-layer-l3 CSS custom property.\n * @public\n */\nexport const neutralLayerL3Behavior = cssCustomPropertyBehaviorFactory('neutral-layer-l3', neutralLayerL3, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-layer-l4 CSS custom property.\n * @public\n */\nexport const neutralLayerL4Behavior = cssCustomPropertyBehaviorFactory('neutral-layer-l4', neutralLayerL4, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-focus CSS custom property.\n * @public\n */\nexport const neutralFocusBehavior = cssCustomPropertyBehaviorFactory('neutral-focus', neutralFocus, FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the neutral-focus-inner-accent CSS custom property.\n * @public\n */\nexport const neutralFocusInnerAccentBehavior = cssCustomPropertyBehaviorFactory('neutral-focus-inner-accent', neutralFocusInnerAccent(accentBaseColor), FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the inline-start CSS custom property.\n *\n * @remarks\n * Replaces the inline-start value for the {@link https://developer.mozilla.org/en-US/docs/Web/CSS/float | float} property\n * when the native value is not supported.\n *\n * @public\n * @example\n * ```ts\n * import { css } from \"@microsoft/fast-element\";\n * import { inlineStartBehavior } from \"@microsoft/fast-components-msft\";\n *\n * css`\n * :host {\n * float: ${inlineStartBehavior.var};\n * }\n * `.withBehaviors(inlineStartBehavior)\n * ```\n */\nexport const inlineStartBehavior = cssCustomPropertyBehaviorFactory('inline-start', (designSystem) => (direction(designSystem) === Direction.ltr ? 'left' : 'right'), FluentDesignSystemProvider.findProvider);\n/**\n * Behavior to resolve and make available the inline-end CSS custom property.\n *\n * @remarks\n * Replaces the inline-end value for the {@link https://developer.mozilla.org/en-US/docs/Web/CSS/float | float} property\n * when the native value is not supported.\n *\n * @public\n * @example\n * ```ts\n * import { css } from \"@microsoft/fast-element\";\n * import { inlineEndBehavior } from \"@microsoft/fast-components-msft\";\n *\n * css`\n * :host {\n * float: ${inlineEndBehavior.var};\n * }\n * `.withBehaviors(inlineEndBehavior)\n * ```\n */\nexport const inlineEndBehavior = cssCustomPropertyBehaviorFactory('inline-end', (designSystem) => (direction(designSystem) === Direction.ltr ? 'right' : 'left'), FluentDesignSystemProvider.findProvider);\n","import baseFindIndex from './_baseFindIndex.js';\nimport baseIteratee from './_baseIteratee.js';\nimport toInteger from './toInteger.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\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] 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 == null ? 0 : array.length;\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\nexport default findIndex;\n","import React, { Children } from 'react';\nimport PropTypes from 'prop-types';\nimport { subspace } from 'redux-subspace';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\nimport wrapDisplayName from 'recompose/wrapDisplayName';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nvar SubspaceProvider =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inheritsLoose(SubspaceProvider, _React$PureComponent);\n\n function SubspaceProvider() {\n return _React$PureComponent.apply(this, arguments) || this;\n }\n\n var _proto = SubspaceProvider.prototype;\n\n _proto.getChildContext = function getChildContext() {\n var makeSubspaceDecorator = function makeSubspaceDecorator(props) {\n return props.subspaceDecorator || subspace(props.mapState, props.namespace);\n };\n\n return {\n store: makeSubspaceDecorator(this.props)(this.context.store)\n };\n };\n\n _proto.render = function render() {\n return Children.only(this.props.children);\n };\n\n return SubspaceProvider;\n}(React.PureComponent);\n\nSubspaceProvider.propTypes = {\n children: PropTypes.element.isRequired,\n mapState:\n /*#__PURE__*/\n PropTypes.oneOfType([PropTypes.func, PropTypes.string]),\n namespace: PropTypes.string,\n subspaceDecorator: PropTypes.func\n};\nSubspaceProvider.contextTypes = {\n store: PropTypes.object.isRequired\n};\nSubspaceProvider.childContextTypes = {\n store: PropTypes.object\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\n\nvar subspaced = function subspaced(mapState, namespace) {\n var subspaceDecorator = subspace(mapState, namespace);\n return function (WrappedComponent) {\n var SubspacedComponent = function SubspacedComponent(props) {\n return React.createElement(SubspaceProvider, {\n subspaceDecorator: subspaceDecorator\n }, React.createElement(WrappedComponent, props));\n };\n\n hoistNonReactStatics(SubspacedComponent, WrappedComponent);\n SubspacedComponent.displayName = wrapDisplayName(WrappedComponent, 'Subspaced');\n return SubspacedComponent;\n };\n};\n\n/**\n * Copyright 2017, IOOF Holdings Limited.\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.\n */\n\nexport { subspaced, SubspaceProvider };\n","function performOperation(operation) {\n return (...args) => {\n return (designSystem) => {\n const firstArg = args[0];\n let value = typeof firstArg === \"function\" ? firstArg(designSystem) : firstArg;\n for (let i = 1; i < args.length; i++) {\n const currentValue = args[i];\n value = operation(value, typeof currentValue === \"function\"\n ? currentValue(designSystem)\n : currentValue);\n }\n return value;\n };\n };\n}\nconst _add = performOperation((a, b) => a + b);\nconst _subtract = performOperation((a, b) => a - b);\nconst _multiply = performOperation((a, b) => a * b);\nconst _divide = performOperation((a, b) => a / b);\n/**\n * Adds numbers or functions that accept a design system and return a number.\n */\nexport function add(...args) {\n return _add.apply(this, args);\n}\n/**\n * Subtract numbers or functions that accept a design system and return a number.\n */\nexport function subtract(...args) {\n return _subtract.apply(this, args);\n}\n/**\n * Multiplies numbers or functions that accept a design system and return a number.\n */\nexport function multiply(...args) {\n return _multiply.apply(this, args);\n}\n/**\n * Divides numbers or functions that accept a design system and return a number.\n */\nexport function divide(...args) {\n return _divide.apply(this, args);\n}\n","/**\n * Expose ltr and rtl strings\n */\nexport var Direction;\n(function (Direction) {\n Direction[\"ltr\"] = \"ltr\";\n Direction[\"rtl\"] = \"rtl\";\n})(Direction || (Direction = {}));\n/**\n * Localizes top/left/bottom/right formatted arguments, such as the format used by CSS's padding and margin\n * properties.\n * eg. when dir is RTL, \"2px 3px 4px 5px\" -> \"2px 5px 4px 3px\"\n */\nexport function localizeSpacing(dir) {\n return (value) => {\n if (typeof value !== \"string\") {\n return \"\";\n }\n const space = \" \";\n const split = value.split(space);\n return split.length !== 4\n ? value\n : dir === Direction.rtl\n ? [split[0], split[3], split[2], split[1]].join(space)\n : value;\n };\n}\n/**\n * Returns a css property based on a given direction value\n */\nexport function applyLocalizedProperty(ltrProperty, rtlProperty, dir) {\n return dir === Direction.ltr ? ltrProperty : rtlProperty;\n}\n/**\n * Utility for returning one of two values, where the predicate is the\n * direction property on the design-system. If provided values are functions,\n * the function will return the return value of the function invoked with\n * the design system\n */\nexport function directionSwitch(ltr, rtl) {\n return (designSystem) => {\n const dir = designSystem && designSystem.direction\n ? designSystem.direction\n : Direction.ltr;\n const value = dir === Direction.rtl ? rtl : ltr;\n return typeof value === \"function\"\n ? value(designSystem)\n : value;\n };\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","import { Guid } from \"cms-infrastructure-javascriptextensions/Guid\";\r\nimport { LogItem } from \"./LogItem\";\r\nimport { LogLevel } from \"./LogLevel\";\r\nimport { LogType } from \"./LogType\";\r\nexport class ActivityLogItem extends LogItem {\r\n /**\r\n * Initializes a new instance of the `ActivityLogItem` class.\r\n * @constructor\r\n * @param Name {string} The name of the activity.\r\n * @param activityLoggingService {IActivityLoggingService} The activity logging service.\r\n * @param parentActivityId {string} The activity Id of the parent activity.\r\n * @param data {any} Any additional JSON data.\r\n * @param correlationVector? {string} The correlation vector.\r\n */\r\n constructor(name, parentActivityId, data, correlationVector) {\r\n super(name, data, LogType.BeginActivity, Guid.newGuid(), new Date(), parentActivityId);\r\n this.LogLevel = LogLevel.Activity;\r\n this.Ended = false;\r\n this.correlationVector = correlationVector;\r\n }\r\n}\r\n//# sourceMappingURL=ActivityLogItem.js.map","import { Guid } from \"cms-infrastructure-javascriptextensions/Guid\";\r\nimport { LogItem } from \"./LogItem\";\r\nimport { LogType } from \"./LogType\";\r\nimport { LogLevel } from \"./LogLevel\";\r\n/**\r\n * Represents a log item for a network activity.\r\n * @class\r\n */\r\nexport class NetworkActivityLogItem extends LogItem {\r\n /**\r\n * Initializes a new instance of the `NetworkActivityLogItem` class.\r\n * @constructor\r\n * @param name {string} The name of the activity.\r\n * @param serviceName {string} The name of the service being called.\r\n * @param requestUri? {string} The URI for the request.\r\n * @param requestHttpMethod? {string} The HTTP method of the request.\r\n * @param currentOperationName? {string} The name of the current operation.\r\n * @param correlationVector? {string} The correlation vector.\r\n * @param parentActivityId? {string} Parent activity id.\r\n * @param data {any} Any additional JSON data.\r\n */\r\n constructor(name, serviceName, requestUri, requestHttpMethod, currentOperationName, correlationVector, parentActivityId, data) {\r\n super(name, data, LogType.BeginNetworkActivity, Guid.newGuid(), new Date(), parentActivityId);\r\n this.serviceName = serviceName;\r\n this.LogLevel = LogLevel.Activity;\r\n this.Ended = false;\r\n this.requestUri = requestUri;\r\n this.requestHttpMethod = requestHttpMethod;\r\n this.currentOperationName = currentOperationName;\r\n this.correlationVector = correlationVector;\r\n }\r\n}\r\n//# sourceMappingURL=NetworkActivityLogItem.js.map","import { ActivityLogItem } from \"./models/ActivityLogItem\";\r\nimport { BaseService } from \"./BaseService\";\r\nimport { LogLevel } from \"./models/LogLevel\";\r\nimport { LogType } from \"./models/LogType\";\r\nimport { Logger } from \"./loggers/Logger\";\r\nimport { NetworkActivityLogItem } from \"./models/NetworkActivityLogItem\";\r\nimport { cloneDeep } from \"lodash-es\";\r\n/**\r\n * Class to log the activity messages by sending messages to all registered appenders.\r\n * @class\r\n */\r\nexport class ActivityLoggingService extends BaseService {\r\n /**\r\n * Initializes a new instance of the `ActivityLoggingService` class.\r\n * @constructor\r\n * @param logger {ILogger} The logger.\r\n * @param correlationVectorProvider? {ICorrelationVectorProvider} Provider to manage the correlation vector that is used to correlate the client and server events.\r\n */\r\n constructor(logger, correlationVectorProvider) {\r\n super(logger);\r\n this.correlationVectorProvider = correlationVectorProvider;\r\n }\r\n /**\r\n * Gets the instance of the `ActivityLoggingService` class.\r\n * @method\r\n * @param loggerName {string} Name of the logger.\r\n * @param correlationVectorProvider? {ICorrelationVectorProvider} Provider to manage the correlation vector that is used to correlate the client and server events.\r\n * @return {IActivityLoggingService} The instance of activity logging service indexed by logger name.\r\n */\r\n static getInstance(loggerName, correlationVectorProvider) {\r\n var name = loggerName || \"Default\";\r\n var instance = ActivityLoggingService.InstancesMap[name];\r\n if (instance) {\r\n return instance;\r\n }\r\n var logger = new Logger(name, LogLevel.Activity);\r\n instance = new ActivityLoggingService(logger, correlationVectorProvider);\r\n ActivityLoggingService.InstancesMap[name] = instance;\r\n return instance;\r\n }\r\n /**\r\n * Returns whether the activity logging is enabled or not.\r\n * @method\r\n * @return {boolean} True, if enabled. Otherwise, false.\r\n */\r\n isActivityEnabled() {\r\n return this.logger.isEnabledFor(LogLevel.Activity);\r\n }\r\n /**\r\n * Creates an activity and starts it. Calling code is responsible for calling end.\r\n * @param Name {string} The name of the activity.\r\n * @param parentActivity {IActivityLogItem} The parent activity.\r\n * @param data {any} Any additional JSON data.\r\n * @return {IActivityLogItem} The activity log item.\r\n * @description Method creates the activity if activity logging is enabled, otherwise checks the parent activity to check activity is\r\n * enabled at parent level. If enabled at parent activity exists then the method returns it.\r\n */\r\n createActivity(name, parentActivity, data) {\r\n if (this.isActivityEnabled()) {\r\n let parentActivityId;\r\n let correlationVector;\r\n if (parentActivity) {\r\n parentActivityId = parentActivity.ActivityId;\r\n correlationVector = this.getVectorForNewActivity(parentActivity, false);\r\n }\r\n let activityItem = new ActivityLogItem(name, parentActivityId, data, correlationVector);\r\n this.logger.log(LogLevel.Activity, activityItem);\r\n return activityItem;\r\n }\r\n else if (parentActivity) {\r\n return parentActivity;\r\n }\r\n return null;\r\n }\r\n /**\r\n * Creates an activity and starts it. Calling code is responsible for calling end.\r\n * @param callback {function} The callback function that results in string.\r\n * @param parentActivity {IActivityLogItem} The parent activity.\r\n * @param data {any} Any additional JSON data.\r\n * @return {IActivityLogItem} The activity log item.\r\n * @description Method creates the activity if activity logging is enabled, otherwise checks the parent activity to check activity is\r\n * enabled at parent level. If enabled at parent activity exists then the method returns it.\r\n */\r\n createActivityCallback(callback, parentActivity, data) {\r\n if (this.isActivityEnabled()) {\r\n return this.createActivity(callback(), parentActivity, data);\r\n }\r\n else if (parentActivity) {\r\n return parentActivity;\r\n }\r\n return null;\r\n }\r\n /**\r\n * Ends an activity, logging the end activity event.\r\n * @param activityItem {IActivityLogItem} The activity log item.\r\n */\r\n endActivity(activityItem) {\r\n if (this.isActivityEnabled() && activityItem && !activityItem.Ended) {\r\n activityItem.Ended = true;\r\n const dateTimeNow = new Date();\r\n const clonedActivityItem = cloneDeep(activityItem);\r\n clonedActivityItem.LogType = LogType.EndActivity;\r\n clonedActivityItem.LogDateTime = dateTimeNow;\r\n const elapsedTime = clonedActivityItem.LogDateTime.getTime() - activityItem.LogDateTime.getTime();\r\n // TODO: Remove elapsed time from the message. Inform consumers and mark it as breaking change.\r\n clonedActivityItem.Message = clonedActivityItem.Message + \" ElapsedTime (Milliseconds):\" + elapsedTime.toString();\r\n clonedActivityItem.elapsedTimeInMs = elapsedTime;\r\n this.logger.log(LogLevel.Activity, clonedActivityItem);\r\n }\r\n }\r\n /**\r\n * Creates a network activity. Caller is responsible for ending it.\r\n * @param name {string} The name of the activity.\r\n * @param serviceName {string} The name of the service being called.\r\n * @param requestUri? {string} The URI for the request.\r\n * @param requestHttpMethod? {string} The HTTP method of the request.\r\n * @param currentOperationName? {string} The name of the current operation.\r\n * @param correlationVector? {string} The correlation vector.\r\n * @param parentActivity? {IActivityLogItem} The parent activity.\r\n * @param data? {any} Any additional JSON data.\r\n * @returns {NetworkActivityLogItem} The network activity log item.\r\n */\r\n createNetworkActivity(name, serviceName, requestUri, requestHttpMethod, currentOperationName, correlationVector, parentActivity, data) {\r\n if (this.isActivityEnabled()) {\r\n if (!correlationVector && !parentActivity) {\r\n console.warn(\"'correlationVector' or 'parentActivity' is required to create network activity\");\r\n }\r\n let vector = correlationVector || this.getVectorForNewActivity(parentActivity, true);\r\n let parentActivityId = parentActivity ? parentActivity.ActivityId : \"\";\r\n return new NetworkActivityLogItem(name, serviceName, requestUri, requestHttpMethod, currentOperationName, vector, parentActivityId, data);\r\n }\r\n return null;\r\n }\r\n /**\r\n * Ends an activity where the request succeeded, logging the end network activity event (e.g. in Asimov appender, an OSR event).\r\n * @param activityItem {NetworkActivityLogItem} The network activity log item.\r\n * @param responseSize? {number} The size of the response.\r\n * @param responseStatusCode? {number} The resulting HTTP status code of the network request.\r\n * @returns {void}\r\n */\r\n endSuccessfulNetworkActivity(activityItem, responseSize, responseStatusCode) {\r\n this.endNetworkActivity(activityItem, true, responseSize, responseStatusCode);\r\n }\r\n /**\r\n * Ends an activity where the request failed, logging the end network activity event (e.g. in Asimov appender, an OSR event).\r\n * @param activityItem {NetworkActivityLogItem} The network activity log item.\r\n * @param responseSize? {number} The size of the response.\r\n * @param responseStatusCode? {number} The resulting HTTP status code of the network request.\r\n * @param errorMessage? {string} The error message from the network request, if any.\r\n * @returns {void}\r\n */\r\n endFailedNetworkActivity(activityItem, responseSize, responseStatusCode, errorMessage) {\r\n this.endNetworkActivity(activityItem, false, responseSize, responseStatusCode, errorMessage);\r\n }\r\n /**\r\n * Ends an activity, logging the end network activity event (e.g. in Asimov appender, an OSR event).\r\n * @param activityItem {NetworkActivityLogItem} The network activity log item.\r\n * @param successful {boolean} If the network request was successful or not.\r\n * @param responseSize? {number} The size of the response.\r\n * @param responseStatusCode? {number} The resulting HTTP status code of the network request.\r\n * @param errorMessage? {string} The error message from the network request, if any.\r\n * @returns {void}\r\n */\r\n endNetworkActivity(activityItem, successful, responseSize, responseStatusCode, errorMessage) {\r\n if (activityItem && !activityItem.Ended) {\r\n activityItem.Ended = true;\r\n let dateTimeNow = new Date();\r\n let clonedActivityItem = cloneDeep(activityItem);\r\n clonedActivityItem.LogType = LogType.EndNetworkActivity;\r\n clonedActivityItem.LogDateTime = dateTimeNow;\r\n clonedActivityItem.elapsedTimeInMs = clonedActivityItem.LogDateTime.getTime() - activityItem.LogDateTime.getTime();\r\n clonedActivityItem.successful = successful;\r\n clonedActivityItem.responseSize = responseSize;\r\n clonedActivityItem.responseStatusCode = responseStatusCode;\r\n clonedActivityItem.errorMessage = errorMessage;\r\n this.logger.log(LogLevel.Activity, clonedActivityItem);\r\n }\r\n }\r\n /**\r\n * Updates and returns the correlation vector based on the new activity type and its position as a child activity.\r\n * @method\r\n * @param parentActivity {IActivityLogItem} The parent activity item.\r\n * @param isNetworkActivity {boolean} The flag to indicate if the new activity is network activity or not.\r\n * @return {string} The correlation vector for creating a new activity.\r\n */\r\n getVectorForNewActivity(parentActivity, isNetworkActivity) {\r\n if (!parentActivity || !this.correlationVectorProvider) {\r\n return \"\";\r\n }\r\n // Correlation vector creation for new activity follows the below rules\r\n // 1. If new activity is the first child activity then extend CV of the parent.\r\n // 2. If new activity is the first child and also a network activity then extend CV of the parent and then increment it, to make it compliant with Outgoing Service Request (OSR) standard.\r\n // 3. If new activity is not the first child, that means CV of the parent is already extended by Rule 1 or 2, so increment it.\r\n // The property latestChildCorrelationVector always has the CV of latest child. Empty value for latestChildCorrelationVector means no child activity is created yet.\r\n // If latestChildCorrelationVector has value then new activity is not the first child. Increment it.\r\n if (parentActivity.latestChildCorrelationVector) {\r\n parentActivity.latestChildCorrelationVector = this.correlationVectorProvider.incrementExternalVector(parentActivity.latestChildCorrelationVector);\r\n }\r\n else {\r\n parentActivity.latestChildCorrelationVector = this.correlationVectorProvider.extendExternalVector(parentActivity.correlationVector);\r\n if (isNetworkActivity) {\r\n parentActivity.latestChildCorrelationVector = this.correlationVectorProvider.incrementExternalVector(parentActivity.latestChildCorrelationVector);\r\n }\r\n }\r\n return parentActivity.latestChildCorrelationVector;\r\n }\r\n}\r\n/**\r\n * Dictionary to the mapping of name to activity logging service\r\n */\r\nActivityLoggingService.InstancesMap = {};\r\n//# sourceMappingURL=ActivityLoggingService.js.map","const DisplayNamePrefix = \"MSFT\";\nexport { DisplayNamePrefix };\n","import { ColorHSL } from \"./color-hsl\";\nimport { ColorHSV } from \"./color-hsv\";\nimport { ColorLAB } from \"./color-lab\";\nimport { ColorLCH } from \"./color-lch\";\nimport { ColorRGBA64 } from \"./color-rgba-64\";\nimport { ColorXYZ } from \"./color-xyz\";\nimport { degreesToRadians, radiansToDegrees } from \"./math-utilities\";\n// All hue values are in degrees rather than radians or normalized\n// All conversions use the D65 2 degree white point for XYZ\n// Info on conversions and constants used can be found in the following:\n// https://en.wikipedia.org/wiki/CIELAB_color_space\n// https://en.wikipedia.org/wiki/Illuminant_D65\n// https://ninedegreesbelow.com/photography/xyz-rgb.html\n// http://user.engineering.uiowa.edu/~aip/Misc/ColorFAQ.html\n// https://web.stanford.edu/~sujason/ColorBalancing/adaptation.html\n// http://brucelindbloom.com/index.html\n/**\n * Get the luminance of a color in the linear RGB space.\n * This is not the same as the relative luminance in the sRGB space for WCAG contrast calculations. Use rgbToRelativeLuminance instead.\n * @param rgb - The input color\n *\n * @public\n */\nexport function rgbToLinearLuminance(rgb) {\n return rgb.r * 0.2126 + rgb.g * 0.7152 + rgb.b * 0.0722;\n}\n/**\n * Get the relative luminance of a color.\n * Adjusts the color to sRGB space, which is necessary for the WCAG contrast spec.\n * The alpha channel of the input is ignored.\n * @param rgb - The input color\n *\n * @public\n */\nexport function rgbToRelativeLuminance(rgb) {\n function luminanceHelper(i) {\n if (i <= 0.03928) {\n return i / 12.92;\n }\n return Math.pow((i + 0.055) / 1.055, 2.4);\n }\n return rgbToLinearLuminance(new ColorRGBA64(luminanceHelper(rgb.r), luminanceHelper(rgb.g), luminanceHelper(rgb.b), 1));\n}\nconst calculateContrastRatio = (a, b) => (a + 0.05) / (b + 0.05);\n/**\n * Calculate the contrast ratio between two colors. Uses the formula described by {@link https://www.w3.org/TR/WCAG20-TECHS/G17.html | WCAG 2.0}.\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function contrastRatio(a, b) {\n const luminanceA = rgbToRelativeLuminance(a);\n const luminanceB = rgbToRelativeLuminance(b);\n return luminanceA > luminanceB\n ? calculateContrastRatio(luminanceA, luminanceB)\n : calculateContrastRatio(luminanceB, luminanceA);\n}\n/**\n * Calculate an overlay color that uses rgba (rgb + alpha) that matches the appareance of a given solid color when placed on the same background\n * @param rgbMatch - The solid color the overlay should match in appearance when placed over the rgbBackground\n * @param rgbBackground - The background on which the overlay rests\n * @param rgbOverlay - The rgb color of the overlay. Typically this is either pure white or pure black. This color will be used in the returned output\n * @returns The rgba (rgb + alpha) color of the overlay\n *\n * @public\n */\nexport function calculateOverlayColor(rgbMatch, rgbBackground, rgbOverlay) {\n const rChannel = (rgbMatch.r - rgbBackground.r) / (rgbOverlay.r - rgbBackground.r);\n const gChannel = (rgbMatch.g - rgbBackground.g) / (rgbOverlay.g - rgbBackground.g);\n const bChannel = (rgbMatch.b - rgbBackground.b) / (rgbOverlay.b - rgbBackground.b);\n const alpha = (rChannel + gChannel + bChannel) / 3;\n return new ColorRGBA64(rgbOverlay.r, rgbOverlay.g, rgbOverlay.b, alpha);\n}\n/**\n * Converts a {@link @microsoft/fast-colors#ColorRGBA64} to a {@link @microsoft/fast-colors#ColorHSL}\n * @param rgb - the rgb color to convert\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function rgbToHSL(rgb) {\n const max = Math.max(rgb.r, rgb.g, rgb.b);\n const min = Math.min(rgb.r, rgb.g, rgb.b);\n const delta = max - min;\n let hue = 0;\n if (delta !== 0) {\n if (max === rgb.r) {\n hue = 60 * (((rgb.g - rgb.b) / delta) % 6);\n }\n else if (max === rgb.g) {\n hue = 60 * ((rgb.b - rgb.r) / delta + 2);\n }\n else {\n hue = 60 * ((rgb.r - rgb.g) / delta + 4);\n }\n }\n if (hue < 0) {\n hue += 360;\n }\n const lum = (max + min) / 2;\n let sat = 0;\n if (delta !== 0) {\n sat = delta / (1 - Math.abs(2 * lum - 1));\n }\n return new ColorHSL(hue, sat, lum);\n}\n/**\n * Converts a {@link @microsoft/fast-colors#ColorHSL} to a {@link @microsoft/fast-colors#ColorRGBA64}\n * @param hsl - the hsl color to convert\n * @param alpha - the alpha value\n *\n * @public\n */\nexport function hslToRGB(hsl, alpha = 1) {\n const c = (1 - Math.abs(2 * hsl.l - 1)) * hsl.s;\n const x = c * (1 - Math.abs(((hsl.h / 60) % 2) - 1));\n const m = hsl.l - c / 2;\n let r = 0;\n let g = 0;\n let b = 0;\n if (hsl.h < 60) {\n r = c;\n g = x;\n b = 0;\n }\n else if (hsl.h < 120) {\n r = x;\n g = c;\n b = 0;\n }\n else if (hsl.h < 180) {\n r = 0;\n g = c;\n b = x;\n }\n else if (hsl.h < 240) {\n r = 0;\n g = x;\n b = c;\n }\n else if (hsl.h < 300) {\n r = x;\n g = 0;\n b = c;\n }\n else if (hsl.h < 360) {\n r = c;\n g = 0;\n b = x;\n }\n return new ColorRGBA64(r + m, g + m, b + m, alpha);\n}\n/**\n * Converts a {@link @microsoft/fast-colors#ColorRGBA64} to a {@link @microsoft/fast-colors#ColorHSV}\n * @param rgb - the rgb color to convert\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function rgbToHSV(rgb) {\n const max = Math.max(rgb.r, rgb.g, rgb.b);\n const min = Math.min(rgb.r, rgb.g, rgb.b);\n const delta = max - min;\n let hue = 0;\n if (delta !== 0) {\n if (max === rgb.r) {\n hue = 60 * (((rgb.g - rgb.b) / delta) % 6);\n }\n else if (max === rgb.g) {\n hue = 60 * ((rgb.b - rgb.r) / delta + 2);\n }\n else {\n hue = 60 * ((rgb.r - rgb.g) / delta + 4);\n }\n }\n if (hue < 0) {\n hue += 360;\n }\n let sat = 0;\n if (max !== 0) {\n sat = delta / max;\n }\n return new ColorHSV(hue, sat, max);\n}\n/**\n * Converts a {@link @microsoft/fast-colors#ColorHSV} to a {@link @microsoft/fast-colors#ColorRGBA64}\n * @param hsv - the hsv color to convert\n * @param alpha - the alpha value\n *\n * @public\n */\nexport function hsvToRGB(hsv, alpha = 1) {\n const c = hsv.s * hsv.v;\n const x = c * (1 - Math.abs(((hsv.h / 60) % 2) - 1));\n const m = hsv.v - c;\n let r = 0;\n let g = 0;\n let b = 0;\n if (hsv.h < 60) {\n r = c;\n g = x;\n b = 0;\n }\n else if (hsv.h < 120) {\n r = x;\n g = c;\n b = 0;\n }\n else if (hsv.h < 180) {\n r = 0;\n g = c;\n b = x;\n }\n else if (hsv.h < 240) {\n r = 0;\n g = x;\n b = c;\n }\n else if (hsv.h < 300) {\n r = x;\n g = 0;\n b = c;\n }\n else if (hsv.h < 360) {\n r = c;\n g = 0;\n b = x;\n }\n return new ColorRGBA64(r + m, g + m, b + m, alpha);\n}\n/**\n * Converts a {@link @microsoft/fast-colors#ColorLCH} to a {@link @microsoft/fast-colors#ColorLAB}\n * @param lch - the lch color to convert\n *\n * @public\n */\nexport function lchToLAB(lch) {\n let a = 0;\n let b = 0;\n if (lch.h !== 0) {\n a = Math.cos(degreesToRadians(lch.h)) * lch.c;\n b = Math.sin(degreesToRadians(lch.h)) * lch.c;\n }\n return new ColorLAB(lch.l, a, b);\n}\n/**\n * Converts a {@link @microsoft/fast-colors#ColorLAB} to a {@link @microsoft/fast-colors#ColorLCH}\n * @param lab - the lab color to convert\n *\n * @remarks\n * The discontinuity in the C parameter at 0 means that floating point errors will often result in values near 0 giving unpredictable results.\n * EG: 0.0000001 gives a very different result than -0.0000001\n * More info about the atan2 function: {@link https://en.wikipedia.org/wiki/Atan2}\n * @public\n */\nexport function labToLCH(lab) {\n let h = 0;\n if (lab.b !== 0 || lab.a !== 0) {\n h = radiansToDegrees(Math.atan2(lab.b, lab.a));\n }\n if (h < 0) {\n h += 360;\n }\n const c = Math.sqrt(lab.a * lab.a + lab.b * lab.b);\n return new ColorLCH(lab.l, c, h);\n}\n/**\n * Converts a {@link @microsoft/fast-colors#ColorLAB} to a {@link @microsoft/fast-colors#ColorXYZ}\n * @param lab - the lab color to convert\n *\n * @public\n */\nexport function labToXYZ(lab) {\n const fy = (lab.l + 16) / 116;\n const fx = fy + lab.a / 500;\n const fz = fy - lab.b / 200;\n const xcubed = Math.pow(fx, 3);\n const ycubed = Math.pow(fy, 3);\n const zcubed = Math.pow(fz, 3);\n let x = 0;\n if (xcubed > ColorLAB.epsilon) {\n x = xcubed;\n }\n else {\n x = (116 * fx - 16) / ColorLAB.kappa;\n }\n let y = 0;\n if (lab.l > ColorLAB.epsilon * ColorLAB.kappa) {\n y = ycubed;\n }\n else {\n y = lab.l / ColorLAB.kappa;\n }\n let z = 0;\n if (zcubed > ColorLAB.epsilon) {\n z = zcubed;\n }\n else {\n z = (116 * fz - 16) / ColorLAB.kappa;\n }\n x = ColorXYZ.whitePoint.x * x;\n y = ColorXYZ.whitePoint.y * y;\n z = ColorXYZ.whitePoint.z * z;\n return new ColorXYZ(x, y, z);\n}\n/**\n * Converts a {@link @microsoft/fast-colors#ColorXYZ} to a {@link @microsoft/fast-colors#ColorLAB}\n * @param xyz - the xyz color to convert\n *\n * @public\n */\nexport function xyzToLAB(xyz) {\n function xyzToLABHelper(i) {\n if (i > ColorLAB.epsilon) {\n return Math.pow(i, 1 / 3);\n }\n return (ColorLAB.kappa * i + 16) / 116;\n }\n const x = xyzToLABHelper(xyz.x / ColorXYZ.whitePoint.x);\n const y = xyzToLABHelper(xyz.y / ColorXYZ.whitePoint.y);\n const z = xyzToLABHelper(xyz.z / ColorXYZ.whitePoint.z);\n const l = 116 * y - 16;\n const a = 500 * (x - y);\n const b = 200 * (y - z);\n return new ColorLAB(l, a, b);\n}\n/**\n * Converts a {@link @microsoft/fast-colors#ColorRGBA64} to a {@link @microsoft/fast-colors#ColorXYZ}\n * @param rgb - the rgb color to convert\n *\n * @remarks\n * The alpha channel of the input is ignored\n * @public\n */\nexport function rgbToXYZ(rgb) {\n function rgbToXYZHelper(i) {\n if (i <= 0.04045) {\n return i / 12.92;\n }\n return Math.pow((i + 0.055) / 1.055, 2.4);\n }\n const r = rgbToXYZHelper(rgb.r);\n const g = rgbToXYZHelper(rgb.g);\n const b = rgbToXYZHelper(rgb.b);\n const x = r * 0.4124564 + g * 0.3575761 + b * 0.1804375;\n const y = r * 0.2126729 + g * 0.7151522 + b * 0.072175;\n const z = r * 0.0193339 + g * 0.119192 + b * 0.9503041;\n return new ColorXYZ(x, y, z);\n}\n/**\n * Converts a {@link @microsoft/fast-colors#ColorXYZ} to a {@link @microsoft/fast-colors#ColorRGBA64}\n * @param xyz - the xyz color to convert\n * @param alpha - the alpha value\n *\n * @remarks\n * Note that the xyz color space is significantly larger than sRGB. As such, this can return colors rgb values greater than 1 or less than 0\n * @public\n */\nexport function xyzToRGB(xyz, alpha = 1) {\n function xyzToRGBHelper(i) {\n if (i <= 0.0031308) {\n return i * 12.92;\n }\n return 1.055 * Math.pow(i, 1 / 2.4) - 0.055;\n }\n const r = xyzToRGBHelper(xyz.x * 3.2404542 - xyz.y * 1.5371385 - xyz.z * 0.4985314);\n const g = xyzToRGBHelper(xyz.x * -0.969266 + xyz.y * 1.8760108 + xyz.z * 0.041556);\n const b = xyzToRGBHelper(xyz.x * 0.0556434 - xyz.y * 0.2040259 + xyz.z * 1.0572252);\n return new ColorRGBA64(r, g, b, alpha);\n}\n/**\n * Converts a {@link @microsoft/fast-colors#ColorRGBA64} to a {@link @microsoft/fast-colors#ColorLAB}\n * @param rgb - the rgb color to convert\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function rgbToLAB(rgb) {\n return xyzToLAB(rgbToXYZ(rgb));\n}\n/**\n * Converts a {@link @microsoft/fast-colors#ColorLAB} to a {@link @microsoft/fast-colors#ColorRGBA64}\n * @param lab - the LAB color to convert\n * @param alpha - the alpha value\n *\n * @remarks\n * Note that the xyz color space (which the conversion from LAB uses) is significantly larger than sRGB. As such, this can return colors rgb values greater than 1 or less than 0\n *\n * @public\n */\nexport function labToRGB(lab, alpha = 1) {\n return xyzToRGB(labToXYZ(lab), alpha);\n}\n/**\n * Convert a {@link @microsoft/fast-colors#ColorRGBA64} to a {@link @microsoft/fast-colors#ColorLCH}\n *\n * @param rgb - the rgb color to convert\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function rgbToLCH(rgb) {\n return labToLCH(rgbToLAB(rgb));\n}\n/**\n * Convert a {@link @microsoft/fast-colors#ColorLCH} to a {@link @microsoft/fast-colors#ColorRGBA64}\n * @param lch - the LCH color to convert\n * @param alpha - the alpha value\n *\n * @public\n */\nexport function lchToRGB(lch, alpha = 1) {\n return labToRGB(lchToLAB(lch), alpha);\n}\n/**\n * Converts a color temperature to a {@link @microsoft/fast-colors#ColorRGBA64}\n * @param tempKelvin - the temperature to convert\n * @param alpha - the alpha value\n *\n * @public\n */\nexport function temperatureToRGB(tempKelvin, alpha = 1) {\n // The constants I could find assumed a decimal range of [0,255] for each channel. Just going to put a /255.0 at the end\n let r = 0;\n let g = 0;\n let b = 0;\n if (tempKelvin <= 1000) {\n tempKelvin = 1000;\n }\n else if (tempKelvin >= 40000) {\n tempKelvin = 40000;\n }\n if (tempKelvin < 6600.0) {\n r = 255.0;\n g = tempKelvin / 100.0 - 2.0;\n g =\n -155.25485562709179 -\n 0.44596950469579133 * g +\n 104.49216199393888 * Math.log(g);\n }\n else {\n r = tempKelvin / 100.0 - 55.0;\n r = 351.97690566805693 + 0.114206453784165 * r - 40.25366309332127 * Math.log(r);\n g = tempKelvin / 100.0 - 50.0;\n g = 325.4494125711974 + 0.07943456536662342 * g - 28.0852963507957 * Math.log(g);\n }\n if (tempKelvin >= 6600.0) {\n b = 255.0;\n }\n else if (tempKelvin < 2000.0) {\n b = 0.0;\n }\n else {\n b = tempKelvin / 100.0 - 10;\n b =\n -254.76935184120902 +\n 0.8274096064007395 * b +\n 115.67994401066147 * Math.log(b);\n }\n return new ColorRGBA64(r / 255, g / 255, b / 255, alpha);\n}\n/**\n * Convert a rgb color to a color temperature\n * @param rgb - the color to convert\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function rgbToTemperature(rgb) {\n let t = 0;\n let min = 1000;\n let max = 40000;\n while (max - min > 0.4) {\n t = (max + min) / 2.0;\n const testColor = temperatureToRGB(t);\n if (testColor.b / testColor.r >= rgb.b / rgb.r) {\n max = t;\n }\n else {\n min = t;\n }\n }\n return Math.round(t);\n}\n","import isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/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 octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\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\nexport default toNumber;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * DO NOT EDIT THIS FILE DIRECTLY\n * This file generated by fast-components-styles-msft/generate-palettes.js\n */\nexport const neutralPalette = [\n \"#FFFFFF\",\n \"#FCFCFC\",\n \"#FAFAFA\",\n \"#F7F7F7\",\n \"#F5F5F5\",\n \"#F2F2F2\",\n \"#EFEFEF\",\n \"#EDEDED\",\n \"#EAEAEA\",\n \"#E8E8E8\",\n \"#E5E5E5\",\n \"#E2E2E2\",\n \"#E0E0E0\",\n \"#DDDDDD\",\n \"#DBDBDB\",\n \"#D8D8D8\",\n \"#D6D6D6\",\n \"#D3D3D3\",\n \"#D0D0D0\",\n \"#CECECE\",\n \"#CBCBCB\",\n \"#C9C9C9\",\n \"#C6C6C6\",\n \"#C3C3C3\",\n \"#C1C1C1\",\n \"#BEBEBE\",\n \"#BCBCBC\",\n \"#B9B9B9\",\n \"#B6B6B6\",\n \"#B4B4B4\",\n \"#B1B1B1\",\n \"#AFAFAF\",\n \"#ACACAC\",\n \"#A9A9A9\",\n \"#A7A7A7\",\n \"#A4A4A4\",\n \"#A2A2A2\",\n \"#9F9F9F\",\n \"#9D9D9D\",\n \"#9A9A9A\",\n \"#979797\",\n \"#959595\",\n \"#929292\",\n \"#909090\",\n \"#8D8D8D\",\n \"#8A8A8A\",\n \"#888888\",\n \"#858585\",\n \"#838383\",\n \"#808080\",\n \"#7D7D7D\",\n \"#7B7B7B\",\n \"#787878\",\n \"#767676\",\n \"#737373\",\n \"#717171\",\n \"#6E6E6E\",\n \"#6B6B6B\",\n \"#696969\",\n \"#666666\",\n \"#646464\",\n \"#616161\",\n \"#5F5F5F\",\n \"#5C5C5C\",\n \"#5A5A5A\",\n \"#575757\",\n \"#545454\",\n \"#525252\",\n \"#4F4F4F\",\n \"#4D4D4D\",\n \"#4A4A4A\",\n \"#484848\",\n \"#454545\",\n \"#424242\",\n \"#404040\",\n \"#3D3D3D\",\n \"#3B3B3B\",\n \"#383838\",\n \"#363636\",\n \"#333333\",\n \"#313131\",\n \"#2E2E2E\",\n \"#2B2B2B\",\n \"#292929\",\n \"#262626\",\n \"#242424\",\n \"#212121\",\n \"#1E1E1E\",\n \"#1B1B1B\",\n \"#181818\",\n \"#151515\",\n \"#121212\",\n \"#101010\",\n \"#000000\"\n];\nexport const accentPalette = [\n \"#FFFFFF\",\n \"#FBFDFE\",\n \"#F6FAFE\",\n \"#F2F8FD\",\n \"#EEF6FC\",\n \"#E9F4FB\",\n \"#E5F1FB\",\n \"#E1EFFA\",\n \"#DCEDF9\",\n \"#D8EAF8\",\n \"#D4E8F8\",\n \"#CFE6F7\",\n \"#CBE4F6\",\n \"#C7E1F6\",\n \"#C2DFF5\",\n \"#BEDDF4\",\n \"#BADAF3\",\n \"#B6D8F3\",\n \"#B1D6F2\",\n \"#ADD4F1\",\n \"#A9D1F0\",\n \"#A4CFF0\",\n \"#A0CDEF\",\n \"#9CCAEE\",\n \"#97C8EE\",\n \"#93C6ED\",\n \"#8FC4EC\",\n \"#8AC1EB\",\n \"#86BFEB\",\n \"#82BDEA\",\n \"#7DBAE9\",\n \"#79B8E8\",\n \"#75B6E8\",\n \"#70B3E7\",\n \"#6CB1E6\",\n \"#68AFE5\",\n \"#63ADE5\",\n \"#5FAAE4\",\n \"#5BA8E3\",\n \"#56A6E3\",\n \"#52A3E2\",\n \"#4EA1E1\",\n \"#499FE0\",\n \"#459DE0\",\n \"#419ADF\",\n \"#3D98DE\",\n \"#3896DD\",\n \"#3493DD\",\n \"#3091DC\",\n \"#2B8FDB\",\n \"#278DDB\",\n \"#238ADA\",\n \"#1E88D9\",\n \"#1A86D8\",\n \"#1683D8\",\n \"#1181D7\",\n \"#0D7FD6\",\n \"#097DD5\",\n \"#047AD5\",\n \"#0078D4\",\n \"#0075CF\",\n \"#0072C9\",\n \"#006FC4\",\n \"#006CBE\",\n \"#0069B9\",\n \"#0066B4\",\n \"#0063AE\",\n \"#0060A9\",\n \"#005CA3\",\n \"#00599E\",\n \"#005699\",\n \"#005393\",\n \"#00508E\",\n \"#004D88\",\n \"#004A83\",\n \"#00477D\",\n \"#004478\",\n \"#004173\",\n \"#003E6D\",\n \"#003B68\",\n \"#003862\",\n \"#00355D\",\n \"#003258\",\n \"#002F52\",\n \"#002B4D\",\n \"#002847\",\n \"#002542\",\n \"#00223C\",\n \"#001F36\",\n \"#001B30\",\n \"#00182B\",\n \"#001525\",\n \"#00121F\",\n \"#000000\"\n];\n","import { Direction } from \"@microsoft/fast-web-utilities\";\nimport { withDefaults } from \"@microsoft/fast-jss-utilities\";\nimport { isFunction } from \"lodash-es\";\nimport { white } from \"../utilities/color/color-constants\";\nimport { accentPalette, neutralPalette } from \"../default-palette\";\nimport designSystemSchema from \"./design-system.schema\";\nexport const defaultFontWeights = {\n light: 100,\n semilight: 200,\n normal: 400,\n semibold: 600,\n bold: 700,\n};\nexport { designSystemSchema };\nconst designSystemDefaults = {\n backgroundColor: white,\n contrast: 0,\n density: 0,\n designUnit: 4,\n baseHeightMultiplier: 8,\n baseHorizontalSpacingMultiplier: 3,\n direction: Direction.ltr,\n cornerRadius: 2,\n elevatedCornerRadius: 4,\n focusOutlineWidth: 2,\n fontWeight: defaultFontWeights,\n disabledOpacity: 0.3,\n outlineWidth: 1,\n neutralPalette,\n accentPalette,\n accentBaseColor: \"#0078D4\",\n /**\n * Recipe Deltas\n */\n accentFillRestDelta: 0,\n accentFillHoverDelta: 4,\n accentFillActiveDelta: -5,\n accentFillFocusDelta: 0,\n accentFillSelectedDelta: 12,\n accentForegroundRestDelta: 0,\n accentForegroundHoverDelta: 6,\n accentForegroundActiveDelta: -4,\n accentForegroundFocusDelta: 0,\n neutralFillRestDelta: 7,\n neutralFillHoverDelta: 10,\n neutralFillActiveDelta: 5,\n neutralFillFocusDelta: 0,\n neutralFillSelectedDelta: 7,\n neutralFillInputRestDelta: 0,\n neutralFillInputHoverDelta: 0,\n neutralFillInputActiveDelta: 0,\n neutralFillInputFocusDelta: 0,\n neutralFillInputSelectedDelta: 0,\n neutralFillStealthRestDelta: 0,\n neutralFillStealthHoverDelta: 5,\n neutralFillStealthActiveDelta: 3,\n neutralFillStealthFocusDelta: 0,\n neutralFillStealthSelectedDelta: 7,\n neutralFillToggleHoverDelta: 8,\n neutralFillToggleActiveDelta: -5,\n neutralFillToggleFocusDelta: 0,\n baseLayerLuminance: -1,\n neutralFillCardDelta: 3,\n neutralForegroundDarkIndex: 93,\n neutralForegroundLightIndex: 0,\n neutralForegroundHoverDelta: 0,\n neutralForegroundActiveDelta: 0,\n neutralForegroundFocusDelta: 0,\n neutralDividerRestDelta: 8,\n neutralOutlineRestDelta: 25,\n neutralOutlineHoverDelta: 40,\n neutralOutlineActiveDelta: 16,\n neutralOutlineFocusDelta: 25,\n};\n/**\n * Ensure that all properties of the DesignSystem are assigned.\n */\nexport const withDesignSystemDefaults = (config) => withDefaults(designSystemDefaults)(config);\n/**\n * Safely retrieves a single property from a DesignSystem.\n * @deprecated Use getDesignSystemValue instead.\n */\nexport function getDesignSystemProperty(key) {\n return function (config) {\n return withDesignSystemDefaults(config)[key];\n };\n}\n/**\n * Returns the argument if basic, otherwise calls the DesignSystemResolver function.\n *\n * @param arg A value or a DesignSystemResolver function\n * @param designSystem The design system config.\n */\nexport function checkDesignSystemResolver(arg, designSystem) {\n return isFunction(arg) ? arg(designSystem) : arg;\n}\n/**\n * Returns a function that calls the callback with designSystemDefaults ensured.\n * @deprecated - use design system property accessor functions instead\n */\nexport function ensureDesignSystemDefaults(callback) {\n return (designSystem) => {\n return callback(withDesignSystemDefaults(designSystem));\n };\n}\nexport default designSystemDefaults;\n","import { memoize } from \"lodash-es\";\nimport { mergeDesignSystem } from \"@microsoft/fast-jss-manager\";\n/**\n * Ensure that all properties of a given object are assigned values\n */\nexport function withDefaults(defaults) {\n return memoize((config) => mergeDesignSystem(defaults, config));\n}\n","import { clamp, denormalize, getHexStringForByte, roundToPrecisionSmall, } from \"./math-utilities\";\n/**\n * A RGBA color with 64 bit channels.\n *\n * @example\n * ```ts\n * new ColorRGBA64(1, 0, 0, 1) // red\n * ```\n * @public\n */\nexport class ColorRGBA64 {\n /**\n *\n * @param red - the red value\n * @param green - the green value\n * @param blue - the blue value\n * @param alpha - the alpha value\n */\n constructor(red, green, blue, alpha) {\n this.r = red;\n this.g = green;\n this.b = blue;\n this.a = typeof alpha === \"number\" && !isNaN(alpha) ? alpha : 1;\n }\n /**\n * Construct a {@link ColorRGBA64} from a {@link ColorRGBA64Config}\n * @param data - the config object\n */\n static fromObject(data) {\n return data && !isNaN(data.r) && !isNaN(data.g) && !isNaN(data.b)\n ? new ColorRGBA64(data.r, data.g, data.b, data.a)\n : null;\n }\n /**\n * Determines if one color is equal to another.\n * @param rhs - the color to compare\n */\n equalValue(rhs) {\n return (this.r === rhs.r && this.g === rhs.g && this.b === rhs.b && this.a === rhs.a);\n }\n /**\n * Returns the color formatted as a string; #RRGGBB\n */\n toStringHexRGB() {\n return \"#\" + [this.r, this.g, this.b].map(this.formatHexValue).join(\"\");\n }\n /**\n * Returns the color formatted as a string; #RRGGBBAA\n */\n toStringHexRGBA() {\n return this.toStringHexRGB() + this.formatHexValue(this.a);\n }\n /**\n * Returns the color formatted as a string; #AARRGGBB\n */\n toStringHexARGB() {\n return \"#\" + [this.a, this.r, this.g, this.b].map(this.formatHexValue).join(\"\");\n }\n /**\n * Returns the color formatted as a string; \"rgb(0xRR, 0xGG, 0xBB)\"\n */\n toStringWebRGB() {\n return `rgb(${Math.round(denormalize(this.r, 0.0, 255.0))},${Math.round(denormalize(this.g, 0.0, 255.0))},${Math.round(denormalize(this.b, 0.0, 255.0))})`;\n }\n /**\n * Returns the color formatted as a string; \"rgba(0xRR, 0xGG, 0xBB, a)\"\n * @remarks\n * Note that this follows the convention of putting alpha in the range [0.0,1.0] while the other three channels are [0,255]\n */\n toStringWebRGBA() {\n return `rgba(${Math.round(denormalize(this.r, 0.0, 255.0))},${Math.round(denormalize(this.g, 0.0, 255.0))},${Math.round(denormalize(this.b, 0.0, 255.0))},${clamp(this.a, 0, 1)})`;\n }\n /**\n * Returns a new {@link ColorRGBA64} rounded to the provided precision\n * @param precision - the precision to round to\n */\n roundToPrecision(precision) {\n return new ColorRGBA64(roundToPrecisionSmall(this.r, precision), roundToPrecisionSmall(this.g, precision), roundToPrecisionSmall(this.b, precision), roundToPrecisionSmall(this.a, precision));\n }\n /**\n * Returns a new {@link ColorRGBA64} with channel values clamped between 0 and 1.\n */\n clamp() {\n return new ColorRGBA64(clamp(this.r, 0, 1), clamp(this.g, 0, 1), clamp(this.b, 0, 1), clamp(this.a, 0, 1));\n }\n /**\n * Converts the {@link ColorRGBA64} to a {@link ColorRGBA64Config}.\n */\n toObject() {\n return { r: this.r, g: this.g, b: this.b, a: this.a };\n }\n formatHexValue(value) {\n return getHexStringForByte(denormalize(value, 0.0, 255.0));\n }\n}\n","import { ConsoleAppender } from \"./ConsoleAppender\";\r\n/**\r\n * Class to represent a browser console appender.\r\n * @class\r\n */\r\nexport class BrowserConsoleAppender extends ConsoleAppender {\r\n /**\r\n * Initializes a new instance of the `BrowserConsoleAppender` class.\r\n * @constructor\r\n * @param logLevel {LogLevel} Logging level or threshold.\r\n */\r\n constructor(logLevel) {\r\n super(logLevel, window.console);\r\n }\r\n /**\r\n * Returns a string representation of the appender.\r\n * @method\r\n * @return {string} The string representation of the appender.\r\n */\r\n toString() {\r\n return \"BrowserConsoleAppender\";\r\n }\r\n}\r\n//# sourceMappingURL=BrowserConsoleAppender.js.map","/**\r\n * LoggedExceptionManager class for throwing exceptions that are logged.\r\n * @class\r\n */\r\nexport class LoggedExceptionManager {\r\n /**\r\n * Initializes a new instance of the 'LoggedExceptionManager' class.\r\n * @constructor\r\n * @param loggingService {ILoggingService}\r\n */\r\n constructor(loggingService) {\r\n this.loggingService = loggingService;\r\n if (!loggingService) {\r\n throw (\"loggingService is required for LoggedExceptionManager.\");\r\n }\r\n }\r\n /**\r\n * Logs an error message and throws an exception.\r\n * @param errorMessage {string}\r\n * @returns {void}\r\n */\r\n error(errorMessage) {\r\n this.loggingService.error(errorMessage);\r\n throw (errorMessage);\r\n }\r\n /**\r\n * Logs a fatal error message and throws an exception.\r\n * @param errorMessage {string}\r\n * @returns {void}\r\n */\r\n fatal(errorMessage) {\r\n this.loggingService.fatal(errorMessage);\r\n throw (errorMessage);\r\n }\r\n}\r\n//# sourceMappingURL=LoggedExceptionManager.js.map","/**\r\n * Enum for runtime environments\r\n * @readonly\r\n * @enum {number}\r\n */\r\nexport var RuntimeEnvironment;\r\n(function (RuntimeEnvironment) {\r\n RuntimeEnvironment[RuntimeEnvironment[\"Browser\"] = 0] = \"Browser\";\r\n RuntimeEnvironment[RuntimeEnvironment[\"NodeJs\"] = 1] = \"NodeJs\";\r\n})(RuntimeEnvironment || (RuntimeEnvironment = {}));\r\n//# sourceMappingURL=RuntimeEnvironment.js.map","import { BaseService } from \"./BaseService\";\r\nimport { Logger } from \"./loggers/Logger\";\r\nimport { LogItem } from \"./models/LogItem\";\r\nimport { LogLevel } from \"./models/LogLevel\";\r\nimport { RuntimeEnvironment } from \"./RuntimeEnvironment\";\r\n/**\r\n * Class to log the messages by sending messages to all registered appenders.\r\n * @class\r\n */\r\nexport class LoggingService extends BaseService {\r\n /**\r\n * Initializes a new instance of the `LoggingService` class.\r\n * @constructor\r\n * @param logger {ILogger} The logger.\r\n */\r\n constructor(logger) {\r\n super(logger);\r\n }\r\n /**\r\n * Gets the instance of the `LoggingService` class.\r\n * @method\r\n * @param loggerName {string} Name of the logger.\r\n * @param logLevel {LogLevel} Logging level or threshold.\r\n * @param runtimeEnvironment {RuntimeEnvironment} The runtime environment the code is running under. Default is Browser.\r\n */\r\n static getInstance(loggerName, logLevel, runtimeEnvironment) {\r\n var name = loggerName || \"Default\";\r\n var instance = LoggingService.LoggingInstancesMap[name];\r\n if (instance) {\r\n return instance;\r\n }\r\n instance = new LoggingService(new Logger(name, logLevel));\r\n instance.addUnhandledErrorCallback((error) => instance.fatalCallback(() => \"UnhandledError:\" + LoggingService.constructErrorMessage(error)), runtimeEnvironment);\r\n LoggingService.LoggingInstancesMap[name] = instance;\r\n return instance;\r\n }\r\n /**\r\n * Constructs the message from error and error stack.\r\n * @method\r\n * @param error {Error} The error.\r\n * @return {string} The error message and stack to log.\r\n * @private\r\n */\r\n static constructErrorMessage(error) {\r\n let message = \"\";\r\n if (error) {\r\n message = error.toString();\r\n if (error.stack) {\r\n message = message + \"\\r\\n Stack:\" + error.stack;\r\n }\r\n }\r\n return message;\r\n }\r\n trace(message, activity, data, correlationVector) {\r\n let logItem = this.processMessage(LogLevel.Trace, message, activity, data, correlationVector);\r\n this.logger.log(LogLevel.Trace, logItem);\r\n }\r\n /**\r\n * Logs the message or log item that are processed by callback method, at level TRACE.\r\n * @method\r\n * @param callback {function} The callback function.\r\n * @param activity {IActivityLogItem} The activity item associated with the message.\r\n * @param data {any} The additional data.\r\n * @param correlationVector {string} The correlation vector.\r\n * @example\r\n * traceCallback(function), traceCallback(() => \"message1\" + \"message2\"), traceCallback(() => \"message\", activity)\r\n */\r\n traceCallback(callback, activity, data, correlationVector) {\r\n if (this.isTraceEnabled()) {\r\n this.trace(callback(), activity, data, correlationVector);\r\n }\r\n }\r\n debug(message, activity, data, correlationVector) {\r\n let logItem = this.processMessage(LogLevel.Debug, message, activity, data, correlationVector);\r\n this.logger.log(LogLevel.Debug, logItem);\r\n }\r\n /**\r\n * Logs the message or log item that are processed by callback method, at level DEBUG.\r\n * @method\r\n * @param callback {function} The callback function.\r\n * @param activity {IActivityLogItem} The activity item associated with the message.\r\n * @param data {any} The additional data.\r\n * @param correlationVector {string} The correlation vector.\r\n * @example\r\n * debugCallback(function), debugCallback(() => \"message1\" + \"message2\")\r\n */\r\n debugCallback(callback, activity, data, correlationVector) {\r\n if (this.isDebugEnabled()) {\r\n this.debug(callback(), activity, data, correlationVector);\r\n }\r\n }\r\n info(message, activity, data, correlationVector) {\r\n let logItem = this.processMessage(LogLevel.Info, message, activity, data, correlationVector);\r\n this.logger.log(LogLevel.Info, logItem);\r\n }\r\n /**\r\n * Logs the message or log item that are processed by callback method, at level INFO.\r\n * @method\r\n * @param callback {function} The callback function.\r\n * @param activity {IActivityLogItem} The activity item associated with the message.\r\n * @param data {any} The additional data.\r\n * @param correlationVector {string} The correlation vector.\r\n * @example\r\n * infoCallback(function), infoCallback(() => \"message1\" + \"message2\")\r\n */\r\n infoCallback(callback, activity, data, correlationVector) {\r\n if (this.isInfoEnabled()) {\r\n this.info(callback(), activity, data, correlationVector);\r\n }\r\n }\r\n warn(message, activity, data, correlationVector) {\r\n let logItem = this.processMessage(LogLevel.Warn, message, activity, data, correlationVector);\r\n this.logger.log(LogLevel.Warn, logItem);\r\n }\r\n /**\r\n * Logs the message or log item that are processed by callback method, at level WARN.\r\n * @method\r\n * @param callback {function} The callback function.\r\n * @param activity {IActivityLogItem} The activity item associated with the message.\r\n * @param data {any} The additional data.\r\n * @param correlationVector {string} The correlation vector.\r\n * @example\r\n * warnCallback(function), warnCallback(() => \"message1\" + \"message2\")\r\n */\r\n warnCallback(callback, activity, data, correlationVector) {\r\n if (this.isWarnEnabled()) {\r\n this.warn(callback(), activity, data, correlationVector);\r\n }\r\n }\r\n error(message, activity, data, correlationVector) {\r\n let logItem = this.processMessage(LogLevel.Error, message, activity, data, correlationVector);\r\n this.logger.log(LogLevel.Error, logItem);\r\n }\r\n /**\r\n * Logs the message or log item that are processed by callback method, at level ERROR.\r\n * @method\r\n * @param callback {function} The callback function.\r\n * @param activity {IActivityLogItem} The activity item associated with the message.\r\n * @param data {any} The additional data.\r\n * @param correlationVector {string} The correlation vector.\r\n * @example\r\n * errorCallback(function), errorCallback(() => \"message1\" + \"message2\")\r\n */\r\n errorCallback(callback, activity, data, correlationVector) {\r\n if (this.isErrorEnabled()) {\r\n this.error(callback(), activity, data, correlationVector);\r\n ;\r\n }\r\n }\r\n fatal(message, activity, data, correlationVector) {\r\n let logItem = this.processMessage(LogLevel.Fatal, message, activity, data, correlationVector);\r\n this.logger.log(LogLevel.Fatal, logItem);\r\n }\r\n /**\r\n * Logs the message or log item that are processed by callback method, at level FATAL.\r\n * @method\r\n * @param callback {function} The callback function.\r\n * @param activity {IActivityLogItem} The activity item associated with the message.\r\n * @param data {any} The additional data.\r\n * @param correlationVector {string} The correlation vector.\r\n * @example\r\n * fatalCallback(function), fatalCallback(() => \"message1\" + \"message2\")\r\n */\r\n fatalCallback(callback, activity, data, correlationVector) {\r\n if (this.isFatalEnabled()) {\r\n this.fatal(callback(), activity, data, correlationVector);\r\n }\r\n }\r\n /**\r\n * Returns whether the logging service is enabled for TRACE messages or not.\r\n * @method\r\n * @return {boolean} True, if enabled. Otherwise, false.\r\n */\r\n isTraceEnabled() {\r\n return this.logger.isEnabledFor(LogLevel.Trace);\r\n }\r\n /**\r\n * Returns whether the logging service is enabled for DEBUG messages or not.\r\n * @method\r\n * @return {boolean} True, if enabled. Otherwise, false.\r\n */\r\n isDebugEnabled() {\r\n return this.logger.isEnabledFor(LogLevel.Debug);\r\n }\r\n /**\r\n * Returns whether the logging service is enabled for INFO messages or not.\r\n * @method\r\n * @return {boolean} True, if enabled. Otherwise, false.\r\n */\r\n isInfoEnabled() {\r\n return this.logger.isEnabledFor(LogLevel.Info);\r\n }\r\n /**\r\n * Returns whether the logging service is enabled for WARN messages or not.\r\n * @method\r\n * @return {boolean} True, if enabled. Otherwise, false.\r\n */\r\n isWarnEnabled() {\r\n return this.logger.isEnabledFor(LogLevel.Warn);\r\n }\r\n /**\r\n * Returns whether the logging service is enabled for ERROR messages or not.\r\n * @method\r\n * @return {boolean} True, if enabled. Otherwise, false.\r\n */\r\n isErrorEnabled() {\r\n return this.logger.isEnabledFor(LogLevel.Error);\r\n }\r\n /**\r\n * Returns whether the logging service is enabled for FATAL messages or not.\r\n * @method\r\n * @return {boolean} True, if enabled. Otherwise, false.\r\n */\r\n isFatalEnabled() {\r\n return this.logger.isEnabledFor(LogLevel.Fatal);\r\n }\r\n /**\r\n * Adds callback method for global/ unhandled errors.\r\n * @method\r\n * @param callback {(error: Error) => void} The callback method to subscribe.\r\n * @param runtimeEnvironment {RuntimeEnvironment} The runtime environment the code is running under. Default is Browser.\r\n */\r\n addUnhandledErrorCallback(callback, runtimeEnvironment = RuntimeEnvironment.Browser) {\r\n if (runtimeEnvironment === RuntimeEnvironment.Browser) {\r\n window.addEventListener(\"error\", (event) => {\r\n callback(event.error);\r\n });\r\n // Currently only chrome browser (from version 49+) supports the unhandledrejection and onunhandledrejection listeners\r\n if (window[\"onunhandledrejection\"] !== undefined) {\r\n let rejectionErrorPropertyName = \"reason\";\r\n window.addEventListener(\"unhandledrejection\", (event) => {\r\n if (event && event[rejectionErrorPropertyName]) {\r\n callback(new Error(event[rejectionErrorPropertyName]));\r\n }\r\n });\r\n }\r\n else {\r\n this.warn(\"'unhandledrejection' event is not yet supported by the current browser version\");\r\n }\r\n }\r\n }\r\n /**\r\n * Processes the messages and adds the missing details.\r\n * @method\r\n * @param logLevel {LogLevel} The log level.\r\n * @param message {any} The logging message or log item.\r\n * @param activity {IActivityLogItem} The activity item associated with the message.\r\n * @param data {any} The additional data.\r\n * @param correlationVector {string} The correlation vector.\r\n * @private\r\n */\r\n processMessage(logLevel, message, activity, data, correlationVector) {\r\n let logItem;\r\n if (message instanceof LogItem) {\r\n logItem = message;\r\n }\r\n else {\r\n let messageToLog;\r\n if (message instanceof Error) {\r\n messageToLog = LoggingService.constructErrorMessage(message);\r\n }\r\n else if (typeof message === \"string\") {\r\n messageToLog = message;\r\n }\r\n logItem = new LogItem(messageToLog);\r\n }\r\n logItem.LogLevel = logLevel;\r\n if (data) {\r\n if (typeof (data) !== \"object\") {\r\n data = { data: data };\r\n }\r\n logItem.Data = data;\r\n }\r\n if (correlationVector) {\r\n logItem.Data = logItem.Data || {};\r\n logItem.Data[BaseService.CorrelationVectorKey] = correlationVector;\r\n }\r\n if (activity) {\r\n logItem.ActivityId = activity.ActivityId || logItem.ActivityId;\r\n logItem.ParentActivityId = activity.ParentActivityId || logItem.ParentActivityId;\r\n if (!correlationVector && activity.correlationVector) {\r\n logItem.Data = logItem.Data || {};\r\n logItem.Data[BaseService.CorrelationVectorKey] = activity.correlationVector;\r\n }\r\n }\r\n return logItem;\r\n }\r\n}\r\n/**\r\n * Dictionary to the mapping of name to logging service\r\n */\r\nLoggingService.LoggingInstancesMap = {};\r\n//# sourceMappingURL=LoggingService.js.map","/**\r\n * Enum for user activity Type\r\n * @readonly\r\n * @enum {number}\r\n */\r\nexport var UserActivityType;\r\n(function (UserActivityType) {\r\n UserActivityType[UserActivityType[\"None\"] = 0] = \"None\";\r\n UserActivityType[UserActivityType[\"PageAction\"] = 1] = \"PageAction\";\r\n UserActivityType[UserActivityType[\"PageView\"] = 2] = \"PageView\";\r\n})(UserActivityType || (UserActivityType = {}));\r\n//# sourceMappingURL=UserActivityType.js.map","import { LogItem } from \"./LogItem\";\r\nimport { LogType } from \"./LogType\";\r\n/**\r\n * Performance counter item class\r\n * @class\r\n */\r\nexport class PerfCounterItem extends LogItem {\r\n /**\r\n * constructor\r\n * @param counterName {string} perf counter name\r\n * @param counterValue {number} perf counter value\r\n * @param data? {any} open schema custom data\r\n * @param activityId? {string} activity id\r\n * @param logDateTime? {Date} specify the log time, default is now.\r\n */\r\n constructor(counterName, counterValue, data, activityId, logDateTime) {\r\n super(counterName, data, LogType.Instrumentation, activityId, logDateTime);\r\n this._counterName = counterName;\r\n this.CounterValue = counterValue;\r\n }\r\n /**\r\n * The perf counter name\r\n * @type {string}\r\n */\r\n // tslint:disable-next-line: ext-variable-name\r\n get CounterName() { return this._counterName; }\r\n /**\r\n * increment the counter value\r\n * @type {void}\r\n */\r\n incrementValue() {\r\n if (typeof (this.CounterValue) === \"number\") {\r\n this.CounterValue++;\r\n }\r\n else {\r\n throw (\"ERROR: Counter value is never initialized, cannot perform increment action.\");\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=PerfCounterItem.js.map","import { cloneDeep, isEmpty } from \"lodash-es\";\r\nimport { BaseService } from \"./BaseService\";\r\nimport { LogLevel } from \"./models/LogLevel\";\r\nimport { Logger } from \"./loggers/Logger\";\r\nimport { PerfCounterItem } from \"./models/PerfCounterItem\";\r\n/**\r\n * Class to log the performance counters.\r\n * @class\r\n */\r\nexport class PerfCounterLoggingService extends BaseService {\r\n /**\r\n * constructor\r\n * @param logger {ILogger}\r\n */\r\n constructor(logger) {\r\n super(logger);\r\n }\r\n /**\r\n * Gets the instance of the `PerfCounterLoggingService` class.\r\n * @method\r\n * @param loggerName {string} Name of the logger.\r\n * @return {IPerfCounterLoggingService} the instance of performance counter logging service\r\n */\r\n static getInstance(loggerName) {\r\n const name = loggerName || \"Default\";\r\n let instance = PerfCounterLoggingService.InstancesMap[name];\r\n if (instance) {\r\n return instance;\r\n }\r\n let logger = new Logger(name, LogLevel.Trace);\r\n instance = new PerfCounterLoggingService(logger);\r\n PerfCounterLoggingService.InstancesMap[name] = instance;\r\n return instance;\r\n }\r\n /**\r\n * Generates the derived performance counter items based on the given dimensions and the base counter.\r\n * @param perfCounterItem {IPerfCounterItem} The performance counter item.\r\n * @param dimensions {KeyValuePairCollection} The dimensions. Ex: { \"domain\": [\"http://msn.com\"] }\r\n * @return {IPerfCounterItem[]} The list of counters containing original performance counter and the derived performance counters.\r\n * @description If a base counter name is NetworkLatency, value(in milliseconds) is 1000 and dimensions parameter is { \"domain\": [\"http://msn.com\"] } then total 2 counter items will be created\r\n * 1. NetworkLatency = 1000\r\n * 2. NetworkLatency (domain: http://msn.com) = 1000\r\n */\r\n static getDimensionedLogItems(perfCounterItem, dimensions) {\r\n let logItems = [];\r\n // current UI implementation is logging multiple dimensions multiple times with only the name difference. The message name is in the format of \"counter name + (dimension)\".\r\n let defaultLogItem = new PerfCounterItem(perfCounterItem.CounterName, perfCounterItem.CounterValue, cloneDeep(perfCounterItem.Data), perfCounterItem.ActivityId, perfCounterItem.LogDateTime);\r\n defaultLogItem.LogLevel = LogLevel.Trace;\r\n logItems.push(defaultLogItem);\r\n if (dimensions && !isEmpty(dimensions)) {\r\n for (let dimension of Object.keys(dimensions)) {\r\n for (let dimensionValue of dimensions[dimension]) {\r\n let name = (dimension.indexOf(\":\") > -1) ? `${perfCounterItem.CounterName}(${dimension.replace(\":\", \"-\")}: ${dimensionValue})` : `${perfCounterItem.CounterName}(${dimension}: ${dimensionValue})`;\r\n let dimensionLogItem = new PerfCounterItem(name, perfCounterItem.CounterValue, cloneDeep(perfCounterItem.Data), perfCounterItem.ActivityId, perfCounterItem.LogDateTime);\r\n dimensionLogItem.LogLevel = LogLevel.Trace;\r\n logItems.push(dimensionLogItem);\r\n }\r\n }\r\n }\r\n return logItems;\r\n }\r\n /**\r\n * Logs a new performance counter with provided name and values\r\n * @param counterName {string } The performance counter item name.\r\n * @param value {number} counter value.\r\n * @param dimensions {KeyValuePairCollection} optional dimensions.\r\n * @param data {any} optional open schema data.\r\n */\r\n logPerfCounter(counterName, value, dimensions, data) {\r\n const perfCounter = new PerfCounterItem(counterName, value, data);\r\n this.logPerfCounterItem(perfCounter, dimensions);\r\n }\r\n /**\r\n * Logs the given performance counter item.\r\n * @param perfCounter {IPerfCounterItem} the performance counter item to log\r\n * @param dimensions {KeyValuePairCollection} optional dimensions\r\n */\r\n logPerfCounterItem(perfCounterItem, dimensions) {\r\n const dimensionedLogItems = PerfCounterLoggingService.getDimensionedLogItems(perfCounterItem, dimensions);\r\n for (let logItem of dimensionedLogItems) {\r\n this.logger.log(LogLevel.Trace, logItem);\r\n }\r\n }\r\n ;\r\n}\r\n/**\r\n * Dictionary to the mapping of name to performance counter logging service\r\n * @type {KeyValuePairCollection}\r\n */\r\nPerfCounterLoggingService.InstancesMap = {};\r\n//# sourceMappingURL=PerfCounterLoggingService.js.map","import { LogItem } from \"./LogItem\";\r\nimport { LogLevel } from \"./LogLevel\";\r\n/**\r\n * Class to construct the user activity log item.\r\n * @class\r\n */\r\nexport class UserActivityLogItem extends LogItem {\r\n /**\r\n * Initializes a new instance of the `UserActivityLogItem` class.\r\n * @constructor\r\n * @param pageName {string} The name of the page.\r\n * @param userActivityType {userActivityType} The user activity type.\r\n * @param correlationVector? {string} The correlation vector.\r\n * @param trackingData? {IBaseTrackingData} The page view or page action tracking data.\r\n * @param title? {string} Title of the page.\r\n * @param pageUri? {string} Uri of the page.\r\n * @param extendedData? {any} Additional data values, if any.\r\n * @param eventData? {string} The event data.\r\n */\r\n constructor(pageName, userActivityType, correlationVector, trackingData, pageTitle, pageUri, extendedData, eventData) {\r\n super(pageName, extendedData);\r\n this.pageName = pageName;\r\n this.LogLevel = LogLevel.Activity;\r\n this._userActivityType = userActivityType;\r\n this.correlationVector = correlationVector;\r\n this.trackingData = trackingData;\r\n this.pageTitle = pageTitle;\r\n this.pageUri = pageUri;\r\n this.eventData = eventData;\r\n }\r\n /**\r\n * Gets the user activity type.\r\n * @property\r\n * @type {UserActivityType}\r\n */\r\n get userActivityType() {\r\n return this._userActivityType;\r\n }\r\n}\r\n//# sourceMappingURL=UserActivityLogItem.js.map","import { BaseService } from \"./BaseService\";\r\nimport { Logger } from \"./loggers/Logger\";\r\nimport { LogLevel } from \"./models/LogLevel\";\r\nimport { UserActivityLogItem } from \"./models/UserActivityLogItem\";\r\nimport { UserActivityType } from \"./models/UserActivityType\";\r\n/**\r\n * Class to track the user activity.\r\n * @class\r\n */\r\nexport class UserActivityTrackingService extends BaseService {\r\n /**\r\n * Initializes a new instance of the `UserActivityTrackingService` class.\r\n * @constructor\r\n * @param logger {ILogger}The logger.\r\n */\r\n constructor(logger) {\r\n super(logger);\r\n }\r\n /**\r\n * Gets the instance of the `ActivityLoggingService` class.\r\n * @method\r\n * @param loggerName {string} Name of the logger.\r\n * @return {IUserActivityTrackingService} The user activity tracking service.\r\n */\r\n static getInstance(loggerName) {\r\n var name = loggerName || \"Default\";\r\n var instance = UserActivityTrackingService.InstancesMap[name];\r\n if (instance) {\r\n return instance;\r\n }\r\n var logger = new Logger(name, LogLevel.Activity);\r\n instance = new UserActivityTrackingService(logger);\r\n UserActivityTrackingService.InstancesMap[name] = instance;\r\n return instance;\r\n }\r\n /**\r\n * Returns whether the activity tracking is enabled or not.\r\n * @method\r\n * @return {boolean} True, if enabled. Otherwise, false.\r\n */\r\n isActivityTrackingEnabled() {\r\n return this.logger.isEnabledFor(LogLevel.Activity);\r\n }\r\n /**\r\n * Tracks the page view.\r\n * @method\r\n * @param pageName {string} Name of the page.\r\n * @param correlationVector? {string} The correlation vector.\r\n * @param pageViewData? {IPageViewData} The data to be tracked for the page view.\r\n * @param extendedData? {any} Additional data values, if any.\r\n * @param title? {string} Title of the page. If not provided, library populates the value from browser window.\r\n * @param pageUri? {string} Uri of the page. If not provided, library populates the value from browser window.\r\n */\r\n logPageView(pageName, correlationVector, pageViewData, extendedData, title, pageUri) {\r\n if (this.isActivityTrackingEnabled()) {\r\n this.logger.log(LogLevel.Activity, this.getUserActivityLogItem(pageName, correlationVector, pageViewData, title, pageUri, extendedData));\r\n }\r\n }\r\n /**\r\n * Tracks the page actions and events.\r\n * @method\r\n * @param eventData {IEventData} The data related to page action or event.\r\n * @param pageName {string} Name of the page.\r\n * @param correlationVector? {string} The correlation vector.\r\n * @param pageActionData? {IPageActionData} The data to be tracked for the page action/ event.\r\n * @param extendedData? {any} Additional data values, if any.\r\n * @param title? {string} Title of the page. If not provided, library populates the value from browser window.\r\n * @param pageUri? {string} Uri of the page. If not provided, library populates the value from browser window.\r\n */\r\n logPageActionEvent(eventData, pageName, correlationVector, pageActionData, extendedData, title, pageUri) {\r\n if (this.isActivityTrackingEnabled()) {\r\n if (!eventData) {\r\n throw \"''eventData' required for logging page action event.\";\r\n }\r\n if (eventData.elementTitle && eventData.eventType && eventData.elementTitle.trim() && eventData.eventType.trim()) {\r\n this.logger.log(LogLevel.Activity, this.getUserActivityLogItem(pageName, correlationVector, pageActionData, title, pageUri, extendedData, eventData));\r\n }\r\n }\r\n }\r\n /**\r\n * Creates user activity log item.\r\n * @method\r\n * @param pageName {string} Name of the page.\r\n * @param correlationVector? {string} The correlation vector.\r\n * @param trackingData? {IBaseTrackingData} The page view or page action tracking data.\r\n * @param title? {string} Title of the page.\r\n * @param pageUri? {string} Uri of the page.\r\n * @param extendedData? {any} Additional data values, if any.\r\n * @param eventData? {string} The event data.\r\n * @returns {IUserActivityLogItem} The user activity log item.\r\n */\r\n getUserActivityLogItem(pageName, correlationVector, trackingData, title, pageUri, extendedData, eventData) {\r\n if (!pageName) {\r\n throw \"''pageName' is required for logging user activity.\";\r\n }\r\n var logItem;\r\n if (eventData) {\r\n logItem = new UserActivityLogItem(pageName, UserActivityType.PageAction, correlationVector, trackingData, title, pageUri, extendedData, eventData);\r\n }\r\n else {\r\n logItem = new UserActivityLogItem(pageName, UserActivityType.PageView, correlationVector, trackingData, title, pageUri, extendedData);\r\n }\r\n return logItem;\r\n }\r\n}\r\n/**\r\n * Dictionary to the mapping of name to user activity tracking service\r\n */\r\nUserActivityTrackingService.InstancesMap = {};\r\n//# sourceMappingURL=UserActivityTrackingService.js.map","import { ActivityLoggingService } from \"./ActivityLoggingService\";\r\nimport { LoggingService } from \"./LoggingService\";\r\nimport { PerfCounterLoggingService } from \"./PerfCounterLoggingService\";\r\nimport { UserActivityTrackingService } from \"./UserActivityTrackingService\";\r\n/**\r\n * Class to aggregate multiple instrumentation objects.\r\n * @class\r\n */\r\nexport class InstrumentationService {\r\n /**\r\n * Initializes a new instance of the `InstrumentationService` class.\r\n * @constructor\r\n * @param loggingService? {ILoggingService} The logging service.\r\n * @param activityLoggingService? {IActivityLoggingService} The activity logging service.\r\n * @param userActivityTrackingService? {IUserActivityTrackingService} The user activity tracking service.\r\n * @param perfCounterLoggingService? {IPerfCounterLoggingService} The perf counter logging service.\r\n */\r\n constructor(loggingService, activityLoggingService, userActivityTrackingService, perfCounterLoggingService) {\r\n this.loggingServiceInstance = loggingService || LoggingService.getInstance();\r\n this.activityServiceInstance = activityLoggingService || ActivityLoggingService.getInstance();\r\n this.userActivityServiceInstance = userActivityTrackingService || UserActivityTrackingService.getInstance();\r\n this.perfCounterServiceInstance = perfCounterLoggingService || PerfCounterLoggingService.getInstance();\r\n }\r\n /**\r\n * The logging service.\r\n * @property\r\n * @type {ILoggingService}\r\n */\r\n get loggingService() {\r\n return this.loggingServiceInstance;\r\n }\r\n /**\r\n * The activity logging service.\r\n * @property\r\n * @type {IActivityLoggingService}\r\n */\r\n get activityLoggingService() {\r\n return this.activityServiceInstance;\r\n }\r\n /**\r\n * The user activity tracking service.\r\n * @property\r\n * @type {IUserActivityTrackingService}\r\n */\r\n get userActivityTrackingService() {\r\n return this.userActivityServiceInstance;\r\n }\r\n /**\r\n * The perf counter logging service.\r\n * @property\r\n * @type {IPerfCounterLoggingService}\r\n */\r\n get perfCounterLoggingService() {\r\n return this.perfCounterServiceInstance;\r\n }\r\n /**\r\n * Gets the logging service instance by logger name.\r\n * @method\r\n * @param loggerName {string} The logger name.\r\n * @return {ILoggingService} The logging service instance. Returns null if no instance with the name exists.\r\n */\r\n getLoggingServiceByName(loggerName) {\r\n this.checkLoggerName(loggerName);\r\n return LoggingService.getInstance(loggerName);\r\n }\r\n /**\r\n * Gets the activity logging service instance by logger name.\r\n * @method\r\n * @param loggerName {string} The logger name.\r\n * @return {IActivityLoggingService} The activity logging service instance. Returns null if no instance with the name exists.\r\n */\r\n getActivityLoggingServiceByName(loggerName) {\r\n this.checkLoggerName(loggerName);\r\n return ActivityLoggingService.getInstance(loggerName);\r\n }\r\n /**\r\n * Gets the user activity tracking service instance by logger name.\r\n * @method\r\n * @param loggerName {string} The logger name.\r\n * @return {IUserActivityTrackingService} The user activity tracking service instance. Returns null if no instance with the name exists.\r\n */\r\n getUserActivityTrackingServiceByName(loggerName) {\r\n this.checkLoggerName(loggerName);\r\n return UserActivityTrackingService.getInstance(loggerName);\r\n }\r\n /**\r\n * Gets the performance counter service instance by logger name.\r\n * @method\r\n * @param loggerName {string} The logger name.\r\n * @return {IPerfCounterLoggingService} The performance counter service instance. Returns null if no instance with the name exists.\r\n */\r\n getPerfCounterLoggingServiceByName(loggerName) {\r\n this.checkLoggerName(loggerName);\r\n return PerfCounterLoggingService.getInstance(loggerName);\r\n }\r\n /**\r\n * Adds an instance of the activity logging service to the dictionary.\r\n * @method\r\n * @param serviceInstance {IActivityLoggingService} The service instance to be added.\r\n */\r\n addActivityLoggingService(serviceInstance) {\r\n this.checkServiceInstance(serviceInstance);\r\n ActivityLoggingService.getInstance(serviceInstance.getLoggerName());\r\n }\r\n /**\r\n * Checks logger name for null or empty value.\r\n * @method\r\n * @param loggerName {string} The logger name.\r\n */\r\n checkLoggerName(loggerName) {\r\n if (!loggerName) {\r\n throw \"'loggerName' is required.\";\r\n }\r\n }\r\n /**\r\n * Checks the service instance value for null.\r\n * @method\r\n * @param serviceInstance {ILoggingService | IActivityLoggingService | IUserActivityTrackingService | IPerfCounterLoggingService} The service instance to be checked.\r\n */\r\n checkServiceInstance(serviceInstance) {\r\n if (!serviceInstance) {\r\n throw \"'serviceInstance' is required.\";\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=InstrumentationService.js.map","import { toPx } from \"@microsoft/fast-jss-utilities\";\nimport { clamp } from \"lodash-es\";\nimport { densityCategorySwitch } from \"./density\";\n/**\n * The type ramp configuration\n */\nexport const typeRamp = [\n [60, 72],\n [46, 56],\n [34, 44],\n [28, 36],\n [20, 28],\n [16, 24],\n [14, 20],\n [12, 16],\n [10, 16],\n].reduce((accum, val, index) => Object.assign(accum, {\n [`t${index + 1}`]: { fontSize: val[0], lineHeight: val[1] },\n}), {});\n/*\n * Ensures that a TypeRamp key is in the TypeRamp\n */\nfunction sanitizeTypeRampId(key) {\n return typeRamp.hasOwnProperty(key) ? key : \"t7\";\n}\n/**\n * Scales a typeramp ID by density\n */\nfunction scaleTypeRampId(key) {\n return (designSystem) => {\n const typeConfigNumber = parseInt(key.replace(\"t\", \"\"), 10);\n const densityOffset = densityCategorySwitch(-1, 0, 1)(designSystem);\n const size = clamp(typeConfigNumber - densityOffset, 1, 9);\n return sanitizeTypeRampId(\"t\".concat(size.toString()));\n };\n}\n/**\n * Retrieves the font-size from a TypeRamp ID\n */\nexport function getFontSize(key) {\n return typeRamp[sanitizeTypeRampId(key)].fontSize;\n}\n/**\n * Retrieves the line-height from a TypeRamp ID\n */\nexport function getLineHeight(key) {\n return typeRamp[sanitizeTypeRampId(key)].lineHeight;\n}\n/**\n * Retrieves the formatted font-size from a TypeRamp ID\n */\nexport function applyFontSize(key) {\n return toPx(getFontSize(key));\n}\n/**\n * Retrieves the formatted line-height from a TypeRamp ID\n */\nexport function applyLineHeight(key) {\n return toPx(getLineHeight(key));\n}\n/**\n * Retrieves the font-size from a TypeRamp ID, scaled with the design-system density\n */\nexport function getScaledFontSize(key) {\n return (designSystem) => {\n return getFontSize(scaleTypeRampId(key)(designSystem));\n };\n}\n/**\n * Retrieves the line-height from a TypeRamp ID, scaled with the design-system density\n */\nexport function getScaledLineHeight(key) {\n return (designSystem) => {\n return getLineHeight(scaleTypeRampId(key)(designSystem));\n };\n}\n/**\n * Retrieves the formatted font-size from a TypeRamp ID, scaled with the design-system density\n */\nexport function applyScaledFontSize(key) {\n return (designSystem) => {\n return applyFontSize(scaleTypeRampId(key)(designSystem));\n };\n}\n/**\n * Retrieves the formatted line-height from a TypeRamp ID, scaled with the design-system density\n */\nexport function applyScaledLineHeight(key) {\n return (designSystem) => applyLineHeight(scaleTypeRampId(key)(designSystem));\n}\nfunction applyTypeRampFactory(fontSizeGetter, lineHeightGetter) {\n return (key) => ({\n \"font-size\": fontSizeGetter(key),\n \"line-height\": lineHeightGetter(key),\n });\n}\n/**\n * Applies font size and line-height properties from the typeramp\n */\nexport const applyTypeRamp = applyTypeRampFactory(applyFontSize, applyLineHeight);\n/**\n * Applies font size and line-height from the type ramp, scaled with design system density\n */\nexport const applyScaledTypeRamp = applyTypeRampFactory(applyScaledFontSize, applyScaledLineHeight);\n/**\n * Takes a param of type ramp key (string) and returns a type ramp configuration\n * @deprecated - please use applyTypeRamp\n */\nexport const applyTypeRampConfig = applyTypeRamp;\n","import { Observable } from \"./observation/observable\";\nimport { DOM } from \"./dom\";\n/**\n * A {@link ValueConverter} that converts to and from `boolean` values.\n * @remarks\n * Used automatically when the `boolean` {@link AttributeMode} is selected.\n * @public\n */\nexport const booleanConverter = {\n toView(value) {\n return value ? \"true\" : \"false\";\n },\n fromView(value) {\n if (value === null ||\n value === void 0 ||\n value === \"false\" ||\n value === false ||\n value === 0) {\n return false;\n }\n return true;\n },\n};\n/**\n * A {@link ValueConverter} that converts to and from `number` values.\n * @remarks\n * This converter allows for nullable numbers, returning `null` if the\n * input was `null`, `undefined`, or `NaN`.\n * @public\n */\nexport const nullableNumberConverter = {\n toView(value) {\n if (value === null || value === undefined) {\n return null;\n }\n const number = value * 1;\n return isNaN(number) ? null : number.toString();\n },\n fromView(value) {\n if (value === null || value === undefined) {\n return null;\n }\n const number = value * 1;\n return isNaN(number) ? null : number;\n },\n};\n/**\n * An implementation of {@link Accessor} that supports reactivity,\n * change callbacks, attribute reflection, and type conversion for\n * custom elements.\n * @public\n */\nexport class AttributeDefinition {\n /**\n * Creates an instance of AttributeDefinition.\n * @param Owner - The class constructor that owns this attribute.\n * @param name - The name of the property associated with the attribute.\n * @param attribute - The name of the attribute in HTML.\n * @param mode - The {@link AttributeMode} that describes the behavior of this attribute.\n * @param converter - A {@link ValueConverter} that integrates with the property getter/setter\n * to convert values to and from a DOM string.\n */\n constructor(Owner, name, attribute = name.toLowerCase(), mode = \"reflect\", converter) {\n this.guards = new Set();\n this.Owner = Owner;\n this.name = name;\n this.attribute = attribute;\n this.mode = mode;\n this.converter = converter;\n this.fieldName = `_${name}`;\n this.callbackName = `${name}Changed`;\n this.hasCallback = this.callbackName in Owner.prototype;\n if (mode === \"boolean\" && converter === void 0) {\n this.converter = booleanConverter;\n }\n }\n /**\n * Sets the value of the attribute/property on the source element.\n * @param source - The source element to access.\n * @param value - The value to set the attribute/property to.\n */\n setValue(source, newValue) {\n const oldValue = source[this.fieldName];\n const converter = this.converter;\n if (converter !== void 0) {\n newValue = converter.fromView(newValue);\n }\n if (oldValue !== newValue) {\n source[this.fieldName] = newValue;\n this.tryReflectToAttribute(source);\n if (this.hasCallback) {\n source[this.callbackName](oldValue, newValue);\n }\n source.$fastController.notify(this.name);\n }\n }\n /**\n * Gets the value of the attribute/property on the source element.\n * @param source - The source element to access.\n */\n getValue(source) {\n Observable.track(source, this.name);\n return source[this.fieldName];\n }\n /** @internal */\n onAttributeChangedCallback(element, value) {\n if (this.guards.has(element)) {\n return;\n }\n this.guards.add(element);\n this.setValue(element, value);\n this.guards.delete(element);\n }\n tryReflectToAttribute(element) {\n const mode = this.mode;\n const guards = this.guards;\n if (guards.has(element) || mode === \"fromView\") {\n return;\n }\n DOM.queueUpdate(() => {\n guards.add(element);\n const latestValue = element[this.fieldName];\n switch (mode) {\n case \"reflect\":\n const converter = this.converter;\n DOM.setAttribute(element, this.attribute, converter !== void 0 ? converter.toView(latestValue) : latestValue);\n break;\n case \"boolean\":\n DOM.setBooleanAttribute(element, this.attribute, latestValue);\n break;\n }\n guards.delete(element);\n });\n }\n /**\n * Collects all attribute definitions associated with the owner.\n * @param Owner - The class constructor to collect attribute for.\n * @param attributeLists - Any existing attributes to collect and merge with those associated with the owner.\n * @internal\n */\n static collect(Owner, ...attributeLists) {\n const attributes = [];\n attributeLists.push(Owner.attributes);\n for (let i = 0, ii = attributeLists.length; i < ii; ++i) {\n const list = attributeLists[i];\n if (list === void 0) {\n continue;\n }\n for (let j = 0, jj = list.length; j < jj; ++j) {\n const config = list[j];\n if (typeof config === \"string\") {\n attributes.push(new AttributeDefinition(Owner, config));\n }\n else {\n attributes.push(new AttributeDefinition(Owner, config.property, config.attribute, config.mode, config.converter));\n }\n }\n }\n return attributes;\n }\n}\nexport function attr(configOrTarget, prop) {\n let config;\n function decorator($target, $prop) {\n if (arguments.length > 1) {\n // Non invocation:\n // - @attr\n // Invocation with or w/o opts:\n // - @attr()\n // - @attr({...opts})\n config.property = $prop;\n }\n const attributes = $target.constructor.attributes ||\n ($target.constructor.attributes = []);\n attributes.push(config);\n }\n if (arguments.length > 1) {\n // Non invocation:\n // - @attr\n config = {};\n decorator(configOrTarget, prop);\n return;\n }\n // Invocation with or w/o opts:\n // - @attr()\n // - @attr({...opts})\n config = configOrTarget === void 0 ? {} : configOrTarget;\n return decorator;\n}\n","import { format, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { cornerRadius, elevatedCornerRadius, focusOutlineWidth, } from \"../utilities/design-system\";\nfunction cornerRadiusRule(value) {\n return { \"border-radius\": value };\n}\n/**\n * Sets the border radius for controls.\n */\nexport function applyCornerRadius() {\n return cornerRadiusRule(toPx(cornerRadius));\n}\n/**\n * @deprecated Use applyElevatedCornerRadius instead.\n */\nexport function applyFloatingCornerRadius() {\n return cornerRadiusRule(toPx(elevatedCornerRadius));\n}\n/**\n * Sets the border radius for elevated surfaces or controls.\n */\nexport function applyElevatedCornerRadius() {\n return applyFloatingCornerRadius();\n}\n/**\n * Sets the border radius for pill-shaped controls.\n */\nexport function applyPillCornerRadius() {\n return cornerRadiusRule(\"999px\");\n}\n/**\n * Sets the border width, style, and color to reserve the space for the focus indicator.\n */\nexport function applyFocusPlaceholderBorder(\n/* eslint-disable-next-line @typescript-eslint/no-unused-vars */\nconfig /* @deprecated - this function doesn't need an argument */) {\n return {\n border: format(\"{0} solid transparent\", toPx(focusOutlineWidth)),\n };\n}\n","import { DOM } from \"../dom\";\nimport { PropertyChangeNotifier, SubscriberSet } from \"./notifier\";\nconst volatileRegex = /(\\:|\\&\\&|\\|\\||if)/;\nconst notifierLookup = new WeakMap();\nconst accessorLookup = new WeakMap();\nlet watcher = void 0;\nlet createArrayObserver = (array) => {\n throw new Error(\"Must call enableArrayObservation before observing arrays.\");\n};\nclass DefaultObservableAccessor {\n constructor(name) {\n this.name = name;\n this.field = `_${name}`;\n this.callback = `${name}Changed`;\n }\n getValue(source) {\n if (watcher !== void 0) {\n watcher.watch(source, this.name);\n }\n return source[this.field];\n }\n setValue(source, newValue) {\n const field = this.field;\n const oldValue = source[field];\n if (oldValue !== newValue) {\n source[field] = newValue;\n const callback = source[this.callback];\n if (typeof callback === \"function\") {\n callback.call(source, oldValue, newValue);\n }\n /* eslint-disable-next-line @typescript-eslint/no-use-before-define */\n getNotifier(source).notify(this.name);\n }\n }\n}\n/**\n * Common Observable APIs.\n * @public\n */\nexport const Observable = Object.freeze({\n /**\n * @internal\n * @param factory - The factory used to create array observers.\n */\n setArrayObserverFactory(factory) {\n createArrayObserver = factory;\n },\n /**\n * Gets a notifier for an object or Array.\n * @param source - The object or Array to get the notifier for.\n */\n getNotifier(source) {\n let found = source.$fastController || notifierLookup.get(source);\n if (found === void 0) {\n if (Array.isArray(source)) {\n found = createArrayObserver(source);\n }\n else {\n notifierLookup.set(source, (found = new PropertyChangeNotifier(source)));\n }\n }\n return found;\n },\n /**\n * Records a property change for a source object.\n * @param source - The object to record the change against.\n * @param propertyName - The property to track as changed.\n */\n track(source, propertyName) {\n if (watcher !== void 0) {\n watcher.watch(source, propertyName);\n }\n },\n /**\n * Notifies watchers that the currently executing property getter or function is volatile\n * with respect to its observable dependencies.\n */\n trackVolatile() {\n if (watcher !== void 0) {\n watcher.needsRefresh = true;\n }\n },\n /**\n * Notifies subscribers of a source object of changes.\n * @param source - the object to notify of changes.\n * @param args - The change args to pass to subscribers.\n */\n notify(source, args) {\n /* eslint-disable-next-line @typescript-eslint/no-use-before-define */\n getNotifier(source).notify(args);\n },\n /**\n * Defines an observable property on an object or prototype.\n * @param target - The target object to define the observable on.\n * @param nameOrAccessor - The name of the property to define as observable;\n * or a custom accessor that specifies the property name and accessor implementation.\n */\n defineProperty(target, nameOrAccessor) {\n if (typeof nameOrAccessor === \"string\") {\n nameOrAccessor = new DefaultObservableAccessor(nameOrAccessor);\n }\n this.getAccessors(target).push(nameOrAccessor);\n Reflect.defineProperty(target, nameOrAccessor.name, {\n enumerable: true,\n get: function () {\n return nameOrAccessor.getValue(this);\n },\n set: function (newValue) {\n nameOrAccessor.setValue(this, newValue);\n },\n });\n },\n /**\n * Finds all the observable accessors defined on the target,\n * including its prototype chain.\n * @param target - The target object to search for accessor on.\n */\n getAccessors(target) {\n let accessors = accessorLookup.get(target);\n if (accessors === void 0) {\n let currentTarget = Reflect.getPrototypeOf(target);\n while (accessors === void 0 && currentTarget !== null) {\n accessors = accessorLookup.get(currentTarget);\n currentTarget = Reflect.getPrototypeOf(currentTarget);\n }\n if (accessors === void 0) {\n accessors = [];\n }\n else {\n accessors = accessors.slice(0);\n }\n accessorLookup.set(target, accessors);\n }\n return accessors;\n },\n /**\n * Creates a {@link BindingObserver} that can watch the\n * provided {@link Binding} for changes.\n * @param binding - The binding to observe.\n * @param initialSubscriber - An initial subscriber to changes in the binding value.\n * @param isVolatileBinding - Indicates whether the binding's dependency list must be re-evaluated on every value evaluation.\n */\n binding(binding, initialSubscriber, isVolatileBinding = this.isVolatileBinding(binding)) {\n return new BindingObserverImplementation(binding, initialSubscriber, isVolatileBinding);\n },\n /**\n * Determines whether a binding expression is volatile and needs to have its dependency list re-evaluated\n * on every evaluation of the value.\n * @param binding - The binding to inspect.\n */\n isVolatileBinding(binding) {\n return volatileRegex.test(binding.toString());\n },\n});\nconst getNotifier = Observable.getNotifier;\nconst trackVolatile = Observable.trackVolatile;\nconst queueUpdate = DOM.queueUpdate;\n/**\n * Decorator: Defines an observable property on the target.\n * @param target - The target to define the observable on.\n * @param nameOrAccessor - The property name or accessor to define the observable as.\n * @public\n */\nexport function observable(target, nameOrAccessor) {\n Observable.defineProperty(target, nameOrAccessor);\n}\n/**\n * Decorator: Marks a property getter as having volatile observable dependencies.\n * @param target - The target that the property is defined on.\n * @param name - The property name.\n * @param name - The existing descriptor.\n * @public\n */\nexport function volatile(target, name, descriptor) {\n return Object.assign({}, descriptor, {\n get: function () {\n trackVolatile();\n return descriptor.get.apply(this);\n },\n });\n}\nlet currentEvent = null;\n/**\n * @param event - The event to set as current for the context.\n * @internal\n */\nexport function setCurrentEvent(event) {\n currentEvent = event;\n}\n/**\n * Provides additional contextual information available to behaviors and expressions.\n * @public\n */\nexport class ExecutionContext {\n constructor() {\n /**\n * The index of the current item within a repeat context.\n */\n this.index = 0;\n /**\n * The length of the current collection within a repeat context.\n */\n this.length = 0;\n /**\n * The parent data object within a repeat context.\n */\n this.parent = null;\n }\n /**\n * The current event within an event handler.\n */\n get event() {\n return currentEvent;\n }\n /**\n * Indicates whether the current item within a repeat context\n * has an even index.\n */\n get isEven() {\n return this.index % 2 === 0;\n }\n /**\n * Indicates whether the current item within a repeat context\n * has an odd index.\n */\n get isOdd() {\n return this.index % 2 !== 0;\n }\n /**\n * Indicates whether the current item within a repeat context\n * is the first item in the collection.\n */\n get isFirst() {\n return this.index === 0;\n }\n /**\n * Indicates whether the current item within a repeat context\n * is somewhere in the middle of the collection.\n */\n get isInMiddle() {\n return !this.isFirst && !this.isLast;\n }\n /**\n * Indicates whether the current item within a repeat context\n * is the last item in the collection.\n */\n get isLast() {\n return this.index === this.length - 1;\n }\n}\nObservable.defineProperty(ExecutionContext.prototype, \"index\");\nObservable.defineProperty(ExecutionContext.prototype, \"length\");\n/**\n * The default execution context used in binding expressions.\n * @public\n */\nexport const defaultExecutionContext = Object.seal(new ExecutionContext());\nclass BindingObserverImplementation extends SubscriberSet {\n constructor(binding, initialSubscriber, isVolatileBinding = false) {\n super(binding, initialSubscriber);\n this.binding = binding;\n this.isVolatileBinding = isVolatileBinding;\n this.needsRefresh = true;\n this.needsQueue = true;\n this.first = this;\n this.last = null;\n this.propertySource = void 0;\n this.propertyName = void 0;\n this.notifier = void 0;\n this.next = void 0;\n }\n observe(source, context) {\n if (this.needsRefresh && this.last !== null) {\n this.disconnect();\n }\n const previousWatcher = watcher;\n watcher = this.needsRefresh ? this : void 0;\n this.needsRefresh = this.isVolatileBinding;\n const result = this.binding(source, context);\n watcher = previousWatcher;\n return result;\n }\n disconnect() {\n if (this.last !== null) {\n let current = this.first;\n while (current !== void 0) {\n current.notifier.unsubscribe(this, current.propertyName);\n current = current.next;\n }\n this.last = null;\n this.needsRefresh = true;\n }\n }\n /** @internal */\n watch(propertySource, propertyName) {\n const prev = this.last;\n const notifier = getNotifier(propertySource);\n const current = prev === null ? this.first : {};\n current.propertySource = propertySource;\n current.propertyName = propertyName;\n current.notifier = notifier;\n notifier.subscribe(this, propertyName);\n if (prev !== null) {\n if (!this.needsRefresh) {\n watcher = void 0;\n const prevValue = prev.propertySource[prev.propertyName];\n watcher = this;\n if (propertySource === prevValue) {\n this.needsRefresh = true;\n }\n }\n prev.next = current;\n }\n this.last = current;\n }\n /** @internal */\n handleChange() {\n if (this.needsQueue) {\n this.needsQueue = false;\n queueUpdate(this);\n }\n }\n /** @internal */\n call() {\n if (this.last !== null) {\n this.needsQueue = true;\n this.notify(this);\n }\n }\n}\n","/**\n * Checks if the DOM is available to access and use\n */\nexport function canUseDOM() {\n return !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\n}\n","function applyCursor(value) {\n return { cursor: value };\n}\nexport function applyCursorDefault() {\n return applyCursor(\"default\");\n}\nexport function applyCursorDisabled() {\n return applyCursor(\"not-allowed !important\");\n}\nexport function applyCursorPointer() {\n return applyCursor(\"pointer\");\n}\n","const updateQueue = [];\n(function () {\n if (typeof globalThis === \"object\")\n return;\n Object.defineProperty(Object.prototype, \"__magic__\", {\n get: function () {\n return this;\n },\n configurable: true,\n });\n __magic__.globalThis = __magic__;\n delete Object.prototype.__magic__;\n})();\nif (globalThis.trustedTypes === void 0) {\n globalThis.trustedTypes = { createPolicy: (n, r) => r };\n}\nconst fastHTMLPolicy = trustedTypes.createPolicy(\"fast-html\", {\n createHTML: html => html,\n});\n/* eslint-enable */\nlet htmlPolicy = fastHTMLPolicy;\nfunction processQueue() {\n const capacity = 1024;\n let index = 0;\n while (index < updateQueue.length) {\n const task = updateQueue[index];\n task.call();\n index++;\n // Prevent leaking memory for long chains of recursive calls to `queueMicroTask`.\n // If we call `queueMicroTask` within a MicroTask scheduled by `queueMicroTask`, the queue will\n // grow, but to avoid an O(n) walk for every MicroTask we execute, we don't\n // shift MicroTasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 MicroTasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (let scan = 0, newLength = updateQueue.length - index; scan < newLength; scan++) {\n updateQueue[scan] = updateQueue[scan + index];\n }\n updateQueue.length -= index;\n index = 0;\n }\n }\n updateQueue.length = 0;\n}\nconst marker = `fast-${Math.random().toString(36).substring(2, 8)}`;\n/** @internal */\nexport const _interpolationStart = `${marker}{`;\n/** @internal */\nexport const _interpolationEnd = `}${marker}`;\n/**\n * Common DOM APIs.\n * @public\n */\nexport const DOM = Object.freeze({\n /**\n * Indicates whether the DOM supports the adoptedStyleSheets feature.\n */\n supportsAdoptedStyleSheets: Array.isArray(document.adoptedStyleSheets) &&\n \"replace\" in CSSStyleSheet.prototype,\n /**\n * Sets the HTML trusted types policy used by the templating engine.\n * @param policy - The policy to set for HTML.\n * @remarks\n * This API can only be called once, for security reasons. It should be\n * called by the application developer at the start of their program.\n */\n setHTMLPolicy(policy) {\n if (htmlPolicy !== fastHTMLPolicy) {\n throw new Error(\"The HTML policy can only be set once.\");\n }\n htmlPolicy = policy;\n },\n /**\n * Turns a string into trusted HTML using the configured trusted types policy.\n * @param html - The string to turn into trusted HTML.\n * @remarks\n * Used internally by the template engine when creating templates\n * and setting innerHTML.\n */\n createHTML(html) {\n return htmlPolicy.createHTML(html);\n },\n /**\n * Determines if the provided node is a template marker used by the runtime.\n * @param node - The node to test.\n */\n isMarker(node) {\n return node && node.nodeType === 8 && node.data.startsWith(marker);\n },\n /**\n * Given a marker node, extract the {@link Directive} index from the placeholder.\n * @param node - The marker node to extract the index from.\n */\n extractDirectiveIndexFromMarker(node) {\n return parseInt(node.data.replace(`${marker}:`, \"\"));\n },\n /**\n * Creates a placeholder string suitable for marking out a location *within*\n * an attribute value or HTML content.\n * @param index - The directive index to create the placeholder for.\n * @remarks\n * Used internally by binding directives.\n */\n createInterpolationPlaceholder(index) {\n return `${_interpolationStart}${index}${_interpolationEnd}`;\n },\n /**\n * Creates a placeholder that manifests itself as an attribute on an\n * element.\n * @param attributeName - The name of the custom attribute.\n * @param index - The directive index to create the placeholder for.\n * @remarks\n * Used internally by attribute directives such as `ref`, `slotted`, and `children`.\n */\n createCustomAttributePlaceholder(attributeName, index) {\n return `${attributeName}=\"${this.createInterpolationPlaceholder(index)}\"`;\n },\n /**\n * Creates a placeholder that manifests itself as a marker within the DOM structure.\n * @param index - The directive index to create the placeholder for.\n * @remarks\n * Used internally by structural directives such as `repeat`.\n */\n createBlockPlaceholder(index) {\n return ``;\n },\n /**\n * Schedules DOM update work in the next async batch.\n * @param callable - The callable function or object to queue.\n */\n queueUpdate(callable) {\n if (updateQueue.length < 1) {\n window.requestAnimationFrame(processQueue);\n }\n updateQueue.push(callable);\n },\n /**\n * Resolves with the next DOM update.\n */\n nextUpdate() {\n return new Promise((resolve) => {\n DOM.queueUpdate(resolve);\n });\n },\n /**\n * Sets an attribute value on an element.\n * @param element - The element to set the attribute value on.\n * @param attributeName - The attribute name to set.\n * @param value - The value of the attribute to set.\n * @remarks\n * If the value is `null` or `undefined`, the attribute is removed, otherwise\n * it is set to the provided value using the standard `setAttribute` API.\n */\n setAttribute(element, attributeName, value) {\n if (value === null || value === undefined) {\n element.removeAttribute(attributeName);\n }\n else {\n element.setAttribute(attributeName, value);\n }\n },\n /**\n * Sets a boolean attribute value.\n * @param element - The element to set the boolean attribute value on.\n * @param attributeName - The attribute name to set.\n * @param value - The value of the attribute to set.\n * @remarks\n * If the value is true, the attribute is added; otherwise it is removed.\n */\n setBooleanAttribute(element, attributeName, value) {\n value\n ? element.setAttribute(attributeName, \"\")\n : element.removeAttribute(attributeName);\n },\n /**\n * Removes all the child nodes of the provided parent node.\n * @param parent - The node to remove the children from.\n */\n removeChildNodes(parent) {\n for (let child = parent.firstChild; child !== null; child = parent.firstChild) {\n parent.removeChild(child);\n }\n },\n /**\n * Creates a TreeWalker configured to walk a template fragment.\n * @param fragment - The fragment to walk.\n */\n createTemplateWalker(fragment) {\n return document.createTreeWalker(fragment, 133, // element, text, comment\n null, false);\n },\n});\n","import { neutralForegroundActiveDelta, neutralForegroundFocusDelta, neutralForegroundHoverDelta, neutralPalette, } from \"../design-system\";\nimport { colorRecipeFactory, swatchFamilyToSwatchRecipeFactory, SwatchFamilyType, } from \"./common\";\nimport { accessibleAlgorithm } from \"./accessible-recipe\";\nexport const neutralForeground = colorRecipeFactory(accessibleAlgorithm(neutralPalette, 14, 0, neutralForegroundHoverDelta, neutralForegroundActiveDelta, neutralForegroundFocusDelta));\nexport const neutralForegroundRest = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, neutralForeground);\nexport const neutralForegroundHover = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.hover, neutralForeground);\nexport const neutralForegroundActive = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.active, neutralForeground);\nexport const neutralForegroundFocus = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.focus, neutralForeground);\n","import { accentBaseColor, accentForegroundActiveDelta, accentForegroundFocusDelta, accentForegroundHoverDelta, accentForegroundRestDelta, accentPalette, backgroundColor, } from \"../design-system\";\nimport { findClosestSwatchIndex, findSwatchIndex, getSwatch, isDarkMode, swatchByContrast, } from \"./palette\";\nimport { colorRecipeFactory, swatchFamilyToSwatchRecipeFactory, SwatchFamilyType, } from \"./common\";\nfunction accentForegroundAlgorithm(contrastTarget) {\n return (designSystem) => {\n const palette = accentPalette(designSystem);\n const accent = accentBaseColor(designSystem);\n const accentIndex = findClosestSwatchIndex(accentPalette, accent)(designSystem);\n const stateDeltas = {\n rest: accentForegroundRestDelta(designSystem),\n hover: accentForegroundHoverDelta(designSystem),\n active: accentForegroundActiveDelta(designSystem),\n focus: accentForegroundFocusDelta(designSystem),\n };\n const direction = isDarkMode(designSystem) ? -1 : 1;\n const startIndex = accentIndex +\n (direction === 1\n ? Math.min(stateDeltas.rest, stateDeltas.hover)\n : Math.max(direction * stateDeltas.rest, direction * stateDeltas.hover));\n const accessibleSwatch = swatchByContrast(backgroundColor // Compare swatches against the background\n )(accentPalette // Use the accent palette\n )(() => startIndex // Begin searching based on accent index, direction, and deltas\n )(() => direction // Search direction based on light/dark mode\n )((swatchContrast) => swatchContrast >= contrastTarget // A swatch is only valid if the contrast is greater than indicated\n )(designSystem // Pass the design system\n );\n // One of these will be rest, the other will be hover. Depends on the offsets and the direction.\n const accessibleIndex1 = findSwatchIndex(accentPalette, accessibleSwatch)(designSystem);\n const accessibleIndex2 = accessibleIndex1 + direction * Math.abs(stateDeltas.rest - stateDeltas.hover);\n const indexOneIsRestState = direction === 1\n ? stateDeltas.rest < stateDeltas.hover\n : direction * stateDeltas.rest > direction * stateDeltas.hover;\n const restIndex = indexOneIsRestState\n ? accessibleIndex1\n : accessibleIndex2;\n const hoverIndex = indexOneIsRestState\n ? accessibleIndex2\n : accessibleIndex1;\n const activeIndex = restIndex + direction * stateDeltas.active;\n const focusIndex = restIndex + direction * stateDeltas.focus;\n return {\n rest: getSwatch(restIndex, palette),\n hover: getSwatch(hoverIndex, palette),\n active: getSwatch(activeIndex, palette),\n focus: getSwatch(focusIndex, palette),\n };\n };\n}\nexport const accentForeground = colorRecipeFactory(accentForegroundAlgorithm(4.5));\nexport const accentForegroundLarge = colorRecipeFactory(accentForegroundAlgorithm(3));\nexport const accentForegroundRest = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, accentForeground);\nexport const accentForegroundHover = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.hover, accentForeground);\nexport const accentForegroundActive = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.active, accentForeground);\nexport const accentForegroundFocus = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.focus, accentForeground);\nexport const accentForegroundLargeRest = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, accentForegroundLarge);\nexport const accentForegroundLargeHover = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.hover, accentForegroundLarge);\nexport const accentForegroundLargeActive = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.active, accentForegroundLarge);\nexport const accentForegroundLargeFocus = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.focus, accentForegroundLarge);\n","import arrayMap from './_arrayMap.js';\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n}\n\nexport default baseValues;\n","import baseValues from './_baseValues.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\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 values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\nfunction values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n}\n\nexport default values;\n","import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nexport default merge;\n","import baseKeys from './_baseKeys.js';\nimport getTag from './_getTag.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLike from './isArrayLike.js';\nimport isBuffer from './isBuffer.js';\nimport isPrototype from './_isPrototype.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\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 * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\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 empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nexport default isEmpty;\n","export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n\n var number = Number(dirtyNumber);\n\n if (isNaN(number)) {\n return number;\n }\n\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","import toInteger from '../_lib/toInteger/index.js';\nimport requiredArgs from '../_lib/requiredArgs/index.js';\nvar MILLISECONDS_IN_HOUR = 3600000;\nvar MILLISECONDS_IN_MINUTE = 60000;\nvar DEFAULT_ADDITIONAL_DIGITS = 2;\nvar patterns = {\n dateTimeDelimiter: /[T ]/,\n timeZoneDelimiter: /[Z ]/i,\n timezone: /([Z+-].*)$/\n};\nvar dateRegex = /^-?(?:(\\d{3})|(\\d{2})(?:-?(\\d{2}))?|W(\\d{2})(?:-?(\\d{1}))?|)$/;\nvar timeRegex = /^(\\d{2}(?:[.,]\\d*)?)(?::?(\\d{2}(?:[.,]\\d*)?))?(?::?(\\d{2}(?:[.,]\\d*)?))?$/;\nvar timezoneRegex = /^([+-])(\\d{2})(?::?(\\d{2}))?$/;\n/**\n * @name parseISO\n * @category Common Helpers\n * @summary Parse ISO string\n *\n * @description\n * Parse the given string in ISO 8601 format and return an instance of Date.\n *\n * Function accepts complete ISO 8601 formats as well as partial implementations.\n * ISO 8601: http://en.wikipedia.org/wiki/ISO_8601\n *\n * If the argument isn't a string, the function cannot parse the string or\n * the values are invalid, it returns Invalid Date.\n *\n * ### v2.0.0 breaking changes:\n *\n * - [Changes that are common for the whole library](https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#Common-Changes).\n *\n * - The previous `parse` implementation was renamed to `parseISO`.\n *\n * ```javascript\n * // Before v2.0.0\n * parse('2016-01-01')\n *\n * // v2.0.0 onward\n * parseISO('2016-01-01')\n * ```\n *\n * - `parseISO` now validates separate date and time values in ISO-8601 strings\n * and returns `Invalid Date` if the date is invalid.\n *\n * ```javascript\n * parseISO('2018-13-32')\n * //=> Invalid Date\n * ```\n *\n * - `parseISO` now doesn't fall back to `new Date` constructor\n * if it fails to parse a string argument. Instead, it returns `Invalid Date`.\n *\n * @param {String} argument - the value to convert\n * @param {Object} [options] - an object with options.\n * @param {0|1|2} [options.additionalDigits=2] - the additional number of digits in the extended year format\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n * @throws {RangeError} `options.additionalDigits` must be 0, 1 or 2\n *\n * @example\n * // Convert string '2014-02-11T11:30:30' to date:\n * var result = parseISO('2014-02-11T11:30:30')\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert string '+02014101' to date,\n * // if the additional number of digits in the extended year format is 1:\n * var result = parseISO('+02014101', { additionalDigits: 1 })\n * //=> Fri Apr 11 2014 00:00:00\n */\n\nexport default function parseISO(argument, dirtyOptions) {\n requiredArgs(1, arguments);\n var options = dirtyOptions || {};\n var additionalDigits = options.additionalDigits == null ? DEFAULT_ADDITIONAL_DIGITS : toInteger(options.additionalDigits);\n\n if (additionalDigits !== 2 && additionalDigits !== 1 && additionalDigits !== 0) {\n throw new RangeError('additionalDigits must be 0, 1 or 2');\n }\n\n if (!(typeof argument === 'string' || Object.prototype.toString.call(argument) === '[object String]')) {\n return new Date(NaN);\n }\n\n var dateStrings = splitDateString(argument);\n var date;\n\n if (dateStrings.date) {\n var parseYearResult = parseYear(dateStrings.date, additionalDigits);\n date = parseDate(parseYearResult.restDateString, parseYearResult.year);\n }\n\n if (isNaN(date) || !date) {\n return new Date(NaN);\n }\n\n var timestamp = date.getTime();\n var time = 0;\n var offset;\n\n if (dateStrings.time) {\n time = parseTime(dateStrings.time);\n\n if (isNaN(time) || time === null) {\n return new Date(NaN);\n }\n }\n\n if (dateStrings.timezone) {\n offset = parseTimezone(dateStrings.timezone);\n\n if (isNaN(offset)) {\n return new Date(NaN);\n }\n } else {\n var dirtyDate = new Date(timestamp + time); // js parsed string assuming it's in UTC timezone\n // but we need it to be parsed in our timezone\n // so we use utc values to build date in our timezone.\n // Year values from 0 to 99 map to the years 1900 to 1999\n // so set year explicitly with setFullYear.\n\n var result = new Date(dirtyDate.getUTCFullYear(), dirtyDate.getUTCMonth(), dirtyDate.getUTCDate(), dirtyDate.getUTCHours(), dirtyDate.getUTCMinutes(), dirtyDate.getUTCSeconds(), dirtyDate.getUTCMilliseconds());\n result.setFullYear(dirtyDate.getUTCFullYear());\n return result;\n }\n\n return new Date(timestamp + time + offset);\n}\n\nfunction splitDateString(dateString) {\n var dateStrings = {};\n var array = dateString.split(patterns.dateTimeDelimiter);\n var timeString;\n\n if (/:/.test(array[0])) {\n dateStrings.date = null;\n timeString = array[0];\n } else {\n dateStrings.date = array[0];\n timeString = array[1];\n\n if (patterns.timeZoneDelimiter.test(dateStrings.date)) {\n dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];\n timeString = dateString.substr(dateStrings.date.length, dateString.length);\n }\n }\n\n if (timeString) {\n var token = patterns.timezone.exec(timeString);\n\n if (token) {\n dateStrings.time = timeString.replace(token[1], '');\n dateStrings.timezone = token[1];\n } else {\n dateStrings.time = timeString;\n }\n }\n\n return dateStrings;\n}\n\nfunction parseYear(dateString, additionalDigits) {\n var regex = new RegExp('^(?:(\\\\d{4}|[+-]\\\\d{' + (4 + additionalDigits) + '})|(\\\\d{2}|[+-]\\\\d{' + (2 + additionalDigits) + '})$)');\n var captures = dateString.match(regex); // Invalid ISO-formatted year\n\n if (!captures) return {\n year: null\n };\n var year = captures[1] && parseInt(captures[1]);\n var century = captures[2] && parseInt(captures[2]);\n return {\n year: century == null ? year : century * 100,\n restDateString: dateString.slice((captures[1] || captures[2]).length)\n };\n}\n\nfunction parseDate(dateString, year) {\n // Invalid ISO-formatted year\n if (year === null) return null;\n var captures = dateString.match(dateRegex); // Invalid ISO-formatted string\n\n if (!captures) return null;\n var isWeekDate = !!captures[4];\n var dayOfYear = parseDateUnit(captures[1]);\n var month = parseDateUnit(captures[2]) - 1;\n var day = parseDateUnit(captures[3]);\n var week = parseDateUnit(captures[4]);\n var dayOfWeek = parseDateUnit(captures[5]) - 1;\n\n if (isWeekDate) {\n if (!validateWeekDate(year, week, dayOfWeek)) {\n return new Date(NaN);\n }\n\n return dayOfISOWeekYear(year, week, dayOfWeek);\n } else {\n var date = new Date(0);\n\n if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {\n return new Date(NaN);\n }\n\n date.setUTCFullYear(year, month, Math.max(dayOfYear, day));\n return date;\n }\n}\n\nfunction parseDateUnit(value) {\n return value ? parseInt(value) : 1;\n}\n\nfunction parseTime(timeString) {\n var captures = timeString.match(timeRegex);\n if (!captures) return null; // Invalid ISO-formatted time\n\n var hours = parseTimeUnit(captures[1]);\n var minutes = parseTimeUnit(captures[2]);\n var seconds = parseTimeUnit(captures[3]);\n\n if (!validateTime(hours, minutes, seconds)) {\n return NaN;\n }\n\n return hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE + seconds * 1000;\n}\n\nfunction parseTimeUnit(value) {\n return value && parseFloat(value.replace(',', '.')) || 0;\n}\n\nfunction parseTimezone(timezoneString) {\n if (timezoneString === 'Z') return 0;\n var captures = timezoneString.match(timezoneRegex);\n if (!captures) return 0;\n var sign = captures[1] === '+' ? -1 : 1;\n var hours = parseInt(captures[2]);\n var minutes = captures[3] && parseInt(captures[3]) || 0;\n\n if (!validateTimezone(hours, minutes)) {\n return NaN;\n }\n\n return sign * (hours * MILLISECONDS_IN_HOUR + minutes * MILLISECONDS_IN_MINUTE);\n}\n\nfunction dayOfISOWeekYear(isoWeekYear, week, day) {\n var date = new Date(0);\n date.setUTCFullYear(isoWeekYear, 0, 4);\n var fourthOfJanuaryDay = date.getUTCDay() || 7;\n var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;\n date.setUTCDate(date.getUTCDate() + diff);\n return date;\n} // Validation functions\n// February is null to handle the leap year (using ||)\n\n\nvar daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction isLeapYearIndex(year) {\n return year % 400 === 0 || year % 4 === 0 && year % 100;\n}\n\nfunction validateDate(year, month, date) {\n return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex(year) ? 29 : 28));\n}\n\nfunction validateDayOfYearDate(year, dayOfYear) {\n return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex(year) ? 366 : 365);\n}\n\nfunction validateWeekDate(_year, week, day) {\n return week >= 1 && week <= 53 && day >= 0 && day <= 6;\n}\n\nfunction validateTime(hours, minutes, seconds) {\n if (hours === 24) {\n return minutes === 0 && seconds === 0;\n }\n\n return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;\n}\n\nfunction validateTimezone(_hours, minutes) {\n return minutes >= 0 && minutes <= 59;\n}","import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\nfunction charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nexport default charsEndIndex;\n","import baseToString from './_baseToString.js';\nimport castSlice from './_castSlice.js';\nimport charsEndIndex from './_charsEndIndex.js';\nimport stringToArray from './_stringToArray.js';\nimport toString from './toString.js';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrimEnd = /\\s+$/;\n\n/**\n * Removes trailing whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trimEnd(' abc ');\n * // => ' abc'\n *\n * _.trimEnd('-_-abc-_-', '_-');\n * // => '-_-abc'\n */\nfunction trimEnd(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.replace(reTrimEnd, '');\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n end = charsEndIndex(strSymbols, stringToArray(chars)) + 1;\n\n return castSlice(strSymbols, 0, end).join('');\n}\n\nexport default trimEnd;\n","import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\nfunction charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nexport default charsStartIndex;\n","import baseToString from './_baseToString.js';\nimport castSlice from './_castSlice.js';\nimport charsStartIndex from './_charsStartIndex.js';\nimport stringToArray from './_stringToArray.js';\nimport toString from './toString.js';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * Removes leading whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trimStart(' abc ');\n * // => 'abc '\n *\n * _.trimStart('-_-abc-_-', '_-');\n * // => 'abc-_-'\n */\nfunction trimStart(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.replace(reTrimStart, '');\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n start = charsStartIndex(strSymbols, stringToArray(chars));\n\n return castSlice(strSymbols, start).join('');\n}\n\nexport default trimStart;\n","/**\n * Expose ltr and rtl strings\n */\nexport var Direction;\n(function (Direction) {\n Direction[\"ltr\"] = \"ltr\";\n Direction[\"rtl\"] = \"rtl\";\n})(Direction || (Direction = {}));\n","import baseClamp from './_baseClamp.js';\nimport baseToString from './_baseToString.js';\nimport toInteger from './toInteger.js';\nimport toString from './toString.js';\n\n/**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\nfunction endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n}\n\nexport default endsWith;\n","import baseEach from './_baseEach.js';\n\n/**\n * The base implementation of `_.some` 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 {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n}\n\nexport default baseSome;\n","import arraySome from './_arraySome.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseSome from './_baseSome.js';\nimport isArray from './isArray.js';\nimport isIterateeCall from './_isIterateeCall.js';\n\n/**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three 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 iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\nfunction some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, baseIteratee(predicate, 3));\n}\n\nexport default some;\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\nexport default isObject;\n","import { canUseDOM } from \"exenv-es6\";\nimport { isBoolean } from \"lodash-es\";\n/**\n * A test that ensures that all arguments are HTML Elements\n */\nexport function isHTMLElement(...args) {\n return args.every((arg) => arg instanceof HTMLElement);\n}\n/**\n * Returns all displayed elements inside of a root node that match a provided selector\n */\nexport function getDisplayedNodes(rootNode, selector) {\n if (!isHTMLElement(rootNode)) {\n return;\n }\n const nodes = Array.from(rootNode.querySelectorAll(selector));\n // offsetParent will be null if the element isn't currently displayed,\n // so this will allow us to operate only on visible nodes\n return nodes.filter((node) => node.offsetParent !== null);\n}\n/**\n * Gets the numeric key code associated with a keyboard event. This method is for use with DOM level 3 events\n * that still use the deprecated keyCode property.\n */\nexport function getKeyCode(event) {\n return event === null ? null : event.which || event.keyCode || event.charCode;\n}\n/**\n * Test if the document supports :focus-visible\n */\nlet _canUseFocusVisible;\nexport function canUseFocusVisible() {\n if (isBoolean(_canUseFocusVisible)) {\n return _canUseFocusVisible;\n }\n if (!canUseDOM()) {\n _canUseFocusVisible = false;\n return _canUseFocusVisible;\n }\n // Check to see if the document supports the focus-visible element\n const styleElement = document.createElement(\"style\");\n document.head.appendChild(styleElement);\n try {\n styleElement.sheet.insertRule(\"foo:focus-visible {color:inherit}\", 0);\n _canUseFocusVisible = true;\n }\n catch (e) {\n _canUseFocusVisible = false;\n }\n finally {\n document.head.removeChild(styleElement);\n }\n return _canUseFocusVisible;\n}\nlet _canUseCssGrid;\nexport function canUseCssGrid() {\n if (isBoolean(_canUseCssGrid)) {\n return _canUseCssGrid;\n }\n try {\n _canUseCssGrid = CSS.supports(\"display\", \"grid\");\n }\n catch (_a) {\n _canUseCssGrid = false;\n }\n return _canUseCssGrid;\n}\nexport function canUseForcedColors() {\n return (canUseDOM() &&\n (window.matchMedia(\"(forced-colors: none)\").matches ||\n window.matchMedia(\"(forced-colors: active)\").matches));\n}\n/**\n * @deprecated Use 'canUseForcedColors' instead\n */\nexport const canUsedForcedColors = canUseForcedColors;\n","import castSlice from './_castSlice.js';\nimport hasUnicode from './_hasUnicode.js';\nimport stringToArray from './_stringToArray.js';\nimport toString from './toString.js';\n\n/**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\nfunction createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n}\n\nexport default createCaseFirst;\n","import createCaseFirst from './_createCaseFirst.js';\n\n/**\n * Converts the first character of `string` to upper case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.upperFirst('fred');\n * // => 'Fred'\n *\n * _.upperFirst('FRED');\n * // => 'FRED'\n */\nvar upperFirst = createCaseFirst('toUpperCase');\n\nexport default upperFirst;\n","import toString from './toString.js';\nimport upperFirst from './upperFirst.js';\n\n/**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\nfunction capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n}\n\nexport default capitalize;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nexport default arrayReduce;\n","/**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default basePropertyOf;\n","import basePropertyOf from './_basePropertyOf.js';\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nvar deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n};\n\n/**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nvar deburrLetter = basePropertyOf(deburredLetters);\n\nexport default deburrLetter;\n","import deburrLetter from './_deburrLetter.js';\nimport toString from './toString.js';\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nvar reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n/** Used to compose unicode character classes. */\nvar rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;\n\n/** Used to compose unicode capture groups. */\nvar rsCombo = '[' + rsComboRange + ']';\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\nvar reComboMark = RegExp(rsCombo, 'g');\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\nfunction deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n}\n\nexport default deburr;\n","/** Used to match words composed of alphanumeric characters. */\nvar reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n/**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction asciiWords(string) {\n return string.match(reAsciiWord) || [];\n}\n\nexport default asciiWords;\n","/** Used to detect strings that need a more robust regexp to match words. */\nvar reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n/**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\nfunction hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n}\n\nexport default hasUnicodeWord;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\",\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq;\n\n/** Used to match complex or compound words. */\nvar reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n].join('|'), 'g');\n\n/**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\nfunction unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n}\n\nexport default unicodeWords;\n","import asciiWords from './_asciiWords.js';\nimport hasUnicodeWord from './_hasUnicodeWord.js';\nimport toString from './toString.js';\nimport unicodeWords from './_unicodeWords.js';\n\n/**\n * Splits `string` into an array of its words.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {RegExp|string} [pattern] The pattern to match words.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the words of `string`.\n * @example\n *\n * _.words('fred, barney, & pebbles');\n * // => ['fred', 'barney', 'pebbles']\n *\n * _.words('fred, barney, & pebbles', /[^, ]+/g);\n * // => ['fred', 'barney', '&', 'pebbles']\n */\nfunction words(string, pattern, guard) {\n string = toString(string);\n pattern = guard ? undefined : pattern;\n\n if (pattern === undefined) {\n return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\n }\n return string.match(pattern) || [];\n}\n\nexport default words;\n","import arrayReduce from './_arrayReduce.js';\nimport deburr from './deburr.js';\nimport words from './words.js';\n\n/** Used to compose unicode capture groups. */\nvar rsApos = \"['\\u2019]\";\n\n/** Used to match apostrophes. */\nvar reApos = RegExp(rsApos, 'g');\n\n/**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\nfunction createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n}\n\nexport default createCompounder;\n","import capitalize from './capitalize.js';\nimport createCompounder from './_createCompounder.js';\n\n/**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\nvar camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n});\n\nexport default camelCase;\n","import { camelCase } from \"lodash-es\";\n/**\n * Builds a string from a format specifier and replacement parameters.\n */\nexport function format(formatSpecifier, ...parameters) {\n return formatSpecifier.replace(/{(\\d+)}/g, function (match, index) {\n if (index >= parameters.length) {\n return match;\n }\n const value = parameters[index];\n if (typeof value !== \"number\" && !value) {\n return \"\";\n }\n return value;\n });\n}\n/**\n * Check to see if one string starts with another\n */\nexport function startsWith(stringToSearch, searchFor, position = 0) {\n if (!stringToSearch || !searchFor) {\n return false;\n }\n return stringToSearch.substr(position, searchFor.length) === searchFor;\n}\n/**\n * Determines if the specified string is undefined, null, empty, or whitespace.\n * True if the value is undefined, null, empty, or whitespace, otherwise false.\n */\nexport function isNullOrWhiteSpace(value) {\n return !value || !value.trim();\n}\n/**\n * Converts a string to Pascal Case\n */\nexport function pascalCase(value) {\n const camelCased = camelCase(value);\n return `${camelCased.charAt(0).toUpperCase()}${camelCased.slice(1)}`;\n}\n/**\n * converts a string from camelCase or pascalCase to spinal-case\n * which is an lowercase dash separated naming style.\n *\n * An example of spinal case: foo-bar-bat\n */\nexport function spinalCase(value) {\n const valueWithLowerCaseFirstLetter = `${value\n .charAt(0)\n .toLowerCase()}${value.slice(1)}`;\n return valueWithLowerCaseFirstLetter.replace(/([A-Z])/g, function (match, group1) {\n return `-${group1.toLowerCase()}`;\n });\n}\n","import { accentPalette, backgroundColor, neutralPalette } from \"../design-system\";\nimport { findClosestSwatchIndex, isDarkMode, swatchByContrast } from \"./palette\";\nimport { colorRecipeFactory } from \"./common\";\nconst targetRatio = 3.5;\nfunction neutralFocusIndexResolver(referenceColor, palette, designSystem) {\n return findClosestSwatchIndex(neutralPalette, referenceColor)(designSystem);\n}\nfunction neutralFocusDirectionResolver(index, palette, designSystem) {\n return isDarkMode(designSystem) ? -1 : 1;\n}\nfunction neutralFocusContrastCondition(contrastRatio) {\n return contrastRatio > targetRatio;\n}\nconst neutralFocusAlgorithm = swatchByContrast(backgroundColor)(neutralPalette)(neutralFocusIndexResolver)(neutralFocusDirectionResolver)(neutralFocusContrastCondition);\nexport const neutralFocus = colorRecipeFactory(neutralFocusAlgorithm);\nfunction neutralFocusInnerAccentIndexResolver(accentFillColor) {\n return (referenceColor, sourcePalette, designSystem) => {\n return sourcePalette.indexOf(accentFillColor(designSystem));\n };\n}\nfunction neutralFocusInnerAccentDirectionResolver(referenceIndex, palette, designSystem) {\n return isDarkMode(designSystem) ? 1 : -1;\n}\nexport function neutralFocusInnerAccent(accentFillColor) {\n return swatchByContrast(neutralFocus)(accentPalette)(neutralFocusInnerAccentIndexResolver(accentFillColor))(neutralFocusInnerAccentDirectionResolver)(neutralFocusContrastCondition);\n}\n","function isAbsolute(pathname) {\n return pathname.charAt(0) === '/';\n}\n\n// About 1.5x faster than the two-arg version of Array#splice()\nfunction spliceOne(list, index) {\n for (var i = index, k = i + 1, n = list.length; k < n; i += 1, k += 1) {\n list[i] = list[k];\n }\n\n list.pop();\n}\n\n// This implementation is based heavily on node's url.parse\nfunction resolvePathname(to) {\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var toParts = to && to.split('/') || [];\n var fromParts = from && from.split('/') || [];\n\n var isToAbs = to && isAbsolute(to);\n var isFromAbs = from && isAbsolute(from);\n var mustEndAbs = isToAbs || isFromAbs;\n\n if (to && isAbsolute(to)) {\n // to is absolute\n fromParts = toParts;\n } else if (toParts.length) {\n // to is relative, drop the filename\n fromParts.pop();\n fromParts = fromParts.concat(toParts);\n }\n\n if (!fromParts.length) return '/';\n\n var hasTrailingSlash = void 0;\n if (fromParts.length) {\n var last = fromParts[fromParts.length - 1];\n hasTrailingSlash = last === '.' || last === '..' || last === '';\n } else {\n hasTrailingSlash = false;\n }\n\n var up = 0;\n for (var i = fromParts.length; i >= 0; i--) {\n var part = fromParts[i];\n\n if (part === '.') {\n spliceOne(fromParts, i);\n } else if (part === '..') {\n spliceOne(fromParts, i);\n up++;\n } else if (up) {\n spliceOne(fromParts, i);\n up--;\n }\n }\n\n if (!mustEndAbs) for (; up--; up) {\n fromParts.unshift('..');\n }if (mustEndAbs && fromParts[0] !== '' && (!fromParts[0] || !isAbsolute(fromParts[0]))) fromParts.unshift('');\n\n var result = fromParts.join('/');\n\n if (hasTrailingSlash && result.substr(-1) !== '/') result += '/';\n\n return result;\n}\n\nexport default resolvePathname;","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; };\n\nfunction valueEqual(a, b) {\n if (a === b) return true;\n\n if (a == null || b == null) return false;\n\n if (Array.isArray(a)) {\n return Array.isArray(b) && a.length === b.length && a.every(function (item, index) {\n return valueEqual(item, b[index]);\n });\n }\n\n var aType = typeof a === 'undefined' ? 'undefined' : _typeof(a);\n var bType = typeof b === 'undefined' ? 'undefined' : _typeof(b);\n\n if (aType !== bType) return false;\n\n if (aType === 'object') {\n var aValue = a.valueOf();\n var bValue = b.valueOf();\n\n if (aValue !== a || bValue !== b) return valueEqual(aValue, bValue);\n\n var aKeys = Object.keys(a);\n var bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n return aKeys.every(function (key) {\n return valueEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n\nexport default valueEqual;","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction) {\n throw new Error(prefix);\n } else {\n throw new Error(prefix + \": \" + (message || ''));\n }\n}\n\nexport default invariant;\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport resolvePathname from 'resolve-pathname';\nimport valueEqual from 'value-equal';\nimport warning from 'tiny-warning';\nimport invariant from 'tiny-invariant';\n\nfunction addLeadingSlash(path) {\n return path.charAt(0) === '/' ? path : '/' + path;\n}\nfunction stripLeadingSlash(path) {\n return path.charAt(0) === '/' ? path.substr(1) : path;\n}\nfunction hasBasename(path, prefix) {\n return new RegExp('^' + prefix + '(\\\\/|\\\\?|#|$)', 'i').test(path);\n}\nfunction stripBasename(path, prefix) {\n return hasBasename(path, prefix) ? path.substr(prefix.length) : path;\n}\nfunction stripTrailingSlash(path) {\n return path.charAt(path.length - 1) === '/' ? path.slice(0, -1) : path;\n}\nfunction parsePath(path) {\n var pathname = path || '/';\n var search = '';\n var hash = '';\n var hashIndex = pathname.indexOf('#');\n\n if (hashIndex !== -1) {\n hash = pathname.substr(hashIndex);\n pathname = pathname.substr(0, hashIndex);\n }\n\n var searchIndex = pathname.indexOf('?');\n\n if (searchIndex !== -1) {\n search = pathname.substr(searchIndex);\n pathname = pathname.substr(0, searchIndex);\n }\n\n return {\n pathname: pathname,\n search: search === '?' ? '' : search,\n hash: hash === '#' ? '' : hash\n };\n}\nfunction createPath(location) {\n var pathname = location.pathname,\n search = location.search,\n hash = location.hash;\n var path = pathname || '/';\n if (search && search !== '?') path += search.charAt(0) === '?' ? search : \"?\" + search;\n if (hash && hash !== '#') path += hash.charAt(0) === '#' ? hash : \"#\" + hash;\n return path;\n}\n\nfunction createLocation(path, state, key, currentLocation) {\n var location;\n\n if (typeof path === 'string') {\n // Two-arg form: push(path, state)\n location = parsePath(path);\n location.state = state;\n } else {\n // One-arg form: push(location)\n location = _extends({}, path);\n if (location.pathname === undefined) location.pathname = '';\n\n if (location.search) {\n if (location.search.charAt(0) !== '?') location.search = '?' + location.search;\n } else {\n location.search = '';\n }\n\n if (location.hash) {\n if (location.hash.charAt(0) !== '#') location.hash = '#' + location.hash;\n } else {\n location.hash = '';\n }\n\n if (state !== undefined && location.state === undefined) location.state = state;\n }\n\n try {\n location.pathname = decodeURI(location.pathname);\n } catch (e) {\n if (e instanceof URIError) {\n throw new URIError('Pathname \"' + location.pathname + '\" could not be decoded. ' + 'This is likely caused by an invalid percent-encoding.');\n } else {\n throw e;\n }\n }\n\n if (key) location.key = key;\n\n if (currentLocation) {\n // Resolve incomplete/relative pathname relative to current location.\n if (!location.pathname) {\n location.pathname = currentLocation.pathname;\n } else if (location.pathname.charAt(0) !== '/') {\n location.pathname = resolvePathname(location.pathname, currentLocation.pathname);\n }\n } else {\n // When there is no prior location and pathname is empty, set it to /\n if (!location.pathname) {\n location.pathname = '/';\n }\n }\n\n return location;\n}\nfunction locationsAreEqual(a, b) {\n return a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && a.key === b.key && valueEqual(a.state, b.state);\n}\n\nfunction createTransitionManager() {\n var prompt = null;\n\n function setPrompt(nextPrompt) {\n process.env.NODE_ENV !== \"production\" ? warning(prompt == null, 'A history supports only one prompt at a time') : void 0;\n prompt = nextPrompt;\n return function () {\n if (prompt === nextPrompt) prompt = null;\n };\n }\n\n function confirmTransitionTo(location, action, getUserConfirmation, callback) {\n // TODO: If another transition starts while we're still confirming\n // the previous one, we may end up in a weird state. Figure out the\n // best way to handle this.\n if (prompt != null) {\n var result = typeof prompt === 'function' ? prompt(location, action) : prompt;\n\n if (typeof result === 'string') {\n if (typeof getUserConfirmation === 'function') {\n getUserConfirmation(result, callback);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'A history needs a getUserConfirmation function in order to use a prompt message') : void 0;\n callback(true);\n }\n } else {\n // Return false from a transition hook to cancel the transition.\n callback(result !== false);\n }\n } else {\n callback(true);\n }\n }\n\n var listeners = [];\n\n function appendListener(fn) {\n var isActive = true;\n\n function listener() {\n if (isActive) fn.apply(void 0, arguments);\n }\n\n listeners.push(listener);\n return function () {\n isActive = false;\n listeners = listeners.filter(function (item) {\n return item !== listener;\n });\n };\n }\n\n function notifyListeners() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n listeners.forEach(function (listener) {\n return listener.apply(void 0, args);\n });\n }\n\n return {\n setPrompt: setPrompt,\n confirmTransitionTo: confirmTransitionTo,\n appendListener: appendListener,\n notifyListeners: notifyListeners\n };\n}\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction getConfirmation(message, callback) {\n callback(window.confirm(message)); // eslint-disable-line no-alert\n}\n/**\n * Returns true if the HTML5 history API is supported. Taken from Modernizr.\n *\n * https://github.com/Modernizr/Modernizr/blob/master/LICENSE\n * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js\n * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586\n */\n\nfunction supportsHistory() {\n var ua = window.navigator.userAgent;\n if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;\n return window.history && 'pushState' in window.history;\n}\n/**\n * Returns true if browser fires popstate on hash change.\n * IE10 and IE11 do not.\n */\n\nfunction supportsPopStateOnHashChange() {\n return window.navigator.userAgent.indexOf('Trident') === -1;\n}\n/**\n * Returns false if using go(n) with hash history causes a full page reload.\n */\n\nfunction supportsGoWithoutReloadUsingHash() {\n return window.navigator.userAgent.indexOf('Firefox') === -1;\n}\n/**\n * Returns true if a given popstate event is an extraneous WebKit event.\n * Accounts for the fact that Chrome on iOS fires real popstate events\n * containing undefined state when pressing the back button.\n */\n\nfunction isExtraneousPopstateEvent(event) {\n event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;\n}\n\nvar PopStateEvent = 'popstate';\nvar HashChangeEvent = 'hashchange';\n\nfunction getHistoryState() {\n try {\n return window.history.state || {};\n } catch (e) {\n // IE 11 sometimes throws when accessing window.history.state\n // See https://github.com/ReactTraining/history/pull/289\n return {};\n }\n}\n/**\n * Creates a history object that uses the HTML5 history API including\n * pushState, replaceState, and the popstate event.\n */\n\n\nfunction createBrowserHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Browser history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canUseHistory = supportsHistory();\n var needsHashChangeListener = !supportsPopStateOnHashChange();\n var _props = props,\n _props$forceRefresh = _props.forceRefresh,\n forceRefresh = _props$forceRefresh === void 0 ? false : _props$forceRefresh,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n\n function getDOMLocation(historyState) {\n var _ref = historyState || {},\n key = _ref.key,\n state = _ref.state;\n\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var path = pathname + search + hash;\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path, state, key);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function handlePopState(event) {\n // Ignore extraneous popstate events in WebKit.\n if (isExtraneousPopstateEvent(event)) return;\n handlePop(getDOMLocation(event.state));\n }\n\n function handleHashChange() {\n handlePop(getDOMLocation(getHistoryState()));\n }\n\n var forceNextPop = false;\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of keys we've seen in sessionStorage.\n // Instead, we just default to 0 for keys we don't know.\n\n var toIndex = allKeys.indexOf(toLocation.key);\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allKeys.indexOf(fromLocation.key);\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n }\n\n var initialLocation = getDOMLocation(getHistoryState());\n var allKeys = [initialLocation.key]; // Public interface\n\n function createHref(location) {\n return basename + createPath(location);\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.pushState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.href = href;\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n nextKeys.push(location.key);\n allKeys = nextKeys;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history') : void 0;\n window.location.href = href;\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var href = createHref(location);\n var key = location.key,\n state = location.state;\n\n if (canUseHistory) {\n globalHistory.replaceState({\n key: key,\n state: state\n }, null, href);\n\n if (forceRefresh) {\n window.location.replace(href);\n } else {\n var prevIndex = allKeys.indexOf(history.location.key);\n if (prevIndex !== -1) allKeys[prevIndex] = location.key;\n setState({\n action: action,\n location: location\n });\n }\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history') : void 0;\n window.location.replace(href);\n }\n });\n }\n\n function go(n) {\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.addEventListener(HashChangeEvent, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(PopStateEvent, handlePopState);\n if (needsHashChangeListener) window.removeEventListener(HashChangeEvent, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nvar HashChangeEvent$1 = 'hashchange';\nvar HashPathCoders = {\n hashbang: {\n encodePath: function encodePath(path) {\n return path.charAt(0) === '!' ? path : '!/' + stripLeadingSlash(path);\n },\n decodePath: function decodePath(path) {\n return path.charAt(0) === '!' ? path.substr(1) : path;\n }\n },\n noslash: {\n encodePath: stripLeadingSlash,\n decodePath: addLeadingSlash\n },\n slash: {\n encodePath: addLeadingSlash,\n decodePath: addLeadingSlash\n }\n};\n\nfunction getHashPath() {\n // We can't use window.location.hash here because it's not\n // consistent across browsers - Firefox will pre-decode it!\n var href = window.location.href;\n var hashIndex = href.indexOf('#');\n return hashIndex === -1 ? '' : href.substring(hashIndex + 1);\n}\n\nfunction pushHashPath(path) {\n window.location.hash = path;\n}\n\nfunction replaceHashPath(path) {\n var hashIndex = window.location.href.indexOf('#');\n window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);\n}\n\nfunction createHashHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n !canUseDOM ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Hash history needs a DOM') : invariant(false) : void 0;\n var globalHistory = window.history;\n var canGoWithoutReload = supportsGoWithoutReloadUsingHash();\n var _props = props,\n _props$getUserConfirm = _props.getUserConfirmation,\n getUserConfirmation = _props$getUserConfirm === void 0 ? getConfirmation : _props$getUserConfirm,\n _props$hashType = _props.hashType,\n hashType = _props$hashType === void 0 ? 'slash' : _props$hashType;\n var basename = props.basename ? stripTrailingSlash(addLeadingSlash(props.basename)) : '';\n var _HashPathCoders$hashT = HashPathCoders[hashType],\n encodePath = _HashPathCoders$hashT.encodePath,\n decodePath = _HashPathCoders$hashT.decodePath;\n\n function getDOMLocation() {\n var path = decodePath(getHashPath());\n process.env.NODE_ENV !== \"production\" ? warning(!basename || hasBasename(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path \"' + path + '\" to begin with \"' + basename + '\".') : void 0;\n if (basename) path = stripBasename(path, basename);\n return createLocation(path);\n }\n\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = globalHistory.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n var forceNextPop = false;\n var ignorePath = null;\n\n function handleHashChange() {\n var path = getHashPath();\n var encodedPath = encodePath(path);\n\n if (path !== encodedPath) {\n // Ensure we always have a properly-encoded hash.\n replaceHashPath(encodedPath);\n } else {\n var location = getDOMLocation();\n var prevLocation = history.location;\n if (!forceNextPop && locationsAreEqual(prevLocation, location)) return; // A hashchange doesn't always == location change.\n\n if (ignorePath === createPath(location)) return; // Ignore this change; we already setState in push/replace.\n\n ignorePath = null;\n handlePop(location);\n }\n }\n\n function handlePop(location) {\n if (forceNextPop) {\n forceNextPop = false;\n setState();\n } else {\n var action = 'POP';\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location\n });\n } else {\n revertPop(location);\n }\n });\n }\n }\n\n function revertPop(fromLocation) {\n var toLocation = history.location; // TODO: We could probably make this more reliable by\n // keeping a list of paths we've seen in sessionStorage.\n // Instead, we just default to 0 for paths we don't know.\n\n var toIndex = allPaths.lastIndexOf(createPath(toLocation));\n if (toIndex === -1) toIndex = 0;\n var fromIndex = allPaths.lastIndexOf(createPath(fromLocation));\n if (fromIndex === -1) fromIndex = 0;\n var delta = toIndex - fromIndex;\n\n if (delta) {\n forceNextPop = true;\n go(delta);\n }\n } // Ensure the hash is encoded properly before doing anything else.\n\n\n var path = getHashPath();\n var encodedPath = encodePath(path);\n if (path !== encodedPath) replaceHashPath(encodedPath);\n var initialLocation = getDOMLocation();\n var allPaths = [createPath(initialLocation)]; // Public interface\n\n function createHref(location) {\n return '#' + encodePath(basename + createPath(location));\n }\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot push state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a PUSH, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n pushHashPath(encodedPath);\n var prevIndex = allPaths.lastIndexOf(createPath(history.location));\n var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);\n nextPaths.push(path);\n allPaths = nextPaths;\n setState({\n action: action,\n location: location\n });\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack') : void 0;\n setState();\n }\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(state === undefined, 'Hash history cannot replace state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, undefined, undefined, history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var path = createPath(location);\n var encodedPath = encodePath(basename + path);\n var hashChanged = getHashPath() !== encodedPath;\n\n if (hashChanged) {\n // We cannot tell if a hashchange was caused by a REPLACE, so we'd\n // rather setState here and ignore the hashchange. The caveat here\n // is that other hash histories in the page will consider it a POP.\n ignorePath = path;\n replaceHashPath(encodedPath);\n }\n\n var prevIndex = allPaths.indexOf(createPath(history.location));\n if (prevIndex !== -1) allPaths[prevIndex] = path;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n process.env.NODE_ENV !== \"production\" ? warning(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0;\n globalHistory.go(n);\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n var listenerCount = 0;\n\n function checkDOMListeners(delta) {\n listenerCount += delta;\n\n if (listenerCount === 1 && delta === 1) {\n window.addEventListener(HashChangeEvent$1, handleHashChange);\n } else if (listenerCount === 0) {\n window.removeEventListener(HashChangeEvent$1, handleHashChange);\n }\n }\n\n var isBlocked = false;\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n var unblock = transitionManager.setPrompt(prompt);\n\n if (!isBlocked) {\n checkDOMListeners(1);\n isBlocked = true;\n }\n\n return function () {\n if (isBlocked) {\n isBlocked = false;\n checkDOMListeners(-1);\n }\n\n return unblock();\n };\n }\n\n function listen(listener) {\n var unlisten = transitionManager.appendListener(listener);\n checkDOMListeners(1);\n return function () {\n checkDOMListeners(-1);\n unlisten();\n };\n }\n\n var history = {\n length: globalHistory.length,\n action: 'POP',\n location: initialLocation,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n block: block,\n listen: listen\n };\n return history;\n}\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n/**\n * Creates a history object that stores locations in memory.\n */\n\n\nfunction createMemoryHistory(props) {\n if (props === void 0) {\n props = {};\n }\n\n var _props = props,\n getUserConfirmation = _props.getUserConfirmation,\n _props$initialEntries = _props.initialEntries,\n initialEntries = _props$initialEntries === void 0 ? ['/'] : _props$initialEntries,\n _props$initialIndex = _props.initialIndex,\n initialIndex = _props$initialIndex === void 0 ? 0 : _props$initialIndex,\n _props$keyLength = _props.keyLength,\n keyLength = _props$keyLength === void 0 ? 6 : _props$keyLength;\n var transitionManager = createTransitionManager();\n\n function setState(nextState) {\n _extends(history, nextState);\n\n history.length = history.entries.length;\n transitionManager.notifyListeners(history.location, history.action);\n }\n\n function createKey() {\n return Math.random().toString(36).substr(2, keyLength);\n }\n\n var index = clamp(initialIndex, 0, initialEntries.length - 1);\n var entries = initialEntries.map(function (entry) {\n return typeof entry === 'string' ? createLocation(entry, undefined, createKey()) : createLocation(entry, undefined, entry.key || createKey());\n }); // Public interface\n\n var createHref = createPath;\n\n function push(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'PUSH';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n var prevIndex = history.index;\n var nextIndex = prevIndex + 1;\n var nextEntries = history.entries.slice(0);\n\n if (nextEntries.length > nextIndex) {\n nextEntries.splice(nextIndex, nextEntries.length - nextIndex, location);\n } else {\n nextEntries.push(location);\n }\n\n setState({\n action: action,\n location: location,\n index: nextIndex,\n entries: nextEntries\n });\n });\n }\n\n function replace(path, state) {\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof path === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored') : void 0;\n var action = 'REPLACE';\n var location = createLocation(path, state, createKey(), history.location);\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (!ok) return;\n history.entries[history.index] = location;\n setState({\n action: action,\n location: location\n });\n });\n }\n\n function go(n) {\n var nextIndex = clamp(history.index + n, 0, history.entries.length - 1);\n var action = 'POP';\n var location = history.entries[nextIndex];\n transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {\n if (ok) {\n setState({\n action: action,\n location: location,\n index: nextIndex\n });\n } else {\n // Mimic the behavior of DOM histories by\n // causing a render after a cancelled POP.\n setState();\n }\n });\n }\n\n function goBack() {\n go(-1);\n }\n\n function goForward() {\n go(1);\n }\n\n function canGo(n) {\n var nextIndex = history.index + n;\n return nextIndex >= 0 && nextIndex < history.entries.length;\n }\n\n function block(prompt) {\n if (prompt === void 0) {\n prompt = false;\n }\n\n return transitionManager.setPrompt(prompt);\n }\n\n function listen(listener) {\n return transitionManager.appendListener(listener);\n }\n\n var history = {\n length: entries.length,\n action: 'POP',\n location: entries[index],\n index: index,\n entries: entries,\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n goBack: goBack,\n goForward: goForward,\n canGo: canGo,\n block: block,\n listen: listen\n };\n return history;\n}\n\nexport { createBrowserHistory, createHashHistory, createMemoryHistory, createLocation, locationsAreEqual, parsePath, createPath };\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 * 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\nexport default isObjectLike;\n","import freeGlobal from './_freeGlobal.js';\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\nexport default root;\n","export const black = \"#000000\";\nexport const white = \"#FFFFFF\";\n","import { neutralFillActiveDelta, neutralFillFocusDelta, neutralFillHoverDelta, neutralFillRestDelta, neutralFillStealthActiveDelta, neutralFillStealthFocusDelta, neutralFillStealthHoverDelta, neutralFillStealthRestDelta, neutralFillStealthSelectedDelta, neutralPalette, } from \"../design-system\";\nimport { colorRecipeFactory, designSystemResolverMax, } from \"./common\";\nimport { findClosestBackgroundIndex, getSwatch } from \"./palette\";\nconst neutralFillStealthSwapThreshold = designSystemResolverMax(neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, neutralFillFocusDelta, neutralFillStealthRestDelta, neutralFillStealthHoverDelta, neutralFillStealthActiveDelta, neutralFillStealthFocusDelta);\nfunction neutralFillStealthAlgorithm(deltaResolver) {\n return (designSystem) => {\n const backgroundIndex = findClosestBackgroundIndex(designSystem);\n const swapThreshold = neutralFillStealthSwapThreshold(designSystem);\n const direction = backgroundIndex >= swapThreshold ? -1 : 1;\n return getSwatch(backgroundIndex + direction * deltaResolver(designSystem), neutralPalette(designSystem));\n };\n}\nexport const neutralFillStealthRest = colorRecipeFactory(neutralFillStealthAlgorithm(neutralFillStealthRestDelta));\nexport const neutralFillStealthHover = colorRecipeFactory(neutralFillStealthAlgorithm(neutralFillStealthHoverDelta));\nexport const neutralFillStealthActive = colorRecipeFactory(neutralFillStealthAlgorithm(neutralFillStealthActiveDelta));\nexport const neutralFillStealthFocus = colorRecipeFactory(neutralFillStealthAlgorithm(neutralFillStealthFocusDelta));\nexport const neutralFillStealthSelected = colorRecipeFactory(neutralFillStealthAlgorithm(neutralFillStealthSelectedDelta));\nexport const neutralFillStealth = colorRecipeFactory((designSystem) => {\n return {\n rest: neutralFillStealthRest(designSystem),\n hover: neutralFillStealthHover(designSystem),\n active: neutralFillStealthActive(designSystem),\n focus: neutralFillStealthFocus(designSystem),\n selected: neutralFillStealthSelected(designSystem),\n };\n});\n","import { toString } from \"@microsoft/fast-jss-utilities\";\nimport { disabledOpacity } from \"../utilities/design-system\";\nimport { applyCursorDisabled } from \"./cursor\";\nimport { HighContrastColor, highContrastSelector } from \"./high-contrast\";\nexport function applyDisabledState(\n/* eslint-disable-next-line @typescript-eslint/no-unused-vars */\nconfig /* @deprecated - this function doesn't need an argument */) {\n return Object.assign(Object.assign({ opacity: toString(disabledOpacity) }, applyCursorDisabled()), { [highContrastSelector]: {\n opacity: \"1\",\n color: HighContrastColor.disabledText,\n } });\n}\n","var candidateSelectors = [\n 'input',\n 'select',\n 'textarea',\n 'a[href]',\n 'button',\n '[tabindex]',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable=\"false\"])',\n];\nvar candidateSelector = candidateSelectors.join(',');\n\nvar matches = typeof Element === 'undefined'\n ? function () {}\n : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n\nfunction tabbable(el, options) {\n options = options || {};\n\n var regularTabbables = [];\n var orderedTabbables = [];\n\n var candidates = el.querySelectorAll(candidateSelector);\n\n if (options.includeContainer) {\n if (matches.call(el, candidateSelector)) {\n candidates = Array.prototype.slice.apply(candidates);\n candidates.unshift(el);\n }\n }\n\n var i, candidate, candidateTabindex;\n for (i = 0; i < candidates.length; i++) {\n candidate = candidates[i];\n\n if (!isNodeMatchingSelectorTabbable(candidate)) continue;\n\n candidateTabindex = getTabindex(candidate);\n if (candidateTabindex === 0) {\n regularTabbables.push(candidate);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n node: candidate,\n });\n }\n }\n\n var tabbableNodes = orderedTabbables\n .sort(sortOrderedTabbables)\n .map(function(a) { return a.node })\n .concat(regularTabbables);\n\n return tabbableNodes;\n}\n\ntabbable.isTabbable = isTabbable;\ntabbable.isFocusable = isFocusable;\n\nfunction isNodeMatchingSelectorTabbable(node) {\n if (\n !isNodeMatchingSelectorFocusable(node)\n || isNonTabbableRadio(node)\n || getTabindex(node) < 0\n ) {\n return false;\n }\n return true;\n}\n\nfunction isTabbable(node) {\n if (!node) throw new Error('No node provided');\n if (matches.call(node, candidateSelector) === false) return false;\n return isNodeMatchingSelectorTabbable(node);\n}\n\nfunction isNodeMatchingSelectorFocusable(node) {\n if (\n node.disabled\n || isHiddenInput(node)\n || isHidden(node)\n ) {\n return false;\n }\n return true;\n}\n\nvar focusableCandidateSelector = candidateSelectors.concat('iframe').join(',');\nfunction isFocusable(node) {\n if (!node) throw new Error('No node provided');\n if (matches.call(node, focusableCandidateSelector) === false) return false;\n return isNodeMatchingSelectorFocusable(node);\n}\n\nfunction getTabindex(node) {\n var tabindexAttr = parseInt(node.getAttribute('tabindex'), 10);\n if (!isNaN(tabindexAttr)) return tabindexAttr;\n // Browsers do not return `tabIndex` correctly for contentEditable nodes;\n // so if they don't have a tabindex attribute specifically set, assume it's 0.\n if (isContentEditable(node)) return 0;\n return node.tabIndex;\n}\n\nfunction sortOrderedTabbables(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n}\n\nfunction isContentEditable(node) {\n return node.contentEditable === 'true';\n}\n\nfunction isInput(node) {\n return node.tagName === 'INPUT';\n}\n\nfunction isHiddenInput(node) {\n return isInput(node) && node.type === 'hidden';\n}\n\nfunction isRadio(node) {\n return isInput(node) && node.type === 'radio';\n}\n\nfunction isNonTabbableRadio(node) {\n return isRadio(node) && !isTabbableRadio(node);\n}\n\nfunction getCheckedRadio(nodes) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked) {\n return nodes[i];\n }\n }\n}\n\nfunction isTabbableRadio(node) {\n if (!node.name) return true;\n // This won't account for the edge case where you have radio groups with the same\n // in separate forms on the same page.\n var radioSet = node.ownerDocument.querySelectorAll('input[type=\"radio\"][name=\"' + node.name + '\"]');\n var checked = getCheckedRadio(radioSet);\n return !checked || checked === node;\n}\n\nfunction isHidden(node) {\n // offsetParent being null will allow detecting cases where an element is invisible or inside an invisible element,\n // as long as the element does not use position: fixed. For them, their visibility has to be checked directly as well.\n return node.offsetParent === null || getComputedStyle(node).visibility === 'hidden';\n}\n\nmodule.exports = tabbable;\n","import { neutralOutlineActiveDelta, neutralOutlineFocusDelta, neutralOutlineHoverDelta, neutralOutlineRestDelta, neutralPalette, } from \"../design-system\";\nimport { findClosestBackgroundIndex, getSwatch, isDarkMode } from \"./palette\";\nimport { colorRecipeFactory, swatchFamilyToSwatchRecipeFactory, SwatchFamilyType, } from \"./common\";\nconst neutralOutlineAlgorithm = (designSystem) => {\n const palette = neutralPalette(designSystem);\n const backgroundIndex = findClosestBackgroundIndex(designSystem);\n const direction = isDarkMode(designSystem) ? -1 : 1;\n const restDelta = neutralOutlineRestDelta(designSystem);\n const restIndex = backgroundIndex + direction * restDelta;\n const hoverDelta = neutralOutlineHoverDelta(designSystem);\n const hoverIndex = restIndex + direction * (hoverDelta - restDelta);\n const activeDelta = neutralOutlineActiveDelta(designSystem);\n const activeIndex = restIndex + direction * (activeDelta - restDelta);\n const focusDelta = neutralOutlineFocusDelta(designSystem);\n const focusIndex = restIndex + direction * (focusDelta - restDelta);\n return {\n rest: getSwatch(restIndex, palette),\n hover: getSwatch(hoverIndex, palette),\n active: getSwatch(activeIndex, palette),\n focus: getSwatch(focusIndex, palette),\n };\n};\nexport const neutralOutline = colorRecipeFactory(neutralOutlineAlgorithm);\nexport const neutralOutlineRest = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, neutralOutline);\nexport const neutralOutlineHover = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.hover, neutralOutline);\nexport const neutralOutlineActive = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.active, neutralOutline);\nexport const neutralOutlineFocus = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.focus, neutralOutline);\n","import { canUseFocusVisible } from \"@microsoft/fast-web-utilities\";\n/**\n * Returns the selector for the browser native :focus-visible implementation\n */\nexport function applyFocusVisibleSelector(selector = \"\") {\n return `&:focus-visible${selector}`;\n}\n/**\n * Returns the selector for the focus-visible polyfill\n */\nexport function applyFocusVisiblePolyfillSelector(selector = \"\") {\n return `body:not(.js-focus-visible) &:focus${selector}, .js-focus-visible &.focus-visible${selector}, .js-focus-visible [data-focus-visible-added]&${selector}`;\n}\nexport function applyFocusVisible(a, b) {\n let styles;\n let selector;\n if (typeof a === \"object\" && a !== null) {\n selector = \"\";\n styles = a;\n }\n else if (typeof a === \"string\") {\n selector = a;\n styles = b;\n }\n else {\n return {};\n }\n return Object.assign({\n \"&:focus\": {\n outline: \"none\",\n },\n }, canUseFocusVisible()\n ? {\n [applyFocusVisibleSelector(selector)]: styles,\n }\n : {\n [applyFocusVisiblePolyfillSelector(selector)]: styles,\n });\n}\n","import baseToString from './_baseToString.js';\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 convert.\n * @returns {string} Returns the converted 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\nexport default toString;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","export var TypographyTag;\n(function (TypographyTag) {\n TypographyTag[\"caption\"] = \"caption\";\n TypographyTag[\"h1\"] = \"h1\";\n TypographyTag[\"h2\"] = \"h2\";\n TypographyTag[\"h3\"] = \"h3\";\n TypographyTag[\"h4\"] = \"h4\";\n TypographyTag[\"h5\"] = \"h5\";\n TypographyTag[\"h6\"] = \"h6\";\n TypographyTag[\"p\"] = \"p\";\n TypographyTag[\"span\"] = \"span\";\n TypographyTag[\"figcaption\"] = \"figcaption\";\n})(TypographyTag || (TypographyTag = {}));\nexport var TypographySize;\n(function (TypographySize) {\n TypographySize[TypographySize[\"_1\"] = 1] = \"_1\";\n TypographySize[TypographySize[\"_2\"] = 2] = \"_2\";\n TypographySize[TypographySize[\"_3\"] = 3] = \"_3\";\n TypographySize[TypographySize[\"_4\"] = 4] = \"_4\";\n TypographySize[TypographySize[\"_5\"] = 5] = \"_5\";\n TypographySize[TypographySize[\"_6\"] = 6] = \"_6\";\n TypographySize[TypographySize[\"_7\"] = 7] = \"_7\";\n TypographySize[TypographySize[\"_8\"] = 8] = \"_8\";\n TypographySize[TypographySize[\"_9\"] = 9] = \"_9\";\n})(TypographySize || (TypographySize = {}));\n","import { canUseDOM } from \"exenv-es6\";\n/**\n * A test that ensures that all arguments are HTML Elements\n */\nexport function isHTMLElement(...args) {\n return args.every((arg) => arg instanceof HTMLElement);\n}\n/**\n * Returns all displayed elements inside of a root node that match a provided selector\n */\nexport function getDisplayedNodes(rootNode, selector) {\n if (!isHTMLElement(rootNode)) {\n return;\n }\n const nodes = Array.from(rootNode.querySelectorAll(selector));\n // offsetParent will be null if the element isn't currently displayed,\n // so this will allow us to operate only on visible nodes\n return nodes.filter((node) => node.offsetParent !== null);\n}\n// Check to see if we can use focus-visible https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\nlet _canUseFocusVisible;\nexport function canUseFocusVisible() {\n if (typeof _canUseFocusVisible === \"boolean\") {\n return _canUseFocusVisible;\n }\n if (!canUseDOM()) {\n _canUseFocusVisible = false;\n }\n // Check to see if the document supports the focus-visible elemtn\n const styleElement = document.createElement(\"style\");\n document.head.appendChild(styleElement);\n try {\n styleElement.sheet.insertRule(\"foo:focus-visible {color:inherit}\", 0);\n _canUseFocusVisible = true;\n }\n catch (e) {\n _canUseFocusVisible = false;\n }\n return _canUseFocusVisible;\n}\n","import { neutralFillInputActiveDelta, neutralFillInputFocusDelta, neutralFillInputHoverDelta, neutralFillInputRestDelta, neutralFillInputSelectedDelta, neutralPalette, } from \"../design-system\";\nimport { findClosestBackgroundIndex, getSwatch, isDarkMode } from \"./palette\";\nimport { colorRecipeFactory, } from \"./common\";\n/**\n * Algorithm for determining neutral backplate colors\n */\nfunction neutralFillInputAlgorithm(indexResolver) {\n return (designSystem) => {\n const direction = isDarkMode(designSystem) ? -1 : 1;\n return getSwatch(findClosestBackgroundIndex(designSystem) -\n indexResolver(designSystem) * direction, neutralPalette(designSystem));\n };\n}\nexport const neutralFillInputRest = colorRecipeFactory(neutralFillInputAlgorithm(neutralFillInputRestDelta));\nexport const neutralFillInputHover = colorRecipeFactory(neutralFillInputAlgorithm(neutralFillInputHoverDelta));\nexport const neutralFillInputActive = colorRecipeFactory(neutralFillInputAlgorithm(neutralFillInputActiveDelta));\nexport const neutralFillInputFocus = colorRecipeFactory(neutralFillInputAlgorithm(neutralFillInputFocusDelta));\nexport const neutralFillInputSelected = colorRecipeFactory(neutralFillInputAlgorithm(neutralFillInputSelectedDelta));\nexport const neutralFillInput = colorRecipeFactory((designSystem) => {\n return {\n rest: neutralFillInputRest(designSystem),\n hover: neutralFillInputHover(designSystem),\n active: neutralFillInputActive(designSystem),\n focus: neutralFillInputFocus(designSystem),\n selected: neutralFillInputSelected(designSystem),\n };\n});\n","import Symbol from './_Symbol.js';\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 symToStringTag = Symbol ? Symbol.toStringTag : undefined;\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\nexport default getRawTag;\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/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\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\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar 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\nexport default baseGetTag;\n","export default function _extends() {\n _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 return _extends.apply(this, arguments);\n}","export var HeadingAlignBaseline;\n(function (HeadingAlignBaseline) {\n HeadingAlignBaseline[\"small\"] = \"small\";\n HeadingAlignBaseline[\"large\"] = \"large\";\n})(HeadingAlignBaseline || (HeadingAlignBaseline = {}));\nexport var HeadingSize;\n(function (HeadingSize) {\n HeadingSize[HeadingSize[\"_1\"] = 1] = \"_1\";\n HeadingSize[HeadingSize[\"_2\"] = 2] = \"_2\";\n HeadingSize[HeadingSize[\"_3\"] = 3] = \"_3\";\n HeadingSize[HeadingSize[\"_4\"] = 4] = \"_4\";\n HeadingSize[HeadingSize[\"_5\"] = 5] = \"_5\";\n HeadingSize[HeadingSize[\"_6\"] = 6] = \"_6\";\n HeadingSize[HeadingSize[\"_7\"] = 7] = \"_7\";\n})(HeadingSize || (HeadingSize = {}));\nexport var HeadingTag;\n(function (HeadingTag) {\n HeadingTag[\"h1\"] = \"h1\";\n HeadingTag[\"h2\"] = \"h2\";\n HeadingTag[\"h3\"] = \"h3\";\n HeadingTag[\"h4\"] = \"h4\";\n HeadingTag[\"h5\"] = \"h5\";\n HeadingTag[\"h6\"] = \"h6\";\n HeadingTag[\"p\"] = \"p\";\n})(HeadingTag || (HeadingTag = {}));\n","import { roundToPrecisionSmall } from \"./math-utilities\";\n/**\n * {@link https://en.wikipedia.org/wiki/CIELAB_color_space | CIELAB color space}\n * This implementation uses the D65 constants for 2 degrees. That determines the constants used for the pure white point of the XYZ space of 0.95047, 1.0, 1.08883.\n * {@link https://en.wikipedia.org/wiki/Illuminant_D65}\n * These constants determine how the XYZ, LCH and LAB colors convert to/from RGB.\n *\n * @public\n */\nexport class ColorLAB {\n constructor(l, a, b) {\n this.l = l;\n this.a = a;\n this.b = b;\n }\n /**\n * Construct a {@link ColorLAB} from a config object.\n */\n static fromObject(data) {\n if (data && !isNaN(data.l) && !isNaN(data.a) && !isNaN(data.b)) {\n return new ColorLAB(data.l, data.a, data.b);\n }\n return null;\n }\n /**\n * Determines if a color is equal to another\n * @param rhs - the value to compare\n */\n equalValue(rhs) {\n return this.l === rhs.l && this.a === rhs.a && this.b === rhs.b;\n }\n /**\n * Returns a new {@link ColorLAB} rounded to the provided precision\n * @param precision - the precision to round to\n */\n roundToPrecision(precision) {\n return new ColorLAB(roundToPrecisionSmall(this.l, precision), roundToPrecisionSmall(this.a, precision), roundToPrecisionSmall(this.b, precision));\n }\n /**\n * Returns the {@link ColorLAB} formatted as an object.\n */\n toObject() {\n return { l: this.l, a: this.a, b: this.b };\n }\n}\nColorLAB.epsilon = 216 / 24389;\nColorLAB.kappa = 24389 / 27;\n","import Listbox from \"./listbox\";\nimport listboxSchema from \"./listbox.schema\";\nimport listboxSchema2 from \"./listbox.schema.2\";\nexport { listboxSchema, listboxSchema2 };\nexport default Listbox;\nexport * from \"./listbox\";\n","import isFunction from './isFunction.js';\nimport isLength from './isLength.js';\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\nexport default isArrayLike;\n","import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\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 var isNew = !object;\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 if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\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\nexport default keys;\n","import Stack from './_Stack.js';\nimport baseIsEqual from './_baseIsEqual.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\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, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport default baseIsMatch;\n","import isObject from './isObject.js';\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\nexport default isStrictComparable;\n","import isStrictComparable from './_isStrictComparable.js';\nimport keys from './keys.js';\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\nexport default getMatchData;\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\nexport default matchesStrictComparable;\n","import baseIsMatch from './_baseIsMatch.js';\nimport getMatchData from './_getMatchData.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\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\nexport default baseMatches;\n","import baseIsEqual from './_baseIsEqual.js';\nimport get from './get.js';\nimport hasIn from './hasIn.js';\nimport isKey from './_isKey.js';\nimport isStrictComparable from './_isStrictComparable.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\nimport toKey from './_toKey.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\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, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nexport default baseMatchesProperty;\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\nexport default baseProperty;\n","import baseGet from './_baseGet.js';\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\nexport default basePropertyDeep;\n","import baseProperty from './_baseProperty.js';\nimport basePropertyDeep from './_basePropertyDeep.js';\nimport isKey from './_isKey.js';\nimport toKey from './_toKey.js';\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\nexport default property;\n","import baseMatches from './_baseMatches.js';\nimport baseMatchesProperty from './_baseMatchesProperty.js';\nimport identity from './identity.js';\nimport isArray from './isArray.js';\nimport property from './property.js';\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\nexport default baseIteratee;\n","import coreJsData from './_coreJsData.js';\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 * 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\nexport default isMasked;\n","import root from './_root.js';\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nexport default coreJsData;\n","import isFunction from './isFunction.js';\nimport isMasked from './_isMasked.js';\nimport isObject from './isObject.js';\nimport toSource from './_toSource.js';\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 for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\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 if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$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) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nexport default baseIsNative;\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\nexport default getValue;\n","import baseIsNative from './_baseIsNative.js';\nimport getValue from './_getValue.js';\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\nexport default getNative;\n","import { add, multiply, subtract } from \"@microsoft/fast-jss-utilities\";\nimport { clamp, ColorRGBA64 } from \"@microsoft/fast-colors\";\nimport { baseLayerLuminance, neutralFillActiveDelta, neutralFillCardDelta, neutralFillHoverDelta, neutralFillRestDelta, neutralPalette, } from \"../design-system\";\nimport { findClosestSwatchIndex, getSwatch, swatchByMode } from \"./palette\";\nimport { colorRecipeFactory, designSystemResolverMax, } from \"./common\";\n/**\n * @deprecated Use the recipes because they can be more dynamic for different ramps\n */\nexport var NeutralPaletteLightModeLayers;\n(function (NeutralPaletteLightModeLayers) {\n NeutralPaletteLightModeLayers[NeutralPaletteLightModeLayers[\"L1\"] = 0] = \"L1\";\n NeutralPaletteLightModeLayers[NeutralPaletteLightModeLayers[\"L1Alt\"] = 3] = \"L1Alt\";\n NeutralPaletteLightModeLayers[NeutralPaletteLightModeLayers[\"L2\"] = 10] = \"L2\";\n NeutralPaletteLightModeLayers[NeutralPaletteLightModeLayers[\"L3\"] = 13] = \"L3\";\n NeutralPaletteLightModeLayers[NeutralPaletteLightModeLayers[\"L4\"] = 16] = \"L4\";\n})(NeutralPaletteLightModeLayers || (NeutralPaletteLightModeLayers = {}));\n/**\n * @deprecated Use the recipes because they can be more dynamic for different ramps\n */\nexport var NeutralPaletteDarkModeLayers;\n(function (NeutralPaletteDarkModeLayers) {\n NeutralPaletteDarkModeLayers[NeutralPaletteDarkModeLayers[\"L1\"] = 76] = \"L1\";\n NeutralPaletteDarkModeLayers[NeutralPaletteDarkModeLayers[\"L1Alt\"] = 76] = \"L1Alt\";\n NeutralPaletteDarkModeLayers[NeutralPaletteDarkModeLayers[\"L2\"] = 79] = \"L2\";\n NeutralPaletteDarkModeLayers[NeutralPaletteDarkModeLayers[\"L3\"] = 82] = \"L3\";\n NeutralPaletteDarkModeLayers[NeutralPaletteDarkModeLayers[\"L4\"] = 85] = \"L4\";\n})(NeutralPaletteDarkModeLayers || (NeutralPaletteDarkModeLayers = {}));\n/**\n * Recommended values for light and dark mode for `baseLayerLuminance` in the design system.\n */\nexport var StandardLuminance;\n(function (StandardLuminance) {\n StandardLuminance[StandardLuminance[\"LightMode\"] = 1] = \"LightMode\";\n StandardLuminance[StandardLuminance[\"DarkMode\"] = 0.23] = \"DarkMode\";\n})(StandardLuminance || (StandardLuminance = {}));\nfunction luminanceOrBackgroundColor(luminanceRecipe, backgroundRecipe) {\n return (designSystem) => {\n return baseLayerLuminance(designSystem) === -1\n ? backgroundRecipe(designSystem)\n : luminanceRecipe(designSystem);\n };\n}\n/**\n * Find the palette color that's closest to the desired base layer luminance.\n */\nconst baseLayerLuminanceSwatch = (designSystem) => {\n const luminance = baseLayerLuminance(designSystem);\n return new ColorRGBA64(luminance, luminance, luminance, 1).toStringHexRGB();\n};\n/**\n * Get the index of the base layer palette color.\n */\nconst baseLayerLuminanceIndex = findClosestSwatchIndex(neutralPalette, baseLayerLuminanceSwatch);\n/**\n * Get the actual value of the card layer index, clamped so we can use it to base other layers from.\n */\nconst neutralLayerCardIndex = (designSystem) => clamp(subtract(baseLayerLuminanceIndex, neutralFillCardDelta)(designSystem), 0, neutralPalette(designSystem).length - 1);\n/**\n * Light mode L2 is significant because it happens at the same point as the neutral fill flip. Use this as the minimum index for L2.\n */\nconst lightNeutralLayerL2 = designSystemResolverMax(neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta);\n/**\n * The index for L2 based on luminance, adjusted for the flip in light mode if necessary.\n */\nconst neutralLayerL2Index = designSystemResolverMax(add(baseLayerLuminanceIndex, neutralFillCardDelta), lightNeutralLayerL2);\n/**\n * Dark mode L4 is the darkest recommended background in the standard guidance, which is\n * calculated based on luminance to work with variable sized ramps.\n */\nconst darkNeutralLayerL4 = (designSystem) => {\n const darkLum = 0.14;\n const darkColor = new ColorRGBA64(darkLum, darkLum, darkLum, 1);\n const darkRefIndex = findClosestSwatchIndex(neutralPalette, darkColor.toStringHexRGB())(designSystem);\n return darkRefIndex;\n};\n/**\n * Used as the background color for floating layers like context menus and flyouts.\n */\nexport const neutralLayerFloating = colorRecipeFactory(luminanceOrBackgroundColor(getSwatch(subtract(neutralLayerCardIndex, neutralFillCardDelta), neutralPalette), swatchByMode(neutralPalette)(0, subtract(darkNeutralLayerL4, multiply(neutralFillCardDelta, 5)))));\n/**\n * Used as the background color for cards. Pair with `neutralLayerCardContainer` for the container background.\n */\nexport const neutralLayerCard = colorRecipeFactory(luminanceOrBackgroundColor(getSwatch(neutralLayerCardIndex, neutralPalette), swatchByMode(neutralPalette)(0, subtract(darkNeutralLayerL4, multiply(neutralFillCardDelta, 4)))));\n/**\n * Used as the background color for card containers. Pair with `neutralLayerCard` for the card backgrounds.\n */\nexport const neutralLayerCardContainer = colorRecipeFactory(luminanceOrBackgroundColor(getSwatch(add(neutralLayerCardIndex, neutralFillCardDelta), neutralPalette), swatchByMode(neutralPalette)(neutralFillCardDelta, subtract(darkNeutralLayerL4, multiply(neutralFillCardDelta, 3)))));\n/**\n * Used as the background color for the primary content layer (L1).\n */\nexport const neutralLayerL1 = colorRecipeFactory(luminanceOrBackgroundColor(getSwatch(baseLayerLuminanceIndex, neutralPalette), swatchByMode(neutralPalette)(0, subtract(darkNeutralLayerL4, multiply(neutralFillCardDelta, 3)))));\n/**\n * Alternate darker color for L1 surfaces. Currently the same as card container, but use\n * the most applicable semantic named recipe.\n */\nexport const neutralLayerL1Alt = neutralLayerCardContainer;\n/**\n * Used as the background for the top command surface, logically below L1.\n */\nexport const neutralLayerL2 = colorRecipeFactory(luminanceOrBackgroundColor(getSwatch(neutralLayerL2Index, neutralPalette), swatchByMode(neutralPalette)(lightNeutralLayerL2, subtract(darkNeutralLayerL4, multiply(neutralFillCardDelta, 2)))));\n/**\n * Used as the background for secondary command surfaces, logically below L2.\n */\nexport const neutralLayerL3 = colorRecipeFactory(luminanceOrBackgroundColor(getSwatch(add(neutralLayerL2Index, neutralFillCardDelta), neutralPalette), swatchByMode(neutralPalette)(add(lightNeutralLayerL2, neutralFillCardDelta), subtract(darkNeutralLayerL4, neutralFillCardDelta))));\n/**\n * Used as the background for the lowest command surface or title bar, logically below L3.\n */\nexport const neutralLayerL4 = colorRecipeFactory(luminanceOrBackgroundColor(getSwatch(add(neutralLayerL2Index, multiply(neutralFillCardDelta, 2)), neutralPalette), swatchByMode(neutralPalette)(add(lightNeutralLayerL2, multiply(neutralFillCardDelta, 2)), darkNeutralLayerL4)));\n","import { parseColorHexRGB } from \"@microsoft/fast-colors\";\nexport const white = \"#FFFFFF\";\nexport const black = \"#000000\";\nexport const accentBaseColor = \"#0078D4\";\nexport const neutralBaseColor = \"#808080\";\n/**\n * @deprecated\n */\nconst paletteConstants = {\n steps: 94,\n clipLight: 0,\n clipDark: 0,\n};\n/**\n * @deprecated\n */\nexport const neutralPaletteConfig = Object.assign({}, paletteConstants);\n/**\n * @deprecated\n */\nexport const accentPaletteConfig = Object.assign(Object.assign({}, paletteConstants), { baseColor: parseColorHexRGB(\"#0078D4\") });\n","export var ContentCardLayout;\n(function (ContentCardLayout) {\n ContentCardLayout[\"_1x_1y\"] = \"1x_1y\";\n ContentCardLayout[\"_1x_2y\"] = \"1x_2y\";\n ContentCardLayout[\"_1x_3y\"] = \"1x_3y\";\n ContentCardLayout[\"_2x_2y\"] = \"2x_2y\";\n})(ContentCardLayout || (ContentCardLayout = {}));\n","import { neutralFillActiveDelta, neutralFillFocusDelta, neutralFillHoverDelta, neutralFillRestDelta, neutralFillSelectedDelta, neutralPalette, } from \"../design-system\";\nimport { colorRecipeFactory, designSystemResolverMax, } from \"./common\";\nimport { findClosestBackgroundIndex, getSwatch } from \"./palette\";\nconst neutralFillThreshold = designSystemResolverMax(neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta, neutralFillFocusDelta);\nfunction neutralFillAlgorithm(deltaResolver) {\n return (designSystem) => {\n const backgroundIndex = findClosestBackgroundIndex(designSystem);\n const swapThreshold = neutralFillThreshold(designSystem);\n const direction = backgroundIndex >= swapThreshold ? -1 : 1;\n return getSwatch(backgroundIndex + direction * deltaResolver(designSystem), neutralPalette(designSystem));\n };\n}\nexport const neutralFillRest = colorRecipeFactory(neutralFillAlgorithm(neutralFillRestDelta));\nexport const neutralFillHover = colorRecipeFactory(neutralFillAlgorithm(neutralFillHoverDelta));\nexport const neutralFillActive = colorRecipeFactory(neutralFillAlgorithm(neutralFillActiveDelta));\nexport const neutralFillFocus = colorRecipeFactory(neutralFillAlgorithm(neutralFillFocusDelta));\nexport const neutralFillSelected = colorRecipeFactory(neutralFillAlgorithm(neutralFillSelectedDelta));\nexport const neutralFill = colorRecipeFactory((designSystem) => {\n return {\n rest: neutralFillRest(designSystem),\n hover: neutralFillHover(designSystem),\n active: neutralFillActive(designSystem),\n focus: neutralFillFocus(designSystem),\n selected: neutralFillSelected(designSystem),\n };\n});\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\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\nexport default toKey;\n","import { DOM } from \"../dom\";\n/**\n * Instructs the template engine to apply behavior to a node.\n * @public\n */\nexport class Directive {\n constructor() {\n /**\n * The index of the DOM node to which the created behavior will apply.\n */\n this.targetIndex = 0;\n }\n}\n/**\n * A directive that attaches special behavior to an element via a custom attribute.\n * @public\n */\nexport class AttachedBehaviorDirective extends Directive {\n /**\n *\n * @param name - The name of the behavior; used as a custom attribute on the element.\n * @param behavior - The behavior to instantiate and attach to the element.\n * @param options - Options to pass to the behavior during creation.\n */\n constructor(name, behavior, options) {\n super();\n this.name = name;\n this.behavior = behavior;\n this.options = options;\n }\n /**\n * Creates a placeholder string based on the directive's index within the template.\n * @param index - The index of the directive within the template.\n * @remarks\n * Creates a custom attribute placeholder.\n */\n createPlaceholder(index) {\n return DOM.createCustomAttributePlaceholder(this.name, index);\n }\n /**\n * Creates a behavior for the provided target node.\n * @param target - The node instance to create the behavior for.\n * @remarks\n * Creates an instance of the `behavior` type this directive was constructed with\n * and passes the target and options to that `behavior`'s constructor.\n */\n createBehavior(target) {\n return new this.behavior(target, this.options);\n }\n}\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\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 = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\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 * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n","import { html, ref } from \"@microsoft/fast-element\";\n/**\n * A mixin class implementing start and end elements.\n * These are generally used to decorate text elements with icons or other visual indicators.\n * @public\n */\nexport class StartEnd {\n handleStartContentChange() {\n this.startContainer.classList.toggle(\"start\", this.start.assignedNodes().length > 0);\n }\n handleEndContentChange() {\n this.endContainer.classList.toggle(\"end\", this.end.assignedNodes().length > 0);\n }\n}\n/**\n * The template for the end element.\n * For use with {@link StartEnd}\n *\n * @public\n */\nexport const endTemplate = html `\n \n x.handleEndContentChange()}\"\n >\n \n`;\n/**\n * The template for the start element.\n * For use with {@link StartEnd}\n *\n * @public\n */\nexport const startTemplate = html `\n \n x.handleStartContentChange()}\"\n >\n \n`;\n","import { directionSwitch, format, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { applyCornerRadius, applyFocusPlaceholderBorder } from \"../utilities/border\";\nimport { applyCursorPointer } from \"../utilities/cursor\";\nimport { glyphSize, height, horizontalSpacing } from \"../utilities/density\";\nimport { focusOutlineWidth, outlineWidth } from \"../utilities/design-system\";\nimport { applyDisabledState } from \"../utilities/disabled\";\nimport { applyScaledTypeRamp } from \"../utilities/typography\";\nexport function buttonStyles() {\n return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, applyScaledTypeRamp(\"t7\")), applyCursorPointer()), applyFocusPlaceholderBorder()), applyCornerRadius()), { \"font-family\": \"inherit\", \"box-sizing\": \"border-box\", \"max-width\": \"374px\", \"min-width\": height(), padding: format(\"0 {0}\", horizontalSpacing(focusOutlineWidth)), display: \"inline-flex\", \"justify-content\": \"center\", \"align-items\": \"center\", height: height(), \"line-height\": \"1\", overflow: \"hidden\", \"text-decoration\": \"none\", \"white-space\": \"nowrap\", transition: \"all 0.1s ease-in-out\", \"&::-moz-focus-inner\": {\n border: \"0\",\n } });\n}\n/**\n * The base button style object\n */\nexport const baseButton = {\n button_contentRegion: {\n position: \"relative\",\n \"&::before\": {\n content: \"''\",\n display: \"block\",\n height: toPx(outlineWidth),\n position: \"absolute\",\n bottom: \"-3px\",\n width: \"100%\",\n left: directionSwitch(\"0\", \"\"),\n right: directionSwitch(\"\", \"0\"),\n },\n \"& svg\": {\n width: glyphSize,\n height: glyphSize,\n },\n },\n button__disabled: Object.assign({}, applyDisabledState()),\n button_beforeContent: {\n width: glyphSize,\n height: glyphSize,\n },\n button_afterContent: {\n width: glyphSize,\n height: glyphSize,\n },\n button__hasBeforeOrAfterAndChildren: {\n \"& $button_beforeContent\": {\n \"margin-right\": directionSwitch(horizontalSpacing(), \"\"),\n \"margin-left\": directionSwitch(\"\", horizontalSpacing()),\n },\n \"& $button_afterContent\": {\n \"margin-right\": directionSwitch(\"\", horizontalSpacing()),\n \"margin-left\": directionSwitch(horizontalSpacing(), \"\"),\n },\n },\n};\n","import { accentBaseColor } from \"../design-system\";\nimport { black, white } from \"./color-constants\";\nimport { contrast } from \"./common\";\n/**\n * Function to derive accentForegroundCut from an input background and target contrast ratio\n */\nconst accentForegroundCutAlgorithm = (backgroundColor, targetContrast) => {\n return contrast(white, backgroundColor) >= targetContrast ? white : black;\n};\n/**\n * Factory to create a accent-foreground-cut function that operates on a target contrast ratio\n */\nfunction accentForegroundCutFactory(targetContrast) {\n function accentForegroundCutInternal(arg) {\n return typeof arg === \"function\"\n ? (designSystem) => {\n return accentForegroundCutAlgorithm(arg(designSystem), targetContrast);\n }\n : accentForegroundCutAlgorithm(accentBaseColor(arg), targetContrast);\n }\n return accentForegroundCutInternal;\n}\n/**\n * Cut text for normal sized text, less than 18pt normal weight\n */\nexport const accentForegroundCut = accentForegroundCutFactory(4.5);\n/**\n * Cut text for large sized text, greater than 18pt or 16pt and bold\n */\nexport const accentForegroundCutLarge = accentForegroundCutFactory(3);\n","import { subtract } from \"@microsoft/fast-jss-utilities\";\nimport { neutralOutlineActiveDelta, neutralOutlineFocusDelta, neutralOutlineHoverDelta, neutralOutlineRestDelta, neutralPalette, } from \"../design-system\";\nimport { colorRecipeFactory, swatchFamilyToSwatchRecipeFactory, SwatchFamilyType, } from \"./common\";\nimport { accessibleAlgorithm } from \"./accessible-recipe\";\nexport const neutralOutlineContrastAlgorithm = colorRecipeFactory(accessibleAlgorithm(neutralPalette, 3, 0, subtract(neutralOutlineHoverDelta, neutralOutlineRestDelta), subtract(neutralOutlineActiveDelta, neutralOutlineRestDelta), subtract(neutralOutlineFocusDelta, neutralOutlineRestDelta)));\nexport const neutralOutlineContrast = colorRecipeFactory(neutralOutlineContrastAlgorithm);\nexport const neutralOutlineContrastRest = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, neutralOutlineContrast);\nexport const neutralOutlineContrastHover = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.hover, neutralOutlineContrast);\nexport const neutralOutlineContrastActive = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.active, neutralOutlineContrast);\nexport const neutralOutlineContrastFocus = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.focus, neutralOutlineContrast);\n","import { getFontWeight } from \"./design-system\";\n/**\n * Retrieve the focusOutlineWidth from the design system\n */\nfunction weight(index) {\n return (designSystem) => {\n return getFontWeight(designSystem)[index].toString();\n };\n}\nfunction applyFontWeight(weightResolver) {\n return { \"font-weight\": weightResolver };\n}\nexport function applyFontWeightLight() {\n return applyFontWeight(weight(\"light\"));\n}\nexport function applyFontWeightSemiLight() {\n return applyFontWeight(weight(\"semilight\"));\n}\nexport function applyFontWeightNormal() {\n return applyFontWeight(weight(\"normal\"));\n}\nexport function applyFontWeightSemiBold() {\n return applyFontWeight(weight(\"semibold\"));\n}\nexport function applyFontWeightBold() {\n return applyFontWeight(weight(\"bold\"));\n}\n","import root from './_root.js';\nimport stubFalse from './stubFalse.js';\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/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\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\nexport default isBuffer;\n","/* tslint:disable:ext-variable-name */\r\nimport { Guid } from \"cms-infrastructure-javascriptextensions/Guid\";\r\nimport { LogType } from \"./LogType\";\r\nexport class LogItem {\r\n /**\r\n * Initializes a new instance of the `LoggingService` class.\r\n * @constructor\r\n * @param message {message} Log message.\r\n * @param data {any} Any additional JSON data.\r\n * @param logType {LogType} Type of the log.\r\n * @param activityId {string} Activity Id.\r\n * @param logTime {Date} Time of the log.\r\n * @param parentActivityId {string} Parent activity id.\r\n */\r\n constructor(message, data, logType, activityId, logDateTime, parentActivityId) {\r\n this.Message = message || \"\";\r\n this.LogType = logType || LogType.Default;\r\n this.ActivityId = activityId || Guid.newGuid();\r\n this.LogDateTime = logDateTime || new Date();\r\n this.ParentActivityId = parentActivityId || \"\";\r\n if (data) {\r\n if (typeof (data) !== \"object\") {\r\n data = { data: data };\r\n }\r\n this.Data = data;\r\n }\r\n }\r\n}\r\n//# sourceMappingURL=LogItem.js.map","/**\r\n * Enum for Log Type\r\n * @readonly\r\n * @enum {number}\r\n */\r\nexport var LogType;\r\n(function (LogType) {\r\n LogType[LogType[\"Default\"] = 0] = \"Default\";\r\n LogType[LogType[\"BeginActivity\"] = 1001] = \"BeginActivity\";\r\n LogType[LogType[\"EndActivity\"] = 1002] = \"EndActivity\";\r\n LogType[LogType[\"Transfer\"] = 1003] = \"Transfer\";\r\n LogType[LogType[\"BeginSession\"] = 1004] = \"BeginSession\";\r\n LogType[LogType[\"EndSession\"] = 1005] = \"EndSession\";\r\n LogType[LogType[\"BeginNetworkActivity\"] = 1006] = \"BeginNetworkActivity\";\r\n LogType[LogType[\"EndNetworkActivity\"] = 1007] = \"EndNetworkActivity\";\r\n LogType[LogType[\"Instrumentation\"] = 2001] = \"Instrumentation\";\r\n})(LogType || (LogType = {}));\r\n//# sourceMappingURL=LogType.js.map","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nexport default DataView;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nexport default Promise;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nexport default WeakMap;\n","import DataView from './_DataView.js';\nimport Map from './_Map.js';\nimport Promise from './_Promise.js';\nimport Set from './_Set.js';\nimport WeakMap from './_WeakMap.js';\nimport baseGetTag from './_baseGetTag.js';\nimport toSource from './_toSource.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\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/**\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\nexport default getTag;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\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\nexport default baseIsArguments;\n","import baseIsArguments from './_baseIsArguments.js';\nimport isObjectLike from './isObjectLike.js';\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/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\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\nexport default isArguments;\n","export var ContentCardLayout;\n(function (ContentCardLayout) {\n ContentCardLayout[\"default\"] = \"default\";\n ContentCardLayout[\"condensed\"] = \"condensed\";\n ContentCardLayout[\"infoPane\"] = \"infoPane\";\n ContentCardLayout[\"infoPaneSplitVertical\"] = \"infoPaneSplitVertical\";\n ContentCardLayout[\"infoPaneSplitHorizontal\"] = \"infoPaneSplitHorizontal\";\n})(ContentCardLayout || (ContentCardLayout = {}));\n","import { roundToPrecisionSmall } from \"./math-utilities\";\n/**\n * {@link https://en.wikipedia.org/wiki/CIE_1931_color_space | XYZ color space}\n *\n * This implementation uses the D65 constants for 2 degrees. That determines the constants used for the pure white point of the XYZ space of 0.95047, 1.0, 1.08883.\n * {@link https://en.wikipedia.org/wiki/Illuminant_D65}\n * These constants determine how the XYZ, LCH and LAB colors convert to/from RGB.\n *\n * @public\n */\nexport class ColorXYZ {\n constructor(x, y, z) {\n this.x = x;\n this.y = y;\n this.z = z;\n }\n /**\n * Construct a {@link ColorXYZ} from a config object.\n */\n static fromObject(data) {\n if (data && !isNaN(data.x) && !isNaN(data.y) && !isNaN(data.z)) {\n return new ColorXYZ(data.x, data.y, data.z);\n }\n return null;\n }\n /**\n * Determines if a color is equal to another\n * @param rhs - the value to compare\n */\n equalValue(rhs) {\n return this.x === rhs.x && this.y === rhs.y && this.z === rhs.z;\n }\n /**\n * Returns a new {@link ColorXYZ} rounded to the provided precision\n * @param precision - the precision to round to\n */\n roundToPrecision(precision) {\n return new ColorXYZ(roundToPrecisionSmall(this.x, precision), roundToPrecisionSmall(this.y, precision), roundToPrecisionSmall(this.z, precision));\n }\n /**\n * Returns the {@link ColorXYZ} formatted as an object.\n */\n toObject() {\n return { x: this.x, y: this.y, z: this.z };\n }\n}\n/**\n * D65 2 degree white point\n */\nColorXYZ.whitePoint = new ColorXYZ(0.95047, 1.0, 1.08883);\n","import { inRange } from \"lodash-es\";\nimport { accentBaseColor, accentFillActiveDelta, accentFillFocusDelta, accentFillHoverDelta, accentFillSelectedDelta, accentPalette, neutralFillActiveDelta, neutralFillHoverDelta, neutralFillRestDelta, } from \"../design-system\";\nimport { accentForegroundCut } from \"./accent-foreground-cut\";\nimport { colorRecipeFactory, contrast, designSystemResolverMax, swatchFamilyToSwatchRecipeFactory, SwatchFamilyType, } from \"./common\";\nimport { findClosestBackgroundIndex, findClosestSwatchIndex, getSwatch, isDarkMode, } from \"./palette\";\nconst neutralFillThreshold = designSystemResolverMax(neutralFillRestDelta, neutralFillHoverDelta, neutralFillActiveDelta);\nfunction accentFillAlgorithm(contrastTarget) {\n return (designSystem) => {\n const palette = accentPalette(designSystem);\n const paletteLength = palette.length;\n const accent = accentBaseColor(designSystem);\n const textColor = accentForegroundCut(Object.assign({}, designSystem, {\n backgroundColor: accent,\n }));\n const hoverDelta = accentFillHoverDelta(designSystem);\n // Use the hover direction that matches the neutral fill recipe.\n const backgroundIndex = findClosestBackgroundIndex(designSystem);\n const swapThreshold = neutralFillThreshold(designSystem);\n const direction = backgroundIndex >= swapThreshold ? -1 : 1;\n const maxIndex = paletteLength - 1;\n const accentIndex = findClosestSwatchIndex(accentPalette, accent)(designSystem);\n let accessibleOffset = 0;\n // Move the accent color the direction of hover, while maintaining the foreground color.\n while (accessibleOffset < direction * hoverDelta &&\n inRange(accentIndex + accessibleOffset + direction, 0, paletteLength) &&\n contrast(palette[accentIndex + accessibleOffset + direction], textColor) >=\n contrastTarget &&\n inRange(accentIndex + accessibleOffset + direction + direction, 0, maxIndex)) {\n accessibleOffset += direction;\n }\n const hoverIndex = accentIndex + accessibleOffset;\n const restIndex = hoverIndex + direction * -1 * hoverDelta;\n const activeIndex = restIndex + direction * accentFillActiveDelta(designSystem);\n const focusIndex = restIndex + direction * accentFillFocusDelta(designSystem);\n return {\n rest: getSwatch(restIndex, palette),\n hover: getSwatch(hoverIndex, palette),\n active: getSwatch(activeIndex, palette),\n focus: getSwatch(focusIndex, palette),\n selected: getSwatch(restIndex +\n (isDarkMode(designSystem)\n ? accentFillSelectedDelta(designSystem) * -1\n : accentFillSelectedDelta(designSystem)), palette),\n };\n };\n}\nexport const accentFill = colorRecipeFactory(accentFillAlgorithm(4.5));\nexport const accentFillLarge = colorRecipeFactory(accentFillAlgorithm(3));\nexport const accentFillRest = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, accentFill);\nexport const accentFillHover = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.hover, accentFill);\nexport const accentFillActive = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.active, accentFill);\nexport const accentFillFocus = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.focus, accentFill);\nexport const accentFillSelected = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.selected, accentFill);\nexport const accentFillLargeRest = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, accentFillLarge);\nexport const accentFillLargeHover = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.hover, accentFillLarge);\nexport const accentFillLargeActive = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.active, accentFillLarge);\nexport const accentFillLargeFocus = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.focus, accentFillLarge);\nexport const accentFillLargeSelected = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.selected, accentFillLarge);\n","/**\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 * 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\nexport default eq;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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\nexport default isPrototype;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","import toFinite from './toFinite.js';\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\nexport default toInteger;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nexport default baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nexport default strictIndexOf;\n","import baseFindIndex from './_baseFindIndex.js';\nimport baseIsNaN from './_baseIsNaN.js';\nimport strictIndexOf from './_strictIndexOf.js';\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nexport default baseIndexOf;\n","/**\r\n * Base class to have common code across different logging services.\r\n * @class\r\n */\r\nexport class BaseService {\r\n /**\r\n * Initializes a new instance of the `LoggingService` class.\r\n * @constructor\r\n * @param loggerName {string} Name of the logger.\r\n */\r\n constructor(logger) {\r\n if (!logger) {\r\n throw \"'logger' parameter can't be null\";\r\n }\r\n this._logger = logger;\r\n }\r\n /**\r\n * Gets the logger.\r\n * @property\r\n * @returns {Logger} The logger.\r\n */\r\n get logger() {\r\n return this._logger;\r\n }\r\n /**\r\n * Gets the logger name.\r\n * @method\r\n * @returns {string} The logger name.\r\n */\r\n getLoggerName() {\r\n return this.logger.getLoggerName();\r\n }\r\n /**\r\n * Sets the log level.\r\n * @method\r\n * @param logLevel {LogLevel} Logging level or threshold.\r\n */\r\n setLevel(logLevel) {\r\n this.logger.setLevel(logLevel);\r\n }\r\n /**\r\n * Gets the log level.\r\n * @method\r\n * @returns {LogLevel} The Logging level or threshold.\r\n */\r\n getLevel() {\r\n return this.logger.getLevel();\r\n }\r\n /**\r\n * Flushes the log items explicitly if appenders are using batching.\r\n * @method\r\n */\r\n flush() {\r\n this.logger.flush();\r\n }\r\n /**\r\n * Adds the given appender.\r\n * @method\r\n * @param appender {IAppender} Appender to be added.\r\n */\r\n addAppender(appender) {\r\n this.logger.addAppender(appender);\r\n }\r\n /**\r\n * Removes the given appender.\r\n * @method\r\n * @param appender {IAppender} Appender to be removed.\r\n */\r\n removeAppender(appender) {\r\n this.logger.removeAppender(appender);\r\n }\r\n /**\r\n * Clears all appenders for the current logger.\r\n * @method\r\n */\r\n removeAllAppenders() {\r\n this.logger.removeAllAppenders();\r\n }\r\n}\r\n/**\r\n * The key for correlation vector field.\r\n * @type {string}\r\n */\r\n// tslint:disable-next-line: ext-variable-name\r\nBaseService.CorrelationVectorKey = \"correlationVector\";\r\n//# sourceMappingURL=BaseService.js.map","import ListCache from './_ListCache.js';\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\nexport default stackClear;\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\nexport default stackDelete;\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\nexport default stackGet;\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\nexport default stackHas;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\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\nexport default stackSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\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// 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\nexport default Stack;\n","import baseGetTag from './_baseGetTag.js';\nimport isObject from './isObject.js';\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\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\nexport default isFunction;\n","import { Typography as BaseTypography, TypographySize, TypographyTag, } from \"@microsoft/fast-components-react-base\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { TypographyStyles } from \"@microsoft/fast-components-styles-msft\";\nimport typographySchema from \"./typography.schema\";\nimport typographySchema2 from \"./typography.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Typography = manageJss(TypographyStyles)(BaseTypography);\nexport { Typography, typographySchema, typographySchema2, \n/**\n * @deprecated\n */\ntypographySchema as typograophySchema, TypographySize, TypographyTag, };\n","/*!\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n */\r\nexport var BrowserType;\r\n(function (BrowserType) {\r\n BrowserType[\"Chrome\"] = \"chrome\";\r\n BrowserType[\"Chromium\"] = \"chromium\";\r\n BrowserType[\"Edge\"] = \"edge\";\r\n BrowserType[\"EdgeChromium\"] = \"edgeChromium\";\r\n BrowserType[\"Firefox\"] = \"firefox\";\r\n BrowserType[\"InternetExplorer\"] = \"internetExplorer\";\r\n BrowserType[\"Safari\"] = \"safari\";\r\n})(BrowserType || (BrowserType = {}));\r\n//# sourceMappingURL=BrowserType.js.map","export const namedColorsConfigs = {\n aliceblue: {\n r: 0.941176,\n g: 0.972549,\n b: 1,\n },\n antiquewhite: {\n r: 0.980392,\n g: 0.921569,\n b: 0.843137,\n },\n aqua: {\n r: 0,\n g: 1,\n b: 1,\n },\n aquamarine: {\n r: 0.498039,\n g: 1,\n b: 0.831373,\n },\n azure: {\n r: 0.941176,\n g: 1,\n b: 1,\n },\n beige: {\n r: 0.960784,\n g: 0.960784,\n b: 0.862745,\n },\n bisque: {\n r: 1,\n g: 0.894118,\n b: 0.768627,\n },\n black: {\n r: 0,\n g: 0,\n b: 0,\n },\n blanchedalmond: {\n r: 1,\n g: 0.921569,\n b: 0.803922,\n },\n blue: {\n r: 0,\n g: 0,\n b: 1,\n },\n blueviolet: {\n r: 0.541176,\n g: 0.168627,\n b: 0.886275,\n },\n brown: {\n r: 0.647059,\n g: 0.164706,\n b: 0.164706,\n },\n burlywood: {\n r: 0.870588,\n g: 0.721569,\n b: 0.529412,\n },\n cadetblue: {\n r: 0.372549,\n g: 0.619608,\n b: 0.627451,\n },\n chartreuse: {\n r: 0.498039,\n g: 1,\n b: 0,\n },\n chocolate: {\n r: 0.823529,\n g: 0.411765,\n b: 0.117647,\n },\n coral: {\n r: 1,\n g: 0.498039,\n b: 0.313725,\n },\n cornflowerblue: {\n r: 0.392157,\n g: 0.584314,\n b: 0.929412,\n },\n cornsilk: {\n r: 1,\n g: 0.972549,\n b: 0.862745,\n },\n crimson: {\n r: 0.862745,\n g: 0.078431,\n b: 0.235294,\n },\n cyan: {\n r: 0,\n g: 1,\n b: 1,\n },\n darkblue: {\n r: 0,\n g: 0,\n b: 0.545098,\n },\n darkcyan: {\n r: 0,\n g: 0.545098,\n b: 0.545098,\n },\n darkgoldenrod: {\n r: 0.721569,\n g: 0.52549,\n b: 0.043137,\n },\n darkgray: {\n r: 0.662745,\n g: 0.662745,\n b: 0.662745,\n },\n darkgreen: {\n r: 0,\n g: 0.392157,\n b: 0,\n },\n darkgrey: {\n r: 0.662745,\n g: 0.662745,\n b: 0.662745,\n },\n darkkhaki: {\n r: 0.741176,\n g: 0.717647,\n b: 0.419608,\n },\n darkmagenta: {\n r: 0.545098,\n g: 0,\n b: 0.545098,\n },\n darkolivegreen: {\n r: 0.333333,\n g: 0.419608,\n b: 0.184314,\n },\n darkorange: {\n r: 1,\n g: 0.54902,\n b: 0,\n },\n darkorchid: {\n r: 0.6,\n g: 0.196078,\n b: 0.8,\n },\n darkred: {\n r: 0.545098,\n g: 0,\n b: 0,\n },\n darksalmon: {\n r: 0.913725,\n g: 0.588235,\n b: 0.478431,\n },\n darkseagreen: {\n r: 0.560784,\n g: 0.737255,\n b: 0.560784,\n },\n darkslateblue: {\n r: 0.282353,\n g: 0.239216,\n b: 0.545098,\n },\n darkslategray: {\n r: 0.184314,\n g: 0.309804,\n b: 0.309804,\n },\n darkslategrey: {\n r: 0.184314,\n g: 0.309804,\n b: 0.309804,\n },\n darkturquoise: {\n r: 0,\n g: 0.807843,\n b: 0.819608,\n },\n darkviolet: {\n r: 0.580392,\n g: 0,\n b: 0.827451,\n },\n deeppink: {\n r: 1,\n g: 0.078431,\n b: 0.576471,\n },\n deepskyblue: {\n r: 0,\n g: 0.74902,\n b: 1,\n },\n dimgray: {\n r: 0.411765,\n g: 0.411765,\n b: 0.411765,\n },\n dimgrey: {\n r: 0.411765,\n g: 0.411765,\n b: 0.411765,\n },\n dodgerblue: {\n r: 0.117647,\n g: 0.564706,\n b: 1,\n },\n firebrick: {\n r: 0.698039,\n g: 0.133333,\n b: 0.133333,\n },\n floralwhite: {\n r: 1,\n g: 0.980392,\n b: 0.941176,\n },\n forestgreen: {\n r: 0.133333,\n g: 0.545098,\n b: 0.133333,\n },\n fuchsia: {\n r: 1,\n g: 0,\n b: 1,\n },\n gainsboro: {\n r: 0.862745,\n g: 0.862745,\n b: 0.862745,\n },\n ghostwhite: {\n r: 0.972549,\n g: 0.972549,\n b: 1,\n },\n gold: {\n r: 1,\n g: 0.843137,\n b: 0,\n },\n goldenrod: {\n r: 0.854902,\n g: 0.647059,\n b: 0.12549,\n },\n gray: {\n r: 0.501961,\n g: 0.501961,\n b: 0.501961,\n },\n green: {\n r: 0,\n g: 0.501961,\n b: 0,\n },\n greenyellow: {\n r: 0.678431,\n g: 1,\n b: 0.184314,\n },\n grey: {\n r: 0.501961,\n g: 0.501961,\n b: 0.501961,\n },\n honeydew: {\n r: 0.941176,\n g: 1,\n b: 0.941176,\n },\n hotpink: {\n r: 1,\n g: 0.411765,\n b: 0.705882,\n },\n indianred: {\n r: 0.803922,\n g: 0.360784,\n b: 0.360784,\n },\n indigo: {\n r: 0.294118,\n g: 0,\n b: 0.509804,\n },\n ivory: {\n r: 1,\n g: 1,\n b: 0.941176,\n },\n khaki: {\n r: 0.941176,\n g: 0.901961,\n b: 0.54902,\n },\n lavender: {\n r: 0.901961,\n g: 0.901961,\n b: 0.980392,\n },\n lavenderblush: {\n r: 1,\n g: 0.941176,\n b: 0.960784,\n },\n lawngreen: {\n r: 0.486275,\n g: 0.988235,\n b: 0,\n },\n lemonchiffon: {\n r: 1,\n g: 0.980392,\n b: 0.803922,\n },\n lightblue: {\n r: 0.678431,\n g: 0.847059,\n b: 0.901961,\n },\n lightcoral: {\n r: 0.941176,\n g: 0.501961,\n b: 0.501961,\n },\n lightcyan: {\n r: 0.878431,\n g: 1,\n b: 1,\n },\n lightgoldenrodyellow: {\n r: 0.980392,\n g: 0.980392,\n b: 0.823529,\n },\n lightgray: {\n r: 0.827451,\n g: 0.827451,\n b: 0.827451,\n },\n lightgreen: {\n r: 0.564706,\n g: 0.933333,\n b: 0.564706,\n },\n lightgrey: {\n r: 0.827451,\n g: 0.827451,\n b: 0.827451,\n },\n lightpink: {\n r: 1,\n g: 0.713725,\n b: 0.756863,\n },\n lightsalmon: {\n r: 1,\n g: 0.627451,\n b: 0.478431,\n },\n lightseagreen: {\n r: 0.12549,\n g: 0.698039,\n b: 0.666667,\n },\n lightskyblue: {\n r: 0.529412,\n g: 0.807843,\n b: 0.980392,\n },\n lightslategray: {\n r: 0.466667,\n g: 0.533333,\n b: 0.6,\n },\n lightslategrey: {\n r: 0.466667,\n g: 0.533333,\n b: 0.6,\n },\n lightsteelblue: {\n r: 0.690196,\n g: 0.768627,\n b: 0.870588,\n },\n lightyellow: {\n r: 1,\n g: 1,\n b: 0.878431,\n },\n lime: {\n r: 0,\n g: 1,\n b: 0,\n },\n limegreen: {\n r: 0.196078,\n g: 0.803922,\n b: 0.196078,\n },\n linen: {\n r: 0.980392,\n g: 0.941176,\n b: 0.901961,\n },\n magenta: {\n r: 1,\n g: 0,\n b: 1,\n },\n maroon: {\n r: 0.501961,\n g: 0,\n b: 0,\n },\n mediumaquamarine: {\n r: 0.4,\n g: 0.803922,\n b: 0.666667,\n },\n mediumblue: {\n r: 0,\n g: 0,\n b: 0.803922,\n },\n mediumorchid: {\n r: 0.729412,\n g: 0.333333,\n b: 0.827451,\n },\n mediumpurple: {\n r: 0.576471,\n g: 0.439216,\n b: 0.858824,\n },\n mediumseagreen: {\n r: 0.235294,\n g: 0.701961,\n b: 0.443137,\n },\n mediumslateblue: {\n r: 0.482353,\n g: 0.407843,\n b: 0.933333,\n },\n mediumspringgreen: {\n r: 0,\n g: 0.980392,\n b: 0.603922,\n },\n mediumturquoise: {\n r: 0.282353,\n g: 0.819608,\n b: 0.8,\n },\n mediumvioletred: {\n r: 0.780392,\n g: 0.082353,\n b: 0.521569,\n },\n midnightblue: {\n r: 0.098039,\n g: 0.098039,\n b: 0.439216,\n },\n mintcream: {\n r: 0.960784,\n g: 1,\n b: 0.980392,\n },\n mistyrose: {\n r: 1,\n g: 0.894118,\n b: 0.882353,\n },\n moccasin: {\n r: 1,\n g: 0.894118,\n b: 0.709804,\n },\n navajowhite: {\n r: 1,\n g: 0.870588,\n b: 0.678431,\n },\n navy: {\n r: 0,\n g: 0,\n b: 0.501961,\n },\n oldlace: {\n r: 0.992157,\n g: 0.960784,\n b: 0.901961,\n },\n olive: {\n r: 0.501961,\n g: 0.501961,\n b: 0,\n },\n olivedrab: {\n r: 0.419608,\n g: 0.556863,\n b: 0.137255,\n },\n orange: {\n r: 1,\n g: 0.647059,\n b: 0,\n },\n orangered: {\n r: 1,\n g: 0.270588,\n b: 0,\n },\n orchid: {\n r: 0.854902,\n g: 0.439216,\n b: 0.839216,\n },\n palegoldenrod: {\n r: 0.933333,\n g: 0.909804,\n b: 0.666667,\n },\n palegreen: {\n r: 0.596078,\n g: 0.984314,\n b: 0.596078,\n },\n paleturquoise: {\n r: 0.686275,\n g: 0.933333,\n b: 0.933333,\n },\n palevioletred: {\n r: 0.858824,\n g: 0.439216,\n b: 0.576471,\n },\n papayawhip: {\n r: 1,\n g: 0.937255,\n b: 0.835294,\n },\n peachpuff: {\n r: 1,\n g: 0.854902,\n b: 0.72549,\n },\n peru: {\n r: 0.803922,\n g: 0.521569,\n b: 0.247059,\n },\n pink: {\n r: 1,\n g: 0.752941,\n b: 0.796078,\n },\n plum: {\n r: 0.866667,\n g: 0.627451,\n b: 0.866667,\n },\n powderblue: {\n r: 0.690196,\n g: 0.878431,\n b: 0.901961,\n },\n purple: {\n r: 0.501961,\n g: 0,\n b: 0.501961,\n },\n red: {\n r: 1,\n g: 0,\n b: 0,\n },\n rosybrown: {\n r: 0.737255,\n g: 0.560784,\n b: 0.560784,\n },\n royalblue: {\n r: 0.254902,\n g: 0.411765,\n b: 0.882353,\n },\n saddlebrown: {\n r: 0.545098,\n g: 0.270588,\n b: 0.07451,\n },\n salmon: {\n r: 0.980392,\n g: 0.501961,\n b: 0.447059,\n },\n sandybrown: {\n r: 0.956863,\n g: 0.643137,\n b: 0.376471,\n },\n seagreen: {\n r: 0.180392,\n g: 0.545098,\n b: 0.341176,\n },\n seashell: {\n r: 1,\n g: 0.960784,\n b: 0.933333,\n },\n sienna: {\n r: 0.627451,\n g: 0.321569,\n b: 0.176471,\n },\n silver: {\n r: 0.752941,\n g: 0.752941,\n b: 0.752941,\n },\n skyblue: {\n r: 0.529412,\n g: 0.807843,\n b: 0.921569,\n },\n slateblue: {\n r: 0.415686,\n g: 0.352941,\n b: 0.803922,\n },\n slategray: {\n r: 0.439216,\n g: 0.501961,\n b: 0.564706,\n },\n slategrey: {\n r: 0.439216,\n g: 0.501961,\n b: 0.564706,\n },\n snow: {\n r: 1,\n g: 0.980392,\n b: 0.980392,\n },\n springgreen: {\n r: 0,\n g: 1,\n b: 0.498039,\n },\n steelblue: {\n r: 0.27451,\n g: 0.509804,\n b: 0.705882,\n },\n tan: {\n r: 0.823529,\n g: 0.705882,\n b: 0.54902,\n },\n teal: {\n r: 0,\n g: 0.501961,\n b: 0.501961,\n },\n thistle: {\n r: 0.847059,\n g: 0.74902,\n b: 0.847059,\n },\n tomato: {\n r: 1,\n g: 0.388235,\n b: 0.278431,\n },\n transparent: {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n },\n turquoise: {\n r: 0.25098,\n g: 0.878431,\n b: 0.815686,\n },\n violet: {\n r: 0.933333,\n g: 0.509804,\n b: 0.933333,\n },\n wheat: {\n r: 0.960784,\n g: 0.870588,\n b: 0.701961,\n },\n white: {\n r: 1,\n g: 1,\n b: 1,\n },\n whitesmoke: {\n r: 0.960784,\n g: 0.960784,\n b: 0.960784,\n },\n yellow: {\n r: 1,\n g: 1,\n b: 0,\n },\n yellowgreen: {\n r: 0.603922,\n g: 0.803922,\n b: 0.196078,\n },\n};\n","import { ColorRGBA64 } from \"./color-rgba-64\";\nimport { normalize } from \"./math-utilities\";\nimport { namedColorsConfigs } from \"./named-colors\";\n// Matches rgb(R, G, B) where R, G, and B are integers [0 - 255]\nconst webRGBRegex = /^rgb\\(\\s*((?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|\\d{1,2})\\s*,\\s*){2}(?:25[0-5]|2[0-4]\\d|1\\d\\d|\\d{1,2})\\s*)\\)$/i;\n// Matches rgb(R, G, B, A) where R, G, and B are integers [0 - 255] and A is [0-1] floating\nconst webRGBARegex = /^rgba\\(\\s*((?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|\\d{1,2})\\s*,\\s*){3}(?:0|1|0?\\.\\d*)\\s*)\\)$/i;\n// Matches #RGB and #RRGGBB, where R, G, and B are [0-9] or [A-F]\nconst hexRGBRegex = /^#((?:[0-9a-f]{6}|[0-9a-f]{3}))$/i;\n// Matches #RGB and #RRGGBBAA, where R, G, B, and A are [0-9] or [A-F]\nconst hexRGBARegex = /^#((?:[0-9a-f]{8}|[0-9a-f]{4}))$/i;\n/**\n * Test if a color matches #RRGGBB or #RGB\n * @public\n */\nexport function isColorStringHexRGB(raw) {\n return hexRGBRegex.test(raw);\n}\n/**\n * Test if a color matches #AARRGGBB or #ARGB\n * @public\n */\nexport function isColorStringHexARGB(raw) {\n return hexRGBARegex.test(raw);\n}\n/**\n * Test if a color matches #RRGGBBAA or #RGBA\n * @public\n */\nexport function isColorStringHexRGBA(raw) {\n return isColorStringHexARGB(raw); // No way to differentiate these two formats, so just use the same test\n}\n/**\n * Test if a color matches rgb(rr, gg, bb)\n * @public\n */\nexport function isColorStringWebRGB(raw) {\n return webRGBRegex.test(raw);\n}\n/**\n * Test if a color matches rgba(rr, gg, bb, aa)\n *\n * @public\n */\nexport function isColorStringWebRGBA(raw) {\n return webRGBARegex.test(raw);\n}\n/**\n * Tests whether a color is in {@link @microsoft/fast-colors#NamedColors}.\n * @param raw - the color name to test\n * @public\n */\nexport function isColorNamed(raw) {\n return namedColorsConfigs.hasOwnProperty(raw);\n}\n/**\n * Converts a hexadecimal color string to a {@link @microsoft/fast-colors#ColorRGBA64}.\n * @param raw - a color string in the form of \"#RRGGBB\" or \"#RGB\"\n * @example\n * ```ts\n * parseColorHexRGBA(\"#FF0000\");\n * parseColorHexRGBA(\"#F00\");\n * ```\n * @public\n */\nexport function parseColorHexRGB(raw) {\n const result = hexRGBRegex.exec(raw);\n if (result === null) {\n return null;\n }\n let digits = result[1];\n if (digits.length === 3) {\n const r = digits.charAt(0);\n const g = digits.charAt(1);\n const b = digits.charAt(2);\n digits = r.concat(r, g, g, b, b);\n }\n const rawInt = parseInt(digits, 16);\n if (isNaN(rawInt)) {\n return null;\n }\n // Note the use of >>> rather than >> as we want JS to manipulate these as unsigned numbers\n return new ColorRGBA64(normalize((rawInt & 0xff0000) >>> 16, 0, 255), normalize((rawInt & 0x00ff00) >>> 8, 0, 255), normalize(rawInt & 0x0000ff, 0, 255), 1);\n}\n/**\n * Converts a hexadecimal color string to a {@link @microsoft/fast-colors#ColorRGBA64}.\n * @param raw - a color string in the form of \"#AARRGGBB\" or \"#ARGB\"\n * @example\n * ```ts\n * parseColorHexRGBA(\"#AAFF0000\");\n * parseColorHexRGBA(\"#AF00\");\n * ```\n * @public\n */\nexport function parseColorHexARGB(raw) {\n const result = hexRGBARegex.exec(raw);\n if (result === null) {\n return null;\n }\n let digits = result[1];\n if (digits.length === 4) {\n const a = digits.charAt(0);\n const r = digits.charAt(1);\n const g = digits.charAt(2);\n const b = digits.charAt(3);\n digits = a.concat(a, r, r, g, g, b, b);\n }\n const rawInt = parseInt(digits, 16);\n if (isNaN(rawInt)) {\n return null;\n }\n // Note the use of >>> rather than >> as we want JS to manipulate these as unsigned numbers\n return new ColorRGBA64(normalize((rawInt & 0x00ff0000) >>> 16, 0, 255), normalize((rawInt & 0x0000ff00) >>> 8, 0, 255), normalize(rawInt & 0x000000ff, 0, 255), normalize((rawInt & 0xff000000) >>> 24, 0, 255));\n}\n/**\n * Converts a hexadecimal color string to a {@link @microsoft/fast-colors#ColorRGBA64}.\n * @param raw - a color string in the form of \"#RRGGBBAA\" or \"#RGBA\"\n * @example\n * ```ts\n * parseColorHexRGBA(\"#FF0000AA\");\n * parseColorHexRGBA(\"#F00A\");\n * ```\n * @public\n */\nexport function parseColorHexRGBA(raw) {\n const result = hexRGBARegex.exec(raw);\n if (result === null) {\n return null;\n }\n let digits = result[1];\n if (digits.length === 4) {\n const r = digits.charAt(0);\n const g = digits.charAt(1);\n const b = digits.charAt(2);\n const a = digits.charAt(3);\n digits = r.concat(r, g, g, b, b, a, a);\n }\n const rawInt = parseInt(digits, 16);\n if (isNaN(rawInt)) {\n return null;\n }\n // Note the use of >>> rather than >> as we want JS to manipulate these as unsigned numbers\n return new ColorRGBA64(normalize((rawInt & 0xff000000) >>> 24, 0, 255), normalize((rawInt & 0x00ff0000) >>> 16, 0, 255), normalize((rawInt & 0x0000ff00) >>> 8, 0, 255), normalize(rawInt & 0x000000ff, 0, 255));\n}\n/**\n * Converts a rgb color string to a {@link @microsoft/fast-colors#ColorRGBA64}.\n * @param raw - a color string format \"rgba(RR,GG,BB)\" where RR,GG,BB are [0,255]\n * @example\n * ```ts\n * parseColorWebRGB(\"rgba(255, 0, 0\");\n * ```\n * @public\n */\nexport function parseColorWebRGB(raw) {\n const result = webRGBRegex.exec(raw);\n if (result === null) {\n return null;\n }\n const split = result[1].split(\",\");\n return new ColorRGBA64(normalize(Number(split[0]), 0, 255), normalize(Number(split[1]), 0, 255), normalize(Number(split[2]), 0, 255), 1);\n}\n/**\n * Converts a rgba color string to a {@link @microsoft/fast-colors#ColorRGBA64}.\n * @param raw - a color string format \"rgba(RR,GG,BB,a)\" where RR,GG,BB are [0,255] and a is [0,1]\n * @example\n * ```ts\n * parseColorWebRGBA(\"rgba(255, 0, 0, 1\");\n * ```\n * @public\n */\nexport function parseColorWebRGBA(raw) {\n const result = webRGBARegex.exec(raw);\n if (result === null) {\n return null;\n }\n const split = result[1].split(\",\");\n if (split.length === 4) {\n return new ColorRGBA64(normalize(Number(split[0]), 0, 255), normalize(Number(split[1]), 0, 255), normalize(Number(split[2]), 0, 255), Number(split[3]));\n }\n return null;\n}\n/**\n * Converts a named color to a {@link @microsoft/fast-colors#ColorRGBA64}.\n * @param raw - a {@link https://www.w3schools.com/colors/colors_names.asp | CSS color name}.\n * @example\n * ```ts\n * parseColorNamed(\"red\");\n * ```\n * @public\n */\nexport function parseColorNamed(raw) {\n // const rawLower: typeof raw = raw.toLowerCase() : raw.toString();\n const config = namedColorsConfigs[raw.toLowerCase()];\n return config\n ? new ColorRGBA64(config.r, config.g, config.b, config.hasOwnProperty(\"a\") ? config.a : void 0)\n : null;\n}\n/**\n *\n Expects any of the following and attempts to determine which is being used\n * #RRGGBB, #AARRGGBB, rgb(RR,GG,BB) rgba(RR,GG,BB,a),\n * or any of the {@link https://www.w3schools.com/colors/colors_names.asp | CSS color names}.\n * @param raw - the color string to parse\n * @public\n */\nexport function parseColor(raw) {\n const rawLower = raw.toLowerCase();\n return isColorStringHexRGB(rawLower)\n ? parseColorHexRGB(rawLower)\n : isColorStringHexRGBA(rawLower)\n ? parseColorHexARGB(rawLower)\n : isColorStringWebRGB(rawLower)\n ? parseColorWebRGB(rawLower)\n : isColorStringWebRGBA(rawLower)\n ? parseColorWebRGBA(rawLower)\n : isColorNamed(rawLower)\n ? parseColorNamed(rawLower)\n : null;\n}\n","import { roundToPrecisionSmall } from \"./math-utilities\";\n/**\n * This uses Hue values in \"degree\" format. So expect a range of [0,360]. Some other implementations instead uses radians or a normalized Hue with range [0,1]. Be aware of this when checking values or using other libraries.\n *\n * @public\n */\nexport class ColorHSL {\n constructor(hue, sat, lum) {\n this.h = hue;\n this.s = sat;\n this.l = lum;\n }\n /**\n * Construct a {@link ColorHSL} from a config object.\n */\n static fromObject(data) {\n if (data && !isNaN(data.h) && !isNaN(data.s) && !isNaN(data.l)) {\n return new ColorHSL(data.h, data.s, data.l);\n }\n return null;\n }\n /**\n * Determines if a color is equal to another\n * @param rhs - the value to compare\n */\n equalValue(rhs) {\n return this.h === rhs.h && this.s === rhs.s && this.l === rhs.l;\n }\n /**\n * Returns a new {@link ColorHSL} rounded to the provided precision\n * @param precision - the precision to round to\n */\n roundToPrecision(precision) {\n return new ColorHSL(roundToPrecisionSmall(this.h, precision), roundToPrecisionSmall(this.s, precision), roundToPrecisionSmall(this.l, precision));\n }\n /**\n * Returns the {@link ColorHSL} formatted as an object.\n */\n toObject() {\n return { h: this.h, s: this.s, l: this.l };\n }\n}\n","import React from \"react\";\nexport const DataGridContext = React.createContext({\n onCellFocused: null,\n onCellKeyDown: null,\n focusRowKey: null,\n focusColumnKey: null,\n desiredVisibleRowIndex: null,\n desiredFocusRowKey: null,\n desiredFocusColumnKey: null,\n columns: null,\n dataRowKey: null,\n});\n","import { add, format, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { applyCornerRadius } from \"../utilities/border\";\nimport { neutralFillHover, neutralFillInputActive, neutralFillInputHover, neutralFillInputRest, neutralFillRest, neutralFocus, neutralForegroundHint, neutralForegroundRest, neutralOutlineActive, neutralOutlineHover, neutralOutlineRest, } from \"../utilities/color\";\nimport { horizontalSpacing } from \"../utilities/density\";\nimport { applyDisabledState } from \"../utilities/disabled\";\nimport { applyScaledTypeRamp } from \"../utilities/typography\";\nimport { applyFontWeightNormal } from \"../utilities/fonts\";\nimport { backgroundColor, focusOutlineWidth, outlineWidth, } from \"../utilities/design-system\";\nimport { HighContrastColor, highContrastDisabledBorder, highContrastOptOutProperty, highContrastOutlineFocus, highContrastSelector, } from \"../utilities/high-contrast\";\n/**\n * Shared input field styles\n */\nexport function inputFieldStyles(\n/* eslint-disable-next-line @typescript-eslint/no-unused-vars */\nconfig /* @deprecated - argument is no longer necessary */) {\n return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, applyScaledTypeRamp(\"t7\")), applyFontWeightNormal()), { background: neutralFillInputRest, border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineRest), color: neutralForegroundRest, \"font-family\": \"inherit\", \"box-sizing\": \"border-box\", padding: format(\"0 {0}\", horizontalSpacing(outlineWidth)) }), applyCornerRadius()), { margin: \"0\", transition: \"all 0.2s ease-in-out\", \"&:hover:enabled\": {\n background: neutralFillInputHover,\n \"border-color\": neutralOutlineHover,\n [highContrastSelector]: {\n background: HighContrastColor.buttonBackground,\n border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.selectedBackground),\n },\n }, \"&:active:enabled\": {\n background: neutralFillInputActive,\n \"border-color\": neutralOutlineActive,\n }, \"&:focus:enabled\": Object.assign({ \"box-shadow\": format(\"0 0 0 1px {0} inset\", neutralFocus), \"border-color\": neutralFocus, outline: \"none\" }, highContrastOutlineFocus), \"&:disabled\": Object.assign(Object.assign({}, applyDisabledState()), highContrastDisabledBorder), \"&::placeholder\": {\n color: neutralForegroundHint(neutralFillInputRest),\n [highContrastSelector]: {\n color: HighContrastColor.disabledText,\n },\n }, [highContrastSelector]: Object.assign(Object.assign({}, highContrastOptOutProperty), { background: HighContrastColor.buttonBackground, \"border-color\": HighContrastColor.buttonText, color: HighContrastColor.buttonText }) });\n}\nexport function filledInputFieldStyles() {\n return Object.assign(Object.assign({}, inputFieldStyles()), { background: neutralFillRest, border: format(\"{0} solid transparent\", toPx(outlineWidth)), \"&:hover:enabled\": {\n background: neutralFillHover,\n \"border-color\": \"transparent\",\n [highContrastSelector]: {\n background: HighContrastColor.buttonBackground,\n border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.selectedBackground),\n },\n }, \"&:active:enabled\": {\n \"border-color\": \"transparent\",\n }, \"&:focus:enabled\": {\n \"border-color\": neutralFocus,\n }, \"&::placeholder\": {\n color: neutralForegroundHint(neutralFillRest),\n [highContrastSelector]: {\n color: HighContrastColor.disabledText,\n },\n }, [highContrastSelector]: Object.assign(Object.assign({}, highContrastOptOutProperty), { background: HighContrastColor.buttonBackground, \"border-color\": HighContrastColor.buttonText }) });\n}\nexport const doubleOuterFocus = {\n \"box-shadow\": format(`0 0 0 2px {0}, 0 0 0 {2} {1}`, backgroundColor, neutralFocus, toPx(add(focusOutlineWidth, 2))),\n};\n","import freeGlobal from './_freeGlobal.js';\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 // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nexport default nodeUtil;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\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\nexport default toSource;\n","import { DOM } from \"./dom\";\nconst styleLookup = new Map();\n/**\n * Represents styles that can be applied to a custom element.\n * @public\n */\nexport class ElementStyles {\n constructor() {\n /** @internal */\n this.behaviors = null;\n }\n /**\n * Associates behaviors with this set of styles.\n * @param behaviors - The behaviors to associate.\n */\n withBehaviors(...behaviors) {\n this.behaviors =\n this.behaviors === null ? behaviors : this.behaviors.concat(behaviors);\n return this;\n }\n /**\n * Adds these styles to a global cache for easy lookup by a known key.\n * @param key - The key to use for lookup and retrieval in the cache.\n */\n withKey(key) {\n styleLookup.set(key, this);\n return this;\n }\n /**\n * Attempts to find cached styles by a known key.\n * @param key - The key to search the style cache for.\n */\n static find(key) {\n return styleLookup.get(key) || null;\n }\n}\nfunction reduceStyles(styles) {\n return styles\n .map((x) => x instanceof ElementStyles ? reduceStyles(x.styles) : [x])\n .reduce((prev, curr) => prev.concat(curr), []);\n}\nfunction reduceBehaviors(styles) {\n return styles\n .map((x) => (x instanceof ElementStyles ? x.behaviors : null))\n .reduce((prev, curr) => {\n if (curr === null) {\n return prev;\n }\n if (prev === null) {\n prev = [];\n }\n return prev.concat(curr);\n }, null);\n}\n/**\n * https://wicg.github.io/construct-stylesheets/\n * https://developers.google.com/web/updates/2019/02/constructable-stylesheets\n *\n * @internal\n */\nexport class AdoptedStyleSheetsStyles extends ElementStyles {\n constructor(styles, styleSheetCache) {\n super();\n this.styles = styles;\n this.behaviors = null;\n this.behaviors = reduceBehaviors(styles);\n this.styleSheets = reduceStyles(styles).map((x) => {\n if (x instanceof CSSStyleSheet) {\n return x;\n }\n let sheet = styleSheetCache.get(x);\n if (sheet === void 0) {\n sheet = new CSSStyleSheet();\n sheet.replaceSync(x);\n styleSheetCache.set(x, sheet);\n }\n return sheet;\n });\n }\n addStylesTo(target) {\n target.adoptedStyleSheets = [...target.adoptedStyleSheets, ...this.styleSheets];\n }\n removeStylesFrom(target) {\n const sourceSheets = this.styleSheets;\n target.adoptedStyleSheets = target.adoptedStyleSheets.filter((x) => sourceSheets.indexOf(x) === -1);\n }\n}\nlet styleClassId = 0;\nfunction getNextStyleClass() {\n return `fast-style-class-${++styleClassId}`;\n}\n/**\n * @internal\n */\nexport class StyleElementStyles extends ElementStyles {\n constructor(styles) {\n super();\n this.styles = styles;\n this.behaviors = null;\n this.behaviors = reduceBehaviors(styles);\n this.styleSheets = reduceStyles(styles);\n this.styleClass = getNextStyleClass();\n }\n addStylesTo(target) {\n const styleSheets = this.styleSheets;\n const styleClass = this.styleClass;\n if (target === document) {\n target = document.body;\n }\n for (let i = styleSheets.length - 1; i > -1; --i) {\n const element = document.createElement(\"style\");\n element.innerHTML = styleSheets[i];\n element.className = styleClass;\n target.prepend(element);\n }\n }\n removeStylesFrom(target) {\n if (target === document) {\n target = document.body;\n }\n const styles = target.querySelectorAll(`.${this.styleClass}`);\n for (let i = 0, ii = styles.length; i < ii; ++i) {\n target.removeChild(styles[i]);\n }\n }\n}\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nconst createStyles = (() => {\n if (DOM.supportsAdoptedStyleSheets) {\n const styleSheetCache = new Map();\n return (styles) => new AdoptedStyleSheetsStyles(styles, styleSheetCache);\n }\n return (styles) => new StyleElementStyles(styles);\n})();\n/* eslint-enable @typescript-eslint/explicit-function-return-type */\n/**\n * Transforms a template literal string into styles.\n * @param strings - The string fragments that are interpolated with the values.\n * @param values - The values that are interpolated with the string fragments.\n * @remarks\n * The css helper supports interpolation of strings and ElementStyle instances.\n * @public\n */\nexport function css(strings, ...values) {\n const styles = [];\n let cssString = \"\";\n for (let i = 0, ii = strings.length - 1; i < ii; ++i) {\n cssString += strings[i];\n const value = values[i];\n if (value instanceof ElementStyles || value instanceof CSSStyleSheet) {\n if (cssString.trim() !== \"\") {\n styles.push(cssString);\n cssString = \"\";\n }\n styles.push(value);\n }\n else {\n cssString += value;\n }\n }\n cssString += strings[strings.length - 1];\n if (cssString.trim() !== \"\") {\n styles.push(cssString);\n }\n return createStyles(styles);\n}\n","export var Orientation;\n(function (Orientation) {\n Orientation[\"horizontal\"] = \"horizontal\";\n Orientation[\"vertical\"] = \"vertical\";\n})(Orientation || (Orientation = {}));\n","export default function _objectWithoutPropertiesLoose(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 return target;\n}","import identity from './identity.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\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 return setToString(overRest(func, start, identity), func + '');\n}\n\nexport default baseRest;\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\nexport default identity;\n","import eq from './eq.js';\nimport isArrayLike from './isArrayLike.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\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\nexport default isIterateeCall;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\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 var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import defineProperty from './_defineProperty.js';\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\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 baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nexport default baseAssignValue;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\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 * 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 baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\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\nexport default baseUnary;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\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 = castPath(path, object);\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\nexport default baseGet;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\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) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\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 (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\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\nexport default baseToString;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nexport default copyArray;\n","import { LogLevel } from \"../models/LogLevel\";\r\n/**\r\n * Class to log the messages by sending messages to all registered appenders.\r\n * @class\r\n */\r\nexport class Logger {\r\n /**\r\n * Initializes a new instance of the `Logger` class.\r\n * @constructor\r\n * @param loggerName {string} Name of the logger.\r\n * @param logLevel {LogLevel} The log level (Threshold).\r\n */\r\n constructor(loggerName, logLevel) {\r\n this.loggerName = loggerName;\r\n // By default, keep the log level to Error\r\n this.logLevel = logLevel || LogLevel.Error;\r\n this.appenders = new Array();\r\n }\r\n /**\r\n * Gets the logger name.\r\n * @method\r\n * @returns {string} The logger name.\r\n */\r\n getLoggerName() {\r\n return this.loggerName;\r\n }\r\n /**\r\n * Sets the log level.\r\n * @method\r\n * @param logLevel {LogLevel} Logging level or threshold.\r\n */\r\n setLevel(logLevel) {\r\n this.logLevel = logLevel;\r\n }\r\n /**\r\n * Gets the log level.\r\n * @method\r\n * @returns {LogLevel} The Logging level or threshold.\r\n */\r\n getLevel() {\r\n return this.logLevel;\r\n }\r\n /**\r\n * Adds the given appender.\r\n * @method\r\n * @param appender {IAppender} Appender to be added.\r\n */\r\n addAppender(appender) {\r\n if (appender) {\r\n this.appenders.push(appender);\r\n }\r\n }\r\n /**\r\n * Removes the given appender.\r\n * @method\r\n * @param appender {IAppender} Appender to be removed.\r\n * @returns {boolean} True, if the appender is removed. Otherwise, False.\r\n */\r\n removeAppender(appender) {\r\n if (appender) {\r\n var index = this.appenders.indexOf(appender);\r\n if (index < 0) {\r\n return false;\r\n }\r\n this.appenders.splice(index, 1);\r\n return true;\r\n }\r\n return false;\r\n }\r\n /**\r\n * Clears all appenders for the current logger.\r\n * @method\r\n */\r\n removeAllAppenders() {\r\n this.appenders = new Array();\r\n }\r\n /**\r\n * Evaluates if the logger is enabled for the given log level.\r\n * @method\r\n * @param logLevel {LogLevel} The Logging level or threshold.\r\n * @returns {boolean} True, if the logger is enabled for the level. Otherwise, False.\r\n */\r\n isEnabledFor(logLevel) {\r\n // If log level threshold is greater than the given log level then it is enabled.\r\n return this.logLevel >= logLevel;\r\n }\r\n /**\r\n * Logs the log item.\r\n * @method\r\n * @param logLevel {LogLevel} The logging level or threshold.\r\n * @param logItem {ILogItem} The log item.\r\n */\r\n log(logLevel, logItem) {\r\n if (this.isEnabledFor(logLevel)) {\r\n this.appenders.forEach((appender) => { appender.append(logItem); });\r\n }\r\n }\r\n /**\r\n * Flushes the log items explicitly if appenders are using batching.\r\n * @method\r\n */\r\n flush() {\r\n this.appenders.forEach((appender) => { appender.flush(); });\r\n }\r\n}\r\n//# sourceMappingURL=Logger.js.map","import { checkDesignSystemResolver, } from \"../../design-system\";\nimport { backgroundColor } from \"../design-system\";\nimport { findSwatchIndex, getSwatch, isDarkMode, minContrastTargetFactory, referenceColorInitialIndexResolver, swatchByContrast, } from \"./palette\";\nfunction indexToSwatchFamily(accessibleIndex, palette, direction, restDelta, hoverDelta, activeDelta, focusDelta) {\n // One of the indexes will be rest, the other will be hover. Depends on the offsets and the direction.\n const accessibleIndex2 = accessibleIndex + direction * Math.abs(restDelta - hoverDelta);\n const indexOneIsRestState = direction === 1\n ? restDelta < hoverDelta\n : direction * restDelta > direction * hoverDelta;\n const restIndex = indexOneIsRestState ? accessibleIndex : accessibleIndex2;\n const hoverIndex = indexOneIsRestState ? accessibleIndex2 : accessibleIndex;\n const activeIndex = restIndex + direction * activeDelta;\n const focusIndex = restIndex + direction * focusDelta;\n return {\n rest: getSwatch(restIndex, palette),\n hover: getSwatch(hoverIndex, palette),\n active: getSwatch(activeIndex, palette),\n focus: getSwatch(focusIndex, palette),\n };\n}\n/**\n * Function to derive accessible colors from contrast and delta configuration.\n * Performs a simple contrast check against the colors and returns\n * the color that has the most contrast against the background. If contrast\n * cannot be retrieved correctly, function returns black.\n */\nexport function accessibleAlgorithm(palette, minContrast, restDelta, hoverDelta, activeDelta, focusDelta) {\n return (designSystem) => {\n const resolvedPalette = checkDesignSystemResolver(palette, designSystem);\n const direction = isDarkMode(designSystem) ? -1 : 1;\n const accessibleSwatch = swatchByContrast(backgroundColor // Compare swatches against the background\n )(resolvedPalette // Use the provided palette\n )(referenceColorInitialIndexResolver // Begin searching from the background color\n )(() => direction // Search direction based on light/dark mode\n )(minContrastTargetFactory(checkDesignSystemResolver(minContrast, designSystem)) // A swatch is only valid if the contrast is greater than indicated\n )(designSystem // Pass the design system\n );\n const accessibleIndex = findSwatchIndex(palette, accessibleSwatch)(designSystem);\n const resolvedRest = checkDesignSystemResolver(restDelta, designSystem);\n const resolvedHover = checkDesignSystemResolver(hoverDelta, designSystem);\n const resolvedActive = checkDesignSystemResolver(activeDelta, designSystem);\n const resolvedFocus = checkDesignSystemResolver(focusDelta, designSystem);\n return indexToSwatchFamily(accessibleIndex, resolvedPalette, direction, resolvedRest, resolvedHover, resolvedActive, resolvedFocus);\n };\n}\n","export var LabelTag;\n(function (LabelTag) {\n LabelTag[\"label\"] = \"label\";\n LabelTag[\"legend\"] = \"legend\";\n})(LabelTag || (LabelTag = {}));\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\nexport default listCacheClear;\n","import eq from './eq.js';\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\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\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\nexport default listCacheDelete;\n","import assocIndexOf from './_assocIndexOf.js';\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\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\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\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\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\nexport default listCacheSet;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\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// 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\nexport default ListCache;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default nativeKeysIn;\n","import isObject from './isObject.js';\nimport isPrototype from './_isPrototype.js';\nimport nativeKeysIn from './_nativeKeysIn.js';\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 * The base implementation of `_.keysIn` 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 baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default baseKeysIn;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeysIn from './_baseKeysIn.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\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 * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nexport default keysIn;\n","import baseGetTag from './_baseGetTag.js';\nimport isLength from './isLength.js';\nimport isObjectLike from './isObjectLike.js';\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 mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\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 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/**\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\nexport default baseIsTypedArray;\n","import baseIsTypedArray from './_baseIsTypedArray.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\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\nexport default isTypedArray;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nexport default Map;\n","import toNumber from './toNumber.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_INTEGER = 1.7976931348623157e+308;\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\nexport default toFinite;\n","/**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction asciiToArray(string) {\n return string.split('');\n}\n\nexport default asciiToArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsAstral = '[' + rsAstralRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsZWJ = '\\\\u200d';\n\n/** Used to compose unicode regexes. */\nvar reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\nvar reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n/**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction unicodeToArray(string) {\n return string.match(reUnicode) || [];\n}\n\nexport default unicodeToArray;\n","import asciiToArray from './_asciiToArray.js';\nimport hasUnicode from './_hasUnicode.js';\nimport unicodeToArray from './_unicodeToArray.js';\n\n/**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\nfunction stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n}\n\nexport default stringToArray;\n","import getNative from './_getNative.js';\nimport root from './_root.js';\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nexport default Set;\n","import MapCache from './_MapCache.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\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 `clear`, `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 != null && 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) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nexport default memoize;\n","import toInteger from './toInteger.js';\n\n/**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\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 integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\nfunction isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n}\n\nexport default isInteger;\n","import { Image as BaseImage, ImageSlot, } from \"@microsoft/fast-components-react-base\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { ImageStyles } from \"@microsoft/fast-components-styles-msft\";\nimport imageSchema from \"./image.schema\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Image = manageJss(ImageStyles)(BaseImage);\nexport { Image, imageSchema, ImageSlot, };\n","import ContextMenuItem from \"./context-menu-item\";\nimport contextMenuItemSchema from \"./context-menu-item.schema\";\nimport contextMenuItemSchema2 from \"./context-menu-item.schema.2\";\nexport { contextMenuItemSchema, contextMenuItemSchema2 };\nexport default ContextMenuItem;\nexport * from \"./context-menu-item\";\n","import React from \"react\";\n/**\n * Create and export JSSManager consumer/provider components to be used by\n * the manageJss HOC and DesignSystemProvider\n */\nconst designSystemContext = React.createContext({});\nconst { Provider, Consumer, } = designSystemContext;\nexport { Provider, Consumer, designSystemContext };\n","/* eslint-disable-next-line @typescript-eslint/no-unused-vars */\nimport { create, SheetsManager, SheetsRegistry } from \"jss\";\nimport presets from \"jss-preset-default\";\n/**\n * We should type these more accurately when JSS implements typings, but for now\n * we should explicitly type these as any so that projects using the\n * \"noImplicitAny\" compiler flag don't throw when they define jss types\n * https://github.com/Microsoft/fast/issues/1155\n */\nconst jss = create(presets());\nconst stylesheetManager = new SheetsManager();\nconst stylesheetRegistry = new SheetsRegistry();\nexport { jss, stylesheetManager, stylesheetRegistry };\n","import isArrayLike from './isArrayLike.js';\nimport isObjectLike from './isObjectLike.js';\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\nexport default isArrayLikeObject;\n","function spilloverSubscribe(subscriber) {\n const spillover = this.spillover;\n const index = spillover.indexOf(subscriber);\n if (index === -1) {\n spillover.push(subscriber);\n }\n}\nfunction spilloverUnsubscribe(subscriber) {\n const spillover = this.spillover;\n const index = spillover.indexOf(subscriber);\n if (index !== -1) {\n spillover.splice(index, 1);\n }\n}\nfunction spilloverNotifySubscribers(args) {\n const spillover = this.spillover;\n const source = this.source;\n for (let i = 0, ii = spillover.length; i < ii; ++i) {\n spillover[i].handleChange(source, args);\n }\n}\nfunction spilloverHas(subscriber) {\n return this.spillover.indexOf(subscriber) !== -1;\n}\n/**\n * An implementation of {@link Notifier} that efficiently keeps track of\n * subscribers interested in a specific change notification on an\n * observable source.\n *\n * @remarks\n * This set is optimized for the most common scenario of 1 or 2 subscribers.\n * With this in mind, it can store a subscriber in an internal field, allowing it to avoid Array#push operations.\n * If the set ever exceeds two subscribers, it upgrades to an array automatically.\n * @public\n */\nexport class SubscriberSet {\n /**\n * Creates an instance of SubscriberSet for the specified source.\n * @param source - The object source that subscribers will receive notifications from.\n * @param initialSubscriber - An initial subscriber to changes.\n */\n constructor(source, initialSubscriber) {\n this.sub1 = void 0;\n this.sub2 = void 0;\n this.spillover = void 0;\n this.source = source;\n this.sub1 = initialSubscriber;\n }\n /**\n * Checks whether the provided subscriber has been added to this set.\n * @param subscriber - The subscriber to test for inclusion in this set.\n */\n has(subscriber) {\n return this.sub1 === subscriber || this.sub2 === subscriber;\n }\n /**\n * Subscribes to notification of changes in an object's state.\n * @param subscriber - The object that is subscribing for change notification.\n */\n subscribe(subscriber) {\n if (this.has(subscriber)) {\n return;\n }\n if (this.sub1 === void 0) {\n this.sub1 = subscriber;\n return;\n }\n if (this.sub2 === void 0) {\n this.sub2 = subscriber;\n return;\n }\n this.spillover = [this.sub1, this.sub2, subscriber];\n this.subscribe = spilloverSubscribe;\n this.unsubscribe = spilloverUnsubscribe;\n this.notify = spilloverNotifySubscribers;\n this.has = spilloverHas;\n this.sub1 = void 0;\n this.sub2 = void 0;\n }\n /**\n * Unsubscribes from notification of changes in an object's state.\n * @param subscriber - The object that is unsubscribing from change notification.\n */\n unsubscribe(subscriber) {\n if (this.sub1 === subscriber) {\n this.sub1 = void 0;\n }\n else if (this.sub2 === subscriber) {\n this.sub2 = void 0;\n }\n }\n /**\n * Notifies all subscribers.\n * @param args - Data passed along to subscribers during notification.\n */\n notify(args) {\n const sub1 = this.sub1;\n const sub2 = this.sub2;\n const source = this.source;\n if (sub1 !== void 0) {\n sub1.handleChange(source, args);\n }\n if (sub2 !== void 0) {\n sub2.handleChange(source, args);\n }\n }\n}\n/**\n * An implementation of Notifier that allows subscribers to be notified\n * of individual property changes on an object.\n * @public\n */\nexport class PropertyChangeNotifier {\n /**\n * Creates an instance of PropertyChangeNotifier for the specified source.\n * @param source - The object source that subscribers will receive notifications from.\n */\n constructor(source) {\n this.subscribers = {};\n this.source = source;\n }\n /**\n * Notifies all subscribers, based on the specified property.\n * @param propertyName - The property name, passed along to subscribers during notification.\n */\n notify(propertyName) {\n const subscribers = this.subscribers[propertyName];\n if (subscribers !== void 0) {\n subscribers.notify(propertyName);\n }\n }\n /**\n * Subscribes to notification of changes in an object's state.\n * @param subscriber - The object that is subscribing for change notification.\n * @param propertyToWatch - The name of the property that the subscriber is interested in watching for changes.\n */\n subscribe(subscriber, propertyToWatch) {\n let subscribers = this.subscribers[propertyToWatch];\n if (subscribers === void 0) {\n this.subscribers[propertyToWatch] = subscribers = new SubscriberSet(this.source);\n }\n subscribers.subscribe(subscriber);\n }\n /**\n * Unsubscribes from notification of changes in an object's state.\n * @param subscriber - The object that is unsubscribing from change notification.\n * @param propertyToUnwatch - The name of the property that the subscriber is no longer interested in watching.\n */\n unsubscribe(subscriber, propertyToUnwatch) {\n const subscribers = this.subscribers[propertyToUnwatch];\n if (subscribers === void 0) {\n return;\n }\n subscribers.unsubscribe(subscriber);\n }\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar rafThrottle = function rafThrottle(callback) {\n var requestId = void 0;\n\n var later = function later(context, args) {\n return function () {\n requestId = null;\n callback.apply(context, args);\n };\n };\n\n var throttled = function throttled() {\n if (requestId === null || requestId === undefined) {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n requestId = requestAnimationFrame(later(this, args));\n }\n };\n\n throttled.cancel = function () {\n return cancelAnimationFrame(requestId);\n };\n\n return throttled;\n};\n\nexports.default = rafThrottle;","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\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\nexport default hashClear;\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\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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 * 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\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\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 * 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\nexport default hashHas;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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\nexport default hashSet;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\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// 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\nexport default Hash;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\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\nexport default mapCacheClear;\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\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\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\nexport default getMapData;\n","import getMapData from './_getMapData.js';\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\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\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\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\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\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\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\nexport default mapCacheSet;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\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// 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\nexport default MapCache;\n","'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 _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _toCss = require('../utils/toCss');\n\nvar _toCss2 = _interopRequireDefault(_toCss);\n\nvar _toCssValue = require('../utils/toCssValue');\n\nvar _toCssValue2 = _interopRequireDefault(_toCssValue);\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\nvar StyleRule = function () {\n function StyleRule(key, style, options) {\n _classCallCheck(this, StyleRule);\n\n this.type = 'style';\n this.isProcessed = false;\n var sheet = options.sheet,\n Renderer = options.Renderer,\n selector = options.selector;\n\n this.key = key;\n this.options = options;\n this.style = style;\n if (selector) this.selectorText = selector;\n this.renderer = sheet ? sheet.renderer : new Renderer();\n }\n\n /**\n * Set selector string.\n * Attention: use this with caution. Most browsers didn't implement\n * selectorText setter, so this may result in rerendering of entire Style Sheet.\n */\n\n\n _createClass(StyleRule, [{\n key: 'prop',\n\n\n /**\n * Get or set a style property.\n */\n value: function prop(name, value) {\n // It's a getter.\n if (value === undefined) return this.style[name];\n\n // Don't do anything if the value has not changed.\n if (this.style[name] === value) return this;\n\n value = this.options.jss.plugins.onChangeValue(value, name, this);\n\n var isEmpty = value == null || value === false;\n var isDefined = name in this.style;\n\n // Value is empty and wasn't defined before.\n if (isEmpty && !isDefined) return this;\n\n // We are going to remove this value.\n var remove = isEmpty && isDefined;\n\n if (remove) delete this.style[name];else this.style[name] = value;\n\n // Renderable is defined if StyleSheet option `link` is true.\n if (this.renderable) {\n if (remove) this.renderer.removeProperty(this.renderable, name);else this.renderer.setProperty(this.renderable, name, value);\n return this;\n }\n\n var sheet = this.options.sheet;\n\n if (sheet && sheet.attached) {\n (0, _warning2['default'])(false, 'Rule is not linked. Missing sheet option \"link: true\".');\n }\n return this;\n }\n\n /**\n * Apply rule to an element inline.\n */\n\n }, {\n key: 'applyTo',\n value: function applyTo(renderable) {\n var json = this.toJSON();\n for (var prop in json) {\n this.renderer.setProperty(renderable, prop, json[prop]);\n }return this;\n }\n\n /**\n * Returns JSON representation of the rule.\n * Fallbacks are not supported.\n * Useful for inline styles.\n */\n\n }, {\n key: 'toJSON',\n value: function toJSON() {\n var json = {};\n for (var prop in this.style) {\n var value = this.style[prop];\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) !== 'object') json[prop] = value;else if (Array.isArray(value)) json[prop] = (0, _toCssValue2['default'])(value);\n }\n return json;\n }\n\n /**\n * Generates a CSS string.\n */\n\n }, {\n key: 'toString',\n value: function toString(options) {\n var sheet = this.options.sheet;\n\n var link = sheet ? sheet.options.link : false;\n var opts = link ? _extends({}, options, { allowEmpty: true }) : options;\n return (0, _toCss2['default'])(this.selector, this.style, opts);\n }\n }, {\n key: 'selector',\n set: function set(selector) {\n if (selector === this.selectorText) return;\n\n this.selectorText = selector;\n\n if (!this.renderable) return;\n\n var hasChanged = this.renderer.setSelector(this.renderable, selector);\n\n // If selector setter is not implemented, rerender the rule.\n if (!hasChanged && this.renderable) {\n var renderable = this.renderer.replaceRule(this.renderable, this);\n if (renderable) this.renderable = renderable;\n }\n }\n\n /**\n * Get selector string.\n */\n ,\n get: function get() {\n return this.selectorText;\n }\n }]);\n\n return StyleRule;\n}();\n\nexports['default'] = StyleRule;","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass TabItem extends Foundation {\n}\nTabItem.displayName = `${DisplayNamePrefix}TabItem`;\nexport default TabItem;\nexport * from \"./tab-item.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass Tab extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n active: void 0,\n slot: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { role: \"tab\", \"aria-selected\": this.props.active, className: this.generateClassNames() }), this.props.children));\n }\n /**\n * Generates class names based on props\n */\n generateClassNames() {\n const { tab, tab__active } = this.props.managedClasses;\n return super.generateClassNames(classNames(tab, [tab__active, this.props.active]));\n }\n}\nTab.defaultProps = {\n active: false,\n managedClasses: {},\n};\nTab.displayName = `${DisplayNamePrefix}Tab`;\nexport default Tab;\nexport * from \"./tab.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass TabPanel extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n active: void 0,\n slot: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { role: \"tabpanel\", \"aria-hidden\": !this.props.active, className: this.generateClassNames() }), this.props.children));\n }\n /**\n * Generates class names based on props\n */\n generateClassNames() {\n const { tabPanel, tabPanel__hidden, } = this.props.managedClasses;\n return super.generateClassNames(classNames(tabPanel, [tabPanel__hidden, !this.props.active]));\n }\n}\nTabPanel.defaultProps = {\n active: false,\n managedClasses: {},\n};\nTabPanel.displayName = `${DisplayNamePrefix}TabPanel`;\nexport default TabPanel;\nexport * from \"./tab-panel.props\";\n","/*!\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n */\r\nexport var DeviceFormFactorType;\r\n(function (DeviceFormFactorType) {\r\n DeviceFormFactorType[\"Desktop\"] = \"desktop\";\r\n DeviceFormFactorType[\"Phone\"] = \"phone\";\r\n DeviceFormFactorType[\"Tablet\"] = \"tablet\";\r\n})(DeviceFormFactorType || (DeviceFormFactorType = {}));\r\n//# sourceMappingURL=DeviceFormFactorType.js.map","export var ViewportPositionerHorizontalPosition;\n(function (ViewportPositionerHorizontalPosition) {\n ViewportPositionerHorizontalPosition[\"left\"] = \"left\";\n ViewportPositionerHorizontalPosition[\"right\"] = \"right\";\n ViewportPositionerHorizontalPosition[\"uncontrolled\"] = \"uncontrolled\";\n})(ViewportPositionerHorizontalPosition || (ViewportPositionerHorizontalPosition = {}));\nexport var ViewportPositionerVerticalPosition;\n(function (ViewportPositionerVerticalPosition) {\n ViewportPositionerVerticalPosition[\"top\"] = \"top\";\n ViewportPositionerVerticalPosition[\"bottom\"] = \"bottom\";\n ViewportPositionerVerticalPosition[\"uncontrolled\"] = \"uncontrolled\";\n})(ViewportPositionerVerticalPosition || (ViewportPositionerVerticalPosition = {}));\nexport var AxisPositioningMode;\n(function (AxisPositioningMode) {\n AxisPositioningMode[\"uncontrolled\"] = \"uncontrolled\";\n AxisPositioningMode[\"adjacent\"] = \"adjacent\";\n AxisPositioningMode[\"inset\"] = \"inset\";\n})(AxisPositioningMode || (AxisPositioningMode = {}));\n","import React from \"react\";\nexport const ViewportContext = React.createContext({\n viewport: null,\n});\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport { extractHtmlElement } from \"@microsoft/fast-react-utilities\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { get, isNil } from \"lodash-es\";\nimport React from \"react\";\nimport { DisplayNamePrefix, } from \"../utilities\";\nimport { AxisPositioningMode, ViewportPositionerHorizontalPosition, ViewportPositionerVerticalPosition, } from \"./viewport-positioner.props\";\nimport { ViewportContext } from \"./viewport-context\";\nexport var ViewportPositionerHorizontalPositionLabel;\n(function (ViewportPositionerHorizontalPositionLabel) {\n ViewportPositionerHorizontalPositionLabel[\"left\"] = \"left\";\n ViewportPositionerHorizontalPositionLabel[\"insetLeft\"] = \"insetLeft\";\n ViewportPositionerHorizontalPositionLabel[\"insetRight\"] = \"insetRight\";\n ViewportPositionerHorizontalPositionLabel[\"right\"] = \"right\";\n ViewportPositionerHorizontalPositionLabel[\"undefined\"] = \"undefined\";\n})(ViewportPositionerHorizontalPositionLabel || (ViewportPositionerHorizontalPositionLabel = {}));\nexport var ViewportPositionerVerticalPositionLabel;\n(function (ViewportPositionerVerticalPositionLabel) {\n ViewportPositionerVerticalPositionLabel[\"top\"] = \"top\";\n ViewportPositionerVerticalPositionLabel[\"insetTop\"] = \"insetTop\";\n ViewportPositionerVerticalPositionLabel[\"insetBottom\"] = \"insetBottom\";\n ViewportPositionerVerticalPositionLabel[\"bottom\"] = \"bottom\";\n ViewportPositionerVerticalPositionLabel[\"undefined\"] = \"undefined\";\n})(ViewportPositionerVerticalPositionLabel || (ViewportPositionerVerticalPositionLabel = {}));\nclass ViewportPositioner extends Foundation {\n /**\n * constructor\n */\n constructor(props) {\n super(props);\n this.handledProps = {\n managedClasses: void 0,\n anchor: void 0,\n viewport: void 0,\n horizontalPositioningMode: void 0,\n defaultHorizontalPosition: void 0,\n horizontalThreshold: void 0,\n horizontalAlwaysInView: void 0,\n horizontalLockToDefault: void 0,\n verticalPositioningMode: void 0,\n defaultVerticalPosition: void 0,\n verticalThreshold: void 0,\n verticalAlwaysInView: void 0,\n verticalLockToDefault: void 0,\n fixedAfterInitialPlacement: void 0,\n scaleToFit: void 0,\n delayContentInstanciation: void 0,\n disabled: void 0,\n };\n this.rootElement = React.createRef();\n this.openRequestAnimationFrame = null;\n this.anchorTop = 0;\n this.anchorRight = 0;\n this.anchorBottom = 0;\n this.anchorLeft = 0;\n this.anchorHeight = 0;\n this.anchorWidth = 0;\n this.scrollTop = 0;\n this.scrollLeft = 0;\n /**\n * base offsets between the positioner's base position and the anchor's\n */\n this.baseHorizontalOffset = 0;\n this.baseVerticalOffset = 0;\n /**\n * gets the CSS classes to be programmatically applied to the component\n */\n this.getPositioningStyles = () => {\n // Check if there is already a style object being passed as props\n const styleProps = get(this.props, \"style\");\n return Object.assign(Object.assign(Object.assign({}, (this.props.scaleToFit\n ? {\n height: `${this.state.verticalSelectedPositionHeight}px`,\n width: `${this.state.horizontalSelectedPositionWidth}px`,\n }\n : {})), { \n // hide the component until afer initial layout attempst (to avoid a flicker)\n opacity: !this.props.disabled && !this.state.initialLayoutComplete ? 0 : undefined, position: \"relative\", transformOrigin: `${this.state.xTransformOrigin} ${this.state.yTransformOrigin}`, transform: `translate(\n ${Math.floor(this.state.xTranslate)}px, \n ${Math.floor(this.state.yTranslate)}px\n )`, top: this.state.top === null ? null : `${this.state.top}px`, right: this.state.right === null ? null : `${this.state.right}px`, bottom: this.state.bottom === null ? null : `${this.state.bottom}px`, left: this.state.left === null ? null : `${this.state.left}px` }), styleProps);\n };\n /**\n * Checks whether component should be disabled or not\n */\n this.updateDisabledState = () => {\n if (!canUseDOM() || this.props.disabled === true) {\n this.disable();\n return;\n }\n if (this.getAnchorElement() === null ||\n this.getViewportElement(this.props.viewport) === null) {\n if (this.state.validRefChecksRemaining > 0) {\n this.setState({\n validRefChecksRemaining: this.state.validRefChecksRemaining - 1,\n initialLayoutComplete: this.state.validRefChecksRemaining <= 1,\n });\n return;\n }\n }\n this.enableComponent();\n };\n /**\n * Enable the component\n */\n this.enableComponent = () => {\n const viewportElement = this.getViewportElement(this.props.viewport);\n const anchorElement = this.getAnchorElement();\n if (!this.state.disabled ||\n this.props.disabled ||\n isNil(anchorElement) ||\n isNil(viewportElement) ||\n isNil(this.rootElement.current)) {\n return;\n }\n if (!window\n .IntersectionObserver ||\n !window.ResizeObserver) {\n this.setNoObserverMode();\n return;\n }\n this.setState({\n disabled: false,\n noObserverMode: false,\n validRefChecksRemaining: 0,\n });\n this.collisionDetector = new window.IntersectionObserver(this.handleCollision, {\n root: viewportElement,\n rootMargin: \"0px\",\n threshold: [0, 1],\n });\n this.collisionDetector.observe(this.rootElement.current);\n this.collisionDetector.observe(anchorElement);\n this.resizeDetector = new window.ResizeObserver(this.handleResize);\n this.resizeDetector.observe(anchorElement);\n this.resizeDetector.observe(this.rootElement.current);\n viewportElement.addEventListener(\"scroll\", this.handleScroll);\n };\n /**\n * If observers are not supported we do expensive getBoundingClientRect calls\n * once to get correct initial placement\n */\n this.setNoObserverMode = () => {\n const viewportElement = this.getViewportElement(this.props.viewport);\n const anchorElement = this.getAnchorElement();\n if (isNil(viewportElement) || isNil(anchorElement)) {\n return;\n }\n const positionerRect = this.rootElement.current.getBoundingClientRect();\n this.positionerDimension = {\n height: positionerRect.height,\n width: positionerRect.width,\n };\n this.viewportRect = viewportElement.getBoundingClientRect();\n const anchorRect = anchorElement.getBoundingClientRect();\n this.anchorTop = anchorRect.top;\n this.anchorRight = anchorRect.right;\n this.anchorBottom = anchorRect.bottom;\n this.anchorLeft = anchorRect.left;\n this.anchorWidth = anchorRect.width;\n this.anchorHeight = anchorRect.height;\n this.updatePositionerOffset(positionerRect);\n this.setState({\n validRefChecksRemaining: 0,\n disabled: false,\n noObserverMode: true,\n });\n this.requestFrame();\n };\n /**\n * Disable the component\n */\n this.disable = () => {\n if (this.state.disabled) {\n return;\n }\n this.detachListeners(this.props.viewport);\n this.setState({\n disabled: true,\n validRefChecksRemaining: 0,\n });\n };\n /**\n * removes event listeners and observers when component is being unmounted or reset\n */\n this.detachListeners = (viewportRef) => {\n const viewPortElement = this.getViewportElement(viewportRef);\n if (!isNil(viewPortElement)) {\n viewPortElement.removeEventListener(\"scroll\", this.handleScroll);\n }\n if (this.collisionDetector &&\n typeof this.collisionDetector.disconnect === \"function\") {\n this.collisionDetector.disconnect();\n this.collisionDetector = null;\n }\n // TODO #1142 https://github.com/Microsoft/fast/issues/1142\n // Full browser support imminent\n // Revisit usage once Safari and Firefox adapt\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1272409\n // https://bugs.webkit.org/show_bug.cgi?id=157743\n if (this.resizeDetector && typeof this.resizeDetector.disconnect === \"function\") {\n this.resizeDetector.disconnect();\n this.resizeDetector = null;\n }\n };\n /**\n * Get available Horizontal positions based on positioning mode\n */\n this.getHorizontalPositioningOptions = () => {\n switch (this.props.horizontalPositioningMode) {\n case AxisPositioningMode.inset:\n return [\n ViewportPositionerHorizontalPositionLabel.insetLeft,\n ViewportPositionerHorizontalPositionLabel.insetRight,\n ];\n case AxisPositioningMode.adjacent:\n return [\n ViewportPositionerHorizontalPositionLabel.left,\n ViewportPositionerHorizontalPositionLabel.right,\n ];\n }\n };\n /**\n * Get available Vertical positions based on positioning mode\n */\n this.getVerticalPositioningOptions = () => {\n switch (this.props.verticalPositioningMode) {\n case AxisPositioningMode.inset:\n return [\n ViewportPositionerVerticalPositionLabel.insetTop,\n ViewportPositionerVerticalPositionLabel.insetBottom,\n ];\n case AxisPositioningMode.adjacent:\n return [\n ViewportPositionerVerticalPositionLabel.top,\n ViewportPositionerVerticalPositionLabel.bottom,\n ];\n }\n };\n /**\n * Get the width available for a particular horizontal position\n */\n this.getAvailableWidth = (positionOption) => {\n const spaceLeft = this.anchorLeft - this.viewportRect.left;\n const spaceRight = this.viewportRect.right - (this.anchorLeft + this.anchorWidth);\n switch (positionOption) {\n case ViewportPositionerHorizontalPositionLabel.left:\n return spaceLeft;\n case ViewportPositionerHorizontalPositionLabel.insetLeft:\n return spaceLeft + this.anchorWidth;\n case ViewportPositionerHorizontalPositionLabel.insetRight:\n return spaceRight + this.anchorWidth;\n case ViewportPositionerHorizontalPositionLabel.right:\n return spaceRight;\n }\n };\n /**\n * Get the height available for a particular vertical position\n */\n this.getAvailableHeight = (positionOption) => {\n const spaceAbove = this.anchorTop - this.viewportRect.top;\n const spaceBelow = this.viewportRect.bottom - (this.anchorTop + this.anchorHeight);\n switch (positionOption) {\n case ViewportPositionerVerticalPositionLabel.top:\n return spaceAbove;\n case ViewportPositionerVerticalPositionLabel.insetTop:\n return spaceAbove + this.anchorHeight;\n case ViewportPositionerVerticalPositionLabel.insetBottom:\n return spaceBelow + this.anchorHeight;\n case ViewportPositionerVerticalPositionLabel.bottom:\n return spaceBelow;\n }\n };\n /**\n * Handle scroll events\n */\n this.handleScroll = () => {\n this.requestFrame();\n };\n /**\n * Handle resize events\n */\n this.handleResize = (entries) => {\n entries.forEach((entry) => {\n if (entry.target === this.rootElement.current) {\n this.handlePositionerResize(entry);\n }\n else {\n this.handleAnchorResize(entry);\n }\n });\n };\n /**\n * Handle positioner resize events\n */\n this.handlePositionerResize = (entry) => {\n if (this.props.scaleToFit) {\n return;\n }\n this.positionerDimension = {\n height: entry.contentRect.height,\n width: entry.contentRect.width,\n };\n this.requestFrame();\n };\n /**\n * Handle anchor resize events\n */\n this.handleAnchorResize = (entry) => {\n this.anchorHeight = entry.contentRect.height;\n this.anchorWidth = entry.contentRect.width;\n if (this.state.currentVerticalPosition ===\n ViewportPositionerVerticalPositionLabel.top ||\n this.state.currentVerticalPosition ===\n ViewportPositionerVerticalPositionLabel.insetTop) {\n this.anchorBottom = this.anchorTop + this.anchorHeight;\n }\n else {\n this.anchorTop = this.anchorBottom - this.anchorHeight;\n }\n if (this.state.currentHorizontalPosition ===\n ViewportPositionerHorizontalPositionLabel.left ||\n this.state.currentHorizontalPosition ===\n ViewportPositionerHorizontalPositionLabel.insetLeft) {\n this.anchorRight = this.anchorLeft + this.anchorWidth;\n }\n else {\n this.anchorLeft = this.anchorRight - this.anchorWidth;\n }\n this.requestFrame();\n };\n /**\n * Handle collisions\n */\n this.handleCollision = (entries, \n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n observer) => {\n let positionerRect = null;\n entries.forEach((entry) => {\n if (entry.target === this.rootElement.current) {\n this.handlePositionerCollision(entry, entries.length === 1);\n positionerRect = entry.boundingClientRect;\n }\n else {\n this.handleAnchorCollision(entry);\n }\n });\n const viewPortElement = this.getViewportElement(this.props.viewport);\n if (!isNil(viewPortElement)) {\n this.scrollTop = viewPortElement.scrollTop;\n this.scrollLeft = viewPortElement.scrollLeft;\n }\n if (entries.length === 2 && positionerRect !== null) {\n this.updatePositionerOffset(positionerRect);\n }\n this.requestFrame();\n };\n /**\n * Update data based on anchor collisions\n */\n this.handleAnchorCollision = (anchorEntry) => {\n this.viewportRect = anchorEntry.rootBounds;\n this.anchorTop = anchorEntry.boundingClientRect.top;\n this.anchorRight = anchorEntry.boundingClientRect.right;\n this.anchorBottom = anchorEntry.boundingClientRect.bottom;\n this.anchorLeft = anchorEntry.boundingClientRect.left;\n this.anchorHeight = anchorEntry.boundingClientRect.height;\n this.anchorWidth = anchorEntry.boundingClientRect.width;\n };\n /**\n * Update data based on positioner collisions\n */\n this.handlePositionerCollision = (positionerEntry, shouldDeriveAnchorPosition) => {\n this.viewportRect = positionerEntry.rootBounds;\n const positionerRect = positionerEntry.boundingClientRect;\n this.positionerDimension = {\n height: positionerRect.height,\n width: positionerRect.width,\n };\n if (shouldDeriveAnchorPosition) {\n switch (this.state.currentVerticalPosition) {\n case ViewportPositionerVerticalPositionLabel.top:\n this.anchorTop = positionerRect.bottom - this.state.yTranslate;\n this.anchorBottom = this.anchorTop + this.anchorHeight;\n break;\n case ViewportPositionerVerticalPositionLabel.insetTop:\n this.anchorBottom = positionerRect.bottom - this.state.yTranslate;\n this.anchorTop = this.anchorBottom - this.anchorHeight;\n break;\n case ViewportPositionerVerticalPositionLabel.insetBottom:\n this.anchorTop = positionerRect.top - this.state.yTranslate;\n this.anchorBottom = this.anchorTop + this.anchorHeight;\n break;\n case ViewportPositionerVerticalPositionLabel.bottom:\n this.anchorBottom = positionerRect.top - this.state.yTranslate;\n this.anchorTop = this.anchorBottom - this.anchorHeight;\n break;\n }\n switch (this.state.currentHorizontalPosition) {\n case ViewportPositionerHorizontalPositionLabel.left:\n this.anchorLeft = positionerRect.right - this.state.xTranslate;\n this.anchorRight = this.anchorLeft + this.anchorWidth;\n break;\n case ViewportPositionerHorizontalPositionLabel.insetLeft:\n this.anchorRight = positionerRect.right - this.state.xTranslate;\n this.anchorLeft = this.anchorRight - this.anchorWidth;\n break;\n case ViewportPositionerHorizontalPositionLabel.insetRight:\n this.anchorLeft = positionerRect.left - this.state.xTranslate;\n this.anchorRight = this.anchorLeft + this.anchorWidth;\n break;\n case ViewportPositionerHorizontalPositionLabel.right:\n this.anchorRight = positionerRect.left - this.state.xTranslate;\n this.anchorLeft = this.anchorRight - this.anchorWidth;\n break;\n }\n }\n };\n /**\n * Update the offset values\n */\n this.updatePositionerOffset = (positionerRect) => {\n if (this.props.horizontalPositioningMode === AxisPositioningMode.uncontrolled) {\n this.baseHorizontalOffset = this.anchorLeft - positionerRect.left;\n }\n else {\n switch (this.state.currentHorizontalPosition) {\n case ViewportPositionerHorizontalPositionLabel.undefined:\n this.baseHorizontalOffset =\n this.anchorLeft + this.state.xTranslate - positionerRect.left;\n break;\n case ViewportPositionerHorizontalPositionLabel.left:\n this.baseHorizontalOffset =\n this.baseHorizontalOffset +\n (this.anchorLeft + this.state.xTranslate - positionerRect.right);\n break;\n case ViewportPositionerHorizontalPositionLabel.insetLeft:\n this.baseHorizontalOffset =\n this.baseHorizontalOffset +\n (this.anchorRight + this.state.xTranslate - positionerRect.right);\n break;\n case ViewportPositionerHorizontalPositionLabel.insetRight:\n this.baseHorizontalOffset =\n this.baseHorizontalOffset +\n (this.anchorLeft + this.state.xTranslate - positionerRect.left);\n break;\n case ViewportPositionerHorizontalPositionLabel.right:\n this.baseHorizontalOffset =\n this.baseHorizontalOffset +\n (this.anchorRight + this.state.xTranslate - positionerRect.left);\n break;\n }\n }\n if (this.props.verticalPositioningMode === AxisPositioningMode.uncontrolled) {\n this.baseVerticalOffset = this.anchorBottom - positionerRect.top;\n }\n else {\n switch (this.state.currentVerticalPosition) {\n case ViewportPositionerVerticalPositionLabel.undefined:\n this.baseVerticalOffset =\n this.anchorBottom + this.state.yTranslate - positionerRect.top;\n break;\n case ViewportPositionerVerticalPositionLabel.top:\n this.baseVerticalOffset =\n this.baseVerticalOffset +\n (this.anchorTop + this.state.yTranslate - positionerRect.bottom);\n break;\n case ViewportPositionerVerticalPositionLabel.insetTop:\n this.baseVerticalOffset =\n this.baseVerticalOffset +\n (this.anchorBottom +\n this.state.yTranslate -\n positionerRect.bottom);\n break;\n case ViewportPositionerVerticalPositionLabel.insetBottom:\n this.baseVerticalOffset =\n this.baseVerticalOffset +\n (this.anchorTop + this.state.yTranslate - positionerRect.top);\n break;\n case ViewportPositionerVerticalPositionLabel.bottom:\n this.baseVerticalOffset =\n this.baseVerticalOffset +\n (this.anchorBottom + this.state.yTranslate - positionerRect.top);\n break;\n }\n }\n };\n /**\n * Check for scroll changes in viewport and adjust position data\n */\n this.updateForScrolling = () => {\n const scrollingContainer = this.getViewportElement(this.props.viewport);\n if (isNil(scrollingContainer) || isNaN(scrollingContainer.scrollTop)) {\n return;\n }\n const scrollTop = scrollingContainer.scrollTop;\n const scrollLeft = scrollingContainer.scrollLeft;\n if (this.scrollTop !== scrollTop) {\n const verticalScrollDelta = this.scrollTop - scrollTop;\n this.scrollTop = scrollTop;\n this.anchorTop = this.anchorTop + verticalScrollDelta;\n this.anchorBottom = this.anchorBottom + verticalScrollDelta;\n }\n if (this.scrollLeft !== scrollLeft) {\n const horizontalScrollDelta = this.scrollLeft - scrollLeft;\n this.scrollLeft = scrollLeft;\n this.anchorLeft = this.anchorLeft + horizontalScrollDelta;\n this.anchorRight = this.anchorRight + horizontalScrollDelta;\n }\n };\n /**\n * Recalculate layout related state values\n */\n this.updateLayout = () => {\n this.openRequestAnimationFrame = null;\n if (this.state.disabled ||\n isNil(this.viewportRect) ||\n isNil(this.positionerDimension) ||\n (this.props.fixedAfterInitialPlacement && this.state.initialLayoutComplete) ||\n (this.state.noObserverMode && this.state.initialLayoutComplete)) {\n return;\n }\n this.updateForScrolling();\n let desiredVerticalPosition = ViewportPositionerVerticalPositionLabel.undefined;\n let desiredHorizontalPosition = ViewportPositionerHorizontalPositionLabel.undefined;\n if (this.props.horizontalPositioningMode !== AxisPositioningMode.uncontrolled) {\n const horizontalOptions = this.getHorizontalPositioningOptions();\n desiredHorizontalPosition = this.state.defaultHorizontalPosition;\n const horizontalThreshold = this.props.horizontalThreshold !== undefined\n ? this.props.horizontalThreshold\n : this.positionerDimension.width;\n if (desiredHorizontalPosition ===\n ViewportPositionerHorizontalPositionLabel.undefined ||\n (!this.props.horizontalLockToDefault &&\n this.getAvailableWidth(desiredHorizontalPosition) <\n horizontalThreshold)) {\n desiredHorizontalPosition =\n this.getAvailableWidth(horizontalOptions[0]) >\n this.getAvailableWidth(horizontalOptions[1])\n ? horizontalOptions[0]\n : horizontalOptions[1];\n }\n }\n if (this.props.verticalPositioningMode !== AxisPositioningMode.uncontrolled) {\n const verticalOptions = this.getVerticalPositioningOptions();\n desiredVerticalPosition = this.state.defaultVerticalPosition;\n const verticalThreshold = this.props.verticalThreshold !== undefined\n ? this.props.verticalThreshold\n : this.positionerDimension.height;\n if (desiredVerticalPosition ===\n ViewportPositionerVerticalPositionLabel.undefined ||\n (!this.props.verticalLockToDefault &&\n this.getAvailableHeight(desiredVerticalPosition) < verticalThreshold)) {\n desiredVerticalPosition =\n this.getAvailableHeight(verticalOptions[0]) >\n this.getAvailableHeight(verticalOptions[1])\n ? verticalOptions[0]\n : verticalOptions[1];\n }\n }\n const nextPositionerDimension = this.getNextPositionerDimension(desiredHorizontalPosition, desiredVerticalPosition);\n this.setState(Object.assign({\n xTranslate: this.getHorizontalTranslate(desiredHorizontalPosition),\n yTranslate: this.getVerticalTranslate(desiredVerticalPosition),\n initialLayoutComplete: true,\n }, this.getHorizontalPositioningState(desiredHorizontalPosition, nextPositionerDimension), this.getVerticalPositioningState(desiredVerticalPosition, nextPositionerDimension)));\n };\n /**\n * Get positioner dimensions for next render\n */\n this.getNextPositionerDimension = (desiredHorizontalPosition, desiredVerticalPosition) => {\n const newPositionerDimension = {\n height: this.positionerDimension.height,\n width: this.positionerDimension.width,\n };\n if (this.props.scaleToFit) {\n newPositionerDimension.height = Math.max(Math.min(this.getAvailableHeight(desiredVerticalPosition), this.viewportRect.height), isNil(this.props.verticalThreshold) ? 0 : this.props.verticalThreshold);\n newPositionerDimension.width = Math.max(Math.min(this.getAvailableWidth(desiredHorizontalPosition), this.viewportRect.width), isNil(this.props.horizontalThreshold) ? 0 : this.props.horizontalThreshold);\n }\n return newPositionerDimension;\n };\n /**\n * Get horizontal positioning state based on desired position\n */\n this.getHorizontalPositioningState = (desiredHorizontalPosition, nextPositionerDimension) => {\n let right = null;\n let left = null;\n let xTransformOrigin = \"left\" /* left */;\n switch (desiredHorizontalPosition) {\n case ViewportPositionerHorizontalPositionLabel.left:\n xTransformOrigin = \"right\" /* right */;\n right = nextPositionerDimension.width - this.baseHorizontalOffset;\n break;\n case ViewportPositionerHorizontalPositionLabel.insetLeft:\n xTransformOrigin = \"right\" /* right */;\n right =\n nextPositionerDimension.width -\n this.anchorWidth -\n this.baseHorizontalOffset;\n break;\n case ViewportPositionerHorizontalPositionLabel.insetRight:\n xTransformOrigin = \"left\" /* left */;\n left = this.baseHorizontalOffset;\n break;\n case ViewportPositionerHorizontalPositionLabel.right:\n xTransformOrigin = \"left\" /* left */;\n left = this.anchorWidth + this.baseHorizontalOffset;\n break;\n }\n return {\n xTransformOrigin,\n right,\n left,\n currentHorizontalPosition: desiredHorizontalPosition,\n horizontalSelectedPositionWidth: nextPositionerDimension.width,\n };\n };\n /**\n * Get vertical positioning state based on desired position\n */\n this.getVerticalPositioningState = (desiredVerticalPosition, nextPositionerDimension) => {\n let top = null;\n let bottom = null;\n let yTransformOrigin = \"top\" /* top */;\n switch (desiredVerticalPosition) {\n case ViewportPositionerVerticalPositionLabel.top:\n yTransformOrigin = \"bottom\" /* bottom */;\n bottom =\n nextPositionerDimension.height +\n this.anchorHeight -\n this.baseVerticalOffset;\n break;\n case ViewportPositionerVerticalPositionLabel.insetTop:\n yTransformOrigin = \"bottom\" /* bottom */;\n bottom = nextPositionerDimension.height - this.baseVerticalOffset;\n break;\n case ViewportPositionerVerticalPositionLabel.insetBottom:\n yTransformOrigin = \"top\" /* top */;\n top = this.baseVerticalOffset - this.anchorHeight;\n break;\n case ViewportPositionerVerticalPositionLabel.bottom:\n yTransformOrigin = \"top\" /* top */;\n top = this.baseVerticalOffset;\n break;\n }\n return {\n yTransformOrigin,\n top,\n bottom,\n currentVerticalPosition: desiredVerticalPosition,\n verticalSelectedPositionHeight: nextPositionerDimension.height,\n };\n };\n /**\n * Calculate horizontal translation to keep positioner in view\n */\n this.getHorizontalTranslate = (horizontalPosition) => {\n if (!this.props.horizontalAlwaysInView || this.state.disabled) {\n return 0;\n }\n let translate = 0;\n switch (horizontalPosition) {\n case ViewportPositionerHorizontalPositionLabel.left:\n translate = this.viewportRect.right - this.anchorLeft;\n translate = translate < 0 ? translate - 1 : 0;\n break;\n case ViewportPositionerHorizontalPositionLabel.insetLeft:\n translate = this.viewportRect.right - this.anchorRight;\n translate = translate < 0 ? translate - 1 : 0;\n break;\n case ViewportPositionerHorizontalPositionLabel.insetRight:\n translate = this.viewportRect.left - this.anchorLeft;\n translate = translate > 0 ? translate + 1 : 0;\n break;\n case ViewportPositionerHorizontalPositionLabel.right:\n translate = this.viewportRect.left - this.anchorRight;\n translate = translate > 0 ? translate + 1 : 0;\n break;\n }\n return translate;\n };\n /**\n * Calculate vertical translation to keep positioner in view\n */\n this.getVerticalTranslate = (verticalPosition) => {\n if (!this.props.verticalAlwaysInView || this.state.disabled) {\n return 0;\n }\n let translate = 0;\n switch (verticalPosition) {\n case ViewportPositionerVerticalPositionLabel.top:\n translate = this.viewportRect.bottom - this.anchorTop;\n translate = translate < 0 ? translate - 1 : 0;\n break;\n case ViewportPositionerVerticalPositionLabel.insetTop:\n translate = this.viewportRect.bottom - this.anchorBottom;\n translate = translate < 0 ? translate - 1 : 0;\n break;\n case ViewportPositionerVerticalPositionLabel.insetBottom:\n translate = this.viewportRect.top - this.anchorTop;\n translate = translate < 0 ? 0 : translate + 1;\n break;\n case ViewportPositionerVerticalPositionLabel.bottom:\n translate = this.viewportRect.top - this.anchorBottom;\n translate = translate < 0 ? 0 : translate + 1;\n break;\n }\n return translate;\n };\n /**\n * Request's an animation frame if there are currently no open animation frame requests\n */\n this.requestFrame = () => {\n if (this.openRequestAnimationFrame === null) {\n this.openRequestAnimationFrame = window.requestAnimationFrame(this.updateLayout);\n }\n };\n /**\n * get the anchor element\n */\n this.getAnchorElement = () => {\n if (isNil(this.props.anchor)) {\n return null;\n }\n return this.extractElement(this.props.anchor);\n };\n /**\n * get the viewport element, prefer one provided in props, then context, then document root\n */\n this.getViewportElement = (viewportRef) => {\n if (!isNil(viewportRef)) {\n const extractedElement = this.extractElement(viewportRef);\n return extractedElement !== null ? extractedElement : null;\n }\n if (!isNil(this.context.viewport)) {\n const extractedElement = this.extractElement(this.context.viewport);\n return extractedElement !== null ? extractedElement : null;\n }\n if (document.scrollingElement instanceof HTMLElement) {\n return document.scrollingElement;\n }\n return null;\n };\n /**\n * returns null if the extracted viewport element is Text\n */\n this.extractElement = (elementRef) => {\n const extractedElement = extractHtmlElement(elementRef);\n if (extractedElement instanceof HTMLElement) {\n return extractedElement;\n }\n return null;\n };\n /**\n * Converts simple horizontal position to a position label based on AxisPositioningMode\n */\n this.getHorizontalPositionToLabel = (positioningMode, position) => {\n switch (positioningMode) {\n case AxisPositioningMode.inset:\n if (position === ViewportPositionerHorizontalPosition.left) {\n return ViewportPositionerHorizontalPositionLabel.insetLeft;\n }\n else if (position === ViewportPositionerHorizontalPosition.right) {\n return ViewportPositionerHorizontalPositionLabel.insetRight;\n }\n case AxisPositioningMode.adjacent:\n if (position === ViewportPositionerHorizontalPosition.left) {\n return ViewportPositionerHorizontalPositionLabel.left;\n }\n else if (position === ViewportPositionerHorizontalPosition.right) {\n return ViewportPositionerHorizontalPositionLabel.right;\n }\n case AxisPositioningMode.uncontrolled:\n return ViewportPositionerHorizontalPositionLabel.undefined;\n }\n };\n /**\n * Converts simple vertical position to a position label based on AxisPositioningMode\n */\n this.getVerticalPositionToLabel = (positioningMode, position) => {\n switch (positioningMode) {\n case AxisPositioningMode.inset:\n if (position === ViewportPositionerVerticalPosition.top) {\n return ViewportPositionerVerticalPositionLabel.insetTop;\n }\n else if (position === ViewportPositionerVerticalPosition.bottom) {\n return ViewportPositionerVerticalPositionLabel.insetBottom;\n }\n case AxisPositioningMode.adjacent:\n if (position === ViewportPositionerVerticalPosition.top) {\n return ViewportPositionerVerticalPositionLabel.top;\n }\n else if (position === ViewportPositionerVerticalPosition.bottom) {\n return ViewportPositionerVerticalPositionLabel.bottom;\n }\n case AxisPositioningMode.uncontrolled:\n return ViewportPositionerVerticalPositionLabel.undefined;\n }\n };\n /**\n * Gets the uninitialized state\n */\n this.generateInitialState = () => {\n return {\n // Note: when the component is initialized or reset we start with a the disabled state set to true.\n // This gets set to fals during component initialization assuming the disabled prop is not set to true and\n // that required resources load correctly (ie an invalid anchor or viewport ref could prevent the component\n // from ever becoming enabled regardless of the disable prop)\n disabled: true,\n noObserverMode: false,\n xTransformOrigin: \"left\" /* left */,\n yTransformOrigin: \"top\" /* top */,\n xTranslate: 0,\n yTranslate: 0,\n top: null,\n right: null,\n bottom: null,\n left: null,\n currentHorizontalPosition: ViewportPositionerHorizontalPositionLabel.undefined,\n currentVerticalPosition: ViewportPositionerVerticalPositionLabel.undefined,\n defaultHorizontalPosition: this.getHorizontalPositionToLabel(this.props.horizontalPositioningMode, this.props.defaultHorizontalPosition),\n defaultVerticalPosition: this.getVerticalPositionToLabel(this.props.verticalPositioningMode, this.props.defaultVerticalPosition),\n horizontalSelectedPositionWidth: null,\n verticalSelectedPositionHeight: null,\n initialLayoutComplete: false,\n validRefChecksRemaining: 2,\n };\n };\n this.state = this.generateInitialState();\n }\n componentDidMount() {\n this.updateDisabledState();\n this.requestFrame();\n }\n componentWillUnmount() {\n if (!this.state.disabled) {\n this.detachListeners(this.props.viewport);\n }\n }\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n // if anchor or viewport changes the component needs to reset\n if (prevProps.anchor !== this.props.anchor ||\n prevProps.viewport !== this.props.viewport) {\n this.detachListeners(prevProps.viewport);\n this.setState(this.generateInitialState());\n return;\n }\n this.requestFrame();\n }\n if (prevProps.disabled !== this.props.disabled ||\n this.state.validRefChecksRemaining > 0) {\n this.updateDisabledState();\n return;\n }\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { ref: this.rootElement, className: this.generateClassNames(), style: this.getPositioningStyles() }), !this.props.disabled &&\n !this.state.initialLayoutComplete &&\n this.props.delayContentInstanciation\n ? null\n : this.props.children));\n }\n /**\n * Create class-names\n */\n generateClassNames() {\n const { viewportPositioner, viewportPositioner__left, viewportPositioner__right, viewportPositioner__top, viewportPositioner__bottom, viewportPositioner__horizontalInset, viewportPositioner__verticalInset, } = this.props.managedClasses;\n const horizontalPosition = this.state\n .currentHorizontalPosition;\n const verticalPosition = this.state\n .currentVerticalPosition;\n const isVerticalInset = verticalPosition === ViewportPositionerVerticalPositionLabel.insetTop ||\n verticalPosition === ViewportPositionerVerticalPositionLabel.insetBottom;\n const isHorizontalInset = horizontalPosition === ViewportPositionerHorizontalPositionLabel.insetLeft ||\n horizontalPosition === ViewportPositionerHorizontalPositionLabel.insetRight;\n return super.generateClassNames(classNames(viewportPositioner, [\n viewportPositioner__left,\n horizontalPosition ===\n ViewportPositionerHorizontalPositionLabel.left ||\n horizontalPosition ===\n ViewportPositionerHorizontalPositionLabel.insetLeft,\n ], [\n viewportPositioner__right,\n horizontalPosition ===\n ViewportPositionerHorizontalPositionLabel.right ||\n horizontalPosition ===\n ViewportPositionerHorizontalPositionLabel.insetRight,\n ], [viewportPositioner__horizontalInset, isHorizontalInset], [\n viewportPositioner__top,\n verticalPosition === ViewportPositionerVerticalPositionLabel.top ||\n verticalPosition ===\n ViewportPositionerVerticalPositionLabel.insetTop,\n ], [\n viewportPositioner__bottom,\n verticalPosition === ViewportPositionerVerticalPositionLabel.bottom ||\n verticalPosition ===\n ViewportPositionerVerticalPositionLabel.insetBottom,\n ], [viewportPositioner__verticalInset, isVerticalInset]));\n }\n}\nViewportPositioner.displayName = `${DisplayNamePrefix}ViewportPositioner`;\nViewportPositioner.contextType = ViewportContext;\nViewportPositioner.defaultProps = {\n horizontalPositioningMode: AxisPositioningMode.uncontrolled,\n defaultHorizontalPosition: ViewportPositionerHorizontalPosition.uncontrolled,\n verticalPositioningMode: AxisPositioningMode.adjacent,\n defaultVerticalPosition: ViewportPositionerVerticalPosition.bottom,\n horizontalAlwaysInView: false,\n verticalAlwaysInView: false,\n verticalLockToDefault: false,\n horizontalLockToDefault: false,\n fixedAfterInitialPlacement: false,\n scaleToFit: false,\n delayContentInstanciation: false,\n managedClasses: {},\n};\nViewportPositioner.contextType = ViewportContext;\nexport default ViewportPositioner;\nexport * from \"./viewport-positioner.props\";\nexport { ViewportContext };\n","import ViewportPositioner from \"./viewport-positioner\";\nimport viewportPositionerSchema from \"./viewport-positioner.schema\";\nimport viewportPositionerSchema2 from \"./viewport-positioner.schema.2\";\nexport { viewportPositionerSchema, viewportPositionerSchema2 };\nexport default ViewportPositioner;\nexport * from \"./viewport-positioner\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { TextFieldType, } from \"./text-field.props\";\nclass TextField extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n type: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"input\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), type: this.props.type || TextFieldType.text })));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.textField));\n }\n}\nTextField.displayName = `${DisplayNamePrefix}TextField`;\nTextField.defaultProps = {\n managedClasses: {},\n};\nexport default TextField;\nexport * from \"./text-field.props\";\n","import TextField from \"./text-field\";\nimport textFieldSchema from \"./text-field.schema\";\nexport { textFieldSchema };\nexport default TextField;\nexport * from \"./text-field\";\n","import { mergeWith } from \"lodash-es\";\n/**\n * Merges design-system values. Only plain Object values will be merged recursively,\n * all other values will be merged by assignment.\n *\n * This function returns a new object\n */\nexport function mergeDesignSystem(original, overrides) {\n return mergeWith({}, original, overrides, (objValue, srcValue) => {\n if (Array.isArray(srcValue)) {\n return srcValue;\n }\n });\n}\n","/**\n * Card HTML tags\n */\nexport var CardTag;\n(function (CardTag) {\n CardTag[\"article\"] = \"article\";\n CardTag[\"div\"] = \"div\";\n CardTag[\"section\"] = \"section\";\n})(CardTag || (CardTag = {}));\n","import Hypertext from \"./hypertext\";\nimport hypertextSchema from \"./hypertext.schema\";\nimport hypertextSchema2 from \"./hypertext.schema.2\";\nexport { hypertextSchema, hypertextSchema2 };\nexport default Hypertext;\nexport * from \"./hypertext\";\n","import React from \"react\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, getDisplayedNodes, isHTMLElement, keyCodeEnd, keyCodeHome, } from \"@microsoft/fast-web-utilities\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { DisplayNamePrefix } from \"../utilities\";\nexport const TreeViewContext = React.createContext({\n setLastFocused: null,\n adjustNestedTreeItemCount: null,\n nested: false,\n});\n/**\n * Simple state machine to track how many nodes have nested nodes\n */\nclass ChildNodeCountTracker {\n constructor() {\n this._count = 0;\n }\n get count() {\n return this._count;\n }\n adjust(delta) {\n this._count += delta;\n }\n}\nclass TreeView extends Foundation {\n constructor(props) {\n super(props);\n this.handledProps = {\n managedClasses: void 0,\n children: void 0,\n };\n this.rootElement = React.createRef();\n /**\n * Track how many tree-items have children\n */\n this.nestedTreeItemTracker = new ChildNodeCountTracker();\n this.setLastFocused = (ref) => {\n this.setState({\n lastFocused: ref,\n });\n };\n this.adjustNestedTreeItemCount = (delta) => {\n this.nestedTreeItemTracker.adjust(delta);\n if (this.nestedTreeItemTracker.count > 0 && !this.state.nested) {\n this.setState({ nested: true });\n }\n else if (this.nestedTreeItemTracker.count === 0 && this.state.nested) {\n this.setState({ nested: false });\n }\n };\n this.handleBlur = (e) => {\n const root = this.rootElement.current;\n /**\n * If we focus outside of the tree\n */\n if (isHTMLElement(root) && !root.contains(e.relatedTarget)) {\n this.setState({\n focusable: true,\n });\n }\n };\n this.handleFocus = (e) => {\n if (!canUseDOM() || !isHTMLElement(this.rootElement.current)) {\n return;\n }\n const root = this.rootElement.current;\n const lastFocused = this.state\n .lastFocused;\n /**\n * If the tree view is receiving focus\n */\n if (isHTMLElement(root) && root === e.target) {\n // If we have a last focused item, focus it - otherwise check for an initially selected item or focus the first \"[role='treeitem']\"\n // If there is no \"[role='treeitem']\" to be focused AND no last-focused, then there are likely no children\n // or children are malformed so keep the tree in the tab-order in the hopes that the author cleans up\n // the children\n const selectedChild = root.querySelector(\"[aria-selected='true']\");\n const toBeFocused = lastFocused\n ? lastFocused.current\n : selectedChild\n ? selectedChild\n : root.querySelector(\"[role='treeitem']\");\n if (isHTMLElement(toBeFocused)) {\n toBeFocused.focus();\n if (this.state.focusable) {\n this.setState({ focusable: false });\n }\n }\n }\n else {\n // A child is receiving focus. While focus is within the tree, we simply need to ensure\n // that the tree is not focusable.\n if (this.state.focusable) {\n this.setState({\n focusable: false,\n });\n }\n }\n };\n this.handleKeyDown = (e) => {\n let nodes;\n if (canUseDOM()) {\n switch (e.keyCode) {\n case keyCodeHome:\n nodes = this.getVisibleNodes();\n if (nodes && nodes.length) {\n nodes[0].focus();\n }\n break;\n case keyCodeEnd:\n nodes = this.getVisibleNodes();\n if (nodes && nodes.length) {\n nodes[nodes.length - 1].focus();\n }\n break;\n }\n }\n };\n this.state = {\n focusable: true,\n lastFocused: null,\n nested: false,\n };\n }\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { role: \"tree\", tabIndex: this.state.focusable ? 0 : -1, className: this.generateClassNames(), ref: this.rootElement, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown }),\n React.createElement(TreeViewContext.Provider, { value: {\n setLastFocused: this.setLastFocused,\n adjustNestedTreeItemCount: this.adjustNestedTreeItemCount,\n nested: this.state.nested,\n } }, this.props.children)));\n }\n componentDidUpdate() {\n this.ensureFocusability();\n }\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.treeView));\n }\n /**\n * Verifies that the tree has a focusable child.\n * If it does not, the tree will begin to accept focus\n */\n ensureFocusability() {\n if (canUseDOM() &&\n !this.state.focusable &&\n isHTMLElement(this.rootElement.current)) {\n const focusableChild = this.rootElement.current.querySelector(\"[role='treeitem'][tabindex='0']\");\n if (!isHTMLElement(focusableChild)) {\n this.setState({\n focusable: true,\n });\n }\n }\n }\n getVisibleNodes() {\n return canUseDOM()\n ? getDisplayedNodes(this.rootElement.current, \"[role='treeitem']\")\n : [];\n }\n}\nTreeView.displayName = `${DisplayNamePrefix}TreeView`;\nTreeView.defaultProps = {\n managedClasses: {},\n};\nexport default TreeView;\nexport * from \"./tree-view.props\";\n","/**\n * Divider HTML Roles\n */\nexport var DividerRoles;\n(function (DividerRoles) {\n DividerRoles[\"presentation\"] = \"presentation\";\n DividerRoles[\"separator\"] = \"separator\";\n})(DividerRoles || (DividerRoles = {}));\n","export default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}","import baseRest from './_baseRest.js';\nimport isIterateeCall from './_isIterateeCall.js';\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\nexport default createAssigner;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\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\nexport default isLength;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\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\nexport default isKey;\n","import Uint8Array from './_Uint8Array.js';\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nexport default cloneArrayBuffer;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\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\nexport default setToArray;\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\nexport default arrayPush;\n","import baseSlice from './_baseSlice.js';\n\n/**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\nfunction castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n}\n\nexport default castSlice;\n","/**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\nfunction baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n}\n\nexport default baseSlice;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * 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 getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","/* tslint:disable:no-bitwise */\r\n/**\r\n * Contains methods to help work with GUIDs.\r\n * @class\r\n */\r\nexport class Guid {\r\n /**\r\n * Generates new Guid.\r\n * @method\r\n * @return {string} A Guid.\r\n */\r\n static newGuid() {\r\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, c => {\r\n let r = Math.random() * 16 | 0;\r\n let v = c === \"x\" ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=Guid.js.map","import { roundToPrecisionSmall } from \"./math-utilities\";\n/**\n *\n * {@link https://en.wikipedia.org/wiki/CIELAB_color_space | CIELCH color space}\n *\n * This is a cylindrical representation of the CIELAB space useful for saturation operations\n * This uses Hue values in \"degree\" format. So expect a range of [0,360]. Some other implementations instead uses radians or a normalized Hue with range [0,1]. Be aware of this when checking values or using other libraries.\n * This implementation uses the D65 constants for 2 degrees. That determines the constants used for the pure white point of the XYZ space of 0.95047, 1.0, 1.08883.\n * {@link https://en.wikipedia.org/wiki/Illuminant_D65}\n * These constants determine how the XYZ, LCH and LAB colors convert to/from RGB.\n *\n * @public\n */\nexport class ColorLCH {\n constructor(l, c, h) {\n this.l = l;\n this.c = c;\n this.h = h;\n }\n /**\n * Construct a {@link ColorLCH} from a config object.\n * @param data - the config object\n */\n static fromObject(data) {\n if (data && !isNaN(data.l) && !isNaN(data.c) && !isNaN(data.h)) {\n return new ColorLCH(data.l, data.c, data.h);\n }\n return null;\n }\n /**\n * Determines if one color is equal to another.\n * @param rhs - the color to compare\n */\n equalValue(rhs) {\n return this.l === rhs.l && this.c === rhs.c && this.h === rhs.h;\n }\n /**\n * Returns a new {@link ColorLCH} rounded to the provided precision\n * @param precision - the precision to round to\n */\n roundToPrecision(precision) {\n return new ColorLCH(roundToPrecisionSmall(this.l, precision), roundToPrecisionSmall(this.c, precision), roundToPrecisionSmall(this.h, precision));\n }\n /**\n * Converts the {@link ColorLCH} to a config object.\n */\n toObject() {\n return { l: this.l, c: this.c, h: this.h };\n }\n}\n","export var FlipperDirection;\n(function (FlipperDirection) {\n FlipperDirection[\"next\"] = \"next\";\n FlipperDirection[\"previous\"] = \"previous\";\n})(FlipperDirection || (FlipperDirection = {}));\n","/**\n * Apply mixins to a constructor.\n * Sourced from {@link https://www.typescriptlang.org/docs/handbook/mixins.html | TypeScript Documentation }.\n * @public\n */\nexport function applyMixins(derivedCtor, ...baseCtors) {\n baseCtors.forEach(baseCtor => {\n Object.getOwnPropertyNames(baseCtor.prototype).forEach(name => {\n Object.defineProperty(derivedCtor.prototype, name, Object.getOwnPropertyDescriptor(baseCtor.prototype, name));\n });\n });\n}\n","export var TextFieldType;\n(function (TextFieldType) {\n TextFieldType[\"email\"] = \"email\";\n TextFieldType[\"number\"] = \"number\";\n TextFieldType[\"password\"] = \"password\";\n TextFieldType[\"search\"] = \"search\";\n TextFieldType[\"tel\"] = \"tel\";\n TextFieldType[\"text\"] = \"text\";\n TextFieldType[\"url\"] = \"url\";\n})(TextFieldType || (TextFieldType = {}));\n","import React from \"react\";\nexport const ListboxContext = React.createContext({\n listboxItemInvoked: null,\n listboxItemFocused: null,\n listboxSelectedItems: [],\n listboxMultiselectable: false,\n});\n","import React from \"react\";\nimport { get } from \"lodash-es\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\n/**\n * The SVGFoundation component is the component that all fast icon components are built on top of. It provides a common\n * set of utilities that each component inherits.\n * @param H - These are the props that are \"handled\". \"handled\" props are not mapped automatically to the root element\n * returned by the render function. Use handled props to expose inputs that will not map directly to DOM attributes\n * (eg a custom callback) or where the DOM attribute would be required.\n * @param U - These are \"unhandled\" props that map to SVGAttributes. Any props from this interface will be mapped onto the root DOM node of the\n * render function as-is. It is advised that these props map to valid SVG attributes - otherwise you will likely have HTML errors.\n */\nclass SVGFoundation extends Foundation {\n renderTitleText(props) {\n return typeof get(props, \"titleText\") === \"string\" ? (React.createElement(\"title\", null, get(props, \"titleText\"))) : null;\n }\n}\nSVGFoundation.defaultProps = {\n viewBox: \"0 0 16 16\",\n width: \"16px\",\n height: \"16px\",\n xmlns: \"http://www.w3.org/2000/svg\",\n};\nexport default SVGFoundation;\n","export var ButtonAppearance;\n(function (ButtonAppearance) {\n ButtonAppearance[\"justified\"] = \"justified\";\n ButtonAppearance[\"lightweight\"] = \"lightweight\";\n ButtonAppearance[\"outline\"] = \"outline\";\n ButtonAppearance[\"primary\"] = \"primary\";\n ButtonAppearance[\"stealth\"] = \"stealth\";\n})(ButtonAppearance || (ButtonAppearance = {}));\n","export var ParagraphSize;\n(function (ParagraphSize) {\n ParagraphSize[ParagraphSize[\"_1\"] = 1] = \"_1\";\n ParagraphSize[ParagraphSize[\"_2\"] = 2] = \"_2\";\n ParagraphSize[ParagraphSize[\"_3\"] = 3] = \"_3\";\n})(ParagraphSize || (ParagraphSize = {}));\n","export var BadgeSize;\n(function (BadgeSize) {\n BadgeSize[\"small\"] = \"small\";\n BadgeSize[\"large\"] = \"large\";\n})(BadgeSize || (BadgeSize = {}));\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\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\nexport default equalArrays;\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\nexport default mapToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\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 * 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\nexport default equalByTag;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\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 * 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\nexport default equalObjects;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\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 * 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\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\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\nexport default baseIsEqual;\n","import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nexport default arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nexport default arrayIncludesWith;\n","import Set from './_Set.js';\nimport noop from './noop.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nexport default createSet;\n","import SetCache from './_SetCache.js';\nimport arrayIncludes from './_arrayIncludes.js';\nimport arrayIncludesWith from './_arrayIncludesWith.js';\nimport cacheHas from './_cacheHas.js';\nimport createSet from './_createSet.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nexport default baseUniq;\n","import Symbol from './_Symbol.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nexport default isFlattenable;\n","import arrayPush from './_arrayPush.js';\nimport isFlattenable from './_isFlattenable.js';\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nexport default baseFlatten;\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\nexport default arrayFilter;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\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 nativeGetSymbols = Object.getOwnPropertySymbols;\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\nexport default getSymbols;\n","import getNative from './_getNative.js';\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nexport default defineProperty;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","'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 _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 _createRule = require('./utils/createRule');\n\nvar _createRule2 = _interopRequireDefault(_createRule);\n\nvar _linkRule = require('./utils/linkRule');\n\nvar _linkRule2 = _interopRequireDefault(_linkRule);\n\nvar _StyleRule = require('./rules/StyleRule');\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _escape = require('./utils/escape');\n\nvar _escape2 = _interopRequireDefault(_escape);\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\n/**\n * Contains rules objects and allows adding/removing etc.\n * Is used for e.g. by `StyleSheet` or `ConditionalRule`.\n */\nvar RuleList = function () {\n\n // Original styles object.\n function RuleList(options) {\n var _this = this;\n\n _classCallCheck(this, RuleList);\n\n this.map = {};\n this.raw = {};\n this.index = [];\n\n this.update = function (name, data) {\n var _options = _this.options,\n plugins = _options.jss.plugins,\n sheet = _options.sheet;\n\n if (typeof name === 'string') {\n plugins.onUpdate(data, _this.get(name), sheet);\n } else {\n for (var index = 0; index < _this.index.length; index++) {\n plugins.onUpdate(name, _this.index[index], sheet);\n }\n }\n };\n\n this.options = options;\n this.classes = options.classes;\n }\n\n /**\n * Create and register rule.\n *\n * Will not render after Style Sheet was rendered the first time.\n */\n\n\n // Used to ensure correct rules order.\n\n // Rules registry for access by .get() method.\n // It contains the same rule registered by name and by selector.\n\n\n _createClass(RuleList, [{\n key: 'add',\n value: function add(name, decl, options) {\n var _options2 = this.options,\n parent = _options2.parent,\n sheet = _options2.sheet,\n jss = _options2.jss,\n Renderer = _options2.Renderer,\n generateClassName = _options2.generateClassName;\n\n\n options = _extends({\n classes: this.classes,\n parent: parent,\n sheet: sheet,\n jss: jss,\n Renderer: Renderer,\n generateClassName: generateClassName\n }, options);\n\n if (!options.selector && this.classes[name]) {\n options.selector = '.' + (0, _escape2['default'])(this.classes[name]);\n }\n\n this.raw[name] = decl;\n\n var rule = (0, _createRule2['default'])(name, decl, options);\n\n var className = void 0;\n\n if (!options.selector && rule instanceof _StyleRule2['default']) {\n className = generateClassName(rule, sheet);\n rule.selector = '.' + (0, _escape2['default'])(className);\n }\n\n this.register(rule, className);\n\n var index = options.index === undefined ? this.index.length : options.index;\n this.index.splice(index, 0, rule);\n\n return rule;\n }\n\n /**\n * Get a rule.\n */\n\n }, {\n key: 'get',\n value: function get(name) {\n return this.map[name];\n }\n\n /**\n * Delete a rule.\n */\n\n }, {\n key: 'remove',\n value: function remove(rule) {\n this.unregister(rule);\n this.index.splice(this.indexOf(rule), 1);\n }\n\n /**\n * Get index of a rule.\n */\n\n }, {\n key: 'indexOf',\n value: function indexOf(rule) {\n return this.index.indexOf(rule);\n }\n\n /**\n * Run `onProcessRule()` plugins on every rule.\n */\n\n }, {\n key: 'process',\n value: function process() {\n var plugins = this.options.jss.plugins;\n // We need to clone array because if we modify the index somewhere else during a loop\n // we end up with very hard-to-track-down side effects.\n\n this.index.slice(0).forEach(plugins.onProcessRule, plugins);\n }\n\n /**\n * Register a rule in `.map` and `.classes` maps.\n */\n\n }, {\n key: 'register',\n value: function register(rule, className) {\n this.map[rule.key] = rule;\n if (rule instanceof _StyleRule2['default']) {\n this.map[rule.selector] = rule;\n if (className) this.classes[rule.key] = className;\n }\n }\n\n /**\n * Unregister a rule.\n */\n\n }, {\n key: 'unregister',\n value: function unregister(rule) {\n delete this.map[rule.key];\n if (rule instanceof _StyleRule2['default']) {\n delete this.map[rule.selector];\n delete this.classes[rule.key];\n }\n }\n\n /**\n * Update the function values with a new data.\n */\n\n }, {\n key: 'link',\n\n\n /**\n * Link renderable rules with CSSRuleList.\n */\n value: function link(cssRules) {\n var map = this.options.sheet.renderer.getUnescapedKeysMap(this.index);\n\n for (var i = 0; i < cssRules.length; i++) {\n var cssRule = cssRules[i];\n var _key = this.options.sheet.renderer.getKey(cssRule);\n if (map[_key]) _key = map[_key];\n var rule = this.map[_key];\n if (rule) (0, _linkRule2['default'])(rule, cssRule);\n }\n }\n\n /**\n * Convert rules to a CSS string.\n */\n\n }, {\n key: 'toString',\n value: function toString(options) {\n var str = '';\n var sheet = this.options.sheet;\n\n var link = sheet ? sheet.options.link : false;\n\n for (var index = 0; index < this.index.length; index++) {\n var rule = this.index[index];\n var css = rule.toString(options);\n\n // No need to render an empty rule.\n if (!css && !link) continue;\n\n if (str) str += '\\n';\n str += css;\n }\n\n return str;\n }\n }]);\n\n return RuleList;\n}();\n\nexports['default'] = RuleList;","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * The DesignSystemProvider is a react component designed to provide design-system configurations to the\n * JSSManager. The provider accepts a single prop that it will make available to all child components through\n * react contexts. If given a design-language, the JSSManager will make the design-language object available\n * to all JSS rules defined as a function\n */\nimport React from \"react\";\nimport { mergeDesignSystem, } from \"@microsoft/fast-jss-manager\";\nimport { designSystemContext, Provider } from \"./context\";\nexport class DesignSystemProvider extends React.Component {\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n constructor(props, context) {\n super(props);\n this.updateDownstreamDesignSystem();\n }\n render() {\n this.updateDownstreamDesignSystem();\n return (React.createElement(Provider, { value: this.downstreamDesignSystem }, this.props.children));\n }\n /**\n * Updates the downstreamDesignSystem if either this.props.designSystem\n * or this.context has changed\n */\n updateDownstreamDesignSystem() {\n let shouldUpdate = false;\n if (this.upstreamDesignSystem !== this.context) {\n this.upstreamDesignSystem = this.context;\n shouldUpdate = true;\n }\n if (this.designSystemOverrides !== this.props.designSystem) {\n this.designSystemOverrides = this.props.designSystem;\n shouldUpdate = true;\n }\n if (shouldUpdate) {\n this.downstreamDesignSystem = this.createDesignSystem();\n }\n }\n /**\n * Merges locally stored context with designSystem props.\n * Returns a new object\n */\n createDesignSystem() {\n return typeof this.props.designSystemMergingFunction === \"function\"\n ? this.props.designSystemMergingFunction(this.upstreamDesignSystem, this.designSystemOverrides)\n : mergeDesignSystem(this.upstreamDesignSystem, this.designSystemOverrides);\n }\n}\nDesignSystemProvider.contextType = designSystemContext;\n","import Image from \"./image\";\nimport imageSchema from \"./image.schema\";\nexport { imageSchema };\nexport default Image;\nexport * from \"./image\";\n","import ContextMenu from \"./context-menu\";\nimport contextMenuSchema from \"./context-menu.schema\";\nimport contextMenuSchema2 from \"./context-menu.schema.2\";\nexport { contextMenuSchema, contextMenuSchema2 };\nexport default ContextMenu;\nexport * from \"./context-menu\";\n","import Tabs from \"./tabs\";\nimport tabsSchema from \"./tabs.schema\";\nimport tabsSchema2 from \"./tabs.schema.2\";\nexport { tabsSchema, tabsSchema2 };\nexport default Tabs;\nexport * from \"./tabs\";\nimport Tab from \"./tab\";\nimport tabSchema from \"./tab.schema\";\nimport tabSchema2 from \"./tab.schema.2\";\nexport { Tab, tabSchema, tabSchema2 };\nexport * from \"./tab\";\nimport TabItem from \"./tab-item\";\nimport tabItemSchema from \"./tab-item.schema\";\nimport tabItemSchema2 from \"./tab-item.schema.2\";\nexport { TabItem, tabItemSchema, tabItemSchema2 };\nexport * from \"./tab-item\";\nimport TabPanel from \"./tab-panel\";\nimport tabPanelSchema from \"./tab-panel.schema\";\nimport tabPanelSchema2 from \"./tab-panel.schema.2\";\nexport { TabPanel, tabPanelSchema, tabPanelSchema2 };\nexport * from \"./tab-panel\";\n","import Button from \"./button\";\nimport buttonSchema from \"./button.schema\";\nimport buttonSchema2 from \"./button.schema.2\";\nexport { buttonSchema, buttonSchema2 };\nexport default Button;\nexport * from \"./button\";\n","import AutoSuggest from \"./auto-suggest\";\nimport autoSuggestSchema from \"./auto-suggest.schema\";\nimport autoSuggestSchema2 from \"./auto-suggest.schema.2\";\nexport { autoSuggestSchema, autoSuggestSchema2 };\nexport default AutoSuggest;\nexport * from \"./auto-suggest\";\n","import Dialog from \"./dialog\";\nimport dialogSchema from \"./dialog.schema\";\nimport dialogSchema2 from \"./dialog.schema.2\";\nexport { dialogSchema, dialogSchema2 };\nexport default Dialog;\nexport * from \"./dialog\";\n","import ListboxItem from \"./listbox-item\";\nimport listboxItemSchema from \"./listbox-item.schema\";\nimport listboxItemSchema2 from \"./listbox-item.schema.2\";\nexport { listboxItemSchema, listboxItemSchema2 };\nexport default ListboxItem;\nexport * from \"./listbox-item\";\n","import Radio from \"./radio\";\nimport radioSchema from \"./radio.schema\";\nimport radioSchema2 from \"./radio.schema.2\";\nexport { radioSchema, radioSchema2 };\nexport default Radio;\nexport * from \"./radio\";\n","import Toggle from \"./toggle\";\nimport toggleSchema from \"./toggle.schema\";\nimport toggleSchema2 from \"./toggle.schema.2\";\nexport { toggleSchema, toggleSchema2 };\nexport default Toggle;\nexport * from \"./toggle\";\n","import { applyFocusVisible, directionSwitch, format, } from \"@microsoft/fast-jss-utilities\";\nimport { ellipsis, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { height, horizontalSpacing } from \"../utilities/density\";\nimport { neutralFillStealthHover, neutralFillStealthRest, neutralFillStealthSelected, neutralFocus, neutralForegroundRest, } from \"../utilities/color\";\nimport { applyScaledTypeRamp } from \"../utilities/typography\";\nimport { applyCornerRadius, applyFocusPlaceholderBorder } from \"../utilities/border\";\nimport { applyCursorDefault } from \"../utilities/cursor\";\nimport { applyDisabledState } from \"../utilities/disabled\";\nimport { designUnit } from \"../utilities/design-system\";\nimport { HighContrastColor, highContrastDisabled, highContrastSelected, highContrastSelector, highContrastStealth, } from \"../utilities/high-contrast\";\nconst styles = {\n autoSuggestOption: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ \"list-style-type\": \"none\", height: height(), display: \"grid\", \"grid-template-columns\": directionSwitch(format(\"{0} auto auto 1fr {0}\", horizontalSpacing()), format(\"{0} 1fr auto auto {0}\", horizontalSpacing())), \"grid-template-rows\": \"auto\", \"align-items\": \"center\", padding: \"0\", margin: format(\"0 {0}\", toPx(designUnit)), \"white-space\": \"nowrap\", overflow: \"hidden\" }, applyCursorDefault()), { color: neutralForegroundRest }), applyScaledTypeRamp(\"t7\")), { background: neutralFillStealthRest }), applyCornerRadius()), applyFocusPlaceholderBorder()), applyFocusVisible({\n \"border-color\": neutralFocus,\n [highContrastSelector]: {\n background: HighContrastColor.selectedBackground,\n color: HighContrastColor.selectedText,\n },\n })), { \"&:hover\": Object.assign({ background: neutralFillStealthHover }, highContrastSelected) }), highContrastStealth),\n autoSuggestOption_contentRegion: Object.assign({ \"grid-column-start\": \"3\", overflow: \"hidden\" }, ellipsis()),\n autoSuggestOption__disabled: Object.assign(Object.assign(Object.assign({}, applyDisabledState()), highContrastDisabled), { \"&:hover\": Object.assign({ background: neutralFillStealthRest }, highContrastDisabled) }),\n autoSuggestOption__selected: {\n background: neutralFillStealthSelected,\n \"&:hover\": Object.assign({ background: neutralFillStealthSelected }, highContrastSelected),\n },\n};\nexport default styles;\n","import { add, format, multiply, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { applyElevatedCornerRadius } from \"../utilities/border\";\nimport { neutralFillStealthRest } from \"../utilities/color\";\nimport { heightNumber } from \"../utilities/density\";\nimport { applyElevation, ElevationMultiplier } from \"../utilities/elevation\";\nimport { designUnit, outlineWidth } from \"../utilities/design-system\";\nimport { HighContrastColor, highContrastSelector } from \"../utilities/high-contrast\";\nconst visibleChildCount = 10;\nconst styles = {\n autoSuggest: {\n \"min-width\": \"276px\",\n \"max-width\": \"374px\",\n },\n autoSuggest_menu: Object.assign(Object.assign(Object.assign(Object.assign({}, applyElevation(ElevationMultiplier.e11)), { background: neutralFillStealthRest, \"z-index\": \"1\", position: \"absolute\", width: \"100%\", margin: \"0\", padding: format(\"{0} 0\", toPx(designUnit)), \"margin-top\": toPx(designUnit), \"max-width\": \"374px\", \"min-width\": \"276px\", \"max-height\": toPx(add(heightNumber(visibleChildCount), multiply(designUnit, 2))), overflow: \"auto\" }), applyElevatedCornerRadius()), { [highContrastSelector]: {\n background: HighContrastColor.buttonBackground,\n border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.buttonText),\n } }),\n autoSuggest__menuOpen: {},\n};\nexport default styles;\n","/**\n * @deprecated\n * Slots have been deprecated and will be removed in the next major version\n * Use the `label` prop instead\n */\nexport var CheckboxSlot;\n(function (CheckboxSlot) {\n CheckboxSlot[\"label\"] = \"label\";\n})(CheckboxSlot || (CheckboxSlot = {}));\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { TypographySize, TypographyTag, } from \"./typography.props\";\nclass Typography extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n tag: void 0,\n size: void 0,\n };\n }\n /**\n * Stores HTML tag for use in render\n */\n get tag() {\n return this.generateHTMLTag();\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(this.tag, Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() }), this.props.children));\n }\n /**\n * Generates class names based on props\n */\n generateClassNames() {\n const managedClasses = this.props.managedClasses;\n return super.generateClassNames(classNames(managedClasses.typography, managedClasses[`typography__${this.props.size}`]));\n }\n /**\n * Creates tags for rendering based on href\n */\n generateHTMLTag() {\n return TypographyTag[this.props.tag] || TypographyTag.p;\n }\n}\nTypography.defaultProps = {\n tag: TypographyTag.p,\n size: TypographySize._1,\n managedClasses: {},\n};\nTypography.displayName = `${DisplayNamePrefix}Typography`;\nexport default Typography;\nexport * from \"./typography.props\";\n","import Typography from \"./typography\";\nimport typographySchema from \"./typography.schema\";\nimport typographySchema2 from \"./typography.schema.2\";\nexport { typographySchema, typographySchema2 };\nexport default Typography;\nexport * from \"./typography\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { CardTag } from \"./card.props\";\nclass Card extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n children: void 0,\n managedClasses: void 0,\n tag: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(this.tag, Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() }), this.props.children));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.card));\n }\n /**\n * Stores HTML tag for use in render\n */\n get tag() {\n return CardTag[this.props.tag] || CardTag.div;\n }\n}\nCard.displayName = `${DisplayNamePrefix}Card`;\nCard.defaultProps = {\n managedClasses: {},\n};\nexport default Card;\nexport * from \"./card.props\";\n","import Card from \"./card\";\nimport cardSchema from \"./card.schema\";\nimport cardSchema2 from \"./card.schema.2\";\nexport { cardSchema, cardSchema2 };\nexport default Card;\nexport * from \"./card\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport { isUndefined } from \"lodash-es\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { LabelTag, } from \"./label.props\";\nclass Label extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n hidden: void 0,\n managedClasses: void 0,\n tag: void 0,\n };\n }\n /**\n * Stores HTML tag for use in render\n */\n get tag() {\n return isUndefined(LabelTag[this.props.tag])\n ? LabelTag.label\n : LabelTag[this.props.tag];\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(this.tag, Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() }), this.props.children));\n }\n /**\n * Generates class names based on props\n */\n generateClassNames() {\n const { label, label__hidden, } = this.props.managedClasses;\n return super.generateClassNames(classNames(label, [label__hidden, this.props.hidden]));\n }\n}\nLabel.displayName = `${DisplayNamePrefix}Label`;\nLabel.defaultProps = {\n tag: LabelTag.label,\n managedClasses: {},\n};\nexport default Label;\nexport * from \"./label.props\";\n","import Label from \"./label\";\nimport labelSchema from \"./label.schema\";\nimport labelSchema2 from \"./label.schema.2\";\nexport { labelSchema, labelSchema2 };\nexport default Label;\nexport * from \"./label\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { DividerRoles, } from \"./divider.props\";\nclass Divider extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n role: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"hr\", Object.assign({}, this.unhandledProps(), this.generateAttributes(), { className: this.generateClassNames() })));\n }\n /**\n * Generates the attributes\n */\n generateAttributes() {\n // Do not render role=\"separator\" on page because it's intrinsically set.\n if (this.props.role && this.props.role !== DividerRoles.separator) {\n return { role: DividerRoles[this.props.role] };\n }\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.divider));\n }\n}\nDivider.displayName = `${DisplayNamePrefix}Divider`;\nDivider.defaultProps = {\n managedClasses: {},\n};\nexport default Divider;\nexport * from \"./divider.props\";\n","import Divider from \"./divider\";\nimport dividerSchema from \"./divider.schema\";\nexport { dividerSchema };\nexport default Divider;\nexport * from \"./divider\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport { get } from \"lodash-es\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { CheckboxSlot, } from \"./checkbox.props\";\nclass Checkbox extends Foundation {\n /**\n * Define constructor\n */\n constructor(props) {\n super(props);\n /**\n * Handled props instantiation\n */\n this.handledProps = {\n ariaLabel: void 0,\n checked: void 0,\n disabled: void 0,\n inputId: void 0,\n indeterminate: void 0,\n label: void 0,\n managedClasses: void 0,\n name: void 0,\n onChange: void 0,\n value: void 0,\n };\n /**\n * Handles onChange as a controlled component\n */\n this.handleCheckboxChange = (e) => {\n if (typeof this.props.checked !== \"boolean\") {\n this.setState({ checked: !this.state.checked });\n }\n if (typeof this.props.onChange === \"function\") {\n this.props.onChange(e);\n }\n };\n this.state = {\n checked: this.props.checked || false,\n };\n this.inputRef = React.createRef();\n }\n /**\n * React life-cycle method\n */\n static getDerivedStateFromProps(nextProps, prevState) {\n if (typeof nextProps.checked === \"boolean\" &&\n nextProps.checked !== prevState.checked) {\n return {\n checked: nextProps.checked,\n };\n }\n return null;\n }\n /**\n * React life-cycle method\n */\n componentDidMount() {\n this.applyIndeterminateState();\n }\n /**\n * React life-cycle method\n */\n componentDidUpdate() {\n this.applyIndeterminateState();\n }\n /**\n * Renders the component\n */\n render() {\n const { checkbox_input, checkbox_stateIndicator, } = this.props.managedClasses;\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() }),\n React.createElement(\"input\", { className: classNames(checkbox_input), id: this.props.inputId, name: this.props.name, type: \"checkbox\", ref: this.inputRef, onChange: this.handleCheckboxChange, disabled: this.props.disabled || null, \"aria-label\": this.props.ariaLabel || null, checked: this.state.checked, value: this.props.value }),\n React.createElement(\"span\", { className: classNames(checkbox_stateIndicator) }),\n this.renderLabelBySlot(),\n this.renderLabel()));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { checkbox, checkbox__disabled, checkbox__checked, checkbox__indeterminate, } = this.props.managedClasses;\n return super.generateClassNames(classNames(checkbox, [checkbox__disabled, this.props.disabled], [checkbox__checked, this.state.checked], [checkbox__indeterminate, this.props.indeterminate]));\n }\n /**\n * @deprecated - remove this method in next major version\n * Render label if it exists\n */\n renderLabelBySlot() {\n return React.Children.map(this.withSlot(CheckboxSlot.label), (label) => {\n let className = this.props.managedClasses.checkbox_label;\n if (typeof className !== \"string\") {\n return label;\n }\n const labelClassName = get(label, \"props.className\");\n if (typeof labelClassName === \"string\") {\n className = `${labelClassName} ${className}`;\n }\n return React.cloneElement(label, { className });\n });\n }\n renderLabel() {\n const { checkbox_label } = this.props.managedClasses;\n if (typeof this.props.label === \"function\") {\n return this.props.label(classNames(checkbox_label));\n }\n }\n /**\n * Apply indeterminate state to items that are indeterminate.\n * This method should be called after render because it relies on element references.\n */\n applyIndeterminateState() {\n if (this.props.indeterminate && this.inputRef.current) {\n this.inputRef.current.indeterminate = this.props.indeterminate;\n }\n }\n}\nCheckbox.displayName = `${DisplayNamePrefix}Checkbox`;\nCheckbox.defaultProps = {\n managedClasses: {},\n};\nexport default Checkbox;\nexport * from \"./checkbox.props\";\n","import Checkbox from \"./checkbox\";\nimport checkboxSchema from \"./checkbox.schema\";\nimport checkboxSchema2 from \"./checkbox.schema.2\";\nexport { checkboxSchema, checkboxSchema2 };\nexport default Checkbox;\nexport * from \"./checkbox\";\n","/**\n * The carousel slide theme\n */\nexport var CarouselSlideTheme;\n(function (CarouselSlideTheme) {\n CarouselSlideTheme[\"light\"] = \"light\";\n CarouselSlideTheme[\"dark\"] = \"dark\";\n})(CarouselSlideTheme || (CarouselSlideTheme = {}));\n","export var TopicCardSize;\n(function (TopicCardSize) {\n TopicCardSize[\"small\"] = \"small\";\n TopicCardSize[\"large\"] = \"large\";\n})(TopicCardSize || (TopicCardSize = {}));\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\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\nexport default getAllKeys;\n","/**\n * A readonly, empty array.\n * @remarks\n * Typically returned by APIs that return arrays when there are\n * no actual items to return.\n * @internal\n */\nexport const emptyArray = Object.freeze([]);\n","import { neutralFillToggleActiveDelta, neutralFillToggleFocusDelta, neutralFillToggleHoverDelta, neutralPalette, } from \"../design-system\";\nimport { colorRecipeFactory, swatchFamilyToSwatchRecipeFactory, SwatchFamilyType, } from \"./common\";\nimport { accessibleAlgorithm } from \"./accessible-recipe\";\nexport const neutralFillToggle = colorRecipeFactory(accessibleAlgorithm(neutralPalette, 4.5, 0, neutralFillToggleHoverDelta, neutralFillToggleActiveDelta, neutralFillToggleFocusDelta));\nexport const neutralFillToggleRest = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, neutralFillToggle);\nexport const neutralFillToggleHover = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.hover, neutralFillToggle);\nexport const neutralFillToggleActive = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.active, neutralFillToggle);\nexport const neutralFillToggleFocus = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.focus, neutralFillToggle);\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { Button as BaseButton } from \"@microsoft/fast-components-react-base\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { ButtonAppearance, } from \"./button.props\";\n/**\n * Button slot options\n */\nexport var ButtonSlot;\n(function (ButtonSlot) {\n ButtonSlot[\"before\"] = \"before\";\n ButtonSlot[\"after\"] = \"after\";\n})(ButtonSlot || (ButtonSlot = {}));\nclass Button extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n appearance: void 0,\n beforeContent: void 0,\n afterContent: void 0,\n disabled: void 0,\n href: void 0,\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n const managedClasses = this.props.managedClasses;\n return (React.createElement(BaseButton, Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), managedClasses: managedClasses, href: this.props.href, disabled: this.props.disabled }),\n this.withSlot(ButtonSlot.before),\n this.generateBeforeContent(),\n React.createElement(\"span\", { className: classNames(managedClasses.button_contentRegion) }, this.withoutSlot([ButtonSlot.before, ButtonSlot.after])),\n this.withSlot(ButtonSlot.after),\n this.generateAfterContent()));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames([\n this.props.managedClasses[`button__${ButtonAppearance[this.props.appearance]}`],\n typeof this.props.appearance === \"string\",\n ]));\n }\n generateBeforeContent() {\n if (typeof this.props.beforeContent === \"function\") {\n return this.props.beforeContent(classNames(this.props.managedClasses.button_beforeContent));\n }\n }\n generateAfterContent() {\n if (typeof this.props.afterContent === \"function\") {\n return this.props.afterContent(classNames(this.props.managedClasses.button_afterContent));\n }\n }\n}\nButton.displayName = `${DisplayNamePrefix}Button`;\nButton.defaultProps = {\n managedClasses: {},\n};\nexport default Button;\nexport * from \"./button.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { ButtonStyles } from \"@microsoft/fast-components-styles-msft\";\nimport MSFTButton, { ButtonAppearance, ButtonSlot, } from \"./button\";\nimport buttonSchema from \"./button.schema\";\nimport buttonSchema2 from \"./button.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Button = manageJss(ButtonStyles)(MSFTButton);\nexport { Button, ButtonAppearance, ButtonSlot, buttonSchema, buttonSchema2, };\n","import { canUseFocusVisible } from \"@microsoft/fast-web-utilities\";\n/**\n * The string representing the focus selector to be used. Value\n * will be \"focus-visible\" when https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo\n * is supported and \"focus\" when it is not.\n *\n * @public\n */\nexport const focusVisible = canUseFocusVisible() ? \"focus-visible\" : \"focus\";\n","import { canUseDOM } from \"exenv-es6\";\nimport { Direction } from \"./localization\";\n/**\n * Standardize left scroll conversion when direction is rtl\n * inspired by\n * https://github.com/alitaheri/normalize-scroll-left\n */\nexport class RtlScrollConverter {\n /**\n * Gets the scrollLeft value of the provided element\n */\n static getScrollLeft(scrolledElement, direction) {\n if (direction === Direction.rtl) {\n return RtlScrollConverter.getRtlScrollLeftConverter(scrolledElement);\n }\n return scrolledElement.scrollLeft;\n }\n /**\n * Sets the scrollLeft value of the provided element\n */\n static setScrollLeft(scrolledElement, scrollValue, direction) {\n if (direction === Direction.rtl) {\n RtlScrollConverter.setRtlScrollLeftConverter(scrolledElement, scrollValue);\n return;\n }\n scrolledElement.scrollLeft = scrollValue;\n }\n /**\n * The initial rtl scroll converter getter function, it calls the browser test to set the correct converter\n * functions and then invokes the getter\n */\n static initialGetRtlScrollConverter(scrolledElement) {\n RtlScrollConverter.initializeRtlScrollConverters();\n return RtlScrollConverter.getRtlScrollLeftConverter(scrolledElement);\n }\n /**\n * The \"direct\" rtl get scroll converter does not need to tamper with the scrollLeft\n * values as the browser is already doing the right thing. Content start = 0 and\n * scrolling left goes negative.\n */\n static directGetRtlScrollConverter(scrolledElement) {\n return scrolledElement.scrollLeft;\n }\n /**\n * The \"inverted\" get scroll converter is used when the browser reports scroll left\n * as a positive maximum scroll value at content start and then goes to zero as content\n * is scrolled left\n */\n static invertedGetRtlScrollConverter(scrolledElement) {\n return -Math.abs(scrolledElement.scrollLeft);\n }\n /**\n * The \"reverse\" get scroll converter is used when the browser reports scroll left\n * as 0 at content start and then goes positive as content is scrolled left\n */\n static reverseGetRtlScrollConverter(scrolledElement) {\n return (scrolledElement.scrollLeft -\n (scrolledElement.scrollWidth - scrolledElement.clientWidth));\n }\n /**\n * The initial rtl scroll converter setter function, it calls the browser test to set the correct converter\n * functions and then invokes the setter\n */\n static initialSetRtlScrollConverter(scrolledElement, newScrollValue) {\n RtlScrollConverter.initializeRtlScrollConverters();\n RtlScrollConverter.setRtlScrollLeftConverter(scrolledElement, newScrollValue);\n }\n /**\n * The \"direct\" rtl set scroll converter does not need to tamper with the scrollLeft\n * values as the browser is already doing the right thing. Content start = 0 and\n * scrolling left goes negative.\n */\n static directSetRtlScrollConverter(scrolledElement, newScrollValue) {\n scrolledElement.scrollLeft = newScrollValue;\n }\n /**\n * The \"inverted\" set scroll converter is used when the browser reports scroll left\n * as a positive maximum scroll value at content start and then goes to zero as content\n * is scrolled left\n */\n static invertedSetRtlScrollConverter(scrolledElement, newScrollValue) {\n scrolledElement.scrollLeft = Math.abs(newScrollValue);\n }\n /**\n * The \"reverse\" set scroll converter is used when the browser reports scroll left\n * as 0 at content start and then goes positive as content is scrolled left\n */\n static reverseSetRtlScrollConverter(scrolledElement, newScrollValue) {\n const maxScroll = scrolledElement.scrollWidth - scrolledElement.clientWidth;\n scrolledElement.scrollLeft = maxScroll + newScrollValue;\n }\n /**\n * detects the appropriate rtl scroll converter functions and assigns them\n * should only run once\n */\n static initializeRtlScrollConverters() {\n if (!canUseDOM()) {\n RtlScrollConverter.applyDirectScrollConverters();\n return;\n }\n const testElement = RtlScrollConverter.getTestElement();\n document.body.appendChild(testElement);\n RtlScrollConverter.checkForScrollType(testElement);\n document.body.removeChild(testElement);\n }\n /**\n * checks the provided test element to determine scroll type\n * and apply appropriate converters\n */\n static checkForScrollType(testElement) {\n if (RtlScrollConverter.isReverse(testElement)) {\n RtlScrollConverter.applyReverseScrollConverters();\n }\n else {\n if (RtlScrollConverter.isDirect(testElement)) {\n RtlScrollConverter.applyDirectScrollConverters();\n }\n else {\n RtlScrollConverter.applyInvertedScrollConverters();\n }\n }\n }\n /**\n * checks test element initial state for rtl \"reverse\" mode\n */\n static isReverse(testElement) {\n return testElement.scrollLeft > 0;\n }\n /**\n * checks test element for rtl \"direct\" mode\n */\n static isDirect(testElement) {\n testElement.scrollLeft = -1;\n return testElement.scrollLeft < 0;\n }\n /**\n * apply direct scroll conververters\n */\n static applyDirectScrollConverters() {\n RtlScrollConverter.setRtlScrollLeftConverter =\n RtlScrollConverter.directSetRtlScrollConverter;\n RtlScrollConverter.getRtlScrollLeftConverter =\n RtlScrollConverter.directGetRtlScrollConverter;\n }\n /**\n * apply inverted scroll conververters\n */\n static applyInvertedScrollConverters() {\n RtlScrollConverter.setRtlScrollLeftConverter =\n RtlScrollConverter.invertedSetRtlScrollConverter;\n RtlScrollConverter.getRtlScrollLeftConverter =\n RtlScrollConverter.invertedGetRtlScrollConverter;\n }\n /**\n * apply reverse scroll conververters\n */\n static applyReverseScrollConverters() {\n RtlScrollConverter.setRtlScrollLeftConverter =\n RtlScrollConverter.reverseSetRtlScrollConverter;\n RtlScrollConverter.getRtlScrollLeftConverter =\n RtlScrollConverter.reverseGetRtlScrollConverter;\n }\n /**\n * generate a test element for rtl testing\n */\n static getTestElement() {\n const testElement = document.createElement(\"div\");\n testElement.appendChild(document.createTextNode(\"ABCD\"));\n testElement.dir = \"rtl\";\n testElement.style.fontSize = \"14px\";\n testElement.style.width = \"4px\";\n testElement.style.height = \"1px\";\n testElement.style.position = \"absolute\";\n testElement.style.top = \"-1000px\";\n testElement.style.overflow = \"scroll\";\n return testElement;\n }\n}\n/**\n * This variable holds the appropriate converter function to get the scrollLeft value\n * The functions initially assigned triggers a browser check when called which sets\n * the correct converter based on browser and then invokes it\n */\nRtlScrollConverter.getRtlScrollLeftConverter = RtlScrollConverter.initialGetRtlScrollConverter;\n/**\n * This variable holds the appropriate converter function to set the scrollLeft value\n * The functions initially assigned triggers a browser check when called which sets\n * the correct function based on browser and then invokes it\n */\nRtlScrollConverter.setRtlScrollLeftConverter = RtlScrollConverter.initialSetRtlScrollConverter;\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\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\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = toCssValue;\nvar join = function join(value, by) {\n var result = '';\n for (var i = 0; i < value.length; i++) {\n // Remove !important from the value, it will be readded later.\n if (value[i] === '!important') break;\n if (result) result += by;\n result += value[i];\n }\n return result;\n};\n\n/**\n * Converts array values to string.\n *\n * `margin: [['5px', '10px']]` > `margin: 5px 10px;`\n * `border: ['1px', '2px']` > `border: 1px, 2px;`\n * `margin: [['5px', '10px'], '!important']` > `margin: 5px 10px !important;`\n * `color: ['red', !important]` > `color: red !important;`\n */\nfunction toCssValue(value) {\n var ignoreImportant = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!Array.isArray(value)) return value;\n\n var cssValue = '';\n\n // Support space separated values via `[['5px', '10px']]`.\n if (Array.isArray(value[0])) {\n for (var i = 0; i < value.length; i++) {\n if (value[i] === '!important') break;\n if (cssValue) cssValue += ', ';\n cssValue += join(value[i], ' ');\n }\n } else cssValue = join(value, ', ');\n\n // Add !important, because it was ignored.\n if (!ignoreImportant && value[value.length - 1] === '!important') {\n cssValue += ' !important';\n }\n\n return cssValue;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = createRule;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _StyleRule = require('../rules/StyleRule');\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _cloneStyle = require('../utils/cloneStyle');\n\nvar _cloneStyle2 = _interopRequireDefault(_cloneStyle);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Create a rule instance.\n */\nfunction createRule() {\n var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'unnamed';\n var decl = arguments[1];\n var options = arguments[2];\n var jss = options.jss;\n\n var declCopy = (0, _cloneStyle2['default'])(decl);\n\n var rule = jss.plugins.onCreateRule(name, declCopy, options);\n if (rule) return rule;\n\n // It is an at-rule and it has no instance.\n if (name[0] === '@') {\n (0, _warning2['default'])(false, '[JSS] Unknown at-rule %s', name);\n }\n\n return new _StyleRule2['default'](name, declCopy, options);\n}","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; };\n\nexport var isBrowser = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\" && (typeof document === \"undefined\" ? \"undefined\" : _typeof(document)) === 'object' && document.nodeType === 9;\n\nexport default isBrowser;\n","import Progress from \"./progress\";\nimport progressSchema from \"./progress.schema\";\nimport progressSchema2 from \"./progress.schema.2\";\nexport { progressSchema, progressSchema2 };\nexport default Progress;\nexport * from \"./progress\";\n","import Badge from \"./badge\";\nimport badgeSchema from \"./badge.schema\";\nimport badgeSchema2 from \"./badge.schema.2\";\nexport { badgeSchema, badgeSchema2 };\nexport default Badge;\nexport * from \"./badge\";\n","import Breadcrumb from \"./breadcrumb\";\nimport breadcrumbSchema from \"./breadcrumb.schema\";\nimport breadcrumbSchema2 from \"./breadcrumb.schema.2\";\nexport { breadcrumbSchema, breadcrumbSchema2 };\nexport default Breadcrumb;\nexport * from \"./breadcrumb\";\n","import DataGrid from \"./data-grid\";\nimport dataGridCellSchema from \"./data-grid-cell.schema\";\nimport dataGridRowSchema from \"./data-grid-row.schema\";\nimport dataGridSchema from \"./data-grid.schema\";\nexport default DataGrid;\nexport { dataGridCellSchema, dataGridRowSchema, dataGridSchema };\nexport * from \"./data-grid\";\nexport * from \"./data-grid-row\";\nexport * from \"./data-grid-cell\";\n","import HorizontalOverflow from \"./horizontal-overflow\";\nimport horizontalOverflowSchema from \"./horizontal-overflow.schema\";\nimport horizontalOverflowSchema2 from \"./horizontal-overflow.schema.2\";\nexport { horizontalOverflowSchema, horizontalOverflowSchema2 };\nexport default HorizontalOverflow;\nexport * from \"./horizontal-overflow\";\n","import NumberField from \"./number-field\";\nimport numberFieldSchema from \"./number-field.schema\";\nexport { numberFieldSchema };\nexport default NumberField;\nexport * from \"./number-field\";\n","import Select from \"./select\";\nimport selectSchema from \"./select.schema\";\nimport selectSchema2 from \"./select.schema.2\";\nexport { selectSchema, selectSchema2 };\nexport default Select;\nexport * from \"./select\";\n","import TextArea from \"./text-area\";\nimport textAreaSchema from \"./text-area.schema\";\nexport { textAreaSchema };\nexport default TextArea;\nexport * from \"./text-area\";\n","import TreeView from \"./tree-view\";\nimport treeViewSchema from \"./tree-view.schema\";\nimport treeViewSchema2 from \"./tree-view.schema.2\";\nexport { treeViewSchema, treeViewSchema2 };\nexport default TreeView;\nexport * from \"./tree-view\";\n","import TreeViewItem from \"./tree-view-item\";\nimport treeViewItemSchema from \"./tree-view-item.schema\";\nimport treeViewItemSchema2 from \"./tree-view-item.schema.2\";\nexport { treeViewItemSchema, treeViewItemSchema2 };\nexport default TreeViewItem;\nexport * from \"./tree-view-item\";\n","import { applyFocusVisible, directionSwitch, format, important, subtract, toPx, } from \"@microsoft/fast-jss-utilities\";\nimport { applyCornerRadius } from \"../utilities/border\";\nimport { neutralFillActive, neutralFillHover, neutralFillInputActive, neutralFillInputHover, neutralFillInputRest, neutralFillRest, neutralFocus, neutralForegroundRest, neutralOutlineActive, neutralOutlineHover, neutralOutlineRest, } from \"../utilities/color\";\nimport { glyphSize, height, horizontalSpacing } from \"../utilities/density\";\nimport { focusOutlineWidth, outlineWidth } from \"../utilities/design-system\";\nimport { applyDisabledState } from \"../utilities/disabled\";\nimport { highContrastButtonBackground, HighContrastColor, highContrastDisabledBorder, highContrastDisabledForeground, highContrastForeground, highContrastOutline, highContrastSelected, highContrastSelector, } from \"../utilities/high-contrast\";\n// Since MSFT text field is already styled, we need to override in this way to alter text field classes\nexport const textFieldOverrides = {\n textField: Object.assign({ height: \"calc(100% - 4px)\", margin: \"2px 1px\", border: \"none\", flex: \"1 0 0px\", background: \"transparent\", \"min-width\": \"inherit\", \"&:hover, &:hover:enabled, &:disabled, &:active, &:active:enabled, &:focus, &:focus:enabled\": Object.assign({ background: \"none\", border: \"none\", \"box-shadow\": \"none\" }, highContrastButtonBackground) }, highContrastForeground),\n};\nconst glyphStyles = Object.assign({ width: glyphSize, height: glyphSize, margin: \"auto\", fill: neutralForegroundRest }, highContrastForeground);\nconst styles = {\n textAction: Object.assign(Object.assign(Object.assign({ \"box-sizing\": \"border-box\", position: \"relative\", height: height(), margin: \"0\", \"min-width\": \"92px\", border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineRest), background: neutralFillInputRest }, applyCornerRadius()), { display: \"flex\", \"flex-direction\": \"row\", transition: \"all 0.2s ease-in-out\", \"&:hover\": {\n background: neutralFillInputHover,\n \"border-color\": neutralOutlineHover,\n [highContrastSelector]: {\n background: \"transparent\",\n \"border-color\": HighContrastColor.selectedBackground,\n },\n }, \"&:active\": {\n background: neutralFillInputActive,\n \"border-color\": neutralOutlineActive,\n } }), highContrastOutline),\n textAction__filled: {\n background: neutralFillRest,\n border: format(\"{0} solid transparent\", toPx(outlineWidth)),\n \"&:hover\": {\n background: neutralFillHover,\n \"border-color\": \"transparent\",\n [highContrastSelector]: {\n background: HighContrastColor.buttonBackground,\n \"border-color\": HighContrastColor.selectedBackground,\n },\n },\n \"&:active\": {\n background: neutralFillActive,\n \"border-color\": \"transparent\",\n },\n [highContrastSelector]: {\n background: HighContrastColor.buttonBackground,\n border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.buttonText),\n },\n },\n textAction__outline: {},\n textAction__focus: {\n \"&, &:hover\": {\n \"box-shadow\": format(\"0 0 0 {0} {1} inset\", toPx(subtract(focusOutlineWidth, outlineWidth)), neutralFocus),\n border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralFocus),\n },\n [highContrastSelector]: {\n \"&, &:hover\": {\n \"box-shadow\": format(\"0 0 0 {0} {1} inset\", toPx(subtract(focusOutlineWidth, outlineWidth)), () => HighContrastColor.buttonText),\n border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.buttonText),\n },\n },\n },\n textAction__disabled: Object.assign(Object.assign(Object.assign({}, applyDisabledState()), highContrastDisabledBorder), { \"&:hover\": {\n background: neutralFillInputRest,\n \"border-color\": neutralOutlineRest,\n }, \"&:active\": {\n background: neutralFillInputRest,\n \"border-color\": neutralOutlineRest,\n }, \"& $textAction_beforeGlyph, & $textAction_afterGlyph\": Object.assign({}, highContrastDisabledForeground) }),\n textAction_button: Object.assign({ \"border-color\": \"transparent\", color: neutralForegroundRest, fill: neutralForegroundRest, height: format(\"calc({0} - 6px)\", height()), \"min-width\": \"fit-content\", margin: \"2px\", padding: `0 5px`, left: directionSwitch(\"0\", \"\"), right: directionSwitch(\"\", \"0\"), top: \"0\", transition: \"color .1s, background-color .1s, border-color 0.2s ease-in-out\", flex: \"0 0 auto\", cursor: \"pointer\", [highContrastSelector]: {\n background: HighContrastColor.buttonBackground,\n fill: HighContrastColor.buttonText,\n }, \"&:hover\": Object.assign({}, highContrastSelected), \"&:active\": Object.assign({}, highContrastSelected), \"&:disabled\": {} }, applyFocusVisible({\n [highContrastSelector]: {\n background: HighContrastColor.selectedBackground,\n fill: HighContrastColor.selectedText,\n \"border-color\": important(HighContrastColor.buttonText),\n \"box-shadow\": format(\"0 0 0 {0} inset {1}\", toPx(focusOutlineWidth), () => HighContrastColor.buttonBackground),\n },\n })),\n textAction_beforeGlyph: Object.assign(Object.assign({}, glyphStyles), { \"margin-left\": directionSwitch(horizontalSpacing(1), \"\"), \"margin-right\": directionSwitch(\"\", horizontalSpacing(1)) }),\n textAction_afterGlyph: Object.assign(Object.assign({}, glyphStyles), { \"margin-left\": directionSwitch(\"\", horizontalSpacing(1)), \"margin-right\": directionSwitch(horizontalSpacing(1), \"\") }),\n};\nexport default styles;\n","import { directionSwitch } from \"@microsoft/fast-jss-utilities\";\nimport { accentForegroundActive, accentForegroundCut, accentForegroundHover, accentForegroundRest, neutralForegroundRest, } from \"../utilities/color\";\nimport { glyphSize, horizontalSpacing } from \"../utilities/density\";\nimport { highContrastDisabledForeground, highContrastForeground, highContrastSelectedForeground, highContrastSelector, } from \"../utilities/high-contrast\";\n// Since MSFT button is already styled, we need to override in this way to alter button classes\nexport const actionTriggerButtonOverrides = {\n button: {\n \"max-width\": \"100%\",\n \"min-width\": \"initial\",\n },\n button_contentRegion: {\n transition: \"all 600ms cubic-bezier(0.19, 1, 0.22, 1)\",\n display: \"flex\",\n \"align-items\": \"center\",\n },\n};\nconst styles = {\n actionTrigger: {\n \"& $actionTrigger_glyph\": Object.assign({}, highContrastForeground),\n \"&:hover:enabled, a&:not($actionTrigger__disabled):hover\": {\n \"& $actionTrigger_glyph\": {\n [highContrastSelector]: Object.assign({}, highContrastSelectedForeground),\n },\n },\n [`&$actionTrigger__justified, &$actionTrigger__lightweight`]: {\n \"&:hover:enabled, a&:not($actionTrigger__disabled):hover\": {\n \"& $actionTrigger_glyph\": {\n [highContrastSelector]: {\n fill: \"Highlight !important\",\n },\n },\n },\n },\n },\n actionTrigger_glyph: {\n display: \"inline-block\",\n position: \"relative\",\n width: glyphSize,\n height: glyphSize,\n \"flex-shrink\": \"0\",\n },\n actionTrigger__primary: {\n \"& $actionTrigger_glyph\": {\n fill: accentForegroundCut,\n [highContrastSelector]: Object.assign({}, highContrastSelectedForeground),\n },\n \"&:hover:enabled, a&:not($actionTrigger__disabled):hover\": {\n \"& $actionTrigger_glyph\": {\n [highContrastSelector]: {\n fill: \"Highlight !important\",\n },\n },\n },\n \"&$actionTrigger__disabled $actionTrigger_glyph\": Object.assign({ fill: accentForegroundCut }, highContrastDisabledForeground),\n },\n actionTrigger__lightweight: {\n \"& $actionTrigger_glyph\": {\n fill: accentForegroundRest,\n },\n \"&:hover\": {\n \"& $actionTrigger_glyph\": {\n fill: accentForegroundHover,\n },\n },\n \"&:active\": {\n \"& $actionTrigger_glyph\": {\n fill: accentForegroundActive,\n },\n },\n \"&$actionTrigger__disabled $actionTrigger_glyph\": {\n fill: accentForegroundRest,\n },\n },\n actionTrigger__justified: {\n \"& $actionTrigger_glyph\": {\n fill: accentForegroundRest,\n },\n \"&:hover\": {\n \"& $actionTrigger_glyph\": {\n fill: accentForegroundHover,\n },\n },\n \"&:active\": {\n \"& $actionTrigger_glyph\": {\n fill: accentForegroundActive,\n },\n },\n \"&$actionTrigger__disabled $actionTrigger_glyph\": {\n fill: accentForegroundRest,\n },\n },\n actionTrigger__outline: {\n \"& $actionTrigger_glyph\": {\n fill: neutralForegroundRest,\n },\n \"&$actionTrigger__disabled $actionTrigger_glyph\": {\n fill: neutralForegroundRest,\n },\n },\n actionTrigger__stealth: {\n \"& $actionTrigger_glyph\": {\n fill: neutralForegroundRest,\n },\n \"&$actionTrigger__disabled $actionTrigger_glyph\": Object.assign({ fill: neutralForegroundRest }, highContrastDisabledForeground),\n },\n actionTrigger__disabled: {\n \"& $actionTrigger_glyph\": Object.assign({}, highContrastDisabledForeground),\n },\n actionTrigger__hasGlyphAndContent: {\n \"& $actionTrigger_glyph\": {\n \"margin-right\": directionSwitch(horizontalSpacing(), \"\"),\n \"margin-left\": directionSwitch(\"\", horizontalSpacing()),\n },\n },\n};\nexport default styles;\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport { get } from \"lodash-es\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nexport var ImageSlot;\n(function (ImageSlot) {\n ImageSlot[\"source\"] = \"source\";\n})(ImageSlot || (ImageSlot = {}));\nclass Image extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n alt: void 0,\n sizes: void 0,\n src: void 0,\n srcSet: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n let className = classNames(this.props.managedClasses.image);\n if (!this.props.children) {\n return (React.createElement(\"img\", Object.assign({}, this.unhandledProps(), { className: super.generateClassNames(className), alt: this.props.alt, sizes: this.props.sizes ? this.props.sizes : null, src: this.props.src, srcSet: this.props.srcSet ? this.props.srcSet : null })));\n }\n else {\n className = `${className} ${get(this.props, \"managedClasses.image__picture\", \"\")}`;\n return (React.createElement(\"picture\", Object.assign({}, this.unhandledProps(), { className: super.generateClassNames(className) }),\n this.withSlot(ImageSlot.source),\n React.createElement(\"img\", { src: this.props.src, alt: this.props.alt, className: get(this.props, \"managedClasses.image_img\", \"\") })));\n }\n }\n}\nImage.displayName = `${DisplayNamePrefix}Image`;\nImage.defaultProps = {\n managedClasses: {},\n};\nexport default Image;\nexport * from \"./image.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, keyCodeArrowDown, keyCodeArrowLeft, keyCodeArrowRight, keyCodeArrowUp, keyCodeEnd, keyCodeHome, } from \"@microsoft/fast-web-utilities\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { inRange, invert } from \"lodash-es\";\nimport React from \"react\";\nimport { ContextMenuItemRole } from \"../context-menu-item\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass ContextMenu extends Foundation {\n constructor(props) {\n super(props);\n this.handledProps = {\n children: void 0,\n managedClasses: void 0,\n enableAutoFocus: void 0,\n };\n this.rootElement = React.createRef();\n /**\n * Render a single child\n */\n this.renderChild = (child, index) => {\n return React.cloneElement(child, {\n tabIndex: index === this.state.focusIndex ? 0 : -1,\n onFocus: this.handleMenuItemFocus,\n });\n };\n /**\n * Determines if a given element should be focusable by the menu\n */\n this.isFocusableElement = (element) => {\n return this.isMenuItemElement(element) && !this.isDisabledElement(element);\n };\n this.isDisabledElement = (element) => {\n return (this.isMenuItemElement(element) &&\n element.getAttribute(\"aria-disabled\") === \"true\");\n };\n /**\n * Ensure we always validate our internal state on item focus events, otherwise\n * the component can get out of sync from click events\n */\n this.handleMenuItemFocus = (e) => {\n const target = e.currentTarget;\n const focusIndex = this.domChildren().indexOf(target);\n if (this.isDisabledElement(target)) {\n target.blur();\n return;\n }\n if (focusIndex !== this.state.focusIndex && focusIndex !== -1) {\n this.setFocus(focusIndex, focusIndex > this.state.focusIndex ? 1 : -1);\n }\n };\n /**\n * Handle the keydown event of the root menu\n */\n this.handleMenuKeyDown = (e) => {\n switch (e.keyCode) {\n case keyCodeArrowDown:\n case keyCodeArrowRight:\n e.preventDefault();\n this.setFocus(this.state.focusIndex + 1, 1);\n break;\n case keyCodeArrowUp:\n case keyCodeArrowLeft:\n e.preventDefault();\n this.setFocus(this.state.focusIndex - 1, -1);\n break;\n case keyCodeEnd:\n e.preventDefault();\n this.setFocus(this.domChildren().length - 1, -1);\n break;\n case keyCodeHome:\n e.preventDefault();\n this.setFocus(0, 1);\n break;\n }\n if (typeof this.props.onKeyDown === \"function\") {\n this.props.onKeyDown(e);\n }\n };\n this.handleContextMenu = (e) => {\n e.preventDefault(); // prevent browser context-menu becuase this *is* a context menu\n if (typeof this.props.onContextMenu === \"function\") {\n this.props.onContextMenu(e);\n }\n };\n this.state = {\n focusIndex: -1,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { ref: this.rootElement, role: \"menu\", className: this.generateClassNames(), onKeyDown: this.handleMenuKeyDown, onContextMenu: this.handleContextMenu }), this.renderChildren()));\n }\n componentDidMount() {\n const children = this.domChildren();\n const focusIndex = children.findIndex(this.isFocusableElement);\n if (focusIndex !== -1) {\n this.setState({\n focusIndex,\n });\n }\n if (this.props.enableAutoFocus) {\n this.focus();\n }\n }\n /**\n * Brings focus to the appropriate menu-item\n */\n focus() {\n this.setFocus(this.state.focusIndex === -1 ? 0 : this.state.focusIndex, 1);\n }\n /**\n * Create class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.contextMenu));\n }\n /**\n * Render all child elements\n */\n renderChildren() {\n return React.Children.map(this.props.children, this.renderChild);\n }\n isMenuItemElement(element) {\n return (element instanceof HTMLElement &&\n ContextMenu.focusableElementRoles.hasOwnProperty(element.getAttribute(\"role\")));\n }\n /**\n * Return an array of all focusabled elements that are children\n * of the context menu\n */\n domChildren() {\n return canUseDOM() && this.rootElement.current instanceof HTMLElement\n ? Array.from(this.rootElement.current.children)\n : [];\n }\n /**\n * Sets focus to the nearest focusable element to the supplied focusIndex.\n * The adjustment controls how the function searches for other focusable elements\n * if the element at the focusIndex is not focusable. A positive number will search\n * towards the end of the children array, whereas a negative number will search towards\n * the beginning of the children array.\n */\n setFocus(focusIndex, adjustment) {\n const children = this.domChildren();\n while (inRange(focusIndex, children.length)) {\n const child = children[focusIndex];\n if (this.isFocusableElement(child)) {\n child.focus();\n this.setState({\n focusIndex,\n });\n break;\n }\n focusIndex += adjustment;\n }\n }\n}\nContextMenu.displayName = `${DisplayNamePrefix}ContextMenu`;\nContextMenu.defaultProps = {\n managedClasses: {},\n};\nContextMenu.focusableElementRoles = invert(ContextMenuItemRole);\nexport default ContextMenu;\nexport * from \"./context-menu.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, keyCodeEnter, keyCodeSpace } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nexport var ContextMenuItemRole;\n(function (ContextMenuItemRole) {\n ContextMenuItemRole[\"menuItem\"] = \"menuitem\";\n ContextMenuItemRole[\"menuItemRadio\"] = \"menuitemradio\";\n ContextMenuItemRole[\"menuItemCheckbox\"] = \"menuitemcheckbox\";\n})(ContextMenuItemRole || (ContextMenuItemRole = {}));\nclass ContextMenuItem extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n disabled: void 0,\n managedClasses: void 0,\n onInvoke: void 0,\n role: void 0,\n };\n /**\n * Handle the keydown event of the item\n */\n this.handleMenuItemKeyDown = (e) => {\n switch (e.keyCode) {\n case keyCodeEnter:\n case keyCodeSpace:\n this.handleInvoke(e);\n break;\n }\n if (typeof this.props.onKeyDown === \"function\") {\n this.props.onKeyDown(e);\n }\n };\n /**\n * Handle the keydown event of the item\n */\n this.handleMenuItemClick = (e) => {\n this.handleInvoke(e);\n if (typeof this.props.onClick === \"function\") {\n this.props.onClick(e);\n }\n };\n /**\n * Handle the contextMenu event\n */\n this.handleContextMenu = (e) => {\n e.preventDefault(); // Cancel browser context-menu because the user is clicking the context-menu-item\n this.handleInvoke(e);\n if (typeof this.props.onContextMenu === \"function\") {\n this.props.onContextMenu(e);\n }\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), role: this.props.role, \"aria-disabled\": this.props.disabled || undefined, onKeyDown: this.handleMenuItemKeyDown, onClick: this.handleMenuItemClick, onContextMenu: this.handleContextMenu }), this.props.children));\n }\n /**\n * Create class-names\n */\n generateClassNames() {\n const { contextMenuItem, contextMenuItem__checkbox, contextMenuItem__radio, contextMenuItem__disabled, } = this.props.managedClasses;\n const role = this.props.role;\n return super.generateClassNames(classNames(contextMenuItem, [\n contextMenuItem__checkbox,\n role === ContextMenuItemRole.menuItemCheckbox,\n ], [contextMenuItem__radio, role === ContextMenuItemRole.menuItemRadio], [contextMenuItem__disabled, this.props.disabled]));\n }\n /**\n * Inform app-authors that the user has invoked the item\n */\n handleInvoke(e) {\n if (typeof this.props.onInvoke === \"function\" && !this.props.disabled) {\n this.props.onInvoke(e, this.props);\n }\n }\n}\nContextMenuItem.displayName = `${DisplayNamePrefix}ContextMenuItem`;\nContextMenuItem.defaultProps = {\n role: ContextMenuItemRole.menuItem,\n disabled: false,\n managedClasses: {},\n};\nexport default ContextMenuItem;\nexport * from \"./context-menu-item.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass Hypertext extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"a\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() }), this.props.children));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(this.props.managedClasses.hypertext);\n }\n}\nHypertext.displayName = `${DisplayNamePrefix}Hypertext`;\nHypertext.defaultProps = {\n managedClasses: {},\n};\nexport default Hypertext;\nexport * from \"./hypertext.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, keyCodeArrowDown, keyCodeArrowLeft, keyCodeArrowRight, keyCodeArrowUp, keyCodeEnd, keyCodeHome, Orientation, } from \"@microsoft/fast-web-utilities\";\nimport { get } from \"lodash-es\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport Tab from \"./tab\";\nimport TabItem from \"./tab-item\";\nimport TabPanel from \"./tab-panel\";\nexport var TabLocation;\n(function (TabLocation) {\n TabLocation[TabLocation[\"first\"] = 0] = \"first\";\n TabLocation[TabLocation[\"last\"] = 1] = \"last\";\n TabLocation[TabLocation[\"previous\"] = 2] = \"previous\";\n TabLocation[TabLocation[\"next\"] = 3] = \"next\";\n})(TabLocation || (TabLocation = {}));\nexport var TabsSlot;\n(function (TabsSlot) {\n TabsSlot[\"tab\"] = \"tab\";\n TabsSlot[\"tabItem\"] = \"tab-item\";\n TabsSlot[\"tabPanel\"] = \"tab-panel\";\n})(TabsSlot || (TabsSlot = {}));\nclass Tabs extends Foundation {\n constructor(props) {\n super(props);\n this.handledProps = {\n activeId: void 0,\n disableTabFocus: void 0,\n label: void 0,\n managedClasses: void 0,\n onUpdate: void 0,\n orientation: void 0,\n tabItemSlot: void 0,\n tabPanelSlot: void 0,\n tabSlot: void 0,\n items: void 0,\n };\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n this.renderTabItem = (tabItem, index) => {\n if (this.props.items) {\n return this.getChildrenBySlot(tabItem.props.children, this.getSlot(TabsSlot.tab))[0];\n }\n return React.cloneElement(this.getChildrenBySlot(tabItem.props.children, this.getSlot(TabsSlot.tab))[0], {\n key: tabItem.props.id,\n \"aria-controls\": tabItem.props.id,\n active: this.state.activeId === tabItem.props.id,\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown,\n tabIndex: this.state.activeId !== tabItem.props.id ? -1 : 0,\n });\n };\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n this.renderTabPanel = (tabItem, index) => {\n if (this.props.items) {\n return this.getChildrenBySlot(tabItem.props.children, this.getSlot(TabsSlot.tabPanel))[0];\n }\n return React.cloneElement(this.getChildrenBySlot(tabItem.props.children, this.getSlot(TabsSlot.tabPanel))[0], {\n key: tabItem.props.id,\n id: tabItem.props.id,\n \"aria-labelledby\": tabItem.props.id,\n active: this.state.activeId === tabItem.props.id,\n });\n };\n /**\n * Handles the click event on the tab element\n */\n this.handleClick = (e) => {\n if (!this.props.activeId) {\n this.setState({\n activeId: e.currentTarget.getAttribute(\"aria-controls\"),\n });\n }\n else if (typeof this.props.onUpdate === \"function\") {\n this.props.onUpdate(e.currentTarget.getAttribute(\"aria-controls\"));\n }\n };\n /**\n * Handles the keydown event on the tab element\n */\n this.handleKeyDown = (e) => {\n const keyCode = e.keyCode;\n if (this.props.orientation === Orientation.horizontal) {\n switch (keyCode) {\n case keyCodeArrowLeft:\n e.preventDefault();\n this.activateTab(TabLocation.previous);\n break;\n case keyCodeArrowRight:\n e.preventDefault();\n this.activateTab(TabLocation.next);\n break;\n }\n }\n else {\n switch (e.keyCode) {\n case keyCodeArrowUp:\n e.preventDefault();\n this.activateTab(TabLocation.previous);\n break;\n case keyCodeArrowDown:\n e.preventDefault();\n this.activateTab(TabLocation.next);\n break;\n }\n }\n switch (keyCode) {\n case keyCodeHome:\n this.activateTab(TabLocation.first);\n break;\n case keyCodeEnd:\n this.activateTab(TabLocation.last);\n break;\n }\n };\n /**\n * Gets the current index by tab item ID\n */\n this.getCurrentIndexById = (item) => {\n return item.props.id === this.state.activeId;\n };\n this.tabListRef = React.createRef();\n if (!this.props.items) {\n const items = React.Children.toArray(this.tabItems());\n this.state = {\n activeId: this.props.activeId\n ? this.props.activeId\n : items.length > 0\n ? get(items[0], \"props.id\")\n : \"\",\n };\n }\n else {\n this.state = {\n activeId: \"\",\n };\n }\n }\n /**\n * React life-cycle method\n */\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.activeId && nextProps.activeId !== prevState.activeId) {\n return {\n activeId: nextProps.activeId,\n };\n }\n return null;\n }\n /**\n * Renders the component\n */\n render() {\n const tabElements = this.renderTabElements();\n const { tabs_tabList, tabs_tabPanels, } = this.props.managedClasses;\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() }),\n React.createElement(\"div\", { role: \"tablist\", ref: this.tabListRef, className: classNames(tabs_tabList), \"aria-label\": this.props.label, \"aria-orientation\": this.props.orientation }, tabElements),\n React.createElement(\"div\", { className: classNames(tabs_tabPanels) }, this.renderTabPanels()),\n this.withoutSlot(TabsSlot.tabItem, this.props.children)));\n }\n /**\n * React lifecycle hook\n */\n componentDidUpdate(prevProps) {\n if (typeof this.props.activeId === \"string\" &&\n this.props.activeId !== prevProps.activeId &&\n this.props.disableTabFocus !== true) {\n const items = React.Children.toArray(this.tabItems());\n const currentItemIndex = items.findIndex(this.getCurrentIndexById);\n // Do nothing if current item index is not found\n if (currentItemIndex !== -1) {\n Array.from(this.tabListRef.current.children)[currentItemIndex].focus();\n }\n }\n }\n /**\n * Generates class names based on props\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.tabs));\n }\n /**\n * Create tab content class names\n */\n generateTabContentClassNames() {\n return classNames(this.props.managedClasses.tabs_tabContent);\n }\n /**\n * Create tab panel content class names\n */\n generateTabPanelContentClassNames() {\n return classNames(this.props.managedClasses.tabs_tabPanelContent);\n }\n /**\n * Create tab class names\n */\n generateTabClassNames() {\n const { tab, tab__active } = this.props.managedClasses;\n return {\n managedClasses: {\n tab: classNames(tab),\n tab__active: classNames(tab__active),\n },\n };\n }\n /**\n * Create tab panel class names\n */\n generateTabPanelClassNames() {\n const { tabPanel, tabPanel__hidden, } = this.props.managedClasses;\n return {\n managedClasses: {\n tabPanel: classNames(tabPanel),\n tabPanel__hidden: classNames(tabPanel__hidden),\n },\n };\n }\n /**\n * Renders the tab elements\n */\n renderTabElements() {\n return React.Children.map(this.tabItems(), this.renderTabItem);\n }\n setActive(tabItem, index) {\n if (this.state.activeId) {\n return this.state.activeId === tabItem.id;\n }\n else {\n return index === 0;\n }\n }\n tabItems() {\n if (this.props.items) {\n return this.props.items.map((tabItem, index) => {\n return (React.createElement(TabItem, { key: tabItem.id, id: tabItem.id, slot: TabsSlot.tabItem },\n React.createElement(Tab, Object.assign({}, this.generateTabClassNames(), { slot: TabsSlot.tab, key: tabItem.id, \"aria-controls\": tabItem.id, active: this.setActive(tabItem, index), onClick: this.handleClick, onKeyDown: this.handleKeyDown, tabIndex: this.setActive(tabItem, index) ? 0 : -1 }), tabItem.tab(this.generateTabContentClassNames())),\n React.createElement(TabPanel, Object.assign({}, this.generateTabPanelClassNames(), { slot: TabsSlot.tabPanel, key: tabItem.id, id: tabItem.id, \"aria-labelledby\": tabItem.id, active: this.setActive(tabItem, index) }), tabItem.content(this.generateTabPanelContentClassNames()))));\n });\n }\n else {\n return this.getChildrenBySlot(this.props.children, this.getSlot(TabsSlot.tabItem));\n }\n }\n /**\n * Renders the tab panels\n */\n renderTabPanels() {\n return React.Children.map(this.tabItems(), this.renderTabPanel);\n }\n /**\n * Activates a tab\n */\n activateTab(location) {\n const items = React.Children.toArray(this.tabItems());\n const count = items.length;\n const currentItemIndex = React.Children.toArray(items).findIndex(this.getCurrentIndexById);\n let itemIndex;\n switch (location) {\n case TabLocation.first:\n itemIndex = 0;\n break;\n case TabLocation.last:\n itemIndex = count - 1;\n break;\n case TabLocation.previous:\n itemIndex = currentItemIndex > 0 ? currentItemIndex - 1 : count - 1;\n break;\n case TabLocation.next:\n itemIndex = currentItemIndex < count - 1 ? currentItemIndex + 1 : 0;\n break;\n }\n const activeId = get(items[itemIndex], \"props.id\");\n if (!this.props.activeId) {\n this.setState({\n activeId,\n });\n Array.from(this.tabListRef.current.children)[itemIndex].focus();\n }\n else if (typeof this.props.onUpdate === \"function\") {\n this.props.onUpdate(activeId);\n }\n }\n /**\n * Gets the slot to use for tab children\n */\n getSlot(slot) {\n switch (slot) {\n case TabsSlot.tab:\n return typeof this.props.tabSlot === \"string\"\n ? this.props.tabSlot\n : TabsSlot.tab;\n case TabsSlot.tabItem:\n return typeof this.props.tabItemSlot === \"string\"\n ? this.props.tabItemSlot\n : TabsSlot.tabItem;\n case TabsSlot.tabPanel:\n return typeof this.props.tabPanelSlot === \"string\"\n ? this.props.tabPanelSlot\n : TabsSlot.tabPanel;\n }\n }\n /**\n * Gets the child by the slot property\n */\n getChildrenBySlot(children, slot) {\n const childBySlot = this.filterChildren(this.withSlot(slot, children));\n return slot !== this.getSlot(TabsSlot.tabItem)\n ? childBySlot\n : React.Children.map(childBySlot, (node) => {\n return this.isValidTabItem(node) ? node : null;\n });\n }\n /**\n * Need to filter out none truthy results for Preact.\n * Can remove if below gets merged in.\n * https://github.com/preactjs/preact-compat/pull/461\n */\n filterChildren(nodes) {\n if (Array.isArray(nodes)) {\n return nodes.filter(Boolean);\n }\n else {\n return nodes;\n }\n }\n /**\n * Return a tab item if it has a tab and tab panel\n */\n isValidTabItem(child) {\n const children = get(child, \"props.children\");\n return (!!this.getChildrenBySlot(children, this.getSlot(TabsSlot.tab))[0] &&\n !!this.getChildrenBySlot(children, this.getSlot(TabsSlot.tabPanel))[0]);\n }\n}\nTabs.defaultProps = {\n orientation: Orientation.horizontal,\n disableTabFocus: false,\n managedClasses: {},\n};\nTabs.displayName = `${DisplayNamePrefix}Tabs`;\nexport default Tabs;\nexport * from \"./tabs.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\n/**\n * Button HTML tags\n */\nexport var ButtonHTMLTags;\n(function (ButtonHTMLTags) {\n ButtonHTMLTags[\"a\"] = \"a\";\n ButtonHTMLTags[\"button\"] = \"button\";\n})(ButtonHTMLTags || (ButtonHTMLTags = {}));\nclass Button extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n disabled: void 0,\n href: void 0,\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(this.tag, Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), href: this.props.href || null }, this.renderDisabledAttribute()), this.props.children));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { button, button__disabled, } = this.props.managedClasses;\n return super.generateClassNames(classNames(button, [button__disabled, this.props.disabled]));\n }\n /**\n * Stores HTML tag for use in render\n */\n renderDisabledAttribute() {\n if (this.props.disabled === true) {\n return this.tag === ButtonHTMLTags.a\n ? { \"aria-disabled\": true }\n : { disabled: true };\n }\n }\n /**\n * Stores HTML tag for use in render\n */\n get tag() {\n return typeof this.props.href === \"string\"\n ? ButtonHTMLTags.a\n : ButtonHTMLTags.button;\n }\n}\nButton.displayName = `${DisplayNamePrefix}Button`;\nButton.defaultProps = {\n managedClasses: {},\n};\nexport default Button;\nexport * from \"./button.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nexport var ProgressType;\n(function (ProgressType) {\n ProgressType[\"determinate\"] = \"determinate\";\n ProgressType[\"indeterminate\"] = \"indeterminate\";\n})(ProgressType || (ProgressType = {}));\nclass Progress extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n children: void 0,\n managedClasses: void 0,\n maxValue: void 0,\n minValue: void 0,\n value: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), role: \"progressbar\", \"aria-valuenow\": this.props.value, \"aria-valuemin\": this.props.minValue, \"aria-valuemax\": this.props.maxValue }), this.renderChildren()));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.progress));\n }\n /**\n * Renders children based on value prop\n */\n renderChildren() {\n return this.props.value !== undefined\n ? this.withSlot(ProgressType.determinate)\n : this.withSlot(ProgressType.indeterminate);\n }\n}\nProgress.defaultProps = {\n minValue: 0,\n maxValue: 100,\n managedClasses: {},\n};\nProgress.displayName = `${DisplayNamePrefix}Progress`;\nexport default Progress;\nexport * from \"./progress.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, keyCodeArrowDown, keyCodeArrowUp, keyCodeEnter, keyCodeEscape, keyCodeTab, } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { isNil } from \"lodash-es\";\nimport { Listbox, TextField, TextFieldType } from \"../index\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { AutoSuggestContext } from \"./auto-suggest-context\";\nclass AutoSuggest extends Foundation {\n /**\n * constructor\n */\n constructor(props) {\n super(props);\n /**\n * Handled props instantiation\n */\n this.handledProps = {\n isMenuOpen: void 0,\n disabled: void 0,\n label: void 0,\n inputRegion: void 0,\n managedClasses: void 0,\n initialValue: void 0,\n value: void 0,\n onValueChange: void 0,\n onInvoked: void 0,\n placeholder: void 0,\n listboxId: void 0,\n filterSuggestions: void 0,\n };\n this.rootElement = React.createRef();\n this.shouldFocusMenuOnNextRender = false;\n /**\n * The default function that renders an unstyled content display\n */\n this.defaultInputRegionRenderFunction = (props, state, onChange, onClick, onKeyDown) => {\n const listboxId = state.isMenuOpen ? props.listboxId : null;\n const activedescendantId = state.focusedItem !== null ? state.focusedItem.id : null;\n return (React.createElement(TextField, { disabled: props.disabled, onChange: onChange, onClick: onClick, onKeyDown: onKeyDown, value: state.value, type: TextFieldType.text, role: \"combobox\", \"aria-label\": props.label || null, \"aria-autocomplete\": \"both\", \"aria-activedescendant\": activedescendantId || null, \"aria-expanded\": state.isMenuOpen, \"aria-owns\": listboxId || null, \"aria-controls\": listboxId || null }));\n };\n /**\n * Handle blur events\n */\n this.handleBlurCapture = (event) => {\n if (this.state.isMenuOpen &&\n !isNil(this.rootElement.current) &&\n !this.rootElement.current.contains(event.relatedTarget)) {\n // close the menu when focus moves out of the component\n this.toggleMenu(false);\n }\n };\n /**\n * Updates selection state and associated values\n */\n this.updateFocusedItem = (newSelection) => {\n if (newSelection.length === 0) {\n this.setState({\n focusedItem: null,\n });\n }\n else {\n this.setState({\n focusedItem: newSelection[0],\n });\n this.updateValue(newSelection[0].value, true);\n }\n };\n /**\n * Handles clicks\n */\n this.handleInputRegionClick = (e) => {\n if (this.props.disabled || e.defaultPrevented) {\n return;\n }\n this.toggleMenu(true);\n };\n /**\n * Handles item invoked\n */\n this.handleItemInvoked = (item) => {\n this.invoke(item.value, item);\n this.storedValueString = this.state.value;\n this.toggleMenu(false);\n };\n /**\n * Invokes the auto-select component\n */\n this.invoke = (value, item) => {\n if (typeof this.props.onInvoked === \"function\") {\n this.props.onInvoked(value, item);\n }\n };\n /**\n * Handles value changes from input element\n */\n this.handleChange = (e) => {\n const newValue = e.target.value;\n this.storedValueString = newValue;\n this.updateValue(newValue, false);\n };\n /**\n * Update the currentValue of the component\n */\n this.updateValue = (newValue, isFromSuggestedOption) => {\n if (typeof this.props.onValueChange === \"function\") {\n this.props.onValueChange(newValue, isFromSuggestedOption);\n }\n if (isNil(this.props.value) && newValue !== this.state.value) {\n this.toggleMenu(true);\n this.setState({\n value: newValue,\n });\n }\n };\n /**\n * Handles input region key events\n */\n this.handleInputRegionKeydown = (e) => {\n if (this.props.disabled || e.defaultPrevented) {\n return;\n }\n switch (e.keyCode) {\n case keyCodeEnter:\n this.invoke(this.state.value, null);\n break;\n case keyCodeEscape:\n this.toggleMenu(false);\n break;\n case keyCodeArrowDown:\n this.focusOnMenu(1);\n e.preventDefault();\n break;\n case keyCodeArrowUp:\n this.focusOnMenu(-1);\n e.preventDefault();\n break;\n case keyCodeTab:\n // Prevent default case handling for tab\n break;\n default:\n if (e.target instanceof HTMLInputElement) {\n const newValue = e.target.value;\n this.updateValue(newValue, false);\n this.focusOnInput();\n break;\n }\n }\n };\n /**\n * Handles menu key events\n */\n this.handleMenuKeydown = (e) => {\n if (this.props.disabled || e.defaultPrevented) {\n return;\n }\n switch (e.keyCode) {\n case keyCodeEscape:\n this.toggleMenu(false);\n break;\n case keyCodeArrowDown:\n if (this.checkForMenuEnd(1) === true) {\n e.preventDefault();\n }\n break;\n case keyCodeArrowUp:\n if (this.checkForMenuEnd(-1) === true) {\n e.preventDefault();\n }\n break;\n default:\n if (this.isValidInput(e)) {\n this.focusOnInput();\n }\n break;\n }\n };\n /**\n * test if a key press is a valid input\n */\n this.isValidInput = (e) => {\n if (e.keyCode < 8 ||\n (e.keyCode > 8 && e.keyCode < 48) ||\n (e.keyCode > 90 && e.keyCode < 96) ||\n (e.keyCode > 111 && e.keyCode < 186) ||\n e.keyCode > 222) {\n return false;\n }\n return true;\n };\n /**\n * Passes focus to the input element if focus would bump up against the ends of the menu,\n * return true if result was focusing on input region\n */\n this.checkForMenuEnd = (increment) => {\n if (this.state.focusedItem === null) {\n return false;\n }\n const childrenAsArray = React.Children.toArray(this.renderChildren());\n const currentItemIndex = Listbox.getItemIndexById(this.state.focusedItem.id, this.renderChildren());\n const startIndex = currentItemIndex + increment;\n if (startIndex > childrenAsArray.length - 1 || startIndex < 0) {\n this.setState({\n value: this.storedValueString,\n });\n // at the end of the list, focus on input\n this.focusOnInput();\n return true;\n }\n const endIndex = increment > -1 ? childrenAsArray.length - 1 : 0;\n const nextFocusableItem = Listbox.getFirstValidOptionInRange(startIndex, endIndex, childrenAsArray, increment).props;\n if (nextFocusableItem === null ||\n nextFocusableItem.id === this.state.focusedItem.id) {\n this.setState({\n value: this.storedValueString,\n });\n // at the end of the list, focus on input\n this.focusOnInput();\n return true;\n }\n return false;\n };\n /**\n * Opens menu and focuses on first or last valid item\n */\n this.focusOnMenu = (increment) => {\n this.storedValueString = this.state.value;\n const childrenAsArray = React.Children.toArray(this.renderChildren());\n if (childrenAsArray.length === 0) {\n return;\n }\n const startIndex = increment > -1 ? 0 : childrenAsArray.length - 1;\n const endIndex = increment > -1 ? childrenAsArray.length - 1 : 0;\n this.focusFirstItemInRange(startIndex, endIndex, childrenAsArray, increment);\n };\n /**\n * Gets first child in a range\n */\n this.focusFirstItemInRange = (startIndex, endIndex, childrenAsArray, increment) => {\n const validOption = Listbox.getFirstValidOptionInRange(startIndex, endIndex, childrenAsArray, increment);\n if (validOption !== null) {\n this.updateFocusedItem([validOption.props]);\n }\n if (!this.state.isMenuOpen) {\n this.toggleMenu(true);\n this.shouldFocusMenuOnNextRender = true;\n return;\n }\n if (validOption !== null) {\n const element = document.getElementById(validOption.props[\"id\"]);\n if (element !== null) {\n element.focus();\n }\n }\n };\n /**\n * Toggles the menu\n */\n this.toggleMenu = (desiredMenuState) => {\n const updatedIsMenuOpen = this.validateMenuState(desiredMenuState);\n if (updatedIsMenuOpen !== this.state.isMenuOpen) {\n this.setState({\n isMenuOpen: updatedIsMenuOpen,\n });\n if (this.state.isMenuOpen && !updatedIsMenuOpen) {\n this.setState({\n value: this.storedValueString,\n });\n this.focusOnInput();\n }\n }\n };\n /**\n * Focus on the input element\n */\n this.focusOnInput = () => {\n if (this.rootElement.current === null) {\n return;\n }\n const inputElements = this.rootElement.current.getElementsByTagName(\"input\");\n if (inputElements.length > 0) {\n inputElements[0].focus();\n }\n this.updateFocusedItem([]);\n };\n /**\n * Determine menu state by comparing desired state to props\n */\n this.validateMenuState = (desiredMenuState) => {\n return typeof this.props.isMenuOpen === \"boolean\"\n ? this.props.isMenuOpen\n : React.Children.count(this.renderChildren()) === 0\n ? false\n : desiredMenuState;\n };\n /**\n * Close the menu when when there are clicks outside\n */\n this.handleWindowClick = (event) => {\n if (this.state.isMenuOpen &&\n this.rootElement.current !== null &&\n !this.rootElement.current.contains(event.target)) {\n this.toggleMenu(false);\n }\n };\n const value = this.props.value === undefined ? this.props.initialValue : this.props.value;\n this.state = {\n value,\n focusedItem: null,\n isMenuOpen: this.validateMenuState(false),\n };\n this.storedValueString = value;\n }\n componentDidUpdate(prevProps) {\n if (this.props.isMenuOpen !== undefined &&\n this.props.isMenuOpen !== prevProps.isMenuOpen) {\n this.toggleMenu(this.props.isMenuOpen);\n }\n else if (!this.state.isMenuOpen &&\n React.Children.count(this.renderChildren(prevProps.children)) === 0 &&\n React.Children.count(this.renderChildren()) > 0 &&\n !isNil(this.rootElement.current) &&\n this.rootElement.current.contains(document.activeElement)) {\n // if the component has focus and a previously empty suggestions list is\n // populated we should open the menu\n this.toggleMenu(true);\n }\n if (this.props.value !== prevProps.value) {\n this.setState({\n value: this.props.value,\n });\n }\n }\n componentDidMount() {\n window.addEventListener(\"click\", this.handleWindowClick);\n }\n componentWillUnmount() {\n window.removeEventListener(\"click\", this.handleWindowClick);\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { ref: this.rootElement, onBlurCapture: this.handleBlurCapture, className: this.generateClassNames() }),\n React.createElement(AutoSuggestContext.Provider, { value: {\n currentValue: this.storedValueString,\n } },\n this.renderInputRegion(),\n this.renderMenu())));\n }\n /**\n * Create class names\n */\n generateClassNames() {\n const { autoSuggest, autoSuggest__disabled, autoSuggest__menuOpen, } = this.props.managedClasses;\n return super.generateClassNames(classNames(autoSuggest, [autoSuggest__disabled, this.props.disabled], [autoSuggest__menuOpen, this.state.isMenuOpen]));\n }\n /**\n * Determine which function to use to render content display (ie. the part of the control that shows when the menu isn't open)\n * and invokes it\n */\n renderInputRegion() {\n if (typeof this.props.inputRegion === \"function\") {\n return this.props.inputRegion(this.props, this.state, this.handleChange, this.handleInputRegionClick, this.handleInputRegionKeydown);\n }\n else {\n return this.defaultInputRegionRenderFunction(this.props, this.state, this.handleChange, this.handleInputRegionClick, this.handleInputRegionKeydown);\n }\n }\n /**\n * Determine which function to use to render the menu and invokes it\n */\n renderMenu() {\n const shouldFocusOnMenu = this.shouldFocusMenuOnNextRender;\n const { autoSuggest_menu, autoSuggest__disabled, } = this.props.managedClasses;\n this.shouldFocusMenuOnNextRender = false;\n if (!this.state.isMenuOpen) {\n return;\n }\n const focusedItem = this.state.focusedItem !== null ? [this.state.focusedItem] : [];\n return (React.createElement(Listbox, { id: this.props.listboxId, typeAheadEnabled: false, disabled: this.props.disabled, focusItemOnMount: shouldFocusOnMenu, defaultSelection: focusedItem, onSelectedItemsChanged: this.updateFocusedItem, onItemInvoked: this.handleItemInvoked, onKeyDown: this.handleMenuKeydown, managedClasses: {\n listbox: autoSuggest_menu,\n listbox__disabled: autoSuggest__disabled,\n } }, this.renderChildren()));\n }\n renderChildren(alternateChildren) {\n const children = isNil(alternateChildren)\n ? this.props.children\n : alternateChildren;\n if (this.props.filterSuggestions) {\n return React.Children.map(children, (node) => {\n if (!isNil(node.props)) {\n if (node.props[AutoSuggest.valuePropertyKey] === undefined) {\n return node;\n }\n return this.isMatch(node.props) ? node : null;\n }\n });\n }\n else {\n return children;\n }\n }\n /**\n * Determine if a single node is a match\n */\n isMatch(node) {\n if (!isNil(this.storedValueString)) {\n return node.value\n .toLowerCase()\n .includes(this.storedValueString.toLowerCase());\n }\n }\n}\nAutoSuggest.displayName = `${DisplayNamePrefix}AutoSuggest`;\nAutoSuggest.defaultProps = {\n initialValue: \"\",\n disabled: false,\n placeholder: \"\",\n managedClasses: {},\n filterSuggestions: false,\n};\nAutoSuggest.valuePropertyKey = \"value\";\nexport default AutoSuggest;\nexport * from \"./auto-suggest.props\";\nexport { AutoSuggestContext };\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, keyCodeArrowDown, keyCodeArrowLeft, keyCodeArrowRight, keyCodeArrowUp, keyCodeEnd, keyCodeEnter, keyCodeEscape, keyCodeHome, keyCodeSpace, keyCodeTab, startsWith, } from \"@microsoft/fast-web-utilities\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { inRange, isEqual, isNil } from \"lodash-es\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { ListboxContext } from \"./listbox-context\";\nclass Listbox extends Foundation {\n constructor(props) {\n super(props);\n this.handledProps = {\n children: void 0,\n defaultSelection: void 0,\n disabled: void 0,\n labelledBy: void 0,\n managedClasses: void 0,\n multiselectable: void 0,\n onItemInvoked: void 0,\n onSelectedItemsChanged: void 0,\n selectedItems: void 0,\n typeAheadEnabled: void 0,\n typeAheadPropertyKey: void 0,\n focusItemOnMount: void 0,\n selectOnFocus: void 0,\n };\n this.rootElement = React.createRef();\n this.typeAheadString = \"\";\n this.shiftRangeSelectStartIndex = -1;\n /**\n * Render a single child\n */\n this.renderChild = (child, index) => {\n return React.cloneElement(child, {\n tabIndex: index === this.state.focusIndex ? 0 : -1,\n });\n };\n /**\n * Determines if a given element should be focusable by the menu\n */\n this.isFocusableElement = (element) => {\n return (element instanceof HTMLElement &&\n element.getAttribute(\"role\") === \"option\" &&\n !this.isDisabledElement(element) &&\n !this.props.disabled);\n };\n /**\n * Determines if a given element is disabled\n */\n this.isDisabledElement = (element) => {\n return (element instanceof HTMLElement &&\n element.getAttribute(\"aria-disabled\") === \"true\");\n };\n /**\n * sets focus state and selection when component is initially mounted\n * or children have changed and invalidated focus\n */\n this.setInitialFocus = (selection, isInitialMount) => {\n let focusIndex = -1;\n for (let i = 0; i < selection.length; i++) {\n focusIndex = Listbox.getItemIndexById(selection[i].id, this.props.children);\n }\n if (focusIndex === -1) {\n focusIndex = this.domChildren().findIndex(this.isFocusableElement);\n }\n if (this.props.focusItemOnMount && isInitialMount && focusIndex !== -1) {\n this.setFocus(focusIndex, +1);\n return;\n }\n this.setState({\n focusIndex,\n });\n };\n /**\n * gets the initial selection state based on props\n */\n this.getInitialSelection = () => {\n let initialSelection;\n if (this.props.selectedItems !== undefined) {\n initialSelection = Listbox.getListboxItemDataFromIds(this.props.selectedItems, this.props.children);\n }\n else {\n initialSelection = Listbox.getListboxItemDataFromIds(this.props.defaultSelection, this.props.children);\n }\n if (!this.props.multiselectable && initialSelection.length > 1) {\n initialSelection = initialSelection.slice(0, 1);\n }\n return initialSelection;\n };\n /**\n * Function called by child select options when they have been focused\n */\n this.listboxItemfocused = (item, event) => {\n if (this.props.disabled) {\n return;\n }\n const target = event.currentTarget;\n const focusIndex = this.domChildren().indexOf(target);\n if (this.isDisabledElement(target)) {\n target.blur();\n return;\n }\n this.setState({\n focusIndex,\n focussedItemId: item.id,\n });\n if (!this.props.multiselectable && this.props.selectOnFocus) {\n this.updateSelection([item]);\n }\n };\n /**\n * Handle the keydown event of the root menu\n */\n this.handleMenuKeyDown = (event) => {\n if (typeof this.props.onKeyDown === \"function\") {\n this.props.onKeyDown(event);\n }\n if (event.defaultPrevented || this.props.disabled) {\n return;\n }\n let focusItemId;\n switch (event.keyCode) {\n case keyCodeEscape:\n case keyCodeEnter:\n case keyCodeSpace:\n case keyCodeTab:\n return;\n case keyCodeArrowDown:\n case keyCodeArrowRight:\n focusItemId = this.setFocus(this.state.focusIndex + 1, 1);\n if (this.props.multiselectable && event.shiftKey && focusItemId !== \"\") {\n const itemProps = Listbox.getItemPropsById(focusItemId, this.props.children);\n if (itemProps !== null) {\n this.toggleItem(itemProps);\n }\n }\n event.preventDefault();\n break;\n case keyCodeArrowUp:\n case keyCodeArrowLeft:\n focusItemId = this.setFocus(this.state.focusIndex - 1, -1);\n if (this.props.multiselectable && event.shiftKey && focusItemId !== \"\") {\n const itemData = Listbox.getItemPropsById(focusItemId, this.props.children);\n if (itemData !== null) {\n this.toggleItem(itemData);\n }\n }\n event.preventDefault();\n break;\n case keyCodeEnd:\n if (this.props.multiselectable && event.shiftKey && event.ctrlKey) {\n this.selectRange(this.state.focusIndex, this.domChildren().length - 1);\n }\n this.setFocus(this.domChildren().length - 1, -1);\n break;\n case keyCodeHome:\n if (this.props.multiselectable && event.shiftKey && event.ctrlKey) {\n this.selectRange(0, this.state.focusIndex);\n }\n this.setFocus(0, 1);\n break;\n default:\n if (event.key === \"A\") {\n this.selectRange(0, this.domChildren().length);\n }\n else if (!event.ctrlKey && this.props.typeAheadEnabled) {\n this.processTypeAhead(event);\n }\n }\n };\n /**\n * Sets focus based on characters typed\n */\n this.processTypeAhead = (e) => {\n clearTimeout(this.typeAheadTimer);\n this.typeAheadString = this.typeAheadString + e.key.toLowerCase();\n let matchIndex = -1;\n const children = React.Children.toArray(this.props.children);\n children.some((child, index) => {\n if (child.props[this.props.typeAheadPropertyKey] === undefined) {\n return false;\n }\n if (startsWith(child.props[this.props.typeAheadPropertyKey].toLowerCase(), this.typeAheadString)) {\n matchIndex = index;\n return true;\n }\n });\n if (matchIndex !== -1) {\n this.typeAheadTimer = setTimeout(() => {\n this.typeAheadTimerExpired();\n }, 1000);\n this.setFocus(matchIndex, 1);\n }\n else {\n this.typeAheadString = \"\";\n }\n };\n /**\n * clears the type ahead buffer after specified time of no typing\n */\n this.typeAheadTimerExpired = () => {\n this.typeAheadString = \"\";\n clearTimeout(this.typeAheadTimer);\n };\n /**\n * Function called by child items when they have been invoked\n */\n this.listboxItemInvoked = (item, event) => {\n if (this.props.disabled) {\n return;\n }\n if (typeof this.props.onItemInvoked === \"function\") {\n this.props.onItemInvoked(item);\n }\n const target = event.currentTarget;\n const itemIndex = this.domChildren().indexOf(target);\n if (this.props.multiselectable && event.type === \"click\") {\n if (!event.shiftKey || this.shiftRangeSelectStartIndex === -1) {\n this.shiftRangeSelectStartIndex = itemIndex;\n }\n if (event.ctrlKey) {\n this.toggleItem(item);\n }\n else if (event.shiftKey) {\n this.selectRange(this.shiftRangeSelectStartIndex, itemIndex);\n }\n else {\n this.updateSelection([item]);\n }\n }\n else if (this.props.multiselectable && event.type === \"keydown\") {\n if (event.shiftKey) {\n this.selectRange(this.shiftRangeSelectStartIndex, itemIndex);\n }\n else {\n this.toggleItem(item);\n }\n }\n else {\n this.updateSelection([item]);\n }\n };\n /**\n * Toggle the selection state of the item\n */\n this.toggleItem = (item) => {\n const culledSelection = this.state.selectedItems.filter((listboxItem) => {\n return listboxItem.id !== item.id;\n });\n if (culledSelection.length < this.state.selectedItems.length) {\n this.updateSelection(culledSelection);\n }\n else {\n const newSelectedItems = this.state.selectedItems.concat([\n item,\n ]);\n this.updateSelection(newSelectedItems);\n }\n };\n /**\n * Select a range of items\n */\n this.selectRange = (startIndex, endIndex) => {\n const children = React.Children.toArray(this.props.children);\n const childrenInRange = children.slice(startIndex >= endIndex ? endIndex : startIndex, startIndex >= endIndex ? startIndex + 1 : endIndex + 1);\n const newSelectedItems = childrenInRange.map((child) => {\n return child.props;\n });\n this.updateSelection(newSelectedItems);\n };\n /**\n * Updates selection state (should be the only place this is done outside of initialization)\n */\n this.updateSelection = (newSelection) => {\n const validatedSelection = Listbox.validateSelection(newSelection, this.props.children);\n if (isEqual(validatedSelection, this.state.selectedItems)) {\n return validatedSelection;\n }\n if (this.props.selectedItems === undefined) {\n this.setState({\n selectedItems: validatedSelection,\n });\n }\n if (this.props.onSelectedItemsChanged) {\n this.props.onSelectedItemsChanged(validatedSelection);\n }\n return validatedSelection;\n };\n this.state = {\n focusIndex: -1,\n focussedItemId: \"\",\n selectedItems: this.getInitialSelection(),\n };\n }\n /**\n * converts an array of item id's to an array of ListboxItemProps objects populated by data\n * extracted from the provided children based on id match\n */\n static getListboxItemDataFromIds(selectedIds, children) {\n const selectedItems = Listbox.validateSelection(selectedIds, children);\n return selectedItems;\n }\n /**\n * Gets the index of an item from it's id by examining children props\n */\n static getItemIndexById(itemId, children) {\n const childrenAsArray = React.Children.toArray(children);\n return childrenAsArray.findIndex((child) => {\n if (child.props[Listbox.idPropertyKey] === undefined ||\n child.props[Listbox.idPropertyKey] !== itemId) {\n return false;\n }\n return true;\n });\n }\n /**\n * tests whether a React.ReactElement is a valid item to select\n * (ie. such an option id exists and the option is not disabled),\n * the values of the returned data objects are updated to reflect values of child object\n * with matching id.\n */\n static isValidSelectedItem(itemNode) {\n if (itemNode === undefined ||\n itemNode.props[Listbox.disabledPropertyKey] === true ||\n itemNode.props[Listbox.valuePropertyKey] === undefined) {\n return false;\n }\n return true;\n }\n /**\n * Gets a child node from it's id by examining provided children\n */\n static getNodeById(itemId, children) {\n const childrenAsArray = React.Children.toArray(children);\n const matchNode = childrenAsArray.find((child) => {\n if (child.props[Listbox.idPropertyKey] === undefined ||\n child.props[Listbox.idPropertyKey] !== itemId) {\n return false;\n }\n return true;\n });\n return matchNode;\n }\n /**\n * Gets the listItemData of an item from it's id by examining children props\n */\n static getItemPropsById(itemId, children) {\n const matchNode = this.getNodeById(itemId, children);\n if (matchNode !== undefined) {\n return matchNode.props;\n }\n return null;\n }\n /**\n * validates selected options against child props and returns only the valid ones\n * (ie. such an option id exists and the option is not disabled),\n * the values of the returned data objects are updated to reflect values of child object\n * with matching id.\n */\n static validateSelection(items, children) {\n const validSelection = items\n .map((item) => {\n let itemId = \"\";\n if (typeof item === \"string\") {\n itemId = item;\n }\n else {\n itemId = item.id;\n }\n const itemNode = this.getNodeById(itemId, children);\n if (!Listbox.isValidSelectedItem(itemNode)) {\n return null;\n }\n return itemNode.props;\n })\n .filter((listboxItem) => {\n return listboxItem !== null;\n });\n return validSelection;\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { ref: this.rootElement, role: \"listbox\", \"aria-disabled\": this.props.disabled || null, \"aria-multiselectable\": this.props.multiselectable || null, \"aria-activedescendant\": this.state.focussedItemId, \"aria-labelledby\": this.props.labelledBy || null, className: this.generateClassNames(), onKeyDown: this.handleMenuKeyDown }),\n React.createElement(ListboxContext.Provider, { value: {\n listboxSelectedItems: this.state.selectedItems,\n listboxItemFocused: this.listboxItemfocused,\n listboxItemInvoked: this.listboxItemInvoked,\n listboxMultiselectable: this.props.multiselectable,\n } }, this.renderChildren())));\n }\n componentDidUpdate(prevProps) {\n let currentSelection = null;\n // if default selection changes between renders we treat as a effective reset\n // of selection in uncontrolled mode\n if (!isEqual(prevProps.defaultSelection, this.props.defaultSelection) &&\n this.props.selectedItems === undefined) {\n currentSelection = this.updateSelection(this.getInitialSelection());\n }\n if (prevProps.children !== this.props.children) {\n // if we just got a new selection from props use that\n // otherwise revalidate old selection against new children\n currentSelection =\n currentSelection === null\n ? this.updateSelection(this.state.selectedItems.slice(0))\n : currentSelection;\n // ensure we have a valid focus index, if not get one\n const children = this.domChildren();\n if (!isNil(this.rootElement.current) &&\n this.rootElement.current.contains(document.activeElement)) {\n // stick with the current focus is we have one\n this.setState({\n focusIndex: children.indexOf(document.activeElement),\n });\n return;\n }\n if (children.length <= this.state.focusIndex ||\n !this.isFocusableElement(children[this.state.focusIndex])) {\n this.setInitialFocus(currentSelection, false);\n }\n }\n }\n componentDidMount() {\n this.setInitialFocus(this.state.selectedItems, true);\n }\n componentWillUnmount() {\n clearTimeout(this.typeAheadTimer);\n }\n /**\n * Create class names\n */\n generateClassNames() {\n const { listbox, listbox__disabled, } = this.props.managedClasses;\n return super.generateClassNames(classNames(listbox, [listbox__disabled, this.props.disabled]));\n }\n /**\n * Render all child elements\n */\n renderChildren() {\n return React.Children.map(this.props.children, this.renderChild);\n }\n /**\n * Return an array of all focusabled elements that are children\n * of the context menu\n */\n domChildren() {\n return canUseDOM() && this.rootElement.current instanceof HTMLElement\n ? Array.from(this.rootElement.current.children)\n : [];\n }\n /**\n * Sets focus to the nearest focusable element to the supplied focusIndex.\n * The adjustment controls how the function searches for other focusable elements\n * if the element at the focusIndex is not focusable. A positive number will search\n * towards the end of the children array, whereas a negative number will search towards\n * the beginning of the children array. Returns the focussed item id or an empty string\n * if none found\n */\n setFocus(focusIndex, adjustment) {\n const children = this.domChildren();\n let focusItemId = \"\";\n while (inRange(focusIndex, children.length)) {\n const child = children[focusIndex];\n focusItemId = child.id;\n if (this.isFocusableElement(child)) {\n if (!this.props.disabled) {\n child.focus();\n }\n break;\n }\n focusIndex += adjustment;\n }\n return focusItemId;\n }\n}\nListbox.displayName = `${DisplayNamePrefix}Listbox`;\nListbox.defaultProps = {\n multiselectable: false,\n defaultSelection: [],\n typeAheadPropertyKey: \"displayString\",\n typeAheadEnabled: true,\n focusItemOnMount: false,\n managedClasses: {},\n selectOnFocus: true,\n};\n/**\n * returns the first selectable item in the provided array of children\n */\nListbox.getFirstValidOptionInRange = (startIndex, endIndex, childrenAsArray, increment) => {\n for (let i = startIndex; i !== endIndex + increment; i = i + increment) {\n const thisOption = childrenAsArray[i];\n if (Listbox.isValidSelectedItem(thisOption)) {\n return thisOption;\n }\n return null;\n }\n};\n/**\n * returns all the selectable items in the provided array of children\n */\nListbox.getValidOptions = (childrenAsArray) => {\n return childrenAsArray.filter((itemNode) => {\n return Listbox.isValidSelectedItem(itemNode);\n });\n};\nListbox.valuePropertyKey = \"value\";\nListbox.idPropertyKey = \"id\";\nListbox.disabledPropertyKey = \"disabled\";\nexport default Listbox;\nexport * from \"./listbox.props\";\nexport { ListboxContext };\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass Badge extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"span\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() }), this.props.children));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.badge));\n }\n}\nBadge.displayName = `${DisplayNamePrefix}Badge`;\nBadge.defaultProps = {\n managedClasses: {},\n};\nexport default Badge;\nexport * from \"./badge.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass Breadcrumb extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n children: void 0,\n label: void 0,\n separator: void 0,\n managedClasses: void 0,\n };\n /**\n * Render a single child\n */\n this.renderChild = (child, index) => {\n const childCount = React.Children.count(this.props.children);\n let augmentedChild = child;\n const isLastItem = childCount - 1 === index;\n if (this.isClonableElement(child)) {\n const props = {\n className: classNames(child.props && child.props.className, this.generateItemClassNames(), [this.generateCurrentItemClassNames(), isLastItem]),\n \"aria-current\": isLastItem ? \"page\" : undefined,\n };\n augmentedChild = React.cloneElement(child, props);\n }\n return (React.createElement(\"li\", null,\n augmentedChild,\n typeof this.props.separator === \"function\" && !isLastItem\n ? this.props.separator(this.generateSeparatorClassNames())\n : null));\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"nav\", Object.assign({}, this.unhandledProps(), { \"aria-label\": this.props.label || null, className: this.generateClassNames() }),\n React.createElement(\"ol\", { className: this.generateItemsContainerClassNames() }, this.renderChildren())));\n }\n /**\n * Create class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.breadcrumb));\n }\n /**\n * Create items container class names\n */\n generateItemsContainerClassNames() {\n return classNames(this.props.managedClasses.breadcrumb_itemsContainer);\n }\n /**\n * Create item class names\n */\n generateItemClassNames() {\n return classNames(this.props.managedClasses.breadcrumb_item);\n }\n /**\n * Create current item class names\n */\n generateCurrentItemClassNames() {\n return classNames(this.props.managedClasses.breadcrumb_item__current);\n }\n /**\n * Create separator class names\n */\n generateSeparatorClassNames() {\n return classNames(this.props.managedClasses.breadcrumb_separator);\n }\n /**\n * Render all child elements\n */\n renderChildren() {\n return React.Children.map(this.props.children, this.renderChild);\n }\n isClonableElement(node) {\n return React.isValidElement(node);\n }\n}\nBreadcrumb.displayName = `${DisplayNamePrefix}Breadcrumb`;\nBreadcrumb.defaultProps = {\n managedClasses: {},\n};\nexport default Breadcrumb;\nexport * from \"./breadcrumb.props\";\n","import React from \"react\";\nimport { isNil } from \"lodash-es\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, Direction, KeyCodes } from \"@microsoft/fast-web-utilities\";\nimport throttle from \"raf-throttle\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport StackPanel from \"../stack-panel\";\nimport DataGridRow from \"./data-grid-row\";\nimport { DataGridContext } from \"./data-grid-context\";\nclass DataGrid extends Foundation {\n /**\n * constructor\n */\n constructor(props) {\n super(props);\n this.handledProps = {\n dataRowKey: void 0,\n rows: void 0,\n columns: void 0,\n rowHeight: void 0,\n rowHeightCallback: void 0,\n managedClasses: void 0,\n defaultFocusColumnKey: void 0,\n defaultFocusRowKey: void 0,\n stableRangeEndIndex: void 0,\n pageSize: void 0,\n virtualize: void 0,\n };\n this.currentTemplateColumns = \"\";\n this.rootElement = React.createRef();\n this.nonVirtualizedScrollContainer = React.createRef();\n this.direction = Direction.ltr;\n this.isFocused = false;\n this.lastReportedScrollPosition = 0;\n this.lastReportedViewportSpan = 0;\n /**\n * Updates focus row related state after an update\n */\n this.validateFocusRowState = (newState) => {\n const newFocusRowIndex = this.getRowIndexByKey(newState.focusRowKey);\n if (newFocusRowIndex === -1) {\n // our focus row no longer exists, assign a new one based on previous focus row index\n newState.focusRowIndex = Math.min(Math.max(newState.focusRowIndex, 0), this.props.rows.length - 1);\n newState.focusRowKey = this.props.rows[newState.focusRowIndex][this.props.dataRowKey];\n }\n else {\n newState.focusRowIndex = newFocusRowIndex;\n }\n return newState;\n };\n /**\n * Applies changes to focus row and focus column props to the provided state object\n */\n this.applyUpdatedFocusProps = (newState, prevProps) => {\n let shouldUpdateState = false;\n // apply a new focus columnkey if one is provided and it exists\n if (this.props.defaultFocusColumnKey !== prevProps.defaultFocusColumnKey &&\n !isNil(this.props.defaultFocusColumnKey) &&\n this.getColumnIndexByKey(this.props.defaultFocusColumnKey, newState.columns) !== -1) {\n newState.focusColumnKey = this.props.defaultFocusColumnKey;\n shouldUpdateState = true;\n }\n // apply a new focus rowkey if one is provided and it exists\n if (this.props.defaultFocusRowKey !== prevProps.defaultFocusRowKey &&\n !isNil(this.props.defaultFocusRowKey)) {\n const newFocusRowIndex = this.getRowIndexByKey(this.props.defaultFocusRowKey);\n if (newFocusRowIndex !== -1) {\n newState.focusRowKey = this.props.defaultFocusRowKey;\n newState.desiredVisibleRowIndex = newFocusRowIndex;\n newState.focusRowIndex = newFocusRowIndex;\n newState.currentDataPageStartIndex = Math.max(0, newFocusRowIndex - Math.floor(this.props.pageSize / 2));\n newState.currentDataPageEndIndex = Math.min(newState.currentDataPageStartIndex + this.props.pageSize, this.props.rows.length - 1);\n shouldUpdateState = true;\n }\n }\n return shouldUpdateState;\n };\n /**\n * Gets the initial state of the component based on virtualizion prop\n * also used when prop is changed during component lifetime\n */\n this.applyInitialState = () => {\n const newState = this.applyInitialFocusState(this.getInitialStateObject());\n return this.props.virtualize\n ? this.applyVirtualizedInitialState(newState)\n : this.applyNonVirtualizedInitialState(newState);\n };\n /**\n * Gets the virtualized mode initial state\n * also used when prop is changed during component lifetime\n */\n this.applyVirtualizedInitialState = (newState) => {\n this.componentDidUpdate = this.virtualizedComponentUpdateHandler;\n this.renderPanel = this.renderVirtualizingPanel;\n if (this.props.rows.length > 0) {\n if (!isNil(this.props.defaultFocusRowKey)) {\n newState.focusRowKey = this.props.defaultFocusRowKey;\n newState.focusRowIndex = this.getRowIndexByKey(newState.focusRowKey);\n }\n if (newState.focusRowIndex === -1) {\n newState.focusRowIndex = 0;\n newState.focusRowKey = this.props.rows[0][this.props.dataRowKey];\n }\n newState.currentDataPageStartIndex = Math.max(0, newState.focusRowIndex - Math.floor(this.props.pageSize / 2));\n newState.currentDataPageEndIndex = Math.min(this.props.rows.length - 1, newState.currentDataPageStartIndex + this.props.pageSize);\n this.sizeRowsToIndex(newState.currentDataPageEndIndex, newState.rowPositions);\n newState.estimatedTotalHeight = this.getEstimatedTotalHeight(newState.rowPositions);\n }\n return newState;\n };\n /**\n * Gets the non-virtualized mode initial state\n * also used when prop is changed during component lifetime\n */\n this.applyNonVirtualizedInitialState = (newState) => {\n this.componentDidUpdate = this.nonVirtualizedComponentUpdateHandler;\n this.renderPanel = this.renderNonVirtualizingPanel;\n newState.currentDataPageStartIndex = this.props.rows.length > 0 ? 0 : -1;\n newState.currentDataPageEndIndex =\n this.props.rows.length > 0 ? this.props.rows.length - 1 : -1;\n newState.rowPositions = [];\n newState.estimatedTotalHeight = 0;\n return newState;\n };\n /**\n * sets initial/reset focus rows\n */\n this.applyInitialFocusState = (newState) => {\n if (!isNil(this.props.defaultFocusRowKey)) {\n newState.focusRowKey = this.props.defaultFocusRowKey;\n newState.focusRowIndex = this.getRowIndexByKey(newState.focusRowKey);\n }\n if (newState.focusRowIndex === -1 && this.props.rows.length > 0) {\n newState.focusRowIndex = 0;\n newState.focusRowKey = this.props.rows[0][this.props.dataRowKey];\n }\n if (newState.columns.length > 0) {\n newState.focusColumnKey =\n !isNil(this.props.defaultFocusColumnKey) &&\n this.getColumnIndexByKey(this.props.defaultFocusColumnKey, newState.columns) !== -1\n ? this.props.defaultFocusColumnKey\n : newState.columns[0].columnDataKey;\n }\n newState.desiredVisibleRowIndex = newState.focusRowIndex;\n return newState;\n };\n /**\n * render the header\n */\n this.renderGridHeader = () => {\n return (React.createElement(\"div\", { className: this.props.managedClasses.dataGrid_header, role: \"row\", style: {\n display: \"grid\",\n gridTemplateColumns: this.currentTemplateColumns,\n } }, this.state.columns.map(this.renderColumnHeader)));\n };\n /**\n * placeholder function until assignement based on virtualization mode\n */\n this.renderPanel = () => {\n return null;\n };\n /**\n * render a non-virtualizing panel\n */\n this.renderNonVirtualizingPanel = () => {\n return (React.createElement(\"div\", { ref: this.nonVirtualizedScrollContainer, tabIndex: -1, className: this.props.managedClasses.dataGrid_scrollingPanel }, this.renderNonVirtualizedRows()));\n };\n /**\n * render non virtualized data rows\n */\n this.renderNonVirtualizedRows = () => {\n const rowsToRender = [];\n this.props.rows.forEach((row, index) => {\n rowsToRender.push(this.renderRow(row, index));\n });\n return rowsToRender;\n };\n /**\n * render a virtualizing panel\n */\n this.renderVirtualizingPanel = () => {\n const itemSpans = [];\n if (this.state.rowPositions.length > 0) {\n itemSpans.push(this.state.rowPositions[this.state.currentDataPageStartIndex].start);\n if (typeof this.props.rowHeightCallback === \"function\") {\n for (let i = this.state.currentDataPageStartIndex; i <= this.state.currentDataPageEndIndex; i++) {\n itemSpans.push(this.state.rowPositions[i].span);\n }\n }\n itemSpans.push(this.state.estimatedTotalHeight -\n this.state.rowPositions[this.state.currentDataPageEndIndex].end);\n }\n const stackPanelVisibleItemIndex = this.state.desiredVisibleRowIndex !== null\n ? this.convertRowIndexToStackPanelIndex(this.state.desiredVisibleRowIndex, this.state.currentDataPageStartIndex, this.state.currentDataPageEndIndex)\n : null;\n const { dataGrid_scrollingPanel, dataGrid_scrollingPanelItems, dataGrid_scrollingPanel__scrollable, } = this.props.managedClasses;\n return (React.createElement(StackPanel, { initiallyVisibleItemIndex: stackPanelVisibleItemIndex, onScrollChange: this.throttledScroll, itemSpan: itemSpans, virtualize: this.props.virtualize, tabIndex: -1, style: {\n height: \"100%\",\n overflowY: \"scroll\",\n }, managedClasses: {\n stackPanel: dataGrid_scrollingPanel,\n stackPanel_items: dataGrid_scrollingPanelItems,\n stackPanel__scrollable: dataGrid_scrollingPanel__scrollable,\n } }, this.renderVirtualizedRows()));\n };\n /**\n * render the data rows\n */\n this.renderVirtualizedRows = () => {\n const rowsToRender = [];\n rowsToRender.push(React.createElement(\"div\", { key: \"frontSpacer\" }));\n for (let i = this.state.currentDataPageStartIndex; i <= this.state.currentDataPageEndIndex; i++) {\n rowsToRender.push(this.renderRow(this.props.rows[i], i));\n }\n rowsToRender.push(React.createElement(\"div\", { key: \"backSpacer\" }));\n return rowsToRender;\n };\n /**\n * render each column header\n */\n this.renderColumnHeader = (column, index) => {\n const { dataGrid_columnHeader, } = this.props.managedClasses;\n const config = {\n title: isNil(column.title) ? column.columnDataKey : column.title,\n key: column.columnDataKey,\n columnIndex: index,\n classNames: dataGrid_columnHeader,\n };\n if (!isNil(column.header)) {\n return column.header(config);\n }\n else {\n return DataGrid.renderColumnHeader(config);\n }\n };\n /**\n * Render a single data row\n */\n this.renderRow = (rowData, index) => {\n if (isNil(rowData)) {\n return;\n }\n const rowKey = !isNil(rowData[this.props.dataRowKey])\n ? rowData[this.props.dataRowKey]\n : index;\n const { dataGrid_row, dataGrid_row__focusedWithin, dataGrid_cell, } = this.props.managedClasses;\n return (React.createElement(DataGridRow, { key: rowKey, rowIndex: index, rowData: rowData, gridTemplateColumns: this.currentTemplateColumns, managedClasses: {\n dataGridRow: dataGrid_row,\n dataGridRow__focusedWithin: dataGrid_row__focusedWithin,\n dataGridRow_cell: dataGrid_cell,\n } }));\n };\n /**\n * Generates the grid template column css string\n */\n this.getGridTemplateColumns = () => {\n let templateColumns = \"\";\n this.state.columns.forEach((column) => {\n templateColumns = `${templateColumns} ${isNil(column.columnWidth) ? \"1fr\" : column.columnWidth}`;\n });\n return templateColumns;\n };\n /**\n * Handle grid focus\n */\n this.handleGridFocus = () => {\n this.isFocused = true;\n };\n /**\n * Handle grid blur by setting focused state\n */\n this.handleGridBlur = (e) => {\n const root = this.rootElement.current;\n // If we focus outside of the data grid\n if (!!root && !root.contains(e.relatedTarget)) {\n this.isFocused = false;\n }\n };\n /**\n * Handle the keydown event of the item\n */\n this.handleCellKeyDown = (cell, e) => {\n if (e.defaultPrevented) {\n return;\n }\n switch (e.keyCode) {\n case KeyCodes.arrowDown:\n e.preventDefault();\n this.incrementFocusRow(1);\n break;\n case KeyCodes.arrowRight:\n this.incrementFocusColumn(1);\n e.preventDefault();\n break;\n case KeyCodes.arrowUp:\n this.incrementFocusRow(-1);\n e.preventDefault();\n break;\n case KeyCodes.arrowLeft:\n this.incrementFocusColumn(-1);\n e.preventDefault();\n break;\n case KeyCodes.pageDown:\n this.incrementFocusPage(1);\n e.preventDefault();\n break;\n case KeyCodes.pageUp:\n this.incrementFocusPage(-1);\n e.preventDefault();\n break;\n case KeyCodes.home:\n if (e.ctrlKey) {\n this.incrementFocusRow(-this.props.rows.length);\n }\n else {\n this.incrementFocusColumn(-this.state.columns.length);\n }\n e.preventDefault();\n break;\n case KeyCodes.end:\n if (e.ctrlKey) {\n this.incrementFocusRow(this.props.rows.length);\n }\n else {\n this.incrementFocusColumn(this.state.columns.length);\n }\n e.preventDefault();\n break;\n }\n };\n /**\n * get the estimated total height of the datagrid based on row heights calculated so far\n */\n this.getEstimatedTotalHeight = (rowPositions) => {\n if (rowPositions.length === 0) {\n return 0;\n }\n const estimatedTotalHeight = rowPositions[rowPositions.length - 1].end +\n (this.props.rows.length - rowPositions.length) * this.props.rowHeight;\n return estimatedTotalHeight;\n };\n /**\n * calculate total height of rows to target index\n * note: this modifies the provided rowposition array directly\n */\n this.sizeRowsToIndex = (targetIndex, rowPositions) => {\n if (rowPositions.length - 1 < targetIndex) {\n const startIndex = rowPositions.length;\n const endIndex = targetIndex > this.props.rows.length - 1\n ? this.props.rows.length - 1\n : targetIndex;\n for (let i = startIndex; i <= endIndex; i++) {\n const thisRowStart = i === 0 ? 0 : rowPositions[i - 1].end;\n const thisRowHeight = this.props.rowHeightCallback({\n rowData: this.props.rows[i],\n rowIndex: i,\n defaultRowHeight: this.props.rowHeight,\n });\n rowPositions.push({\n start: thisRowStart,\n span: thisRowHeight,\n end: thisRowStart + thisRowHeight,\n });\n }\n }\n };\n /**\n * size rows to target scroll value\n * appends rowposition data until the bottom of the last item\n * is greater than target scroll value.\n * note: this modifies the provided rowposition array directly\n */\n this.sizeRowsToScrollValue = (targetScrollValue, rowPositions) => {\n if (rowPositions[rowPositions.length - 1].end < targetScrollValue) {\n const startIndex = rowPositions.length;\n const endIndex = this.props.rows.length - 1;\n for (let i = startIndex; i <= endIndex; i++) {\n const thisRowStart = i === 0 ? 0 : rowPositions[i - 1].end;\n const thisRowHeight = this.props.rowHeightCallback({\n rowData: this.props.rows[i],\n rowIndex: i,\n defaultRowHeight: this.props.rowHeight,\n });\n const thisRowEnd = thisRowStart + thisRowHeight;\n rowPositions.push({\n start: thisRowStart,\n span: thisRowHeight,\n end: thisRowEnd,\n });\n if (thisRowEnd >= targetScrollValue) {\n break;\n }\n }\n }\n };\n /**\n * handle scroll events from the stackpanel\n */\n this.handleStackPanelScrollChange = (newScrollValue, scrollMaxValue, viewportSpan) => {\n const currentPageTop = this.state.rowPositions[this.state.currentDataPageStartIndex].start;\n const currentPageBottom = this.state.rowPositions[this.state.currentDataPageEndIndex].end;\n const currentViewportBottom = newScrollValue + viewportSpan;\n this.lastReportedScrollPosition = newScrollValue;\n this.lastReportedViewportSpan = viewportSpan;\n if (this.state.rowPositions[this.state.focusRowIndex].start >\n currentViewportBottom ||\n this.state.rowPositions[this.state.focusRowIndex].end < newScrollValue) {\n const topVisibleElementIndex = this.getIndexOfRowAtScrollPosition(newScrollValue, this.state.rowPositions);\n if (topVisibleElementIndex === -1) {\n this.setState({\n focusRowKey: \"\",\n });\n }\n else {\n this.setState({\n focusRowKey: this.props.rows[topVisibleElementIndex][this.props.dataRowKey],\n });\n }\n }\n if (newScrollValue < currentPageTop ||\n currentViewportBottom > currentPageBottom) {\n const newRowPositions = this.state.rowPositions.slice(0);\n const middleViewportPosition = Math.floor(newScrollValue + viewportSpan / 2);\n const middleItemIndex = this.getIndexOfRowAtScrollPosition(middleViewportPosition, newRowPositions);\n let newDataPageStartIndex = middleItemIndex - Math.floor(this.props.pageSize / 2);\n if (newDataPageStartIndex < 0) {\n newDataPageStartIndex = 0;\n }\n let newDataPageEndIndex = newDataPageStartIndex + this.props.pageSize - 1;\n if (newDataPageEndIndex > this.props.rows.length - 1) {\n newDataPageEndIndex = this.props.rows.length - 1;\n }\n this.sizeRowsToIndex(newDataPageEndIndex, newRowPositions);\n this.setState({\n currentDataPageStartIndex: newDataPageStartIndex,\n currentDataPageEndIndex: newDataPageEndIndex,\n rowPositions: newRowPositions,\n estimatedTotalHeight: this.getEstimatedTotalHeight(newRowPositions),\n });\n }\n };\n /**\n * returns the index of row item at a particular scroll position\n */\n this.getIndexOfRowAtScrollPosition = (scrollPosition, rowPositions) => {\n // handle virtualizing display\n if (this.props.virtualize) {\n if (rowPositions.length === 0) {\n return -1;\n }\n scrollPosition = Math.max(0, scrollPosition);\n this.sizeRowsToScrollValue(scrollPosition, rowPositions);\n const maxIndex = Math.min(rowPositions.length - 1);\n const estimatedItemIndex = Math.min(maxIndex, Math.floor(scrollPosition / this.props.rowHeight));\n if (scrollPosition < rowPositions[estimatedItemIndex].start) {\n for (let i = estimatedItemIndex; i >= 0; i--) {\n if (rowPositions[i].start < scrollPosition) {\n return i;\n }\n }\n return 0;\n }\n else if (scrollPosition > rowPositions[estimatedItemIndex].end) {\n let maxRowpositionSizedIndex = rowPositions.length - 1;\n for (let i = estimatedItemIndex; i <= maxIndex; i++) {\n if (i > maxRowpositionSizedIndex) {\n this.sizeRowsToIndex(i, rowPositions);\n maxRowpositionSizedIndex++;\n }\n if (rowPositions[i].end > scrollPosition) {\n return i;\n }\n }\n return maxIndex;\n }\n return estimatedItemIndex;\n }\n // handle non-virtualizing display\n if (this.nonVirtualizedScrollContainer.current === null) {\n return;\n }\n const rows = this.getRenderedRows();\n const rowCount = rows.length;\n for (let i = 0; i < rowCount; i++) {\n if (rows[i].offsetTop >= scrollPosition) {\n return i;\n }\n }\n return rowCount - 1;\n };\n /**\n * move focus up/down one viewport's worth of items\n */\n this.incrementFocusPage = (direction) => {\n const newRowPositions = this.state.rowPositions.slice(0);\n let nextItemIndex = -1;\n if (this.props.virtualize) {\n const nextItemScrollPosition = direction > 0\n ? this.lastReportedScrollPosition + this.lastReportedViewportSpan + 1\n : this.lastReportedScrollPosition - this.lastReportedViewportSpan + 1;\n nextItemIndex = this.getIndexOfRowAtScrollPosition(nextItemScrollPosition, newRowPositions);\n }\n else if (this.nonVirtualizedScrollContainer.current !== null) {\n const newScrollPosition = Math.min(direction > 0\n ? this.nonVirtualizedScrollContainer.current.scrollTop +\n this.nonVirtualizedScrollContainer.current.clientHeight +\n 1\n : this.nonVirtualizedScrollContainer.current.scrollTop -\n this.nonVirtualizedScrollContainer.current.clientHeight +\n 1, this.nonVirtualizedScrollContainer.current.scrollHeight);\n nextItemIndex = this.getIndexOfRowAtScrollPosition(newScrollPosition, this.state.rowPositions);\n this.scrollNonVirtualizedRowToTop(nextItemIndex);\n }\n // don't get stuck on items that span the viewport\n if (nextItemIndex === this.state.focusRowIndex) {\n if (direction > 0 && nextItemIndex < this.props.rows.length - 1) {\n nextItemIndex++;\n }\n else if (direction < 0 && nextItemIndex > 0) {\n nextItemIndex;\n }\n }\n this.focusOnCell(this.props.rows[nextItemIndex][this.props.dataRowKey], this.state.focusColumnKey, newRowPositions, true);\n };\n /**\n * move focus to another row\n */\n this.incrementFocusRow = (direction) => {\n let currentFocusRowIndex = this.getRowIndexByKey(this.state.focusRowKey);\n if (currentFocusRowIndex === -1) {\n currentFocusRowIndex =\n this.state.focusRowIndex < this.props.rows.length\n ? this.state.focusRowIndex\n : this.props.rows.length - 1;\n }\n let newFocusRowIndex = currentFocusRowIndex + direction;\n if (newFocusRowIndex < 0) {\n newFocusRowIndex = 0;\n }\n else if (newFocusRowIndex >= this.props.rows.length) {\n newFocusRowIndex = this.props.rows.length - 1;\n }\n const newFocusRowKey = this.props.rows[newFocusRowIndex][this.props.dataRowKey];\n const focusRowElement = this.getRowElementByKey(newFocusRowKey);\n const focusCell = this.getCellElementByKey(this.state.focusColumnKey, focusRowElement);\n if (isNil(focusCell)) {\n return;\n }\n focusCell.focus();\n };\n /**\n * move focus to another column\n */\n this.incrementFocusColumn = (direction) => {\n this.updateDirection();\n let currentFocusColumnIndex = this.getColumnIndexByKey(this.state.focusColumnKey, this.state.columns);\n if (currentFocusColumnIndex === -1) {\n currentFocusColumnIndex = 0;\n }\n const newFocusColumnIndex = Math.min(Math.max(currentFocusColumnIndex + direction * (Direction.ltr ? 1 : -1), 0), this.state.columns.length - 1);\n const newFocusColumnKey = this.state.columns[newFocusColumnIndex]\n .columnDataKey;\n const rowElement = this.getRowElementByKey(this.state.focusRowKey);\n if (isNil(rowElement)) {\n return;\n }\n const cellElement = this.getCellElementByKey(newFocusColumnKey, rowElement);\n if (cellElement instanceof HTMLElement) {\n cellElement.focus();\n }\n };\n /**\n * Get all rendered rows\n */\n this.getRenderedRows = () => {\n if (isNil(this.rootElement.current)) {\n return null;\n }\n let rows = Array.from(this.rootElement.current.querySelectorAll(\"[role='row']\"));\n // remove the header row\n if (rows.length > 0) {\n rows = rows.slice(1);\n }\n return rows;\n };\n /**\n * Get row element by key\n */\n this.getRowElementByKey = (rowId) => {\n if (isNil(this.rootElement.current)) {\n return null;\n }\n return this.rootElement.current.querySelector(`[data-rowid=${rowId}]`);\n };\n /**\n * Get cell element by key\n */\n this.getCellElementByKey = (columnKey, rowElement) => {\n if (isNil(rowElement)) {\n return null;\n }\n return rowElement.querySelector(`[data-cellid=${columnKey}]`);\n };\n /**\n * Move focus to a cell in the whole dataset based on row and cell id\n */\n this.focusOnCell = (rowId, cellId, rowPositions, forceScrollRowToTop) => {\n const rowIndex = this.getRowIndexByKey(rowId);\n if (rowIndex === -1) {\n //no such row id\n return;\n }\n if (rowIndex >= this.state.currentDataPageStartIndex &&\n rowIndex <= this.state.currentDataPageEndIndex) {\n // see if the element is in the dom and focus it, otherwise falls back to setting desired focus\n const rowElement = this.getRowElementByKey(rowId);\n if (rowElement !== null) {\n const cellElement = this.getCellElementByKey(cellId, rowElement);\n this.setState({\n desiredVisibleRowIndex: forceScrollRowToTop ? rowIndex : null,\n });\n if (cellElement !== null) {\n cellElement.focus();\n return;\n }\n }\n }\n else {\n // shift the items passed to the stack panel to include the desired row indexes\n let newDataPageStartIndex = rowIndex - Math.floor(this.props.pageSize / 2);\n if (newDataPageStartIndex < 0) {\n newDataPageStartIndex = 0;\n }\n let newDataPageEndIndex = newDataPageStartIndex + this.props.pageSize - 1;\n if (newDataPageEndIndex > this.props.rows.length - 1) {\n newDataPageEndIndex = this.props.rows.length - 1;\n }\n this.sizeRowsToIndex(newDataPageEndIndex, rowPositions);\n this.setState({\n currentDataPageStartIndex: newDataPageStartIndex,\n currentDataPageEndIndex: newDataPageEndIndex,\n rowPositions: rowPositions,\n estimatedTotalHeight: this.getEstimatedTotalHeight(rowPositions),\n });\n }\n this.setState({\n desiredVisibleRowIndex: forceScrollRowToTop ? rowIndex : null,\n desiredFocusRowKey: rowId,\n desiredFocusColumnKey: cellId,\n });\n };\n /**\n * Get column index by key\n */\n this.getColumnIndexByKey = (columnKey, columns) => {\n return columns.findIndex((column) => {\n return column.columnDataKey === columnKey;\n });\n };\n /**\n * Get row index by key\n */\n this.getRowIndexByKey = (rowKey) => {\n const rowIndex = this.props.rows.findIndex((dataRow) => {\n return dataRow[this.props.dataRowKey] === rowKey;\n });\n return rowIndex;\n };\n /**\n * Handle focus event\n */\n this.handleCellFocus = (cell, e) => {\n if (e.defaultPrevented) {\n return;\n }\n const focusRowKey = cell.rowData[this.props.dataRowKey];\n this.setState({\n focusRowKey,\n focusColumnKey: cell.column.columnDataKey,\n focusRowIndex: this.getRowIndexByKey(focusRowKey),\n desiredFocusRowKey: null,\n desiredFocusColumnKey: null,\n });\n };\n /**\n * Updates the direction\n */\n this.updateDirection = () => {\n if (this.rootElement.current === null) {\n return;\n }\n const closest = this.rootElement.current.closest(`[dir]`);\n if (closest === null) {\n this.direction = Direction.ltr;\n return;\n }\n this.direction =\n closest.getAttribute(\"dir\").toLowerCase() === \"rtl\"\n ? Direction.rtl\n : Direction.ltr;\n };\n /**\n * Converts a row index in the base dataset to an index in the current data page\n * passed to the stack panel. Returns -1 if outside that range.\n */\n this.convertRowIndexToStackPanelIndex = (rowIndex, dataPageStartIndex, dataPageEndIndex) => {\n if (rowIndex < dataPageStartIndex || rowIndex > dataPageEndIndex) {\n return -1;\n }\n return rowIndex - dataPageStartIndex + 1;\n };\n /**\n * Scrolls the desired row into view in non-virtualized mode\n */\n this.scrollNonVirtualizedRowToTop = (rowIndex) => {\n if (!this.props.virtualize &&\n !isNil(this.nonVirtualizedScrollContainer.current) &&\n this.props.rows.length > rowIndex &&\n rowIndex > -1) {\n const rows = this.getRenderedRows();\n if (rows.length <= rowIndex) {\n return;\n }\n this.nonVirtualizedScrollContainer.current.scrollTop =\n rows[rowIndex].offsetTop;\n }\n };\n /**\n * gets a state object with initial values\n */\n this.getInitialStateObject = () => {\n const newState = {\n focusRowIndex: -1,\n focusRowKey: null,\n focusColumnKey: null,\n columns: this.getColumns(),\n currentDataPageStartIndex: -1,\n currentDataPageEndIndex: -1,\n rowPositions: [],\n estimatedTotalHeight: 0,\n desiredVisibleRowIndex: null,\n desiredFocusRowKey: null,\n desiredFocusColumnKey: null,\n };\n return newState;\n };\n /**\n * gets the current column configuration\n */\n this.getColumns = () => {\n return isNil(this.props.columns)\n ? this.props.rows.length > 0\n ? DataGrid.generateColumns(this.props.rows[0])\n : null\n : this.props.columns;\n };\n this.throttledScroll = throttle(this.handleStackPanelScrollChange);\n this.state = this.applyInitialState();\n }\n /**\n * Renders the component\n */\n render() {\n this.currentTemplateColumns = this.getGridTemplateColumns();\n return (React.createElement(DataGridContext.Provider, { value: {\n onCellFocused: this.handleCellFocus,\n onCellKeyDown: this.handleCellKeyDown,\n focusRowKey: this.state.focusRowKey,\n focusColumnKey: this.state.focusColumnKey,\n desiredFocusColumnKey: this.state.desiredFocusColumnKey,\n desiredFocusRowKey: this.state.desiredFocusRowKey,\n desiredVisibleRowIndex: this.state.desiredVisibleRowIndex,\n columns: this.state.columns,\n dataRowKey: this.props.dataRowKey,\n } },\n React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), role: \"grid\", tabIndex: -1, onFocus: this.handleGridFocus, onBlur: this.handleGridBlur, ref: this.rootElement }),\n this.renderGridHeader(),\n this.renderPanel())));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { dataGrid, dataGrid__virtualized, } = this.props.managedClasses;\n return super.generateClassNames(classNames(dataGrid, [dataGrid__virtualized, this.props.virtualize]));\n }\n /**\n * React life-cycle method\n */\n componentDidMount() {\n if (this.state.desiredVisibleRowIndex !== null) {\n this.scrollNonVirtualizedRowToTop(this.state.desiredVisibleRowIndex);\n }\n this.setState({\n desiredVisibleRowIndex: null,\n });\n }\n /**\n * componentDidUpdate when in non-virtualized mode\n */\n nonVirtualizedComponentUpdateHandler(prevProps) {\n if (this.props.virtualize) {\n // virtualization mode changed, reset\n this.setState(this.applyInitialState());\n return;\n }\n let shouldUpdateState = false;\n const newState = Object.assign({}, this.state);\n shouldUpdateState = this.applyUpdatedFocusProps(newState, prevProps);\n if (this.props.columns !== prevProps.columns) {\n newState.columns = this.getColumns();\n shouldUpdateState = true;\n }\n if (this.state.desiredVisibleRowIndex !== null) {\n // move desired row into view and note that a state update is required\n this.scrollNonVirtualizedRowToTop(this.state.desiredVisibleRowIndex);\n newState.desiredVisibleRowIndex = null;\n shouldUpdateState = true;\n }\n // revalidate when there is new data\n if (this.props.rows !== prevProps.rows) {\n shouldUpdateState = true;\n if (this.props.rows.length === 0) {\n this.getInitialStateObject();\n }\n else {\n // ensure focus is still valid\n this.validateFocusRowState(newState);\n // ensure data page conforms to new data length\n // (not virtualizing, so cover the whole range)\n newState.currentDataPageStartIndex = 0;\n newState.currentDataPageEndIndex = this.props.rows.length - 1;\n // move focus to the new element if necessary\n if ((this.isFocused && this.state.focusRowKey !== newState.focusRowKey) ||\n this.state.focusColumnKey !== newState.focusColumnKey) {\n const rowElement = this.getRowElementByKey(newState.focusRowKey);\n if (rowElement !== null) {\n rowElement.focus();\n }\n }\n }\n }\n if (shouldUpdateState) {\n this.setState(newState);\n }\n }\n /**\n * componentDidUpdate when in virtualized mode\n */\n virtualizedComponentUpdateHandler(prevProps) {\n if (!this.props.virtualize) {\n // virtualization mode changed, reset\n this.setState(this.applyInitialState());\n return;\n }\n let shouldUpdateState = false;\n let newState = Object.assign({}, this.state);\n newState.desiredVisibleRowIndex = null;\n if (this.state.desiredVisibleRowIndex !== null) {\n // note that a state update is required\n shouldUpdateState = true;\n }\n shouldUpdateState = this.applyUpdatedFocusProps(newState, prevProps);\n if (this.props.columns !== prevProps.columns) {\n newState.columns = this.getColumns();\n shouldUpdateState = true;\n }\n // revalidate when there is new data\n if (this.props.rows !== prevProps.rows) {\n shouldUpdateState = true;\n if (this.props.rows.length === 0) {\n newState = this.getInitialStateObject();\n }\n else {\n // if an author tells us nothing has changed before a certain point we keep position data\n // up to that point.\n newState.rowPositions = newState.rowPositions.slice(0, this.props.stableRangeEndIndex);\n // ensure focus is still valid\n this.validateFocusRowState(newState);\n // ensure data page conforms to new data length\n newState.currentDataPageStartIndex =\n newState.focusRowIndex - Math.floor(this.props.pageSize / 2);\n newState.currentDataPageStartIndex = Math.max(0, newState.currentDataPageStartIndex);\n newState.currentDataPageEndIndex =\n newState.currentDataPageStartIndex + this.props.pageSize;\n newState.currentDataPageEndIndex =\n newState.currentDataPageEndIndex > this.props.rows.length - 1\n ? this.props.rows.length - 1\n : newState.currentDataPageEndIndex;\n this.sizeRowsToIndex(newState.currentDataPageEndIndex, newState.rowPositions);\n newState.estimatedTotalHeight = this.getEstimatedTotalHeight(newState.rowPositions);\n // move focus to the new element if necessary\n if ((this.isFocused && this.state.focusRowKey !== newState.focusRowKey) ||\n this.state.focusColumnKey !== newState.focusColumnKey) {\n const rowElement = this.getRowElementByKey(newState.focusRowKey);\n if (rowElement !== null) {\n // next focus element already exists, focus on it\n rowElement.focus();\n newState.desiredFocusRowKey = null;\n newState.desiredFocusColumnKey = null;\n }\n else {\n // next focus element not in the dom,\n // focus on it after when it mounts\n newState.desiredFocusRowKey = newState.focusRowKey;\n newState.desiredFocusColumnKey = newState.focusColumnKey;\n // let the default behavior scroll into view on focus\n newState.desiredVisibleRowIndex = null;\n }\n }\n }\n }\n if (shouldUpdateState) {\n this.setState(newState);\n }\n }\n}\nDataGrid.defaultProps = {\n rowHeight: 60,\n stableRangeEndIndex: 0,\n pageSize: 1000,\n rowHeightCallback: (row) => {\n return row.defaultRowHeight;\n },\n virtualize: false,\n managedClasses: {},\n};\nDataGrid.displayName = `${DisplayNamePrefix}DataGrid`;\n/**\n * default column render function\n */\nDataGrid.renderColumnHeader = (config) => {\n return (React.createElement(\"div\", { className: config.classNames, role: \"columnheader\", key: config.key, style: {\n gridColumn: config.columnIndex + 1,\n } }, config.title));\n};\n/**\n * generates a basic column definition by examining sample row data\n */\nDataGrid.generateColumns = (row) => {\n const definitions = [];\n const properties = Object.getOwnPropertyNames(row);\n properties.forEach((property) => {\n definitions.push({\n columnDataKey: property,\n });\n });\n return definitions;\n};\nexport default DataGrid;\nexport * from \"./data-grid.props\";\nexport { DataGridContext };\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, Direction, RtlScrollConverter } from \"@microsoft/fast-web-utilities\";\nimport { get, isFunction, isNil, merge } from \"lodash-es\";\nimport React from \"react\";\nimport { toPx } from \"@microsoft/fast-jss-utilities\";\nimport { Orientation } from \"@microsoft/fast-web-utilities\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass StackPanel extends Foundation {\n /**\n * constructor\n */\n constructor(props) {\n super(props);\n this.handledProps = {\n itemSpan: void 0,\n virtualize: void 0,\n neverVirtualizeIndexes: void 0,\n preloadBufferCount: void 0,\n orientation: void 0,\n managedClasses: void 0,\n initiallyVisibleItemIndex: void 0,\n onScrollChange: void 0,\n scrollLayoutUpdateDelay: void 0,\n };\n // ref to the root element of the component\n this.rootElement = React.createRef();\n /**\n * ref to the element which is the container all children are rendered into\n * It is sized accomodate all children and is the container that is being scrolled\n */\n this.itemContainerElement = React.createRef();\n this.viewportSpan = 0;\n this.itemContainerSpan = 0;\n this.maxScroll = 0;\n /**\n * Stores last scroll position from scroll events\n */\n this.lastRecordedScroll = 0;\n /**\n * Delays updating ui during scrolling\n * (to avoid rendering of items that just scroll by)\n */\n this.scrollLayoutUpdateTimer = null;\n /**\n * Render a single item\n */\n this.renderItem = (item, index) => {\n if (index >= this.itemPositions.length ||\n (this.props.virtualize &&\n !this.props.neverVirtualizeIndexes.includes(index) &&\n (index < this.state.renderedRangeStartIndex ||\n index > this.state.renderedRangeEndIndex))) {\n return;\n }\n const newStyleProps = Object.assign({ position: \"absolute\" }, (this.props.orientation === Orientation.horizontal\n ? Object.assign({ width: toPx(this.itemPositions[index].span) }, (this.state.direction === Direction.ltr\n ? { left: toPx(this.itemPositions[index].start) }\n : { right: toPx(this.itemPositions[index].start) })) : {\n height: toPx(this.itemPositions[index].span),\n top: toPx(this.itemPositions[index].start),\n }));\n if (React.isValidElement(item)) {\n const styleProps = get(item.props, \"style\");\n return React.cloneElement(item, {\n style: merge({}, styleProps, newStyleProps),\n });\n }\n // it's a string, so wrap it in a div for positioning\n return React.createElement(\"div\", { style: newStyleProps }, item);\n };\n /**\n * Builds a list of positioning data for all items\n */\n this.updateItemPositions = () => {\n const itemPositions = [];\n let currentItemStart = 0;\n const childrenAsArray = React.Children.toArray(this.props.children);\n const itemCount = childrenAsArray.length;\n for (let i = 0; i < itemCount; i++) {\n const itemSpan = Array.isArray(this.props.itemSpan)\n ? this.props.itemSpan[i]\n : this.props.itemSpan;\n const currentItemBottom = currentItemStart + itemSpan;\n itemPositions.push({\n span: itemSpan,\n start: currentItemStart,\n end: currentItemBottom,\n });\n currentItemStart = currentItemBottom;\n }\n this.itemPositions = itemPositions;\n this.itemContainerSpan =\n this.itemPositions.length > 0 ? this.itemPositions[itemCount - 1].end : 0;\n this.maxScroll = this.getMaxScrollDistance();\n };\n /**\n * Get the size of the viewport along the panel's axis\n */\n this.getViewportSpan = () => {\n if (isNil(this.rootElement.current)) {\n return 0;\n }\n if (this.props.orientation === Orientation.horizontal) {\n return this.rootElement.current.clientWidth;\n }\n else {\n return this.rootElement.current.clientHeight;\n }\n };\n /**\n * Recalculates the layout\n */\n this.updateLayout = () => {\n if (isNil(this.rootElement.current) || isNil(this.itemContainerElement.current)) {\n return;\n }\n if (this.props.orientation === Orientation.horizontal) {\n this.updateDirection();\n }\n const scrollPos = this.getScrollPosition();\n const lastIndex = this.itemPositions.length === 0 ? 0 : this.itemPositions.length - 1;\n const visibleRangeStartIndex = this.getThresholdItemIndex(this.itemPositions, 0, scrollPos);\n const visibleRangeEndIndex = this.getThresholdItemIndex(this.itemPositions, visibleRangeStartIndex, scrollPos + this.viewportSpan);\n const bufferLength = this.getBufferLength();\n window.clearTimeout(this.scrollLayoutUpdateTimer);\n this.setState({\n renderedRangeStartIndex: Math.max(visibleRangeStartIndex - bufferLength, 0),\n renderedRangeEndIndex: Math.min(visibleRangeEndIndex + bufferLength, lastIndex),\n isScrollable: this.itemContainerSpan > this.viewportSpan,\n });\n };\n /**\n * gets the first row where the row bottom exceeds the threshold value\n * returns final item index if no rows reach threshold value\n */\n this.getThresholdItemIndex = (itemPositions, startIndex, threshold) => {\n if (itemPositions.length === 0) {\n return 0;\n }\n let thresholdIndex = itemPositions.length - 1;\n for (let i = startIndex, rowCount = itemPositions.length; i < rowCount; i++) {\n const thisItemPosition = itemPositions[i];\n if (thisItemPosition.end >= threshold) {\n thresholdIndex = i;\n break;\n }\n }\n return thresholdIndex;\n };\n /**\n * gets the current buffer size (number of items to render outside the viewport)\n */\n this.getBufferLength = () => {\n if (!isNil(this.props.preloadBufferCount) && this.props.preloadBufferCount >= 0) {\n return Math.floor(this.props.preloadBufferCount);\n }\n return 1;\n };\n /**\n * Handle scroll events\n */\n this.onScrollCapture = () => {\n this.lastRecordedScroll = this.getScrollPosition();\n clearTimeout(this.scrollLayoutUpdateTimer);\n if (this.props.scrollLayoutUpdateDelay !== 0) {\n this.scrollLayoutUpdateTimer = window.setTimeout(() => {\n this.updateLayout();\n }, this.props.scrollLayoutUpdateDelay);\n }\n else {\n this.updateLayout();\n }\n this.reportScrollChange();\n };\n /**\n * Handle viewport resize events\n */\n this.handleResize = () => {\n this.viewportSpan = this.getViewportSpan();\n this.reportScrollChange();\n this.updateLayout();\n };\n /**\n * report scroll changes to callback\n */\n this.reportScrollChange = () => {\n if (isFunction(this.props.onScrollChange)) {\n this.props.onScrollChange(this.lastRecordedScroll, this.maxScroll, this.viewportSpan);\n }\n };\n /**\n * updates the direction in state if necessary\n */\n this.updateDirection = () => {\n const newDirection = this.getDirection();\n if (newDirection !== this.state.direction) {\n this.setState({\n direction: newDirection,\n });\n }\n };\n /**\n * gets the current direction\n */\n this.getDirection = () => {\n if (this.rootElement.current === null) {\n return Direction.ltr;\n }\n const closest = this.rootElement.current.closest(`[${StackPanel.DirectionAttributeName}]`);\n return closest === null ||\n closest.getAttribute(StackPanel.DirectionAttributeName) === Direction.ltr\n ? Direction.ltr\n : Direction.rtl;\n };\n /**\n * Gets the scroll position and accounts for direction\n */\n this.getScrollPosition = () => {\n if (isNil(this.rootElement.current)) {\n return 0;\n }\n return this.props.orientation === Orientation.vertical\n ? this.rootElement.current.scrollTop\n : this.state.direction === Direction.rtl\n ? RtlScrollConverter.getScrollLeft(this.rootElement.current, this.state.direction)\n : -RtlScrollConverter.getScrollLeft(this.rootElement.current, this.state.direction);\n };\n /**\n * Sets the scroll position and accounts for direction\n */\n this.setScrollPosition = (scrollValue) => {\n if (isNil(this.rootElement.current)) {\n return;\n }\n if (this.props.orientation === Orientation.vertical) {\n this.rootElement.current.scrollTop = scrollValue;\n }\n else {\n RtlScrollConverter.setScrollLeft(this.rootElement.current, this.state.direction === Direction.rtl ? -scrollValue : scrollValue, this.state.direction);\n }\n };\n /**\n * Gets the scroll position that brings the item at a particular index into the viewport\n */\n this.getScrollIntoViewPosition = (index) => {\n if (index === -1 || index >= this.itemPositions.length) {\n return 0;\n }\n const itemPosition = this.itemPositions[index];\n return Math.max(0, Math.min(itemPosition.start, this.maxScroll));\n };\n this.updateItemPositions();\n this.state = {\n renderedRangeStartIndex: 0,\n renderedRangeEndIndex: 0,\n direction: Direction.ltr,\n isScrollable: false,\n };\n }\n /**\n * Renders the component\n */\n render() {\n const { stackPanel_items, } = this.props.managedClasses;\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { ref: this.rootElement, className: this.generateClassNames(), onScrollCapture: this.onScrollCapture, tabIndex: -1 }),\n React.createElement(\"div\", { className: classNames(stackPanel_items), ref: this.itemContainerElement, style: Object.assign({ position: \"relative\" }, (this.props.orientation === Orientation.horizontal\n ? {\n height: \"100%\",\n width: `${this.itemContainerSpan}px`,\n overflow: \"hidden\",\n }\n : {\n width: \"100%\",\n height: `${this.itemContainerSpan}px`,\n overflow: \"hidden\",\n })) }, this.renderItems())));\n }\n /**\n * React life-cycle method\n */\n componentDidMount() {\n // set up resize observer so we can update layout when component is resized\n if (!isNil(this.rootElement.current)) {\n if (window.ResizeObserver) {\n this.resizeDetector = new window.ResizeObserver(this.handleResize);\n this.resizeDetector.observe(this.rootElement.current);\n }\n }\n this.viewportSpan = this.getViewportSpan();\n this.updateLayout();\n // if we need to have a particular child scrolled into view on mount do so\n if (!isNil(this.props.initiallyVisibleItemIndex) &&\n this.itemPositions.length > this.props.initiallyVisibleItemIndex) {\n const newScrollPosition = this.getScrollIntoViewPosition(this.props.initiallyVisibleItemIndex);\n this.setScrollPosition(newScrollPosition);\n }\n }\n /**\n * React life-cycle method\n */\n componentDidUpdate(prevProps) {\n if (prevProps.orientation !== this.props.orientation) {\n this.viewportSpan = this.getViewportSpan();\n }\n if (prevProps.itemSpan !== this.props.itemSpan ||\n prevProps.orientation !== this.props.orientation ||\n prevProps.children !== this.props.children) {\n this.updateItemPositions();\n this.updateLayout();\n }\n // if the initiallyVisibleItemIndex prop is changed to a non-null value\n // after initial mount we scroll to that position\n if (prevProps.initiallyVisibleItemIndex !==\n this.props.initiallyVisibleItemIndex &&\n !isNil(this.props.initiallyVisibleItemIndex) &&\n this.itemPositions.length > this.props.initiallyVisibleItemIndex) {\n const newScrollPosition = this.getScrollIntoViewPosition(this.props.initiallyVisibleItemIndex);\n this.scrollContent(newScrollPosition);\n }\n }\n /**\n * React life-cycle method\n */\n componentWillUnmount() {\n if (!isNil(this.rootElement.current)) {\n if (window.ResizeObserver) {\n this.resizeDetector.disconnect();\n this.resizeDetector = null;\n }\n }\n window.clearTimeout(this.scrollLayoutUpdateTimer);\n }\n /**\n * Create class-names\n */\n generateClassNames() {\n const { stackPanel, stackPanel__scrollable, } = this.props.managedClasses;\n return super.generateClassNames(classNames(stackPanel, [stackPanel__scrollable, this.state.isScrollable]));\n }\n /**\n * Render the items\n */\n renderItems() {\n return React.Children.map(this.props.children, this.renderItem);\n }\n /**\n * Gets the maximum distance that can be scrolled\n */\n getMaxScrollDistance() {\n if (this.itemPositions.length === 0) {\n return 0;\n }\n const contentSpan = this.itemPositions[this.itemPositions.length - 1].end;\n return contentSpan - this.viewportSpan;\n }\n /**\n * Scrolls the container for the items list\n */\n scrollContent(targetScrollPosition) {\n const newScrollPosition = Math.max(0, Math.min(targetScrollPosition, this.maxScroll));\n this.setScrollPosition(newScrollPosition);\n this.updateLayout();\n }\n}\nStackPanel.displayName = `${DisplayNamePrefix}StackPanel`;\nStackPanel.defaultProps = {\n managedClasses: {},\n virtualize: true,\n neverVirtualizeIndexes: [],\n itemSpan: 100,\n preloadBufferCount: 1,\n orientation: Orientation.vertical,\n scrollLayoutUpdateDelay: 0,\n};\nStackPanel.DirectionAttributeName = \"dir\";\nexport default StackPanel;\nexport * from \"./stack-panel.props\";\n","import React from \"react\";\nimport { get, isNil } from \"lodash-es\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport DataGridCell from \"./data-grid-cell\";\nimport { DataGridContext } from \"./data-grid-context\";\nclass DataGridRow extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n rowData: void 0,\n gridTemplateColumns: void 0,\n rowIndex: void 0,\n managedClasses: void 0,\n };\n /**\n * renders a cell\n */\n this.renderCell = (column, index) => {\n return (React.createElement(DataGridCell, { key: column.columnDataKey, column: column, rowData: this.props.rowData, columnIndex: index + 1, managedClasses: {\n dataGridCell: this.props.managedClasses.dataGridRow_cell,\n } }));\n };\n }\n /**\n * Renders the component\n */\n render() {\n if (isNil(this.context)) {\n return null;\n }\n const rowKey = !isNil(this.props.rowData[this.context.dataRowKey])\n ? this.props.rowData[this.context.dataRowKey]\n : this.props.rowIndex;\n // Check if there is already a style object being passed as props\n const styleProps = get(this.props, \"style\");\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { role: \"row\", className: this.generateClassNames(), \"data-rowid\": rowKey, style: Object.assign({ display: \"grid\", width: \"100%\", gridTemplateColumns: this.props.gridTemplateColumns }, styleProps) }), this.renderCells()));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { dataGridRow, dataGridRow__focusedWithin, } = this.props.managedClasses;\n return super.generateClassNames(classNames(dataGridRow, [\n dataGridRow__focusedWithin,\n this.props.rowData[this.context.dataRowKey] === this.context.focusRowKey,\n ]));\n }\n /**\n * render all cells\n */\n renderCells() {\n if (this.context === null || this.context.columns === null) {\n return;\n }\n return this.context.columns.map(this.renderCell);\n }\n}\nDataGridRow.defaultProps = {\n managedClasses: {},\n};\nDataGridRow.displayName = `${DisplayNamePrefix}DataGridRow`;\nDataGridRow.contextType = DataGridContext;\nDataGridRow.contextType = DataGridContext;\nexport default DataGridRow;\nexport * from \"./data-grid-row.props\";\n","import React from \"react\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { isNil } from \"lodash-es\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport { extractHtmlElement } from \"@microsoft/fast-react-utilities\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { DataGridContext } from \"./data-grid-context\";\nclass DataGridCell extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n rowData: void 0,\n column: void 0,\n columnIndex: void 0,\n };\n this.focusTarget = React.createRef();\n this.rootElement = React.createRef();\n /**\n * returns true if this is the datagrid's current focus cell\n */\n this.isDesiredFocusCell = () => {\n if (this.context === null) {\n return false;\n }\n return (this.props.rowData[this.context.dataRowKey] ===\n this.context.desiredFocusRowKey &&\n this.props.column.columnDataKey === this.context.desiredFocusColumnKey);\n };\n /**\n * returns true if this is the datagrid's current focus cell\n */\n this.isFocusCell = () => {\n if (this.context === null) {\n return false;\n }\n return (this.props.rowData[this.context.dataRowKey] === this.context.focusRowKey &&\n this.props.column.columnDataKey === this.context.focusColumnKey);\n };\n /**\n * Handle the keydown event of the item\n */\n this.handleKeyDown = (e) => {\n this.context.onCellKeyDown(this.props, e);\n };\n /**\n * Handle focus event\n */\n this.handleFocus = (e) => {\n const focusTargetElement = extractHtmlElement(this.focusTarget);\n if (focusTargetElement !== null && focusTargetElement instanceof HTMLElement) {\n focusTargetElement.focus();\n }\n this.context.onCellFocused(this.props, e);\n };\n }\n /**\n * Renders the component\n */\n render() {\n if (isNil(this.context) || isNil(this.props.column)) {\n return null;\n }\n const unhandledProps = {\n role: \"gridcell\",\n tabIndex: this.isFocusCell() ? 0 : -1,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n };\n const config = {\n rowData: this.props.rowData,\n columnDataKey: this.props.column.columnDataKey,\n columnIndex: this.props.columnIndex,\n classNames: this.generateClassNames(),\n rootElement: this.rootElement,\n focusTarget: this.focusTarget,\n unhandledProps: unhandledProps,\n };\n return !isNil(this.props.column.cell)\n ? this.props.column.cell(config)\n : DataGridCell.renderCell(config);\n }\n /**\n * React life-cycle method\n */\n componentDidMount() {\n if (this.isDesiredFocusCell() && !isNil(this.rootElement.current)) {\n this.rootElement.current.focus();\n }\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.dataGridCell));\n }\n}\nDataGridCell.defaultProps = {\n rowData: null,\n column: null,\n columnIndex: 0,\n managedClasses: {},\n};\nDataGridCell.displayName = `${DisplayNamePrefix}DataGridCell`;\nDataGridCell.contextType = DataGridContext;\n/**\n * The default function that renders a cell\n */\nDataGridCell.renderCell = (config) => {\n return (React.createElement(\"div\", Object.assign({}, config.unhandledProps, { ref: config.rootElement, \"data-cellid\": config.columnDataKey, className: config.classNames, style: {\n gridColumn: config.columnIndex,\n } }), config.rowData[config.columnDataKey]));\n};\nDataGridCell.contextType = DataGridContext;\nexport default DataGridCell;\nexport * from \"./data-grid-cell.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, keyCodeEscape, keyCodeTab } from \"@microsoft/fast-web-utilities\";\nimport { canUseDOM } from \"exenv-es6\";\nimport React from \"react\";\nimport { extractHtmlElement } from \"@microsoft/fast-react-utilities\";\nimport { isFunction, isNil } from \"lodash-es\";\nimport Tabbable from \"tabbable\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass Dialog extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n describedBy: void 0,\n label: void 0,\n labelledBy: void 0,\n contentWidth: void 0,\n contentHeight: void 0,\n modal: void 0,\n managedClasses: void 0,\n onDismiss: void 0,\n visible: void 0,\n focusTargetOnClose: void 0,\n };\n this.rootElement = React.createRef();\n /**\n * Check if props demand a key listener\n */\n this.shouldAddKeyListener = (props) => {\n if (props.modal || props.onDismiss) {\n return true;\n }\n return false;\n };\n /**\n * handles document key down events\n */\n this.handleDocumentKeyDown = (event) => {\n if (!event.defaultPrevented && this.props.visible) {\n switch (event.keyCode) {\n case keyCodeEscape:\n this.checkForSoftDismiss(event);\n break;\n case keyCodeTab:\n this.handleTabKeyDown(event);\n break;\n }\n }\n };\n /**\n * Invokes dialog soft dismiss if appropriate\n */\n this.checkForSoftDismiss = (event) => {\n if (this.props.onDismiss &&\n typeof this.props.onDismiss === \"function\" &&\n this.props.visible) {\n this.props.onDismiss(event);\n }\n };\n /**\n * process tab key down events\n */\n this.handleTabKeyDown = (event) => {\n if (!this.props.modal) {\n // only handle tab keystrokes when modal\n return;\n }\n const tabbableElements = Tabbable(this.rootElement.current);\n const tabbableElementCount = tabbableElements.length;\n if (tabbableElementCount === 0) {\n this.tryFocusOnRootElement();\n event.preventDefault();\n return;\n }\n // intervene in normal tab order for first and last items in list\n if (event.shiftKey && event.target === tabbableElements[0]) {\n tabbableElements[tabbableElementCount - 1].focus();\n event.preventDefault();\n }\n else if (!event.shiftKey &&\n event.target === tabbableElements[tabbableElementCount - 1]) {\n tabbableElements[0].focus();\n event.preventDefault();\n }\n };\n /**\n * forces focus to first tabbable element of modal dialog if document gains focus while dialog is open\n */\n this.handleDocumentFocus = (event) => {\n if (!event.defaultPrevented &&\n this.shouldForceFocus(event.target)) {\n this.focusOnFirstElement();\n event.preventDefault();\n }\n };\n /**\n * test to avoid forcing focus when focus is already within\n */\n this.shouldForceFocus = (currentFocusElement) => {\n return (this.props.visible &&\n this.rootElement.current instanceof HTMLElement &&\n !this.rootElement.current.contains(currentFocusElement));\n };\n /**\n * focus on first element of tab queue\n */\n this.focusOnFirstElement = () => {\n if (canUseDOM() && this.rootElement.current instanceof HTMLElement) {\n const tabbableElements = Tabbable(this.rootElement.current);\n if (tabbableElements.length === 0) {\n this.tryFocusOnRootElement();\n }\n else {\n tabbableElements[0].focus();\n }\n }\n };\n /**\n * if no tabbable elements try to focus root element\n * generally a modal dialog should be expected to have a focusable element\n */\n this.tryFocusOnRootElement = () => {\n if (this.rootElement.current instanceof HTMLElement) {\n this.rootElement.current.focus();\n }\n };\n /**\n * Act on focusTargetOnClose prop when component unmounts\n */\n this.invokeFocusOnCloseTarget = () => {\n if (isNil(this.props.focusTargetOnClose)) {\n return;\n }\n if (isFunction(this.props.focusTargetOnClose)) {\n this.props.focusTargetOnClose();\n return;\n }\n const targetElement = extractHtmlElement(this.props.focusTargetOnClose);\n if (targetElement instanceof HTMLElement) {\n targetElement.focus();\n }\n };\n }\n /**\n * Renders the component\n */\n render() {\n const { dialog_positioningRegion, dialog_contentRegion, } = this.props.managedClasses;\n return (React.createElement(\"div\", Object.assign({ ref: this.rootElement }, this.unhandledProps(), { className: this.generateClassNames(), \"aria-hidden\": !this.props.visible }),\n React.createElement(\"div\", { className: classNames(dialog_positioningRegion) },\n this.renderModalOverlay(),\n React.createElement(\"div\", { role: \"dialog\", \"aria-modal\": this.props.modal, tabIndex: -1, className: classNames(dialog_contentRegion), style: {\n height: this.props.contentHeight,\n width: this.props.contentWidth,\n }, \"aria-describedby\": this.props.describedBy, \"aria-labelledby\": this.props.labelledBy, \"aria-label\": this.props.label }, this.props.children))));\n }\n /**\n * React life-cycle method\n */\n componentDidMount() {\n if (canUseDOM()) {\n if (this.shouldAddKeyListener(this.props)) {\n document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n if (this.props.modal) {\n document.addEventListener(\"focusin\", this.handleDocumentFocus);\n if (this.shouldForceFocus(document.activeElement)) {\n this.focusOnFirstElement();\n }\n }\n }\n }\n /**\n * React life-cycle method\n */\n componentDidUpdate(prevProps) {\n if (canUseDOM()) {\n if (!prevProps.modal && this.props.modal) {\n document.addEventListener(\"focusin\", this.handleDocumentFocus);\n this.focusOnFirstElement();\n }\n else if (prevProps.modal && !this.props.modal) {\n document.removeEventListener(\"focusin\", this.handleDocumentFocus);\n }\n if (!this.shouldAddKeyListener(prevProps) &&\n this.shouldAddKeyListener(this.props)) {\n document.addEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n else if (this.shouldAddKeyListener(prevProps) &&\n !this.shouldAddKeyListener(this.props)) {\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n }\n }\n /**\n * React life-cycle method\n */\n componentWillUnmount() {\n if (canUseDOM()) {\n if (this.shouldAddKeyListener(this.props)) {\n document.removeEventListener(\"keydown\", this.handleDocumentKeyDown);\n }\n if (this.props.modal) {\n document.removeEventListener(\"focusin\", this.handleDocumentFocus);\n }\n this.invokeFocusOnCloseTarget();\n }\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.dialog));\n }\n /**\n * Renders the modal overlay\n */\n renderModalOverlay() {\n if (!this.props.modal) {\n return;\n }\n return (React.createElement(\"div\", { className: classNames(this.props.managedClasses.dialog_modalOverlay), onClick: this.checkForSoftDismiss, onTouchStart: this.checkForSoftDismiss, role: \"presentation\", tabIndex: -1, style: {\n touchAction: \"none\",\n } }));\n }\n}\nDialog.defaultProps = {\n contentHeight: \"480px\",\n contentWidth: \"640px\",\n visible: false,\n managedClasses: {},\n};\nDialog.displayName = `${DisplayNamePrefix}Dialog`;\nexport default Dialog;\nexport * from \"./dialog.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, Direction, getClientRectWithMargin, RtlScrollConverter, } from \"@microsoft/fast-web-utilities\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { get, isNil } from \"lodash-es\";\nimport throttle from \"raf-throttle\";\nimport React from \"react\";\nimport { DisplayNamePrefix, } from \"../utilities\";\nexport var ButtonDirection;\n(function (ButtonDirection) {\n ButtonDirection[\"previous\"] = \"previous\";\n ButtonDirection[\"next\"] = \"next\";\n})(ButtonDirection || (ButtonDirection = {}));\nclass HorizontalOverflow extends Foundation {\n /**\n * Constructor\n */\n constructor(props) {\n super(props);\n this.handledProps = {\n scrollDuration: void 0,\n managedClasses: void 0,\n onScrollChange: void 0,\n onOverflowChange: void 0,\n nextItemPeek: void 0,\n fixedHeight: void 0,\n };\n /**\n * Stores pending animation frame requests\n */\n this.openRequestAnimationFrame = null;\n /**\n * Flag indicates if a scroll animation is in progress\n */\n this.isScrollAnimating = false;\n /**\n * Stores last scroll position from scroll events\n */\n this.lastRecordedScroll = 0;\n /**\n * Track scroll position\n */\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n this.onScrollCapture = (event) => {\n this.lastRecordedScroll = this.getScrollPosition();\n };\n /**\n * A child item got focus make sure it is in view\n */\n this.onItemFocus = (event) => {\n if (!this.isOverflow()) {\n return;\n }\n const itemLeft = event.currentTarget.offsetLeft;\n const itemWidth = event.currentTarget.clientWidth;\n const itemRight = itemLeft + itemWidth;\n const viewportWidth = this.getAvailableWidth();\n const peek = this.getScrollPeek(itemWidth);\n let scrollStart = this.lastRecordedScroll;\n if (this.isScrollAnimating) {\n const duration = this.props.scrollDuration\n ? this.props.scrollDuration\n : HorizontalOverflow.defaultScrollAnimationDuration;\n const currentDate = new Date().getTime();\n const currentTime = currentDate - this.currentScrollAnimStartTime;\n scrollStart = this.getScrollAnimationPosition(currentTime, duration);\n }\n if (itemLeft - this.lastRecordedScroll < 0) {\n this.scrollContent(scrollStart, itemLeft - peek);\n }\n else if (itemRight - scrollStart > viewportWidth) {\n this.scrollContent(scrollStart, itemRight - viewportWidth + peek);\n }\n };\n /**\n * Compares viewport width, item width and desired peek value to come up with\n * peek value to use. We don't want to clip focused item to get peek on next/previous item.\n */\n this.getScrollPeek = (itemWidth) => {\n const viewportWidth = this.getAvailableWidth();\n let maxPeek = viewportWidth - itemWidth;\n maxPeek = maxPeek < 0 ? 0 : maxPeek;\n const peek = this.props.nextItemPeek > maxPeek ? maxPeek : this.props.nextItemPeek;\n return peek;\n };\n /**\n * Callback for on scroll change\n */\n this.onScrollChange = () => {\n if (typeof this.props.onScrollChange === \"function\") {\n this.props.onScrollChange(this.getPositionData());\n }\n // If the onOverflowChange callback exists, we want to update overflow\n // based on scroll change\n if (typeof this.props.onOverflowChange === \"function\") {\n const positionData = this.getPositionData();\n if (this.overflowStart === !positionData.start ||\n this.overflowEnd === !positionData.end) {\n this.handleOverflowChange();\n }\n }\n };\n /**\n * Get the scroll change data\n */\n this.getPositionData = () => {\n if (isNil(this.horizontalOverflowItemsRef.current)) {\n return { start: true, end: true };\n }\n const scrollPosition = this.getScrollPosition();\n const isAtBeginning = scrollPosition === 0;\n const isAtEnd = this.horizontalOverflowItemsRef.current.scrollWidth - scrollPosition ===\n this.horizontalOverflowItemsRef.current.clientWidth;\n return { start: isAtBeginning, end: isAtEnd };\n };\n /**\n * onLoad handler to make sure any children affecting height are accounted for\n */\n this.itemsOnLoad = () => {\n const itemsHeight = this.getItemHeight();\n if (itemsHeight !== this.state.itemsHeight) {\n this.setState({\n itemsHeight,\n });\n }\n if (this.overflow !== this.isOverflow()) {\n this.handleOverflowChange();\n }\n };\n /**\n * Handles the resize event\n */\n this.onWindowResize = () => {\n if (this.overflow !== this.isOverflow()) {\n this.handleOverflowChange();\n }\n };\n /**\n * Callback for the horizontal overflow change\n */\n this.handleOverflowChange = () => {\n this.overflow = this.isOverflow();\n if (this.overflow) {\n const positionData = this.getPositionData();\n this.overflowStart = !positionData.start;\n this.overflowEnd = !positionData.end;\n }\n else {\n this.overflowStart = false;\n this.overflowEnd = false;\n }\n if (typeof this.props.onOverflowChange === \"function\") {\n this.props.onOverflowChange({\n overflowStart: this.overflowStart,\n overflowEnd: this.overflowEnd,\n });\n }\n };\n /**\n * Handler for the previous click event\n */\n this.handlePreviousClick = () => {\n this.handleClick(ButtonDirection.previous);\n };\n /**\n * Handler for the next click event\n */\n this.handleNextClick = () => {\n this.handleClick(ButtonDirection.next);\n };\n /**\n * Request's an animation frame if there are currently no open animation frame requests\n */\n this.requestFrame = () => {\n if (this.openRequestAnimationFrame === null) {\n this.openRequestAnimationFrame = window.requestAnimationFrame(this.updateScrollAnimation);\n }\n };\n /**\n * Animate one frame of scrolling\n */\n this.updateScrollAnimation = () => {\n this.openRequestAnimationFrame = null;\n const duration = this.props.scrollDuration\n ? this.props.scrollDuration\n : HorizontalOverflow.defaultScrollAnimationDuration;\n const currentDate = new Date().getTime();\n const currentTime = currentDate - this.currentScrollAnimStartTime;\n this.setScrollPosition(this.getScrollAnimationPosition(currentTime, duration));\n if (currentTime < duration) {\n this.requestFrame();\n }\n else {\n this.isScrollAnimating = false;\n }\n };\n /**\n * get scroll animation position for the provided time\n */\n this.getScrollAnimationPosition = (currentTime, duration) => {\n if (currentTime < duration) {\n return this.easeInOutQuad(currentTime, this.currentScrollAnimStartPosition, this.currentScrollAnimEndPosition - this.currentScrollAnimStartPosition, duration);\n }\n else {\n return this.currentScrollAnimEndPosition;\n }\n };\n /**\n * Gets the scroll position and accounts for direction\n */\n this.getScrollPosition = () => {\n if (isNil(this.horizontalOverflowItemsRef.current)) {\n return 0;\n }\n const scrollLeft = RtlScrollConverter.getScrollLeft(this.horizontalOverflowItemsRef.current, this.state.direction);\n return this.state.direction === Direction.rtl ? -scrollLeft : scrollLeft;\n };\n /**\n * Sets the scroll position and accounts for direction\n */\n this.setScrollPosition = (scrollValue) => {\n if (!isNil(this.horizontalOverflowItemsRef.current)) {\n RtlScrollConverter.setScrollLeft(this.horizontalOverflowItemsRef.current, this.state.direction === Direction.rtl ? -scrollValue : scrollValue, this.state.direction);\n }\n };\n /**\n * updates the direction in state if necessary\n */\n this.updateDirection = () => {\n const newDirection = this.getDirection();\n if (newDirection !== this.state.direction) {\n this.setState({\n direction: newDirection,\n });\n }\n };\n /**\n * gets the current direction\n */\n this.getDirection = () => {\n if (this.horizontalOverflowItemsRef.current === null) {\n return Direction.ltr;\n }\n const closest = this.horizontalOverflowItemsRef.current.closest(`[${HorizontalOverflow.DirectionAttributeName}]`);\n return closest === null ||\n closest.getAttribute(HorizontalOverflow.DirectionAttributeName) ===\n Direction.ltr\n ? Direction.ltr\n : Direction.rtl;\n };\n this.horizontalOverflowItemsRef = React.createRef();\n this.throttledScroll = throttle(this.onScrollChange);\n this.throttledResize = throttle(this.onWindowResize);\n this.overflow = false;\n this.state = {\n direction: Direction.ltr,\n itemsHeight: props.fixedHeight,\n };\n }\n /**\n * Renders the Horizontal Overflow markup\n */\n render() {\n const { horizontalOverflow_contentRegion, horizontalOverflow_previous, horizontalOverflow_next, } = this.props.managedClasses;\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), onLoad: this.itemsOnLoad }),\n React.createElement(\"div\", { style: {\n height: this.state.itemsHeight !== null\n ? `${this.state.itemsHeight}px`\n : \"auto\",\n position: \"relative\",\n overflow: \"hidden\",\n } },\n React.createElement(\"ul\", { className: classNames(horizontalOverflow_contentRegion), style: this.getListStyle(), ref: this.horizontalOverflowItemsRef, onScrollCapture: this.onScrollCapture }, this.getItems())),\n React.createElement(\"div\", { className: classNames(horizontalOverflow_previous), onClick: this.handlePreviousClick }, this.withSlot(ButtonDirection.previous)),\n React.createElement(\"div\", { className: classNames(horizontalOverflow_next), onClick: this.handleNextClick }, this.withSlot(ButtonDirection.next))));\n }\n /**\n * React life-cycle method\n */\n componentDidMount() {\n if (!this.props.children) {\n return;\n }\n const itemsHeight = this.getItemHeight();\n if (itemsHeight !== this.state.itemsHeight) {\n this.setState({\n itemsHeight,\n });\n }\n if (this.overflow !== this.isOverflow()) {\n this.handleOverflowChange();\n }\n if (canUseDOM() && this.horizontalOverflowItemsRef.current) {\n this.updateDirection();\n this.lastRecordedScroll = this.getScrollPosition();\n this.horizontalOverflowItemsRef.current.addEventListener(\"scroll\", this.throttledScroll);\n window.addEventListener(\"resize\", this.throttledResize);\n // TODO #1142 https://github.com/Microsoft/fast/issues/1142\n // Full browser support imminent\n // Revisit usage once Safari and Firefox adapt\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1272409\n // https://bugs.webkit.org/show_bug.cgi?id=157743\n if (window.ResizeObserver) {\n this.resizeObserver = new window.ResizeObserver(\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n (entries) => {\n if (this.overflow !== this.isOverflow()) {\n this.handleOverflowChange();\n }\n });\n this.resizeObserver.observe(this.horizontalOverflowItemsRef.current);\n }\n }\n }\n /**\n * React life-cycle method\n */\n componentWillUnmount() {\n if (canUseDOM() && this.horizontalOverflowItemsRef.current) {\n this.horizontalOverflowItemsRef.current.removeEventListener(\"scroll\", this.throttledScroll);\n window.removeEventListener(\"resize\", this.throttledResize);\n // TODO #1142 https://github.com/Microsoft/fast/issues/1142\n // Full browser support imminent\n // Revisit usage once Safari and Firefox adapt\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1272409\n // https://bugs.webkit.org/show_bug.cgi?id=157743\n if (this.resizeObserver &&\n typeof this.resizeObserver.disconnect === \"function\") {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n // Cancel any pending calls\n this.throttledResize.cancel();\n this.throttledScroll.cancel();\n }\n }\n /**\n * React life-cycle method\n */\n getSnapshotBeforeUpdate(prevProps) {\n if (React.Children.toArray(prevProps.children).length <\n React.Children.toArray(this.props.children).length) {\n return true;\n }\n return null;\n }\n /**\n * React life-cycle method\n */\n componentDidUpdate(prevProps, prevState, snapshot) {\n if (snapshot !== null) {\n this.handleOverflowChange();\n }\n this.updateDirection();\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.horizontalOverflow));\n }\n /**\n * Gets the style for the `ul` element containing the items\n */\n getListStyle() {\n return {\n position: \"relative\",\n whiteSpace: \"nowrap\",\n overflowX: \"scroll\",\n padding: 0,\n margin: 0,\n };\n }\n /**\n * Checks if overflow is occuring\n */\n isOverflow() {\n const availableWidth = this.getAvailableWidth();\n const itemWidths = this.getItemWidths();\n const totalItemWidth = itemWidths.reduce((a, b) => a + b, 0);\n return totalItemWidth > availableWidth;\n }\n /**\n * Returns the fixed height if set or identifies and returns the tallest child height\n */\n getItemHeight() {\n return this.props.fixedHeight !== null\n ? this.props.fixedHeight\n : this.getItemMaxHeight();\n }\n /**\n * Identifies and returns the tallest child height\n */\n getItemMaxHeight() {\n let itemMaxHeight = 0;\n const children = get(this.horizontalOverflowItemsRef, \"current.childNodes\");\n if (!canUseDOM() || !children) {\n return itemMaxHeight;\n }\n const childNodes = Array.prototype.slice.call(children);\n for (const childNode of childNodes) {\n const childNodeHeight = getClientRectWithMargin(childNode).height;\n if (childNodeHeight > itemMaxHeight) {\n itemMaxHeight = childNodeHeight;\n }\n }\n return itemMaxHeight;\n }\n /**\n * Gets the children displayed as items to be scrolled\n */\n getItems() {\n return React.Children.map(this.withoutSlot([ButtonDirection.previous, ButtonDirection.next]), (child, \n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n index) => {\n return (React.createElement(\"li\", { onFocusCapture: this.onItemFocus, className: classNames(this.props.managedClasses.horizontalOverflow_item), style: { display: \"inline-block\" } }, child));\n });\n }\n /**\n * Gets the distance to scroll based on the direction\n */\n getScrollDistanceFromButtonDirection(buttonDirection, itemWidths, scrollPosition) {\n if (itemWidths.length === 0 || !canUseDOM()) {\n return 0;\n }\n let distance = 0;\n if (buttonDirection === ButtonDirection.next) {\n distance = this.getWithinMaxDistance(scrollPosition, itemWidths);\n }\n else {\n distance = this.getWithinMinDistance(scrollPosition, itemWidths);\n }\n return Math.ceil(distance);\n }\n /**\n * Gets the distance unless it is over the maximum distance, then use maximum distance instead\n */\n getWithinMaxDistance(scrollPosition, itemWidths) {\n const maxDistance = this.getMaxScrollDistance();\n if (scrollPosition === maxDistance) {\n return maxDistance;\n }\n const distance = this.getNextDistance(itemWidths, scrollPosition);\n return distance >= maxDistance ? maxDistance : distance;\n }\n /**\n * Gets the distance unless it is under the minimum distance, then use minimum distance instead\n */\n getWithinMinDistance(scrollPosition, itemWidths) {\n if (scrollPosition === 0) {\n return 0;\n }\n const distance = this.getPreviousDistance(itemWidths, scrollPosition);\n return distance <= 0 ? 0 : distance;\n }\n /**\n * Gets the distance to scroll if the next button has been clicked\n */\n getNextDistance(itemWidths, scrollPosition) {\n let distance = 0;\n for (let i = 0, itemWidthsLength = itemWidths.length; i < itemWidthsLength; i++) {\n if (distance + itemWidths[i] > scrollPosition + this.getAvailableWidth() &&\n distance !== scrollPosition) {\n return distance + this.getScrollPeek(itemWidths[i]);\n }\n distance += itemWidths[i];\n }\n return distance;\n }\n /**\n * Gets the distance to scroll if the previous button has been clicked\n */\n getPreviousDistance(itemWidths, scrollPosition) {\n const availableWidth = this.getAvailableWidth();\n let distance = this.getMaxScrollDistance() + availableWidth;\n for (let i = itemWidths.length - 1; i >= 0; i--) {\n if (distance - itemWidths[i] < scrollPosition - availableWidth &&\n distance !== scrollPosition) {\n return distance - this.getScrollPeek(itemWidths[i]);\n }\n distance -= itemWidths[i];\n }\n return distance;\n }\n /**\n * Gets the maximum distance that can be scrolled\n */\n getMaxScrollDistance() {\n if (isNil(this.horizontalOverflowItemsRef.current)) {\n return 0;\n }\n return (this.horizontalOverflowItemsRef.current.scrollWidth - this.getAvailableWidth());\n }\n /**\n * Handler for the click event fired after next or previous has been clicked\n */\n handleClick(buttonDirection) {\n this.scrollContent(this.getScrollPosition(), this.getScrollDistanceFromButtonDirection(buttonDirection, this.getItemWidths(), this.getScrollPosition()));\n }\n /**\n * Returns the available content region width\n */\n getAvailableWidth() {\n if (isNil(this.horizontalOverflowItemsRef.current)) {\n return 0;\n }\n return this.horizontalOverflowItemsRef.current.clientWidth;\n }\n /**\n * Returns the items widths\n */\n getItemWidths() {\n if (isNil(this.horizontalOverflowItemsRef.current)) {\n return [];\n }\n const items = Array.prototype.slice.call(this.horizontalOverflowItemsRef.current.childNodes);\n const itemWidths = [];\n for (const item of items) {\n itemWidths.push(getClientRectWithMargin(item).width);\n }\n return itemWidths;\n }\n /**\n * Easing animation\n * Inspired by the github gist contribution: https://gist.github.com/andjosh/6764939\n */\n easeInOutQuad(currentTime, startValue, changeInValue, duration) {\n currentTime /= duration / 2;\n if (currentTime < 1) {\n return (changeInValue / 2) * currentTime * currentTime + startValue;\n }\n currentTime--;\n return (-changeInValue / 2) * (currentTime * (currentTime - 2) - 1) + startValue;\n }\n /**\n * Scrolls the container for the items list\n */\n scrollContent(startScrollPosition, targetScrollPosition) {\n const newScrollPosition = Math.max(0, Math.min(targetScrollPosition, this.getMaxScrollDistance()));\n this.isScrollAnimating = true;\n this.currentScrollAnimStartPosition = startScrollPosition;\n this.currentScrollAnimEndPosition = newScrollPosition;\n this.currentScrollAnimStartTime = new Date().getTime();\n this.requestFrame();\n }\n}\nHorizontalOverflow.displayName = `${DisplayNamePrefix}HorizontalOverflow`;\nHorizontalOverflow.defaultProps = {\n managedClasses: {},\n nextItemPeek: 50,\n fixedHeight: null,\n};\nHorizontalOverflow.DirectionAttributeName = \"dir\";\nHorizontalOverflow.defaultScrollAnimationDuration = 500;\nexport default HorizontalOverflow;\nexport * from \"./horizontal-overflow.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, keyCodeEnter, keyCodeSpace } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { ListboxContext } from \"../listbox/listbox-context\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass ListboxItem extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n disabled: void 0,\n displayString: void 0,\n managedClasses: void 0,\n id: void 0,\n onInvoke: void 0,\n value: void 0,\n };\n /**\n * Check context to determine if this item is selected\n */\n this.isItemSelected = () => {\n let isSelected = false;\n if (this.context.listboxSelectedItems !== undefined) {\n isSelected =\n this.context.listboxSelectedItems.filter((item) => {\n return item.id === this.props.id;\n }).length === 1;\n }\n return isSelected;\n };\n /**\n * Handle the keydown event of the item\n */\n this.handleKeyDown = (e) => {\n if (this.props.disabled) {\n return;\n }\n if (typeof this.props.onKeyDown === \"function\") {\n this.props.onKeyDown(e);\n }\n if (e.defaultPrevented) {\n return;\n }\n switch (e.keyCode) {\n case keyCodeEnter:\n case keyCodeSpace:\n this.invokeOption(e);\n break;\n }\n };\n /**\n * Handle the keydown event of the item\n */\n this.handleClick = (e) => {\n if (this.props.disabled) {\n return;\n }\n if (typeof this.props.onClick === \"function\") {\n this.props.onClick(e);\n }\n if (e.defaultPrevented) {\n return;\n }\n this.invokeOption(e);\n };\n /**\n * Handle focus event\n */\n this.handleFocus = (e) => {\n if (this.props.disabled) {\n return;\n }\n if (typeof this.context.listboxItemFocused === \"function\") {\n this.context.listboxItemFocused(this.props, e);\n }\n if (typeof this.props.onFocus === \"function\") {\n this.props.onFocus(e);\n }\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), role: \"option\", id: this.props.id, \"aria-selected\": this.isItemSelected(), \"aria-disabled\": this.props.disabled, onClick: this.handleClick, onFocus: this.handleFocus, onKeyDown: this.handleKeyDown }), this.props.children));\n }\n /**\n * Create class-names\n */\n generateClassNames() {\n const { listboxItem, listboxItem__disabled, listboxItem__selected, } = this.props.managedClasses;\n return super.generateClassNames(classNames(listboxItem, [listboxItem__disabled, this.props.disabled], [listboxItem__selected, this.isItemSelected()]));\n }\n /**\n * Invoke this option\n */\n invokeOption(event) {\n if (this.context.listboxItemInvoked) {\n this.context.listboxItemInvoked(this.props, event);\n }\n if (typeof this.props.onInvoke === \"function\") {\n this.props.onInvoke(event, this.props);\n }\n }\n}\nListboxItem.displayName = `${DisplayNamePrefix}ListboxItem`;\nListboxItem.contextType = ListboxContext;\nListboxItem.defaultProps = {\n disabled: false,\n managedClasses: {},\n};\nListboxItem.contextType = ListboxContext;\nexport default ListboxItem;\nexport * from \"./listbox-item.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { TextFieldType } from \"../text-field/index\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass NumberField extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"input\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), type: TextFieldType.number })));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.numberField));\n }\n}\nNumberField.displayName = `${DisplayNamePrefix}NumberField`;\nNumberField.defaultProps = {\n managedClasses: {},\n};\nexport default NumberField;\nexport * from \"./number-field.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\n/**\n * Radio slot options\n */\nexport var RadioSlot;\n(function (RadioSlot) {\n RadioSlot[\"label\"] = \"label\";\n})(RadioSlot || (RadioSlot = {}));\nclass Radio extends Foundation {\n constructor(props) {\n super(props);\n /**\n * Handled props instantiation\n */\n this.handledProps = {\n ariaLabel: void 0,\n inputId: void 0,\n checked: void 0,\n disabled: void 0,\n managedClasses: void 0,\n name: void 0,\n onChange: void 0,\n label: void 0,\n value: void 0,\n };\n this.handleRadioChange = (e) => {\n if (typeof this.props.checked !== \"boolean\") {\n this.setState({ checked: !this.state.checked });\n }\n if (typeof this.props.onChange === \"function\") {\n this.props.onChange(e);\n }\n };\n this.state = {\n checked: this.props.checked || false,\n };\n }\n static getDerivedStateFromProps(nextProps, prevState) {\n if (typeof nextProps.checked === \"boolean\" &&\n nextProps.checked !== prevState.checked) {\n return {\n checked: nextProps.checked,\n };\n }\n return null;\n }\n render() {\n const { radio_input, radio_stateIndicator, } = this.props.managedClasses;\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() }),\n React.createElement(\"input\", { className: classNames(radio_input), type: \"radio\", id: this.props.inputId, name: this.props.name, onChange: this.handleRadioChange, disabled: this.props.disabled || null, \"aria-label\": this.props.ariaLabel || null, checked: this.state.checked, value: this.props.value }),\n React.createElement(\"span\", { className: classNames(radio_stateIndicator) }),\n this.renderChildrenWithSlot(RadioSlot.label),\n this.renderLabel()));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { radio, radio__disabled, radio__checked, } = this.props.managedClasses;\n return super.generateClassNames(classNames(radio, [radio__disabled, this.props.disabled], [radio__checked, this.state.checked]));\n }\n /**\n * @deprecated - remove in next major version\n */\n /* eslint-disable @typescript-eslint/no-unused-vars */\n renderChildrenWithSlot(slot) {\n const node = this.withSlot(RadioSlot.label);\n return React.Children.map(node, (child, index) => {\n return React.cloneElement(child, {\n className: classNames(child.props.className, this.props.managedClasses.radio_label),\n });\n });\n }\n /* eslint-enable @typescript-eslint/no-unused-vars */\n renderLabel() {\n if (typeof this.props.label === \"function\") {\n return this.props.label(classNames(this.props.managedClasses.radio_label));\n }\n }\n}\nRadio.displayName = `${DisplayNamePrefix}Radio`;\nRadio.defaultProps = {\n managedClasses: {},\n};\nexport default Radio;\nexport * from \"./radio.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, isHTMLElement, keyCodeArrowDown, keyCodeArrowLeft, keyCodeArrowRight, keyCodeArrowUp, keyCodeEnter, keyCodeEscape, keyCodeSpace, } from \"@microsoft/fast-web-utilities\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { get, isEqual, isNil, uniqueId } from \"lodash-es\";\nimport React from \"react\";\nimport Listbox from \"../listbox\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport ViewportPositioner from \"../viewport-positioner\";\nclass Select extends Foundation {\n /**\n * constructor\n */\n constructor(props) {\n super(props);\n /**\n * Handled props instantiation\n */\n this.handledProps = {\n isMenuOpen: void 0,\n disabled: void 0,\n displayStringFormatter: void 0,\n form: void 0,\n labelledBy: void 0,\n multiselectable: void 0,\n trigger: void 0,\n menu: void 0,\n required: void 0,\n managedClasses: void 0,\n selectedItems: void 0,\n defaultSelection: void 0,\n onValueChange: void 0,\n placeholder: void 0,\n autoFocus: void 0,\n menuFlyoutConfig: void 0,\n onMenuSelectionChange: void 0,\n };\n this.rootElement = React.createRef();\n this.triggerId = uniqueId(Select.triggerUniqueIdPrefix);\n /**\n * Determine menu state based on props\n */\n this.checkPropsForMenuState = () => {\n let shouldMenuBeOpen = false;\n if (this.props.isMenuOpen !== undefined) {\n shouldMenuBeOpen = this.props.isMenuOpen;\n }\n else if (this.props.multiselectable === true) {\n shouldMenuBeOpen = true;\n }\n return shouldMenuBeOpen;\n };\n /**\n * This exists only to suppress a build warning\n */\n /* eslint-disable @typescript-eslint/no-unused-vars */\n this.onSelectValueChange = (event) => {\n return null;\n };\n /**\n * Handles selection changes from menu\n */\n this.menuSelectionChange = (newSelection) => {\n if (typeof this.props.onMenuSelectionChange === \"function\") {\n this.props.onMenuSelectionChange(newSelection);\n }\n this.updateSelection(newSelection);\n };\n /**\n * Updates selection state and associated values\n */\n this.updateSelection = (newSelection) => {\n newSelection = this.trimSelection(newSelection);\n const newValue = this.getValueFromSelection(newSelection);\n if (this.state.value === newValue) {\n // no change, abort\n return;\n }\n const newDisplayString = this.getFormattedDisplayString(newSelection);\n if (typeof this.props.onValueChange === \"function\" &&\n !isEqual(newSelection, this.state.selectedItems)) {\n this.props.onValueChange(newValue, newSelection, newDisplayString);\n }\n if (this.props.selectedItems === undefined) {\n const validOptions = this.getValidOptions();\n this.setState({\n selectedItems: newSelection,\n value: newValue,\n displayString: newDisplayString,\n selectedItemIndex: this.getSelectedItemPosInSet(validOptions, newSelection),\n selectableItemCount: validOptions.length,\n });\n }\n };\n /**\n * Updates selection state and associated values from props\n */\n this.updateSelectionFromProps = () => {\n const controlledSelection = this.trimSelection(Listbox.getListboxItemDataFromIds(this.props.selectedItems, this.props.children));\n this.setState({\n selectedItems: controlledSelection,\n value: this.getValueFromSelection(controlledSelection),\n displayString: this.getFormattedDisplayString(controlledSelection),\n });\n };\n /**\n * Trims the selection for single item mode\n */\n this.trimSelection = (selection) => {\n return this.props.multiselectable === false && selection.length > 1\n ? [this.state.selectedItems[0]]\n : selection;\n };\n /**\n * Extracts values in the correct format (string in single select and string[] in multi-select) from an array of items.\n */\n this.getValueFromSelection = (newSelection) => {\n if (this.props.multiselectable) {\n return newSelection.map((thisItem) => {\n return thisItem.value;\n });\n }\n else {\n if (newSelection.length === 0) {\n return \"\";\n }\n return newSelection[0].value;\n }\n };\n /**\n * get the index of the provided selection\n * (excludes children that aren't valid options)\n */\n this.getSelectedItemPosInSet = (options, selection) => {\n if (!this.props.multiselectable && selection.length === 1) {\n const selectionId = selection[0].id;\n const optionCount = options.length;\n for (let i = 0; i < optionCount; i++) {\n if (options[i].props[Select.idPropertyKey] === selectionId) {\n return i + 1;\n }\n }\n }\n return 0;\n };\n /**\n * The default function that renders an unstyled content display\n */\n this.defaultTriggerRenderFunction = (props, state, triggerId) => {\n if (props.multiselectable) {\n return null;\n }\n const labelledBy = `${isNil(this.props.labelledBy) ? \"\" : `${this.props.labelledBy} `}${triggerId}`;\n return (React.createElement(\"button\", { disabled: props.disabled, id: triggerId, \"aria-haspopup\": \"listbox\", \"aria-labelledby\": labelledBy, \"aria-expanded\": state.isMenuOpen }, state.displayString));\n };\n /**\n * The default function that formats the display string generated based on selection.\n * This implementation should match the default formatting a base html select control applies.\n * Developers can provide an alternate formatter if desired.\n */\n this.defaultDisplayStringFormatter = (selectedOptions, placeholder) => {\n const optionValues = selectedOptions.map((selectedOption) => {\n return selectedOption.displayString || selectedOption.value;\n });\n return selectedOptions.length > 0 ? optionValues.join(\", \") : placeholder;\n };\n /**\n * Handles clicks\n */\n this.handleClick = (e) => {\n if (typeof this.props.onClick === \"function\") {\n this.props.onClick(e);\n }\n if (this.props.disabled || e.defaultPrevented) {\n return;\n }\n e.preventDefault();\n this.toggleMenu(!this.state.isMenuOpen);\n if (this.validateMenuState(!this.state.isMenuOpen) === false) {\n this.focusTriggerElement();\n }\n };\n /**\n * Handles key events\n */\n this.handleKeydown = (e) => {\n if (typeof this.props.onKeyDown === \"function\") {\n this.props.onKeyDown(e);\n }\n if (this.props.disabled || e.defaultPrevented) {\n return;\n }\n switch (e.keyCode) {\n case keyCodeEnter:\n case keyCodeSpace:\n // preventing default here because when we change focus to the trigger the keydown event gets\n // emitted from the button again which otherwise toggles the menu a second time on a single key press\n e.preventDefault();\n this.toggleMenu(!this.state.isMenuOpen);\n if (this.validateMenuState(!this.state.isMenuOpen) === false) {\n this.focusTriggerElement();\n }\n break;\n case keyCodeEscape:\n e.preventDefault();\n this.toggleMenu(false);\n this.focusTriggerElement();\n break;\n case keyCodeArrowDown:\n case keyCodeArrowRight:\n e.preventDefault();\n if (!this.props.multiselectable && !this.state.isMenuOpen) {\n this.incrementSelectedOption(+1);\n }\n break;\n case keyCodeArrowUp:\n case keyCodeArrowLeft:\n e.preventDefault();\n if (!this.props.multiselectable && !this.state.isMenuOpen) {\n this.incrementSelectedOption(-1);\n }\n break;\n }\n };\n /**\n * Increment selection\n */\n this.incrementSelectedOption = (increment) => {\n const childrenAsArray = React.Children.toArray(this.props.children);\n if (this.state.selectedItems.length === 1) {\n const selectedItemIndex = Listbox.getItemIndexById(this.state.selectedItems[0].id, this.props.children);\n if (selectedItemIndex !== -1) {\n const startIndex = selectedItemIndex + increment;\n const endIndex = increment > -1 ? childrenAsArray.length - 1 : 0;\n this.selectItemInRange(startIndex, endIndex, childrenAsArray, increment);\n }\n }\n else {\n const isLastChild = increment > -1;\n const lastChildIndex = childrenAsArray.length - 1;\n this.selectItemInRange(isLastChild ? 0 : lastChildIndex, isLastChild ? lastChildIndex : 0, childrenAsArray, increment);\n }\n };\n /**\n * Select a child in a range\n */\n this.selectItemInRange = (startIndex, endIndex, childrenAsArray, increment) => {\n const validOption = Listbox.getFirstValidOptionInRange(startIndex, endIndex, childrenAsArray, increment);\n if (!isNil(validOption)) {\n this.updateSelection([validOption.props]);\n }\n };\n /**\n * Toggles the menu\n */\n this.toggleMenu = (desiredMenuState) => {\n const updatedIsMenuOpen = this.validateMenuState(desiredMenuState);\n if (updatedIsMenuOpen !== this.state.isMenuOpen) {\n this.setState({\n isMenuOpen: updatedIsMenuOpen,\n });\n }\n };\n /**\n * Validate desired menu state against props\n */\n this.validateMenuState = (desiredMenuState) => {\n let shouldOpenMenu = desiredMenuState;\n if (this.props.isMenuOpen !== undefined) {\n shouldOpenMenu = this.props.isMenuOpen;\n }\n else if (this.props.multiselectable === true) {\n shouldOpenMenu = true;\n }\n return shouldOpenMenu;\n };\n /**\n * handle menu blur\n */\n this.handleMenuBlur = (event) => {\n if (this.state.isMenuOpen &&\n !this.props.multiselectable &&\n this.rootElement.current !== null &&\n (!this.rootElement.current.contains(event.relatedTarget) ||\n (isHTMLElement(event.relatedTarget) &&\n event.relatedTarget.id === this.triggerId))) {\n this.toggleMenu(false);\n }\n };\n /**\n * Determines what function needs to be called to format the result string and\n * calls it with the appropriate params\n */\n this.getFormattedDisplayString = (selectedOptions) => {\n return this.props.displayStringFormatter === undefined\n ? this.defaultDisplayStringFormatter(selectedOptions, this.props.placeholder)\n : this.props.displayStringFormatter(selectedOptions, this.props.placeholder);\n };\n /**\n * Determines if a given element is a focusable button\n */\n this.isFocusableButton = (element) => {\n return (element instanceof HTMLButtonElement &&\n element.getAttribute(\"aria-disabled\") !== \"true\");\n };\n /**\n * focus on the trigger button\n */\n this.focusTriggerElement = () => {\n const triggerButton = this.getTriggerButton();\n if (triggerButton !== null) {\n triggerButton.focus();\n }\n };\n /**\n * get valid options\n */\n this.getValidOptions = () => {\n return Listbox.getValidOptions(React.Children.toArray(this.props.children));\n };\n let initialSelection = this.trimSelection(Listbox.getListboxItemDataFromIds(this.props.selectedItems !== undefined\n ? this.props.selectedItems\n : this.props.defaultSelection, this.props.children));\n if (!this.props.multiselectable && initialSelection.length > 1) {\n initialSelection = initialSelection.slice(0, 1);\n }\n const validOptions = this.getValidOptions();\n this.state = {\n selectedItems: initialSelection,\n value: this.getValueFromSelection(initialSelection),\n displayString: this.getFormattedDisplayString(initialSelection),\n isMenuOpen: this.validateMenuState(false),\n selectedItemIndex: this.getSelectedItemPosInSet(validOptions, initialSelection),\n selectableItemCount: validOptions.length,\n };\n }\n componentDidUpdate(prevProps) {\n let shouldUpdateSelection = false;\n let updatedMenuVisibility = this.state.isMenuOpen;\n if (prevProps.multiselectable !== this.props.multiselectable) {\n shouldUpdateSelection = true;\n updatedMenuVisibility = this.checkPropsForMenuState();\n }\n if (prevProps.isMenuOpen !== this.props.isMenuOpen) {\n updatedMenuVisibility = this.checkPropsForMenuState();\n }\n if (updatedMenuVisibility !== this.state.isMenuOpen) {\n this.toggleMenu(updatedMenuVisibility);\n }\n if (prevProps.selectedItems !== this.props.selectedItems) {\n this.updateSelectionFromProps();\n return;\n }\n if (shouldUpdateSelection) {\n this.updateSelection(this.state.selectedItems.map((thisItem) => {\n return thisItem;\n }));\n }\n }\n componentDidMount() {\n this.toggleMenu(this.checkPropsForMenuState());\n if (this.props.autoFocus &&\n !this.state.isMenuOpen &&\n !this.props.multiselectable) {\n this.focusTriggerElement();\n }\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { ref: this.rootElement, className: this.generateClassNames(), onKeyDown: this.handleKeydown, onClick: this.handleClick }),\n this.renderTrigger(),\n this.renderHiddenSelectElement(),\n this.renderMenu()));\n }\n /**\n * Create class names\n */\n generateClassNames() {\n const { select, select__scaleToFit, select__disabled, select_menu__open, select__multiSelectable, } = this.props.managedClasses;\n return super.generateClassNames(classNames(select, [\n select__scaleToFit,\n !isNil(this.props.menuFlyoutConfig) &&\n this.props.menuFlyoutConfig.scaleToFit,\n ], [select__disabled, this.props.disabled], [select_menu__open, this.state.isMenuOpen], [select__multiSelectable, this.props.multiselectable]));\n }\n /**\n * Renders a hidden select element which can interact with a\n * form hosting this component\n */\n renderHiddenSelectElement() {\n return (React.createElement(\"select\", { required: this.props.required || null, name: this.props.name || null, form: this.props.form || null, value: this.state.value, multiple: this.props.multiselectable || null, disabled: this.props.disabled || null, onChange: this.onSelectValueChange, style: {\n display: \"none\",\n } }));\n }\n /**\n * Determine which function to use to render the trigger (ie. the part of the control that shows when the menu isn't open)\n * and invokes it\n */\n renderTrigger() {\n if (this.props.trigger !== undefined) {\n return this.props.trigger(this.props, this.state, this.triggerId);\n }\n else {\n return this.defaultTriggerRenderFunction(this.props, this.state, this.triggerId);\n }\n }\n /**\n * Determine which function to use to render the menu and invokes it\n */\n renderMenu() {\n if (!this.state.isMenuOpen) {\n return;\n }\n // in single select mode we always focus on an item when menu is opened,\n // multi-select lists only auto focus on an item if explicitly set to do so via props\n let shouldFocusOnMount = !this.props.multiselectable;\n if (this.props.multiselectable && this.props.autoFocus) {\n shouldFocusOnMount = this.props.multiselectable;\n }\n const defaultMenu = (React.createElement(Listbox, { labelledBy: this.props.labelledBy, disabled: this.props.disabled, focusItemOnMount: shouldFocusOnMount, multiselectable: this.props.multiselectable, defaultSelection: this.state.selectedItems, selectedItems: this.props.selectedItems, onSelectedItemsChanged: this.menuSelectionChange, onBlur: this.handleMenuBlur, selectOnFocus: false, tabIndex: -1, managedClasses: {\n listbox: get(this.props.managedClasses, \"select_menu\", \"\"),\n listbox__disabled: get(this.props.managedClasses, \"select_menuDisabled\", \"\"),\n } }, this.props.children));\n const customMenu = typeof this.props.menu === \"function\"\n ? this.props.menu(this.props, this.state, defaultMenu)\n : defaultMenu;\n if (isNil(this.props.menuFlyoutConfig)) {\n return customMenu;\n }\n else {\n return (React.createElement(ViewportPositioner, Object.assign({ anchor: this.rootElement }, this.props.menuFlyoutConfig, { managedClasses: this.generateViewportPositionerClassNames() }), customMenu));\n }\n }\n /**\n * Returns viewport positioner managedclasses for select\n */\n generateViewportPositionerClassNames() {\n const { select__menuPositioningRegion, select__menuPositionLeft, select__menuPositionRight, select__menuPositionTop, select__menuPositionBottom, select__menuPositionHorizontalInset, select__menuPositionVerticalInset, } = this.props.managedClasses;\n return {\n viewportPositioner: select__menuPositioningRegion,\n viewportPositioner__left: select__menuPositionLeft,\n viewportPositioner__right: select__menuPositionRight,\n viewportPositioner__top: select__menuPositionTop,\n viewportPositioner__bottom: select__menuPositionBottom,\n viewportPositioner__horizontalInset: select__menuPositionHorizontalInset,\n viewportPositioner__verticalInset: select__menuPositionVerticalInset,\n };\n }\n /**\n * Return the first child of the select that is a non-disabled button\n */\n getTriggerButton() {\n const children = canUseDOM() && this.rootElement.current instanceof HTMLElement\n ? Array.from(this.rootElement.current.children)\n : [];\n const focusChildIndex = children.findIndex(this.isFocusableButton);\n return focusChildIndex !== -1\n ? children[focusChildIndex]\n : null;\n }\n}\nSelect.displayName = `${DisplayNamePrefix}Select`;\nSelect.defaultProps = {\n multiselectable: false,\n disabled: false,\n defaultSelection: [],\n placeholder: \"\",\n managedClasses: {},\n};\nSelect.idPropertyKey = \"id\";\nSelect.triggerUniqueIdPrefix = \"selecttrigger-\";\nexport default Select;\nexport * from \"./select.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass TextArea extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"textarea\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() })));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.textArea));\n }\n}\nTextArea.displayName = `${DisplayNamePrefix}TextArea`;\nTextArea.defaultProps = {\n managedClasses: {},\n};\nexport default TextArea;\nexport * from \"./text-area.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\n/**\n * Toggle base component\n */\nclass Toggle extends Foundation {\n /**\n * Define constructor\n */\n constructor(props) {\n super(props);\n this.handledProps = {\n managedClasses: void 0,\n disabled: void 0,\n inputId: void 0,\n labelId: void 0,\n name: void 0,\n selected: void 0,\n selectedMessage: void 0,\n statusMessageId: void 0,\n unselectedMessage: void 0,\n onChange: void 0,\n };\n /**\n * Handles onChange as a controlled component\n */\n this.handleToggleChange = (e) => {\n if (typeof this.props.selected !== \"boolean\") {\n this.setState({ selected: !this.state.selected });\n }\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n };\n this.state = {\n selected: this.props.selected || false,\n };\n }\n /**\n * React life-cycle method\n */\n static getDerivedStateFromProps(nextProps, prevState) {\n if (typeof nextProps.selected === \"boolean\" &&\n nextProps.selected !== prevState.selected) {\n return {\n selected: nextProps.selected,\n };\n }\n return null;\n }\n /**\n * Renders the component\n */\n render() {\n const { toggle_toggleButton, toggle_input, toggle_stateIndicator, } = this.props.managedClasses;\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), \"aria-disabled\": this.props.disabled || null }),\n this.generateLabel(),\n React.createElement(\"div\", { className: classNames(toggle_toggleButton) },\n React.createElement(\"input\", { className: classNames(toggle_input), type: \"checkbox\", id: this.props.inputId, \"aria-describedby\": this.props.statusMessageId, disabled: this.props.disabled, name: this.props.name, value: this.generateToggleStateLabel(), onChange: this.handleToggleChange, checked: this.state.selected }),\n React.createElement(\"span\", { className: classNames(toggle_stateIndicator) })),\n this.renderStatusMessage()));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { toggle, toggle__disabled, toggle__checked, } = this.props.managedClasses;\n return super.generateClassNames(classNames(toggle, [toggle__disabled, this.props.disabled], [toggle__checked, this.state.selected]));\n }\n /**\n * Creates proper string based on state\n */\n generateToggleStateLabel() {\n return this.state.selected\n ? this.props.selectedMessage\n : this.props.unselectedMessage;\n }\n /**\n * Generates label if it exists\n */\n generateLabel() {\n if (this.props.labelId || this.props.children) {\n return (React.createElement(\"label\", { className: classNames(this.props.managedClasses.toggle_label), id: this.props.labelId, htmlFor: this.props.inputId }, this.props.children));\n }\n }\n renderStatusMessage() {\n if (this.props.selectedMessage || this.props.unselectedMessage) {\n return (React.createElement(\"span\", { id: this.props.statusMessageId, className: classNames(this.props.managedClasses.toggle_statusMessage) }, this.generateToggleStateLabel()));\n }\n }\n}\nToggle.displayName = `${DisplayNamePrefix}Toggle`;\nToggle.defaultProps = {\n managedClasses: {},\n};\nexport default Toggle;\nexport * from \"./toggle.props\";\n","import React from \"react\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, keyCodeArrowDown, keyCodeArrowLeft, keyCodeArrowRight, keyCodeArrowUp, keyCodeEnter, keyCodeSpace, } from \"@microsoft/fast-web-utilities\";\nimport { getDisplayedNodes, isHTMLElement } from \"@microsoft/fast-web-utilities\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { TreeViewContext } from \"../tree-view/tree-view\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass TreeViewItem extends Foundation {\n constructor(props) {\n super(props);\n this.handledProps = {\n dragConnect: void 0,\n expandCollapseGlyph: void 0,\n titleContent: void 0,\n children: void 0,\n managedClasses: void 0,\n selected: void 0,\n defaultExpanded: void 0,\n onExpandedChange: void 0,\n onSelected: void 0,\n };\n this.rootElement = React.createRef();\n this.expandCollapseButton = React.createRef();\n /**\n * Handles the focus event of the root element\n */\n this.handleFocus = (e) => {\n // Only change focusability if the event is on the node itself\n // and not a child node\n if (e.target === e.currentTarget) {\n this.setState({ focusable: true });\n // Notify the parent TreeView component that a new item has been focused,\n // and should tree this item as the last-focused item\n if (typeof this.context.setLastFocused === \"function\") {\n this.context.setLastFocused(this.rootElement);\n }\n }\n };\n /**\n * Handles the blur event on the root element\n */\n this.handleBlur = (e) => {\n // Ignore the event if the event happened on a child node\n if (!canUseDOM() || e.target !== e.currentTarget) {\n return;\n }\n this.setState({ focusable: false });\n };\n /**\n * handles the keydown event of the tree view item\n */\n this.handleKeyDown = (e) => {\n if (e.target !== e.currentTarget) {\n return;\n }\n switch (e.keyCode) {\n case keyCodeArrowLeft:\n this.handleArrowLeft();\n break;\n case keyCodeArrowRight:\n this.handleArrowRight();\n break;\n case keyCodeArrowDown:\n // Prevent scrolling\n e.preventDefault();\n this.focusNextNode(1);\n break;\n case keyCodeArrowUp:\n // Prevent scrolling\n e.preventDefault();\n this.focusNextNode(-1);\n break;\n case keyCodeEnter:\n this.handleSelected(e);\n break;\n case keyCodeSpace:\n this.handleSpaceBar();\n break;\n }\n };\n /**\n * Click handler for expand/collapse button\n */\n this.handleExpandCollapseButtonClick = () => {\n this.setExpanded(!this.state.expanded);\n };\n /**\n * Call the onSelected callback if it exists\n */\n this.handleSelected = (e) => {\n if (typeof this.props.onSelected === \"function\") {\n this.props.onSelected(this.props, e);\n }\n };\n /**\n * Handles the click event of the tree view item, except for the expand/collapse button\n */\n this.handleContentContainerClick = (e) => {\n const expandButton = this.expandCollapseButton.current;\n if (!isHTMLElement(expandButton) ||\n (isHTMLElement(expandButton) && expandButton !== e.target)) {\n this.handleSelected(e);\n }\n };\n this.state = {\n focusable: false,\n expanded: this.hasChildNodes() ? this.props.defaultExpanded : undefined,\n };\n }\n componentDidMount() {\n if (this.hasChildNodes()) {\n this.adjustNestedTreeItemCount(1);\n if (this.hasSelectedChild() && !this.state.expanded) {\n this.setExpanded(true);\n }\n }\n }\n componentDidUpdate(prevProps) {\n // if we become selected, call the selected callback\n if (this.props.selected && !prevProps.selected) {\n this.handleSelected();\n }\n const hadChildNodes = this.hasChildNodes(prevProps);\n const hasChildNodes = this.hasChildNodes();\n if (hasChildNodes && !hadChildNodes) {\n // if defaultExpanded is false and a child node is selected, set expanded (triggers callback)\n // if not, set expanded state to this.props.defaultExpanded\n this.props.defaultExpanded === false && this.hasSelectedChild()\n ? this.setExpanded(true)\n : this.setState({ expanded: this.props.defaultExpanded });\n this.adjustNestedTreeItemCount(1);\n }\n else if (hadChildNodes && !hasChildNodes) {\n this.adjustNestedTreeItemCount(-1);\n }\n }\n componentWillUnmount() {\n if (this.hasChildNodes()) {\n this.adjustNestedTreeItemCount(-1);\n }\n }\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { role: \"treeitem\", \"aria-expanded\": this.state.expanded, \"aria-selected\": !!this.props.selected, tabIndex: this.state.focusable ? 0 : -1, className: this.generateClassNames(), onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, ref: this.rootElement }),\n this.renderItem(),\n this.renderChildNodes()));\n }\n generateClassNames() {\n const { treeViewItem, treeViewItem__expanded, treeViewItem__nested, treeViewItem__selected, } = this.props.managedClasses;\n return super.generateClassNames(classNames(treeViewItem, [treeViewItem__expanded, this.state.expanded], [treeViewItem__nested, this.context.nested], [treeViewItem__selected, this.props.selected]));\n }\n renderItem() {\n const { treeViewItem_contentRegion, treeViewItem_innerContentRegion, } = this.props.managedClasses;\n const node = (React.createElement(\"div\", { className: classNames(treeViewItem_contentRegion), onClick: this.handleContentContainerClick },\n React.createElement(\"div\", { className: classNames(treeViewItem_innerContentRegion) },\n this.renderExpandCollapseButton(),\n this.props.titleContent)));\n return typeof this.props.dragConnect === \"function\"\n ? this.props.dragConnect(node)\n : node;\n }\n adjustNestedTreeItemCount(count) {\n if (typeof this.context.adjustNestedTreeItemCount === \"function\") {\n this.context.adjustNestedTreeItemCount(count);\n }\n }\n /**\n * Determines if the item has sub-items and should be collapse/expandable\n */\n hasChildNodes(props = this.props) {\n return !!props.children;\n }\n /**\n * Determines if the item has sub-items which are selected\n */\n hasSelectedChild() {\n const currentNode = this.rootElement.current;\n if (!isHTMLElement(currentNode) || !canUseDOM()) {\n return null;\n }\n return !!currentNode.querySelector(\"[aria-selected='true'\");\n }\n /**\n * Handles when the left arrow is pressed\n */\n handleArrowLeft() {\n if (this.state.expanded) {\n this.setExpanded(false);\n }\n else if (canUseDOM() &&\n isHTMLElement(this.rootElement.current) &&\n isHTMLElement(this.rootElement.current.parentElement)) {\n const parentElement = this.rootElement.current.parentElement;\n if (isHTMLElement(parentElement)) {\n const parentNode = parentElement.closest(\"[role='treeitem']\");\n if (isHTMLElement(parentNode)) {\n parentNode.focus();\n }\n }\n }\n }\n /**\n * Handles when the space bar is pressed\n */\n handleSpaceBar() {\n if (typeof this.state.expanded !== \"boolean\") {\n return;\n }\n this.setExpanded(!this.state.expanded);\n }\n /**\n * Handles when the right arrow is pressed\n */\n handleArrowRight() {\n if (typeof this.state.expanded !== \"boolean\") {\n return;\n }\n if (!this.state.expanded) {\n this.setExpanded(true);\n }\n else {\n this.focusNextNode(1);\n }\n }\n focusNextNode(delta) {\n if (!canUseDOM()) {\n return;\n }\n const visibleNodes = this.getVisibleNodes();\n if (!visibleNodes) {\n return;\n }\n const currentIndex = visibleNodes.indexOf(this.rootElement.current);\n if (currentIndex !== -1) {\n const nextElement = visibleNodes[currentIndex + delta];\n if (isHTMLElement(nextElement)) {\n nextElement.focus();\n }\n }\n }\n /**\n * Returns an array of all tree item nodes that are\n * currently visible (not hidden under a collapsed node)\n */\n getVisibleNodes() {\n return canUseDOM()\n ? getDisplayedNodes(this.getTreeRoot(), \"[role='treeitem']\")\n : [];\n }\n /**\n * Get the root element of the tree. This will always be the\n * closest element with [role='tree']\n */\n getTreeRoot() {\n const currentNode = this.rootElement.current;\n if (!isHTMLElement(currentNode) || !canUseDOM()) {\n return null;\n }\n return currentNode.closest(\"[role='tree']\");\n }\n wrapChildOnSelected(childOnSelected) {\n return (props, e) => {\n if (childOnSelected) {\n childOnSelected(props, e);\n }\n this.setExpanded(true);\n };\n }\n wrapChildOnExpandedChange(childOnExpandedChange) {\n return (childExpanded, childProps) => {\n if (childOnExpandedChange) {\n childOnExpandedChange(childExpanded, childProps);\n }\n if (childExpanded) {\n this.setExpanded(true);\n }\n };\n }\n renderChildNodes() {\n return this.hasChildNodes() ? (React.createElement(\"div\", { role: \"group\", className: classNames(this.props.managedClasses.treeViewItem_childNodeRegion) }, React.Children.map(this.props.children, (child) => {\n if (!React.isValidElement(child) || !child.props) {\n return child;\n }\n return React.cloneElement(child, Object.assign(Object.assign({}, child.props), { onSelected: this.wrapChildOnSelected(child.props.onSelected), onExpandedChange: this.wrapChildOnExpandedChange(child.props.onExpandedChange) }));\n }))) : null;\n }\n renderExpandCollapseButton() {\n const { treeViewItem_expandCollapseButton, treeViewItem_expandCollapseGlyph, } = this.props.managedClasses;\n return this.hasChildNodes() ? (\n // This really should render a button but Narrator sometimes still brings it focus\n // in scan-mode, so making this a div\n React.createElement(\"div\", { \"aria-hidden\": true, className: classNames(treeViewItem_expandCollapseButton), onClick: this.handleExpandCollapseButtonClick, ref: this.expandCollapseButton }, typeof this.props.expandCollapseGlyph === \"function\"\n ? this.props.expandCollapseGlyph(treeViewItem_expandCollapseGlyph)\n : null)) : null;\n }\n /**\n * Sets the expanded state of the component if necessary and\n * notifies listeners of the state change.\n */\n setExpanded(expanded) {\n if (this.hasChildNodes()) {\n this.setState({\n expanded,\n }, () => {\n if (typeof this.props.onExpandedChange === \"function\") {\n this.props.onExpandedChange(expanded, this.props);\n }\n });\n }\n }\n}\nTreeViewItem.displayName = `${DisplayNamePrefix}TreeViewItem`;\nTreeViewItem.defaultProps = {\n defaultExpanded: false,\n managedClasses: {},\n};\nTreeViewItem.contextType = TreeViewContext;\nexport default TreeViewItem;\nexport * from \"./tree-view-item.props\";\n","export var ProgressSize;\n(function (ProgressSize) {\n ProgressSize[\"control\"] = \"control\";\n ProgressSize[\"container\"] = \"container\";\n ProgressSize[\"page\"] = \"page\";\n})(ProgressSize || (ProgressSize = {}));\n","export var ActionTriggerAppearance;\n(function (ActionTriggerAppearance) {\n ActionTriggerAppearance[\"justified\"] = \"justified\";\n ActionTriggerAppearance[\"lightweight\"] = \"lightweight\";\n ActionTriggerAppearance[\"outline\"] = \"outline\";\n ActionTriggerAppearance[\"primary\"] = \"primary\";\n ActionTriggerAppearance[\"stealth\"] = \"stealth\";\n})(ActionTriggerAppearance || (ActionTriggerAppearance = {}));\n","import { mergeWith } from \"lodash-es\";\nimport React from \"react\";\nimport { designSystemContext } from \"./context\";\nimport SheetManager from \"./sheet-manager\";\nexport function mergeClassNames(a, b) {\n if (typeof a === \"string\" && typeof b === \"string\") {\n return a.concat(\" \", b);\n }\n else if (typeof a === \"string\") {\n return a;\n }\n else if (typeof b === \"string\") {\n return b;\n }\n}\nclass JSSManager extends React.Component {\n constructor(props, context) {\n super(props, context);\n /**\n * Simple switch to track the initial creation of styles.\n * Because the \"styles\" property is abstract and abstract properties\n * are not accessible in the constructor, we need to compile styles\n * inside the first call of the render function\n */\n this.hasCreatedIntialStyleSheets = false;\n this.index = JSSManager.index -= 1;\n this.designSystem = context;\n }\n /**\n * Sets the JSS instance used by all JSSManger instances\n */\n static set jss(instance) {\n JSSManager.sheetManager.jss = instance;\n }\n /**\n * Get the JSS instance used by all JSSManger instances\n */\n static get jss() {\n return JSSManager.sheetManager.jss;\n }\n static subscribe(subscriber) {\n return JSSManager.sheetManager.subscribe(subscriber);\n }\n static unsubscribe(subscriber) {\n JSSManager.sheetManager.unsubscribe(subscriber);\n }\n render() {\n if (!this.hasCreatedIntialStyleSheets) {\n if (this.styles) {\n const options = {\n meta: this.managedComponent.displayName || this.managedComponent.name,\n index: this.index,\n };\n if (typeof JSSManager.createGenerateClassName === \"function\") {\n options.generateClassName = JSSManager.createGenerateClassName(this.designSystem);\n }\n JSSManager.sheetManager.add(this.styles, this.designSystem, options);\n }\n if (this.props.jssStyleSheet) {\n this.createPropStyleSheet();\n }\n this.hasCreatedIntialStyleSheets = true;\n }\n return React.createElement(this.managedComponent, this.managedComponentProps());\n }\n componentDidUpdate(prevProps) {\n const hasSheetProps = !!this.props.jssStyleSheet;\n const hadSheetProps = !!prevProps.jssStyleSheet;\n if (this.designSystem !== this.context) {\n if (this.styles) {\n JSSManager.sheetManager.update(this.styles, this.designSystem, this.context);\n this.forceUpdate();\n }\n if (hadSheetProps && hasSheetProps) {\n if (prevProps.jssStyleSheet === this.props.jssStyleSheet) {\n JSSManager.sheetManager.update(this.props.jssStyleSheet, this.designSystem, this.context);\n }\n else {\n JSSManager.sheetManager.remove(prevProps.jssStyleSheet, this.designSystem);\n this.createPropStyleSheet(this.context);\n }\n this.forceUpdate();\n }\n else if (hadSheetProps && !hasSheetProps) {\n JSSManager.sheetManager.remove(prevProps.jssStyleSheet, this.designSystem);\n }\n else if (!hadSheetProps && hasSheetProps) {\n this.createPropStyleSheet(this.context);\n this.forceUpdate();\n }\n this.designSystem = this.context;\n }\n else if (hadSheetProps &&\n hasSheetProps &&\n prevProps.jssStyleSheet !== this.props.jssStyleSheet) {\n JSSManager.sheetManager.remove(prevProps.jssStyleSheet, this.designSystem);\n this.createPropStyleSheet();\n this.forceUpdate();\n }\n if (hadSheetProps && !hasSheetProps) {\n JSSManager.sheetManager.remove(prevProps.jssStyleSheet, this.designSystem);\n }\n else if (!hadSheetProps && hasSheetProps) {\n this.createPropStyleSheet();\n this.forceUpdate();\n }\n }\n componentWillUnmount() {\n if (this.styles) {\n JSSManager.sheetManager.remove(this.styles, this.designSystem);\n }\n if (this.props.jssStyleSheet) {\n JSSManager.sheetManager.remove(this.props.jssStyleSheet, this.designSystem);\n }\n JSSManager.index++;\n // reset style creation tracker in case the instance is re-used\n this.hasCreatedIntialStyleSheets = false;\n }\n /**\n * Return the JSSStyleSheet associated with the current designSystem and style\n */\n primaryStyleSheet() {\n if (this.styles) {\n return JSSManager.sheetManager.get(this.styles, this.designSystem);\n }\n }\n /**\n * Return the JSSStylesheet associated with the jssStyleSheet prop\n */\n secondaryStyleSheet() {\n if (this.props.jssStyleSheet) {\n return JSSManager.sheetManager.get(this.props.jssStyleSheet, this.designSystem);\n }\n }\n /**\n * Generate a prop object to give to the managed component\n */\n managedComponentProps() {\n const props = Object.assign(Object.assign({}, this.props), { managedClasses: this.getManagedClassNames(), ref: this.props.innerRef });\n delete props.jssStyleSheet;\n delete props.innerRef;\n return props;\n }\n /**\n * Returns the classes to pass down to the managed component\n */\n getManagedClassNames() {\n let primaryClasses = {};\n let secondaryClasses = {};\n const primarySheet = this.primaryStyleSheet();\n const secondarySheet = this.secondaryStyleSheet();\n if (!!primarySheet && primarySheet.hasOwnProperty(\"classes\")) {\n primaryClasses = Object.assign({}, primarySheet.classes);\n }\n if (!!secondarySheet && secondarySheet.hasOwnProperty(\"classes\")) {\n secondaryClasses = Object.assign({}, secondarySheet.classes);\n }\n return mergeWith(primaryClasses, secondaryClasses, mergeClassNames);\n }\n createPropStyleSheet(designSystem = this.designSystem) {\n const stylesheet = this.primaryStyleSheet();\n const options = {\n meta: `${this.managedComponent.displayName || this.managedComponent.name} - jssStyleSheet`,\n index: stylesheet ? stylesheet.options.index + 1 : this.index + 1,\n };\n if (typeof JSSManager.createGenerateClassName === \"function\") {\n options.generateClassName = JSSManager.createGenerateClassName(designSystem);\n }\n JSSManager.sheetManager.add(this.props.jssStyleSheet, designSystem, options);\n }\n}\n/**\n * Define the contextType for the manager to be the design system context\n */\nJSSManager.contextType = designSystemContext;\n/**\n * JSS allows us to use an index to order the created style elements. The higher the index,\n * the later in the document the style element will be created.\n *\n * This static index allows us to globally track every stylesheet created by the JSSManager. Each\n * instance decrements this index and assigns itself the decremented value. The effect of this is that\n * a React parent will always have a higher index than it's children because react constructs trees\n * recursively starting at the root. With a parent always having a higher index then it's children,\n * we can inform JSS of this order preference and ensure parent stylesheets always come later in the DOM.\n *\n * Inspiration for this approach to style element ordering comes from\n * https://github.com/cssinjs/react-jss/blob/master/src/injectSheet.js\n */\nJSSManager.index = -1000;\n/**\n * Manages stylesheets\n */\nJSSManager.sheetManager = new SheetManager();\nexport { JSSManager };\n","import { jss, stylesheetRegistry } from \"./jss\";\n/**\n * A class for managing instance of stylesheets. The SheetManager\n * tracks and associates compiled stylesheets with their style/design-system inputs,\n * as well as tracking number of times a style/design-system combination has been used.\n * Tracking this allows us to memoize compiled stylesheets and only compile a new sheet\n * when one does not already exist.\n */\nexport default class SheetManager {\n constructor() {\n this.jss = jss;\n this.registry = new WeakMap();\n }\n /**\n * Creates a new JSS stylesheet from a stylesheet and design-system.\n * If a JSS style sheet has been created with this stylesheet and design system already,\n * then simply track that another instance has been added\n */\n add(styles, designSystem, options) {\n const tracker = this.getTracker(styles, designSystem);\n if (Array.isArray(tracker)) {\n tracker[1]++;\n return;\n }\n let designSystemRegistry = this.registry.get(styles);\n if (designSystemRegistry === undefined) {\n // If we don't have any design system instances for the current stylesheet,\n // we need to create a new map to store them\n designSystemRegistry = new WeakMap();\n this.registry.set(styles, designSystemRegistry);\n }\n this.registry\n .get(styles)\n .set(designSystem, [this.createStyleSheet(styles, designSystem, options), 1]);\n }\n /**\n * Return the compiled jss stylesheet associated with a given style object and design system\n */\n get(styles, designSystem) {\n const tracker = this.getTracker(styles, designSystem);\n if (Array.isArray(tracker) && !!tracker[0]) {\n return tracker[0];\n }\n return;\n }\n /**\n * Removes a reference for a stylesheet and designSystem and adds a new reference. Useful\n * when the design system changes and the stylesheet should be associated with a new\n * design system\n */\n update(styles, previousDesignSystem, nextDesignSystem) {\n const tracker = this.getTracker(styles, previousDesignSystem);\n if (!tracker) {\n return;\n }\n /**\n * If we only have one sheet and this sheet isn't associated with the next design system, *and* it's an object,\n * we can simply update the sheet and move it's reference instead of completely tearing down the sheet and\n * re-creating a style element\n */\n if (tracker[1] === 1 &&\n !this.get(styles, nextDesignSystem) &&\n !!styles &&\n typeof styles === \"object\") {\n const sheet = tracker[0];\n sheet.update(nextDesignSystem);\n this.notify(\"update\", sheet);\n this.registry.get(styles).delete(previousDesignSystem);\n this.registry.get(styles).set(nextDesignSystem, tracker);\n }\n else {\n this.remove(styles, previousDesignSystem);\n this.add(styles, nextDesignSystem, tracker[0].options);\n }\n }\n /**\n * Reduces the internal count for a stylesheet and designsystem. If the count becomes zero,\n * the sheet will be detached\n */\n remove(styles, designSystem) {\n const tracker = this.getTracker(styles, designSystem);\n if (Array.isArray(tracker)) {\n tracker[1]--;\n if (tracker[1] === 0) {\n const sheet = tracker[0];\n this.jss.removeStyleSheet(sheet);\n stylesheetRegistry.remove(sheet);\n this.notify(\"remove\", sheet);\n this.registry.get(styles).delete(designSystem);\n }\n }\n }\n /**\n * Returns the number of components using a stylesheet with a designSystem\n */\n count(styles, designSystem) {\n const tracker = this.getTracker(styles, designSystem);\n if (Array.isArray(tracker)) {\n return tracker[1];\n }\n return -1;\n }\n /**\n * Removes all entries\n */\n clean() {\n this.registry = new WeakMap();\n }\n /**\n * Retrieve the sheet tracker tracking the styles and design system\n */\n getTracker(styles, designSystem) {\n const designSystemRegistry = this.registry.get(styles);\n if (designSystemRegistry instanceof WeakMap) {\n const tracker = designSystemRegistry.get(designSystem);\n if (Array.isArray(tracker)) {\n return tracker;\n }\n }\n }\n /**\n * Creates a JSS StyleSheet and attaches it to the DOM\n */\n createStyleSheet(styles, designSystem, options = {}) {\n const stylesheet = typeof styles === \"function\" ? styles(designSystem) : styles;\n const sheet = this.jss.createStyleSheet(stylesheet, Object.assign({ link: true }, options));\n sheet.update(designSystem).attach();\n stylesheetRegistry.add(sheet);\n this.notify(\"add\", sheet);\n return sheet;\n }\n notify(type, sheet) {\n if (Array.isArray(this.subscribers)) {\n this.subscribers.forEach((subscriber) => subscriber({ type, sheet }));\n }\n }\n /**\n * Subscribe to add, update, and remove events taken by the sheet manager.\n * @param subscriber The subscription function to invoke\n */\n subscribe(subscriber) {\n if (!Array.isArray(this.subscribers)) {\n this.subscribers = [];\n }\n if (this.subscribers.indexOf(subscriber) === -1) {\n this.subscribers.push(subscriber);\n }\n return () => {\n this.unsubscribe(subscriber);\n };\n }\n unsubscribe(subscriber) {\n if (Array.isArray(this.subscribers)) {\n const index = this.subscribers.indexOf(subscriber);\n if (index !== -1) {\n this.subscribers.splice(index, 1);\n }\n }\n }\n}\n","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nexport default constant;\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\nexport default overArg;\n","import assignValue from './_assignValue.js';\nimport castPath from './_castPath.js';\nimport isIndex from './_isIndex.js';\nimport isObject from './isObject.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\nfunction baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n}\n\nexport default baseSet;\n","import root from './_root.js';\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/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nexport default cloneBuffer;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nexport default cloneTypedArray;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\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 infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _jssTemplate = require('jss-template');\n\nvar _jssTemplate2 = _interopRequireDefault(_jssTemplate);\n\nvar _jssGlobal = require('jss-global');\n\nvar _jssGlobal2 = _interopRequireDefault(_jssGlobal);\n\nvar _jssExtend = require('jss-extend');\n\nvar _jssExtend2 = _interopRequireDefault(_jssExtend);\n\nvar _jssNested = require('jss-nested');\n\nvar _jssNested2 = _interopRequireDefault(_jssNested);\n\nvar _jssCompose = require('jss-compose');\n\nvar _jssCompose2 = _interopRequireDefault(_jssCompose);\n\nvar _jssCamelCase = require('jss-camel-case');\n\nvar _jssCamelCase2 = _interopRequireDefault(_jssCamelCase);\n\nvar _jssDefaultUnit = require('jss-default-unit');\n\nvar _jssDefaultUnit2 = _interopRequireDefault(_jssDefaultUnit);\n\nvar _jssExpand = require('jss-expand');\n\nvar _jssExpand2 = _interopRequireDefault(_jssExpand);\n\nvar _jssVendorPrefixer = require('jss-vendor-prefixer');\n\nvar _jssVendorPrefixer2 = _interopRequireDefault(_jssVendorPrefixer);\n\nvar _jssPropsSort = require('jss-props-sort');\n\nvar _jssPropsSort2 = _interopRequireDefault(_jssPropsSort);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return {\n plugins: [(0, _jssTemplate2.default)(options.template), (0, _jssGlobal2.default)(options.global), (0, _jssExtend2.default)(options.extend), (0, _jssNested2.default)(options.nested), (0, _jssCompose2.default)(options.compose), (0, _jssCamelCase2.default)(options.camelCase), (0, _jssDefaultUnit2.default)(options.defaultUnit), (0, _jssExpand2.default)(options.expand), (0, _jssVendorPrefixer2.default)(options.vendorPrefixer), (0, _jssPropsSort2.default)(options.propsSort)]\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\nexport default baseFindIndex;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\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 = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\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 || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\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\nexport default arraySome;\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\nexport default cacheHas;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\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\nexport default baseGetAllKeys;\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\nexport default stubArray;\n","/** Used to compose unicode character classes. */\nvar rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsVarRange = '\\\\ufe0e\\\\ufe0f';\n\n/** Used to compose unicode capture groups. */\nvar rsZWJ = '\\\\u200d';\n\n/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\nvar reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n/**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\nfunction hasUnicode(string) {\n return reHasUnicode.test(string);\n}\n\nexport default hasUnicode;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited 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 getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n","import baseFor from './_baseFor.js';\nimport keys from './keys.js';\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\nexport default baseForOwn;\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeFloor = Math.floor,\n nativeRandom = Math.random;\n\n/**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\nfunction baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n}\n\nexport default baseRandom;\n","import { roundToPrecisionSmall } from \"./math-utilities\";\n/**\n * This uses Hue values in \"degree\" format. So expect a range of [0,360]. Some other implementations instead uses radians or a normalized Hue with range [0,1]. Be aware of this when checking values or using other libraries.\n *\n * @public\n */\nexport class ColorHSV {\n constructor(hue, sat, val) {\n this.h = hue;\n this.s = sat;\n this.v = val;\n }\n /**\n * Construct a {@link ColorHSV} from a config object.\n */\n static fromObject(data) {\n if (data && !isNaN(data.h) && !isNaN(data.s) && !isNaN(data.v)) {\n return new ColorHSV(data.h, data.s, data.v);\n }\n return null;\n }\n /**\n * Determines if a color is equal to another\n * @param rhs - the value to compare\n */\n equalValue(rhs) {\n return this.h === rhs.h && this.s === rhs.s && this.v === rhs.v;\n }\n /**\n * Returns a new {@link ColorHSV} rounded to the provided precision\n * @param precision - the precision to round to\n */\n roundToPrecision(precision) {\n return new ColorHSV(roundToPrecisionSmall(this.h, precision), roundToPrecisionSmall(this.s, precision), roundToPrecisionSmall(this.v, precision));\n }\n /**\n * Returns the {@link ColorHSV} formatted as an object.\n */\n toObject() {\n return { h: this.h, s: this.s, v: this.v };\n }\n}\n","import baseGet from './_baseGet.js';\nimport baseSet from './_baseSet.js';\nimport castPath from './_castPath.js';\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n}\n\nexport default basePickBy;\n","/**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\nfunction baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n}\n\nexport default baseClamp;\n","// A singleton Range instance used to efficiently remove ranges of DOM nodes.\n// See the implementation of HTMLView below for further details.\nconst range = document.createRange();\n/**\n * The standard View implementation, which also implements ElementView and SyntheticView.\n * @public\n */\nexport class HTMLView {\n /**\n * Constructs an instance of HTMLView.\n * @param fragment - The html fragment that contains the nodes for this view.\n * @param behaviors - The behaviors to be applied to this view.\n */\n constructor(fragment, behaviors) {\n this.fragment = fragment;\n this.behaviors = behaviors;\n /**\n * The data that the view is bound to.\n */\n this.source = null;\n /**\n * The execution context the view is running within.\n */\n this.context = null;\n this.firstChild = fragment.firstChild;\n this.lastChild = fragment.lastChild;\n }\n /**\n * Appends the view's DOM nodes to the referenced node.\n * @param node - The parent node to append the view's DOM nodes to.\n */\n appendTo(node) {\n node.appendChild(this.fragment);\n }\n /**\n * Inserts the view's DOM nodes before the referenced node.\n * @param node - The node to insert the view's DOM before.\n */\n insertBefore(node) {\n if (this.fragment.hasChildNodes()) {\n node.parentNode.insertBefore(this.fragment, node);\n }\n else {\n const parentNode = node.parentNode;\n const end = this.lastChild;\n let current = this.firstChild;\n let next;\n while (current !== end) {\n next = current.nextSibling;\n parentNode.insertBefore(current, node);\n current = next;\n }\n parentNode.insertBefore(end, node);\n }\n }\n /**\n * Removes the view's DOM nodes.\n * The nodes are not disposed and the view can later be re-inserted.\n */\n remove() {\n const fragment = this.fragment;\n const end = this.lastChild;\n let current = this.firstChild;\n let next;\n while (current !== end) {\n next = current.nextSibling;\n fragment.appendChild(current);\n current = next;\n }\n fragment.appendChild(end);\n }\n /**\n * Removes the view and unbinds its behaviors, disposing of DOM nodes afterward.\n * Once a view has been disposed, it cannot be inserted or bound again.\n */\n dispose() {\n const parent = this.firstChild.parentNode;\n const end = this.lastChild;\n let current = this.firstChild;\n let next;\n while (current !== end) {\n next = current.nextSibling;\n parent.removeChild(current);\n current = next;\n }\n parent.removeChild(end);\n const behaviors = this.behaviors;\n const oldSource = this.source;\n for (let i = 0, ii = behaviors.length; i < ii; ++i) {\n behaviors[i].unbind(oldSource);\n }\n }\n /**\n * Binds a view's behaviors to its binding source.\n * @param source - The binding source for the view's binding behaviors.\n * @param context - The execution context to run the behaviors within.\n */\n bind(source, context) {\n const behaviors = this.behaviors;\n if (this.source === source) {\n return;\n }\n else if (this.source !== null) {\n const oldSource = this.source;\n this.source = source;\n this.context = context;\n for (let i = 0, ii = behaviors.length; i < ii; ++i) {\n const current = behaviors[i];\n current.unbind(oldSource);\n current.bind(source, context);\n }\n }\n else {\n this.source = source;\n this.context = context;\n for (let i = 0, ii = behaviors.length; i < ii; ++i) {\n behaviors[i].bind(source, context);\n }\n }\n }\n /**\n * Unbinds a view's behaviors from its binding source.\n */\n unbind() {\n if (this.source === null) {\n return;\n }\n const behaviors = this.behaviors;\n const oldSource = this.source;\n for (let i = 0, ii = behaviors.length; i < ii; ++i) {\n behaviors[i].unbind(oldSource);\n }\n this.source = null;\n }\n /**\n * Efficiently disposes of a contiguous range of synthetic view instances.\n * @param views - A contiguous range of views to be disposed.\n */\n static disposeContiguousBatch(views) {\n if (views.length === 0) {\n return;\n }\n // Get the first node of the first view in the range.\n range.setStart(views[0].firstChild, 0);\n // Get the last node of the last view in the range. Then go one further\n // because the deleteContents operation isn't inclusive of the end node.\n // In all cases where we use this API, the node after the last node of\n // the last view is the comment node that we use as a placeholder.\n range.setEnd(views[views.length - 1].lastChild.nextSibling, 0);\n range.deleteContents();\n for (let i = 0, ii = views.length; i < ii; ++i) {\n const view = views[i];\n const behaviors = view.behaviors;\n const oldSource = view.source;\n for (let j = 0, jj = behaviors.length; j < jj; ++j) {\n behaviors[j].unbind(oldSource);\n }\n }\n }\n}\n","import { Observable } from \"../observation/observable\";\nimport { emptyArray } from \"../interfaces\";\n/**\n * Creates a function that can be used to filter a Node array, selecting only elements.\n * @param selector - An optional selector to restrict the filter to.\n * @public\n */\nexport function elements(selector) {\n if (selector) {\n return function (value, index, array) {\n return value.nodeType === 1 && value.matches(selector);\n };\n }\n return function (value, index, array) {\n return value.nodeType === 1;\n };\n}\n/**\n * A base class for node observation.\n * @internal\n */\nexport class NodeObservationBehavior {\n /**\n * Creates an instance of NodeObservationBehavior.\n * @param target - The target to assign the nodes property on.\n * @param options - The options to use in configuring node observation.\n */\n constructor(target, options) {\n this.target = target;\n this.options = options;\n this.source = null;\n }\n /**\n * Bind this behavior to the source.\n * @param source - The source to bind to.\n * @param context - The execution context that the binding is operating within.\n */\n bind(source) {\n const name = this.options.property;\n this.shouldUpdate = Observable.getAccessors(source).some((x) => x.name === name);\n this.source = source;\n this.updateTarget(this.computeNodes());\n if (this.shouldUpdate) {\n this.observe();\n }\n }\n /**\n * Unbinds this behavior from the source.\n * @param source - The source to unbind from.\n */\n unbind() {\n this.updateTarget(emptyArray);\n this.source = null;\n if (this.shouldUpdate) {\n this.disconnect();\n }\n }\n /** @internal */\n handleEvent() {\n this.updateTarget(this.computeNodes());\n }\n computeNodes() {\n let nodes = this.getNodes();\n if (this.options.filter !== void 0) {\n nodes = nodes.filter(this.options.filter);\n }\n return nodes;\n }\n updateTarget(value) {\n this.source[this.options.property] = value;\n }\n}\n","import React from \"react\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { getDisplayedNodes, isHTMLElement } from \"../utilities/dom\";\nimport { classNames, keyCodeEnd, keyCodeHome } from \"@microsoft/fast-web-utilities\";\nimport { canUseDOM } from \"exenv-es6\";\nexport const TreeViewContext = React.createContext({\n setLastFocused: null,\n adjustNestedTreeItemCount: null,\n nested: false,\n});\n/**\n * Simple state machine to track how many nodes have nested nodes\n */\nclass ChildNodeCountTracker {\n constructor() {\n this._count = 0;\n }\n get count() {\n return this._count;\n }\n adjust(delta) {\n this._count += 1;\n }\n}\n/* tslint:disable:max-classes-per-file */\n/**\n * @deprecated - Use @microsoft/fast-components-react-msft tree view instead\n * Will be removed in the next major version\n */\nexport default class TreeView extends Foundation {\n constructor(props) {\n super(props);\n this.handledProps = {\n managedClasses: void 0,\n children: void 0,\n };\n this.rootElement = React.createRef();\n /**\n * Track how many tree-items have children\n */\n this.nestedTreeItemTracker = new ChildNodeCountTracker();\n this.setLastFocused = (ref) => {\n this.setState({\n lastFocused: ref,\n });\n };\n this.adjustNestedTreeItemCount = (delta) => {\n this.nestedTreeItemTracker.adjust(delta);\n if (this.nestedTreeItemTracker.count > 0 && !this.state.nested) {\n this.setState({ nested: true });\n }\n else if (this.nestedTreeItemTracker.count === 0 && this.state.nested) {\n this.setState({ nested: false });\n }\n };\n this.handleBlur = (e) => {\n const root = this.rootElement.current;\n /**\n * If we focus outside of the tree\n */\n if (isHTMLElement(root) && !root.contains(e.relatedTarget)) {\n this.setState({\n focusable: true,\n });\n }\n };\n this.handleFocus = (e) => {\n if (!canUseDOM() || !isHTMLElement(this.rootElement.current)) {\n return;\n }\n const root = this.rootElement.current;\n const lastFocused = this.state\n .lastFocused;\n /**\n * If the tree view is receiving focus\n */\n if (isHTMLElement(root) && root === e.target) {\n // If we have a last focused item, focus it - otherwise focus the first \"[role='tree']\"\n // If there is no \"[role='tree']\" to be focused AND no last-focused, then there are likely no children\n // or children are malformed so keep the tree in the tab-order in the hopes that the author cleans up\n // the children\n const toBeFocused = !!lastFocused\n ? lastFocused.current\n : root.querySelector(\"[role='treeitem']\");\n if (isHTMLElement(toBeFocused)) {\n toBeFocused.focus();\n if (this.state.focusable) {\n this.setState({ focusable: false });\n }\n }\n }\n else {\n // A child is receiving focus. While focus is within the tree, we simply need to ensure\n // that the tree is not focusable.\n if (this.state.focusable) {\n this.setState({\n focusable: false,\n });\n }\n }\n };\n this.handleKeyDown = (e) => {\n let nodes;\n if (canUseDOM()) {\n switch (e.keyCode) {\n case keyCodeHome:\n nodes = this.getVisibleNodes();\n if (nodes.length) {\n nodes[0].focus();\n }\n break;\n case keyCodeEnd:\n nodes = this.getVisibleNodes();\n if (nodes.length) {\n nodes[nodes.length - 1].focus();\n }\n break;\n }\n }\n };\n this.state = {\n focusable: true,\n lastFocused: null,\n nested: false,\n };\n }\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { role: \"tree\", tabIndex: this.state.focusable ? 0 : -1, className: this.generateClassNames(), ref: this.rootElement, onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown }),\n React.createElement(TreeViewContext.Provider, { value: {\n setLastFocused: this.setLastFocused,\n adjustNestedTreeItemCount: this.adjustNestedTreeItemCount,\n nested: this.state.nested,\n } }, this.props.children)));\n }\n componentDidUpdate() {\n this.ensureFocusability();\n }\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.treeView));\n }\n /**\n * Verifies that the tree has a focusable child.\n * If it does not, the tree will begin to accept focus\n */\n ensureFocusability() {\n if (canUseDOM() &&\n !this.state.focusable &&\n isHTMLElement(this.rootElement.current)) {\n const focusableChild = this.rootElement.current.querySelector(\"[role='treeitem'][tabindex='0']\");\n if (!isHTMLElement(focusableChild)) {\n this.setState({\n focusable: true,\n });\n }\n }\n }\n getVisibleNodes() {\n return canUseDOM()\n ? getDisplayedNodes(this.rootElement.current, \"[role='treeitem']\")\n : [];\n }\n}\nTreeView.defaultProps = {\n managedClasses: {},\n};\n","/**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\nfunction last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n}\n\nexport default last;\n","import { useCallbackRef } from './useRef';\nimport { assignRef } from './assignRef';\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n * const ownRef = useRef();\n * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n * return
...
\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n return useCallbackRef(defaultValue, function (newValue) {\n return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n });\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n var ref = useState(function () { return ({\n // value\n value: initialValue,\n // last callback\n callback: callback,\n // \"memoized\" public interface\n facade: {\n get current() {\n return ref.value;\n },\n set current(value) {\n var last = ref.value;\n if (last !== value) {\n ref.value = value;\n ref.callback(value, last);\n }\n }\n }\n }); })[0];\n // update callback\n ref.callback = callback;\n return ref.facade;\n}\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n if (typeof ref === 'function') {\n ref(value);\n }\n else if (ref) {\n ref.current = value;\n }\n return ref;\n}\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nexport var hiddenGuard = {\n width: '1px',\n height: '0px',\n padding: 0,\n overflow: 'hidden',\n position: 'fixed',\n top: '1px',\n left: '1px'\n};\n\nvar InFocusGuard = function InFocusGuard(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }), children, children && /*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-last\",\n \"data-focus-guard\": true,\n \"data-focus-auto-guard\": true,\n style: hiddenGuard\n }));\n};\n\nInFocusGuard.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node\n} : {};\nInFocusGuard.defaultProps = {\n children: null\n};\nexport default InFocusGuard;","import * as tslib_1 from \"tslib\";\nfunction ItoI(a) {\n return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n var buffer = [];\n var assigned = false;\n var medium = {\n read: function () {\n if (assigned) {\n throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n }\n if (buffer.length) {\n return buffer[buffer.length - 1];\n }\n return defaults;\n },\n useMedium: function (data) {\n var item = middleware(data, assigned);\n buffer.push(item);\n return function () {\n buffer = buffer.filter(function (x) { return x !== item; });\n };\n },\n assignSyncMedium: function (cb) {\n assigned = true;\n while (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n }\n buffer = {\n push: function (x) { return cb(x); },\n filter: function () { return buffer; },\n };\n },\n assignMedium: function (cb) {\n assigned = true;\n var pendingQueue = [];\n if (buffer.length) {\n var cbs = buffer;\n buffer = [];\n cbs.forEach(cb);\n pendingQueue = buffer;\n }\n var executeQueue = function () {\n var cbs = pendingQueue;\n pendingQueue = [];\n cbs.forEach(cb);\n };\n var cycle = function () { return Promise.resolve().then(executeQueue); };\n cycle();\n buffer = {\n push: function (x) {\n pendingQueue.push(x);\n cycle();\n },\n filter: function (filter) {\n pendingQueue = pendingQueue.filter(filter);\n return buffer;\n },\n };\n },\n };\n return medium;\n}\nexport function createMedium(defaults, middleware) {\n if (middleware === void 0) { middleware = ItoI; }\n return innerCreateMedium(defaults, middleware);\n}\nexport function createSidecarMedium(options) {\n if (options === void 0) { options = {}; }\n var medium = innerCreateMedium(null);\n medium.options = tslib_1.__assign({ async: true, ssr: false }, options);\n return medium;\n}\n","import { createMedium, createSidecarMedium } from 'use-sidecar';\nexport var mediumFocus = createMedium({}, function (_ref) {\n var target = _ref.target,\n currentTarget = _ref.currentTarget;\n return {\n target: target,\n currentTarget: currentTarget\n };\n});\nexport var mediumBlur = createMedium();\nexport var mediumEffect = createMedium();\nexport var mediumSidecar = createSidecarMedium({\n async: true\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport { node, bool, string, any, arrayOf, oneOfType, object, func } from 'prop-types';\nimport * as constants from 'focus-lock/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { hiddenGuard } from './FocusGuard';\nimport { mediumFocus, mediumBlur, mediumSidecar } from './medium';\nvar emptyArray = [];\nvar FocusLock = /*#__PURE__*/React.forwardRef(function (props, parentRef) {\n var _extends2;\n\n var _React$useState = React.useState(),\n realObserved = _React$useState[0],\n setObserved = _React$useState[1];\n\n var observed = React.useRef();\n var isActive = React.useRef(false);\n var originalFocusedElement = React.useRef(null);\n var children = props.children,\n disabled = props.disabled,\n noFocusGuards = props.noFocusGuards,\n persistentFocus = props.persistentFocus,\n crossFrame = props.crossFrame,\n autoFocus = props.autoFocus,\n allowTextSelection = props.allowTextSelection,\n group = props.group,\n className = props.className,\n whiteList = props.whiteList,\n _props$shards = props.shards,\n shards = _props$shards === void 0 ? emptyArray : _props$shards,\n _props$as = props.as,\n Container = _props$as === void 0 ? 'div' : _props$as,\n _props$lockProps = props.lockProps,\n containerProps = _props$lockProps === void 0 ? {} : _props$lockProps,\n SideCar = props.sideCar,\n shouldReturnFocus = props.returnFocus,\n onActivationCallback = props.onActivation,\n onDeactivationCallback = props.onDeactivation;\n\n var _React$useState2 = React.useState({}),\n id = _React$useState2[0]; // SIDE EFFECT CALLBACKS\n\n\n var onActivation = React.useCallback(function () {\n originalFocusedElement.current = originalFocusedElement.current || document && document.activeElement;\n\n if (observed.current && onActivationCallback) {\n onActivationCallback(observed.current);\n }\n\n isActive.current = true;\n }, [onActivationCallback]);\n var onDeactivation = React.useCallback(function () {\n isActive.current = false;\n\n if (onDeactivationCallback) {\n onDeactivationCallback(observed.current);\n }\n }, [onDeactivationCallback]);\n var returnFocus = React.useCallback(function (allowDefer) {\n var current = originalFocusedElement.current;\n\n if (Boolean(shouldReturnFocus) && current && current.focus) {\n var focusOptions = typeof shouldReturnFocus === 'object' ? shouldReturnFocus : undefined;\n originalFocusedElement.current = null;\n\n if (allowDefer) {\n // React might return focus after update\n // it's safer to defer the action\n Promise.resolve().then(function () {\n return current.focus(focusOptions);\n });\n } else {\n current.focus(focusOptions);\n }\n }\n }, [shouldReturnFocus]); // MEDIUM CALLBACKS\n\n var onFocus = React.useCallback(function (event) {\n if (isActive.current) {\n mediumFocus.useMedium(event);\n }\n }, []);\n var onBlur = mediumBlur.useMedium; // REF PROPAGATION\n // not using real refs due to race conditions\n\n var setObserveNode = React.useCallback(function (newObserved) {\n if (observed.current !== newObserved) {\n observed.current = newObserved;\n setObserved(newObserved);\n }\n }, []);\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof allowTextSelection !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn('React-Focus-Lock: allowTextSelection is deprecated and enabled by default');\n }\n\n React.useEffect(function () {\n if (!observed.current) {\n // eslint-disable-next-line no-console\n console.error('FocusLock: could not obtain ref to internal node');\n }\n }, []);\n }\n\n var lockProps = _extends((_extends2 = {}, _extends2[constants.FOCUS_DISABLED] = disabled && 'disabled', _extends2[constants.FOCUS_GROUP] = group, _extends2), containerProps);\n\n var hasLeadingGuards = noFocusGuards !== true;\n var hasTailingGuards = hasLeadingGuards && noFocusGuards !== 'tail';\n var mergedRef = useMergeRefs([parentRef, setObserveNode]);\n return /*#__PURE__*/React.createElement(React.Fragment, null, hasLeadingGuards && [/*#__PURE__*/React.createElement(\"div\", {\n key: \"guard-first\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }),\n /*#__PURE__*/\n // nearest focus guard\n React.createElement(\"div\", {\n key: \"guard-nearest\",\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 1,\n style: hiddenGuard\n }) // first tabbed element guard\n ], !disabled && /*#__PURE__*/React.createElement(SideCar, {\n id: id,\n sideCar: mediumSidecar,\n observed: realObserved,\n disabled: disabled,\n persistentFocus: persistentFocus,\n crossFrame: crossFrame,\n autoFocus: autoFocus,\n whiteList: whiteList,\n shards: shards,\n onActivation: onActivation,\n onDeactivation: onDeactivation,\n returnFocus: returnFocus\n }), /*#__PURE__*/React.createElement(Container, _extends({\n ref: mergedRef\n }, lockProps, {\n className: className,\n onBlur: onBlur,\n onFocus: onFocus\n }), children), hasTailingGuards && /*#__PURE__*/React.createElement(\"div\", {\n \"data-focus-guard\": true,\n tabIndex: disabled ? -1 : 0,\n style: hiddenGuard\n }));\n});\nFocusLock.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: node,\n disabled: bool,\n returnFocus: oneOfType([bool, object]),\n noFocusGuards: bool,\n allowTextSelection: bool,\n autoFocus: bool,\n persistentFocus: bool,\n crossFrame: bool,\n group: string,\n className: string,\n whiteList: func,\n shards: arrayOf(any),\n as: oneOfType([string, func, object]),\n lockProps: object,\n onActivation: func,\n onDeactivation: func,\n sideCar: any.isRequired\n} : {};\nFocusLock.defaultProps = {\n children: undefined,\n disabled: false,\n returnFocus: false,\n noFocusGuards: false,\n autoFocus: true,\n persistentFocus: false,\n crossFrame: true,\n allowTextSelection: undefined,\n group: undefined,\n className: undefined,\n whiteList: undefined,\n shards: undefined,\n as: 'div',\n lockProps: {},\n onActivation: undefined,\n onDeactivation: undefined\n};\nexport default FocusLock;","export var FOCUS_GROUP = 'data-focus-lock';\nexport var FOCUS_DISABLED = 'data-focus-lock-disabled';\nexport var FOCUS_ALLOW = 'data-no-focus-lock';\nexport var FOCUS_AUTO = 'data-autofocus-inside';","import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { PureComponent } from 'react';\n\nfunction withSideEffect(reducePropsToState, handleStateChangeOnClient) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof reducePropsToState !== 'function') {\n throw new Error('Expected reducePropsToState to be a function.');\n }\n\n if (typeof handleStateChangeOnClient !== 'function') {\n throw new Error('Expected handleStateChangeOnClient to be a function.');\n }\n }\n\n function getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n }\n\n return function wrap(WrappedComponent) {\n if (process.env.NODE_ENV !== \"production\") {\n if (typeof WrappedComponent !== 'function') {\n throw new Error('Expected WrappedComponent to be a React component.');\n }\n }\n\n var mountedInstances = [];\n var state;\n\n function emitChange() {\n state = reducePropsToState(mountedInstances.map(function (instance) {\n return instance.props;\n }));\n handleStateChangeOnClient(state);\n }\n\n var SideEffect =\n /*#__PURE__*/\n function (_PureComponent) {\n _inheritsLoose(SideEffect, _PureComponent);\n\n function SideEffect() {\n return _PureComponent.apply(this, arguments) || this;\n }\n\n // Try to use displayName of wrapped component\n SideEffect.peek = function peek() {\n return state;\n };\n\n var _proto = SideEffect.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n mountedInstances.push(this);\n emitChange();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n emitChange();\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n var index = mountedInstances.indexOf(this);\n mountedInstances.splice(index, 1);\n emitChange();\n };\n\n _proto.render = function render() {\n return React.createElement(WrappedComponent, this.props);\n };\n\n return SideEffect;\n }(PureComponent);\n\n _defineProperty(SideEffect, \"displayName\", \"SideEffect(\" + getDisplayName(WrappedComponent) + \")\");\n\n return SideEffect;\n };\n}\n\nexport default withSideEffect;\n","export default function _defineProperty(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}","export var toArray = function toArray(a) {\n var ret = Array(a.length);\n for (var i = 0; i < a.length; ++i) {\n ret[i] = a[i];\n }\n return ret;\n};\n\nexport var arrayFind = function arrayFind(array, search) {\n return array.filter(function (a) {\n return a === search;\n })[0];\n};\n\nexport var asArray = function asArray(a) {\n return Array.isArray(a) ? a : [a];\n};","import { toArray } from './utils/array';\nimport { FOCUS_ALLOW } from './constants';\n\nvar focusIsHidden = function focusIsHidden() {\n return document && toArray(document.querySelectorAll('[' + FOCUS_ALLOW + ']')).some(function (node) {\n return node.contains(document.activeElement);\n });\n};\n\nexport default focusIsHidden;","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; };\n\nimport { FOCUS_DISABLED, FOCUS_GROUP } from '../constants';\nimport { asArray, toArray } from './array';\n\nvar filterNested = function filterNested(nodes) {\n var l = nodes.length;\n for (var i = 0; i < l; i += 1) {\n var _loop = function _loop(j) {\n if (i !== j) {\n if (nodes[i].contains(nodes[j])) {\n return {\n v: filterNested(nodes.filter(function (x) {\n return x !== nodes[j];\n }))\n };\n }\n }\n };\n\n for (var j = 0; j < l; j += 1) {\n var _ret = _loop(j);\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n }\n }\n return nodes;\n};\n\nvar getTopParent = function getTopParent(node) {\n return node.parentNode ? getTopParent(node.parentNode) : node;\n};\n\nvar getAllAffectedNodes = function getAllAffectedNodes(node) {\n var nodes = asArray(node);\n return nodes.filter(Boolean).reduce(function (acc, currentNode) {\n var group = currentNode.getAttribute(FOCUS_GROUP);\n acc.push.apply(acc, group ? filterNested(toArray(getTopParent(currentNode).querySelectorAll('[' + FOCUS_GROUP + '=\"' + group + '\"]:not([' + FOCUS_DISABLED + '=\"disabled\"])'))) : [currentNode]);\n return acc;\n }, []);\n};\n\nexport default getAllAffectedNodes;","import getAllAffectedNodes from './utils/all-affected';\nimport { arrayFind, toArray } from './utils/array';\n\nvar focusInFrame = function focusInFrame(frame) {\n return frame === document.activeElement;\n};\n\nvar focusInsideIframe = function focusInsideIframe(topNode) {\n return !!arrayFind(toArray(topNode.querySelectorAll('iframe')), focusInFrame);\n};\n\nvar focusInside = function focusInside(topNode) {\n var activeElement = document && document.activeElement;\n\n if (!activeElement || activeElement.dataset && activeElement.dataset.focusGuard) {\n return false;\n }\n return getAllAffectedNodes(topNode).reduce(function (result, node) {\n return result || node.contains(activeElement) || focusInsideIframe(node);\n }, false);\n};\n\nexport default focusInside;","import { toArray } from './array';\n\nexport var tabSort = function tabSort(a, b) {\n var tabDiff = a.tabIndex - b.tabIndex;\n var indexDiff = a.index - b.index;\n\n if (tabDiff) {\n if (!a.tabIndex) return 1;\n if (!b.tabIndex) return -1;\n }\n\n return tabDiff || indexDiff;\n};\n\nexport var orderByTabIndex = function orderByTabIndex(nodes, filterNegative, keepGuards) {\n return toArray(nodes).map(function (node, index) {\n return {\n node: node,\n index: index,\n tabIndex: keepGuards && node.tabIndex === -1 ? (node.dataset || {}).focusGuard ? 0 : -1 : node.tabIndex\n };\n }).filter(function (data) {\n return !filterNegative || data.tabIndex >= 0;\n }).sort(tabSort);\n};","export default ['button:enabled:not([readonly])', 'select:enabled:not([readonly])', 'textarea:enabled:not([readonly])', 'input:enabled:not([readonly])', 'a[href]', 'area[href]', 'iframe', 'object', 'embed', '[tabindex]', '[contenteditable]', '[autofocus]'];","import tabbables from './tabbables';\nimport { toArray } from './array';\nimport { FOCUS_AUTO } from '../constants';\n\nvar queryTabbables = tabbables.join(',');\nvar queryGuardTabbables = queryTabbables + ', [data-focus-guard]';\n\nexport var getFocusables = function getFocusables(parents, withGuards) {\n return parents.reduce(function (acc, parent) {\n return acc.concat(\n // add all tabbables inside\n toArray(parent.querySelectorAll(withGuards ? queryGuardTabbables : queryTabbables)),\n // add if node is tabble itself\n parent.parentNode ? toArray(parent.parentNode.querySelectorAll(tabbables.join(','))).filter(function (node) {\n return node === parent;\n }) : []);\n }, []);\n};\n\nexport var getParentAutofocusables = function getParentAutofocusables(parent) {\n var parentFocus = parent.querySelectorAll('[' + FOCUS_AUTO + ']');\n return toArray(parentFocus).map(function (node) {\n return getFocusables([node]);\n }).reduce(function (acc, nodes) {\n return acc.concat(nodes);\n }, []);\n};","import { orderByTabIndex } from './tabOrder';\nimport { getFocusables, getParentAutofocusables } from './tabUtils';\nimport { toArray } from './array';\n\nvar isElementHidden = function isElementHidden(computedStyle) {\n if (!computedStyle || !computedStyle.getPropertyValue) {\n return false;\n }\n return computedStyle.getPropertyValue('display') === 'none' || computedStyle.getPropertyValue('visibility') === 'hidden';\n};\n\nexport var isVisible = function isVisible(node) {\n return !node || node === document || node.nodeType === Node.DOCUMENT_NODE || !isElementHidden(window.getComputedStyle(node, null)) && isVisible(node.parentNode && node.parentNode.nodeType === node.DOCUMENT_FRAGMENT_NODE ? node.parentNode.host : node.parentNode);\n};\n\nexport var notHiddenInput = function notHiddenInput(node) {\n return !((node.tagName === 'INPUT' || node.tagName === 'BUTTON') && (node.type === 'hidden' || node.disabled));\n};\n\nvar getParents = function getParents(node) {\n var parents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n parents.push(node);\n if (node.parentNode) {\n getParents(node.parentNode, parents);\n }\n return parents;\n};\n\nexport var getCommonParent = function getCommonParent(nodea, nodeb) {\n var parentsA = getParents(nodea);\n var parentsB = getParents(nodeb);\n\n for (var i = 0; i < parentsA.length; i += 1) {\n var currentParent = parentsA[i];\n if (parentsB.indexOf(currentParent) >= 0) {\n return currentParent;\n }\n }\n return false;\n};\n\nexport var filterFocusable = function filterFocusable(nodes) {\n return toArray(nodes).filter(function (node) {\n return isVisible(node);\n }).filter(function (node) {\n return notHiddenInput(node);\n });\n};\n\nexport var getTabbableNodes = function getTabbableNodes(topNodes, withGuards) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes, withGuards)), true, withGuards);\n};\n\n/**\n * actually anything focusable\n */\nexport var getAllTabbableNodes = function getAllTabbableNodes(topNodes) {\n return orderByTabIndex(filterFocusable(getFocusables(topNodes)), false);\n};\n\nexport var parentAutofocusables = function parentAutofocusables(topNode) {\n return filterFocusable(getParentAutofocusables(topNode));\n};","var isRadio = function isRadio(node) {\n return node.tagName === 'INPUT' && node.type === 'radio';\n};\n\nvar findSelectedRadio = function findSelectedRadio(node, nodes) {\n return nodes.filter(isRadio).filter(function (el) {\n return el.name === node.name;\n }).filter(function (el) {\n return el.checked;\n })[0] || node;\n};\n\nexport var correctNode = function correctNode(node, nodes) {\n if (isRadio(node) && node.name) {\n return findSelectedRadio(node, nodes);\n }\n return node;\n};\n\nexport var correctNodes = function correctNodes(nodes) {\n // IE11 has no Set constructor\n var resultSet = new Set();\n nodes.forEach(function (node) {\n return resultSet.add(correctNode(node, nodes));\n });\n // using filter to support IE11\n return nodes.filter(function (node) {\n return resultSet.has(node);\n });\n};","import { correctNode } from './correctFocus';\n\nvar pickFirstFocus = function pickFirstFocus(nodes) {\n if (nodes[0] && nodes.length > 1) {\n return correctNode(nodes[0], nodes);\n }\n return nodes[0];\n};\n\nexport var pickFocusable = function pickFocusable(nodes, index) {\n if (nodes.length > 1) {\n return nodes.indexOf(correctNode(nodes[index], nodes));\n }\n return index;\n};\n\nexport default pickFirstFocus;","import { getCommonParent, getTabbableNodes, getAllTabbableNodes, parentAutofocusables } from './utils/DOMutils';\nimport pickFirstFocus, { pickFocusable } from './utils/firstFocus';\nimport getAllAffectedNodes from './utils/all-affected';\nimport { asArray } from './utils/array';\nimport { correctNodes } from './utils/correctFocus';\n\nvar findAutoFocused = function findAutoFocused(autoFocusables) {\n return function (node) {\n return !!node.autofocus || node.dataset && !!node.dataset.autofocus || autoFocusables.indexOf(node) >= 0;\n };\n};\n\nvar isGuard = function isGuard(node) {\n return node && node.dataset && node.dataset.focusGuard;\n};\nvar notAGuard = function notAGuard(node) {\n return !isGuard(node);\n};\n\nexport var NEW_FOCUS = 'NEW_FOCUS';\n\nexport var newFocus = function newFocus(innerNodes, outerNodes, activeElement, lastNode) {\n var cnt = innerNodes.length;\n var firstFocus = innerNodes[0];\n var lastFocus = innerNodes[cnt - 1];\n var isOnGuard = isGuard(activeElement);\n\n // focus is inside\n if (innerNodes.indexOf(activeElement) >= 0) {\n return undefined;\n }\n\n var activeIndex = outerNodes.indexOf(activeElement);\n var lastIndex = outerNodes.indexOf(lastNode || activeIndex);\n var lastNodeInside = innerNodes.indexOf(lastNode);\n var indexDiff = activeIndex - lastIndex;\n var firstNodeIndex = outerNodes.indexOf(firstFocus);\n var lastNodeIndex = outerNodes.indexOf(lastFocus);\n\n var correctedNodes = correctNodes(outerNodes);\n var correctedIndexDiff = correctedNodes.indexOf(activeElement) - correctedNodes.indexOf(lastNode || activeIndex);\n\n var returnFirstNode = pickFocusable(innerNodes, 0);\n var returnLastNode = pickFocusable(innerNodes, cnt - 1);\n\n // new focus\n if (activeIndex === -1 || lastNodeInside === -1) {\n return NEW_FOCUS;\n }\n // old focus\n if (!indexDiff && lastNodeInside >= 0) {\n return lastNodeInside;\n }\n // first element\n if (activeIndex <= firstNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnLastNode;\n }\n // last element\n if (activeIndex >= lastNodeIndex && isOnGuard && Math.abs(indexDiff) > 1) {\n return returnFirstNode;\n }\n // jump out, but not on the guard\n if (indexDiff && Math.abs(correctedIndexDiff) > 1) {\n return lastNodeInside;\n }\n // focus above lock\n if (activeIndex <= firstNodeIndex) {\n return returnLastNode;\n }\n // focus below lock\n if (activeIndex > lastNodeIndex) {\n return returnFirstNode;\n }\n // index is inside tab order, but outside Lock\n if (indexDiff) {\n if (Math.abs(indexDiff) > 1) {\n return lastNodeInside;\n }\n return (cnt + lastNodeInside + indexDiff) % cnt;\n }\n // do nothing\n return undefined;\n};\n\nvar getTopCommonParent = function getTopCommonParent(baseActiveElement, leftEntry, rightEntries) {\n var activeElements = asArray(baseActiveElement);\n var leftEntries = asArray(leftEntry);\n var activeElement = activeElements[0];\n var topCommon = null;\n leftEntries.filter(Boolean).forEach(function (entry) {\n topCommon = getCommonParent(topCommon || entry, entry) || topCommon;\n rightEntries.filter(Boolean).forEach(function (subEntry) {\n var common = getCommonParent(activeElement, subEntry);\n if (common) {\n if (!topCommon || common.contains(topCommon)) {\n topCommon = common;\n } else {\n topCommon = getCommonParent(common, topCommon);\n }\n }\n });\n });\n return topCommon;\n};\n\nvar allParentAutofocusables = function allParentAutofocusables(entries) {\n return entries.reduce(function (acc, node) {\n return acc.concat(parentAutofocusables(node));\n }, []);\n};\n\nvar reorderNodes = function reorderNodes(srcNodes, dstNodes) {\n var remap = new Map();\n // no Set(dstNodes) for IE11 :(\n dstNodes.forEach(function (entity) {\n return remap.set(entity.node, entity);\n });\n // remap to dstNodes\n return srcNodes.map(function (node) {\n return remap.get(node);\n }).filter(Boolean);\n};\n\nexport var getFocusabledIn = function getFocusabledIn(topNode) {\n var entries = getAllAffectedNodes(topNode).filter(notAGuard);\n var commonParent = getTopCommonParent(topNode, topNode, entries);\n var outerNodes = getTabbableNodes([commonParent], true);\n var innerElements = getTabbableNodes(entries).filter(function (_ref) {\n var node = _ref.node;\n return notAGuard(node);\n }).map(function (_ref2) {\n var node = _ref2.node;\n return node;\n });\n\n return outerNodes.map(function (_ref3) {\n var node = _ref3.node,\n index = _ref3.index;\n return {\n node: node,\n index: index,\n lockItem: innerElements.indexOf(node) >= 0,\n guard: isGuard(node)\n };\n });\n};\n\nvar getFocusMerge = function getFocusMerge(topNode, lastNode) {\n var activeElement = document && document.activeElement;\n var entries = getAllAffectedNodes(topNode).filter(notAGuard);\n\n var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n\n var anyFocusable = getAllTabbableNodes(entries);\n var innerElements = getTabbableNodes(entries).filter(function (_ref4) {\n var node = _ref4.node;\n return notAGuard(node);\n });\n\n if (!innerElements[0]) {\n innerElements = anyFocusable;\n if (!innerElements[0]) {\n return undefined;\n }\n }\n\n var outerNodes = getAllTabbableNodes([commonParent]).map(function (_ref5) {\n var node = _ref5.node;\n return node;\n });\n var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n var innerNodes = orderedInnerElements.map(function (_ref6) {\n var node = _ref6.node;\n return node;\n });\n\n var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n\n if (newId === \"NEW_FOCUS\") {\n var autoFocusable = anyFocusable.map(function (_ref7) {\n var node = _ref7.node;\n return node;\n }).filter(findAutoFocused(allParentAutofocusables(entries)));\n\n return {\n node: autoFocusable && autoFocusable.length ? pickFirstFocus(autoFocusable) : pickFirstFocus(innerNodes)\n };\n }\n\n if (newId === undefined) {\n return newId;\n }\n return orderedInnerElements[newId];\n};\n\nexport default getFocusMerge;","import getFocusMerge from './focusMerge';\n\nexport var focusOn = function focusOn(target) {\n target.focus();\n if (target.contentWindow) {\n target.contentWindow.focus();\n }\n};\n\nvar guardCount = 0;\nvar lockDisabled = false;\n\nexport default (function (topNode, lastNode) {\n var focusable = getFocusMerge(topNode, lastNode);\n\n if (lockDisabled) {\n return;\n }\n\n if (focusable) {\n if (guardCount > 2) {\n // eslint-disable-next-line no-console\n console.error('FocusLock: focus-fighting detected. Only one focus management system could be active. ' + 'See https://github.com/theKashey/focus-lock/#focus-fighting');\n lockDisabled = true;\n setTimeout(function () {\n lockDisabled = false;\n }, 1);\n return;\n }\n guardCount++;\n focusOn(focusable.node);\n guardCount--;\n }\n});","import tabHook from './tabHook';\nimport focusMerge, { getFocusabledIn } from './focusMerge';\nimport focusInside from './focusInside';\nimport focusIsHidden from './focusIsHidden';\nimport setFocus from './setFocus';\nimport * as constants from './constants';\nimport getAllAffectedNodes from './utils/all-affected';\n\nexport { tabHook, focusInside, focusIsHidden, focusMerge, getFocusabledIn, constants, getAllAffectedNodes };\n\nexport default setFocus;","export function deferAction(action) {\n // Hidding setImmediate from Webpack to avoid inserting polyfill\n var _window = window,\n setImmediate = _window.setImmediate;\n\n if (typeof setImmediate !== 'undefined') {\n setImmediate(action);\n } else {\n setTimeout(action, 1);\n }\n}\nexport var inlineProp = function inlineProp(name, value) {\n var obj = {};\n obj[name] = value;\n return obj;\n};","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport withSideEffect from 'react-clientside-effect';\nimport moveFocusInside, { focusInside, focusIsHidden, getFocusabledIn } from 'focus-lock';\nimport { deferAction } from './util';\nimport { mediumFocus, mediumBlur, mediumEffect } from './medium';\n\nvar focusOnBody = function focusOnBody() {\n return document && document.activeElement === document.body;\n};\n\nvar isFreeFocus = function isFreeFocus() {\n return focusOnBody() || focusIsHidden();\n};\n\nvar lastActiveTrap = null;\nvar lastActiveFocus = null;\nvar lastPortaledElement = null;\nvar focusWasOutsideWindow = false;\n\nvar defaultWhitelist = function defaultWhitelist() {\n return true;\n};\n\nvar focusWhitelisted = function focusWhitelisted(activeElement) {\n return (lastActiveTrap.whiteList || defaultWhitelist)(activeElement);\n};\n\nvar recordPortal = function recordPortal(observerNode, portaledElement) {\n lastPortaledElement = {\n observerNode: observerNode,\n portaledElement: portaledElement\n };\n};\n\nvar focusIsPortaledPair = function focusIsPortaledPair(element) {\n return lastPortaledElement && lastPortaledElement.portaledElement === element;\n};\n\nfunction autoGuard(startIndex, end, step, allNodes) {\n var lastGuard = null;\n var i = startIndex;\n\n do {\n var item = allNodes[i];\n\n if (item.guard) {\n if (item.node.dataset.focusAutoGuard) {\n lastGuard = item;\n }\n } else if (item.lockItem) {\n if (i !== startIndex) {\n // we will tab to the next element\n return;\n }\n\n lastGuard = null;\n } else {\n break;\n }\n } while ((i += step) !== end);\n\n if (lastGuard) {\n lastGuard.node.tabIndex = 0;\n }\n}\n\nvar extractRef = function extractRef(ref) {\n return ref && 'current' in ref ? ref.current : ref;\n};\n\nvar focusWasOutside = function focusWasOutside(crossFrameOption) {\n if (crossFrameOption) {\n // with cross frame return true for any value\n return Boolean(focusWasOutsideWindow);\n } // in other case return only of focus went a while aho\n\n\n return focusWasOutsideWindow === 'meanwhile';\n};\n\nvar activateTrap = function activateTrap() {\n var result = false;\n\n if (lastActiveTrap) {\n var _lastActiveTrap = lastActiveTrap,\n observed = _lastActiveTrap.observed,\n persistentFocus = _lastActiveTrap.persistentFocus,\n autoFocus = _lastActiveTrap.autoFocus,\n shards = _lastActiveTrap.shards,\n crossFrame = _lastActiveTrap.crossFrame;\n var workingNode = observed || lastPortaledElement && lastPortaledElement.portaledElement;\n var activeElement = document && document.activeElement;\n\n if (workingNode) {\n var workingArea = [workingNode].concat(shards.map(extractRef).filter(Boolean));\n\n if (!activeElement || focusWhitelisted(activeElement)) {\n if (persistentFocus || focusWasOutside(crossFrame) || !isFreeFocus() || !lastActiveFocus && autoFocus) {\n if (workingNode && !(focusInside(workingArea) || focusIsPortaledPair(activeElement, workingNode))) {\n if (document && !lastActiveFocus && activeElement && !autoFocus) {\n // Check if blur() exists, which is missing on certain elements on IE\n if (activeElement.blur) {\n activeElement.blur();\n }\n\n document.body.focus();\n } else {\n result = moveFocusInside(workingArea, lastActiveFocus);\n lastPortaledElement = {};\n }\n }\n\n focusWasOutsideWindow = false;\n lastActiveFocus = document && document.activeElement;\n }\n }\n\n if (document) {\n var newActiveElement = document && document.activeElement;\n var allNodes = getFocusabledIn(workingArea);\n var focusedIndex = allNodes.map(function (_ref) {\n var node = _ref.node;\n return node;\n }).indexOf(newActiveElement);\n\n if (focusedIndex > -1) {\n // remove old focus\n allNodes.filter(function (_ref2) {\n var guard = _ref2.guard,\n node = _ref2.node;\n return guard && node.dataset.focusAutoGuard;\n }).forEach(function (_ref3) {\n var node = _ref3.node;\n return node.removeAttribute('tabIndex');\n });\n autoGuard(focusedIndex, allNodes.length, +1, allNodes);\n autoGuard(focusedIndex, -1, -1, allNodes);\n }\n }\n }\n }\n\n return result;\n};\n\nvar onTrap = function onTrap(event) {\n if (activateTrap() && event) {\n // prevent scroll jump\n event.stopPropagation();\n event.preventDefault();\n }\n};\n\nvar onBlur = function onBlur() {\n return deferAction(activateTrap);\n};\n\nvar onFocus = function onFocus(event) {\n // detect portal\n var source = event.target;\n var currentNode = event.currentTarget;\n\n if (!currentNode.contains(source)) {\n recordPortal(currentNode, source);\n }\n};\n\nvar FocusWatcher = function FocusWatcher() {\n return null;\n};\n\nvar FocusTrap = function FocusTrap(_ref4) {\n var children = _ref4.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n onBlur: onBlur,\n onFocus: onFocus\n }, children);\n};\n\nFocusTrap.propTypes = process.env.NODE_ENV !== \"production\" ? {\n children: PropTypes.node.isRequired\n} : {};\n\nvar onWindowBlur = function onWindowBlur() {\n focusWasOutsideWindow = 'just'; // using setTimeout to set this variable after React/sidecar reaction\n\n setTimeout(function () {\n focusWasOutsideWindow = 'meanwhile';\n }, 0);\n};\n\nvar attachHandler = function attachHandler() {\n document.addEventListener('focusin', onTrap, true);\n document.addEventListener('focusout', onBlur);\n window.addEventListener('blur', onWindowBlur);\n};\n\nvar detachHandler = function detachHandler() {\n document.removeEventListener('focusin', onTrap, true);\n document.removeEventListener('focusout', onBlur);\n window.removeEventListener('blur', onWindowBlur);\n};\n\nfunction reducePropsToState(propsList) {\n return propsList.filter(function (_ref5) {\n var disabled = _ref5.disabled;\n return !disabled;\n });\n}\n\nfunction handleStateChangeOnClient(traps) {\n var trap = traps.slice(-1)[0];\n\n if (trap && !lastActiveTrap) {\n attachHandler();\n }\n\n var lastTrap = lastActiveTrap;\n var sameTrap = lastTrap && trap && trap.id === lastTrap.id;\n lastActiveTrap = trap;\n\n if (lastTrap && !sameTrap) {\n lastTrap.onDeactivation(); // return focus only of last trap was removed\n\n if (!traps.filter(function (_ref6) {\n var id = _ref6.id;\n return id === lastTrap.id;\n }).length) {\n // allow defer is no other trap is awaiting restore\n lastTrap.returnFocus(!trap);\n }\n }\n\n if (trap) {\n lastActiveFocus = null;\n\n if (!sameTrap || lastTrap.observed !== trap.observed) {\n trap.onActivation();\n }\n\n activateTrap(true);\n deferAction(activateTrap);\n } else {\n detachHandler();\n lastActiveFocus = null;\n }\n} // bind medium\n\n\nmediumFocus.assignSyncMedium(onFocus);\nmediumBlur.assignMedium(onBlur);\nmediumEffect.assignMedium(function (cb) {\n return cb({\n moveFocusInside: moveFocusInside,\n focusInside: focusInside\n });\n});\nexport default withSideEffect(reducePropsToState, handleStateChangeOnClient)(FocusWatcher);","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport FocusLockUI from './Lock';\nimport FocusTrap from './Trap';\n/* that would be a BREAKING CHANGE!\n// delaying sidecar execution till the first usage\nconst RequireSideCar = (props) => {\n // eslint-disable-next-line global-require\n const SideCar = require('./Trap').default;\n return ;\n};\n*/\n\nvar FocusLockCombination = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(FocusLockUI, _extends({\n sideCar: FocusTrap,\n ref: ref\n }, props));\n});\n\nvar _ref = FocusLockUI.propTypes || {},\n sideCar = _ref.sideCar,\n propTypes = _objectWithoutPropertiesLoose(_ref, [\"sideCar\"]);\n\nFocusLockCombination.propTypes = propTypes;\nexport default FocusLockCombination;","import FocusLock from './Combination';\nexport * from './UI';\nexport default FocusLock;","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n","import copyObject from './_copyObject.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nexport default baseAssign;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n","import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\n","import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\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 * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nexport default initCloneArray;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nexport default cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nexport default cloneRegExp;\n","import Symbol from './_Symbol.js';\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 clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\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 * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nexport default initCloneByTag;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n","import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\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 map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n","import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\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 set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n","import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\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 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 identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nexport default baseClone;\n","import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\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 assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignMergeValue;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\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 safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nexport default safeGet;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nexport default toPlainObject;\n","import assignMergeValue from './_assignMergeValue.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\nimport copyArray from './_copyArray.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport isBuffer from './isBuffer.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nimport isPlainObject from './isPlainObject.js';\nimport isTypedArray from './isTypedArray.js';\nimport safeGet from './_safeGet.js';\nimport toPlainObject from './toPlainObject.js';\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nexport default baseMergeDeep;\n","import Stack from './_Stack.js';\nimport assignMergeValue from './_assignMergeValue.js';\nimport baseFor from './_baseFor.js';\nimport baseMergeDeep from './_baseMergeDeep.js';\nimport isObject from './isObject.js';\nimport keysIn from './keysIn.js';\nimport safeGet from './_safeGet.js';\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nexport default baseMerge;\n","import constant from './constant.js';\nimport defineProperty from './_defineProperty.js';\nimport identity from './identity.js';\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nexport default baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nexport default shortOut;\n","import baseSetToString from './_baseSetToString.js';\nimport shortOut from './_shortOut.js';\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nexport default setToString;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\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\nexport default setCacheAdd;\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\nexport default setCacheHas;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\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// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\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\nexport default baseHasIn;\n","import baseHasIn from './_baseHasIn.js';\nimport hasPath from './_hasPath.js';\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\nexport default hasIn;\n","import { applyFontWeightNormal, applyScaledTypeRamp, designUnit, glyphSize, HighContrastColor, highContrastOptOutProperty, highContrastSelector, neutralForegroundHint, } from \"@microsoft/fast-components-styles-msft\";\nimport { directionSwitch, multiply, toPx } from \"@microsoft/fast-jss-utilities\";\nconst styles = {\n attribution: {\n \"box-sizing\": \"border-box\",\n display: \"inline-flex\",\n \"align-items\": \"center\",\n \"& $attribution_image\": {\n \"margin-right\": directionSwitch(toPx(multiply(designUnit, 2)), \"\"),\n \"margin-left\": directionSwitch(\"\", toPx(multiply(designUnit, 2))),\n },\n },\n attribution_contentRegion: Object.assign(Object.assign(Object.assign({}, applyScaledTypeRamp(\"t8\")), applyFontWeightNormal()), { color: neutralForegroundHint }),\n attribution_image: {\n height: glyphSize,\n [highContrastSelector]: Object.assign(Object.assign({}, highContrastOptOutProperty), { background: HighContrastColor.background, \"border-color\": HighContrastColor.text }),\n },\n};\nexport default styles;\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport AttributionStyles from \"./attribution.style\";\nimport BaseAttribution from \"./attribution\";\nimport attributionSchema from \"./attribution.schema\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\n/* tslint:disable-next-line:typedef */\nconst Attribution = manageJss(AttributionStyles)(BaseAttribution);\nexport { Attribution, attributionSchema, };\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\nexport default baseTimes;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\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 * 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\nexport default arrayLikeKeys;\n","import overArg from './_overArg.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nexport default nativeKeys;\n","import isPrototype from './_isPrototype.js';\nimport nativeKeys from './_nativeKeys.js';\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 * 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\nexport default baseKeys;\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\nexport default createBaseFor;\n","import createBaseFor from './_createBaseFor.js';\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\nexport default baseFor;\n","import isArrayLike from './isArrayLike.js';\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\nexport default createBaseEach;\n","import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\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\nexport default baseEach;\n","import baseFlatten from './_baseFlatten.js';\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nexport default flatten;\n","import flatten from './flatten.js';\nimport overRest from './_overRest.js';\nimport setToString from './_setToString.js';\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nexport default flatRest;\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\nexport default apply;\n","import apply from './_apply.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\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 * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\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] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nexport default overRest;\n","import isObject from './isObject.js';\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nexport default baseCreate;\n","import baseCreate from './_baseCreate.js';\nimport getPrototype from './_getPrototype.js';\nimport isPrototype from './_isPrototype.js';\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nexport default initCloneObject;\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\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 invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { 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;\n","import { neutralPalette } from \"../design-system\";\nimport { colorRecipeFactory, swatchFamilyToSwatchRecipeFactory, SwatchFamilyType, } from \"./common\";\nimport { accessibleAlgorithm } from \"./accessible-recipe\";\nfunction neutralForegroundHintAlgorithm(targetContrast) {\n return accessibleAlgorithm(neutralPalette, targetContrast, 0, 0, 0, 0);\n}\n/**\n * Hint text for normal sized text, less than 18pt normal weight\n */\nexport const neutralForegroundHint = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, colorRecipeFactory(neutralForegroundHintAlgorithm(4.5)));\n/**\n * Hint text for large sized text, greater than 18pt or 16pt and bold\n */\nexport const neutralForegroundHintLarge = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, colorRecipeFactory(neutralForegroundHintAlgorithm(3)));\n","import { AttachedBehaviorDirective } from \"./directive\";\n/**\n * The runtime behavior for template references.\n * @public\n */\nexport class RefBehavior {\n /**\n * Creates an instance of RefBehavior.\n * @param target - The element to reference.\n * @param propertyName - The name of the property to assign the reference to.\n */\n constructor(target, propertyName) {\n this.target = target;\n this.propertyName = propertyName;\n }\n /**\n * Bind this behavior to the source.\n * @param source - The source to bind to.\n * @param context - The execution context that the binding is operating within.\n */\n bind(source) {\n source[this.propertyName] = this.target;\n }\n /* eslint-disable-next-line @typescript-eslint/no-empty-function */\n /**\n * Unbinds this behavior from the source.\n * @param source - The source to unbind from.\n */\n unbind() { }\n}\n/**\n * A directive that observes the updates a property with a reference to the element.\n * @param propertyName - The name of the property to assign the reference to.\n * @public\n */\nexport function ref(propertyName) {\n return new AttachedBehaviorDirective(\"fast-ref\", RefBehavior, propertyName);\n}\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { Button as BaseButton } from \"@microsoft/fast-components-react-base\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport { isNil } from \"lodash-es\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass ButtonBase extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n beforeContent: void 0,\n afterContent: void 0,\n disabled: void 0,\n href: void 0,\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n const managedClasses = this.props.managedClasses;\n return (React.createElement(BaseButton, Object.assign({}, this.unhandledProps(), { managedClasses: managedClasses, className: this.generateClassNames(), href: this.props.href, disabled: this.props.disabled }),\n this.generateBeforeContent(),\n React.createElement(\"span\", { className: classNames(managedClasses.button_contentRegion) }, this.props.children),\n this.generateAfterContent()));\n }\n generateClassNames() {\n return super.generateClassNames(classNames([\n this.props.managedClasses.button__hasBeforeOrAfterAndChildren,\n this.hasBeforeOrAfterAndChildren(),\n ]));\n }\n generateBeforeContent() {\n if (typeof this.props.beforeContent === \"function\") {\n return this.props.beforeContent(classNames(this.props.managedClasses.button_beforeContent));\n }\n }\n generateAfterContent() {\n if (typeof this.props.afterContent === \"function\") {\n return this.props.afterContent(classNames(this.props.managedClasses.button_afterContent));\n }\n }\n hasBeforeOrAfterAndChildren() {\n return (!isNil(this.props.children) &&\n (!isNil(this.props.beforeContent) || !isNil(this.props.afterContent)));\n }\n}\nButtonBase.displayName = `${DisplayNamePrefix}ButtonBase`;\nButtonBase.defaultProps = {\n managedClasses: {},\n};\nexport default ButtonBase;\nexport * from \"./button-base.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { TypographySize, TypographyTag } from \"@microsoft/fast-components-react-base\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { Typography } from \"../typography\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { HeadingSize, } from \"./heading.props\";\nclass Heading extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n size: void 0,\n managedClasses: void 0,\n tag: void 0,\n };\n }\n /**\n * Stores HTML tag for use in render\n */\n get tag() {\n return this.props.tag ? TypographyTag[this.props.tag] : TypographyTag.h1;\n }\n /**\n * Stores size for use in render\n */\n get size() {\n return TypographySize[`_${this.props.size}`];\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(Typography, Object.assign({}, this.unhandledProps(), { tag: this.tag, size: this.size, className: this.generateClassNames() }), this.props.children));\n }\n /**\n * Generates class names based on props\n */\n generateClassNames() {\n const managedClasses = this.props.managedClasses;\n return super.generateClassNames(classNames(managedClasses.heading, managedClasses[`heading__${this.props.size}`]));\n }\n}\nHeading.displayName = `${DisplayNamePrefix}Heading`;\nHeading.defaultProps = {\n size: HeadingSize._1,\n managedClasses: {},\n};\nexport default Heading;\nexport * from \"./heading.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { HeadingStyles } from \"@microsoft/fast-components-styles-msft\";\nimport headingSchema from \"./heading.schema\";\nimport headingSchema2 from \"./heading.schema.2\";\nimport MSFTHeading, { HeadingAlignBaseline, HeadingSize, HeadingTag, } from \"./heading\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Heading = manageJss(HeadingStyles)(MSFTHeading);\nexport { HeadingAlignBaseline, Heading, HeadingSize, HeadingTag, headingSchema, headingSchema2, };\n","/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\nfunction baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n}\n\nexport default baseInRange;\n","import baseInRange from './_baseInRange.js';\nimport toFinite from './toFinite.js';\nimport toNumber from './toNumber.js';\n\n/**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\nfunction inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n}\n\nexport default inRange;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = toCss;\n\nvar _toCssValue = require('./toCssValue');\n\nvar _toCssValue2 = _interopRequireDefault(_toCssValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Indent a string.\n * http://jsperf.com/array-join-vs-for\n */\nfunction indentStr(str, indent) {\n var result = '';\n for (var index = 0; index < indent; index++) {\n result += ' ';\n }return result + str;\n}\n\n/**\n * Converts a Rule to CSS string.\n */\n\nfunction toCss(selector, style) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var result = '';\n\n if (!style) return result;\n\n var _options$indent = options.indent,\n indent = _options$indent === undefined ? 0 : _options$indent;\n var fallbacks = style.fallbacks;\n\n\n indent++;\n\n // Apply fallbacks first.\n if (fallbacks) {\n // Array syntax {fallbacks: [{prop: value}]}\n if (Array.isArray(fallbacks)) {\n for (var index = 0; index < fallbacks.length; index++) {\n var fallback = fallbacks[index];\n for (var prop in fallback) {\n var value = fallback[prop];\n if (value != null) {\n result += '\\n' + indentStr(prop + ': ' + (0, _toCssValue2['default'])(value) + ';', indent);\n }\n }\n }\n } else {\n // Object syntax {fallbacks: {prop: value}}\n for (var _prop in fallbacks) {\n var _value = fallbacks[_prop];\n if (_value != null) {\n result += '\\n' + indentStr(_prop + ': ' + (0, _toCssValue2['default'])(_value) + ';', indent);\n }\n }\n }\n }\n\n for (var _prop2 in style) {\n var _value2 = style[_prop2];\n if (_value2 != null && _prop2 !== 'fallbacks') {\n result += '\\n' + indentStr(_prop2 + ': ' + (0, _toCssValue2['default'])(_value2) + ';', indent);\n }\n }\n\n // Allow empty style in this case, because properties will be added dynamically.\n if (!result && !options.allowEmpty) return result;\n\n indent--;\n result = indentStr(selector + ' {' + result + '\\n', indent) + indentStr('}', indent);\n\n return result;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _SheetsRegistry = require('./SheetsRegistry');\n\nvar _SheetsRegistry2 = _interopRequireDefault(_SheetsRegistry);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * This is a global sheets registry. Only DomRenderer will add sheets to it.\n * On the server one should use an own SheetsRegistry instance and add the\n * sheets to it, because you need to make sure to create a new registry for\n * each request in order to not leak sheets across requests.\n */\nexports['default'] = new _SheetsRegistry2['default']();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _isInBrowser = require('is-in-browser');\n\nvar _isInBrowser2 = _interopRequireDefault(_isInBrowser);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar js = ''; /**\n * Export javascript style and css style vendor prefixes.\n * Based on \"transform\" support test.\n */\n\nvar css = '';\n\n// We should not do anything if required serverside.\nif (_isInBrowser2['default']) {\n // Order matters. We need to check Webkit the last one because\n // other vendors use to add Webkit prefixes to some properties\n var jsCssMap = {\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-',\n Webkit: '-webkit-'\n };\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n js = key;\n css = jsCssMap[key];\n break;\n }\n }\n}\n\n/**\n * Vendor prefix string for the current browser.\n *\n * @type {{js: String, css: String}}\n * @api public\n */\nexports['default'] = { js: js, css: css };","import { applyScaledTypeRamp } from \"../utilities/typography\";\nimport { neutralForegroundRest } from \"../utilities/color\";\nconst styles = {\n typography: {\n color: neutralForegroundRest,\n \"margin-top\": \"0\",\n \"margin-bottom\": \"0\",\n transition: \"all 0.2s ease-in-out\",\n },\n typography__1: Object.assign({}, applyScaledTypeRamp(\"t1\")),\n typography__2: Object.assign({}, applyScaledTypeRamp(\"t2\")),\n typography__3: Object.assign({}, applyScaledTypeRamp(\"t3\")),\n typography__4: Object.assign({}, applyScaledTypeRamp(\"t4\")),\n typography__5: Object.assign({}, applyScaledTypeRamp(\"t5\")),\n typography__6: Object.assign({}, applyScaledTypeRamp(\"t6\")),\n typography__7: Object.assign({}, applyScaledTypeRamp(\"t7\")),\n typography__8: Object.assign({}, applyScaledTypeRamp(\"t8\")),\n typography__9: Object.assign({}, applyScaledTypeRamp(\"t9\")),\n};\nexport default styles;\n","import { applyElevatedCornerRadius } from \"../utilities/border\";\nimport { applyElevation, ElevationMultiplier } from \"../utilities/elevation\";\nimport { backgroundColor } from \"../utilities/design-system\";\nimport { highContrastBorder } from \"../utilities/high-contrast\";\nconst styles = {\n card: Object.assign(Object.assign(Object.assign(Object.assign({ width: \"100%\", height: \"100%\", background: backgroundColor }, applyElevatedCornerRadius()), applyElevation(ElevationMultiplier.e4)), { transition: \"all 0.2s ease-in-out\" }), highContrastBorder),\n};\nexport default styles;\n","function applyImageStyles() {\n return {\n display: \"block\",\n margin: \"0\",\n \"max-width\": \"100%\",\n height: \"auto\",\n };\n}\nconst styles = {\n image: Object.assign({}, applyImageStyles()),\n image__picture: {\n display: \"block\",\n },\n image_img: Object.assign({}, applyImageStyles()),\n};\nexport default styles;\n","import { format, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { applyElevatedCornerRadius } from \"../utilities/border\";\nimport { designUnit, outlineWidth } from \"../utilities/design-system\";\nimport { applyElevation, ElevationMultiplier } from \"../utilities/elevation\";\nimport { HighContrastColor, highContrastOptOutProperty, highContrastSelector, } from \"../utilities/high-contrast\";\nimport { neutralLayerFloating } from \"../utilities/color\";\nconst styles = {\n contextMenu: Object.assign(Object.assign(Object.assign({ background: neutralLayerFloating }, applyElevatedCornerRadius()), applyElevation(ElevationMultiplier.e11)), { margin: \"0\", padding: format(\"{0} 0\", toPx(designUnit)), \"max-width\": \"368px\", \"min-width\": \"64px\", transition: \"all 0.2s ease-in-out\", [highContrastSelector]: Object.assign(Object.assign({}, highContrastOptOutProperty), { background: HighContrastColor.buttonBackground, border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.buttonText) }) }),\n};\nexport default styles;\n","import { add, applyFocusVisible, format, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { applyCursorPointer } from \"../utilities/cursor\";\nimport { applyCornerRadius, applyFocusPlaceholderBorder } from \"../utilities/border\";\nimport { neutralFillStealthActive, neutralFillStealthHover, neutralFocus, neutralForegroundRest, } from \"../utilities/color\";\nimport { height, horizontalSpacingNumber } from \"../utilities/density\";\nimport { designUnit, focusOutlineWidth } from \"../utilities/design-system\";\nimport { applyDisabledState } from \"../utilities/disabled\";\nimport { applyScaledTypeRamp } from \"../utilities/typography\";\nimport { HighContrastColor, highContrastDisabled, highContrastSelected, highContrastSelector, highContrastStealth, } from \"../utilities/high-contrast\";\nconst glyphWidth = 16;\nconst styles = {\n contextMenuItem: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ \"list-style-type\": \"none\", \"box-sizing\": \"border-box\", height: height(), display: \"grid\", \"grid-template-columns\": format(\"{0} auto {0}\", toPx(add(horizontalSpacingNumber(-2), glyphWidth, horizontalSpacingNumber()))), \"grid-template-rows\": \"auto\", \"justify-items\": \"center\", \"align-items\": \"center\", padding: \"0\", margin: format(\"0 {0}\", toPx(designUnit)), color: neutralForegroundRest, fill: neutralForegroundRest, \"white-space\": \"nowrap\", overflow: \"hidden\" }, applyCursorPointer()), applyScaledTypeRamp(\"t7\")), applyCornerRadius()), applyFocusPlaceholderBorder()), applyFocusVisible({\n \"border-color\": neutralFocus,\n [highContrastSelector]: {\n color: HighContrastColor.selectedText,\n fill: HighContrastColor.selectedText,\n background: HighContrastColor.selectedBackground,\n \"box-shadow\": format(\"0 0 0 {0} inset {1}\", toPx(focusOutlineWidth), () => HighContrastColor.buttonText),\n },\n })), { \"&:hover\": Object.assign({ background: neutralFillStealthHover }, highContrastSelected), \"&:active\": Object.assign({ background: neutralFillStealthActive }, highContrastSelected) }), highContrastStealth),\n contextMenuItem_contentRegion: {\n \"grid-column-start\": \"2\",\n \"justify-self\": \"start\",\n overflow: \"hidden\",\n \"text-overflow\": \"ellipsis\",\n },\n contextMenuItem__disabled: Object.assign(Object.assign(Object.assign({}, applyDisabledState()), highContrastDisabled), { \"&:hover\": Object.assign({}, highContrastDisabled) }),\n};\nexport default styles;\n","import { applyFocusVisible, format, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { accentForegroundActive, accentForegroundHover, accentForegroundRest, neutralFocus, neutralForegroundRest, } from \"../utilities/color\";\nimport { focusOutlineWidth, outlineWidth } from \"../utilities/design-system\";\nimport { HighContrastColor, highContrastLinkValue, highContrastOptOutProperty, highContrastSelector, } from \"../utilities/high-contrast\";\nconst styles = {\n hypertext: {\n outline: \"none\",\n \"text-decoration\": \"none\",\n color: neutralForegroundRest,\n transition: \"all 0.2s ease-in-out, border 0.03s ease-in-out\",\n \"&:link, &:visited\": Object.assign(Object.assign({ \"border-bottom\": format(\"{0} solid {1}\", toPx(outlineWidth), accentForegroundRest), color: accentForegroundRest, \"&:hover\": {\n \"border-bottom-color\": accentForegroundHover,\n color: accentForegroundHover,\n [highContrastSelector]: {\n \"border-bottom-color\": highContrastLinkValue,\n color: highContrastLinkValue,\n },\n }, \"&:active\": {\n \"border-bottom-color\": accentForegroundActive,\n color: accentForegroundActive,\n } }, applyFocusVisible({\n \"border-bottom\": format(\"{0} solid {1}\", toPx(focusOutlineWidth), neutralFocus),\n [highContrastSelector]: {\n \"border-bottom-color\": highContrastLinkValue,\n color: highContrastLinkValue,\n },\n })), { [highContrastSelector]: {\n color: highContrastLinkValue,\n \"border-bottom-color\": highContrastLinkValue,\n } }),\n [highContrastSelector]: Object.assign(Object.assign({}, highContrastOptOutProperty), { color: HighContrastColor.text }),\n },\n};\nexport default styles;\n","import React from \"react\";\nexport const AutoSuggestContext = React.createContext({\n currentValue: \"\",\n});\n","import { applyFocusVisible } from \"@microsoft/fast-jss-utilities\";\nimport { neutralFillStealthActive, neutralFillStealthHover, neutralFillStealthRest, neutralFocus, neutralForegroundRest, } from \"../utilities/color\";\nimport { baseButton, buttonStyles } from \"../patterns/button\";\nimport { highContrastDisabledBorder, highContrastLinkBorder, highContrastLinkOutline, highContrastOutlineFocus, highContrastSelected, highContrastStealth, } from \"../utilities/high-contrast\";\nconst styles = Object.assign(Object.assign({}, baseButton), { button: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, buttonStyles()), { color: neutralForegroundRest, fill: neutralForegroundRest, background: neutralFillStealthRest, \"&:hover:enabled, a&:not($button__disabled):hover\": Object.assign({ \"background-color\": neutralFillStealthHover }, highContrastSelected), \"&:active:enabled, a&:not($button__disabled):active\": {\n \"background-color\": neutralFillStealthActive,\n } }), applyFocusVisible(Object.assign({ \"border-color\": neutralFocus }, highContrastOutlineFocus))), { \"&:disabled\": Object.assign({}, highContrastDisabledBorder) }), highContrastStealth), { \"a&:not($button__disabled)\": Object.assign(Object.assign({}, highContrastLinkOutline), { \"&:not($button__disabled):hover\": Object.assign({}, highContrastLinkBorder), \"&$button__disabled\": Object.assign({}, highContrastDisabledBorder) }) }) });\nexport default styles;\n","import { add, applyFocusVisible, directionSwitch, divide, format, important, multiply, subtract, toPx, } from \"@microsoft/fast-jss-utilities\";\nimport { applyScaledTypeRamp } from \"../utilities/typography\";\nimport { accentFillRest, accentForegroundCut, neutralFillInputActive, neutralFillInputHover, neutralFillInputRest, neutralForegroundRest, neutralOutlineContrastActive, neutralOutlineContrastHover, neutralOutlineContrastRest, } from \"../utilities/color\";\nimport { applyDisabledState } from \"../utilities/disabled\";\nimport { densityCategorySwitch, heightNumber } from \"../utilities/density\";\nimport { designUnit, outlineWidth } from \"../utilities/design-system\";\nimport { applyCursorDisabled, applyCursorPointer } from \"../utilities/cursor\";\nimport { HighContrastColor, highContrastDoubleOuterFocus, highContrastOptOutProperty, highContrastSelector, highContrastTextForeground, } from \"../utilities/high-contrast\";\nimport { doubleOuterFocus } from \"../patterns/input-field\";\nconst height = add(divide(heightNumber(), 2), designUnit);\nconst width = multiply(height, 2);\nconst indicatorMargin = add(designUnit, densityCategorySwitch(0, 1, 2));\nconst indicatorSize = subtract(height, multiply(indicatorMargin, 2));\nconst indicatorCheckedOffset = subtract(width, indicatorMargin, indicatorSize);\nconst styles = {\n toggle: {\n display: \"inline-block\",\n color: neutralForegroundRest,\n transition: \"all 0.2s ease-in-out\",\n [highContrastSelector]: Object.assign({}, highContrastOptOutProperty),\n },\n toggle_label: Object.assign(Object.assign(Object.assign({}, applyCursorPointer()), applyScaledTypeRamp(\"t7\")), { display: \"block\", \"padding-bottom\": \"7px\", clear: \"both\" }),\n toggle_toggleButton: Object.assign(Object.assign({}, applyCursorPointer()), { position: \"relative\", \"margin-top\": \"0\", float: directionSwitch(\"left\", \"right\") }),\n toggle_stateIndicator: {\n position: \"absolute\",\n \"pointer-events\": \"none\",\n top: toPx(indicatorMargin),\n left: directionSwitch(toPx(indicatorMargin), \"unset\"),\n right: directionSwitch(\"unset\", toPx(indicatorMargin)),\n transition: \"all .1s ease\",\n \"border-radius\": toPx(indicatorSize),\n width: toPx(indicatorSize),\n height: toPx(indicatorSize),\n background: neutralForegroundRest,\n },\n toggle_input: Object.assign(Object.assign(Object.assign(Object.assign({}, applyCursorPointer()), { display: \"block\", position: \"relative\", margin: \"0\", width: toPx(width), height: toPx(height), background: neutralFillInputRest, border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineContrastRest), \"border-radius\": toPx(height), appearance: \"none\", \"-webkit-appearance\": \"none\", \"-moz-appearance\": \"none\", outline: \"none\", \"&:active\": {\n background: neutralFillInputActive,\n \"border-color\": neutralOutlineContrastActive,\n [highContrastSelector]: {\n background: HighContrastColor.selectedBackground,\n \"border-color\": HighContrastColor.selectedText,\n \"& + span\": {\n background: HighContrastColor.selectedText,\n },\n },\n }, \"&:hover\": {\n background: neutralFillInputHover,\n \"border-color\": neutralOutlineContrastHover,\n [highContrastSelector]: {\n background: HighContrastColor.background,\n \"border-color\": HighContrastColor.selectedBackground,\n \"& + span\": {\n background: HighContrastColor.selectedBackground,\n },\n },\n } }), applyFocusVisible(Object.assign(Object.assign({}, doubleOuterFocus), highContrastDoubleOuterFocus))), { [highContrastSelector]: {\n background: HighContrastColor.background,\n \"border-color\": HighContrastColor.buttonText,\n \"& + span\": {\n background: HighContrastColor.buttonText,\n },\n } }),\n toggle__checked: {\n \"& $toggle_input\": {\n background: accentFillRest,\n \"border-color\": accentFillRest,\n \"&:disabled\": {\n \"& $toggle_input, & $toggle_label, & $toggle_statusMessage\": {\n [highContrastSelector]: {\n background: \"transparent\",\n \"border-color\": important(HighContrastColor.disabledText),\n color: important(HighContrastColor.disabledText),\n \"& + span\": {\n background: important(HighContrastColor.disabledText),\n },\n },\n },\n },\n \"&:hover\": {\n [highContrastSelector]: {\n background: HighContrastColor.selectedText,\n \"border-color\": HighContrastColor.selectedBackground,\n \"& + span\": {\n background: HighContrastColor.selectedBackground,\n },\n },\n },\n \"&:active\": {\n [highContrastSelector]: {\n background: important(HighContrastColor.selectedBackground),\n \"border-color\": important(HighContrastColor.selectedBackground),\n \"& + span\": {\n background: important(HighContrastColor.selectedText),\n },\n },\n },\n [highContrastSelector]: {\n background: HighContrastColor.selectedBackground,\n \"border-color\": HighContrastColor.selectedBackground,\n \"& + span\": {\n background: HighContrastColor.selectedText,\n },\n },\n },\n \"& $toggle_stateIndicator\": {\n left: directionSwitch(toPx(indicatorCheckedOffset), \"unset\"),\n right: directionSwitch(\"unset\", toPx(indicatorCheckedOffset)),\n background: accentForegroundCut,\n },\n },\n toggle__disabled: Object.assign(Object.assign({}, applyDisabledState()), { \"& $toggle_input, & $toggle_label, & $toggle_statusMessage\": Object.assign(Object.assign({}, applyCursorDisabled()), { [highContrastSelector]: {\n background: \"transparent\",\n \"border-color\": important(HighContrastColor.disabledText),\n color: important(HighContrastColor.disabledText),\n \"& + span\": {\n background: important(HighContrastColor.disabledText),\n },\n } }) }),\n toggle_statusMessage: Object.assign(Object.assign(Object.assign({}, applyScaledTypeRamp(\"t7\")), { \"line-height\": toPx(height), float: directionSwitch(\"left\", \"right\"), \"padding-left\": directionSwitch(\"6px\", \"\"), \"padding-right\": directionSwitch(\"\", \"6px\"), \"user-select\": \"none\", \"margin-top\": \"0\", \"padding-bottom\": \"0\" }), highContrastTextForeground),\n};\nexport default styles;\n","import { add, applyFocusVisible, directionSwitch, divide, format, important, toPx, } from \"@microsoft/fast-jss-utilities\";\nimport { neutralFillInputActive, neutralFillInputHover, neutralFillInputRest, neutralForegroundRest, neutralOutlineContrastActive, neutralOutlineContrastHover, neutralOutlineContrastRest, } from \"../utilities/color\";\nimport { densityCategorySwitch, heightNumber, horizontalSpacing, } from \"../utilities/density\";\nimport { applyDisabledState } from \"../utilities/disabled\";\nimport { applyScaledTypeRamp } from \"../utilities/typography\";\nimport { backgroundColor, designUnit, outlineWidth } from \"../utilities/design-system\";\nimport { applyCursorDisabled, applyCursorPointer } from \"../utilities/cursor\";\nimport { HighContrastColor, highContrastDoubleOuterFocus, highContrastHighlightBackground, highContrastOptOutProperty, highContrastSelectedBackground, highContrastSelector, } from \"../utilities/high-contrast\";\nimport { doubleOuterFocus } from \"../patterns/input-field\";\nconst inputSize = toPx(add(divide(heightNumber(), 2), designUnit));\nconst indicatorMargin = toPx(add(designUnit, densityCategorySwitch(0, 1, 2)));\nconst styles = {\n radio: {\n position: \"relative\",\n display: \"inline-flex\",\n \"flex-direction\": \"row\",\n \"align-items\": \"center\",\n transition: \"all 0.2s ease-in-out\",\n },\n radio_input: Object.assign(Object.assign({ position: \"absolute\", width: inputSize, height: inputSize, appearance: \"none\", \"-webkit-appearance\": \"none\", \"-moz-appearance\": \"none\", \"border-radius\": \"50%\", margin: \"0\", \"z-index\": \"1\", background: neutralFillInputRest, transition: \"all 0.2s ease-in-out\", border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineContrastRest), \"&:enabled\": Object.assign({}, applyCursorPointer()), \"&:hover:enabled\": {\n background: neutralFillInputHover,\n \"border-color\": neutralOutlineContrastHover,\n [highContrastSelector]: {\n background: \"transparent\",\n border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.selectedBackground),\n },\n }, \"&:active:enabled\": {\n background: neutralFillInputActive,\n \"border-color\": neutralOutlineContrastActive,\n } }, applyFocusVisible(Object.assign(Object.assign({}, doubleOuterFocus), highContrastDoubleOuterFocus))), { [highContrastSelector]: Object.assign(Object.assign({}, highContrastOptOutProperty), { background: \"transparent\", border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.buttonText) }) }),\n radio_stateIndicator: {\n position: \"relative\",\n \"border-radius\": \"50%\",\n display: \"inline-block\",\n width: inputSize,\n height: inputSize,\n \"flex-shrink\": \"0\",\n \"&::before\": {\n \"pointer-events\": \"none\",\n position: \"absolute\",\n \"z-index\": \"1\",\n content: '\"\"',\n \"border-radius\": \"50%\",\n top: indicatorMargin,\n left: indicatorMargin,\n bottom: indicatorMargin,\n right: indicatorMargin,\n background: \"transparent\",\n },\n [highContrastSelector]: Object.assign({}, highContrastOptOutProperty),\n },\n radio_label: Object.assign(Object.assign(Object.assign(Object.assign({}, applyCursorPointer()), { color: neutralForegroundRest }), applyScaledTypeRamp(\"t7\")), { \"margin-left\": directionSwitch(horizontalSpacing(2), \"\"), \"margin-right\": directionSwitch(\"\", horizontalSpacing(2)) }),\n radio__checked: {\n \"& $radio_stateIndicator\": {\n \"&::before\": {\n background: backgroundColor,\n [highContrastSelector]: {\n background: HighContrastColor.selectedBackground,\n },\n },\n },\n \"&:hover $radio_stateIndicator::before\": Object.assign({}, highContrastSelectedBackground),\n \"& $radio_input\": Object.assign(Object.assign({ \"background-color\": neutralOutlineContrastRest }, highContrastSelectedBackground), { \"&:hover:enabled\": Object.assign({ \"background-color\": neutralOutlineContrastHover }, highContrastHighlightBackground), \"&:active:enabled\": {\n \"background-color\": neutralOutlineContrastActive,\n } }),\n },\n radio__disabled: Object.assign(Object.assign({}, applyDisabledState()), { \"& $radio_input, & $radio_label\": Object.assign(Object.assign({}, applyCursorDisabled()), { [highContrastSelector]: Object.assign(Object.assign({}, highContrastOptOutProperty), { background: important(HighContrastColor.buttonBackground), color: important(HighContrastColor.disabledText), fill: important(HighContrastColor.disabledText), \"border-color\": important(HighContrastColor.disabledText) }) }) }),\n};\nexport default styles;\n","import { format, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { outlineWidth } from \"../utilities/design-system\";\nimport { neutralDividerRest } from \"../utilities/color/neutral-divider\";\nimport { highContrastBorderColor } from \"../utilities/high-contrast\";\nconst styles = {\n divider: Object.assign({ \"box-sizing\": \"content-box\", height: \"0\", margin: \"0\", border: \"none\", \"border-top\": format(\"{0} solid {1}\", toPx(outlineWidth), neutralDividerRest), transition: \"all 0.2s ease-in-out\" }, highContrastBorderColor),\n};\nexport default styles;\n","import { applyFocusVisible, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { baseButton, buttonStyles } from \"../patterns/button\";\nimport { accentForegroundActive, accentForegroundHover, accentForegroundRest, neutralForegroundRest, } from \"../utilities/color\";\nimport { focusOutlineWidth } from \"../utilities/design-system\";\nimport { HighContrastColor, highContrastDisabledForeground, highContrastHighlightBackground, highContrastHighlightForeground, highContrastLinkForeground, highContrastLinkValue, highContrastSelector, highContrastStealth, } from \"../utilities/high-contrast\";\nconst styles = Object.assign(Object.assign({}, baseButton), { button: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, buttonStyles()), { padding: \"0\", border: \"0\", \"justify-content\": \"flex-start\", \"background-color\": \"transparent\", color: accentForegroundRest, fill: accentForegroundRest }), applyFocusVisible(Object.assign(Object.assign({ \"border-color\": \"transparent\", \"box-shadow\": \"none\" }, highContrastHighlightForeground), { \"& $button_contentRegion::before\": Object.assign({ background: neutralForegroundRest, height: toPx(focusOutlineWidth) }, highContrastHighlightBackground) }))), { \"a&, button&\": {}, \n // Underline\n \"& $button_contentRegion::before\": {\n [highContrastSelector]: {\n background: HighContrastColor.buttonText,\n },\n }, \"&:hover $button_contentRegion::before\": Object.assign({ background: accentForegroundHover }, highContrastHighlightBackground), \"&:hover$button__disabled $button_contentRegion::before\": {\n display: \"none\",\n }, \"&:active $button_contentRegion::before\": Object.assign({ background: accentForegroundActive }, highContrastHighlightBackground), \"&$button__disabled, &$button__disabled $button_contentRegion::before\": Object.assign({ \"background-color\": \"transparent\" }, highContrastDisabledForeground), \"&:hover:enabled, a&:not($button__disabled):hover\": Object.assign({ color: accentForegroundHover, fill: accentForegroundHover, \"background-color\": \"transparent\" }, highContrastHighlightForeground), \"&:active:enabled, a&:not($button__disabled):active\": {\n color: accentForegroundActive,\n fill: accentForegroundActive,\n \"background-color\": \"transparent\",\n } }), highContrastStealth), { \"a&:not($button__disabled)\": {\n [highContrastSelector]: {\n background: HighContrastColor.background,\n color: highContrastLinkValue,\n fill: highContrastLinkValue,\n },\n \"&:not($button__disabled):hover\": Object.assign({}, highContrastLinkForeground),\n // Underline\n \"&:hover $button_contentRegion::before\": {\n [highContrastSelector]: {\n background: highContrastLinkValue,\n },\n },\n \"& $button_contentRegion::before\": {\n [highContrastSelector]: {\n background: \"transparent\",\n },\n },\n } }) });\nexport default styles;\n","import { applyFocusVisible, format } from \"@microsoft/fast-jss-utilities\";\nimport { baseButton, buttonStyles } from \"../patterns/button\";\nimport { accentFillActive, accentFillHover, accentFillRest, accentForegroundCut, neutralFocus, neutralFocusInnerAccent, } from \"../utilities/color\";\nimport { highContrastAccent, highContrastDisabledBorder, highContrastDisabledForeground, highContrastDoubleFocus, highContrastHighlightForeground, highContrastLinkBorder, highContrastLinkForeground, highContrastLinkOutline, highContrastSelectedForeground, highContrastSelectedOutline, highContrastSelector, } from \"../utilities/high-contrast\";\nconst styles = Object.assign(Object.assign({}, baseButton), { button: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, buttonStyles()), { color: accentForegroundCut, fill: accentForegroundCut, background: accentFillRest, \"&:hover:enabled, a&:not($button__disabled):hover\": Object.assign(Object.assign({ background: accentFillHover }, highContrastSelectedOutline), { \"& $button_beforeContent, & $button_afterContent\": Object.assign({}, highContrastHighlightForeground) }), \"&:active:enabled, a&:not($button__disabled):active\": {\n background: accentFillActive,\n } }), applyFocusVisible(Object.assign({ \"border-color\": neutralFocus, \"box-shadow\": format(\"0 0 0 2px inset {0}\", neutralFocusInnerAccent(accentFillRest)) }, highContrastDoubleFocus))), { \"&:disabled\": Object.assign(Object.assign({}, highContrastDisabledBorder), { \"& $button_beforeContent, & $button_afterContent\": Object.assign({}, highContrastDisabledForeground) }), \"& $button_beforeContent, & $button_afterContent\": Object.assign({ fill: accentForegroundCut }, highContrastSelectedForeground) }), highContrastAccent), { \"a&:not($button__disabled)\": Object.assign(Object.assign({}, highContrastLinkOutline), { \"& $button_beforeContent, & $button_afterContent\": Object.assign({}, highContrastLinkForeground), \"&:not($button__disabled):hover\": Object.assign(Object.assign({}, highContrastLinkBorder), { \"& $button_beforeContent, & $button_afterContent\": Object.assign({}, highContrastLinkForeground) }), \"&$button__disabled\": Object.assign(Object.assign({}, highContrastDisabledBorder), { \"& $button_beforeContent, & $button_afterContent\": Object.assign({}, highContrastDisabledForeground), \"&:hover\": {\n [highContrastSelector]: {\n \"box-shadow\": \"none !important\",\n },\n \"& $button_beforeContent, & $button_afterContent\": Object.assign({}, highContrastDisabledForeground),\n } }) }) }) });\nexport default styles;\n","import { add, applyFocusVisible, directionSwitch, divide, format, toPx, } from \"@microsoft/fast-jss-utilities\";\nimport { neutralFillInputActive, neutralFillInputHover, neutralFillInputRest, neutralFillToggleActive, neutralFillToggleHover, neutralFillToggleRest, neutralForegroundRest, neutralOutlineContrastActive, neutralOutlineContrastHover, neutralOutlineContrastRest, } from \"../utilities/color\";\nimport { applyCornerRadius } from \"../utilities/border\";\nimport { densityCategorySwitch, heightNumber, horizontalSpacing, } from \"../utilities/density\";\nimport { applyDisabledState } from \"../utilities/disabled\";\nimport { applyScaledTypeRamp } from \"../utilities/typography\";\nimport { backgroundColor, designUnit, outlineWidth } from \"../utilities/design-system\";\nimport { applyCursorDisabled, applyCursorPointer } from \"../utilities/cursor\";\nimport { HighContrastColor, highContrastColorBackground, highContrastDisabledBorder, highContrastDoubleOuterFocus, highContrastHighlightBackground, highContrastOptOutProperty, highContrastSelectedBackground, highContrastSelector, highContrastTextForeground, } from \"../utilities/high-contrast\";\nimport { doubleOuterFocus } from \"../patterns/input-field\";\nconst inputSize = toPx(add(divide(heightNumber(), 2), designUnit));\nconst indeterminateIndicatorMargin = toPx(add(designUnit, densityCategorySwitch(0, 1, 2)));\nconst indicatorSvg = (color) => {\n return (designSystem) => {\n const colorEval = typeof color === \"string\" ? color : color(designSystem);\n return ``;\n };\n};\nconst styles = {\n checkbox: {\n position: \"relative\",\n display: \"inline-flex\",\n \"flex-direction\": \"row\",\n \"align-items\": \"center\",\n transition: \"all 0.2s ease-in-out\",\n \"& $checkbox_label\": {\n \"padding-left\": directionSwitch(horizontalSpacing(2), \"\"),\n \"padding-right\": directionSwitch(\"\", horizontalSpacing(2)),\n },\n [highContrastSelector]: Object.assign({}, highContrastOptOutProperty),\n },\n checkbox_input: Object.assign(Object.assign(Object.assign(Object.assign({ position: \"absolute\", width: inputSize, height: inputSize, appearance: \"none\", \"-webkit-appearance\": \"none\", \"-moz-appearance\": \"none\" }, applyCornerRadius()), { \"box-sizing\": \"border-box\", margin: \"0\", \"z-index\": \"1\", background: neutralFillInputRest, transition: \"all 0.2s ease-in-out\", border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineContrastRest), \"&:enabled\": Object.assign({}, applyCursorPointer()), \"&:hover:enabled\": {\n background: neutralFillInputHover,\n \"border-color\": neutralOutlineContrastHover,\n [highContrastSelector]: {\n background: HighContrastColor.background,\n \"border-color\": HighContrastColor.selectedBackground,\n },\n }, \"&:active:enabled\": {\n background: neutralFillInputActive,\n \"border-color\": neutralOutlineContrastActive,\n } }), applyFocusVisible(Object.assign(Object.assign({}, doubleOuterFocus), highContrastDoubleOuterFocus))), highContrastColorBackground),\n checkbox_stateIndicator: Object.assign(Object.assign({ position: \"relative\" }, applyCornerRadius()), { display: \"inline-block\", width: inputSize, height: inputSize, \"flex-shrink\": \"0\", \"&::before\": {\n content: \"''\",\n \"pointer-events\": \"none\",\n position: \"absolute\",\n \"z-index\": \"1\",\n top: \"0\",\n left: \"0\",\n width: inputSize,\n height: inputSize,\n } }),\n checkbox_label: Object.assign(Object.assign(Object.assign(Object.assign({}, applyCursorPointer()), { color: neutralForegroundRest }), applyScaledTypeRamp(\"t7\")), highContrastTextForeground),\n checkbox__checked: {\n \"& $checkbox_stateIndicator\": {\n \"&::before\": {\n background: format(\"url('data:image/svg+xml;utf8,{0}')\", indicatorSvg(backgroundColor)),\n [highContrastSelector]: {\n background: format(\"url('data:image/svg+xml;utf8,{0}')\", indicatorSvg(HighContrastColor.selectedText)),\n },\n },\n },\n \"&:hover\": {\n \"& $checkbox_stateIndicator\": {\n \"&::before\": {\n [highContrastSelector]: {\n background: format(\"url('data:image/svg+xml;utf8,{0}')\", indicatorSvg(HighContrastColor.selectedBackground)),\n },\n },\n },\n },\n \"& $checkbox_input\": Object.assign(Object.assign({ background: neutralFillToggleRest, \"border-color\": \"transparent\" }, highContrastHighlightBackground), { \"&:hover\": Object.assign({ background: neutralFillToggleHover }, highContrastSelectedBackground), \"&:active\": {\n background: neutralFillToggleActive,\n } }),\n },\n checkbox__indeterminate: {\n \"& $checkbox_stateIndicator\": {\n \"&::before\": Object.assign(Object.assign({}, applyCornerRadius()), { transform: \"none\", top: indeterminateIndicatorMargin, right: indeterminateIndicatorMargin, bottom: indeterminateIndicatorMargin, left: indeterminateIndicatorMargin, width: \"auto\", height: \"auto\", background: neutralForegroundRest, [highContrastSelector]: {\n backgroundColor: HighContrastColor.selectedBackground,\n } }),\n },\n },\n checkbox__disabled: Object.assign(Object.assign({}, applyDisabledState()), { \"& $checkbox_input, & $checkbox_label\": Object.assign(Object.assign({}, applyCursorDisabled()), highContrastDisabledBorder) }),\n};\nexport default styles;\n","import { applyFocusVisible, format, subtract, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { baseButton, buttonStyles } from \"../patterns/button\";\nimport { neutralFocus, neutralForegroundRest, neutralOutlineActive, neutralOutlineHover, neutralOutlineRest, } from \"../utilities/color\";\nimport { horizontalSpacing } from \"../utilities/density\";\nimport { focusOutlineWidth, outlineWidth } from \"../utilities/design-system\";\nimport { highContrastDisabledBorder, highContrastLinkBorder, highContrastLinkOutline, highContrastOutline, highContrastOutlineFocus, highContrastSelected, } from \"../utilities/high-contrast\";\nconst styles = Object.assign(Object.assign({}, baseButton), { button: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, buttonStyles()), { color: neutralForegroundRest, fill: neutralForegroundRest, background: \"transparent\", border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineRest), padding: format(\"0 {0}\", horizontalSpacing(outlineWidth)), \"&:hover:enabled, a&:not($button__disabled):hover\": Object.assign({ background: \"transparent\", border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineHover) }, highContrastSelected), \"&:active:enabled, a&:not($button__disabled):active\": {\n background: \"transparent\",\n border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineActive),\n } }), applyFocusVisible(Object.assign({ \"box-shadow\": format(\"0 0 0 {0} {1} inset\", toPx(subtract(focusOutlineWidth, outlineWidth)), neutralFocus), \"border-color\": neutralFocus }, highContrastOutlineFocus))), { \"&:disabled\": Object.assign({}, highContrastDisabledBorder) }), highContrastOutline), { \"a&:not($button__disabled)\": Object.assign(Object.assign({}, highContrastLinkOutline), { \"&:not($button__disabled):hover\": Object.assign({}, highContrastLinkBorder), \"&$button__disabled\": Object.assign({}, highContrastDisabledBorder) }) }) });\nexport default styles;\n","import { applyFocusVisible, directionSwitch, format, subtract, toPx, } from \"@microsoft/fast-jss-utilities\";\nimport { height, heightNumber, horizontalSpacing } from \"../utilities/density\";\nimport { accentFillRest, neutralFocus, neutralForegroundActive, neutralForegroundHover, neutralForegroundRest, } from \"../utilities/color\";\nimport { applyCornerRadius, applyFocusPlaceholderBorder } from \"../utilities/border\";\nimport { applyScaledTypeRamp } from \"../utilities/typography\";\nimport { focusOutlineWidth } from \"../utilities/design-system\";\nimport { applyCursorPointer } from \"../utilities/cursor\";\nimport { highContrastBorderColor, highContrastForeground, highContrastHighlightBackground, highContrastOptOutProperty, highContrastSelector, } from \"../utilities/high-contrast\";\nconst activeIndicatorHeight = 3;\nconst styles = {\n pivot: {\n position: \"relative\",\n overflow: \"hidden\",\n color: neutralForegroundRest,\n transition: \"all 0.2s ease-in-out\",\n [highContrastSelector]: Object.assign({}, highContrastOptOutProperty),\n },\n pivot_tabList: {\n display: \"flex\",\n \"box-sizing\": \"border-box\",\n },\n pivot_tab: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, applyCursorPointer()), { height: height(), padding: format(\"0 {0}\", horizontalSpacing(focusOutlineWidth)), \"white-space\": \"nowrap\", display: \"flex\" }), applyFocusPlaceholderBorder()), { \"align-items\": \"center\", \"box-sizing\": \"border-box\", \"user-select\": \"none\", color: neutralForegroundRest }), applyCornerRadius()), { \"&:hover\": Object.assign({ color: neutralForegroundHover }, highContrastForeground), \"&:active\": {\n color: neutralForegroundActive,\n } }), applyFocusVisible(Object.assign({ \"border-color\": neutralFocus }, highContrastBorderColor))), highContrastForeground),\n pivot_tab__active: Object.assign({}, highContrastForeground),\n pivot_tabContent: Object.assign(Object.assign({}, applyScaledTypeRamp(\"t7\")), { position: \"relative\", top: \"-2px\" }),\n pivot_activeIndicator: Object.assign(Object.assign(Object.assign({ position: \"absolute\" }, applyCornerRadius()), { top: toPx(subtract(heightNumber(1), activeIndicatorHeight, focusOutlineWidth)), left: \"-10px\", transition: \"0.2s ease-in-out\", width: \"20px\", height: toPx(activeIndicatorHeight), display: \"block\", background: accentFillRest }), highContrastHighlightBackground),\n pivot_tabPanel: {\n display: \"block\",\n },\n pivot_tabPanel__hidden: {\n display: \"none\",\n },\n pivot_tabPanels: {\n \"animation-timing-function\": \"cubic-bezier(0.4, 0.0, 0.6, 1.0)\",\n },\n pivot_tabPanels__animatePrevious: {\n animation: format(\"{0} 0.2s\", directionSwitch(\"fromLeft\", \"fromRight\")),\n },\n pivot_tabPanels__animateNext: {\n animation: format(\"{0} 0.2s\", directionSwitch(\"fromRight\", \"fromLeft\")),\n },\n pivot_tabPanelContent: {},\n \"@keyframes fromRight\": {\n \"0%\": {\n opacity: \"0\",\n transform: \"translateX(-50px)\",\n },\n \"100%\": {\n opacity: \"1\",\n transform: \"translateX(0)\",\n },\n },\n \"@keyframes fromLeft\": {\n \"0%\": {\n opacity: \"0\",\n transform: \"translateX(50px)\",\n },\n \"100%\": {\n transform: \"translateX(0)\",\n opacity: \"1\",\n },\n },\n};\nexport default styles;\n","import { applyScreenReader } from \"@microsoft/fast-jss-utilities\";\nimport { neutralForegroundRest } from \"../utilities/color\";\nimport { applyScaledTypeRamp } from \"../utilities/typography\";\nconst styles = {\n label: Object.assign(Object.assign({}, applyScaledTypeRamp(\"t7\")), { display: \"inline-block\", color: neutralForegroundRest, padding: \"0\" }),\n label__hidden: Object.assign({}, applyScreenReader()),\n};\nexport default styles;\n","export function applyScreenReader() {\n return {\n position: \"absolute\",\n overflow: \"hidden\",\n clip: \"rect(1px, 1px, 1px, 1px)\",\n width: \"1px\",\n height: \"1px\",\n border: \"0\",\n padding: \"0\",\n margin: \"0\",\n };\n}\n","/**\n * The height of height of a standard control (expressed as a number) to be used in CSS.\n * @public\n */\nexport const heightNumber = '(var(--base-height-multiplier) + var(--density)) * var(--design-unit)';\n","import React from \"react\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nexport const containerStyleSheet = {\n container: {\n display: \"flex\",\n width: \"100vw\",\n height: \"100vh\",\n \"flex-direction\": \"column\",\n },\n};\n/**\n * The Grid Container. This element wraps all other grid elements.\n */\nexport class Container extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n };\n }\n /**\n * Renders the Container markup\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: super.generateClassNames(classNames(this.props.managedClasses.container)) }), this.props.children));\n }\n}\nContainer.displayName = \"Container\";\nContainer.defaultProps = {\n managedClasses: {},\n};\nexport * from \"./container.props\";\n","import React from \"react\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nexport const canvasStyleSheet = {\n canvas: {\n flex: \"1\",\n overflow: \"hidden\",\n },\n};\n/**\n * Grid Canvas - this is the main content area of the grid.\n */\nexport class Canvas extends Foundation {\n constructor() {\n super(...arguments);\n /**\n * Handled prop enumeration\n */\n this.handledProps = {\n minWidth: void 0,\n managedClasses: void 0,\n };\n }\n /**\n * Generate the style attribute object\n */\n renderStyleAttribute() {\n return {\n minWidth: `${this.props.minWidth}px`,\n };\n }\n /**\n * Render the Canvas\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: super.generateClassNames(classNames(this.props.managedClasses.canvas)), \"data-grid-app\": \"canvas\", style: this.renderStyleAttribute() }), this.props.children));\n }\n}\nCanvas.displayName = \"Canvas\";\n/**\n * Default props for the Canvas component\n */\nCanvas.defaultProps = {\n managedClasses: {},\n minWidth: 300,\n};\nexport * from \"./canvas.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { Button } from \"@microsoft/fast-components-react-base\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { FlipperDirection, } from \"./flipper.props\";\nclass Flipper extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n label: void 0,\n visibleToAssistiveTechnologies: void 0,\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(Button, Object.assign({}, this.unhandledProps(), this.coerceButtonProps(), { className: this.generateClassNames() }),\n this.renderGlyph(),\n this.props.children));\n }\n /**\n * Generates class names based on props\n */\n generateClassNames() {\n const { flipper, flipper__next, flipper__previous, } = this.props.managedClasses;\n const isNext = this.props.direction !== FlipperDirection.previous;\n return super.generateClassNames(classNames(flipper, [flipper__previous, !isNext], [flipper__next, isNext]));\n }\n /**\n * Generates class names based on props\n */\n coerceButtonProps() {\n const coercedProps = {\n href: void 0,\n };\n if (!this.props.visibleToAssistiveTechnologies) {\n coercedProps[\"aria-hidden\"] = true;\n coercedProps.tabIndex = -1;\n }\n if (this.props.label) {\n coercedProps[\"aria-label\"] = this.props.label;\n }\n return coercedProps;\n }\n renderGlyph() {\n let path;\n if (this.props.direction === FlipperDirection.previous) {\n path = (React.createElement(\"path\", { d: \"M11.273 15.977L3.29 8 11.273.023l.704.704L4.71 8l7.266 7.273-.704.704z\" }));\n }\n else {\n path = (React.createElement(\"path\", { d: \"M4.023 15.273L11.29 8 4.023.727l.704-.704L12.71 8l-7.984 7.977-.704-.704z\" }));\n }\n if (path) {\n return (React.createElement(\"svg\", { viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\", className: classNames(this.props.managedClasses.flipper_glyph) }, path));\n }\n }\n}\nFlipper.displayName = `${DisplayNamePrefix}Flipper`;\nFlipper.defaultProps = {\n direction: FlipperDirection.next,\n managedClasses: {},\n};\nexport default Flipper;\nexport * from \"./flipper.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { FlipperStyles } from \"@microsoft/fast-components-styles-msft\";\nimport MSFTFlipper, { FlipperDirection, } from \"./flipper\";\nimport flipperSchema from \"./flipper.schema\";\nimport flipperSchema2 from \"./flipper.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Flipper = manageJss(FlipperStyles)(MSFTFlipper);\nexport { Flipper, FlipperDirection, flipperSchema, flipperSchema2, };\n","import toString from './toString.js';\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n}\n\nexport default uniqueId;\n","import baseIsEqual from './_baseIsEqual.js';\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\nexport default isEqual;\n","/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\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\nexport default negate;\n","import arrayMap from './_arrayMap.js';\nimport baseIteratee from './_baseIteratee.js';\nimport basePickBy from './_basePickBy.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\n\n/**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\nfunction pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = baseIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n}\n\nexport default pickBy;\n","import baseIteratee from './_baseIteratee.js';\nimport negate from './negate.js';\nimport pickBy from './pickBy.js';\n\n/**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\nfunction omitBy(object, predicate) {\n return pickBy(object, negate(baseIteratee(predicate)));\n}\n\nexport default omitBy;\n","import { ElementStyles, css } from \"./styles\";\nimport { AttributeDefinition } from \"./attributes\";\nimport { Observable } from \"./observation/observable\";\nconst defaultShadowOptions = { mode: \"open\" };\nconst defaultElementOptions = {};\nconst fastDefinitions = new Map();\n/**\n * Defines metadata for a FASTElement.\n * @public\n */\nexport class FASTElementDefinition {\n /**\n * Creates an instance of FASTElementDefinition.\n * @param type - The type this definition is being created for.\n * @param nameOrConfig - The name of the element to define or a config object\n * that describes the element to define.\n */\n constructor(type, nameOrConfig = type.definition) {\n if (typeof nameOrConfig === \"string\") {\n nameOrConfig = { name: nameOrConfig };\n }\n this.type = type;\n this.name = nameOrConfig.name;\n this.template = nameOrConfig.template;\n const attributes = AttributeDefinition.collect(type, nameOrConfig.attributes);\n const observedAttributes = new Array(attributes.length);\n const propertyLookup = {};\n const attributeLookup = {};\n for (let i = 0, ii = attributes.length; i < ii; ++i) {\n const current = attributes[i];\n observedAttributes[i] = current.attribute;\n propertyLookup[current.name] = current;\n attributeLookup[current.attribute] = current;\n }\n this.attributes = attributes;\n this.observedAttributes = observedAttributes;\n this.propertyLookup = propertyLookup;\n this.attributeLookup = attributeLookup;\n this.shadowOptions =\n nameOrConfig.shadowOptions === void 0\n ? defaultShadowOptions\n : nameOrConfig.shadowOptions === null\n ? void 0\n : Object.assign(Object.assign({}, defaultShadowOptions), nameOrConfig.shadowOptions);\n this.elementOptions =\n nameOrConfig.elementOptions === void 0\n ? defaultElementOptions\n : Object.assign(Object.assign({}, defaultElementOptions), nameOrConfig.elementOptions);\n this.styles =\n nameOrConfig.styles !== void 0 &&\n !(nameOrConfig.styles instanceof ElementStyles)\n ? css `\n ${nameOrConfig.styles}\n `\n : nameOrConfig.styles;\n }\n /**\n * Defines a custom element based on this definition.\n * @param registry - The element registry to define the element in.\n */\n define(registry = customElements) {\n const type = this.type;\n if (!this.isDefined) {\n const attributes = this.attributes;\n const proto = type.prototype;\n for (let i = 0, ii = attributes.length; i < ii; ++i) {\n Observable.defineProperty(proto, attributes[i]);\n }\n Reflect.defineProperty(type, \"observedAttributes\", {\n value: this.observedAttributes,\n enumerable: true,\n });\n fastDefinitions.set(type, this);\n this.isDefined = true;\n }\n if (!registry.get(this.name)) {\n registry.define(this.name, type, this.elementOptions);\n }\n return this;\n }\n /**\n * Gets the element definition associated with the specified type.\n * @param type - The custom element type to retrieve the definition for.\n */\n static forType(type) {\n return fastDefinitions.get(type);\n }\n}\n","import { FASTElementDefinition } from \"./fast-definitions\";\nimport { PropertyChangeNotifier } from \"./observation/notifier\";\nimport { defaultExecutionContext, Observable } from \"./observation/observable\";\nimport { DOM } from \"./dom\";\nconst shadowRoots = new WeakMap();\nconst defaultEventOptions = {\n bubbles: true,\n composed: true,\n};\nfunction getShadowRoot(element) {\n return element.shadowRoot || shadowRoots.get(element) || null;\n}\n/**\n * Controls the lifecycle and rendering of a `FASTElement`.\n * @public\n */\nexport class Controller extends PropertyChangeNotifier {\n /**\n * Creates a Controller to control the specified element.\n * @param element - The element to be controlled by this controller.\n * @param definition - The element definition metadata that instructs this\n * controller in how to handle rendering and other platform integrations.\n * @internal\n */\n constructor(element, definition) {\n super(element);\n this.boundObservables = null;\n this.behaviors = null;\n this.needsInitialization = true;\n this._template = null;\n this._styles = null;\n /**\n * The view associated with the custom element.\n * @remarks\n * If `null` then the element is managing its own rendering.\n */\n this.view = null;\n /**\n * Indicates whether or not the custom element has been\n * connected to the document.\n */\n this.isConnected = false;\n this.element = element;\n this.definition = definition;\n const shadowOptions = definition.shadowOptions;\n if (shadowOptions !== void 0) {\n const shadowRoot = element.attachShadow(shadowOptions);\n if (shadowOptions.mode === \"closed\") {\n shadowRoots.set(element, shadowRoot);\n }\n }\n // Capture any observable values that were set by the binding engine before\n // the browser upgraded the element. Then delete the property since it will\n // shadow the getter/setter that is required to make the observable operate.\n // Later, in the connect callback, we'll re-apply the values.\n const accessors = Observable.getAccessors(element);\n if (accessors.length > 0) {\n const boundObservables = (this.boundObservables = Object.create(null));\n for (let i = 0, ii = accessors.length; i < ii; ++i) {\n const propertyName = accessors[i].name;\n const value = element[propertyName];\n if (value !== void 0) {\n delete element[propertyName];\n boundObservables[propertyName] = value;\n }\n }\n }\n }\n /**\n * Gets/sets the template used to render the component.\n * @remarks\n * This value can only be accurately read after connect but can be set at any time.\n */\n get template() {\n return this._template;\n }\n set template(value) {\n if (this._template === value) {\n return;\n }\n this._template = value;\n if (!this.needsInitialization) {\n this.renderTemplate(value);\n }\n }\n /**\n * Gets/sets the primary styles used for the component.\n * @remarks\n * This value can only be accurately read after connect but can be set at any time.\n */\n get styles() {\n return this._styles;\n }\n set styles(value) {\n if (this._styles === value) {\n return;\n }\n if (this._styles !== null) {\n this.removeStyles(this._styles);\n }\n this._styles = value;\n if (!this.needsInitialization && value !== null) {\n this.addStyles(value);\n }\n }\n /**\n * Adds styles to this element.\n * @param styles - The styles to add.\n */\n addStyles(styles) {\n const sourceBehaviors = styles.behaviors;\n const target = getShadowRoot(this.element) ||\n this.element.getRootNode();\n styles.addStylesTo(target);\n if (sourceBehaviors !== null) {\n this.addBehaviors(sourceBehaviors);\n }\n }\n /**\n * Removes styles from this element.\n * @param styles - the styles to remove.\n */\n removeStyles(styles) {\n const sourceBehaviors = styles.behaviors;\n const target = getShadowRoot(this.element) ||\n this.element.getRootNode();\n styles.removeStylesFrom(target);\n if (sourceBehaviors !== null) {\n this.removeBehaviors(sourceBehaviors);\n }\n }\n /**\n * Adds behaviors to this element.\n * @param behaviors - The behaviors to add.\n */\n addBehaviors(behaviors) {\n const targetBehaviors = this.behaviors || (this.behaviors = []);\n const length = behaviors.length;\n for (let i = 0; i < length; ++i) {\n targetBehaviors.push(behaviors[i]);\n }\n if (this.isConnected) {\n const element = this.element;\n for (let i = 0; i < length; ++i) {\n behaviors[i].bind(element, defaultExecutionContext);\n }\n }\n }\n /**\n * Removes behaviors from this element.\n * @param behaviors - The behaviors to remove.\n */\n removeBehaviors(behaviors) {\n const targetBehaviors = this.behaviors;\n if (targetBehaviors === null) {\n return;\n }\n const length = behaviors.length;\n for (let i = 0; i < length; ++i) {\n const index = targetBehaviors.indexOf(behaviors[i]);\n if (index !== -1) {\n targetBehaviors.splice(index, 1);\n }\n }\n if (this.isConnected) {\n const element = this.element;\n for (let i = 0; i < length; ++i) {\n behaviors[i].unbind(element);\n }\n }\n }\n /**\n * Runs connected lifecycle behavior on the associated element.\n */\n onConnectedCallback() {\n if (this.isConnected) {\n return;\n }\n const element = this.element;\n if (this.needsInitialization) {\n this.finishInitialization();\n }\n else if (this.view !== null) {\n this.view.bind(element, defaultExecutionContext);\n }\n const behaviors = this.behaviors;\n if (behaviors !== null) {\n for (let i = 0, ii = behaviors.length; i < ii; ++i) {\n behaviors[i].bind(element, defaultExecutionContext);\n }\n }\n this.isConnected = true;\n }\n /**\n * Runs disconnected lifecycle behavior on the associated element.\n */\n onDisconnectedCallback() {\n if (this.isConnected === false) {\n return;\n }\n this.isConnected = false;\n const view = this.view;\n if (view !== null) {\n view.unbind();\n }\n const behaviors = this.behaviors;\n if (behaviors !== null) {\n const element = this.element;\n for (let i = 0, ii = behaviors.length; i < ii; ++i) {\n behaviors[i].unbind(element);\n }\n }\n }\n /**\n * Runs the attribute changed callback for the associated element.\n * @param name - The name of the attribute that changed.\n * @param oldValue - The previous value of the attribute.\n * @param newValue - The new value of the attribute.\n */\n onAttributeChangedCallback(name, oldValue, newValue) {\n const attrDef = this.definition.attributeLookup[name];\n if (attrDef !== void 0) {\n attrDef.onAttributeChangedCallback(this.element, newValue);\n }\n }\n /**\n * Emits a custom HTML event.\n * @param type - The type name of the event.\n * @param detail - The event detail object to send with the event.\n * @param options - The event options. By default bubbles and composed.\n * @remarks\n * Only emits events if connected.\n */\n emit(type, detail, options) {\n if (this.isConnected) {\n return this.element.dispatchEvent(new CustomEvent(type, Object.assign(Object.assign({ detail }, defaultEventOptions), options)));\n }\n return false;\n }\n finishInitialization() {\n const element = this.element;\n const boundObservables = this.boundObservables;\n // If we have any observables that were bound, re-apply their values.\n if (boundObservables !== null) {\n const propertyNames = Object.keys(boundObservables);\n for (let i = 0, ii = propertyNames.length; i < ii; ++i) {\n const propertyName = propertyNames[i];\n element[propertyName] = boundObservables[propertyName];\n }\n this.boundObservables = null;\n }\n const definition = this.definition;\n // 1. Template overrides take top precedence.\n if (this._template === null) {\n if (this.element.resolveTemplate) {\n // 2. Allow for element instance overrides next.\n this._template = this.element.resolveTemplate();\n }\n else if (definition.template) {\n // 3. Default to the static definition.\n this._template = definition.template || null;\n }\n }\n // If we have a template after the above process, render it.\n // If there's no template, then the element author has opted into\n // custom rendering and they will managed the shadow root's content themselves.\n if (this._template !== null) {\n this.renderTemplate(this._template);\n }\n // 1. Styles overrides take top precedence.\n if (this._styles === null) {\n if (this.element.resolveStyles) {\n // 2. Allow for element instance overrides next.\n this._styles = this.element.resolveStyles();\n }\n else if (definition.styles) {\n // 3. Default to the static definition.\n this._styles = definition.styles || null;\n }\n }\n // If we have styles after the above process, add them.\n if (this._styles !== null) {\n this.addStyles(this._styles);\n }\n this.needsInitialization = false;\n }\n renderTemplate(template) {\n const element = this.element;\n // When getting the host to render to, we start by looking\n // up the shadow root. If there isn't one, then that means\n // we're doing a Light DOM render to the element's direct children.\n const host = getShadowRoot(element) || element;\n if (this.view !== null) {\n // If there's already a view, we need to unbind and remove through dispose.\n this.view.dispose();\n this.view = null;\n }\n else if (!this.needsInitialization) {\n // If there was previous custom rendering, we need to clear out the host.\n DOM.removeChildNodes(host);\n }\n if (template) {\n // If a new template was provided, render it.\n this.view = template.render(element, host, element);\n }\n }\n /**\n * Locates or creates a controller for the specified element.\n * @param element - The element to return the controller for.\n * @remarks\n * The specified element must have a {@link FASTElementDefinition}\n * registered either through the use of the {@link customElement}\n * decorator or a call to `FASTElement.define`.\n */\n static forCustomElement(element) {\n const controller = element.$fastController;\n if (controller !== void 0) {\n return controller;\n }\n const definition = FASTElementDefinition.forType(element.constructor);\n if (definition === void 0) {\n throw new Error(\"Missing FASTElement definition.\");\n }\n return (element.$fastController = new Controller(element, definition));\n }\n}\n","import { Controller } from \"./controller\";\nimport { FASTElementDefinition } from \"./fast-definitions\";\n/* eslint-disable-next-line @typescript-eslint/explicit-function-return-type */\nfunction createFASTElement(BaseType) {\n return class extends BaseType {\n constructor() {\n /* eslint-disable-next-line */\n super();\n Controller.forCustomElement(this);\n }\n $emit(type, detail, options) {\n return this.$fastController.emit(type, detail, options);\n }\n connectedCallback() {\n this.$fastController.onConnectedCallback();\n }\n disconnectedCallback() {\n this.$fastController.onDisconnectedCallback();\n }\n attributeChangedCallback(name, oldValue, newValue) {\n this.$fastController.onAttributeChangedCallback(name, oldValue, newValue);\n }\n };\n}\n/**\n * A minimal base class for FASTElements that also provides\n * static helpers for working with FASTElements.\n * @public\n */\nexport const FASTElement = Object.assign(createFASTElement(HTMLElement), {\n /**\n * Creates a new FASTElement base class inherited from the\n * provided base type.\n * @param BaseType - The base element type to inherit from.\n */\n from(BaseType) {\n return createFASTElement(BaseType);\n },\n /**\n * Defines a platform custom element based on the provided type and definition.\n * @param type - The custom element type to define.\n * @param nameOrDef - The name of the element to define or a definition object\n * that describes the element to define.\n */\n define(type, nameOrDef) {\n return new FASTElementDefinition(type, nameOrDef).define().type;\n },\n});\n/**\n * Decorator: Defines a platform custom element based on `FASTElement`.\n * @param nameOrDef - The name of the element to define or a definition object\n * that describes the element to define.\n * @public\n */\nexport function customElement(nameOrDef) {\n /* eslint-disable-next-line @typescript-eslint/explicit-function-return-type */\n return function (type) {\n new FASTElementDefinition(type, nameOrDef).define();\n };\n}\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Sheets registry to access them all at one place.\n */\nvar SheetsRegistry = function () {\n function SheetsRegistry() {\n _classCallCheck(this, SheetsRegistry);\n\n this.registry = [];\n }\n\n _createClass(SheetsRegistry, [{\n key: 'add',\n\n\n /**\n * Register a Style Sheet.\n */\n value: function add(sheet) {\n var registry = this.registry;\n var index = sheet.options.index;\n\n\n if (registry.indexOf(sheet) !== -1) return;\n\n if (registry.length === 0 || index >= this.index) {\n registry.push(sheet);\n return;\n }\n\n // Find a position.\n for (var i = 0; i < registry.length; i++) {\n if (registry[i].options.index > index) {\n registry.splice(i, 0, sheet);\n return;\n }\n }\n }\n\n /**\n * Reset the registry.\n */\n\n }, {\n key: 'reset',\n value: function reset() {\n this.registry = [];\n }\n\n /**\n * Remove a Style Sheet.\n */\n\n }, {\n key: 'remove',\n value: function remove(sheet) {\n var index = this.registry.indexOf(sheet);\n this.registry.splice(index, 1);\n }\n\n /**\n * Convert all attached sheets to a CSS string.\n */\n\n }, {\n key: 'toString',\n value: function toString(options) {\n return this.registry.filter(function (sheet) {\n return sheet.attached;\n }).map(function (sheet) {\n return sheet.toString(options);\n }).join('\\n');\n }\n }, {\n key: 'index',\n\n\n /**\n * Current highest index number.\n */\n get: function get() {\n return this.registry.length === 0 ? 0 : this.registry[this.registry.length - 1].options.index;\n }\n }]);\n\n return SheetsRegistry;\n}();\n\nexports['default'] = SheetsRegistry;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _symbolObservable = require('symbol-observable');\n\nvar _symbolObservable2 = _interopRequireDefault(_symbolObservable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = function (value) {\n return value && value[_symbolObservable2['default']] && value === value[_symbolObservable2['default']]();\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = linkRule;\n/**\n * Link rule with CSSStyleRule and nested rules with corresponding nested cssRules if both exists.\n */\nfunction linkRule(rule, cssRule) {\n rule.renderable = cssRule;\n if (rule.rules && cssRule.cssRules) rule.rules.link(cssRule.cssRules);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _StyleSheet = require('../StyleSheet');\n\nvar _StyleSheet2 = _interopRequireDefault(_StyleSheet);\n\nvar _moduleId = require('./moduleId');\n\nvar _moduleId2 = _interopRequireDefault(_moduleId);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar maxRules = 1e10;\n\n\nvar env = process.env.NODE_ENV;\n\n/**\n * Returns a function which generates unique class names based on counters.\n * When new generator function is created, rule counter is reseted.\n * We need to reset the rule counter for SSR for each request.\n */\n\nexports['default'] = function () {\n var ruleCounter = 0;\n var defaultPrefix = env === 'production' ? 'c' : '';\n\n return function (rule, sheet) {\n ruleCounter += 1;\n\n if (ruleCounter > maxRules) {\n (0, _warning2['default'])(false, '[JSS] You might have a memory leak. Rule counter is at %s.', ruleCounter);\n }\n\n var prefix = defaultPrefix;\n var jssId = '';\n\n if (sheet) {\n prefix = sheet.options.classNamePrefix || defaultPrefix;\n if (sheet.options.jss.id != null) jssId += sheet.options.jss.id;\n }\n\n if (env === 'production') {\n return '' + prefix + _moduleId2['default'] + jssId + ruleCounter;\n }\n\n return prefix + rule.key + '-' + _moduleId2['default'] + (jssId && '-' + jssId) + '-' + ruleCounter;\n };\n};","'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 _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 _linkRule = require('./utils/linkRule');\n\nvar _linkRule2 = _interopRequireDefault(_linkRule);\n\nvar _RuleList = require('./RuleList');\n\nvar _RuleList2 = _interopRequireDefault(_RuleList);\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\n/* eslint-disable-next-line no-use-before-define */\nvar StyleSheet = function () {\n function StyleSheet(styles, options) {\n var _this = this;\n\n _classCallCheck(this, StyleSheet);\n\n this.update = function (name, data) {\n if (typeof name === 'string') {\n _this.rules.update(name, data);\n } else {\n _this.rules.update(name);\n }\n return _this;\n };\n\n this.attached = false;\n this.deployed = false;\n this.linked = false;\n this.classes = {};\n this.options = _extends({}, options, {\n sheet: this,\n parent: this,\n classes: this.classes\n });\n this.renderer = new options.Renderer(this);\n this.rules = new _RuleList2['default'](this.options);\n\n for (var _name in styles) {\n this.rules.add(_name, styles[_name]);\n }\n\n this.rules.process();\n }\n\n /**\n * Attach renderable to the render tree.\n */\n\n\n _createClass(StyleSheet, [{\n key: 'attach',\n value: function attach() {\n if (this.attached) return this;\n if (!this.deployed) this.deploy();\n this.renderer.attach();\n if (!this.linked && this.options.link) this.link();\n this.attached = true;\n return this;\n }\n\n /**\n * Remove renderable from render tree.\n */\n\n }, {\n key: 'detach',\n value: function detach() {\n if (!this.attached) return this;\n this.renderer.detach();\n this.attached = false;\n return this;\n }\n\n /**\n * Add a rule to the current stylesheet.\n * Will insert a rule also after the stylesheet has been rendered first time.\n */\n\n }, {\n key: 'addRule',\n value: function addRule(name, decl, options) {\n var queue = this.queue;\n\n // Plugins can create rules.\n // In order to preserve the right order, we need to queue all `.addRule` calls,\n // which happen after the first `rules.add()` call.\n\n if (this.attached && !queue) this.queue = [];\n\n var rule = this.rules.add(name, decl, options);\n this.options.jss.plugins.onProcessRule(rule);\n\n if (this.attached) {\n if (!this.deployed) return rule;\n // Don't insert rule directly if there is no stringified version yet.\n // It will be inserted all together when .attach is called.\n if (queue) queue.push(rule);else {\n this.insertRule(rule);\n if (this.queue) {\n this.queue.forEach(this.insertRule, this);\n this.queue = undefined;\n }\n }\n return rule;\n }\n\n // We can't add rules to a detached style node.\n // We will redeploy the sheet once user will attach it.\n this.deployed = false;\n\n return rule;\n }\n\n /**\n * Insert rule into the StyleSheet\n */\n\n }, {\n key: 'insertRule',\n value: function insertRule(rule) {\n var renderable = this.renderer.insertRule(rule);\n if (renderable && this.options.link) (0, _linkRule2['default'])(rule, renderable);\n }\n\n /**\n * Create and add rules.\n * Will render also after Style Sheet was rendered the first time.\n */\n\n }, {\n key: 'addRules',\n value: function addRules(styles, options) {\n var added = [];\n for (var _name2 in styles) {\n added.push(this.addRule(_name2, styles[_name2], options));\n }\n return added;\n }\n\n /**\n * Get a rule by name.\n */\n\n }, {\n key: 'getRule',\n value: function getRule(name) {\n return this.rules.get(name);\n }\n\n /**\n * Delete a rule by name.\n * Returns `true`: if rule has been deleted from the DOM.\n */\n\n }, {\n key: 'deleteRule',\n value: function deleteRule(name) {\n var rule = this.rules.get(name);\n\n if (!rule) return false;\n\n this.rules.remove(rule);\n\n if (this.attached && rule.renderable) {\n return this.renderer.deleteRule(rule.renderable);\n }\n\n return true;\n }\n\n /**\n * Get index of a rule.\n */\n\n }, {\n key: 'indexOf',\n value: function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n\n /**\n * Deploy pure CSS string to a renderable.\n */\n\n }, {\n key: 'deploy',\n value: function deploy() {\n this.renderer.deploy();\n this.deployed = true;\n return this;\n }\n\n /**\n * Link renderable CSS rules from sheet with their corresponding models.\n */\n\n }, {\n key: 'link',\n value: function link() {\n var cssRules = this.renderer.getRules();\n\n // Is undefined when VirtualRenderer is used.\n if (cssRules) this.rules.link(cssRules);\n this.linked = true;\n return this;\n }\n\n /**\n * Update the function values with a new data.\n */\n\n }, {\n key: 'toString',\n\n\n /**\n * Convert rules to a CSS string.\n */\n value: function toString(options) {\n return this.rules.toString(options);\n }\n }]);\n\n return StyleSheet;\n}();\n\nexports['default'] = StyleSheet;","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar ReactIs = require('react-is');\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (ReactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","import { applyFontWeightSemiBold } from \"../utilities/fonts\";\nimport { applyCursorDefault } from \"../utilities/cursor\";\nconst styles = {\n heading: {\n \"&$heading__1, &$heading__2, &$heading__3, &$heading__4, &$heading__5, &$heading__6, &$heading__7\": Object.assign(Object.assign({}, applyCursorDefault()), applyFontWeightSemiBold()),\n },\n heading__1: {},\n heading__2: {},\n heading__3: {},\n heading__4: {},\n heading__5: {},\n heading__6: {},\n heading__7: {},\n};\nexport default styles;\n","import { applyFocusVisible, directionSwitch, format, toPx, } from \"@microsoft/fast-jss-utilities\";\nimport { neutralFillStealthHover, neutralFillStealthRest, neutralFocus, neutralForegroundRest, neutralOutlineRest, } from \"../utilities/color\";\nimport { designUnit, focusOutlineWidth, outlineWidth } from \"../utilities/design-system\";\nimport { highContrastButtonColorIndicator, HighContrastColor, highContrastColorBackground, highContrastForeground, highContrastHighlightColorIndicator, highContrastOptOutProperty, highContrastSelector, } from \"../utilities/high-contrast\";\nconst white = \"#FFF\";\nconst black = \"#101010\";\nconst themeDarkNeutralForegroundRest = neutralForegroundRest(() => black);\nconst themeLightNeutralForegroundRest = neutralForegroundRest(() => white);\nconst themeDarkNeutralFillStealthRest = neutralFillStealthRest(() => black);\nconst themeLightNeutralFillStealthRest = neutralFillStealthRest(() => white);\nconst themeDarkNeutralOutlineRest = neutralOutlineRest(() => black);\nconst themeLightNeutralOutlineRest = neutralOutlineRest(() => white);\nconst themeDarkNeutralFocus = neutralFocus(() => black);\nconst themeLightNeutralFocus = neutralFocus(() => white);\nfunction flipperStyles() {\n return {\n position: \"absolute\",\n top: \"calc(50% - 20px)\",\n \"z-index\": \"100\",\n opacity: \"0\",\n transition: \"all 0.2s ease-in-out\",\n };\n}\nconst styles = {\n carousel: {\n position: \"relative\",\n display: \"inline-block\",\n \"&:hover\": {\n \"& $carousel_flipperPrevious, & $carousel_flipperNext\": {\n opacity: \"1\",\n },\n },\n [highContrastSelector]: Object.assign({}, highContrastOptOutProperty),\n },\n carousel_slides: {},\n carousel_sequenceIndicators: {\n position: \"absolute\",\n bottom: \"4px\",\n display: \"inline-flex\",\n padding: \"0\",\n \"text-align\": \"center\",\n \"z-index\": \"100\",\n \"max-width\": \"100%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n \"& > :first-child:nth-last-child(1)\": {\n display: \"none\",\n },\n },\n carousel_sequenceIndicator: Object.assign(Object.assign({ display: \"inline-block\", padding: \"4px\", position: \"relative\", \"&:focus\": {\n outline: \"none\",\n } }, applyFocusVisible({\n \"&::after\": {\n position: \"absolute\",\n border: format(\"{0} solid transparent\", toPx(focusOutlineWidth)),\n \"border-radius\": \"40px\",\n top: \"0\",\n right: \"0\",\n left: \"0\",\n bottom: \"0\",\n content: \"''\",\n display: \"block\",\n transition: \"all 0.05s ease-in-out\",\n },\n })), { \"&::before\": {\n opacity: \"0.45\",\n border: \"1px solid transparent\",\n \"border-radius\": \"40px\",\n content: \"''\",\n display: \"block\",\n height: toPx(designUnit),\n width: \"32px\",\n transition: \"all 0.05s ease-in-out\",\n }, \"&:not($carousel_sequenceIndicator__active)\": {\n \"&:hover\": {\n \"&::before\": Object.assign({ opacity: \"0.9\" }, highContrastHighlightColorIndicator),\n },\n } }),\n carousel_sequenceIndicator__active: {\n \"&::before\": {\n opacity: \"1\",\n },\n },\n carousel_tabPanel: {\n display: \"block\",\n },\n carousel_tabPanel__hidden: {\n display: \"none\",\n },\n carousel_tabPanels: {},\n carousel_tabPanelContent: {},\n carousel_flipperPrevious: Object.assign(Object.assign({}, flipperStyles()), { left: directionSwitch(\"6px\", \"\"), right: directionSwitch(\"\", \"6px\") }),\n carousel_flipperNext: Object.assign(Object.assign({}, flipperStyles()), { right: directionSwitch(\"6px\", \"\"), left: directionSwitch(\"\", \"6px\") }),\n carousel__themeDark: {\n \"& $carousel_flipperPrevious, & $carousel_flipperNext\": {\n \"&::before\": Object.assign({ color: themeDarkNeutralForegroundRest, fill: themeDarkNeutralForegroundRest, background: themeDarkNeutralFillStealthRest, border: format(\"{0} solid {1}\", toPx(outlineWidth), themeDarkNeutralOutlineRest) }, highContrastColorBackground),\n \"& span::before\": {\n \"border-color\": themeDarkNeutralForegroundRest,\n },\n \"&:hover\": {\n \"&::before\": {\n background: neutralFillStealthHover(() => black),\n [highContrastSelector]: {\n background: HighContrastColor.selectedBackground,\n border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.selectedText),\n },\n },\n \"& span::before\": {\n \"border-color\": themeDarkNeutralForegroundRest,\n },\n },\n \"& > svg\": Object.assign({ fill: themeDarkNeutralForegroundRest }, highContrastForeground),\n [highContrastSelector]: {\n background: \"none\",\n },\n },\n \"& $carousel_sequenceIndicator\": {\n \"&::before\": Object.assign({ background: themeDarkNeutralFillStealthRest, \"border-color\": themeDarkNeutralOutlineRest }, highContrastButtonColorIndicator),\n \"&::after\": {\n \"border-color\": themeDarkNeutralFocus,\n },\n \"&$carousel_sequenceIndicator__active\": {\n \"&::before\": Object.assign({ background: themeDarkNeutralFillStealthRest }, highContrastHighlightColorIndicator),\n },\n },\n },\n carousel__themeLight: {\n \"& $carousel_flipperPrevious, & $carousel_flipperNext\": {\n \"&::before\": Object.assign({ color: themeLightNeutralForegroundRest, fill: themeLightNeutralForegroundRest, background: themeLightNeutralFillStealthRest, border: format(\"{0} solid {1}\", toPx(outlineWidth), themeLightNeutralOutlineRest) }, highContrastColorBackground),\n \"& span::before\": {\n \"border-color\": themeLightNeutralForegroundRest,\n },\n \"&:hover\": {\n \"&::before\": {\n background: neutralFillStealthHover(() => white),\n [highContrastSelector]: {\n background: HighContrastColor.selectedBackground,\n border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.selectedText),\n },\n },\n \"& span::before\": {\n \"border-color\": themeLightNeutralForegroundRest,\n },\n },\n \"& > svg\": Object.assign({ fill: themeLightNeutralForegroundRest }, highContrastForeground),\n [highContrastSelector]: {\n background: \"none\",\n },\n },\n \"& $carousel_sequenceIndicator\": {\n \"&::before\": Object.assign({ background: themeLightNeutralFillStealthRest, \"border-color\": themeLightNeutralOutlineRest }, highContrastButtonColorIndicator),\n \"&::after\": {\n \"border-color\": themeLightNeutralFocus,\n },\n \"&$carousel_sequenceIndicator__active\": {\n \"&::before\": Object.assign({ background: themeLightNeutralFillStealthRest }, highContrastHighlightColorIndicator),\n },\n },\n },\n carousel__slideAnimatePrevious: {},\n carousel__slideAnimateNext: {},\n};\nexport default styles;\n","import { applyFocusVisible, directionSwitch, format, toPx, } from \"@microsoft/fast-jss-utilities\";\nimport { neutralFillStealthActive, neutralFillStealthHover, neutralFillStealthRest, neutralFocus, neutralForegroundRest, neutralOutlineActive, neutralOutlineHover, neutralOutlineRest, } from \"../utilities/color\";\nimport { glyphSize, height } from \"../utilities/density\";\nimport { outlineWidth } from \"../utilities/design-system\";\nimport { applyCursorPointer } from \"../utilities/cursor\";\nimport { highContrastColorBackground, highContrastHighlightBackground, highContrastOutline, highContrastSelectedForeground, } from \"../utilities/high-contrast\";\nconst styles = {\n flipper: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, applyCursorPointer()), { width: height(), height: height(), display: \"inline-flex\", \"justify-content\": \"center\", \"align-items\": \"center\", margin: \"0\", position: \"relative\", fill: neutralForegroundRest, color: neutralForegroundRest, background: \"transparent\", border: \"none\", padding: \"0\", \"&::before\": Object.assign({ transition: \"all 0.1s ease-in-out\", content: \"''\", opacity: \"0.8\", background: neutralFillStealthRest, border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineRest), \"border-radius\": \"50%\", position: \"absolute\", top: \"0\", right: \"0\", bottom: \"0\", left: \"0\" }, highContrastColorBackground), \"&:active\": {\n \"&::before\": {\n background: neutralFillStealthActive,\n \"border-color\": neutralOutlineActive,\n },\n }, \"&:hover\": {\n \"&::before\": Object.assign({ background: neutralFillStealthHover, \"border-color\": neutralOutlineHover }, highContrastHighlightBackground),\n \"& $flipper_glyph\": Object.assign({}, highContrastSelectedForeground),\n } }), applyFocusVisible({\n \"&::before\": {\n \"box-shadow\": format(\"0 0 0 1px {0} inset\", neutralFocus),\n border: neutralFocus,\n },\n })), { \"&::-moz-focus-inner\": {\n border: \"0\",\n } }), highContrastOutline),\n flipper_glyph: {\n position: \"relative\",\n transform: directionSwitch(\"none\", \"rotate(180deg)\"),\n width: glyphSize,\n height: glyphSize,\n },\n flipper__next: {},\n flipper__previous: {},\n};\nexport default styles;\n","import { directionSwitch, format, multiply, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { accentForegroundRest, neutralFillRest, neutralForegroundHint, } from \"../utilities/color\";\nimport { designUnit, outlineWidth } from \"../utilities/design-system\";\nimport { glyphSize, height, heightNumber } from \"../utilities/density\";\nimport { highContrastBackground, HighContrastColor, highContrastOptOutProperty, highContrastSelector, } from \"../utilities/high-contrast\";\nconst styles = {\n progress: {\n display: \"flex\",\n width: \"100%\",\n \"align-items\": \"center\",\n height: toPx(designUnit),\n \"text-align\": \"left\",\n [highContrastSelector]: Object.assign({}, highContrastOptOutProperty),\n },\n progress__circular: {\n height: \"unset\",\n width: \"unset\",\n display: \"inline-block\",\n \"& $progress_valueIndicator, & $progress_indicator\": {\n fill: \"none\",\n \"stroke-width\": \"2px\",\n \"stroke-linecap\": \"round\",\n \"transform-origin\": \"50% 50%\",\n transform: \"rotate(-90deg)\",\n transition: \"all 0.2s ease-in-out\",\n },\n \"& $progress_valueIndicator\": {\n stroke: accentForegroundRest,\n transform: directionSwitch(\"\", \"scale(1)\"),\n [highContrastSelector]: {\n stroke: HighContrastColor.buttonText,\n },\n },\n \"& $progress_valueIndicator__indeterminate\": {\n animation: \"spin-infinite 2s linear infinite\",\n },\n \"& $progress_indicator\": {\n stroke: neutralFillRest,\n [highContrastSelector]: {\n stroke: HighContrastColor.buttonBackground,\n },\n },\n },\n progress__paused: {\n \"& $progress_valueIndicator\": {\n background: neutralForegroundHint,\n stroke: neutralForegroundHint,\n },\n \"& $progress_dot\": {\n \"background-color\": neutralFillRest,\n },\n \"& $progress_dot__1\": {\n \"animation-play-state\": \"paused\",\n },\n \"& $progress_dot__2\": {\n \"animation-play-state\": \"paused\",\n },\n \"& $progress_valueIndicator__indeterminate\": {\n \"animation-play-state\": \"paused\",\n stroke: neutralFillRest,\n },\n },\n progress_circularSVG__control: {\n height: glyphSize,\n width: glyphSize,\n },\n progress_circularSVG__container: {\n height: height(),\n width: height(),\n },\n progress_circularSVG__page: {\n height: toPx(multiply(heightNumber(), 2)),\n width: toPx(multiply(heightNumber(), 2)),\n },\n progress_valueIndicator: Object.assign({ background: accentForegroundRest, \"border-radius\": \"100px\", height: \"100%\", transition: \"all 0.2s ease-in-out\" }, highContrastBackground),\n progress_valueIndicator__indeterminate: {},\n progress_indicator: {\n position: \"relative\",\n display: \"flex\",\n \"align-items\": \"center\",\n width: \"100%\",\n overflow: \"hidden\",\n \"border-radius\": \"100px\",\n height: toPx(designUnit),\n background: neutralFillRest,\n transition: \"all 0.2s ease-in-out\",\n \"-webkit-mask-image\": \"-webkit-radial-gradient(white, black)\",\n \"mask-image\": \"-webkit-radial-gradient(white, black)\",\n [highContrastSelector]: {\n background: HighContrastColor.buttonBackground,\n border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.buttonText),\n },\n },\n progress_indicator__determinate: {\n height: toPx(designUnit),\n \"border-radius\": \"2px\",\n [highContrastSelector]: {\n background: HighContrastColor.buttonBackground,\n border: format(\"{0} solid {1}\", toPx(outlineWidth), () => HighContrastColor.buttonText),\n },\n },\n progress_dot: {\n position: \"absolute\",\n opacity: \"0\",\n height: \"100%\",\n \"background-color\": accentForegroundRest,\n \"border-radius\": \"100px\",\n \"animation-timing-function\": \"cubic-bezier(0.4, 0.0, 0.6, 1.0)\",\n [highContrastSelector]: {\n background: HighContrastColor.buttonText,\n opacity: \"1 !important\",\n },\n },\n progress_dot__1: {\n width: \"40%\",\n animation: \"indeterminate-1 2s infinite\",\n },\n progress_dot__2: {\n width: \"60%\",\n animation: \"indeterminate-2 2s infinite\",\n },\n \"@keyframes spin-infinite\": {\n \"0%\": {\n \"stroke-dasharray\": \"0.01px 43.97px\",\n transform: directionSwitch(\"rotate(0deg)\", \"rotate(1080deg)\"),\n },\n \"50%\": {\n \"stroke-dasharray\": \"21.99px 21.99px\",\n transform: \"rotate(450deg)\",\n },\n \"100%\": {\n \"stroke-dasharray\": \".01px 43.97px\",\n transform: directionSwitch(\"rotate(1080deg)\", \"rotate(0deg)\"),\n },\n },\n \"@keyframes indeterminate-1\": {\n \"0%\": {\n opacity: \"1\",\n transform: directionSwitch(\"translateX(-100%)\", \"translateX(100%)\"),\n },\n \"70%\": {\n opacity: \"1\",\n transform: directionSwitch(\"translateX(300%)\", \"translateX(-300%)\"),\n },\n \"70.01%\": {\n opacity: \"0\",\n },\n \"100%\": {\n opacity: \"0\",\n transform: directionSwitch(\"translateX(300%)\", \"translateX(-300%)\"),\n },\n },\n \"@keyframes indeterminate-2\": {\n \"0%\": {\n opacity: \"0\",\n transform: directionSwitch(\"translateX(-150%)\", \"translateX(150%)\"),\n },\n \"29.99%\": {\n opacity: \"0\",\n },\n \"30%\": {\n opacity: \"1\",\n transform: directionSwitch(\"translateX(-150%)\", \"translateX(150%)\"),\n },\n \"100%\": {\n transform: directionSwitch(\"translateX(166.66%)\", \"translateX(-166.66%)\"),\n opacity: \"1\",\n },\n },\n};\nexport default styles;\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\n /**\n * https://github.com/WICG/focus-visible\n */\n function init() {\n var hadKeyboardEvent = true;\n var hadFocusVisibleRecently = false;\n var hadFocusVisibleRecentlyTimeout = null;\n\n var inputTypesWhitelist = {\n text: true,\n search: true,\n url: true,\n tel: true,\n email: true,\n password: true,\n number: true,\n date: true,\n month: true,\n week: true,\n time: true,\n datetime: true,\n 'datetime-local': true\n };\n\n /**\n * Helper function for legacy browsers and iframes which sometimes focus\n * elements like document, body, and non-interactive SVG.\n * @param {Element} el\n */\n function isValidFocusTarget(el) {\n if (\n el &&\n el !== document &&\n el.nodeName !== 'HTML' &&\n el.nodeName !== 'BODY' &&\n 'classList' in el &&\n 'contains' in el.classList\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * Computes whether the given element should automatically trigger the\n * `focus-visible` class being added, i.e. whether it should always match\n * `:focus-visible` when focused.\n * @param {Element} el\n * @return {boolean}\n */\n function focusTriggersKeyboardModality(el) {\n var type = el.type;\n var tagName = el.tagName;\n\n if (tagName == 'INPUT' && inputTypesWhitelist[type] && !el.readOnly) {\n return true;\n }\n\n if (tagName == 'TEXTAREA' && !el.readOnly) {\n return true;\n }\n\n if (el.isContentEditable) {\n return true;\n }\n\n return false;\n }\n\n /**\n * Add the `focus-visible` class to the given element if it was not added by\n * the author.\n * @param {Element} el\n */\n function addFocusVisibleClass(el) {\n if (el.classList.contains('focus-visible')) {\n return;\n }\n el.classList.add('focus-visible');\n el.setAttribute('data-focus-visible-added', '');\n }\n\n /**\n * Remove the `focus-visible` class from the given element if it was not\n * originally added by the author.\n * @param {Element} el\n */\n function removeFocusVisibleClass(el) {\n if (!el.hasAttribute('data-focus-visible-added')) {\n return;\n }\n el.classList.remove('focus-visible');\n el.removeAttribute('data-focus-visible-added');\n }\n\n /**\n * Treat `keydown` as a signal that the user is in keyboard modality.\n * Apply `focus-visible` to any current active element and keep track\n * of our keyboard modality state with `hadKeyboardEvent`.\n * @param {Event} e\n */\n function onKeyDown(e) {\n if (isValidFocusTarget(document.activeElement)) {\n addFocusVisibleClass(document.activeElement);\n }\n\n hadKeyboardEvent = true;\n }\n\n /**\n * If at any point a user clicks with a pointing device, ensure that we change\n * the modality away from keyboard.\n * This avoids the situation where a user presses a key on an already focused\n * element, and then clicks on a different element, focusing it with a\n * pointing device, while we still think we're in keyboard modality.\n * @param {Event} e\n */\n function onPointerDown(e) {\n hadKeyboardEvent = false;\n }\n\n /**\n * On `focus`, add the `focus-visible` class to the target if:\n * - the target received focus as a result of keyboard navigation, or\n * - the event target is an element that will likely require interaction\n * via the keyboard (e.g. a text box)\n * @param {Event} e\n */\n function onFocus(e) {\n // Prevent IE from focusing the document or HTML element.\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (hadKeyboardEvent || focusTriggersKeyboardModality(e.target)) {\n addFocusVisibleClass(e.target);\n }\n }\n\n /**\n * On `blur`, remove the `focus-visible` class from the target.\n * @param {Event} e\n */\n function onBlur(e) {\n if (!isValidFocusTarget(e.target)) {\n return;\n }\n\n if (\n e.target.classList.contains('focus-visible') ||\n e.target.hasAttribute('data-focus-visible-added')\n ) {\n // To detect a tab/window switch, we look for a blur event followed\n // rapidly by a visibility change.\n // If we don't see a visibility change within 100ms, it's probably a\n // regular focus change.\n hadFocusVisibleRecently = true;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n hadFocusVisibleRecentlyTimeout = window.setTimeout(function() {\n hadFocusVisibleRecently = false;\n window.clearTimeout(hadFocusVisibleRecentlyTimeout);\n }, 100);\n removeFocusVisibleClass(e.target);\n }\n }\n\n /**\n * If the user changes tabs, keep track of whether or not the previously\n * focused element had .focus-visible.\n * @param {Event} e\n */\n function onVisibilityChange(e) {\n if (document.visibilityState == 'hidden') {\n // If the tab becomes active again, the browser will handle calling focus\n // on the element (Safari actually calls it twice).\n // If this tab change caused a blur on an element with focus-visible,\n // re-apply the class when the user switches back to the tab.\n if (hadFocusVisibleRecently) {\n hadKeyboardEvent = true;\n }\n addInitialPointerMoveListeners();\n }\n }\n\n /**\n * Add a group of listeners to detect usage of any pointing devices.\n * These listeners will be added when the polyfill first loads, and anytime\n * the window is blurred, so that they are active when the window regains\n * focus.\n */\n function addInitialPointerMoveListeners() {\n document.addEventListener('mousemove', onInitialPointerMove);\n document.addEventListener('mousedown', onInitialPointerMove);\n document.addEventListener('mouseup', onInitialPointerMove);\n document.addEventListener('pointermove', onInitialPointerMove);\n document.addEventListener('pointerdown', onInitialPointerMove);\n document.addEventListener('pointerup', onInitialPointerMove);\n document.addEventListener('touchmove', onInitialPointerMove);\n document.addEventListener('touchstart', onInitialPointerMove);\n document.addEventListener('touchend', onInitialPointerMove);\n }\n\n function removeInitialPointerMoveListeners() {\n document.removeEventListener('mousemove', onInitialPointerMove);\n document.removeEventListener('mousedown', onInitialPointerMove);\n document.removeEventListener('mouseup', onInitialPointerMove);\n document.removeEventListener('pointermove', onInitialPointerMove);\n document.removeEventListener('pointerdown', onInitialPointerMove);\n document.removeEventListener('pointerup', onInitialPointerMove);\n document.removeEventListener('touchmove', onInitialPointerMove);\n document.removeEventListener('touchstart', onInitialPointerMove);\n document.removeEventListener('touchend', onInitialPointerMove);\n }\n\n /**\n * When the polfyill first loads, assume the user is in keyboard modality.\n * If any event is received from a pointing device (e.g. mouse, pointer,\n * touch), turn off keyboard modality.\n * This accounts for situations where focus enters the page from the URL bar.\n * @param {Event} e\n */\n function onInitialPointerMove(e) {\n // Work around a Safari quirk that fires a mousemove on whenever the\n // window blurs, even if you're tabbing out of the page. ¯\\_(ツ)_/¯\n if (e.target.nodeName.toLowerCase() === 'html') {\n return;\n }\n\n hadKeyboardEvent = false;\n removeInitialPointerMoveListeners();\n }\n\n document.addEventListener('keydown', onKeyDown, true);\n document.addEventListener('mousedown', onPointerDown, true);\n document.addEventListener('pointerdown', onPointerDown, true);\n document.addEventListener('touchstart', onPointerDown, true);\n document.addEventListener('focus', onFocus, true);\n document.addEventListener('blur', onBlur, true);\n document.addEventListener('visibilitychange', onVisibilityChange, true);\n addInitialPointerMoveListeners();\n\n document.body.classList.add('js-focus-visible');\n }\n\n /**\n * Subscription when the DOM is ready\n * @param {Function} callback\n */\n function onDOMReady(callback) {\n var loaded;\n\n /**\n * Callback wrapper for check loaded state\n */\n function load() {\n if (!loaded) {\n loaded = true;\n\n callback();\n }\n }\n\n if (['interactive', 'complete'].indexOf(document.readyState) >= 0) {\n callback();\n } else {\n loaded = false;\n document.addEventListener('DOMContentLoaded', load, false);\n window.addEventListener('load', load, false);\n }\n }\n\n if (typeof document !== 'undefined') {\n onDOMReady(init);\n }\n\n})));\n","import { height } from \"../utilities/density\";\nimport { filledInputFieldStyles, inputFieldStyles } from \"../patterns/input-field\";\nconst styles = {\n textField: Object.assign(Object.assign({}, inputFieldStyles()), { height: height() }),\n textField__filled: Object.assign({}, filledInputFieldStyles()),\n};\nexport default styles;\n","import { applyElevatedCornerRadius } from \"../utilities/border\";\nimport { backgroundColor } from \"../utilities/design-system\";\nimport { applyElevation, ElevationMultiplier } from \"../utilities/elevation\";\nimport { highContrastBorder } from \"../utilities/high-contrast\";\nconst styles = {\n dialog: {\n display: \"none\",\n '&[aria-hidden=\"false\"]': {\n display: \"block\",\n },\n },\n dialog_positioningRegion: {\n display: \"flex\",\n \"justify-content\": \"center\",\n position: \"fixed\",\n top: \"0\",\n bottom: \"0\",\n left: \"0\",\n right: \"0\",\n overflow: \"auto\",\n },\n dialog_modalOverlay: {\n position: \"fixed\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n background: \"rgba(0, 0, 0, 0.3)\",\n },\n dialog_contentRegion: Object.assign(Object.assign(Object.assign(Object.assign({ \"margin-top\": \"auto\", \"margin-bottom\": \"auto\", background: backgroundColor }, applyElevatedCornerRadius()), applyElevation(ElevationMultiplier.e14)), { \"z-index\": \"1\" }), highContrastBorder),\n};\nexport default styles;\n","import { applyFocusVisible, directionSwitch, format, subtract, toPx, } from \"@microsoft/fast-jss-utilities\";\nimport { applyCornerRadius, applyFocusPlaceholderBorder } from \"../utilities/border\";\nimport { accentFillActive, accentFillHover, accentFillRest, accentForegroundActive, accentForegroundCut, accentForegroundHover, accentForegroundRest, neutralFillActive, neutralFillHover, neutralFillRest, neutralFillStealthActive, neutralFillStealthHover, neutralFillStealthRest, neutralFocus, neutralFocusInnerAccent, neutralForegroundRest, neutralOutlineActive, neutralOutlineHover, neutralOutlineRest, } from \"../utilities/color\";\nimport { applyCursorPointer } from \"../utilities/cursor\";\nimport { glyphSize, height, horizontalSpacing } from \"../utilities/density\";\nimport { focusOutlineWidth, getDesignSystemValue, outlineWidth, } from \"../utilities/design-system\";\nimport { applyDisabledState } from \"../utilities/disabled\";\nimport { highContrastAccent, HighContrastColor, highContrastDisabledBorder, highContrastDisabledForeground, highContrastDoubleFocus, highContrastHighlightBackground, highContrastHighlightForeground, highContrastLinkBorder, highContrastLinkForeground, highContrastLinkOutline, highContrastLinkValue, highContrastOutline, highContrastOutlineFocus, highContrastSelected, highContrastSelectedForeground, highContrastSelectedOutline, highContrastSelector, highContrastStealth, } from \"../utilities/high-contrast\";\nimport { applyScaledTypeRamp } from \"../utilities/typography\";\nconst transparentBackground = {\n \"background-color\": \"transparent\",\n};\nconst density = getDesignSystemValue(\"density\");\nconst applyTransparentBackplateStyles = Object.assign(Object.assign(Object.assign(Object.assign({ color: accentForegroundRest, fill: accentForegroundRest }, transparentBackground), applyFocusVisible(Object.assign(Object.assign({ \"border-color\": \"transparent\", \"box-shadow\": \"none\" }, highContrastHighlightForeground), { \"& $button_contentRegion::before\": Object.assign({ background: neutralForegroundRest, height: toPx(focusOutlineWidth) }, highContrastHighlightBackground) }))), { \n // Underline\n \"& $button_contentRegion::before\": {\n [highContrastSelector]: {\n background: HighContrastColor.buttonText,\n },\n }, \"&:hover $button_contentRegion::before\": Object.assign({ background: accentForegroundHover }, highContrastHighlightBackground), \"&:hover$button__disabled $button_contentRegion::before\": {\n display: \"none\",\n }, \"&:active $button_contentRegion::before\": {\n background: accentForegroundActive,\n }, \"&$button__disabled, &$button__disabled $button_contentRegion::before\": Object.assign({}, transparentBackground), \"&:hover:enabled, a&:not($button__disabled):hover\": Object.assign(Object.assign(Object.assign({ color: accentForegroundHover }, transparentBackground), highContrastHighlightForeground), { \"& $button_beforeContent, & $button_afterContent\": Object.assign({ fill: accentForegroundHover }, highContrastHighlightForeground) }), \"&:active:enabled, a&:not($button__disabled):active\": Object.assign({ color: accentForegroundActive, fill: accentForegroundActive }, transparentBackground) }), highContrastStealth);\nconst styles = {\n button: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, applyScaledTypeRamp(\"t7\")), { \"font-family\": \"inherit\" }), applyCursorPointer()), { \"box-sizing\": \"border-box\", \"max-width\": \"374px\", \"min-width\": (designSystem) => density(designSystem) <= -2 ? \"28px\" : \"32px\", padding: format(\"0 {0}\", horizontalSpacing(focusOutlineWidth)), display: \"inline-flex\", \"justify-content\": \"center\", \"align-items\": \"center\", height: height() }), applyFocusPlaceholderBorder()), applyCornerRadius()), { \"line-height\": \"1\", overflow: \"hidden\", \"text-decoration\": \"none\", \"white-space\": \"nowrap\", transition: \"all 0.1s ease-in-out\", color: neutralForegroundRest, fill: neutralForegroundRest, background: neutralFillRest, \"&:hover:enabled, a&:not($button__disabled):hover\": Object.assign(Object.assign({ background: neutralFillHover }, highContrastSelected), { \"& $button_beforeContent, & $button_afterContent\": Object.assign({}, highContrastSelectedForeground) }), \"&:active:enabled, a&:not($button__disabled):active\": {\n background: neutralFillActive,\n } }), applyFocusVisible(Object.assign(Object.assign({}, highContrastOutlineFocus), { \"border-color\": neutralFocus }))), { \"&:disabled\": Object.assign({}, highContrastDisabledBorder), \"&::-moz-focus-inner\": {\n border: \"0\",\n } }), highContrastOutline), { \"a&:not($button__disabled)\": Object.assign(Object.assign({}, highContrastLinkOutline), { \"&:not($button__disabled):hover\": Object.assign(Object.assign({}, highContrastLinkBorder), { \"& $button_beforeContent, & $button_afterContent\": Object.assign({}, highContrastLinkForeground) }), \"&$button__disabled\": Object.assign(Object.assign({}, highContrastDisabledBorder), { \"&:hover\": {\n [highContrastSelector]: {\n \"box-shadow\": \"none !important\",\n },\n } }) }) }),\n button__primary: Object.assign(Object.assign(Object.assign(Object.assign({ color: accentForegroundCut, fill: accentForegroundCut, background: accentFillRest, \"&:hover:enabled, a&:not($button__disabled):hover\": Object.assign({ background: accentFillHover }, highContrastSelectedOutline), \"&:active:enabled, a&:not($button__disabled):active\": {\n background: accentFillActive,\n } }, applyFocusVisible(Object.assign({ \"border-color\": neutralFocus, \"box-shadow\": format(\"0 0 0 {0} inset {1}\", toPx(focusOutlineWidth), neutralFocusInnerAccent(accentFillRest)) }, highContrastDoubleFocus))), { \"& $button_beforeContent, & $button_afterContent\": {\n fill: accentForegroundCut,\n } }), highContrastAccent), { \"a&:not($button__disabled)\": {\n \"& $button_beforeContent, & $button_afterContent\": Object.assign({}, highContrastLinkForeground),\n } }),\n button__outline: Object.assign(Object.assign({ background: \"transparent\", border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineRest), padding: format(\"0 {0}\", horizontalSpacing(outlineWidth)), \"&:hover:enabled, a&:not($button__disabled):hover\": Object.assign({ background: \"transparent\", border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineHover) }, highContrastSelected), \"&:active:enabled, a&:not($button__disabled):active\": {\n background: \"transparent\",\n border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineActive),\n } }, applyFocusVisible(Object.assign(Object.assign({}, highContrastOutlineFocus), { \"box-shadow\": format(\"0 0 0 {0} {1} inset\", toPx(subtract(focusOutlineWidth, outlineWidth)), neutralFocus), \"border-color\": neutralFocus }))), highContrastOutline),\n button__lightweight: Object.assign(Object.assign({}, applyTransparentBackplateStyles), { \"a&:not($button__disabled)\": {\n \"&:not($button__disabled):hover\": {\n [highContrastSelector]: {\n \"box-shadow\": \"none !important\",\n color: highContrastLinkValue,\n fill: highContrastLinkValue,\n },\n \"& $button_contentRegion::before\": {\n [highContrastSelector]: {\n background: highContrastLinkValue,\n },\n },\n },\n \"&$button__disabled\": Object.assign({}, highContrastDisabledBorder),\n \"& $button_contentRegion::before\": {\n [highContrastSelector]: {\n background: \"transparent\",\n },\n },\n } }),\n button__justified: Object.assign(Object.assign({}, applyTransparentBackplateStyles), { \"min-width\": \"74px\", \"padding-left\": \"0\", \"padding-right\": \"0\", \"border-width\": \"0\", \"justify-content\": \"flex-start\", \"a&:not($button__disabled)\": {\n \"&:not($button__disabled):hover\": {\n [highContrastSelector]: {\n \"box-shadow\": \"none !important\",\n color: highContrastLinkValue,\n fill: highContrastLinkValue,\n },\n \"& $button_contentRegion::before\": {\n [highContrastSelector]: {\n background: highContrastLinkValue,\n },\n },\n },\n \"&$button__disabled\": Object.assign({}, highContrastDisabledBorder),\n } }),\n button__stealth: Object.assign(Object.assign({ background: neutralFillStealthRest, \"&:hover:enabled, a&:not($button__disabled):hover\": Object.assign({ \"background-color\": neutralFillStealthHover }, highContrastSelected), \"&:active:enabled, a&:not($button__disabled):active\": {\n \"background-color\": neutralFillStealthActive,\n } }, applyFocusVisible(Object.assign(Object.assign({}, highContrastOutlineFocus), { \"border-color\": neutralFocus }))), highContrastStealth),\n button_contentRegion: {\n position: \"relative\",\n \"&::before\": {\n content: \"''\",\n display: \"block\",\n height: toPx(outlineWidth),\n position: \"absolute\",\n bottom: \"-3px\",\n width: \"100%\",\n left: directionSwitch(\"0\", \"\"),\n right: directionSwitch(\"\", \"0\"),\n },\n \"& svg\": {\n width: glyphSize,\n height: glyphSize,\n },\n },\n button__disabled: Object.assign(Object.assign(Object.assign({}, applyDisabledState()), highContrastDisabledBorder), { \"& $button_beforeContent, & $button_afterContent\": Object.assign({}, highContrastDisabledForeground) }),\n button_beforeContent: {\n width: glyphSize,\n height: glyphSize,\n \"margin-right\": directionSwitch(horizontalSpacing(), \"\"),\n \"margin-left\": directionSwitch(\"\", horizontalSpacing()),\n },\n button_afterContent: {\n width: glyphSize,\n height: glyphSize,\n \"margin-right\": directionSwitch(\"\", horizontalSpacing()),\n \"margin-left\": directionSwitch(horizontalSpacing(), \"\"),\n },\n};\nexport default styles;\n","const styles = {\n caption: {},\n caption__1: {},\n caption__2: {},\n};\nexport default styles;\n","import { applyFontWeightNormal } from \"../utilities/fonts\";\nimport { applyCursorDefault } from \"../utilities/cursor\";\nconst styles = {\n paragraph: Object.assign(Object.assign({}, applyCursorDefault()), applyFontWeightNormal()),\n paragraph__1: {},\n paragraph__2: {},\n paragraph__3: {},\n};\nexport default styles;\n","/*!\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n */\r\nexport var ApplicationType;\r\n(function (ApplicationType) {\r\n ApplicationType[\"Edge\"] = \"edge\";\r\n ApplicationType[\"EdgeChromium\"] = \"edgeChromium\";\r\n ApplicationType[\"FirstParty\"] = \"firstParty\";\r\n ApplicationType[\"HomePage\"] = \"homePage\";\r\n ApplicationType[\"Hub\"] = \"hub\";\r\n ApplicationType[\"MicrosoftNews\"] = \"microsoftNews\";\r\n ApplicationType[\"Mmx\"] = \"mmx\";\r\n ApplicationType[\"MobileWebViews\"] = \"mobileWebViews\";\r\n ApplicationType[\"Office\"] = \"office\";\r\n ApplicationType[\"PartnerRemedy\"] = \"partnerRemedy\";\r\n ApplicationType[\"Views\"] = \"views\";\r\n})(ApplicationType || (ApplicationType = {}));\r\n//# sourceMappingURL=ApplicationType.js.map","import { add, ellipsis, format, multiply, subtract, toPx, } from \"@microsoft/fast-jss-utilities\";\nimport designSystemDefaults from \"../design-system/index\";\nimport { applyCornerRadius } from \"../utilities/border\";\nimport { accentForegroundCut, neutralForegroundRest } from \"../utilities/color\";\nimport { applyCursorDefault } from \"../utilities/cursor\";\nimport { horizontalSpacing } from \"../utilities/density\";\nimport { applyScaledTypeRamp } from \"../utilities/typography\";\nimport { applyFontWeightNormal, applyFontWeightSemiBold } from \"../utilities/fonts\";\nimport { baseHeightMultiplier, baseHorizontalSpacingMultiplier, designUnit, } from \"../utilities/design-system\";\nconst filledBackground = \"#FFD800\";\nconst density = (designSystem) => designSystem && designSystem.hasOwnProperty(\"density\")\n ? designSystem.density\n : designSystemDefaults.density;\nconst largeHeight = (designSystem) => Math.max(subtract(add(baseHeightMultiplier, density), 2)(designSystem), 5) *\n designUnit(designSystem);\nconst smallHeight = (designSystem) => Math.max(subtract(add(baseHeightMultiplier, density), 3)(designSystem), 4) *\n designUnit(designSystem);\nconst styles = {\n badge: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, applyScaledTypeRamp(\"t7\")), applyFontWeightSemiBold()), ellipsis()), { overflow: \"hidden\" }), applyCursorDefault()), { \"box-sizing\": \"border-box\", display: \"inline-block\", \"max-width\": \"215px\", color: neutralForegroundRest, transition: \"all 0.2s ease-in-out\" }),\n badge__filled: Object.assign(Object.assign(Object.assign({}, applyCornerRadius()), applyFontWeightNormal()), { \"background-color\": filledBackground, color: accentForegroundCut(() => filledBackground) }),\n badge__small: Object.assign(Object.assign({}, applyScaledTypeRamp(\"t8\")), { \"line-height\": toPx(subtract(smallHeight, 3)), height: toPx(smallHeight), \"&$badge__filled\": {\n padding: format(\"1px {0}\", toPx(multiply(designUnit, subtract(baseHorizontalSpacingMultiplier, 1)))),\n } }),\n badge__large: {\n height: toPx(largeHeight),\n \"line-height\": toPx(largeHeight),\n \"&$badge__filled\": {\n padding: format(\"0 {0}\", horizontalSpacing()),\n },\n },\n};\nexport default styles;\n","import { AttachedBehaviorDirective } from \"./directive\";\nimport { NodeObservationBehavior } from \"./node-observation\";\n/**\n * The runtime behavior for child node observation.\n * @public\n */\nexport class ChildrenBehavior extends NodeObservationBehavior {\n /**\n * Creates an instance of ChildrenBehavior.\n * @param target - The element target to observe children on.\n * @param options - The options to use when observing the element children.\n */\n constructor(target, options) {\n super(target, options);\n this.observer = null;\n }\n /**\n * Begins observation of the nodes.\n */\n observe() {\n if (this.observer === null) {\n this.observer = new MutationObserver(this.handleEvent.bind(this));\n }\n this.observer.observe(this.target, this.options);\n }\n /**\n * Disconnects observation of the nodes.\n */\n disconnect() {\n this.observer.disconnect();\n }\n /**\n * Retrieves the nodes that should be assigned to the target.\n */\n getNodes() {\n return Array.from(this.target.childNodes);\n }\n}\n/**\n * A directive that observes the `childNodes` of an element and updates a property\n * whenever they change.\n * @param propertyOrOptions - The options used to configure child node observation.\n * @public\n */\nexport function children(propertyOrOptions) {\n if (typeof propertyOrOptions === \"string\") {\n propertyOrOptions = {\n property: propertyOrOptions,\n childList: true,\n };\n }\n else {\n propertyOrOptions.childList = true;\n }\n return new AttachedBehaviorDirective(\"fast-children\", ChildrenBehavior, propertyOrOptions);\n}\n","import { children, elements, html, ref, slotted, when } from \"@microsoft/fast-element\";\nimport { endTemplate, startTemplate } from \"../patterns/start-end\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(TreeItem:class)} component.\n * @public\n */\nexport const TreeItemTemplate = html `\n (x.isNestedItem() ? \"item\" : void 0)}\"\n tabindex=\"${x => (x.disabled ? void 0 : x.focusable ? 0 : -1)}\"\n class=\"${x => (x.expanded ? \"expanded\" : \"\")} ${x => x.selected ? \"selected\" : \"\"} ${x => (x.nested ? \"nested\" : \"\")}\n ${x => (x.disabled ? \"disabled\" : \"\")}\"\n aria-expanded=\"${x => (x.expanded ? x.expanded : void 0)}\"\n aria-selected=\"${x => x.selected}\"\n aria-disabled=\"${x => x.disabled}\"\n @focus=\"${(x, c) => x.handleFocus(c.event)}\"\n @blur=\"${(x, c) => x.handleBlur(c.event)}\"\n @keydown=\"${(x, c) => x.handleKeyDown(c.event)}\"\n ${children({\n property: \"childItems\",\n filter: elements(),\n})}\n >\n x.handleContainerClick(c.event)}\"\n >\n
\n ${when(x => x.childItems && x.childItemLength() > 0, html `\n x.handleExpandCollapseButtonClick()}\"\n ${ref(\"expandCollapseButton\")}\n >\n \n \n \n \n \n
\n `)}\n ${startTemplate}\n \n ${endTemplate}\n
\n \n ${when(x => x.childItems &&\n x.childItemLength() > 0 &&\n (x.expanded || x.renderCollapsedChildren), html `\n
\n \n
\n `)}\n \n`;\n","import { canUseDOM } from \"exenv-es6\";\nimport { isBoolean } from \"lodash-es\";\n/**\n * A test that ensures that all arguments are HTML Elements\n */\nexport function isHTMLElement(...args) {\n return args.every((arg) => arg instanceof HTMLElement);\n}\n/**\n * Returns all displayed elements inside of a root node that match a provided selector\n */\nexport function getDisplayedNodes(rootNode, selector) {\n if (!isHTMLElement(rootNode)) {\n return;\n }\n const nodes = Array.from(rootNode.querySelectorAll(selector));\n // offsetParent will be null if the element isn't currently displayed,\n // so this will allow us to operate only on visible nodes\n return nodes.filter((node) => node.offsetParent !== null);\n}\n/**\n * Gets the numeric key code associated with a keyboard event. This method is for use with DOM level 3 events\n * that still use the deprecated keyCode property.\n */\nexport function getKeyCode(event) {\n return event === null ? null : event.which || event.keyCode || event.charCode;\n}\n/**\n * Test if the document supports :focus-visible\n */\nlet _canUseFocusVisible;\nexport function canUseFocusVisible() {\n if (isBoolean(_canUseFocusVisible)) {\n return _canUseFocusVisible;\n }\n if (!canUseDOM()) {\n _canUseFocusVisible = false;\n return _canUseFocusVisible;\n }\n // Check to see if the document supports the focus-visible element\n const styleElement = document.createElement(\"style\");\n document.head.appendChild(styleElement);\n try {\n styleElement.sheet.insertRule(\"foo:focus-visible {color:inherit}\", 0);\n _canUseFocusVisible = true;\n }\n catch (e) {\n _canUseFocusVisible = false;\n }\n finally {\n document.head.removeChild(styleElement);\n }\n return _canUseFocusVisible;\n}\nlet _canUseCssGrid;\nexport function canUseCssGrid() {\n if (isBoolean(_canUseCssGrid)) {\n return _canUseCssGrid;\n }\n try {\n _canUseCssGrid = CSS.supports(\"display\", \"grid\");\n }\n catch (_a) {\n _canUseCssGrid = false;\n }\n return _canUseCssGrid;\n}\nexport function canUseForcedColors() {\n return (canUseDOM() &&\n (window.matchMedia(\"(forced-colors: none)\").matches ||\n window.matchMedia(\"(forced-colors: active)\").matches));\n}\n/**\n * @deprecated Use 'canUseForcedColors' instead\n */\nexport const canUsedForcedColors = canUseForcedColors;\n","// © Microsoft Corporation. All rights reserved.\nimport { __decorate } from \"tslib\";\nimport { TreeItem } from \"@microsoft/fast-foundation\";\nimport { isHTMLElement } from \"@microsoft/fast-web-utilities\";\nimport { attr } from \"@microsoft/fast-element\";\nexport class HamburgerMenuItem extends TreeItem {\n constructor() {\n super(...arguments);\n /**\n * Handles clicks on the hamburger menu item\n * @param e mouse event\n */\n this.handleContainerClick = (e) => {\n const expandButton = this.expandCollapseButton;\n const isButtonAnHTMLElement = isHTMLElement(expandButton);\n if ((!isButtonAnHTMLElement ||\n (isButtonAnHTMLElement && expandButton !== e.target)) &&\n !this.disabled) {\n this.handleMenuItemSelection(e);\n }\n };\n }\n /**\n * Handles menu item selection. For hamburger menu, we don't want users to be able to deselect items so we use this\n * method to protect against that. Emits a custom selected-change event\n * @param e mouse or keyboard event\n */\n handleMenuItemSelection(e) {\n if (this.selected) {\n return;\n }\n this.selected = !this.selected;\n // Keeping as \"selected-change\" event because TreeView and TreeItem depend on that event in their base classes\n this.$emit(\"selected-change\", e);\n }\n}\n__decorate([\n attr()\n], HamburgerMenuItem.prototype, \"id\", void 0);\n","/**\n * Define system colors for use in CSS stylesheets.\n *\n * https://drafts.csswg.org/css-color/#css-system-colors\n */\nexport var SystemColors;\n(function (SystemColors) {\n SystemColors[\"Canvas\"] = \"Canvas\";\n SystemColors[\"CanvasText\"] = \"CanvasText\";\n SystemColors[\"LinkText\"] = \"LinkText\";\n SystemColors[\"VisitedText\"] = \"VisitedText\";\n SystemColors[\"ActiveText\"] = \"ActiveText\";\n SystemColors[\"ButtonFace\"] = \"ButtonFace\";\n SystemColors[\"ButtonText\"] = \"ButtonText\";\n SystemColors[\"Field\"] = \"Field\";\n SystemColors[\"FieldText\"] = \"FieldText\";\n SystemColors[\"Highlight\"] = \"Highlight\";\n SystemColors[\"HighlightText\"] = \"HighlightText\";\n SystemColors[\"GrayText\"] = \"GrayText\";\n})(SystemColors || (SystemColors = {}));\n","// © Microsoft Corporation. All rights reserved.\nimport { accentForegroundRestBehavior, heightNumber, neutralFillStealthActiveBehavior, neutralFillStealthHoverBehavior, neutralFillStealthRestBehavior, neutralFillStealthSelectedBehavior, neutralFocusBehavior, neutralFocusInnerAccentBehavior, neutralForegroundActiveBehavior, neutralForegroundRestBehavior, neutralLayerFloatingBehavior, } from \"@fluentui/web-components\";\nimport { DirectionalStyleSheetBehavior, disabledCursor, display, focusVisible, forcedColorsStylesheetBehavior, } from \"@microsoft/fast-foundation\";\nimport { SystemColors } from \"@microsoft/fast-web-utilities\";\nimport { css } from \"@microsoft/fast-element\";\nconst ltr = css `\n .expand-collapse-glyph {\n transform: rotate(-45deg);\n }\n :host(.nested) .expand-collapse-button {\n left: var(--expand-collapse-button-nested-width, calc(${heightNumber} * -1px));\n }\n :host([selected])::after {\n left: calc(var(--focus-outline-width) * 1px);\n }\n :host(.expanded) > .positioning-region .expand-collapse-glyph {\n transform: rotate(0deg);\n }\n`;\nconst rtl = css `\n .expand-collapse-glyph {\n transform: rotate(135deg);\n }\n :host(.nested) .expand-collapse-button {\n right: var(--expand-collapse-button-nested-width, calc(${heightNumber} * -1px));\n }\n :host([selected])::after {\n right: calc(var(--focus-outline-width) * 1px);\n }\n :host(.expanded) > .positioning-region .expand-collapse-glyph {\n transform: rotate(90deg);\n }\n`;\nexport const HamburgerMenuItemStyles = css `\n ${display(\"block\")} :host {\n background: ${neutralLayerFloatingBehavior.var};\n color: ${neutralForegroundRestBehavior.var};\n contain: content;\n cursor: pointer;\n font-family: var(--body-font);\n outline: none;\n position: relative;\n --expand-collapse-button-size: calc(${heightNumber} * 1px);\n --tree-item-nested-width: 0;\n }\n :host([disabled]) .content-region {\n cursor: ${disabledCursor};\n opacity: var(--disabled-opacity);\n }\n :host([expanded]) > .items {\n display: block;\n }\n :host(:focus) .content-region {\n outline: none;\n }\n :host(:focus) > .positioning-region {\n outline: none;\n }\n :host(:${focusVisible}) .positioning-region {\n border: ${neutralFocusBehavior.var} 1px solid;\n border-radius: calc(var(--corner-radius) * 1px);\n color: ${neutralForegroundActiveBehavior.var};\n }\n :host([nested]) .content-region {\n font-size: var(--type-ramp-base-font-size);\n font-weight: 400;\n line-height: var(--type-ramp-base-line-height);\n margin-inline-start: var(--expand-collapse-button-size);\n position: relative;\n }\n :host([nested]) .expand-collapse-button {\n position: absolute;\n }\n :host([selected])::after {\n background: ${accentForegroundRestBehavior.var};\n border-radius: calc(var(--corner-radius) * 1px);\n content: \"\";\n display: block;\n height: 25px;\n position: absolute;\n top: 12px;\n width: 3px;\n }\n :host([selected]) .positioning-region {\n background: ${neutralFillStealthSelectedBehavior.var};\n }\n\n .content-region {\n align-items: center;\n display: flex;\n font-size: var(--type-ramp-plus-1-font-size);\n font-weight: 600;\n height: calc(${heightNumber} * 1px);\n line-height: var(--type-ramp-plus-1-line-height);\n margin-inline-end: 20px;\n margin-inline-start: calc(var(--design-unit) * 2px + 2px);\n width: 100%;\n white-space: nowrap;\n }\n .content-region .start:first-child {\n margin-inline-start: 32px;\n width: 16px;\n }\n .content-region span:first-child {\n width: 58px;\n }\n .end {\n ${\n/* need to swap out once we understand how horizontalSpacing will work */ \"\"} margin-inline-start: calc(var(--design-unit) * 2px + 2px);\n }\n .expand-collapse-button {\n align-items: center;\n background: none;\n border: none;\n cursor: pointer;\n display: flex;\n height: var(--expand-collapse-button-size);\n justify-content: center;\n outline: none;\n padding: 0;\n ${\n/* Width and Height should be based off calc(glyph-size-number + (design-unit * 4) * 1px) -\nupdate when density story is figured out */ \"\"} width: var(--expand-collapse-button-size);\n }\n .expand-collapse-glyph {\n fill: ${neutralForegroundRestBehavior.var};\n height: 16px;\n pointer-events: none;\n transition: transform 0.1s linear;\n ${\n/* Glyph size is temporary -\nreplace when glyph-size var is added */ \"\"} width: 16px;\n }\n .items {\n display: none;\n ${\n/* Font size should be based off calc(1em + (design-unit + glyph-size-number) * 1px) -\nupdate when density story is figured out */ \"\"} font-size: calc(1em + var(--type-ramp-base-font-size));\n }\n .positioning-region {\n align-items: center;\n border: transparent 1px solid;\n box-sizing: border-box;\n display: flex;\n height: 50px;\n position: relative;\n }\n .positioning-region::before {\n content: \"\";\n display: block;\n flex-shrink: 0;\n width: var(--tree-item-nested-width);\n }\n .positioning-region:hover {\n background: ${neutralFillStealthHoverBehavior.var};\n }\n .positioning-region:active {\n background: ${neutralFillStealthActiveBehavior.var};\n }\n .start, .end {\n fill: ${neutralForegroundRestBehavior.var};\n height: 16px;\n ${\n/* Glyph size is temporary -\nreplace when glyph-size var is added */ \"\"} width: 16px;\n }\n .start {\n ${\n/* need to swap out once we understand how horizontalSpacing will work */ \"\"} margin-inline-end: calc(var(--design-unit) * 2px + 2px);\n }\n ::slotted(fluent-tree-item) {\n --expand-collapse-button-nested-width: calc(${heightNumber} * -1px);\n --tree-item-nested-width: 1em;\n }\n`.withBehaviors(accentForegroundRestBehavior, neutralFillStealthSelectedBehavior, neutralFillStealthActiveBehavior, neutralFillStealthHoverBehavior, neutralFillStealthRestBehavior, neutralFocusBehavior, neutralFocusInnerAccentBehavior, neutralForegroundActiveBehavior, neutralForegroundRestBehavior, neutralLayerFloatingBehavior, new DirectionalStyleSheetBehavior(ltr, rtl), forcedColorsStylesheetBehavior(css `\n :host {\n background: ${SystemColors.Field};\n border-color: transparent;\n forced-color-adjust: none;\n }\n :host .content-region {\n color: ${SystemColors.FieldText};\n }\n :host .content-region .expand-collapse-glyph,\n :host .content-region .start,\n :host .content-region .end {\n fill: ${SystemColors.FieldText};\n }\n :host .positioning-region:hover,\n :host([selected]) .positioning-region {\n background: ${SystemColors.Highlight};\n }\n :host .positioning-region:hover .content-region,\n :host([selected]) .positioning-region .content-region {\n color: ${SystemColors.HighlightText};\n }\n :host .positioning-region:hover .content-region .expand-collapse-glyph,\n :host .positioning-region:hover .content-region .start,\n :host .positioning-region:hover .content-region .end,\n :host([selected]) .content-region .expand-collapse-glyph,\n :host([selected]) .content-region .start,\n :host([selected]) .content-region .end {\n fill: ${SystemColors.HighlightText};\n }\n :host([selected])::after {\n background: ${SystemColors.Field}\n }\n :host(:${focusVisible}) .positioning-region {\n border-color: ${SystemColors.FieldText};\n box-shadow: 0 0 0 2px inset ${SystemColors.Field};\n }\n :host([disabled]) .content-region,\n :host([disabled]) .positioning-region:hover .content-region {\n color: ${SystemColors.GrayText};\n opacity: 1;\n }\n :host([disabled]) .content-region .expand-collapse-glyph,\n :host([disabled]) .content-region .start,\n :host([disabled]) .content-region .end,\n :host([disabled]) .positioning-region:hover .content-region .expand-collapse-glyph,\n :host([disabled]) .positioning-region:hover .content-region .start,\n :host([disabled]) .positioning-region:hover .content-region .end {\n fill: ${SystemColors.GrayText};\n }\n :host([disabled]) .positioning-region:hover {\n background: ${SystemColors.Field};\n }\n `));\n","// © Microsoft Corporation. All rights reserved.\nimport { __decorate } from \"tslib\";\nimport { customElement } from \"@microsoft/fast-element\";\nimport { TreeItemTemplate as template } from \"@microsoft/fast-foundation\";\nimport { HamburgerMenuItem } from \"./hamburger-menu-item\";\nimport { HamburgerMenuItemStyles as styles } from \"./hamburger-menu-item.styles\";\n/**\n * @public\n */\nlet MsftHamburgerMenuItem = class MsftHamburgerMenuItem extends HamburgerMenuItem {\n};\nMsftHamburgerMenuItem = __decorate([\n customElement({\n name: \"msft-hamburger-menu-item\",\n template,\n styles,\n })\n], MsftHamburgerMenuItem);\nexport { MsftHamburgerMenuItem };\n","import { canUseDOM } from \"exenv-es6\";\n/*\n * Check for backdrop-filter support within the current browser\n */\nexport const backdropFilterSupport = canUseDOM() &&\n (\"backdrop-filter\" in document.documentElement.style ||\n \"-webkit-backdrop-filter\" in document.documentElement.style);\n/*\n * Applies a partially transparent \"acrylic\" background to an element\n */\nexport function applyAcrylic(config) {\n const backdropFilterStyles = {\n background: config.backgroundColor,\n \"-webkit-backdrop-filter\": `blur(${config.blurRadius || \"30px\"}) saturate(${config.saturation || \"125%\"})`,\n \"backdrop-filter\": `blur(${config.blurRadius || \"30px\"}) saturate(${config.saturation || \"125%\"})`,\n };\n const fallbackStyles = {\n background: config.fallbackBackgroundColor,\n };\n const styles = backdropFilterSupport\n ? backdropFilterStyles\n : fallbackStyles;\n return Object.assign(Object.assign({}, styles), { \"&::before\": {\n content: '\"\"',\n background: config.textureImage\n ? `url(${config.textureImage}) repeat`\n : undefined,\n position: \"absolute\",\n top: \"0\",\n bottom: \"0\",\n left: \"0\",\n right: \"0\",\n opacity: \".02\",\n \"pointer-events\": \"none\",\n } });\n}\n","import { applyAcrylic, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { ColorRGBA64 } from \"@microsoft/fast-colors\";\nimport { parseColorString } from \"../utilities/color/common\";\nexport const acrylicNoise = \"data:image/png;base64,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\";\n/*\n * Applies a Microsoft implementation of acrylic to a surface\n *\n * - backgroundColor: This should be an RGBa color value to achieve the acrylic effect\n * - opacity: The opacity of the background\n * - fallbackOpacity?: Applied in the event that backdrop-filter is not supported in the current browser, defaults to 0.9\n * - topHighlight?: The option to highlight the top border of the surface acrylic is applied to, defaults to false\n */\nexport function applyAcrylicMaterial(backgroundColor, opacity, fallbackOpacity = 0.9, topHighlight = false) {\n const background = parseColorString(backgroundColor);\n const acrylicConfig = {\n textureImage: acrylicNoise,\n backgroundColor: new ColorRGBA64(background.r, background.g, background.b, opacity).toStringWebRGBA(),\n fallbackBackgroundColor: new ColorRGBA64(background.r, background.g, background.b, fallbackOpacity).toStringWebRGBA(),\n };\n return Object.assign({ \"border-top\": topHighlight\n ? `${toPx(1)} solid ${new ColorRGBA64(background.r, background.g, background.b, 0.1).toStringWebRGBA()}`\n : \"\" }, applyAcrylic(acrylicConfig));\n}\n","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar ReactIs = require('react-is');\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (ReactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\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\nexport default stubFalse;\n","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar ReactIs = require('react-is');\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (ReactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _getDisplayName = _interopRequireDefault(require(\"./getDisplayName\"));\n\nvar wrapDisplayName = function wrapDisplayName(BaseComponent, hocName) {\n return hocName + \"(\" + (0, _getDisplayName.default)(BaseComponent) + \")\";\n};\n\nvar _default = wrapDisplayName;\nexports.default = _default;","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { ContextMenu as BaseContextMenu } from \"@microsoft/fast-components-react-base\";\nimport React from \"react\";\nimport { neutralLayerFloating } from \"@microsoft/fast-components-styles-msft\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { Background } from \"../background\";\nclass ContextMenu extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n children: void 0,\n managedClasses: void 0,\n enableAutoFocus: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(Background, { value: neutralLayerFloating, tag: null },\n React.createElement(BaseContextMenu, Object.assign({}, this.unhandledProps(), { enableAutoFocus: this.props.enableAutoFocus, managedClasses: this.props.managedClasses }), this.props.children)));\n }\n}\nContextMenu.displayName = `${DisplayNamePrefix}ContextMenu`;\nContextMenu.defaultProps = {\n managedClasses: {},\n};\nexport default ContextMenu;\nexport * from \"./context-menu.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { ContextMenuItem as BaseContextMenuItem } from \"@microsoft/fast-components-react-base\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass ContextMenuItem extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n after: void 0,\n before: void 0,\n };\n }\n render() {\n return (React.createElement(BaseContextMenuItem, Object.assign({}, this.unhandledProps()),\n this.props.before !== undefined ? this.props.before : undefined,\n React.createElement(\"span\", { className: classNames(this.props.managedClasses.contextMenuItem_contentRegion) }, this.props.children),\n this.props.after !== undefined ? this.props.after : undefined));\n }\n}\nContextMenuItem.displayName = `${DisplayNamePrefix}ContextMenuItem`;\nContextMenuItem.defaultProps = {\n managedClasses: {},\n};\nexport default ContextMenuItem;\nexport * from \"./context-menu-item.props\";\n","import { neutralDividerRestDelta, neutralPalette } from \"../design-system\";\nimport { findClosestBackgroundIndex, getSwatch, isDarkMode } from \"./palette\";\nimport { colorRecipeFactory } from \"./common\";\nconst neutralDividerAlgorithm = (designSystem) => {\n const palette = neutralPalette(designSystem);\n const backgroundIndex = findClosestBackgroundIndex(designSystem);\n const delta = neutralDividerRestDelta(designSystem);\n const direction = isDarkMode(designSystem) ? -1 : 1;\n const index = backgroundIndex + direction * delta;\n return getSwatch(index, palette);\n};\nexport const neutralDividerRest = colorRecipeFactory(neutralDividerAlgorithm);\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = val;\nexports.h = void 0;\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _defineProperty(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\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n\n var target = _objectWithoutPropertiesLoose(source, excluded);\n\n var key, i;\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\nfunction _objectWithoutPropertiesLoose(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 return target;\n}\n\nvar _window = window,\n customElements = _window.customElements;\nvar cacheCtorLocalNames = new Map();\nvar cacheElementEventHandlers = new WeakMap(); // Override customElements.define() to cache constructor local names. This is\n// required for all virtual DOM implementations that don't natively support\n// custom element constructors as node names.\n\nif (customElements) {\n var define = customElements.define;\n\n customElements.define = function (name, Ctor) {\n cacheCtorLocalNames.set(Ctor, name);\n return define.call(customElements, name, Ctor);\n };\n} // Applies attributes to the ref element. It doesn't traverse through\n// existing attributes and assumes that the supplied object will supply\n// all attributes that the applicator should care about, even ones that\n// should be removed.\n\n\nfunction applyAttrs(e, attrs) {\n if (!attrs) return;\n Object.keys(attrs).forEach(function (name) {\n var value = attrs[name];\n\n if (value == null) {\n e.removeAttribute(name);\n } else {\n e.setAttribute(name, value);\n }\n });\n}\n\nfunction applyEvents(e) {\n var events = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var handlers = cacheElementEventHandlers.get(e) || {};\n cacheElementEventHandlers.set(e, events); // Remove any old listeners that are different - or aren't specified\n // in - the new set.\n\n Object.keys(handlers).forEach(function (name) {\n if (handlers[name] && handlers[name] !== events[name]) {\n e.removeEventListener(name, handlers[name]);\n }\n }); // Bind new listeners.\n\n Object.keys(events).forEach(function (name) {\n if (events[name] !== handlers[name]) {\n e.addEventListener(name, events[name]);\n }\n });\n} // Sets props. Straight up.\n\n\nfunction applyProps(e, props) {\n Object.keys(props || {}).forEach(function (name) {\n e[name] = props[name];\n });\n} // Ensures that if a ref was specified that it's called as normal.\n\n\nfunction applyRef(e, ref) {\n if (ref) {\n ref(e);\n }\n} // Ensures attrs, events and props are all set as the consumer intended.\n\n\nfunction ensureProps(objs) {\n var _ref = objs || {},\n attrs = _ref.attrs,\n events = _ref.events,\n props = _ref.props,\n ref = _ref.ref,\n pass = _objectWithoutProperties(_ref, [\"attrs\", \"events\", \"props\", \"ref\"]);\n\n var newRef = ensureRef(attrs, events, props, ref);\n return _objectSpread({}, pass, {\n ref: newRef\n });\n} // Ensures a ref is supplied that set each member appropriately and that\n// the original ref is called.\n\n\nfunction ensureRef(attrs, events, props, ref) {\n return function (e) {\n if (e) {\n applyAttrs(e, attrs);\n applyEvents(e, events);\n applyProps(e, props);\n }\n\n applyRef(e, ref);\n };\n} // Returns the custom element local name if it exists or the original\n// value.\n\n\nfunction ensureLocalName(lname) {\n var temp = cacheCtorLocalNames.get(lname);\n return temp || lname;\n} // Default adapter for rendering DOM.\n\n\nfunction defaultCreateElement(lname, _ref2) {\n var ref = _ref2.ref,\n props = _objectWithoutProperties(_ref2, [\"ref\"]);\n\n var node = typeof lname === \"function\" ? new lname() : document.createElement(lname);\n\n if (ref) {\n ref(node);\n }\n\n for (var name in props) {\n node[name] = props[name];\n }\n\n for (var _len = arguments.length, chren = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n chren[_key - 2] = arguments[_key];\n }\n\n chren.forEach(function (c) {\n return node.appendChild(typeof c === \"string\" ? document.createTextNode(c) : c);\n });\n return node;\n} // Provides a function that takes the original createElement that is being\n// wrapped. It returns a function that you call like you normally would.\n//\n// It requires support for:\n// - `ref`\n\n\nfunction val() {\n var createElement = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultCreateElement;\n return function (lname, props) {\n lname = ensureLocalName(lname);\n props = ensureProps(props);\n\n for (var _len2 = arguments.length, chren = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n chren[_key2 - 2] = arguments[_key2];\n }\n\n return createElement.apply(void 0, [lname, props].concat(chren));\n };\n}\n\nvar h = val();\nexports.h = h;\n","import { __decorate } from \"tslib\";\nimport { attr, DOM, emptyArray, FASTElement, observable } from \"@microsoft/fast-element\";\nimport { keyCodeEnter } from \"@microsoft/fast-web-utilities\";\nconst proxySlotName = \"form-associated-proxy\";\n/**\n * @alpha\n */\nexport const supportsElementInternals = \"ElementInternals\" in window;\n/**\n * Base class for providing Custom Element Form Association.\n *\n * @alpha\n */\nexport class FormAssociated extends FASTElement {\n constructor() {\n super();\n /**\n * Track whether the value has been changed from the initial value\n */\n this.dirtyValue = false;\n /**\n * The initial value of the form. This value sets the `value` property\n * only when the `value` property has not been explicitly set.\n *\n * @remarks\n * HTML Attribute: value\n */\n this.initialValue = \"\";\n /**\n * Sets the element's disabled state. A disabled element will not be included during form submission.\n *\n * @remarks\n * HTML Attribute: disabled\n */\n this.disabled = false;\n /**\n * Require the field to be completed prior to form submission.\n *\n * @remarks\n * HTML Attribute: required\n */\n this.required = false;\n /**\n * These are events that are still fired by the proxy\n * element based on user / programmatic interaction.\n *\n * The proxy implementation should be transparent to\n * the app author, so block these events from emitting.\n */\n this.proxyEventsToBlock = [\"change\", \"click\"];\n this.proxyInitialized = false;\n if (supportsElementInternals) {\n this.elementInternals = this.attachInternals();\n }\n }\n /**\n * Must evaluate to true to enable elementInternals.\n * Feature detects API support and resolve respectively\n *\n * @internal\n */\n static get formAssociated() {\n return supportsElementInternals;\n }\n /**\n * Returns the validity state of the element\n */\n get validity() {\n return supportsElementInternals\n ? this.elementInternals.validity\n : this.proxy.validity;\n }\n /**\n * Retrieve a reference to the associated form.\n * Returns null if not associated to any form.\n */\n get form() {\n return supportsElementInternals ? this.elementInternals.form : this.proxy.form;\n }\n /**\n * Retrieve the localized validation message,\n * or custom validation message if set.\n */\n get validationMessage() {\n return supportsElementInternals\n ? this.elementInternals.validationMessage\n : this.proxy.validationMessage;\n }\n /**\n * Whether the element will be validated when the\n * form is submitted\n */\n get willValidate() {\n return supportsElementInternals\n ? this.elementInternals.willValidate\n : this.proxy.willValidate;\n }\n /**\n * A reference to all associated label elements\n */\n get labels() {\n if (supportsElementInternals) {\n return Object.freeze(Array.from(this.elementInternals.labels));\n }\n else if (this.proxy instanceof HTMLElement &&\n this.proxy.ownerDocument &&\n this.id) {\n // Labels associated by wrapping the element: \n const parentLabels = this.proxy.labels;\n // Labels associated using the `for` attribute\n const forLabels = Array.from(this.proxy.getRootNode().querySelectorAll(`[for='${this.id}']`));\n const labels = parentLabels\n ? forLabels.concat(Array.from(parentLabels))\n : forLabels;\n return Object.freeze(labels);\n }\n else {\n return emptyArray;\n }\n }\n /**\n * Invoked when the `value` property changes\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `valueChanged` method\n * They must be sure to invoke `super.valueChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n valueChanged(previous, next) {\n this.dirtyValue = true;\n if (this.proxy instanceof HTMLElement) {\n this.proxy.value = this.value;\n }\n this.setFormValue(this.value);\n }\n /**\n * Invoked when the `initialValue` property changes\n *\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `initialValueChanged` method\n * They must be sure to invoke `super.initialValueChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n initialValueChanged(previous, next) {\n // If the value is clean and the component is connected to the DOM\n // then set value equal to the attribute value.\n if (!this.dirtyValue && this.$fastController.isConnected) {\n this.value = this.initialValue;\n this.dirtyValue = false;\n }\n }\n /**\n * Invoked when the `disabled` property changes\n *\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `disabledChanged` method\n * They must be sure to invoke `super.disabledChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n disabledChanged(previous, next) {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.disabled = this.disabled;\n }\n DOM.queueUpdate(() => this.classList.toggle(\"disabled\", this.disabled));\n }\n /**\n * Invoked when the `name` property changes\n *\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `nameChanged` method\n * They must be sure to invoke `super.nameChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n nameChanged() {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.name = this.name;\n }\n }\n /**\n * Invoked when the `required` property changes\n *\n * @param previous - the previous value\n * @param next - the new value\n *\n * @remarks\n * If elements extending `FormAssociated` implement a `requiredChanged` method\n * They must be sure to invoke `super.requiredChanged(previous, next)` to ensure\n * proper functioning of `FormAssociated`\n */\n requiredChanged() {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.required = this.required;\n }\n DOM.queueUpdate(() => this.classList.toggle(\"required\", this.required));\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n this.value = this.initialValue;\n this.dirtyValue = false;\n if (!supportsElementInternals) {\n this.attachProxy();\n }\n }\n /**\n * @internal\n */\n disconnectedCallback() {\n this.proxyEventsToBlock.forEach(name => this.proxy.removeEventListener(name, this.stopPropagation));\n }\n /**\n * Return the current validity of the element.\n */\n checkValidity() {\n return supportsElementInternals\n ? this.elementInternals.checkValidity()\n : this.proxy.checkValidity();\n }\n /**\n * Return the current validity of the element.\n * If false, fires an invalid event at the element.\n */\n reportValidity() {\n return supportsElementInternals\n ? this.elementInternals.reportValidity()\n : this.proxy.reportValidity();\n }\n /**\n * Set the validity of the control. In cases when the elementInternals object is not\n * available (and the proxy element is used to report validity), this function will\n * do nothing unless a message is provided, at which point the setCustomValidity method\n * of the proxy element will be invoked with the provided message.\n * @param flags - Validity flags\n * @param message - Optional message to supply\n * @param anchor - Optional element used by UA to display an interactive validation UI\n */\n setValidity(flags, message, anchor) {\n if (supportsElementInternals) {\n this.elementInternals.setValidity(flags, message, anchor);\n }\n else if (typeof message === \"string\") {\n this.proxy.setCustomValidity(message);\n }\n }\n /**\n * Invoked when a connected component's form or fieldset has it's disabled\n * state changed.\n * @param disabled - the disabled value of the form / fieldset\n */\n formDisabledCallback(disabled) {\n this.disabled = disabled;\n }\n /**\n * Attach the proxy element to the DOM\n */\n attachProxy() {\n var _a;\n if (!this.proxyInitialized) {\n this.proxyInitialized = true;\n this.proxy.style.display = \"none\";\n this.proxyEventsToBlock.forEach(name => this.proxy.addEventListener(name, this.stopPropagation));\n // These are typically mapped to the proxy during\n // property change callbacks, but during initialization\n // on the initial call of the callback, the proxy is\n // still undefined. We should find a better way to address this.\n this.proxy.disabled = this.disabled;\n this.proxy.required = this.required;\n if (typeof this.name === \"string\") {\n this.proxy.name = this.name;\n }\n if (typeof this.value === \"string\") {\n this.proxy.value = this.value;\n }\n this.proxy.setAttribute(\"slot\", proxySlotName);\n this.proxySlot = document.createElement(\"slot\");\n this.proxySlot.setAttribute(\"name\", proxySlotName);\n }\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.appendChild(this.proxySlot);\n this.appendChild(this.proxy);\n }\n /**\n * Detach the proxy element from the DOM\n */\n detachProxy() {\n var _a;\n this.removeChild(this.proxy);\n (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.removeChild(this.proxySlot);\n }\n /**\n * Associates the provided value (and optional state) with the parent form.\n * @param value - The value to set\n * @param state - The state object provided to during session restores and when autofilling.\n */\n setFormValue(value, state) {\n if (supportsElementInternals && this.elementInternals) {\n this.elementInternals.setFormValue(value, state);\n }\n }\n keypressHandler(e) {\n switch (e.keyCode) {\n case keyCodeEnter:\n if (this.form instanceof HTMLFormElement) {\n // Match native behavior\n this.form.submit();\n }\n break;\n }\n }\n /**\n * Used to stop propagation of proxy element events\n * @param e - Event object\n */\n stopPropagation(e) {\n e.stopPropagation();\n }\n}\n__decorate([\n observable\n], FormAssociated.prototype, \"value\", void 0);\n__decorate([\n attr({ mode: \"fromView\", attribute: \"value\" })\n], FormAssociated.prototype, \"initialValue\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], FormAssociated.prototype, \"disabled\", void 0);\n__decorate([\n attr\n], FormAssociated.prototype, \"name\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], FormAssociated.prototype, \"required\", void 0);\n","import StackPanel from \"./stack-panel\";\nimport StackPanelSchema from \"./stack-panel.schema\";\nexport { StackPanelSchema };\nexport default StackPanel;\nexport * from \"./stack-panel\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { AutoSuggestContext, ListboxItem as BaseListboxItem, } from \"@microsoft/fast-components-react-base\";\nimport { classNames, startsWith } from \"@microsoft/fast-web-utilities\";\nimport { isNil } from \"lodash-es\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass AutoSuggestOption extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n value: void 0,\n id: void 0,\n displayFormatter: void 0,\n formatDisplayString: void 0,\n managedClasses: void 0,\n };\n /**\n * Calls the right function to format the display string\n */\n this.formatDisplayString = () => {\n const displayString = this.props.displayString !== undefined\n ? this.props.displayString\n : this.props.value;\n if (!this.props.formatDisplayString) {\n return displayString;\n }\n return typeof this.props.displayFormatter === \"function\"\n ? this.props.displayFormatter(displayString, this.context.currentValue)\n : this.defaultDisplayFormatter(displayString, this.context.currentValue);\n };\n /**\n * Default display string formatter function\n */\n this.defaultDisplayFormatter = (displayString, searchString) => {\n if (!isNil(displayString) &&\n !isNil(searchString) &&\n startsWith(displayString.toLowerCase(), searchString.toLowerCase())) {\n return (React.createElement(\"span\", null,\n React.createElement(\"b\", null, displayString.substring(0, searchString.length)),\n displayString.substring(searchString.length, displayString.length)));\n }\n return displayString;\n };\n }\n render() {\n const { autoSuggestOption, autoSuggestOption__selected, autoSuggestOption__disabled, autoSuggestOption_contentRegion, } = this.props.managedClasses;\n return (React.createElement(BaseListboxItem, Object.assign({}, this.unhandledProps(), { id: this.props.id, value: this.props.value, managedClasses: {\n listboxItem: classNames(autoSuggestOption),\n listboxItem__disabled: classNames(autoSuggestOption__disabled),\n listboxItem__selected: classNames(autoSuggestOption__selected),\n } }),\n React.createElement(\"span\", { className: classNames(autoSuggestOption_contentRegion) },\n this.formatDisplayString(),\n this.props.children)));\n }\n}\nAutoSuggestOption.displayName = `${DisplayNamePrefix}AutoSuggestOption`;\nAutoSuggestOption.contextType = AutoSuggestContext;\nAutoSuggestOption.defaultProps = {\n formatDisplayString: true,\n managedClasses: {},\n};\nAutoSuggestOption.contextType = AutoSuggestContext;\nexport default AutoSuggestOption;\nexport * from \"./auto-suggest-option.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { AutoSuggest as BaseAutoSuggest, } from \"@microsoft/fast-components-react-base\";\nimport React from \"react\";\nimport { TextAction } from \"../text-action\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass AutoSuggest extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n listboxId: void 0,\n disabled: void 0,\n inputRegion: void 0,\n managedClasses: void 0,\n };\n /**\n * The default function that renders an unstyled content display\n */\n this.defaultInputRegionRenderFunction = (props, state, onChange, onClick, onKeyDown) => {\n const listboxId = state.isMenuOpen ? props.listboxId : null;\n const activedescendantId = state.focusedItem !== null ? state.focusedItem.id : null;\n return (React.createElement(TextAction, { disabled: props.disabled, onChange: onChange, onClick: onClick, onKeyDown: onKeyDown, value: state.value, placeholder: props.placeholder, beforeGlyph: this.generateGlyph, role: \"combobox\", \"aria-label\": props.label || null, \"aria-autocomplete\": \"both\", \"aria-activedescendant\": activedescendantId || null, \"aria-expanded\": state.isMenuOpen, \"aria-owns\": listboxId || null, \"aria-controls\": listboxId || null }));\n };\n /**\n * Gets the search glyph\n * TODO: scomea - replace with ref to a glyph resource (https://github.com/Microsoft/fast/issues/1488)\n */\n this.generateGlyph = (className) => {\n return (React.createElement(\"svg\", { width: \"16\", height: \"16\", viewBox: \"0 0 16 16\", className: className, xmlns: \"http://www.w3.org/2000/svg\" },\n React.createElement(\"path\", { d: \"M10.5 0C11.0052 0 11.4922 0.0651042 11.9609 0.195312C12.4297 0.325521 12.8672 0.510417 13.2734 0.75C13.6797 0.989583 14.0495 1.27865 14.3828 1.61719C14.7214 1.95052 15.0104 2.32031 15.25 2.72656C15.4896 3.13281 15.6745 3.57031 15.8047 4.03906C15.9349 4.50781 16 4.99479 16 5.5C16 6.00521 15.9349 6.49219 15.8047 6.96094C15.6745 7.42969 15.4896 7.86719 15.25 8.27344C15.0104 8.67969 14.7214 9.05208 14.3828 9.39062C14.0495 9.72396 13.6797 10.0104 13.2734 10.25C12.8672 10.4896 12.4297 10.6745 11.9609 10.8047C11.4922 10.9349 11.0052 11 10.5 11C9.84896 11 9.22396 10.8906 8.625 10.6719C8.03125 10.4531 7.48438 10.138 6.98438 9.72656L0.851562 15.8516C0.752604 15.9505 0.635417 16 0.5 16C0.364583 16 0.247396 15.9505 0.148438 15.8516C0.0494792 15.7526 0 15.6354 0 15.5C0 15.3646 0.0494792 15.2474 0.148438 15.1484L6.27344 9.01562C5.86198 8.51562 5.54688 7.96875 5.32812 7.375C5.10938 6.77604 5 6.15104 5 5.5C5 4.99479 5.0651 4.50781 5.19531 4.03906C5.32552 3.57031 5.51042 3.13281 5.75 2.72656C5.98958 2.32031 6.27604 1.95052 6.60938 1.61719C6.94792 1.27865 7.32031 0.989583 7.72656 0.75C8.13281 0.510417 8.57031 0.325521 9.03906 0.195312C9.50781 0.0651042 9.99479 0 10.5 0ZM10.5 10C11.1198 10 11.7031 9.88281 12.25 9.64844C12.7969 9.40885 13.2734 9.08594 13.6797 8.67969C14.0859 8.27344 14.4062 7.79688 14.6406 7.25C14.8802 6.70312 15 6.11979 15 5.5C15 4.88021 14.8802 4.29688 14.6406 3.75C14.4062 3.20312 14.0859 2.72656 13.6797 2.32031C13.2734 1.91406 12.7969 1.59375 12.25 1.35938C11.7031 1.11979 11.1198 1 10.5 1C9.88021 1 9.29688 1.11979 8.75 1.35938C8.20312 1.59375 7.72656 1.91406 7.32031 2.32031C6.91406 2.72656 6.59115 3.20312 6.35156 3.75C6.11719 4.29688 6 4.88021 6 5.5C6 6.11979 6.11719 6.70312 6.35156 7.25C6.59115 7.79688 6.91406 8.27344 7.32031 8.67969C7.72656 9.08594 8.20312 9.40885 8.75 9.64844C9.29688 9.88281 9.88021 10 10.5 10Z\" })));\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(BaseAutoSuggest, Object.assign({}, this.unhandledProps(), { listboxId: this.props.listboxId, managedClasses: this.props.managedClasses, disabled: this.props.disabled, inputRegion: typeof this.props.inputRegion === \"function\"\n ? this.props.inputRegion\n : this.defaultInputRegionRenderFunction }), this.props.children));\n }\n}\nAutoSuggest.displayName = `${DisplayNamePrefix}AutoSuggest`;\nAutoSuggest.defaultProps = {\n managedClasses: {},\n};\nexport default AutoSuggest;\nexport * from \"./auto-suggest.props\";\n","var __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};\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { get } from \"lodash-es\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { CancelIcon } from \"@edge-web-ui/edge-icons\";\nimport { Dialog as BaseDialog } from \"@microsoft/fast-components-react-base\";\nimport { Button, ButtonAppearance, Heading, HeadingSize, } from \"@microsoft/fast-components-react-msft\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\n/**\n * @deprecated - Will be removed in next major version (v5)\n * Use Dialog from @edge-web-ui/components instead\n */\nclass Dialog extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n closeButton: void 0,\n contentWidth: void 0,\n contentHeight: void 0,\n describedBy: void 0,\n heading: void 0,\n label: void 0,\n labelledBy: void 0,\n modal: void 0,\n managedClasses: void 0,\n onDismiss: void 0,\n primaryButton: void 0,\n secondaryButton: void 0,\n visible: void 0,\n };\n this.closeButtonElement = React.createRef();\n /**\n * Handle the close button click and keyboard events\n */\n this.handleCloseButtonClick = (e) => {\n if (typeof get(this.props, \"closeButton.onInvoke\") === \"function\") {\n this.props.closeButton.onInvoke(e);\n }\n };\n }\n /**\n * Renders the component\n */\n render() {\n const { dialog_body, dialog_heading, } = this.props.managedClasses;\n return (React.createElement(BaseDialog, Object.assign({}, this.unhandledProps(), { contentWidth: this.props.contentWidth, contentHeight: this.props.contentHeight, describedBy: this.props.describedBy, label: this.props.label, labelledBy: this.props.labelledBy, modal: this.props.modal, managedClasses: this.props.managedClasses, onDismiss: this.props.onDismiss, className: this.generateClassNames(), visible: this.props.visible }),\n this.generateCloseButton(),\n React.createElement(Heading, Object.assign({ className: classNames(dialog_heading) }, this.getHeadingProps())),\n React.createElement(\"div\", { className: classNames(dialog_body) }, this.props.children),\n this.generateActions()));\n }\n /**\n * React life-cycle method\n */\n componentDidMount() {\n if (canUseDOM() && this.props.visible) {\n this.focusDialogCloseButton();\n }\n }\n /**\n * React life-cycle method\n */\n componentDidUpdate(prevProps) {\n if (!prevProps.visible && this.props.visible) {\n this.focusDialogCloseButton();\n }\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames([\n this.props.managedClasses.dialog__singleAction,\n !this.props.secondaryButton,\n ]));\n }\n /**\n * Set default props for the heading\n */\n getHeadingProps() {\n return Object.assign({}, { size: HeadingSize._6 }, this.props.heading);\n }\n /**\n * Set default props for the primary button\n */\n getPrimaryButtonProps() {\n return Object.assign({}, { appearance: ButtonAppearance.primary }, this.props.primaryButton);\n }\n generateCloseButton() {\n if (this.props.closeButton) {\n // Destructure the close button prop object so we can pass \"unhandled\" props\n const _a = this.props.closeButton, { label, onInvoke, autofocus } = _a, props = __rest(_a, [\"label\", \"onInvoke\", \"autofocus\"]);\n const { dialog_closeButton, dialog_closeButtonGlyph, } = this.props.managedClasses;\n return (React.createElement(Button, Object.assign({}, props, { appearance: ButtonAppearance.stealth, \"aria-label\": label, className: classNames(dialog_closeButton), onClick: this.handleCloseButtonClick, ref: this.closeButtonElement }),\n React.createElement(CancelIcon, { className: classNames(dialog_closeButtonGlyph) })));\n }\n }\n /**\n * Generates the dialog actions\n */\n generateActions() {\n const { dialog_actionWrapper, dialog_primaryButton, dialog_secondaryButton, } = this.props.managedClasses;\n return (React.createElement(\"div\", { className: classNames(dialog_actionWrapper) },\n React.createElement(Button, Object.assign({ className: classNames(dialog_primaryButton) }, this.getPrimaryButtonProps())),\n this.props.secondaryButton ? (React.createElement(Button, Object.assign({ className: classNames(dialog_secondaryButton) }, this.props.secondaryButton))) : null));\n }\n /**\n * Focus the dialog close button\n */\n focusDialogCloseButton() {\n // exit out of the function if the close button doesn't exist or autofocus is set to true\n if (!this.props.closeButton || this.props.closeButton.autofocus === false) {\n return;\n }\n if (this.closeButtonElement && this.closeButtonElement.current) {\n ReactDOM.findDOMNode(this.closeButtonElement.current).focus();\n }\n }\n}\nDialog.defaultProps = {\n contentHeight: \"auto\",\n contentWidth: \"400px\",\n managedClasses: {},\n visible: false,\n};\nDialog.displayName = \"Dialog\";\nexport default Dialog;\nexport * from \"./dialog.props\";\n","const glyphArrowright = `\n \n \n \n`;\nexport { glyphArrowright };\nconst glyphBuildingblocks = `\n building-blocks\n \n`;\nexport { glyphBuildingblocks };\nconst glyphExamples = `\n\n\n\n\n\n\n\n\n\n\n\n\n\n`;\nexport { glyphExamples };\nconst glyphGlobalnavbutton = `\n global-nav-button\n \n`;\nexport { glyphGlobalnavbutton };\nconst glyphPage = `\n\n\n\n\n\n`;\nexport { glyphPage };\nconst glyphTransparency = `\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n`;\nexport { glyphTransparency };\n","var __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};\nimport React from \"react\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { Typography, TypographySize, } from \"@microsoft/fast-components-react-msft\";\nimport { Hypertext } from \"@microsoft/fast-components-react-base\";\nimport { typeRamp } from \"@microsoft/fast-components-styles-msft\";\nimport { Attribution } from \"../attribution\";\nimport { applyMaxLines } from \"@microsoft/fast-jss-utilities\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport { memoize } from \"lodash-es\";\nclass PreviewCard extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n attribution: void 0,\n destination: void 0,\n icon: void 0,\n heading: void 0,\n height: void 0,\n image: void 0,\n imageOverlay: void 0,\n managedClasses: void 0,\n width: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.generateAttributes(), { className: this.generateClassNames() }),\n this.renderImage(),\n this.renderContentArea()));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { previewCard } = this.props.managedClasses;\n return super.generateClassNames(classNames(previewCard));\n }\n generateAttributes() {\n const attributes = Object.assign({}, this.unhandledProps());\n return Object.assign(Object.assign({}, attributes), { style: Object.assign(Object.assign({}, attributes.style), { height: this.props.height, width: this.props.width }) });\n }\n /**\n * Render image based on props\n */\n renderImage() {\n const { previewCard_imageRegion, previewCard_obscuredRegion, previewCard_image, } = this.props.managedClasses;\n if (typeof this.props.image === \"function\") {\n return (React.createElement(\"div\", { className: classNames(previewCard_imageRegion, [\n previewCard_obscuredRegion,\n this.props.imageOverlay,\n ]) },\n this.props.image(classNames(previewCard_image)),\n this.generateIcon()));\n }\n }\n /**\n * Render content area based on props\n */\n renderContentArea() {\n return (React.createElement(\"div\", { className: classNames(this.props.managedClasses.previewCard_contentRegion) },\n this.renderHeading(),\n this.renderAttribution()));\n }\n /**\n * Render the article title with destination\n */\n renderHeading() {\n const _a = this.getHeadingProps(), { children } = _a, headingProps = __rest(_a, [\"children\"]);\n const { previewCard_heading, previewCard_headingContent, previewCard_obscuredRegion, } = this.props.managedClasses;\n return (React.createElement(Hypertext, Object.assign({}, this.props.destination, { className: classNames(previewCard_heading, previewCard_obscuredRegion) }),\n React.createElement(Typography, Object.assign({}, headingProps, { jssStyleSheet: PreviewCard.generateHeadingMaxlines(headingProps.size), className: classNames(previewCard_headingContent) }), children)));\n }\n renderAttribution() {\n if (this.props.attribution) {\n return (React.createElement(Attribution, Object.assign({}, this.props.attribution, { className: classNames(this.props.managedClasses.previewCard_attribution) })));\n }\n }\n /**\n * Generates icon based on props\n */\n generateIcon() {\n if (typeof this.props.icon === \"function\") {\n const { previewCard_icon, previewCard_iconWrapper, } = this.props.managedClasses;\n return (React.createElement(\"span\", { className: classNames(previewCard_iconWrapper) }, this.props.icon(classNames(previewCard_icon))));\n }\n }\n /**\n * Gets props for the heading and sets default props if needed\n */\n getHeadingProps() {\n return Object.assign({}, { size: TypographySize._7 }, this.props.heading);\n }\n}\nPreviewCard.defaultProps = {\n height: \"77px\",\n width: \"300px\",\n imageOverlay: true,\n managedClasses: {},\n};\nPreviewCard.displayName = \"PreviewCard\";\n/**\n * Memoized function to get the heading stylesheet to avoid profileration of per-instance inline stylesheets.\n */\nPreviewCard.generateHeadingMaxlines = memoize((headingSize) => ({\n typography: Object.assign({}, applyMaxLines(2, typeRamp[`t${headingSize}`].lineHeight)),\n}), (...args) => args.join());\nexport default PreviewCard;\nexport * from \"./preview-card.props\";\n","import React from \"react\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nclass Attribution extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n image: void 0,\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n const { attribution_image, attribution_contentRegion, } = this.props.managedClasses;\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() }),\n typeof this.props.image === \"function\"\n ? this.props.image(classNames(attribution_image))\n : null,\n React.createElement(\"span\", { className: classNames(attribution_contentRegion) }, this.props.children)));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.attribution));\n }\n}\nAttribution.displayName = \"Attribution\";\nAttribution.defaultProps = {\n managedClasses: {},\n};\nexport default Attribution;\nexport * from \"./attribution.props\";\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { Tabs as BaseTabs } from \"@microsoft/fast-components-react-base\";\nimport { toPx } from \"@microsoft/fast-jss-utilities\";\nimport { classNames, Direction } from \"@microsoft/fast-web-utilities\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { get } from \"lodash-es\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { DisplayNamePrefix } from \"../utilities\";\nclass Pivot extends Foundation {\n /**\n * The constructor\n */\n constructor(props) {\n super(props);\n this.handledProps = {\n label: void 0,\n items: void 0,\n managedClasses: void 0,\n };\n this.handleTabsUpdate = (activeTabId) => {\n this.setState({\n activeId: activeTabId,\n });\n if (typeof this.props.onUpdate === \"function\") {\n this.props.onUpdate(activeTabId);\n }\n };\n if (Array.isArray(this.props.items)) {\n this.state = {\n offsetX: 0,\n tabPanelIndex: 0,\n activeId: typeof this.props.activeId === \"string\"\n ? this.props.activeId\n : get(this.props.items[0], \"id\", \"\"),\n };\n }\n this.tabsRef = React.createRef();\n }\n /**\n * React life-cycle method\n */\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.activeId && nextProps.activeId !== prevState.activeId) {\n return {\n activeId: nextProps.activeId,\n };\n }\n return null;\n }\n componentDidMount() {\n this.ltr = this.getLTR();\n this.setActiveIndicatorOffset();\n this.prevTabPanelIndex = this.state.tabPanelIndex;\n }\n componentDidUpdate(prevProps, prevState) {\n if (this.ltr !== this.getLTR()) {\n this.setActiveIndicatorOffset();\n this.ltr = this.getLTR();\n }\n if (this.state.activeId !== prevState.activeId) {\n this.setActiveIndicatorOffset();\n this.updateTabPanelIndex();\n }\n if (this.state.tabPanelIndex !== prevState.tabPanelIndex) {\n this.prevTabPanelIndex = this.state.tabPanelIndex;\n }\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(BaseTabs, Object.assign({}, this.unhandledProps(), { ref: this.tabsRef, managedClasses: this.generatePivotClassNames(), activeId: this.state.activeId, onUpdate: this.handleTabsUpdate, orientation: this.props.orientation, items: this.props.items, label: this.props.label }),\n React.createElement(\"span\", { style: { transform: `translateX(${toPx(this.state.offsetX)})` }, className: classNames(this.props.managedClasses.pivot_activeIndicator) })));\n }\n /**\n * Returns tabs managedclasses with new carousel-specific JSS\n */\n generatePivotClassNames() {\n const { pivot, pivot_tabList, pivot_tabContent, pivot_tabPanelContent, pivot_tab, pivot_tab__active, pivot_tabPanel, pivot_tabPanel__hidden, } = this.props.managedClasses;\n return {\n tabs: pivot,\n tabs_tabPanels: this.generateTabPanelsClassNames(),\n tabs_tabList: pivot_tabList,\n tabs_tabContent: pivot_tabContent,\n tabs_tabPanelContent: pivot_tabPanelContent,\n tab: pivot_tab,\n tab__active: pivot_tab__active,\n tabPanel: pivot_tabPanel,\n tabPanel__hidden: pivot_tabPanel__hidden,\n };\n }\n isSelected(element) {\n return element.attributes[\"aria-selected\"].value === \"true\";\n }\n updateTabPanelIndex() {\n if (canUseDOM() && this.tabsRef.current && Array.isArray(this.props.items)) {\n const tabElement = ReactDOM.findDOMNode(this.tabsRef.current);\n const mytabsArray = Array.prototype.slice.call(tabElement.querySelectorAll(\"[role='tab']\"));\n this.setState({\n tabPanelIndex: mytabsArray.findIndex(this.isSelected),\n });\n }\n }\n generateTabPanelsClassNames() {\n const { pivot_tabPanels, pivot_tabPanels__animatePrevious, pivot_tabPanels__animateNext, } = this.props.managedClasses;\n const indexNotChanged = this.state.tabPanelIndex === this.prevTabPanelIndex;\n const shouldReverse = this.state.tabPanelIndex < this.prevTabPanelIndex;\n return classNames(pivot_tabPanels, [pivot_tabPanels__animatePrevious, shouldReverse], [pivot_tabPanels__animateNext, !shouldReverse && !indexNotChanged]);\n }\n setActiveIndicatorOffset() {\n if (canUseDOM() && this.tabsRef.current && Array.isArray(this.props.items)) {\n const tabElement = ReactDOM.findDOMNode(this.tabsRef.current);\n const mytab = tabElement.querySelector(\"[aria-selected='true']\");\n if (mytab !== null && tabElement !== null) {\n const width = mytab.getBoundingClientRect().width;\n const center = width / 2;\n const offsetX = mytab.getBoundingClientRect().left -\n tabElement.getBoundingClientRect().left +\n center;\n if (offsetX !== this.state.offsetX) {\n this.setState({\n offsetX,\n });\n }\n }\n }\n }\n // TODO #1438: Add optional direction prop to Pivot and Horizontal overflow\n /**\n * Gets the direction of the element\n */\n getLTR() {\n if (canUseDOM()) {\n const tabElement = ReactDOM.findDOMNode(this.tabsRef.current);\n return !tabElement\n ? Direction.ltr\n : getComputedStyle(tabElement).direction === Direction.rtl\n ? Direction.rtl\n : Direction.ltr;\n }\n }\n}\nPivot.displayName = `${DisplayNamePrefix}Pivot`;\nPivot.defaultProps = {\n managedClasses: {},\n};\nexport default Pivot;\nexport * from \"./pivot.props\";\n","export var TextActionAppearance;\n(function (TextActionAppearance) {\n TextActionAppearance[\"filled\"] = \"filled\";\n TextActionAppearance[\"outline\"] = \"outline\";\n})(TextActionAppearance || (TextActionAppearance = {}));\nexport var TextActionButtonPosition;\n(function (TextActionButtonPosition) {\n TextActionButtonPosition[\"before\"] = \"before\";\n TextActionButtonPosition[\"after\"] = \"after\";\n})(TextActionButtonPosition || (TextActionButtonPosition = {}));\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { textFieldOverrides } from \"@microsoft/fast-components-styles-msft\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport { get } from \"lodash-es\";\nimport React from \"react\";\nimport { TextField } from \"../text-field\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { TextActionAppearance, TextActionButtonPosition, } from \"./text-action.props\";\nclass TextAction extends Foundation {\n constructor(props) {\n super(props);\n this.handledProps = {\n appearance: void 0,\n afterGlyph: void 0,\n beforeGlyph: void 0,\n button: void 0,\n buttonPosition: void 0,\n className: void 0,\n managedClasses: void 0,\n };\n /**\n * Adds focus state to outer wrapper and fires callback if passed\n * In order to correctly focus the input and then the\n * possible button, a class must be added instead of using\n * focus-within via style\n */\n this.handleOnFocus = (e) => {\n this.setState({ focused: true });\n if (typeof this.props.onFocus === \"function\") {\n this.props.onFocus(e);\n }\n };\n /**\n * Removes focus state and fires callback if passed\n */\n this.handleOnBlur = (e) => {\n this.setState({ focused: false });\n if (typeof this.props.onBlur === \"function\") {\n this.props.onBlur(e);\n }\n };\n this.state = {\n focused: false,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", { className: this.generateClassNames() },\n this.buttonExists() &&\n this.props.buttonPosition === TextActionButtonPosition.before\n ? this.generateButton()\n : null,\n this.generateBeforeGlyph(),\n React.createElement(TextField, Object.assign({}, this.unhandledProps(), { disabled: get(this.props, \"disabled\", null), placeholder: get(this.props, \"placeholder\", null), jssStyleSheet: textFieldOverrides, onBlur: this.handleOnBlur, onFocus: this.handleOnFocus })),\n this.generateAfterGlyph(),\n this.buttonExists() &&\n this.props.buttonPosition === TextActionButtonPosition.after\n ? this.generateButton()\n : null));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { textAction, textAction__disabled, textAction__focus, } = this.props.managedClasses;\n return super.generateClassNames(classNames(textAction, [\n this.props.managedClasses[`textAction__${TextActionAppearance[this.props.appearance]}`],\n !!this.props.appearance,\n ], [textAction__disabled, this.props.disabled], [textAction__focus, this.state.focused]));\n }\n /**\n * Returns truthy if button exist\n */\n buttonExists() {\n return typeof this.props.button === \"function\";\n }\n /**\n * Generate button\n */\n generateButton() {\n return this.props.button(classNames(this.props.managedClasses.textAction_button), this.props.disabled);\n }\n /**\n * Generates after glyph based on props\n */\n generateAfterGlyph() {\n if (typeof this.props.afterGlyph === \"function\") {\n return this.props.afterGlyph(classNames(this.props.managedClasses.textAction_afterGlyph));\n }\n }\n /**\n * Generates before glyph based on props\n */\n generateBeforeGlyph() {\n if (typeof this.props.beforeGlyph === \"function\") {\n return this.props.beforeGlyph(classNames(this.props.managedClasses.textAction_beforeGlyph));\n }\n }\n}\nTextAction.displayName = `${DisplayNamePrefix}TextAction`;\nTextAction.defaultProps = {\n buttonPosition: TextActionButtonPosition.after,\n managedClasses: {},\n};\nexport default TextAction;\nexport * from \"./text-action.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { TextActionStyles } from \"@microsoft/fast-components-styles-msft\";\nimport textActionSchema from \"./text-action.schema\";\nimport textActionSchema2 from \"./text-action.schema.2\";\nimport { TextActionAppearance, TextActionButtonPosition, } from \"./text-action.props\";\nimport MSFTTextAction from \"./text-action\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst TextAction = manageJss(TextActionStyles)(MSFTTextAction);\nexport { TextAction, TextActionAppearance, TextActionButtonPosition, textActionSchema, textActionSchema2, };\n","export var TextFieldAppearance;\n(function (TextFieldAppearance) {\n TextFieldAppearance[\"filled\"] = \"filled\";\n TextFieldAppearance[\"outline\"] = \"outline\";\n})(TextFieldAppearance || (TextFieldAppearance = {}));\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { TextField as BaseTextField } from \"@microsoft/fast-components-react-base\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { TextFieldAppearance, } from \"./text-field.props\";\nclass TextField extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n appearance: void 0,\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(BaseTextField, Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), managedClasses: this.props.managedClasses })));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames([\n this.props.managedClasses[`textField__${TextFieldAppearance[this.props.appearance]}`],\n !!this.props.appearance,\n ]));\n }\n}\nTextField.displayName = `${DisplayNamePrefix}TextField`;\nTextField.defaultProps = {\n managedClasses: {},\n};\nexport default TextField;\nexport * from \"./text-field.props\";\n","import { TextFieldType } from \"@microsoft/fast-components-react-base\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { TextFieldStyles } from \"@microsoft/fast-components-styles-msft\";\nimport textFieldSchema from \"./text-field.schema\";\nimport MSFTTextField, { TextFieldAppearance, } from \"./text-field\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst TextField = manageJss(TextFieldStyles)(MSFTTextField);\nexport { TextField, TextFieldAppearance, textFieldSchema, TextFieldType, };\n","import { BaseAppender } from \"./BaseAppender\";\r\nimport { LogLevel } from \"../models/LogLevel\";\r\n/**\r\n * Class to represent an console appender.\r\n * @class\r\n */\r\nexport class ConsoleAppender extends BaseAppender {\r\n /**\r\n * Initializes a new instance of the `ConsoleAppender` class.\r\n * @constructor\r\n * @param logLevel {LogLevel} Logging level or threshold.\r\n * @param console {Console} The implementation of console to use.\r\n */\r\n constructor(logLevel, console) {\r\n super(logLevel);\r\n this.console = console;\r\n if (!(this.console && this.console.log)) {\r\n throw `${this.toString()} requires a Console to log to.`;\r\n }\r\n }\r\n /**\r\n * Returns a string representation of the appender.\r\n * @method\r\n * @return {string} The string representation of the appender.\r\n */\r\n toString() {\r\n return \"ConsoleAppender\";\r\n }\r\n /**\r\n * Appender specific method to append a log message. In this case, appender logs the message to the browser console.\r\n * @method\r\n * @param logItems {Array} The collection of log items.\r\n */\r\n log(logItems) {\r\n logItems.forEach((logItem) => {\r\n switch (logItem.LogLevel) {\r\n case LogLevel.Trace:\r\n this.console.trace(logItem.Message, logItem, logItem.LogDateTime);\r\n break;\r\n case LogLevel.Debug:\r\n this.console.debug(logItem.Message, logItem, logItem.LogDateTime);\r\n break;\r\n case LogLevel.Info:\r\n this.console.info(logItem.Message, logItem, logItem.LogDateTime);\r\n break;\r\n case LogLevel.Warn:\r\n this.console.warn(logItem.Message, logItem, logItem.LogDateTime);\r\n break;\r\n case LogLevel.Error:\r\n case LogLevel.Fatal:\r\n this.console.error(logItem.Message, logItem, logItem.LogDateTime);\r\n break;\r\n default:\r\n this.console.log(logItem.Message, logItem, logItem.LogDateTime);\r\n break;\r\n }\r\n });\r\n }\r\n}\r\n//# sourceMappingURL=ConsoleAppender.js.map","/**\r\n * Abstract class to appenders of the logging service.\r\n * @class\r\n */\r\nexport class BaseAppender {\r\n /**\r\n * Initializes a new instance of the `SampleAppender` class.\r\n * @constructor\r\n * @param logLevel {LogLevel} Logging level or threshold.\r\n */\r\n constructor(logLevel) {\r\n this.logLevel = logLevel;\r\n }\r\n /**\r\n * Appender specific method to append a log item.\r\n * @method\r\n * @param logItem {ILogItem} The log item containing log details.\r\n */\r\n append(logItem) {\r\n if (!(logItem && this.isEnabledFor(logItem.LogLevel))) {\r\n return;\r\n }\r\n this.log(new Array(logItem));\r\n }\r\n /**\r\n * Appender specific method to append collection of log items.\r\n * @method\r\n * @param logItems {Array} The collection of log items.\r\n */\r\n appendItems(logItems) {\r\n var allowedItems = logItems.filter(item => item && this.isEnabledFor(item.LogLevel));\r\n this.log(allowedItems);\r\n }\r\n /**\r\n * Sets the log level.\r\n * @method\r\n * @param logLevel {LogLevel} Logging level or threshold.\r\n */\r\n setLevel(logLevel) {\r\n this.logLevel = logLevel;\r\n }\r\n /**\r\n * Gets the log level.\r\n * @method\r\n * @returns {LogLevel} The Logging level or threshold.\r\n */\r\n getLevel() {\r\n return this.logLevel;\r\n }\r\n /**\r\n * Evaluates if the appender is enabled for the given log level.\r\n * @method\r\n * @param logLevel {LogLevel} The Logging level or threshold.\r\n * @returns {boolean} True, if the appender is enabled for the level. Otherwise, False.\r\n */\r\n isEnabledFor(logLevel) {\r\n // If log level threshold is greater than the given log level then it is enabled.\r\n return this.logLevel >= logLevel;\r\n }\r\n /**\r\n * Flushes the log items.\r\n * @method\r\n */\r\n flush() {\r\n // Do nothing\r\n }\r\n}\r\n//# sourceMappingURL=BaseAppender.js.map","import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n","import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n","import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\nfunction cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n}\n\nexport default cloneDeep;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]';\n\n/**\n * Checks if `value` is classified as a boolean primitive or 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 boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\nfunction isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n}\n\nexport default isBoolean;\n","import { toPx } from \"./units\";\nexport function applyMaxLines(lines, lineHeight) {\n return {\n overflow: \"hidden\",\n \"box-sizing\": \"content-box\",\n \"max-height\": toPx(lines * lineHeight),\n \"white-space\": lines === 1 ? \"nowrap\" : null,\n };\n}\n","import ReactDOM from \"react-dom\";\nimport { isNil } from \"lodash-es\";\n/**\n * extracts the html element or Text instance from React ref or simply returns html element passed in\n */\nexport function extractHtmlElement(sourceRef) {\n if (sourceRef instanceof HTMLElement) {\n return sourceRef;\n }\n if (!isNil(sourceRef.current)) {\n if (sourceRef.current instanceof HTMLElement) {\n return sourceRef.current;\n }\n /* eslint-disable-next-line react/no-find-dom-node */\n const foundNode = ReactDOM.findDOMNode(sourceRef.current);\n if (foundNode instanceof HTMLElement || foundNode instanceof Text) {\n return foundNode;\n }\n }\n return null;\n}\n","export function convertStylePropertyPixelsToNumber(computedStyle, property) {\n if (!computedStyle || !property) {\n return;\n }\n return parseInt(computedStyle\n .getPropertyValue(property)\n .substring(0, computedStyle.getPropertyValue(property).length - 2), 10);\n}\n/**\n * Gets the client bounding rectangle including any margins of an element.\n */\nexport function getClientRectWithMargin(element) {\n if (!element) {\n return;\n }\n const rect = element.getBoundingClientRect();\n const style = window.getComputedStyle(element, null);\n const clone = {\n width: rect.width,\n height: rect.height,\n top: rect.top,\n bottom: rect.bottom,\n left: rect.left,\n right: rect.right,\n };\n clone.width += convertStylePropertyPixelsToNumber(style, \"margin-left\");\n clone.width += convertStylePropertyPixelsToNumber(style, \"margin-right\");\n clone.height += convertStylePropertyPixelsToNumber(style, \"margin-top\");\n clone.height += convertStylePropertyPixelsToNumber(style, \"margin-bottom\");\n return clone;\n}\n","export function ellipsis() {\n return {\n \"white-space\": \"nowrap\",\n overflow: \"hidden\",\n \"text-overflow\": \"ellipsis\",\n };\n}\n","import baseIndexOf from './_baseIndexOf.js';\nimport toInteger from './toInteger.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\nfunction indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\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 baseIndexOf(array, value, index);\n}\n\nexport default indexOf;\n","import { setCurrentEvent, } from \"../observation/observable\";\nimport { Observable } from \"../observation/observable\";\nimport { DOM } from \"../dom\";\nimport { Directive } from \"./directive\";\nfunction normalBind(source, context) {\n this.source = source;\n this.context = context;\n if (this.bindingObserver === null) {\n this.bindingObserver = Observable.binding(this.binding, this, this.isBindingVolatile);\n }\n this.updateTarget(this.bindingObserver.observe(source, context));\n}\nfunction triggerBind(source, context) {\n this.source = source;\n this.context = context;\n this.target.addEventListener(this.targetName, this);\n}\nfunction normalUnbind() {\n this.bindingObserver.disconnect();\n this.source = null;\n this.context = null;\n}\nfunction contentUnbind() {\n this.bindingObserver.disconnect();\n this.source = null;\n this.context = null;\n const view = this.target.$fastView;\n if (view !== void 0 && view.isComposed) {\n view.unbind();\n view.needsBindOnly = true;\n }\n}\nfunction triggerUnbind() {\n this.target.removeEventListener(this.targetName, this);\n this.source = null;\n this.context = null;\n}\nfunction updateAttributeTarget(value) {\n DOM.setAttribute(this.target, this.targetName, value);\n}\nfunction updateBooleanAttributeTarget(value) {\n DOM.setBooleanAttribute(this.target, this.targetName, value);\n}\nfunction updateContentTarget(value) {\n // If there's no actual value, then this equates to the\n // empty string for the purposes of content bindings.\n if (value === null || value === undefined) {\n value = \"\";\n }\n // If the value has a \"create\" method, then it's a template-like.\n if (value.create) {\n this.target.textContent = \"\";\n let view = this.target.$fastView;\n // If there's no previous view that we might be able to\n // reuse then create a new view from the template.\n if (view === void 0) {\n view = value.create();\n }\n else {\n // If there is a previous view, but it wasn't created\n // from the same template as the new value, then we\n // need to remove the old view if it's still in the DOM\n // and create a new view from the template.\n if (this.target.$fastTemplate !== value) {\n if (view.isComposed) {\n view.remove();\n view.unbind();\n }\n view = value.create();\n }\n }\n // It's possible that the value is the same as the previous template\n // and that there's actually no need to compose it.\n if (!view.isComposed) {\n view.isComposed = true;\n view.bind(this.source, this.context);\n view.insertBefore(this.target);\n this.target.$fastView = view;\n this.target.$fastTemplate = value;\n }\n else if (view.needsBindOnly) {\n view.needsBindOnly = false;\n view.bind(this.source, this.context);\n }\n }\n else {\n const view = this.target.$fastView;\n // If there is a view and it's currently composed into\n // the DOM, then we need to remove it.\n if (view !== void 0 && view.isComposed) {\n view.isComposed = false;\n view.remove();\n if (view.needsBindOnly) {\n view.needsBindOnly = false;\n }\n else {\n view.unbind();\n }\n }\n this.target.textContent = value;\n }\n}\nfunction updatePropertyTarget(value) {\n this.target[this.targetName] = value;\n}\nfunction updateClassTarget(value) {\n const classVersions = this.classVersions || Object.create(null);\n const target = this.target;\n let version = this.version || 0;\n // Add the classes, tracking the version at which they were added.\n if (value !== null && value !== undefined && value.length) {\n const names = value.split(/\\s+/);\n for (let i = 0, ii = names.length; i < ii; ++i) {\n const currentName = names[i];\n if (currentName === \"\") {\n continue;\n }\n classVersions[currentName] = version;\n target.classList.add(currentName);\n }\n }\n this.classVersions = classVersions;\n this.version = version + 1;\n // If this is the first call to add classes, there's no need to remove old ones.\n if (version === 0) {\n return;\n }\n // Remove classes from the previous version.\n version -= 1;\n for (const name in classVersions) {\n if (classVersions[name] === version) {\n target.classList.remove(name);\n }\n }\n}\n/**\n * A directive that configures data binding to element content and attributes.\n * @public\n */\nexport class BindingDirective extends Directive {\n /**\n * Creates an instance of BindingDirective.\n * @param binding - A binding that returns the data used to update the DOM.\n */\n constructor(binding) {\n super();\n this.binding = binding;\n this.bind = normalBind;\n this.unbind = normalUnbind;\n this.updateTarget = updateAttributeTarget;\n /**\n * Creates a placeholder string based on the directive's index within the template.\n * @param index - The index of the directive within the template.\n */\n this.createPlaceholder = DOM.createInterpolationPlaceholder;\n this.isBindingVolatile = Observable.isVolatileBinding(this.bind);\n }\n /**\n * Gets/sets the name of the attribute or property that this\n * binding is targeting.\n */\n get targetName() {\n return this.originalTargetName;\n }\n set targetName(value) {\n this.originalTargetName = value;\n if (value === void 0) {\n return;\n }\n switch (value[0]) {\n case \":\":\n this.cleanedTargetName = value.substr(1);\n this.updateTarget = updatePropertyTarget;\n if (this.cleanedTargetName === \"innerHTML\") {\n const binding = this.binding;\n /* eslint-disable-next-line */\n this.binding = (s, c) => DOM.createHTML(binding(s, c));\n }\n break;\n case \"?\":\n this.cleanedTargetName = value.substr(1);\n this.updateTarget = updateBooleanAttributeTarget;\n break;\n case \"@\":\n this.cleanedTargetName = value.substr(1);\n this.bind = triggerBind;\n this.unbind = triggerUnbind;\n break;\n default:\n this.cleanedTargetName = value;\n if (value === \"class\") {\n this.updateTarget = updateClassTarget;\n }\n break;\n }\n }\n /**\n * Makes this binding target the content of an element rather than\n * a particular attribute or property.\n */\n targetAtContent() {\n this.updateTarget = updateContentTarget;\n this.unbind = contentUnbind;\n }\n /**\n * Creates the runtime BindingBehavior instance based on the configuration\n * information stored in the BindingDirective.\n * @param target - The target node that the binding behavior should attach to.\n */\n createBehavior(target) {\n /* eslint-disable-next-line @typescript-eslint/no-use-before-define */\n return new BindingBehavior(target, this.binding, this.isBindingVolatile, this.bind, this.unbind, this.updateTarget, this.cleanedTargetName);\n }\n}\n/**\n * A behavior that updates content and attributes based on a configured\n * BindingDirective.\n * @public\n */\nexport class BindingBehavior {\n /**\n * Creates an instance of BindingBehavior.\n * @param target - The target of the data updates.\n * @param binding - The binding that returns the latest value for an update.\n * @param isBindingVolatile - Indicates whether the binding has volatile dependencies.\n * @param bind - The operation to perform during binding.\n * @param unbind - The operation to perform during unbinding.\n * @param updateTarget - The operation to perform when updating.\n * @param targetName - The name of the target attribute or property to update.\n */\n constructor(target, binding, isBindingVolatile, bind, unbind, updateTarget, targetName) {\n /** @internal */\n this.source = null;\n /** @internal */\n this.context = null;\n /** @internal */\n this.bindingObserver = null;\n this.target = target;\n this.binding = binding;\n this.isBindingVolatile = isBindingVolatile;\n this.bind = bind;\n this.unbind = unbind;\n this.updateTarget = updateTarget;\n this.targetName = targetName;\n }\n /** @internal */\n handleChange() {\n this.updateTarget(this.bindingObserver.observe(this.source, this.context));\n }\n /** @internal */\n handleEvent(event) {\n setCurrentEvent(event);\n const result = this.binding(this.source, this.context);\n setCurrentEvent(null);\n if (result !== true) {\n event.preventDefault();\n }\n }\n}\n","import { DOM, _interpolationEnd, _interpolationStart } from \"./dom\";\nimport { BindingDirective } from \"./directives/binding\";\nconst compilationContext = { locatedDirectives: 0, targetIndex: -1 };\nfunction createAggregateBinding(parts) {\n if (parts.length === 1) {\n compilationContext.locatedDirectives++;\n return parts[0];\n }\n let targetName;\n const partCount = parts.length;\n const finalParts = parts.map((x) => {\n if (typeof x === \"string\") {\n return () => x;\n }\n targetName = x.targetName || targetName;\n compilationContext.locatedDirectives++;\n return x.binding;\n });\n const binding = (scope, context) => {\n let output = \"\";\n for (let i = 0; i < partCount; ++i) {\n output += finalParts[i](scope, context);\n }\n return output;\n };\n const directive = new BindingDirective(binding);\n directive.targetName = targetName;\n return directive;\n}\nconst interpolationEndLength = _interpolationEnd.length;\nfunction parseContent(value, directives) {\n const valueParts = value.split(_interpolationStart);\n if (valueParts.length === 1) {\n return null;\n }\n const bindingParts = [];\n for (let i = 0, ii = valueParts.length; i < ii; ++i) {\n const current = valueParts[i];\n const index = current.indexOf(_interpolationEnd);\n let literal;\n if (index === -1) {\n literal = current;\n }\n else {\n const directiveIndex = parseInt(current.substring(0, index));\n bindingParts.push(directives[directiveIndex]);\n literal = current.substring(index + interpolationEndLength);\n }\n if (literal !== \"\") {\n bindingParts.push(literal);\n }\n }\n return bindingParts;\n}\nfunction compileAttributes(node, directives, factories, includeBasicValues = false) {\n const attributes = node.attributes;\n for (let i = 0, ii = attributes.length; i < ii; ++i) {\n const attr = attributes[i];\n const attrValue = attr.value;\n const parseResult = parseContent(attrValue, directives);\n let result = null;\n if (parseResult === null) {\n if (includeBasicValues) {\n result = new BindingDirective(() => attrValue);\n result.targetName = attr.name;\n }\n }\n else {\n result = createAggregateBinding(parseResult);\n }\n if (result !== null) {\n node.removeAttributeNode(attr);\n i--;\n ii--;\n result.targetIndex = compilationContext.targetIndex;\n factories.push(result);\n }\n }\n}\nfunction captureContentBinding(directive, viewBehaviorFactories) {\n directive.targetAtContent();\n directive.targetIndex = compilationContext.targetIndex;\n viewBehaviorFactories.push(directive);\n compilationContext.locatedDirectives++;\n}\nfunction compileContent(node, directives, factories, walker) {\n const parseResult = parseContent(node.textContent, directives);\n if (parseResult !== null) {\n let lastNode = node;\n for (let i = 0, ii = parseResult.length; i < ii; ++i) {\n const currentPart = parseResult[i];\n const currentNode = i === 0\n ? node\n : lastNode.parentNode.insertBefore(document.createTextNode(\"\"), lastNode.nextSibling);\n if (typeof currentPart === \"string\") {\n currentNode.textContent = currentPart;\n }\n else {\n currentNode.textContent = \" \";\n captureContentBinding(currentPart, factories);\n }\n lastNode = currentNode;\n compilationContext.targetIndex++;\n if (currentNode !== node) {\n walker.nextNode();\n }\n }\n compilationContext.targetIndex--;\n }\n}\n/**\n * Compiles a template and associated directives into a raw compilation\n * result which include a cloneable DocumentFragment and factories capable\n * of attaching runtime behavior to nodes within the fragment.\n * @param template - The template to compile.\n * @param directives - The directives referenced by the template.\n * @remarks\n * The template that is provided for compilation is altered in-place\n * and cannot be compiled again. If the original template must be preserved,\n * it is recommended that you clone the original and pass the clone to this API.\n * @public\n */\nexport function compileTemplate(template, directives) {\n const hostBehaviorFactories = [];\n compilationContext.locatedDirectives = 0;\n compileAttributes(template, directives, hostBehaviorFactories, true);\n const fragment = template.content;\n const viewBehaviorFactories = [];\n const directiveCount = directives.length;\n const walker = DOM.createTemplateWalker(fragment);\n compilationContext.targetIndex = -1;\n while (compilationContext.locatedDirectives < directiveCount) {\n const node = walker.nextNode();\n if (node === null) {\n break;\n }\n compilationContext.targetIndex++;\n switch (node.nodeType) {\n case 1: // element node\n compileAttributes(node, directives, viewBehaviorFactories);\n break;\n case 3: // text node\n compileContent(node, directives, viewBehaviorFactories, walker);\n break;\n case 8: // comment\n if (DOM.isMarker(node)) {\n const directive = directives[DOM.extractDirectiveIndexFromMarker(node)];\n directive.targetIndex = compilationContext.targetIndex;\n compilationContext.locatedDirectives++;\n viewBehaviorFactories.push(directive);\n }\n }\n }\n let targetOffset = 0;\n if (DOM.isMarker(fragment.firstChild)) {\n // If the first node in a fragment is a marker, that means it's an unstable first node,\n // because something like a when, repeat, etc. could add nodes before the marker.\n // To mitigate this, we insert a stable first node. However, if we insert a node,\n // that will alter the result of the TreeWalker. So, we also need to offset the target index.\n fragment.insertBefore(document.createComment(\"\"), fragment.firstChild);\n targetOffset = -1;\n }\n return {\n fragment,\n viewBehaviorFactories,\n hostBehaviorFactories,\n targetOffset,\n };\n}\n","import { compileTemplate } from \"./template-compiler\";\nimport { HTMLView } from \"./view\";\nimport { DOM } from \"./dom\";\nimport { Directive } from \"./directives/directive\";\nimport { BindingDirective } from \"./directives/binding\";\nimport { defaultExecutionContext } from \"./observation/observable\";\n/**\n * A template capable of creating HTMLView instances or rendering directly to DOM.\n * @public\n */\nexport class ViewTemplate {\n /**\n * Creates an instance of ViewTemplate.\n * @param html - The html representing what this template will instantiate, including placeholders for directives.\n * @param directives - The directives that will be connected to placeholders in the html.\n */\n constructor(html, directives) {\n this.behaviorCount = 0;\n this.hasHostBehaviors = false;\n this.fragment = null;\n this.targetOffset = 0;\n this.viewBehaviorFactories = null;\n this.hostBehaviorFactories = null;\n this.html = html;\n this.directives = directives;\n }\n /**\n * Creates an HTMLView instance based on this template definition.\n * @param hostBindingTarget - The element that host behaviors will be bound to.\n */\n create(hostBindingTarget) {\n if (this.fragment === null) {\n let template;\n const html = this.html;\n if (typeof html === \"string\") {\n template = document.createElement(\"template\");\n template.innerHTML = DOM.createHTML(html);\n const fec = template.content.firstElementChild;\n if (fec !== null && fec.tagName === \"TEMPLATE\") {\n template = fec;\n }\n }\n else {\n template = html;\n }\n const result = compileTemplate(template, this.directives);\n this.fragment = result.fragment;\n this.viewBehaviorFactories = result.viewBehaviorFactories;\n this.hostBehaviorFactories = result.hostBehaviorFactories;\n this.targetOffset = result.targetOffset;\n this.behaviorCount =\n this.viewBehaviorFactories.length + this.hostBehaviorFactories.length;\n this.hasHostBehaviors = this.hostBehaviorFactories.length > 0;\n }\n const fragment = this.fragment.cloneNode(true);\n const viewFactories = this.viewBehaviorFactories;\n const behaviors = new Array(this.behaviorCount);\n const walker = DOM.createTemplateWalker(fragment);\n let behaviorIndex = 0;\n let targetIndex = this.targetOffset;\n let node = walker.nextNode();\n for (let ii = viewFactories.length; behaviorIndex < ii; ++behaviorIndex) {\n const factory = viewFactories[behaviorIndex];\n const factoryIndex = factory.targetIndex;\n while (node !== null) {\n if (targetIndex === factoryIndex) {\n behaviors[behaviorIndex] = factory.createBehavior(node);\n break;\n }\n else {\n node = walker.nextNode();\n targetIndex++;\n }\n }\n }\n if (this.hasHostBehaviors) {\n const hostFactories = this.hostBehaviorFactories;\n for (let i = 0, ii = hostFactories.length; i < ii; ++i, ++behaviorIndex) {\n behaviors[behaviorIndex] = hostFactories[i].createBehavior(hostBindingTarget);\n }\n }\n return new HTMLView(fragment, behaviors);\n }\n /**\n * Creates an HTMLView from this template, binds it to the source, and then appends it to the host.\n * @param source - The data source to bind the template to.\n * @param host - The Element where the template will be rendered.\n * @param hostBindingTarget - An HTML element to target the host bindings at if different from the\n * host that the template is being attached to.\n */\n render(source, host, hostBindingTarget) {\n if (typeof host === \"string\") {\n host = document.getElementById(host);\n }\n if (hostBindingTarget === void 0) {\n hostBindingTarget = host;\n }\n const view = this.create(hostBindingTarget);\n view.bind(source, defaultExecutionContext);\n view.appendTo(host);\n return view;\n }\n}\n// Much thanks to LitHTML for working this out!\nconst lastAttributeNameRegex = \n// eslint-disable-next-line no-control-regex\n/([ \\x09\\x0a\\x0c\\x0d])([^\\0-\\x1F\\x7F-\\x9F \"'>=/]+)([ \\x09\\x0a\\x0c\\x0d]*=[ \\x09\\x0a\\x0c\\x0d]*(?:[^ \\x09\\x0a\\x0c\\x0d\"'`<>=]*|\"[^\"]*|'[^']*))$/;\n/**\n * Transforms a template literal string into a renderable ViewTemplate.\n * @param strings - The string fragments that are interpolated with the values.\n * @param values - The values that are interpolated with the string fragments.\n * @remarks\n * The html helper supports interpolation of strings, numbers, binding expressions,\n * other template instances, and Directive instances.\n * @public\n */\nexport function html(strings, ...values) {\n const directives = [];\n let html = \"\";\n for (let i = 0, ii = strings.length - 1; i < ii; ++i) {\n const currentString = strings[i];\n let value = values[i];\n html += currentString;\n if (value instanceof ViewTemplate) {\n const template = value;\n value = () => template;\n }\n if (typeof value === \"function\") {\n value = new BindingDirective(value);\n const match = lastAttributeNameRegex.exec(currentString);\n if (match !== null) {\n value.targetName = match[2];\n }\n }\n if (value instanceof Directive) {\n // Since not all values are directives, we can't use i\n // as the index for the placeholder. Instead, we need to\n // use directives.length to get the next index.\n html += value.createPlaceholder(directives.length);\n directives.push(value);\n }\n else {\n html += value;\n }\n }\n html += strings[strings.length - 1];\n return new ViewTemplate(html, directives);\n}\n","/** @license React v16.8.6\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\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';var k=require(\"object-assign\"),n=\"function\"===typeof Symbol&&Symbol.for,p=n?Symbol.for(\"react.element\"):60103,q=n?Symbol.for(\"react.portal\"):60106,r=n?Symbol.for(\"react.fragment\"):60107,t=n?Symbol.for(\"react.strict_mode\"):60108,u=n?Symbol.for(\"react.profiler\"):60114,v=n?Symbol.for(\"react.provider\"):60109,w=n?Symbol.for(\"react.context\"):60110,x=n?Symbol.for(\"react.concurrent_mode\"):60111,y=n?Symbol.for(\"react.forward_ref\"):60112,z=n?Symbol.for(\"react.suspense\"):60113,aa=n?Symbol.for(\"react.memo\"):\n60115,ba=n?Symbol.for(\"react.lazy\"):60116,A=\"function\"===typeof Symbol&&Symbol.iterator;function ca(a,b,d,c,e,g,h,f){if(!a){a=void 0;if(void 0===b)a=Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[d,c,e,g,h,f],m=0;a=Error(b.replace(/%s/g,function(){return l[m++]}));a.name=\"Invariant Violation\"}a.framesToPop=1;throw a;}}\nfunction B(a){for(var b=arguments.length-1,d=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=0;cP.length&&P.push(a)}\nfunction S(a,b,d,c){var e=typeof a;if(\"undefined\"===e||\"boolean\"===e)a=null;var g=!1;if(null===a)g=!0;else switch(e){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case p:case q:g=!0}}if(g)return d(c,a,\"\"===b?\".\"+T(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var h=0;hthis.eventPool.length&&this.eventPool.push(a)}\nfunction hb(a){a.eventPool=[];a.getPooled=ib;a.release=jb}var kb=y.extend({data:null}),lb=y.extend({data:null}),mb=[9,13,27,32],nb=Ra&&\"CompositionEvent\"in window,ob=null;Ra&&\"documentMode\"in document&&(ob=document.documentMode);\nvar pb=Ra&&\"TextEvent\"in window&&!ob,qb=Ra&&(!nb||ob&&8=ob),rb=String.fromCharCode(32),sb={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},tb=!1;\nfunction ub(a,b){switch(a){case \"keyup\":return-1!==mb.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function vb(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var wb=!1;function xb(a,b){switch(a){case \"compositionend\":return vb(b);case \"keypress\":if(32!==b.which)return null;tb=!0;return rb;case \"textInput\":return a=b.data,a===rb&&tb?null:a;default:return null}}\nfunction yb(a,b){if(wb)return\"compositionend\"===a||!nb&&ub(a,b)?(a=eb(),db=cb=bb=null,wb=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1b}return!1}function C(a,b,c,d,e){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new C(a,0,!1,a,null)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new C(b,1,!1,a[1],null)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new C(a,2,!1,a.toLowerCase(),null)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new C(a,2,!1,a,null)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new C(a,3,!1,a.toLowerCase(),null)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new C(a,3,!0,a,null)});\n[\"capture\",\"download\"].forEach(function(a){D[a]=new C(a,4,!1,a,null)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new C(a,6,!1,a,null)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new C(a,5,!1,a.toLowerCase(),null)});var rc=/[\\-:]([a-z])/g;function sc(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(rc,\nsc);D[b]=new C(b,1,!1,a,null)});\"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,\"http://www.w3.org/1999/xlink\")});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\")});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new C(a,1,!1,a.toLowerCase(),null)});\nfunction tc(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2zd.length&&zd.push(a)}}}var Fd={},Gd=0,Hd=\"_reactListenersID\"+(\"\"+Math.random()).slice(2);\nfunction Id(a){Object.prototype.hasOwnProperty.call(a,Hd)||(a[Hd]=Gd++,Fd[a[Hd]]={});return Fd[a[Hd]]}function Jd(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function Kd(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ld(a,b){var c=Kd(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Kd(c)}}function Md(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Md(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Nd(){for(var a=window,b=Jd();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Jd(a.document)}return b}function Od(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Pd(){var a=Nd();if(Od(a)){if(\"selectionStart\"in a)var b={start:a.selectionStart,end:a.selectionEnd};else a:{b=(b=a.ownerDocument)&&b.defaultView||window;var c=b.getSelection&&b.getSelection();if(c&&0!==c.rangeCount){b=c.anchorNode;var d=c.anchorOffset,e=c.focusNode;c=c.focusOffset;try{b.nodeType,e.nodeType}catch(A){b=null;break a}var f=0,g=-1,h=-1,l=0,k=0,m=a,p=null;b:for(;;){for(var t;;){m!==b||0!==d&&3!==m.nodeType||(g=f+d);m!==e||0!==c&&3!==m.nodeType||(h=f+c);3===m.nodeType&&(f+=m.nodeValue.length);\nif(null===(t=m.firstChild))break;p=m;m=t}for(;;){if(m===a)break b;p===b&&++l===d&&(g=f);p===e&&++k===c&&(h=f);if(null!==(t=m.nextSibling))break;m=p;p=m.parentNode}m=t}b=-1===g||-1===h?null:{start:g,end:h}}else b=null}b=b||{start:0,end:0}}else b=null;return{focusedElem:a,selectionRange:b}}\nfunction Qd(a){var b=Nd(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Md(c.ownerDocument.documentElement,c)){if(null!==d&&Od(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ld(c,f);var g=Ld(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Sd={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},Td=null,Ud=null,Vd=null,Wd=!1;\nfunction Xd(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(Wd||null==Td||Td!==Jd(c))return null;c=Td;\"selectionStart\"in c&&Od(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return Vd&&dd(Vd,c)?null:(Vd=c,a=y.getPooled(Sd.select,Ud,a,b),a.type=\"select\",a.target=Td,Qa(a),a)}\nvar Yd={eventTypes:Sd,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Id(e);f=sa.onSelect;for(var g=0;g=b.length?void 0:x(\"93\"),b=b[0]),c=b),null==c&&(c=\"\"));a._wrapperState={initialValue:uc(c)}}\nfunction de(a,b){var c=uc(b.value),d=uc(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function ee(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var fe={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction ge(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function he(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?ge(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar ie=void 0,je=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==fe.svg||\"innerHTML\"in a)a.innerHTML=b;else{ie=ie||document.createElement(\"div\");ie.innerHTML=\"\"+b+\"\";for(b=ie.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ke(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar le={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(le).forEach(function(a){me.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);le[b]=le[a]})});function ne(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||le.hasOwnProperty(a)&&le[a]?(\"\"+b).trim():b+\"px\"}\nfunction oe(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ne(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var pe=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction qe(a,b){b&&(pe[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?x(\"137\",a,\"\"):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?x(\"60\"):void 0,\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML?void 0:x(\"61\")),null!=b.style&&\"object\"!==typeof b.style?x(\"62\",\"\"):void 0)}\nfunction re(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}\nfunction se(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Id(a);b=sa[b];for(var d=0;dGe||(a.current=Fe[Ge],Fe[Ge]=null,Ge--)}function G(a,b){Ge++;Fe[Ge]=a.current;a.current=b}var He={},H={current:He},I={current:!1},Ie=He;\nfunction Je(a,b){var c=a.type.contextTypes;if(!c)return He;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function J(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Ke(a){F(I,a);F(H,a)}function Le(a){F(I,a);F(H,a)}\nfunction Me(a,b,c){H.current!==He?x(\"168\"):void 0;G(H,b,a);G(I,c,a)}function Ne(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)e in a?void 0:x(\"108\",ic(b)||\"Unknown\",e);return n({},c,d)}function Oe(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||He;Ie=H.current;G(H,b,a);G(I,I.current,a);return!0}\nfunction Pe(a,b,c){var d=a.stateNode;d?void 0:x(\"169\");c?(b=Ne(a,b,Ie),d.__reactInternalMemoizedMergedChildContext=b,F(I,a),F(H,a),G(H,b,a)):F(I,a);G(I,c,a)}var Qe=null,Re=null;function Se(a){return function(b){try{return a(b)}catch(c){}}}\nfunction Te(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Qe=Se(function(a){return b.onCommitFiberRoot(c,a)});Re=Se(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}\nfunction Ue(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.contextDependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function K(a,b,c,d){return new Ue(a,b,c,d)}\nfunction Ve(a){a=a.prototype;return!(!a||!a.isReactComponent)}function We(a){if(\"function\"===typeof a)return Ve(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===cc)return 11;if(a===ec)return 14}return 2}\nfunction Xe(a,b){var c=a.alternate;null===c?(c=K(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;c.contextDependencies=a.contextDependencies;c.sibling=a.sibling;\nc.index=a.index;c.ref=a.ref;return c}\nfunction Ye(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)Ve(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case Xb:return Ze(c.children,e,f,b);case bc:return $e(c,e|3,f,b);case Yb:return $e(c,e|2,f,b);case Zb:return a=K(12,c,b,e|4),a.elementType=Zb,a.type=Zb,a.expirationTime=f,a;case dc:return a=K(13,c,b,e),a.elementType=dc,a.type=dc,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case $b:g=10;break a;case ac:g=9;break a;case cc:g=11;break a;case ec:g=\n14;break a;case fc:g=16;d=null;break a}x(\"130\",null==a?a:typeof a,\"\")}b=K(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Ze(a,b,c,d){a=K(7,a,d,b);a.expirationTime=c;return a}function $e(a,b,c,d){a=K(8,a,d,b);b=0===(b&1)?Yb:bc;a.elementType=b;a.type=b;a.expirationTime=c;return a}function af(a,b,c){a=K(6,a,null,b);a.expirationTime=c;return a}\nfunction bf(a,b,c){b=K(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}function cf(a,b){a.didError=!1;var c=a.earliestPendingTime;0===c?a.earliestPendingTime=a.latestPendingTime=b:cb&&(a.latestPendingTime=b);df(b,a)}\nfunction ef(a,b){a.didError=!1;if(0===b)a.earliestPendingTime=0,a.latestPendingTime=0,a.earliestSuspendedTime=0,a.latestSuspendedTime=0,a.latestPingedTime=0;else{bb?a.earliestPendingTime=a.latestPendingTime=0:a.earliestPendingTime>b&&(a.earliestPendingTime=a.latestPendingTime));c=a.earliestSuspendedTime;0===c?cf(a,b):bc&&cf(a,b)}df(0,a)}function ff(a,b){a.didError=!1;a.latestPingedTime>=b&&(a.latestPingedTime=0);var c=a.earliestPendingTime,d=a.latestPendingTime;c===b?a.earliestPendingTime=d===b?a.latestPendingTime=0:d:d===b&&(a.latestPendingTime=c);c=a.earliestSuspendedTime;d=a.latestSuspendedTime;0===c?a.earliestSuspendedTime=a.latestSuspendedTime=b:cb&&(a.latestSuspendedTime=b);df(b,a)}\nfunction gf(a,b){var c=a.earliestPendingTime;a=a.earliestSuspendedTime;c>b&&(b=c);a>b&&(b=a);return b}function df(a,b){var c=b.earliestSuspendedTime,d=b.latestSuspendedTime,e=b.earliestPendingTime,f=b.latestPingedTime;e=0!==e?e:f;0===e&&(0===a||da&&(a=c);b.nextExpirationTimeToWorkOn=e;b.expirationTime=a}function L(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}\nfunction hf(a){var b=a._result;switch(a._status){case 1:return b;case 2:throw b;case 0:throw b;default:a._status=0;b=a._ctor;b=b();b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)});switch(a._status){case 1:return a._result;case 2:throw a._result;}a._result=b;throw b;}}var jf=(new aa.Component).refs;\nfunction kf(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;d=a.updateQueue;null!==d&&0===a.expirationTime&&(d.baseState=c)}\nvar tf={isMounted:function(a){return(a=a._reactInternalFiber)?2===ed(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.tag=rf;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=lf();c=mf(c,a);var d=nf(c);d.tag=\nsf;void 0!==b&&null!==b&&(d.callback=b);of();pf(a,d);qf(a,c)}};function uf(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!dd(c,d)||!dd(e,f):!0}\nfunction vf(a,b,c){var d=!1,e=He;var f=b.contextType;\"object\"===typeof f&&null!==f?f=M(f):(e=J(b)?Ie:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Je(a,e):He);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=tf;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction wf(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&tf.enqueueReplaceState(b,b.state,null)}\nfunction xf(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jf;var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=M(f):(f=J(b)?Ie:H.current,e.context=Je(a,f));f=a.updateQueue;null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState);f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kf(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==\ntypeof e.componentWillMount||(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&tf.enqueueReplaceState(e,e.state,null),f=a.updateQueue,null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState));\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var zf=Array.isArray;\nfunction Af(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;var d=void 0;c&&(1!==c.tag?x(\"309\"):void 0,d=c.stateNode);d?void 0:x(\"147\",a);var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===jf&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}\"string\"!==typeof a?x(\"284\"):void 0;c._owner?void 0:x(\"290\",a)}return a}\nfunction Bf(a,b){\"textarea\"!==a.type&&x(\"31\",\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\")}\nfunction Cf(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=Xe(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,du?(B=q,q=null):B=q.sibling;var w=t(e,q,h[u],k);if(null===w){null===q&&(q=B);break}a&&\nq&&null===w.alternate&&b(e,q);g=f(w,g,u);null===m?l=w:m.sibling=w;m=w;q=B}if(u===h.length)return c(e,q),l;if(null===q){for(;uu?(B=q,q=null):B=q.sibling;var v=t(e,q,w.value,k);if(null===v){q||(q=B);break}a&&q&&null===v.alternate&&b(e,q);g=f(v,g,u);null===m?l=v:m.sibling=v;m=v;q=B}if(w.done)return c(e,q),l;if(null===q){for(;!w.done;u++,w=h.next())w=p(e,w.value,k),null!==w&&(g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);return l}for(q=d(e,q);!w.done;u++,w=h.next())w=A(q,e,u,w.value,k),null!==w&&(a&&null!==w.alternate&&q.delete(null===w.key?u:\nw.key),g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);a&&q.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===Xb&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Vb:a:{l=f.key;for(k=d;null!==k;){if(k.key===l)if(7===k.tag?f.type===Xb:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Xb?f.props.children:f.props,h);d.ref=Af(a,k,f);d.return=a;a=d;break a}else{c(a,k);break}else b(a,k);k=\nk.sibling}f.type===Xb?(d=Ze(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ye(f.type,f.key,f.props,null,a.mode,h),h.ref=Af(a,d,f),h.return=a,a=h)}return g(a);case Wb:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=bf(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\n\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=af(f,a.mode,h),d.return=a,a=d),g(a);if(zf(f))return v(a,d,f,h);if(hc(f))return R(a,d,f,h);l&&Bf(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:h=a.type,x(\"152\",h.displayName||h.name||\"Component\")}return c(a,d)}}var Df=Cf(!0),Ef=Cf(!1),Ff={},N={current:Ff},Gf={current:Ff},Hf={current:Ff};function If(a){a===Ff?x(\"174\"):void 0;return a}\nfunction Jf(a,b){G(Hf,b,a);G(Gf,a,a);G(N,Ff,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:he(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=he(b,c)}F(N,a);G(N,b,a)}function Kf(a){F(N,a);F(Gf,a);F(Hf,a)}function Lf(a){If(Hf.current);var b=If(N.current);var c=he(b,a.type);b!==c&&(G(Gf,a,a),G(N,c,a))}function Mf(a){Gf.current===a&&(F(N,a),F(Gf,a))}\nvar Nf=0,Of=2,Pf=4,Qf=8,Rf=16,Sf=32,Tf=64,Uf=128,Vf=Tb.ReactCurrentDispatcher,Wf=0,Xf=null,O=null,P=null,Yf=null,Q=null,Zf=null,$f=0,ag=null,bg=0,cg=!1,dg=null,eg=0;function fg(){x(\"321\")}function gg(a,b){if(null===b)return!1;for(var c=0;c$f&&($f=m)):f=l.eagerReducer===a?l.eagerState:a(f,l.action);g=l;l=l.next}while(null!==l&&l!==d);k||(h=g,e=f);bd(f,b.memoizedState)||(qg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.lastRenderedState=f}return[b.memoizedState,c.dispatch]}\nfunction rg(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===ag?(ag={lastEffect:null},ag.lastEffect=a.next=a):(b=ag.lastEffect,null===b?ag.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,ag.lastEffect=a));return a}function sg(a,b,c,d){var e=mg();bg|=a;e.memoizedState=rg(b,c,void 0,void 0===d?null:d)}\nfunction tg(a,b,c,d){var e=ng();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&gg(d,g.deps)){rg(Nf,c,f,d);return}}bg|=a;e.memoizedState=rg(b,c,f,d)}function ug(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function vg(){}\nfunction wg(a,b,c){25>eg?void 0:x(\"301\");var d=a.alternate;if(a===Xf||null!==d&&d===Xf)if(cg=!0,a={expirationTime:Wf,action:c,eagerReducer:null,eagerState:null,next:null},null===dg&&(dg=new Map),c=dg.get(b),void 0===c)dg.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{of();var e=lf();e=mf(e,a);var f={expirationTime:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null===\nd||0===d.expirationTime)&&(d=b.lastRenderedReducer,null!==d))try{var l=b.lastRenderedState,k=d(l,c);f.eagerReducer=d;f.eagerState=k;if(bd(k,l))return}catch(m){}finally{}qf(a,e)}}\nvar kg={readContext:M,useCallback:fg,useContext:fg,useEffect:fg,useImperativeHandle:fg,useLayoutEffect:fg,useMemo:fg,useReducer:fg,useRef:fg,useState:fg,useDebugValue:fg},ig={readContext:M,useCallback:function(a,b){mg().memoizedState=[a,void 0===b?null:b];return a},useContext:M,useEffect:function(a,b){return sg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return sg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,b){return sg(4,Pf|Sf,a,b)},\nuseMemo:function(a,b){var c=mg();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=mg();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=wg.bind(null,Xf,a);return[d.memoizedState,a]},useRef:function(a){var b=mg();a={current:a};return b.memoizedState=a},useState:function(a){var b=mg();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,dispatch:null,\nlastRenderedReducer:og,lastRenderedState:a};a=a.dispatch=wg.bind(null,Xf,a);return[b.memoizedState,a]},useDebugValue:vg},jg={readContext:M,useCallback:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];c.memoizedState=[a,b];return a},useContext:M,useEffect:function(a,b){return tg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return tg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,\nb){return tg(4,Pf|Sf,a,b)},useMemo:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:pg,useRef:function(){return ng().memoizedState},useState:function(a){return pg(og,a)},useDebugValue:vg},xg=null,yg=null,zg=!1;\nfunction Ag(a,b){var c=K(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function Bg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Cg(a){if(zg){var b=yg;if(b){var c=b;if(!Bg(a,b)){b=De(c);if(!b||!Bg(a,b)){a.effectTag|=2;zg=!1;xg=a;return}Ag(xg,c)}xg=a;yg=Ee(b)}else a.effectTag|=2,zg=!1,xg=a}}function Dg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&18!==a.tag;)a=a.return;xg=a}function Eg(a){if(a!==xg)return!1;if(!zg)return Dg(a),zg=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!xe(b,a.memoizedProps))for(b=yg;b;)Ag(a,b),b=De(b);Dg(a);yg=xg?De(a.stateNode):null;return!0}function Fg(){yg=xg=null;zg=!1}\nvar Gg=Tb.ReactCurrentOwner,qg=!1;function S(a,b,c,d){b.child=null===a?Ef(b,null,c,d):Df(b,a.child,c,d)}function Hg(a,b,c,d,e){c=c.render;var f=b.ref;Ig(b,e);d=hg(a,b,c,d,f,e);if(null!==a&&!qg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),Jg(a,b,e);b.effectTag|=1;S(a,b,d,e);return b.child}\nfunction Kg(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!Ve(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,Lg(a,b,g,d,e,f);a=Ye(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e=c)return Sg(a,b,c);b=Jg(a,b,c);return null!==b?b.sibling:null}}return Jg(a,b,c)}}else qg=!1;b.expirationTime=0;switch(b.tag){case 2:d=\nb.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;var e=Je(b,H.current);Ig(b,c);e=hg(null,b,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;lg();if(J(d)){var f=!0;Oe(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;\"function\"===typeof g&&kf(b,d,g,a);e.updater=tf;b.stateNode=e;e._reactInternalFiber=b;xf(b,d,a,c);b=Qg(null,b,d,!0,f,\nc)}else b.tag=0,S(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);f=b.pendingProps;a=hf(e);b.type=a;e=b.tag=We(a);f=L(a,f);g=void 0;switch(e){case 0:g=Mg(null,b,a,f,c);break;case 1:g=Og(null,b,a,f,c);break;case 11:g=Hg(null,b,a,f,c);break;case 14:g=Kg(null,b,a,L(a.type,f),d,c);break;default:x(\"306\",a,\"\")}return g;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Mg(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,\ne=b.elementType===d?e:L(d,e),Og(a,b,d,e,c);case 3:Rg(b);d=b.updateQueue;null===d?x(\"282\"):void 0;e=b.memoizedState;e=null!==e?e.element:null;yf(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)Fg(),b=Jg(a,b,c);else{e=b.stateNode;if(e=(null===a||null===a.child)&&e.hydrate)yg=Ee(b.stateNode.containerInfo),xg=b,e=zg=!0;e?(b.effectTag|=2,b.child=Ef(b,null,d,c)):(S(a,b,d,c),Fg());b=b.child}return b;case 5:return Lf(b),null===a&&Cg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,\ng=e.children,xe(d,e)?g=null:null!==f&&xe(d,f)&&(b.effectTag|=16),Ng(a,b),1!==c&&b.mode&1&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(S(a,b,g,c),b=b.child),b;case 6:return null===a&&Cg(b),null;case 13:return Sg(a,b,c);case 4:return Jf(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Df(b,null,d,c):S(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Hg(a,b,d,e,c);case 7:return S(a,b,b.pendingProps,c),b.child;case 8:return S(a,b,b.pendingProps.children,\nc),b.child;case 12:return S(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;Ug(b,f);if(null!==g){var h=g.value;f=bd(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!I.current){b=Jg(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var l=h.contextDependencies;if(null!==l){g=h.child;for(var k=l.first;null!==k;){if(k.context===d&&0!==\n(k.observedBits&f)){1===h.tag&&(k=nf(c),k.tag=sf,pf(h,k));h.expirationTime=b&&(qg=!0);a.contextDependencies=null}\nfunction M(a,b){if(Yg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)Yg=a,b=1073741823;b={context:a,observedBits:b,next:null};null===Xg?(null===Wg?x(\"308\"):void 0,Xg=b,Wg.contextDependencies={first:b,expirationTime:0}):Xg=Xg.next=b}return a._currentValue}var $g=0,rf=1,sf=2,ah=3,Pg=!1;function bh(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction ch(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function nf(a){return{expirationTime:a,tag:$g,payload:null,callback:null,next:null,nextEffect:null}}function dh(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}\nfunction pf(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=bh(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=bh(a.memoizedState),e=c.updateQueue=bh(c.memoizedState)):d=a.updateQueue=ch(e):null===e&&(e=c.updateQueue=ch(d));null===e||d===e?dh(d,b):null===d.lastUpdate||null===e.lastUpdate?(dh(d,b),dh(e,b)):(dh(d,b),e.lastUpdate=b)}\nfunction eh(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=bh(a.memoizedState):fh(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function fh(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=ch(b));return b}\nfunction gh(a,b,c,d,e,f){switch(c.tag){case rf:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case ah:a.effectTag=a.effectTag&-2049|64;case $g:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case sf:Pg=!0}return d}\nfunction yf(a,b,c,d,e){Pg=!1;b=fh(a,b);for(var f=b.baseState,g=null,h=0,l=b.firstUpdate,k=f;null!==l;){var m=l.expirationTime;md?e:d);Ih.current=null;d=void 0;1c?b:c;0===b&&(Fh=null);$h(a,b)}\nfunction ai(a){for(;;){var b=a.alternate,c=a.return,d=a.sibling;if(0===(a.effectTag&1024)){T=a;a:{var e=b;b=a;var f=U;var g=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:J(b.type)&&Ke(b);break;case 3:Kf(b);Le(b);g=b.stateNode;g.pendingContext&&(g.context=g.pendingContext,g.pendingContext=null);if(null===e||null===e.child)Eg(b),b.effectTag&=-3;mh(b);break;case 5:Mf(b);var h=If(Hf.current);f=b.type;if(null!==e&&null!=b.stateNode)nh(e,b,f,g,h),e.ref!==b.ref&&(b.effectTag|=\n128);else if(g){var l=If(N.current);if(Eg(b)){g=b;e=g.stateNode;var k=g.type,m=g.memoizedProps,p=h;e[Fa]=g;e[Ga]=m;f=void 0;h=k;switch(h){case \"iframe\":case \"object\":E(\"load\",e);break;case \"video\":case \"audio\":for(k=0;k\\x3c/script>\",k=e.removeChild(e.firstChild)):\"string\"===typeof e.is?k=k.createElement(p,{is:e.is}):(k=k.createElement(p),\"select\"===p&&(p=k,e.multiple?p.multiple=!0:e.size&&(p.size=e.size))):k=k.createElementNS(l,p);e=k;e[Fa]=m;e[Ga]=g;lh(e,b,!1,!1);p=e;k=f;m=g;var t=h,A=re(k,m);switch(k){case \"iframe\":case \"object\":E(\"load\",\np);h=m;break;case \"video\":case \"audio\":for(h=0;hg&&(g=e),h>g&&(g=h),f=f.sibling;b.childExpirationTime=g}if(null!==T)return T;null!==c&&0===(c.effectTag&1024)&&(null===c.firstEffect&&\n(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1=v)t=0;else if(-1===t||v component higher in the tree to provide a loading indicator or placeholder to display.\"+jc(k))}Nh=!0;m=jh(m,k);h=l;do{switch(h.tag){case 3:h.effectTag|=2048;h.expirationTime=g;g=Ch(h,m,g);eh(h,g);break a;case 1:if(t=m,A=h.type,k=h.stateNode,0===(h.effectTag&64)&&(\"function\"===typeof A.getDerivedStateFromError||null!==k&&\"function\"===typeof k.componentDidCatch&&(null===Fh||!Fh.has(k)))){h.effectTag|=2048;\nh.expirationTime=g;g=Eh(h,t,g);eh(h,g);break a}}h=h.return}while(null!==h)}T=ai(f);continue}}}break}while(1);Kh=!1;Hh.current=c;Yg=Xg=Wg=null;lg();if(e)Lh=null,a.finishedWork=null;else if(null!==T)a.finishedWork=null;else{c=a.current.alternate;null===c?x(\"281\"):void 0;Lh=null;if(Nh){e=a.latestPendingTime;f=a.latestSuspendedTime;g=a.latestPingedTime;if(0!==e&&eb?0:b)):(a.pendingCommitExpirationTime=d,a.finishedWork=c)}}\nfunction sh(a,b){for(var c=a.return;null!==c;){switch(c.tag){case 1:var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Fh||!Fh.has(d))){a=jh(b,a);a=Eh(c,a,1073741823);pf(c,a);qf(c,1073741823);return}break;case 3:a=jh(b,a);a=Ch(c,a,1073741823);pf(c,a);qf(c,1073741823);return}c=c.return}3===a.tag&&(c=jh(b,a),c=Ch(a,c,1073741823),pf(a,c),qf(a,1073741823))}\nfunction mf(a,b){var c=r.unstable_getCurrentPriorityLevel(),d=void 0;if(0===(b.mode&1))d=1073741823;else if(Kh&&!Oh)d=U;else{switch(c){case r.unstable_ImmediatePriority:d=1073741823;break;case r.unstable_UserBlockingPriority:d=1073741822-10*(((1073741822-a+15)/10|0)+1);break;case r.unstable_NormalPriority:d=1073741822-25*(((1073741822-a+500)/25|0)+1);break;case r.unstable_LowPriority:case r.unstable_IdlePriority:d=1;break;default:x(\"313\")}null!==Lh&&d===U&&--d}c===r.unstable_UserBlockingPriority&&\n(0===gi||d=d){a.didError=!1;b=a.latestPingedTime;if(0===b||b>c)a.latestPingedTime=c;df(c,a);c=a.expirationTime;0!==c&&Xh(a,c)}}function Ah(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=lf();b=mf(b,a);a=hi(a,b);null!==a&&(cf(a,b),b=a.expirationTime,0!==b&&Xh(a,b))}\nfunction hi(a,b){a.expirationTimeU&&Sh(),cf(a,b),Kh&&!Oh&&Lh===a||Xh(a,a.expirationTime),ii>ji&&(ii=0,x(\"185\")))}function ki(a,b,c,d,e){return r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){return a(b,c,d,e)})}var li=null,Y=null,mi=0,ni=void 0,W=!1,oi=null,Z=0,gi=0,pi=!1,qi=null,X=!1,ri=!1,si=null,ti=r.unstable_now(),ui=1073741822-(ti/10|0),vi=ui,ji=50,ii=0,wi=null;function xi(){ui=1073741822-((r.unstable_now()-ti)/10|0)}\nfunction yi(a,b){if(0!==mi){if(ba.expirationTime&&(a.expirationTime=b);W||(X?ri&&(oi=a,Z=1073741823,Di(a,1073741823,!1)):1073741823===b?Yh(1073741823,!1):yi(a,b))}\nfunction Ci(){var a=0,b=null;if(null!==Y)for(var c=Y,d=li;null!==d;){var e=d.expirationTime;if(0===e){null===c||null===Y?x(\"244\"):void 0;if(d===d.nextScheduledRoot){li=Y=d.nextScheduledRoot=null;break}else if(d===li)li=e=d.nextScheduledRoot,Y.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===Y){Y=c;Y.nextScheduledRoot=li;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{e>a&&(a=e,b=d);if(d===Y)break;if(1073741823===\na)break;c=d;d=d.nextScheduledRoot}}oi=b;Z=a}var Ei=!1;function di(){return Ei?!0:r.unstable_shouldYield()?Ei=!0:!1}function zi(){try{if(!di()&&null!==li){xi();var a=li;do{var b=a.expirationTime;0!==b&&ui<=b&&(a.nextExpirationTimeToWorkOn=ui);a=a.nextScheduledRoot}while(a!==li)}Yh(0,!0)}finally{Ei=!1}}\nfunction Yh(a,b){Ci();if(b)for(xi(),vi=ui;null!==oi&&0!==Z&&a<=Z&&!(Ei&&ui>Z);)Di(oi,Z,ui>Z),Ci(),xi(),vi=ui;else for(;null!==oi&&0!==Z&&a<=Z;)Di(oi,Z,!1),Ci();b&&(mi=0,ni=null);0!==Z&&yi(oi,Z);ii=0;wi=null;if(null!==si)for(a=si,si=null,b=0;b=c&&(null===si?si=[d]:si.push(d),d._defer)){a.finishedWork=b;a.expirationTime=0;return}a.finishedWork=null;a===wi?ii++:(wi=a,ii=0);r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){Zh(a,b)})}function Dh(a){null===oi?x(\"246\"):void 0;oi.expirationTime=0;pi||(pi=!0,qi=a)}function Gi(a,b){var c=X;X=!0;try{return a(b)}finally{(X=c)||W||Yh(1073741823,!1)}}\nfunction Hi(a,b){if(X&&!ri){ri=!0;try{return a(b)}finally{ri=!1}}return a(b)}function Ii(a,b,c){X||W||0===gi||(Yh(gi,!1),gi=0);var d=X;X=!0;try{return r.unstable_runWithPriority(r.unstable_UserBlockingPriority,function(){return a(b,c)})}finally{(X=d)||W||Yh(1073741823,!1)}}\nfunction Ji(a,b,c,d,e){var f=b.current;a:if(c){c=c._reactInternalFiber;b:{2===ed(c)&&1===c.tag?void 0:x(\"170\");var g=c;do{switch(g.tag){case 3:g=g.stateNode.context;break b;case 1:if(J(g.type)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}}g=g.return}while(null!==g);x(\"171\");g=void 0}if(1===c.tag){var h=c.type;if(J(h)){c=Ne(c,h,g);break a}}c=g}else c=He;null===b.context?b.context=c:b.pendingContext=c;b=e;e=nf(d);e.payload={element:a};b=void 0===b?null:b;null!==b&&(e.callback=b);\nof();pf(f,e);qf(f,d);return d}function Ki(a,b,c,d){var e=b.current,f=lf();e=mf(f,e);return Ji(a,b,c,e,d)}function Li(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function Mi(a,b,c){var d=3=Jh&&(b=Jh-1);this._expirationTime=Jh=b;this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}Ni.prototype.render=function(a){this._defer?void 0:x(\"250\");this._hasChildren=!0;this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new Oi;Ji(a,b,null,c,d._onCommit);return d};\nNi.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};\nNi.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;this._defer&&null!==b?void 0:x(\"251\");if(this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;null===d?x(\"251\"):void 0;d._next=e._next;this._next=b;a.firstBatch=this}this._defer=!1;Bi(a,c);b=this._next;this._next=null;b=a.firstBatch=b;null!==b&&b._hasChildren&&b.render(b._children)}else this._next=\nnull,this._defer=!1};Ni.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function Qi(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}Gb=Gi;Hb=Ii;Ib=function(){W||0===gi||(Yh(gi,!1),gi=0)};\nfunction Ri(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new Pi(a,!1,b)}\nfunction Si(a,b,c,d,e){var f=c._reactRootContainer;if(f){if(\"function\"===typeof e){var g=e;e=function(){var a=Li(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{f=c._reactRootContainer=Ri(c,d);if(\"function\"===typeof e){var h=e;e=function(){var a=Li(f._internalRoot);h.call(a)}}Hi(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return Li(f._internalRoot)}\nfunction Ti(a,b){var c=2=b){c=a;break}a=a.next}while(a!==d);null===c?c=d:c===d&&(d=h,p());b=c.previous;b.next=c.previous=h;h.next=c;h.previous=\nb}}function v(){if(-1===k&&null!==d&&1===d.priorityLevel){m=!0;try{do u();while(null!==d&&1===d.priorityLevel)}finally{m=!1,null!==d?p():n=!1}}}function t(a){m=!0;var b=e;e=a;try{if(a)for(;null!==d;){var c=exports.unstable_now();if(d.expirationTime<=c){do u();while(null!==d&&d.expirationTime<=c)}else break}else if(null!==d){do u();while(null!==d&&!w())}}finally{m=!1,e=b,null!==d?p():n=!1,v()}}\nvar x=Date,y=\"function\"===typeof setTimeout?setTimeout:void 0,z=\"function\"===typeof clearTimeout?clearTimeout:void 0,A=\"function\"===typeof requestAnimationFrame?requestAnimationFrame:void 0,B=\"function\"===typeof cancelAnimationFrame?cancelAnimationFrame:void 0,C,D;function E(a){C=A(function(b){z(D);a(b)});D=y(function(){B(C);a(exports.unstable_now())},100)}\nif(\"object\"===typeof performance&&\"function\"===typeof performance.now){var F=performance;exports.unstable_now=function(){return F.now()}}else exports.unstable_now=function(){return x.now()};var r,q,w,G=null;\"undefined\"!==typeof window?G=window:\"undefined\"!==typeof global&&(G=global);\nif(G&&G._schedMock){var H=G._schedMock;r=H[0];q=H[1];w=H[2];exports.unstable_now=H[3]}else if(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var I=null,J=function(a){if(null!==I)try{I(a)}finally{I=null}};r=function(a){null!==I?setTimeout(r,0,a):(I=a,setTimeout(J,0,!1))};q=function(){I=null};w=function(){return!1}}else{\"undefined\"!==typeof console&&(\"function\"!==typeof A&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"),\n\"function\"!==typeof B&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"));var K=null,L=!1,M=-1,N=!1,O=!1,P=0,R=33,S=33;w=function(){return P<=exports.unstable_now()};var T=new MessageChannel,U=T.port2;T.port1.onmessage=function(){L=!1;var a=K,b=M;K=null;M=-1;var c=exports.unstable_now(),f=!1;if(0>=P-c)if(-1!==b&&b<=c)f=!0;else{N||(N=!0,E(V));K=a;M=b;return}if(null!==a){O=!0;try{a(f)}finally{O=!1}}};\nvar V=function(a){if(null!==K){E(V);var b=a-P+S;bb&&(b=8),S=bb?U.postMessage(void 0):N||(N=!0,E(V))};q=function(){K=null;L=!1;M=-1}}exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;\nexports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=g,f=k;g=a;k=exports.unstable_now();try{return b()}finally{g=c,k=f,v()}};exports.unstable_next=function(a){switch(g){case 1:case 2:case 3:var b=3;break;default:b=g}var c=g,f=k;g=b;k=exports.unstable_now();try{return a()}finally{g=c,k=f,v()}};\nexports.unstable_scheduleCallback=function(a,b){var c=-1!==k?k:exports.unstable_now();if(\"object\"===typeof b&&null!==b&&\"number\"===typeof b.timeout)b=c+b.timeout;else switch(g){case 1:b=c+-1;break;case 2:b=c+250;break;case 5:b=c+1073741823;break;case 4:b=c+1E4;break;default:b=c+5E3}a={callback:a,priorityLevel:g,expirationTime:b,next:null,previous:null};if(null===d)d=a.next=a.previous=a,p();else{c=null;var f=d;do{if(f.expirationTime>b){c=f;break}f=f.next}while(f!==d);null===c?c=d:c===d&&(d=a,p());\nb=c.previous;b.next=c.previous=a;a.next=c;a.previous=b}return a};exports.unstable_cancelCallback=function(a){var b=a.next;if(null!==b){if(b===a)d=null;else{a===d&&(d=b);var c=a.previous;c.next=b;b.previous=c}a.next=a.previous=null}};exports.unstable_wrapCallback=function(a){var b=g;return function(){var c=g,f=k;g=b;k=exports.unstable_now();try{return a.apply(this,arguments)}finally{g=c,k=f,v()}}};exports.unstable_getCurrentPriorityLevel=function(){return g};\nexports.unstable_shouldYield=function(){return!e&&(null!==d&&d.expirationTime 0) {\n this.refs[index]--;\n if (this.refs[index] === 0) this.sheets[index].detach();\n }\n }\n }, {\n key: 'size',\n get: function get() {\n return this.keys.length;\n }\n }]);\n\n return SheetsManager;\n}();\n\nexports['default'] = SheetsManager;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nexports['default'] = cloneStyle;\n\nvar _isObservable = require('./isObservable');\n\nvar _isObservable2 = _interopRequireDefault(_isObservable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar isArray = Array.isArray;\nfunction cloneStyle(style) {\n // Support empty values in case user ends up with them by accident.\n if (style == null) return style;\n\n // Support string value for SimpleRule.\n var typeOfStyle = typeof style === 'undefined' ? 'undefined' : _typeof(style);\n\n if (typeOfStyle === 'string' || typeOfStyle === 'number' || typeOfStyle === 'function') {\n return style;\n }\n\n // Support array for FontFaceRule.\n if (isArray(style)) return style.map(cloneStyle);\n\n // Support Observable styles. Observables are immutable, so we don't need to\n // copy them.\n if ((0, _isObservable2['default'])(style)) return style;\n\n var newStyle = {};\n for (var name in style) {\n var value = style[name];\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n newStyle[name] = cloneStyle(value);\n continue;\n }\n newStyle[name] = value;\n }\n\n return newStyle;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar CSS = global.CSS;\n\nvar env = process.env.NODE_ENV;\n\nvar escapeRegex = /([[\\].#*$><+~=|^:(),\"'`])/g;\n\nexports['default'] = function (str) {\n // We don't need to escape it in production, because we are not using user's\n // input for selectors, we are generating a valid selector.\n if (env === 'production') return str;\n\n if (!CSS || !CSS.escape) {\n return str.replace(escapeRegex, '\\\\$1');\n }\n\n return CSS.escape(str);\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar ns = '2f1acc6c3a606b082e5eef5e54414ffb';\nif (global[ns] == null) global[ns] = 0;\n\n// Bundle may contain multiple JSS versions at the same time. In order to identify\n// the current version with just one short number and use it for classes generation\n// we use a counter. Also it is more accurate, because user can manually reevaluate\n// the module.\nexports['default'] = global[ns]++;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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 _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 _isInBrowser = require('is-in-browser');\n\nvar _isInBrowser2 = _interopRequireDefault(_isInBrowser);\n\nvar _StyleSheet = require('./StyleSheet');\n\nvar _StyleSheet2 = _interopRequireDefault(_StyleSheet);\n\nvar _PluginsRegistry = require('./PluginsRegistry');\n\nvar _PluginsRegistry2 = _interopRequireDefault(_PluginsRegistry);\n\nvar _rules = require('./plugins/rules');\n\nvar _rules2 = _interopRequireDefault(_rules);\n\nvar _observables = require('./plugins/observables');\n\nvar _observables2 = _interopRequireDefault(_observables);\n\nvar _functions = require('./plugins/functions');\n\nvar _functions2 = _interopRequireDefault(_functions);\n\nvar _sheets = require('./sheets');\n\nvar _sheets2 = _interopRequireDefault(_sheets);\n\nvar _StyleRule = require('./rules/StyleRule');\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _createGenerateClassName = require('./utils/createGenerateClassName');\n\nvar _createGenerateClassName2 = _interopRequireDefault(_createGenerateClassName);\n\nvar _createRule2 = require('./utils/createRule');\n\nvar _createRule3 = _interopRequireDefault(_createRule2);\n\nvar _DomRenderer = require('./renderers/DomRenderer');\n\nvar _DomRenderer2 = _interopRequireDefault(_DomRenderer);\n\nvar _VirtualRenderer = require('./renderers/VirtualRenderer');\n\nvar _VirtualRenderer2 = _interopRequireDefault(_VirtualRenderer);\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\nvar defaultPlugins = _rules2['default'].concat([_observables2['default'], _functions2['default']]);\n\nvar instanceCounter = 0;\n\nvar Jss = function () {\n function Jss(options) {\n _classCallCheck(this, Jss);\n\n this.id = instanceCounter++;\n this.version = \"9.8.7\";\n this.plugins = new _PluginsRegistry2['default']();\n this.options = {\n createGenerateClassName: _createGenerateClassName2['default'],\n Renderer: _isInBrowser2['default'] ? _DomRenderer2['default'] : _VirtualRenderer2['default'],\n plugins: []\n };\n this.generateClassName = (0, _createGenerateClassName2['default'])();\n\n // eslint-disable-next-line prefer-spread\n this.use.apply(this, defaultPlugins);\n this.setup(options);\n }\n\n _createClass(Jss, [{\n key: 'setup',\n value: function setup() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (options.createGenerateClassName) {\n this.options.createGenerateClassName = options.createGenerateClassName;\n // $FlowFixMe\n this.generateClassName = options.createGenerateClassName();\n }\n\n if (options.insertionPoint != null) this.options.insertionPoint = options.insertionPoint;\n if (options.virtual || options.Renderer) {\n this.options.Renderer = options.Renderer || (options.virtual ? _VirtualRenderer2['default'] : _DomRenderer2['default']);\n }\n\n // eslint-disable-next-line prefer-spread\n if (options.plugins) this.use.apply(this, options.plugins);\n\n return this;\n }\n\n /**\n * Create a Style Sheet.\n */\n\n }, {\n key: 'createStyleSheet',\n value: function createStyleSheet(styles) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var index = options.index;\n if (typeof index !== 'number') {\n index = _sheets2['default'].index === 0 ? 0 : _sheets2['default'].index + 1;\n }\n var sheet = new _StyleSheet2['default'](styles, _extends({}, options, {\n jss: this,\n generateClassName: options.generateClassName || this.generateClassName,\n insertionPoint: this.options.insertionPoint,\n Renderer: this.options.Renderer,\n index: index\n }));\n this.plugins.onProcessSheet(sheet);\n\n return sheet;\n }\n\n /**\n * Detach the Style Sheet and remove it from the registry.\n */\n\n }, {\n key: 'removeStyleSheet',\n value: function removeStyleSheet(sheet) {\n sheet.detach();\n _sheets2['default'].remove(sheet);\n return this;\n }\n\n /**\n * Create a rule without a Style Sheet.\n */\n\n }, {\n key: 'createRule',\n value: function createRule(name) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n // Enable rule without name for inline styles.\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n options = style;\n style = name;\n name = undefined;\n }\n\n // Cast from RuleFactoryOptions to RuleOptions\n // https://stackoverflow.com/questions/41328728/force-casting-in-flow\n var ruleOptions = options;\n\n ruleOptions.jss = this;\n ruleOptions.Renderer = this.options.Renderer;\n if (!ruleOptions.generateClassName) ruleOptions.generateClassName = this.generateClassName;\n if (!ruleOptions.classes) ruleOptions.classes = {};\n var rule = (0, _createRule3['default'])(name, style, ruleOptions);\n\n if (!ruleOptions.selector && rule instanceof _StyleRule2['default']) {\n rule.selector = '.' + ruleOptions.generateClassName(rule);\n }\n\n this.plugins.onProcessRule(rule);\n\n return rule;\n }\n\n /**\n * Register plugin. Passed function will be invoked with a rule instance.\n */\n\n }, {\n key: 'use',\n value: function use() {\n var _this = this;\n\n for (var _len = arguments.length, plugins = Array(_len), _key = 0; _key < _len; _key++) {\n plugins[_key] = arguments[_key];\n }\n\n plugins.forEach(function (plugin) {\n // Avoids applying same plugin twice, at least based on ref.\n if (_this.options.plugins.indexOf(plugin) === -1) {\n _this.options.plugins.push(plugin);\n _this.plugins.use(plugin);\n }\n });\n\n return this;\n }\n }]);\n\n return Jss;\n}();\n\nexports['default'] = Jss;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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 _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\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\nvar PluginsRegistry = function () {\n function PluginsRegistry() {\n _classCallCheck(this, PluginsRegistry);\n\n this.hooks = {\n onCreateRule: [],\n onProcessRule: [],\n onProcessStyle: [],\n onProcessSheet: [],\n onChangeValue: [],\n onUpdate: []\n\n /**\n * Call `onCreateRule` hooks and return an object if returned by a hook.\n */\n };\n }\n\n _createClass(PluginsRegistry, [{\n key: 'onCreateRule',\n value: function onCreateRule(name, decl, options) {\n for (var i = 0; i < this.hooks.onCreateRule.length; i++) {\n var rule = this.hooks.onCreateRule[i](name, decl, options);\n if (rule) return rule;\n }\n return null;\n }\n\n /**\n * Call `onProcessRule` hooks.\n */\n\n }, {\n key: 'onProcessRule',\n value: function onProcessRule(rule) {\n if (rule.isProcessed) return;\n var sheet = rule.options.sheet;\n\n for (var i = 0; i < this.hooks.onProcessRule.length; i++) {\n this.hooks.onProcessRule[i](rule, sheet);\n }\n\n // $FlowFixMe\n if (rule.style) this.onProcessStyle(rule.style, rule, sheet);\n\n rule.isProcessed = true;\n }\n\n /**\n * Call `onProcessStyle` hooks.\n */\n\n }, {\n key: 'onProcessStyle',\n value: function onProcessStyle(style, rule, sheet) {\n var nextStyle = style;\n\n for (var i = 0; i < this.hooks.onProcessStyle.length; i++) {\n nextStyle = this.hooks.onProcessStyle[i](nextStyle, rule, sheet);\n // $FlowFixMe\n rule.style = nextStyle;\n }\n }\n\n /**\n * Call `onProcessSheet` hooks.\n */\n\n }, {\n key: 'onProcessSheet',\n value: function onProcessSheet(sheet) {\n for (var i = 0; i < this.hooks.onProcessSheet.length; i++) {\n this.hooks.onProcessSheet[i](sheet);\n }\n }\n\n /**\n * Call `onUpdate` hooks.\n */\n\n }, {\n key: 'onUpdate',\n value: function onUpdate(data, rule, sheet) {\n for (var i = 0; i < this.hooks.onUpdate.length; i++) {\n this.hooks.onUpdate[i](data, rule, sheet);\n }\n }\n\n /**\n * Call `onChangeValue` hooks.\n */\n\n }, {\n key: 'onChangeValue',\n value: function onChangeValue(value, prop, rule) {\n var processedValue = value;\n for (var i = 0; i < this.hooks.onChangeValue.length; i++) {\n processedValue = this.hooks.onChangeValue[i](processedValue, prop, rule);\n }\n return processedValue;\n }\n\n /**\n * Register a plugin.\n * If function is passed, it is a shortcut for `{onProcessRule}`.\n */\n\n }, {\n key: 'use',\n value: function use(plugin) {\n for (var name in plugin) {\n if (this.hooks[name]) this.hooks[name].push(plugin[name]);else (0, _warning2['default'])(false, '[JSS] Unknown hook \"%s\".', name);\n }\n }\n }]);\n\n return PluginsRegistry;\n}();\n\nexports['default'] = PluginsRegistry;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _SimpleRule = require('../rules/SimpleRule');\n\nvar _SimpleRule2 = _interopRequireDefault(_SimpleRule);\n\nvar _KeyframesRule = require('../rules/KeyframesRule');\n\nvar _KeyframesRule2 = _interopRequireDefault(_KeyframesRule);\n\nvar _ConditionalRule = require('../rules/ConditionalRule');\n\nvar _ConditionalRule2 = _interopRequireDefault(_ConditionalRule);\n\nvar _FontFaceRule = require('../rules/FontFaceRule');\n\nvar _FontFaceRule2 = _interopRequireDefault(_FontFaceRule);\n\nvar _ViewportRule = require('../rules/ViewportRule');\n\nvar _ViewportRule2 = _interopRequireDefault(_ViewportRule);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar classes = {\n '@charset': _SimpleRule2['default'],\n '@import': _SimpleRule2['default'],\n '@namespace': _SimpleRule2['default'],\n '@keyframes': _KeyframesRule2['default'],\n '@media': _ConditionalRule2['default'],\n '@supports': _ConditionalRule2['default'],\n '@font-face': _FontFaceRule2['default'],\n '@viewport': _ViewportRule2['default'],\n '@-ms-viewport': _ViewportRule2['default']\n\n /**\n * Generate plugins which will register all rules.\n */\n};\nvar plugins = Object.keys(classes).map(function (key) {\n // https://jsperf.com/indexof-vs-substr-vs-regex-at-the-beginning-3\n var re = new RegExp('^' + key);\n var RuleClass = classes[key];\n var onCreateRule = function onCreateRule(name, decl, options) {\n return re.test(name) ? new RuleClass(name, decl, options) : null;\n };\n return { onCreateRule: onCreateRule };\n});\n\nexports['default'] = plugins;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar SimpleRule = function () {\n function SimpleRule(key, value, options) {\n _classCallCheck(this, SimpleRule);\n\n this.type = 'simple';\n this.isProcessed = false;\n\n this.key = key;\n this.value = value;\n this.options = options;\n }\n\n /**\n * Generates a CSS string.\n */\n // eslint-disable-next-line no-unused-vars\n\n\n _createClass(SimpleRule, [{\n key: 'toString',\n value: function toString(options) {\n if (Array.isArray(this.value)) {\n var str = '';\n for (var index = 0; index < this.value.length; index++) {\n str += this.key + ' ' + this.value[index] + ';';\n if (this.value[index + 1]) str += '\\n';\n }\n return str;\n }\n\n return this.key + ' ' + this.value + ';';\n }\n }]);\n\n return SimpleRule;\n}();\n\nexports['default'] = SimpleRule;","'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 _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 _RuleList = require('../RuleList');\n\nvar _RuleList2 = _interopRequireDefault(_RuleList);\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\n/**\n * Rule for @keyframes\n */\nvar KeyframesRule = function () {\n function KeyframesRule(key, frames, options) {\n _classCallCheck(this, KeyframesRule);\n\n this.type = 'keyframes';\n this.isProcessed = false;\n\n this.key = key;\n this.options = options;\n this.rules = new _RuleList2['default'](_extends({}, options, { parent: this }));\n\n for (var name in frames) {\n this.rules.add(name, frames[name], _extends({}, this.options, {\n parent: this,\n selector: name\n }));\n }\n\n this.rules.process();\n }\n\n /**\n * Generates a CSS string.\n */\n\n\n _createClass(KeyframesRule, [{\n key: 'toString',\n value: function toString() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { indent: 1 };\n\n var inner = this.rules.toString(options);\n if (inner) inner += '\\n';\n return this.key + ' {\\n' + inner + '}';\n }\n }]);\n\n return KeyframesRule;\n}();\n\nexports['default'] = KeyframesRule;","'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 _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 _RuleList = require('../RuleList');\n\nvar _RuleList2 = _interopRequireDefault(_RuleList);\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\n/**\n * Conditional rule for @media, @supports\n */\nvar ConditionalRule = function () {\n function ConditionalRule(key, styles, options) {\n _classCallCheck(this, ConditionalRule);\n\n this.type = 'conditional';\n this.isProcessed = false;\n\n this.key = key;\n this.options = options;\n this.rules = new _RuleList2['default'](_extends({}, options, { parent: this }));\n\n for (var name in styles) {\n this.rules.add(name, styles[name]);\n }\n\n this.rules.process();\n }\n\n /**\n * Get a rule.\n */\n\n\n _createClass(ConditionalRule, [{\n key: 'getRule',\n value: function getRule(name) {\n return this.rules.get(name);\n }\n\n /**\n * Get index of a rule.\n */\n\n }, {\n key: 'indexOf',\n value: function indexOf(rule) {\n return this.rules.indexOf(rule);\n }\n\n /**\n * Create and register rule, run plugins.\n */\n\n }, {\n key: 'addRule',\n value: function addRule(name, style, options) {\n var rule = this.rules.add(name, style, options);\n this.options.jss.plugins.onProcessRule(rule);\n return rule;\n }\n\n /**\n * Generates a CSS string.\n */\n\n }, {\n key: 'toString',\n value: function toString() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { indent: 1 };\n\n var inner = this.rules.toString(options);\n return inner ? this.key + ' {\\n' + inner + '\\n}' : '';\n }\n }]);\n\n return ConditionalRule;\n}();\n\nexports['default'] = ConditionalRule;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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 _toCss = require('../utils/toCss');\n\nvar _toCss2 = _interopRequireDefault(_toCss);\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\nvar FontFaceRule = function () {\n function FontFaceRule(key, style, options) {\n _classCallCheck(this, FontFaceRule);\n\n this.type = 'font-face';\n this.isProcessed = false;\n\n this.key = key;\n this.style = style;\n this.options = options;\n }\n\n /**\n * Generates a CSS string.\n */\n\n\n _createClass(FontFaceRule, [{\n key: 'toString',\n value: function toString(options) {\n if (Array.isArray(this.style)) {\n var str = '';\n for (var index = 0; index < this.style.length; index++) {\n str += (0, _toCss2['default'])(this.key, this.style[index]);\n if (this.style[index + 1]) str += '\\n';\n }\n return str;\n }\n\n return (0, _toCss2['default'])(this.key, this.style, options);\n }\n }]);\n\n return FontFaceRule;\n}();\n\nexports['default'] = FontFaceRule;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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 _toCss = require('../utils/toCss');\n\nvar _toCss2 = _interopRequireDefault(_toCss);\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\nvar ViewportRule = function () {\n function ViewportRule(key, style, options) {\n _classCallCheck(this, ViewportRule);\n\n this.type = 'viewport';\n this.isProcessed = false;\n\n this.key = key;\n this.style = style;\n this.options = options;\n }\n\n /**\n * Generates a CSS string.\n */\n\n\n _createClass(ViewportRule, [{\n key: 'toString',\n value: function toString(options) {\n return (0, _toCss2['default'])(this.key, this.style, options);\n }\n }]);\n\n return ViewportRule;\n}();\n\nexports['default'] = ViewportRule;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _StyleRule = require('../rules/StyleRule');\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _createRule = require('../utils/createRule');\n\nvar _createRule2 = _interopRequireDefault(_createRule);\n\nvar _isObservable = require('../utils/isObservable');\n\nvar _isObservable2 = _interopRequireDefault(_isObservable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (!(0, _isObservable2['default'])(decl)) return null;\n\n // Cast `decl` to `Observable`, since it passed the type guard.\n var style$ = decl;\n\n var rule = (0, _createRule2['default'])(name, {}, options);\n\n // TODO\n // Call `stream.subscribe()` returns a subscription, which should be explicitly\n // unsubscribed from when we know this sheet is no longer needed.\n style$.subscribe(function (style) {\n for (var prop in style) {\n rule.prop(prop, style[prop]);\n }\n });\n\n return rule;\n },\n onProcessRule: function onProcessRule(rule) {\n if (!(rule instanceof _StyleRule2['default'])) return;\n var styleRule = rule;\n var style = styleRule.style;\n\n var _loop = function _loop(prop) {\n var value = style[prop];\n if (!(0, _isObservable2['default'])(value)) return 'continue';\n delete style[prop];\n value.subscribe({\n next: function next(nextValue) {\n styleRule.prop(prop, nextValue);\n }\n });\n };\n\n for (var prop in style) {\n var _ret = _loop(prop);\n\n if (_ret === 'continue') continue;\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _RuleList = require('../RuleList');\n\nvar _RuleList2 = _interopRequireDefault(_RuleList);\n\nvar _StyleRule = require('../rules/StyleRule');\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _createRule = require('../utils/createRule');\n\nvar _createRule2 = _interopRequireDefault(_createRule);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n// A symbol replacement.\nvar now = Date.now();\n\nvar fnValuesNs = 'fnValues' + now;\nvar fnStyleNs = 'fnStyle' + ++now;\n\nexports['default'] = {\n onCreateRule: function onCreateRule(name, decl, options) {\n if (typeof decl !== 'function') return null;\n var rule = (0, _createRule2['default'])(name, {}, options);\n rule[fnStyleNs] = decl;\n return rule;\n },\n onProcessStyle: function onProcessStyle(style, rule) {\n var fn = {};\n for (var prop in style) {\n var value = style[prop];\n if (typeof value !== 'function') continue;\n delete style[prop];\n fn[prop] = value;\n }\n rule = rule;\n rule[fnValuesNs] = fn;\n return style;\n },\n onUpdate: function onUpdate(data, rule) {\n // It is a rules container like for e.g. ConditionalRule.\n if (rule.rules instanceof _RuleList2['default']) {\n rule.rules.update(data);\n return;\n }\n if (!(rule instanceof _StyleRule2['default'])) return;\n\n rule = rule;\n\n // If we have a fn values map, it is a rule with function values.\n if (rule[fnValuesNs]) {\n for (var prop in rule[fnValuesNs]) {\n rule.prop(prop, rule[fnValuesNs][prop](data));\n }\n }\n\n rule = rule;\n\n var fnStyle = rule[fnStyleNs];\n\n // If we have a style function, the entire rule is dynamic and style object\n // will be returned from that function.\n if (fnStyle) {\n var style = fnStyle(data);\n for (var _prop in style) {\n rule.prop(_prop, style[_prop]);\n }\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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 _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _sheets = require('../sheets');\n\nvar _sheets2 = _interopRequireDefault(_sheets);\n\nvar _StyleRule = require('../rules/StyleRule');\n\nvar _StyleRule2 = _interopRequireDefault(_StyleRule);\n\nvar _toCssValue = require('../utils/toCssValue');\n\nvar _toCssValue2 = _interopRequireDefault(_toCssValue);\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\n/**\n * Cache the value from the first time a function is called.\n */\nvar memoize = function memoize(fn) {\n var value = void 0;\n return function () {\n if (!value) value = fn();\n return value;\n };\n};\n\n/**\n * Get a style property value.\n */\nfunction getPropertyValue(cssRule, prop) {\n try {\n return cssRule.style.getPropertyValue(prop);\n } catch (err) {\n // IE may throw if property is unknown.\n return '';\n }\n}\n\n/**\n * Set a style property.\n */\nfunction setProperty(cssRule, prop, value) {\n try {\n var cssValue = value;\n\n if (Array.isArray(value)) {\n cssValue = (0, _toCssValue2['default'])(value, true);\n\n if (value[value.length - 1] === '!important') {\n cssRule.style.setProperty(prop, cssValue, 'important');\n return true;\n }\n }\n\n cssRule.style.setProperty(prop, cssValue);\n } catch (err) {\n // IE may throw if property is unknown.\n return false;\n }\n return true;\n}\n\n/**\n * Remove a style property.\n */\nfunction removeProperty(cssRule, prop) {\n try {\n cssRule.style.removeProperty(prop);\n } catch (err) {\n (0, _warning2['default'])(false, '[JSS] DOMException \"%s\" was thrown. Tried to remove property \"%s\".', err.message, prop);\n }\n}\n\nvar CSSRuleTypes = {\n STYLE_RULE: 1,\n KEYFRAMES_RULE: 7\n\n /**\n * Get the CSS Rule key.\n */\n\n};var getKey = function () {\n var extractKey = function extractKey(cssText) {\n var from = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n return cssText.substr(from, cssText.indexOf('{') - 1);\n };\n\n return function (cssRule) {\n if (cssRule.type === CSSRuleTypes.STYLE_RULE) return cssRule.selectorText;\n if (cssRule.type === CSSRuleTypes.KEYFRAMES_RULE) {\n var name = cssRule.name;\n\n if (name) return '@keyframes ' + name;\n\n // There is no rule.name in the following browsers:\n // - IE 9\n // - Safari 7.1.8\n // - Mobile Safari 9.0.0\n var cssText = cssRule.cssText;\n\n return '@' + extractKey(cssText, cssText.indexOf('keyframes'));\n }\n\n // Conditionals.\n return extractKey(cssRule.cssText);\n };\n}();\n\n/**\n * Set the selector.\n */\nfunction setSelector(cssRule, selectorText) {\n cssRule.selectorText = selectorText;\n\n // Return false if setter was not successful.\n // Currently works in chrome only.\n return cssRule.selectorText === selectorText;\n}\n\n/**\n * Gets the `head` element upon the first call and caches it.\n */\nvar getHead = memoize(function () {\n return document.head || document.getElementsByTagName('head')[0];\n});\n\n/**\n * Gets a map of rule keys, where the property is an unescaped key and value\n * is a potentially escaped one.\n * It is used to identify CSS rules and the corresponding JSS rules. As an identifier\n * for CSSStyleRule we normally use `selectorText`. Though if original selector text\n * contains escaped code points e.g. `:not(#\\\\20)`, CSSOM will compile it to `:not(# )`\n * and so CSS rule's `selectorText` won't match JSS rule selector.\n *\n * https://www.w3.org/International/questions/qa-escapes#cssescapes\n */\nvar getUnescapedKeysMap = function () {\n var style = void 0;\n var isAttached = false;\n\n return function (rules) {\n var map = {};\n // https://github.com/facebook/flow/issues/2696\n if (!style) style = document.createElement('style');\n for (var i = 0; i < rules.length; i++) {\n var rule = rules[i];\n if (!(rule instanceof _StyleRule2['default'])) continue;\n var selector = rule.selector;\n // Only unescape selector over CSSOM if it contains a back slash.\n\n if (selector && selector.indexOf('\\\\') !== -1) {\n // Lazilly attach when needed.\n if (!isAttached) {\n getHead().appendChild(style);\n isAttached = true;\n }\n style.textContent = selector + ' {}';\n var _style = style,\n sheet = _style.sheet;\n\n if (sheet) {\n var cssRules = sheet.cssRules;\n\n if (cssRules) map[cssRules[0].selectorText] = rule.key;\n }\n }\n }\n if (isAttached) {\n getHead().removeChild(style);\n isAttached = false;\n }\n return map;\n };\n}();\n\n/**\n * Find attached sheet with an index higher than the passed one.\n */\nfunction findHigherSheet(registry, options) {\n for (var i = 0; i < registry.length; i++) {\n var sheet = registry[i];\n if (sheet.attached && sheet.options.index > options.index && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n return null;\n}\n\n/**\n * Find attached sheet with the highest index.\n */\nfunction findHighestSheet(registry, options) {\n for (var i = registry.length - 1; i >= 0; i--) {\n var sheet = registry[i];\n if (sheet.attached && sheet.options.insertionPoint === options.insertionPoint) {\n return sheet;\n }\n }\n return null;\n}\n\n/**\n * Find a comment with \"jss\" inside.\n */\nfunction findCommentNode(text) {\n var head = getHead();\n for (var i = 0; i < head.childNodes.length; i++) {\n var node = head.childNodes[i];\n if (node.nodeType === 8 && node.nodeValue.trim() === text) {\n return node;\n }\n }\n return null;\n}\n\n/**\n * Find a node before which we can insert the sheet.\n */\nfunction findPrevNode(options) {\n var registry = _sheets2['default'].registry;\n\n\n if (registry.length > 0) {\n // Try to insert before the next higher sheet.\n var sheet = findHigherSheet(registry, options);\n if (sheet) return sheet.renderer.element;\n\n // Otherwise insert after the last attached.\n sheet = findHighestSheet(registry, options);\n if (sheet) return sheet.renderer.element.nextElementSibling;\n }\n\n // Try to find a comment placeholder if registry is empty.\n var insertionPoint = options.insertionPoint;\n\n if (insertionPoint && typeof insertionPoint === 'string') {\n var comment = findCommentNode(insertionPoint);\n if (comment) return comment.nextSibling;\n // If user specifies an insertion point and it can't be found in the document -\n // bad specificity issues may appear.\n (0, _warning2['default'])(insertionPoint === 'jss', '[JSS] Insertion point \"%s\" not found.', insertionPoint);\n }\n\n return null;\n}\n\n/**\n * Insert style element into the DOM.\n */\nfunction insertStyle(style, options) {\n var insertionPoint = options.insertionPoint;\n\n var prevNode = findPrevNode(options);\n\n if (prevNode) {\n var parentNode = prevNode.parentNode;\n\n if (parentNode) parentNode.insertBefore(style, prevNode);\n return;\n }\n\n // Works with iframes and any node types.\n if (insertionPoint && typeof insertionPoint.nodeType === 'number') {\n // https://stackoverflow.com/questions/41328728/force-casting-in-flow\n var insertionPointElement = insertionPoint;\n var _parentNode = insertionPointElement.parentNode;\n\n if (_parentNode) _parentNode.insertBefore(style, insertionPointElement.nextSibling);else (0, _warning2['default'])(false, '[JSS] Insertion point is not in the DOM.');\n return;\n }\n\n getHead().insertBefore(style, prevNode);\n}\n\n/**\n * Read jss nonce setting from the page if the user has set it.\n */\nvar getNonce = memoize(function () {\n var node = document.querySelector('meta[property=\"csp-nonce\"]');\n return node ? node.getAttribute('content') : null;\n});\n\nvar DomRenderer = function () {\n function DomRenderer(sheet) {\n _classCallCheck(this, DomRenderer);\n\n this.getPropertyValue = getPropertyValue;\n this.setProperty = setProperty;\n this.removeProperty = removeProperty;\n this.setSelector = setSelector;\n this.getKey = getKey;\n this.getUnescapedKeysMap = getUnescapedKeysMap;\n this.hasInsertedRules = false;\n\n // There is no sheet when the renderer is used from a standalone StyleRule.\n if (sheet) _sheets2['default'].add(sheet);\n\n this.sheet = sheet;\n\n var _ref = this.sheet ? this.sheet.options : {},\n media = _ref.media,\n meta = _ref.meta,\n element = _ref.element;\n\n this.element = element || document.createElement('style');\n this.element.setAttribute('data-jss', '');\n if (media) this.element.setAttribute('media', media);\n if (meta) this.element.setAttribute('data-meta', meta);\n var nonce = getNonce();\n if (nonce) this.element.setAttribute('nonce', nonce);\n }\n\n /**\n * Insert style element into render tree.\n */\n\n\n // HTMLStyleElement needs fixing https://github.com/facebook/flow/issues/2696\n\n\n _createClass(DomRenderer, [{\n key: 'attach',\n value: function attach() {\n // In the case the element node is external and it is already in the DOM.\n if (this.element.parentNode || !this.sheet) return;\n\n // When rules are inserted using `insertRule` API, after `sheet.detach().attach()`\n // browsers remove those rules.\n // TODO figure out if its a bug and if it is known.\n // Workaround is to redeploy the sheet before attaching as a string.\n if (this.hasInsertedRules) {\n this.deploy();\n this.hasInsertedRules = false;\n }\n\n insertStyle(this.element, this.sheet.options);\n }\n\n /**\n * Remove style element from render tree.\n */\n\n }, {\n key: 'detach',\n value: function detach() {\n this.element.parentNode.removeChild(this.element);\n }\n\n /**\n * Inject CSS string into element.\n */\n\n }, {\n key: 'deploy',\n value: function deploy() {\n if (!this.sheet) return;\n this.element.textContent = '\\n' + this.sheet.toString() + '\\n';\n }\n\n /**\n * Insert a rule into element.\n */\n\n }, {\n key: 'insertRule',\n value: function insertRule(rule, index) {\n var sheet = this.element.sheet;\n var cssRules = sheet.cssRules;\n\n var str = rule.toString();\n if (!index) index = cssRules.length;\n\n if (!str) return false;\n\n try {\n sheet.insertRule(str, index);\n } catch (err) {\n (0, _warning2['default'])(false, '[JSS] Can not insert an unsupported rule \\n\\r%s', rule);\n return false;\n }\n this.hasInsertedRules = true;\n\n return cssRules[index];\n }\n\n /**\n * Delete a rule.\n */\n\n }, {\n key: 'deleteRule',\n value: function deleteRule(cssRule) {\n var sheet = this.element.sheet;\n\n var index = this.indexOf(cssRule);\n if (index === -1) return false;\n sheet.deleteRule(index);\n return true;\n }\n\n /**\n * Get index of a CSS Rule.\n */\n\n }, {\n key: 'indexOf',\n value: function indexOf(cssRule) {\n var cssRules = this.element.sheet.cssRules;\n\n for (var _index = 0; _index < cssRules.length; _index++) {\n if (cssRule === cssRules[_index]) return _index;\n }\n return -1;\n }\n\n /**\n * Generate a new CSS rule and replace the existing one.\n */\n\n }, {\n key: 'replaceRule',\n value: function replaceRule(cssRule, rule) {\n var index = this.indexOf(cssRule);\n var newCssRule = this.insertRule(rule, index);\n this.element.sheet.deleteRule(index);\n return newCssRule;\n }\n\n /**\n * Get all rules elements.\n */\n\n }, {\n key: 'getRules',\n value: function getRules() {\n return this.element.sheet.cssRules;\n }\n }]);\n\n return DomRenderer;\n}();\n\nexports['default'] = DomRenderer;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* eslint-disable class-methods-use-this */\n\n/**\n * Rendering backend to do nothing in nodejs.\n */\nvar VirtualRenderer = function () {\n function VirtualRenderer() {\n _classCallCheck(this, VirtualRenderer);\n }\n\n _createClass(VirtualRenderer, [{\n key: 'setProperty',\n value: function setProperty() {\n return true;\n }\n }, {\n key: 'getPropertyValue',\n value: function getPropertyValue() {\n return '';\n }\n }, {\n key: 'removeProperty',\n value: function removeProperty() {}\n }, {\n key: 'setSelector',\n value: function setSelector() {\n return true;\n }\n }, {\n key: 'getKey',\n value: function getKey() {\n return '';\n }\n }, {\n key: 'attach',\n value: function attach() {}\n }, {\n key: 'detach',\n value: function detach() {}\n }, {\n key: 'deploy',\n value: function deploy() {}\n }, {\n key: 'insertRule',\n value: function insertRule() {\n return false;\n }\n }, {\n key: 'deleteRule',\n value: function deleteRule() {\n return true;\n }\n }, {\n key: 'replaceRule',\n value: function replaceRule() {\n return false;\n }\n }, {\n key: 'getRules',\n value: function getRules() {}\n }, {\n key: 'indexOf',\n value: function indexOf() {\n return -1;\n }\n }]);\n\n return VirtualRenderer;\n}();\n\nexports['default'] = VirtualRenderer;","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parse = require('./parse');\n\nvar _parse2 = _interopRequireDefault(_parse);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar onProcessRule = function onProcessRule(rule) {\n if (typeof rule.style === 'string') {\n rule.style = (0, _parse2['default'])(rule.style);\n }\n};\n\nexports['default'] = function () {\n return { onProcessRule: onProcessRule };\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar semiWithNl = /;\\n/;\n\n/**\n * Naive CSS parser.\n * - Supports only rule body (no selectors)\n * - Requires semicolon and new line after the value (except of last line)\n * - No nested rules support\n */\n\nexports['default'] = function (cssText) {\n var style = {};\n var split = cssText.split(semiWithNl);\n for (var i = 0; i < split.length; i++) {\n var decl = (split[i] || '').trim();\n\n if (!decl) continue;\n var colonIndex = decl.indexOf(':');\n if (colonIndex === -1) {\n (0, _warning2['default'])(false, 'Malformed CSS string \"%s\"', decl);\n continue;\n }\n var prop = decl.substr(0, colonIndex).trim();\n var value = decl.substr(colonIndex + 1).trim();\n style[prop] = value;\n }\n return style;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nexports['default'] = jssExtend;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar isObject = function isObject(obj) {\n return obj && (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && !Array.isArray(obj);\n};\nvar valueNs = 'extendCurrValue' + Date.now();\n\nfunction mergeExtend(style, rule, sheet, newStyle) {\n var extendType = _typeof(style.extend);\n // Extend using a rule name.\n if (extendType === 'string') {\n if (!sheet) return;\n var refRule = sheet.getRule(style.extend);\n if (!refRule) return;\n if (refRule === rule) {\n (0, _warning2['default'])(false, '[JSS] A rule tries to extend itself \\r\\n%s', rule);\n return;\n }\n var parent = refRule.options.parent;\n\n if (parent) {\n var originalStyle = parent.rules.raw[style.extend];\n extend(originalStyle, rule, sheet, newStyle);\n }\n return;\n }\n\n // Extend using an array of objects.\n if (Array.isArray(style.extend)) {\n for (var index = 0; index < style.extend.length; index++) {\n extend(style.extend[index], rule, sheet, newStyle);\n }\n return;\n }\n\n // Extend is a style object.\n for (var prop in style.extend) {\n if (prop === 'extend') {\n extend(style.extend.extend, rule, sheet, newStyle);\n continue;\n }\n if (isObject(style.extend[prop])) {\n if (!(prop in newStyle)) newStyle[prop] = {};\n extend(style.extend[prop], rule, sheet, newStyle[prop]);\n continue;\n }\n newStyle[prop] = style.extend[prop];\n }\n}\n\nfunction mergeRest(style, rule, sheet, newStyle) {\n // Copy base style.\n for (var prop in style) {\n if (prop === 'extend') continue;\n if (isObject(newStyle[prop]) && isObject(style[prop])) {\n extend(style[prop], rule, sheet, newStyle[prop]);\n continue;\n }\n\n if (isObject(style[prop])) {\n newStyle[prop] = extend(style[prop], rule, sheet);\n continue;\n }\n\n newStyle[prop] = style[prop];\n }\n}\n\n/**\n * Recursively extend styles.\n */\nfunction extend(style, rule, sheet) {\n var newStyle = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n mergeExtend(style, rule, sheet, newStyle);\n mergeRest(style, rule, sheet, newStyle);\n return newStyle;\n}\n\n/**\n * Handle `extend` property.\n *\n * @param {Rule} rule\n * @api public\n */\nfunction jssExtend() {\n function onProcessStyle(style, rule, sheet) {\n if ('extend' in style) return extend(style, rule, sheet);\n return style;\n }\n\n function onChangeValue(value, prop, rule) {\n if (prop !== 'extend') return value;\n\n // Value is empty, remove properties set previously.\n if (value == null || value === false) {\n for (var key in rule[valueNs]) {\n rule.prop(key, null);\n }\n rule[valueNs] = null;\n return null;\n }\n\n for (var _key in value) {\n rule.prop(_key, value[_key]);\n }\n rule[valueNs] = value;\n\n // Make sure we don't set the value in the core.\n return null;\n }\n\n return { onProcessStyle: onProcessStyle, onChangeValue: onChangeValue };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = jssCompose;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Set selector.\n *\n * @param {Object} original rule\n * @param {String} className class string\n * @return {Boolean} flag, indicating function was successfull or not\n */\nfunction registerClass(rule, className) {\n // Skip falsy values\n if (!className) return true;\n\n // Support array of class names `{composes: ['foo', 'bar']}`\n if (Array.isArray(className)) {\n for (var index = 0; index < className.length; index++) {\n var isSetted = registerClass(rule, className[index]);\n if (!isSetted) return false;\n }\n\n return true;\n }\n\n // Support space separated class names `{composes: 'foo bar'}`\n if (className.indexOf(' ') > -1) {\n return registerClass(rule, className.split(' '));\n }\n\n var parent = rule.options.parent;\n\n // It is a ref to a local rule.\n\n if (className[0] === '$') {\n var refRule = parent.getRule(className.substr(1));\n\n if (!refRule) {\n (0, _warning2.default)(false, '[JSS] Referenced rule is not defined. \\r\\n%s', rule);\n return false;\n }\n\n if (refRule === rule) {\n (0, _warning2.default)(false, '[JSS] Cyclic composition detected. \\r\\n%s', rule);\n return false;\n }\n\n parent.classes[rule.key] += ' ' + parent.classes[refRule.key];\n\n return true;\n }\n\n rule.options.parent.classes[rule.key] += ' ' + className;\n\n return true;\n}\n\n/**\n * Convert compose property to additional class, remove property from original styles.\n *\n * @param {Rule} rule\n * @api public\n */\nfunction jssCompose() {\n function onProcessStyle(style, rule) {\n if (!style.composes) return style;\n registerClass(rule, style.composes);\n // Remove composes property to prevent infinite loop.\n delete style.composes;\n return style;\n }\n return { onProcessStyle: onProcessStyle };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = camelCase;\n\nvar _hyphenateStyleName = require('hyphenate-style-name');\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Convert camel cased property names to dash separated.\n *\n * @param {Object} style\n * @return {Object}\n */\nfunction convertCase(style) {\n var converted = {};\n\n for (var prop in style) {\n converted[(0, _hyphenateStyleName2['default'])(prop)] = style[prop];\n }\n\n if (style.fallbacks) {\n if (Array.isArray(style.fallbacks)) converted.fallbacks = style.fallbacks.map(convertCase);else converted.fallbacks = convertCase(style.fallbacks);\n }\n\n return converted;\n}\n\n/**\n * Allow camel cased property names by converting them back to dasherized.\n *\n * @param {Rule} rule\n */\nfunction camelCase() {\n function onProcessStyle(style) {\n if (Array.isArray(style)) {\n // Handle rules like @font-face, which can have multiple styles in an array\n for (var index = 0; index < style.length; index++) {\n style[index] = convertCase(style[index]);\n }\n return style;\n }\n\n return convertCase(style);\n }\n\n function onChangeValue(value, prop, rule) {\n var hyphenatedProp = (0, _hyphenateStyleName2['default'])(prop);\n\n // There was no camel case in place\n if (prop === hyphenatedProp) return value;\n\n rule.prop(hyphenatedProp, value);\n\n // Core will ignore that property value we set the proper one above.\n return null;\n }\n\n return { onProcessStyle: onProcessStyle, onChangeValue: onChangeValue };\n}","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nexports['default'] = defaultUnit;\n\nvar _defaultUnits = require('./defaultUnits');\n\nvar _defaultUnits2 = _interopRequireDefault(_defaultUnits);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Clones the object and adds a camel cased property version.\n */\nfunction addCamelCasedVersion(obj) {\n var regExp = /(-[a-z])/g;\n var replace = function replace(str) {\n return str[1].toUpperCase();\n };\n var newObj = {};\n for (var key in obj) {\n newObj[key] = obj[key];\n newObj[key.replace(regExp, replace)] = obj[key];\n }\n return newObj;\n}\n\nvar units = addCamelCasedVersion(_defaultUnits2['default']);\n\n/**\n * Recursive deep style passing function\n *\n * @param {String} current property\n * @param {(Object|Array|Number|String)} property value\n * @param {Object} options\n * @return {(Object|Array|Number|String)} resulting value\n */\nfunction iterate(prop, value, options) {\n if (!value) return value;\n\n var convertedValue = value;\n\n var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);\n if (type === 'object' && Array.isArray(value)) type = 'array';\n\n switch (type) {\n case 'object':\n if (prop === 'fallbacks') {\n for (var innerProp in value) {\n value[innerProp] = iterate(innerProp, value[innerProp], options);\n }\n break;\n }\n for (var _innerProp in value) {\n value[_innerProp] = iterate(prop + '-' + _innerProp, value[_innerProp], options);\n }\n break;\n case 'array':\n for (var i = 0; i < value.length; i++) {\n value[i] = iterate(prop, value[i], options);\n }\n break;\n case 'number':\n if (value !== 0) {\n convertedValue = value + (options[prop] || units[prop] || '');\n }\n break;\n default:\n break;\n }\n\n return convertedValue;\n}\n\n/**\n * Add unit to numeric values.\n */\nfunction defaultUnit() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var camelCasedOptions = addCamelCasedVersion(options);\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n for (var prop in style) {\n style[prop] = iterate(prop, style[prop], camelCasedOptions);\n }\n\n return style;\n }\n\n function onChangeValue(value, prop) {\n return iterate(prop, value, camelCasedOptions);\n }\n\n return { onProcessStyle: onProcessStyle, onChangeValue: onChangeValue };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Generated jss-default-unit CSS property units\n *\n * @type object\n */\nexports['default'] = {\n 'animation-delay': 'ms',\n 'animation-duration': 'ms',\n 'background-position': 'px',\n 'background-position-x': 'px',\n 'background-position-y': 'px',\n 'background-size': 'px',\n border: 'px',\n 'border-bottom': 'px',\n 'border-bottom-left-radius': 'px',\n 'border-bottom-right-radius': 'px',\n 'border-bottom-width': 'px',\n 'border-left': 'px',\n 'border-left-width': 'px',\n 'border-radius': 'px',\n 'border-right': 'px',\n 'border-right-width': 'px',\n 'border-spacing': 'px',\n 'border-top': 'px',\n 'border-top-left-radius': 'px',\n 'border-top-right-radius': 'px',\n 'border-top-width': 'px',\n 'border-width': 'px',\n 'border-after-width': 'px',\n 'border-before-width': 'px',\n 'border-end-width': 'px',\n 'border-horizontal-spacing': 'px',\n 'border-start-width': 'px',\n 'border-vertical-spacing': 'px',\n bottom: 'px',\n 'box-shadow': 'px',\n 'column-gap': 'px',\n 'column-rule': 'px',\n 'column-rule-width': 'px',\n 'column-width': 'px',\n 'flex-basis': 'px',\n 'font-size': 'px',\n 'font-size-delta': 'px',\n height: 'px',\n left: 'px',\n 'letter-spacing': 'px',\n 'logical-height': 'px',\n 'logical-width': 'px',\n margin: 'px',\n 'margin-after': 'px',\n 'margin-before': 'px',\n 'margin-bottom': 'px',\n 'margin-left': 'px',\n 'margin-right': 'px',\n 'margin-top': 'px',\n 'max-height': 'px',\n 'max-width': 'px',\n 'margin-end': 'px',\n 'margin-start': 'px',\n 'mask-position-x': 'px',\n 'mask-position-y': 'px',\n 'mask-size': 'px',\n 'max-logical-height': 'px',\n 'max-logical-width': 'px',\n 'min-height': 'px',\n 'min-width': 'px',\n 'min-logical-height': 'px',\n 'min-logical-width': 'px',\n motion: 'px',\n 'motion-offset': 'px',\n outline: 'px',\n 'outline-offset': 'px',\n 'outline-width': 'px',\n padding: 'px',\n 'padding-bottom': 'px',\n 'padding-left': 'px',\n 'padding-right': 'px',\n 'padding-top': 'px',\n 'padding-after': 'px',\n 'padding-before': 'px',\n 'padding-end': 'px',\n 'padding-start': 'px',\n 'perspective-origin-x': '%',\n 'perspective-origin-y': '%',\n perspective: 'px',\n right: 'px',\n 'shape-margin': 'px',\n size: 'px',\n 'text-indent': 'px',\n 'text-stroke': 'px',\n 'text-stroke-width': 'px',\n top: 'px',\n 'transform-origin': '%',\n 'transform-origin-x': '%',\n 'transform-origin-y': '%',\n 'transform-origin-z': '%',\n 'transition-delay': 'ms',\n 'transition-duration': 'ms',\n 'vertical-align': 'px',\n width: 'px',\n 'word-spacing': 'px',\n // Not existing properties.\n // Used to avoid issues with jss-expand intergration.\n 'box-shadow-x': 'px',\n 'box-shadow-y': 'px',\n 'box-shadow-blur': 'px',\n 'box-shadow-spread': 'px',\n 'font-line-height': 'px',\n 'text-shadow-x': 'px',\n 'text-shadow-y': 'px',\n 'text-shadow-blur': 'px'\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nexports.default = jssExpand;\n\nvar _props = require('./props');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/**\n * Map values by given prop.\n *\n * @param {Array} array of values\n * @param {String} original property\n * @param {String} original rule\n * @return {String} mapped values\n */\nfunction mapValuesByProp(value, prop, rule) {\n return value.map(function (item) {\n return objectToArray(item, prop, rule, false, true);\n });\n}\n\n/**\n * Convert array to nested array, if needed\n *\n * @param {Array} array of values\n * @param {String} original property\n * @param {Object} sheme, for converting arrays in strings\n * @param {Object} original rule\n * @return {String} converted string\n */\nfunction processArray(value, prop, scheme, rule) {\n if (scheme[prop] == null) return value;\n if (value.length === 0) return [];\n if (Array.isArray(value[0])) return processArray(value[0], prop, scheme);\n if (_typeof(value[0]) === 'object') {\n return mapValuesByProp(value, prop, rule);\n }\n\n return [value];\n}\n\n/**\n * Convert object to array.\n *\n * @param {Object} object of values\n * @param {String} original property\n * @param {Object} original rule\n * @param {Boolean} is fallback prop\n * @param {Boolean} object is inside array\n * @return {String} converted string\n */\nfunction objectToArray(value, prop, rule, isFallback, isInArray) {\n if (!(_props.propObj[prop] || _props.customPropObj[prop])) return [];\n\n var result = [];\n\n // Check if exists any non-standart property\n if (_props.customPropObj[prop]) {\n value = customPropsToStyle(value, rule, _props.customPropObj[prop], isFallback);\n }\n\n // Pass throught all standart props\n if (Object.keys(value).length) {\n for (var baseProp in _props.propObj[prop]) {\n if (value[baseProp]) {\n if (Array.isArray(value[baseProp])) {\n result.push(_props.propArrayInObj[baseProp] === null ? value[baseProp] : value[baseProp].join(' '));\n } else result.push(value[baseProp]);\n continue;\n }\n\n // Add default value from props config.\n if (_props.propObj[prop][baseProp] != null) {\n result.push(_props.propObj[prop][baseProp]);\n }\n }\n }\n\n if (!result.length || isInArray) return result;\n return [result];\n}\n\n/**\n * Convert custom properties values to styles adding them to rule directly\n *\n * @param {Object} object of values\n * @param {Object} original rule\n * @param {String} property, that contain partial custom properties\n * @param {Boolean} is fallback prop\n * @return {Object} value without custom properties, that was already added to rule\n */\nfunction customPropsToStyle(value, rule, customProps, isFallback) {\n for (var prop in customProps) {\n var propName = customProps[prop];\n\n // If current property doesn't exist already in rule - add new one\n if (typeof value[prop] !== 'undefined' && (isFallback || !rule.prop(propName))) {\n var appendedValue = styleDetector(_defineProperty({}, propName, value[prop]), rule)[propName];\n\n // Add style directly in rule\n if (isFallback) rule.style.fallbacks[propName] = appendedValue;else rule.style[propName] = appendedValue;\n }\n // Delete converted property to avoid double converting\n delete value[prop];\n }\n\n return value;\n}\n\n/**\n * Detect if a style needs to be converted.\n *\n * @param {Object} style\n * @param {Object} rule\n * @param {Boolean} is fallback prop\n * @return {Object} convertedStyle\n */\nfunction styleDetector(style, rule, isFallback) {\n for (var prop in style) {\n var value = style[prop];\n\n if (Array.isArray(value)) {\n // Check double arrays to avoid recursion.\n if (!Array.isArray(value[0])) {\n if (prop === 'fallbacks') {\n for (var index = 0; index < style.fallbacks.length; index++) {\n style.fallbacks[index] = styleDetector(style.fallbacks[index], rule, true);\n }\n continue;\n }\n\n style[prop] = processArray(value, prop, _props.propArray);\n // Avoid creating properties with empty values\n if (!style[prop].length) delete style[prop];\n }\n } else if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n if (prop === 'fallbacks') {\n style.fallbacks = styleDetector(style.fallbacks, rule, true);\n continue;\n }\n\n style[prop] = objectToArray(value, prop, rule, isFallback);\n // Avoid creating properties with empty values\n if (!style[prop].length) delete style[prop];\n }\n\n // Maybe a computed value resulting in an empty string\n else if (style[prop] === '') delete style[prop];\n }\n\n return style;\n}\n\n/**\n * Adds possibility to write expanded styles.\n *\n * @param {Rule} rule\n * @api public\n */\nfunction jssExpand() {\n function onProcessStyle(style, rule) {\n if (!style || rule.type !== 'style') return style;\n\n if (Array.isArray(style)) {\n // Pass rules one by one and reformat them\n for (var index = 0; index < style.length; index++) {\n style[index] = styleDetector(style[index], rule);\n }\n return style;\n }\n\n return styleDetector(style, rule);\n }\n\n return { onProcessStyle: onProcessStyle };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * A scheme for converting properties from array to regular style.\n * All properties listed below will be transformed to a string separated by space.\n */\nvar propArray = exports.propArray = {\n 'background-size': true,\n 'background-position': true,\n border: true,\n 'border-bottom': true,\n 'border-left': true,\n 'border-top': true,\n 'border-right': true,\n 'border-radius': true,\n 'border-image': true,\n 'border-width': true,\n 'border-style': true,\n 'border-color': true,\n 'box-shadow': true,\n flex: true,\n margin: true,\n padding: true,\n outline: true,\n 'transform-origin': true,\n transform: true,\n transition: true\n\n /**\n * A scheme for converting arrays to regular styles inside of objects.\n * For e.g.: \"{position: [0, 0]}\" => \"background-position: 0 0;\".\n */\n};var propArrayInObj = exports.propArrayInObj = {\n position: true, // background-position\n size: true // background-size\n\n\n /**\n * A scheme for parsing and building correct styles from passed objects.\n */\n};var propObj = exports.propObj = {\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n margin: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n background: {\n attachment: null,\n color: null,\n image: null,\n position: null,\n repeat: null\n },\n border: {\n width: null,\n style: null,\n color: null\n },\n 'border-top': {\n width: null,\n style: null,\n color: null\n },\n 'border-right': {\n width: null,\n style: null,\n color: null\n },\n 'border-bottom': {\n width: null,\n style: null,\n color: null\n },\n 'border-left': {\n width: null,\n style: null,\n color: null\n },\n outline: {\n width: null,\n style: null,\n color: null\n },\n 'list-style': {\n type: null,\n position: null,\n image: null\n },\n transition: {\n property: null,\n duration: null,\n 'timing-function': null,\n timingFunction: null, // Needed for avoiding comilation issues with jss-camel-case\n delay: null\n },\n animation: {\n name: null,\n duration: null,\n 'timing-function': null,\n timingFunction: null, // Needed to avoid compilation issues with jss-camel-case\n delay: null,\n 'iteration-count': null,\n iterationCount: null, // Needed to avoid compilation issues with jss-camel-case\n direction: null,\n 'fill-mode': null,\n fillMode: null, // Needed to avoid compilation issues with jss-camel-case\n 'play-state': null,\n playState: null // Needed to avoid compilation issues with jss-camel-case\n },\n 'box-shadow': {\n x: 0,\n y: 0,\n blur: 0,\n spread: 0,\n color: null,\n inset: null\n },\n 'text-shadow': {\n x: 0,\n y: 0,\n blur: null,\n color: null\n }\n\n /**\n * A scheme for converting non-standart properties inside object.\n * For e.g.: include 'border-radius' property inside 'border' object.\n */\n};var customPropObj = exports.customPropObj = {\n border: {\n radius: 'border-radius',\n image: 'border-image',\n width: 'border-width',\n style: 'border-style',\n color: 'border-color'\n },\n background: {\n size: 'background-size',\n image: 'background-image'\n },\n font: {\n style: 'font-style',\n variant: 'font-variant',\n weight: 'font-weight',\n stretch: 'font-stretch',\n size: 'font-size',\n family: 'font-family',\n lineHeight: 'line-height', // Needed to avoid compilation issues with jss-camel-case\n 'line-height': 'line-height'\n },\n flex: {\n grow: 'flex-grow',\n basis: 'flex-basis',\n direction: 'flex-direction',\n wrap: 'flex-wrap',\n flow: 'flex-flow',\n shrink: 'flex-shrink'\n },\n align: {\n self: 'align-self',\n items: 'align-items',\n content: 'align-content'\n },\n grid: {\n 'template-columns': 'grid-template-columns',\n templateColumns: 'grid-template-columns',\n\n 'template-rows': 'grid-template-rows',\n templateRows: 'grid-template-rows',\n\n 'template-areas': 'grid-template-areas',\n templateAreas: 'grid-template-areas',\n\n template: 'grid-template',\n\n 'auto-columns': 'grid-auto-columns',\n autoColumns: 'grid-auto-columns',\n\n 'auto-rows': 'grid-auto-rows',\n autoRows: 'grid-auto-rows',\n\n 'auto-flow': 'grid-auto-flow',\n autoFlow: 'grid-auto-flow',\n\n row: 'grid-row',\n column: 'grid-column',\n\n 'row-start': 'grid-row-start',\n rowStart: 'grid-row-start',\n 'row-end': 'grid-row-end',\n rowEnd: 'grid-row-end',\n\n 'column-start': 'grid-column-start',\n columnStart: 'grid-column-start',\n 'column-end': 'grid-column-end',\n columnEnd: 'grid-column-end',\n\n area: 'grid-area',\n gap: 'grid-gap',\n\n 'row-gap': 'grid-row-gap',\n rowGap: 'grid-row-gap',\n\n 'column-gap': 'grid-column-gap',\n columnGap: 'grid-column-gap'\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = jssVendorPrefixer;\n\nvar _cssVendor = require('css-vendor');\n\nvar vendor = _interopRequireWildcard(_cssVendor);\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\n/**\n * Add vendor prefix to a property name when needed.\n *\n * @param {Rule} rule\n * @api public\n */\nfunction jssVendorPrefixer() {\n function onProcessRule(rule) {\n if (rule.type === 'keyframes') {\n rule.key = '@' + vendor.prefix.css + rule.key.substr(1);\n }\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n for (var prop in style) {\n var value = style[prop];\n\n var changeProp = false;\n var supportedProp = vendor.supportedProperty(prop);\n if (supportedProp && supportedProp !== prop) changeProp = true;\n\n var changeValue = false;\n var supportedValue = vendor.supportedValue(supportedProp, value);\n if (supportedValue && supportedValue !== value) changeValue = true;\n\n if (changeProp || changeValue) {\n if (changeProp) delete style[prop];\n style[supportedProp || prop] = supportedValue || value;\n }\n }\n\n return style;\n }\n\n function onChangeValue(value, prop) {\n return vendor.supportedValue(prop, value);\n }\n\n return { onProcessRule: onProcessRule, onProcessStyle: onProcessStyle, onChangeValue: onChangeValue };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.supportedValue = exports.supportedProperty = exports.prefix = undefined;\n\nvar _prefix = require('./prefix');\n\nvar _prefix2 = _interopRequireDefault(_prefix);\n\nvar _supportedProperty = require('./supported-property');\n\nvar _supportedProperty2 = _interopRequireDefault(_supportedProperty);\n\nvar _supportedValue = require('./supported-value');\n\nvar _supportedValue2 = _interopRequireDefault(_supportedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n prefix: _prefix2['default'],\n supportedProperty: _supportedProperty2['default'],\n supportedValue: _supportedValue2['default']\n}; /**\n * CSS Vendor prefix detection and property feature testing.\n *\n * @copyright Oleg Slobodskoi 2015\n * @website https://github.com/jsstyles/css-vendor\n * @license MIT\n */\n\nexports.prefix = _prefix2['default'];\nexports.supportedProperty = _supportedProperty2['default'];\nexports.supportedValue = _supportedValue2['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = supportedProperty;\n\nvar _isInBrowser = require('is-in-browser');\n\nvar _isInBrowser2 = _interopRequireDefault(_isInBrowser);\n\nvar _prefix = require('./prefix');\n\nvar _prefix2 = _interopRequireDefault(_prefix);\n\nvar _camelize = require('./camelize');\n\nvar _camelize2 = _interopRequireDefault(_camelize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar el = void 0;\nvar cache = {};\n\nif (_isInBrowser2['default']) {\n el = document.createElement('p');\n\n /**\n * We test every property on vendor prefix requirement.\n * Once tested, result is cached. It gives us up to 70% perf boost.\n * http://jsperf.com/element-style-object-access-vs-plain-object\n *\n * Prefill cache with known css properties to reduce amount of\n * properties we need to feature test at runtime.\n * http://davidwalsh.name/vendor-prefix\n */\n var computed = window.getComputedStyle(document.documentElement, '');\n for (var key in computed) {\n if (!isNaN(key)) cache[computed[key]] = computed[key];\n }\n}\n\n/**\n * Test if a property is supported, returns supported property with vendor\n * prefix if required. Returns `false` if not supported.\n *\n * @param {String} prop dash separated\n * @return {String|Boolean}\n * @api public\n */\nfunction supportedProperty(prop) {\n // For server-side rendering.\n if (!el) return prop;\n\n // We have not tested this prop yet, lets do the test.\n if (cache[prop] != null) return cache[prop];\n\n // Camelization is required because we can't test using\n // css syntax for e.g. in FF.\n // Test if property is supported as it is.\n if ((0, _camelize2['default'])(prop) in el.style) {\n cache[prop] = prop;\n }\n // Test if property is supported with vendor prefix.\n else if (_prefix2['default'].js + (0, _camelize2['default'])('-' + prop) in el.style) {\n cache[prop] = _prefix2['default'].css + prop;\n } else {\n cache[prop] = false;\n }\n\n return cache[prop];\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = camelize;\nvar regExp = /[-\\s]+(.)?/g;\n\n/**\n * Convert dash separated strings to camel cased.\n *\n * @param {String} str\n * @return {String}\n */\nfunction camelize(str) {\n return str.replace(regExp, toUpper);\n}\n\nfunction toUpper(match, c) {\n return c ? c.toUpperCase() : '';\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = supportedValue;\n\nvar _isInBrowser = require('is-in-browser');\n\nvar _isInBrowser2 = _interopRequireDefault(_isInBrowser);\n\nvar _prefix = require('./prefix');\n\nvar _prefix2 = _interopRequireDefault(_prefix);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar cache = {};\nvar el = void 0;\n\nif (_isInBrowser2['default']) el = document.createElement('p');\n\n/**\n * Returns prefixed value if needed. Returns `false` if value is not supported.\n *\n * @param {String} property\n * @param {String} value\n * @return {String|Boolean}\n * @api public\n */\nfunction supportedValue(property, value) {\n // For server-side rendering.\n if (!el) return value;\n\n // It is a string or a number as a string like '1'.\n // We want only prefixable values here.\n if (typeof value !== 'string' || !isNaN(parseInt(value, 10))) return value;\n\n var cacheKey = property + value;\n\n if (cache[cacheKey] != null) return cache[cacheKey];\n\n // IE can even throw an error in some cases, for e.g. style.content = 'bar'\n try {\n // Test value as it is.\n el.style[property] = value;\n } catch (err) {\n cache[cacheKey] = false;\n return false;\n }\n\n // Value is supported as it is.\n if (el.style[property] !== '') {\n cache[cacheKey] = value;\n } else {\n // Test value with vendor prefix.\n value = _prefix2['default'].css + value;\n\n // Hardcode test to convert \"flex\" to \"-ms-flexbox\" for IE10.\n if (value === '-ms-flex') value = '-ms-flexbox';\n\n el.style[property] = value;\n\n // Value is supported with vendor prefix.\n if (el.style[property] !== '') cache[cacheKey] = value;\n }\n\n if (!cache[cacheKey]) cache[cacheKey] = false;\n\n // Reset style value.\n el.style[property] = '';\n\n return cache[cacheKey];\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = jssPropsSort;\n/**\n * Sort props by length.\n */\nfunction jssPropsSort() {\n function sort(prop0, prop1) {\n return prop0.length - prop1.length;\n }\n\n function onProcessStyle(style, rule) {\n if (rule.type !== 'style') return style;\n\n var newStyle = {};\n var props = Object.keys(style).sort(sort);\n for (var prop in props) {\n newStyle[props[prop]] = style[props[prop]];\n }\n return newStyle;\n }\n\n return { onProcessStyle: onProcessStyle };\n}","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar getDisplayName = function getDisplayName(Component) {\n if (typeof Component === 'string') {\n return Component;\n }\n\n if (!Component) {\n return undefined;\n }\n\n return Component.displayName || Component.name || 'Component';\n};\n\nvar _default = getDisplayName;\nexports.default = _default;","import baseMerge from './_baseMerge.js';\nimport createAssigner from './_createAssigner.js';\n\n/**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\nvar mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n});\n\nexport default mergeWith;\n","import baseClamp from './_baseClamp.js';\nimport toNumber from './toNumber.js';\n\n/**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\nfunction clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n}\n\nexport default clamp;\n","/**\n * A CSS fragment to set `display: none;` when the host is hidden using the [hidden] attribute.\n * @public\n */\nexport const hidden = `:host([hidden]){display:none}`;\n/**\n * Applies a CSS display property.\n * Also adds CSS rules to not display the element when the [hidden] attribute is applied to the element.\n * @param display - The CSS display property value\n * @public\n */\nexport function display(displayValue) {\n return `${hidden}:host{display:${displayValue}}`;\n}\n","import { __decorate } from \"tslib\";\nimport { attr } from \"@microsoft/fast-element\";\n/**\n * Some states and properties are applicable to all host language elements regardless of whether a role is applied.\n * The following global states and properties are supported by all roles and by all base markup elements.\n * {@link https://www.w3.org/TR/wai-aria-1.1/#global_states}\n *\n * This is intended to be used as a mixin. Be sure you extend FASTElement.\n *\n * @public\n */\nexport class ARIAGlobalStatesAndProperties {\n}\n__decorate([\n attr({ attribute: \"aria-atomic\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaAtomic\", void 0);\n__decorate([\n attr({ attribute: \"aria-busy\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaBusy\", void 0);\n__decorate([\n attr({ attribute: \"aria-controls\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaControls\", void 0);\n__decorate([\n attr({ attribute: \"aria-current\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaCurrent\", void 0);\n__decorate([\n attr({ attribute: \"aria-describedby\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaDescribedby\", void 0);\n__decorate([\n attr({ attribute: \"aria-details\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaDetails\", void 0);\n__decorate([\n attr({ attribute: \"aria-disabled\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaDisabled\", void 0);\n__decorate([\n attr({ attribute: \"aria-errormessage\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaErrormessage\", void 0);\n__decorate([\n attr({ attribute: \"aria-flowto\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaFlowto\", void 0);\n__decorate([\n attr({ attribute: \"aria-haspopup\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaHaspopup\", void 0);\n__decorate([\n attr({ attribute: \"aria-hidden\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaHidden\", void 0);\n__decorate([\n attr({ attribute: \"aria-invalid\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaInvalid\", void 0);\n__decorate([\n attr({ attribute: \"aria-keyshortcuts\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaKeyshortcuts\", void 0);\n__decorate([\n attr({ attribute: \"aria-label\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaLabel\", void 0);\n__decorate([\n attr({ attribute: \"aria-labelledby\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaLabelledby\", void 0);\n__decorate([\n attr({ attribute: \"aria-live\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaLive\", void 0);\n__decorate([\n attr({ attribute: \"aria-owns\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaOwns\", void 0);\n__decorate([\n attr({ attribute: \"aria-relevant\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaRelevant\", void 0);\n__decorate([\n attr({ attribute: \"aria-roledescription\", mode: \"fromView\" })\n], ARIAGlobalStatesAndProperties.prototype, \"ariaRoledescription\", void 0);\n","/**\n * The CSS value for disabled cursors.\n * @public\n */\nexport const disabledCursor = \"not-allowed\";\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class CancelIcon extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M14.1016 1.60156L8.20312 7.5L14.1016 13.3984L13.3984 14.1016L7.5 8.20312L1.60156 14.1016L0.898438 13.3984L6.79688 7.5L0.898438 1.60156L1.60156 0.898438L7.5 6.79688L13.3984 0.898438L14.1016 1.60156Z\" })));\n }\n}\n","import baseForOwn from './_baseForOwn.js';\n\n/**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n}\n\nexport default baseInverter;\n","import baseInverter from './_baseInverter.js';\n\n/**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\nfunction createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n}\n\nexport default createInverter;\n","import constant from './constant.js';\nimport createInverter from './_createInverter.js';\nimport identity from './identity.js';\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/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\nvar invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n}, constant(identity));\n\nexport default invert;\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 * The base implementation of `_.has` 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 baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n}\n\nexport default baseHas;\n","import baseHas from './_baseHas.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\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 = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\nfunction has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n}\n\nexport default has;\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { DesignSystemDefaults, neutralLayerL1, } from \"@microsoft/fast-components-styles-msft\";\nimport { DesignSystemConsumer, DesignSystemProvider, } from \"@microsoft/fast-jss-manager-react\";\nimport { get, has, memoize } from \"lodash-es\";\nimport React from \"react\";\nexport default class Background extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n tag: void 0,\n value: void 0,\n drawBackground: void 0,\n designSystemMergingFunction: void 0,\n };\n this.getDesignSystemOverrides = memoize((color) => {\n return { backgroundColor: color };\n });\n this.withContext = (designSystem) => {\n const background = this.props\n .value;\n const color = typeof background === \"string\"\n ? background\n : typeof background === \"function\"\n ? background(designSystem)\n : has(designSystem.neutralPalette, background)\n ? get(designSystem.neutralPalette, background)\n : DesignSystemDefaults.neutralPalette[background] ||\n Background.defaultProps.value(DesignSystemDefaults);\n const style = Object.assign({}, this.props.style, this.props.drawBackground\n ? {\n backgroundColor: color,\n }\n : void 0);\n return (React.createElement(DesignSystemProvider, { designSystem: this.getDesignSystemOverrides(color), designSystemMergingFunction: this.props.designSystemMergingFunction }, (this.tag && (React.createElement(this.tag, Object.assign({}, this.unhandledProps(), { style: style }), this.props.children))) ||\n this.props.children));\n };\n }\n render() {\n return React.createElement(DesignSystemConsumer, null, this.withContext);\n }\n get tag() {\n return this.props.tag;\n }\n}\nBackground.defaultProps = {\n tag: \"div\",\n value: neutralLayerL1,\n drawBackground: true,\n};\nexport * from \"./background.props\";\n","/**\n * Retrieves the \"composed parent\" element of a node, ignoring DOM tree boundaries.\n * When the parent of a node is a shadow-root, it will return the host\n * element of the shadow root. Otherwise it will return the parent node or null if\n * no parent node exists.\n * @param element - The element for which to retrieve the composed parent\n *\n * @public\n */\nexport function composedParent(element) {\n const parentNode = element.parentElement;\n if (parentNode) {\n return parentNode;\n }\n else {\n const rootNode = element.getRootNode();\n if (rootNode.host instanceof HTMLElement) {\n // this is shadow-root\n return rootNode.host;\n }\n }\n return null;\n}\n","import { __decorate } from \"tslib\";\nimport { attr, customElement, FASTElement, observable, Observable, } from \"@microsoft/fast-element\";\nimport { composedParent } from \"../utilities/composed-parent\";\nconst supportsAdoptedStylesheets = \"adoptedStyleSheets\" in window.ShadowRoot.prototype;\n/**\n * Determines if the element is {@link DesignSystemConsumer}\n * @param element - the element to test.\n * @public\n */\nexport function isDesignSystemConsumer(element) {\n const provider = element.provider;\n return (provider !== null &&\n provider !== void 0 &&\n DesignSystemProvider.isDesignSystemProvider(provider));\n}\n/**\n * Behavior to connect a {@link DesignSystemConsumer} to the nearest {@link DesignSystemProvider}\n * @public\n */\nexport const designSystemConsumerBehavior = {\n bind(source) {\n source.provider = DesignSystemProvider.findProvider(source);\n },\n /* eslint-disable-next-line */\n unbind(source) { },\n};\n/**\n * A element to provide Design System values to consumers via CSS custom properties\n * and to resolve recipe values.\n *\n * @public\n */\nexport class DesignSystemProvider extends FASTElement {\n constructor() {\n super();\n /**\n * Allows other components to identify this as a provider.\n * Using instanceof DesignSystemProvider did not seem to work.\n *\n * @public\n */\n this.isDesignSystemProvider = true;\n /**\n * The design-system object.\n * This is \"observable\" but will notify on object mutation\n * instead of object assignment\n *\n * @public\n */\n this.designSystem = {};\n /**\n * Applies the default design-system values to the instance where properties\n * are not explicitly assigned. This is generally used to set the root design\n * system context.\n *\n * @public\n * @remarks\n * HTML Attribute: use-defaults\n */\n this.useDefaults = false;\n /**\n * The parent provider the the DesignSystemProvider instance.\n * @public\n */\n this.provider = null;\n /**\n * Stores all CSSCustomPropertyDefinitions registered with the provider.\n */\n this.cssCustomPropertyDefinitions = new Map();\n /**\n * Handle changes to design-system-provider IDL and content attributes\n * that reflect to design-system properties.\n */\n this.attributeChangeHandler = {\n handleChange: (source, key) => {\n const value = this[key];\n if (this.isValidDesignSystemValue(value)) {\n this.designSystem[key] = value;\n const property = this.designSystemProperties[key];\n if (property && property.cssCustomProperty) {\n this.setCustomProperty({\n name: property.cssCustomProperty,\n value,\n });\n }\n }\n else {\n this.syncDesignSystemWithProvider();\n const property = this.designSystemProperties[key].cssCustomProperty;\n if (typeof property === \"string\") {\n this.deleteCustomProperty(property);\n }\n this.writeCustomProperties();\n }\n },\n };\n /**\n * Handle changes to the local design-system property.\n */\n this.localDesignSystemChangeHandler = {\n handleChange: this.writeCustomProperties.bind(this),\n };\n /**\n * Handle changes to the upstream design-system provider\n */\n this.providerDesignSystemChangeHandler = {\n handleChange: (source, key) => {\n if (source[key] !== this.designSystem[key] &&\n !this.isValidDesignSystemValue(this[key])) {\n this.designSystem[key] = source[key];\n }\n },\n };\n /**\n * Writes a CSS custom property to the design system provider,\n * evaluating any function values with the design system.\n */\n this.setCustomProperty = (definition) => {\n this.customPropertyTarget.setProperty(`--${definition.name}`, this.evaluate(definition));\n };\n /**\n * Removes a CSS custom property from the provider.\n */\n this.deleteCustomProperty = (name) => {\n this.customPropertyTarget.removeProperty(`--${name}`);\n };\n if (supportsAdoptedStylesheets && this.shadowRoot !== null) {\n const sheet = new CSSStyleSheet();\n sheet.insertRule(\":host{}\");\n this.shadowRoot.adoptedStyleSheets = [\n ...this.shadowRoot.adoptedStyleSheets,\n sheet,\n ];\n this.customPropertyTarget = sheet.rules[0].style;\n }\n else {\n this.customPropertyTarget = this.style;\n }\n this.$fastController.addBehaviors([designSystemConsumerBehavior]);\n }\n /**\n * Read all tag-names that are associated to\n * design-system-providers\n *\n * @public\n */\n static get tagNames() {\n return DesignSystemProvider._tagNames;\n }\n /**\n * Determines if an element is a DesignSystemProvider\n * @param el - The element to test\n *\n * @public\n */\n static isDesignSystemProvider(el) {\n return (el.isDesignSystemProvider ||\n DesignSystemProvider.tagNames.indexOf(el.tagName) !== -1);\n }\n /**\n * Finds the closest design-system-provider\n * to an element.\n *\n * @param el - The element from which to begin searching.\n * @public\n */\n static findProvider(el) {\n if (isDesignSystemConsumer(el)) {\n return el.provider;\n }\n let parent = composedParent(el);\n while (parent !== null) {\n if (DesignSystemProvider.isDesignSystemProvider(parent)) {\n el.provider = parent; // Store provider on ourselves for future reference\n return parent;\n }\n else if (isDesignSystemConsumer(parent)) {\n el.provider = parent.provider;\n return parent.provider;\n }\n else {\n parent = composedParent(parent);\n }\n }\n return null;\n }\n /**\n * Registers a tag-name to be associated with\n * the design-system-provider class. All tag-names for DesignSystemProvider elements\n * must be registered for proper property resolution.\n *\n * @param tagName - the HTML Element tag name to register as a DesignSystemProvider.\n *\n * @public\n */\n static registerTagName(tagName) {\n const tagNameUpper = tagName.toUpperCase();\n if (DesignSystemProvider.tagNames.indexOf(tagNameUpper) === -1) {\n DesignSystemProvider._tagNames.push(tagNameUpper);\n }\n }\n useDefaultsChanged() {\n if (this.useDefaults) {\n const props = this.designSystemProperties;\n Object.keys(props).forEach((key) => {\n if (this[key] === void 0) {\n this[key] = props[key].default;\n }\n });\n }\n }\n providerChanged(prev, next) {\n if (prev instanceof HTMLElement) {\n Object.keys(prev.designSystemProperties).forEach(key => {\n Observable.getNotifier(prev.designSystem).unsubscribe(this.providerDesignSystemChangeHandler, key);\n });\n }\n if (next instanceof HTMLElement &&\n DesignSystemProvider.isDesignSystemProvider(next)) {\n Object.keys(next.designSystemProperties).forEach(key => {\n Observable.getNotifier(next.designSystem).subscribe(this.providerDesignSystemChangeHandler, key);\n });\n this.syncDesignSystemWithProvider();\n }\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n const selfNotifier = Observable.getNotifier(this);\n const designSystemNotifier = Observable.getNotifier(this.designSystem);\n Object.keys(this.designSystemProperties).forEach(property => {\n observable(this.designSystem, property);\n selfNotifier.subscribe(this.attributeChangeHandler, property); // Notify ourselves when properties related to DS change\n designSystemNotifier.subscribe(this.localDesignSystemChangeHandler, property); // Notify ourselves when design system properties change\n const value = this[property];\n // If property is set then put it onto the design system\n if (this.isValidDesignSystemValue(value)) {\n this.designSystem[property] = value;\n const { cssCustomProperty } = this.designSystemProperties[property];\n if (typeof cssCustomProperty === \"string\") {\n this.setCustomProperty({\n name: cssCustomProperty,\n value,\n });\n }\n }\n });\n // Register all properties that may have been attached before construction\n if (Array.isArray(this.disconnectedCSSCustomPropertyRegistry)) {\n for (let i = 0; i < this.disconnectedCSSCustomPropertyRegistry.length; i++) {\n this.registerCSSCustomProperty(this.disconnectedCSSCustomPropertyRegistry[i]);\n }\n delete this.disconnectedCSSCustomPropertyRegistry;\n }\n if (Array.isArray(this.disconnectedRegistry)) {\n for (let i = 0; i < this.disconnectedRegistry.length; i++) {\n this.disconnectedRegistry[i](this);\n }\n delete this.disconnectedRegistry;\n }\n }\n /**\n * Register a {@link @microsoft/fast-foundation#CSSCustomPropertyDefinition} with the DeignSystemProvider.\n * Registering a {@link @microsoft/fast-foundation#CSSCustomPropertyDefinition} will create the CSS custom property.\n *\n * @param behavior - The {@link @microsoft/fast-foundation#CSSCustomPropertyDefinition} to register.\n * @public\n */\n registerCSSCustomProperty(behavior) {\n const cached = this.cssCustomPropertyDefinitions.get(behavior.name);\n if (cached) {\n cached.count += 1;\n }\n else {\n this.cssCustomPropertyDefinitions.set(behavior.name, Object.assign(Object.assign({}, behavior), { count: 1 }));\n this.setCustomProperty(behavior);\n }\n }\n /**\n * Unregister a {@link @microsoft/fast-foundation#CSSCustomPropertyDefinition} from the DeignSystemProvider.\n * If all registrations of the definition are unregistered, the CSS custom property will be removed.\n *\n * @param behavior - The {@link @microsoft/fast-foundation#CSSCustomPropertyDefinition} to register.\n * @public\n */\n unregisterCSSCustomProperty(behavior) {\n const cached = this.cssCustomPropertyDefinitions.get(behavior.name);\n if (cached) {\n cached.count -= 1;\n if (cached.count === 0) {\n this.cssCustomPropertyDefinitions.delete(behavior.name);\n this.deleteCustomProperty(behavior.name);\n }\n }\n }\n /**\n * Writes all CSS custom property definitions to the design system provider.\n */\n writeCustomProperties() {\n this.cssCustomPropertyDefinitions.forEach(this.setCustomProperty);\n }\n /**\n * Evaluates a CSSCustomPropertyDefinition with the current design system.\n *\n * @public\n */\n evaluate(definition) {\n return typeof definition.value === \"function\"\n ? // use spread on the designSystem object to circumvent memoization\n // done in the color recipes - we use the same *reference* in WC\n // for performance improvements but that throws off the recipes\n // We should look at making the recipes use simple args that\n // we can individually memoize.\n definition.value(Object.assign({}, this.designSystem))\n : definition.value;\n }\n /**\n * Synchronize the provider's design system with the local\n * overrides. Any value defined on the instance will take priority\n * over the value defined by the provider\n */\n syncDesignSystemWithProvider() {\n if (this.provider) {\n const designProperties = this.designSystemProperties;\n Object.keys(designProperties).forEach((key) => {\n const property = designProperties[key];\n if (!this.isValidDesignSystemValue(property)) {\n this.designSystem[key] = this.provider.designSystem[key];\n }\n });\n }\n }\n isValidDesignSystemValue(value) {\n return value !== void 0 && value !== null;\n }\n}\n/**\n * Stores a list of all element tag-names that associated\n * to design-system-providers\n */\nDesignSystemProvider._tagNames = [];\n__decorate([\n attr({ attribute: \"use-defaults\", mode: \"boolean\" })\n], DesignSystemProvider.prototype, \"useDefaults\", void 0);\n__decorate([\n observable\n], DesignSystemProvider.prototype, \"provider\", void 0);\n/**\n * Defines a design-system-provider custom element, registering the tag-name so that the element can be property resolved by {@link DesignSystemConsumer | DesignSystemConsumers}.\n *\n * @param nameOrDef - the name or {@link @microsoft/fast-element#PartialFASTElementDefinition | element definition}\n * @public\n */\nexport function defineDesignSystemProvider(nameOrDef) {\n return (providerCtor) => {\n customElement(nameOrDef)(providerCtor);\n providerCtor.registerTagName(typeof nameOrDef === \"string\" ? nameOrDef : nameOrDef.name);\n };\n}\n/**\n * @internal\n * @deprecated - use {@link defineDesignSystemProvider}\n */\nexport const designSystemProvider = defineDesignSystemProvider;\n","/*!\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n */\r\nexport var Content360ContentGroupingType;\r\n(function (Content360ContentGroupingType) {\r\n Content360ContentGroupingType[\"MoreCoverage\"] = \"moreCoverage\";\r\n Content360ContentGroupingType[\"MorePerspectives\"] = \"morePerspectives\";\r\n Content360ContentGroupingType[\"RelatedCoverage\"] = \"relatedCoverage\";\r\n Content360ContentGroupingType[\"Timeline\"] = \"timeline\";\r\n})(Content360ContentGroupingType || (Content360ContentGroupingType = {}));\r\n//# sourceMappingURL=Content360ContentGroupingType.js.map","var TAGS = {\n\t'' : ['',''],\n\t_ : ['',''],\n\t'\\n' : ['
'],\n\t' ' : ['
'],\n\t'-': ['
']\n};\n\n/** Outdent a string based on the first indented line's leading whitespace\n *\t@private\n */\nfunction outdent(str) {\n\treturn str.replace(RegExp('^'+(str.match(/^(\\t| )+/) || '')[0], 'gm'), '');\n}\n\n/** Encode special attribute characters to HTML entities in a String.\n *\t@private\n */\nfunction encodeAttr(str) {\n\treturn (str+'').replace(/\"/g, '"').replace(//g, '>');\n}\n\n/** Parse Markdown into an HTML String. */\nfunction parse(md) {\n\tvar tokenizer = /((?:^|\\n+)(?:\\n---+|\\* \\*(?: \\*)+)\\n)|(?:^```(\\w*)\\n([\\s\\S]*?)\\n```$)|((?:(?:^|\\n+)(?:\\t| {2,}).+)+\\n*)|((?:(?:^|\\n)([>*+-]|\\d+\\.)\\s+.*)+)|(?:\\!\\[([^\\]]*?)\\]\\(([^\\)]+?)\\))|(\\[)|(\\](?:\\(([^\\)]+?)\\))?)|(?:(?:^|\\n+)([^\\s].*)\\n(\\-{3,}|={3,})(?:\\n+|$))|(?:(?:^|\\n+)(#{1,3})\\s*(.+)(?:\\n+|$))|(?:`([^`].*?)`)|( \\n\\n*|\\n{2,}|__|\\*\\*|[_*])/gm,\n\t\tcontext = [],\n\t\tout = '',\n\t\tlast = 0,\n\t\tlinks = {},\n\t\tchunk, prev, token, inner, t;\n\n\tfunction tag(token) {\n\t\tvar desc = TAGS[token.replace(/\\*/g,'_')[1] || ''],\n\t\t\tend = context[context.length-1]==token;\n\t\tif (!desc) { return token; }\n\t\tif (!desc[1]) { return desc[0]; }\n\t\tcontext[end?'pop':'push'](token);\n\t\treturn desc[end|0];\n\t}\n\n\tfunction flush() {\n\t\tvar str = '';\n\t\twhile (context.length) { str += tag(context[context.length-1]); }\n\t\treturn str;\n\t}\n\n\tmd = md.replace(/^\\[(.+?)\\]:\\s*(.+)$/gm, function (s, name, url) {\n\t\tlinks[name.toLowerCase()] = url;\n\t\treturn '';\n\t}).replace(/^\\n+|\\n+$/g, '');\n\n\twhile ( (token=tokenizer.exec(md)) ) {\n\t\tprev = md.substring(last, token.index);\n\t\tlast = tokenizer.lastIndex;\n\t\tchunk = token[0];\n\t\tif (prev.match(/[^\\\\](\\\\\\\\)*\\\\$/)) {\n\t\t\t// escaped\n\t\t}\n\t\t// Code/Indent blocks:\n\t\telse if (token[3] || token[4]) {\n\t\t\tchunk = '
'+outdent(encodeAttr(token[3] || token[4]).replace(/^\\n+|\\n+$/g, ''))+'
';\n\t\t}\n\t\t// > Quotes, -* lists:\n\t\telse if (token[6]) {\n\t\t\tt = token[6];\n\t\t\tif (t.match(/\\./)) {\n\t\t\t\ttoken[5] = token[5].replace(/^\\d+/gm, '');\n\t\t\t}\n\t\t\tinner = parse(outdent(token[5].replace(/^\\s*[>*+.-]/gm, '')));\n\t\t\tif (t==='>') { t = 'blockquote'; }\n\t\t\telse {\n\t\t\t\tt = t.match(/\\./) ? 'ol' : 'ul';\n\t\t\t\tinner = inner.replace(/^(.*)(\\n|$)/gm, '
  • $1
  • ');\n\t\t\t}\n\t\t\tchunk = '<'+t+'>' + inner + '';\n\t\t}\n\t\t// Images:\n\t\telse if (token[8]) {\n\t\t\tchunk = \"\\\"\"\";\n\t\t}\n\t\t// Links:\n\t\telse if (token[10]) {\n\t\t\tout = out.replace('', (\"\"));\n\t\t\tchunk = flush() + '';\n\t\t}\n\t\telse if (token[9]) {\n\t\t\tchunk = '';\n\t\t}\n\t\t// Headings:\n\t\telse if (token[12] || token[14]) {\n\t\t\tt = 'h' + (token[14] ? token[14].length : (token[13][0]==='='?1:2));\n\t\t\tchunk = '<'+t+'>' + parse(token[12] || token[15]) + '';\n\t\t}\n\t\t// `code`:\n\t\telse if (token[16]) {\n\t\t\tchunk = ''+encodeAttr(token[16])+'';\n\t\t}\n\t\t// Inline formatting: *em*, **strong** & friends\n\t\telse if (token[17] || token[1]) {\n\t\t\tchunk = tag(token[17] || '--');\n\t\t}\n\t\tout += prev;\n\t\tout += chunk;\n\t}\n\n\treturn (out + md.substring(last) + flush()).trim();\n}\n\nexport default parse;\n//# sourceMappingURL=snarkdown.es.js.map\n","/**\n * Copyright 2016 Google Inc. All Rights Reserved.\n *\n * Licensed under the W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE.\n *\n * https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document\n *\n */\n(function() {\n'use strict';\n\n// Exit early if we're not running in a browser.\nif (typeof window !== 'object') {\n return;\n}\n\n// Exit early if all IntersectionObserver and IntersectionObserverEntry\n// features are natively supported.\nif ('IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype) {\n\n // Minimal polyfill for Edge 15's lack of `isIntersecting`\n // See: https://github.com/w3c/IntersectionObserver/issues/211\n if (!('isIntersecting' in window.IntersectionObserverEntry.prototype)) {\n Object.defineProperty(window.IntersectionObserverEntry.prototype,\n 'isIntersecting', {\n get: function () {\n return this.intersectionRatio > 0;\n }\n });\n }\n return;\n}\n\n\n/**\n * A local reference to the document.\n */\nvar document = window.document;\n\n\n/**\n * An IntersectionObserver registry. This registry exists to hold a strong\n * reference to IntersectionObserver instances currently observing a target\n * element. Without this registry, instances without another reference may be\n * garbage collected.\n */\nvar registry = [];\n\n\n/**\n * Creates the global IntersectionObserverEntry constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-entry\n * @param {Object} entry A dictionary of instance properties.\n * @constructor\n */\nfunction IntersectionObserverEntry(entry) {\n this.time = entry.time;\n this.target = entry.target;\n this.rootBounds = entry.rootBounds;\n this.boundingClientRect = entry.boundingClientRect;\n this.intersectionRect = entry.intersectionRect || getEmptyRect();\n this.isIntersecting = !!entry.intersectionRect;\n\n // Calculates the intersection ratio.\n var targetRect = this.boundingClientRect;\n var targetArea = targetRect.width * targetRect.height;\n var intersectionRect = this.intersectionRect;\n var intersectionArea = intersectionRect.width * intersectionRect.height;\n\n // Sets intersection ratio.\n if (targetArea) {\n // Round the intersection ratio to avoid floating point math issues:\n // https://github.com/w3c/IntersectionObserver/issues/324\n this.intersectionRatio = Number((intersectionArea / targetArea).toFixed(4));\n } else {\n // If area is zero and is intersecting, sets to 1, otherwise to 0\n this.intersectionRatio = this.isIntersecting ? 1 : 0;\n }\n}\n\n\n/**\n * Creates the global IntersectionObserver constructor.\n * https://w3c.github.io/IntersectionObserver/#intersection-observer-interface\n * @param {Function} callback The function to be invoked after intersection\n * changes have queued. The function is not invoked if the queue has\n * been emptied by calling the `takeRecords` method.\n * @param {Object=} opt_options Optional configuration options.\n * @constructor\n */\nfunction IntersectionObserver(callback, opt_options) {\n\n var options = opt_options || {};\n\n if (typeof callback != 'function') {\n throw new Error('callback must be a function');\n }\n\n if (options.root && options.root.nodeType != 1) {\n throw new Error('root must be an Element');\n }\n\n // Binds and throttles `this._checkForIntersections`.\n this._checkForIntersections = throttle(\n this._checkForIntersections.bind(this), this.THROTTLE_TIMEOUT);\n\n // Private properties.\n this._callback = callback;\n this._observationTargets = [];\n this._queuedEntries = [];\n this._rootMarginValues = this._parseRootMargin(options.rootMargin);\n\n // Public properties.\n this.thresholds = this._initThresholds(options.threshold);\n this.root = options.root || null;\n this.rootMargin = this._rootMarginValues.map(function(margin) {\n return margin.value + margin.unit;\n }).join(' ');\n}\n\n\n/**\n * The minimum interval within which the document will be checked for\n * intersection changes.\n */\nIntersectionObserver.prototype.THROTTLE_TIMEOUT = 100;\n\n\n/**\n * The frequency in which the polyfill polls for intersection changes.\n * this can be updated on a per instance basis and must be set prior to\n * calling `observe` on the first target.\n */\nIntersectionObserver.prototype.POLL_INTERVAL = null;\n\n/**\n * Use a mutation observer on the root element\n * to detect intersection changes.\n */\nIntersectionObserver.prototype.USE_MUTATION_OBSERVER = true;\n\n\n/**\n * Starts observing a target element for intersection changes based on\n * the thresholds values.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.observe = function(target) {\n var isTargetAlreadyObserved = this._observationTargets.some(function(item) {\n return item.element == target;\n });\n\n if (isTargetAlreadyObserved) {\n return;\n }\n\n if (!(target && target.nodeType == 1)) {\n throw new Error('target must be an Element');\n }\n\n this._registerInstance();\n this._observationTargets.push({element: target, entry: null});\n this._monitorIntersections();\n this._checkForIntersections();\n};\n\n\n/**\n * Stops observing a target element for intersection changes.\n * @param {Element} target The DOM element to observe.\n */\nIntersectionObserver.prototype.unobserve = function(target) {\n this._observationTargets =\n this._observationTargets.filter(function(item) {\n\n return item.element != target;\n });\n if (!this._observationTargets.length) {\n this._unmonitorIntersections();\n this._unregisterInstance();\n }\n};\n\n\n/**\n * Stops observing all target elements for intersection changes.\n */\nIntersectionObserver.prototype.disconnect = function() {\n this._observationTargets = [];\n this._unmonitorIntersections();\n this._unregisterInstance();\n};\n\n\n/**\n * Returns any queue entries that have not yet been reported to the\n * callback and clears the queue. This can be used in conjunction with the\n * callback to obtain the absolute most up-to-date intersection information.\n * @return {Array} The currently queued entries.\n */\nIntersectionObserver.prototype.takeRecords = function() {\n var records = this._queuedEntries.slice();\n this._queuedEntries = [];\n return records;\n};\n\n\n/**\n * Accepts the threshold value from the user configuration object and\n * returns a sorted array of unique threshold values. If a value is not\n * between 0 and 1 and error is thrown.\n * @private\n * @param {Array|number=} opt_threshold An optional threshold value or\n * a list of threshold values, defaulting to [0].\n * @return {Array} A sorted list of unique and valid threshold values.\n */\nIntersectionObserver.prototype._initThresholds = function(opt_threshold) {\n var threshold = opt_threshold || [0];\n if (!Array.isArray(threshold)) threshold = [threshold];\n\n return threshold.sort().filter(function(t, i, a) {\n if (typeof t != 'number' || isNaN(t) || t < 0 || t > 1) {\n throw new Error('threshold must be a number between 0 and 1 inclusively');\n }\n return t !== a[i - 1];\n });\n};\n\n\n/**\n * Accepts the rootMargin value from the user configuration object\n * and returns an array of the four margin values as an object containing\n * the value and unit properties. If any of the values are not properly\n * formatted or use a unit other than px or %, and error is thrown.\n * @private\n * @param {string=} opt_rootMargin An optional rootMargin value,\n * defaulting to '0px'.\n * @return {Array} An array of margin objects with the keys\n * value and unit.\n */\nIntersectionObserver.prototype._parseRootMargin = function(opt_rootMargin) {\n var marginString = opt_rootMargin || '0px';\n var margins = marginString.split(/\\s+/).map(function(margin) {\n var parts = /^(-?\\d*\\.?\\d+)(px|%)$/.exec(margin);\n if (!parts) {\n throw new Error('rootMargin must be specified in pixels or percent');\n }\n return {value: parseFloat(parts[1]), unit: parts[2]};\n });\n\n // Handles shorthand.\n margins[1] = margins[1] || margins[0];\n margins[2] = margins[2] || margins[0];\n margins[3] = margins[3] || margins[1];\n\n return margins;\n};\n\n\n/**\n * Starts polling for intersection changes if the polling is not already\n * happening, and if the page's visibility state is visible.\n * @private\n */\nIntersectionObserver.prototype._monitorIntersections = function() {\n if (!this._monitoringIntersections) {\n this._monitoringIntersections = true;\n\n // If a poll interval is set, use polling instead of listening to\n // resize and scroll events or DOM mutations.\n if (this.POLL_INTERVAL) {\n this._monitoringInterval = setInterval(\n this._checkForIntersections, this.POLL_INTERVAL);\n }\n else {\n addEvent(window, 'resize', this._checkForIntersections, true);\n addEvent(document, 'scroll', this._checkForIntersections, true);\n\n if (this.USE_MUTATION_OBSERVER && 'MutationObserver' in window) {\n this._domObserver = new MutationObserver(this._checkForIntersections);\n this._domObserver.observe(document, {\n attributes: true,\n childList: true,\n characterData: true,\n subtree: true\n });\n }\n }\n }\n};\n\n\n/**\n * Stops polling for intersection changes.\n * @private\n */\nIntersectionObserver.prototype._unmonitorIntersections = function() {\n if (this._monitoringIntersections) {\n this._monitoringIntersections = false;\n\n clearInterval(this._monitoringInterval);\n this._monitoringInterval = null;\n\n removeEvent(window, 'resize', this._checkForIntersections, true);\n removeEvent(document, 'scroll', this._checkForIntersections, true);\n\n if (this._domObserver) {\n this._domObserver.disconnect();\n this._domObserver = null;\n }\n }\n};\n\n\n/**\n * Scans each observation target for intersection changes and adds them\n * to the internal entries queue. If new entries are found, it\n * schedules the callback to be invoked.\n * @private\n */\nIntersectionObserver.prototype._checkForIntersections = function() {\n var rootIsInDom = this._rootIsInDom();\n var rootRect = rootIsInDom ? this._getRootRect() : getEmptyRect();\n\n this._observationTargets.forEach(function(item) {\n var target = item.element;\n var targetRect = getBoundingClientRect(target);\n var rootContainsTarget = this._rootContainsTarget(target);\n var oldEntry = item.entry;\n var intersectionRect = rootIsInDom && rootContainsTarget &&\n this._computeTargetAndRootIntersection(target, rootRect);\n\n var newEntry = item.entry = new IntersectionObserverEntry({\n time: now(),\n target: target,\n boundingClientRect: targetRect,\n rootBounds: rootRect,\n intersectionRect: intersectionRect\n });\n\n if (!oldEntry) {\n this._queuedEntries.push(newEntry);\n } else if (rootIsInDom && rootContainsTarget) {\n // If the new entry intersection ratio has crossed any of the\n // thresholds, add a new entry.\n if (this._hasCrossedThreshold(oldEntry, newEntry)) {\n this._queuedEntries.push(newEntry);\n }\n } else {\n // If the root is not in the DOM or target is not contained within\n // root but the previous entry for this target had an intersection,\n // add a new record indicating removal.\n if (oldEntry && oldEntry.isIntersecting) {\n this._queuedEntries.push(newEntry);\n }\n }\n }, this);\n\n if (this._queuedEntries.length) {\n this._callback(this.takeRecords(), this);\n }\n};\n\n\n/**\n * Accepts a target and root rect computes the intersection between then\n * following the algorithm in the spec.\n * TODO(philipwalton): at this time clip-path is not considered.\n * https://w3c.github.io/IntersectionObserver/#calculate-intersection-rect-algo\n * @param {Element} target The target DOM element\n * @param {Object} rootRect The bounding rect of the root after being\n * expanded by the rootMargin value.\n * @return {?Object} The final intersection rect object or undefined if no\n * intersection is found.\n * @private\n */\nIntersectionObserver.prototype._computeTargetAndRootIntersection =\n function(target, rootRect) {\n\n // If the element isn't displayed, an intersection can't happen.\n if (window.getComputedStyle(target).display == 'none') return;\n\n var targetRect = getBoundingClientRect(target);\n var intersectionRect = targetRect;\n var parent = getParentNode(target);\n var atRoot = false;\n\n while (!atRoot) {\n var parentRect = null;\n var parentComputedStyle = parent.nodeType == 1 ?\n window.getComputedStyle(parent) : {};\n\n // If the parent isn't displayed, an intersection can't happen.\n if (parentComputedStyle.display == 'none') return;\n\n if (parent == this.root || parent == document) {\n atRoot = true;\n parentRect = rootRect;\n } else {\n // If the element has a non-visible overflow, and it's not the \n // or element, update the intersection rect.\n // Note: and cannot be clipped to a rect that's not also\n // the document rect, so no need to compute a new intersection.\n if (parent != document.body &&\n parent != document.documentElement &&\n parentComputedStyle.overflow != 'visible') {\n parentRect = getBoundingClientRect(parent);\n }\n }\n\n // If either of the above conditionals set a new parentRect,\n // calculate new intersection data.\n if (parentRect) {\n intersectionRect = computeRectIntersection(parentRect, intersectionRect);\n\n if (!intersectionRect) break;\n }\n parent = getParentNode(parent);\n }\n return intersectionRect;\n};\n\n\n/**\n * Returns the root rect after being expanded by the rootMargin value.\n * @return {Object} The expanded root rect.\n * @private\n */\nIntersectionObserver.prototype._getRootRect = function() {\n var rootRect;\n if (this.root) {\n rootRect = getBoundingClientRect(this.root);\n } else {\n // Use / instead of window since scroll bars affect size.\n var html = document.documentElement;\n var body = document.body;\n rootRect = {\n top: 0,\n left: 0,\n right: html.clientWidth || body.clientWidth,\n width: html.clientWidth || body.clientWidth,\n bottom: html.clientHeight || body.clientHeight,\n height: html.clientHeight || body.clientHeight\n };\n }\n return this._expandRectByRootMargin(rootRect);\n};\n\n\n/**\n * Accepts a rect and expands it by the rootMargin value.\n * @param {Object} rect The rect object to expand.\n * @return {Object} The expanded rect.\n * @private\n */\nIntersectionObserver.prototype._expandRectByRootMargin = function(rect) {\n var margins = this._rootMarginValues.map(function(margin, i) {\n return margin.unit == 'px' ? margin.value :\n margin.value * (i % 2 ? rect.width : rect.height) / 100;\n });\n var newRect = {\n top: rect.top - margins[0],\n right: rect.right + margins[1],\n bottom: rect.bottom + margins[2],\n left: rect.left - margins[3]\n };\n newRect.width = newRect.right - newRect.left;\n newRect.height = newRect.bottom - newRect.top;\n\n return newRect;\n};\n\n\n/**\n * Accepts an old and new entry and returns true if at least one of the\n * threshold values has been crossed.\n * @param {?IntersectionObserverEntry} oldEntry The previous entry for a\n * particular target element or null if no previous entry exists.\n * @param {IntersectionObserverEntry} newEntry The current entry for a\n * particular target element.\n * @return {boolean} Returns true if a any threshold has been crossed.\n * @private\n */\nIntersectionObserver.prototype._hasCrossedThreshold =\n function(oldEntry, newEntry) {\n\n // To make comparing easier, an entry that has a ratio of 0\n // but does not actually intersect is given a value of -1\n var oldRatio = oldEntry && oldEntry.isIntersecting ?\n oldEntry.intersectionRatio || 0 : -1;\n var newRatio = newEntry.isIntersecting ?\n newEntry.intersectionRatio || 0 : -1;\n\n // Ignore unchanged ratios\n if (oldRatio === newRatio) return;\n\n for (var i = 0; i < this.thresholds.length; i++) {\n var threshold = this.thresholds[i];\n\n // Return true if an entry matches a threshold or if the new ratio\n // and the old ratio are on the opposite sides of a threshold.\n if (threshold == oldRatio || threshold == newRatio ||\n threshold < oldRatio !== threshold < newRatio) {\n return true;\n }\n }\n};\n\n\n/**\n * Returns whether or not the root element is an element and is in the DOM.\n * @return {boolean} True if the root element is an element and is in the DOM.\n * @private\n */\nIntersectionObserver.prototype._rootIsInDom = function() {\n return !this.root || containsDeep(document, this.root);\n};\n\n\n/**\n * Returns whether or not the target element is a child of root.\n * @param {Element} target The target element to check.\n * @return {boolean} True if the target element is a child of root.\n * @private\n */\nIntersectionObserver.prototype._rootContainsTarget = function(target) {\n return containsDeep(this.root || document, target);\n};\n\n\n/**\n * Adds the instance to the global IntersectionObserver registry if it isn't\n * already present.\n * @private\n */\nIntersectionObserver.prototype._registerInstance = function() {\n if (registry.indexOf(this) < 0) {\n registry.push(this);\n }\n};\n\n\n/**\n * Removes the instance from the global IntersectionObserver registry.\n * @private\n */\nIntersectionObserver.prototype._unregisterInstance = function() {\n var index = registry.indexOf(this);\n if (index != -1) registry.splice(index, 1);\n};\n\n\n/**\n * Returns the result of the performance.now() method or null in browsers\n * that don't support the API.\n * @return {number} The elapsed time since the page was requested.\n */\nfunction now() {\n return window.performance && performance.now && performance.now();\n}\n\n\n/**\n * Throttles a function and delays its execution, so it's only called at most\n * once within a given time period.\n * @param {Function} fn The function to throttle.\n * @param {number} timeout The amount of time that must pass before the\n * function can be called again.\n * @return {Function} The throttled function.\n */\nfunction throttle(fn, timeout) {\n var timer = null;\n return function () {\n if (!timer) {\n timer = setTimeout(function() {\n fn();\n timer = null;\n }, timeout);\n }\n };\n}\n\n\n/**\n * Adds an event handler to a DOM node ensuring cross-browser compatibility.\n * @param {Node} node The DOM node to add the event handler to.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to add.\n * @param {boolean} opt_useCapture Optionally adds the even to the capture\n * phase. Note: this only works in modern browsers.\n */\nfunction addEvent(node, event, fn, opt_useCapture) {\n if (typeof node.addEventListener == 'function') {\n node.addEventListener(event, fn, opt_useCapture || false);\n }\n else if (typeof node.attachEvent == 'function') {\n node.attachEvent('on' + event, fn);\n }\n}\n\n\n/**\n * Removes a previously added event handler from a DOM node.\n * @param {Node} node The DOM node to remove the event handler from.\n * @param {string} event The event name.\n * @param {Function} fn The event handler to remove.\n * @param {boolean} opt_useCapture If the event handler was added with this\n * flag set to true, it should be set to true here in order to remove it.\n */\nfunction removeEvent(node, event, fn, opt_useCapture) {\n if (typeof node.removeEventListener == 'function') {\n node.removeEventListener(event, fn, opt_useCapture || false);\n }\n else if (typeof node.detatchEvent == 'function') {\n node.detatchEvent('on' + event, fn);\n }\n}\n\n\n/**\n * Returns the intersection between two rect objects.\n * @param {Object} rect1 The first rect.\n * @param {Object} rect2 The second rect.\n * @return {?Object} The intersection rect or undefined if no intersection\n * is found.\n */\nfunction computeRectIntersection(rect1, rect2) {\n var top = Math.max(rect1.top, rect2.top);\n var bottom = Math.min(rect1.bottom, rect2.bottom);\n var left = Math.max(rect1.left, rect2.left);\n var right = Math.min(rect1.right, rect2.right);\n var width = right - left;\n var height = bottom - top;\n\n return (width >= 0 && height >= 0) && {\n top: top,\n bottom: bottom,\n left: left,\n right: right,\n width: width,\n height: height\n };\n}\n\n\n/**\n * Shims the native getBoundingClientRect for compatibility with older IE.\n * @param {Element} el The element whose bounding rect to get.\n * @return {Object} The (possibly shimmed) rect of the element.\n */\nfunction getBoundingClientRect(el) {\n var rect;\n\n try {\n rect = el.getBoundingClientRect();\n } catch (err) {\n // Ignore Windows 7 IE11 \"Unspecified error\"\n // https://github.com/w3c/IntersectionObserver/pull/205\n }\n\n if (!rect) return getEmptyRect();\n\n // Older IE\n if (!(rect.width && rect.height)) {\n rect = {\n top: rect.top,\n right: rect.right,\n bottom: rect.bottom,\n left: rect.left,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n }\n return rect;\n}\n\n\n/**\n * Returns an empty rect object. An empty rect is returned when an element\n * is not in the DOM.\n * @return {Object} The empty rect.\n */\nfunction getEmptyRect() {\n return {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n width: 0,\n height: 0\n };\n}\n\n/**\n * Checks to see if a parent element contains a child element (including inside\n * shadow DOM).\n * @param {Node} parent The parent element.\n * @param {Node} child The child element.\n * @return {boolean} True if the parent node contains the child node.\n */\nfunction containsDeep(parent, child) {\n var node = child;\n while (node) {\n if (node == parent) return true;\n\n node = getParentNode(node);\n }\n return false;\n}\n\n\n/**\n * Gets the parent node of an element or its host element if the parent node\n * is a shadow root.\n * @param {Node} node The node whose parent to get.\n * @return {Node|null} The parent node or null if no parent exists.\n */\nfunction getParentNode(node) {\n var parent = node.parentNode;\n\n if (parent && parent.nodeType == 11 && parent.host) {\n // If the parent is a shadow root, return the host element.\n return parent.host;\n }\n\n if (parent && parent.assignedSlot) {\n // If the parent is distributed in a , return the parent of a slot.\n return parent.assignedSlot.parentNode;\n }\n\n return parent;\n}\n\n\n// Exposes the constructors globally.\nwindow.IntersectionObserver = IntersectionObserver;\nwindow.IntersectionObserverEntry = IntersectionObserverEntry;\n\n}());\n","export default function(x) {\n return x;\n}\n","import identity from \"./identity.js\";\n\nexport default function(transform) {\n if (transform == null) return identity;\n var x0,\n y0,\n kx = transform.scale[0],\n ky = transform.scale[1],\n dx = transform.translate[0],\n dy = transform.translate[1];\n return function(input, i) {\n if (!i) x0 = y0 = 0;\n var j = 2, n = input.length, output = new Array(n);\n output[0] = (x0 += input[0]) * kx + dx;\n output[1] = (y0 += input[1]) * ky + dy;\n while (j < n) output[j] = input[j], ++j;\n return output;\n };\n}\n","import reverse from \"./reverse.js\";\nimport transform from \"./transform.js\";\n\nexport default function(topology, o) {\n if (typeof o === \"string\") o = topology.objects[o];\n return o.type === \"GeometryCollection\"\n ? {type: \"FeatureCollection\", features: o.geometries.map(function(o) { return feature(topology, o); })}\n : feature(topology, o);\n}\n\nfunction feature(topology, o) {\n var id = o.id,\n bbox = o.bbox,\n properties = o.properties == null ? {} : o.properties,\n geometry = object(topology, o);\n return id == null && bbox == null ? {type: \"Feature\", properties: properties, geometry: geometry}\n : bbox == null ? {type: \"Feature\", id: id, properties: properties, geometry: geometry}\n : {type: \"Feature\", id: id, bbox: bbox, properties: properties, geometry: geometry};\n}\n\nexport function object(topology, o) {\n var transformPoint = transform(topology.transform),\n arcs = topology.arcs;\n\n function arc(i, points) {\n if (points.length) points.pop();\n for (var a = arcs[i < 0 ? ~i : i], k = 0, n = a.length; k < n; ++k) {\n points.push(transformPoint(a[k], k));\n }\n if (i < 0) reverse(points, n);\n }\n\n function point(p) {\n return transformPoint(p);\n }\n\n function line(arcs) {\n var points = [];\n for (var i = 0, n = arcs.length; i < n; ++i) arc(arcs[i], points);\n if (points.length < 2) points.push(points[0]); // This should never happen per the specification.\n return points;\n }\n\n function ring(arcs) {\n var points = line(arcs);\n while (points.length < 4) points.push(points[0]); // This may happen if an arc has only two points.\n return points;\n }\n\n function polygon(arcs) {\n return arcs.map(ring);\n }\n\n function geometry(o) {\n var type = o.type, coordinates;\n switch (type) {\n case \"GeometryCollection\": return {type: type, geometries: o.geometries.map(geometry)};\n case \"Point\": coordinates = point(o.coordinates); break;\n case \"MultiPoint\": coordinates = o.coordinates.map(point); break;\n case \"LineString\": coordinates = line(o.arcs); break;\n case \"MultiLineString\": coordinates = o.arcs.map(line); break;\n case \"Polygon\": coordinates = polygon(o.arcs); break;\n case \"MultiPolygon\": coordinates = o.arcs.map(polygon); break;\n default: return null;\n }\n return {type: type, coordinates: coordinates};\n }\n\n return geometry(o);\n}\n","export default function(array, n) {\n var t, j = array.length, i = j - n;\n while (i < --j) t = array[i], array[i++] = array[j], array[j] = t;\n}\n","import assignValue from './_assignValue.js';\nimport copyObject from './_copyObject.js';\nimport createAssigner from './_createAssigner.js';\nimport isArrayLike from './isArrayLike.js';\nimport isPrototype from './_isPrototype.js';\nimport keys from './keys.js';\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 * 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 (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\nexport default assign;\n","import { Card as BaseCard, CardTag, } from \"@microsoft/fast-components-react-base\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { CardStyles } from \"@microsoft/fast-components-styles-msft\";\nimport cardSchema from \"./card.schema\";\nimport cardSchema2 from \"./card.schema.2\";\nconst Card = manageJss(CardStyles)(BaseCard);\nexport { Card, CardTag, cardSchema, cardSchema2, };\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class More extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M1.75 6.125C1.87305 6.125 1.98698 6.14779 2.0918 6.19336C2.19661 6.23893 2.28776 6.30273 2.36523 6.38477C2.44727 6.46224 2.51107 6.55339 2.55664 6.6582C2.60221 6.76302 2.625 6.87695 2.625 7C2.625 7.12305 2.60221 7.23698 2.55664 7.3418C2.51107 7.44661 2.44727 7.54004 2.36523 7.62207C2.28776 7.69954 2.19661 7.76107 2.0918 7.80664C1.98698 7.85221 1.87305 7.875 1.75 7.875C1.62695 7.875 1.51302 7.85221 1.4082 7.80664C1.30339 7.76107 1.20996 7.69954 1.12793 7.62207C1.05046 7.54004 0.988932 7.44661 0.943359 7.3418C0.897786 7.23698 0.875 7.12305 0.875 7C0.875 6.87695 0.897786 6.76302 0.943359 6.6582C0.988932 6.55339 1.05046 6.46224 1.12793 6.38477C1.20996 6.30273 1.30339 6.23893 1.4082 6.19336C1.51302 6.14779 1.62695 6.125 1.75 6.125ZM7 6.125C7.12305 6.125 7.23698 6.14779 7.3418 6.19336C7.44661 6.23893 7.53776 6.30273 7.61523 6.38477C7.69727 6.46224 7.76107 6.55339 7.80664 6.6582C7.85221 6.76302 7.875 6.87695 7.875 7C7.875 7.12305 7.85221 7.23698 7.80664 7.3418C7.76107 7.44661 7.69727 7.54004 7.61523 7.62207C7.53776 7.69954 7.44661 7.76107 7.3418 7.80664C7.23698 7.85221 7.12305 7.875 7 7.875C6.87695 7.875 6.76302 7.85221 6.6582 7.80664C6.55339 7.76107 6.45996 7.69954 6.37793 7.62207C6.30046 7.54004 6.23893 7.44661 6.19336 7.3418C6.14779 7.23698 6.125 7.12305 6.125 7C6.125 6.87695 6.14779 6.76302 6.19336 6.6582C6.23893 6.55339 6.30046 6.46224 6.37793 6.38477C6.45996 6.30273 6.55339 6.23893 6.6582 6.19336C6.76302 6.14779 6.87695 6.125 7 6.125ZM12.25 6.125C12.373 6.125 12.487 6.14779 12.5918 6.19336C12.6966 6.23893 12.7878 6.30273 12.8652 6.38477C12.9473 6.46224 13.0111 6.55339 13.0566 6.6582C13.1022 6.76302 13.125 6.87695 13.125 7C13.125 7.12305 13.1022 7.23698 13.0566 7.3418C13.0111 7.44661 12.9473 7.54004 12.8652 7.62207C12.7878 7.69954 12.6966 7.76107 12.5918 7.80664C12.487 7.85221 12.373 7.875 12.25 7.875C12.127 7.875 12.013 7.85221 11.9082 7.80664C11.8034 7.76107 11.71 7.69954 11.6279 7.62207C11.5505 7.54004 11.4889 7.44661 11.4434 7.3418C11.3978 7.23698 11.375 7.12305 11.375 7C11.375 6.87695 11.3978 6.76302 11.4434 6.6582C11.4889 6.55339 11.5505 6.46224 11.6279 6.38477C11.71 6.30273 11.8034 6.23893 11.9082 6.19336C12.013 6.14779 12.127 6.125 12.25 6.125Z\" })));\n }\n}\nMore.defaultProps = {\n viewBox: \"0 0 14 14\",\n width: \"14px\",\n height: \"14px\",\n xmlns: \"http://www.w3.org/2000/svg\",\n};\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { ContextMenuStyles } from \"@microsoft/fast-components-styles-msft\";\nimport contextMenuSchema from \"./context-menu.schema\";\nimport contextMenuSchema2 from \"./context-menu.schema.2\";\nimport MSFTContextMenu from \"./context-menu\";\nconst ContextMenu = manageJss(ContextMenuStyles)(MSFTContextMenu);\nexport { ContextMenu, contextMenuSchema, contextMenuSchema2, };\n","import { ContextMenuItemRole } from \"@microsoft/fast-components-react-base\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { ContextMenuItemStyles, } from \"@microsoft/fast-components-styles-msft\";\nimport contextMenuItemSchema from \"./context-menu-item.schema\";\nimport contextMenuItemSchema2 from \"./context-menu-item.schema.2\";\nimport MSFTContextMenuItem from \"./context-menu-item\";\nconst ContextMenuItem = manageJss(ContextMenuItemStyles)(MSFTContextMenuItem);\nexport { ContextMenuItem, ContextMenuItemRole, contextMenuItemSchema, contextMenuItemSchema2, };\n","import { Hypertext as BaseHypertext, } from \"@microsoft/fast-components-react-base\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { HypertextStyles } from \"@microsoft/fast-components-styles-msft\";\nimport hypertextSchema from \"./hypertext.schema\";\nimport hypertextSchema2 from \"./hypertext.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Hypertext = manageJss(HypertextStyles)(BaseHypertext);\nexport { Hypertext, hypertextSchema, hypertextSchema2, };\n","/**\n * A Behavior that will register to a {@link CSSCustomPropertyTarget} when bound.\n *\n * @public\n */\nexport class CSSCustomPropertyBehavior {\n /**\n *\n * @param name - The name of the custom property, without the prepended \"--\" required by {@link https://developer.mozilla.org/en-US/docs/Web/CSS/--* | CSS custom properties}.\n * @param value - The value of the custom property or a function that resolves the value.\n * @param host - A function that resolves the host element that will register the behavior\n */\n constructor(name, value, host) {\n this.name = name;\n this.value = value;\n this.host = host;\n this.propertyName = `--${name}`;\n this.var = `var(${this.propertyName})`;\n }\n /**\n * Binds the behavior to a source element\n * @param source - The source element being bound\n * @internal\n */\n bind(source) {\n const target = this.host(source);\n if (target !== null) {\n if (typeof target.registerCSSCustomProperty === \"function\") {\n target.registerCSSCustomProperty(this);\n }\n else {\n // There is potential for the custom property host element to not be\n // constructed when this is run. We handle that case by accumulating\n // the behaviors in a normal array. Behaviors associated this way will\n // get registered when the host is connected\n if (!Array.isArray(target.disconnectedCSSCustomPropertyRegistry)) {\n target.disconnectedCSSCustomPropertyRegistry = [];\n }\n target.disconnectedCSSCustomPropertyRegistry.push(this);\n }\n }\n }\n /**\n * Unbinds the behavior from the source element.\n * @param source - The source element being unbound\n * @internal\n */\n unbind(source) {\n const target = this.host(source);\n if (target !== null && typeof target.unregisterCSSCustomProperty === \"function\") {\n target.unregisterCSSCustomProperty(this);\n }\n }\n}\n/**\n * Create a CSS Custom Property behavior.\n * @param name - The name of the CSS custom property\n * @param value - The value or value resolver of the custom property\n * @param host - A function to resolve the element to host the CSS custom property\n * @public\n */\nexport function cssCustomPropertyBehaviorFactory(name, value, host) {\n return new CSSCustomPropertyBehavior(name, value, host);\n}\n","import debounce from './debounce.js';\nimport isObject from './isObject.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nexport default throttle;\n","import { __decorate } from \"tslib\";\nimport { attr, FASTElement, observable, Observable, } from \"@microsoft/fast-element\";\nimport { getDisplayedNodes, isHTMLElement, keyCodeArrowDown, keyCodeArrowLeft, keyCodeArrowRight, keyCodeArrowUp, keyCodeEnter, keyCodeSpace, } from \"@microsoft/fast-web-utilities\";\nimport { StartEnd } from \"../patterns/start-end\";\nimport { applyMixins } from \"../utilities/apply-mixins\";\n/**\n * check if the item is a tree item\n * @public\n * @remarks\n * determines if element is an HTMLElement and if it has the role treeitem\n */\nexport function isTreeItemElement(el) {\n return isHTMLElement(el) && el.getAttribute(\"role\") === \"treeitem\";\n}\n/**\n * A Tree item Custom HTML Element.\n *\n * @public\n */\nexport class TreeItem extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * When true, the control will be appear expanded by user interaction.\n * @public\n * @remarks\n * HTML Attribute: expanded\n */\n this.expanded = false;\n this.focusable = false;\n this.handleFocus = (e) => {\n if (e.target === e.currentTarget) {\n this.focusable = true;\n }\n };\n this.handleBlur = (e) => {\n if (e.target !== e.currentTarget) {\n return;\n }\n this.focusable = false;\n };\n this.handleKeyDown = (e) => {\n if (e.target !== e.currentTarget) {\n return;\n }\n switch (e.keyCode) {\n case keyCodeArrowLeft:\n this.handleArrowLeft();\n break;\n case keyCodeArrowRight:\n this.handleArrowRight();\n break;\n case keyCodeArrowDown:\n // preventDefault to ensure we don't scroll the page\n e.preventDefault();\n this.focusNextNode(1);\n break;\n case keyCodeArrowUp:\n // preventDefault to ensure we don't scroll the page\n e.preventDefault();\n this.focusNextNode(-1);\n break;\n case keyCodeEnter:\n this.handleSelected(e);\n break;\n case keyCodeSpace:\n this.handleSpaceBar();\n break;\n }\n return true;\n };\n this.handleExpandCollapseButtonClick = () => {\n if (!this.disabled) {\n this.setExpanded(!this.expanded);\n }\n };\n this.handleContainerClick = (e) => {\n const expandButton = this.expandCollapseButton;\n const isButtonAnHTMLElement = isHTMLElement(expandButton);\n if ((!isButtonAnHTMLElement ||\n (isButtonAnHTMLElement && expandButton !== e.target)) &&\n !this.disabled) {\n this.handleSelected(e);\n }\n };\n this.isNestedItem = () => {\n return isTreeItemElement(this.parentElement);\n };\n }\n itemsChanged(oldValue, newValue) {\n if (this.$fastController.isConnected) {\n this.items.forEach((node) => {\n if (isTreeItemElement(node)) {\n // TODO: maybe not require it to be a TreeItem?\n node.nested = true;\n }\n });\n }\n }\n getParentTreeNode() {\n const parentNode = this.parentElement.closest(\"[role='tree']\");\n return parentNode;\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n const parentTreeNode = this.getParentTreeNode();\n if (parentTreeNode) {\n if (parentTreeNode.hasAttribute(\"render-collapsed-nodes\")) {\n this.renderCollapsedChildren =\n parentTreeNode.getAttribute(\"render-collapsed-nodes\") === \"true\";\n }\n this.notifier = Observable.getNotifier(parentTreeNode);\n this.notifier.subscribe(this, \"renderCollapsedNodes\");\n }\n }\n /**\n * @internal\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n if (this.notifier) {\n this.notifier.unsubscribe(this, \"renderCollapsedNodes\");\n }\n }\n handleChange(source, propertyName) {\n switch (propertyName) {\n case \"renderCollapsedNodes\":\n this.renderCollapsedChildren = source.renderCollapsedNodes;\n break;\n }\n }\n childItemLength() {\n const treeChildren = this.childItems.filter((item) => {\n return isTreeItemElement(item);\n });\n return treeChildren ? treeChildren.length : 0;\n }\n handleArrowLeft() {\n if (this.expanded) {\n this.setExpanded(false);\n }\n else if (isHTMLElement(this.parentElement)) {\n const parentTreeItemNode = this.parentElement.closest(\"[role='treeitem']\");\n if (isHTMLElement(parentTreeItemNode)) {\n parentTreeItemNode.focus();\n }\n }\n }\n handleArrowRight() {\n if (typeof this.expanded !== \"boolean\") {\n return;\n }\n if (!this.expanded) {\n this.setExpanded(true);\n }\n else {\n this.focusNextNode(1);\n }\n }\n handleSpaceBar() {\n if (typeof this.expanded !== \"boolean\") {\n return;\n }\n this.setExpanded(!this.expanded);\n }\n focusNextNode(delta) {\n const visibleNodes = this.getVisibleNodes();\n if (!visibleNodes) {\n return;\n }\n const currentIndex = visibleNodes.indexOf(this);\n if (currentIndex !== -1) {\n let nextElement = visibleNodes[currentIndex + delta];\n if (nextElement !== undefined) {\n while (nextElement.hasAttribute(\"disabled\")) {\n const offset = delta >= 0 ? 1 : -1;\n nextElement = visibleNodes[currentIndex + delta + offset];\n if (!nextElement) {\n break;\n }\n }\n }\n if (isHTMLElement(nextElement)) {\n nextElement.focus();\n }\n }\n }\n getVisibleNodes() {\n return getDisplayedNodes(this.getTreeRoot(), \"[role='treeitem']\");\n }\n getTreeRoot() {\n /* eslint-disable-next-line @typescript-eslint/no-this-alias */\n const currentNode = this;\n if (!isHTMLElement(currentNode)) {\n return null;\n }\n return currentNode.closest(\"[role='tree']\");\n }\n handleSelected(e) {\n this.selected = !this.selected;\n this.$emit(\"selected-change\", e);\n }\n setExpanded(expanded) {\n this.expanded = expanded;\n this.$emit(\"expanded-change\", this);\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], TreeItem.prototype, \"expanded\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], TreeItem.prototype, \"selected\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], TreeItem.prototype, \"disabled\", void 0);\n__decorate([\n observable\n], TreeItem.prototype, \"focusable\", void 0);\n__decorate([\n observable\n], TreeItem.prototype, \"childItems\", void 0);\n__decorate([\n observable\n], TreeItem.prototype, \"items\", void 0);\n__decorate([\n observable\n], TreeItem.prototype, \"nested\", void 0);\n__decorate([\n observable\n], TreeItem.prototype, \"renderCollapsedChildren\", void 0);\napplyMixins(TreeItem, StartEnd);\n","import { css } from '@microsoft/fast-element';\nimport { disabledCursor, display, focusVisible } from '@microsoft/fast-foundation';\nimport { heightNumber } from '../size';\nimport { accentFillActiveBehavior, accentFillHoverBehavior, accentFillRestBehavior, accentForegroundActiveBehavior, accentForegroundCutRestBehavior, accentForegroundHoverBehavior, accentForegroundRestBehavior, neutralFillActiveBehavior, neutralFillHoverBehavior, neutralFillRestBehavior, neutralFillStealthActiveBehavior, neutralFillStealthHoverBehavior, neutralFillStealthRestBehavior, neutralFocusBehavior, neutralFocusInnerAccentBehavior, neutralForegroundRestBehavior, neutralOutlineActiveBehavior, neutralOutlineHoverBehavior, neutralOutlineRestBehavior, } from '../behaviors';\n/**\n * @internal\n */\nexport const BaseButtonStyles = css `\n ${display('inline-flex')} :host {\n font-family: var(--body-font);\n outline: none;\n font-size: var(--type-ramp-base-font-size);\n line-height: var(--type-ramp-base-line-height);\n height: calc(${heightNumber} * 1px);\n min-width: calc(${heightNumber} * 1px);\n background-color: ${neutralFillRestBehavior.var};\n color: ${neutralForegroundRestBehavior.var};\n border-radius: calc(var(--corner-radius) * 1px);\n fill: currentColor;\n cursor: pointer;\n }\n\n .control {\n background: transparent;\n height: inherit;\n flex-grow: 1;\n box-sizing: border-box;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 0 calc((10 + (var(--design-unit) * 2 * var(--density))) * 1px);\n white-space: nowrap;\n outline: none;\n text-decoration: none;\n border: calc(var(--outline-width) * 1px) solid transparent;\n color: inherit;\n border-radius: inherit;\n fill: inherit;\n cursor: inherit;\n font-family: inherit;\n }\n\n :host(:hover) {\n background-color: ${neutralFillHoverBehavior.var};\n }\n\n :host(:active) {\n background-color: ${neutralFillActiveBehavior.var};\n }\n\n .control:${focusVisible} {\n border: calc(var(--outline-width) * 1px) solid ${neutralFocusBehavior.var};\n box-shadow: 0 0 0 calc((var(--focus-outline-width) - var(--outline-width)) * 1px) ${neutralFocusBehavior.var};\n }\n\n .control::-moz-focus-inner {\n border: 0;\n }\n\n :host(.disabled) {\n opacity: var(--disabled-opacity);\n background-color: ${neutralFillRestBehavior.var};\n cursor: ${disabledCursor};\n }\n\n .start,\n .end,\n ::slotted(svg) {\n ${\n/* Glyph size and margin-left is temporary -\n replace when adaptive typography is figured out */ ''} width: 16px;\n height: 16px;\n }\n\n .start {\n margin-inline-end: 11px;\n }\n\n .end {\n margin-inline-start: 11px;\n }\n`.withBehaviors(neutralFillRestBehavior, neutralForegroundRestBehavior, neutralFillHoverBehavior, neutralFillActiveBehavior);\n/**\n * @internal\n */\nexport const AccentButtonStyles = css `\n :host(.accent) {\n background: ${accentFillRestBehavior.var};\n color: ${accentForegroundCutRestBehavior.var};\n }\n\n :host(.accent:hover) {\n background: ${accentFillHoverBehavior.var};\n }\n\n :host(.accent:active) .control:active {\n background: ${accentFillActiveBehavior.var};\n }\n\n :host(.accent) .control:${focusVisible} {\n box-shadow: 0 0 0 calc(var(--focus-outline-width) * 1px) inset ${neutralFocusInnerAccentBehavior.var};\n }\n\n :host(.accent.disabled) {\n background: ${accentFillRestBehavior.var};\n }\n`.withBehaviors(accentFillRestBehavior, accentForegroundCutRestBehavior, accentFillHoverBehavior, accentFillActiveBehavior, neutralFocusInnerAccentBehavior);\n/**\n * @internal\n */\nexport const HypertextStyles = css `\n :host(.hypertext) {\n height: auto;\n font-size: inherit;\n line-height: inherit;\n background: transparent;\n }\n\n :host(.hypertext) .control {\n display: inline;\n padding: 0;\n border: none;\n box-shadow: none;\n border-radius: 0;\n line-height: 1;\n }\n :host a.control:not(:link) {\n background-color: transparent;\n cursor: default;\n }\n :host(.hypertext) .control:link,\n :host(.hypertext) .control:visited {\n background: transparent;\n color: ${accentForegroundRestBehavior.var};\n border-bottom: calc(var(--outline-width) * 1px) solid ${accentForegroundRestBehavior.var};\n }\n :host(.hypertext) .control:hover {\n border-bottom-color: ${accentForegroundHoverBehavior.var};\n }\n :host(.hypertext) .control:active {\n border-bottom-color: ${accentForegroundActiveBehavior.var};\n }\n :host(.hypertext) .control:${focusVisible} {\n border-bottom: calc(var(--focus-outline-width) * 1px) solid ${neutralFocusBehavior.var};\n }\n`.withBehaviors(accentForegroundRestBehavior, accentForegroundHoverBehavior, accentForegroundActiveBehavior, neutralFocusBehavior);\n/**\n * @internal\n */\nexport const LightweightButtonStyles = css `\n :host(.lightweight) {\n background: transparent;\n color: ${accentForegroundRestBehavior.var};\n }\n\n :host(.lightweight) .control {\n padding: 0;\n height: initial;\n border: none;\n box-shadow: none;\n border-radius: 0;\n }\n\n :host(.lightweight:hover) {\n color: ${accentForegroundHoverBehavior.var};\n }\n\n :host(.lightweight:active) {\n color: ${accentForegroundActiveBehavior.var};\n }\n\n :host(.lightweight) .content {\n position: relative;\n }\n\n :host(.lightweight) .content::before {\n content: \"\";\n display: block;\n height: calc(var(--outline-width) * 1px);\n position: absolute;\n top: calc(1em + 3px);\n width: 100%;\n }\n\n :host(.lightweight:hover) .content::before {\n background: ${accentForegroundHoverBehavior.var};\n }\n\n :host(.lightweight:active) .content::before {\n background: ${accentForegroundActiveBehavior.var};\n }\n\n :host(.lightweight) .control:${focusVisible} .content::before {\n background: ${neutralForegroundRestBehavior.var};\n height: calc(var(--focus-outline-width) * 1px);\n }\n\n :host(.lightweight.disabled) .content::before {\n background: transparent;\n }\n`.withBehaviors(accentForegroundRestBehavior, accentForegroundHoverBehavior, accentForegroundActiveBehavior, accentForegroundHoverBehavior, neutralForegroundRestBehavior);\n/**\n * @internal\n */\nexport const OutlineButtonStyles = css `\n :host(.outline) {\n background: transparent;\n border-color: ${neutralOutlineRestBehavior.var};\n }\n\n :host(.outline:hover) {\n border-color: ${neutralOutlineHoverBehavior.var};\n }\n\n :host(.outline:active) {\n border-color: ${neutralOutlineActiveBehavior.var};\n }\n\n :host(.outline) .control {\n border-color: inherit;\n }\n\n :host(.outline) .control:${focusVisible} {\n border: calc(var(--outline-width) * 1px) solid ${neutralFocusBehavior.var});\n box-shadow: 0 0 0 calc((var(--focus-outline-width) - var(--outline-width)) * 1px) ${neutralFocusBehavior.var};\n }\n\n :host(.outline.disabled) {\n border-color: ${neutralOutlineRestBehavior.var};\n }\n`.withBehaviors(neutralOutlineRestBehavior, neutralOutlineHoverBehavior, neutralOutlineActiveBehavior, neutralFocusBehavior);\n/**\n * @internal\n */\nexport const StealthButtonStyles = css `\n :host(.stealth) {\n background: ${neutralFillStealthRestBehavior.var};\n }\n\n :host(.stealth:hover) {\n background: ${neutralFillStealthHoverBehavior.var};\n }\n\n :host(.stealth:active) {\n background: ${neutralFillStealthActiveBehavior.var};\n }\n\n :host(.stealth.disabled) {\n background: ${neutralFillStealthRestBehavior.var};\n }\n`.withBehaviors(neutralFillStealthRestBehavior, neutralFillStealthHoverBehavior, neutralFillStealthActiveBehavior);\n","/**\n * An abstract behavior to react to media queries. Implementations should implement\n * the `constructListener` method to perform some action based on media query changes.\n *\n * @public\n */\nexport class MatchMediaBehavior {\n /**\n *\n * @param query - The media query to operate from.\n */\n constructor(query) {\n /**\n * The behavior needs to operate on element instances but elements might share a behavior instance.\n * To ensure proper attachment / detachment per instance, we construct a listener for\n * each bind invocation and cache the listeners by element reference.\n */\n this.listenerCache = new WeakMap();\n this.query = query;\n }\n /**\n * Binds the behavior to the element.\n * @param source - The element for which the behavior is bound.\n */\n bind(source) {\n const { query } = this;\n const listener = this.constructListener(source);\n // Invoke immediately to add if the query currently matches\n listener.bind(query)();\n query.addListener(listener);\n this.listenerCache.set(source, listener);\n }\n /**\n * Unbinds the behavior from the element.\n * @param source - The element for which the behavior is unbinding.\n */\n unbind(source) {\n const listener = this.listenerCache.get(source);\n if (listener) {\n this.query.removeListener(listener);\n this.listenerCache.delete(source);\n }\n }\n}\n/**\n * A behavior to add or remove a stylesheet from an element based on a media query. The behavior ensures that\n * styles are applied while the a query matches the environment and that styles are not applied if the query does\n * not match the environment.\n *\n * @public\n */\nexport class MatchMediaStyleSheetBehavior extends MatchMediaBehavior {\n /**\n * Constructs a {@link MatchMediaStyleSheetBehavior} instance.\n * @param query - The media query to operate from.\n * @param styles - The styles to coordinate with the query.\n */\n constructor(query, styles) {\n super(query);\n this.styles = styles;\n }\n /**\n * Defines a function to construct {@link MatchMediaStyleSheetBehavior | MatchMediaStyleSheetBehaviors} for\n * a provided query.\n * @param query - The media query to operate from.\n *\n * @public\n * @example\n *\n * ```ts\n * import { css } from \"@microsoft/fast-element\";\n * import { MatchMediaStyleSheetBehavior } from \"@microsoft/fast-foundation\";\n *\n * const landscapeBehavior = MatchMediaStyleSheetBehavior.with(\n * window.matchMedia(\"(orientation: landscape)\")\n * );\n * const styles = css`\n * :host {\n * width: 200px;\n * height: 400px;\n * }\n * `\n * .withBehaviors(landscapeBehavior(css`\n * :host {\n * width: 400px;\n * height: 200px;\n * }\n * `))\n * ```\n */\n static with(query) {\n return (styles) => {\n return new MatchMediaStyleSheetBehavior(query, styles);\n };\n }\n /**\n * Constructs a match-media listener for a provided element.\n * @param source - the element for which to attach or detach styles.\n * @internal\n */\n constructListener(source) {\n let attached = false;\n const styles = this.styles;\n return function listener() {\n const { matches } = this;\n if (matches && !attached) {\n source.$fastController.addStyles(styles);\n attached = matches;\n }\n else if (!matches && attached) {\n source.$fastController.removeStyles(styles);\n attached = matches;\n }\n };\n }\n /**\n * Unbinds the behavior from the element.\n * @param source - The element for which the behavior is unbinding.\n * @internal\n */\n unbind(source) {\n super.unbind(source);\n source.$fastController.removeStyles(this.styles);\n }\n}\n/**\n * Construct a behavior factory that will conditionally apply a stylesheet based\n * on a MediaQueryList\n *\n * @param query - The MediaQueryList to subscribe to matches for.\n *\n * @public\n * @deprecated - use {@link MatchMediaStyleSheetBehavior.with}\n */\nexport function matchMediaStylesheetBehaviorFactory(query) {\n return MatchMediaStyleSheetBehavior.with(query);\n}\n/**\n * This can be used to construct a behavior to apply a forced-colors only stylesheet.\n * @public\n */\nexport const forcedColorsStylesheetBehavior = MatchMediaStyleSheetBehavior.with(window.matchMedia(\"(forced-colors)\"));\n","// © Microsoft Corporation. All rights reserved.\n/** Glyph of a check mark */\nexport const checkSVG = ``;\n/** Glyph with a circle on the exterior and plus sign on the interior */\nexport const circlePositiveSVG = ``;\n/** Information glyph - circle with \"i\" in the center */\nexport const infoGlyphSVG = ``;\n/** Icon with 3 stars */\nexport const threeStarsSVG = ``;\n/** Icon for the horizontal three-dot menu */\nexport const horizontalThreeDots = `\n \n`;\n/** Hamburger menu glyph */\nexport const hamburgerMenuGlyph = ``;\n/** Glyph of \"x\" button */\nexport const closeButtonGlyph = ``;\n/** Glyph of \"x\" button - smaller */\nexport const closeButtonGlyphSmall = ``;\n/** Microsoft logo SVG */\nexport const microsoftLogo = ``;\n/** Double chain linked glyph used for copying */\nexport const dualChainLinkSVG = ``;\n/**Glyhph of a copy icon*/\nexport const copySVG = ``;\n/**Glyhph of a check mark in a filled circle*/\nexport const checkFillSVG = ``;\n","import { AttachedBehaviorDirective } from \"./directive\";\nimport { NodeObservationBehavior } from \"./node-observation\";\n/**\n * The runtime behavior for slotted node observation.\n * @public\n */\nexport class SlottedBehavior extends NodeObservationBehavior {\n /**\n * Creates an instance of SlottedBehavior.\n * @param target - The slot element target to observe.\n * @param options - The options to use when observing the slot.\n */\n constructor(target, options) {\n super(target, options);\n }\n /**\n * Begins observation of the nodes.\n */\n observe() {\n this.target.addEventListener(\"slotchange\", this);\n }\n /**\n * Disconnects observation of the nodes.\n */\n disconnect() {\n this.target.removeEventListener(\"slotchange\", this);\n }\n /**\n * Retrieves the nodes that should be assigned to the target.\n */\n getNodes() {\n return this.target.assignedNodes(this.options);\n }\n}\n/**\n * A directive that observes the `assignedNodes()` of a slot and updates a property\n * whenever they change.\n * @param propertyOrOptions - The options used to configure slotted node observation.\n * @public\n */\nexport function slotted(propertyOrOptions) {\n if (typeof propertyOrOptions === \"string\") {\n propertyOrOptions = { property: propertyOrOptions };\n }\n return new AttachedBehaviorDirective(\"fast-slotted\", SlottedBehavior, propertyOrOptions);\n}\n","/**\n * Define shadow algorithms.\n *\n * TODO: The --background-luminance will need to be derived from JavaScript. For now\n * this is hard-coded to a 1, the relative luminance of pure white.\n * https://github.com/microsoft/fast/issues/2778\n *\n * @internal\n */\nexport const ambientShadow = '0 0 calc((var(--elevation) * 0.225px) + 2px) rgba(0, 0, 0, calc(.11 * (2 - var(--background-luminance, 1))))';\n/**\n * @internal\n */\nexport const directionalShadow = '0 calc(var(--elevation) * 0.4px) calc((var(--elevation) * 0.9px)) rgba(0, 0, 0, calc(.13 * (2 - var(--background-luminance, 1))))';\n/**\n * Applies the box-shadow CSS rule set to the elevation formula.\n * Control this formula with the --elevation CSS Custom Property\n * by setting --elevation to a number.\n *\n * @public\n */\nexport const elevation = `box-shadow: ${ambientShadow}, ${directionalShadow};`;\n","/**\n * A directive that enables basic conditional rendering in a template.\n * @param binding - The condition to test for rendering.\n * @param templateOrTemplateBinding - The template or a binding that gets\n * the template to render when the condition is true.\n * @public\n */\nexport function when(binding, templateOrTemplateBinding) {\n const getTemplate = typeof templateOrTemplateBinding === \"function\"\n ? templateOrTemplateBinding\n : () => templateOrTemplateBinding;\n return (source, context) => binding(source, context) ? getTemplate(source, context) : null;\n}\n","import { Observable, } from \"@microsoft/fast-element\";\nimport { DesignSystemProvider } from \"../../design-system-provider\";\n/**\n * Behavior to conditionally apply LTR and RTL stylesheets. To determine which to apply,\n * the behavior will use the nearest DesignSystemProvider's 'direction' design system value.\n *\n * @public\n * @example\n * ```ts\n * import { css } from \"@microsoft/fast-element\";\n * import { DirectionalStyleSheetBehavior } from \"@microsoft/fast-foundation\";\n *\n * css`\n * // ...\n * `.withBehaviors(new DirectionalStyleSheetBehavior(\n * css`:host { content: \"ltr\"}`),\n * css`:host { content: \"rtl\"}`),\n * )\n * ```\n */\nexport class DirectionalStyleSheetBehavior {\n constructor(ltr, rtl) {\n this.cache = new WeakMap();\n this.ltr = ltr;\n this.rtl = rtl;\n }\n /**\n * @internal\n */\n bind(source) {\n const provider = DesignSystemProvider.findProvider(source);\n if (provider !== null) {\n if (provider.$fastController && provider.$fastController.isConnected) {\n this.attach(source, provider);\n }\n else {\n if (!Array.isArray(provider.disconnectedRegistry)) {\n provider.disconnectedRegistry = [];\n }\n provider.disconnectedRegistry.push(this.attach.bind(this, source));\n }\n }\n }\n /**\n * @internal\n */\n unbind(source) {\n const cache = this.cache.get(source);\n if (cache) {\n Observable.getNotifier(cache[0].designSystem).unsubscribe(cache[1]);\n }\n }\n attach(source, provider) {\n const subscriber = new DirectionalStyleSheetBehaviorSubscription(this.ltr, this.rtl, source);\n Observable.getNotifier(provider.designSystem).subscribe(subscriber, \"direction\");\n subscriber.attach(provider.designSystem[\"direction\"]);\n this.cache.set(source, [provider, subscriber]);\n }\n}\n/**\n * Subscription for {@link DirectionalStyleSheetBehavior}\n */\nclass DirectionalStyleSheetBehaviorSubscription {\n constructor(ltr, rtl, source) {\n this.ltr = ltr;\n this.rtl = rtl;\n this.source = source;\n this.attached = null;\n }\n handleChange(source) {\n this.attach(source.direction);\n }\n attach(direction) {\n var _a, _b, _c;\n if (this.attached !== this[direction] && ((_a = this.source) === null || _a === void 0 ? void 0 : _a.shadowRoot)) {\n (_b = this.attached) === null || _b === void 0 ? void 0 : _b.removeStylesFrom(this.source.shadowRoot);\n (_c = this[direction]) === null || _c === void 0 ? void 0 : _c.addStylesTo(this.source.shadowRoot);\n this.attached = this[direction];\n }\n }\n}\n","import { __decorate } from \"tslib\";\nimport { attr, FASTElement } from \"@microsoft/fast-element\";\nimport { ARIAGlobalStatesAndProperties, StartEnd } from \"../patterns/index\";\nimport { applyMixins } from \"../utilities/apply-mixins\";\n/**\n * An Anchor Custom HTML Element.\n * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a | element }.\n *\n * @public\n */\nexport class Anchor extends FASTElement {\n}\n__decorate([\n attr\n], Anchor.prototype, \"download\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"href\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"hreflang\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"ping\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"referrerpolicy\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"rel\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"target\", void 0);\n__decorate([\n attr\n], Anchor.prototype, \"type\", void 0);\n/**\n * Includes ARIA states and properties relating to the ARIA link role\n *\n * @public\n */\nexport class DelegatesARIALink extends ARIAGlobalStatesAndProperties {\n}\n__decorate([\n attr({ attribute: \"aria-expanded\", mode: \"fromView\" })\n], DelegatesARIALink.prototype, \"ariaExpanded\", void 0);\napplyMixins(Anchor, StartEnd, DelegatesARIALink);\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class ChevronRight extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M5.0293 19.0918L14.1113 10L5.0293 0.908203L5.9082 0.0292969L15.8887 10L5.9082 19.9707L5.0293 19.0918Z\" })));\n }\n}\nChevronRight.defaultProps = {\n viewBox: \"0 0 20 20\",\n width: \"20px\",\n height: \"20px\",\n xmlns: \"http://www.w3.org/2000/svg\",\n};\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class ChevronLeft extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M14.0918 19.9707L4.11133 10L14.0918 0.0292969L14.9707 0.908203L5.88867 10L14.9707 19.0918L14.0918 19.9707Z\" })));\n }\n}\nChevronLeft.defaultProps = {\n viewBox: \"0 0 20 20\",\n width: \"20px\",\n height: \"20px\",\n xmlns: \"http://www.w3.org/2000/svg\",\n};\n","import baseRandom from './_baseRandom.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport toFinite from './toFinite.js';\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseFloat = parseFloat;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min,\n nativeRandom = Math.random;\n\n/**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\nfunction random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n}\n\nexport default random;\n","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nexport default isUndefined;\n","import baseFlatten from './_baseFlatten.js';\nimport baseRest from './_baseRest.js';\nimport baseUniq from './_baseUniq.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nexport default union;\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class CheckCircleFill extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M8 0C8.73438 0 9.44271 0.0963542 10.125 0.289062C10.8073 0.476562 11.4427 0.744792 12.0312 1.09375C12.625 1.44271 13.1641 1.86198 13.6484 2.35156C14.138 2.83594 14.5573 3.375 14.9062 3.96875C15.2552 4.55729 15.5234 5.19271 15.7109 5.875C15.9036 6.55729 16 7.26562 16 8C16 8.73438 15.9036 9.44271 15.7109 10.125C15.5234 10.8073 15.2552 11.4453 14.9062 12.0391C14.5573 12.6276 14.138 13.1667 13.6484 13.6562C13.1641 14.1406 12.625 14.5573 12.0312 14.9062C11.4427 15.2552 10.8073 15.526 10.125 15.7188C9.44271 15.9062 8.73438 16 8 16C7.26562 16 6.55729 15.9062 5.875 15.7188C5.19271 15.526 4.55469 15.2552 3.96094 14.9062C3.3724 14.5573 2.83333 14.1406 2.34375 13.6562C1.85938 13.1667 1.44271 12.6276 1.09375 12.0391C0.744792 11.4453 0.473958 10.8073 0.28125 10.125C0.09375 9.44271 0 8.73438 0 8C0 7.26562 0.09375 6.55729 0.28125 5.875C0.473958 5.19271 0.744792 4.55729 1.09375 3.96875C1.44271 3.375 1.85938 2.83594 2.34375 2.35156C2.83333 1.86198 3.3724 1.44271 3.96094 1.09375C4.55469 0.744792 5.19271 0.476562 5.875 0.289062C6.55729 0.0963542 7.26562 0 8 0ZM7.08594 10.5234C7.20052 10.5234 7.3099 10.5026 7.41406 10.4609C7.51823 10.4141 7.60938 10.3516 7.6875 10.2734L11.0391 6.92188C11.1172 6.84375 11.1771 6.7526 11.2188 6.64844C11.2604 6.54427 11.2812 6.4375 11.2812 6.32812C11.2812 6.21354 11.2578 6.10417 11.2109 6C11.1693 5.89583 11.1094 5.80729 11.0312 5.73438C10.9583 5.65625 10.8698 5.59635 10.7656 5.55469C10.6615 5.50781 10.5521 5.48438 10.4375 5.48438C10.3281 5.48438 10.2188 5.50521 10.1094 5.54688C10.0052 5.58854 9.91406 5.64844 9.83594 5.72656L7.08594 8.47656L6.16406 7.55469C5.9974 7.38802 5.79688 7.30469 5.5625 7.30469C5.44792 7.30469 5.33854 7.32812 5.23438 7.375C5.13021 7.41667 5.03906 7.47656 4.96094 7.55469C4.88281 7.63281 4.82031 7.72396 4.77344 7.82812C4.73177 7.92708 4.71094 8.03385 4.71094 8.14844C4.71094 8.25781 4.73177 8.36719 4.77344 8.47656C4.82031 8.58073 4.88281 8.67188 4.96094 8.75L6.48438 10.2734C6.5625 10.3516 6.65365 10.4141 6.75781 10.4609C6.86719 10.5026 6.97656 10.5234 7.08594 10.5234Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Stars extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M11.5 3.57812C11.6198 3.57812 11.7188 3.61979 11.7969 3.70312C11.8802 3.78125 11.9219 3.88021 11.9219 4C11.9219 4.14062 11.9505 4.28906 12.0078 4.44531C12.0651 4.60156 12.138 4.75521 12.2266 4.90625C12.3151 5.05208 12.4115 5.19271 12.5156 5.32812C12.625 5.45833 12.7292 5.57292 12.8281 5.67188C12.9271 5.77083 13.0417 5.875 13.1719 5.98438C13.3073 6.08854 13.4479 6.1849 13.5938 6.27344C13.7448 6.36198 13.8984 6.4349 14.0547 6.49219C14.2109 6.54948 14.3594 6.57812 14.5 6.57812C14.6198 6.57812 14.7188 6.61979 14.7969 6.70312C14.8802 6.78125 14.9219 6.88021 14.9219 7C14.9219 7.11979 14.8802 7.22135 14.7969 7.30469C14.7188 7.38281 14.6198 7.42188 14.5 7.42188C14.3594 7.42188 14.2109 7.45052 14.0547 7.50781C13.8984 7.5651 13.7448 7.63802 13.5938 7.72656C13.4479 7.8151 13.3073 7.91406 13.1719 8.02344C13.0417 8.1276 12.9271 8.22917 12.8281 8.32812C12.7292 8.42708 12.625 8.54427 12.5156 8.67969C12.4115 8.8099 12.3151 8.95052 12.2266 9.10156C12.138 9.2474 12.0651 9.39844 12.0078 9.55469C11.9505 9.71094 11.9219 9.85938 11.9219 10C11.9219 10.1198 11.8802 10.2214 11.7969 10.3047C11.7188 10.3828 11.6198 10.4219 11.5 10.4219C11.3802 10.4219 11.2786 10.3828 11.1953 10.3047C11.1172 10.2214 11.0781 10.1198 11.0781 10C11.0781 9.85938 11.0495 9.71094 10.9922 9.55469C10.9349 9.39844 10.862 9.2474 10.7734 9.10156C10.6849 8.95052 10.5859 8.8099 10.4766 8.67969C10.3724 8.54427 10.2708 8.42708 10.1719 8.32812C10.0729 8.22917 9.95573 8.1276 9.82031 8.02344C9.6901 7.91406 9.54948 7.8151 9.39844 7.72656C9.2526 7.63802 9.10156 7.5651 8.94531 7.50781C8.78906 7.45052 8.64062 7.42188 8.5 7.42188C8.38021 7.42188 8.27865 7.38281 8.19531 7.30469C8.11719 7.22135 8.07812 7.11979 8.07812 7C8.07812 6.88021 8.11719 6.78125 8.19531 6.70312C8.27865 6.61979 8.38021 6.57812 8.5 6.57812C8.64062 6.57812 8.78906 6.54948 8.94531 6.49219C9.10156 6.4349 9.2526 6.36198 9.39844 6.27344C9.54948 6.1849 9.6901 6.08854 9.82031 5.98438C9.95573 5.875 10.0729 5.77083 10.1719 5.67188C10.2708 5.57292 10.3724 5.45833 10.4766 5.32812C10.5859 5.19271 10.6849 5.05208 10.7734 4.90625C10.862 4.75521 10.9349 4.60156 10.9922 4.44531C11.0495 4.28906 11.0781 4.14062 11.0781 4C11.0781 3.88021 11.1172 3.78125 11.1953 3.70312C11.2786 3.61979 11.3802 3.57812 11.5 3.57812ZM11.5 8.66406C11.6927 8.33594 11.9349 8.02604 12.2266 7.73438C12.5182 7.44271 12.8281 7.19792 13.1562 7C12.8281 6.80208 12.5182 6.55729 12.2266 6.26562C11.9349 5.97396 11.6927 5.66406 11.5 5.33594C11.3073 5.66406 11.0651 5.97396 10.7734 6.26562C10.4818 6.55729 10.1719 6.80208 9.84375 7C10.1719 7.19792 10.4818 7.44271 10.7734 7.73438C11.0651 8.02604 11.3073 8.33594 11.5 8.66406ZM6.5 6.375C6.39583 6.375 6.30729 6.33854 6.23438 6.26562C6.16146 6.19271 6.125 6.10417 6.125 6C6.125 5.88021 6.10156 5.75781 6.05469 5.63281C6.00781 5.5026 5.94531 5.3776 5.86719 5.25781C5.79427 5.13281 5.71354 5.01562 5.625 4.90625C5.53646 4.79688 5.45312 4.70312 5.375 4.625C5.29688 4.54688 5.20312 4.46354 5.09375 4.375C4.98438 4.28646 4.86719 4.20573 4.74219 4.13281C4.6224 4.05469 4.4974 3.99219 4.36719 3.94531C4.24219 3.89844 4.11979 3.875 4 3.875C3.89583 3.875 3.80729 3.83854 3.73438 3.76562C3.66146 3.69271 3.625 3.60417 3.625 3.5C3.625 3.39583 3.66146 3.30729 3.73438 3.23438C3.80729 3.16146 3.89583 3.125 4 3.125C4.11979 3.125 4.24219 3.10156 4.36719 3.05469C4.4974 3.00781 4.6224 2.94792 4.74219 2.875C4.86719 2.79688 4.98438 2.71354 5.09375 2.625C5.20312 2.53646 5.29688 2.45312 5.375 2.375C5.45312 2.29688 5.53646 2.20312 5.625 2.09375C5.71354 1.98438 5.79427 1.86979 5.86719 1.75C5.94531 1.625 6.00781 1.5 6.05469 1.375C6.10156 1.24479 6.125 1.11979 6.125 1C6.125 0.895833 6.16146 0.807292 6.23438 0.734375C6.30729 0.661458 6.39583 0.625 6.5 0.625C6.60417 0.625 6.69271 0.661458 6.76562 0.734375C6.83854 0.807292 6.875 0.895833 6.875 1C6.875 1.11979 6.89844 1.24479 6.94531 1.375C6.99219 1.5 7.05208 1.625 7.125 1.75C7.20312 1.86979 7.28646 1.98438 7.375 2.09375C7.46354 2.20312 7.54688 2.29688 7.625 2.375C7.70312 2.45312 7.79688 2.53646 7.90625 2.625C8.01562 2.71354 8.13021 2.79688 8.25 2.875C8.375 2.94792 8.5 3.00781 8.625 3.05469C8.75521 3.10156 8.88021 3.125 9 3.125C9.10417 3.125 9.19271 3.16146 9.26562 3.23438C9.33854 3.30729 9.375 3.39583 9.375 3.5C9.375 3.60417 9.33854 3.69271 9.26562 3.76562C9.19271 3.83854 9.10417 3.875 9 3.875C8.88021 3.875 8.75521 3.89844 8.625 3.94531C8.5 3.99219 8.375 4.05469 8.25 4.13281C8.13021 4.20573 8.01562 4.28646 7.90625 4.375C7.79688 4.46354 7.70312 4.54688 7.625 4.625C7.54688 4.70312 7.46354 4.79688 7.375 4.90625C7.28646 5.01562 7.20312 5.13281 7.125 5.25781C7.05208 5.3776 6.99219 5.5026 6.94531 5.63281C6.89844 5.75781 6.875 5.88021 6.875 6C6.875 6.10417 6.83854 6.19271 6.76562 6.26562C6.69271 6.33854 6.60417 6.375 6.5 6.375ZM6.5 2.15625C6.33854 2.42188 6.14062 2.67188 5.90625 2.90625C5.67188 3.14062 5.42188 3.33854 5.15625 3.5C5.42188 3.66146 5.67188 3.85938 5.90625 4.09375C6.14062 4.32812 6.33854 4.57812 6.5 4.84375C6.66146 4.57812 6.85938 4.32812 7.09375 4.09375C7.32812 3.85938 7.57812 3.66146 7.84375 3.5C7.57812 3.33854 7.32812 3.14062 7.09375 2.90625C6.85938 2.67188 6.66146 2.42188 6.5 2.15625ZM6.5 7.32812C6.61979 7.32812 6.71875 7.36979 6.79688 7.45312C6.88021 7.53125 6.92188 7.63021 6.92188 7.75C6.92188 7.9375 6.95833 8.13281 7.03125 8.33594C7.10417 8.53385 7.19531 8.72917 7.30469 8.92188C7.41927 9.11458 7.54427 9.29688 7.67969 9.46875C7.82031 9.63542 7.95573 9.78385 8.08594 9.91406C8.21615 10.0443 8.36458 10.1797 8.53125 10.3203C8.70312 10.4557 8.88542 10.5807 9.07812 10.6953C9.27083 10.8047 9.46615 10.8958 9.66406 10.9688C9.86719 11.0417 10.0625 11.0781 10.25 11.0781C10.3698 11.0781 10.4688 11.1198 10.5469 11.2031C10.6302 11.2812 10.6719 11.3802 10.6719 11.5C10.6719 11.6198 10.6302 11.7214 10.5469 11.8047C10.4688 11.8828 10.3698 11.9219 10.25 11.9219C10.0625 11.9219 9.86719 11.9583 9.66406 12.0312C9.46615 12.1042 9.27083 12.1979 9.07812 12.3125C8.88542 12.4271 8.70312 12.5521 8.53125 12.6875C8.36458 12.8229 8.21615 12.9557 8.08594 13.0859C7.95573 13.2161 7.82031 13.3672 7.67969 13.5391C7.54427 13.7057 7.41927 13.8854 7.30469 14.0781C7.19531 14.2708 7.10417 14.4688 7.03125 14.6719C6.95833 14.8698 6.92188 15.0625 6.92188 15.25C6.92188 15.3698 6.88021 15.4714 6.79688 15.5547C6.71875 15.6328 6.61979 15.6719 6.5 15.6719C6.38021 15.6719 6.27865 15.6328 6.19531 15.5547C6.11719 15.4714 6.07812 15.3698 6.07812 15.25C6.07812 15.0625 6.04167 14.8698 5.96875 14.6719C5.89583 14.4688 5.80208 14.2708 5.6875 14.0781C5.57292 13.8854 5.44792 13.7057 5.3125 13.5391C5.17708 13.3672 5.04427 13.2161 4.91406 13.0859C4.78385 12.9557 4.63281 12.8229 4.46094 12.6875C4.29427 12.5521 4.11458 12.4271 3.92188 12.3125C3.72917 12.1979 3.53125 12.1042 3.32812 12.0312C3.13021 11.9583 2.9375 11.9219 2.75 11.9219C2.63021 11.9219 2.52865 11.8828 2.44531 11.8047C2.36719 11.7214 2.32812 11.6198 2.32812 11.5C2.32812 11.3802 2.36719 11.2812 2.44531 11.2031C2.52865 11.1198 2.63021 11.0781 2.75 11.0781C2.9375 11.0781 3.13021 11.0417 3.32812 10.9688C3.53125 10.8958 3.72917 10.8047 3.92188 10.6953C4.11458 10.5807 4.29427 10.4557 4.46094 10.3203C4.63281 10.1797 4.78385 10.0443 4.91406 9.91406C5.04427 9.78385 5.17708 9.63542 5.3125 9.46875C5.44792 9.29688 5.57292 9.11458 5.6875 8.92188C5.80208 8.72917 5.89583 8.53385 5.96875 8.33594C6.04167 8.13281 6.07812 7.9375 6.07812 7.75C6.07812 7.63021 6.11719 7.53125 6.19531 7.45312C6.27865 7.36979 6.38021 7.32812 6.5 7.32812ZM6.5 13.7891C6.75521 13.3203 7.08333 12.8854 7.48438 12.4844C7.88542 12.0833 8.32031 11.7552 8.78906 11.5C8.32031 11.2448 7.88542 10.9167 7.48438 10.5156C7.08333 10.1146 6.75521 9.67969 6.5 9.21094C6.24479 9.67969 5.91667 10.1146 5.51562 10.5156C5.11458 10.9167 4.67969 11.2448 4.21094 11.5C4.67969 11.7552 5.11458 12.0833 5.51562 12.4844C5.91667 12.8854 6.24479 13.3203 6.5 13.7891Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class News extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M16 4V11C16 11.276 15.9453 11.5365 15.8359 11.7812C15.7318 12.0208 15.5885 12.2318 15.4062 12.4141C15.2292 12.5911 15.0182 12.7344 14.7734 12.8438C14.5286 12.9479 14.2708 13 14 13H1.94531C1.67969 13 1.42708 12.9479 1.1875 12.8438C0.953125 12.7396 0.747396 12.6016 0.570312 12.4297C0.398438 12.2526 0.260417 12.0469 0.15625 11.8125C0.0520833 11.5729 0 11.3203 0 11.0547V2H14V4H16ZM15 5H14V10.5C14 10.6354 13.9505 10.7526 13.8516 10.8516C13.7526 10.9505 13.6354 11 13.5 11C13.3646 11 13.2474 10.9505 13.1484 10.8516C13.0495 10.7526 13 10.6354 13 10.5V3H1V11.0547C1 11.1849 1.02344 11.3073 1.07031 11.4219C1.1224 11.5365 1.1901 11.638 1.27344 11.7266C1.36198 11.8099 1.46354 11.8776 1.57812 11.9297C1.69271 11.9766 1.8151 12 1.94531 12H14C14.1406 12 14.2708 11.974 14.3906 11.9219C14.5104 11.8698 14.6146 11.7995 14.7031 11.7109C14.7969 11.6172 14.8698 11.5104 14.9219 11.3906C14.974 11.2708 15 11.1406 15 11V5ZM12 5H2V4H12V5ZM12 11H8V10H12V11ZM12 9H8V8H12V9ZM12 7H8V6H12V7ZM7 11H2V5.97656H7V11ZM3 10H6V6.97656H3V10Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Ticket extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M16 7C15.8594 7 15.7292 7.02604 15.6094 7.07812C15.4896 7.13021 15.3828 7.20312 15.2891 7.29688C15.2005 7.38542 15.1302 7.48958 15.0781 7.60938C15.026 7.72917 15 7.85938 15 8C15 8.14062 15.026 8.27083 15.0781 8.39062C15.1302 8.51042 15.2005 8.61719 15.2891 8.71094C15.3828 8.79948 15.4896 8.86979 15.6094 8.92188C15.7292 8.97396 15.8594 9 16 9V13H0V9C0.140625 9 0.270833 8.97396 0.390625 8.92188C0.510417 8.86979 0.614583 8.79948 0.703125 8.71094C0.796875 8.61719 0.869792 8.51042 0.921875 8.39062C0.973958 8.27083 1 8.14062 1 8C1 7.85938 0.973958 7.72917 0.921875 7.60938C0.869792 7.48958 0.796875 7.38542 0.703125 7.29688C0.614583 7.20312 0.510417 7.13021 0.390625 7.07812C0.270833 7.02604 0.140625 7 0 7V3H16V7ZM15 4H1V6.26562C1.3125 6.44792 1.55729 6.69271 1.73438 7C1.91146 7.30729 2 7.64062 2 8C2 8.35938 1.91146 8.69271 1.73438 9C1.55729 9.30729 1.3125 9.55208 1 9.73438V12H15V9.73438C14.6875 9.55208 14.4427 9.30729 14.2656 9C14.0885 8.69271 14 8.35938 14 8C14 7.64062 14.0885 7.30729 14.2656 7C14.4427 6.69271 14.6875 6.44792 15 6.26562V4Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class SportsBalls extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M4.85156 9.14844L6.85156 11.1484L6.14844 11.8516L4.14844 9.85156L4.85156 9.14844ZM9.5 0C10.099 0 10.6745 0.078125 11.2266 0.234375C11.7839 0.385417 12.3021 0.604167 12.7812 0.890625C13.2656 1.17188 13.7031 1.51042 14.0938 1.90625C14.4896 2.29688 14.8281 2.73438 15.1094 3.21875C15.3958 3.69792 15.6146 4.21615 15.7656 4.77344C15.9219 5.32552 16 5.90104 16 6.5C16 7.26042 15.875 7.98698 15.625 8.67969C15.375 9.3724 15.0234 10 14.5703 10.5625C14.1224 11.125 13.5885 11.6042 12.9688 12C12.349 12.3958 11.6693 12.6771 10.9297 12.8438C10.9766 13.2292 11 13.6146 11 14C11 14.276 10.9479 14.5365 10.8438 14.7812C10.7396 15.0208 10.5964 15.2318 10.4141 15.4141C10.2318 15.5964 10.0182 15.7396 9.77344 15.8438C9.53385 15.9479 9.27604 16 9 16C8.17188 16 7.3724 15.8932 6.60156 15.6797C5.83594 15.4661 5.11979 15.1641 4.45312 14.7734C3.78646 14.3828 3.17969 13.9141 2.63281 13.3672C2.08594 12.8203 1.61719 12.2135 1.22656 11.5469C0.835938 10.8802 0.533854 10.1641 0.320312 9.39844C0.106771 8.6276 0 7.82812 0 7C0 6.72396 0.0520833 6.46615 0.15625 6.22656C0.260417 5.98177 0.403646 5.76823 0.585938 5.58594C0.768229 5.40365 0.979167 5.26042 1.21875 5.15625C1.46354 5.05208 1.72396 5 2 5C2.38542 5 2.77083 5.02344 3.15625 5.07031C3.32292 4.33073 3.60417 3.65104 4 3.03125C4.39583 2.41146 4.875 1.8776 5.4375 1.42969C6 0.976562 6.6276 0.625 7.32031 0.375C8.01302 0.125 8.73958 0 9.5 0ZM12.2656 4.44531C12.5156 4.6276 12.7891 4.76562 13.0859 4.85938C13.3828 4.95312 13.6875 5 14 5C14.2604 5 14.5156 4.96875 14.7656 4.90625C14.6615 4.55208 14.5208 4.21354 14.3438 3.89062C14.1667 3.56771 13.9609 3.26562 13.7266 2.98438L12.2656 4.44531ZM13.0156 2.27344C12.7344 2.03906 12.4323 1.83333 12.1094 1.65625C11.7865 1.47917 11.4479 1.33854 11.0938 1.23438C11.0312 1.48438 11 1.73958 11 2C11 2.3125 11.0469 2.61719 11.1406 2.91406C11.2344 3.21094 11.3724 3.48438 11.5547 3.73438L13.0156 2.27344ZM10.1172 1.03906C10.013 1.02344 9.90885 1.01302 9.80469 1.00781C9.70573 1.0026 9.60417 1 9.5 1C8.85417 1 8.22917 1.11198 7.625 1.33594C7.02604 1.55469 6.47917 1.86979 5.98438 2.28125L9.5 5.79688L10.8438 4.45312C10.5677 4.10417 10.3568 3.72135 10.2109 3.30469C10.0703 2.88281 10 2.44792 10 2C10 1.67188 10.0391 1.35156 10.1172 1.03906ZM5.27344 2.98438C4.9974 3.3125 4.76302 3.66927 4.57031 4.05469C4.3776 4.4349 4.23438 4.83594 4.14062 5.25781C4.85417 5.42448 5.53906 5.68229 6.19531 6.03125C6.85156 6.38021 7.45312 6.79948 8 7.28906L8.79688 6.5L5.27344 2.98438ZM9 15C9.14062 15 9.27083 14.974 9.39062 14.9219C9.51042 14.8698 9.61458 14.7995 9.70312 14.7109C9.79688 14.6172 9.86979 14.5104 9.92188 14.3906C9.97396 14.2708 10 14.1406 10 14C10 13.2656 9.90365 12.5573 9.71094 11.875C9.52344 11.1927 9.25521 10.5573 8.90625 9.96875C8.55729 9.375 8.13802 8.83594 7.64844 8.35156C7.16406 7.86198 6.625 7.44271 6.03125 7.09375C5.44271 6.74479 4.80729 6.47656 4.125 6.28906C3.44271 6.09635 2.73438 6 2 6C1.85938 6 1.72917 6.02604 1.60938 6.07812C1.48958 6.13021 1.38281 6.20312 1.28906 6.29688C1.20052 6.38542 1.13021 6.48958 1.07812 6.60938C1.02604 6.72917 1 6.85938 1 7C1 7.73438 1.09375 8.44271 1.28125 9.125C1.47396 9.80729 1.74479 10.4453 2.09375 11.0391C2.44271 11.6276 2.85938 12.1667 3.34375 12.6562C3.83333 13.1406 4.3724 13.5573 4.96094 13.9062C5.55469 14.2552 6.19271 14.526 6.875 14.7188C7.55729 14.9062 8.26562 15 9 15ZM8.71094 8C9.20052 8.54688 9.61979 9.14844 9.96875 9.80469C10.3177 10.4609 10.5755 11.1458 10.7422 11.8594C11.1641 11.7656 11.5651 11.6224 11.9453 11.4297C12.3307 11.237 12.6875 11.0026 13.0156 10.7266L9.5 7.20312L8.71094 8ZM13.7188 10.0156C14.1302 9.52083 14.4453 8.97396 14.6641 8.375C14.888 7.77083 15 7.14583 15 6.5C15 6.39583 14.9974 6.29427 14.9922 6.19531C14.987 6.09115 14.9766 5.98698 14.9609 5.88281C14.6484 5.96094 14.3281 6 14 6C13.5521 6 13.1172 5.92969 12.6953 5.78906C12.2786 5.64323 11.8958 5.43229 11.5469 5.15625L10.2031 6.5L13.7188 10.0156Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Money extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M16 3V13H1V11H0V2H14V3H16ZM12 3C12 3.14062 12.026 3.27083 12.0781 3.39062C12.1302 3.51042 12.2005 3.61719 12.2891 3.71094C12.3828 3.79948 12.4896 3.86979 12.6094 3.92188C12.7292 3.97396 12.8594 4 13 4V3H12ZM1 4C1.14062 4 1.27083 3.97396 1.39062 3.92188C1.51042 3.86979 1.61458 3.79948 1.70312 3.71094C1.79688 3.61719 1.86979 3.51042 1.92188 3.39062C1.97396 3.27083 2 3.14062 2 3H1V4ZM1 8C1.27604 8 1.53385 8.05208 1.77344 8.15625C2.01823 8.26042 2.23177 8.40365 2.41406 8.58594C2.59635 8.76823 2.73958 8.98177 2.84375 9.22656C2.94792 9.46615 3 9.72396 3 10H11C11 9.72396 11.0521 9.46615 11.1562 9.22656C11.2604 8.98177 11.4036 8.76823 11.5859 8.58594C11.7682 8.40365 11.9792 8.26042 12.2188 8.15625C12.4635 8.05208 12.724 8 13 8V5C12.724 5 12.4635 4.94792 12.2188 4.84375C11.9792 4.73958 11.7682 4.59635 11.5859 4.41406C11.4036 4.23177 11.2604 4.02083 11.1562 3.78125C11.0521 3.53646 11 3.27604 11 3H3C3 3.27604 2.94792 3.53646 2.84375 3.78125C2.73958 4.02083 2.59635 4.23177 2.41406 4.41406C2.23177 4.59635 2.01823 4.73958 1.77344 4.84375C1.53385 4.94792 1.27604 5 1 5V8ZM13 9C12.8594 9 12.7292 9.02604 12.6094 9.07812C12.4896 9.13021 12.3828 9.20312 12.2891 9.29688C12.2005 9.38542 12.1302 9.48958 12.0781 9.60938C12.026 9.72917 12 9.85938 12 10H13V9ZM1 10H2C2 9.85938 1.97396 9.72917 1.92188 9.60938C1.86979 9.48958 1.79688 9.38542 1.70312 9.29688C1.61458 9.20312 1.51042 9.13021 1.39062 9.07812C1.27083 9.02604 1.14062 9 1 9V10ZM15 4H14V11H2V12H15V4ZM3.5 7C3.36458 7 3.2474 6.95052 3.14844 6.85156C3.04948 6.7526 3 6.63542 3 6.5C3 6.36458 3.04948 6.2474 3.14844 6.14844C3.2474 6.04948 3.36458 6 3.5 6C3.63542 6 3.7526 6.04948 3.85156 6.14844C3.95052 6.2474 4 6.36458 4 6.5C4 6.63542 3.95052 6.7526 3.85156 6.85156C3.7526 6.95052 3.63542 7 3.5 7ZM10.5 7C10.3646 7 10.2474 6.95052 10.1484 6.85156C10.0495 6.7526 10 6.63542 10 6.5C10 6.36458 10.0495 6.2474 10.1484 6.14844C10.2474 6.04948 10.3646 6 10.5 6C10.6354 6 10.7526 6.04948 10.8516 6.14844C10.9505 6.2474 11 6.36458 11 6.5C11 6.63542 10.9505 6.7526 10.8516 6.85156C10.7526 6.95052 10.6354 7 10.5 7ZM7 9C6.72396 9 6.46354 8.94792 6.21875 8.84375C5.97917 8.73958 5.76823 8.59635 5.58594 8.41406C5.40365 8.23177 5.26042 8.02083 5.15625 7.78125C5.05208 7.53646 5 7.27604 5 7V6C5 5.72396 5.05208 5.46615 5.15625 5.22656C5.26042 4.98177 5.40365 4.76823 5.58594 4.58594C5.76823 4.40365 5.97917 4.26042 6.21875 4.15625C6.46354 4.05208 6.72396 4 7 4C7.27604 4 7.53385 4.05208 7.77344 4.15625C8.01823 4.26042 8.23177 4.40365 8.41406 4.58594C8.59635 4.76823 8.73958 4.98177 8.84375 5.22656C8.94792 5.46615 9 5.72396 9 6V7C9 7.27604 8.94792 7.53646 8.84375 7.78125C8.73958 8.02083 8.59635 8.23177 8.41406 8.41406C8.23177 8.59635 8.01823 8.73958 7.77344 8.84375C7.53385 8.94792 7.27604 9 7 9ZM6 7C6 7.14062 6.02604 7.27083 6.07812 7.39062C6.13021 7.51042 6.20052 7.61719 6.28906 7.71094C6.38281 7.79948 6.48958 7.86979 6.60938 7.92188C6.72917 7.97396 6.85938 8 7 8C7.14062 8 7.27083 7.97396 7.39062 7.92188C7.51042 7.86979 7.61458 7.79948 7.70312 7.71094C7.79688 7.61719 7.86979 7.51042 7.92188 7.39062C7.97396 7.27083 8 7.14062 8 7V6C8 5.85938 7.97396 5.72917 7.92188 5.60938C7.86979 5.48958 7.79688 5.38542 7.70312 5.29688C7.61458 5.20312 7.51042 5.13021 7.39062 5.07812C7.27083 5.02604 7.14062 5 7 5C6.85938 5 6.72917 5.02604 6.60938 5.07812C6.48958 5.13021 6.38281 5.20312 6.28906 5.29688C6.20052 5.38542 6.13021 5.48958 6.07812 5.60938C6.02604 5.72917 6 5.85938 6 6V7Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class FinancialArrowUp extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M14 5H15V14H14V5ZM4 8.5L5 7.5V14H4V8.5ZM2 10.5L3 9.5V14H2V10.5ZM6 6.5L7 5.5V14H6V6.5ZM8 5.5L9 6.5V13.9922H8V5.5ZM10.5 8L11 7.5V14H10V7.5L10.5 8ZM12 6.5L13 5.5V14H12V6.5ZM0 12.5L1 11.5V14H0V12.5ZM16 0V4H15V1.71094L10.5 6.20312L7.5 3.20312L0 10.7109V9.28906L7.5 1.79688L10.5 4.79688L14.2891 1H12V0H16Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Diamond extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M15.0625 6.47656L8 15.1719L0.9375 6.47656L5.13281 2H10.8672L15.0625 6.47656ZM9.85938 6L8.73438 3H7.26562L6.14062 6H9.85938ZM6.08594 7L8 13.7031L9.91406 7H6.08594ZM5.35938 3L2.55469 6H5.23438L6.35938 3H5.35938ZM2.45312 7L6.6875 12.2109L5.19531 7H2.45312ZM9.3125 12.2109L13.5469 7H10.8047L9.3125 12.2109ZM13.4453 6L10.6406 3H9.64062L10.7656 6H13.4453Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Glasses extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M10 0C10.0833 0 10.1589 0.0182292 10.2266 0.0546875L16 2.9375V4C15.8646 4 15.7474 4.04948 15.6484 4.14844C15.5495 4.2474 15.5 4.36458 15.5 4.5V5.5C15.5 5.98438 15.4062 6.4401 15.2188 6.86719C15.0365 7.28906 14.7865 7.65885 14.4688 7.97656C14.1562 8.28906 13.7865 8.53906 13.3594 8.72656C12.9375 8.90885 12.4844 9 12 9C11.5156 9 11.0599 8.90885 10.6328 8.72656C10.2109 8.53906 9.84115 8.28906 9.52344 7.97656C9.21094 7.65885 8.96094 7.28906 8.77344 6.86719C8.59115 6.4401 8.5 5.98438 8.5 5.5C8.5 5.36458 8.45052 5.2474 8.35156 5.14844C8.2526 5.04948 8.13542 5 8 5C7.86458 5 7.7474 5.04948 7.64844 5.14844C7.54948 5.2474 7.5 5.36458 7.5 5.5C7.5 5.98438 7.40625 6.4401 7.21875 6.86719C7.03646 7.28906 6.78646 7.65885 6.46875 7.97656C6.15625 8.28906 5.78646 8.53906 5.35938 8.72656C4.9375 8.90885 4.48438 9 4 9C3.51562 9 3.0599 8.90885 2.63281 8.72656C2.21094 8.53906 1.84115 8.28906 1.52344 7.97656C1.21094 7.65885 0.960938 7.28906 0.773438 6.86719C0.591146 6.4401 0.5 5.98438 0.5 5.5V4.5C0.5 4.36458 0.450521 4.2474 0.351562 4.14844C0.252604 4.04948 0.135417 4 0 4V2.9375L5.77344 0.0546875C5.84115 0.0182292 5.91667 0 6 0C6.13542 0 6.2526 0.0494792 6.35156 0.148438C6.40365 0.200521 6.46615 0.260417 6.53906 0.328125C6.61719 0.390625 6.6901 0.458333 6.75781 0.53125C6.82552 0.604167 6.88281 0.679688 6.92969 0.757812C6.97656 0.835938 7 0.916667 7 1C7 1.13542 6.95052 1.2526 6.85156 1.35156C6.7526 1.45052 6.63542 1.5 6.5 1.5C6.36979 1.5 6.25781 1.45833 6.16406 1.375C6.07552 1.28646 5.98698 1.19792 5.89844 1.10938L2.11719 3H6C6.19792 3 6.36719 3.02604 6.50781 3.07812C6.65365 3.125 6.78125 3.1849 6.89062 3.25781C7.00521 3.33073 7.10677 3.41146 7.19531 3.5C7.28385 3.58854 7.36719 3.66927 7.44531 3.74219C7.52865 3.8151 7.61458 3.8776 7.70312 3.92969C7.79167 3.97656 7.89062 4 8 4C8.10938 4 8.20833 3.97656 8.29688 3.92969C8.38542 3.8776 8.46875 3.8151 8.54688 3.74219C8.63021 3.66927 8.71615 3.58854 8.80469 3.5C8.89323 3.41146 8.99219 3.33073 9.10156 3.25781C9.21615 3.1849 9.34375 3.125 9.48438 3.07812C9.63021 3.02604 9.80208 3 10 3H13.8828L10.1016 1.10938C10.013 1.19792 9.92188 1.28646 9.82812 1.375C9.73958 1.45833 9.63021 1.5 9.5 1.5C9.36458 1.5 9.2474 1.45052 9.14844 1.35156C9.04948 1.2526 9 1.13542 9 1C9 0.916667 9.02344 0.835938 9.07031 0.757812C9.11719 0.679688 9.17448 0.604167 9.24219 0.53125C9.3099 0.458333 9.38021 0.390625 9.45312 0.328125C9.53125 0.260417 9.59635 0.200521 9.64844 0.148438C9.7474 0.0494792 9.86458 0 10 0ZM6.5 5C6.5 4.86458 6.47396 4.73698 6.42188 4.61719C6.36979 4.49219 6.29688 4.38542 6.20312 4.29688C6.11458 4.20312 6.00781 4.13021 5.88281 4.07812C5.76302 4.02604 5.63542 4 5.5 4H2C1.86458 4 1.7474 4.04948 1.64844 4.14844C1.54948 4.2474 1.5 4.36458 1.5 4.5V5.5C1.5 5.84375 1.5651 6.16927 1.69531 6.47656C1.82552 6.77865 2.0026 7.04427 2.22656 7.27344C2.45573 7.4974 2.72135 7.67448 3.02344 7.80469C3.33073 7.9349 3.65625 8 4 8C4.34375 8 4.66667 7.9349 4.96875 7.80469C5.27083 7.67448 5.53385 7.4974 5.75781 7.27344C5.98698 7.04427 6.16667 6.77865 6.29688 6.47656C6.43229 6.16927 6.5 5.84375 6.5 5.5V5ZM12 8C12.3438 8 12.6667 7.9349 12.9688 7.80469C13.2708 7.67448 13.5339 7.4974 13.7578 7.27344C13.987 7.04427 14.1667 6.77865 14.2969 6.47656C14.4323 6.16927 14.5 5.84375 14.5 5.5C14.5 5.38542 14.4974 5.26302 14.4922 5.13281C14.487 5.0026 14.4844 4.8724 14.4844 4.74219C14.4844 4.61198 14.4896 4.48438 14.5 4.35938C14.5156 4.22917 14.5443 4.10938 14.5859 4H10.5C10.3646 4 10.2344 4.02604 10.1094 4.07812C9.98958 4.13021 9.88281 4.20312 9.78906 4.29688C9.70052 4.38542 9.63021 4.49219 9.57812 4.61719C9.52604 4.73698 9.5 4.86458 9.5 5V5.5C9.5 5.84375 9.5651 6.16927 9.69531 6.47656C9.82552 6.77865 10.0026 7.04427 10.2266 7.27344C10.4557 7.4974 10.7214 7.67448 11.0234 7.80469C11.3307 7.9349 11.6562 8 12 8Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Health extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M2.71094 7H2.40625L8 12.5938L12.5938 8H14.0078L8 14.0078L1.24219 7.25781C1.0599 7.07552 0.898438 6.88021 0.757812 6.67188C0.617188 6.45833 0.494792 6.23438 0.390625 6H2.28906L4.5 3.79688L8 7.28906L10.5 4.79688L11.7109 6H14.4844C14.651 5.73438 14.7786 5.45312 14.8672 5.15625C14.9557 4.85938 15 4.55469 15 4.24219C15 3.78906 14.9141 3.36719 14.7422 2.97656C14.5755 2.58594 14.3438 2.2474 14.0469 1.96094C13.7552 1.66927 13.4115 1.44271 13.0156 1.28125C12.625 1.11458 12.2031 1.03125 11.75 1.03125C11.3125 1.03125 10.9245 1.10156 10.5859 1.24219C10.2474 1.3776 9.9349 1.55729 9.64844 1.78125C9.36198 2.00521 9.08594 2.26042 8.82031 2.54688C8.5599 2.82812 8.28646 3.11458 8 3.40625C7.71875 3.125 7.44531 2.84115 7.17969 2.55469C6.91406 2.26823 6.63542 2.01042 6.34375 1.78125C6.05729 1.55208 5.74219 1.36458 5.39844 1.21875C5.0599 1.07292 4.67708 1 4.25 1C3.80208 1 3.38021 1.08594 2.98438 1.25781C2.59375 1.42448 2.25 1.65625 1.95312 1.95312C1.66146 2.24479 1.42969 2.58854 1.25781 2.98438C1.09115 3.375 1.00781 3.79427 1.00781 4.24219C1.00781 4.48698 1.03646 4.73958 1.09375 5H0.0703125C0.0442708 4.875 0.0260417 4.75 0.015625 4.625C0.0104167 4.5 0.0078125 4.375 0.0078125 4.25C0.0078125 3.66146 0.117188 3.10938 0.335938 2.59375C0.559896 2.07812 0.861979 1.6276 1.24219 1.24219C1.6276 0.856771 2.07812 0.554688 2.59375 0.335938C3.10938 0.111979 3.66146 0 4.25 0C4.68229 0 5.06771 0.0494792 5.40625 0.148438C5.74479 0.247396 6.05729 0.385417 6.34375 0.5625C6.63542 0.734375 6.91146 0.942708 7.17188 1.1875C7.4375 1.43229 7.71354 1.70052 8 1.99219C8.28646 1.70052 8.5599 1.43229 8.82031 1.1875C9.08594 0.942708 9.36198 0.734375 9.64844 0.5625C9.9401 0.385417 10.2552 0.247396 10.5938 0.148438C10.9323 0.0494792 11.3177 0 11.75 0C12.3333 0 12.8828 0.111979 13.3984 0.335938C13.9141 0.554688 14.362 0.854167 14.7422 1.23438C15.1276 1.61458 15.4297 2.0625 15.6484 2.57812C15.8724 3.09375 15.9844 3.64323 15.9844 4.22656C15.9844 4.73177 15.8958 5.22396 15.7188 5.70312C15.5417 6.17708 15.2891 6.60938 14.9609 7H11.2891L10.5 6.20312L8 8.71094L4.5 5.20312L2.71094 7Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class FoodBowl extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M14.75 6.75C14.75 7.39583 14.6667 8.01823 14.5 8.61719C14.3333 9.21094 14.0964 9.76823 13.7891 10.2891C13.487 10.8047 13.1224 11.276 12.6953 11.7031C12.2734 12.125 11.8021 12.4896 11.2812 12.7969C10.7656 13.099 10.2083 13.3333 9.60938 13.5C9.01562 13.6667 8.39583 13.75 7.75 13.75C7.10417 13.75 6.48177 13.6667 5.88281 13.5C5.28906 13.3333 4.73177 13.099 4.21094 12.7969C3.69531 12.4896 3.22396 12.125 2.79688 11.7031C2.375 11.276 2.01042 10.8047 1.70312 10.2891C1.40104 9.76823 1.16667 9.21094 1 8.61719C0.833333 8.01823 0.75 7.39583 0.75 6.75H1.96094C1.64323 6.15104 1.40365 5.52604 1.24219 4.875C1.08073 4.21875 1 3.55208 1 2.875V2.5C1.61458 2.5 2.20312 2.54167 2.76562 2.625C3.32812 2.70833 3.89583 2.86719 4.46875 3.10156C4.88021 2.58073 5.375 2.17969 5.95312 1.89844C6.53646 1.61198 7.16146 1.46875 7.82812 1.46875C8.17188 1.46875 8.50781 1.51042 8.83594 1.59375C9.16927 1.67188 9.48438 1.78906 9.78125 1.94531C10.0833 2.09635 10.3646 2.28125 10.625 2.5C10.8854 2.71875 11.1172 2.96875 11.3203 3.25C11.6849 3.30729 12.0234 3.42448 12.3359 3.60156C12.6484 3.77344 12.9167 3.99219 13.1406 4.25781C13.3698 4.52344 13.5495 4.82552 13.6797 5.16406C13.8099 5.4974 13.875 5.84896 13.875 6.21875C13.875 6.41146 13.8568 6.58854 13.8203 6.75H14.75ZM13.125 6.21875C13.125 5.90625 13.0651 5.61458 12.9453 5.34375C12.8307 5.06771 12.6719 4.82812 12.4688 4.625C12.2656 4.42188 12.026 4.26302 11.75 4.14844C11.4792 4.02865 11.1875 3.96875 10.875 3.96875C10.5625 3.96875 10.2682 4.02865 9.99219 4.14844C9.72135 4.26302 9.48438 4.42188 9.28125 4.625C9.07812 4.82812 8.91667 5.06771 8.79688 5.34375C8.68229 5.61458 8.625 5.90625 8.625 6.21875C8.625 6.40104 8.64844 6.57812 8.69531 6.75H13.0547C13.1016 6.57812 13.125 6.40104 13.125 6.21875ZM7.82812 2.21875C7.32292 2.21875 6.83854 2.32552 6.375 2.53906C5.91146 2.7474 5.51042 3.04167 5.17188 3.42188C5.71354 3.71354 6.21094 4.04948 6.66406 4.42969C7.1224 4.80469 7.53906 5.23698 7.91406 5.72656C7.96615 5.41406 8.0625 5.11979 8.20312 4.84375C8.34896 4.56771 8.52865 4.32292 8.74219 4.10938C8.95573 3.89583 9.19792 3.71615 9.46875 3.57031C9.74479 3.42448 10.0391 3.32292 10.3516 3.26562C10.013 2.92708 9.625 2.66927 9.1875 2.49219C8.75521 2.3099 8.30208 2.21875 7.82812 2.21875ZM1.75781 3.25781C1.78906 3.8776 1.89323 4.48177 2.07031 5.07031C2.2526 5.65885 2.50521 6.21875 2.82812 6.75H4.77344L3.19531 5.17188L3.71875 4.64062L5.82812 6.75H7.71094C7.38802 6.23438 7.01042 5.76823 6.57812 5.35156C6.14583 4.9349 5.67448 4.57812 5.16406 4.28125C4.65365 3.97917 4.10938 3.74219 3.53125 3.57031C2.95833 3.39323 2.36719 3.28906 1.75781 3.25781ZM7.75 13C8.54167 13 9.29167 12.862 10 12.5859C10.7083 12.3047 11.3385 11.9193 11.8906 11.4297C12.4479 10.9349 12.9062 10.3542 13.2656 9.6875C13.6302 9.01562 13.8594 8.28646 13.9531 7.5H1.54688C1.60417 8.02083 1.72396 8.52083 1.90625 9C2.08854 9.47396 2.32292 9.91406 2.60938 10.3203C2.89583 10.7266 3.22656 11.0964 3.60156 11.4297C3.97656 11.7578 4.38542 12.0391 4.82812 12.2734C5.27083 12.5026 5.73698 12.6823 6.22656 12.8125C6.72135 12.9375 7.22917 13 7.75 13Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Car extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M13.3828 3.86719C13.4036 3.89844 13.4219 3.92969 13.4375 3.96094C13.4531 3.99219 13.4688 4.02344 13.4844 4.05469L15.5391 8.57812C15.6797 8.88542 15.75 9.21094 15.75 9.55469V10.125C15.75 10.3125 15.7214 10.4948 15.6641 10.6719C15.612 10.849 15.5365 11.013 15.4375 11.1641C15.3385 11.3151 15.2161 11.4505 15.0703 11.5703C14.9297 11.6849 14.7734 11.7786 14.6016 11.8516C14.5286 12.0234 14.4323 12.1823 14.3125 12.3281C14.1979 12.4688 14.0651 12.5885 13.9141 12.6875C13.763 12.7865 13.599 12.8646 13.4219 12.9219C13.2448 12.974 13.0625 13 12.875 13C12.526 13 12.2031 12.9115 11.9062 12.7344C11.6094 12.5521 11.3802 12.3073 11.2188 12H5.53125C5.36979 12.3073 5.14062 12.5521 4.84375 12.7344C4.54688 12.9115 4.22396 13 3.875 13C3.52604 13 3.20312 12.9115 2.90625 12.7344C2.60938 12.5521 2.38021 12.3073 2.21875 12H0.875C0.755208 12 0.640625 11.9766 0.53125 11.9297C0.427083 11.8828 0.335938 11.8203 0.257812 11.7422C0.179688 11.6641 0.117188 11.5729 0.0703125 11.4688C0.0234375 11.3594 0 11.2448 0 11.125V9.125C0 8.72917 0.0755208 8.35677 0.226562 8.00781C0.377604 7.65885 0.583333 7.35417 0.84375 7.09375C1.10417 6.83333 1.40885 6.6276 1.75781 6.47656C2.10677 6.32552 2.47917 6.25 2.875 6.25H3.21875L5.82031 3.65625C6.09115 3.38542 6.41406 3.25 6.78906 3.25H14L13.3828 3.86719ZM9.75 4V6.25H13.6562L12.7969 4.36719C12.7448 4.2526 12.6667 4.16406 12.5625 4.10156C12.4635 4.03385 12.3516 4 12.2266 4H9.75ZM6.78906 4C6.71094 4 6.63021 4.01562 6.54688 4.04688C6.46875 4.07812 6.40104 4.1224 6.34375 4.17969L4.28125 6.25H9V4H6.78906ZM3.875 12.25C4.03125 12.25 4.17708 12.2214 4.3125 12.1641C4.44792 12.1016 4.5651 12.0208 4.66406 11.9219C4.76823 11.8177 4.84896 11.6979 4.90625 11.5625C4.96875 11.4271 5 11.2812 5 11.125C5 10.9688 4.96875 10.8229 4.90625 10.6875C4.84896 10.5521 4.76823 10.4349 4.66406 10.3359C4.5651 10.2318 4.44792 10.151 4.3125 10.0938C4.17708 10.0312 4.03125 10 3.875 10C3.71875 10 3.57292 10.0312 3.4375 10.0938C3.30208 10.151 3.18229 10.2318 3.07812 10.3359C2.97917 10.4349 2.89844 10.5521 2.83594 10.6875C2.77865 10.8229 2.75 10.9688 2.75 11.125C2.75 11.2812 2.77865 11.4271 2.83594 11.5625C2.89844 11.6979 2.97917 11.8177 3.07812 11.9219C3.18229 12.0208 3.30208 12.1016 3.4375 12.1641C3.57292 12.2214 3.71875 12.25 3.875 12.25ZM3.875 9.25C4.13021 9.25 4.3724 9.29948 4.60156 9.39844C4.83073 9.4974 5.02865 9.63281 5.19531 9.80469C5.36719 9.97135 5.5026 10.1693 5.60156 10.3984C5.70052 10.6276 5.75 10.8698 5.75 11.125C5.75 11.1458 5.75 11.1667 5.75 11.1875C5.75 11.2083 5.7474 11.2292 5.74219 11.25H9V7H2.875C2.58333 7 2.30729 7.05729 2.04688 7.17188C1.79167 7.28125 1.56771 7.43229 1.375 7.625C1.18229 7.81771 1.02865 8.04427 0.914062 8.30469C0.804688 8.5599 0.75 8.83333 0.75 9.125V11.125C0.75 11.2083 0.791667 11.25 0.875 11.25H2.00781C2.0026 11.2292 2 11.2083 2 11.1875C2 11.1667 2 11.1458 2 11.125C2 10.8698 2.04948 10.6276 2.14844 10.3984C2.2474 10.1693 2.38021 9.97135 2.54688 9.80469C2.71875 9.63281 2.91667 9.4974 3.14062 9.39844C3.36979 9.29948 3.61458 9.25 3.875 9.25ZM12.875 12.25C13.0312 12.25 13.1771 12.2214 13.3125 12.1641C13.4479 12.1016 13.5651 12.0208 13.6641 11.9219C13.7682 11.8177 13.849 11.6979 13.9062 11.5625C13.9688 11.4271 14 11.2812 14 11.125C14 10.9688 13.9688 10.8229 13.9062 10.6875C13.849 10.5521 13.7682 10.4349 13.6641 10.3359C13.5651 10.2318 13.4479 10.151 13.3125 10.0938C13.1771 10.0312 13.0312 10 12.875 10C12.7188 10 12.5729 10.0312 12.4375 10.0938C12.3021 10.151 12.1823 10.2318 12.0781 10.3359C11.9792 10.4349 11.8984 10.5521 11.8359 10.6875C11.7786 10.8229 11.75 10.9688 11.75 11.125C11.75 11.2812 11.7786 11.4271 11.8359 11.5625C11.8984 11.6979 11.9792 11.8177 12.0781 11.9219C12.1823 12.0208 12.3021 12.1016 12.4375 12.1641C12.5729 12.2214 12.7188 12.25 12.875 12.25ZM15 9.55469C15 9.4349 14.987 9.32031 14.9609 9.21094C14.9349 9.10156 14.8984 8.99219 14.8516 8.88281L14 7H9.75V11.25H11.0078C11.0026 11.2292 11 11.2083 11 11.1875C11 11.1667 11 11.1458 11 11.125C11 10.8698 11.0495 10.6276 11.1484 10.3984C11.2474 10.1693 11.3802 9.97135 11.5469 9.80469C11.7188 9.63281 11.9167 9.4974 12.1406 9.39844C12.3698 9.29948 12.6146 9.25 12.875 9.25C13.1094 9.25 13.3307 9.29167 13.5391 9.375C13.7474 9.45312 13.9349 9.5651 14.1016 9.71094C14.2682 9.85156 14.4062 10.0208 14.5156 10.2188C14.6302 10.4167 14.7031 10.6302 14.7344 10.8594C14.8229 10.7448 14.888 10.6302 14.9297 10.5156C14.9766 10.401 15 10.2708 15 10.125V9.55469Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Home extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M8 1.28906L15.3516 8.64844L14.6484 9.35156L14 8.71094V15H9V10H7V15H2V8.71094L1.35156 9.35156L0.648438 8.64844L8 1.28906ZM13 14V7.71094L8 2.71094L3 7.71094V14H6V9H10V14H13Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Meditation extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M12.6719 7.15625C12.9271 7.28125 13.1276 7.46875 13.2734 7.71875C13.4245 7.96354 13.5 8.22656 13.5 8.50781C13.5 8.71615 13.4609 8.91146 13.3828 9.09375C13.3047 9.27083 13.1953 9.42708 13.0547 9.5625C12.9193 9.69792 12.7604 9.80469 12.5781 9.88281C12.3958 9.96094 12.2031 10 12 10C11.9948 10.2812 11.9193 10.5443 11.7734 10.7891C11.6276 11.0339 11.4271 11.2188 11.1719 11.3438L7.22656 13.3125C7.15885 13.349 7.08333 13.3672 7 13.3672C6.92188 13.3672 6.84896 13.349 6.78125 13.3125L2.82812 11.3438C2.5625 11.2135 2.35938 11.0286 2.21875 10.7891C2.07812 10.5495 2.00781 10.2839 2.00781 9.99219C1.79948 9.99219 1.60417 9.95573 1.42188 9.88281C1.23958 9.80469 1.07812 9.70052 0.9375 9.57031C0.802083 9.4349 0.695312 9.27604 0.617188 9.09375C0.539062 8.91146 0.5 8.71615 0.5 8.50781C0.5 8.22656 0.572917 7.96354 0.71875 7.71875C0.869792 7.46875 1.07292 7.28125 1.32812 7.15625L3.03906 6.30469L4.27344 3.82812C4.3776 3.63021 4.51823 3.46094 4.69531 3.32031C4.8776 3.17969 5.07812 3.08594 5.29688 3.03906C5.20312 2.88281 5.13021 2.71615 5.07812 2.53906C5.02604 2.36198 5 2.18229 5 2C5 1.72396 5.05208 1.46615 5.15625 1.22656C5.26042 0.981771 5.40365 0.768229 5.58594 0.585938C5.76823 0.403646 5.97917 0.260417 6.21875 0.15625C6.46354 0.0520833 6.72396 0 7 0C7.27604 0 7.53385 0.0520833 7.77344 0.15625C8.01823 0.260417 8.23177 0.403646 8.41406 0.585938C8.59635 0.768229 8.73958 0.981771 8.84375 1.22656C8.94792 1.46615 9 1.72396 9 2C9 2.18229 8.97396 2.36198 8.92188 2.53906C8.86979 2.71615 8.79688 2.88281 8.70312 3.03906C8.92188 3.08594 9.11979 3.17969 9.29688 3.32031C9.47917 3.46094 9.6224 3.63021 9.72656 3.82812L10.9609 6.30469L12.6719 7.15625ZM7 1C6.85938 1 6.72917 1.02604 6.60938 1.07812C6.48958 1.13021 6.38281 1.20312 6.28906 1.29688C6.20052 1.38542 6.13021 1.48958 6.07812 1.60938C6.02604 1.72917 6 1.85938 6 2C6 2.14062 6.02604 2.27083 6.07812 2.39062C6.13021 2.51042 6.20052 2.61719 6.28906 2.71094C6.38281 2.79948 6.48958 2.86979 6.60938 2.92188C6.72917 2.97396 6.85938 3 7 3C7.14062 3 7.27083 2.97396 7.39062 2.92188C7.51042 2.86979 7.61458 2.79948 7.70312 2.71094C7.79688 2.61719 7.86979 2.51042 7.92188 2.39062C7.97396 2.27083 8 2.14062 8 2C8 1.85938 7.97396 1.72917 7.92188 1.60938C7.86979 1.48958 7.79688 1.38542 7.70312 1.29688C7.61458 1.20312 7.51042 1.13021 7.39062 1.07812C7.27083 1.02604 7.14062 1 7 1ZM10.7266 10.4453C10.8151 10.4036 10.8828 10.3438 10.9297 10.2656C10.9766 10.1823 11 10.0938 11 10C11 9.85938 10.9505 9.74219 10.8516 9.64844C10.7526 9.54948 10.6354 9.5 10.5 9.5C10.4583 9.5 10.4193 9.50521 10.3828 9.51562C10.3516 9.52604 10.3177 9.53906 10.2812 9.55469L7.22656 11.0781C7.14323 11.1146 7.06771 11.1328 7 11.1328C6.9375 11.1328 6.86458 11.1146 6.78125 11.0781L3.72656 9.55469C3.65885 9.51823 3.58333 9.5 3.5 9.5C3.36458 9.5 3.2474 9.54948 3.14844 9.64844C3.04948 9.7474 3 9.86458 3 10C3 10.0938 3.02344 10.1823 3.07031 10.2656C3.1224 10.3438 3.1901 10.4036 3.27344 10.4453L7 12.3125L10.7266 10.4453ZM12 9C12.1354 9 12.2526 8.95052 12.3516 8.85156C12.4505 8.7526 12.5 8.63542 12.5 8.5C12.5 8.40625 12.474 8.32031 12.4219 8.24219C12.375 8.15885 12.3073 8.09635 12.2188 8.05469L10.3672 7.125C10.2682 7.07292 10.1927 6.9974 10.1406 6.89844L8.82812 4.27344C8.78646 4.1901 8.72396 4.125 8.64062 4.07812C8.55729 4.02604 8.47135 4 8.38281 4H5.61719C5.52865 4 5.44271 4.02604 5.35938 4.07812C5.27604 4.125 5.21354 4.1901 5.17188 4.27344L3.85938 6.89844C3.80729 6.9974 3.73177 7.07292 3.63281 7.125L1.78125 8.05469C1.69271 8.09635 1.6224 8.15885 1.57031 8.24219C1.52344 8.32031 1.5 8.40625 1.5 8.5C1.5 8.63542 1.54948 8.7526 1.64844 8.85156C1.7474 8.95052 1.86458 9 2 9C2.06771 9 2.14323 8.98177 2.22656 8.94531L4.54688 7.78906L5.05469 6.77344C5.09635 6.6901 5.15885 6.625 5.24219 6.57812C5.32552 6.52604 5.41146 6.5 5.5 6.5C5.63542 6.5 5.7526 6.54948 5.85156 6.64844C5.95052 6.7474 6 6.86458 6 7C6 7.06771 5.98177 7.14323 5.94531 7.22656L5.36719 8.38281C5.33594 8.44531 5.28646 8.5026 5.21875 8.55469C5.15625 8.60156 5.08854 8.64583 5.01562 8.6875C4.94271 8.72396 4.86719 8.75781 4.78906 8.78906C4.71615 8.82031 4.65365 8.84896 4.60156 8.875L7 10.0703L9.39844 8.875C9.34635 8.84896 9.28125 8.82031 9.20312 8.78906C9.13021 8.75781 9.05729 8.72396 8.98438 8.6875C8.91146 8.64583 8.84115 8.60156 8.77344 8.55469C8.71094 8.5026 8.66406 8.44531 8.63281 8.38281L8.05469 7.22656C8.01823 7.14323 8 7.06771 8 7C8 6.86458 8.04948 6.7474 8.14844 6.64844C8.2474 6.54948 8.36458 6.5 8.5 6.5C8.58854 6.5 8.67448 6.52604 8.75781 6.57812C8.84115 6.625 8.90365 6.6901 8.94531 6.77344L9.45312 7.78906L11.7734 8.94531C11.8568 8.98177 11.9323 9 12 9Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class VideoAutoPlay extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M3 5V6H2V5H3ZM3 7V8H2V7H3ZM2 10V9H3V10H2ZM14 5V6H13V5H14ZM13 8V7H14V8H13ZM10 15.9609V9.03906L16 12.5L10 15.9609ZM11 10.7656V14.2344L14 12.5L11 10.7656ZM0 2H16V11.0547L15 10.4766V3H14V4H13V3H3V4H2V3H1V12H2V11H3V12H9V13H0V2Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class MapPin extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M15 16H0L3 7H7V4.95312C6.70833 4.89062 6.4401 4.78385 6.19531 4.63281C5.95052 4.48177 5.73958 4.29948 5.5625 4.08594C5.38542 3.86719 5.2474 3.6224 5.14844 3.35156C5.04948 3.08073 5 2.79688 5 2.5C5 2.15625 5.0651 1.83333 5.19531 1.53125C5.32552 1.22917 5.5026 0.966146 5.72656 0.742188C5.95573 0.513021 6.22135 0.333333 6.52344 0.203125C6.83073 0.0677083 7.15625 0 7.5 0C7.84375 0 8.16667 0.0677083 8.46875 0.203125C8.77083 0.333333 9.03385 0.513021 9.25781 0.742188C9.48698 0.966146 9.66667 1.22917 9.79688 1.53125C9.93229 1.83333 10 2.15625 10 2.5C10 2.79688 9.95052 3.08073 9.85156 3.35156C9.7526 3.6224 9.61458 3.86719 9.4375 4.08594C9.26042 4.29948 9.04948 4.48177 8.80469 4.63281C8.5599 4.78385 8.29167 4.89062 8 4.95312V7H12L15 16ZM6 2.5C6 2.70833 6.03906 2.90365 6.11719 3.08594C6.19531 3.26823 6.30208 3.42708 6.4375 3.5625C6.57292 3.69792 6.73177 3.80469 6.91406 3.88281C7.09635 3.96094 7.29167 4 7.5 4C7.70833 4 7.90365 3.96094 8.08594 3.88281C8.26823 3.80469 8.42708 3.69792 8.5625 3.5625C8.69792 3.42708 8.80469 3.26823 8.88281 3.08594C8.96094 2.90365 9 2.70833 9 2.5C9 2.29167 8.96094 2.09635 8.88281 1.91406C8.80469 1.73177 8.69792 1.57292 8.5625 1.4375C8.42708 1.30208 8.26823 1.19531 8.08594 1.11719C7.90365 1.03906 7.70833 1 7.5 1C7.29167 1 7.09635 1.03906 6.91406 1.11719C6.73177 1.19531 6.57292 1.30208 6.4375 1.4375C6.30208 1.57292 6.19531 1.73177 6.11719 1.91406C6.03906 2.09635 6 2.29167 6 2.5ZM1.39062 15H13.6094L11.2812 8H8V11.75C8 11.7969 7.97917 11.8385 7.9375 11.875C7.90104 11.9062 7.85417 11.9323 7.79688 11.9531C7.74479 11.9688 7.6901 11.9818 7.63281 11.9922C7.58073 11.9974 7.53646 12 7.5 12C7.46354 12 7.41667 11.9974 7.35938 11.9922C7.30729 11.9818 7.2526 11.9688 7.19531 11.9531C7.14323 11.9323 7.09635 11.9062 7.05469 11.875C7.01823 11.8385 7 11.7969 7 11.75V8H3.71875L1.39062 15Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Block extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M8 0C8.73438 0 9.4401 0.0963542 10.1172 0.289062C10.7995 0.476562 11.4375 0.744792 12.0312 1.09375C12.625 1.44271 13.1641 1.86198 13.6484 2.35156C14.138 2.83594 14.5573 3.375 14.9062 3.96875C15.2552 4.5625 15.5234 5.20052 15.7109 5.88281C15.9036 6.5599 16 7.26562 16 8C16 8.73438 15.9036 9.44271 15.7109 10.125C15.5234 10.8021 15.2552 11.4375 14.9062 12.0312C14.5573 12.625 14.138 13.1667 13.6484 13.6562C13.1641 14.1406 12.625 14.5573 12.0312 14.9062C11.4375 15.2552 10.7995 15.526 10.1172 15.7188C9.4401 15.9062 8.73438 16 8 16C7.26562 16 6.55729 15.9062 5.875 15.7188C5.19792 15.526 4.5625 15.2552 3.96875 14.9062C3.375 14.5573 2.83333 14.1406 2.34375 13.6562C1.85938 13.1667 1.44271 12.625 1.09375 12.0312C0.744792 11.4375 0.473958 10.8021 0.28125 10.125C0.09375 9.44271 0 8.73438 0 8C0 7.26562 0.09375 6.5599 0.28125 5.88281C0.473958 5.20052 0.744792 4.5625 1.09375 3.96875C1.44271 3.375 1.85938 2.83594 2.34375 2.35156C2.83333 1.86198 3.375 1.44271 3.96875 1.09375C4.5625 0.744792 5.19792 0.476562 5.875 0.289062C6.55729 0.0963542 7.26562 0 8 0ZM8 15C8.85417 15 9.66927 14.8542 10.4453 14.5625C11.2266 14.2708 11.9401 13.8464 12.5859 13.2891L2.71094 3.41406C2.15365 4.0599 1.72917 4.77344 1.4375 5.55469C1.14583 6.33073 1 7.14583 1 8C1 8.64583 1.08333 9.26823 1.25 9.86719C1.41667 10.4609 1.65104 11.0182 1.95312 11.5391C2.26042 12.0547 2.625 12.526 3.04688 12.9531C3.47396 13.375 3.94531 13.7396 4.46094 14.0469C4.98177 14.349 5.53906 14.5833 6.13281 14.75C6.73177 14.9167 7.35417 15 8 15ZM13.2891 12.5859C13.8464 11.9401 14.2708 11.2292 14.5625 10.4531C14.8542 9.67188 15 8.85417 15 8C15 7.35417 14.9167 6.73438 14.75 6.14062C14.5833 5.54167 14.3464 4.98438 14.0391 4.46875C13.737 3.94792 13.3724 3.47656 12.9453 3.05469C12.5234 2.6276 12.0521 2.26302 11.5312 1.96094C11.0156 1.65365 10.4583 1.41667 9.85938 1.25C9.26562 1.08333 8.64583 1 8 1C7.14583 1 6.32812 1.14583 5.54688 1.4375C4.77083 1.72917 4.0599 2.15365 3.41406 2.71094L13.2891 12.5859Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class HomeGroup extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M2.5 5C2.84375 5 3.16667 5.06771 3.46875 5.20312C3.77083 5.33333 4.03385 5.51302 4.25781 5.74219C4.48698 5.96615 4.66667 6.22917 4.79688 6.53125C4.93229 6.83333 5 7.15625 5 7.5C5 7.84375 4.93229 8.16927 4.79688 8.47656C4.66667 8.77865 4.48698 9.04427 4.25781 9.27344C4.03385 9.4974 3.77083 9.67448 3.46875 9.80469C3.16667 9.9349 2.84375 10 2.5 10C2.15625 10 1.83073 9.9349 1.52344 9.80469C1.22135 9.67448 0.955729 9.4974 0.726562 9.27344C0.502604 9.04427 0.325521 8.77865 0.195312 8.47656C0.0651042 8.16927 0 7.84375 0 7.5C0 7.15625 0.0651042 6.83333 0.195312 6.53125C0.325521 6.22917 0.502604 5.96615 0.726562 5.74219C0.955729 5.51302 1.22135 5.33333 1.52344 5.20312C1.83073 5.06771 2.15625 5 2.5 5ZM2.5 9C2.70833 9 2.90365 8.96094 3.08594 8.88281C3.26823 8.80469 3.42708 8.69792 3.5625 8.5625C3.69792 8.42708 3.80469 8.26823 3.88281 8.08594C3.96094 7.90365 4 7.70833 4 7.5C4 7.29167 3.96094 7.09635 3.88281 6.91406C3.80469 6.73177 3.69792 6.57292 3.5625 6.4375C3.42708 6.30208 3.26823 6.19531 3.08594 6.11719C2.90365 6.03906 2.70833 6 2.5 6C2.29167 6 2.09635 6.03906 1.91406 6.11719C1.73177 6.19531 1.57292 6.30208 1.4375 6.4375C1.30208 6.57292 1.19531 6.73177 1.11719 6.91406C1.03906 7.09635 1 7.29167 1 7.5C1 7.70833 1.03906 7.90365 1.11719 8.08594C1.19531 8.26823 1.30208 8.42708 1.4375 8.5625C1.57292 8.69792 1.73177 8.80469 1.91406 8.88281C2.09635 8.96094 2.29167 9 2.5 9ZM14.4688 9.60938C14.7083 9.76562 14.9219 9.95052 15.1094 10.1641C15.3021 10.3776 15.4635 10.6094 15.5938 10.8594C15.724 11.1094 15.8229 11.375 15.8906 11.6562C15.9635 11.9323 16 12.2135 16 12.5C16 12.9844 15.9089 13.4401 15.7266 13.8672C15.5443 14.2891 15.2943 14.6589 14.9766 14.9766C14.6589 15.2943 14.2865 15.5443 13.8594 15.7266C13.4375 15.9089 12.9844 16 12.5 16C12.0156 16 11.5599 15.9089 11.1328 15.7266C10.7109 15.5443 10.3411 15.2943 10.0234 14.9766C9.70573 14.6589 9.45573 14.2891 9.27344 13.8672C9.09115 13.4401 9 12.9844 9 12.5C9 12.2396 9.02604 11.9948 9.07812 11.7656C8.61979 11.6146 8.20052 11.3984 7.82031 11.1172C7.44531 10.8359 7.1224 10.5078 6.85156 10.1328C6.58073 9.75781 6.36979 9.34635 6.21875 8.89844C6.07292 8.45052 6 7.98438 6 7.5C6 6.88021 6.11719 6.29688 6.35156 5.75C6.59115 5.20312 6.91406 4.72656 7.32031 4.32031C7.72656 3.91406 8.20312 3.59375 8.75 3.35938C9.29688 3.11979 9.88021 3 10.5 3C10.5938 3 10.6875 3.0026 10.7812 3.00781C10.875 3.01302 10.9688 3.02083 11.0625 3.03125C11.0208 2.84896 11 2.67188 11 2.5C11 2.15625 11.0651 1.83333 11.1953 1.53125C11.3255 1.22917 11.5026 0.966146 11.7266 0.742188C11.9557 0.513021 12.2214 0.333333 12.5234 0.203125C12.8307 0.0677083 13.1562 0 13.5 0C13.8438 0 14.1667 0.0677083 14.4688 0.203125C14.7708 0.333333 15.0339 0.513021 15.2578 0.742188C15.487 0.966146 15.6667 1.22917 15.7969 1.53125C15.9323 1.83333 16 2.15625 16 2.5C16 2.77604 15.9557 3.04427 15.8672 3.30469C15.7786 3.5599 15.6536 3.79427 15.4922 4.00781C15.3307 4.21615 15.138 4.39844 14.9141 4.55469C14.6901 4.71094 14.4453 4.82812 14.1797 4.90625C14.4505 5.28646 14.6536 5.69792 14.7891 6.14062C14.9297 6.57812 15 7.03125 15 7.5C15 7.86979 14.9557 8.23177 14.8672 8.58594C14.7786 8.9401 14.6458 9.28125 14.4688 9.60938ZM12 2.5C12 2.82292 12.0964 3.11198 12.2891 3.36719C12.4714 3.44531 12.6484 3.53646 12.8203 3.64062C12.9922 3.74479 13.1562 3.85938 13.3125 3.98438C13.3438 3.98958 13.375 3.99479 13.4062 4C13.4375 4 13.4688 4 13.5 4C13.7083 4 13.9036 3.96094 14.0859 3.88281C14.2682 3.80469 14.4271 3.69792 14.5625 3.5625C14.6979 3.42708 14.8047 3.26823 14.8828 3.08594C14.9609 2.90365 15 2.70833 15 2.5C15 2.29167 14.9609 2.09635 14.8828 1.91406C14.8047 1.73177 14.6979 1.57292 14.5625 1.4375C14.4271 1.30208 14.2682 1.19531 14.0859 1.11719C13.9036 1.03906 13.7083 1 13.5 1C13.2917 1 13.0964 1.03906 12.9141 1.11719C12.7318 1.19531 12.5729 1.30208 12.4375 1.4375C12.3021 1.57292 12.1953 1.73177 12.1172 1.91406C12.0391 2.09635 12 2.29167 12 2.5ZM7 7.5C7 7.875 7.05729 8.23958 7.17188 8.59375C7.29167 8.94271 7.45833 9.26562 7.67188 9.5625C7.88542 9.85417 8.14062 10.1094 8.4375 10.3281C8.73438 10.5469 9.0625 10.7135 9.42188 10.8281C9.74479 10.2604 10.1745 9.8151 10.7109 9.49219C11.2474 9.16406 11.8438 9 12.5 9C12.8698 9 13.2266 9.05469 13.5703 9.16406C13.7109 8.90885 13.8177 8.64062 13.8906 8.35938C13.9635 8.07812 14 7.79167 14 7.5C14 7.00521 13.8984 6.53385 13.6953 6.08594C13.4974 5.63802 13.2188 5.2474 12.8594 4.91406L12.8281 4.90625C12.6458 4.75521 12.4635 4.625 12.2812 4.51562C12.1042 4.40625 11.9062 4.30469 11.6875 4.21094L11.6797 4.20312C11.2995 4.06771 10.9062 4 10.5 4C10.0156 4 9.5599 4.09375 9.13281 4.28125C8.71094 4.46354 8.34115 4.71354 8.02344 5.03125C7.71094 5.34375 7.46094 5.71354 7.27344 6.14062C7.09115 6.5625 7 7.01562 7 7.5ZM12.5 15C12.8438 15 13.1667 14.9349 13.4688 14.8047C13.7708 14.6745 14.0339 14.4974 14.2578 14.2734C14.487 14.0443 14.6667 13.7786 14.7969 13.4766C14.9323 13.1693 15 12.8438 15 12.5C15 12.1354 14.9323 11.8021 14.7969 11.5C14.6615 11.1927 14.4766 10.9297 14.2422 10.7109C14.0078 10.487 13.7344 10.3125 13.4219 10.1875C13.1094 10.0625 12.776 10 12.4219 10C12.0885 10 11.7734 10.0703 11.4766 10.2109C11.1849 10.3464 10.9297 10.5312 10.7109 10.7656C10.4922 10.9948 10.3177 11.2604 10.1875 11.5625C10.0625 11.8594 10 12.1719 10 12.5C10 12.8438 10.0651 13.1693 10.1953 13.4766C10.3255 13.7786 10.5026 14.0443 10.7266 14.2734C10.9557 14.4974 11.2214 14.6745 11.5234 14.8047C11.8307 14.9349 12.1562 15 12.5 15Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Atom extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M12.9844 8C13.1875 8.20312 13.4062 8.4375 13.6406 8.70312C13.875 8.96875 14.0938 9.25 14.2969 9.54688C14.5 9.84375 14.6667 10.151 14.7969 10.4688C14.9323 10.7865 15 11.0964 15 11.3984C15 11.6953 14.9401 11.9453 14.8203 12.1484C14.7005 12.3516 14.5417 12.5156 14.3438 12.6406C14.151 12.7656 13.9297 12.8568 13.6797 12.9141C13.4297 12.9714 13.1771 13 12.9219 13C12.5156 13 12.1068 12.9557 11.6953 12.8672C11.2839 12.7786 10.8854 12.6745 10.5 12.5547C10.4531 12.7474 10.3932 12.9661 10.3203 13.2109C10.2474 13.4557 10.1589 13.7057 10.0547 13.9609C9.95573 14.2161 9.83854 14.4661 9.70312 14.7109C9.56771 14.9557 9.41406 15.1745 9.24219 15.3672C9.07552 15.5547 8.88802 15.7083 8.67969 15.8281C8.47656 15.9427 8.25 16 8 16C7.75 16 7.52083 15.9427 7.3125 15.8281C7.10938 15.7083 6.92188 15.5547 6.75 15.3672C6.58333 15.1745 6.43229 14.9557 6.29688 14.7109C6.16146 14.4661 6.04167 14.2161 5.9375 13.9609C5.83854 13.7057 5.7526 13.4557 5.67969 13.2109C5.60677 12.9661 5.54688 12.7474 5.5 12.5547C5.11458 12.6745 4.71615 12.7786 4.30469 12.8672C3.89323 12.9557 3.48438 13 3.07812 13C2.82292 13 2.57031 12.9714 2.32031 12.9141C2.07031 12.8568 1.84635 12.7656 1.64844 12.6406C1.45573 12.5156 1.29948 12.3516 1.17969 12.1484C1.0599 11.9453 1 11.6953 1 11.3984C1 11.0964 1.0651 10.7865 1.19531 10.4688C1.33073 10.151 1.5 9.84375 1.70312 9.54688C1.90625 9.25 2.125 8.96875 2.35938 8.70312C2.59375 8.4375 2.8125 8.20312 3.01562 8C2.8125 7.79688 2.59375 7.5625 2.35938 7.29688C2.125 7.03125 1.90625 6.75 1.70312 6.45312C1.5 6.15625 1.33073 5.85156 1.19531 5.53906C1.0651 5.22135 1 4.90885 1 4.60156C1 4.30469 1.0599 4.05469 1.17969 3.85156C1.29948 3.64844 1.45573 3.48438 1.64844 3.35938C1.84635 3.22917 2.07031 3.13802 2.32031 3.08594C2.57031 3.02865 2.82292 3 3.07812 3C3.48438 3 3.89323 3.04427 4.30469 3.13281C4.71615 3.22135 5.11458 3.32552 5.5 3.44531C5.54688 3.2526 5.60677 3.03385 5.67969 2.78906C5.7526 2.54427 5.83854 2.29427 5.9375 2.03906C6.04167 1.78385 6.16146 1.53385 6.29688 1.28906C6.43229 1.04427 6.58333 0.828125 6.75 0.640625C6.92188 0.447917 7.10938 0.294271 7.3125 0.179688C7.52083 0.0598958 7.75 0 8 0C8.25 0 8.47656 0.0598958 8.67969 0.179688C8.88802 0.294271 9.07552 0.447917 9.24219 0.640625C9.41406 0.828125 9.56771 1.04427 9.70312 1.28906C9.83854 1.53385 9.95573 1.78385 10.0547 2.03906C10.1589 2.29427 10.2474 2.54427 10.3203 2.78906C10.3932 3.03385 10.4531 3.2526 10.5 3.44531C10.8854 3.32552 11.2839 3.22135 11.6953 3.13281C12.1068 3.04427 12.5156 3 12.9219 3C13.1771 3 13.4297 3.02865 13.6797 3.08594C13.9297 3.13802 14.151 3.22917 14.3438 3.35938C14.5417 3.48438 14.7005 3.64844 14.8203 3.85156C14.9401 4.05469 15 4.30469 15 4.60156C15 4.90885 14.9323 5.22135 14.7969 5.53906C14.6667 5.85156 14.5 6.15625 14.2969 6.45312C14.0938 6.75 13.875 7.03125 13.6406 7.29688C13.4062 7.5625 13.1875 7.79688 12.9844 8ZM12.9219 4C12.5573 4 12.1823 4.04427 11.7969 4.13281C11.4167 4.21615 11.0547 4.3151 10.7109 4.42969C10.7682 4.74219 10.8125 5.05208 10.8438 5.35938C10.8802 5.66667 10.9115 5.97656 10.9375 6.28906C11.1667 6.45573 11.388 6.625 11.6016 6.79688C11.8203 6.96354 12.0365 7.13802 12.25 7.32031C12.349 7.22656 12.4609 7.11458 12.5859 6.98438C12.7109 6.84896 12.8385 6.70573 12.9688 6.55469C13.099 6.39844 13.224 6.23698 13.3438 6.07031C13.4688 5.89844 13.5781 5.72656 13.6719 5.55469C13.7708 5.38281 13.849 5.21615 13.9062 5.05469C13.9688 4.89323 14 4.73958 14 4.59375C14 4.45833 13.9609 4.35156 13.8828 4.27344C13.8099 4.19531 13.7188 4.13542 13.6094 4.09375C13.5 4.05208 13.3828 4.02604 13.2578 4.01562C13.1328 4.00521 13.0208 4 12.9219 4ZM8 10.3828C8.33854 10.2005 8.67188 10.0104 9 9.8125C9.33333 9.60938 9.65625 9.39583 9.96875 9.17188C9.97917 8.97396 9.98698 8.77865 9.99219 8.58594C9.9974 8.39323 10 8.19792 10 8C10 7.80208 9.9974 7.60677 9.99219 7.41406C9.98698 7.22135 9.97917 7.02604 9.96875 6.82812C9.65625 6.60417 9.33333 6.39323 9 6.19531C8.67188 5.99219 8.33854 5.79948 8 5.61719C7.66146 5.79948 7.32552 5.99219 6.99219 6.19531C6.66406 6.39323 6.34375 6.60417 6.03125 6.82812C6.02083 7.02604 6.01302 7.22135 6.00781 7.41406C6.0026 7.60677 6 7.80208 6 8C6 8.19792 6.0026 8.39323 6.00781 8.58594C6.01302 8.77865 6.02083 8.97396 6.03125 9.17188C6.34375 9.39583 6.66406 9.60938 6.99219 9.8125C7.32552 10.0104 7.66146 10.2005 8 10.3828ZM9.85938 10.4453C9.73438 10.5339 9.60677 10.6172 9.47656 10.6953C9.34635 10.7682 9.21354 10.8438 9.07812 10.9219C9.1875 10.974 9.29688 11.026 9.40625 11.0781C9.52083 11.125 9.63542 11.1719 9.75 11.2188C9.77604 11.0885 9.79688 10.9609 9.8125 10.8359C9.82812 10.7057 9.84375 10.5755 9.85938 10.4453ZM6.92188 10.9219C6.78646 10.8438 6.65365 10.7682 6.52344 10.6953C6.39323 10.6172 6.26562 10.5339 6.14062 10.4453C6.15625 10.5755 6.17188 10.7057 6.1875 10.8359C6.20312 10.9609 6.22396 11.0885 6.25 11.2188C6.36458 11.1719 6.47656 11.125 6.58594 11.0781C6.70052 11.026 6.8125 10.974 6.92188 10.9219ZM5 7.58594C4.91146 7.65365 4.82552 7.72135 4.74219 7.78906C4.66406 7.85677 4.58333 7.92708 4.5 8C4.58333 8.07292 4.66406 8.14323 4.74219 8.21094C4.82552 8.27865 4.91146 8.34635 5 8.41406V7.58594ZM6.14062 5.55469C6.26562 5.46615 6.39323 5.38542 6.52344 5.3125C6.65365 5.23438 6.78646 5.15625 6.92188 5.07812C6.8125 5.02604 6.70052 4.97656 6.58594 4.92969C6.47656 4.8776 6.36458 4.82812 6.25 4.78125C6.22396 4.91146 6.20312 5.04167 6.1875 5.17188C6.17188 5.29688 6.15625 5.42448 6.14062 5.55469ZM9.07812 5.07812C9.21354 5.15625 9.34635 5.23438 9.47656 5.3125C9.60677 5.38542 9.73438 5.46615 9.85938 5.55469C9.84375 5.42448 9.82812 5.29688 9.8125 5.17188C9.79688 5.04167 9.77604 4.91146 9.75 4.78125C9.63542 4.82812 9.52083 4.8776 9.40625 4.92969C9.29688 4.97656 9.1875 5.02604 9.07812 5.07812ZM11 8.41406C11.0885 8.34635 11.1719 8.27865 11.25 8.21094C11.3333 8.14323 11.4167 8.07292 11.5 8C11.4167 7.92708 11.3333 7.85677 11.25 7.78906C11.1719 7.72135 11.0885 7.65365 11 7.58594V8.41406ZM8 1C7.86979 1 7.74479 1.05469 7.625 1.16406C7.50521 1.27344 7.39062 1.41406 7.28125 1.58594C7.17708 1.75781 7.07812 1.95052 6.98438 2.16406C6.89583 2.3724 6.8151 2.58073 6.74219 2.78906C6.66927 2.99219 6.60677 3.18229 6.55469 3.35938C6.50781 3.53646 6.47135 3.67708 6.44531 3.78125C6.71094 3.88542 6.97135 3.9974 7.22656 4.11719C7.48698 4.23698 7.74479 4.36198 8 4.49219C8.25521 4.36198 8.51042 4.23698 8.76562 4.11719C9.02604 3.9974 9.28906 3.88542 9.55469 3.78125C9.52865 3.67708 9.48958 3.53646 9.4375 3.35938C9.39062 3.18229 9.33073 2.99219 9.25781 2.78906C9.1849 2.58073 9.10156 2.3724 9.00781 2.16406C8.91927 1.95052 8.82031 1.75781 8.71094 1.58594C8.60677 1.41406 8.49479 1.27344 8.375 1.16406C8.25521 1.05469 8.13021 1 8 1ZM2 4.59375C2 4.80729 2.0625 5.04427 2.1875 5.30469C2.31771 5.5599 2.47135 5.8151 2.64844 6.07031C2.83073 6.32031 3.02083 6.55729 3.21875 6.78125C3.42188 7 3.59896 7.17969 3.75 7.32031C3.96354 7.13802 4.17708 6.96354 4.39062 6.79688C4.60938 6.625 4.83333 6.45573 5.0625 6.28906C5.08854 5.97656 5.11719 5.66667 5.14844 5.35938C5.1849 5.05208 5.23177 4.74219 5.28906 4.42969C4.94531 4.3151 4.58073 4.21615 4.19531 4.13281C3.8151 4.04427 3.44271 4 3.07812 4C2.97396 4 2.85938 4.00521 2.73438 4.01562C2.60938 4.02604 2.49219 4.05208 2.38281 4.09375C2.27344 4.13542 2.18229 4.19531 2.10938 4.27344C2.03646 4.35156 2 4.45833 2 4.59375ZM3.07812 12C3.44271 12 3.8151 11.9583 4.19531 11.875C4.58073 11.7865 4.94531 11.6849 5.28906 11.5703C5.23177 11.2578 5.1849 10.9479 5.14844 10.6406C5.11719 10.3333 5.08854 10.0234 5.0625 9.71094C4.83333 9.54427 4.60938 9.3776 4.39062 9.21094C4.17708 9.03906 3.96354 8.86198 3.75 8.67969C3.59896 8.82031 3.42188 9.0026 3.21875 9.22656C3.02083 9.44531 2.83073 9.68229 2.64844 9.9375C2.47135 10.1875 2.31771 10.4427 2.1875 10.7031C2.0625 10.9583 2 11.1927 2 11.4062C2 11.5417 2.03646 11.6484 2.10938 11.7266C2.18229 11.8047 2.27344 11.8646 2.38281 11.9062C2.49219 11.9479 2.60938 11.974 2.73438 11.9844C2.85938 11.9948 2.97396 12 3.07812 12ZM8 15C8.13021 15 8.25521 14.9453 8.375 14.8359C8.49479 14.7266 8.60677 14.5859 8.71094 14.4141C8.82031 14.2422 8.91927 14.0521 9.00781 13.8438C9.10156 13.6302 9.1849 13.4219 9.25781 13.2188C9.33073 13.0104 9.39062 12.8177 9.4375 12.6406C9.48958 12.4635 9.52865 12.3229 9.55469 12.2188C9.28906 12.1146 9.02604 12.0026 8.76562 11.8828C8.51042 11.763 8.25521 11.638 8 11.5078C7.74479 11.638 7.48698 11.763 7.22656 11.8828C6.97135 11.9974 6.71094 12.1068 6.44531 12.2109C6.46615 12.3151 6.5026 12.4557 6.55469 12.6328C6.60677 12.8099 6.66667 13.0026 6.73438 13.2109C6.80729 13.4141 6.88802 13.6224 6.97656 13.8359C7.07031 14.0495 7.17188 14.2422 7.28125 14.4141C7.39062 14.5859 7.50521 14.7266 7.625 14.8359C7.74479 14.9453 7.86979 15 8 15ZM12.9219 12C13.0208 12 13.1328 11.9948 13.2578 11.9844C13.3828 11.974 13.5 11.9479 13.6094 11.9062C13.7188 11.8646 13.8099 11.8047 13.8828 11.7266C13.9609 11.6484 14 11.5417 14 11.4062C14 11.2656 13.9688 11.1146 13.9062 10.9531C13.849 10.7865 13.7708 10.6172 13.6719 10.4453C13.5781 10.2734 13.4688 10.1042 13.3438 9.9375C13.224 9.76562 13.099 9.60417 12.9688 9.45312C12.8385 9.29688 12.7109 9.15365 12.5859 9.02344C12.4609 8.88802 12.349 8.77344 12.25 8.67969C12.0365 8.86198 11.8203 9.03906 11.6016 9.21094C11.388 9.3776 11.1667 9.54427 10.9375 9.71094C10.9115 10.0234 10.8802 10.3333 10.8438 10.6406C10.8125 10.9479 10.7682 11.2578 10.7109 11.5703C11.0547 11.6849 11.4167 11.7865 11.7969 11.875C12.1823 11.9583 12.5573 12 12.9219 12ZM8 7C8.14062 7 8.27083 7.02604 8.39062 7.07812C8.51042 7.13021 8.61458 7.20312 8.70312 7.29688C8.79688 7.38542 8.86979 7.48958 8.92188 7.60938C8.97396 7.72917 9 7.85938 9 8C9 8.14062 8.97396 8.27083 8.92188 8.39062C8.86979 8.51042 8.79688 8.61719 8.70312 8.71094C8.61458 8.79948 8.51042 8.86979 8.39062 8.92188C8.27083 8.97396 8.14062 9 8 9C7.85938 9 7.72917 8.97396 7.60938 8.92188C7.48958 8.86979 7.38281 8.79948 7.28906 8.71094C7.20052 8.61719 7.13021 8.51042 7.07812 8.39062C7.02604 8.27083 7 8.14062 7 8C7 7.85938 7.02604 7.72917 7.07812 7.60938C7.13021 7.48958 7.20052 7.38542 7.28906 7.29688C7.38281 7.20312 7.48958 7.13021 7.60938 7.07812C7.72917 7.02604 7.85938 7 8 7Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class UserLove extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M16 11.5938C16 11.875 15.9479 12.1432 15.8438 12.3984C15.7396 12.6484 15.5885 12.8724 15.3906 13.0703L12.5 15.9531L9.60938 13.0703C9.41146 12.8724 9.26042 12.6484 9.15625 12.3984C9.05208 12.1432 9 11.875 9 11.5938C9 11.3073 9.05469 11.0365 9.16406 10.7812C9.27344 10.526 9.42188 10.3047 9.60938 10.1172C9.79688 9.92448 10.0156 9.77344 10.2656 9.66406C10.5208 9.55469 10.7943 9.5 11.0859 9.5C11.3464 9.5 11.599 9.54688 11.8438 9.64062C12.0938 9.72917 12.3125 9.86458 12.5 10.0469C12.6979 9.86458 12.9167 9.72917 13.1562 9.64062C13.3958 9.54688 13.6484 9.5 13.9141 9.5C14.2057 9.5 14.4766 9.55469 14.7266 9.66406C14.9818 9.77344 15.2031 9.92448 15.3906 10.1172C15.5781 10.3047 15.7266 10.526 15.8359 10.7812C15.9453 11.0365 16 11.3073 16 11.5938ZM15 11.5938C15 11.4427 14.9714 11.3021 14.9141 11.1719C14.8568 11.0365 14.7786 10.9193 14.6797 10.8203C14.5807 10.7214 14.4635 10.6432 14.3281 10.5859C14.1979 10.5286 14.0573 10.5 13.9062 10.5C13.6094 10.5 13.3542 10.6068 13.1406 10.8203L12.5 11.4609L11.8594 10.8203C11.7552 10.7161 11.6354 10.638 11.5 10.5859C11.3698 10.5286 11.2344 10.5 11.0938 10.5C10.9427 10.5 10.7995 10.5286 10.6641 10.5859C10.5339 10.6432 10.4193 10.7214 10.3203 10.8203C10.2214 10.9193 10.1432 11.0365 10.0859 11.1719C10.0286 11.3021 10 11.4427 10 11.5938C10 11.8906 10.1068 12.1458 10.3203 12.3594L12.5 14.5391L14.6797 12.3594C14.8932 12.1458 15 11.8906 15 11.5938ZM9 9C8.54688 8.66146 8.07552 8.41146 7.58594 8.25C7.09635 8.08333 6.56771 8 6 8C5.30208 8 4.64844 8.13021 4.03906 8.39062C3.42969 8.64583 2.89844 9 2.44531 9.45312C1.9974 9.90104 1.64323 10.4297 1.38281 11.0391C1.1276 11.6484 1 12.3021 1 13H0C0 12.3698 0.0911458 11.7656 0.273438 11.1875C0.455729 10.6042 0.716146 10.0677 1.05469 9.57812C1.39323 9.08854 1.79948 8.65625 2.27344 8.28125C2.7526 7.90104 3.28906 7.60156 3.88281 7.38281C3.59635 7.20573 3.33594 6.99219 3.10156 6.74219C2.8724 6.49219 2.67448 6.22135 2.50781 5.92969C2.34635 5.63281 2.22135 5.32292 2.13281 5C2.04427 4.67188 2 4.33854 2 4C2 3.44792 2.10417 2.92969 2.3125 2.44531C2.52604 1.96094 2.8125 1.53906 3.17188 1.17969C3.53646 0.815104 3.96094 0.528646 4.44531 0.320312C4.92969 0.106771 5.44792 0 6 0C6.55208 0 7.07031 0.106771 7.55469 0.320312C8.03906 0.528646 8.46094 0.815104 8.82031 1.17969C9.1849 1.53906 9.47135 1.96094 9.67969 2.44531C9.89323 2.92969 10 3.44792 10 4C10 4.33854 9.95573 4.67188 9.86719 5C9.77865 5.32292 9.65104 5.63281 9.48438 5.92969C9.32292 6.22135 9.125 6.49219 8.89062 6.74219C8.66146 6.99219 8.40365 7.20573 8.11719 7.38281C8.46094 7.5026 8.77604 7.65625 9.0625 7.84375C9.35417 8.02604 9.63802 8.23698 9.91406 8.47656C9.74219 8.53385 9.58073 8.60677 9.42969 8.69531C9.28385 8.78385 9.14062 8.88542 9 9ZM9 4C9 3.58854 8.91927 3.20312 8.75781 2.84375C8.60156 2.47917 8.38542 2.16146 8.10938 1.89062C7.83854 1.61458 7.52083 1.39844 7.15625 1.24219C6.79688 1.08073 6.41146 1 6 1C5.58854 1 5.20052 1.08073 4.83594 1.24219C4.47656 1.39844 4.15885 1.61458 3.88281 1.89062C3.61198 2.16146 3.39583 2.47917 3.23438 2.84375C3.07812 3.20312 3 3.58854 3 4C3 4.41146 3.07812 4.79948 3.23438 5.16406C3.39583 5.52344 3.61198 5.84115 3.88281 6.11719C4.15885 6.38802 4.47656 6.60417 4.83594 6.76562C5.20052 6.92188 5.58854 7 6 7C6.41146 7 6.79688 6.92188 7.15625 6.76562C7.52083 6.60417 7.83854 6.38802 8.10938 6.11719C8.38542 5.84115 8.60156 5.52344 8.75781 5.16406C8.91927 4.79948 9 4.41146 9 4Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class FountainPenTip extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M13.0391 7.53906L9.49219 14.625C9.47656 14.8177 9.42708 14.9974 9.34375 15.1641C9.26042 15.3307 9.15104 15.4766 9.01562 15.6016C8.88021 15.7266 8.72396 15.8255 8.54688 15.8984C8.375 15.9661 8.19271 16 8 16C7.80208 16 7.61719 15.9661 7.44531 15.8984C7.27344 15.8255 7.11979 15.7266 6.98438 15.6016C6.84896 15.4766 6.73958 15.3307 6.65625 15.1641C6.57292 14.9974 6.52344 14.8177 6.50781 14.625L2.96094 7.53906L4.14062 4H3V0H4V3H12V0H13V4H11.8594L13.0391 7.53906ZM11.9609 7.46094L10.8047 4H5.19531L4.03906 7.46094L7.5 14.3828V7.86719C7.34896 7.77865 7.22656 7.65625 7.13281 7.5C7.04427 7.34375 7 7.17708 7 7C7 6.85938 7.02604 6.72917 7.07812 6.60938C7.13021 6.48958 7.20052 6.38542 7.28906 6.29688C7.38281 6.20312 7.48958 6.13021 7.60938 6.07812C7.72917 6.02604 7.85938 6 8 6C8.14062 6 8.27083 6.02604 8.39062 6.07812C8.51042 6.13021 8.61458 6.20312 8.70312 6.29688C8.79688 6.38542 8.86979 6.48958 8.92188 6.60938C8.97396 6.72917 9 6.85938 9 7C9 7.17708 8.95312 7.34375 8.85938 7.5C8.77083 7.65625 8.65104 7.77865 8.5 7.86719V14.3828L11.9609 7.46094Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class DoubleBookmark extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M14 0V13.8047L12 12.8047V15.8125L7 13.3125L2 15.8125V2H4V0H14ZM11 14.1875V3H3V14.1875L7 12.1875L11 14.1875ZM13 12.1875V1H5V2H12V11.6875L13 12.1875Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Settings extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M17.4121 9.64844C17.4121 9.70703 17.4121 9.76562 17.4121 9.82422C17.4186 9.88281 17.4219 9.94141 17.4219 10C17.4219 10.0586 17.4186 10.1172 17.4121 10.1758C17.4121 10.2344 17.4121 10.293 17.4121 10.3516L19.9414 11.9238L18.3887 15.6641L15.4883 15C15.332 15.1693 15.1693 15.332 15 15.4883L15.6641 18.3887L11.9238 19.9414L10.3516 17.4121C10.293 17.4121 10.2344 17.4154 10.1758 17.4219C10.1172 17.4219 10.0586 17.4219 10 17.4219C9.94141 17.4219 9.88281 17.4219 9.82422 17.4219C9.76562 17.4154 9.70703 17.4121 9.64844 17.4121L8.07617 19.9414L4.33594 18.3887L5 15.4883C4.83073 15.332 4.66797 15.1693 4.51172 15L1.61133 15.6641L0.0585938 11.9238L2.58789 10.3516C2.58789 10.293 2.58464 10.2344 2.57812 10.1758C2.57812 10.1172 2.57812 10.0586 2.57812 10C2.57812 9.94141 2.57812 9.88281 2.57812 9.82422C2.58464 9.76562 2.58789 9.70703 2.58789 9.64844L0.0585938 8.07617L1.61133 4.33594L4.51172 5C4.66797 4.83073 4.83073 4.66797 5 4.51172L4.33594 1.61133L8.07617 0.0585938L9.64844 2.58789C9.70703 2.58789 9.76562 2.58789 9.82422 2.58789C9.88281 2.58138 9.94141 2.57812 10 2.57812C10.0586 2.57812 10.1172 2.58138 10.1758 2.58789C10.2344 2.58789 10.293 2.58789 10.3516 2.58789L11.9238 0.0585938L15.6641 1.61133L15 4.51172C15.1693 4.66797 15.332 4.83073 15.4883 5L18.3887 4.33594L19.9414 8.07617L17.4121 9.64844ZM16.2695 10.918C16.2826 10.7617 16.2956 10.6087 16.3086 10.459C16.3216 10.3027 16.3281 10.1465 16.3281 9.99023C16.3281 9.84049 16.3216 9.6875 16.3086 9.53125C16.2956 9.375 16.2826 9.22201 16.2695 9.07227L18.5742 7.63672L17.7344 5.60547L15.0879 6.2207C14.8861 5.97331 14.6777 5.74544 14.4629 5.53711C14.2546 5.32878 14.0267 5.12044 13.7793 4.91211L14.3945 2.26562L12.3633 1.42578L10.918 3.73047C10.7682 3.71745 10.6152 3.70443 10.459 3.69141C10.3027 3.67839 10.1497 3.67188 10 3.67188C9.84375 3.67188 9.6875 3.67839 9.53125 3.69141C9.38151 3.70443 9.22852 3.71745 9.07227 3.73047L7.63672 1.42578L5.60547 2.26562L6.2207 4.91211C5.97331 5.11393 5.74544 5.32227 5.53711 5.53711C5.32878 5.74544 5.12044 5.97331 4.91211 6.2207L2.26562 5.60547L1.42578 7.63672L3.73047 9.08203C3.71745 9.23828 3.70443 9.39453 3.69141 9.55078C3.67839 9.70052 3.67188 9.85352 3.67188 10.0098C3.67188 10.1595 3.67839 10.3125 3.69141 10.4688C3.70443 10.625 3.71745 10.778 3.73047 10.9277L1.42578 12.3633L2.26562 14.3945L4.91211 13.7793C5.11393 14.0267 5.31901 14.2546 5.52734 14.4629C5.74219 14.6712 5.97331 14.8796 6.2207 15.0879L5.60547 17.7344L7.63672 18.5742L9.08203 16.2695C9.23177 16.2826 9.38477 16.2956 9.54102 16.3086C9.69727 16.3216 9.85026 16.3281 10 16.3281C10.1562 16.3281 10.3092 16.3216 10.459 16.3086C10.6152 16.2956 10.7715 16.2826 10.9277 16.2695L12.3633 18.5742L14.3945 17.7344L13.7793 15.0879C14.0267 14.8861 14.2546 14.681 14.4629 14.4727C14.6712 14.2578 14.8796 14.0267 15.0879 13.7793L17.7344 14.3945L18.5742 12.3633L16.2695 10.918ZM10 6.32812C10.5078 6.32812 10.9831 6.42578 11.4258 6.62109C11.875 6.8099 12.2656 7.07031 12.5977 7.40234C12.9297 7.73438 13.1901 8.125 13.3789 8.57422C13.5742 9.01693 13.6719 9.49219 13.6719 10C13.6719 10.5078 13.5742 10.9863 13.3789 11.4355C13.1901 11.8783 12.9297 12.2656 12.5977 12.5977C12.2656 12.9297 11.875 13.1934 11.4258 13.3887C10.9831 13.5775 10.5078 13.6719 10 13.6719C9.49219 13.6719 9.01367 13.5775 8.56445 13.3887C8.12174 13.1934 7.73438 12.9297 7.40234 12.5977C7.07031 12.2656 6.80664 11.8783 6.61133 11.4355C6.42253 10.9863 6.32812 10.5078 6.32812 10C6.32812 9.49219 6.42253 9.01693 6.61133 8.57422C6.80664 8.125 7.07031 7.73438 7.40234 7.40234C7.73438 7.07031 8.12174 6.8099 8.56445 6.62109C9.01367 6.42578 9.49219 6.32812 10 6.32812ZM10 12.5781C10.3581 12.5781 10.6934 12.513 11.0059 12.3828C11.3184 12.2461 11.5918 12.0605 11.8262 11.8262C12.0605 11.5918 12.2428 11.3184 12.373 11.0059C12.5098 10.6934 12.5781 10.3581 12.5781 10C12.5781 9.64193 12.5098 9.30664 12.373 8.99414C12.2428 8.68164 12.0605 8.4082 11.8262 8.17383C11.5918 7.93945 11.3184 7.75716 11.0059 7.62695C10.6934 7.49023 10.3581 7.42188 10 7.42188C9.64193 7.42188 9.30664 7.49023 8.99414 7.62695C8.68164 7.75716 8.4082 7.93945 8.17383 8.17383C7.93945 8.4082 7.75391 8.68164 7.61719 8.99414C7.48698 9.30664 7.42188 9.64193 7.42188 10C7.42188 10.3581 7.48698 10.6934 7.61719 11.0059C7.75391 11.3184 7.93945 11.5918 8.17383 11.8262C8.4082 12.0605 8.68164 12.2461 8.99414 12.3828C9.30664 12.513 9.64193 12.5781 10 12.5781Z\" })));\n }\n}\nSettings.defaultProps = {\n viewBox: \"0 0 20 20\",\n width: \"20px\",\n height: \"20px\",\n xmlns: \"http://www.w3.org/2000/svg\",\n};\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class GlobeWestLegacy extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M7.92753 0H8.10592C10.3433 0 12.3168 0.914286 14.0265 2.74286C15.3422 4.3187 16 6.04692 16 7.92753V8.07247C16 10.6369 14.8739 12.7888 12.6216 14.5282C11.1944 15.5094 9.67805 16 8.07247 16H7.92753C5.36307 16 3.21115 14.8739 1.47178 12.6216C0.490592 11.2019 0 9.68548 0 8.07247V7.92753C0 5.36307 1.12613 3.21115 3.3784 1.47178C4.80557 0.490592 6.32195 0 7.92753 0ZM3.14425 2.977C3.33008 2.977 3.58653 3.18885 3.91359 3.61254C4.03252 3.63484 4.09942 3.64599 4.11429 3.64599C4.11429 3.60139 4.14774 3.57909 4.21463 3.57909V3.3784C4.21463 3.37096 4.29268 3.25947 4.44878 3.0439L4.28153 2.40836C4.39303 2.34146 4.48223 2.30801 4.54913 2.30801H4.78328C5.036 2.30801 5.259 2.49756 5.45226 2.87666H5.48571L5.75331 2.67596C6.3108 2.88409 6.65645 3.08478 6.79024 3.27805V3.4453C6.79024 3.57166 6.41115 3.71661 5.65296 3.88014L5.58606 3.98049V4.01394C5.83136 4.08084 5.96516 4.11429 5.98746 4.11429V4.18118C5.92056 4.26295 5.70871 4.4079 5.35192 4.61603C5.35192 4.73496 5.11777 4.86876 4.64948 5.01742C4.61231 4.99512 4.56771 4.98397 4.51568 4.98397V5.05087L4.54913 5.11777C4.50453 5.1252 4.48223 5.1475 4.48223 5.18467C4.48223 5.20697 4.52683 5.27387 4.61603 5.38537V5.41882C4.19233 5.67154 3.98049 5.87224 3.98049 6.02091C3.95819 6.05807 3.94704 6.11382 3.94704 6.18815L3.98049 6.58955H3.94704C3.73891 6.23275 3.48246 6.05436 3.1777 6.05436H2.977L2.80976 6.0878V6.12125H2.87666V6.18815L2.54216 6.1547H2.37491C1.99582 6.1547 1.80627 6.3554 1.80627 6.75679C1.84344 7.11359 2.01069 7.29199 2.30801 7.29199C2.47154 7.29199 2.75029 7.22509 3.14425 7.09129H3.1777C3.0216 7.47782 2.94355 7.68966 2.94355 7.72683C2.98815 7.74913 3.0216 7.76028 3.0439 7.76028C3.11823 7.71568 3.18513 7.69338 3.2446 7.69338C3.37096 7.69338 3.68316 7.96469 4.18118 8.50732C4.22578 8.52962 4.25923 8.54077 4.28153 8.54077V8.57422C4.28153 8.62625 4.19233 8.67085 4.01394 8.70801C3.67201 8.50732 3.48246 8.40697 3.4453 8.40697C3.4453 8.42927 3.43415 8.44042 3.41185 8.44042C3.26318 8.12079 3.12938 7.96098 3.01045 7.96098C2.53473 7.96098 1.88804 7.70453 1.07038 7.19164L1.03693 7.32544C1.03693 7.4741 1.02578 7.76771 1.00348 8.20627C1.00348 9.92334 1.75052 11.5735 3.2446 13.1568C3.83926 13.6474 4.2964 13.9596 4.61603 14.0934V13.9596L4.85017 12.8223V12.7888C4.85017 12.4469 4.59373 11.6887 4.08084 10.5143C4.03624 10.3582 4.01394 10.2244 4.01394 10.1129V10.0125L4.04739 9.8453L3.94704 9.7784C4.25923 9.34727 4.41533 9.07967 4.41533 8.97561V8.94216C4.41533 8.88269 4.39303 8.78235 4.34843 8.64112L4.41533 8.60767H4.44878L4.51568 8.64112C4.51568 8.35865 4.79443 8.18025 5.35192 8.10592H5.41882C6.1324 8.24715 6.4892 8.4144 6.4892 8.60767C6.94262 8.87526 7.24367 9.00906 7.39233 9.00906C8.05389 9.25436 8.7266 9.70035 9.41045 10.347C9.52195 10.4883 9.5777 10.5998 9.5777 10.6815V10.715C9.52567 10.819 9.43647 10.9194 9.3101 11.016C9.3324 11.0606 9.34355 11.0941 9.34355 11.1164C9.34355 11.659 9.08711 12.0269 8.57422 12.2202C8.21742 12.3168 8.03902 12.4952 8.03902 12.7554C7.85319 13.1568 7.61533 13.4132 7.32544 13.5247H7.15819L6.89059 13.324L6.82369 13.3575L6.85714 13.4244V13.6585C6.85714 13.889 6.67875 14.2569 6.32195 14.7624V14.7958C6.95377 14.9296 7.52613 14.9965 8.03902 14.9965C10.3731 14.9965 12.3243 13.9261 13.8927 11.7854C13.692 11.384 13.5916 11.0272 13.5916 10.715C13.5916 10.492 13.6362 10.1798 13.7254 9.7784C13.7031 9.54797 13.547 9.21347 13.2571 8.77491C13.3017 8.55935 13.324 8.3921 13.324 8.27317C13.324 8.12451 13.1791 8.03159 12.8892 7.99442C12.7777 7.99442 12.6328 7.92753 12.4544 7.79373C12.0827 7.95726 11.8262 8.03902 11.685 8.03902L11.5512 7.96098C11.3951 8.03531 11.2725 8.07247 11.1833 8.07247H11.1164C10.5143 7.91638 10.2132 7.71196 10.2132 7.45923C10.0348 7.37747 9.92334 7.28827 9.87875 7.19164V7.15819L9.94564 7.05784C9.81185 7.05784 9.74495 6.99094 9.74495 6.85714C9.78211 6.83484 9.81556 6.82369 9.8453 6.82369V6.79024C9.6892 6.73821 9.61115 6.68246 9.61115 6.623C9.65575 6.54866 9.7115 6.40372 9.7784 6.18815C9.7784 6.14355 9.7561 5.97631 9.7115 5.68641C9.7115 5.41882 9.96794 5.10662 10.4808 4.74983C10.4808 4.74239 10.5477 4.66434 10.6815 4.51568C10.6592 4.47108 10.6481 4.43763 10.6481 4.41533C11.0049 3.99164 11.1944 3.77979 11.2167 3.77979H11.2502C11.8448 3.77979 12.5473 3.70174 13.3575 3.54564V3.5122C13.0304 3.12567 12.6736 2.78002 12.2871 2.47526C11.7965 2.68339 11.5512 2.87294 11.5512 3.0439C11.5735 3.16283 11.5847 3.22973 11.5847 3.2446C11.4657 3.4899 11.2204 3.61254 10.8488 3.61254L10.5143 3.57909C10.4771 3.57909 10.3656 3.60139 10.1798 3.64599C10.1203 3.57909 10.0757 3.4899 10.046 3.3784C10.1129 3.14053 10.1463 2.97329 10.1463 2.87666C10.1092 2.87666 10.0757 2.83206 10.046 2.74286C10.8265 2.47526 11.2613 2.34146 11.3505 2.34146C11.3505 2.11103 11.1275 1.95494 10.6815 1.87317V1.83972C10.6815 1.78769 10.8153 1.75424 11.0829 1.73937V1.70592C10.0348 1.23763 8.99419 1.00348 7.96098 1.00348C6.16957 1.00348 4.564 1.66132 3.14425 2.977ZM13.4913 3.71289L13.4578 3.88014V3.91359C13.4578 4.08455 13.6139 4.21835 13.9261 4.31498C13.7775 4.05482 13.6325 3.85412 13.4913 3.71289ZM4.58258 5.08432H4.64948V5.21812H4.58258V5.08432ZM3.71289 6.89059H3.91359C4.01765 6.89059 4.2964 6.97979 4.74983 7.15819V7.22509H4.44878C4.03252 7.04669 3.78722 6.95749 3.71289 6.95749V6.89059ZM3.64599 6.92404V6.99094L3.47875 7.02439C3.47875 6.97979 3.53449 6.94634 3.64599 6.92404ZM4.95052 7.22509C5.28502 7.26225 5.45226 7.30685 5.45226 7.35888V7.39233C5.25157 7.43693 5.10662 7.45923 5.01742 7.45923H4.98397L4.81672 7.42578V7.39233C4.81672 7.3849 4.86132 7.32915 4.95052 7.22509Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Basketball extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M7.875 0.5C8.55208 0.5 9.20312 0.585938 9.82812 0.757812C10.4531 0.929688 11.0417 1.17708 11.5938 1.5C12.1458 1.82292 12.6432 2.20833 13.0859 2.65625C13.5286 3.10417 13.9141 3.60417 14.2422 4.15625C14.5703 4.70833 14.8177 5.29427 14.9844 5.91406C15.151 6.53385 15.2396 7.1875 15.25 7.875C15.25 8.55208 15.1641 9.20312 14.9922 9.82812C14.8203 10.4531 14.5729 11.0417 14.25 11.5938C13.9271 12.1458 13.5417 12.6432 13.0938 13.0859C12.6458 13.5286 12.1458 13.9141 11.5938 14.2422C11.0417 14.5703 10.4557 14.8177 9.83594 14.9844C9.21615 15.151 8.5625 15.2396 7.875 15.25C7.19792 15.25 6.54688 15.1641 5.92188 14.9922C5.29688 14.8203 4.70833 14.5729 4.15625 14.25C3.60417 13.9271 3.10677 13.5417 2.66406 13.0938C2.22135 12.6458 1.83594 12.1458 1.50781 11.5938C1.17969 11.0417 0.932292 10.4557 0.765625 9.83594C0.598958 9.21615 0.510417 8.5625 0.5 7.875C0.5 7.19792 0.585938 6.54688 0.757812 5.92188C0.929688 5.29688 1.17708 4.70833 1.5 4.15625C1.82292 3.60417 2.20833 3.10677 2.65625 2.66406C3.10417 2.22135 3.60417 1.83594 4.15625 1.50781C4.70833 1.17969 5.29427 0.932292 5.91406 0.765625C6.53385 0.598958 7.1875 0.510417 7.875 0.5ZM11.2578 8.25C11.2995 8.98438 11.4609 9.6849 11.7422 10.3516C12.0234 11.0182 12.4141 11.625 12.9141 12.1719C13.388 11.6198 13.7578 11.0104 14.0234 10.3438C14.2891 9.67708 14.4453 8.97917 14.4922 8.25H11.2578ZM14.4922 7.5C14.4505 6.77083 14.2969 6.07292 14.0312 5.40625C13.7656 4.73958 13.3932 4.13021 12.9141 3.57812C12.4193 4.11979 12.0312 4.72396 11.75 5.39062C11.4688 6.05729 11.3047 6.76042 11.2578 7.5H14.4922ZM12.3984 3.03906C11.8307 2.5026 11.1927 2.08333 10.4844 1.78125C9.77604 1.47917 9.03125 1.30469 8.25 1.25781V7.5H10.5078C10.5495 6.67188 10.7318 5.8724 11.0547 5.10156C11.3776 4.33073 11.8255 3.64323 12.3984 3.03906ZM7.5 1.25781C6.72396 1.30469 5.98177 1.47917 5.27344 1.78125C4.5651 2.08333 3.92448 2.5026 3.35156 3.03906C3.92448 3.65365 4.36979 4.34115 4.6875 5.10156C5.00521 5.86198 5.1901 6.66146 5.24219 7.5H7.5V1.25781ZM2.83594 12.1719C3.33073 11.6302 3.71875 11.026 4 10.3594C4.28125 9.69271 4.44531 8.98958 4.49219 8.25H1.25781C1.29948 8.97917 1.45312 9.67708 1.71875 10.3438C1.98438 11.0104 2.35677 11.6198 2.83594 12.1719ZM4.49219 7.5C4.45052 6.76562 4.28906 6.0651 4.00781 5.39844C3.72656 4.73177 3.33594 4.125 2.83594 3.57812C2.36198 4.13021 1.99219 4.73958 1.72656 5.40625C1.46094 6.07292 1.30469 6.77083 1.25781 7.5H4.49219ZM3.35156 12.7109C3.91927 13.2422 4.55729 13.6589 5.26562 13.9609C5.97396 14.263 6.71875 14.4401 7.5 14.4922V8.25H5.24219C5.19531 9.08854 5.01302 9.88802 4.69531 10.6484C4.3776 11.4089 3.92969 12.0964 3.35156 12.7109ZM8.25 14.4922C9.02604 14.4453 9.76823 14.2708 10.4766 13.9688C11.1849 13.6667 11.8255 13.2474 12.3984 12.7109C11.8307 12.1068 11.3854 11.4193 11.0625 10.6484C10.7396 9.8776 10.5547 9.07812 10.5078 8.25H8.25V14.4922Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Horoscope extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M8 0C8.73438 0 9.44271 0.09375 10.125 0.28125C10.8073 0.46875 11.4453 0.736979 12.0391 1.08594C12.6328 1.4349 13.1719 1.85156 13.6562 2.33594C14.1406 2.82031 14.5573 3.36198 14.9062 3.96094C15.2552 4.5599 15.5234 5.19792 15.7109 5.875C15.8984 6.55208 15.9948 7.26042 16 8C16 8.73438 15.9062 9.44271 15.7188 10.125C15.5312 10.8073 15.263 11.4453 14.9141 12.0391C14.5651 12.6328 14.1484 13.1719 13.6641 13.6562C13.1797 14.1406 12.638 14.5573 12.0391 14.9062C11.4401 15.2552 10.8021 15.5234 10.125 15.7109C9.44792 15.8984 8.73958 15.9948 8 16C7.26562 16 6.55729 15.9062 5.875 15.7188C5.19271 15.5312 4.55469 15.263 3.96094 14.9141C3.36719 14.5651 2.82812 14.1484 2.34375 13.6641C1.85938 13.1797 1.44271 12.638 1.09375 12.0391C0.744792 11.4401 0.476562 10.8047 0.289062 10.1328C0.101562 9.46094 0.00520833 8.75 0 8C0 7.26562 0.09375 6.55729 0.28125 5.875C0.46875 5.19271 0.736979 4.55469 1.08594 3.96094C1.4349 3.36719 1.85156 2.82812 2.33594 2.34375C2.82031 1.85938 3.36198 1.44271 3.96094 1.09375C4.5599 0.744792 5.19531 0.476562 5.86719 0.289062C6.53906 0.101562 7.25 0.00520833 8 0ZM7.5 13.9766C7.13021 13.9505 6.78125 13.8906 6.45312 13.7969C6.125 13.7031 5.78906 13.5807 5.44531 13.4297L4.94531 14.2969C5.7526 14.6927 6.60417 14.9219 7.5 14.9844V13.9766ZM8.5 14.9844C9.39583 14.9219 10.2474 14.6927 11.0547 14.2969L10.5547 13.4297C10.2161 13.5755 9.88281 13.6953 9.55469 13.7891C9.22656 13.8828 8.875 13.9453 8.5 13.9766V14.9844ZM8 13C8.45833 13 8.90104 12.9401 9.32812 12.8203C9.75521 12.7005 10.1536 12.5339 10.5234 12.3203C10.8932 12.1068 11.2292 11.8464 11.5312 11.5391C11.8333 11.2318 12.0938 10.8932 12.3125 10.5234C12.5312 10.1536 12.7005 9.75521 12.8203 9.32812C12.9401 8.90104 13 8.45833 13 8C13 7.54167 12.9401 7.09896 12.8203 6.67188C12.7005 6.24479 12.5339 5.84635 12.3203 5.47656C12.1068 5.10677 11.8464 4.77083 11.5391 4.46875C11.2318 4.16667 10.8932 3.90625 10.5234 3.6875C10.1536 3.46875 9.75521 3.29948 9.32812 3.17969C8.90104 3.0599 8.45833 3 8 3C7.54167 3 7.09896 3.0599 6.67188 3.17969C6.24479 3.29948 5.84635 3.46615 5.47656 3.67969C5.10677 3.89323 4.77083 4.15365 4.46875 4.46094C4.16667 4.76823 3.90625 5.10677 3.6875 5.47656C3.46875 5.84635 3.29948 6.24479 3.17969 6.67188C3.0599 7.09896 3 7.54167 3 8C3 8.45833 3.0599 8.90104 3.17969 9.32812C3.29948 9.75521 3.46615 10.1536 3.67969 10.5234C3.89323 10.8932 4.15365 11.2292 4.46094 11.5312C4.76823 11.8333 5.10677 12.0938 5.47656 12.3125C5.84635 12.5312 6.24479 12.7005 6.67188 12.8203C7.09896 12.9401 7.54167 13 8 13ZM2.02344 7.5C2.04948 7.13021 2.10938 6.78125 2.20312 6.45312C2.29688 6.125 2.41927 5.78906 2.57031 5.44531L1.70312 4.94531C1.30729 5.7526 1.07812 6.60417 1.01562 7.5H2.02344ZM1.01562 8.5C1.07812 9.39583 1.30729 10.2474 1.70312 11.0547L2.57031 10.5547C2.42448 10.2161 2.30469 9.88281 2.21094 9.55469C2.11719 9.22656 2.05469 8.875 2.02344 8.5H1.01562ZM8.5 2.02344C8.86979 2.04948 9.21875 2.10938 9.54688 2.20312C9.875 2.29688 10.2109 2.41927 10.5547 2.57031L11.0547 1.70312C10.2474 1.30729 9.39583 1.07812 8.5 1.01562V2.02344ZM7.5 1.01562C6.60417 1.07812 5.7526 1.30729 4.94531 1.70312L5.44531 2.57031C5.78385 2.42448 6.11719 2.30469 6.44531 2.21094C6.77344 2.11719 7.125 2.05469 7.5 2.02344V1.01562ZM13.9766 8.5C13.9505 8.86979 13.8906 9.21875 13.7969 9.54688C13.7031 9.875 13.5807 10.2109 13.4297 10.5547L14.2969 11.0547C14.6927 10.2474 14.9219 9.39583 14.9844 8.5H13.9766ZM14.9844 7.5C14.9219 6.60417 14.6927 5.7526 14.2969 4.94531L13.4297 5.44531C13.5755 5.78385 13.6953 6.11719 13.7891 6.44531C13.8828 6.77344 13.9453 7.125 13.9766 7.5H14.9844ZM13.7969 4.07812C13.2917 3.33333 12.6667 2.70833 11.9219 2.20312L11.4219 3.07031C11.7188 3.26823 11.9948 3.49479 12.25 3.75C12.5052 4.00521 12.7318 4.28125 12.9297 4.57812L13.7969 4.07812ZM4.07812 2.20312C3.33333 2.70833 2.70833 3.33333 2.20312 4.07812L3.07031 4.57812C3.26823 4.28125 3.49479 4.00521 3.75 3.75C4.00521 3.49479 4.28125 3.26823 4.57812 3.07031L4.07812 2.20312ZM2.20312 11.9219C2.70833 12.6667 3.33333 13.2917 4.07812 13.7969L4.57812 12.9297C4.28125 12.7318 4.00521 12.5052 3.75 12.25C3.49479 11.9948 3.26823 11.7188 3.07031 11.4219L2.20312 11.9219ZM11.9219 13.7969C12.6667 13.2917 13.2917 12.6667 13.7969 11.9219L12.9297 11.4219C12.7318 11.7188 12.5052 11.9948 12.25 12.25C11.9948 12.5052 11.7188 12.7318 11.4219 12.9297L11.9219 13.7969ZM9.75 6.25C9.98958 6.25 10.2161 6.29427 10.4297 6.38281C10.6432 6.47135 10.8281 6.59635 10.9844 6.75781C11.1406 6.91927 11.2656 7.10677 11.3594 7.32031C11.4531 7.53385 11.5 7.76042 11.5 8C11.5 8.23958 11.4557 8.46615 11.3672 8.67969C11.2786 8.89323 11.1536 9.07812 10.9922 9.23438C10.8307 9.39062 10.6432 9.51562 10.4297 9.60938C10.2161 9.70312 9.98958 9.75 9.75 9.75C9.75 9.98958 9.70573 10.2161 9.61719 10.4297C9.52865 10.6432 9.40365 10.8281 9.24219 10.9844C9.08073 11.1406 8.89323 11.2656 8.67969 11.3594C8.46615 11.4531 8.23958 11.5 8 11.5C7.76042 11.5 7.53385 11.4557 7.32031 11.3672C7.10677 11.2786 6.92188 11.1536 6.76562 10.9922C6.60938 10.8307 6.48438 10.6432 6.39062 10.4297C6.29688 10.2161 6.25 9.98958 6.25 9.75C6.01042 9.75 5.78385 9.70573 5.57031 9.61719C5.35677 9.52865 5.17188 9.40365 5.01562 9.24219C4.85938 9.08073 4.73438 8.89323 4.64062 8.67969C4.54688 8.46615 4.5 8.23958 4.5 8C4.5 7.76042 4.54427 7.53385 4.63281 7.32031C4.72135 7.10677 4.84635 6.92188 5.00781 6.76562C5.16927 6.60938 5.35677 6.48438 5.57031 6.39062C5.78385 6.29688 6.01042 6.25 6.25 6.25C6.25 6.01042 6.29427 5.78385 6.38281 5.57031C6.47135 5.35677 6.59635 5.17188 6.75781 5.01562C6.91927 4.85938 7.10677 4.73438 7.32031 4.64062C7.53385 4.54688 7.76042 4.5 8 4.5C8.23958 4.5 8.46615 4.54427 8.67969 4.63281C8.89323 4.72135 9.07812 4.84635 9.23438 5.00781C9.39062 5.16927 9.51562 5.35677 9.60938 5.57031C9.70312 5.78385 9.75 6.01042 9.75 6.25ZM6.25 8.75C6.45833 8.75 6.63542 8.67708 6.78125 8.53125C6.92708 8.38542 7 8.20833 7 8C7 7.79167 6.92708 7.61458 6.78125 7.46875C6.63542 7.32292 6.45833 7.25 6.25 7.25C6.04167 7.25 5.86458 7.32292 5.71875 7.46875C5.57292 7.61458 5.5 7.79167 5.5 8C5.5 8.20833 5.57292 8.38542 5.71875 8.53125C5.86458 8.67708 6.04167 8.75 6.25 8.75ZM8 10.5C8.20833 10.5 8.38542 10.4271 8.53125 10.2812C8.67708 10.1354 8.75 9.95833 8.75 9.75C8.75 9.54167 8.67708 9.36458 8.53125 9.21875C8.38542 9.07292 8.20833 9 8 9C7.79167 9 7.61458 9.07292 7.46875 9.21875C7.32292 9.36458 7.25 9.54167 7.25 9.75C7.25 9.95833 7.32292 10.1354 7.46875 10.2812C7.61458 10.4271 7.79167 10.5 8 10.5ZM8 7C8.20833 7 8.38542 6.92708 8.53125 6.78125C8.67708 6.63542 8.75 6.45833 8.75 6.25C8.75 6.04167 8.67708 5.86458 8.53125 5.71875C8.38542 5.57292 8.20833 5.5 8 5.5C7.79167 5.5 7.61458 5.57292 7.46875 5.71875C7.32292 5.86458 7.25 6.04167 7.25 6.25C7.25 6.45833 7.32292 6.63542 7.46875 6.78125C7.61458 6.92708 7.79167 7 8 7ZM9.75 8.75C9.95833 8.75 10.1354 8.67708 10.2812 8.53125C10.4271 8.38542 10.5 8.20833 10.5 8C10.5 7.79167 10.4271 7.61458 10.2812 7.46875C10.1354 7.32292 9.95833 7.25 9.75 7.25C9.54167 7.25 9.36458 7.32292 9.21875 7.46875C9.07292 7.61458 9 7.79167 9 8C9 8.20833 9.07292 8.38542 9.21875 8.53125C9.36458 8.67708 9.54167 8.75 9.75 8.75Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class SoccerBall extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M7.94531 4.88281L10.8906 7.01562L9.76562 10.4766H6.13281L5.00781 7.01562L7.94531 4.88281ZM10.0078 7.30469L7.94531 5.8125L5.89062 7.30469L6.67188 9.72656H9.21875L10.0078 7.30469ZM7.875 0.5C8.55208 0.5 9.20312 0.588542 9.82812 0.765625C10.4531 0.942708 11.0417 1.1901 11.5938 1.50781C12.1458 1.82552 12.6432 2.21094 13.0859 2.66406C13.5286 3.11719 13.9115 3.61458 14.2344 4.15625C14.5573 4.69792 14.8073 5.28385 14.9844 5.91406C15.1615 6.54427 15.25 7.19792 15.25 7.875C15.25 8.55208 15.1615 9.20312 14.9844 9.82812C14.8073 10.4531 14.5599 11.0417 14.2422 11.5938C13.9245 12.1458 13.5391 12.6432 13.0859 13.0859C12.6328 13.5286 12.1354 13.9115 11.5938 14.2344C11.0521 14.5573 10.4661 14.8073 9.83594 14.9844C9.20573 15.1615 8.55208 15.25 7.875 15.25C7.19792 15.25 6.54688 15.1615 5.92188 14.9844C5.29688 14.8073 4.70833 14.5599 4.15625 14.2422C3.60417 13.9245 3.10677 13.5391 2.66406 13.0859C2.22135 12.6328 1.83854 12.1354 1.51562 11.5938C1.19271 11.0521 0.942708 10.4661 0.765625 9.83594C0.588542 9.20573 0.5 8.55208 0.5 7.875C0.5 7.19792 0.585938 6.54688 0.757812 5.92188C0.929688 5.29688 1.17708 4.70833 1.5 4.15625C1.82292 3.60417 2.20833 3.10677 2.65625 2.66406C3.10417 2.22135 3.60417 1.83594 4.15625 1.50781C4.70833 1.17969 5.29427 0.932292 5.91406 0.765625C6.53385 0.598958 7.1875 0.510417 7.875 0.5ZM12.4609 4.28906L12.125 6.49219L13.6953 8.08594L14.4766 7.3125C14.4349 6.80729 14.3359 6.3151 14.1797 5.83594C14.0234 5.35677 13.8125 4.89583 13.5469 4.45312L12.4609 4.28906ZM5.875 2.40625L7.875 3.40625L9.875 2.40625L9.38281 1.42188C9.13281 1.36458 8.88281 1.32292 8.63281 1.29688C8.38281 1.27083 8.13021 1.25521 7.875 1.25C7.61979 1.25 7.36719 1.26302 7.11719 1.28906C6.86719 1.3151 6.61719 1.35938 6.36719 1.42188L5.875 2.40625ZM2.20312 4.45312C1.9375 4.89062 1.72656 5.34896 1.57031 5.82812C1.41406 6.30729 1.3151 6.80208 1.27344 7.3125L2.05469 8.08594L3.625 6.49219L3.28906 4.28906L2.20312 4.45312ZM6.27344 13.4766L5.25 11.4922L3.04688 11.125L2.86719 12.2031C3.20052 12.5938 3.57031 12.9375 3.97656 13.2344C4.38281 13.5312 4.82552 13.7786 5.30469 13.9766L6.27344 13.4766ZM10.4531 13.9766C10.9219 13.7786 11.362 13.5312 11.7734 13.2344C12.1849 12.9375 12.5547 12.5938 12.8828 12.2031L12.7031 11.125L10.5 11.4922L9.47656 13.4766L10.4531 13.9766ZM13.5078 11.3594C13.7891 10.901 14.0104 10.4219 14.1719 9.92188C14.3333 9.42188 14.4349 8.90104 14.4766 8.35938L13.6875 9.14062L11.3281 6.75L11.8281 3.42969L12.9297 3.60156C12.5859 3.19531 12.2005 2.83594 11.7734 2.52344C11.3464 2.21094 10.8828 1.95052 10.3828 1.74219L10.875 2.74219L7.875 4.24219L4.875 2.74219L5.375 1.74219C4.88021 1.9401 4.41667 2.19792 3.98438 2.51562C3.55208 2.83333 3.16406 3.19531 2.82031 3.60156L3.92188 3.42969L4.42188 6.75L2.0625 9.14062L1.27344 8.35938C1.3151 8.89583 1.41667 9.41406 1.57812 9.91406C1.73958 10.4141 1.96094 10.8958 2.24219 11.3594L2.42969 10.2656L5.74219 10.8125L7.28906 13.7969L6.29688 14.3125C6.55729 14.3698 6.81771 14.4141 7.07812 14.4453C7.33854 14.4766 7.60417 14.4948 7.875 14.5C8.14062 14.5 8.40365 14.4844 8.66406 14.4531C8.92448 14.4219 9.1875 14.375 9.45312 14.3125L8.46094 13.7969L10.0078 10.8125L13.3203 10.2656L13.5078 11.3594Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Suitcase extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M14.5 2.99999C14.7083 2.99999 14.9036 3.03906 15.0859 3.11718C15.2682 3.19531 15.4271 3.30208 15.5625 3.43749C15.6979 3.57291 15.8047 3.73177 15.8828 3.91406C15.9609 4.09635 16 4.29166 16 4.49999V13.5C16 13.7083 15.9609 13.9036 15.8828 14.0859C15.8047 14.2682 15.6979 14.4271 15.5625 14.5625C15.4271 14.6979 15.2682 14.8047 15.0859 14.8828C14.9036 14.9609 14.7083 15 14.5 15H1.5C1.29167 15 1.09635 14.9609 0.914062 14.8828C0.731771 14.8047 0.572917 14.6979 0.4375 14.5625C0.302083 14.4271 0.195312 14.2682 0.117188 14.0859C0.0390625 13.9036 0 13.7083 0 13.5V4.49999C0 4.29166 0.0390625 4.09635 0.117188 3.91406C0.195312 3.73177 0.302083 3.57291 0.4375 3.43749C0.572917 3.30208 0.731771 3.19531 0.914062 3.11718C1.09635 3.03906 1.29167 2.99999 1.5 2.99999H5V1.99999C5 1.85937 5.02604 1.72916 5.07812 1.60937C5.13021 1.48958 5.20052 1.38541 5.28906 1.29687C5.3776 1.20833 5.48438 1.13541 5.60938 1.07812C5.73438 1.02083 5.86458 0.994787 6 0.999995H10C10.1406 0.999995 10.2708 1.02604 10.3906 1.07812C10.5104 1.1302 10.6146 1.20052 10.7031 1.28906C10.7917 1.3776 10.8646 1.48437 10.9219 1.60937C10.9792 1.73437 11.0052 1.86458 11 1.99999V2.99999H14.5ZM6 2.99999H10V1.99999H6V2.99999ZM4 3.99999V14H12V3.99999H4ZM1 13.5C1 13.6354 1.04948 13.7526 1.14844 13.8516C1.2474 13.9505 1.36458 14 1.5 14H3V3.99999H1.5C1.36458 3.99999 1.2474 4.04947 1.14844 4.14843C1.04948 4.24739 1 4.36458 1 4.49999V13.5ZM15 4.49999C15 4.36458 14.9505 4.24739 14.8516 4.14843C14.7526 4.04947 14.6354 3.99999 14.5 3.99999H13V14H14.5C14.6354 14 14.7526 13.9505 14.8516 13.8516C14.9505 13.7526 15 13.6354 15 13.5V4.49999Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class EntertainmentLogoLegacy extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M0 16H16V0H0V16ZM5.27755 9.23849L1.4728 6.66109H6.25941L7.81032 2.09763L9.3947 6.66109H14.1478L10.3654 9.23849L11.8494 13.3668L7.81032 10.7001L3.80474 13.3668L5.27755 9.23849Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class History extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M8 4V8.28906L10.8516 11.1484L10.1484 11.8516L7 8.71094V4H8ZM15.375 4.88281C15.7917 5.88281 16 6.92188 16 8C16 9.07812 15.7917 10.1172 15.375 11.1172C14.9688 12.0703 14.3958 12.9167 13.6562 13.6562C12.9167 14.3958 12.0703 14.9688 11.1172 15.375C10.1172 15.7917 9.07812 16 8 16C7.09375 16 6.21875 15.8516 5.375 15.5547C4.55208 15.2682 3.79948 14.862 3.11719 14.3359C2.4401 13.8099 1.85938 13.1901 1.375 12.4766C1.13021 12.1172 0.916667 11.7422 0.734375 11.3516C0.557292 10.9609 0.411458 10.5547 0.296875 10.1328L1.25781 9.86719C1.46615 10.6224 1.78646 11.3151 2.21875 11.9453C2.65625 12.5755 3.17188 13.1172 3.76562 13.5703C4.35938 14.0234 5.01823 14.375 5.74219 14.625C6.46615 14.875 7.21875 15 8 15C8.64062 15 9.25781 14.9167 9.85156 14.75C10.4505 14.5833 11.0078 14.349 11.5234 14.0469C12.0443 13.7396 12.5182 13.3724 12.9453 12.9453C13.3724 12.5182 13.737 12.0469 14.0391 11.5312C14.3464 11.0104 14.5833 10.4531 14.75 9.85938C14.9167 9.26562 15 8.64583 15 8C15 7.35938 14.9167 6.74219 14.75 6.14844C14.5833 5.54948 14.3464 4.99219 14.0391 4.47656C13.737 3.95573 13.3724 3.48177 12.9453 3.05469C12.5182 2.6276 12.0443 2.26302 11.5234 1.96094C11.0078 1.65365 10.4505 1.41667 9.85156 1.25C9.25781 1.08333 8.64062 1 8 1C7.32292 1 6.66667 1.09635 6.03125 1.28906C5.39583 1.47656 4.80208 1.74479 4.25 2.09375C3.70312 2.44271 3.20833 2.86458 2.76562 3.35938C2.32812 3.84896 1.96615 4.39583 1.67969 5H4V6H0V2H1V4.14062C1.08854 3.97396 1.1849 3.8125 1.28906 3.65625C1.39323 3.49479 1.5026 3.33854 1.61719 3.1875C2.10677 2.53646 2.67969 1.97396 3.33594 1.5C4.02344 1.01042 4.76042 0.638021 5.54688 0.382812C6.33333 0.127604 7.15104 0 8 0C9.07812 0 10.1172 0.208333 11.1172 0.625C12.0703 1.03125 12.9167 1.60417 13.6562 2.34375C14.3958 3.08333 14.9688 3.92969 15.375 4.88281Z\" })));\n }\n}\n","import baseIteratee from './_baseIteratee.js';\nimport baseUniq from './_baseUniq.js';\n\n/**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nfunction uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, baseIteratee(iteratee, 2)) : [];\n}\n\nexport default uniqBy;\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { AutoSuggestOptionStyles, } from \"@microsoft/fast-components-styles-msft\";\nimport autoSuggestOptionSchema from \"./auto-suggest-option.schema\";\nimport autoSuggestOptionSchema2 from \"./auto-suggest-option.schema.2\";\nimport MSFTAutoSuggestOption from \"./auto-suggest-option\";\nconst AutoSuggestOption = manageJss(AutoSuggestOptionStyles)(MSFTAutoSuggestOption);\nexport { AutoSuggestOption, autoSuggestOptionSchema, autoSuggestOptionSchema2, };\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { AutoSuggestStyles } from \"@microsoft/fast-components-styles-msft\";\nimport MSFTAutoSuggest from \"./auto-suggest\";\nimport autoSuggestSchema from \"./auto-suggest.schema\";\nimport autoSuggestSchema2 from \"./auto-suggest.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst AutoSuggest = manageJss(AutoSuggestStyles)(MSFTAutoSuggest);\nexport { AutoSuggest, autoSuggestSchema, autoSuggestSchema2, };\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Refresh extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M10.1328 0.296875C10.9974 0.53125 11.7891 0.898438 12.5078 1.39844C13.2266 1.89323 13.8438 2.48177 14.3594 3.16406C14.8802 3.84115 15.2839 4.59375 15.5703 5.42188C15.8568 6.24479 16 7.10417 16 8C16 8.73438 15.9036 9.44271 15.7109 10.125C15.5234 10.8073 15.2552 11.4453 14.9062 12.0391C14.5625 12.6328 14.1458 13.1745 13.6562 13.6641C13.1719 14.1484 12.6328 14.5651 12.0391 14.9141C11.4453 15.2578 10.8073 15.526 10.125 15.7188C9.44271 15.9062 8.73438 16 8 16C7.26562 16 6.55729 15.9062 5.875 15.7188C5.19271 15.526 4.55469 15.2578 3.96094 14.9141C3.36719 14.5651 2.82552 14.1484 2.33594 13.6641C1.85156 13.1745 1.4349 12.6328 1.08594 12.0391C0.742188 11.4453 0.473958 10.8099 0.28125 10.1328C0.09375 9.45052 0 8.73958 0 8C0 7.27083 0.0963542 6.5625 0.289062 5.875C0.481771 5.1875 0.755208 4.54167 1.10938 3.9375C1.46875 3.32812 1.90365 2.77604 2.41406 2.28125C2.92448 1.78125 3.5 1.35417 4.14062 1H2V0H6V4H5V1.67969C4.39062 1.97135 3.83854 2.33854 3.34375 2.78125C2.85417 3.21875 2.4349 3.71354 2.08594 4.26562C1.73698 4.8125 1.46875 5.40365 1.28125 6.03906C1.09375 6.67448 1 7.32812 1 8C1 8.64062 1.08333 9.26042 1.25 9.85938C1.41667 10.4531 1.65104 11.0104 1.95312 11.5312C2.26042 12.0469 2.6276 12.5182 3.05469 12.9453C3.48177 13.3724 3.95312 13.7396 4.46875 14.0469C4.98958 14.349 5.54688 14.5833 6.14062 14.75C6.73438 14.9167 7.35417 15 8 15C8.64062 15 9.25781 14.9167 9.85156 14.75C10.4505 14.5833 11.0078 14.349 11.5234 14.0469C12.0443 13.7396 12.5182 13.3724 12.9453 12.9453C13.3724 12.5182 13.737 12.0469 14.0391 11.5312C14.3464 11.0104 14.5833 10.4531 14.75 9.85938C14.9167 9.26562 15 8.64583 15 8C15 7.21875 14.8724 6.46615 14.6172 5.74219C14.3672 5.01823 14.0156 4.35938 13.5625 3.76562C13.1094 3.17188 12.5677 2.65885 11.9375 2.22656C11.3125 1.78906 10.6224 1.46615 9.86719 1.25781L10.1328 0.296875Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Following extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", \n /* tslint:disable-next-line */\n d: \"M8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16ZM6.5 11.5332L12.7637 5.26367L12.2363 4.73633L6.5 10.4668L3.76367 7.73633L3.23633 8.26367L6.5 11.5332Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Follow extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M7.5 0C8.19271 0 8.85677 0.0885417 9.49219 0.265625C10.1328 0.442708 10.7318 0.695312 11.2891 1.02344C11.8464 1.34635 12.3516 1.73698 12.8047 2.19531C13.263 2.64844 13.6536 3.15365 13.9766 3.71094C14.3047 4.26823 14.5573 4.86719 14.7344 5.50781C14.9115 6.14323 15 6.80729 15 7.5C15 8.19271 14.9115 8.85938 14.7344 9.5C14.5573 10.1354 14.3047 10.7318 13.9766 11.2891C13.6536 11.8464 13.263 12.3542 12.8047 12.8125C12.3516 13.2656 11.8464 13.6562 11.2891 13.9844C10.7318 14.3073 10.1328 14.5573 9.49219 14.7344C8.85677 14.9115 8.19271 15 7.5 15C6.80729 15 6.14062 14.9115 5.5 14.7344C4.86458 14.5573 4.26823 14.3073 3.71094 13.9844C3.15365 13.6562 2.64583 13.2656 2.1875 12.8125C1.73438 12.3542 1.34375 11.8464 1.01562 11.2891C0.692708 10.7318 0.442708 10.1354 0.265625 9.5C0.0885417 8.85938 0 8.19271 0 7.5C0 6.80729 0.0885417 6.14323 0.265625 5.50781C0.442708 4.86719 0.692708 4.26823 1.01562 3.71094C1.34375 3.15365 1.73438 2.64844 2.1875 2.19531C2.64583 1.73698 3.15365 1.34635 3.71094 1.02344C4.26823 0.695312 4.86458 0.442708 5.5 0.265625C6.14062 0.0885417 6.80729 0 7.5 0ZM7.5 14C8.09896 14 8.67448 13.9219 9.22656 13.7656C9.77865 13.6094 10.2943 13.3906 10.7734 13.1094C11.2578 12.8281 11.6979 12.4896 12.0938 12.0938C12.4896 11.6979 12.8281 11.2604 13.1094 10.7812C13.3906 10.2969 13.6094 9.77865 13.7656 9.22656C13.9219 8.67448 14 8.09896 14 7.5C14 6.90104 13.9219 6.32552 13.7656 5.77344C13.6094 5.22135 13.3906 4.70573 13.1094 4.22656C12.8281 3.74219 12.4896 3.30208 12.0938 2.90625C11.6979 2.51042 11.2578 2.17188 10.7734 1.89062C10.2943 1.60938 9.77865 1.39062 9.22656 1.23438C8.67448 1.07812 8.09896 1 7.5 1C6.90104 1 6.32552 1.07812 5.77344 1.23438C5.22135 1.39062 4.70312 1.60938 4.21875 1.89062C3.73958 2.17188 3.30208 2.51042 2.90625 2.90625C2.51042 3.30208 2.17188 3.74219 1.89062 4.22656C1.60938 4.70573 1.39062 5.22135 1.23438 5.77344C1.07812 6.32552 1 6.90104 1 7.5C1 8.09896 1.07812 8.67448 1.23438 9.22656C1.39062 9.77865 1.60938 10.2969 1.89062 10.7812C2.17188 11.2604 2.51042 11.6979 2.90625 12.0938C3.30208 12.4896 3.73958 12.8281 4.21875 13.1094C4.70312 13.3906 5.22135 13.6094 5.77344 13.7656C6.32552 13.9219 6.90104 14 7.5 14ZM8 7H12V8H8V12H7V8H3V7H7V3H8V7Z\" })));\n }\n}\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { StealthButtonStyles, } from \"@microsoft/fast-components-styles-msft\";\nimport { ButtonBase, } from \"../button-base\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport stealthButtonSchema from \"./stealth-button.schema\";\nimport stealthButtonSchema2 from \"./stealth-button.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst StealthButton = manageJss(StealthButtonStyles)(ButtonBase);\n/**\n * Set the display name for the stealth button\n */\nStealthButton.displayName = `${DisplayNamePrefix}StealthButton`;\nexport { StealthButton, stealthButtonSchema, stealthButtonSchema2, };\n","import { Toggle as BaseToggle, } from \"@microsoft/fast-components-react-base\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { ToggleStyles } from \"@microsoft/fast-components-styles-msft\";\nimport toggleSchema from \"./toggle.schema\";\nimport toggleSchema2 from \"./toggle.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Toggle = manageJss(ToggleStyles)(BaseToggle);\nexport { Toggle, toggleSchema, toggleSchema2, };\n","import { Radio as BaseRadio, RadioSlot, } from \"@microsoft/fast-components-react-base\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { RadioStyles } from \"@microsoft/fast-components-styles-msft\";\nimport radioSchema from \"./radio.schema\";\nimport radioSchema2 from \"./radio.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Radio = manageJss(RadioStyles)(BaseRadio);\nexport { Radio, radioSchema, radioSchema2, RadioSlot, };\n","import { Label as BaseLabel, LabelTag, } from \"@microsoft/fast-components-react-base\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { LabelStyles } from \"@microsoft/fast-components-styles-msft\";\nimport labelSchema from \"./label.schema\";\nimport labelSchema2 from \"./label.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Label = manageJss(LabelStyles)(BaseLabel);\nexport { Label, labelSchema, labelSchema2, LabelTag, };\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class ChevronDownIcon extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M15.1484 3.64844L15.8516 4.35156L8 12.2031L0.148438 4.35156L0.851562 3.64844L8 10.7969L15.1484 3.64844Z\" })));\n }\n}\n","import { Divider as BaseDivider, DividerRoles, } from \"@microsoft/fast-components-react-base\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { DividerStyles } from \"@microsoft/fast-components-styles-msft\";\nimport dividerSchema from \"./divider.schema\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Divider = manageJss(DividerStyles)(BaseDivider);\nexport { Divider, DividerRoles, dividerSchema, };\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { LightweightButtonStyles, } from \"@microsoft/fast-components-styles-msft\";\nimport { ButtonBase, } from \"../button-base\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport lightweightButtonSchema from \"./lightweight-button.schema\";\nimport lightweightButtonSchema2 from \"./lightweight-button.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst LightweightButton = manageJss(LightweightButtonStyles)(ButtonBase);\n/**\n * Set the display name for the lightweight button\n */\nLightweightButton.displayName = `${DisplayNamePrefix}LightweightButton`;\nexport { LightweightButton, lightweightButtonSchema, lightweightButtonSchema2, };\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { AccentButtonStyles } from \"@microsoft/fast-components-styles-msft\";\nimport { ButtonBase, } from \"../button-base\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport accentButtonSchema from \"./accent-button.schema\";\nimport accentButtonSchema2 from \"./accent-button.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst AccentButton = manageJss(AccentButtonStyles)(ButtonBase);\n/**\n * Set the display name for the accent button\n */\nAccentButton.displayName = `${DisplayNamePrefix}AccentButton`;\nexport { AccentButton, accentButtonSchema, accentButtonSchema2, };\n","import { Checkbox as BaseCheckbox, CheckboxSlot, } from \"@microsoft/fast-components-react-base\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { CheckboxStyles } from \"@microsoft/fast-components-styles-msft\";\nimport checkboxSchema from \"./checkbox.schema\";\nimport checkboxSchema2 from \"./checkbox.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Checkbox = manageJss(CheckboxStyles)(BaseCheckbox);\nexport { Checkbox, checkboxSchema, checkboxSchema2, CheckboxSlot, };\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class VideoPlay extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M1 0V16L15.0083 8L1 0Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Share extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M11 12L12 11V14H0V4H1V13H11V12ZM10 8C9.33333 8 8.67969 8.06771 8.03906 8.20312C7.40365 8.33333 6.78906 8.52865 6.19531 8.78906C5.60156 9.04427 5.03385 9.35938 4.49219 9.73438C3.95573 10.1042 3.45833 10.526 3 11V10C3 9.35417 3.08333 8.73438 3.25 8.14062C3.41667 7.54167 3.65104 6.98438 3.95312 6.46875C4.26042 5.94792 4.625 5.47656 5.04688 5.05469C5.47396 4.6276 5.94531 4.26302 6.46094 3.96094C6.98177 3.65365 7.53906 3.41667 8.13281 3.25C8.73177 3.08333 9.35417 3 10 3V0L15.5 5.5L10 11V8ZM10.7891 4C10.4974 4 10.224 4.0026 9.96875 4.00781C9.71354 4.01302 9.46094 4.03125 9.21094 4.0625C8.96094 4.08854 8.71094 4.13542 8.46094 4.20312C8.21094 4.26562 7.94531 4.35417 7.66406 4.46875C7.21094 4.65625 6.78906 4.89583 6.39844 5.1875C6.01302 5.47917 5.66667 5.8125 5.35938 6.1875C5.05729 6.55729 4.79948 6.96094 4.58594 7.39844C4.3776 7.83073 4.22396 8.28646 4.125 8.76562C5 8.18229 5.9349 7.74219 6.92969 7.44531C7.92448 7.14844 8.94792 7 10 7H11V8.58594L14.0859 5.5L11 2.41406V4H10.7891Z\" })));\n }\n}\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class NotificationLegacy extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M7.86192 14.8619C8.01813 14.8619 8.1669 14.8322 8.30823 14.7727C8.44212 14.7132 8.56113 14.6313 8.66527 14.5272C8.76941 14.4231 8.85123 14.3003 8.91074 14.159C8.97025 14.0251 9 13.8763 9 13.7127H6.71269C6.71269 13.8763 6.74245 14.0251 6.80195 14.159C6.86146 14.3003 6.94328 14.4231 7.04742 14.5272C7.15156 14.6313 7.27429 14.7132 7.41562 14.7727C7.54951 14.8322 7.69828 14.8619 7.86192 14.8619ZM12.4254 12.5746V5.71269C12.4254 5.08043 12.3064 4.48907 12.0683 3.93863C11.8229 3.38819 11.4956 2.9047 11.0865 2.48815C10.6699 2.07159 10.1864 1.74431 9.63598 1.50628C9.0781 1.26081 8.48675 1.13808 7.86192 1.13808C7.22966 1.13808 6.63459 1.26081 6.07671 1.50628C5.52627 1.74431 5.04277 2.07159 4.62622 2.48815C4.21711 2.89726 3.88982 3.38075 3.64435 3.93863C3.40632 4.48907 3.28731 5.08043 3.28731 5.71269V12.5746H12.4254ZM14.7127 12.5746V13.7127H10.1381C10.1381 14.0325 10.0786 14.3301 9.95955 14.6053C9.84054 14.8805 9.67689 15.1223 9.46862 15.3305C9.26034 15.5388 9.0186 15.7025 8.74338 15.8215C8.46815 15.9405 8.17434 16 7.86192 16C7.54207 16 7.24454 15.9405 6.96932 15.8215C6.6941 15.7025 6.45235 15.5388 6.24407 15.3305C6.0358 15.1223 5.87215 14.8805 5.75314 14.6053C5.63412 14.3301 5.57462 14.0325 5.57462 13.7127H1V12.5746H2.13808V5.71269C2.13808 5.192 2.20874 4.68619 2.35007 4.19526C2.48396 3.70432 2.67364 3.25058 2.91911 2.83403C3.17201 2.41004 3.46955 2.02325 3.81172 1.67364C4.16132 1.32404 4.54812 1.0265 4.97211 0.781032C5.39609 0.535565 5.85356 0.342166 6.34449 0.200837C6.82799 0.0669456 7.3338 0 7.86192 0C8.38261 0 8.88842 0.0669456 9.37936 0.200837C9.86285 0.342166 10.3166 0.535565 10.7406 0.781032C11.1646 1.0265 11.5514 1.32404 11.901 1.67364C12.2431 2.02325 12.5407 2.41004 12.7936 2.83403C13.0391 3.25802 13.2287 3.71176 13.3626 4.19526C13.504 4.68619 13.5746 5.192 13.5746 5.71269V12.5746H14.7127Z\" })));\n }\n}\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { OutlineButtonStyles, } from \"@microsoft/fast-components-styles-msft\";\nimport { ButtonBase, } from \"../button-base\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport outlineButtonSchema from \"./outline-button.schema\";\nimport outlineButtonSchema2 from \"./outline-button.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst OutlineButton = manageJss(OutlineButtonStyles)(ButtonBase);\n/**\n * Set the display name for the outline button\n */\nOutlineButton.displayName = `${DisplayNamePrefix}OutlineButton`;\nexport { OutlineButton, outlineButtonSchema, outlineButtonSchema2, };\n","import baseSlice from './_baseSlice.js';\nimport isIterateeCall from './_isIterateeCall.js';\nimport toInteger from './toInteger.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeCeil = Math.ceil,\n nativeMax = Math.max;\n\n/**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\nfunction chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n}\n\nexport default chunk;\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Camera extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M24 3V21H0V3H6.43359L7.93359 1.5H16.0664L17.5664 3H24ZM22.5 4.5H16.9336L15.4336 3H8.56641L7.06641 4.5H1.5V19.5H22.5V4.5ZM12 6C12.8281 6 13.6055 6.15625 14.332 6.46875C15.0664 6.78125 15.7031 7.21094 16.2422 7.75781C16.7891 8.29688 17.2188 8.93359 17.5312 9.66797C17.8438 10.3945 18 11.1719 18 12C18 12.8281 17.8438 13.6094 17.5312 14.3438C17.2188 15.0703 16.7891 15.707 16.2422 16.2539C15.7031 16.793 15.0664 17.2188 14.332 17.5312C13.6055 17.8438 12.8281 18 12 18C11.1719 18 10.3906 17.8438 9.65625 17.5312C8.92969 17.2188 8.29297 16.793 7.74609 16.2539C7.20703 15.707 6.78125 15.0703 6.46875 14.3438C6.15625 13.6094 6 12.8281 6 12C6 11.1719 6.15625 10.3945 6.46875 9.66797C6.78125 8.93359 7.20703 8.29688 7.74609 7.75781C8.29297 7.21094 8.92969 6.78125 9.65625 6.46875C10.3906 6.15625 11.1719 6 12 6ZM12 16.5C12.6172 16.5 13.1992 16.3828 13.7461 16.1484C14.293 15.9062 14.7695 15.582 15.1758 15.1758C15.582 14.7695 15.9023 14.293 16.1367 13.7461C16.3789 13.1992 16.5 12.6172 16.5 12C16.5 11.3828 16.3789 10.8008 16.1367 10.2539C15.9023 9.70703 15.582 9.23047 15.1758 8.82422C14.7695 8.41797 14.293 8.09766 13.7461 7.86328C13.1992 7.62109 12.6172 7.5 12 7.5C11.3828 7.5 10.8008 7.62109 10.2539 7.86328C9.70703 8.09766 9.23047 8.41797 8.82422 8.82422C8.41797 9.23047 8.09375 9.70703 7.85156 10.2539C7.61719 10.8008 7.5 11.3828 7.5 12C7.5 12.6172 7.61719 13.1992 7.85156 13.7461C8.09375 14.293 8.41797 14.7695 8.82422 15.1758C9.23047 15.582 9.70703 15.9062 10.2539 16.1484C10.8008 16.3828 11.3828 16.5 12 16.5ZM3.75 6C3.95312 6 4.12891 6.07422 4.27734 6.22266C4.42578 6.37109 4.5 6.54688 4.5 6.75C4.5 6.95312 4.42578 7.12891 4.27734 7.27734C4.12891 7.42578 3.95312 7.5 3.75 7.5C3.54688 7.5 3.37109 7.42578 3.22266 7.27734C3.07422 7.12891 3 6.95312 3 6.75C3 6.54688 3.07422 6.37109 3.22266 6.22266C3.37109 6.07422 3.54688 6 3.75 6Z\" })));\n }\n}\nCamera.defaultProps = {\n viewBox: \"0 0 24 24\",\n width: \"24px\",\n height: \"24px\",\n xmlns: \"http://www.w3.org/2000/svg\",\n};\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class Play extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M24.5 14L7 26.25V1.75L24.5 14ZM8.75 22.8867L21.4512 14L8.75 5.11328V22.8867Z\" })));\n }\n}\nPlay.defaultProps = {\n viewBox: \"0 0 28 28\",\n width: \"28px\",\n height: \"28px\",\n xmlns: \"http://www.w3.org/2000/svg\",\n};\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\nexport default class CircleRightArrowLegacy extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M12.0168 8.0056L8.46993 11.5773H6.55664L9.3986 8.72218H4.63217V7.24423H9.35385L6.48951 4.40028H8.42517L12.0168 8.0056ZM12.2294 13.5815C12.9977 12.9993 13.6056 12.32 14.0531 11.5437C14.5007 10.7749 14.7879 9.91649 14.9147 8.96851C14.9371 8.81176 14.9557 8.64381 14.9706 8.46466C14.9781 8.30044 14.9818 8.13623 14.9818 7.97201C14.9818 6.45673 14.5044 5.05715 13.5497 3.77327C13.2065 3.3254 12.8298 2.92979 12.4196 2.58642C12.0093 2.24306 11.5692 1.95568 11.0993 1.72428C10.6219 1.49289 10.1259 1.31747 9.61119 1.19804C9.08159 1.07861 8.54452 1.01889 8 1.01889C7.22424 1.01889 6.48205 1.14206 5.77343 1.38838C5.05734 1.62725 4.40093 1.98181 3.8042 2.45206C3.04336 3.04175 2.43543 3.72848 1.98042 4.51225C1.51795 5.29601 1.21958 6.15815 1.08531 7.09867C1.06294 7.24049 1.04056 7.40471 1.01818 7.59132C1.00326 7.75554 0.995804 7.91603 0.995804 8.07278C0.995804 8.82669 1.12261 9.5582 1.37622 10.2673C1.6373 10.9764 1.99534 11.6445 2.45035 12.2715C2.7711 12.7194 3.14033 13.1113 3.55804 13.4472C3.97576 13.7905 4.42331 14.0742 4.9007 14.2981C5.37809 14.522 5.87786 14.69 6.4 14.802C6.9296 14.9214 7.46294 14.9811 8 14.9811C9.58135 14.9811 10.9911 14.5146 12.2294 13.5815ZM14.3664 3.15745C14.9035 3.89643 15.31 4.67273 15.586 5.48635C15.862 6.30744 16 7.14719 16 8.0056C16 8.60275 15.9329 9.19617 15.7986 9.78586C15.6643 10.3756 15.4629 10.9429 15.1944 11.4878C14.9259 12.0252 14.5977 12.5328 14.2098 13.0105C13.8145 13.4957 13.3632 13.9324 12.8559 14.3205C12.11 14.8878 11.3305 15.3095 10.5175 15.5857C9.70443 15.8619 8.86527 16 8 16C7.41072 16 6.82145 15.9328 6.23217 15.7985C5.63543 15.6566 5.06107 15.4551 4.50909 15.1938C3.95711 14.9326 3.43869 14.6079 2.95385 14.2197C2.46154 13.839 2.02517 13.3949 1.64476 12.8873C1.08531 12.1558 0.671329 11.3833 0.402797 10.5696C0.134266 9.75601 0 8.92372 0 8.07278C0 7.4607 0.0671329 6.85608 0.201399 6.25892C0.343124 5.66923 0.544522 5.0982 0.805594 4.54584C1.07413 3.99347 1.40606 3.47096 1.8014 2.97831C2.19674 2.49312 2.65175 2.05272 3.16643 1.6571C3.88252 1.09727 4.64709 0.682995 5.46014 0.414276C6.27319 0.138092 7.11981 0 8 0C8.59674 0 9.19347 0.0671798 9.79021 0.20154C10.3795 0.328435 10.9464 0.526242 11.4909 0.794962C12.0354 1.06368 12.5538 1.39585 13.0462 1.79146C13.531 2.17961 13.9711 2.63494 14.3664 3.15745Z\" })));\n }\n}\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { PivotStyles } from \"@microsoft/fast-components-styles-msft\";\nimport pivotSchema from \"./pivot.schema\";\nimport pivotSchema2 from \"./pivot.schema.2\";\nimport MSFTPivot from \"./pivot\";\nconst Pivot = manageJss(PivotStyles)(MSFTPivot);\nexport { Pivot, pivotSchema, pivotSchema2, };\n","import baseFlatten from './_baseFlatten.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseRest from './_baseRest.js';\nimport baseUniq from './_baseUniq.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\nimport last from './last.js';\n\n/**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\nvar unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2));\n});\n\nexport default unionBy;\n","import React from \"react\";\r\n/**\r\n * Create and export JSSManager consumer/provider components to be used by\r\n * the manageJss HOC and DesignSystemProvider\r\n */\r\nconst designSystemContext = React.createContext({});\r\nconst { Provider, Consumer, } = designSystemContext;\r\nexport { Provider, Consumer, designSystemContext };\r\n","/* eslint-disable-next-line @typescript-eslint/no-unused-vars */\r\nimport { create, SheetsManager, SheetsRegistry } from \"jss\";\r\nimport presets from \"jss-preset-default\";\r\n/**\r\n * We should type these more accurately when JSS implements typings, but for now\r\n * we should explicitly type these as any so that projects using the\r\n * \"noImplicitAny\" compiler flag don't throw when they define jss types\r\n * https://github.com/Microsoft/fast/issues/1155\r\n */\r\nconst jss = create(presets());\r\nconst stylesheetManager = new SheetsManager();\r\nconst stylesheetRegistry = new SheetsRegistry();\r\nexport { jss, stylesheetManager, stylesheetRegistry };\r\n","import { mergeWith } from \"lodash-es\";\r\nimport React from \"react\";\r\nimport { designSystemContext } from \"./context\";\r\nimport SheetManager from \"./sheet-manager\";\r\nexport function mergeClassNames(a, b) {\r\n if (typeof a === \"string\" && typeof b === \"string\") {\r\n return a.concat(\" \", b);\r\n }\r\n else if (typeof a === \"string\") {\r\n return a;\r\n }\r\n else if (typeof b === \"string\") {\r\n return b;\r\n }\r\n}\r\nclass JSSManager extends React.Component {\r\n constructor(props, context) {\r\n super(props, context);\r\n /**\r\n * Simple switch to track the initial creation of styles.\r\n * Because the \"styles\" property is abstract and abstract properties\r\n * are not accessible in the constructor, we need to compile styles\r\n * inside the first call of the render function\r\n */\r\n this.hasCreatedIntialStyleSheets = false;\r\n this.index = JSSManager.index -= 1;\r\n this.designSystem = context;\r\n }\r\n /**\r\n * Sets the JSS instance used by all JSSManger instances\r\n */\r\n static set jss(instance) {\r\n JSSManager.sheetManager.jss = instance;\r\n }\r\n /**\r\n * Get the JSS instance used by all JSSManger instances\r\n */\r\n static get jss() {\r\n return JSSManager.sheetManager.jss;\r\n }\r\n static subscribe(subscriber) {\r\n return JSSManager.sheetManager.subscribe(subscriber);\r\n }\r\n static unsubscribe(subscriber) {\r\n JSSManager.sheetManager.unsubscribe(subscriber);\r\n }\r\n render() {\r\n if (!this.hasCreatedIntialStyleSheets) {\r\n if (this.styles) {\r\n const options = {\r\n meta: this.managedComponent.displayName || this.managedComponent.name,\r\n index: this.index,\r\n };\r\n if (typeof JSSManager.createGenerateClassName === \"function\") {\r\n options.generateClassName = JSSManager.createGenerateClassName(this.designSystem);\r\n }\r\n JSSManager.sheetManager.add(this.styles, this.designSystem, options);\r\n }\r\n if (this.props.jssStyleSheet) {\r\n this.createPropStyleSheet();\r\n }\r\n this.hasCreatedIntialStyleSheets = true;\r\n }\r\n return React.createElement(this.managedComponent, this.managedComponentProps());\r\n }\r\n componentDidUpdate(prevProps) {\r\n const hasSheetProps = !!this.props.jssStyleSheet;\r\n const hadSheetProps = !!prevProps.jssStyleSheet;\r\n if (this.designSystem !== this.context) {\r\n if (this.styles) {\r\n JSSManager.sheetManager.update(this.styles, this.designSystem, this.context);\r\n this.forceUpdate();\r\n }\r\n if (hadSheetProps && hasSheetProps) {\r\n if (prevProps.jssStyleSheet === this.props.jssStyleSheet) {\r\n JSSManager.sheetManager.update(this.props.jssStyleSheet, this.designSystem, this.context);\r\n }\r\n else {\r\n JSSManager.sheetManager.remove(prevProps.jssStyleSheet, this.designSystem);\r\n this.createPropStyleSheet(this.context);\r\n }\r\n this.forceUpdate();\r\n }\r\n else if (hadSheetProps && !hasSheetProps) {\r\n JSSManager.sheetManager.remove(prevProps.jssStyleSheet, this.designSystem);\r\n }\r\n else if (!hadSheetProps && hasSheetProps) {\r\n this.createPropStyleSheet(this.context);\r\n this.forceUpdate();\r\n }\r\n this.designSystem = this.context;\r\n }\r\n else if (hadSheetProps &&\r\n hasSheetProps &&\r\n prevProps.jssStyleSheet !== this.props.jssStyleSheet) {\r\n JSSManager.sheetManager.remove(prevProps.jssStyleSheet, this.designSystem);\r\n this.createPropStyleSheet();\r\n this.forceUpdate();\r\n }\r\n if (hadSheetProps && !hasSheetProps) {\r\n JSSManager.sheetManager.remove(prevProps.jssStyleSheet, this.designSystem);\r\n }\r\n else if (!hadSheetProps && hasSheetProps) {\r\n this.createPropStyleSheet();\r\n this.forceUpdate();\r\n }\r\n }\r\n componentWillUnmount() {\r\n if (this.styles) {\r\n JSSManager.sheetManager.remove(this.styles, this.designSystem);\r\n }\r\n if (this.props.jssStyleSheet) {\r\n JSSManager.sheetManager.remove(this.props.jssStyleSheet, this.designSystem);\r\n }\r\n JSSManager.index++;\r\n // reset style creation tracker in case the instance is re-used\r\n this.hasCreatedIntialStyleSheets = false;\r\n }\r\n /**\r\n * Return the JSSStyleSheet associated with the current designSystem and style\r\n */\r\n primaryStyleSheet() {\r\n if (this.styles) {\r\n return JSSManager.sheetManager.get(this.styles, this.designSystem);\r\n }\r\n }\r\n /**\r\n * Return the JSSStylesheet associated with the jssStyleSheet prop\r\n */\r\n secondaryStyleSheet() {\r\n if (this.props.jssStyleSheet) {\r\n return JSSManager.sheetManager.get(this.props.jssStyleSheet, this.designSystem);\r\n }\r\n }\r\n /**\r\n * Generate a prop object to give to the managed component\r\n */\r\n managedComponentProps() {\r\n const props = Object.assign(Object.assign({}, this.props), { managedClasses: this.getManagedClassNames(), ref: this.props.innerRef });\r\n delete props.jssStyleSheet;\r\n delete props.innerRef;\r\n return props;\r\n }\r\n /**\r\n * Returns the classes to pass down to the managed component\r\n */\r\n getManagedClassNames() {\r\n let primaryClasses = {};\r\n let secondaryClasses = {};\r\n const primarySheet = this.primaryStyleSheet();\r\n const secondarySheet = this.secondaryStyleSheet();\r\n if (!!primarySheet && primarySheet.hasOwnProperty(\"classes\")) {\r\n primaryClasses = Object.assign({}, primarySheet.classes);\r\n }\r\n if (!!secondarySheet && secondarySheet.hasOwnProperty(\"classes\")) {\r\n secondaryClasses = Object.assign({}, secondarySheet.classes);\r\n }\r\n return mergeWith(primaryClasses, secondaryClasses, mergeClassNames);\r\n }\r\n createPropStyleSheet(designSystem = this.designSystem) {\r\n const stylesheet = this.primaryStyleSheet();\r\n const options = {\r\n meta: `${this.managedComponent.displayName || this.managedComponent.name} - jssStyleSheet`,\r\n index: stylesheet ? stylesheet.options.index + 1 : this.index + 1,\r\n };\r\n if (typeof JSSManager.createGenerateClassName === \"function\") {\r\n options.generateClassName = JSSManager.createGenerateClassName(designSystem);\r\n }\r\n JSSManager.sheetManager.add(this.props.jssStyleSheet, designSystem, options);\r\n }\r\n}\r\n/**\r\n * Define the contextType for the manager to be the design system context\r\n */\r\nJSSManager.contextType = designSystemContext;\r\n/**\r\n * JSS allows us to use an index to order the created style elements. The higher the index,\r\n * the later in the document the style element will be created.\r\n *\r\n * This static index allows us to globally track every stylesheet created by the JSSManager. Each\r\n * instance decrements this index and assigns itself the decremented value. The effect of this is that\r\n * a React parent will always have a higher index than it's children because react constructs trees\r\n * recursively starting at the root. With a parent always having a higher index then it's children,\r\n * we can inform JSS of this order preference and ensure parent stylesheets always come later in the DOM.\r\n *\r\n * Inspiration for this approach to style element ordering comes from\r\n * https://github.com/cssinjs/react-jss/blob/master/src/injectSheet.js\r\n */\r\nJSSManager.index = -1000;\r\n/**\r\n * Manages stylesheets\r\n */\r\nJSSManager.sheetManager = new SheetManager();\r\nexport { JSSManager };\r\n","import { jss, stylesheetRegistry } from \"./jss\";\r\n/**\r\n * A class for managing instance of stylesheets. The SheetManager\r\n * tracks and associates compiled stylesheets with their style/design-system inputs,\r\n * as well as tracking number of times a style/design-system combination has been used.\r\n * Tracking this allows us to memoize compiled stylesheets and only compile a new sheet\r\n * when one does not already exist.\r\n */\r\nexport default class SheetManager {\r\n constructor() {\r\n this.jss = jss;\r\n this.registry = new WeakMap();\r\n }\r\n /**\r\n * Creates a new JSS stylesheet from a stylesheet and design-system.\r\n * If a JSS style sheet has been created with this stylesheet and design system already,\r\n * then simply track that another instance has been added\r\n */\r\n add(styles, designSystem, options) {\r\n const tracker = this.getTracker(styles, designSystem);\r\n if (Array.isArray(tracker)) {\r\n tracker[1]++;\r\n return;\r\n }\r\n let designSystemRegistry = this.registry.get(styles);\r\n if (designSystemRegistry === undefined) {\r\n // If we don't have any design system instances for the current stylesheet,\r\n // we need to create a new map to store them\r\n designSystemRegistry = new WeakMap();\r\n this.registry.set(styles, designSystemRegistry);\r\n }\r\n this.registry\r\n .get(styles)\r\n .set(designSystem, [this.createStyleSheet(styles, designSystem, options), 1]);\r\n }\r\n /**\r\n * Return the compiled jss stylesheet associated with a given style object and design system\r\n */\r\n get(styles, designSystem) {\r\n const tracker = this.getTracker(styles, designSystem);\r\n if (Array.isArray(tracker) && !!tracker[0]) {\r\n return tracker[0];\r\n }\r\n return;\r\n }\r\n /**\r\n * Removes a reference for a stylesheet and designSystem and adds a new reference. Useful\r\n * when the design system changes and the stylesheet should be associated with a new\r\n * design system\r\n */\r\n update(styles, previousDesignSystem, nextDesignSystem) {\r\n const tracker = this.getTracker(styles, previousDesignSystem);\r\n if (!tracker) {\r\n return;\r\n }\r\n /**\r\n * If we only have one sheet and this sheet isn't associated with the next design system, *and* it's an object,\r\n * we can simply update the sheet and move it's reference instead of completely tearing down the sheet and\r\n * re-creating a style element\r\n */\r\n if (tracker[1] === 1 &&\r\n !this.get(styles, nextDesignSystem) &&\r\n !!styles &&\r\n typeof styles === \"object\") {\r\n const sheet = tracker[0];\r\n sheet.update(nextDesignSystem);\r\n this.notify(\"update\", sheet);\r\n this.registry.get(styles).delete(previousDesignSystem);\r\n this.registry.get(styles).set(nextDesignSystem, tracker);\r\n }\r\n else {\r\n this.remove(styles, previousDesignSystem);\r\n this.add(styles, nextDesignSystem, tracker[0].options);\r\n }\r\n }\r\n /**\r\n * Reduces the internal count for a stylesheet and designsystem. If the count becomes zero,\r\n * the sheet will be detached\r\n */\r\n remove(styles, designSystem) {\r\n const tracker = this.getTracker(styles, designSystem);\r\n if (Array.isArray(tracker)) {\r\n tracker[1]--;\r\n if (tracker[1] === 0) {\r\n const sheet = tracker[0];\r\n this.jss.removeStyleSheet(sheet);\r\n stylesheetRegistry.remove(sheet);\r\n this.notify(\"remove\", sheet);\r\n this.registry.get(styles).delete(designSystem);\r\n }\r\n }\r\n }\r\n /**\r\n * Returns the number of components using a stylesheet with a designSystem\r\n */\r\n count(styles, designSystem) {\r\n const tracker = this.getTracker(styles, designSystem);\r\n if (Array.isArray(tracker)) {\r\n return tracker[1];\r\n }\r\n return -1;\r\n }\r\n /**\r\n * Removes all entries\r\n */\r\n clean() {\r\n this.registry = new WeakMap();\r\n }\r\n /**\r\n * Retrieve the sheet tracker tracking the styles and design system\r\n */\r\n getTracker(styles, designSystem) {\r\n const designSystemRegistry = this.registry.get(styles);\r\n if (designSystemRegistry instanceof WeakMap) {\r\n const tracker = designSystemRegistry.get(designSystem);\r\n if (Array.isArray(tracker)) {\r\n return tracker;\r\n }\r\n }\r\n }\r\n /**\r\n * Creates a JSS StyleSheet and attaches it to the DOM\r\n */\r\n createStyleSheet(styles, designSystem, options = {}) {\r\n const stylesheet = typeof styles === \"function\" ? styles(designSystem) : styles;\r\n const sheet = this.jss.createStyleSheet(stylesheet, Object.assign({ link: true }, options));\r\n sheet.update(designSystem).attach();\r\n stylesheetRegistry.add(sheet);\r\n this.notify(\"add\", sheet);\r\n return sheet;\r\n }\r\n notify(type, sheet) {\r\n if (Array.isArray(this.subscribers)) {\r\n this.subscribers.forEach((subscriber) => subscriber({ type, sheet }));\r\n }\r\n }\r\n /**\r\n * Subscribe to add, update, and remove events taken by the sheet manager.\r\n * @param subscriber The subscription function to invoke\r\n */\r\n subscribe(subscriber) {\r\n if (!Array.isArray(this.subscribers)) {\r\n this.subscribers = [];\r\n }\r\n if (this.subscribers.indexOf(subscriber) === -1) {\r\n this.subscribers.push(subscriber);\r\n }\r\n return () => {\r\n this.unsubscribe(subscriber);\r\n };\r\n }\r\n unsubscribe(subscriber) {\r\n if (Array.isArray(this.subscribers)) {\r\n const index = this.subscribers.indexOf(subscriber);\r\n if (index !== -1) {\r\n this.subscribers.splice(index, 1);\r\n }\r\n }\r\n }\r\n}\r\n","import { JSSManager } from \"./jss-manager\";\r\n/* eslint-disable-next-line @typescript-eslint/no-var-requires */\r\nconst hoistNonReactStatics = require(\"hoist-non-react-statics\");\r\n/**\r\n * Main entry into the style manager. This function accepts a JSS style object and returns a\r\n * higher order component. That higher-order component can then be used to compose a component\r\n * with styles managed\r\n * @param S - The stylesheet class-name contract\r\n * @param C - The stylesheet design-system configuration object\r\n */\r\nfunction manageJss(styles) {\r\n return function (Component) {\r\n class JSSManagedComponent extends JSSManager {\r\n constructor() {\r\n super(...arguments);\r\n this.styles = styles;\r\n this.managedComponent = Component;\r\n }\r\n }\r\n JSSManagedComponent.displayName = `withJSS(${Component.displayName || Component.name})`;\r\n return hoistNonReactStatics(JSSManagedComponent, Component);\r\n };\r\n}\r\nexport { manageJss };\r\n","import { manageJss } from \"./manage-jss\";\r\nexport default manageJss;\r\nexport { DesignSystemProvider, } from \"./design-system-provider\";\r\nexport { stylesheetRegistry, \r\n/**\r\n * @deprecated\r\n * use JSSManager.jss to access the JSS instance\r\n */\r\njss, } from \"./jss\";\r\nexport { Consumer as DesignSystemConsumer } from \"./context\";\r\nexport { JSSManager, } from \"./jss-manager\";\r\nexport * from \"./design-system-provider\";\r\nexport * from \"@fast/fast-jss-manager\";\r\n","import { parseColorHexRGB } from \"@microsoft/fast-colors\";\nexport const white = \"#FFFFFF\";\nexport const black = \"#000000\";\nexport const accentBaseColor = \"#0078D4\";\nexport const neutralBaseColor = \"#808080\";\n/**\n * @deprecated\n */\nconst paletteConstants = {\n steps: 94,\n clipLight: 0,\n clipDark: 0,\n};\n/**\n * @deprecated\n */\nexport const neutralPaletteConfig = Object.assign({}, paletteConstants);\n/**\n * @deprecated\n */\nexport const accentPaletteConfig = Object.assign(Object.assign({}, paletteConstants), { baseColor: parseColorHexRGB(\"#0078D4\") });\n","import { Direction } from \"@microsoft/fast-web-utilities\";\nimport { withDefaults } from \"@fast/fast-jss-utilities\";\nimport { isFunction } from \"lodash-es\";\nimport { white } from \"../utilities/color/color-constants\";\nimport { accentPalette, neutralPalette } from \"../default-palette\";\nimport designSystemSchema from \"./design-system.schema\";\nexport const defaultFontWeights = {\n light: 100,\n semilight: 200,\n normal: 400,\n semibold: 600,\n bold: 700,\n};\nexport { designSystemSchema };\nconst designSystemDefaults = {\n backgroundColor: white,\n contrast: 0,\n density: 0,\n designUnit: 4,\n baseHeightMultiplier: 8,\n baseHorizontalSpacingMultiplier: 3,\n direction: Direction.ltr,\n cornerRadius: 2,\n elevatedCornerRadius: 4,\n focusOutlineWidth: 2,\n fontWeight: defaultFontWeights,\n disabledOpacity: 0.3,\n outlineWidth: 1,\n neutralPalette,\n accentPalette,\n accentBaseColor: \"#0078D4\",\n /**\n * Recipe Deltas\n */\n accentFillRestDelta: 0,\n accentFillHoverDelta: 4,\n accentFillActiveDelta: -5,\n accentFillFocusDelta: 0,\n accentFillSelectedDelta: 12,\n accentForegroundRestDelta: 0,\n accentForegroundHoverDelta: 6,\n accentForegroundActiveDelta: -4,\n accentForegroundFocusDelta: 0,\n neutralFillRestDelta: 7,\n neutralFillHoverDelta: 10,\n neutralFillActiveDelta: 5,\n neutralFillFocusDelta: 0,\n neutralFillSelectedDelta: 7,\n neutralFillInputRestDelta: 0,\n neutralFillInputHoverDelta: 0,\n neutralFillInputActiveDelta: 0,\n neutralFillInputFocusDelta: 0,\n neutralFillInputSelectedDelta: 0,\n neutralFillStealthRestDelta: 0,\n neutralFillStealthHoverDelta: 5,\n neutralFillStealthActiveDelta: 3,\n neutralFillStealthFocusDelta: 0,\n neutralFillStealthSelectedDelta: 7,\n neutralFillToggleHoverDelta: 8,\n neutralFillToggleActiveDelta: -5,\n neutralFillToggleFocusDelta: 0,\n baseLayerLuminance: -1,\n neutralFillCardDelta: 3,\n neutralForegroundDarkIndex: 93,\n neutralForegroundLightIndex: 0,\n neutralForegroundHoverDelta: 0,\n neutralForegroundActiveDelta: 0,\n neutralForegroundFocusDelta: 0,\n neutralDividerRestDelta: 8,\n neutralOutlineRestDelta: 25,\n neutralOutlineHoverDelta: 40,\n neutralOutlineActiveDelta: 16,\n neutralOutlineFocusDelta: 25,\n};\n/**\n * Ensure that all properties of the DesignSystem are assigned.\n */\nexport const withDesignSystemDefaults = (config) => withDefaults(designSystemDefaults)(config);\n/**\n * Safely retrieves a single property from a DesignSystem.\n * @deprecated Use getDesignSystemValue instead.\n */\nexport function getDesignSystemProperty(key) {\n return function (config) {\n return withDesignSystemDefaults(config)[key];\n };\n}\n/**\n * Returns the argument if basic, otherwise calls the DesignSystemResolver function.\n *\n * @param arg A value or a DesignSystemResolver function\n * @param designSystem The design system config.\n */\nexport function checkDesignSystemResolver(arg, designSystem) {\n return isFunction(arg) ? arg(designSystem) : arg;\n}\n/**\n * Returns a function that calls the callback with designSystemDefaults ensured.\n * @deprecated - use design system property accessor functions instead\n */\nexport function ensureDesignSystemDefaults(callback) {\n return (designSystem) => {\n return callback(withDesignSystemDefaults(designSystem));\n };\n}\nexport default designSystemDefaults;\n","/**\n * DO NOT EDIT THIS FILE DIRECTLY\n * This file generated by fast-components-styles-msft/generate-palettes.js\n */\nexport const neutralPalette = [\n \"#FFFFFF\",\n \"#FCFCFC\",\n \"#FAFAFA\",\n \"#F7F7F7\",\n \"#F5F5F5\",\n \"#F2F2F2\",\n \"#EFEFEF\",\n \"#EDEDED\",\n \"#EAEAEA\",\n \"#E8E8E8\",\n \"#E5E5E5\",\n \"#E2E2E2\",\n \"#E0E0E0\",\n \"#DDDDDD\",\n \"#DBDBDB\",\n \"#D8D8D8\",\n \"#D6D6D6\",\n \"#D3D3D3\",\n \"#D0D0D0\",\n \"#CECECE\",\n \"#CBCBCB\",\n \"#C9C9C9\",\n \"#C6C6C6\",\n \"#C3C3C3\",\n \"#C1C1C1\",\n \"#BEBEBE\",\n \"#BCBCBC\",\n \"#B9B9B9\",\n \"#B6B6B6\",\n \"#B4B4B4\",\n \"#B1B1B1\",\n \"#AFAFAF\",\n \"#ACACAC\",\n \"#A9A9A9\",\n \"#A7A7A7\",\n \"#A4A4A4\",\n \"#A2A2A2\",\n \"#9F9F9F\",\n \"#9D9D9D\",\n \"#9A9A9A\",\n \"#979797\",\n \"#959595\",\n \"#929292\",\n \"#909090\",\n \"#8D8D8D\",\n \"#8A8A8A\",\n \"#888888\",\n \"#858585\",\n \"#838383\",\n \"#808080\",\n \"#7D7D7D\",\n \"#7B7B7B\",\n \"#787878\",\n \"#767676\",\n \"#737373\",\n \"#717171\",\n \"#6E6E6E\",\n \"#6B6B6B\",\n \"#696969\",\n \"#666666\",\n \"#646464\",\n \"#616161\",\n \"#5F5F5F\",\n \"#5C5C5C\",\n \"#5A5A5A\",\n \"#575757\",\n \"#545454\",\n \"#525252\",\n \"#4F4F4F\",\n \"#4D4D4D\",\n \"#4A4A4A\",\n \"#484848\",\n \"#454545\",\n \"#424242\",\n \"#404040\",\n \"#3D3D3D\",\n \"#3B3B3B\",\n \"#383838\",\n \"#363636\",\n \"#333333\",\n \"#313131\",\n \"#2E2E2E\",\n \"#2B2B2B\",\n \"#292929\",\n \"#262626\",\n \"#242424\",\n \"#212121\",\n \"#1E1E1E\",\n \"#1B1B1B\",\n \"#181818\",\n \"#151515\",\n \"#121212\",\n \"#101010\",\n \"#000000\"\n];\nexport const accentPalette = [\n \"#FFFFFF\",\n \"#FBFDFE\",\n \"#F6FAFE\",\n \"#F2F8FD\",\n \"#EEF6FC\",\n \"#E9F4FB\",\n \"#E5F1FB\",\n \"#E1EFFA\",\n \"#DCEDF9\",\n \"#D8EAF8\",\n \"#D4E8F8\",\n \"#CFE6F7\",\n \"#CBE4F6\",\n \"#C7E1F6\",\n \"#C2DFF5\",\n \"#BEDDF4\",\n \"#BADAF3\",\n \"#B6D8F3\",\n \"#B1D6F2\",\n \"#ADD4F1\",\n \"#A9D1F0\",\n \"#A4CFF0\",\n \"#A0CDEF\",\n \"#9CCAEE\",\n \"#97C8EE\",\n \"#93C6ED\",\n \"#8FC4EC\",\n \"#8AC1EB\",\n \"#86BFEB\",\n \"#82BDEA\",\n \"#7DBAE9\",\n \"#79B8E8\",\n \"#75B6E8\",\n \"#70B3E7\",\n \"#6CB1E6\",\n \"#68AFE5\",\n \"#63ADE5\",\n \"#5FAAE4\",\n \"#5BA8E3\",\n \"#56A6E3\",\n \"#52A3E2\",\n \"#4EA1E1\",\n \"#499FE0\",\n \"#459DE0\",\n \"#419ADF\",\n \"#3D98DE\",\n \"#3896DD\",\n \"#3493DD\",\n \"#3091DC\",\n \"#2B8FDB\",\n \"#278DDB\",\n \"#238ADA\",\n \"#1E88D9\",\n \"#1A86D8\",\n \"#1683D8\",\n \"#1181D7\",\n \"#0D7FD6\",\n \"#097DD5\",\n \"#047AD5\",\n \"#0078D4\",\n \"#0075CF\",\n \"#0072C9\",\n \"#006FC4\",\n \"#006CBE\",\n \"#0069B9\",\n \"#0066B4\",\n \"#0063AE\",\n \"#0060A9\",\n \"#005CA3\",\n \"#00599E\",\n \"#005699\",\n \"#005393\",\n \"#00508E\",\n \"#004D88\",\n \"#004A83\",\n \"#00477D\",\n \"#004478\",\n \"#004173\",\n \"#003E6D\",\n \"#003B68\",\n \"#003862\",\n \"#00355D\",\n \"#003258\",\n \"#002F52\",\n \"#002B4D\",\n \"#002847\",\n \"#002542\",\n \"#00223C\",\n \"#001F36\",\n \"#001B30\",\n \"#00182B\",\n \"#001525\",\n \"#00121F\",\n \"#000000\"\n];\n","import designSystemDefaults from \"../design-system\";\n/**\n * Safely retrieves the value from a key of the DesignSystem.\n */\nexport function getDesignSystemValue(key) {\n return (designSystem) => {\n return designSystem && designSystem[key] !== undefined\n ? designSystem[key]\n : designSystemDefaults[key];\n };\n}\n/**\n * Retrieve the backgroundColor when invoked with a DesignSystem\n */\nexport const backgroundColor = getDesignSystemValue(\"backgroundColor\");\n/**\n * Retrieve the accentBaseColor when invoked with a DesignSystem\n */\nexport const accentBaseColor = getDesignSystemValue(\"accentBaseColor\");\n/**\n * Retrieve the cornerRadius when invoked with a DesignSystem\n */\nexport const cornerRadius = getDesignSystemValue(\"cornerRadius\");\n/**\n * Retrieve the elevatedCornerRadius when invoked with a DesignSystem\n */\nexport const elevatedCornerRadius = getDesignSystemValue(\"elevatedCornerRadius\");\n/**\n * Retrieve the neutral palette from the design system\n */\nexport const neutralPalette = getDesignSystemValue(\"neutralPalette\");\n/**\n * Retrieve the accent palette from the design system\n */\nexport const accentPalette = getDesignSystemValue(\"accentPalette\");\n/**\n * Retrieve the contrast from the design system\n */\nexport const contrast = getDesignSystemValue(\"contrast\");\n/**\n * Retrieve the designUnit from the design system\n */\nexport const designUnit = getDesignSystemValue(\"designUnit\");\n/**\n * Retrieve the baseHeightMultiplier from the design system\n */\nexport const baseHeightMultiplier = getDesignSystemValue(\"baseHeightMultiplier\");\n/**\n * Retrieve the baseHorizontalSpacingMultiplier from the design system\n */\nexport const baseHorizontalSpacingMultiplier = getDesignSystemValue(\"baseHorizontalSpacingMultiplier\");\n/**\n * Retrieve the direction from the design system\n */\nexport const direction = getDesignSystemValue(\"direction\");\n/**\n * Retrieve the outlineWidth from the design system\n */\nexport const outlineWidth = getDesignSystemValue(\"outlineWidth\");\n/**\n * Retrieve the focusOutlineWidth from the design system\n */\nexport const focusOutlineWidth = getDesignSystemValue(\"focusOutlineWidth\");\n/**\n * Retrieve the direction from the design system\n */\nexport const disabledOpacity = getDesignSystemValue(\"disabledOpacity\");\nexport const accentFillRestDelta = getDesignSystemValue(\"accentFillRestDelta\");\nexport const accentFillHoverDelta = getDesignSystemValue(\"accentFillHoverDelta\");\nexport const accentFillActiveDelta = getDesignSystemValue(\"accentFillActiveDelta\");\nexport const accentFillFocusDelta = getDesignSystemValue(\"accentFillFocusDelta\");\nexport const accentFillSelectedDelta = getDesignSystemValue(\"accentFillSelectedDelta\");\nexport const accentForegroundRestDelta = getDesignSystemValue(\"accentForegroundRestDelta\");\nexport const accentForegroundHoverDelta = getDesignSystemValue(\"accentForegroundHoverDelta\");\nexport const accentForegroundActiveDelta = getDesignSystemValue(\"accentForegroundActiveDelta\");\nexport const accentForegroundFocusDelta = getDesignSystemValue(\"accentForegroundFocusDelta\");\nexport const neutralFillRestDelta = getDesignSystemValue(\"neutralFillRestDelta\");\nexport const neutralFillHoverDelta = getDesignSystemValue(\"neutralFillHoverDelta\");\nexport const neutralFillActiveDelta = getDesignSystemValue(\"neutralFillActiveDelta\");\nexport const neutralFillFocusDelta = getDesignSystemValue(\"neutralFillFocusDelta\");\nexport const neutralFillSelectedDelta = getDesignSystemValue(\"neutralFillSelectedDelta\");\nexport const neutralFillInputRestDelta = getDesignSystemValue(\"neutralFillInputRestDelta\");\nexport const neutralFillInputHoverDelta = getDesignSystemValue(\"neutralFillInputHoverDelta\");\nexport const neutralFillInputActiveDelta = getDesignSystemValue(\"neutralFillInputActiveDelta\");\nexport const neutralFillInputFocusDelta = getDesignSystemValue(\"neutralFillInputFocusDelta\");\nexport const neutralFillInputSelectedDelta = getDesignSystemValue(\"neutralFillInputSelectedDelta\");\nexport const neutralFillStealthRestDelta = getDesignSystemValue(\"neutralFillStealthRestDelta\");\nexport const neutralFillStealthHoverDelta = getDesignSystemValue(\"neutralFillStealthHoverDelta\");\nexport const neutralFillStealthActiveDelta = getDesignSystemValue(\"neutralFillStealthActiveDelta\");\nexport const neutralFillStealthFocusDelta = getDesignSystemValue(\"neutralFillStealthFocusDelta\");\nexport const neutralFillStealthSelectedDelta = getDesignSystemValue(\"neutralFillStealthSelectedDelta\");\nexport const neutralFillToggleHoverDelta = getDesignSystemValue(\"neutralFillToggleHoverDelta\");\nexport const neutralFillToggleActiveDelta = getDesignSystemValue(\"neutralFillToggleActiveDelta\");\nexport const neutralFillToggleFocusDelta = getDesignSystemValue(\"neutralFillToggleFocusDelta\");\nexport const baseLayerLuminance = getDesignSystemValue(\"baseLayerLuminance\");\nexport const neutralFillCardDelta = getDesignSystemValue(\"neutralFillCardDelta\");\n/**\n * @deprecated Neutral foreground is now based on contrast and this is no longer used.\n */\nexport const neutralForegroundDarkIndex = getDesignSystemValue(\"neutralForegroundDarkIndex\");\n/**\n * @deprecated Neutral foreground is now based on contrast and this is no longer used.\n */\nexport const neutralForegroundLightIndex = getDesignSystemValue(\"neutralForegroundLightIndex\");\nexport const neutralForegroundHoverDelta = getDesignSystemValue(\"neutralForegroundHoverDelta\");\nexport const neutralForegroundActiveDelta = getDesignSystemValue(\"neutralForegroundActiveDelta\");\nexport const neutralForegroundFocusDelta = getDesignSystemValue(\"neutralForegroundFocusDelta\");\nexport const neutralDividerRestDelta = getDesignSystemValue(\"neutralDividerRestDelta\");\nexport const neutralOutlineRestDelta = getDesignSystemValue(\"neutralOutlineRestDelta\");\nexport const neutralOutlineHoverDelta = getDesignSystemValue(\"neutralOutlineHoverDelta\");\nexport const neutralOutlineActiveDelta = getDesignSystemValue(\"neutralOutlineActiveDelta\");\nexport const getFontWeight = getDesignSystemValue(\"fontWeight\");\nexport const neutralOutlineFocusDelta = getDesignSystemValue(\"neutralOutlineFocusDelta\");\n","import { contrastRatio, isColorStringHexRGB, isColorStringWebRGB, parseColorHexRGB, parseColorWebRGB, rgbToRelativeLuminance, } from \"@microsoft/fast-colors\";\nimport { memoize } from \"lodash-es\";\n/**\n * The states that a swatch can have\n */\nexport var SwatchFamilyType;\n(function (SwatchFamilyType) {\n SwatchFamilyType[\"rest\"] = \"rest\";\n SwatchFamilyType[\"hover\"] = \"hover\";\n SwatchFamilyType[\"active\"] = \"active\";\n SwatchFamilyType[\"focus\"] = \"focus\";\n SwatchFamilyType[\"selected\"] = \"selected\";\n})(SwatchFamilyType || (SwatchFamilyType = {}));\nexport function colorRecipeFactory(recipe) {\n const memoizedRecipe = memoize(recipe);\n function curryRecipe(arg) {\n if (typeof arg === \"function\") {\n return (designSystem) => {\n return memoizedRecipe(Object.assign({}, designSystem, {\n backgroundColor: arg(designSystem),\n }));\n };\n }\n else {\n return memoizedRecipe(arg);\n }\n }\n return curryRecipe;\n}\n/**\n * Helper function to transform a SwatchFamilyResolver into simple ColorRecipe for simple use\n * use in stylesheets.\n */\nexport function swatchFamilyToSwatchRecipeFactory(type, callback) {\n const memoizedRecipe = memoize(callback);\n return (arg) => {\n if (typeof arg === \"function\") {\n return (designSystem) => {\n return memoizedRecipe(Object.assign({}, designSystem, {\n backgroundColor: arg(designSystem),\n }))[type];\n };\n }\n else {\n return memoizedRecipe(arg)[type];\n }\n };\n}\n/**\n * Converts a color string into a ColorRGBA64 instance.\n * Supports #RRGGBB and rgb(r, g, b) formats\n */\nexport const parseColorString = memoize((color) => {\n let parsed = parseColorHexRGB(color);\n if (parsed !== null) {\n return parsed;\n }\n parsed = parseColorWebRGB(color);\n if (parsed !== null) {\n return parsed;\n }\n throw new Error(`${color} cannot be converted to a ColorRGBA64. Color strings must be one of the following formats: \"#RGB\", \"#RRGGBB\", or \"rgb(r, g, b)\"`);\n});\n/**\n * Determines if a string value represents a color\n * Supports #RRGGBB and rgb(r, g, b) formats\n */\nexport function isValidColor(color) {\n return isColorStringHexRGB(color) || isColorStringWebRGB(color);\n}\n/**\n * Determines if a color string matches another color.\n * Supports #RRGGBB and rgb(r, g, b) formats\n */\nexport function colorMatches(a, b) {\n return parseColorString(a).equalValue(parseColorString(b));\n}\n/**\n * Returns the contrast value between two color strings.\n * Supports #RRGGBB and rgb(r, g, b) formats.\n */\nexport const contrast = memoize((a, b) => {\n return contrastRatio(parseColorString(a), parseColorString(b));\n}, (a, b) => a + b);\n/**\n * Returns the relative luminance of a color. If the value is not a color, -1 will be returned\n * Supports #RRGGBB and rgb(r, g, b) formats\n */\nexport function luminance(color) {\n return rgbToRelativeLuminance(parseColorString(color));\n}\nexport function designSystemResolverMax(...args) {\n return (designSystem) => Math.max.apply(null, args.map((fn) => fn(designSystem)));\n}\nexport const clamp = (value, min, max) => Math.min(Math.max(value, min), max);\n","import { checkDesignSystemResolver, } from \"../../design-system\";\nimport { backgroundColor } from \"../../utilities/design-system\";\nimport { accentPalette, neutralPalette } from \"../design-system\";\nimport { clamp, colorMatches, contrast, isValidColor, luminance, } from \"./common\";\n/**\n * The named palettes of the MSFT design system\n * @deprecated - use neutralPalette and accentPalette functions instead\n */\nexport var PaletteType;\n(function (PaletteType) {\n PaletteType[\"neutral\"] = \"neutral\";\n PaletteType[\"accent\"] = \"accent\";\n})(PaletteType || (PaletteType = {}));\n/**\n * Retrieves a palette by name. This function returns a function that accepts\n * a design system, returning a palette a palette or null\n * @deprecated - use neutralPalette and accentPalette functions instead\n */\nexport function palette(paletteType) {\n return (designSystem) => {\n switch (paletteType) {\n case PaletteType.accent:\n return accentPalette(designSystem);\n case PaletteType.neutral:\n default:\n return neutralPalette(designSystem);\n }\n };\n}\n/**\n * A function to find the index of a swatch in a specified palette. If the color is found,\n * otherwise it will return -1\n */\nexport function findSwatchIndex(paletteResolver, swatch) {\n return (designSystem) => {\n if (!isValidColor(swatch)) {\n return -1;\n }\n const colorPalette = checkDesignSystemResolver(paletteResolver, designSystem);\n const index = colorPalette.indexOf(swatch);\n // If we don't find the string exactly, it might be because of color formatting differences\n return index !== -1\n ? index\n : colorPalette.findIndex((paletteSwatch) => {\n return (isValidColor(paletteSwatch) && colorMatches(swatch, paletteSwatch));\n });\n };\n}\n/**\n * Returns the closest swatch in a palette to an input swatch.\n * If the input swatch cannot be converted to a color, 0 will be returned\n */\nexport function findClosestSwatchIndex(paletteResolver, swatch) {\n return (designSystem) => {\n const resolvedPalette = checkDesignSystemResolver(paletteResolver, designSystem);\n const resolvedSwatch = checkDesignSystemResolver(swatch, designSystem);\n const index = findSwatchIndex(resolvedPalette, resolvedSwatch)(designSystem);\n let swatchLuminance;\n if (index !== -1) {\n return index;\n }\n try {\n swatchLuminance = luminance(resolvedSwatch);\n }\n catch (e) {\n swatchLuminance = -1;\n }\n if (swatchLuminance === -1) {\n return 0;\n }\n return resolvedPalette\n .map((mappedSwatch, mappedIndex) => {\n return {\n luminance: luminance(mappedSwatch),\n index: mappedIndex,\n };\n })\n .reduce((previousValue, currentValue) => {\n return Math.abs(currentValue.luminance - swatchLuminance) <\n Math.abs(previousValue.luminance - swatchLuminance)\n ? currentValue\n : previousValue;\n }).index;\n };\n}\n/**\n * Determines if the design-system should be considered in \"dark mode\".\n * We're in dark mode if we have more contrast between #000000 and our background\n * color than #FFFFFF and our background color. That threshold can be expressed as a relative luminance\n * using the contrast formula as (1 + 0.5) / (bg + 0.05) === (bg + 0.05) / (0 + 0.05),\n * which reduces to the following, where bg is the relative luminance of the background color\n */\nexport function isDarkMode(designSystem) {\n return luminance(backgroundColor(designSystem)) <= (-0.1 + Math.sqrt(0.21)) / 2;\n}\n/**\n * Determines if the design-system should be considered in \"light mode\".\n */\nexport function isLightMode(designSystem) {\n return !isDarkMode(designSystem);\n}\nexport function getSwatch(index, colorPalette) {\n if (typeof index === \"function\") {\n return (designSystem) => {\n return colorPalette(designSystem)[clamp(index(designSystem), 0, colorPalette(designSystem).length - 1)];\n };\n }\n else {\n return colorPalette[clamp(index, 0, colorPalette.length - 1)];\n }\n}\nexport function swatchByMode(paletteResolver) {\n return (valueA, valueB) => {\n return (designSystem) => {\n return getSwatch(isDarkMode(designSystem)\n ? checkDesignSystemResolver(valueB, designSystem)\n : checkDesignSystemResolver(valueA, designSystem), paletteResolver(designSystem));\n };\n };\n}\nfunction binarySearch(valuesToSearch, searchCondition, startIndex = 0, endIndex = valuesToSearch.length - 1) {\n if (endIndex === startIndex) {\n return valuesToSearch[startIndex];\n }\n const middleIndex = Math.floor((endIndex - startIndex) / 2) + startIndex;\n // Check to see if this passes on the item in the center of the array\n // if it does check the previous values\n if (searchCondition(valuesToSearch[middleIndex])) {\n return binarySearch(valuesToSearch, searchCondition, startIndex, middleIndex // include this index because it passed the search condition\n );\n }\n else {\n return binarySearch(valuesToSearch, searchCondition, middleIndex + 1, // exclude this index because it failed the search condition\n endIndex);\n }\n}\n// disable type-defs because this a deeply curried function and the call-signature is pretty complicated\n// and typescript can work it out automatically for consumers\n/**\n * Retrieves a swatch from an input palette, where the swatch's contrast against the reference color\n * passes an input condition. The direction to search in the palette is determined by an input condition.\n * Where to begin the search in the palette will be determined another input function that should return the starting index.\n * example: swatchByContrast(\n * \"#FFF\" // compare swatches against \"#FFF\"\n * )(\n * neutralPalette // use the neutral palette from the DesignSystem - since this is a function, it will be evaluated with the DesignSystem\n * )(\n * () => 0 // begin searching for a swatch at the beginning of the neutral palette\n * )(\n * () => 1 // While searching, search in the direction toward the end of the array (-1 moves towards the beginning of the array)\n * )(\n * minContrastTargetFactory(4.5) // A swatch is only valid if the contrast is greater than 4.5\n * )(\n * designSystem // Pass the design-system. The first swatch that passes the previous condition will be returned from this function\n * )\n */\nexport function swatchByContrast(referenceColor) {\n /**\n * A function that expects a function that resolves a palette\n */\n return (paletteResolver) => {\n /**\n * A function that expects a function that resolves the index\n * of the palette that the algorithm should begin looking for a swatch at\n */\n return (indexResolver) => {\n /**\n * A function that expects a function that determines which direction in the\n * palette we should look for a swatch relative to the initial index\n */\n return (directionResolver) => {\n /**\n * A function that expects a function that determines if the contrast\n * between the reference color and color from the palette are acceptable\n */\n return (contrastCondition) => {\n /**\n * A function that accepts a design-system. It resolves all of the curried arguments\n * and loops over the palette until we reach the bounds of the palette or the condition\n * is satisfied. Once either the condition is satisfied or we reach the end of the palette,\n * we return the color\n */\n return (designSystem) => {\n const color = checkDesignSystemResolver(referenceColor, designSystem);\n const sourcePalette = checkDesignSystemResolver(paletteResolver, designSystem);\n const length = sourcePalette.length;\n const initialSearchIndex = clamp(indexResolver(color, sourcePalette, designSystem), 0, length - 1);\n const direction = directionResolver(initialSearchIndex, sourcePalette, designSystem);\n function contrastSearchCondition(valueToCheckAgainst) {\n return contrastCondition(contrast(color, valueToCheckAgainst));\n }\n const constrainedSourcePalette = [].concat(sourcePalette);\n const endSearchIndex = length - 1;\n let startSearchIndex = initialSearchIndex;\n if (direction === -1) {\n // reverse the palette array when the direction that\n // the contrast resolves for is reversed\n constrainedSourcePalette.reverse();\n startSearchIndex = endSearchIndex - startSearchIndex;\n }\n return binarySearch(constrainedSourcePalette, contrastSearchCondition, startSearchIndex, endSearchIndex);\n };\n };\n };\n };\n };\n}\n/**\n * Resolves the index that the contrast search algorithm should start at\n */\nexport function referenceColorInitialIndexResolver(referenceColor, sourcePalette, designSystem) {\n return findClosestSwatchIndex(sourcePalette, referenceColor)(designSystem);\n}\nexport function findClosestBackgroundIndex(designSystem) {\n return findClosestSwatchIndex(neutralPalette, backgroundColor(designSystem))(designSystem);\n}\nexport function minContrastTargetFactory(targetContrast) {\n return (instanceContrast) => instanceContrast >= targetContrast;\n}\n","import { checkDesignSystemResolver, } from \"../../design-system\";\nimport { backgroundColor } from \"../design-system\";\nimport { findSwatchIndex, getSwatch, isDarkMode, minContrastTargetFactory, referenceColorInitialIndexResolver, swatchByContrast, } from \"./palette\";\nfunction indexToSwatchFamily(accessibleIndex, palette, direction, restDelta, hoverDelta, activeDelta, focusDelta) {\n // One of the indexes will be rest, the other will be hover. Depends on the offsets and the direction.\n const accessibleIndex2 = accessibleIndex + direction * Math.abs(restDelta - hoverDelta);\n const indexOneIsRestState = direction === 1\n ? restDelta < hoverDelta\n : direction * restDelta > direction * hoverDelta;\n const restIndex = indexOneIsRestState ? accessibleIndex : accessibleIndex2;\n const hoverIndex = indexOneIsRestState ? accessibleIndex2 : accessibleIndex;\n const activeIndex = restIndex + direction * activeDelta;\n const focusIndex = restIndex + direction * focusDelta;\n return {\n rest: getSwatch(restIndex, palette),\n hover: getSwatch(hoverIndex, palette),\n active: getSwatch(activeIndex, palette),\n focus: getSwatch(focusIndex, palette),\n };\n}\n/**\n * Function to derive accessible colors from contrast and delta configuration.\n * Performs a simple contrast check against the colors and returns\n * the color that has the most contrast against the background. If contrast\n * cannot be retrieved correctly, function returns black.\n */\nexport function accessibleAlgorithm(palette, minContrast, restDelta, hoverDelta, activeDelta, focusDelta) {\n return (designSystem) => {\n const resolvedPalette = checkDesignSystemResolver(palette, designSystem);\n const direction = isDarkMode(designSystem) ? -1 : 1;\n const accessibleSwatch = swatchByContrast(backgroundColor // Compare swatches against the background\n )(resolvedPalette // Use the provided palette\n )(referenceColorInitialIndexResolver // Begin searching from the background color\n )(() => direction // Search direction based on light/dark mode\n )(minContrastTargetFactory(checkDesignSystemResolver(minContrast, designSystem)) // A swatch is only valid if the contrast is greater than indicated\n )(designSystem // Pass the design system\n );\n const accessibleIndex = findSwatchIndex(palette, accessibleSwatch)(designSystem);\n const resolvedRest = checkDesignSystemResolver(restDelta, designSystem);\n const resolvedHover = checkDesignSystemResolver(hoverDelta, designSystem);\n const resolvedActive = checkDesignSystemResolver(activeDelta, designSystem);\n const resolvedFocus = checkDesignSystemResolver(focusDelta, designSystem);\n return indexToSwatchFamily(accessibleIndex, resolvedPalette, direction, resolvedRest, resolvedHover, resolvedActive, resolvedFocus);\n };\n}\n","import { neutralPalette } from \"../design-system\";\nimport { colorRecipeFactory, swatchFamilyToSwatchRecipeFactory, SwatchFamilyType, } from \"./common\";\nimport { accessibleAlgorithm } from \"./accessible-recipe\";\nfunction neutralForegroundHintAlgorithm(targetContrast) {\n return accessibleAlgorithm(neutralPalette, targetContrast, 0, 0, 0, 0);\n}\n/**\n * Hint text for normal sized text, less than 18pt normal weight\n */\nexport const neutralForegroundHint = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, colorRecipeFactory(neutralForegroundHintAlgorithm(4.5)));\n/**\n * Hint text for large sized text, greater than 18pt or 16pt and bold\n */\nexport const neutralForegroundHintLarge = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, colorRecipeFactory(neutralForegroundHintAlgorithm(3)));\n","import { isFunction } from \"lodash-es\";\r\nexport function toUnit(unit = \"px\") {\r\n return (value) => value + unit;\r\n}\r\nconst withPx = toUnit();\r\nexport function toPx(arg) {\r\n return isFunction(arg)\r\n ? (designSystem) => {\r\n return withPx(arg(designSystem));\r\n }\r\n : withPx(arg);\r\n}\r\n","import { toPx, toUnit } from \"@fast/fast-jss-utilities\";\nimport { checkDesignSystemResolver, } from \"../design-system\";\nimport { getDesignSystemValue } from \"../utilities/design-system\";\nimport { baseHeightMultiplier, baseHorizontalSpacingMultiplier, designUnit, } from \"../utilities/design-system\";\nexport var DensityCategory;\n(function (DensityCategory) {\n DensityCategory[\"compact\"] = \"compact\";\n DensityCategory[\"normal\"] = \"normal\";\n DensityCategory[\"spacious\"] = \"spacious\";\n})(DensityCategory || (DensityCategory = {}));\n/**\n * Returns the component height as a number.\n *\n * @param lines The logical number of lines the component takes, typically 1.\n */\nexport function heightNumber(lines = 1) {\n return (designSystem) => {\n return ((baseHeightMultiplier(designSystem) +\n getDesignSystemValue(\"density\")(designSystem)) *\n designUnit(designSystem) *\n lines);\n };\n}\n/**\n * Returns the component height formatted in the provided unit or px by default.\n *\n * @param lines The logical number of lines the component takes, typically 1.\n * @param unit The unit of measurement; px by default.\n */\nexport function height(lines = 1, unit) {\n return (designSystem) => toUnit(unit)(heightNumber(lines)(designSystem));\n}\n/**\n * Returns the higher-level category for the density setting.\n *\n * @param designSystem The design system config.\n */\nexport function getDensityCategory(designSystem) {\n const densityValue = getDesignSystemValue(\"density\")(designSystem);\n return densityValue >= 2\n ? DensityCategory.spacious\n : densityValue <= -2\n ? DensityCategory.compact\n : DensityCategory.normal;\n}\n/**\n * Returns a value based on the higher-level category for the density setting.\n * Used to adjust things like type size and sizing that is based on the category rather than individual density.\n *\n * @param compactValue The adjustment when the category is \"compact\"\n * @param normalValue The adjustment when the category is \"normal\"\n * @param spaciousValue The adjustment when the category is \"spacious\"\n */\nexport function densityCategorySwitch(compactValue, normalValue, spaciousValue) {\n return (designSystem) => {\n const category = getDensityCategory(designSystem);\n return checkDesignSystemResolver(category === DensityCategory.compact\n ? compactValue\n : category === DensityCategory.spacious\n ? spaciousValue\n : normalValue, designSystem);\n };\n}\n/**\n * Returns the standard horizontal spacing for text and icons as a number.\n *\n * @param adjustment Any border that should be removed from the overall content spacing.\n */\nexport function horizontalSpacingNumber(adjustment = 0) {\n return (designSystem) => {\n return ((baseHorizontalSpacingMultiplier(designSystem) +\n densityCategorySwitch(-1, 0, 1)(designSystem)) *\n designUnit(designSystem) -\n adjustment);\n };\n}\n/**\n * Returns the standard horizontal spacing for text and icons formatted in the provided unit or px by default.\n *\n * @param adjustment Any border that should be removed from the overall content spacing.\n * @param unit The unit of measurement; px by default.\n */\nexport function horizontalSpacing(adjustment = 0, unit) {\n return (designSystem) => {\n return toUnit(unit)(horizontalSpacingNumber(checkDesignSystemResolver(adjustment, designSystem))(designSystem));\n };\n}\n/**\n * Returns the width and height for an icon as a number.\n */\nexport function glyphSizeNumber(designSystem) {\n const halfDesignUnit = designUnit(designSystem) / 2;\n const sizeOffset = densityCategorySwitch(halfDesignUnit * -1, 0, halfDesignUnit)(designSystem);\n return ((baseHeightMultiplier(designSystem) / 2) * designUnit(designSystem) + sizeOffset);\n}\nexport function glyphSize(arg) {\n return typeof arg === \"string\"\n ? (designSystem) => toUnit(arg)(glyphSizeNumber(designSystem))\n : toPx(glyphSizeNumber(arg));\n}\n/**\n * @deprecated Use height instead.\n * @param value\n * @param unit\n */\nexport function density(value, unit) {\n /* eslint-disable-next-line @typescript-eslint/no-unused-vars */\n return (config) => toUnit(unit)(value * 1);\n}\n","import { toPx } from \"@fast/fast-jss-utilities\";\nimport { clamp } from \"lodash-es\";\nimport { densityCategorySwitch } from \"./density\";\n/**\n * The type ramp configuration\n */\nexport const typeRamp = [\n [60, 72],\n [46, 56],\n [34, 44],\n [28, 36],\n [20, 28],\n [16, 24],\n [14, 20],\n [12, 16],\n [10, 16],\n].reduce((accum, val, index) => Object.assign(accum, {\n [`t${index + 1}`]: { fontSize: val[0], lineHeight: val[1] },\n}), {});\n/*\n * Ensures that a TypeRamp key is in the TypeRamp\n */\nfunction sanitizeTypeRampId(key) {\n return typeRamp.hasOwnProperty(key) ? key : \"t7\";\n}\n/**\n * Scales a typeramp ID by density\n */\nfunction scaleTypeRampId(key) {\n return (designSystem) => {\n const typeConfigNumber = parseInt(key.replace(\"t\", \"\"), 10);\n const densityOffset = densityCategorySwitch(-1, 0, 1)(designSystem);\n const size = clamp(typeConfigNumber - densityOffset, 1, 9);\n return sanitizeTypeRampId(\"t\".concat(size.toString()));\n };\n}\n/**\n * Retrieves the font-size from a TypeRamp ID\n */\nexport function getFontSize(key) {\n return typeRamp[sanitizeTypeRampId(key)].fontSize;\n}\n/**\n * Retrieves the line-height from a TypeRamp ID\n */\nexport function getLineHeight(key) {\n return typeRamp[sanitizeTypeRampId(key)].lineHeight;\n}\n/**\n * Retrieves the formatted font-size from a TypeRamp ID\n */\nexport function applyFontSize(key) {\n return toPx(getFontSize(key));\n}\n/**\n * Retrieves the formatted line-height from a TypeRamp ID\n */\nexport function applyLineHeight(key) {\n return toPx(getLineHeight(key));\n}\n/**\n * Retrieves the font-size from a TypeRamp ID, scaled with the design-system density\n */\nexport function getScaledFontSize(key) {\n return (designSystem) => {\n return getFontSize(scaleTypeRampId(key)(designSystem));\n };\n}\n/**\n * Retrieves the line-height from a TypeRamp ID, scaled with the design-system density\n */\nexport function getScaledLineHeight(key) {\n return (designSystem) => {\n return getLineHeight(scaleTypeRampId(key)(designSystem));\n };\n}\n/**\n * Retrieves the formatted font-size from a TypeRamp ID, scaled with the design-system density\n */\nexport function applyScaledFontSize(key) {\n return (designSystem) => {\n return applyFontSize(scaleTypeRampId(key)(designSystem));\n };\n}\n/**\n * Retrieves the formatted line-height from a TypeRamp ID, scaled with the design-system density\n */\nexport function applyScaledLineHeight(key) {\n return (designSystem) => applyLineHeight(scaleTypeRampId(key)(designSystem));\n}\nfunction applyTypeRampFactory(fontSizeGetter, lineHeightGetter) {\n return (key) => ({\n \"font-size\": fontSizeGetter(key),\n \"line-height\": lineHeightGetter(key),\n });\n}\n/**\n * Applies font size and line-height properties from the typeramp\n */\nexport const applyTypeRamp = applyTypeRampFactory(applyFontSize, applyLineHeight);\n/**\n * Applies font size and line-height from the type ramp, scaled with design system density\n */\nexport const applyScaledTypeRamp = applyTypeRampFactory(applyScaledFontSize, applyScaledLineHeight);\n/**\n * Takes a param of type ramp key (string) and returns a type ramp configuration\n * @deprecated - please use applyTypeRamp\n */\nexport const applyTypeRampConfig = applyTypeRamp;\n","import { neutralForegroundActiveDelta, neutralForegroundFocusDelta, neutralForegroundHoverDelta, neutralPalette, } from \"../design-system\";\nimport { colorRecipeFactory, swatchFamilyToSwatchRecipeFactory, SwatchFamilyType, } from \"./common\";\nimport { accessibleAlgorithm } from \"./accessible-recipe\";\nexport const neutralForeground = colorRecipeFactory(accessibleAlgorithm(neutralPalette, 14, 0, neutralForegroundHoverDelta, neutralForegroundActiveDelta, neutralForegroundFocusDelta));\nexport const neutralForegroundRest = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.rest, neutralForeground);\nexport const neutralForegroundHover = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.hover, neutralForeground);\nexport const neutralForegroundActive = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.active, neutralForeground);\nexport const neutralForegroundFocus = swatchFamilyToSwatchRecipeFactory(SwatchFamilyType.focus, neutralForeground);\n","/**\r\n * Expose ltr and rtl strings\r\n */\r\nexport var Direction;\r\n(function (Direction) {\r\n Direction[\"ltr\"] = \"ltr\";\r\n Direction[\"rtl\"] = \"rtl\";\r\n})(Direction || (Direction = {}));\r\n/**\r\n * Localizes top/left/bottom/right formatted arguments, such as the format used by CSS's padding and margin\r\n * properties.\r\n * eg. when dir is RTL, \"2px 3px 4px 5px\" -> \"2px 5px 4px 3px\"\r\n */\r\nexport function localizeSpacing(dir) {\r\n return (value) => {\r\n if (typeof value !== \"string\") {\r\n return \"\";\r\n }\r\n const space = \" \";\r\n const split = value.split(space);\r\n return split.length !== 4\r\n ? value\r\n : dir === Direction.rtl\r\n ? [split[0], split[3], split[2], split[1]].join(space)\r\n : value;\r\n };\r\n}\r\n/**\r\n * Returns a css property based on a given direction value\r\n */\r\nexport function applyLocalizedProperty(ltrProperty, rtlProperty, dir) {\r\n return dir === Direction.ltr ? ltrProperty : rtlProperty;\r\n}\r\n/**\r\n * Utility for returning one of two values, where the predicate is the\r\n * direction property on the design-system. If provided values are functions,\r\n * the function will return the return value of the function invoked with\r\n * the design system\r\n */\r\nexport function directionSwitch(ltr, rtl) {\r\n return (designSystem) => {\r\n const dir = designSystem && designSystem.direction\r\n ? designSystem.direction\r\n : Direction.ltr;\r\n const value = dir === Direction.rtl ? rtl : ltr;\r\n return typeof value === \"function\"\r\n ? value(designSystem)\r\n : value;\r\n };\r\n}\r\n","import { isString } from \"lodash-es\";\r\nexport function format(value, ...args) {\r\n return (designSystem) => {\r\n return args.reduce((reducedValue, currentValue, index) => {\r\n return reducedValue.replace(new RegExp(`\\\\{${index}\\\\}`, \"g\"), currentValue(designSystem));\r\n }, value);\r\n };\r\n}\r\nexport function toString(resolver) {\r\n return (designSystem) => String(resolver(designSystem));\r\n}\r\nexport function important(value) {\r\n return isString(value)\r\n ? `${value} !important`\r\n : (arg) => important(value(arg));\r\n}\r\n","import { canUseFocusVisible } from \"@microsoft/fast-web-utilities\";\r\n/**\r\n * Returns the selector for the browser native :focus-visible implementation\r\n */\r\nexport function applyFocusVisibleSelector(selector = \"\") {\r\n return `&:focus-visible${selector}`;\r\n}\r\n/**\r\n * Returns the selector for the focus-visible polyfill\r\n */\r\nexport function applyFocusVisiblePolyfillSelector(selector = \"\") {\r\n return `body:not(.js-focus-visible) &:focus${selector}, .js-focus-visible &.focus-visible${selector}, .js-focus-visible [data-focus-visible-added]&${selector}`;\r\n}\r\nexport function applyFocusVisible(a, b) {\r\n let styles;\r\n let selector;\r\n if (typeof a === \"object\" && a !== null) {\r\n selector = \"\";\r\n styles = a;\r\n }\r\n else if (typeof a === \"string\") {\r\n selector = a;\r\n styles = b;\r\n }\r\n else {\r\n return {};\r\n }\r\n return Object.assign({\r\n \"&:focus\": {\r\n outline: \"none\",\r\n },\r\n }, canUseFocusVisible()\r\n ? {\r\n [applyFocusVisibleSelector(selector)]: styles,\r\n }\r\n : {\r\n [applyFocusVisiblePolyfillSelector(selector)]: styles,\r\n });\r\n}\r\n","import { neutralForegroundRest, neutralForegroundHint, applyScaledTypeRamp, backgroundColor, } from \"@fast/fast-components-styles-msft\";\nimport { applyFocusVisible, directionSwitch, format } from \"@fast/fast-jss-utilities\";\nconst styles = {\n contentCard: {\n display: \"flex\",\n position: \"relative\",\n width: \"auto\",\n \"box-sizing\": \"border-box\",\n \"flex-direction\": \"column\",\n outline: \"none\",\n height: \"100%\",\n overflow: \"hidden\",\n },\n contentCard_body: {\n display: \"grid\",\n \"justify-content\": \"center\",\n \"row-gap\": \"8px\",\n \"column-gap\": \"10px\",\n \"grid-template-columns\": \"1fr auto\",\n \"grid-template-rows\": \"auto\",\n position: \"relative\",\n },\n contentCard__default: {\n \"& $contentCard_abstract\": {\n display: \"none\",\n },\n \"& $contentCard_body, $contentCard__hasAbstract\": {\n display: \"block\",\n },\n \"& $contentCard_mediaWrapper\": {\n float: directionSwitch(\"right\", \"left\"),\n },\n \"& $contentCard__hasAbstract\": {\n \"& $contentCard_mediaWrapper\": {\n \"margin-inline-start\": \"16px\",\n },\n \"& $contentCard_abstract\": {\n display: \"block\",\n padding: \"0 16px 16px 16px\",\n },\n },\n \"& $contentCard__hasAbstractFooter\": {\n position: \"absolute\",\n bottom: \"0\",\n right: \"0\",\n left: \"0\",\n background: backgroundColor,\n \"box-shadow\": format(\"0px -25px 15px {0}\", backgroundColor),\n },\n },\n contentCard_footer: {\n position: \"relative\",\n \"padding-inline-start\": \"16px\",\n \"padding-inline-end\": \"16px\",\n \"padding-top\": \"0\",\n \"padding-bottom\": \"6px\",\n \"margin-top\": \"auto\",\n display: \"flex\",\n \"flex-direction\": \"row\",\n \"align-items\": \"center\",\n \"justify-content\": \"space-between\",\n color: neutralForegroundHint,\n fill: neutralForegroundHint,\n },\n contentCard_footer__hidden: {\n display: \"none\",\n },\n contentCard_headingContainer: {\n \"grid-row\": \"1\",\n display: \"flex\",\n \"flex-direction\": \"column\",\n \"padding-inline-start\": \"16px\",\n \"padding-inline-end\": \"16px\",\n \"padding-bottom\": \"0\",\n \"padding-top\": \"16px\",\n },\n contentCard__condensed: {\n \"& $contentCard_body\": {\n \"row-gap\": \"0\",\n },\n \"& $contentCard_footer\": {\n \"grid-row\": \"2\",\n \"grid-column\": \"1\",\n \"padding-inline-start\": \"16px\",\n \"padding-bottom\": \"0\",\n },\n \"& $contentCard_mediaWrapper\": {\n position: \"relative\",\n \"grid-row\": \"1 / span 2\",\n },\n \"& $contentCard_heading\": Object.assign(Object.assign({}, applyScaledTypeRamp(\"t6\")), { \"-webkit-line-clamp\": \"2\" }),\n },\n contentCard_icon: {\n position: \"absolute\",\n display: \"inline-flex\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"48px\",\n height: \"48px\",\n \"justify-content\": \"center\",\n \"align-items\": \"center\",\n \"border-radius\": \"50%\",\n background: \"rgba(0,0,0,0.4)\",\n margin: \"0 auto\",\n \"& svg\": {\n width: \"24px\",\n height: \"24px\",\n fill: \"#FFF\",\n },\n },\n contentCard_mediaWrapper: {\n position: \"relative\",\n \"grid-row\": \"1\",\n \"grid-column\": \"2\",\n \"margin-inline-end\": \"16px\",\n \"margin-top\": \"16px\",\n height: \"fit-content\",\n },\n contentCard_imagePriority: {\n \"& $contentCard_body\": {\n \"grid-template-columns\": \"1\",\n },\n \"& $contentCard_mediaWrapper\": {\n \"grid-row\": \"1\",\n \"grid-column\": \"span 2\",\n margin: \"0\",\n },\n \"& $contentCard_headingContainer\": {\n \"grid-row\": \"2\",\n \"grid-column\": \"span 2\",\n \"padding-top\": \"4px\",\n \"padding-inline-start\": \"16px\",\n },\n \"& $contentCard_icon\": {\n top: \"initial\",\n left: \"0\",\n transform: \"none\",\n bottom: \"8px\",\n \"margin-bottom\": \"8px\",\n \"margin-inline-start\": \"12px\",\n },\n \"& $contentCard_heading\": Object.assign({}, applyScaledTypeRamp(\"t6\")),\n \"& $contentCard_media\": {\n \"& img\": {\n \"border-radius\": \"0\",\n },\n },\n \"& $contentCard__hasAbstract\": {\n \"& $contentCard_mediaWrapper\": {\n \"margin-inline-start\": \"0\",\n },\n },\n },\n contentCard_abstract: Object.assign(Object.assign({ position: \"relative\", margin: \"0\" }, applyScaledTypeRamp(\"t7\")), { \"font-weight\": \"400\", \"grid-column\": \"span 2\", \"box-sizing\": \"content-box\", color: neutralForegroundHint, padding: \"0 16px\" }),\n contentCard_heading: Object.assign(Object.assign(Object.assign(Object.assign({ \"text-decoration\": \"none\", outline: \"none\", color: neutralForegroundRest }, applyScaledTypeRamp(\"t7\")), { \"font-weight\": \"600\", overflow: \"hidden\", display: \"-webkit-box\", \"-webkit-line-clamp\": \"3\", \"-webkit-box-orient\": \"vertical\", \"&:hover\": {\n \"text-decoration\": \"underline\",\n } }), applyFocusVisible({\n \"text-decoration\": \"underline\",\n })), { \"&::after\": {\n position: \"absolute\",\n content: \"\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n } }),\n contentCard_mask: {\n display: \"none\",\n },\n contentCard__infoPane: {\n color: neutralForegroundRest,\n \"justify-content\": \"flex-end\",\n border: \"none\",\n \"& $contentCard__hasAbstractFooter\": {\n position: \"absolute\",\n bottom: \"0\",\n right: \"0\",\n left: \"0\",\n },\n \"& $contentCard__hasAbstract\": {\n \"grid-template-columns\": \"1fr 1fr\",\n \"& $contentCard_headingContainer\": {\n \"grid-column\": \"1\",\n \"grid-row\": \"1 / span 2\",\n \"padding-inline-start\": \"16px\",\n \"padding-inline-end\": \"0\",\n \"padding-bottom\": \"16px\",\n \"padding-top\": \"8px\",\n },\n \"& $contentCard__hasAbstractFooter\": {\n \"grid-column\": \"2\",\n \"grid-row\": \"2\",\n position: \"relative\",\n },\n },\n \"& $contentCard_headingContainer\": {\n \"grid-column\": \"1\",\n },\n \"& $contentCard_abstract\": {\n \"grid-column\": \"2\",\n color: neutralForegroundRest,\n padding: \"8px 16px 0 16px\",\n },\n \"& $contentCard_mask\": {\n display: \"flex\",\n position: \"absolute\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n background: format(\"linear-gradient(0deg, {0} 0, transparent 40%)\", () => \"#000000\"),\n },\n \"& $contentCard_footer\": {\n \"margin-top\": \"unset\",\n \"grid-row\": \"2\",\n \"grid-column\": \"1 / span 2\",\n \"padding-inline-start\": \"16px\",\n \"padding-inline-end\": \"16px\",\n \"padding-top\": \"4px\",\n },\n \"& $contentCard_heading\": Object.assign(Object.assign({}, applyScaledTypeRamp(\"t6\")), { \"-webkit-line-clamp\": \"2\", color: neutralForegroundRest }),\n },\n contentCard__infoPaneSplitVertical: {\n \"grid-template-columns\": \"304px 1fr\",\n \"grid-template-rows\": \"auto\",\n \"& $contentCard_mediaWrapper\": {\n \"grid-row\": \"1 / span 2\",\n \"grid-column\": \"1\",\n margin: \"0\",\n },\n \"& $contentCard_headingContainer\": {\n \"grid-row\": \"1\",\n \"grid-column\": \"2\",\n \"padding-inline-start\": \"4px\",\n \"padding-inline-end\": \"16px\",\n \"padding-bottom\": \"0\",\n \"padding-top\": \"16px\",\n },\n \"& $contentCard_footer\": {\n \"grid-row\": \"2\",\n \"grid-column\": \"2\",\n \"padding-inline-start\": \"0\",\n \"padding-inline-end\": \"16px\",\n \"padding-top\": \"0\",\n \"padding-bottom\": \"6px\",\n },\n \"& $contentCard_heading\": Object.assign({}, applyScaledTypeRamp(\"t6\")),\n \"& $contentCard_media\": {\n \"& img\": {\n \"border-radius\": \"0\",\n },\n },\n },\n contentCard__infoPaneSplitHorizontal: {\n \"& $contentCard_body\": {\n \"grid-template-columns\": \"1fr 1fr\",\n },\n \"& $contentCard_mediaWrapper\": {\n \"grid-column\": \"1 / span 2\",\n margin: \"0\",\n },\n \"& $contentCard_headingContainer\": {\n \"grid-column\": \"1\",\n \"grid-row\": \"2 / span 2\",\n \"padding-inline-start\": \"16px\",\n \"padding-inline-end\": \"0\",\n \"padding-bottom\": \"16px\",\n \"padding-top\": \"12px\",\n },\n \"& $contentCard_footer\": {\n \"grid-column\": \"2\",\n \"grid-row\": \"2\",\n \"padding-bottom\": \"0\",\n },\n \"& $contentCard_abstract\": {\n \"grid-column\": \"2\",\n \"grid-row\": \"2\",\n padding: \"12px 16px 0 16px\",\n },\n \"& $contentCard_heading\": Object.assign({}, applyScaledTypeRamp(\"t6\")),\n \"& $contentCard_media\": {\n \"& img\": {\n \"border-radius\": \"0\",\n },\n },\n \"& $contentCard__hasAbstractFooter\": {\n position: \"absolute\",\n bottom: \"0\",\n right: \"0\",\n left: \"0\",\n background: backgroundColor,\n \"box-shadow\": format(\"0px -25px 15px {0}\", backgroundColor),\n },\n },\n contentCard_backgroundImage: {\n position: \"absolute\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n \"& img, & div, & span\": {\n width: \"100%\",\n height: \"100%\",\n \"object-fit\": \"cover\",\n },\n },\n contentCard_media: {\n \"& img\": {\n \"border-radius\": \"4px\",\n },\n },\n contentCard_attribution: {\n color: neutralForegroundRest,\n \"padding-bottom\": \"10px\",\n },\n contentCard__hasAbstract: {},\n contentCard_headingWrapper: {},\n contentCard__hasAbstractFooter: {},\n contentCard_startActions: {},\n contentCard_endActions: {},\n};\nexport default styles;\n","import React from \"react\";\r\nimport { get, isPlainObject, pick, set } from \"lodash-es\";\r\n/**\r\n * The foundation component is the component that all fast base components are built on top of. It provides a common\r\n * set of utilities that each component inherits.\r\n * @param H - These are the props that are \"handled\". \"handled\" props are not mapped automatically to the root element\r\n * returned by the render function. Use handled props to expose inputs that will not map directly to DOM attributes\r\n * (eg a custom callback) or where the DOM attribute would be required.\r\n * @param U - These are \"unhandled\" props. Any props from this interface will be mapped onto the root DOM node of the\r\n * render function as-is. It is advised that these props map to valid HTML attributes - otherwise you will likely have HTML errors.\r\n * @param S - The state interface of the component.\r\n */\r\nclass Foundation extends React.Component {\r\n constructor() {\r\n super(...arguments);\r\n /**\r\n * Store all memoized ref callbacks so they can quickly be accessed. Storing the functions\r\n * allows us to not create new ref functions every update cycle\r\n */\r\n this.referenceResolverStore = {};\r\n /**\r\n * Location where all react element and component references are stored\r\n */\r\n this.referenceStore = {};\r\n }\r\n /**\r\n * Stores a react ref callback under the path provided as arguments. Paths are resolved using lodash's get/set API.\r\n * The reference object itself will be stored on the referenceStore under the path provided and can be accessed via\r\n * the getRef method under the same path.\r\n *\r\n * Usage:
    \r\n */\r\n setRef(...args) {\r\n const storageKey = this.processStorageKey(args);\r\n let resolverFunction = get(this.referenceResolverStore, storageKey);\r\n if (!storageKey ||\r\n isPlainObject(resolverFunction) ||\r\n Array.isArray(resolverFunction)) {\r\n return;\r\n }\r\n if (typeof resolverFunction === \"function\") {\r\n return resolverFunction;\r\n }\r\n else {\r\n resolverFunction = (ref) => {\r\n set(this.referenceStore, storageKey, ref);\r\n };\r\n set(this.referenceResolverStore, storageKey, resolverFunction);\r\n return resolverFunction;\r\n }\r\n }\r\n /**\r\n * Get a reference by key , where function arguments are used as to create the keyname,\r\n * eg. getRef('foo', 'bar', 0) resolves to this.references.foo.bar[0];\r\n *\r\n * Usage: const contentContainer = this.getRef(\"content-container\");\r\n */\r\n getRef(...args) {\r\n return get(this.referenceStore, this.processStorageKey(args));\r\n }\r\n /**\r\n * Returns an object containing all props that are not enumerated as handledProps\r\n */\r\n unhandledProps() {\r\n const unhandledPropKeys = Object.keys(this.props).filter((key) => {\r\n return (!(Foundation.defaultHandledProps.indexOf(key) > -1) &&\r\n this.handledProps &&\r\n !this.handledProps.hasOwnProperty(key));\r\n });\r\n return pick(this.props, unhandledPropKeys);\r\n }\r\n /**\r\n * Joins any string with the className prop passed to the component. Used for applying a className to the root\r\n * element of a component's render function.\r\n */\r\n generateClassNames(componentClasses = \"\") {\r\n return (componentClasses\r\n .concat(` ${this.props.className || \"\"}`)\r\n .trim()\r\n .replace(/(\\s){2,}/g, \" \") || null);\r\n }\r\n /*\r\n * Return an array of all nodes who's slot prop matches the provided slot.\r\n * If no nodes are provided, `this.props.children` will be used\r\n */\r\n withSlot(slot, nodes = this.props.children) {\r\n return React.Children.map(nodes, (node) => {\r\n return this.hasSlot(slot, node) ? node : null;\r\n });\r\n }\r\n withoutSlot(slot, nodes = this.props.children) {\r\n return React.Children.map(nodes, (node) => {\r\n return !this.hasSlot(slot, node) ? node : null;\r\n });\r\n }\r\n /**\r\n * Determine if a single node has a slot property\r\n */\r\n hasSlot(slot, node) {\r\n const nodeSlot = get(node, \"props.slot\");\r\n return Array.isArray(slot) ? slot.indexOf(nodeSlot) !== -1 : slot === nodeSlot;\r\n }\r\n /**\r\n * Generates a string that conforms to object/array accessor syntax that can be used by lodash's get / set,\r\n * eg. => [\"foo\", \"bar\", 0] => \"foo[bar][0]\"\r\n */\r\n processStorageKey(args) {\r\n return args\r\n .filter((item) => {\r\n return typeof item === \"string\" || typeof item === \"number\";\r\n })\r\n .map((item, index) => {\r\n return index === 0 ? item : `[${item}]`;\r\n })\r\n .join(\"\");\r\n }\r\n}\r\n/**\r\n * The props that should never be passed to the root element by unhandled props\r\n */\r\nFoundation.defaultHandledProps = [\"children\"];\r\nexport default Foundation;\r\n","import Foundation from \"./foundation\";\r\nexport default Foundation;\r\nexport * from \"./foundation\";\r\n","import React from \"react\";\nimport Foundation from \"@fast/fast-components-foundation-react\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport { ContentCardLayout, } from \"./content-card.props\";\nclass ContentCard extends Foundation {\n constructor(props) {\n super(props);\n this.handledProps = {\n headingLevel: void 0,\n href: void 0,\n imagePriority: void 0,\n layout: void 0,\n managedClasses: void 0,\n target: void 0,\n };\n this.state = {\n hasAbstract: false,\n isImagePriority: this.props.imagePriority || false,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() }),\n React.createElement(\"span\", { className: this.props.managedClasses.contentCard_backgroundImage }, this.withSlot(\"background-image\")),\n React.createElement(\"div\", { className: this.props.managedClasses.contentCard_mask }),\n this.renderBodyContent(),\n this.props.layout === ContentCardLayout.default\n ? this.generateFooterArea()\n : null));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { contentCard, contentCard_imagePriority, } = this.props.managedClasses;\n return super.generateClassNames(classNames(contentCard, [this.getClassNameByLayout(), !!this.props.layout], [contentCard_imagePriority, this.state.isImagePriority]));\n }\n getClassNameByLayout() {\n const { contentCard__default, contentCard__condensed, contentCard__infoPane, contentCard__infoPaneSplitHorizontal, contentCard__infoPaneSplitVertical, } = this.props.managedClasses;\n switch (this.props.layout) {\n case ContentCardLayout.default:\n return contentCard__default;\n case ContentCardLayout.condensed:\n return contentCard__condensed;\n case ContentCardLayout.infoPane:\n return contentCard__infoPane;\n case ContentCardLayout.infoPaneSplitHorizontal:\n return contentCard__infoPaneSplitHorizontal;\n case ContentCardLayout.infoPaneSplitVertical:\n return contentCard__infoPaneSplitVertical;\n default:\n return contentCard__default;\n }\n }\n /**\n * Create body class names\n */\n generateBodyClassNames() {\n const { contentCard_body, contentCard__hasAbstract, } = this.props.managedClasses;\n return classNames(contentCard_body, [\n contentCard__hasAbstract,\n this.hasElementSlot(\"abstract\"),\n ]);\n }\n renderBodyContent() {\n const { contentCard_attribution, contentCard_heading, contentCard_headingContainer, contentCard_headingWrapper, contentCard_abstract, } = this.props.managedClasses;\n return (React.createElement(\"div\", { className: this.generateBodyClassNames() },\n this.renderMediaWrapper(),\n React.createElement(\"div\", { className: contentCard_headingContainer },\n React.createElement(\"span\", { className: contentCard_attribution }, this.withSlot(\"attribution\")),\n React.createElement(\"span\", { className: contentCard_headingWrapper, role: \"heading\", \"aria-level\": this.props.headingLevel },\n React.createElement(\"a\", { className: contentCard_heading, href: this.props.href, target: this.props.target }, this.withoutSlot([\n \"start-actions\",\n \"end-actions\",\n \"background-image\",\n \"media\",\n \"icon\",\n \"attribution\",\n \"abstract\",\n \"call-to-action\",\n ])))),\n React.createElement(\"div\", { className: contentCard_abstract }, this.withSlot(\"abstract\")),\n this.props.layout !== ContentCardLayout.default\n ? this.generateFooterArea()\n : null));\n }\n renderMediaWrapper() {\n if (this.hasElementSlot(\"media\") || this.hasElementSlot(\"icon\")) {\n return (React.createElement(\"div\", { className: this.props.managedClasses.contentCard_mediaWrapper },\n this.renderMediaSlot(),\n this.renderIconSlot()));\n }\n }\n renderIconSlot() {\n if (this.hasElementSlot(\"icon\")) {\n return (React.createElement(\"span\", { className: this.props.managedClasses.contentCard_icon }, this.withSlot(\"icon\")));\n }\n }\n renderMediaSlot() {\n if (this.hasElementSlot(\"media\")) {\n return (React.createElement(\"div\", { className: this.props.managedClasses.contentCard_media }, this.withSlot(\"media\")));\n }\n }\n hasElementSlot(slot) {\n const slotElement = this.withSlot(slot);\n return slotElement && slotElement.length !== 0;\n }\n /**\n * Create footer class names\n */\n generateFooterClassNames() {\n const { contentCard_footer, contentCard_footer__hidden, contentCard__hasAbstractFooter, } = this.props.managedClasses;\n return classNames(contentCard_footer, [\n contentCard_footer__hidden,\n this.hasElementSlot(\"footer\") ||\n (!this.hasElementSlot(\"start-actions\") &&\n !this.hasElementSlot(\"end-actions\")),\n ], [contentCard__hasAbstractFooter, this.hasElementSlot(\"abstract\")]);\n }\n generateFooterArea() {\n const { contentCard_startActions, contentCard_endActions, } = this.props.managedClasses;\n return (React.createElement(\"div\", { className: this.generateFooterClassNames() },\n React.createElement(\"span\", { className: contentCard_startActions }, this.withSlot(\"start-actions\")),\n React.createElement(\"span\", { className: contentCard_endActions }, this.withSlot(\"end-actions\"))));\n }\n}\nContentCard.displayName = \"ContentCard\";\nContentCard.defaultProps = {\n headingLevel: 2,\n layout: ContentCardLayout.default,\n};\nexport default ContentCard;\nexport * from \"./content-card.props\";\n","import manageJss from \"@fast/fast-jss-manager-react\";\nimport ContentCardStyle from \"./content-card.style\";\nimport BaseContentCard, { ContentCardLayout, } from \"./content-card\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\n/* tslint:disable-next-line:typedef */\nconst ContentCard = manageJss(ContentCardStyle)(BaseContentCard);\nexport { ContentCard, ContentCardLayout, };\n","import React from \"react\";\nimport SVGFoundation from \"../../../svg-foundation/svg-foundation\";\n/**\n * GlobalNavButton E700\n */\nexport default class MenuIcon extends SVGFoundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n managedClasses: void 0,\n titleText: void 0,\n };\n }\n render() {\n return (React.createElement(\"svg\", Object.assign({}, this.unhandledProps()),\n this.renderTitleText(this.props),\n React.createElement(\"path\", { \n /* tslint:disable-next-line */\n d: \"M0 1H16V0H0V1ZM0 9H16V8H0V9ZM0 4.99219H16V4H0V4.99219Z\" })));\n }\n}\nMenuIcon.defaultProps = {\n viewBox: \"0 0 16 10\",\n width: \"16px\",\n height: \"10px\",\n xmlns: \"http://www.w3.org/2000/svg\",\n};\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { Container as BaseContainer, containerStyleSheet, } from \"./container\";\nconst Container = manageJss(containerStyleSheet)(BaseContainer);\nexport { Container, };\n","/**\n * The resize direction options: 'north' | 'south'\n */\nexport var RowResizeDirection;\n(function (RowResizeDirection) {\n RowResizeDirection[\"north\"] = \"north\";\n RowResizeDirection[\"south\"] = \"south\";\n})(RowResizeDirection || (RowResizeDirection = {}));\n","import React from \"react\";\nimport { throttle } from \"lodash-es\";\nimport { classNames, keyCodeArrowDown, keyCodeArrowUp, } from \"@microsoft/fast-web-utilities\";\nimport { toPx } from \"@microsoft/fast-jss-utilities\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { RowResizeDirection, } from \"./row.props\";\nexport const east = \"east\";\nexport const west = \"west\";\nexport const north = \"north\";\nexport const south = \"south\";\nexport const rowStyleSheet = {\n row: {\n position: \"relative\",\n display: \"flex\",\n \"flex-direction\": \"row\",\n \"flex-basis\": \"auto\",\n },\n row__fill: {\n flex: \"1\",\n overflow: \"hidden\",\n },\n row_resizeHandle: {\n position: \"absolute\",\n padding: \"0\",\n opacity: \"0\",\n left: \"0\",\n height: toPx(8),\n width: \"100%\",\n \"z-index\": \"1\",\n transition: \"transform .04s ease-in-out\",\n outline: \"none\",\n transform: \"scale(1, .5)\",\n \"&:hover\": {\n cursor: \"ns-resize\",\n },\n \"&:focus\": {\n opacity: \"1\",\n transform: \"scale(1)\",\n },\n \"&:active\": {\n opacity: \"1\",\n transform: \"scale(1)\",\n },\n },\n row__resizeNorth: {\n \"& $row_resizeHandle\": {\n top: \"-4px\",\n },\n },\n row__resizeSouth: {\n \"& $row_resizeHandle\": {\n bottom: \"-4px\",\n },\n },\n row__overlay: {\n position: \"absolute\",\n width: \"100%\",\n \"z-index\": \"2\",\n },\n row__hidden: {\n display: \"none\",\n },\n};\n/**\n * Grid Row - use this to create rows of pane/canvas content or other content.\n */\nexport class Row extends Foundation {\n constructor(props) {\n super(props);\n this.handledProps = {\n collapsed: void 0,\n collapsedHeight: void 0,\n fill: void 0,\n height: void 0,\n hidden: void 0,\n id: void 0,\n initialHeight: void 0,\n managedClasses: void 0,\n maxHeight: void 0,\n minHeight: void 0,\n onResize: void 0,\n resizeControl: void 0,\n overlay: void 0,\n resizable: void 0,\n resizeFrom: void 0,\n };\n /**\n * Handle keyPress\n */\n this.onKeyDown = (e) => {\n const isShift = e.shiftKey;\n const resizeFromNorth = this.props.resizeFrom === RowResizeDirection.north;\n const offset = isShift ? 10 : 1;\n let height = this.getHeight();\n switch (e.keyCode) {\n case keyCodeArrowDown:\n height = resizeFromNorth ? height - offset : height + offset;\n break;\n case keyCodeArrowUp:\n height = resizeFromNorth ? height + offset : height - offset;\n break;\n default:\n break;\n }\n this.setHeight(height);\n // Fire the resize callback\n this.onResize(e, height);\n };\n /**\n * Handle mouseDown\n */\n this.onMouseDown = (e) => {\n // only listen for left click\n if (e.button !== 0) {\n return;\n }\n this.setState({\n resizing: true,\n dragReference: e.pageY,\n });\n };\n /**\n * Handle mouseUp\n */\n this.onMouseUp = (e) => {\n // only listen for left click\n if (e.button !== 0) {\n return;\n }\n this.setState({\n resizing: false,\n dragReference: null,\n });\n };\n this.onMouseMove = (e) => {\n if (!this.state.resizing) {\n return;\n }\n const offset = this.state.dragReference - e.pageY;\n const updatedHeight = this.props.resizeFrom === north\n ? this.height() + offset\n : this.height() - offset;\n if (updatedHeight <= this.props.minHeight ||\n updatedHeight >= this.props.maxHeight) {\n return;\n }\n // Fire the resize callback\n this.onResize(e, updatedHeight);\n this.setState({\n dragReference: e.pageY,\n });\n this.setHeight(updatedHeight);\n };\n this.onResize = (e, height) => {\n if (typeof this.props.onResize === \"function\") {\n this.props.onResize(e, height);\n }\n };\n this.state = {\n resizing: false,\n dragReference: null,\n height: this.props.initialHeight,\n };\n this.onResize = throttle(this.onResize, 16);\n this.onMouseMove = throttle(this.onMouseMove, 16);\n this.rootElement = React.createRef();\n }\n /**\n * Return the height of row. Sources from props first, and then state if props.height is undefined\n */\n height() {\n return this.props.height || this.state.height;\n }\n /**\n * Handle when component updates\n */\n componentDidUpdate(prevProps, prevState) {\n if (canUseDOM()) {\n if (this.state.resizing && !prevState.resizing) {\n document.addEventListener(\"mouseup\", this.onMouseUp);\n document.addEventListener(\"mousemove\", this.onMouseMove);\n }\n else if (!this.state.resizing && prevState.resizing) {\n document.removeEventListener(\"mouseup\", this.onMouseUp);\n document.removeEventListener(\"mousemove\", this.onMouseMove);\n }\n }\n }\n /**\n * Gets the generated height of the grid row depending on minHeight, maxHeight, and collapsed state.\n */\n getHeight() {\n if (this.props.collapsed) {\n return this.props.collapsedHeight;\n }\n else if (this.height() <= this.props.minHeight) {\n return this.props.minHeight;\n }\n else if (this.height() >= this.props.maxHeight) {\n return this.props.maxHeight;\n }\n else {\n return this.height();\n }\n }\n /**\n * generates the inline style property\n */\n generateStyleAttribute() {\n const height = toPx(this.getHeight());\n const styles = {};\n styles.minHeight = this.props.collapsed\n ? this.props.collapsedHeight\n : this.props.resizable\n ? toPx(this.props.minHeight)\n : height;\n if (this.props.overlay) {\n styles.height = height;\n }\n else {\n styles.flexBasis = height;\n }\n return Object.assign(styles, this.props.style);\n }\n /**\n * Render the resize button\n */\n renderResizeControl() {\n if (!this.props.resizable || this.props.collapsed) {\n return null;\n }\n const resizeProps = {\n className: this.props.managedClasses.row_resizeHandle,\n onMouseDown: this.onMouseDown,\n onKeyDown: this.onKeyDown,\n role: \"separator\",\n };\n if (typeof this.props.resizeControl === \"function\") {\n return this.props.resizeControl(resizeProps);\n }\n else {\n return React.createElement(\"button\", Object.assign({}, resizeProps));\n }\n }\n setHeight(height) {\n this.setState({\n height,\n });\n }\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), style: this.generateStyleAttribute(), ref: this.rootElement, id: this.props.id, \"aria-hidden\": this.props.hidden }),\n this.props.children,\n this.renderResizeControl()));\n }\n generateClassNames() {\n const { row, row__fill, row__resizeNorth, row__resizeSouth, row__overlay, row__hidden, } = this.props.managedClasses;\n const resizeFrom = this.props.resizeFrom;\n const classes = classNames(row, [row__resizeNorth, resizeFrom === RowResizeDirection.north], [row__resizeSouth, resizeFrom === RowResizeDirection.south], [row__overlay, this.props.overlay], [row__hidden, this.props.hidden], [row__fill, this.props.fill]);\n return super.generateClassNames(classes);\n }\n}\nRow.displayName = \"Row\";\nRow.defaultProps = {\n fill: false,\n initialHeight: 40,\n collapsedHeight: 40,\n minHeight: 40,\n maxHeight: 800,\n resizable: false,\n collapsed: false,\n overlay: false,\n hidden: false,\n managedClasses: {},\n};\nexport * from \"./row.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { Row as BaseRow, east, north, RowResizeDirection, rowStyleSheet, south, west, } from \"./row\";\nconst Row = manageJss(rowStyleSheet)(BaseRow);\nexport { Row, RowResizeDirection, east, west, north, south, };\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { Canvas as BaseCanvas, canvasStyleSheet, } from \"./canvas\";\nconst Canvas = manageJss(canvasStyleSheet)(BaseCanvas);\nexport { Canvas, };\n","/**\n * The resize direction options: 'east' | 'west'\n */\nexport var PaneResizeDirection;\n(function (PaneResizeDirection) {\n PaneResizeDirection[\"east\"] = \"east\";\n PaneResizeDirection[\"west\"] = \"west\";\n})(PaneResizeDirection || (PaneResizeDirection = {}));\n","import React from \"react\";\nimport { throttle } from \"lodash-es\";\nimport rafThrottle from \"raf-throttle\";\nimport { applyFocusVisible, toPx } from \"@microsoft/fast-jss-utilities\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { classNames, keyCodeArrowLeft, keyCodeArrowRight, } from \"@microsoft/fast-web-utilities\";\nimport { west } from \"../row\";\nimport { PaneResizeDirection, } from \"./pane.props\";\nexport const paneStyleSheet = {\n pane: {\n position: \"relative\",\n flex: \"0 1 auto\",\n display: \"flex\",\n \"flex-direction\": \"column\",\n },\n pane_resizeHandle: Object.assign(Object.assign({ position: \"absolute\", padding: \"0\", opacity: \"0\", top: \"0\", width: toPx(8), height: \"100%\", \"z-index\": \"1\", transition: \"transform .04s ease-in-out\", outline: \"none\", transform: \"scale(.5, 1)\", \"&:hover\": {\n cursor: \"ew-resize\",\n } }, applyFocusVisible({\n opacity: \"1\",\n transform: \"scale(1)\",\n })), { \"&:active\": {\n opacity: \"1\",\n transform: \"scale(1)\",\n } }),\n pane__resizeWest: {\n \"& $pane_resizeHandle\": {\n left: \"-4px\",\n },\n },\n pane__resizeEast: {\n \"& $pane_resizeHandle\": {\n right: \"-4px\",\n },\n },\n pane__overlay: {\n position: \"absolute\",\n height: \"100%\",\n \"z-index\": \"2\",\n },\n pane__hidden: {\n display: \"none\",\n },\n};\nexport class Pane extends Foundation {\n constructor(props) {\n super(props);\n /**\n * All handled props\n */\n this.handledProps = {\n collapsed: void 0,\n collapsedWidth: void 0,\n hidden: void 0,\n id: void 0,\n initialWidth: void 0,\n managedClasses: void 0,\n maxWidth: void 0,\n minWidth: void 0,\n onResize: void 0,\n overlay: void 0,\n resizeControl: void 0,\n resizable: void 0,\n resizeFrom: void 0,\n width: void 0,\n };\n /**\n * Handle keyPress\n */\n this.onKeyDown = (e) => {\n const isShift = e.shiftKey;\n const offset = isShift ? 10 : 1;\n let width;\n switch (e.keyCode) {\n case keyCodeArrowLeft:\n width = this.rootElement.current.clientWidth - offset;\n break;\n case keyCodeArrowRight:\n width = this.rootElement.current.clientWidth + offset;\n break;\n default:\n break;\n }\n this.setWidth(width);\n // Fire the resize callback\n this.onResize(e, width);\n };\n /**\n * Handle mouseDown\n */\n this.onMouseDown = (e) => {\n // only listen for left click\n if (e.button !== 0) {\n return;\n }\n this.setState({\n resizing: true,\n dragReference: e.pageX,\n });\n };\n /**\n * Handle mouseUp\n */\n this.onMouseUp = (e) => {\n // only listen for left click\n if (e.button !== 0) {\n return;\n }\n this.setState({\n resizing: false,\n dragReference: null,\n });\n };\n this.onMouseMove = (e) => {\n if (!this.state.resizing) {\n return;\n }\n const offset = this.state.dragReference - e.pageX;\n let updatedWidth = this.props.resizeFrom === west\n ? this.width() + offset\n : this.width() - offset;\n // constrain results\n updatedWidth = Math.max(Math.min(updatedWidth, this.props.maxWidth), this.props.minWidth);\n // Fire the resize callback\n this.onResize(e, updatedWidth);\n this.setState({\n dragReference: e.pageX,\n });\n this.setWidth(updatedWidth);\n };\n this.onWindowResize = () => {\n this.setWidth(this.rootElement.current.clientWidth);\n };\n this.onResize = (e, width) => {\n if (typeof this.props.onResize === \"function\") {\n this.props.onResize(e, width);\n }\n };\n this.state = {\n resizing: false,\n dragReference: null,\n width: this.props.initialWidth,\n };\n this.onResize = throttle(this.onResize, 16);\n this.onMouseMove = throttle(this.onMouseMove, 16);\n this.onWindowResize = rafThrottle(this.onWindowResize);\n this.rootElement = React.createRef();\n }\n /**\n * Return the width of Pane. Sources from props first, and then state if props.width is undefined\n */\n width() {\n return this.props.width || this.state.width;\n }\n /**\n * Handle when component is mounted to the DOM\n */\n componentDidMount() {\n if (canUseDOM()) {\n window.addEventListener(\"resize\", this.onWindowResize);\n }\n }\n /**\n * Handle when component is removed from the DOM\n */\n componentWillUnmount() {\n if (canUseDOM()) {\n window.removeEventListener(\"resize\", this.onWindowResize);\n }\n }\n /**\n * Handle when component updates\n */\n componentDidUpdate(prevProps, prevState) {\n if (canUseDOM()) {\n if (this.state.resizing && !prevState.resizing) {\n document.addEventListener(\"mouseup\", this.onMouseUp);\n document.addEventListener(\"mousemove\", this.onMouseMove);\n }\n else if (!this.state.resizing && prevState.resizing) {\n document.removeEventListener(\"mouseup\", this.onMouseUp);\n document.removeEventListener(\"mousemove\", this.onMouseMove);\n }\n }\n }\n /**\n * Gets the generated width of the grid pane depending on minWidth, maxWidth, and collapsed state.\n */\n getWidth() {\n if (this.props.collapsed) {\n return this.props.collapsedWidth;\n }\n else if (this.width() < this.props.minWidth) {\n return this.props.minWidth;\n }\n else if (this.width() > this.props.maxWidth) {\n return this.props.maxWidth;\n }\n else {\n return this.width();\n }\n }\n /**\n * generates the inline style property\n */\n generateStyleAttribute() {\n const width = toPx(this.getWidth());\n const styles = {};\n styles.minWidth = this.props.collapsed\n ? toPx(this.props.collapsedWidth)\n : this.props.resizable\n ? toPx(this.props.minWidth)\n : width;\n if (this.props.overlay) {\n styles.width = width;\n }\n else {\n styles.flexBasis = width;\n }\n return Object.assign(styles, this.props.style);\n }\n /**\n * Render the resize button\n */\n renderResizeControl() {\n if (!this.props.resizable || this.props.collapsed) {\n return null;\n }\n const resizeProps = {\n className: this.props.managedClasses.pane_resizeHandle,\n onMouseDown: this.onMouseDown,\n onKeyDown: this.onKeyDown,\n role: \"separator\",\n valueMin: this.props.minWidth,\n valueMax: this.props.maxWidth,\n valueNow: this.state.width,\n };\n if (typeof this.props.resizeControl === \"function\") {\n return this.props.resizeControl(resizeProps);\n }\n else {\n return (React.createElement(\"button\", { className: resizeProps.className, onMouseDown: resizeProps.onMouseDown, onKeyDown: resizeProps.onKeyDown, role: resizeProps.role, \"aria-valuemin\": resizeProps.valueMin, \"aria-valuemax\": resizeProps.valueMax, \"aria-valuenow\": resizeProps.valueNow }));\n }\n }\n setWidth(width) {\n this.setState({\n width,\n });\n }\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), style: this.generateStyleAttribute(), ref: this.rootElement, id: this.props.id, \"aria-hidden\": this.props.hidden }),\n this.props.children,\n this.renderResizeControl()));\n }\n generateClassNames() {\n const { pane, pane__resizeEast, pane__resizeWest, pane__overlay, pane__hidden, } = this.props.managedClasses;\n const resizeFrom = this.props.resizeFrom;\n const classes = classNames(pane, [pane__resizeEast, resizeFrom === PaneResizeDirection.east], [pane__resizeWest, resizeFrom === PaneResizeDirection.west], [pane__overlay, this.props.overlay], [pane__hidden, this.props.hidden]);\n return super.generateClassNames(classes);\n }\n}\nPane.displayName = \"Pane\";\n/**\n * The default props of the Pane component\n */\nPane.defaultProps = {\n initialWidth: 300,\n collapsedWidth: 40,\n minWidth: 100,\n maxWidth: 800,\n resizable: false,\n collapsed: false,\n overlay: false,\n hidden: false,\n managedClasses: {},\n};\nexport * from \"./pane.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { Pane as BasePane, PaneResizeDirection, paneStyleSheet, } from \"./pane\";\nconst Pane = manageJss(paneStyleSheet)(BasePane);\nexport { Pane, PaneResizeDirection, };\n","import { MenuIcon } from \"@edge-web-ui/edge-icons\";\nimport { Canvas, Container, Pane, PaneResizeDirection, Row, } from \"@microsoft/fast-layouts-react\";\nimport { Background, Button, ButtonAppearance, Heading, HeadingSize, HeadingTag, } from \"@microsoft/fast-components-react-msft\";\nimport { HighContrastColor, highContrastOptOutProperty, highContrastSelector, neutralLayerL1, neutralOutlineActive, neutralOutlineHover, } from \"@microsoft/fast-components-styles-msft\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport ReactDOM from \"react-dom\";\nimport React from \"react\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { get } from \"lodash-es\";\nimport { classNames, Direction, KeyCodes } from \"@microsoft/fast-web-utilities\";\nimport { applyFocusVisible } from \"@microsoft/fast-jss-utilities\";\nconst rowStyle = {\n row_resizeHandle: Object.assign(Object.assign({ border: \"none\", background: \"none\", transition: \"all 0.4s ease-in-out\", \"&::after\": {\n content: '\"\"',\n position: \"absolute\",\n top: \"4px\",\n left: \"0\",\n width: \"100%\",\n height: \"1px\",\n background: neutralOutlineHover,\n [highContrastSelector]: {\n background: HighContrastColor.buttonText,\n },\n }, \"&:hover\": {\n opacity: \"1\",\n transform: \"scaleX(1)\",\n cursor: \"row-resize\",\n }, \"&:active\": {\n \"&::after\": {\n background: neutralOutlineActive,\n [highContrastSelector]: {\n background: HighContrastColor.buttonText,\n height: \"2px\",\n },\n },\n } }, applyFocusVisible({\n [highContrastSelector]: {\n background: HighContrastColor.buttonText,\n height: \"1px\",\n },\n })), { [highContrastSelector]: Object.assign(Object.assign({}, highContrastOptOutProperty), { opacity: \"1\" }) }),\n};\nconst paneStyle = {\n pane_resizeHandle: Object.assign(Object.assign({ border: \"none\", background: \"none\", transition: \"all 0.4s ease-in-out\", \"&::after\": {\n content: '\"\"',\n position: \"absolute\",\n bottom: \"0\",\n left: \"4px\",\n width: \"1px\",\n height: \"100%\",\n background: neutralOutlineHover,\n [highContrastSelector]: {\n background: HighContrastColor.buttonText,\n },\n }, \"&:hover\": {\n opacity: \"1\",\n transform: \"scaleX(1)\",\n cursor: \"col-resize\",\n }, \"&:active\": {\n \"&::after\": {\n background: neutralOutlineActive,\n [highContrastSelector]: {\n background: HighContrastColor.buttonText,\n width: \"2px\",\n },\n },\n } }, applyFocusVisible({\n [highContrastSelector]: {\n background: HighContrastColor.buttonText,\n width: \"1px\",\n },\n })), { [highContrastSelector]: Object.assign(Object.assign({}, highContrastOptOutProperty), { opacity: \"1\" }) }),\n};\nconst buttonStyle = {\n button: {\n minWidth: \"32px\",\n },\n};\n/* tslint:disable-next-line */\nexport default class SidePaneLayout extends Foundation {\n constructor(props) {\n super(props);\n this.handledProps = {\n title: void 0,\n textField: void 0,\n lightDismissEnabled: void 0,\n mobileNavigationMenuButtonLabel: void 0,\n mobileNavigationMenuButtonProps: void 0,\n globalActionsButtonLabel: void 0,\n globalActionsButtonProps: void 0,\n navigationMenu: void 0,\n globalActions: void 0,\n paneMinWidth: void 0,\n mobileNavBackgroundValue: void 0,\n managedClasses: void 0,\n inPageFlow: void 0,\n resizable: void 0,\n mobileNavWindowMaxWidth: void 0,\n mobileNavOpenGlyph: void 0,\n mobileNavCloseGlyph: void 0,\n };\n this.navPaneElement = React.createRef();\n this.openMenuButtonElement = React.createRef();\n this.closeMenuButtonElement = React.createRef();\n this.direction = Direction.ltr;\n this.handleWindowKeyDown = (event) => {\n if (this.state.navOpen && event.keyCode === KeyCodes.escape) {\n this.resetMenus();\n this.focusHamburgerMenuButton();\n }\n };\n this.toggleGlobalActions = (e) => {\n if (typeof get(this.props, \"globalActionsButtonProps.onClick\") === \"function\") {\n this.props.globalActionsButtonProps.onClick(e);\n }\n this.setState({\n menuOpen: !this.state.menuOpen,\n });\n };\n this.handleResize = () => {\n if (canUseDOM()) {\n const isResponsive = window.innerWidth <= this.props.mobileNavWindowMaxWidth;\n if (isResponsive !== this.state.isResponsive) {\n this.resetMenus();\n }\n this.setState({\n isResponsive,\n });\n }\n };\n this.handleMobileNavigationMenuVisibilityToggle = (e) => {\n if (typeof get(this.props, \"mobileNavigationMenuButtonProps.onClick\") ===\n \"function\") {\n this.props.mobileNavigationMenuButtonProps.onClick(e);\n }\n this.toggleMobileMenu();\n };\n this.toggleMobileMenu = () => {\n this.setState({\n navOpen: !this.state.navOpen,\n }, () => {\n const element = ReactDOM.findDOMNode(this.navPaneElement.current);\n if (this.state.navOpen && element instanceof HTMLElement) {\n element.style.display = \"flex\";\n }\n this.focusHamburgerMenuButton();\n if (element instanceof HTMLElement) {\n element.addEventListener(\"animationend\", this.handleNavAnimationEnd);\n }\n });\n };\n this.handleNavAnimationEnd = (e) => {\n const element = ReactDOM.findDOMNode(this.navPaneElement.current);\n if (element instanceof HTMLElement) {\n element.removeEventListener(\"animationend\", this.handleNavAnimationEnd);\n if (!this.state.navOpen) {\n element.style.display = \"none\";\n }\n }\n };\n /**\n * Updates the direction\n */\n this.updateDirection = () => {\n if (this.rootElement.current === null) {\n return;\n }\n const closest = this.rootElement.current.closest(`[dir]`);\n if (closest === null) {\n this.direction = Direction.ltr;\n return;\n }\n this.direction =\n closest.getAttribute(\"dir\") === \"rtl\" ? Direction.rtl : Direction.ltr;\n };\n this.state = {\n navOpen: false,\n menuOpen: false,\n isResponsive: false,\n };\n window.addEventListener(\"resize\", this.handleResize);\n this.rootElement = React.createRef();\n }\n /**\n * React life-cycle method\n */\n componentWillUpdate() {\n this.updateDirection();\n }\n /**\n * React life-cycle method\n */\n componentDidMount() {\n this.handleResize();\n if (canUseDOM()) {\n window.addEventListener(\"keydown\", this.handleWindowKeyDown);\n }\n }\n /**\n * React life-cycle method\n */\n componentWillUnmount() {\n if (canUseDOM()) {\n window.removeEventListener(\"keydown\", this.handleWindowKeyDown);\n window.removeEventListener(\"resize\", this.handleResize);\n }\n }\n render() {\n const { sidePaneLayout_canvas, sidePaneLayout_container, sidePaneLayout_row, } = this.props.managedClasses;\n return (React.createElement(\"div\", Object.assign({ ref: this.rootElement }, this.unhandledProps(), { className: this.generateClassNames() }),\n React.createElement(Container, { className: classNames(sidePaneLayout_container) },\n React.createElement(Row, { className: classNames(sidePaneLayout_row), jssStyleSheet: rowStyle, fill: true },\n this.renderLayout(),\n React.createElement(Canvas, { className: classNames(sidePaneLayout_canvas) }, this.props.children),\n this.renderLightDismiss()))));\n }\n /**\n * Create class names\n */\n generateClassNames() {\n const { sidePaneLayout, sidePaneLayout__inPageFlow, } = this.props.managedClasses;\n return super.generateClassNames(classNames(sidePaneLayout, [\n sidePaneLayout__inPageFlow,\n this.props.inPageFlow,\n ]));\n }\n /**\n * Create flyout class names\n */\n generateMobileNavMenuClassNames() {\n const { sidePaneLayout_mobileNavigationMenu, sidePaneLayout_mobileNavigationMenu__open, sidePaneLayout_mobileNavigationMenu__close, } = this.props.managedClasses;\n const isOpen = !!this.state.navOpen;\n return classNames(sidePaneLayout_mobileNavigationMenu, [sidePaneLayout_mobileNavigationMenu__open, isOpen], [sidePaneLayout_mobileNavigationMenu__close, !isOpen]);\n }\n /**\n * Create pane class names\n */\n generatePaneClassNames() {\n return classNames(this.props.managedClasses.sidePaneLayout_pane);\n }\n renderLayout() {\n const { sidePaneLayout_navigation, sidePaneLayout_mobileNavigation, sidePaneLayout_mobileNavigation_container, sidePaneLayout_mobileNavigation_headerContainer, sidePaneLayout_navigation_headerContainer, } = this.props.managedClasses;\n if (this.state.isResponsive) {\n return (React.createElement(\"div\", null,\n React.createElement(Background, { value: this.props.mobileNavBackgroundValue, className: this.generateMobileNavMenuClassNames(), \"aria-hidden\": !this.state.navOpen, ref: this.navPaneElement },\n React.createElement(\"div\", { className: classNames(sidePaneLayout_navigation_headerContainer) },\n React.createElement(\"div\", { className: classNames(sidePaneLayout_mobileNavigation_headerContainer) },\n this.renderHamburgerButton(this.closeMenuButtonElement),\n this.renderHeading()),\n this.renderGlobalActionsButton()),\n React.createElement(\"div\", { className: classNames(sidePaneLayout_mobileNavigation_container) }, this.renderNavigationMenu(classNames(sidePaneLayout_mobileNavigation), this.toggleMobileMenu))),\n React.createElement(\"div\", { className: this.generatePaneClassNames() },\n React.createElement(\"div\", { className: classNames(sidePaneLayout_navigation_headerContainer) }, this.renderHeader()),\n this.renderTextField())));\n }\n return (React.createElement(Pane, { resizable: this.props.resizable, resizeFrom: this.direction === Direction.ltr\n ? PaneResizeDirection.east\n : PaneResizeDirection.west, minWidth: this.props.paneMinWidth, jssStyleSheet: paneStyle },\n React.createElement(\"div\", { className: this.generatePaneClassNames() },\n React.createElement(\"div\", { className: classNames(sidePaneLayout_navigation_headerContainer) },\n this.renderHeader(),\n this.renderGlobalActionsButton()),\n this.renderTextField(),\n this.renderNavigationMenu(classNames(sidePaneLayout_navigation)))));\n }\n /**\n * Resets Menus When window resizes.\n */\n resetMenus() {\n this.setState({\n navOpen: false,\n menuOpen: false,\n });\n }\n renderGlobalActionsButton() {\n const { sidePaneLayout_globalActionsButton, sidePaneLayout_mobileNavigationMenu_buttonContainer, } = this.props.managedClasses;\n if (this.props.globalActions) {\n return (React.createElement(\"div\", { className: classNames(sidePaneLayout_mobileNavigationMenu_buttonContainer) },\n React.createElement(Button, Object.assign({}, this.props.globalActionsButtonProps, { jssStyleSheet: buttonStyle, appearance: ButtonAppearance.stealth, \"aria-label\": this.props.globalActionsButtonLabel || null, className: classNames(sidePaneLayout_globalActionsButton), onClick: this.toggleGlobalActions }), this.generateIcon(\"more\")),\n this.showGlobalActions()));\n }\n else {\n return null;\n }\n }\n renderHamburgerButton(button) {\n return (React.createElement(Button, Object.assign({}, this.props.mobileNavigationMenuButtonProps, { jssStyleSheet: buttonStyle, appearance: ButtonAppearance.stealth, \"aria-label\": this.props.mobileNavigationMenuButtonLabel || null, \"aria-haspopup\": this.state.navOpen ? null : true, className: classNames(this.props.managedClasses.sidePaneLayout_mobileNavigationMenu_button), onClick: this.handleMobileNavigationMenuVisibilityToggle, ref: button }), this.state.navOpen\n ? this.renderGlyph(this.props.mobileNavCloseGlyph)\n : this.renderGlyph(this.props.mobileNavOpenGlyph)));\n }\n renderGlyph(glyph) {\n return typeof glyph === \"function\"\n ? glyph(classNames(this.props.managedClasses.sidePaneLayout_icon))\n : null;\n }\n generateIcon(title) {\n return (React.createElement(MenuIcon, { titleText: title, className: classNames(this.props.managedClasses.sidePaneLayout_icon) }));\n }\n renderLightDismiss() {\n if (this.state.navOpen && this.props.lightDismissEnabled) {\n return (React.createElement(\"div\", { style: {\n position: \"absolute\",\n border: \"none\",\n inset: \"0\",\n top: \"0\",\n left: \"0\",\n right: \"0\",\n bottom: \"0\",\n }, onClick: this.handleMobileNavigationMenuVisibilityToggle }));\n }\n }\n renderHeading(styleOverrides = false) {\n const styleSheet = {\n heading_4: { marginTop: \"10px\" },\n };\n return (React.createElement(Heading, { className: classNames(this.props.managedClasses.sidePaneLayout_navigation_headerText), jssStyleSheet: styleOverrides ? styleSheet : null, tag: HeadingTag.h1, size: HeadingSize._4 }, this.props.title));\n }\n renderHeader() {\n return (React.createElement(\"div\", { className: this.props.managedClasses.sidePaneLayout_navigation_header },\n this.renderHamburgerButton(this.openMenuButtonElement),\n this.renderHeading(true)));\n }\n showGlobalActions() {\n if (this.state.menuOpen) {\n return typeof this.props.globalActions === \"function\"\n ? this.props.globalActions(classNames(this.props.managedClasses.sidePaneLayout_globalActions))\n : null;\n }\n }\n renderTextField() {\n return typeof this.props.textField === \"function\"\n ? this.props.textField(classNames(this.props.managedClasses.sidePaneLayout_textField))\n : null;\n }\n renderNavigationMenu(className, dismissMobileMenu) {\n return typeof this.props.navigationMenu === \"function\"\n ? this.props.navigationMenu(className, dismissMobileMenu)\n : null;\n }\n /**\n * Focus the other hamburger menu button when hamburger menu is clicked\n */\n focusHamburgerMenuButton() {\n if (this.state.navOpen) {\n if (this.closeMenuButtonElement && this.closeMenuButtonElement.current) {\n ReactDOM.findDOMNode(this.closeMenuButtonElement.current).focus();\n }\n }\n else {\n if (this.openMenuButtonElement && this.openMenuButtonElement.current) {\n ReactDOM.findDOMNode(this.openMenuButtonElement.current).focus();\n }\n }\n }\n}\nSidePaneLayout.defaultProps = {\n title: \"Side Pane Title\",\n lightDismissEnabled: true,\n mobileNavBackgroundValue: neutralLayerL1,\n paneMinWidth: 406,\n inPageFlow: false,\n managedClasses: {},\n resizable: true,\n mobileNavWindowMaxWidth: 1035,\n mobileNavCloseGlyph: (className) => (React.createElement(MenuIcon, { titleText: \"menu\", className: className })),\n mobileNavOpenGlyph: (className) => (React.createElement(MenuIcon, { titleText: \"menu\", className: className })),\n};\n","import { applyElevation, ElevationMultiplier, neutralForegroundRest, neutralLayerL1, } from \"@microsoft/fast-components-styles-msft\";\nimport { directionSwitch } from \"@microsoft/fast-jss-utilities\";\nconst styles = {\n \"@keyframes SiteNavigationClose\": {\n \"0%\": {\n opacity: 1,\n transform: \"scaleX(1)\",\n },\n \"100%\": {\n opacity: 0,\n transform: \"scaleX(0.93)\",\n },\n },\n \"@keyframes SiteNavigationOpen\": {\n \"0%\": {\n opacity: 0,\n transform: \"scaleX(0.93)\",\n },\n \"100%\": {\n opacity: 1,\n transform: \"scaleX(1)\",\n },\n },\n \"@keyframes TitleClose\": {\n \"0%\": {\n opacity: 1,\n },\n \"100%\": {\n opacity: 0,\n },\n },\n \"@keyframes TitleOpen\": {\n \"0%\": {\n opacity: 0,\n },\n \"100%\": {\n opacity: 1,\n },\n },\n sidePaneLayout: {},\n sidePaneLayout_canvas: {\n \"overflow-y\": \"auto\",\n \"padding-top\": \"30px\",\n \"padding-left\": directionSwitch(\"44px\", \"84px\"),\n \"padding-right\": directionSwitch(\"84px\", \"44px\"),\n color: neutralForegroundRest,\n \"@media only screen and (max-width: 1035px)\": {\n \"padding-left\": \"46px\",\n \"padding-right\": \"46px\",\n },\n },\n sidePaneLayout_container: {},\n sidePaneLayout_mobileNavigationMenu: Object.assign(Object.assign({ display: \"none\", \"flex-direction\": \"column\", position: \"absolute\", \"z-index\": \"100\", top: \"0\", left: directionSwitch(\"0\", \"auto\"), right: directionSwitch(\"auto\", \"0\"), height: \"100vh\", width: \"320px\", \"padding-top\": \"20px\", \"padding-left\": directionSwitch(\"40px\", \"20px\"), \"padding-right\": directionSwitch(\"20px\", \"40px\"), \"animation-fill-mode\": \"both\", \"transform-origin\": directionSwitch(\"top left\", \"top right\") }, applyElevation(ElevationMultiplier.e4)), { \"@media only screen and (max-width: 1035px)\": {\n height: \"100%\",\n } }),\n sidePaneLayout_mobileNavigationMenu__close: {\n \"animation-name\": \"SiteNavigationClose\",\n \"animation-duration\": \".25s\",\n \"transition-timing-function\": \"cubic-bezier(.26,1,.48,1)\",\n \"& $sidePaneLayout_navigation_headerText\": {\n \"animation-duration\": \".25s\",\n \"animation-name\": \"TitleClose\",\n },\n },\n sidePaneLayout_mobileNavigationMenu__open: {\n \"animation-duration\": \".25s\",\n \"animation-name\": \"SiteNavigationOpen\",\n \"transition-timing-function\": \"cubic-bezier(.52,0,.74,0)\",\n \"& $sidePaneLayout_navigation_headerText\": {\n \"animation-duration\": \".25s\",\n \"animation-delay\": \".075s\",\n \"animation-fill-mode\": \"both\",\n \"animation-name\": \"TitleOpen\",\n },\n },\n sidePaneLayout_mobileNavigationMenu_button: {\n display: \"none\",\n \"min-width\": \"32px\",\n \"margin-right\": directionSwitch(\"10px\", \"unset\"),\n \"margin-left\": directionSwitch(\"unset\", \"10px\"),\n \"@media only screen and (max-width: 1035px)\": {\n display: \"block\",\n },\n },\n sidePaneLayout_mobileNavigationMenu_buttonContainer: {\n position: \"relative\",\n },\n sidePaneLayout_icon: {\n height: \"16px\",\n width: \"16px\",\n },\n sidePaneLayout_globalActionsButton: {\n \"min-width\": \"32px\",\n },\n sidePaneLayout_globalActions: Object.assign({ \"z-index\": \"3\", position: \"absolute\", color: neutralForegroundRest, background: neutralLayerL1, padding: \"4px 4px 4px 3px\", \"min-width\": \"240px\", top: \"44px\", right: \"0\" }, applyElevation(ElevationMultiplier.e4)),\n sidePaneLayout_navigation: {\n flex: \"1\",\n \"list-style-type\": \"none\",\n padding: \"0\",\n \"margin-top\": \"10px\",\n \"min-width\": \"280px\",\n \"overflow-y\": \"auto\",\n \"margin-bottom\": \"40px\",\n color: neutralForegroundRest,\n \"@media only screen and (max-width: 1035px)\": {\n display: \"none\",\n },\n },\n sidePaneLayout_mobileNavigation: {\n display: \"none\",\n \"flex-direction\": \"column\",\n flex: \"1\",\n padding: \"0\",\n width: \"100%\",\n \"list-style-type\": \"none\",\n \"margin-right\": directionSwitch(\"20px\", \"unset\"),\n \"margin-left\": directionSwitch(\"unset\", \"20px\"),\n \"margin-top\": \"10px\",\n \"min-width\": \"150px\",\n color: neutralForegroundRest,\n \"@media only screen and (max-width: 1035px)\": {\n display: \"flex\",\n },\n },\n sidePaneLayout_mobileNavigation_headerContainer: {\n display: \"flex\",\n \"margin-bottom\": \"20px\",\n },\n sidePaneLayout_mobileNavigation_container: {\n display: \"none\",\n \"flex-direction\": \"column\",\n width: \"100%\",\n height: \"100%\",\n \"overflow-y\": \"auto\",\n \"margin-bottom\": \"20px\",\n \"@media only screen and (max-width: 1035px)\": {\n display: \"flex\",\n },\n },\n sidePaneLayout_navigation_header: {\n display: \"flex\",\n },\n sidePaneLayout_navigation_headerText: {\n opacity: \"1\",\n },\n sidePaneLayout_navigation_headerContainer: {\n display: \"flex\",\n \"align-items\": \"center\",\n \"justify-content\": \"space-between\",\n \"min-height\": \"38px\",\n },\n sidePaneLayout_pane: {\n display: \"flex\",\n \"flex-direction\": \"column\",\n \"padding-top\": \"30px\",\n \"padding-left\": directionSwitch(\"84px\", \"42px\"),\n \"padding-right\": directionSwitch(\"42px\", \"84px\"),\n height: \"100vh\",\n \"@media only screen and (max-width: 1035px)\": {\n \"flex-direction\": \"row\",\n \"align-items\": \"center\",\n \"padding-left\": \"46px\",\n \"padding-right\": \"46px\",\n \"max-width\": \"820px\",\n height: \"unset\",\n },\n },\n sidePaneLayout_row: {\n \"@media only screen and (max-width: 1035px)\": {\n display: \"block\",\n \"overflow-y\": \"auto\",\n },\n },\n sidePaneLayout_textField: {\n \"margin-top\": \"10px\",\n \"@media only screen and (max-width: 1035px)\": {\n \"min-width\": \"240px\",\n \"margin-right\": directionSwitch(\"unset\", \"auto\"),\n \"margin-left\": directionSwitch(\"auto\", \"unset\"),\n \"margin-top\": \"unset\",\n },\n },\n sidePaneLayout__inPageFlow: {\n \"& $sidePaneLayout_mobileNavigationMenu, & $sidePaneLayout_pane\": {\n height: \"auto\",\n },\n \"& $sidePaneLayout_container\": {\n display: \"block\",\n width: \"auto\",\n height: \"auto\",\n },\n },\n};\nexport default styles;\n","import BaseSidePaneLayout from \"./side-pane-layout\";\nimport SidePaneLayoutStyles from \"./side-pane-layout.style\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport sidePaneLayoutSchema from \"./side-pane-layout.schema\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\n/* tslint:disable-next-line:typedef */\nconst SidePaneLayout = manageJss(SidePaneLayoutStyles)(BaseSidePaneLayout);\nexport { SidePaneLayout, sidePaneLayoutSchema, };\n","import { hslToRGB, labToRGB, lchToRGB, rgbToHSL, rgbToLAB, rgbToLCH, } from \"./color-converters\";\nimport { ColorHSL } from \"./color-hsl\";\nimport { ColorLAB } from \"./color-lab\";\nimport { ColorLCH } from \"./color-lch\";\nimport { ColorRGBA64 } from \"./color-rgba-64\";\nimport { clamp } from \"./math-utilities\";\n/**\n * Saturate a color using LCH color space\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function saturateViaLCH(input, saturation, saturationConstant = 18) {\n const lch = rgbToLCH(input);\n let sat = lch.c + saturation * saturationConstant;\n if (sat < 0) {\n sat = 0;\n }\n return lchToRGB(new ColorLCH(lch.l, sat, lch.h));\n}\n/**\n * De-saturate a color using LCH color space\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function desaturateViaLCH(input, saturation, saturationConstant = 18) {\n return saturateViaLCH(input, -1 * saturation, saturationConstant);\n}\n/**\n * Darken a color using LAB color space\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function darkenViaLAB(input, amount, darkenConstant = 18) {\n const lab = rgbToLAB(input);\n const darkened = lab.l - amount * darkenConstant;\n return labToRGB(new ColorLAB(darkened, lab.a, lab.b));\n}\n/**\n * Lighten a color using LAB color space\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function lightenViaLAB(input, amount, darkenConstant = 18) {\n return darkenViaLAB(input, -1 * amount, darkenConstant);\n}\n/**\n * @public\n */\nexport function blendBurnChannel(bottom, top) {\n if (top === 0.0) {\n // Despite the discontinuity, other sources seem to use 0.0 here instead of 1\n return 0.0;\n }\n return 1.0 - (1.0 - bottom) / top;\n}\n/**\n * Blends two colors with the burn mode\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function blendBurn(bottom, top) {\n return new ColorRGBA64(blendBurnChannel(bottom.r, top.r), blendBurnChannel(bottom.g, top.g), blendBurnChannel(bottom.b, top.b), 1);\n}\n/**\n * Blends two colors\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function blendColor(bottom, top) {\n const bottomHSL = rgbToHSL(bottom);\n const topHSL = rgbToHSL(top);\n if (topHSL.s === 0) {\n return new ColorRGBA64(bottomHSL.l, bottomHSL.l, bottomHSL.l, 1);\n }\n return hslToRGB(new ColorHSL(topHSL.h, topHSL.s, bottomHSL.l));\n}\n/**\n * @public\n */\nexport function blendDarkenChannel(bottom, top) {\n return Math.min(bottom, top);\n}\n/**\n * Blends two colors with the darken mode\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function blendDarken(bottom, top) {\n return new ColorRGBA64(blendDarkenChannel(bottom.r, top.r), blendDarkenChannel(bottom.g, top.g), blendDarkenChannel(bottom.b, top.b), 1);\n}\n/**\n * @public\n */\nexport function blendDodgeChannel(bottom, top) {\n if (top >= 1.0) {\n return 1.0;\n }\n const retVal = bottom / (1.0 - top);\n if (retVal >= 1.0) {\n return 1.0;\n }\n return retVal;\n}\n/**\n * Blends two colors with the dodge mode\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function blendDodge(bottom, top) {\n return new ColorRGBA64(blendDodgeChannel(bottom.r, top.r), blendDodgeChannel(bottom.g, top.g), blendDodgeChannel(bottom.b, top.b), 1);\n}\n/**\n * @public\n */\nexport function blendLightenChannel(bottom, top) {\n return Math.max(bottom, top);\n}\n/**\n * Blends two colors with the lighten mode\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function blendLighten(bottom, top) {\n return new ColorRGBA64(blendLightenChannel(bottom.r, top.r), blendLightenChannel(bottom.g, top.g), blendLightenChannel(bottom.b, top.b), 1);\n}\n/**\n * @public\n */\nexport function blendMultiplyChannel(bottom, top) {\n return bottom * top;\n}\n/**\n * Blends two colors with the multiply mode\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function blendMultiply(bottom, top) {\n return new ColorRGBA64(blendMultiplyChannel(bottom.r, top.r), blendMultiplyChannel(bottom.g, top.g), blendMultiplyChannel(bottom.b, top.b), 1);\n}\n/**\n * @public\n */\nexport function blendOverlayChannel(bottom, top) {\n if (bottom < 0.5) {\n return clamp(2.0 * top * bottom, 0, 1);\n }\n return clamp(1.0 - 2.0 * (1.0 - top) * (1.0 - bottom), 0, 1);\n}\n/**\n * Blends two colors with the overlay mode\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function blendOverlay(bottom, top) {\n return new ColorRGBA64(blendOverlayChannel(bottom.r, top.r), blendOverlayChannel(bottom.g, top.g), blendOverlayChannel(bottom.b, top.b), 1);\n}\n/**\n * @public\n */\nexport function blendScreenChannel(bottom, top) {\n return 1.0 - (1.0 - top) * (1.0 - bottom);\n}\n/**\n * Blends two colors with the screen mode\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function blendScreen(bottom, top) {\n return new ColorRGBA64(blendScreenChannel(bottom.r, top.r), blendScreenChannel(bottom.g, top.g), blendScreenChannel(bottom.b, top.b), 1);\n}\n/**\n * Color blend modes.\n * @public\n */\nexport var ColorBlendMode;\n(function (ColorBlendMode) {\n ColorBlendMode[ColorBlendMode[\"Burn\"] = 0] = \"Burn\";\n ColorBlendMode[ColorBlendMode[\"Color\"] = 1] = \"Color\";\n ColorBlendMode[ColorBlendMode[\"Darken\"] = 2] = \"Darken\";\n ColorBlendMode[ColorBlendMode[\"Dodge\"] = 3] = \"Dodge\";\n ColorBlendMode[ColorBlendMode[\"Lighten\"] = 4] = \"Lighten\";\n ColorBlendMode[ColorBlendMode[\"Multiply\"] = 5] = \"Multiply\";\n ColorBlendMode[ColorBlendMode[\"Overlay\"] = 6] = \"Overlay\";\n ColorBlendMode[ColorBlendMode[\"Screen\"] = 7] = \"Screen\";\n})(ColorBlendMode || (ColorBlendMode = {}));\n/**\n * Blend two colors.\n *\n * @remarks\n * The alpha channel of the input is ignored\n *\n * @public\n */\nexport function blend(mode, bottom, top) {\n switch (mode) {\n case ColorBlendMode.Burn:\n return blendBurn(bottom, top);\n case ColorBlendMode.Color:\n return blendColor(bottom, top);\n case ColorBlendMode.Darken:\n return blendDarken(bottom, top);\n case ColorBlendMode.Dodge:\n return blendDodge(bottom, top);\n case ColorBlendMode.Lighten:\n return blendLighten(bottom, top);\n case ColorBlendMode.Multiply:\n return blendMultiply(bottom, top);\n case ColorBlendMode.Overlay:\n return blendOverlay(bottom, top);\n case ColorBlendMode.Screen:\n return blendScreen(bottom, top);\n default:\n throw new Error(\"Unknown blend mode\");\n }\n}\n/**\n * Alpha channel of bottom is ignored\n * The returned color always has an alpha channel of 1\n * Different programs (eg: paint.net, photoshop) will give different answers than this occasionally but within +/- 1/255 in each channel. Just depends on the details of how they round off decimals\n *\n * @public\n */\nexport function computeAlphaBlend(bottom, top) {\n if (top.a >= 1) {\n return top;\n }\n else if (top.a <= 0) {\n return new ColorRGBA64(bottom.r, bottom.g, bottom.b, 1);\n }\n const r = top.a * top.r + (1 - top.a) * bottom.r;\n const g = top.a * top.g + (1 - top.a) * bottom.g;\n const b = top.a * top.b + (1 - top.a) * bottom.b;\n return new ColorRGBA64(r, g, b, 1);\n}\n","import { hslToRGB, hsvToRGB, labToRGB, lchToRGB, rgbToHSL, rgbToHSV, rgbToLAB, rgbToLCH, rgbToXYZ, xyzToRGB, } from \"./color-converters\";\nimport { ColorHSL } from \"./color-hsl\";\nimport { ColorHSV } from \"./color-hsv\";\nimport { ColorLAB } from \"./color-lab\";\nimport { ColorLCH } from \"./color-lch\";\nimport { ColorRGBA64 } from \"./color-rgba-64\";\nimport { ColorXYZ } from \"./color-xyz\";\nimport { lerp, lerpAnglesInDegrees } from \"./math-utilities\";\n/**\n * Interpolate by RGB color space\n *\n * @public\n */\nexport function interpolateRGB(position, left, right) {\n if (isNaN(position) || position <= 0) {\n return left;\n }\n else if (position >= 1) {\n return right;\n }\n return new ColorRGBA64(lerp(position, left.r, right.r), lerp(position, left.g, right.g), lerp(position, left.b, right.b), lerp(position, left.a, right.a));\n}\n/**\n * Interpolate by HSL color space\n *\n * @public\n */\nexport function interpolateHSL(position, left, right) {\n if (isNaN(position) || position <= 0) {\n return left;\n }\n else if (position >= 1) {\n return right;\n }\n return new ColorHSL(lerpAnglesInDegrees(position, left.h, right.h), lerp(position, left.s, right.s), lerp(position, left.l, right.l));\n}\n/**\n * Interpolate by HSV color space\n *\n * @public\n */\nexport function interpolateHSV(position, left, right) {\n if (isNaN(position) || position <= 0) {\n return left;\n }\n else if (position >= 1) {\n return right;\n }\n return new ColorHSV(lerpAnglesInDegrees(position, left.h, right.h), lerp(position, left.s, right.s), lerp(position, left.v, right.v));\n}\n/**\n * Interpolate by XYZ color space\n *\n * @public\n */\nexport function interpolateXYZ(position, left, right) {\n if (isNaN(position) || position <= 0) {\n return left;\n }\n else if (position >= 1) {\n return right;\n }\n return new ColorXYZ(lerp(position, left.x, right.x), lerp(position, left.y, right.y), lerp(position, left.z, right.z));\n}\n/**\n * Interpolate by LAB color space\n *\n * @public\n */\nexport function interpolateLAB(position, left, right) {\n if (isNaN(position) || position <= 0) {\n return left;\n }\n else if (position >= 1) {\n return right;\n }\n return new ColorLAB(lerp(position, left.l, right.l), lerp(position, left.a, right.a), lerp(position, left.b, right.b));\n}\n/**\n * Interpolate by LCH color space\n *\n * @public\n */\nexport function interpolateLCH(position, left, right) {\n if (isNaN(position) || position <= 0) {\n return left;\n }\n else if (position >= 1) {\n return right;\n }\n return new ColorLCH(lerp(position, left.l, right.l), lerp(position, left.c, right.c), lerpAnglesInDegrees(position, left.h, right.h));\n}\n/**\n * Color interpolation spaces\n *\n * @public\n */\nexport var ColorInterpolationSpace;\n(function (ColorInterpolationSpace) {\n ColorInterpolationSpace[ColorInterpolationSpace[\"RGB\"] = 0] = \"RGB\";\n ColorInterpolationSpace[ColorInterpolationSpace[\"HSL\"] = 1] = \"HSL\";\n ColorInterpolationSpace[ColorInterpolationSpace[\"HSV\"] = 2] = \"HSV\";\n ColorInterpolationSpace[ColorInterpolationSpace[\"XYZ\"] = 3] = \"XYZ\";\n ColorInterpolationSpace[ColorInterpolationSpace[\"LAB\"] = 4] = \"LAB\";\n ColorInterpolationSpace[ColorInterpolationSpace[\"LCH\"] = 5] = \"LCH\";\n})(ColorInterpolationSpace || (ColorInterpolationSpace = {}));\n/**\n * Interpolate by color space\n *\n * @public\n */\nexport function interpolateByColorSpace(position, space, left, right) {\n if (isNaN(position) || position <= 0) {\n return left;\n }\n else if (position >= 1) {\n return right;\n }\n switch (space) {\n case ColorInterpolationSpace.HSL:\n return hslToRGB(interpolateHSL(position, rgbToHSL(left), rgbToHSL(right)));\n case ColorInterpolationSpace.HSV:\n return hsvToRGB(interpolateHSV(position, rgbToHSV(left), rgbToHSV(right)));\n case ColorInterpolationSpace.XYZ:\n return xyzToRGB(interpolateXYZ(position, rgbToXYZ(left), rgbToXYZ(right)));\n case ColorInterpolationSpace.LAB:\n return labToRGB(interpolateLAB(position, rgbToLAB(left), rgbToLAB(right)));\n case ColorInterpolationSpace.LCH:\n return lchToRGB(interpolateLCH(position, rgbToLCH(left), rgbToLCH(right)));\n default:\n return interpolateRGB(position, left, right);\n }\n}\n","import { contrastRatio } from \"./color-converters\";\nimport { ColorInterpolationSpace, interpolateByColorSpace } from \"./color-interpolation\";\n/**\n * A color scale created from linear stops\n * @public\n */\nexport class ColorScale {\n constructor(stops) {\n if (stops == null || stops.length === 0) {\n throw new Error(\"The stops argument must be non-empty\");\n }\n else {\n this.stops = this.sortColorScaleStops(stops);\n }\n }\n static createBalancedColorScale(colors) {\n if (colors == null || colors.length === 0) {\n throw new Error(\"The colors argument must be non-empty\");\n }\n const stops = new Array(colors.length);\n for (let i = 0; i < colors.length; i++) {\n // Special case first and last in order to avoid floating point jaggies\n if (i === 0) {\n stops[i] = { color: colors[i], position: 0 };\n }\n else if (i === colors.length - 1) {\n stops[i] = { color: colors[i], position: 1 };\n }\n else {\n stops[i] = {\n color: colors[i],\n position: i * (1 / (colors.length - 1)),\n };\n }\n }\n return new ColorScale(stops);\n }\n getColor(position, interpolationMode = ColorInterpolationSpace.RGB) {\n if (this.stops.length === 1) {\n return this.stops[0].color;\n }\n else if (position <= 0) {\n return this.stops[0].color;\n }\n else if (position >= 1) {\n return this.stops[this.stops.length - 1].color;\n }\n let lowerIndex = 0;\n for (let i = 0; i < this.stops.length; i++) {\n if (this.stops[i].position <= position) {\n lowerIndex = i;\n }\n }\n let upperIndex = lowerIndex + 1;\n if (upperIndex >= this.stops.length) {\n upperIndex = this.stops.length - 1;\n }\n const scalePosition = (position - this.stops[lowerIndex].position) *\n (1.0 / (this.stops[upperIndex].position - this.stops[lowerIndex].position));\n return interpolateByColorSpace(scalePosition, interpolationMode, this.stops[lowerIndex].color, this.stops[upperIndex].color);\n }\n trim(lowerBound, upperBound, interpolationMode = ColorInterpolationSpace.RGB) {\n if (lowerBound < 0 || upperBound > 1 || upperBound < lowerBound) {\n throw new Error(\"Invalid bounds\");\n }\n if (lowerBound === upperBound) {\n return new ColorScale([\n { color: this.getColor(lowerBound, interpolationMode), position: 0 },\n ]);\n }\n const containedStops = [];\n for (let i = 0; i < this.stops.length; i++) {\n if (this.stops[i].position >= lowerBound &&\n this.stops[i].position <= upperBound) {\n containedStops.push(this.stops[i]);\n }\n }\n if (containedStops.length === 0) {\n return new ColorScale([\n { color: this.getColor(lowerBound), position: lowerBound },\n { color: this.getColor(upperBound), position: upperBound },\n ]);\n }\n if (containedStops[0].position !== lowerBound) {\n containedStops.unshift({\n color: this.getColor(lowerBound),\n position: lowerBound,\n });\n }\n if (containedStops[containedStops.length - 1].position !== upperBound) {\n containedStops.push({\n color: this.getColor(upperBound),\n position: upperBound,\n });\n }\n const range = upperBound - lowerBound;\n const finalStops = new Array(containedStops.length);\n for (let i = 0; i < containedStops.length; i++) {\n finalStops[i] = {\n color: containedStops[i].color,\n position: (containedStops[i].position - lowerBound) / range,\n };\n }\n return new ColorScale(finalStops);\n }\n findNextColor(position, contrast, searchDown = false, interpolationMode = ColorInterpolationSpace.RGB, contrastErrorMargin = 0.005, maxSearchIterations = 32) {\n if (isNaN(position) || position <= 0) {\n position = 0;\n }\n else if (position >= 1) {\n position = 1;\n }\n const startingColor = this.getColor(position, interpolationMode);\n const finalPosition = searchDown ? 0 : 1;\n const finalColor = this.getColor(finalPosition, interpolationMode);\n const finalContrast = contrastRatio(startingColor, finalColor);\n if (finalContrast <= contrast) {\n return finalPosition;\n }\n let testRangeMin = searchDown ? 0 : position;\n let testRangeMax = searchDown ? position : 0;\n let mid = finalPosition;\n let iterations = 0;\n while (iterations <= maxSearchIterations) {\n mid = Math.abs(testRangeMax - testRangeMin) / 2 + testRangeMin;\n const midColor = this.getColor(mid, interpolationMode);\n const midContrast = contrastRatio(startingColor, midColor);\n if (Math.abs(midContrast - contrast) <= contrastErrorMargin) {\n return mid;\n }\n else if (midContrast > contrast) {\n if (searchDown) {\n testRangeMin = mid;\n }\n else {\n testRangeMax = mid;\n }\n }\n else {\n if (searchDown) {\n testRangeMax = mid;\n }\n else {\n testRangeMin = mid;\n }\n }\n iterations++;\n }\n return mid;\n }\n clone() {\n const newStops = new Array(this.stops.length);\n for (let i = 0; i < newStops.length; i++) {\n newStops[i] = {\n color: this.stops[i].color,\n position: this.stops[i].position,\n };\n }\n return new ColorScale(newStops);\n }\n sortColorScaleStops(stops) {\n return stops.sort((a, b) => {\n const A = a.position;\n const B = b.position;\n if (A < B) {\n return -1;\n }\n else if (A > B) {\n return 1;\n }\n else {\n return 0;\n }\n });\n }\n}\n","import { blendMultiply, blendOverlay, saturateViaLCH } from \"./color-blending\";\nimport { rgbToHSL } from \"./color-converters\";\nimport { ColorInterpolationSpace, interpolateByColorSpace } from \"./color-interpolation\";\nimport { ColorRGBA64 } from \"./color-rgba-64\";\nimport { ColorScale } from \"./color-scale\";\nimport { parseColorHexRGB } from \"./parse-color\";\n/**\n * Generates a color palette\n * @public\n */\nexport class ColorPalette {\n constructor(config) {\n this.config = Object.assign({}, ColorPalette.defaultPaletteConfig, config);\n this.palette = [];\n this.updatePaletteColors();\n }\n updatePaletteGenerationValues(newConfig) {\n let changed = false;\n for (const key in newConfig) {\n if (this.config[key]) {\n if (this.config[key].equalValue) {\n if (!this.config[key].equalValue(newConfig[key])) {\n this.config[key] = newConfig[key];\n changed = true;\n }\n }\n else {\n if (newConfig[key] !== this.config[key]) {\n this.config[key] = newConfig[key];\n changed = true;\n }\n }\n }\n }\n if (changed) {\n this.updatePaletteColors();\n }\n return changed;\n }\n updatePaletteColors() {\n const scale = this.generatePaletteColorScale();\n for (let i = 0; i < this.config.steps; i++) {\n this.palette[i] = scale.getColor(i / (this.config.steps - 1), this.config.interpolationMode);\n }\n }\n generatePaletteColorScale() {\n // Even when config.baseScalePosition is specified, using 0.5 for the baseColor\n // in the baseScale gives better results. Otherwise very off-center palettes\n // tend to go completely grey at the end furthest from the specified base color.\n const baseColorHSL = rgbToHSL(this.config.baseColor);\n const baseScale = new ColorScale([\n { position: 0, color: this.config.scaleColorLight },\n { position: 0.5, color: this.config.baseColor },\n { position: 1, color: this.config.scaleColorDark },\n ]);\n const trimmedScale = baseScale.trim(this.config.clipLight, 1 - this.config.clipDark);\n const trimmedLight = trimmedScale.getColor(0);\n const trimmedDark = trimmedScale.getColor(1);\n let adjustedLight = trimmedLight;\n let adjustedDark = trimmedDark;\n if (baseColorHSL.s >= this.config.saturationAdjustmentCutoff) {\n adjustedLight = saturateViaLCH(adjustedLight, this.config.saturationLight);\n adjustedDark = saturateViaLCH(adjustedDark, this.config.saturationDark);\n }\n if (this.config.multiplyLight !== 0) {\n const multiply = blendMultiply(this.config.baseColor, adjustedLight);\n adjustedLight = interpolateByColorSpace(this.config.multiplyLight, this.config.interpolationMode, adjustedLight, multiply);\n }\n if (this.config.multiplyDark !== 0) {\n const multiply = blendMultiply(this.config.baseColor, adjustedDark);\n adjustedDark = interpolateByColorSpace(this.config.multiplyDark, this.config.interpolationMode, adjustedDark, multiply);\n }\n if (this.config.overlayLight !== 0) {\n const overlay = blendOverlay(this.config.baseColor, adjustedLight);\n adjustedLight = interpolateByColorSpace(this.config.overlayLight, this.config.interpolationMode, adjustedLight, overlay);\n }\n if (this.config.overlayDark !== 0) {\n const overlay = blendOverlay(this.config.baseColor, adjustedDark);\n adjustedDark = interpolateByColorSpace(this.config.overlayDark, this.config.interpolationMode, adjustedDark, overlay);\n }\n if (this.config.baseScalePosition) {\n if (this.config.baseScalePosition <= 0) {\n return new ColorScale([\n { position: 0, color: this.config.baseColor },\n { position: 1, color: adjustedDark.clamp() },\n ]);\n }\n else if (this.config.baseScalePosition >= 1) {\n return new ColorScale([\n { position: 0, color: adjustedLight.clamp() },\n { position: 1, color: this.config.baseColor },\n ]);\n }\n return new ColorScale([\n { position: 0, color: adjustedLight.clamp() },\n {\n position: this.config.baseScalePosition,\n color: this.config.baseColor,\n },\n { position: 1, color: adjustedDark.clamp() },\n ]);\n }\n return new ColorScale([\n { position: 0, color: adjustedLight.clamp() },\n { position: 0.5, color: this.config.baseColor },\n { position: 1, color: adjustedDark.clamp() },\n ]);\n }\n}\nColorPalette.defaultPaletteConfig = {\n baseColor: parseColorHexRGB(\"#808080\"),\n steps: 11,\n interpolationMode: ColorInterpolationSpace.RGB,\n scaleColorLight: new ColorRGBA64(1, 1, 1, 1),\n scaleColorDark: new ColorRGBA64(0, 0, 0, 1),\n clipLight: 0.185,\n clipDark: 0.16,\n saturationAdjustmentCutoff: 0.05,\n saturationLight: 0.35,\n saturationDark: 1.25,\n overlayLight: 0,\n overlayDark: 0.25,\n multiplyLight: 0,\n multiplyDark: 0,\n baseScalePosition: 0.5,\n};\nColorPalette.greyscalePaletteConfig = {\n baseColor: parseColorHexRGB(\"#808080\"),\n steps: 11,\n interpolationMode: ColorInterpolationSpace.RGB,\n scaleColorLight: new ColorRGBA64(1, 1, 1, 1),\n scaleColorDark: new ColorRGBA64(0, 0, 0, 1),\n clipLight: 0,\n clipDark: 0,\n saturationAdjustmentCutoff: 0,\n saturationLight: 0,\n saturationDark: 0,\n overlayLight: 0,\n overlayDark: 0,\n multiplyLight: 0,\n multiplyDark: 0,\n baseScalePosition: 0.5,\n};\n/**\n * Takes the input color and compares it to each color in the reference array to find the index with the closest Lightness value in HSL color space\n * @public\n */\nexport function matchLightnessIndex(input, reference) {\n const hsl = rgbToHSL(input);\n let bestFitValue = Number.MAX_VALUE;\n let bestFitIndex = 0;\n for (let i = 0; i < reference.length; i++) {\n const ihsl = rgbToHSL(reference[i]);\n const fitValue = Math.abs(ihsl.l - hsl.l);\n if (fitValue < bestFitValue) {\n bestFitValue = fitValue;\n bestFitIndex = i;\n }\n }\n return bestFitIndex;\n}\n/**\n * Generates a greyscale palette using greyscaleConfig. The Lightness (in HSL) of the input color is then compared to the greyscale palette to determine how far off center the input color should be placed. The output palette is then generated with outputSteps number of steps using colorConfig.\n * @public\n */\nexport function generateOffCenterPalette(input, outputSteps, greyscaleConfig = ColorPalette.greyscalePaletteConfig, colorConfig = ColorPalette.defaultPaletteConfig) {\n const greyscale = new ColorPalette(Object.assign(Object.assign({}, greyscaleConfig), { steps: outputSteps }));\n const scaleIndex = matchLightnessIndex(input, greyscale.palette);\n return new ColorPalette(Object.assign(Object.assign({}, colorConfig), { steps: outputSteps, baseColor: input, baseScalePosition: scaleIndex / (outputSteps - 1) }));\n}\n/**\n * Take the input array of colors and extrapolates them to a larger palette of size targetSize. If preserveInputColors is false the input colors are evenly distributed into the output. Otherwise, the positions of the input colors are adjusted from a perfectly even distribution in order to ensure that the exact color values appearing in the input array also appear in the output array. The larger targetSize is compared to input.length the smaller those adjustments will be.\n *\n * @public\n */\nexport function rescale(input, targetSize, preserveInputColors) {\n if (input.length <= 1 || targetSize <= 1) {\n throw new Error(\"The input array and targetSize must both be greater than 1\");\n }\n if (preserveInputColors && targetSize <= input.length) {\n throw new Error(\"If preserveInputColors is true then targetSize must be greater than the length of the input array\");\n }\n const stops = new Array(input.length);\n if (preserveInputColors) {\n for (let i = 0; i < input.length; i++) {\n const p = i / (input.length - 1);\n let bestFitValue = 2;\n let bestFitIndex = 0;\n for (let j = 0; j < targetSize; j++) {\n const fitValue = Math.abs(j / (targetSize - 1) - p);\n if (fitValue < bestFitValue) {\n bestFitValue = fitValue;\n bestFitIndex = j;\n }\n if (fitValue === 0) {\n break;\n }\n }\n stops[i] = {\n color: input[i],\n position: bestFitIndex / (targetSize - 1),\n };\n }\n }\n else {\n for (let i = 0; i < stops.length; i++) {\n stops[i] = { color: input[i], position: i / (input.length - 1) };\n }\n }\n const scale = new ColorScale(stops);\n const retVal = new Array(targetSize);\n for (let i = 0; i < targetSize; i++) {\n retVal[i] = scale.getColor(i / (targetSize - 1));\n }\n return retVal;\n}\n/**\n * @public\n */\nexport const defaultCenteredRescaleConfig = {\n targetSize: 63,\n spacing: 4,\n scaleColorLight: ColorPalette.defaultPaletteConfig.scaleColorLight,\n scaleColorDark: ColorPalette.defaultPaletteConfig.scaleColorDark,\n};\n/**\n * Takes an input array of colors and extrapolates them to a larger palette. The mapping first takes the input array and extrapolates between each color so that they are separated by spacing-1 slots. Then it adds to either end enough new colors to make up the desired targetSize. All output color slots between the defined stops are interpolated.\n * @example\n * For an input array with length 5, a targetSize of 17 and spacing of 3 the output would be:\n * 0: scaleColorLight\n * 1:\n * 2: input 0\n * 3:\n * 4:\n * 5: input 1\n * 6:\n * 7:\n * 8: input 2\n * 9:\n * 10:\n * 11: input 3\n * 12:\n * 13:\n * 14: input 4\n * 15:\n * 16: scaleColorDark\n *\n * @public\n */\nexport function centeredRescale(input, config = defaultCenteredRescaleConfig) {\n if (input.length === 0) {\n return [];\n }\n const offset = Math.floor((config.targetSize - ((input.length - 1) * config.spacing + 1)) / 2);\n if (offset < 0) {\n throw new Error(\"(targetSize - ((input.length - 1) * spacing + 1)) / 2 must be >= 0\");\n }\n const stops = new Array(input.length + 2);\n stops[0] = { position: 0, color: config.scaleColorLight };\n stops[stops.length - 1] = {\n position: 1,\n color: config.scaleColorDark,\n };\n for (let i = 0; i < input.length; i++) {\n stops[i + 1] = {\n color: input[i],\n position: (i * config.spacing + offset) / (config.targetSize - 1),\n };\n }\n const scale = new ColorScale(stops);\n const retVal = new Array(config.targetSize);\n for (let i = 0; i < config.targetSize; i++) {\n retVal[i] = scale.getColor(i / (config.targetSize - 1));\n }\n return retVal;\n}\n/**\n * Generates two palettes of length shortPaletteLength and longPaletteLength from a base color. The base color is compared to the default greyscale palette to determine where it should be placed. The short palette is then fed into centeredRescale to create the long palette. The colors in the short palette are always contained within the long.\n * @public\n */\nexport function generateScaledPalettes(input, shortPaletteLength = 11, config = defaultCenteredRescaleConfig) {\n const shortPalette = generateOffCenterPalette(input, shortPaletteLength);\n const longPalette = centeredRescale(shortPalette.palette, config);\n return { short: shortPalette.palette, long: longPalette };\n}\n","import { ColorRGBA64 } from \"./color-rgba-64\";\nimport { ColorPalette } from \"./color-palette\";\nimport { hslToRGB, rgbToHSL, rgbToLinearLuminance } from \"./color-converters\";\nimport { ColorScale } from \"./color-scale\";\nimport { ColorHSL } from \"./color-hsl\";\nimport { ColorInterpolationSpace } from \"./color-interpolation\";\nimport { parseColorHexRGB } from \"./parse-color\";\n/**\n * Creates a color palette for UI components\n * @public\n */\nexport class ComponentStateColorPalette {\n constructor(config) {\n this.palette = [];\n this.config = Object.assign({}, ComponentStateColorPalette.defaultPaletteConfig, config);\n this.regenPalettes();\n }\n regenPalettes() {\n let steps = this.config.steps;\n if (isNaN(steps) || steps < 3) {\n steps = 3;\n }\n // This palette is tuned to go as dark as differences between the levels can be perceived according to tests\n // on numerous monitors in different conditions. Stay linear from white until this first cutoff.\n const darkLum = 0.14;\n // In the dark compression, this is the last luminance value before full black.\n const darkestLum = 0.06;\n // The Color for the luminance value above, placed on the ramp at it's normal position, so darker colors after\n // it can be compressed.\n const darkLumColor = new ColorRGBA64(darkLum, darkLum, darkLum, 1);\n // The number of steps in the ramp that has been tuned for default use. This coincides with the size of the\n // default ramp, but the palette could be generated with fewer steps to increase final contrast. This number\n // should however stay the same.\n const stepsForLuminanceRamp = 94;\n // Create the reference, dark-compressed, grey palette, like:\n // F------------------------------------------------------------------------------------[dark]------[darkest]0\n // |--compressed area--|\n const r = new ColorPalette(Object.assign(Object.assign({}, ColorPalette.greyscalePaletteConfig), { baseColor: darkLumColor, baseScalePosition: ((1 - darkLum) * 100) / stepsForLuminanceRamp, steps }));\n const referencePalette = r.palette;\n // Find the requested base color on the adjusted luminance reference ramp.\n // There is no _right_ way to desaturate a color, and both methods we've tested have value, so average them out.\n const baseColorLum1 = rgbToLinearLuminance(this.config.baseColor);\n const baseColorLum2 = rgbToHSL(this.config.baseColor).l;\n const baseColorLum = (baseColorLum1 + baseColorLum2) / 2;\n const baseColorRefIndex = this.matchRelativeLuminanceIndex(baseColorLum, referencePalette);\n const baseColorPercent = baseColorRefIndex / (steps - 1);\n // Find the luminance location for the dark cutoff.\n const darkRefIndex = this.matchRelativeLuminanceIndex(darkLum, referencePalette);\n const darkPercent = darkRefIndex / (steps - 1);\n // Issue https://github.com/microsoft/fast/issues/1904\n // Creating a color from H, S, and a known L value is not the inverse of getting the relative\n // luminace as above. Need to derive a relative luminance version of the color to better match on the dark end.\n // Find the dark cutoff and darkest variations of the requested base color.\n const baseColorHSL = rgbToHSL(this.config.baseColor);\n const darkBaseColor = hslToRGB(ColorHSL.fromObject({\n h: baseColorHSL.h,\n s: baseColorHSL.s,\n l: darkLum,\n }));\n const darkestBaseColor = hslToRGB(ColorHSL.fromObject({\n h: baseColorHSL.h,\n s: baseColorHSL.s,\n l: darkestLum,\n }));\n // Create the gradient stops, including the base color and anchor colors for the dark end compression.\n const fullColorScaleStops = new Array(5);\n fullColorScaleStops[0] = {\n position: 0,\n color: new ColorRGBA64(1, 1, 1, 1),\n };\n fullColorScaleStops[1] = {\n position: baseColorPercent,\n color: this.config.baseColor,\n };\n fullColorScaleStops[2] = {\n position: darkPercent,\n color: darkBaseColor,\n };\n fullColorScaleStops[3] = {\n position: 0.99,\n color: darkestBaseColor,\n };\n fullColorScaleStops[4] = {\n position: 1,\n color: new ColorRGBA64(0, 0, 0, 1),\n };\n const scale = new ColorScale(fullColorScaleStops);\n // Create the palette.\n this.palette = new Array(steps);\n for (let i = 0; i < steps; i++) {\n const c = scale.getColor(i / (steps - 1), ColorInterpolationSpace.RGB);\n this.palette[i] = c;\n }\n }\n matchRelativeLuminanceIndex(input, reference) {\n let bestFitValue = Number.MAX_VALUE;\n let bestFitIndex = 0;\n let i = 0;\n const referenceLength = reference.length;\n for (; i < referenceLength; i++) {\n const fitValue = Math.abs(rgbToLinearLuminance(reference[i]) - input);\n if (fitValue < bestFitValue) {\n bestFitValue = fitValue;\n bestFitIndex = i;\n }\n }\n return bestFitIndex;\n }\n}\nComponentStateColorPalette.defaultPaletteConfig = {\n baseColor: parseColorHexRGB(\"#808080\"),\n steps: 94,\n};\n","var __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};\nimport React from \"react\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { Button, } from \"@microsoft/fast-components-react-base\";\nimport { Image, StealthButton } from \"@microsoft/fast-components-react-msft\";\nimport { TopicCardSize, } from \"./topic-card.props\";\nimport { parseColorHexRGB } from \"@microsoft/fast-colors\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport { DesignSystemProvider } from \"@microsoft/fast-jss-manager-react\";\nimport { accentForegroundRest, createColorPalette, } from \"@microsoft/fast-components-styles-msft\";\nimport { memoize } from \"lodash-es\";\nconst greenDesignSystem = {\n accentPalette: createColorPalette(parseColorHexRGB(\"#006D21\")),\n accentBaseColor: \"#006D21\",\n};\nclass TopicCard extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n backplate: void 0,\n followButton: void 0,\n isFollowed: void 0,\n isFollowedIcon: void 0,\n isNotFollowedIcon: void 0,\n image: void 0,\n managedClasses: void 0,\n topic: void 0,\n size: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n const { topicCard_contentRegion, topicCard_image, } = this.props.managedClasses;\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() }),\n React.createElement(\"div\", { className: classNames(topicCard_contentRegion) },\n React.createElement(Image, Object.assign({}, this.props.image, { className: classNames(topicCard_image) })),\n this.generateTopicCardTitle(),\n this.generateTopicCardAction())));\n }\n /**\n * Generates the root element class names\n */\n generateClassNames() {\n const { topicCard, topicCard__isFollowed, topicCard__isNotFollowed, topicCard__small, topicCard__large, topicCard__backplate, } = this.props.managedClasses;\n const sizeClassName = this.props.size === TopicCardSize.large ? topicCard__large : topicCard__small;\n const isFollowed = !!this.props.isFollowed;\n return super.generateClassNames(classNames(topicCard, sizeClassName, [topicCard__backplate, this.props.backplate], [topicCard__isFollowed, isFollowed], [topicCard__isNotFollowed, !isFollowed]));\n }\n /**\n * Generates the topic card title\n */\n generateTopicCardTitle() {\n const { topicCard_topic, topicCard_topicContent, } = this.props.managedClasses;\n const _a = this.props.topic, { children, className } = _a, topicProps = __rest(_a, [\"children\", \"className\"]);\n return (React.createElement(Button, Object.assign({}, topicProps, { className: classNames(topicCard_topic, [className, !!className]) }),\n React.createElement(\"span\", { className: classNames(topicCard_topicContent) }, children)));\n }\n /**\n * Generates the markup for the topic card action area\n */\n generateTopicCardAction() {\n const { topicCard_actionRegion, topicCard_followButton, topicCard_isFollowedIcon, topicCard_isNotFollowedIcon, } = this.props.managedClasses;\n return (React.createElement(\"div\", { className: classNames(topicCard_actionRegion) },\n React.createElement(DesignSystemProvider, { designSystem: greenDesignSystem },\n React.createElement(StealthButton, Object.assign({}, this.props.followButton, { className: classNames(topicCard_followButton), jssStyleSheet: TopicCard.generateGreenAccentStyles(this.props.isFollowed) }),\n typeof this.props.isFollowedIcon === \"function\"\n ? this.props.isFollowedIcon(classNames(topicCard_isFollowedIcon))\n : null,\n typeof this.props.isNotFollowedIcon === \"function\"\n ? this.props.isNotFollowedIcon(classNames(topicCard_isNotFollowedIcon))\n : null))));\n }\n}\nTopicCard.defaultProps = {\n backplate: true,\n size: TopicCardSize.small,\n isFollowed: false,\n managedClasses: {},\n};\nTopicCard.displayName = \"TopicCard\";\nTopicCard.generateGreenAccentStyles = memoize((isFollowed) => ({\n button: {\n \"& svg\": {\n fill: isFollowed ? accentForegroundRest : null,\n },\n },\n}), (...args) => args.join());\nexport { TopicCard };\nexport * from \"./topic-card.props\";\n","import { ComponentStateColorPalette } from \"@microsoft/fast-colors\";\nexport function createColorPalette(baseColor) {\n return new ComponentStateColorPalette({\n baseColor,\n }).palette.map((color) => color.toStringHexRGB().toUpperCase());\n}\n","import { applyElevatedCornerRadius, applyElevation, applyFontWeightBold, applyScaledTypeRamp, ElevationMultiplier, focusOutlineWidth, glyphSize, heightNumber, HighContrastColor, highContrastForeground, highContrastHighlightBackground, highContrastOptOutProperty, highContrastSelectedForeground, highContrastSelector, neutralFillStealthActive, neutralFillStealthHover, neutralFocus, neutralForegroundRest, outlineWidth, } from \"@microsoft/fast-components-styles-msft\";\nimport { add, applyFocusVisible, applyMaxLines, directionSwitch, format, multiply, toPx, } from \"@microsoft/fast-jss-utilities\";\nconst buttonMargin = 8;\nconst smallImageMargin = 16;\nconst largeImageMargin = 16;\nconst iconAttributes = Object.assign({ position: \"absolute\", display: \"inline-block\", top: \"50%\", left: \"50%\", transform: \"translate(-50%, -50%)\", height: glyphSize, width: glyphSize }, highContrastForeground);\nconst styles = {\n topicCard: Object.assign(Object.assign({ position: \"relative\", width: \"100%\" }, applyElevatedCornerRadius()), { overflow: \"hidden\" }),\n topicCard_contentRegion: {\n display: \"flex\",\n \"flex-direction\": \"row\",\n \"align-items\": \"center\",\n },\n topicCard_image: {},\n topicCard_topic: Object.assign({ flex: \"1\", padding: \"0\", border: \"0\", \"text-decoration\": \"none\", \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n top: \"0\",\n left: \"0\",\n } }, applyFocusVisible({\n \"&::before\": {\n outline: format(\"2px solid {0}\", neutralFocus),\n [highContrastSelector]: {\n outline: format(`2px solid ${HighContrastColor.selectedBackground}`),\n },\n },\n })),\n topicCard_topicContent: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ \"z-index\": \"1\", color: neutralForegroundRest }, applyMaxLines(1, 16)), applyScaledTypeRamp(\"t8\")), applyFontWeightBold()), { \"text-overflow\": \"ellipsis\", \"text-align\": directionSwitch(\"left\", \"right\") }), highContrastForeground),\n topicCard_followButton: Object.assign(Object.assign({ display: \"flex\", position: \"relative\", overflow: \"hidden\", background: \"transparent\", \"text-transform\": \"none\", \"text-decoration\": \"none\", border: \"1px solid transparent\", padding: \"0\", cursor: \"pointer\", fill: neutralForegroundRest, \"margin-left\": directionSwitch(toPx(buttonMargin), \"\"), \"margin-right\": directionSwitch(\"\", toPx(buttonMargin)) }, applyFocusVisible({\n background: neutralFillStealthHover,\n \"border-color\": neutralFocus,\n \"box-shadow\": format(\"inset 0 0 0 1px {0}\", neutralFocus),\n [highContrastSelector]: {\n background: HighContrastColor.selectedBackground,\n \"border-color\": HighContrastColor.buttonText,\n \"box-shadow\": format(`0 0 0 {0} inset ${HighContrastColor.buttonBackground}`, toPx(focusOutlineWidth)),\n },\n \"& $topicCard_isNotFollowedIcon, & $topicCard_isFollowedIcon\": Object.assign({}, highContrastSelectedForeground),\n })), { \"&:hover\": Object.assign(Object.assign({ background: neutralFillStealthHover }, highContrastHighlightBackground), { \"& $topicCard_isNotFollowedIcon, & $topicCard_isFollowedIcon\": Object.assign({}, highContrastSelectedForeground) }), \"&:active\": {\n background: neutralFillStealthActive,\n }, [highContrastSelector]: Object.assign(Object.assign({}, highContrastOptOutProperty), { background: HighContrastColor.buttonBackground, border: format(`{0} solid ${HighContrastColor.buttonText}`, toPx(outlineWidth)) }) }),\n topicCard_actionRegion: {},\n topicCard_isFollowedIcon: Object.assign({}, iconAttributes),\n topicCard_isNotFollowedIcon: Object.assign({}, iconAttributes),\n topicCard__isFollowed: {\n \"& $topicCard_isFollowedIcon\": {\n transition: \"all 0.4s 0s ease\",\n opacity: \"1\",\n },\n \"& $topicCard_isNotFollowedIcon\": {\n opacity: \"0\",\n },\n },\n topicCard__isNotFollowed: {\n \"& $topicCard_isNotFollowedIcon\": {\n transition: \"all 0.4s 0s ease\",\n opacity: \"1\",\n },\n \"& $topicCard_isFollowedIcon\": {\n opacity: \"0\",\n },\n },\n topicCard__backplate: Object.assign(Object.assign({}, applyElevation(ElevationMultiplier.e4)), { transition: \"all 0.2s 0s ease\", \"&:hover\": Object.assign(Object.assign({}, applyElevation(ElevationMultiplier.e6)), { [highContrastSelector]: {\n border: format(`{0} solid ${HighContrastColor.selectedBackground}`, toPx(outlineWidth)),\n } }), [highContrastSelector]: Object.assign(Object.assign({}, highContrastOptOutProperty), { border: format(`{0} solid ${HighContrastColor.text}`, toPx(outlineWidth)) }) }),\n topicCard__small: {\n \"& $topicCard_followButton\": {\n width: toPx(heightNumber(1.5)),\n height: toPx(heightNumber(1.5)),\n },\n \"& $topicCard_image\": {\n width: toPx(heightNumber(1.5)),\n \"max-height\": toPx(heightNumber(1.5)),\n },\n \"& $topicCard_topic\": {\n \"margin-left\": directionSwitch(toPx(smallImageMargin), \"\"),\n \"margin-right\": directionSwitch(\"\", toPx(smallImageMargin)),\n \"max-width\": `calc(100% - ${toPx(add(multiply(heightNumber(1.5), 2), smallImageMargin))})`,\n },\n },\n topicCard__large: {\n \"& $topicCard_followButton\": {\n width: toPx(multiply(heightNumber(2.5), 0.75)),\n height: toPx(heightNumber(2.5)),\n },\n \"& $topicCard_image\": {\n width: toPx(heightNumber(2.5)),\n \"max-height\": toPx(heightNumber(2.5)),\n },\n \"& $topicCard_topic\": {\n \"margin-left\": directionSwitch(toPx(largeImageMargin), \"\"),\n \"margin-right\": directionSwitch(\"\", toPx(largeImageMargin)),\n \"max-width\": `calc(100% - ${toPx(add(heightNumber(2.5), largeImageMargin, multiply(heightNumber(2.5), 0.75)))})`,\n },\n },\n};\nexport default styles;\n","import { TopicCard as BaseTopicCard, TopicCardSize, } from \"./topic-card\";\nimport TopicCardStyles from \"./topic-card.style\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport topicCardSchema from \"./topic-card.schema\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\n/* tslint:disable-next-line:typedef */\nconst TopicCard = manageJss(TopicCardStyles)(BaseTopicCard);\nexport { TopicCard, TopicCardSize, topicCardSchema, };\n","/*\n * Key Code values\n * @deprecated - use individual keycode exports\n */\nexport var KeyCodes;\n(function (KeyCodes) {\n KeyCodes[KeyCodes[\"alt\"] = 18] = \"alt\";\n KeyCodes[KeyCodes[\"arrowDown\"] = 40] = \"arrowDown\";\n KeyCodes[KeyCodes[\"arrowLeft\"] = 37] = \"arrowLeft\";\n KeyCodes[KeyCodes[\"arrowRight\"] = 39] = \"arrowRight\";\n KeyCodes[KeyCodes[\"arrowUp\"] = 38] = \"arrowUp\";\n KeyCodes[KeyCodes[\"back\"] = 8] = \"back\";\n KeyCodes[KeyCodes[\"backSlash\"] = 220] = \"backSlash\";\n KeyCodes[KeyCodes[\"break\"] = 19] = \"break\";\n KeyCodes[KeyCodes[\"capsLock\"] = 20] = \"capsLock\";\n KeyCodes[KeyCodes[\"closeBracket\"] = 221] = \"closeBracket\";\n KeyCodes[KeyCodes[\"colon\"] = 186] = \"colon\";\n KeyCodes[KeyCodes[\"colon2\"] = 59] = \"colon2\";\n KeyCodes[KeyCodes[\"comma\"] = 188] = \"comma\";\n KeyCodes[KeyCodes[\"ctrl\"] = 17] = \"ctrl\";\n KeyCodes[KeyCodes[\"delete\"] = 46] = \"delete\";\n KeyCodes[KeyCodes[\"end\"] = 35] = \"end\";\n KeyCodes[KeyCodes[\"enter\"] = 13] = \"enter\";\n KeyCodes[KeyCodes[\"equals\"] = 187] = \"equals\";\n KeyCodes[KeyCodes[\"equals2\"] = 61] = \"equals2\";\n KeyCodes[KeyCodes[\"equals3\"] = 107] = \"equals3\";\n KeyCodes[KeyCodes[\"escape\"] = 27] = \"escape\";\n KeyCodes[KeyCodes[\"forwardSlash\"] = 191] = \"forwardSlash\";\n KeyCodes[KeyCodes[\"function1\"] = 112] = \"function1\";\n KeyCodes[KeyCodes[\"function10\"] = 121] = \"function10\";\n KeyCodes[KeyCodes[\"function11\"] = 122] = \"function11\";\n KeyCodes[KeyCodes[\"function12\"] = 123] = \"function12\";\n KeyCodes[KeyCodes[\"function2\"] = 113] = \"function2\";\n KeyCodes[KeyCodes[\"function3\"] = 114] = \"function3\";\n KeyCodes[KeyCodes[\"function4\"] = 115] = \"function4\";\n KeyCodes[KeyCodes[\"function5\"] = 116] = \"function5\";\n KeyCodes[KeyCodes[\"function6\"] = 117] = \"function6\";\n KeyCodes[KeyCodes[\"function7\"] = 118] = \"function7\";\n KeyCodes[KeyCodes[\"function8\"] = 119] = \"function8\";\n KeyCodes[KeyCodes[\"function9\"] = 120] = \"function9\";\n KeyCodes[KeyCodes[\"home\"] = 36] = \"home\";\n KeyCodes[KeyCodes[\"insert\"] = 45] = \"insert\";\n KeyCodes[KeyCodes[\"menu\"] = 93] = \"menu\";\n KeyCodes[KeyCodes[\"minus\"] = 189] = \"minus\";\n KeyCodes[KeyCodes[\"minus2\"] = 109] = \"minus2\";\n KeyCodes[KeyCodes[\"numLock\"] = 144] = \"numLock\";\n KeyCodes[KeyCodes[\"numPad0\"] = 96] = \"numPad0\";\n KeyCodes[KeyCodes[\"numPad1\"] = 97] = \"numPad1\";\n KeyCodes[KeyCodes[\"numPad2\"] = 98] = \"numPad2\";\n KeyCodes[KeyCodes[\"numPad3\"] = 99] = \"numPad3\";\n KeyCodes[KeyCodes[\"numPad4\"] = 100] = \"numPad4\";\n KeyCodes[KeyCodes[\"numPad5\"] = 101] = \"numPad5\";\n KeyCodes[KeyCodes[\"numPad6\"] = 102] = \"numPad6\";\n KeyCodes[KeyCodes[\"numPad7\"] = 103] = \"numPad7\";\n KeyCodes[KeyCodes[\"numPad8\"] = 104] = \"numPad8\";\n KeyCodes[KeyCodes[\"numPad9\"] = 105] = \"numPad9\";\n KeyCodes[KeyCodes[\"numPadDivide\"] = 111] = \"numPadDivide\";\n KeyCodes[KeyCodes[\"numPadDot\"] = 110] = \"numPadDot\";\n KeyCodes[KeyCodes[\"numPadMinus\"] = 109] = \"numPadMinus\";\n KeyCodes[KeyCodes[\"numPadMultiply\"] = 106] = \"numPadMultiply\";\n KeyCodes[KeyCodes[\"numPadPlus\"] = 107] = \"numPadPlus\";\n KeyCodes[KeyCodes[\"openBracket\"] = 219] = \"openBracket\";\n KeyCodes[KeyCodes[\"pageDown\"] = 34] = \"pageDown\";\n KeyCodes[KeyCodes[\"pageUp\"] = 33] = \"pageUp\";\n KeyCodes[KeyCodes[\"period\"] = 190] = \"period\";\n KeyCodes[KeyCodes[\"print\"] = 44] = \"print\";\n KeyCodes[KeyCodes[\"quote\"] = 222] = \"quote\";\n KeyCodes[KeyCodes[\"scrollLock\"] = 145] = \"scrollLock\";\n KeyCodes[KeyCodes[\"shift\"] = 16] = \"shift\";\n KeyCodes[KeyCodes[\"space\"] = 32] = \"space\";\n KeyCodes[KeyCodes[\"tab\"] = 9] = \"tab\";\n KeyCodes[KeyCodes[\"tilde\"] = 192] = \"tilde\";\n KeyCodes[KeyCodes[\"windowsLeft\"] = 91] = \"windowsLeft\";\n KeyCodes[KeyCodes[\"windowsOpera\"] = 219] = \"windowsOpera\";\n KeyCodes[KeyCodes[\"windowsRight\"] = 92] = \"windowsRight\";\n})(KeyCodes || (KeyCodes = {}));\nexport const keyCodeAlt = 18;\nexport const keyCodeArrowDown = 40;\nexport const keyCodeArrowLeft = 37;\nexport const keyCodeArrowRight = 39;\nexport const keyCodeArrowUp = 38;\nexport const keyCodeBack = 8;\nexport const keyCodeBackSlash = 220;\nexport const keyCodeBreak = 19;\nexport const keyCodeCapsLock = 20;\nexport const keyCodeCloseBracket = 221;\nexport const keyCodeColon = 186;\nexport const keyCodeColon2 = 59; // Opera and Firefox\nexport const keyCodeComma = 188;\nexport const keyCodeCtrl = 17;\nexport const keyCodeDelete = 46;\nexport const keyCodeEnd = 35;\nexport const keyCodeEnter = 13;\nexport const keyCodeEquals = 187;\nexport const keyCodeEquals2 = 61; // Opera\nexport const keyCodeEquals3 = 107; // Firefox\nexport const keyCodeEscape = 27;\nexport const keyCodeForwardSlash = 191;\nexport const keyCodeFunction1 = 112;\nexport const keyCodeFunction10 = 121;\nexport const keyCodeFunction11 = 122;\nexport const keyCodeFunction12 = 123;\nexport const keyCodeFunction2 = 113;\nexport const keyCodeFunction3 = 114;\nexport const keyCodeFunction4 = 115;\nexport const keyCodeFunction5 = 116;\nexport const keyCodeFunction6 = 117;\nexport const keyCodeFunction7 = 118;\nexport const keyCodeFunction8 = 119;\nexport const keyCodeFunction9 = 120;\nexport const keyCodeHome = 36;\nexport const keyCodeInsert = 45;\nexport const keyCodeMenu = 93;\nexport const keyCodeMinus = 189;\nexport const keyCodeMinus2 = 109; // Opera and Firefox\nexport const keyCodeNumLock = 144;\nexport const keyCodeNumPad0 = 96;\nexport const keyCodeNumPad1 = 97;\nexport const keyCodeNumPad2 = 98;\nexport const keyCodeNumPad3 = 99;\nexport const keyCodeNumPad4 = 100;\nexport const keyCodeNumPad5 = 101;\nexport const keyCodeNumPad6 = 102;\nexport const keyCodeNumPad7 = 103;\nexport const keyCodeNumPad8 = 104;\nexport const keyCodeNumPad9 = 105;\nexport const keyCodeNumPadDivide = 111;\nexport const keyCodeNumPadDot = 110;\nexport const keyCodeNumPadMinus = 109;\nexport const keyCodeNumPadMultiply = 106;\nexport const keyCodeNumPadPlus = 107;\nexport const keyCodeOpenBracket = 219;\nexport const keyCodePageDown = 34;\nexport const keyCodePageUp = 33;\nexport const keyCodePeriod = 190;\nexport const keyCodePrint = 44;\nexport const keyCodeQuote = 222;\nexport const keyCodeScrollLock = 145;\nexport const keyCodeShift = 16;\nexport const keyCodeSpace = 32;\nexport const keyCodeTab = 9;\nexport const keyCodeTilde = 192;\nexport const keyCodeWindowsLeft = 91;\nexport const keyCodeWindowsOpera = 219; // Opera\nexport const keyCodeWindowsRight = 92;\n","import { __decorate } from \"tslib\";\nimport { FASTElement, observable } from \"@microsoft/fast-element\";\nimport { StartEnd, applyMixins } from \"@microsoft/fast-foundation\";\nimport { keyCodeEnter, keyCodeSpace } from \"@microsoft/fast-web-utilities\";\nimport { throttle } from \"lodash-es\";\nexport class FeedNavigation extends FASTElement {\n constructor() {\n super(...arguments);\n /** Localized strings used for tool tip and aria-label */\n this.localizedStrings = {};\n /** Flag to show/hide overflow button */\n this.isOverflowing = false;\n /** Flag to show/hide overflow menu */\n this.showMenu = false;\n /** Items overflowing horizontal nav, these will be shown in overflow menu */\n this.overflowItems = [];\n /** ResizeObserver instance that watches for horizontal nav container resize event */\n this.resizeObserver = new window.ResizeObserver(throttle(this.onContainerResize.bind(this), 200));\n /** Nav item click handler */\n this.onNavItemClick = (selectedNav) => {\n const itemId = selectedNav.id;\n this.activeId = itemId;\n this.change(selectedNav);\n this.showMenu = false;\n };\n this.onNavItemKeyPress = (event, selectedNav) => {\n const { keyCode } = event;\n if (keyCode !== keyCodeEnter && keyCode !== keyCodeSpace) {\n return;\n }\n this.onNavItemClick(selectedNav);\n event.preventDefault();\n };\n /** Overflow menu button click handler */\n this.toggleOverflowMenu = (event) => {\n event.stopPropagation();\n if (this.showMenu === true) {\n this.hideOverflowMenu();\n }\n else {\n this.showOverflowMenu();\n }\n };\n this.change = (navItem) => {\n this.$emit(\"change\", { selectedNav: navItem });\n };\n this.onClickOutside = (event) => {\n if (event.target instanceof FeedNavigation) {\n return;\n }\n this.hideOverflowMenu();\n };\n }\n /**\n * Connected callback\n */\n connectedCallback() {\n super.connectedCallback();\n this.resizeObserver.observe(this.navContainer);\n }\n /**\n * Disconnected callback\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.resizeObserver.disconnect();\n }\n /**\n * Data change subscription\n * @param oldValue - old value\n * @param newValue - new value\n */\n dataChanged(oldValue, newValue) {\n if (!newValue || !newValue.length) {\n return;\n }\n this.activeId = null;\n newValue.forEach((item, index) => {\n item.id = item.id || `nav-${index}`;\n if (!this.activeId && item.isActive === true) {\n this.activeId = item.id;\n }\n });\n if (oldValue) {\n requestAnimationFrame(() => {\n this.onContainerResize();\n if (this.activeId) {\n const activeElement = this.navContainer.querySelector(`#${this.activeId}`);\n activeElement && activeElement.focus();\n }\n });\n }\n }\n showOverflowMenu() {\n this.showMenu = true;\n document.addEventListener(\"click\", this.onClickOutside);\n }\n hideOverflowMenu() {\n this.showMenu = false;\n document.removeEventListener(\"click\", this.onClickOutside);\n }\n onContainerResize() {\n this.overflowItems = [];\n this.showMenu = false;\n let width = 0;\n const containerWidth = this.navContainer.offsetWidth;\n Array.from(this.navContainer.children).forEach((navElement, index) => {\n const navItem = this.data[index];\n if (!navItem) {\n return;\n }\n width += navElement.offsetWidth;\n if (width > containerWidth) {\n this.overflowItems.push(navItem);\n navElement.classList.add(\"hidden\");\n }\n else {\n navElement.classList.remove(\"hidden\");\n }\n });\n this.isOverflowing = !!this.overflowItems.length;\n }\n}\n__decorate([\n observable\n], FeedNavigation.prototype, \"data\", void 0);\n__decorate([\n observable\n], FeedNavigation.prototype, \"localizedStrings\", void 0);\n__decorate([\n observable\n], FeedNavigation.prototype, \"activeId\", void 0);\n__decorate([\n observable\n], FeedNavigation.prototype, \"isOverflowing\", void 0);\n__decorate([\n observable\n], FeedNavigation.prototype, \"showMenu\", void 0);\n__decorate([\n observable\n], FeedNavigation.prototype, \"overflowItems\", void 0);\napplyMixins(FeedNavigation, StartEnd);\n","import { __decorate } from \"tslib\";\nimport { attr } from \"@microsoft/fast-element\";\nimport { Anchor } from \"@microsoft/fast-foundation\";\nexport class FeedNavigationItem extends Anchor {\n constructor() {\n super(...arguments);\n this.active = false;\n }\n}\n__decorate([\n attr({ mode: \"boolean\" })\n], FeedNavigationItem.prototype, \"active\", void 0);\n","import { accentFillActiveBehavior, accentFillHoverBehavior, accentFillRestBehavior, neutralFillActiveBehavior, neutralFillFocusBehavior, neutralFillHoverBehavior, neutralFillRestBehavior, neutralFocusBehavior, neutralForegroundActiveBehavior, neutralForegroundRestBehavior, neutralOutlineRestBehavior, } from \"@fluentui/web-components\";\nimport { display, focusVisible } from \"@microsoft/fast-foundation\";\nimport { css } from \"@microsoft/fast-element\";\nexport const FeedNavigationItemStyles = css `\n ${display(\"flex\")} :host {\n font-family: var(--body-font);\n outline: none;\n }\n\n .control {\n font-size: var(--type-ramp-base-font-size);\n line-height: var(--type-ramp-base-line-height);\n box-sizing: border-box;\n justify-content: center;\n align-items: center;\n white-space: nowrap;\n outline: none;\n text-decoration: none;\n cursor: pointer;\n color: ${neutralForegroundRestBehavior.var};\n fill: ${neutralForegroundRestBehavior.var};\n border-bottom: 2px solid transparent;\n }\n\n :host([active]) .control {\n border-color: ${accentFillActiveBehavior.var};\n color: ${neutralForegroundActiveBehavior.var};\n fill: ${neutralForegroundActiveBehavior.var};\n font-weight: 600;\n }\n\n :host([active]) .control:hover {\n border-color: ${accentFillHoverBehavior.var};\n }\n\n :host([active]) .control:active {\n border-color: ${accentFillActiveBehavior.var};\n }\n\n .control:hover {\n border-color: ${neutralFillHoverBehavior.var};\n }\n\n .control:active {\n border-color: ${neutralForegroundActiveBehavior.var};\n }\n\n .control:${focusVisible} {\n outline: none;\n border-color: ${neutralFocusBehavior.var};\n }\n\n .control::-moz-focus-inner {\n border: 0;\n }\n\n :host(.disabled) {\n opacity: var(--disabled-opacity);\n }\n`.withBehaviors(accentFillActiveBehavior, accentFillHoverBehavior, accentFillRestBehavior, neutralFillActiveBehavior, neutralFillFocusBehavior, neutralFillHoverBehavior, neutralFillRestBehavior, neutralFocusBehavior, neutralForegroundRestBehavior, neutralOutlineRestBehavior);\n","import { html } from \"@microsoft/fast-element\";\nimport { startTemplate } from \"@microsoft/fast-foundation\";\nexport const FeedNavigationItemTemplate = html `\n x.download}\"\n href=\"${x => x.href}\"\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n role=\"menuitem\"\n tabindex=\"0\"\n >\n ${startTemplate}\n \n \n \n \n`;\n","import { __decorate } from \"tslib\";\nimport { FeedNavigationItem } from \"./feed-navigation-item\";\nimport { customElement } from \"@microsoft/fast-element\";\nimport { FeedNavigationItemStyles as styles } from \"./feed-navigation-item.styles\";\nimport { FeedNavigationItemTemplate as template } from \"./feed-navigation-item.template\";\n/**\n * @public\n */\nlet MsftFeedNavigationItem = class MsftFeedNavigationItem extends FeedNavigationItem {\n};\nMsftFeedNavigationItem = __decorate([\n customElement({\n name: \"msft-feed-navigation-item\",\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true,\n },\n })\n], MsftFeedNavigationItem);\nexport { MsftFeedNavigationItem };\n","import { html, ref, repeat } from \"@microsoft/fast-element\";\nimport { FluentButton } from \"@fluentui/web-components\";\nimport { MsftFeedNavigationItem } from \"../feed-navigation-item\";\nimport { endTemplate } from \"@microsoft/fast-foundation\";\nimport { horizontalThreeDots } from \"../svg\";\n// prevent tree shaking\nMsftFeedNavigationItem;\nFluentButton;\nconst overflowButtonId = \"overflow-menu-button\";\nconst navItemTemplate = html `\n
  • x.showPipeSeparator && \"pipe\"}\">\n x.id}\"\n href=\"${x => x.href}\"\n role=\"none\"\n active=${(x, c) => x.id === c.parent.activeId || null}\n @click=\"${(x, c) => c.parent.onNavItemClick(x)}\"\n @keypress=\"${(x, c) => c.parent.onNavItemKeyPress(c.event, x)}\"\n >\n ${x => x.display}\n \n
  • \n`;\nconst overflowButton = html `\n x.localizedStrings.overflowButtonTooltip || null}\"\n title=\"${x => x.localizedStrings.overflowButtonTooltip || null}\"\n aria-haspopup=\"true\"\n aria-expanded=\"${x => (x.showMenu ? \"true\" : null)}\"\n @click=${(x, c) => x.toggleOverflowMenu(c.event)}\n >\n ${horizontalThreeDots}\n \n`;\nconst overflowTemplate = html `\n (x.isOverflowing ? \"overflowContainer\" : \"overflowContainer hidden\")}\n >\n ${overflowButton}\n (x.showMenu ? \"overflowMenu\" : \"hidden\")}\n role=\"menu\"\n aria-labelledby=\"${overflowButtonId}\"\n >\n ${repeat(x => x.overflowItems, navItemTemplate)}\n \n
    \n`;\nexport const FeedNavigationTemplate = html `\n \n`;\n","import { DirectionalStyleSheetBehavior, display } from \"@microsoft/fast-foundation\";\nimport { elevation, neutralForegroundHintBehavior, neutralForegroundRestBehavior, neutralLayerFloatingBehavior, } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nconst ltr = css `\n li:first-child {\n padding-left: 0;\n }\n\n li:last-child,\n li.pipe {\n padding-right: 0;\n }\n\n .pipe::after {\n border-right: 1px solid #cecece;\n padding-left: 18px;\n }\n`;\nconst rtl = css `\n .list {\n padding: 0 0 0 15px;\n }\n\n li:first-child {\n padding-right: 0;\n }\n\n li:last-child,\n li.pipe {\n padding-left: 0;\n }\n\n .pipe::after {\n border-left: 1px solid #cecece;\n padding-right: 18px;\n }\n`;\nexport const FeedNavigationStyles = css `\n ${display(\"flex\")} :host {\n align-items: center;\n color: ${neutralForegroundRestBehavior.var};\n fill: ${neutralForegroundRestBehavior.var};\n }\n\n .list {\n height: auto;\n overflow: hidden;\n list-style: none;\n padding: 0 15px 0 0;\n margin: 0;\n display: inline-flex;\n align-items: center;\n }\n\n li {\n list-style: none;\n padding: 0 16px;\n display: flex;\n }\n\n .hidden {\n visibility: hidden;\n }\n\n .overflowContainer fluent-button svg {\n vertical-align: middle;\n }\n\n .overflowContainer .hidden {\n display: none;\n }\n\n .overflowContainer ul li {\n padding: 5px 0;\n margin: 0 calc((10 + (var(--design-unit) * 2 * var(--density))) * 1px);\n }\n\n .endContainer {\n display: flex;\n margin-inline-start: auto;\n align-items: center;\n }\n\n .overflowMenu {\n position: absolute;\n --elevation: 11;\n background: ${neutralLayerFloatingBehavior.var};\n border: calc(var(--outline-width) * 1px) solid transparent;\n border-radius: var(--elevated-corner-radius);\n ${elevation}\n margin: 0;\n padding: 0;\n max-width: 368px;\n min-width: 100px;\n z-index: 3;\n }\n\n .pipe::after {\n content: \"\";\n height: 14px;\n align-self: center;\n }\n`.withBehaviors(neutralLayerFloatingBehavior, neutralForegroundHintBehavior, neutralForegroundRestBehavior, new DirectionalStyleSheetBehavior(ltr, rtl));\n","import { __decorate } from \"tslib\";\nimport { customElement } from \"@microsoft/fast-element\";\nimport { FeedNavigation } from \"./feed-navigation\";\nimport { FeedNavigationTemplate as template } from \"./feed-navigation.template\";\nimport { FeedNavigationStyles as styles } from \"./feed-navigation.styles\";\n/**\n * @public\n */\nlet MsftFeedNavigation = class MsftFeedNavigation extends FeedNavigation {\n};\nMsftFeedNavigation = __decorate([\n customElement({\n name: \"msft-feed-navigation\",\n template,\n styles,\n })\n], MsftFeedNavigation);\nexport { MsftFeedNavigation };\n","import { __decorate } from \"tslib\";\nimport { attr } from \"@microsoft/fast-element\";\nimport { FormAssociated } from \"../form-associated/form-associated\";\nimport { ARIAGlobalStatesAndProperties, StartEnd } from \"../patterns/index\";\nimport { applyMixins } from \"../utilities/apply-mixins\";\n/**\n * An Button Custom HTML Element.\n * Based largely on the {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button | \n`;\n","/**\n * Define system colors for use in CSS stylesheets.\n *\n * https://drafts.csswg.org/css-color/#css-system-colors\n */\nexport var SystemColors;\n(function (SystemColors) {\n SystemColors[\"Canvas\"] = \"Canvas\";\n SystemColors[\"CanvasText\"] = \"CanvasText\";\n SystemColors[\"LinkText\"] = \"LinkText\";\n SystemColors[\"VisitedText\"] = \"VisitedText\";\n SystemColors[\"ActiveText\"] = \"ActiveText\";\n SystemColors[\"ButtonFace\"] = \"ButtonFace\";\n SystemColors[\"ButtonText\"] = \"ButtonText\";\n SystemColors[\"Field\"] = \"Field\";\n SystemColors[\"FieldText\"] = \"FieldText\";\n SystemColors[\"Highlight\"] = \"Highlight\";\n SystemColors[\"HighlightText\"] = \"HighlightText\";\n SystemColors[\"GrayText\"] = \"GrayText\";\n})(SystemColors || (SystemColors = {}));\n","import { css } from '@microsoft/fast-element';\nimport { SystemColors } from '@microsoft/fast-web-utilities';\nimport { disabledCursor, focusVisible, forcedColorsStylesheetBehavior } from '@microsoft/fast-foundation';\nimport { AccentButtonStyles, accentFillActiveBehavior, accentFillHoverBehavior, accentFillRestBehavior, accentForegroundActiveBehavior, accentForegroundCutRestBehavior, accentForegroundHoverBehavior, accentForegroundRestBehavior, BaseButtonStyles, LightweightButtonStyles, neutralFillActiveBehavior, neutralFillFocusBehavior, neutralFillHoverBehavior, neutralFillRestBehavior, neutralFillStealthActiveBehavior, neutralFillStealthHoverBehavior, neutralFillStealthRestBehavior, neutralFocusBehavior, neutralFocusInnerAccentBehavior, neutralForegroundRestBehavior, neutralOutlineActiveBehavior, neutralOutlineHoverBehavior, neutralOutlineRestBehavior, OutlineButtonStyles, StealthButtonStyles, } from '../styles/';\nexport const ButtonStyles = css `\n ${BaseButtonStyles}\n ${AccentButtonStyles}\n ${LightweightButtonStyles}\n ${OutlineButtonStyles}\n ${StealthButtonStyles}\n`.withBehaviors(accentFillActiveBehavior, accentFillHoverBehavior, accentFillRestBehavior, accentForegroundActiveBehavior, accentForegroundCutRestBehavior, accentForegroundHoverBehavior, accentForegroundRestBehavior, neutralFillActiveBehavior, neutralFillFocusBehavior, neutralFillHoverBehavior, neutralFillRestBehavior, neutralFillStealthActiveBehavior, neutralFillStealthHoverBehavior, neutralFillStealthRestBehavior, neutralFocusBehavior, neutralFocusInnerAccentBehavior, neutralForegroundRestBehavior, neutralOutlineActiveBehavior, neutralOutlineHoverBehavior, neutralOutlineRestBehavior, forcedColorsStylesheetBehavior(css `\n :host(.disabled),\n :host(.disabled) .control {\n forced-color-adjust: none;\n background: ${SystemColors.ButtonFace};\n border-color: ${SystemColors.GrayText};\n color: ${SystemColors.GrayText};\n cursor: ${disabledCursor};\n opacity: 1;\n }\n :host(.accent) .control {\n forced-color-adjust: none;\n background: ${SystemColors.Highlight};\n color: ${SystemColors.HighlightText};\n }\n \n :host(.accent) .control:hover {\n background: ${SystemColors.HighlightText};\n border-color: ${SystemColors.Highlight};\n color: ${SystemColors.Highlight};\n }\n \n :host(.accent:${focusVisible}) .control {\n border-color: ${SystemColors.ButtonText};\n box-shadow: 0 0 0 2px ${SystemColors.HighlightText} inset;\n }\n \n :host(.accent.disabled) .control,\n :host(.accent.disabled) .control:hover {\n background: ${SystemColors.ButtonFace};\n border-color: ${SystemColors.GrayText};\n color: ${SystemColors.GrayText};\n }\n :host(.lightweight) .control:hover {\n forced-color-adjust: none;\n color: ${SystemColors.Highlight};\n }\n \n :host(.lightweight) .control:hover .content::before {\n background: ${SystemColors.Highlight};\n }\n \n :host(.lightweight.disabled) .control {\n forced-color-adjust: none;\n color: ${SystemColors.GrayText};\n }\n \n :host(.lightweight.disabled) .control:hover .content::before {\n background: none;\n }\n :host(.outline.disabled) .control {\n border-color: ${SystemColors.GrayText};\n }\n :host(.stealth) .control {\n forced-color-adjust: none;\n background: none;\n border-color: transparent;\n color: ${SystemColors.ButtonText};\n fill: currentColor;\n }\n :host(.stealth) .control:hover,\n :host(.stealth:${focusVisible}) .control {\n background: ${SystemColors.Highlight};\n border-color: ${SystemColors.Highlight};\n color: ${SystemColors.HighlightText};\n }\n :host(.stealth.disabled) .control {\n background: none;\n border-color: transparent;\n color: ${SystemColors.GrayText};\n }\n `));\n","import { __decorate } from \"tslib\";\nimport { attr, customElement } from '@microsoft/fast-element';\nimport { Button, ButtonTemplate as template } from '@microsoft/fast-foundation';\nimport { ButtonStyles as styles } from './button.styles';\n/**\n * The Fluent Button Element. Implements {@link @microsoft/fast-foundation#Button},\n * {@link @microsoft/fast-foundation#ButtonTemplate}\n *\n *\n * @public\n * @remarks\n * HTML Element: \\\n *\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus}\n */\nlet FluentButton = class FluentButton extends Button {\n appearanceChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n this.classList.add(newValue);\n this.classList.remove(oldValue);\n }\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n if (!this.appearance) {\n this.appearance = 'neutral';\n }\n }\n};\n__decorate([\n attr\n], FluentButton.prototype, \"appearance\", void 0);\nFluentButton = __decorate([\n customElement({\n name: 'fluent-button',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true,\n },\n })\n], FluentButton);\nexport { FluentButton };\n/**\n * Styles for Button\n * @public\n */\nexport const ButtonStyles = styles;\n","import { __decorate } from \"tslib\";\nimport { attr, DOM, FASTElement, observable } from \"@microsoft/fast-element\";\nimport { isHTMLElement, keyCodeEnd, keyCodeHome } from \"@microsoft/fast-web-utilities\";\nimport { isTreeItemElement } from \"../tree-item\";\n/**\n * A Tree view Custom HTML Element.\n * Implements the {@link https://w3c.github.io/aria-practices/#TreeView | ARIA TreeView }.\n *\n * @public\n */\nexport class TreeView extends FASTElement {\n constructor() {\n super(...arguments);\n this.focusable = true;\n this.handleBlur = (e) => {\n const root = this.treeView;\n /**\n * If we focus outside of the tree\n */\n if (isHTMLElement(root) && !root.contains(e.relatedTarget)) {\n this.focusable = true;\n }\n this.ensureFocusability();\n };\n this.handleFocus = (e) => {\n if (!isHTMLElement(this.treeView)) {\n return;\n }\n const root = this.treeView;\n const lastFocused = this.lastFocused;\n /**\n * If the tree view is receiving focus\n */\n if (isHTMLElement(root) && root === e.target) {\n // If we have a last focused item, focus it - otherwise check for an initially selected item or focus the first \"[role='treeitem']\"\n // If there is no \"[role='treeitem']\" to be focused AND no last-focused, then there are likely no children\n // or children are malformed so keep the tree in the tab-order in the hopes that the author cleans up\n // the children\n const selectedChild = root.querySelector(\"[aria-selected='true']\");\n const toBeFocused = !!lastFocused\n ? lastFocused\n : !!selectedChild\n ? selectedChild\n : root.querySelector(\"[role='treeitem']\");\n if (toBeFocused && isHTMLElement(toBeFocused)) {\n toBeFocused.focus();\n if (this.focusable) {\n this.focusable = false;\n }\n }\n }\n else {\n // A child is receiving focus. While focus is within the tree, we simply need to ensure\n // that the tree is not focusable.\n if (this.focusable) {\n this.focusable = false;\n }\n }\n };\n this.handleKeyDown = (e) => {\n if (!this.treeItems) {\n return true;\n }\n switch (e.keyCode) {\n case keyCodeHome:\n if (this.treeItems && this.treeItems.length) {\n this.treeItems[0].focus();\n }\n break;\n case keyCodeEnd:\n if (this.treeItems && this.treeItems.length) {\n this.treeItems[this.treeItems.length - 1].focus();\n }\n break;\n default:\n return true;\n }\n };\n this.setItems = () => {\n const focusIndex = this.treeItems.findIndex(this.isFocusableElement);\n for (let item = 0; item < this.treeItems.length; item++) {\n if (item === focusIndex && !this.treeItems[item].hasAttribute(\"disabled\")) {\n this.treeItems[item].setAttribute(\"tabindex\", \"0\");\n }\n this.treeItems[item].addEventListener(\"selected-change\", this.handleItemSelected);\n }\n };\n this.resetItems = () => {\n for (let item = 0; item < this.treeItems.length; item++) {\n this.treeItems[item].removeEventListener(\"selected-change\", this.handleItemSelected);\n }\n };\n this.handleItemSelected = (e) => {\n const newSelection = e.target;\n if (newSelection !== this.currentSelected) {\n if (this.currentSelected) {\n // TODO: fix this below, shouldn't need both\n this.currentSelected.removeAttribute(\"selected\");\n this.currentSelected.selected = false;\n }\n this.currentSelected = newSelection;\n }\n };\n /**\n * check if the item is focusable\n */\n this.isFocusableElement = (el) => {\n return isTreeItemElement(el) && !this.isDisabledElement(el);\n };\n /**\n * check if the item is disabled\n */\n this.isDisabledElement = (el) => {\n return isTreeItemElement(el) && el.getAttribute(\"aria-disabled\") === \"true\";\n };\n }\n slottedTreeItemsChanged(oldValue, newValue) {\n if (this.$fastController.isConnected) {\n // filter the tree items until that's done for us in the framework\n this.resetItems();\n this.treeItems = this.getVisibleNodes();\n this.setItems();\n // check if any tree items have nested items\n // if they do, apply the nested attribute\n if (this.checkForNestedItems()) {\n this.slottedTreeItems.forEach(node => {\n if (isTreeItemElement(node)) {\n node.nested = true;\n }\n });\n }\n }\n }\n checkForNestedItems() {\n return this.slottedTreeItems.some((node) => {\n return isTreeItemElement(node) && node.querySelector(\"[role='treeitem']\");\n });\n }\n connectedCallback() {\n super.connectedCallback();\n this.treeItems = this.getVisibleNodes();\n DOM.queueUpdate(() => {\n //only supporting single select\n const node = this.treeView.querySelector(\"[aria-selected='true']\");\n if (node) {\n this.currentSelected = node;\n }\n });\n this.ensureFocusability();\n }\n getVisibleNodes() {\n const treeItems = [];\n if (this.slottedTreeItems !== undefined) {\n this.slottedTreeItems.forEach((item) => {\n if (isTreeItemElement(item)) {\n treeItems.push(item);\n }\n });\n }\n return treeItems;\n }\n /**\n * Verifies that the tree has a focusable child.\n * If it does not, the tree will begin to accept focus\n */\n ensureFocusability() {\n if (!this.focusable && isHTMLElement(this.treeView)) {\n const focusableChild = this.querySelector(\"[role='treeitem'][tabindex='0']\");\n if (!isHTMLElement(focusableChild)) {\n this.focusable = true;\n }\n }\n }\n}\n__decorate([\n attr({ attribute: \"render-collapsed-nodes\" })\n], TreeView.prototype, \"renderCollapsedNodes\", void 0);\n__decorate([\n observable\n], TreeView.prototype, \"focusable\", void 0);\n__decorate([\n observable\n], TreeView.prototype, \"currentSelected\", void 0);\n__decorate([\n observable\n], TreeView.prototype, \"lastFocused\", void 0);\n__decorate([\n observable\n], TreeView.prototype, \"nested\", void 0);\n__decorate([\n observable\n], TreeView.prototype, \"slottedTreeItems\", void 0);\n","// © Microsoft Corporation. All rights reserved.\nimport { __decorate } from \"tslib\";\nimport { TreeView } from \"@microsoft/fast-foundation\";\nimport { attr, observable } from \"@microsoft/fast-element\";\nexport class HamburgerMenu extends TreeView {\n constructor() {\n super(...arguments);\n /** Flag to indicate if menu should be shown */\n this.showMenu = false;\n /**\n * Click listener to close menu if user clicks outside the menu\n * @param event - click event\n */\n this.onOverlayClick = (event) => {\n const targetClass = event.target.getAttribute(\"class\");\n if (targetClass && targetClass.includes(\"overlay\")) {\n this.closeMenu();\n }\n };\n }\n /**\n * Connected callback. When component is inserted into the DOM, add proper event listeners.\n */\n connectedCallback() {\n super.connectedCallback();\n this.menuOverlay.addEventListener(\"click\", this.onOverlayClick);\n }\n /**\n * Disconnected callback. When component is removed from the DOM, remove event listeners as part of clean up.\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.menuOverlay.removeEventListener(\"click\", this.onOverlayClick);\n }\n /**\n * Opens the hamburger menu\n */\n openMenu() {\n this.showMenu = true;\n }\n /**\n * Closes the hamburger menu\n */\n closeMenu() {\n this.showMenu = false;\n }\n /**\n * Updates the currently selected item\n * @param oldValue - previously selected nav id\n * @param newValue - new selected nav id\n */\n selectedNavIdChanged(oldValue, newValue) {\n if (!newValue ||\n oldValue === newValue ||\n !this.slottedTreeItems ||\n !this.slottedTreeItems.length) {\n return;\n }\n // Check the slotted tree items and their children to find the currently selected item\n let newSelectedItem;\n for (const treeItem of this.slottedTreeItems) {\n if (treeItem.id === newValue) {\n newSelectedItem = treeItem;\n break;\n }\n if (!treeItem.childItems ||\n !treeItem.childItems.length) {\n continue;\n }\n newSelectedItem = treeItem.childItems.find(child => child.id === newValue);\n if (newSelectedItem) {\n break;\n }\n }\n if (!newSelectedItem || newSelectedItem === this.currentSelected) {\n return;\n }\n if (this.currentSelected) {\n this.currentSelected.removeAttribute(\"selected\");\n }\n this.currentSelected = newSelectedItem;\n this.currentSelected.setAttribute(\"selected\", \"true\");\n }\n /**\n * Closes menu if the new selected menu item is different from the previous menu item\n * @param oldValue - previously selected menu item\n * @param newValue - currently selected menu item\n */\n currentSelectedChanged(oldValue, newValue) {\n if (!newValue) {\n return;\n }\n if (oldValue !== newValue) {\n this.$emit(\"change\", { menuItem: newValue });\n this.closeMenu();\n }\n }\n}\n__decorate([\n attr({ attribute: \"menu-button-tooltip\" })\n], HamburgerMenu.prototype, \"menuButtonTooltip\", void 0);\n__decorate([\n attr({ attribute: \"close-button-tooltip\" })\n], HamburgerMenu.prototype, \"closeButtonTooltip\", void 0);\n__decorate([\n attr({ attribute: \"use-mobile-styles\", mode: \"boolean\" })\n], HamburgerMenu.prototype, \"useMobileStyles\", void 0);\n__decorate([\n observable\n], HamburgerMenu.prototype, \"selectedNavId\", void 0);\n__decorate([\n observable\n], HamburgerMenu.prototype, \"showMenu\", void 0);\n__decorate([\n observable\n], HamburgerMenu.prototype, \"currentSelected\", void 0);\n","// © Microsoft Corporation. All rights reserved.\nimport { elevation, heightNumber, neutralFillStealthHoverBehavior, neutralFillStealthRestBehavior, neutralFocusBehavior, neutralForegroundRestBehavior, neutralLayerFloatingBehavior, } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nimport { display } from \"@microsoft/fast-foundation\";\nexport const HamburgerMenuStyles = css `\n ${display(\"flex\")}\n :host {\n --elevation: 11;\n width: fit-content\n }\n\n fluent-button {\n height: calc(${heightNumber} * 1px);\n width: calc(${heightNumber} * 1px);\n }\n\n .button-glyph {\n fill: ${neutralForegroundRestBehavior.var};\n height: 16px;\n width: 16px;\n }\n\n .close-button {\n align-items: center;\n background: ${neutralLayerFloatingBehavior.var};\n display: flex;\n justify-content: center;\n justify-self: end;\n }\n\n .close-button:hover {\n background: ${neutralFillStealthHoverBehavior.var};\n }\n\n .hidden {\n display: none;\n }\n\n .menu {\n ${elevation}\n background: ${neutralLayerFloatingBehavior.var};\n display: flex;\n flex-direction: column;\n height: 100%;\n min-width: 300px;\n top: 0;\n width: fit-content;\n }\n\n .menu-button {\n align-items: center;\n justify-content: center;\n }\n\n .menu-content {\n align-self: flex-start;\n overflow-y: auto;\n width: 100%;\n }\n\n .menu-header {\n align-items: center;\n display: grid;\n grid-template-columns: auto auto;\n justify-content: stretch;\n padding: 20px;\n }\n\n .mobile {\n justify-content: flex-end;\n }\n\n .overlay {\n align-items: flex-start;\n background-color: transparent;\n display: flex;\n flex-direction: row;\n height: 100%;\n left: 0;\n position: fixed;\n right: 0;\n top: 0;\n width: 100%;\n }\n\n .tree-view[hidden] {\n display: none;\n }\n\n .tree-view {\n align-items: stretch;\n flex-direction: column;\n font-size: 0;\n min-width: fit-content;\n }\n .tree-view:focus-visible {\n outline: none;\n }\n`.withBehaviors(neutralForegroundRestBehavior, neutralFillStealthRestBehavior, neutralFocusBehavior, neutralLayerFloatingBehavior, neutralFillStealthHoverBehavior);\n","// © Microsoft Corporation. All rights reserved.\nimport { html, ref, slotted } from \"@microsoft/fast-element\";\nimport { FluentButton } from \"@fluentui/web-components\";\nimport { closeButtonGlyph, hamburgerMenuGlyph, microsoftLogo } from \"../svg\";\n// Prevent tree shaking\nFluentButton;\nexport const HamburgerMenuTemplate = html `\n \n`;\n","// © Microsoft Corporation. All rights reserved.\nimport { __decorate } from \"tslib\";\nimport { HamburgerMenu } from \"./hamburger-menu\";\nimport { customElement } from \"@microsoft/fast-element\";\nimport { HamburgerMenuStyles as styles } from \"./hamburger-menu.styles\";\nimport { HamburgerMenuTemplate as template } from \"./hamburger-menu.template\";\nexport * from \"./hamburger-menu-item\";\n/**\n * @public\n */\nlet MsftHamburgerMenu = class MsftHamburgerMenu extends HamburgerMenu {\n};\nMsftHamburgerMenu = __decorate([\n customElement({\n name: \"msft-hamburger-menu\",\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true,\n },\n })\n], MsftHamburgerMenu);\nexport { MsftHamburgerMenu };\n","/**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n}\n\nexport default arrayAggregator;\n","import baseEach from './_baseEach.js';\n\n/**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\nfunction baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n}\n\nexport default baseAggregator;\n","import arrayAggregator from './_arrayAggregator.js';\nimport baseAggregator from './_baseAggregator.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\nfunction createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, baseIteratee(iteratee, 2), accumulator);\n };\n}\n\nexport default createAggregator;\n","import baseAssignValue from './_baseAssignValue.js';\nimport createAggregator from './_createAggregator.js';\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 * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\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} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\nvar groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n});\n\nexport default groupBy;\n","import baseRandom from './_baseRandom.js';\n\n/**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\nfunction shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n}\n\nexport default shuffleSelf;\n","import copyArray from './_copyArray.js';\nimport shuffleSelf from './_shuffleSelf.js';\n\n/**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\nfunction arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n}\n\nexport default arrayShuffle;\n","import shuffleSelf from './_shuffleSelf.js';\nimport values from './values.js';\n\n/**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\nfunction baseShuffle(collection) {\n return shuffleSelf(values(collection));\n}\n\nexport default baseShuffle;\n","import arrayShuffle from './_arrayShuffle.js';\nimport baseShuffle from './_baseShuffle.js';\nimport isArray from './isArray.js';\n\n/**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\nfunction shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n}\n\nexport default shuffle;\n","import { __decorate } from \"tslib\";\nimport { attr, FASTElement } from \"@microsoft/fast-element\";\n/**\n * Divider roles\n * @public\n */\nexport var DividerRole;\n(function (DividerRole) {\n /**\n * The divider semantically separates content\n */\n DividerRole[\"separator\"] = \"separator\";\n /**\n * The divider has no semantic value and is for visual presentation only.\n */\n DividerRole[\"presentation\"] = \"presentation\";\n})(DividerRole || (DividerRole = {}));\n/**\n * A Divider Custom HTML Element.\n * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#separator | ARIA separator } or {@link https://www.w3.org/TR/wai-aria-1.1/#presentation | ARIA presentation}.\n *\n * @public\n */\nexport class Divider extends FASTElement {\n constructor() {\n super(...arguments);\n /**\n * The role of the element.\n *\n * @public\n * @defaultValue - {@link DividerRole.separator}\n * @remarks\n * HTML Attribute: role\n */\n this.role = DividerRole.separator;\n }\n}\n__decorate([\n attr\n], Divider.prototype, \"role\", void 0);\n","import { html } from \"@microsoft/fast-element\";\n/**\n * The template for the {@link @microsoft/fast-foundation#Divider} component.\n * @public\n */\nexport const DividerTemplate = html `\n \n`;\n","import { css } from '@microsoft/fast-element';\nimport { display } from '@microsoft/fast-foundation';\nimport { neutralDividerRestBehavior } from '../styles';\nexport const DividerStyles = css `\n ${display('block')} :host {\n box-sizing: content-box;\n height: 0;\n margin: calc(var(--design-unit) * 1px) 0;\n border: none;\n border-top: calc(var(--outline-width) * 1px) solid ${neutralDividerRestBehavior.var};\n }\n`.withBehaviors(neutralDividerRestBehavior);\n","import { __decorate } from \"tslib\";\nimport { customElement } from '@microsoft/fast-element';\nimport { Divider, DividerTemplate as template } from '@microsoft/fast-foundation';\nimport { DividerStyles as styles } from './divider.styles';\n/**\n * The Fluent Divider Element. Implements {@link @microsoft/fast-foundation#Divider},\n * {@link @microsoft/fast-foundation#DividerTemplate}\n *\n *\n * @public\n * @remarks\n * HTML Element: \\\n */\nlet FluentDivider = class FluentDivider extends Divider {\n};\nFluentDivider = __decorate([\n customElement({\n name: 'fluent-divider',\n template,\n styles,\n })\n], FluentDivider);\nexport { FluentDivider };\n/**\n * Styles for Divider\n * @public\n */\nexport const DividerStyles = styles;\n","/**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n}\n\nexport default baseIndexOfWith;\n","import arrayMap from './_arrayMap.js';\nimport baseIndexOf from './_baseIndexOf.js';\nimport baseIndexOfWith from './_baseIndexOfWith.js';\nimport baseUnary from './_baseUnary.js';\nimport copyArray from './_copyArray.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\nfunction basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n}\n\nexport default basePullAll;\n","import basePullAll from './_basePullAll.js';\n\n/**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\nfunction pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n}\n\nexport default pullAll;\n","import baseRest from './_baseRest.js';\nimport pullAll from './pullAll.js';\n\n/**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\nvar pull = baseRest(pullAll);\n\nexport default pull;\n","import baseGet from './_baseGet.js';\nimport baseSlice from './_baseSlice.js';\n\n/**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\nfunction parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n}\n\nexport default parent;\n","import castPath from './_castPath.js';\nimport last from './last.js';\nimport parent from './_parent.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\nfunction baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n}\n\nexport default baseUnset;\n","import isPlainObject from './isPlainObject.js';\n\n/**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\nfunction customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n}\n\nexport default customOmitClone;\n","import arrayMap from './_arrayMap.js';\nimport baseClone from './_baseClone.js';\nimport baseUnset from './_baseUnset.js';\nimport castPath from './_castPath.js';\nimport copyObject from './_copyObject.js';\nimport customOmitClone from './_customOmitClone.js';\nimport flatRest from './_flatRest.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\nvar omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n});\n\nexport default omit;\n","import { applyFocusVisible, format, multiply, subtract, toPx, } from \"@microsoft/fast-jss-utilities\";\nimport { accentForegroundCut, applyCornerRadius, applyFocusPlaceholderBorder, applyFontWeightNormal, applyScaledTypeRamp, focusOutlineWidth, glyphSize, glyphSizeNumber, highContrastSelector, neutralFillStealthRest, neutralFocus, neutralForegroundRest, neutralOutlineRest, outlineWidth, } from \"@microsoft/fast-components-styles-msft\";\nimport { white } from \"../utilities/colors\";\nconst primaryBackgroundColor = \"#1C8221\";\nconst neutralDarkBackgroundColor = \"#595959\";\nconst styles = {\n adLabel: Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, applyScaledTypeRamp(\"t9\")), applyFontWeightNormal()), { \"line-height\": toPx(subtract(glyphSizeNumber, multiply(focusOutlineWidth, 2))), \"box-sizing\": \"border-box\", display: \"inline-block\", \"text-align\": \"center\" }), applyFocusPlaceholderBorder()), applyCornerRadius()), { background: primaryBackgroundColor, height: glyphSize, \"min-width\": \"24px\", padding: \"0 6px\", \"text-decoration\": \"none\" }), applyFocusVisible({\n \"border-color\": neutralFocus,\n })), { [highContrastSelector]: {\n display: \"inline\",\n \"border-width\": \"1px\",\n } }),\n adLabel__primary: {\n background: primaryBackgroundColor,\n color: accentForegroundCut(() => primaryBackgroundColor),\n },\n adLabel__neutralDark: {\n background: neutralDarkBackgroundColor,\n color: accentForegroundCut(() => neutralDarkBackgroundColor),\n },\n adLabel__neutralLight: Object.assign({ background: neutralFillStealthRest(() => white), color: neutralForegroundRest(() => white), border: format(\"{0} solid {1}\", toPx(outlineWidth), neutralOutlineRest(() => white)) }, applyFocusVisible({\n \"box-shadow\": format(\"0 0 0 {0}, {1} inset\", toPx(subtract(focusOutlineWidth, outlineWidth)), neutralFocus),\n })),\n};\nexport default styles;\n","export var AdLabelAppearance;\n(function (AdLabelAppearance) {\n AdLabelAppearance[\"primary\"] = \"primary\";\n AdLabelAppearance[\"neutralDark\"] = \"neutralDark\";\n AdLabelAppearance[\"neutralLight\"] = \"neutralLight\";\n})(AdLabelAppearance || (AdLabelAppearance = {}));\n","import React from \"react\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { Hypertext } from \"@microsoft/fast-components-react-base\";\nimport { AdLabelAppearance, } from \"./ad-label.props\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nclass AdLabel extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n appearance: void 0,\n label: void 0,\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(Hypertext, Object.assign({}, this.unhandledProps(), { className: this.generateClassNames() }), this.props.label));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { adLabel, adLabel__primary, adLabel__neutralDark, adLabel__neutralLight, } = this.props.managedClasses;\n const apperanceClass = this.props.appearance === AdLabelAppearance.neutralDark\n ? adLabel__neutralDark\n : this.props.appearance === AdLabelAppearance.neutralLight\n ? adLabel__neutralLight\n : adLabel__primary;\n return super.generateClassNames(classNames(adLabel, apperanceClass));\n }\n}\nAdLabel.defaultProps = {\n appearance: AdLabelAppearance.primary,\n managedClasses: {},\n};\nAdLabel.displayName = \"AdLabel\";\nexport default AdLabel;\nexport * from \"./ad-label.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport AdLabelStyles from \"./ad-label.style\";\nimport BaseAdLabel, { AdLabelAppearance, } from \"./ad-label\";\nimport adLabelSchema from \"./ad-label.schema\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\n/* tslint:disable-next-line:typedef */\nconst AdLabel = manageJss(AdLabelStyles)(BaseAdLabel);\nexport { AdLabel, AdLabelAppearance, adLabelSchema, };\n","import { __decorate } from \"tslib\";\nimport { attr, nullableNumberConverter, observable, } from \"@microsoft/fast-element\";\nimport { FormAssociated, StartEnd, applyMixins } from \"@microsoft/fast-foundation\";\nexport class SearchBox extends FormAssociated {\n constructor() {\n super(...arguments);\n this.proxy = document.createElement(\"input\");\n }\n readOnlyChanged() {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.readOnly = this.readOnly;\n }\n }\n autocompleteChanged() {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.autocomplete = this.autocomplete;\n }\n }\n autofocusChanged() {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.autofocus = this.autofocus;\n }\n }\n placeholderChanged() {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.placeholder = this.placeholder;\n }\n }\n maxlengthChanged() {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.maxLength = this.maxlength;\n }\n }\n minlengthChanged() {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.minLength = this.minlength;\n }\n }\n sizeChanged() {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.size = this.size;\n }\n }\n spellcheckChanged() {\n if (this.proxy instanceof HTMLElement) {\n this.proxy.spellcheck = this.spellcheck;\n }\n }\n handleEndContentChange() {\n this.endContainer.classList.toggle(\"end\", this.end.assignedNodes().length > 0);\n }\n /**\n * Handler for value changes\n */\n valueChanged() {\n /**\n * FormAssociated should update automatically when the value changes,\n * but that doesn't appear to work at present. As such, we'll update it here.\n * See https://github.com/microsoft/fast/issues/3550\n */\n if (this.$fastController.isConnected) {\n this.setFormValue(this.value);\n }\n if (this.proxy instanceof HTMLElement) {\n this.proxy.value = this.value;\n }\n this.$emit(\"change\");\n }\n /**\n * Submits the search\n */\n submitSearch() {\n var _a;\n (_a = this.form) === null || _a === void 0 ? void 0 : _a.submit();\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n if (this.autofocus) {\n this.focus();\n }\n this.setFormValue(this.value, this.value);\n }\n /**\n * @internal\n */\n handleTextInput() {\n if (this.control && this.control.value) {\n this.value = this.control.value;\n }\n }\n}\n__decorate([\n attr({ attribute: \"readonly\", mode: \"boolean\" })\n], SearchBox.prototype, \"readOnly\", void 0);\n__decorate([\n attr\n], SearchBox.prototype, \"autocomplete\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], SearchBox.prototype, \"autofocus\", void 0);\n__decorate([\n attr\n], SearchBox.prototype, \"placeholder\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], SearchBox.prototype, \"maxlength\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], SearchBox.prototype, \"minlength\", void 0);\n__decorate([\n attr({ converter: nullableNumberConverter })\n], SearchBox.prototype, \"size\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], SearchBox.prototype, \"spellcheck\", void 0);\n__decorate([\n attr({ mode: \"boolean\" })\n], SearchBox.prototype, \"isOnImage\", void 0);\n__decorate([\n observable\n], SearchBox.prototype, \"defaultSlottedNodes\", void 0);\napplyMixins(SearchBox, StartEnd);\n","import { html, ref } from \"@microsoft/fast-element\";\nimport { FluentButton } from \"@fluentui/web-components\";\nimport { startTemplate } from \"@microsoft/fast-foundation\";\n// Prevent tree shaking\nFluentButton;\nexport const SearchBoxTemplate = html `\n x.required}\"\n aria-disabled=\"${x => x.disabled}\"\n aria-readonly=\"${x => x.readOnly}\"\n aria-label=\"${x => x.title}\"\n tabindex=\"${x => (x.disabled ? null : 0)}\"\n class=\"\n ${x => (x.readOnly ? \"readonly\" : \"\")}\n ${x => (x.isOnImage ? \"onimage\" : \"\")}\n \"\n >\n
    \n ${startTemplate}\n x.id}\"\n title=\"${x => x.title}\"\n name=\"${x => x.name}\"\n @input=${x => x.handleTextInput()}\n placeholder=${x => x.placeholder}\n autocomplete=${x => x.autocomplete}\n ?required=${x => x.required}\n ?disabled=${x => x.disabled}\n ?readonly=${x => x.readOnly}\n maxlength=\"${x => x.maxlength}\"\n minlength=\"${x => x.minlength}\"\n ?spellcheck=\"${x => x.spellcheck}\"\n :value=\"${x => x.value}\"\n ${ref(\"control\")}\n />\n
    \n (x.disabled ? \"-1\" : \"0\")}\n appearance=\"${x => (x.isOnImage ? \"stealth\" : \"accent\")}\"\n @click=\"${x => x.submitSearch()}\"\n @keypress=\"${x => x.submitSearch()}\"\n >\n \n x.handleEndContentChange()}\n >\n \n \n \n
    \n \n \n \n`;\n","import { disabledCursor, display, focusVisible } from \"@microsoft/fast-foundation\";\nimport { elevation, neutralFillStealthHoverBehavior, neutralFocusBehavior, neutralForegroundHintBehavior, neutralForegroundRestBehavior, neutralLayerFloatingBehavior, } from \"@fluentui/web-components\";\nimport { css } from \"@microsoft/fast-element\";\nexport const SearchBoxStyles = css `\n ${display(\"inline-flex\")} :host {\n --search-box-radius: calc(var(--corner-radius) * 2px);\n font-family: var(--body-font);\n outline: none;\n user-select: none;\n --elevation: 6;\n ${elevation};\n border-radius: var(--search-box-radius);\n transition: all 0.2s ease-in-out;\n position: relative;\n background: ${neutralLayerFloatingBehavior.var};\n }\n\n .root {\n box-sizing: border-box;\n position: relative;\n display: flex;\n flex-direction: row;\n color: ${neutralForegroundHintBehavior.var}; \n border-radius: var(--search-box-radius) 0 0 var(--search-box-radius);\n }\n\n .control {\n -webkit-appearance: none;\n background: transparent;\n border: 0;\n margin-top: auto;\n margin-bottom: auto;\n border: none;\n padding: calc(var(--design-unit) * 2px + 2px) 24px;\n color: ${neutralForegroundRestBehavior.var};\n font-size: var(--type-ramp-plus-1-font-size);\n line-height: var(--type-ramp-plus-1-line-height);\n width: 100%;\n }\n\n input[type=\"search\"]::-webkit-search-decoration,\n input[type=\"search\"]::-webkit-search-cancel-button,\n input[type=\"search\"]::-webkit-search-results-button,\n input[type=\"search\"]::-webkit-search-results-decoration { display: none; }\n\n .control:hover,\n .control:${focusVisible},\n .control:disabled,\n .control:active {\n outline: none;\n }\n\n .before-content,\n .after-content {\n ${\n/* Glyph size and margin-left is temporary -\nreplace when adaptive typography is figured out */ \"\"} width: 16px;\n height: 16px;\n margin: auto;\n fill: ${neutralForegroundRestBehavior.var};\n }\n\n fluent-button {\n height: auto;\n border-radius: 0 var(--search-box-radius) var(--search-box-radius) 0;\n position: relative;\n }\n\n fluent-button.stealth {\n background: transparent;\n }\n\n fluent-button.stealth:hover {\n background: ${neutralFillStealthHoverBehavior.var}\n }\n\n fluent-button::part(control) {\n padding-right: 24px !important;\n padding-left: 24px !important;\n }\n \n :host(:hover:not([disabled])) {\n --elevation: 11;\n ${elevation}\n }\n\n :host(:not([disabled])) .root:focus-within::after,\n :host(:focus-within:not([disabled])) fluent-button::after,\n :host([isonimage]:focus-within:not([disabled])) fluent-button::after {\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n border: 2px solid ${neutralFocusBehavior.var};\n }\n\n :host(:not([disabled])) .root:focus-within::after {\n\t\tborder-radius: var(--search-box-radius) 0 0 var(--search-box-radius);\n border-right: 0;\n }\n\n :host(:focus-within:not([disabled])) fluent-button::after,\n\t:host([isonimage]:focus-within:not([disabled])) fluent-button::after\t{\n\t\tborder-radius: 0 var(--search-box-radius) var(--search-box-radius) 0;\n border-left: 0;\n }\n\n :host(:focus-within:not([disabled])) fluent-button:focus::after {\n content: unset;\n }\n\n :host([disabled]) .label,\n :host([readOnly]) .label,\n :host([readOnly]) .control,\n :host([disabled]) .control {\n cursor: ${disabledCursor};\n }\n\n :host([disabled]) {\n opacity: var(--disabled-opacity);\n }\n\n :host([disabled]) fluent-button {\n pointer-events: none;\n }\n`.withBehaviors(neutralFocusBehavior, neutralForegroundRestBehavior, neutralFillStealthHoverBehavior, neutralForegroundHintBehavior, neutralLayerFloatingBehavior);\n","import { __decorate } from \"tslib\";\nimport { customElement } from \"@microsoft/fast-element\";\nimport { SearchBox } from \"./search-box\";\nimport { SearchBoxTemplate as template } from \"./search-box.template\";\nimport { SearchBoxStyles as styles } from \"./search-box.styles\";\n/**\n * @public\n * @remarks\n * HTML Element: \\\n *\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus}\n */\nlet MsftSearchBox = class MsftSearchBox extends SearchBox {\n};\nMsftSearchBox = __decorate([\n customElement({\n name: \"msft-search-box\",\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true,\n },\n })\n], MsftSearchBox);\nexport { MsftSearchBox };\n","import { html } from \"@microsoft/fast-element\";\nimport { endTemplate, startTemplate } from \"../patterns/start-end\";\n/**\n * The template for the {@link @microsoft/fast-foundation#(Anchor:class)} component.\n * @public\n */\nexport const AnchorTemplate = html `\n x.download}\"\n href=\"${x => x.href}\"\n hreflang=\"${x => x.hreflang}\"\n ping=\"${x => x.ping}\"\n referrerpolicy=\"${x => x.referrerpolicy}\"\n rel=\"${x => x.rel}\"\n target=\"${x => x.target}\"\n type=\"${x => x.type}\"\n aria-atomic=\"${x => x.ariaAtomic}\"\n aria-busy=\"${x => x.ariaBusy}\"\n aria-controls=\"${x => x.ariaControls}\"\n aria-current=\"${x => x.ariaCurrent}\"\n aria-describedBy=\"${x => x.ariaDescribedby}\"\n aria-details=\"${x => x.ariaDetails}\"\n aria-disabled=\"${x => x.ariaDisabled}\"\n aria-errormessage=\"${x => x.ariaErrormessage}\"\n aria-expanded=\"${x => x.ariaExpanded}\"\n aria-flowto=\"${x => x.ariaFlowto}\"\n aria-haspopup=\"${x => x.ariaHaspopup}\"\n aria-hidden=\"${x => x.ariaHidden}\"\n aria-invalid=\"${x => x.ariaInvalid}\"\n aria-keyshortcuts=\"${x => x.ariaKeyshortcuts}\"\n aria-label=\"${x => x.ariaLabel}\"\n aria-labelledby=\"${x => x.ariaLabelledby}\"\n aria-live=\"${x => x.ariaLive}\"\n aria-owns=\"${x => x.ariaOwns}\"\n aria-relevant=\"${x => x.ariaRelevant}\"\n aria-roledescription=\"${x => x.ariaRoledescription}\"\n >\n ${startTemplate}\n \n \n \n ${endTemplate}\n \n`;\n","import { css } from '@microsoft/fast-element';\nimport { AccentButtonStyles, accentFillActiveBehavior, accentFillHoverBehavior, accentFillRestBehavior, accentForegroundActiveBehavior, accentForegroundCutRestBehavior, accentForegroundHoverBehavior, accentForegroundRestBehavior, BaseButtonStyles, HypertextStyles, LightweightButtonStyles, neutralFillActiveBehavior, neutralFillFocusBehavior, neutralFillHoverBehavior, neutralFillRestBehavior, neutralFillStealthActiveBehavior, neutralFillStealthHoverBehavior, neutralFillStealthRestBehavior, neutralFocusBehavior, neutralFocusInnerAccentBehavior, neutralForegroundRestBehavior, neutralOutlineActiveBehavior, neutralOutlineHoverBehavior, neutralOutlineRestBehavior, OutlineButtonStyles, StealthButtonStyles, } from '../styles/';\nexport const AnchorStyles = css `\n ${BaseButtonStyles}\n ${AccentButtonStyles}\n ${HypertextStyles}\n ${LightweightButtonStyles}\n ${OutlineButtonStyles}\n ${StealthButtonStyles}\n`.withBehaviors(accentFillActiveBehavior, accentFillHoverBehavior, accentFillRestBehavior, accentForegroundActiveBehavior, accentForegroundCutRestBehavior, accentForegroundHoverBehavior, accentForegroundRestBehavior, neutralFillActiveBehavior, neutralFillFocusBehavior, neutralFillHoverBehavior, neutralFillRestBehavior, neutralFillStealthActiveBehavior, neutralFillStealthHoverBehavior, neutralFillStealthRestBehavior, neutralFocusBehavior, neutralFocusInnerAccentBehavior, neutralForegroundRestBehavior, neutralOutlineActiveBehavior, neutralOutlineHoverBehavior, neutralOutlineRestBehavior);\n","import { __decorate } from \"tslib\";\nimport { attr, customElement } from '@microsoft/fast-element';\nimport { Anchor, AnchorTemplate as template } from '@microsoft/fast-foundation';\nimport { AnchorStyles as styles } from './anchor.styles';\n/**\n * The Fluent Anchor Element. Implements {@link @microsoft/fast-foundation#Anchor},\n * {@link @microsoft/fast-foundation#AnchorTemplate}\n *\n *\n * @public\n * @remarks\n * HTML Element: \\\n *\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/ShadowRoot/delegatesFocus | delegatesFocus}\n */\nlet FluentAnchor = class FluentAnchor extends Anchor {\n appearanceChanged(oldValue, newValue) {\n if (oldValue !== newValue) {\n this.classList.add(newValue);\n this.classList.remove(oldValue);\n }\n }\n /**\n * @internal\n */\n connectedCallback() {\n super.connectedCallback();\n if (!this.appearance) {\n this.appearance = 'neutral';\n }\n }\n};\n__decorate([\n attr\n], FluentAnchor.prototype, \"appearance\", void 0);\nFluentAnchor = __decorate([\n customElement({\n name: 'fluent-anchor',\n template,\n styles,\n shadowOptions: {\n delegatesFocus: true,\n },\n })\n], FluentAnchor);\nexport { FluentAnchor };\n/**\n * Styles for Anchor\n * @public\n */\nexport const AnchorStyles = styles;\n","import React from \"react\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { classNames, keyCodeArrowDown, keyCodeArrowLeft, keyCodeArrowRight, keyCodeArrowUp, keyCodeEnter, keyCodeSpace, } from \"@microsoft/fast-web-utilities\";\nimport { getDisplayedNodes, isHTMLElement } from \"../utilities/dom\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { TreeViewContext } from \"../tree-view/tree-view\";\n/**\n * @deprecated - Use @microsoft/fast-components-react-msft tree view item instead\n * Will be removed in the next major version\n */\nexport default class TreeViewItem extends Foundation {\n constructor(props) {\n super(props);\n this.handledProps = {\n dragConnect: void 0,\n expandedGlyph: void 0,\n glyph: void 0,\n title: void 0,\n children: void 0,\n managedClasses: void 0,\n selected: void 0,\n defaultExpanded: void 0,\n onExpandedChange: void 0,\n onSelected: void 0,\n };\n this.rootElement = React.createRef();\n this.expandCollapseButton = React.createRef();\n /**\n * Handles the focus event of the root element\n */\n this.handleFocus = (e) => {\n // Only change focusability if the event is on the node itself\n // and not a child node\n if (e.target === e.currentTarget) {\n this.setState({ focusable: true });\n // Notify the parent TreeView component that a new item has been focused,\n // and should tree this item as the last-focused item\n if (typeof this.context.setLastFocused === \"function\") {\n this.context.setLastFocused(this.rootElement);\n }\n }\n };\n /**\n * Handles the blur event on the root element\n */\n this.handleBlur = (e) => {\n // Ignore the event if the event happened on a child node\n if (!canUseDOM() || e.target !== e.currentTarget) {\n return;\n }\n this.setState({ focusable: false });\n };\n /**\n * handles the keydown event of the tree view item\n */\n this.handleKeyDown = (e) => {\n if (e.target !== e.currentTarget) {\n return;\n }\n switch (e.keyCode) {\n case keyCodeArrowLeft:\n this.handleArrowLeft();\n break;\n case keyCodeArrowRight:\n this.handleArrowRight();\n break;\n case keyCodeArrowDown:\n // Prevent scrolling\n e.preventDefault();\n this.focusNextNode(1);\n break;\n case keyCodeArrowUp:\n // Prevent scrolling\n e.preventDefault();\n this.focusNextNode(-1);\n break;\n case keyCodeEnter:\n this.handleSelected(e);\n break;\n case keyCodeSpace:\n this.handleSpaceBar();\n break;\n }\n };\n /**\n * Click handler for expand/collapse button\n */\n this.handleExpandCollapseButtonClick = () => {\n this.setExpanded(!this.state.expanded);\n };\n /**\n * Call the onSelected callback if it exists\n */\n this.handleSelected = (e) => {\n if (typeof this.props.onSelected === \"function\") {\n this.props.onSelected(this.props, e);\n }\n };\n /**\n * Handles the click event of the tree view item, except for the expand/collapse button\n */\n this.handleContentContainerClick = (e) => {\n const expandButton = this.expandCollapseButton.current;\n if (!isHTMLElement(expandButton) ||\n (isHTMLElement(expandButton) && expandButton !== e.target)) {\n this.handleSelected(e);\n }\n };\n this.state = {\n focusable: false,\n expanded: this.hasChildNodes() ? this.props.defaultExpanded : undefined,\n };\n }\n componentWillMount() {\n if (this.hasChildNodes()) {\n this.adjustNestedTreeItemCount(1);\n }\n }\n componentDidUpdate(prevProps) {\n // if we become selected, call the selected callback\n if (this.props.selected && !prevProps.selected) {\n this.handleSelected();\n }\n const hadChildNodes = this.hasChildNodes(prevProps);\n const hasChildNodes = this.hasChildNodes();\n if (hasChildNodes && !hadChildNodes) {\n this.setState({ expanded: this.props.defaultExpanded });\n this.adjustNestedTreeItemCount(1);\n }\n else if (hadChildNodes && !hasChildNodes) {\n this.adjustNestedTreeItemCount(-1);\n }\n }\n componentWillUnmount() {\n if (this.hasChildNodes()) {\n this.adjustNestedTreeItemCount(-1);\n }\n }\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { role: \"treeitem\", \"aria-expanded\": this.state.expanded, \"aria-selected\": !!this.props.selected, tabIndex: this.state.focusable ? 0 : -1, className: this.generateClassNames(), onFocus: this.handleFocus, onBlur: this.handleBlur, onKeyDown: this.handleKeyDown, ref: this.rootElement }),\n this.renderItem(),\n this.renderChildNodes()));\n }\n generateClassNames() {\n const { treeViewItem, treeViewItem__expanded, treeViewItem__nested, treeViewItem__selected, } = this.props.managedClasses;\n return super.generateClassNames(classNames(treeViewItem, [treeViewItem__expanded, this.state.expanded], [treeViewItem__nested, this.context.nested], [treeViewItem__selected, this.props.selected]));\n }\n renderItem() {\n const { treeViewItem_contentRegion, treeViewItem_innerContentRegion, } = this.props.managedClasses;\n const node = (React.createElement(\"div\", { className: classNames(treeViewItem_contentRegion), onClick: this.handleContentContainerClick },\n React.createElement(\"div\", { className: classNames(treeViewItem_innerContentRegion) },\n this.renderExpandCollapseButton(),\n this.renderGlyph(),\n this.props.title)));\n return typeof this.props.dragConnect === \"function\"\n ? this.props.dragConnect(node)\n : node;\n }\n adjustNestedTreeItemCount(count) {\n if (typeof this.context.adjustNestedTreeItemCount === \"function\") {\n this.context.adjustNestedTreeItemCount(count);\n }\n }\n /**\n * Determines if the item has sub-items and should be collapse/expandable\n */\n hasChildNodes(props = this.props) {\n return !!props.children;\n }\n /**\n * Handles when the left arrow is pressed\n */\n handleArrowLeft() {\n if (this.state.expanded) {\n this.setExpanded(false);\n }\n else if (canUseDOM() &&\n isHTMLElement(this.rootElement.current) &&\n isHTMLElement(this.rootElement.current.parentElement)) {\n const parentElement = this.rootElement.current.parentElement;\n if (isHTMLElement(parentElement)) {\n const parentNode = parentElement.closest(\"[role='treeitem']\");\n if (isHTMLElement(parentNode)) {\n parentNode.focus();\n }\n }\n }\n }\n /**\n * Handles when the space bar is pressed\n */\n handleSpaceBar() {\n if (typeof this.state.expanded !== \"boolean\") {\n return;\n }\n this.setExpanded(!this.state.expanded);\n }\n /**\n * Handles when the right arrow is pressed\n */\n handleArrowRight() {\n if (typeof this.state.expanded !== \"boolean\") {\n return;\n }\n if (!this.state.expanded) {\n this.setExpanded(true);\n }\n else {\n this.focusNextNode(1);\n }\n }\n focusNextNode(delta) {\n if (!canUseDOM()) {\n return;\n }\n const visibleNodes = this.getVisibleNodes();\n const currentIndex = visibleNodes.indexOf(this.rootElement.current);\n if (currentIndex !== -1) {\n const nextElement = visibleNodes[currentIndex + delta];\n if (isHTMLElement(nextElement)) {\n nextElement.focus();\n }\n }\n }\n /**\n * Returns an array of all tree item nodes that are\n * currently visible (not hidden under a collapsed node)\n */\n getVisibleNodes() {\n return canUseDOM()\n ? getDisplayedNodes(this.getTreeRoot(), \"[role='treeitem']\")\n : [];\n }\n /**\n * Get the root element of the tree. This will always be the\n * closest element with [role='tree']\n */\n getTreeRoot() {\n const currentNode = this.rootElement.current;\n if (!isHTMLElement(currentNode) || !canUseDOM()) {\n return null;\n }\n return currentNode.closest(\"[role='tree']\");\n }\n wrapChildOnSelected(childOnSelected) {\n return (props, e) => {\n if (childOnSelected) {\n childOnSelected(props, e);\n }\n this.setExpanded(true);\n };\n }\n wrapChildOnExpandedChange(childOnExpandedChange) {\n return (childExpanded, childProps) => {\n if (childOnExpandedChange) {\n childOnExpandedChange(childExpanded, childProps);\n }\n if (childExpanded) {\n this.setExpanded(true);\n }\n };\n }\n renderChildNodes() {\n return this.hasChildNodes() ? (React.createElement(\"div\", { role: \"group\", className: classNames(this.props.managedClasses.treeViewItem_childNodeRegion) }, React.Children.map(this.props.children, (child) => {\n if (!React.isValidElement(child) || !child.props) {\n return child;\n }\n return React.cloneElement(child, Object.assign(Object.assign({}, child.props), { onSelected: this.wrapChildOnSelected(child.props.onSelected), onExpandedChange: this.wrapChildOnExpandedChange(child.props.onExpandedChange) }));\n }))) : null;\n }\n generateGlyph() {\n const glyphClassName = classNames(this.props.managedClasses.treeViewItem_glyph);\n if (this.hasChildNodes() &&\n this.state.expanded &&\n typeof this.props.expandedGlyph === \"function\") {\n return this.props.expandedGlyph(glyphClassName);\n }\n return this.props.glyph(glyphClassName);\n }\n renderGlyph() {\n return typeof this.props.glyph !== \"function\" ? null : (React.createElement(\"div\", { \"aria-hidden\": \"true\", className: classNames(this.props.managedClasses.treeViewItem_glyphContainer) }, this.generateGlyph()));\n }\n renderExpandCollapseButton() {\n const { treeViewItem_expandCollapseButton, treeViewItem_expandedGlyph, } = this.props.managedClasses;\n return this.hasChildNodes() ? (\n // This really should render a button but Narrator sometimes still brings it focus\n // in scan-mode, so making this a div\n React.createElement(\"div\", { \"aria-hidden\": true, className: classNames(treeViewItem_expandCollapseButton), onClick: this.handleExpandCollapseButtonClick, ref: this.expandCollapseButton },\n React.createElement(\"svg\", { viewBox: \"0 0 16 16\", xmlns: \"http://www.w3.org/2000/svg\", className: classNames(treeViewItem_expandedGlyph) },\n React.createElement(\"path\", { d: \"M4.29 12L12 4.29V12H4.29z\" })))) : null;\n }\n /**\n * Sets the expanded state of the component if necessary and\n * notifies listeners of the state change.\n */\n setExpanded(expanded) {\n if (this.hasChildNodes()) {\n this.setState({\n expanded,\n }, () => {\n if (typeof this.props.onExpandedChange === \"function\") {\n this.props.onExpandedChange(expanded, this.props);\n }\n });\n }\n }\n}\nTreeViewItem.defaultProps = {\n defaultExpanded: false,\n managedClasses: {},\n};\nTreeViewItem.contextType = TreeViewContext;\n","import { add, applyFocusVisible, directionSwitch, divide, format, multiply, subtract, toPx, } from \"@microsoft/fast-jss-utilities\";\nimport { accentForegroundRest, applyCornerRadius, applyCursorPointer, applyFocusPlaceholderBorder, applyFontWeightNormal, applyScaledLineHeight, applyScaledTypeRamp, designUnit, focusOutlineWidth, getScaledLineHeight, glyphSize, glyphSizeNumber, height, heightNumber, HighContrastColor, highContrastDoubleFocus, highContrastOptOutProperty, highContrastSelected, highContrastSelectedBackground, highContrastSelector, horizontalSpacing, neutralFillStealthActive, neutralFillStealthHover, neutralFillStealthRest, neutralFillStealthSelected, neutralFocus, neutralForegroundRest, } from \"@microsoft/fast-components-styles-msft\";\nconst nestedNodeOffest = toPx(add(designUnit, glyphSizeNumber));\nconst styles = {\n // Container for item AND any children\n treeViewItem: Object.assign(Object.assign({ position: \"relative\", color: neutralForegroundRest, background: neutralFillStealthRest }, applyCursorPointer()), applyFocusVisible(\" > $treeViewItem_contentRegion\", Object.assign({ border: format(\"{0} solid {1}\", toPx(focusOutlineWidth), neutralFocus) }, highContrastDoubleFocus))),\n treeViewItem_glyph: {\n width: glyphSize,\n height: glyphSize,\n fill: neutralForegroundRest,\n [highContrastSelector]: {\n fill: HighContrastColor.buttonText,\n },\n },\n treeViewItem_glyphContainer: {\n \"margin-right\": directionSwitch(horizontalSpacing(), \"\"),\n \"margin-left\": directionSwitch(\"\", horizontalSpacing()),\n display: \"flex\",\n \"align-items\": \"center\",\n },\n // Single item container, always full width\n treeViewItem_contentRegion: Object.assign(Object.assign(Object.assign({ display: \"flex\", position: \"relative\", \"box-sizing\": \"border-box\", height: height() }, applyFocusPlaceholderBorder()), applyCornerRadius()), { \"&:hover\": Object.assign(Object.assign({ background: neutralFillStealthHover }, highContrastSelected), { [`& $treeViewItem_expandedGlyph,\n & $treeViewItem_glyph`]: {\n [highContrastSelector]: {\n fill: HighContrastColor.selectedText,\n },\n } }), \"&:active\": {\n background: neutralFillStealthActive,\n }, \n // Left indent padding for node level; em size set in treeViewItem_childNodeRegion\n \"&::before\": {\n content: \"''\",\n display: \"block\",\n width: \"0\",\n \"flex-shrink\": \"0\",\n }, [highContrastSelector]: Object.assign(Object.assign({}, highContrastOptOutProperty), { color: HighContrastColor.buttonText, border: format(\"{0} solid transparent\", toPx(focusOutlineWidth)) }) }),\n // Single item container for expand/collapse button, glyph, and text; Indented for node level\n treeViewItem_innerContentRegion: Object.assign(Object.assign({ \n // Default margin for glyph and/or text, i.e. not nested\n \"margin-left\": directionSwitch(horizontalSpacing(focusOutlineWidth), \"\"), \"margin-right\": directionSwitch(\"\", horizontalSpacing(focusOutlineWidth)), display: \"flex\", \"align-items\": \"center\", \"white-space\": \"nowrap\" }, applyScaledTypeRamp(\"t7\")), applyFontWeightNormal()),\n // Container for all child nodes of an item\n treeViewItem_childNodeRegion: {\n display: \"none\",\n \"font-size\": `calc(1em + ${nestedNodeOffest()})`,\n \"& $treeViewItem_contentRegion\": {\n \"&::before\": {\n width: \"1em\",\n },\n },\n },\n // Basic button style, more below under treeViewItem__nested\n treeViewItem_expandCollapseButton: Object.assign({ background: \"none\", border: \"none\", outline: \"none\", width: toPx(add(glyphSizeNumber, multiply(designUnit, 4))), height: toPx(add(glyphSizeNumber, multiply(designUnit, 4))), padding: \"0\", display: \"flex\", \"justify-content\": \"center\", \"align-items\": \"center\" }, applyCursorPointer()),\n treeViewItem_expandedGlyph: {\n width: glyphSize,\n height: glyphSize,\n transition: \"transform .1s linear\",\n transform: directionSwitch(\"rotate(-45deg)\", \"rotate(135deg)\"),\n \"pointer-events\": \"none\",\n fill: neutralForegroundRest,\n [highContrastSelector]: {\n fill: HighContrastColor.buttonText,\n },\n },\n treeViewItem__expanded: {\n \"& > $treeViewItem_contentRegion $treeViewItem_expandedGlyph\": {\n transform: directionSwitch(\"rotate(0deg)\", \"rotate(90deg)\"),\n },\n \"& > $treeViewItem_childNodeRegion\": {\n display: \"block\",\n },\n },\n treeViewItem__selected: {\n \"& > $treeViewItem_contentRegion\": Object.assign({ background: neutralFillStealthSelected }, highContrastSelected),\n \"&::after\": Object.assign(Object.assign({ content: \"''\", display: \"block\", position: \"absolute\", top: toPx(divide(subtract(heightNumber(), getScaledLineHeight(\"t7\")), 2)), width: \"3px\", height: applyScaledLineHeight(\"t7\"), background: accentForegroundRest(neutralFillStealthSelected), left: directionSwitch(toPx(focusOutlineWidth), \"unset\"), right: directionSwitch(\"unset\", toPx(focusOutlineWidth)) }, applyCornerRadius()), highContrastSelectedBackground),\n [`& > $treeViewItem_contentRegion $treeViewItem_glyph,\n & > $treeViewItem_contentRegion $treeViewItem_expandedGlyph`]: {\n [highContrastSelector]: {\n fill: HighContrastColor.selectedText,\n },\n },\n },\n treeViewItem__nested: {\n \"& $treeViewItem_innerContentRegion\": {\n position: \"relative\",\n // Push every innerContentRegion over to hold space for the expand/collapse button, whether parent node or not\n \"margin-left\": directionSwitch(toPx(add(glyphSizeNumber, multiply(designUnit, 4))), \"\"),\n \"margin-right\": directionSwitch(\"\", toPx(add(glyphSizeNumber, multiply(designUnit, 4)))),\n },\n \"& $treeViewItem_expandCollapseButton\": {\n position: \"absolute\",\n // Bring the expand/collapse button back into the empty space\n left: directionSwitch(toPx(multiply(add(glyphSizeNumber, multiply(designUnit, 4)), -1)), \"\"),\n right: directionSwitch(\"\", toPx(multiply(add(glyphSizeNumber, multiply(designUnit, 4)), -1))),\n },\n },\n};\nexport default styles;\n","import BaseTreeViewItem from \"./tree-view-item\";\nimport TreeViewItemStyles from \"./tree-view-item.style\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport treeViewItemSchema from \"./tree-view-item.schema\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\n/* tslint:disable-next-line:typedef */\nconst TreeViewItem = manageJss(TreeViewItemStyles)(BaseTreeViewItem);\nexport { TreeViewItem, treeViewItemSchema, };\n","export var CaptionSize;\n(function (CaptionSize) {\n CaptionSize[CaptionSize[\"_1\"] = 1] = \"_1\";\n CaptionSize[CaptionSize[\"_2\"] = 2] = \"_2\";\n})(CaptionSize || (CaptionSize = {}));\nexport var CaptionTag;\n(function (CaptionTag) {\n CaptionTag[\"p\"] = \"p\";\n CaptionTag[\"span\"] = \"span\";\n CaptionTag[\"caption\"] = \"caption\";\n CaptionTag[\"figcaption\"] = \"figcaption\";\n})(CaptionTag || (CaptionTag = {}));\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { TypographySize, TypographyTag } from \"@microsoft/fast-components-react-base\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { Typography } from \"../typography\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { CaptionSize, CaptionTag, } from \"./caption.props\";\nclass Caption extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n size: void 0,\n managedClasses: void 0,\n tag: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(Typography, Object.assign({}, this.unhandledProps(), { tag: TypographyTag[this.props.tag], size: this.size(), className: this.generateClassNames() }), this.props.children));\n }\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.caption, [\n this.props.managedClasses[`caption__${this.props.size}`],\n true,\n ]));\n }\n size() {\n return this.props.size === CaptionSize._2 ? TypographySize._9 : TypographySize._8;\n }\n}\nCaption.defaultProps = {\n tag: CaptionTag.p,\n size: CaptionSize._1,\n managedClasses: {},\n};\nCaption.displayName = `${DisplayNamePrefix}Caption`;\nexport default Caption;\nexport * from \"./caption.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { CaptionStyles } from \"@microsoft/fast-components-styles-msft\";\nimport captionSchema from \"./caption.schema\";\nimport captionSchema2 from \"./caption.schema.2\";\nimport MSFTCaption, { CaptionSize, CaptionTag, } from \"./caption\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Caption = manageJss(CaptionStyles)(MSFTCaption);\nexport { Caption, CaptionSize, CaptionTag, captionSchema, captionSchema2, };\n","import { applyElevatedCornerRadius, applyElevation, applyFontWeightNormal, applyFontWeightSemiBold, applyTypeRampConfig, backgroundColor, ElevationMultiplier, highContrastButtonBackground, highContrastForeground, highContrastHighlightBackground, highContrastSelectedForeground, neutralFillStealthActive, neutralFillStealthHover, neutralForegroundHint, neutralForegroundRest, typeRamp, } from \"@microsoft/fast-components-styles-msft\";\nimport { applyFocusVisible, applyMaxLines, directionSwitch, format, toPx, } from \"@microsoft/fast-jss-utilities\";\nimport { black, white } from \"../utilities/colors\";\nconst cardPadding = 16;\nconst cardTopPadding = 12;\nconst cardBottomPadding2x2y = 26;\nconst attributionRegionHeight = 42;\nconst centeredInlineFlex = {\n display: \"inline-flex\",\n \"align-items\": \"center\",\n};\nconst styles = {\n contentCard: {\n position: \"relative\",\n overflow: \"hidden\",\n display: \"flex\",\n \"flex-direction\": \"column\",\n \"&:hover\": Object.assign(Object.assign({}, applyElevation(ElevationMultiplier.e6)), { \"& $contentCard_headingContent\": {\n \"text-decoration\": \"underline\",\n }, \"& $contentCard_image\": {\n opacity: \".9\",\n } }),\n },\n contentCard_positioningRegion: {\n height: \"100%\",\n display: \"flex\",\n \"flex-direction\": \"column\",\n },\n contentCard_abstract: Object.assign(Object.assign({ position: \"relative\", \"margin-top\": \"6px\", \"min-height\": toPx(9 * typeRamp.t7.lineHeight) }, applyMaxLines(9, typeRamp.t7.lineHeight)), { \"&::after\": {\n \"box-shadow\": format(\"inset 0 -20px 30px 0 {0}\", backgroundColor),\n margin: \"0 -20px\",\n width: \"calc(100% + 40px)\",\n height: \"60px\",\n } }),\n contentCard_attributionRegion: Object.assign(Object.assign({}, centeredInlineFlex), { \"box-sizing\": \"border-box\", \"align-self\": \"flex-end\", padding: `8px ${toPx(cardPadding)} ${toPx(cardPadding)}`, width: \"100%\", \"max-height\": toPx(attributionRegionHeight) }),\n contentCard_attribution: {\n \"& + $contentCard_timestamp\": {\n \"& > span\": {\n \"margin-left\": directionSwitch(\"6px\", \"\"),\n \"margin-right\": directionSwitch(\"\", \"6px\"),\n },\n },\n },\n contentCard_timestamp: Object.assign(Object.assign(Object.assign(Object.assign({}, applyTypeRampConfig(\"t8\")), applyFontWeightNormal()), centeredInlineFlex), { color: neutralForegroundHint }),\n contentCard_contentRegion: {\n display: \"flex\",\n \"flex-direction\": \"row\",\n \"flex-wrap\": \"wrap\",\n \"align-content\": \"flex-start\",\n padding: `${toPx(cardTopPadding)} ${toPx(cardPadding)} 0`,\n \"max-height\": `calc(100% - ${toPx(attributionRegionHeight)})`,\n },\n contentCard_heading: Object.assign({ display: \"block\", \"text-decoration\": \"none\", transition: \"all .2s ease-in-out\", width: \"100%\", \"&::after\": {\n top: \"0\",\n right: \"0\",\n \"z-index\": \"1\",\n } }, applyFocusVisible(\"& $contentCard_headingContent\", {\n \"text-decoration\": \"underline\",\n })),\n contentCard_headingContent: Object.assign({}, applyFontWeightSemiBold()),\n contentCard_imageRegion: {\n position: \"relative\",\n display: \"inline-flex\",\n \"align-self\": \"flex-start\",\n background: neutralForegroundRest(() => white),\n },\n contentCard_image: {\n opacity: \"1\",\n },\n contentCard_icon: Object.assign({ width: \"24px\", height: \"24px\", fill: white }, highContrastForeground),\n contentCard_iconWrapper: Object.assign(Object.assign({ position: \"absolute\" }, centeredInlineFlex), { width: \"48px\", height: \"48px\", \"justify-content\": \"center\", \"border-radius\": \"50%\", background: \"rgba(0,0,0,0.4)\", \"margin-left\": directionSwitch(\"12px\", \"\"), \"margin-right\": directionSwitch(\"\", \"12px\"), bottom: \"8px\" }),\n contentCard_kicker: Object.assign({ position: \"relative\", overflow: \"auto\", display: \"flex\", \"margin-bottom\": \"4px\", \"z-index\": \"2\", \"text-decoration\": \"none\", background: \"none\", border: \"none\", padding: \"0\", \"font-family\": \"inherit\", \"&:hover\": {\n \"& $contentCard_kickerContent\": {\n \"text-decoration\": \"underline\",\n },\n } }, applyFocusVisible(\"& $contentCard_kickerContent\", {\n \"text-decoration\": \"underline\",\n })),\n contentCard_kickerRegion: {\n display: \"grid\",\n \"grid-template-columns\": \"1fr auto\",\n width: \"100%\",\n },\n contentCard_curatedBy: {\n \"margin-left\": directionSwitch(\"auto\", \"\"),\n \"margin-right\": directionSwitch(\"\", \"auto\"),\n \"max-height\": \"20px\",\n },\n contentCard_kickerContent: {\n color: neutralForegroundHint,\n transition: \"all .2s ease-in-out\",\n },\n contentCard_actionIcon__trigger: {\n \"box-sizing\": \"border-box\",\n },\n contentCard_menuGlyph: {},\n contentCard__hideHeadingHover: {\n \"&:hover\": {\n \"& $contentCard_headingContent\": {\n \"text-decoration\": \"none\",\n },\n },\n },\n contentCard__imagePriority: {},\n contentCard_actionRegion: {\n display: \"inline-flex\",\n position: \"absolute\",\n right: directionSwitch(toPx(cardPadding), \"\"),\n left: directionSwitch(\"\", toPx(cardPadding)),\n bottom: \"8px\",\n \"z-index\": \"2\",\n \"flex-grow\": \"1\",\n \"justify-content\": \"flex-end\",\n },\n contentCard_actionIcon: {\n height: \"32px\",\n width: \"32px\",\n \"margin-left\": directionSwitch(\"4px\", \"\"),\n \"margin-right\": directionSwitch(\"\", \"4px\"),\n },\n contentCard__1x_1y: {\n \"& $contentCard_positioningRegion\": {\n \"flex-direction\": \"row\",\n },\n \"& $contentCard_contentRegion\": {\n flex: \"1\",\n },\n \"& $contentCard_imageRegion\": {\n order: \"2\",\n \"margin-top\": toPx(cardPadding),\n \"margin-right\": directionSwitch(toPx(cardPadding), \"\"),\n \"margin-left\": directionSwitch(\"\", toPx(cardPadding)),\n },\n \"& $contentCard_iconWrapper\": {\n width: \"32px\",\n height: \"32px\",\n \"margin-right\": directionSwitch(\"8px\", \"\"),\n \"margin-left\": directionSwitch(\"\", \"8px\"),\n },\n \"& $contentCard_icon\": {\n width: \"16px\",\n height: \"16px\",\n },\n \"& $contentCard_imageRegion, & $contentCard_image\": Object.assign({}, applyElevatedCornerRadius()),\n },\n contentCard__1x_2y: {},\n contentCard__1x_3y: {},\n contentCard_obscuredRegion: {\n \"&::after\": {\n content: '\"\"',\n position: \"absolute\",\n bottom: \"0\",\n left: \"0\",\n },\n },\n contentCard__2x_2y: {\n \"& $contentCard_imageRegion\": {\n position: \"absolute\",\n \"&::after\": {\n background: format(\"linear-gradient(0deg, {0} 0, transparent 100%)\", () => black),\n height: \"190px\",\n width: \"100%\",\n },\n \"& + $contentCard_contentRegion\": {\n position: \"static\",\n \"margin-top\": \"auto\",\n \"& $contentCard_headingContent\": {\n color: white,\n },\n \"& $contentCard_kicker, & $contentCard_curatedBy\": {\n position: \"absolute\",\n top: \"24px\",\n left: directionSwitch(\"24px\", \"\"),\n right: directionSwitch(\"\", \"24px\"),\n },\n // 2x2 icon wrapper style with image\n \"& $contentCard_iconWrapper\": {\n \"border-color\": white,\n },\n \"& $contentCard_icon\": {\n fill: white,\n },\n },\n },\n \"& $contentCard_curatedBy\": {\n \"margin-left\": directionSwitch(\"0\", \"\"),\n \"margin-right\": directionSwitch(\"\", \"0\"),\n },\n \"& $contentCard_iconWrapper\": {\n display: \"inline-block\",\n bottom: \"auto\",\n background: \"none\",\n width: \"auto\",\n height: \"30px\",\n \"border-radius\": \"0\",\n \"border-left\": directionSwitch(\"2px solid\", \"\"),\n \"border-right\": directionSwitch(\"\", \"2px solid\"),\n \"border-color\": neutralForegroundRest,\n position: \"relative\",\n \"vertical-align\": \"middle\",\n },\n \"& $contentCard_icon\": {\n \"margin-left\": directionSwitch(\"10px\", \"\"),\n \"margin-right\": directionSwitch(\"\", \"10px\"),\n display: \"block\",\n \"margin-top\": \"2px\",\n },\n \"& $contentCard_contentRegion\": {\n \"z-index\": \"1\",\n },\n \"& $contentCard_attributionRegion\": {\n position: \"relative\",\n padding: `${toPx(cardTopPadding)} ${toPx(cardPadding)} ${toPx(cardBottomPadding2x2y)}`,\n },\n \"& $contentCard_actionIcon__trigger\": {\n bottom: \"18px\",\n },\n \"&$contentCard__imagePriority\": {\n \"& $contentCard_attributionRegion\": {\n \"& $contentCard_timestamp, & $contentCard_attribution > span\": {\n color: white,\n },\n },\n \"& $contentCard_actionIcon\": Object.assign(Object.assign(Object.assign({ \"background-color\": \"transparent\" }, highContrastButtonBackground), { \"& $contentCard_menuGlyph\": Object.assign({ fill: white }, highContrastForeground), \"&:hover\": Object.assign(Object.assign({ \"background-color\": neutralFillStealthHover(() => black) }, highContrastHighlightBackground), { \"& $contentCard_menuGlyph\": Object.assign({}, highContrastSelectedForeground) }), \"&:active\": {\n background: neutralFillStealthActive(() => black),\n } }), applyFocusVisible(Object.assign(Object.assign({ \"background-color\": neutralFillStealthHover(() => black), \"border-color\": white, \"box-shadow\": format(\"inset 0 0 0 1px {0}\", () => white) }, highContrastHighlightBackground), { \"& $contentCard_menuGlyph\": Object.assign({}, highContrastSelectedForeground) }))),\n },\n },\n};\nexport default styles;\n","var __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};\nimport React from \"react\";\nimport Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { Badge, BadgeSize, Card, Paragraph, ParagraphSize, StealthButton, Typography, TypographySize, } from \"@microsoft/fast-components-react-msft\";\nimport { Button as BaseButton, Hypertext, } from \"@microsoft/fast-components-react-base\";\nimport { typeRamp } from \"@microsoft/fast-components-styles-msft\";\nimport { applyMaxLines } from \"@microsoft/fast-jss-utilities\";\nimport { More } from \"@edge-web-ui/news-icons\";\nimport { ContentCardLayout, } from \"./content-card.props\";\nimport { Attribution } from \"../attribution\";\nimport { isNil, memoize } from \"lodash-es\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nclass ContentCard extends Foundation {\n constructor(props) {\n super(props);\n this.handledProps = {\n abstract: void 0,\n attribution: void 0,\n curatedBy: void 0,\n destination: void 0,\n icon: void 0,\n heading: void 0,\n headingMaxLines: void 0,\n height: void 0,\n image: void 0,\n imagePriority: void 0,\n kicker: void 0,\n layout: void 0,\n likeIcon: void 0,\n managedClasses: void 0,\n menuTrigger: void 0,\n saveIcon: void 0,\n timestamp: void 0,\n width: void 0,\n };\n /**\n * Handles the hover event of the kicker\n * Updates the state of the component to notify when the kicker region has been hovered.\n * This updates a class on the root component which allows us to modify styles higher up the DOM tree\n */\n this.handleSecondaryActionHover = () => {\n this.setState({\n hideHeadingHover: !this.state.hideHeadingHover,\n });\n };\n /**\n * Handle the close button click and keyboard events\n */\n this.handleMenuTriggerClick = (e) => {\n if (!isNil(this.props.menuTrigger) &&\n typeof this.props.menuTrigger.onInvoke === \"function\") {\n this.props.menuTrigger.onInvoke(e);\n }\n };\n this.state = {\n hideHeadingHover: false,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(Card, Object.assign({}, this.generateAttributes(), { className: this.generateClassNames(), tag: this.props.tag }),\n React.createElement(\"div\", { className: classNames(this.props.managedClasses.contentCard_positioningRegion) },\n this.renderImage(),\n this.renderContentArea()),\n this.renderAttributionRegion()));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { contentCard, contentCard__imagePriority, contentCard__hideHeadingHover, } = this.props.managedClasses;\n const isImagePriority = this.props.imagePriority ||\n (this.props.layout === ContentCardLayout._2x_2y && !!this.props.image);\n return super.generateClassNames(classNames(contentCard, [this.getClassNameByLayout(), !!this.props.layout], [contentCard__imagePriority, isImagePriority], [contentCard__hideHeadingHover, this.state.hideHeadingHover]));\n }\n generateAttributes() {\n const attributes = Object.assign({}, this.unhandledProps());\n return Object.assign(Object.assign({}, attributes), { style: Object.assign(Object.assign({}, attributes.style), { height: this.props.height, width: this.props.width }) });\n }\n getClassNameByLayout() {\n const { contentCard__1x_1y, contentCard__1x_2y, contentCard__1x_3y, contentCard__2x_2y, } = this.props.managedClasses;\n switch (this.props.layout) {\n case ContentCardLayout._1x_2y:\n return contentCard__1x_2y;\n case ContentCardLayout._1x_3y:\n return contentCard__1x_3y;\n case ContentCardLayout._2x_2y:\n return contentCard__2x_2y;\n case ContentCardLayout._1x_1y:\n default:\n return contentCard__1x_1y;\n }\n }\n /**\n * Render image based on props\n */\n renderImage() {\n const { contentCard_imageRegion, contentCard_obscuredRegion, contentCard_image, } = this.props.managedClasses;\n if (typeof this.props.image === \"function\") {\n return (React.createElement(\"div\", { className: classNames(contentCard_imageRegion, contentCard_obscuredRegion) },\n this.props.image(classNames(contentCard_image)),\n this.props.layout !== ContentCardLayout._2x_2y\n ? this.generateIcon()\n : null));\n }\n }\n /**\n * Render content area based on props\n */\n renderContentArea() {\n return (React.createElement(\"div\", { className: this.props.managedClasses.contentCard_contentRegion },\n this.renderKickerRegion(),\n this.renderHeading(),\n this.renderAbstract()));\n }\n /**\n * Render kicker region based on props\n */\n renderKickerRegion() {\n if (this.props.kicker || typeof this.props.curatedBy === \"function\") {\n return (React.createElement(\"div\", { className: this.props.managedClasses.contentCard_kickerRegion },\n this.renderKicker(),\n this.renderCuratedBy()));\n }\n }\n /**\n * Render the article title with destination\n */\n renderHeading() {\n if (!this.props.heading) {\n return;\n }\n const _a = this.getHeadingProps(), { children, jssStyleSheet } = _a, headingProps = __rest(_a, [\"children\", \"jssStyleSheet\"]);\n const { contentCard_heading, contentCard_obscuredRegion, contentCard_headingContent, } = this.props.managedClasses;\n return (React.createElement(Hypertext, Object.assign({}, this.props.destination, { className: classNames(contentCard_heading, contentCard_obscuredRegion) }),\n React.createElement(Typography, Object.assign({}, headingProps, { jssStyleSheet: ContentCard.generateHeadingMaxlines(headingProps.size, this.props.headingMaxLines), className: classNames(contentCard_headingContent) }),\n children,\n this.props.layout === ContentCardLayout._2x_2y\n ? this.generateIcon()\n : null)));\n }\n /**\n * Render abstract based on props\n */\n renderAbstract() {\n if (!this.props.abstract ||\n this.props.imagePriority ||\n (this.props.layout === ContentCardLayout._1x_2y && this.props.image)) {\n return;\n }\n const { contentCard_abstract, contentCard_obscuredRegion, } = this.props.managedClasses;\n return (React.createElement(Paragraph, Object.assign({}, this.getAbstractProps(), { className: classNames(contentCard_abstract, contentCard_obscuredRegion) })));\n }\n /**\n * Render kicker badge based on props\n */\n renderKicker() {\n if (!this.props.kicker) {\n return;\n }\n const _a = this.props.kicker, { children } = _a, kickerProps = __rest(_a, [\"children\"]);\n const { contentCard_kicker, contentCard_kickerContent, } = this.props.managedClasses;\n return (React.createElement(BaseButton, Object.assign({}, kickerProps, { className: classNames(contentCard_kicker), onMouseEnter: this.handleSecondaryActionHover, onMouseLeave: this.handleSecondaryActionHover }),\n React.createElement(Badge, { className: classNames(contentCard_kickerContent), filled: false, size: BadgeSize.small }, children)));\n }\n /**\n * Renders the \"curated by\" logo based on props\n */\n renderCuratedBy() {\n if (typeof this.props.curatedBy === \"function\") {\n return this.props.curatedBy(this.props.managedClasses.contentCard_curatedBy);\n }\n }\n /**\n * Renders the article attribution\n */\n renderAttributionRegion() {\n return (React.createElement(\"div\", { className: classNames(this.props.managedClasses.contentCard_attributionRegion) },\n this.renderAttribution(),\n this.renderTimestamp(),\n this.renderActionRegion()));\n }\n renderAttribution() {\n if (this.props.attribution) {\n return (React.createElement(Attribution, Object.assign({}, this.props.attribution, { className: classNames(this.props.managedClasses.contentCard_attribution) })));\n }\n }\n /**\n * Renders the timestamp\n */\n renderTimestamp() {\n if (this.props.timestamp) {\n return (React.createElement(\"span\", { className: classNames(this.props.managedClasses.contentCard_timestamp) },\n this.props.attribution ? React.createElement(\"span\", null, \"\\u2022\") : null,\n React.createElement(\"span\", null, this.props.timestamp)));\n }\n }\n renderActionRegion() {\n if (!this.props.saveIcon && !this.props.likeIcon && !this.props.menuTrigger) {\n return;\n }\n const { contentCard_actionRegion, contentCard_actionIcon, contentCard_saveIcon, // @deprecated\n contentCard_likeIcon, } = this.props.managedClasses;\n const saveIcon = typeof this.props.saveIcon === \"function\" &&\n this.props.saveIcon(classNames(contentCard_actionIcon, contentCard_saveIcon));\n const likeIcon = typeof this.props.likeIcon === \"function\" &&\n this.props.likeIcon(classNames(contentCard_actionIcon, contentCard_likeIcon));\n return (React.createElement(\"div\", { className: classNames(contentCard_actionRegion), onMouseEnter: this.handleSecondaryActionHover, onMouseLeave: this.handleSecondaryActionHover },\n saveIcon,\n likeIcon,\n this.renderMenuTrigger()));\n }\n /**\n * Render the menu trigger\n */\n renderMenuTrigger() {\n if (this.props.menuTrigger) {\n // Destructure the close button prop object so we can pass \"unhandled\" props\n const _a = this.props.menuTrigger, { label, onInvoke } = _a, props = __rest(_a, [\"label\", \"onInvoke\"]);\n const { contentCard_menuGlyph, contentCard_actionIcon, contentCard_actionIcon__trigger, contentCard_menuTrigger, } = this.props.managedClasses;\n return (React.createElement(StealthButton, Object.assign({}, props, { \"aria-label\": label, className: classNames(contentCard_actionIcon, contentCard_actionIcon__trigger, contentCard_menuTrigger), onClick: this.handleMenuTriggerClick }),\n React.createElement(More, { className: classNames(contentCard_menuGlyph) })));\n }\n }\n /**\n * Generates icon based on props\n */\n generateIcon() {\n if (typeof this.props.icon === \"function\") {\n const { contentCard_icon, contentCard_iconWrapper, } = this.props.managedClasses;\n return (React.createElement(\"span\", { className: classNames(contentCard_iconWrapper) }, this.props.icon(classNames(contentCard_icon))));\n }\n }\n /**\n * Gets props for the heading and sets default props if needed\n */\n getHeadingProps() {\n const defaultHeadingSize = this.props.layout !== ContentCardLayout._1x_1y\n ? TypographySize._5\n : this.props.image\n ? TypographySize._7\n : TypographySize._6;\n return Object.assign({}, { size: defaultHeadingSize }, this.props.heading);\n }\n /**\n * Gets props for the abstract and sets default props if needed\n */\n getAbstractProps() {\n return Object.assign({}, { size: ParagraphSize._3 }, this.props.abstract);\n }\n}\nContentCard.defaultProps = {\n height: \"163px\",\n width: \"300px\",\n layout: ContentCardLayout._1x_1y,\n managedClasses: {},\n headingMaxLines: 3,\n};\nContentCard.displayName = \"ContentCard\";\n/**\n * Memoized function to get the heading stylesheet to avoid profileration of per-instance inline stylesheets.\n */\nContentCard.generateHeadingMaxlines = memoize((headingSize, maxLines) => ({\n typography: Object.assign(Object.assign({}, applyMaxLines(maxLines, typeRamp[`t${headingSize}`].lineHeight)), { \"white-space\": \"normal\", \n // apply webkit line clamp support for ellipsis in browsers which support it\n display: \"-webkit-box\", \"-webkit-box-orient\": \"vertical\", \"-webkit-line-clamp\": maxLines }),\n}), (...args) => args.join());\nexport default ContentCard;\nexport * from \"./content-card.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport ContentCardStyles from \"./content-card.style\";\nimport BaseContentCard, { ContentCardLayout, } from \"./content-card\";\nimport contentCardSchema from \"./content-card.schema\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\n/* tslint:disable-next-line:typedef */\nconst ContentCard = manageJss(ContentCardStyles)(BaseContentCard);\nexport { ContentCard, ContentCardLayout, contentCardSchema, };\n","import { emptyArray } from \"../interfaces\";\n/** @internal */\nexport function newSplice(index, removed, addedCount) {\n return {\n index: index,\n removed: removed,\n addedCount: addedCount,\n };\n}\nconst EDIT_LEAVE = 0;\nconst EDIT_UPDATE = 1;\nconst EDIT_ADD = 2;\nconst EDIT_DELETE = 3;\n// Note: This function is *based* on the computation of the Levenshtein\n// \"edit\" distance. The one change is that \"updates\" are treated as two\n// edits - not one. With Array splices, an update is really a delete\n// followed by an add. By retaining this, we optimize for \"keeping\" the\n// maximum array items in the original array. For example:\n//\n// 'xxxx123' -> '123yyyy'\n//\n// With 1-edit updates, the shortest path would be just to update all seven\n// characters. With 2-edit updates, we delete 4, leave 3, and add 4. This\n// leaves the substring '123' intact.\nfunction calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n // \"Deletion\" columns\n const rowCount = oldEnd - oldStart + 1;\n const columnCount = currentEnd - currentStart + 1;\n const distances = new Array(rowCount);\n let north;\n let west;\n // \"Addition\" rows. Initialize null column.\n for (let i = 0; i < rowCount; ++i) {\n distances[i] = new Array(columnCount);\n distances[i][0] = i;\n }\n // Initialize null row\n for (let j = 0; j < columnCount; ++j) {\n distances[0][j] = j;\n }\n for (let i = 1; i < rowCount; ++i) {\n for (let j = 1; j < columnCount; ++j) {\n if (current[currentStart + j - 1] === old[oldStart + i - 1]) {\n distances[i][j] = distances[i - 1][j - 1];\n }\n else {\n north = distances[i - 1][j] + 1;\n west = distances[i][j - 1] + 1;\n distances[i][j] = north < west ? north : west;\n }\n }\n }\n return distances;\n}\n// This starts at the final weight, and walks \"backward\" by finding\n// the minimum previous weight recursively until the origin of the weight\n// matrix.\nfunction spliceOperationsFromEditDistances(distances) {\n let i = distances.length - 1;\n let j = distances[0].length - 1;\n let current = distances[i][j];\n const edits = [];\n while (i > 0 || j > 0) {\n if (i === 0) {\n edits.push(EDIT_ADD);\n j--;\n continue;\n }\n if (j === 0) {\n edits.push(EDIT_DELETE);\n i--;\n continue;\n }\n const northWest = distances[i - 1][j - 1];\n const west = distances[i - 1][j];\n const north = distances[i][j - 1];\n let min;\n if (west < north) {\n min = west < northWest ? west : northWest;\n }\n else {\n min = north < northWest ? north : northWest;\n }\n if (min === northWest) {\n if (northWest === current) {\n edits.push(EDIT_LEAVE);\n }\n else {\n edits.push(EDIT_UPDATE);\n current = northWest;\n }\n i--;\n j--;\n }\n else if (min === west) {\n edits.push(EDIT_DELETE);\n i--;\n current = west;\n }\n else {\n edits.push(EDIT_ADD);\n j--;\n current = north;\n }\n }\n edits.reverse();\n return edits;\n}\nfunction sharedPrefix(current, old, searchLength) {\n for (let i = 0; i < searchLength; ++i) {\n if (current[i] !== old[i]) {\n return i;\n }\n }\n return searchLength;\n}\nfunction sharedSuffix(current, old, searchLength) {\n let index1 = current.length;\n let index2 = old.length;\n let count = 0;\n while (count < searchLength && current[--index1] === old[--index2]) {\n count++;\n }\n return count;\n}\nfunction intersect(start1, end1, start2, end2) {\n // Disjoint\n if (end1 < start2 || end2 < start1) {\n return -1;\n }\n // Adjacent\n if (end1 === start2 || end2 === start1) {\n return 0;\n }\n // Non-zero intersect, span1 first\n if (start1 < start2) {\n if (end1 < end2) {\n return end1 - start2; // Overlap\n }\n return end2 - start2; // Contained\n }\n // Non-zero intersect, span2 first\n if (end2 < end1) {\n return end2 - start1; // Overlap\n }\n return end1 - start1; // Contained\n}\n/**\n * Splice Projection functions:\n *\n * A splice map is a representation of how a previous array of items\n * was transformed into a new array of items. Conceptually it is a list of\n * tuples of\n *\n * \n *\n * which are kept in ascending index order of. The tuple represents that at\n * the |index|, |removed| sequence of items were removed, and counting forward\n * from |index|, |addedCount| items were added.\n */\n/**\n * @internal\n * @remarks\n * Lacking individual splice mutation information, the minimal set of\n * splices can be synthesized given the previous state and final state of an\n * array. The basic approach is to calculate the edit distance matrix and\n * choose the shortest path through it.\n *\n * Complexity: O(l * p)\n * l: The length of the current array\n * p: The length of the old array\n */\nexport function calcSplices(current, currentStart, currentEnd, old, oldStart, oldEnd) {\n let prefixCount = 0;\n let suffixCount = 0;\n const minLength = Math.min(currentEnd - currentStart, oldEnd - oldStart);\n if (currentStart === 0 && oldStart === 0) {\n prefixCount = sharedPrefix(current, old, minLength);\n }\n if (currentEnd === current.length && oldEnd === old.length) {\n suffixCount = sharedSuffix(current, old, minLength - prefixCount);\n }\n currentStart += prefixCount;\n oldStart += prefixCount;\n currentEnd -= suffixCount;\n oldEnd -= suffixCount;\n if (currentEnd - currentStart === 0 && oldEnd - oldStart === 0) {\n return emptyArray;\n }\n if (currentStart === currentEnd) {\n const splice = newSplice(currentStart, [], 0);\n while (oldStart < oldEnd) {\n splice.removed.push(old[oldStart++]);\n }\n return [splice];\n }\n else if (oldStart === oldEnd) {\n return [newSplice(currentStart, [], currentEnd - currentStart)];\n }\n const ops = spliceOperationsFromEditDistances(calcEditDistances(current, currentStart, currentEnd, old, oldStart, oldEnd));\n const splices = [];\n let splice = void 0;\n let index = currentStart;\n let oldIndex = oldStart;\n for (let i = 0; i < ops.length; ++i) {\n switch (ops[i]) {\n case EDIT_LEAVE:\n if (splice !== void 0) {\n splices.push(splice);\n splice = void 0;\n }\n index++;\n oldIndex++;\n break;\n case EDIT_UPDATE:\n if (splice === void 0) {\n splice = newSplice(index, [], 0);\n }\n splice.addedCount++;\n index++;\n splice.removed.push(old[oldIndex]);\n oldIndex++;\n break;\n case EDIT_ADD:\n if (splice === void 0) {\n splice = newSplice(index, [], 0);\n }\n splice.addedCount++;\n index++;\n break;\n case EDIT_DELETE:\n if (splice === void 0) {\n splice = newSplice(index, [], 0);\n }\n splice.removed.push(old[oldIndex]);\n oldIndex++;\n break;\n // no default\n }\n }\n if (splice !== void 0) {\n splices.push(splice);\n }\n return splices;\n}\nconst $push = Array.prototype.push;\nfunction mergeSplice(splices, index, removed, addedCount) {\n const splice = newSplice(index, removed, addedCount);\n let inserted = false;\n let insertionOffset = 0;\n for (let i = 0, ii = splices.length; i < ii; i++) {\n const current = splices[i];\n current.index += insertionOffset;\n if (inserted) {\n continue;\n }\n const intersectCount = intersect(splice.index, splice.index + splice.removed.length, current.index, current.index + current.addedCount);\n if (intersectCount >= 0) {\n // Merge the two splices\n splices.splice(i, 1);\n i--;\n insertionOffset -= current.addedCount - current.removed.length;\n splice.addedCount += current.addedCount - intersectCount;\n const deleteCount = splice.removed.length + current.removed.length - intersectCount;\n if (!splice.addedCount && !deleteCount) {\n // merged splice is a noop. discard.\n inserted = true;\n }\n else {\n let currentRemoved = current.removed;\n if (splice.index < current.index) {\n // some prefix of splice.removed is prepended to current.removed.\n const prepend = splice.removed.slice(0, current.index - splice.index);\n $push.apply(prepend, currentRemoved);\n currentRemoved = prepend;\n }\n if (splice.index + splice.removed.length >\n current.index + current.addedCount) {\n // some suffix of splice.removed is appended to current.removed.\n const append = splice.removed.slice(current.index + current.addedCount - splice.index);\n $push.apply(currentRemoved, append);\n }\n splice.removed = currentRemoved;\n if (current.index < splice.index) {\n splice.index = current.index;\n }\n }\n }\n else if (splice.index < current.index) {\n // Insert splice here.\n inserted = true;\n splices.splice(i, 0, splice);\n i++;\n const offset = splice.addedCount - splice.removed.length;\n current.index += offset;\n insertionOffset += offset;\n }\n }\n if (!inserted) {\n splices.push(splice);\n }\n}\nfunction createInitialSplices(changeRecords) {\n const splices = [];\n for (let i = 0, ii = changeRecords.length; i < ii; i++) {\n const record = changeRecords[i];\n mergeSplice(splices, record.index, record.removed, record.addedCount);\n }\n return splices;\n}\n/** @internal */\nexport function projectArraySplices(array, changeRecords) {\n let splices = [];\n const initialSplices = createInitialSplices(changeRecords);\n for (let i = 0, ii = initialSplices.length; i < ii; ++i) {\n const splice = initialSplices[i];\n if (splice.addedCount === 1 && splice.removed.length === 1) {\n if (splice.removed[0] !== array[splice.index]) {\n splices.push(splice);\n }\n continue;\n }\n splices = splices.concat(calcSplices(array, splice.index, splice.index + splice.addedCount, splice.removed, 0, splice.removed.length));\n }\n return splices;\n}\n","import { DOM } from \"../dom\";\nimport { Observable } from \"./observable\";\nimport { SubscriberSet } from \"./notifier\";\nimport { calcSplices, newSplice, projectArraySplices, } from \"./array-change-records\";\nlet arrayObservationEnabled = false;\nfunction adjustIndex(changeRecord, array) {\n let index = changeRecord.index;\n const arrayLength = array.length;\n if (index > arrayLength) {\n index = arrayLength - changeRecord.addedCount;\n }\n else if (index < 0) {\n index =\n arrayLength + changeRecord.removed.length + index - changeRecord.addedCount;\n }\n if (index < 0) {\n index = 0;\n }\n changeRecord.index = index;\n return changeRecord;\n}\nclass ArrayObserver extends SubscriberSet {\n constructor(source) {\n super(source);\n this.oldCollection = void 0;\n this.splices = void 0;\n this.needsQueue = true;\n this.call = this.flush;\n source.$fastController = this;\n }\n addSplice(splice) {\n if (this.splices === void 0) {\n this.splices = [splice];\n }\n else {\n this.splices.push(splice);\n }\n if (this.needsQueue) {\n this.needsQueue = false;\n DOM.queueUpdate(this);\n }\n }\n reset(oldCollection) {\n this.oldCollection = oldCollection;\n if (this.needsQueue) {\n this.needsQueue = false;\n DOM.queueUpdate(this);\n }\n }\n flush() {\n const splices = this.splices;\n const oldCollection = this.oldCollection;\n if (splices === void 0 && oldCollection === void 0) {\n return;\n }\n this.needsQueue = true;\n this.splices = void 0;\n this.oldCollection = void 0;\n const finalSplices = oldCollection === void 0\n ? projectArraySplices(this.source, splices)\n : calcSplices(this.source, 0, this.source.length, oldCollection, 0, oldCollection.length);\n this.notify(finalSplices);\n }\n}\n/* eslint-disable prefer-rest-params */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/**\n * Enables the array observation mechanism.\n * @remarks\n * Array observation is enabled automatically when using the\n * {@link RepeatDirective}, so calling this API manually is\n * not typically necessary.\n * @public\n */\nexport function enableArrayObservation() {\n if (arrayObservationEnabled) {\n return;\n }\n arrayObservationEnabled = true;\n Observable.setArrayObserverFactory((collection) => {\n return new ArrayObserver(collection);\n });\n const arrayProto = Array.prototype;\n const pop = arrayProto.pop;\n const push = arrayProto.push;\n const reverse = arrayProto.reverse;\n const shift = arrayProto.shift;\n const sort = arrayProto.sort;\n const splice = arrayProto.splice;\n const unshift = arrayProto.unshift;\n arrayProto.pop = function () {\n const notEmpty = this.length > 0;\n const methodCallResult = pop.apply(this, arguments);\n const o = this.$fastController;\n if (o !== void 0 && notEmpty) {\n o.addSplice(newSplice(this.length, [methodCallResult], 0));\n }\n return methodCallResult;\n };\n arrayProto.push = function () {\n const methodCallResult = push.apply(this, arguments);\n const o = this.$fastController;\n if (o !== void 0) {\n o.addSplice(adjustIndex(newSplice(this.length - arguments.length, [], arguments.length), this));\n }\n return methodCallResult;\n };\n arrayProto.reverse = function () {\n let oldArray;\n const o = this.$fastController;\n if (o !== void 0) {\n o.flush();\n oldArray = this.slice();\n }\n const methodCallResult = reverse.apply(this, arguments);\n if (o !== void 0) {\n o.reset(oldArray);\n }\n return methodCallResult;\n };\n arrayProto.shift = function () {\n const notEmpty = this.length > 0;\n const methodCallResult = shift.apply(this, arguments);\n const o = this.$fastController;\n if (o !== void 0 && notEmpty) {\n o.addSplice(newSplice(0, [methodCallResult], 0));\n }\n return methodCallResult;\n };\n arrayProto.sort = function () {\n let oldArray;\n const o = this.$fastController;\n if (o !== void 0) {\n o.flush();\n oldArray = this.slice();\n }\n const methodCallResult = sort.apply(this, arguments);\n if (o !== void 0) {\n o.reset(oldArray);\n }\n return methodCallResult;\n };\n arrayProto.splice = function () {\n const methodCallResult = splice.apply(this, arguments);\n const o = this.$fastController;\n if (o !== void 0) {\n o.addSplice(adjustIndex(newSplice(+arguments[0], methodCallResult, arguments.length > 2 ? arguments.length - 2 : 0), this));\n }\n return methodCallResult;\n };\n arrayProto.unshift = function () {\n const methodCallResult = unshift.apply(this, arguments);\n const o = this.$fastController;\n if (o !== void 0) {\n o.addSplice(adjustIndex(newSplice(0, [], arguments.length), this));\n }\n return methodCallResult;\n };\n}\n/* eslint-enable prefer-rest-params */\n/* eslint-enable @typescript-eslint/explicit-function-return-type */\n","import { DOM } from \"../dom\";\nimport { Observable, } from \"../observation/observable\";\nimport { HTMLView } from \"../view\";\nimport { enableArrayObservation } from \"../observation/array-observer\";\nimport { Directive } from \"./directive\";\nconst defaultRepeatOptions = Object.freeze({\n positioning: false,\n});\nfunction bindWithoutPositioning(view, items, index, context) {\n view.bind(items[index], context);\n}\nfunction bindWithPositioning(view, items, index, context) {\n const childContext = Object.create(context);\n childContext.index = index;\n childContext.length = items.length;\n view.bind(items[index], childContext);\n}\n/**\n * A behavior that renders a template for each item in an array.\n * @public\n */\nexport class RepeatBehavior {\n /**\n * Creates an instance of RepeatBehavior.\n * @param location - The location in the DOM to render the repeat.\n * @param itemsBinding - The array to render.\n * @param isItemsBindingVolatile - Indicates whether the items binding has volatile dependencies.\n * @param templateBinding - The template to render for each item.\n * @param isTemplateBindingVolatile - Indicates whether the template binding has volatile dependencies.\n * @param options - Options used to turn on special repeat features.\n */\n constructor(location, itemsBinding, isItemsBindingVolatile, templateBinding, isTemplateBindingVolatile, options) {\n this.location = location;\n this.itemsBinding = itemsBinding;\n this.templateBinding = templateBinding;\n this.options = options;\n this.source = null;\n this.views = [];\n this.items = null;\n this.itemsObserver = null;\n this.originalContext = void 0;\n this.childContext = void 0;\n this.bindView = bindWithoutPositioning;\n this.itemsBindingObserver = Observable.binding(itemsBinding, this, isItemsBindingVolatile);\n this.templateBindingObserver = Observable.binding(templateBinding, this, isTemplateBindingVolatile);\n if (options.positioning) {\n this.bindView = bindWithPositioning;\n }\n }\n /**\n * Bind this behavior to the source.\n * @param source - The source to bind to.\n * @param context - The execution context that the binding is operating within.\n */\n bind(source, context) {\n this.source = source;\n this.originalContext = context;\n this.childContext = Object.create(context);\n this.childContext.parent = source;\n this.items = this.itemsBindingObserver.observe(source, this.originalContext);\n this.template = this.templateBindingObserver.observe(source, this.originalContext);\n this.observeItems();\n this.refreshAllViews();\n }\n /**\n * Unbinds this behavior from the source.\n * @param source - The source to unbind from.\n */\n unbind() {\n this.source = null;\n this.items = null;\n if (this.itemsObserver !== null) {\n this.itemsObserver.unsubscribe(this);\n }\n this.unbindAllViews();\n this.itemsBindingObserver.disconnect();\n this.templateBindingObserver.disconnect();\n }\n /** @internal */\n handleChange(source, args) {\n if (source === this.itemsBinding) {\n this.items = this.itemsBindingObserver.observe(this.source, this.originalContext);\n this.observeItems();\n this.refreshAllViews();\n }\n else if (source === this.templateBinding) {\n this.template = this.templateBindingObserver.observe(this.source, this.originalContext);\n this.refreshAllViews(true);\n }\n else {\n this.updateViews(args);\n }\n }\n observeItems() {\n if (!this.items) {\n this.items = [];\n }\n const oldObserver = this.itemsObserver;\n const newObserver = (this.itemsObserver = Observable.getNotifier(this.items));\n if (oldObserver !== newObserver) {\n if (oldObserver !== null) {\n oldObserver.unsubscribe(this);\n }\n newObserver.subscribe(this);\n }\n }\n updateViews(splices) {\n const childContext = this.childContext;\n const views = this.views;\n const totalRemoved = [];\n const bindView = this.bindView;\n let removeDelta = 0;\n for (let i = 0, ii = splices.length; i < ii; ++i) {\n const splice = splices[i];\n const removed = splice.removed;\n totalRemoved.push(...views.splice(splice.index + removeDelta, removed.length));\n removeDelta -= splice.addedCount;\n }\n const items = this.items;\n const template = this.template;\n for (let i = 0, ii = splices.length; i < ii; ++i) {\n const splice = splices[i];\n let addIndex = splice.index;\n const end = addIndex + splice.addedCount;\n for (; addIndex < end; ++addIndex) {\n const neighbor = views[addIndex];\n const location = neighbor ? neighbor.firstChild : this.location;\n const view = totalRemoved.length > 0 ? totalRemoved.shift() : template.create();\n views.splice(addIndex, 0, view);\n bindView(view, items, addIndex, childContext);\n view.insertBefore(location);\n }\n }\n for (let i = 0, ii = totalRemoved.length; i < ii; ++i) {\n totalRemoved[i].dispose();\n }\n if (this.options.positioning) {\n for (let i = 0, ii = views.length; i < ii; ++i) {\n const currentContext = views[i].context;\n currentContext.length = ii;\n currentContext.index = i;\n }\n }\n }\n refreshAllViews(templateChanged = false) {\n const items = this.items;\n const childContext = this.childContext;\n const template = this.template;\n const location = this.location;\n const bindView = this.bindView;\n let itemsLength = items.length;\n let views = this.views;\n let viewsLength = views.length;\n if (itemsLength === 0 || templateChanged) {\n // all views need to be removed\n HTMLView.disposeContiguousBatch(views);\n viewsLength = 0;\n }\n if (viewsLength === 0) {\n // all views need to be created\n this.views = views = new Array(itemsLength);\n for (let i = 0; i < itemsLength; ++i) {\n const view = template.create();\n bindView(view, items, i, childContext);\n views[i] = view;\n view.insertBefore(location);\n }\n }\n else {\n // attempt to reuse existing views with new data\n let i = 0;\n for (; i < itemsLength; ++i) {\n if (i < viewsLength) {\n const view = views[i];\n bindView(view, items, i, childContext);\n }\n else {\n const view = template.create();\n bindView(view, items, i, childContext);\n views.push(view);\n view.insertBefore(location);\n }\n }\n const removed = views.splice(i, viewsLength - i);\n for (i = 0, itemsLength = removed.length; i < itemsLength; ++i) {\n removed[i].dispose();\n }\n }\n }\n unbindAllViews() {\n const views = this.views;\n for (let i = 0, ii = views.length; i < ii; ++i) {\n views[i].unbind();\n }\n }\n}\n/**\n * A directive that configures list rendering.\n * @public\n */\nexport class RepeatDirective extends Directive {\n /**\n * Creates an instance of RepeatDirective.\n * @param itemsBinding - The binding that provides the array to render.\n * @param templateBinding - The template binding used to obtain a template to render for each item in the array.\n * @param options - Options used to turn on special repeat features.\n */\n constructor(itemsBinding, templateBinding, options) {\n super();\n this.itemsBinding = itemsBinding;\n this.templateBinding = templateBinding;\n this.options = options;\n /**\n * Creates a placeholder string based on the directive's index within the template.\n * @param index - The index of the directive within the template.\n */\n this.createPlaceholder = DOM.createBlockPlaceholder;\n enableArrayObservation();\n this.isItemsBindingVolatile = Observable.isVolatileBinding(itemsBinding);\n this.isTemplateBindingVolatile = Observable.isVolatileBinding(templateBinding);\n }\n /**\n * Creates a behavior for the provided target node.\n * @param target - The node instance to create the behavior for.\n */\n createBehavior(target) {\n return new RepeatBehavior(target, this.itemsBinding, this.isItemsBindingVolatile, this.templateBinding, this.isTemplateBindingVolatile, this.options);\n }\n}\n/**\n * A directive that enables list rendering.\n * @param itemsBinding - The array to render.\n * @param templateOrTemplateBinding - The template or a template binding used obtain a template\n * to render for each item in the array.\n * @param options - Options used to turn on special repeat features.\n * @public\n */\nexport function repeat(itemsBinding, templateOrTemplateBinding, options = defaultRepeatOptions) {\n const templateBinding = typeof templateOrTemplateBinding === \"function\"\n ? templateOrTemplateBinding\n : () => templateOrTemplateBinding;\n return new RepeatDirective(itemsBinding, templateBinding, options);\n}\n","import basePickBy from './_basePickBy.js';\nimport hasIn from './hasIn.js';\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n}\n\nexport default basePick;\n","import basePick from './_basePick.js';\nimport flatRest from './_flatRest.js';\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n});\n\nexport default pick;\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { Tabs } from \"@microsoft/fast-components-react-base\";\nimport { classNames, Orientation } from \"@microsoft/fast-web-utilities\";\nimport { canUseDOM } from \"exenv-es6\";\nimport { get, isNil } from \"lodash-es\";\nimport React from \"react\";\nimport { Flipper, FlipperDirection } from \"../flipper\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { CarouselSlideTheme, } from \"./carousel.props\";\nclass Carousel extends Foundation {\n /**\n * Define constructor\n */\n constructor(props) {\n super(props);\n /**\n * Handled props\n */\n this.handledProps = {\n autoplay: void 0,\n autoplayInterval: void 0,\n managedClasses: void 0,\n nextFlipper: void 0,\n previousFlipper: void 0,\n label: void 0,\n loop: void 0,\n activeId: void 0,\n onActiveIdUpdate: void 0,\n items: void 0,\n };\n /**\n * Initial slide transition direction is none (on carousel load)\n */\n this.slideTransitionDirection = null;\n /**\n * Return transition direction class name\n */\n this.assignTransitionDirectionClassName = () => {\n const { carousel__slideAnimateNext, carousel__slideAnimatePrevious, } = this.props.managedClasses;\n const transitionDirection = this.slideTransitionDirection === FlipperDirection.next\n ? carousel__slideAnimateNext\n : carousel__slideAnimatePrevious;\n return ` ${transitionDirection}`;\n };\n /**\n * Return slide theme class name\n */\n this.assignSlideThemeClassName = () => {\n const { carousel__themeLight, carousel__themeDark, } = this.props.managedClasses;\n const theme = this.getSlideTheme() === CarouselSlideTheme.light\n ? carousel__themeLight\n : carousel__themeDark;\n return ` ${theme}`;\n };\n /**\n * Change active tab\n */\n this.handleUpdate = (activeTab) => {\n if (typeof this.props.onActiveIdUpdate === \"function\") {\n this.props.onActiveIdUpdate(activeTab, false);\n }\n this.setState({\n activeId: activeTab,\n });\n const activeTabIndex = this.slides\n .map((slide) => slide.id)\n .indexOf(activeTab);\n this.setTransitionDirection(activeTabIndex);\n };\n /**\n * Handles automation of slide movement\n */\n this.autoplayNextSlide = () => {\n let nextPosition = this.getActiveIndex() + 1;\n if (nextPosition > this.slides.length - 1) {\n nextPosition = 0;\n }\n const activeId = this.slides[nextPosition].id;\n this.setTransitionDirection(nextPosition);\n if (typeof this.props.onActiveIdUpdate === \"function\") {\n this.props.onActiveIdUpdate(activeId, true);\n }\n this.setState({\n activeId,\n });\n };\n /**\n * Move to next slide if applicable\n */\n this.nextSlide = () => {\n let newPosition = this.getActiveIndex() + 1;\n if (newPosition > this.slides.length - 1) {\n newPosition = 0;\n }\n this.setTransitionDirection(newPosition);\n this.setNewSlidePosition(newPosition);\n };\n /**\n * Move to previous slide if applicable\n */\n this.previousSlide = () => {\n let newPosition = this.getActiveIndex() - 1;\n if (newPosition < 0) {\n newPosition = this.slides.length - 1;\n }\n this.setTransitionDirection(newPosition);\n this.setNewSlidePosition(newPosition);\n };\n this.rootEl = React.createRef();\n if (Array.isArray(this.props.items)) {\n this.state = {\n activeId: typeof this.props.activeId === \"string\"\n ? this.props.activeId\n : get(this.props.items[0], \"id\", \" \"),\n };\n }\n }\n /**\n * React life-cycle method\n */\n static getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.activeId && nextProps.activeId !== prevState.activeId) {\n return {\n activeId: nextProps.activeId,\n };\n }\n return null;\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(\"div\", Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), ref: this.rootEl }),\n this.generatePreviousFlipper(),\n React.createElement(Tabs, { label: this.props.label, activeId: this.state.activeId, onUpdate: this.handleUpdate, items: this.slides, managedClasses: this.generateTabsClassNames(), orientation: Orientation.horizontal, disableTabFocus: this.props.autoplay }),\n this.generateNextFlipper()));\n }\n /**\n * React lifecycle hook\n */\n componentDidMount() {\n if (canUseDOM() && this.props.autoplay) {\n // Set initial interval for autoplay\n this.autoplayTimer = window.setInterval(this.autoplayNextSlide, this.props.autoplayInterval);\n }\n }\n /**\n * React lifecycle hook\n */\n componentDidUpdate() {\n if (this.props.autoplay && isNil(this.autoplayTimer)) {\n // Set the window interval if we are in autplay and don't have a timer\n this.autoplayTimer = window.setInterval(this.autoplayNextSlide, this.props.autoplayInterval);\n }\n else if (!this.props.autoplay && !isNil(this.autoplayTimer)) {\n // Clear the interval if we should not be autoplaying\n this.autoplayTimer = window.clearInterval(this.autoplayTimer);\n }\n }\n /**\n * React lifecycle hook\n */\n componentWillUnmount() {\n if (!isNil(this.autoplayTimer)) {\n this.autoplayTimer = window.clearInterval(this.autoplayTimer);\n }\n }\n /**\n * Generate class names\n */\n generateClassNames() {\n return super.generateClassNames(classNames(this.props.managedClasses.carousel, [this.assignSlideThemeClassName, !!this.getSlideTheme()], [\n this.assignTransitionDirectionClassName(),\n !!this.slideTransitionDirection,\n ]));\n }\n /**\n * Returns tabs managedclasses with new carousel-specific JSS\n */\n generateTabsClassNames() {\n const { carousel_slides, carousel_tabPanels, carousel_sequenceIndicators, carousel_tabPanelContent, carousel_sequenceIndicator, carousel_sequenceIndicator__active, carousel_tabPanel, carousel_tabPanel__hidden, } = this.props.managedClasses;\n return {\n tabs: carousel_slides,\n tabs_tabPanels: carousel_tabPanels,\n tabs_tabList: carousel_sequenceIndicators,\n tabs_tabPanelContent: carousel_tabPanelContent,\n tab: carousel_sequenceIndicator,\n tab__active: carousel_sequenceIndicator__active,\n tabPanel: carousel_tabPanel,\n tabPanel__hidden: carousel_tabPanel__hidden,\n };\n }\n /**\n * Get an array of slides\n * Coerce tab shape\n */\n get slides() {\n if (Array.isArray(this.props.items)) {\n return this.props.items.map((slide) => Object.assign({}, slide, {\n tab: () => React.createElement(React.Fragment, null),\n }));\n }\n else {\n return [];\n }\n }\n /**\n * Single slide carousels do not require certain interface elements\n */\n get isMultipleSlides() {\n return this.slides.length !== 1;\n }\n /**\n * Check if it is the FIRST slide for looping\n */\n get isFirstSlide() {\n if (this.slides.length) {\n const firstSlideId = this.slides[0].id;\n return firstSlideId === this.state.activeId;\n }\n else {\n return false;\n }\n }\n /**\n * Check if it is the LAST slide for looping\n */\n get isLastSlide() {\n const lastItemKey = this.slides.length - 1;\n if (lastItemKey >= 0) {\n const lastSlideId = this.slides[lastItemKey].id;\n return lastSlideId === this.state.activeId;\n }\n else {\n return false;\n }\n }\n /**\n * Get the active slide index\n */\n getActiveIndex() {\n return this.slides\n .map((slide) => slide.id)\n .indexOf(this.state.activeId);\n }\n /**\n * Get the current slide theme (needed for UI overlay contrast)\n */\n getSlideTheme() {\n if (this.slides.length <= 0) {\n return;\n }\n return this.slides[this.getActiveIndex()].theme\n ? this.slides[this.getActiveIndex()].theme\n : CarouselSlideTheme.dark;\n }\n /**\n * Set the transition direction based on incoming index\n */\n setTransitionDirection(incomingIndex) {\n if (this.getActiveIndex() < incomingIndex) {\n this.slideTransitionDirection = FlipperDirection.next;\n }\n else {\n this.slideTransitionDirection = FlipperDirection.previous;\n }\n }\n /**\n * Generates previous flipper if more than one slide\n */\n generatePreviousFlipper() {\n if (!this.isMultipleSlides || (this.isFirstSlide && !this.props.loop)) {\n return;\n }\n const previousFlipperClassName = this.props.managedClasses\n .carousel_flipperPrevious;\n if (typeof this.props.previousFlipper === \"function\") {\n return this.props.previousFlipper(this.previousSlide, previousFlipperClassName);\n }\n else {\n return (React.createElement(Flipper, { direction: FlipperDirection.previous, onClick: this.previousSlide, className: previousFlipperClassName }));\n }\n }\n /**\n * Generates next flipper if more than one slide\n */\n generateNextFlipper() {\n if (!this.isMultipleSlides || (this.isLastSlide && !this.props.loop)) {\n return;\n }\n const nextFlipperClassName = this.props.managedClasses\n .carousel_flipperNext;\n if (typeof this.props.nextFlipper === \"function\") {\n return this.props.nextFlipper(this.nextSlide, nextFlipperClassName);\n }\n else {\n return (React.createElement(Flipper, { direction: FlipperDirection.next, onClick: this.nextSlide, className: nextFlipperClassName }));\n }\n }\n /**\n * Sets new slide based on position\n */\n setNewSlidePosition(position) {\n const newActiveId = this.slides[position].id;\n if (typeof this.props.onActiveIdUpdate === \"function\") {\n this.props.onActiveIdUpdate(newActiveId, false);\n }\n this.setState({\n activeId: newActiveId,\n });\n }\n}\nCarousel.displayName = `${DisplayNamePrefix}Carousel`;\nCarousel.defaultProps = {\n autoplay: false,\n autoplayInterval: 6000,\n loop: true,\n managedClasses: {},\n};\nexport default Carousel;\nexport * from \"./carousel.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { CarouselStyles } from \"@microsoft/fast-components-styles-msft\";\nimport carouselSchema from \"./carousel.schema\";\nimport carouselSchema2 from \"./carousel.schema.2\";\nimport MSFTCarousel, { CarouselSlideTheme, } from \"./carousel\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Carousel = manageJss(CarouselStyles)(MSFTCarousel);\nexport { Carousel, carouselSchema, carouselSchema2, CarouselSlideTheme, };\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { Progress as BaseProgress, ProgressType, } from \"@microsoft/fast-components-react-base\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { ProgressSize, } from \"./progress.props\";\nclass Progress extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n children: void 0,\n value: void 0,\n minValue: void 0,\n maxValue: void 0,\n managedClasses: void 0,\n circular: void 0,\n paused: void 0,\n size: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(BaseProgress, Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), managedClasses: this.props.managedClasses, value: this.props.value, minValue: this.props.minValue, maxValue: this.props.maxValue }), this.renderProgress()));\n }\n /**\n * Create class names\n */\n generateClassNames() {\n const { progress, progress__circular, progress__paused, } = this.props.managedClasses;\n return super.generateClassNames(classNames(progress, [progress__circular, this.props.circular], [progress__paused, this.props.paused]));\n }\n generateCircularValueIndicatorClassNames() {\n const { progress_valueIndicator, progress_valueIndicator__indeterminate, } = this.props.managedClasses;\n return classNames(progress_valueIndicator, [\n progress_valueIndicator__indeterminate,\n !this.props.value,\n ]);\n }\n generateSVGClassNames() {\n return classNames(this.props.managedClasses[`progress_circularSVG__${this.props.size}`]);\n }\n progressIndicatorClasses() {\n const { progress_indicator, progress_indicator__determinate, } = this.props.managedClasses;\n return classNames(progress_indicator, progress_indicator__determinate);\n }\n renderIndeterminateItems() {\n const managedClasses = this.props\n .managedClasses;\n const dotClass = managedClasses.progress_dot;\n return new Array(Progress.indicatorCount)\n .fill(undefined)\n .map((item, index) => {\n return (React.createElement(\"span\", { className: classNames(dotClass, managedClasses[`progress_dot__${index + 1}`]), key: index }));\n });\n }\n renderCircle(className, style) {\n return React.createElement(\"circle\", { className: className, style: style, cx: \"8px\", cy: \"8px\", r: \"7px\" });\n }\n renderCircularBackground() {\n return this.renderCircle(classNames(this.props.managedClasses.progress_indicator));\n }\n renderProgress() {\n const { progress_valueIndicator, progress_indicator, } = this.props.managedClasses;\n if (this.props.circular) {\n const strokeValue = (44 * this.props.value) / 100;\n return [\n React.createElement(\"div\", { slot: ProgressType.determinate, key: \"0\" },\n React.createElement(\"svg\", { className: this.generateSVGClassNames(), viewBox: \"0 0 16 16\" },\n this.renderCircularBackground(),\n this.renderCircle(this.generateCircularValueIndicatorClassNames(), { strokeDasharray: `${strokeValue}px 44px` }))),\n React.createElement(\"div\", { slot: ProgressType.indeterminate, key: \"1\" },\n React.createElement(\"svg\", { className: this.generateSVGClassNames(), viewBox: \"0 0 16 16\" },\n this.renderCircularBackground(),\n this.renderCircle(this.generateCircularValueIndicatorClassNames()))),\n ];\n }\n return [\n React.createElement(\"div\", { className: this.progressIndicatorClasses(), slot: ProgressType.determinate, key: \"0\" },\n React.createElement(\"div\", { className: classNames(progress_valueIndicator), style: { width: `${this.props.value}%` } })),\n React.createElement(\"div\", { slot: ProgressType.indeterminate, className: classNames(progress_indicator), key: \"1\" }, this.renderIndeterminateItems()),\n ];\n }\n}\nProgress.defaultProps = {\n minValue: 0,\n maxValue: 100,\n circular: false,\n paused: false,\n size: ProgressSize.container,\n managedClasses: {},\n};\nProgress.displayName = `${DisplayNamePrefix}Progress`;\nProgress.indicatorCount = 2;\nexport default Progress;\nexport * from \"./progress.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { ProgressStyles } from \"@microsoft/fast-components-styles-msft\";\nimport MSFTProgress, { ProgressSize, } from \"./progress\";\nimport progressSchema from \"./progress.schema\";\nimport progressSchema2 from \"./progress.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Progress = manageJss(ProgressStyles)(MSFTProgress);\nexport { Progress, progressSchema, progressSchema2, ProgressSize, };\n","import { applyFloatingCornerRadius, applyScaledTypeRamp, DialogStyles, glyphSizeNumber, horizontalSpacing, horizontalSpacingNumber, neutralForegroundRest, } from \"@microsoft/fast-components-styles-msft\";\nimport { merge } from \"lodash-es\";\nimport { directionSwitch, multiply, subtract, toPx } from \"@microsoft/fast-jss-utilities\";\nconst styles = (config) => {\n return merge(DialogStyles, {\n dialog: {\n \"& $dialog_closeButton\": {\n \"min-width\": \"unset\",\n },\n },\n dialog__singleAction: {\n \"& $dialog_primaryButton\": {\n \"grid-column-start\": \"2\",\n },\n },\n dialog_contentRegion: Object.assign({ \"box-sizing\": \"border-box\", display: \"flex\", \"flex-direction\": \"column\", padding: toPx(multiply(horizontalSpacingNumber(), 2)), position: \"relative\" }, applyFloatingCornerRadius()),\n dialog_actionWrapper: {\n \"box-sizing\": \"border-box\",\n display: \"grid\",\n \"grid-template-columns\": \"1fr 1fr\",\n \"grid-gap\": \"8px\",\n width: \"100%\",\n \"margin-top\": \"18px\",\n },\n dialog_body: Object.assign(Object.assign({ flex: \"1 1 0\", \"margin-top\": \"8px\" }, applyScaledTypeRamp(\"t8\")), { color: neutralForegroundRest, \"text-overflow\": \"ellipsis\", overflow: \"hidden\" }),\n dialog_heading: {\n display: \"inline-block\",\n },\n dialog_primaryButton: {\n position: \"relative\",\n },\n dialog_secondaryButton: {\n position: \"relative\",\n },\n dialog_closeButton: {\n \"box-sizing\": \"border-box\",\n position: \"absolute\",\n transition: \"none\",\n top: toPx(horizontalSpacingNumber()),\n left: directionSwitch(\"\", horizontalSpacing()),\n right: directionSwitch(horizontalSpacing(), \"\"),\n \"& $dialog_closeButtonGlyph\": {\n width: toPx(subtract(glyphSizeNumber, 6)),\n height: toPx(subtract(glyphSizeNumber, 6)),\n },\n },\n dialog_closeButtonGlyph: {\n fill: neutralForegroundRest,\n },\n });\n};\nexport default styles;\n","import BaseDialog from \"./dialog\";\nimport DialogStyles from \"./dialog.style\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport dialogSchema from \"./dialog.schema\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\n/* tslint:disable-next-line:typedef */\nconst Dialog = manageJss(DialogStyles)(BaseDialog);\nexport { Dialog, dialogSchema, };\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { actionTriggerButtonOverrides } from \"@microsoft/fast-components-styles-msft\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport { isNil } from \"lodash-es\";\nimport React from \"react\";\nimport { Button, ButtonAppearance } from \"../button\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { ActionTriggerAppearance, } from \"./action-trigger.props\";\nclass ActionTrigger extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n appearance: void 0,\n href: void 0,\n managedClasses: void 0,\n disabled: void 0,\n glyph: void 0,\n };\n this.generateGlyph = () => {\n return this.props.glyph(classNames(this.props.managedClasses.actionTrigger_glyph));\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(Button, Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), disabled: this.props.disabled, href: this.props.href, appearance: ButtonAppearance[ActionTriggerAppearance[this.props.appearance]], jssStyleSheet: actionTriggerButtonOverrides, beforeContent: this.generateGlyph }), this.props.children));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { actionTrigger, actionTrigger__disabled, actionTrigger__hasGlyphAndContent, } = this.props.managedClasses;\n return super.generateClassNames(classNames(actionTrigger, [actionTrigger__disabled, this.props.disabled], [\n this.props.managedClasses[`actionTrigger__${this.props.appearance}`],\n typeof this.props.appearance === \"string\",\n ], [actionTrigger__hasGlyphAndContent, this.hasGlyphAndContent()]));\n }\n /**\n * Checks to see if action trigger is displaying both glyph and content or not\n */\n hasGlyphAndContent() {\n return !isNil(this.props.glyph) && !isNil(this.props.children);\n }\n}\nActionTrigger.displayName = `${DisplayNamePrefix}ActionTrigger`;\nActionTrigger.defaultProps = {\n managedClasses: {},\n};\nexport default ActionTrigger;\nexport * from \"./action-trigger.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { ActionTriggerStyles, } from \"@microsoft/fast-components-styles-msft\";\nimport MSFTActionTrigger, { ActionTriggerAppearance, } from \"./action-trigger\";\nimport actionTriggerSchema from \"./action-trigger.schema\";\nimport actionTriggerSchema2 from \"./action-trigger.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst ActionTrigger = manageJss(ActionTriggerStyles)(MSFTActionTrigger);\nexport { ActionTrigger, ActionTriggerAppearance, actionTriggerSchema, actionTriggerSchema2, };\n","import { applyFocusVisible } from \"@microsoft/fast-jss-utilities\";\nconst styles = {\n treeView: Object.assign({ display: \"flex\", \"flex-direction\": \"column\", \"align-items\": \"stretch\", \"min-width\": \"fit-content\", \"font-size\": \"0\" }, applyFocusVisible({})),\n};\nexport default styles;\n","import BaseTreeView from \"./tree-view\";\nimport TreeViewStyles from \"./tree-view.style\";\nimport manageJss from \"@microsoft/fast-jss-manager-react\";\nimport treeViewSchema from \"./tree-view.schema\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\n/* tslint:disable-next-line:typedef */\nconst TreeView = manageJss(TreeViewStyles)(BaseTreeView);\nexport { TreeView, treeViewSchema, };\n","import { applyFontWeightSemiBold, highContrastForeground, neutralForegroundRest, } from \"@microsoft/fast-components-styles-msft\";\nimport { applyFocusVisible, directionSwitch, toPx } from \"@microsoft/fast-jss-utilities\";\nimport { black, white } from \"../utilities/colors\";\nconst attributionHeight = 22;\nconst centeredInlineFlex = {\n display: \"inline-flex\",\n \"align-items\": \"center\",\n};\nconst styles = {\n previewCard: {\n position: \"relative\",\n overflow: \"hidden\",\n display: \"flex\",\n \"flex-direction\": \"row\",\n \"&:hover\": {\n \"& $previewCard_headingContent\": {\n \"text-decoration\": \"underline\",\n },\n \"& $previewCard_imageRegion\": {\n \"&$previewCard_obscuredRegion $previewCard_image\": {\n opacity: \".9\",\n },\n },\n },\n },\n previewCard_attribution: Object.assign(Object.assign({}, centeredInlineFlex), { \"box-sizing\": \"border-box\", \"align-self\": \"flex-end\", width: \"100%\", \"z-index\": \"0\", \"max-height\": toPx(attributionHeight) }),\n previewCard_contentRegion: {\n display: \"flex\",\n \"flex-direction\": \"column\",\n \"justify-content\": \"space-between\",\n flex: \"2\",\n order: \"2\",\n \"margin-left\": directionSwitch(\"8px\", \"\"),\n \"margin-right\": directionSwitch(\"\", \"8px\"),\n },\n previewCard_heading: Object.assign({ display: \"block\", \"text-decoration\": \"none\", transition: \"all .2s ease-in-out\", \"&::after\": {\n top: \"0\",\n right: \"0\",\n \"z-index\": \"1\",\n } }, applyFocusVisible(\"& $previewCard_headingContent\", {\n \"text-decoration\": \"underline\",\n })),\n previewCard_headingContent: Object.assign(Object.assign({}, applyFontWeightSemiBold()), { display: \"-webkit-box\", \"-webkit-line-clamp\": \"2\", \"-webkit-box-orient\": \"vertical\" }),\n previewCard_imageRegion: {\n position: \"relative\",\n display: \"inline-flex\",\n background: neutralForegroundRest(() => white),\n order: \"1\",\n },\n previewCard_image: {\n opacity: \"1\",\n },\n previewCard_icon: Object.assign({ width: \"16px\", height: \"16px\", fill: white }, highContrastForeground),\n previewCard_iconWrapper: Object.assign(Object.assign({ position: \"absolute\" }, centeredInlineFlex), { \"justify-content\": \"center\", background: black, opacity: \"0.4\", bottom: \"0\", width: \"24px\", height: \"24px\", right: directionSwitch(\"0\", \"\"), left: directionSwitch(\"\", \"0\") }),\n previewCard_obscuredRegion: {\n \"&::after\": {\n content: '\"\"',\n position: \"absolute\",\n bottom: \"0\",\n left: \"0\",\n },\n },\n previewCard_positioningRegion: {\n height: \"100%\",\n display: \"flex\",\n \"flex-direction\": \"row\",\n },\n};\nexport default styles;\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport PreviewCardStyles from \"./preview-card.style\";\nimport BasePreviewCard from \"./preview-card\";\nimport previewCardSchema from \"./preview-card.schema\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\n/* tslint:disable-next-line:typedef */\nconst PreviewCard = manageJss(PreviewCardStyles)(BasePreviewCard);\nexport { PreviewCard, previewCardSchema, };\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { TypographySize, TypographyTag } from \"@microsoft/fast-components-react-base\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { Typography } from \"../typography\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { ParagraphSize, } from \"./paragraph.props\";\nclass Paragraph extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n size: void 0,\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(Typography, Object.assign({}, this.unhandledProps(), { tag: TypographyTag.p, size: this.size, className: this.generateClassNames() }), this.props.children));\n }\n /**\n * Generates class names based on props\n */\n generateClassNames() {\n const managedClasses = this.props.managedClasses;\n return super.generateClassNames(classNames(managedClasses.paragraph, managedClasses[`paragraph__${this.props.size}`]));\n }\n /**\n * Stores size for use in render\n */\n get size() {\n switch (this.props.size) {\n case ParagraphSize._1:\n return TypographySize._5;\n case ParagraphSize._2:\n return TypographySize._6;\n default:\n return TypographySize._7;\n }\n }\n}\nParagraph.defaultProps = {\n size: ParagraphSize._3,\n managedClasses: {},\n};\nParagraph.displayName = `${DisplayNamePrefix}Paragraph`;\nexport default Paragraph;\nexport * from \"./paragraph.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { ParagraphStyles } from \"@microsoft/fast-components-styles-msft\";\nimport paragraphSchema from \"./paragraph.schema\";\nimport paragraphSchema2 from \"./paragraph.schema.2\";\nimport MSFTParagraph, { ParagraphSize, } from \"./paragraph\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Paragraph = manageJss(ParagraphStyles)(MSFTParagraph);\nexport { Paragraph, ParagraphSize, paragraphSchema, paragraphSchema2, };\n","import Foundation from \"@microsoft/fast-components-foundation-react\";\nimport { Badge as BaseBadge } from \"@microsoft/fast-components-react-base\";\nimport { classNames } from \"@microsoft/fast-web-utilities\";\nimport React from \"react\";\nimport { DisplayNamePrefix } from \"../utilities\";\nimport { BadgeSize, } from \"./badge.props\";\nclass Badge extends Foundation {\n constructor() {\n super(...arguments);\n this.handledProps = {\n filled: void 0,\n size: void 0,\n managedClasses: void 0,\n };\n }\n /**\n * Renders the component\n */\n render() {\n return (React.createElement(BaseBadge, Object.assign({}, this.unhandledProps(), { className: this.generateClassNames(), managedClasses: this.props.managedClasses }), this.props.children));\n }\n /**\n * Generates class names\n */\n generateClassNames() {\n const { badge__filled, badge__small, badge__large, } = this.props.managedClasses;\n return super.generateClassNames(classNames([badge__filled, this.props.filled], [badge__large, this.props.size === BadgeSize.large], [badge__small, this.props.size === BadgeSize.small]));\n }\n}\nBadge.displayName = `${DisplayNamePrefix}Badge`;\nBadge.defaultProps = {\n size: BadgeSize.small,\n filled: true,\n managedClasses: {},\n};\nexport default Badge;\nexport * from \"./badge.props\";\n","import manageJss from \"@microsoft/fast-jss-manager-react\";\nimport { BadgeStyles } from \"@microsoft/fast-components-styles-msft\";\nimport MSFTBadge, { BadgeSize, } from \"./badge\";\nimport badgeSchema from \"./badge.schema\";\nimport badgeSchema2 from \"./badge.schema.2\";\n/*\n * The type returned by manageJss type is very complicated so we'll let the\n * compiler infer the type instead of re-declaring just for the package export\n */\nconst Badge = manageJss(BadgeStyles)(MSFTBadge);\nexport { Badge, badgeSchema, badgeSchema2, BadgeSize, };\n"],"sourceRoot":""}