myio-js-library 0.1.486 → 0.1.487
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +32 -10
- package/dist/index.js +32 -10
- package/dist/myio-js-library.umd.js +32 -10
- package/dist/myio-js-library.umd.min.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1159,7 +1159,7 @@ module.exports = __toCommonJS(index_exports);
|
|
|
1159
1159
|
// package.json
|
|
1160
1160
|
var package_default = {
|
|
1161
1161
|
name: "myio-js-library",
|
|
1162
|
-
version: "0.1.
|
|
1162
|
+
version: "0.1.487",
|
|
1163
1163
|
description: "A clean, standalone JS SDK for MYIO projects",
|
|
1164
1164
|
license: "MIT",
|
|
1165
1165
|
repository: "github:gh-myio/myio-js-library",
|
|
@@ -62014,7 +62014,7 @@ var SettingsModalView = class {
|
|
|
62014
62014
|
<div class="customer-name-container">
|
|
62015
62015
|
<div class="customer-info-row">
|
|
62016
62016
|
<div class="device-type-icon-wrapper">
|
|
62017
|
-
${this.getDeviceTypeIcon(deviceType)}
|
|
62017
|
+
${this.getDeviceTypeIcon(deviceType ?? "")}
|
|
62018
62018
|
</div>
|
|
62019
62019
|
<div class="customer-info-content">
|
|
62020
62020
|
<div class="customer-name-label">Shopping</div>
|
|
@@ -62620,7 +62620,7 @@ var SettingsModalView = class {
|
|
|
62620
62620
|
not_installed: { text: "N\xE3o instalado", color: "#94a3b8" },
|
|
62621
62621
|
unknown: { text: "Sem informa\xE7\xE3o", color: "#94a3b8" }
|
|
62622
62622
|
};
|
|
62623
|
-
const statusInfo = statusMap[mapDeviceStatusToCardStatus(deviceStatus) || ""] || {
|
|
62623
|
+
const statusInfo = statusMap[mapDeviceStatusToCardStatus(deviceStatus ?? "") || ""] || {
|
|
62624
62624
|
text: "Desconhecido",
|
|
62625
62625
|
color: "#6b7280"
|
|
62626
62626
|
};
|
|
@@ -62713,6 +62713,13 @@ var SettingsModalView = class {
|
|
|
62713
62713
|
}
|
|
62714
62714
|
|
|
62715
62715
|
/* Header handled by ModalHeader (RFC-0121) */
|
|
62716
|
+
.myio-device-settings-modal .myio-modal-header__title {
|
|
62717
|
+
font-size: 14px;
|
|
62718
|
+
font-weight: 600;
|
|
62719
|
+
}
|
|
62720
|
+
.myio-device-settings-modal .myio-modal-header__icon {
|
|
62721
|
+
font-size: 15px;
|
|
62722
|
+
}
|
|
62716
62723
|
|
|
62717
62724
|
.myio-device-settings-modal.is-maximized {
|
|
62718
62725
|
width: 100vw !important;
|
|
@@ -89971,10 +89978,10 @@ var UserDetailTab = class {
|
|
|
89971
89978
|
section.style.cssText = "margin-top:20px;border:1px solid var(--um-border);border-radius:10px;overflow:hidden;";
|
|
89972
89979
|
const sectionHeader = document.createElement("div");
|
|
89973
89980
|
sectionHeader.style.cssText = "display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--um-accent);border-bottom:1px solid var(--um-btn-2-border);";
|
|
89974
|
-
sectionHeader.innerHTML = `<span style="font-size:13px;font-weight:600;color:#fff;">\u{1F511}
|
|
89981
|
+
sectionHeader.innerHTML = `<span style="font-size:13px;font-weight:600;color:#fff;">\u{1F511} Fun\xE7\xF5es / Pap\xE9is</span>`;
|
|
89975
89982
|
const addBtn = document.createElement("button");
|
|
89976
89983
|
addBtn.className = "um-btn um-btn--secondary um-btn--sm";
|
|
89977
|
-
addBtn.textContent = "+
|
|
89984
|
+
addBtn.textContent = "+ Adicionar";
|
|
89978
89985
|
addBtn.addEventListener("click", () => this.showAssignForm());
|
|
89979
89986
|
sectionHeader.appendChild(addBtn);
|
|
89980
89987
|
section.appendChild(sectionHeader);
|
|
@@ -90044,14 +90051,19 @@ var UserDetailTab = class {
|
|
|
90044
90051
|
overlay.style.zIndex = "100001";
|
|
90045
90052
|
const modal = document.createElement("div");
|
|
90046
90053
|
modal.className = "um-modal";
|
|
90047
|
-
modal.style.cssText = "
|
|
90054
|
+
modal.style.cssText = "width: min(820px, 92vw); max-height: 85vh; height: auto; aspect-ratio: unset; overflow: hidden; display: flex; flex-direction: column;";
|
|
90048
90055
|
const gcdrCid = window.MyIOOrchestrator?.gcdrCustomerId || "";
|
|
90049
90056
|
const scopeOptions = [
|
|
90050
|
-
{ value: "*", label: "* (global)" },
|
|
90051
|
-
...gcdrCid ? [{ value: `customer:${gcdrCid}`, label: `
|
|
90057
|
+
{ value: "*", label: "* (global \u2014 todos os clientes)" },
|
|
90058
|
+
...gcdrCid ? [{ value: `customer:${gcdrCid}`, label: `Cliente atual (${gcdrCid.slice(0, 8)}...)` }] : []
|
|
90052
90059
|
];
|
|
90053
90060
|
modal.innerHTML = `
|
|
90054
|
-
<
|
|
90061
|
+
<div style="display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--um-accent);border-bottom:1px solid var(--um-btn-2-border);flex-shrink:0;">
|
|
90062
|
+
<span style="font-size:15px;">\u{1F511}</span>
|
|
90063
|
+
<span style="flex:1;font-size:14px;font-weight:600;color:#fff;">Atribuir Fun\xE7\xE3o / Papel</span>
|
|
90064
|
+
<button type="button" class="assign-close" style="background:none;border:none;color:rgba(255,255,255,0.8);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;">\u2715</button>
|
|
90065
|
+
</div>
|
|
90066
|
+
<div style="padding:20px 24px;overflow-y:auto;flex:1;">
|
|
90055
90067
|
<div class="um-form" style="max-width:100%;">
|
|
90056
90068
|
<div class="um-form-group">
|
|
90057
90069
|
<label class="um-label">Fun\xE7\xE3o <span class="um-req">*</span></label>
|
|
@@ -90084,6 +90096,7 @@ var UserDetailTab = class {
|
|
|
90084
90096
|
<button class="um-btn um-btn--primary assign-save">Atribuir</button>
|
|
90085
90097
|
</div>
|
|
90086
90098
|
</div>
|
|
90099
|
+
</div>
|
|
90087
90100
|
`;
|
|
90088
90101
|
overlay.appendChild(modal);
|
|
90089
90102
|
document.body.appendChild(overlay);
|
|
@@ -90114,6 +90127,7 @@ var UserDetailTab = class {
|
|
|
90114
90127
|
overlay.addEventListener("click", (e) => {
|
|
90115
90128
|
if (e.target === overlay) close();
|
|
90116
90129
|
});
|
|
90130
|
+
modal.querySelector(".assign-close").addEventListener("click", close);
|
|
90117
90131
|
modal.querySelector(".assign-cancel").addEventListener("click", close);
|
|
90118
90132
|
modal.querySelector(".assign-save").addEventListener("click", async () => {
|
|
90119
90133
|
const roleId = modal.querySelector("[name=roleId]").value.trim();
|
|
@@ -91146,6 +91160,13 @@ var UserManagementModalView = class {
|
|
|
91146
91160
|
}
|
|
91147
91161
|
// ── Styles ───────────────────────────────────────────────────────────────────
|
|
91148
91162
|
injectStyles() {
|
|
91163
|
+
if (!document.getElementById("um-font-nunito")) {
|
|
91164
|
+
const link = document.createElement("link");
|
|
91165
|
+
link.id = "um-font-nunito";
|
|
91166
|
+
link.rel = "stylesheet";
|
|
91167
|
+
link.href = "https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&display=swap";
|
|
91168
|
+
document.head.appendChild(link);
|
|
91169
|
+
}
|
|
91149
91170
|
if (document.getElementById("um-styles")) return;
|
|
91150
91171
|
const style = document.createElement("style");
|
|
91151
91172
|
style.id = "um-styles";
|
|
@@ -91269,6 +91290,7 @@ var UserManagementModalView = class {
|
|
|
91269
91290
|
/* \u2500\u2500 Component styles (theme-agnostic via variables) \u2500\u2500 */
|
|
91270
91291
|
.um-modal {
|
|
91271
91292
|
background: var(--um-modal-bg);
|
|
91293
|
+
font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
91272
91294
|
border-radius: 14px; width: 92vw; max-width: 960px;
|
|
91273
91295
|
--modal-header-radius: 14px 14px 0 0;
|
|
91274
91296
|
aspect-ratio: 16/9; display: flex; flex-direction: column;
|
|
@@ -91442,7 +91464,7 @@ var UserManagementModalView = class {
|
|
|
91442
91464
|
.um-check-label { font-size: 13px; color: var(--um-text-secondary); cursor: pointer; display: flex; align-items: center; gap: 8px; }
|
|
91443
91465
|
.um-form-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 8px; }
|
|
91444
91466
|
|
|
91445
|
-
.um-detail-card {
|
|
91467
|
+
.um-detail-card { width: 100%; }
|
|
91446
91468
|
.um-detail-section { border: 1px solid var(--um-border); border-radius: 10px; overflow: hidden; margin-bottom: 20px; }
|
|
91447
91469
|
.um-detail-row {
|
|
91448
91470
|
display: flex; align-items: flex-start; gap: 16px;
|
package/dist/index.js
CHANGED
|
@@ -546,7 +546,7 @@ var init_template_card = __esm({
|
|
|
546
546
|
// package.json
|
|
547
547
|
var package_default = {
|
|
548
548
|
name: "myio-js-library",
|
|
549
|
-
version: "0.1.
|
|
549
|
+
version: "0.1.487",
|
|
550
550
|
description: "A clean, standalone JS SDK for MYIO projects",
|
|
551
551
|
license: "MIT",
|
|
552
552
|
repository: "github:gh-myio/myio-js-library",
|
|
@@ -61401,7 +61401,7 @@ var SettingsModalView = class {
|
|
|
61401
61401
|
<div class="customer-name-container">
|
|
61402
61402
|
<div class="customer-info-row">
|
|
61403
61403
|
<div class="device-type-icon-wrapper">
|
|
61404
|
-
${this.getDeviceTypeIcon(deviceType)}
|
|
61404
|
+
${this.getDeviceTypeIcon(deviceType ?? "")}
|
|
61405
61405
|
</div>
|
|
61406
61406
|
<div class="customer-info-content">
|
|
61407
61407
|
<div class="customer-name-label">Shopping</div>
|
|
@@ -62007,7 +62007,7 @@ var SettingsModalView = class {
|
|
|
62007
62007
|
not_installed: { text: "N\xE3o instalado", color: "#94a3b8" },
|
|
62008
62008
|
unknown: { text: "Sem informa\xE7\xE3o", color: "#94a3b8" }
|
|
62009
62009
|
};
|
|
62010
|
-
const statusInfo = statusMap[mapDeviceStatusToCardStatus(deviceStatus) || ""] || {
|
|
62010
|
+
const statusInfo = statusMap[mapDeviceStatusToCardStatus(deviceStatus ?? "") || ""] || {
|
|
62011
62011
|
text: "Desconhecido",
|
|
62012
62012
|
color: "#6b7280"
|
|
62013
62013
|
};
|
|
@@ -62100,6 +62100,13 @@ var SettingsModalView = class {
|
|
|
62100
62100
|
}
|
|
62101
62101
|
|
|
62102
62102
|
/* Header handled by ModalHeader (RFC-0121) */
|
|
62103
|
+
.myio-device-settings-modal .myio-modal-header__title {
|
|
62104
|
+
font-size: 14px;
|
|
62105
|
+
font-weight: 600;
|
|
62106
|
+
}
|
|
62107
|
+
.myio-device-settings-modal .myio-modal-header__icon {
|
|
62108
|
+
font-size: 15px;
|
|
62109
|
+
}
|
|
62103
62110
|
|
|
62104
62111
|
.myio-device-settings-modal.is-maximized {
|
|
62105
62112
|
width: 100vw !important;
|
|
@@ -89358,10 +89365,10 @@ var UserDetailTab = class {
|
|
|
89358
89365
|
section.style.cssText = "margin-top:20px;border:1px solid var(--um-border);border-radius:10px;overflow:hidden;";
|
|
89359
89366
|
const sectionHeader = document.createElement("div");
|
|
89360
89367
|
sectionHeader.style.cssText = "display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--um-accent);border-bottom:1px solid var(--um-btn-2-border);";
|
|
89361
|
-
sectionHeader.innerHTML = `<span style="font-size:13px;font-weight:600;color:#fff;">\u{1F511}
|
|
89368
|
+
sectionHeader.innerHTML = `<span style="font-size:13px;font-weight:600;color:#fff;">\u{1F511} Fun\xE7\xF5es / Pap\xE9is</span>`;
|
|
89362
89369
|
const addBtn = document.createElement("button");
|
|
89363
89370
|
addBtn.className = "um-btn um-btn--secondary um-btn--sm";
|
|
89364
|
-
addBtn.textContent = "+
|
|
89371
|
+
addBtn.textContent = "+ Adicionar";
|
|
89365
89372
|
addBtn.addEventListener("click", () => this.showAssignForm());
|
|
89366
89373
|
sectionHeader.appendChild(addBtn);
|
|
89367
89374
|
section.appendChild(sectionHeader);
|
|
@@ -89431,14 +89438,19 @@ var UserDetailTab = class {
|
|
|
89431
89438
|
overlay.style.zIndex = "100001";
|
|
89432
89439
|
const modal = document.createElement("div");
|
|
89433
89440
|
modal.className = "um-modal";
|
|
89434
|
-
modal.style.cssText = "
|
|
89441
|
+
modal.style.cssText = "width: min(820px, 92vw); max-height: 85vh; height: auto; aspect-ratio: unset; overflow: hidden; display: flex; flex-direction: column;";
|
|
89435
89442
|
const gcdrCid = window.MyIOOrchestrator?.gcdrCustomerId || "";
|
|
89436
89443
|
const scopeOptions = [
|
|
89437
|
-
{ value: "*", label: "* (global)" },
|
|
89438
|
-
...gcdrCid ? [{ value: `customer:${gcdrCid}`, label: `
|
|
89444
|
+
{ value: "*", label: "* (global \u2014 todos os clientes)" },
|
|
89445
|
+
...gcdrCid ? [{ value: `customer:${gcdrCid}`, label: `Cliente atual (${gcdrCid.slice(0, 8)}...)` }] : []
|
|
89439
89446
|
];
|
|
89440
89447
|
modal.innerHTML = `
|
|
89441
|
-
<
|
|
89448
|
+
<div style="display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--um-accent);border-bottom:1px solid var(--um-btn-2-border);flex-shrink:0;">
|
|
89449
|
+
<span style="font-size:15px;">\u{1F511}</span>
|
|
89450
|
+
<span style="flex:1;font-size:14px;font-weight:600;color:#fff;">Atribuir Fun\xE7\xE3o / Papel</span>
|
|
89451
|
+
<button type="button" class="assign-close" style="background:none;border:none;color:rgba(255,255,255,0.8);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;">\u2715</button>
|
|
89452
|
+
</div>
|
|
89453
|
+
<div style="padding:20px 24px;overflow-y:auto;flex:1;">
|
|
89442
89454
|
<div class="um-form" style="max-width:100%;">
|
|
89443
89455
|
<div class="um-form-group">
|
|
89444
89456
|
<label class="um-label">Fun\xE7\xE3o <span class="um-req">*</span></label>
|
|
@@ -89471,6 +89483,7 @@ var UserDetailTab = class {
|
|
|
89471
89483
|
<button class="um-btn um-btn--primary assign-save">Atribuir</button>
|
|
89472
89484
|
</div>
|
|
89473
89485
|
</div>
|
|
89486
|
+
</div>
|
|
89474
89487
|
`;
|
|
89475
89488
|
overlay.appendChild(modal);
|
|
89476
89489
|
document.body.appendChild(overlay);
|
|
@@ -89501,6 +89514,7 @@ var UserDetailTab = class {
|
|
|
89501
89514
|
overlay.addEventListener("click", (e) => {
|
|
89502
89515
|
if (e.target === overlay) close();
|
|
89503
89516
|
});
|
|
89517
|
+
modal.querySelector(".assign-close").addEventListener("click", close);
|
|
89504
89518
|
modal.querySelector(".assign-cancel").addEventListener("click", close);
|
|
89505
89519
|
modal.querySelector(".assign-save").addEventListener("click", async () => {
|
|
89506
89520
|
const roleId = modal.querySelector("[name=roleId]").value.trim();
|
|
@@ -90533,6 +90547,13 @@ var UserManagementModalView = class {
|
|
|
90533
90547
|
}
|
|
90534
90548
|
// ── Styles ───────────────────────────────────────────────────────────────────
|
|
90535
90549
|
injectStyles() {
|
|
90550
|
+
if (!document.getElementById("um-font-nunito")) {
|
|
90551
|
+
const link = document.createElement("link");
|
|
90552
|
+
link.id = "um-font-nunito";
|
|
90553
|
+
link.rel = "stylesheet";
|
|
90554
|
+
link.href = "https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&display=swap";
|
|
90555
|
+
document.head.appendChild(link);
|
|
90556
|
+
}
|
|
90536
90557
|
if (document.getElementById("um-styles")) return;
|
|
90537
90558
|
const style = document.createElement("style");
|
|
90538
90559
|
style.id = "um-styles";
|
|
@@ -90656,6 +90677,7 @@ var UserManagementModalView = class {
|
|
|
90656
90677
|
/* \u2500\u2500 Component styles (theme-agnostic via variables) \u2500\u2500 */
|
|
90657
90678
|
.um-modal {
|
|
90658
90679
|
background: var(--um-modal-bg);
|
|
90680
|
+
font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
90659
90681
|
border-radius: 14px; width: 92vw; max-width: 960px;
|
|
90660
90682
|
--modal-header-radius: 14px 14px 0 0;
|
|
90661
90683
|
aspect-ratio: 16/9; display: flex; flex-direction: column;
|
|
@@ -90829,7 +90851,7 @@ var UserManagementModalView = class {
|
|
|
90829
90851
|
.um-check-label { font-size: 13px; color: var(--um-text-secondary); cursor: pointer; display: flex; align-items: center; gap: 8px; }
|
|
90830
90852
|
.um-form-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 8px; }
|
|
90831
90853
|
|
|
90832
|
-
.um-detail-card {
|
|
90854
|
+
.um-detail-card { width: 100%; }
|
|
90833
90855
|
.um-detail-section { border: 1px solid var(--um-border); border-radius: 10px; overflow: hidden; margin-bottom: 20px; }
|
|
90834
90856
|
.um-detail-row {
|
|
90835
90857
|
display: flex; align-items: flex-start; gap: 16px;
|
|
@@ -4070,7 +4070,7 @@
|
|
|
4070
4070
|
|
|
4071
4071
|
// package.json
|
|
4072
4072
|
var package_default = {
|
|
4073
|
-
version: "0.1.
|
|
4073
|
+
version: "0.1.487"};
|
|
4074
4074
|
|
|
4075
4075
|
// src/format/energy.ts
|
|
4076
4076
|
function formatPower(value, decimals = 2) {
|
|
@@ -64616,7 +64616,7 @@ ${this._formatFileSize(f.size)} \xB7 ${f.type || "arquivo"}`;
|
|
|
64616
64616
|
<div class="customer-name-container">
|
|
64617
64617
|
<div class="customer-info-row">
|
|
64618
64618
|
<div class="device-type-icon-wrapper">
|
|
64619
|
-
${this.getDeviceTypeIcon(deviceType)}
|
|
64619
|
+
${this.getDeviceTypeIcon(deviceType ?? "")}
|
|
64620
64620
|
</div>
|
|
64621
64621
|
<div class="customer-info-content">
|
|
64622
64622
|
<div class="customer-name-label">Shopping</div>
|
|
@@ -65222,7 +65222,7 @@ ${this._formatFileSize(f.size)} \xB7 ${f.type || "arquivo"}`;
|
|
|
65222
65222
|
not_installed: { text: "N\xE3o instalado", color: "#94a3b8" },
|
|
65223
65223
|
unknown: { text: "Sem informa\xE7\xE3o", color: "#94a3b8" }
|
|
65224
65224
|
};
|
|
65225
|
-
const statusInfo = statusMap[mapDeviceStatusToCardStatus(deviceStatus)] || {
|
|
65225
|
+
const statusInfo = statusMap[mapDeviceStatusToCardStatus(deviceStatus ?? "")] || {
|
|
65226
65226
|
text: "Desconhecido",
|
|
65227
65227
|
color: "#6b7280"
|
|
65228
65228
|
};
|
|
@@ -65315,6 +65315,13 @@ ${this._formatFileSize(f.size)} \xB7 ${f.type || "arquivo"}`;
|
|
|
65315
65315
|
}
|
|
65316
65316
|
|
|
65317
65317
|
/* Header handled by ModalHeader (RFC-0121) */
|
|
65318
|
+
.myio-device-settings-modal .myio-modal-header__title {
|
|
65319
|
+
font-size: 14px;
|
|
65320
|
+
font-weight: 600;
|
|
65321
|
+
}
|
|
65322
|
+
.myio-device-settings-modal .myio-modal-header__icon {
|
|
65323
|
+
font-size: 15px;
|
|
65324
|
+
}
|
|
65318
65325
|
|
|
65319
65326
|
.myio-device-settings-modal.is-maximized {
|
|
65320
65327
|
width: 100vw !important;
|
|
@@ -92565,10 +92572,10 @@ Esta a\xE7\xE3o afeta todos os grupos que utilizam este canal.`
|
|
|
92565
92572
|
section.style.cssText = "margin-top:20px;border:1px solid var(--um-border);border-radius:10px;overflow:hidden;";
|
|
92566
92573
|
const sectionHeader = document.createElement("div");
|
|
92567
92574
|
sectionHeader.style.cssText = "display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--um-accent);border-bottom:1px solid var(--um-btn-2-border);";
|
|
92568
|
-
sectionHeader.innerHTML = `<span style="font-size:13px;font-weight:600;color:#fff;">\u{1F511}
|
|
92575
|
+
sectionHeader.innerHTML = `<span style="font-size:13px;font-weight:600;color:#fff;">\u{1F511} Fun\xE7\xF5es / Pap\xE9is</span>`;
|
|
92569
92576
|
const addBtn = document.createElement("button");
|
|
92570
92577
|
addBtn.className = "um-btn um-btn--secondary um-btn--sm";
|
|
92571
|
-
addBtn.textContent = "+
|
|
92578
|
+
addBtn.textContent = "+ Adicionar";
|
|
92572
92579
|
addBtn.addEventListener("click", () => this.showAssignForm());
|
|
92573
92580
|
sectionHeader.appendChild(addBtn);
|
|
92574
92581
|
section.appendChild(sectionHeader);
|
|
@@ -92638,14 +92645,19 @@ Esta a\xE7\xE3o afeta todos os grupos que utilizam este canal.`
|
|
|
92638
92645
|
overlay.style.zIndex = "100001";
|
|
92639
92646
|
const modal = document.createElement("div");
|
|
92640
92647
|
modal.className = "um-modal";
|
|
92641
|
-
modal.style.cssText = "
|
|
92648
|
+
modal.style.cssText = "width: min(820px, 92vw); max-height: 85vh; height: auto; aspect-ratio: unset; overflow: hidden; display: flex; flex-direction: column;";
|
|
92642
92649
|
const gcdrCid = window.MyIOOrchestrator?.gcdrCustomerId || "";
|
|
92643
92650
|
const scopeOptions = [
|
|
92644
|
-
{ value: "*", label: "* (global)" },
|
|
92645
|
-
...gcdrCid ? [{ value: `customer:${gcdrCid}`, label: `
|
|
92651
|
+
{ value: "*", label: "* (global \u2014 todos os clientes)" },
|
|
92652
|
+
...gcdrCid ? [{ value: `customer:${gcdrCid}`, label: `Cliente atual (${gcdrCid.slice(0, 8)}...)` }] : []
|
|
92646
92653
|
];
|
|
92647
92654
|
modal.innerHTML = `
|
|
92648
|
-
<
|
|
92655
|
+
<div style="display:flex;align-items:center;gap:10px;padding:14px 20px;background:var(--um-accent);border-bottom:1px solid var(--um-btn-2-border);flex-shrink:0;">
|
|
92656
|
+
<span style="font-size:15px;">\u{1F511}</span>
|
|
92657
|
+
<span style="flex:1;font-size:14px;font-weight:600;color:#fff;">Atribuir Fun\xE7\xE3o / Papel</span>
|
|
92658
|
+
<button type="button" class="assign-close" style="background:none;border:none;color:rgba(255,255,255,0.8);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:4px;line-height:1;">\u2715</button>
|
|
92659
|
+
</div>
|
|
92660
|
+
<div style="padding:20px 24px;overflow-y:auto;flex:1;">
|
|
92649
92661
|
<div class="um-form" style="max-width:100%;">
|
|
92650
92662
|
<div class="um-form-group">
|
|
92651
92663
|
<label class="um-label">Fun\xE7\xE3o <span class="um-req">*</span></label>
|
|
@@ -92678,6 +92690,7 @@ Esta a\xE7\xE3o afeta todos os grupos que utilizam este canal.`
|
|
|
92678
92690
|
<button class="um-btn um-btn--primary assign-save">Atribuir</button>
|
|
92679
92691
|
</div>
|
|
92680
92692
|
</div>
|
|
92693
|
+
</div>
|
|
92681
92694
|
`;
|
|
92682
92695
|
overlay.appendChild(modal);
|
|
92683
92696
|
document.body.appendChild(overlay);
|
|
@@ -92708,6 +92721,7 @@ Esta a\xE7\xE3o afeta todos os grupos que utilizam este canal.`
|
|
|
92708
92721
|
overlay.addEventListener("click", (e) => {
|
|
92709
92722
|
if (e.target === overlay) close();
|
|
92710
92723
|
});
|
|
92724
|
+
modal.querySelector(".assign-close").addEventListener("click", close);
|
|
92711
92725
|
modal.querySelector(".assign-cancel").addEventListener("click", close);
|
|
92712
92726
|
modal.querySelector(".assign-save").addEventListener("click", async () => {
|
|
92713
92727
|
const roleId = modal.querySelector("[name=roleId]").value.trim();
|
|
@@ -93740,6 +93754,13 @@ Esta a\xE7\xE3o afeta todos os grupos que utilizam este canal.`
|
|
|
93740
93754
|
}
|
|
93741
93755
|
// ── Styles ───────────────────────────────────────────────────────────────────
|
|
93742
93756
|
injectStyles() {
|
|
93757
|
+
if (!document.getElementById("um-font-nunito")) {
|
|
93758
|
+
const link = document.createElement("link");
|
|
93759
|
+
link.id = "um-font-nunito";
|
|
93760
|
+
link.rel = "stylesheet";
|
|
93761
|
+
link.href = "https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&display=swap";
|
|
93762
|
+
document.head.appendChild(link);
|
|
93763
|
+
}
|
|
93743
93764
|
if (document.getElementById("um-styles")) return;
|
|
93744
93765
|
const style = document.createElement("style");
|
|
93745
93766
|
style.id = "um-styles";
|
|
@@ -93863,6 +93884,7 @@ Esta a\xE7\xE3o afeta todos os grupos que utilizam este canal.`
|
|
|
93863
93884
|
/* \u2500\u2500 Component styles (theme-agnostic via variables) \u2500\u2500 */
|
|
93864
93885
|
.um-modal {
|
|
93865
93886
|
background: var(--um-modal-bg);
|
|
93887
|
+
font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
|
93866
93888
|
border-radius: 14px; width: 92vw; max-width: 960px;
|
|
93867
93889
|
--modal-header-radius: 14px 14px 0 0;
|
|
93868
93890
|
aspect-ratio: 16/9; display: flex; flex-direction: column;
|
|
@@ -94036,7 +94058,7 @@ Esta a\xE7\xE3o afeta todos os grupos que utilizam este canal.`
|
|
|
94036
94058
|
.um-check-label { font-size: 13px; color: var(--um-text-secondary); cursor: pointer; display: flex; align-items: center; gap: 8px; }
|
|
94037
94059
|
.um-form-actions { display: flex; gap: 8px; justify-content: flex-end; margin-top: 8px; }
|
|
94038
94060
|
|
|
94039
|
-
.um-detail-card {
|
|
94061
|
+
.um-detail-card { width: 100%; }
|
|
94040
94062
|
.um-detail-section { border: 1px solid var(--um-border); border-radius: 10px; overflow: hidden; margin-bottom: 20px; }
|
|
94041
94063
|
.um-detail-row {
|
|
94042
94064
|
display: flex; align-items: flex-start; gap: 16px;
|