@projectcor/maia-components 2.11.67-1 → 2.11.67-2

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 (73) hide show
  1. package/lib/components/atoms/Chip/Chip.js +50 -15
  2. package/lib/components/atoms/Chip/styles.js +9 -5
  3. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +38 -6
  4. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +21 -13
  5. package/lib/components/atoms/MAIAInput/MAIAInput.js +71 -215
  6. package/lib/components/atoms/MAIAInput/styles.js +24 -64
  7. package/lib/components/atoms/MAIAMessage/MAIAMessage.js +2 -4
  8. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +297 -46
  9. package/lib/components/molecules/ChatAIHome/styles.js +63 -26
  10. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +84 -159
  11. package/lib/components/molecules/ChatAIMessages/newStyles.js +19 -9
  12. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +220 -42
  13. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +26 -1
  14. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +17 -17
  15. package/lib/components/molecules/ChatFooter/ChatFooter.js +75 -18
  16. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +22 -7
  17. package/lib/components/molecules/ChatFooter/styles.js +11 -2
  18. package/lib/components/molecules/Sidebar/Sidebar.js +11 -7
  19. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +2 -2
  20. package/lib/constants/maiaTaskPanelAccess.js +7 -5
  21. package/lib/constants/taskUrls.js +3 -1
  22. package/lib/context/global-context.js +8 -1
  23. package/lib/dev/DevContextMentionInput.js +1 -3
  24. package/lib/hooks/index.js +2 -1
  25. package/lib/hooks/useChatManager/useChatManager.js +155 -144
  26. package/lib/hooks/useChatMessages/useChatMessages.js +33 -2
  27. package/lib/hooks/useContextPinPopover.js +235 -0
  28. package/lib/hooks/useEntitySearch.js +74 -129
  29. package/lib/hooks/useEvent.js +2 -1
  30. package/lib/hooks/useFrequentlyAskedQuestions.js +12 -10
  31. package/lib/hooks/useFrequentlyUsedActions.js +5 -3
  32. package/lib/hooks/useMentionAllowedTypes.js +11 -1
  33. package/lib/hooks/useMentionPopover.js +3 -2
  34. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  35. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +28 -22
  36. package/lib/hooks/useProjectSearch.js +4 -28
  37. package/lib/hooks/useProjectSummaryConfig.js +88 -33
  38. package/lib/hooks/useRecentClientsSearch.js +4 -34
  39. package/lib/hooks/useRecentContexts.js +86 -0
  40. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +24 -16
  41. package/lib/lang/br/index.js +28 -10
  42. package/lib/lang/en/index.js +28 -10
  43. package/lib/lang/es/index.js +28 -10
  44. package/lib/lang/fr/index.js +28 -10
  45. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +6 -3
  46. package/lib/services/maia/Agents/getAgents.js +225 -175
  47. package/lib/services/maia/Chats/getChatMessages.js +13 -3
  48. package/lib/services/maia/Chats/getChatsByUserId.js +10 -2
  49. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +6 -4
  50. package/lib/services/maia/Orchestrator/orchestrator.js +25 -11
  51. package/lib/services/maia/RecentContexts/getRecentContexts.js +54 -0
  52. package/lib/services/maia/RecentContexts/index.js +6 -0
  53. package/lib/services/maia/index.js +4 -2
  54. package/lib/services/utils/validateIsMaia.js +2 -2
  55. package/lib/types/Chat.js +1 -1
  56. package/lib/types/agent.js +1 -1
  57. package/lib/utils/agentDisplayName.js +9 -1
  58. package/lib/utils/entityLinkRender.js +132 -0
  59. package/lib/utils/hitlAnalytics.js +3 -3
  60. package/lib/utils/renderContextMentions.js +3 -1
  61. package/package.json +1 -1
  62. package/lib/components/atoms/MAIAViz/MAIAViz.js +0 -97
  63. package/lib/components/atoms/MAIAViz/MAIAViz.parse.js +0 -131
  64. package/lib/components/atoms/MAIAViz/MAIAViz.skeleton.js +0 -40
  65. package/lib/components/atoms/MAIAViz/MAIAViz.styles.js +0 -8
  66. package/lib/components/atoms/MAIAViz/MAIAViz.types.js +0 -49
  67. package/lib/components/atoms/MAIAViz/MAIAVizBar.js +0 -123
  68. package/lib/components/atoms/MAIAViz/MAIAVizDonut.js +0 -111
  69. package/lib/components/atoms/MAIAViz/MAIAVizKpis.js +0 -34
  70. package/lib/components/atoms/MAIAViz/README.md +0 -85
  71. package/lib/components/atoms/MAIAViz/index.js +0 -2
  72. package/lib/types/Hitl.js +0 -2
  73. package/lib/utils/maiaStreamdownRenderers.js +0 -16
@@ -1,131 +0,0 @@
1
- import _typeof from "@babel/runtime/helpers/typeof";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
- var VALID_TYPES = ['kpis', 'bar', 'donut', 'report'];
6
- var BLOCK_TYPES = ['kpis', 'bar', 'donut'];
7
- export var normalizeSeries = function normalizeSeries(data) {
8
- return (Array.isArray(data) ? data : []).map(function (d) {
9
- return _objectSpread(_objectSpread({}, d), {}, {
10
- value: Number(d.value)
11
- });
12
- }).filter(function (d) {
13
- return !Number.isNaN(d.value) && d.value >= 0;
14
- });
15
- };
16
- var isRecord = function isRecord(value) {
17
- return _typeof(value) === 'object' && value !== null && !Array.isArray(value);
18
- };
19
- var isValidBlock = function isValidBlock(value) {
20
- return isRecord(value) && typeof value.type === 'string' && BLOCK_TYPES.includes(value.type);
21
- };
22
-
23
- /**
24
- * Parsea el contenido COMPLETO de un bloque ```maia-viz a un spec tipado.
25
- * Devuelve `null` ante JSON inválido. Se usa cuando el fence ya cerró.
26
- */
27
- export var parseMaiaVizSpec = function parseMaiaVizSpec(code) {
28
- var trimmed = code.trim();
29
- if (!trimmed) return null;
30
- var parsed;
31
- try {
32
- parsed = JSON.parse(trimmed);
33
- } catch (_unused) {
34
- return null;
35
- }
36
- if (!isRecord(parsed)) return null;
37
- if (typeof parsed.type !== 'string' || !VALID_TYPES.includes(parsed.type)) return null;
38
- return parsed;
39
- };
40
-
41
- /**
42
- * Extrae el valor string de una clave de primer nivel (p. ej. "title") desde
43
- * un fragmento de JSON, aunque el JSON todavía esté incompleto. Respeta los
44
- * escapes. Devuelve `undefined` si no aparece todavía.
45
- */
46
- var matchString = function matchString(text, key) {
47
- var match = text.match(new RegExp("\"".concat(key, "\"\\s*:\\s*\"((?:[^\"\\\\]|\\\\.)*)\"")));
48
- if (!match) return undefined;
49
- try {
50
- return JSON.parse("\"".concat(match[1], "\""));
51
- } catch (_unused2) {
52
- return match[1];
53
- }
54
- };
55
-
56
- /**
57
- * Recorre un texto y devuelve cada objeto `{…}` de primer nivel que ya esté
58
- * balanceado (llave abierta y cerrada), ignorando llaves dentro de strings.
59
- * Los objetos a medio transmitir simplemente no aparecen todavía.
60
- */
61
- var extractCompleteObjects = function extractCompleteObjects(text) {
62
- var objects = [];
63
- var depth = 0;
64
- var start = -1;
65
- var inString = false;
66
- var escaped = false;
67
- for (var i = 0; i < text.length; i += 1) {
68
- var ch = text[i];
69
- if (inString) {
70
- if (escaped) escaped = false;else if (ch === '\\') escaped = true;else if (ch === '"') inString = false;
71
- } else if (ch === '"') {
72
- inString = true;
73
- } else if (ch === '{') {
74
- if (depth === 0) start = i;
75
- depth += 1;
76
- } else if (ch === '}') {
77
- depth -= 1;
78
- if (depth === 0 && start !== -1) {
79
- try {
80
- objects.push(JSON.parse(text.slice(start, i + 1)));
81
- } catch (_unused3) {
82
- // objeto balanceado pero aún no parseable: lo ignoramos
83
- }
84
- start = -1;
85
- }
86
- }
87
- }
88
- return objects;
89
- };
90
-
91
- /**
92
- * Parser PROGRESIVO para usar mientras el bloque todavía se transmite.
93
- * - Si el JSON ya es válido completo, devuelve el spec final.
94
- * - Si es un `report` parcial, devuelve el header (title/subtitle) más los
95
- * bloques cuyo `{…}` ya cerró — así se renderizan de a uno, en vivo.
96
- * - Para charts sueltos (kpis/bar/donut) devuelve `null` hasta que cierren
97
- * (no tiene sentido dibujar medio gráfico).
98
- */
99
- export var parseMaiaVizProgressive = function parseMaiaVizProgressive(code) {
100
- var trimmed = code.trim();
101
- if (!trimmed) return null;
102
-
103
- // 1. ¿Ya es JSON completo y válido?
104
- var full = parseMaiaVizSpec(trimmed);
105
- if (full) return full;
106
-
107
- // 2. Solo los reportes tienen render parcial significativo.
108
- if (matchString(trimmed, 'type') !== 'report') return null;
109
- var blocksMatch = trimmed.match(/"blocks"\s*:\s*\[/);
110
- var head = (blocksMatch === null || blocksMatch === void 0 ? void 0 : blocksMatch.index) !== undefined ? trimmed.slice(0, blocksMatch.index) : trimmed;
111
- var title = matchString(head, 'title');
112
- var subtitle = matchString(head, 'subtitle');
113
- var blocks = [];
114
- if ((blocksMatch === null || blocksMatch === void 0 ? void 0 : blocksMatch.index) !== undefined) {
115
- var arrStart = trimmed.indexOf('[', blocksMatch.index);
116
- if (arrStart !== -1) {
117
- blocks = extractCompleteObjects(trimmed.slice(arrStart + 1)).filter(isValidBlock);
118
- }
119
- }
120
-
121
- // Nada que mostrar todavía (ni header ni bloques): que siga el skeleton.
122
- if (!title && !subtitle && !blocks.length) return null;
123
- var spec = {
124
- type: 'report',
125
- blocks: blocks
126
- };
127
- if (title) spec.title = title;
128
- if (subtitle) spec.subtitle = subtitle;
129
- return spec;
130
- };
131
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWQUxJRF9UWVBFUyIsIkJMT0NLX1RZUEVTIiwibm9ybWFsaXplU2VyaWVzIiwiZGF0YSIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImQiLCJfb2JqZWN0U3ByZWFkIiwidmFsdWUiLCJOdW1iZXIiLCJmaWx0ZXIiLCJpc05hTiIsImlzUmVjb3JkIiwiX3R5cGVvZiIsImlzVmFsaWRCbG9jayIsInR5cGUiLCJpbmNsdWRlcyIsInBhcnNlTWFpYVZpelNwZWMiLCJjb2RlIiwidHJpbW1lZCIsInRyaW0iLCJwYXJzZWQiLCJKU09OIiwicGFyc2UiLCJfdW51c2VkIiwibWF0Y2hTdHJpbmciLCJ0ZXh0Iiwia2V5IiwibWF0Y2giLCJSZWdFeHAiLCJjb25jYXQiLCJ1bmRlZmluZWQiLCJfdW51c2VkMiIsImV4dHJhY3RDb21wbGV0ZU9iamVjdHMiLCJvYmplY3RzIiwiZGVwdGgiLCJzdGFydCIsImluU3RyaW5nIiwiZXNjYXBlZCIsImkiLCJsZW5ndGgiLCJjaCIsInB1c2giLCJzbGljZSIsIl91bnVzZWQzIiwicGFyc2VNYWlhVml6UHJvZ3Jlc3NpdmUiLCJmdWxsIiwiYmxvY2tzTWF0Y2giLCJoZWFkIiwiaW5kZXgiLCJ0aXRsZSIsInN1YnRpdGxlIiwiYmxvY2tzIiwiYXJyU3RhcnQiLCJpbmRleE9mIiwic3BlYyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL01BSUFWaXovTUFJQVZpei5wYXJzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYWlhVml6U3BlYywgUmVwb3J0QmxvY2ssIFJlcG9ydFNwZWMsIFNlcmllc1BvaW50IH0gZnJvbSAnLi9NQUlBVml6LnR5cGVzJ1xuXG5jb25zdCBWQUxJRF9UWVBFUyA9IFsna3BpcycsICdiYXInLCAnZG9udXQnLCAncmVwb3J0J11cbmNvbnN0IEJMT0NLX1RZUEVTID0gWydrcGlzJywgJ2JhcicsICdkb251dCddXG5cbmV4cG9ydCBjb25zdCBub3JtYWxpemVTZXJpZXMgPSAoZGF0YTogU2VyaWVzUG9pbnRbXSB8IHVuZGVmaW5lZCk6IFNlcmllc1BvaW50W10gPT5cbiAgKEFycmF5LmlzQXJyYXkoZGF0YSkgPyBkYXRhIDogW10pXG4gICAgLm1hcChkID0+ICh7IC4uLmQsIHZhbHVlOiBOdW1iZXIoZC52YWx1ZSkgfSkpXG4gICAgLmZpbHRlcihkID0+ICFOdW1iZXIuaXNOYU4oZC52YWx1ZSkgJiYgZC52YWx1ZSA+PSAwKVxuXG5jb25zdCBpc1JlY29yZCA9ICh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0+XG4gIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpXG5cbmNvbnN0IGlzVmFsaWRCbG9jayA9ICh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFJlcG9ydEJsb2NrID0+XG4gIGlzUmVjb3JkKHZhbHVlKSAmJiB0eXBlb2YgdmFsdWUudHlwZSA9PT0gJ3N0cmluZycgJiYgQkxPQ0tfVFlQRVMuaW5jbHVkZXModmFsdWUudHlwZSlcblxuLyoqXG4gKiBQYXJzZWEgZWwgY29udGVuaWRvIENPTVBMRVRPIGRlIHVuIGJsb3F1ZSBgYGBtYWlhLXZpeiBhIHVuIHNwZWMgdGlwYWRvLlxuICogRGV2dWVsdmUgYG51bGxgIGFudGUgSlNPTiBpbnbDoWxpZG8uIFNlIHVzYSBjdWFuZG8gZWwgZmVuY2UgeWEgY2VycsOzLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VNYWlhVml6U3BlYyA9IChjb2RlOiBzdHJpbmcpOiBNYWlhVml6U3BlYyB8IG51bGwgPT4ge1xuICBjb25zdCB0cmltbWVkID0gY29kZS50cmltKClcbiAgaWYgKCF0cmltbWVkKSByZXR1cm4gbnVsbFxuXG4gIGxldCBwYXJzZWQ6IHVua25vd25cbiAgdHJ5IHtcbiAgICBwYXJzZWQgPSBKU09OLnBhcnNlKHRyaW1tZWQpXG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBpZiAoIWlzUmVjb3JkKHBhcnNlZCkpIHJldHVybiBudWxsXG4gIGlmICh0eXBlb2YgcGFyc2VkLnR5cGUgIT09ICdzdHJpbmcnIHx8ICFWQUxJRF9UWVBFUy5pbmNsdWRlcyhwYXJzZWQudHlwZSkpIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIHBhcnNlZCBhcyB1bmtub3duIGFzIE1haWFWaXpTcGVjXG59XG5cbi8qKlxuICogRXh0cmFlIGVsIHZhbG9yIHN0cmluZyBkZSB1bmEgY2xhdmUgZGUgcHJpbWVyIG5pdmVsIChwLiBlai4gXCJ0aXRsZVwiKSBkZXNkZVxuICogdW4gZnJhZ21lbnRvIGRlIEpTT04sIGF1bnF1ZSBlbCBKU09OIHRvZGF2w61hIGVzdMOpIGluY29tcGxldG8uIFJlc3BldGEgbG9zXG4gKiBlc2NhcGVzLiBEZXZ1ZWx2ZSBgdW5kZWZpbmVkYCBzaSBubyBhcGFyZWNlIHRvZGF2w61hLlxuICovXG5jb25zdCBtYXRjaFN0cmluZyA9ICh0ZXh0OiBzdHJpbmcsIGtleTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgbWF0Y2ggPSB0ZXh0Lm1hdGNoKG5ldyBSZWdFeHAoYFwiJHtrZXl9XCJcXFxccyo6XFxcXHMqXCIoKD86W15cIlxcXFxcXFxcXXxcXFxcXFxcXC4pKilcImApKVxuICBpZiAoIW1hdGNoKSByZXR1cm4gdW5kZWZpbmVkXG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoYFwiJHttYXRjaFsxXX1cImApIGFzIHN0cmluZ1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbWF0Y2hbMV1cbiAgfVxufVxuXG4vKipcbiAqIFJlY29ycmUgdW4gdGV4dG8geSBkZXZ1ZWx2ZSBjYWRhIG9iamV0byBge+KApn1gIGRlIHByaW1lciBuaXZlbCBxdWUgeWEgZXN0w6lcbiAqIGJhbGFuY2VhZG8gKGxsYXZlIGFiaWVydGEgeSBjZXJyYWRhKSwgaWdub3JhbmRvIGxsYXZlcyBkZW50cm8gZGUgc3RyaW5ncy5cbiAqIExvcyBvYmpldG9zIGEgbWVkaW8gdHJhbnNtaXRpciBzaW1wbGVtZW50ZSBubyBhcGFyZWNlbiB0b2RhdsOtYS5cbiAqL1xuY29uc3QgZXh0cmFjdENvbXBsZXRlT2JqZWN0cyA9ICh0ZXh0OiBzdHJpbmcpOiB1bmtub3duW10gPT4ge1xuICBjb25zdCBvYmplY3RzOiB1bmtub3duW10gPSBbXVxuICBsZXQgZGVwdGggPSAwXG4gIGxldCBzdGFydCA9IC0xXG4gIGxldCBpblN0cmluZyA9IGZhbHNlXG4gIGxldCBlc2NhcGVkID0gZmFsc2VcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHRleHQubGVuZ3RoOyBpICs9IDEpIHtcbiAgICBjb25zdCBjaCA9IHRleHRbaV1cbiAgICBpZiAoaW5TdHJpbmcpIHtcbiAgICAgIGlmIChlc2NhcGVkKSBlc2NhcGVkID0gZmFsc2VcbiAgICAgIGVsc2UgaWYgKGNoID09PSAnXFxcXCcpIGVzY2FwZWQgPSB0cnVlXG4gICAgICBlbHNlIGlmIChjaCA9PT0gJ1wiJykgaW5TdHJpbmcgPSBmYWxzZVxuICAgIH0gZWxzZSBpZiAoY2ggPT09ICdcIicpIHtcbiAgICAgIGluU3RyaW5nID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoY2ggPT09ICd7Jykge1xuICAgICAgaWYgKGRlcHRoID09PSAwKSBzdGFydCA9IGlcbiAgICAgIGRlcHRoICs9IDFcbiAgICB9IGVsc2UgaWYgKGNoID09PSAnfScpIHtcbiAgICAgIGRlcHRoIC09IDFcbiAgICAgIGlmIChkZXB0aCA9PT0gMCAmJiBzdGFydCAhPT0gLTEpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBvYmplY3RzLnB1c2goSlNPTi5wYXJzZSh0ZXh0LnNsaWNlKHN0YXJ0LCBpICsgMSkpIGFzIHVua25vd24pXG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIC8vIG9iamV0byBiYWxhbmNlYWRvIHBlcm8gYcO6biBubyBwYXJzZWFibGU6IGxvIGlnbm9yYW1vc1xuICAgICAgICB9XG4gICAgICAgIHN0YXJ0ID0gLTFcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gb2JqZWN0c1xufVxuXG4vKipcbiAqIFBhcnNlciBQUk9HUkVTSVZPIHBhcmEgdXNhciBtaWVudHJhcyBlbCBibG9xdWUgdG9kYXbDrWEgc2UgdHJhbnNtaXRlLlxuICogLSBTaSBlbCBKU09OIHlhIGVzIHbDoWxpZG8gY29tcGxldG8sIGRldnVlbHZlIGVsIHNwZWMgZmluYWwuXG4gKiAtIFNpIGVzIHVuIGByZXBvcnRgIHBhcmNpYWwsIGRldnVlbHZlIGVsIGhlYWRlciAodGl0bGUvc3VidGl0bGUpIG3DoXMgbG9zXG4gKiAgIGJsb3F1ZXMgY3V5byBge+KApn1gIHlhIGNlcnLDsyDigJQgYXPDrSBzZSByZW5kZXJpemFuIGRlIGEgdW5vLCBlbiB2aXZvLlxuICogLSBQYXJhIGNoYXJ0cyBzdWVsdG9zIChrcGlzL2Jhci9kb251dCkgZGV2dWVsdmUgYG51bGxgIGhhc3RhIHF1ZSBjaWVycmVuXG4gKiAgIChubyB0aWVuZSBzZW50aWRvIGRpYnVqYXIgbWVkaW8gZ3LDoWZpY28pLlxuICovXG5leHBvcnQgY29uc3QgcGFyc2VNYWlhVml6UHJvZ3Jlc3NpdmUgPSAoY29kZTogc3RyaW5nKTogTWFpYVZpelNwZWMgfCBudWxsID0+IHtcbiAgY29uc3QgdHJpbW1lZCA9IGNvZGUudHJpbSgpXG4gIGlmICghdHJpbW1lZCkgcmV0dXJuIG51bGxcblxuICAvLyAxLiDCv1lhIGVzIEpTT04gY29tcGxldG8geSB2w6FsaWRvP1xuICBjb25zdCBmdWxsID0gcGFyc2VNYWlhVml6U3BlYyh0cmltbWVkKVxuICBpZiAoZnVsbCkgcmV0dXJuIGZ1bGxcblxuICAvLyAyLiBTb2xvIGxvcyByZXBvcnRlcyB0aWVuZW4gcmVuZGVyIHBhcmNpYWwgc2lnbmlmaWNhdGl2by5cbiAgaWYgKG1hdGNoU3RyaW5nKHRyaW1tZWQsICd0eXBlJykgIT09ICdyZXBvcnQnKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IGJsb2Nrc01hdGNoID0gdHJpbW1lZC5tYXRjaCgvXCJibG9ja3NcIlxccyo6XFxzKlxcWy8pXG4gIGNvbnN0IGhlYWQgPSBibG9ja3NNYXRjaD8uaW5kZXggIT09IHVuZGVmaW5lZCA/IHRyaW1tZWQuc2xpY2UoMCwgYmxvY2tzTWF0Y2guaW5kZXgpIDogdHJpbW1lZFxuICBjb25zdCB0aXRsZSA9IG1hdGNoU3RyaW5nKGhlYWQsICd0aXRsZScpXG4gIGNvbnN0IHN1YnRpdGxlID0gbWF0Y2hTdHJpbmcoaGVhZCwgJ3N1YnRpdGxlJylcblxuICBsZXQgYmxvY2tzOiBSZXBvcnRCbG9ja1tdID0gW11cbiAgaWYgKGJsb2Nrc01hdGNoPy5pbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgYXJyU3RhcnQgPSB0cmltbWVkLmluZGV4T2YoJ1snLCBibG9ja3NNYXRjaC5pbmRleClcbiAgICBpZiAoYXJyU3RhcnQgIT09IC0xKSB7XG4gICAgICBibG9ja3MgPSBleHRyYWN0Q29tcGxldGVPYmplY3RzKHRyaW1tZWQuc2xpY2UoYXJyU3RhcnQgKyAxKSkuZmlsdGVyKGlzVmFsaWRCbG9jaylcbiAgICB9XG4gIH1cblxuICAvLyBOYWRhIHF1ZSBtb3N0cmFyIHRvZGF2w61hIChuaSBoZWFkZXIgbmkgYmxvcXVlcyk6IHF1ZSBzaWdhIGVsIHNrZWxldG9uLlxuICBpZiAoIXRpdGxlICYmICFzdWJ0aXRsZSAmJiAhYmxvY2tzLmxlbmd0aCkgcmV0dXJuIG51bGxcblxuICBjb25zdCBzcGVjOiBSZXBvcnRTcGVjID0geyB0eXBlOiAncmVwb3J0JywgYmxvY2tzIH1cbiAgaWYgKHRpdGxlKSBzcGVjLnRpdGxlID0gdGl0bGVcbiAgaWYgKHN1YnRpdGxlKSBzcGVjLnN1YnRpdGxlID0gc3VidGl0bGVcbiAgcmV0dXJuIHNwZWNcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLElBQU1BLFdBQVcsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQztBQUN0RCxJQUFNQyxXQUFXLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFF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
@@ -1,40 +0,0 @@
1
- import { Skeleton } from '../Skeleton/Skeleton';
2
-
3
- /**
4
- * Placeholder mientras el bloque ```maia-viz todavía se está transmitiendo
5
- * (JSON parcial). Replica el layout: fila de KPIs + área de gráfico.
6
- */
7
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
- export var MAIAVizSkeleton = function MAIAVizSkeleton() {
9
- return /*#__PURE__*/_jsxs("div", {
10
- style: {
11
- display: 'flex',
12
- flexDirection: 'column',
13
- gap: 16,
14
- width: '100%'
15
- },
16
- children: [/*#__PURE__*/_jsx(Skeleton, {
17
- variant: "text",
18
- width: "40%",
19
- height: 18
20
- }), /*#__PURE__*/_jsx("div", {
21
- style: {
22
- display: 'grid',
23
- gridTemplateColumns: 'repeat(auto-fill, minmax(150px, 1fr))',
24
- gap: 12
25
- },
26
- children: ['kpi-a', 'kpi-b', 'kpi-c', 'kpi-d'].map(function (id) {
27
- return /*#__PURE__*/_jsx(Skeleton, {
28
- variant: "rectangular",
29
- height: 92,
30
- borderRadius: 12
31
- }, id);
32
- })
33
- }), /*#__PURE__*/_jsx(Skeleton, {
34
- variant: "rectangular",
35
- height: 200,
36
- borderRadius: 12
37
- })]
38
- });
39
- };
40
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTa2VsZXRvbiIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJNQUlBVml6U2tlbGV0b24iLCJzdHlsZSIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiZ2FwIiwid2lkdGgiLCJjaGlsZHJlbiIsInZhcmlhbnQiLCJoZWlnaHQiLCJncmlkVGVtcGxhdGVDb2x1bW5zIiwibWFwIiwiaWQiLCJib3JkZXJSYWRpdXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBVml6L01BSUFWaXouc2tlbGV0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNrZWxldG9uIH0gZnJvbSAnLi4vU2tlbGV0b24vU2tlbGV0b24nXG5cbi8qKlxuICogUGxhY2Vob2xkZXIgbWllbnRyYXMgZWwgYmxvcXVlIGBgYG1haWEtdml6IHRvZGF2w61hIHNlIGVzdMOhIHRyYW5zbWl0aWVuZG9cbiAqIChKU09OIHBhcmNpYWwpLiBSZXBsaWNhIGVsIGxheW91dDogZmlsYSBkZSBLUElzICsgw6FyZWEgZGUgZ3LDoWZpY28uXG4gKi9cbmV4cG9ydCBjb25zdCBNQUlBVml6U2tlbGV0b24gPSAoKSA9PiAoXG4gIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJywgZ2FwOiAxNiwgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICA8U2tlbGV0b24gdmFyaWFudD1cInRleHRcIiB3aWR0aD1cIjQwJVwiIGhlaWdodD17MTh9IC8+XG4gICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZ3JpZCcsIGdyaWRUZW1wbGF0ZUNvbHVtbnM6ICdyZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTUwcHgsIDFmcikpJywgZ2FwOiAxMiB9fT5cbiAgICAgIHtbJ2twaS1hJywgJ2twaS1iJywgJ2twaS1jJywgJ2twaS1kJ10ubWFwKGlkID0+IChcbiAgICAgICAgPFNrZWxldG9uIGtleT17aWR9IHZhcmlhbnQ9XCJyZWN0YW5ndWxhclwiIGhlaWdodD17OTJ9IGJvcmRlclJhZGl1cz17MTJ9IC8+XG4gICAgICApKX1cbiAgICA8L2Rpdj5cbiAgICA8U2tlbGV0b24gdmFyaWFudD1cInJlY3Rhbmd1bGFyXCIgaGVpZ2h0PXsyMDB9IGJvcmRlclJhZGl1cz17MTJ9IC8+XG4gIDwvZGl2PlxuKVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxRQUFRLFFBQVEsc0JBQXNCOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUhBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFJQSxPQUFPLElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBQTtFQUFBLG9CQUMxQkQsS0FBQTtJQUFLRSxLQUFLLEVBQUU7TUFBRUMsT0FBTyxFQUFFLE1BQU07TUFBRUMsYUFBYSxFQUFFLFFBQVE7TUFBRUMsR0FBRyxFQUFFLEVBQUU7TUFBRUMsS0FBSyxFQUFFO0lBQU8sQ0FBRTtJQUFBQyxRQUFBLGdCQUMvRVQsSUFBQSxDQUFDRixRQUFRO01BQUNZLE9BQU8sRUFBQyxNQUFNO01BQUNGLEtBQUssRUFBQyxLQUFLO01BQUNHLE1BQU0sRUFBRTtJQUFHLENBQUUsQ0FBQyxlQUNuRFgsSUFBQTtNQUFLSSxLQUFLLEVBQUU7UUFBRUMsT0FBTyxFQUFFLE1BQU07UUFBRU8sbUJBQW1CLEVBQUUsdUNBQXVDO1FBQUVMLEdBQUcsRUFBRTtNQUFHLENBQUU7TUFBQUUsUUFBQSxFQUNwRyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDSSxHQUFHLENBQUMsVUFBQUMsRUFBRTtRQUFBLG9CQUMxQ2QsSUFBQSxDQUFDRixRQUFRO1VBQVVZLE9BQU8sRUFBQyxhQUFhO1VBQUNDLE1BQU0sRUFBRSxFQUFHO1VBQUNJLFlBQVksRUFBRTtRQUFHLEdBQXZERCxFQUF5RCxDQUFDO01BQUEsQ0FDMUU7SUFBQyxDQUNDLENBQUMsZUFDTmQsSUFBQSxDQUFDRixRQUFRO01BQUNZLE9BQU8sRUFBQyxhQUFhO01BQUNDLE1BQU0sRUFBRSxHQUFJO01BQUNJLFlBQVksRUFBRTtJQUFHLENBQUUsQ0FBQztFQUFBLENBQzlELENBQUM7QUFBQSxDQUNQIiwiaWdub3JlTGlzdCI6W119
@@ -1,8 +0,0 @@
1
- import styled, { keyframes } from 'styled-components';
2
- import { COR_COLORS } from './MAIAViz.types';
3
- var blockIn = keyframes(["from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}"]);
4
- export var StyledMAIAViz = styled.div.withConfig({
5
- displayName: "MAIAVizstyles__StyledMAIAViz",
6
- componentId: "sc-7b9qoj-0"
7
- })(["display:flex;flex-direction:column;gap:20px;width:100%;font-family:'Work Sans',sans-serif;color:", ";.MAIAViz-block{animation:", " 0.35s ease-out both;}@media (prefers-reduced-motion:reduce){.MAIAViz-block{animation:none;}}.MAIAViz-header{display:flex;flex-direction:column;gap:2px;}.MAIAViz-title{&&{font-size:18px;font-weight:600;line-height:1.2;color:", ";}}.MAIAViz-subtitle{&&{display:block;font-size:13px;color:", ";}}.MAIAViz-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;}.MAIAViz-kpi-card{display:flex;flex-direction:column;gap:6px;padding:16px;background:", ";border:1px solid ", ";border-radius:12px;}.MAIAViz-kpi-label{font-size:13px;color:", ";}.MAIAViz-kpi-value{font-size:26px;font-weight:600;line-height:1.1;color:", ";}.MAIAViz-kpi-delta{font-size:12px;font-weight:500;}.MAIAViz-figure{&&{display:flex;flex-direction:column;gap:10px;margin:0;}}.MAIAViz-caption{font-size:14px;font-weight:500;color:", ";}.MAIAViz-donut{display:flex;flex-wrap:wrap;align-items:center;gap:24px;}.MAIAViz-legend{&&{display:flex;flex-direction:column;gap:8px;padding:0;margin:0;list-style:none;}li{display:flex;align-items:center;gap:8px;margin:0;font-size:13px;}}.MAIAViz-legend-dot{width:10px;height:10px;border-radius:3px;flex-shrink:0;}.MAIAViz-legend-label{color:", ";}.MAIAViz-legend-value{font-weight:600;color:", ";}.MAIAViz-error{&&{font-size:13px;color:", ";font-style:italic;}}"], COR_COLORS.text, blockIn, COR_COLORS.navy, COR_COLORS.textMuted, COR_COLORS.surfaceMuted, COR_COLORS.border, COR_COLORS.textMuted, COR_COLORS.navy, COR_COLORS.navy, COR_COLORS.text, COR_COLORS.navy, COR_COLORS.textMuted);
8
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJrZXlmcmFtZXMiLCJDT1JfQ09MT1JTIiwiYmxvY2tJbiIsIlN0eWxlZE1BSUFWaXoiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsInRleHQiLCJuYXZ5IiwidGV4dE11dGVkIiwic3VyZmFjZU11dGVkIiwiYm9yZGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvTUFJQVZpei9NQUlBVml6LnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGtleWZyYW1lcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuXG5pbXBvcnQgeyBDT1JfQ09MT1JTIH0gZnJvbSAnLi9NQUlBVml6LnR5cGVzJ1xuXG5jb25zdCBibG9ja0luID0ga2V5ZnJhbWVzYFxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg2cHgpO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVZpeiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgY29sb3I6ICR7Q09SX0NPTE9SUy50ZXh0fTtcblxuICAvKiBDYWRhIHdpZGdldCBhcGFyZWNlIGNvbiB1biBmYWRlIGFsIGNlcnJhciBzdSB74oCmfSBtaWVudHJhcyBzdHJlbWVhLiAqL1xuICAuTUFJQVZpei1ibG9jayB7XG4gICAgYW5pbWF0aW9uOiAke2Jsb2NrSW59IDAuMzVzIGVhc2Utb3V0IGJvdGg7XG4gIH1cblxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5NQUlBVml6LWJsb2NrIHtcbiAgICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuTUFJQVZpei1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbiAgfVxuXG4gIC5NQUlBVml6LXRpdGxlIHtcbiAgICAmJiB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGNvbG9yOiAke0NPUl9DT0xPUlMubmF2eX07XG4gICAgfVxuICB9XG5cbiAgLk1BSUFWaXotc3VidGl0bGUge1xuICAgICYmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6ICR7Q09SX0NPTE9SUy50ZXh0TXV0ZWR9O1xuICAgIH1cbiAgfVxuXG4gIC8qIC0tLSBLUEkgY2FyZHMgLS0tICovXG4gIC5NQUlBVml6LWtwaXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTUwcHgsIDFmcikpO1xuICAgIGdhcDogMTJweDtcbiAgfVxuXG4gIC5NQUlBVml6LWtwaS1jYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA2cHg7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAke0NPUl9DT0xPUlMuc3VyZmFjZU11dGVkfTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAke0NPUl9DT0xPUlMuYm9yZGVyfTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB9XG5cbiAgLk1BSUFWaXota3BpLWxhYmVsIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICR7Q09SX0NPTE9SUy50ZXh0TXV0ZWR9O1xuICB9XG5cbiAgLk1BSUFWaXota3BpLXZhbHVlIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAke0NPUl9DT0xPUlMubmF2eX07XG4gIH1cblxuICAuTUFJQVZpei1rcGktZGVsdGEge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLyogLS0tIEZpZ3VyZXMgKGNoYXJ0cykgLS0tICovXG4gIC5NQUlBVml6LWZpZ3VyZSB7XG4gICAgJiYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLk1BSUFWaXotY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICR7Q09SX0NPTE9SUy5uYXZ5fTtcbiAgfVxuXG4gIC8qIC0tLSBEb251dCAtLS0gKi9cbiAgLk1BSUFWaXotZG9udXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAyNHB4O1xuICB9XG5cbiAgLk1BSUFWaXotbGVnZW5kIHtcbiAgICAmJiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogOHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDhweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG4gIH1cblxuICAuTUFJQVZpei1sZWdlbmQtZG90IHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgLk1BSUFWaXotbGVnZW5kLWxhYmVsIHtcbiAgICBjb2xvcjogJHtDT1JfQ09MT1JTLnRleHR9O1xuICB9XG5cbiAgLk1BSUFWaXotbGVnZW5kLXZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAke0NPUl9DT0xPUlMubmF2eX07XG4gIH1cblxuICAuTUFJQVZpei1lcnJvciB7XG4gICAgJiYge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgY29sb3I6ICR7Q09SX0NPTE9SUy50ZXh0TXV0ZWR9O1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbiAgfVxuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLFNBQVMsUUFBUSxtQkFBbUI7QUFFckQsU0FBU0MsVUFBVSxRQUFRLGlCQUFpQjtBQUU1QyxJQUFNQyxPQUFPLEdBQUdGLFNBQVMsNkVBU3hCO0FBRUQsT0FBTyxJQUFNRyxhQUFhLEdBQUdKLE1BQU0sQ0FBQ0ssR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHc1Q0FNNUJOLFVBQVUsQ0FBQ08sSUFBSSxFQUlUTixPQUFPLEVBb0JURCxVQUFVLENBQUNRLElBQUksRUFRZlIsVUFBVSxDQUFDUyxTQUFTLEVBZ0JqQlQsVUFBVSxDQUFDVSxZQUFZLEVBQ2pCVixVQUFVLENBQUNXLE1BQU0sRUFNNUJYLFVBQVUsQ0FBQ1MsU0FBUyxFQU9wQlQsVUFBVSxDQUFDUSxJQUFJLEVBcUJmUixVQUFVLENBQUNRLElBQUksRUFzQ2ZSLFVBQVUsQ0FBQ08sSUFBSSxFQUtmUCxVQUFVLENBQUNRLElBQUksRUFNYlIsVUFBVSxDQUFDUyxTQUFTLENBSWxDIiwiaWdub3JlTGlzdCI6W119
@@ -1,49 +0,0 @@
1
- /**
2
- * Contrato de datos que el modelo emite dentro de un bloque ```maia-viz.
3
- * El modelo NO genera HTML ni SVG: solo describe los datos. El render lo hace
4
- * el cliente con estos tipos, por eso es seguro (no pasa por la sanitización
5
- * de HTML de Streamdown).
6
- */
7
-
8
- /** Una tarjeta de KPI (los recuadros grandes con número + variación). */
9
-
10
- /** Un punto de una serie (barra, donut, etc.). */
11
-
12
- /** Bloques que pueden ir dentro de un reporte compuesto. */
13
-
14
- /** Cualquier spec válido dentro de un bloque ```maia-viz. */
15
-
16
- /**
17
- * Orden de colores de serie según el design system de COR.
18
- * Paleta de estados de tareas de COR — los gráficos viz SOLO pueden usar estos colores.
19
- */
20
- export var COR_CHART_COLORS = ['#0094CA',
21
- // azul (Nueva)
22
- '#FFAC2C',
23
- // naranja (En proceso)
24
- '#9B68BB',
25
- // morado (En revisión)
26
- '#ED2C50',
27
- // rojo (Ajustes)
28
- '#00C972',
29
- // verde (Finalizada)
30
- '#5A5A5A' // gris (neutral)
31
- ];
32
- export var COR_COLORS = {
33
- blue: '#0094CA',
34
- orange: '#FFAC2C',
35
- purple: '#9B68BB',
36
- red: '#ED2C50',
37
- green: '#00C972',
38
- gray: '#5A5A5A',
39
- positive: '#00C972',
40
- negative: '#ED2C50',
41
- neutral: '#5A5A5A',
42
- surface: '#FFFFFF',
43
- surfaceMuted: '#F7F8FA',
44
- border: 'rgba(0, 0, 0, 0.08)',
45
- text: '#5A5A5A',
46
- textMuted: 'rgba(90, 90, 90, 0.6)',
47
- navy: '#5A5A5A'
48
- };
49
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT1JfQ0hBUlRfQ09MT1JTIiwiQ09SX0NPTE9SUyIsImJsdWUiLCJvcmFuZ2UiLCJwdXJwbGUiLCJyZWQiLCJncmVlbiIsImdyYXkiLCJwb3NpdGl2ZSIsIm5lZ2F0aXZlIiwibmV1dHJhbCIsInN1cmZhY2UiLCJzdXJmYWNlTXV0ZWQiLCJib3JkZXIiLCJ0ZXh0IiwidGV4dE11dGVkIiwibmF2eSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL01BSUFWaXovTUFJQVZpei50eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvbnRyYXRvIGRlIGRhdG9zIHF1ZSBlbCBtb2RlbG8gZW1pdGUgZGVudHJvIGRlIHVuIGJsb3F1ZSBgYGBtYWlhLXZpei5cbiAqIEVsIG1vZGVsbyBOTyBnZW5lcmEgSFRNTCBuaSBTVkc6IHNvbG8gZGVzY3JpYmUgbG9zIGRhdG9zLiBFbCByZW5kZXIgbG8gaGFjZVxuICogZWwgY2xpZW50ZSBjb24gZXN0b3MgdGlwb3MsIHBvciBlc28gZXMgc2VndXJvIChubyBwYXNhIHBvciBsYSBzYW5pdGl6YWNpw7NuXG4gKiBkZSBIVE1MIGRlIFN0cmVhbWRvd24pLlxuICovXG5cbmV4cG9ydCB0eXBlIFRyZW5kID0gJ3VwJyB8ICdkb3duJyB8ICdmbGF0J1xuXG4vKiogVW5hIHRhcmpldGEgZGUgS1BJIChsb3MgcmVjdWFkcm9zIGdyYW5kZXMgY29uIG7Dum1lcm8gKyB2YXJpYWNpw7NuKS4gKi9cbmV4cG9ydCB0eXBlIEtwaUl0ZW0gPSB7XG4gIGxhYmVsOiBzdHJpbmdcbiAgdmFsdWU6IHN0cmluZ1xuICAvKiogVGV4dG8gZGUgdmFyaWFjacOzbiwgcC4gZWouIFwiKzE4LjMlIHZzIDIwMjRcIi4gT3BjaW9uYWwuICovXG4gIGRlbHRhPzogc3RyaW5nXG4gIC8qKiBEaXJlY2Npw7NuIGRlIGxhIHZhcmlhY2nDs246IHBpbnRhIGVsIGRlbHRhIGVuIHZlcmRlL3Jvam8vZ3Jpcy4gKi9cbiAgdHJlbmQ/OiBUcmVuZFxufVxuXG4vKiogVW4gcHVudG8gZGUgdW5hIHNlcmllIChiYXJyYSwgZG9udXQsIGV0Yy4pLiAqL1xuZXhwb3J0IHR5cGUgU2VyaWVzUG9pbnQgPSB7XG4gIGxhYmVsOiBzdHJpbmdcbiAgdmFsdWU6IG51bWJlclxuICAvKiogQ29sb3Igb3ZlcnJpZGUgZW4gSEVYLiBTaSBubyBzZSBwYXNhLCBzZSB1c2EgbGEgcGFsZXRhIENPUiBwb3Igw61uZGljZS4gKi9cbiAgY29sb3I/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgS3Bpc1NwZWMgPSB7XG4gIHR5cGU6ICdrcGlzJ1xuICB0aXRsZT86IHN0cmluZ1xuICBzdWJ0aXRsZT86IHN0cmluZ1xuICBpdGVtczogS3BpSXRlbVtdXG59XG5cbmV4cG9ydCB0eXBlIEJhclNwZWMgPSB7XG4gIHR5cGU6ICdiYXInXG4gIHRpdGxlPzogc3RyaW5nXG4gIC8qKiBTdWZpam8gZGUgdW5pZGFkIHBhcmEgZWwgZWplL3Rvb2x0aXAsIHAuIGVqLiBcIk0gVVNEXCIuICovXG4gIHVuaXQ/OiBzdHJpbmdcbiAgZGF0YTogU2VyaWVzUG9pbnRbXVxufVxuXG5leHBvcnQgdHlwZSBEb251dFNwZWMgPSB7XG4gIHR5cGU6ICdkb251dCdcbiAgdGl0bGU/OiBzdHJpbmdcbiAgZGF0YTogU2VyaWVzUG9pbnRbXVxufVxuXG4vKiogQmxvcXVlcyBxdWUgcHVlZGVuIGlyIGRlbnRybyBkZSB1biByZXBvcnRlIGNvbXB1ZXN0by4gKi9cbmV4cG9ydCB0eXBlIFJlcG9ydEJsb2NrID0gS3Bpc1NwZWMgfCBCYXJTcGVjIHwgRG9udXRTcGVjXG5cbmV4cG9ydCB0eXBlIFJlcG9ydFNwZWMgPSB7XG4gIHR5cGU6ICdyZXBvcnQnXG4gIHRpdGxlPzogc3RyaW5nXG4gIHN1YnRpdGxlPzogc3RyaW5nXG4gIGJsb2NrczogUmVwb3J0QmxvY2tbXVxufVxuXG4vKiogQ3VhbHF1aWVyIHNwZWMgdsOhbGlkbyBkZW50cm8gZGUgdW4gYmxvcXVlIGBgYG1haWEtdml6LiAqL1xuZXhwb3J0IHR5cGUgTWFpYVZpelNwZWMgPSBLcGlzU3BlYyB8IEJhclNwZWMgfCBEb251dFNwZWMgfCBSZXBvcnRTcGVjXG5cbi8qKlxuICogT3JkZW4gZGUgY29sb3JlcyBkZSBzZXJpZSBzZWfDum4gZWwgZGVzaWduIHN5c3RlbSBkZSBDT1IuXG4gKiBQYWxldGEgZGUgZXN0YWRvcyBkZSB0YXJlYXMgZGUgQ09SIOKAlCBsb3MgZ3LDoWZpY29zIHZpeiBTT0xPIHB1ZWRlbiB1c2FyIGVzdG9zIGNvbG9yZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBDT1JfQ0hBUlRfQ09MT1JTID0gW1xuICAnIzAwOTRDQScsIC8vIGF6dWwgKE51ZXZhKVxuICAnI0ZGQUMyQycsIC8vIG5hcmFuamEgKEVuIHByb2Nlc28pXG4gICcjOUI2OEJCJywgLy8gbW9yYWRvIChFbiByZXZpc2nDs24pXG4gICcjRUQyQzUwJywgLy8gcm9qbyAoQWp1c3RlcylcbiAgJyMwMEM5NzInLCAvLyB2ZXJkZSAoRmluYWxpemFkYSlcbiAgJyM1QTVBNUEnLCAvLyBncmlzIChuZXV0cmFsKVxuXSBhcyBjb25zdFxuXG5leHBvcnQgY29uc3QgQ09SX0NPTE9SUyA9IHtcbiAgYmx1ZTogJyMwMDk0Q0EnLFxuICBvcmFuZ2U6ICcjRkZBQzJDJyxcbiAgcHVycGxlOiAnIzlCNjhCQicsXG4gIHJlZDogJyNFRDJDNTAnLFxuICBncmVlbjogJyMwMEM5NzInLFxuICBncmF5OiAnIzVBNUE1QScsXG4gIHBvc2l0aXZlOiAnIzAwQzk3MicsXG4gIG5lZ2F0aXZlOiAnI0VEMkM1MCcsXG4gIG5ldXRyYWw6ICcjNUE1QTVBJyxcbiAgc3VyZmFjZTogJyNGRkZGRkYnLFxuICBzdXJmYWNlTXV0ZWQ6ICcjRjdGOEZBJyxcbiAgYm9yZGVyOiAncmdiYSgwLCAwLCAwLCAwLjA4KScsXG4gIHRleHQ6ICcjNUE1QTVBJyxcbiAgdGV4dE11dGVkOiAncmdiYSg5MCwgOTAsIDkwLCAwLjYpJyxcbiAgbmF2eTogJyM1QTVBNUEnLFxufSBhcyBjb25zdFxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBSUE7O0FBVUE7O0FBNkJBOztBQVVBOztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNQSxnQkFBZ0IsR0FBRyxDQUM5QixTQUFTO0FBQUU7QUFDWCxTQUFTO0FBQUU7QUFDWCxTQUFTO0FBQUU7QUFDWCxTQUFTO0FBQUU7QUFDWCxTQUFTO0FBQUU7QUFDWCxTQUFTLENBQUU7QUFBQSxDQUNIO0FBRVYsT0FBTyxJQUFNQyxVQUFVLEdBQUc7RUFDeEJDLElBQUksRUFBRSxTQUFTO0VBQ2ZDLE1BQU0sRUFBRSxTQUFTO0VBQ2pCQyxNQUFNLEVBQUUsU0FBUztFQUNqQkMsR0FBRyxFQUFFLFNBQVM7RUFDZEMsS0FBSyxFQUFFLFNBQVM7RUFDaEJDLElBQUksRUFBRSxTQUFTO0VBQ2ZDLFFBQVEsRUFBRSxTQUFTO0VBQ25CQyxRQUFRLEVBQUUsU0FBUztFQUNuQkMsT0FBTyxFQUFFLFNBQVM7RUFDbEJDLE9BQU8sRUFBRSxTQUFTO0VBQ2xCQyxZQUFZLEVBQUUsU0FBUztFQUN2QkMsTUFBTSxFQUFFLHFCQUFxQjtFQUM3QkMsSUFBSSxFQUFFLFNBQVM7RUFDZkMsU0FBUyxFQUFFLHVCQUF1QjtFQUNsQ0MsSUFBSSxFQUFFO0FBQ1IsQ0FBVSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,123 +0,0 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
- import { COR_COLORS, COR_CHART_COLORS } from './MAIAViz.types';
3
- import { normalizeSeries } from './MAIAViz.parse';
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
- var WIDTH = 640;
6
- var PAD_LEFT = 48;
7
- var PAD_RIGHT = 16;
8
- var PAD_TOP = 16;
9
- var PLOT_H = 210;
10
- var TICKS = 4;
11
- var NICE_STEPS = [1, 1.5, 2, 2.5, 3, 4, 5, 6, 8, 10];
12
- var niceCeil = function niceCeil(value) {
13
- var _NICE_STEPS$find;
14
- if (value <= 0) return 1;
15
- var pow = Math.pow(10, Math.floor(Math.log10(value)));
16
- var norm = value / pow;
17
- var step = (_NICE_STEPS$find = NICE_STEPS.find(function (s) {
18
- return s >= norm;
19
- })) !== null && _NICE_STEPS$find !== void 0 ? _NICE_STEPS$find : 10;
20
- return step * pow;
21
- };
22
- var truncate = function truncate(label, maxChars) {
23
- return label.length > maxChars ? "".concat(label.slice(0, maxChars - 1), "\u2026") : label;
24
- };
25
- export var MAIAVizBar = function MAIAVizBar(_ref) {
26
- var _spec$title;
27
- var spec = _ref.spec;
28
- var data = normalizeSeries(spec.data);
29
- if (!data.length) return null;
30
- var max = niceCeil(Math.max.apply(Math, _toConsumableArray(data.map(function (d) {
31
- return d.value;
32
- }))));
33
- var plotW = WIDTH - PAD_LEFT - PAD_RIGHT;
34
- var slot = plotW / data.length;
35
- var barW = Math.min(slot * 0.55, 64);
36
- var unit = spec.unit ? " ".concat(spec.unit) : '';
37
-
38
- // Con nombres largos o muchas barras, las etiquetas horizontales se pisan:
39
- // las rotamos y reservamos más alto abajo. Con pocas y cortas (Q1, Q2…) no.
40
- var maxLabelLen = Math.max.apply(Math, _toConsumableArray(data.map(function (d) {
41
- return d.label.length;
42
- })));
43
- var rotate = data.length > 4 || maxLabelLen > 9;
44
- var labelCap = rotate ? 20 : Math.max(5, Math.floor(slot / 7));
45
- var padBottom = rotate ? 92 : 40;
46
- var height = PAD_TOP + PLOT_H + padBottom;
47
- var yFor = function yFor(value) {
48
- return PAD_TOP + PLOT_H - value / max * PLOT_H;
49
- };
50
- var baseline = PAD_TOP + PLOT_H;
51
- return /*#__PURE__*/_jsxs("figure", {
52
- className: "MAIAViz-figure",
53
- children: [spec.title && /*#__PURE__*/_jsx("figcaption", {
54
- className: "MAIAViz-caption",
55
- children: spec.title
56
- }), /*#__PURE__*/_jsxs("svg", {
57
- viewBox: "0 0 ".concat(WIDTH, " ").concat(height),
58
- role: "img",
59
- "aria-label": (_spec$title = spec.title) !== null && _spec$title !== void 0 ? _spec$title : 'Gráfico de barras',
60
- preserveAspectRatio: "xMidYMid meet",
61
- style: {
62
- width: '100%',
63
- height: 'auto',
64
- display: 'block'
65
- },
66
- children: [Array.from({
67
- length: TICKS + 1
68
- }, function (_, i) {
69
- var value = max / TICKS * i;
70
- var y = yFor(value);
71
- return /*#__PURE__*/_jsxs("g", {
72
- children: [/*#__PURE__*/_jsx("line", {
73
- x1: PAD_LEFT,
74
- y1: y,
75
- x2: WIDTH - PAD_RIGHT,
76
- y2: y,
77
- stroke: COR_COLORS.border,
78
- strokeWidth: 1
79
- }), /*#__PURE__*/_jsx("text", {
80
- x: PAD_LEFT - 8,
81
- y: y + 4,
82
- textAnchor: "end",
83
- fontSize: 11,
84
- fill: COR_COLORS.textMuted,
85
- children: Math.round(value)
86
- })]
87
- }, "tick-".concat(value));
88
- }), data.map(function (d, i) {
89
- var _d$color;
90
- var x = PAD_LEFT + slot * i + (slot - barW) / 2;
91
- var y = yFor(d.value);
92
- var h = baseline - y;
93
- var fill = (_d$color = d.color) !== null && _d$color !== void 0 ? _d$color : COR_CHART_COLORS[i % COR_CHART_COLORS.length];
94
- var cx = x + barW / 2;
95
- var ly = baseline + (rotate ? 14 : 18);
96
- return /*#__PURE__*/_jsxs("g", {
97
- children: [/*#__PURE__*/_jsx("rect", {
98
- x: x,
99
- y: y,
100
- width: barW,
101
- height: Math.max(h, 0),
102
- rx: 4,
103
- fill: fill,
104
- children: /*#__PURE__*/_jsx("title", {
105
- children: "".concat(d.label, ": ").concat(d.value).concat(unit)
106
- })
107
- }), /*#__PURE__*/_jsxs("text", {
108
- x: cx,
109
- y: ly,
110
- textAnchor: rotate ? 'end' : 'middle',
111
- transform: rotate ? "rotate(-32 ".concat(cx, " ").concat(ly, ")") : undefined,
112
- fontSize: 11,
113
- fill: COR_COLORS.text,
114
- children: [truncate(d.label, labelCap), /*#__PURE__*/_jsx("title", {
115
- children: d.label
116
- })]
117
- })]
118
- }, d.label);
119
- })]
120
- })]
121
- });
122
- };
123
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT1JfQ09MT1JTIiwiQ09SX0NIQVJUX0NPTE9SUyIsIm5vcm1hbGl6ZVNlcmllcyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJXSURUSCIsIlBBRF9MRUZUIiwiUEFEX1JJR0hUIiwiUEFEX1RPUCIsIlBMT1RfSCIsIlRJQ0tTIiwiTklDRV9TVEVQUyIsIm5pY2VDZWlsIiwidmFsdWUiLCJfTklDRV9TVEVQUyRmaW5kIiwicG93IiwiTWF0aCIsImZsb29yIiwibG9nMTAiLCJub3JtIiwic3RlcCIsImZpbmQiLCJzIiwidHJ1bmNhdGUiLCJsYWJlbCIsIm1heENoYXJzIiwibGVuZ3RoIiwiY29uY2F0Iiwic2xpY2UiLCJNQUlBVml6QmFyIiwiX3JlZiIsIl9zcGVjJHRpdGxlIiwic3BlYyIsImRhdGEiLCJtYXgiLCJhcHBseSIsIl90b0NvbnN1bWFibGVBcnJheSIsIm1hcCIsImQiLCJwbG90VyIsInNsb3QiLCJiYXJXIiwibWluIiwidW5pdCIsIm1heExhYmVsTGVuIiwicm90YXRlIiwibGFiZWxDYXAiLCJwYWRCb3R0b20iLCJoZWlnaHQiLCJ5Rm9yIiwiYmFzZWxpbmUiLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsInRpdGxlIiwidmlld0JveCIsInJvbGUiLCJwcmVzZXJ2ZUFzcGVjdFJhdGlvIiwic3R5bGUiLCJ3aWR0aCIsImRpc3BsYXkiLCJBcnJheSIsImZyb20iLCJfIiwiaSIsInkiLCJ4MSIsInkxIiwieDIiLCJ5MiIsInN0cm9rZSIsImJvcmRlciIsInN0cm9rZVdpZHRoIiwieCIsInRleHRBbmNob3IiLCJmb250U2l6ZSIsImZpbGwiLCJ0ZXh0TXV0ZWQiLCJyb3VuZCIsIl9kJGNvbG9yIiwiaCIsImNvbG9yIiwiY3giLCJseSIsInJ4IiwidHJhbnNmb3JtIiwidW5kZWZpbmVkIiwidGV4dCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL01BSUFWaXovTUFJQVZpekJhci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFyU3BlYywgQ09SX0NPTE9SUywgQ09SX0NIQVJUX0NPTE9SUyB9IGZyb20gJy4vTUFJQVZpei50eXBlcydcbmltcG9ydCB7IG5vcm1hbGl6ZVNlcmllcyB9IGZyb20gJy4vTUFJQVZpei5wYXJzZSdcblxudHlwZSBNQUlBVml6QmFyUHJvcHMgPSB7XG4gIHNwZWM6IEJhclNwZWNcbn1cblxuY29uc3QgV0lEVEggPSA2NDBcbmNvbnN0IFBBRF9MRUZUID0gNDhcbmNvbnN0IFBBRF9SSUdIVCA9IDE2XG5jb25zdCBQQURfVE9QID0gMTZcbmNvbnN0IFBMT1RfSCA9IDIxMFxuY29uc3QgVElDS1MgPSA0XG5cbmNvbnN0IE5JQ0VfU1RFUFMgPSBbMSwgMS41LCAyLCAyLjUsIDMsIDQsIDUsIDYsIDgsIDEwXVxuXG5jb25zdCBuaWNlQ2VpbCA9ICh2YWx1ZTogbnVtYmVyKTogbnVtYmVyID0+IHtcbiAgaWYgKHZhbHVlIDw9IDApIHJldHVybiAxXG4gIGNvbnN0IHBvdyA9IDEwICoqIE1hdGguZmxvb3IoTWF0aC5sb2cxMCh2YWx1ZSkpXG4gIGNvbnN0IG5vcm0gPSB2YWx1ZSAvIHBvd1xuICBjb25zdCBzdGVwID0gTklDRV9TVEVQUy5maW5kKHMgPT4gcyA+PSBub3JtKSA/PyAxMFxuICByZXR1cm4gc3RlcCAqIHBvd1xufVxuXG5jb25zdCB0cnVuY2F0ZSA9IChsYWJlbDogc3RyaW5nLCBtYXhDaGFyczogbnVtYmVyKTogc3RyaW5nID0+XG4gIGxhYmVsLmxlbmd0aCA+IG1heENoYXJzID8gYCR7bGFiZWwuc2xpY2UoMCwgbWF4Q2hhcnMgLSAxKX3igKZgIDogbGFiZWxcblxuZXhwb3J0IGNvbnN0IE1BSUFWaXpCYXIgPSAoeyBzcGVjIH06IE1BSUFWaXpCYXJQcm9wcykgPT4ge1xuICBjb25zdCBkYXRhID0gbm9ybWFsaXplU2VyaWVzKHNwZWMuZGF0YSlcbiAgaWYgKCFkYXRhLmxlbmd0aCkgcmV0dXJuIG51bGxcblxuICBjb25zdCBtYXggPSBuaWNlQ2VpbChNYXRoLm1heCguLi5kYXRhLm1hcChkID0+IGQudmFsdWUpKSlcbiAgY29uc3QgcGxvdFcgPSBXSURUSCAtIFBBRF9MRUZUIC0gUEFEX1JJR0hUXG4gIGNvbnN0IHNsb3QgPSBwbG90VyAvIGRhdGEubGVuZ3RoXG4gIGNvbnN0IGJhclcgPSBNYXRoLm1pbihzbG90ICogMC41NSwgNjQpXG4gIGNvbnN0IHVuaXQgPSBzcGVjLnVuaXQgPyBgICR7c3BlYy51bml0fWAgOiAnJ1xuXG4gIC8vIENvbiBub21icmVzIGxhcmdvcyBvIG11Y2hhcyBiYXJyYXMsIGxhcyBldGlxdWV0YXMgaG9yaXpvbnRhbGVzIHNlIHBpc2FuOlxuICAvLyBsYXMgcm90YW1vcyB5IHJlc2VydmFtb3MgbcOhcyBhbHRvIGFiYWpvLiBDb24gcG9jYXMgeSBjb3J0YXMgKFExLCBRMuKApikgbm8uXG4gIGNvbnN0IG1heExhYmVsTGVuID0gTWF0aC5tYXgoLi4uZGF0YS5tYXAoZCA9PiBkLmxhYmVsLmxlbmd0aCkpXG4gIGNvbnN0IHJvdGF0ZSA9IGRhdGEubGVuZ3RoID4gNCB8fCBtYXhMYWJlbExlbiA+IDlcbiAgY29uc3QgbGFiZWxDYXAgPSByb3RhdGUgPyAyMCA6IE1hdGgubWF4KDUsIE1hdGguZmxvb3Ioc2xvdCAvIDcpKVxuICBjb25zdCBwYWRCb3R0b20gPSByb3RhdGUgPyA5MiA6IDQwXG4gIGNvbnN0IGhlaWdodCA9IFBBRF9UT1AgKyBQTE9UX0ggKyBwYWRCb3R0b21cblxuICBjb25zdCB5Rm9yID0gKHZhbHVlOiBudW1iZXIpID0+IFBBRF9UT1AgKyBQTE9UX0ggLSAodmFsdWUgLyBtYXgpICogUExPVF9IXG4gIGNvbnN0IGJhc2VsaW5lID0gUEFEX1RPUCArIFBMT1RfSFxuXG4gIHJldHVybiAoXG4gICAgPGZpZ3VyZSBjbGFzc05hbWU9XCJNQUlBVml6LWZpZ3VyZVwiPlxuICAgICAge3NwZWMudGl0bGUgJiYgPGZpZ2NhcHRpb24gY2xhc3NOYW1lPVwiTUFJQVZpei1jYXB0aW9uXCI+e3NwZWMudGl0bGV9PC9maWdjYXB0aW9uPn1cbiAgICAgIDxzdmdcbiAgICAgICAgdmlld0JveD17YDAgMCAke1dJRFRIfSAke2hlaWdodH1gfVxuICAgICAgICByb2xlPVwiaW1nXCJcbiAgICAgICAgYXJpYS1sYWJlbD17c3BlYy50aXRsZSA/PyAnR3LDoWZpY28gZGUgYmFycmFzJ31cbiAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIlxuICAgICAgICBzdHlsZT17eyB3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICdhdXRvJywgZGlzcGxheTogJ2Jsb2NrJyB9fVxuICAgICAgPlxuICAgICAgICB7QXJyYXkuZnJvbSh7IGxlbmd0aDogVElDS1MgKyAxIH0sIChfLCBpKSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSAobWF4IC8gVElDS1MpICogaVxuICAgICAgICAgIGNvbnN0IHkgPSB5Rm9yKHZhbHVlKVxuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZyBrZXk9e2B0aWNrLSR7dmFsdWV9YH0+XG4gICAgICAgICAgICAgIDxsaW5lIHgxPXtQQURfTEVGVH0geTE9e3l9IHgyPXtXSURUSCAtIFBBRF9SSUdIVH0geTI9e3l9IHN0cm9rZT17Q09SX0NPTE9SUy5ib3JkZXJ9IHN0cm9rZVdpZHRoPXsxfSAvPlxuICAgICAgICAgICAgICA8dGV4dCB4PXtQQURfTEVGVCAtIDh9IHk9e3kgKyA0fSB0ZXh0QW5jaG9yPVwiZW5kXCIgZm9udFNpemU9ezExfSBmaWxsPXtDT1JfQ09MT1JTLnRleHRNdXRlZH0+XG4gICAgICAgICAgICAgICAge01hdGgucm91bmQodmFsdWUpfVxuICAgICAgICAgICAgICA8L3RleHQ+XG4gICAgICAgICAgICA8L2c+XG4gICAgICAgICAgKVxuICAgICAgICB9KX1cblxuICAgICAgICB7ZGF0YS5tYXAoKGQsIGkpID0+IHtcbiAgICAgICAgICBjb25zdCB4ID0gUEFEX0xFRlQgKyBzbG90ICogaSArIChzbG90IC0gYmFyVykgLyAyXG4gICAgICAgICAgY29uc3QgeSA9IHlGb3IoZC52YWx1ZSlcbiAgICAgICAgICBjb25zdCBoID0gYmFzZWxpbmUgLSB5XG4gICAgICAgICAgY29uc3QgZmlsbCA9IGQuY29sb3IgPz8gQ09SX0NIQVJUX0NPTE9SU1tpICUgQ09SX0NIQVJUX0NPTE9SUy5sZW5ndGhdXG4gICAgICAgICAgY29uc3QgY3ggPSB4ICsgYmFyVyAvIDJcbiAgICAgICAgICBjb25zdCBseSA9IGJhc2VsaW5lICsgKHJvdGF0ZSA/IDE0IDogMTgpXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxnIGtleT17ZC5sYWJlbH0+XG4gICAgICAgICAgICAgIDxyZWN0IHg9e3h9IHk9e3l9IHdpZHRoPXtiYXJXfSBoZWlnaHQ9e01hdGgubWF4KGgsIDApfSByeD17NH0gZmlsbD17ZmlsbH0+XG4gICAgICAgICAgICAgICAgPHRpdGxlPntgJHtkLmxhYmVsfTogJHtkLnZhbHVlfSR7dW5pdH1gfTwvdGl0bGU+XG4gICAgICAgICAgICAgIDwvcmVjdD5cbiAgICAgICAgICAgICAgPHRleHRcbiAgICAgICAgICAgICAgICB4PXtjeH1cbiAgICAgICAgICAgICAgICB5PXtseX1cbiAgICAgICAgICAgICAgICB0ZXh0QW5jaG9yPXtyb3RhdGUgPyAnZW5kJyA6ICdtaWRkbGUnfVxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybT17cm90YXRlID8gYHJvdGF0ZSgtMzIgJHtjeH0gJHtseX0pYCA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICBmb250U2l6ZT17MTF9XG4gICAgICAgICAgICAgICAgZmlsbD17Q09SX0NPTE9SUy50ZXh0fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RydW5jYXRlKGQubGFiZWwsIGxhYmVsQ2FwKX1cbiAgICAgICAgICAgICAgICA8dGl0bGU+e2QubGFiZWx9PC90aXRsZT5cbiAgICAgICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgICAgPC9nPlxuICAgICAgICAgIClcbiAgICAgICAgfSl9XG4gICAg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
@@ -1,111 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
- import { COR_COLORS, COR_CHART_COLORS } from './MAIAViz.types';
6
- import { normalizeSeries } from './MAIAViz.parse';
7
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
- var SIZE = 200;
9
- var STROKE = 34;
10
- var R = (SIZE - STROKE) / 2;
11
- var CENTER = SIZE / 2;
12
- var polar = function polar(angleDeg) {
13
- var rad = (angleDeg - 90) * Math.PI / 180;
14
- return [CENTER + R * Math.cos(rad), CENTER + R * Math.sin(rad)];
15
- };
16
- var arcPath = function arcPath(startAngle, endAngle) {
17
- var _polar = polar(startAngle),
18
- _polar2 = _slicedToArray(_polar, 2),
19
- x1 = _polar2[0],
20
- y1 = _polar2[1];
21
- var _polar3 = polar(endAngle),
22
- _polar4 = _slicedToArray(_polar3, 2),
23
- x2 = _polar4[0],
24
- y2 = _polar4[1];
25
- var largeArc = endAngle - startAngle > 180 ? 1 : 0;
26
- return "M ".concat(x1, " ").concat(y1, " A ").concat(R, " ").concat(R, " 0 ").concat(largeArc, " 1 ").concat(x2, " ").concat(y2);
27
- };
28
- export var MAIAVizDonut = function MAIAVizDonut(_ref) {
29
- var _spec$title;
30
- var spec = _ref.spec;
31
- var data = normalizeSeries(spec.data);
32
- var total = data.reduce(function (sum, d) {
33
- return sum + d.value;
34
- }, 0);
35
- if (!data.length || total <= 0) return null;
36
- var cursor = 0;
37
- var segments = data.map(function (d, i) {
38
- var _d$color;
39
- var start = cursor / total * 360;
40
- cursor += d.value;
41
- var end = cursor / total * 360;
42
- return _objectSpread(_objectSpread({}, d), {}, {
43
- color: (_d$color = d.color) !== null && _d$color !== void 0 ? _d$color : COR_CHART_COLORS[i % COR_CHART_COLORS.length],
44
- pct: Math.round(d.value / total * 100),
45
- // Evita el arco completo de 360° (no se dibuja); lo recortamos apenas.
46
- path: arcPath(start, end >= 360 ? 359.99 : end)
47
- });
48
- });
49
- return /*#__PURE__*/_jsxs("figure", {
50
- className: "MAIAViz-figure",
51
- children: [spec.title && /*#__PURE__*/_jsx("figcaption", {
52
- className: "MAIAViz-caption",
53
- children: spec.title
54
- }), /*#__PURE__*/_jsxs("div", {
55
- className: "MAIAViz-donut",
56
- children: [/*#__PURE__*/_jsxs("svg", {
57
- viewBox: "0 0 ".concat(SIZE, " ").concat(SIZE),
58
- width: SIZE,
59
- height: SIZE,
60
- role: "img",
61
- "aria-label": (_spec$title = spec.title) !== null && _spec$title !== void 0 ? _spec$title : 'Gráfico de dona',
62
- children: [segments.map(function (s) {
63
- return /*#__PURE__*/_jsx("path", {
64
- d: s.path,
65
- fill: "none",
66
- stroke: s.color,
67
- strokeWidth: STROKE,
68
- strokeLinecap: "butt",
69
- children: /*#__PURE__*/_jsx("title", {
70
- children: "".concat(s.label, ": ").concat(s.pct, "%")
71
- })
72
- }, s.label);
73
- }), /*#__PURE__*/_jsx("text", {
74
- x: CENTER,
75
- y: CENTER - 4,
76
- textAnchor: "middle",
77
- fontSize: 22,
78
- fontWeight: 600,
79
- fill: COR_COLORS.text,
80
- children: total
81
- }), /*#__PURE__*/_jsx("text", {
82
- x: CENTER,
83
- y: CENTER + 16,
84
- textAnchor: "middle",
85
- fontSize: 11,
86
- fill: COR_COLORS.textMuted,
87
- children: "Total"
88
- })]
89
- }), /*#__PURE__*/_jsx("ul", {
90
- className: "MAIAViz-legend",
91
- children: segments.map(function (s) {
92
- return /*#__PURE__*/_jsxs("li", {
93
- children: [/*#__PURE__*/_jsx("span", {
94
- className: "MAIAViz-legend-dot",
95
- style: {
96
- backgroundColor: s.color
97
- }
98
- }), /*#__PURE__*/_jsx("span", {
99
- className: "MAIAViz-legend-label",
100
- children: s.label
101
- }), /*#__PURE__*/_jsxs("span", {
102
- className: "MAIAViz-legend-value",
103
- children: [s.pct, "%"]
104
- })]
105
- }, s.label);
106
- })
107
- })]
108
- })]
109
- });
110
- };
111
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT1JfQ09MT1JTIiwiQ09SX0NIQVJUX0NPTE9SUyIsIm5vcm1hbGl6ZVNlcmllcyIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJTSVpFIiwiU1RST0tFIiwiUiIsIkNFTlRFUiIsInBvbGFyIiwiYW5nbGVEZWciLCJyYWQiLCJNYXRoIiwiUEkiLCJjb3MiLCJzaW4iLCJhcmNQYXRoIiwic3RhcnRBbmdsZSIsImVuZEFuZ2xlIiwiX3BvbGFyIiwiX3BvbGFyMiIsIl9zbGljZWRUb0FycmF5IiwieDEiLCJ5MSIsIl9wb2xhcjMiLCJfcG9sYXI0IiwieDIiLCJ5MiIsImxhcmdlQXJjIiwiY29uY2F0IiwiTUFJQVZpekRvbnV0IiwiX3JlZiIsIl9zcGVjJHRpdGxlIiwic3BlYyIsImRhdGEiLCJ0b3RhbCIsInJlZHVjZSIsInN1bSIsImQiLCJ2YWx1ZSIsImxlbmd0aCIsImN1cnNvciIsInNlZ21lbnRzIiwibWFwIiwiaSIsIl9kJGNvbG9yIiwic3RhcnQiLCJlbmQiLCJfb2JqZWN0U3ByZWFkIiwiY29sb3IiLCJwY3QiLCJyb3VuZCIsInBhdGgiLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsInRpdGxlIiwidmlld0JveCIsIndpZHRoIiwiaGVpZ2h0Iiwicm9sZSIsInMiLCJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwibGFiZWwiLCJ4IiwieSIsInRleHRBbmNob3IiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJ0ZXh0IiwidGV4dE11dGVkIiwic3R5bGUiLCJiYWNrZ3JvdW5kQ29sb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBVml6L01BSUFWaXpEb251dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRG9udXRTcGVjLCBDT1JfQ09MT1JTLCBDT1JfQ0hBUlRfQ09MT1JTIH0gZnJvbSAnLi9NQUlBVml6LnR5cGVzJ1xuaW1wb3J0IHsgbm9ybWFsaXplU2VyaWVzIH0gZnJvbSAnLi9NQUlBVml6LnBhcnNlJ1xuXG50eXBlIE1BSUFWaXpEb251dFByb3BzID0ge1xuICBzcGVjOiBEb251dFNwZWNcbn1cblxuY29uc3QgU0laRSA9IDIwMFxuY29uc3QgU1RST0tFID0gMzRcbmNvbnN0IFIgPSAoU0laRSAtIFNUUk9LRSkgLyAyXG5jb25zdCBDRU5URVIgPSBTSVpFIC8gMlxuXG5jb25zdCBwb2xhciA9IChhbmdsZURlZzogbnVtYmVyKTogW251bWJlciwgbnVtYmVyXSA9PiB7XG4gIGNvbnN0IHJhZCA9ICgoYW5nbGVEZWcgLSA5MCkgKiBNYXRoLlBJKSAvIDE4MFxuICByZXR1cm4gW0NFTlRFUiArIFIgKiBNYXRoLmNvcyhyYWQpLCBDRU5URVIgKyBSICogTWF0aC5zaW4ocmFkKV1cbn1cblxuY29uc3QgYXJjUGF0aCA9IChzdGFydEFuZ2xlOiBudW1iZXIsIGVuZEFuZ2xlOiBudW1iZXIpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBbeDEsIHkxXSA9IHBvbGFyKHN0YXJ0QW5nbGUpXG4gIGNvbnN0IFt4MiwgeTJdID0gcG9sYXIoZW5kQW5nbGUpXG4gIGNvbnN0IGxhcmdlQXJjID0gZW5kQW5nbGUgLSBzdGFydEFuZ2xlID4gMTgwID8gMSA6IDBcbiAgcmV0dXJuIGBNICR7eDF9ICR7eTF9IEEgJHtSfSAke1J9IDAgJHtsYXJnZUFyY30gMSAke3gyfSAke3kyfWBcbn1cblxuZXhwb3J0IGNvbnN0IE1BSUFWaXpEb251dCA9ICh7IHNwZWMgfTogTUFJQVZpekRvbnV0UHJvcHMpID0+IHtcbiAgY29uc3QgZGF0YSA9IG5vcm1hbGl6ZVNlcmllcyhzcGVjLmRhdGEpXG4gIGNvbnN0IHRvdGFsID0gZGF0YS5yZWR1Y2UoKHN1bSwgZCkgPT4gc3VtICsgZC52YWx1ZSwgMClcbiAgaWYgKCFkYXRhLmxlbmd0aCB8fCB0b3RhbCA8PSAwKSByZXR1cm4gbnVsbFxuXG4gIGxldCBjdXJzb3IgPSAwXG4gIGNvbnN0IHNlZ21lbnRzID0gZGF0YS5tYXAoKGQsIGkpID0+IHtcbiAgICBjb25zdCBzdGFydCA9IChjdXJzb3IgLyB0b3RhbCkgKiAzNjBcbiAgICBjdXJzb3IgKz0gZC52YWx1ZVxuICAgIGNvbnN0IGVuZCA9IChjdXJzb3IgLyB0b3RhbCkgKiAzNjBcbiAgICByZXR1cm4ge1xuICAgICAgLi4uZCxcbiAgICAgIGNvbG9yOiBkLmNvbG9yID8/IENPUl9DSEFSVF9DT0xPUlNbaSAlIENPUl9DSEFSVF9DT0xPUlMubGVuZ3RoXSxcbiAgICAgIHBjdDogTWF0aC5yb3VuZCgoZC52YWx1ZSAvIHRvdGFsKSAqIDEwMCksXG4gICAgICAvLyBFdml0YSBlbCBhcmNvIGNvbXBsZXRvIGRlIDM2MMKwIChubyBzZSBkaWJ1amEpOyBsbyByZWNvcnRhbW9zIGFwZW5hcy5cbiAgICAgIHBhdGg6IGFyY1BhdGgoc3RhcnQsIGVuZCA+PSAzNjAgPyAzNTkuOTkgOiBlbmQpLFxuICAgIH1cbiAgfSlcblxuICByZXR1cm4gKFxuICAgIDxmaWd1cmUgY2xhc3NOYW1lPVwiTUFJQVZpei1maWd1cmVcIj5cbiAgICAgIHtzcGVjLnRpdGxlICYmIDxmaWdjYXB0aW9uIGNsYXNzTmFtZT1cIk1BSUFWaXotY2FwdGlvblwiPntzcGVjLnRpdGxlfTwvZmlnY2FwdGlvbj59XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIk1BSUFWaXotZG9udXRcIj5cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIHZpZXdCb3g9e2AwIDAgJHtTSVpFfSAke1NJWkV9YH1cbiAgICAgICAgICB3aWR0aD17U0laRX1cbiAgICAgICAgICBoZWlnaHQ9e1NJWkV9XG4gICAgICAgICAgcm9sZT1cImltZ1wiXG4gICAgICAgICAgYXJpYS1sYWJlbD17c3BlYy50aXRsZSA/PyAnR3LDoWZpY28gZGUgZG9uYSd9XG4gICAgICAgID5cbiAgICAgICAgICB7c2VnbWVudHMubWFwKHMgPT4gKFxuICAgICAgICAgICAgPHBhdGgga2V5PXtzLmxhYmVsfSBkPXtzLnBhdGh9IGZpbGw9XCJub25lXCIgc3Ryb2tlPXtzLmNvbG9yfSBzdHJva2VXaWR0aD17U1RST0tFfSBzdHJva2VMaW5lY2FwPVwiYnV0dFwiPlxuICAgICAgICAgICAgICA8dGl0bGU+e2Ake3MubGFiZWx9OiAke3MucGN0fSVgfTwvdGl0bGU+XG4gICAgICAgICAgICA8L3BhdGg+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAgPHRleHQgeD17Q0VOVEVSfSB5PXtDRU5URVIgLSA0fSB0ZXh0QW5jaG9yPVwibWlkZGxlXCIgZm9udFNpemU9ezIyfSBmb250V2VpZ2h0PXs2MDB9IGZpbGw9e0NPUl9DT0xPUlMudGV4dH0+XG4gICAgICAgICAgICB7dG90YWx9XG4gICAgICAgICAgPC90ZXh0PlxuICAgICAgICAgIDx0ZXh0IHg9e0NFTlRFUn0geT17Q0VOVEVSICsgMTZ9IHRleHRBbmNob3I9XCJtaWRkbGVcIiBmb250U2l6ZT17MTF9IGZpbGw9e0NPUl9DT0xPUlMudGV4dE11dGVkfT5cbiAgICAgICAgICAgIFRvdGFsXG4gICAgICAgICAgPC90ZXh0PlxuICAgICAgICA8L3N2Zz5cbiAgICAgICAgPHVsIGNsYXNzTmFtZT1cIk1BSUFWaXotbGVnZW5kXCI+XG4gICAgICAgICAge3NlZ21lbnRzLm1hcChzID0+IChcbiAgICAgICAgICAgIDxsaSBrZXk9e3MubGFiZWx9PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJNQUlBVml6LWxlZ2VuZC1kb3RcIiBzdHlsZT17eyBiYWNrZ3JvdW5kQ29sb3I6IHMuY29sb3IgfX0gLz5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiTUFJQVZpei1sZWdlbmQtbGFiZWxcIj57cy5sYWJlbH08L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIk1BSUFWaXotbGVnZW5kLXZhbHVlXCI+e3MucGN0fSU8L3NwYW4+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L3VsPlxuICAgICAgPC9kaXY+XG4gICAgPC9maWd1cmU+XG4gIClcbn1cbiJdLCJtYXBw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QUFBLGVBQ25HcEQsSUFBQTtjQUFBb0QsUUFBQSxLQUFBekIsTUFBQSxDQUFXK0IsQ0FBQyxDQUFDSyxLQUFLLFFBQUFwQyxNQUFBLENBQUsrQixDQUFDLENBQUNWLEdBQUc7WUFBQSxDQUFXO1VBQUMsR0FEL0JVLENBQUMsQ0FBQ0ssS0FFUCxDQUFDO1FBQUEsQ0FDUixDQUFDLGVBQ0YvRCxJQUFBO1VBQU1nRSxDQUFDLEVBQUUxRCxNQUFPO1VBQUMyRCxDQUFDLEVBQUUzRCxNQUFNLEdBQUcsQ0FBRTtVQUFDNEQsVUFBVSxFQUFDLFFBQVE7VUFBQ0MsUUFBUSxFQUFFLEVBQUc7VUFBQ0MsVUFBVSxFQUFFLEdBQUk7VUFBQ1QsSUFBSSxFQUFFL0QsVUFBVSxDQUFDeUUsSUFBSztVQUFBakIsUUFBQSxFQUN0R25CO1FBQUssQ0FDRixDQUFDLGVBQ1BqQyxJQUFBO1VBQU1nRSxDQUFDLEVBQUUxRCxNQUFPO1VBQUMyRCxDQUFDLEVBQUUzRCxNQUFNLEdBQUcsRUFBRztVQUFDNEQsVUFBVSxFQUFDLFFBQVE7VUFBQ0MsUUFBUSxFQUFFLEVBQUc7VUFBQ1IsSUFBSSxFQUFFL0QsVUFBVSxDQUFDMEUsU0FBVTtVQUFBbEIsUUFBQSxFQUFDO1FBRS9GLENBQU0sQ0FBQztNQUFBLENBQ0osQ0FBQyxlQUNOcEQsSUFBQTtRQUFJbUQsU0FBUyxFQUFDLGdCQUFnQjtRQUFBQyxRQUFBLEVBQzNCWixRQUFRLENBQUNDLEdBQUcsQ0FBQyxVQUFBaUIsQ0FBQztVQUFBLG9CQUNieEQsS0FBQTtZQUFBa0QsUUFBQSxnQkFDRXBELElBQUE7Y0FBTW1ELFNBQVMsRUFBQyxvQkFBb0I7Y0FBQ29CLEtBQUssRUFBRTtnQkFBRUMsZUFBZSxFQUFFZCxDQUFDLENBQUNYO2NBQU07WUFBRSxDQUFFLENBQUMsZUFDNUUvQyxJQUFBO2NBQU1tRCxTQUFTLEVBQUMsc0JBQXNCO2NBQUFDLFFBQUEsRUFBRU0sQ0FBQyxDQUFDSztZQUFLLENBQU8sQ0FBQyxlQUN2RDdELEtBQUE7Y0FBTWlELFNBQVMsRUFBQyxzQkFBc0I7Y0FBQUMsUUFBQSxHQUFFTSxDQUFDLENBQUNWLEdBQUcsRUFBQyxHQUFDO1lBQUEsQ0FBTSxDQUFDO1VBQUEsR0FIL0NVLENBQUMsQ0FBQ0ssS0FJUCxDQUFDO1FBQUEsQ0FDTjtNQUFDLENBQ0EsQ0FBQztJQUFBLENBQ0YsQ0FBQztFQUFBLENBQ0EsQ0FBQztBQUViLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,34 +0,0 @@
1
- import { COR_COLORS } from './MAIAViz.types';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- var deltaColor = function deltaColor(trend) {
4
- if (trend === 'up') return COR_COLORS.positive;
5
- if (trend === 'down') return COR_COLORS.negative;
6
- return COR_COLORS.neutral;
7
- };
8
- export var MAIAVizKpis = function MAIAVizKpis(_ref) {
9
- var spec = _ref.spec;
10
- var items = Array.isArray(spec.items) ? spec.items : [];
11
- if (!items.length) return null;
12
- return /*#__PURE__*/_jsx("div", {
13
- className: "MAIAViz-kpis",
14
- children: items.map(function (item) {
15
- return /*#__PURE__*/_jsxs("div", {
16
- className: "MAIAViz-kpi-card",
17
- children: [/*#__PURE__*/_jsx("span", {
18
- className: "MAIAViz-kpi-label",
19
- children: item.label
20
- }), /*#__PURE__*/_jsx("span", {
21
- className: "MAIAViz-kpi-value",
22
- children: item.value
23
- }), item.delta && /*#__PURE__*/_jsx("span", {
24
- className: "MAIAViz-kpi-delta",
25
- style: {
26
- color: deltaColor(item.trend)
27
- },
28
- children: item.delta
29
- })]
30
- }, item.label);
31
- })
32
- });
33
- };
34
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT1JfQ09MT1JTIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsImRlbHRhQ29sb3IiLCJ0cmVuZCIsInBvc2l0aXZlIiwibmVnYXRpdmUiLCJuZXV0cmFsIiwiTUFJQVZpektwaXMiLCJfcmVmIiwic3BlYyIsIml0ZW1zIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJtYXAiLCJpdGVtIiwibGFiZWwiLCJ2YWx1ZSIsImRlbHRhIiwic3R5bGUiLCJjb2xvciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL01BSUFWaXovTUFJQVZpektwaXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtwaXNTcGVjLCBDT1JfQ09MT1JTLCBUcmVuZCB9IGZyb20gJy4vTUFJQVZpei50eXBlcydcblxudHlwZSBNQUlBVml6S3Bpc1Byb3BzID0ge1xuICBzcGVjOiBLcGlzU3BlY1xufVxuXG5jb25zdCBkZWx0YUNvbG9yID0gKHRyZW5kPzogVHJlbmQpOiBzdHJpbmcgPT4ge1xuICBpZiAodHJlbmQgPT09ICd1cCcpIHJldHVybiBDT1JfQ09MT1JTLnBvc2l0aXZlXG4gIGlmICh0cmVuZCA9PT0gJ2Rvd24nKSByZXR1cm4gQ09SX0NPTE9SUy5uZWdhdGl2ZVxuICByZXR1cm4gQ09SX0NPTE9SUy5uZXV0cmFsXG59XG5cbmV4cG9ydCBjb25zdCBNQUlBVml6S3BpcyA9ICh7IHNwZWMgfTogTUFJQVZpektwaXNQcm9wcykgPT4ge1xuICBjb25zdCBpdGVtcyA9IEFycmF5LmlzQXJyYXkoc3BlYy5pdGVtcykgPyBzcGVjLml0ZW1zIDogW11cbiAgaWYgKCFpdGVtcy5sZW5ndGgpIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cIk1BSUFWaXota3Bpc1wiPlxuICAgICAge2l0ZW1zLm1hcChpdGVtID0+IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJNQUlBVml6LWtwaS1jYXJkXCIga2V5PXtpdGVtLmxhYmVsfT5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJNQUlBVml6LWtwaS1sYWJlbFwiPntpdGVtLmxhYmVsfTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJNQUlBVml6LWtwaS12YWx1ZVwiPntpdGVtLnZhbHVlfTwvc3Bhbj5cbiAgICAgICAgICB7aXRlbS5kZWx0YSAmJiAoXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJNQUlBVml6LWtwaS1kZWx0YVwiIHN0eWxlPXt7IGNvbG9yOiBkZWx0YUNvbG9yKGl0ZW0udHJlbmQpIH19PlxuICAgICAgICAgICAgICB7aXRlbS5kZWx0YX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICkpfVxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQW1CQSxVQUFVLFFBQWUsaUJBQWlCO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQU03RCxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBSUMsS0FBYSxFQUFhO0VBQzVDLElBQUlBLEtBQUssS0FBSyxJQUFJLEVBQUUsT0FBT04sVUFBVSxDQUFDTyxRQUFRO0VBQzlDLElBQUlELEtBQUssS0FBSyxNQUFNLEVBQUUsT0FBT04sVUFBVSxDQUFDUSxRQUFRO0VBQ2hELE9BQU9SLFVBQVUsQ0FBQ1MsT0FBTztBQUMzQixDQUFDO0FBRUQsT0FBTyxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBQUMsSUFBQSxFQUFtQztFQUFBLElBQTdCQyxJQUFJLEdBQUFELElBQUEsQ0FBSkMsSUFBSTtFQUNoQyxJQUFNQyxLQUFLLEdBQUdDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDSCxJQUFJLENBQUNDLEtBQUssQ0FBQyxHQUFHRCxJQUFJLENBQUNDLEtBQUssR0FBRyxFQUFFO0VBQ3pELElBQUksQ0FBQ0EsS0FBSyxDQUFDRyxNQUFNLEVBQUUsT0FBTyxJQUFJO0VBRTlCLG9CQUNFZCxJQUFBO0lBQUtlLFNBQVMsRUFBQyxjQUFjO0lBQUFDLFFBQUEsRUFDMUJMLEtBQUssQ0FBQ00sR0FBRyxDQUFDLFVBQUFDLElBQUk7TUFBQSxvQkFDYmhCLEtBQUE7UUFBS2EsU0FBUyxFQUFDLGtCQUFrQjtRQUFBQyxRQUFBLGdCQUMvQmhCLElBQUE7VUFBTWUsU0FBUyxFQUFDLG1CQUFtQjtVQUFBQyxRQUFBLEVBQUVFLElBQUksQ0FBQ0M7UUFBSyxDQUFPLENBQUMsZUFDdkRuQixJQUFBO1VBQU1lLFNBQVMsRUFBQyxtQkFBbUI7VUFBQUMsUUFBQSxFQUFFRSxJQUFJLENBQUNFO1FBQUssQ0FBTyxDQUFDLEVBQ3RERixJQUFJLENBQUNHLEtBQUssaUJBQ1RyQixJQUFBO1VBQU1lLFNBQVMsRUFBQyxtQkFBbUI7VUFBQ08sS0FBSyxFQUFFO1lBQUVDLEtBQUssRUFBRXBCLFVBQVUsQ0FBQ2UsSUFBSSxDQUFDZCxLQUFLO1VBQUUsQ0FBRTtVQUFBWSxRQUFBLEVBQzFFRSxJQUFJLENBQUNHO1FBQUssQ0FDUCxDQUNQO01BQUEsR0FQb0NILElBQUksQ0FBQ0MsS0FRdkMsQ0FBQztJQUFBLENBQ1A7RUFBQyxDQUNDLENBQUM7QUFFVixDQUFDIiwiaWdub3JlTGlzdCI6W119