@luzmo/analytics-components-kit 1.0.1-alpha.144 → 1.0.1-alpha.146

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