@luquimbo/bi-superpowers 3.1.1 → 3.2.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.
Files changed (107) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.claude-plugin/skill-manifest.json +1 -1
  4. package/.plugin/plugin.json +1 -1
  5. package/bin/build-plugin.js +6 -6
  6. package/bin/cli.js +169 -310
  7. package/bin/commands/install.js +87 -70
  8. package/bin/lib/agents.js +19 -0
  9. package/bin/lib/mcp-config.js +23 -4
  10. package/desktop-extension/manifest.json +4 -11
  11. package/desktop-extension/server.js +34 -25
  12. package/package.json +3 -9
  13. package/skills/pbi-connect/SKILL.md +1 -1
  14. package/skills/project-kickoff/SKILL.md +1 -1
  15. package/bin/commands/add.js +0 -533
  16. package/bin/commands/add.test.js +0 -77
  17. package/bin/commands/changelog.js +0 -443
  18. package/bin/commands/pull.js +0 -287
  19. package/bin/commands/pull.test.js +0 -36
  20. package/bin/commands/push.js +0 -231
  21. package/bin/commands/push.test.js +0 -14
  22. package/bin/commands/search.js +0 -344
  23. package/bin/commands/search.test.js +0 -115
  24. package/bin/commands/setup.js +0 -545
  25. package/bin/commands/setup.test.js +0 -46
  26. package/bin/commands/sync-profile.js +0 -405
  27. package/bin/commands/sync-profile.test.js +0 -14
  28. package/bin/commands/sync-source.js +0 -418
  29. package/bin/commands/sync-source.test.js +0 -14
  30. package/bin/utils/errors.js +0 -159
  31. package/bin/utils/git.js +0 -298
  32. package/bin/utils/logger.js +0 -142
  33. package/bin/utils/pbix.js +0 -305
  34. package/bin/utils/pbix.test.js +0 -37
  35. package/bin/utils/profiles.js +0 -312
  36. package/bin/utils/projects.js +0 -169
  37. package/bin/utils/readline.js +0 -206
  38. package/bin/utils/readline.test.js +0 -47
  39. package/docs/openrouter-free-models.md +0 -92
  40. package/library/examples/README.md +0 -151
  41. package/library/examples/finance-reporting/README.md +0 -351
  42. package/library/examples/finance-reporting/data-model.md +0 -267
  43. package/library/examples/finance-reporting/measures.dax +0 -557
  44. package/library/examples/hr-analytics/README.md +0 -371
  45. package/library/examples/hr-analytics/data-model.md +0 -315
  46. package/library/examples/hr-analytics/measures.dax +0 -460
  47. package/library/examples/marketing-analytics/README.md +0 -37
  48. package/library/examples/marketing-analytics/data-model.md +0 -62
  49. package/library/examples/marketing-analytics/measures.dax +0 -110
  50. package/library/examples/retail-analytics/README.md +0 -439
  51. package/library/examples/retail-analytics/data-model.md +0 -288
  52. package/library/examples/retail-analytics/measures.dax +0 -481
  53. package/library/examples/supply-chain/README.md +0 -37
  54. package/library/examples/supply-chain/data-model.md +0 -69
  55. package/library/examples/supply-chain/measures.dax +0 -77
  56. package/library/examples/udf-library/README.md +0 -228
  57. package/library/examples/udf-library/functions.dax +0 -571
  58. package/library/snippets/dax/README.md +0 -292
  59. package/library/snippets/dax/business-domains.md +0 -576
  60. package/library/snippets/dax/calculate-patterns.md +0 -276
  61. package/library/snippets/dax/calculation-groups.md +0 -489
  62. package/library/snippets/dax/error-handling.md +0 -495
  63. package/library/snippets/dax/iterators-and-aggregations.md +0 -474
  64. package/library/snippets/dax/kpis-and-metrics.md +0 -293
  65. package/library/snippets/dax/rankings-and-topn.md +0 -235
  66. package/library/snippets/dax/security-patterns.md +0 -413
  67. package/library/snippets/dax/text-and-formatting.md +0 -316
  68. package/library/snippets/dax/time-intelligence.md +0 -196
  69. package/library/snippets/dax/user-defined-functions.md +0 -477
  70. package/library/snippets/dax/virtual-tables.md +0 -546
  71. package/library/snippets/excel-formulas/README.md +0 -84
  72. package/library/snippets/excel-formulas/aggregations.md +0 -330
  73. package/library/snippets/excel-formulas/dates-and-times.md +0 -361
  74. package/library/snippets/excel-formulas/dynamic-arrays.md +0 -314
  75. package/library/snippets/excel-formulas/lookups.md +0 -169
  76. package/library/snippets/excel-formulas/text-functions.md +0 -363
  77. package/library/snippets/governance/naming-conventions.md +0 -97
  78. package/library/snippets/governance/review-checklists.md +0 -107
  79. package/library/snippets/power-query/README.md +0 -389
  80. package/library/snippets/power-query/api-integration.md +0 -707
  81. package/library/snippets/power-query/connections.md +0 -434
  82. package/library/snippets/power-query/data-cleaning.md +0 -298
  83. package/library/snippets/power-query/error-handling.md +0 -526
  84. package/library/snippets/power-query/parameters.md +0 -350
  85. package/library/snippets/power-query/performance.md +0 -506
  86. package/library/snippets/power-query/transformations.md +0 -330
  87. package/library/snippets/report-design/accessibility.md +0 -78
  88. package/library/snippets/report-design/chart-selection.md +0 -54
  89. package/library/snippets/report-design/layout-patterns.md +0 -87
  90. package/library/templates/data-models/README.md +0 -93
  91. package/library/templates/data-models/finance-model.md +0 -627
  92. package/library/templates/data-models/retail-star-schema.md +0 -473
  93. package/library/templates/excel/README.md +0 -83
  94. package/library/templates/excel/budget-tracker.md +0 -432
  95. package/library/templates/excel/data-entry-form.md +0 -533
  96. package/library/templates/power-bi/README.md +0 -72
  97. package/library/templates/power-bi/finance-report.md +0 -449
  98. package/library/templates/power-bi/kpi-scorecard.md +0 -461
  99. package/library/templates/power-bi/sales-dashboard.md +0 -281
  100. package/library/themes/excel/README.md +0 -436
  101. package/library/themes/power-bi/README.md +0 -271
  102. package/library/themes/power-bi/accessible.json +0 -307
  103. package/library/themes/power-bi/bi-superpowers-default.json +0 -858
  104. package/library/themes/power-bi/corporate-blue.json +0 -291
  105. package/library/themes/power-bi/dark-mode.json +0 -291
  106. package/library/themes/power-bi/minimal.json +0 -292
  107. package/library/themes/power-bi/print-friendly.json +0 -309
@@ -1,271 +0,0 @@
1
- # Power BI Themes
2
-
3
- Collection of professionally designed `.json` theme files for Power BI reports.
4
-
5
- ## Available Themes
6
-
7
- | Theme | Description | Best For |
8
- |-------|-------------|----------|
9
- | [bi-superpowers-default.json](./bi-superpowers-default.json) | **Recommended** - Shadcn/UI + IBCS standards | Professional BI reports |
10
- | [corporate-blue.json](./corporate-blue.json) | Microsoft-style blue palette | Corporate dashboards |
11
- | [dark-mode.json](./dark-mode.json) | Dark background with vibrant accents | Extended viewing, demos |
12
- | [accessible.json](./accessible.json) | WCAG AA compliant, colorblind-friendly | Public-facing, accessibility-required |
13
- | [minimal.json](./minimal.json) | Ultra-clean, no borders, maximum white space | Executive presentations |
14
- | [print-friendly.json](./print-friendly.json) | High contrast, solid borders, grayscale-compatible | PDF export, printing |
15
-
16
- ## Theme Comparison
17
-
18
- | Feature | Default | Corporate Blue | Dark Mode | Accessible | Minimal | Print |
19
- |---------|---------|----------------|-----------|------------|---------|-------|
20
- | Background | Light gray | Off-white | Dark gray | White | White | White |
21
- | Data colors | IBCS grayscale | Blues + accents | Vibrant | Colorblind-safe | Muted | High contrast |
22
- | Borders | Subtle (10px radius) | Subtle (8px) | Subtle (8px) | Strong (4px) | None | Solid (1px) |
23
- | Best contrast | Good | Good | Excellent | Excellent | Good | Excellent |
24
- | Print-friendly | Yes | Yes | No | Yes | Yes | Excellent |
25
- | Colorblind-safe | Yes | Partial | Partial | Yes | Partial | Yes |
26
-
27
- ---
28
-
29
- ## BI Agent Superpowers Default Theme
30
-
31
- Our recommended theme combines modern design with data visualization best practices.
32
-
33
- ### Design System: Shadcn/UI
34
-
35
- - Clean, minimalist interface
36
- - System fonts (Segoe UI, SF Pro)
37
- - Subtle borders with 10px radius
38
- - Light backgrounds (#FAFAFA page, #FFFFFF cards)
39
- - Consistent spacing and typography
40
-
41
- ### Data Colors: IBCS Standards
42
-
43
- Following [International Business Communication Standards](https://www.ibcs.com/):
44
-
45
- | Purpose | Color | Hex | Usage |
46
- |---------|-------|-----|-------|
47
- | Actual (Primary) | Black | `#000000` | Current period data |
48
- | Previous Year | Gray | `#737373` | Comparison data |
49
- | Secondary | Light Gray | `#A3A3A3` | Additional series |
50
- | Tertiary | Lighter Gray | `#D4D4D4` | Background data |
51
- | Positive/Good | Dark Green | `#166534` | Favorable variance |
52
- | Negative/Bad | Dark Red | `#991B1B` | Unfavorable variance |
53
- | Neutral | Gray | `#737373` | No change |
54
-
55
- ---
56
-
57
- ## Accessible Theme
58
-
59
- Designed for WCAG AA compliance and colorblind accessibility.
60
-
61
- ### Features
62
-
63
- - **High contrast**: All text meets 4.5:1 contrast ratio
64
- - **Colorblind-safe palette**: Wong colorblind-friendly colors
65
- - **Larger fonts**: Increased base font sizes
66
- - **Stronger borders**: 2px borders for clear visual separation
67
- - **Pattern-friendly**: Colors work with patterns if needed
68
-
69
- ### Color Palette
70
-
71
- Based on the Wong colorblind-friendly palette:
72
-
73
- | Color | Hex | RGB | Usage |
74
- |-------|-----|-----|-------|
75
- | Blue | `#0072B2` | 0, 114, 178 | Primary |
76
- | Orange | `#E69F00` | 230, 159, 0 | Secondary |
77
- | Green | `#009E73` | 0, 158, 115 | Positive |
78
- | Pink | `#CC79A7` | 204, 121, 167 | Accent |
79
- | Sky Blue | `#56B4E9` | 86, 180, 233 | Highlight |
80
- | Vermillion | `#D55E00` | 213, 94, 0 | Negative |
81
-
82
- ---
83
-
84
- ## Minimal Theme
85
-
86
- Ultra-clean design for executive presentations and storytelling.
87
-
88
- ### Features
89
-
90
- - **No borders**: Visuals blend into the page
91
- - **Hidden axes**: Focus on data labels, not gridlines
92
- - **No legends**: Use direct labeling instead
93
- - **Maximum white space**: Clean, uncluttered appearance
94
- - **Transparent backgrounds**: Seamless visual integration
95
-
96
- ### Best Practices with Minimal
97
-
98
- 1. Use direct data labels instead of legends
99
- 2. Limit visuals per page (3-4 maximum)
100
- 3. Let the data speak - remove chart clutter
101
- 4. Use titles sparingly - they should add context
102
-
103
- ---
104
-
105
- ## Print-Friendly Theme
106
-
107
- Optimized for PDF export and physical printing.
108
-
109
- ### Features
110
-
111
- - **Black borders**: Clear separation when printed
112
- - **High contrast**: Readable at lower DPI
113
- - **No transparency**: Solid colors throughout
114
- - **Legends at bottom**: Better page flow
115
- - **Grayscale-compatible**: First 3 data colors are grayscale
116
-
117
- ### Print Recommendations
118
-
119
- 1. Export at 150 DPI minimum for quality
120
- 2. Use landscape orientation for dashboards
121
- 3. Test print in B&W to verify readability
122
- 4. Check margins before final export
123
-
124
- ---
125
-
126
- ## How to Apply a Theme
127
-
128
- ### In Power BI Desktop
129
-
130
- 1. Go to **View** > **Themes** > **Browse for themes**
131
- 2. Select the `.json` file from this folder
132
- 3. Theme applies to all pages immediately
133
-
134
- ### In Power BI Service
135
-
136
- 1. Open report in **Edit** mode
137
- 2. **View** > **Themes** > **Browse for themes**
138
- 3. Upload the `.json` file
139
-
140
- ### Switching Themes
141
-
142
- Changing themes preserves your visuals and data - only formatting changes. You can safely experiment with different themes.
143
-
144
- ---
145
-
146
- ## IBCS Color Philosophy
147
-
148
- IBCS recommends using **grayscale for data** and **color only for meaning**:
149
-
150
- ```
151
- Grayscale = Data (Actual, PY, Plan, Forecast)
152
- Green = Positive variance / Good
153
- Red = Negative variance / Bad
154
- ```
155
-
156
- This approach:
157
- - Reduces visual noise
158
- - Highlights what matters (variances)
159
- - Works for colorblind users
160
- - Prints well in B&W
161
-
162
- ### IBCS Patterns Note
163
-
164
- Power BI native visuals don't support hatched patterns. For full IBCS compliance with patterns (outlined for Plan, hatched for Forecast), consider:
165
- - [Zebra BI](https://zebrabi.com/)
166
- - [Inforiver](https://inforiver.com/)
167
-
168
- ---
169
-
170
- ## Theme Structure
171
-
172
- ```json
173
- {
174
- "name": "Theme Name",
175
- "description": "Brief description",
176
- "dataColors": ["#000000", "#737373", "..."],
177
- "background": "#FFFFFF",
178
- "foreground": "#171717",
179
- "tableAccent": "#0078D4",
180
- "good": "#166534",
181
- "bad": "#991B1B",
182
- "neutral": "#737373",
183
- "maximum": "#166534",
184
- "minimum": "#991B1B",
185
- "center": "#737373",
186
- "textClasses": {
187
- "callout": { "fontFace": "...", "fontSize": 28, "color": "..." },
188
- "title": { ... },
189
- "header": { ... },
190
- "label": { ... }
191
- },
192
- "visualStyles": {
193
- "*": { "*": { ... } },
194
- "card": { "*": { ... } },
195
- "lineChart": { "*": { ... } },
196
- ...
197
- }
198
- }
199
- ```
200
-
201
- ### Key Properties
202
-
203
- | Property | Description |
204
- |----------|-------------|
205
- | `name` | Theme name shown in Power BI |
206
- | `description` | Theme description |
207
- | `dataColors` | Array of colors for data series (8 recommended) |
208
- | `background` | Default visual background |
209
- | `foreground` | Default text color |
210
- | `tableAccent` | Table header and accent color |
211
- | `good` / `bad` / `neutral` | Sentiment colors for KPIs |
212
- | `maximum` / `minimum` / `center` | Conditional formatting colors |
213
- | `textClasses` | Typography definitions |
214
- | `visualStyles` | Visual-specific styling |
215
-
216
- ---
217
-
218
- ## Creating Custom Themes
219
-
220
- ### Start from a Template
221
-
222
- 1. Copy an existing theme as your starting point
223
- 2. Modify colors to match your brand
224
- 3. Test in Power BI Desktop
225
- 4. Iterate until satisfied
226
-
227
- ### Use Theme Tweaker
228
-
229
- The [Theme Tweaker Skill](../../skills/theme-tweaker/SKILL.md) can help you:
230
- - Generate a theme from brand colors
231
- - Modify existing themes interactively
232
- - Ensure accessibility compliance
233
-
234
- ### Testing Checklist
235
-
236
- - [ ] Apply theme to a report with various visual types
237
- - [ ] Check all chart types render correctly
238
- - [ ] Verify text is readable (contrast)
239
- - [ ] Test conditional formatting (good/bad/neutral)
240
- - [ ] Export to PDF and verify appearance
241
- - [ ] Test on different screen sizes
242
-
243
- ---
244
-
245
- ## Contributing
246
-
247
- Add new themes following these guidelines:
248
-
249
- 1. **Naming**: Use descriptive filenames (e.g., `healthcare-blue.json`)
250
- 2. **Structure**: Include all required properties
251
- 3. **Testing**: Verify with multiple visual types
252
- 4. **Documentation**: Update this README with theme description
253
- 5. **Rationale**: Explain the design philosophy
254
-
255
- ### Submission Checklist
256
-
257
- - [ ] Valid JSON (no syntax errors)
258
- - [ ] All required properties present
259
- - [ ] 8 data colors defined
260
- - [ ] Tested in Power BI Desktop
261
- - [ ] README updated
262
-
263
- ---
264
-
265
- ## Resources
266
-
267
- - [IBCS Standards](https://www.ibcs.com/)
268
- - [Microsoft Theme Schema](https://github.com/microsoft/powerbi-desktop-samples/tree/main/Report%20Theme%20JSON%20Schema)
269
- - [Power BI Theme Templates](https://github.com/MattRudy/PowerBI-ThemeTemplates)
270
- - [Color Contrast Checker](https://webaim.org/resources/contrastchecker/)
271
- - [Colorblind Simulator](https://www.color-blindness.com/coblis-color-blindness-simulator/)
@@ -1,307 +0,0 @@
1
- {
2
- "name": "Accessible",
3
- "description": "WCAG AA compliant theme with high contrast and colorblind-friendly palette",
4
- "dataColors": [
5
- "#0072B2",
6
- "#E69F00",
7
- "#009E73",
8
- "#CC79A7",
9
- "#56B4E9",
10
- "#D55E00",
11
- "#F0E442",
12
- "#000000"
13
- ],
14
- "background": "#FFFFFF",
15
- "foreground": "#1A1A1A",
16
- "tableAccent": "#0072B2",
17
- "good": "#009E73",
18
- "bad": "#D55E00",
19
- "neutral": "#666666",
20
- "maximum": "#009E73",
21
- "minimum": "#D55E00",
22
- "center": "#666666",
23
- "textClasses": {
24
- "callout": {
25
- "fontFace": "'Segoe UI', 'Helvetica Neue', Arial, sans-serif",
26
- "fontSize": 32,
27
- "color": "#1A1A1A"
28
- },
29
- "title": {
30
- "fontFace": "'Segoe UI Semibold', 'Helvetica Neue', Arial, sans-serif",
31
- "fontSize": 16,
32
- "color": "#1A1A1A"
33
- },
34
- "header": {
35
- "fontFace": "'Segoe UI Semibold', 'Helvetica Neue', Arial, sans-serif",
36
- "fontSize": 14,
37
- "color": "#1A1A1A"
38
- },
39
- "label": {
40
- "fontFace": "'Segoe UI', 'Helvetica Neue', Arial, sans-serif",
41
- "fontSize": 12,
42
- "color": "#333333"
43
- }
44
- },
45
- "visualStyles": {
46
- "*": {
47
- "*": {
48
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } }, "transparency": 0 }],
49
- "border": [{ "color": "#333333", "radius": 4 }],
50
- "outlineColor": [{ "solid": { "color": "#333333" } }],
51
- "outlineWeight": [{ "weight": 2 }],
52
- "title": [{
53
- "show": true,
54
- "fontColor": { "solid": { "color": "#1A1A1A" } },
55
- "fontSize": 16
56
- }]
57
- }
58
- },
59
- "page": {
60
- "*": {
61
- "background": [{ "color": { "solid": { "color": "#F5F5F5" } }, "transparency": 0 }]
62
- }
63
- },
64
- "card": {
65
- "*": {
66
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
67
- "border": [{ "color": "#333333", "radius": 4 }],
68
- "categoryLabels": [{ "show": true, "color": { "solid": { "color": "#333333" } }, "fontSize": 14 }],
69
- "wordWrap": [{ "show": true }]
70
- }
71
- },
72
- "multiRowCard": {
73
- "*": {
74
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
75
- "border": [{ "color": "#333333", "radius": 4 }],
76
- "cardTitle": [{ "color": { "solid": { "color": "#1A1A1A" } }, "fontSize": 14 }]
77
- }
78
- },
79
- "clusteredColumnChart": {
80
- "*": {
81
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
82
- "border": [{ "color": "#333333", "radius": 4 }],
83
- "legend": [{ "show": true, "position": "Top", "labelColor": { "solid": { "color": "#1A1A1A" } }, "fontSize": 12 }],
84
- "categoryAxis": [{
85
- "show": true,
86
- "labelColor": { "solid": { "color": "#1A1A1A" } },
87
- "gridlineShow": false,
88
- "fontSize": 12
89
- }],
90
- "valueAxis": [{
91
- "show": true,
92
- "labelColor": { "solid": { "color": "#1A1A1A" } },
93
- "gridlineShow": true,
94
- "gridlineColor": { "solid": { "color": "#CCCCCC" } },
95
- "fontSize": 12
96
- }],
97
- "dataPoint": [{ "showAllDataPoints": true }]
98
- }
99
- },
100
- "clusteredBarChart": {
101
- "*": {
102
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
103
- "border": [{ "color": "#333333", "radius": 4 }],
104
- "legend": [{ "show": true, "position": "Top", "labelColor": { "solid": { "color": "#1A1A1A" } }, "fontSize": 12 }],
105
- "categoryAxis": [{
106
- "show": true,
107
- "labelColor": { "solid": { "color": "#1A1A1A" } },
108
- "gridlineShow": false,
109
- "fontSize": 12
110
- }],
111
- "valueAxis": [{
112
- "show": true,
113
- "labelColor": { "solid": { "color": "#1A1A1A" } },
114
- "gridlineShow": true,
115
- "gridlineColor": { "solid": { "color": "#CCCCCC" } },
116
- "fontSize": 12
117
- }]
118
- }
119
- },
120
- "lineChart": {
121
- "*": {
122
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
123
- "border": [{ "color": "#333333", "radius": 4 }],
124
- "legend": [{ "show": true, "position": "Top", "labelColor": { "solid": { "color": "#1A1A1A" } }, "fontSize": 12 }],
125
- "categoryAxis": [{
126
- "show": true,
127
- "labelColor": { "solid": { "color": "#1A1A1A" } },
128
- "gridlineShow": false,
129
- "fontSize": 12
130
- }],
131
- "valueAxis": [{
132
- "show": true,
133
- "labelColor": { "solid": { "color": "#1A1A1A" } },
134
- "gridlineShow": true,
135
- "gridlineColor": { "solid": { "color": "#CCCCCC" } },
136
- "fontSize": 12
137
- }],
138
- "dataPoint": [{ "markerSize": 8 }],
139
- "lineStyles": [{ "strokeWidth": 3 }]
140
- }
141
- },
142
- "areaChart": {
143
- "*": {
144
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
145
- "border": [{ "color": "#333333", "radius": 4 }]
146
- }
147
- },
148
- "pieChart": {
149
- "*": {
150
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
151
- "border": [{ "color": "#333333", "radius": 4 }],
152
- "legend": [{ "show": true, "position": "Right", "labelColor": { "solid": { "color": "#1A1A1A" } }, "fontSize": 12 }],
153
- "labels": [{ "show": true, "color": { "solid": { "color": "#1A1A1A" } }, "fontSize": 12 }]
154
- }
155
- },
156
- "donutChart": {
157
- "*": {
158
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
159
- "border": [{ "color": "#333333", "radius": 4 }],
160
- "legend": [{ "show": true, "position": "Right", "labelColor": { "solid": { "color": "#1A1A1A" } }, "fontSize": 12 }]
161
- }
162
- },
163
- "waterfallChart": {
164
- "*": {
165
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
166
- "border": [{ "color": "#333333", "radius": 4 }],
167
- "sentimentColors": [{
168
- "increaseFill": { "solid": { "color": "#009E73" } },
169
- "decreaseFill": { "solid": { "color": "#D55E00" } },
170
- "totalFill": { "solid": { "color": "#0072B2" } }
171
- }]
172
- }
173
- },
174
- "funnel": {
175
- "*": {
176
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
177
- "border": [{ "color": "#333333", "radius": 4 }]
178
- }
179
- },
180
- "gauge": {
181
- "*": {
182
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
183
- "border": [{ "color": "#333333", "radius": 4 }]
184
- }
185
- },
186
- "kpi": {
187
- "*": {
188
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
189
- "border": [{ "color": "#333333", "radius": 4 }]
190
- }
191
- },
192
- "tableEx": {
193
- "*": {
194
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
195
- "border": [{ "color": "#333333", "radius": 4 }],
196
- "grid": [{
197
- "gridVertical": true,
198
- "gridVerticalColor": { "solid": { "color": "#CCCCCC" } },
199
- "gridHorizontal": true,
200
- "gridHorizontalColor": { "solid": { "color": "#CCCCCC" } }
201
- }],
202
- "columnHeaders": [{
203
- "fontColor": { "solid": { "color": "#FFFFFF" } },
204
- "backColor": { "solid": { "color": "#0072B2" } },
205
- "fontSize": 13
206
- }],
207
- "values": [{
208
- "fontColor": { "solid": { "color": "#1A1A1A" } },
209
- "backColor": { "solid": { "color": "#FFFFFF" } },
210
- "fontSize": 12
211
- }]
212
- }
213
- },
214
- "pivotTable": {
215
- "*": {
216
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
217
- "border": [{ "color": "#333333", "radius": 4 }],
218
- "grid": [{
219
- "gridVertical": true,
220
- "gridVerticalColor": { "solid": { "color": "#CCCCCC" } },
221
- "gridHorizontal": true,
222
- "gridHorizontalColor": { "solid": { "color": "#CCCCCC" } }
223
- }],
224
- "columnHeaders": [{
225
- "fontColor": { "solid": { "color": "#FFFFFF" } },
226
- "backColor": { "solid": { "color": "#0072B2" } },
227
- "fontSize": 13
228
- }],
229
- "rowHeaders": [{
230
- "fontColor": { "solid": { "color": "#1A1A1A" } },
231
- "backColor": { "solid": { "color": "#E6E6E6" } },
232
- "fontSize": 12
233
- }]
234
- }
235
- },
236
- "slicer": {
237
- "*": {
238
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
239
- "border": [{ "color": "#333333", "radius": 4 }],
240
- "header": [{
241
- "show": true,
242
- "fontColor": { "solid": { "color": "#1A1A1A" } },
243
- "fontSize": 14
244
- }],
245
- "items": [{
246
- "fontColor": { "solid": { "color": "#1A1A1A" } },
247
- "background": { "solid": { "color": "#FFFFFF" } },
248
- "fontSize": 12
249
- }]
250
- }
251
- },
252
- "scatterChart": {
253
- "*": {
254
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
255
- "border": [{ "color": "#333333", "radius": 4 }],
256
- "dataPoint": [{ "markerSize": 10 }]
257
- }
258
- },
259
- "treemap": {
260
- "*": {
261
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
262
- "border": [{ "color": "#333333", "radius": 4 }],
263
- "labels": [{ "fontSize": 12 }]
264
- }
265
- },
266
- "map": {
267
- "*": {
268
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
269
- "border": [{ "color": "#333333", "radius": 4 }]
270
- }
271
- },
272
- "filledMap": {
273
- "*": {
274
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
275
- "border": [{ "color": "#333333", "radius": 4 }]
276
- }
277
- },
278
- "shapeMap": {
279
- "*": {
280
- "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
281
- "border": [{ "color": "#333333", "radius": 4 }]
282
- }
283
- },
284
- "textbox": {
285
- "*": {
286
- "background": [{ "color": { "solid": { "color": "transparent" } } }]
287
- }
288
- },
289
- "image": {
290
- "*": {
291
- "background": [{ "color": { "solid": { "color": "transparent" } } }]
292
- }
293
- },
294
- "shape": {
295
- "*": {
296
- "fill": [{ "solid": { "color": "#0072B2" } }],
297
- "line": [{ "lineColor": { "solid": { "color": "#0072B2" } }, "weight": 2 }]
298
- }
299
- },
300
- "actionButton": {
301
- "*": {
302
- "fill": [{ "solid": { "color": "#0072B2" } }],
303
- "text": [{ "fontColor": { "solid": { "color": "#FFFFFF" } }, "fontSize": 14 }]
304
- }
305
- }
306
- }
307
- }