@forgeroute/ui 0.4.16 → 0.4.18

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.
@@ -1205,7 +1205,7 @@ var ColumnFilterComponent = class ColumnFilterComponent {
1205
1205
  </div>
1206
1206
  `,
1207
1207
  isInline: true,
1208
- styles: [":host{display:inline-block;position:relative}.cf-wrapper{position:relative}.cf-trigger{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;color:#94a3b8;padding:2px 4px;border-radius:4px;font-family:inherit;font-size:.75rem;transition:color .15s}.cf-trigger:hover{color:#1e293b}.cf-trigger.cf-active{color:#3b82f6}.cf-trigger:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media(max-width:640px),(pointer:coarse){.cf-trigger{position:relative}.cf-trigger:after{content:\"\";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}}.cf-active-label{font-size:.75rem;font-weight:500;color:#3b82f6}.cf-trigger--chip{min-height:44px;padding:0 14px;gap:6px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#334155;font-size:.8125rem;font-weight:500}.cf-trigger--chip.cf-active{border-color:#bfdbfe;background:#eff6ff}.cf-trigger--chip:after{display:none}.cf-chip-label{white-space:nowrap}.cf-dropdown{position:fixed;display:flex;flex-direction:column;max-height:calc(100vh - 16px);z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000a,0 12px 28px #0000001a;min-width:220px;animation:cf-drop .16s cubic-bezier(.16,1,.3,1)}.cf-header{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 10px 16px;border-bottom:1px solid #f1f5f9}.cf-header-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#64748b}.cf-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:none;border:none;cursor:pointer;color:#94a3b8;flex-shrink:0;transition:background .13s,color .13s}.cf-close:hover{background:#f1f5f9;color:#1e293b}@media(max-width:640px),(pointer:coarse){.cf-close{position:relative}.cf-close:after{content:\"\";position:absolute;inset:-10px}}.cf-options{padding:6px 8px;overflow-y:auto;min-height:0}.cf-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px;background:none;border:none;border-bottom:1px solid #e2e8f0;cursor:pointer;font-size:.875rem;color:#1e293b;font-family:inherit;text-align:left;border-radius:0;transition:background .12s}.cf-option:last-child{border-bottom:none}.cf-option:hover{background:#f8fafc}.cf-option.cf-selected{background:#eff6ff;color:#1d4ed8;font-weight:500}.cf-option:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}.cf-checkbox{flex-shrink:0;width:16px;height:16px;border-radius:4px;border:1.5px solid #d1d5db;display:flex;align-items:center;justify-content:center;background:#fff;transition:background .12s,border-color .12s}.cf-checkbox.cf-checkbox--checked{background:#3b82f6;border-color:#3b82f6;color:#fff}.cf-count{margin-left:auto;font-size:.7rem;font-weight:600;line-height:1;background:#f1f5f9;color:#64748b;border-radius:999px;padding:2px 7px;min-width:22px;text-align:center}.cf-option.cf-selected .cf-count{background:#dbeafe;color:#2563eb}.cf-footer{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid #f1f5f9}.cf-clear{flex:1;padding:8px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;color:#64748b;cursor:pointer;font-family:inherit;font-weight:500;transition:background .12s,color .12s}.cf-clear:hover{background:#f8fafc;color:#1e293b}.cf-apply{flex:1;padding:8px;border-radius:8px;border:none;background:#0f172a;color:#fff;font-size:.8125rem;cursor:pointer;font-family:inherit;font-weight:600;transition:background .12s}.cf-apply:hover{background:#1e293b}@keyframes cf-drop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1024px){.cf-trigger{padding:6px 8px}.cf-option{padding:11px 10px;min-height:40px}.cf-clear,.cf-apply{padding:10px}}@media(max-width:640px){.cf-dropdown{min-width:200px;max-width:calc(100vw - 16px)}.cf-option{padding:12px 10px;min-height:44px}.cf-clear,.cf-apply{padding:11px}}\n"],
1208
+ styles: [":host{display:inline-block;position:relative}.cf-wrapper{position:relative}.cf-trigger{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;color:#94a3b8;padding:2px 4px;border-radius:4px;font-family:inherit;font-size:.75rem;transition:color .15s}.cf-trigger:hover{color:#1e293b}.cf-trigger.cf-active{color:#3b82f6}.cf-trigger:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media(max-width:640px),(pointer:coarse){.cf-trigger{position:relative}.cf-trigger:after{content:\"\";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}}.cf-active-label{font-size:.75rem;font-weight:500;color:#3b82f6}.cf-trigger--chip{min-height:44px;padding:0 14px;gap:6px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#334155;font-size:.8125rem;font-weight:500}.cf-trigger--chip.cf-active{border-color:#bfdbfe;background:#eff6ff}.cf-trigger--chip:after{display:none}.cf-chip-label{white-space:nowrap}.cf-dropdown{position:fixed;display:flex;flex-direction:column;max-height:calc(100vh - 16px);z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000a,0 12px 28px #0000001a;min-width:220px;animation:cf-drop .16s cubic-bezier(.16,1,.3,1)}.cf-header{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 10px 16px;border-bottom:1px solid #f1f5f9}.cf-header-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#64748b}.cf-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:none;border:none;cursor:pointer;color:#94a3b8;flex-shrink:0;transition:background .13s,color .13s}.cf-close:hover{background:#f1f5f9;color:#1e293b}@media(max-width:640px),(pointer:coarse){.cf-close{position:relative}.cf-close:after{content:\"\";position:absolute;inset:-10px}}.cf-options{padding:6px 8px;overflow-y:auto;min-height:0}.cf-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px;background:none;border:none;border-bottom:1px solid #e2e8f0;cursor:pointer;font-size:.875rem;font-weight:400;color:#1e293b;font-family:inherit;text-align:left;border-radius:0;transition:background .12s}.cf-option:last-child{border-bottom:none}.cf-option:hover{background:#f8fafc}.cf-option.cf-selected{background:#eff6ff;color:#1d4ed8;font-weight:500}.cf-option:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}.cf-checkbox{flex-shrink:0;width:16px;height:16px;border-radius:4px;border:1.5px solid #d1d5db;display:flex;align-items:center;justify-content:center;background:#fff;transition:background .12s,border-color .12s}.cf-checkbox.cf-checkbox--checked{background:#3b82f6;border-color:#3b82f6;color:#fff}.cf-count{margin-left:auto;font-size:.7rem;font-weight:600;line-height:1;background:#f1f5f9;color:#64748b;border-radius:999px;padding:2px 7px;min-width:22px;text-align:center}.cf-option.cf-selected .cf-count{background:#dbeafe;color:#2563eb}.cf-footer{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid #f1f5f9}.cf-clear{flex:1;padding:8px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;color:#64748b;cursor:pointer;font-family:inherit;font-weight:500;transition:background .12s,color .12s}.cf-clear:hover{background:#f8fafc;color:#1e293b}.cf-apply{flex:1;padding:8px;border-radius:8px;border:none;background:#0f172a;color:#fff;font-size:.8125rem;cursor:pointer;font-family:inherit;font-weight:600;transition:background .12s}.cf-apply:hover{background:#1e293b}@keyframes cf-drop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1024px){.cf-trigger{padding:6px 8px}.cf-option{padding:11px 10px;min-height:40px}.cf-clear,.cf-apply{padding:10px}}@media(max-width:640px){.cf-dropdown{min-width:200px;max-width:calc(100vw - 16px)}.cf-option{padding:12px 10px;min-height:44px}.cf-clear,.cf-apply{padding:11px}}\n"],
1209
1209
  changeDetection: i0.ChangeDetectionStrategy.OnPush
1210
1210
  });
1211
1211
  }
@@ -1294,7 +1294,7 @@ i0.ɵɵngDeclareClassMetadata({
1294
1294
  }
1295
1295
  </div>
1296
1296
  `,
1297
- styles: [":host{display:inline-block;position:relative}.cf-wrapper{position:relative}.cf-trigger{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;color:#94a3b8;padding:2px 4px;border-radius:4px;font-family:inherit;font-size:.75rem;transition:color .15s}.cf-trigger:hover{color:#1e293b}.cf-trigger.cf-active{color:#3b82f6}.cf-trigger:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media(max-width:640px),(pointer:coarse){.cf-trigger{position:relative}.cf-trigger:after{content:\"\";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}}.cf-active-label{font-size:.75rem;font-weight:500;color:#3b82f6}.cf-trigger--chip{min-height:44px;padding:0 14px;gap:6px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#334155;font-size:.8125rem;font-weight:500}.cf-trigger--chip.cf-active{border-color:#bfdbfe;background:#eff6ff}.cf-trigger--chip:after{display:none}.cf-chip-label{white-space:nowrap}.cf-dropdown{position:fixed;display:flex;flex-direction:column;max-height:calc(100vh - 16px);z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000a,0 12px 28px #0000001a;min-width:220px;animation:cf-drop .16s cubic-bezier(.16,1,.3,1)}.cf-header{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 10px 16px;border-bottom:1px solid #f1f5f9}.cf-header-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#64748b}.cf-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:none;border:none;cursor:pointer;color:#94a3b8;flex-shrink:0;transition:background .13s,color .13s}.cf-close:hover{background:#f1f5f9;color:#1e293b}@media(max-width:640px),(pointer:coarse){.cf-close{position:relative}.cf-close:after{content:\"\";position:absolute;inset:-10px}}.cf-options{padding:6px 8px;overflow-y:auto;min-height:0}.cf-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px;background:none;border:none;border-bottom:1px solid #e2e8f0;cursor:pointer;font-size:.875rem;color:#1e293b;font-family:inherit;text-align:left;border-radius:0;transition:background .12s}.cf-option:last-child{border-bottom:none}.cf-option:hover{background:#f8fafc}.cf-option.cf-selected{background:#eff6ff;color:#1d4ed8;font-weight:500}.cf-option:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}.cf-checkbox{flex-shrink:0;width:16px;height:16px;border-radius:4px;border:1.5px solid #d1d5db;display:flex;align-items:center;justify-content:center;background:#fff;transition:background .12s,border-color .12s}.cf-checkbox.cf-checkbox--checked{background:#3b82f6;border-color:#3b82f6;color:#fff}.cf-count{margin-left:auto;font-size:.7rem;font-weight:600;line-height:1;background:#f1f5f9;color:#64748b;border-radius:999px;padding:2px 7px;min-width:22px;text-align:center}.cf-option.cf-selected .cf-count{background:#dbeafe;color:#2563eb}.cf-footer{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid #f1f5f9}.cf-clear{flex:1;padding:8px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;color:#64748b;cursor:pointer;font-family:inherit;font-weight:500;transition:background .12s,color .12s}.cf-clear:hover{background:#f8fafc;color:#1e293b}.cf-apply{flex:1;padding:8px;border-radius:8px;border:none;background:#0f172a;color:#fff;font-size:.8125rem;cursor:pointer;font-family:inherit;font-weight:600;transition:background .12s}.cf-apply:hover{background:#1e293b}@keyframes cf-drop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1024px){.cf-trigger{padding:6px 8px}.cf-option{padding:11px 10px;min-height:40px}.cf-clear,.cf-apply{padding:10px}}@media(max-width:640px){.cf-dropdown{min-width:200px;max-width:calc(100vw - 16px)}.cf-option{padding:12px 10px;min-height:44px}.cf-clear,.cf-apply{padding:11px}}\n"]
1297
+ styles: [":host{display:inline-block;position:relative}.cf-wrapper{position:relative}.cf-trigger{display:inline-flex;align-items:center;gap:4px;background:none;border:none;cursor:pointer;color:#94a3b8;padding:2px 4px;border-radius:4px;font-family:inherit;font-size:.75rem;transition:color .15s}.cf-trigger:hover{color:#1e293b}.cf-trigger.cf-active{color:#3b82f6}.cf-trigger:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media(max-width:640px),(pointer:coarse){.cf-trigger{position:relative}.cf-trigger:after{content:\"\";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}}.cf-active-label{font-size:.75rem;font-weight:500;color:#3b82f6}.cf-trigger--chip{min-height:44px;padding:0 14px;gap:6px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#334155;font-size:.8125rem;font-weight:500}.cf-trigger--chip.cf-active{border-color:#bfdbfe;background:#eff6ff}.cf-trigger--chip:after{display:none}.cf-chip-label{white-space:nowrap}.cf-dropdown{position:fixed;display:flex;flex-direction:column;max-height:calc(100vh - 16px);z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000a,0 12px 28px #0000001a;min-width:220px;animation:cf-drop .16s cubic-bezier(.16,1,.3,1)}.cf-header{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 10px 16px;border-bottom:1px solid #f1f5f9}.cf-header-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#64748b}.cf-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:none;border:none;cursor:pointer;color:#94a3b8;flex-shrink:0;transition:background .13s,color .13s}.cf-close:hover{background:#f1f5f9;color:#1e293b}@media(max-width:640px),(pointer:coarse){.cf-close{position:relative}.cf-close:after{content:\"\";position:absolute;inset:-10px}}.cf-options{padding:6px 8px;overflow-y:auto;min-height:0}.cf-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px;background:none;border:none;border-bottom:1px solid #e2e8f0;cursor:pointer;font-size:.875rem;font-weight:400;color:#1e293b;font-family:inherit;text-align:left;border-radius:0;transition:background .12s}.cf-option:last-child{border-bottom:none}.cf-option:hover{background:#f8fafc}.cf-option.cf-selected{background:#eff6ff;color:#1d4ed8;font-weight:500}.cf-option:focus-visible{outline:2px solid #3b82f6;outline-offset:-2px}.cf-checkbox{flex-shrink:0;width:16px;height:16px;border-radius:4px;border:1.5px solid #d1d5db;display:flex;align-items:center;justify-content:center;background:#fff;transition:background .12s,border-color .12s}.cf-checkbox.cf-checkbox--checked{background:#3b82f6;border-color:#3b82f6;color:#fff}.cf-count{margin-left:auto;font-size:.7rem;font-weight:600;line-height:1;background:#f1f5f9;color:#64748b;border-radius:999px;padding:2px 7px;min-width:22px;text-align:center}.cf-option.cf-selected .cf-count{background:#dbeafe;color:#2563eb}.cf-footer{display:flex;gap:8px;padding:10px 12px 12px;border-top:1px solid #f1f5f9}.cf-clear{flex:1;padding:8px;border-radius:8px;border:1px solid #e2e8f0;background:#fff;font-size:.8125rem;color:#64748b;cursor:pointer;font-family:inherit;font-weight:500;transition:background .12s,color .12s}.cf-clear:hover{background:#f8fafc;color:#1e293b}.cf-apply{flex:1;padding:8px;border-radius:8px;border:none;background:#0f172a;color:#fff;font-size:.8125rem;cursor:pointer;font-family:inherit;font-weight:600;transition:background .12s}.cf-apply:hover{background:#1e293b}@keyframes cf-drop{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:1024px){.cf-trigger{padding:6px 8px}.cf-option{padding:11px 10px;min-height:40px}.cf-clear,.cf-apply{padding:10px}}@media(max-width:640px){.cf-dropdown{min-width:200px;max-width:calc(100vw - 16px)}.cf-option{padding:12px 10px;min-height:44px}.cf-clear,.cf-apply{padding:11px}}\n"]
1298
1298
  }]
1299
1299
  }],
1300
1300
  ctorParameters: () => [],
@@ -2068,8 +2068,114 @@ function isUsableField(el) {
2068
2068
  const view = el.ownerDocument.defaultView;
2069
2069
  return !view || view.getComputedStyle(el).visibility !== "hidden";
2070
2070
  }
2071
+ const TABBABLE_SELECTOR = "button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), iframe, [tabindex]:not([tabindex=\"-1\"])";
2071
2072
  function tabbables(root) {
2072
- return Array.from(root.querySelectorAll("button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])")).filter((el) => el.getAttribute("tabindex") !== "-1");
2073
+ return Array.from(root.querySelectorAll(TABBABLE_SELECTOR)).filter((el) => {
2074
+ if (el.getAttribute("tabindex") === "-1") return false;
2075
+ if (el.hasAttribute("data-ui-focus-guard")) return false;
2076
+ return el.tagName !== "IFRAME" || isRenderedFrame(el);
2077
+ });
2078
+ }
2079
+ function isRenderedFrame(el) {
2080
+ if (!el.getClientRects().length || el.closest("[inert]")) return false;
2081
+ const view = el.ownerDocument.defaultView;
2082
+ return !view || view.getComputedStyle(el).visibility !== "hidden";
2083
+ }
2084
+ function redirectFromGuard(which, host, dialog, relatedTarget = null) {
2085
+ const list = tabbables(host);
2086
+ if (!list.length) {
2087
+ dialog?.focus();
2088
+ return;
2089
+ }
2090
+ if (which === "start" && dialog && relatedTarget === dialog) {
2091
+ list[0].focus();
2092
+ return;
2093
+ }
2094
+ (which === "start" ? list[list.length - 1] : list[0]).focus();
2095
+ }
2096
+ function neighbourTabbable(list, ref, dir) {
2097
+ if (!list.length) return null;
2098
+ if (dir === 1) return list.find((el) => el !== ref && !ref.contains(el) && (ref.compareDocumentPosition(el) & 4) !== 0) ?? list[0];
2099
+ return [...list].reverse().find((el) => el !== ref && !el.contains(ref) && (ref.compareDocumentPosition(el) & 2) !== 0) ?? list[list.length - 1];
2100
+ }
2101
+ function accessibleDocument(frame) {
2102
+ try {
2103
+ return frame.contentDocument ?? null;
2104
+ } catch {
2105
+ return null;
2106
+ }
2107
+ }
2108
+ function bridgeIframeKeys(root, doc, options) {
2109
+ if (!doc.defaultView) return () => {};
2110
+ const bound = /* @__PURE__ */ new Map();
2111
+ const makeHandler = (frame) => (event) => {
2112
+ if (event.key === "Escape") {
2113
+ options.onEscape(event);
2114
+ return;
2115
+ }
2116
+ if (event.key !== "Tab" || !options.isActive()) return;
2117
+ const inner = accessibleDocument(frame);
2118
+ if (!inner) return;
2119
+ const own = tabbables(inner.body);
2120
+ const active = inner.activeElement;
2121
+ if (!(event.shiftKey ? !own.length || active === own[0] || active === inner.body || active === inner.documentElement : !own.length || active === own[own.length - 1])) return;
2122
+ const target = neighbourTabbable(tabbables(root), frame, event.shiftKey ? -1 : 1);
2123
+ if (!target) return;
2124
+ event.preventDefault();
2125
+ target.focus();
2126
+ };
2127
+ const unbindDoc = (b) => {
2128
+ if (!b.doc) return;
2129
+ try {
2130
+ b.doc.removeEventListener("keydown", b.onKey, true);
2131
+ } catch {}
2132
+ b.doc = null;
2133
+ };
2134
+ const bindDoc = (frame, b) => {
2135
+ unbindDoc(b);
2136
+ const inner = accessibleDocument(frame);
2137
+ if (!inner) return;
2138
+ inner.addEventListener("keydown", b.onKey, true);
2139
+ b.doc = inner;
2140
+ };
2141
+ const attach = (frame) => {
2142
+ const b = {
2143
+ doc: null,
2144
+ onKey: makeHandler(frame),
2145
+ onLoad: () => bindDoc(frame, b)
2146
+ };
2147
+ frame.addEventListener("load", b.onLoad);
2148
+ bound.set(frame, b);
2149
+ bindDoc(frame, b);
2150
+ };
2151
+ const detach = (frame) => {
2152
+ const b = bound.get(frame);
2153
+ if (!b) return;
2154
+ frame.removeEventListener("load", b.onLoad);
2155
+ unbindDoc(b);
2156
+ bound.delete(frame);
2157
+ };
2158
+ const sync = () => {
2159
+ const current = new Set(Array.from(root.querySelectorAll("iframe")));
2160
+ for (const frame of Array.from(bound.keys())) if (!current.has(frame)) detach(frame);
2161
+ for (const frame of current) if (!bound.has(frame)) attach(frame);
2162
+ };
2163
+ sync();
2164
+ const touchesFrame = (n) => n.nodeType === 1 && (n.tagName === "IFRAME" || !!n.querySelector("iframe"));
2165
+ const observer = typeof MutationObserver === "undefined" ? null : new MutationObserver((records) => {
2166
+ if (records.some((r) => Array.from(r.addedNodes).some(touchesFrame) || Array.from(r.removedNodes).some(touchesFrame))) sync();
2167
+ });
2168
+ observer?.observe(root, {
2169
+ childList: true,
2170
+ subtree: true
2171
+ });
2172
+ let destroyed = false;
2173
+ return () => {
2174
+ if (destroyed) return;
2175
+ destroyed = true;
2176
+ observer?.disconnect();
2177
+ for (const frame of Array.from(bound.keys())) detach(frame);
2178
+ };
2073
2179
  }
2074
2180
  function focusInitial(dialog, body, doc) {
2075
2181
  if (!dialog) return;
@@ -2091,6 +2197,105 @@ function focusInitial(dialog, body, doc) {
2091
2197
  for (const f of fields) if (isUsableField(f) && tryFocus(f)) return;
2092
2198
  dialog.focus();
2093
2199
  }
2200
+ const FOCUSABLE_ANCESTOR = "button, a[href], [tabindex], [role=\"button\"], input:not([type=\"hidden\"]), select, textarea, summary";
2201
+ var LastInteraction = class LastInteraction {
2202
+ constructor() {
2203
+ this._target = null;
2204
+ this._at = 0;
2205
+ this._users = 0;
2206
+ this._off = null;
2207
+ }
2208
+ get target() {
2209
+ return this._target;
2210
+ }
2211
+ consume() {
2212
+ const fresh = this._target && Date.now() - this._at <= 1e3 ? this._target : null;
2213
+ this._target = null;
2214
+ return fresh;
2215
+ }
2216
+ acquire(doc) {
2217
+ this._users++;
2218
+ if (this._off || !doc.defaultView) return;
2219
+ const remember = (e) => {
2220
+ if (e.target instanceof Element) {
2221
+ this._target = e.target;
2222
+ this._at = Date.now();
2223
+ }
2224
+ };
2225
+ const onKey = (e) => {
2226
+ if (e.key === "Enter" || e.key === " ") remember(e);
2227
+ };
2228
+ doc.addEventListener("pointerdown", remember, true);
2229
+ doc.addEventListener("click", remember, true);
2230
+ doc.addEventListener("keydown", onKey, true);
2231
+ this._off = () => {
2232
+ doc.removeEventListener("pointerdown", remember, true);
2233
+ doc.removeEventListener("click", remember, true);
2234
+ doc.removeEventListener("keydown", onKey, true);
2235
+ };
2236
+ }
2237
+ release() {
2238
+ this._users = Math.max(0, this._users - 1);
2239
+ if (this._users > 0) return;
2240
+ this._off?.();
2241
+ this._off = null;
2242
+ this._target = null;
2243
+ }
2244
+ static {
2245
+ this.ɵfac = i0.ɵɵngDeclareFactory({
2246
+ minVersion: "12.0.0",
2247
+ version: "22.2.2",
2248
+ ngImport: i0,
2249
+ type: LastInteraction,
2250
+ deps: [],
2251
+ target: i0.ɵɵFactoryTarget.Injectable
2252
+ });
2253
+ }
2254
+ static {
2255
+ this.ɵprov = i0.ɵɵngDeclareInjectable({
2256
+ minVersion: "12.0.0",
2257
+ version: "22.2.2",
2258
+ ngImport: i0,
2259
+ type: LastInteraction,
2260
+ providedIn: "root"
2261
+ });
2262
+ }
2263
+ };
2264
+ i0.ɵɵngDeclareClassMetadata({
2265
+ minVersion: "12.0.0",
2266
+ version: "22.2.2",
2267
+ ngImport: i0,
2268
+ type: LastInteraction,
2269
+ decorators: [{
2270
+ type: Injectable,
2271
+ args: [{ providedIn: "root" }]
2272
+ }]
2273
+ });
2274
+ function closestFocusable(target) {
2275
+ return target?.closest(FOCUSABLE_ANCESTOR) ?? null;
2276
+ }
2277
+ function resolveTrigger(doc, tracker) {
2278
+ const consumed = tracker.consume();
2279
+ const active = doc.activeElement;
2280
+ const isBody = !active || active === doc.body || active === doc.documentElement;
2281
+ const isDialog = !isBody && active.matches("[role=\"dialog\"]");
2282
+ if (!isBody && !isDialog) return active;
2283
+ const tracked = closestFocusable(consumed);
2284
+ if (!tracked) return active;
2285
+ return isDialog && !active.contains(tracked) ? active : tracked;
2286
+ }
2287
+ function isUsable(el) {
2288
+ if (!el || !el.isConnected || !el.getClientRects().length) return false;
2289
+ const view = el.ownerDocument.defaultView;
2290
+ return !view || view.getComputedStyle(el).visibility !== "hidden";
2291
+ }
2292
+ function restoreFocus(explicit, captured) {
2293
+ for (const candidate of [explicit, captured]) if (isUsable(candidate)) {
2294
+ candidate.focus();
2295
+ return;
2296
+ }
2297
+ captured?.focus();
2298
+ }
2094
2299
  function trackVisualViewport(win, host) {
2095
2300
  const vv = win?.visualViewport;
2096
2301
  if (!win || !vv) return () => {};
@@ -2120,6 +2325,7 @@ var ModalComponent = class ModalComponent {
2120
2325
  this.hideClose = input(false, ...ngDevMode ? [{ debugName: "hideClose" }] : /* istanbul ignore next */ []);
2121
2326
  this.closable = input(true, ...ngDevMode ? [{ debugName: "closable" }] : /* istanbul ignore next */ []);
2122
2327
  this.close = output();
2328
+ this.returnFocusTo = input(null, ...ngDevMode ? [{ debugName: "returnFocusTo" }] : /* istanbul ignore next */ []);
2123
2329
  this.titleId = `m-title-${Math.random().toString(36).slice(2, 8)}`;
2124
2330
  this.el = inject(ElementRef);
2125
2331
  this.ren = inject(Renderer2);
@@ -2128,10 +2334,18 @@ var ModalComponent = class ModalComponent {
2128
2334
  this._prevFocus = null;
2129
2335
  this._scrollLocked = false;
2130
2336
  this._stopViewport = null;
2337
+ this._stopIframeKeys = null;
2338
+ this._interaction = inject(LastInteraction);
2339
+ this._interaction.acquire(this.doc);
2131
2340
  effect(() => {
2132
2341
  if (this.open()) {
2133
2342
  this._overlays.push(this);
2134
- this._prevFocus = this.doc.activeElement;
2343
+ this._prevFocus = resolveTrigger(this.doc, this._interaction);
2344
+ this._stopIframeKeys?.();
2345
+ this._stopIframeKeys = bridgeIframeKeys(this.el.nativeElement, this.doc, {
2346
+ onEscape: (e) => this.onKeydown(e),
2347
+ isActive: () => this.open() && this._overlays.isTop(this)
2348
+ });
2135
2349
  this.doc.body.style.overflow = "hidden";
2136
2350
  this._scrollLocked = true;
2137
2351
  this._stopViewport?.();
@@ -2143,7 +2357,9 @@ var ModalComponent = class ModalComponent {
2143
2357
  this._scrollLocked = false;
2144
2358
  this._stopViewport?.();
2145
2359
  this._stopViewport = null;
2146
- this._prevFocus?.focus();
2360
+ this._stopIframeKeys?.();
2361
+ this._stopIframeKeys = null;
2362
+ restoreFocus(untracked(() => this.returnFocusTo()), this._prevFocus);
2147
2363
  this._prevFocus = null;
2148
2364
  }
2149
2365
  });
@@ -2175,6 +2391,10 @@ var ModalComponent = class ModalComponent {
2175
2391
  }
2176
2392
  }
2177
2393
  }
2394
+ onGuardFocus(which, event) {
2395
+ if (!this._overlays.isTop(this)) return;
2396
+ redirectFromGuard(which, this.el.nativeElement, this.el.nativeElement.querySelector(".m-modal"), event?.relatedTarget ?? null);
2397
+ }
2178
2398
  _focusFirst() {
2179
2399
  focusInitial(this.el.nativeElement.querySelector(".m-modal"), this.el.nativeElement.querySelector(".m-body"), this.doc);
2180
2400
  }
@@ -2185,6 +2405,9 @@ var ModalComponent = class ModalComponent {
2185
2405
  this.ren.appendChild(this.doc.body, this.el.nativeElement);
2186
2406
  }
2187
2407
  ngOnDestroy() {
2408
+ this._interaction.release();
2409
+ this._stopIframeKeys?.();
2410
+ this._stopIframeKeys = null;
2188
2411
  this._stopViewport?.();
2189
2412
  this._stopViewport = null;
2190
2413
  this._overlays.remove(this);
@@ -2265,6 +2488,13 @@ var ModalComponent = class ModalComponent {
2265
2488
  isSignal: true,
2266
2489
  isRequired: false,
2267
2490
  transformFunction: null
2491
+ },
2492
+ returnFocusTo: {
2493
+ classPropertyName: "returnFocusTo",
2494
+ publicName: "returnFocusTo",
2495
+ isSignal: true,
2496
+ isRequired: false,
2497
+ transformFunction: null
2268
2498
  }
2269
2499
  },
2270
2500
  outputs: { close: "close" },
@@ -2274,6 +2504,7 @@ var ModalComponent = class ModalComponent {
2274
2504
  @if (open()) {
2275
2505
  <div class="m-backdrop" (click)="closable() && close.emit()"></div>
2276
2506
  <div class="m-modal" role="dialog" aria-modal="true" tabindex="-1" [attr.aria-labelledby]="titleId" [attr.data-testid]="dialogTestId() || null" [style.max-width]="maxWidth()">
2507
+ <span class="m-focus-guard" data-ui-focus-guard="start" tabindex="0" (focus)="onGuardFocus('start', $event)"></span>
2277
2508
  <div class="m-header">
2278
2509
  <div class="m-header-text">
2279
2510
  <h3 class="m-title" [id]="titleId">{{ title() }}</h3>
@@ -2297,11 +2528,12 @@ var ModalComponent = class ModalComponent {
2297
2528
  <div class="m-footer-center"><ng-content select="[modal-footer-center]" /></div>
2298
2529
  <div class="m-footer-right"><ng-content select="[modal-footer-right]" /></div>
2299
2530
  </div>
2531
+ <span class="m-focus-guard" data-ui-focus-guard="end" tabindex="0" (focus)="onGuardFocus('end', $event)"></span>
2300
2532
  </div>
2301
2533
  }
2302
2534
  `,
2303
2535
  isInline: true,
2304
- styles: [".m-backdrop{position:fixed;inset:0;background:#02081773;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;animation:m-fade .18s ease}.m-modal:focus{outline:none}.m-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.07);z-index:201;width:calc(100% - 32px);box-shadow:0 4px 6px #0000000a,0 16px 32px #0000001f,0 48px 96px #0000001a;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;animation:m-scale .22s cubic-bezier(.16,1,.3,1)}.m-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;flex-shrink:0}.m-header-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.m-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.02em;line-height:1.3}.m-description{font-size:.8125rem;color:#64748b;margin:0;line-height:1.4}.m-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;background:none;cursor:pointer;color:#94a3b8;flex-shrink:0;margin-left:12px;transition:background .13s,color .13s}.m-close:hover{background:#f1f5f9;color:#1e293b}.m-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.m-body{padding:20px 24px;overflow-y:auto;flex:1;min-height:0;font-size:.9rem;color:#475569;line-height:1.65}.m-footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 16px 16px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.m-footer:not(:has(*)){display:none}.m-footer-left{display:flex;align-items:center;gap:8px}.m-footer-right{display:flex;align-items:center;gap:8px;margin-left:auto}.m-footer-center{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;margin:0 8px}.m-footer-center:empty{display:none}@media(max-width:480px){.m-modal{top:auto;bottom:var(--ui-kb, 0px);left:0;right:0;transform:none;width:100vw;max-width:none!important;max-height:min(85dvh,var(--ui-vvh, 100dvh));border-radius:20px 20px 0 0;animation:m-up .24s cubic-bezier(.16,1,.3,1)}.m-footer{border-radius:0;flex-direction:column-reverse;align-items:stretch;padding-bottom:max(18px,env(safe-area-inset-bottom))}}@media(pointer:coarse),(max-width:480px){.m-close{position:relative}.m-close:after{content:\"\";position:absolute;inset:-7px}}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-scale{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes m-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}\n"],
2536
+ styles: [".m-backdrop{position:fixed;inset:0;background:#02081773;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;animation:m-fade .18s ease}.m-modal:focus{outline:none}.m-focus-guard{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;outline:none}.m-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.07);z-index:201;width:calc(100% - 32px);box-shadow:0 4px 6px #0000000a,0 16px 32px #0000001f,0 48px 96px #0000001a;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;animation:m-scale .22s cubic-bezier(.16,1,.3,1)}.m-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;flex-shrink:0}.m-header-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.m-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.02em;line-height:1.3}.m-description{font-size:.8125rem;color:#64748b;margin:0;line-height:1.4}.m-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;background:none;cursor:pointer;color:#94a3b8;flex-shrink:0;margin-left:12px;transition:background .13s,color .13s}.m-close:hover{background:#f1f5f9;color:#1e293b}.m-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.m-body{padding:20px 24px;overflow-y:auto;flex:1;min-height:0;font-size:.9rem;color:#475569;line-height:1.65}.m-footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 16px 16px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.m-footer:not(:has(*)){display:none}.m-footer-left{display:flex;align-items:center;gap:8px}.m-footer-right{display:flex;align-items:center;gap:8px;margin-left:auto}.m-footer-center{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;margin:0 8px}.m-footer-center:empty{display:none}@media(max-width:480px){.m-modal{top:auto;bottom:var(--ui-kb, 0px);left:0;right:0;transform:none;width:100vw;max-width:none!important;max-height:min(85dvh,var(--ui-vvh, 100dvh));border-radius:20px 20px 0 0;animation:m-up .24s cubic-bezier(.16,1,.3,1)}.m-footer{border-radius:0;flex-direction:column-reverse;align-items:stretch;padding-bottom:max(18px,env(safe-area-inset-bottom))}}@media(pointer:coarse),(max-width:480px){.m-close{position:relative}.m-close:after{content:\"\";position:absolute;inset:-7px}}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-scale{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes m-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}\n"],
2305
2537
  changeDetection: i0.ChangeDetectionStrategy.OnPush
2306
2538
  });
2307
2539
  }
@@ -2322,6 +2554,7 @@ i0.ɵɵngDeclareClassMetadata({
2322
2554
  @if (open()) {
2323
2555
  <div class="m-backdrop" (click)="closable() && close.emit()"></div>
2324
2556
  <div class="m-modal" role="dialog" aria-modal="true" tabindex="-1" [attr.aria-labelledby]="titleId" [attr.data-testid]="dialogTestId() || null" [style.max-width]="maxWidth()">
2557
+ <span class="m-focus-guard" data-ui-focus-guard="start" tabindex="0" (focus)="onGuardFocus('start', $event)"></span>
2325
2558
  <div class="m-header">
2326
2559
  <div class="m-header-text">
2327
2560
  <h3 class="m-title" [id]="titleId">{{ title() }}</h3>
@@ -2345,10 +2578,11 @@ i0.ɵɵngDeclareClassMetadata({
2345
2578
  <div class="m-footer-center"><ng-content select="[modal-footer-center]" /></div>
2346
2579
  <div class="m-footer-right"><ng-content select="[modal-footer-right]" /></div>
2347
2580
  </div>
2581
+ <span class="m-focus-guard" data-ui-focus-guard="end" tabindex="0" (focus)="onGuardFocus('end', $event)"></span>
2348
2582
  </div>
2349
2583
  }
2350
2584
  `,
2351
- styles: [".m-backdrop{position:fixed;inset:0;background:#02081773;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;animation:m-fade .18s ease}.m-modal:focus{outline:none}.m-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.07);z-index:201;width:calc(100% - 32px);box-shadow:0 4px 6px #0000000a,0 16px 32px #0000001f,0 48px 96px #0000001a;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;animation:m-scale .22s cubic-bezier(.16,1,.3,1)}.m-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;flex-shrink:0}.m-header-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.m-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.02em;line-height:1.3}.m-description{font-size:.8125rem;color:#64748b;margin:0;line-height:1.4}.m-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;background:none;cursor:pointer;color:#94a3b8;flex-shrink:0;margin-left:12px;transition:background .13s,color .13s}.m-close:hover{background:#f1f5f9;color:#1e293b}.m-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.m-body{padding:20px 24px;overflow-y:auto;flex:1;min-height:0;font-size:.9rem;color:#475569;line-height:1.65}.m-footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 16px 16px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.m-footer:not(:has(*)){display:none}.m-footer-left{display:flex;align-items:center;gap:8px}.m-footer-right{display:flex;align-items:center;gap:8px;margin-left:auto}.m-footer-center{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;margin:0 8px}.m-footer-center:empty{display:none}@media(max-width:480px){.m-modal{top:auto;bottom:var(--ui-kb, 0px);left:0;right:0;transform:none;width:100vw;max-width:none!important;max-height:min(85dvh,var(--ui-vvh, 100dvh));border-radius:20px 20px 0 0;animation:m-up .24s cubic-bezier(.16,1,.3,1)}.m-footer{border-radius:0;flex-direction:column-reverse;align-items:stretch;padding-bottom:max(18px,env(safe-area-inset-bottom))}}@media(pointer:coarse),(max-width:480px){.m-close{position:relative}.m-close:after{content:\"\";position:absolute;inset:-7px}}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-scale{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes m-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}\n"]
2585
+ styles: [".m-backdrop{position:fixed;inset:0;background:#02081773;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;animation:m-fade .18s ease}.m-modal:focus{outline:none}.m-focus-guard{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;outline:none}.m-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;border:1px solid rgba(0,0,0,.07);z-index:201;width:calc(100% - 32px);box-shadow:0 4px 6px #0000000a,0 16px 32px #0000001f,0 48px 96px #0000001a;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);display:flex;flex-direction:column;animation:m-scale .22s cubic-bezier(.16,1,.3,1)}.m-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:16px 16px 0 0;flex-shrink:0}.m-header-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.m-title{font-size:1.125rem;font-weight:700;color:#0f172a;margin:0;letter-spacing:-.02em;line-height:1.3}.m-description{font-size:.8125rem;color:#64748b;margin:0;line-height:1.4}.m-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;border:none;background:none;cursor:pointer;color:#94a3b8;flex-shrink:0;margin-left:12px;transition:background .13s,color .13s}.m-close:hover{background:#f1f5f9;color:#1e293b}.m-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.m-body{padding:20px 24px;overflow-y:auto;flex:1;min-height:0;font-size:.9rem;color:#475569;line-height:1.65}.m-footer{padding:14px 24px 18px;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 16px 16px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.m-footer:not(:has(*)){display:none}.m-footer-left{display:flex;align-items:center;gap:8px}.m-footer-right{display:flex;align-items:center;gap:8px;margin-left:auto}.m-footer-center{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;margin:0 8px}.m-footer-center:empty{display:none}@media(max-width:480px){.m-modal{top:auto;bottom:var(--ui-kb, 0px);left:0;right:0;transform:none;width:100vw;max-width:none!important;max-height:min(85dvh,var(--ui-vvh, 100dvh));border-radius:20px 20px 0 0;animation:m-up .24s cubic-bezier(.16,1,.3,1)}.m-footer{border-radius:0;flex-direction:column-reverse;align-items:stretch;padding-bottom:max(18px,env(safe-area-inset-bottom))}}@media(pointer:coarse),(max-width:480px){.m-close{position:relative}.m-close:after{content:\"\";position:absolute;inset:-7px}}@keyframes m-fade{0%{opacity:0}to{opacity:1}}@keyframes m-scale{0%{opacity:0;transform:translate(-50%,-48%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes m-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}\n"]
2352
2586
  }]
2353
2587
  }],
2354
2588
  ctorParameters: () => [],
@@ -2420,6 +2654,14 @@ i0.ɵɵngDeclareClassMetadata({
2420
2654
  close: [{
2421
2655
  type: i0.Output,
2422
2656
  args: ["close"]
2657
+ }],
2658
+ returnFocusTo: [{
2659
+ type: i0.Input,
2660
+ args: [{
2661
+ isSignal: true,
2662
+ alias: "returnFocusTo",
2663
+ required: false
2664
+ }]
2423
2665
  }]
2424
2666
  }
2425
2667
  });
@@ -2871,10 +3113,11 @@ var CheckboxComponent = class CheckboxComponent {
2871
3113
  template: `
2872
3114
  @if (groupMode()) {
2873
3115
  <fieldset class="cb-group" [class.cb-indent]="indent()" [class.cb-error]="_activeError()" [disabled]="disabled()"
2874
- [attr.aria-required]="required() ? 'true' : null" [attr.aria-invalid]="_activeError() ? 'true' : null"
3116
+ [attr.aria-invalid]="_activeError() ? 'true' : null"
2875
3117
  [attr.aria-describedby]="(_activeError() || hint()) ? _descId : null">
2876
3118
  @if (_legend()) {
2877
- <legend class="cb-legend">{{ _legend() }}@if (required()) { <span class="cb-required" aria-hidden="true">*</span> }</legend>
3119
+ <!-- aria-required is not allowed on a fieldset / group, so "required" is part of the legend's text for assistive technology -->
3120
+ <legend class="cb-legend">{{ _legend() }}@if (required()) { <span class="cb-required" aria-hidden="true">*</span><span class="cb-sr-only"> (required)</span> }</legend>
2878
3121
  }
2879
3122
  <div class="cb-options" [class.cb-horizontal]="orientation() === 'horizontal'">
2880
3123
  @for (opt of options(); track opt.value; let i = $index) {
@@ -2965,7 +3208,7 @@ var CheckboxComponent = class CheckboxComponent {
2965
3208
  }
2966
3209
  `,
2967
3210
  isInline: true,
2968
- styles: [".cb-field{display:inline-flex;flex-direction:column;gap:4px;vertical-align:top}.cb-group{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}.cb-legend{padding:0;margin:0 0 8px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1.2}.cb-required{color:#ef4444;margin-left:2px}.cb-options{display:flex;flex-direction:column;gap:10px}.cb-options.cb-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.cb-field.cb-has-trailing{display:flex}.cb-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cb-trailing{display:inline-flex;align-items:center;flex-shrink:0}.cb-option{display:flex;flex-direction:column;gap:4px}.cb-group-desc{margin-left:0}.cb-indent{margin-left:29px}.cb-desc{margin:0 0 0 29px;font-size:.75rem;line-height:1.4;color:#64748b}.cb-desc-error{color:#ef4444}.cb-error .cb-box:not(.cb-checked){border-color:#ef4444}.cb-wrap{position:relative;vertical-align:top;display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none}.cb-wrap.cb-disabled{cursor:not-allowed;opacity:.5}.cb-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-wrap:has(.cb-hidden:focus-visible) .cb-box{outline:2px solid #3b82f6;outline-offset:2px}@media(pointer:coarse),(max-width:480px){.cb-wrap{position:relative}.cb-hidden{width:44px;height:44px;margin:0;clip:auto;overflow:visible;left:-12px;top:50%;transform:translateY(-50%);opacity:0;cursor:pointer;z-index:1}.cb-wrap.cb-disabled .cb-hidden{cursor:not-allowed}}.cb-box{flex-shrink:0;width:20px;height:20px;border:2px solid #cbd5e1;border-radius:5px;background:#fff;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.cb-box.cb-checked,.cb-box.cb-indeterminate{background:#3b82f6;border-color:#3b82f6}.cb-wrap:hover .cb-box:not(.cb-checked):not(.cb-disabled){border-color:#3b82f6}@media(max-width:640px),(pointer:coarse){.cb-box{position:relative}.cb-box:after{content:\"\";position:absolute;inset:-12px}}.cb-label{font-size:.875rem;color:#334155;line-height:1.4}\n"],
3211
+ styles: [".cb-field{display:inline-flex;flex-direction:column;gap:4px;vertical-align:top}.cb-group{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}.cb-legend{padding:0;margin:0 0 8px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1.2}.cb-required{color:#dc2626;margin-left:2px}.cb-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-options{display:flex;flex-direction:column;gap:10px}.cb-options.cb-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.cb-field.cb-has-trailing{display:flex}.cb-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cb-trailing{display:inline-flex;align-items:center;flex-shrink:0}.cb-option{display:flex;flex-direction:column;gap:4px}.cb-group-desc{margin-left:0}.cb-indent{margin-left:29px}.cb-desc{margin:0 0 0 29px;font-size:.75rem;line-height:1.4;color:#64748b}.cb-desc-error{color:#dc2626}.cb-error .cb-box:not(.cb-checked){border-color:#ef4444}.cb-wrap{position:relative;vertical-align:top;display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none}.cb-wrap.cb-disabled{cursor:not-allowed;opacity:.5}.cb-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-wrap:has(.cb-hidden:focus-visible) .cb-box{outline:2px solid #3b82f6;outline-offset:2px}@media(pointer:coarse),(max-width:480px){.cb-wrap{position:relative}.cb-hidden{width:44px;height:44px;margin:0;clip:auto;overflow:visible;left:-12px;top:50%;transform:translateY(-50%);opacity:0;cursor:pointer;z-index:1}.cb-wrap.cb-disabled .cb-hidden{cursor:not-allowed}}.cb-box{flex-shrink:0;width:20px;height:20px;border:2px solid #cbd5e1;border-radius:5px;background:#fff;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.cb-box.cb-checked,.cb-box.cb-indeterminate{background:#3b82f6;border-color:#3b82f6}.cb-wrap:hover .cb-box:not(.cb-checked):not(.cb-disabled){border-color:#3b82f6}@media(max-width:640px),(pointer:coarse){.cb-box{position:relative}.cb-box:after{content:\"\";position:absolute;inset:-12px}}.cb-label{font-size:.875rem;color:#334155;line-height:1.4}\n"],
2969
3212
  dependencies: [{
2970
3213
  kind: "directive",
2971
3214
  type: NgTemplateOutlet,
@@ -3011,10 +3254,11 @@ i0.ɵɵngDeclareClassMetadata({
3011
3254
  template: `
3012
3255
  @if (groupMode()) {
3013
3256
  <fieldset class="cb-group" [class.cb-indent]="indent()" [class.cb-error]="_activeError()" [disabled]="disabled()"
3014
- [attr.aria-required]="required() ? 'true' : null" [attr.aria-invalid]="_activeError() ? 'true' : null"
3257
+ [attr.aria-invalid]="_activeError() ? 'true' : null"
3015
3258
  [attr.aria-describedby]="(_activeError() || hint()) ? _descId : null">
3016
3259
  @if (_legend()) {
3017
- <legend class="cb-legend">{{ _legend() }}@if (required()) { <span class="cb-required" aria-hidden="true">*</span> }</legend>
3260
+ <!-- aria-required is not allowed on a fieldset / group, so "required" is part of the legend's text for assistive technology -->
3261
+ <legend class="cb-legend">{{ _legend() }}@if (required()) { <span class="cb-required" aria-hidden="true">*</span><span class="cb-sr-only"> (required)</span> }</legend>
3018
3262
  }
3019
3263
  <div class="cb-options" [class.cb-horizontal]="orientation() === 'horizontal'">
3020
3264
  @for (opt of options(); track opt.value; let i = $index) {
@@ -3104,7 +3348,7 @@ i0.ɵɵngDeclareClassMetadata({
3104
3348
  </div>
3105
3349
  }
3106
3350
  `,
3107
- styles: [".cb-field{display:inline-flex;flex-direction:column;gap:4px;vertical-align:top}.cb-group{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}.cb-legend{padding:0;margin:0 0 8px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1.2}.cb-required{color:#ef4444;margin-left:2px}.cb-options{display:flex;flex-direction:column;gap:10px}.cb-options.cb-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.cb-field.cb-has-trailing{display:flex}.cb-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cb-trailing{display:inline-flex;align-items:center;flex-shrink:0}.cb-option{display:flex;flex-direction:column;gap:4px}.cb-group-desc{margin-left:0}.cb-indent{margin-left:29px}.cb-desc{margin:0 0 0 29px;font-size:.75rem;line-height:1.4;color:#64748b}.cb-desc-error{color:#ef4444}.cb-error .cb-box:not(.cb-checked){border-color:#ef4444}.cb-wrap{position:relative;vertical-align:top;display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none}.cb-wrap.cb-disabled{cursor:not-allowed;opacity:.5}.cb-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-wrap:has(.cb-hidden:focus-visible) .cb-box{outline:2px solid #3b82f6;outline-offset:2px}@media(pointer:coarse),(max-width:480px){.cb-wrap{position:relative}.cb-hidden{width:44px;height:44px;margin:0;clip:auto;overflow:visible;left:-12px;top:50%;transform:translateY(-50%);opacity:0;cursor:pointer;z-index:1}.cb-wrap.cb-disabled .cb-hidden{cursor:not-allowed}}.cb-box{flex-shrink:0;width:20px;height:20px;border:2px solid #cbd5e1;border-radius:5px;background:#fff;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.cb-box.cb-checked,.cb-box.cb-indeterminate{background:#3b82f6;border-color:#3b82f6}.cb-wrap:hover .cb-box:not(.cb-checked):not(.cb-disabled){border-color:#3b82f6}@media(max-width:640px),(pointer:coarse){.cb-box{position:relative}.cb-box:after{content:\"\";position:absolute;inset:-12px}}.cb-label{font-size:.875rem;color:#334155;line-height:1.4}\n"]
3351
+ styles: [".cb-field{display:inline-flex;flex-direction:column;gap:4px;vertical-align:top}.cb-group{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0;min-width:0}.cb-legend{padding:0;margin:0 0 8px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1.2}.cb-required{color:#dc2626;margin-left:2px}.cb-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-options{display:flex;flex-direction:column;gap:10px}.cb-options.cb-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.cb-field.cb-has-trailing{display:flex}.cb-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.cb-trailing{display:inline-flex;align-items:center;flex-shrink:0}.cb-option{display:flex;flex-direction:column;gap:4px}.cb-group-desc{margin-left:0}.cb-indent{margin-left:29px}.cb-desc{margin:0 0 0 29px;font-size:.75rem;line-height:1.4;color:#64748b}.cb-desc-error{color:#dc2626}.cb-error .cb-box:not(.cb-checked){border-color:#ef4444}.cb-wrap{position:relative;vertical-align:top;display:inline-flex;align-items:center;gap:9px;cursor:pointer;-webkit-user-select:none;user-select:none}.cb-wrap.cb-disabled{cursor:not-allowed;opacity:.5}.cb-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cb-wrap:has(.cb-hidden:focus-visible) .cb-box{outline:2px solid #3b82f6;outline-offset:2px}@media(pointer:coarse),(max-width:480px){.cb-wrap{position:relative}.cb-hidden{width:44px;height:44px;margin:0;clip:auto;overflow:visible;left:-12px;top:50%;transform:translateY(-50%);opacity:0;cursor:pointer;z-index:1}.cb-wrap.cb-disabled .cb-hidden{cursor:not-allowed}}.cb-box{flex-shrink:0;width:20px;height:20px;border:2px solid #cbd5e1;border-radius:5px;background:#fff;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}.cb-box.cb-checked,.cb-box.cb-indeterminate{background:#3b82f6;border-color:#3b82f6}.cb-wrap:hover .cb-box:not(.cb-checked):not(.cb-disabled){border-color:#3b82f6}@media(max-width:640px),(pointer:coarse){.cb-box{position:relative}.cb-box:after{content:\"\";position:absolute;inset:-12px}}.cb-label{font-size:.875rem;color:#334155;line-height:1.4}\n"]
3108
3352
  }]
3109
3353
  }],
3110
3354
  ctorParameters: () => [],
@@ -4058,6 +4302,7 @@ const EXTRA_ICONS = {
4058
4302
  "image": "M19 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z M8.5 8.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3z M21 15l-5-5L5 21",
4059
4303
  "chevron-up": "M18 15l-6-6-6 6",
4060
4304
  "chevron-down": "M6 9l6 6 6-6",
4305
+ "chevron-right": "M9 18l6-6-6-6",
4061
4306
  "arrow-left": "M19 12H5 M12 19l-7-7 7-7",
4062
4307
  "bell": "M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9 M13.73 21a2 2 0 0 1-3.46 0",
4063
4308
  "print": "M6 9V2h12v7 M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2 M6 14h12v8H6z",
@@ -4070,6 +4315,7 @@ const EXTRA_ICONS = {
4070
4315
  "grip": "M9 5h.01 M15 5h.01 M9 12h.01 M15 12h.01 M9 19h.01 M15 19h.01",
4071
4316
  "card": "M3 4h18a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z M1 10h22",
4072
4317
  "view-off": "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z M12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6z M3 3l18 18",
4318
+ "refund": "M3 10h10a8 8 0 0 1 8 8v2 M3 10l6 6 M3 10l6-6",
4073
4319
  "bank": "M3 21h18 M3 10h18 M5 6l7-3 7 3 M4 10v11 M20 10v11 M8 14v3 M12 14v3 M16 14v3"
4074
4320
  };
4075
4321
  function iconPath(name) {
@@ -4968,7 +5214,7 @@ var TextInputComponent = class TextInputComponent {
4968
5214
  </div>
4969
5215
  `,
4970
5216
  isInline: true,
4971
- styles: [":host{display:block}.ti-field{display:flex;flex-direction:column;gap:6px}.ti-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ti-required{color:#ef4444;margin-left:2px}.ti-prefixed{display:grid;grid-template-columns:minmax(0,1fr)}.ti-prefixed .ti-input{grid-row:var(--ti-input-row);grid-column:1}.ti-prefix{grid-row:var(--ti-input-row);grid-column:1;justify-self:start;align-self:center;margin-left:12px;font-size:.875rem;line-height:1;color:#64748b;pointer-events:none}@media(max-width:480px){.ti-prefix{font-size:1rem}}.ti-disabled .ti-prefix{opacity:.5}.ti-reveal{grid-row:var(--ti-input-row);grid-column:1;justify-self:end;align-self:center;margin-right:6px;position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.ti-reveal:hover:not(:disabled){color:#1e293b;background:#f1f5f9}.ti-reveal:focus-visible{outline:2px solid #3b82f6;outline-offset:0}.ti-reveal:disabled{opacity:.5;cursor:not-allowed}@media(pointer:coarse),(max-width:480px){.ti-reveal{width:44px;height:44px;margin-right:0}}.ti-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.ti-input::placeholder{color:#94a3b8}.ti-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ti-input:read-only{background:#f8fafc;cursor:default}.ti-error .ti-input{border-color:#ef4444}.ti-error .ti-input:focus{box-shadow:0 0 0 3px #ef44441f}.ti-disabled .ti-input{opacity:.5;cursor:not-allowed}.ti-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ti-desc-error{color:#ef4444}@media(max-width:480px){.ti-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.ti-input{min-height:44px}}\n"],
5217
+ styles: [":host{display:block}.ti-field{display:flex;flex-direction:column;gap:6px}.ti-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ti-required{color:#dc2626;margin-left:2px}.ti-prefixed{display:grid;grid-template-columns:minmax(0,1fr)}.ti-prefixed .ti-input{grid-row:var(--ti-input-row);grid-column:1}.ti-prefix{grid-row:var(--ti-input-row);grid-column:1;justify-self:start;align-self:center;margin-left:12px;font-size:.875rem;line-height:1;color:#64748b;pointer-events:none}@media(max-width:480px){.ti-prefix{font-size:1rem}}.ti-disabled .ti-prefix{opacity:.5}.ti-reveal{grid-row:var(--ti-input-row);grid-column:1;justify-self:end;align-self:center;margin-right:6px;position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.ti-reveal:hover:not(:disabled){color:#1e293b;background:#f1f5f9}.ti-reveal:focus-visible{outline:2px solid #3b82f6;outline-offset:0}.ti-reveal:disabled{opacity:.5;cursor:not-allowed}@media(pointer:coarse),(max-width:480px){.ti-reveal{width:44px;height:44px;margin-right:0}}.ti-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.ti-input::placeholder{color:#94a3b8}.ti-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ti-input:read-only{background:#f8fafc;cursor:default}.ti-error .ti-input{border-color:#ef4444}.ti-error .ti-input:focus{box-shadow:0 0 0 3px #ef44441f}.ti-disabled .ti-input{opacity:.5;cursor:not-allowed}.ti-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ti-desc-error{color:#dc2626}@media(max-width:480px){.ti-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.ti-input{min-height:44px}}\n"],
4972
5218
  dependencies: [{
4973
5219
  kind: "component",
4974
5220
  type: PasswordRequirementsComponent,
@@ -5065,7 +5311,7 @@ i0.ɵɵngDeclareClassMetadata({
5065
5311
  }
5066
5312
  </div>
5067
5313
  `,
5068
- styles: [":host{display:block}.ti-field{display:flex;flex-direction:column;gap:6px}.ti-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ti-required{color:#ef4444;margin-left:2px}.ti-prefixed{display:grid;grid-template-columns:minmax(0,1fr)}.ti-prefixed .ti-input{grid-row:var(--ti-input-row);grid-column:1}.ti-prefix{grid-row:var(--ti-input-row);grid-column:1;justify-self:start;align-self:center;margin-left:12px;font-size:.875rem;line-height:1;color:#64748b;pointer-events:none}@media(max-width:480px){.ti-prefix{font-size:1rem}}.ti-disabled .ti-prefix{opacity:.5}.ti-reveal{grid-row:var(--ti-input-row);grid-column:1;justify-self:end;align-self:center;margin-right:6px;position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.ti-reveal:hover:not(:disabled){color:#1e293b;background:#f1f5f9}.ti-reveal:focus-visible{outline:2px solid #3b82f6;outline-offset:0}.ti-reveal:disabled{opacity:.5;cursor:not-allowed}@media(pointer:coarse),(max-width:480px){.ti-reveal{width:44px;height:44px;margin-right:0}}.ti-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.ti-input::placeholder{color:#94a3b8}.ti-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ti-input:read-only{background:#f8fafc;cursor:default}.ti-error .ti-input{border-color:#ef4444}.ti-error .ti-input:focus{box-shadow:0 0 0 3px #ef44441f}.ti-disabled .ti-input{opacity:.5;cursor:not-allowed}.ti-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ti-desc-error{color:#ef4444}@media(max-width:480px){.ti-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.ti-input{min-height:44px}}\n"]
5314
+ styles: [":host{display:block}.ti-field{display:flex;flex-direction:column;gap:6px}.ti-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ti-required{color:#dc2626;margin-left:2px}.ti-prefixed{display:grid;grid-template-columns:minmax(0,1fr)}.ti-prefixed .ti-input{grid-row:var(--ti-input-row);grid-column:1}.ti-prefix{grid-row:var(--ti-input-row);grid-column:1;justify-self:start;align-self:center;margin-left:12px;font-size:.875rem;line-height:1;color:#64748b;pointer-events:none}@media(max-width:480px){.ti-prefix{font-size:1rem}}.ti-disabled .ti-prefix{opacity:.5}.ti-reveal{grid-row:var(--ti-input-row);grid-column:1;justify-self:end;align-self:center;margin-right:6px;position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:6px;background:transparent;color:#64748b;cursor:pointer}.ti-reveal:hover:not(:disabled){color:#1e293b;background:#f1f5f9}.ti-reveal:focus-visible{outline:2px solid #3b82f6;outline-offset:0}.ti-reveal:disabled{opacity:.5;cursor:not-allowed}@media(pointer:coarse),(max-width:480px){.ti-reveal{width:44px;height:44px;margin-right:0}}.ti-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.ti-input::placeholder{color:#94a3b8}.ti-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ti-input:read-only{background:#f8fafc;cursor:default}.ti-error .ti-input{border-color:#ef4444}.ti-error .ti-input:focus{box-shadow:0 0 0 3px #ef44441f}.ti-disabled .ti-input{opacity:.5;cursor:not-allowed}.ti-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ti-desc-error{color:#dc2626}@media(max-width:480px){.ti-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.ti-input{min-height:44px}}\n"]
5069
5315
  }]
5070
5316
  }],
5071
5317
  ctorParameters: () => [],
@@ -5668,7 +5914,8 @@ var TableToolbarComponent = class TableToolbarComponent {
5668
5914
  "bodyOverflow",
5669
5915
  "dialogTestId",
5670
5916
  "hideClose",
5671
- "closable"
5917
+ "closable",
5918
+ "returnFocusTo"
5672
5919
  ],
5673
5920
  outputs: ["close"]
5674
5921
  },
@@ -6304,7 +6551,7 @@ var StarComponent = class StarComponent {
6304
6551
  ngImport: i0,
6305
6552
  template: `
6306
6553
  @if (interactive()) {
6307
- <button type="button" class="star star-btn" [class.star-off]="!filled()" [uiTooltip]="tooltip()"
6554
+ <button type="button" class="star star-btn" [class.star-off]="!filled()" [style.--star-size.px]="size()" [uiTooltip]="tooltip()"
6308
6555
  [attr.aria-label]="tooltip() || null" (click)="starClick.emit($event)">
6309
6556
  <ng-container *ngTemplateOutlet="shape" />
6310
6557
  </button>
@@ -6325,7 +6572,7 @@ var StarComponent = class StarComponent {
6325
6572
  </ng-template>
6326
6573
  `,
6327
6574
  isInline: true,
6328
- styles: [":host{display:inline-flex;vertical-align:middle;line-height:1}.star{display:inline-flex;align-items:center;justify-content:center;border-radius:3px}.star-btn{border:0;background:none;padding:0;margin:0;cursor:pointer;font:inherit}.star-off .star-shape{fill:none;stroke:#94a3b8;stroke-width:1.25}.star-btn.star-off:hover .star-shape{stroke:#64748b}.star:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.star-shape{fill:#f5b301;stroke:#d99a00;stroke-width:.75;stroke-linejoin:round}\n"],
6575
+ styles: [":host{display:inline-flex;vertical-align:middle;line-height:1}.star{display:inline-flex;align-items:center;justify-content:center;border-radius:3px}.star-btn{position:relative;border:0;background:none;padding:0;margin:0;cursor:pointer;font:inherit}@media(pointer:coarse){.star-btn:after{content:\"\";position:absolute;inset:min(-8px,calc((var(--star-size, 16px) - 44px) / 2))}}.star-off .star-shape{fill:none;stroke:#94a3b8;stroke-width:1.25}.star-btn.star-off:hover .star-shape{stroke:#64748b}.star:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.star-shape{fill:#f5b301;stroke:#d99a00;stroke-width:.75;stroke-linejoin:round}\n"],
6329
6576
  dependencies: [{
6330
6577
  kind: "directive",
6331
6578
  type: TooltipDirective,
@@ -6359,7 +6606,7 @@ i0.ɵɵngDeclareClassMetadata({
6359
6606
  imports: [TooltipDirective, NgTemplateOutlet],
6360
6607
  template: `
6361
6608
  @if (interactive()) {
6362
- <button type="button" class="star star-btn" [class.star-off]="!filled()" [uiTooltip]="tooltip()"
6609
+ <button type="button" class="star star-btn" [class.star-off]="!filled()" [style.--star-size.px]="size()" [uiTooltip]="tooltip()"
6363
6610
  [attr.aria-label]="tooltip() || null" (click)="starClick.emit($event)">
6364
6611
  <ng-container *ngTemplateOutlet="shape" />
6365
6612
  </button>
@@ -6379,7 +6626,7 @@ i0.ɵɵngDeclareClassMetadata({
6379
6626
  </svg>
6380
6627
  </ng-template>
6381
6628
  `,
6382
- styles: [":host{display:inline-flex;vertical-align:middle;line-height:1}.star{display:inline-flex;align-items:center;justify-content:center;border-radius:3px}.star-btn{border:0;background:none;padding:0;margin:0;cursor:pointer;font:inherit}.star-off .star-shape{fill:none;stroke:#94a3b8;stroke-width:1.25}.star-btn.star-off:hover .star-shape{stroke:#64748b}.star:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.star-shape{fill:#f5b301;stroke:#d99a00;stroke-width:.75;stroke-linejoin:round}\n"]
6629
+ styles: [":host{display:inline-flex;vertical-align:middle;line-height:1}.star{display:inline-flex;align-items:center;justify-content:center;border-radius:3px}.star-btn{position:relative;border:0;background:none;padding:0;margin:0;cursor:pointer;font:inherit}@media(pointer:coarse){.star-btn:after{content:\"\";position:absolute;inset:min(-8px,calc((var(--star-size, 16px) - 44px) / 2))}}.star-off .star-shape{fill:none;stroke:#94a3b8;stroke-width:1.25}.star-btn.star-off:hover .star-shape{stroke:#64748b}.star:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.star-shape{fill:#f5b301;stroke:#d99a00;stroke-width:.75;stroke-linejoin:round}\n"]
6383
6630
  }]
6384
6631
  }],
6385
6632
  propDecorators: {
@@ -7077,7 +7324,7 @@ var SelectComponent = class SelectComponent {
7077
7324
  </div>
7078
7325
  `,
7079
7326
  isInline: true,
7080
- styles: [":host{display:block}.sl-field{display:flex;flex-direction:column;gap:6px}.sl-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.sl-required{color:#ef4444;margin-left:2px}.sl-wrap{position:relative;display:flex;align-items:center}.sl-select{width:100%;box-sizing:border-box;padding:9px 32px 9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;appearance:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.sl-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.sl-error .sl-select{border-color:#ef4444}.sl-error .sl-select:focus{box-shadow:0 0 0 3px #ef44441f}.sl-disabled .sl-select{opacity:.5;cursor:not-allowed}.sl-select-sm{padding:6px 32px 6px 12px;font-size:.8125rem;border-radius:6px}.sl-chevron{position:absolute;right:10px;pointer-events:none;color:#94a3b8;flex-shrink:0}.sl-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.sl-desc-error{color:#ef4444}@media(max-width:480px){.sl-select{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.sl-select,.sl-select-sm{min-height:44px}}\n"],
7327
+ styles: [":host{display:block}.sl-field{display:flex;flex-direction:column;gap:6px}.sl-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.sl-required{color:#dc2626;margin-left:2px}.sl-wrap{position:relative;display:flex;align-items:center}.sl-select{width:100%;box-sizing:border-box;padding:9px 32px 9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;appearance:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.sl-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.sl-error .sl-select{border-color:#ef4444}.sl-error .sl-select:focus{box-shadow:0 0 0 3px #ef44441f}.sl-disabled .sl-select{opacity:.5;cursor:not-allowed}.sl-select-sm{padding:6px 32px 6px 12px;font-size:.8125rem;border-radius:6px}.sl-chevron{position:absolute;right:10px;pointer-events:none;color:#94a3b8;flex-shrink:0}.sl-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.sl-desc-error{color:#dc2626}@media(max-width:480px){.sl-select{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.sl-select,.sl-select-sm{min-height:44px}}\n"],
7081
7328
  changeDetection: i0.ChangeDetectionStrategy.OnPush
7082
7329
  });
7083
7330
  }
@@ -7147,7 +7394,7 @@ i0.ɵɵngDeclareClassMetadata({
7147
7394
  }
7148
7395
  </div>
7149
7396
  `,
7150
- styles: [":host{display:block}.sl-field{display:flex;flex-direction:column;gap:6px}.sl-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.sl-required{color:#ef4444;margin-left:2px}.sl-wrap{position:relative;display:flex;align-items:center}.sl-select{width:100%;box-sizing:border-box;padding:9px 32px 9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;appearance:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.sl-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.sl-error .sl-select{border-color:#ef4444}.sl-error .sl-select:focus{box-shadow:0 0 0 3px #ef44441f}.sl-disabled .sl-select{opacity:.5;cursor:not-allowed}.sl-select-sm{padding:6px 32px 6px 12px;font-size:.8125rem;border-radius:6px}.sl-chevron{position:absolute;right:10px;pointer-events:none;color:#94a3b8;flex-shrink:0}.sl-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.sl-desc-error{color:#ef4444}@media(max-width:480px){.sl-select{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.sl-select,.sl-select-sm{min-height:44px}}\n"]
7397
+ styles: [":host{display:block}.sl-field{display:flex;flex-direction:column;gap:6px}.sl-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.sl-required{color:#dc2626;margin-left:2px}.sl-wrap{position:relative;display:flex;align-items:center}.sl-select{width:100%;box-sizing:border-box;padding:9px 32px 9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;appearance:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.sl-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.sl-error .sl-select{border-color:#ef4444}.sl-error .sl-select:focus{box-shadow:0 0 0 3px #ef44441f}.sl-disabled .sl-select{opacity:.5;cursor:not-allowed}.sl-select-sm{padding:6px 32px 6px 12px;font-size:.8125rem;border-radius:6px}.sl-chevron{position:absolute;right:10px;pointer-events:none;color:#94a3b8;flex-shrink:0}.sl-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.sl-desc-error{color:#dc2626}@media(max-width:480px){.sl-select{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.sl-select,.sl-select-sm{min-height:44px}}\n"]
7151
7398
  }]
7152
7399
  }],
7153
7400
  ctorParameters: () => [],
@@ -8249,7 +8496,7 @@ var ImportExportComponent = class ImportExportComponent {
8249
8496
  </ui-modal>
8250
8497
  `,
8251
8498
  isInline: true,
8252
- styles: [".ie-actions{display:flex;gap:8px}.ie-steps{display:flex;align-items:center;margin-bottom:24px;gap:0;list-style:none;padding:0}.ie-step{display:flex;align-items:center;gap:6px;flex-shrink:0}.ie-step-num{width:24px;height:24px;border-radius:50%;background:#e2e8f0;color:#64748b;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ie-step-label{font-size:.8125rem;color:#94a3b8;font-weight:500}.ie-step.active .ie-step-num{background:#3b82f6;color:#fff}.ie-step.active .ie-step-label{color:#1e293b;font-weight:600}.ie-step.done .ie-step-num{background:#22c55e;color:#fff}.ie-step.done .ie-step-label{color:#64748b}.ie-step-divider{flex:1;height:1px;background:#e2e8f0;margin:0 8px;min-width:16px}.ie-source-step{display:flex;flex-direction:column;gap:16px}.ie-source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:520px){.ie-source-grid{grid-template-columns:repeat(2,1fr)}}.ie-source-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s}.ie-source-card:hover{border-color:#94a3b8;background:#f8fafc}.ie-source-card.ie-source-card--active{border-color:#3b82f6;background:#eff6ff}.ie-source-card:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.ie-source-letter{width:36px;height:36px;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ie-source-label{font-size:.8125rem;font-weight:600;color:#1e293b;line-height:1.2}.ie-source-desc{font-size:.75rem;color:#64748b}.ie-upload-area{display:flex;flex-direction:column;gap:12px}.ie-template-hint{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.875rem;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px}.ie-file-hidden{display:none}.ie-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 24px;border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;transition:border-color .18s ease,background .18s ease}.ie-dropzone:hover,.ie-dropzone:focus-within{border-color:#3b82f6;background:#f0f7ff}.ie-dropzone.has-error{border-color:#ef4444}.ie-dropzone-text{font-size:.9375rem;font-weight:600;color:#1e293b}.ie-dropzone-sub{font-size:.8125rem;color:#94a3b8}.ie-mapping{display:flex;flex-direction:column;gap:12px}.ie-mapping-hint{font-size:.875rem;color:#64748b;margin:0}.ie-mapping-success{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-size:.875rem;color:#15803d}.ie-mapping-success svg{flex-shrink:0;margin-top:1px;color:#16a34a}.ie-mapping-unmatched{display:flex;align-items:flex-start;gap:6px;font-size:.8125rem;color:#64748b;margin:0;padding-top:4px}.ie-mapping-unmatched svg{flex-shrink:0;margin-top:1px}.ie-mapping-unmatched em{font-style:normal;color:#475569}.ie-mapping-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.ie-mapping-header{display:grid;grid-template-columns:1fr 1fr 1fr;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase}.ie-mapping-row{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;padding:8px 12px;border-bottom:1px solid #f1f5f9;gap:8px}.ie-mapping-row:last-child{border-bottom:none}.ie-mapping-row.ie-mapping-row--required-missing{background:#fff7ed}.ie-mapping-row.ie-mapping-row--required-missing .ie-field-label{color:#c2410c}.ie-match-icon{color:#16a34a;margin-right:4px;vertical-align:-1px}.ie-field-label{display:flex;align-items:center;font-size:.875rem;color:#1e293b;font-weight:500}.ie-required{color:#ef4444;margin-left:2px}.ie-sample{font-size:.8125rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ie-preview{display:flex;flex-direction:column;gap:12px}.ie-preview-scroll{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.ie-preview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ie-preview-table th{background:#f8fafc;padding:8px 12px;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;border-bottom:1px solid #e2e8f0;white-space:nowrap}.ie-preview-table td{padding:7px 12px;color:#1e293b;border-bottom:1px solid #f1f5f9;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ie-preview-table tr:last-child td{border-bottom:none}.ie-result{display:flex;flex-direction:column;gap:16px}.ie-result-summary{display:flex;flex-direction:column;gap:8px}.ie-result-stat{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:.9375rem}.ie-result-stat.success{background:#f0fdf4;color:#15803d}.ie-result-stat.success svg{stroke:#22c55e}.ie-result-stat.error{background:#fef2f2;color:#b91c1c}.ie-result-stat.error svg{stroke:#ef4444}.ie-result-stat.warning{background:#fffbeb;color:#b45309}.ie-result-stat.warning svg{stroke:#f59e0b}.ie-errors-list{border:1px solid #fecaca;border-radius:8px;overflow:hidden}.ie-errors-title{font-size:.8125rem;font-weight:600;color:#b91c1c;padding:8px 12px;background:#fef2f2;margin:0;border-bottom:1px solid #fecaca}.ie-error-row{display:flex;gap:12px;padding:7px 12px;border-bottom:1px solid #fff1f2;font-size:.8125rem;color:#374151}.ie-error-row:last-child{border-bottom:none}.ie-error-row-num{font-weight:600;color:#b91c1c;flex-shrink:0}.ie-warnings-list{border:1px solid #fde68a;border-radius:8px;overflow:hidden}.ie-warnings-title{font-size:.8125rem;font-weight:600;color:#b45309;padding:8px 12px;background:#fffbeb;margin:0;border-bottom:1px solid #fde68a}.ie-warning-row{display:flex;gap:12px;padding:7px 12px;border-bottom:1px solid #fef3c7;font-size:.8125rem;color:#374151}.ie-warning-row:last-child{border-bottom:none}.ie-warning-row-num{font-weight:600;color:#b45309;flex-shrink:0}.ie-error{font-size:.875rem;color:#ef4444;margin:0}.ie-footer-right{display:flex;gap:8px;align-items:center}@media(max-width:600px){.ie-step-label{display:none}.ie-dropzone{padding:24px 16px}.ie-mapping-header{grid-template-columns:1fr 1fr}.ie-mapping-header span:last-child{display:none}.ie-mapping-row{grid-template-columns:1fr 1fr}.ie-mapping-row .ie-sample{display:none}}\n"],
8499
+ styles: [".ie-actions{display:flex;gap:8px}.ie-steps{display:flex;align-items:center;margin-bottom:24px;gap:0;list-style:none;padding:0}.ie-step{display:flex;align-items:center;gap:6px;flex-shrink:0}.ie-step-num{width:24px;height:24px;border-radius:50%;background:#e2e8f0;color:#64748b;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ie-step-label{font-size:.8125rem;color:#94a3b8;font-weight:500}.ie-step.active .ie-step-num{background:#3b82f6;color:#fff}.ie-step.active .ie-step-label{color:#1e293b;font-weight:600}.ie-step.done .ie-step-num{background:#22c55e;color:#fff}.ie-step.done .ie-step-label{color:#64748b}.ie-step-divider{flex:1;height:1px;background:#e2e8f0;margin:0 8px;min-width:16px}.ie-source-step{display:flex;flex-direction:column;gap:16px}.ie-source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:520px){.ie-source-grid{grid-template-columns:repeat(2,1fr)}}.ie-source-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s}.ie-source-card:hover{border-color:#94a3b8;background:#f8fafc}.ie-source-card.ie-source-card--active{border-color:#3b82f6;background:#eff6ff}.ie-source-card:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.ie-source-letter{width:36px;height:36px;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ie-source-label{font-size:.8125rem;font-weight:600;color:#1e293b;line-height:1.2}.ie-source-desc{font-size:.75rem;color:#64748b}.ie-upload-area{display:flex;flex-direction:column;gap:12px}.ie-template-hint{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.875rem;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px}.ie-file-hidden{display:none}.ie-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 24px;border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;transition:border-color .18s ease,background .18s ease}.ie-dropzone:hover,.ie-dropzone:focus-within{border-color:#3b82f6;background:#f0f7ff}.ie-dropzone.has-error{border-color:#ef4444}.ie-dropzone-text{font-size:.9375rem;font-weight:600;color:#1e293b}.ie-dropzone-sub{font-size:.8125rem;color:#94a3b8}.ie-mapping{display:flex;flex-direction:column;gap:12px}.ie-mapping-hint{font-size:.875rem;color:#64748b;margin:0}.ie-mapping-success{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-size:.875rem;color:#15803d}.ie-mapping-success svg{flex-shrink:0;margin-top:1px;color:#16a34a}.ie-mapping-unmatched{display:flex;align-items:flex-start;gap:6px;font-size:.8125rem;color:#64748b;margin:0;padding-top:4px}.ie-mapping-unmatched svg{flex-shrink:0;margin-top:1px}.ie-mapping-unmatched em{font-style:normal;color:#475569}.ie-mapping-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.ie-mapping-header{display:grid;grid-template-columns:1fr 1fr 1fr;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase}.ie-mapping-row{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;padding:8px 12px;border-bottom:1px solid #f1f5f9;gap:8px}.ie-mapping-row:last-child{border-bottom:none}.ie-mapping-row.ie-mapping-row--required-missing{background:#fff7ed}.ie-mapping-row.ie-mapping-row--required-missing .ie-field-label{color:#c2410c}.ie-match-icon{color:#16a34a;margin-right:4px;vertical-align:-1px}.ie-field-label{display:flex;align-items:center;font-size:.875rem;color:#1e293b;font-weight:500}.ie-required{color:#dc2626;margin-left:2px}.ie-sample{font-size:.8125rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ie-preview{display:flex;flex-direction:column;gap:12px}.ie-preview-scroll{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.ie-preview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ie-preview-table th{background:#f8fafc;padding:8px 12px;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;border-bottom:1px solid #e2e8f0;white-space:nowrap}.ie-preview-table td{padding:7px 12px;color:#1e293b;border-bottom:1px solid #f1f5f9;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ie-preview-table tr:last-child td{border-bottom:none}.ie-result{display:flex;flex-direction:column;gap:16px}.ie-result-summary{display:flex;flex-direction:column;gap:8px}.ie-result-stat{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:.9375rem}.ie-result-stat.success{background:#f0fdf4;color:#15803d}.ie-result-stat.success svg{stroke:#22c55e}.ie-result-stat.error{background:#fef2f2;color:#b91c1c}.ie-result-stat.error svg{stroke:#ef4444}.ie-result-stat.warning{background:#fffbeb;color:#b45309}.ie-result-stat.warning svg{stroke:#f59e0b}.ie-errors-list{border:1px solid #fecaca;border-radius:8px;overflow:hidden}.ie-errors-title{font-size:.8125rem;font-weight:600;color:#b91c1c;padding:8px 12px;background:#fef2f2;margin:0;border-bottom:1px solid #fecaca}.ie-error-row{display:flex;gap:12px;padding:7px 12px;border-bottom:1px solid #fff1f2;font-size:.8125rem;color:#374151}.ie-error-row:last-child{border-bottom:none}.ie-error-row-num{font-weight:600;color:#b91c1c;flex-shrink:0}.ie-warnings-list{border:1px solid #fde68a;border-radius:8px;overflow:hidden}.ie-warnings-title{font-size:.8125rem;font-weight:600;color:#b45309;padding:8px 12px;background:#fffbeb;margin:0;border-bottom:1px solid #fde68a}.ie-warning-row{display:flex;gap:12px;padding:7px 12px;border-bottom:1px solid #fef3c7;font-size:.8125rem;color:#374151}.ie-warning-row:last-child{border-bottom:none}.ie-warning-row-num{font-weight:600;color:#b45309;flex-shrink:0}.ie-error{font-size:.875rem;color:#dc2626;margin:0}.ie-footer-right{display:flex;gap:8px;align-items:center}@media(max-width:600px){.ie-step-label{display:none}.ie-dropzone{padding:24px 16px}.ie-mapping-header{grid-template-columns:1fr 1fr}.ie-mapping-header span:last-child{display:none}.ie-mapping-row{grid-template-columns:1fr 1fr}.ie-mapping-row .ie-sample{display:none}}\n"],
8253
8500
  dependencies: [
8254
8501
  {
8255
8502
  kind: "ngmodule",
@@ -8285,7 +8532,8 @@ var ImportExportComponent = class ImportExportComponent {
8285
8532
  "bodyOverflow",
8286
8533
  "dialogTestId",
8287
8534
  "hideClose",
8288
- "closable"
8535
+ "closable",
8536
+ "returnFocusTo"
8289
8537
  ],
8290
8538
  outputs: ["close"]
8291
8539
  },
@@ -8605,7 +8853,7 @@ i0.ɵɵngDeclareClassMetadata({
8605
8853
 
8606
8854
  </ui-modal>
8607
8855
  `,
8608
- styles: [".ie-actions{display:flex;gap:8px}.ie-steps{display:flex;align-items:center;margin-bottom:24px;gap:0;list-style:none;padding:0}.ie-step{display:flex;align-items:center;gap:6px;flex-shrink:0}.ie-step-num{width:24px;height:24px;border-radius:50%;background:#e2e8f0;color:#64748b;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ie-step-label{font-size:.8125rem;color:#94a3b8;font-weight:500}.ie-step.active .ie-step-num{background:#3b82f6;color:#fff}.ie-step.active .ie-step-label{color:#1e293b;font-weight:600}.ie-step.done .ie-step-num{background:#22c55e;color:#fff}.ie-step.done .ie-step-label{color:#64748b}.ie-step-divider{flex:1;height:1px;background:#e2e8f0;margin:0 8px;min-width:16px}.ie-source-step{display:flex;flex-direction:column;gap:16px}.ie-source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:520px){.ie-source-grid{grid-template-columns:repeat(2,1fr)}}.ie-source-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s}.ie-source-card:hover{border-color:#94a3b8;background:#f8fafc}.ie-source-card.ie-source-card--active{border-color:#3b82f6;background:#eff6ff}.ie-source-card:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.ie-source-letter{width:36px;height:36px;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ie-source-label{font-size:.8125rem;font-weight:600;color:#1e293b;line-height:1.2}.ie-source-desc{font-size:.75rem;color:#64748b}.ie-upload-area{display:flex;flex-direction:column;gap:12px}.ie-template-hint{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.875rem;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px}.ie-file-hidden{display:none}.ie-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 24px;border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;transition:border-color .18s ease,background .18s ease}.ie-dropzone:hover,.ie-dropzone:focus-within{border-color:#3b82f6;background:#f0f7ff}.ie-dropzone.has-error{border-color:#ef4444}.ie-dropzone-text{font-size:.9375rem;font-weight:600;color:#1e293b}.ie-dropzone-sub{font-size:.8125rem;color:#94a3b8}.ie-mapping{display:flex;flex-direction:column;gap:12px}.ie-mapping-hint{font-size:.875rem;color:#64748b;margin:0}.ie-mapping-success{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-size:.875rem;color:#15803d}.ie-mapping-success svg{flex-shrink:0;margin-top:1px;color:#16a34a}.ie-mapping-unmatched{display:flex;align-items:flex-start;gap:6px;font-size:.8125rem;color:#64748b;margin:0;padding-top:4px}.ie-mapping-unmatched svg{flex-shrink:0;margin-top:1px}.ie-mapping-unmatched em{font-style:normal;color:#475569}.ie-mapping-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.ie-mapping-header{display:grid;grid-template-columns:1fr 1fr 1fr;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase}.ie-mapping-row{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;padding:8px 12px;border-bottom:1px solid #f1f5f9;gap:8px}.ie-mapping-row:last-child{border-bottom:none}.ie-mapping-row.ie-mapping-row--required-missing{background:#fff7ed}.ie-mapping-row.ie-mapping-row--required-missing .ie-field-label{color:#c2410c}.ie-match-icon{color:#16a34a;margin-right:4px;vertical-align:-1px}.ie-field-label{display:flex;align-items:center;font-size:.875rem;color:#1e293b;font-weight:500}.ie-required{color:#ef4444;margin-left:2px}.ie-sample{font-size:.8125rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ie-preview{display:flex;flex-direction:column;gap:12px}.ie-preview-scroll{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.ie-preview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ie-preview-table th{background:#f8fafc;padding:8px 12px;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;border-bottom:1px solid #e2e8f0;white-space:nowrap}.ie-preview-table td{padding:7px 12px;color:#1e293b;border-bottom:1px solid #f1f5f9;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ie-preview-table tr:last-child td{border-bottom:none}.ie-result{display:flex;flex-direction:column;gap:16px}.ie-result-summary{display:flex;flex-direction:column;gap:8px}.ie-result-stat{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:.9375rem}.ie-result-stat.success{background:#f0fdf4;color:#15803d}.ie-result-stat.success svg{stroke:#22c55e}.ie-result-stat.error{background:#fef2f2;color:#b91c1c}.ie-result-stat.error svg{stroke:#ef4444}.ie-result-stat.warning{background:#fffbeb;color:#b45309}.ie-result-stat.warning svg{stroke:#f59e0b}.ie-errors-list{border:1px solid #fecaca;border-radius:8px;overflow:hidden}.ie-errors-title{font-size:.8125rem;font-weight:600;color:#b91c1c;padding:8px 12px;background:#fef2f2;margin:0;border-bottom:1px solid #fecaca}.ie-error-row{display:flex;gap:12px;padding:7px 12px;border-bottom:1px solid #fff1f2;font-size:.8125rem;color:#374151}.ie-error-row:last-child{border-bottom:none}.ie-error-row-num{font-weight:600;color:#b91c1c;flex-shrink:0}.ie-warnings-list{border:1px solid #fde68a;border-radius:8px;overflow:hidden}.ie-warnings-title{font-size:.8125rem;font-weight:600;color:#b45309;padding:8px 12px;background:#fffbeb;margin:0;border-bottom:1px solid #fde68a}.ie-warning-row{display:flex;gap:12px;padding:7px 12px;border-bottom:1px solid #fef3c7;font-size:.8125rem;color:#374151}.ie-warning-row:last-child{border-bottom:none}.ie-warning-row-num{font-weight:600;color:#b45309;flex-shrink:0}.ie-error{font-size:.875rem;color:#ef4444;margin:0}.ie-footer-right{display:flex;gap:8px;align-items:center}@media(max-width:600px){.ie-step-label{display:none}.ie-dropzone{padding:24px 16px}.ie-mapping-header{grid-template-columns:1fr 1fr}.ie-mapping-header span:last-child{display:none}.ie-mapping-row{grid-template-columns:1fr 1fr}.ie-mapping-row .ie-sample{display:none}}\n"]
8856
+ styles: [".ie-actions{display:flex;gap:8px}.ie-steps{display:flex;align-items:center;margin-bottom:24px;gap:0;list-style:none;padding:0}.ie-step{display:flex;align-items:center;gap:6px;flex-shrink:0}.ie-step-num{width:24px;height:24px;border-radius:50%;background:#e2e8f0;color:#64748b;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ie-step-label{font-size:.8125rem;color:#94a3b8;font-weight:500}.ie-step.active .ie-step-num{background:#3b82f6;color:#fff}.ie-step.active .ie-step-label{color:#1e293b;font-weight:600}.ie-step.done .ie-step-num{background:#22c55e;color:#fff}.ie-step.done .ie-step-label{color:#64748b}.ie-step-divider{flex:1;height:1px;background:#e2e8f0;margin:0 8px;min-width:16px}.ie-source-step{display:flex;flex-direction:column;gap:16px}.ie-source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:520px){.ie-source-grid{grid-template-columns:repeat(2,1fr)}}.ie-source-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;font-family:inherit;text-align:left;transition:all .15s}.ie-source-card:hover{border-color:#94a3b8;background:#f8fafc}.ie-source-card.ie-source-card--active{border-color:#3b82f6;background:#eff6ff}.ie-source-card:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.ie-source-letter{width:36px;height:36px;border-radius:8px;color:#fff;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ie-source-label{font-size:.8125rem;font-weight:600;color:#1e293b;line-height:1.2}.ie-source-desc{font-size:.75rem;color:#64748b}.ie-upload-area{display:flex;flex-direction:column;gap:12px}.ie-template-hint{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.875rem;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 14px}.ie-file-hidden{display:none}.ie-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:40px 24px;border:2px dashed #cbd5e1;border-radius:10px;cursor:pointer;transition:border-color .18s ease,background .18s ease}.ie-dropzone:hover,.ie-dropzone:focus-within{border-color:#3b82f6;background:#f0f7ff}.ie-dropzone.has-error{border-color:#ef4444}.ie-dropzone-text{font-size:.9375rem;font-weight:600;color:#1e293b}.ie-dropzone-sub{font-size:.8125rem;color:#94a3b8}.ie-mapping{display:flex;flex-direction:column;gap:12px}.ie-mapping-hint{font-size:.875rem;color:#64748b;margin:0}.ie-mapping-success{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;font-size:.875rem;color:#15803d}.ie-mapping-success svg{flex-shrink:0;margin-top:1px;color:#16a34a}.ie-mapping-unmatched{display:flex;align-items:flex-start;gap:6px;font-size:.8125rem;color:#64748b;margin:0;padding-top:4px}.ie-mapping-unmatched svg{flex-shrink:0;margin-top:1px}.ie-mapping-unmatched em{font-style:normal;color:#475569}.ie-mapping-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.ie-mapping-header{display:grid;grid-template-columns:1fr 1fr 1fr;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase}.ie-mapping-row{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;padding:8px 12px;border-bottom:1px solid #f1f5f9;gap:8px}.ie-mapping-row:last-child{border-bottom:none}.ie-mapping-row.ie-mapping-row--required-missing{background:#fff7ed}.ie-mapping-row.ie-mapping-row--required-missing .ie-field-label{color:#c2410c}.ie-match-icon{color:#16a34a;margin-right:4px;vertical-align:-1px}.ie-field-label{display:flex;align-items:center;font-size:.875rem;color:#1e293b;font-weight:500}.ie-required{color:#dc2626;margin-left:2px}.ie-sample{font-size:.8125rem;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ie-preview{display:flex;flex-direction:column;gap:12px}.ie-preview-scroll{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.ie-preview-table{width:100%;border-collapse:collapse;font-size:.8125rem}.ie-preview-table th{background:#f8fafc;padding:8px 12px;text-align:left;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;border-bottom:1px solid #e2e8f0;white-space:nowrap}.ie-preview-table td{padding:7px 12px;color:#1e293b;border-bottom:1px solid #f1f5f9;max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ie-preview-table tr:last-child td{border-bottom:none}.ie-result{display:flex;flex-direction:column;gap:16px}.ie-result-summary{display:flex;flex-direction:column;gap:8px}.ie-result-stat{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:8px;font-size:.9375rem}.ie-result-stat.success{background:#f0fdf4;color:#15803d}.ie-result-stat.success svg{stroke:#22c55e}.ie-result-stat.error{background:#fef2f2;color:#b91c1c}.ie-result-stat.error svg{stroke:#ef4444}.ie-result-stat.warning{background:#fffbeb;color:#b45309}.ie-result-stat.warning svg{stroke:#f59e0b}.ie-errors-list{border:1px solid #fecaca;border-radius:8px;overflow:hidden}.ie-errors-title{font-size:.8125rem;font-weight:600;color:#b91c1c;padding:8px 12px;background:#fef2f2;margin:0;border-bottom:1px solid #fecaca}.ie-error-row{display:flex;gap:12px;padding:7px 12px;border-bottom:1px solid #fff1f2;font-size:.8125rem;color:#374151}.ie-error-row:last-child{border-bottom:none}.ie-error-row-num{font-weight:600;color:#b91c1c;flex-shrink:0}.ie-warnings-list{border:1px solid #fde68a;border-radius:8px;overflow:hidden}.ie-warnings-title{font-size:.8125rem;font-weight:600;color:#b45309;padding:8px 12px;background:#fffbeb;margin:0;border-bottom:1px solid #fde68a}.ie-warning-row{display:flex;gap:12px;padding:7px 12px;border-bottom:1px solid #fef3c7;font-size:.8125rem;color:#374151}.ie-warning-row:last-child{border-bottom:none}.ie-warning-row-num{font-weight:600;color:#b45309;flex-shrink:0}.ie-error{font-size:.875rem;color:#dc2626;margin:0}.ie-footer-right{display:flex;gap:8px;align-items:center}@media(max-width:600px){.ie-step-label{display:none}.ie-dropzone{padding:24px 16px}.ie-mapping-header{grid-template-columns:1fr 1fr}.ie-mapping-header span:last-child{display:none}.ie-mapping-row{grid-template-columns:1fr 1fr}.ie-mapping-row .ie-sample{display:none}}\n"]
8609
8857
  }]
8610
8858
  }],
8611
8859
  ctorParameters: () => [],
@@ -8786,7 +9034,8 @@ var ConfirmOutletComponent = class ConfirmOutletComponent {
8786
9034
  "bodyOverflow",
8787
9035
  "dialogTestId",
8788
9036
  "hideClose",
8789
- "closable"
9037
+ "closable",
9038
+ "returnFocusTo"
8790
9039
  ],
8791
9040
  outputs: ["close"]
8792
9041
  }, {
@@ -9708,7 +9957,9 @@ var DataTableComponent = class DataTableComponent {
9708
9957
  this.savedViews = input([], ...ngDevMode ? [{ debugName: "savedViews" }] : /* istanbul ignore next */ []);
9709
9958
  this.page = input("", ...ngDevMode ? [{ debugName: "page" }] : /* istanbul ignore next */ []);
9710
9959
  this.showToolbar = input(true, ...ngDevMode ? [{ debugName: "showToolbar" }] : /* istanbul ignore next */ []);
9960
+ this.showMoreActions = input(true, ...ngDevMode ? [{ debugName: "showMoreActions" }] : /* istanbul ignore next */ []);
9711
9961
  this.showSearch = input(true, ...ngDevMode ? [{ debugName: "showSearch" }] : /* istanbul ignore next */ []);
9962
+ this.showQuickTabs = input(true, ...ngDevMode ? [{ debugName: "showQuickTabs" }] : /* istanbul ignore next */ []);
9712
9963
  this._showHeader = computed(() => this.showSearch() || this.showToolbar() || this._effectiveTabs().length > 0, ...ngDevMode ? [{ debugName: "_showHeader" }] : /* istanbul ignore next */ []);
9713
9964
  this.countsEndpoint = input("", ...ngDevMode ? [{ debugName: "countsEndpoint" }] : /* istanbul ignore next */ []);
9714
9965
  this.params = input(null, ...ngDevMode ? [{ debugName: "params" }] : /* istanbul ignore next */ []);
@@ -9757,6 +10008,7 @@ var DataTableComponent = class DataTableComponent {
9757
10008
  this._tabCounts = signal({}, ...ngDevMode ? [{ debugName: "_tabCounts" }] : /* istanbul ignore next */ []);
9758
10009
  this._filterCounts = signal({}, ...ngDevMode ? [{ debugName: "_filterCounts" }] : /* istanbul ignore next */ []);
9759
10010
  this._effectiveTabs = computed(() => {
10011
+ if (!this.showQuickTabs()) return [];
9760
10012
  const counts = this._tabCounts();
9761
10013
  const present = this._presentKeys(counts);
9762
10014
  const active = this._activeTab();
@@ -9836,7 +10088,7 @@ var DataTableComponent = class DataTableComponent {
9836
10088
  this._keepMoreActions = computed(() => this._emptyUnfiltered() && this._toolbarButtons().some((b) => !b.variant && !b.hidden), ...ngDevMode ? [{ debugName: "_keepMoreActions" }] : /* istanbul ignore next */ []);
9837
10089
  this._reorderOn = computed(() => this.reorderable() && this._canEdit(), ...ngDevMode ? [{ debugName: "_reorderOn" }] : /* istanbul ignore next */ []);
9838
10090
  this._reorderActive = computed(() => this._reorderOn() && !this._loading() && !this._error() && !this._sortField() && !this._hasActiveFilters() && this._items().length > 1, ...ngDevMode ? [{ debugName: "_reorderActive" }] : /* istanbul ignore next */ []);
9839
- this._reorderHint = computed(() => this._items().length < 2 ? "There is nothing to reorder" : "Clear the sort, search and filters to change the order", ...ngDevMode ? [{ debugName: "_reorderHint" }] : /* istanbul ignore next */ []);
10091
+ this._reorderHint = computed(() => this._sortField() || this._hasActiveFilters() ? "Clear the sort, search and filters to change the order" : this._items().length < 2 ? "There is nothing to reorder" : "Reordering is not available right now", ...ngDevMode ? [{ debugName: "_reorderHint" }] : /* istanbul ignore next */ []);
9840
10092
  this._reorderHelpId = `dt-reorder-help-${++reorderHelpSeq}`;
9841
10093
  this._dragFrom = signal(null, ...ngDevMode ? [{ debugName: "_dragFrom" }] : /* istanbul ignore next */ []);
9842
10094
  this._dragKey = null;
@@ -10666,6 +10918,13 @@ var DataTableComponent = class DataTableComponent {
10666
10918
  isRequired: false,
10667
10919
  transformFunction: null
10668
10920
  },
10921
+ showMoreActions: {
10922
+ classPropertyName: "showMoreActions",
10923
+ publicName: "showMoreActions",
10924
+ isSignal: true,
10925
+ isRequired: false,
10926
+ transformFunction: null
10927
+ },
10669
10928
  showSearch: {
10670
10929
  classPropertyName: "showSearch",
10671
10930
  publicName: "showSearch",
@@ -10673,6 +10932,13 @@ var DataTableComponent = class DataTableComponent {
10673
10932
  isRequired: false,
10674
10933
  transformFunction: null
10675
10934
  },
10935
+ showQuickTabs: {
10936
+ classPropertyName: "showQuickTabs",
10937
+ publicName: "showQuickTabs",
10938
+ isSignal: true,
10939
+ isRequired: false,
10940
+ transformFunction: null
10941
+ },
10676
10942
  countsEndpoint: {
10677
10943
  classPropertyName: "countsEndpoint",
10678
10944
  publicName: "countsEndpoint",
@@ -10859,7 +11125,7 @@ var DataTableComponent = class DataTableComponent {
10859
11125
  [showSavedViews]="_effectiveSavedViews().length > 0 || !!page() || showToolbar()"
10860
11126
  [readOnly]="!_canEdit()"
10861
11127
  [tableButtons]="_toolbarButtons()"
10862
- [hideMoreActions]="_emptyUnfiltered() && !_keepMoreActions()"
11128
+ [hideMoreActions]="!showMoreActions() || (_emptyUnfiltered() && !_keepMoreActions())"
10863
11129
  (visibleColumnsChange)="_visibleColumns.set(_configurableKeys($event))"
10864
11130
  (saveViewClick)="onSaveViewClick($event)"
10865
11131
  (loadViewClick)="onLoadViewClick($event)"
@@ -11777,7 +12043,8 @@ var DataTableComponent = class DataTableComponent {
11777
12043
  "bodyOverflow",
11778
12044
  "dialogTestId",
11779
12045
  "hideClose",
11780
- "closable"
12046
+ "closable",
12047
+ "returnFocusTo"
11781
12048
  ],
11782
12049
  outputs: ["close"]
11783
12050
  },
@@ -11912,7 +12179,7 @@ i0.ɵɵngDeclareClassMetadata({
11912
12179
  [showSavedViews]="_effectiveSavedViews().length > 0 || !!page() || showToolbar()"
11913
12180
  [readOnly]="!_canEdit()"
11914
12181
  [tableButtons]="_toolbarButtons()"
11915
- [hideMoreActions]="_emptyUnfiltered() && !_keepMoreActions()"
12182
+ [hideMoreActions]="!showMoreActions() || (_emptyUnfiltered() && !_keepMoreActions())"
11916
12183
  (visibleColumnsChange)="_visibleColumns.set(_configurableKeys($event))"
11917
12184
  (saveViewClick)="onSaveViewClick($event)"
11918
12185
  (loadViewClick)="onLoadViewClick($event)"
@@ -12621,6 +12888,14 @@ i0.ɵɵngDeclareClassMetadata({
12621
12888
  required: false
12622
12889
  }]
12623
12890
  }],
12891
+ showMoreActions: [{
12892
+ type: i0.Input,
12893
+ args: [{
12894
+ isSignal: true,
12895
+ alias: "showMoreActions",
12896
+ required: false
12897
+ }]
12898
+ }],
12624
12899
  showSearch: [{
12625
12900
  type: i0.Input,
12626
12901
  args: [{
@@ -12629,6 +12904,14 @@ i0.ɵɵngDeclareClassMetadata({
12629
12904
  required: false
12630
12905
  }]
12631
12906
  }],
12907
+ showQuickTabs: [{
12908
+ type: i0.Input,
12909
+ args: [{
12910
+ isSignal: true,
12911
+ alias: "showQuickTabs",
12912
+ required: false
12913
+ }]
12914
+ }],
12632
12915
  countsEndpoint: [{
12633
12916
  type: i0.Input,
12634
12917
  args: [{
@@ -12813,6 +13096,7 @@ var SidePanelComponent = class SidePanelComponent {
12813
13096
  this.primaryDisabled = input(false, ...ngDevMode ? [{ debugName: "primaryDisabled" }] : /* istanbul ignore next */ []);
12814
13097
  this.cancelTestId = input("", ...ngDevMode ? [{ debugName: "cancelTestId" }] : /* istanbul ignore next */ []);
12815
13098
  this.primaryTestId = input("", ...ngDevMode ? [{ debugName: "primaryTestId" }] : /* istanbul ignore next */ []);
13099
+ this.returnFocusTo = input(null, ...ngDevMode ? [{ debugName: "returnFocusTo" }] : /* istanbul ignore next */ []);
12816
13100
  this.closed = output();
12817
13101
  this.primaryClick = output();
12818
13102
  this.titleId = `sp-title-${Math.random().toString(36).slice(2, 8)}`;
@@ -12822,10 +13106,18 @@ var SidePanelComponent = class SidePanelComponent {
12822
13106
  this._prevFocus = null;
12823
13107
  this._scrollLocked = false;
12824
13108
  this._stopViewport = null;
13109
+ this._stopIframeKeys = null;
13110
+ this._interaction = inject(LastInteraction);
13111
+ this._interaction.acquire(this._doc);
12825
13112
  effect(() => {
12826
13113
  if (this.open()) {
12827
13114
  this._overlays.push(this);
12828
- this._prevFocus = this._doc.activeElement;
13115
+ this._prevFocus = resolveTrigger(this._doc, this._interaction);
13116
+ this._stopIframeKeys?.();
13117
+ this._stopIframeKeys = bridgeIframeKeys(this._el.nativeElement, this._doc, {
13118
+ onEscape: (e) => this.onKeydown(e),
13119
+ isActive: () => this.open() && this._overlays.isTop(this)
13120
+ });
12829
13121
  this._doc.body.style.overflow = "hidden";
12830
13122
  this._scrollLocked = true;
12831
13123
  this._stopViewport?.();
@@ -12837,7 +13129,9 @@ var SidePanelComponent = class SidePanelComponent {
12837
13129
  this._scrollLocked = false;
12838
13130
  this._stopViewport?.();
12839
13131
  this._stopViewport = null;
12840
- this._prevFocus?.focus();
13132
+ this._stopIframeKeys?.();
13133
+ this._stopIframeKeys = null;
13134
+ restoreFocus(untracked(() => this.returnFocusTo()), this._prevFocus);
12841
13135
  this._prevFocus = null;
12842
13136
  }
12843
13137
  });
@@ -12870,6 +13164,10 @@ var SidePanelComponent = class SidePanelComponent {
12870
13164
  }
12871
13165
  }
12872
13166
  }
13167
+ onGuardFocus(which, event) {
13168
+ if (!this._overlays.isTop(this)) return;
13169
+ redirectFromGuard(which, this._el.nativeElement, this._el.nativeElement.querySelector(".sp-panel"), event?.relatedTarget ?? null);
13170
+ }
12873
13171
  _focusFirst() {
12874
13172
  focusInitial(this._el.nativeElement.querySelector(".sp-panel"), this._el.nativeElement.querySelector(".sp-body"), this._doc);
12875
13173
  }
@@ -12877,6 +13175,9 @@ var SidePanelComponent = class SidePanelComponent {
12877
13175
  return tabbables(this._el.nativeElement);
12878
13176
  }
12879
13177
  ngOnDestroy() {
13178
+ this._interaction.release();
13179
+ this._stopIframeKeys?.();
13180
+ this._stopIframeKeys = null;
12880
13181
  this._stopViewport?.();
12881
13182
  this._stopViewport = null;
12882
13183
  this._overlays.remove(this);
@@ -12983,6 +13284,13 @@ var SidePanelComponent = class SidePanelComponent {
12983
13284
  isSignal: true,
12984
13285
  isRequired: false,
12985
13286
  transformFunction: null
13287
+ },
13288
+ returnFocusTo: {
13289
+ classPropertyName: "returnFocusTo",
13290
+ publicName: "returnFocusTo",
13291
+ isSignal: true,
13292
+ isRequired: false,
13293
+ transformFunction: null
12986
13294
  }
12987
13295
  },
12988
13296
  outputs: {
@@ -13002,6 +13310,7 @@ var SidePanelComponent = class SidePanelComponent {
13002
13310
  aria-modal="true"
13003
13311
  tabindex="-1"
13004
13312
  [attr.aria-labelledby]="titleId">
13313
+ <span class="sp-focus-guard" data-ui-focus-guard="start" tabindex="0" (focus)="onGuardFocus('start', $event)"></span>
13005
13314
 
13006
13315
  <!-- Header -->
13007
13316
  <div class="sp-header">
@@ -13055,11 +13364,12 @@ var SidePanelComponent = class SidePanelComponent {
13055
13364
  }
13056
13365
  </div>
13057
13366
  }
13367
+ <span class="sp-focus-guard" data-ui-focus-guard="end" tabindex="0" (focus)="onGuardFocus('end', $event)"></span>
13058
13368
  </aside>
13059
13369
  }
13060
13370
  `,
13061
13371
  isInline: true,
13062
- styles: [".sp-backdrop{position:fixed;inset:0;background:#0000004d;z-index:90;animation:sp-fade .2s ease}.sp-panel{position:fixed;top:0;right:0;bottom:var(--ui-kb, 0px);width:480px;max-width:100vw;max-height:100vh;max-height:var(--ui-vvh, 100dvh);background:#fff;z-index:100;box-shadow:-4px 0 20px #0000001a;display:flex;flex-direction:column;animation:sp-slide .25s ease}.sp-panel:focus{outline:none}.sp-wide{width:620px}.sp-extra-wide{width:760px}.sp-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;gap:12px;flex-shrink:0;background:linear-gradient(135deg,#1e293b,#334155)}.sp-header-text{flex:1;min-width:0}.sp-title{font-size:1.125rem;font-weight:700;color:#fff;margin:0}.sp-subtitle{font-size:.8125rem;color:#94a3b8;margin:4px 0 0}.sp-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;cursor:pointer;color:#cbd5e1;transition:background .15s,border-color .15s}.sp-close:hover{background:#fff3;border-color:#ffffff4d;color:#fff}.sp-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sp-body{padding:20px 24px 24px;flex:1;overflow-y:auto;overflow-x:hidden}.sp-footer{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:14px 24px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid #e2e8f0;background:#f8fafc}.sp-footer-extra{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;margin:0 8px;min-width:0}.sp-footer-extra:empty{display:none}.sp-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;border-radius:7px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .1s,border-color .1s,opacity .1s}.sp-btn:disabled{opacity:.5;cursor:default}.sp-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sp-btn-cancel{background:#fff;border:1px solid #e2e8f0;color:#475569}.sp-btn-cancel:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.sp-btn-primary{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.sp-btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.sp-btn-danger{background:#dc2626;border:1px solid #dc2626;color:#fff}.sp-btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.sp-btn-warning{background:#d97706;border:1px solid #d97706;color:#fff}.sp-btn-warning:hover:not(:disabled){background:#b45309;border-color:#b45309}.sp-spinner{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:sp-spin .55s linear infinite;flex-shrink:0}@media(max-width:768px){.sp-panel,.sp-wide,.sp-extra-wide{width:100vw}}@media(max-width:480px){.sp-panel,.sp-wide,.sp-extra-wide{inset:auto 0 0;width:100vw;max-height:90vh;max-height:min(90dvh,var(--ui-vvh, 100dvh));border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #00000026;animation:sp-up .25s ease}.sp-header{padding:16px 16px 14px}.sp-body{padding:16px}.sp-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}}@media(pointer:coarse),(max-width:480px){.sp-close{position:relative}.sp-close:after{content:\"\";position:absolute;inset:-5px}.sp-btn{min-height:44px;justify-content:center}}@keyframes sp-slide{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes sp-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sp-fade{0%{opacity:0}to{opacity:1}}@keyframes sp-spin{to{transform:rotate(360deg)}}\n"],
13372
+ styles: [".sp-backdrop{position:fixed;inset:0;background:#0000004d;z-index:90;animation:sp-fade .2s ease}.sp-panel{position:fixed;top:0;right:0;bottom:var(--ui-kb, 0px);width:480px;max-width:100vw;max-height:100vh;max-height:var(--ui-vvh, 100dvh);background:#fff;z-index:100;box-shadow:-4px 0 20px #0000001a;display:flex;flex-direction:column;animation:sp-slide .25s ease}.sp-panel:focus{outline:none}.sp-focus-guard{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;outline:none}.sp-wide{width:620px}.sp-extra-wide{width:760px}.sp-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;gap:12px;flex-shrink:0;background:linear-gradient(135deg,#1e293b,#334155)}.sp-header-text{flex:1;min-width:0}.sp-title{font-size:1.125rem;font-weight:700;color:#fff;margin:0}.sp-subtitle{font-size:.8125rem;color:#94a3b8;margin:4px 0 0}.sp-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;cursor:pointer;color:#cbd5e1;transition:background .15s,border-color .15s}.sp-close:hover{background:#fff3;border-color:#ffffff4d;color:#fff}.sp-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sp-body{padding:20px 24px 24px;flex:1;overflow-y:auto;overflow-x:hidden}.sp-footer{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:14px 24px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid #e2e8f0;background:#f8fafc}.sp-footer-extra{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;margin:0 8px;min-width:0}.sp-footer-extra:empty{display:none}.sp-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;border-radius:7px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .1s,border-color .1s,opacity .1s}.sp-btn:disabled{opacity:.5;cursor:default}.sp-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sp-btn-cancel{background:#fff;border:1px solid #e2e8f0;color:#475569}.sp-btn-cancel:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.sp-btn-primary{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.sp-btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.sp-btn-danger{background:#dc2626;border:1px solid #dc2626;color:#fff}.sp-btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.sp-btn-warning{background:#d97706;border:1px solid #d97706;color:#fff}.sp-btn-warning:hover:not(:disabled){background:#b45309;border-color:#b45309}.sp-spinner{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:sp-spin .55s linear infinite;flex-shrink:0}@media(max-width:768px){.sp-panel,.sp-wide,.sp-extra-wide{width:100vw}}@media(max-width:480px){.sp-panel,.sp-wide,.sp-extra-wide{inset:auto 0 0;width:100vw;max-height:90vh;max-height:min(90dvh,var(--ui-vvh, 100dvh));border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #00000026;animation:sp-up .25s ease}.sp-header{padding:16px 16px 14px}.sp-body{padding:16px}.sp-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}}@media(pointer:coarse),(max-width:480px){.sp-close{position:relative}.sp-close:after{content:\"\";position:absolute;inset:-5px}.sp-btn{min-height:44px;justify-content:center}}@keyframes sp-slide{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes sp-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sp-fade{0%{opacity:0}to{opacity:1}}@keyframes sp-spin{to{transform:rotate(360deg)}}\n"],
13063
13373
  changeDetection: i0.ChangeDetectionStrategy.OnPush
13064
13374
  });
13065
13375
  }
@@ -13087,6 +13397,7 @@ i0.ɵɵngDeclareClassMetadata({
13087
13397
  aria-modal="true"
13088
13398
  tabindex="-1"
13089
13399
  [attr.aria-labelledby]="titleId">
13400
+ <span class="sp-focus-guard" data-ui-focus-guard="start" tabindex="0" (focus)="onGuardFocus('start', $event)"></span>
13090
13401
 
13091
13402
  <!-- Header -->
13092
13403
  <div class="sp-header">
@@ -13140,10 +13451,11 @@ i0.ɵɵngDeclareClassMetadata({
13140
13451
  }
13141
13452
  </div>
13142
13453
  }
13454
+ <span class="sp-focus-guard" data-ui-focus-guard="end" tabindex="0" (focus)="onGuardFocus('end', $event)"></span>
13143
13455
  </aside>
13144
13456
  }
13145
13457
  `,
13146
- styles: [".sp-backdrop{position:fixed;inset:0;background:#0000004d;z-index:90;animation:sp-fade .2s ease}.sp-panel{position:fixed;top:0;right:0;bottom:var(--ui-kb, 0px);width:480px;max-width:100vw;max-height:100vh;max-height:var(--ui-vvh, 100dvh);background:#fff;z-index:100;box-shadow:-4px 0 20px #0000001a;display:flex;flex-direction:column;animation:sp-slide .25s ease}.sp-panel:focus{outline:none}.sp-wide{width:620px}.sp-extra-wide{width:760px}.sp-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;gap:12px;flex-shrink:0;background:linear-gradient(135deg,#1e293b,#334155)}.sp-header-text{flex:1;min-width:0}.sp-title{font-size:1.125rem;font-weight:700;color:#fff;margin:0}.sp-subtitle{font-size:.8125rem;color:#94a3b8;margin:4px 0 0}.sp-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;cursor:pointer;color:#cbd5e1;transition:background .15s,border-color .15s}.sp-close:hover{background:#fff3;border-color:#ffffff4d;color:#fff}.sp-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sp-body{padding:20px 24px 24px;flex:1;overflow-y:auto;overflow-x:hidden}.sp-footer{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:14px 24px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid #e2e8f0;background:#f8fafc}.sp-footer-extra{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;margin:0 8px;min-width:0}.sp-footer-extra:empty{display:none}.sp-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;border-radius:7px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .1s,border-color .1s,opacity .1s}.sp-btn:disabled{opacity:.5;cursor:default}.sp-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sp-btn-cancel{background:#fff;border:1px solid #e2e8f0;color:#475569}.sp-btn-cancel:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.sp-btn-primary{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.sp-btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.sp-btn-danger{background:#dc2626;border:1px solid #dc2626;color:#fff}.sp-btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.sp-btn-warning{background:#d97706;border:1px solid #d97706;color:#fff}.sp-btn-warning:hover:not(:disabled){background:#b45309;border-color:#b45309}.sp-spinner{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:sp-spin .55s linear infinite;flex-shrink:0}@media(max-width:768px){.sp-panel,.sp-wide,.sp-extra-wide{width:100vw}}@media(max-width:480px){.sp-panel,.sp-wide,.sp-extra-wide{inset:auto 0 0;width:100vw;max-height:90vh;max-height:min(90dvh,var(--ui-vvh, 100dvh));border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #00000026;animation:sp-up .25s ease}.sp-header{padding:16px 16px 14px}.sp-body{padding:16px}.sp-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}}@media(pointer:coarse),(max-width:480px){.sp-close{position:relative}.sp-close:after{content:\"\";position:absolute;inset:-5px}.sp-btn{min-height:44px;justify-content:center}}@keyframes sp-slide{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes sp-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sp-fade{0%{opacity:0}to{opacity:1}}@keyframes sp-spin{to{transform:rotate(360deg)}}\n"]
13458
+ styles: [".sp-backdrop{position:fixed;inset:0;background:#0000004d;z-index:90;animation:sp-fade .2s ease}.sp-panel{position:fixed;top:0;right:0;bottom:var(--ui-kb, 0px);width:480px;max-width:100vw;max-height:100vh;max-height:var(--ui-vvh, 100dvh);background:#fff;z-index:100;box-shadow:-4px 0 20px #0000001a;display:flex;flex-direction:column;animation:sp-slide .25s ease}.sp-panel:focus{outline:none}.sp-focus-guard{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;outline:none}.sp-wide{width:620px}.sp-extra-wide{width:760px}.sp-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;gap:12px;flex-shrink:0;background:linear-gradient(135deg,#1e293b,#334155)}.sp-header-text{flex:1;min-width:0}.sp-title{font-size:1.125rem;font-weight:700;color:#fff;margin:0}.sp-subtitle{font-size:.8125rem;color:#94a3b8;margin:4px 0 0}.sp-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;cursor:pointer;color:#cbd5e1;transition:background .15s,border-color .15s}.sp-close:hover{background:#fff3;border-color:#ffffff4d;color:#fff}.sp-close:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sp-body{padding:20px 24px 24px;flex:1;overflow-y:auto;overflow-x:hidden}.sp-footer{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:14px 24px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid #e2e8f0;background:#f8fafc}.sp-footer-extra{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;margin:0 8px;min-width:0}.sp-footer-extra:empty{display:none}.sp-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 18px;border-radius:7px;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .1s,border-color .1s,opacity .1s}.sp-btn:disabled{opacity:.5;cursor:default}.sp-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sp-btn-cancel{background:#fff;border:1px solid #e2e8f0;color:#475569}.sp-btn-cancel:hover:not(:disabled){background:#f8fafc;border-color:#cbd5e1}.sp-btn-primary{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.sp-btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.sp-btn-danger{background:#dc2626;border:1px solid #dc2626;color:#fff}.sp-btn-danger:hover:not(:disabled){background:#b91c1c;border-color:#b91c1c}.sp-btn-warning{background:#d97706;border:1px solid #d97706;color:#fff}.sp-btn-warning:hover:not(:disabled){background:#b45309;border-color:#b45309}.sp-spinner{display:inline-block;width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:sp-spin .55s linear infinite;flex-shrink:0}@media(max-width:768px){.sp-panel,.sp-wide,.sp-extra-wide{width:100vw}}@media(max-width:480px){.sp-panel,.sp-wide,.sp-extra-wide{inset:auto 0 0;width:100vw;max-height:90vh;max-height:min(90dvh,var(--ui-vvh, 100dvh));border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #00000026;animation:sp-up .25s ease}.sp-header{padding:16px 16px 14px}.sp-body{padding:16px}.sp-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}}@media(pointer:coarse),(max-width:480px){.sp-close{position:relative}.sp-close:after{content:\"\";position:absolute;inset:-5px}.sp-btn{min-height:44px;justify-content:center}}@keyframes sp-slide{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes sp-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sp-fade{0%{opacity:0}to{opacity:1}}@keyframes sp-spin{to{transform:rotate(360deg)}}\n"]
13147
13459
  }]
13148
13460
  }],
13149
13461
  ctorParameters: () => [],
@@ -13244,6 +13556,14 @@ i0.ɵɵngDeclareClassMetadata({
13244
13556
  required: false
13245
13557
  }]
13246
13558
  }],
13559
+ returnFocusTo: [{
13560
+ type: i0.Input,
13561
+ args: [{
13562
+ isSignal: true,
13563
+ alias: "returnFocusTo",
13564
+ required: false
13565
+ }]
13566
+ }],
13247
13567
  closed: [{
13248
13568
  type: i0.Output,
13249
13569
  args: ["closed"]
@@ -13907,6 +14227,7 @@ var ToggleComponent = class ToggleComponent {
13907
14227
  this.label = input("", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
13908
14228
  this.hint = input("", ...ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []);
13909
14229
  this.ariaLabel = input("", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
14230
+ this.ariaDescribedBy = input("", ...ngDevMode ? [{ debugName: "ariaDescribedBy" }] : /* istanbul ignore next */ []);
13910
14231
  this.checked = model(false, ...ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []);
13911
14232
  this._disabledInput = input(false, {
13912
14233
  ...ngDevMode ? { debugName: "_disabledInput" } : /* istanbul ignore next */ {},
@@ -13918,6 +14239,10 @@ var ToggleComponent = class ToggleComponent {
13918
14239
  this._inputId = `${this._id}-input`;
13919
14240
  this._labelId = `${this._id}-label`;
13920
14241
  this._hintId = `${this._id}-hint`;
14242
+ this._describedBy = computed(() => {
14243
+ const ids = [this.hint() ? this._hintId : "", this.ariaDescribedBy().trim()].filter(Boolean);
14244
+ return ids.length ? ids.join(" ") : null;
14245
+ }, ...ngDevMode ? [{ debugName: "_describedBy" }] : /* istanbul ignore next */ []);
13921
14246
  this._onChange = (_) => {};
13922
14247
  this._onTouched = () => {};
13923
14248
  }
@@ -13985,6 +14310,13 @@ var ToggleComponent = class ToggleComponent {
13985
14310
  isRequired: false,
13986
14311
  transformFunction: null
13987
14312
  },
14313
+ ariaDescribedBy: {
14314
+ classPropertyName: "ariaDescribedBy",
14315
+ publicName: "ariaDescribedBy",
14316
+ isSignal: true,
14317
+ isRequired: false,
14318
+ transformFunction: null
14319
+ },
13988
14320
  checked: {
13989
14321
  classPropertyName: "checked",
13990
14322
  publicName: "checked",
@@ -14026,7 +14358,7 @@ var ToggleComponent = class ToggleComponent {
14026
14358
  [attr.aria-checked]="checked() ? 'true' : 'false'"
14027
14359
  [attr.aria-labelledby]="label() ? _labelId : null"
14028
14360
  [attr.aria-label]="label() ? null : (ariaLabel() || null)"
14029
- [attr.aria-describedby]="hint() ? _hintId : null"
14361
+ [attr.aria-describedby]="_describedBy()"
14030
14362
  (change)="onToggle($event)"
14031
14363
  (blur)="onTouched()" />
14032
14364
  <span class="tg-slider" aria-hidden="true"></span>
@@ -14074,7 +14406,7 @@ i0.ɵɵngDeclareClassMetadata({
14074
14406
  [attr.aria-checked]="checked() ? 'true' : 'false'"
14075
14407
  [attr.aria-labelledby]="label() ? _labelId : null"
14076
14408
  [attr.aria-label]="label() ? null : (ariaLabel() || null)"
14077
- [attr.aria-describedby]="hint() ? _hintId : null"
14409
+ [attr.aria-describedby]="_describedBy()"
14078
14410
  (change)="onToggle($event)"
14079
14411
  (blur)="onTouched()" />
14080
14412
  <span class="tg-slider" aria-hidden="true"></span>
@@ -14109,6 +14441,14 @@ i0.ɵɵngDeclareClassMetadata({
14109
14441
  required: false
14110
14442
  }]
14111
14443
  }],
14444
+ ariaDescribedBy: [{
14445
+ type: i0.Input,
14446
+ args: [{
14447
+ isSignal: true,
14448
+ alias: "ariaDescribedBy",
14449
+ required: false
14450
+ }]
14451
+ }],
14112
14452
  checked: [{
14113
14453
  type: i0.Input,
14114
14454
  args: [{
@@ -15076,7 +15416,7 @@ var BusinessHoursComponent = class BusinessHoursComponent {
15076
15416
  </div>
15077
15417
  `,
15078
15418
  isInline: true,
15079
- styles: [":host{display:block}.bh-label{display:block;font-size:.8125rem;font-weight:600;color:#334155;margin-bottom:4px}.bh-tools{margin:2px 0 4px}.bh-grid{display:flex;flex-direction:column}.bh-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid #f1f5f9}.bh-row:last-child{border-bottom:none}.bh-day{width:140px;flex-shrink:0;padding-top:6px}.bh-times{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.bh-shift{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bh-to{font-size:.8125rem;color:#94a3b8}.bh-closed{font-size:.8125rem;color:#94a3b8;font-style:italic;padding-top:8px}.bh-desc{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#64748b}.bh-desc-error{color:#ef4444}@media(max-width:480px){.bh-row{flex-direction:column;gap:4px}.bh-day{width:auto;padding-top:0}.bh-closed{padding-top:0}}\n"],
15419
+ styles: [":host{display:block}.bh-label{display:block;font-size:.8125rem;font-weight:600;color:#334155;margin-bottom:4px}.bh-tools{margin:2px 0 4px}.bh-grid{display:flex;flex-direction:column}.bh-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid #f1f5f9}.bh-row:last-child{border-bottom:none}.bh-day{width:140px;flex-shrink:0;padding-top:6px}.bh-times{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.bh-shift{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bh-to{font-size:.8125rem;color:#94a3b8}.bh-closed{font-size:.8125rem;color:#94a3b8;font-style:italic;padding-top:8px}.bh-desc{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#64748b}.bh-desc-error{color:#dc2626}@media(max-width:480px){.bh-row{flex-direction:column;gap:4px}.bh-day{width:auto;padding-top:0}.bh-closed{padding-top:0}}\n"],
15080
15420
  dependencies: [
15081
15421
  {
15082
15422
  kind: "ngmodule",
@@ -15262,7 +15602,7 @@ i0.ɵɵngDeclareClassMetadata({
15262
15602
  }
15263
15603
  </div>
15264
15604
  `,
15265
- styles: [":host{display:block}.bh-label{display:block;font-size:.8125rem;font-weight:600;color:#334155;margin-bottom:4px}.bh-tools{margin:2px 0 4px}.bh-grid{display:flex;flex-direction:column}.bh-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid #f1f5f9}.bh-row:last-child{border-bottom:none}.bh-day{width:140px;flex-shrink:0;padding-top:6px}.bh-times{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.bh-shift{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bh-to{font-size:.8125rem;color:#94a3b8}.bh-closed{font-size:.8125rem;color:#94a3b8;font-style:italic;padding-top:8px}.bh-desc{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#64748b}.bh-desc-error{color:#ef4444}@media(max-width:480px){.bh-row{flex-direction:column;gap:4px}.bh-day{width:auto;padding-top:0}.bh-closed{padding-top:0}}\n"]
15605
+ styles: [":host{display:block}.bh-label{display:block;font-size:.8125rem;font-weight:600;color:#334155;margin-bottom:4px}.bh-tools{margin:2px 0 4px}.bh-grid{display:flex;flex-direction:column}.bh-row{display:flex;align-items:flex-start;gap:12px;padding:8px 0;border-bottom:1px solid #f1f5f9}.bh-row:last-child{border-bottom:none}.bh-day{width:140px;flex-shrink:0;padding-top:6px}.bh-times{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.bh-shift{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bh-to{font-size:.8125rem;color:#94a3b8}.bh-closed{font-size:.8125rem;color:#94a3b8;font-style:italic;padding-top:8px}.bh-desc{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#64748b}.bh-desc-error{color:#dc2626}@media(max-width:480px){.bh-row{flex-direction:column;gap:4px}.bh-day{width:auto;padding-top:0}.bh-closed{padding-top:0}}\n"]
15266
15606
  }]
15267
15607
  }],
15268
15608
  ctorParameters: () => [],
@@ -15971,7 +16311,7 @@ var RadioGroupComponent = class RadioGroupComponent {
15971
16311
  </fieldset>
15972
16312
  `,
15973
16313
  isInline: true,
15974
- styles: [":host{display:block}.rg-field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}.rg-label{padding:0;margin-bottom:6px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rg-required{color:#ef4444;margin-left:2px}.rg-options{display:flex;flex-direction:column;gap:10px}.rg-options.rg-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.rg-nested{padding-left:29px;min-width:0}.rg-options.rg-horizontal .rg-nested{flex:1 0 100%}.rg-disabled{cursor:not-allowed}.rg-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rg-desc-error{color:#ef4444}@media(pointer:coarse),(max-width:480px){.rg-options{gap:4px}}\n"],
16314
+ styles: [":host{display:block}.rg-field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}.rg-label{padding:0;margin-bottom:6px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rg-required{color:#dc2626;margin-left:2px}.rg-options{display:flex;flex-direction:column;gap:10px}.rg-options.rg-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.rg-nested{padding-left:29px;min-width:0}.rg-options.rg-horizontal .rg-nested{flex:1 0 100%}.rg-disabled{cursor:not-allowed}.rg-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rg-desc-error{color:#dc2626}@media(pointer:coarse),(max-width:480px){.rg-options{gap:4px}}\n"],
15975
16315
  dependencies: [{
15976
16316
  kind: "component",
15977
16317
  type: RadioComponent,
@@ -16077,7 +16417,7 @@ i0.ɵɵngDeclareClassMetadata({
16077
16417
  }
16078
16418
  </fieldset>
16079
16419
  `,
16080
- styles: [":host{display:block}.rg-field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}.rg-label{padding:0;margin-bottom:6px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rg-required{color:#ef4444;margin-left:2px}.rg-options{display:flex;flex-direction:column;gap:10px}.rg-options.rg-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.rg-nested{padding-left:29px;min-width:0}.rg-options.rg-horizontal .rg-nested{flex:1 0 100%}.rg-disabled{cursor:not-allowed}.rg-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rg-desc-error{color:#ef4444}@media(pointer:coarse),(max-width:480px){.rg-options{gap:4px}}\n"]
16420
+ styles: [":host{display:block}.rg-field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}.rg-label{padding:0;margin-bottom:6px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rg-required{color:#dc2626;margin-left:2px}.rg-options{display:flex;flex-direction:column;gap:10px}.rg-options.rg-horizontal{flex-direction:row;flex-wrap:wrap;gap:8px 20px}.rg-nested{padding-left:29px;min-width:0}.rg-options.rg-horizontal .rg-nested{flex:1 0 100%}.rg-disabled{cursor:not-allowed}.rg-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rg-desc-error{color:#dc2626}@media(pointer:coarse),(max-width:480px){.rg-options{gap:4px}}\n"]
16081
16421
  }]
16082
16422
  }],
16083
16423
  ctorParameters: () => [],
@@ -16253,7 +16593,7 @@ var AlertComponent = class AlertComponent {
16253
16593
  </div>
16254
16594
  `,
16255
16595
  isInline: true,
16256
- styles: [":host{display:block}.alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;border-left:4px solid transparent;font-size:13px;line-height:1.5}.alert--info{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a}.alert--success{background:#dcfce7;border-color:#22c55e;color:#14532d}.alert--warning{background:#ffedd5;border-color:#f97316;color:#7c2d12}.alert--danger{background:#fee2e2;border-color:#ef4444;color:#7f1d1d}.alert--neutral{background:#f1f5f9;border-color:#64748b;color:#334155}.alert--compact{padding:8px 12px;gap:8px;font-size:12.5px;line-height:1.4}.alert-content{flex:1;display:flex;flex-direction:column;gap:2px}.alert-title{font-weight:700}.alert-body{opacity:.9;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.alert-body--inline{display:block}.alert-body--inline>*{vertical-align:middle}.alert-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;color:inherit;opacity:.6;display:flex;align-items:center;transition:opacity .15s}.alert-dismiss:hover{opacity:1}\n"],
16596
+ styles: [":host{display:block}.alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;border-left:4px solid transparent;font-size:13px;line-height:1.5}.alert--info{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a}.alert--success{background:#dcfce7;border-color:#22c55e;color:#14532d}.alert--warning{background:#ffedd5;border-color:#f97316;color:#7c2d12}.alert--danger{background:#fee2e2;border-color:#ef4444;color:#7f1d1d}.alert--neutral{background:#f1f5f9;border-color:#64748b;color:#334155}.alert--compact{padding:8px 12px;gap:8px;font-size:12.5px;line-height:1.4}.alert-content{flex:1;display:flex;flex-direction:column;gap:2px}.alert-title{font-weight:700}.alert-body{opacity:.9;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.alert-body--inline{display:block}.alert-body--inline>*{vertical-align:middle}.alert-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;color:inherit;opacity:.6;display:flex;align-items:center;transition:opacity .15s}.alert-dismiss:hover{opacity:1}.alert-dismiss:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(pointer:coarse),(max-width:480px){.alert-dismiss{position:relative}.alert-dismiss:after{content:\"\";position:absolute;inset:-13px}}\n"],
16257
16597
  changeDetection: i0.ChangeDetectionStrategy.OnPush
16258
16598
  });
16259
16599
  }
@@ -16284,7 +16624,7 @@ i0.ɵɵngDeclareClassMetadata({
16284
16624
  }
16285
16625
  </div>
16286
16626
  `,
16287
- styles: [":host{display:block}.alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;border-left:4px solid transparent;font-size:13px;line-height:1.5}.alert--info{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a}.alert--success{background:#dcfce7;border-color:#22c55e;color:#14532d}.alert--warning{background:#ffedd5;border-color:#f97316;color:#7c2d12}.alert--danger{background:#fee2e2;border-color:#ef4444;color:#7f1d1d}.alert--neutral{background:#f1f5f9;border-color:#64748b;color:#334155}.alert--compact{padding:8px 12px;gap:8px;font-size:12.5px;line-height:1.4}.alert-content{flex:1;display:flex;flex-direction:column;gap:2px}.alert-title{font-weight:700}.alert-body{opacity:.9;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.alert-body--inline{display:block}.alert-body--inline>*{vertical-align:middle}.alert-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;color:inherit;opacity:.6;display:flex;align-items:center;transition:opacity .15s}.alert-dismiss:hover{opacity:1}\n"]
16627
+ styles: [":host{display:block}.alert{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:8px;border-left:4px solid transparent;font-size:13px;line-height:1.5}.alert--info{background:#dbeafe;border-color:#3b82f6;color:#1e3a8a}.alert--success{background:#dcfce7;border-color:#22c55e;color:#14532d}.alert--warning{background:#ffedd5;border-color:#f97316;color:#7c2d12}.alert--danger{background:#fee2e2;border-color:#ef4444;color:#7f1d1d}.alert--neutral{background:#f1f5f9;border-color:#64748b;color:#334155}.alert--compact{padding:8px 12px;gap:8px;font-size:12.5px;line-height:1.4}.alert-content{flex:1;display:flex;flex-direction:column;gap:2px}.alert-title{font-weight:700}.alert-body{opacity:.9;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.alert-body--inline{display:block}.alert-body--inline>*{vertical-align:middle}.alert-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;padding:2px;border-radius:4px;color:inherit;opacity:.6;display:flex;align-items:center;transition:opacity .15s}.alert-dismiss:hover{opacity:1}.alert-dismiss:focus-visible{outline:2px solid currentColor;outline-offset:2px}@media(pointer:coarse),(max-width:480px){.alert-dismiss{position:relative}.alert-dismiss:after{content:\"\";position:absolute;inset:-13px}}\n"]
16288
16628
  }]
16289
16629
  }],
16290
16630
  propDecorators: {
@@ -16807,7 +17147,8 @@ var PhoneNumberPickerComponent = class PhoneNumberPickerComponent {
16807
17147
  "primaryLoading",
16808
17148
  "primaryDisabled",
16809
17149
  "cancelTestId",
16810
- "primaryTestId"
17150
+ "primaryTestId",
17151
+ "returnFocusTo"
16811
17152
  ],
16812
17153
  outputs: ["closed", "primaryClick"]
16813
17154
  },
@@ -17961,7 +18302,7 @@ var ContactPickerComponent = class ContactPickerComponent {
17961
18302
  </div>
17962
18303
  `,
17963
18304
  isInline: true,
17964
- styles: [".picker-wrapper{position:relative;overflow:visible}.picker-label{display:block;font-size:.8125rem;font-weight:600;color:#374151;margin-bottom:6px}.picker-req{color:#ef4444}.picker-hint{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#64748b}.picker-input{width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#1e293b;font-family:inherit;outline:none;box-sizing:border-box}.picker-input::placeholder{color:#94a3b8}.picker-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.picker-input:focus-visible{outline:2px solid transparent}@media(max-width:480px){.picker-input{font-size:1rem}}.picker-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 6px 16px #0000001a;max-height:240px;overflow-y:auto}@media(pointer:coarse),(max-width:480px){.picker-input{min-height:44px}.picker-dropdown{max-height:min(240px,40vh);overscroll-behavior:contain}.picker-option{min-height:44px;justify-content:center;box-sizing:border-box}.picker-option--check{min-height:44px}.chip-remove{position:relative}.chip-remove:after{content:\"\";position:absolute;inset:-13px}}@media(max-width:480px){:host-context(.m-body) .picker-dropdown{position:static;margin-top:4px;max-height:min(240px,calc(var(--ui-vvh, 100dvh) * .3))}}.picker-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:none;background:none;text-align:left;cursor:pointer;font-family:inherit}.picker-option:hover,.picker-option.picker-option--active{background:#f8fafc}.picker-option:first-child{border-radius:8px 8px 0 0}.picker-option:last-child{border-radius:0 0 8px 8px}.picker-option--check{flex-direction:row;align-items:center;gap:10px}.picker-option--check .option-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.picker-option--check .option-name,.picker-option--check .option-detail{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option-check{display:flex;pointer-events:none}.option-name{font-size:.875rem;font-weight:600;color:#1e293b;overflow-wrap:anywhere}.option-detail{font-size:.75rem;color:#94a3b8;overflow-wrap:anywhere}.picker-loading,.picker-empty{padding:12px;font-size:.8125rem;color:#94a3b8;text-align:center}.selected-input{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:.875rem;font-weight:600;color:#1e293b;gap:8px;overflow-wrap:anywhere;min-width:0}.selected-input:focus{outline:none}.selected-input:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.clear-btn{width:18px;height:18px;border:none;background:#e2e8f0;border-radius:50%;cursor:pointer;font-size:.75rem;color:#64748b;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.clear-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.clear-btn:hover{background:#cbd5e1;color:#1e293b}.clear-btn:after{content:\"\";position:absolute;inset:-13px}.recipient-details{margin-top:16px}.details-label{display:block;font-size:.6875rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.details-card{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #f1f5f9}.detail-row.last{border-bottom:none}.detail-row:nth-child(2n){background:#f8fafc}.detail-key{font-size:.8125rem;color:#94a3b8;font-weight:500}.detail-val{font-size:.875rem;color:#1e293b;font-weight:600}.multi-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.multi-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 10px;background:#dbeafe;border-radius:20px;font-size:.8125rem;font-weight:500;color:#1e40af}.chip-remove{width:18px;height:18px;border:none;background:#1e40af26;border-radius:50%;cursor:pointer;font-size:.875rem;line-height:1;color:#1e40af;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chip-remove:hover{background:#1e40af4d}.chip-remove:focus-visible{outline:2px solid #1e40af;outline-offset:2px}@media(forced-colors:active){.picker-input:focus{outline:2px solid Highlight;outline-offset:1px}.picker-option--active{outline:2px solid Highlight;outline-offset:-2px}}\n"],
18305
+ styles: [".picker-wrapper{position:relative;overflow:visible}.picker-label{display:block;font-size:.8125rem;font-weight:600;color:#374151;margin-bottom:6px}.picker-req{color:#dc2626}.picker-hint{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#64748b}.picker-input{width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#1e293b;font-family:inherit;outline:none;box-sizing:border-box}.picker-input::placeholder{color:#94a3b8}.picker-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.picker-input:focus-visible{outline:2px solid transparent}@media(max-width:480px){.picker-input{font-size:1rem}}.picker-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 6px 16px #0000001a;max-height:240px;overflow-y:auto}@media(pointer:coarse),(max-width:480px){.picker-input{min-height:44px}.picker-dropdown{max-height:min(240px,40vh);overscroll-behavior:contain}.picker-option{min-height:44px;justify-content:center;box-sizing:border-box}.picker-option--check{min-height:44px}.chip-remove{position:relative}.chip-remove:after{content:\"\";position:absolute;inset:-13px}}@media(max-width:480px){:host-context(.m-body) .picker-dropdown{position:static;margin-top:4px;max-height:min(240px,calc(var(--ui-vvh, 100dvh) * .3))}}.picker-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:none;background:none;text-align:left;cursor:pointer;font-family:inherit}.picker-option:hover,.picker-option.picker-option--active{background:#f8fafc}.picker-option:first-child{border-radius:8px 8px 0 0}.picker-option:last-child{border-radius:0 0 8px 8px}.picker-option--check{flex-direction:row;align-items:center;gap:10px}.picker-option--check .option-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.picker-option--check .option-name,.picker-option--check .option-detail{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option-check{display:flex;pointer-events:none}.option-name{font-size:.875rem;font-weight:600;color:#1e293b;overflow-wrap:anywhere}.option-detail{font-size:.75rem;color:#94a3b8;overflow-wrap:anywhere}.picker-loading,.picker-empty{padding:12px;font-size:.8125rem;color:#94a3b8;text-align:center}.selected-input{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:.875rem;font-weight:600;color:#1e293b;gap:8px;overflow-wrap:anywhere;min-width:0}.selected-input:focus{outline:none}.selected-input:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.clear-btn{width:18px;height:18px;border:none;background:#e2e8f0;border-radius:50%;cursor:pointer;font-size:.75rem;color:#64748b;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.clear-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.clear-btn:hover{background:#cbd5e1;color:#1e293b}.clear-btn:after{content:\"\";position:absolute;inset:-13px}.recipient-details{margin-top:16px}.details-label{display:block;font-size:.6875rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.details-card{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #f1f5f9}.detail-row.last{border-bottom:none}.detail-row:nth-child(2n){background:#f8fafc}.detail-key{font-size:.8125rem;color:#94a3b8;font-weight:500}.detail-val{font-size:.875rem;color:#1e293b;font-weight:600}.multi-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.multi-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 10px;background:#dbeafe;border-radius:20px;font-size:.8125rem;font-weight:500;color:#1e40af}.chip-remove{width:18px;height:18px;border:none;background:#1e40af26;border-radius:50%;cursor:pointer;font-size:.875rem;line-height:1;color:#1e40af;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chip-remove:hover{background:#1e40af4d}.chip-remove:focus-visible{outline:2px solid #1e40af;outline-offset:2px}@media(forced-colors:active){.picker-input:focus{outline:2px solid Highlight;outline-offset:1px}.picker-option--active{outline:2px solid Highlight;outline-offset:-2px}}\n"],
17965
18306
  dependencies: [
17966
18307
  {
17967
18308
  kind: "ngmodule",
@@ -18202,7 +18543,7 @@ i0.ɵɵngDeclareClassMetadata({
18202
18543
  }
18203
18544
  </div>
18204
18545
  `,
18205
- styles: [".picker-wrapper{position:relative;overflow:visible}.picker-label{display:block;font-size:.8125rem;font-weight:600;color:#374151;margin-bottom:6px}.picker-req{color:#ef4444}.picker-hint{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#64748b}.picker-input{width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#1e293b;font-family:inherit;outline:none;box-sizing:border-box}.picker-input::placeholder{color:#94a3b8}.picker-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.picker-input:focus-visible{outline:2px solid transparent}@media(max-width:480px){.picker-input{font-size:1rem}}.picker-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 6px 16px #0000001a;max-height:240px;overflow-y:auto}@media(pointer:coarse),(max-width:480px){.picker-input{min-height:44px}.picker-dropdown{max-height:min(240px,40vh);overscroll-behavior:contain}.picker-option{min-height:44px;justify-content:center;box-sizing:border-box}.picker-option--check{min-height:44px}.chip-remove{position:relative}.chip-remove:after{content:\"\";position:absolute;inset:-13px}}@media(max-width:480px){:host-context(.m-body) .picker-dropdown{position:static;margin-top:4px;max-height:min(240px,calc(var(--ui-vvh, 100dvh) * .3))}}.picker-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:none;background:none;text-align:left;cursor:pointer;font-family:inherit}.picker-option:hover,.picker-option.picker-option--active{background:#f8fafc}.picker-option:first-child{border-radius:8px 8px 0 0}.picker-option:last-child{border-radius:0 0 8px 8px}.picker-option--check{flex-direction:row;align-items:center;gap:10px}.picker-option--check .option-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.picker-option--check .option-name,.picker-option--check .option-detail{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option-check{display:flex;pointer-events:none}.option-name{font-size:.875rem;font-weight:600;color:#1e293b;overflow-wrap:anywhere}.option-detail{font-size:.75rem;color:#94a3b8;overflow-wrap:anywhere}.picker-loading,.picker-empty{padding:12px;font-size:.8125rem;color:#94a3b8;text-align:center}.selected-input{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:.875rem;font-weight:600;color:#1e293b;gap:8px;overflow-wrap:anywhere;min-width:0}.selected-input:focus{outline:none}.selected-input:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.clear-btn{width:18px;height:18px;border:none;background:#e2e8f0;border-radius:50%;cursor:pointer;font-size:.75rem;color:#64748b;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.clear-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.clear-btn:hover{background:#cbd5e1;color:#1e293b}.clear-btn:after{content:\"\";position:absolute;inset:-13px}.recipient-details{margin-top:16px}.details-label{display:block;font-size:.6875rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.details-card{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #f1f5f9}.detail-row.last{border-bottom:none}.detail-row:nth-child(2n){background:#f8fafc}.detail-key{font-size:.8125rem;color:#94a3b8;font-weight:500}.detail-val{font-size:.875rem;color:#1e293b;font-weight:600}.multi-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.multi-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 10px;background:#dbeafe;border-radius:20px;font-size:.8125rem;font-weight:500;color:#1e40af}.chip-remove{width:18px;height:18px;border:none;background:#1e40af26;border-radius:50%;cursor:pointer;font-size:.875rem;line-height:1;color:#1e40af;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chip-remove:hover{background:#1e40af4d}.chip-remove:focus-visible{outline:2px solid #1e40af;outline-offset:2px}@media(forced-colors:active){.picker-input:focus{outline:2px solid Highlight;outline-offset:1px}.picker-option--active{outline:2px solid Highlight;outline-offset:-2px}}\n"]
18546
+ styles: [".picker-wrapper{position:relative;overflow:visible}.picker-label{display:block;font-size:.8125rem;font-weight:600;color:#374151;margin-bottom:6px}.picker-req{color:#dc2626}.picker-hint{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#64748b}.picker-input{width:100%;padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:.875rem;color:#1e293b;font-family:inherit;outline:none;box-sizing:border-box}.picker-input::placeholder{color:#94a3b8}.picker-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.picker-input:focus-visible{outline:2px solid transparent}@media(max-width:480px){.picker-input{font-size:1rem}}.picker-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:9999;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 6px 16px #0000001a;max-height:240px;overflow-y:auto}@media(pointer:coarse),(max-width:480px){.picker-input{min-height:44px}.picker-dropdown{max-height:min(240px,40vh);overscroll-behavior:contain}.picker-option{min-height:44px;justify-content:center;box-sizing:border-box}.picker-option--check{min-height:44px}.chip-remove{position:relative}.chip-remove:after{content:\"\";position:absolute;inset:-13px}}@media(max-width:480px){:host-context(.m-body) .picker-dropdown{position:static;margin-top:4px;max-height:min(240px,calc(var(--ui-vvh, 100dvh) * .3))}}.picker-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 12px;border:none;background:none;text-align:left;cursor:pointer;font-family:inherit}.picker-option:hover,.picker-option.picker-option--active{background:#f8fafc}.picker-option:first-child{border-radius:8px 8px 0 0}.picker-option:last-child{border-radius:0 0 8px 8px}.picker-option--check{flex-direction:row;align-items:center;gap:10px}.picker-option--check .option-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.picker-option--check .option-name,.picker-option--check .option-detail{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.option-check{display:flex;pointer-events:none}.option-name{font-size:.875rem;font-weight:600;color:#1e293b;overflow-wrap:anywhere}.option-detail{font-size:.75rem;color:#94a3b8;overflow-wrap:anywhere}.picker-loading,.picker-empty{padding:12px;font-size:.8125rem;color:#94a3b8;text-align:center}.selected-input{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:.875rem;font-weight:600;color:#1e293b;gap:8px;overflow-wrap:anywhere;min-width:0}.selected-input:focus{outline:none}.selected-input:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.clear-btn{width:18px;height:18px;border:none;background:#e2e8f0;border-radius:50%;cursor:pointer;font-size:.75rem;color:#64748b;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0}.clear-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.clear-btn:hover{background:#cbd5e1;color:#1e293b}.clear-btn:after{content:\"\";position:absolute;inset:-13px}.recipient-details{margin-top:16px}.details-label{display:block;font-size:.6875rem;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.details-card{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid #f1f5f9}.detail-row.last{border-bottom:none}.detail-row:nth-child(2n){background:#f8fafc}.detail-key{font-size:.8125rem;color:#94a3b8;font-weight:500}.detail-val{font-size:.875rem;color:#1e293b;font-weight:600}.multi-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.multi-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 10px;background:#dbeafe;border-radius:20px;font-size:.8125rem;font-weight:500;color:#1e40af}.chip-remove{width:18px;height:18px;border:none;background:#1e40af26;border-radius:50%;cursor:pointer;font-size:.875rem;line-height:1;color:#1e40af;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chip-remove:hover{background:#1e40af4d}.chip-remove:focus-visible{outline:2px solid #1e40af;outline-offset:2px}@media(forced-colors:active){.picker-input:focus{outline:2px solid Highlight;outline-offset:1px}.picker-option--active{outline:2px solid Highlight;outline-offset:-2px}}\n"]
18206
18547
  }]
18207
18548
  }],
18208
18549
  ctorParameters: () => [],
@@ -18560,7 +18901,7 @@ var TextareaInputComponent = class TextareaInputComponent {
18560
18901
  </div>
18561
18902
  `,
18562
18903
  isInline: true,
18563
- styles: [":host{display:block}.ta-field{display:flex;flex-direction:column;gap:6px}.ta-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:2px}.ta-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ta-required{color:#ef4444;margin-left:2px}.ta-hint-inline{font-size:.75rem;color:#64748b;font-weight:400;margin-left:4px}.ta-head .ta-hint-inline{margin-left:0;line-height:1}.ta-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ta-input::placeholder{color:#94a3b8}.ta-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ta-input:read-only{background:#f8fafc;cursor:default}.ta-input.ta-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}@media(min-width:481px){.ta-input.ta-mono{font-size:.8125rem}}.ta-error .ta-input{border-color:#ef4444}.ta-error .ta-input:focus{box-shadow:0 0 0 3px #ef44441f}.ta-disabled .ta-input{opacity:.5;cursor:not-allowed}.ta-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ta-desc-error{color:#ef4444}@media(max-width:480px){.ta-input{font-size:1rem}}\n"],
18904
+ styles: [":host{display:block}.ta-field{display:flex;flex-direction:column;gap:6px}.ta-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:2px}.ta-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ta-required{color:#dc2626;margin-left:2px}.ta-hint-inline{font-size:.75rem;color:#64748b;font-weight:400;margin-left:4px}.ta-head .ta-hint-inline{margin-left:0;line-height:1}.ta-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ta-input::placeholder{color:#94a3b8}.ta-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ta-input:read-only{background:#f8fafc;cursor:default}.ta-input.ta-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}@media(min-width:481px){.ta-input.ta-mono{font-size:.8125rem}}.ta-error .ta-input{border-color:#ef4444}.ta-error .ta-input:focus{box-shadow:0 0 0 3px #ef44441f}.ta-disabled .ta-input{opacity:.5;cursor:not-allowed}.ta-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ta-desc-error{color:#dc2626}@media(max-width:480px){.ta-input{font-size:1rem}}\n"],
18564
18905
  changeDetection: i0.ChangeDetectionStrategy.OnPush
18565
18906
  });
18566
18907
  }
@@ -18633,7 +18974,7 @@ i0.ɵɵngDeclareClassMetadata({
18633
18974
  }
18634
18975
  </div>
18635
18976
  `,
18636
- styles: [":host{display:block}.ta-field{display:flex;flex-direction:column;gap:6px}.ta-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:2px}.ta-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ta-required{color:#ef4444;margin-left:2px}.ta-hint-inline{font-size:.75rem;color:#64748b;font-weight:400;margin-left:4px}.ta-head .ta-hint-inline{margin-left:0;line-height:1}.ta-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ta-input::placeholder{color:#94a3b8}.ta-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ta-input:read-only{background:#f8fafc;cursor:default}.ta-input.ta-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}@media(min-width:481px){.ta-input.ta-mono{font-size:.8125rem}}.ta-error .ta-input{border-color:#ef4444}.ta-error .ta-input:focus{box-shadow:0 0 0 3px #ef44441f}.ta-disabled .ta-input{opacity:.5;cursor:not-allowed}.ta-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ta-desc-error{color:#ef4444}@media(max-width:480px){.ta-input{font-size:1rem}}\n"]
18977
+ styles: [":host{display:block}.ta-field{display:flex;flex-direction:column;gap:6px}.ta-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:4px;row-gap:2px}.ta-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ta-required{color:#dc2626;margin-left:2px}.ta-hint-inline{font-size:.75rem;color:#64748b;font-weight:400;margin-left:4px}.ta-head .ta-hint-inline{margin-left:0;line-height:1}.ta-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;resize:vertical;transition:border-color .15s,box-shadow .15s}.ta-input::placeholder{color:#94a3b8}.ta-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ta-input:read-only{background:#f8fafc;cursor:default}.ta-input.ta-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}@media(min-width:481px){.ta-input.ta-mono{font-size:.8125rem}}.ta-error .ta-input{border-color:#ef4444}.ta-error .ta-input:focus{box-shadow:0 0 0 3px #ef44441f}.ta-disabled .ta-input{opacity:.5;cursor:not-allowed}.ta-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ta-desc-error{color:#dc2626}@media(max-width:480px){.ta-input{font-size:1rem}}\n"]
18637
18978
  }]
18638
18979
  }],
18639
18980
  ctorParameters: () => [],
@@ -18943,7 +19284,8 @@ var BulkMessagePanelComponent = class BulkMessagePanelComponent {
18943
19284
  "primaryLoading",
18944
19285
  "primaryDisabled",
18945
19286
  "cancelTestId",
18946
- "primaryTestId"
19287
+ "primaryTestId",
19288
+ "returnFocusTo"
18947
19289
  ],
18948
19290
  outputs: ["closed", "primaryClick"]
18949
19291
  },
@@ -20078,7 +20420,7 @@ var FileInputComponent = class FileInputComponent {
20078
20420
  </div>
20079
20421
  `,
20080
20422
  isInline: true,
20081
- styles: [":host{display:block}:host(:has(.fi-hidden)){display:contents}.fi-field{display:flex;flex-direction:column;gap:6px}.fi-hidden{display:contents}.fi-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.fi-required{color:#ef4444;margin-left:2px}.fi-hint-inline{font-size:.75rem;color:#94a3b8;font-weight:400;margin-left:4px}.fi-native{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.fi-row{display:flex;align-items:stretch;gap:8px}.fi-control{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1 1 auto;min-width:0;box-sizing:border-box;text-align:left;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.fi-control:focus-visible{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.fi-control:has(ui-image-preview){padding-top:6px;padding-bottom:6px}.fi-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fi-loading{overflow:visible}.fi-placeholder{color:#94a3b8}.fi-browse{flex-shrink:0;font-size:.75rem;font-weight:600;color:#374151;padding:3px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.fi-remove{flex-shrink:0;align-self:center;font-family:inherit;font-size:.75rem;font-weight:600;color:#b91c1c;padding:6px 10px;border:1px solid #fecaca;border-radius:6px;background:#fff;cursor:pointer;-webkit-appearance:none;appearance:none}.fi-remove:hover{background:#fef2f2}.fi-remove:focus-visible{outline:2px solid #ef4444;outline-offset:2px}.fi-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fi-error .fi-control{border-color:#ef4444}.fi-error .fi-control:focus-visible{box-shadow:0 0 0 3px #ef44441f}.fi-drag .fi-control{border-color:#3b82f6;border-style:dashed;background:#eff6ff}.fi-disabled .fi-control{opacity:.5;cursor:not-allowed}.fi-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.fi-desc-error{color:#ef4444}@media(max-width:480px){.fi-control{font-size:1rem}.fi-remove{padding:10px 12px}}@media(pointer:coarse){.fi-control,.fi-remove{min-height:44px}}\n"],
20423
+ styles: [":host{display:block}:host(:has(.fi-hidden)){display:contents}.fi-field{display:flex;flex-direction:column;gap:6px}.fi-hidden{display:contents}.fi-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.fi-required{color:#dc2626;margin-left:2px}.fi-hint-inline{font-size:.75rem;color:#94a3b8;font-weight:400;margin-left:4px}.fi-native{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.fi-row{display:flex;align-items:stretch;gap:8px}.fi-control{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1 1 auto;min-width:0;box-sizing:border-box;text-align:left;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.fi-control:focus-visible{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.fi-control:has(ui-image-preview){padding-top:6px;padding-bottom:6px}.fi-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fi-loading{overflow:visible}.fi-placeholder{color:#94a3b8}.fi-browse{flex-shrink:0;font-size:.75rem;font-weight:600;color:#374151;padding:3px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.fi-remove{flex-shrink:0;align-self:center;font-family:inherit;font-size:.75rem;font-weight:600;color:#b91c1c;padding:6px 10px;border:1px solid #fecaca;border-radius:6px;background:#fff;cursor:pointer;-webkit-appearance:none;appearance:none}.fi-remove:hover{background:#fef2f2}.fi-remove:focus-visible{outline:2px solid #ef4444;outline-offset:2px}.fi-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fi-error .fi-control{border-color:#ef4444}.fi-error .fi-control:focus-visible{box-shadow:0 0 0 3px #ef44441f}.fi-drag .fi-control{border-color:#3b82f6;border-style:dashed;background:#eff6ff}.fi-disabled .fi-control{opacity:.5;cursor:not-allowed}.fi-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.fi-desc-error{color:#dc2626}@media(max-width:480px){.fi-control{font-size:1rem}.fi-remove{padding:10px 12px}}@media(pointer:coarse){.fi-control,.fi-remove{min-height:44px}}\n"],
20082
20424
  dependencies: [{
20083
20425
  kind: "component",
20084
20426
  type: ImagePreviewComponent,
@@ -20189,7 +20531,7 @@ i0.ɵɵngDeclareClassMetadata({
20189
20531
  }
20190
20532
  </div>
20191
20533
  `,
20192
- styles: [":host{display:block}:host(:has(.fi-hidden)){display:contents}.fi-field{display:flex;flex-direction:column;gap:6px}.fi-hidden{display:contents}.fi-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.fi-required{color:#ef4444;margin-left:2px}.fi-hint-inline{font-size:.75rem;color:#94a3b8;font-weight:400;margin-left:4px}.fi-native{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.fi-row{display:flex;align-items:stretch;gap:8px}.fi-control{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1 1 auto;min-width:0;box-sizing:border-box;text-align:left;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.fi-control:focus-visible{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.fi-control:has(ui-image-preview){padding-top:6px;padding-bottom:6px}.fi-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fi-loading{overflow:visible}.fi-placeholder{color:#94a3b8}.fi-browse{flex-shrink:0;font-size:.75rem;font-weight:600;color:#374151;padding:3px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.fi-remove{flex-shrink:0;align-self:center;font-family:inherit;font-size:.75rem;font-weight:600;color:#b91c1c;padding:6px 10px;border:1px solid #fecaca;border-radius:6px;background:#fff;cursor:pointer;-webkit-appearance:none;appearance:none}.fi-remove:hover{background:#fef2f2}.fi-remove:focus-visible{outline:2px solid #ef4444;outline-offset:2px}.fi-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fi-error .fi-control{border-color:#ef4444}.fi-error .fi-control:focus-visible{box-shadow:0 0 0 3px #ef44441f}.fi-drag .fi-control{border-color:#3b82f6;border-style:dashed;background:#eff6ff}.fi-disabled .fi-control{opacity:.5;cursor:not-allowed}.fi-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.fi-desc-error{color:#ef4444}@media(max-width:480px){.fi-control{font-size:1rem}.fi-remove{padding:10px 12px}}@media(pointer:coarse){.fi-control,.fi-remove{min-height:44px}}\n"]
20534
+ styles: [":host{display:block}:host(:has(.fi-hidden)){display:contents}.fi-field{display:flex;flex-direction:column;gap:6px}.fi-hidden{display:contents}.fi-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.fi-required{color:#dc2626;margin-left:2px}.fi-hint-inline{font-size:.75rem;color:#94a3b8;font-weight:400;margin-left:4px}.fi-native{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.fi-row{display:flex;align-items:stretch;gap:8px}.fi-control{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1 1 auto;min-width:0;box-sizing:border-box;text-align:left;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;cursor:pointer;transition:border-color .15s,box-shadow .15s}.fi-control:focus-visible{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.fi-control:has(ui-image-preview){padding-top:6px;padding-bottom:6px}.fi-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fi-loading{overflow:visible}.fi-placeholder{color:#94a3b8}.fi-browse{flex-shrink:0;font-size:.75rem;font-weight:600;color:#374151;padding:3px 10px;border:1px solid #e2e8f0;border-radius:6px;background:#f8fafc}.fi-remove{flex-shrink:0;align-self:center;font-family:inherit;font-size:.75rem;font-weight:600;color:#b91c1c;padding:6px 10px;border:1px solid #fecaca;border-radius:6px;background:#fff;cursor:pointer;-webkit-appearance:none;appearance:none}.fi-remove:hover{background:#fef2f2}.fi-remove:focus-visible{outline:2px solid #ef4444;outline-offset:2px}.fi-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.fi-error .fi-control{border-color:#ef4444}.fi-error .fi-control:focus-visible{box-shadow:0 0 0 3px #ef44441f}.fi-drag .fi-control{border-color:#3b82f6;border-style:dashed;background:#eff6ff}.fi-disabled .fi-control{opacity:.5;cursor:not-allowed}.fi-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.fi-desc-error{color:#dc2626}@media(max-width:480px){.fi-control{font-size:1rem}.fi-remove{padding:10px 12px}}@media(pointer:coarse){.fi-control,.fi-remove{min-height:44px}}\n"]
20193
20535
  }]
20194
20536
  }],
20195
20537
  ctorParameters: () => [],
@@ -20659,7 +21001,7 @@ var DateInputComponent = class DateInputComponent {
20659
21001
  </div>
20660
21002
  `,
20661
21003
  isInline: true,
20662
- styles: [":host{display:block}.di-field{display:flex;flex-direction:column;gap:6px}.di-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.di-required{color:#ef4444;margin-left:2px}.di-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none}.di-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.di-error .di-input{border-color:#ef4444}.di-error .di-input:focus{box-shadow:0 0 0 3px #ef44441f}.di-disabled .di-input{opacity:.5;cursor:not-allowed}.di-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.di-desc-error{color:#ef4444}@media(max-width:480px){.di-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.di-input{min-height:44px}}\n"],
21004
+ styles: [":host{display:block}.di-field{display:flex;flex-direction:column;gap:6px}.di-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.di-required{color:#dc2626;margin-left:2px}.di-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none}.di-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.di-error .di-input{border-color:#ef4444}.di-error .di-input:focus{box-shadow:0 0 0 3px #ef44441f}.di-disabled .di-input{opacity:.5;cursor:not-allowed}.di-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.di-desc-error{color:#dc2626}@media(max-width:480px){.di-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.di-input{min-height:44px}}\n"],
20663
21005
  changeDetection: i0.ChangeDetectionStrategy.OnPush
20664
21006
  });
20665
21007
  }
@@ -20720,7 +21062,7 @@ i0.ɵɵngDeclareClassMetadata({
20720
21062
  }
20721
21063
  </div>
20722
21064
  `,
20723
- styles: [":host{display:block}.di-field{display:flex;flex-direction:column;gap:6px}.di-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.di-required{color:#ef4444;margin-left:2px}.di-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none}.di-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.di-error .di-input{border-color:#ef4444}.di-error .di-input:focus{box-shadow:0 0 0 3px #ef44441f}.di-disabled .di-input{opacity:.5;cursor:not-allowed}.di-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.di-desc-error{color:#ef4444}@media(max-width:480px){.di-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.di-input{min-height:44px}}\n"]
21065
+ styles: [":host{display:block}.di-field{display:flex;flex-direction:column;gap:6px}.di-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.di-required{color:#dc2626;margin-left:2px}.di-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none}.di-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.di-error .di-input{border-color:#ef4444}.di-error .di-input:focus{box-shadow:0 0 0 3px #ef44441f}.di-disabled .di-input{opacity:.5;cursor:not-allowed}.di-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.di-desc-error{color:#dc2626}@media(max-width:480px){.di-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.di-input{min-height:44px}}\n"]
20724
21066
  }]
20725
21067
  }],
20726
21068
  ctorParameters: () => [],
@@ -21013,7 +21355,7 @@ var DatetimeInputComponent = class DatetimeInputComponent {
21013
21355
  </div>
21014
21356
  `,
21015
21357
  isInline: true,
21016
- styles: [":host{display:block}.dti-field{display:flex;flex-direction:column;gap:6px}.dti-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.dti-required{color:#ef4444;margin-left:2px}.dti-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none}.dti-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.dti-error .dti-input{border-color:#ef4444}.dti-error .dti-input:focus{box-shadow:0 0 0 3px #ef44441f}.dti-disabled .dti-input{opacity:.5;cursor:not-allowed}.dti-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.dti-desc-error{color:#ef4444}@media(max-width:480px){.dti-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.dti-input{min-height:44px}}\n"],
21358
+ styles: [":host{display:block}.dti-field{display:flex;flex-direction:column;gap:6px}.dti-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.dti-required{color:#dc2626;margin-left:2px}.dti-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none}.dti-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.dti-error .dti-input{border-color:#ef4444}.dti-error .dti-input:focus{box-shadow:0 0 0 3px #ef44441f}.dti-disabled .dti-input{opacity:.5;cursor:not-allowed}.dti-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.dti-desc-error{color:#dc2626}@media(max-width:480px){.dti-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.dti-input{min-height:44px}}\n"],
21017
21359
  changeDetection: i0.ChangeDetectionStrategy.OnPush
21018
21360
  });
21019
21361
  }
@@ -21074,7 +21416,7 @@ i0.ɵɵngDeclareClassMetadata({
21074
21416
  }
21075
21417
  </div>
21076
21418
  `,
21077
- styles: [":host{display:block}.dti-field{display:flex;flex-direction:column;gap:6px}.dti-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.dti-required{color:#ef4444;margin-left:2px}.dti-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none}.dti-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.dti-error .dti-input{border-color:#ef4444}.dti-error .dti-input:focus{box-shadow:0 0 0 3px #ef44441f}.dti-disabled .dti-input{opacity:.5;cursor:not-allowed}.dti-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.dti-desc-error{color:#ef4444}@media(max-width:480px){.dti-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.dti-input{min-height:44px}}\n"]
21419
+ styles: [":host{display:block}.dti-field{display:flex;flex-direction:column;gap:6px}.dti-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.dti-required{color:#dc2626;margin-left:2px}.dti-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none}.dti-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.dti-error .dti-input{border-color:#ef4444}.dti-error .dti-input:focus{box-shadow:0 0 0 3px #ef44441f}.dti-disabled .dti-input{opacity:.5;cursor:not-allowed}.dti-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.dti-desc-error{color:#dc2626}@media(max-width:480px){.dti-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.dti-input{min-height:44px}}\n"]
21078
21420
  }]
21079
21421
  }],
21080
21422
  ctorParameters: () => [],
@@ -21377,7 +21719,7 @@ var TimeInputComponent = class TimeInputComponent {
21377
21719
  </div>
21378
21720
  `,
21379
21721
  isInline: true,
21380
- styles: [":host{display:block}.tmi-field{display:flex;flex-direction:column;gap:6px}.tmi-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.tmi-required{color:#ef4444;margin-left:2px}.tmi-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none}.tmi-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.tmi-error .tmi-input{border-color:#ef4444}.tmi-error .tmi-input:focus{box-shadow:0 0 0 3px #ef44441f}.tmi-disabled .tmi-input{opacity:.5;cursor:not-allowed}.tmi-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.tmi-desc-error{color:#ef4444}@media(max-width:480px){.tmi-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.tmi-input{min-height:44px}}\n"],
21722
+ styles: [":host{display:block}.tmi-field{display:flex;flex-direction:column;gap:6px}.tmi-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.tmi-required{color:#dc2626;margin-left:2px}.tmi-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none}.tmi-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.tmi-error .tmi-input{border-color:#ef4444}.tmi-error .tmi-input:focus{box-shadow:0 0 0 3px #ef44441f}.tmi-disabled .tmi-input{opacity:.5;cursor:not-allowed}.tmi-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.tmi-desc-error{color:#dc2626}@media(max-width:480px){.tmi-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.tmi-input{min-height:44px}}\n"],
21381
21723
  changeDetection: i0.ChangeDetectionStrategy.OnPush
21382
21724
  });
21383
21725
  }
@@ -21440,7 +21782,7 @@ i0.ɵɵngDeclareClassMetadata({
21440
21782
  }
21441
21783
  </div>
21442
21784
  `,
21443
- styles: [":host{display:block}.tmi-field{display:flex;flex-direction:column;gap:6px}.tmi-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.tmi-required{color:#ef4444;margin-left:2px}.tmi-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none}.tmi-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.tmi-error .tmi-input{border-color:#ef4444}.tmi-error .tmi-input:focus{box-shadow:0 0 0 3px #ef44441f}.tmi-disabled .tmi-input{opacity:.5;cursor:not-allowed}.tmi-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.tmi-desc-error{color:#ef4444}@media(max-width:480px){.tmi-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.tmi-input{min-height:44px}}\n"]
21785
+ styles: [":host{display:block}.tmi-field{display:flex;flex-direction:column;gap:6px}.tmi-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.tmi-required{color:#dc2626;margin-left:2px}.tmi-input{width:100%;box-sizing:border-box;padding:8px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s;appearance:none}.tmi-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.tmi-error .tmi-input{border-color:#ef4444}.tmi-error .tmi-input:focus{box-shadow:0 0 0 3px #ef44441f}.tmi-disabled .tmi-input{opacity:.5;cursor:not-allowed}.tmi-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.tmi-desc-error{color:#dc2626}@media(max-width:480px){.tmi-input{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.tmi-input{min-height:44px}}\n"]
21444
21786
  }]
21445
21787
  }],
21446
21788
  ctorParameters: () => [],
@@ -22008,7 +22350,7 @@ var ComboboxComponent = class ComboboxComponent {
22008
22350
  </div>
22009
22351
  `,
22010
22352
  isInline: true,
22011
- styles: [":host{display:block}.cb-field{display:flex;flex-direction:column;gap:6px}.cb-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.cb-required{color:#ef4444;margin-left:2px}.cb-control{position:relative}.cb-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.cb-input::placeholder{color:#94a3b8}.cb-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.cb-has-clear{padding-right:40px}.cb-warning .cb-input{border-color:#f59e0b;background:#fffbeb}.cb-error .cb-input{border-color:#ef4444}.cb-error .cb-input:focus{box-shadow:0 0 0 3px #ef44441f}.cb-disabled .cb-input{opacity:.5;cursor:not-allowed}.cb-clear{position:absolute;top:50%;right:4px;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;color:#64748b;font-size:1.25rem;line-height:1;min-width:32px;min-height:32px;padding:0 8px;border-radius:6px}.cb-clear:hover{color:#0f172a}.cb-clear:focus-visible{outline:2px solid #3b82f6}.cb-popup{position:absolute;z-index:30;left:0;right:0;top:100%;margin-top:4px;box-sizing:border-box;max-width:100%;max-height:min(260px,40vh);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.cb-list:empty{display:none}.cb-status{padding:12px;font-size:.875rem;color:#64748b}.cb-option{display:flex;flex-direction:column;gap:2px;padding:8px 12px;min-height:40px;justify-content:center;box-sizing:border-box;cursor:pointer}.cb-option-active{background:#eff6ff}.cb-option-selected .cb-option-label{font-weight:600}.cb-option-disabled{opacity:.5;cursor:not-allowed}.cb-option-label{font-size:.875rem;color:#0f172a;overflow-wrap:anywhere}.cb-option-desc{font-size:.75rem;color:#64748b;overflow-wrap:anywhere}.cb-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.cb-desc-error{color:#ef4444}.cb-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){.cb-input{transition:none}}@media(forced-colors:active){.cb-input:focus{outline:2px solid Highlight;outline-offset:1px}.cb-option-active{outline:2px solid Highlight;outline-offset:-2px}}@media(pointer:coarse),(max-width:480px){.cb-input{min-height:44px}.cb-clear{min-width:44px;min-height:44px}}@media(pointer:coarse){.cb-option{min-height:44px}}@media(max-width:480px){.cb-input{font-size:1rem}.cb-option{min-height:44px}}\n"],
22353
+ styles: [":host{display:block}.cb-field{display:flex;flex-direction:column;gap:6px}.cb-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.cb-required{color:#dc2626;margin-left:2px}.cb-control{position:relative}.cb-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.cb-input::placeholder{color:#94a3b8}.cb-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.cb-has-clear{padding-right:40px}.cb-warning .cb-input{border-color:#f59e0b;background:#fffbeb}.cb-error .cb-input{border-color:#ef4444}.cb-error .cb-input:focus{box-shadow:0 0 0 3px #ef44441f}.cb-disabled .cb-input{opacity:.5;cursor:not-allowed}.cb-clear{position:absolute;top:50%;right:4px;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;color:#64748b;font-size:1.25rem;line-height:1;min-width:32px;min-height:32px;padding:0 8px;border-radius:6px}.cb-clear:hover{color:#0f172a}.cb-clear:focus-visible{outline:2px solid #3b82f6}.cb-popup{position:absolute;z-index:30;left:0;right:0;top:100%;margin-top:4px;box-sizing:border-box;max-width:100%;max-height:min(260px,40vh);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.cb-list:empty{display:none}.cb-status{padding:12px;font-size:.875rem;color:#64748b}.cb-option{display:flex;flex-direction:column;gap:2px;padding:8px 12px;min-height:40px;justify-content:center;box-sizing:border-box;cursor:pointer}.cb-option-active{background:#eff6ff}.cb-option-selected .cb-option-label{font-weight:600}.cb-option-disabled{opacity:.5;cursor:not-allowed}.cb-option-label{font-size:.875rem;color:#0f172a;overflow-wrap:anywhere}.cb-option-desc{font-size:.75rem;color:#64748b;overflow-wrap:anywhere}.cb-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.cb-desc-error{color:#dc2626}.cb-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){.cb-input{transition:none}}@media(forced-colors:active){.cb-input:focus{outline:2px solid Highlight;outline-offset:1px}.cb-option-active{outline:2px solid Highlight;outline-offset:-2px}}@media(pointer:coarse),(max-width:480px){.cb-input{min-height:44px}.cb-clear{min-width:44px;min-height:44px}}@media(pointer:coarse){.cb-option{min-height:44px}}@media(max-width:480px){.cb-input{font-size:1rem}.cb-option{min-height:44px}}\n"],
22012
22354
  changeDetection: i0.ChangeDetectionStrategy.OnPush
22013
22355
  });
22014
22356
  }
@@ -22111,7 +22453,7 @@ i0.ɵɵngDeclareClassMetadata({
22111
22453
  }
22112
22454
  </div>
22113
22455
  `,
22114
- styles: [":host{display:block}.cb-field{display:flex;flex-direction:column;gap:6px}.cb-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.cb-required{color:#ef4444;margin-left:2px}.cb-control{position:relative}.cb-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.cb-input::placeholder{color:#94a3b8}.cb-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.cb-has-clear{padding-right:40px}.cb-warning .cb-input{border-color:#f59e0b;background:#fffbeb}.cb-error .cb-input{border-color:#ef4444}.cb-error .cb-input:focus{box-shadow:0 0 0 3px #ef44441f}.cb-disabled .cb-input{opacity:.5;cursor:not-allowed}.cb-clear{position:absolute;top:50%;right:4px;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;color:#64748b;font-size:1.25rem;line-height:1;min-width:32px;min-height:32px;padding:0 8px;border-radius:6px}.cb-clear:hover{color:#0f172a}.cb-clear:focus-visible{outline:2px solid #3b82f6}.cb-popup{position:absolute;z-index:30;left:0;right:0;top:100%;margin-top:4px;box-sizing:border-box;max-width:100%;max-height:min(260px,40vh);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.cb-list:empty{display:none}.cb-status{padding:12px;font-size:.875rem;color:#64748b}.cb-option{display:flex;flex-direction:column;gap:2px;padding:8px 12px;min-height:40px;justify-content:center;box-sizing:border-box;cursor:pointer}.cb-option-active{background:#eff6ff}.cb-option-selected .cb-option-label{font-weight:600}.cb-option-disabled{opacity:.5;cursor:not-allowed}.cb-option-label{font-size:.875rem;color:#0f172a;overflow-wrap:anywhere}.cb-option-desc{font-size:.75rem;color:#64748b;overflow-wrap:anywhere}.cb-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.cb-desc-error{color:#ef4444}.cb-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){.cb-input{transition:none}}@media(forced-colors:active){.cb-input:focus{outline:2px solid Highlight;outline-offset:1px}.cb-option-active{outline:2px solid Highlight;outline-offset:-2px}}@media(pointer:coarse),(max-width:480px){.cb-input{min-height:44px}.cb-clear{min-width:44px;min-height:44px}}@media(pointer:coarse){.cb-option{min-height:44px}}@media(max-width:480px){.cb-input{font-size:1rem}.cb-option{min-height:44px}}\n"]
22456
+ styles: [":host{display:block}.cb-field{display:flex;flex-direction:column;gap:6px}.cb-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.cb-required{color:#dc2626;margin-left:2px}.cb-control{position:relative}.cb-input{width:100%;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.cb-input::placeholder{color:#94a3b8}.cb-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.cb-has-clear{padding-right:40px}.cb-warning .cb-input{border-color:#f59e0b;background:#fffbeb}.cb-error .cb-input{border-color:#ef4444}.cb-error .cb-input:focus{box-shadow:0 0 0 3px #ef44441f}.cb-disabled .cb-input{opacity:.5;cursor:not-allowed}.cb-clear{position:absolute;top:50%;right:4px;transform:translateY(-50%);border:0;background:transparent;cursor:pointer;color:#64748b;font-size:1.25rem;line-height:1;min-width:32px;min-height:32px;padding:0 8px;border-radius:6px}.cb-clear:hover{color:#0f172a}.cb-clear:focus-visible{outline:2px solid #3b82f6}.cb-popup{position:absolute;z-index:30;left:0;right:0;top:100%;margin-top:4px;box-sizing:border-box;max-width:100%;max-height:min(260px,40vh);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0f172a1f}.cb-list:empty{display:none}.cb-status{padding:12px;font-size:.875rem;color:#64748b}.cb-option{display:flex;flex-direction:column;gap:2px;padding:8px 12px;min-height:40px;justify-content:center;box-sizing:border-box;cursor:pointer}.cb-option-active{background:#eff6ff}.cb-option-selected .cb-option-label{font-weight:600}.cb-option-disabled{opacity:.5;cursor:not-allowed}.cb-option-label{font-size:.875rem;color:#0f172a;overflow-wrap:anywhere}.cb-option-desc{font-size:.75rem;color:#64748b;overflow-wrap:anywhere}.cb-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.cb-desc-error{color:#dc2626}.cb-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){.cb-input{transition:none}}@media(forced-colors:active){.cb-input:focus{outline:2px solid Highlight;outline-offset:1px}.cb-option-active{outline:2px solid Highlight;outline-offset:-2px}}@media(pointer:coarse),(max-width:480px){.cb-input{min-height:44px}.cb-clear{min-width:44px;min-height:44px}}@media(pointer:coarse){.cb-option{min-height:44px}}@media(max-width:480px){.cb-input{font-size:1rem}.cb-option{min-height:44px}}\n"]
22115
22457
  }]
22116
22458
  }],
22117
22459
  ctorParameters: () => [],
@@ -22727,7 +23069,7 @@ var MultiSelectComponent = class MultiSelectComponent {
22727
23069
  </div>
22728
23070
  `,
22729
23071
  isInline: true,
22730
- styles: [":host{display:block}.ms-field{display:flex;flex-direction:column;gap:6px}.ms-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ms-required{color:#ef4444;margin-left:2px}.ms-tags{display:flex;flex-wrap:wrap;gap:6px}.ms-wrap{position:relative}.ms-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:9px 10px 9px 12px;font-size:.875rem;font-family:inherit;text-align:left;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.ms-trigger:focus-visible,.ms-trigger.ms-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ms-has-error .ms-trigger{border-color:#ef4444}.ms-disabled .ms-trigger{opacity:.5;cursor:not-allowed}.ms-placeholder{color:#64748b}.ms-chevron{color:#94a3b8;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.ms-chevron-open{transform:rotate(180deg)}.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;max-height:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0f172a1a}.ms-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0}.ms-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:.8125rem;font-family:inherit;color:#1e293b;border:1px solid #e2e8f0;border-radius:6px;outline:none}.ms-search::placeholder{color:#94a3b8}.ms-search:focus{border-color:#3b82f6}.ms-options{overflow-y:auto;padding:4px 0}.ms-option{padding:7px 12px;font-size:.8125rem}.ms-option:hover{background:#f8fafc}.ms-option-selected{background:#eff6ff}.ms-empty{padding:16px;text-align:center;color:#94a3b8;font-size:.8125rem}.ms-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ms-desc-error{color:#ef4444}@media(max-width:480px){.ms-trigger,.ms-search{font-size:1rem}}\n"],
23072
+ styles: [":host{display:block}.ms-field{display:flex;flex-direction:column;gap:6px}.ms-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ms-required{color:#dc2626;margin-left:2px}.ms-tags{display:flex;flex-wrap:wrap;gap:6px}.ms-wrap{position:relative}.ms-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:9px 10px 9px 12px;font-size:.875rem;font-family:inherit;text-align:left;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.ms-trigger:focus-visible,.ms-trigger.ms-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ms-has-error .ms-trigger{border-color:#ef4444}.ms-disabled .ms-trigger{opacity:.5;cursor:not-allowed}.ms-placeholder{color:#64748b}.ms-chevron{color:#94a3b8;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.ms-chevron-open{transform:rotate(180deg)}.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;max-height:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0f172a1a}.ms-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0}.ms-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:.8125rem;font-family:inherit;color:#1e293b;border:1px solid #e2e8f0;border-radius:6px;outline:none}.ms-search::placeholder{color:#94a3b8}.ms-search:focus{border-color:#3b82f6}.ms-options{overflow-y:auto;padding:4px 0}.ms-option{padding:7px 12px;font-size:.8125rem}.ms-option:hover{background:#f8fafc}.ms-option-selected{background:#eff6ff}.ms-empty{padding:16px;text-align:center;color:#94a3b8;font-size:.8125rem}.ms-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ms-desc-error{color:#dc2626}@media(max-width:480px){.ms-trigger,.ms-search{font-size:1rem}}\n"],
22731
23073
  dependencies: [{
22732
23074
  kind: "component",
22733
23075
  type: ChipComponent,
@@ -22856,7 +23198,7 @@ i0.ɵɵngDeclareClassMetadata({
22856
23198
  }
22857
23199
  </div>
22858
23200
  `,
22859
- styles: [":host{display:block}.ms-field{display:flex;flex-direction:column;gap:6px}.ms-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ms-required{color:#ef4444;margin-left:2px}.ms-tags{display:flex;flex-wrap:wrap;gap:6px}.ms-wrap{position:relative}.ms-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:9px 10px 9px 12px;font-size:.875rem;font-family:inherit;text-align:left;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.ms-trigger:focus-visible,.ms-trigger.ms-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ms-has-error .ms-trigger{border-color:#ef4444}.ms-disabled .ms-trigger{opacity:.5;cursor:not-allowed}.ms-placeholder{color:#64748b}.ms-chevron{color:#94a3b8;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.ms-chevron-open{transform:rotate(180deg)}.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;max-height:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0f172a1a}.ms-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0}.ms-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:.8125rem;font-family:inherit;color:#1e293b;border:1px solid #e2e8f0;border-radius:6px;outline:none}.ms-search::placeholder{color:#94a3b8}.ms-search:focus{border-color:#3b82f6}.ms-options{overflow-y:auto;padding:4px 0}.ms-option{padding:7px 12px;font-size:.8125rem}.ms-option:hover{background:#f8fafc}.ms-option-selected{background:#eff6ff}.ms-empty{padding:16px;text-align:center;color:#94a3b8;font-size:.8125rem}.ms-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ms-desc-error{color:#ef4444}@media(max-width:480px){.ms-trigger,.ms-search{font-size:1rem}}\n"]
23201
+ styles: [":host{display:block}.ms-field{display:flex;flex-direction:column;gap:6px}.ms-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.ms-required{color:#dc2626;margin-left:2px}.ms-tags{display:flex;flex-wrap:wrap;gap:6px}.ms-wrap{position:relative}.ms-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:9px 10px 9px 12px;font-size:.875rem;font-family:inherit;text-align:left;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s}.ms-trigger:focus-visible,.ms-trigger.ms-open{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.ms-has-error .ms-trigger{border-color:#ef4444}.ms-disabled .ms-trigger{opacity:.5;cursor:not-allowed}.ms-placeholder{color:#64748b}.ms-chevron{color:#94a3b8;flex-shrink:0;margin-left:8px;transition:transform .2s ease}.ms-chevron-open{transform:rotate(180deg)}.ms-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:50;display:flex;flex-direction:column;max-height:260px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0f172a1a}.ms-search-wrap{padding:8px;border-bottom:1px solid #e2e8f0}.ms-search{width:100%;box-sizing:border-box;padding:7px 10px;font-size:.8125rem;font-family:inherit;color:#1e293b;border:1px solid #e2e8f0;border-radius:6px;outline:none}.ms-search::placeholder{color:#94a3b8}.ms-search:focus{border-color:#3b82f6}.ms-options{overflow-y:auto;padding:4px 0}.ms-option{padding:7px 12px;font-size:.8125rem}.ms-option:hover{background:#f8fafc}.ms-option-selected{background:#eff6ff}.ms-empty{padding:16px;text-align:center;color:#94a3b8;font-size:.8125rem}.ms-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.ms-desc-error{color:#dc2626}@media(max-width:480px){.ms-trigger,.ms-search{font-size:1rem}}\n"]
22860
23202
  }]
22861
23203
  }],
22862
23204
  propDecorators: {
@@ -23961,8 +24303,19 @@ var ListItemComponent = class ListItemComponent {
23961
24303
  this.badge = input(null, ...ngDevMode ? [{ debugName: "badge" }] : /* istanbul ignore next */ []);
23962
24304
  this.badgeVariant = input("green", ...ngDevMode ? [{ debugName: "badgeVariant" }] : /* istanbul ignore next */ []);
23963
24305
  this.details = input([], ...ngDevMode ? [{ debugName: "details" }] : /* istanbul ignore next */ []);
24306
+ this.icon = input("", ...ngDevMode ? [{ debugName: "icon" }] : /* istanbul ignore next */ []);
24307
+ this.iconColor = input("slate", ...ngDevMode ? [{ debugName: "iconColor" }] : /* istanbul ignore next */ []);
24308
+ this.iconD = () => this.icon() ? iconPath(this.icon()) ?? null : null;
23964
24309
  this.select = output();
23965
- this.visibleDetails = () => this.details().filter((d) => !!d);
24310
+ this.visibleDetails = () => this.details().map((d) => typeof d === "string" ? {
24311
+ text: d,
24312
+ d: null,
24313
+ tone: "default"
24314
+ } : d ? {
24315
+ text: d.text,
24316
+ d: d.icon ? iconPath(d.icon) ?? null : null,
24317
+ tone: d.tone ?? "default"
24318
+ } : null).filter((d) => !!d && !!d.text);
23966
24319
  }
23967
24320
  get _borderedClass() {
23968
24321
  return this.bordered();
@@ -24075,29 +24428,60 @@ var ListItemComponent = class ListItemComponent {
24075
24428
  isSignal: true,
24076
24429
  isRequired: false,
24077
24430
  transformFunction: null
24431
+ },
24432
+ icon: {
24433
+ classPropertyName: "icon",
24434
+ publicName: "icon",
24435
+ isSignal: true,
24436
+ isRequired: false,
24437
+ transformFunction: null
24438
+ },
24439
+ iconColor: {
24440
+ classPropertyName: "iconColor",
24441
+ publicName: "iconColor",
24442
+ isSignal: true,
24443
+ isRequired: false,
24444
+ transformFunction: null
24078
24445
  }
24079
24446
  },
24080
24447
  outputs: { select: "select" },
24081
24448
  host: { properties: { "class.li-bordered": "this._borderedClass" } },
24082
24449
  ngImport: i0,
24083
24450
  template: `
24451
+ <ng-template #tile>
24452
+ @if (iconD(); as d) {
24453
+ <span class="li-icon" [class]="'li-icon li-icon--' + iconColor()" aria-hidden="true">
24454
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" focusable="false"><path [attr.d]="d" /></svg>
24455
+ </span>
24456
+ }
24457
+ </ng-template>
24458
+ <ng-template #content>
24459
+ <div class="li-title-row">
24460
+ <span class="li-title">{{ title() }}</span>
24461
+ @if (badge() && (checked() || alwaysShowBadge())) {
24462
+ <ui-badge [label]="badge()!" [variant]="badgeVariant()" />
24463
+ }
24464
+ </div>
24465
+ @if (visibleDetails().length) {
24466
+ <div class="li-details">
24467
+ @for (detail of visibleDetails(); track $index) {
24468
+ <span class="li-detail" [class.li-detail--warning]="detail.tone === 'warning'" [class.li-detail--danger]="detail.tone === 'danger'">
24469
+ @if (detail.d) {
24470
+ <svg class="li-detail-icon" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path [attr.d]="detail.d" /></svg>
24471
+ }
24472
+ <span class="li-detail-text">{{ detail.text }}</span>
24473
+ </span>
24474
+ }
24475
+ </div>
24476
+ }
24477
+ </ng-template>
24478
+
24084
24479
  <div class="li-row" [class.li-row--highlighted]="highlighted()" [class.li-row--static]="!interactive()" [class.li-row--wrap]="wrapText() || !interactive()">
24085
24480
 
24086
24481
  @if (!interactive()) {
24482
+ <ng-container [ngTemplateOutlet]="tile" />
24087
24483
  <div class="li-body li-body--static">
24088
- <div class="li-title-row">
24089
- <span class="li-title">{{ title() }}</span>
24090
- @if (badge() && (checked() || alwaysShowBadge())) {
24091
- <ui-badge [label]="badge()!" [variant]="badgeVariant()" />
24092
- }
24093
- </div>
24094
- @if (visibleDetails().length) {
24095
- <div class="li-details">
24096
- @for (detail of visibleDetails(); track $index) {
24097
- <span>{{ detail }}</span>
24098
- }
24099
- </div>
24100
- }
24484
+ <ng-container [ngTemplateOutlet]="content" />
24101
24485
  </div>
24102
24486
  } @else {
24103
24487
  @if (leading() === 'radio') {
@@ -24119,20 +24503,9 @@ var ListItemComponent = class ListItemComponent {
24119
24503
  />
24120
24504
  }
24121
24505
 
24506
+ <ng-container [ngTemplateOutlet]="tile" />
24122
24507
  <label class="li-body" [attr.for]="inputId() || null">
24123
- <div class="li-title-row">
24124
- <span class="li-title">{{ title() }}</span>
24125
- @if (badge() && (checked() || alwaysShowBadge())) {
24126
- <ui-badge [label]="badge()!" [variant]="badgeVariant()" />
24127
- }
24128
- </div>
24129
- @if (visibleDetails().length) {
24130
- <div class="li-details">
24131
- @for (detail of visibleDetails(); track $index) {
24132
- <span>{{ detail }}</span>
24133
- }
24134
- </div>
24135
- }
24508
+ <ng-container [ngTemplateOutlet]="content" />
24136
24509
  </label>
24137
24510
  }
24138
24511
 
@@ -24141,12 +24514,21 @@ var ListItemComponent = class ListItemComponent {
24141
24514
  </div>
24142
24515
  `,
24143
24516
  isInline: true,
24144
- styles: [":host{display:block}:host(.li-bordered){border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden;margin-bottom:6px}:host(.li-bordered):last-child{margin-bottom:0}.li-row{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border, #e2e8f0);transition:background .12s}.li-row:last-child{border-bottom:none}:host(.li-bordered) .li-row{border-bottom:none}.li-row:hover{background:var(--surface-hover, #f8fafc)}.li-row.li-row--highlighted{background:#f0fdf4}.li-row.li-row--highlighted:hover{background:#dcfce7}.li-row.li-row--static:hover{background:transparent}.li-row.li-row--static.li-row--highlighted,.li-row.li-row--static.li-row--highlighted:hover{background:#f0fdf4}.li-body.li-body--static{cursor:default}.li-row ::ng-deep [list-item-action],.li-row ::ng-deep [li-action]{flex-shrink:0;align-self:center}.li-input{margin-top:3px;flex-shrink:0;accent-color:#16a34a;width:1rem;height:1rem;cursor:pointer}.li-body{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:3px}.li-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.li-title{font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}.li-row--wrap .li-title{min-width:0;word-break:break-word;overflow-wrap:anywhere}.li-details{display:flex;flex-wrap:wrap;gap:6px;font-size:.775rem;color:var(--text-secondary, #64748b)}.li-row--wrap .li-details span{min-width:0;word-break:break-word;overflow-wrap:anywhere}\n"],
24517
+ styles: [":host{display:block}:host(.li-bordered){border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden;background:var(--surface, #fff);margin-bottom:8px}:host(.li-bordered):last-child{margin-bottom:0}.li-row{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);transition:background .12s}.li-row:last-child{border-bottom:none}:host(.li-bordered) .li-row{border-bottom:none}.li-row:hover{background:var(--surface-hover, #f8fafc)}.li-row.li-row--highlighted{background:#f0fdf4}.li-row.li-row--highlighted:hover{background:#dcfce7}.li-row.li-row--static:hover{background:transparent}.li-row.li-row--static.li-row--highlighted,.li-row.li-row--static.li-row--highlighted:hover{background:#f0fdf4}.li-body.li-body--static{cursor:default}.li-row ::ng-deep [list-item-action],.li-row ::ng-deep [li-action]{flex-shrink:0;align-self:center}.li-input{margin-top:3px;flex-shrink:0;accent-color:#16a34a;width:1rem;height:1rem;cursor:pointer}.li-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px}.li-icon--slate{background:#f1f5f9;color:#475569}.li-icon--amber{background:#fef3c7;color:#b45309}.li-icon--orange{background:#ffedd5;color:#c2410c}.li-icon--red{background:#fee2e2;color:#b91c1c}.li-icon--blue{background:#dbeafe;color:#1d4ed8}.li-icon--green{background:#dcfce7;color:#15803d}.li-icon--purple{background:#f3e8ff;color:#7e22ce}.li-icon--teal{background:#ccfbf1;color:#0f766e}.li-body{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:4px}.li-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.li-title{font-size:.9375rem;font-weight:600;line-height:1.35;color:var(--text-primary, #0f172a)}.li-row--wrap .li-title{min-width:0;word-break:break-word;overflow-wrap:anywhere}.li-details{display:flex;flex-direction:column;gap:2px;font-size:.8125rem;line-height:1.4;color:var(--text-secondary, #64748b)}.li-detail{display:flex;align-items:center;gap:6px;min-width:0}.li-detail-icon{flex:0 0 auto;color:#94a3b8}.li-detail--warning,.li-detail--warning .li-detail-icon{color:#b45309}.li-detail--danger,.li-detail--danger .li-detail-icon{color:#b91c1c}.li-row--wrap .li-detail-text{min-width:0;word-break:break-word;overflow-wrap:anywhere}\n"],
24145
24518
  dependencies: [{
24146
24519
  kind: "component",
24147
24520
  type: BadgeComponent,
24148
24521
  selector: "ui-badge",
24149
24522
  inputs: ["label", "variant"]
24523
+ }, {
24524
+ kind: "directive",
24525
+ type: NgTemplateOutlet,
24526
+ selector: "[ngTemplateOutlet]",
24527
+ inputs: [
24528
+ "ngTemplateOutletContext",
24529
+ "ngTemplateOutlet",
24530
+ "ngTemplateOutletInjector"
24531
+ ]
24150
24532
  }],
24151
24533
  changeDetection: i0.ChangeDetectionStrategy.OnPush
24152
24534
  });
@@ -24163,25 +24545,42 @@ i0.ɵɵngDeclareClassMetadata({
24163
24545
  selector: "ui-list-item",
24164
24546
  standalone: true,
24165
24547
  changeDetection: ChangeDetectionStrategy.OnPush,
24166
- imports: [BadgeComponent],
24548
+ imports: [BadgeComponent, NgTemplateOutlet],
24167
24549
  template: `
24550
+ <ng-template #tile>
24551
+ @if (iconD(); as d) {
24552
+ <span class="li-icon" [class]="'li-icon li-icon--' + iconColor()" aria-hidden="true">
24553
+ <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" focusable="false"><path [attr.d]="d" /></svg>
24554
+ </span>
24555
+ }
24556
+ </ng-template>
24557
+ <ng-template #content>
24558
+ <div class="li-title-row">
24559
+ <span class="li-title">{{ title() }}</span>
24560
+ @if (badge() && (checked() || alwaysShowBadge())) {
24561
+ <ui-badge [label]="badge()!" [variant]="badgeVariant()" />
24562
+ }
24563
+ </div>
24564
+ @if (visibleDetails().length) {
24565
+ <div class="li-details">
24566
+ @for (detail of visibleDetails(); track $index) {
24567
+ <span class="li-detail" [class.li-detail--warning]="detail.tone === 'warning'" [class.li-detail--danger]="detail.tone === 'danger'">
24568
+ @if (detail.d) {
24569
+ <svg class="li-detail-icon" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path [attr.d]="detail.d" /></svg>
24570
+ }
24571
+ <span class="li-detail-text">{{ detail.text }}</span>
24572
+ </span>
24573
+ }
24574
+ </div>
24575
+ }
24576
+ </ng-template>
24577
+
24168
24578
  <div class="li-row" [class.li-row--highlighted]="highlighted()" [class.li-row--static]="!interactive()" [class.li-row--wrap]="wrapText() || !interactive()">
24169
24579
 
24170
24580
  @if (!interactive()) {
24581
+ <ng-container [ngTemplateOutlet]="tile" />
24171
24582
  <div class="li-body li-body--static">
24172
- <div class="li-title-row">
24173
- <span class="li-title">{{ title() }}</span>
24174
- @if (badge() && (checked() || alwaysShowBadge())) {
24175
- <ui-badge [label]="badge()!" [variant]="badgeVariant()" />
24176
- }
24177
- </div>
24178
- @if (visibleDetails().length) {
24179
- <div class="li-details">
24180
- @for (detail of visibleDetails(); track $index) {
24181
- <span>{{ detail }}</span>
24182
- }
24183
- </div>
24184
- }
24583
+ <ng-container [ngTemplateOutlet]="content" />
24185
24584
  </div>
24186
24585
  } @else {
24187
24586
  @if (leading() === 'radio') {
@@ -24203,20 +24602,9 @@ i0.ɵɵngDeclareClassMetadata({
24203
24602
  />
24204
24603
  }
24205
24604
 
24605
+ <ng-container [ngTemplateOutlet]="tile" />
24206
24606
  <label class="li-body" [attr.for]="inputId() || null">
24207
- <div class="li-title-row">
24208
- <span class="li-title">{{ title() }}</span>
24209
- @if (badge() && (checked() || alwaysShowBadge())) {
24210
- <ui-badge [label]="badge()!" [variant]="badgeVariant()" />
24211
- }
24212
- </div>
24213
- @if (visibleDetails().length) {
24214
- <div class="li-details">
24215
- @for (detail of visibleDetails(); track $index) {
24216
- <span>{{ detail }}</span>
24217
- }
24218
- </div>
24219
- }
24607
+ <ng-container [ngTemplateOutlet]="content" />
24220
24608
  </label>
24221
24609
  }
24222
24610
 
@@ -24224,7 +24612,7 @@ i0.ɵɵngDeclareClassMetadata({
24224
24612
 
24225
24613
  </div>
24226
24614
  `,
24227
- styles: [":host{display:block}:host(.li-bordered){border:1px solid var(--border, #e2e8f0);border-radius:8px;overflow:hidden;margin-bottom:6px}:host(.li-bordered):last-child{margin-bottom:0}.li-row{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border, #e2e8f0);transition:background .12s}.li-row:last-child{border-bottom:none}:host(.li-bordered) .li-row{border-bottom:none}.li-row:hover{background:var(--surface-hover, #f8fafc)}.li-row.li-row--highlighted{background:#f0fdf4}.li-row.li-row--highlighted:hover{background:#dcfce7}.li-row.li-row--static:hover{background:transparent}.li-row.li-row--static.li-row--highlighted,.li-row.li-row--static.li-row--highlighted:hover{background:#f0fdf4}.li-body.li-body--static{cursor:default}.li-row ::ng-deep [list-item-action],.li-row ::ng-deep [li-action]{flex-shrink:0;align-self:center}.li-input{margin-top:3px;flex-shrink:0;accent-color:#16a34a;width:1rem;height:1rem;cursor:pointer}.li-body{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:3px}.li-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.li-title{font-size:.875rem;font-weight:500;color:var(--text-primary, #1e293b)}.li-row--wrap .li-title{min-width:0;word-break:break-word;overflow-wrap:anywhere}.li-details{display:flex;flex-wrap:wrap;gap:6px;font-size:.775rem;color:var(--text-secondary, #64748b)}.li-row--wrap .li-details span{min-width:0;word-break:break-word;overflow-wrap:anywhere}\n"]
24615
+ styles: [":host{display:block}:host(.li-bordered){border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden;background:var(--surface, #fff);margin-bottom:8px}:host(.li-bordered):last-child{margin-bottom:0}.li-row{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border, #e2e8f0);transition:background .12s}.li-row:last-child{border-bottom:none}:host(.li-bordered) .li-row{border-bottom:none}.li-row:hover{background:var(--surface-hover, #f8fafc)}.li-row.li-row--highlighted{background:#f0fdf4}.li-row.li-row--highlighted:hover{background:#dcfce7}.li-row.li-row--static:hover{background:transparent}.li-row.li-row--static.li-row--highlighted,.li-row.li-row--static.li-row--highlighted:hover{background:#f0fdf4}.li-body.li-body--static{cursor:default}.li-row ::ng-deep [list-item-action],.li-row ::ng-deep [li-action]{flex-shrink:0;align-self:center}.li-input{margin-top:3px;flex-shrink:0;accent-color:#16a34a;width:1rem;height:1rem;cursor:pointer}.li-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px}.li-icon--slate{background:#f1f5f9;color:#475569}.li-icon--amber{background:#fef3c7;color:#b45309}.li-icon--orange{background:#ffedd5;color:#c2410c}.li-icon--red{background:#fee2e2;color:#b91c1c}.li-icon--blue{background:#dbeafe;color:#1d4ed8}.li-icon--green{background:#dcfce7;color:#15803d}.li-icon--purple{background:#f3e8ff;color:#7e22ce}.li-icon--teal{background:#ccfbf1;color:#0f766e}.li-body{flex:1;min-width:0;cursor:pointer;display:flex;flex-direction:column;gap:4px}.li-title-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.li-title{font-size:.9375rem;font-weight:600;line-height:1.35;color:var(--text-primary, #0f172a)}.li-row--wrap .li-title{min-width:0;word-break:break-word;overflow-wrap:anywhere}.li-details{display:flex;flex-direction:column;gap:2px;font-size:.8125rem;line-height:1.4;color:var(--text-secondary, #64748b)}.li-detail{display:flex;align-items:center;gap:6px;min-width:0}.li-detail-icon{flex:0 0 auto;color:#94a3b8}.li-detail--warning,.li-detail--warning .li-detail-icon{color:#b45309}.li-detail--danger,.li-detail--danger .li-detail-icon{color:#b91c1c}.li-row--wrap .li-detail-text{min-width:0;word-break:break-word;overflow-wrap:anywhere}\n"]
24228
24616
  }]
24229
24617
  }],
24230
24618
  propDecorators: {
@@ -24336,6 +24724,22 @@ i0.ɵɵngDeclareClassMetadata({
24336
24724
  required: false
24337
24725
  }]
24338
24726
  }],
24727
+ icon: [{
24728
+ type: i0.Input,
24729
+ args: [{
24730
+ isSignal: true,
24731
+ alias: "icon",
24732
+ required: false
24733
+ }]
24734
+ }],
24735
+ iconColor: [{
24736
+ type: i0.Input,
24737
+ args: [{
24738
+ isSignal: true,
24739
+ alias: "iconColor",
24740
+ required: false
24741
+ }]
24742
+ }],
24339
24743
  select: [{
24340
24744
  type: i0.Output,
24341
24745
  args: ["select"]
@@ -24416,6 +24820,8 @@ var ListComponent = class ListComponent {
24416
24820
  this.moveLaterLabel = input(void 0, ...ngDevMode ? [{ debugName: "moveLaterLabel" }] : /* istanbul ignore next */ []);
24417
24821
  this.helpText = input("Hold Shift and press the arrow keys to move this item. Shift plus Home or End moves it to the start or end.", ...ngDevMode ? [{ debugName: "helpText" }] : /* istanbul ignore next */ []);
24418
24822
  this.moveAnnouncement = input((label, position, total) => `${label} moved to position ${position} of ${total}`, ...ngDevMode ? [{ debugName: "moveAnnouncement" }] : /* istanbul ignore next */ []);
24823
+ this.navigable = input(false, ...ngDevMode ? [{ debugName: "navigable" }] : /* istanbul ignore next */ []);
24824
+ this.itemClick = output();
24419
24825
  this.itemsChange = output();
24420
24826
  this.reorder = output();
24421
24827
  this.rowTemplate = contentChild(TemplateRef, ...ngDevMode ? [{ debugName: "rowTemplate" }] : /* istanbul ignore next */ []);
@@ -24501,7 +24907,18 @@ var ListComponent = class ListComponent {
24501
24907
  move(from, to) {
24502
24908
  return this.apply(from, to, null);
24503
24909
  }
24910
+ emitItemClick(e) {
24911
+ const target = e.target;
24912
+ if (!target || target.closest("button, a, input, select, textarea, [data-move]")) return;
24913
+ const idx = this.rowIndexOf(target, e.currentTarget);
24914
+ const row = this.rows()[idx];
24915
+ if (row) this.itemClick.emit(row.item);
24916
+ }
24504
24917
  onKeydown(e) {
24918
+ if (this.navigable() && e.key === "Enter" && e.target?.classList.contains("ul-item")) {
24919
+ this.emitItemClick(e);
24920
+ return;
24921
+ }
24505
24922
  if (!this.canReorder() || e.ctrlKey || e.metaKey) return;
24506
24923
  const list = e.currentTarget;
24507
24924
  const target = e.target;
@@ -24541,6 +24958,7 @@ var ListComponent = class ListComponent {
24541
24958
  }
24542
24959
  }
24543
24960
  onClick(e) {
24961
+ if (this.navigable()) this.emitItemClick(e);
24544
24962
  if (!this.canReorder()) return;
24545
24963
  const btn = e.target?.closest("[data-move]") ?? null;
24546
24964
  if (!btn) return;
@@ -24785,9 +25203,17 @@ var ListComponent = class ListComponent {
24785
25203
  isSignal: true,
24786
25204
  isRequired: false,
24787
25205
  transformFunction: null
25206
+ },
25207
+ navigable: {
25208
+ classPropertyName: "navigable",
25209
+ publicName: "navigable",
25210
+ isSignal: true,
25211
+ isRequired: false,
25212
+ transformFunction: null
24788
25213
  }
24789
25214
  },
24790
25215
  outputs: {
25216
+ itemClick: "itemClick",
24791
25217
  itemsChange: "itemsChange",
24792
25218
  reorder: "reorder"
24793
25219
  },
@@ -24807,9 +25233,10 @@ var ListComponent = class ListComponent {
24807
25233
  [class.ul-item--draggable]="direct()"
24808
25234
  [class.ul-item--dragging]="row.dragging"
24809
25235
  [class.ul-item--over]="dragIndex() !== null && dragIndex() !== row.index && overIndex() === row.index"
25236
+ [class.ul-item--nav]="navigable()"
24810
25237
  [attr.data-index]="row.index"
24811
25238
  [attr.draggable]="direct() ? 'true' : null"
24812
- [attr.tabindex]="direct() ? 0 : null"
25239
+ [attr.tabindex]="direct() || navigable() ? 0 : null"
24813
25240
  [attr.aria-roledescription]="direct() ? 'sortable item' : null"
24814
25241
  [attr.aria-label]="direct() ? row.label : null"
24815
25242
  [attr.aria-describedby]="direct() ? helpId : null">
@@ -24821,6 +25248,9 @@ var ListComponent = class ListComponent {
24821
25248
  {{ row.label }}
24822
25249
  }
24823
25250
  </div>
25251
+ @if (navigable()) {
25252
+ <svg class="ul-chevron" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M9 18l6-6-6-6"/></svg>
25253
+ }
24824
25254
  @if (showControls()) {
24825
25255
  <div class="ul-controls">
24826
25256
  <ui-button variant="icon" data-move="up" [ariaLabel]="row.earlierLabel" [disabled]="disabled() || row.first">
@@ -24866,7 +25296,7 @@ var ListComponent = class ListComponent {
24866
25296
  }
24867
25297
  `,
24868
25298
  isInline: true,
24869
- styles: [":host{display:block;min-width:0}.ul-list{margin:0;padding:0;min-width:0}.ul-list--unordered{list-style:none}.ul-list--ordered{list-style:decimal;-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.ul-list--ordered>.ul-item::marker{color:var(--text-secondary, #64748b);font-size:.875rem}.ul-item{min-width:0;transition:background-color .4s ease}.ul-item.ul-item--moved{background-color:var(--surface-hover, #f1f5f9)}.ul-list:not(.ul-list--grid)>.ul-item+.ul-item{margin-top:var(--ul-gap, 0px)}.ul-row{display:flex;align-items:center;gap:8px;min-width:0}.ul-content{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}.ul-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px}.ul-list.ul-list--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--ul-min, 130px),100%),1fr));gap:var(--ul-gap, 12px);list-style:none;-webkit-padding-start:0;padding-inline-start:0}.ul-list--grid>.ul-item>.ul-row{flex-direction:column;align-items:stretch;gap:6px}.ul-list--grid>.ul-item>.ul-row>.ul-controls{align-self:center}@media(pointer:coarse),(max-width:480px){.ul-controls{gap:16px}}.ul-item--draggable{-webkit-user-select:none;user-select:none;-webkit-user-drag:element}@media(hover:hover)and (pointer:fine){.ul-item--draggable{cursor:grab}.ul-item--draggable:active{cursor:grabbing}}.ul-item--draggable:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}.ul-item--draggable:focus:not(:focus-visible){outline:none}:host ::ng-deep .ul-item--draggable img,:host ::ng-deep .ul-item--draggable ui-image-preview{pointer-events:none;-webkit-user-drag:none}.ul-item--dragging{opacity:.5}.ul-item--over{outline:2px dashed #3b82f6;outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){.ul-item{transition:none}}@media(forced-colors:active){.ul-item.ul-item--moved{outline:2px solid Highlight;outline-offset:-2px}}@media(forced-colors:active){.ul-item.ul-item--dragging{outline:2px dotted Highlight;outline-offset:2px}.ul-item.ul-item--over{outline:2px dashed Highlight;outline-offset:2px}.ul-item--draggable:focus{outline:2px solid Highlight;outline-offset:2px}}.ul-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"],
25299
+ styles: [":host{display:block;min-width:0}.ul-list{margin:0;padding:0;min-width:0}.ul-list--unordered{list-style:none}.ul-list--ordered{list-style:decimal;-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.ul-list--ordered>.ul-item::marker{color:var(--text-secondary, #64748b);font-size:.875rem}.ul-item{min-width:0;transition:background-color .4s ease}.ul-item.ul-item--moved{background-color:var(--surface-hover, #f1f5f9)}.ul-list:not(.ul-list--grid)>.ul-item+.ul-item{margin-top:var(--ul-gap, 0px)}.ul-row{display:flex;align-items:center;gap:8px;min-width:0}.ul-content{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}.ul-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px}.ul-item--nav{cursor:pointer;border-radius:10px}.ul-item--nav:hover .ul-chevron{color:#0f172a;transform:translate(2px)}.ul-item--nav:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.ul-chevron{flex:0 0 auto;color:#94a3b8;transition:color .15s ease,transform .15s ease}@media(prefers-reduced-motion:reduce){.ul-chevron{transition:none}}.ul-list.ul-list--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--ul-min, 130px),100%),1fr));gap:var(--ul-gap, 12px);list-style:none;-webkit-padding-start:0;padding-inline-start:0}.ul-list--grid>.ul-item>.ul-row{flex-direction:column;align-items:stretch;gap:6px}.ul-list--grid>.ul-item>.ul-row>.ul-controls{align-self:center}@media(pointer:coarse),(max-width:480px){.ul-controls{gap:16px}}.ul-item--draggable{-webkit-user-select:none;user-select:none;-webkit-user-drag:element}@media(hover:hover)and (pointer:fine){.ul-item--draggable{cursor:grab}.ul-item--draggable:active{cursor:grabbing}}.ul-item--draggable:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}.ul-item--draggable:focus:not(:focus-visible){outline:none}:host ::ng-deep .ul-item--draggable img,:host ::ng-deep .ul-item--draggable ui-image-preview{pointer-events:none;-webkit-user-drag:none}.ul-item--dragging{opacity:.5}.ul-item--over{outline:2px dashed #3b82f6;outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){.ul-item{transition:none}}@media(forced-colors:active){.ul-item.ul-item--moved{outline:2px solid Highlight;outline-offset:-2px}}@media(forced-colors:active){.ul-item.ul-item--dragging{outline:2px dotted Highlight;outline-offset:2px}.ul-item.ul-item--over{outline:2px dashed Highlight;outline-offset:2px}.ul-item--draggable:focus{outline:2px solid Highlight;outline-offset:2px}}.ul-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"],
24870
25300
  dependencies: [{
24871
25301
  kind: "directive",
24872
25302
  type: NgTemplateOutlet,
@@ -24930,9 +25360,10 @@ i0.ɵɵngDeclareClassMetadata({
24930
25360
  [class.ul-item--draggable]="direct()"
24931
25361
  [class.ul-item--dragging]="row.dragging"
24932
25362
  [class.ul-item--over]="dragIndex() !== null && dragIndex() !== row.index && overIndex() === row.index"
25363
+ [class.ul-item--nav]="navigable()"
24933
25364
  [attr.data-index]="row.index"
24934
25365
  [attr.draggable]="direct() ? 'true' : null"
24935
- [attr.tabindex]="direct() ? 0 : null"
25366
+ [attr.tabindex]="direct() || navigable() ? 0 : null"
24936
25367
  [attr.aria-roledescription]="direct() ? 'sortable item' : null"
24937
25368
  [attr.aria-label]="direct() ? row.label : null"
24938
25369
  [attr.aria-describedby]="direct() ? helpId : null">
@@ -24944,6 +25375,9 @@ i0.ɵɵngDeclareClassMetadata({
24944
25375
  {{ row.label }}
24945
25376
  }
24946
25377
  </div>
25378
+ @if (navigable()) {
25379
+ <svg class="ul-chevron" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"><path d="M9 18l6-6-6-6"/></svg>
25380
+ }
24947
25381
  @if (showControls()) {
24948
25382
  <div class="ul-controls">
24949
25383
  <ui-button variant="icon" data-move="up" [ariaLabel]="row.earlierLabel" [disabled]="disabled() || row.first">
@@ -24988,7 +25422,7 @@ i0.ɵɵngDeclareClassMetadata({
24988
25422
  <div class="ul-sr" role="status" aria-live="polite" aria-atomic="true">{{ announcement() }}</div>
24989
25423
  }
24990
25424
  `,
24991
- styles: [":host{display:block;min-width:0}.ul-list{margin:0;padding:0;min-width:0}.ul-list--unordered{list-style:none}.ul-list--ordered{list-style:decimal;-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.ul-list--ordered>.ul-item::marker{color:var(--text-secondary, #64748b);font-size:.875rem}.ul-item{min-width:0;transition:background-color .4s ease}.ul-item.ul-item--moved{background-color:var(--surface-hover, #f1f5f9)}.ul-list:not(.ul-list--grid)>.ul-item+.ul-item{margin-top:var(--ul-gap, 0px)}.ul-row{display:flex;align-items:center;gap:8px;min-width:0}.ul-content{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}.ul-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px}.ul-list.ul-list--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--ul-min, 130px),100%),1fr));gap:var(--ul-gap, 12px);list-style:none;-webkit-padding-start:0;padding-inline-start:0}.ul-list--grid>.ul-item>.ul-row{flex-direction:column;align-items:stretch;gap:6px}.ul-list--grid>.ul-item>.ul-row>.ul-controls{align-self:center}@media(pointer:coarse),(max-width:480px){.ul-controls{gap:16px}}.ul-item--draggable{-webkit-user-select:none;user-select:none;-webkit-user-drag:element}@media(hover:hover)and (pointer:fine){.ul-item--draggable{cursor:grab}.ul-item--draggable:active{cursor:grabbing}}.ul-item--draggable:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}.ul-item--draggable:focus:not(:focus-visible){outline:none}:host ::ng-deep .ul-item--draggable img,:host ::ng-deep .ul-item--draggable ui-image-preview{pointer-events:none;-webkit-user-drag:none}.ul-item--dragging{opacity:.5}.ul-item--over{outline:2px dashed #3b82f6;outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){.ul-item{transition:none}}@media(forced-colors:active){.ul-item.ul-item--moved{outline:2px solid Highlight;outline-offset:-2px}}@media(forced-colors:active){.ul-item.ul-item--dragging{outline:2px dotted Highlight;outline-offset:2px}.ul-item.ul-item--over{outline:2px dashed Highlight;outline-offset:2px}.ul-item--draggable:focus{outline:2px solid Highlight;outline-offset:2px}}.ul-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"]
25425
+ styles: [":host{display:block;min-width:0}.ul-list{margin:0;padding:0;min-width:0}.ul-list--unordered{list-style:none}.ul-list--ordered{list-style:decimal;-webkit-padding-start:1.75rem;padding-inline-start:1.75rem}.ul-list--ordered>.ul-item::marker{color:var(--text-secondary, #64748b);font-size:.875rem}.ul-item{min-width:0;transition:background-color .4s ease}.ul-item.ul-item--moved{background-color:var(--surface-hover, #f1f5f9)}.ul-list:not(.ul-list--grid)>.ul-item+.ul-item{margin-top:var(--ul-gap, 0px)}.ul-row{display:flex;align-items:center;gap:8px;min-width:0}.ul-content{flex:1 1 auto;min-width:0;word-break:break-word;overflow-wrap:anywhere}.ul-controls{display:flex;flex:0 0 auto;align-items:center;gap:2px}.ul-item--nav{cursor:pointer;border-radius:10px}.ul-item--nav:hover .ul-chevron{color:#0f172a;transform:translate(2px)}.ul-item--nav:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.ul-chevron{flex:0 0 auto;color:#94a3b8;transition:color .15s ease,transform .15s ease}@media(prefers-reduced-motion:reduce){.ul-chevron{transition:none}}.ul-list.ul-list--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(var(--ul-min, 130px),100%),1fr));gap:var(--ul-gap, 12px);list-style:none;-webkit-padding-start:0;padding-inline-start:0}.ul-list--grid>.ul-item>.ul-row{flex-direction:column;align-items:stretch;gap:6px}.ul-list--grid>.ul-item>.ul-row>.ul-controls{align-self:center}@media(pointer:coarse),(max-width:480px){.ul-controls{gap:16px}}.ul-item--draggable{-webkit-user-select:none;user-select:none;-webkit-user-drag:element}@media(hover:hover)and (pointer:fine){.ul-item--draggable{cursor:grab}.ul-item--draggable:active{cursor:grabbing}}.ul-item--draggable:focus{outline:2px solid #3b82f6;outline-offset:2px;border-radius:6px}.ul-item--draggable:focus:not(:focus-visible){outline:none}:host ::ng-deep .ul-item--draggable img,:host ::ng-deep .ul-item--draggable ui-image-preview{pointer-events:none;-webkit-user-drag:none}.ul-item--dragging{opacity:.5}.ul-item--over{outline:2px dashed #3b82f6;outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){.ul-item{transition:none}}@media(forced-colors:active){.ul-item.ul-item--moved{outline:2px solid Highlight;outline-offset:-2px}}@media(forced-colors:active){.ul-item.ul-item--dragging{outline:2px dotted Highlight;outline-offset:2px}.ul-item.ul-item--over{outline:2px dashed Highlight;outline-offset:2px}.ul-item--draggable:focus{outline:2px solid Highlight;outline-offset:2px}}.ul-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n"]
24992
25426
  }]
24993
25427
  }],
24994
25428
  propDecorators: {
@@ -25128,6 +25562,18 @@ i0.ɵɵngDeclareClassMetadata({
25128
25562
  required: false
25129
25563
  }]
25130
25564
  }],
25565
+ navigable: [{
25566
+ type: i0.Input,
25567
+ args: [{
25568
+ isSignal: true,
25569
+ alias: "navigable",
25570
+ required: false
25571
+ }]
25572
+ }],
25573
+ itemClick: [{
25574
+ type: i0.Output,
25575
+ args: ["itemClick"]
25576
+ }],
25131
25577
  itemsChange: [{
25132
25578
  type: i0.Output,
25133
25579
  args: ["itemsChange"]
@@ -27457,7 +27903,7 @@ var AppShellComponent = class AppShellComponent {
27457
27903
  <ui-confirm-outlet />
27458
27904
  `,
27459
27905
  isInline: true,
27460
- styles: [":host{display:contents}.shell{display:flex;height:100vh;height:100dvh;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000080;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:199}.sidebar{width:256px;background:var(--shell-bg, linear-gradient(175deg, #0f172a 0%, #111827 100%));display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.sidebar-header{display:flex;align-items:center;padding:0 20px;min-height:64px;border-bottom:1px solid color-mix(in srgb,var(--shell-text, #fff) 6%,transparent);box-sizing:border-box}.brand-default{display:flex;align-items:center;gap:10px}.brand-text{font-size:1.125rem;font-weight:700;color:var(--shell-text, #fff);letter-spacing:-.01em}.sidebar-nav{padding:6px 0 8px;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--shell-text, #fff) 8%,transparent) transparent}.sidebar-nav::-webkit-scrollbar{width:3px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--shell-text, #fff) 8%,transparent);border-radius:2px}.nav-group{margin-bottom:6px}.nav-group-label{display:flex;align-items:center;gap:6px;width:100%;padding:8px 16px;font-size:.6875rem;font-weight:700;color:color-mix(in srgb,var(--shell-text, #fff) 80%,transparent);text-transform:uppercase;letter-spacing:.12em;background:none;border:none;cursor:pointer;transition:color .15s;text-align:left;border-radius:6px;background:color-mix(in srgb,var(--shell-text, #fff) 10%,transparent);margin:6px 4px 4px;width:calc(100% - 8px);box-sizing:border-box}.nav-group-label:hover{color:color-mix(in srgb,var(--shell-text, #fff) 100%,transparent)}.nav-group-label:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:-1px}.chevron{flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1);opacity:.85}.chevron.collapsed{transform:rotate(-90deg)}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 32px;color:color-mix(in srgb,var(--shell-text, #fff) 95%,transparent);font-size:.9375rem;font-weight:500;text-decoration:none;border-left:2px solid transparent;border-radius:0 8px 8px 0;margin-right:10px;transition:color .15s,background .15s,border-color .15s}.sidebar-nav a:hover{color:color-mix(in srgb,var(--shell-text, #fff) 100%,transparent);background:color-mix(in srgb,var(--shell-text, #fff) 6%,transparent)}.sidebar-nav a.active{color:var(--shell-text, #fff);background:#60a5fa21;border-left-color:#60a5fa;font-weight:600}.sidebar-nav a:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:-2px}.nav-icon{display:flex;align-items:center;flex-shrink:0}.nav-icon ::ng-deep svg{width:17px;height:17px;stroke:color-mix(in srgb,var(--shell-text, #fff) 90%,transparent);transition:stroke .15s;flex-shrink:0}.sidebar-nav a:hover .nav-icon ::ng-deep svg{stroke:color-mix(in srgb,var(--shell-text, #fff) 100%,transparent)}.sidebar-nav a.active .nav-icon ::ng-deep svg{stroke:#93c5fd}.nav-label{flex:1}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:.625rem;font-weight:700;margin-left:auto}.sidebar-footer{padding:10px 14px;border-top:1px solid color-mix(in srgb,var(--shell-text, #fff) 6%,transparent)}.user-info{display:flex;align-items:center;gap:10px}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#60a5fa38,#60a5fa14);border:1px solid rgba(96,165,250,.18);color:color-mix(in srgb,var(--shell-text, #fff) 88%,transparent);font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-details{display:flex;flex-direction:column;min-width:0;flex:1}.user-name{font-size:.8125rem;font-weight:600;color:var(--shell-text, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.6875rem;color:color-mix(in srgb,var(--shell-text, #fff) 80%,transparent);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.btn-logout{background:none;border:none;cursor:pointer;color:color-mix(in srgb,var(--shell-text, #fff) 85%,transparent);padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,background .15s}.btn-logout:hover{color:#f87171;background:#f871711a}.btn-logout:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:2px}.brand-full{display:flex;align-items:center;min-width:0;flex:1}.brand-mark{display:none}.shell.collapsed .brand-mark{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;color:var(--shell-text, #fff);background:color-mix(in srgb,var(--shell-text, #fff) 15%,transparent)}.rail-toggle{display:none;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;flex-shrink:0;border:none;background:none;cursor:pointer;border-radius:8px;color:color-mix(in srgb,var(--shell-text, #fff) 85%,transparent);transition:background .15s,color .15s}.rail-toggle:hover{background:color-mix(in srgb,var(--shell-text, #fff) 12%,transparent);color:var(--shell-text, #fff)}.rail-toggle:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:2px}.rail-divider{display:none}@media(min-width:1025px){.rail-toggle{display:flex}.sidebar{transition:width .2s cubic-bezier(.4,0,.2,1)}.shell.collapsed .sidebar{width:68px}.shell.collapsed .sidebar-header{flex-direction:column;justify-content:center;gap:4px;padding:8px 0}.shell.collapsed .brand-full{flex:none;width:44px;height:44px;overflow:hidden;border-radius:10px;justify-content:center}.shell.collapsed .brand-full ::ng-deep img,.shell.collapsed .brand-full ::ng-deep svg{width:44px;height:44px;max-width:none;object-fit:cover;object-position:50% 42%}.shell.collapsed .brand-text{display:none}.shell.collapsed .rail-toggle{margin-left:0}.shell.collapsed .nav-group-label{display:none}.shell.collapsed .rail-divider{display:block;height:1px;margin:8px 14px;background:color-mix(in srgb,var(--shell-text, #fff) 20%,transparent)}.shell.collapsed .nav-group:first-child .rail-divider{display:none}.shell.collapsed .sidebar-nav a{position:relative;justify-content:center;padding:10px 0;margin:0 8px 2px;border-left:none;border-radius:8px}.shell.collapsed .sidebar-nav a.active{box-shadow:inset 3px 0 #60a5fa}.shell.collapsed .nav-label{display:none}.shell.collapsed .nav-icon ::ng-deep svg{width:20px;height:20px}.shell.collapsed .nav-badge{position:absolute;top:2px;right:4px;min-width:16px;height:16px;padding:0 4px;font-size:.5625rem;margin:0}.shell.collapsed .sidebar-footer{padding:10px 8px}.shell.collapsed .user-info{flex-direction:column;gap:8px}.shell.collapsed .user-details{display:none}}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.top-header{display:flex;align-items:center;gap:8px;padding:0 24px;background:#fff;box-shadow:0 1px 3px #00000012,0 1px #0000000a;min-height:64px;box-sizing:border-box;position:relative;z-index:50}.hamburger{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;cursor:pointer;color:#374151;border-radius:8px;flex-shrink:0;transition:background .15s,color .15s}.hamburger:hover{background:#f3f4f6}.hamburger:focus-visible{outline:2px solid rgba(59,130,246,.5);outline-offset:2px}.page-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.page-title:focus{outline:none}.read-only-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 8px;border-radius:9999px;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:#fef9c3;color:#854d0e;border:1px solid #fde68a;white-space:nowrap}.header-end{display:flex;align-items:center;margin-left:auto}.content{flex:1;overflow-y:auto;padding:24px;background:#f7f8f6;display:flex;flex-direction:column;box-sizing:border-box;min-height:0}.content>*{flex:1;min-height:0;display:flex;flex-direction:column}@media(max-width:1024px){.hamburger{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:200;transform:translate(-100%);transition:transform .26s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 32px #0000004d}.shell.sidebar-open .sidebar{transform:translate(0)}.shell.sidebar-open .sidebar-backdrop{display:block}.main-area{width:100%}.top-header{padding:0 16px;gap:4px}.content{padding:16px}}@media(max-width:480px){.page-title{font-size:1.0625rem}.content{padding:12px}}@media(prefers-reduced-motion:reduce){.chevron,.sidebar-nav a,.sidebar,.nav-icon ::ng-deep svg{transition:none!important}}\n"],
27906
+ styles: [":host{display:contents}.shell{display:flex;height:100vh;height:100dvh;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000080;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:199}.sidebar{width:256px;background:var(--shell-bg, linear-gradient(175deg, #0f172a 0%, #111827 100%));display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.sidebar-header{display:flex;align-items:center;padding:0 20px;min-height:64px;border-bottom:1px solid color-mix(in srgb,var(--shell-text, #fff) 6%,transparent);box-sizing:border-box}.brand-default{display:flex;align-items:center;gap:10px}.brand-text{font-size:1.125rem;font-weight:700;color:var(--shell-text, #fff);letter-spacing:-.01em}.sidebar-nav{padding:6px 0 8px;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--shell-text, #fff) 8%,transparent) transparent}.sidebar-nav::-webkit-scrollbar{width:3px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--shell-text, #fff) 8%,transparent);border-radius:2px}.nav-group{margin-bottom:6px}.nav-group-label{display:flex;align-items:center;gap:6px;width:100%;padding:8px 16px;font-size:.6875rem;font-weight:700;color:color-mix(in srgb,var(--shell-text, #fff) 80%,transparent);text-transform:uppercase;letter-spacing:.12em;background:none;border:none;cursor:pointer;transition:color .15s;text-align:left;border-radius:6px;background:color-mix(in srgb,var(--shell-text, #fff) 10%,transparent);margin:6px 4px 4px;width:calc(100% - 8px);box-sizing:border-box}.nav-group-label:hover{color:color-mix(in srgb,var(--shell-text, #fff) 100%,transparent)}.nav-group-label:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:-1px}.chevron{flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1);opacity:.85}.chevron.collapsed{transform:rotate(-90deg)}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 32px;color:color-mix(in srgb,var(--shell-text, #fff) 95%,transparent);font-size:.9375rem;font-weight:500;text-decoration:none;border-left:2px solid transparent;border-radius:0 8px 8px 0;margin-right:10px;transition:color .15s,background .15s,border-color .15s}.sidebar-nav a:hover{color:color-mix(in srgb,var(--shell-text, #fff) 100%,transparent);background:color-mix(in srgb,var(--shell-text, #fff) 6%,transparent)}.sidebar-nav a.active{color:var(--shell-text, #fff);background:#60a5fa21;border-left-color:#60a5fa;font-weight:600}.sidebar-nav a:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:-2px}.nav-icon{display:flex;align-items:center;flex-shrink:0}.nav-icon ::ng-deep svg{width:17px;height:17px;stroke:color-mix(in srgb,var(--shell-text, #fff) 90%,transparent);transition:stroke .15s;flex-shrink:0}.sidebar-nav a:hover .nav-icon ::ng-deep svg{stroke:color-mix(in srgb,var(--shell-text, #fff) 100%,transparent)}.sidebar-nav a.active .nav-icon ::ng-deep svg{stroke:#93c5fd}.nav-label{flex:1}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:.625rem;font-weight:700;margin-left:auto}.sidebar-footer{padding:10px 14px;border-top:1px solid color-mix(in srgb,var(--shell-text, #fff) 6%,transparent)}.user-info{display:flex;align-items:center;gap:10px}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#60a5fa38,#60a5fa14);border:1px solid rgba(96,165,250,.18);color:color-mix(in srgb,var(--shell-text, #fff) 88%,transparent);font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-details{display:flex;flex-direction:column;min-width:0;flex:1}.user-name{font-size:.8125rem;font-weight:600;color:var(--shell-text, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.6875rem;color:color-mix(in srgb,var(--shell-text, #fff) 80%,transparent);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.btn-logout{background:none;border:none;cursor:pointer;color:color-mix(in srgb,var(--shell-text, #fff) 85%,transparent);padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,background .15s}.btn-logout:hover{color:#f87171;background:#f871711a}.btn-logout:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:2px}.brand-full{display:flex;align-items:center;min-width:0;flex:1}.brand-mark{display:none}.shell.collapsed .brand-mark{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;color:var(--shell-text, #fff);background:color-mix(in srgb,var(--shell-text, #fff) 15%,transparent)}.rail-toggle{display:none;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;flex-shrink:0;border:none;background:none;cursor:pointer;border-radius:8px;color:color-mix(in srgb,var(--shell-text, #fff) 85%,transparent);transition:background .15s,color .15s}.rail-toggle:hover{background:color-mix(in srgb,var(--shell-text, #fff) 12%,transparent);color:var(--shell-text, #fff)}.rail-toggle:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:2px}.rail-divider{display:none}@media(min-width:1025px){.rail-toggle{display:flex}.sidebar{transition:width .2s cubic-bezier(.4,0,.2,1)}.shell.collapsed .sidebar{width:68px}.shell.collapsed .sidebar-header{flex-direction:column;justify-content:center;gap:4px;padding:8px 0}.shell.collapsed .brand-full{flex:none;width:44px;height:44px;overflow:hidden;border-radius:10px;justify-content:center}.shell.collapsed .brand-full ::ng-deep img,.shell.collapsed .brand-full ::ng-deep svg{width:44px;height:44px;max-width:none;object-fit:cover;object-position:50% 42%}.shell.collapsed .brand-text{display:none}.shell.collapsed .rail-toggle{margin-left:0}.shell.collapsed .nav-group-label{display:none}.shell.collapsed .rail-divider{display:block;height:1px;margin:8px 14px;background:color-mix(in srgb,var(--shell-text, #fff) 20%,transparent)}.shell.collapsed .nav-group:first-child .rail-divider{display:none}.shell.collapsed .sidebar-nav a{position:relative;justify-content:center;padding:10px 0;margin:0 8px 2px;border-left:none;border-radius:8px}.shell.collapsed .sidebar-nav a.active{box-shadow:inset 3px 0 #60a5fa}.shell.collapsed .nav-label{display:none}.shell.collapsed .nav-icon ::ng-deep svg{width:20px;height:20px}.shell.collapsed .nav-badge{position:absolute;top:2px;right:4px;min-width:16px;height:16px;padding:0 4px;font-size:.5625rem;margin:0}.shell.collapsed .sidebar-footer{padding:10px 8px}.shell.collapsed .user-info{flex-direction:column;gap:8px}.shell.collapsed .user-details{display:none}}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.top-header{display:flex;align-items:center;gap:8px;padding:0 24px;background:#fff;box-shadow:0 1px 3px #00000012,0 1px #0000000a;min-height:64px;box-sizing:border-box;position:relative;z-index:50}.hamburger{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;cursor:pointer;color:#374151;border-radius:8px;flex-shrink:0;transition:background .15s,color .15s}.hamburger:hover{background:#f3f4f6}.hamburger:focus-visible{outline:2px solid rgba(59,130,246,.5);outline-offset:2px}.page-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.page-title:focus{outline:none}.read-only-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 8px;border-radius:9999px;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:#fef9c3;color:#854d0e;border:1px solid #fde68a;white-space:nowrap}.header-end{display:flex;align-items:center;margin-left:auto}.content{flex:1;overflow-y:auto;padding:24px;background:#f7f8f6;display:flex;flex-direction:column;box-sizing:border-box;min-height:0}.content>*{flex:1;min-height:0;display:flex;flex-direction:column}@media(max-width:1024px){.hamburger{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:200;transform:translate(-100%);transition:transform .26s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 32px #0000004d}.shell.sidebar-open .sidebar{transform:translate(0)}.shell.sidebar-open .sidebar-backdrop{display:block}.main-area{width:100%}.top-header{padding:0 16px;gap:4px}.content{padding:16px}}@media(max-width:480px){.page-title{font-size:1.0625rem}.content{padding:12px}}@media(pointer:coarse),(max-width:480px){.sidebar-nav a,.nav-group-label{min-height:44px}.btn-logout,.hamburger,.rail-toggle{min-width:44px;min-height:44px}}@media(prefers-reduced-motion:reduce){.chevron,.sidebar-nav a,.sidebar,.nav-icon ::ng-deep svg{transition:none!important}}\n"],
27461
27907
  dependencies: [
27462
27908
  {
27463
27909
  kind: "directive",
@@ -27708,7 +28154,7 @@ i0.ɵɵngDeclareClassMetadata({
27708
28154
  <!-- Global confirm overlay — position:fixed so it overlays without affecting layout -->
27709
28155
  <ui-confirm-outlet />
27710
28156
  `,
27711
- styles: [":host{display:contents}.shell{display:flex;height:100vh;height:100dvh;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000080;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:199}.sidebar{width:256px;background:var(--shell-bg, linear-gradient(175deg, #0f172a 0%, #111827 100%));display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.sidebar-header{display:flex;align-items:center;padding:0 20px;min-height:64px;border-bottom:1px solid color-mix(in srgb,var(--shell-text, #fff) 6%,transparent);box-sizing:border-box}.brand-default{display:flex;align-items:center;gap:10px}.brand-text{font-size:1.125rem;font-weight:700;color:var(--shell-text, #fff);letter-spacing:-.01em}.sidebar-nav{padding:6px 0 8px;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--shell-text, #fff) 8%,transparent) transparent}.sidebar-nav::-webkit-scrollbar{width:3px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--shell-text, #fff) 8%,transparent);border-radius:2px}.nav-group{margin-bottom:6px}.nav-group-label{display:flex;align-items:center;gap:6px;width:100%;padding:8px 16px;font-size:.6875rem;font-weight:700;color:color-mix(in srgb,var(--shell-text, #fff) 80%,transparent);text-transform:uppercase;letter-spacing:.12em;background:none;border:none;cursor:pointer;transition:color .15s;text-align:left;border-radius:6px;background:color-mix(in srgb,var(--shell-text, #fff) 10%,transparent);margin:6px 4px 4px;width:calc(100% - 8px);box-sizing:border-box}.nav-group-label:hover{color:color-mix(in srgb,var(--shell-text, #fff) 100%,transparent)}.nav-group-label:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:-1px}.chevron{flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1);opacity:.85}.chevron.collapsed{transform:rotate(-90deg)}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 32px;color:color-mix(in srgb,var(--shell-text, #fff) 95%,transparent);font-size:.9375rem;font-weight:500;text-decoration:none;border-left:2px solid transparent;border-radius:0 8px 8px 0;margin-right:10px;transition:color .15s,background .15s,border-color .15s}.sidebar-nav a:hover{color:color-mix(in srgb,var(--shell-text, #fff) 100%,transparent);background:color-mix(in srgb,var(--shell-text, #fff) 6%,transparent)}.sidebar-nav a.active{color:var(--shell-text, #fff);background:#60a5fa21;border-left-color:#60a5fa;font-weight:600}.sidebar-nav a:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:-2px}.nav-icon{display:flex;align-items:center;flex-shrink:0}.nav-icon ::ng-deep svg{width:17px;height:17px;stroke:color-mix(in srgb,var(--shell-text, #fff) 90%,transparent);transition:stroke .15s;flex-shrink:0}.sidebar-nav a:hover .nav-icon ::ng-deep svg{stroke:color-mix(in srgb,var(--shell-text, #fff) 100%,transparent)}.sidebar-nav a.active .nav-icon ::ng-deep svg{stroke:#93c5fd}.nav-label{flex:1}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:.625rem;font-weight:700;margin-left:auto}.sidebar-footer{padding:10px 14px;border-top:1px solid color-mix(in srgb,var(--shell-text, #fff) 6%,transparent)}.user-info{display:flex;align-items:center;gap:10px}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#60a5fa38,#60a5fa14);border:1px solid rgba(96,165,250,.18);color:color-mix(in srgb,var(--shell-text, #fff) 88%,transparent);font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-details{display:flex;flex-direction:column;min-width:0;flex:1}.user-name{font-size:.8125rem;font-weight:600;color:var(--shell-text, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.6875rem;color:color-mix(in srgb,var(--shell-text, #fff) 80%,transparent);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.btn-logout{background:none;border:none;cursor:pointer;color:color-mix(in srgb,var(--shell-text, #fff) 85%,transparent);padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,background .15s}.btn-logout:hover{color:#f87171;background:#f871711a}.btn-logout:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:2px}.brand-full{display:flex;align-items:center;min-width:0;flex:1}.brand-mark{display:none}.shell.collapsed .brand-mark{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;color:var(--shell-text, #fff);background:color-mix(in srgb,var(--shell-text, #fff) 15%,transparent)}.rail-toggle{display:none;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;flex-shrink:0;border:none;background:none;cursor:pointer;border-radius:8px;color:color-mix(in srgb,var(--shell-text, #fff) 85%,transparent);transition:background .15s,color .15s}.rail-toggle:hover{background:color-mix(in srgb,var(--shell-text, #fff) 12%,transparent);color:var(--shell-text, #fff)}.rail-toggle:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:2px}.rail-divider{display:none}@media(min-width:1025px){.rail-toggle{display:flex}.sidebar{transition:width .2s cubic-bezier(.4,0,.2,1)}.shell.collapsed .sidebar{width:68px}.shell.collapsed .sidebar-header{flex-direction:column;justify-content:center;gap:4px;padding:8px 0}.shell.collapsed .brand-full{flex:none;width:44px;height:44px;overflow:hidden;border-radius:10px;justify-content:center}.shell.collapsed .brand-full ::ng-deep img,.shell.collapsed .brand-full ::ng-deep svg{width:44px;height:44px;max-width:none;object-fit:cover;object-position:50% 42%}.shell.collapsed .brand-text{display:none}.shell.collapsed .rail-toggle{margin-left:0}.shell.collapsed .nav-group-label{display:none}.shell.collapsed .rail-divider{display:block;height:1px;margin:8px 14px;background:color-mix(in srgb,var(--shell-text, #fff) 20%,transparent)}.shell.collapsed .nav-group:first-child .rail-divider{display:none}.shell.collapsed .sidebar-nav a{position:relative;justify-content:center;padding:10px 0;margin:0 8px 2px;border-left:none;border-radius:8px}.shell.collapsed .sidebar-nav a.active{box-shadow:inset 3px 0 #60a5fa}.shell.collapsed .nav-label{display:none}.shell.collapsed .nav-icon ::ng-deep svg{width:20px;height:20px}.shell.collapsed .nav-badge{position:absolute;top:2px;right:4px;min-width:16px;height:16px;padding:0 4px;font-size:.5625rem;margin:0}.shell.collapsed .sidebar-footer{padding:10px 8px}.shell.collapsed .user-info{flex-direction:column;gap:8px}.shell.collapsed .user-details{display:none}}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.top-header{display:flex;align-items:center;gap:8px;padding:0 24px;background:#fff;box-shadow:0 1px 3px #00000012,0 1px #0000000a;min-height:64px;box-sizing:border-box;position:relative;z-index:50}.hamburger{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;cursor:pointer;color:#374151;border-radius:8px;flex-shrink:0;transition:background .15s,color .15s}.hamburger:hover{background:#f3f4f6}.hamburger:focus-visible{outline:2px solid rgba(59,130,246,.5);outline-offset:2px}.page-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.page-title:focus{outline:none}.read-only-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 8px;border-radius:9999px;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:#fef9c3;color:#854d0e;border:1px solid #fde68a;white-space:nowrap}.header-end{display:flex;align-items:center;margin-left:auto}.content{flex:1;overflow-y:auto;padding:24px;background:#f7f8f6;display:flex;flex-direction:column;box-sizing:border-box;min-height:0}.content>*{flex:1;min-height:0;display:flex;flex-direction:column}@media(max-width:1024px){.hamburger{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:200;transform:translate(-100%);transition:transform .26s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 32px #0000004d}.shell.sidebar-open .sidebar{transform:translate(0)}.shell.sidebar-open .sidebar-backdrop{display:block}.main-area{width:100%}.top-header{padding:0 16px;gap:4px}.content{padding:16px}}@media(max-width:480px){.page-title{font-size:1.0625rem}.content{padding:12px}}@media(prefers-reduced-motion:reduce){.chevron,.sidebar-nav a,.sidebar,.nav-icon ::ng-deep svg{transition:none!important}}\n"]
28157
+ styles: [":host{display:contents}.shell{display:flex;height:100vh;height:100dvh;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000080;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:199}.sidebar{width:256px;background:var(--shell-bg, linear-gradient(175deg, #0f172a 0%, #111827 100%));display:flex;flex-direction:column;flex-shrink:0;overflow:hidden}.sidebar-header{display:flex;align-items:center;padding:0 20px;min-height:64px;border-bottom:1px solid color-mix(in srgb,var(--shell-text, #fff) 6%,transparent);box-sizing:border-box}.brand-default{display:flex;align-items:center;gap:10px}.brand-text{font-size:1.125rem;font-weight:700;color:var(--shell-text, #fff);letter-spacing:-.01em}.sidebar-nav{padding:6px 0 8px;flex:1;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--shell-text, #fff) 8%,transparent) transparent}.sidebar-nav::-webkit-scrollbar{width:3px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--shell-text, #fff) 8%,transparent);border-radius:2px}.nav-group{margin-bottom:6px}.nav-group-label{display:flex;align-items:center;gap:6px;width:100%;padding:8px 16px;font-size:.6875rem;font-weight:700;color:color-mix(in srgb,var(--shell-text, #fff) 80%,transparent);text-transform:uppercase;letter-spacing:.12em;background:none;border:none;cursor:pointer;transition:color .15s;text-align:left;border-radius:6px;background:color-mix(in srgb,var(--shell-text, #fff) 10%,transparent);margin:6px 4px 4px;width:calc(100% - 8px);box-sizing:border-box}.nav-group-label:hover{color:color-mix(in srgb,var(--shell-text, #fff) 100%,transparent)}.nav-group-label:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:-1px}.chevron{flex-shrink:0;transition:transform .2s cubic-bezier(.4,0,.2,1);opacity:.85}.chevron.collapsed{transform:rotate(-90deg)}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 32px;color:color-mix(in srgb,var(--shell-text, #fff) 95%,transparent);font-size:.9375rem;font-weight:500;text-decoration:none;border-left:2px solid transparent;border-radius:0 8px 8px 0;margin-right:10px;transition:color .15s,background .15s,border-color .15s}.sidebar-nav a:hover{color:color-mix(in srgb,var(--shell-text, #fff) 100%,transparent);background:color-mix(in srgb,var(--shell-text, #fff) 6%,transparent)}.sidebar-nav a.active{color:var(--shell-text, #fff);background:#60a5fa21;border-left-color:#60a5fa;font-weight:600}.sidebar-nav a:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:-2px}.nav-icon{display:flex;align-items:center;flex-shrink:0}.nav-icon ::ng-deep svg{width:17px;height:17px;stroke:color-mix(in srgb,var(--shell-text, #fff) 90%,transparent);transition:stroke .15s;flex-shrink:0}.sidebar-nav a:hover .nav-icon ::ng-deep svg{stroke:color-mix(in srgb,var(--shell-text, #fff) 100%,transparent)}.sidebar-nav a.active .nav-icon ::ng-deep svg{stroke:#93c5fd}.nav-label{flex:1}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#ef4444;color:#fff;font-size:.625rem;font-weight:700;margin-left:auto}.sidebar-footer{padding:10px 14px;border-top:1px solid color-mix(in srgb,var(--shell-text, #fff) 6%,transparent)}.user-info{display:flex;align-items:center;gap:10px}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#60a5fa38,#60a5fa14);border:1px solid rgba(96,165,250,.18);color:color-mix(in srgb,var(--shell-text, #fff) 88%,transparent);font-size:.75rem;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-details{display:flex;flex-direction:column;min-width:0;flex:1}.user-name{font-size:.8125rem;font-weight:600;color:var(--shell-text, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.6875rem;color:color-mix(in srgb,var(--shell-text, #fff) 80%,transparent);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.btn-logout{background:none;border:none;cursor:pointer;color:color-mix(in srgb,var(--shell-text, #fff) 85%,transparent);padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .15s,background .15s}.btn-logout:hover{color:#f87171;background:#f871711a}.btn-logout:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:2px}.brand-full{display:flex;align-items:center;min-width:0;flex:1}.brand-mark{display:none}.shell.collapsed .brand-mark{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;color:var(--shell-text, #fff);background:color-mix(in srgb,var(--shell-text, #fff) 15%,transparent)}.rail-toggle{display:none;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;flex-shrink:0;border:none;background:none;cursor:pointer;border-radius:8px;color:color-mix(in srgb,var(--shell-text, #fff) 85%,transparent);transition:background .15s,color .15s}.rail-toggle:hover{background:color-mix(in srgb,var(--shell-text, #fff) 12%,transparent);color:var(--shell-text, #fff)}.rail-toggle:focus-visible{outline:2px solid rgba(96,165,250,.5);outline-offset:2px}.rail-divider{display:none}@media(min-width:1025px){.rail-toggle{display:flex}.sidebar{transition:width .2s cubic-bezier(.4,0,.2,1)}.shell.collapsed .sidebar{width:68px}.shell.collapsed .sidebar-header{flex-direction:column;justify-content:center;gap:4px;padding:8px 0}.shell.collapsed .brand-full{flex:none;width:44px;height:44px;overflow:hidden;border-radius:10px;justify-content:center}.shell.collapsed .brand-full ::ng-deep img,.shell.collapsed .brand-full ::ng-deep svg{width:44px;height:44px;max-width:none;object-fit:cover;object-position:50% 42%}.shell.collapsed .brand-text{display:none}.shell.collapsed .rail-toggle{margin-left:0}.shell.collapsed .nav-group-label{display:none}.shell.collapsed .rail-divider{display:block;height:1px;margin:8px 14px;background:color-mix(in srgb,var(--shell-text, #fff) 20%,transparent)}.shell.collapsed .nav-group:first-child .rail-divider{display:none}.shell.collapsed .sidebar-nav a{position:relative;justify-content:center;padding:10px 0;margin:0 8px 2px;border-left:none;border-radius:8px}.shell.collapsed .sidebar-nav a.active{box-shadow:inset 3px 0 #60a5fa}.shell.collapsed .nav-label{display:none}.shell.collapsed .nav-icon ::ng-deep svg{width:20px;height:20px}.shell.collapsed .nav-badge{position:absolute;top:2px;right:4px;min-width:16px;height:16px;padding:0 4px;font-size:.5625rem;margin:0}.shell.collapsed .sidebar-footer{padding:10px 8px}.shell.collapsed .user-info{flex-direction:column;gap:8px}.shell.collapsed .user-details{display:none}}.main-area{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.top-header{display:flex;align-items:center;gap:8px;padding:0 24px;background:#fff;box-shadow:0 1px 3px #00000012,0 1px #0000000a;min-height:64px;box-sizing:border-box;position:relative;z-index:50}.hamburger{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:none;cursor:pointer;color:#374151;border-radius:8px;flex-shrink:0;transition:background .15s,color .15s}.hamburger:hover{background:#f3f4f6}.hamburger:focus-visible{outline:2px solid rgba(59,130,246,.5);outline-offset:2px}.page-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.page-title:focus{outline:none}.read-only-badge{display:inline-flex;align-items:center;flex-shrink:0;padding:2px 8px;border-radius:9999px;font-size:.6875rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;background:#fef9c3;color:#854d0e;border:1px solid #fde68a;white-space:nowrap}.header-end{display:flex;align-items:center;margin-left:auto}.content{flex:1;overflow-y:auto;padding:24px;background:#f7f8f6;display:flex;flex-direction:column;box-sizing:border-box;min-height:0}.content>*{flex:1;min-height:0;display:flex;flex-direction:column}@media(max-width:1024px){.hamburger{display:flex}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:200;transform:translate(-100%);transition:transform .26s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 32px #0000004d}.shell.sidebar-open .sidebar{transform:translate(0)}.shell.sidebar-open .sidebar-backdrop{display:block}.main-area{width:100%}.top-header{padding:0 16px;gap:4px}.content{padding:16px}}@media(max-width:480px){.page-title{font-size:1.0625rem}.content{padding:12px}}@media(pointer:coarse),(max-width:480px){.sidebar-nav a,.nav-group-label{min-height:44px}.btn-logout,.hamburger,.rail-toggle{min-width:44px;min-height:44px}}@media(prefers-reduced-motion:reduce){.chevron,.sidebar-nav a,.sidebar,.nav-icon ::ng-deep svg{transition:none!important}}\n"]
27712
28158
  }]
27713
28159
  }],
27714
28160
  propDecorators: {
@@ -29010,7 +29456,7 @@ var ErrorComponent = class ErrorComponent {
29010
29456
  }
29011
29457
  `,
29012
29458
  isInline: true,
29013
- styles: [":host{display:block}.ui-error{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#ef4444}\n"],
29459
+ styles: [":host{display:block}.ui-error{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#dc2626}\n"],
29014
29460
  changeDetection: i0.ChangeDetectionStrategy.OnPush
29015
29461
  });
29016
29462
  }
@@ -29031,7 +29477,7 @@ i0.ɵɵngDeclareClassMetadata({
29031
29477
  <p class="ui-error" role="alert" [attr.id]="errorId() || null">{{ message() }}</p>
29032
29478
  }
29033
29479
  `,
29034
- styles: [":host{display:block}.ui-error{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#ef4444}\n"]
29480
+ styles: [":host{display:block}.ui-error{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#dc2626}\n"]
29035
29481
  }]
29036
29482
  }],
29037
29483
  propDecorators: {
@@ -29227,7 +29673,7 @@ var KpiCardComponent = class KpiCardComponent {
29227
29673
  },
29228
29674
  ngImport: i0,
29229
29675
  template: `
29230
- <div class="kpi-card" [class.highlight]="highlight()" [class.clickable]="clickable()" [style.background]="background() || null">
29676
+ <div class="kpi-card" [class.highlight]="highlight()" [class.clickable]="clickable()" [class.ring-corner]="hasProgress() && !!iconSvg()" [style.background]="background() || null">
29231
29677
  @if (iconSvg()) {
29232
29678
  <div [class]="'kpi-icon ' + color() + '-icon'" aria-hidden="true" [innerHTML]="iconSvg()"></div>
29233
29679
  }
@@ -29254,7 +29700,7 @@ var KpiCardComponent = class KpiCardComponent {
29254
29700
  </div>
29255
29701
  `,
29256
29702
  isInline: true,
29257
- styles: [":host{display:block;height:100%}.kpi-card{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0;height:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}:host(:focus){outline:none}:host(:focus-visible) .kpi-card{outline:2px solid #3b82f6;outline-offset:2px}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{border-color:#93c5fd;box-shadow:0 2px 8px #3b82f614}.kpi-card.clickable:hover .kpi-arrow{color:#3b82f6;transform:translate(2px)}.kpi-arrow{position:absolute;bottom:14px;right:14px;color:#94a3b8;transition:color .15s ease,transform .15s ease}.kpi-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.green-icon{background:#dcfce7;color:#16a34a}.blue-icon{background:#dbeafe;color:#2563eb}.amber-icon{background:#fef3c7;color:#d97706}.orange-icon{background:#ffedd5;color:#c2410c}.red-icon{background:#fee2e2;color:#dc2626}.slate-icon{background:#f1f5f9;color:#475569}.kpi-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:36px;margin-bottom:4px}.kpi-ring{flex-shrink:0}.kpi-value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1.1}.kpi-value.green-value{color:#16a34a}.kpi-value.blue-value{color:#3b82f6}.kpi-value.red-value{color:#dc2626}.kpi-subtitle{font-size:.75rem;color:#64748b;margin-top:2px}\n"],
29703
+ styles: [":host{display:block;height:100%}.kpi-card{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0;height:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}:host(:focus){outline:none}:host(:focus-visible) .kpi-card{outline:2px solid #3b82f6;outline-offset:2px}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{border-color:#93c5fd;box-shadow:0 2px 8px #3b82f614}.kpi-card.clickable:hover .kpi-arrow{color:#3b82f6;transform:translate(2px)}.kpi-arrow{position:absolute;bottom:14px;right:14px;color:#94a3b8;transition:color .15s ease,transform .15s ease}.kpi-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.green-icon{background:#dcfce7;color:#16a34a}.blue-icon{background:#dbeafe;color:#2563eb}.amber-icon{background:#fef3c7;color:#d97706}.orange-icon{background:#ffedd5;color:#c2410c}.red-icon{background:#fee2e2;color:#dc2626}.slate-icon{background:#f1f5f9;color:#475569}.kpi-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:36px;margin-bottom:4px}.kpi-ring{flex-shrink:0}.kpi-card.ring-corner .kpi-top{display:contents}.kpi-card.ring-corner .kpi-ring{position:absolute;top:12px;right:12px}.kpi-value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1.1}.kpi-value.green-value{color:#16a34a}.kpi-value.blue-value{color:#3b82f6}.kpi-value.red-value{color:#dc2626}.kpi-subtitle{font-size:.75rem;color:#64748b;margin-top:2px}\n"],
29258
29704
  dependencies: [{
29259
29705
  kind: "component",
29260
29706
  type: ProgressRingComponent,
@@ -29295,7 +29741,7 @@ i0.ɵɵngDeclareClassMetadata({
29295
29741
  "(keydown.space)": "onActivateKey($event)"
29296
29742
  },
29297
29743
  template: `
29298
- <div class="kpi-card" [class.highlight]="highlight()" [class.clickable]="clickable()" [style.background]="background() || null">
29744
+ <div class="kpi-card" [class.highlight]="highlight()" [class.clickable]="clickable()" [class.ring-corner]="hasProgress() && !!iconSvg()" [style.background]="background() || null">
29299
29745
  @if (iconSvg()) {
29300
29746
  <div [class]="'kpi-icon ' + color() + '-icon'" aria-hidden="true" [innerHTML]="iconSvg()"></div>
29301
29747
  }
@@ -29321,7 +29767,7 @@ i0.ɵɵngDeclareClassMetadata({
29321
29767
  }
29322
29768
  </div>
29323
29769
  `,
29324
- styles: [":host{display:block;height:100%}.kpi-card{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0;height:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}:host(:focus){outline:none}:host(:focus-visible) .kpi-card{outline:2px solid #3b82f6;outline-offset:2px}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{border-color:#93c5fd;box-shadow:0 2px 8px #3b82f614}.kpi-card.clickable:hover .kpi-arrow{color:#3b82f6;transform:translate(2px)}.kpi-arrow{position:absolute;bottom:14px;right:14px;color:#94a3b8;transition:color .15s ease,transform .15s ease}.kpi-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.green-icon{background:#dcfce7;color:#16a34a}.blue-icon{background:#dbeafe;color:#2563eb}.amber-icon{background:#fef3c7;color:#d97706}.orange-icon{background:#ffedd5;color:#c2410c}.red-icon{background:#fee2e2;color:#dc2626}.slate-icon{background:#f1f5f9;color:#475569}.kpi-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:36px;margin-bottom:4px}.kpi-ring{flex-shrink:0}.kpi-value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1.1}.kpi-value.green-value{color:#16a34a}.kpi-value.blue-value{color:#3b82f6}.kpi-value.red-value{color:#dc2626}.kpi-subtitle{font-size:.75rem;color:#64748b;margin-top:2px}\n"]
29770
+ styles: [":host{display:block;height:100%}.kpi-card{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:4px;min-width:0;height:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}:host(:focus){outline:none}:host(:focus-visible) .kpi-card{outline:2px solid #3b82f6;outline-offset:2px}.kpi-card.clickable{cursor:pointer}.kpi-card.clickable:hover{border-color:#93c5fd;box-shadow:0 2px 8px #3b82f614}.kpi-card.clickable:hover .kpi-arrow{color:#3b82f6;transform:translate(2px)}.kpi-arrow{position:absolute;bottom:14px;right:14px;color:#94a3b8;transition:color .15s ease,transform .15s ease}.kpi-icon{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.green-icon{background:#dcfce7;color:#16a34a}.blue-icon{background:#dbeafe;color:#2563eb}.amber-icon{background:#fef3c7;color:#d97706}.orange-icon{background:#ffedd5;color:#c2410c}.red-icon{background:#fee2e2;color:#dc2626}.slate-icon{background:#f1f5f9;color:#475569}.kpi-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.kpi-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-height:36px;margin-bottom:4px}.kpi-ring{flex-shrink:0}.kpi-card.ring-corner .kpi-top{display:contents}.kpi-card.ring-corner .kpi-ring{position:absolute;top:12px;right:12px}.kpi-value{font-size:1.5rem;font-weight:700;color:#111827;line-height:1.1}.kpi-value.green-value{color:#16a34a}.kpi-value.blue-value{color:#3b82f6}.kpi-value.red-value{color:#dc2626}.kpi-subtitle{font-size:.75rem;color:#64748b;margin-top:2px}\n"]
29325
29771
  }]
29326
29772
  }],
29327
29773
  propDecorators: {
@@ -29498,6 +29944,15 @@ var DateRangePickerComponent = class DateRangePickerComponent {
29498
29944
  this.ariaLabel = input("Date range", ...ngDevMode ? [{ debugName: "ariaLabel" }] : /* istanbul ignore next */ []);
29499
29945
  this.rangeChange = output();
29500
29946
  this.selectedPreset = linkedSignal(() => this.activePreset(), ...ngDevMode ? [{ debugName: "selectedPreset" }] : /* istanbul ignore next */ []);
29947
+ this.popoverDismissed = linkedSignal({
29948
+ ...ngDevMode ? { debugName: "popoverDismissed" } : /* istanbul ignore next */ {},
29949
+ source: this.selectedPreset,
29950
+ computation: () => false
29951
+ });
29952
+ this.popoverVisible = computed(() => this.showPresets() && this.selectedPreset() === "custom" && !this.popoverDismissed(), ...ngDevMode ? [{ debugName: "popoverVisible" }] : /* istanbul ignore next */ []);
29953
+ this.popTop = signal(0, ...ngDevMode ? [{ debugName: "popTop" }] : /* istanbul ignore next */ []);
29954
+ this.popRight = signal(16, ...ngDevMode ? [{ debugName: "popRight" }] : /* istanbul ignore next */ []);
29955
+ this.host = inject(ElementRef);
29501
29956
  this.customStart = signal("", ...ngDevMode ? [{ debugName: "customStart" }] : /* istanbul ignore next */ []);
29502
29957
  this.customEnd = signal("", ...ngDevMode ? [{ debugName: "customEnd" }] : /* istanbul ignore next */ []);
29503
29958
  this.presetTabs = computed(() => {
@@ -29516,13 +29971,41 @@ var DateRangePickerComponent = class DateRangePickerComponent {
29516
29971
  label: PRESET_LABELS[key]
29517
29972
  }));
29518
29973
  }, ...ngDevMode ? [{ debugName: "presetTabs" }] : /* istanbul ignore next */ []);
29974
+ effect((onCleanup) => {
29975
+ if (!this.popoverVisible()) return;
29976
+ const place = () => this.place();
29977
+ untracked(place);
29978
+ window.addEventListener("resize", place);
29979
+ window.addEventListener("scroll", place, true);
29980
+ onCleanup(() => {
29981
+ window.removeEventListener("resize", place);
29982
+ window.removeEventListener("scroll", place, true);
29983
+ });
29984
+ });
29985
+ }
29986
+ place() {
29987
+ const pills = this.host.nativeElement.querySelector(".pills");
29988
+ if (!pills) return;
29989
+ const r = pills.getBoundingClientRect();
29990
+ this.popTop.set(Math.round(r.bottom + 8));
29991
+ this.popRight.set(Math.max(16, Math.round(document.documentElement.clientWidth - r.right)));
29992
+ }
29993
+ onDocumentClick(e) {
29994
+ if (this.popoverVisible() && !this.host.nativeElement.contains(e.target)) this.popoverDismissed.set(true);
29995
+ }
29996
+ onEscape(e) {
29997
+ if (!this.popoverVisible()) return;
29998
+ e.stopPropagation();
29999
+ this.popoverDismissed.set(true);
29519
30000
  }
29520
30001
  selectPreset(key) {
29521
30002
  this.selectedPreset.set(key);
30003
+ this.popoverDismissed.set(false);
29522
30004
  if (key !== "custom") this.rangeChange.emit(resolvePreset(key, /* @__PURE__ */ new Date()));
29523
30005
  }
29524
30006
  applyCustom() {
29525
30007
  if (!this.customStart() || !this.customEnd()) return;
30008
+ this.popoverDismissed.set(true);
29526
30009
  this.rangeChange.emit({
29527
30010
  preset: "custom",
29528
30011
  startDate: this.customStart(),
@@ -29578,24 +30061,38 @@ var DateRangePickerComponent = class DateRangePickerComponent {
29578
30061
  }
29579
30062
  },
29580
30063
  outputs: { rangeChange: "rangeChange" },
30064
+ host: { listeners: {
30065
+ "document:click": "onDocumentClick($event)",
30066
+ "keydown.escape": "onEscape($event)"
30067
+ } },
29581
30068
  ngImport: i0,
29582
30069
  template: `
29583
30070
  <div class="date-range-picker">
29584
30071
  @if (showPresets()) {
29585
- <ui-pill-tabs [tabs]="presetTabs()" [activeKey]="selectedPreset()" [ariaLabel]="ariaLabel()" (tabChange)="selectPreset($any($event))" />
29586
- }
29587
- @if (selectedPreset() === 'custom' || !showPresets()) {
29588
- <div class="custom-range">
29589
- <ui-date-input label="From" [max]="customEnd()" [ngModel]="customStart()" (ngModelChange)="customStart.set($event)" />
29590
- <span class="date-sep" aria-hidden="true">–</span>
29591
- <ui-date-input label="To" [min]="customStart()" [ngModel]="customEnd()" (ngModelChange)="customEnd.set($event)" />
29592
- <ui-button variant="primary" size="sm" [disabled]="!customStart() || !customEnd()" (click)="applyCustom()">Apply</ui-button>
30072
+ <div class="pills" #pills>
30073
+ <ui-pill-tabs [tabs]="presetTabs()" [activeKey]="selectedPreset()" [ariaLabel]="ariaLabel()" (tabChange)="selectPreset($any($event))" />
29593
30074
  </div>
30075
+ @if (popoverVisible()) {
30076
+ <div class="custom-popover" role="group" aria-label="Custom date range" data-testid="custom-range-popover"
30077
+ [style.top.px]="popTop()" [style.right.px]="popRight()">
30078
+ <ng-container *ngTemplateOutlet="customFields" />
30079
+ </div>
30080
+ }
30081
+ } @else {
30082
+ <ng-container *ngTemplateOutlet="customFields" />
29594
30083
  }
29595
30084
  </div>
30085
+ <ng-template #customFields>
30086
+ <div class="custom-range">
30087
+ <ui-date-input label="From" [max]="customEnd()" [ngModel]="customStart()" (ngModelChange)="customStart.set($event)" />
30088
+ <span class="date-sep" aria-hidden="true">–</span>
30089
+ <ui-date-input label="To" [min]="customStart()" [ngModel]="customEnd()" (ngModelChange)="customEnd.set($event)" />
30090
+ <ui-button variant="primary" size="sm" [disabled]="!customStart() || !customEnd()" (click)="applyCustom()">Apply</ui-button>
30091
+ </div>
30092
+ </ng-template>
29596
30093
  `,
29597
30094
  isInline: true,
29598
- styles: [":host{display:block}.date-range-picker{display:flex;flex-direction:column;gap:10px}.custom-range{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.date-sep{color:#94a3b8;font-weight:500;padding-bottom:10px}\n"],
30095
+ styles: [":host{display:block}.date-range-picker{display:flex;flex-direction:column;gap:10px}.pills{width:fit-content;max-width:100%}.custom-range{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.date-sep{color:#94a3b8;font-weight:500;padding-bottom:10px}.custom-popover{position:fixed;z-index:1000;box-sizing:border-box;max-width:calc(100vw - 32px);background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;box-shadow:0 10px 25px #0f172a1f,0 4px 10px #0f172a0f}\n"],
29599
30096
  dependencies: [
29600
30097
  {
29601
30098
  kind: "ngmodule",
@@ -29619,6 +30116,16 @@ var DateRangePickerComponent = class DateRangePickerComponent {
29619
30116
  outputs: ["ngModelChange"],
29620
30117
  exportAs: ["ngModel"]
29621
30118
  },
30119
+ {
30120
+ kind: "directive",
30121
+ type: NgTemplateOutlet,
30122
+ selector: "[ngTemplateOutlet]",
30123
+ inputs: [
30124
+ "ngTemplateOutletContext",
30125
+ "ngTemplateOutlet",
30126
+ "ngTemplateOutletInjector"
30127
+ ]
30128
+ },
29622
30129
  {
29623
30130
  kind: "component",
29624
30131
  type: PillTabsComponent,
@@ -29695,28 +30202,44 @@ i0.ɵɵngDeclareClassMetadata({
29695
30202
  changeDetection: ChangeDetectionStrategy.OnPush,
29696
30203
  imports: [
29697
30204
  FormsModule,
30205
+ NgTemplateOutlet,
29698
30206
  PillTabsComponent,
29699
30207
  DateInputComponent,
29700
30208
  ButtonComponent
29701
30209
  ],
30210
+ host: {
30211
+ "(document:click)": "onDocumentClick($event)",
30212
+ "(keydown.escape)": "onEscape($event)"
30213
+ },
29702
30214
  template: `
29703
30215
  <div class="date-range-picker">
29704
30216
  @if (showPresets()) {
29705
- <ui-pill-tabs [tabs]="presetTabs()" [activeKey]="selectedPreset()" [ariaLabel]="ariaLabel()" (tabChange)="selectPreset($any($event))" />
29706
- }
29707
- @if (selectedPreset() === 'custom' || !showPresets()) {
29708
- <div class="custom-range">
29709
- <ui-date-input label="From" [max]="customEnd()" [ngModel]="customStart()" (ngModelChange)="customStart.set($event)" />
29710
- <span class="date-sep" aria-hidden="true">–</span>
29711
- <ui-date-input label="To" [min]="customStart()" [ngModel]="customEnd()" (ngModelChange)="customEnd.set($event)" />
29712
- <ui-button variant="primary" size="sm" [disabled]="!customStart() || !customEnd()" (click)="applyCustom()">Apply</ui-button>
30217
+ <div class="pills" #pills>
30218
+ <ui-pill-tabs [tabs]="presetTabs()" [activeKey]="selectedPreset()" [ariaLabel]="ariaLabel()" (tabChange)="selectPreset($any($event))" />
29713
30219
  </div>
30220
+ @if (popoverVisible()) {
30221
+ <div class="custom-popover" role="group" aria-label="Custom date range" data-testid="custom-range-popover"
30222
+ [style.top.px]="popTop()" [style.right.px]="popRight()">
30223
+ <ng-container *ngTemplateOutlet="customFields" />
30224
+ </div>
30225
+ }
30226
+ } @else {
30227
+ <ng-container *ngTemplateOutlet="customFields" />
29714
30228
  }
29715
30229
  </div>
30230
+ <ng-template #customFields>
30231
+ <div class="custom-range">
30232
+ <ui-date-input label="From" [max]="customEnd()" [ngModel]="customStart()" (ngModelChange)="customStart.set($event)" />
30233
+ <span class="date-sep" aria-hidden="true">–</span>
30234
+ <ui-date-input label="To" [min]="customStart()" [ngModel]="customEnd()" (ngModelChange)="customEnd.set($event)" />
30235
+ <ui-button variant="primary" size="sm" [disabled]="!customStart() || !customEnd()" (click)="applyCustom()">Apply</ui-button>
30236
+ </div>
30237
+ </ng-template>
29716
30238
  `,
29717
- styles: [":host{display:block}.date-range-picker{display:flex;flex-direction:column;gap:10px}.custom-range{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.date-sep{color:#94a3b8;font-weight:500;padding-bottom:10px}\n"]
30239
+ styles: [":host{display:block}.date-range-picker{display:flex;flex-direction:column;gap:10px}.pills{width:fit-content;max-width:100%}.custom-range{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}.date-sep{color:#94a3b8;font-weight:500;padding-bottom:10px}.custom-popover{position:fixed;z-index:1000;box-sizing:border-box;max-width:calc(100vw - 32px);background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;box-shadow:0 10px 25px #0f172a1f,0 4px 10px #0f172a0f}\n"]
29718
30240
  }]
29719
30241
  }],
30242
+ ctorParameters: () => [],
29720
30243
  propDecorators: {
29721
30244
  activePreset: [{
29722
30245
  type: i0.Input,
@@ -30862,7 +31385,7 @@ var RichTextEditorComponent = class RichTextEditorComponent {
30862
31385
  </div>
30863
31386
  `,
30864
31387
  isInline: true,
30865
- styles: [":host{display:block}.rte-field{display:flex;flex-direction:column;gap:6px}.rte-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rte-required{color:#ef4444;margin-left:2px}.rte-hint-inline{font-size:.75rem;color:#94a3b8;font-weight:400;margin-left:4px}.rte-box{border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s}.rte-box:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.rte-error .rte-box{border-color:#ef4444}.rte-error .rte-box:focus-within{box-shadow:0 0 0 3px #ef44441f}.rte-disabled .rte-box{opacity:.5;cursor:not-allowed}.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0}.rte-divider{width:1px;height:20px;background:#cbd5e1;margin:0 4px}.rte-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:none;color:#64748b;cursor:pointer;transition:background .15s,color .15s}.rte-btn svg{width:16px;height:16px}.rte-btn:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.rte-btn:focus-visible,.rte-btn:focus-within{outline:2px solid #3b82f6;outline-offset:1px}.rte-btn.active{background:#dbeafe;color:#2563eb}.rte-btn:disabled,.rte-btn-disabled{cursor:not-allowed;opacity:.5}.rte-menu-wrap{position:relative;display:inline-flex}.rte-menu-btn{width:auto;padding:0 6px;gap:3px}.rte-menu-btn .rte-chevron{width:10px;height:10px;color:#94a3b8;flex-shrink:0}.rte-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 12px #0000001f;padding:4px;overflow-y:auto;max-height:260px}.rte-font-panel{min-width:180px}.rte-item{display:block;width:100%;text-align:left;padding:5px 10px;font-size:12px;color:#374151;border:none;background:none;border-radius:4px;cursor:pointer;white-space:nowrap}.rte-item:hover{background:#f1f5f9}.rte-item.selected{background:#dbeafe;color:#2563eb;font-weight:600}.rte-group-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;padding:6px 10px 2px}.di-h1{font-size:18px;font-weight:700}.di-h2{font-size:15px;font-weight:600}.di-h3{font-size:13px;font-weight:600}.rte-color{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.rte-editor{padding:12px;outline:none;overflow-y:auto;box-sizing:border-box;font-size:.875rem;line-height:1.6;color:#1e293b;background:#fff;border-radius:0 0 8px 8px;word-break:break-word}.rte-editor[data-empty=true]:before{content:attr(data-placeholder);color:#94a3b8;pointer-events:none;float:left;height:0}.rte-editor ul,.rte-editor ol{padding-left:1.5em;margin:.25em 0}.rte-editor li{margin:.15em 0}.rte-editor h1{font-size:1.75em;font-weight:700;margin:.5em 0 .25em}.rte-editor h2{font-size:1.4em;font-weight:600;margin:.5em 0 .25em}.rte-editor h3{font-size:1.15em;font-weight:600;margin:.5em 0 .25em}.rte-editor a{color:#2563eb;text-decoration:underline}.rte-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rte-desc-error{color:#ef4444}@media(max-width:480px){.rte-editor{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.rte-btn{width:44px;height:44px}.rte-menu-btn{width:auto;min-width:44px}.rte-divider{height:28px}}\n"],
31388
+ styles: [":host{display:block}.rte-field{display:flex;flex-direction:column;gap:6px}.rte-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rte-required{color:#dc2626;margin-left:2px}.rte-hint-inline{font-size:.75rem;color:#94a3b8;font-weight:400;margin-left:4px}.rte-box{border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s}.rte-box:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.rte-error .rte-box{border-color:#ef4444}.rte-error .rte-box:focus-within{box-shadow:0 0 0 3px #ef44441f}.rte-disabled .rte-box{opacity:.5;cursor:not-allowed}.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0}.rte-divider{width:1px;height:20px;background:#cbd5e1;margin:0 4px}.rte-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:none;color:#64748b;cursor:pointer;transition:background .15s,color .15s}.rte-btn svg{width:16px;height:16px}.rte-btn:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.rte-btn:focus-visible,.rte-btn:focus-within{outline:2px solid #3b82f6;outline-offset:1px}.rte-btn.active{background:#dbeafe;color:#2563eb}.rte-btn:disabled,.rte-btn-disabled{cursor:not-allowed;opacity:.5}.rte-menu-wrap{position:relative;display:inline-flex}.rte-menu-btn{width:auto;padding:0 6px;gap:3px}.rte-menu-btn .rte-chevron{width:10px;height:10px;color:#94a3b8;flex-shrink:0}.rte-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 12px #0000001f;padding:4px;overflow-y:auto;max-height:260px}.rte-font-panel{min-width:180px}.rte-item{display:block;width:100%;text-align:left;padding:5px 10px;font-size:12px;color:#374151;border:none;background:none;border-radius:4px;cursor:pointer;white-space:nowrap}.rte-item:hover{background:#f1f5f9}.rte-item.selected{background:#dbeafe;color:#2563eb;font-weight:600}.rte-group-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;padding:6px 10px 2px}.di-h1{font-size:18px;font-weight:700}.di-h2{font-size:15px;font-weight:600}.di-h3{font-size:13px;font-weight:600}.rte-color{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.rte-editor{padding:12px;outline:none;overflow-y:auto;box-sizing:border-box;font-size:.875rem;line-height:1.6;color:#1e293b;background:#fff;border-radius:0 0 8px 8px;word-break:break-word}.rte-editor[data-empty=true]:before{content:attr(data-placeholder);color:#94a3b8;pointer-events:none;float:left;height:0}.rte-editor ul,.rte-editor ol{padding-left:1.5em;margin:.25em 0}.rte-editor li{margin:.15em 0}.rte-editor h1{font-size:1.75em;font-weight:700;margin:.5em 0 .25em}.rte-editor h2{font-size:1.4em;font-weight:600;margin:.5em 0 .25em}.rte-editor h3{font-size:1.15em;font-weight:600;margin:.5em 0 .25em}.rte-editor a{color:#2563eb;text-decoration:underline}.rte-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rte-desc-error{color:#dc2626}@media(max-width:480px){.rte-editor{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.rte-btn{width:44px;height:44px}.rte-menu-btn{width:auto;min-width:44px}.rte-divider{height:28px}}\n"],
30866
31389
  changeDetection: i0.ChangeDetectionStrategy.OnPush
30867
31390
  });
30868
31391
  }
@@ -31099,7 +31622,7 @@ i0.ɵɵngDeclareClassMetadata({
31099
31622
  }
31100
31623
  </div>
31101
31624
  `,
31102
- styles: [":host{display:block}.rte-field{display:flex;flex-direction:column;gap:6px}.rte-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rte-required{color:#ef4444;margin-left:2px}.rte-hint-inline{font-size:.75rem;color:#94a3b8;font-weight:400;margin-left:4px}.rte-box{border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s}.rte-box:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.rte-error .rte-box{border-color:#ef4444}.rte-error .rte-box:focus-within{box-shadow:0 0 0 3px #ef44441f}.rte-disabled .rte-box{opacity:.5;cursor:not-allowed}.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0}.rte-divider{width:1px;height:20px;background:#cbd5e1;margin:0 4px}.rte-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:none;color:#64748b;cursor:pointer;transition:background .15s,color .15s}.rte-btn svg{width:16px;height:16px}.rte-btn:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.rte-btn:focus-visible,.rte-btn:focus-within{outline:2px solid #3b82f6;outline-offset:1px}.rte-btn.active{background:#dbeafe;color:#2563eb}.rte-btn:disabled,.rte-btn-disabled{cursor:not-allowed;opacity:.5}.rte-menu-wrap{position:relative;display:inline-flex}.rte-menu-btn{width:auto;padding:0 6px;gap:3px}.rte-menu-btn .rte-chevron{width:10px;height:10px;color:#94a3b8;flex-shrink:0}.rte-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 12px #0000001f;padding:4px;overflow-y:auto;max-height:260px}.rte-font-panel{min-width:180px}.rte-item{display:block;width:100%;text-align:left;padding:5px 10px;font-size:12px;color:#374151;border:none;background:none;border-radius:4px;cursor:pointer;white-space:nowrap}.rte-item:hover{background:#f1f5f9}.rte-item.selected{background:#dbeafe;color:#2563eb;font-weight:600}.rte-group-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;padding:6px 10px 2px}.di-h1{font-size:18px;font-weight:700}.di-h2{font-size:15px;font-weight:600}.di-h3{font-size:13px;font-weight:600}.rte-color{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.rte-editor{padding:12px;outline:none;overflow-y:auto;box-sizing:border-box;font-size:.875rem;line-height:1.6;color:#1e293b;background:#fff;border-radius:0 0 8px 8px;word-break:break-word}.rte-editor[data-empty=true]:before{content:attr(data-placeholder);color:#94a3b8;pointer-events:none;float:left;height:0}.rte-editor ul,.rte-editor ol{padding-left:1.5em;margin:.25em 0}.rte-editor li{margin:.15em 0}.rte-editor h1{font-size:1.75em;font-weight:700;margin:.5em 0 .25em}.rte-editor h2{font-size:1.4em;font-weight:600;margin:.5em 0 .25em}.rte-editor h3{font-size:1.15em;font-weight:600;margin:.5em 0 .25em}.rte-editor a{color:#2563eb;text-decoration:underline}.rte-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rte-desc-error{color:#ef4444}@media(max-width:480px){.rte-editor{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.rte-btn{width:44px;height:44px}.rte-menu-btn{width:auto;min-width:44px}.rte-divider{height:28px}}\n"]
31625
+ styles: [":host{display:block}.rte-field{display:flex;flex-direction:column;gap:6px}.rte-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rte-required{color:#dc2626;margin-left:2px}.rte-hint-inline{font-size:.75rem;color:#94a3b8;font-weight:400;margin-left:4px}.rte-box{border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s}.rte-box:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.rte-error .rte-box{border-color:#ef4444}.rte-error .rte-box:focus-within{box-shadow:0 0 0 3px #ef44441f}.rte-disabled .rte-box{opacity:.5;cursor:not-allowed}.rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 8px;background:#f8fafc;border-bottom:1px solid #e2e8f0;border-radius:8px 8px 0 0}.rte-divider{width:1px;height:20px;background:#cbd5e1;margin:0 4px}.rte-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:4px;background:none;color:#64748b;cursor:pointer;transition:background .15s,color .15s}.rte-btn svg{width:16px;height:16px}.rte-btn:hover:not(:disabled){background:#e2e8f0;color:#1e293b}.rte-btn:focus-visible,.rte-btn:focus-within{outline:2px solid #3b82f6;outline-offset:1px}.rte-btn.active{background:#dbeafe;color:#2563eb}.rte-btn:disabled,.rte-btn-disabled{cursor:not-allowed;opacity:.5}.rte-menu-wrap{position:relative;display:inline-flex}.rte-menu-btn{width:auto;padding:0 6px;gap:3px}.rte-menu-btn .rte-chevron{width:10px;height:10px;color:#94a3b8;flex-shrink:0}.rte-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:100;background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 12px #0000001f;padding:4px;overflow-y:auto;max-height:260px}.rte-font-panel{min-width:180px}.rte-item{display:block;width:100%;text-align:left;padding:5px 10px;font-size:12px;color:#374151;border:none;background:none;border-radius:4px;cursor:pointer;white-space:nowrap}.rte-item:hover{background:#f1f5f9}.rte-item.selected{background:#dbeafe;color:#2563eb;font-weight:600}.rte-group-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;padding:6px 10px 2px}.di-h1{font-size:18px;font-weight:700}.di-h2{font-size:15px;font-weight:600}.di-h3{font-size:13px;font-weight:600}.rte-color{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.rte-editor{padding:12px;outline:none;overflow-y:auto;box-sizing:border-box;font-size:.875rem;line-height:1.6;color:#1e293b;background:#fff;border-radius:0 0 8px 8px;word-break:break-word}.rte-editor[data-empty=true]:before{content:attr(data-placeholder);color:#94a3b8;pointer-events:none;float:left;height:0}.rte-editor ul,.rte-editor ol{padding-left:1.5em;margin:.25em 0}.rte-editor li{margin:.15em 0}.rte-editor h1{font-size:1.75em;font-weight:700;margin:.5em 0 .25em}.rte-editor h2{font-size:1.4em;font-weight:600;margin:.5em 0 .25em}.rte-editor h3{font-size:1.15em;font-weight:600;margin:.5em 0 .25em}.rte-editor a{color:#2563eb;text-decoration:underline}.rte-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rte-desc-error{color:#dc2626}@media(max-width:480px){.rte-editor{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.rte-btn{width:44px;height:44px}.rte-menu-btn{width:auto;min-width:44px}.rte-divider{height:28px}}\n"]
31103
31626
  }]
31104
31627
  }],
31105
31628
  ctorParameters: () => [],
@@ -31458,7 +31981,7 @@ var RadioMatrixComponent = class RadioMatrixComponent {
31458
31981
  </fieldset>
31459
31982
  `,
31460
31983
  isInline: true,
31461
- styles: [":host{display:block}.rm-field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}.rm-label{padding:0;margin-bottom:6px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rm-required{color:#ef4444;margin-left:2px}.rm-scroll{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.rm-table{width:100%;border-collapse:collapse;font-size:.875rem}.rm-table th,.rm-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;text-align:left}.rm-table tbody tr:last-child th,.rm-table tbody tr:last-child td{border-bottom:0}.rm-table thead th{position:sticky;top:0;background:#f8fafc;font-size:.75rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.rm-col,.rm-cell{text-align:center!important;width:1%;white-space:nowrap}.rm-cell ui-radio{display:inline-block}.rm-row-label{font-weight:500;color:#1e293b}.rm-row:hover{background:#f8fafc}.rm-row-missing .rm-row-label{color:#b91c1c}.rm-disabled .rm-scroll{opacity:.6}.rm-error .rm-scroll{border-color:#ef4444}.rm-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rm-desc-error{color:#ef4444}@media(max-width:480px){.rm-table th,.rm-table td{padding:6px 8px}.rm-table thead th{font-size:.6875rem}}\n"],
31984
+ styles: [":host{display:block}.rm-field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}.rm-label{padding:0;margin-bottom:6px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rm-required{color:#dc2626;margin-left:2px}.rm-scroll{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.rm-table{width:100%;border-collapse:collapse;font-size:.875rem}.rm-table th,.rm-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;text-align:left}.rm-table tbody tr:last-child th,.rm-table tbody tr:last-child td{border-bottom:0}.rm-table thead th{position:sticky;top:0;background:#f8fafc;font-size:.75rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.rm-col,.rm-cell{text-align:center!important;width:1%;white-space:nowrap}.rm-cell ui-radio{display:inline-block}.rm-row-label{font-weight:500;color:#1e293b}.rm-row:hover{background:#f8fafc}.rm-row-missing .rm-row-label{color:#b91c1c}.rm-disabled .rm-scroll{opacity:.6}.rm-error .rm-scroll{border-color:#ef4444}.rm-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rm-desc-error{color:#dc2626}@media(max-width:480px){.rm-table th,.rm-table td{padding:6px 8px}.rm-table thead th{font-size:.6875rem}}\n"],
31462
31985
  dependencies: [{
31463
31986
  kind: "component",
31464
31987
  type: RadioComponent,
@@ -31566,7 +32089,7 @@ i0.ɵɵngDeclareClassMetadata({
31566
32089
  }
31567
32090
  </fieldset>
31568
32091
  `,
31569
- styles: [":host{display:block}.rm-field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}.rm-label{padding:0;margin-bottom:6px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rm-required{color:#ef4444;margin-left:2px}.rm-scroll{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.rm-table{width:100%;border-collapse:collapse;font-size:.875rem}.rm-table th,.rm-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;text-align:left}.rm-table tbody tr:last-child th,.rm-table tbody tr:last-child td{border-bottom:0}.rm-table thead th{position:sticky;top:0;background:#f8fafc;font-size:.75rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.rm-col,.rm-cell{text-align:center!important;width:1%;white-space:nowrap}.rm-cell ui-radio{display:inline-block}.rm-row-label{font-weight:500;color:#1e293b}.rm-row:hover{background:#f8fafc}.rm-row-missing .rm-row-label{color:#b91c1c}.rm-disabled .rm-scroll{opacity:.6}.rm-error .rm-scroll{border-color:#ef4444}.rm-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rm-desc-error{color:#ef4444}@media(max-width:480px){.rm-table th,.rm-table td{padding:6px 8px}.rm-table thead th{font-size:.6875rem}}\n"]
32092
+ styles: [":host{display:block}.rm-field{display:flex;flex-direction:column;gap:6px;border:0;margin:0;padding:0;min-width:0}.rm-label{padding:0;margin-bottom:6px;font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.rm-required{color:#dc2626;margin-left:2px}.rm-scroll{overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}.rm-table{width:100%;border-collapse:collapse;font-size:.875rem}.rm-table th,.rm-table td{padding:8px 12px;border-bottom:1px solid #f1f5f9;text-align:left}.rm-table tbody tr:last-child th,.rm-table tbody tr:last-child td{border-bottom:0}.rm-table thead th{position:sticky;top:0;background:#f8fafc;font-size:.75rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.rm-col,.rm-cell{text-align:center!important;width:1%;white-space:nowrap}.rm-cell ui-radio{display:inline-block}.rm-row-label{font-weight:500;color:#1e293b}.rm-row:hover{background:#f8fafc}.rm-row-missing .rm-row-label{color:#b91c1c}.rm-disabled .rm-scroll{opacity:.6}.rm-error .rm-scroll{border-color:#ef4444}.rm-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.rm-desc-error{color:#dc2626}@media(max-width:480px){.rm-table th,.rm-table td{padding:6px 8px}.rm-table thead th{font-size:.6875rem}}\n"]
31570
32093
  }]
31571
32094
  }],
31572
32095
  ctorParameters: () => [],
@@ -32131,7 +32654,7 @@ var SignaturePadComponent = class SignaturePadComponent {
32131
32654
  </div>
32132
32655
  `,
32133
32656
  isInline: true,
32134
- styles: [":host{display:block}.sp-field{display:flex;flex-direction:column;gap:6px}.sp-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.sp-pad{position:relative;border:2px solid #d1d5db;border-radius:8px;background:#f9fafb}.sp-error .sp-pad{border-color:#ef4444}.sp-canvas{display:block;width:100%;height:auto;cursor:crosshair;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;border-radius:6px}.sp-canvas:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sp-disabled .sp-pad{opacity:.5}.sp-disabled .sp-canvas{cursor:not-allowed}.sp-cursor{position:absolute;width:8px;height:8px;border-radius:9999px;pointer-events:none;background:#2563eb;border:2px solid #fff;box-shadow:0 1px 4px #00000059;transform:translate(-50%,-50%)}.sp-cursor.is-drawing{animation:sp-pulse 1s ease-in-out infinite}@keyframes sp-pulse{50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.sp-cursor.is-drawing{animation:none}}.sp-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.sp-desc-error{color:#ef4444}.sp-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"],
32657
+ styles: [":host{display:block}.sp-field{display:flex;flex-direction:column;gap:6px}.sp-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.sp-pad{position:relative;border:2px solid #d1d5db;border-radius:8px;background:#f9fafb}.sp-error .sp-pad{border-color:#ef4444}.sp-canvas{display:block;width:100%;height:auto;cursor:crosshair;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;border-radius:6px}.sp-canvas:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sp-disabled .sp-pad{opacity:.5}.sp-disabled .sp-canvas{cursor:not-allowed}.sp-cursor{position:absolute;width:8px;height:8px;border-radius:9999px;pointer-events:none;background:#2563eb;border:2px solid #fff;box-shadow:0 1px 4px #00000059;transform:translate(-50%,-50%)}.sp-cursor.is-drawing{animation:sp-pulse 1s ease-in-out infinite}@keyframes sp-pulse{50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.sp-cursor.is-drawing{animation:none}}.sp-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.sp-desc-error{color:#dc2626}.sp-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"],
32135
32658
  dependencies: [{
32136
32659
  kind: "component",
32137
32660
  type: ButtonComponent,
@@ -32226,7 +32749,7 @@ i0.ɵɵngDeclareClassMetadata({
32226
32749
  }
32227
32750
  </div>
32228
32751
  `,
32229
- styles: [":host{display:block}.sp-field{display:flex;flex-direction:column;gap:6px}.sp-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.sp-pad{position:relative;border:2px solid #d1d5db;border-radius:8px;background:#f9fafb}.sp-error .sp-pad{border-color:#ef4444}.sp-canvas{display:block;width:100%;height:auto;cursor:crosshair;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;border-radius:6px}.sp-canvas:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sp-disabled .sp-pad{opacity:.5}.sp-disabled .sp-canvas{cursor:not-allowed}.sp-cursor{position:absolute;width:8px;height:8px;border-radius:9999px;pointer-events:none;background:#2563eb;border:2px solid #fff;box-shadow:0 1px 4px #00000059;transform:translate(-50%,-50%)}.sp-cursor.is-drawing{animation:sp-pulse 1s ease-in-out infinite}@keyframes sp-pulse{50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.sp-cursor.is-drawing{animation:none}}.sp-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.sp-desc-error{color:#ef4444}.sp-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"]
32752
+ styles: [":host{display:block}.sp-field{display:flex;flex-direction:column;gap:6px}.sp-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.sp-pad{position:relative;border:2px solid #d1d5db;border-radius:8px;background:#f9fafb}.sp-error .sp-pad{border-color:#ef4444}.sp-canvas{display:block;width:100%;height:auto;cursor:crosshair;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;border-radius:6px}.sp-canvas:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.sp-disabled .sp-pad{opacity:.5}.sp-disabled .sp-canvas{cursor:not-allowed}.sp-cursor{position:absolute;width:8px;height:8px;border-radius:9999px;pointer-events:none;background:#2563eb;border:2px solid #fff;box-shadow:0 1px 4px #00000059;transform:translate(-50%,-50%)}.sp-cursor.is-drawing{animation:sp-pulse 1s ease-in-out infinite}@keyframes sp-pulse{50%{opacity:.5}}@media(prefers-reduced-motion:reduce){.sp-cursor.is-drawing{animation:none}}.sp-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.sp-desc-error{color:#dc2626}.sp-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}\n"]
32230
32753
  }]
32231
32754
  }],
32232
32755
  ctorParameters: () => [],
@@ -32927,7 +33450,7 @@ var DetailCardComponent = class DetailCardComponent {
32927
33450
  </div>
32928
33451
  `,
32929
33452
  isInline: true,
32930
- styles: [":host{display:block;margin-bottom:16px}:host(:last-child){margin-bottom:0}:host(.dc-fill-host){height:100%;margin-bottom:0}.dc.dc-fill{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.dc.dc-fill .dc-body-wrap{flex:1 1 auto;min-height:0}.dc-selectable{cursor:pointer}.dc-selected{outline:2px solid #3b82f6;outline-offset:-1px}.dc{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dc-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:14px 18px}.dc-header.open{border-bottom:1px solid #f1f5f9}.dc-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}@media(hover:hover){.dc-header.collapsible:hover{background:#f8fafc}}.dc-chevron{flex-shrink:0;color:var(--dc-text, #64748b)}.dc-chevron svg{transition:transform .2s}.dc-chevron svg.rotated{transform:rotate(-90deg)}.dc-header-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.dc-title{font-size:.8125rem;font-weight:800;letter-spacing:.07em;color:var(--dc-text, #1e293b);line-height:1.3;text-transform:uppercase}.dc-title--as-written{text-transform:none}.dc-subtitle{font-size:.75rem;color:var(--dc-text, #475569)}.dc-has-text-color .dc-subtitle{opacity:.8}.dc-has-text-color .dc-header.open{border-bottom-color:#94a3b859}.dc-edit{flex-shrink:0;margin-left:auto}.dc-edit ::ng-deep button{font-size:.8rem;font-weight:500;color:#64748b;background:none;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;gap:5px}.dc-edit ::ng-deep button:hover{background:#f1f5f9;color:#1e293b}.dc-body-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease}.dc-body-wrap.collapsed{grid-template-rows:0fr}.dc-body{padding:16px 18px;min-height:0;overflow:hidden}@media(max-width:480px){.dc-header{padding:12px 14px}.dc-body{padding:14px}.dc-edit{margin-left:0}}@media(prefers-reduced-motion:reduce){.dc-body-wrap,.dc-chevron svg{transition:none}}\n"],
33453
+ styles: [":host{display:block;margin-bottom:16px}:host(:last-child){margin-bottom:0}:host(.dc-fill-host){height:100%;margin-bottom:0}.dc.dc-fill{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.dc.dc-fill .dc-body-wrap{flex:1 1 auto;min-height:0}.dc.dc-fill .dc-body{display:flex;flex-direction:column}.dc-selectable{cursor:pointer}.dc-selected{outline:2px solid #3b82f6;outline-offset:-1px}.dc{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dc-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:14px 18px}.dc-header.open{border-bottom:1px solid #f1f5f9}.dc-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}@media(hover:hover){.dc-header.collapsible:hover{background:#f8fafc}}.dc-chevron{flex-shrink:0;color:var(--dc-text, #64748b)}.dc-chevron svg{transition:transform .2s}.dc-chevron svg.rotated{transform:rotate(-90deg)}.dc-header-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.dc-title{font-size:.8125rem;font-weight:800;letter-spacing:.07em;color:var(--dc-text, #1e293b);line-height:1.3;text-transform:uppercase}.dc-title--as-written{text-transform:none}.dc-subtitle{font-size:.75rem;color:var(--dc-text, #475569)}.dc-has-text-color .dc-subtitle{opacity:.8}.dc-has-text-color .dc-header.open{border-bottom-color:#94a3b859}.dc-edit{flex-shrink:0;margin-left:auto}.dc-edit ::ng-deep button{font-size:.8rem;font-weight:500;color:#64748b;background:none;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;gap:5px}.dc-edit ::ng-deep button:hover{background:#f1f5f9;color:#1e293b}.dc-body-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease}.dc-body-wrap.collapsed{grid-template-rows:0fr}.dc-body{padding:16px 18px;min-height:0;overflow:hidden}@media(max-width:480px){.dc-header{padding:12px 14px}.dc-body{padding:14px}.dc-edit{margin-left:0}}@media(prefers-reduced-motion:reduce){.dc-body-wrap,.dc-chevron svg{transition:none}}\n"],
32931
33454
  dependencies: [{
32932
33455
  kind: "component",
32933
33456
  type: ButtonComponent,
@@ -33026,7 +33549,7 @@ i0.ɵɵngDeclareClassMetadata({
33026
33549
  </div>
33027
33550
  </div>
33028
33551
  `,
33029
- styles: [":host{display:block;margin-bottom:16px}:host(:last-child){margin-bottom:0}:host(.dc-fill-host){height:100%;margin-bottom:0}.dc.dc-fill{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.dc.dc-fill .dc-body-wrap{flex:1 1 auto;min-height:0}.dc-selectable{cursor:pointer}.dc-selected{outline:2px solid #3b82f6;outline-offset:-1px}.dc{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dc-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:14px 18px}.dc-header.open{border-bottom:1px solid #f1f5f9}.dc-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}@media(hover:hover){.dc-header.collapsible:hover{background:#f8fafc}}.dc-chevron{flex-shrink:0;color:var(--dc-text, #64748b)}.dc-chevron svg{transition:transform .2s}.dc-chevron svg.rotated{transform:rotate(-90deg)}.dc-header-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.dc-title{font-size:.8125rem;font-weight:800;letter-spacing:.07em;color:var(--dc-text, #1e293b);line-height:1.3;text-transform:uppercase}.dc-title--as-written{text-transform:none}.dc-subtitle{font-size:.75rem;color:var(--dc-text, #475569)}.dc-has-text-color .dc-subtitle{opacity:.8}.dc-has-text-color .dc-header.open{border-bottom-color:#94a3b859}.dc-edit{flex-shrink:0;margin-left:auto}.dc-edit ::ng-deep button{font-size:.8rem;font-weight:500;color:#64748b;background:none;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;gap:5px}.dc-edit ::ng-deep button:hover{background:#f1f5f9;color:#1e293b}.dc-body-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease}.dc-body-wrap.collapsed{grid-template-rows:0fr}.dc-body{padding:16px 18px;min-height:0;overflow:hidden}@media(max-width:480px){.dc-header{padding:12px 14px}.dc-body{padding:14px}.dc-edit{margin-left:0}}@media(prefers-reduced-motion:reduce){.dc-body-wrap,.dc-chevron svg{transition:none}}\n"]
33552
+ styles: [":host{display:block;margin-bottom:16px}:host(:last-child){margin-bottom:0}:host(.dc-fill-host){height:100%;margin-bottom:0}.dc.dc-fill{height:100%;box-sizing:border-box;display:flex;flex-direction:column}.dc.dc-fill .dc-body-wrap{flex:1 1 auto;min-height:0}.dc.dc-fill .dc-body{display:flex;flex-direction:column}.dc-selectable{cursor:pointer}.dc-selected{outline:2px solid #3b82f6;outline-offset:-1px}.dc{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.dc-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:14px 18px}.dc-header.open{border-bottom:1px solid #f1f5f9}.dc-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}@media(hover:hover){.dc-header.collapsible:hover{background:#f8fafc}}.dc-chevron{flex-shrink:0;color:var(--dc-text, #64748b)}.dc-chevron svg{transition:transform .2s}.dc-chevron svg.rotated{transform:rotate(-90deg)}.dc-header-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.dc-title{font-size:.8125rem;font-weight:800;letter-spacing:.07em;color:var(--dc-text, #1e293b);line-height:1.3;text-transform:uppercase}.dc-title--as-written{text-transform:none}.dc-subtitle{font-size:.75rem;color:var(--dc-text, #475569)}.dc-has-text-color .dc-subtitle{opacity:.8}.dc-has-text-color .dc-header.open{border-bottom-color:#94a3b859}.dc-edit{flex-shrink:0;margin-left:auto}.dc-edit ::ng-deep button{font-size:.8rem;font-weight:500;color:#64748b;background:none;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;gap:5px}.dc-edit ::ng-deep button:hover{background:#f1f5f9;color:#1e293b}.dc-body-wrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .25s ease}.dc-body-wrap.collapsed{grid-template-rows:0fr}.dc-body{padding:16px 18px;min-height:0;overflow:hidden}@media(max-width:480px){.dc-header{padding:12px 14px}.dc-body{padding:14px}.dc-edit{margin-left:0}}@media(prefers-reduced-motion:reduce){.dc-body-wrap,.dc-chevron svg{transition:none}}\n"]
33030
33553
  }]
33031
33554
  }],
33032
33555
  propDecorators: {
@@ -33765,7 +34288,7 @@ var ColorInputComponent = class ColorInputComponent {
33765
34288
  </div>
33766
34289
  `,
33767
34290
  isInline: true,
33768
- styles: [":host{display:block}.co-field{display:flex;flex-direction:column;gap:6px}.co-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.co-required{color:#ef4444;margin-left:2px}.co-row{display:flex;align-items:center;gap:8px}.co-swatch{position:relative;flex-shrink:0;width:38px;height:38px;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}.co-swatch:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.co-preview{position:absolute;inset:0;display:block}.co-native{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;-webkit-appearance:none;appearance:none;background:transparent}.co-native::-webkit-color-swatch-wrapper{padding:0}.co-native::-webkit-color-swatch{border:0;border-radius:0}.co-native::-moz-color-swatch{border:0;border-radius:0}.co-text{flex:1;min-width:0;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.co-text::placeholder{color:#94a3b8}.co-text:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.co-presets{display:flex;flex-wrap:wrap;gap:8px}.co-preset{width:28px;height:28px;padding:0;box-sizing:border-box;cursor:pointer;border:1px solid #cbd5e1;border-radius:50%}.co-preset-selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #3b82f6}.co-preset:focus{outline:2px solid #3b82f6;outline-offset:2px}.co-preset:focus:not(:focus-visible){outline:none}.co-error .co-text,.co-error .co-swatch{border-color:#ef4444}.co-error .co-text:focus{box-shadow:0 0 0 3px #ef44441f}.co-disabled .co-text,.co-disabled .co-swatch,.co-disabled .co-preset{opacity:.5;cursor:not-allowed}.co-disabled .co-native{cursor:not-allowed}.co-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.co-desc-error{color:#ef4444}@media(max-width:480px){.co-text{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.co-text{min-height:44px}.co-swatch,.co-preset{width:44px;height:44px}}\n"],
34291
+ styles: [":host{display:block}.co-field{display:flex;flex-direction:column;gap:6px}.co-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.co-required{color:#dc2626;margin-left:2px}.co-row{display:flex;align-items:center;gap:8px}.co-swatch{position:relative;flex-shrink:0;width:38px;height:38px;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}.co-swatch:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.co-preview{position:absolute;inset:0;display:block}.co-native{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;-webkit-appearance:none;appearance:none;background:transparent}.co-native::-webkit-color-swatch-wrapper{padding:0}.co-native::-webkit-color-swatch{border:0;border-radius:0}.co-native::-moz-color-swatch{border:0;border-radius:0}.co-text{flex:1;min-width:0;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.co-text::placeholder{color:#94a3b8}.co-text:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.co-presets{display:flex;flex-wrap:wrap;gap:8px}.co-preset{width:28px;height:28px;padding:0;box-sizing:border-box;cursor:pointer;border:1px solid #cbd5e1;border-radius:50%}.co-preset-selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #3b82f6}.co-preset:focus{outline:2px solid #3b82f6;outline-offset:2px}.co-preset:focus:not(:focus-visible){outline:none}.co-error .co-text,.co-error .co-swatch{border-color:#ef4444}.co-error .co-text:focus{box-shadow:0 0 0 3px #ef44441f}.co-disabled .co-text,.co-disabled .co-swatch,.co-disabled .co-preset{opacity:.5;cursor:not-allowed}.co-disabled .co-native{cursor:not-allowed}.co-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.co-desc-error{color:#dc2626}@media(max-width:480px){.co-text{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.co-text{min-height:44px}.co-swatch,.co-preset{width:44px;height:44px}}\n"],
33769
34292
  changeDetection: i0.ChangeDetectionStrategy.OnPush
33770
34293
  });
33771
34294
  }
@@ -33858,7 +34381,7 @@ i0.ɵɵngDeclareClassMetadata({
33858
34381
  }
33859
34382
  </div>
33860
34383
  `,
33861
- styles: [":host{display:block}.co-field{display:flex;flex-direction:column;gap:6px}.co-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.co-required{color:#ef4444;margin-left:2px}.co-row{display:flex;align-items:center;gap:8px}.co-swatch{position:relative;flex-shrink:0;width:38px;height:38px;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}.co-swatch:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.co-preview{position:absolute;inset:0;display:block}.co-native{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;-webkit-appearance:none;appearance:none;background:transparent}.co-native::-webkit-color-swatch-wrapper{padding:0}.co-native::-webkit-color-swatch{border:0;border-radius:0}.co-native::-moz-color-swatch{border:0;border-radius:0}.co-text{flex:1;min-width:0;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.co-text::placeholder{color:#94a3b8}.co-text:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.co-presets{display:flex;flex-wrap:wrap;gap:8px}.co-preset{width:28px;height:28px;padding:0;box-sizing:border-box;cursor:pointer;border:1px solid #cbd5e1;border-radius:50%}.co-preset-selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #3b82f6}.co-preset:focus{outline:2px solid #3b82f6;outline-offset:2px}.co-preset:focus:not(:focus-visible){outline:none}.co-error .co-text,.co-error .co-swatch{border-color:#ef4444}.co-error .co-text:focus{box-shadow:0 0 0 3px #ef44441f}.co-disabled .co-text,.co-disabled .co-swatch,.co-disabled .co-preset{opacity:.5;cursor:not-allowed}.co-disabled .co-native{cursor:not-allowed}.co-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.co-desc-error{color:#ef4444}@media(max-width:480px){.co-text{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.co-text{min-height:44px}.co-swatch,.co-preset{width:44px;height:44px}}\n"]
34384
+ styles: [":host{display:block}.co-field{display:flex;flex-direction:column;gap:6px}.co-label{font-size:.8125rem;font-weight:600;color:#374151;line-height:1}.co-required{color:#dc2626;margin-left:2px}.co-row{display:flex;align-items:center;gap:8px}.co-swatch{position:relative;flex-shrink:0;width:38px;height:38px;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}.co-swatch:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.co-preview{position:absolute;inset:0;display:block}.co-native{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer;-webkit-appearance:none;appearance:none;background:transparent}.co-native::-webkit-color-swatch-wrapper{padding:0}.co-native::-webkit-color-swatch{border:0;border-radius:0}.co-native::-moz-color-swatch{border:0;border-radius:0}.co-text{flex:1;min-width:0;box-sizing:border-box;padding:9px 12px;font-size:.875rem;font-family:inherit;color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-radius:8px;outline:none;transition:border-color .15s,box-shadow .15s}.co-text::placeholder{color:#94a3b8}.co-text:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.co-presets{display:flex;flex-wrap:wrap;gap:8px}.co-preset{width:28px;height:28px;padding:0;box-sizing:border-box;cursor:pointer;border:1px solid #cbd5e1;border-radius:50%}.co-preset-selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #3b82f6}.co-preset:focus{outline:2px solid #3b82f6;outline-offset:2px}.co-preset:focus:not(:focus-visible){outline:none}.co-error .co-text,.co-error .co-swatch{border-color:#ef4444}.co-error .co-text:focus{box-shadow:0 0 0 3px #ef44441f}.co-disabled .co-text,.co-disabled .co-swatch,.co-disabled .co-preset{opacity:.5;cursor:not-allowed}.co-disabled .co-native{cursor:not-allowed}.co-desc{margin:0;font-size:.75rem;line-height:1.4;color:#64748b}.co-desc-error{color:#dc2626}@media(max-width:480px){.co-text{font-size:1rem}}@media(pointer:coarse),(max-width:480px){.co-text{min-height:44px}.co-swatch,.co-preset{width:44px;height:44px}}\n"]
33862
34385
  }]
33863
34386
  }],
33864
34387
  ctorParameters: () => [],
@@ -33962,6 +34485,9 @@ var SectionHeaderComponent = class SectionHeaderComponent {
33962
34485
  this.iconBackground = input("", ...ngDevMode ? [{ debugName: "iconBackground" }] : /* istanbul ignore next */ []);
33963
34486
  this.bordered = input(false, ...ngDevMode ? [{ debugName: "bordered" }] : /* istanbul ignore next */ []);
33964
34487
  this.size = input("md", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
34488
+ this.noPaddingTop = input(false, ...ngDevMode ? [{ debugName: "noPaddingTop" }] : /* istanbul ignore next */ []);
34489
+ this.noPaddingLeft = input(false, ...ngDevMode ? [{ debugName: "noPaddingLeft" }] : /* istanbul ignore next */ []);
34490
+ this.noPaddingBottom = input(false, ...ngDevMode ? [{ debugName: "noPaddingBottom" }] : /* istanbul ignore next */ []);
33965
34491
  this.titleId = `ui-sh-title-${++nextSectionHeaderId}`;
33966
34492
  this.descriptionId = `ui-sh-desc-${nextSectionHeaderId}`;
33967
34493
  this.headingLevel = computed(() => {
@@ -34057,12 +34583,34 @@ var SectionHeaderComponent = class SectionHeaderComponent {
34057
34583
  isSignal: true,
34058
34584
  isRequired: false,
34059
34585
  transformFunction: null
34586
+ },
34587
+ noPaddingTop: {
34588
+ classPropertyName: "noPaddingTop",
34589
+ publicName: "noPaddingTop",
34590
+ isSignal: true,
34591
+ isRequired: false,
34592
+ transformFunction: null
34593
+ },
34594
+ noPaddingLeft: {
34595
+ classPropertyName: "noPaddingLeft",
34596
+ publicName: "noPaddingLeft",
34597
+ isSignal: true,
34598
+ isRequired: false,
34599
+ transformFunction: null
34600
+ },
34601
+ noPaddingBottom: {
34602
+ classPropertyName: "noPaddingBottom",
34603
+ publicName: "noPaddingBottom",
34604
+ isSignal: true,
34605
+ isRequired: false,
34606
+ transformFunction: null
34060
34607
  }
34061
34608
  },
34062
34609
  host: { properties: { "attr.title": "null" } },
34063
34610
  ngImport: i0,
34064
34611
  template: `
34065
34612
  <div class="sh" [class.sh-sm]="size() === 'sm'" [class.sh-lg]="size() === 'lg'" [class.sh-xl]="size() === 'xl'" [class.sh-has-bg]="!!background()" [class.sh-has-text-color]="!!textColor()" [class.sh-bordered]="bordered()"
34613
+ [class.sh-no-pt]="noPaddingTop()" [class.sh-no-pl]="noPaddingLeft()" [class.sh-no-pb]="noPaddingBottom()"
34066
34614
  [style.--sh-bg]="background() || null" [style.--sh-text]="textColor() || null" [style.--sh-icon]="iconColor() || null" [style.--sh-icon-bg]="iconBackground() || null">
34067
34615
  <span class="sh-icon" aria-hidden="true"><ng-content select="[section-header-icon]" />@if (path(); as d) {<svg class="sh-glyph" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" focusable="false"><path [attr.d]="d" /></svg>}</span>
34068
34616
  <div class="sh-text">
@@ -34073,7 +34621,7 @@ var SectionHeaderComponent = class SectionHeaderComponent {
34073
34621
  </div>
34074
34622
  `,
34075
34623
  isInline: true,
34076
- styles: [":host{display:block}.sh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;box-sizing:border-box;padding:14px 18px;background:var(--sh-bg, transparent)}.sh-has-bg{border-radius:10px}.sh-bordered{border:1px solid #e2e8f0;border-radius:10px}.sh-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--sh-icon-bg, #f1f5f9);color:var(--sh-icon, #2563eb)}.sh-has-bg .sh-icon{background:var(--sh-icon-bg, #fff)}.sh-icon:empty{display:none}.sh-glyph,.sh-icon ::ng-deep svg{display:block;width:16px;height:16px}.sh-icon ::ng-deep [section-header-icon]~.sh-glyph{display:none}.sh-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.sh-title{margin:0;font-size:1rem;font-weight:700;line-height:1.3;color:var(--sh-text, #0f172a)}.sh-description{margin:0;font-size:.8125rem;line-height:1.45;color:#64748b}.sh-has-bg .sh-description{color:#475569}.sh-has-text-color .sh-description{color:var(--sh-text);opacity:.8}.sh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0;margin-left:auto}.sh-actions:empty{display:none}.sh-sm{gap:6px 10px}.sh-sm .sh-icon{width:24px;height:24px;border-radius:6px}.sh-sm .sh-glyph,.sh-sm .sh-icon ::ng-deep svg{width:14px;height:14px}.sh-sm .sh-title{font-size:.875rem}.sh-sm .sh-description{font-size:.75rem}.sh-lg{gap:8px 14px;padding:18px 22px}.sh-lg .sh-icon{width:36px;height:36px;border-radius:10px}.sh-lg .sh-glyph,.sh-lg .sh-icon ::ng-deep svg{width:20px;height:20px}.sh-lg .sh-title{font-size:1.25rem}.sh-lg .sh-description{font-size:.9375rem}.sh-xl{gap:10px 16px;padding:22px 26px}.sh-xl .sh-icon{width:44px;height:44px;border-radius:12px}.sh-xl .sh-glyph,.sh-xl .sh-icon ::ng-deep svg{width:24px;height:24px}.sh-xl .sh-title{font-size:1.5rem}.sh-xl .sh-description{font-size:1rem}@media(max-width:480px){.sh{padding:12px 14px}.sh-lg{padding:14px 16px}.sh-xl{padding:16px 18px}.sh-xl .sh-title{font-size:1.375rem}.sh-actions{flex:1 1 100%;margin-left:0;flex-shrink:1}}\n"],
34624
+ styles: [":host{display:block}.sh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;box-sizing:border-box;padding:14px 18px;background:var(--sh-bg, transparent)}.sh-has-bg{border-radius:10px}.sh-bordered{border:1px solid #e2e8f0;border-radius:10px}.sh-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--sh-icon-bg, #f1f5f9);color:var(--sh-icon, #2563eb)}.sh-has-bg .sh-icon{background:var(--sh-icon-bg, #fff)}.sh-icon:empty{display:none}.sh-glyph,.sh-icon ::ng-deep svg{display:block;width:16px;height:16px}.sh-icon ::ng-deep [section-header-icon]~.sh-glyph{display:none}.sh-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.sh-title{margin:0;font-size:1rem;font-weight:700;line-height:1.3;color:var(--sh-text, #0f172a)}.sh-description{margin:0;font-size:.8125rem;line-height:1.45;color:#64748b}.sh-has-bg .sh-description{color:#475569}.sh-has-text-color .sh-description{color:var(--sh-text);opacity:.8}.sh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0;margin-left:auto}.sh-actions:empty{display:none}.sh-sm{gap:6px 10px}.sh-sm .sh-icon{width:24px;height:24px;border-radius:6px}.sh-sm .sh-glyph,.sh-sm .sh-icon ::ng-deep svg{width:14px;height:14px}.sh-sm .sh-title{font-size:.875rem}.sh-sm .sh-description{font-size:.75rem}.sh-lg{gap:8px 14px;padding:18px 22px}.sh-lg .sh-icon{width:36px;height:36px;border-radius:10px}.sh-lg .sh-glyph,.sh-lg .sh-icon ::ng-deep svg{width:20px;height:20px}.sh-lg .sh-title{font-size:1.25rem}.sh-lg .sh-description{font-size:.9375rem}.sh-xl{gap:10px 16px;padding:22px 26px}.sh-xl .sh-icon{width:44px;height:44px;border-radius:12px}.sh-xl .sh-glyph,.sh-xl .sh-icon ::ng-deep svg{width:24px;height:24px}.sh-xl .sh-title{font-size:1.5rem}.sh-xl .sh-description{font-size:1rem}.sh.sh-no-pt{padding-top:0}.sh.sh-no-pl{padding-left:0}.sh.sh-no-pb{padding-bottom:0}@media(max-width:480px){.sh{padding:12px 14px}.sh-lg{padding:14px 16px}.sh-xl{padding:16px 18px}.sh-xl .sh-title{font-size:1.375rem}.sh-actions{flex:1 1 100%;margin-left:0;flex-shrink:1}}\n"],
34077
34625
  changeDetection: i0.ChangeDetectionStrategy.OnPush
34078
34626
  });
34079
34627
  }
@@ -34092,6 +34640,7 @@ i0.ɵɵngDeclareClassMetadata({
34092
34640
  host: { "[attr.title]": "null" },
34093
34641
  template: `
34094
34642
  <div class="sh" [class.sh-sm]="size() === 'sm'" [class.sh-lg]="size() === 'lg'" [class.sh-xl]="size() === 'xl'" [class.sh-has-bg]="!!background()" [class.sh-has-text-color]="!!textColor()" [class.sh-bordered]="bordered()"
34643
+ [class.sh-no-pt]="noPaddingTop()" [class.sh-no-pl]="noPaddingLeft()" [class.sh-no-pb]="noPaddingBottom()"
34095
34644
  [style.--sh-bg]="background() || null" [style.--sh-text]="textColor() || null" [style.--sh-icon]="iconColor() || null" [style.--sh-icon-bg]="iconBackground() || null">
34096
34645
  <span class="sh-icon" aria-hidden="true"><ng-content select="[section-header-icon]" />@if (path(); as d) {<svg class="sh-glyph" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" focusable="false"><path [attr.d]="d" /></svg>}</span>
34097
34646
  <div class="sh-text">
@@ -34101,7 +34650,7 @@ i0.ɵɵngDeclareClassMetadata({
34101
34650
  <div class="sh-actions"><ng-content select="[section-header-actions]" /></div>
34102
34651
  </div>
34103
34652
  `,
34104
- styles: [":host{display:block}.sh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;box-sizing:border-box;padding:14px 18px;background:var(--sh-bg, transparent)}.sh-has-bg{border-radius:10px}.sh-bordered{border:1px solid #e2e8f0;border-radius:10px}.sh-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--sh-icon-bg, #f1f5f9);color:var(--sh-icon, #2563eb)}.sh-has-bg .sh-icon{background:var(--sh-icon-bg, #fff)}.sh-icon:empty{display:none}.sh-glyph,.sh-icon ::ng-deep svg{display:block;width:16px;height:16px}.sh-icon ::ng-deep [section-header-icon]~.sh-glyph{display:none}.sh-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.sh-title{margin:0;font-size:1rem;font-weight:700;line-height:1.3;color:var(--sh-text, #0f172a)}.sh-description{margin:0;font-size:.8125rem;line-height:1.45;color:#64748b}.sh-has-bg .sh-description{color:#475569}.sh-has-text-color .sh-description{color:var(--sh-text);opacity:.8}.sh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0;margin-left:auto}.sh-actions:empty{display:none}.sh-sm{gap:6px 10px}.sh-sm .sh-icon{width:24px;height:24px;border-radius:6px}.sh-sm .sh-glyph,.sh-sm .sh-icon ::ng-deep svg{width:14px;height:14px}.sh-sm .sh-title{font-size:.875rem}.sh-sm .sh-description{font-size:.75rem}.sh-lg{gap:8px 14px;padding:18px 22px}.sh-lg .sh-icon{width:36px;height:36px;border-radius:10px}.sh-lg .sh-glyph,.sh-lg .sh-icon ::ng-deep svg{width:20px;height:20px}.sh-lg .sh-title{font-size:1.25rem}.sh-lg .sh-description{font-size:.9375rem}.sh-xl{gap:10px 16px;padding:22px 26px}.sh-xl .sh-icon{width:44px;height:44px;border-radius:12px}.sh-xl .sh-glyph,.sh-xl .sh-icon ::ng-deep svg{width:24px;height:24px}.sh-xl .sh-title{font-size:1.5rem}.sh-xl .sh-description{font-size:1rem}@media(max-width:480px){.sh{padding:12px 14px}.sh-lg{padding:14px 16px}.sh-xl{padding:16px 18px}.sh-xl .sh-title{font-size:1.375rem}.sh-actions{flex:1 1 100%;margin-left:0;flex-shrink:1}}\n"]
34653
+ styles: [":host{display:block}.sh{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;box-sizing:border-box;padding:14px 18px;background:var(--sh-bg, transparent)}.sh-has-bg{border-radius:10px}.sh-bordered{border:1px solid #e2e8f0;border-radius:10px}.sh-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:var(--sh-icon-bg, #f1f5f9);color:var(--sh-icon, #2563eb)}.sh-has-bg .sh-icon{background:var(--sh-icon-bg, #fff)}.sh-icon:empty{display:none}.sh-glyph,.sh-icon ::ng-deep svg{display:block;width:16px;height:16px}.sh-icon ::ng-deep [section-header-icon]~.sh-glyph{display:none}.sh-text{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0;word-break:break-word;overflow-wrap:anywhere}.sh-title{margin:0;font-size:1rem;font-weight:700;line-height:1.3;color:var(--sh-text, #0f172a)}.sh-description{margin:0;font-size:.8125rem;line-height:1.45;color:#64748b}.sh-has-bg .sh-description{color:#475569}.sh-has-text-color .sh-description{color:var(--sh-text);opacity:.8}.sh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex-shrink:0;margin-left:auto}.sh-actions:empty{display:none}.sh-sm{gap:6px 10px}.sh-sm .sh-icon{width:24px;height:24px;border-radius:6px}.sh-sm .sh-glyph,.sh-sm .sh-icon ::ng-deep svg{width:14px;height:14px}.sh-sm .sh-title{font-size:.875rem}.sh-sm .sh-description{font-size:.75rem}.sh-lg{gap:8px 14px;padding:18px 22px}.sh-lg .sh-icon{width:36px;height:36px;border-radius:10px}.sh-lg .sh-glyph,.sh-lg .sh-icon ::ng-deep svg{width:20px;height:20px}.sh-lg .sh-title{font-size:1.25rem}.sh-lg .sh-description{font-size:.9375rem}.sh-xl{gap:10px 16px;padding:22px 26px}.sh-xl .sh-icon{width:44px;height:44px;border-radius:12px}.sh-xl .sh-glyph,.sh-xl .sh-icon ::ng-deep svg{width:24px;height:24px}.sh-xl .sh-title{font-size:1.5rem}.sh-xl .sh-description{font-size:1rem}.sh.sh-no-pt{padding-top:0}.sh.sh-no-pl{padding-left:0}.sh.sh-no-pb{padding-bottom:0}@media(max-width:480px){.sh{padding:12px 14px}.sh-lg{padding:14px 16px}.sh-xl{padding:16px 18px}.sh-xl .sh-title{font-size:1.375rem}.sh-actions{flex:1 1 100%;margin-left:0;flex-shrink:1}}\n"]
34105
34654
  }]
34106
34655
  }],
34107
34656
  propDecorators: {
@@ -34184,6 +34733,30 @@ i0.ɵɵngDeclareClassMetadata({
34184
34733
  alias: "size",
34185
34734
  required: false
34186
34735
  }]
34736
+ }],
34737
+ noPaddingTop: [{
34738
+ type: i0.Input,
34739
+ args: [{
34740
+ isSignal: true,
34741
+ alias: "noPaddingTop",
34742
+ required: false
34743
+ }]
34744
+ }],
34745
+ noPaddingLeft: [{
34746
+ type: i0.Input,
34747
+ args: [{
34748
+ isSignal: true,
34749
+ alias: "noPaddingLeft",
34750
+ required: false
34751
+ }]
34752
+ }],
34753
+ noPaddingBottom: [{
34754
+ type: i0.Input,
34755
+ args: [{
34756
+ isSignal: true,
34757
+ alias: "noPaddingBottom",
34758
+ required: false
34759
+ }]
34187
34760
  }]
34188
34761
  }
34189
34762
  });
@@ -36934,7 +37507,8 @@ var ImageGalleryDialogComponent = class ImageGalleryDialogComponent {
36934
37507
  "bodyOverflow",
36935
37508
  "dialogTestId",
36936
37509
  "hideClose",
36937
- "closable"
37510
+ "closable",
37511
+ "returnFocusTo"
36938
37512
  ],
36939
37513
  outputs: ["close"]
36940
37514
  },