@record-evolution/widget-switch 1.1.8 → 1.1.9

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.
@@ -1,108 +1,107 @@
1
- import { css as d, LitElement as u, html as h } from "lit";
2
- import { repeat as v } from "lit/directives/repeat.js";
3
- import { property as m, state as n, customElement as w } from "lit/decorators.js";
1
+ import { css as m, LitElement as v, html as p } from "lit";
2
+ import { repeat as u } from "lit/directives/repeat.js";
3
+ import { property as d, state as n, customElement as w } from "lit/decorators.js";
4
4
  import "@material/web/switch/switch.js";
5
- var f = Object.defineProperty, g = Object.getOwnPropertyDescriptor, c = (e, t, o, r) => {
6
- for (var l = r > 1 ? void 0 : r ? g(t, o) : t, p = e.length - 1, i; p >= 0; p--)
7
- (i = e[p]) && (l = (r ? i(t, o, l) : i(l)) || l);
8
- return r && l && f(t, o, l), l;
5
+ var f = Object.defineProperty, b = Object.getOwnPropertyDescriptor, c = (t, e, r, o) => {
6
+ for (var l = o > 1 ? void 0 : o ? b(e, r) : e, h = t.length - 1, i; h >= 0; h--)
7
+ (i = t[h]) && (l = (o ? i(e, r, l) : i(l)) || l);
8
+ return o && l && f(e, r, l), l;
9
9
  };
10
- let a = class extends u {
10
+ let a = class extends v {
11
11
  constructor() {
12
- super(), this.dataSets = /* @__PURE__ */ new Map(), this.textActive = !0, this.version = "1.1.8", this.origWidth = 0, this.origHeight = 0, this.resizeObserver = new ResizeObserver(this.applyData.bind(this)), this.resizeObserver.observe(this);
12
+ super(), this.dataSets = /* @__PURE__ */ new Map(), this.textActive = !0, this.version = "1.1.9", this.origWidth = 0, this.origHeight = 0, this.resizeObserver = new ResizeObserver(this.applyData.bind(this)), this.resizeObserver.observe(this);
13
13
  }
14
14
  disconnectedCallback() {
15
15
  super.disconnectedCallback(), this.resizeObserver && this.resizeObserver.disconnect();
16
16
  }
17
- firstUpdated(e) {
17
+ firstUpdated(t) {
18
18
  this.valueContainer = this?.shadowRoot?.querySelector(".value-container"), this.registerTheme(this.theme), this.transformData(), this.applyData();
19
19
  }
20
- update(e) {
21
- e.has("inputData") && (this.transformData(), this.applyData()), e.has("theme") && this.registerTheme(this.theme), super.update(e);
20
+ update(t) {
21
+ t.has("inputData") && (this.transformData(), this.applyData()), t.has("theme") && this.registerTheme(this.theme), super.update(t);
22
22
  }
23
- registerTheme(e) {
24
- const t = getComputedStyle(this).getPropertyValue("--re-text-color").trim(), o = getComputedStyle(this).getPropertyValue("--re-tile-background-color").trim(), r = getComputedStyle(this).getPropertyValue("--re-primary-color").trim();
25
- this.themeBgColor = o || this.theme?.theme_object?.backgroundColor, this.themeTitleColor = t || this.theme?.theme_object?.title?.textStyle?.color, this.themeSubtitleColor = t || this.theme?.theme_object?.title?.subtextStyle?.color || this.themeTitleColor, this.themePrimaryColor = r || this.theme?.theme_object?.color?.[0] || "#5470c6";
23
+ registerTheme(t) {
24
+ this.themeBgColor = `var(--re-tile-background-color, ${this.theme?.theme_object?.backgroundColor || "transparent"})`, this.themeTitleColor = `var(--re-text-color, ${this.theme?.theme_object?.title?.textStyle?.color || "inherit"})`, this.themeSubtitleColor = `var(--re-text-color, ${this.theme?.theme_object?.title?.subtextStyle?.color || this.theme?.theme_object?.title?.textStyle?.color || "inherit"})`, this.themePrimaryColor = `var(--re-primary-color, ${this.theme?.theme_object?.color?.[0] || "#5470c6"})`;
26
25
  }
27
26
  applyData() {
28
27
  }
29
28
  async transformData() {
30
- this.inputData && (this.dataSets.forEach((e) => {
31
- e.label ??= "";
32
- }), this.dataSets = /* @__PURE__ */ new Map(), this.inputData?.dataseries?.forEach((e, t) => {
33
- e.selected = void 0;
34
- let o = e.label;
35
- this.dataSets.has(o ?? "") && (o += "-" + t);
36
- const r = {
37
- label: o,
38
- description: e?.description,
39
- actionApp: e?.actionApp,
40
- actionDevice: e?.actionDevice,
41
- actionTopic: e?.actionTopic,
42
- multiChart: e.multiChart,
43
- selected: this.isSelected(e)
29
+ this.inputData && (this.dataSets.forEach((t) => {
30
+ t.label ??= "";
31
+ }), this.dataSets = /* @__PURE__ */ new Map(), this.inputData?.dataseries?.forEach((t, e) => {
32
+ t.selected = void 0;
33
+ let r = t.label;
34
+ this.dataSets.has(r ?? "") && (r += "-" + e);
35
+ const o = {
36
+ label: r,
37
+ description: t?.description,
38
+ actionApp: t?.actionApp,
39
+ actionDevice: t?.actionDevice,
40
+ actionTopic: t?.actionTopic,
41
+ multiChart: t.multiChart,
42
+ selected: this.isSelected(t)
44
43
  };
45
- this.dataSets.set(r.label ?? "", r);
44
+ this.dataSets.set(o.label ?? "", o);
46
45
  }));
47
46
  }
48
- isSelected(e) {
49
- const t = e.value;
50
- if (t === void 0) return;
51
- const o = e?.stateMap?.on;
52
- if (o?.startsWith("<=")) {
53
- const i = parseFloat(t ?? ""), s = parseFloat(o.substring(2));
47
+ isSelected(t) {
48
+ const e = t.value;
49
+ if (e === void 0) return;
50
+ const r = t?.stateMap?.on;
51
+ if (r?.startsWith("<=")) {
52
+ const i = parseFloat(e ?? ""), s = parseFloat(r.substring(2));
54
53
  return isNaN(i) || isNaN(s) ? void 0 : i <= s;
55
54
  }
56
- if (o?.startsWith("<")) {
57
- const i = parseFloat(t ?? ""), s = parseFloat(o.substring(1));
55
+ if (r?.startsWith("<")) {
56
+ const i = parseFloat(e ?? ""), s = parseFloat(r.substring(1));
58
57
  return isNaN(i) || isNaN(s) ? void 0 : i < s;
59
58
  }
60
- if (o?.startsWith(">=")) {
61
- const i = parseFloat(t ?? ""), s = parseFloat(o.substring(2));
59
+ if (r?.startsWith(">=")) {
60
+ const i = parseFloat(e ?? ""), s = parseFloat(r.substring(2));
62
61
  return isNaN(i) || isNaN(s) ? void 0 : i >= s;
63
62
  }
64
- if (o?.startsWith(">")) {
65
- const i = parseFloat(t ?? ""), s = parseFloat(o.substring(1));
63
+ if (r?.startsWith(">")) {
64
+ const i = parseFloat(e ?? ""), s = parseFloat(r.substring(1));
66
65
  return isNaN(i) || isNaN(s) ? void 0 : i > s;
67
66
  }
68
- const r = e?.stateMap?.off;
69
- if (r?.startsWith("<=")) {
70
- const i = parseFloat(t ?? ""), s = parseFloat(r.substring(2));
67
+ const o = t?.stateMap?.off;
68
+ if (o?.startsWith("<=")) {
69
+ const i = parseFloat(e ?? ""), s = parseFloat(o.substring(2));
71
70
  return isNaN(i) || isNaN(s) ? void 0 : i > s;
72
71
  }
73
- if (r?.startsWith("<")) {
74
- const i = parseFloat(t ?? ""), s = parseFloat(r.substring(1));
72
+ if (o?.startsWith("<")) {
73
+ const i = parseFloat(e ?? ""), s = parseFloat(o.substring(1));
75
74
  return isNaN(i) || isNaN(s) ? void 0 : i <= s;
76
75
  }
77
- if (r?.startsWith(">=")) {
78
- const i = parseFloat(t ?? ""), s = parseFloat(r.substring(2));
76
+ if (o?.startsWith(">=")) {
77
+ const i = parseFloat(e ?? ""), s = parseFloat(o.substring(2));
79
78
  return isNaN(i) || isNaN(s) ? void 0 : i < s;
80
79
  }
81
- if (r?.startsWith(">")) {
82
- const i = parseFloat(t ?? ""), s = parseFloat(r.substring(1));
80
+ if (o?.startsWith(">")) {
81
+ const i = parseFloat(e ?? ""), s = parseFloat(o.substring(1));
83
82
  return isNaN(i) || isNaN(s) ? void 0 : i <= s;
84
83
  }
85
- if ((o?.split(",").map((i) => i.trim().replace('"', "").replace("'", "")) ?? []).includes(String(t) ?? "")) return !0;
86
- if ((r?.split(",").map((i) => i.trim().replace('"', "").replace("'", "")) ?? []).includes(String(t) ?? "")) return !1;
84
+ if ((r?.split(",").map((i) => i.trim().replace('"', "").replace("'", "")) ?? []).includes(String(e) ?? "")) return !0;
85
+ if ((o?.split(",").map((i) => i.trim().replace('"', "").replace("'", "")) ?? []).includes(String(e) ?? "")) return !1;
87
86
  }
88
- handleActionSubmit(e) {
89
- const t = e.target, o = {
90
- args: t?.selected,
91
- actionApp: t?.actionApp,
92
- actionDevice: t?.actionDevice,
93
- actionTopic: t?.actionTopic,
94
- label: t?.label
87
+ handleActionSubmit(t) {
88
+ const e = t.target, r = {
89
+ args: e?.selected,
90
+ actionApp: e?.actionApp,
91
+ actionDevice: e?.actionDevice,
92
+ actionTopic: e?.actionTopic,
93
+ label: e?.label
95
94
  };
96
95
  this.dispatchEvent(
97
96
  new CustomEvent("action-submit", {
98
- detail: o,
97
+ detail: r,
99
98
  bubbles: !1,
100
99
  composed: !1
101
100
  })
102
101
  );
103
102
  }
104
103
  render() {
105
- return h`
104
+ return p`
106
105
  <div
107
106
  class="wrapper"
108
107
  style="background-color: ${this.themeBgColor}; color: ${this.themeTitleColor}; --switch-primary-color: ${this.themePrimaryColor}; --switch-text-color: ${this.themeTitleColor}"
@@ -119,28 +118,28 @@ let a = class extends u {
119
118
  </header>
120
119
 
121
120
  <div class="value-container">
122
- ${v(
121
+ ${u(
123
122
  [...this.dataSets.entries()].sort(),
124
- ([e]) => e,
125
- ([e, t]) => h`
126
- <div class="switch" label="${e}">
123
+ ([t]) => t,
124
+ ([t, e]) => p`
125
+ <div class="switch" label="${t}">
127
126
  <div class="switch-text">
128
- <span class="switch-label">${e}</span>
127
+ <span class="switch-label">${t}</span>
129
128
  <span
130
129
  class="switch-hint paging"
131
- ?active=${!!t.description}
130
+ ?active=${!!e.description}
132
131
  style="color: ${this.themeSubtitleColor}"
133
- >${t.description}</span
132
+ >${e.description}</span
134
133
  >
135
134
  </div>
136
135
  <label
137
136
  ><md-switch
138
- aria-label="${e}"
139
- ?selected="${!!t.selected}"
140
- .actionApp="${t?.actionApp}"
141
- .actionDevice="${t?.actionDevice}"
142
- .actionTopic="${t?.actionTopic}"
143
- .label="${e}"
137
+ aria-label="${t}"
138
+ ?selected="${!!e.selected}"
139
+ .actionApp="${e?.actionApp}"
140
+ .actionDevice="${e?.actionDevice}"
141
+ .actionTopic="${e?.actionTopic}"
142
+ .label="${t}"
144
143
  @change="${this.handleActionSubmit}"
145
144
  ></md-switch
146
145
  ></label>
@@ -152,7 +151,7 @@ let a = class extends u {
152
151
  `;
153
152
  }
154
153
  };
155
- a.styles = d`
154
+ a.styles = m`
156
155
  :host {
157
156
  display: block;
158
157
  font-family: sans-serif;
@@ -272,10 +271,10 @@ a.styles = d`
272
271
  }
273
272
  `;
274
273
  c([
275
- m({ type: Object })
274
+ d({ type: Object })
276
275
  ], a.prototype, "inputData", 2);
277
276
  c([
278
- m({ type: Object })
277
+ d({ type: Object })
279
278
  ], a.prototype, "theme", 2);
280
279
  c([
281
280
  n()
@@ -296,7 +295,7 @@ c([
296
295
  n()
297
296
  ], a.prototype, "themePrimaryColor", 2);
298
297
  a = c([
299
- w("widget-switch-1.1.8")
298
+ w("widget-switch-1.1.9")
300
299
  ], a);
301
300
  export {
302
301
  a as WidgetSwitch
@@ -1 +1 @@
1
- {"version":3,"file":"widget-switch.js","sources":["../src/widget-switch.ts"],"sourcesContent":["import { html, css, LitElement, PropertyValueMap } from 'lit'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SwitchConfiguration } from './definition-schema.js'\nimport '@material/web/switch/switch.js'\nimport { MdSwitch } from '@material/web/switch/switch.js'\n\ntype Dataseries = Exclude<SwitchConfiguration['dataseries'], undefined>[number] & { needleValue?: number }\ntype Theme = {\n theme_name: string\n theme_object: any\n}\n@customElement('widget-switch-versionplaceholder')\nexport class WidgetSwitch extends LitElement {\n @property({ type: Object })\n inputData?: SwitchConfiguration\n\n @property({ type: Object })\n theme?: Theme\n\n @state()\n private dataSets: Map<string, Dataseries> = new Map()\n\n @state()\n private textActive: boolean = true\n\n @state() private themeBgColor?: string\n @state() private themeTitleColor?: string\n @state() private themeSubtitleColor?: string\n @state() private themePrimaryColor?: string\n\n version: string = 'versionplaceholder'\n\n private resizeObserver: ResizeObserver\n\n valueContainer?: HTMLDivElement\n boxes?: HTMLDivElement[]\n origWidth: number = 0\n origHeight: number = 0\n constructor() {\n super()\n this.resizeObserver = new ResizeObserver(this.applyData.bind(this))\n this.resizeObserver.observe(this)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n }\n }\n\n protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n this.valueContainer = this?.shadowRoot?.querySelector('.value-container') as HTMLDivElement\n\n this.registerTheme(this.theme)\n this.transformData()\n this.applyData()\n }\n\n update(changedProperties: Map<string, any>) {\n if (changedProperties.has('inputData')) {\n this.transformData()\n this.applyData()\n }\n\n if (changedProperties.has('theme')) {\n this.registerTheme(this.theme)\n }\n\n super.update(changedProperties)\n }\n\n registerTheme(theme?: Theme) {\n const cssTextColor = getComputedStyle(this).getPropertyValue('--re-text-color').trim()\n const cssBgColor = getComputedStyle(this).getPropertyValue('--re-tile-background-color').trim()\n const cssPrimaryColor = getComputedStyle(this).getPropertyValue('--re-primary-color').trim()\n this.themeBgColor = cssBgColor || this.theme?.theme_object?.backgroundColor\n this.themeTitleColor = cssTextColor || this.theme?.theme_object?.title?.textStyle?.color\n this.themeSubtitleColor =\n cssTextColor || this.theme?.theme_object?.title?.subtextStyle?.color || this.themeTitleColor\n this.themePrimaryColor = cssPrimaryColor || this.theme?.theme_object?.color?.[0] || '#5470c6'\n }\n\n applyData() {}\n\n async transformData() {\n if (!this.inputData) return\n this.dataSets.forEach((d) => {\n d.label ??= ''\n })\n this.dataSets = new Map()\n this.inputData?.dataseries\n // ?.sort((a, b) => a.order - b.order)\n ?.forEach((ds, idx) => {\n // pivot data\n ds.selected = undefined\n let label = ds.label\n if (this.dataSets.has(label ?? '')) {\n label += '-' + idx\n }\n const pds: Dataseries = {\n label: label,\n description: ds?.description,\n actionApp: ds?.actionApp,\n actionDevice: ds?.actionDevice,\n actionTopic: ds?.actionTopic,\n multiChart: ds.multiChart,\n selected: this.isSelected(ds)\n }\n this.dataSets.set(pds.label ?? '', pds)\n })\n // console.log('Value Datasets', this.dataSets)\n }\n\n isSelected(ds: Dataseries): boolean | undefined {\n const value = ds.value\n if (value === undefined) return undefined\n const on = ds?.stateMap?.on\n if (on?.startsWith('<=')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(on.substring(2))\n return isNaN(val) || isNaN(comp) ? undefined : val <= comp\n }\n if (on?.startsWith('<')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(on.substring(1))\n return isNaN(val) || isNaN(comp) ? undefined : val < comp\n }\n if (on?.startsWith('>=')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(on.substring(2))\n return isNaN(val) || isNaN(comp) ? undefined : val >= comp\n }\n if (on?.startsWith('>')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(on.substring(1))\n return isNaN(val) || isNaN(comp) ? undefined : val > comp\n }\n\n const off = ds?.stateMap?.off\n if (off?.startsWith('<=')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(off.substring(2))\n return isNaN(val) || isNaN(comp) ? undefined : val > comp\n }\n if (off?.startsWith('<')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(off.substring(1))\n return isNaN(val) || isNaN(comp) ? undefined : val <= comp\n }\n if (off?.startsWith('>=')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(off.substring(2))\n return isNaN(val) || isNaN(comp) ? undefined : val < comp\n }\n if (off?.startsWith('>')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(off.substring(1))\n return isNaN(val) || isNaN(comp) ? undefined : val <= comp\n }\n\n const onValues = on?.split(',').map((v) => v.trim().replace('\"', '').replace(\"'\", '')) ?? []\n if (onValues.includes(String(value) ?? '')) return true\n\n const offValues = off?.split(',').map((v) => v.trim().replace('\"', '').replace(\"'\", '')) ?? []\n if (offValues.includes(String(value) ?? '')) return false\n\n return undefined\n }\n\n handleActionSubmit(e: any) {\n const switchEl = e.target\n const payload = {\n args: switchEl?.selected,\n actionApp: switchEl?.actionApp,\n actionDevice: switchEl?.actionDevice,\n actionTopic: switchEl?.actionTopic,\n label: switchEl?.label\n }\n this.dispatchEvent(\n new CustomEvent('action-submit', {\n detail: payload,\n bubbles: false,\n composed: false\n })\n )\n }\n\n static styles = css`\n :host {\n display: block;\n font-family: sans-serif;\n box-sizing: border-box;\n position: relative;\n margin: auto;\n }\n\n .paging:not([active]) {\n display: none !important;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n padding: 2cqh 2cqw;\n box-sizing: border-box;\n }\n\n h3 {\n margin: 0;\n max-width: 300px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n p {\n margin: 10px 0 0 0;\n max-width: 300px;\n font-size: 14px;\n line-height: 17px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .value-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n line-height: 0.9;\n flex: 1;\n overflow: hidden;\n position: relative;\n gap: 12px;\n }\n\n .switch {\n overflow: hidden;\n display: flex;\n align-items: center;\n gap: 12px;\n box-sizing: border-box;\n }\n\n .switch-text {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n max-width: 300px;\n line-height: 1.2;\n }\n\n .switch-hint {\n font-size: 12px;\n line-height: 15px;\n opacity: 0.75;\n overflow-wrap: anywhere;\n }\n\n md-switch {\n --md-switch-selected-handle-color: var(--switch-primary-color, #5470c6);\n --md-switch-selected-hover-handle-color: var(--switch-primary-color, #5470c6);\n --md-switch-selected-focus-handle-color: var(--switch-primary-color, #5470c6);\n --md-switch-selected-pressed-handle-color: var(--switch-primary-color, #5470c6);\n --md-switch-selected-track-color: color-mix(\n in srgb,\n var(--switch-primary-color, #5470c6) 40%,\n transparent\n );\n --md-switch-selected-hover-track-color: color-mix(\n in srgb,\n var(--switch-primary-color, #5470c6) 50%,\n transparent\n );\n --md-switch-selected-focus-track-color: color-mix(\n in srgb,\n var(--switch-primary-color, #5470c6) 50%,\n transparent\n );\n --md-switch-selected-pressed-track-color: color-mix(\n in srgb,\n var(--switch-primary-color, #5470c6) 50%,\n transparent\n );\n --md-switch-unselected-handle-color: var(--switch-text-color, #464646);\n --md-switch-unselected-track-color: color-mix(\n in srgb,\n var(--switch-text-color, #464646) 20%,\n transparent\n );\n --md-switch-unselected-track-outline-color: var(--switch-text-color, #464646);\n }\n\n .no-data {\n font-size: 20px;\n display: flex;\n height: 100%;\n width: 100%;\n text-align: center;\n align-items: center;\n justify-content: center;\n }\n `\n\n render() {\n return html`\n <div\n class=\"wrapper\"\n style=\"background-color: ${this.themeBgColor}; color: ${this\n .themeTitleColor}; --switch-primary-color: ${this\n .themePrimaryColor}; --switch-text-color: ${this.themeTitleColor}\"\n >\n <header>\n <h3 class=\"paging\" ?active=${this.inputData?.title}>${this.inputData?.title}</h3>\n <p\n class=\"paging\"\n ?active=${this.inputData?.subTitle}\n style=\"color: ${this.themeSubtitleColor}\"\n >\n ${this.inputData?.subTitle}\n </p>\n </header>\n\n <div class=\"value-container\">\n ${repeat(\n [...this.dataSets.entries()].sort(),\n ([label]) => label,\n ([label, ds]) => {\n return html`\n <div class=\"switch\" label=\"${label}\">\n <div class=\"switch-text\">\n <span class=\"switch-label\">${label}</span>\n <span\n class=\"switch-hint paging\"\n ?active=${!!ds.description}\n style=\"color: ${this.themeSubtitleColor}\"\n >${ds.description}</span\n >\n </div>\n <label\n ><md-switch\n aria-label=\"${label}\"\n ?selected=\"${!!ds.selected}\"\n .actionApp=\"${ds?.actionApp}\"\n .actionDevice=\"${ds?.actionDevice}\"\n .actionTopic=\"${ds?.actionTopic}\"\n .label=\"${label}\"\n @change=\"${this.handleActionSubmit}\"\n ></md-switch\n ></label>\n </div>\n `\n }\n )}\n </div>\n </div>\n `\n }\n}\n"],"names":["WidgetSwitch","LitElement","_changedProperties","changedProperties","theme","cssTextColor","cssBgColor","cssPrimaryColor","d","ds","idx","label","pds","value","on","val","comp","off","v","switchEl","payload","html","repeat","css","__decorateClass","property","state","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"widget-switch.js","sources":["../src/widget-switch.ts"],"sourcesContent":["import { html, css, LitElement, PropertyValueMap } from 'lit'\nimport { repeat } from 'lit/directives/repeat.js'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { SwitchConfiguration } from './definition-schema.js'\nimport '@material/web/switch/switch.js'\nimport { MdSwitch } from '@material/web/switch/switch.js'\n\ntype Dataseries = Exclude<SwitchConfiguration['dataseries'], undefined>[number] & { needleValue?: number }\ntype Theme = {\n theme_name: string\n theme_object: any\n}\n@customElement('widget-switch-versionplaceholder')\nexport class WidgetSwitch extends LitElement {\n @property({ type: Object })\n inputData?: SwitchConfiguration\n\n @property({ type: Object })\n theme?: Theme\n\n @state()\n private dataSets: Map<string, Dataseries> = new Map()\n\n @state()\n private textActive: boolean = true\n\n @state() private themeBgColor?: string\n @state() private themeTitleColor?: string\n @state() private themeSubtitleColor?: string\n @state() private themePrimaryColor?: string\n\n version: string = 'versionplaceholder'\n\n private resizeObserver: ResizeObserver\n\n valueContainer?: HTMLDivElement\n boxes?: HTMLDivElement[]\n origWidth: number = 0\n origHeight: number = 0\n constructor() {\n super()\n this.resizeObserver = new ResizeObserver(this.applyData.bind(this))\n this.resizeObserver.observe(this)\n }\n\n disconnectedCallback() {\n super.disconnectedCallback()\n if (this.resizeObserver) {\n this.resizeObserver.disconnect()\n }\n }\n\n protected firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>) {\n this.valueContainer = this?.shadowRoot?.querySelector('.value-container') as HTMLDivElement\n\n this.registerTheme(this.theme)\n this.transformData()\n this.applyData()\n }\n\n update(changedProperties: Map<string, any>) {\n if (changedProperties.has('inputData')) {\n this.transformData()\n this.applyData()\n }\n\n if (changedProperties.has('theme')) {\n this.registerTheme(this.theme)\n }\n\n super.update(changedProperties)\n }\n\n registerTheme(theme?: Theme) {\n this.themeBgColor = `var(--re-tile-background-color, ${this.theme?.theme_object?.backgroundColor || 'transparent'})`\n this.themeTitleColor = `var(--re-text-color, ${this.theme?.theme_object?.title?.textStyle?.color || 'inherit'})`\n this.themeSubtitleColor = `var(--re-text-color, ${this.theme?.theme_object?.title?.subtextStyle?.color || this.theme?.theme_object?.title?.textStyle?.color || 'inherit'})`\n this.themePrimaryColor = `var(--re-primary-color, ${this.theme?.theme_object?.color?.[0] || '#5470c6'})`\n }\n\n applyData() {}\n\n async transformData() {\n if (!this.inputData) return\n this.dataSets.forEach((d) => {\n d.label ??= ''\n })\n this.dataSets = new Map()\n this.inputData?.dataseries\n // ?.sort((a, b) => a.order - b.order)\n ?.forEach((ds, idx) => {\n // pivot data\n ds.selected = undefined\n let label = ds.label\n if (this.dataSets.has(label ?? '')) {\n label += '-' + idx\n }\n const pds: Dataseries = {\n label: label,\n description: ds?.description,\n actionApp: ds?.actionApp,\n actionDevice: ds?.actionDevice,\n actionTopic: ds?.actionTopic,\n multiChart: ds.multiChart,\n selected: this.isSelected(ds)\n }\n this.dataSets.set(pds.label ?? '', pds)\n })\n // console.log('Value Datasets', this.dataSets)\n }\n\n isSelected(ds: Dataseries): boolean | undefined {\n const value = ds.value\n if (value === undefined) return undefined\n const on = ds?.stateMap?.on\n if (on?.startsWith('<=')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(on.substring(2))\n return isNaN(val) || isNaN(comp) ? undefined : val <= comp\n }\n if (on?.startsWith('<')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(on.substring(1))\n return isNaN(val) || isNaN(comp) ? undefined : val < comp\n }\n if (on?.startsWith('>=')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(on.substring(2))\n return isNaN(val) || isNaN(comp) ? undefined : val >= comp\n }\n if (on?.startsWith('>')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(on.substring(1))\n return isNaN(val) || isNaN(comp) ? undefined : val > comp\n }\n\n const off = ds?.stateMap?.off\n if (off?.startsWith('<=')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(off.substring(2))\n return isNaN(val) || isNaN(comp) ? undefined : val > comp\n }\n if (off?.startsWith('<')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(off.substring(1))\n return isNaN(val) || isNaN(comp) ? undefined : val <= comp\n }\n if (off?.startsWith('>=')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(off.substring(2))\n return isNaN(val) || isNaN(comp) ? undefined : val < comp\n }\n if (off?.startsWith('>')) {\n const val = parseFloat(value ?? '')\n const comp = parseFloat(off.substring(1))\n return isNaN(val) || isNaN(comp) ? undefined : val <= comp\n }\n\n const onValues = on?.split(',').map((v) => v.trim().replace('\"', '').replace(\"'\", '')) ?? []\n if (onValues.includes(String(value) ?? '')) return true\n\n const offValues = off?.split(',').map((v) => v.trim().replace('\"', '').replace(\"'\", '')) ?? []\n if (offValues.includes(String(value) ?? '')) return false\n\n return undefined\n }\n\n handleActionSubmit(e: any) {\n const switchEl = e.target\n const payload = {\n args: switchEl?.selected,\n actionApp: switchEl?.actionApp,\n actionDevice: switchEl?.actionDevice,\n actionTopic: switchEl?.actionTopic,\n label: switchEl?.label\n }\n this.dispatchEvent(\n new CustomEvent('action-submit', {\n detail: payload,\n bubbles: false,\n composed: false\n })\n )\n }\n\n static styles = css`\n :host {\n display: block;\n font-family: sans-serif;\n box-sizing: border-box;\n position: relative;\n margin: auto;\n }\n\n .paging:not([active]) {\n display: none !important;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n padding: 2cqh 2cqw;\n box-sizing: border-box;\n }\n\n h3 {\n margin: 0;\n max-width: 300px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n p {\n margin: 10px 0 0 0;\n max-width: 300px;\n font-size: 14px;\n line-height: 17px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .value-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n line-height: 0.9;\n flex: 1;\n overflow: hidden;\n position: relative;\n gap: 12px;\n }\n\n .switch {\n overflow: hidden;\n display: flex;\n align-items: center;\n gap: 12px;\n box-sizing: border-box;\n }\n\n .switch-text {\n display: flex;\n flex-direction: column;\n gap: 2px;\n min-width: 0;\n max-width: 300px;\n line-height: 1.2;\n }\n\n .switch-hint {\n font-size: 12px;\n line-height: 15px;\n opacity: 0.75;\n overflow-wrap: anywhere;\n }\n\n md-switch {\n --md-switch-selected-handle-color: var(--switch-primary-color, #5470c6);\n --md-switch-selected-hover-handle-color: var(--switch-primary-color, #5470c6);\n --md-switch-selected-focus-handle-color: var(--switch-primary-color, #5470c6);\n --md-switch-selected-pressed-handle-color: var(--switch-primary-color, #5470c6);\n --md-switch-selected-track-color: color-mix(\n in srgb,\n var(--switch-primary-color, #5470c6) 40%,\n transparent\n );\n --md-switch-selected-hover-track-color: color-mix(\n in srgb,\n var(--switch-primary-color, #5470c6) 50%,\n transparent\n );\n --md-switch-selected-focus-track-color: color-mix(\n in srgb,\n var(--switch-primary-color, #5470c6) 50%,\n transparent\n );\n --md-switch-selected-pressed-track-color: color-mix(\n in srgb,\n var(--switch-primary-color, #5470c6) 50%,\n transparent\n );\n --md-switch-unselected-handle-color: var(--switch-text-color, #464646);\n --md-switch-unselected-track-color: color-mix(\n in srgb,\n var(--switch-text-color, #464646) 20%,\n transparent\n );\n --md-switch-unselected-track-outline-color: var(--switch-text-color, #464646);\n }\n\n .no-data {\n font-size: 20px;\n display: flex;\n height: 100%;\n width: 100%;\n text-align: center;\n align-items: center;\n justify-content: center;\n }\n `\n\n render() {\n return html`\n <div\n class=\"wrapper\"\n style=\"background-color: ${this.themeBgColor}; color: ${this\n .themeTitleColor}; --switch-primary-color: ${this\n .themePrimaryColor}; --switch-text-color: ${this.themeTitleColor}\"\n >\n <header>\n <h3 class=\"paging\" ?active=${this.inputData?.title}>${this.inputData?.title}</h3>\n <p\n class=\"paging\"\n ?active=${this.inputData?.subTitle}\n style=\"color: ${this.themeSubtitleColor}\"\n >\n ${this.inputData?.subTitle}\n </p>\n </header>\n\n <div class=\"value-container\">\n ${repeat(\n [...this.dataSets.entries()].sort(),\n ([label]) => label,\n ([label, ds]) => {\n return html`\n <div class=\"switch\" label=\"${label}\">\n <div class=\"switch-text\">\n <span class=\"switch-label\">${label}</span>\n <span\n class=\"switch-hint paging\"\n ?active=${!!ds.description}\n style=\"color: ${this.themeSubtitleColor}\"\n >${ds.description}</span\n >\n </div>\n <label\n ><md-switch\n aria-label=\"${label}\"\n ?selected=\"${!!ds.selected}\"\n .actionApp=\"${ds?.actionApp}\"\n .actionDevice=\"${ds?.actionDevice}\"\n .actionTopic=\"${ds?.actionTopic}\"\n .label=\"${label}\"\n @change=\"${this.handleActionSubmit}\"\n ></md-switch\n ></label>\n </div>\n `\n }\n )}\n </div>\n </div>\n `\n }\n}\n"],"names":["WidgetSwitch","LitElement","_changedProperties","changedProperties","theme","d","ds","idx","label","pds","value","on","val","comp","off","v","e","switchEl","payload","html","repeat","css","__decorateClass","property","state","customElement"],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "IronFlock Widget widget-switch",
4
4
  "license": "MIT",
5
5
  "author": "Record Evolution GmbH",
6
- "version": "1.1.8",
6
+ "version": "1.1.9",
7
7
  "engines": {
8
8
  "node": ">=24.9.0",
9
9
  "npm": ">=10.0.2"
@@ -26,7 +26,11 @@
26
26
  "link": "npm run build && npm link && cd ../RESWARM/frontend && npm link @record-evolution/widget-switch",
27
27
  "unlink": "npm unlink --global && cd ../RESWARM/frontend && npm unlink @record-evolution/widget-switch && npm i @record-evolution/widget-switch",
28
28
  "types": "cat src/definition-schema.json | json2ts --style.tabWidth=4 > src/definition-schema.d.ts",
29
- "release": "npm run build && npm run types && npm version patch --tag-version-prefix='' && git push && git push --tag && npm run build"
29
+ "preversion": "sh scripts/release-preflight.sh",
30
+ "postversion": "git push --follow-tags && sh scripts/release-verify.sh",
31
+ "release": "npm version patch",
32
+ "release:minor": "npm version minor",
33
+ "release:major": "npm version major"
30
34
  },
31
35
  "dependencies": {
32
36
  "lit": "^3.3.3",
@@ -72,14 +72,10 @@ export class WidgetSwitch extends LitElement {
72
72
  }
73
73
 
74
74
  registerTheme(theme?: Theme) {
75
- const cssTextColor = getComputedStyle(this).getPropertyValue('--re-text-color').trim()
76
- const cssBgColor = getComputedStyle(this).getPropertyValue('--re-tile-background-color').trim()
77
- const cssPrimaryColor = getComputedStyle(this).getPropertyValue('--re-primary-color').trim()
78
- this.themeBgColor = cssBgColor || this.theme?.theme_object?.backgroundColor
79
- this.themeTitleColor = cssTextColor || this.theme?.theme_object?.title?.textStyle?.color
80
- this.themeSubtitleColor =
81
- cssTextColor || this.theme?.theme_object?.title?.subtextStyle?.color || this.themeTitleColor
82
- this.themePrimaryColor = cssPrimaryColor || this.theme?.theme_object?.color?.[0] || '#5470c6'
75
+ this.themeBgColor = `var(--re-tile-background-color, ${this.theme?.theme_object?.backgroundColor || 'transparent'})`
76
+ this.themeTitleColor = `var(--re-text-color, ${this.theme?.theme_object?.title?.textStyle?.color || 'inherit'})`
77
+ this.themeSubtitleColor = `var(--re-text-color, ${this.theme?.theme_object?.title?.subtextStyle?.color || this.theme?.theme_object?.title?.textStyle?.color || 'inherit'})`
78
+ this.themePrimaryColor = `var(--re-primary-color, ${this.theme?.theme_object?.color?.[0] || '#5470c6'})`
83
79
  }
84
80
 
85
81
  applyData() {}