energy-components 2.2.0 → 2.3.0

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,24 +1,69 @@
1
- import { defineComponent as q, computed as h, openBlock as s, createElementBlock as r, normalizeClass as i, createElementVNode as d, Fragment as u, renderList as _, normalizeStyle as C, renderSlot as k, createVNode as f, withModifiers as v, unref as g, createCommentVNode as b, toDisplayString as p, createTextVNode as F } from "vue";
2
- import S from "./checkbox.es.js";
3
- import { R as L } from "./icon-svg-CW3eQRcp.js";
4
- import { g as M } from "./getInstance-GhoEcxLF.js";
5
- import { _ as j } from "./_plugin-vue_export-helper-CHgC5LLL.js";
6
- import './style/tableRenderer.css';const G = { key: 0 }, J = ["aria-sort", "onClick"], O = {
1
+ import { reactive as se, ref as j, watch as M, getCurrentInstance as le, onUnmounted as re, defineComponent as oe, computed as w, onMounted as ie, nextTick as A, openBlock as o, createElementBlock as i, normalizeClass as b, createElementVNode as d, normalizeStyle as V, Fragment as z, renderList as K, unref as E, withModifiers as L, createCommentVNode as _, renderSlot as N, createVNode as H, toDisplayString as U } from "vue";
2
+ import F from "./checkbox.es.js";
3
+ import ce from "./loader.es.js";
4
+ import { g as ae } from "./getInstance-GhoEcxLF.js";
5
+ import { _ as de } from "./_plugin-vue_export-helper-CHgC5LLL.js";
6
+ import './style/tableRenderer.css';const P = 150, ue = 50;
7
+ function X(l, u) {
8
+ if (!l) return u;
9
+ const n = Number.parseFloat(l);
10
+ return Number.isNaN(n) ? u : n;
11
+ }
12
+ function ye(l) {
13
+ const u = se({}), n = j(null), g = () => {
14
+ const y = new Set(l.value.map((c) => c.key));
15
+ for (const c of Object.keys(u))
16
+ y.has(c) || delete u[c];
17
+ for (const c of l.value)
18
+ u[c.key] === void 0 && (u[c.key] = X(c.width, P));
19
+ };
20
+ g(), M(l, g, { deep: !0 });
21
+ let p = 0, v = 0, h = null;
22
+ function S() {
23
+ document.removeEventListener("pointermove", x), document.removeEventListener("pointerup", C), document.removeEventListener("pointercancel", C), document.body.style.cursor = "", document.body.style.userSelect = "";
24
+ }
25
+ function x(y) {
26
+ const c = n.value;
27
+ if (!c) return;
28
+ const f = l.value.find((R) => R.key === c), m = X(f?.minWidth, ue), $ = y.clientX - p;
29
+ u[c] = Math.max(m, v + $);
30
+ }
31
+ function C(y) {
32
+ n.value && (h?.(n.value), n.value = null, S());
33
+ }
34
+ function k(y) {
35
+ const c = new Set(l.value.map((f) => f.key));
36
+ for (const [f, m] of Object.entries(y))
37
+ c.has(f) && (!Number.isFinite(m) || m <= 0 || (u[f] = m));
38
+ }
39
+ function D(y, c, f, m) {
40
+ const $ = l.value.find((T) => T.key === y);
41
+ if (!$ || $.resizable !== !0) return;
42
+ n.value = y, p = c.clientX, v = m || u[y] || P, h = f, c.currentTarget?.setPointerCapture?.(c.pointerId), document.addEventListener("pointermove", x), document.addEventListener("pointerup", C), document.addEventListener("pointercancel", C), document.body.style.cursor = "col-resize", document.body.style.userSelect = "none";
43
+ }
44
+ function B() {
45
+ n.value && (n.value = null, S());
46
+ }
47
+ return le() && re(() => {
48
+ S();
49
+ }), { columnWidths: u, resizingKey: n, startResize: D, stopResize: B, applyMeasuredWidths: k };
50
+ }
51
+ const be = { key: 0 }, fe = ["aria-sort", "onClick"], me = ["onPointerdown"], ke = {
7
52
  key: 0,
8
53
  class: "header-content header-content--center"
9
- }, P = ["for"], Q = {
54
+ }, _e = ["for"], pe = {
10
55
  key: 0,
11
56
  class: "rds-e-table-renderer__sortable-icon rds-flex rds-flex-center-center rds-flex-col"
12
- }, W = {
57
+ }, ve = {
13
58
  key: 0,
14
59
  class: "loading-row"
15
- }, X = ["colspan"], Y = { class: "loading-overlay" }, Z = ["onClick"], I = ["data-label"], ee = ["for"], te = {
60
+ }, ge = ["colspan"], he = { class: "loading-overlay" }, Ce = ["onClick"], $e = ["data-label"], Re = ["for"], we = {
16
61
  key: 0,
17
62
  class: "rds-e-table-renderer__group--dropdown"
18
- }, le = ["colspan"], se = {
63
+ }, ze = ["colspan"], Se = {
19
64
  key: 1,
20
65
  class: "rds-e-table-renderer__group--spacer"
21
- }, re = ["colspan"], ne = { key: 2 }, oe = ["colspan"], de = { class: "rds-e-table-renderer__empty-state" }, ae = { class: "rds-title-02" }, ce = /* @__PURE__ */ q({
66
+ }, xe = ["colspan"], Ee = { key: 2 }, De = ["colspan"], We = { class: "rds-e-table-renderer__empty-state" }, Ke = { class: "rds-title-02" }, Le = /* @__PURE__ */ oe({
22
67
  __name: "table-renderer",
23
68
  props: {
24
69
  headers: {},
@@ -33,197 +78,255 @@ import './style/tableRenderer.css';const G = { key: 0 }, J = ["aria-sort", "onCl
33
78
  emptyStateText: { default: "No hay elementos a mostrar." },
34
79
  selectedKeys: { default: () => [] },
35
80
  expandedKeys: { default: () => [] },
81
+ resizableColumns: { type: Boolean },
36
82
  rowClass: {},
37
83
  cellClass: {},
38
84
  isRowDisabled: {}
39
85
  },
40
- emits: ["headerClick", "toggleSelectAll", "toggleRowSelection", "rowClick"],
41
- setup(n, { emit: R }) {
42
- const a = n, $ = R, y = M(), w = h(() => [
43
- `rds-e-table-renderer--${a.variant}`,
44
- { "rds-e-table-renderer--condensed": a.condensed }
45
- ]), x = h(() => [
46
- `rds-e-table-renderer__body--${a.variant}`,
47
- { "rds-e-table-renderer__body--condensed": a.condensed }
48
- ]), K = (t, l) => {
49
- const e = t[a.rowKey];
50
- return e !== void 0 ? e : l;
51
- }, D = (t) => {
52
- const l = t[a.rowKey];
53
- return a.selectedKeys.includes(l);
54
- }, m = (t) => {
55
- const l = t[a.rowKey];
56
- return a.expandedKeys.includes(l);
57
- }, V = (t) => a.isRowDisabled ? a.isRowDisabled(t) : !1, B = (t) => ({
58
- [`rds-e-table-renderer__cell--${t.align || "left"}`]: !0,
59
- "rds-e-table-renderer__cell--sortable": t.sortable,
60
- "rds-e-table-renderer__cell--shadow": t.sticky,
61
- "rds-e-table-renderer__cell--no-sticky": !t.sticky,
62
- "rds-e-table-renderer__cell--right": t.align === "right",
63
- "rds-e-table-renderer__cell--center": t.align === "center"
64
- }), A = (t) => {
65
- if (t.sortable)
66
- return t.sort === "asc" ? "ascending" : t.sort === "desc" ? "descending" : "none";
67
- }, E = (t, l) => {
68
- const e = a.rowClass ? a.rowClass(t, l) : "";
86
+ emits: ["headerClick", "toggleSelectAll", "toggleRowSelection", "rowClick", "columnResize"],
87
+ setup(l, { emit: u }) {
88
+ const n = l, g = u, p = ae(), { columnWidths: v, resizingKey: h, startResize: S, stopResize: x, applyMeasuredWidths: C } = ye(w(() => n.headers)), k = w(() => !!n.resizableColumns), D = j(null), B = w(() => [
89
+ `rds-e-table-renderer--${n.variant}`,
90
+ { "rds-e-table-renderer--condensed": n.condensed },
91
+ { "rds-e-table-renderer--resizable": k.value }
92
+ ]), y = w(() => [
93
+ `rds-e-table-renderer__body--${n.variant}`,
94
+ { "rds-e-table-renderer__body--condensed": n.condensed }
95
+ ]), c = w(() => n.headers.reduce((e, s) => {
96
+ const t = v[s.key];
97
+ return e + (typeof t == "number" ? t : 0);
98
+ }, 0)), f = w(() => {
99
+ if (k.value)
100
+ return {
101
+ minWidth: "100%",
102
+ width: `${c.value}px`
103
+ };
104
+ }), m = (e, s) => {
105
+ const t = e[n.rowKey];
106
+ return t !== void 0 ? t : s;
107
+ }, $ = (e) => {
108
+ const s = e[n.rowKey];
109
+ return n.selectedKeys.includes(s);
110
+ }, R = (e) => {
111
+ const s = e[n.rowKey];
112
+ return n.expandedKeys.includes(s);
113
+ }, T = (e) => n.isRowDisabled ? n.isRowDisabled(e) : !1, q = (e) => ({
114
+ [`rds-e-table-renderer__cell--${e.align || "left"}`]: !0,
115
+ "rds-e-table-renderer__cell--sortable": e.sortable,
116
+ "rds-e-table-renderer__cell--shadow": e.sticky,
117
+ "rds-e-table-renderer__cell--no-sticky": !e.sticky,
118
+ "rds-e-table-renderer__cell--right": e.align === "right",
119
+ "rds-e-table-renderer__cell--center": e.align === "center",
120
+ "rds-e-table-renderer__cell--resizing": h.value === e.key
121
+ }), I = (e) => !k.value || e.type === "selection" || e.type === "actions" ? !1 : e.resizable === !0, W = () => {
122
+ const e = D.value;
123
+ if (!e) return;
124
+ const s = e.querySelectorAll("thead th");
125
+ if (!s.length) return;
126
+ const t = {};
127
+ for (let r = 0; r < n.headers.length; r++) {
128
+ const a = s[r]?.getBoundingClientRect?.().width || 0;
129
+ a > 0 && (t[n.headers[r].key] = a);
130
+ }
131
+ C(t);
132
+ }, O = (e, s) => {
133
+ W();
134
+ const t = v[e];
135
+ S(e, s, G, t);
136
+ };
137
+ function G(e) {
138
+ g("columnResize", { key: e, width: v[e] }), x();
139
+ }
140
+ const J = (e) => {
141
+ if (e.sortable)
142
+ return e.sort === "asc" ? "ascending" : e.sort === "desc" ? "descending" : "none";
143
+ }, Q = (e, s) => {
144
+ const t = n.rowClass ? n.rowClass(e, s) : "";
69
145
  return [
70
- { "rds-e-table-renderer__group--odd": l % 2 === 0 },
71
- { "rds-e-table-renderer__group--is-open rds-background-grey": m(t) },
146
+ { "rds-e-table-renderer__group--odd": s % 2 === 0 },
147
+ { "rds-e-table-renderer__group--is-open rds-background-grey": R(e) },
72
148
  { "rds-e-table-renderer__group--expandible": !0 },
73
- e
149
+ t
74
150
  ];
75
- }, N = (t, l, e) => {
76
- const o = a.cellClass ? a.cellClass(t, l, e) : "";
151
+ }, Y = (e, s, t) => {
152
+ const r = n.cellClass ? n.cellClass(e, s, t) : "";
77
153
  return [
78
- [`rds-e-table-renderer__cell--${l.align || "left"}`],
79
- { "rds-e-table-renderer__cell--shadow": l.sticky },
80
- o
154
+ [`rds-e-table-renderer__cell--${s.align || "left"}`],
155
+ { "rds-e-table-renderer__cell--shadow": s.sticky },
156
+ r
81
157
  ];
82
- }, H = (t, l, e) => {
83
- if (l.formatter) return l.formatter(t[l.key], t, e);
84
- const o = t[l.key];
85
- return o ?? "---";
86
- }, T = (t) => {
87
- t.sortable && $("headerClick", t);
88
- }, U = (t) => {
89
- $("rowClick", t);
158
+ }, Z = (e, s, t) => {
159
+ if (s.formatter) return s.formatter(e[s.key], e, t);
160
+ const r = e[s.key];
161
+ return r ?? "---";
162
+ }, ee = (e) => {
163
+ e.sortable && g("headerClick", e);
164
+ }, te = (e) => {
165
+ g("rowClick", e);
90
166
  };
91
- return (t, l) => (s(), r("div", {
92
- class: i(["rds-e-table-renderer__container", w.value])
167
+ return ie(() => {
168
+ A(() => {
169
+ W();
170
+ });
171
+ }), M(() => n.headers, () => {
172
+ A(() => {
173
+ k.value && (h.value || W());
174
+ });
175
+ }, { deep: !0 }), M(k, (e) => {
176
+ if (!e) {
177
+ x();
178
+ return;
179
+ }
180
+ A(() => {
181
+ h.value || W();
182
+ });
183
+ }), (e, s) => (o(), i("div", {
184
+ class: b(["rds-e-table-renderer__container", B.value])
93
185
  }, [
94
- d("table", null, [
186
+ d("table", {
187
+ ref_key: "tableRef",
188
+ ref: D,
189
+ style: V(f.value)
190
+ }, [
95
191
  d("colgroup", null, [
96
- (s(!0), r(u, null, _(n.headers, (e, o) => (s(), r("col", {
97
- key: `col-${e.key}-${o}`,
98
- style: C({ width: e.width || "auto" })
192
+ (o(!0), i(z, null, K(l.headers, (t, r) => (o(), i("col", {
193
+ key: `col-${t.key}-${r}`,
194
+ style: V({ width: k.value ? `${E(v)[t.key]}px` : t.width || "auto" })
99
195
  }, null, 4))), 128))
100
196
  ]),
101
- n.hideHeaders ? b("", !0) : (s(), r("thead", G, [
197
+ l.hideHeaders ? _("", !0) : (o(), i("thead", be, [
102
198
  d("tr", null, [
103
- (s(!0), r(u, null, _(n.headers, (e, o) => (s(), r("th", {
104
- key: `th-${e.key}-${o}`,
105
- class: i(["rds-e-table-renderer__cell rds-e-table-renderer__cell--heading rds-body-01", B(e)]),
106
- style: C({ width: e.width }),
107
- "aria-sort": A(e),
199
+ (o(!0), i(z, null, K(l.headers, (t, r) => (o(), i("th", {
200
+ key: `th-${t.key}-${r}`,
201
+ class: b(["rds-e-table-renderer__cell rds-e-table-renderer__cell--heading rds-body-01", q(t)]),
202
+ "aria-sort": J(t),
108
203
  scope: "col",
109
- onClick: (c) => T(e)
204
+ onClick: (a) => ee(t)
110
205
  }, [
111
- k(t.$slots, `header-${e.key}`, { header: e }, () => [
112
- e.type === "selection" ? (s(), r(u, { key: 0 }, [
113
- n.hideSelectAll ? b("", !0) : (s(), r("div", O, [
114
- f(S, {
115
- id: `checkbox-all-${g(y)}-${e.key}`,
116
- "is-checked": e.allSelected,
117
- "onUpdate:modelValue": l[0] || (l[0] = (c) => t.$emit("toggleSelectAll", c)),
118
- onClick: l[1] || (l[1] = v(() => {
206
+ I(t) ? (o(), i("div", {
207
+ key: 0,
208
+ class: "rds-e-table-renderer__resize-handle",
209
+ onClick: s[0] || (s[0] = L(() => {
210
+ }, ["stop"])),
211
+ onPointerdown: L((a) => O(t.key, a), ["stop"])
212
+ }, null, 40, me)) : _("", !0),
213
+ N(e.$slots, `header-${t.key}`, { header: t }, () => [
214
+ t.type === "selection" ? (o(), i(z, { key: 0 }, [
215
+ l.hideSelectAll ? _("", !0) : (o(), i("div", ke, [
216
+ H(F, {
217
+ id: `checkbox-all-${E(p)}-${t.key}`,
218
+ "is-checked": t.allSelected,
219
+ "onUpdate:modelValue": s[1] || (s[1] = (a) => e.$emit("toggleSelectAll", a)),
220
+ onClick: s[2] || (s[2] = L(() => {
119
221
  }, ["stop"]))
120
222
  }, null, 8, ["id", "is-checked"]),
121
223
  d("label", {
122
- for: `checkbox-all-${g(y)}-${e.key}`,
224
+ for: `checkbox-all-${E(p)}-${t.key}`,
123
225
  class: "rds-checkbox__label rds-checkbox__label--no-text"
124
- }, null, 8, P)
226
+ }, null, 8, _e)
125
227
  ]))
126
- ], 64)) : (s(), r("div", {
228
+ ], 64)) : (o(), i("div", {
127
229
  key: 1,
128
- class: i(["header-content", `header-content--${e.align || "left"}`])
230
+ class: b(["header-content", `header-content--${t.align || "left"}`])
129
231
  }, [
130
232
  d("span", {
131
- class: i(["rds-title-02", { "text-active": !!e.sort }])
132
- }, p(e.text), 3),
133
- e.sortable ? (s(), r("span", Q, [
233
+ class: b(["rds-title-02 header-content__text", { "text-active": !!t.sort }])
234
+ }, U(t.text), 3),
235
+ t.sortable ? (o(), i("span", pe, [
134
236
  d("span", {
135
- class: i(["rds-e-table-renderer__sortable-icon--up sortable-icon", { active: e.sort === "asc" }])
237
+ class: b(["rds-e-table-renderer__sortable-icon--up sortable-icon", { active: t.sort === "asc" }])
136
238
  }, "▲", 2),
137
239
  d("span", {
138
- class: i(["rds-e-table-renderer__sortable-icon--down sortable-icon", { active: e.sort === "desc" }])
240
+ class: b(["rds-e-table-renderer__sortable-icon--down sortable-icon", { active: t.sort === "desc" }])
139
241
  }, "▼", 2)
140
- ])) : b("", !0)
242
+ ])) : _("", !0)
141
243
  ], 2))
142
244
  ], !0)
143
- ], 14, J))), 128))
245
+ ], 10, fe))), 128))
144
246
  ])
145
247
  ])),
146
248
  d("tbody", {
147
- class: i(x.value)
249
+ class: b(y.value)
148
250
  }, [
149
- n.loading ? (s(), r("tr", W, [
251
+ l.loading ? (o(), i("tr", ve, [
150
252
  d("td", {
151
- colspan: n.headers.length,
253
+ colspan: l.headers.length,
152
254
  class: "loading-cell"
153
255
  }, [
154
- d("div", Y, [
155
- f(L, { name: "loading" })
256
+ d("div", he, [
257
+ H(ce, { size: 20 })
156
258
  ])
157
- ], 8, X)
158
- ])) : b("", !0),
159
- n.rows.length > 0 ? (s(!0), r(u, { key: 1 }, _(n.rows, (e, o) => (s(), r(u, {
160
- key: K(e, o)
259
+ ], 8, ge)
260
+ ])) : _("", !0),
261
+ l.rows.length > 0 ? (o(!0), i(z, { key: 1 }, K(l.rows, (t, r) => (o(), i(z, {
262
+ key: m(t, r)
161
263
  }, [
162
264
  d("tr", {
163
- class: i(["rds-e-table-renderer__group", E(e, o)]),
164
- onClick: (c) => U(e)
265
+ class: b(["rds-e-table-renderer__group", Q(t, r)]),
266
+ onClick: (a) => te(t)
165
267
  }, [
166
- (s(!0), r(u, null, _(n.headers, (c, z) => (s(), r("td", {
167
- key: `td-${c.key}-${z}`,
168
- class: i(["rds-e-table-renderer__cell rds-body-01", N(e, c, o)]),
169
- "data-label": c.text
268
+ (o(!0), i(z, null, K(l.headers, (a, ne) => (o(), i("td", {
269
+ key: `td-${a.key}-${ne}`,
270
+ class: b(["rds-e-table-renderer__cell rds-body-01", Y(t, a, r)]),
271
+ "data-label": a.text
170
272
  }, [
171
- k(t.$slots, `td-${c.key}`, {
172
- item: e,
173
- value: e[c.key],
174
- index: o
273
+ N(e.$slots, `td-${a.key}`, {
274
+ item: t,
275
+ value: t[a.key],
276
+ index: r
175
277
  }, () => [
176
- c.type === "selection" ? (s(), r("div", {
278
+ a.type === "selection" ? (o(), i("div", {
177
279
  key: 0,
178
- class: i(["cell-content", `cell-content--${c.align || "left"}`])
280
+ class: b(["cell-content", `cell-content--${a.align || "left"}`])
179
281
  }, [
180
- f(S, {
181
- id: `chk-${g(y)}-${o}-${c.key}`,
182
- "is-checked": D(e),
183
- disabled: V(e),
184
- "onUpdate:modelValue": () => t.$emit("toggleRowSelection", e),
185
- onClick: l[2] || (l[2] = v(() => {
282
+ H(F, {
283
+ id: `chk-${E(p)}-${r}-${a.key}`,
284
+ "is-checked": $(t),
285
+ disabled: T(t),
286
+ "onUpdate:modelValue": () => e.$emit("toggleRowSelection", t),
287
+ onClick: s[3] || (s[3] = L(() => {
186
288
  }, ["stop"]))
187
289
  }, null, 8, ["id", "is-checked", "disabled", "onUpdate:modelValue"]),
188
290
  d("label", {
189
- for: `chk-${g(y)}-${o}-${c.key}`,
291
+ for: `chk-${E(p)}-${r}-${a.key}`,
190
292
  class: "rds-checkbox__label rds-checkbox__label--no-text"
191
- }, null, 8, ee)
192
- ], 2)) : (s(), r(u, { key: 1 }, [
193
- F(p(H(e, c, o)), 1)
194
- ], 64))
293
+ }, null, 8, Re)
294
+ ], 2)) : (o(), i("div", {
295
+ key: 1,
296
+ class: b(["cell-text", `cell-text--${a.align || "left"}`])
297
+ }, U(Z(t, a, r)), 3))
195
298
  ], !0)
196
- ], 10, I))), 128))
197
- ], 10, Z),
198
- m(e) ? (s(), r("tr", te, [
299
+ ], 10, $e))), 128))
300
+ ], 10, Ce),
301
+ R(t) ? (o(), i("tr", we, [
199
302
  d("td", {
200
- colspan: n.headers.length,
303
+ colspan: l.headers.length,
201
304
  class: "rds-e-table-renderer__cell rds-e-table-renderer__group--dropdown rds-background-grey"
202
305
  }, [
203
- k(t.$slots, "expandible", { item: e }, void 0, !0)
204
- ], 8, le)
205
- ])) : b("", !0),
206
- !n.condensed && m(e) ? (s(), r("tr", se, [
306
+ N(e.$slots, "expandible", { item: t }, void 0, !0)
307
+ ], 8, ze)
308
+ ])) : _("", !0),
309
+ !l.condensed && R(t) ? (o(), i("tr", Se, [
207
310
  d("td", {
208
- colspan: n.headers.length
209
- }, null, 8, re)
210
- ])) : b("", !0)
211
- ], 64))), 128)) : !n.loading && n.showEmptyState ? (s(), r("tr", ne, [
311
+ colspan: l.headers.length
312
+ }, null, 8, xe)
313
+ ])) : _("", !0)
314
+ ], 64))), 128)) : !l.loading && l.showEmptyState ? (o(), i("tr", Ee, [
212
315
  d("td", {
213
- colspan: n.headers.length
316
+ colspan: l.headers.length
214
317
  }, [
215
- k(t.$slots, "empty", {}, () => [
216
- d("div", de, [
217
- d("h3", ae, p(n.emptyStateText), 1)
318
+ N(e.$slots, "empty", {}, () => [
319
+ d("div", We, [
320
+ d("h3", Ke, U(l.emptyStateText), 1)
218
321
  ])
219
322
  ], !0)
220
- ], 8, oe)
221
- ])) : b("", !0)
323
+ ], 8, De)
324
+ ])) : _("", !0)
222
325
  ], 2)
223
- ])
326
+ ], 4)
224
327
  ], 2));
225
328
  }
226
- }), ke = /* @__PURE__ */ j(ce, [["__scopeId", "data-v-baaf72ee"]]);
329
+ }), Ue = /* @__PURE__ */ de(Le, [["__scopeId", "data-v-8065aa47"]]);
227
330
  export {
228
- ke as default
331
+ Ue as default
229
332
  };