@splunk/dashboard-toolbar 29.1.0 → 29.3.0
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 +9 -17
- package/buttons/ExportDashboardButton.js.map +4 -4
- 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 -9
- package/buttons/HelpButton.js.map +2 -2
- 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 +44 -22
- package/buttons/Source.js.map +4 -4
- package/buttons/Undo.js +6 -7
- package/buttons/Undo.js.map +1 -1
- package/buttons/index.js +343 -204
- package/buttons/index.js.map +4 -4
- package/groups/ActionsGroup.js +4 -5
- package/groups/ActionsGroup.js.map +1 -1
- package/groups/ControlGroup.js +111 -106
- package/groups/ControlGroup.js.map +4 -4
- package/groups/EditingGroup.js +129 -127
- package/groups/EditingGroup.js.map +4 -4
- package/groups/EditorGroup.js +133 -114
- package/groups/EditorGroup.js.map +4 -4
- package/groups/EditorsControlGroup.js +150 -131
- package/groups/EditorsControlGroup.js.map +4 -4
- package/groups/HistoryGroup.js +113 -108
- package/groups/HistoryGroup.js.map +4 -4
- package/groups/SidebarControlGroup.js +115 -110
- package/groups/SidebarControlGroup.js.map +4 -4
- package/groups/VisualizationGroup.js +131 -126
- package/groups/VisualizationGroup.js.map +4 -4
- package/groups/index.js +181 -165
- package/groups/index.js.map +4 -4
- package/index.js +327 -193
- 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 +7 -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 +9 -8
- package/module/buttons/Undo.js +8 -8
- package/module/buttons/index.js +44 -40
- package/module/chunks/{chunk-HTZYYFJO.js → chunk-2KBENXG3.js} +2 -2
- package/module/chunks/{chunk-CXXSJOFS.js → chunk-2QBSLWJJ.js} +2 -2
- package/module/chunks/{chunk-LKIWD6NR.js → chunk-3MBRWVZS.js} +11 -14
- package/module/chunks/chunk-3MBRWVZS.js.map +7 -0
- 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-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-TLNR3NED.js → chunk-5FZAZ2XU.js} +8 -9
- package/module/chunks/{chunk-TLNR3NED.js.map → chunk-5FZAZ2XU.js.map} +1 -1
- 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-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-ZCC73T4R.js → chunk-K4QITIOD.js} +31 -15
- package/module/chunks/chunk-K4QITIOD.js.map +7 -0
- package/module/chunks/{chunk-DU4JCIM3.js → chunk-KUPEYUWA.js} +2 -2
- package/module/chunks/{chunk-GUWB2JIP.js → chunk-L3N7HHJU.js} +10 -11
- package/module/chunks/{chunk-GUWB2JIP.js.map → chunk-L3N7HHJU.js.map} +1 -1
- 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-MFIWFQAS.js +31 -0
- package/module/chunks/{chunk-FLMBGMR4.js.map → chunk-MFIWFQAS.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-ODHRJQTV.js} +11 -15
- package/module/chunks/chunk-ODHRJQTV.js.map +7 -0
- package/module/chunks/{chunk-PMXVITCC.js → chunk-OSX3RDKV.js} +2 -2
- package/module/chunks/{chunk-E5POXMHH.js → chunk-PMZ2AWNS.js} +11 -12
- package/module/chunks/{chunk-E5POXMHH.js.map → chunk-PMZ2AWNS.js.map} +1 -1
- 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-HPEHWRJP.js → chunk-QSKQE2FQ.js} +190 -62
- package/module/chunks/chunk-QSKQE2FQ.js.map +7 -0
- 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-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 +55 -51
- package/package.json +24 -26
- 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/Display/Display.d.ts +8 -0
- package/types/buttons/Display/Display.d.ts.map +1 -0
- package/types/buttons/Display/index.d.ts +2 -0
- package/types/buttons/Display/index.d.ts.map +1 -0
- package/types/buttons/ExportDashboardButton.d.ts.map +1 -1
- package/types/buttons/HelpButton.d.ts.map +1 -1
- package/types/buttons/Source.d.ts +1 -1
- package/types/buttons/Source.d.ts.map +1 -1
- package/types/buttons/Zoom/Zoom.d.ts.map +1 -1
- package/types/buttons/index.d.ts +2 -0
- package/types/buttons/index.d.ts.map +1 -1
- package/module/chunks/chunk-2G23SAZZ.js +0 -29
- package/module/chunks/chunk-AIH4ILPH.js.map +0 -7
- package/module/chunks/chunk-FLMBGMR4.js +0 -32
- package/module/chunks/chunk-HPEHWRJP.js.map +0 -7
- package/module/chunks/chunk-LKIWD6NR.js.map +0 -7
- package/module/chunks/chunk-N3HJVTLY.js.map +0 -7
- package/module/chunks/chunk-ZCC73T4R.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
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["esm-externals:@splunk/react-ui/Tooltip", "../../src/buttons/AIAssistant/AIAssistant.tsx", "esm-externals:@splunk/react-icons/Checkmark", "../../src/buttons/Display/Display.tsx", "esm-externals:@splunk/react-icons/ListToken", "../../src/buttons/tokenManager/TokenManager.tsx", "esm-externals:@splunk/ui-utils/format", "../../src/buttons/Zoom/ZoomMenu.tsx", "esm-externals:@splunk/react-ui/Number", "../../src/buttons/Zoom/ZoomNumber.tsx", "../../src/buttons/Zoom/Zoom.tsx"],
|
|
4
|
+
"sourcesContent": ["\nimport * as defaultImport from \"@splunk/react-ui/Tooltip\";\nexport * from \"@splunk/react-ui/Tooltip\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import React, { Suspense, useCallback } from 'react';\nimport { ErrorBoundary } from '@splunk/dashboard-ui';\nimport { console } from '@splunk/dashboard-utils';\nimport {\n useDashboardApi,\n useFeatureFlags,\n useMicrofrontendContext,\n} from '@splunk/dashboard-context';\nimport { useSplunkTheme } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Tooltip from '@splunk/react-ui/Tooltip';\nimport ToolbarItem from '../../Item';\n\nconst aiButtonStyle = { height: '100%' };\nconst EmptyComponent = () => null;\n\nexport const AIAssistant = () => {\n const { allowDashboardAIAssistant } = useFeatureFlags();\n const { AIButton } = useMicrofrontendContext().microfrontendProxy ?? {};\n const dashboardApi = useDashboardApi();\n\n const { colorScheme, density, family } = useSplunkTheme();\n\n const handleError = useCallback((error: string) => {\n console.error(_('Error loading AI Assistant:'), error);\n return <EmptyComponent />;\n }, []);\n\n const handleClick = useCallback(() => {\n dashboardApi.openPanel({\n activePanel: 'config',\n panelProps: {\n showAIPanel: true,\n },\n });\n }, [dashboardApi]);\n\n if (!allowDashboardAIAssistant || !AIButton) {\n return null;\n }\n\n return (\n <ErrorBoundary render={handleError}>\n <ToolbarItem>\n <Suspense key=\"ai-assistant\" fallback={null}>\n <Tooltip\n contentRelationship=\"label\"\n content={_('AI Assistant')}\n >\n <AIButton\n data-test=\"ai-button\"\n onClick={handleClick}\n colorScheme={colorScheme}\n style={aiButtonStyle}\n density={density}\n family={family}\n />\n </Tooltip>\n </Suspense>\n </ToolbarItem>\n </ErrorBoundary>\n );\n};\n", "\nimport * as defaultImport from \"@splunk/react-icons/Checkmark\";\nexport * from \"@splunk/react-icons/Checkmark\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import React, { useCallback, useMemo } from 'react';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Dropdown from '@splunk/react-ui/Dropdown';\nimport Menu from '@splunk/react-ui/Menu';\nimport Button, { type ButtonPropsBase } from '@splunk/react-ui/Button';\nimport Tooltip from '@splunk/react-ui/Tooltip';\nimport {\n selectAreGlobalItemsCollapsed,\n selectGlobalInputs,\n useSelector,\n} from '@splunk/dashboard-state';\nimport Checkmark from '@splunk/react-icons/Checkmark';\nimport styled from 'styled-components';\nimport useDropdown from '../../hooks/useDropdown';\nimport type { ToolbarButtonProps } from '../../types/common';\n\nconst menuStyle = {\n minWidth: '150px',\n};\n\nconst CheckmarkPlaceholder = styled.span`\n display: inline-block;\n width: 16px;\n`;\n\ninterface DisplayProps extends ToolbarButtonProps {\n appearance?: ButtonPropsBase['appearance'];\n}\n\nexport const Display = ({\n appearance = 'default',\n dashboardApi,\n}: DisplayProps): JSX.Element | null => {\n const globalInputs = useSelector(selectGlobalInputs);\n const hasGlobalInputs = (globalInputs?.length ?? 0) > 0;\n const areInputsCollapsed = useSelector(selectAreGlobalItemsCollapsed);\n const showInputs = !areInputsCollapsed;\n\n const handleInputsToggle = useCallback(() => {\n dashboardApi?.setAreGlobalInputsCollapsed({\n collapsed: !areInputsCollapsed,\n });\n }, [dashboardApi, areInputsCollapsed]);\n\n const { handleRequestClose, handleRequestOpen, isOpen } = useDropdown({\n isContentClickClose: true,\n });\n\n const buttonToggle = useMemo(\n () => (\n <Button\n data-clickable\n data-test=\"display-dropdown-button\"\n appearance={appearance}\n isMenu\n aria-label={_('Display options')}\n >\n {_('Display')}\n </Button>\n ),\n [appearance]\n );\n\n const checkmarkIcon = useMemo(() => {\n return showInputs ? <Checkmark /> : <CheckmarkPlaceholder />;\n }, [showInputs]);\n\n const dropdownMenuChildren = useMemo(() => {\n const items = [];\n\n if (hasGlobalInputs) {\n items.push(\n <Menu.Item\n key=\"inputs-item\"\n data-test=\"inputs-menu-item\"\n onClick={handleInputsToggle}\n startAdornment={checkmarkIcon}\n >\n {_('Inputs')}\n </Menu.Item>\n );\n }\n\n return items;\n }, [hasGlobalInputs, handleInputsToggle, checkmarkIcon]);\n\n if (dropdownMenuChildren.length === 0) {\n return null;\n }\n\n return (\n <Tooltip contentRelationship=\"label\" content={_('Display')}>\n <Dropdown\n onRequestClose={handleRequestClose}\n onRequestOpen={handleRequestOpen}\n open={isOpen}\n toggle={buttonToggle}\n >\n <Menu\n style={menuStyle}\n focusMode=\"normal\"\n aria-label={_('Display options')}\n >\n {dropdownMenuChildren}\n </Menu>\n </Dropdown>\n </Tooltip>\n );\n};\n", "\nimport * as defaultImport from \"@splunk/react-icons/ListToken\";\nexport * from \"@splunk/react-icons/ListToken\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import React, { useCallback } from 'react';\nimport { useFeatureFlags } from '@splunk/dashboard-context';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport ListToken from '@splunk/react-icons/ListToken';\nimport Tooltip from '@splunk/react-ui/Tooltip';\nimport IconButton, { prepareIcon } from '../../IconButton';\nimport type { ToolbarButtonProps } from '../../types/common';\n\nconst tokenManagerIcon = prepareIcon({\n Icon: ListToken,\n screenReaderContent: _('Token manager'),\n});\n\n/**\n * Button that toggles open token manager panel\n */\nexport const TokenManager = ({ dashboardApi }: ToolbarButtonProps) => {\n const { showTokenManager } = useFeatureFlags();\n\n const handleClick = useCallback(() => {\n const isOpen = dashboardApi?.getOpenedPanel() === 'tokenManager';\n if (isOpen) {\n dashboardApi?.closePanel();\n } else {\n // Open tokens panel\n dashboardApi?.openPanel({\n activePanel: 'tokenManager',\n panelProps: {\n focusOnOpen: true,\n },\n });\n }\n }, [dashboardApi]);\n\n if (!showTokenManager) {\n return null;\n }\n\n return (\n <Tooltip\n contentRelationship=\"label\"\n content={_('Token manager')}\n data-test-label=\"token-manager-button\"\n >\n <IconButton\n testLabel=\"token-manager-button\"\n onClick={handleClick}\n icon={tokenManagerIcon}\n />\n </Tooltip>\n );\n};\n", "\nimport * as defaultImport from \"@splunk/ui-utils/format\";\nexport * from \"@splunk/ui-utils/format\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import React, { useCallback, useMemo } from 'react';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Dropdown from '@splunk/react-ui/Dropdown';\nimport Menu from '@splunk/react-ui/Menu';\nimport Button, { type ButtonPropsBase } from '@splunk/react-ui/Button';\nimport { isMac } from '@splunk/dashboard-utils';\nimport { sprintf } from '@splunk/ui-utils/format';\nimport useDropdown from '../../hooks/useDropdown';\nimport type { ToolbarButtonProps } from '../../types/common';\n\nconst zoomLevels = [25, 50, 100, 150, 200];\n\nconst buttonStyle = {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n};\n\nconst menuStyle = {\n width: '200px',\n};\n\nexport interface ZoomMenuProps {\n appearance?: ButtonPropsBase['appearance'];\n dashboardApi: ToolbarButtonProps['dashboardApi'];\n currentScale: number;\n setCurrentScale: (scale: number) => void;\n scaleType: 'auto' | 'fit' | null;\n setScaleType: (type: 'auto' | 'fit' | null) => void;\n}\n\nexport const ZoomMenu = ({\n dashboardApi,\n appearance = 'default',\n currentScale,\n setCurrentScale,\n scaleType,\n setScaleType,\n}: ZoomMenuProps): JSX.Element => {\n const handleZoomOutClick = useCallback(() => {\n setScaleType(null);\n dashboardApi?.zoomOut();\n }, [setScaleType, dashboardApi]);\n\n const handleZoomInClick = useCallback(() => {\n setScaleType(null);\n dashboardApi?.zoomIn();\n }, [setScaleType, dashboardApi]);\n\n const handleScaleChange = useCallback(\n (scale: number) => () => {\n setCurrentScale(scale);\n setScaleType(null);\n dashboardApi?.setScale({ scale: scale / 100 });\n },\n [setScaleType, setCurrentScale, dashboardApi]\n );\n\n const handleFitToWidthClick = useCallback(() => {\n setScaleType('fit');\n dashboardApi?.fitToWidth();\n }, [setScaleType, dashboardApi]);\n\n const handleAutoClick = useCallback(() => {\n setScaleType('auto');\n dashboardApi?.fitToWidth({ maxScale: 1 });\n }, [setScaleType, dashboardApi]);\n\n const { handleRequestClose, handleRequestOpen, isOpen } = useDropdown({\n isContentClickClose: true,\n });\n\n const buttonToggle = (\n <Button\n data-clickable\n data-test=\"zoom-dropdown-button\"\n style={buttonStyle}\n appearance={appearance}\n isMenu\n aria-label={sprintf(_('Zoom level, %(currentScale)s%%'), {\n currentScale,\n })}\n />\n );\n\n const isMacOS = useMemo(() => isMac(), []);\n\n const dropdownMenuChildren = useMemo(() => {\n const zoomButtons = zoomLevels.map((percent) => {\n return (\n <Menu.Item\n data-test={`${percent}-percent`}\n onClick={handleScaleChange(percent)}\n key={percent}\n selectable\n selected={currentScale === percent && !scaleType}\n >\n {`${percent}%`}\n </Menu.Item>\n );\n });\n return [\n <Menu.Item\n data-test=\"auto\"\n onClick={handleAutoClick}\n key=\"auto\"\n selectable\n selected={scaleType === 'auto'}\n >\n {_('Auto')}\n </Menu.Item>,\n <Menu.Item\n data-test=\"fit-to-width\"\n onClick={handleFitToWidthClick}\n key=\"fit-to-width\"\n description={isMacOS ? _('Ctrl Cmd 0') : _('Ctrl Alt 0')}\n descriptionPosition=\"right\"\n selectable\n selected={scaleType === 'fit'}\n >\n {_('Fit')}\n </Menu.Item>,\n <Menu.Divider key=\"menu-divider-1\" />,\n ...zoomButtons,\n <Menu.Divider key=\"menu-divider-2\" />,\n <Menu.Item\n data-test=\"zoom-in\"\n onClick={handleZoomInClick}\n key=\"zoom-in\"\n description={isMacOS ? _('Ctrl Cmd =') : _('Ctrl Alt =')}\n descriptionPosition=\"right\"\n selectable\n >\n {_('Zoom in')}\n </Menu.Item>,\n <Menu.Item\n data-test=\"zoom-out\"\n onClick={handleZoomOutClick}\n key=\"zoom-out\"\n description={isMacOS ? _('Ctrl Cmd -') : _('Ctrl Alt -')}\n descriptionPosition=\"right\"\n selectable\n >\n {_('Zoom out')}\n </Menu.Item>,\n ];\n }, [\n currentScale,\n handleAutoClick,\n scaleType,\n handleFitToWidthClick,\n isMacOS,\n handleZoomInClick,\n handleZoomOutClick,\n handleScaleChange,\n ]);\n\n return (\n <Dropdown\n onRequestClose={handleRequestClose}\n onRequestOpen={handleRequestOpen}\n open={isOpen}\n toggle={buttonToggle}\n retainFocus\n >\n <Menu\n style={menuStyle}\n focusMode=\"normal\"\n aria-label={_('Zoom level')}\n >\n {dropdownMenuChildren}\n </Menu>\n </Dropdown>\n );\n};\n", "\nimport * as defaultImport from \"@splunk/react-ui/Number\";\nexport * from \"@splunk/react-ui/Number\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport Number from '@splunk/react-ui/Number';\nimport { variables } from '@splunk/themes';\nimport { useNumberInput, type OnValueChangeType } from '@splunk/dashboard-ui';\n\nconst StyledNumber = styled(Number)`\n padding-right: ${variables.spacingSmall};\n & > input {\n text-align: right;\n }\n`;\n\nconst StyledEndAdornment = styled.span`\n color: ${variables.contentColorActive};\n`;\n\ninterface ZoomNumberProps {\n currentScale: number;\n onScaleChange: (scale: number) => () => void;\n}\n\nexport const ZoomNumber = ({\n currentScale,\n onScaleChange,\n}: ZoomNumberProps) => {\n const onValueChange = useCallback<OnValueChangeType>(\n (e, value = 100) => {\n onScaleChange(value as number)();\n },\n [onScaleChange]\n );\n const { handleChange, handleBlur, handleFocus, handleKeyPress } =\n useNumberInput({\n value: currentScale,\n onValueChange,\n });\n\n return (\n <StyledNumber\n value={currentScale}\n onChange={handleChange}\n onKeyDown={handleKeyPress}\n onBlur={handleBlur}\n onFocus={handleFocus}\n step={5}\n min={1}\n max={10000}\n roundTo={0}\n endAdornment={<StyledEndAdornment>%</StyledEndAdornment>}\n hideStepButtons\n data-test=\"zoom-number\"\n append\n />\n );\n};\n", "import React, { useCallback, useMemo, useState, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { debounce } from 'lodash';\n\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { variables } from '@splunk/themes';\nimport Tooltip from '@splunk/react-ui/Tooltip';\nimport type { ButtonPropsBase } from '@splunk/react-ui/Button';\n\nimport { useDashboardApi } from '@splunk/dashboard-context';\nimport {\n selectActiveTab,\n useSelector,\n useDispatch,\n zoomLevelChanged,\n} from '@splunk/dashboard-state';\n\nimport type { ToolbarButtonProps } from '../../types/common';\nimport ItemSeparator from '../../components/ItemSeparator';\nimport { ZoomMenu } from './ZoomMenu';\nimport { ZoomNumber } from './ZoomNumber';\n\nconst Container = styled.div`\n margin-inline-end: 0;\n display: flex;\n min-width: 96px;\n gap: ${variables.spacingSmall};\n`;\n\nconst StyledTooltip = styled(Tooltip)`\n width: 90px;\n & span {\n display: flex;\n }\n`;\n\nexport interface ZoomProps extends ToolbarButtonProps {\n appearance?: ButtonPropsBase['appearance'];\n showSeparator?: boolean;\n}\n\nexport const Zoom = ({\n showSeparator = true,\n appearance = 'default',\n mode = 'view',\n}: ZoomProps): JSX.Element => {\n const [currentScale, setCurrentScale] = useState(100);\n const [scaleType, setScaleType] = useState<'auto' | 'fit' | null>(null);\n const dashboardApi = useDashboardApi();\n const dispatch = useDispatch();\n\n const handleZoom = useCallback((level?: number) => {\n if (level) {\n setCurrentScale(Math.round(level * 100));\n }\n }, []);\n\n const debouncedDispatch = useMemo(\n () => debounce(dispatch, 500),\n [dispatch]\n );\n\n useEffect(() => {\n debouncedDispatch(\n zoomLevelChanged({\n scale: currentScale,\n scaleType,\n mode,\n })\n );\n }, [currentScale, scaleType, mode, debouncedDispatch]);\n\n const activeTabId = useSelector(selectActiveTab);\n useEffect(() => {\n const subscription = dashboardApi\n ?.getZoomLevel()\n ?.subscribe({ next: handleZoom });\n\n return () => {\n subscription?.unsubscribe();\n };\n }, [dashboardApi, activeTabId, handleZoom]);\n\n const separator = useMemo(\n () => (showSeparator ? <ItemSeparator key=\"item-separator\" /> : null),\n [showSeparator]\n );\n\n const handleScaleChange = useCallback(\n (scale: number) => () => {\n setCurrentScale(scale);\n setScaleType(null);\n dashboardApi?.setScale({ scale: scale / 100 });\n },\n [dashboardApi]\n );\n\n return (\n <Container>\n <StyledTooltip\n contentRelationship=\"label\"\n content={_('Zoom level')}\n >\n <ZoomNumber\n currentScale={currentScale}\n onScaleChange={handleScaleChange}\n />\n <ZoomMenu\n dashboardApi={dashboardApi}\n appearance={appearance}\n currentScale={currentScale}\n setCurrentScale={setCurrentScale}\n scaleType={scaleType}\n setScaleType={setScaleType}\n />\n </StyledTooltip>\n {separator}\n </Container>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["defaultImport", "defaultImport", "defaultImport", "menuStyle", "defaultImport"]
|
|
7
|
+
}
|
|
@@ -3,38 +3,37 @@ SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
|
|
|
3
3
|
in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
4
4
|
import {
|
|
5
5
|
dashboard_context_exports
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HOKI2CUB.js";
|
|
7
7
|
import {
|
|
8
8
|
i18n_exports
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GAXH7J77.js";
|
|
10
10
|
import {
|
|
11
11
|
ScreenReaderContent_default,
|
|
12
12
|
ScreenReaderContent_exports,
|
|
13
13
|
iconSize
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-47MSCQAS.js";
|
|
15
15
|
import {
|
|
16
16
|
Button_default,
|
|
17
17
|
Button_exports
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-5D7CUYUH.js";
|
|
19
19
|
import {
|
|
20
20
|
dashboard_state_exports
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-RZJ2PCV4.js";
|
|
22
22
|
import {
|
|
23
23
|
themes_exports
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-IIPBKMJD.js";
|
|
25
25
|
import {
|
|
26
26
|
react_default,
|
|
27
27
|
react_exports
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-2QBSLWJJ.js";
|
|
29
29
|
import {
|
|
30
30
|
styled_components_default,
|
|
31
31
|
styled_components_exports
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-O74T4JNL.js";
|
|
33
33
|
import {
|
|
34
34
|
__export,
|
|
35
|
-
__name,
|
|
36
35
|
__reExport
|
|
37
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-VQIRZ53C.js";
|
|
38
37
|
|
|
39
38
|
// esm-externals:@splunk/react-ui/TransitionOpen
|
|
40
39
|
var TransitionOpen_exports = {};
|
|
@@ -98,16 +97,10 @@ var transition = styled_components_exports.css`
|
|
|
98
97
|
var ExpandButton = styled_components_default(Button_default)`
|
|
99
98
|
// To get specific enough to override the default Button styling
|
|
100
99
|
&& {
|
|
101
|
-
// We shrink the button a bit when the toolbar is expanded since it
|
|
102
|
-
// switches to a circle button and needs a bit more space to breath
|
|
103
100
|
height: ${({ expanded }) => expanded ? `${TOOLBAR_HEIGHT - 4}px` : `${TOOLBAR_HEIGHT}px`};
|
|
104
101
|
width: ${({ expanded }) => expanded ? `${TOOLBAR_HEIGHT - 4}px` : `${TOOLBAR_HEIGHT}px`};
|
|
105
102
|
margin: ${({ expanded }) => expanded ? "0 4px 0 4px" : "0"};
|
|
106
|
-
|
|
107
|
-
border: none;
|
|
108
|
-
box-shadow: none;
|
|
109
|
-
background-color: ${themes_exports.variables.backgroundColorNavigation};
|
|
110
|
-
border-radius: ${(props) => props.expanded ? "40px" : "0 0 0 20px"};
|
|
103
|
+
border-radius: ${(props) => props.expanded ? "" : "0 0 0 20px"};
|
|
111
104
|
transition-property: border-radius, height, width, margin-right;
|
|
112
105
|
${transition}
|
|
113
106
|
}
|
|
@@ -115,7 +108,7 @@ var ExpandButton = styled_components_default(Button_default)`
|
|
|
115
108
|
var expandedIcon = /* @__PURE__ */ react_default.createElement(react_default.Fragment, null, /* @__PURE__ */ react_default.createElement(ChevronRight_default, { width: iconSize, height: iconSize }), /* @__PURE__ */ react_default.createElement(ScreenReaderContent_default, null, (0, i18n_exports._)("Expanded")));
|
|
116
109
|
var collapsedIcon = /* @__PURE__ */ react_default.createElement(react_default.Fragment, null, /* @__PURE__ */ react_default.createElement(ChevronLeft_default, { width: iconSize, height: iconSize }), /* @__PURE__ */ react_default.createElement(ScreenReaderContent_default, null, (0, i18n_exports._)("Collapsed")));
|
|
117
110
|
var DEFAULT_PRESET_MAP = Object.freeze({});
|
|
118
|
-
var CollapsibleToolbar =
|
|
111
|
+
var CollapsibleToolbar = ({
|
|
119
112
|
preset = DEFAULT_PRESET_MAP,
|
|
120
113
|
dashboardApi,
|
|
121
114
|
initialExpanded = true,
|
|
@@ -147,9 +140,9 @@ var CollapsibleToolbar = /* @__PURE__ */ __name(({
|
|
|
147
140
|
);
|
|
148
141
|
(0, react_exports.useEffect)(() => {
|
|
149
142
|
const toolbarApiRef = {
|
|
150
|
-
toggle:
|
|
151
|
-
expand:
|
|
152
|
-
collapse:
|
|
143
|
+
toggle: () => handleExpandToggle(),
|
|
144
|
+
expand: () => setExpanded(true),
|
|
145
|
+
collapse: () => setExpanded(false)
|
|
153
146
|
};
|
|
154
147
|
apiRegistry.registerToolbarApi(toolbarApiRef);
|
|
155
148
|
return () => {
|
|
@@ -159,6 +152,7 @@ var CollapsibleToolbar = /* @__PURE__ */ __name(({
|
|
|
159
152
|
return /* @__PURE__ */ react_default.createElement(ToolbarWrapper, { "data-test": "dashboard-toolbar" }, /* @__PURE__ */ react_default.createElement(StyledTransitionOpen, { animation: "slideFromRight", open: expanded }, /* @__PURE__ */ react_default.createElement(ToolbarItemsWrapper, { "data-test": "toolbar-items" }, injectedToolbarItems)), /* @__PURE__ */ react_default.createElement(
|
|
160
153
|
ExpandButton,
|
|
161
154
|
{
|
|
155
|
+
appearance: "subtle",
|
|
162
156
|
"data-test": "expand-button",
|
|
163
157
|
expanded,
|
|
164
158
|
onClick: handleExpandToggle,
|
|
@@ -166,11 +160,11 @@ var CollapsibleToolbar = /* @__PURE__ */ __name(({
|
|
|
166
160
|
"data-clickable": true
|
|
167
161
|
}
|
|
168
162
|
));
|
|
169
|
-
}
|
|
163
|
+
};
|
|
170
164
|
CollapsibleToolbar.displayName = "CollapsibleToolbar";
|
|
171
165
|
var CollapsibleToolbar_default = CollapsibleToolbar;
|
|
172
166
|
|
|
173
167
|
export {
|
|
174
168
|
CollapsibleToolbar_default
|
|
175
169
|
};
|
|
176
|
-
//# sourceMappingURL=chunk-
|
|
170
|
+
//# sourceMappingURL=chunk-RIR6YMJC.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["esm-externals:@splunk/react-ui/TransitionOpen", "esm-externals:@splunk/react-icons/ChevronRight", "esm-externals:@splunk/react-icons/ChevronLeft", "../../src/CollapsibleToolbar.tsx"],
|
|
4
|
+
"sourcesContent": ["\nimport * as defaultImport from \"@splunk/react-ui/TransitionOpen\";\nexport * from \"@splunk/react-ui/TransitionOpen\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/ChevronRight\";\nexport * from \"@splunk/react-icons/ChevronRight\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/ChevronLeft\";\nexport * from \"@splunk/react-icons/ChevronLeft\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import React, {\n useState,\n useCallback,\n cloneElement,\n useMemo,\n useEffect,\n} from 'react';\nimport { useApiRegistry } from '@splunk/dashboard-context';\nimport styled, { css } from 'styled-components';\nimport Button from '@splunk/react-ui/Button';\nimport TransitionOpen from '@splunk/react-ui/TransitionOpen';\nimport { variables } from '@splunk/themes';\nimport ChevronRight from '@splunk/react-icons/ChevronRight';\nimport ChevronLeft from '@splunk/react-icons/ChevronLeft';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { selectLayoutType, useSelector } from '@splunk/dashboard-state';\nimport type { PresetMap } from '@splunk/dashboard-types';\nimport ScreenReaderContent from '@splunk/react-ui/ScreenReaderContent';\nimport type { CommonToolbarBaseProps } from './types/common';\nimport { iconSize } from './IconButton';\n\nconst TOOLBAR_HEIGHT = 48;\n\nconst ToolbarWrapper = styled.div`\n display: flex;\n align-items: center;\n position: absolute;\n right: 0;\n z-index: 6;\n height: ${TOOLBAR_HEIGHT}px;\n background-color: ${variables.backgroundColorNavigation};\n color: ${variables.contentColorDefault};\n box-shadow: ${variables.overlayShadow};\n border-radius: 0 0 0 20px;\n`;\n\nconst StyledTransitionOpen = styled(TransitionOpen)`\n border-right: ${({ open }) => (open ? 'solid' : 'none')};\n border-width: 0 1px 0 0;\n border-color: ${variables.interactiveColorBorder};\n`;\n\nconst ToolbarItemsWrapper = styled.div`\n display: flex;\n padding: 2px 4px 2px 8px;\n gap: ${variables.spacingSmall};\n margin-inline-end: ${variables.spacingSmall};\n`;\n\n// Keep the button and toolbar container animating at the same speed\nconst transition = css`\n transition-duration: 0.2s;\n transition-timing-function: ease-in-out;\n`;\nconst ExpandButton = styled(Button)<{\n expanded: boolean;\n}>`\n // To get specific enough to override the default Button styling\n && {\n height: ${({ expanded }) =>\n expanded ? `${TOOLBAR_HEIGHT - 4}px` : `${TOOLBAR_HEIGHT}px`};\n width: ${({ expanded }) =>\n expanded ? `${TOOLBAR_HEIGHT - 4}px` : `${TOOLBAR_HEIGHT}px`};\n margin: ${({ expanded }) => (expanded ? '0 4px 0 4px' : '0')};\n border-radius: ${(props) => (props.expanded ? '' : '0 0 0 20px')};\n transition-property: border-radius, height, width, margin-right;\n ${transition}\n }\n`;\n\nconst expandedIcon = (\n <>\n <ChevronRight width={iconSize} height={iconSize} />\n <ScreenReaderContent>{_('Expanded')}</ScreenReaderContent>\n </>\n);\n\nconst collapsedIcon = (\n <>\n <ChevronLeft width={iconSize} height={iconSize} />\n <ScreenReaderContent>{_('Collapsed')}</ScreenReaderContent>\n </>\n);\n\nexport type CollapsibleToolbarProps = CommonToolbarBaseProps & {\n initialExpanded?: boolean;\n toolbarItems?: React.ReactElement[];\n};\n\nconst DEFAULT_PRESET_MAP = Object.freeze({} as PresetMap);\n\nconst CollapsibleToolbar = ({\n preset = DEFAULT_PRESET_MAP,\n dashboardApi,\n initialExpanded = true,\n mode = 'view',\n toolbarItems = [],\n}: CollapsibleToolbarProps): React.ReactElement | null => {\n const apiRegistry = useApiRegistry();\n const [expanded, setExpanded] = useState(initialExpanded);\n const handleExpandToggle = useCallback(\n () => setExpanded((prevExpanded) => !prevExpanded),\n []\n );\n\n const layoutType = useSelector(selectLayoutType);\n\n const injectedToolbarItems = useMemo(\n () =>\n toolbarItems.map((item) =>\n cloneElement(item, {\n mode,\n preset,\n layoutType,\n dashboardApi,\n borders: false,\n })\n ),\n [toolbarItems, mode, preset, dashboardApi, layoutType]\n );\n\n const ExpandButtonIcon = useMemo(\n () => (expanded ? expandedIcon : collapsedIcon),\n [expanded]\n );\n\n useEffect(() => {\n const toolbarApiRef = {\n toggle: () => handleExpandToggle(),\n expand: () => setExpanded(true),\n collapse: () => setExpanded(false),\n };\n\n apiRegistry.registerToolbarApi(toolbarApiRef);\n\n return () => {\n apiRegistry.removeToolbarApi();\n };\n }, [apiRegistry, handleExpandToggle]);\n\n return (\n <ToolbarWrapper data-test=\"dashboard-toolbar\">\n <StyledTransitionOpen animation=\"slideFromRight\" open={expanded}>\n <ToolbarItemsWrapper data-test=\"toolbar-items\">\n {injectedToolbarItems}\n </ToolbarItemsWrapper>\n </StyledTransitionOpen>\n <ExpandButton\n appearance=\"subtle\"\n data-test=\"expand-button\"\n expanded={expanded}\n onClick={handleExpandToggle}\n icon={ExpandButtonIcon}\n data-clickable\n />\n </ToolbarWrapper>\n );\n};\n\nCollapsibleToolbar.displayName = 'CollapsibleToolbar';\n\nexport default CollapsibleToolbar;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["defaultImport", "defaultImport"]
|
|
7
|
+
}
|
|
@@ -4,7 +4,7 @@ in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
|
4
4
|
import {
|
|
5
5
|
__export,
|
|
6
6
|
__reExport
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-VQIRZ53C.js";
|
|
8
8
|
|
|
9
9
|
// esm-externals:@splunk/dashboard-ui
|
|
10
10
|
var dashboard_ui_exports = {};
|
|
@@ -19,4 +19,4 @@ var dashboard_ui_default = "default" in defaultImport ? defaultImport.default :
|
|
|
19
19
|
export {
|
|
20
20
|
dashboard_ui_exports
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
22
|
+
//# sourceMappingURL=chunk-RQY6BB7F.js.map
|
|
@@ -4,7 +4,7 @@ in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
|
4
4
|
import {
|
|
5
5
|
__export,
|
|
6
6
|
__reExport
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-VQIRZ53C.js";
|
|
8
8
|
|
|
9
9
|
// esm-externals:@splunk/dashboard-state
|
|
10
10
|
var dashboard_state_exports = {};
|
|
@@ -19,4 +19,4 @@ var dashboard_state_default = "default" in defaultImport ? defaultImport.default
|
|
|
19
19
|
export {
|
|
20
20
|
dashboard_state_exports
|
|
21
21
|
};
|
|
22
|
-
//# sourceMappingURL=chunk-
|
|
22
|
+
//# sourceMappingURL=chunk-RZJ2PCV4.js.map
|
|
@@ -4,26 +4,23 @@ in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
|
4
4
|
import {
|
|
5
5
|
Menu_default,
|
|
6
6
|
Menu_exports
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-GFSNM45K.js";
|
|
8
8
|
import {
|
|
9
9
|
Dropdown_default,
|
|
10
10
|
Dropdown_exports,
|
|
11
11
|
useDropdown_default
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-VCWH2JHM.js";
|
|
13
13
|
import {
|
|
14
14
|
i18n_exports
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-GAXH7J77.js";
|
|
16
16
|
import {
|
|
17
17
|
Button_default,
|
|
18
18
|
Button_exports
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-5D7CUYUH.js";
|
|
20
20
|
import {
|
|
21
21
|
react_default,
|
|
22
22
|
react_exports
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import {
|
|
25
|
-
__name
|
|
26
|
-
} from "./chunk-B5OBVUF5.js";
|
|
23
|
+
} from "./chunk-2QBSLWJJ.js";
|
|
27
24
|
|
|
28
25
|
// src/groups/ActionsGroup.tsx
|
|
29
26
|
var menuStyle = {
|
|
@@ -39,7 +36,7 @@ var buttonToggle = /* @__PURE__ */ react_default.createElement(
|
|
|
39
36
|
appearance: "subtle"
|
|
40
37
|
}
|
|
41
38
|
);
|
|
42
|
-
var ActionsGroup =
|
|
39
|
+
var ActionsGroup = ({ children }) => {
|
|
43
40
|
const { handleRequestClose, handleRequestOpen, isOpen } = useDropdown_default({
|
|
44
41
|
isContentClickClose: true
|
|
45
42
|
});
|
|
@@ -53,10 +50,10 @@ var ActionsGroup = /* @__PURE__ */ __name(({ children }) => {
|
|
|
53
50
|
},
|
|
54
51
|
/* @__PURE__ */ react_default.createElement(Menu_default, { style: menuStyle }, children)
|
|
55
52
|
);
|
|
56
|
-
}
|
|
53
|
+
};
|
|
57
54
|
var ActionsGroup_default = ActionsGroup;
|
|
58
55
|
|
|
59
56
|
export {
|
|
60
57
|
ActionsGroup_default
|
|
61
58
|
};
|
|
62
|
-
//# sourceMappingURL=chunk-
|
|
59
|
+
//# sourceMappingURL=chunk-UOT4CE2C.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/groups/ActionsGroup.tsx"],
|
|
4
4
|
"sourcesContent": ["import React from 'react';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Dropdown from '@splunk/react-ui/Dropdown';\nimport Menu from '@splunk/react-ui/Menu';\nimport Button from '@splunk/react-ui/Button';\nimport useDropdown from '../hooks/useDropdown';\n\nconst menuStyle = {\n width: '180px',\n};\n\nexport interface ActionsGroupProps {\n children: React.ReactNode[];\n}\n\nconst buttonToggle = (\n <Button\n data-clickable\n label={_('Actions')}\n data-test=\"actions-dropdown-button\"\n isMenu\n appearance=\"subtle\"\n />\n);\n\n/**\n * group that allows consumers to add buttons required to manipulate the dashboard, which may not have been implemented by UDF. Example, cloning a dashboard\n */\nconst ActionsGroup = ({ children }: ActionsGroupProps): JSX.Element => {\n const { handleRequestClose, handleRequestOpen, isOpen } = useDropdown({\n isContentClickClose: true,\n });\n\n return (\n <Dropdown\n onRequestClose={handleRequestClose}\n onRequestOpen={handleRequestOpen}\n open={isOpen}\n toggle={buttonToggle}\n >\n <Menu style={menuStyle}>{children}</Menu>\n </Dropdown>\n );\n};\n\nexport default ActionsGroup;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAOA,IAAM,YAAY;AAAA,EACd,OAAO;AACX;AAMA,IAAM,eACF;AAAA,EAAC;AAAA;AAAA,IACG,kBAAc;AAAA,IACd,WAAO,gBAAE,SAAS;AAAA,IAClB,aAAU;AAAA,IACV,QAAM;AAAA,IACN,YAAW;AAAA;AACf;AAMJ,IAAM,eAAe,CAAC,EAAE,SAAS,MAAsC;AACnE,QAAM,EAAE,oBAAoB,mBAAmB,OAAO,IAAI,oBAAY;AAAA,IAClE,qBAAqB;AAAA,EACzB,CAAC;AAED,SACI;AAAA,IAAC;AAAA;AAAA,MACG,gBAAgB;AAAA,MAChB,eAAe;AAAA,MACf,MAAM;AAAA,MACN,QAAQ;AAAA;AAAA,IAER,4CAAC,gBAAK,OAAO,aAAY,QAAS;AAAA,EACtC;AAER;AAEA,IAAO,uBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -3,12 +3,11 @@ SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
|
|
|
3
3
|
in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
4
4
|
import {
|
|
5
5
|
react_exports
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2QBSLWJJ.js";
|
|
7
7
|
import {
|
|
8
8
|
__export,
|
|
9
|
-
__name,
|
|
10
9
|
__reExport
|
|
11
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-VQIRZ53C.js";
|
|
12
11
|
|
|
13
12
|
// esm-externals:@splunk/react-ui/Dropdown
|
|
14
13
|
var Dropdown_exports = {};
|
|
@@ -21,7 +20,7 @@ import * as Dropdown_star from "@splunk/react-ui/Dropdown";
|
|
|
21
20
|
var Dropdown_default = "default" in defaultImport ? defaultImport.default : defaultImport;
|
|
22
21
|
|
|
23
22
|
// src/hooks/useDropdown.ts
|
|
24
|
-
var useDropdown =
|
|
23
|
+
var useDropdown = ({
|
|
25
24
|
isContentClickClose = true
|
|
26
25
|
}) => {
|
|
27
26
|
const [isOpen, setIsOpen] = (0, react_exports.useState)(false);
|
|
@@ -54,7 +53,7 @@ var useDropdown = /* @__PURE__ */ __name(({
|
|
|
54
53
|
handleForceClose,
|
|
55
54
|
setHasChildModal
|
|
56
55
|
};
|
|
57
|
-
}
|
|
56
|
+
};
|
|
58
57
|
var useDropdown_default = useDropdown;
|
|
59
58
|
|
|
60
59
|
export {
|
|
@@ -62,4 +61,4 @@ export {
|
|
|
62
61
|
Dropdown_exports,
|
|
63
62
|
useDropdown_default
|
|
64
63
|
};
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
64
|
+
//# sourceMappingURL=chunk-VCWH2JHM.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["esm-externals:@splunk/react-ui/Dropdown", "../../src/hooks/useDropdown.ts"],
|
|
4
4
|
"sourcesContent": ["\nimport * as defaultImport from \"@splunk/react-ui/Dropdown\";\nexport * from \"@splunk/react-ui/Dropdown\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\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"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAEA;AADA,YAAY,mBAAmB;AAC/B,+BAAc;AACd,IAAO,mBAAS,aAAa,gBAA8B,wBAAU;;;ACuBrE,IAAM,cAAc,CAAC;AAAA,EACjB,sBAAsB;AAC1B,MAA0C;AACtC,QAAM,CAAC,QAAQ,SAAS,QAAI,wBAAS,KAAK;AAC1C,QAAM,oBAAgB,sBAAO,KAAK;AAElC,QAAM,yBAAqB;AAAA,IACvB,CAAC,EAAE,OAAO,MAAM;AACZ,UAAI,WAAW,kBAAkB,CAAC,qBAAqB;AAEnD;AAAA,MACJ;AAGA,UAAI,WAAW,eAAe,cAAc,SAAS;AACjD;AAAA,MACJ;AAEA,gBAAU,KAAK;AAAA,IACnB;AAAA,IACA,CAAC,mBAAmB;AAAA,EACxB;AAEA,QAAM,wBAAoB,2BAAY,MAAM;AACxC,cAAU,IAAI;AAAA,EAClB,GAAG,CAAC,CAAC;AAEL,QAAM,uBAAmB,2BAAY,MAAM;AACvC,cAAU,KAAK;AAAA,EACnB,GAAG,CAAC,CAAC;AAEL,QAAM,uBAAmB,2BAAY,CAAC,UAAmB;AACrD,kBAAc,UAAU;AAAA,EAC5B,GAAG,CAAC,CAAC;AAEL,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAEA,IAAO,sBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,7 +4,7 @@ in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
|
4
4
|
import {
|
|
5
5
|
__export,
|
|
6
6
|
__reExport
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-VQIRZ53C.js";
|
|
8
8
|
|
|
9
9
|
// esm-externals:@splunk/react-icons/ArrowBroadUnderbarDown
|
|
10
10
|
var ArrowBroadUnderbarDown_exports = {};
|
|
@@ -20,4 +20,4 @@ export {
|
|
|
20
20
|
ArrowBroadUnderbarDown_default,
|
|
21
21
|
ArrowBroadUnderbarDown_exports
|
|
22
22
|
};
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-VE4HUG27.js.map
|
|
@@ -22,7 +22,6 @@ var __spreadValues = (a, b) => {
|
|
|
22
22
|
return a;
|
|
23
23
|
};
|
|
24
24
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
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)
|
|
@@ -72,10 +71,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
72
71
|
export {
|
|
73
72
|
__spreadValues,
|
|
74
73
|
__spreadProps,
|
|
75
|
-
__name,
|
|
76
74
|
__objRest,
|
|
77
75
|
__export,
|
|
78
76
|
__reExport,
|
|
79
77
|
__async
|
|
80
78
|
};
|
|
81
|
-
//# sourceMappingURL=chunk-
|
|
79
|
+
//# sourceMappingURL=chunk-VQIRZ53C.js.map
|
|
@@ -4,29 +4,28 @@ in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
|
4
4
|
import {
|
|
5
5
|
Square_default,
|
|
6
6
|
Square_exports
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2KBENXG3.js";
|
|
8
8
|
import {
|
|
9
9
|
i18n_exports
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GAXH7J77.js";
|
|
11
11
|
import {
|
|
12
12
|
IconButton_default,
|
|
13
13
|
prepareIcon
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-47MSCQAS.js";
|
|
15
15
|
import {
|
|
16
16
|
react_default,
|
|
17
17
|
react_exports
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-2QBSLWJJ.js";
|
|
19
19
|
import {
|
|
20
|
-
__async
|
|
21
|
-
|
|
22
|
-
} from "./chunk-B5OBVUF5.js";
|
|
20
|
+
__async
|
|
21
|
+
} from "./chunk-VQIRZ53C.js";
|
|
23
22
|
|
|
24
23
|
// src/buttons/EmptyVisualization.tsx
|
|
25
24
|
var icon = prepareIcon({
|
|
26
25
|
Icon: Square_default,
|
|
27
26
|
screenReaderContent: (0, i18n_exports._)("Add rectangle")
|
|
28
27
|
});
|
|
29
|
-
var EmptyVisualization =
|
|
28
|
+
var EmptyVisualization = ({ dashboardApi }) => {
|
|
30
29
|
const handleClick = (0, react_exports.useCallback)(() => __async(null, null, function* () {
|
|
31
30
|
dashboardApi == null ? void 0 : dashboardApi.createVisualization({
|
|
32
31
|
visualizationDefinition: {
|
|
@@ -49,10 +48,10 @@ var EmptyVisualization = /* @__PURE__ */ __name(({ dashboardApi }) => {
|
|
|
49
48
|
icon
|
|
50
49
|
}
|
|
51
50
|
);
|
|
52
|
-
}
|
|
51
|
+
};
|
|
53
52
|
var EmptyVisualization_default = EmptyVisualization;
|
|
54
53
|
|
|
55
54
|
export {
|
|
56
55
|
EmptyVisualization_default
|
|
57
56
|
};
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
57
|
+
//# sourceMappingURL=chunk-WADWICSE.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/buttons/EmptyVisualization.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { useCallback } from 'react';\n\nimport { _ } from '@splunk/ui-utils/i18n';\nimport BoxUnchecked from '@splunk/react-icons/Square';\n\nimport IconButton, { prepareIcon } from '../IconButton';\nimport type { ToolbarButtonProps } from '../types/common';\n\nconst icon = prepareIcon({\n Icon: BoxUnchecked,\n screenReaderContent: _('Add rectangle'),\n});\n\n/**\n * Button that creates a empty viz\n */\nconst EmptyVisualization = ({ dashboardApi }: ToolbarButtonProps) => {\n const handleClick = useCallback(async () => {\n dashboardApi?.createVisualization({\n visualizationDefinition: {\n type: 'splunk.rectangle',\n options: {\n fillColor: 'transparent',\n strokeColor: 'transparent',\n },\n },\n });\n\n dashboardApi?.openPanel({\n activePanel: 'config',\n });\n }, [dashboardApi]);\n\n return (\n <IconButton\n testLabel=\"empty-viz-button\"\n onClick={handleClick}\n icon={icon}\n />\n );\n};\n\nexport default EmptyVisualization;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAM,OAAO,YAAY;AAAA,EACrB,MAAM;AAAA,EACN,yBAAqB,gBAAE,eAAe;AAC1C,CAAC;AAKD,IAAM,qBAAqB,CAAC,EAAE,aAAa,MAA0B;AACjE,QAAM,kBAAc,2BAAY,MAAY;AACxC,iDAAc,oBAAoB;AAAA,MAC9B,yBAAyB;AAAA,QACrB,MAAM;AAAA,QACN,SAAS;AAAA,UACL,WAAW;AAAA,UACX,aAAa;AAAA,QACjB;AAAA,MACJ;AAAA,IACJ;AAEA,iDAAc,UAAU;AAAA,MACpB,aAAa;AAAA,IACjB;AAAA,EACJ,IAAG,CAAC,YAAY,CAAC;AAEjB,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAU;AAAA,MACV,SAAS;AAAA,MACT;AAAA;AAAA,EACJ;AAER;AAEA,IAAO,6BAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -3,29 +3,28 @@ SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
|
|
|
3
3
|
in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
4
4
|
import {
|
|
5
5
|
ItemSeparator_default
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MRXRYL4Y.js";
|
|
7
7
|
import {
|
|
8
8
|
i18n_exports
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GAXH7J77.js";
|
|
10
10
|
import {
|
|
11
11
|
dashboard_state_exports
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-RZJ2PCV4.js";
|
|
13
13
|
import {
|
|
14
14
|
themes_exports
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-IIPBKMJD.js";
|
|
16
16
|
import {
|
|
17
17
|
react_default,
|
|
18
18
|
react_exports
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-2QBSLWJJ.js";
|
|
20
20
|
import {
|
|
21
21
|
styled_components_default,
|
|
22
22
|
styled_components_exports
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-O74T4JNL.js";
|
|
24
24
|
import {
|
|
25
25
|
__export,
|
|
26
|
-
__name,
|
|
27
26
|
__reExport
|
|
28
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-VQIRZ53C.js";
|
|
29
28
|
|
|
30
29
|
// esm-externals:@splunk/react-ui/Switch
|
|
31
30
|
var Switch_exports = {};
|
|
@@ -44,7 +43,7 @@ var SwitchContainer = styled_components_default.div`
|
|
|
44
43
|
flex-direction: row;
|
|
45
44
|
gap: ${themes_exports.variables.spacingSmall};
|
|
46
45
|
`;
|
|
47
|
-
var GridLineSwitch =
|
|
46
|
+
var GridLineSwitch = ({
|
|
48
47
|
dashboardApi,
|
|
49
48
|
mode,
|
|
50
49
|
showSeparator,
|
|
@@ -75,10 +74,10 @@ var GridLineSwitch = /* @__PURE__ */ __name(({
|
|
|
75
74
|
},
|
|
76
75
|
(0, i18n_exports._)("Gridlines")
|
|
77
76
|
), separator);
|
|
78
|
-
}
|
|
77
|
+
};
|
|
79
78
|
var GridLineSwitch_default = GridLineSwitch;
|
|
80
79
|
|
|
81
80
|
export {
|
|
82
81
|
GridLineSwitch_default
|
|
83
82
|
};
|
|
84
|
-
//# sourceMappingURL=chunk-
|
|
83
|
+
//# sourceMappingURL=chunk-X4VCE6GS.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["esm-externals:@splunk/react-ui/Switch", "../../src/buttons/GridLineSwitch.tsx"],
|
|
4
4
|
"sourcesContent": ["\nimport * as defaultImport from \"@splunk/react-ui/Switch\";\nexport * from \"@splunk/react-ui/Switch\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import React, { useCallback, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Switch from '@splunk/react-ui/Switch';\nimport {\n selectAreGridLinesEnabled,\n useSelector,\n} from '@splunk/dashboard-state';\nimport { variables } from '@splunk/themes';\nimport ItemSeparator from '../components/ItemSeparator';\nimport type { ToolbarButtonProps } from '../types/common';\n\nconst SwitchContainer = styled.div`\n display: flex;\n align-items: center;\n flex-direction: row;\n gap: ${variables.spacingSmall};\n`;\n\nexport interface GridLineSwitchProps extends ToolbarButtonProps {\n showSeparator?: boolean;\n}\n\nconst GridLineSwitch = ({\n dashboardApi,\n mode,\n showSeparator,\n layoutType,\n}: GridLineSwitchProps) => {\n const showGrid = useSelector(selectAreGridLinesEnabled) ?? false;\n\n const handleClick = useCallback(() => {\n dashboardApi?.toggleGridLines(!showGrid);\n }, [dashboardApi, showGrid]);\n\n const separator = useMemo(\n () => (showSeparator ? <ItemSeparator key=\"item-separator\" /> : null),\n [showSeparator]\n );\n\n if (!dashboardApi || mode !== 'edit' || layoutType === 'grid') {\n return null;\n }\n\n return (\n <SwitchContainer key=\"grid-line-switch\">\n <Switch\n onClick={handleClick}\n selected={showGrid}\n selectedLabel={_('Gridlines displayed')}\n unselectedLabel={_('Gridlines not displayed')}\n appearance=\"toggle\"\n data-test=\"gridline-toggle\"\n data-clickable\n >\n {_('Gridlines')}\n </Switch>\n {separator}\n </SwitchContainer>\n );\n};\n\nexport default GridLineSwitch;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAEA;AADA,YAAY,mBAAmB;AAC/B,6BAAc;AACd,IAAO,iBAAS,aAAa,gBAA8B,wBAAU;;;ACSrE,IAAM,kBAAkB,0BAAO;AAAA;AAAA;AAAA;AAAA,WAIpB,yBAAU,YAAY;AAAA;AAOjC,IAAM,iBAAiB,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAA2B;AA5B3B;AA6BI,QAAM,YAAW,8CAAY,iDAAyB,MAArC,YAA0C;AAE3D,QAAM,kBAAc,2BAAY,MAAM;AAClC,iDAAc,gBAAgB,CAAC;AAAA,EACnC,GAAG,CAAC,cAAc,QAAQ,CAAC;AAE3B,QAAM,gBAAY;AAAA,IACd,MAAO,gBAAgB,4CAAC,yBAAc,KAAI,kBAAiB,IAAK;AAAA,IAChE,CAAC,aAAa;AAAA,EAClB;AAEA,MAAI,CAAC,gBAAgB,SAAS,UAAU,eAAe,QAAQ;AAC3D,WAAO;AAAA,EACX;AAEA,SACI,4CAAC,mBAAgB,KAAI,sBACjB;AAAA,IAAC;AAAA;AAAA,MACG,SAAS;AAAA,MACT,UAAU;AAAA,MACV,mBAAe,gBAAE,qBAAqB;AAAA,MACtC,qBAAiB,gBAAE,yBAAyB;AAAA,MAC5C,YAAW;AAAA,MACX,aAAU;AAAA,MACV,kBAAc;AAAA;AAAA,QAEb,gBAAE,WAAW;AAAA,EAClB,GACC,SACL;AAER;AAEA,IAAO,yBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -4,7 +4,7 @@ in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
|
4
4
|
import {
|
|
5
5
|
styled_components_default,
|
|
6
6
|
styled_components_exports
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-O74T4JNL.js";
|
|
8
8
|
|
|
9
9
|
// src/Item.tsx
|
|
10
10
|
var Item_default = styled_components_default.div``;
|
|
@@ -12,4 +12,4 @@ var Item_default = styled_components_default.div``;
|
|
|
12
12
|
export {
|
|
13
13
|
Item_default
|
|
14
14
|
};
|
|
15
|
-
//# sourceMappingURL=chunk-
|
|
15
|
+
//# sourceMappingURL=chunk-XIZP3DYZ.js.map
|
|
@@ -3,23 +3,22 @@ SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
|
|
|
3
3
|
in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
4
4
|
import {
|
|
5
5
|
dashboard_state_exports
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-RZJ2PCV4.js";
|
|
7
7
|
import {
|
|
8
8
|
themes_exports
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-IIPBKMJD.js";
|
|
10
10
|
import {
|
|
11
11
|
react_default,
|
|
12
12
|
react_exports
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2QBSLWJJ.js";
|
|
14
14
|
import {
|
|
15
15
|
styled_components_default,
|
|
16
16
|
styled_components_exports
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-O74T4JNL.js";
|
|
18
18
|
import {
|
|
19
19
|
__export,
|
|
20
|
-
__name,
|
|
21
20
|
__reExport
|
|
22
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-VQIRZ53C.js";
|
|
23
22
|
|
|
24
23
|
// esm-externals:@splunk/themes/mixins
|
|
25
24
|
var mixins_exports = {};
|
|
@@ -57,7 +56,7 @@ var RightAlignItems = styled_components_default.div`
|
|
|
57
56
|
gap: ${themes_exports.variables.spacingSmall};
|
|
58
57
|
margin-inline-end: ${themes_exports.variables.spacingSmall};
|
|
59
58
|
`;
|
|
60
|
-
var Toolbar =
|
|
59
|
+
var Toolbar = ({
|
|
61
60
|
activePanel,
|
|
62
61
|
dashboardApi,
|
|
63
62
|
mode,
|
|
@@ -134,11 +133,11 @@ var Toolbar = /* @__PURE__ */ __name(({
|
|
|
134
133
|
},
|
|
135
134
|
rightAlignItems
|
|
136
135
|
));
|
|
137
|
-
}
|
|
136
|
+
};
|
|
138
137
|
Toolbar.displayName = "Toolbar";
|
|
139
138
|
var Toolbar_default = Toolbar;
|
|
140
139
|
|
|
141
140
|
export {
|
|
142
141
|
Toolbar_default
|
|
143
142
|
};
|
|
144
|
-
//# sourceMappingURL=chunk-
|
|
143
|
+
//# sourceMappingURL=chunk-YMZGQ7CB.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["esm-externals:@splunk/themes/mixins", "../../src/Toolbar.tsx"],
|
|
4
4
|
"sourcesContent": ["\nimport * as defaultImport from \"@splunk/themes/mixins\";\nexport * from \"@splunk/themes/mixins\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport styled from 'styled-components';\nimport { variables } from '@splunk/themes';\nimport { reset } from '@splunk/themes/mixins';\nimport { selectLayoutType, useSelector } from '@splunk/dashboard-state';\nimport type { ToolbarButtonProps } from './types/common';\n\nconst ToolbarWrapper = styled.div`\n ${reset('flex')};\n justify-content: space-between;\n color: ${variables.contentColorDefault};\n padding: 5px 5px 5px 8px;\n border-bottom-width: 1px;\n border-bottom-style: solid;\n border-bottom-color: ${variables.borderColor};\n flex-wrap: wrap;\n flex-shrink: 0;\n background-color: ${variables.backgroundColorNavigation};\n`;\n\nconst LeftAlignItems = styled.div`\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n gap: ${variables.spacingSmall};\n`;\n\nconst RightAlignItems = styled.div`\n flex-basis: auto;\n display: flex;\n flex-direction: row;\n gap: ${variables.spacingSmall};\n margin-inline-end: ${variables.spacingSmall};\n`;\n\nexport type ToolbarProps = ToolbarButtonProps & {\n toolbarItems: React.ReactElement[];\n};\n\n/**\n * Dashboard Toolbar\n */\nconst Toolbar = ({\n activePanel,\n dashboardApi,\n mode,\n preset,\n toolbarItems,\n}: ToolbarProps) => {\n const layoutType = useSelector(selectLayoutType);\n const toolbarRef = useRef<HTMLDivElement | null>(null);\n\n /**\n * merge dashboard props with current item props\n * so that item have access to dashboard api and other stuff\n */\n const injectDashboardProps = useCallback(\n (items: React.ReactElement[]): React.ReactElement[] => {\n const buttonProps: ToolbarButtonProps = {\n activePanel,\n dashboardApi,\n layoutType,\n mode,\n preset,\n };\n\n return items.map((item) => React.cloneElement(item, buttonProps));\n },\n [activePanel, dashboardApi, layoutType, mode, preset]\n );\n\n const leftAlignItems = useMemo(() => {\n const items = toolbarItems.filter(\n (item) => item.props?.align !== 'right'\n );\n return injectDashboardProps(items);\n }, [toolbarItems, injectDashboardProps]);\n\n const rightAlignItems = useMemo(() => {\n const items = toolbarItems.filter(\n (item) => item.props?.align === 'right'\n );\n return injectDashboardProps(items);\n }, [toolbarItems, injectDashboardProps]);\n\n const observerRef = useRef<MutationObserver | null>(null);\n const isFirstRender = useRef(true);\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return undefined;\n }\n\n observerRef.current = new MutationObserver(() => {\n const firstFocusableButton = toolbarRef.current?.querySelector(\n 'button:not([disabled]):not([aria-disabled=\"true\"]):not([tabindex=\"-1\"])'\n ) as HTMLButtonElement;\n\n firstFocusableButton?.focus();\n observerRef.current?.disconnect();\n });\n\n if (toolbarRef.current) {\n observerRef.current.observe(toolbarRef.current, {\n childList: true,\n subtree: true,\n });\n }\n\n return () => {\n observerRef.current?.disconnect();\n };\n }, [mode]);\n\n if (!toolbarItems.length) {\n return null;\n }\n\n return (\n <ToolbarWrapper data-test=\"dashboard-toolbar\" ref={toolbarRef}>\n <LeftAlignItems key=\"left-align-items\" data-test=\"left-align-items\">\n {leftAlignItems}\n </LeftAlignItems>\n <RightAlignItems\n key=\"right-align-items\"\n data-test=\"right-align-items\"\n >\n {rightAlignItems}\n </RightAlignItems>\n </ToolbarWrapper>\n );\n};\n\nToolbar.displayName = 'Toolbar';\nexport default Toolbar;\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAEA;AADA,YAAY,mBAAmB;AAC/B,6BAAc;AACd,IAAO,iBAAS,aAAa,gBAA8B,wBAAU;;;ACIrE,IAAM,iBAAiB,0BAAO;AAAA,UACxB,sBAAM,MAAM,CAAC;AAAA;AAAA,aAEN,yBAAU,mBAAmB;AAAA;AAAA;AAAA;AAAA,2BAIf,yBAAU,WAAW;AAAA;AAAA;AAAA,wBAGxB,yBAAU,yBAAyB;AAAA;AAG3D,IAAM,iBAAiB,0BAAO;AAAA;AAAA;AAAA;AAAA,WAInB,yBAAU,YAAY;AAAA;AAGjC,IAAM,kBAAkB,0BAAO;AAAA;AAAA;AAAA;AAAA,WAIpB,yBAAU,YAAY;AAAA,yBACR,yBAAU,YAAY;AAAA;AAU/C,IAAM,UAAU,CAAC;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAoB;AAChB,QAAM,iBAAa,qCAAY,wCAAgB;AAC/C,QAAM,iBAAa,sBAA8B,IAAI;AAMrD,QAAM,2BAAuB;AAAA,IACzB,CAAC,UAAsD;AACnD,YAAM,cAAkC;AAAA,QACpC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAEA,aAAO,MAAM,IAAI,CAAC,SAAS,cAAM,aAAa,MAAM,WAAW,CAAC;AAAA,IACpE;AAAA,IACA,CAAC,aAAa,cAAc,YAAY,MAAM,MAAM;AAAA,EACxD;AAEA,QAAM,qBAAiB,uBAAQ,MAAM;AACjC,UAAM,QAAQ,aAAa;AAAA,MACvB,CAAC,SAAM;AAzEnB;AAyEsB,2BAAK,UAAL,mBAAY,WAAU;AAAA;AAAA,IACpC;AACA,WAAO,qBAAqB,KAAK;AAAA,EACrC,GAAG,CAAC,cAAc,oBAAoB,CAAC;AAEvC,QAAM,sBAAkB,uBAAQ,MAAM;AAClC,UAAM,QAAQ,aAAa;AAAA,MACvB,CAAC,SAAM;AAhFnB;AAgFsB,2BAAK,UAAL,mBAAY,WAAU;AAAA;AAAA,IACpC;AACA,WAAO,qBAAqB,KAAK;AAAA,EACrC,GAAG,CAAC,cAAc,oBAAoB,CAAC;AAEvC,QAAM,kBAAc,sBAAgC,IAAI;AACxD,QAAM,oBAAgB,sBAAO,IAAI;AAEjC,+BAAU,MAAM;AACZ,QAAI,cAAc,SAAS;AACvB,oBAAc,UAAU;AACxB,aAAO;AAAA,IACX;AAEA,gBAAY,UAAU,IAAI,iBAAiB,MAAM;AA9FzD;AA+FY,YAAM,wBAAuB,gBAAW,YAAX,mBAAoB;AAAA,QAC7C;AAAA;AAGJ,mEAAsB;AACtB,wBAAY,YAAZ,mBAAqB;AAAA,IACzB,CAAC;AAED,QAAI,WAAW,SAAS;AACpB,kBAAY,QAAQ,QAAQ,WAAW,SAAS;AAAA,QAC5C,WAAW;AAAA,QACX,SAAS;AAAA,MACb,CAAC;AAAA,IACL;AAEA,WAAO,MAAM;AA9GrB;AA+GY,wBAAY,YAAZ,mBAAqB;AAAA,IACzB;AAAA,EACJ,GAAG,CAAC,IAAI,CAAC;AAET,MAAI,CAAC,aAAa,QAAQ;AACtB,WAAO;AAAA,EACX;AAEA,SACI,4CAAC,kBAAe,aAAU,qBAAoB,KAAK,cAC/C,4CAAC,kBAAe,KAAI,oBAAmB,aAAU,sBAC5C,cACL,GACA;AAAA,IAAC;AAAA;AAAA,MACG,KAAI;AAAA,MACJ,aAAU;AAAA;AAAA,IAET;AAAA,EACL,CACJ;AAER;AAEA,QAAQ,cAAc;AACtB,IAAO,kBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|