@luzmo/analytics-components-kit 1.0.1-alpha.151 → 1.0.1-alpha.153
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/components/ai-chat/index.cjs +1 -1
- package/components/ai-chat/index.js +5 -5
- package/components/{ai-chat-DqrT6bEl.js → ai-chat-B5RxM0tC.js} +1 -1
- package/components/{ai-chat-Bagt_i05.cjs → ai-chat-Bakqesdx.cjs} +1 -1
- package/components/ai-interaction-textarea/index.cjs +1 -1
- package/components/ai-interaction-textarea/index.js +3 -3
- package/components/data-field/index.cjs +1 -1
- package/components/data-field/index.js +3 -3
- package/components/{data-field-B_mrcEtG.cjs → data-field-BQ_W_Wa0.cjs} +1 -1
- package/components/{data-field-DK49i9j2.js → data-field-Da0scLe2.js} +1 -1
- package/components/data-field-level/index.cjs +1 -1
- package/components/data-field-level/index.js +2 -2
- package/components/data-field-panel/index.cjs +1 -1
- package/components/data-field-panel/index.js +4 -4
- package/components/{data-field-panel-BO4Up0cx.cjs → data-field-panel-B03NgkJn.cjs} +1 -1
- package/components/{data-field-panel-CGuYCY8c.js → data-field-panel-B3AeiK1T.js} +1 -1
- package/components/data-fields-select/index.cjs +1 -1
- package/components/data-fields-select/index.js +3 -3
- package/components/{data-fields-select-DAsN89RQ.cjs → data-fields-select--EE85iEI.cjs} +1 -1
- package/components/{data-fields-select-Cw7mRpwc.js → data-fields-select-B4k5BKry.js} +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-CBI_4lCc.cjs → dataset-selector-list-Dtz1SAKS.cjs} +1 -1
- package/components/{dataset-selector-list-BQsL_8mz.js → dataset-selector-list-aPmoR7Tm.js} +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-z04sfYw5.js → dataset-selector-row-D_-MXV23.js} +1 -1
- package/components/{dataset-selector-row-DR6QBsYF.cjs → dataset-selector-row-ylXqLkVN.cjs} +1 -1
- package/components/{de-B8V-nRGJ.cjs → de-BfLEm14H.cjs} +1 -1
- package/components/{de-CqAC249h.js → de-DA--nESk.js} +2 -2
- 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-DWgwc3IT.js → display-settings-binning-Nz7g9Ob6.js} +1 -1
- package/components/{display-settings-binning-DVJd-Dtc.cjs → display-settings-binning-iXzExg-f.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-BF0lmBAY.cjs → display-settings-datetime-BM-u3ZWa.cjs} +1 -1
- package/components/{display-settings-datetime-C3-906TZ.js → display-settings-datetime-D-Ia0CQO.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-B3DVi-Tp.js → display-settings-grand-totals-Ctzu684B.js} +1 -1
- package/components/{display-settings-grand-totals-C-JC2DKh.cjs → display-settings-grand-totals-dOY1TAeA.cjs} +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-DlRDDV1S.js → display-settings-numeric-CdplUsod.js} +1 -1
- package/components/{display-settings-numeric-Cl6QA2fW.cjs → display-settings-numeric-Dz_7icbz.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-Lwj0ffDX.js → display-settings-period-over-period-DrXXz4_A.js} +1 -1
- package/components/{display-settings-period-over-period-CM-cRqfP.cjs → display-settings-period-over-period-VXkH3Ay9.cjs} +1 -1
- package/components/{es-BSyaPyYv.cjs → es-CrSemBwE.cjs} +1 -1
- package/components/{es-D4oDSaX8.js → es-Dx5wt4kY.js} +2 -2
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +3 -3
- package/components/{filter-expression-picker-BqAH4WQE.js → filter-expression-picker-BSSc4g6r.js} +1 -1
- package/components/{filter-expression-picker-3-sENJ-8.cjs → filter-expression-picker-DA8FsQla.cjs} +1 -1
- package/components/filter-item/index.cjs +1 -1
- package/components/filter-item/index.js +9 -9
- package/components/{filter-item-DQep8rdE.cjs → filter-item-BF6VWrGq.cjs} +1 -1
- package/components/{filter-item-Cj-dzINC.js → filter-item-DbjgZXIU.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-CtDRyK_W.cjs → filter-value-picker-5wcPb_b1.cjs} +1 -1
- package/components/{filter-value-picker-DJq03uHS.js → filter-value-picker-LHSVMaGu.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-K24qP4FZ.cjs → filter-value-picker-datetime-CB8vI44t.cjs} +1 -1
- package/components/{filter-value-picker-datetime-DyN_D-yw.js → filter-value-picker-datetime-CxRp2iIA.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-6UD6hLvY.js → filter-value-picker-hierarchy-bgXIQfGb.js} +1 -1
- package/components/{filter-value-picker-hierarchy-Dp57JCb5.cjs → filter-value-picker-hierarchy-cbSk-rqF.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-ej2IN6lR.cjs → filter-value-picker-numeric-BdDPTK0n.cjs} +1 -1
- package/components/{filter-value-picker-numeric-92CjACnk.js → filter-value-picker-numeric-DDNZThEH.js} +1 -1
- package/components/filters/index.cjs +1 -1
- package/components/filters/index.js +10 -10
- package/components/{filters-CDwqaSlF.cjs → filters-BaHmQLUN.cjs} +1 -1
- package/components/{filters-BvomYejq.js → filters-kc_YcWrP.js} +1 -1
- package/components/{fr-BzeihNbz.cjs → fr-D1arQV00.cjs} +1 -1
- package/components/{fr-C35O2h6F.js → fr-YLk7jOpi.js} +2 -2
- package/components/index.cjs +1 -1
- package/components/index.js +26 -26
- package/components/item-context-configs.cjs +37 -25
- package/components/item-context-configs.js +46 -46
- package/components/item-grid/index.cjs +1 -1
- package/components/item-grid/index.js +3 -3
- package/components/{item-grid-B5KHCQOK.js → item-grid-1WEMJMVX.js} +1 -1
- package/components/{item-grid-DvM4a8qV.cjs → item-grid-CblE3X29.cjs} +1 -1
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.js +2 -2
- package/components/item-option-action-button-group/index.cjs +1 -1
- package/components/item-option-action-button-group/index.js +2 -2
- package/components/item-option-color-palette-picker/index.cjs +1 -1
- package/components/item-option-color-palette-picker/index.js +2 -2
- package/components/item-option-color-picker/index.cjs +1 -1
- package/components/item-option-color-picker/index.js +2 -2
- package/components/item-option-color-range/index.cjs +1 -1
- package/components/item-option-color-range/index.js +2 -2
- package/components/item-option-multi-language-field/index.cjs +1 -1
- package/components/item-option-multi-language-field/index.js +2 -2
- package/components/item-option-number-field/index.cjs +1 -1
- package/components/item-option-number-field/index.js +2 -2
- package/components/item-option-panel/index.cjs +1 -1
- package/components/item-option-panel/index.js +2 -2
- package/components/item-option-picker/index.cjs +1 -1
- package/components/item-option-picker/index.js +2 -2
- package/components/item-option-position-picker/index.cjs +1 -1
- package/components/item-option-position-picker/index.js +2 -2
- package/components/item-option-positions-number-field/index.cjs +1 -1
- package/components/item-option-positions-number-field/index.js +2 -2
- package/components/item-option-radio-button-group/index.cjs +1 -1
- package/components/item-option-radio-button-group/index.js +2 -2
- package/components/item-option-slider/index.cjs +1 -1
- package/components/item-option-slider/index.js +2 -2
- package/components/item-option-switch/index.cjs +1 -1
- package/components/item-option-switch/index.js +2 -2
- package/components/item-option-text-field/index.cjs +1 -1
- package/components/item-option-text-field/index.js +2 -2
- package/components/item-slot-drop/index.cjs +1 -1
- package/components/item-slot-drop/index.js +3 -3
- package/components/{item-slot-drop-BPpeBQgb.js → item-slot-drop-DTwwq6gu.js} +1 -1
- package/components/{item-slot-drop-Bc_C9K6O.cjs → item-slot-drop-TMQiSkF_.cjs} +1 -1
- package/components/item-slot-drop-panel/index.cjs +1 -1
- package/components/item-slot-drop-panel/index.js +4 -4
- package/components/{item-slot-drop-panel-CcD2CipR.js → item-slot-drop-panel-Bl3rAHfj.js} +1 -1
- package/components/{item-slot-drop-panel-CwYFyUOE.cjs → item-slot-drop-panel-CuJJ4yAg.cjs} +1 -1
- package/components/item-slot-picker/index.cjs +1 -1
- package/components/item-slot-picker/index.js +4 -4
- package/components/{item-slot-picker-n5_s13Xc.cjs → item-slot-picker-CUwCc0jD.cjs} +1 -1
- package/components/{item-slot-picker-DQ-PJeEh.js → item-slot-picker-Cudn9Qav.js} +1 -1
- package/components/item-slot-picker-panel/index.cjs +1 -1
- package/components/item-slot-picker-panel/index.js +5 -5
- package/components/{item-slot-picker-panel-CkWH3xT2.js → item-slot-picker-panel-BfgzoOQY.js} +1 -1
- package/components/{item-slot-picker-panel-C58-4JQJ.cjs → item-slot-picker-panel-iG3KqyOT.cjs} +1 -1
- package/components/{localized-mixin-DiD8Bmip.cjs → localized-mixin-2hlGenj9.cjs} +1 -1
- package/components/{localized-mixin-12rLbXJL.js → localized-mixin-DETAMSsc.js} +1 -1
- package/components/{nl-CR0Gpa1F.cjs → nl-BmlMBNrW.cjs} +1 -1
- package/components/{nl-B_1VnbMI.js → nl-CX-16xgi.js} +2 -2
- package/components/{set-locale-CN_4EtlW.cjs → set-locale-BUQ-O7rY.cjs} +1 -1
- package/components/{set-locale-DVGy0VKD.js → set-locale-BkIav3oJ.js} +4 -4
- 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-DMLcYBxg.cjs → viz-item-menu-Cncj-iSX.cjs} +1 -1
- package/components/{viz-item-menu-B8mxBz1B.js → viz-item-menu-TPVAQgO3.js} +1 -1
- package/package.json +2 -2
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
var e$
|
|
20
|
+
var e$21 = "The column used as measure in the chart. If an aggregation is asked like average, min, max, sum, count, distinctcount, median or weightedaverage, the aggregationType needs to be applied to the measure.", t = {
|
|
21
21
|
name: "area-chart",
|
|
22
22
|
label: "Area Chart",
|
|
23
23
|
synonyms: [
|
|
@@ -62,8 +62,8 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
62
62
|
],
|
|
63
63
|
description: "Creates an area chart. An area chart can consist of multiple lines by using a legend.\n Each line or area represents a category. Legends are mostly columns with a type of hierarchy.\n Most of the time columns with type datetime are used for the x-axis of an area chart. Sometimes also columns with numeric types can be used.\n Often columns with type numeric are used as measure. If you want to display area over a second dimension, use a legend.\n First fill in an x-axis and measure, ONLY when using another column or dimension, use a legend.\n You can not have multiple measures together with a legend, it is one or the other.\n To have multiple measures in an area chart use more than one column/formula in measures, to report a measure across two dimensions use a legend.",
|
|
64
64
|
slots: {
|
|
65
|
-
measure: { description: e$
|
|
66
|
-
"x-axis": { description: "The
|
|
65
|
+
measure: { description: e$21 },
|
|
66
|
+
"x-axis": { description: "The primary dimension (category axis) of the area chart. Equivalent to s__y-axis in bar charts and s__category in donut/funnel/radar charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here." },
|
|
67
67
|
legend: { description: "The column used as legend in the chart. Only add a legend if it is relevant to the chart.\n A legend is used to show a second dimension in the chart and allows grouping of data series. A legend cannot coexist with multiple measures" }
|
|
68
68
|
}
|
|
69
69
|
}, t$1 = {
|
|
@@ -81,8 +81,8 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
81
81
|
},
|
|
82
82
|
description: "Creates a bar chart. A bar chart can consist of multiple bars. Each bar represents a category.\n A category is mostly a column with a type of hierarchy or datetime. Often columns with type numeric are used as measure.\n First fill in a category and measure, ONLY when using a another column or dimension, use a legend.\n You can not have multiple measures together with a legend, it is one or the other.\n To have multiple measures in a bar chart use more than one column/formula in measures, to report a measure across two dimensions use a legend.",
|
|
83
83
|
slots: {
|
|
84
|
-
measure: { description: e$
|
|
85
|
-
"y-axis": { description: "The
|
|
84
|
+
measure: { description: e$21 },
|
|
85
|
+
"y-axis": { description: "The primary dimension (category axis) of the bar chart. Equivalent to s__x-axis in column/line/area charts and s__category in donut/funnel/radar charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here.\n Typically a column with a type of hierarchy or datetime and is NOT the same column that is used as a measure.\n Numeric columns are not often used as y-axis in a bar chart unless a user asks them to be binned." },
|
|
86
86
|
legend: { description: "The column used as legend in the chart. Only add a legend if it is relevant to the chart. A legend is used to show a second dimension in the chart." }
|
|
87
87
|
}
|
|
88
88
|
}, e = {
|
|
@@ -100,7 +100,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
100
100
|
description: "Creates a box plot. A box plot displays the distribution of data through quartiles, showing the median,\n interquartile range, and potential outliers. Box plots are effective for comparing distributions across categories\n and identifying skewness or unusual data points. They work well with numeric data and categorical groupings.",
|
|
101
101
|
slots: {
|
|
102
102
|
measure: { description: "The column used as measure in the chart. This determines the numeric values to be analyzed.\n Must be a numeric column type. The box plot will show the distribution of these values." },
|
|
103
|
-
category: { description: "The
|
|
103
|
+
category: { description: "The primary dimension of the box plot. Equivalent to s__y-axis in bar charts and s__x-axis in column/line/area charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here.\n Determines how data is grouped for comparison. Typically a column with type hierarchy or datetime." }
|
|
104
104
|
}
|
|
105
105
|
}, e$1 = {
|
|
106
106
|
name: "bubble-chart",
|
|
@@ -116,7 +116,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
116
116
|
},
|
|
117
117
|
description: "Creates a bubble chart. A bubble chart can consist of multiple bubbles. Each bubble represents a category.\n Categories are mostly columns with a type of hierarchy or datetime. The size of the bubble represents the measure.\n Often columns with type numeric are used as measure. If you want to use a second dimension, use a legend (slot color).",
|
|
118
118
|
slots: {
|
|
119
|
-
category: { description: "The
|
|
119
|
+
category: { description: "The primary dimension of the bubble chart. Equivalent to s__y-axis in bar charts and s__x-axis in column/line/area charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here.\n Defines what the bubbles represent. This slot is required." },
|
|
120
120
|
measure: { description: "The column used to determine the size of bubbles. Typically a numeric column or a count or distinct count of another type of column." },
|
|
121
121
|
color: { description: "The column used as legend in the chart. Only add a legend if it is relevant to the chart.\n This column is used in case of a second dimension to color the bubbles." }
|
|
122
122
|
}
|
|
@@ -134,7 +134,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
134
134
|
},
|
|
135
135
|
description: "Creates a bullet chart. A bullet chart displays a measure against a target value.\n Bullet charts are effective for showing progress toward goals.\n Use measure for the actual value, target for the goal, and optionally category for grouping.",
|
|
136
136
|
slots: {
|
|
137
|
-
measure: { description: e$
|
|
137
|
+
measure: { description: e$21 },
|
|
138
138
|
target: { description: "The column used as target in the chart. This determines the goal or benchmark value to compare against.\n Typically a numeric column. The target is displayed as a marker on the bullet chart." },
|
|
139
139
|
category: { description: "The column used as category in the chart. This determines how the bullet charts are grouped or labeled.\n Typically this is a column with a type of hierarchy or datetime. Each category becomes a separate bullet chart." }
|
|
140
140
|
}
|
|
@@ -149,7 +149,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
149
149
|
description: "Creates a choropleth map. A choropleth map displays geographic data by coloring regions based on their values.\n Use geography for the spatial boundaries and measure for the values.\n Optionally use category for grouping or additional dimensions.",
|
|
150
150
|
slots: {
|
|
151
151
|
geo: { description: "The column used for geography in the map. This determines the spatial boundaries and regions.\n Is required and must be a spatial column type. This defines the geographic areas that will be colored on the map." },
|
|
152
|
-
measure: { description: e$
|
|
152
|
+
measure: { description: e$21 },
|
|
153
153
|
category: { description: "The column used as category in the map. Typically this is a column with a type of hierarchy or datetime. This allows for additional analysis dimensions." }
|
|
154
154
|
}
|
|
155
155
|
}, a$2 = {
|
|
@@ -166,7 +166,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
166
166
|
},
|
|
167
167
|
description: "Creates a circle pack chart. A circle pack diagram can consist of multiple levels. Each level represents a category.\n A circle pack chart displays hierarchical data as nested circles, where the size of each circle\n represents a value. They work well with hierarchical data and can display multiple levels of nesting.\n The measure is the column that is represented over all levels.",
|
|
168
168
|
slots: {
|
|
169
|
-
measure: { description: e$
|
|
169
|
+
measure: { description: e$21 },
|
|
170
170
|
levels: { description: "The column(s) used as levels in the chart. These determine the hierarchical structure of the data.\n Multiple columns can be used to create multi-level hierarchies. Each level becomes a nested circle in the chart.\n Typically these are columns with a type of hierarchy or datetime." }
|
|
171
171
|
}
|
|
172
172
|
}, e$2 = {
|
|
@@ -224,11 +224,11 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
224
224
|
],
|
|
225
225
|
description: "Creates a column chart. A column chart can consist of multiple columns. Each column represents a category.\n A category is mostly a column with a type of hierarchy or datetime. Often columns with type numeric are used as measure.\n First fill in a category and measure, ONLY when using a another column or dimension, use a legend.\n You can not have multiple measures together with a legend, it is one or the other.\n To have multiple measures in a column chart use more than one column/formula in measures, to report a measure across two dimensions use a legend.",
|
|
226
226
|
slots: {
|
|
227
|
-
measure: { description: e$
|
|
228
|
-
"x-axis": { description: "The
|
|
227
|
+
measure: { description: e$21 },
|
|
228
|
+
"x-axis": { description: "The primary dimension (category axis) of the column chart. Equivalent to s__y-axis in bar charts and s__category in donut/funnel/radar charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here.\n Typically this is a column with a type of hierarchy or datetime and is NOT the same column that is used as a measure.\n Numeric columns are not often used as x-axis in a column chart unless a user asks them to be binned." },
|
|
229
229
|
legend: { description: "The column used as legend in the chart. Only add a legend if it is relevant to the chart.\n A legend is used to show a second dimension in the chart." }
|
|
230
230
|
}
|
|
231
|
-
},
|
|
231
|
+
}, a$4 = {
|
|
232
232
|
name: "combination-chart",
|
|
233
233
|
label: "Combination Chart",
|
|
234
234
|
synonyms: [
|
|
@@ -250,8 +250,8 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
250
250
|
},
|
|
251
251
|
description: "Creates a combination chart. A combination chart combines different chart types in a single visualization,\n such as bars and lines, dots or areas. Combination charts are effective for comparing different types of data\n or showing relationships between different metrics on the same scale.",
|
|
252
252
|
slots: {
|
|
253
|
-
measure: { description: e$
|
|
254
|
-
"x-axis": { description: "The
|
|
253
|
+
measure: { description: e$21 },
|
|
254
|
+
"x-axis": { description: "The primary dimension (category axis) of the combination chart. Equivalent to s__y-axis in bar charts and s__category in donut/funnel/radar charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here.\n For time series data, use datetime columns. For categorical data, use hierarchy columns." }
|
|
255
255
|
}
|
|
256
256
|
}, e$3 = {
|
|
257
257
|
name: "conditional-number",
|
|
@@ -300,7 +300,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
300
300
|
},
|
|
301
301
|
description: "Creates a date filter. A date filter allows users to filter dashboard data based on date or time ranges.\n Date filters are effective for time-based analysis, allowing users to focus on specific time periods\n or compare data across different date ranges.",
|
|
302
302
|
slots: { time: { description: "The column used for datetime filtering. This determines which datetime data that can be filtered on.\n Must be a datetime column type." } }
|
|
303
|
-
},
|
|
303
|
+
}, i = {
|
|
304
304
|
name: "donut-chart",
|
|
305
305
|
label: "Donut Chart",
|
|
306
306
|
synonyms: [
|
|
@@ -347,8 +347,8 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
347
347
|
],
|
|
348
348
|
description: "Creates a donut or a pie chart. A donut or pie chart consists of multiple slices. Each slice represents a category.\n Categories are mostly columns with a type of hierarchy or datetime. The width of the slice represents the measure of the category.\n Often columns with type numeric are used as measure.",
|
|
349
349
|
slots: {
|
|
350
|
-
measure: { description: e$
|
|
351
|
-
category: { description: a
|
|
350
|
+
measure: { description: e$21 },
|
|
351
|
+
category: { description: "The primary dimension of the donut/pie chart. Equivalent to s__y-axis in bar charts and s__x-axis in column/line/area charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here.\n A level is always required when using a datetime column. Else do not set a level." }
|
|
352
352
|
}
|
|
353
353
|
}, e$6 = {
|
|
354
354
|
name: "dropdown-filter",
|
|
@@ -384,7 +384,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
384
384
|
},
|
|
385
385
|
description: "Creates a number display. An evolution number shows a single value with an optional evolution indicator.\n Evolution numbers are effective for displaying key metrics with trend information, allowing users to see both current values\n and how they have changed over time. They work well for KPIs and important metrics that need trend context.\n Use measure for the main value and optionally evolution for the time dimension to show trends.",
|
|
386
386
|
slots: {
|
|
387
|
-
measure: { description: e$
|
|
387
|
+
measure: { description: e$21 },
|
|
388
388
|
evolution: { description: "The column used to optionally show evolution of the number. This determines the time dimension for trend analysis.\n Must be a datetime column type. This defines the time period over which the evolution is calculated." }
|
|
389
389
|
}
|
|
390
390
|
}, e$7 = {
|
|
@@ -402,7 +402,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
402
402
|
description: "Creates a funnel chart. A funnel chart displays data as progressively smaller sections, typically representing\n stages in a process or conversion flow. Funnel charts are effective for showing the flow of data through different stages\n and identifying bottlenecks or drop-off points. They work well with sequential data and process analysis.\n Use measure for the values and category for the stages in the funnel.",
|
|
403
403
|
slots: {
|
|
404
404
|
measure: { description: "The column used as measure in the chart. This determines the values for each stage in the funnel.\n Can be numeric or hierarchy columns. These values determine the size of each funnel section." },
|
|
405
|
-
category: { description: "The
|
|
405
|
+
category: { description: "The primary dimension of the funnel chart. Equivalent to s__y-axis in bar charts and s__x-axis in column/line/area charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here.\n Determines the stages or steps in the funnel. Typically a column with type hierarchy or datetime." }
|
|
406
406
|
}
|
|
407
407
|
}, t$3 = {
|
|
408
408
|
name: "heat-map",
|
|
@@ -415,7 +415,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
415
415
|
description: "Creates a heat map. A heat map displays data as a grid where each cell is colored based on its value.\n Heat maps are effective for showing patterns in large datasets and identifying correlations between variables.\n They work well with geographic data, correlation matrices, and any data that can be organized in a grid format.\n Use geography for spatial data and measures for the values to be visualized.",
|
|
416
416
|
slots: {
|
|
417
417
|
geo: { description: "The column used for geography in the heat map. This determines the spatial layout of the data.\n Must be a spatial column type. This slot is required for geographic heat maps." },
|
|
418
|
-
measure: { description: e$
|
|
418
|
+
measure: { description: e$21 }
|
|
419
419
|
}
|
|
420
420
|
}, t$4 = {
|
|
421
421
|
name: "heat-table",
|
|
@@ -433,9 +433,9 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
433
433
|
slots: {
|
|
434
434
|
"x-axis": { description: "The column used as x-axis in the table. This determines the columns in the heat table.\n Can be categorical data types including hierarchy and datetime. Each unique value becomes a column in the table." },
|
|
435
435
|
"y-axis": { description: "The column used as y-axis in the table. This determines the rows in the heat table.\n Can be categorical data types including hierarchy and datetime. Each unique value becomes a row in the table." },
|
|
436
|
-
measure: { description: e$
|
|
436
|
+
measure: { description: e$21 }
|
|
437
437
|
}
|
|
438
|
-
}, i = {
|
|
438
|
+
}, i$1 = {
|
|
439
439
|
name: "hexbin-map",
|
|
440
440
|
label: "Hexbin Map",
|
|
441
441
|
synonyms: ["hexbin", "hexbin map"],
|
|
@@ -446,7 +446,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
446
446
|
description: "Creates a hexbin map. A hexbin map displays geographic data by aggregating points into hexagonal bins on a map.\n Hexbin maps are effective for showing density patterns, clustering of geographic data points, and spatial distributions\n with many overlapping points. They work well with spatial coordinates and numeric values, especially for large datasets.\n Use geography for the spatial coordinates and measure for the values to be aggregated within each hexbin.",
|
|
447
447
|
slots: {
|
|
448
448
|
geo: { description: "The column used for geography in the map. This determines the spatial coordinates for hexbin placement.\n Must be a spatial column type. This defines the geographic locations that will be aggregated into hexagonal bins." },
|
|
449
|
-
measure: { description: e$
|
|
449
|
+
measure: { description: e$21 }
|
|
450
450
|
}
|
|
451
451
|
}, e$8 = {
|
|
452
452
|
name: "image",
|
|
@@ -487,8 +487,8 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
487
487
|
}],
|
|
488
488
|
description: "Creates a line chart. A line chart displays data as a series of points connected by straight lines.\n Line charts are ideal for showing trends over time and continuous data. They work well with time series data\n and can display multiple series for comparison. Use measures for the values and x-axis for categories or time periods.\n Legends can be used to group data by additional dimensions.",
|
|
489
489
|
slots: {
|
|
490
|
-
measure: { description: e$
|
|
491
|
-
"x-axis": { description: "The
|
|
490
|
+
measure: { description: e$21 },
|
|
491
|
+
"x-axis": { description: "The primary dimension (category axis) of the line chart. Equivalent to s__y-axis in bar charts and s__category in donut/funnel/radar charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here.\n For time series data, use datetime columns. For categorical data, use hierarchy columns." },
|
|
492
492
|
legend: { description: "The column used as legend in the chart. Only add a legend if it is relevant to the chart.\n A legend is used to show a second dimension in the chart and allows grouping of data series." }
|
|
493
493
|
}
|
|
494
494
|
}, r = {
|
|
@@ -507,7 +507,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
507
507
|
description: "Creates a marker map. A marker map displays geographic data using markers or pins at specific locations.\n Marker maps are effective for showing point-based geographic data, locations of interest, or discrete geographic events.\n They work well with spatial coordinates and can represent different types of locations or events.\n Use geography for the spatial coordinates and measure for the values to be displayed.",
|
|
508
508
|
slots: {
|
|
509
509
|
geo: { description: "The column used for geography in the map. This determines the spatial coordinates for marker placement.\n Must be a spatial column type. This defines the geographic locations where markers will be displayed." },
|
|
510
|
-
measure: { description: e$
|
|
510
|
+
measure: { description: e$21 }
|
|
511
511
|
}
|
|
512
512
|
}, e$9 = {
|
|
513
513
|
name: "ohlc-chart",
|
|
@@ -578,9 +578,9 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
578
578
|
slots: {
|
|
579
579
|
row: { description: "The column(s) used as rows in the pivot table. These determine the vertical grouping of data.\n Typically these are categorical columns (hierarchy or datetime). Multiple columns can be used to create hierarchical rows." },
|
|
580
580
|
column: { description: "The column(s) used as columns in the pivot table. These determine the horizontal grouping of data.\n Typically these are categorical columns (hierarchy or datetime). Multiple columns can be used to create hierarchical columns." },
|
|
581
|
-
measure: { description: e$
|
|
581
|
+
measure: { description: e$21 }
|
|
582
582
|
}
|
|
583
|
-
},
|
|
583
|
+
}, r$1 = {
|
|
584
584
|
name: "pyramid-chart",
|
|
585
585
|
label: "Pyramid Chart",
|
|
586
586
|
synonyms: [
|
|
@@ -594,8 +594,8 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
594
594
|
},
|
|
595
595
|
description: "Creates a pyramid chart. A pyramid chart displays data as horizontal bars arranged in a pyramid shape,\n typically used for population demographics or hierarchical data. Pyramid charts are effective for showing\n the distribution of data across categories and comparing values between different groups.\n Use measure for the values, y-axis for categories, and optionally legend for grouping.",
|
|
596
596
|
slots: {
|
|
597
|
-
"y-axis": { description: "The
|
|
598
|
-
measure: { description: e$
|
|
597
|
+
"y-axis": { description: "The primary dimension (category axis) of the pyramid chart. Equivalent to s__x-axis in column/line/area charts and s__category in donut/funnel/radar charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here.\n Typically a column with type hierarchy or datetime. Each category becomes a horizontal bar in the pyramid." },
|
|
598
|
+
measure: { description: e$21 },
|
|
599
599
|
legend: { description: "The column used as legend in the chart. Only add a legend if it is relevant to the chart.\n A legend is used to show a second dimension in the chart and allows grouping of data series." }
|
|
600
600
|
}
|
|
601
601
|
}, e$11 = {
|
|
@@ -613,7 +613,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
613
613
|
description: "Creates a radar chart. A radar chart displays multivariate data on axes starting from the same point.\n Radar charts are effective for comparing multiple variables across different categories and showing patterns\n or profiles. Each axis represents a different variable, and the data points are connected to form a polygon.\n Use measure for the values, category for the variables, and optionally color for grouping.",
|
|
614
614
|
slots: {
|
|
615
615
|
measure: { description: "The column used as measure in the chart. This determines the values to be plotted on each axis.\n Can be numeric or hierarchy columns. These values determine the distance from the center on each axis." },
|
|
616
|
-
category: { description: "The
|
|
616
|
+
category: { description: "The primary dimension of the radar chart. Equivalent to s__y-axis in bar charts and s__x-axis in column/line/area charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here.\n Determines the variables represented by each axis. Typically a column with type hierarchy or datetime." },
|
|
617
617
|
color: { description: "The column used to determine the color of data series. Typically a categorical column.\n Different categories are represented by different colors, allowing comparison of multiple series." }
|
|
618
618
|
}
|
|
619
619
|
}, e$12 = {
|
|
@@ -682,7 +682,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
682
682
|
slots: {
|
|
683
683
|
source: { description: "Only use this in sankey mode.The column used as source in the diagram. This determines the starting point of each flow.\n Typically this is a column with a type of hierarchy or datetime. Each unique value becomes a source node." },
|
|
684
684
|
destination: { description: "Only use this in sankey mode.The column used as destination in the diagram. This determines the ending point of each flow.\n Typically this is a column with a type of hierarchy or datetime. Each unique value becomes a destination node." },
|
|
685
|
-
measure: { description: e$
|
|
685
|
+
measure: { description: e$21 },
|
|
686
686
|
category: { description: "Only use this in alluvial mode.The columns used as categories in the diagram.\n In an alluvial diagram, the categories are used to group the flows." }
|
|
687
687
|
}
|
|
688
688
|
}, e$14 = {
|
|
@@ -848,10 +848,10 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
848
848
|
description: "Creates a spike map. A spike map displays geographic data using vertical spikes or bars at specific locations.\n Spike maps are effective for showing geographic data with varying magnitudes, such as population density, sales volume,\n or any metric that varies by location. They work well with spatial coordinates and numeric values.\n Use geography for the spatial coordinates, measure for the values, and optionally color for additional dimensions.",
|
|
849
849
|
slots: {
|
|
850
850
|
geo: { description: "The column used for geography in the map. This determines the spatial coordinates for spike placement.\n Must be a spatial column type. This defines the geographic locations where spikes will be displayed." },
|
|
851
|
-
measure: { description: e$
|
|
851
|
+
measure: { description: e$21 },
|
|
852
852
|
color: { description: "The column used to determine the color of spikes. This can be used to encode additional dimensions.\n Can be mixed data types. Different values are represented by different colors on the spikes." }
|
|
853
853
|
}
|
|
854
|
-
},
|
|
854
|
+
}, i$2 = {
|
|
855
855
|
name: "strip-plot",
|
|
856
856
|
label: "Strip Plot",
|
|
857
857
|
synonyms: [
|
|
@@ -865,10 +865,10 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
865
865
|
},
|
|
866
866
|
description: "Creates a strip plot. A strip plot displays individual data points along a single axis, grouped by categories.\n Strip plots are effective for showing the distribution of data within categories and identifying patterns or outliers.\n They work well with small to medium datasets and are useful for comparing distributions across different groups.\n Use measure for the numeric values and y-axis for the categories.",
|
|
867
867
|
slots: {
|
|
868
|
-
measure: { description: e$
|
|
869
|
-
"y-axis": { description: "The
|
|
868
|
+
measure: { description: e$21 },
|
|
869
|
+
"y-axis": { description: "The primary dimension (category axis) of the strip plot. Equivalent to s__x-axis in column/line/area charts and s__category in donut/funnel/radar charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here.\n Typically a column with type hierarchy or datetime. Each category becomes a group of data points." }
|
|
870
870
|
}
|
|
871
|
-
}, r$
|
|
871
|
+
}, r$2 = {
|
|
872
872
|
name: "sunburst-chart",
|
|
873
873
|
label: "Sunburst Chart",
|
|
874
874
|
synonyms: [
|
|
@@ -882,7 +882,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
882
882
|
},
|
|
883
883
|
description: "Creates a sunburst chart. A sunburst chart displays hierarchical data as concentric rings, where each ring represents a level\n in the hierarchy. Sunburst charts are effective for showing the composition of hierarchical data and identifying patterns\n at different levels. They work well with multi-level hierarchies and can display large amounts of data in a compact space.\n Use measure for the values and levels for the hierarchical structure.",
|
|
884
884
|
slots: {
|
|
885
|
-
measure: { description: e$
|
|
885
|
+
measure: { description: e$21 },
|
|
886
886
|
levels: { description: "The column(s) used as levels in the chart. These determine the hierarchical structure of the data.\n Multiple columns can be used to create multi-level hierarchies. Each level becomes a ring in the sunburst chart.\n Typically these are columns with a type of hierarchy or datetime." }
|
|
887
887
|
}
|
|
888
888
|
}, s$1 = {
|
|
@@ -900,7 +900,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
900
900
|
description: "Creates a symbol map. A symbol map displays geographic data using symbols or icons at specific locations.\n Symbol maps are effective for showing point-based geographic data, locations of interest, or discrete geographic events.\n They work well with spatial coordinates and can represent different types of locations or events using various symbols.\n Use geography for the spatial coordinates, measure for the values, and optionally category for grouping or color coding.",
|
|
901
901
|
slots: {
|
|
902
902
|
geo: { description: "The column used for geography in the map. This determines the spatial coordinates for symbol placement.\n Must be a spatial column type. This defines the geographic locations where symbols will be displayed." },
|
|
903
|
-
measure: { description: e$
|
|
903
|
+
measure: { description: e$21 },
|
|
904
904
|
category: { description: "The column used as category in the map. This determines the grouping or color coding for different symbols.\n Can be hierarchy, datetime, or array types. Different categories can be represented by different symbols or colors." }
|
|
905
905
|
}
|
|
906
906
|
}, t$7 = {
|
|
@@ -931,11 +931,11 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
931
931
|
},
|
|
932
932
|
description: "Creates a treemap chart. A treemap displays hierarchical data as nested rectangles, where the size of each rectangle\n represents a value. Treemaps are effective for showing the composition of a whole and identifying patterns in hierarchical data.\n They can display multiple levels of hierarchy. Use measure for the values and category for the hierarchy.\n Color can be used to encode an additional dimension.",
|
|
933
933
|
slots: {
|
|
934
|
-
measure: { description: e$
|
|
935
|
-
category: { description: "The
|
|
934
|
+
measure: { description: e$21 },
|
|
935
|
+
category: { description: "The primary dimension of the treemap chart. Equivalent to s__y-axis in bar charts and s__x-axis in column/line/area charts.\n When switching FROM another chart type, transfer the previous dimension/category column content here.\n Determines the hierarchical structure and labels. Typically a column with type hierarchy or datetime." },
|
|
936
936
|
color: { description: "The column used as legend in the chart. Only add a legend if it is relevant to the chart.\n This column is used in case of a second dimension to color the squares." }
|
|
937
937
|
}
|
|
938
|
-
}, e$
|
|
938
|
+
}, e$19 = {
|
|
939
939
|
name: "venn-diagram",
|
|
940
940
|
label: "Venn Diagram",
|
|
941
941
|
synonyms: [
|
|
@@ -953,7 +953,7 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
953
953
|
identifier: { description: "The column used as identifier in the diagram. This determines the items that belong to each set.\n Typically this is a column with a type of hierarchy or categorical. This helps identify which items belong to which sets." },
|
|
954
954
|
measure: { description: "The column used as measure in the diagram. This determines the quantities or counts for each set intersection.\n Typically a numeric column. This is optional and can be used to show the size of different intersections." }
|
|
955
955
|
}
|
|
956
|
-
}, e$
|
|
956
|
+
}, e$20 = {
|
|
957
957
|
name: "video",
|
|
958
958
|
label: "Video",
|
|
959
959
|
synonyms: [
|
|
@@ -982,9 +982,9 @@ var e$22 = "The column used as measure in the chart. If an aggregation is asked
|
|
|
982
982
|
},
|
|
983
983
|
description: "Creates a wordcloud chart. A wordcloud displays text data where the size of each word represents its frequency or importance.\n Wordclouds are effective for visualizing text data and identifying the most prominent terms or concepts.\n They work well with text analysis, sentiment analysis, and content analysis. Use measure for the frequency/importance values\n and category for the text labels. Color can be used to encode additional dimensions.",
|
|
984
984
|
slots: {
|
|
985
|
-
measure: { description: e$
|
|
985
|
+
measure: { description: e$21 },
|
|
986
986
|
category: { description: "The column used as category in the chart. This determines the text labels for each word in the cloud.\n Typically this is a column with a type of hierarchy or text. Each unique value becomes a word in the wordcloud." },
|
|
987
987
|
color: { description: "The column used to determine the color of words. Typically a categorical column.\n Different categories are represented by different colors, allowing visualization of additional dimensions." }
|
|
988
988
|
}
|
|
989
989
|
};
|
|
990
|
-
export { t as areaChartContextConfig, t$1 as barChartContextConfig, e as boxPlotContextConfig, e$1 as bubbleChartContextConfig, a as bulletChartContextConfig, a$1 as choroplethMapContextConfig, a$2 as circlePackChartContextConfig, e$2 as circularGaugeContextConfig, a$3 as columnChartContextConfig,
|
|
990
|
+
export { t as areaChartContextConfig, t$1 as barChartContextConfig, e as boxPlotContextConfig, e$1 as bubbleChartContextConfig, a as bulletChartContextConfig, a$1 as choroplethMapContextConfig, a$2 as circlePackChartContextConfig, e$2 as circularGaugeContextConfig, a$3 as columnChartContextConfig, a$4 as combinationChartContextConfig, e$3 as conditionalNumberContextConfig, e$4 as dateComparisonFilterContextConfig, e$5 as dateFilterContextConfig, i as donutChartContextConfig, e$6 as dropdownFilterContextConfig, t$2 as evolutionNumberContextConfig, e$7 as funnelChartContextConfig, t$3 as heatMapContextConfig, t$4 as heatTableContextConfig, i$1 as hexbinMapContextConfig, e$8 as imageContextConfig, t$5 as lineChartContextConfig, r as markerMapContextConfig, e$9 as ohlcChartContextConfig, e$10 as parallelCoordinatesPlotContextConfig, a$5 as pivotTableContextConfig, r$1 as pyramidChartContextConfig, e$11 as radarChartContextConfig, e$12 as regularTableContextConfig, e$13 as routeMapContextConfig, t$6 as sankeyDiagramContextConfig, e$14 as scatterPlotContextConfig, e$15 as searchFilterContextConfig, e$16 as slicerFilterContextConfig, e$17 as sliderFilterContextConfig, e$18 as speedometerChartContextConfig, s as spikeMapContextConfig, i$2 as stripPlotContextConfig, r$2 as sunburstChartContextConfig, s$1 as symbolMapContextConfig, t$7 as textContextConfig, t$8 as treemapChartContextConfig, e$19 as vennDiagramContextConfig, e$20 as videoContextConfig, t$9 as wordcloudChartContextConfig };
|
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../set-locale-
|
|
20
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../set-locale-BUQ-O7rY.cjs`),require(`../localized-mixin-2hlGenj9.cjs`);const e=require(`../item-grid-CblE3X29.cjs`);exports.LuzmoItemGrid=e.t,Object.defineProperty(exports,`LuzmoItemGridItemActionsMenu`,{enumerable:!0,get:function(){return e.n}});
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
e.setAttribute("data-luzmo-vars", ""), e.textContent = "html{--luzmo-animation-duration: 0.15s;--luzmo-border-color: rgba(var(--luzmo-border-color-rgb), 0.1);--luzmo-border-color-hover: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-down: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-border-color-focus: rgba(var(--luzmo-border-color-rgb), 0.15);--luzmo-border-color-rgb: 0, 0, 0;--luzmo-border-color-full: rgb(180, 180, 180);--luzmo-border-color-full-hover: rgb(140, 140, 140);--luzmo-border-color-full-down: rgb(110, 110, 110);--luzmo-border-color-full-focus: rgb(140, 140, 140);--luzmo-border-color-disabled: #dddddd;--luzmo-border-radius: 6px;--luzmo-border-radius-s: 4px;--luzmo-border-radius-l: 8px;--luzmo-border-radius-xl: 12px;--luzmo-border-radius-full: 999rem;--luzmo-background-color: #ffffff;--luzmo-background-color-rgb: 255, 255, 255;--luzmo-background-color-disabled: #eeeeee;--luzmo-background-color-hover: #f0f0fc;--luzmo-background-color-down: #f1f1ff;--luzmo-background-color-focus: #f0f0fc;--luzmo-background-color-highlight: rgb(240, 240, 240);--luzmo-background-color-highlight-disabled: rgb(245, 245, 245);--luzmo-background-color-highlight-hover: rgb(225, 225, 225);--luzmo-background-color-highlight-down: rgb(215, 215, 215);--luzmo-background-color-highlight-focus: rgb(225, 225, 225);--luzmo-background-color-alt-1: rgb(250, 250, 250);--luzmo-background-color-alt-2: rgb(239, 239, 239);--luzmo-border-width: 1px;--luzmo-font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', Helvetica, Arial, sans-serif;--luzmo-font-size-xs: 10px;--luzmo-font-size-s: 12px;--luzmo-font-size-m: 14px;--luzmo-font-size: 14px;--luzmo-font-size-l: 16px;--luzmo-font-size-xl: 18px;--luzmo-font-size-xxl: 20px;--luzmo-font-style: normal;--luzmo-line-height: normal;--luzmo-font-weight: 400;--luzmo-font-weight-semibold: 500;--luzmo-font-weight-bold: 600;--luzmo-font-color: #333;--luzmo-font-color-hard: #000;--luzmo-font-color-disabled: var(--luzmo-color-disabled);--luzmo-font-color-extra-dimmed: #888;--luzmo-font-color-hover: #333;--luzmo-font-color-down: #111;--luzmo-font-color-focus: #333;--luzmo-scrollbar-size: 6px;--luzmo-scrollbar-width: thin;--luzmo-scrollbar-track-background: transparent;--luzmo-scrollbar-track-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-background: rgba(var(--luzmo-border-color-rgb), 0.3);--luzmo-scrollbar-thumb-border-radius: var(--luzmo-border-radius-s);--luzmo-scrollbar-thumb-hover-background: rgba(var(--luzmo-border-color-rgb), 0.4);--luzmo-primary: #4434ff;--luzmo-primary-hover: #4234e4;--luzmo-primary-down: #392cc7;--luzmo-primary-focus: #4234e4;--luzmo-primary-inverse-color: #ffffff;--luzmo-primary-rgb: 68, 52, 255;--luzmo-secondary: #ff00ff;--luzmo-secondary-hover: #e309e3;--luzmo-secondary-down: #c711c7;--luzmo-secondary-focus: #e309e3;--luzmo-secondary-inverse-color: #ffffff;--luzmo-secondary-rgb: 255, 0, 255;--luzmo-secondary-outline: rgba(255, 0, 255, 0.2);--luzmo-negative-color: #ca221c;--luzmo-negative-color-hover: #b3241f;--luzmo-negative-color-down: #9f231f;--luzmo-negative-color-focus: #b3241f;--luzmo-negative-color-rgb: 202, 34, 28;--luzmo-positive-color: rgb(20, 150, 101);--luzmo-positive-color-hover: rgb(17, 128, 86);--luzmo-positive-color-down: rgb(16, 105, 71);--luzmo-positive-color-focus: rgb(17, 128, 86);--luzmo-positive-color-rgb: 20, 150, 101;--luzmo-selected-color: rgb(110, 110, 110);--luzmo-selected-color-hover: rgb(70, 70, 70);--luzmo-selected-color-down: rgb(40, 40, 40);--luzmo-selected-color-focus: rgb(70, 70, 70);--luzmo-selected-color-hard: #1e1e1e;--luzmo-selected-color-hard-hover: rgb(0, 0, 0);--luzmo-selected-color-hard-down: rgb(0, 0, 0);--luzmo-selected-color-hard-focus: rgb(0, 0, 0);--luzmo-color-informative: #1a77e9;--luzmo-color-informative-rgb: 26, 119, 233;--luzmo-color-disabled: #aaaaaa;--luzmo-spacing-1: 2px;--luzmo-spacing-2: 4px;--luzmo-spacing-3: 8px;--luzmo-spacing-4: 12px;--luzmo-spacing-5: 16px;--luzmo-indicator-gap: 2px;--luzmo-indicator-width: 1px;--luzmo-indicator-color: var(--luzmo-primary);--luzmo-component-height-xxs: 20px;--luzmo-component-height-xs: 24px;--luzmo-component-height-s: 28px;--luzmo-component-height: 32px;--luzmo-component-height-l: 40px;--luzmo-component-height-xl: 48px;--luzmo-component-height-xxl: 64px;--luzmo-icon-size-xxs: 12px;--luzmo-icon-size-xs: 14px;--luzmo-icon-size-s: 16px;--luzmo-icon-size-m: 18px;--luzmo-icon-size-l: 20px;--luzmo-icon-size-xl: 22px;--luzmo-icon-size-xxl: 32px}", document.head.appendChild(e);
|
|
24
24
|
}
|
|
25
25
|
})();
|
|
26
|
-
import "../set-locale-
|
|
27
|
-
import "../localized-mixin-
|
|
28
|
-
import { n as LuzmoItemGridItemActionsMenu, t as LuzmoItemGrid } from "../item-grid-
|
|
26
|
+
import "../set-locale-BkIav3oJ.js";
|
|
27
|
+
import "../localized-mixin-DETAMSsc.js";
|
|
28
|
+
import { n as LuzmoItemGridItemActionsMenu, t as LuzmoItemGrid } from "../item-grid-1WEMJMVX.js";
|
|
29
29
|
export { LuzmoItemGrid, LuzmoItemGridItemActionsMenu };
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* */
|
|
20
20
|
import { t as __commonJSMin } from "./chunk-DU-zbXFI.js";
|
|
21
21
|
import { t as __decorate } from "./decorate-Da6S_xrw.js";
|
|
22
|
-
import { t as LocalizedMixin } from "./localized-mixin-
|
|
22
|
+
import { t as LocalizedMixin } from "./localized-mixin-DETAMSsc.js";
|
|
23
23
|
import { t as Color } from "./color-CmNy-BUS.js";
|
|
24
24
|
import { n as systemThemeIds, t as getTheme } from "./themes-D03BmHjI.js";
|
|
25
25
|
import { r as itemTypes } from "./item-list-CigTscVE.js";
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
const require_chunk=require(`./chunk-350yNsax.cjs`),require_decorate=require(`./decorate-Dq4-zbi1.cjs`),require_localized_mixin=require(`./localized-mixin-DiD8Bmip.cjs`),require_color=require(`./color-DxvhIMkP.cjs`),require_themes=require(`./themes-BZL9NfRc.cjs`),require_item_list=require(`./item-list-BMpMEG17.cjs`);let _luzmo_icons=require(`@luzmo/icons`),lit=require(`lit`),lit_decorators_js=require(`lit/decorators.js`),_lit_localize=require(`@lit/localize`);require(`@luzmo/lucero/tooltip`);let lit_directives_repeat_js=require(`lit/directives/repeat.js`);require(`@luzmo/lucero/icon`),require(`@luzmo/lucero/action-button`),require(`@luzmo/lucero/action-group`);let lit_directives_guard_js=require(`lit/directives/guard.js`),_luzmo_lucero_utils=require(`@luzmo/lucero/utils`),lit_directives_style_map_js=require(`lit/directives/style-map.js`);var byteToHex=[];for(let i=0;i<256;++i)byteToHex.push((i+256).toString(16).slice(1));function unsafeStringify(arr,offset$2=0){return(byteToHex[arr[offset$2+0]]+byteToHex[arr[offset$2+1]]+byteToHex[arr[offset$2+2]]+byteToHex[arr[offset$2+3]]+`-`+byteToHex[arr[offset$2+4]]+byteToHex[arr[offset$2+5]]+`-`+byteToHex[arr[offset$2+6]]+byteToHex[arr[offset$2+7]]+`-`+byteToHex[arr[offset$2+8]]+byteToHex[arr[offset$2+9]]+`-`+byteToHex[arr[offset$2+10]]+byteToHex[arr[offset$2+11]]+byteToHex[arr[offset$2+12]]+byteToHex[arr[offset$2+13]]+byteToHex[arr[offset$2+14]]+byteToHex[arr[offset$2+15]]).toLowerCase()}var getRandomValues,rnds8=new Uint8Array(16);function rng(){if(!getRandomValues){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);getRandomValues=crypto.getRandomValues.bind(crypto)}return getRandomValues(rnds8)}var randomUUID=typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),native_default={randomUUID};function _v4(options,buf,offset$2){options||={};let rnds=options.random??options.rng?.()??rng();if(rnds.length<16)throw Error(`Random bytes length must be >= 16`);if(rnds[6]=rnds[6]&15|64,rnds[8]=rnds[8]&63|128,buf){if(offset$2||=0,offset$2<0||offset$2+16>buf.length)throw RangeError(`UUID byte range ${offset$2}:${offset$2+15} is out of buffer bounds`);for(let i=0;i<16;++i)buf[offset$2+i]=rnds[i];return buf}return unsafeStringify(rnds)}function v4(options,buf,offset$2){return native_default.randomUUID&&!buf&&!options?native_default.randomUUID():_v4(options,buf,offset$2)}var v4_default=v4;const _handleError=(errorMessage,parameters)=>{let message=`The dashboard component encountered an error`;typeof parameters?.dashboardId==`string`&&(message+=` for dashboard with id ${parameters.dashboardId}`),typeof parameters?.dashboardSlug==`string`&&(message+=` for dashboard with slug ${parameters.dashboardSlug}`),typeof parameters?.container==`string`&&(message+=` in container ${parameters.container}`),errorMessage&&(message+=`:\n${errorMessage}`,console.warn(message))},_browserCheck=dashboardComponent=>{let hasError=!1,errorMessage=``,style=(document.body||document.documentElement).style,browserCheck={svg:!!(`createElementNS`in document&&document.createElementNS(`http://www.w3.org/2000/svg`,`svg`).createSVGRect),flexbox:style.webkitFlexWrap===``||style.flexWrap===``,postMessage:!!window.postMessage};for(let key of[`svg`,`flexbox`,`postMessage`])browserCheck[key]||(hasError=!0,dashboardComponent.browserNotSupported=dashboardComponent.browserNotSupported||[],dashboardComponent.browserNotSupported.push(key),errorMessage+=`Your browser does not support: ${key}\n`);let ua=window.navigator.userAgent,msie=ua.includes(`MSIE`),trident=ua.includes(`Trident/`);(msie||trident)&&(hasError=!0,errorMessage=`IE is not supported.`),hasError&&_handleError(errorMessage)},DEFAULT_PARAMETERS={appServer:`https://app.luzmo.com/`,apiHost:`https://api.luzmo.com/`,dashboardId:null,dashboardSlug:null,container:null,key:null,token:null,language:`auto`,editorLanguage:`auto`,qeVersion:null,editMode:null,screenMode:null,switchScreenModeOnResize:!0,itemId:null,theme:``,mainColor:``,accentColor:``,itemDimensions:{width:`auto`,height:`auto`},loaderBackground:`#f9f9f9`,loaderFontColor:`#5a5a5a`,loaderSpinnerColor:`rgba(255, 165, 0, 0.7)`,loaderSpinnerBackground:`rgba(169, 169, 169, 0.14)`,timezoneId:null,contextId:null},EXTENTS=[{mode:`mobile`,width:[150,767]},{mode:`tablet`,width:[768,1199]},{mode:`desktop`,width:[1200,1599]},{mode:`largeScreen`,width:[1600,9999]},{mode:`fixed`,width:[]}],TRANSLATIONS={initializing:{en:`Initializing...`,nl:`Laden...`,fr:`Chargement...`,de:`Initialisiere...`,es:`Inicializando...`},errorDashboard:{en:`Oops, we could not load this dashboard!`,nl:`Oeps, we konden het dashboard niet laden.`,fr:`Le chargement a echoué.`,de:`Hoppla, wir konnten dieses Dashboard nicht laden!`,es:`¡Ups! No pudimos cargar este tablero.`},errorItem:{en:`Oops, we could not load this item!`,nl:`Oeps, we konden de grafiek niet laden.`,fr:`Le chargement a echoué.`,de:`Hoppla, wir konnten dieses Diagramm nicht laden!`,es:`¡Ups! No pudimos cargar este elemento.`}};var translations_default=TRANSLATIONS;const addTrailingSlash=serverUrl=>serverUrl?serverUrl.endsWith(`/`)?serverUrl:`${serverUrl}/`:``,removeTrailingSlash=serverUrl=>serverUrl?serverUrl.endsWith(`/`)?serverUrl.slice(0,-1):serverUrl:``,formatDashboardList=(dashboards,integrationId,user,dashboardComponent)=>{let combineRights=(securable,user$1)=>{let matchingUser=securable.users.find(u=>u.id===user$1.id),securableAccessRights=matchingUser&&matchingUser.userAccessRight?{flagRead:matchingUser.userAccessRight.flagRead,flagUse:matchingUser.userAccessRight.flagUse,flagModify:matchingUser.userAccessRight.flagModify,flagOwn:matchingUser.userAccessRight.flagOwn}:{flagRead:!1,flagUse:!1,flagModify:!1,flagOwn:!1},groupsAccess=securable.groups.filter(group=>user$1.userGroups.includes(group.id)||group.public===!0).map(group=>{if(group.groupAccessRight)return group.groupAccessRight});for(let groupAccess of groupsAccess)!securableAccessRights.flagRead&&groupAccess.flagRead&&(securableAccessRights.flagRead=groupAccess.flagRead),!securableAccessRights.flagUse&&groupAccess.flagUse&&(securableAccessRights.flagUse=groupAccess.flagUse),!securableAccessRights.flagModify&&groupAccess.flagModify&&(securableAccessRights.flagModify=groupAccess.flagModify),!securableAccessRights.flagOwn&&groupAccess.flagOwn&&(securableAccessRights.flagOwn=groupAccess.flagOwn);let integrationsAccess=securable.integrations?.length>0?securable.integrations.map(integration=>{if(integration.integrationAccessRight)return integration.integrationAccessRight}):[];for(let integrationAccess of integrationsAccess)!securableAccessRights.flagRead&&integrationAccess.flagRead&&(securableAccessRights.flagRead=integrationAccess.flagRead),!securableAccessRights.flagUse&&integrationAccess.flagUse&&(securableAccessRights.flagUse=integrationAccess.flagUse),!securableAccessRights.flagModify&&integrationAccess.flagModify&&(securableAccessRights.flagModify=integrationAccess.flagModify);return securableAccessRights},localize=(item,locale)=>{if(item==null)return``;if(typeof item!=`object`||Object.keys(item).length===0)return typeof item==`object`&&Object.keys(item).length===0?``:item;let localizedItem;return localizedItem=locale&&item[locale]?item[locale]:item[Object.keys(item)[0]],localizedItem??=``,localizedItem},treatedDashboards=[];for(let dashboard of dashboards){let treatedDashboard={accessibleBy:[],accessRights:combineRights(dashboard,user),id:dashboard.id,modifiedAt:dashboard.modified_at,name:localize(dashboard.name,dashboardComponent.language),slug:null,tags:dashboard.tags.map(t=>t.tag).sort((t1,t2)=>t1.localeCompare(t2))},currentIntegration=dashboard.integrations.find(i=>i.id===integrationId);currentIntegration?.integrationAccessRight?.slug&&(treatedDashboard.slug=currentIntegration.integrationAccessRight.slug);let users=dashboard.users.map(u=>({model:`User`,id:u.id,name:localize(u.name,user.locale_id)})),groups=dashboard.groups.map(g=>({model:`Group`,id:g.id,name:localize(g.name,user.locale_id)||{}})),integrations=dashboard.integrations.map(i=>({model:`Integration`,id:i.id,name:localize(i.name,user.locale_id)||{}}));treatedDashboard.accessibleBy=[...users,...groups,...integrations],treatedDashboards.push(treatedDashboard)}return treatedDashboards},VERSION=`0.0.0-unknown-luzmo`,sanitizeUrl=url=>{let invalidPrototcolRegex=/^(%20|\s)*(javascript|data)/im,ctrlCharactersRegex=/[^\u0020-\u007E]/gim,urlSchemeRegex=/^([^:]+):/gm,relativeFirstCharacters=new Set([`.`,`/`]),isRelativeUrlWithoutProtocol=relativeUrl=>relativeFirstCharacters.has(relativeUrl[0]);if(!url)return`about:blank`;let sanitizedUrl=url.replaceAll(ctrlCharactersRegex,``).trim();if(isRelativeUrlWithoutProtocol(sanitizedUrl))return sanitizedUrl;let urlSchemeParseResults=sanitizedUrl.match(urlSchemeRegex);if(!urlSchemeParseResults)return sanitizedUrl;let urlScheme=urlSchemeParseResults[0];return invalidPrototcolRegex.test(urlScheme)?`about:blank`:sanitizedUrl},cloneDeep=obj=>JSON.parse(JSON.stringify(obj));var isObject=o=>o&&typeof o==`object`;const defaultsDeep=(target,defaults)=>(Object.entries(defaults).forEach(([k,v])=>{k in target?target[k]===void 0?target[k]=v:target[k]=isObject(v)?defaultsDeep(target[k],v):target[k]:target[k]=v}),target),uuidv4=()=>`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replaceAll(/[xy]/g,function(c){let r=Math.random()*16|0;return(c==`x`?r:r&3|8).toString(16)}),createIframeUrl=dashboardContent=>{let searchString=[],{appServer,language,editorLanguage,qeVersion,loaderBackground,loaderSpinnerColor,loaderSpinnerBackground,loaderFontColor,screenMode,key,token,timezoneId,itemEmbedding,itemDimensions,dashboardId,dashboardSlug,itemId,theme,mainColor,accentColor,editMode}=dashboardContent.params;language&&language!==`auto`&&searchString.push(`language=${language}`),editorLanguage&&editorLanguage!==`auto`&&searchString.push(`editorLanguage=${editorLanguage}`),qeVersion&&searchString.push(`qe_version=${qeVersion}`),loaderBackground&&searchString.push(`ldrbg=${loaderBackground}`),loaderFontColor&&searchString.push(`ldrftclr=${loaderFontColor}`),loaderSpinnerColor&&searchString.push(`ldrspclr=${loaderSpinnerColor}`),loaderSpinnerBackground&&searchString.push(`ldrspbg=${loaderSpinnerBackground}`),theme&&searchString.push(`theme=${theme}`),mainColor&&searchString.push(`mainColor=${mainColor}`),accentColor&&searchString.push(`accentColor=${accentColor}`),screenMode&&screenMode!==`auto`&&searchString.push(`screenMode=&{screenMode}`),timezoneId&&searchString.push(`timezoneId=`+timezoneId),itemEmbedding&&itemDimensions&&itemDimensions.width&&searchString.push(`width=`+itemDimensions.width),itemEmbedding&&itemDimensions&&itemDimensions.height&&searchString.push(`height=`+itemDimensions.height),editMode&&searchString.push(`editMode=`+editMode);let keyTokenUrlAnchor=key&&token?`#`+key+`:`+token:``;return searchString.push(`version=`+(dashboardContent.libVersion||`0.0.0-unknown-luzmo`)),sanitizeUrl(itemEmbedding?`${appServer}i/${dashboardId||dashboardSlug}/${itemId}?${encodeURIComponent(searchString.join(`&`))}${keyTokenUrlAnchor}`:`${appServer}i/${dashboardId||dashboardSlug}?${encodeURIComponent(searchString.join(`&`))}${keyTokenUrlAnchor}`)},getLoader=dashboardComponent=>{let errorMsg;(dashboardComponent.params.error||dashboardComponent.browserNotSupported.length>0)&&(dashboardComponent.params.error=!0,dashboardComponent.browserNotSupported&&(errorMsg=`Browser is not supported.`));let loadingMsg=translations_default.initializing[dashboardComponent.params.language]||translations_default.initializing.en;return dashboardComponent.browserNotSupported||dashboardComponent.params.error?{loadingMsg,errorMsg}:{loadingMsg,errorMsg:``}};function resolvePromise(dashboardComponent,requestId,data){dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].resolve(data),delete dashboardComponent.promises[requestId])}function rejectPromise(dashboardComponent,requestId,data){dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].reject(data),delete dashboardComponent.promises[requestId])}function containerStyles(dashboardComponent){let styles={};return dashboardComponent.params.loaderBackground&&!dashboardComponent.iframeLoaded&&(styles.background=dashboardComponent.params.loaderBackground),styles}function containerLoaderStyles(dashboardComponent){let height=dashboardComponent.params.itemDimensions?.height||DEFAULT_PARAMETERS.itemDimensions.height,chartHeightDefined=dashboardComponent.params.itemEmbedding&&height!==`auto`;return{display:dashboardComponent.iframeLoaded?`none`:``,height:`${chartHeightDefined?height:dashboardComponent.minHeight}px`}}function loaderStyles(dashboardComponent){let background=dashboardComponent.params.loaderBackground||DEFAULT_PARAMETERS.loaderBackground;if(dashboardComponent.params.itemEmbedding){dashboardComponent.loaderSize=24,dashboardComponent.borderWidth=4,dashboardComponent.minHeight=200;let width=dashboardComponent.params.itemDimensions?.width||DEFAULT_PARAMETERS.itemDimensions.width,height=dashboardComponent.params.itemDimensions?.height||DEFAULT_PARAMETERS.itemDimensions.height,chartWidthDefined=width!==`auto`,chartHeightDefined=height!==`auto`;return{background,width:chartWidthDefined?`${width}px`:`100%`,height:`${chartHeightDefined?height:`200`}px`,"min-height":chartHeightDefined?``:`200px`}}return{background}}function plStyles(dashboardComponent){let{loaderSpinnerColor:defaultSpinnerColor,loaderSpinnerBackground:defaultSpinnerBackground}=DEFAULT_PARAMETERS,spinnerColorBorder=generateBorderStyle(dashboardComponent.borderWidth,dashboardComponent.params.loaderSpinnerColor||defaultSpinnerColor),spinnerBackgroundBorder=generateBorderStyle(dashboardComponent.borderWidth,dashboardComponent.params.loaderSpinnerBackground||defaultSpinnerBackground),size=`${dashboardComponent.loaderSize}px`;return{"border-top":spinnerColorBorder,"border-right":spinnerColorBorder,"border-bottom":spinnerBackgroundBorder,"border-left":spinnerBackgroundBorder,width:size,height:size}}function lcStyles(dashboardComponent){let height=dashboardComponent.params.itemDimensions?.height||DEFAULT_PARAMETERS.itemDimensions.height,chartHeightDefined=dashboardComponent.params.itemEmbedding&&height!==`auto`;return{padding:`${dashboardComponent.params.itemId?(value=>`${(value-dashboardComponent.loaderSize-32)/2}px`)(chartHeightDefined?Number.parseInt(`${height}`,10):dashboardComponent.minHeight):`128px`} 16px`}}function calculateIframeStyles(dashboardComponent){let height=dashboardComponent.params.itemDimensions?.height||DEFAULT_PARAMETERS.itemDimensions.height,width=dashboardComponent.params.itemDimensions?.width||DEFAULT_PARAMETERS.itemDimensions.width;dashboardComponent.params.itemEmbedding&&height!==`auto`?dashboardComponent.iframeHeight=`${height}px`:dashboardComponent.params.itemEmbedding?dashboardComponent.iframeHeight=`200px`:[`editFull`,`editLimited`].includes(dashboardComponent.params.editMode)?dashboardComponent.iframeHeight=`100%`:dashboardComponent.iframeHeight=`400px`,dashboardComponent.iframeWidth=dashboardComponent.params.itemEmbedding&&width!==`auto`?`${width}px`:`100%`;let styles={height:dashboardComponent.iframeHeight,width:dashboardComponent.iframeWidth};return dashboardComponent.iframeLoaded?styles.opacity=1:dashboardComponent.error?(styles.opacity=1,styles.width=`100%`,styles.height=`400px`):styles.opacity=0,styles}function generateBorderStyle(borderWidth,color){return`${borderWidth}px solid ${color}`}const updateIframeUrl=(iframe,iframeUrl)=>{iframe?.contentWindow&&iframe.contentWindow.location.replace(iframeUrl)},exportDashboard=(dashboardComponent,iframe,format)=>{let requestId=uuidv4();return iframe?.contentWindow?(iframe.contentWindow.postMessage({action:`exportDashboard`,format:format||`png`,_version:dashboardComponent.libVersion,requestId},`*`),new Promise((resolve,reject)=>{dashboardComponent.promises[requestId]={resolve,reject},setTimeout(()=>{dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].reject(Error(`exportDashboard request timed out.`)),delete dashboardComponent.promises[requestId])},12e5)})):Promise.reject(Error(`Cannot retrieve contentWindow.`))},getAccessibleDashboards=async dashboardComponent=>{if(await dashboardComponent.updateComplete,(dashboardComponent.currentAuthKey??dashboardComponent.authKey)&&(dashboardComponent.currentAuthToken??dashboardComponent.authToken)){let fetchUser=new Promise((resolve,reject)=>{(()=>{try{window.fetch(`${addTrailingSlash(dashboardComponent.params.apiHost)}0.1.0/authorization`,{method:`POST`,mode:`cors`,cache:`no-cache`,headers:{"Content-Type":`application/json`},redirect:`follow`,body:JSON.stringify({action:`get`,version:`0.1.0`,key:dashboardComponent.currentAuthKey??dashboardComponent.authKey,token:dashboardComponent.currentAuthToken??dashboardComponent.authToken,find:{where:{id:dashboardComponent.authKey},attributes:[`id`,`integration_id`],include:[{model:`User`,attributes:[`id`,`name`,`locale_id`],include:[{model:`Group`}]}]}})}).then(response=>response.json()).then(data=>{!data||!data.rows||data.rows.length===0||!data.rows[0].user?reject(`Authorization failed, please check authKey and authToken. If the problem persists, please contact support@luzmo.com.`):(data.rows[0].user.userGroups=data.rows[0].user.groups.map(group=>group.id),delete data.rows[0].user.groups,resolve({integrationId:data.rows[0].integration_id,user:data.rows[0].user}))})}catch(error){reject(error)}})()});return new Promise((resolve,reject)=>void(()=>{try{fetchUser.then(authorizationData=>{window.fetch(`${addTrailingSlash(dashboardComponent.params.apiHost)}0.1.0/securable`,{method:`POST`,mode:`cors`,cache:`no-cache`,headers:{"Content-Type":`application/json`},redirect:`follow`,body:JSON.stringify({action:`get`,version:`0.1.0`,key:dashboardComponent.currentAuthKey??dashboardComponent.authKey,token:dashboardComponent.currentAuthToken??dashboardComponent.authToken,find:{where:{type:`dashboard`,is_variant:!1},attributes:[`id`,`name`,`modified_at`],order:[[`modified_at`,`desc`]],include:[{model:`Tag`,attributes:[`tag`]},{model:`User`,attributes:[`id`,`name`]},{model:`Group`,attributes:[`id`,`name`,`public`]},{model:`Integration`,attributes:[`id`,`name`]}]}})}).then(response=>response.json()).then(data=>{resolve(data.rows.length>0?formatDashboardList(data.rows,authorizationData.integrationId,authorizationData.user,dashboardComponent):[])})}).catch(error=>{reject(error)})}catch(error){reject(error)}})())}throw Error(`No authKey or authToken found in the luzmo-dashboard component.`)},getData=(dashboardComponent,iframe,itemId)=>{if(iframe?.contentWindow){let requestId=uuidv4();return iframe.contentWindow.postMessage({action:`getData`,id:itemId,_version:dashboardComponent.libVersion,requestId},`*`),new Promise((resolve,reject)=>{dashboardComponent.promises[requestId]={resolve,reject},setTimeout(()=>{dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].reject(Error(`getData request timed out.`)),delete dashboardComponent.promises[requestId])},2e3)})}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},getFilters=(dashboardComponent,iframe)=>{if(iframe?.contentWindow){let requestId=uuidv4();return iframe.contentWindow.postMessage({action:`getFilters`,_version:dashboardComponent.libVersion,requestId},`*`),new Promise((resolve,reject)=>{dashboardComponent.promises[requestId]={resolve,reject},setTimeout(()=>{dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].reject(Error(`getFilters request timed out.`)),delete dashboardComponent.promises[requestId])},2e3)})}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},refreshData=(dashboardComponent,iframe,itemId)=>iframe?(iframe.contentWindow.postMessage({action:`refreshData`,id:itemId??null,_version:dashboardComponent.libVersion},`*`),Promise.resolve()):Promise.reject(Error(`Cannot retrieve contentWindow.`)),reloadDashboard=(dashboardComponent,iframe)=>iframe?(iframe.contentWindow.postMessage({action:`reloadDashboard`,_version:dashboardComponent.libVersion},`*`),Promise.resolve()):Promise.reject(Error(`Cannot retrieve contentWindow.`)),sendExportEmail=(dashboardComponent,iframe,type,subject,message)=>iframe?(iframe.contentWindow.postMessage({action:`sendExportEmail`,type:type||`once`,subject,message,_version:dashboardComponent.libVersion},`*`),Promise.resolve()):Promise.reject(Error(`Cannot retrieve contentWindow.`)),setAuthorization=(dashboardComponent,iframe,key,token)=>iframe?(iframe.contentWindow.postMessage({action:`setAuthorization`,key,token,_version:dashboardComponent.libVersion},`*`),Promise.resolve()):Promise.reject(Error(`Cannot retrieve contentWindow.`)),setEditMode=(dashboardComponent,iframe,editMode)=>{if(iframe&&iframe.contentWindow){let requestId=uuidv4();return dashboardComponent.params.editMode===editMode?Promise.reject(Error(`editMode parameter is currently already set to `+editMode)):editMode!==`editFull`&&editMode!==`editLimited`&&editMode!==`view`?Promise.reject(Error(`The editMode parameter must be one of the following values: 'editFull', 'editLimited' or 'view'.`)):(iframe.contentWindow.postMessage({action:`setEditMode`,editMode,_version:dashboardComponent.libVersion,requestId},`*`),new Promise((resolve,reject)=>{dashboardComponent.promises[requestId]={resolve,reject}}))}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},setPreview=(dashboardComponent,iframe,preview)=>{if(iframe){let requestId=uuidv4();return iframe.contentWindow.postMessage({action:`setPreview`,preview,requestId,_version:dashboardComponent.libVersion},`*`),new Promise((resolve,reject)=>{dashboardComponent.promises[requestId]={resolve,reject},setTimeout(()=>{dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].reject(Error(`setPreview request timed out.`)),delete dashboardComponent.promises[requestId])},2e3)})}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},setSelectedData=(dashboardComponent,iframe,itemId,filters)=>{if(iframe){let requestId=uuidv4();return iframe.contentWindow.postMessage({action:`setSelectedData`,itemId,filters,_version:dashboardComponent.libVersion,requestId},`*`),new Promise((resolve,reject)=>{dashboardComponent.promises[requestId]={resolve,reject},setTimeout(()=>{dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].reject(Error(`setSelectedData request timed out.`)),delete dashboardComponent.promises[requestId])},2e3)})}return Promise.reject()},_setCalculatedDimensions=dashboardComponent=>{if(!dashboardComponent.dimensions){dashboardComponent.params.error=!0,_handleError(`Got no valid dimensions.`,dashboardComponent.params);return}let dashboardDimensionKeys=Object.keys(dashboardComponent.dimensions),availableScreenModeExtents=[],currentMode,currentWidth=0,currentHeight=0;if(!dashboardComponent.params.switchScreenModeOnResize&&dashboardComponent.currentScreenMode&&(dashboardComponent.params.screenMode=dashboardComponent.currentScreenMode),dashboardComponent.dimensions&&dashboardDimensionKeys?.[0]===`fixed`)currentMode=`fixed`,currentWidth=dashboardComponent.dimensions.fixed[0],currentHeight=dashboardComponent.dimensions.fixed[1];else{let screenModes=[`mobile`,`tablet`,`desktop`,`largeScreen`];if(dashboardComponent.params.itemEmbedding){let[firstMatch]=dashboardDimensionKeys,match=cloneDeep(firstMatch);for(let screenMode of screenModes){let found=dashboardDimensionKeys.find(key=>key===screenMode);found?match=cloneDeep(found):dashboardComponent.dimensions[screenMode]=dashboardComponent.dimensions[match]}}for(let key of dashboardDimensionKeys)if(screenModes.includes(key)){let screenMode=EXTENTS.find(extent=>extent.mode===key);availableScreenModeExtents.push({...screenMode,height:dashboardComponent.dimensions[key][1]||50})}if(availableScreenModeExtents.map(screenModeExtent=>screenModeExtent.mode).includes(dashboardComponent.params.screenMode)||(dashboardComponent.params.screenMode=`auto`),dashboardComponent.params.screenMode===`auto`){availableScreenModeExtents.sort((a,b)=>screenModes.indexOf(a.mode)-screenModes.indexOf(b.mode));for(let screenModeExtent of availableScreenModeExtents){let[screenModeExtentMinWidth,screenModeExtentMaxWidth]=screenModeExtent.width;dashboardComponent.params.itemEmbedding&&dashboardComponent.params.itemDimensions&&dashboardComponent.params.itemDimensions.width!==`auto`&&dashboardComponent.params.itemDimensions.height===`auto`?screenModeExtentMinWidth<dashboardComponent.params.itemDimensions.width&&(currentMode=screenModeExtent.mode,currentWidth=Number.parseInt(dashboardComponent.params.itemDimensions.width,10),currentHeight=dashboardComponent.dimensions[currentMode][1]):screenModeExtentMinWidth<dashboardComponent.containerWidth&&(currentMode=screenModeExtent.mode,dashboardComponent.params.itemEmbedding?(currentWidth=dashboardComponent.params.itemDimensions?.width&&dashboardComponent.params.itemDimensions?.width!==`auto`?Number.parseInt(dashboardComponent.params.itemDimensions.width,10):Math.min(dashboardComponent.containerWidth,screenModeExtentMaxWidth),currentHeight=dashboardComponent.params.itemDimensions?.height&&dashboardComponent.params.itemDimensions?.height!==`auto`?Number.parseInt(dashboardComponent.params.itemDimensions.height,10):dashboardComponent.dimensions[currentMode][1],dashboardComponent.params.itemDimensions&&dashboardComponent.params.itemDimensions.width!==`auto`&&dashboardComponent.params.itemDimensions.height===`auto`&&(currentWidth=Number.parseInt(dashboardComponent.params.itemDimensions.width,10),currentHeight=dashboardComponent.dimensions[currentMode][1])):(currentWidth=Math.max(Math.min(screenModeExtentMaxWidth,dashboardComponent.containerWidth),screenModeExtentMinWidth),currentHeight=screenModeExtent.height))}}else{let{height:chosenModeHeight,width:[chosenModeMinWidth,chosenModeMaxWidth]}=availableScreenModeExtents.find(d=>d.mode===dashboardComponent.params.screenMode);currentMode=dashboardComponent.params.screenMode,currentWidth=Math.max(Math.min(chosenModeMaxWidth,dashboardComponent.containerWidth),chosenModeMinWidth),currentHeight=chosenModeHeight,dashboardComponent.params.itemEmbedding&&(dashboardComponent.params.itemDimensions?.width&&dashboardComponent.params.itemDimensions?.width!==`auto`&&(currentWidth=Number.parseInt(dashboardComponent.params.itemDimensions.width,10)),dashboardComponent.params.itemDimensions?.height&&dashboardComponent.params.itemDimensions?.height!==`auto`&&(currentHeight=Number.parseInt(dashboardComponent.params.itemDimensions.height,10)))}if(!currentMode&&availableScreenModeExtents.length>0){let[lowestModeExtent]=availableScreenModeExtents;currentMode=lowestModeExtent.mode,currentWidth=lowestModeExtent.width[0],currentHeight=lowestModeExtent.height}}dashboardComponent.currentScreenMode=currentMode;let style={height:currentHeight===0?`100%`:`${String(currentHeight)}px`,width:currentWidth===0?`100%`:`${String(currentWidth)}px`,opacity:1};[`editFull`,`editLimited`].includes(dashboardComponent.params.editMode)?(style.height=`100%`,style.width=`100%`):dashboardComponent.params.itemEmbedding&&dashboardComponent.params.itemDimensions?(style.height=dashboardComponent.params.itemDimensions.height===`auto`?style.height:`${String(dashboardComponent.params.itemDimensions.height).replace(`px`,``)}px`,style.width=dashboardComponent.params.itemDimensions.width===`auto`?style.width:`${String(dashboardComponent.params.itemDimensions.width).replace(`px`,``)}px`):(style.height=currentHeight===0?`100%`:`${String(currentHeight)}px`,style.width=currentWidth===0?`100%`:`${String(currentWidth)}px`),dashboardComponent.currentScreenMode=currentMode,dashboardComponent.iframeStyle=style},_extendAndValidate=dashboardContent=>{let defaultKeys=Object.keys(DEFAULT_PARAMETERS),errorMessages=[],requiredStringParams=[`appServer`,`language`,`apiHost`],requiredStringOrEmptyParams=[`key`,`token`,`screenMode`,`timezoneId`,`itemId`,`container`,`loaderBackground`,`loaderFontColor`,`loaderSpinnerColor`,`loaderSpinnerBackground`],objectParams=[`itemDimensions`],screenModes=[`mobile`,`tablet`,`desktop`,`largeScreen`,`fixed`,`auto`];for(let key of defaultKeys)dashboardContent.params[key]===null&&delete dashboardContent.params[key];dashboardContent.params=defaultsDeep(dashboardContent.params,DEFAULT_PARAMETERS),(!dashboardContent.params.dashboardId||typeof dashboardContent.params.dashboardId!=`string`)&&(!dashboardContent.params.dashboardSlug||typeof dashboardContent.params.dashboardSlug!=`string`)&&(delete dashboardContent.params.dashboardId,delete dashboardContent.params.dashboardSlug);for(let key of requiredStringParams)typeof dashboardContent.params[key]!=`string`&&(delete dashboardContent.params[key],errorMessages.push(`${key} needs to be of type string.`));for(let key of requiredStringOrEmptyParams)typeof dashboardContent.params[key]!=`string`&&dashboardContent.params[key]!==null&&dashboardContent.params[key]!==void 0&&(delete dashboardContent.params[key],errorMessages.push(`${key} needs to be of type string or empty.`));if(dashboardContent.params.screenMode&&!screenModes.includes(dashboardContent.params.screenMode)){let validTypesString=screenModes.map(mode=>`"${mode}"`).join(`, `);errorMessages.push(`"screenMode" needs should be one of these types: ${validTypesString}`),dashboardContent.params.screenMode=`auto`}dashboardContent.params.itemId&&(dashboardContent.params.itemEmbedding=!0);for(let key of objectParams)typeof dashboardContent.params[key]!=`object`&&dashboardContent.params[key]!==null&&(delete dashboardContent.params[key],errorMessages.push(`${key} needs to be of type object or empty.`));if(typeof dashboardContent.params.switchScreenModeOnResize!=`boolean`&&(errorMessages.push(`switchScreenModeOnResize needs to be of type boolean.`),dashboardContent.params.switchScreenModeOnResize=!0),dashboardContent.params.itemDimensions)for(let key of[`width`,`height`])![`string`,`number`].includes(typeof dashboardContent.params.itemDimensions[key])&&dashboardContent.params.itemDimensions[key]!==null&&errorMessages.push(`itemDimensions ${key} needs to be of type string, number or empty.`);dashboardContent.params=defaultsDeep(dashboardContent.params,DEFAULT_PARAMETERS),dashboardContent.params.screenMode&&dashboardContent.params.screenMode!==`auto`&&(dashboardContent.params.switchScreenModeOnResize=!1),dashboardContent.params.itemDimensions.width!==`auto`&&(dashboardContent.params.itemDimensions.width=Number.parseInt(`${dashboardContent.params.itemDimensions.width}`.replace(`px`,``),10)||`auto`),dashboardContent.params.itemDimensions.height!==`auto`&&(dashboardContent.params.itemDimensions.height=Number.parseInt(`${dashboardContent.params.itemDimensions.height}`.replace(`px`,``),10)||`auto`),dashboardContent.params.itemEmbedding=!!dashboardContent.params.itemId,(dashboardContent.params.error||errorMessages.length>0)&&_handleError(errorMessages.join(`
|
|
20
|
+
const require_chunk=require(`./chunk-350yNsax.cjs`),require_decorate=require(`./decorate-Dq4-zbi1.cjs`),require_localized_mixin=require(`./localized-mixin-2hlGenj9.cjs`),require_color=require(`./color-DxvhIMkP.cjs`),require_themes=require(`./themes-BZL9NfRc.cjs`),require_item_list=require(`./item-list-BMpMEG17.cjs`);let _luzmo_icons=require(`@luzmo/icons`),lit=require(`lit`),lit_decorators_js=require(`lit/decorators.js`),_lit_localize=require(`@lit/localize`);require(`@luzmo/lucero/tooltip`);let lit_directives_repeat_js=require(`lit/directives/repeat.js`);require(`@luzmo/lucero/icon`),require(`@luzmo/lucero/action-button`),require(`@luzmo/lucero/action-group`);let lit_directives_guard_js=require(`lit/directives/guard.js`),_luzmo_lucero_utils=require(`@luzmo/lucero/utils`),lit_directives_style_map_js=require(`lit/directives/style-map.js`);var byteToHex=[];for(let i=0;i<256;++i)byteToHex.push((i+256).toString(16).slice(1));function unsafeStringify(arr,offset$2=0){return(byteToHex[arr[offset$2+0]]+byteToHex[arr[offset$2+1]]+byteToHex[arr[offset$2+2]]+byteToHex[arr[offset$2+3]]+`-`+byteToHex[arr[offset$2+4]]+byteToHex[arr[offset$2+5]]+`-`+byteToHex[arr[offset$2+6]]+byteToHex[arr[offset$2+7]]+`-`+byteToHex[arr[offset$2+8]]+byteToHex[arr[offset$2+9]]+`-`+byteToHex[arr[offset$2+10]]+byteToHex[arr[offset$2+11]]+byteToHex[arr[offset$2+12]]+byteToHex[arr[offset$2+13]]+byteToHex[arr[offset$2+14]]+byteToHex[arr[offset$2+15]]).toLowerCase()}var getRandomValues,rnds8=new Uint8Array(16);function rng(){if(!getRandomValues){if(typeof crypto>`u`||!crypto.getRandomValues)throw Error(`crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported`);getRandomValues=crypto.getRandomValues.bind(crypto)}return getRandomValues(rnds8)}var randomUUID=typeof crypto<`u`&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),native_default={randomUUID};function _v4(options,buf,offset$2){options||={};let rnds=options.random??options.rng?.()??rng();if(rnds.length<16)throw Error(`Random bytes length must be >= 16`);if(rnds[6]=rnds[6]&15|64,rnds[8]=rnds[8]&63|128,buf){if(offset$2||=0,offset$2<0||offset$2+16>buf.length)throw RangeError(`UUID byte range ${offset$2}:${offset$2+15} is out of buffer bounds`);for(let i=0;i<16;++i)buf[offset$2+i]=rnds[i];return buf}return unsafeStringify(rnds)}function v4(options,buf,offset$2){return native_default.randomUUID&&!buf&&!options?native_default.randomUUID():_v4(options,buf,offset$2)}var v4_default=v4;const _handleError=(errorMessage,parameters)=>{let message=`The dashboard component encountered an error`;typeof parameters?.dashboardId==`string`&&(message+=` for dashboard with id ${parameters.dashboardId}`),typeof parameters?.dashboardSlug==`string`&&(message+=` for dashboard with slug ${parameters.dashboardSlug}`),typeof parameters?.container==`string`&&(message+=` in container ${parameters.container}`),errorMessage&&(message+=`:\n${errorMessage}`,console.warn(message))},_browserCheck=dashboardComponent=>{let hasError=!1,errorMessage=``,style=(document.body||document.documentElement).style,browserCheck={svg:!!(`createElementNS`in document&&document.createElementNS(`http://www.w3.org/2000/svg`,`svg`).createSVGRect),flexbox:style.webkitFlexWrap===``||style.flexWrap===``,postMessage:!!window.postMessage};for(let key of[`svg`,`flexbox`,`postMessage`])browserCheck[key]||(hasError=!0,dashboardComponent.browserNotSupported=dashboardComponent.browserNotSupported||[],dashboardComponent.browserNotSupported.push(key),errorMessage+=`Your browser does not support: ${key}\n`);let ua=window.navigator.userAgent,msie=ua.includes(`MSIE`),trident=ua.includes(`Trident/`);(msie||trident)&&(hasError=!0,errorMessage=`IE is not supported.`),hasError&&_handleError(errorMessage)},DEFAULT_PARAMETERS={appServer:`https://app.luzmo.com/`,apiHost:`https://api.luzmo.com/`,dashboardId:null,dashboardSlug:null,container:null,key:null,token:null,language:`auto`,editorLanguage:`auto`,qeVersion:null,editMode:null,screenMode:null,switchScreenModeOnResize:!0,itemId:null,theme:``,mainColor:``,accentColor:``,itemDimensions:{width:`auto`,height:`auto`},loaderBackground:`#f9f9f9`,loaderFontColor:`#5a5a5a`,loaderSpinnerColor:`rgba(255, 165, 0, 0.7)`,loaderSpinnerBackground:`rgba(169, 169, 169, 0.14)`,timezoneId:null,contextId:null},EXTENTS=[{mode:`mobile`,width:[150,767]},{mode:`tablet`,width:[768,1199]},{mode:`desktop`,width:[1200,1599]},{mode:`largeScreen`,width:[1600,9999]},{mode:`fixed`,width:[]}],TRANSLATIONS={initializing:{en:`Initializing...`,nl:`Laden...`,fr:`Chargement...`,de:`Initialisiere...`,es:`Inicializando...`},errorDashboard:{en:`Oops, we could not load this dashboard!`,nl:`Oeps, we konden het dashboard niet laden.`,fr:`Le chargement a echoué.`,de:`Hoppla, wir konnten dieses Dashboard nicht laden!`,es:`¡Ups! No pudimos cargar este tablero.`},errorItem:{en:`Oops, we could not load this item!`,nl:`Oeps, we konden de grafiek niet laden.`,fr:`Le chargement a echoué.`,de:`Hoppla, wir konnten dieses Diagramm nicht laden!`,es:`¡Ups! No pudimos cargar este elemento.`}};var translations_default=TRANSLATIONS;const addTrailingSlash=serverUrl=>serverUrl?serverUrl.endsWith(`/`)?serverUrl:`${serverUrl}/`:``,removeTrailingSlash=serverUrl=>serverUrl?serverUrl.endsWith(`/`)?serverUrl.slice(0,-1):serverUrl:``,formatDashboardList=(dashboards,integrationId,user,dashboardComponent)=>{let combineRights=(securable,user$1)=>{let matchingUser=securable.users.find(u=>u.id===user$1.id),securableAccessRights=matchingUser&&matchingUser.userAccessRight?{flagRead:matchingUser.userAccessRight.flagRead,flagUse:matchingUser.userAccessRight.flagUse,flagModify:matchingUser.userAccessRight.flagModify,flagOwn:matchingUser.userAccessRight.flagOwn}:{flagRead:!1,flagUse:!1,flagModify:!1,flagOwn:!1},groupsAccess=securable.groups.filter(group=>user$1.userGroups.includes(group.id)||group.public===!0).map(group=>{if(group.groupAccessRight)return group.groupAccessRight});for(let groupAccess of groupsAccess)!securableAccessRights.flagRead&&groupAccess.flagRead&&(securableAccessRights.flagRead=groupAccess.flagRead),!securableAccessRights.flagUse&&groupAccess.flagUse&&(securableAccessRights.flagUse=groupAccess.flagUse),!securableAccessRights.flagModify&&groupAccess.flagModify&&(securableAccessRights.flagModify=groupAccess.flagModify),!securableAccessRights.flagOwn&&groupAccess.flagOwn&&(securableAccessRights.flagOwn=groupAccess.flagOwn);let integrationsAccess=securable.integrations?.length>0?securable.integrations.map(integration=>{if(integration.integrationAccessRight)return integration.integrationAccessRight}):[];for(let integrationAccess of integrationsAccess)!securableAccessRights.flagRead&&integrationAccess.flagRead&&(securableAccessRights.flagRead=integrationAccess.flagRead),!securableAccessRights.flagUse&&integrationAccess.flagUse&&(securableAccessRights.flagUse=integrationAccess.flagUse),!securableAccessRights.flagModify&&integrationAccess.flagModify&&(securableAccessRights.flagModify=integrationAccess.flagModify);return securableAccessRights},localize=(item,locale)=>{if(item==null)return``;if(typeof item!=`object`||Object.keys(item).length===0)return typeof item==`object`&&Object.keys(item).length===0?``:item;let localizedItem;return localizedItem=locale&&item[locale]?item[locale]:item[Object.keys(item)[0]],localizedItem??=``,localizedItem},treatedDashboards=[];for(let dashboard of dashboards){let treatedDashboard={accessibleBy:[],accessRights:combineRights(dashboard,user),id:dashboard.id,modifiedAt:dashboard.modified_at,name:localize(dashboard.name,dashboardComponent.language),slug:null,tags:dashboard.tags.map(t=>t.tag).sort((t1,t2)=>t1.localeCompare(t2))},currentIntegration=dashboard.integrations.find(i=>i.id===integrationId);currentIntegration?.integrationAccessRight?.slug&&(treatedDashboard.slug=currentIntegration.integrationAccessRight.slug);let users=dashboard.users.map(u=>({model:`User`,id:u.id,name:localize(u.name,user.locale_id)})),groups=dashboard.groups.map(g=>({model:`Group`,id:g.id,name:localize(g.name,user.locale_id)||{}})),integrations=dashboard.integrations.map(i=>({model:`Integration`,id:i.id,name:localize(i.name,user.locale_id)||{}}));treatedDashboard.accessibleBy=[...users,...groups,...integrations],treatedDashboards.push(treatedDashboard)}return treatedDashboards},VERSION=`0.0.0-unknown-luzmo`,sanitizeUrl=url=>{let invalidPrototcolRegex=/^(%20|\s)*(javascript|data)/im,ctrlCharactersRegex=/[^\u0020-\u007E]/gim,urlSchemeRegex=/^([^:]+):/gm,relativeFirstCharacters=new Set([`.`,`/`]),isRelativeUrlWithoutProtocol=relativeUrl=>relativeFirstCharacters.has(relativeUrl[0]);if(!url)return`about:blank`;let sanitizedUrl=url.replaceAll(ctrlCharactersRegex,``).trim();if(isRelativeUrlWithoutProtocol(sanitizedUrl))return sanitizedUrl;let urlSchemeParseResults=sanitizedUrl.match(urlSchemeRegex);if(!urlSchemeParseResults)return sanitizedUrl;let urlScheme=urlSchemeParseResults[0];return invalidPrototcolRegex.test(urlScheme)?`about:blank`:sanitizedUrl},cloneDeep=obj=>JSON.parse(JSON.stringify(obj));var isObject=o=>o&&typeof o==`object`;const defaultsDeep=(target,defaults)=>(Object.entries(defaults).forEach(([k,v])=>{k in target?target[k]===void 0?target[k]=v:target[k]=isObject(v)?defaultsDeep(target[k],v):target[k]:target[k]=v}),target),uuidv4=()=>`xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replaceAll(/[xy]/g,function(c){let r=Math.random()*16|0;return(c==`x`?r:r&3|8).toString(16)}),createIframeUrl=dashboardContent=>{let searchString=[],{appServer,language,editorLanguage,qeVersion,loaderBackground,loaderSpinnerColor,loaderSpinnerBackground,loaderFontColor,screenMode,key,token,timezoneId,itemEmbedding,itemDimensions,dashboardId,dashboardSlug,itemId,theme,mainColor,accentColor,editMode}=dashboardContent.params;language&&language!==`auto`&&searchString.push(`language=${language}`),editorLanguage&&editorLanguage!==`auto`&&searchString.push(`editorLanguage=${editorLanguage}`),qeVersion&&searchString.push(`qe_version=${qeVersion}`),loaderBackground&&searchString.push(`ldrbg=${loaderBackground}`),loaderFontColor&&searchString.push(`ldrftclr=${loaderFontColor}`),loaderSpinnerColor&&searchString.push(`ldrspclr=${loaderSpinnerColor}`),loaderSpinnerBackground&&searchString.push(`ldrspbg=${loaderSpinnerBackground}`),theme&&searchString.push(`theme=${theme}`),mainColor&&searchString.push(`mainColor=${mainColor}`),accentColor&&searchString.push(`accentColor=${accentColor}`),screenMode&&screenMode!==`auto`&&searchString.push(`screenMode=&{screenMode}`),timezoneId&&searchString.push(`timezoneId=`+timezoneId),itemEmbedding&&itemDimensions&&itemDimensions.width&&searchString.push(`width=`+itemDimensions.width),itemEmbedding&&itemDimensions&&itemDimensions.height&&searchString.push(`height=`+itemDimensions.height),editMode&&searchString.push(`editMode=`+editMode);let keyTokenUrlAnchor=key&&token?`#`+key+`:`+token:``;return searchString.push(`version=`+(dashboardContent.libVersion||`0.0.0-unknown-luzmo`)),sanitizeUrl(itemEmbedding?`${appServer}i/${dashboardId||dashboardSlug}/${itemId}?${encodeURIComponent(searchString.join(`&`))}${keyTokenUrlAnchor}`:`${appServer}i/${dashboardId||dashboardSlug}?${encodeURIComponent(searchString.join(`&`))}${keyTokenUrlAnchor}`)},getLoader=dashboardComponent=>{let errorMsg;(dashboardComponent.params.error||dashboardComponent.browserNotSupported.length>0)&&(dashboardComponent.params.error=!0,dashboardComponent.browserNotSupported&&(errorMsg=`Browser is not supported.`));let loadingMsg=translations_default.initializing[dashboardComponent.params.language]||translations_default.initializing.en;return dashboardComponent.browserNotSupported||dashboardComponent.params.error?{loadingMsg,errorMsg}:{loadingMsg,errorMsg:``}};function resolvePromise(dashboardComponent,requestId,data){dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].resolve(data),delete dashboardComponent.promises[requestId])}function rejectPromise(dashboardComponent,requestId,data){dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].reject(data),delete dashboardComponent.promises[requestId])}function containerStyles(dashboardComponent){let styles={};return dashboardComponent.params.loaderBackground&&!dashboardComponent.iframeLoaded&&(styles.background=dashboardComponent.params.loaderBackground),styles}function containerLoaderStyles(dashboardComponent){let height=dashboardComponent.params.itemDimensions?.height||DEFAULT_PARAMETERS.itemDimensions.height,chartHeightDefined=dashboardComponent.params.itemEmbedding&&height!==`auto`;return{display:dashboardComponent.iframeLoaded?`none`:``,height:`${chartHeightDefined?height:dashboardComponent.minHeight}px`}}function loaderStyles(dashboardComponent){let background=dashboardComponent.params.loaderBackground||DEFAULT_PARAMETERS.loaderBackground;if(dashboardComponent.params.itemEmbedding){dashboardComponent.loaderSize=24,dashboardComponent.borderWidth=4,dashboardComponent.minHeight=200;let width=dashboardComponent.params.itemDimensions?.width||DEFAULT_PARAMETERS.itemDimensions.width,height=dashboardComponent.params.itemDimensions?.height||DEFAULT_PARAMETERS.itemDimensions.height,chartWidthDefined=width!==`auto`,chartHeightDefined=height!==`auto`;return{background,width:chartWidthDefined?`${width}px`:`100%`,height:`${chartHeightDefined?height:`200`}px`,"min-height":chartHeightDefined?``:`200px`}}return{background}}function plStyles(dashboardComponent){let{loaderSpinnerColor:defaultSpinnerColor,loaderSpinnerBackground:defaultSpinnerBackground}=DEFAULT_PARAMETERS,spinnerColorBorder=generateBorderStyle(dashboardComponent.borderWidth,dashboardComponent.params.loaderSpinnerColor||defaultSpinnerColor),spinnerBackgroundBorder=generateBorderStyle(dashboardComponent.borderWidth,dashboardComponent.params.loaderSpinnerBackground||defaultSpinnerBackground),size=`${dashboardComponent.loaderSize}px`;return{"border-top":spinnerColorBorder,"border-right":spinnerColorBorder,"border-bottom":spinnerBackgroundBorder,"border-left":spinnerBackgroundBorder,width:size,height:size}}function lcStyles(dashboardComponent){let height=dashboardComponent.params.itemDimensions?.height||DEFAULT_PARAMETERS.itemDimensions.height,chartHeightDefined=dashboardComponent.params.itemEmbedding&&height!==`auto`;return{padding:`${dashboardComponent.params.itemId?(value=>`${(value-dashboardComponent.loaderSize-32)/2}px`)(chartHeightDefined?Number.parseInt(`${height}`,10):dashboardComponent.minHeight):`128px`} 16px`}}function calculateIframeStyles(dashboardComponent){let height=dashboardComponent.params.itemDimensions?.height||DEFAULT_PARAMETERS.itemDimensions.height,width=dashboardComponent.params.itemDimensions?.width||DEFAULT_PARAMETERS.itemDimensions.width;dashboardComponent.params.itemEmbedding&&height!==`auto`?dashboardComponent.iframeHeight=`${height}px`:dashboardComponent.params.itemEmbedding?dashboardComponent.iframeHeight=`200px`:[`editFull`,`editLimited`].includes(dashboardComponent.params.editMode)?dashboardComponent.iframeHeight=`100%`:dashboardComponent.iframeHeight=`400px`,dashboardComponent.iframeWidth=dashboardComponent.params.itemEmbedding&&width!==`auto`?`${width}px`:`100%`;let styles={height:dashboardComponent.iframeHeight,width:dashboardComponent.iframeWidth};return dashboardComponent.iframeLoaded?styles.opacity=1:dashboardComponent.error?(styles.opacity=1,styles.width=`100%`,styles.height=`400px`):styles.opacity=0,styles}function generateBorderStyle(borderWidth,color){return`${borderWidth}px solid ${color}`}const updateIframeUrl=(iframe,iframeUrl)=>{iframe?.contentWindow&&iframe.contentWindow.location.replace(iframeUrl)},exportDashboard=(dashboardComponent,iframe,format)=>{let requestId=uuidv4();return iframe?.contentWindow?(iframe.contentWindow.postMessage({action:`exportDashboard`,format:format||`png`,_version:dashboardComponent.libVersion,requestId},`*`),new Promise((resolve,reject)=>{dashboardComponent.promises[requestId]={resolve,reject},setTimeout(()=>{dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].reject(Error(`exportDashboard request timed out.`)),delete dashboardComponent.promises[requestId])},12e5)})):Promise.reject(Error(`Cannot retrieve contentWindow.`))},getAccessibleDashboards=async dashboardComponent=>{if(await dashboardComponent.updateComplete,(dashboardComponent.currentAuthKey??dashboardComponent.authKey)&&(dashboardComponent.currentAuthToken??dashboardComponent.authToken)){let fetchUser=new Promise((resolve,reject)=>{(()=>{try{window.fetch(`${addTrailingSlash(dashboardComponent.params.apiHost)}0.1.0/authorization`,{method:`POST`,mode:`cors`,cache:`no-cache`,headers:{"Content-Type":`application/json`},redirect:`follow`,body:JSON.stringify({action:`get`,version:`0.1.0`,key:dashboardComponent.currentAuthKey??dashboardComponent.authKey,token:dashboardComponent.currentAuthToken??dashboardComponent.authToken,find:{where:{id:dashboardComponent.authKey},attributes:[`id`,`integration_id`],include:[{model:`User`,attributes:[`id`,`name`,`locale_id`],include:[{model:`Group`}]}]}})}).then(response=>response.json()).then(data=>{!data||!data.rows||data.rows.length===0||!data.rows[0].user?reject(`Authorization failed, please check authKey and authToken. If the problem persists, please contact support@luzmo.com.`):(data.rows[0].user.userGroups=data.rows[0].user.groups.map(group=>group.id),delete data.rows[0].user.groups,resolve({integrationId:data.rows[0].integration_id,user:data.rows[0].user}))})}catch(error){reject(error)}})()});return new Promise((resolve,reject)=>void(()=>{try{fetchUser.then(authorizationData=>{window.fetch(`${addTrailingSlash(dashboardComponent.params.apiHost)}0.1.0/securable`,{method:`POST`,mode:`cors`,cache:`no-cache`,headers:{"Content-Type":`application/json`},redirect:`follow`,body:JSON.stringify({action:`get`,version:`0.1.0`,key:dashboardComponent.currentAuthKey??dashboardComponent.authKey,token:dashboardComponent.currentAuthToken??dashboardComponent.authToken,find:{where:{type:`dashboard`,is_variant:!1},attributes:[`id`,`name`,`modified_at`],order:[[`modified_at`,`desc`]],include:[{model:`Tag`,attributes:[`tag`]},{model:`User`,attributes:[`id`,`name`]},{model:`Group`,attributes:[`id`,`name`,`public`]},{model:`Integration`,attributes:[`id`,`name`]}]}})}).then(response=>response.json()).then(data=>{resolve(data.rows.length>0?formatDashboardList(data.rows,authorizationData.integrationId,authorizationData.user,dashboardComponent):[])})}).catch(error=>{reject(error)})}catch(error){reject(error)}})())}throw Error(`No authKey or authToken found in the luzmo-dashboard component.`)},getData=(dashboardComponent,iframe,itemId)=>{if(iframe?.contentWindow){let requestId=uuidv4();return iframe.contentWindow.postMessage({action:`getData`,id:itemId,_version:dashboardComponent.libVersion,requestId},`*`),new Promise((resolve,reject)=>{dashboardComponent.promises[requestId]={resolve,reject},setTimeout(()=>{dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].reject(Error(`getData request timed out.`)),delete dashboardComponent.promises[requestId])},2e3)})}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},getFilters=(dashboardComponent,iframe)=>{if(iframe?.contentWindow){let requestId=uuidv4();return iframe.contentWindow.postMessage({action:`getFilters`,_version:dashboardComponent.libVersion,requestId},`*`),new Promise((resolve,reject)=>{dashboardComponent.promises[requestId]={resolve,reject},setTimeout(()=>{dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].reject(Error(`getFilters request timed out.`)),delete dashboardComponent.promises[requestId])},2e3)})}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},refreshData=(dashboardComponent,iframe,itemId)=>iframe?(iframe.contentWindow.postMessage({action:`refreshData`,id:itemId??null,_version:dashboardComponent.libVersion},`*`),Promise.resolve()):Promise.reject(Error(`Cannot retrieve contentWindow.`)),reloadDashboard=(dashboardComponent,iframe)=>iframe?(iframe.contentWindow.postMessage({action:`reloadDashboard`,_version:dashboardComponent.libVersion},`*`),Promise.resolve()):Promise.reject(Error(`Cannot retrieve contentWindow.`)),sendExportEmail=(dashboardComponent,iframe,type,subject,message)=>iframe?(iframe.contentWindow.postMessage({action:`sendExportEmail`,type:type||`once`,subject,message,_version:dashboardComponent.libVersion},`*`),Promise.resolve()):Promise.reject(Error(`Cannot retrieve contentWindow.`)),setAuthorization=(dashboardComponent,iframe,key,token)=>iframe?(iframe.contentWindow.postMessage({action:`setAuthorization`,key,token,_version:dashboardComponent.libVersion},`*`),Promise.resolve()):Promise.reject(Error(`Cannot retrieve contentWindow.`)),setEditMode=(dashboardComponent,iframe,editMode)=>{if(iframe&&iframe.contentWindow){let requestId=uuidv4();return dashboardComponent.params.editMode===editMode?Promise.reject(Error(`editMode parameter is currently already set to `+editMode)):editMode!==`editFull`&&editMode!==`editLimited`&&editMode!==`view`?Promise.reject(Error(`The editMode parameter must be one of the following values: 'editFull', 'editLimited' or 'view'.`)):(iframe.contentWindow.postMessage({action:`setEditMode`,editMode,_version:dashboardComponent.libVersion,requestId},`*`),new Promise((resolve,reject)=>{dashboardComponent.promises[requestId]={resolve,reject}}))}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},setPreview=(dashboardComponent,iframe,preview)=>{if(iframe){let requestId=uuidv4();return iframe.contentWindow.postMessage({action:`setPreview`,preview,requestId,_version:dashboardComponent.libVersion},`*`),new Promise((resolve,reject)=>{dashboardComponent.promises[requestId]={resolve,reject},setTimeout(()=>{dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].reject(Error(`setPreview request timed out.`)),delete dashboardComponent.promises[requestId])},2e3)})}return Promise.reject(Error(`Cannot retrieve contentWindow.`))},setSelectedData=(dashboardComponent,iframe,itemId,filters)=>{if(iframe){let requestId=uuidv4();return iframe.contentWindow.postMessage({action:`setSelectedData`,itemId,filters,_version:dashboardComponent.libVersion,requestId},`*`),new Promise((resolve,reject)=>{dashboardComponent.promises[requestId]={resolve,reject},setTimeout(()=>{dashboardComponent.promises[requestId]&&(dashboardComponent.promises[requestId].reject(Error(`setSelectedData request timed out.`)),delete dashboardComponent.promises[requestId])},2e3)})}return Promise.reject()},_setCalculatedDimensions=dashboardComponent=>{if(!dashboardComponent.dimensions){dashboardComponent.params.error=!0,_handleError(`Got no valid dimensions.`,dashboardComponent.params);return}let dashboardDimensionKeys=Object.keys(dashboardComponent.dimensions),availableScreenModeExtents=[],currentMode,currentWidth=0,currentHeight=0;if(!dashboardComponent.params.switchScreenModeOnResize&&dashboardComponent.currentScreenMode&&(dashboardComponent.params.screenMode=dashboardComponent.currentScreenMode),dashboardComponent.dimensions&&dashboardDimensionKeys?.[0]===`fixed`)currentMode=`fixed`,currentWidth=dashboardComponent.dimensions.fixed[0],currentHeight=dashboardComponent.dimensions.fixed[1];else{let screenModes=[`mobile`,`tablet`,`desktop`,`largeScreen`];if(dashboardComponent.params.itemEmbedding){let[firstMatch]=dashboardDimensionKeys,match=cloneDeep(firstMatch);for(let screenMode of screenModes){let found=dashboardDimensionKeys.find(key=>key===screenMode);found?match=cloneDeep(found):dashboardComponent.dimensions[screenMode]=dashboardComponent.dimensions[match]}}for(let key of dashboardDimensionKeys)if(screenModes.includes(key)){let screenMode=EXTENTS.find(extent=>extent.mode===key);availableScreenModeExtents.push({...screenMode,height:dashboardComponent.dimensions[key][1]||50})}if(availableScreenModeExtents.map(screenModeExtent=>screenModeExtent.mode).includes(dashboardComponent.params.screenMode)||(dashboardComponent.params.screenMode=`auto`),dashboardComponent.params.screenMode===`auto`){availableScreenModeExtents.sort((a,b)=>screenModes.indexOf(a.mode)-screenModes.indexOf(b.mode));for(let screenModeExtent of availableScreenModeExtents){let[screenModeExtentMinWidth,screenModeExtentMaxWidth]=screenModeExtent.width;dashboardComponent.params.itemEmbedding&&dashboardComponent.params.itemDimensions&&dashboardComponent.params.itemDimensions.width!==`auto`&&dashboardComponent.params.itemDimensions.height===`auto`?screenModeExtentMinWidth<dashboardComponent.params.itemDimensions.width&&(currentMode=screenModeExtent.mode,currentWidth=Number.parseInt(dashboardComponent.params.itemDimensions.width,10),currentHeight=dashboardComponent.dimensions[currentMode][1]):screenModeExtentMinWidth<dashboardComponent.containerWidth&&(currentMode=screenModeExtent.mode,dashboardComponent.params.itemEmbedding?(currentWidth=dashboardComponent.params.itemDimensions?.width&&dashboardComponent.params.itemDimensions?.width!==`auto`?Number.parseInt(dashboardComponent.params.itemDimensions.width,10):Math.min(dashboardComponent.containerWidth,screenModeExtentMaxWidth),currentHeight=dashboardComponent.params.itemDimensions?.height&&dashboardComponent.params.itemDimensions?.height!==`auto`?Number.parseInt(dashboardComponent.params.itemDimensions.height,10):dashboardComponent.dimensions[currentMode][1],dashboardComponent.params.itemDimensions&&dashboardComponent.params.itemDimensions.width!==`auto`&&dashboardComponent.params.itemDimensions.height===`auto`&&(currentWidth=Number.parseInt(dashboardComponent.params.itemDimensions.width,10),currentHeight=dashboardComponent.dimensions[currentMode][1])):(currentWidth=Math.max(Math.min(screenModeExtentMaxWidth,dashboardComponent.containerWidth),screenModeExtentMinWidth),currentHeight=screenModeExtent.height))}}else{let{height:chosenModeHeight,width:[chosenModeMinWidth,chosenModeMaxWidth]}=availableScreenModeExtents.find(d=>d.mode===dashboardComponent.params.screenMode);currentMode=dashboardComponent.params.screenMode,currentWidth=Math.max(Math.min(chosenModeMaxWidth,dashboardComponent.containerWidth),chosenModeMinWidth),currentHeight=chosenModeHeight,dashboardComponent.params.itemEmbedding&&(dashboardComponent.params.itemDimensions?.width&&dashboardComponent.params.itemDimensions?.width!==`auto`&&(currentWidth=Number.parseInt(dashboardComponent.params.itemDimensions.width,10)),dashboardComponent.params.itemDimensions?.height&&dashboardComponent.params.itemDimensions?.height!==`auto`&&(currentHeight=Number.parseInt(dashboardComponent.params.itemDimensions.height,10)))}if(!currentMode&&availableScreenModeExtents.length>0){let[lowestModeExtent]=availableScreenModeExtents;currentMode=lowestModeExtent.mode,currentWidth=lowestModeExtent.width[0],currentHeight=lowestModeExtent.height}}dashboardComponent.currentScreenMode=currentMode;let style={height:currentHeight===0?`100%`:`${String(currentHeight)}px`,width:currentWidth===0?`100%`:`${String(currentWidth)}px`,opacity:1};[`editFull`,`editLimited`].includes(dashboardComponent.params.editMode)?(style.height=`100%`,style.width=`100%`):dashboardComponent.params.itemEmbedding&&dashboardComponent.params.itemDimensions?(style.height=dashboardComponent.params.itemDimensions.height===`auto`?style.height:`${String(dashboardComponent.params.itemDimensions.height).replace(`px`,``)}px`,style.width=dashboardComponent.params.itemDimensions.width===`auto`?style.width:`${String(dashboardComponent.params.itemDimensions.width).replace(`px`,``)}px`):(style.height=currentHeight===0?`100%`:`${String(currentHeight)}px`,style.width=currentWidth===0?`100%`:`${String(currentWidth)}px`),dashboardComponent.currentScreenMode=currentMode,dashboardComponent.iframeStyle=style},_extendAndValidate=dashboardContent=>{let defaultKeys=Object.keys(DEFAULT_PARAMETERS),errorMessages=[],requiredStringParams=[`appServer`,`language`,`apiHost`],requiredStringOrEmptyParams=[`key`,`token`,`screenMode`,`timezoneId`,`itemId`,`container`,`loaderBackground`,`loaderFontColor`,`loaderSpinnerColor`,`loaderSpinnerBackground`],objectParams=[`itemDimensions`],screenModes=[`mobile`,`tablet`,`desktop`,`largeScreen`,`fixed`,`auto`];for(let key of defaultKeys)dashboardContent.params[key]===null&&delete dashboardContent.params[key];dashboardContent.params=defaultsDeep(dashboardContent.params,DEFAULT_PARAMETERS),(!dashboardContent.params.dashboardId||typeof dashboardContent.params.dashboardId!=`string`)&&(!dashboardContent.params.dashboardSlug||typeof dashboardContent.params.dashboardSlug!=`string`)&&(delete dashboardContent.params.dashboardId,delete dashboardContent.params.dashboardSlug);for(let key of requiredStringParams)typeof dashboardContent.params[key]!=`string`&&(delete dashboardContent.params[key],errorMessages.push(`${key} needs to be of type string.`));for(let key of requiredStringOrEmptyParams)typeof dashboardContent.params[key]!=`string`&&dashboardContent.params[key]!==null&&dashboardContent.params[key]!==void 0&&(delete dashboardContent.params[key],errorMessages.push(`${key} needs to be of type string or empty.`));if(dashboardContent.params.screenMode&&!screenModes.includes(dashboardContent.params.screenMode)){let validTypesString=screenModes.map(mode=>`"${mode}"`).join(`, `);errorMessages.push(`"screenMode" needs should be one of these types: ${validTypesString}`),dashboardContent.params.screenMode=`auto`}dashboardContent.params.itemId&&(dashboardContent.params.itemEmbedding=!0);for(let key of objectParams)typeof dashboardContent.params[key]!=`object`&&dashboardContent.params[key]!==null&&(delete dashboardContent.params[key],errorMessages.push(`${key} needs to be of type object or empty.`));if(typeof dashboardContent.params.switchScreenModeOnResize!=`boolean`&&(errorMessages.push(`switchScreenModeOnResize needs to be of type boolean.`),dashboardContent.params.switchScreenModeOnResize=!0),dashboardContent.params.itemDimensions)for(let key of[`width`,`height`])![`string`,`number`].includes(typeof dashboardContent.params.itemDimensions[key])&&dashboardContent.params.itemDimensions[key]!==null&&errorMessages.push(`itemDimensions ${key} needs to be of type string, number or empty.`);dashboardContent.params=defaultsDeep(dashboardContent.params,DEFAULT_PARAMETERS),dashboardContent.params.screenMode&&dashboardContent.params.screenMode!==`auto`&&(dashboardContent.params.switchScreenModeOnResize=!1),dashboardContent.params.itemDimensions.width!==`auto`&&(dashboardContent.params.itemDimensions.width=Number.parseInt(`${dashboardContent.params.itemDimensions.width}`.replace(`px`,``),10)||`auto`),dashboardContent.params.itemDimensions.height!==`auto`&&(dashboardContent.params.itemDimensions.height=Number.parseInt(`${dashboardContent.params.itemDimensions.height}`.replace(`px`,``),10)||`auto`),dashboardContent.params.itemEmbedding=!!dashboardContent.params.itemId,(dashboardContent.params.error||errorMessages.length>0)&&_handleError(errorMessages.join(`
|
|
21
21
|
`),dashboardContent.params)},libraryTypeToWebComponentTypeMapping={type:`type`,slots:`slots`,options:`options`,appServer:`app-server`,apiHost:`api-host`,authKey:`auth-key`,authToken:`auth-token`,contextId:`context-id`,canFilter:`can-filter`,filters:`filters`,dashboardId:`dashboard-id`,itemId:`item-id`,dashboardContentsVersion:`dashboard-contents-version`,libVersion:`lib-version`},luzmoEmbedContainerClass=`luzmo-embed-container`;var require_index_cjs$3=require_chunk.t((exports=>{var FederationModuleManifest=`federation-manifest.json`,MANIFEST_EXT=`.json`,BROWSER_LOG_KEY=`FEDERATION_DEBUG`,NameTransformSymbol={AT:`@`,HYPHEN:`-`,SLASH:`/`},NameTransformMap={[NameTransformSymbol.AT]:`scope_`,[NameTransformSymbol.HYPHEN]:`_`,[NameTransformSymbol.SLASH]:`__`},EncodedNameTransformMap={[NameTransformMap[NameTransformSymbol.AT]]:NameTransformSymbol.AT,[NameTransformMap[NameTransformSymbol.HYPHEN]]:NameTransformSymbol.HYPHEN,[NameTransformMap[NameTransformSymbol.SLASH]]:NameTransformSymbol.SLASH},SEPARATOR=`:`,ManifestFileName=`mf-manifest.json`,StatsFileName=`mf-stats.json`,MFModuleType={NPM:`npm`,APP:`app`},MODULE_DEVTOOL_IDENTIFIER=`__MF_DEVTOOLS_MODULE_INFO__`,ENCODE_NAME_PREFIX=`ENCODE_NAME_PREFIX`,TEMP_DIR=`.federation`,MFPrefetchCommon={identifier:`MFDataPrefetch`,globalKey:`__PREFETCH__`,library:`mf-data-prefetch`,exportsKey:`__PREFETCH_EXPORTS__`,fileName:`bootstrap.js`},ContainerPlugin=Object.freeze({__proto__:null}),ContainerReferencePlugin=Object.freeze({__proto__:null}),ModuleFederationPlugin=Object.freeze({__proto__:null}),SharePlugin=Object.freeze({__proto__:null});function isBrowserEnv(){return typeof window<`u`&&window.document!==void 0}function isReactNativeEnv(){return typeof navigator<`u`&&navigator?.product===`ReactNative`}function isBrowserDebug(){try{if(isBrowserEnv()&&window.localStorage)return!!localStorage.getItem(BROWSER_LOG_KEY)}catch{return!1}return!1}function isDebugMode(){return typeof process<`u`&&process.env&&process.env.FEDERATION_DEBUG?!!process.env.FEDERATION_DEBUG:typeof FEDERATION_DEBUG<`u`&&FEDERATION_DEBUG?!0:isBrowserDebug()}var getProcessEnv=function(){return typeof process<`u`&&process.env?process.env:{}},LOG_CATEGORY=`[ Federation Runtime ]`,parseEntry=(str,devVerOrUrl,separator=SEPARATOR)=>{let strSplit=str.split(separator),devVersionOrUrl=getProcessEnv().NODE_ENV===`development`&&devVerOrUrl,defaultVersion=`*`,isEntry=s=>s.startsWith(`http`)||s.includes(MANIFEST_EXT);if(strSplit.length>=2){let[name,...versionOrEntryArr]=strSplit;str.startsWith(separator)&&(name=strSplit.slice(0,2).join(separator),versionOrEntryArr=[devVersionOrUrl||strSplit.slice(2).join(separator)]);let versionOrEntry=devVersionOrUrl||versionOrEntryArr.join(separator);return isEntry(versionOrEntry)?{name,entry:versionOrEntry}:{name,version:versionOrEntry||`*`}}else if(strSplit.length===1){let[name]=strSplit;return devVersionOrUrl&&isEntry(devVersionOrUrl)?{name,entry:devVersionOrUrl}:{name,version:devVersionOrUrl||`*`}}else throw`Invalid entry value: ${str}`},composeKeyWithSeparator=function(...args){return args.length?args.reduce((sum,cur)=>cur?sum?`${sum}${SEPARATOR}${cur}`:cur:sum,``):``},encodeName=function(name,prefix=``,withExt=!1){try{let ext=withExt?`.js`:``;return`${prefix}${name.replace(RegExp(`${NameTransformSymbol.AT}`,`g`),NameTransformMap[NameTransformSymbol.AT]).replace(RegExp(`${NameTransformSymbol.HYPHEN}`,`g`),NameTransformMap[NameTransformSymbol.HYPHEN]).replace(RegExp(`${NameTransformSymbol.SLASH}`,`g`),NameTransformMap[NameTransformSymbol.SLASH])}${ext}`}catch(err){throw err}},decodeName=function(name,prefix,withExt){try{let decodedName=name;if(prefix){if(!decodedName.startsWith(prefix))return decodedName;decodedName=decodedName.replace(new RegExp(prefix,`g`),``)}return decodedName=decodedName.replace(RegExp(`${NameTransformMap[NameTransformSymbol.AT]}`,`g`),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.AT]]).replace(RegExp(`${NameTransformMap[NameTransformSymbol.SLASH]}`,`g`),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.SLASH]]).replace(RegExp(`${NameTransformMap[NameTransformSymbol.HYPHEN]}`,`g`),EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.HYPHEN]]),withExt&&(decodedName=decodedName.replace(`.js`,``)),decodedName}catch(err){throw err}},generateExposeFilename=(exposeName,withExt)=>{if(!exposeName)return``;let expose=exposeName;return expose===`.`&&(expose=`default_export`),expose.startsWith(`./`)&&(expose=expose.replace(`./`,``)),encodeName(expose,`__federation_expose_`,withExt)},generateShareFilename=(pkgName,withExt)=>pkgName?encodeName(pkgName,`__federation_shared_`,withExt):``,getResourceUrl=(module$1,sourceUrl)=>{if(`getPublicPath`in module$1){let publicPath;return publicPath=module$1.getPublicPath.startsWith(`function`)?Function(`return `+module$1.getPublicPath)()():Function(module$1.getPublicPath)(),`${publicPath}${sourceUrl}`}else if(`publicPath`in module$1)return!isBrowserEnv()&&!isReactNativeEnv()&&`ssrPublicPath`in module$1?`${module$1.ssrPublicPath}${sourceUrl}`:`${module$1.publicPath}${sourceUrl}`;else return console.warn(`Cannot get resource URL. If in debug mode, please ignore.`,module$1,sourceUrl),``},assert=(condition,msg$1)=>{condition||error(msg$1)},error=msg$1=>{throw Error(`${LOG_CATEGORY}: ${msg$1}`)},warn=msg$1=>{console.warn(`${LOG_CATEGORY}: ${msg$1}`)};function safeToString(info){try{return JSON.stringify(info,null,2)}catch{return``}}var VERSION_PATTERN_REGEXP=/^([\d^=v<>~]|[*xX]$)/;function isRequiredVersion(str){return VERSION_PATTERN_REGEXP.test(str)}var simpleJoinRemoteEntry=(rPath,rName)=>{if(!rPath)return rName;let transformedPath=(str=>{if(str===`.`)return``;if(str.startsWith(`./`))return str.replace(`./`,``);if(str.startsWith(`/`)){let strWithoutSlash=str.slice(1);return strWithoutSlash.endsWith(`/`)?strWithoutSlash.slice(0,-1):strWithoutSlash}return str})(rPath);return transformedPath?transformedPath.endsWith(`/`)?`${transformedPath}${rName}`:`${transformedPath}/${rName}`:rName};function inferAutoPublicPath(url){return url.replace(/#.*$/,``).replace(/\?.*$/,``).replace(/\/[^\/]+$/,`/`)}function generateSnapshotFromManifest(manifest,options={}){let{remotes={},overrides={},version:version$1}=options,remoteSnapshot,getPublicPath=()=>`publicPath`in manifest.metaData?manifest.metaData.publicPath===`auto`&&version$1?inferAutoPublicPath(version$1):manifest.metaData.publicPath:manifest.metaData.getPublicPath,overridesKeys=Object.keys(overrides),remotesInfo={};Object.keys(remotes).length||(remotesInfo=manifest.remotes?.reduce((res,next)=>{let matchedVersion,name=next.federationContainerName;return matchedVersion=overridesKeys.includes(name)?overrides[name]:`version`in next?next.version:next.entry,res[name]={matchedVersion},res},{})||{}),Object.keys(remotes).forEach(key=>remotesInfo[key]={matchedVersion:overridesKeys.includes(key)?overrides[key]:remotes[key]});let{remoteEntry:{path:remoteEntryPath,name:remoteEntryName,type:remoteEntryType},types:remoteTypes={path:``,name:``,zip:``,api:``},buildInfo:{buildVersion},globalName,ssrRemoteEntry}=manifest.metaData,{exposes}=manifest,basicRemoteSnapshot={version:version$1||``,buildVersion,globalName,remoteEntry:simpleJoinRemoteEntry(remoteEntryPath,remoteEntryName),remoteEntryType,remoteTypes:simpleJoinRemoteEntry(remoteTypes.path,remoteTypes.name),remoteTypesZip:remoteTypes.zip||``,remoteTypesAPI:remoteTypes.api||``,remotesInfo,shared:manifest?.shared.map(item=>({assets:item.assets,sharedName:item.name,version:item.version})),modules:exposes?.map(expose=>({moduleName:expose.name,modulePath:expose.path,assets:expose.assets}))};if(manifest.metaData?.prefetchInterface){let prefetchInterface=manifest.metaData.prefetchInterface;basicRemoteSnapshot={...basicRemoteSnapshot,prefetchInterface}}if(manifest.metaData?.prefetchEntry){let{path,name,type}=manifest.metaData.prefetchEntry;basicRemoteSnapshot={...basicRemoteSnapshot,prefetchEntry:simpleJoinRemoteEntry(path,name),prefetchEntryType:type}}if(remoteSnapshot=`publicPath`in manifest.metaData?{...basicRemoteSnapshot,publicPath:getPublicPath(),ssrPublicPath:manifest.metaData.ssrPublicPath}:{...basicRemoteSnapshot,getPublicPath:getPublicPath()},ssrRemoteEntry){let fullSSRRemoteEntry=simpleJoinRemoteEntry(ssrRemoteEntry.path,ssrRemoteEntry.name);remoteSnapshot.ssrRemoteEntry=fullSSRRemoteEntry,remoteSnapshot.ssrRemoteEntryType=ssrRemoteEntry.type||`commonjs-module`}return remoteSnapshot}function isManifestProvider(moduleInfo){return!!(`remoteEntry`in moduleInfo&&moduleInfo.remoteEntry.includes(MANIFEST_EXT))}function getManifestFileName(manifestOptions){if(!manifestOptions)return{statsFileName:StatsFileName,manifestFileName:ManifestFileName};let filePath=typeof manifestOptions==`boolean`?``:manifestOptions.filePath||``,fileName=typeof manifestOptions==`boolean`?``:manifestOptions.fileName||``,JSON_EXT=`.json`,addExt=name=>name.endsWith(JSON_EXT)?name:`${name}${JSON_EXT}`,insertSuffix=(name,suffix)=>name.replace(JSON_EXT,`${suffix}${JSON_EXT}`),manifestFileName=fileName?addExt(fileName):ManifestFileName;return{statsFileName:simpleJoinRemoteEntry(filePath,fileName?insertSuffix(manifestFileName,`-stats`):StatsFileName),manifestFileName:simpleJoinRemoteEntry(filePath,manifestFileName)}}var PREFIX=`[ Module Federation ]`,DEFAULT_DELEGATE=console,LOGGER_STACK_SKIP_TOKENS=[`logger.ts`,`logger.js`,`captureStackTrace`,`Logger.emit`,`Logger.log`,`Logger.info`,`Logger.warn`,`Logger.error`,`Logger.debug`];function captureStackTrace(){try{let stack=Error().stack;if(!stack)return;let[,...rawLines]=stack.split(`
|
|
22
22
|
`),filtered=rawLines.filter(line=>!LOGGER_STACK_SKIP_TOKENS.some(token=>line.includes(token)));return filtered.length?`Stack trace:\n${filtered.slice(0,5).join(`
|
|
23
23
|
`)}`:void 0}catch{return}}var Logger=class{constructor(prefix,delegate=DEFAULT_DELEGATE){this.prefix=prefix,this.delegate=delegate??DEFAULT_DELEGATE}setPrefix(prefix){this.prefix=prefix}setDelegate(delegate){this.delegate=delegate??DEFAULT_DELEGATE}emit(method,args){let delegate=this.delegate,stackTrace=isDebugMode()?captureStackTrace():void 0,enrichedArgs=stackTrace?[...args,stackTrace]:args,order=(()=>{switch(method){case`log`:return[`log`,`info`];case`info`:return[`info`,`log`];case`warn`:return[`warn`,`info`,`log`];case`error`:return[`error`,`warn`,`log`];case`debug`:default:return[`debug`,`log`]}})();for(let candidate of order){let handler=delegate[candidate];if(typeof handler==`function`){handler.call(delegate,this.prefix,...enrichedArgs);return}}for(let candidate of order){let handler=DEFAULT_DELEGATE[candidate];if(typeof handler==`function`){handler.call(DEFAULT_DELEGATE,this.prefix,...enrichedArgs);return}}}log(...args){this.emit(`log`,args)}warn(...args){this.emit(`warn`,args)}error(...args){this.emit(`error`,args)}success(...args){this.emit(`info`,args)}info(...args){this.emit(`info`,args)}ready(...args){this.emit(`info`,args)}debug(...args){isDebugMode()&&this.emit(`debug`,args)}};function createLogger(prefix){return new Logger(prefix)}function createInfrastructureLogger(prefix){let infrastructureLogger=new Logger(prefix);return Object.defineProperty(infrastructureLogger,`__mf_infrastructure_logger__`,{value:!0,enumerable:!1,configurable:!1}),infrastructureLogger}function bindLoggerToCompiler(loggerInstance,compiler,name){if(loggerInstance.__mf_infrastructure_logger__&&compiler?.getInfrastructureLogger)try{let infrastructureLogger=compiler.getInfrastructureLogger(name);infrastructureLogger&&typeof infrastructureLogger==`object`&&(typeof infrastructureLogger.log==`function`||typeof infrastructureLogger.info==`function`||typeof infrastructureLogger.warn==`function`||typeof infrastructureLogger.error==`function`)&&loggerInstance.setDelegate(infrastructureLogger)}catch{loggerInstance.setDelegate(void 0)}}var logger=createLogger(PREFIX),infrastructureLogger=createInfrastructureLogger(PREFIX);async function safeWrapper(callback,disableWarn){try{return await callback()}catch(e){!disableWarn&&warn(e);return}}function isStaticResourcesEqual(url1,url2){let REG_EXP=/^(https?:)?\/\//i;return url1.replace(REG_EXP,``).replace(/\/$/,``)===url2.replace(REG_EXP,``).replace(/\/$/,``)}function createScript(info){let script=null,needAttach=!0,timeout=2e4,timeoutId,scripts=document.getElementsByTagName(`script`);for(let i=0;i<scripts.length;i++){let s=scripts[i],scriptSrc=s.getAttribute(`src`);if(scriptSrc&&isStaticResourcesEqual(scriptSrc,info.url)){script=s,needAttach=!1;break}}if(!script){let attrs=info.attrs;script=document.createElement(`script`),script.type=attrs?.type===`module`?`module`:`text/javascript`;let createScriptRes;info.createScriptHook&&(createScriptRes=info.createScriptHook(info.url,info.attrs),createScriptRes instanceof HTMLScriptElement?script=createScriptRes:typeof createScriptRes==`object`&&(`script`in createScriptRes&&createScriptRes.script&&(script=createScriptRes.script),`timeout`in createScriptRes&&createScriptRes.timeout&&(timeout=createScriptRes.timeout))),script.src||=info.url,attrs&&!createScriptRes&&Object.keys(attrs).forEach(name=>{script&&(name===`async`||name===`defer`?script[name]=attrs[name]:script.getAttribute(name)||script.setAttribute(name,attrs[name]))})}let onScriptComplete=async(prev,event)=>{clearTimeout(timeoutId);let onScriptCompleteCallback=()=>{event?.type===`error`?info?.onErrorCallback&&info?.onErrorCallback(event):info?.cb&&info?.cb()};if(script&&(script.onerror=null,script.onload=null,safeWrapper(()=>{let{needDeleteScript=!0}=info;needDeleteScript&&script?.parentNode&&script.parentNode.removeChild(script)}),prev&&typeof prev==`function`)){let result=prev(event);if(result instanceof Promise){let res=await result;return onScriptCompleteCallback(),res}return onScriptCompleteCallback(),result}onScriptCompleteCallback()};return script.onerror=onScriptComplete.bind(null,script.onerror),script.onload=onScriptComplete.bind(null,script.onload),timeoutId=setTimeout(()=>{onScriptComplete(null,Error(`Remote script "${info.url}" time-outed.`))},timeout),{script,needAttach}}function createLink(info){let link=null,needAttach=!0,links=document.getElementsByTagName(`link`);for(let i=0;i<links.length;i++){let l=links[i],linkHref=l.getAttribute(`href`),linkRel=l.getAttribute(`rel`);if(linkHref&&isStaticResourcesEqual(linkHref,info.url)&&linkRel===info.attrs.rel){link=l,needAttach=!1;break}}if(!link){link=document.createElement(`link`),link.setAttribute(`href`,info.url);let createLinkRes,attrs=info.attrs;info.createLinkHook&&(createLinkRes=info.createLinkHook(info.url,attrs),createLinkRes instanceof HTMLLinkElement&&(link=createLinkRes)),attrs&&!createLinkRes&&Object.keys(attrs).forEach(name=>{link&&!link.getAttribute(name)&&link.setAttribute(name,attrs[name])})}let onLinkComplete=(prev,event)=>{let onLinkCompleteCallback=()=>{event?.type===`error`?info?.onErrorCallback&&info?.onErrorCallback(event):info?.cb&&info?.cb()};if(link&&(link.onerror=null,link.onload=null,safeWrapper(()=>{let{needDeleteLink=!0}=info;needDeleteLink&&link?.parentNode&&link.parentNode.removeChild(link)}),prev)){let res=prev(event);return onLinkCompleteCallback(),res}onLinkCompleteCallback()};return link.onerror=onLinkComplete.bind(null,link.onerror),link.onload=onLinkComplete.bind(null,link.onload),{link,needAttach}}function loadScript(url,info){let{attrs={},createScriptHook}=info;return new Promise((resolve,reject)=>{let{script,needAttach}=createScript({url,cb:resolve,onErrorCallback:reject,attrs:{fetchpriority:`high`,...attrs},createScriptHook,needDeleteScript:!0});needAttach&&document.head.appendChild(script)})}var sdkImportCache=new Map;function importNodeModule(name){if(!name)throw Error(`import specifier is required`);if(sdkImportCache.has(name))return sdkImportCache.get(name);let promise=Function(`name`,`return import(name)`)(name).then(res=>res).catch(error=>{throw console.error(`Error importing module ${name}:`,error),sdkImportCache.delete(name),error});return sdkImportCache.set(name,promise),promise}var loadNodeFetch=async()=>{let fetchModule=await importNodeModule(`node-fetch`);return fetchModule.default||fetchModule},lazyLoaderHookFetch=async(input,init,loaderHook)=>{let res=await((url,init$1)=>loaderHook.lifecycle.fetch.emit(url,init$1))(input,init||{});return!res||!(res instanceof Response)?(typeof fetch>`u`?await loadNodeFetch():fetch)(input,init||{}):res},createScriptNode=typeof ENV_TARGET>`u`||ENV_TARGET!==`web`?(url,cb,attrs,loaderHook)=>{if(loaderHook?.createScriptHook){let hookResult=loaderHook.createScriptHook(url);hookResult&&typeof hookResult==`object`&&`url`in hookResult&&(url=hookResult.url)}let urlObj;try{urlObj=new URL(url)}catch(e){console.error(`Error constructing URL:`,e),cb(Error(`Invalid URL: ${e}`));return}const getFetch=async()=>loaderHook?.fetch?(input,init)=>lazyLoaderHookFetch(input,init,loaderHook):typeof fetch>`u`?loadNodeFetch():fetch,handleScriptFetch=async(f,urlObj$1)=>{try{const res=await f(urlObj$1.href),data=await res.text(),[path,vm]=await Promise.all([importNodeModule(`path`),importNodeModule(`vm`)]),scriptContext={exports:{},module:{exports:{}}},urlDirname=urlObj$1.pathname.split(`/`).slice(0,-1).join(`/`),filename=path.basename(urlObj$1.pathname),script=new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}\n})`,{filename,importModuleDynamically:vm.constants?.USE_MAIN_CONTEXT_DEFAULT_LOADER??importNodeModule});script.runInThisContext()(scriptContext.exports,scriptContext.module,eval(`require`),urlDirname,filename);const exportedInterface=scriptContext.module.exports||scriptContext.exports;if(attrs&&exportedInterface&&attrs.globalName){cb(void 0,exportedInterface[attrs.globalName]||exportedInterface);return}cb(void 0,exportedInterface)}catch(e){cb(e instanceof Error?e:Error(`Script execution error: ${e}`))}};getFetch().then(async f=>{if(attrs?.type===`esm`||attrs?.type===`module`)return loadModule(urlObj.href,{fetch:f,vm:await importNodeModule(`vm`)}).then(async module$1=>{await module$1.evaluate(),cb(void 0,module$1.namespace)}).catch(e=>{cb(e instanceof Error?e:Error(`Script execution error: ${e}`))});handleScriptFetch(f,urlObj)}).catch(err=>{cb(err)})}:(url,cb,attrs,loaderHook)=>{cb(Error(`createScriptNode is disabled in non-Node.js environment`))},loadScriptNode=typeof ENV_TARGET>`u`||ENV_TARGET!==`web`?(url,info)=>new Promise((resolve,reject)=>{createScriptNode(url,(error,scriptContext)=>{if(error)reject(error);else{let remoteEntryKey=info?.attrs?.globalName||`__FEDERATION_${info?.attrs?.name}:custom__`;resolve(globalThis[remoteEntryKey]=scriptContext)}},info.attrs,info.loaderHook)}):(url,info)=>{throw Error(`loadScriptNode is disabled in non-Node.js environment`)},esmModuleCache=new Map;async function loadModule(url,options){if(esmModuleCache.has(url))return esmModuleCache.get(url);let{fetch:fetch$1,vm}=options,code=await(await fetch$1(url)).text(),module$1=new vm.SourceTextModule(code,{importModuleDynamically:async(specifier,script)=>{let resolvedUrl=new URL(specifier,url).href;return loadModule(resolvedUrl,options)}});return esmModuleCache.set(url,module$1),await module$1.link(async specifier=>{let resolvedUrl=new URL(specifier,url).href;return await loadModule(resolvedUrl,options)}),module$1}function normalizeOptions(enableDefault,defaultOptions,key){return function(options){if(options===!1)return!1;if(options===void 0)return enableDefault?defaultOptions:!1;if(options===!0)return defaultOptions;if(options&&typeof options==`object`)return{...defaultOptions,...options};throw Error(`Unexpected type for \`${key}\`, expect boolean/undefined/object, got: ${typeof options}`)}}var createModuleFederationConfig=options=>options;exports.BROWSER_LOG_KEY=BROWSER_LOG_KEY,exports.ENCODE_NAME_PREFIX=ENCODE_NAME_PREFIX,exports.EncodedNameTransformMap=EncodedNameTransformMap,exports.FederationModuleManifest=FederationModuleManifest,exports.MANIFEST_EXT=MANIFEST_EXT,exports.MFModuleType=MFModuleType,exports.MFPrefetchCommon=MFPrefetchCommon,exports.MODULE_DEVTOOL_IDENTIFIER=MODULE_DEVTOOL_IDENTIFIER,exports.ManifestFileName=ManifestFileName,exports.NameTransformMap=NameTransformMap,exports.NameTransformSymbol=NameTransformSymbol,exports.SEPARATOR=SEPARATOR,exports.StatsFileName=StatsFileName,exports.TEMP_DIR=TEMP_DIR,exports.assert=assert,exports.bindLoggerToCompiler=bindLoggerToCompiler,exports.composeKeyWithSeparator=composeKeyWithSeparator,exports.containerPlugin=ContainerPlugin,exports.containerReferencePlugin=ContainerReferencePlugin,exports.createInfrastructureLogger=createInfrastructureLogger,exports.createLink=createLink,exports.createLogger=createLogger,exports.createModuleFederationConfig=createModuleFederationConfig,exports.createScript=createScript,exports.createScriptNode=createScriptNode,exports.decodeName=decodeName,exports.encodeName=encodeName,exports.error=error,exports.generateExposeFilename=generateExposeFilename,exports.generateShareFilename=generateShareFilename,exports.generateSnapshotFromManifest=generateSnapshotFromManifest,exports.getManifestFileName=getManifestFileName,exports.getProcessEnv=getProcessEnv,exports.getResourceUrl=getResourceUrl,exports.inferAutoPublicPath=inferAutoPublicPath,exports.infrastructureLogger=infrastructureLogger,exports.isBrowserEnv=isBrowserEnv,exports.isDebugMode=isDebugMode,exports.isManifestProvider=isManifestProvider,exports.isReactNativeEnv=isReactNativeEnv,exports.isRequiredVersion=isRequiredVersion,exports.isStaticResourcesEqual=isStaticResourcesEqual,exports.loadScript=loadScript,exports.loadScriptNode=loadScriptNode,exports.logger=logger,exports.moduleFederationPlugin=ModuleFederationPlugin,exports.normalizeOptions=normalizeOptions,exports.parseEntry=parseEntry,exports.safeToString=safeToString,exports.safeWrapper=safeWrapper,exports.sharePlugin=SharePlugin,exports.simpleJoinRemoteEntry=simpleJoinRemoteEntry,exports.warn=warn})),require_index_cjs$2=require_chunk.t((exports=>{var RUNTIME_001=`RUNTIME-001`,RUNTIME_002=`RUNTIME-002`,RUNTIME_003=`RUNTIME-003`,RUNTIME_004=`RUNTIME-004`,RUNTIME_005=`RUNTIME-005`,RUNTIME_006=`RUNTIME-006`,RUNTIME_007=`RUNTIME-007`,RUNTIME_008=`RUNTIME-008`,RUNTIME_009=`RUNTIME-009`,TYPE_001=`TYPE-001`,BUILD_001=`BUILD-001`,BUILD_002=`BUILD-002`,getDocsUrl=errorCode=>`View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${errorCode.split(`-`)[0].toLowerCase()}/${errorCode}`,getShortErrorMsg=(errorCode,errorDescMap,args,originalErrorMsg)=>{let msg$1=[`${[errorDescMap[errorCode]]} #${errorCode}`];return args&&msg$1.push(`args: ${JSON.stringify(args)}`),msg$1.push(getDocsUrl(errorCode)),originalErrorMsg&&msg$1.push(`Original Error Message:\n ${originalErrorMsg}`),msg$1.join(`
|
|
@@ -17,4 +17,4 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../base-C_azywlB.cjs`),require(`../focus-visible-3ACCHno4.cjs`),require(`../set-locale-
|
|
20
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../base-C_azywlB.cjs`),require(`../focus-visible-3ACCHno4.cjs`),require(`../set-locale-BUQ-O7rY.cjs`),require(`../localized-mixin-2hlGenj9.cjs`),require(`../data-broker-BUIUM5hr.cjs`);const e=require(`../item-option-Dyufdill.cjs`);exports.LuzmoItemOption=e.t;
|