@luquimbo/bi-superpowers 1.0.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 (193) hide show
  1. package/.claude-plugin/plugin.json +8 -0
  2. package/.mcp.json +25 -0
  3. package/AGENTS.md +244 -0
  4. package/CHANGELOG.md +265 -0
  5. package/LICENSE +21 -0
  6. package/README.md +211 -0
  7. package/bin/build-plugin.js +30 -0
  8. package/bin/cli.js +1064 -0
  9. package/bin/commands/add.js +533 -0
  10. package/bin/commands/add.test.js +77 -0
  11. package/bin/commands/build-desktop.js +166 -0
  12. package/bin/commands/changelog.js +443 -0
  13. package/bin/commands/diff.js +325 -0
  14. package/bin/commands/lint.js +419 -0
  15. package/bin/commands/lint.test.js +103 -0
  16. package/bin/commands/mcp-setup.js +246 -0
  17. package/bin/commands/pull.js +287 -0
  18. package/bin/commands/pull.test.js +36 -0
  19. package/bin/commands/push.js +231 -0
  20. package/bin/commands/push.test.js +14 -0
  21. package/bin/commands/search.js +344 -0
  22. package/bin/commands/search.test.js +115 -0
  23. package/bin/commands/setup.js +545 -0
  24. package/bin/commands/setup.test.js +46 -0
  25. package/bin/commands/sync-profile.js +405 -0
  26. package/bin/commands/sync-profile.test.js +14 -0
  27. package/bin/commands/sync-source.js +418 -0
  28. package/bin/commands/sync-source.test.js +14 -0
  29. package/bin/commands/watch.js +206 -0
  30. package/bin/lib/generators/claude-plugin.js +266 -0
  31. package/bin/lib/generators/claude-plugin.test.js +110 -0
  32. package/bin/lib/generators/index.js +116 -0
  33. package/bin/lib/generators/shared.js +282 -0
  34. package/bin/lib/licensing/index.js +35 -0
  35. package/bin/lib/licensing/storage.js +364 -0
  36. package/bin/lib/licensing/storage.test.js +55 -0
  37. package/bin/lib/licensing/validator.js +213 -0
  38. package/bin/lib/licensing/validator.test.js +137 -0
  39. package/bin/lib/microsoft-mcp.js +176 -0
  40. package/bin/lib/microsoft-mcp.test.js +106 -0
  41. package/bin/lib/skills.js +84 -0
  42. package/bin/mcp/powerbi-modeling-launcher.js +38 -0
  43. package/bin/postinstall.js +44 -0
  44. package/bin/utils/errors.js +159 -0
  45. package/bin/utils/git.js +298 -0
  46. package/bin/utils/logger.js +142 -0
  47. package/bin/utils/mcp-detect.js +274 -0
  48. package/bin/utils/mcp-detect.test.js +105 -0
  49. package/bin/utils/pbix.js +305 -0
  50. package/bin/utils/pbix.test.js +37 -0
  51. package/bin/utils/profiles.js +312 -0
  52. package/bin/utils/projects.js +168 -0
  53. package/bin/utils/readline.js +206 -0
  54. package/bin/utils/readline.test.js +47 -0
  55. package/bin/utils/tui.js +314 -0
  56. package/bin/utils/tui.test.js +127 -0
  57. package/commands/contributions.md +265 -0
  58. package/commands/data-model-design.md +468 -0
  59. package/commands/dax-doctor.md +248 -0
  60. package/commands/fabric-scripts.md +452 -0
  61. package/commands/migration-assistant.md +290 -0
  62. package/commands/model-documenter.md +242 -0
  63. package/commands/pbi-connect.md +239 -0
  64. package/commands/project-kickoff.md +905 -0
  65. package/commands/report-layout.md +296 -0
  66. package/commands/rls-design.md +533 -0
  67. package/commands/theme-tweaker.md +624 -0
  68. package/config.example.json +23 -0
  69. package/config.json +23 -0
  70. package/desktop-extension/manifest.json +37 -0
  71. package/desktop-extension/package.json +10 -0
  72. package/desktop-extension/server.js +95 -0
  73. package/docs/openrouter-free-models.md +92 -0
  74. package/library/examples/README.md +151 -0
  75. package/library/examples/finance-reporting/README.md +351 -0
  76. package/library/examples/finance-reporting/data-model.md +267 -0
  77. package/library/examples/finance-reporting/measures.dax +557 -0
  78. package/library/examples/hr-analytics/README.md +371 -0
  79. package/library/examples/hr-analytics/data-model.md +315 -0
  80. package/library/examples/hr-analytics/measures.dax +460 -0
  81. package/library/examples/marketing-analytics/README.md +37 -0
  82. package/library/examples/marketing-analytics/data-model.md +62 -0
  83. package/library/examples/marketing-analytics/measures.dax +110 -0
  84. package/library/examples/retail-analytics/README.md +439 -0
  85. package/library/examples/retail-analytics/data-model.md +288 -0
  86. package/library/examples/retail-analytics/measures.dax +481 -0
  87. package/library/examples/supply-chain/README.md +37 -0
  88. package/library/examples/supply-chain/data-model.md +69 -0
  89. package/library/examples/supply-chain/measures.dax +77 -0
  90. package/library/examples/udf-library/README.md +228 -0
  91. package/library/examples/udf-library/functions.dax +571 -0
  92. package/library/snippets/dax/README.md +292 -0
  93. package/library/snippets/dax/business-domains.md +576 -0
  94. package/library/snippets/dax/calculate-patterns.md +276 -0
  95. package/library/snippets/dax/calculation-groups.md +489 -0
  96. package/library/snippets/dax/error-handling.md +495 -0
  97. package/library/snippets/dax/iterators-and-aggregations.md +474 -0
  98. package/library/snippets/dax/kpis-and-metrics.md +293 -0
  99. package/library/snippets/dax/rankings-and-topn.md +235 -0
  100. package/library/snippets/dax/security-patterns.md +413 -0
  101. package/library/snippets/dax/text-and-formatting.md +316 -0
  102. package/library/snippets/dax/time-intelligence.md +196 -0
  103. package/library/snippets/dax/user-defined-functions.md +477 -0
  104. package/library/snippets/dax/virtual-tables.md +546 -0
  105. package/library/snippets/excel-formulas/README.md +84 -0
  106. package/library/snippets/excel-formulas/aggregations.md +330 -0
  107. package/library/snippets/excel-formulas/dates-and-times.md +361 -0
  108. package/library/snippets/excel-formulas/dynamic-arrays.md +314 -0
  109. package/library/snippets/excel-formulas/lookups.md +169 -0
  110. package/library/snippets/excel-formulas/text-functions.md +363 -0
  111. package/library/snippets/governance/naming-conventions.md +97 -0
  112. package/library/snippets/governance/review-checklists.md +107 -0
  113. package/library/snippets/power-query/README.md +389 -0
  114. package/library/snippets/power-query/api-integration.md +707 -0
  115. package/library/snippets/power-query/connections.md +434 -0
  116. package/library/snippets/power-query/data-cleaning.md +298 -0
  117. package/library/snippets/power-query/error-handling.md +526 -0
  118. package/library/snippets/power-query/parameters.md +350 -0
  119. package/library/snippets/power-query/performance.md +506 -0
  120. package/library/snippets/power-query/transformations.md +330 -0
  121. package/library/snippets/report-design/accessibility.md +78 -0
  122. package/library/snippets/report-design/chart-selection.md +54 -0
  123. package/library/snippets/report-design/layout-patterns.md +87 -0
  124. package/library/templates/data-models/README.md +93 -0
  125. package/library/templates/data-models/finance-model.md +627 -0
  126. package/library/templates/data-models/retail-star-schema.md +473 -0
  127. package/library/templates/excel/README.md +83 -0
  128. package/library/templates/excel/budget-tracker.md +432 -0
  129. package/library/templates/excel/data-entry-form.md +533 -0
  130. package/library/templates/power-bi/README.md +72 -0
  131. package/library/templates/power-bi/finance-report.md +449 -0
  132. package/library/templates/power-bi/kpi-scorecard.md +461 -0
  133. package/library/templates/power-bi/sales-dashboard.md +281 -0
  134. package/library/themes/excel/README.md +436 -0
  135. package/library/themes/power-bi/README.md +271 -0
  136. package/library/themes/power-bi/accessible.json +307 -0
  137. package/library/themes/power-bi/bi-superpowers-default.json +858 -0
  138. package/library/themes/power-bi/corporate-blue.json +291 -0
  139. package/library/themes/power-bi/dark-mode.json +291 -0
  140. package/library/themes/power-bi/minimal.json +292 -0
  141. package/library/themes/power-bi/print-friendly.json +309 -0
  142. package/package.json +93 -0
  143. package/skills/contributions/SKILL.md +267 -0
  144. package/skills/data-model-design/SKILL.md +470 -0
  145. package/skills/data-modeling/SKILL.md +254 -0
  146. package/skills/data-quality/SKILL.md +664 -0
  147. package/skills/dax/SKILL.md +708 -0
  148. package/skills/dax-doctor/SKILL.md +250 -0
  149. package/skills/dax-udf/SKILL.md +489 -0
  150. package/skills/deployment/SKILL.md +320 -0
  151. package/skills/excel-formulas/SKILL.md +463 -0
  152. package/skills/fabric-scripts/SKILL.md +454 -0
  153. package/skills/fast-standard/SKILL.md +509 -0
  154. package/skills/governance/SKILL.md +205 -0
  155. package/skills/migration-assistant/SKILL.md +292 -0
  156. package/skills/model-documenter/SKILL.md +244 -0
  157. package/skills/pbi-connect/SKILL.md +241 -0
  158. package/skills/power-query/SKILL.md +406 -0
  159. package/skills/project-kickoff/SKILL.md +907 -0
  160. package/skills/query-performance/SKILL.md +480 -0
  161. package/skills/report-design/SKILL.md +207 -0
  162. package/skills/report-layout/SKILL.md +298 -0
  163. package/skills/rls-design/SKILL.md +535 -0
  164. package/skills/semantic-model/SKILL.md +237 -0
  165. package/skills/testing-validation/SKILL.md +643 -0
  166. package/skills/theme-tweaker/SKILL.md +626 -0
  167. package/src/content/base.md +237 -0
  168. package/src/content/mcp-requirements.json +69 -0
  169. package/src/content/routing.md +203 -0
  170. package/src/content/skills/contributions.md +259 -0
  171. package/src/content/skills/data-model-design.md +462 -0
  172. package/src/content/skills/data-modeling.md +246 -0
  173. package/src/content/skills/data-quality.md +656 -0
  174. package/src/content/skills/dax-doctor.md +242 -0
  175. package/src/content/skills/dax-udf.md +481 -0
  176. package/src/content/skills/dax.md +700 -0
  177. package/src/content/skills/deployment.md +312 -0
  178. package/src/content/skills/excel-formulas.md +455 -0
  179. package/src/content/skills/fabric-scripts.md +446 -0
  180. package/src/content/skills/fast-standard.md +501 -0
  181. package/src/content/skills/governance.md +197 -0
  182. package/src/content/skills/migration-assistant.md +284 -0
  183. package/src/content/skills/model-documenter.md +236 -0
  184. package/src/content/skills/pbi-connect.md +233 -0
  185. package/src/content/skills/power-query.md +398 -0
  186. package/src/content/skills/project-kickoff.md +899 -0
  187. package/src/content/skills/query-performance.md +472 -0
  188. package/src/content/skills/report-design.md +199 -0
  189. package/src/content/skills/report-layout.md +290 -0
  190. package/src/content/skills/rls-design.md +527 -0
  191. package/src/content/skills/semantic-model.md +229 -0
  192. package/src/content/skills/testing-validation.md +635 -0
  193. package/src/content/skills/theme-tweaker.md +618 -0
@@ -0,0 +1,291 @@
1
+ {
2
+ "name": "Corporate Blue",
3
+ "description": "Professional blue theme for corporate dashboards",
4
+ "dataColors": [
5
+ "#0078D4",
6
+ "#00BCF2",
7
+ "#00B294",
8
+ "#FFB900",
9
+ "#E81123",
10
+ "#5C2D91",
11
+ "#002050",
12
+ "#008272"
13
+ ],
14
+ "background": "#FFFFFF",
15
+ "foreground": "#252423",
16
+ "tableAccent": "#0078D4",
17
+ "good": "#107C10",
18
+ "bad": "#D13438",
19
+ "neutral": "#605E5C",
20
+ "maximum": "#107C10",
21
+ "minimum": "#D13438",
22
+ "center": "#605E5C",
23
+ "textClasses": {
24
+ "callout": {
25
+ "fontFace": "'Segoe UI Light', 'Helvetica Neue', Arial, sans-serif",
26
+ "fontSize": 28,
27
+ "color": "#0078D4"
28
+ },
29
+ "title": {
30
+ "fontFace": "'Segoe UI Semibold', 'Helvetica Neue', Arial, sans-serif",
31
+ "fontSize": 14,
32
+ "color": "#252423"
33
+ },
34
+ "header": {
35
+ "fontFace": "'Segoe UI Semibold', 'Helvetica Neue', Arial, sans-serif",
36
+ "fontSize": 12,
37
+ "color": "#252423"
38
+ },
39
+ "label": {
40
+ "fontFace": "'Segoe UI', 'Helvetica Neue', Arial, sans-serif",
41
+ "fontSize": 10,
42
+ "color": "#605E5C"
43
+ }
44
+ },
45
+ "visualStyles": {
46
+ "*": {
47
+ "*": {
48
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } }, "transparency": 0 }],
49
+ "border": [{ "color": "#E6E6E6", "radius": 8 }],
50
+ "outlineColor": [{ "solid": { "color": "#E6E6E6" } }],
51
+ "outlineWeight": [{ "weight": 1 }],
52
+ "title": [{
53
+ "show": true,
54
+ "fontColor": { "solid": { "color": "#252423" } },
55
+ "fontSize": 14
56
+ }]
57
+ }
58
+ },
59
+ "page": {
60
+ "*": {
61
+ "background": [{ "color": { "solid": { "color": "#F3F2F1" } }, "transparency": 0 }]
62
+ }
63
+ },
64
+ "card": {
65
+ "*": {
66
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
67
+ "border": [{ "color": "#E6E6E6", "radius": 8 }],
68
+ "categoryLabels": [{ "show": true, "color": { "solid": { "color": "#605E5C" } } }],
69
+ "wordWrap": [{ "show": true }]
70
+ }
71
+ },
72
+ "multiRowCard": {
73
+ "*": {
74
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
75
+ "border": [{ "color": "#E6E6E6", "radius": 8 }],
76
+ "cardTitle": [{ "color": { "solid": { "color": "#252423" } } }]
77
+ }
78
+ },
79
+ "clusteredColumnChart": {
80
+ "*": {
81
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
82
+ "border": [{ "color": "#E6E6E6", "radius": 8 }],
83
+ "legend": [{ "show": true, "position": "Top", "labelColor": { "solid": { "color": "#605E5C" } } }],
84
+ "categoryAxis": [{
85
+ "show": true,
86
+ "labelColor": { "solid": { "color": "#605E5C" } },
87
+ "gridlineShow": false
88
+ }],
89
+ "valueAxis": [{
90
+ "show": true,
91
+ "labelColor": { "solid": { "color": "#605E5C" } },
92
+ "gridlineShow": true,
93
+ "gridlineColor": { "solid": { "color": "#E6E6E6" } }
94
+ }]
95
+ }
96
+ },
97
+ "clusteredBarChart": {
98
+ "*": {
99
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
100
+ "border": [{ "color": "#E6E6E6", "radius": 8 }],
101
+ "legend": [{ "show": true, "position": "Top", "labelColor": { "solid": { "color": "#605E5C" } } }],
102
+ "categoryAxis": [{
103
+ "show": true,
104
+ "labelColor": { "solid": { "color": "#605E5C" } },
105
+ "gridlineShow": false
106
+ }],
107
+ "valueAxis": [{
108
+ "show": true,
109
+ "labelColor": { "solid": { "color": "#605E5C" } },
110
+ "gridlineShow": true,
111
+ "gridlineColor": { "solid": { "color": "#E6E6E6" } }
112
+ }]
113
+ }
114
+ },
115
+ "lineChart": {
116
+ "*": {
117
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
118
+ "border": [{ "color": "#E6E6E6", "radius": 8 }],
119
+ "legend": [{ "show": true, "position": "Top", "labelColor": { "solid": { "color": "#605E5C" } } }],
120
+ "categoryAxis": [{
121
+ "show": true,
122
+ "labelColor": { "solid": { "color": "#605E5C" } },
123
+ "gridlineShow": false
124
+ }],
125
+ "valueAxis": [{
126
+ "show": true,
127
+ "labelColor": { "solid": { "color": "#605E5C" } },
128
+ "gridlineShow": true,
129
+ "gridlineColor": { "solid": { "color": "#E6E6E6" } }
130
+ }],
131
+ "dataPoint": [{ "markerSize": 5 }]
132
+ }
133
+ },
134
+ "areaChart": {
135
+ "*": {
136
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
137
+ "border": [{ "color": "#E6E6E6", "radius": 8 }]
138
+ }
139
+ },
140
+ "pieChart": {
141
+ "*": {
142
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
143
+ "border": [{ "color": "#E6E6E6", "radius": 8 }],
144
+ "legend": [{ "show": true, "position": "Right", "labelColor": { "solid": { "color": "#605E5C" } } }],
145
+ "labels": [{ "show": true, "color": { "solid": { "color": "#252423" } } }]
146
+ }
147
+ },
148
+ "donutChart": {
149
+ "*": {
150
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
151
+ "border": [{ "color": "#E6E6E6", "radius": 8 }],
152
+ "legend": [{ "show": true, "position": "Right", "labelColor": { "solid": { "color": "#605E5C" } } }]
153
+ }
154
+ },
155
+ "waterfallChart": {
156
+ "*": {
157
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
158
+ "border": [{ "color": "#E6E6E6", "radius": 8 }],
159
+ "sentimentColors": [{
160
+ "increaseFill": { "solid": { "color": "#107C10" } },
161
+ "decreaseFill": { "solid": { "color": "#D13438" } },
162
+ "totalFill": { "solid": { "color": "#0078D4" } }
163
+ }]
164
+ }
165
+ },
166
+ "funnel": {
167
+ "*": {
168
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
169
+ "border": [{ "color": "#E6E6E6", "radius": 8 }]
170
+ }
171
+ },
172
+ "gauge": {
173
+ "*": {
174
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
175
+ "border": [{ "color": "#E6E6E6", "radius": 8 }]
176
+ }
177
+ },
178
+ "kpi": {
179
+ "*": {
180
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
181
+ "border": [{ "color": "#E6E6E6", "radius": 8 }]
182
+ }
183
+ },
184
+ "tableEx": {
185
+ "*": {
186
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
187
+ "border": [{ "color": "#E6E6E6", "radius": 8 }],
188
+ "grid": [{
189
+ "gridVertical": true,
190
+ "gridVerticalColor": { "solid": { "color": "#E6E6E6" } },
191
+ "gridHorizontal": true,
192
+ "gridHorizontalColor": { "solid": { "color": "#E6E6E6" } }
193
+ }],
194
+ "columnHeaders": [{
195
+ "fontColor": { "solid": { "color": "#252423" } },
196
+ "backColor": { "solid": { "color": "#F3F2F1" } }
197
+ }],
198
+ "values": [{
199
+ "fontColor": { "solid": { "color": "#252423" } },
200
+ "backColor": { "solid": { "color": "#FFFFFF" } }
201
+ }]
202
+ }
203
+ },
204
+ "pivotTable": {
205
+ "*": {
206
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
207
+ "border": [{ "color": "#E6E6E6", "radius": 8 }],
208
+ "grid": [{
209
+ "gridVertical": true,
210
+ "gridVerticalColor": { "solid": { "color": "#E6E6E6" } },
211
+ "gridHorizontal": true,
212
+ "gridHorizontalColor": { "solid": { "color": "#E6E6E6" } }
213
+ }],
214
+ "columnHeaders": [{
215
+ "fontColor": { "solid": { "color": "#252423" } },
216
+ "backColor": { "solid": { "color": "#F3F2F1" } }
217
+ }],
218
+ "rowHeaders": [{
219
+ "fontColor": { "solid": { "color": "#252423" } },
220
+ "backColor": { "solid": { "color": "#FFFFFF" } }
221
+ }]
222
+ }
223
+ },
224
+ "slicer": {
225
+ "*": {
226
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
227
+ "border": [{ "color": "#E6E6E6", "radius": 8 }],
228
+ "header": [{
229
+ "show": true,
230
+ "fontColor": { "solid": { "color": "#252423" } }
231
+ }],
232
+ "items": [{
233
+ "fontColor": { "solid": { "color": "#605E5C" } },
234
+ "background": { "solid": { "color": "#FFFFFF" } }
235
+ }]
236
+ }
237
+ },
238
+ "scatterChart": {
239
+ "*": {
240
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
241
+ "border": [{ "color": "#E6E6E6", "radius": 8 }]
242
+ }
243
+ },
244
+ "treemap": {
245
+ "*": {
246
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
247
+ "border": [{ "color": "#E6E6E6", "radius": 8 }]
248
+ }
249
+ },
250
+ "map": {
251
+ "*": {
252
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
253
+ "border": [{ "color": "#E6E6E6", "radius": 8 }]
254
+ }
255
+ },
256
+ "filledMap": {
257
+ "*": {
258
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
259
+ "border": [{ "color": "#E6E6E6", "radius": 8 }]
260
+ }
261
+ },
262
+ "shapeMap": {
263
+ "*": {
264
+ "background": [{ "color": { "solid": { "color": "#FFFFFF" } } }],
265
+ "border": [{ "color": "#E6E6E6", "radius": 8 }]
266
+ }
267
+ },
268
+ "textbox": {
269
+ "*": {
270
+ "background": [{ "color": { "solid": { "color": "transparent" } } }]
271
+ }
272
+ },
273
+ "image": {
274
+ "*": {
275
+ "background": [{ "color": { "solid": { "color": "transparent" } } }]
276
+ }
277
+ },
278
+ "shape": {
279
+ "*": {
280
+ "fill": [{ "solid": { "color": "#0078D4" } }],
281
+ "line": [{ "lineColor": { "solid": { "color": "#0078D4" } } }]
282
+ }
283
+ },
284
+ "actionButton": {
285
+ "*": {
286
+ "fill": [{ "solid": { "color": "#0078D4" } }],
287
+ "text": [{ "fontColor": { "solid": { "color": "#FFFFFF" } } }]
288
+ }
289
+ }
290
+ }
291
+ }
@@ -0,0 +1,291 @@
1
+ {
2
+ "name": "Dark Mode",
3
+ "description": "Dark theme for reduced eye strain",
4
+ "dataColors": [
5
+ "#00BCF2",
6
+ "#00B294",
7
+ "#FFB900",
8
+ "#FF6F61",
9
+ "#B4A0FF",
10
+ "#FF8C00",
11
+ "#00CC6A",
12
+ "#F472B6"
13
+ ],
14
+ "background": "#1E1E1E",
15
+ "foreground": "#E0E0E0",
16
+ "tableAccent": "#00BCF2",
17
+ "good": "#00CC6A",
18
+ "bad": "#FF6F61",
19
+ "neutral": "#A0A0A0",
20
+ "maximum": "#00CC6A",
21
+ "minimum": "#FF6F61",
22
+ "center": "#A0A0A0",
23
+ "textClasses": {
24
+ "callout": {
25
+ "fontFace": "'Segoe UI Light', 'Helvetica Neue', Arial, sans-serif",
26
+ "fontSize": 28,
27
+ "color": "#00BCF2"
28
+ },
29
+ "title": {
30
+ "fontFace": "'Segoe UI Semibold', 'Helvetica Neue', Arial, sans-serif",
31
+ "fontSize": 14,
32
+ "color": "#FFFFFF"
33
+ },
34
+ "header": {
35
+ "fontFace": "'Segoe UI Semibold', 'Helvetica Neue', Arial, sans-serif",
36
+ "fontSize": 12,
37
+ "color": "#E0E0E0"
38
+ },
39
+ "label": {
40
+ "fontFace": "'Segoe UI', 'Helvetica Neue', Arial, sans-serif",
41
+ "fontSize": 10,
42
+ "color": "#A0A0A0"
43
+ }
44
+ },
45
+ "visualStyles": {
46
+ "*": {
47
+ "*": {
48
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } }, "transparency": 0 }],
49
+ "border": [{ "color": "#404040", "radius": 8 }],
50
+ "outlineColor": [{ "solid": { "color": "#404040" } }],
51
+ "outlineWeight": [{ "weight": 1 }],
52
+ "title": [{
53
+ "show": true,
54
+ "fontColor": { "solid": { "color": "#FFFFFF" } },
55
+ "fontSize": 14
56
+ }]
57
+ }
58
+ },
59
+ "page": {
60
+ "*": {
61
+ "background": [{ "color": { "solid": { "color": "#1E1E1E" } }, "transparency": 0 }]
62
+ }
63
+ },
64
+ "card": {
65
+ "*": {
66
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
67
+ "border": [{ "color": "#404040", "radius": 8 }],
68
+ "categoryLabels": [{ "show": true, "color": { "solid": { "color": "#A0A0A0" } } }],
69
+ "wordWrap": [{ "show": true }]
70
+ }
71
+ },
72
+ "multiRowCard": {
73
+ "*": {
74
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
75
+ "border": [{ "color": "#404040", "radius": 8 }],
76
+ "cardTitle": [{ "color": { "solid": { "color": "#FFFFFF" } } }]
77
+ }
78
+ },
79
+ "clusteredColumnChart": {
80
+ "*": {
81
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
82
+ "border": [{ "color": "#404040", "radius": 8 }],
83
+ "legend": [{ "show": true, "position": "Top", "labelColor": { "solid": { "color": "#A0A0A0" } } }],
84
+ "categoryAxis": [{
85
+ "show": true,
86
+ "labelColor": { "solid": { "color": "#A0A0A0" } },
87
+ "gridlineShow": false
88
+ }],
89
+ "valueAxis": [{
90
+ "show": true,
91
+ "labelColor": { "solid": { "color": "#A0A0A0" } },
92
+ "gridlineShow": true,
93
+ "gridlineColor": { "solid": { "color": "#404040" } }
94
+ }]
95
+ }
96
+ },
97
+ "clusteredBarChart": {
98
+ "*": {
99
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
100
+ "border": [{ "color": "#404040", "radius": 8 }],
101
+ "legend": [{ "show": true, "position": "Top", "labelColor": { "solid": { "color": "#A0A0A0" } } }],
102
+ "categoryAxis": [{
103
+ "show": true,
104
+ "labelColor": { "solid": { "color": "#A0A0A0" } },
105
+ "gridlineShow": false
106
+ }],
107
+ "valueAxis": [{
108
+ "show": true,
109
+ "labelColor": { "solid": { "color": "#A0A0A0" } },
110
+ "gridlineShow": true,
111
+ "gridlineColor": { "solid": { "color": "#404040" } }
112
+ }]
113
+ }
114
+ },
115
+ "lineChart": {
116
+ "*": {
117
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
118
+ "border": [{ "color": "#404040", "radius": 8 }],
119
+ "legend": [{ "show": true, "position": "Top", "labelColor": { "solid": { "color": "#A0A0A0" } } }],
120
+ "categoryAxis": [{
121
+ "show": true,
122
+ "labelColor": { "solid": { "color": "#A0A0A0" } },
123
+ "gridlineShow": false
124
+ }],
125
+ "valueAxis": [{
126
+ "show": true,
127
+ "labelColor": { "solid": { "color": "#A0A0A0" } },
128
+ "gridlineShow": true,
129
+ "gridlineColor": { "solid": { "color": "#404040" } }
130
+ }],
131
+ "dataPoint": [{ "markerSize": 5 }]
132
+ }
133
+ },
134
+ "areaChart": {
135
+ "*": {
136
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
137
+ "border": [{ "color": "#404040", "radius": 8 }]
138
+ }
139
+ },
140
+ "pieChart": {
141
+ "*": {
142
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
143
+ "border": [{ "color": "#404040", "radius": 8 }],
144
+ "legend": [{ "show": true, "position": "Right", "labelColor": { "solid": { "color": "#A0A0A0" } } }],
145
+ "labels": [{ "show": true, "color": { "solid": { "color": "#E0E0E0" } } }]
146
+ }
147
+ },
148
+ "donutChart": {
149
+ "*": {
150
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
151
+ "border": [{ "color": "#404040", "radius": 8 }],
152
+ "legend": [{ "show": true, "position": "Right", "labelColor": { "solid": { "color": "#A0A0A0" } } }]
153
+ }
154
+ },
155
+ "waterfallChart": {
156
+ "*": {
157
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
158
+ "border": [{ "color": "#404040", "radius": 8 }],
159
+ "sentimentColors": [{
160
+ "increaseFill": { "solid": { "color": "#00CC6A" } },
161
+ "decreaseFill": { "solid": { "color": "#FF6F61" } },
162
+ "totalFill": { "solid": { "color": "#00BCF2" } }
163
+ }]
164
+ }
165
+ },
166
+ "funnel": {
167
+ "*": {
168
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
169
+ "border": [{ "color": "#404040", "radius": 8 }]
170
+ }
171
+ },
172
+ "gauge": {
173
+ "*": {
174
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
175
+ "border": [{ "color": "#404040", "radius": 8 }]
176
+ }
177
+ },
178
+ "kpi": {
179
+ "*": {
180
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
181
+ "border": [{ "color": "#404040", "radius": 8 }]
182
+ }
183
+ },
184
+ "tableEx": {
185
+ "*": {
186
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
187
+ "border": [{ "color": "#404040", "radius": 8 }],
188
+ "grid": [{
189
+ "gridVertical": true,
190
+ "gridVerticalColor": { "solid": { "color": "#404040" } },
191
+ "gridHorizontal": true,
192
+ "gridHorizontalColor": { "solid": { "color": "#404040" } }
193
+ }],
194
+ "columnHeaders": [{
195
+ "fontColor": { "solid": { "color": "#FFFFFF" } },
196
+ "backColor": { "solid": { "color": "#1E1E1E" } }
197
+ }],
198
+ "values": [{
199
+ "fontColor": { "solid": { "color": "#E0E0E0" } },
200
+ "backColor": { "solid": { "color": "#2D2D2D" } }
201
+ }]
202
+ }
203
+ },
204
+ "pivotTable": {
205
+ "*": {
206
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
207
+ "border": [{ "color": "#404040", "radius": 8 }],
208
+ "grid": [{
209
+ "gridVertical": true,
210
+ "gridVerticalColor": { "solid": { "color": "#404040" } },
211
+ "gridHorizontal": true,
212
+ "gridHorizontalColor": { "solid": { "color": "#404040" } }
213
+ }],
214
+ "columnHeaders": [{
215
+ "fontColor": { "solid": { "color": "#FFFFFF" } },
216
+ "backColor": { "solid": { "color": "#1E1E1E" } }
217
+ }],
218
+ "rowHeaders": [{
219
+ "fontColor": { "solid": { "color": "#E0E0E0" } },
220
+ "backColor": { "solid": { "color": "#2D2D2D" } }
221
+ }]
222
+ }
223
+ },
224
+ "slicer": {
225
+ "*": {
226
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
227
+ "border": [{ "color": "#404040", "radius": 8 }],
228
+ "header": [{
229
+ "show": true,
230
+ "fontColor": { "solid": { "color": "#FFFFFF" } }
231
+ }],
232
+ "items": [{
233
+ "fontColor": { "solid": { "color": "#A0A0A0" } },
234
+ "background": { "solid": { "color": "#2D2D2D" } }
235
+ }]
236
+ }
237
+ },
238
+ "scatterChart": {
239
+ "*": {
240
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
241
+ "border": [{ "color": "#404040", "radius": 8 }]
242
+ }
243
+ },
244
+ "treemap": {
245
+ "*": {
246
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
247
+ "border": [{ "color": "#404040", "radius": 8 }]
248
+ }
249
+ },
250
+ "map": {
251
+ "*": {
252
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
253
+ "border": [{ "color": "#404040", "radius": 8 }]
254
+ }
255
+ },
256
+ "filledMap": {
257
+ "*": {
258
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
259
+ "border": [{ "color": "#404040", "radius": 8 }]
260
+ }
261
+ },
262
+ "shapeMap": {
263
+ "*": {
264
+ "background": [{ "color": { "solid": { "color": "#2D2D2D" } } }],
265
+ "border": [{ "color": "#404040", "radius": 8 }]
266
+ }
267
+ },
268
+ "textbox": {
269
+ "*": {
270
+ "background": [{ "color": { "solid": { "color": "transparent" } } }]
271
+ }
272
+ },
273
+ "image": {
274
+ "*": {
275
+ "background": [{ "color": { "solid": { "color": "transparent" } } }]
276
+ }
277
+ },
278
+ "shape": {
279
+ "*": {
280
+ "fill": [{ "solid": { "color": "#00BCF2" } }],
281
+ "line": [{ "lineColor": { "solid": { "color": "#00BCF2" } } }]
282
+ }
283
+ },
284
+ "actionButton": {
285
+ "*": {
286
+ "fill": [{ "solid": { "color": "#00BCF2" } }],
287
+ "text": [{ "fontColor": { "solid": { "color": "#1E1E1E" } } }]
288
+ }
289
+ }
290
+ }
291
+ }