@splunk/dynamic-editors 0.37.3 → 0.37.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/DynamicEditor.js +89 -89
  3. package/DynamicEditor.js.map +1 -1
  4. package/containers/EditorItem.js +49 -49
  5. package/containers/EditorItem.js.map +1 -1
  6. package/containers/EditorLayout.js +112 -112
  7. package/containers/EditorLayout.js.map +1 -1
  8. package/containers/EditorLayoutItem.js +111 -111
  9. package/containers/EditorLayoutItem.js.map +1 -1
  10. package/containers/EncodingItem.js +1 -1
  11. package/containers/EncodingItem.js.map +1 -1
  12. package/editors/AdvancedConfigCard.js +4 -4
  13. package/editors/AdvancedConfigCard.js.map +1 -1
  14. package/editors/ArrayOfStringsEditor.js +2 -2
  15. package/editors/ArrayOfStringsEditor.js.map +1 -1
  16. package/editors/CheckboxEditor.js +7 -7
  17. package/editors/CheckboxEditor.js.map +1 -1
  18. package/editors/ColorEditor.js +8 -8
  19. package/editors/ColorEditor.js.map +1 -1
  20. package/editors/ColumnMultiSelectionByFieldNameEditor.js +2 -2
  21. package/editors/ColumnMultiSelectionByFieldNameEditor.js.map +1 -1
  22. package/editors/ColumnMultiSelectionEditor.js +1 -1
  23. package/editors/ColumnMultiSelectionEditor.js.map +1 -1
  24. package/editors/ColumnSelectionEditor.js +2 -2
  25. package/editors/ColumnSelectionEditor.js.map +1 -1
  26. package/editors/DynamicColorEditor.js +3 -3
  27. package/editors/DynamicColorEditor.js.map +1 -1
  28. package/editors/DynamicColorEditorWithPrecedence.js +5 -5
  29. package/editors/DynamicColorEditorWithPrecedence.js.map +1 -1
  30. package/editors/DynamicItemEditor.js +4 -4
  31. package/editors/DynamicItemEditor.js.map +1 -1
  32. package/editors/ImageEditor.js +5 -5
  33. package/editors/ImageEditor.js.map +1 -1
  34. package/editors/MarkdownEditor.js +1 -1
  35. package/editors/MarkdownEditor.js.map +1 -1
  36. package/editors/MultiColorPickerEditor.js +13 -13
  37. package/editors/MultiColorPickerEditor.js.map +1 -1
  38. package/editors/NumberEditor.js +1 -1
  39. package/editors/NumberEditor.js.map +1 -1
  40. package/editors/PercentEditor.js +3 -3
  41. package/editors/PercentEditor.js.map +1 -1
  42. package/editors/PresetSelectorEditor.js +1 -1
  43. package/editors/PresetSelectorEditor.js.map +1 -1
  44. package/editors/RadioBarEditor.js +2 -2
  45. package/editors/RadioBarEditor.js.map +1 -1
  46. package/editors/SelectEditor.js +4 -4
  47. package/editors/SelectEditor.js.map +1 -1
  48. package/editors/SeriesColorsByFieldEditor.js +13 -13
  49. package/editors/SeriesColorsByFieldEditor.js.map +1 -1
  50. package/editors/SeriesColorsEditor.js +16 -16
  51. package/editors/SeriesColorsEditor.js.map +1 -1
  52. package/editors/SliderEditor.js +1 -1
  53. package/editors/SliderEditor.js.map +1 -1
  54. package/editors/StaticItemEditor.js +6 -6
  55. package/editors/StaticItemEditor.js.map +1 -1
  56. package/editors/TableColumnFormatterEditor.js +54 -54
  57. package/editors/TableColumnFormatterEditor.js.map +1 -1
  58. package/editors/TextAreaEditor.js +1 -1
  59. package/editors/TextAreaEditor.js.map +1 -1
  60. package/editors/TextEditor.js +4 -4
  61. package/editors/TextEditor.js.map +1 -1
  62. package/editors/ThresholdEditor.js +22 -22
  63. package/editors/ThresholdEditor.js.map +1 -1
  64. package/editors/ToggleEditor.js +1 -1
  65. package/editors/ToggleEditor.js.map +1 -1
  66. package/package.json +2 -2
  67. package/shared/AdvancedControlGroup.js +2 -2
  68. package/shared/AdvancedControlGroup.js.map +1 -1
@@ -41,5 +41,5 @@
41
41
  &:hover {
42
42
  background-color: ${p.variables.interactiveColorOverlayDrag} !important;
43
43
  }
44
- `;t.AdvancedConfigButton=({label:e="",onClick:t})=>i.default.createElement(_,{"data-test":`${e}-advanced-config-button-tooltip`,content:(0,c._)("Advanced configurations")},i.default.createElement(g,{"data-test":`${e}-advanced-config-button`,icon:i.default.createElement(d.default,{"data-test":`${e}-advanced-config-button-icon`}),appearance:"subtle",onClick:t}));const O=({"data-test":e,children:o,isAdvanced:r,label:n,hideLabel:l,labelPosition:a,labelWidth:u,tooltip:s,help:c,style:d,error:p,controlsLayout:f,onClick:b,onAdvancedConfigButtonClick:v})=>i.default.createElement(h,{"data-test":null!=e?e:"control-group",label:n,hideLabel:l,labelPosition:a,labelWidth:u,tooltip:s,help:c,error:p,style:d,onClick:b,controlsLayout:f},r?i.Children.toArray(o).filter(Boolean).map((e=>(0,i.cloneElement)(e,{style:{flex:1}}))):o,r?i.default.createElement(t.AdvancedConfigButton,{label:n,onClick:v}):null);O.propTypes={style:u.object,isAdvanced:u.bool,onClick:u.func,onAdvancedConfigButtonClick:u.func},O.defaultProps={isAdvanced:!1},t.default=O},5862:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.editorStyle=t.DROPDOWN_MENU_WIDTH=t.VERTICAL_EDITOR_SPACING=t.FLYOUT_WIDTH=t.COLUMN_FLYOUT_PADDING=t.FLYOUT_PADDING=void 0,t.FLYOUT_PADDING=21,t.COLUMN_FLYOUT_PADDING=16,t.FLYOUT_WIDTH=344,t.VERTICAL_EDITOR_SPACING=16,t.DROPDOWN_MENU_WIDTH=327,t.editorStyle={width:"100%"}},6643:e=>{e.exports=require("@splunk/react-icons/SlidersDoubleHorizontal")},7020:e=>{e.exports=require("@splunk/react-ui/Button")},9250:e=>{e.exports=require("@splunk/react-ui/ControlGroup")},5905:e=>{e.exports=require("@splunk/react-ui/TextArea")},6379:e=>{e.exports=require("@splunk/react-ui/Tooltip")},3563:e=>{e.exports=require("@splunk/themes")},6649:e=>{e.exports=require("@splunk/ui-utils/i18n")},23:e=>{e.exports=require("prop-types")},9497:e=>{e.exports=require("react")},232:e=>{e.exports=require("styled-components")}},t={};var o=function o(r){var n=t[r];if(void 0!==n)return n.exports;var l=t[r]={exports:{}};return e[r].call(l.exports,l,l.exports,o),l.exports}(8687);module.exports=o})();
44
+ `;t.AdvancedConfigButton=({label:e="",onClick:t})=>i.default.createElement(_,{"data-test":`${e}-advanced-config-button-tooltip`,content:(0,c._)("Advanced configurations")},i.default.createElement(g,{"data-test":`${e}-advanced-config-button`,icon:i.default.createElement(d.default,{"data-test":`${e}-advanced-config-button-icon`}),appearance:"subtle",onClick:t}));const O=({"data-test":e,children:o,isAdvanced:r=!1,label:n,hideLabel:l,labelPosition:a,labelWidth:u,tooltip:s,help:c,style:d,error:p,controlsLayout:f,onClick:b,onAdvancedConfigButtonClick:v})=>i.default.createElement(h,{"data-test":null!=e?e:"control-group",label:n,hideLabel:l,labelPosition:a,labelWidth:u,tooltip:s,help:c,error:p,style:d,onClick:b,controlsLayout:f},r?i.Children.toArray(o).filter(Boolean).map((e=>(0,i.cloneElement)(e,{style:{flex:1}}))):o,r?i.default.createElement(t.AdvancedConfigButton,{label:n,onClick:v}):null);O.propTypes={style:u.object,isAdvanced:u.bool,onClick:u.func,onAdvancedConfigButtonClick:u.func},t.default=O},5862:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.editorStyle=t.DROPDOWN_MENU_WIDTH=t.VERTICAL_EDITOR_SPACING=t.FLYOUT_WIDTH=t.COLUMN_FLYOUT_PADDING=t.FLYOUT_PADDING=void 0,t.FLYOUT_PADDING=21,t.COLUMN_FLYOUT_PADDING=16,t.FLYOUT_WIDTH=344,t.VERTICAL_EDITOR_SPACING=16,t.DROPDOWN_MENU_WIDTH=327,t.editorStyle={width:"100%"}},6643:e=>{e.exports=require("@splunk/react-icons/SlidersDoubleHorizontal")},7020:e=>{e.exports=require("@splunk/react-ui/Button")},9250:e=>{e.exports=require("@splunk/react-ui/ControlGroup")},5905:e=>{e.exports=require("@splunk/react-ui/TextArea")},6379:e=>{e.exports=require("@splunk/react-ui/Tooltip")},3563:e=>{e.exports=require("@splunk/themes")},6649:e=>{e.exports=require("@splunk/ui-utils/i18n")},23:e=>{e.exports=require("prop-types")},9497:e=>{e.exports=require("react")},232:e=>{e.exports=require("styled-components")}},t={};var o=function o(r){var n=t[r];if(void 0!==n)return n.exports;var l=t[r]={exports:{}};return e[r].call(l.exports,l,l.exports,o),l.exports}(8687);module.exports=o})();
45
45
  //# sourceMappingURL=TextAreaEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextAreaEditor.js","mappings":"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","sources":["webpack://@splunk/dynamic-editors/./src/editors/TextAreaEditor.tsx","webpack://@splunk/dynamic-editors/./src/interfaces/BaseEditorProps.ts","webpack://@splunk/dynamic-editors/./src/shared/AdvancedControlGroup.tsx","webpack://@splunk/dynamic-editors/./src/shared/dimensionConstants.ts","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-icons/SlidersDoubleHorizontal\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/Button\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/ControlGroup\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/TextArea\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/Tooltip\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/themes\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/ui-utils/i18n\"","webpack://@splunk/dynamic-editors/external commonjs2 \"prop-types\"","webpack://@splunk/dynamic-editors/external commonjs2 \"react\"","webpack://@splunk/dynamic-editors/external commonjs2 \"styled-components\"","webpack://@splunk/dynamic-editors/webpack/bootstrap","webpack://@splunk/dynamic-editors/webpack/startup"],"sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport T from 'prop-types';\nimport styled, { css } from 'styled-components';\nimport TextArea from '@splunk/react-ui/TextArea';\nimport { pick, variables } from '@splunk/themes';\nimport ControlGroup from '../shared/AdvancedControlGroup';\nimport { editorStyle } from '../shared/dimensionConstants';\nimport { BaseEditorProps, BaseEditorPropTypes } from '../interfaces/BaseEditorProps';\n\n// The dark disabled textarea theme is being overriden by a global style in\n// core, so we need to specify it here so it has higher priority\nconst StyledTextArea = styled(TextArea)`\n textarea[disabled] {\n ${pick({\n enterprise: {\n dark: css`\n color: ${variables.textDisabledColor};\n background-color: ${variables.borderColor};\n border-color: ${variables.backgroundColorHover};\n `,\n },\n })}\n }\n`;\n\ninterface TextAreaEditorProps extends BaseEditorProps {\n /** current value of field */\n value: string;\n /** visually hide the label, but render it for screen readers */\n hideLabel?: boolean;\n /** help text under controls */\n help?: string;\n /** text to display in a tooltip next to the label */\n tooltip?: string;\n /** if the input should display error state */\n error?: boolean;\n}\n\nconst TextAreaEditor = ({\n onChange,\n name,\n value = '',\n label,\n labelPosition = 'top',\n labelWidth,\n hideLabel,\n isDisabled,\n help,\n tooltip,\n error,\n ...otherProps\n}: TextAreaEditorProps) => {\n const [val, setVal] = useState<string>(value);\n\n // maintain consistency of value state with prop\n useEffect(() => setVal(value), [value]);\n\n const handleChange = useCallback(\n (\n _event: React.ChangeEvent<HTMLTextAreaElement> | React.MouseEvent<HTMLSpanElement>,\n { value: v }: { value: string }\n ) => {\n setVal(v);\n },\n []\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLTextAreaElement> | React.KeyboardEvent<HTMLTextAreaElement>) => {\n const newVal = val.trim();\n if (newVal === value) {\n return;\n }\n // only change value if it is different from previous\n onChange(event, name, newVal);\n },\n [val, value, onChange, name]\n );\n\n return (\n <ControlGroup\n label={label}\n labelPosition={labelPosition}\n labelWidth={labelWidth}\n hideLabel={hideLabel}\n help={help}\n tooltip={tooltip}\n error={error}\n >\n <StyledTextArea\n key={value}\n data-test={name}\n style={editorStyle}\n onChange={handleChange}\n onBlur={handleBlur}\n value={val}\n disabled={isDisabled}\n {...otherProps}\n error={error}\n />\n </ControlGroup>\n );\n};\n\nconst propTypes: Record<keyof TextAreaEditorProps, T.Validator<any>> = {\n ...BaseEditorPropTypes,\n value: T.string,\n hideLabel: T.bool,\n help: T.string,\n tooltip: T.string,\n error: T.bool,\n};\n\nTextAreaEditor.propTypes = propTypes;\n\nexport default TextAreaEditor;\n","import * as T from 'prop-types';\nimport type { JSONSchema7 } from 'json-schema';\n\nexport interface BaseEditorProps {\n name: string;\n value: any;\n onChange?: (...args: any[]) => void;\n label?: string; // @TODO(pwied): this should not live in editor props\n labelPosition?: 'top' | 'left'; // ^^^\n context?: Record<string, any>;\n labelWidth?: number;\n isAdvanced?: boolean;\n isDisabled?: boolean;\n dataSourceBindings?: Record<string, any>;\n options?: { [k: string]: any };\n optionsSchema?: {\n [key: string]: JSONSchema7;\n };\n}\n\nexport const BaseEditorPropTypes: Record<keyof BaseEditorProps, T.Validator<any>> = {\n name: T.string.isRequired,\n value: T.oneOfType([T.string, T.object, T.arrayOf(T.string)]),\n context: T.object,\n label: T.string,\n labelPosition: T.oneOf(['top', 'left']),\n labelWidth: T.number,\n onChange: T.func,\n isAdvanced: T.bool,\n isDisabled: T.bool,\n dataSourceBindings: T.object,\n options: T.object,\n optionsSchema: T.object,\n};\n","import React, { Children, cloneElement, ReactElement } from 'react';\nimport * as T from 'prop-types';\nimport styled from 'styled-components';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport AdvancedConfigIcon from '@splunk/react-icons/SlidersDoubleHorizontal';\nimport { variables } from '@splunk/themes';\nimport Tooltip from '@splunk/react-ui/Tooltip';\nimport Button, { ButtonClickHandler, ButtonProps } from '@splunk/react-ui/Button';\nimport SUIControlGroup, { ControlGroupPropsBase } from '@splunk/react-ui/ControlGroup';\n\ninterface AdvancedControlGroupProps extends Omit<ControlGroupPropsBase, 'splunkTheme'> {\n 'data-test'?: string;\n style?: Record<string, string | number>;\n isAdvanced?: boolean;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n onAdvancedConfigButtonClick?: ButtonClickHandler;\n}\n\ninterface AdvancedConfigButtonProps {\n label?: string;\n onClick?: ButtonClickHandler;\n}\n\n// remove all surrounding margins. let parent add padding\nconst ControlGroupContainer = styled(SUIControlGroup)`\n margin-top: 0;\n padding: 0;\n // adjust bottom margin according to theme\n margin-bottom: ${variables.spacingMedium};\n width: 100%;\n\n // remove top margin of the first component in control group\n &:first-child {\n margin-top: 0;\n }\n\n // remove bottom margin of the last component in control group\n &:last-child {\n margin-bottom: 0;\n }\n // remove top padding on label of the first control group\n [data-test='label']:first-of-type {\n padding-top: 0;\n }\n`;\n\n// override tooltip to set desired config button style\nconst StyledToolTip = styled(Tooltip)`\n display: flex;\n > span {\n display: flex;\n width: 35px;\n }\n`;\n\nconst StyledAdvancedConfigButton = styled(Button)<ButtonProps>`\n color: ${variables.contentColorActive} !important;\n &:hover {\n background-color: ${variables.interactiveColorOverlayDrag} !important;\n }\n`;\n\nexport const AdvancedConfigButton = ({\n label = '',\n onClick,\n}: AdvancedConfigButtonProps): React.ReactElement => {\n return (\n <StyledToolTip\n data-test={`${label}-advanced-config-button-tooltip`}\n content={_('Advanced configurations')}\n >\n <StyledAdvancedConfigButton\n data-test={`${label}-advanced-config-button`}\n icon={<AdvancedConfigIcon data-test={`${label}-advanced-config-button-icon`} />}\n appearance=\"subtle\"\n onClick={onClick}\n />\n </StyledToolTip>\n );\n};\n\nconst AdvancedControlGroup = ({\n 'data-test': dataTest,\n children,\n isAdvanced,\n label,\n hideLabel,\n labelPosition,\n labelWidth,\n tooltip,\n help,\n style,\n error,\n controlsLayout,\n onClick,\n onAdvancedConfigButtonClick,\n}: AdvancedControlGroupProps): React.ReactElement => (\n <ControlGroupContainer\n data-test={dataTest ?? 'control-group'}\n label={label}\n hideLabel={hideLabel}\n labelPosition={labelPosition}\n labelWidth={labelWidth}\n tooltip={tooltip}\n help={help}\n error={error}\n style={style}\n onClick={onClick}\n controlsLayout={controlsLayout}\n >\n {isAdvanced\n ? Children.toArray(children)\n .filter(Boolean)\n .map(child =>\n cloneElement(child as ReactElement, {\n style: { flex: 1 },\n })\n )\n : children}\n {isAdvanced ? <AdvancedConfigButton label={label} onClick={onAdvancedConfigButtonClick} /> : null}\n </ControlGroupContainer>\n);\n\nAdvancedControlGroup.propTypes = {\n /**\n * Style overriding SUI ControlGroup\n */\n style: T.object,\n /**\n * Whether the current editor is enabled with advanced configurations\n */\n isAdvanced: T.bool,\n /**\n * Callback for editor click\n */\n onClick: T.func,\n /**\n * Callback for advanced config button click\n */\n onAdvancedConfigButtonClick: T.func,\n};\n\nAdvancedControlGroup.defaultProps = {\n isAdvanced: false,\n};\n\nexport default AdvancedControlGroup;\n","export const FLYOUT_PADDING = 21;\nexport const COLUMN_FLYOUT_PADDING = 16;\nexport const FLYOUT_WIDTH = 344;\n\nexport const VERTICAL_EDITOR_SPACING = 16;\n\nexport const DROPDOWN_MENU_WIDTH = 327;\n\nexport const editorStyle = { width: '100%' };\n","module.exports = require(\"@splunk/react-icons/SlidersDoubleHorizontal\");","module.exports = require(\"@splunk/react-ui/Button\");","module.exports = require(\"@splunk/react-ui/ControlGroup\");","module.exports = require(\"@splunk/react-ui/TextArea\");","module.exports = require(\"@splunk/react-ui/Tooltip\");","module.exports = require(\"@splunk/themes\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"styled-components\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(8687);\n"],"names":["StyledTextArea","pick","enterprise","dark","css","variables","textDisabledColor","borderColor","backgroundColorHover","TextAreaEditor","onChange","name","value","label","labelPosition","labelWidth","hideLabel","isDisabled","help","tooltip","error","otherProps","val","setVal","useState","useEffect","handleChange","useCallback","_event","v","handleBlur","event","newVal","trim","key","style","editorStyle","onBlur","disabled","propTypes","BaseEditorPropTypes","string","bool","T","isRequired","oneOfType","object","arrayOf","context","oneOf","number","func","isAdvanced","dataSourceBindings","options","optionsSchema","ControlGroupContainer","spacingMedium","StyledToolTip","StyledAdvancedConfigButton","contentColorActive","interactiveColorOverlayDrag","AdvancedConfigButton","onClick","content","_","icon","appearance","AdvancedControlGroup","dataTest","children","controlsLayout","onAdvancedConfigButtonClick","Children","toArray","filter","Boolean","map","child","cloneElement","flex","defaultProps","FLYOUT_PADDING","COLUMN_FLYOUT_PADDING","FLYOUT_WIDTH","VERTICAL_EDITOR_SPACING","DROPDOWN_MENU_WIDTH","width","module","exports","require","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","call"],"sourceRoot":""}
1
+ {"version":3,"file":"TextAreaEditor.js","mappings":"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","sources":["webpack://@splunk/dynamic-editors/./src/editors/TextAreaEditor.tsx","webpack://@splunk/dynamic-editors/./src/interfaces/BaseEditorProps.ts","webpack://@splunk/dynamic-editors/./src/shared/AdvancedControlGroup.tsx","webpack://@splunk/dynamic-editors/./src/shared/dimensionConstants.ts","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-icons/SlidersDoubleHorizontal\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/Button\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/ControlGroup\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/TextArea\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/Tooltip\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/themes\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/ui-utils/i18n\"","webpack://@splunk/dynamic-editors/external commonjs2 \"prop-types\"","webpack://@splunk/dynamic-editors/external commonjs2 \"react\"","webpack://@splunk/dynamic-editors/external commonjs2 \"styled-components\"","webpack://@splunk/dynamic-editors/webpack/bootstrap","webpack://@splunk/dynamic-editors/webpack/startup"],"sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport T from 'prop-types';\nimport styled, { css } from 'styled-components';\nimport TextArea from '@splunk/react-ui/TextArea';\nimport { pick, variables } from '@splunk/themes';\nimport ControlGroup from '../shared/AdvancedControlGroup';\nimport { editorStyle } from '../shared/dimensionConstants';\nimport { BaseEditorProps, BaseEditorPropTypes } from '../interfaces/BaseEditorProps';\n\n// The dark disabled textarea theme is being overriden by a global style in\n// core, so we need to specify it here so it has higher priority\nconst StyledTextArea = styled(TextArea)`\n textarea[disabled] {\n ${pick({\n enterprise: {\n dark: css`\n color: ${variables.textDisabledColor};\n background-color: ${variables.borderColor};\n border-color: ${variables.backgroundColorHover};\n `,\n },\n })}\n }\n`;\n\ninterface TextAreaEditorProps extends BaseEditorProps {\n /** current value of field */\n value: string;\n /** visually hide the label, but render it for screen readers */\n hideLabel?: boolean;\n /** help text under controls */\n help?: string;\n /** text to display in a tooltip next to the label */\n tooltip?: string;\n /** if the input should display error state */\n error?: boolean;\n}\n\nconst TextAreaEditor = ({\n onChange,\n name,\n value = '',\n label,\n labelPosition = 'top',\n labelWidth,\n hideLabel,\n isDisabled,\n help,\n tooltip,\n error,\n ...otherProps\n}: TextAreaEditorProps) => {\n const [val, setVal] = useState<string>(value);\n\n // maintain consistency of value state with prop\n useEffect(() => setVal(value), [value]);\n\n const handleChange = useCallback(\n (\n _event: React.ChangeEvent<HTMLTextAreaElement> | React.MouseEvent<HTMLSpanElement>,\n { value: v }: { value: string }\n ) => {\n setVal(v);\n },\n []\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLTextAreaElement> | React.KeyboardEvent<HTMLTextAreaElement>) => {\n const newVal = val.trim();\n if (newVal === value) {\n return;\n }\n // only change value if it is different from previous\n onChange(event, name, newVal);\n },\n [val, value, onChange, name]\n );\n\n return (\n <ControlGroup\n label={label}\n labelPosition={labelPosition}\n labelWidth={labelWidth}\n hideLabel={hideLabel}\n help={help}\n tooltip={tooltip}\n error={error}\n >\n <StyledTextArea\n key={value}\n data-test={name}\n style={editorStyle}\n onChange={handleChange}\n onBlur={handleBlur}\n value={val}\n disabled={isDisabled}\n {...otherProps}\n error={error}\n />\n </ControlGroup>\n );\n};\n\nconst propTypes: Record<keyof TextAreaEditorProps, T.Validator<any>> = {\n ...BaseEditorPropTypes,\n value: T.string,\n hideLabel: T.bool,\n help: T.string,\n tooltip: T.string,\n error: T.bool,\n};\n\nTextAreaEditor.propTypes = propTypes;\n\nexport default TextAreaEditor;\n","import * as T from 'prop-types';\nimport type { JSONSchema7 } from 'json-schema';\n\nexport interface BaseEditorProps {\n name: string;\n value: any;\n onChange?: (...args: any[]) => void;\n label?: string; // @TODO(pwied): this should not live in editor props\n labelPosition?: 'top' | 'left'; // ^^^\n context?: Record<string, any>;\n labelWidth?: number;\n isAdvanced?: boolean;\n isDisabled?: boolean;\n dataSourceBindings?: Record<string, any>;\n options?: { [k: string]: any };\n optionsSchema?: {\n [key: string]: JSONSchema7;\n };\n}\n\nexport const BaseEditorPropTypes: Record<keyof BaseEditorProps, T.Validator<any>> = {\n name: T.string.isRequired,\n value: T.oneOfType([T.string, T.object, T.arrayOf(T.string)]),\n context: T.object,\n label: T.string,\n labelPosition: T.oneOf(['top', 'left']),\n labelWidth: T.number,\n onChange: T.func,\n isAdvanced: T.bool,\n isDisabled: T.bool,\n dataSourceBindings: T.object,\n options: T.object,\n optionsSchema: T.object,\n};\n","import React, { Children, cloneElement, ReactElement } from 'react';\nimport * as T from 'prop-types';\nimport styled from 'styled-components';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport AdvancedConfigIcon from '@splunk/react-icons/SlidersDoubleHorizontal';\nimport { variables } from '@splunk/themes';\nimport Tooltip from '@splunk/react-ui/Tooltip';\nimport Button, { ButtonClickHandler, ButtonProps } from '@splunk/react-ui/Button';\nimport SUIControlGroup, { ControlGroupPropsBase } from '@splunk/react-ui/ControlGroup';\n\ninterface AdvancedControlGroupProps extends Omit<ControlGroupPropsBase, 'splunkTheme'> {\n 'data-test'?: string;\n style?: Record<string, string | number>;\n isAdvanced?: boolean;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n onAdvancedConfigButtonClick?: ButtonClickHandler;\n}\n\ninterface AdvancedConfigButtonProps {\n label?: string;\n onClick?: ButtonClickHandler;\n}\n\n// remove all surrounding margins. let parent add padding\nconst ControlGroupContainer = styled(SUIControlGroup)`\n margin-top: 0;\n padding: 0;\n // adjust bottom margin according to theme\n margin-bottom: ${variables.spacingMedium};\n width: 100%;\n\n // remove top margin of the first component in control group\n &:first-child {\n margin-top: 0;\n }\n\n // remove bottom margin of the last component in control group\n &:last-child {\n margin-bottom: 0;\n }\n // remove top padding on label of the first control group\n [data-test='label']:first-of-type {\n padding-top: 0;\n }\n`;\n\n// override tooltip to set desired config button style\nconst StyledToolTip = styled(Tooltip)`\n display: flex;\n > span {\n display: flex;\n width: 35px;\n }\n`;\n\nconst StyledAdvancedConfigButton = styled(Button)<ButtonProps>`\n color: ${variables.contentColorActive} !important;\n &:hover {\n background-color: ${variables.interactiveColorOverlayDrag} !important;\n }\n`;\n\nexport const AdvancedConfigButton = ({\n label = '',\n onClick,\n}: AdvancedConfigButtonProps): React.ReactElement => {\n return (\n <StyledToolTip\n data-test={`${label}-advanced-config-button-tooltip`}\n content={_('Advanced configurations')}\n >\n <StyledAdvancedConfigButton\n data-test={`${label}-advanced-config-button`}\n icon={<AdvancedConfigIcon data-test={`${label}-advanced-config-button-icon`} />}\n appearance=\"subtle\"\n onClick={onClick}\n />\n </StyledToolTip>\n );\n};\n\nconst AdvancedControlGroup = ({\n 'data-test': dataTest,\n children,\n isAdvanced = false,\n label,\n hideLabel,\n labelPosition,\n labelWidth,\n tooltip,\n help,\n style,\n error,\n controlsLayout,\n onClick,\n onAdvancedConfigButtonClick,\n}: AdvancedControlGroupProps): React.ReactElement => (\n <ControlGroupContainer\n data-test={dataTest ?? 'control-group'}\n label={label}\n hideLabel={hideLabel}\n labelPosition={labelPosition}\n labelWidth={labelWidth}\n tooltip={tooltip}\n help={help}\n error={error}\n style={style}\n onClick={onClick}\n controlsLayout={controlsLayout}\n >\n {isAdvanced\n ? Children.toArray(children)\n .filter(Boolean)\n .map(child =>\n cloneElement(child as ReactElement, {\n style: { flex: 1 },\n })\n )\n : children}\n {isAdvanced ? <AdvancedConfigButton label={label} onClick={onAdvancedConfigButtonClick} /> : null}\n </ControlGroupContainer>\n);\n\nAdvancedControlGroup.propTypes = {\n /**\n * Style overriding SUI ControlGroup\n */\n style: T.object,\n /**\n * Whether the current editor is enabled with advanced configurations\n */\n isAdvanced: T.bool,\n /**\n * Callback for editor click\n */\n onClick: T.func,\n /**\n * Callback for advanced config button click\n */\n onAdvancedConfigButtonClick: T.func,\n};\n\nexport default AdvancedControlGroup;\n","export const FLYOUT_PADDING = 21;\nexport const COLUMN_FLYOUT_PADDING = 16;\nexport const FLYOUT_WIDTH = 344;\n\nexport const VERTICAL_EDITOR_SPACING = 16;\n\nexport const DROPDOWN_MENU_WIDTH = 327;\n\nexport const editorStyle = { width: '100%' };\n","module.exports = require(\"@splunk/react-icons/SlidersDoubleHorizontal\");","module.exports = require(\"@splunk/react-ui/Button\");","module.exports = require(\"@splunk/react-ui/ControlGroup\");","module.exports = require(\"@splunk/react-ui/TextArea\");","module.exports = require(\"@splunk/react-ui/Tooltip\");","module.exports = require(\"@splunk/themes\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"styled-components\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(8687);\n"],"names":["StyledTextArea","pick","enterprise","dark","css","variables","textDisabledColor","borderColor","backgroundColorHover","TextAreaEditor","onChange","name","value","label","labelPosition","labelWidth","hideLabel","isDisabled","help","tooltip","error","otherProps","val","setVal","useState","useEffect","handleChange","useCallback","_event","v","handleBlur","event","newVal","trim","key","style","editorStyle","onBlur","disabled","propTypes","BaseEditorPropTypes","string","bool","T","isRequired","oneOfType","object","arrayOf","context","oneOf","number","func","isAdvanced","dataSourceBindings","options","optionsSchema","ControlGroupContainer","spacingMedium","StyledToolTip","StyledAdvancedConfigButton","contentColorActive","interactiveColorOverlayDrag","AdvancedConfigButton","onClick","content","_","icon","appearance","AdvancedControlGroup","dataTest","children","controlsLayout","onAdvancedConfigButtonClick","Children","toArray","filter","Boolean","map","child","cloneElement","flex","FLYOUT_PADDING","COLUMN_FLYOUT_PADDING","FLYOUT_WIDTH","VERTICAL_EDITOR_SPACING","DROPDOWN_MENU_WIDTH","width","module","exports","require","__webpack_module_cache__","__webpack_exports__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","call"],"sourceRoot":""}
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2018 Splunk Inc.
3
3
  * SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
4
4
  * in part without a valid written license from Splunk Inc. is PROHIBITED.
5
- */(()=>{"use strict";var e={4008:function(e,t,o){var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var l=Object.getOwnPropertyDescriptor(t,o);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,l)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),l=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&r(t,e,o);return l(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AdvancedConfigButton=void 0;const i=n(o(9497)),s=n(o(23)),u=a(o(232)),c=o(6649),d=a(o(6643)),p=o(3563),b=a(o(6379)),f=a(o(7020)),v=a(o(9250)),h=(0,u.default)(v.default)`
5
+ */(()=>{"use strict";var e={4008:function(e,t,o){var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o);var l=Object.getOwnPropertyDescriptor(t,o);l&&!("get"in l?!t.__esModule:l.writable||l.configurable)||(l={enumerable:!0,get:function(){return t[o]}}),Object.defineProperty(e,r,l)}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),l=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),n=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&r(t,e,o);return l(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AdvancedConfigButton=void 0;const i=n(o(9497)),u=n(o(23)),s=a(o(232)),c=o(6649),d=a(o(6643)),p=o(3563),b=a(o(6379)),f=a(o(7020)),v=a(o(9250)),g=(0,s.default)(v.default)`
6
6
  margin-top: 0;
7
7
  padding: 0;
8
8
  // adjust bottom margin according to theme
@@ -22,16 +22,16 @@
22
22
  [data-test='label']:first-of-type {
23
23
  padding-top: 0;
24
24
  }
25
- `,y=(0,u.default)(b.default)`
25
+ `,h=(0,s.default)(b.default)`
26
26
  display: flex;
27
27
  > span {
28
28
  display: flex;
29
29
  width: 35px;
30
30
  }
31
- `,g=(0,u.default)(f.default)`
31
+ `,m=(0,s.default)(f.default)`
32
32
  color: ${p.variables.contentColorActive} !important;
33
33
  &:hover {
34
34
  background-color: ${p.variables.interactiveColorOverlayDrag} !important;
35
35
  }
36
- `;t.AdvancedConfigButton=({label:e="",onClick:t})=>i.default.createElement(y,{"data-test":`${e}-advanced-config-button-tooltip`,content:(0,c._)("Advanced configurations")},i.default.createElement(g,{"data-test":`${e}-advanced-config-button`,icon:i.default.createElement(d.default,{"data-test":`${e}-advanced-config-button-icon`}),appearance:"subtle",onClick:t}));const m=({"data-test":e,children:o,isAdvanced:r,label:l,hideLabel:n,labelPosition:a,labelWidth:s,tooltip:u,help:c,style:d,error:p,controlsLayout:b,onClick:f,onAdvancedConfigButtonClick:v})=>i.default.createElement(h,{"data-test":null!=e?e:"control-group",label:l,hideLabel:n,labelPosition:a,labelWidth:s,tooltip:u,help:c,error:p,style:d,onClick:f,controlsLayout:b},r?i.Children.toArray(o).filter(Boolean).map((e=>(0,i.cloneElement)(e,{style:{flex:1}}))):o,r?i.default.createElement(t.AdvancedConfigButton,{label:l,onClick:v}):null);m.propTypes={style:s.object,isAdvanced:s.bool,onClick:s.func,onAdvancedConfigButtonClick:s.func},m.defaultProps={isAdvanced:!1},t.default=m},5862:(e,t)=>{t.editorStyle=void 0,t.editorStyle={width:"100%"}},6195:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},2649:e=>{e.exports=require("@babel/runtime/helpers/extends")},6643:e=>{e.exports=require("@splunk/react-icons/SlidersDoubleHorizontal")},7020:e=>{e.exports=require("@splunk/react-ui/Button")},9250:e=>{e.exports=require("@splunk/react-ui/ControlGroup")},4082:e=>{e.exports=require("@splunk/react-ui/Text")},6379:e=>{e.exports=require("@splunk/react-ui/Tooltip")},3563:e=>{e.exports=require("@splunk/themes")},6649:e=>{e.exports=require("@splunk/ui-utils/i18n")},23:e=>{e.exports=require("prop-types")},9497:e=>{e.exports=require("react")},232:e=>{e.exports=require("styled-components")}},t={};function o(r){var l=t[r];if(void 0!==l)return l.exports;var n=t[r]={exports:{}};return e[r].call(n.exports,n,n.exports,o),n.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{o.r(r),o.d(r,{default:()=>j});var e=o(2649),t=o.n(e),l=o(6195),n=o.n(l);const a=require("@babel/runtime/helpers/objectWithoutProperties");var i=o.n(a),s=o(9497),u=o.n(s),c=o(23),d=o.n(c);const p=require("lodash/debounce");var b=o.n(p),f=o(4082),v=o.n(f),h=o(4008),y=o.n(h),g=o(5862);const m=["onChange","name","value","label","labelPosition","labelWidth","labelStyle","hideLabel","isAdvanced","isDisabled","help","tooltip","validate","error"];function O(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}const P=e=>{let{onChange:o,name:r,value:l,label:a,labelPosition:c,labelWidth:d,labelStyle:p,hideLabel:f,isAdvanced:h,isDisabled:P,help:j,tooltip:C,validate:x,error:k}=e,_=i()(e,m);const[S,q]=(0,s.useState)(l),A=(0,s.useCallback)((e=>"function"==typeof x?x({value:e}):null),[x]),[w,D]=(0,s.useState)(A(l)),E=(0,s.useMemo)((()=>b()((e=>{D(A(e))}),250)),[A]);(0,s.useEffect)((()=>()=>{E.cancel()}),[E]),(0,s.useEffect)((()=>{q(l),D(A(l))}),[A,l]);const M=(0,s.useCallback)(((e,{value:t})=>{q(t),E(t)}),[E]),B=(0,s.useCallback)((e=>{const t=S.trim();if(t===l)return;const n=A(t);D(n),n||o(e,r,t)}),[S,l,A,o,r]),L=(0,s.useCallback)((e=>{"Enter"===e.key&&B(e)}),[B]),W=(0,s.useMemo)((()=>a&&""!==a?p:function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?O(Object(o),!0).forEach((function(t){n()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):O(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}({},p)),[a,p]);return u().createElement(y(),{label:a,labelPosition:c,labelWidth:d,style:W,hideLabel:f,help:j,tooltip:C,error:(null==w?void 0:w.message)||k,isAdvanced:h},u().createElement(v(),t()({key:l,"data-test":r,style:g.editorStyle,onChange:M,onKeyDown:L,onBlur:B,value:S,disabled:P,canClear:!0},_,{error:!!w||k})))};P.propTypes={onChange:d().func.isRequired,name:d().string.isRequired,label:d().string.isRequired,value:d().string,labelPosition:d().oneOf(["top","left"]),labelWidth:d().number,labelStyle:d().object,hideLabel:d().bool,isAdvanced:d().bool,isDisabled:d().bool,validate:d().func,error:d().bool,help:d().string,tooltip:d().string},P.defaultProps={value:"",labelPosition:"top",labelStyle:{},hideLabel:!1,isDisabled:!1};const j=P})(),module.exports=r})();
36
+ `;t.AdvancedConfigButton=({label:e="",onClick:t})=>i.default.createElement(h,{"data-test":`${e}-advanced-config-button-tooltip`,content:(0,c._)("Advanced configurations")},i.default.createElement(m,{"data-test":`${e}-advanced-config-button`,icon:i.default.createElement(d.default,{"data-test":`${e}-advanced-config-button-icon`}),appearance:"subtle",onClick:t}));const y=({"data-test":e,children:o,isAdvanced:r=!1,label:l,hideLabel:n,labelPosition:a,labelWidth:u,tooltip:s,help:c,style:d,error:p,controlsLayout:b,onClick:f,onAdvancedConfigButtonClick:v})=>i.default.createElement(g,{"data-test":null!=e?e:"control-group",label:l,hideLabel:n,labelPosition:a,labelWidth:u,tooltip:s,help:c,error:p,style:d,onClick:f,controlsLayout:b},r?i.Children.toArray(o).filter(Boolean).map((e=>(0,i.cloneElement)(e,{style:{flex:1}}))):o,r?i.default.createElement(t.AdvancedConfigButton,{label:l,onClick:v}):null);y.propTypes={style:u.object,isAdvanced:u.bool,onClick:u.func,onAdvancedConfigButtonClick:u.func},t.default=y},5862:(e,t)=>{t.editorStyle=void 0,t.editorStyle={width:"100%"}},6195:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},2649:e=>{e.exports=require("@babel/runtime/helpers/extends")},6643:e=>{e.exports=require("@splunk/react-icons/SlidersDoubleHorizontal")},7020:e=>{e.exports=require("@splunk/react-ui/Button")},9250:e=>{e.exports=require("@splunk/react-ui/ControlGroup")},4082:e=>{e.exports=require("@splunk/react-ui/Text")},6379:e=>{e.exports=require("@splunk/react-ui/Tooltip")},3563:e=>{e.exports=require("@splunk/themes")},6649:e=>{e.exports=require("@splunk/ui-utils/i18n")},4793:e=>{e.exports=require("lodash")},23:e=>{e.exports=require("prop-types")},9497:e=>{e.exports=require("react")},232:e=>{e.exports=require("styled-components")}},t={};function o(r){var l=t[r];if(void 0!==l)return l.exports;var n=t[r]={exports:{}};return e[r].call(n.exports,n,n.exports,o),n.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};(()=>{o.r(r),o.d(r,{default:()=>C});var e=o(2649),t=o.n(e),l=o(6195),n=o.n(l);const a=require("@babel/runtime/helpers/objectWithoutProperties");var i=o.n(a),u=o(9497),s=o.n(u),c=o(23),d=o.n(c),p=o(4793),b=o(4082),f=o.n(b),v=o(4008),g=o.n(v),h=o(5862);const m=["onChange","name","value","label","labelPosition","labelWidth","labelStyle","hideLabel","isAdvanced","isDisabled","help","tooltip","validate","error"];function y(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}const O={},j=e=>{let{onChange:o,name:r,value:l="",label:a,labelPosition:c="top",labelWidth:d,labelStyle:b=O,hideLabel:v=!1,isAdvanced:j,isDisabled:C=!1,help:x,tooltip:P,validate:k,error:_}=e,q=i()(e,m);const[S,w]=(0,u.useState)(l),A=(0,u.useCallback)((e=>"function"==typeof k?k({value:e}):null),[k]),[D,E]=(0,u.useState)(A(l)),M=(0,u.useMemo)((()=>(0,p.debounce)((e=>{E(A(e))}),250)),[A]);(0,u.useEffect)((()=>()=>{M.cancel()}),[M]),(0,u.useEffect)((()=>{w(l),E(A(l))}),[A,l]);const B=(0,u.useCallback)(((e,{value:t})=>{w(t),M(t)}),[M]),L=(0,u.useCallback)((e=>{const t=S.trim();if(t===l)return;const n=A(t);E(n),n||o(e,r,t)}),[S,l,A,o,r]),W=(0,u.useCallback)((e=>{"Enter"===e.key&&L(e)}),[L]),T=(0,u.useMemo)((()=>a&&""!==a?b:function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?y(Object(o),!0).forEach((function(t){n()(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):y(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}({},b)),[a,b]);return s().createElement(g(),{label:a,labelPosition:c,labelWidth:d,style:T,hideLabel:v,help:x,tooltip:P,error:(null==D?void 0:D.message)||_,isAdvanced:j},s().createElement(f(),t()({key:l,"data-test":r,style:h.editorStyle,onChange:B,onKeyDown:W,onBlur:L,value:S,disabled:C,canClear:!0},q,{error:!!D||_})))};j.propTypes={onChange:d().func.isRequired,name:d().string.isRequired,label:d().string.isRequired,value:d().string,labelPosition:d().oneOf(["top","left"]),labelWidth:d().number,labelStyle:d().object,hideLabel:d().bool,isAdvanced:d().bool,isDisabled:d().bool,validate:d().func,error:d().bool,help:d().string,tooltip:d().string};const C=j})(),module.exports=r})();
37
37
  //# sourceMappingURL=TextEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.js","mappings":";;;;y1BAAA,mBACA,WACA,YACA,UACA,aACA,UACA,aACA,aACA,aAgBMA,GAAwB,aAAO,UAAgB;;;;qBAIhC,EAAAC,UAAUC;;;;;;;;;;;;;;;;EAmBzBC,GAAgB,aAAO,UAAQ;;;;;;EAQ/BC,GAA6B,aAAO,UAAoB;aACjD,EAAAH,UAAUI;;4BAEK,EAAAJ,UAAUK;;EAIzB,EAAAC,qBAAuB,EAChCC,QAAQ,GACRC,aAGI,wBAACN,EAAa,aACC,GAAGK,mCACdE,SAAS,IAAAC,GAAE,4BAEX,wBAACP,EAA0B,aACZ,GAAGI,2BACdI,KAAM,wBAAC,UAAkB,aAAY,GAAGJ,kCACxCK,WAAW,SACXJ,QAASA,KAMzB,MAAMK,EAAuB,EACzB,YAAaC,EACbC,WACAC,aACAT,QACAU,YACAC,gBACAC,aACAC,UACAC,OACAC,QACAC,QACAC,iBACAhB,UACAiB,iCAEA,wBAAC1B,EAAqB,aACPe,QAAAA,EAAY,gBACvBP,MAAOA,EACPU,UAAWA,EACXC,cAAeA,EACfC,WAAYA,EACZC,QAASA,EACTC,KAAMA,EACNE,MAAOA,EACPD,MAAOA,EACPd,QAASA,EACTgB,eAAgBA,GAEfR,EACK,EAAAU,SAASC,QAAQZ,GACZa,OAAOC,SACPC,KAAIC,IACD,IAAAC,cAAaD,EAAuB,CAChCT,MAAO,CAAEW,KAAM,OAG3BlB,EACLC,EAAa,wBAAC,EAAAV,qBAAoB,CAACC,MAAOA,EAAOC,QAASiB,IAAkC,MAIrGZ,EAAqBqB,UAAY,CAI7BZ,MAAOa,EAAEC,OAITpB,WAAYmB,EAAEE,KAId7B,QAAS2B,EAAEG,KAIXb,4BAA6BU,EAAEG,MAGnCzB,EAAqB0B,aAAe,CAChCvB,YAAY,GAGhB,UAAeH,C,oCC1IF,EAAA2B,YAAc,CAAEC,MAAO,O,WCRpCC,EAAOC,QAAUC,QAAQ,wC,WCAzBF,EAAOC,QAAUC,QAAQ,iC,WCAzBF,EAAOC,QAAUC,QAAQ,8C,WCAzBF,EAAOC,QAAUC,QAAQ,0B,WCAzBF,EAAOC,QAAUC,QAAQ,gC,WCAzBF,EAAOC,QAAUC,QAAQ,wB,WCAzBF,EAAOC,QAAUC,QAAQ,2B,WCAzBF,EAAOC,QAAUC,QAAQ,iB,WCAzBF,EAAOC,QAAUC,QAAQ,wB,SCAzBF,EAAOC,QAAUC,QAAQ,a,WCAzBF,EAAOC,QAAUC,QAAQ,Q,UCAzBF,EAAOC,QAAUC,QAAQ,oB,GCCrBC,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaL,QAGrB,IAAID,EAASG,EAAyBE,GAAY,CAGjDJ,QAAS,CAAC,GAOX,OAHAO,EAAoBH,GAAUI,KAAKT,EAAOC,QAASD,EAAQA,EAAOC,QAASG,GAGpEJ,EAAOC,OACf,CCrBAG,EAAoBM,EAAKV,IACxB,IAAIW,EAASX,GAAUA,EAAOY,WAC7B,IAAOZ,EAAiB,QACxB,IAAM,EAEP,OADAI,EAAoBS,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdP,EAAoBS,EAAI,CAACZ,EAASc,KACjC,IAAI,IAAIC,KAAOD,EACXX,EAAoBa,EAAEF,EAAYC,KAASZ,EAAoBa,EAAEhB,EAASe,IAC5EE,OAAOC,eAAelB,EAASe,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAE1E,ECNDZ,EAAoBa,EAAI,CAACK,EAAKC,IAAUL,OAAOM,UAAUC,eAAehB,KAAKa,EAAKC,GCClFnB,EAAoBsB,EAAKzB,IACH,oBAAX0B,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAelB,EAAS0B,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAelB,EAAS,aAAc,CAAE4B,OAAO,GAAO,E,uFCL9D,MAAM,EAA+B3B,QAAQ,kD,iDCA7C,MAAM,EAA+BA,QAAQ,mB,2bCO7C,MAAM4B,EAAaC,IAgBb,IAhBc,SAChBC,EAAQ,KACRC,EAAI,MACJJ,EAAK,MACLhE,EAAK,cACLW,EAAa,WACbC,EAAU,WACVyD,EAAU,UACV3D,EAAS,WACTD,EAAU,WACV6D,EAAU,KACVxD,EAAI,QACJD,EAAO,SACP0D,EAAQ,MACRvD,GAEHkD,EADMM,EAAUC,IAAAP,EAAAQ,GAEb,MAAOC,EAAKC,IAAiBC,EAAAA,EAAAA,UAASb,GAEhCc,GAAiBC,EAAAA,EAAAA,cACnBC,GAAiC,mBAAbT,EAA0BA,EAAS,CAAEP,MAAOgB,IAAc,MAC9E,CAACT,KAEEU,EAAYC,IAAiBL,EAAAA,EAAAA,UAASC,EAAed,IACtDmB,GAA0BC,EAAAA,EAAAA,UAC5B,IACIC,KAASC,IACLJ,EAAcJ,EAAeQ,GAAQ,GACtC,MACP,CAACR,KAGLS,EAAAA,EAAAA,YACI,IAAM,KAEFJ,EAAwBK,QAAQ,GAEpC,CAACL,KAGLI,EAAAA,EAAAA,YAAU,KACNX,EAAcZ,GACdkB,EAAcJ,EAAed,GAAO,GACrC,CAACc,EAAgBd,IAEpB,MAAMyB,GAAeV,EAAAA,EAAAA,cACjB,CAACW,GAAU1B,MAAO2B,MACdf,EAAce,GACdR,EAAwBQ,EAAE,GAE9B,CAACR,IAGCS,GAAab,EAAAA,EAAAA,cACfc,IACI,MAAMP,EAASX,EAAImB,OACnB,GAAIR,IAAWtB,EACX,OAEJ,MAAM+B,EAAWjB,EAAeQ,GAEhCJ,EAAca,GACTA,GAED5B,EAAS0B,EAAOzB,EAAMkB,EAC1B,GAEJ,CAACX,EAAKX,EAAOc,EAAgBX,EAAUC,IAGrC4B,GAAiBjB,EAAAA,EAAAA,cACnBc,IACsB,UAAdA,EAAM1C,KACNyC,EAAWC,EACf,GAEJ,CAACD,IAGC7E,GAAQqE,EAAAA,EAAAA,UACV,IACKpF,GAAmB,KAAVA,EAIJqE,E,iWAJgB4B,CAAA,GAET5B,IAGjB,CAACrE,EAAOqE,IAGZ,OACI6B,IAAAA,cAACC,IAAY,CACTnG,MAAOA,EACPW,cAAeA,EACfC,WAAYA,EACZG,MAAOA,EACPL,UAAWA,EACXI,KAAMA,EACND,QAASA,EACTG,OAAOiE,aAAU,EAAVA,EAAYmB,UAAWpF,EAC9BP,WAAYA,GAEZyF,IAAAA,cAACG,IAAIC,IAAA,CACDnD,IAAKa,EACL,YAAWI,EACXrD,MAAOkB,EAAAA,YACPkC,SAAUsB,EACVc,UAAWP,EACXQ,OAAQZ,EACR5B,MAAOW,EACP8B,SAAUnC,EACVoC,UAAQ,GACJlC,EAAU,CACdxD,QAASiE,GAAcjE,KAEhB,EAIvBiD,EAAWtC,UAAY,CAQnBwC,SAAUvC,IAAAA,KAAO+E,WAIjBvC,KAAMxC,IAAAA,OAAS+E,WAIf3G,MAAO4B,IAAAA,OAAS+E,WAIhB3C,MAAOpC,IAAAA,OAIPjB,cAAeiB,IAAAA,MAAQ,CAAC,MAAO,SAI/BhB,WAAYgB,IAAAA,OAIZyC,WAAYzC,IAAAA,OAIZlB,UAAWkB,IAAAA,KAIXnB,WAAYmB,IAAAA,KAIZ0C,WAAY1C,IAAAA,KAIZ2C,SAAU3C,IAAAA,KAIVZ,MAAOY,IAAAA,KAIPd,KAAMc,IAAAA,OAINf,QAASe,IAAAA,QAGbqC,EAAWjC,aAAe,CACtBgC,MAAO,GACPrD,cAAe,MACf0D,WAAY,CAAC,EACb3D,WAAW,EACX4D,YAAY,GAGhB,S","sources":["webpack://@splunk/dynamic-editors/./src/shared/AdvancedControlGroup.tsx","webpack://@splunk/dynamic-editors/./src/shared/dimensionConstants.ts","webpack://@splunk/dynamic-editors/external commonjs2 \"@babel/runtime/helpers/defineProperty\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@babel/runtime/helpers/extends\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-icons/SlidersDoubleHorizontal\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/Button\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/ControlGroup\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/Text\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/Tooltip\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/themes\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/ui-utils/i18n\"","webpack://@splunk/dynamic-editors/external commonjs2 \"prop-types\"","webpack://@splunk/dynamic-editors/external commonjs2 \"react\"","webpack://@splunk/dynamic-editors/external commonjs2 \"styled-components\"","webpack://@splunk/dynamic-editors/webpack/bootstrap","webpack://@splunk/dynamic-editors/webpack/runtime/compat get default export","webpack://@splunk/dynamic-editors/webpack/runtime/define property getters","webpack://@splunk/dynamic-editors/webpack/runtime/hasOwnProperty shorthand","webpack://@splunk/dynamic-editors/webpack/runtime/make namespace object","webpack://@splunk/dynamic-editors/external commonjs2 \"@babel/runtime/helpers/objectWithoutProperties\"","webpack://@splunk/dynamic-editors/external commonjs2 \"lodash/debounce\"","webpack://@splunk/dynamic-editors/./src/editors/TextEditor.jsx"],"sourcesContent":["import React, { Children, cloneElement, ReactElement } from 'react';\nimport * as T from 'prop-types';\nimport styled from 'styled-components';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport AdvancedConfigIcon from '@splunk/react-icons/SlidersDoubleHorizontal';\nimport { variables } from '@splunk/themes';\nimport Tooltip from '@splunk/react-ui/Tooltip';\nimport Button, { ButtonClickHandler, ButtonProps } from '@splunk/react-ui/Button';\nimport SUIControlGroup, { ControlGroupPropsBase } from '@splunk/react-ui/ControlGroup';\n\ninterface AdvancedControlGroupProps extends Omit<ControlGroupPropsBase, 'splunkTheme'> {\n 'data-test'?: string;\n style?: Record<string, string | number>;\n isAdvanced?: boolean;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n onAdvancedConfigButtonClick?: ButtonClickHandler;\n}\n\ninterface AdvancedConfigButtonProps {\n label?: string;\n onClick?: ButtonClickHandler;\n}\n\n// remove all surrounding margins. let parent add padding\nconst ControlGroupContainer = styled(SUIControlGroup)`\n margin-top: 0;\n padding: 0;\n // adjust bottom margin according to theme\n margin-bottom: ${variables.spacingMedium};\n width: 100%;\n\n // remove top margin of the first component in control group\n &:first-child {\n margin-top: 0;\n }\n\n // remove bottom margin of the last component in control group\n &:last-child {\n margin-bottom: 0;\n }\n // remove top padding on label of the first control group\n [data-test='label']:first-of-type {\n padding-top: 0;\n }\n`;\n\n// override tooltip to set desired config button style\nconst StyledToolTip = styled(Tooltip)`\n display: flex;\n > span {\n display: flex;\n width: 35px;\n }\n`;\n\nconst StyledAdvancedConfigButton = styled(Button)<ButtonProps>`\n color: ${variables.contentColorActive} !important;\n &:hover {\n background-color: ${variables.interactiveColorOverlayDrag} !important;\n }\n`;\n\nexport const AdvancedConfigButton = ({\n label = '',\n onClick,\n}: AdvancedConfigButtonProps): React.ReactElement => {\n return (\n <StyledToolTip\n data-test={`${label}-advanced-config-button-tooltip`}\n content={_('Advanced configurations')}\n >\n <StyledAdvancedConfigButton\n data-test={`${label}-advanced-config-button`}\n icon={<AdvancedConfigIcon data-test={`${label}-advanced-config-button-icon`} />}\n appearance=\"subtle\"\n onClick={onClick}\n />\n </StyledToolTip>\n );\n};\n\nconst AdvancedControlGroup = ({\n 'data-test': dataTest,\n children,\n isAdvanced,\n label,\n hideLabel,\n labelPosition,\n labelWidth,\n tooltip,\n help,\n style,\n error,\n controlsLayout,\n onClick,\n onAdvancedConfigButtonClick,\n}: AdvancedControlGroupProps): React.ReactElement => (\n <ControlGroupContainer\n data-test={dataTest ?? 'control-group'}\n label={label}\n hideLabel={hideLabel}\n labelPosition={labelPosition}\n labelWidth={labelWidth}\n tooltip={tooltip}\n help={help}\n error={error}\n style={style}\n onClick={onClick}\n controlsLayout={controlsLayout}\n >\n {isAdvanced\n ? Children.toArray(children)\n .filter(Boolean)\n .map(child =>\n cloneElement(child as ReactElement, {\n style: { flex: 1 },\n })\n )\n : children}\n {isAdvanced ? <AdvancedConfigButton label={label} onClick={onAdvancedConfigButtonClick} /> : null}\n </ControlGroupContainer>\n);\n\nAdvancedControlGroup.propTypes = {\n /**\n * Style overriding SUI ControlGroup\n */\n style: T.object,\n /**\n * Whether the current editor is enabled with advanced configurations\n */\n isAdvanced: T.bool,\n /**\n * Callback for editor click\n */\n onClick: T.func,\n /**\n * Callback for advanced config button click\n */\n onAdvancedConfigButtonClick: T.func,\n};\n\nAdvancedControlGroup.defaultProps = {\n isAdvanced: false,\n};\n\nexport default AdvancedControlGroup;\n","export const FLYOUT_PADDING = 21;\nexport const COLUMN_FLYOUT_PADDING = 16;\nexport const FLYOUT_WIDTH = 344;\n\nexport const VERTICAL_EDITOR_SPACING = 16;\n\nexport const DROPDOWN_MENU_WIDTH = 327;\n\nexport const editorStyle = { width: '100%' };\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@splunk/react-icons/SlidersDoubleHorizontal\");","module.exports = require(\"@splunk/react-ui/Button\");","module.exports = require(\"@splunk/react-ui/ControlGroup\");","module.exports = require(\"@splunk/react-ui/Text\");","module.exports = require(\"@splunk/react-ui/Tooltip\");","module.exports = require(\"@splunk/themes\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"styled-components\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/objectWithoutProperties\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"lodash/debounce\");","import React, { useState, useCallback, useEffect, useMemo } from 'react';\nimport T from 'prop-types';\nimport debounce from 'lodash/debounce';\nimport Text from '@splunk/react-ui/Text';\nimport ControlGroup from '../shared/AdvancedControlGroup';\nimport { editorStyle } from '../shared/dimensionConstants';\n\nconst TextEditor = ({\n onChange,\n name,\n value,\n label,\n labelPosition,\n labelWidth,\n labelStyle,\n hideLabel,\n isAdvanced,\n isDisabled,\n help,\n tooltip,\n validate,\n error,\n ...otherProps\n}) => {\n const [val, setValueState] = useState(value);\n\n const handleValidate = useCallback(\n newValue => (typeof validate === 'function' ? validate({ value: newValue }) : null),\n [validate]\n );\n const [errorState, setErrorState] = useState(handleValidate(value));\n const debouncedHandleValidate = useMemo(\n () =>\n debounce(newVal => {\n setErrorState(handleValidate(newVal));\n }, 250),\n [handleValidate]\n );\n\n useEffect(\n () => () => {\n // cancel debounce on component unmount\n debouncedHandleValidate.cancel();\n },\n [debouncedHandleValidate]\n );\n\n useEffect(() => {\n setValueState(value);\n setErrorState(handleValidate(value));\n }, [handleValidate, value]);\n\n const handleChange = useCallback(\n (_event, { value: v }) => {\n setValueState(v);\n debouncedHandleValidate(v);\n },\n [debouncedHandleValidate]\n );\n\n const handleBlur = useCallback(\n event => {\n const newVal = val.trim();\n if (newVal === value) {\n return;\n }\n const newError = handleValidate(newVal);\n // set error if there is one, or clear an existing error\n setErrorState(newError);\n if (!newError) {\n // only change value if there is no validation error\n onChange(event, name, newVal);\n }\n },\n [val, value, handleValidate, onChange, name]\n );\n\n const handleKeyPress = useCallback(\n event => {\n if (event.key === 'Enter') {\n handleBlur(event);\n }\n },\n [handleBlur]\n );\n\n const style = useMemo(\n () =>\n !label || label === ''\n ? {\n ...labelStyle,\n }\n : labelStyle,\n [label, labelStyle]\n );\n\n return (\n <ControlGroup\n label={label}\n labelPosition={labelPosition}\n labelWidth={labelWidth}\n style={style}\n hideLabel={hideLabel}\n help={help}\n tooltip={tooltip}\n error={errorState?.message || error}\n isAdvanced={isAdvanced}\n >\n <Text\n key={value}\n data-test={name}\n style={editorStyle}\n onChange={handleChange}\n onKeyDown={handleKeyPress}\n onBlur={handleBlur}\n value={val}\n disabled={isDisabled}\n canClear\n {...otherProps}\n error={!!errorState || error}\n />\n </ControlGroup>\n );\n};\n\nTextEditor.propTypes = {\n /**\n * Callback when changing the text value\n *\n * @param {SyntheticEvent} event The react `SyntheticEvent`\n * @param {string} name The option name\n * @param {string} value The option value\n */\n onChange: T.func.isRequired,\n /**\n * The option name\n */\n name: T.string.isRequired,\n /**\n * A human readable label for the option\n */\n label: T.string.isRequired,\n /**\n * The option value\n */\n value: T.string,\n /**\n * Label position\n */\n labelPosition: T.oneOf(['top', 'left']),\n /**\n * Label width\n */\n labelWidth: T.number,\n /**\n * Styles to be passed to the ControlGroup\n */\n labelStyle: T.object,\n /**\n * Visually hide the label, but render it for screen readers\n */\n hideLabel: T.bool,\n /**\n * As advanced editor to show advanced config button\n */\n isAdvanced: T.bool,\n /**\n * Disabled state of component\n */\n isDisabled: T.bool,\n /**\n * Validate the value of the editor\n */\n validate: T.func,\n /**\n * If the input should display error state\n */\n error: T.bool,\n /**\n * Text to display under the the input\n */\n help: T.string,\n /**\n * Text to display in a tooltip next to the label\n */\n tooltip: T.string,\n};\n\nTextEditor.defaultProps = {\n value: '',\n labelPosition: 'top',\n labelStyle: {},\n hideLabel: false,\n isDisabled: false,\n};\n\nexport default TextEditor;\n"],"names":["ControlGroupContainer","variables","spacingMedium","StyledToolTip","StyledAdvancedConfigButton","contentColorActive","interactiveColorOverlayDrag","AdvancedConfigButton","label","onClick","content","_","icon","appearance","AdvancedControlGroup","dataTest","children","isAdvanced","hideLabel","labelPosition","labelWidth","tooltip","help","style","error","controlsLayout","onAdvancedConfigButtonClick","Children","toArray","filter","Boolean","map","child","cloneElement","flex","propTypes","T","object","bool","func","defaultProps","editorStyle","width","module","exports","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","call","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","r","Symbol","toStringTag","value","TextEditor","_ref","onChange","name","labelStyle","isDisabled","validate","otherProps","_objectWithoutProperties","_excluded","val","setValueState","useState","handleValidate","useCallback","newValue","errorState","setErrorState","debouncedHandleValidate","useMemo","debounce","newVal","useEffect","cancel","handleChange","_event","v","handleBlur","event","trim","newError","handleKeyPress","_objectSpread","React","ControlGroup","message","Text","_extends","onKeyDown","onBlur","disabled","canClear","isRequired"],"sourceRoot":""}
1
+ {"version":3,"file":"TextEditor.js","mappings":"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","sources":["webpack://@splunk/dynamic-editors/./src/shared/AdvancedControlGroup.tsx","webpack://@splunk/dynamic-editors/./src/shared/dimensionConstants.ts","webpack://@splunk/dynamic-editors/external commonjs2 \"@babel/runtime/helpers/defineProperty\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@babel/runtime/helpers/extends\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-icons/SlidersDoubleHorizontal\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/Button\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/ControlGroup\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/Text\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/react-ui/Tooltip\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/themes\"","webpack://@splunk/dynamic-editors/external commonjs2 \"@splunk/ui-utils/i18n\"","webpack://@splunk/dynamic-editors/external commonjs2 \"lodash\"","webpack://@splunk/dynamic-editors/external commonjs2 \"prop-types\"","webpack://@splunk/dynamic-editors/external commonjs2 \"react\"","webpack://@splunk/dynamic-editors/external commonjs2 \"styled-components\"","webpack://@splunk/dynamic-editors/webpack/bootstrap","webpack://@splunk/dynamic-editors/webpack/runtime/compat get default export","webpack://@splunk/dynamic-editors/webpack/runtime/define property getters","webpack://@splunk/dynamic-editors/webpack/runtime/hasOwnProperty shorthand","webpack://@splunk/dynamic-editors/webpack/runtime/make namespace object","webpack://@splunk/dynamic-editors/external commonjs2 \"@babel/runtime/helpers/objectWithoutProperties\"","webpack://@splunk/dynamic-editors/./src/editors/TextEditor.jsx"],"sourcesContent":["import React, { Children, cloneElement, ReactElement } from 'react';\nimport * as T from 'prop-types';\nimport styled from 'styled-components';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport AdvancedConfigIcon from '@splunk/react-icons/SlidersDoubleHorizontal';\nimport { variables } from '@splunk/themes';\nimport Tooltip from '@splunk/react-ui/Tooltip';\nimport Button, { ButtonClickHandler, ButtonProps } from '@splunk/react-ui/Button';\nimport SUIControlGroup, { ControlGroupPropsBase } from '@splunk/react-ui/ControlGroup';\n\ninterface AdvancedControlGroupProps extends Omit<ControlGroupPropsBase, 'splunkTheme'> {\n 'data-test'?: string;\n style?: Record<string, string | number>;\n isAdvanced?: boolean;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n onAdvancedConfigButtonClick?: ButtonClickHandler;\n}\n\ninterface AdvancedConfigButtonProps {\n label?: string;\n onClick?: ButtonClickHandler;\n}\n\n// remove all surrounding margins. let parent add padding\nconst ControlGroupContainer = styled(SUIControlGroup)`\n margin-top: 0;\n padding: 0;\n // adjust bottom margin according to theme\n margin-bottom: ${variables.spacingMedium};\n width: 100%;\n\n // remove top margin of the first component in control group\n &:first-child {\n margin-top: 0;\n }\n\n // remove bottom margin of the last component in control group\n &:last-child {\n margin-bottom: 0;\n }\n // remove top padding on label of the first control group\n [data-test='label']:first-of-type {\n padding-top: 0;\n }\n`;\n\n// override tooltip to set desired config button style\nconst StyledToolTip = styled(Tooltip)`\n display: flex;\n > span {\n display: flex;\n width: 35px;\n }\n`;\n\nconst StyledAdvancedConfigButton = styled(Button)<ButtonProps>`\n color: ${variables.contentColorActive} !important;\n &:hover {\n background-color: ${variables.interactiveColorOverlayDrag} !important;\n }\n`;\n\nexport const AdvancedConfigButton = ({\n label = '',\n onClick,\n}: AdvancedConfigButtonProps): React.ReactElement => {\n return (\n <StyledToolTip\n data-test={`${label}-advanced-config-button-tooltip`}\n content={_('Advanced configurations')}\n >\n <StyledAdvancedConfigButton\n data-test={`${label}-advanced-config-button`}\n icon={<AdvancedConfigIcon data-test={`${label}-advanced-config-button-icon`} />}\n appearance=\"subtle\"\n onClick={onClick}\n />\n </StyledToolTip>\n );\n};\n\nconst AdvancedControlGroup = ({\n 'data-test': dataTest,\n children,\n isAdvanced = false,\n label,\n hideLabel,\n labelPosition,\n labelWidth,\n tooltip,\n help,\n style,\n error,\n controlsLayout,\n onClick,\n onAdvancedConfigButtonClick,\n}: AdvancedControlGroupProps): React.ReactElement => (\n <ControlGroupContainer\n data-test={dataTest ?? 'control-group'}\n label={label}\n hideLabel={hideLabel}\n labelPosition={labelPosition}\n labelWidth={labelWidth}\n tooltip={tooltip}\n help={help}\n error={error}\n style={style}\n onClick={onClick}\n controlsLayout={controlsLayout}\n >\n {isAdvanced\n ? Children.toArray(children)\n .filter(Boolean)\n .map(child =>\n cloneElement(child as ReactElement, {\n style: { flex: 1 },\n })\n )\n : children}\n {isAdvanced ? <AdvancedConfigButton label={label} onClick={onAdvancedConfigButtonClick} /> : null}\n </ControlGroupContainer>\n);\n\nAdvancedControlGroup.propTypes = {\n /**\n * Style overriding SUI ControlGroup\n */\n style: T.object,\n /**\n * Whether the current editor is enabled with advanced configurations\n */\n isAdvanced: T.bool,\n /**\n * Callback for editor click\n */\n onClick: T.func,\n /**\n * Callback for advanced config button click\n */\n onAdvancedConfigButtonClick: T.func,\n};\n\nexport default AdvancedControlGroup;\n","export const FLYOUT_PADDING = 21;\nexport const COLUMN_FLYOUT_PADDING = 16;\nexport const FLYOUT_WIDTH = 344;\n\nexport const VERTICAL_EDITOR_SPACING = 16;\n\nexport const DROPDOWN_MENU_WIDTH = 327;\n\nexport const editorStyle = { width: '100%' };\n","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","module.exports = require(\"@babel/runtime/helpers/extends\");","module.exports = require(\"@splunk/react-icons/SlidersDoubleHorizontal\");","module.exports = require(\"@splunk/react-ui/Button\");","module.exports = require(\"@splunk/react-ui/ControlGroup\");","module.exports = require(\"@splunk/react-ui/Text\");","module.exports = require(\"@splunk/react-ui/Tooltip\");","module.exports = require(\"@splunk/themes\");","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"lodash\");","module.exports = require(\"prop-types\");","module.exports = require(\"react\");","module.exports = require(\"styled-components\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/objectWithoutProperties\");","import React, { useState, useCallback, useEffect, useMemo } from 'react';\nimport T from 'prop-types';\nimport { debounce } from 'lodash';\nimport Text from '@splunk/react-ui/Text';\nimport ControlGroup from '../shared/AdvancedControlGroup';\nimport { editorStyle } from '../shared/dimensionConstants';\n\nconst defaultLabelStyle = {};\n\nconst TextEditor = ({\n onChange,\n name,\n value = '',\n label,\n labelPosition = 'top',\n labelWidth,\n labelStyle = defaultLabelStyle,\n hideLabel = false,\n isAdvanced,\n isDisabled = false,\n help,\n tooltip,\n validate,\n error,\n ...otherProps\n}) => {\n const [val, setValueState] = useState(value);\n\n const handleValidate = useCallback(\n newValue => (typeof validate === 'function' ? validate({ value: newValue }) : null),\n [validate]\n );\n const [errorState, setErrorState] = useState(handleValidate(value));\n const debouncedHandleValidate = useMemo(\n () =>\n debounce(newVal => {\n setErrorState(handleValidate(newVal));\n }, 250),\n [handleValidate]\n );\n\n useEffect(\n () => () => {\n // cancel debounce on component unmount\n debouncedHandleValidate.cancel();\n },\n [debouncedHandleValidate]\n );\n\n useEffect(() => {\n setValueState(value);\n setErrorState(handleValidate(value));\n }, [handleValidate, value]);\n\n const handleChange = useCallback(\n (_event, { value: v }) => {\n setValueState(v);\n debouncedHandleValidate(v);\n },\n [debouncedHandleValidate]\n );\n\n const handleBlur = useCallback(\n event => {\n const newVal = val.trim();\n if (newVal === value) {\n return;\n }\n const newError = handleValidate(newVal);\n // set error if there is one, or clear an existing error\n setErrorState(newError);\n if (!newError) {\n // only change value if there is no validation error\n onChange(event, name, newVal);\n }\n },\n [val, value, handleValidate, onChange, name]\n );\n\n const handleKeyPress = useCallback(\n event => {\n if (event.key === 'Enter') {\n handleBlur(event);\n }\n },\n [handleBlur]\n );\n\n const style = useMemo(\n () =>\n !label || label === ''\n ? {\n ...labelStyle,\n }\n : labelStyle,\n [label, labelStyle]\n );\n\n return (\n <ControlGroup\n label={label}\n labelPosition={labelPosition}\n labelWidth={labelWidth}\n style={style}\n hideLabel={hideLabel}\n help={help}\n tooltip={tooltip}\n error={errorState?.message || error}\n isAdvanced={isAdvanced}\n >\n <Text\n key={value}\n data-test={name}\n style={editorStyle}\n onChange={handleChange}\n onKeyDown={handleKeyPress}\n onBlur={handleBlur}\n value={val}\n disabled={isDisabled}\n canClear\n {...otherProps}\n error={!!errorState || error}\n />\n </ControlGroup>\n );\n};\n\nTextEditor.propTypes = {\n /**\n * Callback when changing the text value\n *\n * @param {SyntheticEvent} event The react `SyntheticEvent`\n * @param {string} name The option name\n * @param {string} value The option value\n */\n onChange: T.func.isRequired,\n /**\n * The option name\n */\n name: T.string.isRequired,\n /**\n * A human readable label for the option\n */\n label: T.string.isRequired,\n /**\n * The option value\n */\n value: T.string,\n /**\n * Label position\n */\n labelPosition: T.oneOf(['top', 'left']),\n /**\n * Label width\n */\n labelWidth: T.number,\n /**\n * Styles to be passed to the ControlGroup\n */\n labelStyle: T.object,\n /**\n * Visually hide the label, but render it for screen readers\n */\n hideLabel: T.bool,\n /**\n * As advanced editor to show advanced config button\n */\n isAdvanced: T.bool,\n /**\n * Disabled state of component\n */\n isDisabled: T.bool,\n /**\n * Validate the value of the editor\n */\n validate: T.func,\n /**\n * If the input should display error state\n */\n error: T.bool,\n /**\n * Text to display under the the input\n */\n help: T.string,\n /**\n * Text to display in a tooltip next to the label\n */\n tooltip: T.string,\n};\n\nexport default TextEditor;\n"],"names":["ControlGroupContainer","variables","spacingMedium","StyledToolTip","StyledAdvancedConfigButton","contentColorActive","interactiveColorOverlayDrag","AdvancedConfigButton","label","onClick","content","_","icon","appearance","AdvancedControlGroup","dataTest","children","isAdvanced","hideLabel","labelPosition","labelWidth","tooltip","help","style","error","controlsLayout","onAdvancedConfigButtonClick","Children","toArray","filter","Boolean","map","child","cloneElement","flex","propTypes","T","object","bool","func","editorStyle","width","module","exports","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","call","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","r","Symbol","toStringTag","value","defaultLabelStyle","TextEditor","_ref","onChange","name","labelStyle","isDisabled","validate","otherProps","_objectWithoutProperties","_excluded","val","setValueState","useState","handleValidate","useCallback","newValue","errorState","setErrorState","debouncedHandleValidate","useMemo","debounce","newVal","useEffect","cancel","handleChange","_event","v","handleBlur","event","trim","newError","handleKeyPress","_objectSpread","React","ControlGroup","message","Text","_extends","onKeyDown","onBlur","disabled","canClear","isRequired"],"sourceRoot":""}
@@ -2,7 +2,7 @@
2
2
  * Copyright © 2018 Splunk Inc.
3
3
  * SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
4
4
  * in part without a valid written license from Splunk Inc. is PROHIBITED.
5
- */(()=>{"use strict";var e={4008:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AdvancedConfigButton=void 0;const s=l(r(9497)),i=l(r(23)),d=a(r(232)),c=r(6649),u=a(r(6643)),b=r(3563),p=a(r(6379)),f=a(r(7020)),h=a(r(9250)),m=(0,d.default)(h.default)`
5
+ */(()=>{"use strict";var e={4008:function(e,t,r){var o=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,n)}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return n(t,e),t},a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.AdvancedConfigButton=void 0;const s=l(r(9497)),i=l(r(23)),d=a(r(232)),u=r(6649),c=a(r(6643)),b=r(3563),p=a(r(6379)),h=a(r(7020)),f=a(r(9250)),m=(0,d.default)(f.default)`
6
6
  margin-top: 0;
7
7
  padding: 0;
8
8
  // adjust bottom margin according to theme
@@ -28,60 +28,60 @@
28
28
  display: flex;
29
29
  width: 35px;
30
30
  }
31
- `,v=(0,d.default)(f.default)`
31
+ `,v=(0,d.default)(h.default)`
32
32
  color: ${b.variables.contentColorActive} !important;
33
33
  &:hover {
34
34
  background-color: ${b.variables.interactiveColorOverlayDrag} !important;
35
35
  }
36
- `;t.AdvancedConfigButton=({label:e="",onClick:t})=>s.default.createElement(g,{"data-test":`${e}-advanced-config-button-tooltip`,content:(0,c._)("Advanced configurations")},s.default.createElement(v,{"data-test":`${e}-advanced-config-button`,icon:s.default.createElement(u.default,{"data-test":`${e}-advanced-config-button-icon`}),appearance:"subtle",onClick:t}));const y=({"data-test":e,children:r,isAdvanced:o,label:n,hideLabel:l,labelPosition:a,labelWidth:i,tooltip:d,help:c,style:u,error:b,controlsLayout:p,onClick:f,onAdvancedConfigButtonClick:h})=>s.default.createElement(m,{"data-test":null!=e?e:"control-group",label:n,hideLabel:l,labelPosition:a,labelWidth:i,tooltip:d,help:c,error:b,style:u,onClick:f,controlsLayout:p},o?s.Children.toArray(r).filter(Boolean).map((e=>(0,s.cloneElement)(e,{style:{flex:1}}))):r,o?s.default.createElement(t.AdvancedConfigButton,{label:n,onClick:h}):null);y.propTypes={style:i.object,isAdvanced:i.bool,onClick:i.func,onAdvancedConfigButtonClick:i.func},y.defaultProps={isAdvanced:!1},t.default=y},6195:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8855:e=>{e.exports=require("@splunk/react-icons/Cross")},6643:e=>{e.exports=require("@splunk/react-icons/SlidersDoubleHorizontal")},7020:e=>{e.exports=require("@splunk/react-ui/Button")},7408:e=>{e.exports=require("@splunk/react-ui/Color")},9250:e=>{e.exports=require("@splunk/react-ui/ControlGroup")},2782:e=>{e.exports=require("@splunk/react-ui/Number")},5777:e=>{e.exports=require("@splunk/react-ui/Switch")},6379:e=>{e.exports=require("@splunk/react-ui/Tooltip")},3563:e=>{e.exports=require("@splunk/themes")},4566:e=>{e.exports=require("@splunk/themes/variables")},6649:e=>{e.exports=require("@splunk/ui-utils/i18n")},8987:e=>{e.exports=require("@splunk/ui-utils/id")},3283:e=>{e.exports=require("@splunk/visualizations-shared/colorUtils")},4868:e=>{e.exports=require("lodash/omit")},23:e=>{e.exports=require("prop-types")},9497:e=>{e.exports=require("react")},232:e=>{e.exports=require("styled-components")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var l=t[o]={exports:{}};return e[o].call(l.exports,l,l.exports,r),l.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};(()=>{r.r(o),r.d(o,{default:()=>Ce});var e=r(9497),t=r.n(e),n=r(23),l=r.n(n);const a=require("lodash/cloneDeep");var s=r.n(a),i=r(232),d=r.n(i),c=r(6649),u=r(5777),b=r.n(u),p=r(4008),f=r.n(p),h=r(7020),m=r.n(h),g=r(4566),v=r.n(g);const y=d().div.attrs((()=>({"data-test":"threshold-error"})))`
37
- color: ${v().contentColorNegative};
36
+ `;t.AdvancedConfigButton=({label:e="",onClick:t})=>s.default.createElement(g,{"data-test":`${e}-advanced-config-button-tooltip`,content:(0,u._)("Advanced configurations")},s.default.createElement(v,{"data-test":`${e}-advanced-config-button`,icon:s.default.createElement(c.default,{"data-test":`${e}-advanced-config-button-icon`}),appearance:"subtle",onClick:t}));const y=({"data-test":e,children:r,isAdvanced:o=!1,label:n,hideLabel:l,labelPosition:a,labelWidth:i,tooltip:d,help:u,style:c,error:b,controlsLayout:p,onClick:h,onAdvancedConfigButtonClick:f})=>s.default.createElement(m,{"data-test":null!=e?e:"control-group",label:n,hideLabel:l,labelPosition:a,labelWidth:i,tooltip:d,help:u,error:b,style:c,onClick:h,controlsLayout:p},o?s.Children.toArray(r).filter(Boolean).map((e=>(0,s.cloneElement)(e,{style:{flex:1}}))):r,o?s.default.createElement(t.AdvancedConfigButton,{label:n,onClick:f}):null);y.propTypes={style:i.object,isAdvanced:i.bool,onClick:i.func,onAdvancedConfigButtonClick:i.func},t.default=y},6195:e=>{e.exports=require("@babel/runtime/helpers/defineProperty")},8855:e=>{e.exports=require("@splunk/react-icons/Cross")},6643:e=>{e.exports=require("@splunk/react-icons/SlidersDoubleHorizontal")},7020:e=>{e.exports=require("@splunk/react-ui/Button")},7408:e=>{e.exports=require("@splunk/react-ui/Color")},9250:e=>{e.exports=require("@splunk/react-ui/ControlGroup")},2782:e=>{e.exports=require("@splunk/react-ui/Number")},5777:e=>{e.exports=require("@splunk/react-ui/Switch")},6379:e=>{e.exports=require("@splunk/react-ui/Tooltip")},3563:e=>{e.exports=require("@splunk/themes")},4566:e=>{e.exports=require("@splunk/themes/variables")},3773:e=>{e.exports=require("@splunk/ui-utils/format")},6649:e=>{e.exports=require("@splunk/ui-utils/i18n")},8987:e=>{e.exports=require("@splunk/ui-utils/id")},3283:e=>{e.exports=require("@splunk/visualizations-shared/colorUtils")},4793:e=>{e.exports=require("lodash")},23:e=>{e.exports=require("prop-types")},9497:e=>{e.exports=require("react")},232:e=>{e.exports=require("styled-components")}},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var l=t[o]={exports:{}};return e[o].call(l.exports,l,l.exports,r),l.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};(()=>{r.r(o),r.d(o,{default:()=>fe});var e=r(9497),t=r.n(e),n=r(23),l=r.n(n),a=r(4793),s=r(232),i=r.n(s),d=r(6649),u=r(5777),c=r.n(u),b=r(4008),p=r.n(b),h=r(7020),f=r.n(h),m=r(4566),g=r.n(m),v=r(3773);const y=i().div.attrs((()=>({"data-test":"threshold-error"})))`
37
+ color: ${g().contentColorNegative};
38
38
  padding-top: 5px;
39
39
  font-size: 12px;
40
40
  display: block;
41
- `,C=({error:e,id:r})=>e?t().createElement(y,{id:r},(0,c._)("Error"),": ",e):null;C.propTypes={id:l().string,error:l().string};const E=C;var O=r(2782),k=r.n(O);const x=({"data-test":r,boundary:o,isDisabled:n,isEditable:l,errorId:a,onChange:s,onRequestClose:i,onValidate:d})=>{const[c,u]=(0,e.useState)(o);(0,e.useEffect)((()=>{u(o)}),[o]);const b=(0,e.useCallback)(((e,{value:t})=>{u(t),d(t)}),[d]),p=(0,e.useCallback)((e=>{"Enter"===e.key&&s(c),"Escape"===e.key&&i()}),[c,s,i]),f=(0,e.useCallback)((()=>{s(c)}),[s,c]);return l?t().createElement(k(),{inline:!0,hideStepButtons:!0,disabled:n,value:c||0===c?c:null,onChange:b,onBlur:f,onKeyDown:p,error:!!a,"data-test":r,describedBy:a}):null};x.propTypes={"data-test":l().string,boundary:l().number,isDisabled:l().bool,isEditable:l().bool,errorId:l().string,onChange:l().func,onRequestClose:l().func,onValidate:l().func},x.defaultProps={"data-test":"threshold-boundary-input",isDisabled:!1,isEditable:!0,errorId:void 0,onChange:()=>{},onRequestClose:()=>{},onValidate:()=>{}};const D=x;var w=r(6195),j=r.n(w);r(4868);const P=require("lodash/difference");var T=r.n(P);require("lodash/get");const q=require("lodash/isNaN");var _=r.n(q);const R=require("lodash/uniqBy");var M=r.n(R);function $(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function S(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?$(Object(r),!0).forEach((function(t){j()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):$(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const A=["#dc4e41","#f1813f","#f8be34","#53a051","#0877a6","#006d9c","#ec9960","#af575a","#62b3b2","#4fa484","#f8be44","#5a4575","#708794","#294e70","#b6c75a"];function V(e=[]){if(e.length<2)return console.warn("Invalid threshold configuration: at least 2 thresholds required"),e;const t=e.map((e=>{const t=S({},e);return e.from&&(t.from=+e.from),e.to&&(t.to=+e.to),t})),r=t.filter((e=>void 0===e.from));r.length>1&&console.warn("Invalid threshold configuration: multiple open lower boundaries");const o=t.filter((e=>void 0!==e.from));o.length!==M()(o,"from").length&&console.warn("Invalid threshold configuration: duplicate from values");const n=o.sort(((e,t)=>+t.from-+e.from));if(r.length){const e=r[0];return e.to!==n[n.length-1].from&&(e.to=n[n.length-1].from),n.forEach(((e,t)=>{const r=S({},e);t>0?r.to=n[t-1].from:delete r.to,n[t]=r})),[...n,e]}return n.forEach(((e,t)=>{const r=S({},e);t>0&&(r.to=n[t-1].from),n[t]=r})),n}function B(e="",t=[]){const r=parseFloat(e);return _()(r)||_()(+e)?{error:!0,errorMessage:(0,c._)("Not a valid threshold. Must be a number")}:t.filter((e=>e.from===r)).length>0?{error:!0,errorMessage:(0,c._)("Value already exists")}:{error:!1,errorMessage:null}}const I=d().div.attrs((()=>({"data-test":"add-threshold-level"})))`
41
+ `,C=({error:e,id:r,thresholdIndex:o})=>e?t().createElement(y,{id:r},"number"==typeof o?(0,v.sprintf)((0,d._)("Error for threshold %(thresholdIndex)d : %(error)s"),{thresholdIndex:o,error:e}):(0,v.sprintf)((0,d._)("Error: %(error)s"),{error:e})):null;C.propTypes={id:l().string,error:l().string,thresholdIndex:l().number};const E=C;var x=r(2782),k=r.n(x);const O=({"data-test":r="threshold-boundary-input",boundary:o,isDisabled:n=!1,isEditable:l=!0,errorId:s,onChange:i=a.noop,onRequestClose:u=a.noop,onValidate:c=a.noop,index:b})=>{const[p,h]=(0,e.useState)(o);(0,e.useEffect)((()=>{h(o)}),[o]);const f=(0,e.useCallback)(((e,{value:t})=>{h(t),c(t)}),[c]),m=(0,e.useCallback)((e=>{"Enter"===e.key&&i(p),"Escape"===e.key&&u()}),[p,i,u]),g=(0,e.useCallback)((()=>{i(p)}),[i,p]),y="number"==typeof b?(0,v.sprintf)((0,d._)("Threshold number %(index)d"),{index:b}):(0,d._)("Threshold");return l?t().createElement(k(),{"aria-label":p?(0,v.sprintf)((0,d._)("%(label)s, value %(boundaryValue)d"),{label:y,boundaryValue:p}):(0,v.sprintf)((0,d._)("%(label)s, no value"),{label:y}),inline:!0,hideStepButtons:!0,disabled:n,value:p||0===p?p:null,onChange:f,onBlur:g,onKeyDown:m,error:!!s,"data-test":r,describedBy:s}):null};O.propTypes={"data-test":l().string,boundary:l().number,isDisabled:l().bool,isEditable:l().bool,errorId:l().string,onChange:l().func,onRequestClose:l().func,onValidate:l().func,index:l().number};const D=O;var w=r(6195),j=r.n(w);function _(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function T(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?_(Object(r),!0).forEach((function(t){j()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const q=["#dc4e41","#f1813f","#f8be34","#53a051","#0877a6","#006d9c","#ec9960","#af575a","#62b3b2","#4fa484","#f8be44","#5a4575","#708794","#294e70","#b6c75a"];function P(e=[]){if(e.length<2)return console.warn("Invalid threshold configuration: at least 2 thresholds required"),e;const t=e.map((e=>{const t=T({},e);return e.from&&(t.from=+e.from),e.to&&(t.to=+e.to),t})),r=t.filter((e=>void 0===e.from));r.length>1&&console.warn("Invalid threshold configuration: multiple open lower boundaries");const o=t.filter((e=>void 0!==e.from));o.length!==(0,a.uniqBy)(o,"from").length&&console.warn("Invalid threshold configuration: duplicate from values");const n=o.sort(((e,t)=>+t.from-+e.from));if(r.length){const e=r[0];return e.to!==n[n.length-1].from&&(e.to=n[n.length-1].from),n.forEach(((e,t)=>{const r=T({},e);t>0?r.to=n[t-1].from:delete r.to,n[t]=r})),[...n,e]}return n.forEach(((e,t)=>{const r=T({},e);t>0&&(r.to=n[t-1].from),n[t]=r})),n}function M(e="",t=[]){const r=parseFloat(e);return(0,a.isNaN)(r)||(0,a.isNaN)(+e)?{error:!0,errorMessage:(0,d._)("Not a valid threshold. Must be a number")}:t.filter((e=>e.from===r)).length>0?{error:!0,errorMessage:(0,d._)("Value already exists")}:{error:!1,errorMessage:null}}const R=i().div.attrs((()=>({"data-test":"add-threshold-level"})))`
42
42
  margin-bottom: 10px;
43
- `,F=({thresholds:r,onAddThreshold:o})=>{const[n,l]=(0,e.useState)(!1),[a,s]=(0,e.useState)(null),i=(0,e.useCallback)((()=>{l(!n)}),[n]),d=(0,e.useCallback)((e=>{const t=B(e,r);t.error?s(t.errorMessage):o(e)}),[r,o]),u=(0,e.useCallback)((e=>{const t=B(e,r);t.error&&s(t.errorMessage)}),[r]);return t().createElement(I,null,n?t().createElement(t().Fragment,null,t().createElement(D,{"data-test":"add-threshold-input",isError:!!a,onChange:d,onRequestClose:i,onValidate:u}),t().createElement(E,{error:a})):t().createElement(m(),{appearance:"secondary",onClick:i,label:`+ ${(0,c._)("Add threshold level")}`}))};F.propTypes={onAddThreshold:l().func,thresholds:l().array},F.defaultProps={onAddThreshold:()=>{}};const N=F;var L=r(8855),W=r.n(L),z=r(8987),X=r(3563),U=r(6379),G=r.n(U);const H=d().div`
43
+ `,$=({thresholds:r,onAddThreshold:o=a.noop})=>{const[n,l]=(0,e.useState)(!1),[s,i]=(0,e.useState)(null),u=(0,e.useCallback)((()=>{l(!n)}),[n]),c=(0,e.useCallback)((e=>{const t=M(e,r);t.error?i(t.errorMessage):o(e)}),[r,o]),b=(0,e.useCallback)((e=>{const t=M(e,r);t.error&&i(t.errorMessage)}),[r]);return t().createElement(R,null,n?t().createElement(t().Fragment,null,t().createElement(D,{"data-test":"add-threshold-input",isError:!!s,onChange:c,onRequestClose:u,onValidate:b}),t().createElement(E,{error:s})):t().createElement(f(),{appearance:"secondary",onClick:u,label:`+ ${(0,d._)("Add threshold level")}`}))};$.propTypes={onAddThreshold:l().func,thresholds:l().array};const S=$;var V=r(8855),A=r.n(V),I=r(8987),N=r(3563),B=r(6379),F=r.n(B);const L=i().div`
44
44
  margin-right: 10px;
45
45
  width: 100px;
46
46
  display: inline-block;
47
- `,K=d().div.attrs((()=>({"data-test":"threshold-boundary-label"})))`
47
+ `,W=i().div.attrs((()=>({"data-test":"threshold-boundary-label"})))`
48
48
  flex-grow: 1;
49
49
  flex-direction: row;
50
- `,J=d().span`
50
+ `,z=i().span`
51
51
  line-height: 36px;
52
52
  margin-right: 10px;
53
- color: ${e=>e.isDisabled?v().contentColorDisabled:v().contentColorMuted};
54
- `,Q=d().span`
53
+ color: ${e=>e.isDisabled?g().contentColorDisabled:g().contentColorMuted};
54
+ `,X=i().span`
55
55
  display: inline-block;
56
- color: ${e=>e.isDisabled?v().contentColorDisabled:v().contentColorMuted};
56
+ color: ${e=>e.isDisabled?g().contentColorDisabled:g().contentColorMuted};
57
57
  width: 30px;
58
58
  text-overflow: ellipsis;
59
59
  vertical-align: bottom;
60
60
  overflow: hidden;
61
61
  white-space: nowrap;
62
- `,Y=({describedBy:e,isDisabled:r,to:o})=>t().createElement(Q,{"aria-describedby":e,isDisabled:r},o);Y.propTypes={describedBy:l().any,isDisabled:l().bool,to:l().number};const Z=({isDisabled:e,to:r})=>t().createElement(G(),{content:`${r}`},t().createElement(Y,{to:r,isDisabled:e}));Z.propTypes={isDisabled:l().bool,to:l().number};const ee=({index:e,to:r,isRemovable:o,isEditable:n,onChange:l,isDisabled:a,errorId:s})=>{const i=0===e,d=o?`${(0,c._)("and")} `:"";return n?t().createElement(K,null,t().createElement(J,{isDisabled:a},(0,c._)("to")),t().createElement(H,null,t().createElement(D,{"data-test":"threshold-to-level",boundary:r,isDisabled:a,isEditable:!0,errorId:s,onChange:l}))):t().createElement(K,null,i&&t().createElement(J,{isDisabled:a},(0,c._)("and above")),!i&&t().createElement(t().Fragment,null,t().createElement(J,{isDisabled:a},`${d}${(0,c._)("below")}`),t().createElement(Z,{isDisabled:a,to:r})))};ee.propTypes={to:l().number,index:l().number,isRemovable:l().bool,isEditable:l().bool,isDisabled:l().bool,onChange:l().func,errorId:l().string};const te=ee,re=d().div.attrs((()=>({"data-test":"threshold-level"})))`
62
+ `,U=({describedBy:e,isDisabled:r,to:o})=>t().createElement(X,{"aria-describedby":e,isDisabled:r},o);U.propTypes={describedBy:l().any,isDisabled:l().bool,to:l().number};const G=({isDisabled:e,to:r})=>t().createElement(F(),{content:`${r}`},t().createElement(U,{to:r,isDisabled:e}));G.propTypes={isDisabled:l().bool,to:l().number};const H=({index:e,to:r,isRemovable:o,isEditable:n,onChange:l,isDisabled:a,errorId:s})=>{const i=0===e,u=o?`${(0,d._)("and")} `:"";return n?t().createElement(W,null,t().createElement(z,{isDisabled:a},(0,d._)("to")),t().createElement(L,null,t().createElement(D,{"data-test":"threshold-to-level",boundary:r,isDisabled:a,isEditable:!0,errorId:s,onChange:l}))):t().createElement(W,null,i&&t().createElement(z,{isDisabled:a},(0,d._)("and above")),!i&&t().createElement(t().Fragment,null,t().createElement(z,{isDisabled:a},`${u}${(0,d._)("below")}`),t().createElement(G,{isDisabled:a,to:r})))};H.propTypes={to:l().number,index:l().number,isRemovable:l().bool,isEditable:l().bool,isDisabled:l().bool,onChange:l().func,errorId:l().string};const K=H,J=i().div.attrs((()=>({"data-test":"threshold-level"})))`
63
63
  width: 100%;
64
64
  position: relative;
65
65
  display: flex;
66
66
  align-items: flex-end;
67
67
  margin-bottom: 5px;
68
- `,oe=d().div`
68
+ `,Q=i().div`
69
69
  margin-right: 10px;
70
70
  width: 100px;
71
71
  display: inline-block;
72
- `,ne=d().div`
72
+ `,Y=i().div`
73
73
  display: flex;
74
74
  margin-left: auto;
75
- `,le=d().div`
76
- margin-left: ${X.variables.spacingXSmall};
77
- width: ${X.variables.spacingXXLarge};
78
- `,ae=d()(m())`
79
- color: ${e=>e.disabled?X.variables.contentColorDisabled:X.variables.contentColorActive} !important;
75
+ `,Z=i().div`
76
+ margin-left: ${N.variables.spacingXSmall};
77
+ width: ${N.variables.spacingXXLarge};
78
+ `,ee=i()(f())`
79
+ color: ${e=>e.disabled?N.variables.contentColorDisabled:N.variables.contentColorActive} !important;
80
80
  &:hover {
81
- background-color: ${e=>!e.disabled&&X.variables.interactiveColorOverlayDrag} !important;
81
+ background-color: ${e=>!e.disabled&&N.variables.interactiveColorOverlayDrag} !important;
82
82
  }
83
- `,se=({editFrom:r,editTo:o,editValue:n,error:l,from:a,index:s,isDisabled:i,isRemovable:d,onChange:c,onRemove:u,renderThresholdValueEditor:b,to:p,value:f})=>{const h=(0,e.useCallback)((e=>{(l||e!==a)&&c(s,{from:e,value:f,to:p})}),[c,a,f,p,s,l]),m=(0,e.useCallback)((e=>{(l||e!==p)&&c(s,{from:a,value:f,to:e})}),[c,a,f,p,s,l]),g=(0,e.useCallback)((({value:e})=>{c(s,{from:a,value:e,to:p})}),[c,s,a,p]),v=(0,e.useCallback)((()=>u(s)),[u,s]),y=(0,e.useMemo)((()=>l?(0,z.createDOMID)("threshold-error"):void 0),[l]);return t().createElement(t().Fragment,null,t().createElement(re,null,t().createElement(oe,null,t().createElement(D,{"data-test":"threshold-from-level",boundary:a,isDisabled:i,isEditable:r,errorId:y,onChange:h})),t().createElement(te,{to:p,index:s,isRemovable:d,isEditable:o,isDisabled:i,onChange:m,errorId:y}),t().createElement(ne,null,b({value:f,onChange:g,isDisabled:i||!!l,editValue:n})),t().createElement(le,null,d&&t().createElement(ae,{"data-test":"threshold-remove-button",icon:t().createElement(W(),null),appearance:"subtle",onClick:v,disabled:i}))),t().createElement(E,{error:l,id:y}))};se.propTypes={editFrom:l().bool,editTo:l().bool,editValue:l().bool,error:l().string,from:l().number,index:l().number,isDisabled:l().bool,isRemovable:l().bool,onChange:l().func,onRemove:l().func,renderThresholdValueEditor:l().elementType.isRequired,to:l().number,value:l().string},se.defaultProps={isRemovable:!1,isDisabled:!1};const ie=se;function de(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function ce(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?de(Object(r),!0).forEach((function(t){j()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):de(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const ue=({ranges:r,openRanges:o,isDisabled:n,onChange:l,renderThresholdValueEditor:a})=>{const[i,d]=(0,e.useState)({}),u=(0,e.useCallback)((e=>{const t=s()(r);t.splice(e,1),l(V(t));const o=ce({},i);delete o[e],d(o)}),[i,r,l]),b=(0,e.useCallback)(((e,t)=>{const n=s()(r),a=ce({},i);if(n.splice(e,1,t),delete a[e],!o&&0===e){const r=function(e="",t=""){const r=parseFloat(e),o=parseFloat(t);return _()(r)||_()(+e)||_()(o)||_()(+t)?{error:!0,errorMessage:(0,c._)("Not a valid threshold. Must be a number")}:r<o?{error:!0,errorMessage:(0,c._)("Upper boundary must exceed lower boundary")}:{error:!1,errorMessage:null}}(t.to,t.from);r.error&&(a[e]=r.errorMessage)}if(!o&&0!==e&&t.to<t.from&&t.from>r[0].from&&(n[e].to=t.from+10),!o||e<r.length-1){const o=s()(r);o.splice(e,1);const n=B(t.from,o);n.error&&(a[e]=n.errorMessage)}d(a),Object.keys(a).length||l(V(n))}),[i,r,l,o]),p=!!Object.keys(i).length,f=(0,e.useCallback)((e=>!o&&r.length>1||o&&r.length>2&&e!==r.length-1),[o,r]);return r.map(((e,l)=>t().createElement(ie,{key:`threshold-${e.from}-${e.to}-${e.value}`,onRemove:u,onChange:b,index:l,from:e.from,to:e.to,value:e.value,error:i[l],editFrom:!o||l!==r.length-1,editTo:!o&&0===l,editValue:!p,isRemovable:f(l),isDisabled:n,renderThresholdValueEditor:a})))};ue.propTypes={onChange:l().func.isRequired,ranges:l().arrayOf(l().shape({from:l().number,to:l().number,value:l().string})),isDisabled:l().bool,renderThresholdValueEditor:l().elementType.isRequired,openRanges:l().bool},ue.defaultProps={openRanges:!0,isDisabled:!1,ranges:[]};const be=ue;var pe=r(7408),fe=r.n(pe),he=r(3283);const me=({isDisabled:e,value:r,onChange:o})=>t().createElement(fe(),{disabled:e,value:(0,he.isColor)(r)?r:"transparent",onChange:o,hideInput:!0,palette:A,"data-test":"threshold-level-value"});me.propTypes={isDisabled:l().bool,value:l().string,onChange:l().func.isRequired};const ge=me,ve=d().div`
83
+ `,te=({editFrom:r,editTo:o,editValue:n,error:l,from:a,index:s,isDisabled:i=!1,isRemovable:d=!1,onChange:u,onRemove:c,renderThresholdValueEditor:b,to:p,value:h})=>{const f=(0,e.useCallback)((e=>{(l||e!==a)&&u(s,{from:e,value:h,to:p})}),[u,a,h,p,s,l]),m=(0,e.useCallback)((e=>{(l||e!==p)&&u(s,{from:a,value:h,to:e})}),[u,a,h,p,s,l]),g=(0,e.useCallback)((({value:e})=>{u(s,{from:a,value:e,to:p})}),[u,s,a,p]),v=(0,e.useCallback)((()=>c(s)),[c,s]),y=(0,e.useMemo)((()=>l?(0,I.createDOMID)("threshold-error"):void 0),[l]);return t().createElement(t().Fragment,null,t().createElement(J,null,t().createElement(Q,null,t().createElement(D,{"data-test":"threshold-from-level",boundary:a,isDisabled:i,isEditable:r,errorId:y,onChange:f,index:s})),t().createElement(K,{to:p,index:s,isRemovable:d,isEditable:o,isDisabled:i,onChange:m,errorId:y}),t().createElement(Y,null,b({value:h,onChange:g,isDisabled:i||!!l,editValue:n})),t().createElement(Z,null,d&&t().createElement(ee,{"data-test":"threshold-remove-button",icon:t().createElement(A(),null),appearance:"subtle",onClick:v,disabled:i}))),t().createElement(E,{error:l,id:y,thresholdIndex:s}))};te.propTypes={editFrom:l().bool,editTo:l().bool,editValue:l().bool,error:l().string,from:l().number,index:l().number,isDisabled:l().bool,isRemovable:l().bool,onChange:l().func,onRemove:l().func,renderThresholdValueEditor:l().elementType.isRequired,to:l().number,value:l().string};const re=te;function oe(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function ne(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(r),!0).forEach((function(t){j()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):oe(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}const le=[],ae=({ranges:r=le,openRanges:o=!0,isDisabled:n=!1,onChange:l,renderThresholdValueEditor:s})=>{const[i,u]=(0,e.useState)({}),c=(0,e.useCallback)((e=>{const t=(0,a.cloneDeep)(r);t.splice(e,1),l(P(t));const o=ne({},i);delete o[e],u(o)}),[i,r,l]),b=(0,e.useCallback)(((e,t)=>{const n=(0,a.cloneDeep)(r),s=ne({},i);if(n.splice(e,1,t),delete s[e],!o&&0===e){const r=function(e="",t=""){const r=parseFloat(e),o=parseFloat(t);return(0,a.isNaN)(r)||(0,a.isNaN)(+e)||(0,a.isNaN)(o)||(0,a.isNaN)(+t)?{error:!0,errorMessage:(0,d._)("Not a valid threshold. Must be a number")}:r<o?{error:!0,errorMessage:(0,d._)("Upper boundary must exceed lower boundary")}:{error:!1,errorMessage:null}}(t.to,t.from);r.error&&(s[e]=r.errorMessage)}if(!o&&0!==e&&t.to<t.from&&t.from>r[0].from&&(n[e].to=t.from+10),!o||e<r.length-1){const o=(0,a.cloneDeep)(r);o.splice(e,1);const n=M(t.from,o);n.error&&(s[e]=n.errorMessage)}u(s),Object.keys(s).length||l(P(n))}),[i,r,l,o]),p=!!Object.keys(i).length,h=(0,e.useCallback)((e=>!o&&r.length>1||o&&r.length>2&&e!==r.length-1),[o,r]);return r.map(((e,l)=>t().createElement(re,{key:`threshold-${e.from}-${e.to}-${e.value}`,onRemove:c,onChange:b,index:l,from:e.from,to:e.to,value:e.value,error:i[l],editFrom:!o||l!==r.length-1,editTo:!o&&0===l,editValue:!p,isRemovable:h(l),isDisabled:n,renderThresholdValueEditor:s})))};ae.propTypes={onChange:l().func.isRequired,ranges:l().arrayOf(l().shape({from:l().number,to:l().number,value:l().string})),isDisabled:l().bool,renderThresholdValueEditor:l().elementType.isRequired,openRanges:l().bool};const se=ae;var ie=r(7408),de=r.n(ie),ue=r(3283);const ce=({isDisabled:e,value:r,onChange:o})=>t().createElement(de(),{disabled:e,value:(0,ue.isColor)(r)?r:"transparent",onChange:o,hideInput:!0,palette:q,"data-test":"threshold-level-value"});ce.propTypes={isDisabled:l().bool,value:l().string,onChange:l().func.isRequired};const be=ce,pe=i().div`
84
84
  flex-direction: column;
85
85
  flex-grow: 1;
86
- `,ye=({onChange:r,name:o,itemSchema:n,value:l,labelPosition:a,labelWidth:i,label:d,isDisabled:u,isTogglable:p,openRanges:h,renderThresholdValueEditor:m})=>{const g=Array.isArray(l)&&l.length>0,v=(0,e.useCallback)((()=>{r(null,o,n.default)}),[n,o,r]),y=(0,e.useCallback)((()=>{r(null,o,null)}),[o,r]),C=(0,e.useCallback)((()=>g?y():v()),[g,v,y]),E=(0,e.useCallback)((e=>{const t=s()(l),n={from:e,value:function(e=[]){const t=T()(A,e);return t.length>0?t[0]:"#444000"}(t.map((e=>e.value)))};h||(n.to=e+10),t.push(n);const a=V(t);r(null,o,a)}),[o,l,r,h]),O=(0,e.useCallback)((e=>{r(null,o,e)}),[r,o]);return t().createElement(f(),{label:d,labelPosition:a,labelWidth:i},t().createElement(ve,{"data-test":o},p&&t().createElement(b(),{appearance:"toggle",selected:g,onClick:C,disabled:u,role:"switch"},(0,c._)("Threshold")),g&&t().createElement(t().Fragment,null,!u&&t().createElement(N,{onAddThreshold:E,thresholds:l}),t().createElement(be,{onChange:O,ranges:l,isDisabled:u,openRanges:h,renderThresholdValueEditor:m}))))};ye.propTypes={onChange:l().func.isRequired,name:l().string.isRequired,itemSchema:l().object,value:l().arrayOf(l().shape({from:l().number,to:l().number,value:l().string})),label:l().string.isRequired,labelPosition:l().oneOf(["left","top"]),labelWidth:l().number,isDisabled:l().bool,openRanges:l().bool,renderThresholdValueEditor:l().elementType,isTogglable:l().bool},ye.defaultProps={labelPosition:"top",openRanges:!0,isDisabled:!1,renderThresholdValueEditor:ge,isTogglable:!0};const Ce=ye})(),module.exports=o})();
86
+ `,he=({onChange:r,name:o,itemSchema:n,value:l,labelPosition:s="top",labelWidth:i,label:u,isDisabled:b=!1,isTogglable:h=!0,openRanges:f=!0,renderThresholdValueEditor:m=be})=>{const g=Array.isArray(l)&&l.length>0,v=(0,e.useCallback)((()=>{r(null,o,n.default)}),[n,o,r]),y=(0,e.useCallback)((()=>{r(null,o,null)}),[o,r]),C=(0,e.useCallback)((()=>g?y():v()),[g,v,y]),E=(0,e.useCallback)((e=>{const t=(0,a.cloneDeep)(l),n={from:e,value:function(e=[]){const t=(0,a.difference)(q,e);return t.length>0?t[0]:"#444000"}(t.map((e=>e.value)))};f||(n.to=e+10),t.push(n);const s=P(t);r(null,o,s)}),[o,l,r,f]),x=(0,e.useCallback)((e=>{r(null,o,e)}),[r,o]);return t().createElement(p(),{label:u,labelPosition:s,labelWidth:i},t().createElement(pe,{"data-test":o},h&&t().createElement(c(),{appearance:"toggle",selected:g,onClick:C,disabled:b,role:"switch"},(0,d._)("Threshold")),g&&t().createElement(t().Fragment,null,!b&&t().createElement(S,{onAddThreshold:E,thresholds:l}),t().createElement(se,{onChange:x,ranges:l,isDisabled:b,openRanges:f,renderThresholdValueEditor:m}))))};he.propTypes={onChange:l().func.isRequired,name:l().string.isRequired,itemSchema:l().object,value:l().arrayOf(l().shape({from:l().number,to:l().number,value:l().string})),label:l().string.isRequired,labelPosition:l().oneOf(["left","top"]),labelWidth:l().number,isDisabled:l().bool,openRanges:l().bool,renderThresholdValueEditor:l().elementType,isTogglable:l().bool};const fe=he})(),module.exports=o})();
87
87
  //# sourceMappingURL=ThresholdEditor.js.map