import { useQuery as Oe, keepPreviousData as Br, useQueryClient as za, useMutation as Gr, useInfiniteQuery as Lr } from "@tanstack/react-query"; import { v6 as Yn, fetchIcebergV6 as Vn, apiClient as ct, FilterComparator as rt, FilterTypeCategories as ie, FilterCategories as di, applyFilters as gi, fetchIcebergV2 as Wr } from "@ovh-ux/manager-core-api"; import { FilterTypeCategories as nv } from "@ovh-ux/manager-core-api"; import * as Aa from "react"; import Ae, { useContext as ln, useState as F, useEffect as te, Suspense as mi, useCallback as _t, useMemo as Pe, useRef as Nt, Fragment as fi, useId as pi, createContext as hi } from "react"; import { useLocation as Qr, useParams as vi, Navigate as bi, useRouteError as wi, useSearchParams as Ai } from "react-router-dom"; import { ShellContext as cn, useOvhTracking as xi, PageType as yi, useRouteSynchro as Pi, useEnvironment as Ci, useTracking as ji } from "@ovh-ux/manager-react-shell-client"; import { useTranslation as Q, Trans as Si } from "react-i18next"; import { OdsMessage as Ht, OdsText as J, OdsButton as L, OdsLink as ot, OdsSpinner as Oa, OdsBreadcrumb as Ei, OdsBreadcrumbItem as Mi, OdsClipboard as Xr, OdsIcon as Bn, OdsCard as rn, OdsBadge as It, OdsDivider as xa, OdsTooltip as ka, OdsPopover as Ft, OdsModal as Jn, OdsFormField as vt, OdsInput as on, OdsSkeleton as Gn, OdsCombobox as ar, OdsComboboxItem as rr, OdsSelect as la, OdsDatepicker as Ri, OdsTag as Di, OdsCheckbox as or, OdsTable as zi, OdsPagination as Oi } from "@ovhcloud/ods-components/react"; import { ODS_SPINNER_SIZE as Ta, ODS_ICON_NAME as se, ODS_BUTTON_SIZE as xe, ODS_BUTTON_VARIANT as le, ODS_LINK_ICON_ALIGNMENT as ir, ODS_LINK_COLOR as ki, ODS_TEXT_PRESET as pe, ODS_CARD_COLOR as Yr, ODS_POPOVER_POSITION as Vr, ODS_MESSAGE_COLOR as Ue, ODS_BUTTON_ICON_ALIGNMENT as Jr, ODS_MODAL_COLOR as Ln, ODS_BUTTON_COLOR as bt, ODS_INPUT_TYPE as Wn, ODS_TAG_COLOR as Ti } from "@ovhcloud/ods-components"; import "react-dom"; import ce from "i18next"; import { create as Ni } from "zustand"; const _i = async (e) => { const { data: n } = await Yn.get( `/cloud/project/${e}/quota` ); return n; }, Up = (e) => Oe({ queryKey: ["project", e, "quota"], queryFn: () => _i(e) }), Ii = ({ rootLabel: e, appName: n, hideRootLabel: t = !1 }) => { const { shell: a } = ln(cn), [r, o] = F([]), [s, c] = F([]), l = Qr(); return te(() => { (async () => { try { const m = await (a == null ? void 0 : a.navigation.getURL(n, "#/", {})), p = { label: e, href: String(m), hideLabel: t }; o([p]); } catch { } })(); }, [e, n, a == null ? void 0 : a.navigation]), te(() => { const g = l == null ? void 0 : l.pathname.split("/").filter((p) => p), m = g == null ? void 0 : g.map((p) => ({ label: p, href: `/#/${n}/${p}`, hideLabel: !1 })); c(m); }, [l.pathname]), [...r, ...s]; }, Hi = () => { const e = ln(cn), [n, t] = F(null); return te(() => { var a; t((a = e == null ? void 0 : e.environment) == null ? void 0 : a.getUser()); }, [e == null ? void 0 : e.environment]), { me: n }; }, Fi = ["SG", "ASIA", "AU", "IN"], Bi = [ "CZ", "ES", "FR", "GB", "IE", "IT", "LT", "MA", "NL", "PL", "PT", "TN" ], Gi = ["DE", "FI", "SN"], Li = 730, qp = (e) => e * 1e8, Wi = (e) => e / 1e8, Kp = (e) => e * Li, $p = (e, n) => { const { i18n: t, t: a } = Q("order-price"), { me: r } = Hi(), o = Bi.includes(r == null ? void 0 : r.ovhSubsidiary), s = Fi.includes(r == null ? void 0 : r.ovhSubsidiary), c = Gi.includes(r == null ? void 0 : r.ovhSubsidiary), l = (n == null ? void 0 : n.exclVat) || s || o || c, g = (d) => { var y, P; const h = Wi(d), w = { style: "currency", currency: (y = r == null ? void 0 : r.currency) == null ? void 0 : y.code, ...e !== void 0 ? { maximumFractionDigits: e } : {} }; return r ? new Intl.NumberFormat( (P = t.language) == null ? void 0 : P.replace("_", "-"), w ).format(h) : ""; }, m = (d) => l && !(n != null && n.hideTaxLabel) && !c ? a("order_catalog_price_tax_excl_label", { price: g(d) }) : g(d); return { getTextPrice: g, getFormattedCatalogPrice: m, getFormattedHourlyCatalogPrice: (d) => `${m(d)} / ${a( "order_catalog_price_interval_hour" )}`, getFormattedMonthlyCatalogPrice: (d) => `${m(d)} / ${a( "order_catalog_price_interval_month" )}` }; }, Na = async (e) => { const { data: n } = await Vn({ route: `/cloud/project/${e}/region` }); return n; }, eh = (e) => Oe({ queryKey: ["project", e, "regions"], queryFn: () => Na(e) }), th = (e) => Oe({ queryKey: ["project", e, "regions", "local"], queryFn: () => Na(e), select: (n) => n.filter(({ type: t = [] }) => t === "localzone") }), nh = (e) => Oe({ queryKey: ["project", e, "regions", "non-local"], queryFn: () => Na(e), select: (n) => n.filter(({ type: t = [] }) => t !== "localzone") }), ah = (e) => { const { projectId: n } = vi(), { navigation: t } = ln(cn).shell, [a, r] = F("public-cloud"); return te(() => { t.getURL(e, `#/pci/projects/${n}`, {}).then((o) => { r(o); }); }, [n, t, e]), a; }, Qi = async (e) => { const n = await ct.aapi.get( `/feature/${e.join(",")}/availability` ), t = {}; return e.forEach((a) => { t[a] = a in n.data ? n.data[a] : !1; }), t; }, Xi = (e) => [`feature-availability-${e.join("-")}`], rh = (e, n = {}) => Oe({ ...n, queryKey: Xi(e), queryFn: () => Qi(e) }), Yi = "Feature availability service error", oh = ({ isFeatureAvailabilityServiceKo: e, featureAvailabilityResponse: n }) => [ { url: `/feature/${Object.keys(n).join( "," )}/availability`, response: () => e ? { message: Yi } : n, status: e ? 500 : 200, method: "get", api: "aapi" } ]; var nt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function Zr(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var Tn = { exports: {} }, qt = {}; /** * @license React * react-jsx-runtime.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var sr; function Vi() { if (sr) return qt; sr = 1; var e = Ae, n = Symbol.for("react.element"), t = Symbol.for("react.fragment"), a = Object.prototype.hasOwnProperty, r = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, o = { key: !0, ref: !0, __self: !0, __source: !0 }; function s(c, l, g) { var m, p = {}, b = null, d = null; g !== void 0 && (b = "" + g), l.key !== void 0 && (b = "" + l.key), l.ref !== void 0 && (d = l.ref); for (m in l) a.call(l, m) && !o.hasOwnProperty(m) && (p[m] = l[m]); if (c && c.defaultProps) for (m in l = c.defaultProps, l) p[m] === void 0 && (p[m] = l[m]); return { $$typeof: n, type: c, key: b, ref: d, props: p, _owner: r.current }; } return qt.Fragment = t, qt.jsx = s, qt.jsxs = s, qt; } var Kt = {}; /** * @license React * react-jsx-runtime.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var lr; function Ji() { return lr || (lr = 1, process.env.NODE_ENV !== "production" && function() { var e = Ae, n = Symbol.for("react.element"), t = Symbol.for("react.portal"), a = Symbol.for("react.fragment"), r = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), s = Symbol.for("react.provider"), c = Symbol.for("react.context"), l = Symbol.for("react.forward_ref"), g = Symbol.for("react.suspense"), m = Symbol.for("react.suspense_list"), p = Symbol.for("react.memo"), b = Symbol.for("react.lazy"), d = Symbol.for("react.offscreen"), h = Symbol.iterator, w = "@@iterator"; function y(f) { if (f === null || typeof f != "object") return null; var x = h && f[h] || f[w]; return typeof x == "function" ? x : null; } var P = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; function C(f) { { for (var x = arguments.length, S = new Array(x > 1 ? x - 1 : 0), z = 1; z < x; z++) S[z - 1] = arguments[z]; E("error", f, S); } } function E(f, x, S) { { var z = P.ReactDebugCurrentFrame, W = z.getStackAddendum(); W !== "" && (x += "%s", S = S.concat([W])); var Y = S.map(function(T) { return String(T); }); Y.unshift("Warning: " + x), Function.prototype.apply.call(console[f], console, Y); } } var _ = !1, X = !1, R = !1, D = !1, q = !1, ke; ke = Symbol.for("react.module.reference"); function Ie(f) { return !!(typeof f == "string" || typeof f == "function" || f === a || f === o || q || f === r || f === g || f === m || D || f === d || _ || X || R || typeof f == "object" && f !== null && (f.$$typeof === b || f.$$typeof === p || f.$$typeof === s || f.$$typeof === c || f.$$typeof === l || // This needs to include all possible module reference object // types supported by any Flight configuration anywhere since // we don't know which Flight build this will end up being used // with. f.$$typeof === ke || f.getModuleId !== void 0)); } function Me(f, x, S) { var z = f.displayName; if (z) return z; var W = x.displayName || x.name || ""; return W !== "" ? S + "(" + W + ")" : S; } function ve(f) { return f.displayName || "Context"; } function Ce(f) { if (f == null) return null; if (typeof f.tag == "number" && C("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), typeof f == "function") return f.displayName || f.name || null; if (typeof f == "string") return f; switch (f) { case a: return "Fragment"; case t: return "Portal"; case o: return "Profiler"; case r: return "StrictMode"; case g: return "Suspense"; case m: return "SuspenseList"; } if (typeof f == "object") switch (f.$$typeof) { case c: var x = f; return ve(x) + ".Consumer"; case s: var S = f; return ve(S._context) + ".Provider"; case l: return Me(f, f.render, "ForwardRef"); case p: var z = f.displayName || null; return z !== null ? z : Ce(f.type) || "Memo"; case b: { var W = f, Y = W._payload, T = W._init; try { return Ce(T(Y)); } catch { return null; } } } return null; } var ye = Object.assign, re = 0, oe, Qe, Te, j, I, He, dn; function gn() { } gn.__reactDisabledLog = !0; function qn() { { if (re === 0) { oe = console.log, Qe = console.info, Te = console.warn, j = console.error, I = console.group, He = console.groupCollapsed, dn = console.groupEnd; var f = { configurable: !0, enumerable: !0, value: gn, writable: !0 }; Object.defineProperties(console, { info: f, log: f, warn: f, error: f, group: f, groupCollapsed: f, groupEnd: f }); } re++; } } function Z() { { if (re--, re === 0) { var f = { configurable: !0, enumerable: !0, writable: !0 }; Object.defineProperties(console, { log: ye({}, f, { value: oe }), info: ye({}, f, { value: Qe }), warn: ye({}, f, { value: Te }), error: ye({}, f, { value: j }), group: ye({}, f, { value: I }), groupCollapsed: ye({}, f, { value: He }), groupEnd: ye({}, f, { value: dn }) }); } re < 0 && C("disabledDepth fell below zero. This is a bug in React. Please file an issue."); } } var xt = P.ReactCurrentDispatcher, Bt; function je(f, x, S) { { if (Bt === void 0) try { throw Error(); } catch (W) { var z = W.stack.trim().match(/\n( *(at )?)/); Bt = z && z[1] || ""; } return ` ` + Bt + f; } } var yt = !1, ut; { var mn = typeof WeakMap == "function" ? WeakMap : Map; ut = new mn(); } function Pt(f, x) { if (!f || yt) return ""; { var S = ut.get(f); if (S !== void 0) return S; } var z; yt = !0; var W = Error.prepareStackTrace; Error.prepareStackTrace = void 0; var Y; Y = xt.current, xt.current = null, qn(); try { if (x) { var T = function() { throw Error(); }; if (Object.defineProperty(T.prototype, "props", { set: function() { throw Error(); } }), typeof Reflect == "object" && Reflect.construct) { try { Reflect.construct(T, []); } catch (Fe) { z = Fe; } Reflect.construct(f, [], T); } else { try { T.call(); } catch (Fe) { z = Fe; } f.call(T.prototype); } } else { try { throw Error(); } catch (Fe) { z = Fe; } f(); } } catch (Fe) { if (Fe && z && typeof Fe.stack == "string") { for (var H = Fe.stack.split(` `), de = z.stack.split(` `), $ = H.length - 1, ne = de.length - 1; $ >= 1 && ne >= 0 && H[$] !== de[ne]; ) ne--; for (; $ >= 1 && ne >= 0; $--, ne--) if (H[$] !== de[ne]) { if ($ !== 1 || ne !== 1) do if ($--, ne--, ne < 0 || H[$] !== de[ne]) { var Se = ` ` + H[$].replace(" at new ", " at "); return f.displayName && Se.includes("") && (Se = Se.replace("", f.displayName)), typeof f == "function" && ut.set(f, Se), Se; } while ($ >= 1 && ne >= 0); break; } } } finally { yt = !1, xt.current = Y, Z(), Error.prepareStackTrace = W; } var Ee = f ? f.displayName || f.name : "", En = Ee ? je(Ee) : ""; return typeof f == "function" && ut.set(f, En), En; } function fn(f, x, S) { return Pt(f, !1); } function pn(f) { var x = f.prototype; return !!(x && x.isReactComponent); } function Ct(f, x, S) { if (f == null) return ""; if (typeof f == "function") return Pt(f, pn(f)); if (typeof f == "string") return je(f); switch (f) { case g: return je("Suspense"); case m: return je("SuspenseList"); } if (typeof f == "object") switch (f.$$typeof) { case l: return fn(f.render); case p: return Ct(f.type, x, S); case b: { var z = f, W = z._payload, Y = z._init; try { return Ct(Y(W), x, S); } catch { } } } return ""; } var jt = Object.prototype.hasOwnProperty, hn = {}, vn = P.ReactDebugCurrentFrame; function St(f) { if (f) { var x = f._owner, S = Ct(f.type, f._source, x ? x.type : null); vn.setExtraStackFrame(S); } else vn.setExtraStackFrame(null); } function Kn(f, x, S, z, W) { { var Y = Function.call.bind(jt); for (var T in f) if (Y(f, T)) { var H = void 0; try { if (typeof f[T] != "function") { var de = Error((z || "React class") + ": " + S + " type `" + T + "` is invalid; it must be a function, usually from the `prop-types` package, but received `" + typeof f[T] + "`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`."); throw de.name = "Invariant Violation", de; } H = f[T](x, T, z, S, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); } catch ($) { H = $; } H && !(H instanceof Error) && (St(W), C("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).", z || "React class", S, T, typeof H), St(null)), H instanceof Error && !(H.message in hn) && (hn[H.message] = !0, St(W), C("Failed %s type: %s", S, H.message), St(null)); } } } var $n = Array.isArray; function Gt(f) { return $n(f); } function ea(f) { { var x = typeof Symbol == "function" && Symbol.toStringTag, S = x && f[Symbol.toStringTag] || f.constructor.name || "Object"; return S; } } function ta(f) { try { return bn(f), !1; } catch { return !0; } } function bn(f) { return "" + f; } function wn(f) { if (ta(f)) return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", ea(f)), bn(f); } var dt = P.ReactCurrentOwner, Lt = { key: !0, ref: !0, __self: !0, __source: !0 }, Wt, Re; function An(f) { if (jt.call(f, "ref")) { var x = Object.getOwnPropertyDescriptor(f, "ref").get; if (x && x.isReactWarning) return !1; } return f.ref !== void 0; } function xn(f) { if (jt.call(f, "key")) { var x = Object.getOwnPropertyDescriptor(f, "key").get; if (x && x.isReactWarning) return !1; } return f.key !== void 0; } function na(f, x) { typeof f.ref == "string" && dt.current; } function yn(f, x) { { var S = function() { Wt || (Wt = !0, C("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", x)); }; S.isReactWarning = !0, Object.defineProperty(f, "key", { get: S, configurable: !0 }); } } function Et(f, x) { { var S = function() { Re || (Re = !0, C("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)", x)); }; S.isReactWarning = !0, Object.defineProperty(f, "ref", { get: S, configurable: !0 }); } } var Pn = function(f, x, S, z, W, Y, T) { var H = { // This tag allows us to uniquely identify this as a React Element $$typeof: n, // Built-in properties that belong on the element type: f, key: x, ref: S, props: T, // Record the component responsible for creating this element. _owner: Y }; return H._store = {}, Object.defineProperty(H._store, "validated", { configurable: !1, enumerable: !1, writable: !0, value: !1 }), Object.defineProperty(H, "_self", { configurable: !1, enumerable: !1, writable: !1, value: z }), Object.defineProperty(H, "_source", { configurable: !1, enumerable: !1, writable: !1, value: W }), Object.freeze && (Object.freeze(H.props), Object.freeze(H)), H; }; function Cn(f, x, S, z, W) { { var Y, T = {}, H = null, de = null; S !== void 0 && (wn(S), H = "" + S), xn(x) && (wn(x.key), H = "" + x.key), An(x) && (de = x.ref, na(x, W)); for (Y in x) jt.call(x, Y) && !Lt.hasOwnProperty(Y) && (T[Y] = x[Y]); if (f && f.defaultProps) { var $ = f.defaultProps; for (Y in $) T[Y] === void 0 && (T[Y] = $[Y]); } if (H || de) { var ne = typeof f == "function" ? f.displayName || f.name || "Unknown" : f; H && yn(T, ne), de && Et(T, ne); } return Pn(f, H, de, W, z, dt.current, T); } } var Qt = P.ReactCurrentOwner, Xe = P.ReactDebugCurrentFrame; function Ve(f) { if (f) { var x = f._owner, S = Ct(f.type, f._source, x ? x.type : null); Xe.setExtraStackFrame(S); } else Xe.setExtraStackFrame(null); } var Xt; Xt = !1; function Yt(f) { return typeof f == "object" && f !== null && f.$$typeof === n; } function Mt() { { if (Qt.current) { var f = Ce(Qt.current.type); if (f) return ` Check the render method of \`` + f + "`."; } return ""; } } function gt(f) { return ""; } var Rt = {}; function Vt(f) { { var x = Mt(); if (!x) { var S = typeof f == "string" ? f : f.displayName || f.name; S && (x = ` Check the top-level render call using <` + S + ">."); } return x; } } function Dt(f, x) { { if (!f._store || f._store.validated || f.key != null) return; f._store.validated = !0; var S = Vt(x); if (Rt[S]) return; Rt[S] = !0; var z = ""; f && f._owner && f._owner !== Qt.current && (z = " It was passed a child from " + Ce(f._owner.type) + "."), Ve(f), C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.', S, z), Ve(null); } } function qe(f, x) { { if (typeof f != "object") return; if (Gt(f)) for (var S = 0; S < f.length; S++) { var z = f[S]; Yt(z) && Dt(z, x); } else if (Yt(f)) f._store && (f._store.validated = !0); else if (f) { var W = y(f); if (typeof W == "function" && W !== f.entries) for (var Y = W.call(f), T; !(T = Y.next()).done; ) Yt(T.value) && Dt(T.value, x); } } } function aa(f) { { var x = f.type; if (x == null || typeof x == "string") return; var S; if (typeof x == "function") S = x.propTypes; else if (typeof x == "object" && (x.$$typeof === l || // Note: Memo only checks outer props here. // Inner props are checked in the reconciler. x.$$typeof === p)) S = x.propTypes; else return; if (S) { var z = Ce(x); Kn(S, f.props, "prop", z, f); } else if (x.PropTypes !== void 0 && !Xt) { Xt = !0; var W = Ce(x); C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", W || "Unknown"); } typeof x.getDefaultProps == "function" && !x.getDefaultProps.isReactClassApproved && C("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); } } function ra(f) { { for (var x = Object.keys(f.props), S = 0; S < x.length; S++) { var z = x[S]; if (z !== "children" && z !== "key") { Ve(f), C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", z), Ve(null); break; } } f.ref !== null && (Ve(f), C("Invalid attribute `ref` supplied to `React.Fragment`."), Ve(null)); } } function jn(f, x, S, z, W, Y) { { var T = Ie(f); if (!T) { var H = ""; (f === void 0 || typeof f == "object" && f !== null && Object.keys(f).length === 0) && (H += " You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."); var de = gt(); de ? H += de : H += Mt(); var $; f === null ? $ = "null" : Gt(f) ? $ = "array" : f !== void 0 && f.$$typeof === n ? ($ = "<" + (Ce(f.type) || "Unknown") + " />", H = " Did you accidentally export a JSX literal instead of a component?") : $ = typeof f, C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s", $, H); } var ne = Cn(f, x, S, W, Y); if (ne == null) return ne; if (T) { var Se = x.children; if (Se !== void 0) if (z) if (Gt(Se)) { for (var Ee = 0; Ee < Se.length; Ee++) qe(Se[Ee], f); Object.freeze && Object.freeze(Se); } else C("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."); else qe(Se, f); } return f === a ? ra(ne) : aa(ne), ne; } } function oa(f, x, S) { return jn(f, x, S, !0); } function ia(f, x, S) { return jn(f, x, S, !1); } var Sn = ia, Jt = oa; Kt.Fragment = a, Kt.jsx = Sn, Kt.jsxs = Jt; }()), Kt; } var cr; function Zi() { return cr || (cr = 1, process.env.NODE_ENV === "production" ? Tn.exports = Vi() : Tn.exports = Ji()), Tn.exports; } var i = Zi(); function ih({ message: e, cta: n, color: t, onClick: a, href: r, variant: o, isDismissible: s = !1 }) { return /* @__PURE__ */ i.jsx( Ht, { isDismissible: s, color: t, variant: o, className: `mt-3 action-banner action-banner—-${t}`, "data-testid": "actionBanner-message_container", children: /* @__PURE__ */ i.jsxs("div", { className: "w-full", children: [ /* @__PURE__ */ i.jsx(J, { className: "action-banner__text block", children: /* @__PURE__ */ i.jsx( "span", { dangerouslySetInnerHTML: { __html: e } } ) }), a && /* @__PURE__ */ i.jsx( L, { className: "sm:mt-0 mt-4 ml-0", "data-testid": "actionBanner-button", onClick: a, label: n } ), r && /* @__PURE__ */ i.jsx( ot, { "data-testid": "action-banner-link", id: "action-banner-link", className: "sm:mt-0 mt-4 ml-0", onClick: a, href: r, target: "_blank", label: n } ) ] }) } ); } function sh({ route: e, condition: n, isLoading: t, children: a, isError: r, errorComponent: o }) { return t ? /* @__PURE__ */ i.jsx( Oa, { "data-testid": "redirectionGuard_spinner", size: Ta.md } ) : r && o ? /* @__PURE__ */ i.jsx(i.Fragment, { children: o }) : n ? /* @__PURE__ */ i.jsx(bi, { to: e }) : /* @__PURE__ */ i.jsx(i.Fragment, { children: a }); } const lh = ({ rootLabel: e, appName: n, hideRootLabel: t = !1 }) => { var r; const a = Ii({ rootLabel: e, appName: n, hideRootLabel: t }); return /* @__PURE__ */ i.jsx(Ei, { children: (r = a == null ? void 0 : a.filter((o) => !o.hideLabel)) == null ? void 0 : r.map((o) => /* @__PURE__ */ i.jsx( Mi, { href: o.href, label: o.label }, o.label )) }); }, pt = "fr_FR", Ur = (e) => { let n = e.replace("-", "_"); return n.includes("_") || (n === "en" ? n = "en_GB" : n = `${n}_${n.toUpperCase()}`), n; }, Ui = (e, n) => async (t) => { const a = Ur(t); if (!ce.hasResourceBundle(pt, n)) try { console.info(`Loading fallback language: ${pt} for namespace: ${n}`); const r = await e[pt](); ce.addResources(pt, n, r.default || r); } catch (r) { console.error(`Failed to load fallback translations (${pt}):`, r); } if (a !== pt && !ce.hasResourceBundle(a, n)) try { const r = await e[a](); ce.addResources(a, n, r.default || r); } catch (r) { console.warn(`Could not load ${a}. Will fallback to ${pt}.`, r); } return !0; }, he = (e, n) => { const t = Ui( e, n ), a = async (r) => { const o = Ur(r); await t(o), console.log("Language changed to:", o); }; ce.isInitialized ? a(ce.language) : ce.on("initialized", () => { a(ce.language); }), ce.on("languageChanged", a); }, qi = { de_DE: () => import("./Messages_de_DE-VJxQfutZ.mjs"), en_GB: () => import("./Messages_en_GB-Cd5JL2OI.mjs"), es_ES: () => import("./Messages_es_ES-BeHiN4Bb.mjs"), fr_CA: () => import("./Messages_fr_CA-DkXsdFYq.mjs"), fr_FR: () => import("./Messages_fr_FR-DkXsdFYq.mjs"), it_IT: () => import("./Messages_it_IT-BMh3dFnX.mjs"), pl_PL: () => import("./Messages_pl_PL-cPVRF1LB.mjs"), pt_PT: () => import("./Messages_pt_PT-DVO2KKoG.mjs") }; he(qi, "clipboard"); const ch = (e) => { const { t: n } = Q("clipboard"); return /* @__PURE__ */ i.jsx( Xr, { "data-testid": "clipboard", labelCopySuccess: n("clipboard_copy_success"), labelCopy: n("clipboard_copy"), ...e } ); }; let Nn; const Ki = new Uint8Array(16); function $i() { if (!Nn && (Nn = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !Nn)) throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported"); return Nn(Ki); } const fe = []; for (let e = 0; e < 256; ++e) fe.push((e + 256).toString(16).slice(1)); function es(e, n = 0) { return fe[e[n + 0]] + fe[e[n + 1]] + fe[e[n + 2]] + fe[e[n + 3]] + "-" + fe[e[n + 4]] + fe[e[n + 5]] + "-" + fe[e[n + 6]] + fe[e[n + 7]] + "-" + fe[e[n + 8]] + fe[e[n + 9]] + "-" + fe[e[n + 10]] + fe[e[n + 11]] + fe[e[n + 12]] + fe[e[n + 13]] + fe[e[n + 14]] + fe[e[n + 15]]; } const ts = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), ur = { randomUUID: ts }; function qr(e, n, t) { if (ur.randomUUID && !e) return ur.randomUUID(); e = e || {}; const a = e.random || (e.rng || $i)(); return a[6] = a[6] & 15 | 64, a[8] = a[8] & 63 | 128, es(a); } function Kr(e) { var n, t, a = ""; if (typeof e == "string" || typeof e == "number") a += e; else if (typeof e == "object") if (Array.isArray(e)) { var r = e.length; for (n = 0; n < r; n++) e[n] && (t = Kr(e[n])) && (a && (a += " "), a += t); } else for (t in e) e[t] && (a && (a += " "), a += t); return a; } function Ye() { for (var e, n, t = 0, a = "", r = arguments.length; t < r; t++) (e = arguments[t]) && (n = Kr(e)) && (a && (a += " "), a += n); return a; } const uh = ({ id: e = qr(), title: n = "", subtitle: t = "", isOpen: a, isChecked: r, isLocked: o, order: s, children: c, next: l, edit: g, skip: m }) => /* @__PURE__ */ i.jsxs("section", { className: "flex flex-row border-0 border-t-[1px] border-solid border-t-[--ods-color-neutral-100] pt-5 mb-5", children: [ /* @__PURE__ */ i.jsx("div", { className: "basis-[40px]", children: r ? /* @__PURE__ */ i.jsx( Bn, { name: se.check, className: "block p-[12px] text-[20px] text-[--ods-color-primary-500]" } ) : /* @__PURE__ */ i.jsx( "div", { className: Ye( "flex justify-center items-center font-bold border-2 border-solid rounded-full h-10 w-10", a ? "border-[--ods-color-primary-500]" : "border-[--ods-color-neutral-500]" ), children: /* @__PURE__ */ i.jsx( "span", { className: Ye( "font-semibold text-[16px] leading-[20px]", a ? "text-[--ods-color-text]" : "text-[--ods-color-neutral-500]" ), children: s } ) } ) }), /* @__PURE__ */ i.jsxs("div", { className: "basis-full px-5", children: [ /* @__PURE__ */ i.jsxs("div", { className: "flex flex-col md:flex-row", children: [ /* @__PURE__ */ i.jsxs( "div", { className: Ye( "font-normal leading-[43px] p-0 m-0 w-full md:w-5/6", a ? "text-[26px] text-[--ods-color-text]" : "text-[20px] text-[--ods-color-neutral-500]" ), children: [ n, (m == null ? void 0 : m.hint) && /* @__PURE__ */ i.jsx("div", { className: "ml-2", children: m.hint }) ] } ), (g == null ? void 0 : g.action) && o && /* @__PURE__ */ i.jsx("div", { className: "text-2xl w-full md:w-1/6", "data-testid": "edit", children: /* @__PURE__ */ i.jsx( L, { label: g.label, variant: "outline", "data-testid": "edit-cta", className: "float-left md:float-right", isDisabled: g.isDisabled || void 0, onClick: () => { g.isDisabled || g.action(e); } } ) }) ] }), a && /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ t && /* @__PURE__ */ i.jsx("div", { children: t }), /* @__PURE__ */ i.jsx( "div", { "data-testid": "content", className: Ye( "mt-5", o && "cursor-not-allowed pointer-events-none opacity-50" ), children: /* @__PURE__ */ i.jsx(mi, { fallback: /* @__PURE__ */ i.jsx(Oa, { size: Ta.md }), children: c }) } ), !o && /* @__PURE__ */ i.jsxs("div", { className: "flex items-center gap-6 mt-6", children: [ (l == null ? void 0 : l.action) && !o && /* @__PURE__ */ i.jsx("div", { "data-testid": "next", children: /* @__PURE__ */ i.jsx( L, { "data-testid": "next-cta", label: l.label, size: xe.md, onClick: () => { l.action(e); }, className: "w-fit", isDisabled: l.isDisabled || void 0 } ) }), (m == null ? void 0 : m.action) && /* @__PURE__ */ i.jsx("div", { children: /* @__PURE__ */ i.jsx( L, { label: m.label, variant: le.ghost, size: xe.md, onClick: () => { m.action(e); }, className: "w-fit", isDisabled: m.isDisabled || void 0 } ) }) ] }) ] }) ] }) ] }); var ns = typeof window < "u", as = function(e, n) { return ns ? window.matchMedia(e).matches : (process.env.NODE_ENV !== "production" && console.warn("`useMedia` When server side rendering, defaultState should be defined to prevent a hydration mismatches."), !1); }, rs = function(e, n) { var t = F(as(e)), a = t[0], r = t[1]; return te(function() { var o = !0, s = window.matchMedia(e), c = function() { o && r(!!s.matches); }; return s.addEventListener("change", c), r(s.matches), function() { o = !1, s.removeEventListener("change", c); }; }, [e]), a; }; const ya = (e) => { let n = 0; const t = ((o) => { switch (typeof o) { case "number": return `${o}`; case "bigint": return `${o}`; case "string": return `${o}`; case "boolean": return `${o}`; case "object": return JSON.stringify(o); case "function": return "function"; case "undefined": return "undefined"; default: return "symbol"; } })(e), a = (t == null ? void 0 : t.length) || 0; let r = 0; if (a > 0) for (; r < a; ) n = (n << 5) - n + t.charCodeAt(r++) | 0; return n; }; function os({ id: e = qr(), items: n = [], itemKey: t, titleElement: a = (l) => /* @__PURE__ */ i.jsx("div", { children: `title ${l}` }), contentElement: r = (l) => /* @__PURE__ */ i.jsx("div", { children: `content ${l}` }), mobileBreakPoint: o, className: s, onChange: c }) { const [l, g] = F({ items: n, selectedItem: n == null ? void 0 : n[0] }), m = (d) => { g((h) => ({ ...h, selectedItem: d })); }, p = (d) => t ? t(d) : `${ya(d)}`; te(() => { Array.isArray(n) && n.length && (n.length !== l.items.length || n.some((d, h) => !Object.is(d, l.items[h]))) && g(() => ({ items: n, selectedItem: n[0] })); }, [n]), te(() => { typeof c == "function" && c(l.selectedItem); }, [l.selectedItem]); const b = rs(`(min-width: ${o || 760}px)`); return /* @__PURE__ */ i.jsx(i.Fragment, { children: b ? /* @__PURE__ */ i.jsxs( "section", { className: Ye("rounded-sm flex flex-col", s), "data-testid": "desktop", children: [ /* @__PURE__ */ i.jsxs( "ul", { className: "flex flex-row list-none p-0 m-0 w-full", "data-testid": "titles", children: [ l.items.map((d) => /* @__PURE__ */ i.jsx( "li", { className: Ye( "px-4 py-4 cursor-pointer border border-solid border-[--ods-color-primary-100] rounded-t-lg", d === l.selectedItem ? "border-b-0 bg-[--ods-color-primary-050]" : "border-b bg-white" ), children: /* @__PURE__ */ i.jsx( "button", { className: "border-0 bg-transparent cursor-pointer w-full", onClick: () => m(d), onKeyDown: () => m(d), children: a(d, d === l.selectedItem) } ) }, `tabs-${e}title-${p(d)}` )), /* @__PURE__ */ i.jsx( "li", { className: "border-0 border-b border-solid border-b-[--ods-color-primary-100] w-full" }, "none" ) ] } ), /* @__PURE__ */ i.jsx("div", { className: "bg-[--ods-color-primary-050] border border-solid border-[--ods-color-primary-100] border-t-0", children: r(l.selectedItem) }) ] } ) : /* @__PURE__ */ i.jsx( "section", { className: Ye("grid gap-6 grid-cols-1", s), "data-testid": "mobile", children: l.items.map((d) => /* @__PURE__ */ i.jsxs( "div", { className: "px-2 bg-[--ods-color-primary-050] border border-solid border-[--ods-color-primary-100] rounded-lg", children: [ /* @__PURE__ */ i.jsxs( "button", { className: "flex cursor-pointer px-4 py-4 w-full border-0 bg-transparent", onClick: () => m(d), onKeyDown: () => m(d), children: [ /* @__PURE__ */ i.jsx("div", { className: "w-full", children: /* @__PURE__ */ i.jsx(J, { children: a(d, d === l.selectedItem) }) }), /* @__PURE__ */ i.jsx("div", { className: "w-fit flex items-center", children: Object.is(l.selectedItem, d) ? /* @__PURE__ */ i.jsx(Bn, { name: se.chevronUp }) : /* @__PURE__ */ i.jsx(Bn, { name: se.chevronDown }) }) ] } ), Object.is(l.selectedItem, d) && /* @__PURE__ */ i.jsx("div", { children: r(d) }) ] }, `tabs-${e}title-${p(d)}` )) } ) }); } var en = { exports: {} }; en.exports; var dr; function is() { return dr || (dr = 1, function(e, n) { var t = 200, a = "__lodash_hash_undefined__", r = 1, o = 2, s = 9007199254740991, c = "[object Arguments]", l = "[object Array]", g = "[object AsyncFunction]", m = "[object Boolean]", p = "[object Date]", b = "[object Error]", d = "[object Function]", h = "[object GeneratorFunction]", w = "[object Map]", y = "[object Number]", P = "[object Null]", C = "[object Object]", E = "[object Promise]", _ = "[object Proxy]", X = "[object RegExp]", R = "[object Set]", D = "[object String]", q = "[object Symbol]", ke = "[object Undefined]", Ie = "[object WeakMap]", Me = "[object ArrayBuffer]", ve = "[object DataView]", Ce = "[object Float32Array]", ye = "[object Float64Array]", re = "[object Int8Array]", oe = "[object Int16Array]", Qe = "[object Int32Array]", Te = "[object Uint8Array]", j = "[object Uint8ClampedArray]", I = "[object Uint16Array]", He = "[object Uint32Array]", dn = /[\\^$.*+?()[\]{}|]/g, gn = /^\[object .+?Constructor\]$/, qn = /^(?:0|[1-9]\d*)$/, Z = {}; Z[Ce] = Z[ye] = Z[re] = Z[oe] = Z[Qe] = Z[Te] = Z[j] = Z[I] = Z[He] = !0, Z[c] = Z[l] = Z[Me] = Z[m] = Z[ve] = Z[p] = Z[b] = Z[d] = Z[w] = Z[y] = Z[C] = Z[X] = Z[R] = Z[D] = Z[Ie] = !1; var xt = typeof nt == "object" && nt && nt.Object === Object && nt, Bt = typeof self == "object" && self && self.Object === Object && self, je = xt || Bt || Function("return this")(), yt = n && !n.nodeType && n, ut = yt && !0 && e && !e.nodeType && e, mn = ut && ut.exports === yt, Pt = mn && xt.process, fn = function() { try { return Pt && Pt.binding && Pt.binding("util"); } catch { } }(), pn = fn && fn.isTypedArray; function Ct(u, v) { for (var A = -1, M = u == null ? 0 : u.length, K = 0, N = []; ++A < M; ) { var ae = u[A]; v(ae, A, u) && (N[K++] = ae); } return N; } function jt(u, v) { for (var A = -1, M = v.length, K = u.length; ++A < M; ) u[K + A] = v[A]; return u; } function hn(u, v) { for (var A = -1, M = u == null ? 0 : u.length; ++A < M; ) if (v(u[A], A, u)) return !0; return !1; } function vn(u, v) { for (var A = -1, M = Array(u); ++A < u; ) M[A] = v(A); return M; } function St(u) { return function(v) { return u(v); }; } function Kn(u, v) { return u.has(v); } function $n(u, v) { return u == null ? void 0 : u[v]; } function Gt(u) { var v = -1, A = Array(u.size); return u.forEach(function(M, K) { A[++v] = [K, M]; }), A; } function ea(u, v) { return function(A) { return u(v(A)); }; } function ta(u) { var v = -1, A = Array(u.size); return u.forEach(function(M) { A[++v] = M; }), A; } var bn = Array.prototype, wn = Function.prototype, dt = Object.prototype, Lt = je["__core-js_shared__"], Wt = wn.toString, Re = dt.hasOwnProperty, An = function() { var u = /[^.]+$/.exec(Lt && Lt.keys && Lt.keys.IE_PROTO || ""); return u ? "Symbol(src)_1." + u : ""; }(), xn = dt.toString, na = RegExp( "^" + Wt.call(Re).replace(dn, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" ), yn = mn ? je.Buffer : void 0, Et = je.Symbol, Pn = je.Uint8Array, Cn = dt.propertyIsEnumerable, Qt = bn.splice, Xe = Et ? Et.toStringTag : void 0, Ve = Object.getOwnPropertySymbols, Xt = yn ? yn.isBuffer : void 0, Yt = ea(Object.keys, Object), Mt = zt(je, "DataView"), gt = zt(je, "Map"), Rt = zt(je, "Promise"), Vt = zt(je, "Set"), Dt = zt(je, "WeakMap"), qe = zt(Object, "create"), aa = mt(Mt), ra = mt(gt), jn = mt(Rt), oa = mt(Vt), ia = mt(Dt), Sn = Et ? Et.prototype : void 0, Jt = Sn ? Sn.valueOf : void 0; function f(u) { var v = -1, A = u == null ? 0 : u.length; for (this.clear(); ++v < A; ) { var M = u[v]; this.set(M[0], M[1]); } } function x() { this.__data__ = qe ? qe(null) : {}, this.size = 0; } function S(u) { var v = this.has(u) && delete this.__data__[u]; return this.size -= v ? 1 : 0, v; } function z(u) { var v = this.__data__; if (qe) { var A = v[u]; return A === a ? void 0 : A; } return Re.call(v, u) ? v[u] : void 0; } function W(u) { var v = this.__data__; return qe ? v[u] !== void 0 : Re.call(v, u); } function Y(u, v) { var A = this.__data__; return this.size += this.has(u) ? 0 : 1, A[u] = qe && v === void 0 ? a : v, this; } f.prototype.clear = x, f.prototype.delete = S, f.prototype.get = z, f.prototype.has = W, f.prototype.set = Y; function T(u) { var v = -1, A = u == null ? 0 : u.length; for (this.clear(); ++v < A; ) { var M = u[v]; this.set(M[0], M[1]); } } function H() { this.__data__ = [], this.size = 0; } function de(u) { var v = this.__data__, A = Rn(v, u); if (A < 0) return !1; var M = v.length - 1; return A == M ? v.pop() : Qt.call(v, A, 1), --this.size, !0; } function $(u) { var v = this.__data__, A = Rn(v, u); return A < 0 ? void 0 : v[A][1]; } function ne(u) { return Rn(this.__data__, u) > -1; } function Se(u, v) { var A = this.__data__, M = Rn(A, u); return M < 0 ? (++this.size, A.push([u, v])) : A[M][1] = v, this; } T.prototype.clear = H, T.prototype.delete = de, T.prototype.get = $, T.prototype.has = ne, T.prototype.set = Se; function Ee(u) { var v = -1, A = u == null ? 0 : u.length; for (this.clear(); ++v < A; ) { var M = u[v]; this.set(M[0], M[1]); } } function En() { this.size = 0, this.__data__ = { hash: new f(), map: new (gt || T)(), string: new f() }; } function Fe(u) { var v = Dn(this, u).delete(u); return this.size -= v ? 1 : 0, v; } function To(u) { return Dn(this, u).get(u); } function No(u) { return Dn(this, u).has(u); } function _o(u, v) { var A = Dn(this, u), M = A.size; return A.set(u, v), this.size += A.size == M ? 0 : 1, this; } Ee.prototype.clear = En, Ee.prototype.delete = Fe, Ee.prototype.get = To, Ee.prototype.has = No, Ee.prototype.set = _o; function Mn(u) { var v = -1, A = u == null ? 0 : u.length; for (this.__data__ = new Ee(); ++v < A; ) this.add(u[v]); } function Io(u) { return this.__data__.set(u, a), this; } function Ho(u) { return this.__data__.has(u); } Mn.prototype.add = Mn.prototype.push = Io, Mn.prototype.has = Ho; function Ke(u) { var v = this.__data__ = new T(u); this.size = v.size; } function Fo() { this.__data__ = new T(), this.size = 0; } function Bo(u) { var v = this.__data__, A = v.delete(u); return this.size = v.size, A; } function Go(u) { return this.__data__.get(u); } function Lo(u) { return this.__data__.has(u); } function Wo(u, v) { var A = this.__data__; if (A instanceof T) { var M = A.__data__; if (!gt || M.length < t - 1) return M.push([u, v]), this.size = ++A.size, this; A = this.__data__ = new Ee(M); } return A.set(u, v), this.size = A.size, this; } Ke.prototype.clear = Fo, Ke.prototype.delete = Bo, Ke.prototype.get = Go, Ke.prototype.has = Lo, Ke.prototype.set = Wo; function Qo(u, v) { var A = zn(u), M = !A && oi(u), K = !A && !M && sa(u), N = !A && !M && !K && tr(u), ae = A || M || K || N, ue = ae ? vn(u.length, String) : [], ge = ue.length; for (var ee in u) Re.call(u, ee) && !(ae && // Safari 9 has enumerable `arguments.length` in strict mode. (ee == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. K && (ee == "offset" || ee == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. N && (ee == "buffer" || ee == "byteLength" || ee == "byteOffset") || // Skip index properties. ei(ee, ge))) && ue.push(ee); return ue; } function Rn(u, v) { for (var A = u.length; A--; ) if (qa(u[A][0], v)) return A; return -1; } function Xo(u, v, A) { var M = v(u); return zn(u) ? M : jt(M, A(u)); } function Zt(u) { return u == null ? u === void 0 ? ke : P : Xe && Xe in Object(u) ? Ko(u) : ri(u); } function Va(u) { return Ut(u) && Zt(u) == c; } function Ja(u, v, A, M, K) { return u === v ? !0 : u == null || v == null || !Ut(u) && !Ut(v) ? u !== u && v !== v : Yo(u, v, A, M, Ja, K); } function Yo(u, v, A, M, K, N) { var ae = zn(u), ue = zn(v), ge = ae ? l : $e(u), ee = ue ? l : $e(v); ge = ge == c ? C : ge, ee = ee == c ? C : ee; var De = ge == C, Be = ee == C, be = ge == ee; if (be && sa(u)) { if (!sa(v)) return !1; ae = !0, De = !1; } if (be && !De) return N || (N = new Ke()), ae || tr(u) ? Za(u, v, A, M, K, N) : Uo(u, v, ge, A, M, K, N); if (!(A & r)) { var Ne = De && Re.call(u, "__wrapped__"), _e = Be && Re.call(v, "__wrapped__"); if (Ne || _e) { var et = Ne ? u.value() : u, Je = _e ? v.value() : v; return N || (N = new Ke()), K(et, Je, A, M, N); } } return be ? (N || (N = new Ke()), qo(u, v, A, M, K, N)) : !1; } function Vo(u) { if (!er(u) || ni(u)) return !1; var v = Ka(u) ? na : gn; return v.test(mt(u)); } function Jo(u) { return Ut(u) && $a(u.length) && !!Z[Zt(u)]; } function Zo(u) { if (!ai(u)) return Yt(u); var v = []; for (var A in Object(u)) Re.call(u, A) && A != "constructor" && v.push(A); return v; } function Za(u, v, A, M, K, N) { var ae = A & r, ue = u.length, ge = v.length; if (ue != ge && !(ae && ge > ue)) return !1; var ee = N.get(u); if (ee && N.get(v)) return ee == v; var De = -1, Be = !0, be = A & o ? new Mn() : void 0; for (N.set(u, v), N.set(v, u); ++De < ue; ) { var Ne = u[De], _e = v[De]; if (M) var et = ae ? M(_e, Ne, De, v, u, N) : M(Ne, _e, De, u, v, N); if (et !== void 0) { if (et) continue; Be = !1; break; } if (be) { if (!hn(v, function(Je, ft) { if (!Kn(be, ft) && (Ne === Je || K(Ne, Je, A, M, N))) return be.push(ft); })) { Be = !1; break; } } else if (!(Ne === _e || K(Ne, _e, A, M, N))) { Be = !1; break; } } return N.delete(u), N.delete(v), Be; } function Uo(u, v, A, M, K, N, ae) { switch (A) { case ve: if (u.byteLength != v.byteLength || u.byteOffset != v.byteOffset) return !1; u = u.buffer, v = v.buffer; case Me: return !(u.byteLength != v.byteLength || !N(new Pn(u), new Pn(v))); case m: case p: case y: return qa(+u, +v); case b: return u.name == v.name && u.message == v.message; case X: case D: return u == v + ""; case w: var ue = Gt; case R: var ge = M & r; if (ue || (ue = ta), u.size != v.size && !ge) return !1; var ee = ae.get(u); if (ee) return ee == v; M |= o, ae.set(u, v); var De = Za(ue(u), ue(v), M, K, N, ae); return ae.delete(u), De; case q: if (Jt) return Jt.call(u) == Jt.call(v); } return !1; } function qo(u, v, A, M, K, N) { var ae = A & r, ue = Ua(u), ge = ue.length, ee = Ua(v), De = ee.length; if (ge != De && !ae) return !1; for (var Be = ge; Be--; ) { var be = ue[Be]; if (!(ae ? be in v : Re.call(v, be))) return !1; } var Ne = N.get(u); if (Ne && N.get(v)) return Ne == v; var _e = !0; N.set(u, v), N.set(v, u); for (var et = ae; ++Be < ge; ) { be = ue[Be]; var Je = u[be], ft = v[be]; if (M) var nr = ae ? M(ft, Je, be, v, u, N) : M(Je, ft, be, u, v, N); if (!(nr === void 0 ? Je === ft || K(Je, ft, A, M, N) : nr)) { _e = !1; break; } et || (et = be == "constructor"); } if (_e && !et) { var On = u.constructor, kn = v.constructor; On != kn && "constructor" in u && "constructor" in v && !(typeof On == "function" && On instanceof On && typeof kn == "function" && kn instanceof kn) && (_e = !1); } return N.delete(u), N.delete(v), _e; } function Ua(u) { return Xo(u, li, $o); } function Dn(u, v) { var A = u.__data__; return ti(v) ? A[typeof v == "string" ? "string" : "hash"] : A.map; } function zt(u, v) { var A = $n(u, v); return Vo(A) ? A : void 0; } function Ko(u) { var v = Re.call(u, Xe), A = u[Xe]; try { u[Xe] = void 0; var M = !0; } catch { } var K = xn.call(u); return M && (v ? u[Xe] = A : delete u[Xe]), K; } var $o = Ve ? function(u) { return u == null ? [] : (u = Object(u), Ct(Ve(u), function(v) { return Cn.call(u, v); })); } : ci, $e = Zt; (Mt && $e(new Mt(new ArrayBuffer(1))) != ve || gt && $e(new gt()) != w || Rt && $e(Rt.resolve()) != E || Vt && $e(new Vt()) != R || Dt && $e(new Dt()) != Ie) && ($e = function(u) { var v = Zt(u), A = v == C ? u.constructor : void 0, M = A ? mt(A) : ""; if (M) switch (M) { case aa: return ve; case ra: return w; case jn: return E; case oa: return R; case ia: return Ie; } return v; }); function ei(u, v) { return v = v ?? s, !!v && (typeof u == "number" || qn.test(u)) && u > -1 && u % 1 == 0 && u < v; } function ti(u) { var v = typeof u; return v == "string" || v == "number" || v == "symbol" || v == "boolean" ? u !== "__proto__" : u === null; } function ni(u) { return !!An && An in u; } function ai(u) { var v = u && u.constructor, A = typeof v == "function" && v.prototype || dt; return u === A; } function ri(u) { return xn.call(u); } function mt(u) { if (u != null) { try { return Wt.call(u); } catch { } try { return u + ""; } catch { } } return ""; } function qa(u, v) { return u === v || u !== u && v !== v; } var oi = Va(/* @__PURE__ */ function() { return arguments; }()) ? Va : function(u) { return Ut(u) && Re.call(u, "callee") && !Cn.call(u, "callee"); }, zn = Array.isArray; function ii(u) { return u != null && $a(u.length) && !Ka(u); } var sa = Xt || ui; function si(u, v) { return Ja(u, v); } function Ka(u) { if (!er(u)) return !1; var v = Zt(u); return v == d || v == h || v == g || v == _; } function $a(u) { return typeof u == "number" && u > -1 && u % 1 == 0 && u <= s; } function er(u) { var v = typeof u; return u != null && (v == "object" || v == "function"); } function Ut(u) { return u != null && typeof u == "object"; } var tr = pn ? St(pn) : Jo; function li(u) { return ii(u) ? Qo(u) : Zo(u); } function ci() { return []; } function ui() { return !1; } e.exports = si; }(en, en.exports)), en.exports; } var ss = is(); const kt = /* @__PURE__ */ Zr(ss), ls = function(n, t) { return [ ...n.reduce((a, r) => (a.has(t(r)) || a.set(t(r), r), a), /* @__PURE__ */ new Map()).values() ]; }, gr = function(n, t) { const a = /* @__PURE__ */ new Map(); return t ? ls(n, t).forEach((o) => { const s = t(o); a.set(s, []), a.get(s).push(...n.filter((c) => kt(s, t(c)))); }) : a.set(void 0, n), a; }, mr = function e({ items: n, value: t, onInput: a, label: r, tileClass: o, stack: s, id: c }) { var b; const [l, g] = F({ stacks: gr(n, s == null ? void 0 : s.by), selectedStack: s == null ? void 0 : s.value, activeClass: `cursor-pointer font-bold bg-[--ods-color-blue-100] border-[--ods-color-blue-600] ${o == null ? void 0 : o.active}`, inactiveClass: `cursor-pointer border-[--ods-color-blue-100] hover:bg-[--ods-color-blue-100] hover:border-[--ods-color-blue-600] ${o == null ? void 0 : o.inactive}` }), m = { selectedStack: (d) => { g((h) => ({ ...h, selectedStack: d })); }, value: (d) => a(d) }, p = { stack: { checked: _t( (d) => { var h, w; return ((w = (h = l.stacks) == null ? void 0 : h.get(d)) == null ? void 0 : w.length) > 1 ? kt(l.selectedStack, d) : kt(l.stacks.get(d)[0], t); }, [l.stacks, l.selectedStack, t] ), singleton: _t( (d) => { var h; return ((h = l.stacks.get(d)) == null ? void 0 : h.length) === 1; }, [l.stacks] ) } }; return te(() => { g((d) => ({ ...d, stacks: gr(n, s == null ? void 0 : s.by) })); }, [n, s]), te(() => { o && g((d) => ({ ...d, activeClass: `cursor-pointer font-bold bg-[--ods-color-blue-100] border-[--ods-color-blue-600] ${o == null ? void 0 : o.active}`, inactiveClass: `cursor-pointer border-[--ods-color-blue-100] hover:bg-[--ods-color-blue-100] hover:border-[--ods-color-blue-600] ${o == null ? void 0 : o.inactive}` })); }, [o]), te(() => { typeof (s == null ? void 0 : s.onChange) == "function" && s.onChange(l.selectedStack); }, [l.selectedStack]), te(() => { s && m.selectedStack(t ? s.by(t) : void 0); }, [t]), te(() => { var d; s && ((d = l.stacks.get(l.selectedStack)) != null && d.length) && !kt(l.selectedStack, s.by(t)) && m.value(l.stacks.get(l.selectedStack)[0]); }, [l.selectedStack]), /* @__PURE__ */ i.jsxs("div", { id: typeof c == "function" ? c() : c, children: [ /* @__PURE__ */ i.jsx("ul", { className: "simple-tiles-input-ul grid gap-6 list-none p-6 m-0 grid-cols-1 md:grid-cols-3", children: s ? [...l.stacks.keys()].map((d) => /* @__PURE__ */ i.jsx("li", { className: "w-full px-1", children: /* @__PURE__ */ i.jsx( rn, { onClick: () => p.stack.singleton(d) ? m.value(l.stacks.get(d)[0]) : m.selectedStack(d), className: `${Ye( p.stack.checked(d) ? l.activeClass : l.inactiveClass )} w-full px-[24px] py-[16px]`, children: p.stack.singleton(d) ? r(l.stacks.get(d)[0]) : s == null ? void 0 : s.label(d, l.stacks.get(d)) } ) }, ya(d))) : n.map((d) => /* @__PURE__ */ i.jsx("li", { className: "w-full px-1", children: /* @__PURE__ */ i.jsx( rn, { onClick: () => m.value(d), className: `${Ye( kt(t, d) ? l.activeClass : l.inactiveClass )} w-full px-[24px] py-[16px]`, children: r(d) } ) }, ya(d))) }), l.selectedStack && ((b = l.stacks.get(l.selectedStack)) == null ? void 0 : b.length) > 1 && /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("div", { className: "mt-6 ml-8", children: /* @__PURE__ */ i.jsx("span", { className: "text-[--ods-color-heading] leading-[22px] font-bold", children: s.title( l.selectedStack, l.stacks.get(l.selectedStack) ) }) }), /* @__PURE__ */ i.jsx( e, { value: t, items: l.stacks.get(l.selectedStack), label: r, onInput: a, tileClass: o } ) ] }) ] }); }, dh = function({ id: n, items: t, value: a, onInput: r, label: o, tileClass: s, stack: c, group: l }) { const [g, m] = F({ selectedGroup: l == null ? void 0 : l.value, selectedStack: c == null ? void 0 : c.value }), p = Pe(() => { const b = /* @__PURE__ */ new Map(); return l && typeof l.by == "function" && (l.showAllTab && b.set(void 0, [...t]), t.forEach((d) => { const h = l.by(d); b.has(h) || b.set(h, []), b.get(h).push(d); })), b; }, [t, l]); return /* @__PURE__ */ i.jsx(i.Fragment, { children: l ? /* @__PURE__ */ i.jsx( os, { items: [...p == null ? void 0 : p.keys()], titleElement: (b) => l.label(b, p.get(b)), contentElement: (b) => /* @__PURE__ */ i.jsx( mr, { id: n, items: p.get(b) || [], value: a, onInput: r, label: o, tileClass: s, stack: c ? { ...c, onChange: (d) => { m((h) => ({ ...h, selectedStack: d })), c != null && c.onChange && (c == null || c.onChange(d)); } } : void 0 } ), onChange: (b) => { m((d) => ({ ...d, selectedGroup: b })), l.onChange && !kt(g.selectedGroup, b) && l.onChange(b); } } ) : /* @__PURE__ */ i.jsx( mr, { id: n, items: t, value: a, onInput: r, label: o, tileClass: s, stack: c } ) }); }, cs = { de_DE: () => import("./Messages_de_DE-CwfBqp2u.mjs"), en_GB: () => import("./Messages_en_GB-BEGS1H9P.mjs"), es_ES: () => import("./Messages_es_ES-CsPY_RLn.mjs"), fr_CA: () => import("./Messages_fr_CA-BLLy469C.mjs"), fr_FR: () => import("./Messages_fr_FR-BLLy469C.mjs"), it_IT: () => import("./Messages_it_IT-BLiIQHHe.mjs"), pl_PL: () => import("./Messages_pl_PL-BB7du418.mjs"), pt_PT: () => import("./Messages_pt_PT-COKkN3N0.mjs") }; he(cs, "card"); const gh = ({ href: e, isExternalHref: n, hrefLabel: t, img: a, badges: r, texts: o, hoverable: s, onClick: c, trackingLabel: l, ...g }) => { const { title: m, description: p, category: b } = o, { t: d } = Q("card"); return /* @__PURE__ */ i.jsx( "a", { target: "_blank", href: e, className: "no-underline", onClick: c, ...g, children: /* @__PURE__ */ i.jsx( rn, { className: "w-full h-full p-[1rem]", color: "neutral", "data-tracking": l, children: /* @__PURE__ */ i.jsxs("div", { className: "flex flex-col h-full", children: [ (a == null ? void 0 : a.src) && /* @__PURE__ */ i.jsx( "img", { className: "max-w-full my-3 mx-auto", src: a.src, alt: a.alt } ), /* @__PURE__ */ i.jsxs("div", { children: [ /* @__PURE__ */ i.jsx("span", { className: "card-category text-[--ods-color-primary-500] text-[20px] leading-[28px] font-bold", children: b }), /* @__PURE__ */ i.jsx("span", { className: "ml-[10px] card-badges-section", children: r == null ? void 0 : r.map((h) => /* @__PURE__ */ i.jsx(It, { className: "mr-1", label: h.text }, h.text)) }) ] }), /* @__PURE__ */ i.jsx("span", { className: "card-title text-[--ods-color-heading] text-[24px] leading-[32px] font-bold mb-[8px]", children: m }), p && /* @__PURE__ */ i.jsx("p", { className: "block m-0 p-0 text-[--ods-color-text] mb-4", children: p }), /* @__PURE__ */ i.jsx("div", { className: "section-see-more-label mt-auto", children: /* @__PURE__ */ i.jsx( un, { "tab-index": "-1", label: t ?? d("see_more_label"), type: n ? it.external : it.next } ) }) ] }) } ) } ); }, mh = ({ children: e, className: n = "" }) => /* @__PURE__ */ i.jsx( "div", { className: `${n} m-0 p-0 text-[--ods-color-heading] text-[36px] leading-[45px] font-bold mb-[24px]`, children: e } ), $r = ({ children: e, className: n = "" }) => /* @__PURE__ */ i.jsx( "div", { className: `${n} m-0 p-0 text-[--ods-color-heading] text-[24px] leading-[32px] font-bold`, children: e } ); var it = /* @__PURE__ */ ((e) => (e.back = "back", e.next = "next", e.external = "external", e))(it || {}), us = /* @__PURE__ */ ((e) => (e.left = "left", e.right = "right", e))(us || {}); const un = ({ children: e, label: n, onClickReturn: t, type: a, href: r, color: o = ki.primary, iconAlignment: s, className: c = "", ...l }) => /* @__PURE__ */ i.jsx( ot, { className: c, href: r, onClick: t, color: o, ...s && { iconAlignment: ir[s] }, ...l, ...a === "back" && { icon: se.arrowLeft, iconAlignment: ir.left }, ...a === "next" && { icon: se.arrowRight }, ...a === "external" && { icon: se.externalLink }, label: n ?? e } ), ds = ({ title: e, badge: n, subtitle: t, description: a, headerButton: r, changelogButton: o }) => /* @__PURE__ */ i.jsxs("div", { className: "flex items-start justify-between", children: [ /* @__PURE__ */ i.jsxs("div", { children: [ /* @__PURE__ */ i.jsxs("div", { className: "flex items-center gap-4 mb-[24px]", children: [ e && /* @__PURE__ */ i.jsx(J, { preset: "heading-1", children: e }), n && /* @__PURE__ */ i.jsx( It, { label: n.label, color: n.color, size: n.size } ) ] }), t && /* @__PURE__ */ i.jsx($r, { className: "block mb-6", children: t }), a && /* @__PURE__ */ i.jsx(J, { className: "mb-[16px]", preset: "span", children: a }) ] }), (r || o) && /* @__PURE__ */ i.jsxs("div", { className: "flex flex-wrap justify-end items-center", children: [ o, r ] }) ] }); var gs = /* @__PURE__ */ ((e) => (e.ASIA = "ASIA", e.AU = "AU", e.CA = "CA", e.CZ = "CZ", e.DE = "DE", e.ES = "ES", e.FI = "FI", e.FR = "FR", e.GB = "GB", e.IE = "IE", e.IN = "IN", e.IT = "IT", e.LT = "LT", e.MA = "MA", e.NL = "NL", e.PL = "PL", e.PT = "PT", e.QC = "QC", e.SG = "SG", e.SN = "SN", e.TN = "TN", e.US = "US", e.WE = "WE", e.WS = "WS", e.EU = "EU", e.DEFAULT = "DEFAULT", e))(gs || {}), eo = /* @__PURE__ */ ((e) => (e.AUD = "AUD", e.CAD = "CAD", e.CZK = "CZK", e.EUR = "EUR", e.GBP = "GBP", e.INR = "INR", e.MAD = "MAD", e.PLN = "PLN", e.SGD = "SGD", e.USD = "USD", e.TND = "TND", e.XOF = "XOF", e.LTL = "LTL", e.NA = "N/A", e.points = "points", e))(eo || {}); const fr = { ASIA: "USD", AU: "AUD", CA: "CAD", CZ: "EUR", DE: "EUR", ES: "EUR", FI: "EUR", FR: "EUR", GB: "GBP", IE: "EUR", IN: "INR", IT: "EUR", LT: "EUR", MA: "MAD", NL: "EUR", PL: "PLN", PT: "EUR", QC: "CAD", SG: "SGD", SN: "XOF", TN: "TND", EU: "EUR", US: "USD", WE: "USD", WS: "USD", DEFAULT: "USD" /* USD */ }; var Tt = /* @__PURE__ */ ((e) => (e.day = "day", e.month = "month", e.year = "year", e.none = "none", e))(Tt || {}); const pr = (e, n) => (n ? e + n : e) / 1e8, hr = (e, n) => ({ [Tt.day]: e / 365, [Tt.month]: e / 12, [Tt.year]: e, [Tt.none]: e })[n] || e, vr = (e, n, t) => { try { return new Intl.NumberFormat(n.replace("_", "-"), { style: "currency", currency: fr[e], minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(t); } catch { return new Intl.NumberFormat("fr-FR", { style: "currency", currency: fr[e], minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(t); } }, ms = { de_DE: () => import("./Messages_de_DE-BUh65a9w.mjs"), en_GB: () => import("./Messages_en_GB-CBTPjwM7.mjs"), es_ES: () => import("./Messages_es_ES-Ue1jlSGg.mjs"), fr_CA: () => import("./Messages_fr_CA-DcqOlcQ3.mjs"), fr_FR: () => import("./Messages_fr_FR-DcqOlcQ3.mjs"), it_IT: () => import("./Messages_it_IT-Brdgu2_B.mjs"), pl_PL: () => import("./Messages_pl_PL-Cf2Z7_Uj.mjs"), pt_PT: () => import("./Messages_pt_PT-Bu2iPnBL.mjs") }; he(ms, "price"); const br = ({ children: e }) => /* @__PURE__ */ i.jsx("span", { className: "ml-1", children: e }); function fh({ value: e, intervalUnit: n, tax: t, ovhSubsidiary: a, locale: r, isConvertIntervalUnit: o }) { const { t: s } = Q("price"), c = ["ASIA", "AU", "IN", "SG"].includes(a), l = ["DE", "FI", "SN"].includes(a), g = [ "CZ", "ES", "FR", "GB", "IE", "IT", "LT", "MA", "NL", "PL", "PT", "TN" ].includes(a), m = ["CA", "QC", "US", "WE", "WS"].includes(a), p = o ? hr(e, n) : e, b = o ? hr(t || 0, n) : t || 0, d = vr( a, r, pr(p) ), h = vr( a, r, pr(p, b) ), w = n && n !== Tt.none ? s(`price_per_${n}`) : "", P = [ { condition: e === 0, component: /* @__PURE__ */ i.jsx("span", { children: s("price_free") }) }, { condition: g && t > 0, component: /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("span", { className: "mr-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: d }), /* @__PURE__ */ i.jsx("span", { className: "text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: s("price_ht_label") }), /* @__PURE__ */ i.jsx("span", { className: "ml-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: w }), /* @__PURE__ */ i.jsxs(br, { children: [ /* @__PURE__ */ i.jsxs("span", { className: "text-[--ods-color-neutral-500] text-[14px] leading-[18px] font-semibold", children: [ "(", h ] }), /* @__PURE__ */ i.jsxs("span", { className: "ml-1 text-[--ods-color-neutral-500] text-[14px] leading-[18px] font-semibold", children: [ s("price_ttc_label"), ")" ] }) ] }) ] }) }, { condition: g && !t, component: /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("span", { className: "mr-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: d }), /* @__PURE__ */ i.jsx("span", { className: "text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: s("price_ht_label") }), /* @__PURE__ */ i.jsx("span", { className: "ml-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: w }) ] }) }, { condition: l && t > 0, component: /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("span", { className: "mr-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: h }), /* @__PURE__ */ i.jsx("span", { className: "ml-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: w }) ] }) }, { condition: c && (!t || t === 0), component: /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("span", { className: "mr-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: d }), /* @__PURE__ */ i.jsx("span", { className: "text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: s("price_gst_excl_label") }), /* @__PURE__ */ i.jsx("span", { className: "ml-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: w }) ] }) }, { condition: c, component: /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("span", { className: "mr-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: d }), /* @__PURE__ */ i.jsx("span", { className: "text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: s("price_gst_excl_label") }), /* @__PURE__ */ i.jsx("span", { className: "ml-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: w }), /* @__PURE__ */ i.jsxs(br, { children: [ /* @__PURE__ */ i.jsxs("span", { className: "text-[--ods-color-neutral-500] text-[14px] leading-[18px] font-semibold", children: [ "(", h ] }), /* @__PURE__ */ i.jsxs("span", { className: "ml-1 text-[--ods-color-neutral-500] text-[14px] leading-[18px] font-semibold", children: [ s("price_gst_incl_label"), ")" ] }) ] }) ] }) }, { condition: m, component: /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("span", { className: "mr-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: d }), /* @__PURE__ */ i.jsx("span", { className: "ml-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: w }) ] }) } ].find(({ condition: C }) => C); return P ? /* @__PURE__ */ i.jsx(J, { children: P.component }) : /* @__PURE__ */ i.jsx(i.Fragment, {}); } const fs = ({ label: e, children: n }) => /* @__PURE__ */ i.jsxs("dl", { className: "flex flex-col gap-1 m-0", children: [ /* @__PURE__ */ i.jsx("dt", { children: !!e && /* @__PURE__ */ i.jsx(J, { preset: pe.heading6, children: e }) }), /* @__PURE__ */ i.jsx("dd", { className: "m-0", children: n }) ] }), ph = ({ title: e, items: n, ...t }) => /* @__PURE__ */ i.jsx( rn, { "data-testid": t["data-testid"], className: "w-full flex-col p-[1rem]", color: Yr.neutral, children: /* @__PURE__ */ i.jsxs("div", { className: "flex flex-col w-full", children: [ e && /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("h4", { className: "dashboard-tile-title m-0 text-[--ods-color-heading] text-[20px] leading-[28px] font-bold", children: e }), /* @__PURE__ */ i.jsx(xa, { spacing: "24" }) ] }), n.map((a, r) => /* @__PURE__ */ i.jsxs(Ae.Fragment, { children: [ /* @__PURE__ */ i.jsx(fs, { label: a.label, children: a.value }, a.id), r < n.length - 1 && /* @__PURE__ */ i.jsx(xa, { spacing: "24" }) ] }, a.id)) ] }) } ), _a = ({ children: e }) => /* @__PURE__ */ i.jsx("dl", { className: "flex flex-col gap-1 m-0", children: e }), ps = ({ children: e }) => /* @__PURE__ */ i.jsx("dt", { children: /* @__PURE__ */ i.jsx(J, { preset: pe.heading6, children: e }) }), hs = ({ children: e }) => /* @__PURE__ */ i.jsx("dd", { className: "m-0", children: e }); _a.Label = ps; _a.Description = hs; const Ia = ({ className: e, children: n, ...t }) => /* @__PURE__ */ i.jsx( rn, { className: `w-full flex-col p-[1rem] ${e}`, color: Yr.neutral, ...t, children: /* @__PURE__ */ i.jsx("div", { className: "flex flex-col w-full", children: n }) } ), vs = ({ children: e }) => /* @__PURE__ */ i.jsx(J, { preset: pe.heading4, children: e }), bs = () => /* @__PURE__ */ i.jsx(xa, { spacing: "24" }); Ia.Title = vs; Ia.Item = _a; Ia.Divider = bs; const ws = { de_DE: () => import("./Messages_de_DE-DwMtg76o.mjs"), en_GB: () => import("./Messages_en_GB-BMEC6Xpk.mjs"), es_ES: () => import("./Messages_es_ES-YuQW6NdC.mjs"), fr_CA: () => import("./Messages_fr_CA-GVRxWU2v.mjs"), fr_FR: () => import("./Messages_fr_FR-GVRxWU2v.mjs"), it_IT: () => import("./Messages_it_IT-DdvOuM8A.mjs"), pl_PL: () => import("./Messages_pl_PL-BvNbUC3J.mjs"), pt_PT: () => import("./Messages_pt_PT-BU2vbzt0.mjs") }; he(ws, "buttons"); const As = { de_DE: () => import("./Messages_de_DE-C3l3-9hC.mjs"), en_GB: () => import("./Messages_en_GB-Dfa-AzH-.mjs"), es_ES: () => import("./Messages_es_ES-H73MZ5qG.mjs"), fr_CA: () => import("./Messages_fr_CA-C6y2PP-_.mjs"), fr_FR: () => import("./Messages_fr_FR-C6y2PP-_.mjs"), it_IT: () => import("./Messages_it_IT-CYfRU3en.mjs"), pl_PL: () => import("./Messages_pl_PL-BWdcvcGc.mjs"), pt_PT: () => import("./Messages_pt_PT-CYs_O7hE.mjs") }; he(As, "iam"); const xs = (e) => { const n = /* @__PURE__ */ new Map(); return e.forEach((t) => { t.tags && Object.entries(t.tags).forEach(([a, r]) => { var o; a.startsWith("ovh:") || (n.has(a) ? (o = n.get(a)) == null || o.add(r) : n.set(a, /* @__PURE__ */ new Set([r]))); }); }), Array.from(n.entries()).map(([t, a]) => ({ key: t, values: Array.from(a) })); }, ys = async ({ actions: e, urns: n }) => { const { data: t } = await ct.v2.post("/iam/authorization/check", { actions: e, resourceURNs: n }); return t; }; function hh({ actions: e, urns: n }) { const { data: t } = Oe({ queryKey: ["iam-authorization", n, e], queryFn: () => ys({ actions: e, urns: n }), enabled: n.length > 0 && e.length > 0, placeholderData: Br }); return t || []; } function Ps(e) { return `/iam/resource/${encodeURIComponent(e)}/authorization/check`; } const Cs = async (e, n) => { const { data: t } = await ct.v2.post(Ps(n), { actions: e }); return t; }; function Ha(e, n, t = !0) { const { data: a, ...r } = Oe({ queryKey: [n, e], queryFn: () => Cs(e, n), enabled: !!(n && n.length > 0 && e && e.length > 0 && t), placeholderData: Br }); return { isAuthorized: !!(a != null && a.authorizedActions) && e.every((o) => { var s; return (s = a == null ? void 0 : a.authorizedActions) == null ? void 0 : s.includes(o); }), data: a, ...r }; } function js({ resourceType: e, enabled: n = !0 }) { let t = "/iam/resource"; e && (t = `${t}?resourceType=${e}`); const { flattenData: a, isError: r, isLoading: o } = Bu({ route: t, queryKey: ["iam/resource", e], enabled: n, shouldFetchAll: !0 }); return { tags: Pe(() => a ? xs(a) : [], [a]), isError: r, isLoading: o }; } const to = ({ id: e, children: n, label: t, iamActions: a, urn: r, displayTooltip: o = !0, isIamTrigger: s = !0, ...c }) => { const { t: l } = Q("iam"), { isAuthorized: g } = Ha(a, r, s); return g || !(a && r) ? /* @__PURE__ */ i.jsx(L, { "data-testid": "manager-button", ...c, label: t }) : o ? /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("div", { id: e, className: "w-fit", children: /* @__PURE__ */ i.jsx( L, { "data-testid": "manager-button-tooltip", ...c, isDisabled: !0, label: t, onClick: null } ) }), /* @__PURE__ */ i.jsx(ka, { triggerId: e, "with-arrow": !0, children: /* @__PURE__ */ i.jsx("div", { children: l("common_iam_actions_message") }) }) ] }) : /* @__PURE__ */ i.jsx( L, { "data-testid": "manager-button-without-tooltip", ...c, isDisabled: !0, onClick: null, label: t } ); }, Ss = ({ item: e, isTrigger: n, id: t }) => { var r; const a = { size: xe.sm, variant: le.ghost, displayTooltip: !1, className: "menu-item-button w-full", ...e }; return e.href ? /* @__PURE__ */ i.jsx("a", { href: e.href, download: e.download, target: e.target, children: /* @__PURE__ */ i.jsx(L, { ...a }) }) : !(e != null && e.iamActions) || ((r = e == null ? void 0 : e.iamActions) == null ? void 0 : r.length) === 0 ? /* @__PURE__ */ i.jsx(L, { ...a }) : /* @__PURE__ */ i.jsx(to, { id: `${t}`, isIamTrigger: n, ...a }); }, vh = ({ items: e, isCompact: n, icon: t, variant: a = le.outline, isDisabled: r = !1, isLoading: o = !1, id: s, popoverPosition: c, label: l }) => { const { t: g } = Q("buttons"), [m, p] = Ae.useState(!1); return /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("div", { id: `navigation-action-trigger-${s}`, className: "w-min", children: /* @__PURE__ */ i.jsx( L, { "data-testid": "navigation-action-trigger-action", slot: "menu-title", id: s, variant: a, isDisabled: r, isLoading: o, size: xe.sm, onClick: () => p(!0), ...!n && { label: l || g("common_actions") }, icon: t || (n ? se.ellipsisVertical : se.chevronDown), "aria-label": l || g("common_actions") } ) }, s), /* @__PURE__ */ i.jsx( Ft, { className: "py-[8px] px-0 w-max", "data-testid": "navigation-action-trigger-action-popover", triggerId: `navigation-action-trigger-${s}`, "with-arrow": !0, position: c, children: /* @__PURE__ */ i.jsx("div", { className: "flex flex-col", children: e.map(({ id: b, ...d }) => /* @__PURE__ */ i.jsx( Ss, { id: b, item: d, isTrigger: m }, b )) }) } ) ] }); }, bh = ({ isLoading: e, items: n }) => { const { t } = Q("buttons"); return /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("div", { id: "navigation-menu-guide-trigger", children: /* @__PURE__ */ i.jsx( L, { isLoading: e, slot: "menu-title", className: "block", variant: le.ghost, size: xe.sm, label: t("user_account_guides_header"), icon: se.book } ) }), /* @__PURE__ */ i.jsx( Ft, { triggerId: "navigation-menu-guide-trigger", withArrow: !0, position: Vr.bottom, children: /* @__PURE__ */ i.jsx("div", { className: "flex flex-col gap-2 py-1", children: n.map(({ id: a, onClick: r, ...o }) => /* @__PURE__ */ i.jsx( un, { type: it.external, onClickReturn: r, ...o }, a )) }) } ) ] }); }, Es = ["tile-changelog-roadmap", "external-link"], Ms = (e) => `go-to-${e}`, wh = ({ links: e, chapters: n = [], prefixes: t }) => { const { t: a } = Q("buttons"), { trackClick: r } = xi(); return /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("div", { id: "navigation-menu-changelog-trigger", children: /* @__PURE__ */ i.jsx( L, { slot: "menu-title", variant: le.ghost, size: xe.sm, label: a("mrc_changelog_header"), className: "whitespace-nowrap" } ) }), /* @__PURE__ */ i.jsx( Ft, { triggerId: "navigation-menu-changelog-trigger", withArrow: !0, position: Vr.bottom, children: Object.entries(e).map(([o, s]) => /* @__PURE__ */ i.jsx("div", { children: /* @__PURE__ */ i.jsx( un, { href: s, target: "_blank", type: it.external, rel: it.external, label: a(`mrc_changelog_${o}`), onClickReturn: () => r({ actionType: "navigation", actions: [ ...n, ...t || Es, Ms(o) ] }) } ) }, o)) } ) ] }); }, Rs = ({ children: e }) => /* @__PURE__ */ i.jsx("div", { className: "py-8 px-4 md:py-9 md:px-10 md:mt-2", children: e }), Ah = ({ children: e }) => /* @__PURE__ */ i.jsx("div", { className: "w-full block", children: /* @__PURE__ */ i.jsx("div", { className: "grid grid-cols-1 md:items-start md:grid-cols-3 gap-4 md:gap-6", children: e }) }), xh = ({ backLinkLabel: e, hrefPrevious: n, onClickReturn: t, breadcrumb: a, description: r, subtitle: o, subDescription: s, message: c, children: l, header: g, tabs: m }) => /* @__PURE__ */ i.jsxs(Rs, { children: [ /* @__PURE__ */ i.jsx("div", { children: a }), g && /* @__PURE__ */ i.jsx("div", { className: "mt-[24px]", children: /* @__PURE__ */ i.jsx(ds, { ...g }) }), e && (t || n) && /* @__PURE__ */ i.jsx("div", { className: "mb-[16px]", children: /* @__PURE__ */ i.jsx( un, { "data-testid": "manager-back-link", onClickReturn: t, label: e, type: it.back, target: "_self", href: n } ) }), r && /* @__PURE__ */ i.jsx(J, { className: "mb-[16px]", preset: "span", children: r }), c && /* @__PURE__ */ i.jsx("div", { className: "mb-5 max-w-[800px]", children: c }), o && /* @__PURE__ */ i.jsx($r, { className: "block mb-6", children: o }), s && /* @__PURE__ */ i.jsx(J, { preset: "span", children: s }), /* @__PURE__ */ i.jsx("div", { className: "mb-6", children: m }), l ] }), ca = { SERVICE_NOT_FOUND: "service_not_found", UNAUTHORIZED: "unauthorized", PAGE_LOAD: "error_during_page_loading" }, Ds = { de_DE: () => import("./Messages_de_DE-COBuBW2w.mjs"), en_GB: () => import("./Messages_en_GB-D2SS1hAF.mjs"), es_ES: () => import("./Messages_es_ES-C6Irr4VH.mjs"), fr_CA: () => import("./Messages_fr_CA-BmMIDAoY.mjs"), fr_FR: () => import("./Messages_fr_FR-BmMIDAoY.mjs"), it_IT: () => import("./Messages_it_IT-CIHOF1LG.mjs"), pl_PL: () => import("./Messages_pl_PL-Cpo5WbcA.mjs"), pt_PT: () => import("./Messages_pt_PT-Bpw01CNT.mjs") }; he(Ds, "error"); const zs = "data:image/png;base64,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"; function Os(e) { return e != null && e.status && Math.floor(e.status / 100) === 4 ? [401, 403].includes(e.status) ? ca.UNAUTHORIZED : ca.SERVICE_NOT_FOUND : ca.PAGE_LOAD; } const ks = ({ error: e, onRedirectHome: n, onReloadPage: t, labelTracking: a, ...r }) => { var l, g, m; const { t: o } = Q("error"), { shell: s } = Ae.useContext(cn), c = (l = s == null ? void 0 : s.environment) == null ? void 0 : l.getEnvironment(); return Ae.useEffect(() => { c == null || c.then((p) => { var h; const { applicationName: b } = p, d = `errors::${Os(e)}::${b}`; (h = s == null ? void 0 : s.tracking) == null || h.trackPage({ name: d, level2: "81", type: "navigation", page_category: yi.bannerError }); }); }, []), /* @__PURE__ */ i.jsxs( "div", { className: "mx-auto w-full h-full max-w-[600px] overflow-hidden mx-autogrid p-5", ...r, children: [ /* @__PURE__ */ i.jsx("img", { src: zs, alt: "OOPS", className: "w-full" }), /* @__PURE__ */ i.jsx("div", { className: "py-2", children: /* @__PURE__ */ i.jsx(J, { preset: pe.heading1, children: o("manager_error_page_title") }) }), /* @__PURE__ */ i.jsx("div", { children: /* @__PURE__ */ i.jsx( Ht, { color: Ue.warning, "data-tracking": a, className: "w-full", children: /* @__PURE__ */ i.jsxs("div", { children: [ /* @__PURE__ */ i.jsx("div", { children: o("manager_error_page_default") }), /* @__PURE__ */ i.jsx("div", { children: ((g = e == null ? void 0 : e.data) == null ? void 0 : g.message) && /* @__PURE__ */ i.jsx("strong", { children: e.data.message }) }), /* @__PURE__ */ i.jsx("div", { children: ((m = e == null ? void 0 : e.headers) == null ? void 0 : m["x-ovh-queryid"]) && /* @__PURE__ */ i.jsxs("p", { children: [ o("manager_error_page_detail_code"), e.headers["x-ovh-queryid"] ] }) }) ] }) } ) }), /* @__PURE__ */ i.jsxs("div", { className: "overflow-hidden mt-5 py-2", children: [ /* @__PURE__ */ i.jsx("div", { children: /* @__PURE__ */ i.jsx( L, { "data-testid": "error-template-action-home", className: "error-template-actions w-full", variant: le.ghost, onClick: n, label: o("manager_error_page_action_home_label") } ) }), /* @__PURE__ */ i.jsx("div", { children: /* @__PURE__ */ i.jsx( L, { "data-testid": "error-template-action-reload", className: "error-template-actions w-full ", onClick: t, label: o("manager_error_page_action_reload_label") } ) }) ] }) ] } ); }, Ts = () => (Pi(), null), yh = ({ redirectionApp: e, isPreloaderHide: n = !1, isRouteShellSync: t = !1 }) => { var c, l, g, m; const a = wi(), r = (c = ln(cn)) == null ? void 0 : c.shell, o = () => { r == null || r.navigation.navigateTo(e, "", {}); }, s = () => { r == null || r.navigation.reload(); }; return te(() => { n && (r == null || r.ux.hidePreloader()); }, [n]), /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx( ks, { onReloadPage: s, onRedirectHome: o, error: { data: { message: ((g = (l = a == null ? void 0 : a.response) == null ? void 0 : l.data) == null ? void 0 : g.message) || (a == null ? void 0 : a.message) }, headers: ((m = a == null ? void 0 : a.response) == null ? void 0 : m.headers) || {} } } ), t && /* @__PURE__ */ i.jsx(Ts, {}) ] }); }, wr = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEsAAABLCAYAAAA4TnrqAAAABHNCSVQICAgIfAhkiAAABRZJREFUeF7tnEFsFGUUx9/XCjEx7KxyEA7Gi4mxIFQ9iFHDLhw0RQImeMSAUvQGjSbUg+n2BByQcjAaW2KDiQcTIyS0kQDtEouBxJQ2UEwMJoKH4qF2ZgsJqdk+3zfLLLvd3c5703Y7M/3m2vde3/t9/++b79vd7ymYz/PEN83Q2LgDEFOgoJlCJecTLgS+NiCMgFJZyOfPwP39I6U5qcAJJnoOkG9XYP/wO9qUYgZy+054qQaDtarnJ1LSzvDXuwAZIpyGqX3v6khyWInug+R23Etj8+trIPPZy9D84mpIJlcuQHZLF8K2p2Hk+gRkDg/Dpct3SxLBNsi1dslguWtUwzUvSkf7Sy6oOD4aWOeRYqk25GfSMliJ7gypqkPD0YrK9m+LI6diTamWvhKFYacM1qruLL0pNutog2dbIPXm2ljDyv4yDul3+gs1Il6SwUr0TJKbuz2YvL078muU30jrNezJZ7/zzGwpLPQ80fnQ73/F4u/KOlmsw8DyGVIDS6D5OWENOrgJEfaighcoZhNJb7UXe8szjyTpNw31q/fEV2NgO9Nlqfn5CeoQmZYW7Tke+HgddB3dNGecqrAGER9HBzoJ0icEqLFaBAmsasm5L5UlWuuq5ZO0VsLknd0yWBfu4YaGPPxAXs/P5Rk3WJzBq1DWRRuPKAWH/HQdFNZSqalWPaUA/HIrg5XN4Wt5hCGaeg0GViWBMlgDOfyaPsP5yA+U/vuyV9aAg1eIw6sLDYsTLwo2Zcqi9cqm9criJC5RFideFGzKp6FDuyrmY2AZWPx9Fq1ZRllz4DLTkLnsaDMDKw6wah2+ObVxDsWcOLNtQqusWodvTpGcQzEnzrKAxTkUxxaW3wHXK1xyKDawSj4j5wKWQIvEmsUt3CiLht7A8tF/EJUE8THTUKBGA8vA8teAmYYClRhYBpZsSvlbV1pwtxuS2JHYlEoK0rZWYgXYf78vdfO1Dy2sg4euQO/3f4CT+8+3iNkGi/WTzdDCEhOqg4OBJYBsYBlYAgICU6MsA0tAQGBqlBU2WIt9ZhPUW2Eqya0uypIkNJ/Cg/hKcjOwBF9y1B1W6egvxmGXo65aX+D65WNgPaTLOXzXBVatQ7HfSHJUEsSmmrI4h++6wApSUBh9DCzBqBhY9YC1vekU3J8qfDC3/C5noqMkvylt29UHo1cLt9KX5bVfCazeL4bh1PHCjfTUG2thsK9FIOjomaa39UN2aPxh4nShXALr1tgEtL3XV5yKuk2Bfv3G8dFtCvTPNgsPXS7MY0oES7v9ePIGfJm5WuSjFaahbVz/VOQvmOsL5KM3/nUhPVKUC6vQBEOiLI/Q5x+ch8vn78RRUJU1IZ6BqVa3lUwgWJ7Ceo8NF6dk/MjR1HMb97QWmxMFhqXh6DVs6NxtGP11HG7dnIgBOALktoSCLEw/1gsP9v5VKoJ5wYqDmrZYdCeO+RhYBhZTKmQmUtZFB++SDp/mh4+PJV2H+2erpdZwK9LT8GcyfovrEDO7c6Sst7k1KW6bAm7AKNnRTcujW5OqnZuzonYqz80AjNFUjHYPOm7Fnh3CPZqGzQTrT66r+9okdbXTC/Qw1ykOdgSqjdYrUTdMFxYiNgw48BsBi+epePbo0sYzbcErSimaVPynuCHTjXtmHNreK/i0VuMefthwWpKa8grhmLKgI63UA2mWFbtXtyWUgj20+DVRsLKWUNLgYbAnQBOUx02C9DvNnG/TltJNPwI9/wMoG0onfWFZ1gAAAABJRU5ErkJggg==", Ns = ({ orderButtonLabel: e, orderHref: n, onOrderButtonClick: t, isActionDisabled: a, orderIam: r, moreInfoHref: o, moreInfoButtonLabel: s, moreInfoButtonIcon: c = se.externalLink, /** * @deprecated use onMoreInfoButtonClick */ onmoreInfoButtonClick: l, onMoreInfoButtonClick: g, isMoreInfoButtonDisabled: m }) => !e && !s ? /* @__PURE__ */ i.jsx(i.Fragment, {}) : /* @__PURE__ */ i.jsxs("div", { className: "flex flex-col gap-3 sm:gap-4 w-full sm:w-fit sm:flex-row sm:items-center sm:justify-center", children: [ e && (t || n) && /* @__PURE__ */ i.jsx( to, { id: "orderButton", className: "[&::part(button)]:w-full sm:w-auto", size: xe.md, onClick: () => { t == null || t(), n && window.open(n, "_blank"); }, label: e, isDisabled: a, ...r || {} } ), s && (l || g || o) && /* @__PURE__ */ i.jsx( L, { className: "[&::part(button)]:w-full sm:w-auto", size: xe.md, variant: le.outline, onClick: () => { m || (l == null || l(), g == null || g(), o && window.open(o, "_blank")); }, label: s, icon: c, iconAlignment: Jr.right, isDisabled: m } ) ] }), Ph = ({ hideHeadingSection: e, title: n, description: t, orderButtonLabel: a, orderHref: r, isActionDisabled: o, orderIam: s, onOrderButtonClick: c, moreInfoHref: l, moreInfoButtonLabel: g, moreInfoButtonIcon: m, isMoreInfoButtonDisabled: p, /** * @deprecated use onMoreInfoButtonClick */ onmoreInfoButtonClick: b, onMoreInfoButtonClick: d, img: h = {}, children: w }) => { const { className: y, alt: P, ...C } = h; return /* @__PURE__ */ i.jsxs("div", { className: "flex flex-col mx-auto sm:px-10", children: [ !e && /* @__PURE__ */ i.jsxs("section", { className: "flex flex-col items-center gap-6 pt-6 max-w-[800px] self-center", children: [ ((h == null ? void 0 : h.src) || wr) && /* @__PURE__ */ i.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ i.jsx( "img", { ...C, className: `max-h-[150px] ${y}`, src: (h == null ? void 0 : h.src) ?? wr, alt: P ?? "placeholder image" } ) }), /* @__PURE__ */ i.jsx( J, { preset: pe.heading1, className: "block text-center", children: n } ), t, /* @__PURE__ */ i.jsx( Ns, { isActionDisabled: o, orderHref: r, onOrderButtonClick: c, onmoreInfoButtonClick: b, onMoreInfoButtonClick: d, orderButtonLabel: a, moreInfoHref: l, moreInfoButtonLabel: g, orderIam: s, moreInfoButtonIcon: m, isMoreInfoButtonDisabled: p } ) ] }), w && /* @__PURE__ */ i.jsx("aside", { className: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-6 xs:pt-10 sm:pt-20", children: w }) ] }); }, Qn = (e) => ({ onClick: e, onKeyDown: (n) => { [" ", "Enter"].includes(n.key) && e(n); } }), _s = { de_DE: () => import("./Messages_de_DE-fzM6EqEt.mjs"), en_GB: () => import("./Messages_en_GB-BNOhUvE1.mjs"), es_ES: () => import("./Messages_es_ES-BHtOorBn.mjs"), fr_CA: () => import("./Messages_fr_CA-Cep9t8v5.mjs"), fr_FR: () => import("./Messages_fr_FR-Cep9t8v5.mjs"), it_IT: () => import("./Messages_it_IT-CRtkAS-j.mjs"), pl_PL: () => import("./Messages_pl_PL-B6jaWL2S.mjs"), pt_PT: () => import("./Messages_pt_PT-Deywgg5z.mjs") }; he(_s, "delete-modal"); const Is = "TERMINATE", Hs = ({ headline: e, description: n, isOpen: t = !1, deleteInputLabel: a, serviceTypeName: r, closeModal: o, isLoading: s, onConfirmDelete: c, error: l, children: g, cancelButtonLabel: m, confirmButtonLabel: p, terminateValue: b = Is }) => { const { t: d } = Q("delete-modal"), h = Ae.useCallback(() => { o(); }, []); return /* @__PURE__ */ i.jsx( Jn, { color: Ln.critical, onOdsClose: h, isOpen: t, children: /* @__PURE__ */ i.jsxs("div", { className: "flex flex-col gap-4", children: [ /* @__PURE__ */ i.jsx(J, { preset: pe.heading3, children: d("deleteModalHeadline", { serviceType: r || d("deleteModalHeadlineService") }) }), !!l && /* @__PURE__ */ i.jsx(Ht, { color: Ue.warning, children: d("deleteModalError", { error: l }) }), /* @__PURE__ */ i.jsx( J, { preset: pe.paragraph, "data-testid": "manager-delete-modal-description", children: d("deleteModalDescription") } ), g, /* @__PURE__ */ i.jsxs("div", { className: "flex justify-end gap-2", children: [ /* @__PURE__ */ i.jsx( L, { slot: "actions", "data-testid": "manager-delete-modal-cancel", variant: le.ghost, color: bt.critical, ...Qn(h), label: d("deleteModalCancelButton") } ), /* @__PURE__ */ i.jsx( L, { slot: "actions", isLoading: s, "data-testid": "manager-delete-modal-confirm", ...Qn(() => { c(); }), color: bt.critical, label: d("deleteModalDeleteButton") } ) ] }) ] }) } ); }, Fa = ({ resourceName: e = "" }) => [`get/services${e}`], Ba = async ({ resourceName: e }) => ct.v6.get( `/services${e ? `?resourceName=${e}` : ""}` ), Fs = async (e) => ct.v6.get(`/services/${e}`), Bs = async ({ serviceId: e, displayName: n }) => ct.v6.put(`/services/${e}`, { displayName: n }), Gs = async ({ serviceId: e }) => ct.v6.post(`/services/${e}/terminate`), Ls = ["delete-service"], Ws = ({ onSuccess: e, onError: n, mutationKey: t = Ls }) => { const a = za(), { mutate: r, ...o } = Gr({ mutationKey: t, mutationFn: async ({ resourceName: s }) => { const { data: c } = await a.fetchQuery({ queryKey: Fa({ resourceName: s }), queryFn: () => Ba({ resourceName: s }) }); return Gs({ serviceId: c[0] }); }, onSuccess: e, onError: n }); return { terminateService: r, ...o }; }, Qs = ["put/services/displayName"], Xs = ({ onSuccess: e, onError: n, mutationKey: t = Qs }) => { const a = za(), { mutate: r, ...o } = Gr({ mutationKey: t, mutationFn: async ({ resourceName: s, displayName: c }) => { const { data: l } = await a.fetchQuery({ queryKey: Fa({ resourceName: s }), queryFn: () => Ba({ resourceName: s }) }); return Bs({ serviceId: l[0], displayName: c }); }, onSuccess: e, onError: n }); return { updateDisplayName: r, ...o }; }, Ys = (e) => [ "service-details", e ], Ch = ({ queryKey: e, resourceName: n }) => { const t = za(); return Oe({ queryKey: e ?? Ys(n), queryFn: async () => { const { data: a } = await t.fetchQuery({ queryKey: Fa({ resourceName: n }), queryFn: () => Ba({ resourceName: n }) }); return Fs(a[0]); } }); }, _n = { delete: "Delete services error", update: "Update services error", get: "Get services error", getDetails: "Get services details error" }, Vs = { route: { path: "/api/path/{id}", url: "/api/path/id", vars: [ { key: "id", value: "id" } ] }, billing: { nextBillingDate: "2024-11-21T09:03:18Z", expirationDate: "2024-11-21T09:03:18Z", plan: { code: "code", invoiceName: "invoiceName" }, pricing: { capacities: ["renew"], description: "Installation pricing", interval: 1, duration: "P1M", minimumQuantity: 1, maximumQuantity: null, minimumRepeat: 1, maximumRepeat: null, price: { currencyCode: eo.EUR, text: "0.00 €", value: 0 }, priceInUcents: 0, pricingMode: "default", pricingType: "rental", engagementConfiguration: null }, group: null, lifecycle: { current: { pendingActions: [], terminationDate: null, creationDate: "2024-10-21T09:03:18Z", state: "active" }, capacities: { actions: ["earlyRenewal", "terminateAtExpirationDate"] } }, renew: { current: { mode: "automatic", nextDate: "2024-11-21T09:03:18Z", period: "P1M" }, capacities: { mode: ["automatic", "manual"] } }, engagement: null, engagementRequest: null }, resource: { displayName: "Test", name: "id-test", state: "active", product: { name: "test", description: "description" }, resellingProvider: null }, serviceId: 1234567890, parentServiceId: null, customer: { contacts: [ { customerCode: "adminCustomerCode", type: "administrator" }, { customerCode: "technicalCustomerCode", type: "technical" }, { customerCode: "billingCustomerCode", type: "billing" } ] }, tags: [] }, jh = ({ getServicesKo: e, getDetailsServicesKo: n, updateServicesKo: t, deleteServicesKo: a, serviceResponse: r = Vs }) => [ { url: "/services/:id/terminate", response: () => a ? { message: _n.delete } : null, status: a ? 500 : 200, method: "post", api: "v6" }, { url: "/services/:id", response: () => t ? { message: _n.update } : null, status: t ? 500 : 200, method: "put", api: "v6" }, { url: "/services/:id", response: () => n ? { message: _n.getDetails } : r, status: n ? 500 : 200, method: "get", api: "v6" }, { url: "/services", response: () => e ? { message: _n.get } : [1234567890], status: e ? 500 : 200, method: "get", api: "v6" } ], Sh = ({ onConfirmDelete: e, resourceName: n, onSuccess: t, onError: a, mutationKey: r, isLoading: o, ...s }) => { var p, b; const { terminateService: c, isPending: l, error: g, isError: m } = Ws({ onSuccess: t, onError: a, mutationKey: r }); return /* @__PURE__ */ i.jsx( Hs, { ...s, isLoading: o || l, error: m ? (b = (p = g == null ? void 0 : g.response) == null ? void 0 : p.data) == null ? void 0 : b.message : null, onConfirmDelete: () => { e == null || e(), c({ resourceName: n }); } } ); }, Js = { de_DE: () => import("./Messages_de_DE-BAypuO7h.mjs"), en_GB: () => import("./Messages_en_GB-CFv3uc9b.mjs"), es_ES: () => import("./Messages_es_ES-CSzBwQJ9.mjs"), fr_CA: () => import("./Messages_fr_CA-CetOIbdT.mjs"), fr_FR: () => import("./Messages_fr_FR-CetOIbdT.mjs"), it_IT: () => import("./Messages_it_IT-BkTUDwrj.mjs"), pl_PL: () => import("./Messages_pl_PL-BHw0TkBh.mjs"), pt_PT: () => import("./Messages_pt_PT-Q9YdTZFQ.mjs") }; he(Js, "update-name-modal"); const Zs = ({ headline: e, description: n, inputLabel: t, defaultValue: a, closeModal: r, isLoading: o, updateDisplayName: s, error: c, cancelButtonLabel: l, confirmButtonLabel: g, pattern: m, patternMessage: p, isOpen: b = !1 }) => { const { t: d } = Q("update-name-modal"), [h, w] = Ae.useState(a), [y, P] = Ae.useState(!1); return Ae.useEffect(() => { w(a); }, [a]), Ae.useEffect(() => { const C = new RegExp(m); P(!(h != null && h.match(C))); }, [h, m]), /* @__PURE__ */ i.jsx(Jn, { isOpen: b, onOdsClose: r, children: /* @__PURE__ */ i.jsxs("div", { className: "flex flex-col gap-4", children: [ /* @__PURE__ */ i.jsx(J, { preset: pe.heading3, children: e }), !!c && /* @__PURE__ */ i.jsx(Ht, { color: Ue.critical, children: d("updateModalError", { error: c }) }), n && /* @__PURE__ */ i.jsx(J, { preset: pe.paragraph, children: n }), /* @__PURE__ */ i.jsxs(vt, { children: [ /* @__PURE__ */ i.jsx("label", { slot: "label", htmlFor: "update-name-modal-input", children: t }), /* @__PURE__ */ i.jsx( on, { className: "block", "aria-label": "update-input", id: "update-name-modal-input", name: "update-name-modal-input", isDisabled: o, type: Wn.text, value: h, hasError: y || void 0, onOdsChange: (C) => w(C.detail.value) } ), p && /* @__PURE__ */ i.jsx( J, { slot: "visual-hint", preset: "span", className: `update-name-modal-pattern-message ${y && m ? "error" : ""}`, children: p } ) ] }), /* @__PURE__ */ i.jsxs("div", { className: "flex justify-end gap-2", children: [ /* @__PURE__ */ i.jsx( L, { slot: "actions", variant: le.ghost, ...Qn(r), label: l || d("updateModalCancelButton") } ), /* @__PURE__ */ i.jsx( L, { isDisabled: y || a === h || void 0, slot: "actions", isLoading: o, ...Qn(() => s(h)), label: g || d("updateModalConfirmButton") } ) ] }) ] }) }); }, Eh = ({ onConfirm: e, resourceName: n, onSuccess: t, onError: a, mutationKey: r, isLoading: o, ...s }) => { var p, b; const { updateDisplayName: c, isPending: l, error: g, isError: m } = Xs({ onSuccess: t, onError: a, mutationKey: r }); return /* @__PURE__ */ i.jsx( Zs, { ...s, isLoading: l || o, error: m ? (b = (p = g == null ? void 0 : g.response) == null ? void 0 : p.data) == null ? void 0 : b.message : null, updateDisplayName: (d) => { e == null || e(), c({ resourceName: n, displayName: d }); } } ); }; /** * table-core * * Copyright (c) TanStack * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */ function at(e, n) { return typeof e == "function" ? e(n) : e; } function ze(e, n) { return (t) => { n.setState((a) => ({ ...a, [e]: at(t, a[e]) })); }; } function Zn(e) { return e instanceof Function; } function Us(e) { return Array.isArray(e) && e.every((n) => typeof n == "number"); } function qs(e, n) { const t = [], a = (r) => { r.forEach((o) => { t.push(o); const s = n(o); s != null && s.length && a(s); }); }; return a(e), t; } function O(e, n, t) { let a = [], r; return (o) => { let s; t.key && t.debug && (s = Date.now()); const c = e(o); if (!(c.length !== a.length || c.some((m, p) => a[p] !== m))) return r; a = c; let g; if (t.key && t.debug && (g = Date.now()), r = n(...c), t == null || t.onChange == null || t.onChange(r), t.key && t.debug && t != null && t.debug()) { const m = Math.round((Date.now() - s) * 100) / 100, p = Math.round((Date.now() - g) * 100) / 100, b = p / 16, d = (h, w) => { for (h = String(h); h.length < w; ) h = " " + h; return h; }; console.info(`%c⏱ ${d(p, 5)} /${d(m, 5)} ms`, ` font-size: .6rem; font-weight: bold; color: hsl(${Math.max(0, Math.min(120 - 120 * b, 120))}deg 100% 31%);`, t == null ? void 0 : t.key); } return r; }; } function k(e, n, t, a) { return { debug: () => { var r; return (r = e == null ? void 0 : e.debugAll) != null ? r : e[n]; }, key: process.env.NODE_ENV === "development" && t, onChange: a }; } function Ks(e, n, t, a) { const r = () => { var s; return (s = o.getValue()) != null ? s : e.options.renderFallbackValue; }, o = { id: `${n.id}_${t.id}`, row: n, column: t, getValue: () => n.getValue(a), renderValue: r, getContext: O(() => [e, t, n, o], (s, c, l, g) => ({ table: s, column: c, row: l, cell: g, getValue: g.getValue, renderValue: g.renderValue }), k(e.options, "debugCells", "cell.getContext")) }; return e._features.forEach((s) => { s.createCell == null || s.createCell(o, t, n, e); }, {}), o; } function $s(e, n, t, a) { var r, o; const c = { ...e._getDefaultColumnDef(), ...n }, l = c.accessorKey; let g = (r = (o = c.id) != null ? o : l ? typeof String.prototype.replaceAll == "function" ? l.replaceAll(".", "_") : l.replace(/\./g, "_") : void 0) != null ? r : typeof c.header == "string" ? c.header : void 0, m; if (c.accessorFn ? m = c.accessorFn : l && (l.includes(".") ? m = (b) => { let d = b; for (const w of l.split(".")) { var h; d = (h = d) == null ? void 0 : h[w], process.env.NODE_ENV !== "production" && d === void 0 && console.warn(`"${w}" in deeply nested key "${l}" returned undefined.`); } return d; } : m = (b) => b[c.accessorKey]), !g) throw process.env.NODE_ENV !== "production" ? new Error(c.accessorFn ? "Columns require an id when using an accessorFn" : "Columns require an id when using a non-string header") : new Error(); let p = { id: `${String(g)}`, accessorFn: m, parent: a, depth: t, columnDef: c, columns: [], getFlatColumns: O(() => [!0], () => { var b; return [p, ...(b = p.columns) == null ? void 0 : b.flatMap((d) => d.getFlatColumns())]; }, k(e.options, "debugColumns", "column.getFlatColumns")), getLeafColumns: O(() => [e._getOrderColumnsFn()], (b) => { var d; if ((d = p.columns) != null && d.length) { let h = p.columns.flatMap((w) => w.getLeafColumns()); return b(h); } return [p]; }, k(e.options, "debugColumns", "column.getLeafColumns")) }; for (const b of e._features) b.createColumn == null || b.createColumn(p, e); return p; } const we = "debugHeaders"; function Ar(e, n, t) { var a; let o = { id: (a = t.id) != null ? a : n.id, column: n, index: t.index, isPlaceholder: !!t.isPlaceholder, placeholderId: t.placeholderId, depth: t.depth, subHeaders: [], colSpan: 0, rowSpan: 0, headerGroup: null, getLeafHeaders: () => { const s = [], c = (l) => { l.subHeaders && l.subHeaders.length && l.subHeaders.map(c), s.push(l); }; return c(o), s; }, getContext: () => ({ table: e, header: o, column: n }) }; return e._features.forEach((s) => { s.createHeader == null || s.createHeader(o, e); }), o; } const el = { createTable: (e) => { e.getHeaderGroups = O(() => [e.getAllColumns(), e.getVisibleLeafColumns(), e.getState().columnPinning.left, e.getState().columnPinning.right], (n, t, a, r) => { var o, s; const c = (o = a == null ? void 0 : a.map((p) => t.find((b) => b.id === p)).filter(Boolean)) != null ? o : [], l = (s = r == null ? void 0 : r.map((p) => t.find((b) => b.id === p)).filter(Boolean)) != null ? s : [], g = t.filter((p) => !(a != null && a.includes(p.id)) && !(r != null && r.includes(p.id))); return In(n, [...c, ...g, ...l], e); }, k(e.options, we, "getHeaderGroups")), e.getCenterHeaderGroups = O(() => [e.getAllColumns(), e.getVisibleLeafColumns(), e.getState().columnPinning.left, e.getState().columnPinning.right], (n, t, a, r) => (t = t.filter((o) => !(a != null && a.includes(o.id)) && !(r != null && r.includes(o.id))), In(n, t, e, "center")), k(e.options, we, "getCenterHeaderGroups")), e.getLeftHeaderGroups = O(() => [e.getAllColumns(), e.getVisibleLeafColumns(), e.getState().columnPinning.left], (n, t, a) => { var r; const o = (r = a == null ? void 0 : a.map((s) => t.find((c) => c.id === s)).filter(Boolean)) != null ? r : []; return In(n, o, e, "left"); }, k(e.options, we, "getLeftHeaderGroups")), e.getRightHeaderGroups = O(() => [e.getAllColumns(), e.getVisibleLeafColumns(), e.getState().columnPinning.right], (n, t, a) => { var r; const o = (r = a == null ? void 0 : a.map((s) => t.find((c) => c.id === s)).filter(Boolean)) != null ? r : []; return In(n, o, e, "right"); }, k(e.options, we, "getRightHeaderGroups")), e.getFooterGroups = O(() => [e.getHeaderGroups()], (n) => [...n].reverse(), k(e.options, we, "getFooterGroups")), e.getLeftFooterGroups = O(() => [e.getLeftHeaderGroups()], (n) => [...n].reverse(), k(e.options, we, "getLeftFooterGroups")), e.getCenterFooterGroups = O(() => [e.getCenterHeaderGroups()], (n) => [...n].reverse(), k(e.options, we, "getCenterFooterGroups")), e.getRightFooterGroups = O(() => [e.getRightHeaderGroups()], (n) => [...n].reverse(), k(e.options, we, "getRightFooterGroups")), e.getFlatHeaders = O(() => [e.getHeaderGroups()], (n) => n.map((t) => t.headers).flat(), k(e.options, we, "getFlatHeaders")), e.getLeftFlatHeaders = O(() => [e.getLeftHeaderGroups()], (n) => n.map((t) => t.headers).flat(), k(e.options, we, "getLeftFlatHeaders")), e.getCenterFlatHeaders = O(() => [e.getCenterHeaderGroups()], (n) => n.map((t) => t.headers).flat(), k(e.options, we, "getCenterFlatHeaders")), e.getRightFlatHeaders = O(() => [e.getRightHeaderGroups()], (n) => n.map((t) => t.headers).flat(), k(e.options, we, "getRightFlatHeaders")), e.getCenterLeafHeaders = O(() => [e.getCenterFlatHeaders()], (n) => n.filter((t) => { var a; return !((a = t.subHeaders) != null && a.length); }), k(e.options, we, "getCenterLeafHeaders")), e.getLeftLeafHeaders = O(() => [e.getLeftFlatHeaders()], (n) => n.filter((t) => { var a; return !((a = t.subHeaders) != null && a.length); }), k(e.options, we, "getLeftLeafHeaders")), e.getRightLeafHeaders = O(() => [e.getRightFlatHeaders()], (n) => n.filter((t) => { var a; return !((a = t.subHeaders) != null && a.length); }), k(e.options, we, "getRightLeafHeaders")), e.getLeafHeaders = O(() => [e.getLeftHeaderGroups(), e.getCenterHeaderGroups(), e.getRightHeaderGroups()], (n, t, a) => { var r, o, s, c, l, g; return [...(r = (o = n[0]) == null ? void 0 : o.headers) != null ? r : [], ...(s = (c = t[0]) == null ? void 0 : c.headers) != null ? s : [], ...(l = (g = a[0]) == null ? void 0 : g.headers) != null ? l : []].map((m) => m.getLeafHeaders()).flat(); }, k(e.options, we, "getLeafHeaders")); } }; function In(e, n, t, a) { var r, o; let s = 0; const c = function(b, d) { d === void 0 && (d = 1), s = Math.max(s, d), b.filter((h) => h.getIsVisible()).forEach((h) => { var w; (w = h.columns) != null && w.length && c(h.columns, d + 1); }, 0); }; c(e); let l = []; const g = (b, d) => { const h = { depth: d, id: [a, `${d}`].filter(Boolean).join("_"), headers: [] }, w = []; b.forEach((y) => { const P = [...w].reverse()[0], C = y.column.depth === h.depth; let E, _ = !1; if (C && y.column.parent ? E = y.column.parent : (E = y.column, _ = !0), P && (P == null ? void 0 : P.column) === E) P.subHeaders.push(y); else { const X = Ar(t, E, { id: [a, d, E.id, y == null ? void 0 : y.id].filter(Boolean).join("_"), isPlaceholder: _, placeholderId: _ ? `${w.filter((R) => R.column === E).length}` : void 0, depth: d, index: w.length }); X.subHeaders.push(y), w.push(X); } h.headers.push(y), y.headerGroup = h; }), l.push(h), d > 0 && g(w, d - 1); }, m = n.map((b, d) => Ar(t, b, { depth: s, index: d })); g(m, s - 1), l.reverse(); const p = (b) => b.filter((h) => h.column.getIsVisible()).map((h) => { let w = 0, y = 0, P = [0]; h.subHeaders && h.subHeaders.length ? (P = [], p(h.subHeaders).forEach((E) => { let { colSpan: _, rowSpan: X } = E; w += _, P.push(X); })) : w = 1; const C = Math.min(...P); return y = y + C, h.colSpan = w, h.rowSpan = y, { colSpan: w, rowSpan: y }; }); return p((r = (o = l[0]) == null ? void 0 : o.headers) != null ? r : []), l; } const tl = (e, n, t, a, r, o, s) => { let c = { id: n, index: a, original: t, depth: r, parentId: s, _valuesCache: {}, _uniqueValuesCache: {}, getValue: (l) => { if (c._valuesCache.hasOwnProperty(l)) return c._valuesCache[l]; const g = e.getColumn(l); if (g != null && g.accessorFn) return c._valuesCache[l] = g.accessorFn(c.original, a), c._valuesCache[l]; }, getUniqueValues: (l) => { if (c._uniqueValuesCache.hasOwnProperty(l)) return c._uniqueValuesCache[l]; const g = e.getColumn(l); if (g != null && g.accessorFn) return g.columnDef.getUniqueValues ? (c._uniqueValuesCache[l] = g.columnDef.getUniqueValues(c.original, a), c._uniqueValuesCache[l]) : (c._uniqueValuesCache[l] = [c.getValue(l)], c._uniqueValuesCache[l]); }, renderValue: (l) => { var g; return (g = c.getValue(l)) != null ? g : e.options.renderFallbackValue; }, subRows: [], getLeafRows: () => qs(c.subRows, (l) => l.subRows), getParentRow: () => c.parentId ? e.getRow(c.parentId, !0) : void 0, getParentRows: () => { let l = [], g = c; for (; ; ) { const m = g.getParentRow(); if (!m) break; l.push(m), g = m; } return l.reverse(); }, getAllCells: O(() => [e.getAllLeafColumns()], (l) => l.map((g) => Ks(e, c, g, g.id)), k(e.options, "debugRows", "getAllCells")), _getAllCellsByColumnId: O(() => [c.getAllCells()], (l) => l.reduce((g, m) => (g[m.column.id] = m, g), {}), k(e.options, "debugRows", "getAllCellsByColumnId")) }; for (let l = 0; l < e._features.length; l++) { const g = e._features[l]; g == null || g.createRow == null || g.createRow(c, e); } return c; }, nl = { createColumn: (e, n) => { e._getFacetedRowModel = n.options.getFacetedRowModel && n.options.getFacetedRowModel(n, e.id), e.getFacetedRowModel = () => e._getFacetedRowModel ? e._getFacetedRowModel() : n.getPreFilteredRowModel(), e._getFacetedUniqueValues = n.options.getFacetedUniqueValues && n.options.getFacetedUniqueValues(n, e.id), e.getFacetedUniqueValues = () => e._getFacetedUniqueValues ? e._getFacetedUniqueValues() : /* @__PURE__ */ new Map(), e._getFacetedMinMaxValues = n.options.getFacetedMinMaxValues && n.options.getFacetedMinMaxValues(n, e.id), e.getFacetedMinMaxValues = () => { if (e._getFacetedMinMaxValues) return e._getFacetedMinMaxValues(); }; } }, no = (e, n, t) => { var a; const r = t.toLowerCase(); return !!(!((a = e.getValue(n)) == null || (a = a.toString()) == null || (a = a.toLowerCase()) == null) && a.includes(r)); }; no.autoRemove = (e) => Le(e); const ao = (e, n, t) => { var a; return !!(!((a = e.getValue(n)) == null || (a = a.toString()) == null) && a.includes(t)); }; ao.autoRemove = (e) => Le(e); const ro = (e, n, t) => { var a; return ((a = e.getValue(n)) == null || (a = a.toString()) == null ? void 0 : a.toLowerCase()) === (t == null ? void 0 : t.toLowerCase()); }; ro.autoRemove = (e) => Le(e); const oo = (e, n, t) => { var a; return (a = e.getValue(n)) == null ? void 0 : a.includes(t); }; oo.autoRemove = (e) => Le(e) || !(e != null && e.length); const io = (e, n, t) => !t.some((a) => { var r; return !((r = e.getValue(n)) != null && r.includes(a)); }); io.autoRemove = (e) => Le(e) || !(e != null && e.length); const so = (e, n, t) => t.some((a) => { var r; return (r = e.getValue(n)) == null ? void 0 : r.includes(a); }); so.autoRemove = (e) => Le(e) || !(e != null && e.length); const lo = (e, n, t) => e.getValue(n) === t; lo.autoRemove = (e) => Le(e); const co = (e, n, t) => e.getValue(n) == t; co.autoRemove = (e) => Le(e); const Ga = (e, n, t) => { let [a, r] = t; const o = e.getValue(n); return o >= a && o <= r; }; Ga.resolveFilterValue = (e) => { let [n, t] = e, a = typeof n != "number" ? parseFloat(n) : n, r = typeof t != "number" ? parseFloat(t) : t, o = n === null || Number.isNaN(a) ? -1 / 0 : a, s = t === null || Number.isNaN(r) ? 1 / 0 : r; if (o > s) { const c = o; o = s, s = c; } return [o, s]; }; Ga.autoRemove = (e) => Le(e) || Le(e[0]) && Le(e[1]); const Ze = { includesString: no, includesStringSensitive: ao, equalsString: ro, arrIncludes: oo, arrIncludesAll: io, arrIncludesSome: so, equals: lo, weakEquals: co, inNumberRange: Ga }; function Le(e) { return e == null || e === ""; } const al = { getDefaultColumnDef: () => ({ filterFn: "auto" }), getInitialState: (e) => ({ columnFilters: [], ...e }), getDefaultOptions: (e) => ({ onColumnFiltersChange: ze("columnFilters", e), filterFromLeafRows: !1, maxLeafRowFilterDepth: 100 }), createColumn: (e, n) => { e.getAutoFilterFn = () => { const t = n.getCoreRowModel().flatRows[0], a = t == null ? void 0 : t.getValue(e.id); return typeof a == "string" ? Ze.includesString : typeof a == "number" ? Ze.inNumberRange : typeof a == "boolean" || a !== null && typeof a == "object" ? Ze.equals : Array.isArray(a) ? Ze.arrIncludes : Ze.weakEquals; }, e.getFilterFn = () => { var t, a; return Zn(e.columnDef.filterFn) ? e.columnDef.filterFn : e.columnDef.filterFn === "auto" ? e.getAutoFilterFn() : ( // @ts-ignore (t = (a = n.options.filterFns) == null ? void 0 : a[e.columnDef.filterFn]) != null ? t : Ze[e.columnDef.filterFn] ); }, e.getCanFilter = () => { var t, a, r; return ((t = e.columnDef.enableColumnFilter) != null ? t : !0) && ((a = n.options.enableColumnFilters) != null ? a : !0) && ((r = n.options.enableFilters) != null ? r : !0) && !!e.accessorFn; }, e.getIsFiltered = () => e.getFilterIndex() > -1, e.getFilterValue = () => { var t; return (t = n.getState().columnFilters) == null || (t = t.find((a) => a.id === e.id)) == null ? void 0 : t.value; }, e.getFilterIndex = () => { var t, a; return (t = (a = n.getState().columnFilters) == null ? void 0 : a.findIndex((r) => r.id === e.id)) != null ? t : -1; }, e.setFilterValue = (t) => { n.setColumnFilters((a) => { const r = e.getFilterFn(), o = a == null ? void 0 : a.find((m) => m.id === e.id), s = at(t, o ? o.value : void 0); if (xr(r, s, e)) { var c; return (c = a == null ? void 0 : a.filter((m) => m.id !== e.id)) != null ? c : []; } const l = { id: e.id, value: s }; if (o) { var g; return (g = a == null ? void 0 : a.map((m) => m.id === e.id ? l : m)) != null ? g : []; } return a != null && a.length ? [...a, l] : [l]; }); }; }, createRow: (e, n) => { e.columnFilters = {}, e.columnFiltersMeta = {}; }, createTable: (e) => { e.setColumnFilters = (n) => { const t = e.getAllLeafColumns(), a = (r) => { var o; return (o = at(n, r)) == null ? void 0 : o.filter((s) => { const c = t.find((l) => l.id === s.id); if (c) { const l = c.getFilterFn(); if (xr(l, s.value, c)) return !1; } return !0; }); }; e.options.onColumnFiltersChange == null || e.options.onColumnFiltersChange(a); }, e.resetColumnFilters = (n) => { var t, a; e.setColumnFilters(n ? [] : (t = (a = e.initialState) == null ? void 0 : a.columnFilters) != null ? t : []); }, e.getPreFilteredRowModel = () => e.getCoreRowModel(), e.getFilteredRowModel = () => (!e._getFilteredRowModel && e.options.getFilteredRowModel && (e._getFilteredRowModel = e.options.getFilteredRowModel(e)), e.options.manualFiltering || !e._getFilteredRowModel ? e.getPreFilteredRowModel() : e._getFilteredRowModel()); } }; function xr(e, n, t) { return (e && e.autoRemove ? e.autoRemove(n, t) : !1) || typeof n > "u" || typeof n == "string" && !n; } const rl = (e, n, t) => t.reduce((a, r) => { const o = r.getValue(e); return a + (typeof o == "number" ? o : 0); }, 0), ol = (e, n, t) => { let a; return t.forEach((r) => { const o = r.getValue(e); o != null && (a > o || a === void 0 && o >= o) && (a = o); }), a; }, il = (e, n, t) => { let a; return t.forEach((r) => { const o = r.getValue(e); o != null && (a < o || a === void 0 && o >= o) && (a = o); }), a; }, sl = (e, n, t) => { let a, r; return t.forEach((o) => { const s = o.getValue(e); s != null && (a === void 0 ? s >= s && (a = r = s) : (a > s && (a = s), r < s && (r = s))); }), [a, r]; }, ll = (e, n) => { let t = 0, a = 0; if (n.forEach((r) => { let o = r.getValue(e); o != null && (o = +o) >= o && (++t, a += o); }), t) return a / t; }, cl = (e, n) => { if (!n.length) return; const t = n.map((o) => o.getValue(e)); if (!Us(t)) return; if (t.length === 1) return t[0]; const a = Math.floor(t.length / 2), r = t.sort((o, s) => o - s); return t.length % 2 !== 0 ? r[a] : (r[a - 1] + r[a]) / 2; }, ul = (e, n) => Array.from(new Set(n.map((t) => t.getValue(e))).values()), dl = (e, n) => new Set(n.map((t) => t.getValue(e))).size, gl = (e, n) => n.length, ua = { sum: rl, min: ol, max: il, extent: sl, mean: ll, median: cl, unique: ul, uniqueCount: dl, count: gl }, ml = { getDefaultColumnDef: () => ({ aggregatedCell: (e) => { var n, t; return (n = (t = e.getValue()) == null || t.toString == null ? void 0 : t.toString()) != null ? n : null; }, aggregationFn: "auto" }), getInitialState: (e) => ({ grouping: [], ...e }), getDefaultOptions: (e) => ({ onGroupingChange: ze("grouping", e), groupedColumnMode: "reorder" }), createColumn: (e, n) => { e.toggleGrouping = () => { n.setGrouping((t) => t != null && t.includes(e.id) ? t.filter((a) => a !== e.id) : [...t ?? [], e.id]); }, e.getCanGroup = () => { var t, a; return ((t = e.columnDef.enableGrouping) != null ? t : !0) && ((a = n.options.enableGrouping) != null ? a : !0) && (!!e.accessorFn || !!e.columnDef.getGroupingValue); }, e.getIsGrouped = () => { var t; return (t = n.getState().grouping) == null ? void 0 : t.includes(e.id); }, e.getGroupedIndex = () => { var t; return (t = n.getState().grouping) == null ? void 0 : t.indexOf(e.id); }, e.getToggleGroupingHandler = () => { const t = e.getCanGroup(); return () => { t && e.toggleGrouping(); }; }, e.getAutoAggregationFn = () => { const t = n.getCoreRowModel().flatRows[0], a = t == null ? void 0 : t.getValue(e.id); if (typeof a == "number") return ua.sum; if (Object.prototype.toString.call(a) === "[object Date]") return ua.extent; }, e.getAggregationFn = () => { var t, a; if (!e) throw new Error(); return Zn(e.columnDef.aggregationFn) ? e.columnDef.aggregationFn : e.columnDef.aggregationFn === "auto" ? e.getAutoAggregationFn() : (t = (a = n.options.aggregationFns) == null ? void 0 : a[e.columnDef.aggregationFn]) != null ? t : ua[e.columnDef.aggregationFn]; }; }, createTable: (e) => { e.setGrouping = (n) => e.options.onGroupingChange == null ? void 0 : e.options.onGroupingChange(n), e.resetGrouping = (n) => { var t, a; e.setGrouping(n ? [] : (t = (a = e.initialState) == null ? void 0 : a.grouping) != null ? t : []); }, e.getPreGroupedRowModel = () => e.getFilteredRowModel(), e.getGroupedRowModel = () => (!e._getGroupedRowModel && e.options.getGroupedRowModel && (e._getGroupedRowModel = e.options.getGroupedRowModel(e)), e.options.manualGrouping || !e._getGroupedRowModel ? e.getPreGroupedRowModel() : e._getGroupedRowModel()); }, createRow: (e, n) => { e.getIsGrouped = () => !!e.groupingColumnId, e.getGroupingValue = (t) => { if (e._groupingValuesCache.hasOwnProperty(t)) return e._groupingValuesCache[t]; const a = n.getColumn(t); return a != null && a.columnDef.getGroupingValue ? (e._groupingValuesCache[t] = a.columnDef.getGroupingValue(e.original), e._groupingValuesCache[t]) : e.getValue(t); }, e._groupingValuesCache = {}; }, createCell: (e, n, t, a) => { e.getIsGrouped = () => n.getIsGrouped() && n.id === t.groupingColumnId, e.getIsPlaceholder = () => !e.getIsGrouped() && n.getIsGrouped(), e.getIsAggregated = () => { var r; return !e.getIsGrouped() && !e.getIsPlaceholder() && !!((r = t.subRows) != null && r.length); }; } }; function fl(e, n, t) { if (!(n != null && n.length) || !t) return e; const a = e.filter((o) => !n.includes(o.id)); return t === "remove" ? a : [...n.map((o) => e.find((s) => s.id === o)).filter(Boolean), ...a]; } const pl = { getInitialState: (e) => ({ columnOrder: [], ...e }), getDefaultOptions: (e) => ({ onColumnOrderChange: ze("columnOrder", e) }), createColumn: (e, n) => { e.getIndex = O((t) => [an(n, t)], (t) => t.findIndex((a) => a.id === e.id), k(n.options, "debugColumns", "getIndex")), e.getIsFirstColumn = (t) => { var a; return ((a = an(n, t)[0]) == null ? void 0 : a.id) === e.id; }, e.getIsLastColumn = (t) => { var a; const r = an(n, t); return ((a = r[r.length - 1]) == null ? void 0 : a.id) === e.id; }; }, createTable: (e) => { e.setColumnOrder = (n) => e.options.onColumnOrderChange == null ? void 0 : e.options.onColumnOrderChange(n), e.resetColumnOrder = (n) => { var t; e.setColumnOrder(n ? [] : (t = e.initialState.columnOrder) != null ? t : []); }, e._getOrderColumnsFn = O(() => [e.getState().columnOrder, e.getState().grouping, e.options.groupedColumnMode], (n, t, a) => (r) => { let o = []; if (!(n != null && n.length)) o = r; else { const s = [...n], c = [...r]; for (; c.length && s.length; ) { const l = s.shift(), g = c.findIndex((m) => m.id === l); g > -1 && o.push(c.splice(g, 1)[0]); } o = [...o, ...c]; } return fl(o, t, a); }, k(e.options, "debugTable", "_getOrderColumnsFn")); } }, da = () => ({ left: [], right: [] }), hl = { getInitialState: (e) => ({ columnPinning: da(), ...e }), getDefaultOptions: (e) => ({ onColumnPinningChange: ze("columnPinning", e) }), createColumn: (e, n) => { e.pin = (t) => { const a = e.getLeafColumns().map((r) => r.id).filter(Boolean); n.setColumnPinning((r) => { var o, s; if (t === "right") { var c, l; return { left: ((c = r == null ? void 0 : r.left) != null ? c : []).filter((p) => !(a != null && a.includes(p))), right: [...((l = r == null ? void 0 : r.right) != null ? l : []).filter((p) => !(a != null && a.includes(p))), ...a] }; } if (t === "left") { var g, m; return { left: [...((g = r == null ? void 0 : r.left) != null ? g : []).filter((p) => !(a != null && a.includes(p))), ...a], right: ((m = r == null ? void 0 : r.right) != null ? m : []).filter((p) => !(a != null && a.includes(p))) }; } return { left: ((o = r == null ? void 0 : r.left) != null ? o : []).filter((p) => !(a != null && a.includes(p))), right: ((s = r == null ? void 0 : r.right) != null ? s : []).filter((p) => !(a != null && a.includes(p))) }; }); }, e.getCanPin = () => e.getLeafColumns().some((a) => { var r, o, s; return ((r = a.columnDef.enablePinning) != null ? r : !0) && ((o = (s = n.options.enableColumnPinning) != null ? s : n.options.enablePinning) != null ? o : !0); }), e.getIsPinned = () => { const t = e.getLeafColumns().map((c) => c.id), { left: a, right: r } = n.getState().columnPinning, o = t.some((c) => a == null ? void 0 : a.includes(c)), s = t.some((c) => r == null ? void 0 : r.includes(c)); return o ? "left" : s ? "right" : !1; }, e.getPinnedIndex = () => { var t, a; const r = e.getIsPinned(); return r ? (t = (a = n.getState().columnPinning) == null || (a = a[r]) == null ? void 0 : a.indexOf(e.id)) != null ? t : -1 : 0; }; }, createRow: (e, n) => { e.getCenterVisibleCells = O(() => [e._getAllVisibleCells(), n.getState().columnPinning.left, n.getState().columnPinning.right], (t, a, r) => { const o = [...a ?? [], ...r ?? []]; return t.filter((s) => !o.includes(s.column.id)); }, k(n.options, "debugRows", "getCenterVisibleCells")), e.getLeftVisibleCells = O(() => [e._getAllVisibleCells(), n.getState().columnPinning.left], (t, a) => (a ?? []).map((o) => t.find((s) => s.column.id === o)).filter(Boolean).map((o) => ({ ...o, position: "left" })), k(n.options, "debugRows", "getLeftVisibleCells")), e.getRightVisibleCells = O(() => [e._getAllVisibleCells(), n.getState().columnPinning.right], (t, a) => (a ?? []).map((o) => t.find((s) => s.column.id === o)).filter(Boolean).map((o) => ({ ...o, position: "right" })), k(n.options, "debugRows", "getRightVisibleCells")); }, createTable: (e) => { e.setColumnPinning = (n) => e.options.onColumnPinningChange == null ? void 0 : e.options.onColumnPinningChange(n), e.resetColumnPinning = (n) => { var t, a; return e.setColumnPinning(n ? da() : (t = (a = e.initialState) == null ? void 0 : a.columnPinning) != null ? t : da()); }, e.getIsSomeColumnsPinned = (n) => { var t; const a = e.getState().columnPinning; if (!n) { var r, o; return !!((r = a.left) != null && r.length || (o = a.right) != null && o.length); } return !!((t = a[n]) != null && t.length); }, e.getLeftLeafColumns = O(() => [e.getAllLeafColumns(), e.getState().columnPinning.left], (n, t) => (t ?? []).map((a) => n.find((r) => r.id === a)).filter(Boolean), k(e.options, "debugColumns", "getLeftLeafColumns")), e.getRightLeafColumns = O(() => [e.getAllLeafColumns(), e.getState().columnPinning.right], (n, t) => (t ?? []).map((a) => n.find((r) => r.id === a)).filter(Boolean), k(e.options, "debugColumns", "getRightLeafColumns")), e.getCenterLeafColumns = O(() => [e.getAllLeafColumns(), e.getState().columnPinning.left, e.getState().columnPinning.right], (n, t, a) => { const r = [...t ?? [], ...a ?? []]; return n.filter((o) => !r.includes(o.id)); }, k(e.options, "debugColumns", "getCenterLeafColumns")); } }, Hn = { size: 150, minSize: 20, maxSize: Number.MAX_SAFE_INTEGER }, ga = () => ({ startOffset: null, startSize: null, deltaOffset: null, deltaPercentage: null, isResizingColumn: !1, columnSizingStart: [] }), vl = { getDefaultColumnDef: () => Hn, getInitialState: (e) => ({ columnSizing: {}, columnSizingInfo: ga(), ...e }), getDefaultOptions: (e) => ({ columnResizeMode: "onEnd", columnResizeDirection: "ltr", onColumnSizingChange: ze("columnSizing", e), onColumnSizingInfoChange: ze("columnSizingInfo", e) }), createColumn: (e, n) => { e.getSize = () => { var t, a, r; const o = n.getState().columnSizing[e.id]; return Math.min(Math.max((t = e.columnDef.minSize) != null ? t : Hn.minSize, (a = o ?? e.columnDef.size) != null ? a : Hn.size), (r = e.columnDef.maxSize) != null ? r : Hn.maxSize); }, e.getStart = O((t) => [t, an(n, t), n.getState().columnSizing], (t, a) => a.slice(0, e.getIndex(t)).reduce((r, o) => r + o.getSize(), 0), k(n.options, "debugColumns", "getStart")), e.getAfter = O((t) => [t, an(n, t), n.getState().columnSizing], (t, a) => a.slice(e.getIndex(t) + 1).reduce((r, o) => r + o.getSize(), 0), k(n.options, "debugColumns", "getAfter")), e.resetSize = () => { n.setColumnSizing((t) => { let { [e.id]: a, ...r } = t; return r; }); }, e.getCanResize = () => { var t, a; return ((t = e.columnDef.enableResizing) != null ? t : !0) && ((a = n.options.enableColumnResizing) != null ? a : !0); }, e.getIsResizing = () => n.getState().columnSizingInfo.isResizingColumn === e.id; }, createHeader: (e, n) => { e.getSize = () => { let t = 0; const a = (r) => { if (r.subHeaders.length) r.subHeaders.forEach(a); else { var o; t += (o = r.column.getSize()) != null ? o : 0; } }; return a(e), t; }, e.getStart = () => { if (e.index > 0) { const t = e.headerGroup.headers[e.index - 1]; return t.getStart() + t.getSize(); } return 0; }, e.getResizeHandler = (t) => { const a = n.getColumn(e.column.id), r = a == null ? void 0 : a.getCanResize(); return (o) => { if (!a || !r || (o.persist == null || o.persist(), ma(o) && o.touches && o.touches.length > 1)) return; const s = e.getSize(), c = e ? e.getLeafHeaders().map((P) => [P.column.id, P.column.getSize()]) : [[a.id, a.getSize()]], l = ma(o) ? Math.round(o.touches[0].clientX) : o.clientX, g = {}, m = (P, C) => { typeof C == "number" && (n.setColumnSizingInfo((E) => { var _, X; const R = n.options.columnResizeDirection === "rtl" ? -1 : 1, D = (C - ((_ = E == null ? void 0 : E.startOffset) != null ? _ : 0)) * R, q = Math.max(D / ((X = E == null ? void 0 : E.startSize) != null ? X : 0), -0.999999); return E.columnSizingStart.forEach((ke) => { let [Ie, Me] = ke; g[Ie] = Math.round(Math.max(Me + Me * q, 0) * 100) / 100; }), { ...E, deltaOffset: D, deltaPercentage: q }; }), (n.options.columnResizeMode === "onChange" || P === "end") && n.setColumnSizing((E) => ({ ...E, ...g }))); }, p = (P) => m("move", P), b = (P) => { m("end", P), n.setColumnSizingInfo((C) => ({ ...C, isResizingColumn: !1, startOffset: null, startSize: null, deltaOffset: null, deltaPercentage: null, columnSizingStart: [] })); }, d = t || typeof document < "u" ? document : null, h = { moveHandler: (P) => p(P.clientX), upHandler: (P) => { d == null || d.removeEventListener("mousemove", h.moveHandler), d == null || d.removeEventListener("mouseup", h.upHandler), b(P.clientX); } }, w = { moveHandler: (P) => (P.cancelable && (P.preventDefault(), P.stopPropagation()), p(P.touches[0].clientX), !1), upHandler: (P) => { var C; d == null || d.removeEventListener("touchmove", w.moveHandler), d == null || d.removeEventListener("touchend", w.upHandler), P.cancelable && (P.preventDefault(), P.stopPropagation()), b((C = P.touches[0]) == null ? void 0 : C.clientX); } }, y = bl() ? { passive: !1 } : !1; ma(o) ? (d == null || d.addEventListener("touchmove", w.moveHandler, y), d == null || d.addEventListener("touchend", w.upHandler, y)) : (d == null || d.addEventListener("mousemove", h.moveHandler, y), d == null || d.addEventListener("mouseup", h.upHandler, y)), n.setColumnSizingInfo((P) => ({ ...P, startOffset: l, startSize: s, deltaOffset: 0, deltaPercentage: 0, columnSizingStart: c, isResizingColumn: a.id })); }; }; }, createTable: (e) => { e.setColumnSizing = (n) => e.options.onColumnSizingChange == null ? void 0 : e.options.onColumnSizingChange(n), e.setColumnSizingInfo = (n) => e.options.onColumnSizingInfoChange == null ? void 0 : e.options.onColumnSizingInfoChange(n), e.resetColumnSizing = (n) => { var t; e.setColumnSizing(n ? {} : (t = e.initialState.columnSizing) != null ? t : {}); }, e.resetHeaderSizeInfo = (n) => { var t; e.setColumnSizingInfo(n ? ga() : (t = e.initialState.columnSizingInfo) != null ? t : ga()); }, e.getTotalSize = () => { var n, t; return (n = (t = e.getHeaderGroups()[0]) == null ? void 0 : t.headers.reduce((a, r) => a + r.getSize(), 0)) != null ? n : 0; }, e.getLeftTotalSize = () => { var n, t; return (n = (t = e.getLeftHeaderGroups()[0]) == null ? void 0 : t.headers.reduce((a, r) => a + r.getSize(), 0)) != null ? n : 0; }, e.getCenterTotalSize = () => { var n, t; return (n = (t = e.getCenterHeaderGroups()[0]) == null ? void 0 : t.headers.reduce((a, r) => a + r.getSize(), 0)) != null ? n : 0; }, e.getRightTotalSize = () => { var n, t; return (n = (t = e.getRightHeaderGroups()[0]) == null ? void 0 : t.headers.reduce((a, r) => a + r.getSize(), 0)) != null ? n : 0; }; } }; let Fn = null; function bl() { if (typeof Fn == "boolean") return Fn; let e = !1; try { const n = { get passive() { return e = !0, !1; } }, t = () => { }; window.addEventListener("test", t, n), window.removeEventListener("test", t); } catch { e = !1; } return Fn = e, Fn; } function ma(e) { return e.type === "touchstart"; } const wl = { getInitialState: (e) => ({ columnVisibility: {}, ...e }), getDefaultOptions: (e) => ({ onColumnVisibilityChange: ze("columnVisibility", e) }), createColumn: (e, n) => { e.toggleVisibility = (t) => { e.getCanHide() && n.setColumnVisibility((a) => ({ ...a, [e.id]: t ?? !e.getIsVisible() })); }, e.getIsVisible = () => { var t, a; const r = e.columns; return (t = r.length ? r.some((o) => o.getIsVisible()) : (a = n.getState().columnVisibility) == null ? void 0 : a[e.id]) != null ? t : !0; }, e.getCanHide = () => { var t, a; return ((t = e.columnDef.enableHiding) != null ? t : !0) && ((a = n.options.enableHiding) != null ? a : !0); }, e.getToggleVisibilityHandler = () => (t) => { e.toggleVisibility == null || e.toggleVisibility(t.target.checked); }; }, createRow: (e, n) => { e._getAllVisibleCells = O(() => [e.getAllCells(), n.getState().columnVisibility], (t) => t.filter((a) => a.column.getIsVisible()), k(n.options, "debugRows", "_getAllVisibleCells")), e.getVisibleCells = O(() => [e.getLeftVisibleCells(), e.getCenterVisibleCells(), e.getRightVisibleCells()], (t, a, r) => [...t, ...a, ...r], k(n.options, "debugRows", "getVisibleCells")); }, createTable: (e) => { const n = (t, a) => O(() => [a(), a().filter((r) => r.getIsVisible()).map((r) => r.id).join("_")], (r) => r.filter((o) => o.getIsVisible == null ? void 0 : o.getIsVisible()), k(e.options, "debugColumns", t)); e.getVisibleFlatColumns = n("getVisibleFlatColumns", () => e.getAllFlatColumns()), e.getVisibleLeafColumns = n("getVisibleLeafColumns", () => e.getAllLeafColumns()), e.getLeftVisibleLeafColumns = n("getLeftVisibleLeafColumns", () => e.getLeftLeafColumns()), e.getRightVisibleLeafColumns = n("getRightVisibleLeafColumns", () => e.getRightLeafColumns()), e.getCenterVisibleLeafColumns = n("getCenterVisibleLeafColumns", () => e.getCenterLeafColumns()), e.setColumnVisibility = (t) => e.options.onColumnVisibilityChange == null ? void 0 : e.options.onColumnVisibilityChange(t), e.resetColumnVisibility = (t) => { var a; e.setColumnVisibility(t ? {} : (a = e.initialState.columnVisibility) != null ? a : {}); }, e.toggleAllColumnsVisible = (t) => { var a; t = (a = t) != null ? a : !e.getIsAllColumnsVisible(), e.setColumnVisibility(e.getAllLeafColumns().reduce((r, o) => ({ ...r, [o.id]: t || !(o.getCanHide != null && o.getCanHide()) }), {})); }, e.getIsAllColumnsVisible = () => !e.getAllLeafColumns().some((t) => !(t.getIsVisible != null && t.getIsVisible())), e.getIsSomeColumnsVisible = () => e.getAllLeafColumns().some((t) => t.getIsVisible == null ? void 0 : t.getIsVisible()), e.getToggleAllColumnsVisibilityHandler = () => (t) => { var a; e.toggleAllColumnsVisible((a = t.target) == null ? void 0 : a.checked); }; } }; function an(e, n) { return n ? n === "center" ? e.getCenterVisibleLeafColumns() : n === "left" ? e.getLeftVisibleLeafColumns() : e.getRightVisibleLeafColumns() : e.getVisibleLeafColumns(); } const Al = { createTable: (e) => { e._getGlobalFacetedRowModel = e.options.getFacetedRowModel && e.options.getFacetedRowModel(e, "__global__"), e.getGlobalFacetedRowModel = () => e.options.manualFiltering || !e._getGlobalFacetedRowModel ? e.getPreFilteredRowModel() : e._getGlobalFacetedRowModel(), e._getGlobalFacetedUniqueValues = e.options.getFacetedUniqueValues && e.options.getFacetedUniqueValues(e, "__global__"), e.getGlobalFacetedUniqueValues = () => e._getGlobalFacetedUniqueValues ? e._getGlobalFacetedUniqueValues() : /* @__PURE__ */ new Map(), e._getGlobalFacetedMinMaxValues = e.options.getFacetedMinMaxValues && e.options.getFacetedMinMaxValues(e, "__global__"), e.getGlobalFacetedMinMaxValues = () => { if (e._getGlobalFacetedMinMaxValues) return e._getGlobalFacetedMinMaxValues(); }; } }, xl = { getInitialState: (e) => ({ globalFilter: void 0, ...e }), getDefaultOptions: (e) => ({ onGlobalFilterChange: ze("globalFilter", e), globalFilterFn: "auto", getColumnCanGlobalFilter: (n) => { var t; const a = (t = e.getCoreRowModel().flatRows[0]) == null || (t = t._getAllCellsByColumnId()[n.id]) == null ? void 0 : t.getValue(); return typeof a == "string" || typeof a == "number"; } }), createColumn: (e, n) => { e.getCanGlobalFilter = () => { var t, a, r, o; return ((t = e.columnDef.enableGlobalFilter) != null ? t : !0) && ((a = n.options.enableGlobalFilter) != null ? a : !0) && ((r = n.options.enableFilters) != null ? r : !0) && ((o = n.options.getColumnCanGlobalFilter == null ? void 0 : n.options.getColumnCanGlobalFilter(e)) != null ? o : !0) && !!e.accessorFn; }; }, createTable: (e) => { e.getGlobalAutoFilterFn = () => Ze.includesString, e.getGlobalFilterFn = () => { var n, t; const { globalFilterFn: a } = e.options; return Zn(a) ? a : a === "auto" ? e.getGlobalAutoFilterFn() : (n = (t = e.options.filterFns) == null ? void 0 : t[a]) != null ? n : Ze[a]; }, e.setGlobalFilter = (n) => { e.options.onGlobalFilterChange == null || e.options.onGlobalFilterChange(n); }, e.resetGlobalFilter = (n) => { e.setGlobalFilter(n ? void 0 : e.initialState.globalFilter); }; } }, yl = { getInitialState: (e) => ({ expanded: {}, ...e }), getDefaultOptions: (e) => ({ onExpandedChange: ze("expanded", e), paginateExpandedRows: !0 }), createTable: (e) => { let n = !1, t = !1; e._autoResetExpanded = () => { var a, r; if (!n) { e._queue(() => { n = !0; }); return; } if ((a = (r = e.options.autoResetAll) != null ? r : e.options.autoResetExpanded) != null ? a : !e.options.manualExpanding) { if (t) return; t = !0, e._queue(() => { e.resetExpanded(), t = !1; }); } }, e.setExpanded = (a) => e.options.onExpandedChange == null ? void 0 : e.options.onExpandedChange(a), e.toggleAllRowsExpanded = (a) => { a ?? !e.getIsAllRowsExpanded() ? e.setExpanded(!0) : e.setExpanded({}); }, e.resetExpanded = (a) => { var r, o; e.setExpanded(a ? {} : (r = (o = e.initialState) == null ? void 0 : o.expanded) != null ? r : {}); }, e.getCanSomeRowsExpand = () => e.getPrePaginationRowModel().flatRows.some((a) => a.getCanExpand()), e.getToggleAllRowsExpandedHandler = () => (a) => { a.persist == null || a.persist(), e.toggleAllRowsExpanded(); }, e.getIsSomeRowsExpanded = () => { const a = e.getState().expanded; return a === !0 || Object.values(a).some(Boolean); }, e.getIsAllRowsExpanded = () => { const a = e.getState().expanded; return typeof a == "boolean" ? a === !0 : !(!Object.keys(a).length || e.getRowModel().flatRows.some((r) => !r.getIsExpanded())); }, e.getExpandedDepth = () => { let a = 0; return (e.getState().expanded === !0 ? Object.keys(e.getRowModel().rowsById) : Object.keys(e.getState().expanded)).forEach((o) => { const s = o.split("."); a = Math.max(a, s.length); }), a; }, e.getPreExpandedRowModel = () => e.getSortedRowModel(), e.getExpandedRowModel = () => (!e._getExpandedRowModel && e.options.getExpandedRowModel && (e._getExpandedRowModel = e.options.getExpandedRowModel(e)), e.options.manualExpanding || !e._getExpandedRowModel ? e.getPreExpandedRowModel() : e._getExpandedRowModel()); }, createRow: (e, n) => { e.toggleExpanded = (t) => { n.setExpanded((a) => { var r; const o = a === !0 ? !0 : !!(a != null && a[e.id]); let s = {}; if (a === !0 ? Object.keys(n.getRowModel().rowsById).forEach((c) => { s[c] = !0; }) : s = a, t = (r = t) != null ? r : !o, !o && t) return { ...s, [e.id]: !0 }; if (o && !t) { const { [e.id]: c, ...l } = s; return l; } return a; }); }, e.getIsExpanded = () => { var t; const a = n.getState().expanded; return !!((t = n.options.getIsRowExpanded == null ? void 0 : n.options.getIsRowExpanded(e)) != null ? t : a === !0 || a != null && a[e.id]); }, e.getCanExpand = () => { var t, a, r; return (t = n.options.getRowCanExpand == null ? void 0 : n.options.getRowCanExpand(e)) != null ? t : ((a = n.options.enableExpanding) != null ? a : !0) && !!((r = e.subRows) != null && r.length); }, e.getIsAllParentsExpanded = () => { let t = !0, a = e; for (; t && a.parentId; ) a = n.getRow(a.parentId, !0), t = a.getIsExpanded(); return t; }, e.getToggleExpandedHandler = () => { const t = e.getCanExpand(); return () => { t && e.toggleExpanded(); }; }; } }, Pa = 0, Ca = 10, fa = () => ({ pageIndex: Pa, pageSize: Ca }), Pl = { getInitialState: (e) => ({ ...e, pagination: { ...fa(), ...e == null ? void 0 : e.pagination } }), getDefaultOptions: (e) => ({ onPaginationChange: ze("pagination", e) }), createTable: (e) => { let n = !1, t = !1; e._autoResetPageIndex = () => { var a, r; if (!n) { e._queue(() => { n = !0; }); return; } if ((a = (r = e.options.autoResetAll) != null ? r : e.options.autoResetPageIndex) != null ? a : !e.options.manualPagination) { if (t) return; t = !0, e._queue(() => { e.resetPageIndex(), t = !1; }); } }, e.setPagination = (a) => { const r = (o) => at(a, o); return e.options.onPaginationChange == null ? void 0 : e.options.onPaginationChange(r); }, e.resetPagination = (a) => { var r; e.setPagination(a ? fa() : (r = e.initialState.pagination) != null ? r : fa()); }, e.setPageIndex = (a) => { e.setPagination((r) => { let o = at(a, r.pageIndex); const s = typeof e.options.pageCount > "u" || e.options.pageCount === -1 ? Number.MAX_SAFE_INTEGER : e.options.pageCount - 1; return o = Math.max(0, Math.min(o, s)), { ...r, pageIndex: o }; }); }, e.resetPageIndex = (a) => { var r, o; e.setPageIndex(a ? Pa : (r = (o = e.initialState) == null || (o = o.pagination) == null ? void 0 : o.pageIndex) != null ? r : Pa); }, e.resetPageSize = (a) => { var r, o; e.setPageSize(a ? Ca : (r = (o = e.initialState) == null || (o = o.pagination) == null ? void 0 : o.pageSize) != null ? r : Ca); }, e.setPageSize = (a) => { e.setPagination((r) => { const o = Math.max(1, at(a, r.pageSize)), s = r.pageSize * r.pageIndex, c = Math.floor(s / o); return { ...r, pageIndex: c, pageSize: o }; }); }, e.setPageCount = (a) => e.setPagination((r) => { var o; let s = at(a, (o = e.options.pageCount) != null ? o : -1); return typeof s == "number" && (s = Math.max(-1, s)), { ...r, pageCount: s }; }), e.getPageOptions = O(() => [e.getPageCount()], (a) => { let r = []; return a && a > 0 && (r = [...new Array(a)].fill(null).map((o, s) => s)), r; }, k(e.options, "debugTable", "getPageOptions")), e.getCanPreviousPage = () => e.getState().pagination.pageIndex > 0, e.getCanNextPage = () => { const { pageIndex: a } = e.getState().pagination, r = e.getPageCount(); return r === -1 ? !0 : r === 0 ? !1 : a < r - 1; }, e.previousPage = () => e.setPageIndex((a) => a - 1), e.nextPage = () => e.setPageIndex((a) => a + 1), e.firstPage = () => e.setPageIndex(0), e.lastPage = () => e.setPageIndex(e.getPageCount() - 1), e.getPrePaginationRowModel = () => e.getExpandedRowModel(), e.getPaginationRowModel = () => (!e._getPaginationRowModel && e.options.getPaginationRowModel && (e._getPaginationRowModel = e.options.getPaginationRowModel(e)), e.options.manualPagination || !e._getPaginationRowModel ? e.getPrePaginationRowModel() : e._getPaginationRowModel()), e.getPageCount = () => { var a; return (a = e.options.pageCount) != null ? a : Math.ceil(e.getRowCount() / e.getState().pagination.pageSize); }, e.getRowCount = () => { var a; return (a = e.options.rowCount) != null ? a : e.getPrePaginationRowModel().rows.length; }; } }, pa = () => ({ top: [], bottom: [] }), Cl = { getInitialState: (e) => ({ rowPinning: pa(), ...e }), getDefaultOptions: (e) => ({ onRowPinningChange: ze("rowPinning", e) }), createRow: (e, n) => { e.pin = (t, a, r) => { const o = a ? e.getLeafRows().map((l) => { let { id: g } = l; return g; }) : [], s = r ? e.getParentRows().map((l) => { let { id: g } = l; return g; }) : [], c = /* @__PURE__ */ new Set([...s, e.id, ...o]); n.setRowPinning((l) => { var g, m; if (t === "bottom") { var p, b; return { top: ((p = l == null ? void 0 : l.top) != null ? p : []).filter((w) => !(c != null && c.has(w))), bottom: [...((b = l == null ? void 0 : l.bottom) != null ? b : []).filter((w) => !(c != null && c.has(w))), ...Array.from(c)] }; } if (t === "top") { var d, h; return { top: [...((d = l == null ? void 0 : l.top) != null ? d : []).filter((w) => !(c != null && c.has(w))), ...Array.from(c)], bottom: ((h = l == null ? void 0 : l.bottom) != null ? h : []).filter((w) => !(c != null && c.has(w))) }; } return { top: ((g = l == null ? void 0 : l.top) != null ? g : []).filter((w) => !(c != null && c.has(w))), bottom: ((m = l == null ? void 0 : l.bottom) != null ? m : []).filter((w) => !(c != null && c.has(w))) }; }); }, e.getCanPin = () => { var t; const { enableRowPinning: a, enablePinning: r } = n.options; return typeof a == "function" ? a(e) : (t = a ?? r) != null ? t : !0; }, e.getIsPinned = () => { const t = [e.id], { top: a, bottom: r } = n.getState().rowPinning, o = t.some((c) => a == null ? void 0 : a.includes(c)), s = t.some((c) => r == null ? void 0 : r.includes(c)); return o ? "top" : s ? "bottom" : !1; }, e.getPinnedIndex = () => { var t, a; const r = e.getIsPinned(); if (!r) return -1; const o = (t = r === "top" ? n.getTopRows() : n.getBottomRows()) == null ? void 0 : t.map((s) => { let { id: c } = s; return c; }); return (a = o == null ? void 0 : o.indexOf(e.id)) != null ? a : -1; }; }, createTable: (e) => { e.setRowPinning = (n) => e.options.onRowPinningChange == null ? void 0 : e.options.onRowPinningChange(n), e.resetRowPinning = (n) => { var t, a; return e.setRowPinning(n ? pa() : (t = (a = e.initialState) == null ? void 0 : a.rowPinning) != null ? t : pa()); }, e.getIsSomeRowsPinned = (n) => { var t; const a = e.getState().rowPinning; if (!n) { var r, o; return !!((r = a.top) != null && r.length || (o = a.bottom) != null && o.length); } return !!((t = a[n]) != null && t.length); }, e._getPinnedRows = (n, t, a) => { var r; return ((r = e.options.keepPinnedRows) == null || r ? ( //get all rows that are pinned even if they would not be otherwise visible //account for expanded parent rows, but not pagination or filtering (t ?? []).map((s) => { const c = e.getRow(s, !0); return c.getIsAllParentsExpanded() ? c : null; }) ) : ( //else get only visible rows that are pinned (t ?? []).map((s) => n.find((c) => c.id === s)) )).filter(Boolean).map((s) => ({ ...s, position: a })); }, e.getTopRows = O(() => [e.getRowModel().rows, e.getState().rowPinning.top], (n, t) => e._getPinnedRows(n, t, "top"), k(e.options, "debugRows", "getTopRows")), e.getBottomRows = O(() => [e.getRowModel().rows, e.getState().rowPinning.bottom], (n, t) => e._getPinnedRows(n, t, "bottom"), k(e.options, "debugRows", "getBottomRows")), e.getCenterRows = O(() => [e.getRowModel().rows, e.getState().rowPinning.top, e.getState().rowPinning.bottom], (n, t, a) => { const r = /* @__PURE__ */ new Set([...t ?? [], ...a ?? []]); return n.filter((o) => !r.has(o.id)); }, k(e.options, "debugRows", "getCenterRows")); } }, jl = { getInitialState: (e) => ({ rowSelection: {}, ...e }), getDefaultOptions: (e) => ({ onRowSelectionChange: ze("rowSelection", e), enableRowSelection: !0, enableMultiRowSelection: !0, enableSubRowSelection: !0 // enableGroupingRowSelection: false, // isAdditiveSelectEvent: (e: unknown) => !!e.metaKey, // isInclusiveSelectEvent: (e: unknown) => !!e.shiftKey, }), createTable: (e) => { e.setRowSelection = (n) => e.options.onRowSelectionChange == null ? void 0 : e.options.onRowSelectionChange(n), e.resetRowSelection = (n) => { var t; return e.setRowSelection(n ? {} : (t = e.initialState.rowSelection) != null ? t : {}); }, e.toggleAllRowsSelected = (n) => { e.setRowSelection((t) => { n = typeof n < "u" ? n : !e.getIsAllRowsSelected(); const a = { ...t }, r = e.getPreGroupedRowModel().flatRows; return n ? r.forEach((o) => { o.getCanSelect() && (a[o.id] = !0); }) : r.forEach((o) => { delete a[o.id]; }), a; }); }, e.toggleAllPageRowsSelected = (n) => e.setRowSelection((t) => { const a = typeof n < "u" ? n : !e.getIsAllPageRowsSelected(), r = { ...t }; return e.getRowModel().rows.forEach((o) => { ja(r, o.id, a, !0, e); }), r; }), e.getPreSelectedRowModel = () => e.getCoreRowModel(), e.getSelectedRowModel = O(() => [e.getState().rowSelection, e.getCoreRowModel()], (n, t) => Object.keys(n).length ? ha(e, t) : { rows: [], flatRows: [], rowsById: {} }, k(e.options, "debugTable", "getSelectedRowModel")), e.getFilteredSelectedRowModel = O(() => [e.getState().rowSelection, e.getFilteredRowModel()], (n, t) => Object.keys(n).length ? ha(e, t) : { rows: [], flatRows: [], rowsById: {} }, k(e.options, "debugTable", "getFilteredSelectedRowModel")), e.getGroupedSelectedRowModel = O(() => [e.getState().rowSelection, e.getSortedRowModel()], (n, t) => Object.keys(n).length ? ha(e, t) : { rows: [], flatRows: [], rowsById: {} }, k(e.options, "debugTable", "getGroupedSelectedRowModel")), e.getIsAllRowsSelected = () => { const n = e.getFilteredRowModel().flatRows, { rowSelection: t } = e.getState(); let a = !!(n.length && Object.keys(t).length); return a && n.some((r) => r.getCanSelect() && !t[r.id]) && (a = !1), a; }, e.getIsAllPageRowsSelected = () => { const n = e.getPaginationRowModel().flatRows.filter((r) => r.getCanSelect()), { rowSelection: t } = e.getState(); let a = !!n.length; return a && n.some((r) => !t[r.id]) && (a = !1), a; }, e.getIsSomeRowsSelected = () => { var n; const t = Object.keys((n = e.getState().rowSelection) != null ? n : {}).length; return t > 0 && t < e.getFilteredRowModel().flatRows.length; }, e.getIsSomePageRowsSelected = () => { const n = e.getPaginationRowModel().flatRows; return e.getIsAllPageRowsSelected() ? !1 : n.filter((t) => t.getCanSelect()).some((t) => t.getIsSelected() || t.getIsSomeSelected()); }, e.getToggleAllRowsSelectedHandler = () => (n) => { e.toggleAllRowsSelected(n.target.checked); }, e.getToggleAllPageRowsSelectedHandler = () => (n) => { e.toggleAllPageRowsSelected(n.target.checked); }; }, createRow: (e, n) => { e.toggleSelected = (t, a) => { const r = e.getIsSelected(); n.setRowSelection((o) => { var s; if (t = typeof t < "u" ? t : !r, e.getCanSelect() && r === t) return o; const c = { ...o }; return ja(c, e.id, t, (s = a == null ? void 0 : a.selectChildren) != null ? s : !0, n), c; }); }, e.getIsSelected = () => { const { rowSelection: t } = n.getState(); return La(e, t); }, e.getIsSomeSelected = () => { const { rowSelection: t } = n.getState(); return Sa(e, t) === "some"; }, e.getIsAllSubRowsSelected = () => { const { rowSelection: t } = n.getState(); return Sa(e, t) === "all"; }, e.getCanSelect = () => { var t; return typeof n.options.enableRowSelection == "function" ? n.options.enableRowSelection(e) : (t = n.options.enableRowSelection) != null ? t : !0; }, e.getCanSelectSubRows = () => { var t; return typeof n.options.enableSubRowSelection == "function" ? n.options.enableSubRowSelection(e) : (t = n.options.enableSubRowSelection) != null ? t : !0; }, e.getCanMultiSelect = () => { var t; return typeof n.options.enableMultiRowSelection == "function" ? n.options.enableMultiRowSelection(e) : (t = n.options.enableMultiRowSelection) != null ? t : !0; }, e.getToggleSelectedHandler = () => { const t = e.getCanSelect(); return (a) => { var r; t && e.toggleSelected((r = a.target) == null ? void 0 : r.checked); }; }; } }, ja = (e, n, t, a, r) => { var o; const s = r.getRow(n, !0); t ? (s.getCanMultiSelect() || Object.keys(e).forEach((c) => delete e[c]), s.getCanSelect() && (e[n] = !0)) : delete e[n], a && (o = s.subRows) != null && o.length && s.getCanSelectSubRows() && s.subRows.forEach((c) => ja(e, c.id, t, a, r)); }; function ha(e, n) { const t = e.getState().rowSelection, a = [], r = {}, o = function(s, c) { return s.map((l) => { var g; const m = La(l, t); if (m && (a.push(l), r[l.id] = l), (g = l.subRows) != null && g.length && (l = { ...l, subRows: o(l.subRows) }), m) return l; }).filter(Boolean); }; return { rows: o(n.rows), flatRows: a, rowsById: r }; } function La(e, n) { var t; return (t = n[e.id]) != null ? t : !1; } function Sa(e, n, t) { var a; if (!((a = e.subRows) != null && a.length)) return !1; let r = !0, o = !1; return e.subRows.forEach((s) => { if (!(o && !r) && (s.getCanSelect() && (La(s, n) ? o = !0 : r = !1), s.subRows && s.subRows.length)) { const c = Sa(s, n); c === "all" ? o = !0 : (c === "some" && (o = !0), r = !1); } }), r ? "all" : o ? "some" : !1; } const Ea = /([0-9]+)/gm, Sl = (e, n, t) => uo(st(e.getValue(t)).toLowerCase(), st(n.getValue(t)).toLowerCase()), El = (e, n, t) => uo(st(e.getValue(t)), st(n.getValue(t))), Ml = (e, n, t) => Wa(st(e.getValue(t)).toLowerCase(), st(n.getValue(t)).toLowerCase()), Rl = (e, n, t) => Wa(st(e.getValue(t)), st(n.getValue(t))), Dl = (e, n, t) => { const a = e.getValue(t), r = n.getValue(t); return a > r ? 1 : a < r ? -1 : 0; }, zl = (e, n, t) => Wa(e.getValue(t), n.getValue(t)); function Wa(e, n) { return e === n ? 0 : e > n ? 1 : -1; } function st(e) { return typeof e == "number" ? isNaN(e) || e === 1 / 0 || e === -1 / 0 ? "" : String(e) : typeof e == "string" ? e : ""; } function uo(e, n) { const t = e.split(Ea).filter(Boolean), a = n.split(Ea).filter(Boolean); for (; t.length && a.length; ) { const r = t.shift(), o = a.shift(), s = parseInt(r, 10), c = parseInt(o, 10), l = [s, c].sort(); if (isNaN(l[0])) { if (r > o) return 1; if (o > r) return -1; continue; } if (isNaN(l[1])) return isNaN(s) ? -1 : 1; if (s > c) return 1; if (c > s) return -1; } return t.length - a.length; } const $t = { alphanumeric: Sl, alphanumericCaseSensitive: El, text: Ml, textCaseSensitive: Rl, datetime: Dl, basic: zl }, Ol = { getInitialState: (e) => ({ sorting: [], ...e }), getDefaultColumnDef: () => ({ sortingFn: "auto", sortUndefined: 1 }), getDefaultOptions: (e) => ({ onSortingChange: ze("sorting", e), isMultiSortEvent: (n) => n.shiftKey }), createColumn: (e, n) => { e.getAutoSortingFn = () => { const t = n.getFilteredRowModel().flatRows.slice(10); let a = !1; for (const r of t) { const o = r == null ? void 0 : r.getValue(e.id); if (Object.prototype.toString.call(o) === "[object Date]") return $t.datetime; if (typeof o == "string" && (a = !0, o.split(Ea).length > 1)) return $t.alphanumeric; } return a ? $t.text : $t.basic; }, e.getAutoSortDir = () => { const t = n.getFilteredRowModel().flatRows[0]; return typeof (t == null ? void 0 : t.getValue(e.id)) == "string" ? "asc" : "desc"; }, e.getSortingFn = () => { var t, a; if (!e) throw new Error(); return Zn(e.columnDef.sortingFn) ? e.columnDef.sortingFn : e.columnDef.sortingFn === "auto" ? e.getAutoSortingFn() : (t = (a = n.options.sortingFns) == null ? void 0 : a[e.columnDef.sortingFn]) != null ? t : $t[e.columnDef.sortingFn]; }, e.toggleSorting = (t, a) => { const r = e.getNextSortingOrder(), o = typeof t < "u" && t !== null; n.setSorting((s) => { const c = s == null ? void 0 : s.find((d) => d.id === e.id), l = s == null ? void 0 : s.findIndex((d) => d.id === e.id); let g = [], m, p = o ? t : r === "desc"; if (s != null && s.length && e.getCanMultiSort() && a ? c ? m = "toggle" : m = "add" : s != null && s.length && l !== s.length - 1 ? m = "replace" : c ? m = "toggle" : m = "replace", m === "toggle" && (o || r || (m = "remove")), m === "add") { var b; g = [...s, { id: e.id, desc: p }], g.splice(0, g.length - ((b = n.options.maxMultiSortColCount) != null ? b : Number.MAX_SAFE_INTEGER)); } else m === "toggle" ? g = s.map((d) => d.id === e.id ? { ...d, desc: p } : d) : m === "remove" ? g = s.filter((d) => d.id !== e.id) : g = [{ id: e.id, desc: p }]; return g; }); }, e.getFirstSortDir = () => { var t, a; return ((t = (a = e.columnDef.sortDescFirst) != null ? a : n.options.sortDescFirst) != null ? t : e.getAutoSortDir() === "desc") ? "desc" : "asc"; }, e.getNextSortingOrder = (t) => { var a, r; const o = e.getFirstSortDir(), s = e.getIsSorted(); return s ? s !== o && ((a = n.options.enableSortingRemoval) == null || a) && // If enableSortRemove, enable in general (!(t && (r = n.options.enableMultiRemove) != null) || r) ? !1 : s === "desc" ? "asc" : "desc" : o; }, e.getCanSort = () => { var t, a; return ((t = e.columnDef.enableSorting) != null ? t : !0) && ((a = n.options.enableSorting) != null ? a : !0) && !!e.accessorFn; }, e.getCanMultiSort = () => { var t, a; return (t = (a = e.columnDef.enableMultiSort) != null ? a : n.options.enableMultiSort) != null ? t : !!e.accessorFn; }, e.getIsSorted = () => { var t; const a = (t = n.getState().sorting) == null ? void 0 : t.find((r) => r.id === e.id); return a ? a.desc ? "desc" : "asc" : !1; }, e.getSortIndex = () => { var t, a; return (t = (a = n.getState().sorting) == null ? void 0 : a.findIndex((r) => r.id === e.id)) != null ? t : -1; }, e.clearSorting = () => { n.setSorting((t) => t != null && t.length ? t.filter((a) => a.id !== e.id) : []); }, e.getToggleSortingHandler = () => { const t = e.getCanSort(); return (a) => { t && (a.persist == null || a.persist(), e.toggleSorting == null || e.toggleSorting(void 0, e.getCanMultiSort() ? n.options.isMultiSortEvent == null ? void 0 : n.options.isMultiSortEvent(a) : !1)); }; }; }, createTable: (e) => { e.setSorting = (n) => e.options.onSortingChange == null ? void 0 : e.options.onSortingChange(n), e.resetSorting = (n) => { var t, a; e.setSorting(n ? [] : (t = (a = e.initialState) == null ? void 0 : a.sorting) != null ? t : []); }, e.getPreSortedRowModel = () => e.getGroupedRowModel(), e.getSortedRowModel = () => (!e._getSortedRowModel && e.options.getSortedRowModel && (e._getSortedRowModel = e.options.getSortedRowModel(e)), e.options.manualSorting || !e._getSortedRowModel ? e.getPreSortedRowModel() : e._getSortedRowModel()); } }, kl = [ el, wl, pl, hl, nl, al, Al, //depends on ColumnFaceting xl, //depends on ColumnFiltering Ol, ml, //depends on RowSorting yl, Pl, Cl, jl, vl ]; function Tl(e) { var n, t; process.env.NODE_ENV !== "production" && (e.debugAll || e.debugTable) && console.info("Creating Table Instance..."); const a = [...kl, ...(n = e._features) != null ? n : []]; let r = { _features: a }; const o = r._features.reduce((b, d) => Object.assign(b, d.getDefaultOptions == null ? void 0 : d.getDefaultOptions(r)), {}), s = (b) => r.options.mergeOptions ? r.options.mergeOptions(o, b) : { ...o, ...b }; let l = { ...{}, ...(t = e.initialState) != null ? t : {} }; r._features.forEach((b) => { var d; l = (d = b.getInitialState == null ? void 0 : b.getInitialState(l)) != null ? d : l; }); const g = []; let m = !1; const p = { _features: a, options: { ...o, ...e }, initialState: l, _queue: (b) => { g.push(b), m || (m = !0, Promise.resolve().then(() => { for (; g.length; ) g.shift()(); m = !1; }).catch((d) => setTimeout(() => { throw d; }))); }, reset: () => { r.setState(r.initialState); }, setOptions: (b) => { const d = at(b, r.options); r.options = s(d); }, getState: () => r.options.state, setState: (b) => { r.options.onStateChange == null || r.options.onStateChange(b); }, _getRowId: (b, d, h) => { var w; return (w = r.options.getRowId == null ? void 0 : r.options.getRowId(b, d, h)) != null ? w : `${h ? [h.id, d].join(".") : d}`; }, getCoreRowModel: () => (r._getCoreRowModel || (r._getCoreRowModel = r.options.getCoreRowModel(r)), r._getCoreRowModel()), // The final calls start at the bottom of the model, // expanded rows, which then work their way up getRowModel: () => r.getPaginationRowModel(), //in next version, we should just pass in the row model as the optional 2nd arg getRow: (b, d) => { let h = (d ? r.getPrePaginationRowModel() : r.getRowModel()).rowsById[b]; if (!h && (h = r.getCoreRowModel().rowsById[b], !h)) throw process.env.NODE_ENV !== "production" ? new Error(`getRow could not find row with ID: ${b}`) : new Error(); return h; }, _getDefaultColumnDef: O(() => [r.options.defaultColumn], (b) => { var d; return b = (d = b) != null ? d : {}, { header: (h) => { const w = h.header.column.columnDef; return w.accessorKey ? w.accessorKey : w.accessorFn ? w.id : null; }, // footer: props => props.header.column.id, cell: (h) => { var w, y; return (w = (y = h.renderValue()) == null || y.toString == null ? void 0 : y.toString()) != null ? w : null; }, ...r._features.reduce((h, w) => Object.assign(h, w.getDefaultColumnDef == null ? void 0 : w.getDefaultColumnDef()), {}), ...b }; }, k(e, "debugColumns", "_getDefaultColumnDef")), _getColumnDefs: () => r.options.columns, getAllColumns: O(() => [r._getColumnDefs()], (b) => { const d = function(h, w, y) { return y === void 0 && (y = 0), h.map((P) => { const C = $s(r, P, y, w), E = P; return C.columns = E.columns ? d(E.columns, C, y + 1) : [], C; }); }; return d(b); }, k(e, "debugColumns", "getAllColumns")), getAllFlatColumns: O(() => [r.getAllColumns()], (b) => b.flatMap((d) => d.getFlatColumns()), k(e, "debugColumns", "getAllFlatColumns")), _getAllFlatColumnsById: O(() => [r.getAllFlatColumns()], (b) => b.reduce((d, h) => (d[h.id] = h, d), {}), k(e, "debugColumns", "getAllFlatColumnsById")), getAllLeafColumns: O(() => [r.getAllColumns(), r._getOrderColumnsFn()], (b, d) => { let h = b.flatMap((w) => w.getLeafColumns()); return d(h); }, k(e, "debugColumns", "getAllLeafColumns")), getColumn: (b) => { const d = r._getAllFlatColumnsById()[b]; return process.env.NODE_ENV !== "production" && !d && console.error(`[Table] Column with id '${b}' does not exist.`), d; } }; Object.assign(r, p); for (let b = 0; b < r._features.length; b++) { const d = r._features[b]; d == null || d.createTable == null || d.createTable(r); } return r; } function Nl() { return (e) => O(() => [e.options.data], (n) => { const t = { rows: [], flatRows: [], rowsById: {} }, a = function(r, o, s) { o === void 0 && (o = 0); const c = []; for (let g = 0; g < r.length; g++) { const m = tl(e, e._getRowId(r[g], g, s), r[g], g, o, void 0, s == null ? void 0 : s.id); if (t.flatRows.push(m), t.rowsById[m.id] = m, c.push(m), e.options.getSubRows) { var l; m.originalSubRows = e.options.getSubRows(r[g], g), (l = m.originalSubRows) != null && l.length && (m.subRows = a(m.originalSubRows, o + 1, m)); } } return c; }; return t.rows = a(n), t; }, k(e.options, "debugTable", "getRowModel", () => e._autoResetPageIndex())); } function _l() { return (e) => O(() => [e.getState().sorting, e.getPreSortedRowModel()], (n, t) => { if (!t.rows.length || !(n != null && n.length)) return t; const a = e.getState().sorting, r = [], o = a.filter((l) => { var g; return (g = e.getColumn(l.id)) == null ? void 0 : g.getCanSort(); }), s = {}; o.forEach((l) => { const g = e.getColumn(l.id); g && (s[l.id] = { sortUndefined: g.columnDef.sortUndefined, invertSorting: g.columnDef.invertSorting, sortingFn: g.getSortingFn() }); }); const c = (l) => { const g = l.map((m) => ({ ...m })); return g.sort((m, p) => { for (let d = 0; d < o.length; d += 1) { var b; const h = o[d], w = s[h.id], y = w.sortUndefined, P = (b = h == null ? void 0 : h.desc) != null ? b : !1; let C = 0; if (y) { const E = m.getValue(h.id), _ = p.getValue(h.id), X = E === void 0, R = _ === void 0; if (X || R) { if (y === "first") return X ? -1 : 1; if (y === "last") return X ? 1 : -1; C = X && R ? 0 : X ? y : -y; } } if (C === 0 && (C = w.sortingFn(m, p, h.id)), C !== 0) return P && (C *= -1), w.invertSorting && (C *= -1), C; } return m.index - p.index; }), g.forEach((m) => { var p; r.push(m), (p = m.subRows) != null && p.length && (m.subRows = c(m.subRows)); }), g; }; return { rows: c(t.rows), flatRows: r, rowsById: t.rowsById }; }, k(e.options, "debugTable", "getSortedRowModel", () => e._autoResetPageIndex())); } /** * react-table * * Copyright (c) TanStack * * This source code is licensed under the MIT license found in the * LICENSE.md file in the root directory of this source tree. * * @license MIT */ function yr(e, n) { return e ? Il(e) ? /* @__PURE__ */ Aa.createElement(e, n) : e : null; } function Il(e) { return Hl(e) || typeof e == "function" || Fl(e); } function Hl(e) { return typeof e == "function" && (() => { const n = Object.getPrototypeOf(e); return n.prototype && n.prototype.isReactComponent; })(); } function Fl(e) { return typeof e == "object" && typeof e.$$typeof == "symbol" && ["react.memo", "react.forward_ref"].includes(e.$$typeof.description); } function Bl(e) { const n = { state: {}, // Dummy state onStateChange: () => { }, // noop renderFallbackValue: null, ...e }, [t] = Aa.useState(() => ({ current: Tl(n) })), [a, r] = Aa.useState(() => t.current.initialState); return t.current.setOptions((o) => ({ ...o, ...e, state: { ...a, ...e.state }, // Similarly, we'll maintain both our internal state and any user-provided // state. onStateChange: (s) => { r(s), e.onStateChange == null || e.onStateChange(s); } })), t.current; } function Gl({ className: e, children: n }) { const { t } = Q("datagrid"); return /* @__PURE__ */ i.jsx(J, { preset: pe.span, children: n ?? t("common_empty_text_cell") }); } const sn = [10, 25, 50, 100, 300], go = { pageIndex: 0, pageSize: sn[0] }, Ll = 5, Wl = ["expander", "actions"], Ql = { de_DE: () => import("./Messages_de_DE-_S8X1FQ3.mjs"), en_GB: () => import("./Messages_en_GB-sxANGMjY.mjs"), es_ES: () => import("./Messages_es_ES-BFLCBTG8.mjs"), fr_CA: () => import("./Messages_fr_CA-Dk8a1DBx.mjs"), fr_FR: () => import("./Messages_fr_FR-S_oGqb8X.mjs"), it_IT: () => import("./Messages_it_IT-D4VcD5se.mjs"), pl_PL: () => import("./Messages_pl_PL-lBVenUM3.mjs"), pt_PT: () => import("./Messages_pt_PT-DvUD84QF.mjs") }; he(Ql, "filters"); function Xl({ resourceType: e, tagKey: n, setTagKey: t, value: a, setValue: r }) { var g, m; const { t: o } = Q("filters"), { tags: s, isError: c, isLoading: l } = js({ resourceType: e }); return /* @__PURE__ */ i.jsxs("div", { children: [ /* @__PURE__ */ i.jsxs(vt, { className: "mt-2 w-full", children: [ /* @__PURE__ */ i.jsx("div", { slot: "label", children: /* @__PURE__ */ i.jsx("span", { className: "text-[--ods-color-heading] leading-[22px]", children: o("common_criteria_adder_key_label") }) }), l && /* @__PURE__ */ i.jsx(Gn, {}), !l && /* @__PURE__ */ i.jsx( ar, { name: "tag-key", allowNewElement: !1, onOdsChange: (p) => { t(p.detail.value); }, "data-testid": "tags-filter-form-key-field", children: !c && (s == null ? void 0 : s.map((p) => /* @__PURE__ */ i.jsx(rr, { value: p.key, children: p.key }, p.key))) } ) ] }), /* @__PURE__ */ i.jsxs(vt, { className: "mt-2 w-full", children: [ /* @__PURE__ */ i.jsx("div", { slot: "label", children: /* @__PURE__ */ i.jsx("span", { className: "text-[--ods-color-heading] leading-[22px]", children: o("common_criteria_adder_value_label") }) }), l && /* @__PURE__ */ i.jsx(Gn, {}), !l && /* @__PURE__ */ i.jsx( ar, { name: "tag-value", isDisabled: !n, allowNewElement: !1, onOdsChange: (p) => { r(p.detail.value); }, "data-testid": "tags-filter-form-value-field", children: (m = (g = s == null ? void 0 : s.find((p) => p.key === n)) == null ? void 0 : g.values) == null ? void 0 : m.map((p) => /* @__PURE__ */ i.jsx(rr, { value: p, children: p }, p)) } ) ] }) ] }); } function Yl({ columns: e, onAddFilter: n, resourceType: t }) { var C, E, _, X, R; const { t: a } = Q("filters"), [r, o] = F(((C = e == null ? void 0 : e[0]) == null ? void 0 : C.id) || ""), [s, c] = F( ((_ = (E = e == null ? void 0 : e[0]) == null ? void 0 : E.comparators) == null ? void 0 : _[0]) || rt.IsEqual ), [l, g] = F(""), [m, p] = F(null), [b, d] = F(""), h = Pe( () => e.find(({ id: D }) => r === D), [e, r] ), w = Pe(() => (h == null ? void 0 : h.type) === ie.Date ? m !== null : (h == null ? void 0 : h.type) === ie.Numeric ? !Number.isNaN(Number(l)) && l !== "" : (h == null ? void 0 : h.type) === ie.Tags ? !!b && !!l || !!b && [rt.TagExists, rt.TagNotExists].includes( s ) : l !== "", [h, m, l, b, s]), y = () => { w && (n( { key: r, comparator: s, value: h.type === ie.Date ? m.toISOString() : l, type: h.type, tagKey: b }, h ), g(""), d(""), p(null)); }; te(() => { c(h == null ? void 0 : h.comparators[0]), g(""), d(""), p(null); }, [h]); let P; return (h == null ? void 0 : h.type) === ie.Date ? P = /* @__PURE__ */ i.jsx( Ri, { name: "filter-add_value-input", className: "border", value: m, "data-testid": "filter-add_value-date", onOdsChange: (D) => p(D.detail.value) } ) : (h == null ? void 0 : h.type) === ie.Numeric ? P = /* @__PURE__ */ i.jsx( on, { name: "filter-add_value-input", className: "border", type: Wn.text, value: l, pattern: "(\\+|-)?[0-9]+([.][0-9]+)?", "data-testid": "filter-add_value-numeric", onOdsChange: (D) => g(`${D.detail.value}`), onKeyDown: (D) => { D.key === "Enter" && y(); } } ) : ((X = h == null ? void 0 : h.options) == null ? void 0 : X.length) > 0 ? P = /* @__PURE__ */ i.jsx( la, { value: l, name: `filter-add_value-select-${r}`, "data-testid": "filter-add_value-select", onOdsChange: (D) => g(D.detail.value), children: h == null ? void 0 : h.options.map((D) => /* @__PURE__ */ i.jsx("option", { value: D.value, children: D.label }, D.label)) }, `filter-add_value-select-${r}` ) : P = /* @__PURE__ */ i.jsx( on, { name: "filter-add_value-input", className: "border", type: Wn.text, value: l, "data-testid": "filter-add_value-input", onOdsChange: (D) => g(`${D.detail.value}`), onKeyDown: (D) => { D.key === "Enter" && y(); } } ), /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("div", { children: /* @__PURE__ */ i.jsxs(vt, { className: "w-full", children: [ /* @__PURE__ */ i.jsx("div", { slot: "label", children: /* @__PURE__ */ i.jsx("span", { className: "text-[--ods-color-heading] leading-[22px]", children: a("common_criteria_adder_column_label") }) }), /* @__PURE__ */ i.jsx( la, { value: r, name: `add-filter_select_idColumn-${r}`, "data-testid": "add-filter_select_idColumn", onOdsChange: (D) => o(D.detail.value), children: e.map(({ id: D, label: q }) => /* @__PURE__ */ i.jsx("option", { value: D, children: q }, D)) }, `add-filter_select_idColumn-${r}` ) ] }) }), /* @__PURE__ */ i.jsx("div", { children: /* @__PURE__ */ i.jsxs(vt, { className: "mt-2 w-full", children: [ /* @__PURE__ */ i.jsx("div", { slot: "label", children: /* @__PURE__ */ i.jsx("span", { className: "text-[--ods-color-heading] leading-[22px]", children: a("common_criteria_adder_operator_label") }) }), h && /* @__PURE__ */ i.jsx("div", { children: /* @__PURE__ */ i.jsx( la, { name: `add-operator-${h.id}`, value: s, onOdsChange: (D) => { c(D.detail.value); }, "data-testid": `add-operator-${h.id}`, children: (R = h.comparators) == null ? void 0 : R.map((D) => /* @__PURE__ */ i.jsx("option", { value: D, children: a(`common_criteria_adder_operator_${D}`) }, D)) }, `add-operator-${h.id}` ) }, `filter-condition-select-${h.id}`) ] }) }), (h == null ? void 0 : h.type) !== ie.Tags && /* @__PURE__ */ i.jsx("div", { children: /* @__PURE__ */ i.jsxs(vt, { className: "mt-2 w-full", children: [ /* @__PURE__ */ i.jsx("div", { slot: "label", children: /* @__PURE__ */ i.jsx("span", { className: "text-[--ods-color-heading] leading-[22px]", children: a("common_criteria_adder_value_label") }) }), P ] }) }), (h == null ? void 0 : h.type) === ie.Tags && /* @__PURE__ */ i.jsx( Xl, { resourceType: t, tagKey: b, setTagKey: d, value: l, setValue: g, "data-testid": "filter-tag-inputs" } ), /* @__PURE__ */ i.jsx("div", { children: /* @__PURE__ */ i.jsx( L, { className: "mt-4 w-full filter-add-button-submit", size: xe.sm, isDisabled: !w, onClick: y, "data-testid": "filter-add_submit", label: a("common_criteria_adder_submit_label") } ) }) ] }); } function Vl(e, n) { if (!e) return ""; switch (e.type) { case ie.Date: return (/* @__PURE__ */ new Date(`${e.value}`)).toLocaleDateString(n); case ie.Tags: return e.value ? `${e.tagKey}:${e.value}` : e.tagKey || ""; default: return e.value; } } function Jl({ filters: e, onRemoveFilter: n }) { var s; const { t, i18n: a } = Q("filters"), r = (c) => t(`common_criteria_adder_operator_${c}`), o = ((s = a.language) == null ? void 0 : s.replace("_", "-")) || "FR-fr"; return /* @__PURE__ */ i.jsx(i.Fragment, { children: e == null ? void 0 : e.map((c, l) => /* @__PURE__ */ i.jsx( Di, { className: "mr-3", color: Ti.information, size: "lg", onOdsRemove: () => n(c), "data-testid": "filter-list_tag_item", label: `${c.label ? `${c.label} ${r(c.comparator)} ` : ""} ${Vl(c, o)}` }, l )) }); } const Pr = (e, n) => e.key === n.key && e.value === n.value && e.comparator === n.comparator; function Qa() { const [e, n] = F([]); return { filters: e, addFilter: (t) => { (t.value || t.type === ie.Tags && [rt.TagExists, rt.TagNotExists].includes( t.comparator )) && n((a) => a.some((r) => Pr(r, t)) ? a : [...a, t]); }, removeFilter: (t) => { n( (a) => a.filter((r) => !Pr(r, t)) ); } }; } const Zl = { de_DE: () => import("./Messages_de_DE-Czmsu-jQ.mjs"), en_GB: () => import("./Messages_en_GB-D2yDpv1D.mjs"), es_ES: () => import("./Messages_es_ES-C2qcjvLh.mjs"), fr_CA: () => import("./Messages_fr_CA-sKGD4CnV.mjs"), fr_FR: () => import("./Messages_fr_FR-sKGD4CnV.mjs"), it_IT: () => import("./Messages_it_IT-DavLMREG.mjs"), pl_PL: () => import("./Messages_pl_PL-DuQM0WUG.mjs"), pt_PT: () => import("./Messages_pt_PT-CeBXtA2R.mjs") }; he(Zl, "datagrid"); function Ul({ columnsVisibility: e, toggleAllColumnsVisible: n, getIsAllColumnsVisible: t, getIsSomeColumnsVisible: a }) { const { t: r } = Q("datagrid"), o = Nt(null), s = e.filter( (m) => !Wl.includes(m.id) && m.label !== "" ), c = s.filter( (m) => m.isVisible() ).length, l = t(), g = a(); return /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx( L, { id: "datagrid-visibility-popover-trigger", slot: "datagrid-visibility-popover-trigger", "data-testid": "datagrid-topbar-visibility-button", size: xe.sm, variant: le.outline, icon: se.columns, "aria-label": r("common_topbar_columns"), label: `${r("common_topbar_columns")}${c < s.length ? ` (${c})` : ""}` } ), /* @__PURE__ */ i.jsx( Ft, { ref: o, triggerId: "datagrid-visibility-popover-trigger", "with-arrow": !0, children: /* @__PURE__ */ i.jsxs("div", { className: "flex flex-col", children: [ /* @__PURE__ */ i.jsxs("div", { className: "pr-5 flex flex-row items-center gap-x-2", children: [ /* @__PURE__ */ i.jsx( or, { name: "toggle-all-columns-visibility", inputId: "toggle-all-columns-visibility", isChecked: l, onOdsChange: () => n(!l), ariaLabel: r("common_topbar_columns_select_all"), isIndeterminate: !l && g } ), /* @__PURE__ */ i.jsx("label", { slot: "label", htmlFor: "toggle-all-columns-visibility", children: /* @__PURE__ */ i.jsx(J, { preset: pe.paragraph, children: r("common_topbar_columns_select_all") }) }) ] }), s.map((m) => /* @__PURE__ */ i.jsx(vt, { children: /* @__PURE__ */ i.jsxs("div", { className: "px-5 flex flex-row items-center gap-x-2", children: [ /* @__PURE__ */ i.jsx( or, { name: m.id, inputId: m.id, isDisabled: m.isDisabled, isChecked: m.isVisible(), onOdsChange: m.onChange, ariaLabel: m.label } ), /* @__PURE__ */ i.jsx("label", { slot: "label", htmlFor: m.id, children: /* @__PURE__ */ i.jsx(J, { preset: pe.paragraph, children: m.label }) }) ] }) }, m.id)) ] }) } ) ] }); } const ql = ({ columnsVisibility: e, toggleAllColumnsVisible: n, getIsAllColumnsVisible: t, getIsSomeColumnsVisible: a, filters: r, filtersColumns: o, isSearchable: s, search: c, topbar: l, resourceType: g }) => { const { t: m } = Q("filters"), p = Nt(null), b = e == null ? void 0 : e.some( (d) => d.enableHiding ); return /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ (s || (o == null ? void 0 : o.length) > 0 || l || b) && /* @__PURE__ */ i.jsxs( "div", { id: "container", className: "flex flex-wrap justify-between pb-6 items-center", children: [ /* @__PURE__ */ i.jsx( "div", { id: "left-side", className: "flex-1 w-full md:w-auto md:order-1 mr-4", children: l && /* @__PURE__ */ i.jsx(i.Fragment, { children: l }) } ), /* @__PURE__ */ i.jsx( "div", { id: "right-side", className: "w-full mt-[10px] md:mt-[0px] md:w-auto md:order-3", children: /* @__PURE__ */ i.jsxs("div", { className: "flex justify-end items-center", children: [ s && /* @__PURE__ */ i.jsx( "form", { className: "mr-[5px]", onSubmit: (d) => { d.preventDefault(), c == null || c.onSearch(c == null ? void 0 : c.searchInput); }, children: /* @__PURE__ */ i.jsx( on, { isClearable: !0, onOdsClear: () => { c == null || c.onSearch(""), c == null || c.setSearchInput(""); }, type: Wn.search, id: "datagrid-searchbar", name: "datagrid-searchbar", placeholder: c == null ? void 0 : c.placeholder, defaultValue: c == null ? void 0 : c.searchInput, "data-testid": "datagrid-searchbar", onOdsChange: (d) => { var h, w; return c == null ? void 0 : c.setSearchInput( ((w = (h = d == null ? void 0 : d.detail) == null ? void 0 : h.value) == null ? void 0 : w.toString()) || "" ); }, value: c == null ? void 0 : c.searchInput } ) } ), (o == null ? void 0 : o.length) > 0 && /* @__PURE__ */ i.jsxs( "div", { className: "ml-[10px]", "data-testid": "datagrid-topbar-filters", children: [ /* @__PURE__ */ i.jsx( L, { id: "datagrid-filter-popover-trigger", slot: "datagrid-filter-popover-trigger", size: xe.sm, variant: le.outline, icon: se.filter, "aria-label": m("common_criteria_adder_filter_label"), label: m("common_criteria_adder_filter_label") } ), /* @__PURE__ */ i.jsx( Ft, { ref: p, triggerId: "datagrid-filter-popover-trigger", "with-arrow": !0, children: /* @__PURE__ */ i.jsx( Yl, { columns: o, resourceType: g, onAddFilter: (d, h) => { var w; r.add({ ...d, label: h.label }), (w = p.current) == null || w.hide(); } } ) } ) ] } ), b && /* @__PURE__ */ i.jsx("div", { className: (o == null ? void 0 : o.length) > 0 ? "ml-[10px]" : "", children: /* @__PURE__ */ i.jsx( Ul, { columnsVisibility: e, toggleAllColumnsVisible: n, getIsAllColumnsVisible: t, getIsSomeColumnsVisible: a } ) }) ] }) } ) ] } ), (r == null ? void 0 : r.filters.length) > 0 && /* @__PURE__ */ i.jsx( "div", { "data-testid": "datagrid-filter-list", id: "datagrid-filter-list", className: "mb-[24px]", children: /* @__PURE__ */ i.jsx( Jl, { filters: r.filters, onRemoveFilter: r.remove } ) } ) ] }); }, Mh = ({ columns: e, columnVisibility: n, onColumnVisibilityChange: t, items: a, filters: r, search: o, topbar: s, totalItems: c, pagination: l, sorting: g, className: m, onPaginationChange: p, onSortChange: b, contentAlignLeft: d = !0, hasNextPage: h, onFetchNextPage: w, onFetchAllPages: y, manualSorting: P = !0, manualPagination: C = !0, noResultLabel: E, isLoading: _ = !1, numberOfLoadingRows: X, renderSubComponent: R, getRowCanExpand: D, resetExpandedRowsOnItemsChange: q, hideHeader: ke, tableLayoutFixed: Ie, resourceType: Me }) => { const { t: ve } = Q("datagrid"), Ce = l ? Math.ceil(c / l.pageSize) : 1, ye = Nt({}), re = Bl({ columns: [ ...D && R ? [ { id: "expander", enableHiding: !1, cell: ({ row: j }) => j.getCanExpand() ? /* @__PURE__ */ i.jsx( L, { label: "", onClick: j.getToggleExpandedHandler(), icon: j.getIsExpanded() ? se.chevronDown : se.chevronRight, variant: le.ghost, size: xe.xs } ) : null } ] : [], ...e.map( (j) => ({ accessorKey: j.id, cell: (I) => j.cell(I.row.original), header: j.label, enableSorting: j.isSortable !== !1, size: j.size, enableHiding: j.enableHiding !== !1 }) ) ], data: a, manualPagination: C, manualSorting: P, enableSortingRemoval: !1, sortDescFirst: !1, getCoreRowModel: Nl(), getRowCanExpand: D, pageCount: Ce, ...!P && { onSortingChange: b, state: { sorting: g }, getSortedRowModel: _l() }, ...P && { state: { ...g && { sorting: [g] } }, onStateChange: (j) => { if (typeof j == "function") { const I = j({ ...re.getState(), ...g }); b && b(I.sorting[0]); } else b && b(j.sorting[0]); } }, initialState: { columnVisibility: e.reduce( (j, { id: I }) => ({ ...j, [I]: n == null ? void 0 : n.includes(I) }), {} ) }, ...t && { onColumnVisibilityChange: t } }); te(() => { q && re.resetExpanded(); }, [a, q]); const oe = Pe( () => e == null ? void 0 : e.filter( (j) => ("comparator" in j || "type" in j) && "isFilterable" in j && j.isFilterable ).map((j) => ({ id: j.id, label: j.label, ...(j == null ? void 0 : j.type) && { comparators: di[j.type], type: j.type }, ...(j == null ? void 0 : j.comparator) && { comparators: j.comparator }, ...(j == null ? void 0 : j.filterOptions) && { options: j.filterOptions } })), [e] ), Qe = Pe( () => re.getAllLeafColumns().map((j) => { const I = e.find( (He) => j.id === He.id.replaceAll(".", "_") ); return { id: j.id, label: I == null ? void 0 : I.label, isVisible: () => j.getIsVisible(), isDisabled: !j.getCanHide(), enableHiding: I == null ? void 0 : I.enableHiding, onChange: () => j.toggleVisibility(!j.getIsVisible()) }; }), [e] ), Te = Pe( () => e == null ? void 0 : e.find((j) => j == null ? void 0 : j.isSearchable), [e] ); return /* @__PURE__ */ i.jsxs("div", { children: [ /* @__PURE__ */ i.jsx( ql, { columnsVisibility: Qe, toggleAllColumnsVisible: re.toggleAllColumnsVisible, getIsAllColumnsVisible: re.getIsAllColumnsVisible, getIsSomeColumnsVisible: re.getIsSomeColumnsVisible, filtersColumns: oe, isSearchable: !!Te, filters: r, search: o, topbar: s, resourceType: Me } ), /* @__PURE__ */ i.jsx("div", { className: `contents px-[1px] ${m || ""}`, children: /* @__PURE__ */ i.jsx(zi, { className: "overflow-x-visible", children: /* @__PURE__ */ i.jsxs( "table", { className: "w-full border-collapse", style: { "--expander-column-width": "2.5rem" }, children: [ !ke && /* @__PURE__ */ i.jsx("thead", { children: re.getHeaderGroups().map((j) => /* @__PURE__ */ i.jsx("tr", { children: j.headers.map((I) => /* @__PURE__ */ i.jsx( "th", { ref: (He) => { ye.current[I.id] = He; }, className: `${d ? "text-left pl-4" : "text-center"} h-11 whitespace-nowrap `, children: I.isPlaceholder ? null : /* @__PURE__ */ i.jsxs( "div", { className: b && I.column.getCanSort() ? "cursor-pointer select-none" : "", ...b && { onClick: I.column.getToggleSortingHandler() }, "data-testid": `header-${I.id}`, children: [ /* @__PURE__ */ i.jsx("span", { children: /* @__PURE__ */ i.jsx(i.Fragment, { children: yr( I.column.columnDef.header, I.getContext() ) }) }), /* @__PURE__ */ i.jsx( "span", { className: "align-middle inline-block h-4 -mt-6", children: /* @__PURE__ */ i.jsx( Bn, { className: I.column.getIsSorted() ? "" : "invisible", name: I.column.getIsSorted() === "asc" ? se.arrowUp : se.arrowDown } ) } ) ] } ) }, I.id )) }, j.id)) }), /* @__PURE__ */ i.jsxs("tbody", { children: [ re.getRowModel().rows.map((j) => /* @__PURE__ */ i.jsxs(fi, { children: [ /* @__PURE__ */ i.jsx("tr", { className: "border-solid border-[1px] h-[3.25rem] border-[--ods-color-blue-200]", children: j.getVisibleCells().map((I) => /* @__PURE__ */ i.jsx( "td", { className: Ye( d ? "text-left pl-4" : "text-center", { "w-[2.5rem]": I.id.indexOf("expander") !== -1 } ), style: { width: Ie ? `${I.column.getSize()}px` : null }, children: yr( I.column.columnDef.cell, I.getContext() ) }, I.id )) }), j.getIsExpanded() && !!R && /* @__PURE__ */ i.jsx("tr", { className: "sub-row", children: /* @__PURE__ */ i.jsx("td", { colSpan: j.getVisibleCells().length, children: R(j, ye) }) }) ] }, j.id)), re.getRowModel().rows.length === 0 && !_ && /* @__PURE__ */ i.jsx( "tr", { className: "border-solid border-[1px] h-[3.25rem] border-[--ods-color-blue-200]", children: /* @__PURE__ */ i.jsx( "td", { className: "text-center", colSpan: e.length + (R ? 1 : 0), children: /* @__PURE__ */ i.jsx(Gl, { children: E ?? ve("common_pagination_no_results") }) } ) } ), _ && Array.from({ length: X || (l == null ? void 0 : l.pageSize) || Ll }).map((j, I) => /* @__PURE__ */ i.jsx( "tr", { className: "h-[3.25rem]", "data-testid": "loading-row", children: re.getAllColumns().map( (He) => He.getIsVisible() ? /* @__PURE__ */ i.jsx("td", { children: /* @__PURE__ */ i.jsx(Gn, {}) }, `loading-cell-${I}-${He.id}`) : null ) }, `loading-row-${I})` )) ] }) ] } ) }) }), !w && (a == null ? void 0 : a.length) > 0 && l ? /* @__PURE__ */ i.jsxs( Oi, { defaultCurrentPage: l.pageIndex + 1, className: "flex xs:justify-start md:justify-end my-8", "total-items": c, "total-pages": Ce, "default-items-per-page": l.pageSize, onOdsChange: ({ detail: j }) => { j.current !== j.oldCurrent && p({ ...l, pageIndex: j.current - 1, pageSize: j.itemPerPage }); }, onOdsItemPerPageChange: ({ detail: j }) => { j.current !== l.pageSize && p({ ...l, pageSize: j.current, pageIndex: 0 }); }, children: [ /* @__PURE__ */ i.jsx("span", { slot: "before-total-items", className: "mr-3", children: ve("common_pagination_of") }), /* @__PURE__ */ i.jsx("span", { slot: "after-total-items", className: "ml-3", children: ve("common_pagination_results") }) ] } ) : /* @__PURE__ */ i.jsx(i.Fragment, {}), h ? /* @__PURE__ */ i.jsxs("div", { className: "flex justify-center gap-5 my-5", children: [ /* @__PURE__ */ i.jsx( L, { "data-testid": "load-more-btn", variant: le.outline, label: ve("common_pagination_load_more"), onClick: w, isLoading: _ } ), y && /* @__PURE__ */ i.jsx( L, { "data-testid": "load-all-btn", variant: le.outline, label: ve("common_pagination_load_all"), onClick: y, isLoading: _ } ) ] }) : null ] }); }, Rh = (e = void 0) => { const [n, t] = F(go), [a, r] = F(e); return { pagination: n, setPagination: t, sorting: a, setSorting: r }; }, Cr = (e) => Object.fromEntries([...e.entries()]), Kl = (e) => { const n = { ...go }; if (e.has("page")) { let t = parseInt(e.get("page"), 10) - 1; (Number.isNaN(t) || t < 0) && (t = 0), n.pageIndex = t; } if (e.has("pageSize")) { let t = parseInt(e.get("pageSize"), 10); sn.includes(t) || ([t] = sn), n.pageSize = t; } return n; }, $l = (e, n) => { const t = { id: null, desc: !1 }; if (e.has("sort")) t.id = e.get("sort"), e.has("sortOrder") && (t.desc = e.get("sortOrder") === "desc"); else if (n) return n; return t; }, Dh = (e) => { const [n, t] = Ai(); return { pagination: Kl(n), sorting: $l(n, e), setPagination: ({ pageIndex: a, pageSize: r }) => { a > 0 ? n.set("page", `${a + 1}`) : n.delete("page"), sn.includes(r) && r !== sn[0] ? n.set("pageSize", `${r}`) : n.delete("pageSize"), t({ ...Cr(n) }); }, setSorting: ({ id: a, desc: r }) => { a ? (n.set("sort", a), r ? n.set("sortOrder", "desc") : n.delete("sortOrder")) : (n.delete("sort"), n.delete("sortOrder")), t({ ...Cr(n) }); } }; }; function zh({ text: e }) { const { t: n } = Q("datagrid"); return /* @__PURE__ */ i.jsxs(Xr, { value: e, children: [ /* @__PURE__ */ i.jsx("span", { slot: "success-message", children: /* @__PURE__ */ i.jsx(J, { children: n("common_clipboard_success_label") }) }), /* @__PURE__ */ i.jsx("span", { slot: "error-message", children: /* @__PURE__ */ i.jsx(J, { children: n("common_clipboard_error_label") }) }) ] }); } function ec({ guide: e, href: n, label: t, onClick: a }) { return /* @__PURE__ */ i.jsx("div", { children: /* @__PURE__ */ i.jsx( ot, { href: n, target: "_blank", icon: se.externalLink, onClick: () => { a && a(e); }, label: t } ) }); } function tc({ label: e, guides: n, ovhSubsidiary: t, getGuideLabel: a, onGuideClick: r }) { return /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("div", { id: "guides-header-trigger", children: /* @__PURE__ */ i.jsx( L, { slot: "menu-title", variant: le.ghost, icon: se.book, label: e } ) }), /* @__PURE__ */ i.jsx(Ft, { triggerId: "guides-header-trigger", children: Object.keys(n).map((o) => /* @__PURE__ */ i.jsx( ec, { guide: n[o], href: `${n[o].url[t]}`, label: a(n[o]), onClick: (s) => { r && r(s); } }, o )) }) ] }); } const mo = { FR: "https://docs.ovh.com/fr/public-cloud/", GB: "https://docs.ovh.com/gb/en/public-cloud/", DE: "https://docs.ovh.com/de/public-cloud/", ES: "https://docs.ovh.com/es/public-cloud/", IT: "https://docs.ovh.com/it/public-cloud/", PL: "https://docs.ovh.com/pl/public-cloud/", PT: "https://docs.ovh.com/pt/public-cloud/", IE: "https://docs.ovh.com/ie/en/public-cloud/", DEFAULT: "https://docs.ovh.com/gb/en/public-cloud/", US: "https://support.us.ovhcloud.com/hc/en-us/categories/115000515130-Public-Cloud-Services", ASIA: "https://docs.ovh.com/asia/en/public-cloud/", AU: "https://docs.ovh.com/au/en/public-cloud/", CA: "https://docs.ovh.com/ca/en/public-cloud/", QC: "https://docs.ovh.com/ca/fr/public-cloud/", SG: "https://docs.ovh.com/sg/en/public-cloud/", WE: "https://docs.ovh.com/us/en/public-cloud/", WS: "https://docs.ovh.com/us/es/public-cloud/", MA: "https://docs.ovh.com/fr/public-cloud/", TN: "https://docs.ovh.com/fr/public-cloud/", SN: "https://docs.ovh.com/fr/public-cloud/", IN: "https://docs.ovh.com/asia/en/public-cloud/" }, va = { FR: "https://docs.ovh.com/fr/storage/", GB: "https://docs.ovh.com/gb/en/storage/", DE: "https://docs.ovh.com/de/storage/", ES: "https://docs.ovh.com/es/storage/", IT: "https://docs.ovh.com/it/storage/", PL: "https://docs.ovh.com/pl/storage/", PT: "https://docs.ovh.com/pt/storage/", IE: "https://docs.ovh.com/ie/en/storage/", DEFAULT: "https://docs.ovh.com/gb/en/storage/", US: "https://support.us.ovhcloud.com/hc/en-us/sections/23498311424275-Object-Storage", ASIA: "https://docs.ovh.com/asia/en/storage/", AU: "https://docs.ovh.com/au/en/storage/", CA: "https://docs.ovh.com/ca/en/storage/", QC: "https://docs.ovh.com/ca/fr/storage/", SG: "https://docs.ovh.com/sg/en/storage/", WE: "https://docs.ovh.com/us/en/storage/", WS: "https://docs.ovh.com/us/es/storage/", MA: "https://docs.ovh.com/fr/storage/", TN: "https://docs.ovh.com/fr/storage/", SN: "https://docs.ovh.com/fr/storage/", IN: "https://docs.ovh.com/asia/en/storage/" }, nc = { DEFAULT: "https://docs.ovh.com/gb/en/public-cloud/volume-backup", ASIA: "https://docs.ovh.com/asia/en/public-cloud/volume-backup", AU: "https://docs.ovh.com/au/en/public-cloud/volume-backup", CA: "https://docs.ovh.com/ca/en/public-cloud/volume-backup", DE: "https://docs.ovh.com/de/public-cloud/volume-backup/", GB: "https://docs.ovh.com/gb/en/public-cloud/volume-backup", IE: "https://docs.ovh.com/ie/en/public-cloud/volume-backup", SG: "https://docs.ovh.com/sg/en/public-cloud/volume-backup", ES: "https://docs.ovh.com/es/public-cloud/volume-backup", US: "https://support.us.ovhcloud.com/hc/en-us/articles/15694887096851-How-to-Create-a-Volume-Backup", FR: "https://docs.ovh.com/fr/public-cloud/volume-backup", QC: "https://docs.ovh.com/ca/fr/public-cloud/volume-backup", IT: "https://docs.ovh.com/it/public-cloud/volume-backup", PL: "https://docs.ovh.com/pl/public-cloud/volume-backup", PT: "https://docs.ovh.com/pt/public-cloud/volume-backup", WS: "https://docs.ovh.com/us/es/public-cloud/volume-backup/" }, Ma = { FR: "https://docs.ovh.com/fr/public-cloud/premiers-pas-instance-public-cloud/", GB: "https://docs.ovh.com/gb/en/public-cloud/public-cloud-first-steps/", DE: "https://docs.ovh.com/de/public-cloud/public-cloud-erste-schritte/", ES: "https://docs.ovh.com/es/public-cloud/public-cloud-primeros-pasos/", IT: "https://docs.ovh.com/it/public-cloud/primi-passi-public-cloud/", PL: "https://docs.ovh.com/pl/public-cloud/public-cloud-pierwsze-kroki/", PT: "https://docs.ovh.com/pt/public-cloud/public-cloud-primeiros-passos/", IE: "https://docs.ovh.com/ie/en/public-cloud/public-cloud-first-steps/", DEFAULT: "https://docs.ovh.com/gb/en/public-cloud/public-cloud-first-steps/", US: "https://support.us.ovhcloud.com/hc/en-us/articles/4481009956243-How-to-Manage-Your-Public-Cloud-Instance", ASIA: "https://docs.ovh.com/asia/en/public-cloud/public-cloud-first-steps/", AU: "https://docs.ovh.com/au/en/public-cloud/public-cloud-first-steps/", CA: "https://docs.ovh.com/ca/en/public-cloud/public-cloud-first-steps/", QC: "https://docs.ovh.com/ca/fr/public-cloud/premiers-pas-instance-public-cloud/", SG: "https://docs.ovh.com/sg/en/public-cloud/public-cloud-first-steps/", WE: "https://docs.ovh.com/us/en/public-cloud/public-cloud-first-steps/", WS: "https://docs.ovh.com/us/es/public-cloud/public-cloud-primeros-pasos/", IN: "https://docs.ovh.com/asia/en/public-cloud/public-cloud-first-steps/" }, jr = { FR: "https://docs.ovh.com/fr/public-cloud/configurer_une_ip_failover/", GB: "https://docs.ovh.com/gb/en/public-cloud/configure_a_failover_ip/", DE: "https://docs.ovh.com/de/public-cloud/failover-ip-konfigurieren-pci/", ES: "https://docs.ovh.com/es/public-cloud/configurer-une-ip-failover/", IT: "https://docs.ovh.com/it/public-cloud/configura-un-ip-failover/", PL: "https://docs.ovh.com/pl/public-cloud/konfiguracja-adresu-ip-failover/", PT: "https://docs.ovh.com/pt/public-cloud/configurer-une-ip-failover/", IE: "https://docs.ovh.com/ie/en/public-cloud/configure_a_failover_ip/", DEFAULT: "https://docs.ovh.com/gb/en/public-cloud/configure_a_failover_ip/", US: "https://support.us.ovhcloud.com/hc/en-us/articles/115001588270-How-to-Order-Failover-IPs", ASIA: "https://docs.ovh.com/asia/en/public-cloud/configure_a_failover_ip/", AU: "https://docs.ovh.com/au/en/public-cloud/configure_a_failover_ip/", CA: "https://docs.ovh.com/ca/en/public-cloud/configure_a_failover_ip/", QC: "https://docs.ovh.com/ca/fr/public-cloud/configurer_une_ip_failover/", SG: "https://docs.ovh.com/sg/en/public-cloud/configure_a_failover_ip/", WE: "https://docs.ovh.com/us/en/public-cloud/configure_a_failover_ip/", WS: "https://docs.ovh.com/us/es/public-cloud/configurer-une-ip-failover/", IN: "https://docs.ovh.com/asia/en/public-cloud/configure_a_failover_ip/" }, Sr = { FR: "https://docs.ovh.com/fr/public-cloud/passer-root-et-definir-un-mot-de-passe/", GB: "https://docs.ovh.com/gb/en/public-cloud/become_the_root_user_and_select_a_password/", DE: "https://docs.ovh.com/de/public-cloud/root-rechte_erlangen_und_passwort_festlegen/", ES: "https://docs.ovh.com/es/public-cloud/conectarse_como_usuario_root_y_establecer_una_contrasena/", IT: "https://docs.ovh.com/it/public-cloud/imposta_una_password_amministratore/", PL: "https://docs.ovh.com/pl/public-cloud/dostep_root_i_zdefiniowanie_hasla/", PT: "https://docs.ovh.com/pt/public-cloud/tornar-se_root_e_definir_uma_palavra-passe/", IE: "https://docs.ovh.com/ie/en/public-cloud/become_the_root_user_and_select_a_password/", DEFAULT: "https://docs.ovh.com/gb/en/public-cloud/become_the_root_user_and_select_a_password/", US: "https://support.us.ovhcloud.com/hc/en-us/articles/360002208690-How-to-Access-a-Public-Cloud-Instance-via-VNC", ASIA: "https://docs.ovh.com/asia/en/public-cloud/become_the_root_user_and_select_a_password/", AU: "https://docs.ovh.com/au/en/public-cloud/become_the_root_user_and_select_a_password/", CA: "https://docs.ovh.com/ca/en/public-cloud/become_the_root_user_and_select_a_password/", QC: "https://docs.ovh.com/ca/fr/public-cloud/passer-root-et-definir-un-mot-de-passe/", SG: "https://docs.ovh.com/sg/en/public-cloud/become_the_root_user_and_select_a_password/", WE: "https://docs.ovh.com/us/en/public-cloud/become_the_root_user_and_select_a_password/", WS: "https://docs.ovh.com/us/es/public-cloud/conectarse_como_usuario_root_y_establecer_una_contrasena/", IN: "https://docs.ovh.com/asia/en/public-cloud/become_the_root_user_and_select_a_password/" }, Er = { FR: "https://docs.ovh.com/fr/public-cloud/configurer-le-reverse-dns-dune-instance/", GB: "https://docs.ovh.com/gb/en/public-cloud/configure-reverse-dns-instance/", DE: "https://docs.ovh.com/de/public-cloud/reverse-dns-konfigurieren-instanz/", ES: "https://docs.ovh.com/es/public-cloud/configurar-el-inverso-dns-de-una-instancia/", IT: "https://docs.ovh.com/it/public-cloud/configura_il_reverse_dns_della_tua_istanza/", PL: "https://docs.ovh.com/pl/public-cloud/konfiguracja_rewersu_dns_instancji/", PT: "https://docs.ovh.com/pt/public-cloud/configurar_a_reverse_dns_de_uma_instancia/", IE: "https://docs.ovh.com/ie/en/public-cloud/configure-reverse-dns-instance/", DEFAULT: "https://docs.ovh.com/gb/en/public-cloud/configure-reverse-dns-instance/", US: "https://support.us.ovhcloud.com/hc/en-us/articles/360002181530-How-to-Configure-Reverse-DNS", ASIA: "https://docs.ovh.com/asia/en/public-cloud/configure-reverse-dns-instance/", AU: "https://docs.ovh.com/au/en/public-cloud/configure-reverse-dns-instance/", CA: "https://docs.ovh.com/ca/en/public-cloud/configure-reverse-dns-instance/", QC: "https://docs.ovh.com/ca/fr/public-cloud/configurer-le-reverse-dns-dune-instance/", SG: "https://docs.ovh.com/sg/en/public-cloud/configure-reverse-dns-instance/", WE: "https://docs.ovh.com/us/en/public-cloud/configure-reverse-dns-instance/", WS: "https://docs.ovh.com/us/es/public-cloud/configurar-el-inverso-dns-de-una-instancia/", IN: "https://docs.ovh.com/asia/en/public-cloud/configure-reverse-dns-instance/" }, ac = { FR: "https://docs.ovh.com/fr/publiccloud/databases/getting-started/", GB: "https://docs.ovh.com/gb/en/publiccloud/databases/getting-started/", DE: "https://docs.ovh.com/de/publiccloud/databases/getting-started/", ES: "https://docs.ovh.com/es/publiccloud/databases/getting-started/", IT: "https://docs.ovh.com/it/publiccloud/databases/getting-started/", PL: "https://docs.ovh.com/pl/publiccloud/databases/getting-started/", PT: "https://docs.ovh.com/pt/publiccloud/databases/getting-started/", IE: "https://docs.ovh.com/ie/en/publiccloud/databases/getting-started/", DEFAULT: "https://docs.ovh.com/gb/en/publiccloud/databases/getting-started/", ASIA: "https://docs.ovh.com/asia/en/publiccloud/databases/getting-started/", AU: "https://docs.ovh.com/au/en/publiccloud/databases/getting-started/", CA: "https://docs.ovh.com/ca/en/publiccloud/databases/getting-started/", QC: "https://docs.ovh.com/ca/fr/publiccloud/databases/getting-started/", SG: "https://docs.ovh.com/sg/en/publiccloud/databases/getting-started/", WE: "https://docs.ovh.com/us/en/publiccloud/databases/getting-started/", WS: "https://docs.ovh.com/us/es/publiccloud/databases/getting-started/", IN: "https://docs.ovh.com/asia/en/publiccloud/databases/getting-started/" }, rc = { FR: "https://docs.ovh.com/fr/publiccloud/databases/mongodb/capabilities/", GB: "https://docs.ovh.com/gb/en/publiccloud/databases/mongodb/capabilities/", DE: "https://docs.ovh.com/de/publiccloud/databases/mongodb/capabilities/", ES: "https://docs.ovh.com/es/publiccloud/databases/mongodb/capabilities/", IT: "https://docs.ovh.com/it/publiccloud/databases/mongodb/capabilities/", PL: "https://docs.ovh.com/pl/publiccloud/databases/mongodb/capabilities/", PT: "https://docs.ovh.com/pt/publiccloud/databases/mongodb/capabilities/", IE: "https://docs.ovh.com/ie/en/publiccloud/databases/mongodb/capabilities/", DEFAULT: "https://docs.ovh.com/gb/en/publiccloud/databases/mongodb/capabilities/", ASIA: "https://docs.ovh.com/asia/en/publiccloud/databases/mongodb/capabilities/", AU: "https://docs.ovh.com/au/en/publiccloud/databases/mongodb/capabilities/", CA: "https://docs.ovh.com/ca/en/publiccloud/databases/mongodb/capabilities/", QC: "https://docs.ovh.com/ca/fr/publiccloud/databases/mongodb/capabilities/", SG: "https://docs.ovh.com/sg/en/publiccloud/databases/mongodb/capabilities/", WE: "https://docs.ovh.com/us/en/publiccloud/databases/mongodb/capabilities/", WS: "https://docs.ovh.com/us/es/publiccloud/databases/mongodb/capabilities/", IN: "https://docs.ovh.com/asia/en/publiccloud/databases/mongodb/capabilities/" }, oc = { FR: "https://docs.ovh.com/fr/publiccloud/databases/mysql/capabilities/", GB: "https://docs.ovh.com/gb/en/publiccloud/databases/mysql/capabilities/", DE: "https://docs.ovh.com/de/publiccloud/databases/mysql/capabilities/", ES: "https://docs.ovh.com/es/publiccloud/databases/mysql/capabilities/", IT: "https://docs.ovh.com/it/publiccloud/databases/mysql/capabilities/", PL: "https://docs.ovh.com/pl/publiccloud/databases/mysql/capabilities/", PT: "https://docs.ovh.com/pt/publiccloud/databases/mysql/capabilities/", IE: "https://docs.ovh.com/ie/en/publiccloud/databases/mysql/capabilities/", DEFAULT: "https://docs.ovh.com/gb/en/publiccloud/databases/mysql/capabilities/", ASIA: "https://docs.ovh.com/asia/en/publiccloud/databases/mysql/capabilities/", AU: "https://docs.ovh.com/au/en/publiccloud/databases/mysql/capabilities/", CA: "https://docs.ovh.com/ca/en/publiccloud/databases/mysql/capabilities/", QC: "https://docs.ovh.com/ca/fr/publiccloud/databases/mysql/capabilities/", SG: "https://docs.ovh.com/sg/en/publiccloud/databases/mysql/capabilities/", WE: "https://docs.ovh.com/us/en/publiccloud/databases/mysql/capabilities/", WS: "https://docs.ovh.com/us/es/publiccloud/databases/mysql/capabilities/", IN: "https://docs.ovh.com/asia/en/publiccloud/databases/mysql/capabilities/" }, ic = { GB: "https://docs.ovh.com/gb/en/kubernetes/creating-a-cluster/", IE: "https://docs.ovh.com/ie/en/kubernetes/creating-a-cluster/", DEFAULT: "https://docs.ovh.com/gb/en/kubernetes/creating-a-cluster/", US: "https://support.us.ovhcloud.com/hc/en-us/articles/1500004767902-How-to-Create-a-Cluster-in-OVHcloud-Managed-Kubernetes", ASIA: "https://docs.ovh.com/asia/en/kubernetes/creating-a-cluster/", AU: "https://docs.ovh.com/au/en/kubernetes/creating-a-cluster/", CA: "https://docs.ovh.com/ca/en/kubernetes/creating-a-cluster/", SG: "https://docs.ovh.com/sg/en/kubernetes/creating-a-cluster/", WE: "https://docs.ovh.com/us/en/kubernetes/creating-a-cluster/" }, sc = { GB: "https://docs.ovh.com/gb/en/kubernetes/deploying-an-application/", IE: "https://docs.ovh.com/ie/en/kubernetes/deploying-an-application/", DEFAULT: "https://docs.ovh.com/gb/en/kubernetes/deploying-an-application/", US: "https://support.us.ovhcloud.com/hc/en-us/articles/1500004771762-How-to-Deploy-an-Application-on-an-OVHcloud-Managed-Kubernetes-Cluster", ASIA: "https://docs.ovh.com/asia/en/kubernetes/deploying-an-application/", AU: "https://docs.ovh.com/au/en/kubernetes/deploying-an-application/", CA: "https://docs.ovh.com/ca/en/kubernetes/deploying-an-application/", SG: "https://docs.ovh.com/sg/en/kubernetes/deploying-an-application/", WE: "https://docs.ovh.com/us/en/kubernetes/deploying-an-application/", IN: "https://docs.ovh.com/asia/en/kubernetes/deploying-an-application/" }, lc = { GB: "https://docs.ovh.com/gb/en/kubernetes/using-lb/", IE: "https://docs.ovh.com/ie/en/kubernetes/using-lb/", DEFAULT: "https://docs.ovh.com/gb/en/kubernetes/using-lb/", US: "https://support.us.ovhcloud.com/hc/en-us/articles/1500004806361-How-to-Use-the-OVHcloud-Managed-Kubernetes-Load-Balancer", ASIA: "https://docs.ovh.com/asia/en/kubernetes/using-lb/", AU: "https://docs.ovh.com/au/en/kubernetes/using-lb/", CA: "https://docs.ovh.com/ca/en/kubernetes/using-lb/", SG: "https://docs.ovh.com/sg/en/kubernetes/using-lb/", WE: "https://docs.ovh.com/us/en/kubernetes/using-lb/", IN: "https://docs.ovh.com/asia/en/kubernetes/using-lb/" }, cc = { FR: "https://docs.ovh.com/fr/private-registry/managed-private-registry-faq/", GB: "https://docs.ovh.com/gb/en/private-registry/managed-private-registry-faq/", IE: "https://docs.ovh.com/ie/en/private-registry/managed-private-registry-faq/", DEFAULT: "https://docs.ovh.com/gb/en/private-registry/managed-private-registry-faq/", ASIA: "https://docs.ovh.com/asia/en/private-registry/managed-private-registry-faq/", AU: "https://docs.ovh.com/au/en/private-registry/managed-private-registry-faq/", CA: "https://docs.ovh.com/ca/en/private-registry/managed-private-registry-faq/", SG: "https://docs.ovh.com/sg/en/private-registry/managed-private-registry-faq/", WE: "https://docs.ovh.com/us/en/private-registry/managed-private-registry-faq/", IN: "https://docs.ovh.com/asia/en/private-registry/managed-private-registry-faq/" }, uc = { GB: "https://docs.ovh.com/gb/en/private-registry/creating-a-private-registry/", IE: "https://docs.ovh.com/ie/en/private-registry/creating-a-private-registry/", DEFAULT: "https://docs.ovh.com/gb/en/private-registry/creating-a-private-registry/", ASIA: "https://docs.ovh.com/asia/en/private-registry/creating-a-private-registry/", AU: "https://docs.ovh.com/au/en/private-registry/creating-a-private-registry/", CA: "https://docs.ovh.com/ca/en/private-registry/creating-a-private-registry/", SG: "https://docs.ovh.com/sg/en/private-registry/creating-a-private-registry/", WE: "https://docs.ovh.com/us/en/private-registry/creating-a-private-registry/", IN: "https://docs.ovh.com/asia/en/private-registry/creating-a-private-registry/" }, dc = { GB: "https://docs.ovh.com/gb/en/private-registry/creating-and-using-a-private-image/", IE: "https://docs.ovh.com/ie/en/private-registry/creating-and-using-a-private-image/", DEFAULT: "https://docs.ovh.com/gb/en/private-registry/creating-and-using-a-private-image/", ASIA: "https://docs.ovh.com/asia/en/private-registry/creating-and-using-a-private-image/", AU: "https://docs.ovh.com/au/en/private-registry/creating-and-using-a-private-image/", CA: "https://docs.ovh.com/ca/en/private-registry/creating-and-using-a-private-image/", SG: "https://docs.ovh.com/sg/en/private-registry/creating-and-using-a-private-image/", WE: "https://docs.ovh.com/us/en/private-registry/creating-and-using-a-private-image/" }, gc = { GB: "https://docs.ovh.com/gb/en/publiccloud/ai/ai-comparative-tables/", IE: "https://docs.ovh.com/ie/en/publiccloud/ai/ai-comparative-tables/", DEFAULT: "https://docs.ovh.com/gb/en/publiccloud/ai/ai-comparative-tables/", ASIA: "https://docs.ovh.com/asia/en/publiccloud/ai/ai-comparative-tables/", AU: "https://docs.ovh.com/au/en/publiccloud/ai/ai-comparative-tables/", CA: "https://docs.ovh.com/ca/en/publiccloud/ai/ai-comparative-tables/", SG: "https://docs.ovh.com/sg/en/publiccloud/ai/ai-comparative-tables/", WE: "https://docs.ovh.com/us/en/publiccloud/ai/ai-comparative-tables/", IN: "https://docs.ovh.com/asia/en/publiccloud/ai/ai-comparative-tables/" }, mc = { GB: "https://docs.ovh.com/gb/en/publiccloud/ai/apps/capabilities/", IE: "https://docs.ovh.com/ie/en/publiccloud/ai/apps/capabilities/", DEFAULT: "https://docs.ovh.com/gb/en/publiccloud/ai/apps/capabilities/", ASIA: "https://docs.ovh.com/asia/en/publiccloud/ai/apps/capabilities/", AU: "https://docs.ovh.com/au/en/publiccloud/ai/apps/capabilities/", CA: "https://docs.ovh.com/ca/en/publiccloud/ai/apps/capabilities/", SG: "https://docs.ovh.com/sg/en/publiccloud/ai/apps/capabilities/", WE: "https://docs.ovh.com/us/en/publiccloud/ai/apps/capabilities/", IN: "https://docs.ovh.com/asia/en/publiccloud/ai/apps/capabilities/" }, fc = { GB: "https://docs.ovh.com/gb/en/publiccloud/ai/ai-apps-tokens/", IE: "https://docs.ovh.com/ie/en/publiccloud/ai/ai-apps-tokens/", DEFAULT: "https://docs.ovh.com/gb/en/publiccloud/ai/ai-apps-tokens/", ASIA: "https://docs.ovh.com/asia/en/publiccloud/ai/ai-apps-tokens/", AU: "https://docs.ovh.com/au/en/publiccloud/ai/ai-apps-tokens/", CA: "https://docs.ovh.com/ca/en/publiccloud/ai/ai-apps-tokens/", SG: "https://docs.ovh.com/sg/en/publiccloud/ai/ai-apps-tokens/", WE: "https://docs.ovh.com/us/en/publiccloud/ai/ai-apps-tokens/", IN: "https://docs.ovh.com/asia/en/publiccloud/ai/ai-apps-tokens/" }, pc = { GB: "https://docs.ovh.com/gb/en/data-processing/overview/", IE: "https://docs.ovh.com/ie/en/data-processing/overview/", DEFAULT: "https://docs.ovh.com/gb/en/data-processing/overview/", ASIA: "https://docs.ovh.com/asia/en/data-processing/overview/", AU: "https://docs.ovh.com/au/en/data-processing/overview/", CA: "https://docs.ovh.com/ca/en/data-processing/overview/", SG: "https://docs.ovh.com/sg/en/data-processing/overview/", WE: "https://docs.ovh.com/us/en/data-processing/overview/", IN: "https://docs.ovh.com/asia/en/data-processing/overview/" }, hc = { GB: "https://docs.ovh.com/gb/en/data-processing/capabilities/", IE: "https://docs.ovh.com/ie/en/data-processing/capabilities/", DEFAULT: "https://docs.ovh.com/gb/en/data-processing/capabilities/", ASIA: "https://docs.ovh.com/asia/en/data-processing/capabilities/", AU: "https://docs.ovh.com/au/en/data-processing/capabilities/", CA: "https://docs.ovh.com/ca/en/data-processing/capabilities/", SG: "https://docs.ovh.com/sg/en/data-processing/capabilities/", WE: "https://docs.ovh.com/us/en/data-processing/capabilities/", IN: "https://docs.ovh.com/asia/en/data-processing/capabilities/" }, vc = { GB: "https://docs.ovh.com/gb/en/data-processing/submit-javascala/", IE: "https://docs.ovh.com/ie/en/data-processing/submit-javascala/", DEFAULT: "https://docs.ovh.com/gb/en/data-processing/submit-javascala/", ASIA: "https://docs.ovh.com/asia/en/data-processing/submit-javascala/", AU: "https://docs.ovh.com/au/en/data-processing/submit-javascala/", CA: "https://docs.ovh.com/ca/en/data-processing/submit-javascala/", SG: "https://docs.ovh.com/sg/en/data-processing/submit-javascala/", WE: "https://docs.ovh.com/us/en/data-processing/submit-javascala/", IN: "https://docs.ovh.com/asia/en/data-processing/submit-javascala/" }, bc = { GB: "https://docs.ovh.com/gb/en/publiccloud/ai/cli/getting-started-cli/", IE: "https://docs.ovh.com/ie/en/publiccloud/ai/cli/getting-started-cli/", DEFAULT: "https://docs.ovh.com/gb/en/publiccloud/ai/cli/getting-started-cli/", ASIA: "https://docs.ovh.com/asia/en/publiccloud/ai/cli/getting-started-cli/", AU: "https://docs.ovh.com/au/en/publiccloud/ai/cli/getting-started-cli/", CA: "https://docs.ovh.com/ca/en/publiccloud/ai/cli/getting-started-cli/", SG: "https://docs.ovh.com/sg/en/publiccloud/ai/cli/getting-started-cli/", WE: "https://docs.ovh.com/us/en/publiccloud/ai/cli/getting-started-cli/", IN: "https://docs.ovh.com/asia/en/publiccloud/ai/cli/getting-started-cli/" }, wc = { GB: "https://docs.ovh.com/gb/en/publiccloud/ai/notebooks/definition/", IE: "https://docs.ovh.com/ie/en/publiccloud/ai/notebooks/definition/", DEFAULT: "https://docs.ovh.com/gb/en/publiccloud/ai/notebooks/definition/", ASIA: "https://docs.ovh.com/asia/en/publiccloud/ai/notebooks/definition/", AU: "https://docs.ovh.com/au/en/publiccloud/ai/notebooks/definition/", CA: "https://docs.ovh.com/ca/en/publiccloud/ai/notebooks/definition/", SG: "https://docs.ovh.com/sg/en/publiccloud/ai/notebooks/definition/", WE: "https://docs.ovh.com/us/en/publiccloud/ai/notebooks/definition/", IN: "https://docs.ovh.com/asia/en/publiccloud/ai/notebooks/definition/" }, Ac = { GB: "https://docs.ovh.com/gb/en/publiccloud/ai/notebooks/manage-data-ui/", IE: "https://docs.ovh.com/ie/en/publiccloud/ai/notebooks/manage-data-ui/", DEFAULT: "https://docs.ovh.com/gb/en/publiccloud/ai/notebooks/manage-data-ui/", ASIA: "https://docs.ovh.com/asia/en/publiccloud/ai/notebooks/manage-data-ui/", AU: "https://docs.ovh.com/au/en/publiccloud/ai/notebooks/manage-data-ui/", CA: "https://docs.ovh.com/ca/en/publiccloud/ai/notebooks/manage-data-ui/", SG: "https://docs.ovh.com/sg/en/publiccloud/ai/notebooks/manage-data-ui/", WE: "https://docs.ovh.com/us/en/publiccloud/ai/notebooks/manage-data-ui/", IN: "https://docs.ovh.com/asia/en/publiccloud/ai/notebooks/manage-data-ui/" }, xc = { GB: "https://docs.ovh.com/gb/en/publiccloud/ai/training/capabilities/", IE: "https://docs.ovh.com/ie/en/publiccloud/ai/training/capabilities/", DEFAULT: "https://docs.ovh.com/gb/en/ai-training/capabilities/", ASIA: "https://docs.ovh.com/asia/en/publiccloud/ai/training/capabilities/", AU: "https://docs.ovh.com/au/en/publiccloud/ai/training/capabilities/", CA: "https://docs.ovh.com/ca/en/publiccloud/ai/training/capabilities/", SG: "https://docs.ovh.com/sg/en/publiccloud/ai/training/capabilities/", WE: "https://docs.ovh.com/us/en/publiccloud/ai/training/capabilities/", IN: "https://docs.ovh.com/asia/en/publiccloud/ai/training/capabilities/" }, yc = { GB: "https://docs.ovh.com/gb/en/publiccloud/ai/training/submit-job/", IE: "https://docs.ovh.com/ie/en/publiccloud/ai/training/submit-job/", DEFAULT: "https://docs.ovh.com/gb/en/ai-training/submit-job/", ASIA: "https://docs.ovh.com/asia/en/publiccloud/ai/training/submit-job/", AU: "https://docs.ovh.com/au/en/publiccloud/ai/training/submit-job/", CA: "https://docs.ovh.com/ca/en/publiccloud/ai/training/submit-job/", SG: "https://docs.ovh.com/sg/en/publiccloud/ai/training/submit-job/", WE: "https://docs.ovh.com/us/en/publiccloud/ai/training/submit-job/", IN: "https://docs.ovh.com/asia/en/publiccloud/ai/training/submit-job/" }, Pc = { GB: "https://docs.ovh.com/gb/en/publiccloud/ai/training/build-use-custom-image/", IE: "https://docs.ovh.com/ie/en/publiccloud/ai/training/build-use-custom-image/", DEFAULT: "https://docs.ovh.com/gb/en/ai-training/build-use-custom-image/", ASIA: "https://docs.ovh.com/asia/en/publiccloud/ai/training/build-use-custom-image/", AU: "https://docs.ovh.com/au/en/publiccloud/ai/training/build-use-custom-image/", CA: "https://docs.ovh.com/ca/en/publiccloud/ai/training/build-use-custom-image/", SG: "https://docs.ovh.com/sg/en/publiccloud/ai/training/build-use-custom-image/", WE: "https://docs.ovh.com/us/en/publiccloud/ai/training/build-use-custom-image/", IN: "https://docs.ovh.com/asia/en/publiccloud/ai/training/build-use-custom-image/" }, Cc = { GB: "https://docs.ovh.com/gb/en/ml-serving/deploy-serialized-models/", IE: "https://docs.ovh.com/ie/en/ml-serving/deploy-serialized-models/", DEFAULT: "https://docs.ovh.com/gb/en/ml-serving/deploy-serialized-models/", ASIA: "https://docs.ovh.com/asia/en/ml-serving/deploy-serialized-models/", AU: "https://docs.ovh.com/au/en/ml-serving/deploy-serialized-models/", CA: "https://docs.ovh.com/ca/en/ml-serving/deploy-serialized-models/", SG: "https://docs.ovh.com/sg/en/ml-serving/deploy-serialized-models/", WE: "https://docs.ovh.com/us/en/ml-serving/deploy-serialized-models/", IN: "https://docs.ovh.com/asia/en/ml-serving/deploy-serialized-models/" }, jc = { GB: "https://docs.ovh.com/gb/en/ml-serving/models/", IE: "https://docs.ovh.com/ie/en/ml-serving/models/", DEFAULT: "https://docs.ovh.com/gb/en/ml-serving/models/", ASIA: "https://docs.ovh.com/asia/en/ml-serving/models/", AU: "https://docs.ovh.com/au/en/ml-serving/models/", CA: "https://docs.ovh.com/ca/en/ml-serving/models/", SG: "https://docs.ovh.com/sg/en/ml-serving/models/", WE: "https://docs.ovh.com/us/en/ml-serving/models/", IN: "https://docs.ovh.com/asia/en/ml-serving/models/" }, Sc = { GB: "https://docs.ovh.com/gb/en/ml-serving/export-tensorflow-models/", IE: "https://docs.ovh.com/ie/en/ml-serving/export-tensorflow-models/", DEFAULT: "https://docs.ovh.com/gb/en/ml-serving/export-tensorflow-models/", ASIA: "https://docs.ovh.com/asia/en/ml-serving/export-tensorflow-models/", AU: "https://docs.ovh.com/au/en/ml-serving/export-tensorflow-models/", CA: "https://docs.ovh.com/ca/en/ml-serving/export-tensorflow-models/", SG: "https://docs.ovh.com/sg/en/ml-serving/export-tensorflow-models/", WE: "https://docs.ovh.com/us/en/ml-serving/export-tensorflow-models/", IN: "https://docs.ovh.com/asia/en/ml-serving/export-tensorflow-models/" }, Ec = { FR: "https://help.ovhcloud.com/csm/fr-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066650", GB: "https://help.ovhcloud.com/csm/en-gb-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066656", DE: "https://help.ovhcloud.com/csm/de-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066645", ES: "https://help.ovhcloud.com/csm/es-es-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066648", IT: "https://help.ovhcloud.com/csm/it-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066654", PL: "https://help.ovhcloud.com/csm/pl-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066653", PT: "https://help.ovhcloud.com/csm/pt-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066652", IE: "https://help.ovhcloud.com/csm/en-ie-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066655", DEFAULT: "https://help.ovhcloud.com/csm/en-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066650", ASIA: "https://help.ovhcloud.com/csm/asia-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066657", AU: "https://help.ovhcloud.com/csm/en-au-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066658", CA: "https://help.ovhcloud.com/csm/en-ca-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066651", QC: "https://help.ovhcloud.com/csm/fr-ca-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066644", SG: "https://help.ovhcloud.com/csm/en-sg-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066655", WE: "https://us.ovhcloud.com/support/", WS: "https://help.ovhcloud.com/csm/es-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066649", IN: "https://help.ovhcloud.com/csm/en-ie-public-cloud-compute-savings-plan?id=kb_article_view&sysparm_article=KB0066655" }, Ge = { public_cloud_guides: { url: mo, key: "all_guides", tracking: "::guides::go_to_all_guides" }, first_steps_with_instances: { url: Ma, key: "first_steps_with_instances", tracking: "::guides::go_to_instances_guide" } }, Mc = { storage: { public_cloud_storage_guides: { url: va, key: "all_storage_guides", tracking: "::guides::go_to_storage" }, first_steps_with_instances: { url: Ma, key: "first_steps_with_instances", tracking: "::guides::go_to_instances_guide" }, ip_fail_over: { url: jr, key: "ip_fail_over", tracking: "::guides::go_to_configure_a_failover_ip" }, user_root_and_password: { url: Sr, key: "user_root_and_password", tracking: "::guides::go_to_become_the_root_user_and_select_a_password" }, reverse_dns: { url: Er, key: "reverse_dns", tracking: "::guides::go_to_configure_reverse_dns_instance" } }, volumeBackup: { storages_volume_backup_overview: { url: nc, key: "storages_volume_backup_overview", tracking: "::guides::go_to_storages_volume_backup_overview" }, public_cloud_storage_guides: { url: va, key: "all_storage_guides", tracking: "::guides::go_to_storage" }, first_steps_with_instances: { url: Ma, key: "first_steps_with_instances", tracking: "::guides::go_to_instances_guide" } }, objectStorage: { public_cloud_storage_guides: { url: va, key: "all_storage_guides", tracking: "::guides::go_to_storage" }, public_cloud_guides: { url: mo, key: "public_cloud_guides", tracking: "::guides::go_to_public_cloud_storage" } }, instances: { ...Ge, ip_fail_over: { url: jr, key: "ip_fail_over", tracking: "::guides::go_to_configure_a_failover_ip" }, user_root_and_password: { url: Sr, key: "user_root_and_password", tracking: "::guides::go_to_become_the_root_user_and_select_a_password" }, reverse_dns: { url: Er, key: "reverse_dns", tracking: "::guides::go_to_configure_reverse_dns_instance" } }, databases: { ...Ge, first_steps_with_databases: { url: ac, key: "first_steps_with_databases", tracking: "::guides::go_to_getting_started" }, mongo_db_capabilities_and_limitations: { url: rc, key: "mongo_db_capabilities_and_limitations", tracking: "::guides::go_to_mongodb_capabilities" }, mysql_capabilities_and_limitations: { url: oc, key: "mysql_capabilities_and_limitations", tracking: "::guides::go_to_mysql_capabilities" } }, kubernetes: { ...Ge, create_a_cluster: { url: ic, key: "create_a_cluster", tracking: "::guides::go_to_creating_a_cluster" }, deploy_an_application: { url: sc, key: "deploy_an_application", tracking: "::guides::go_to_deploying_an_application" }, loadbalancer_kube: { url: lc, key: "loadbalancer_kube", tracking: "::guides::go_to_using_lb" } }, private_registry: { ...Ge, faq_managed_private_registry: { url: cc, key: "faq_managed_private_registry", tracking: "::guides::go_to_managed_private_registry_faq" }, create_a_managed_private_register: { url: uc, key: "create_a_managed_private_register", tracking: "::guides::go_to_creating_a_private_registry" }, create_and_use_a_private_image: { url: dc, key: "create_and_use_a_private_image", tracking: "::guides::go_to_creating_and_using_a_private_image" } }, ai_machine_learning: { ...Ge, differences_between_ai_notebooks_ai_training_ai_apps: { url: gc, key: "differences_between_ai_notebooks_ai_training_ai_apps", tracking: "::guides::go_to_ai_comparative_tables" }, ai_apps_capabilities_and_limitations: { url: mc, key: "ai_apps_capabilities_and_limitations", tracking: "::guides::go_to_capabilities" }, accessing_your_ai_apps_with_tokens: { url: fc, key: "accessing_your_ai_apps_with_tokens", tracking: "::guides::go_to_ai_apps_tokens" } }, data_processing: { ...Ge, presentation_of_data_processing: { url: pc, key: "presentation_of_data_processing", tracking: "::guides::go_to_overview" }, data_processing_capabilities_and_limitations: { url: hc, key: "data_processing_capabilities_and_limitations", tracking: "::guides::go_to_capabilities" }, submit_a_java_scala_job: { url: vc, key: "submit_a_java_scala_job", tracking: "::guides::go_to_submit_javascala" } }, ai_notenooks: { ...Ge, ai_notebooks_startup: { url: bc, key: "ai_notebooks_startup", tracking: "::guides::go_to_getting_started_cli" }, ai_notebooks_definition: { url: wc, key: "ai_notebooks_definition", tracking: "::guides::go_to_definition" }, using_data_form_object_storage: { url: Ac, key: "using_data_form_object_storage", tracking: "::guides::go_to_access_object_storage_data" } }, ai_training: { ...Ge, ai_training_capabilities_and_limitations: { url: xc, key: "ai_training_capabilities_and_limitations", tracking: "::guides::go_to_capabilities" }, submit_a_job_via_the_user_interface: { url: yc, key: "submit_a_job_via_the_user_interface", tracking: "::guides::go_to_submit_job" }, managing_a_custom_image: { url: Pc, key: "managing_a_custom_image", tracking: "::guides::go_to_build_use_custom_image" } }, ml_serving: { ...Ge, deploying_a_custom_model: { url: Cc, key: "deploying_a_custom_model", tracking: "::guides::go_to_deploy_serialized_models" }, models_definition: { url: jc, key: "models_definition", tracking: "::guides::go_to_models" }, exporting_a_tensorflow_model: { url: Sc, key: "exporting_a_tensorflow_model", tracking: "::guides::go_to_export_tensorflow_models" } }, private_network: { ...Ge }, savings_plans: { ...Ge, savings_plans: { url: Ec, key: "savings_plans", tracking: "::guides::go_to_savings_plans" } } }, Rc = { de_DE: () => import("./Messages_de_DE-CUlg-IJc.mjs"), en_GB: () => import("./Messages_en_GB-DmUw15sL.mjs"), es_ES: () => import("./Messages_es_ES-xH0wRBEc.mjs"), fr_CA: () => import("./Messages_fr_CA-KvW_E4ml.mjs"), fr_FR: () => import("./Messages_fr_FR-CZcZvCLR.mjs"), it_IT: () => import("./Messages_it_IT-Bn0941R_.mjs"), pl_PL: () => import("./Messages_pl_PL-Ci5-BwBL.mjs"), pt_PT: () => import("./Messages_pt_PT-E8zKT8eI.mjs") }; he(Rc, "pci-guides-header"); function Oh({ category: e, onGuideClick: n }) { const { ovhSubsidiary: t } = Ci().getUser(), { trackClick: a } = ji(), [r] = Q("pci-guides-header"); return /* @__PURE__ */ i.jsx( tc, { label: r("pci_project_guides_header"), guides: Mc[e], ovhSubsidiary: t, getGuideLabel: (o) => r(`pci_project_guides_header_${o.key}`), onGuideClick: (o) => { n ? n(o.key) : a({ name: `public-cloud_credit_and_vouchers${o.tracking}`, type: "action" }); } } ); } var tn = /* @__PURE__ */ ((e) => (e.Success = "success", e.Error = "error", e.Info = "info", e.Warning = "warning", e))(tn || {}); const Dc = 1e3, fo = Ni((e, n) => ({ uid: 0, notifications: [], addNotification: (t, a, r = !1) => e((o) => ({ uid: o.uid + 1, notifications: [ ...o.notifications, { uid: o.uid, content: t, type: a, dismissable: r, creationTimestamp: Date.now() } ] })), addSuccess: (t, a = !1) => n().addNotification(t, "success", a), addError: (t, a = !1) => n().addNotification(t, "error", a), addWarning: (t, a = !1) => n().addNotification(t, "warning", a), addInfo: (t, a = !1) => n().addNotification(t, "info", a), clearNotification: (t) => e((a) => ({ notifications: a.notifications.filter( ({ uid: r }) => r !== t ) })), clearNotifications: () => e((t) => ({ notifications: t.notifications.filter( (a) => Date.now() - a.creationTimestamp < Dc ) })) })), zc = (e) => { switch (e) { case tn.Success: return Ue.success; case tn.Error: return Ue.danger; case tn.Warning: return Ue.warning; case tn.Info: return Ue.information; default: return Ue.information; } }, Oc = ({ notification: e }) => { const { clearNotification: n } = fo(); return /* @__PURE__ */ i.jsx( Ht, { className: "mb-2 w-full", color: zc(e.type), onOdsRemove: () => n(e.uid), children: e.content } ); }, kh = ({ clearAfterRead: e = !0 }) => { const n = Qr(), [t] = F(n), { notifications: a, clearNotifications: r } = fo(); return te(() => { e && t.pathname !== n.pathname && r(); }, [e, n.pathname]), /* @__PURE__ */ i.jsx(i.Fragment, { children: a.map((o) => /* @__PURE__ */ i.jsx(Oc, { notification: o }, o.uid)) }); }, me = "@ovh-ux/manager-common-translations", Xa = { BYTES: `${me}/bytes`, CLIPBOARD: `${me}/clipboard`, ACTIONS: `${me}/actions`, FORM: `${me}/form`, IAM: `${me}/iam`, SERVICE: `${me}/service`, BILLING: `${me}/billing`, ERROR: `${me}/error`, STATUS: `${me}/status`, REGION: `${me}/region`, DASHBOARD: `${me}/dashboard`, ONBOARDING: `${me}/onboarding`, ORDER: `${me}/order`, CONTACT: `${me}/contact`, COUNTRIES: `${me}/countries`, COUNTRY: `${me}/country`, LANGUAGE: `${me}/language` }, Th = ({ children: e, iamActions: n, urn: t, isDisplayTooltip: a, isIamCheckDisabled: r, isDisabled: o, ...s }) => { const c = pi(), l = Pe( () => c.replace(/:/g, ""), [c] ), { t: g } = Q(Xa.IAM), { isAuthorized: m } = Ha( n, t, !r ); return !o && (m || n === void 0) ? /* @__PURE__ */ i.jsx(ot, { ...s, children: e }) : !a || o ? /* @__PURE__ */ i.jsx(ot, { ...s, isDisabled: !0, onClick: null, children: e }) : /* @__PURE__ */ i.jsxs("div", { children: [ /* @__PURE__ */ i.jsx("span", { id: l, children: /* @__PURE__ */ i.jsx(ot, { ...s, isDisabled: !0, onClick: null, children: e }) }), /* @__PURE__ */ i.jsx(ka, { triggerId: l, position: "bottom", children: /* @__PURE__ */ i.jsx("div", { children: g("iam_actions_message") }) }) ] }); }, kc = { de_DE: () => import("./Messages_de_DE-BcFSD7qY.mjs"), en_GB: () => import("./Messages_en_GB-BG7yMYt_.mjs"), es_ES: () => import("./Messages_es_ES-xpLtIDMK.mjs"), fr_CA: () => import("./Messages_fr_CA-CiScTJTv.mjs"), fr_FR: () => import("./Messages_fr_FR-CiScTJTv.mjs"), it_IT: () => import("./Messages_it_IT-Bv7BlZPK.mjs"), pl_PL: () => import("./Messages_pl_PL-BvXkrBM4.mjs"), pt_PT: () => import("./Messages_pt_PT-DC9rP3SK.mjs") }; he(kc, "iam"); const Nh = ({ children: e, iamActions: n, urn: t, ...a }) => { const { t: r } = Q("iam"), { isAuthorized: o } = Ha(n, t); return o ? /* @__PURE__ */ i.jsx(J, { ...a, children: e }) : /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("div", { id: "tooltip-iam", className: "w-fit", children: /* @__PURE__ */ i.jsx(J, { preset: "span", ...a, children: r("iam_hidden_text").toUpperCase() }) }), /* @__PURE__ */ i.jsx(ka, { triggerId: "tooltip-iam", "with-arrow": !0, children: /* @__PURE__ */ i.jsx("div", { children: r("common_iam_get_message") }) }) ] }); }, Tc = { active: { label: "service_state_active", color: "success" }, deleted: { label: "service_state_deleted", color: "critical" }, suspended: { label: "service_state_suspended", color: "warning" }, toActivate: { label: "service_state_toActivate", color: "information" }, toDelete: { label: "service_state_toDelete", color: "information" }, toSuspend: { label: "service_state_toSuspend", color: "information" } }, _h = ({ state: e, ...n }) => { const { t } = Q(Xa.SERVICE), { label: a, color: r } = Tc[e] ?? { label: e, color: "information" }; return /* @__PURE__ */ i.jsx(It, { label: t(a), color: r, ...n }); }, Nc = { de_DE: () => import("./Messages_de_DE-CRZ4ioXV.mjs"), en_GB: () => import("./Messages_en_GB-BHXgn5lA.mjs"), es_ES: () => import("./Messages_es_ES-CxFW6XNQ.mjs"), fr_CA: () => import("./Messages_fr_CA-C1-Ta2BB.mjs"), fr_FR: () => import("./Messages_fr_FR-C1-Ta2BB.mjs"), it_IT: () => import("./Messages_it_IT-Bti2Y3HE.mjs"), pl_PL: () => import("./Messages_pl_PL-BabXOedQ.mjs"), pt_PT: () => import("./Messages_pt_PT-CsKLFgUN.mjs") }; he(Nc, "pci-maintenance-banner"); function Ih({ productName: e, projectName: n, serviceName: t, maintenanceURL: a }) { const { t: r } = Q("pci-maintenance-banner"); return /* @__PURE__ */ i.jsxs( Ht, { color: Ue.warning, "data-testid": "maintenance-banner", children: [ n && /* @__PURE__ */ i.jsx( "span", { dangerouslySetInnerHTML: { __html: r("pci_projects_maintenance_banner_info_project_page", { projectName: n }) } } ), e && /* @__PURE__ */ i.jsx( "span", { dangerouslySetInnerHTML: { __html: r("pci_projects_maintenance_banner_info_list_page", { productName: `${e}` }) } } ), t && /* @__PURE__ */ i.jsx( "span", { dangerouslySetInnerHTML: { __html: r("pci_projects_maintenance_banner_info_product_page", { productServiceName: t }) } } ), /* @__PURE__ */ i.jsx("span", { children: /* @__PURE__ */ i.jsx( ot, { "data-testid": "pci-maintenance-banner-link", className: "ml-4", href: a, target: "_blank", label: r("pci_projects_maintenance_banner_info_link") } ) }) ] } ); } const _c = { de_DE: () => import("./Messages_de_DE-CIupZJlh.mjs"), en_GB: () => import("./Messages_en_GB-Bmv-u7sM.mjs"), es_ES: () => import("./Messages_es_ES-Bv9JyzVi.mjs"), fr_CA: () => import("./Messages_fr_CA-CDWUU0NH.mjs"), fr_FR: () => import("./Messages_fr_FR-CDWUU0NH.mjs"), it_IT: () => import("./Messages_it_IT-D5MJ-X5b.mjs"), pl_PL: () => import("./Messages_pl_PL-BG5jADcK.mjs"), pt_PT: () => import("./Messages_pt_PT-L4BEKNTz.mjs") }; he(_c, "region"); const Ic = { de_DE: () => import("./Messages_de_DE-WXm-3OHg.mjs"), en_GB: () => import("./Messages_en_GB-Bueb-LI1.mjs"), es_ES: () => import("./Messages_es_ES-BUUGZC1E.mjs"), fr_CA: () => import("./Messages_fr_CA-CuoFPY7Z.mjs"), fr_FR: () => import("./Messages_fr_FR-DFTzr6vw.mjs"), it_IT: () => import("./Messages_it_IT-iyeb1jfy.mjs"), pl_PL: () => import("./Messages_pl_PL-DB4MS5Gg.mjs"), pt_PT: () => import("./Messages_pt_PT-CmwfHVz8.mjs") }; he(Ic, "datacenter"); const Hh = ({ mode: e = "region", name: n, micro: t }) => { const { t: a } = Q(e === "region" ? "region" : "datacenter"); return /* @__PURE__ */ i.jsx(i.Fragment, { children: a(`region_${n}`, { micro: t }) }); }, po = hi({}), Hc = ({ children: e }) => { const [n, t] = F(!1), a = Pe( () => ({ isOrderInitialized: n, setIsOrderInitialized: t }), [n] ); return /* @__PURE__ */ i.jsx(po.Provider, { value: a, children: e }); }, ho = () => { const e = ln(po); if (e === void 0) throw new Error("Order-related components must be used within "); return e; }, Fc = ({ children: e, onCancel: n, onConfirm: t, isValid: a }) => { const { isOrderInitialized: r, setIsOrderInitialized: o } = ho(), { t: s } = Q("order"); return r ? /* @__PURE__ */ i.jsx(i.Fragment, {}) : /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ e, /* @__PURE__ */ i.jsxs("div", { className: "flex flex-row gap-4", children: [ /* @__PURE__ */ i.jsx( L, { size: xe.md, variant: le.ghost, color: bt.primary, onClick: n, label: s("order_configuration_cancel"), "data-testid": "cta-order-configuration-cancel" } ), /* @__PURE__ */ i.jsx( L, { size: xe.md, color: bt.primary, isDisabled: !a, onClick: () => { t(), o(!0); }, icon: se.externalLink, iconAlignment: Jr.left, label: s("order_configuration_order"), "data-testid": "cta-order-configuration-order" } ) ] }) ] }); }, Bc = ({ onFinish: e, onClickLink: n, orderLink: t, productName: a }) => { const { t: r } = Q("order"), { isOrderInitialized: o, setIsOrderInitialized: s } = ho(); if (te(() => { t && o && window.open(t, "_blank", "noopener,noreferrer"); }, [t, o]), !o) return /* @__PURE__ */ i.jsx(i.Fragment, {}); const c = a || r("order_summary_product_default_label"); return /* @__PURE__ */ i.jsxs("div", { className: "flex flex-col gap-8", children: [ /* @__PURE__ */ i.jsxs("div", { className: "flex flex-col gap-4", children: [ /* @__PURE__ */ i.jsx( J, { preset: pe.heading2, "data-testid": "order-summary-title", children: r("order_summary_order_initiated_title", { product: c }) } ), /* @__PURE__ */ i.jsx(J, { preset: pe.paragraph, children: /* @__PURE__ */ i.jsx( Si, { t: r, i18nKey: "order_summary_order_initiated_subtitle", components: { ExternalLink: /* @__PURE__ */ i.jsx( un, { type: it.external, target: "_blank", href: t, "data-testid": "order-summary-link", onClickReturn: n } ) } } ) }), /* @__PURE__ */ i.jsx(J, { preset: pe.paragraph, children: r("order_summary_order_initiated_info", { product: c }) }) ] }), /* @__PURE__ */ i.jsx( L, { size: xe.md, color: bt.primary, "data-testid": "cta-order-summary-finish", onClick: () => { e(), s(!1); }, label: r("order_summary_finish") } ) ] }); }, Gc = { de_DE: () => import("./Messages_de_DE-BPhzh_L1.mjs"), en_GB: () => import("./Messages_en_GB-DcHl6-T8.mjs"), es_ES: () => import("./Messages_es_ES-Af1PP9KY.mjs"), fr_CA: () => import("./Messages_fr_CA-Y_2VTbMY.mjs"), fr_FR: () => import("./Messages_fr_FR-Y_2VTbMY.mjs"), it_IT: () => import("./Messages_it_IT-CSyfK6tU.mjs"), pl_PL: () => import("./Messages_pl_PL-BkIvt8Pg.mjs"), pt_PT: () => import("./Messages_pt_PT-B4Pr56Iv.mjs") }; he(Gc, "order"); const vo = ({ children: e }) => /* @__PURE__ */ i.jsx(Hc, { children: e }); vo.Configuration = Fc; vo.Summary = Bc; const Fh = ({ isLoading: e, ...n }) => e ? /* @__PURE__ */ i.jsx(Gn, { "data-testid": `${n["data-testid"]}` }) : /* @__PURE__ */ i.jsx(It, { ...n }), Lc = (e) => e === Ln.critical ? bt.critical : bt.primary, Bh = Ae.forwardRef( ({ heading: e, type: n = Ln.information, isLoading: t, primaryLabel: a, isPrimaryButtonLoading: r, isPrimaryButtonDisabled: o, onPrimaryButtonClick: s, secondaryLabel: c, isSecondaryButtonDisabled: l, isSecondaryButtonLoading: g, onSecondaryButtonClick: m, onDismiss: p, isOpen: b = !0, children: d }, h) => { const w = Lc(n); return /* @__PURE__ */ i.jsxs( Jn, { "data-testid": "modal", color: Ln[n], isDismissible: !!p, className: "text-left", onOdsClose: p, isOpen: b, ref: h, children: [ e && /* @__PURE__ */ i.jsx(J, { className: "mb-4", preset: pe.heading4, children: e }), t && /* @__PURE__ */ i.jsx("div", { "data-testid": "spinner", className: "flex justify-center my-5", children: /* @__PURE__ */ i.jsx(Oa, { size: Ta.md, "inline-block": !0 }) }), !t && /* @__PURE__ */ i.jsxs(i.Fragment, { children: [ /* @__PURE__ */ i.jsx("div", { className: "flex text-left", children: d }), c && /* @__PURE__ */ i.jsx( L, { "data-testid": "secondary-button", slot: "actions", color: w, onClick: l ? null : m, isDisabled: l, isLoading: g, variant: le.ghost, label: c, className: "mt-4", type: "button" } ), a && /* @__PURE__ */ i.jsx( L, { "data-testid": "primary-button", slot: "actions", color: w, onClick: o ? null : s, isDisabled: o, isLoading: r, variant: le.default, label: a, className: "mt-4", type: "button" } ) ] }) ] } ); } ), Wc = (e, n, t) => { if (!n) return; const a = n.offsetWidth, r = n.offsetHeight, o = e[0] ? e[0].offsetHeight + 4 : 30, c = (t || Math.ceil(r / o)) * a; let l = 0, g = 0; return e.forEach((m) => { if (!m) return; const p = m.getBoundingClientRect().width; t && (p === 0 || l + p > c - 50) || (l += p, g += 1); }), g; }, Qc = (e, n, t) => { const a = e.offsetWidth, r = Math.ceil( (a - 50) * 100 / n.getBoundingClientRect().width ), o = Math.floor(t.length * (r / 100)); return t.slice(0, o) + (o < t.length ? "..." : ""); }, Xc = ({ tags: e, displayInternalTags: n }) => Object.keys(e).filter((t) => n || t.indexOf("ovh:") !== 0).map((t) => `${t}:${e[t]}`), Yc = ({ tags: e, displayInternalTags: n = !1, lineNumber: t, onClick: a }) => { const r = "neutral", o = Xc({ tags: e, displayInternalTags: n }), s = Nt(null), [c, l] = F(null), [g, m] = F(o.length), p = Nt([]), b = Nt([]); return te(() => { if (o.length > 0) { const d = new ResizeObserver(() => { const h = Wc( b.current, s.current, t ); m(h || 1), h === 0 && p.current[0] && l( Qc( s.current, p.current[0], o[0] ) ); }); return s.current && d.observe(s.current), () => d.disconnect(); } }, [o]), te(() => { b.current.length === 0 && (b.current = [...p.current]); }, []), Object.keys(e).length > 0 && /* @__PURE__ */ i.jsxs("div", { ref: s, className: "w-full h-full min-w-[85px]", children: [ c ? /* @__PURE__ */ i.jsx(It, { className: "mr-1 mb-1", color: r, label: c }) : o.slice(0, g).map((d, h) => /* @__PURE__ */ i.jsx( It, { className: "mr-1 mb-1", ref: (w) => { p.current[h] = w; }, color: r, label: d }, d )), g < o.length && /* @__PURE__ */ i.jsx( ot, { href: "#", className: "text-xs", onClick: (d) => { a && a(), d.preventDefault(); }, icon: se.chevronDoubleRight } ) ] }); }, Vc = "Tags bearbeiten", Jc = "suchen", Zc = "Suchen", Uc = "Zurück", qc = { edit_tags: Vc, search_placeholder: Jc, search: Zc, back: Uc }, Kc = "Edit tags", $c = "search", eu = "Search", tu = "Back", nu = { edit_tags: Kc, search_placeholder: $c, search: eu, back: tu }, au = "Editar etiquetas", ru = "Buscar", ou = "Buscar", iu = "Volver", su = { edit_tags: au, search_placeholder: ru, search: ou, back: iu }, lu = "Editer tags", cu = "rechercher", uu = "Rechercher", du = "Retour", gu = { edit_tags: lu, search_placeholder: cu, search: uu, back: du }, mu = "Editer tags", fu = "rechercher", pu = "Rechercher", hu = "Retour", vu = { edit_tags: mu, search_placeholder: fu, search: pu, back: hu }, bu = "Modificare tag", wu = "cercare", Au = "Cercare", xu = "Indietro", yu = { edit_tags: bu, search_placeholder: wu, search: Au, back: xu }, Pu = "Edytuj tagi", Cu = "Szukaj", ju = "Szukaj", Su = "Powrót", Eu = { edit_tags: Pu, search_placeholder: Cu, search: ju, back: Su }, Mu = "Editar tags", Ru = "Procurar...", Du = "Procurar", zu = "Retroceder", Ou = { edit_tags: Mu, search_placeholder: Ru, search: Du, back: zu }; function Mr() { ce.addResources("de_DE", "tags-modal", qc), ce.addResources("en_GB", "tags-modal", nu), ce.addResources("es_ES", "tags-modal", su), ce.addResources("fr_CA", "tags-modal", gu), ce.addResources("fr_FR", "tags-modal", vu), ce.addResources("it_IT", "tags-modal", yu), ce.addResources("pl_PL", "tags-modal", Eu), ce.addResources("pt_PT", "tags-modal", Ou); } ce.isInitialized ? Mr() : ce.on("initialized", Mr); const Gh = Ae.forwardRef( ({ isOpen: e = !1, displayName: n, tags: t, displayInternalTags: a = !1, onEditTags: r, onCancel: o }, s) => { const { t: c } = Q("tags-modal"), [l, g] = F(""), [m, p] = F(t), b = () => { p( l ? Object.fromEntries( Object.entries(t).filter( ([d, h]) => d.toLowerCase().includes(l.toLowerCase()) || h.toLowerCase().includes(l.toLowerCase()) ) ) : t ); }; return /* @__PURE__ */ i.jsxs( Jn, { color: "neutral", className: "text-left", onOdsClose: o, isOpen: e, ref: s, children: [ /* @__PURE__ */ i.jsxs(J, { className: "mb-4", preset: pe.heading5, children: [ "Tags:", " ", n ] }), /* @__PURE__ */ i.jsxs("div", { className: "flex w-full mb-4", children: [ /* @__PURE__ */ i.jsx( on, { name: "search", className: "rounded-l flex-1 mr-1", placeholder: c("search_placeholder"), type: "text", onOdsChange: (d) => { g(d.detail.value); } } ), /* @__PURE__ */ i.jsx( L, { className: "rounded-r", variant: le.outline, size: xe.sm, onClick: b, label: c("search") } ) ] }), /* @__PURE__ */ i.jsx("div", { className: "w-full min-w-[85px] h-[120px] overflow-auto", children: m && /* @__PURE__ */ i.jsx(Yc, { tags: m }) }), /* @__PURE__ */ i.jsx( L, { variant: le.ghost, slot: "actions", color: "primary", onClick: o, label: c("back"), className: "mt-4", type: "button" } ), /* @__PURE__ */ i.jsx( L, { slot: "actions", color: "primary", onClick: r, label: c("edit_tags"), className: "mt-4", type: "button" } ) ] } ); } ), ku = 4999, Lh = Vn; function Wh({ route: e, pageSize: n = bo, queryKey: t, defaultSorting: a = void 0, shouldFetchAll: r = !1, columns: o, disableCache: s }) { const [c, l] = F(""), [g, m] = F(null), [p, b] = F(a), { filters: d, addFilter: h, removeFilter: w } = Qa(), { data: y, hasNextPage: P, fetchNextPage: C, ...E } = Lr({ initialPageParam: 1, queryKey: [ ...t, r ? "all" : n, p, d, g ], staleTime: 1 / 0, retry: !1, queryFn: ({ pageParam: R }) => Vn({ route: e, pageSize: r ? ku : n, page: R, sortBy: (p == null ? void 0 : p.id) || null, sortReverse: p == null ? void 0 : p.desc, filters: g ? [g, ...d] : d, disableCache: s }), getNextPageParam: (R, D, q) => R.totalCount / n > q ? q + 1 : null, select: (R) => { const D = R.pageParams[R.pageParams.length - 1], { totalCount: q } = R.pages[0]; return { data: R, pageIndex: D, totalCount: q, flattenData: R.pages.flatMap((ke) => ke.data) }; } }), _ = Pe( () => o == null ? void 0 : o.find( (R) => Object.prototype.hasOwnProperty.call(R, "isSearchable") && R.isSearchable ), [o] ); te(() => { r && P && C(); }, [y]); const X = (R) => { _ && m( !R || R.length === 0 ? null : { key: _.id, value: c, comparator: rt.Includes, label: _.id } ); }; return { ...y ?? { ...y, totalCount: 0 }, hasNextPage: P, fetchNextPage: C, ...E, sorting: p, setSorting: b, filters: { filters: d, add: h, remove: w }, search: { onSearch: X, searchInput: c, setSearchInput: l } }; } var nn = { exports: {} }; nn.exports; var Rr; function Tu() { return Rr || (Rr = 1, function(e, n) { var t = "[object Date]", a = typeof nt == "object" && nt && nt.Object === Object && nt, r = n && !n.nodeType && n, o = r && !0 && e && !e.nodeType && e, s = o && o.exports === r, c = s && a.process, l = function() { try { return c && c.binding("util"); } catch { } }(), g = l && l.isDate; function m(y) { return function(P) { return y(P); }; } var p = Object.prototype, b = p.toString; function d(y) { return w(y) && b.call(y) == t; } var h = g ? m(g) : d; function w(y) { return !!y && typeof y == "object"; } e.exports = h; }(nn, nn.exports)), nn.exports; } var Nu = Tu(); const _u = /* @__PURE__ */ Zr(Nu); function Qh(e) { return Number.isInteger(e) ? ie.Numeric : _u(e) ? ie.Date : typeof e == "string" ? ie.String : typeof e == "boolean" ? ie.Boolean : typeof e; } function Iu(e, n, t, a) { var r, o, s, c, l, g, m; if (!n || !t) return -1; switch (e) { case ie.Numeric: return a ? parseFloat(t) - parseFloat(n) : parseFloat(n) - parseFloat(t); case ie.Date: return a ? new Date(t).getTime() - new Date(n).getTime() : new Date(n).getTime() - new Date(t).getTime(); case ie.Boolean: return a ? Number(t) - Number(n) : Number(n) - Number(t); case ie.String: return a ? (o = (r = t == null ? void 0 : t.trim().toLowerCase()) == null ? void 0 : r.localeCompare) == null ? void 0 : o.call(r, n == null ? void 0 : n.trim().toLowerCase()) : (m = (l = (c = (s = n.trim()) == null ? void 0 : s.toString()) == null ? void 0 : c.toLowerCase()) == null ? void 0 : l.localeCompare) == null ? void 0 : m.call(l, (g = t == null ? void 0 : t.trim()) == null ? void 0 : g.toLowerCase()); default: return -1; } } function Hu(e, n, t) { return t.length === 0 || !n.length ? e : e == null ? void 0 : e.filter( (a) => n == null ? void 0 : n.some(({ key: r }) => { var s, c; const o = a[r]; return o == null ? !1 : (c = (s = o == null ? void 0 : o.toString()) == null ? void 0 : s.toLowerCase()) == null ? void 0 : c.includes(t == null ? void 0 : t.toLowerCase()); }) ); } function Xh({ route: e, queryKey: n, queryFn: t, refetchInterval: a, pageSize: r = 10, columns: o = [], defaultSorting: s }) { const [c, l] = F(""), [g, m] = F([]), { data: p, isError: b, isLoading: d, error: h, status: w } = Oe({ queryKey: [n], queryFn: t ? () => t(e) : () => Yn.get(e), refetchInterval: a || !1, retry: !1 }), [y, P] = F( s ), [C, E] = F(0), [_, X] = F(0), [R, D] = F([]), { filters: q, addFilter: ke, removeFilter: Ie } = Qa(), Me = Pe(() => p != null && p.data ? gi( Hu(p == null ? void 0 : p.data, g, c), q ) : [], [g, p == null ? void 0 : p.data, q]), ve = Pe(() => { var oe; if (y) { const Qe = ((oe = o.find((Te) => Te.id === y.id)) == null ? void 0 : oe.type) || ie.String; return [...Me].sort( (Te, j) => Iu( Qe, `${Te == null ? void 0 : Te[y.id]}`, `${j == null ? void 0 : j[y.id]}`, y.desc ) ); } return Me; }, [y, Me]); te(() => { var oe; p != null && p.data && ((oe = p == null ? void 0 : p.data) == null ? void 0 : oe.length) > 0 && _ === 0 && (X(p.data.length), D(p == null ? void 0 : p.data)); }, [p]), te(() => { E(0), D(ve); }, [ve]); const Ce = _t(() => E((oe) => oe + 1), []), ye = Pe( () => o.filter((oe) => oe.isSearchable), [o] ), re = _t( (oe) => { l(oe || ""), m( oe ? ye.map(({ id: Qe }) => ({ key: Qe, value: oe, comparator: rt.Includes })) : [] ); }, [ye] ); return { data: p, sorting: y, setSorting: P, pageIndex: C, totalCount: _, flattenData: R == null ? void 0 : R.slice(0, (C + 1) * r), isError: b, isLoading: d, hasNextPage: C * r + r < (R == null ? void 0 : R.length), fetchNextPage: Ce, error: h, status: w, filters: { filters: q, add: ke, remove: Ie }, search: { onSearch: re, searchInput: c, setSearchInput: l } }; } const bo = 10, Fu = 9999, Yh = Wr; function Bu({ columns: e, route: n, pageSize: t = bo, queryKey: a, defaultSorting: r = void 0, shouldFetchAll: o = !1, disableCache: s, ...c }) { const [l, g] = F([]), [m, p] = F(""), [b, d] = F(null), [h, w] = F(r), { filters: y, addFilter: P, removeFilter: C } = Qa(), E = Lr({ staleTime: 1 / 0, retry: !1, ...c, initialPageParam: null, queryKey: [ ...a, o ? "all" : t, h, y, b ].filter(Boolean), queryFn: ({ pageParam: R }) => { var D, q; return Wr({ route: n, pageSize: o ? Fu : t, cursor: R, sortBy: ((D = h == null ? void 0 : h[0]) == null ? void 0 : D.id) || null, sortOrder: (q = h == null ? void 0 : h[0]) != null && q.desc ? "DESC" : "ASC", filters: b ? [b, ...y] : y, disableCache: s }); }, getNextPageParam: (R) => R.cursorNext }); te(() => { var D; const R = (D = E.data) == null ? void 0 : D.pages.flatMap((q) => q.data); g(R), o && E.hasNextPage && E.fetchNextPage(); }, [E.data]); const _ = Pe( () => e == null ? void 0 : e.find( (R) => Object.prototype.hasOwnProperty.call(R, "isSearchable") && R.isSearchable ), [e] ), X = _t( (R) => { _ && d( !R || R.length === 0 ? null : { key: _.id, value: m, comparator: rt.Includes, label: _.id } ); }, [_, m] ); return { ...E, flattenData: l, setSorting: w, sorting: h, filters: { filters: y, add: P, remove: C }, search: { onSearch: X, searchInput: m, setSearchInput: p } }; } const Gu = (e) => [ "manage-task", e ], Vh = ({ resourceUrl: e, apiVersion: n = "v2", taskId: t, queryKey: a, onSuccess: r, onError: o, onFinish: s, refetchIntervalTime: c = 2e3 }) => { const [l, g] = Ae.useState(!1), [m, p] = Ae.useState(!1), [b, d] = Ae.useState(!1), { error: h } = Oe({ staleTime: 0, queryKey: a || Gu(t || e), queryFn: async () => { var y, P, C; const w = `/${e.split("/").filter(Boolean).concat(["task", t]).join("/")}`; try { p(!0); const E = await ct[n].get(w); if (n === "v2" && (((y = E.data) == null ? void 0 : y.status) === "DONE" && (p(!1), g(!0), d(!1), r == null || r(), s == null || s()), ((P = E.data) == null ? void 0 : P.status) === "ERROR")) throw p(!1), g(!1), d(!0), o == null || o(), s == null || s(), E; return E; } catch (E) { throw n === "v6" && (((C = E == null ? void 0 : E.response) == null ? void 0 : C.status) === 404 ? (p(!1), g(!0), d(!1), r == null || r()) : (p(!1), d(!0), g(!1), o == null || o()), s == null || s()), E; } }, enabled: !!t, retry: !1, refetchInterval: (w) => { var y, P; return n === "v6" ? w.state.status !== "error" ? c : void 0 : ["DONE", "ERROR"].includes((P = (y = w.state.data) == null ? void 0 : y.data) == null ? void 0 : P.status) ? void 0 : c; } }); return { error: h, isError: b, isPending: m, isSuccess: l }; }; function Lu(e) { if (e === "en_GB") return "enGB"; if (e === "fr_CA") return "frCA"; const [n] = (e == null ? void 0 : e.split("_")) || []; return n || "enGB"; } function U(e) { return (n = {}) => { const t = n.width ? String(n.width) : e.defaultWidth; return e.formats[t] || e.formats[e.defaultWidth]; }; } function B(e) { return (n, t) => { const a = t != null && t.context ? String(t.context) : "standalone"; let r; if (a === "formatting" && e.formattingValues) { const s = e.defaultFormattingWidth || e.defaultWidth, c = t != null && t.width ? String(t.width) : s; r = e.formattingValues[c] || e.formattingValues[s]; } else { const s = e.defaultWidth, c = t != null && t.width ? String(t.width) : e.defaultWidth; r = e.values[c] || e.values[s]; } const o = e.argumentCallback ? e.argumentCallback(n) : n; return r[o]; }; } function G(e) { return (n, t = {}) => { const a = t.width, r = a && e.matchPatterns[a] || e.matchPatterns[e.defaultMatchWidth], o = n.match(r); if (!o) return null; const s = o[0], c = a && e.parsePatterns[a] || e.parsePatterns[e.defaultParseWidth], l = Array.isArray(c) ? Qu(c, (p) => p.test(s)) : ( // [TODO] -- I challenge you to fix the type Wu(c, (p) => p.test(s)) ); let g; g = e.valueCallback ? e.valueCallback(l) : l, g = t.valueCallback ? ( // [TODO] -- I challenge you to fix the type t.valueCallback(g) ) : g; const m = n.slice(s.length); return { value: g, rest: m }; }; } function Wu(e, n) { for (const t in e) if (Object.prototype.hasOwnProperty.call(e, t) && n(e[t])) return t; } function Qu(e, n) { for (let t = 0; t < e.length; t++) if (n(e[t])) return t; } function At(e) { return (n, t = {}) => { const a = n.match(e.matchPattern); if (!a) return null; const r = a[0], o = n.match(e.parsePattern); if (!o) return null; let s = e.valueCallback ? e.valueCallback(o[0]) : o[0]; s = t.valueCallback ? t.valueCallback(s) : s; const c = n.slice(r.length); return { value: s, rest: c }; }; } const wo = 6048e5, Xu = 864e5, Dr = Symbol.for("constructDateFrom"); function lt(e, n) { return typeof e == "function" ? e(n) : e && typeof e == "object" && Dr in e ? e[Dr](n) : e instanceof Date ? new e.constructor(n) : new Date(n); } function Ao(e, ...n) { const t = lt.bind( null, e || n.find((a) => typeof a == "object") ); return n.map(t); } let Yu = {}; function Un() { return Yu; } function We(e, n) { return lt(n || e, e); } function wt(e, n) { var c, l, g, m; const t = Un(), a = (n == null ? void 0 : n.weekStartsOn) ?? ((l = (c = n == null ? void 0 : n.locale) == null ? void 0 : c.options) == null ? void 0 : l.weekStartsOn) ?? t.weekStartsOn ?? ((m = (g = t.locale) == null ? void 0 : g.options) == null ? void 0 : m.weekStartsOn) ?? 0, r = We(e, n == null ? void 0 : n.in), o = r.getDay(), s = (o < a ? 7 : 0) + o - a; return r.setDate(r.getDate() - s), r.setHours(0, 0, 0, 0), r; } function Ra(e, n, t) { const [a, r] = Ao( t == null ? void 0 : t.in, e, n ); return +wt(a, t) == +wt(r, t); } const zr = { lessThanXSeconds: { standalone: { one: "weniger als 1 Sekunde", other: "weniger als {{count}} Sekunden" }, withPreposition: { one: "weniger als 1 Sekunde", other: "weniger als {{count}} Sekunden" } }, xSeconds: { standalone: { one: "1 Sekunde", other: "{{count}} Sekunden" }, withPreposition: { one: "1 Sekunde", other: "{{count}} Sekunden" } }, halfAMinute: { standalone: "eine halbe Minute", withPreposition: "einer halben Minute" }, lessThanXMinutes: { standalone: { one: "weniger als 1 Minute", other: "weniger als {{count}} Minuten" }, withPreposition: { one: "weniger als 1 Minute", other: "weniger als {{count}} Minuten" } }, xMinutes: { standalone: { one: "1 Minute", other: "{{count}} Minuten" }, withPreposition: { one: "1 Minute", other: "{{count}} Minuten" } }, aboutXHours: { standalone: { one: "etwa 1 Stunde", other: "etwa {{count}} Stunden" }, withPreposition: { one: "etwa 1 Stunde", other: "etwa {{count}} Stunden" } }, xHours: { standalone: { one: "1 Stunde", other: "{{count}} Stunden" }, withPreposition: { one: "1 Stunde", other: "{{count}} Stunden" } }, xDays: { standalone: { one: "1 Tag", other: "{{count}} Tage" }, withPreposition: { one: "1 Tag", other: "{{count}} Tagen" } }, aboutXWeeks: { standalone: { one: "etwa 1 Woche", other: "etwa {{count}} Wochen" }, withPreposition: { one: "etwa 1 Woche", other: "etwa {{count}} Wochen" } }, xWeeks: { standalone: { one: "1 Woche", other: "{{count}} Wochen" }, withPreposition: { one: "1 Woche", other: "{{count}} Wochen" } }, aboutXMonths: { standalone: { one: "etwa 1 Monat", other: "etwa {{count}} Monate" }, withPreposition: { one: "etwa 1 Monat", other: "etwa {{count}} Monaten" } }, xMonths: { standalone: { one: "1 Monat", other: "{{count}} Monate" }, withPreposition: { one: "1 Monat", other: "{{count}} Monaten" } }, aboutXYears: { standalone: { one: "etwa 1 Jahr", other: "etwa {{count}} Jahre" }, withPreposition: { one: "etwa 1 Jahr", other: "etwa {{count}} Jahren" } }, xYears: { standalone: { one: "1 Jahr", other: "{{count}} Jahre" }, withPreposition: { one: "1 Jahr", other: "{{count}} Jahren" } }, overXYears: { standalone: { one: "mehr als 1 Jahr", other: "mehr als {{count}} Jahre" }, withPreposition: { one: "mehr als 1 Jahr", other: "mehr als {{count}} Jahren" } }, almostXYears: { standalone: { one: "fast 1 Jahr", other: "fast {{count}} Jahre" }, withPreposition: { one: "fast 1 Jahr", other: "fast {{count}} Jahren" } } }, Vu = (e, n, t) => { let a; const r = t != null && t.addSuffix ? zr[e].withPreposition : zr[e].standalone; return typeof r == "string" ? a = r : n === 1 ? a = r.one : a = r.other.replace("{{count}}", String(n)), t != null && t.addSuffix ? t.comparison && t.comparison > 0 ? "in " + a : "vor " + a : a; }, Ju = { full: "EEEE, do MMMM y", // Montag, 7. Januar 2018 long: "do MMMM y", // 7. Januar 2018 medium: "do MMM y", // 7. Jan. 2018 short: "dd.MM.y" // 07.01.2018 }, Zu = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, Uu = { full: "{{date}} 'um' {{time}}", long: "{{date}} 'um' {{time}}", medium: "{{date}} {{time}}", short: "{{date}} {{time}}" }, qu = { date: U({ formats: Ju, defaultWidth: "full" }), time: U({ formats: Zu, defaultWidth: "full" }), dateTime: U({ formats: Uu, defaultWidth: "full" }) }, Ku = { lastWeek: "'letzten' eeee 'um' p", yesterday: "'gestern um' p", today: "'heute um' p", tomorrow: "'morgen um' p", nextWeek: "eeee 'um' p", other: "P" }, $u = (e, n, t, a) => Ku[e], ed = { narrow: ["v.Chr.", "n.Chr."], abbreviated: ["v.Chr.", "n.Chr."], wide: ["vor Christus", "nach Christus"] }, td = { narrow: ["1", "2", "3", "4"], abbreviated: ["Q1", "Q2", "Q3", "Q4"], wide: ["1. Quartal", "2. Quartal", "3. Quartal", "4. Quartal"] }, Da = { narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], abbreviated: [ "Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez" ], wide: [ "Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember" ] }, nd = { narrow: Da.narrow, abbreviated: [ "Jan.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez." ], wide: Da.wide }, ad = { narrow: ["S", "M", "D", "M", "D", "F", "S"], short: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], abbreviated: ["So.", "Mo.", "Di.", "Mi.", "Do.", "Fr.", "Sa."], wide: [ "Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag" ] }, rd = { narrow: { am: "vm.", pm: "nm.", midnight: "Mitternacht", noon: "Mittag", morning: "Morgen", afternoon: "Nachm.", evening: "Abend", night: "Nacht" }, abbreviated: { am: "vorm.", pm: "nachm.", midnight: "Mitternacht", noon: "Mittag", morning: "Morgen", afternoon: "Nachmittag", evening: "Abend", night: "Nacht" }, wide: { am: "vormittags", pm: "nachmittags", midnight: "Mitternacht", noon: "Mittag", morning: "Morgen", afternoon: "Nachmittag", evening: "Abend", night: "Nacht" } }, od = { narrow: { am: "vm.", pm: "nm.", midnight: "Mitternacht", noon: "Mittag", morning: "morgens", afternoon: "nachm.", evening: "abends", night: "nachts" }, abbreviated: { am: "vorm.", pm: "nachm.", midnight: "Mitternacht", noon: "Mittag", morning: "morgens", afternoon: "nachmittags", evening: "abends", night: "nachts" }, wide: { am: "vormittags", pm: "nachmittags", midnight: "Mitternacht", noon: "Mittag", morning: "morgens", afternoon: "nachmittags", evening: "abends", night: "nachts" } }, id = (e) => Number(e) + ".", sd = { ordinalNumber: id, era: B({ values: ed, defaultWidth: "wide" }), quarter: B({ values: td, defaultWidth: "wide", argumentCallback: (e) => e - 1 }), month: B({ values: Da, formattingValues: nd, defaultWidth: "wide" }), day: B({ values: ad, defaultWidth: "wide" }), dayPeriod: B({ values: rd, defaultWidth: "wide", formattingValues: od, defaultFormattingWidth: "wide" }) }, ld = /^(\d+)(\.)?/i, cd = /\d+/i, ud = { narrow: /^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i, abbreviated: /^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i, wide: /^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i }, dd = { any: [/^v/i, /^n/i] }, gd = { narrow: /^[1234]/i, abbreviated: /^q[1234]/i, wide: /^[1234](\.)? Quartal/i }, md = { any: [/1/i, /2/i, /3/i, /4/i] }, fd = { narrow: /^[jfmasond]/i, abbreviated: /^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i, wide: /^(januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i }, pd = { narrow: [ /^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i ], any: [ /^j[aä]/i, /^f/i, /^mär/i, /^ap/i, /^mai/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i ] }, hd = { narrow: /^[smdmf]/i, short: /^(so|mo|di|mi|do|fr|sa)/i, abbreviated: /^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i, wide: /^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i }, vd = { any: [/^so/i, /^mo/i, /^di/i, /^mi/i, /^do/i, /^f/i, /^sa/i] }, bd = { narrow: /^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i, abbreviated: /^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i, wide: /^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i }, wd = { any: { am: /^v/i, pm: /^n/i, midnight: /^Mitte/i, noon: /^Mitta/i, morning: /morgens/i, afternoon: /nachmittags/i, // will never be matched. Afternoon is matched by `pm` evening: /abends/i, night: /nachts/i // will never be matched. Night is matched by `pm` } }, Ad = { ordinalNumber: At({ matchPattern: ld, parsePattern: cd, valueCallback: (e) => parseInt(e) }), era: G({ matchPatterns: ud, defaultMatchWidth: "wide", parsePatterns: dd, defaultParseWidth: "any" }), quarter: G({ matchPatterns: gd, defaultMatchWidth: "wide", parsePatterns: md, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: G({ matchPatterns: fd, defaultMatchWidth: "wide", parsePatterns: pd, defaultParseWidth: "any" }), day: G({ matchPatterns: hd, defaultMatchWidth: "wide", parsePatterns: vd, defaultParseWidth: "any" }), dayPeriod: G({ matchPatterns: bd, defaultMatchWidth: "wide", parsePatterns: wd, defaultParseWidth: "any" }) }, xd = { code: "de", formatDistance: Vu, formatLong: qu, formatRelative: $u, localize: sd, match: Ad, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }, yd = { lessThanXSeconds: { one: "less than a second", other: "less than {{count}} seconds" }, xSeconds: { one: "1 second", other: "{{count}} seconds" }, halfAMinute: "half a minute", lessThanXMinutes: { one: "less than a minute", other: "less than {{count}} minutes" }, xMinutes: { one: "1 minute", other: "{{count}} minutes" }, aboutXHours: { one: "about 1 hour", other: "about {{count}} hours" }, xHours: { one: "1 hour", other: "{{count}} hours" }, xDays: { one: "1 day", other: "{{count}} days" }, aboutXWeeks: { one: "about 1 week", other: "about {{count}} weeks" }, xWeeks: { one: "1 week", other: "{{count}} weeks" }, aboutXMonths: { one: "about 1 month", other: "about {{count}} months" }, xMonths: { one: "1 month", other: "{{count}} months" }, aboutXYears: { one: "about 1 year", other: "about {{count}} years" }, xYears: { one: "1 year", other: "{{count}} years" }, overXYears: { one: "over 1 year", other: "over {{count}} years" }, almostXYears: { one: "almost 1 year", other: "almost {{count}} years" } }, xo = (e, n, t) => { let a; const r = yd[e]; return typeof r == "string" ? a = r : n === 1 ? a = r.one : a = r.other.replace("{{count}}", n.toString()), t != null && t.addSuffix ? t.comparison && t.comparison > 0 ? "in " + a : a + " ago" : a; }, Pd = { lastWeek: "'last' eeee 'at' p", yesterday: "'yesterday at' p", today: "'today at' p", tomorrow: "'tomorrow at' p", nextWeek: "eeee 'at' p", other: "P" }, yo = (e, n, t, a) => Pd[e], Cd = { narrow: ["B", "A"], abbreviated: ["BC", "AD"], wide: ["Before Christ", "Anno Domini"] }, jd = { narrow: ["1", "2", "3", "4"], abbreviated: ["Q1", "Q2", "Q3", "Q4"], wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"] }, Sd = { narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], abbreviated: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ], wide: [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ] }, Ed = { narrow: ["S", "M", "T", "W", "T", "F", "S"], short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], wide: [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ] }, Md = { narrow: { am: "a", pm: "p", midnight: "mi", noon: "n", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" }, abbreviated: { am: "AM", pm: "PM", midnight: "midnight", noon: "noon", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" }, wide: { am: "a.m.", pm: "p.m.", midnight: "midnight", noon: "noon", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" } }, Rd = { narrow: { am: "a", pm: "p", midnight: "mi", noon: "n", morning: "in the morning", afternoon: "in the afternoon", evening: "in the evening", night: "at night" }, abbreviated: { am: "AM", pm: "PM", midnight: "midnight", noon: "noon", morning: "in the morning", afternoon: "in the afternoon", evening: "in the evening", night: "at night" }, wide: { am: "a.m.", pm: "p.m.", midnight: "midnight", noon: "noon", morning: "in the morning", afternoon: "in the afternoon", evening: "in the evening", night: "at night" } }, Dd = (e, n) => { const t = Number(e), a = t % 100; if (a > 20 || a < 10) switch (a % 10) { case 1: return t + "st"; case 2: return t + "nd"; case 3: return t + "rd"; } return t + "th"; }, Po = { ordinalNumber: Dd, era: B({ values: Cd, defaultWidth: "wide" }), quarter: B({ values: jd, defaultWidth: "wide", argumentCallback: (e) => e - 1 }), month: B({ values: Sd, defaultWidth: "wide" }), day: B({ values: Ed, defaultWidth: "wide" }), dayPeriod: B({ values: Md, defaultWidth: "wide", formattingValues: Rd, defaultFormattingWidth: "wide" }) }, zd = /^(\d+)(th|st|nd|rd)?/i, Od = /\d+/i, kd = { narrow: /^(b|a)/i, abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i, wide: /^(before christ|before common era|anno domini|common era)/i }, Td = { any: [/^b/i, /^(a|c)/i] }, Nd = { narrow: /^[1234]/i, abbreviated: /^q[1234]/i, wide: /^[1234](th|st|nd|rd)? quarter/i }, _d = { any: [/1/i, /2/i, /3/i, /4/i] }, Id = { narrow: /^[jfmasond]/i, abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i, wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i }, Hd = { narrow: [ /^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i ], any: [ /^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i ] }, Fd = { narrow: /^[smtwf]/i, short: /^(su|mo|tu|we|th|fr|sa)/i, abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i, wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i }, Bd = { narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i], any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i] }, Gd = { narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i, any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i }, Ld = { any: { am: /^a/i, pm: /^p/i, midnight: /^mi/i, noon: /^no/i, morning: /morning/i, afternoon: /afternoon/i, evening: /evening/i, night: /night/i } }, Co = { ordinalNumber: At({ matchPattern: zd, parsePattern: Od, valueCallback: (e) => parseInt(e, 10) }), era: G({ matchPatterns: kd, defaultMatchWidth: "wide", parsePatterns: Td, defaultParseWidth: "any" }), quarter: G({ matchPatterns: Nd, defaultMatchWidth: "wide", parsePatterns: _d, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: G({ matchPatterns: Id, defaultMatchWidth: "wide", parsePatterns: Hd, defaultParseWidth: "any" }), day: G({ matchPatterns: Fd, defaultMatchWidth: "wide", parsePatterns: Bd, defaultParseWidth: "any" }), dayPeriod: G({ matchPatterns: Gd, defaultMatchWidth: "any", parsePatterns: Ld, defaultParseWidth: "any" }) }, Wd = { full: "EEEE, d MMMM yyyy", long: "d MMMM yyyy", medium: "d MMM yyyy", short: "dd/MM/yyyy" }, Qd = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, Xd = { full: "{{date}} 'at' {{time}}", long: "{{date}} 'at' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, Yd = { date: U({ formats: Wd, defaultWidth: "full" }), time: U({ formats: Qd, defaultWidth: "full" }), dateTime: U({ formats: Xd, defaultWidth: "full" }) }, jo = { code: "en-GB", formatDistance: xo, formatLong: Yd, formatRelative: yo, localize: Po, match: Co, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }, Vd = { full: "EEEE, MMMM do, y", long: "MMMM do, y", medium: "MMM d, y", short: "MM/dd/yyyy" }, Jd = { full: "h:mm:ss a zzzz", long: "h:mm:ss a z", medium: "h:mm:ss a", short: "h:mm a" }, Zd = { full: "{{date}} 'at' {{time}}", long: "{{date}} 'at' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, Ud = { date: U({ formats: Vd, defaultWidth: "full" }), time: U({ formats: Jd, defaultWidth: "full" }), dateTime: U({ formats: Zd, defaultWidth: "full" }) }, qd = { code: "en-US", formatDistance: xo, formatLong: Ud, formatRelative: yo, localize: Po, match: Co, options: { weekStartsOn: 0, firstWeekContainsDate: 1 } }, Kd = { lessThanXSeconds: { one: "menos de un segundo", other: "menos de {{count}} segundos" }, xSeconds: { one: "1 segundo", other: "{{count}} segundos" }, halfAMinute: "medio minuto", lessThanXMinutes: { one: "menos de un minuto", other: "menos de {{count}} minutos" }, xMinutes: { one: "1 minuto", other: "{{count}} minutos" }, aboutXHours: { one: "alrededor de 1 hora", other: "alrededor de {{count}} horas" }, xHours: { one: "1 hora", other: "{{count}} horas" }, xDays: { one: "1 día", other: "{{count}} días" }, aboutXWeeks: { one: "alrededor de 1 semana", other: "alrededor de {{count}} semanas" }, xWeeks: { one: "1 semana", other: "{{count}} semanas" }, aboutXMonths: { one: "alrededor de 1 mes", other: "alrededor de {{count}} meses" }, xMonths: { one: "1 mes", other: "{{count}} meses" }, aboutXYears: { one: "alrededor de 1 año", other: "alrededor de {{count}} años" }, xYears: { one: "1 año", other: "{{count}} años" }, overXYears: { one: "más de 1 año", other: "más de {{count}} años" }, almostXYears: { one: "casi 1 año", other: "casi {{count}} años" } }, $d = (e, n, t) => { let a; const r = Kd[e]; return typeof r == "string" ? a = r : n === 1 ? a = r.one : a = r.other.replace("{{count}}", n.toString()), t != null && t.addSuffix ? t.comparison && t.comparison > 0 ? "en " + a : "hace " + a : a; }, eg = { full: "EEEE, d 'de' MMMM 'de' y", long: "d 'de' MMMM 'de' y", medium: "d MMM y", short: "dd/MM/y" }, tg = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, ng = { full: "{{date}} 'a las' {{time}}", long: "{{date}} 'a las' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, ag = { date: U({ formats: eg, defaultWidth: "full" }), time: U({ formats: tg, defaultWidth: "full" }), dateTime: U({ formats: ng, defaultWidth: "full" }) }, rg = { lastWeek: "'el' eeee 'pasado a la' p", yesterday: "'ayer a la' p", today: "'hoy a la' p", tomorrow: "'mañana a la' p", nextWeek: "eeee 'a la' p", other: "P" }, og = { lastWeek: "'el' eeee 'pasado a las' p", yesterday: "'ayer a las' p", today: "'hoy a las' p", tomorrow: "'mañana a las' p", nextWeek: "eeee 'a las' p", other: "P" }, ig = (e, n, t, a) => n.getHours() !== 1 ? og[e] : rg[e], sg = { narrow: ["AC", "DC"], abbreviated: ["AC", "DC"], wide: ["antes de cristo", "después de cristo"] }, lg = { narrow: ["1", "2", "3", "4"], abbreviated: ["T1", "T2", "T3", "T4"], wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"] }, cg = { narrow: ["e", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"], abbreviated: [ "ene", "feb", "mar", "abr", "may", "jun", "jul", "ago", "sep", "oct", "nov", "dic" ], wide: [ "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre" ] }, ug = { narrow: ["d", "l", "m", "m", "j", "v", "s"], short: ["do", "lu", "ma", "mi", "ju", "vi", "sá"], abbreviated: ["dom", "lun", "mar", "mié", "jue", "vie", "sáb"], wide: [ "domingo", "lunes", "martes", "miércoles", "jueves", "viernes", "sábado" ] }, dg = { narrow: { am: "a", pm: "p", midnight: "mn", noon: "md", morning: "mañana", afternoon: "tarde", evening: "tarde", night: "noche" }, abbreviated: { am: "AM", pm: "PM", midnight: "medianoche", noon: "mediodia", morning: "mañana", afternoon: "tarde", evening: "tarde", night: "noche" }, wide: { am: "a.m.", pm: "p.m.", midnight: "medianoche", noon: "mediodia", morning: "mañana", afternoon: "tarde", evening: "tarde", night: "noche" } }, gg = { narrow: { am: "a", pm: "p", midnight: "mn", noon: "md", morning: "de la mañana", afternoon: "de la tarde", evening: "de la tarde", night: "de la noche" }, abbreviated: { am: "AM", pm: "PM", midnight: "medianoche", noon: "mediodia", morning: "de la mañana", afternoon: "de la tarde", evening: "de la tarde", night: "de la noche" }, wide: { am: "a.m.", pm: "p.m.", midnight: "medianoche", noon: "mediodia", morning: "de la mañana", afternoon: "de la tarde", evening: "de la tarde", night: "de la noche" } }, mg = (e, n) => Number(e) + "º", fg = { ordinalNumber: mg, era: B({ values: sg, defaultWidth: "wide" }), quarter: B({ values: lg, defaultWidth: "wide", argumentCallback: (e) => Number(e) - 1 }), month: B({ values: cg, defaultWidth: "wide" }), day: B({ values: ug, defaultWidth: "wide" }), dayPeriod: B({ values: dg, defaultWidth: "wide", formattingValues: gg, defaultFormattingWidth: "wide" }) }, pg = /^(\d+)(º)?/i, hg = /\d+/i, vg = { narrow: /^(ac|dc|a|d)/i, abbreviated: /^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i, wide: /^(antes de cristo|antes de la era com[uú]n|despu[eé]s de cristo|era com[uú]n)/i }, bg = { any: [/^ac/i, /^dc/i], wide: [ /^(antes de cristo|antes de la era com[uú]n)/i, /^(despu[eé]s de cristo|era com[uú]n)/i ] }, wg = { narrow: /^[1234]/i, abbreviated: /^T[1234]/i, wide: /^[1234](º)? trimestre/i }, Ag = { any: [/1/i, /2/i, /3/i, /4/i] }, xg = { narrow: /^[efmajsond]/i, abbreviated: /^(ene|feb|mar|abr|may|jun|jul|ago|sep|oct|nov|dic)/i, wide: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i }, yg = { narrow: [ /^e/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i ], any: [ /^en/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i ] }, Pg = { narrow: /^[dlmjvs]/i, short: /^(do|lu|ma|mi|ju|vi|s[áa])/i, abbreviated: /^(dom|lun|mar|mi[ée]|jue|vie|s[áa]b)/i, wide: /^(domingo|lunes|martes|mi[ée]rcoles|jueves|viernes|s[áa]bado)/i }, Cg = { narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i], any: [/^do/i, /^lu/i, /^ma/i, /^mi/i, /^ju/i, /^vi/i, /^sa/i] }, jg = { narrow: /^(a|p|mn|md|(de la|a las) (mañana|tarde|noche))/i, any: /^([ap]\.?\s?m\.?|medianoche|mediodia|(de la|a las) (mañana|tarde|noche))/i }, Sg = { any: { am: /^a/i, pm: /^p/i, midnight: /^mn/i, noon: /^md/i, morning: /mañana/i, afternoon: /tarde/i, evening: /tarde/i, night: /noche/i } }, Eg = { ordinalNumber: At({ matchPattern: pg, parsePattern: hg, valueCallback: function(e) { return parseInt(e, 10); } }), era: G({ matchPatterns: vg, defaultMatchWidth: "wide", parsePatterns: bg, defaultParseWidth: "any" }), quarter: G({ matchPatterns: wg, defaultMatchWidth: "wide", parsePatterns: Ag, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: G({ matchPatterns: xg, defaultMatchWidth: "wide", parsePatterns: yg, defaultParseWidth: "any" }), day: G({ matchPatterns: Pg, defaultMatchWidth: "wide", parsePatterns: Cg, defaultParseWidth: "any" }), dayPeriod: G({ matchPatterns: jg, defaultMatchWidth: "any", parsePatterns: Sg, defaultParseWidth: "any" }) }, Mg = { code: "es", formatDistance: $d, formatLong: ag, formatRelative: ig, localize: fg, match: Eg, options: { weekStartsOn: 1, firstWeekContainsDate: 1 } }, Rg = { lessThanXSeconds: { one: "moins d’une seconde", other: "moins de {{count}} secondes" }, xSeconds: { one: "1 seconde", other: "{{count}} secondes" }, halfAMinute: "30 secondes", lessThanXMinutes: { one: "moins d’une minute", other: "moins de {{count}} minutes" }, xMinutes: { one: "1 minute", other: "{{count}} minutes" }, aboutXHours: { one: "environ 1 heure", other: "environ {{count}} heures" }, xHours: { one: "1 heure", other: "{{count}} heures" }, xDays: { one: "1 jour", other: "{{count}} jours" }, aboutXWeeks: { one: "environ 1 semaine", other: "environ {{count}} semaines" }, xWeeks: { one: "1 semaine", other: "{{count}} semaines" }, aboutXMonths: { one: "environ 1 mois", other: "environ {{count}} mois" }, xMonths: { one: "1 mois", other: "{{count}} mois" }, aboutXYears: { one: "environ 1 an", other: "environ {{count}} ans" }, xYears: { one: "1 an", other: "{{count}} ans" }, overXYears: { one: "plus d’un an", other: "plus de {{count}} ans" }, almostXYears: { one: "presqu’un an", other: "presque {{count}} ans" } }, So = (e, n, t) => { let a; const r = Rg[e]; return typeof r == "string" ? a = r : n === 1 ? a = r.one : a = r.other.replace("{{count}}", String(n)), t != null && t.addSuffix ? t.comparison && t.comparison > 0 ? "dans " + a : "il y a " + a : a; }, Dg = { full: "EEEE d MMMM y", long: "d MMMM y", medium: "d MMM y", short: "dd/MM/y" }, zg = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, Og = { full: "{{date}} 'à' {{time}}", long: "{{date}} 'à' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, kg = { date: U({ formats: Dg, defaultWidth: "full" }), time: U({ formats: zg, defaultWidth: "full" }), dateTime: U({ formats: Og, defaultWidth: "full" }) }, Tg = { lastWeek: "eeee 'dernier à' p", yesterday: "'hier à' p", today: "'aujourd’hui à' p", tomorrow: "'demain à' p'", nextWeek: "eeee 'prochain à' p", other: "P" }, Eo = (e, n, t, a) => Tg[e], Ng = { narrow: ["av. J.-C", "ap. J.-C"], abbreviated: ["av. J.-C", "ap. J.-C"], wide: ["avant Jésus-Christ", "après Jésus-Christ"] }, _g = { narrow: ["T1", "T2", "T3", "T4"], abbreviated: ["1er trim.", "2ème trim.", "3ème trim.", "4ème trim."], wide: ["1er trimestre", "2ème trimestre", "3ème trimestre", "4ème trimestre"] }, Ig = { narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"], abbreviated: [ "janv.", "févr.", "mars", "avr.", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc." ], wide: [ "janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre" ] }, Hg = { narrow: ["D", "L", "M", "M", "J", "V", "S"], short: ["di", "lu", "ma", "me", "je", "ve", "sa"], abbreviated: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."], wide: [ "dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi" ] }, Fg = { narrow: { am: "AM", pm: "PM", midnight: "minuit", noon: "midi", morning: "mat.", afternoon: "ap.m.", evening: "soir", night: "mat." }, abbreviated: { am: "AM", pm: "PM", midnight: "minuit", noon: "midi", morning: "matin", afternoon: "après-midi", evening: "soir", night: "matin" }, wide: { am: "AM", pm: "PM", midnight: "minuit", noon: "midi", morning: "du matin", afternoon: "de l’après-midi", evening: "du soir", night: "du matin" } }, Bg = (e, n) => { const t = Number(e), a = n == null ? void 0 : n.unit; if (t === 0) return "0"; const r = ["year", "week", "hour", "minute", "second"]; let o; return t === 1 ? o = a && r.includes(a) ? "ère" : "er" : o = "ème", t + o; }, Gg = ["MMM", "MMMM"], Mo = { preprocessor: (e, n) => e.getDate() === 1 || !n.some( (a) => a.isToken && Gg.includes(a.value) ) ? n : n.map( (a) => a.isToken && a.value === "do" ? { isToken: !0, value: "d" } : a ), ordinalNumber: Bg, era: B({ values: Ng, defaultWidth: "wide" }), quarter: B({ values: _g, defaultWidth: "wide", argumentCallback: (e) => e - 1 }), month: B({ values: Ig, defaultWidth: "wide" }), day: B({ values: Hg, defaultWidth: "wide" }), dayPeriod: B({ values: Fg, defaultWidth: "wide" }) }, Lg = /^(\d+)(ième|ère|ème|er|e)?/i, Wg = /\d+/i, Qg = { narrow: /^(av\.J\.C|ap\.J\.C|ap\.J\.-C)/i, abbreviated: /^(av\.J\.-C|av\.J-C|apr\.J\.-C|apr\.J-C|ap\.J-C)/i, wide: /^(avant Jésus-Christ|après Jésus-Christ)/i }, Xg = { any: [/^av/i, /^ap/i] }, Yg = { narrow: /^T?[1234]/i, abbreviated: /^[1234](er|ème|e)? trim\.?/i, wide: /^[1234](er|ème|e)? trimestre/i }, Vg = { any: [/1/i, /2/i, /3/i, /4/i] }, Jg = { narrow: /^[jfmasond]/i, abbreviated: /^(janv|févr|mars|avr|mai|juin|juill|juil|août|sept|oct|nov|déc)\.?/i, wide: /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i }, Zg = { narrow: [ /^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i ], any: [ /^ja/i, /^f/i, /^mar/i, /^av/i, /^ma/i, /^juin/i, /^juil/i, /^ao/i, /^s/i, /^o/i, /^n/i, /^d/i ] }, Ug = { narrow: /^[lmjvsd]/i, short: /^(di|lu|ma|me|je|ve|sa)/i, abbreviated: /^(dim|lun|mar|mer|jeu|ven|sam)\.?/i, wide: /^(dimanche|lundi|mardi|mercredi|jeudi|vendredi|samedi)/i }, qg = { narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^j/i, /^v/i, /^s/i], any: [/^di/i, /^lu/i, /^ma/i, /^me/i, /^je/i, /^ve/i, /^sa/i] }, Kg = { narrow: /^(a|p|minuit|midi|mat\.?|ap\.?m\.?|soir|nuit)/i, any: /^([ap]\.?\s?m\.?|du matin|de l'après[-\s]midi|du soir|de la nuit)/i }, $g = { any: { am: /^a/i, pm: /^p/i, midnight: /^min/i, noon: /^mid/i, morning: /mat/i, afternoon: /ap/i, evening: /soir/i, night: /nuit/i } }, Ro = { ordinalNumber: At({ matchPattern: Lg, parsePattern: Wg, valueCallback: (e) => parseInt(e) }), era: G({ matchPatterns: Qg, defaultMatchWidth: "wide", parsePatterns: Xg, defaultParseWidth: "any" }), quarter: G({ matchPatterns: Yg, defaultMatchWidth: "wide", parsePatterns: Vg, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: G({ matchPatterns: Jg, defaultMatchWidth: "wide", parsePatterns: Zg, defaultParseWidth: "any" }), day: G({ matchPatterns: Ug, defaultMatchWidth: "wide", parsePatterns: qg, defaultParseWidth: "any" }), dayPeriod: G({ matchPatterns: Kg, defaultMatchWidth: "any", parsePatterns: $g, defaultParseWidth: "any" }) }, em = { code: "fr", formatDistance: So, formatLong: kg, formatRelative: Eo, localize: Mo, match: Ro, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }, tm = { full: "EEEE d MMMM y", long: "d MMMM y", medium: "d MMM y", short: "yy-MM-dd" }, nm = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, am = { full: "{{date}} 'à' {{time}}", long: "{{date}} 'à' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, rm = { date: U({ formats: tm, defaultWidth: "full" }), time: U({ formats: nm, defaultWidth: "full" }), dateTime: U({ formats: am, defaultWidth: "full" }) }, om = { code: "fr-CA", formatDistance: So, formatLong: rm, formatRelative: Eo, localize: Mo, match: Ro, // Unique for fr-CA options: { weekStartsOn: 0, firstWeekContainsDate: 1 } }, im = { lessThanXSeconds: { one: "meno di un secondo", other: "meno di {{count}} secondi" }, xSeconds: { one: "un secondo", other: "{{count}} secondi" }, halfAMinute: "alcuni secondi", lessThanXMinutes: { one: "meno di un minuto", other: "meno di {{count}} minuti" }, xMinutes: { one: "un minuto", other: "{{count}} minuti" }, aboutXHours: { one: "circa un'ora", other: "circa {{count}} ore" }, xHours: { one: "un'ora", other: "{{count}} ore" }, xDays: { one: "un giorno", other: "{{count}} giorni" }, aboutXWeeks: { one: "circa una settimana", other: "circa {{count}} settimane" }, xWeeks: { one: "una settimana", other: "{{count}} settimane" }, aboutXMonths: { one: "circa un mese", other: "circa {{count}} mesi" }, xMonths: { one: "un mese", other: "{{count}} mesi" }, aboutXYears: { one: "circa un anno", other: "circa {{count}} anni" }, xYears: { one: "un anno", other: "{{count}} anni" }, overXYears: { one: "più di un anno", other: "più di {{count}} anni" }, almostXYears: { one: "quasi un anno", other: "quasi {{count}} anni" } }, sm = (e, n, t) => { let a; const r = im[e]; return typeof r == "string" ? a = r : n === 1 ? a = r.one : a = r.other.replace("{{count}}", n.toString()), t != null && t.addSuffix ? t.comparison && t.comparison > 0 ? "tra " + a : a + " fa" : a; }, lm = { full: "EEEE d MMMM y", long: "d MMMM y", medium: "d MMM y", short: "dd/MM/y" }, cm = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, um = { full: "{{date}} {{time}}", long: "{{date}} {{time}}", medium: "{{date}} {{time}}", short: "{{date}} {{time}}" }, dm = { date: U({ formats: lm, defaultWidth: "full" }), time: U({ formats: cm, defaultWidth: "full" }), dateTime: U({ formats: um, defaultWidth: "full" }) }, Ya = [ "domenica", "lunedì", "martedì", "mercoledì", "giovedì", "venerdì", "sabato" ]; function gm(e) { switch (e) { case 0: return "'domenica scorsa alle' p"; default: return "'" + Ya[e] + " scorso alle' p"; } } function Or(e) { return "'" + Ya[e] + " alle' p"; } function mm(e) { switch (e) { case 0: return "'domenica prossima alle' p"; default: return "'" + Ya[e] + " prossimo alle' p"; } } const fm = { lastWeek: (e, n, t) => { const a = e.getDay(); return Ra(e, n, t) ? Or(a) : gm(a); }, yesterday: "'ieri alle' p", today: "'oggi alle' p", tomorrow: "'domani alle' p", nextWeek: (e, n, t) => { const a = e.getDay(); return Ra(e, n, t) ? Or(a) : mm(a); }, other: "P" }, pm = (e, n, t, a) => { const r = fm[e]; return typeof r == "function" ? r(n, t, a) : r; }, hm = { narrow: ["aC", "dC"], abbreviated: ["a.C.", "d.C."], wide: ["avanti Cristo", "dopo Cristo"] }, vm = { narrow: ["1", "2", "3", "4"], abbreviated: ["T1", "T2", "T3", "T4"], wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"] }, bm = { narrow: ["G", "F", "M", "A", "M", "G", "L", "A", "S", "O", "N", "D"], abbreviated: [ "gen", "feb", "mar", "apr", "mag", "giu", "lug", "ago", "set", "ott", "nov", "dic" ], wide: [ "gennaio", "febbraio", "marzo", "aprile", "maggio", "giugno", "luglio", "agosto", "settembre", "ottobre", "novembre", "dicembre" ] }, wm = { narrow: ["D", "L", "M", "M", "G", "V", "S"], short: ["dom", "lun", "mar", "mer", "gio", "ven", "sab"], abbreviated: ["dom", "lun", "mar", "mer", "gio", "ven", "sab"], wide: [ "domenica", "lunedì", "martedì", "mercoledì", "giovedì", "venerdì", "sabato" ] }, Am = { narrow: { am: "m.", pm: "p.", midnight: "mezzanotte", noon: "mezzogiorno", morning: "mattina", afternoon: "pomeriggio", evening: "sera", night: "notte" }, abbreviated: { am: "AM", pm: "PM", midnight: "mezzanotte", noon: "mezzogiorno", morning: "mattina", afternoon: "pomeriggio", evening: "sera", night: "notte" }, wide: { am: "AM", pm: "PM", midnight: "mezzanotte", noon: "mezzogiorno", morning: "mattina", afternoon: "pomeriggio", evening: "sera", night: "notte" } }, xm = { narrow: { am: "m.", pm: "p.", midnight: "mezzanotte", noon: "mezzogiorno", morning: "di mattina", afternoon: "del pomeriggio", evening: "di sera", night: "di notte" }, abbreviated: { am: "AM", pm: "PM", midnight: "mezzanotte", noon: "mezzogiorno", morning: "di mattina", afternoon: "del pomeriggio", evening: "di sera", night: "di notte" }, wide: { am: "AM", pm: "PM", midnight: "mezzanotte", noon: "mezzogiorno", morning: "di mattina", afternoon: "del pomeriggio", evening: "di sera", night: "di notte" } }, ym = (e, n) => { const t = Number(e); return String(t); }, Pm = { ordinalNumber: ym, era: B({ values: hm, defaultWidth: "wide" }), quarter: B({ values: vm, defaultWidth: "wide", argumentCallback: (e) => e - 1 }), month: B({ values: bm, defaultWidth: "wide" }), day: B({ values: wm, defaultWidth: "wide" }), dayPeriod: B({ values: Am, defaultWidth: "wide", formattingValues: xm, defaultFormattingWidth: "wide" }) }, Cm = /^(\d+)(º)?/i, jm = /\d+/i, Sm = { narrow: /^(aC|dC)/i, abbreviated: /^(a\.?\s?C\.?|a\.?\s?e\.?\s?v\.?|d\.?\s?C\.?|e\.?\s?v\.?)/i, wide: /^(avanti Cristo|avanti Era Volgare|dopo Cristo|Era Volgare)/i }, Em = { any: [/^a/i, /^(d|e)/i] }, Mm = { narrow: /^[1234]/i, abbreviated: /^t[1234]/i, wide: /^[1234](º)? trimestre/i }, Rm = { any: [/1/i, /2/i, /3/i, /4/i] }, Dm = { narrow: /^[gfmalsond]/i, abbreviated: /^(gen|feb|mar|apr|mag|giu|lug|ago|set|ott|nov|dic)/i, wide: /^(gennaio|febbraio|marzo|aprile|maggio|giugno|luglio|agosto|settembre|ottobre|novembre|dicembre)/i }, zm = { narrow: [ /^g/i, /^f/i, /^m/i, /^a/i, /^m/i, /^g/i, /^l/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i ], any: [ /^ge/i, /^f/i, /^mar/i, /^ap/i, /^mag/i, /^gi/i, /^l/i, /^ag/i, /^s/i, /^o/i, /^n/i, /^d/i ] }, Om = { narrow: /^[dlmgvs]/i, short: /^(do|lu|ma|me|gi|ve|sa)/i, abbreviated: /^(dom|lun|mar|mer|gio|ven|sab)/i, wide: /^(domenica|luned[i|ì]|marted[i|ì]|mercoled[i|ì]|gioved[i|ì]|venerd[i|ì]|sabato)/i }, km = { narrow: [/^d/i, /^l/i, /^m/i, /^m/i, /^g/i, /^v/i, /^s/i], any: [/^d/i, /^l/i, /^ma/i, /^me/i, /^g/i, /^v/i, /^s/i] }, Tm = { narrow: /^(a|m\.|p|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i, any: /^([ap]\.?\s?m\.?|mezzanotte|mezzogiorno|(di|del) (mattina|pomeriggio|sera|notte))/i }, Nm = { any: { am: /^a/i, pm: /^p/i, midnight: /^mezza/i, noon: /^mezzo/i, morning: /mattina/i, afternoon: /pomeriggio/i, evening: /sera/i, night: /notte/i } }, _m = { ordinalNumber: At({ matchPattern: Cm, parsePattern: jm, valueCallback: (e) => parseInt(e, 10) }), era: G({ matchPatterns: Sm, defaultMatchWidth: "wide", parsePatterns: Em, defaultParseWidth: "any" }), quarter: G({ matchPatterns: Mm, defaultMatchWidth: "wide", parsePatterns: Rm, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: G({ matchPatterns: Dm, defaultMatchWidth: "wide", parsePatterns: zm, defaultParseWidth: "any" }), day: G({ matchPatterns: Om, defaultMatchWidth: "wide", parsePatterns: km, defaultParseWidth: "any" }), dayPeriod: G({ matchPatterns: Tm, defaultMatchWidth: "any", parsePatterns: Nm, defaultParseWidth: "any" }) }, Im = { code: "it", formatDistance: sm, formatLong: dm, formatRelative: pm, localize: Pm, match: _m, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }, Hm = { lessThanXSeconds: { one: { regular: "mniej niż sekunda", past: "mniej niż sekundę", future: "mniej niż sekundę" }, twoFour: "mniej niż {{count}} sekundy", other: "mniej niż {{count}} sekund" }, xSeconds: { one: { regular: "sekunda", past: "sekundę", future: "sekundę" }, twoFour: "{{count}} sekundy", other: "{{count}} sekund" }, halfAMinute: { one: "pół minuty", twoFour: "pół minuty", other: "pół minuty" }, lessThanXMinutes: { one: { regular: "mniej niż minuta", past: "mniej niż minutę", future: "mniej niż minutę" }, twoFour: "mniej niż {{count}} minuty", other: "mniej niż {{count}} minut" }, xMinutes: { one: { regular: "minuta", past: "minutę", future: "minutę" }, twoFour: "{{count}} minuty", other: "{{count}} minut" }, aboutXHours: { one: { regular: "około godziny", past: "około godziny", future: "około godzinę" }, twoFour: "około {{count}} godziny", other: "około {{count}} godzin" }, xHours: { one: { regular: "godzina", past: "godzinę", future: "godzinę" }, twoFour: "{{count}} godziny", other: "{{count}} godzin" }, xDays: { one: { regular: "dzień", past: "dzień", future: "1 dzień" }, twoFour: "{{count}} dni", other: "{{count}} dni" }, aboutXWeeks: { one: "około tygodnia", twoFour: "około {{count}} tygodni", other: "około {{count}} tygodni" }, xWeeks: { one: "tydzień", twoFour: "{{count}} tygodnie", other: "{{count}} tygodni" }, aboutXMonths: { one: "około miesiąc", twoFour: "około {{count}} miesiące", other: "około {{count}} miesięcy" }, xMonths: { one: "miesiąc", twoFour: "{{count}} miesiące", other: "{{count}} miesięcy" }, aboutXYears: { one: "około rok", twoFour: "około {{count}} lata", other: "około {{count}} lat" }, xYears: { one: "rok", twoFour: "{{count}} lata", other: "{{count}} lat" }, overXYears: { one: "ponad rok", twoFour: "ponad {{count}} lata", other: "ponad {{count}} lat" }, almostXYears: { one: "prawie rok", twoFour: "prawie {{count}} lata", other: "prawie {{count}} lat" } }; function Fm(e, n) { if (n === 1) return e.one; const t = n % 100; if (t <= 20 && t > 10) return e.other; const a = t % 10; return a >= 2 && a <= 4 ? e.twoFour : e.other; } function ba(e, n, t) { const a = Fm(e, n); return (typeof a == "string" ? a : a[t]).replace("{{count}}", String(n)); } const Bm = (e, n, t) => { const a = Hm[e]; return t != null && t.addSuffix ? t.comparison && t.comparison > 0 ? "za " + ba(a, n, "future") : ba(a, n, "past") + " temu" : ba(a, n, "regular"); }, Gm = { full: "EEEE, do MMMM y", long: "do MMMM y", medium: "do MMM y", short: "dd.MM.y" }, Lm = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, Wm = { full: "{{date}} {{time}}", long: "{{date}} {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, Qm = { date: U({ formats: Gm, defaultWidth: "full" }), time: U({ formats: Lm, defaultWidth: "full" }), dateTime: U({ formats: Wm, defaultWidth: "full" }) }, Xm = { masculine: "ostatni", feminine: "ostatnia" }, Ym = { masculine: "ten", feminine: "ta" }, Vm = { masculine: "następny", feminine: "następna" }, Jm = { 0: "feminine", 1: "masculine", 2: "masculine", 3: "feminine", 4: "masculine", 5: "masculine", 6: "feminine" }; function kr(e, n, t, a) { let r; if (Ra(n, t, a)) r = Ym; else if (e === "lastWeek") r = Xm; else if (e === "nextWeek") r = Vm; else throw new Error(`Cannot determine adjectives for token ${e}`); const o = n.getDay(), s = Jm[o]; return `'${r[s]}' eeee 'o' p`; } const Zm = { lastWeek: kr, yesterday: "'wczoraj o' p", today: "'dzisiaj o' p", tomorrow: "'jutro o' p", nextWeek: kr, other: "P" }, Um = (e, n, t, a) => { const r = Zm[e]; return typeof r == "function" ? r(e, n, t, a) : r; }, qm = { narrow: ["p.n.e.", "n.e."], abbreviated: ["p.n.e.", "n.e."], wide: ["przed naszą erą", "naszej ery"] }, Km = { narrow: ["1", "2", "3", "4"], abbreviated: ["I kw.", "II kw.", "III kw.", "IV kw."], wide: ["I kwartał", "II kwartał", "III kwartał", "IV kwartał"] }, $m = { narrow: ["S", "L", "M", "K", "M", "C", "L", "S", "W", "P", "L", "G"], abbreviated: [ "sty", "lut", "mar", "kwi", "maj", "cze", "lip", "sie", "wrz", "paź", "lis", "gru" ], wide: [ "styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień" ] }, ef = { narrow: ["s", "l", "m", "k", "m", "c", "l", "s", "w", "p", "l", "g"], abbreviated: [ "sty", "lut", "mar", "kwi", "maj", "cze", "lip", "sie", "wrz", "paź", "lis", "gru" ], wide: [ "stycznia", "lutego", "marca", "kwietnia", "maja", "czerwca", "lipca", "sierpnia", "września", "października", "listopada", "grudnia" ] }, tf = { narrow: ["N", "P", "W", "Ś", "C", "P", "S"], short: ["nie", "pon", "wto", "śro", "czw", "pią", "sob"], abbreviated: ["niedz.", "pon.", "wt.", "śr.", "czw.", "pt.", "sob."], wide: [ "niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota" ] }, nf = { narrow: ["n", "p", "w", "ś", "c", "p", "s"], short: ["nie", "pon", "wto", "śro", "czw", "pią", "sob"], abbreviated: ["niedz.", "pon.", "wt.", "śr.", "czw.", "pt.", "sob."], wide: [ "niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota" ] }, af = { narrow: { am: "a", pm: "p", midnight: "półn.", noon: "poł", morning: "rano", afternoon: "popoł.", evening: "wiecz.", night: "noc" }, abbreviated: { am: "AM", pm: "PM", midnight: "północ", noon: "południe", morning: "rano", afternoon: "popołudnie", evening: "wieczór", night: "noc" }, wide: { am: "AM", pm: "PM", midnight: "północ", noon: "południe", morning: "rano", afternoon: "popołudnie", evening: "wieczór", night: "noc" } }, rf = { narrow: { am: "a", pm: "p", midnight: "o półn.", noon: "w poł.", morning: "rano", afternoon: "po poł.", evening: "wiecz.", night: "w nocy" }, abbreviated: { am: "AM", pm: "PM", midnight: "o północy", noon: "w południe", morning: "rano", afternoon: "po południu", evening: "wieczorem", night: "w nocy" }, wide: { am: "AM", pm: "PM", midnight: "o północy", noon: "w południe", morning: "rano", afternoon: "po południu", evening: "wieczorem", night: "w nocy" } }, of = (e, n) => String(e), sf = { ordinalNumber: of, era: B({ values: qm, defaultWidth: "wide" }), quarter: B({ values: Km, defaultWidth: "wide", argumentCallback: (e) => e - 1 }), month: B({ values: $m, defaultWidth: "wide", formattingValues: ef, defaultFormattingWidth: "wide" }), day: B({ values: tf, defaultWidth: "wide", formattingValues: nf, defaultFormattingWidth: "wide" }), dayPeriod: B({ values: af, defaultWidth: "wide", formattingValues: rf, defaultFormattingWidth: "wide" }) }, lf = /^(\d+)?/i, cf = /\d+/i, uf = { narrow: /^(p\.?\s*n\.?\s*e\.?\s*|n\.?\s*e\.?\s*)/i, abbreviated: /^(p\.?\s*n\.?\s*e\.?\s*|n\.?\s*e\.?\s*)/i, wide: /^(przed\s*nasz(ą|a)\s*er(ą|a)|naszej\s*ery)/i }, df = { any: [/^p/i, /^n/i] }, gf = { narrow: /^[1234]/i, abbreviated: /^(I|II|III|IV)\s*kw\.?/i, wide: /^(I|II|III|IV)\s*kwarta(ł|l)/i }, mf = { narrow: [/1/i, /2/i, /3/i, /4/i], any: [/^I kw/i, /^II kw/i, /^III kw/i, /^IV kw/i] }, ff = { narrow: /^[slmkcwpg]/i, abbreviated: /^(sty|lut|mar|kwi|maj|cze|lip|sie|wrz|pa(ź|z)|lis|gru)/i, wide: /^(stycznia|stycze(ń|n)|lutego|luty|marca|marzec|kwietnia|kwiecie(ń|n)|maja|maj|czerwca|czerwiec|lipca|lipiec|sierpnia|sierpie(ń|n)|wrze(ś|s)nia|wrzesie(ń|n)|pa(ź|z)dziernika|pa(ź|z)dziernik|listopada|listopad|grudnia|grudzie(ń|n))/i }, pf = { narrow: [ /^s/i, /^l/i, /^m/i, /^k/i, /^m/i, /^c/i, /^l/i, /^s/i, /^w/i, /^p/i, /^l/i, /^g/i ], any: [ /^st/i, /^lu/i, /^mar/i, /^k/i, /^maj/i, /^c/i, /^lip/i, /^si/i, /^w/i, /^p/i, /^lis/i, /^g/i ] }, hf = { narrow: /^[npwścs]/i, short: /^(nie|pon|wto|(ś|s)ro|czw|pi(ą|a)|sob)/i, abbreviated: /^(niedz|pon|wt|(ś|s)r|czw|pt|sob)\.?/i, wide: /^(niedziela|poniedzia(ł|l)ek|wtorek|(ś|s)roda|czwartek|pi(ą|a)tek|sobota)/i }, vf = { narrow: [/^n/i, /^p/i, /^w/i, /^ś/i, /^c/i, /^p/i, /^s/i], abbreviated: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pt/i, /^so/i], any: [/^n/i, /^po/i, /^w/i, /^(ś|s)r/i, /^c/i, /^pi/i, /^so/i] }, bf = { narrow: /^(^a$|^p$|pó(ł|l)n\.?|o\s*pó(ł|l)n\.?|po(ł|l)\.?|w\s*po(ł|l)\.?|po\s*po(ł|l)\.?|rano|wiecz\.?|noc|w\s*nocy)/i, any: /^(am|pm|pó(ł|l)noc|o\s*pó(ł|l)nocy|po(ł|l)udnie|w\s*po(ł|l)udnie|popo(ł|l)udnie|po\s*po(ł|l)udniu|rano|wieczór|wieczorem|noc|w\s*nocy)/i }, wf = { narrow: { am: /^a$/i, pm: /^p$/i, midnight: /pó(ł|l)n/i, noon: /po(ł|l)/i, morning: /rano/i, afternoon: /po\s*po(ł|l)/i, evening: /wiecz/i, night: /noc/i }, any: { am: /^am/i, pm: /^pm/i, midnight: /pó(ł|l)n/i, noon: /po(ł|l)/i, morning: /rano/i, afternoon: /po\s*po(ł|l)/i, evening: /wiecz/i, night: /noc/i } }, Af = { ordinalNumber: At({ matchPattern: lf, parsePattern: cf, valueCallback: (e) => parseInt(e, 10) }), era: G({ matchPatterns: uf, defaultMatchWidth: "wide", parsePatterns: df, defaultParseWidth: "any" }), quarter: G({ matchPatterns: gf, defaultMatchWidth: "wide", parsePatterns: mf, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: G({ matchPatterns: ff, defaultMatchWidth: "wide", parsePatterns: pf, defaultParseWidth: "any" }), day: G({ matchPatterns: hf, defaultMatchWidth: "wide", parsePatterns: vf, defaultParseWidth: "any" }), dayPeriod: G({ matchPatterns: bf, defaultMatchWidth: "any", parsePatterns: wf, defaultParseWidth: "any" }) }, xf = { code: "pl", formatDistance: Bm, formatLong: Qm, formatRelative: Um, localize: sf, match: Af, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }, yf = { lessThanXSeconds: { one: "menos de um segundo", other: "menos de {{count}} segundos" }, xSeconds: { one: "1 segundo", other: "{{count}} segundos" }, halfAMinute: "meio minuto", lessThanXMinutes: { one: "menos de um minuto", other: "menos de {{count}} minutos" }, xMinutes: { one: "1 minuto", other: "{{count}} minutos" }, aboutXHours: { one: "aproximadamente 1 hora", other: "aproximadamente {{count}} horas" }, xHours: { one: "1 hora", other: "{{count}} horas" }, xDays: { one: "1 dia", other: "{{count}} dias" }, aboutXWeeks: { one: "aproximadamente 1 semana", other: "aproximadamente {{count}} semanas" }, xWeeks: { one: "1 semana", other: "{{count}} semanas" }, aboutXMonths: { one: "aproximadamente 1 mês", other: "aproximadamente {{count}} meses" }, xMonths: { one: "1 mês", other: "{{count}} meses" }, aboutXYears: { one: "aproximadamente 1 ano", other: "aproximadamente {{count}} anos" }, xYears: { one: "1 ano", other: "{{count}} anos" }, overXYears: { one: "mais de 1 ano", other: "mais de {{count}} anos" }, almostXYears: { one: "quase 1 ano", other: "quase {{count}} anos" } }, Pf = (e, n, t) => { let a; const r = yf[e]; return typeof r == "string" ? a = r : n === 1 ? a = r.one : a = r.other.replace("{{count}}", String(n)), t != null && t.addSuffix ? t.comparison && t.comparison > 0 ? "daqui a " + a : "há " + a : a; }, Cf = { full: "EEEE, d 'de' MMMM 'de' y", long: "d 'de' MMMM 'de' y", medium: "d 'de' MMM 'de' y", short: "dd/MM/y" }, jf = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, Sf = { full: "{{date}} 'às' {{time}}", long: "{{date}} 'às' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, Ef = { date: U({ formats: Cf, defaultWidth: "full" }), time: U({ formats: jf, defaultWidth: "full" }), dateTime: U({ formats: Sf, defaultWidth: "full" }) }, Mf = { lastWeek: (e) => { const n = e.getDay(); return "'" + (n === 0 || n === 6 ? "último" : "última") + "' eeee 'às' p"; }, yesterday: "'ontem às' p", today: "'hoje às' p", tomorrow: "'amanhã às' p", nextWeek: "eeee 'às' p", other: "P" }, Rf = (e, n, t, a) => { const r = Mf[e]; return typeof r == "function" ? r(n) : r; }, Df = { narrow: ["aC", "dC"], abbreviated: ["a.C.", "d.C."], wide: ["antes de Cristo", "depois de Cristo"] }, zf = { narrow: ["1", "2", "3", "4"], abbreviated: ["T1", "T2", "T3", "T4"], wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"] }, Of = { narrow: ["j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"], abbreviated: [ "jan", "fev", "mar", "abr", "mai", "jun", "jul", "ago", "set", "out", "nov", "dez" ], wide: [ "janeiro", "fevereiro", "março", "abril", "maio", "junho", "julho", "agosto", "setembro", "outubro", "novembro", "dezembro" ] }, kf = { narrow: ["d", "s", "t", "q", "q", "s", "s"], short: ["dom", "seg", "ter", "qua", "qui", "sex", "sáb"], abbreviated: ["dom", "seg", "ter", "qua", "qui", "sex", "sáb"], wide: [ "domingo", "segunda-feira", "terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado" ] }, Tf = { narrow: { am: "AM", pm: "PM", midnight: "meia-noite", noon: "meio-dia", morning: "manhã", afternoon: "tarde", evening: "noite", night: "madrugada" }, abbreviated: { am: "AM", pm: "PM", midnight: "meia-noite", noon: "meio-dia", morning: "manhã", afternoon: "tarde", evening: "noite", night: "madrugada" }, wide: { am: "AM", pm: "PM", midnight: "meia-noite", noon: "meio-dia", morning: "manhã", afternoon: "tarde", evening: "noite", night: "madrugada" } }, Nf = { narrow: { am: "AM", pm: "PM", midnight: "meia-noite", noon: "meio-dia", morning: "da manhã", afternoon: "da tarde", evening: "da noite", night: "da madrugada" }, abbreviated: { am: "AM", pm: "PM", midnight: "meia-noite", noon: "meio-dia", morning: "da manhã", afternoon: "da tarde", evening: "da noite", night: "da madrugada" }, wide: { am: "AM", pm: "PM", midnight: "meia-noite", noon: "meio-dia", morning: "da manhã", afternoon: "da tarde", evening: "da noite", night: "da madrugada" } }, _f = (e, n) => Number(e) + "º", If = { ordinalNumber: _f, era: B({ values: Df, defaultWidth: "wide" }), quarter: B({ values: zf, defaultWidth: "wide", argumentCallback: (e) => e - 1 }), month: B({ values: Of, defaultWidth: "wide" }), day: B({ values: kf, defaultWidth: "wide" }), dayPeriod: B({ values: Tf, defaultWidth: "wide", formattingValues: Nf, defaultFormattingWidth: "wide" }) }, Hf = /^(\d+)(º|ª)?/i, Ff = /\d+/i, Bf = { narrow: /^(ac|dc|a|d)/i, abbreviated: /^(a\.?\s?c\.?|a\.?\s?e\.?\s?c\.?|d\.?\s?c\.?|e\.?\s?c\.?)/i, wide: /^(antes de cristo|antes da era comum|depois de cristo|era comum)/i }, Gf = { any: [/^ac/i, /^dc/i], wide: [ /^(antes de cristo|antes da era comum)/i, /^(depois de cristo|era comum)/i ] }, Lf = { narrow: /^[1234]/i, abbreviated: /^T[1234]/i, wide: /^[1234](º|ª)? trimestre/i }, Wf = { any: [/1/i, /2/i, /3/i, /4/i] }, Qf = { narrow: /^[jfmasond]/i, abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i, wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i }, Xf = { narrow: [ /^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i ], any: [ /^ja/i, /^f/i, /^mar/i, /^ab/i, /^mai/i, /^jun/i, /^jul/i, /^ag/i, /^s/i, /^o/i, /^n/i, /^d/i ] }, Yf = { narrow: /^[dstq]/i, short: /^(dom|seg|ter|qua|qui|sex|s[áa]b)/i, abbreviated: /^(dom|seg|ter|qua|qui|sex|s[áa]b)/i, wide: /^(domingo|segunda-?\s?feira|terça-?\s?feira|quarta-?\s?feira|quinta-?\s?feira|sexta-?\s?feira|s[áa]bado)/i }, Vf = { narrow: [/^d/i, /^s/i, /^t/i, /^q/i, /^q/i, /^s/i, /^s/i], any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[áa]/i] }, Jf = { narrow: /^(a|p|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i, any: /^([ap]\.?\s?m\.?|meia-?\s?noite|meio-?\s?dia|(da) (manh[ãa]|tarde|noite|madrugada))/i }, Zf = { any: { am: /^a/i, pm: /^p/i, midnight: /^meia/i, noon: /^meio/i, morning: /manh[ãa]/i, afternoon: /tarde/i, evening: /noite/i, night: /madrugada/i } }, Uf = { ordinalNumber: At({ matchPattern: Hf, parsePattern: Ff, valueCallback: (e) => parseInt(e, 10) }), era: G({ matchPatterns: Bf, defaultMatchWidth: "wide", parsePatterns: Gf, defaultParseWidth: "any" }), quarter: G({ matchPatterns: Lf, defaultMatchWidth: "wide", parsePatterns: Wf, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: G({ matchPatterns: Qf, defaultMatchWidth: "wide", parsePatterns: Xf, defaultParseWidth: "any" }), day: G({ matchPatterns: Yf, defaultMatchWidth: "wide", parsePatterns: Vf, defaultParseWidth: "any" }), dayPeriod: G({ matchPatterns: Jf, defaultMatchWidth: "any", parsePatterns: Zf, defaultParseWidth: "any" }) }, qf = { code: "pt", formatDistance: Pf, formatLong: Ef, formatRelative: Rf, localize: If, match: Uf, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }, Kf = { enGB: jo, fr: em, frCA: om, de: xd, es: Mg, it: Im, pl: xf, pt: qf }, $f = () => { const { i18n: e } = Q(), n = Lu(e == null ? void 0 : e.language); return Kf[n] || jo; }; function Xn(e, n) { return wt(e, { ...n, weekStartsOn: 1 }); } function Do(e, n) { const t = We(e, n == null ? void 0 : n.in), a = t.getFullYear(), r = lt(t, 0); r.setFullYear(a + 1, 0, 4), r.setHours(0, 0, 0, 0); const o = Xn(r), s = lt(t, 0); s.setFullYear(a, 0, 4), s.setHours(0, 0, 0, 0); const c = Xn(s); return t.getTime() >= o.getTime() ? a + 1 : t.getTime() >= c.getTime() ? a : a - 1; } function Tr(e) { const n = We(e), t = new Date( Date.UTC( n.getFullYear(), n.getMonth(), n.getDate(), n.getHours(), n.getMinutes(), n.getSeconds(), n.getMilliseconds() ) ); return t.setUTCFullYear(n.getFullYear()), +e - +t; } function Nr(e, n) { const t = We(e, n == null ? void 0 : n.in); return t.setHours(0, 0, 0, 0), t; } function ep(e, n, t) { const [a, r] = Ao( t == null ? void 0 : t.in, e, n ), o = Nr(a), s = Nr(r), c = +o - Tr(o), l = +s - Tr(s); return Math.round((c - l) / Xu); } function tp(e, n) { const t = Do(e, n), a = lt(e, 0); return a.setFullYear(t, 0, 4), a.setHours(0, 0, 0, 0), Xn(a); } function np(e) { return e instanceof Date || typeof e == "object" && Object.prototype.toString.call(e) === "[object Date]"; } function zo(e) { return !(!np(e) && typeof e != "number" || isNaN(+We(e))); } function ap(e, n) { const t = We(e, n == null ? void 0 : n.in); return t.setFullYear(t.getFullYear(), 0, 1), t.setHours(0, 0, 0, 0), t; } function rp(e, n) { const t = We(e, n == null ? void 0 : n.in); return ep(t, ap(t)) + 1; } function op(e, n) { const t = We(e, n == null ? void 0 : n.in), a = +Xn(t) - +tp(t); return Math.round(a / wo) + 1; } function Oo(e, n) { var m, p, b, d; const t = We(e, n == null ? void 0 : n.in), a = t.getFullYear(), r = Un(), o = (n == null ? void 0 : n.firstWeekContainsDate) ?? ((p = (m = n == null ? void 0 : n.locale) == null ? void 0 : m.options) == null ? void 0 : p.firstWeekContainsDate) ?? r.firstWeekContainsDate ?? ((d = (b = r.locale) == null ? void 0 : b.options) == null ? void 0 : d.firstWeekContainsDate) ?? 1, s = lt((n == null ? void 0 : n.in) || e, 0); s.setFullYear(a + 1, 0, o), s.setHours(0, 0, 0, 0); const c = wt(s, n), l = lt((n == null ? void 0 : n.in) || e, 0); l.setFullYear(a, 0, o), l.setHours(0, 0, 0, 0); const g = wt(l, n); return +t >= +c ? a + 1 : +t >= +g ? a : a - 1; } function ip(e, n) { var c, l, g, m; const t = Un(), a = (n == null ? void 0 : n.firstWeekContainsDate) ?? ((l = (c = n == null ? void 0 : n.locale) == null ? void 0 : c.options) == null ? void 0 : l.firstWeekContainsDate) ?? t.firstWeekContainsDate ?? ((m = (g = t.locale) == null ? void 0 : g.options) == null ? void 0 : m.firstWeekContainsDate) ?? 1, r = Oo(e, n), o = lt((n == null ? void 0 : n.in) || e, 0); return o.setFullYear(r, 0, a), o.setHours(0, 0, 0, 0), wt(o, n); } function sp(e, n) { const t = We(e, n == null ? void 0 : n.in), a = +wt(t, n) - +ip(t, n); return Math.round(a / wo) + 1; } function V(e, n) { const t = e < 0 ? "-" : "", a = Math.abs(e).toString().padStart(n, "0"); return t + a; } const tt = { // Year y(e, n) { const t = e.getFullYear(), a = t > 0 ? t : 1 - t; return V(n === "yy" ? a % 100 : a, n.length); }, // Month M(e, n) { const t = e.getMonth(); return n === "M" ? String(t + 1) : V(t + 1, 2); }, // Day of the month d(e, n) { return V(e.getDate(), n.length); }, // AM or PM a(e, n) { const t = e.getHours() / 12 >= 1 ? "pm" : "am"; switch (n) { case "a": case "aa": return t.toUpperCase(); case "aaa": return t; case "aaaaa": return t[0]; case "aaaa": default: return t === "am" ? "a.m." : "p.m."; } }, // Hour [1-12] h(e, n) { return V(e.getHours() % 12 || 12, n.length); }, // Hour [0-23] H(e, n) { return V(e.getHours(), n.length); }, // Minute m(e, n) { return V(e.getMinutes(), n.length); }, // Second s(e, n) { return V(e.getSeconds(), n.length); }, // Fraction of second S(e, n) { const t = n.length, a = e.getMilliseconds(), r = Math.trunc( a * Math.pow(10, t - 3) ); return V(r, n.length); } }, Ot = { am: "am", pm: "pm", midnight: "midnight", noon: "noon", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" }, _r = { // Era G: function(e, n, t) { const a = e.getFullYear() > 0 ? 1 : 0; switch (n) { // AD, BC case "G": case "GG": case "GGG": return t.era(a, { width: "abbreviated" }); // A, B case "GGGGG": return t.era(a, { width: "narrow" }); // Anno Domini, Before Christ case "GGGG": default: return t.era(a, { width: "wide" }); } }, // Year y: function(e, n, t) { if (n === "yo") { const a = e.getFullYear(), r = a > 0 ? a : 1 - a; return t.ordinalNumber(r, { unit: "year" }); } return tt.y(e, n); }, // Local week-numbering year Y: function(e, n, t, a) { const r = Oo(e, a), o = r > 0 ? r : 1 - r; if (n === "YY") { const s = o % 100; return V(s, 2); } return n === "Yo" ? t.ordinalNumber(o, { unit: "year" }) : V(o, n.length); }, // ISO week-numbering year R: function(e, n) { const t = Do(e); return V(t, n.length); }, // Extended year. This is a single number designating the year of this calendar system. // The main difference between `y` and `u` localizers are B.C. years: // | Year | `y` | `u` | // |------|-----|-----| // | AC 1 | 1 | 1 | // | BC 1 | 1 | 0 | // | BC 2 | 2 | -1 | // Also `yy` always returns the last two digits of a year, // while `uu` pads single digit years to 2 characters and returns other years unchanged. u: function(e, n) { const t = e.getFullYear(); return V(t, n.length); }, // Quarter Q: function(e, n, t) { const a = Math.ceil((e.getMonth() + 1) / 3); switch (n) { // 1, 2, 3, 4 case "Q": return String(a); // 01, 02, 03, 04 case "QQ": return V(a, 2); // 1st, 2nd, 3rd, 4th case "Qo": return t.ordinalNumber(a, { unit: "quarter" }); // Q1, Q2, Q3, Q4 case "QQQ": return t.quarter(a, { width: "abbreviated", context: "formatting" }); // 1, 2, 3, 4 (narrow quarter; could be not numerical) case "QQQQQ": return t.quarter(a, { width: "narrow", context: "formatting" }); // 1st quarter, 2nd quarter, ... case "QQQQ": default: return t.quarter(a, { width: "wide", context: "formatting" }); } }, // Stand-alone quarter q: function(e, n, t) { const a = Math.ceil((e.getMonth() + 1) / 3); switch (n) { // 1, 2, 3, 4 case "q": return String(a); // 01, 02, 03, 04 case "qq": return V(a, 2); // 1st, 2nd, 3rd, 4th case "qo": return t.ordinalNumber(a, { unit: "quarter" }); // Q1, Q2, Q3, Q4 case "qqq": return t.quarter(a, { width: "abbreviated", context: "standalone" }); // 1, 2, 3, 4 (narrow quarter; could be not numerical) case "qqqqq": return t.quarter(a, { width: "narrow", context: "standalone" }); // 1st quarter, 2nd quarter, ... case "qqqq": default: return t.quarter(a, { width: "wide", context: "standalone" }); } }, // Month M: function(e, n, t) { const a = e.getMonth(); switch (n) { case "M": case "MM": return tt.M(e, n); // 1st, 2nd, ..., 12th case "Mo": return t.ordinalNumber(a + 1, { unit: "month" }); // Jan, Feb, ..., Dec case "MMM": return t.month(a, { width: "abbreviated", context: "formatting" }); // J, F, ..., D case "MMMMM": return t.month(a, { width: "narrow", context: "formatting" }); // January, February, ..., December case "MMMM": default: return t.month(a, { width: "wide", context: "formatting" }); } }, // Stand-alone month L: function(e, n, t) { const a = e.getMonth(); switch (n) { // 1, 2, ..., 12 case "L": return String(a + 1); // 01, 02, ..., 12 case "LL": return V(a + 1, 2); // 1st, 2nd, ..., 12th case "Lo": return t.ordinalNumber(a + 1, { unit: "month" }); // Jan, Feb, ..., Dec case "LLL": return t.month(a, { width: "abbreviated", context: "standalone" }); // J, F, ..., D case "LLLLL": return t.month(a, { width: "narrow", context: "standalone" }); // January, February, ..., December case "LLLL": default: return t.month(a, { width: "wide", context: "standalone" }); } }, // Local week of year w: function(e, n, t, a) { const r = sp(e, a); return n === "wo" ? t.ordinalNumber(r, { unit: "week" }) : V(r, n.length); }, // ISO week of year I: function(e, n, t) { const a = op(e); return n === "Io" ? t.ordinalNumber(a, { unit: "week" }) : V(a, n.length); }, // Day of the month d: function(e, n, t) { return n === "do" ? t.ordinalNumber(e.getDate(), { unit: "date" }) : tt.d(e, n); }, // Day of year D: function(e, n, t) { const a = rp(e); return n === "Do" ? t.ordinalNumber(a, { unit: "dayOfYear" }) : V(a, n.length); }, // Day of week E: function(e, n, t) { const a = e.getDay(); switch (n) { // Tue case "E": case "EE": case "EEE": return t.day(a, { width: "abbreviated", context: "formatting" }); // T case "EEEEE": return t.day(a, { width: "narrow", context: "formatting" }); // Tu case "EEEEEE": return t.day(a, { width: "short", context: "formatting" }); // Tuesday case "EEEE": default: return t.day(a, { width: "wide", context: "formatting" }); } }, // Local day of week e: function(e, n, t, a) { const r = e.getDay(), o = (r - a.weekStartsOn + 8) % 7 || 7; switch (n) { // Numerical value (Nth day of week with current locale or weekStartsOn) case "e": return String(o); // Padded numerical value case "ee": return V(o, 2); // 1st, 2nd, ..., 7th case "eo": return t.ordinalNumber(o, { unit: "day" }); case "eee": return t.day(r, { width: "abbreviated", context: "formatting" }); // T case "eeeee": return t.day(r, { width: "narrow", context: "formatting" }); // Tu case "eeeeee": return t.day(r, { width: "short", context: "formatting" }); // Tuesday case "eeee": default: return t.day(r, { width: "wide", context: "formatting" }); } }, // Stand-alone local day of week c: function(e, n, t, a) { const r = e.getDay(), o = (r - a.weekStartsOn + 8) % 7 || 7; switch (n) { // Numerical value (same as in `e`) case "c": return String(o); // Padded numerical value case "cc": return V(o, n.length); // 1st, 2nd, ..., 7th case "co": return t.ordinalNumber(o, { unit: "day" }); case "ccc": return t.day(r, { width: "abbreviated", context: "standalone" }); // T case "ccccc": return t.day(r, { width: "narrow", context: "standalone" }); // Tu case "cccccc": return t.day(r, { width: "short", context: "standalone" }); // Tuesday case "cccc": default: return t.day(r, { width: "wide", context: "standalone" }); } }, // ISO day of week i: function(e, n, t) { const a = e.getDay(), r = a === 0 ? 7 : a; switch (n) { // 2 case "i": return String(r); // 02 case "ii": return V(r, n.length); // 2nd case "io": return t.ordinalNumber(r, { unit: "day" }); // Tue case "iii": return t.day(a, { width: "abbreviated", context: "formatting" }); // T case "iiiii": return t.day(a, { width: "narrow", context: "formatting" }); // Tu case "iiiiii": return t.day(a, { width: "short", context: "formatting" }); // Tuesday case "iiii": default: return t.day(a, { width: "wide", context: "formatting" }); } }, // AM or PM a: function(e, n, t) { const r = e.getHours() / 12 >= 1 ? "pm" : "am"; switch (n) { case "a": case "aa": return t.dayPeriod(r, { width: "abbreviated", context: "formatting" }); case "aaa": return t.dayPeriod(r, { width: "abbreviated", context: "formatting" }).toLowerCase(); case "aaaaa": return t.dayPeriod(r, { width: "narrow", context: "formatting" }); case "aaaa": default: return t.dayPeriod(r, { width: "wide", context: "formatting" }); } }, // AM, PM, midnight, noon b: function(e, n, t) { const a = e.getHours(); let r; switch (a === 12 ? r = Ot.noon : a === 0 ? r = Ot.midnight : r = a / 12 >= 1 ? "pm" : "am", n) { case "b": case "bb": return t.dayPeriod(r, { width: "abbreviated", context: "formatting" }); case "bbb": return t.dayPeriod(r, { width: "abbreviated", context: "formatting" }).toLowerCase(); case "bbbbb": return t.dayPeriod(r, { width: "narrow", context: "formatting" }); case "bbbb": default: return t.dayPeriod(r, { width: "wide", context: "formatting" }); } }, // in the morning, in the afternoon, in the evening, at night B: function(e, n, t) { const a = e.getHours(); let r; switch (a >= 17 ? r = Ot.evening : a >= 12 ? r = Ot.afternoon : a >= 4 ? r = Ot.morning : r = Ot.night, n) { case "B": case "BB": case "BBB": return t.dayPeriod(r, { width: "abbreviated", context: "formatting" }); case "BBBBB": return t.dayPeriod(r, { width: "narrow", context: "formatting" }); case "BBBB": default: return t.dayPeriod(r, { width: "wide", context: "formatting" }); } }, // Hour [1-12] h: function(e, n, t) { if (n === "ho") { let a = e.getHours() % 12; return a === 0 && (a = 12), t.ordinalNumber(a, { unit: "hour" }); } return tt.h(e, n); }, // Hour [0-23] H: function(e, n, t) { return n === "Ho" ? t.ordinalNumber(e.getHours(), { unit: "hour" }) : tt.H(e, n); }, // Hour [0-11] K: function(e, n, t) { const a = e.getHours() % 12; return n === "Ko" ? t.ordinalNumber(a, { unit: "hour" }) : V(a, n.length); }, // Hour [1-24] k: function(e, n, t) { let a = e.getHours(); return a === 0 && (a = 24), n === "ko" ? t.ordinalNumber(a, { unit: "hour" }) : V(a, n.length); }, // Minute m: function(e, n, t) { return n === "mo" ? t.ordinalNumber(e.getMinutes(), { unit: "minute" }) : tt.m(e, n); }, // Second s: function(e, n, t) { return n === "so" ? t.ordinalNumber(e.getSeconds(), { unit: "second" }) : tt.s(e, n); }, // Fraction of second S: function(e, n) { return tt.S(e, n); }, // Timezone (ISO-8601. If offset is 0, output is always `'Z'`) X: function(e, n, t) { const a = e.getTimezoneOffset(); if (a === 0) return "Z"; switch (n) { // Hours and optional minutes case "X": return Hr(a); // Hours, minutes and optional seconds without `:` delimiter // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets // so this token always has the same output as `XX` case "XXXX": case "XX": return ht(a); // Hours, minutes and optional seconds with `:` delimiter // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets // so this token always has the same output as `XXX` case "XXXXX": case "XXX": // Hours and minutes with `:` delimiter default: return ht(a, ":"); } }, // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent) x: function(e, n, t) { const a = e.getTimezoneOffset(); switch (n) { // Hours and optional minutes case "x": return Hr(a); // Hours, minutes and optional seconds without `:` delimiter // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets // so this token always has the same output as `xx` case "xxxx": case "xx": return ht(a); // Hours, minutes and optional seconds with `:` delimiter // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets // so this token always has the same output as `xxx` case "xxxxx": case "xxx": // Hours and minutes with `:` delimiter default: return ht(a, ":"); } }, // Timezone (GMT) O: function(e, n, t) { const a = e.getTimezoneOffset(); switch (n) { // Short case "O": case "OO": case "OOO": return "GMT" + Ir(a, ":"); // Long case "OOOO": default: return "GMT" + ht(a, ":"); } }, // Timezone (specific non-location) z: function(e, n, t) { const a = e.getTimezoneOffset(); switch (n) { // Short case "z": case "zz": case "zzz": return "GMT" + Ir(a, ":"); // Long case "zzzz": default: return "GMT" + ht(a, ":"); } }, // Seconds timestamp t: function(e, n, t) { const a = Math.trunc(+e / 1e3); return V(a, n.length); }, // Milliseconds timestamp T: function(e, n, t) { return V(+e, n.length); } }; function Ir(e, n = "") { const t = e > 0 ? "-" : "+", a = Math.abs(e), r = Math.trunc(a / 60), o = a % 60; return o === 0 ? t + String(r) : t + String(r) + n + V(o, 2); } function Hr(e, n) { return e % 60 === 0 ? (e > 0 ? "-" : "+") + V(Math.abs(e) / 60, 2) : ht(e, n); } function ht(e, n = "") { const t = e > 0 ? "-" : "+", a = Math.abs(e), r = V(Math.trunc(a / 60), 2), o = V(a % 60, 2); return t + r + n + o; } const Fr = (e, n) => { switch (e) { case "P": return n.date({ width: "short" }); case "PP": return n.date({ width: "medium" }); case "PPP": return n.date({ width: "long" }); case "PPPP": default: return n.date({ width: "full" }); } }, ko = (e, n) => { switch (e) { case "p": return n.time({ width: "short" }); case "pp": return n.time({ width: "medium" }); case "ppp": return n.time({ width: "long" }); case "pppp": default: return n.time({ width: "full" }); } }, lp = (e, n) => { const t = e.match(/(P+)(p+)?/) || [], a = t[1], r = t[2]; if (!r) return Fr(e, n); let o; switch (a) { case "P": o = n.dateTime({ width: "short" }); break; case "PP": o = n.dateTime({ width: "medium" }); break; case "PPP": o = n.dateTime({ width: "long" }); break; case "PPPP": default: o = n.dateTime({ width: "full" }); break; } return o.replace("{{date}}", Fr(a, n)).replace("{{time}}", ko(r, n)); }, cp = { p: ko, P: lp }, up = /^D+$/, dp = /^Y+$/, gp = ["D", "DD", "YY", "YYYY"]; function mp(e) { return up.test(e); } function fp(e) { return dp.test(e); } function pp(e, n, t) { const a = hp(e, n, t); if (console.warn(a), gp.includes(e)) throw new RangeError(a); } function hp(e, n, t) { const a = e[0] === "Y" ? "years" : "days of the month"; return `Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${n}\`) for formatting ${a} to the input \`${t}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`; } const vp = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, bp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, wp = /^'([^]*?)'?$/, Ap = /''/g, xp = /[a-zA-Z]/; function yp(e, n, t) { var m, p, b, d, h, w, y, P; const a = Un(), r = (t == null ? void 0 : t.locale) ?? a.locale ?? qd, o = (t == null ? void 0 : t.firstWeekContainsDate) ?? ((p = (m = t == null ? void 0 : t.locale) == null ? void 0 : m.options) == null ? void 0 : p.firstWeekContainsDate) ?? a.firstWeekContainsDate ?? ((d = (b = a.locale) == null ? void 0 : b.options) == null ? void 0 : d.firstWeekContainsDate) ?? 1, s = (t == null ? void 0 : t.weekStartsOn) ?? ((w = (h = t == null ? void 0 : t.locale) == null ? void 0 : h.options) == null ? void 0 : w.weekStartsOn) ?? a.weekStartsOn ?? ((P = (y = a.locale) == null ? void 0 : y.options) == null ? void 0 : P.weekStartsOn) ?? 0, c = We(e, t == null ? void 0 : t.in); if (!zo(c)) throw new RangeError("Invalid time value"); let l = n.match(bp).map((C) => { const E = C[0]; if (E === "p" || E === "P") { const _ = cp[E]; return _(C, r.formatLong); } return C; }).join("").match(vp).map((C) => { if (C === "''") return { isToken: !1, value: "'" }; const E = C[0]; if (E === "'") return { isToken: !1, value: Pp(C) }; if (_r[E]) return { isToken: !0, value: C }; if (E.match(xp)) throw new RangeError( "Format string contains an unescaped latin alphabet character `" + E + "`" ); return { isToken: !1, value: C }; }); r.localize.preprocessor && (l = r.localize.preprocessor(c, l)); const g = { firstWeekContainsDate: o, weekStartsOn: s, locale: r }; return l.map((C) => { if (!C.isToken) return C.value; const E = C.value; (!(t != null && t.useAdditionalWeekYearTokens) && fp(E) || !(t != null && t.useAdditionalDayOfYearTokens) && mp(E)) && pp(E, n, String(e)); const _ = _r[E[0]]; return _(c, E, r.localize, g); }).join(""); } function Pp(e) { const n = e.match(wp); return n ? n[1].replace(Ap, "'") : e; } const Cp = "N/A", Jh = ({ invalidDateDisplayLabel: e = Cp } = {}) => { const n = $f(); return _t( ({ date: a, format: r = "PP" }) => { const o = typeof a == "string" ? new Date(a) : a; if (!o || !zo(o)) return e; try { return yp(o, r, { locale: n }); } catch { return e; } }, [n, e] ); }, jp = "N/A"; var Sp = /* @__PURE__ */ ((e) => (e.compact = "compact", e.display = "display", e.fullDisplay = "fullDisplay", e))(Sp || {}); const Zh = ({ dateString: e, defaultLocale: n = "FR-fr", unknownDateLabel: t = jp, format: a = "display" /* display */ }) => { var c; const { i18n: r } = Q(), o = new Date(e), s = ((c = r == null ? void 0 : r.language) == null ? void 0 : c.replace("_", "-")) || n; return o.toString() === "Invalid Date" ? t : a === "compact" ? o.toLocaleDateString(s) : o.toLocaleString(s, { day: "numeric", month: a === "fullDisplay" ? "long" : "short", year: "numeric" }); }, Ep = { 1e3: ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"], 1024: ["B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"] }; function Uh() { const { t: e } = Q(Xa.BYTES); return { formatBytes: (t, a = 0, r = 1e3) => { if (!+t) return 0; const o = Math.floor(Math.log(t) / Math.log(r)); return `${parseFloat((t / r ** o).toFixed(a))} ${e( `unit_size_${Ep[r][o]}` )}`; } }; } const Mp = async (e) => { const { data: n } = await Yn.get( `/cloud/project/${e}/aggregated/network` ); return n; }, Rp = (e) => [ "aggregated-network", e ], Dp = (e, n) => Oe({ queryKey: Rp(e), queryFn: () => Mp(e), enabled: (n == null ? void 0 : n.length) > 0, select: (t) => { var o; const a = {}, r = (n == null ? void 0 : n.filter(({ type: s }) => s.includes("localzone"))) || []; return (o = t.resources) == null || o.forEach((s) => { if (s.visibility === "private" && !(r != null && r.some((c) => c.name === s.region))) if (a[s.vlanId]) { const { id: c, region: l } = s; a[s.vlanId].subnets.push({ region: l, networkId: c }); } else { const { id: c, region: l, ...g } = s; a[s.vlanId] = { ...g, region: l, subnets: [{ region: l, networkId: c }] }; } }), Object.values(a); } }), zp = (e, n) => { const t = Dp( e, n ), { data: a } = t; return { ...t, data: Pe( () => Array.from( new Set( a == null ? void 0 : a.reduce( (r, o) => r.concat(o.subnets.map(({ region: s }) => s)), [] ) ) ), [a] ) }; }, Op = async () => { const { data: e } = await Yn.get("/cloud/migrationStein"); return e; }, kp = ["migrationSteins"], Tp = () => Oe({ queryKey: kp, queryFn: () => Op(), select: (e) => [...e].sort( (n, t) => new Date(n.date).getTime() - new Date(t.date).getTime() ) }), Np = (e) => [ "project", e, "regions" ], _p = async (e) => { const { data: n } = await Vn({ route: `/cloud/project/${e}/region` }); return n; }, Ip = (e) => Oe({ queryKey: Np(e), queryFn: () => _p(e) }); function qh(e) { var s; const { data: n } = Ip(e), { data: t } = Tp(), { data: a } = zp( e, n ), r = (t == null ? void 0 : t.map(({ zone: c }) => c)) || []; return { hasMaintenance: (a || []).some((c) => r.includes(c)), maintenanceURL: (s = t == null ? void 0 : t[0]) == null ? void 0 : s.travaux }; } const Hp = { de_DE: () => import("./Messages_de_DE-Bt_cVShN.mjs"), en_GB: () => import("./Messages_en_GB-B2oCrHwe.mjs"), es_ES: () => import("./Messages_es_ES-Skw8Jjh2.mjs"), fr_CA: () => import("./Messages_fr_CA-B11Uwz2F.mjs"), fr_FR: () => import("./Messages_fr_FR-B11Uwz2F.mjs"), it_IT: () => import("./Messages_it_IT-D09dWLnE.mjs"), pl_PL: () => import("./Messages_pl_PL-m64yZynC.mjs"), pt_PT: () => import("./Messages_pt_PT-CHV3rXKw.mjs") }; he(Hp, "region"); const Kh = (e) => { var t, a; return /^lz/i.test( (a = (t = e.split("-")) == null ? void 0 : t.slice(2)) == null ? void 0 : a.join("-") ); }, wa = (e) => { const n = e.split("-"); return [ null, n[0].split(/(\d)/)[0], n[0], n[2], n[2] === "LZ" ? n[3] : n[2], n[3] ][n.length] || "Unknown_Macro_Region"; }, $h = () => { const { i18n: e, t: n } = Q("region"); return { translateMicroRegion: (t) => { const a = wa(t); return e.exists(`region:manager_components_region_${a}_micro`) ? n(`manager_components_region_${a}_micro`, { micro: t }) : ""; }, translateMacroRegion: (t) => { const a = wa(t); return e.exists(`region:manager_components_region_${a}`) ? n(`manager_components_region_${a}`) : ""; }, translateContinentRegion: (t) => { const a = wa(t); return e.exists(`region:manager_components_region_continent_${a}`) ? n(`manager_components_region_continent_${a}`) : ""; } }; }; export { Fu as API_V2_MAX_PAGE_SIZE, ku as API_V6_MAX_PAGE_SIZE, Fi as ASIA_FORMAT, ih as ActionBanner, vh as ActionMenu, Fh as Badge, xh as BaseLayout, lh as Breadcrumb, Es as CHANGELOG_PREFIXES, gh as Card, wh as ChangelogButton, ch as Clipboard, eo as CurrencyCode, Cp as DEFAULT_UNKNOWN_DATE_LABEL, Ah as DashboardGridLayout, ph as DashboardTile, zh as DataGridClipboardCell, Gl as DataGridTextCell, Mh as Datagrid, nv as DatagridColumnTypes, Sp as DateFormat, Hs as DeleteModal, Sh as DeleteServiceModal, ks as ErrorBanner, yh as ErrorBoundary, Bi as FRENCH_FORMAT, Yl as FilterAdd, Jl as FilterList, Gi as GERMAN_FORMAT, bh as GuideButton, tc as GuidesHeader, Li as HOUR_IN_MONTH, ds as Headers, us as IconLinkAlignmentType, Tt as IntervalUnitType, it as LinkType, un as Links, to as ManagerButton, Th as ManagerLink, Nh as ManagerText, Ia as ManagerTile, Bh as Modal, Dc as NOTIFICATION_MINIMAL_DISPLAY_TIME, tn as NotificationType, kh as Notifications, fr as OVH_CURRENCY_BY_SUBSIDIARY, Ph as OnboardingLayout, vo as Order, gs as OvhSubsidiary, Rs as PageLayout, Oh as PciGuidesHeader, Ih as PciMaintenanceBanner, fh as Price, sh as RedirectionGuard, Hh as Region, Tc as STATES, _h as ServiceStateBadge, uh as StepComponent, $r as Subtitle, ca as TRACKING_LABELS, os as TabsComponent, Yc as TagsList, Gh as TagsModal, fs as TileBlock, dh as TilesInputComponent, mh as Title, Eh as UpdateIamNameModal, Zs as UpdateNameModal, Kp as convertHourlyPriceToMonthly, Qh as dataType, Is as defaultDeleteModalTerminateValue, Vs as defaultServiceResponse, jp as defaultUnknownDateLabel, Gs as deleteService, Ls as deleteServiceMutationKey, Yi as featureAvailabilityError, Cs as fetchAuthorizationCheck, ys as fetchAuthorizationsCheck, Qi as fetchFeatureAvailabilityData, Ps as getAuthorizationCheckUrl, Gu as getDefaultQueryKey, oh as getFeatureAvailabilityMocks, Xi as getFeatureAvailabilityQueryKey, wa as getMacroRegion, Na as getProjectRegions, Ba as getResourceServiceId, Fa as getResourceServiceIdQueryKey, Yh as getResourcesIcebergV2, Lh as getResourcesIcebergV6, Fs as getServiceDetails, Ys as getServiceDetailsQueryKey, jh as getServicesMocks, Qn as handleClick, Kh as isLocalZone, Wi as priceFromUcent, qp as priceToUcent, _n as servicesMockErrors, Bs as updateServiceName, Qs as updateServiceNameMutationKey, Ha as useAuthorizationIam, hh as useAuthorizationsIam, Ii as useBreadcrumb, Uh as useBytes, $p as useCatalogPrice, Qa as useColumnFilters, Rh as useDataGrid, Dh as useDatagridSearchParams, $f as useDateFnsLocale, Ws as useDeleteService, rh as useFeatureAvailability, Jh as useFormatDate, Zh as useFormattedDate, js as useGetResourceTags, Hi as useMe, fo as useNotifications, ho as useOrderContext, qh as useProductMaintenance, th as useProjectLocalRegions, nh as useProjectNonLocalRegions, Up as useProjectQuota, eh as useProjectRegions, ah as useProjectUrl, Bu as useResourcesIcebergV2, Wh as useResourcesIcebergV6, Xh as useResourcesV6, Ch as useServiceDetails, Vh as useTask, $h as useTranslatedMicroRegions, Xs as useUpdateServiceDisplayName };