@luzmo/analytics-components-kit 1.0.1-alpha.144 → 1.0.1-alpha.145
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/angular/esm/types/ai-chat.types.d.ts +3 -0
- package/angular/tsconfig.json +3 -0
- package/angular/types/ai-chat.types.ts +5 -0
- package/components/ai-chat/ai-chat-streaming.d.ts +14 -0
- package/components/ai-chat/ai-chat.d.ts +37 -5
- package/components/ai-chat/index.cjs +1 -1
- package/components/ai-chat/index.d.ts +3 -0
- package/components/ai-chat/index.js +6 -6
- package/components/ai-chat/request-contract.d.ts +1 -0
- package/components/ai-chat-BGgOjOjv.cjs +113 -0
- package/components/{ai-chat-CEX2VQeq.js → ai-chat-DreqkkBA.js} +258 -96
- package/components/ai-interaction-textarea/index.cjs +1 -1
- package/components/ai-interaction-textarea/index.js +3 -3
- package/components/data-fields-select/index.cjs +1 -1
- package/components/data-fields-select/index.js +3 -3
- package/components/{data-fields-select-dbn1KG3y.js → data-fields-select-CHOKEMb2.js} +1 -1
- package/components/{data-fields-select-Byfdph5v.cjs → data-fields-select-_WjjNpcl.cjs} +1 -1
- package/components/dataset-selector-list/index.cjs +1 -1
- package/components/dataset-selector-list/index.js +2 -2
- package/components/{dataset-selector-list-BDSXGUDh.js → dataset-selector-list-C5FvwP-r.js} +1 -1
- package/components/{dataset-selector-list-CH3lwAjJ.cjs → dataset-selector-list-DYsi3LBF.cjs} +1 -1
- package/components/dataset-selector-row/index.cjs +1 -1
- package/components/dataset-selector-row/index.js +3 -3
- package/components/{dataset-selector-row-DPyGMP__.js → dataset-selector-row-BKIFTyJl.js} +1 -1
- package/components/{dataset-selector-row-DdTnaQ6w.cjs → dataset-selector-row-Qwz9WmR4.cjs} +1 -1
- package/components/display-settings/index.cjs +1 -1
- package/components/display-settings/index.js +2 -2
- package/components/display-settings-binning/index.cjs +1 -1
- package/components/display-settings-binning/index.js +3 -3
- package/components/{display-settings-binning-DP9oFC6h.js → display-settings-binning-B58LCqmn.js} +1 -1
- package/components/{display-settings-binning-C9VF0K9q.cjs → display-settings-binning-Bte25mmH.cjs} +1 -1
- package/components/display-settings-datetime/index.cjs +1 -1
- package/components/display-settings-datetime/index.js +3 -3
- package/components/{display-settings-datetime-C3LDVEcH.cjs → display-settings-datetime-DAL8zjtk.cjs} +1 -1
- package/components/{display-settings-datetime-DxBUXAuH.js → display-settings-datetime-DxSNsem7.js} +1 -1
- package/components/display-settings-grand-totals/index.cjs +1 -1
- package/components/display-settings-grand-totals/index.js +3 -3
- package/components/{display-settings-grand-totals-C3QlInwU.cjs → display-settings-grand-totals-NWow1vhX.cjs} +1 -1
- package/components/{display-settings-grand-totals-BiGxXuw2.js → display-settings-grand-totals-Poa2qL3U.js} +1 -1
- package/components/display-settings-numeric/index.cjs +1 -1
- package/components/display-settings-numeric/index.js +3 -3
- package/components/{display-settings-numeric-BvLDL-qP.js → display-settings-numeric-CTaS1NhY.js} +1 -1
- package/components/{display-settings-numeric-CyoTJKZv.cjs → display-settings-numeric-eG0gr9Jn.cjs} +1 -1
- package/components/display-settings-period-over-period/index.cjs +1 -1
- package/components/display-settings-period-over-period/index.js +3 -3
- package/components/{display-settings-period-over-period-CvvgRCVH.js → display-settings-period-over-period-D9r-6vbW.js} +1 -1
- package/components/{display-settings-period-over-period-Cdmaf_Rw.cjs → display-settings-period-over-period-DjB0K-Zj.cjs} +1 -1
- package/components/draggable-data-field/index.cjs +1 -1
- package/components/draggable-data-field/index.js +3 -3
- package/components/{draggable-data-field-C_zHA_mn.js → draggable-data-field-BIWzuhyP.js} +1 -1
- package/components/{draggable-data-field-CbF7N-o7.cjs → draggable-data-field-Cez4-c6O.cjs} +1 -1
- package/components/draggable-data-field-level/index.cjs +1 -1
- package/components/draggable-data-field-level/index.js +2 -2
- package/components/draggable-data-fields-panel/index.cjs +1 -1
- package/components/draggable-data-fields-panel/index.js +4 -4
- package/components/{draggable-data-fields-panel-DOdI9NaC.cjs → draggable-data-fields-panel-B0DzaGsv.cjs} +1 -1
- package/components/{draggable-data-fields-panel-D7oa6gGZ.js → draggable-data-fields-panel-C3IwyVQh.js} +1 -1
- package/components/droppable-slot/index.cjs +1 -1
- package/components/droppable-slot/index.js +3 -3
- package/components/{droppable-slot-oB61SQKO.js → droppable-slot-BEKnuzJd.js} +1 -1
- package/components/{droppable-slot-DtFdADiO.cjs → droppable-slot-CHtF9RZo.cjs} +1 -1
- package/components/edit-filters/index.cjs +1 -1
- package/components/edit-filters/index.js +10 -10
- package/components/{edit-filters-B29YfSBe.js → edit-filters-BHiGSnrn.js} +1 -1
- package/components/{edit-filters-geWHEBCw.cjs → edit-filters-CoVNGAfA.cjs} +1 -1
- package/components/edit-item/index.cjs +1 -1
- package/components/edit-item/index.js +2 -2
- package/components/edit-option/index.cjs +1 -1
- package/components/edit-option/index.js +2 -2
- package/components/edit-option-action-button-group/index.cjs +1 -1
- package/components/edit-option-action-button-group/index.js +2 -2
- package/components/edit-option-color-palette-picker/index.cjs +1 -1
- package/components/edit-option-color-palette-picker/index.js +2 -2
- package/components/edit-option-color-picker/index.cjs +1 -1
- package/components/edit-option-color-picker/index.js +2 -2
- package/components/edit-option-color-range/index.cjs +1 -1
- package/components/edit-option-color-range/index.js +2 -2
- package/components/edit-option-multi-language-field/index.cjs +1 -1
- package/components/edit-option-multi-language-field/index.js +2 -2
- package/components/edit-option-number-field/index.cjs +1 -1
- package/components/edit-option-number-field/index.js +2 -2
- package/components/edit-option-picker/index.cjs +1 -1
- package/components/edit-option-picker/index.js +2 -2
- package/components/edit-option-position-picker/index.cjs +1 -1
- package/components/edit-option-position-picker/index.js +2 -2
- package/components/edit-option-positions-number-field/index.cjs +1 -1
- package/components/edit-option-positions-number-field/index.js +2 -2
- package/components/edit-option-radio-button-group/index.cjs +1 -1
- package/components/edit-option-radio-button-group/index.js +2 -2
- package/components/edit-option-slider/index.cjs +1 -1
- package/components/edit-option-slider/index.js +2 -2
- package/components/edit-option-switch/index.cjs +1 -1
- package/components/edit-option-switch/index.js +2 -2
- package/components/edit-option-text-field/index.cjs +1 -1
- package/components/edit-option-text-field/index.js +2 -2
- package/components/{es-cTUhzLmn.js → es-CjgYaJJY.js} +1 -0
- package/components/es-D8zLt69A.cjs +20 -0
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +3 -3
- package/components/{filter-expression-picker-D83ya_dt.js → filter-expression-picker-Bbu8Bd25.js} +1 -1
- package/components/{filter-expression-picker-wOcgU2No.cjs → filter-expression-picker-Dc3K44W0.cjs} +1 -1
- package/components/filter-item/index.cjs +1 -1
- package/components/filter-item/index.js +9 -9
- package/components/{filter-item-ByKzQ-fl.cjs → filter-item-C7i8LLr-.cjs} +1 -1
- package/components/{filter-item-BdnrbMUW.js → filter-item-DmzZL5Wr.js} +2 -2
- package/components/filter-value-picker/index.cjs +1 -1
- package/components/filter-value-picker/index.js +6 -6
- package/components/{filter-value-picker-Co9Vka2J.cjs → filter-value-picker-CwQLOgTl.cjs} +1 -1
- package/components/{filter-value-picker-B2BjJuIa.js → filter-value-picker-Vq-PfjoU.js} +1 -1
- package/components/filter-value-picker-datetime/index.cjs +1 -1
- package/components/filter-value-picker-datetime/index.js +3 -3
- package/components/{filter-value-picker-datetime-BzMfKPkZ.cjs → filter-value-picker-datetime-By3czRqA.cjs} +1 -1
- package/components/{filter-value-picker-datetime-BOheBbvB.js → filter-value-picker-datetime-Cf60JAgg.js} +1 -1
- package/components/filter-value-picker-hierarchy/index.cjs +1 -1
- package/components/filter-value-picker-hierarchy/index.js +3 -3
- package/components/{filter-value-picker-hierarchy-Cwq8GLp4.js → filter-value-picker-hierarchy-CL1YmeY9.js} +1 -1
- package/components/{filter-value-picker-hierarchy-Dgdj-xqx.cjs → filter-value-picker-hierarchy-CpvItjbb.cjs} +1 -1
- package/components/filter-value-picker-numeric/index.cjs +1 -1
- package/components/filter-value-picker-numeric/index.js +3 -3
- package/components/{filter-value-picker-numeric-CHFRRe1f.js → filter-value-picker-numeric-CDUGCKAy.js} +1 -1
- package/components/{filter-value-picker-numeric-CZrRBHuR.cjs → filter-value-picker-numeric-Dq143AGo.cjs} +1 -1
- package/components/grid/index.cjs +1 -1
- package/components/grid/index.js +3 -3
- package/components/{grid-BxeX-SG-.cjs → grid-By5MAIqI.cjs} +9 -8
- package/components/{grid-CfCH13sk.js → grid-DN9I7DDY.js} +9 -8
- package/components/index.cjs +1 -1
- package/components/index.js +27 -27
- package/components/item-data-drop-panel/index.cjs +1 -1
- package/components/item-data-drop-panel/index.js +4 -4
- package/components/{item-data-drop-panel-BNf_N7GH.js → item-data-drop-panel-hXvAIkBq.js} +1 -1
- package/components/{item-data-drop-panel-Dcj5Gz29.cjs → item-data-drop-panel-jxlsaggu.cjs} +1 -1
- package/components/item-data-picker-panel/index.cjs +1 -1
- package/components/item-data-picker-panel/index.js +5 -5
- package/components/{item-data-picker-panel-OK_nMbm4.js → item-data-picker-panel-C7wyaWko.js} +1 -1
- package/components/{item-data-picker-panel-GD6CRais.cjs → item-data-picker-panel-sWJGFZ7e.cjs} +1 -1
- package/components/{localized-mixin-BmZhC9XV.cjs → localized-mixin-BhUvOsd7.cjs} +1 -1
- package/components/{localized-mixin-CgQFYGOU.js → localized-mixin-HngLqDZn.js} +1 -1
- package/components/{set-locale-CRNDDu2d.js → set-locale-C3o6ooUV.js} +1 -1
- package/components/{set-locale-DjOkyNGu.cjs → set-locale-CdlBx8s9.cjs} +1 -1
- package/components/slot-contents-picker/index.cjs +1 -1
- package/components/slot-contents-picker/index.js +4 -4
- package/components/{slot-contents-picker-BNWBIypw.js → slot-contents-picker-G3JVFgG1.js} +1 -1
- package/components/{slot-contents-picker-BjqOUNKU.cjs → slot-contents-picker-vO7GDwhF.cjs} +1 -1
- package/components/slot-menu/index.cjs +1 -1
- package/components/slot-menu/index.js +2 -2
- package/components/slot-menu-list/index.cjs +1 -1
- package/components/slot-menu-list/index.js +2 -2
- package/components/utils/base.cjs +1 -1
- package/components/utils/base.js +2 -2
- package/components/utils.cjs +1 -1
- package/components/utils.js +1 -1
- package/components/viz-item-menu/index.cjs +1 -1
- package/components/viz-item-menu/index.js +3 -3
- package/components/{viz-item-menu-_DLQJFWj.js → viz-item-menu-BX_S-XUm.js} +1 -1
- package/components/{viz-item-menu-BNgd025g.cjs → viz-item-menu-CGhptlJg.cjs} +1 -1
- package/custom-elements.json +173 -10
- package/package.json +1 -1
- package/types/ai-chat.types.d.ts +3 -0
- package/components/ai-chat-PZrWiUxE.cjs +0 -90
- package/components/es-CNpZK6tJ.cjs +0 -20
package/custom-elements.json
CHANGED
|
@@ -2,6 +2,112 @@
|
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
3
|
"readme": "",
|
|
4
4
|
"modules": [
|
|
5
|
+
{
|
|
6
|
+
"kind": "javascript-module",
|
|
7
|
+
"path": "src/components/ai-chat/ai-chat-streaming.ts",
|
|
8
|
+
"declarations": [
|
|
9
|
+
{
|
|
10
|
+
"kind": "function",
|
|
11
|
+
"name": "createInitialProgress",
|
|
12
|
+
"return": {
|
|
13
|
+
"type": {
|
|
14
|
+
"text": "ProgressTreeNode"
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"kind": "function",
|
|
20
|
+
"name": "hasProgressChunk",
|
|
21
|
+
"return": {
|
|
22
|
+
"type": {
|
|
23
|
+
"text": "boolean"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"parameters": [
|
|
27
|
+
{
|
|
28
|
+
"name": "value",
|
|
29
|
+
"type": {
|
|
30
|
+
"text": "Record<string, unknown>"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"kind": "function",
|
|
37
|
+
"name": "fetchStreamingResponse",
|
|
38
|
+
"return": {
|
|
39
|
+
"type": {
|
|
40
|
+
"text": "Promise<StreamingResponse>"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"parameters": [
|
|
44
|
+
{
|
|
45
|
+
"name": "options",
|
|
46
|
+
"type": {
|
|
47
|
+
"text": "StreamingRequestOptions"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"kind": "function",
|
|
54
|
+
"name": "readNdjsonStream",
|
|
55
|
+
"return": {
|
|
56
|
+
"type": {
|
|
57
|
+
"text": "Promise<void>"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"parameters": [
|
|
61
|
+
{
|
|
62
|
+
"name": "body",
|
|
63
|
+
"type": {
|
|
64
|
+
"text": "ReadableStream<Uint8Array>"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "onChunk",
|
|
69
|
+
"type": {
|
|
70
|
+
"text": "(chunk: Record<string, unknown>) => void"
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"exports": [
|
|
77
|
+
{
|
|
78
|
+
"kind": "js",
|
|
79
|
+
"name": "createInitialProgress",
|
|
80
|
+
"declaration": {
|
|
81
|
+
"name": "createInitialProgress",
|
|
82
|
+
"module": "src/components/ai-chat/ai-chat-streaming.ts"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"kind": "js",
|
|
87
|
+
"name": "hasProgressChunk",
|
|
88
|
+
"declaration": {
|
|
89
|
+
"name": "hasProgressChunk",
|
|
90
|
+
"module": "src/components/ai-chat/ai-chat-streaming.ts"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"kind": "js",
|
|
95
|
+
"name": "fetchStreamingResponse",
|
|
96
|
+
"declaration": {
|
|
97
|
+
"name": "fetchStreamingResponse",
|
|
98
|
+
"module": "src/components/ai-chat/ai-chat-streaming.ts"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"kind": "js",
|
|
103
|
+
"name": "readNdjsonStream",
|
|
104
|
+
"declaration": {
|
|
105
|
+
"name": "readNdjsonStream",
|
|
106
|
+
"module": "src/components/ai-chat/ai-chat-streaming.ts"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
},
|
|
5
111
|
{
|
|
6
112
|
"kind": "javascript-module",
|
|
7
113
|
"path": "src/components/ai-chat/ai-chat.ts",
|
|
@@ -198,17 +304,47 @@
|
|
|
198
304
|
"text": "string | null"
|
|
199
305
|
},
|
|
200
306
|
"default": "null",
|
|
201
|
-
"description": "Loading message",
|
|
307
|
+
"description": "Loading message shown while generating and before progress steps are available.\nOnly effective in external request mode; in internal mode, progress steps\nare initialized immediately.",
|
|
202
308
|
"attribute": "loading-message"
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"kind": "field",
|
|
312
|
+
"name": "initialPrompt",
|
|
313
|
+
"type": {
|
|
314
|
+
"text": "string | null"
|
|
315
|
+
},
|
|
316
|
+
"default": "null",
|
|
317
|
+
"description": "When set, the component auto-submits this prompt via the streaming API\nwithout adding a duplicate user message (assumes it is already in `messages`).\nUseful when the prompt originates from an external source (e.g. a dropdown).",
|
|
318
|
+
"attribute": "initial-prompt"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"kind": "field",
|
|
322
|
+
"name": "progress",
|
|
323
|
+
"type": {
|
|
324
|
+
"text": "ProgressTreeNode | null"
|
|
325
|
+
},
|
|
326
|
+
"default": "null",
|
|
327
|
+
"description": "Progress tree for external request mode. Ignored in internal mode.",
|
|
328
|
+
"attribute": "progress"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"kind": "field",
|
|
332
|
+
"name": "progressCollapsed",
|
|
333
|
+
"type": {
|
|
334
|
+
"text": "boolean"
|
|
335
|
+
},
|
|
336
|
+
"default": "false",
|
|
337
|
+
"description": "Whether progress steps should be shown collapsed.\nOnly used in external request mode. Ignored in internal mode.",
|
|
338
|
+
"attribute": "progress-collapsed"
|
|
203
339
|
}
|
|
204
340
|
],
|
|
205
341
|
"events": [
|
|
206
342
|
{
|
|
207
|
-
"name": "luzmo-
|
|
343
|
+
"name": "luzmo-response-received",
|
|
208
344
|
"type": {
|
|
209
345
|
"text": "CustomEvent"
|
|
210
346
|
},
|
|
211
|
-
"description": "Fired when
|
|
347
|
+
"description": "Fired when an AI text response is received. For chart responses, this event is only fired if the response includes a `message` field. For error responses, this event is always fired with the error explanation."
|
|
212
348
|
},
|
|
213
349
|
{
|
|
214
350
|
"name": "luzmo-chart-generated",
|
|
@@ -218,11 +354,11 @@
|
|
|
218
354
|
"description": "Fired when the AI generates a chart (includes generatedChart in response)"
|
|
219
355
|
},
|
|
220
356
|
{
|
|
221
|
-
"name": "luzmo-
|
|
357
|
+
"name": "luzmo-message-sent",
|
|
222
358
|
"type": {
|
|
223
359
|
"text": "CustomEvent"
|
|
224
360
|
},
|
|
225
|
-
"description": "Fired when
|
|
361
|
+
"description": "Fired when a user sends a message"
|
|
226
362
|
},
|
|
227
363
|
{
|
|
228
364
|
"name": "luzmo-datasets-changed",
|
|
@@ -398,8 +534,35 @@
|
|
|
398
534
|
"text": "string | null"
|
|
399
535
|
},
|
|
400
536
|
"default": "null",
|
|
401
|
-
"description": "Loading message",
|
|
537
|
+
"description": "Loading message shown while generating and before progress steps are available.\nOnly effective in external request mode; in internal mode, progress steps\nare initialized immediately.",
|
|
402
538
|
"fieldName": "loadingMessage"
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"name": "initial-prompt",
|
|
542
|
+
"type": {
|
|
543
|
+
"text": "string | null"
|
|
544
|
+
},
|
|
545
|
+
"default": "null",
|
|
546
|
+
"description": "When set, the component auto-submits this prompt via the streaming API\nwithout adding a duplicate user message (assumes it is already in `messages`).\nUseful when the prompt originates from an external source (e.g. a dropdown).",
|
|
547
|
+
"fieldName": "initialPrompt"
|
|
548
|
+
},
|
|
549
|
+
{
|
|
550
|
+
"name": "progress",
|
|
551
|
+
"type": {
|
|
552
|
+
"text": "ProgressTreeNode | null"
|
|
553
|
+
},
|
|
554
|
+
"default": "null",
|
|
555
|
+
"description": "Progress tree for external request mode. Ignored in internal mode.",
|
|
556
|
+
"fieldName": "progress"
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"name": "progress-collapsed",
|
|
560
|
+
"type": {
|
|
561
|
+
"text": "boolean"
|
|
562
|
+
},
|
|
563
|
+
"default": "false",
|
|
564
|
+
"description": "Whether progress steps should be shown collapsed.\nOnly used in external request mode. Ignored in internal mode.",
|
|
565
|
+
"fieldName": "progressCollapsed"
|
|
403
566
|
}
|
|
404
567
|
],
|
|
405
568
|
"superclass": {
|
|
@@ -410,16 +573,16 @@
|
|
|
410
573
|
},
|
|
411
574
|
{
|
|
412
575
|
"kind": "variable",
|
|
413
|
-
"name": "
|
|
414
|
-
"default": "`${this.apiUrl}/${this.apiVersion}/aimessage`"
|
|
576
|
+
"name": "datasetIds"
|
|
415
577
|
},
|
|
416
578
|
{
|
|
417
579
|
"kind": "variable",
|
|
418
|
-
"name": "
|
|
580
|
+
"name": "request"
|
|
419
581
|
},
|
|
420
582
|
{
|
|
421
583
|
"kind": "variable",
|
|
422
|
-
"name": "
|
|
584
|
+
"name": "url",
|
|
585
|
+
"default": "`${this.apiUrl}/${this.apiVersion}/aimessage`"
|
|
423
586
|
}
|
|
424
587
|
],
|
|
425
588
|
"exports": [
|
package/package.json
CHANGED
package/types/ai-chat.types.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import type { ProgressTreeNode } from '@luzmo/lucero/progress-steps';
|
|
2
|
+
export type { ProgressTreeNode };
|
|
1
3
|
export interface ChatMessage {
|
|
2
4
|
id?: string;
|
|
3
5
|
type: 'user' | 'ai';
|
|
4
6
|
message: string;
|
|
7
|
+
progress?: ProgressTreeNode;
|
|
5
8
|
isError?: boolean;
|
|
6
9
|
}
|
|
7
10
|
export interface LuzmoChart {
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
/*! * A kit of modern Luzmo Web Components for analytics in your web application.
|
|
2
|
-
*
|
|
3
|
-
* Copyright © 2026 Luzmo
|
|
4
|
-
* All rights reserved.
|
|
5
|
-
* Luzmo web components (“Luzmo Web Components”)
|
|
6
|
-
* must be used according to the Luzmo Terms of Service.
|
|
7
|
-
* This license allows users with a current active Luzmo account
|
|
8
|
-
* to use the Luzmo Web Components. This license terminates
|
|
9
|
-
* automatically if a user no longer has an active Luzmo account.
|
|
10
|
-
* Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
|
|
11
|
-
*
|
|
12
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
13
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
14
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
15
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
16
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
17
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
|
-
* SOFTWARE.
|
|
19
|
-
* */
|
|
20
|
-
const e=require(`./chunk-350yNsax.cjs`),t=require(`./base-C_azywlB.cjs`),n=require(`./decorate-Dq4-zbi1.cjs`);let r=require(`@lit/localize/lit-localize`),i=require(`@luzmo/icons`);require(`@luzmo/lucero/chat-message`);let a=require(`lit`),o=require(`lit/decorators.js`),s=require(`lit/directives/unsafe-html.js`);var{entries:c,setPrototypeOf:l,isFrozen:u,getPrototypeOf:d,getOwnPropertyDescriptor:ee}=Object,{freeze:f,seal:p,create:te}=Object,{apply:m,construct:h}=typeof Reflect<`u`&&Reflect;f||=function(e){return e},p||=function(e){return e},m||=function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),i=2;i<n;i++)r[i-2]=arguments[i];return e.apply(t,r)},h||=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return new e(...n)};var ne=x(Array.prototype.forEach),re=x(Array.prototype.lastIndexOf),ie=x(Array.prototype.pop),g=x(Array.prototype.push),ae=x(Array.prototype.splice),oe=x(String.prototype.toLowerCase),se=x(String.prototype.toString),ce=x(String.prototype.match),_=x(String.prototype.replace),le=x(String.prototype.indexOf),ue=x(String.prototype.trim),v=x(Object.prototype.hasOwnProperty),y=x(RegExp.prototype.test),b=de(TypeError);function x(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];return m(e,t,r)}}function de(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return h(e,n)}}function S(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:oe;l&&l(e,null);let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(u(t)||(t[r]=e),i=e)}e[i]=!0}return e}function fe(e){for(let t=0;t<e.length;t++)v(e,t)||(e[t]=null);return e}function C(e){let t=te(null);for(let[n,r]of c(e))v(e,n)&&(Array.isArray(r)?t[n]=fe(r):r&&typeof r==`object`&&r.constructor===Object?t[n]=C(r):t[n]=r);return t}function w(e,t){for(;e!==null;){let n=ee(e,t);if(n){if(n.get)return x(n.get);if(typeof n.value==`function`)return x(n.value)}e=d(e)}function n(){return null}return n}var pe=f(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),me=f(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),he=f([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),ge=f([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),_e=f(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),ve=f([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),ye=f([`#text`]),be=f(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns.slot`.split(`.`)),xe=f(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),Se=f(`accent.accentunder.align.bevelled.close.columnsalign.columnlines.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lspace.lquote.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),T=f([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),Ce=p(/\{\{[\w\W]*|[\w\W]*\}\}/gm),E=p(/<%[\w\W]*|[\w\W]*%>/gm),D=p(/\$\{[\w\W]*/gm),O=p(/^data-[\-\w.\u00B7-\uFFFF]+$/),we=p(/^aria-[\-\w]+$/),Te=p(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ee=p(/^(?:\w+script|data):/i),De=p(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Oe=p(/^html$/i),ke=p(/^[a-z][.\w]*(-[.\w]+)+$/i),Ae=Object.freeze({__proto__:null,ARIA_ATTR:we,ATTR_WHITESPACE:De,CUSTOM_ELEMENT:ke,DATA_ATTR:O,DOCTYPE_NAME:Oe,ERB_EXPR:E,IS_ALLOWED_URI:Te,IS_SCRIPT_OR_DATA:Ee,MUSTACHE_EXPR:Ce,TMPLIT_EXPR:D}),k={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},je=function(){return typeof window>`u`?null:window},Me=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},Ne=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Pe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:je(),t=e=>Pe(e);if(t.version=`3.3.1`,t.removed=[],!e||!e.document||e.document.nodeType!==k.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e,r=n,i=r.currentScript,{DocumentFragment:a,HTMLTemplateElement:o,Node:s,Element:l,NodeFilter:u,NamedNodeMap:d=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:ee,DOMParser:p,trustedTypes:m}=e,h=l.prototype,x=w(h,`cloneNode`),de=w(h,`remove`),fe=w(h,`nextSibling`),Ce=w(h,`childNodes`),E=w(h,`parentNode`);if(typeof o==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let D,O=``,{implementation:we,createNodeIterator:Ee,createDocumentFragment:De,getElementsByTagName:ke}=n,{importNode:Fe}=r,A=Ne();t.isSupported=typeof c==`function`&&typeof E==`function`&&we&&we.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:j,ERB_EXPR:M,TMPLIT_EXPR:Ie,DATA_ATTR:Le,ARIA_ATTR:Re,IS_SCRIPT_OR_DATA:ze,ATTR_WHITESPACE:Be,CUSTOM_ELEMENT:Ve}=Ae,{IS_ALLOWED_URI:He}=Ae,N=null,Ue=S({},[...pe,...me,...he,..._e,...ye]),P=null,We=S({},[...be,...xe,...Se,...T]),F=Object.seal(te(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),I=null,Ge=null,L=Object.seal(te(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Ke=!0,qe=!0,Je=!1,Ye=!0,R=!1,z=!0,B=!1,Xe=!1,Ze=!1,V=!1,H=!1,Qe=!1,$e=!0,et=!1,tt=!0,U=!1,W={},G=null,nt=S({},[`annotation-xml`,`audio`,`colgroup`,`desc`,`foreignobject`,`head`,`iframe`,`math`,`mi`,`mn`,`mo`,`ms`,`mtext`,`noembed`,`noframes`,`noscript`,`plaintext`,`script`,`style`,`svg`,`template`,`thead`,`title`,`video`,`xmp`]),rt=null,it=S({},[`audio`,`video`,`img`,`source`,`image`,`track`]),at=null,ot=S({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),st=`http://www.w3.org/1998/Math/MathML`,ct=`http://www.w3.org/2000/svg`,K=`http://www.w3.org/1999/xhtml`,q=K,lt=!1,ut=null,dt=S({},[st,ct,K],se),ft=S({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),pt=S({},[`annotation-xml`]),mt=S({},[`title`,`style`,`font`,`a`,`script`]),J=null,ht=[`application/xhtml+xml`,`text/html`],Y=null,X=null,gt=n.createElement(`form`),_t=function(e){return e instanceof RegExp||e instanceof Function},vt=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(X&&X===e)){if((!e||typeof e!=`object`)&&(e={}),e=C(e),J=ht.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,Y=J===`application/xhtml+xml`?se:oe,N=v(e,`ALLOWED_TAGS`)?S({},e.ALLOWED_TAGS,Y):Ue,P=v(e,`ALLOWED_ATTR`)?S({},e.ALLOWED_ATTR,Y):We,ut=v(e,`ALLOWED_NAMESPACES`)?S({},e.ALLOWED_NAMESPACES,se):dt,at=v(e,`ADD_URI_SAFE_ATTR`)?S(C(ot),e.ADD_URI_SAFE_ATTR,Y):ot,rt=v(e,`ADD_DATA_URI_TAGS`)?S(C(it),e.ADD_DATA_URI_TAGS,Y):it,G=v(e,`FORBID_CONTENTS`)?S({},e.FORBID_CONTENTS,Y):nt,I=v(e,`FORBID_TAGS`)?S({},e.FORBID_TAGS,Y):C({}),Ge=v(e,`FORBID_ATTR`)?S({},e.FORBID_ATTR,Y):C({}),W=v(e,`USE_PROFILES`)?e.USE_PROFILES:!1,Ke=e.ALLOW_ARIA_ATTR!==!1,qe=e.ALLOW_DATA_ATTR!==!1,Je=e.ALLOW_UNKNOWN_PROTOCOLS||!1,Ye=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,R=e.SAFE_FOR_TEMPLATES||!1,z=e.SAFE_FOR_XML!==!1,B=e.WHOLE_DOCUMENT||!1,V=e.RETURN_DOM||!1,H=e.RETURN_DOM_FRAGMENT||!1,Qe=e.RETURN_TRUSTED_TYPE||!1,Ze=e.FORCE_BODY||!1,$e=e.SANITIZE_DOM!==!1,et=e.SANITIZE_NAMED_PROPS||!1,tt=e.KEEP_CONTENT!==!1,U=e.IN_PLACE||!1,He=e.ALLOWED_URI_REGEXP||Te,q=e.NAMESPACE||K,ft=e.MATHML_TEXT_INTEGRATION_POINTS||ft,pt=e.HTML_INTEGRATION_POINTS||pt,F=e.CUSTOM_ELEMENT_HANDLING||{},e.CUSTOM_ELEMENT_HANDLING&&_t(e.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(F.tagNameCheck=e.CUSTOM_ELEMENT_HANDLING.tagNameCheck),e.CUSTOM_ELEMENT_HANDLING&&_t(e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(F.attributeNameCheck=e.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements==`boolean`&&(F.allowCustomizedBuiltInElements=e.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),R&&(qe=!1),H&&(V=!0),W&&(N=S({},ye),P=[],W.html===!0&&(S(N,pe),S(P,be)),W.svg===!0&&(S(N,me),S(P,xe),S(P,T)),W.svgFilters===!0&&(S(N,he),S(P,xe),S(P,T)),W.mathMl===!0&&(S(N,_e),S(P,Se),S(P,T))),e.ADD_TAGS&&(typeof e.ADD_TAGS==`function`?L.tagCheck=e.ADD_TAGS:(N===Ue&&(N=C(N)),S(N,e.ADD_TAGS,Y))),e.ADD_ATTR&&(typeof e.ADD_ATTR==`function`?L.attributeCheck=e.ADD_ATTR:(P===We&&(P=C(P)),S(P,e.ADD_ATTR,Y))),e.ADD_URI_SAFE_ATTR&&S(at,e.ADD_URI_SAFE_ATTR,Y),e.FORBID_CONTENTS&&(G===nt&&(G=C(G)),S(G,e.FORBID_CONTENTS,Y)),e.ADD_FORBID_CONTENTS&&(G===nt&&(G=C(G)),S(G,e.ADD_FORBID_CONTENTS,Y)),tt&&(N[`#text`]=!0),B&&S(N,[`html`,`head`,`body`]),N.table&&(S(N,[`tbody`]),delete I.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw b(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw b(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);D=e.TRUSTED_TYPES_POLICY,O=D.createHTML(``)}else D===void 0&&(D=Me(m,i)),D!==null&&typeof O==`string`&&(O=D.createHTML(``));f&&f(e),X=e}},yt=S({},[...me,...he,...ge]),bt=S({},[..._e,...ve]),xt=function(e){let t=E(e);(!t||!t.tagName)&&(t={namespaceURI:q,tagName:`template`});let n=oe(e.tagName),r=oe(t.tagName);return ut[e.namespaceURI]?e.namespaceURI===ct?t.namespaceURI===K?n===`svg`:t.namespaceURI===st?n===`svg`&&(r===`annotation-xml`||ft[r]):!!yt[n]:e.namespaceURI===st?t.namespaceURI===K?n===`math`:t.namespaceURI===ct?n===`math`&&pt[r]:!!bt[n]:e.namespaceURI===K?t.namespaceURI===ct&&!pt[r]||t.namespaceURI===st&&!ft[r]?!1:!bt[n]&&(mt[n]||!yt[n]):!!(J===`application/xhtml+xml`&&ut[e.namespaceURI]):!1},Z=function(e){g(t.removed,{element:e});try{E(e).removeChild(e)}catch{de(e)}},Q=function(e,n){try{g(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{g(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(V||H)try{Z(n)}catch{}else try{n.setAttribute(e,``)}catch{}},St=function(e){let t=null,r=null;if(Ze)e=`<remove></remove>`+e;else{let t=ce(e,/^[\r\n\t ]+/);r=t&&t[0]}J===`application/xhtml+xml`&&q===K&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=D?D.createHTML(e):e;if(q===K)try{t=new p().parseFromString(i,J)}catch{}if(!t||!t.documentElement){t=we.createDocument(q,`template`,null);try{t.documentElement.innerHTML=lt?O:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),q===K?ke.call(t,B?`html`:`body`)[0]:B?t.documentElement:a},Ct=function(e){return Ee.call(e.ownerDocument||e,e,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},wt=function(e){return e instanceof ee&&(typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||!(e.attributes instanceof d)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`)},Tt=function(e){return typeof s==`function`&&e instanceof s};function $(e,n,r){ne(e,e=>{e.call(t,n,r,X)})}let Et=function(e){let n=null;if($(A.beforeSanitizeElements,e,null),wt(e))return Z(e),!0;let r=Y(e.nodeName);if($(A.uponSanitizeElement,e,{tagName:r,allowedTags:N}),z&&e.hasChildNodes()&&!Tt(e.firstElementChild)&&y(/<[/\w!]/g,e.innerHTML)&&y(/<[/\w!]/g,e.textContent)||e.nodeType===k.progressingInstruction||z&&e.nodeType===k.comment&&y(/<[/\w]/g,e.data))return Z(e),!0;if(!(L.tagCheck instanceof Function&&L.tagCheck(r))&&(!N[r]||I[r])){if(!I[r]&&Ot(r)&&(F.tagNameCheck instanceof RegExp&&y(F.tagNameCheck,r)||F.tagNameCheck instanceof Function&&F.tagNameCheck(r)))return!1;if(tt&&!G[r]){let t=E(e)||e.parentNode,n=Ce(e)||e.childNodes;if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=x(n[i],!0);r.__removalCount=(e.__removalCount||0)+1,t.insertBefore(r,fe(e))}}}return Z(e),!0}return e instanceof l&&!xt(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&y(/<\/no(script|embed|frames)/i,e.innerHTML)?(Z(e),!0):(R&&e.nodeType===k.text&&(n=e.textContent,ne([j,M,Ie],e=>{n=_(n,e,` `)}),e.textContent!==n&&(g(t.removed,{element:e.cloneNode()}),e.textContent=n)),$(A.afterSanitizeElements,e,null),!1)},Dt=function(e,t,r){if($e&&(t===`id`||t===`name`)&&(r in n||r in gt))return!1;if(!(qe&&!Ge[t]&&y(Le,t))&&!(Ke&&y(Re,t))&&!(L.attributeCheck instanceof Function&&L.attributeCheck(t,e))){if(!P[t]||Ge[t]){if(!(Ot(e)&&(F.tagNameCheck instanceof RegExp&&y(F.tagNameCheck,e)||F.tagNameCheck instanceof Function&&F.tagNameCheck(e))&&(F.attributeNameCheck instanceof RegExp&&y(F.attributeNameCheck,t)||F.attributeNameCheck instanceof Function&&F.attributeNameCheck(t,e))||t===`is`&&F.allowCustomizedBuiltInElements&&(F.tagNameCheck instanceof RegExp&&y(F.tagNameCheck,r)||F.tagNameCheck instanceof Function&&F.tagNameCheck(r))))return!1}else if(!at[t]&&!y(He,_(r,Be,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&le(r,`data:`)===0&&rt[e])&&!(Je&&!y(ze,_(r,Be,``)))&&r)return!1}return!0},Ot=function(e){return e!==`annotation-xml`&&ce(e,Ve)},kt=function(e){$(A.beforeSanitizeAttributes,e,null);let{attributes:n}=e;if(!n||wt(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:P,forceKeepAttr:void 0},i=n.length;for(;i--;){let{name:a,namespaceURI:o,value:s}=n[i],c=Y(a),l=s,u=a===`value`?l:ue(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,$(A.uponSanitizeAttribute,e,r),u=r.attrValue,et&&(c===`id`||c===`name`)&&(Q(a,e),u=`user-content-`+u),z&&y(/((--!?|])>)|<\/(style|title|textarea)/i,u)){Q(a,e);continue}if(c===`attributename`&&ce(u,`href`)){Q(a,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){Q(a,e);continue}if(!Ye&&y(/\/>/i,u)){Q(a,e);continue}R&&ne([j,M,Ie],e=>{u=_(u,e,` `)});let d=Y(e.nodeName);if(!Dt(d,c,u)){Q(a,e);continue}if(D&&typeof m==`object`&&typeof m.getAttributeType==`function`&&!o)switch(m.getAttributeType(d,c)){case`TrustedHTML`:u=D.createHTML(u);break;case`TrustedScriptURL`:u=D.createScriptURL(u);break}if(u!==l)try{o?e.setAttributeNS(o,a,u):e.setAttribute(a,u),wt(e)?Z(e):ie(t.removed)}catch{Q(a,e)}}$(A.afterSanitizeAttributes,e,null)},At=function e(t){let n=null,r=Ct(t);for($(A.beforeSanitizeShadowDOM,t,null);n=r.nextNode();)$(A.uponSanitizeShadowNode,n,null),Et(n),kt(n),n.content instanceof a&&e(n.content);$(A.afterSanitizeShadowDOM,t,null)};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,o=null,c=null,l=null;if(lt=!e,lt&&(e=`<!-->`),typeof e!=`string`&&!Tt(e))if(typeof e.toString==`function`){if(e=e.toString(),typeof e!=`string`)throw b(`dirty is not a string, aborting`)}else throw b(`toString is not a function`);if(!t.isSupported)return e;if(Xe||vt(n),t.removed=[],typeof e==`string`&&(U=!1),U){if(e.nodeName){let t=Y(e.nodeName);if(!N[t]||I[t])throw b(`root node is forbidden and cannot be sanitized in-place`)}}else if(e instanceof s)i=St(`<!---->`),o=i.ownerDocument.importNode(e,!0),o.nodeType===k.element&&o.nodeName===`BODY`||o.nodeName===`HTML`?i=o:i.appendChild(o);else{if(!V&&!R&&!B&&e.indexOf(`<`)===-1)return D&&Qe?D.createHTML(e):e;if(i=St(e),!i)return V?null:Qe?O:``}i&&Ze&&Z(i.firstChild);let u=Ct(U?e:i);for(;c=u.nextNode();)Et(c),kt(c),c.content instanceof a&&At(c.content);if(U)return e;if(V){if(H)for(l=De.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(P.shadowroot||P.shadowrootmode)&&(l=Fe.call(r,l,!0)),l}let d=B?i.outerHTML:i.innerHTML;return B&&N[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&y(Oe,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
|
|
21
|
-
`+d),R&&ne([j,M,Ie],e=>{d=_(d,e,` `)}),D&&Qe?D.createHTML(d):d},t.setConfig=function(){vt(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),Xe=!0},t.clearConfig=function(){X=null,Xe=!1},t.isValidAttribute=function(e,t,n){return X||vt({}),Dt(Y(e),Y(t),n)},t.addHook=function(e,t){typeof t==`function`&&g(A[e],t)},t.removeHook=function(e,t){if(t!==void 0){let n=re(A[e],t);return n===-1?void 0:ae(A[e],n,1)[0]}return ie(A[e])},t.removeHooks=function(e){A[e]=[]},t.removeAllHooks=function(){A=Ne()},t}var Fe=Pe(),A=`:host{box-sizing:border-box;flex-direction:column;width:100%;height:100%;display:flex}:host .chat-container{background:var(--luzmo-ai-chat-background,var(--ai-chat-background));border-radius:var(--luzmo-ai-chat-border-radius,var(--ai-chat-border-radius));width:100%;height:100%;min-height:0;padding:var(--luzmo-ai-chat-padding,var(--ai-chat-padding));gap:var(--luzmo-ai-chat-gap,var(--ai-chat-gap));border:var(--luzmo-ai-chat-border,var(--ai-chat-border));box-shadow:var(--luzmo-ai-chat-box-shadow,var(--ai-chat-box-shadow));box-sizing:border-box;flex-direction:column;flex:1;display:flex;overflow:hidden}:host .chat-messages-container{gap:var(--luzmo-ai-chat-gap,var(--ai-chat-gap));flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}:host luzmo-chat-message{--luzmo-primary:rgba(var(--luzmo-primary-rgb),.08);--chat-message-primary-text-color:var(--luzmo-font-color);--chat-message-primary-border-color:transparent}:host luzmo-chat-message.error{color:var(--luzmo-ai-chat-error-message-color,var(--ai-chat-error-message-color))}:host luzmo-ai-interaction-textarea{flex-grow:0;flex-shrink:0}:host .loading-message{color:var(--luzmo-font-color);align-items:center;gap:.5rem;display:flex}:host .loading-message svg{color:var(--luzmo-ai-chat-loading-message-color,var(--ai-chat-loading-message-color));font-size:var(--luzmo-ai-chat-loading-message-icon-font-size,var(--ai-chat-loading-message-icon-font-size,1rem));justify-content:center;align-items:center;display:flex}:host .loading-message svg.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}:host{--ai-chat-background:var(--luzmo-background-color);--ai-chat-border-radius:0;--ai-chat-padding:0;--ai-chat-gap:1rem;--ai-chat-max-height:none;--ai-chat-messages-flex:1;--ai-chat-border:none;--ai-chat-box-shadow:none;--ai-chat-loading-message-color:var(--luzmo-primary);--ai-chat-error-message-color:var(--luzmo-danger,#dc3545)}`;function j(e){let{prompt:t,datasetIds:n,authKey:r,authToken:i,conversationId:a,chart:o,modelPreference:s,apiVersion:c=`0.1.0`}=e;return{key:r,token:i,action:`create`,version:c,properties:{content:{role:`user`,content:t},...a?{conversation_id:a}:{}},options:{available_datasets:n,...n.length>0?{dataset_id:n[0]}:{},...o?{chart:{...o,title:o.title||o.options.title,filters:o.filterGroups||[],aichartId:o.aichartId||``}}:{},model_preference:s}}}var M=class extends t.i{constructor(...e){super(...e),this.messages=[],this.selectedDatasets=[],this.placeholder=`Describe your change`,this.disabled=!1,this.showAssistantContextMenu=!1,this.authKey=``,this.authToken=``,this.apiUrl=`https://api.luzmo.com`,this.appServer=`https://app.luzmo.com`,this.flagOpendata=!1,this.hideDatasetButton=!1,this.modelPreference=`performance`,this.requestMode=`internal`,this.isGenerating=!1,this.conversationId=null,this.chart=null,this.apiVersion=`0.1.0`,this.loadingMessage=null,this._isGeneratingInternal=!1,this._textareaValue=``}static{this.styles=(0,a.unsafeCSS)(A)}static{this.tagName=`luzmo-ai-chat`}_generateMessageId(){return`msg-${Date.now()}-${Math.random().toString(36).slice(2,9)}`}_buildRequestBody(e,t){return j({prompt:e,datasetIds:t,authKey:this.authKey,authToken:this.authToken,conversationId:this.conversationId,chart:this.chart,modelPreference:this.modelPreference,apiVersion:this.apiVersion})}async _sendMessage(e){let t=`${this.apiUrl}/${this.apiVersion}/aimessage`,n=await fetch(t,{method:`POST`,headers:{"Content-Type":`application/json`},mode:`cors`,body:JSON.stringify(e)});if(!n.ok){let e=await n.json().catch(()=>null);throw Error(e?.message||`API request failed with status ${n.status}`)}return await n.json()}_addUserMessage(e,t){let n={id:this._generateMessageId(),type:`user`,message:e};this.messages=[...this.messages,n],this._textareaValue=``,this.dispatchEvent(new CustomEvent(`luzmo-message-sent`,{detail:{message:n,selectedDatasets:t},bubbles:!0,composed:!0}))}_prepareForAIResponse(){this._isGeneratingInternal=!0;let e={id:this._generateMessageId(),type:`ai`,message:``};return this.messages=[...this.messages,e],e}_handleChartResponse(e,t){this.dispatchEvent(new CustomEvent(`luzmo-chart-generated`,{detail:{aiSampleChart:e},bubbles:!0,composed:!0}));let n=e.message||e.error||e.clarificationQuestion;n&&(t.message=n,this.messages=[...this.messages.slice(0,-1),{...t}],this.dispatchEvent(new CustomEvent(`luzmo-response-received`,{detail:{message:t,done:!0},bubbles:!0,composed:!0})))}_handleErrorResponse(e,t){let n=null;if(e.functionResponse?.error){let t=e.functionResponse.explanation;t&&typeof t==`string`&&(n=e.functionResponse.explanation)}else n=e.functionResponse;n||=e.message||e.error||e.clarificationQuestion||null,n&&(t.message=n,this.messages=[...this.messages.slice(0,-1),{...t}]),this.dispatchEvent(new CustomEvent(`luzmo-response-received`,{detail:{message:t,done:!0},bubbles:!0,composed:!0}))}_processAIResponse(e,t){e.generatedChart===void 0?(e.functionResponse?.error!==void 0||typeof e.functionResponse==`string`||e.clarificationQuestion===`string`)&&this._handleErrorResponse(e,t):this._handleChartResponse(e,t)}_handleAPIError(e,t){t.message=(0,r.msg)(`Something went wrong. Please try again.`,{desc:`Generic error message shown in ai chat when the API request fails`}),t.isError=!0,this.messages=[...this.messages.slice(0,-1),{...t}],this.dispatchEvent(new CustomEvent(`luzmo-response-received`,{detail:{message:t,error:e},bubbles:!0,composed:!0}))}_handleDatasetSelected(e){let t=e.detail;this.selectedDatasets.some(e=>e.id===t.id)||(this.selectedDatasets=[...this.selectedDatasets,t],this._emitDatasetsChanged())}_handleDatasetRemoved(e){let t=e.detail;this.selectedDatasets=this.selectedDatasets.filter(e=>e.id!==t.id),this._emitDatasetsChanged()}_emitDatasetsChanged(){this.dispatchEvent(new CustomEvent(`luzmo-datasets-changed`,{detail:{selectedDatasets:this.selectedDatasets},bubbles:!0,composed:!0}))}async _handlePromptSubmitted(e){let{prompt:t,selectedDatasets:n}=e.detail,r=n.map(e=>e.id),i=this._buildRequestBody(t,r);if(this._addUserMessage(t,n),this.requestMode===`external`){let e={prompt:t,selectedDatasets:n,datasetIds:r,request:i,url:`${this.apiUrl}/${this.apiVersion}/aimessage`};this.dispatchEvent(new CustomEvent(`luzmo-prompt-submitted`,{detail:e,bubbles:!0,composed:!0}));return}let a=await this._prepareForAIResponse();try{let e=await this._sendMessage(i);this._processAIResponse(e,a)}catch(e){this._handleAPIError(e,a)}finally{this._isGeneratingInternal=!1}}_scrollToBottom(){let e=this.shadowRoot?.querySelector(`.chat-messages-container`);e&&requestAnimationFrame(()=>{requestAnimationFrame(()=>{e.scrollTop=e.scrollHeight})})}updated(e){super.updated?.(e),e.has(`messages`)&&this.updateComplete.then(()=>this._scrollToBottom())}_sanitizeMessage(e){return Fe.sanitize(e,{ALLOWED_TAGS:[`p`,`br`,`strong`,`em`,`b`,`i`,`u`,`s`,`code`,`pre`,`blockquote`,`ul`,`ol`,`li`,`a`],ALLOWED_ATTR:[`href`,`title`,`target`,`rel`],ALLOW_DATA_ATTR:!1,FORBID_TAGS:[`script`,`iframe`,`object`,`embed`,`form`,`input`,`button`],FORBID_ATTR:[`onerror`,`onload`,`onclick`,`onmouseover`,`onfocus`,`onblur`]})}_renderMessages(){return this.messages.map(e=>e.type===`user`?a.html`
|
|
22
|
-
<luzmo-chat-message
|
|
23
|
-
avatar-placement="bottom"
|
|
24
|
-
position="right"
|
|
25
|
-
variant="primary"
|
|
26
|
-
size="s"
|
|
27
|
-
>
|
|
28
|
-
${e.message}
|
|
29
|
-
</luzmo-chat-message>
|
|
30
|
-
`:a.html`
|
|
31
|
-
<luzmo-chat-message
|
|
32
|
-
class=${e.isError?`error`:``}
|
|
33
|
-
avatar-placement="bottom"
|
|
34
|
-
position="left"
|
|
35
|
-
quiet
|
|
36
|
-
size="s"
|
|
37
|
-
>
|
|
38
|
-
${(0,s.unsafeHTML)(this._sanitizeMessage(e.message))}
|
|
39
|
-
</luzmo-chat-message>
|
|
40
|
-
`)}_renderLoadingMessage(){return this.isGenerating||this._isGeneratingInternal?a.html`
|
|
41
|
-
<luzmo-chat-message
|
|
42
|
-
avatar-placement="bottom"
|
|
43
|
-
position="left"
|
|
44
|
-
quiet
|
|
45
|
-
size="s"
|
|
46
|
-
>
|
|
47
|
-
<div class="loading-message">
|
|
48
|
-
<span class="icon-lg">${(0,i.luzmoIcon)(i.luzmoSpin,{className:`spin`})}</span>
|
|
49
|
-
<span class="loading-message-text">${this.loadingMessage||(this.chart?.type===`placeholder`?(0,r.msg)(`Creating item...`,{desc:`Label for ai chat creating item message`}):(0,r.msg)(`Updating item...`,{desc:`Label for ai chat updating item message`}))}</span>
|
|
50
|
-
</div>
|
|
51
|
-
</luzmo-chat-message>
|
|
52
|
-
`:a.html`
|
|
53
|
-
|
|
54
|
-
`}_renderPlaceholderMessage(){return this.messages.length>0?a.html`
|
|
55
|
-
|
|
56
|
-
`:a.html`
|
|
57
|
-
<luzmo-chat-message
|
|
58
|
-
avatar-placement="bottom"
|
|
59
|
-
position="left"
|
|
60
|
-
quiet
|
|
61
|
-
size="s"
|
|
62
|
-
>
|
|
63
|
-
${(0,r.msg)(`Describe how you want to edit this item…`,{desc:`Label for ai chat placeholder message`})}
|
|
64
|
-
</luzmo-chat-message>
|
|
65
|
-
`}render(){let e=this.requestMode===`external`?this.isGenerating:this._isGeneratingInternal;return a.html`
|
|
66
|
-
<div class="chat-container">
|
|
67
|
-
<div class="chat-messages-container">
|
|
68
|
-
${this._renderPlaceholderMessage()}
|
|
69
|
-
${this._renderMessages()}
|
|
70
|
-
${this._renderLoadingMessage()}
|
|
71
|
-
</div>
|
|
72
|
-
|
|
73
|
-
<luzmo-ai-interaction-textarea
|
|
74
|
-
.value=${this._textareaValue}
|
|
75
|
-
.selectedDatasets=${this.selectedDatasets}
|
|
76
|
-
.placeholder=${this.placeholder}
|
|
77
|
-
?disabled=${this.disabled}
|
|
78
|
-
?is-generating=${e}
|
|
79
|
-
?hide-dataset-button=${this.hideDatasetButton}
|
|
80
|
-
auth-key=${this.authKey}
|
|
81
|
-
auth-token=${this.authToken}
|
|
82
|
-
api-url=${this.apiUrl}
|
|
83
|
-
app-server=${this.appServer}
|
|
84
|
-
?flag-opendata=${this.flagOpendata}
|
|
85
|
-
@prompt-submitted=${this._handlePromptSubmitted}
|
|
86
|
-
@dataset-selected=${this._handleDatasetSelected}
|
|
87
|
-
@dataset-removed=${this._handleDatasetRemoved}
|
|
88
|
-
></luzmo-ai-interaction-textarea>
|
|
89
|
-
</div>
|
|
90
|
-
`}};n.t([(0,o.property)({type:Array})],M.prototype,`messages`,void 0),n.t([(0,o.property)({type:Array,attribute:`selected-datasets`})],M.prototype,`selectedDatasets`,void 0),n.t([(0,o.property)({type:String})],M.prototype,`placeholder`,void 0),n.t([(0,o.property)({type:Boolean,reflect:!0})],M.prototype,`disabled`,void 0),n.t([(0,o.property)({type:Boolean,attribute:`show-assistant-context-menu`})],M.prototype,`showAssistantContextMenu`,void 0),n.t([(0,o.property)({type:String,attribute:`auth-key`})],M.prototype,`authKey`,void 0),n.t([(0,o.property)({type:String,attribute:`auth-token`})],M.prototype,`authToken`,void 0),n.t([(0,o.property)({type:String,attribute:`api-url`})],M.prototype,`apiUrl`,void 0),n.t([(0,o.property)({type:String,attribute:`app-server`})],M.prototype,`appServer`,void 0),n.t([(0,o.property)({type:Boolean,attribute:`flag-opendata`})],M.prototype,`flagOpendata`,void 0),n.t([(0,o.property)({type:Boolean,attribute:`hide-dataset-button`})],M.prototype,`hideDatasetButton`,void 0),n.t([(0,o.property)({type:String,attribute:`model-preference`})],M.prototype,`modelPreference`,void 0),n.t([(0,o.property)({type:String,attribute:`request-mode`})],M.prototype,`requestMode`,void 0),n.t([(0,o.property)({type:Boolean,attribute:`is-generating`})],M.prototype,`isGenerating`,void 0),n.t([(0,o.property)({type:String,attribute:`conversation-id`})],M.prototype,`conversationId`,void 0),n.t([(0,o.property)({type:Object,attribute:`chart`})],M.prototype,`chart`,void 0),n.t([(0,o.property)({type:String,attribute:`api-version`})],M.prototype,`apiVersion`,void 0),n.t([(0,o.property)({type:String,attribute:`loading-message`})],M.prototype,`loadingMessage`,void 0),n.t([(0,o.state)()],M.prototype,`_isGeneratingInternal`,void 0),n.t([(0,o.state)()],M.prototype,`_textareaValue`,void 0),customElements.get(`luzmo-ai-chat`)||customElements.define(`luzmo-ai-chat`,M),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return M}});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/*! * A kit of modern Luzmo Web Components for analytics in your web application.
|
|
2
|
-
*
|
|
3
|
-
* Copyright © 2026 Luzmo
|
|
4
|
-
* All rights reserved.
|
|
5
|
-
* Luzmo web components (“Luzmo Web Components”)
|
|
6
|
-
* must be used according to the Luzmo Terms of Service.
|
|
7
|
-
* This license allows users with a current active Luzmo account
|
|
8
|
-
* to use the Luzmo Web Components. This license terminates
|
|
9
|
-
* automatically if a user no longer has an active Luzmo account.
|
|
10
|
-
* Please view the Luzmo Terms of Service at: https://www.luzmo.com/information-pages/terms-of-use.
|
|
11
|
-
*
|
|
12
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
13
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
14
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
15
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
16
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
17
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
|
-
* SOFTWARE.
|
|
19
|
-
* */
|
|
20
|
-
const e={s00decbd8fed4f501:`Máximo`,s0218a6cc95bc9386:`Tipo de rango`,s0456d2ad905847d9:`último`,s079a052719914d71:`Categoría`,s088e3b07b5394bc3:`ig`,s091d3407b5b2f824:`O`,s095140a7d22730b7:`Categorías`,s099b18e1bd8a1154:`Horas`,s09c2b609dff29061:`Suma acumulativa`,s0bb151c9319a6813:`Eje X`,s0bca0c91195d8d6d:`cont`,s1125d159f7e64df5:`Mostrar`,s11326fd2590f4e5e:`Por defecto`,s122f7f3f1a22ea50:`no ig`,s13f5793e33ebda4f:`entre`,s146475c4daa430ed:`Decimales`,s16d507740d87045d:`Fórmula ad hoc`,s173bffc4bc8fdb40:`Número de trimestre`,s178b06f4d02cfd40:`no falta`,s184501a399a815dc:`Trimestres`,s18498398aeb37b07:`La semana comienza el`,s187528426100c44e:`Sin datos`,s1cdb6b07fe827486:`Número de semana`,s1e593719b55d60c0:`MTD`,s1e7745005c37315c:`Desplazamiento relativo`,s1f0916624a87d415:`Día del año`,s1f7698c061c208c9:`Apertura`,s23a368c93d7e6a90:`Métrica del control deslizante`,s2454d1f117573457:`Precisión`,s247d110f13a3a288:`Día de la semana`,s24f3a319b88552c1:`Mínimo`,s26273c258ddde0e1:`Seleccionar...`,s2695506122ffd614:`Segundo en el minuto`,s2718cebf7de190e1:`está entre`,s2798d16f4e04857e:`Minuto en la hora`,s29e9a2758d0ffdc3:`Dimensión`,s2ba5f4d8f3bd7c57:`Orden`,s2ea38ce3da088075:`Períodos`,s2fb2a49481123d6a:`Semanas`,s2fedf26ef08343d4:`es igual a`,s31f1afc1bfe1cb3a:`Saber más`,s344ea8f4939cdc98:`Color`,s354ae458a550da1f:`Destino`,s360896d6e6234cc4:`Actualizando elemento...`,s3924c3d773a80312:`último disp`,s3c6455b19fb1c3e4:`Cambio absoluto`,s3dcf7b255596a2c3:`Desviación estándar`,s4406e2a8264d6a3e:`Ruta`,s441accd1cd3484c9:`Minuto`,s463b8c4e92751ba5:`Opciones`,s467b030b9a34b3c8:`Promedio`,s48e186fb300e5464:`Tiempo`,s496c60f73bdf5725:`Agregación`,s4b30fad1c34464e1:`mayor o igual que`,s4b58c01e2578f5e4:`Leyenda`,s4e585eeea351a038:`contiene`,s4efbcab48a433013:`Largo`,s4f27f6b48a68b5c2:`Bloquear`,s50d9e1b0c1636e99:`Geografía`,s519d0aa80bbafd42:`semana hasta la fecha`,s55e343865792fc47:`No se pueden recuperar los campos de datos del conjunto de datos`,s57ace73e7c6e719f:`no está en`,s58ec693e33483873:`menor que`,s5a801360c0e7cc6e:`Círculos`,s5d73a3b3b68e6cba:`Definido por el usuario`,s5d929ff1619ac0c9:`Buscar`,s5e2654fb8587f442:`Clonar`,s5e8250fb85d64c23:`Cierre`,s5f43af3669b1e098:`Origen`,s602805b1eb3106c6:`Eje Y`,s6031881827829901:`24h`,s60b34c3c17dc35bd:`Años`,s64ef2a6c2dd1d3d1:`Editar`,s66722bc2ea775e05:`Desactivado`,s669b18c6d2d9c95b:`Ninguno`,s66dcbbc0355c2759:`Domingo`,s680f01021b5e339d:`Semana`,s6b0bffd88024372f:`Hora`,s6de3d6e9660857a1:`Ejemplo`,s708bbac083d05109:`no empieza con`,s709a09b6edea9d90:`Fecha/hora`,s70a773eb3133e5fa:`mes hasta la fecha`,s716a6024e3fe999c:`Mostrar`,s7468e87263dfff7e:`Identificador`,s74c00d5f85cc6da9:`Describe cómo deseas editar este elemento…`,s74dcd519e6563a26:`WTD`,s7632fc9aa12bf382:`Meses`,s782f286a79cca35d:`Relativo`,s78789724e789221c:`Tamaño`,s7a6878d41ffac284:`último completado`,s7c95876637f6a9d7:`Filtro`,s7cb5d294ed7634e3:`Conjunto de datos`,s7e357543a7b769f4:`Columna de fecha de desplazamiento`,s846876f9b712e843:`no es igual a`,s862f5319f0256b94:`QTD`,s8665d029b5cb8b24:`Totales generales`,s8a56a8c8bd19c9c7:`falta`,s8ba2b22eee9bb57e:`Añadir filtro`,s8d0259032729869d:`Segundo`,s8d77a3cb03eea446:`Cargando datos...`,s8de2a5b227e80c95:`(x) períodos o más atrás`,s9094c0cde8fb5058:`No se encontraron resultados`,s92ab9b834d8fd1fc:`Subgrupo`,s92c8c8ca61f1e379:`Seleccionar conjunto de datos...`,s965c503c3e42fdfe:`Activado`,s9689e928323dc124:`último (período) completado`,s981f232bd33ec927:`Tasa`,s9854300ef4a37d18:`no termina en`,s987abe19fac8d108:`Suma`,s98b1cb8fb62909ec:`Grupo`,s98c337186f2d57c6:`Ancho del bin`,s98db41a3eb532203:`año hasta la fecha`,s991d216e6efc157c:`Sin resultados`,s996319f23f6cf0b5:`termina en`,s9b9009d4a5004fb8:`Agrupamiento`,s9b9d6ce29d05a298:`menor o igual que`,s9deeefd89ca8a81d:`Máximo`,s9e40e59654c8ad67:`Columna`,sa26d7a273074cbf9:`No hay datos disponibles`,sa3c9339de23c1752:`Formato`,sa6ab5184d6315895:`De`,sa6f2645578b2d2bc:`Año`,sa7effa06c0f6784c:`mayor que`,sa8beb6b1182241ac:`Filtros`,sa91d4991fca9514e:`más de atrás`,sac8256732f2ee1e5:`Datos`,sac8b59943205b14f:`próximo (período) completo`,sac94bb71f7737997:`Mediana`,sacae74732f544fca:`Días`,saf2a19f4eaf00f68:`o más atrás`,sb0f3327210fe18fc:`Columnas`,sb1f654608a3eea75:`Día de la semana`,sb3b793ff5cc1bc39:`próximos (x) períodos`,sb47daaf9e1c4a905:`Mes`,sb5b295e3a7500b9c:`Niveles de duración`,sb6513caf69971fb5:`Corto`,sb70671db5700ff60:`no termina en`,sb93e5af29aca2e3d:`falta`,sb9f1339b3a61604a:`Niveles`,sbbb97b1c63507dc0:`Número`,sbeebe911264bed23:`últimos (x) períodos disponibles`,sc1bf67624fa6d498:`% de cambio`,sc4842e5b8b90466a:`Segundos`,sc592307ea80f16b9:`Desconocido`,sc6e49f3d37e54030:`Hora en el día`,sc6f5a4fc0583d734:`está en`,sc70ad8207db856a8:`Coordenadas`,sc86e72c4fdd4e0ec:`Contar distinto`,scace072bef961918:`Filas`,scb7bab1a17663a6c:`YTD`,scbaef981909d487e:`Evolución`,scf2bb2b0de9cdb8a:`Milisegundo`,sd05671183b4fe913:`No se pudieron recuperar los datos`,sd237be440de38cc7:`Trimestre`,sd28141a332dc31fa:`Día del mes`,sd5b1040899eb149d:`siguiente completo`,sd66a74fff07a11fb:`{count} elementos seleccionados`,sd7ebafacf602c9bd:`Letra`,sdb73788b3c975f16:`Automático`,sdc673e73b5c13aea:`Eliminar`,sdebe99a43259a451:`Contar filas`,sdfeb2151b9e78d4d:`no contiene`,se01bc9eea39688ad:`Mes del año`,se0955919920ee87d:`Día`,se211e3d21bbf3bff:`Medida`,se2b7530e30fa607d:`Comparación de períodos`,se2d6ee866b592a9f:`más de (x) períodos atrás`,se3a1aa0525f22ee4:`Medidas`,se415bbea6c976fb1:`Agrupar por`,se5316cbaa025f028:`siguiente`,se715be190539325a:`hace`,se9e535bb9591039e:`Seleccionar una expresión`,se9ff6e9a514d8cf9:`Lunes`,seb4eae68d45315b7:`Mínimo`,seb9c440de1ce6044:`empieza con`,sec2f608650e36ac5:`último período completado`,secf42ec1c7c47be2:`no falta`,sed522484748a787d:`Creando elemento...`,see0ec27fb03d880e:`Minutos`,sef49aec68fd1dc66:`Nombre`,sf095cc47a4ff9c3d:`Fórmula`,sf518b78d9734f57b:`no empieza con`,sf6cda8263b3170af:`Usar período hasta la fecha para períodos incompletos`,sf70eaf9ab4c93082:`no cont`,sf9c10516a62a23db:`Mostrar como`,sfa069719a050be66:`Y`,sfa2d0aa30ee5aa58:`últimos (x) períodos`,sfad9ed343e97551c:`Valor pasado`,sfb9e6d0c6baa99f5:`Coincide con el rango de fechas visible en el gráfico o tabla`,sfbac36245480ddbc:`Separador`,sfda1c9d0be35cec8:`trimestre hasta la fecha`,sff5bb7742c2896c8:`Objetivo`,sffa721bb6aa3128d:`Buscar...`,"slot-label-name":`Nombre`,"slot-label-time":`Tiempo`,s736157452e7fc7af:`Algo salió mal. Por favor, inténtalo de nuevo.`};exports.templates=e;
|