@luzmo/analytics-components-kit 1.0.1-alpha.85 → 1.0.1-alpha.87

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 (54) hide show
  1. package/angular/README.md +1 -0
  2. package/angular/components/ai-interaction-textarea.component.ts +2 -0
  3. package/angular/components/dataset-icon.component.ts +21 -0
  4. package/angular/components/dataset-selector-row.component.ts +2 -0
  5. package/angular/esm/components/ai-interaction-textarea.component.d.ts +2 -1
  6. package/angular/esm/components/ai-interaction-textarea.component.js +7 -2
  7. package/angular/esm/components/dataset-icon.component.d.ts +9 -0
  8. package/angular/esm/components/dataset-icon.component.js +36 -0
  9. package/angular/esm/components/dataset-selector-row.component.d.ts +2 -1
  10. package/angular/esm/components/dataset-selector-row.component.js +7 -2
  11. package/angular/esm/index.d.ts +3 -1
  12. package/angular/esm/index.js +3 -0
  13. package/angular/esm/types.d.ts +14 -0
  14. package/angular/index.ts +3 -0
  15. package/angular/types.ts +13 -0
  16. package/components/ai-interaction-textarea/ai-interaction-textarea.d.ts +7 -1
  17. package/components/ai-interaction-textarea/index.cjs +32 -28
  18. package/components/ai-interaction-textarea/index.js +60 -48
  19. package/components/dataset-icon/dataset-icon.d.ts +45 -0
  20. package/components/dataset-icon/index.cjs +60 -0
  21. package/components/dataset-icon/index.d.ts +7 -0
  22. package/components/dataset-icon/index.js +166 -0
  23. package/components/dataset-selector-list/dataset-selector-list.d.ts +1 -0
  24. package/components/dataset-selector-list/index.cjs +10 -8
  25. package/components/dataset-selector-list/index.js +55 -58
  26. package/components/dataset-selector-row/dataset-selector-row.d.ts +7 -0
  27. package/components/dataset-selector-row/index.cjs +21 -18
  28. package/components/dataset-selector-row/index.js +61 -57
  29. package/components/display-settings-binning/index.js +1 -1
  30. package/components/display-settings-datetime/index.js +1 -1
  31. package/components/display-settings-grand-totals/index.js +1 -1
  32. package/components/display-settings-numeric/index.js +1 -1
  33. package/components/display-settings-period-over-period/index.js +1 -1
  34. package/components/draggable-data-item/index.js +1 -1
  35. package/components/droppable-slot/index.js +1 -1
  36. package/components/filter-data-item-picker/index.js +1 -1
  37. package/components/filter-expression-picker/index.js +1 -1
  38. package/components/filter-item/index.js +2 -2
  39. package/components/filter-value-picker/index.js +1 -1
  40. package/components/filter-value-picker-datetime/index.js +1 -1
  41. package/components/filter-value-picker-hierarchy/index.js +1 -1
  42. package/components/filter-value-picker-numeric/index.js +1 -1
  43. package/components/grid/index.js +1 -1
  44. package/components/{index-BDFBUGBc.js → index-DdyZ2g5L.js} +1 -1
  45. package/components/index.cjs +1 -1
  46. package/components/index.js +90 -88
  47. package/components/{set-locale-nv7fWEtl.js → set-locale-hKTMz37h.js} +6 -1
  48. package/components/slot-contents-picker/index.js +1 -1
  49. package/components/slot-menu/index.cjs +1 -1
  50. package/components/slot-menu/index.js +1 -1
  51. package/custom-elements.json +154 -0
  52. package/index.d.ts +1 -0
  53. package/package.json +8 -3
  54. package/types.d.ts +14 -0
@@ -17,10 +17,11 @@
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 { localized as m } from "@lit/localize";
21
- import { luzmoIcon as d, luzmoArrowRight as b } from "@luzmo/icons";
22
- import { unsafeCSS as p, LitElement as z, html as h } from "lit";
23
- import { property as n, state as s } from "lit/decorators.js";
20
+ import { localized as d } from "@lit/localize";
21
+ import { luzmoIcon as m, luzmoArrowRight as b } from "@luzmo/icons";
22
+ import { unsafeCSS as p, LitElement as h, html as z } from "lit";
23
+ import { property as i, state as s } from "lit/decorators.js";
24
+ import { classMap as x } from "lit/directives/class-map.js";
24
25
  import "../dataset-selector-row/index.js";
25
26
  (function() {
26
27
  if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
@@ -28,18 +29,18 @@ import "../dataset-selector-row/index.js";
28
29
  o.setAttribute("data-luzmo-vars", ""), o.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-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(o);
29
30
  }
30
31
  })();
31
- const x = ":host{box-sizing:border-box;display:flex;flex-direction:column;background-color:var(--luzmo-ai-interaction-textarea-background-color, var(--ai-interaction-textarea-background-color));border:1px solid var(--luzmo-ai-interaction-textarea-border-color, var(--ai-interaction-textarea-border-color));border-radius:var(--luzmo-ai-interaction-textarea-border-radius, var(--ai-interaction-textarea-border-radius));padding:var(--luzmo-ai-interaction-textarea-padding, var(--ai-interaction-textarea-padding));gap:var(--luzmo-ai-interaction-textarea-gap, var(--ai-interaction-textarea-gap));font-family:var(--luzmo-ai-interaction-textarea-font-family, var(--ai-interaction-textarea-font-family));font-size:var(--luzmo-ai-interaction-textarea-font-size, var(--ai-interaction-textarea-font-size))}:host:has(textarea:focus){border-color:var(--luzmo-ai-interaction-textarea-focus-border-color, var(--ai-interaction-textarea-focus-border-color));box-shadow:var(--luzmo-ai-interaction-textarea-focus-box-shadow, var(--ai-interaction-textarea-focus-box-shadow))}:host textarea{background-color:var(--luzmo-ai-interaction-textarea-textarea-background, var(--ai-interaction-textarea-textarea-background));border:none;resize:none;outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;vertical-align:middle;padding:0;min-height:3rem;color:var(--luzmo-ai-interaction-textarea-textarea-color, var(--ai-interaction-textarea-textarea-color));font-family:var(--luzmo-ai-interaction-textarea-font-family, var(--ai-interaction-textarea-font-family));font-size:var(--luzmo-ai-interaction-textarea-font-size, var(--ai-interaction-textarea-font-size));line-height:1.5}:host textarea::placeholder{color:var(--luzmo-ai-interaction-textarea-textarea-placeholder-color, var(--ai-interaction-textarea-textarea-placeholder-color))}:host .button-container{text-align:var(--luzmo-ai-interaction-textarea-button-container-text-align, var(--ai-interaction-textarea-button-container-text-align))}:host .button-container button{padding:var(--luzmo-ai-interaction-textarea-button-padding, var(--ai-interaction-textarea-button-padding));min-width:var(--luzmo-ai-interaction-textarea-button-min-width, var(--ai-interaction-textarea-button-min-width));min-height:var(--luzmo-ai-interaction-textarea-button-min-height, var(--ai-interaction-textarea-button-min-height));border:none;border-radius:var(--luzmo-ai-interaction-textarea-button-border-radius, var(--ai-interaction-textarea-button-border-radius));font-size:var(--luzmo-ai-interaction-textarea-button-font-size, var(--ai-interaction-textarea-button-font-size));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}:host .button-container button:disabled{opacity:.6;cursor:not-allowed}:host .button-container button.disabled{opacity:.6;cursor:not-allowed}:host .button-container button svg{display:flex;align-items:center;justify-content:center}:host .button-container button.btn-primary{background-color:var(--luzmo-ai-interaction-textarea-button-background-color, var(--ai-interaction-textarea-button-background-color));color:var(--luzmo-ai-interaction-textarea-button-color, var(--ai-interaction-textarea-button-color))}:host .button-container button.btn-primary:hover:not(:disabled):not(.disabled){background-color:var(--luzmo-ai-interaction-textarea-button-background-color-hover, var(--ai-interaction-textarea-button-background-color-hover))}:host .button-container button.btn-primary:disabled,:host .button-container button.btn-primary.disabled{background-color:var(--luzmo-ai-interaction-textarea-button-background-color-disabled, var(--ai-interaction-textarea-button-background-color-disabled));opacity:.6}:host{--ai-interaction-textarea-background-color: var(--luzmo-background-color-alt-2);--ai-interaction-textarea-border-color: var(--luzmo-border-color);--ai-interaction-textarea-border-radius: .5rem;--ai-interaction-textarea-padding: .75rem;--ai-interaction-textarea-gap: 1rem;--ai-interaction-textarea-focus-border-color: var(--luzmo-primary);--ai-interaction-textarea-focus-box-shadow: 0 0 1rem 0 var(--luzmo-primary-50);--ai-interaction-textarea-font-family: var(--luzmo-font-family);--ai-interaction-textarea-font-size: .875rem;--ai-interaction-textarea-textarea-background: transparent;--ai-interaction-textarea-textarea-color: var(--luzmo-font-color);--ai-interaction-textarea-textarea-placeholder-color: var(--luzmo-font-color-extra-dimmed);--ai-interaction-textarea-button-container-text-align: right;--ai-interaction-textarea-button-padding: 0;--ai-interaction-textarea-button-min-width: 2rem;--ai-interaction-textarea-button-min-height: 1.875rem;--ai-interaction-textarea-button-border-radius: .5rem;--ai-interaction-textarea-button-font-size: 1rem;--ai-interaction-textarea-button-background-color: var(--luzmo-primary);--ai-interaction-textarea-button-background-color-hover: var(--luzmo-primary-hover);--ai-interaction-textarea-button-background-color-disabled: var(--luzmo-primary);--ai-interaction-textarea-button-color: var(--luzmo-primary-inverse-color)}";
32
- var g = Object.defineProperty, f = Object.getOwnPropertyDescriptor, a = (t, o, r, l) => {
33
- for (var i = l > 1 ? void 0 : l ? f(o, r) : o, c = t.length - 1, u; c >= 0; c--)
34
- (u = t[c]) && (i = (l ? u(o, r, i) : u(i)) || i);
35
- return l && i && g(o, r, i), i;
32
+ const g = ":host{box-sizing:border-box;display:flex;flex-direction:column;background-color:var(--luzmo-ai-interaction-textarea-background-color, var(--ai-interaction-textarea-background-color));border:1px solid var(--luzmo-ai-interaction-textarea-border-color, var(--ai-interaction-textarea-border-color));border-radius:var(--luzmo-ai-interaction-textarea-border-radius, var(--ai-interaction-textarea-border-radius));padding:var(--luzmo-ai-interaction-textarea-padding, var(--ai-interaction-textarea-padding));gap:var(--luzmo-ai-interaction-textarea-gap, var(--ai-interaction-textarea-gap));font-family:var(--luzmo-ai-interaction-textarea-font-family, var(--ai-interaction-textarea-font-family));font-size:var(--luzmo-ai-interaction-textarea-font-size, var(--ai-interaction-textarea-font-size))}:host:has(textarea:focus){border-color:var(--luzmo-ai-interaction-textarea-focus-border-color, var(--ai-interaction-textarea-focus-border-color));box-shadow:var(--luzmo-ai-interaction-textarea-focus-box-shadow, var(--ai-interaction-textarea-focus-box-shadow))}:host .content-wrapper{display:flex;flex-direction:column;gap:var(--luzmo-ai-interaction-textarea-gap, var(--ai-interaction-textarea-gap))}:host .content-wrapper.disabled{opacity:.6;pointer-events:none;cursor:not-allowed}:host .content-wrapper.disabled *{pointer-events:none}:host textarea{background-color:var(--luzmo-ai-interaction-textarea-textarea-background, var(--ai-interaction-textarea-textarea-background));border:none;resize:none;outline:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;vertical-align:middle;padding:0;min-height:3rem;color:var(--luzmo-ai-interaction-textarea-textarea-color, var(--ai-interaction-textarea-textarea-color));font-family:var(--luzmo-ai-interaction-textarea-font-family, var(--ai-interaction-textarea-font-family));font-size:var(--luzmo-ai-interaction-textarea-font-size, var(--ai-interaction-textarea-font-size));line-height:1.5}:host textarea::placeholder{color:var(--luzmo-ai-interaction-textarea-textarea-placeholder-color, var(--ai-interaction-textarea-textarea-placeholder-color))}:host .button-container{text-align:var(--luzmo-ai-interaction-textarea-button-container-text-align, var(--ai-interaction-textarea-button-container-text-align))}:host .button-container button{padding:var(--luzmo-ai-interaction-textarea-button-padding, var(--ai-interaction-textarea-button-padding));min-width:var(--luzmo-ai-interaction-textarea-button-min-width, var(--ai-interaction-textarea-button-min-width));min-height:var(--luzmo-ai-interaction-textarea-button-min-height, var(--ai-interaction-textarea-button-min-height));border:none;border-radius:var(--luzmo-ai-interaction-textarea-button-border-radius, var(--ai-interaction-textarea-button-border-radius));font-size:var(--luzmo-ai-interaction-textarea-button-font-size, var(--ai-interaction-textarea-button-font-size));cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}:host .button-container button:disabled{opacity:.6;cursor:not-allowed}:host .button-container button.disabled{opacity:.6;cursor:not-allowed}:host .button-container button svg{display:flex;align-items:center;justify-content:center}:host .button-container button.btn-primary{background-color:var(--luzmo-ai-interaction-textarea-button-background-color, var(--ai-interaction-textarea-button-background-color));color:var(--luzmo-ai-interaction-textarea-button-color, var(--ai-interaction-textarea-button-color))}:host .button-container button.btn-primary:hover:not(:disabled):not(.disabled){background-color:var(--luzmo-ai-interaction-textarea-button-background-color-hover, var(--ai-interaction-textarea-button-background-color-hover))}:host .button-container button.btn-primary:disabled,:host .button-container button.btn-primary.disabled{background-color:var(--luzmo-ai-interaction-textarea-button-background-color-disabled, var(--ai-interaction-textarea-button-background-color-disabled));opacity:.6}:host{--ai-interaction-textarea-background-color: var(--luzmo-background-color-alt-2);--ai-interaction-textarea-border-color: var(--luzmo-border-color);--ai-interaction-textarea-border-radius: .5rem;--ai-interaction-textarea-padding: .75rem;--ai-interaction-textarea-gap: 1rem;--ai-interaction-textarea-focus-border-color: var(--luzmo-primary);--ai-interaction-textarea-focus-box-shadow: 0 0 1rem 0 var(--luzmo-primary-50);--ai-interaction-textarea-font-family: var(--luzmo-font-family);--ai-interaction-textarea-font-size: .875rem;--ai-interaction-textarea-textarea-background: transparent;--ai-interaction-textarea-textarea-color: var(--luzmo-font-color);--ai-interaction-textarea-textarea-placeholder-color: var(--luzmo-font-color-extra-dimmed);--ai-interaction-textarea-button-container-text-align: right;--ai-interaction-textarea-button-padding: 0;--ai-interaction-textarea-button-min-width: 2rem;--ai-interaction-textarea-button-min-height: 1.875rem;--ai-interaction-textarea-button-border-radius: .5rem;--ai-interaction-textarea-button-font-size: 1rem;--ai-interaction-textarea-button-background-color: var(--luzmo-primary);--ai-interaction-textarea-button-background-color-hover: var(--luzmo-primary-hover);--ai-interaction-textarea-button-background-color-disabled: var(--luzmo-primary);--ai-interaction-textarea-button-color: var(--luzmo-primary-inverse-color)}";
33
+ var f = Object.defineProperty, v = Object.getOwnPropertyDescriptor, a = (t, o, r, l) => {
34
+ for (var n = l > 1 ? void 0 : l ? v(o, r) : o, c = t.length - 1, u; c >= 0; c--)
35
+ (u = t[c]) && (n = (l ? u(o, r, n) : u(n)) || n);
36
+ return l && n && f(o, r, n), n;
36
37
  };
37
- let e = class extends z {
38
+ let e = class extends h {
38
39
  constructor() {
39
- super(...arguments), this.placeholder = "Type your prompt here...", this.selectedDatasets = [], this.authKey = "", this.authToken = "", this.apiUrl = "https://api.luzmo.com", this.appServer = "https://app.luzmo.com", this.flagOpendata = !1, this._promptValue = "", this._isPromptValid = !1;
40
+ super(...arguments), this.placeholder = "Type your prompt here...", this.selectedDatasets = [], this.authKey = "", this.authToken = "", this.apiUrl = "https://api.luzmo.com", this.appServer = "https://app.luzmo.com", this.flagOpendata = !1, this.disabled = !1, this._promptValue = "", this._isPromptValid = !1;
40
41
  }
41
42
  get _buttonDisabled() {
42
- return this.selectedDatasets.length === 0 || !this._isPromptValid;
43
+ return this.disabled || this.selectedDatasets.length === 0 || !this._isPromptValid;
43
44
  }
44
45
  _autoResizeTextarea(t) {
45
46
  t.style.height = "auto";
@@ -81,62 +82,73 @@ let e = class extends z {
81
82
  t && this._autoResizeTextarea(t);
82
83
  }
83
84
  render() {
84
- return h`
85
- <luzmo-dataset-selector-row
86
- .selectedDatasets=${this.selectedDatasets}
87
- auth-key=${this.authKey}
88
- auth-token=${this.authToken}
89
- api-url=${this.apiUrl}
90
- app-server=${this.appServer}
91
- ?flag-opendata=${this.flagOpendata}
92
- @dataset-selected=${this._handleDatasetSelected}
93
- @dataset-removed=${this._handleDatasetRemoved}
94
- ></luzmo-dataset-selector-row>
85
+ const t = {
86
+ "content-wrapper": !0,
87
+ disabled: this.disabled
88
+ };
89
+ return z`
90
+ <div class=${x(t)}>
91
+ <luzmo-dataset-selector-row
92
+ .selectedDatasets=${this.selectedDatasets}
93
+ auth-key=${this.authKey}
94
+ auth-token=${this.authToken}
95
+ api-url=${this.apiUrl}
96
+ app-server=${this.appServer}
97
+ ?flag-opendata=${this.flagOpendata}
98
+ ?disabled=${this.disabled}
99
+ @dataset-selected=${this._handleDatasetSelected}
100
+ @dataset-removed=${this._handleDatasetRemoved}
101
+ ></luzmo-dataset-selector-row>
95
102
 
96
- <textarea
97
- autofocus
98
- .placeholder=${this.placeholder}
99
- .value=${this._promptValue}
100
- @input=${this._handlePromptInput}
101
- @keydown=${this._handleKeyDown}
102
- rows="2"
103
- ></textarea>
103
+ <textarea
104
+ ?autofocus=${!this.disabled}
105
+ ?disabled=${this.disabled}
106
+ .placeholder=${this.placeholder}
107
+ .value=${this._promptValue}
108
+ @input=${this._handlePromptInput}
109
+ @keydown=${this._handleKeyDown}
110
+ rows="2"
111
+ ></textarea>
104
112
 
105
- <div class="button-container">
106
- <button
107
- class="btn btn-primary"
108
- ?disabled=${this._buttonDisabled}
109
- @click=${this._submitPrompt}
110
- >
111
- ${d(b)}
112
- </button>
113
+ <div class="button-container">
114
+ <button
115
+ class="btn btn-primary"
116
+ ?disabled=${this._buttonDisabled}
117
+ @click=${this._submitPrompt}
118
+ >
119
+ ${m(b)}
120
+ </button>
121
+ </div>
113
122
  </div>
114
123
  `;
115
124
  }
116
125
  };
117
- e.styles = p(x);
126
+ e.styles = p(g);
118
127
  e.tagName = "luzmo-ai-interaction-textarea";
119
128
  a([
120
- n({ type: String })
129
+ i({ type: String })
121
130
  ], e.prototype, "placeholder", 2);
122
131
  a([
123
- n({ type: Array })
132
+ i({ type: Array })
124
133
  ], e.prototype, "selectedDatasets", 2);
125
134
  a([
126
- n({ type: String, attribute: "auth-key" })
135
+ i({ type: String, attribute: "auth-key" })
127
136
  ], e.prototype, "authKey", 2);
128
137
  a([
129
- n({ type: String, attribute: "auth-token" })
138
+ i({ type: String, attribute: "auth-token" })
130
139
  ], e.prototype, "authToken", 2);
131
140
  a([
132
- n({ type: String, attribute: "api-url" })
141
+ i({ type: String, attribute: "api-url" })
133
142
  ], e.prototype, "apiUrl", 2);
134
143
  a([
135
- n({ type: String, attribute: "app-server" })
144
+ i({ type: String, attribute: "app-server" })
136
145
  ], e.prototype, "appServer", 2);
137
146
  a([
138
- n({ type: Boolean, attribute: "flag-opendata" })
147
+ i({ type: Boolean, attribute: "flag-opendata" })
139
148
  ], e.prototype, "flagOpendata", 2);
149
+ a([
150
+ i({ type: Boolean, reflect: !0, attribute: "disabled" })
151
+ ], e.prototype, "disabled", 2);
140
152
  a([
141
153
  s()
142
154
  ], e.prototype, "_promptValue", 2);
@@ -144,7 +156,7 @@ a([
144
156
  s()
145
157
  ], e.prototype, "_isPromptValid", 2);
146
158
  e = a([
147
- m()
159
+ d()
148
160
  ], e);
149
161
  customElements.get("luzmo-ai-interaction-textarea") || customElements.define("luzmo-ai-interaction-textarea", e);
150
162
  export {
@@ -0,0 +1,45 @@
1
+ import { LitElement, PropertyValues, TemplateResult } from 'lit';
2
+ import { DatasetIcon } from 'src/types';
3
+ /**
4
+ * Thumbnail size options
5
+ */
6
+ export type ThumbnailSize = '32px' | '64px';
7
+ /**
8
+ * Partial record type for thumbnails
9
+ */
10
+ export type PartialRecord<K extends keyof any, T> = {
11
+ [P in K]?: T;
12
+ };
13
+ /**
14
+ * Public connectors list - these are well-known connectors that may have CSS-based icons
15
+ * This list should match the one from @shared-lib
16
+ */
17
+ export declare const publicConnectors: readonly ["amazonathena", "asana", "bigquery", "citybikes", "clickhouse", "demodataplugin", "elasticsearch", "exact", "exactonline", "exactonlinenl", "google", "googleanalytics", "googleanalyticsv4", "googledrive", "hubspot", "mailchimp", "mariadb", "mongodb", "mysql", "oracle", "panoply", "pipedrive", "pipelinedb", "postgresql", "presto", "redshift", "salesforce", "saphana", "snowflake", "sqlserver", "stardog", "synapse", "teamleader", "trino", "typeform", "zendesk"];
18
+ /**
19
+ * @element luzmo-dataset-icon
20
+ * @summary Displays an icon for a dataset based on its type, thumbnails, and connector
21
+ */
22
+ export declare class LuzmoDatasetIcon extends LitElement {
23
+ static styles: import("lit").CSSResult;
24
+ static tagName: string;
25
+ /**
26
+ * The dataset information containing subtype and thumbnail data
27
+ */
28
+ datasetInfo?: DatasetIcon;
29
+ /**
30
+ * The size of the icon
31
+ * @default '32px'
32
+ */
33
+ size: '16px' | '24px' | '32px' | '48px' | '64px';
34
+ /**
35
+ * The base URL for the application (used for thumbnail URLs)
36
+ */
37
+ appUrl: string;
38
+ private _subtype;
39
+ private _isPublicConnector;
40
+ private _thumbnails;
41
+ private readonly thumbnailSizeMap;
42
+ protected willUpdate(changedProperties: PropertyValues): void;
43
+ private _updateDatasetProperties;
44
+ protected render(): TemplateResult;
45
+ }
@@ -0,0 +1,60 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2025 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
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("@luzmo/icons"),i=require("lit"),u=require("lit/decorators.js"),g=".dataset-icon{display:flex;justify-content:center;align-items:center}.dataset-icon .public-connector{overflow:hidden}.dataset-icon .public-connector img{display:block;object-fit:cover}.dataset-icon [class*=public-connector-]{width:100%;height:100%;background-size:cover;background-repeat:no-repeat;background-position:center}.dataset-icon .public-connector-16,.dataset-icon .public-connector-24,.dataset-icon .public-connector-32{background-image:var(--connector-sprite-64x64)}.dataset-icon .public-connector-48,.dataset-icon .public-connector-64{background-image:var(--connector-sprite-96x96)}.dataset-icon .text-primary{color:var(--luzmo-primary, #007bff);display:flex;align-items:center;justify-content:center}.dataset-icon .text-primary.upload-icon,.dataset-icon .text-primary.plugin-icon{width:100%;height:100%}.public-connector-16.amazonathena{background-position:0 0}.public-connector-16.asana{background-position:0 -16px}.public-connector-16.bigquery{background-position:0 -32px}.public-connector-16.citybikes{background-position:0 -48px}.public-connector-16.clickhouse{background-position:0 -64px}.public-connector-16.demodataplugin{background-position:0 -80px}.public-connector-16.elasticsearch{background-position:0 -96px}.public-connector-16.exactonline,.public-connector-16.exactonlinenl{background-position:0 -112px}.public-connector-16.google{background-position:0 -128px}.public-connector-16.googleanalytics,.public-connector-16.googleanalyticsv4{background-position:0 -144px}.public-connector-16.googledrive{background-position:0 -160px}.public-connector-16.hubspot{background-position:0 -176px}.public-connector-16.lobbipad{background-position:0 -192px}.public-connector-16.mailchimp{background-position:0 -208px}.public-connector-16.mariadb{background-position:0 -224px}.public-connector-16.mongodb{background-position:0 -240px}.public-connector-16.mysql{background-position:0 -256px}.public-connector-16.oracle{background-position:0 -272px}.public-connector-16.panoply{background-position:0 -288px}.public-connector-16.pipedrive{background-position:0 -304px}.public-connector-16.pipelinedb{background-position:0 -320px}.public-connector-16.postgresql{background-position:0 -336px}.public-connector-16.presto{background-position:0 -352px}.public-connector-16.redshift{background-position:0 -368px}.public-connector-16.salesforce{background-position:0 -384px}.public-connector-16.saphana{background-position:0 -400px}.public-connector-16.snowflake{background-position:0 -416px}.public-connector-16.sqlserver{background-position:0 -432px}.public-connector-16.stardog{background-position:0 -448px}.public-connector-16.synapse{background-position:0 -464px}.public-connector-16.teamleader{background-position:0 -480px}.public-connector-16.trino{background-position:0 -496px}.public-connector-16.typeform{background-position:0 -512px}.public-connector-16.zendesk{background-position:0 -528px}.public-connector-24.amazonathena{background-position:0 0}.public-connector-24.asana{background-position:0 -24px}.public-connector-24.bigquery{background-position:0 -48px}.public-connector-24.citybikes{background-position:0 -72px}.public-connector-24.clickhouse{background-position:0 -96px}.public-connector-24.demodataplugin{background-position:0 -120px}.public-connector-24.elasticsearch{background-position:0 -144px}.public-connector-24.exactonline,.public-connector-24.exactonlinenl{background-position:0 -168px}.public-connector-24.google{background-position:0 -192px}.public-connector-24.googleanalytics,.public-connector-24.googleanalyticsv4{background-position:0 -216px}.public-connector-24.googledrive{background-position:0 -240px}.public-connector-24.hubspot{background-position:0 -264px}.public-connector-24.lobbipad{background-position:0 -288px}.public-connector-24.mailchimp{background-position:0 -312px}.public-connector-24.mariadb{background-position:0 -336px}.public-connector-24.mongodb{background-position:0 -360px}.public-connector-24.mysql{background-position:0 -384px}.public-connector-24.oracle{background-position:0 -408px}.public-connector-24.panoply{background-position:0 -432px}.public-connector-24.pipedrive{background-position:0 -456px}.public-connector-24.pipelinedb{background-position:0 -480px}.public-connector-24.postgresql{background-position:0 -504px}.public-connector-24.presto{background-position:0 -528px}.public-connector-24.redshift{background-position:0 -552px}.public-connector-24.salesforce{background-position:0 -576px}.public-connector-24.saphana{background-position:0 -600px}.public-connector-24.snowflake{background-position:0 -624px}.public-connector-24.sqlserver{background-position:0 -648px}.public-connector-24.stardog{background-position:0 -672px}.public-connector-24.synapse{background-position:0 -696px}.public-connector-24.teamleader{background-position:0 -720px}.public-connector-24.trino{background-position:0 -744px}.public-connector-24.typeform{background-position:0 -768px}.public-connector-24.zendesk{background-position:0 -792px}.public-connector-32.amazonathena{background-position:0 0}.public-connector-32.asana{background-position:0 -32px}.public-connector-32.bigquery{background-position:0 -64px}.public-connector-32.citybikes{background-position:0 -96px}.public-connector-32.clickhouse{background-position:0 -128px}.public-connector-32.demodataplugin{background-position:0 -160px}.public-connector-32.elasticsearch{background-position:0 -192px}.public-connector-32.exactonline,.public-connector-32.exactonlinenl{background-position:0 -224px}.public-connector-32.google{background-position:0 -256px}.public-connector-32.googleanalytics,.public-connector-32.googleanalyticsv4{background-position:0 -288px}.public-connector-32.googledrive{background-position:0 -320px}.public-connector-32.hubspot{background-position:0 -352px}.public-connector-32.lobbipad{background-position:0 -384px}.public-connector-32.mailchimp{background-position:0 -416px}.public-connector-32.mariadb{background-position:0 -448px}.public-connector-32.mongodb{background-position:0 -480px}.public-connector-32.mysql{background-position:0 -512px}.public-connector-32.oracle{background-position:0 -544px}.public-connector-32.panoply{background-position:0 -576px}.public-connector-32.pipedrive{background-position:0 -608px}.public-connector-32.pipelinedb{background-position:0 -640px}.public-connector-32.postgresql{background-position:0 -672px}.public-connector-32.presto{background-position:0 -704px}.public-connector-32.redshift{background-position:0 -736px}.public-connector-32.salesforce{background-position:0 -768px}.public-connector-32.saphana{background-position:0 -800px}.public-connector-32.snowflake{background-position:0 -832px}.public-connector-32.sqlserver{background-position:0 -864px}.public-connector-32.stardog{background-position:0 -896px}.public-connector-32.synapse{background-position:0 -928px}.public-connector-32.teamleader{background-position:0 -960px}.public-connector-32.trino{background-position:0 -992px}.public-connector-32.typeform{background-position:0 -1024px}.public-connector-32.zendesk{background-position:0 -1056px}.public-connector-48.amazonathena{background-position:0 0}.public-connector-48.asana{background-position:0 -48px}.public-connector-48.bigquery{background-position:0 -96px}.public-connector-48.citybikes{background-position:0 -144px}.public-connector-48.clickhouse{background-position:0 -192px}.public-connector-48.demodataplugin{background-position:0 -240px}.public-connector-48.elasticsearch{background-position:0 -288px}.public-connector-48.exactonline,.public-connector-48.exactonlinenl{background-position:0 -336px}.public-connector-48.google{background-position:0 -384px}.public-connector-48.googleanalytics,.public-connector-48.googleanalyticsv4{background-position:0 -432px}.public-connector-48.googledrive{background-position:0 -480px}.public-connector-48.hubspot{background-position:0 -528px}.public-connector-48.lobbipad{background-position:0 -576px}.public-connector-48.mailchimp{background-position:0 -624px}.public-connector-48.mariadb{background-position:0 -672px}.public-connector-48.mongodb{background-position:0 -720px}.public-connector-48.mysql{background-position:0 -768px}.public-connector-48.oracle{background-position:0 -816px}.public-connector-48.panoply{background-position:0 -864px}.public-connector-48.pipedrive{background-position:0 -912px}.public-connector-48.pipelinedb{background-position:0 -960px}.public-connector-48.postgresql{background-position:0 -1008px}.public-connector-48.presto{background-position:0 -1056px}.public-connector-48.redshift{background-position:0 -1104px}.public-connector-48.salesforce{background-position:0 -1152px}.public-connector-48.saphana{background-position:0 -1200px}.public-connector-48.snowflake{background-position:0 -1248px}.public-connector-48.sqlserver{background-position:0 -1296px}.public-connector-48.stardog{background-position:0 -1344px}.public-connector-48.synapse{background-position:0 -1392px}.public-connector-48.teamleader{background-position:0 -1440px}.public-connector-48.trino{background-position:0 -1488px}.public-connector-48.typeform{background-position:0 -1536px}.public-connector-48.zendesk{background-position:0 -1584px}.public-connector-64.amazonathena{background-position:0 0}.public-connector-64.asana{background-position:0 -64px}.public-connector-64.bigquery{background-position:0 -128px}.public-connector-64.citybikes{background-position:0 -192px}.public-connector-64.clickhouse{background-position:0 -256px}.public-connector-64.demodataplugin{background-position:0 -320px}.public-connector-64.elasticsearch{background-position:0 -384px}.public-connector-64.exactonline,.public-connector-64.exactonlinenl{background-position:0 -448px}.public-connector-64.google{background-position:0 -512px}.public-connector-64.googleanalytics,.public-connector-64.googleanalyticsv4{background-position:0 -576px}.public-connector-64.googledrive{background-position:0 -640px}.public-connector-64.hubspot{background-position:0 -704px}.public-connector-64.lobbipad{background-position:0 -768px}.public-connector-64.mailchimp{background-position:0 -832px}.public-connector-64.mariadb{background-position:0 -896px}.public-connector-64.mongodb{background-position:0 -960px}.public-connector-64.mysql{background-position:0 -1024px}.public-connector-64.oracle{background-position:0 -1088px}.public-connector-64.panoply{background-position:0 -1152px}.public-connector-64.pipedrive{background-position:0 -1216px}.public-connector-64.pipelinedb{background-position:0 -1280px}.public-connector-64.postgresql{background-position:0 -1344px}.public-connector-64.presto{background-position:0 -1408px}.public-connector-64.redshift{background-position:0 -1472px}.public-connector-64.salesforce{background-position:0 -1536px}.public-connector-64.saphana{background-position:0 -1600px}.public-connector-64.snowflake{background-position:0 -1664px}.public-connector-64.sqlserver{background-position:0 -1728px}.public-connector-64.stardog{background-position:0 -1792px}.public-connector-64.synapse{background-position:0 -1856px}.public-connector-64.teamleader{background-position:0 -1920px}.public-connector-64.trino{background-position:0 -1984px}.public-connector-64.typeform{background-position:0 -2048px}.public-connector-64.zendesk{background-position:0 -2112px}";var x=Object.defineProperty,l=(r,o,n,b)=>{for(var c=void 0,p=r.length-1,e;p>=0;p--)(e=r[p])&&(c=e(o,n,c)||c);return c&&x(o,n,c),c};const k=["amazonathena","asana","bigquery","citybikes","clickhouse","demodataplugin","elasticsearch","exact","exactonline","exactonlinenl","google","googleanalytics","googleanalyticsv4","googledrive","hubspot","mailchimp","mariadb","mongodb","mysql","oracle","panoply","pipedrive","pipelinedb","postgresql","presto","redshift","salesforce","saphana","snowflake","sqlserver","stardog","synapse","teamleader","trino","typeform","zendesk"];function h(r){const o={};return r.forEach(n=>{(n.size==="32px"||n.size==="64px")&&(o[n.size]=n.url)}),o}const a=class a extends i.LitElement{constructor(){super(...arguments),this.size="32px",this.appUrl="",this._subtype="",this._isPublicConnector=!1,this._thumbnails={},this.thumbnailSizeMap={"16px":"32px","24px":"32px","32px":"32px","48px":"64px","64px":"64px"}}willUpdate(o){(o.has("datasetInfo")||o.has("size"))&&this._updateDatasetProperties()}_updateDatasetProperties(){if(!this.datasetInfo){this._subtype="",this._isPublicConnector=!1,this._thumbnails={};return}this._subtype=this.datasetInfo.subtype||"",this._isPublicConnector=this.datasetInfo.subtype!=="api"&&this.datasetInfo.subtype!=="upload"&&k.includes(this.datasetInfo.subtype),this._thumbnails=this.datasetInfo.account?.plugin?.thumbnails?h(this.datasetInfo.account.plugin.thumbnails):{}}render(){if(!this.datasetInfo)return i.html``;const o=this.thumbnailSizeMap[this.size],n=!!this._thumbnails[o],b=this.size.slice(0,-2),c=this.appUrl?`${this.appUrl}/assets/images/connectors/sprites/all-connectors.64x64.png`:"",p=this.appUrl?`${this.appUrl}/assets/images/connectors/sprites/all-connectors.96x96.png`:"";if(this._subtype!=="upload"&&n){const e=this._thumbnails[o],d=e?`${this.appUrl}/${e}`:"";return i.html`
21
+ <div
22
+ class="position-relative dataset-icon d-flex justify-content-center"
23
+ style="width: ${this.size}; height: ${this.size};"
24
+ >
25
+ <div class="public-connector">
26
+ <img
27
+ src=${d}
28
+ style="width: ${this.size}; height: ${this.size};"
29
+ alt="Dataset icon"
30
+ />
31
+ </div>
32
+ </div>
33
+ `}return this._isPublicConnector&&this._subtype!=="upload"&&!n?i.html`
34
+ <div
35
+ class="position-relative dataset-icon d-flex justify-content-center"
36
+ style="width: ${this.size}; height: ${this.size}; --connector-sprite-64x64: url('${c}'); --connector-sprite-96x96: url('${p}');"
37
+ >
38
+ <div
39
+ class="public-connector-${b} ${this._subtype}"
40
+ ></div>
41
+ </div>
42
+ `:!this._isPublicConnector&&this._subtype==="upload"?i.html`
43
+ <div
44
+ class="position-relative dataset-icon d-flex justify-content-center"
45
+ style="width: ${this.size}; height: ${this.size};"
46
+ >
47
+ <div class="text-primary d-flex align-items-center" style="font-size: ${this.size};">
48
+ ${s.luzmoIcon(s.luzmoFileUploadOutline)}
49
+ </div>
50
+ </div>
51
+ `:!this._isPublicConnector&&this._subtype!=="upload"&&!n?i.html`
52
+ <div
53
+ class="position-relative dataset-icon d-flex justify-content-center"
54
+ style="width: ${this.size}; height: ${this.size};"
55
+ >
56
+ <div class="text-primary ${this._subtype}" style="font-size: ${this.size};">
57
+ ${s.luzmoIcon(s.luzmoPlugin)}
58
+ </div>
59
+ </div>
60
+ `:i.html``}};a.styles=i.unsafeCSS(g),a.tagName="luzmo-dataset-icon";let t=a;l([u.property({type:Object,attribute:"dataset"})],t.prototype,"datasetInfo");l([u.property({type:String,reflect:!0})],t.prototype,"size");l([u.property({type:String,attribute:"app-url"})],t.prototype,"appUrl");customElements.get("luzmo-dataset-icon")||customElements.define("luzmo-dataset-icon",t);exports.LuzmoDatasetIcon=t;
@@ -0,0 +1,7 @@
1
+ import { LuzmoDatasetIcon } from './dataset-icon';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'luzmo-dataset-icon': LuzmoDatasetIcon;
5
+ }
6
+ }
7
+ export { LuzmoDatasetIcon } from './dataset-icon';
@@ -0,0 +1,166 @@
1
+ /*! * A kit of modern Luzmo Web Components for analytics in your web application.
2
+ *
3
+ * Copyright © 2025 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
+ import { luzmoIcon as b, luzmoFileUploadOutline as g, luzmoPlugin as x } from "@luzmo/icons";
21
+ import { LitElement as m, unsafeCSS as k, html as i } from "lit";
22
+ import { property as s } from "lit/decorators.js";
23
+ (function() {
24
+ if (typeof document < "u" && !document.querySelector("style[data-luzmo-vars]")) {
25
+ const o = document.createElement("style");
26
+ o.setAttribute("data-luzmo-vars", ""), o.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-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(o);
27
+ }
28
+ })();
29
+ const h = ".dataset-icon{display:flex;justify-content:center;align-items:center}.dataset-icon .public-connector{overflow:hidden}.dataset-icon .public-connector img{display:block;object-fit:cover}.dataset-icon [class*=public-connector-]{width:100%;height:100%;background-size:cover;background-repeat:no-repeat;background-position:center}.dataset-icon .public-connector-16,.dataset-icon .public-connector-24,.dataset-icon .public-connector-32{background-image:var(--connector-sprite-64x64)}.dataset-icon .public-connector-48,.dataset-icon .public-connector-64{background-image:var(--connector-sprite-96x96)}.dataset-icon .text-primary{color:var(--luzmo-primary, #007bff);display:flex;align-items:center;justify-content:center}.dataset-icon .text-primary.upload-icon,.dataset-icon .text-primary.plugin-icon{width:100%;height:100%}.public-connector-16.amazonathena{background-position:0 0}.public-connector-16.asana{background-position:0 -16px}.public-connector-16.bigquery{background-position:0 -32px}.public-connector-16.citybikes{background-position:0 -48px}.public-connector-16.clickhouse{background-position:0 -64px}.public-connector-16.demodataplugin{background-position:0 -80px}.public-connector-16.elasticsearch{background-position:0 -96px}.public-connector-16.exactonline,.public-connector-16.exactonlinenl{background-position:0 -112px}.public-connector-16.google{background-position:0 -128px}.public-connector-16.googleanalytics,.public-connector-16.googleanalyticsv4{background-position:0 -144px}.public-connector-16.googledrive{background-position:0 -160px}.public-connector-16.hubspot{background-position:0 -176px}.public-connector-16.lobbipad{background-position:0 -192px}.public-connector-16.mailchimp{background-position:0 -208px}.public-connector-16.mariadb{background-position:0 -224px}.public-connector-16.mongodb{background-position:0 -240px}.public-connector-16.mysql{background-position:0 -256px}.public-connector-16.oracle{background-position:0 -272px}.public-connector-16.panoply{background-position:0 -288px}.public-connector-16.pipedrive{background-position:0 -304px}.public-connector-16.pipelinedb{background-position:0 -320px}.public-connector-16.postgresql{background-position:0 -336px}.public-connector-16.presto{background-position:0 -352px}.public-connector-16.redshift{background-position:0 -368px}.public-connector-16.salesforce{background-position:0 -384px}.public-connector-16.saphana{background-position:0 -400px}.public-connector-16.snowflake{background-position:0 -416px}.public-connector-16.sqlserver{background-position:0 -432px}.public-connector-16.stardog{background-position:0 -448px}.public-connector-16.synapse{background-position:0 -464px}.public-connector-16.teamleader{background-position:0 -480px}.public-connector-16.trino{background-position:0 -496px}.public-connector-16.typeform{background-position:0 -512px}.public-connector-16.zendesk{background-position:0 -528px}.public-connector-24.amazonathena{background-position:0 0}.public-connector-24.asana{background-position:0 -24px}.public-connector-24.bigquery{background-position:0 -48px}.public-connector-24.citybikes{background-position:0 -72px}.public-connector-24.clickhouse{background-position:0 -96px}.public-connector-24.demodataplugin{background-position:0 -120px}.public-connector-24.elasticsearch{background-position:0 -144px}.public-connector-24.exactonline,.public-connector-24.exactonlinenl{background-position:0 -168px}.public-connector-24.google{background-position:0 -192px}.public-connector-24.googleanalytics,.public-connector-24.googleanalyticsv4{background-position:0 -216px}.public-connector-24.googledrive{background-position:0 -240px}.public-connector-24.hubspot{background-position:0 -264px}.public-connector-24.lobbipad{background-position:0 -288px}.public-connector-24.mailchimp{background-position:0 -312px}.public-connector-24.mariadb{background-position:0 -336px}.public-connector-24.mongodb{background-position:0 -360px}.public-connector-24.mysql{background-position:0 -384px}.public-connector-24.oracle{background-position:0 -408px}.public-connector-24.panoply{background-position:0 -432px}.public-connector-24.pipedrive{background-position:0 -456px}.public-connector-24.pipelinedb{background-position:0 -480px}.public-connector-24.postgresql{background-position:0 -504px}.public-connector-24.presto{background-position:0 -528px}.public-connector-24.redshift{background-position:0 -552px}.public-connector-24.salesforce{background-position:0 -576px}.public-connector-24.saphana{background-position:0 -600px}.public-connector-24.snowflake{background-position:0 -624px}.public-connector-24.sqlserver{background-position:0 -648px}.public-connector-24.stardog{background-position:0 -672px}.public-connector-24.synapse{background-position:0 -696px}.public-connector-24.teamleader{background-position:0 -720px}.public-connector-24.trino{background-position:0 -744px}.public-connector-24.typeform{background-position:0 -768px}.public-connector-24.zendesk{background-position:0 -792px}.public-connector-32.amazonathena{background-position:0 0}.public-connector-32.asana{background-position:0 -32px}.public-connector-32.bigquery{background-position:0 -64px}.public-connector-32.citybikes{background-position:0 -96px}.public-connector-32.clickhouse{background-position:0 -128px}.public-connector-32.demodataplugin{background-position:0 -160px}.public-connector-32.elasticsearch{background-position:0 -192px}.public-connector-32.exactonline,.public-connector-32.exactonlinenl{background-position:0 -224px}.public-connector-32.google{background-position:0 -256px}.public-connector-32.googleanalytics,.public-connector-32.googleanalyticsv4{background-position:0 -288px}.public-connector-32.googledrive{background-position:0 -320px}.public-connector-32.hubspot{background-position:0 -352px}.public-connector-32.lobbipad{background-position:0 -384px}.public-connector-32.mailchimp{background-position:0 -416px}.public-connector-32.mariadb{background-position:0 -448px}.public-connector-32.mongodb{background-position:0 -480px}.public-connector-32.mysql{background-position:0 -512px}.public-connector-32.oracle{background-position:0 -544px}.public-connector-32.panoply{background-position:0 -576px}.public-connector-32.pipedrive{background-position:0 -608px}.public-connector-32.pipelinedb{background-position:0 -640px}.public-connector-32.postgresql{background-position:0 -672px}.public-connector-32.presto{background-position:0 -704px}.public-connector-32.redshift{background-position:0 -736px}.public-connector-32.salesforce{background-position:0 -768px}.public-connector-32.saphana{background-position:0 -800px}.public-connector-32.snowflake{background-position:0 -832px}.public-connector-32.sqlserver{background-position:0 -864px}.public-connector-32.stardog{background-position:0 -896px}.public-connector-32.synapse{background-position:0 -928px}.public-connector-32.teamleader{background-position:0 -960px}.public-connector-32.trino{background-position:0 -992px}.public-connector-32.typeform{background-position:0 -1024px}.public-connector-32.zendesk{background-position:0 -1056px}.public-connector-48.amazonathena{background-position:0 0}.public-connector-48.asana{background-position:0 -48px}.public-connector-48.bigquery{background-position:0 -96px}.public-connector-48.citybikes{background-position:0 -144px}.public-connector-48.clickhouse{background-position:0 -192px}.public-connector-48.demodataplugin{background-position:0 -240px}.public-connector-48.elasticsearch{background-position:0 -288px}.public-connector-48.exactonline,.public-connector-48.exactonlinenl{background-position:0 -336px}.public-connector-48.google{background-position:0 -384px}.public-connector-48.googleanalytics,.public-connector-48.googleanalyticsv4{background-position:0 -432px}.public-connector-48.googledrive{background-position:0 -480px}.public-connector-48.hubspot{background-position:0 -528px}.public-connector-48.lobbipad{background-position:0 -576px}.public-connector-48.mailchimp{background-position:0 -624px}.public-connector-48.mariadb{background-position:0 -672px}.public-connector-48.mongodb{background-position:0 -720px}.public-connector-48.mysql{background-position:0 -768px}.public-connector-48.oracle{background-position:0 -816px}.public-connector-48.panoply{background-position:0 -864px}.public-connector-48.pipedrive{background-position:0 -912px}.public-connector-48.pipelinedb{background-position:0 -960px}.public-connector-48.postgresql{background-position:0 -1008px}.public-connector-48.presto{background-position:0 -1056px}.public-connector-48.redshift{background-position:0 -1104px}.public-connector-48.salesforce{background-position:0 -1152px}.public-connector-48.saphana{background-position:0 -1200px}.public-connector-48.snowflake{background-position:0 -1248px}.public-connector-48.sqlserver{background-position:0 -1296px}.public-connector-48.stardog{background-position:0 -1344px}.public-connector-48.synapse{background-position:0 -1392px}.public-connector-48.teamleader{background-position:0 -1440px}.public-connector-48.trino{background-position:0 -1488px}.public-connector-48.typeform{background-position:0 -1536px}.public-connector-48.zendesk{background-position:0 -1584px}.public-connector-64.amazonathena{background-position:0 0}.public-connector-64.asana{background-position:0 -64px}.public-connector-64.bigquery{background-position:0 -128px}.public-connector-64.citybikes{background-position:0 -192px}.public-connector-64.clickhouse{background-position:0 -256px}.public-connector-64.demodataplugin{background-position:0 -320px}.public-connector-64.elasticsearch{background-position:0 -384px}.public-connector-64.exactonline,.public-connector-64.exactonlinenl{background-position:0 -448px}.public-connector-64.google{background-position:0 -512px}.public-connector-64.googleanalytics,.public-connector-64.googleanalyticsv4{background-position:0 -576px}.public-connector-64.googledrive{background-position:0 -640px}.public-connector-64.hubspot{background-position:0 -704px}.public-connector-64.lobbipad{background-position:0 -768px}.public-connector-64.mailchimp{background-position:0 -832px}.public-connector-64.mariadb{background-position:0 -896px}.public-connector-64.mongodb{background-position:0 -960px}.public-connector-64.mysql{background-position:0 -1024px}.public-connector-64.oracle{background-position:0 -1088px}.public-connector-64.panoply{background-position:0 -1152px}.public-connector-64.pipedrive{background-position:0 -1216px}.public-connector-64.pipelinedb{background-position:0 -1280px}.public-connector-64.postgresql{background-position:0 -1344px}.public-connector-64.presto{background-position:0 -1408px}.public-connector-64.redshift{background-position:0 -1472px}.public-connector-64.salesforce{background-position:0 -1536px}.public-connector-64.saphana{background-position:0 -1600px}.public-connector-64.snowflake{background-position:0 -1664px}.public-connector-64.sqlserver{background-position:0 -1728px}.public-connector-64.stardog{background-position:0 -1792px}.public-connector-64.synapse{background-position:0 -1856px}.public-connector-64.teamleader{background-position:0 -1920px}.public-connector-64.trino{background-position:0 -1984px}.public-connector-64.typeform{background-position:0 -2048px}.public-connector-64.zendesk{background-position:0 -2112px}";
30
+ var z = Object.defineProperty, u = (e, o, n, a) => {
31
+ for (var c = void 0, r = e.length - 1, p; r >= 0; r--)
32
+ (p = e[r]) && (c = p(o, n, c) || c);
33
+ return c && z(o, n, c), c;
34
+ };
35
+ const f = [
36
+ "amazonathena",
37
+ "asana",
38
+ "bigquery",
39
+ "citybikes",
40
+ "clickhouse",
41
+ "demodataplugin",
42
+ "elasticsearch",
43
+ "exact",
44
+ "exactonline",
45
+ "exactonlinenl",
46
+ "google",
47
+ "googleanalytics",
48
+ "googleanalyticsv4",
49
+ "googledrive",
50
+ "hubspot",
51
+ "mailchimp",
52
+ "mariadb",
53
+ "mongodb",
54
+ "mysql",
55
+ "oracle",
56
+ "panoply",
57
+ "pipedrive",
58
+ "pipelinedb",
59
+ "postgresql",
60
+ "presto",
61
+ "redshift",
62
+ "salesforce",
63
+ "saphana",
64
+ "snowflake",
65
+ "sqlserver",
66
+ "stardog",
67
+ "synapse",
68
+ "teamleader",
69
+ "trino",
70
+ "typeform",
71
+ "zendesk"
72
+ ];
73
+ function y(e) {
74
+ const o = {};
75
+ return e.forEach((n) => {
76
+ (n.size === "32px" || n.size === "64px") && (o[n.size] = n.url);
77
+ }), o;
78
+ }
79
+ const l = class l extends m {
80
+ constructor() {
81
+ super(...arguments), this.size = "32px", this.appUrl = "", this._subtype = "", this._isPublicConnector = !1, this._thumbnails = {}, this.thumbnailSizeMap = {
82
+ "16px": "32px",
83
+ "24px": "32px",
84
+ "32px": "32px",
85
+ "48px": "64px",
86
+ "64px": "64px"
87
+ };
88
+ }
89
+ willUpdate(o) {
90
+ (o.has("datasetInfo") || o.has("size")) && this._updateDatasetProperties();
91
+ }
92
+ _updateDatasetProperties() {
93
+ if (!this.datasetInfo) {
94
+ this._subtype = "", this._isPublicConnector = !1, this._thumbnails = {};
95
+ return;
96
+ }
97
+ this._subtype = this.datasetInfo.subtype || "", this._isPublicConnector = this.datasetInfo.subtype !== "api" && this.datasetInfo.subtype !== "upload" && f.includes(
98
+ this.datasetInfo.subtype
99
+ ), this._thumbnails = this.datasetInfo.account?.plugin?.thumbnails ? y(this.datasetInfo.account.plugin.thumbnails) : {};
100
+ }
101
+ render() {
102
+ if (!this.datasetInfo)
103
+ return i``;
104
+ const o = this.thumbnailSizeMap[this.size], n = !!this._thumbnails[o], a = this.size.slice(0, -2), c = this.appUrl ? `${this.appUrl}/assets/images/connectors/sprites/all-connectors.64x64.png` : "", r = this.appUrl ? `${this.appUrl}/assets/images/connectors/sprites/all-connectors.96x96.png` : "";
105
+ if (this._subtype !== "upload" && n) {
106
+ const p = this._thumbnails[o], d = p ? `${this.appUrl}/${p}` : "";
107
+ return i`
108
+ <div
109
+ class="position-relative dataset-icon d-flex justify-content-center"
110
+ style="width: ${this.size}; height: ${this.size};"
111
+ >
112
+ <div class="public-connector">
113
+ <img
114
+ src=${d}
115
+ style="width: ${this.size}; height: ${this.size};"
116
+ alt="Dataset icon"
117
+ />
118
+ </div>
119
+ </div>
120
+ `;
121
+ }
122
+ return this._isPublicConnector && this._subtype !== "upload" && !n ? i`
123
+ <div
124
+ class="position-relative dataset-icon d-flex justify-content-center"
125
+ style="width: ${this.size}; height: ${this.size}; --connector-sprite-64x64: url('${c}'); --connector-sprite-96x96: url('${r}');"
126
+ >
127
+ <div
128
+ class="public-connector-${a} ${this._subtype}"
129
+ ></div>
130
+ </div>
131
+ ` : !this._isPublicConnector && this._subtype === "upload" ? i`
132
+ <div
133
+ class="position-relative dataset-icon d-flex justify-content-center"
134
+ style="width: ${this.size}; height: ${this.size};"
135
+ >
136
+ <div class="text-primary d-flex align-items-center" style="font-size: ${this.size};">
137
+ ${b(g)}
138
+ </div>
139
+ </div>
140
+ ` : !this._isPublicConnector && this._subtype !== "upload" && !n ? i`
141
+ <div
142
+ class="position-relative dataset-icon d-flex justify-content-center"
143
+ style="width: ${this.size}; height: ${this.size};"
144
+ >
145
+ <div class="text-primary ${this._subtype}" style="font-size: ${this.size};">
146
+ ${b(x)}
147
+ </div>
148
+ </div>
149
+ ` : i``;
150
+ }
151
+ };
152
+ l.styles = k(h), l.tagName = "luzmo-dataset-icon";
153
+ let t = l;
154
+ u([
155
+ s({ type: Object, attribute: "dataset" })
156
+ ], t.prototype, "datasetInfo");
157
+ u([
158
+ s({ type: String, reflect: !0 })
159
+ ], t.prototype, "size");
160
+ u([
161
+ s({ type: String, attribute: "app-url" })
162
+ ], t.prototype, "appUrl");
163
+ customElements.get("luzmo-dataset-icon") || customElements.define("luzmo-dataset-icon", t);
164
+ export {
165
+ t as LuzmoDatasetIcon
166
+ };
@@ -1,4 +1,5 @@
1
1
  import { LitElement, TemplateResult } from 'lit';
2
+ import '../dataset-icon';
2
3
  /**
3
4
  * @element luzmo-dataset-selector-list
4
5
  * @summary A list component for selecting datasets with search and infinite scroll