@splunk/dashboard-toolbar 29.1.0 → 29.2.1
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.
- package/CollapsibleToolbar.js +7 -13
- package/CollapsibleToolbar.js.map +2 -2
- package/IconButton.js +4 -5
- package/IconButton.js.map +1 -1
- package/ItemGroup.js +2 -3
- package/ItemGroup.js.map +1 -1
- package/PopoverItemButton.js +1 -2
- package/PopoverItemButton.js.map +1 -1
- package/Toolbar.js +2 -3
- package/Toolbar.js.map +1 -1
- package/buttons/Charts.js +8 -9
- package/buttons/Charts.js.map +1 -1
- package/buttons/Config.js +6 -7
- package/buttons/Config.js.map +1 -1
- package/buttons/ContentExport.js +6 -7
- package/buttons/ContentExport.js.map +1 -1
- package/buttons/Data.js +6 -7
- package/buttons/Data.js.map +1 -1
- package/buttons/EmptyVisualization.js +6 -7
- package/buttons/EmptyVisualization.js.map +1 -1
- package/buttons/ExportDashboardButton.js +2 -3
- package/buttons/ExportDashboardButton.js.map +1 -1
- package/buttons/Fullscreen.js +6 -7
- package/buttons/Fullscreen.js.map +1 -1
- package/buttons/GridLineSwitch.js +2 -3
- package/buttons/GridLineSwitch.js.map +1 -1
- package/buttons/HelpButton.js +6 -7
- package/buttons/HelpButton.js.map +1 -1
- package/buttons/IconGallery.js +6 -7
- package/buttons/IconGallery.js.map +1 -1
- package/buttons/Image.js +6 -7
- package/buttons/Image.js.map +1 -1
- package/buttons/ImageGallery.js +6 -7
- package/buttons/ImageGallery.js.map +1 -1
- package/buttons/Inputs.js +8 -9
- package/buttons/Inputs.js.map +1 -1
- package/buttons/Markdown.js +6 -7
- package/buttons/Markdown.js.map +1 -1
- package/buttons/ModeSwitch.js +2 -3
- package/buttons/ModeSwitch.js.map +1 -1
- package/buttons/Redo.js +6 -7
- package/buttons/Redo.js.map +1 -1
- package/buttons/Shapes.js +7 -8
- package/buttons/Shapes.js.map +1 -1
- package/buttons/Source.js +6 -7
- package/buttons/Source.js.map +1 -1
- package/buttons/Undo.js +6 -7
- package/buttons/Undo.js.map +1 -1
- package/buttons/index.js +220 -188
- package/buttons/index.js.map +4 -4
- package/groups/ActionsGroup.js +4 -5
- package/groups/ActionsGroup.js.map +1 -1
- package/groups/ControlGroup.js +98 -108
- package/groups/ControlGroup.js.map +4 -4
- package/groups/EditingGroup.js +116 -129
- package/groups/EditingGroup.js.map +4 -4
- package/groups/EditorGroup.js +99 -109
- package/groups/EditorGroup.js.map +4 -4
- package/groups/EditorsControlGroup.js +116 -126
- package/groups/EditorsControlGroup.js.map +4 -4
- package/groups/HistoryGroup.js +100 -110
- package/groups/HistoryGroup.js.map +4 -4
- package/groups/SidebarControlGroup.js +102 -112
- package/groups/SidebarControlGroup.js.map +4 -4
- package/groups/VisualizationGroup.js +118 -128
- package/groups/VisualizationGroup.js.map +4 -4
- package/groups/index.js +147 -160
- package/groups/index.js.map +4 -4
- package/index.js +202 -175
- package/index.js.map +4 -4
- package/module/CollapsibleToolbar.js +11 -11
- package/module/IconButton.js +6 -6
- package/module/Item.js +3 -3
- package/module/ItemGroup.js +7 -7
- package/module/PopoverItemButton.js +4 -4
- package/module/Toolbar.js +6 -6
- package/module/buttons/Charts.js +15 -15
- package/module/buttons/Config.js +9 -9
- package/module/buttons/ContentExport.js +9 -9
- package/module/buttons/Data.js +10 -10
- package/module/buttons/EmptyVisualization.js +9 -9
- package/module/buttons/ExportDashboardButton.js +8 -8
- package/module/buttons/Fullscreen.js +9 -9
- package/module/buttons/GridLineSwitch.js +8 -8
- package/module/buttons/HelpButton.js +11 -11
- package/module/buttons/IconGallery.js +11 -11
- package/module/buttons/Image.js +9 -9
- package/module/buttons/ImageGallery.js +12 -12
- package/module/buttons/Inputs.js +11 -11
- package/module/buttons/Markdown.js +8 -8
- package/module/buttons/ModeSwitch.js +9 -9
- package/module/buttons/Redo.js +8 -8
- package/module/buttons/Shapes.js +13 -13
- package/module/buttons/Source.js +8 -8
- package/module/buttons/Undo.js +8 -8
- package/module/buttons/index.js +42 -40
- package/module/chunks/{chunk-HTZYYFJO.js → chunk-2KBENXG3.js} +2 -2
- package/module/chunks/{chunk-ZCC73T4R.js → chunk-2OAGCVHC.js} +7 -8
- package/module/chunks/{chunk-ZCC73T4R.js.map → chunk-2OAGCVHC.js.map} +1 -1
- package/module/chunks/{chunk-CXXSJOFS.js → chunk-2QBSLWJJ.js} +2 -2
- package/module/chunks/chunk-3ZEZCWRH.js +31 -0
- package/module/chunks/{chunk-FLMBGMR4.js.map → chunk-3ZEZCWRH.js.map} +1 -1
- package/module/chunks/{chunk-AD6EIRYL.js → chunk-47MSCQAS.js} +10 -11
- package/module/chunks/{chunk-AD6EIRYL.js.map → chunk-47MSCQAS.js.map} +1 -1
- package/module/chunks/{chunk-LKIWD6NR.js → chunk-4CPQH3IK.js} +11 -12
- package/module/chunks/{chunk-LKIWD6NR.js.map → chunk-4CPQH3IK.js.map} +1 -1
- package/module/chunks/chunk-4NRVBOUP.js +28 -0
- package/module/chunks/{chunk-2G23SAZZ.js.map → chunk-4NRVBOUP.js.map} +1 -1
- package/module/chunks/{chunk-UERW7LTA.js → chunk-4Y6PRJOC.js} +7 -8
- package/module/chunks/{chunk-UERW7LTA.js.map → chunk-4Y6PRJOC.js.map} +1 -1
- package/module/chunks/{chunk-SMDUMR2P.js → chunk-56627Y63.js} +12 -13
- package/module/chunks/{chunk-SMDUMR2P.js.map → chunk-56627Y63.js.map} +1 -1
- package/module/chunks/{chunk-3QT355V5.js → chunk-5D7CUYUH.js} +2 -2
- package/module/chunks/{chunk-AG73TP3S.js → chunk-6MLJBCIJ.js} +9 -12
- package/module/chunks/{chunk-AG73TP3S.js.map → chunk-6MLJBCIJ.js.map} +1 -1
- package/module/chunks/{chunk-GIXERSIF.js → chunk-6SUOFSGJ.js} +9 -10
- package/module/chunks/{chunk-GIXERSIF.js.map → chunk-6SUOFSGJ.js.map} +1 -1
- package/module/chunks/{chunk-3NDLE64O.js → chunk-ACSHFRXI.js} +7 -8
- package/module/chunks/{chunk-3NDLE64O.js.map → chunk-ACSHFRXI.js.map} +1 -1
- package/module/chunks/{chunk-Q4EASNDZ.js → chunk-BSXRAEA2.js} +9 -10
- package/module/chunks/{chunk-Q4EASNDZ.js.map → chunk-BSXRAEA2.js.map} +1 -1
- package/module/chunks/{chunk-SELLU76G.js → chunk-C3NA7YCT.js} +7 -10
- package/module/chunks/{chunk-SELLU76G.js.map → chunk-C3NA7YCT.js.map} +1 -1
- package/module/chunks/{chunk-LATZ7CUV.js → chunk-D27CPPHI.js} +4 -7
- package/module/chunks/{chunk-LATZ7CUV.js.map → chunk-D27CPPHI.js.map} +1 -1
- package/module/chunks/{chunk-HXK4QHPR.js → chunk-FREEN2T3.js} +3 -3
- package/module/chunks/{chunk-I7XN7DKU.js → chunk-GAXH7J77.js} +2 -2
- package/module/chunks/{chunk-5TGHI5GV.js → chunk-GFSNM45K.js} +2 -2
- package/module/chunks/{chunk-E5POXMHH.js → chunk-GJHVIF3J.js} +11 -12
- package/module/chunks/{chunk-E5POXMHH.js.map → chunk-GJHVIF3J.js.map} +1 -1
- package/module/chunks/{chunk-L2MCGOFY.js → chunk-HOKI2CUB.js} +2 -2
- package/module/chunks/{chunk-QPUZLO5O.js → chunk-IIPBKMJD.js} +2 -2
- package/module/chunks/{chunk-JHFAWC4B.js → chunk-IITJ2NKO.js} +8 -9
- package/module/chunks/{chunk-JHFAWC4B.js.map → chunk-IITJ2NKO.js.map} +1 -1
- package/module/chunks/{chunk-KDMM6KX4.js → chunk-JGTSF7O4.js} +8 -9
- package/module/chunks/{chunk-KDMM6KX4.js.map → chunk-JGTSF7O4.js.map} +1 -1
- package/module/chunks/{chunk-3R73WRRN.js → chunk-JOFJS4UX.js} +13 -14
- package/module/chunks/{chunk-3R73WRRN.js.map → chunk-JOFJS4UX.js.map} +1 -1
- package/module/chunks/{chunk-DU4JCIM3.js → chunk-KUPEYUWA.js} +2 -2
- package/module/chunks/{chunk-YBGLF5LF.js → chunk-LGNNSZ2O.js} +13 -14
- package/module/chunks/{chunk-YBGLF5LF.js.map → chunk-LGNNSZ2O.js.map} +1 -1
- package/module/chunks/{chunk-BDLV2ADM.js → chunk-MRXRYL4Y.js} +3 -3
- package/module/chunks/{chunk-2GRHFRZD.js → chunk-MTPPRK4H.js} +14 -15
- package/module/chunks/{chunk-2GRHFRZD.js.map → chunk-MTPPRK4H.js.map} +1 -1
- package/module/chunks/{chunk-ANTP4L4N.js → chunk-MWYPBMHI.js} +13 -14
- package/module/chunks/{chunk-ANTP4L4N.js.map → chunk-MWYPBMHI.js.map} +1 -1
- package/module/chunks/{chunk-WPBXWBTX.js → chunk-NKC5QFQ5.js} +7 -8
- package/module/chunks/{chunk-WPBXWBTX.js.map → chunk-NKC5QFQ5.js.map} +1 -1
- package/module/chunks/{chunk-4L4BWEM7.js → chunk-O74T4JNL.js} +2 -2
- package/module/chunks/{chunk-AIH4ILPH.js → chunk-OQXE7KAJ.js} +9 -12
- package/module/chunks/{chunk-AIH4ILPH.js.map → chunk-OQXE7KAJ.js.map} +1 -1
- package/module/chunks/{chunk-PMXVITCC.js → chunk-OSX3RDKV.js} +2 -2
- package/module/chunks/{chunk-HPEHWRJP.js → chunk-OWHBAX5W.js} +98 -64
- package/module/chunks/chunk-OWHBAX5W.js.map +7 -0
- package/module/chunks/{chunk-5CXOMUN4.js → chunk-PVT2JFAW.js} +6 -7
- package/module/chunks/{chunk-5CXOMUN4.js.map → chunk-PVT2JFAW.js.map} +1 -1
- package/module/chunks/{chunk-3DNLXDXA.js → chunk-Q67T3UVN.js} +8 -9
- package/module/chunks/{chunk-3DNLXDXA.js.map → chunk-Q67T3UVN.js.map} +1 -1
- package/module/chunks/{chunk-TLNR3NED.js → chunk-QPL25LDX.js} +8 -9
- package/module/chunks/{chunk-TLNR3NED.js.map → chunk-QPL25LDX.js.map} +1 -1
- package/module/chunks/{chunk-N3HJVTLY.js → chunk-RIR6YMJC.js} +17 -23
- package/module/chunks/chunk-RIR6YMJC.js.map +7 -0
- package/module/chunks/{chunk-BXDA2XH4.js → chunk-RQY6BB7F.js} +2 -2
- package/module/chunks/{chunk-6L4PTRMO.js → chunk-RZJ2PCV4.js} +2 -2
- package/module/chunks/{chunk-7CJM54O3.js → chunk-UOT4CE2C.js} +8 -11
- package/module/chunks/{chunk-7CJM54O3.js.map → chunk-UOT4CE2C.js.map} +1 -1
- package/module/chunks/{chunk-GUWB2JIP.js → chunk-V756NYFU.js} +10 -11
- package/module/chunks/{chunk-GUWB2JIP.js.map → chunk-V756NYFU.js.map} +1 -1
- package/module/chunks/{chunk-4PUMQWA5.js → chunk-VCWH2JHM.js} +5 -6
- package/module/chunks/{chunk-4PUMQWA5.js.map → chunk-VCWH2JHM.js.map} +1 -1
- package/module/chunks/{chunk-PHOUPWEN.js → chunk-VE4HUG27.js} +2 -2
- package/module/chunks/{chunk-B5OBVUF5.js → chunk-VQIRZ53C.js} +1 -3
- package/module/chunks/{chunk-SRI3BMZH.js → chunk-WADWICSE.js} +9 -10
- package/module/chunks/{chunk-SRI3BMZH.js.map → chunk-WADWICSE.js.map} +1 -1
- package/module/chunks/{chunk-AROBR6WM.js → chunk-X4VCE6GS.js} +10 -11
- package/module/chunks/{chunk-AROBR6WM.js.map → chunk-X4VCE6GS.js.map} +1 -1
- package/module/chunks/{chunk-6VIKADMF.js → chunk-XIZP3DYZ.js} +2 -2
- package/module/chunks/{chunk-BR42RPXM.js → chunk-YMZGQ7CB.js} +8 -9
- package/module/chunks/{chunk-BR42RPXM.js.map → chunk-YMZGQ7CB.js.map} +1 -1
- package/module/chunks/{chunk-SPVRIPCR.js → chunk-ZSBWP6MR.js} +18 -19
- package/module/chunks/{chunk-SPVRIPCR.js.map → chunk-ZSBWP6MR.js.map} +1 -1
- package/module/groups/ActionsGroup.js +7 -7
- package/module/groups/ControlGroup.js +42 -42
- package/module/groups/EditingGroup.js +42 -42
- package/module/groups/EditorGroup.js +42 -42
- package/module/groups/EditorsControlGroup.js +42 -42
- package/module/groups/HistoryGroup.js +42 -42
- package/module/groups/SidebarControlGroup.js +42 -42
- package/module/groups/VisualizationGroup.js +42 -42
- package/module/groups/index.js +49 -49
- package/module/index.js +53 -51
- package/package.json +19 -21
- package/types/CollapsibleToolbar.d.ts.map +1 -1
- package/types/buttons/AIAssistant/AIAssistant.d.ts +3 -0
- package/types/buttons/AIAssistant/AIAssistant.d.ts.map +1 -0
- package/types/buttons/AIAssistant/index.d.ts +2 -0
- package/types/buttons/AIAssistant/index.d.ts.map +1 -0
- package/types/buttons/Zoom/Zoom.d.ts.map +1 -1
- package/types/buttons/index.d.ts +1 -0
- package/types/buttons/index.d.ts.map +1 -1
- package/module/chunks/chunk-2G23SAZZ.js +0 -29
- package/module/chunks/chunk-FLMBGMR4.js +0 -32
- package/module/chunks/chunk-HPEHWRJP.js.map +0 -7
- package/module/chunks/chunk-N3HJVTLY.js.map +0 -7
- /package/module/chunks/{chunk-HTZYYFJO.js.map → chunk-2KBENXG3.js.map} +0 -0
- /package/module/chunks/{chunk-CXXSJOFS.js.map → chunk-2QBSLWJJ.js.map} +0 -0
- /package/module/chunks/{chunk-3QT355V5.js.map → chunk-5D7CUYUH.js.map} +0 -0
- /package/module/chunks/{chunk-HXK4QHPR.js.map → chunk-FREEN2T3.js.map} +0 -0
- /package/module/chunks/{chunk-I7XN7DKU.js.map → chunk-GAXH7J77.js.map} +0 -0
- /package/module/chunks/{chunk-5TGHI5GV.js.map → chunk-GFSNM45K.js.map} +0 -0
- /package/module/chunks/{chunk-L2MCGOFY.js.map → chunk-HOKI2CUB.js.map} +0 -0
- /package/module/chunks/{chunk-QPUZLO5O.js.map → chunk-IIPBKMJD.js.map} +0 -0
- /package/module/chunks/{chunk-DU4JCIM3.js.map → chunk-KUPEYUWA.js.map} +0 -0
- /package/module/chunks/{chunk-BDLV2ADM.js.map → chunk-MRXRYL4Y.js.map} +0 -0
- /package/module/chunks/{chunk-4L4BWEM7.js.map → chunk-O74T4JNL.js.map} +0 -0
- /package/module/chunks/{chunk-PMXVITCC.js.map → chunk-OSX3RDKV.js.map} +0 -0
- /package/module/chunks/{chunk-BXDA2XH4.js.map → chunk-RQY6BB7F.js.map} +0 -0
- /package/module/chunks/{chunk-6L4PTRMO.js.map → chunk-RZJ2PCV4.js.map} +0 -0
- /package/module/chunks/{chunk-PHOUPWEN.js.map → chunk-VE4HUG27.js.map} +0 -0
- /package/module/chunks/{chunk-B5OBVUF5.js.map → chunk-VQIRZ53C.js.map} +0 -0
- /package/module/chunks/{chunk-6VIKADMF.js.map → chunk-XIZP3DYZ.js.map} +0 -0
package/buttons/Shapes.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/buttons/Shapes.tsx", "esm-externals:react", "esm-externals:@splunk/react-ui/Menu", "esm-externals:@splunk/react-icons/Circle", "esm-externals:@splunk/react-icons/Square", "esm-externals:@splunk/react-icons/Line", "esm-externals:@splunk/react-ui/Dropdown", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/react-icons/ShapesVariety", "esm-externals:@splunk/react-ui/Button", "esm-externals:styled-components", "../src/components/StyledButton.tsx", "../src/hooks/useDropdown.ts", "../src/Item.tsx", "../src/PopoverItemButton.tsx", "esm-externals:@splunk/react-icons/CaretDown", "esm-externals:@splunk/react-ui/ScreenReaderContent", "../src/IconButton.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { useCallback } from 'react';\nimport Menu from '@splunk/react-ui/Menu';\nimport Circle from '@splunk/react-icons/Circle';\nimport BoxUnchecked from '@splunk/react-icons/Square';\nimport Line from '@splunk/react-icons/Line';\nimport Dropdown, {\n type DropdownPossibleCloseReason,\n} from '@splunk/react-ui/Dropdown';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport AddShapeDropdown from '@splunk/react-icons/ShapesVariety';\nimport type {\n StructureItemType,\n VisualizationDefinition,\n} from '@splunk/dashboard-types';\nimport { StyledDropdownButton } from '../components/StyledButton';\nimport useDropdown from '../hooks/useDropdown';\nimport ToolbarItem from '../Item';\nimport PopoverItemButton from '../PopoverItemButton';\nimport type { ToolbarButtonProps } from '../types/common';\nimport { prepareIcon } from '../IconButton';\n\nconst shapesDropdown = prepareIcon({\n Icon: AddShapeDropdown,\n screenReaderContent: _('Add shape'),\n isMenu: true,\n});\n\nconst ButtonToggle = (\n <StyledDropdownButton\n appearance=\"subtle\"\n data-clickable\n data-test=\"shapes-button\"\n icon={shapesDropdown}\n />\n);\n\nconst focusToggleReasons: DropdownPossibleCloseReason[] = [\n 'escapeKey',\n 'tabKey',\n];\n\nconst circleIcon = <Circle />;\nconst uncheckedBoxIcon = <BoxUnchecked />;\nconst lineIcon = <Line />;\n\n/**\n * Shapes button that has a dropdown menu.\n */\nconst Shapes = ({ dashboardApi, layoutType }: ToolbarButtonProps) => {\n const supportLine = layoutType === 'absolute';\n\n const { handleRequestClose, handleRequestOpen, isOpen } = useDropdown({\n isContentClickClose: true,\n });\n\n const handleCreateVizButtonClick = useCallback(\n (\n vizToCreate: VisualizationDefinition<Record<string, unknown>>,\n layoutItemType?: StructureItemType\n ) => {\n return () => {\n dashboardApi?.createVisualization({\n visualizationDefinition: vizToCreate,\n layoutItemType,\n });\n dashboardApi?.openPanel({ activePanel: 'config' });\n };\n },\n [dashboardApi]\n );\n\n return (\n <ToolbarItem>\n <Dropdown\n focusToggleReasons={focusToggleReasons}\n onRequestClose={handleRequestClose}\n onRequestOpen={handleRequestOpen}\n open={isOpen}\n toggle={ButtonToggle}\n >\n <Menu data-test=\"shapes-dropdown-children-container\">\n <Menu.Item\n data-test=\"ellipse-button\"\n onClick={handleCreateVizButtonClick({\n type: 'splunk.ellipse',\n })}\n >\n <PopoverItemButton\n icon={circleIcon}\n label={_('Ellipse')}\n />\n </Menu.Item>\n <Menu.Item\n data-test=\"rectangle-button\"\n onClick={handleCreateVizButtonClick({\n type: 'splunk.rectangle',\n })}\n >\n <PopoverItemButton\n icon={uncheckedBoxIcon}\n label={_('Rectangle')}\n />\n </Menu.Item>\n {supportLine && (\n <Menu.Item\n data-test=\"line-button\"\n onClick={handleCreateVizButtonClick(\n {\n type: 'abslayout.line',\n },\n 'line'\n )}\n >\n <PopoverItemButton\n icon={lineIcon}\n label={_('Line')}\n />\n </Menu.Item>\n )}\n </Menu>\n </Dropdown>\n </ToolbarItem>\n );\n};\n\nexport default Shapes;\n", "\nimport * as defaultImport from \"react\";\nexport * from \"react\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Menu\";\nexport * from \"@splunk/react-ui/Menu\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/Circle\";\nexport * from \"@splunk/react-icons/Circle\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/Square\";\nexport * from \"@splunk/react-icons/Square\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/Line\";\nexport * from \"@splunk/react-icons/Line\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Dropdown\";\nexport * from \"@splunk/react-ui/Dropdown\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/ShapesVariety\";\nexport * from \"@splunk/react-icons/ShapesVariety\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Button\";\nexport * from \"@splunk/react-ui/Button\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"styled-components\";\nexport * from \"styled-components\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import Button from '@splunk/react-ui/Button';\nimport styled from 'styled-components';\n\nexport const StyledDropdownButton = styled(Button)`\n max-width: '50px';\n`;\n", "import type { DropdownRequestCloseHandler } from '@splunk/react-ui/Dropdown';\nimport { useCallback, useRef, useState } from 'react';\n\ninterface UseDropdownArgs {\n isContentClickClose?: boolean;\n}\n\ninterface UseDropdownReturn {\n isOpen: boolean;\n handleRequestClose: DropdownRequestCloseHandler;\n handleRequestOpen: () => void;\n handleForceClose: () => void;\n setHasChildModal: (value: boolean) => void;\n}\n\n/**\n * Custom React Hook for the controlled SUI Dropdown component.\n *\n * @param {Object} config\n * @param {Boolean} config.isContentClickClose Control if dropdown children onClick's will close the dropdown automatically\n * @returns {Object} value\n * @returns {Boolean} value.isOpen The only state of this hook\n * @returns {Function} value.handleRequestOpen Event handler to open the dropdown\n * @returns {Function} value.handleRequestClose Event handler that SUI Dropdown calls when requested to close\n * @returns {Function} value.handleForceClose Event handler to forcefully close the dropdown\n */\nconst useDropdown = ({\n isContentClickClose = true,\n}: UseDropdownArgs): UseDropdownReturn => {\n const [isOpen, setIsOpen] = useState(false);\n const hasChildModal = useRef(false);\n\n const handleRequestClose = useCallback<DropdownRequestCloseHandler>(\n ({ reason }) => {\n if (reason === 'contentClick' && !isContentClickClose) {\n // This return results in the dropdown not closing.\n return;\n }\n\n // If there is a child modal then don't close the root on ESC press\n if (reason === 'escapeKey' && hasChildModal.current) {\n return;\n }\n\n setIsOpen(false);\n },\n [isContentClickClose]\n );\n\n const handleRequestOpen = useCallback(() => {\n setIsOpen(true);\n }, []);\n\n const handleForceClose = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const setHasChildModal = useCallback((value: boolean) => {\n hasChildModal.current = value;\n }, []);\n\n return {\n isOpen,\n handleRequestOpen,\n handleRequestClose,\n handleForceClose,\n setHasChildModal,\n };\n};\n\nexport default useDropdown;\n", "import styled from 'styled-components';\n\nexport default styled.div``;\n", "import React from 'react';\nimport styled from 'styled-components';\nimport type { ToolbarButtonProps } from './types/common';\n\nconst StyledContentWrapper = styled.span`\n display: flex;\n flex-direction: row;\n justify-content: left;\n align-items: center;\n max-width: 100%;\n`;\n\nconst StyledIcon = styled.span`\n display: inline-block;\n padding-right: 8px;\n`;\n\nconst StyledLabel = styled.span`\n text-overflow: ellipsis;\n overflow: hidden;\n flex: 0 1 auto;\n`;\n\nexport interface PopoverItemButtonProps extends ToolbarButtonProps {\n icon: JSX.Element;\n label?: string;\n}\n\n/**\n * Custom button component for popovers created for specific styling - aligning text to the left\n */\nconst PopoverItemButton = ({ icon, label }: PopoverItemButtonProps) => (\n <StyledContentWrapper>\n {icon && <StyledIcon>{icon}</StyledIcon>}\n {label && <StyledLabel data-test=\"label-title\">{label}</StyledLabel>}\n </StyledContentWrapper>\n);\n\nexport default PopoverItemButton;\n", "\nimport * as defaultImport from \"@splunk/react-icons/CaretDown\";\nexport * from \"@splunk/react-icons/CaretDown\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/ScreenReaderContent\";\nexport * from \"@splunk/react-ui/ScreenReaderContent\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import React from 'react';\nimport type SVG from '@splunk/react-icons/SVG';\nimport DropdownIcon from '@splunk/react-icons/CaretDown';\nimport ScreenReaderContent from '@splunk/react-ui/ScreenReaderContent';\nimport Button, { type ButtonPropsBase } from '@splunk/react-ui/Button';\nimport styled from 'styled-components';\nimport ToolbarItem from './Item';\nimport type { ToolbarButtonProps } from './types/common';\n\nconst StyledDropdownIcon = styled(DropdownIcon)`\n margin-left: -5px;\n`;\n\nexport const iconSize = 24;\nexport const menuIconSize = 20;\n\ninterface PrepareIconProps extends React.ComponentProps<typeof SVG> {\n Icon: React.ComponentType<React.ComponentProps<typeof SVG>>;\n screenReaderContent?: string;\n isMenu?: boolean;\n variant?: 'filled' | 'outline' | 'none';\n}\n\n/**\n * Button adds a bunch of padding when there's any child elements even if they don't display anything (screenReaderContent)\n * This bundles the primary icon, a menu caret and screenReaderContent as an icon when needed.\n * Additionally accepts any properties of any react-icons element to be applied to primary icon\n * @param {Object} arg\n * @param {React.ElementType} arg.Icon The primary icon\n * @param {boolean} [arg.isMenu=false] Display a menu caret\n * @param {string} [arg.screenReaderContent] A label for the icon\n * @param {string} [arg.variant] Fill the icon, or not\n * @returns {JSX.Element}\n */\nexport const prepareIcon = ({\n Icon,\n screenReaderContent,\n isMenu = false,\n ...props\n}: PrepareIconProps) => {\n const size = isMenu ? menuIconSize : iconSize;\n return (\n <>\n <Icon width={size} height={size} {...props} />\n {isMenu && (\n <StyledDropdownIcon variant=\"filled\" width={9} height={size} />\n )}\n {screenReaderContent && (\n <ScreenReaderContent>{screenReaderContent}</ScreenReaderContent>\n )}\n </>\n );\n};\n\nexport interface IconButtonProps extends ToolbarButtonProps {\n icon?: JSX.Element;\n onClick?: ButtonPropsBase['onClick'];\n label?: string;\n buttonRef?: React.RefObject<HTMLButtonElement>;\n testLabel?: string;\n disabled?: boolean;\n}\n\nconst IconButton = ({\n icon,\n buttonRef,\n disabled = false,\n onClick,\n label,\n testLabel,\n ...rest\n}: IconButtonProps): JSX.Element => {\n return (\n <ToolbarItem {...rest}>\n <Button\n elementRef={buttonRef}\n onClick={onClick}\n disabled={disabled}\n appearance=\"subtle\"\n icon={icon}\n label={label}\n data-test={testLabel}\n data-clickable\n />\n </ToolbarItem>\n );\n};\n\nexport default IconButton;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport"]
|
|
7
7
|
}
|
package/buttons/Source.js
CHANGED
|
@@ -22,7 +22,6 @@ var __spreadValues = (a, b) => {
|
|
|
22
22
|
}
|
|
23
23
|
return a;
|
|
24
24
|
};
|
|
25
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
26
25
|
var __objRest = (source, exclude) => {
|
|
27
26
|
var target = {};
|
|
28
27
|
for (var prop in source)
|
|
@@ -137,7 +136,7 @@ var StyledDropdownIcon = styled_components_default(CaretDown_default)`
|
|
|
137
136
|
`;
|
|
138
137
|
var iconSize = 24;
|
|
139
138
|
var menuIconSize = 20;
|
|
140
|
-
var prepareIcon =
|
|
139
|
+
var prepareIcon = (_a) => {
|
|
141
140
|
var _b = _a, {
|
|
142
141
|
Icon,
|
|
143
142
|
screenReaderContent,
|
|
@@ -149,8 +148,8 @@ var prepareIcon = /* @__PURE__ */ __name((_a) => {
|
|
|
149
148
|
]);
|
|
150
149
|
const size = isMenu ? menuIconSize : iconSize;
|
|
151
150
|
return /* @__PURE__ */ react_default.createElement(react_default.Fragment, null, /* @__PURE__ */ react_default.createElement(Icon, __spreadValues({ width: size, height: size }, props)), isMenu && /* @__PURE__ */ react_default.createElement(StyledDropdownIcon, { variant: "filled", width: 9, height: size }), screenReaderContent && /* @__PURE__ */ react_default.createElement(ScreenReaderContent_default, null, screenReaderContent));
|
|
152
|
-
}
|
|
153
|
-
var IconButton =
|
|
151
|
+
};
|
|
152
|
+
var IconButton = (_a) => {
|
|
154
153
|
var _b = _a, {
|
|
155
154
|
icon: icon2,
|
|
156
155
|
buttonRef,
|
|
@@ -179,7 +178,7 @@ var IconButton = /* @__PURE__ */ __name((_a) => {
|
|
|
179
178
|
"data-clickable": true
|
|
180
179
|
}
|
|
181
180
|
));
|
|
182
|
-
}
|
|
181
|
+
};
|
|
183
182
|
var IconButton_default = IconButton;
|
|
184
183
|
|
|
185
184
|
// src/buttons/Source.tsx
|
|
@@ -187,7 +186,7 @@ var icon = prepareIcon({
|
|
|
187
186
|
Icon: WindowChevronsSlash_default,
|
|
188
187
|
screenReaderContent: (0, i18n_exports._)("Source code")
|
|
189
188
|
});
|
|
190
|
-
var Source =
|
|
189
|
+
var Source = ({ disabled = false, onClick }) => /* @__PURE__ */ react_default.createElement(
|
|
191
190
|
IconButton_default,
|
|
192
191
|
{
|
|
193
192
|
testLabel: "source-button",
|
|
@@ -195,6 +194,6 @@ var Source = /* @__PURE__ */ __name(({ disabled = false, onClick }) => /* @__PUR
|
|
|
195
194
|
disabled,
|
|
196
195
|
icon
|
|
197
196
|
}
|
|
198
|
-
)
|
|
197
|
+
);
|
|
199
198
|
var Source_default = Source;
|
|
200
199
|
//# sourceMappingURL=Source.js.map
|
package/buttons/Source.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/buttons/Source.tsx", "esm-externals:react", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/react-icons/WindowChevronsSlash", "esm-externals:@splunk/react-icons/CaretDown", "esm-externals:@splunk/react-ui/ScreenReaderContent", "esm-externals:@splunk/react-ui/Button", "esm-externals:styled-components", "../src/Item.tsx", "../src/IconButton.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { type ComponentProps } from 'react';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport SourceIcon from '@splunk/react-icons/WindowChevronsSlash';\nimport IconButton, { prepareIcon } from '../IconButton';\nimport type { ToolbarButtonProps } from '../types/common';\n\nexport interface SourceProps extends ToolbarButtonProps {\n onClick?: ComponentProps<typeof IconButton>['onClick'];\n disabled?: boolean;\n}\n\nconst icon = prepareIcon({\n Icon: SourceIcon,\n screenReaderContent: _('Source code'),\n});\n\n/**\n * Button that toggle source mode\n */\nconst Source = ({ disabled = false, onClick }: SourceProps) => (\n <IconButton\n testLabel=\"source-button\"\n onClick={onClick}\n disabled={disabled}\n icon={icon}\n />\n);\n\nexport default Source;\n", "\nimport * as defaultImport from \"react\";\nexport * from \"react\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/WindowChevronsSlash\";\nexport * from \"@splunk/react-icons/WindowChevronsSlash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/CaretDown\";\nexport * from \"@splunk/react-icons/CaretDown\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/ScreenReaderContent\";\nexport * from \"@splunk/react-ui/ScreenReaderContent\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Button\";\nexport * from \"@splunk/react-ui/Button\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"styled-components\";\nexport * from \"styled-components\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import styled from 'styled-components';\n\nexport default styled.div``;\n", "import React from 'react';\nimport type SVG from '@splunk/react-icons/SVG';\nimport DropdownIcon from '@splunk/react-icons/CaretDown';\nimport ScreenReaderContent from '@splunk/react-ui/ScreenReaderContent';\nimport Button, { type ButtonPropsBase } from '@splunk/react-ui/Button';\nimport styled from 'styled-components';\nimport ToolbarItem from './Item';\nimport type { ToolbarButtonProps } from './types/common';\n\nconst StyledDropdownIcon = styled(DropdownIcon)`\n margin-left: -5px;\n`;\n\nexport const iconSize = 24;\nexport const menuIconSize = 20;\n\ninterface PrepareIconProps extends React.ComponentProps<typeof SVG> {\n Icon: React.ComponentType<React.ComponentProps<typeof SVG>>;\n screenReaderContent?: string;\n isMenu?: boolean;\n variant?: 'filled' | 'outline' | 'none';\n}\n\n/**\n * Button adds a bunch of padding when there's any child elements even if they don't display anything (screenReaderContent)\n * This bundles the primary icon, a menu caret and screenReaderContent as an icon when needed.\n * Additionally accepts any properties of any react-icons element to be applied to primary icon\n * @param {Object} arg\n * @param {React.ElementType} arg.Icon The primary icon\n * @param {boolean} [arg.isMenu=false] Display a menu caret\n * @param {string} [arg.screenReaderContent] A label for the icon\n * @param {string} [arg.variant] Fill the icon, or not\n * @returns {JSX.Element}\n */\nexport const prepareIcon = ({\n Icon,\n screenReaderContent,\n isMenu = false,\n ...props\n}: PrepareIconProps) => {\n const size = isMenu ? menuIconSize : iconSize;\n return (\n <>\n <Icon width={size} height={size} {...props} />\n {isMenu && (\n <StyledDropdownIcon variant=\"filled\" width={9} height={size} />\n )}\n {screenReaderContent && (\n <ScreenReaderContent>{screenReaderContent}</ScreenReaderContent>\n )}\n </>\n );\n};\n\nexport interface IconButtonProps extends ToolbarButtonProps {\n icon?: JSX.Element;\n onClick?: ButtonPropsBase['onClick'];\n label?: string;\n buttonRef?: React.RefObject<HTMLButtonElement>;\n testLabel?: string;\n disabled?: boolean;\n}\n\nconst IconButton = ({\n icon,\n buttonRef,\n disabled = false,\n onClick,\n label,\n testLabel,\n ...rest\n}: IconButtonProps): JSX.Element => {\n return (\n <ToolbarItem {...rest}>\n <Button\n elementRef={buttonRef}\n onClick={onClick}\n disabled={disabled}\n appearance=\"subtle\"\n icon={icon}\n label={label}\n data-test={testLabel}\n data-clickable\n />\n </ToolbarItem>\n );\n};\n\nexport default IconButton;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;AAAA;AAAA;AAAA;AACA,oBAA+B;AAC/B,0BAAc;AACd,IAAO,gBAAS,aAAa,gBAA8B,wBAAU;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAA,iBAA+B;AAC/B,yBAAc;AACd,IAAO,eAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,wCAAc;AACd,IAAO,8BAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,8BAAc;AACd,IAAO,oBAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,wCAAc;AACd,IAAO,8BAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,2BAAc;AACd,IAAO,iBAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,sCAAc;AACd,IAAO,4BAAS,aAAaA,iBAA8B,yBAAUA;;;ACDrE,IAAO,eAAQ,0BAAO;;;ACOtB,IAAM,qBAAqB,0BAAO,iBAAY;AAAA;AAAA;AAIvC,IAAM,WAAW;AACjB,IAAM,eAAe;AAoBrB,IAAM,cAAc,CAAC,OAKJ;AALI,eACxB;AAAA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EArCb,IAkC4B,IAIrB,kBAJqB,IAIrB;AAAA,IAHH;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,OAAO,SAAS,eAAe;AACrC,SACI,0EACI,4CAAC,uBAAK,OAAO,MAAM,QAAQ,QAAU,MAAO,GAC3C,UACG,4CAAC,sBAAmB,SAAQ,UAAS,OAAO,GAAG,QAAQ,MAAM,GAEhE,uBACG,4CAAC,mCAAqB,mBAAoB,CAElD;AAER;AAWA,IAAM,aAAa,CAAC,OAQgB;AARhB,eAChB;AAAA,UAAAC;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,EArEJ,IA+DoB,IAOb,iBAPa,IAOb;AAAA,IANH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,SACI,4CAAC,iCAAgB,OACb;AAAA,IAAC;AAAA;AAAA,MACG,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA,YAAW;AAAA,MACX,MAAMA;AAAA,MACN;AAAA,MACA,aAAW;AAAA,MACX,kBAAc;AAAA;AAAA,EAClB,CACJ;AAER;AAEA,IAAO,qBAAQ;;;AT7Ef,IAAM,OAAO,YAAY;AAAA,EACrB,MAAM;AAAA,EACN,yBAAqB,gBAAE,aAAa;AACxC,CAAC;AAKD,IAAM,SAAS,CAAC,EAAE,WAAW,OAAO,QAAQ,MACxC;AAAA,EAAC;AAAA;AAAA,IACG,WAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA;AACJ;AAGJ,IAAO,iBAAQ;",
|
|
6
6
|
"names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "icon"]
|
|
7
7
|
}
|
package/buttons/Undo.js
CHANGED
|
@@ -22,7 +22,6 @@ var __spreadValues = (a, b) => {
|
|
|
22
22
|
}
|
|
23
23
|
return a;
|
|
24
24
|
};
|
|
25
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
26
25
|
var __objRest = (source, exclude) => {
|
|
27
26
|
var target = {};
|
|
28
27
|
for (var prop in source)
|
|
@@ -137,7 +136,7 @@ var StyledDropdownIcon = styled_components_default(CaretDown_default)`
|
|
|
137
136
|
`;
|
|
138
137
|
var iconSize = 24;
|
|
139
138
|
var menuIconSize = 20;
|
|
140
|
-
var prepareIcon =
|
|
139
|
+
var prepareIcon = (_a) => {
|
|
141
140
|
var _b = _a, {
|
|
142
141
|
Icon,
|
|
143
142
|
screenReaderContent,
|
|
@@ -149,8 +148,8 @@ var prepareIcon = /* @__PURE__ */ __name((_a) => {
|
|
|
149
148
|
]);
|
|
150
149
|
const size = isMenu ? menuIconSize : iconSize;
|
|
151
150
|
return /* @__PURE__ */ react_default.createElement(react_default.Fragment, null, /* @__PURE__ */ react_default.createElement(Icon, __spreadValues({ width: size, height: size }, props)), isMenu && /* @__PURE__ */ react_default.createElement(StyledDropdownIcon, { variant: "filled", width: 9, height: size }), screenReaderContent && /* @__PURE__ */ react_default.createElement(ScreenReaderContent_default, null, screenReaderContent));
|
|
152
|
-
}
|
|
153
|
-
var IconButton =
|
|
151
|
+
};
|
|
152
|
+
var IconButton = (_a) => {
|
|
154
153
|
var _b = _a, {
|
|
155
154
|
icon: icon2,
|
|
156
155
|
buttonRef,
|
|
@@ -179,7 +178,7 @@ var IconButton = /* @__PURE__ */ __name((_a) => {
|
|
|
179
178
|
"data-clickable": true
|
|
180
179
|
}
|
|
181
180
|
));
|
|
182
|
-
}
|
|
181
|
+
};
|
|
183
182
|
var IconButton_default = IconButton;
|
|
184
183
|
|
|
185
184
|
// src/buttons/Undo.tsx
|
|
@@ -187,7 +186,7 @@ var icon = prepareIcon({
|
|
|
187
186
|
Icon: ArrowBowLeft_default,
|
|
188
187
|
screenReaderContent: (0, i18n_exports._)("Undo")
|
|
189
188
|
});
|
|
190
|
-
var Undo =
|
|
189
|
+
var Undo = ({ dashboardApi }) => {
|
|
191
190
|
const [canUndo, setCanUndo] = (0, react_exports.useState)(
|
|
192
191
|
() => {
|
|
193
192
|
var _a;
|
|
@@ -223,6 +222,6 @@ var Undo = /* @__PURE__ */ __name(({ dashboardApi }) => {
|
|
|
223
222
|
icon
|
|
224
223
|
}
|
|
225
224
|
);
|
|
226
|
-
}
|
|
225
|
+
};
|
|
227
226
|
var Undo_default = Undo;
|
|
228
227
|
//# sourceMappingURL=Undo.js.map
|
package/buttons/Undo.js.map
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/buttons/Undo.tsx", "esm-externals:react", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/react-icons/ArrowBowLeft", "esm-externals:@splunk/react-icons/CaretDown", "esm-externals:@splunk/react-ui/ScreenReaderContent", "esm-externals:@splunk/react-ui/Button", "esm-externals:styled-components", "../src/Item.tsx", "../src/IconButton.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { useCallback, useEffect, useState } from 'react';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport UndoIcon from '@splunk/react-icons/ArrowBowLeft';\nimport IconButton, { prepareIcon } from '../IconButton';\nimport type { ToolbarButtonProps } from '../types/common';\n\nconst icon = prepareIcon({\n Icon: UndoIcon,\n screenReaderContent: _('Undo'),\n});\n\nconst Undo = ({ dashboardApi }: ToolbarButtonProps) => {\n // TODO: replace when history management is done in redux\n // mode changes can cause the button to mount while there is an undo state\n const [canUndo, setCanUndo] = useState(\n () => dashboardApi?.canUndo() ?? false\n );\n\n const onDefinitionChange = useCallback(() => {\n setCanUndo(dashboardApi?.canUndo() ?? false);\n }, [dashboardApi]);\n\n useEffect(() => {\n if (!dashboardApi?.historyManager) {\n return () => undefined;\n }\n // Dirty hack to get the history manager.\n return dashboardApi.historyManager.subscribe({\n onAdd: onDefinitionChange,\n onUndo: onDefinitionChange,\n onRedo: onDefinitionChange,\n });\n }, [dashboardApi, onDefinitionChange]);\n\n const handleClick = useCallback(() => {\n if (!dashboardApi) {\n return;\n }\n\n dashboardApi.undo({ source: 'toolbar' });\n }, [dashboardApi]);\n\n return (\n <IconButton\n testLabel=\"undo-button\"\n onClick={handleClick}\n disabled={!canUndo}\n icon={icon}\n />\n );\n};\n\nexport default Undo;\n", "\nimport * as defaultImport from \"react\";\nexport * from \"react\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/ArrowBowLeft\";\nexport * from \"@splunk/react-icons/ArrowBowLeft\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/CaretDown\";\nexport * from \"@splunk/react-icons/CaretDown\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/ScreenReaderContent\";\nexport * from \"@splunk/react-ui/ScreenReaderContent\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-ui/Button\";\nexport * from \"@splunk/react-ui/Button\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"styled-components\";\nexport * from \"styled-components\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import styled from 'styled-components';\n\nexport default styled.div``;\n", "import React from 'react';\nimport type SVG from '@splunk/react-icons/SVG';\nimport DropdownIcon from '@splunk/react-icons/CaretDown';\nimport ScreenReaderContent from '@splunk/react-ui/ScreenReaderContent';\nimport Button, { type ButtonPropsBase } from '@splunk/react-ui/Button';\nimport styled from 'styled-components';\nimport ToolbarItem from './Item';\nimport type { ToolbarButtonProps } from './types/common';\n\nconst StyledDropdownIcon = styled(DropdownIcon)`\n margin-left: -5px;\n`;\n\nexport const iconSize = 24;\nexport const menuIconSize = 20;\n\ninterface PrepareIconProps extends React.ComponentProps<typeof SVG> {\n Icon: React.ComponentType<React.ComponentProps<typeof SVG>>;\n screenReaderContent?: string;\n isMenu?: boolean;\n variant?: 'filled' | 'outline' | 'none';\n}\n\n/**\n * Button adds a bunch of padding when there's any child elements even if they don't display anything (screenReaderContent)\n * This bundles the primary icon, a menu caret and screenReaderContent as an icon when needed.\n * Additionally accepts any properties of any react-icons element to be applied to primary icon\n * @param {Object} arg\n * @param {React.ElementType} arg.Icon The primary icon\n * @param {boolean} [arg.isMenu=false] Display a menu caret\n * @param {string} [arg.screenReaderContent] A label for the icon\n * @param {string} [arg.variant] Fill the icon, or not\n * @returns {JSX.Element}\n */\nexport const prepareIcon = ({\n Icon,\n screenReaderContent,\n isMenu = false,\n ...props\n}: PrepareIconProps) => {\n const size = isMenu ? menuIconSize : iconSize;\n return (\n <>\n <Icon width={size} height={size} {...props} />\n {isMenu && (\n <StyledDropdownIcon variant=\"filled\" width={9} height={size} />\n )}\n {screenReaderContent && (\n <ScreenReaderContent>{screenReaderContent}</ScreenReaderContent>\n )}\n </>\n );\n};\n\nexport interface IconButtonProps extends ToolbarButtonProps {\n icon?: JSX.Element;\n onClick?: ButtonPropsBase['onClick'];\n label?: string;\n buttonRef?: React.RefObject<HTMLButtonElement>;\n testLabel?: string;\n disabled?: boolean;\n}\n\nconst IconButton = ({\n icon,\n buttonRef,\n disabled = false,\n onClick,\n label,\n testLabel,\n ...rest\n}: IconButtonProps): JSX.Element => {\n return (\n <ToolbarItem {...rest}>\n <Button\n elementRef={buttonRef}\n onClick={onClick}\n disabled={disabled}\n appearance=\"subtle\"\n icon={icon}\n label={label}\n data-test={testLabel}\n data-clickable\n />\n </ToolbarItem>\n );\n};\n\nexport default IconButton;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "icon"]
|
|
7
7
|
}
|