@splunk/dashboard-toolbar 29.0.0 → 29.1.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 +6 -5
- package/CollapsibleToolbar.js.map +2 -2
- package/IconButton.js +5 -4
- package/IconButton.js.map +2 -2
- package/Item.js.map +1 -1
- package/ItemGroup.js +3 -2
- package/ItemGroup.js.map +2 -2
- package/PopoverItemButton.js +2 -1
- package/PopoverItemButton.js.map +2 -2
- package/README.md +1 -1
- package/Toolbar.js +3 -2
- package/Toolbar.js.map +2 -2
- package/buttons/Charts.js +13 -9
- package/buttons/Charts.js.map +3 -3
- package/buttons/Config.js +7 -6
- package/buttons/Config.js.map +2 -2
- package/buttons/ContentExport.js +7 -6
- package/buttons/ContentExport.js.map +2 -2
- package/buttons/Data.js +7 -6
- package/buttons/Data.js.map +2 -2
- package/buttons/EmptyVisualization.js +8 -7
- package/buttons/EmptyVisualization.js.map +2 -2
- package/buttons/ExportDashboardButton.js +3 -2
- package/buttons/ExportDashboardButton.js.map +2 -2
- package/buttons/Fullscreen.js +7 -6
- package/buttons/Fullscreen.js.map +2 -2
- package/buttons/GridLineSwitch.js +3 -2
- package/buttons/GridLineSwitch.js.map +2 -2
- package/buttons/HelpButton.js +7 -6
- package/buttons/HelpButton.js.map +2 -2
- package/buttons/IconGallery.js +12 -8
- package/buttons/IconGallery.js.map +3 -3
- package/buttons/Image.js +8 -7
- package/buttons/Image.js.map +2 -2
- package/buttons/ImageGallery.js +8 -7
- package/buttons/ImageGallery.js.map +2 -2
- package/buttons/Inputs.js +13 -9
- package/buttons/Inputs.js.map +3 -3
- package/buttons/Markdown.js +7 -6
- package/buttons/Markdown.js.map +2 -2
- package/buttons/ModeSwitch.js +3 -2
- package/buttons/ModeSwitch.js.map +2 -2
- package/buttons/Redo.js +7 -6
- package/buttons/Redo.js.map +2 -2
- package/buttons/Shapes.js +12 -8
- package/buttons/Shapes.js.map +3 -3
- package/buttons/Source.js +7 -6
- package/buttons/Source.js.map +2 -2
- package/buttons/Undo.js +7 -6
- package/buttons/Undo.js.map +2 -2
- package/buttons/index.js +84 -67
- package/buttons/index.js.map +3 -3
- package/groups/ActionsGroup.js +5 -4
- package/groups/ActionsGroup.js.map +2 -2
- package/groups/ControlGroup.js +10 -9
- package/groups/ControlGroup.js.map +3 -3
- package/groups/EditingGroup.js +19 -18
- package/groups/EditingGroup.js.map +3 -3
- package/groups/EditorGroup.js +11 -10
- package/groups/EditorGroup.js.map +3 -3
- package/groups/EditorsControlGroup.js +51 -15
- package/groups/EditorsControlGroup.js.map +3 -3
- package/groups/HistoryGroup.js +12 -11
- package/groups/HistoryGroup.js.map +3 -3
- package/groups/SidebarControlGroup.js +47 -11
- package/groups/SidebarControlGroup.js.map +3 -3
- package/groups/VisualizationGroup.js +49 -36
- package/groups/VisualizationGroup.js.map +3 -3
- package/groups/index.js +118 -70
- package/groups/index.js.map +3 -3
- package/index.js +107 -90
- package/index.js.map +3 -3
- 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 +40 -40
- package/module/chunks/chunk-2G23SAZZ.js +29 -0
- package/module/chunks/{chunk-KJLRQLFH.js.map → chunk-2G23SAZZ.js.map} +1 -1
- package/module/chunks/{chunk-YPVMTO2L.js → chunk-2GRHFRZD.js} +16 -15
- package/module/chunks/{chunk-YPVMTO2L.js.map → chunk-2GRHFRZD.js.map} +1 -1
- package/module/chunks/{chunk-IAEE4XLH.js → chunk-3DNLXDXA.js} +9 -8
- package/module/chunks/{chunk-IAEE4XLH.js.map → chunk-3DNLXDXA.js.map} +2 -2
- package/module/chunks/{chunk-IQG5GSSX.js → chunk-3NDLE64O.js} +8 -7
- package/module/chunks/{chunk-IQG5GSSX.js.map → chunk-3NDLE64O.js.map} +2 -2
- package/module/chunks/{chunk-YKT3CRI6.js → chunk-3QT355V5.js} +2 -2
- package/module/chunks/{chunk-YKT3CRI6.js.map → chunk-3QT355V5.js.map} +1 -1
- package/module/chunks/{chunk-NCPTJ5RB.js → chunk-3R73WRRN.js} +18 -14
- package/module/chunks/chunk-3R73WRRN.js.map +7 -0
- package/module/chunks/{chunk-BRGYD3MR.js → chunk-4L4BWEM7.js} +2 -2
- package/module/chunks/{chunk-BRGYD3MR.js.map → chunk-4L4BWEM7.js.map} +1 -1
- package/module/chunks/{chunk-RODBPKID.js → chunk-4PUMQWA5.js} +6 -5
- package/module/chunks/{chunk-RODBPKID.js.map → chunk-4PUMQWA5.js.map} +2 -2
- package/module/chunks/{chunk-L4ZPYLUY.js → chunk-5CXOMUN4.js} +7 -6
- package/module/chunks/{chunk-L4ZPYLUY.js.map → chunk-5CXOMUN4.js.map} +1 -1
- package/module/chunks/{chunk-X7ATHE2S.js → chunk-5TGHI5GV.js} +2 -2
- package/module/chunks/{chunk-X7ATHE2S.js.map → chunk-5TGHI5GV.js.map} +1 -1
- package/module/chunks/{chunk-NJF2IOVV.js → chunk-6L4PTRMO.js} +2 -2
- package/module/chunks/{chunk-NJF2IOVV.js.map → chunk-6L4PTRMO.js.map} +1 -1
- package/module/chunks/{chunk-E2DI77AU.js → chunk-6VIKADMF.js} +2 -2
- package/module/chunks/{chunk-UPZBDSS7.js → chunk-7CJM54O3.js} +11 -8
- package/module/chunks/{chunk-UPZBDSS7.js.map → chunk-7CJM54O3.js.map} +1 -1
- package/module/chunks/{chunk-GWAXQYWY.js → chunk-AD6EIRYL.js} +11 -10
- package/module/chunks/{chunk-GWAXQYWY.js.map → chunk-AD6EIRYL.js.map} +2 -2
- package/module/chunks/{chunk-J5CY2G3T.js → chunk-AG73TP3S.js} +12 -9
- package/module/chunks/{chunk-J5CY2G3T.js.map → chunk-AG73TP3S.js.map} +1 -1
- package/module/chunks/{chunk-BLXVTG4B.js → chunk-AIH4ILPH.js} +12 -9
- package/module/chunks/{chunk-BLXVTG4B.js.map → chunk-AIH4ILPH.js.map} +1 -1
- package/module/chunks/{chunk-GRIJP4FT.js → chunk-ANTP4L4N.js} +18 -14
- package/module/chunks/chunk-ANTP4L4N.js.map +7 -0
- package/module/chunks/{chunk-4OLWQA6K.js → chunk-AROBR6WM.js} +11 -10
- package/module/chunks/{chunk-4OLWQA6K.js.map → chunk-AROBR6WM.js.map} +2 -2
- package/module/chunks/{chunk-VQIRZ53C.js → chunk-B5OBVUF5.js} +3 -1
- package/module/chunks/{chunk-NIACHGAA.js → chunk-BDLV2ADM.js} +3 -3
- package/module/chunks/{chunk-CFGNNO2V.js → chunk-BR42RPXM.js} +9 -8
- package/module/chunks/{chunk-CFGNNO2V.js.map → chunk-BR42RPXM.js.map} +2 -2
- package/module/chunks/{chunk-HIICL66H.js → chunk-BXDA2XH4.js} +2 -2
- package/module/chunks/{chunk-HIICL66H.js.map → chunk-BXDA2XH4.js.map} +1 -1
- package/module/chunks/{chunk-NWVLNDCF.js → chunk-CXXSJOFS.js} +2 -2
- package/module/chunks/{chunk-NWVLNDCF.js.map → chunk-CXXSJOFS.js.map} +1 -1
- package/module/chunks/{chunk-OSDOIGWB.js → chunk-DU4JCIM3.js} +2 -2
- package/module/chunks/{chunk-OSDOIGWB.js.map → chunk-DU4JCIM3.js.map} +1 -1
- package/module/chunks/{chunk-FVGABOJM.js → chunk-E5POXMHH.js} +15 -11
- package/module/chunks/chunk-E5POXMHH.js.map +7 -0
- package/module/chunks/chunk-FLMBGMR4.js +32 -0
- package/module/chunks/chunk-FLMBGMR4.js.map +7 -0
- package/module/chunks/{chunk-734QWOYU.js → chunk-GIXERSIF.js} +11 -10
- package/module/chunks/{chunk-734QWOYU.js.map → chunk-GIXERSIF.js.map} +1 -1
- package/module/chunks/{chunk-JXPIKVRZ.js → chunk-GUWB2JIP.js} +11 -10
- package/module/chunks/{chunk-JXPIKVRZ.js.map → chunk-GUWB2JIP.js.map} +1 -1
- package/module/chunks/{chunk-SIFZZCPT.js → chunk-HPEHWRJP.js} +31 -26
- package/module/chunks/chunk-HPEHWRJP.js.map +7 -0
- package/module/chunks/{chunk-52TYQW2Y.js → chunk-HTZYYFJO.js} +2 -2
- package/module/chunks/{chunk-52TYQW2Y.js.map → chunk-HTZYYFJO.js.map} +1 -1
- package/module/chunks/{chunk-JLYV2H24.js → chunk-HXK4QHPR.js} +3 -3
- package/module/chunks/{chunk-BSMCGXVQ.js → chunk-I7XN7DKU.js} +2 -2
- package/module/chunks/{chunk-BSMCGXVQ.js.map → chunk-I7XN7DKU.js.map} +1 -1
- package/module/chunks/{chunk-AWNWXBE4.js → chunk-JHFAWC4B.js} +9 -8
- package/module/chunks/{chunk-AWNWXBE4.js.map → chunk-JHFAWC4B.js.map} +2 -2
- package/module/chunks/{chunk-XUK4ZKWN.js → chunk-KDMM6KX4.js} +9 -8
- package/module/chunks/{chunk-XUK4ZKWN.js.map → chunk-KDMM6KX4.js.map} +1 -1
- package/module/chunks/{chunk-G6N5OMKL.js → chunk-L2MCGOFY.js} +2 -2
- package/module/chunks/{chunk-G6N5OMKL.js.map → chunk-L2MCGOFY.js.map} +1 -1
- package/module/chunks/{chunk-OIQNUT2X.js → chunk-LATZ7CUV.js} +7 -4
- package/module/chunks/{chunk-OIQNUT2X.js.map → chunk-LATZ7CUV.js.map} +1 -1
- package/module/chunks/{chunk-ECEBJH6K.js → chunk-LKIWD6NR.js} +12 -11
- package/module/chunks/{chunk-ECEBJH6K.js.map → chunk-LKIWD6NR.js.map} +2 -2
- package/module/chunks/{chunk-2QMHWIV5.js → chunk-N3HJVTLY.js} +16 -15
- package/module/chunks/{chunk-2QMHWIV5.js.map → chunk-N3HJVTLY.js.map} +2 -2
- package/module/chunks/{chunk-J2TRUM5N.js → chunk-PHOUPWEN.js} +2 -2
- package/module/chunks/{chunk-J2TRUM5N.js.map → chunk-PHOUPWEN.js.map} +1 -1
- package/module/chunks/{chunk-HXY4TSUO.js → chunk-PMXVITCC.js} +2 -2
- package/module/chunks/{chunk-HXY4TSUO.js.map → chunk-PMXVITCC.js.map} +1 -1
- package/module/chunks/{chunk-B2LPQWLD.js → chunk-Q4EASNDZ.js} +10 -9
- package/module/chunks/{chunk-B2LPQWLD.js.map → chunk-Q4EASNDZ.js.map} +2 -2
- package/module/chunks/{chunk-IGGLU44N.js → chunk-QPUZLO5O.js} +2 -2
- package/module/chunks/{chunk-IGGLU44N.js.map → chunk-QPUZLO5O.js.map} +1 -1
- package/module/chunks/{chunk-QU7RW3YZ.js → chunk-SELLU76G.js} +10 -7
- package/module/chunks/{chunk-QU7RW3YZ.js.map → chunk-SELLU76G.js.map} +1 -1
- package/module/chunks/{chunk-JILFF3WY.js → chunk-SMDUMR2P.js} +18 -14
- package/module/chunks/chunk-SMDUMR2P.js.map +7 -0
- package/module/chunks/{chunk-72YLBMXL.js → chunk-SPVRIPCR.js} +23 -19
- package/module/chunks/chunk-SPVRIPCR.js.map +7 -0
- package/module/chunks/{chunk-KEARZQAT.js → chunk-SRI3BMZH.js} +11 -10
- package/module/chunks/{chunk-KEARZQAT.js.map → chunk-SRI3BMZH.js.map} +1 -1
- package/module/chunks/{chunk-ETJ5YPF3.js → chunk-TLNR3NED.js} +9 -8
- package/module/chunks/{chunk-ETJ5YPF3.js.map → chunk-TLNR3NED.js.map} +1 -1
- package/module/chunks/{chunk-OTGQ73VF.js → chunk-UERW7LTA.js} +8 -7
- package/module/chunks/{chunk-OTGQ73VF.js.map → chunk-UERW7LTA.js.map} +2 -2
- package/module/chunks/{chunk-A3BAVEME.js → chunk-WPBXWBTX.js} +8 -7
- package/module/chunks/{chunk-A3BAVEME.js.map → chunk-WPBXWBTX.js.map} +2 -2
- package/module/chunks/{chunk-X2HLBQUA.js → chunk-YBGLF5LF.js} +14 -13
- package/module/chunks/{chunk-X2HLBQUA.js.map → chunk-YBGLF5LF.js.map} +1 -1
- package/module/chunks/{chunk-FSOMEJXM.js → chunk-ZCC73T4R.js} +8 -7
- package/module/chunks/{chunk-FSOMEJXM.js.map → chunk-ZCC73T4R.js.map} +2 -2
- 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 +51 -51
- package/package.json +18 -18
- package/types/buttons/Charts.d.ts.map +1 -1
- package/types/buttons/IconGallery.d.ts.map +1 -1
- package/types/buttons/Inputs.d.ts.map +1 -1
- package/types/buttons/Shapes.d.ts.map +1 -1
- package/types/buttons/tokenManager/TokenManager.d.ts +1 -1
- package/types/buttons/tokenManager/TokenManager.d.ts.map +1 -1
- package/types/groups/EditorsControlGroup.d.ts.map +1 -1
- package/types/groups/SidebarControlGroup.d.ts.map +1 -1
- package/module/chunks/chunk-72YLBMXL.js.map +0 -7
- package/module/chunks/chunk-FVGABOJM.js.map +0 -7
- package/module/chunks/chunk-GRIJP4FT.js.map +0 -7
- package/module/chunks/chunk-JILFF3WY.js.map +0 -7
- package/module/chunks/chunk-KJLRQLFH.js +0 -28
- package/module/chunks/chunk-NCPTJ5RB.js.map +0 -7
- package/module/chunks/chunk-SIFZZCPT.js.map +0 -7
- package/module/chunks/chunk-WFAY6ABE.js +0 -28
- package/module/chunks/chunk-WFAY6ABE.js.map +0 -7
- package/tsconfig.json +0 -9
- /package/module/chunks/{chunk-E2DI77AU.js.map → chunk-6VIKADMF.js.map} +0 -0
- /package/module/chunks/{chunk-VQIRZ53C.js.map → chunk-B5OBVUF5.js.map} +0 -0
- /package/module/chunks/{chunk-NIACHGAA.js.map → chunk-BDLV2ADM.js.map} +0 -0
- /package/module/chunks/{chunk-JLYV2H24.js.map → chunk-HXK4QHPR.js.map} +0 -0
package/buttons/ModeSwitch.js
CHANGED
|
@@ -8,6 +8,7 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
8
8
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
9
9
|
var __getProtoOf = Object.getPrototypeOf;
|
|
10
10
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
11
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
11
12
|
var __export = (target, all) => {
|
|
12
13
|
for (var name in all)
|
|
13
14
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
@@ -96,7 +97,7 @@ var styled_components_default = "default" in defaultImport6 ? defaultImport6.def
|
|
|
96
97
|
var Item_default = styled_components_default.div``;
|
|
97
98
|
|
|
98
99
|
// src/buttons/ModeSwitch.tsx
|
|
99
|
-
var ModeSwitch = () => {
|
|
100
|
+
var ModeSwitch = /* @__PURE__ */ __name(() => {
|
|
100
101
|
const mode = (0, dashboard_state_exports.useSelector)(dashboard_state_exports.selectMode);
|
|
101
102
|
const dashboardApi = (0, dashboard_context_exports.useDashboardApi)();
|
|
102
103
|
const appearance = mode === "edit" ? "secondary" : "primary";
|
|
@@ -116,6 +117,6 @@ var ModeSwitch = () => {
|
|
|
116
117
|
onClick: handleClick
|
|
117
118
|
}
|
|
118
119
|
));
|
|
119
|
-
};
|
|
120
|
+
}, "ModeSwitch");
|
|
120
121
|
var ModeSwitch_default = ModeSwitch;
|
|
121
122
|
//# sourceMappingURL=ModeSwitch.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/buttons/ModeSwitch.tsx", "react", "
|
|
3
|
+
"sources": ["../src/buttons/ModeSwitch.tsx", "esm-externals:react", "esm-externals:@splunk/react-ui/Button", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/dashboard-state", "esm-externals:@splunk/dashboard-context", "esm-externals:styled-components", "../src/Item.tsx"],
|
|
4
4
|
"sourcesContent": ["import React, { useCallback } from 'react';\nimport Button from '@splunk/react-ui/Button';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { useSelector, selectMode } from '@splunk/dashboard-state';\nimport { useDashboardApi } from '@splunk/dashboard-context';\nimport Item from '../Item';\n\n/**\n * Dashboard mode switch button\n */\nconst ModeSwitch = () => {\n const mode = useSelector(selectMode);\n const dashboardApi = useDashboardApi();\n const appearance = mode === 'edit' ? 'secondary' : 'primary';\n const label = mode === 'edit' ? _('View') : _('Edit');\n\n const handleClick = useCallback(() => {\n dashboardApi?.switchMode(mode === 'edit' ? 'view' : 'edit');\n }, [mode, dashboardApi]);\n\n return (\n <Item>\n <Button\n key=\"mode-button\"\n data-clickable\n data-test=\"mode-button\"\n inline={false}\n label={label}\n appearance={appearance}\n onClick={handleClick}\n />\n </Item>\n );\n};\n\nexport default ModeSwitch;\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/Button\";\nexport * from \"@splunk/react-ui/Button\";\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/dashboard-state\";\nexport * from \"@splunk/dashboard-state\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/dashboard-context\";\nexport * from \"@splunk/dashboard-context\";\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"],
|
|
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,2BAAc;AACd,IAAO,iBAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,yBAAc;AACd,IAAO,eAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,oCAAc;AACd,IAAO,0BAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,sCAAc;AACd,IAAO,4BAAS,aAAaA,iBAA8B,yBAAUA;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,sCAAc;AACd,IAAO,4BAAS,aAAaA,iBAA8B,yBAAUA;;;ACDrE,IAAO,eAAQ,0BAAO;;;APQtB,IAAM,aAAa,6BAAM;AACrB,QAAM,WAAO,qCAAY,kCAAU;AACnC,QAAM,mBAAe,2CAAgB;AACrC,QAAM,aAAa,SAAS,SAAS,cAAc;AACnD,QAAM,QAAQ,SAAS,aAAS,gBAAE,MAAM,QAAI,gBAAE,MAAM;AAEpD,QAAM,kBAAc,2BAAY,MAAM;AAClC,iDAAc,WAAW,SAAS,SAAS,SAAS;AAAA,EACxD,GAAG,CAAC,MAAM,YAAY,CAAC;AAEvB,SACI,4CAAC,oBACG;AAAA,IAAC;AAAA;AAAA,MACG,KAAI;AAAA,MACJ,kBAAc;AAAA,MACd,aAAU;AAAA,MACV,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA,SAAS;AAAA;AAAA,EACb,CACJ;AAER,GAvBmB;AAyBnB,IAAO,qBAAQ;",
|
|
6
6
|
"names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport"]
|
|
7
7
|
}
|
package/buttons/Redo.js
CHANGED
|
@@ -22,6 +22,7 @@ var __spreadValues = (a, b) => {
|
|
|
22
22
|
}
|
|
23
23
|
return a;
|
|
24
24
|
};
|
|
25
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
25
26
|
var __objRest = (source, exclude) => {
|
|
26
27
|
var target = {};
|
|
27
28
|
for (var prop in source)
|
|
@@ -136,7 +137,7 @@ var StyledDropdownIcon = styled_components_default(CaretDown_default)`
|
|
|
136
137
|
`;
|
|
137
138
|
var iconSize = 24;
|
|
138
139
|
var menuIconSize = 20;
|
|
139
|
-
var prepareIcon = (_a) => {
|
|
140
|
+
var prepareIcon = /* @__PURE__ */ __name((_a) => {
|
|
140
141
|
var _b = _a, {
|
|
141
142
|
Icon,
|
|
142
143
|
screenReaderContent,
|
|
@@ -148,8 +149,8 @@ var prepareIcon = (_a) => {
|
|
|
148
149
|
]);
|
|
149
150
|
const size = isMenu ? menuIconSize : iconSize;
|
|
150
151
|
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));
|
|
151
|
-
};
|
|
152
|
-
var IconButton = (_a) => {
|
|
152
|
+
}, "prepareIcon");
|
|
153
|
+
var IconButton = /* @__PURE__ */ __name((_a) => {
|
|
153
154
|
var _b = _a, {
|
|
154
155
|
icon: icon2,
|
|
155
156
|
buttonRef,
|
|
@@ -178,7 +179,7 @@ var IconButton = (_a) => {
|
|
|
178
179
|
"data-clickable": true
|
|
179
180
|
}
|
|
180
181
|
));
|
|
181
|
-
};
|
|
182
|
+
}, "IconButton");
|
|
182
183
|
var IconButton_default = IconButton;
|
|
183
184
|
|
|
184
185
|
// src/buttons/Redo.tsx
|
|
@@ -186,7 +187,7 @@ var icon = prepareIcon({
|
|
|
186
187
|
Icon: ArrowBowRight_default,
|
|
187
188
|
screenReaderContent: (0, i18n_exports._)("Redo")
|
|
188
189
|
});
|
|
189
|
-
var Redo = ({ dashboardApi }) => {
|
|
190
|
+
var Redo = /* @__PURE__ */ __name(({ dashboardApi }) => {
|
|
190
191
|
const [canRedo, setCanRedo] = (0, react_exports.useState)(
|
|
191
192
|
() => {
|
|
192
193
|
var _a;
|
|
@@ -222,6 +223,6 @@ var Redo = ({ dashboardApi }) => {
|
|
|
222
223
|
icon
|
|
223
224
|
}
|
|
224
225
|
);
|
|
225
|
-
};
|
|
226
|
+
}, "Redo");
|
|
226
227
|
var Redo_default = Redo;
|
|
227
228
|
//# sourceMappingURL=Redo.js.map
|
package/buttons/Redo.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/buttons/Redo.tsx", "react", "
|
|
3
|
+
"sources": ["../src/buttons/Redo.tsx", "esm-externals:react", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/react-icons/ArrowBowRight", "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, useState, useEffect } from 'react';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport RedoIcon from '@splunk/react-icons/ArrowBowRight';\nimport IconButton, { prepareIcon } from '../IconButton';\nimport type { ToolbarButtonProps } from '../types/common';\n\nconst icon = prepareIcon({\n Icon: RedoIcon,\n screenReaderContent: _('Redo'),\n});\n\nconst Redo = ({ dashboardApi }: ToolbarButtonProps) => {\n // TODO: replace when history management is done in redux\n // mode changes can cause the button to mount while there is a redo state\n const [canRedo, setCanRedo] = useState(\n () => dashboardApi?.canRedo() ?? false\n );\n\n const onDefinitionChange = useCallback(() => {\n setCanRedo(dashboardApi?.canRedo() ?? 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.redo({ source: 'toolbar' });\n }, [dashboardApi]);\n\n return (\n <IconButton\n testLabel=\"redo-button\"\n onClick={handleClick}\n disabled={!canRedo}\n icon={icon}\n />\n );\n};\n\nexport default Redo;\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/ArrowBowRight\";\nexport * from \"@splunk/react-icons/ArrowBowRight\";\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
|
}
|
package/buttons/Shapes.js
CHANGED
|
@@ -22,6 +22,7 @@ var __spreadValues = (a, b) => {
|
|
|
22
22
|
}
|
|
23
23
|
return a;
|
|
24
24
|
};
|
|
25
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
25
26
|
var __objRest = (source, exclude) => {
|
|
26
27
|
var target = {};
|
|
27
28
|
for (var prop in source)
|
|
@@ -160,7 +161,7 @@ var StyledDropdownButton = styled_components_default(Button_default)`
|
|
|
160
161
|
`;
|
|
161
162
|
|
|
162
163
|
// src/hooks/useDropdown.ts
|
|
163
|
-
var useDropdown = ({
|
|
164
|
+
var useDropdown = /* @__PURE__ */ __name(({
|
|
164
165
|
isContentClickClose = true
|
|
165
166
|
}) => {
|
|
166
167
|
const [isOpen, setIsOpen] = (0, react_exports.useState)(false);
|
|
@@ -193,7 +194,7 @@ var useDropdown = ({
|
|
|
193
194
|
handleForceClose,
|
|
194
195
|
setHasChildModal
|
|
195
196
|
};
|
|
196
|
-
};
|
|
197
|
+
}, "useDropdown");
|
|
197
198
|
var useDropdown_default = useDropdown;
|
|
198
199
|
|
|
199
200
|
// src/Item.tsx
|
|
@@ -216,7 +217,7 @@ var StyledLabel = styled_components_default.span`
|
|
|
216
217
|
overflow: hidden;
|
|
217
218
|
flex: 0 1 auto;
|
|
218
219
|
`;
|
|
219
|
-
var PopoverItemButton = ({ icon, label }) => /* @__PURE__ */ react_default.createElement(StyledContentWrapper, null, icon && /* @__PURE__ */ react_default.createElement(StyledIcon, null, icon), label && /* @__PURE__ */ react_default.createElement(StyledLabel, { "data-test": "label-title" }, label));
|
|
220
|
+
var PopoverItemButton = /* @__PURE__ */ __name(({ icon, label }) => /* @__PURE__ */ react_default.createElement(StyledContentWrapper, null, icon && /* @__PURE__ */ react_default.createElement(StyledIcon, null, icon), label && /* @__PURE__ */ react_default.createElement(StyledLabel, { "data-test": "label-title" }, label)), "PopoverItemButton");
|
|
220
221
|
var PopoverItemButton_default = PopoverItemButton;
|
|
221
222
|
|
|
222
223
|
// esm-externals:@splunk/react-icons/CaretDown
|
|
@@ -243,7 +244,7 @@ var StyledDropdownIcon = styled_components_default(CaretDown_default)`
|
|
|
243
244
|
`;
|
|
244
245
|
var iconSize = 24;
|
|
245
246
|
var menuIconSize = 20;
|
|
246
|
-
var prepareIcon = (_a) => {
|
|
247
|
+
var prepareIcon = /* @__PURE__ */ __name((_a) => {
|
|
247
248
|
var _b = _a, {
|
|
248
249
|
Icon,
|
|
249
250
|
screenReaderContent,
|
|
@@ -255,7 +256,7 @@ var prepareIcon = (_a) => {
|
|
|
255
256
|
]);
|
|
256
257
|
const size = isMenu ? menuIconSize : iconSize;
|
|
257
258
|
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));
|
|
258
|
-
};
|
|
259
|
+
}, "prepareIcon");
|
|
259
260
|
|
|
260
261
|
// src/buttons/Shapes.tsx
|
|
261
262
|
var shapesDropdown = prepareIcon({
|
|
@@ -272,11 +273,14 @@ var ButtonToggle = /* @__PURE__ */ react_default.createElement(
|
|
|
272
273
|
icon: shapesDropdown
|
|
273
274
|
}
|
|
274
275
|
);
|
|
275
|
-
var focusToggleReasons = [
|
|
276
|
+
var focusToggleReasons = [
|
|
277
|
+
"escapeKey",
|
|
278
|
+
"tabKey"
|
|
279
|
+
];
|
|
276
280
|
var circleIcon = /* @__PURE__ */ react_default.createElement(Circle_default, null);
|
|
277
281
|
var uncheckedBoxIcon = /* @__PURE__ */ react_default.createElement(Square_default, null);
|
|
278
282
|
var lineIcon = /* @__PURE__ */ react_default.createElement(Line_default, null);
|
|
279
|
-
var Shapes = ({ dashboardApi, layoutType }) => {
|
|
283
|
+
var Shapes = /* @__PURE__ */ __name(({ dashboardApi, layoutType }) => {
|
|
280
284
|
const supportLine = layoutType === "absolute";
|
|
281
285
|
const { handleRequestClose, handleRequestOpen, isOpen } = useDropdown_default({
|
|
282
286
|
isContentClickClose: true
|
|
@@ -352,6 +356,6 @@ var Shapes = ({ dashboardApi, layoutType }) => {
|
|
|
352
356
|
)
|
|
353
357
|
))
|
|
354
358
|
));
|
|
355
|
-
};
|
|
359
|
+
}, "Shapes");
|
|
356
360
|
var Shapes_default = Shapes;
|
|
357
361
|
//# sourceMappingURL=Shapes.js.map
|
package/buttons/Shapes.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/buttons/Shapes.tsx", "react", "
|
|
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 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: never[] = [];\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": "
|
|
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
|
+
"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": "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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,6 +22,7 @@ var __spreadValues = (a, b) => {
|
|
|
22
22
|
}
|
|
23
23
|
return a;
|
|
24
24
|
};
|
|
25
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
25
26
|
var __objRest = (source, exclude) => {
|
|
26
27
|
var target = {};
|
|
27
28
|
for (var prop in source)
|
|
@@ -136,7 +137,7 @@ var StyledDropdownIcon = styled_components_default(CaretDown_default)`
|
|
|
136
137
|
`;
|
|
137
138
|
var iconSize = 24;
|
|
138
139
|
var menuIconSize = 20;
|
|
139
|
-
var prepareIcon = (_a) => {
|
|
140
|
+
var prepareIcon = /* @__PURE__ */ __name((_a) => {
|
|
140
141
|
var _b = _a, {
|
|
141
142
|
Icon,
|
|
142
143
|
screenReaderContent,
|
|
@@ -148,8 +149,8 @@ var prepareIcon = (_a) => {
|
|
|
148
149
|
]);
|
|
149
150
|
const size = isMenu ? menuIconSize : iconSize;
|
|
150
151
|
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));
|
|
151
|
-
};
|
|
152
|
-
var IconButton = (_a) => {
|
|
152
|
+
}, "prepareIcon");
|
|
153
|
+
var IconButton = /* @__PURE__ */ __name((_a) => {
|
|
153
154
|
var _b = _a, {
|
|
154
155
|
icon: icon2,
|
|
155
156
|
buttonRef,
|
|
@@ -178,7 +179,7 @@ var IconButton = (_a) => {
|
|
|
178
179
|
"data-clickable": true
|
|
179
180
|
}
|
|
180
181
|
));
|
|
181
|
-
};
|
|
182
|
+
}, "IconButton");
|
|
182
183
|
var IconButton_default = IconButton;
|
|
183
184
|
|
|
184
185
|
// src/buttons/Source.tsx
|
|
@@ -186,7 +187,7 @@ var icon = prepareIcon({
|
|
|
186
187
|
Icon: WindowChevronsSlash_default,
|
|
187
188
|
screenReaderContent: (0, i18n_exports._)("Source code")
|
|
188
189
|
});
|
|
189
|
-
var Source = ({ disabled = false, onClick }) => /* @__PURE__ */ react_default.createElement(
|
|
190
|
+
var Source = /* @__PURE__ */ __name(({ disabled = false, onClick }) => /* @__PURE__ */ react_default.createElement(
|
|
190
191
|
IconButton_default,
|
|
191
192
|
{
|
|
192
193
|
testLabel: "source-button",
|
|
@@ -194,6 +195,6 @@ var Source = ({ disabled = false, onClick }) => /* @__PURE__ */ react_default.cr
|
|
|
194
195
|
disabled,
|
|
195
196
|
icon
|
|
196
197
|
}
|
|
197
|
-
);
|
|
198
|
+
), "Source");
|
|
198
199
|
var Source_default = Source;
|
|
199
200
|
//# sourceMappingURL=Source.js.map
|
package/buttons/Source.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/buttons/Source.tsx", "react", "
|
|
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,wBAAC,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,GAlB2B;AA6B3B,IAAM,aAAa,wBAAC,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,GAvBmB;AAyBnB,IAAO,qBAAQ;;;AT7Ef,IAAM,OAAO,YAAY;AAAA,EACrB,MAAM;AAAA,EACN,yBAAqB,gBAAE,aAAa;AACxC,CAAC;AAKD,IAAM,SAAS,wBAAC,EAAE,WAAW,OAAO,QAAQ,MACxC;AAAA,EAAC;AAAA;AAAA,IACG,WAAU;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA;AACJ,GANW;AASf,IAAO,iBAAQ;",
|
|
6
6
|
"names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "icon"]
|
|
7
7
|
}
|
package/buttons/Undo.js
CHANGED
|
@@ -22,6 +22,7 @@ var __spreadValues = (a, b) => {
|
|
|
22
22
|
}
|
|
23
23
|
return a;
|
|
24
24
|
};
|
|
25
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
25
26
|
var __objRest = (source, exclude) => {
|
|
26
27
|
var target = {};
|
|
27
28
|
for (var prop in source)
|
|
@@ -136,7 +137,7 @@ var StyledDropdownIcon = styled_components_default(CaretDown_default)`
|
|
|
136
137
|
`;
|
|
137
138
|
var iconSize = 24;
|
|
138
139
|
var menuIconSize = 20;
|
|
139
|
-
var prepareIcon = (_a) => {
|
|
140
|
+
var prepareIcon = /* @__PURE__ */ __name((_a) => {
|
|
140
141
|
var _b = _a, {
|
|
141
142
|
Icon,
|
|
142
143
|
screenReaderContent,
|
|
@@ -148,8 +149,8 @@ var prepareIcon = (_a) => {
|
|
|
148
149
|
]);
|
|
149
150
|
const size = isMenu ? menuIconSize : iconSize;
|
|
150
151
|
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));
|
|
151
|
-
};
|
|
152
|
-
var IconButton = (_a) => {
|
|
152
|
+
}, "prepareIcon");
|
|
153
|
+
var IconButton = /* @__PURE__ */ __name((_a) => {
|
|
153
154
|
var _b = _a, {
|
|
154
155
|
icon: icon2,
|
|
155
156
|
buttonRef,
|
|
@@ -178,7 +179,7 @@ var IconButton = (_a) => {
|
|
|
178
179
|
"data-clickable": true
|
|
179
180
|
}
|
|
180
181
|
));
|
|
181
|
-
};
|
|
182
|
+
}, "IconButton");
|
|
182
183
|
var IconButton_default = IconButton;
|
|
183
184
|
|
|
184
185
|
// src/buttons/Undo.tsx
|
|
@@ -186,7 +187,7 @@ var icon = prepareIcon({
|
|
|
186
187
|
Icon: ArrowBowLeft_default,
|
|
187
188
|
screenReaderContent: (0, i18n_exports._)("Undo")
|
|
188
189
|
});
|
|
189
|
-
var Undo = ({ dashboardApi }) => {
|
|
190
|
+
var Undo = /* @__PURE__ */ __name(({ dashboardApi }) => {
|
|
190
191
|
const [canUndo, setCanUndo] = (0, react_exports.useState)(
|
|
191
192
|
() => {
|
|
192
193
|
var _a;
|
|
@@ -222,6 +223,6 @@ var Undo = ({ dashboardApi }) => {
|
|
|
222
223
|
icon
|
|
223
224
|
}
|
|
224
225
|
);
|
|
225
|
-
};
|
|
226
|
+
}, "Undo");
|
|
226
227
|
var Undo_default = Undo;
|
|
227
228
|
//# sourceMappingURL=Undo.js.map
|
package/buttons/Undo.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/buttons/Undo.tsx", "react", "
|
|
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
|
}
|