import { useQuery as Te, keepPreviousData as Lr, useQueryClient as Ia, useMutation as Wr, useInfiniteQuery as Qr } from "@tanstack/react-query"; import { v6 as Jn, fetchIcebergV6 as Zn, apiClient as mt, FilterComparator as lt, FilterTypeCategories as ge, FilterCategories as hs, applyFilters as vs, fetchIcebergV2 as Xr } from "@ovh-ux/manager-core-api"; import { FilterTypeCategories as ub } from "@ovh-ux/manager-core-api"; import * as Ca from "react"; import Ae, { useContext as mn, useState as F, useEffect as $, Suspense as bs, useCallback as jt, useMemo as ye, useId as Yr, useRef as Ft, Fragment as ws, createContext as xs } from "react"; import { useLocation as Vr, useParams as As, Navigate as ys, useRouteError as js, useSearchParams as Ps } from "react-router-dom"; import { ShellContext as fn, useOvhTracking as Cs, PageType as Ss, useRouteSynchro as _s, useEnvironment as Es, useTracking as Rs } from "@ovh-ux/manager-react-shell-client"; import { useTranslation as G, Trans as Ms } from "react-i18next"; import { OdsMessage as Lt, OdsText as Y, OdsButton as B, OdsLink as tt, OdsSpinner as Un, OdsBreadcrumb as ks, OdsBreadcrumbItem as Ds, OdsClipboard as Jr, OdsIcon as ln, OdsCard as dn, OdsBadge as Gt, OdsTooltip as qn, OdsDivider as Sa, OdsPopover as Wt, OdsModal as Kn, OdsFormField as yt, OdsInput as un, OdsSkeleton as Wn, OdsCombobox as rr, OdsComboboxItem as or, OdsSelect as ma, OdsDatepicker as zs, OdsTag as Os, OdsCheckbox as _a, OdsTable as Ts, OdsPagination as Ns, OdsDrawer as Is } from "@ovhcloud/ods-components/react"; import { ODS_SPINNER_SIZE as $n, ODS_ICON_NAME as ue, ODS_BUTTON_SIZE as je, ODS_BUTTON_VARIANT as ae, ODS_LINK_ICON_ALIGNMENT as sr, ODS_LINK_COLOR as Hs, ODS_TEXT_PRESET as me, ODS_CARD_COLOR as Zr, ODS_POPOVER_POSITION as Ur, ODS_MESSAGE_COLOR as et, ODS_BUTTON_ICON_ALIGNMENT as qr, ODS_MODAL_COLOR as Qn, ODS_BUTTON_COLOR as Xe, ODS_INPUT_TYPE as Xn, ODS_TAG_COLOR as Bs, ODS_TABLE_SIZE as Fs, ODS_TABLE_VARIANT as Gs } from "@ovhcloud/ods-components"; import "react-dom"; import U from "i18next"; import { create as Ls } from "zustand"; const Ws = async (e) => { const { data: t } = await Jn.get( `/cloud/project/${e}/quota` ); return t; }, av = (e) => Te({ queryKey: ["project", e, "quota"], queryFn: () => Ws(e) }), Qs = ({ rootLabel: e, appName: t, hideRootLabel: n = !1 }) => { const { shell: a } = mn(fn), [r, o] = F([]), [i, l] = F([]), c = Vr(); return $(() => { (async () => { try { const m = await (a == null ? void 0 : a.navigation.getURL(t, "#/", {})), h = { label: e, href: String(m), hideLabel: n }; o([h]); } catch { } })(); }, [e, t, a == null ? void 0 : a.navigation]), $(() => { const g = c == null ? void 0 : c.pathname.split("/").filter((h) => h), m = g == null ? void 0 : g.map((h, b) => { const u = g.slice(0, b + 1); return { label: h, href: `#/${u.join("/")}`, hideLabel: !1 }; }); l(m); }, [c.pathname]), [...r, ...i]; }, Xs = () => { const e = mn(fn), [t, n] = F(null); return $(() => { var a; n((a = e == null ? void 0 : e.environment) == null ? void 0 : a.getUser()); }, [e == null ? void 0 : e.environment]), { me: t }; }, Ys = ["SG", "ASIA", "AU", "IN"], Vs = [ "CZ", "ES", "FR", "GB", "IE", "IT", "LT", "MA", "NL", "PL", "PT", "TN" ], Js = ["DE", "FI", "SN"], Zs = 730, rv = (e) => e * 1e8, Us = (e) => e / 1e8, ov = (e) => e * Zs, sv = (e, t) => { const { i18n: n, t: a } = G("order-price"), { me: r } = Xs(), o = Vs.includes(r == null ? void 0 : r.ovhSubsidiary), i = Ys.includes(r == null ? void 0 : r.ovhSubsidiary), l = Js.includes(r == null ? void 0 : r.ovhSubsidiary), c = (t == null ? void 0 : t.exclVat) || i || o || l, g = (u) => { var j, P; const p = Us(u), w = { style: "currency", currency: (j = r == null ? void 0 : r.currency) == null ? void 0 : j.code, ...e !== void 0 ? { maximumFractionDigits: e } : {} }; return r ? new Intl.NumberFormat( (P = n.language) == null ? void 0 : P.replace("_", "-"), w ).format(p) : ""; }, m = (u) => c && !(t != null && t.hideTaxLabel) && !l ? a("order_catalog_price_tax_excl_label", { price: g(u) }) : g(u); return { getTextPrice: g, getFormattedCatalogPrice: m, getFormattedHourlyCatalogPrice: (u) => `${m(u)} / ${a( "order_catalog_price_interval_hour" )}`, getFormattedMonthlyCatalogPrice: (u) => `${m(u)} / ${a( "order_catalog_price_interval_month" )}` }; }, Ha = async (e) => { const { data: t } = await Zn({ route: `/cloud/project/${e}/region` }); return t; }, iv = (e) => Te({ queryKey: ["project", e, "regions"], queryFn: () => Ha(e) }), cv = (e) => Te({ queryKey: ["project", e, "regions", "local"], queryFn: () => Ha(e), select: (t) => t.filter(({ type: n = [] }) => n === "localzone") }), lv = (e) => Te({ queryKey: ["project", e, "regions", "non-local"], queryFn: () => Ha(e), select: (t) => t.filter(({ type: n = [] }) => n !== "localzone") }), dv = (e) => { const { projectId: t } = As(), { navigation: n } = mn(fn).shell, [a, r] = F("public-cloud"); return $(() => { n.getURL(e, `#/pci/projects/${t}`, {}).then((o) => { r(o); }); }, [t, n, e]), a; }, qs = async (e) => { const t = await mt.aapi.get( `/feature/${e.join(",")}/availability` ), n = {}; return e.forEach((a) => { n[a] = a in t.data ? t.data[a] : !1; }), n; }, Ks = (e) => [`feature-availability-${e.join("-")}`], uv = (e, t = {}) => Te({ ...t, queryKey: Ks(e), queryFn: () => qs(e) }), $s = "Feature availability service error", gv = ({ isFeatureAvailabilityServiceKo: e, featureAvailabilityResponse: t }) => [ { url: `/feature/${Object.keys(t).join( "," )}/availability`, response: () => e ? { message: $s } : t, status: e ? 500 : 200, method: "get", api: "aapi" } ]; var it = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function Kr(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } var In = { exports: {} }, tn = {}; /** * @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 ir; function ei() { if (ir) return tn; ir = 1; var e = Ae, t = Symbol.for("react.element"), n = 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 i(l, c, g) { var m, h = {}, b = null, u = null; g !== void 0 && (b = "" + g), c.key !== void 0 && (b = "" + c.key), c.ref !== void 0 && (u = c.ref); for (m in c) a.call(c, m) && !o.hasOwnProperty(m) && (h[m] = c[m]); if (l && l.defaultProps) for (m in c = l.defaultProps, c) h[m] === void 0 && (h[m] = c[m]); return { $$typeof: t, type: l, key: b, ref: u, props: h, _owner: r.current }; } return tn.Fragment = n, tn.jsx = i, tn.jsxs = i, tn; } var nn = {}; /** * @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 cr; function ti() { return cr || (cr = 1, process.env.NODE_ENV !== "production" && function() { var e = Ae, t = Symbol.for("react.element"), n = Symbol.for("react.portal"), a = Symbol.for("react.fragment"), r = Symbol.for("react.strict_mode"), o = Symbol.for("react.profiler"), i = Symbol.for("react.provider"), l = Symbol.for("react.context"), c = Symbol.for("react.forward_ref"), g = Symbol.for("react.suspense"), m = Symbol.for("react.suspense_list"), h = Symbol.for("react.memo"), b = Symbol.for("react.lazy"), u = Symbol.for("react.offscreen"), p = Symbol.iterator, w = "@@iterator"; function j(f) { if (f === null || typeof f != "object") return null; var y = p && f[p] || f[w]; return typeof y == "function" ? y : null; } var P = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; function C(f) { { for (var y = arguments.length, _ = new Array(y > 1 ? y - 1 : 0), D = 1; D < y; D++) _[D - 1] = arguments[D]; S("error", f, _); } } function S(f, y, _) { { var D = P.ReactDebugCurrentFrame, X = D.getStackAddendum(); X !== "" && (y += "%s", _ = _.concat([X])); var J = _.map(function(T) { return String(T); }); J.unshift("Warning: " + y), Function.prototype.apply.call(console[f], console, J); } } var I = !1, V = !1, R = !1, M = !1, ee = !1, Ne; Ne = Symbol.for("react.module.reference"); function Be(f) { return !!(typeof f == "string" || typeof f == "function" || f === a || f === o || ee || f === r || f === g || f === m || M || f === u || I || V || R || typeof f == "object" && f !== null && (f.$$typeof === b || f.$$typeof === h || f.$$typeof === i || f.$$typeof === l || f.$$typeof === c || // 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 === Ne || f.getModuleId !== void 0)); } function Re(f, y, _) { var D = f.displayName; if (D) return D; var X = y.displayName || y.name || ""; return X !== "" ? _ + "(" + X + ")" : _; } function L(f) { return f.displayName || "Context"; } function Me(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 n: 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 l: var y = f; return L(y) + ".Consumer"; case i: var _ = f; return L(_._context) + ".Provider"; case c: return Re(f, f.render, "ForwardRef"); case h: var D = f.displayName || null; return D !== null ? D : Me(f.type) || "Memo"; case b: { var X = f, J = X._payload, T = X._init; try { return Me(T(J)); } catch { return null; } } } return null; } var Ce = Object.assign, Fe = 0, ne, Ge, Se, Je, ft, ie, St; function _t() { } _t.__reactDisabledLog = !0; function Qt() { { if (Fe === 0) { ne = console.log, Ge = console.info, Se = console.warn, Je = console.error, ft = console.group, ie = console.groupCollapsed, St = console.groupEnd; var f = { configurable: !0, enumerable: !0, value: _t, writable: !0 }; Object.defineProperties(console, { info: f, log: f, warn: f, error: f, group: f, groupCollapsed: f, groupEnd: f }); } Fe++; } } function x() { { if (Fe--, Fe === 0) { var f = { configurable: !0, enumerable: !0, writable: !0 }; Object.defineProperties(console, { log: Ce({}, f, { value: ne }), info: Ce({}, f, { value: Ge }), warn: Ce({}, f, { value: Se }), error: Ce({}, f, { value: Je }), group: Ce({}, f, { value: ft }), groupCollapsed: Ce({}, f, { value: ie }), groupEnd: Ce({}, f, { value: St }) }); } Fe < 0 && C("disabledDepth fell below zero. This is a bug in React. Please file an issue."); } } var k = P.ReactCurrentDispatcher, re; function K(f, y, _) { { if (re === void 0) try { throw Error(); } catch (X) { var D = X.stack.trim().match(/\n( *(at )?)/); re = D && D[1] || ""; } return ` ` + re + f; } } var ke = !1, pt; { var hn = typeof WeakMap == "function" ? WeakMap : Map; pt = new hn(); } function Et(f, y) { if (!f || ke) return ""; { var _ = pt.get(f); if (_ !== void 0) return _; } var D; ke = !0; var X = Error.prepareStackTrace; Error.prepareStackTrace = void 0; var J; J = k.current, k.current = null, Qt(); try { if (y) { 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 (Le) { D = Le; } Reflect.construct(f, [], T); } else { try { T.call(); } catch (Le) { D = Le; } f.call(T.prototype); } } else { try { throw Error(); } catch (Le) { D = Le; } f(); } } catch (Le) { if (Le && D && typeof Le.stack == "string") { for (var H = Le.stack.split(` `), he = D.stack.split(` `), oe = H.length - 1, ce = he.length - 1; oe >= 1 && ce >= 0 && H[oe] !== he[ce]; ) ce--; for (; oe >= 1 && ce >= 0; oe--, ce--) if (H[oe] !== he[ce]) { if (oe !== 1 || ce !== 1) do if (oe--, ce--, ce < 0 || H[oe] !== he[ce]) { var _e = ` ` + H[oe].replace(" at new ", " at "); return f.displayName && _e.includes("") && (_e = _e.replace("", f.displayName)), typeof f == "function" && pt.set(f, _e), _e; } while (oe >= 1 && ce >= 0); break; } } } finally { ke = !1, k.current = J, x(), Error.prepareStackTrace = X; } var Ee = f ? f.displayName || f.name : "", Mn = Ee ? K(Ee) : ""; return typeof f == "function" && pt.set(f, Mn), Mn; } function vn(f, y, _) { return Et(f, !1); } function bn(f) { var y = f.prototype; return !!(y && y.isReactComponent); } function Rt(f, y, _) { if (f == null) return ""; if (typeof f == "function") return Et(f, bn(f)); if (typeof f == "string") return K(f); switch (f) { case g: return K("Suspense"); case m: return K("SuspenseList"); } if (typeof f == "object") switch (f.$$typeof) { case c: return vn(f.render); case h: return Rt(f.type, y, _); case b: { var D = f, X = D._payload, J = D._init; try { return Rt(J(X), y, _); } catch { } } } return ""; } var Mt = Object.prototype.hasOwnProperty, wn = {}, xn = P.ReactDebugCurrentFrame; function kt(f) { if (f) { var y = f._owner, _ = Rt(f.type, f._source, y ? y.type : null); xn.setExtraStackFrame(_); } else xn.setExtraStackFrame(null); } function aa(f, y, _, D, X) { { var J = Function.call.bind(Mt); for (var T in f) if (J(f, T)) { var H = void 0; try { if (typeof f[T] != "function") { var he = Error((D || "React class") + ": " + _ + " 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 he.name = "Invariant Violation", he; } H = f[T](y, T, D, _, null, "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"); } catch (oe) { H = oe; } H && !(H instanceof Error) && (kt(X), 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).", D || "React class", _, T, typeof H), kt(null)), H instanceof Error && !(H.message in wn) && (wn[H.message] = !0, kt(X), C("Failed %s type: %s", _, H.message), kt(null)); } } } var ra = Array.isArray; function Xt(f) { return ra(f); } function oa(f) { { var y = typeof Symbol == "function" && Symbol.toStringTag, _ = y && f[Symbol.toStringTag] || f.constructor.name || "Object"; return _; } } function sa(f) { try { return An(f), !1; } catch { return !0; } } function An(f) { return "" + f; } function yn(f) { if (sa(f)) return C("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.", oa(f)), An(f); } var ht = P.ReactCurrentOwner, Yt = { key: !0, ref: !0, __self: !0, __source: !0 }, Vt, De; function jn(f) { if (Mt.call(f, "ref")) { var y = Object.getOwnPropertyDescriptor(f, "ref").get; if (y && y.isReactWarning) return !1; } return f.ref !== void 0; } function Pn(f) { if (Mt.call(f, "key")) { var y = Object.getOwnPropertyDescriptor(f, "key").get; if (y && y.isReactWarning) return !1; } return f.key !== void 0; } function ia(f, y) { typeof f.ref == "string" && ht.current; } function Cn(f, y) { { var _ = function() { Vt || (Vt = !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)", y)); }; _.isReactWarning = !0, Object.defineProperty(f, "key", { get: _, configurable: !0 }); } } function Dt(f, y) { { var _ = function() { De || (De = !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)", y)); }; _.isReactWarning = !0, Object.defineProperty(f, "ref", { get: _, configurable: !0 }); } } var Sn = function(f, y, _, D, X, J, T) { var H = { // This tag allows us to uniquely identify this as a React Element $$typeof: t, // Built-in properties that belong on the element type: f, key: y, ref: _, props: T, // Record the component responsible for creating this element. _owner: J }; 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: D }), Object.defineProperty(H, "_source", { configurable: !1, enumerable: !1, writable: !1, value: X }), Object.freeze && (Object.freeze(H.props), Object.freeze(H)), H; }; function _n(f, y, _, D, X) { { var J, T = {}, H = null, he = null; _ !== void 0 && (yn(_), H = "" + _), Pn(y) && (yn(y.key), H = "" + y.key), jn(y) && (he = y.ref, ia(y, X)); for (J in y) Mt.call(y, J) && !Yt.hasOwnProperty(J) && (T[J] = y[J]); if (f && f.defaultProps) { var oe = f.defaultProps; for (J in oe) T[J] === void 0 && (T[J] = oe[J]); } if (H || he) { var ce = typeof f == "function" ? f.displayName || f.name || "Unknown" : f; H && Cn(T, ce), he && Dt(T, ce); } return Sn(f, H, he, X, D, ht.current, T); } } var Jt = P.ReactCurrentOwner, Ze = P.ReactDebugCurrentFrame; function Ue(f) { if (f) { var y = f._owner, _ = Rt(f.type, f._source, y ? y.type : null); Ze.setExtraStackFrame(_); } else Ze.setExtraStackFrame(null); } var Zt; Zt = !1; function Ut(f) { return typeof f == "object" && f !== null && f.$$typeof === t; } function zt() { { if (Jt.current) { var f = Me(Jt.current.type); if (f) return ` Check the render method of \`` + f + "`."; } return ""; } } function vt(f) { return ""; } var Ot = {}; function qt(f) { { var y = zt(); if (!y) { var _ = typeof f == "string" ? f : f.displayName || f.name; _ && (y = ` Check the top-level render call using <` + _ + ">."); } return y; } } function Tt(f, y) { { if (!f._store || f._store.validated || f.key != null) return; f._store.validated = !0; var _ = qt(y); if (Ot[_]) return; Ot[_] = !0; var D = ""; f && f._owner && f._owner !== Jt.current && (D = " It was passed a child from " + Me(f._owner.type) + "."), Ue(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.', _, D), Ue(null); } } function nt(f, y) { { if (typeof f != "object") return; if (Xt(f)) for (var _ = 0; _ < f.length; _++) { var D = f[_]; Ut(D) && Tt(D, y); } else if (Ut(f)) f._store && (f._store.validated = !0); else if (f) { var X = j(f); if (typeof X == "function" && X !== f.entries) for (var J = X.call(f), T; !(T = J.next()).done; ) Ut(T.value) && Tt(T.value, y); } } } function ca(f) { { var y = f.type; if (y == null || typeof y == "string") return; var _; if (typeof y == "function") _ = y.propTypes; else if (typeof y == "object" && (y.$$typeof === c || // Note: Memo only checks outer props here. // Inner props are checked in the reconciler. y.$$typeof === h)) _ = y.propTypes; else return; if (_) { var D = Me(y); aa(_, f.props, "prop", D, f); } else if (y.PropTypes !== void 0 && !Zt) { Zt = !0; var X = Me(y); C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?", X || "Unknown"); } typeof y.getDefaultProps == "function" && !y.getDefaultProps.isReactClassApproved && C("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead."); } } function la(f) { { for (var y = Object.keys(f.props), _ = 0; _ < y.length; _++) { var D = y[_]; if (D !== "children" && D !== "key") { Ue(f), C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.", D), Ue(null); break; } } f.ref !== null && (Ue(f), C("Invalid attribute `ref` supplied to `React.Fragment`."), Ue(null)); } } function En(f, y, _, D, X, J) { { var T = Be(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 he = vt(); he ? H += he : H += zt(); var oe; f === null ? oe = "null" : Xt(f) ? oe = "array" : f !== void 0 && f.$$typeof === t ? (oe = "<" + (Me(f.type) || "Unknown") + " />", H = " Did you accidentally export a JSX literal instead of a component?") : oe = 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", oe, H); } var ce = _n(f, y, _, X, J); if (ce == null) return ce; if (T) { var _e = y.children; if (_e !== void 0) if (D) if (Xt(_e)) { for (var Ee = 0; Ee < _e.length; Ee++) nt(_e[Ee], f); Object.freeze && Object.freeze(_e); } 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 nt(_e, f); } return f === a ? la(ce) : ca(ce), ce; } } function da(f, y, _) { return En(f, y, _, !0); } function ua(f, y, _) { return En(f, y, _, !1); } var Rn = ua, Kt = da; nn.Fragment = a, nn.jsx = Rn, nn.jsxs = Kt; }()), nn; } var lr; function ni() { return lr || (lr = 1, process.env.NODE_ENV === "production" ? In.exports = ei() : In.exports = ti()), In.exports; } var s = ni(); function mv({ message: e, cta: t, color: n, onClick: a, href: r, variant: o, isDismissible: i = !1 }) { return /* @__PURE__ */ s.jsx( Lt, { isDismissible: i, color: n, variant: o, className: `mt-3 action-banner action-banner—-${n}`, "data-testid": "actionBanner-message_container", children: /* @__PURE__ */ s.jsxs("div", { className: "w-full", children: [ /* @__PURE__ */ s.jsx(Y, { className: "action-banner__text block", children: /* @__PURE__ */ s.jsx( "span", { dangerouslySetInnerHTML: { __html: e } } ) }), a && /* @__PURE__ */ s.jsx( B, { className: "sm:mt-0 mt-4 ml-0", "data-testid": "actionBanner-button", onClick: a, label: t } ), r && /* @__PURE__ */ s.jsx( tt, { "data-testid": "action-banner-link", id: "action-banner-link", className: "sm:mt-0 mt-4 ml-0", onClick: a, href: r, target: "_blank", label: t } ) ] }) } ); } function fv({ route: e, condition: t, isLoading: n, children: a, isError: r, errorComponent: o }) { return n ? /* @__PURE__ */ s.jsx( Un, { "data-testid": "redirectionGuard_spinner", size: $n.md } ) : r && o ? /* @__PURE__ */ s.jsx(s.Fragment, { children: o }) : t ? /* @__PURE__ */ s.jsx(ys, { to: e }) : /* @__PURE__ */ s.jsx(s.Fragment, { children: a }); } const pv = ({ rootLabel: e, appName: t, hideRootLabel: n = !1 }) => { var r; const a = Qs({ rootLabel: e, appName: t, hideRootLabel: n }); return /* @__PURE__ */ s.jsx(ks, { children: (r = a == null ? void 0 : a.filter((o) => !o.hideLabel)) == null ? void 0 : r.map((o) => /* @__PURE__ */ s.jsx( Ds, { href: o.href, label: o.label }, o.label )) }); }, xt = "fr_FR", $r = (e) => { let t = e.replace("-", "_"); return t.includes("_") || (t === "en" ? t = "en_GB" : t = `${t}_${t.toUpperCase()}`), t; }, ai = (e, t) => async (n) => { const a = $r(n); if (!U.hasResourceBundle(xt, t)) try { console.info(`Loading fallback language: ${xt} for namespace: ${t}`); const r = await e[xt](); U.addResources(xt, t, r.default || r); } catch (r) { console.error(`Failed to load fallback translations (${xt}):`, r); } if (a !== xt && !U.hasResourceBundle(a, t)) try { const r = await e[a](); U.addResources(a, t, r.default || r); } catch (r) { console.warn(`Could not load ${a}. Will fallback to ${xt}.`, r); } return !0; }, pe = (e, t) => { const n = ai( e, t ), a = async (r) => { const o = $r(r); await n(o), console.log("Language changed to:", o); }; U.isInitialized ? a(U.language) : U.on("initialized", () => { a(U.language); }), U.on("languageChanged", a); }, ri = { 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") }; pe(ri, "clipboard"); const hv = (e) => { const { t } = G("clipboard"); return /* @__PURE__ */ s.jsx( Jr, { "data-testid": "clipboard", labelCopySuccess: t("clipboard_copy_success"), labelCopy: t("clipboard_copy"), ...e } ); }; let Hn; const oi = new Uint8Array(16); function si() { if (!Hn && (Hn = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !Hn)) throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported"); return Hn(oi); } const be = []; for (let e = 0; e < 256; ++e) be.push((e + 256).toString(16).slice(1)); function ii(e, t = 0) { return be[e[t + 0]] + be[e[t + 1]] + be[e[t + 2]] + be[e[t + 3]] + "-" + be[e[t + 4]] + be[e[t + 5]] + "-" + be[e[t + 6]] + be[e[t + 7]] + "-" + be[e[t + 8]] + be[e[t + 9]] + "-" + be[e[t + 10]] + be[e[t + 11]] + be[e[t + 12]] + be[e[t + 13]] + be[e[t + 14]] + be[e[t + 15]]; } const ci = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), dr = { randomUUID: ci }; function eo(e, t, n) { if (dr.randomUUID && !e) return dr.randomUUID(); e = e || {}; const a = e.random || (e.rng || si)(); return a[6] = a[6] & 15 | 64, a[8] = a[8] & 63 | 128, ii(a); } function to(e) { var t, n, a = ""; if (typeof e == "string" || typeof e == "number") a += e; else if (typeof e == "object") if (Array.isArray(e)) { var r = e.length; for (t = 0; t < r; t++) e[t] && (n = to(e[t])) && (a && (a += " "), a += n); } else for (n in e) e[n] && (a && (a += " "), a += n); return a; } function Pe() { for (var e, t, n = 0, a = "", r = arguments.length; n < r; n++) (e = arguments[n]) && (t = to(e)) && (a && (a += " "), a += t); return a; } const vv = ({ id: e = eo(), title: t = "", subtitle: n = "", isOpen: a, isChecked: r, isLocked: o, order: i, children: l, next: c, edit: g, skip: m }) => /* @__PURE__ */ s.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__ */ s.jsx("div", { className: "basis-[40px]", children: r ? /* @__PURE__ */ s.jsx( ln, { name: ue.check, className: "block p-[12px] text-[20px] text-[--ods-color-primary-500]" } ) : /* @__PURE__ */ s.jsx( "div", { className: Pe( "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__ */ s.jsx( "span", { className: Pe( "font-semibold text-[16px] leading-[20px]", a ? "text-[--ods-color-text]" : "text-[--ods-color-neutral-500]" ), children: i } ) } ) }), /* @__PURE__ */ s.jsxs("div", { className: "basis-full px-5", children: [ /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col md:flex-row", children: [ /* @__PURE__ */ s.jsxs( "div", { className: Pe( "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: [ t, (m == null ? void 0 : m.hint) && /* @__PURE__ */ s.jsx("div", { className: "ml-2", children: m.hint }) ] } ), (g == null ? void 0 : g.action) && o && /* @__PURE__ */ s.jsx("div", { className: "text-2xl w-full md:w-1/6", "data-testid": "edit", children: /* @__PURE__ */ s.jsx( B, { 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__ */ s.jsxs(s.Fragment, { children: [ n && /* @__PURE__ */ s.jsx("div", { children: n }), /* @__PURE__ */ s.jsx( "div", { "data-testid": "content", className: Pe( "mt-5", o && "cursor-not-allowed pointer-events-none opacity-50" ), children: /* @__PURE__ */ s.jsx(bs, { fallback: /* @__PURE__ */ s.jsx(Un, { size: $n.md }), children: l }) } ), !o && /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-6 mt-6", children: [ (c == null ? void 0 : c.action) && !o && /* @__PURE__ */ s.jsx("div", { "data-testid": "next", children: typeof c.label == "string" ? /* @__PURE__ */ s.jsx( B, { "data-testid": "next-cta", label: c.label, size: je.md, onClick: () => { c.action(e); }, className: "w-fit", isDisabled: c.isDisabled || void 0, isLoading: c.isLoading || !1 } ) : c.label }), (m == null ? void 0 : m.action) && /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx( B, { label: m.label, variant: ae.ghost, size: je.md, onClick: () => { m.action(e); }, className: "w-fit", isDisabled: m.isDisabled || void 0 } ) }) ] }) ] }) ] }) ] }); var li = typeof window < "u", di = function(e, t) { return li ? 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); }, ui = function(e, t) { var n = F(di(e)), a = n[0], r = n[1]; return $(function() { var o = !0, i = window.matchMedia(e), l = function() { o && r(!!i.matches); }; return i.addEventListener("change", l), r(i.matches), function() { o = !1, i.removeEventListener("change", l); }; }, [e]), a; }; const Ea = (e) => { let t = 0; const n = ((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 = (n == null ? void 0 : n.length) || 0; let r = 0; if (a > 0) for (; r < a; ) t = (t << 5) - t + n.charCodeAt(r++) | 0; return t; }; function gi({ id: e = eo(), items: t = [], itemKey: n, titleElement: a = (c) => /* @__PURE__ */ s.jsx("div", { children: `title ${c}` }), contentElement: r = (c) => /* @__PURE__ */ s.jsx("div", { children: `content ${c}` }), mobileBreakPoint: o, className: i, onChange: l }) { const [c, g] = F({ items: t, selectedItem: t == null ? void 0 : t[0] }), m = (u) => { g((p) => ({ ...p, selectedItem: u })); }, h = (u) => n ? n(u) : `${Ea(u)}`; $(() => { Array.isArray(t) && t.length && (t.length !== c.items.length || t.some((u, p) => !Object.is(u, c.items[p]))) && g(() => ({ items: t, selectedItem: t[0] })); }, [t]), $(() => { typeof l == "function" && l(c.selectedItem); }, [c.selectedItem]); const b = ui(`(min-width: ${o || 760}px)`); return /* @__PURE__ */ s.jsx(s.Fragment, { children: b ? /* @__PURE__ */ s.jsxs( "section", { className: Pe("rounded-sm flex flex-col", i), "data-testid": "desktop", children: [ /* @__PURE__ */ s.jsxs( "ul", { className: "flex flex-row list-none p-0 m-0 w-full", "data-testid": "titles", children: [ c.items.map((u) => /* @__PURE__ */ s.jsx( "li", { className: Pe( "px-4 py-4 cursor-pointer border border-solid border-[--ods-color-primary-100] rounded-t-lg", u === c.selectedItem ? "border-b-0 bg-[--ods-color-primary-050]" : "border-b bg-white" ), children: /* @__PURE__ */ s.jsx( "button", { className: "border-0 bg-transparent cursor-pointer w-full", onClick: () => m(u), onKeyDown: () => m(u), children: a(u, u === c.selectedItem) } ) }, `tabs-${e}title-${h(u)}` )), /* @__PURE__ */ s.jsx( "li", { className: "border-0 border-b border-solid border-b-[--ods-color-primary-100] w-full" }, "none" ) ] } ), /* @__PURE__ */ s.jsx("div", { className: "bg-[--ods-color-primary-050] border border-solid border-[--ods-color-primary-100] border-t-0", children: r(c.selectedItem) }) ] } ) : /* @__PURE__ */ s.jsx( "section", { className: Pe("grid gap-6 grid-cols-1", i), "data-testid": "mobile", children: c.items.map((u) => /* @__PURE__ */ s.jsxs( "div", { className: "px-2 bg-[--ods-color-primary-050] border border-solid border-[--ods-color-primary-100] rounded-lg", children: [ /* @__PURE__ */ s.jsxs( "button", { className: "flex cursor-pointer px-4 py-4 w-full border-0 bg-transparent", onClick: () => m(u), onKeyDown: () => m(u), children: [ /* @__PURE__ */ s.jsx("div", { className: "w-full", children: /* @__PURE__ */ s.jsx(Y, { children: a(u, u === c.selectedItem) }) }), /* @__PURE__ */ s.jsx("div", { className: "w-fit flex items-center", children: Object.is(c.selectedItem, u) ? /* @__PURE__ */ s.jsx(ln, { name: ue.chevronUp }) : /* @__PURE__ */ s.jsx(ln, { name: ue.chevronDown }) }) ] } ), Object.is(c.selectedItem, u) && /* @__PURE__ */ s.jsx("div", { children: r(u) }) ] }, `tabs-${e}title-${h(u)}` )) } ) }); } var rn = { exports: {} }; rn.exports; var ur; function mi() { return ur || (ur = 1, function(e, t) { var n = 200, a = "__lodash_hash_undefined__", r = 1, o = 2, i = 9007199254740991, l = "[object Arguments]", c = "[object Array]", g = "[object AsyncFunction]", m = "[object Boolean]", h = "[object Date]", b = "[object Error]", u = "[object Function]", p = "[object GeneratorFunction]", w = "[object Map]", j = "[object Number]", P = "[object Null]", C = "[object Object]", S = "[object Promise]", I = "[object Proxy]", V = "[object RegExp]", R = "[object Set]", M = "[object String]", ee = "[object Symbol]", Ne = "[object Undefined]", Be = "[object WeakMap]", Re = "[object ArrayBuffer]", L = "[object DataView]", Me = "[object Float32Array]", Ce = "[object Float64Array]", Fe = "[object Int8Array]", ne = "[object Int16Array]", Ge = "[object Int32Array]", Se = "[object Uint8Array]", Je = "[object Uint8ClampedArray]", ft = "[object Uint16Array]", ie = "[object Uint32Array]", St = /[\\^$.*+?()[\]{}|]/g, _t = /^\[object .+?Constructor\]$/, Qt = /^(?:0|[1-9]\d*)$/, x = {}; x[Me] = x[Ce] = x[Fe] = x[ne] = x[Ge] = x[Se] = x[Je] = x[ft] = x[ie] = !0, x[l] = x[c] = x[Re] = x[m] = x[L] = x[h] = x[b] = x[u] = x[w] = x[j] = x[C] = x[V] = x[R] = x[M] = x[Be] = !1; var k = typeof it == "object" && it && it.Object === Object && it, re = typeof self == "object" && self && self.Object === Object && self, K = k || re || Function("return this")(), ke = t && !t.nodeType && t, pt = ke && !0 && e && !e.nodeType && e, hn = pt && pt.exports === ke, Et = hn && k.process, vn = function() { try { return Et && Et.binding && Et.binding("util"); } catch { } }(), bn = vn && vn.isTypedArray; function Rt(d, v) { for (var A = -1, E = d == null ? 0 : d.length, te = 0, N = []; ++A < E; ) { var le = d[A]; v(le, A, d) && (N[te++] = le); } return N; } function Mt(d, v) { for (var A = -1, E = v.length, te = d.length; ++A < E; ) d[te + A] = v[A]; return d; } function wn(d, v) { for (var A = -1, E = d == null ? 0 : d.length; ++A < E; ) if (v(d[A], A, d)) return !0; return !1; } function xn(d, v) { for (var A = -1, E = Array(d); ++A < d; ) E[A] = v(A); return E; } function kt(d) { return function(v) { return d(v); }; } function aa(d, v) { return d.has(v); } function ra(d, v) { return d == null ? void 0 : d[v]; } function Xt(d) { var v = -1, A = Array(d.size); return d.forEach(function(E, te) { A[++v] = [te, E]; }), A; } function oa(d, v) { return function(A) { return d(v(A)); }; } function sa(d) { var v = -1, A = Array(d.size); return d.forEach(function(E) { A[++v] = E; }), A; } var An = Array.prototype, yn = Function.prototype, ht = Object.prototype, Yt = K["__core-js_shared__"], Vt = yn.toString, De = ht.hasOwnProperty, jn = function() { var d = /[^.]+$/.exec(Yt && Yt.keys && Yt.keys.IE_PROTO || ""); return d ? "Symbol(src)_1." + d : ""; }(), Pn = ht.toString, ia = RegExp( "^" + Vt.call(De).replace(St, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$" ), Cn = hn ? K.Buffer : void 0, Dt = K.Symbol, Sn = K.Uint8Array, _n = ht.propertyIsEnumerable, Jt = An.splice, Ze = Dt ? Dt.toStringTag : void 0, Ue = Object.getOwnPropertySymbols, Zt = Cn ? Cn.isBuffer : void 0, Ut = oa(Object.keys, Object), zt = Nt(K, "DataView"), vt = Nt(K, "Map"), Ot = Nt(K, "Promise"), qt = Nt(K, "Set"), Tt = Nt(K, "WeakMap"), nt = Nt(Object, "create"), ca = bt(zt), la = bt(vt), En = bt(Ot), da = bt(qt), ua = bt(Tt), Rn = Dt ? Dt.prototype : void 0, Kt = Rn ? Rn.valueOf : void 0; function f(d) { var v = -1, A = d == null ? 0 : d.length; for (this.clear(); ++v < A; ) { var E = d[v]; this.set(E[0], E[1]); } } function y() { this.__data__ = nt ? nt(null) : {}, this.size = 0; } function _(d) { var v = this.has(d) && delete this.__data__[d]; return this.size -= v ? 1 : 0, v; } function D(d) { var v = this.__data__; if (nt) { var A = v[d]; return A === a ? void 0 : A; } return De.call(v, d) ? v[d] : void 0; } function X(d) { var v = this.__data__; return nt ? v[d] !== void 0 : De.call(v, d); } function J(d, v) { var A = this.__data__; return this.size += this.has(d) ? 0 : 1, A[d] = nt && v === void 0 ? a : v, this; } f.prototype.clear = y, f.prototype.delete = _, f.prototype.get = D, f.prototype.has = X, f.prototype.set = J; function T(d) { var v = -1, A = d == null ? 0 : d.length; for (this.clear(); ++v < A; ) { var E = d[v]; this.set(E[0], E[1]); } } function H() { this.__data__ = [], this.size = 0; } function he(d) { var v = this.__data__, A = Dn(v, d); if (A < 0) return !1; var E = v.length - 1; return A == E ? v.pop() : Jt.call(v, A, 1), --this.size, !0; } function oe(d) { var v = this.__data__, A = Dn(v, d); return A < 0 ? void 0 : v[A][1]; } function ce(d) { return Dn(this.__data__, d) > -1; } function _e(d, v) { var A = this.__data__, E = Dn(A, d); return E < 0 ? (++this.size, A.push([d, v])) : A[E][1] = v, this; } T.prototype.clear = H, T.prototype.delete = he, T.prototype.get = oe, T.prototype.has = ce, T.prototype.set = _e; function Ee(d) { var v = -1, A = d == null ? 0 : d.length; for (this.clear(); ++v < A; ) { var E = d[v]; this.set(E[0], E[1]); } } function Mn() { this.size = 0, this.__data__ = { hash: new f(), map: new (vt || T)(), string: new f() }; } function Le(d) { var v = zn(this, d).delete(d); return this.size -= v ? 1 : 0, v; } function Bo(d) { return zn(this, d).get(d); } function Fo(d) { return zn(this, d).has(d); } function Go(d, v) { var A = zn(this, d), E = A.size; return A.set(d, v), this.size += A.size == E ? 0 : 1, this; } Ee.prototype.clear = Mn, Ee.prototype.delete = Le, Ee.prototype.get = Bo, Ee.prototype.has = Fo, Ee.prototype.set = Go; function kn(d) { var v = -1, A = d == null ? 0 : d.length; for (this.__data__ = new Ee(); ++v < A; ) this.add(d[v]); } function Lo(d) { return this.__data__.set(d, a), this; } function Wo(d) { return this.__data__.has(d); } kn.prototype.add = kn.prototype.push = Lo, kn.prototype.has = Wo; function at(d) { var v = this.__data__ = new T(d); this.size = v.size; } function Qo() { this.__data__ = new T(), this.size = 0; } function Xo(d) { var v = this.__data__, A = v.delete(d); return this.size = v.size, A; } function Yo(d) { return this.__data__.get(d); } function Vo(d) { return this.__data__.has(d); } function Jo(d, v) { var A = this.__data__; if (A instanceof T) { var E = A.__data__; if (!vt || E.length < n - 1) return E.push([d, v]), this.size = ++A.size, this; A = this.__data__ = new Ee(E); } return A.set(d, v), this.size = A.size, this; } at.prototype.clear = Qo, at.prototype.delete = Xo, at.prototype.get = Yo, at.prototype.has = Vo, at.prototype.set = Jo; function Zo(d, v) { var A = On(d), E = !A && ds(d), te = !A && !E && ga(d), N = !A && !E && !te && nr(d), le = A || E || te || N, fe = le ? xn(d.length, String) : [], ve = fe.length; for (var se in d) De.call(d, se) && !(le && // Safari 9 has enumerable `arguments.length` in strict mode. (se == "length" || // Node.js 0.10 has enumerable non-index properties on buffers. te && (se == "offset" || se == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays. N && (se == "buffer" || se == "byteLength" || se == "byteOffset") || // Skip index properties. os(se, ve))) && fe.push(se); return fe; } function Dn(d, v) { for (var A = d.length; A--; ) if (Ka(d[A][0], v)) return A; return -1; } function Uo(d, v, A) { var E = v(d); return On(d) ? E : Mt(E, A(d)); } function $t(d) { return d == null ? d === void 0 ? Ne : P : Ze && Ze in Object(d) ? as(d) : ls(d); } function Ja(d) { return en(d) && $t(d) == l; } function Za(d, v, A, E, te) { return d === v ? !0 : d == null || v == null || !en(d) && !en(v) ? d !== d && v !== v : qo(d, v, A, E, Za, te); } function qo(d, v, A, E, te, N) { var le = On(d), fe = On(v), ve = le ? c : rt(d), se = fe ? c : rt(v); ve = ve == l ? C : ve, se = se == l ? C : se; var ze = ve == C, We = se == C, we = ve == se; if (we && ga(d)) { if (!ga(v)) return !1; le = !0, ze = !1; } if (we && !ze) return N || (N = new at()), le || nr(d) ? Ua(d, v, A, E, te, N) : ts(d, v, ve, A, E, te, N); if (!(A & r)) { var Ie = ze && De.call(d, "__wrapped__"), He = We && De.call(v, "__wrapped__"); if (Ie || He) { var ot = Ie ? d.value() : d, qe = He ? v.value() : v; return N || (N = new at()), te(ot, qe, A, E, N); } } return we ? (N || (N = new at()), ns(d, v, A, E, te, N)) : !1; } function Ko(d) { if (!tr(d) || is(d)) return !1; var v = $a(d) ? ia : _t; return v.test(bt(d)); } function $o(d) { return en(d) && er(d.length) && !!x[$t(d)]; } function es(d) { if (!cs(d)) return Ut(d); var v = []; for (var A in Object(d)) De.call(d, A) && A != "constructor" && v.push(A); return v; } function Ua(d, v, A, E, te, N) { var le = A & r, fe = d.length, ve = v.length; if (fe != ve && !(le && ve > fe)) return !1; var se = N.get(d); if (se && N.get(v)) return se == v; var ze = -1, We = !0, we = A & o ? new kn() : void 0; for (N.set(d, v), N.set(v, d); ++ze < fe; ) { var Ie = d[ze], He = v[ze]; if (E) var ot = le ? E(He, Ie, ze, v, d, N) : E(Ie, He, ze, d, v, N); if (ot !== void 0) { if (ot) continue; We = !1; break; } if (we) { if (!wn(v, function(qe, wt) { if (!aa(we, wt) && (Ie === qe || te(Ie, qe, A, E, N))) return we.push(wt); })) { We = !1; break; } } else if (!(Ie === He || te(Ie, He, A, E, N))) { We = !1; break; } } return N.delete(d), N.delete(v), We; } function ts(d, v, A, E, te, N, le) { switch (A) { case L: if (d.byteLength != v.byteLength || d.byteOffset != v.byteOffset) return !1; d = d.buffer, v = v.buffer; case Re: return !(d.byteLength != v.byteLength || !N(new Sn(d), new Sn(v))); case m: case h: case j: return Ka(+d, +v); case b: return d.name == v.name && d.message == v.message; case V: case M: return d == v + ""; case w: var fe = Xt; case R: var ve = E & r; if (fe || (fe = sa), d.size != v.size && !ve) return !1; var se = le.get(d); if (se) return se == v; E |= o, le.set(d, v); var ze = Ua(fe(d), fe(v), E, te, N, le); return le.delete(d), ze; case ee: if (Kt) return Kt.call(d) == Kt.call(v); } return !1; } function ns(d, v, A, E, te, N) { var le = A & r, fe = qa(d), ve = fe.length, se = qa(v), ze = se.length; if (ve != ze && !le) return !1; for (var We = ve; We--; ) { var we = fe[We]; if (!(le ? we in v : De.call(v, we))) return !1; } var Ie = N.get(d); if (Ie && N.get(v)) return Ie == v; var He = !0; N.set(d, v), N.set(v, d); for (var ot = le; ++We < ve; ) { we = fe[We]; var qe = d[we], wt = v[we]; if (E) var ar = le ? E(wt, qe, we, v, d, N) : E(qe, wt, we, d, v, N); if (!(ar === void 0 ? qe === wt || te(qe, wt, A, E, N) : ar)) { He = !1; break; } ot || (ot = we == "constructor"); } if (He && !ot) { var Tn = d.constructor, Nn = v.constructor; Tn != Nn && "constructor" in d && "constructor" in v && !(typeof Tn == "function" && Tn instanceof Tn && typeof Nn == "function" && Nn instanceof Nn) && (He = !1); } return N.delete(d), N.delete(v), He; } function qa(d) { return Uo(d, ms, rs); } function zn(d, v) { var A = d.__data__; return ss(v) ? A[typeof v == "string" ? "string" : "hash"] : A.map; } function Nt(d, v) { var A = ra(d, v); return Ko(A) ? A : void 0; } function as(d) { var v = De.call(d, Ze), A = d[Ze]; try { d[Ze] = void 0; var E = !0; } catch { } var te = Pn.call(d); return E && (v ? d[Ze] = A : delete d[Ze]), te; } var rs = Ue ? function(d) { return d == null ? [] : (d = Object(d), Rt(Ue(d), function(v) { return _n.call(d, v); })); } : fs, rt = $t; (zt && rt(new zt(new ArrayBuffer(1))) != L || vt && rt(new vt()) != w || Ot && rt(Ot.resolve()) != S || qt && rt(new qt()) != R || Tt && rt(new Tt()) != Be) && (rt = function(d) { var v = $t(d), A = v == C ? d.constructor : void 0, E = A ? bt(A) : ""; if (E) switch (E) { case ca: return L; case la: return w; case En: return S; case da: return R; case ua: return Be; } return v; }); function os(d, v) { return v = v ?? i, !!v && (typeof d == "number" || Qt.test(d)) && d > -1 && d % 1 == 0 && d < v; } function ss(d) { var v = typeof d; return v == "string" || v == "number" || v == "symbol" || v == "boolean" ? d !== "__proto__" : d === null; } function is(d) { return !!jn && jn in d; } function cs(d) { var v = d && d.constructor, A = typeof v == "function" && v.prototype || ht; return d === A; } function ls(d) { return Pn.call(d); } function bt(d) { if (d != null) { try { return Vt.call(d); } catch { } try { return d + ""; } catch { } } return ""; } function Ka(d, v) { return d === v || d !== d && v !== v; } var ds = Ja(/* @__PURE__ */ function() { return arguments; }()) ? Ja : function(d) { return en(d) && De.call(d, "callee") && !_n.call(d, "callee"); }, On = Array.isArray; function us(d) { return d != null && er(d.length) && !$a(d); } var ga = Zt || ps; function gs(d, v) { return Za(d, v); } function $a(d) { if (!tr(d)) return !1; var v = $t(d); return v == u || v == p || v == g || v == I; } function er(d) { return typeof d == "number" && d > -1 && d % 1 == 0 && d <= i; } function tr(d) { var v = typeof d; return d != null && (v == "object" || v == "function"); } function en(d) { return d != null && typeof d == "object"; } var nr = bn ? kt(bn) : $o; function ms(d) { return us(d) ? Zo(d) : es(d); } function fs() { return []; } function ps() { return !1; } e.exports = gs; }(rn, rn.exports)), rn.exports; } var fi = mi(); const Ht = /* @__PURE__ */ Kr(fi), pi = function(t, n) { return [ ...t.reduce((a, r) => (a.has(n(r)) || a.set(n(r), r), a), /* @__PURE__ */ new Map()).values() ]; }, gr = function(t, n) { const a = /* @__PURE__ */ new Map(); return n ? pi(t, n).forEach((o) => { const i = n(o); a.set(i, []), a.get(i).push(...t.filter((l) => Ht(i, n(l)))); }) : a.set(void 0, t), a; }, mr = function e({ items: t, value: n, onInput: a, label: r, tileClass: o, stack: i, id: l }) { var b; const [c, g] = F({ stacks: gr(t, i == null ? void 0 : i.by), selectedStack: i == null ? void 0 : i.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: (u) => { g((p) => ({ ...p, selectedStack: u })); }, value: (u) => a(u) }, h = { stack: { checked: jt( (u) => { var p, w; return ((w = (p = c.stacks) == null ? void 0 : p.get(u)) == null ? void 0 : w.length) > 1 ? Ht(c.selectedStack, u) : Ht(c.stacks.get(u)[0], n); }, [c.stacks, c.selectedStack, n] ), singleton: jt( (u) => { var p; return ((p = c.stacks.get(u)) == null ? void 0 : p.length) === 1; }, [c.stacks] ) } }; return $(() => { g((u) => ({ ...u, stacks: gr(t, i == null ? void 0 : i.by) })); }, [t, i]), $(() => { o && g((u) => ({ ...u, 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]), $(() => { typeof (i == null ? void 0 : i.onChange) == "function" && i.onChange(c.selectedStack); }, [c.selectedStack]), $(() => { i && m.selectedStack(n ? i.by(n) : void 0); }, [n]), $(() => { var u; i && ((u = c.stacks.get(c.selectedStack)) != null && u.length) && !Ht(c.selectedStack, i.by(n)) && m.value(c.stacks.get(c.selectedStack)[0]); }, [c.selectedStack]), /* @__PURE__ */ s.jsxs("div", { id: typeof l == "function" ? l() : l, children: [ /* @__PURE__ */ s.jsx("ul", { className: "simple-tiles-input-ul grid gap-6 list-none p-6 m-0 grid-cols-1 md:grid-cols-3", children: i ? [...c.stacks.keys()].map((u) => /* @__PURE__ */ s.jsx("li", { className: "w-full px-1", children: /* @__PURE__ */ s.jsx( dn, { onClick: () => h.stack.singleton(u) ? m.value(c.stacks.get(u)[0]) : m.selectedStack(u), className: `${Pe( h.stack.checked(u) ? c.activeClass : c.inactiveClass )} w-full px-[24px] py-[16px]`, children: h.stack.singleton(u) ? r(c.stacks.get(u)[0]) : i == null ? void 0 : i.label(u, c.stacks.get(u)) } ) }, Ea(u))) : t.map((u) => /* @__PURE__ */ s.jsx("li", { className: "w-full px-1", children: /* @__PURE__ */ s.jsx( dn, { onClick: () => m.value(u), className: `${Pe( Ht(n, u) ? c.activeClass : c.inactiveClass )} w-full px-[24px] py-[16px]`, children: r(u) } ) }, Ea(u))) }), c.selectedStack && ((b = c.stacks.get(c.selectedStack)) == null ? void 0 : b.length) > 1 && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("div", { className: "mt-6 ml-8", children: /* @__PURE__ */ s.jsx("span", { className: "text-[--ods-color-heading] leading-[22px] font-bold", children: i.title( c.selectedStack, c.stacks.get(c.selectedStack) ) }) }), /* @__PURE__ */ s.jsx( e, { value: n, items: c.stacks.get(c.selectedStack), label: r, onInput: a, tileClass: o } ) ] }) ] }); }, bv = function({ id: t, items: n, value: a, onInput: r, label: o, tileClass: i, stack: l, group: c }) { const [g, m] = F({ selectedGroup: c == null ? void 0 : c.value, selectedStack: l == null ? void 0 : l.value }), h = ye(() => { const b = /* @__PURE__ */ new Map(); return c && typeof c.by == "function" && (c.showAllTab && b.set(void 0, [...n]), n.forEach((u) => { const p = c.by(u); b.has(p) || b.set(p, []), b.get(p).push(u); })), b; }, [n, c]); return /* @__PURE__ */ s.jsx(s.Fragment, { children: c ? /* @__PURE__ */ s.jsx( gi, { items: [...h == null ? void 0 : h.keys()], titleElement: (b) => c.label(b, h.get(b)), contentElement: (b) => /* @__PURE__ */ s.jsx( mr, { id: t, items: h.get(b) || [], value: a, onInput: r, label: o, tileClass: i, stack: l ? { ...l, onChange: (u) => { m((p) => ({ ...p, selectedStack: u })), l != null && l.onChange && (l == null || l.onChange(u)); } } : void 0 } ), onChange: (b) => { m((u) => ({ ...u, selectedGroup: b })), c.onChange && !Ht(g.selectedGroup, b) && c.onChange(b); } } ) : /* @__PURE__ */ s.jsx( mr, { id: t, items: n, value: a, onInput: r, label: o, tileClass: i, stack: l } ) }); }, hi = { 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") }; pe(hi, "card"); const wv = ({ href: e, isExternalHref: t, hrefLabel: n, img: a, badges: r, texts: o, hoverable: i, onClick: l, trackingLabel: c, ...g }) => { const { title: m, description: h, category: b } = o, { t: u } = G("card"); return /* @__PURE__ */ s.jsx( "a", { target: "_blank", href: e, className: "no-underline", onClick: l, ...g, children: /* @__PURE__ */ s.jsx( dn, { className: "w-full h-full p-[1rem]", color: "neutral", "data-tracking": c, children: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col h-full", children: [ (a == null ? void 0 : a.src) && /* @__PURE__ */ s.jsx( "img", { className: "max-w-full my-3 mx-auto", src: a.src, alt: a.alt } ), /* @__PURE__ */ s.jsxs("div", { children: [ /* @__PURE__ */ s.jsx("span", { className: "card-category text-[--ods-color-primary-500] text-[20px] leading-[28px] font-bold", children: b }), /* @__PURE__ */ s.jsx("span", { className: "ml-[10px] card-badges-section", children: r == null ? void 0 : r.map((p) => /* @__PURE__ */ s.jsx(Gt, { className: "mr-1", label: p.text }, p.text)) }) ] }), /* @__PURE__ */ s.jsx("span", { className: "card-title text-[--ods-color-heading] text-[24px] leading-[32px] font-bold mb-[8px]", children: m }), h && /* @__PURE__ */ s.jsx("p", { className: "block m-0 p-0 text-[--ods-color-text] mb-4", children: h }), /* @__PURE__ */ s.jsx("div", { className: "section-see-more-label mt-auto", children: /* @__PURE__ */ s.jsx( pn, { "tab-index": "-1", label: n ?? u("see_more_label"), type: t ? dt.external : dt.next } ) }) ] }) } ) } ); }, xv = ({ children: e, className: t = "" }) => /* @__PURE__ */ s.jsx( "div", { className: `${t} m-0 p-0 text-[--ods-color-heading] text-[36px] leading-[45px] font-bold mb-[24px]`, children: e } ), no = ({ children: e, className: t = "" }) => /* @__PURE__ */ s.jsx( "div", { className: `${t} m-0 p-0 text-[--ods-color-heading] text-[24px] leading-[32px] font-bold`, children: e } ); var dt = /* @__PURE__ */ ((e) => (e.back = "back", e.next = "next", e.external = "external", e))(dt || {}), vi = /* @__PURE__ */ ((e) => (e.left = "left", e.right = "right", e))(vi || {}); const pn = ({ children: e, label: t, onClickReturn: n, type: a, href: r, color: o = Hs.primary, iconAlignment: i, className: l = "", ...c }) => /* @__PURE__ */ s.jsx( tt, { className: l, href: r, onClick: n, color: o, ...i && { iconAlignment: sr[i] }, ...c, ...a === "back" && { icon: ue.arrowLeft, iconAlignment: sr.left }, ...a === "next" && { icon: ue.arrowRight }, ...a === "external" && { icon: ue.externalLink }, label: t ?? e } ), bi = ({ title: e, badge: t, subtitle: n, description: a, headerButton: r, changelogButton: o }) => /* @__PURE__ */ s.jsxs("div", { className: "flex items-start justify-between", children: [ /* @__PURE__ */ s.jsxs("div", { children: [ /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-4 mb-[24px]", children: [ e && /* @__PURE__ */ s.jsx(Y, { preset: "heading-1", children: e }), t && /* @__PURE__ */ s.jsx( Gt, { label: t.label, color: t.color, size: t.size } ) ] }), n && /* @__PURE__ */ s.jsx(no, { className: "block mb-6", children: n }), a && /* @__PURE__ */ s.jsx(Y, { className: "mb-[16px]", preset: "span", children: a }) ] }), (r || o) && /* @__PURE__ */ s.jsxs("div", { className: "flex flex-wrap justify-end items-center", children: [ o, r ] }) ] }); var wi = /* @__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))(wi || {}), ao = /* @__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))(ao || {}); 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 Bt = /* @__PURE__ */ ((e) => (e.day = "day", e.month = "month", e.year = "year", e.none = "none", e))(Bt || {}); const pr = (e, t) => (t ? e + t : e) / 1e8, hr = (e, t) => ({ [Bt.day]: e / 365, [Bt.month]: e / 12, [Bt.year]: e, [Bt.none]: e })[t] || e, vr = (e, t, n) => { try { return new Intl.NumberFormat(t.replace("_", "-"), { style: "currency", currency: fr[e], minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(n); } catch { return new Intl.NumberFormat("fr-FR", { style: "currency", currency: fr[e], minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(n); } }, xi = { 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") }; pe(xi, "price"); const br = ({ children: e }) => /* @__PURE__ */ s.jsx("span", { className: "ml-1", children: e }); function Av({ value: e, intervalUnit: t, tax: n, ovhSubsidiary: a, locale: r, isConvertIntervalUnit: o }) { const { t: i } = G("price"), l = ["ASIA", "AU", "IN", "SG"].includes(a), c = ["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), h = o ? hr(e, t) : e, b = o ? hr(n || 0, t) : n || 0, u = vr( a, r, pr(h) ), p = vr( a, r, pr(h, b) ), w = t && t !== Bt.none ? i(`price_per_${t}`) : "", P = [ { condition: e === 0, component: /* @__PURE__ */ s.jsx("span", { children: i("price_free") }) }, { condition: g && n > 0, component: /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("span", { className: "mr-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: u }), /* @__PURE__ */ s.jsx("span", { className: "text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: i("price_ht_label") }), /* @__PURE__ */ s.jsx("span", { className: "ml-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: w }), /* @__PURE__ */ s.jsxs(br, { children: [ /* @__PURE__ */ s.jsxs("span", { className: "text-[--ods-color-neutral-500] text-[14px] leading-[18px] font-semibold", children: [ "(", p ] }), /* @__PURE__ */ s.jsxs("span", { className: "ml-1 text-[--ods-color-neutral-500] text-[14px] leading-[18px] font-semibold", children: [ i("price_ttc_label"), ")" ] }) ] }) ] }) }, { condition: g && !n, component: /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("span", { className: "mr-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: u }), /* @__PURE__ */ s.jsx("span", { className: "text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: i("price_ht_label") }), /* @__PURE__ */ s.jsx("span", { className: "ml-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: w }) ] }) }, { condition: c && n > 0, component: /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("span", { className: "mr-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: p }), /* @__PURE__ */ s.jsx("span", { className: "ml-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: w }) ] }) }, { condition: l && (!n || n === 0), component: /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("span", { className: "mr-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: u }), /* @__PURE__ */ s.jsx("span", { className: "text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: i("price_gst_excl_label") }), /* @__PURE__ */ s.jsx("span", { className: "ml-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: w }) ] }) }, { condition: l, component: /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("span", { className: "mr-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: u }), /* @__PURE__ */ s.jsx("span", { className: "text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: i("price_gst_excl_label") }), /* @__PURE__ */ s.jsx("span", { className: "ml-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: w }), /* @__PURE__ */ s.jsxs(br, { children: [ /* @__PURE__ */ s.jsxs("span", { className: "text-[--ods-color-neutral-500] text-[14px] leading-[18px] font-semibold", children: [ "(", p ] }), /* @__PURE__ */ s.jsxs("span", { className: "ml-1 text-[--ods-color-neutral-500] text-[14px] leading-[18px] font-semibold", children: [ i("price_gst_incl_label"), ")" ] }) ] }) ] }) }, { condition: m, component: /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("span", { className: "mr-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: u }), /* @__PURE__ */ s.jsx("span", { className: "ml-1 text-[--ods-color-text] text-[16px] leading-[20px] font-semibold", children: w }) ] }) } ].find(({ condition: C }) => C); return P ? /* @__PURE__ */ s.jsx(Y, { children: P.component }) : /* @__PURE__ */ s.jsx(s.Fragment, {}); } const ro = ({ label: e }) => { const t = Yr(); return /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx( ln, { id: `trigger-${t}`, "aria-labelledby": `tooltip-${t}`, className: "text-[--ods-color-form-element-text-default]", name: "circle-question" } ), /* @__PURE__ */ s.jsx( qn, { id: `tooltip-${t}`, triggerId: `trigger-${t}`, withArrow: !0, children: /* @__PURE__ */ s.jsx(Y, { preset: me.paragraph, className: "w-56", children: /* @__PURE__ */ s.jsx("span", { children: e }) }) } ) ] }); }, Ai = ({ label: e, labelTooltip: t, children: n }) => /* @__PURE__ */ s.jsxs("dl", { className: "flex flex-col gap-1 m-0", children: [ /* @__PURE__ */ s.jsx("dt", { children: e && /* @__PURE__ */ s.jsxs("div", { className: "flex items-center gap-2", children: [ /* @__PURE__ */ s.jsx(Y, { preset: me.heading6, children: e }), t && /* @__PURE__ */ s.jsx(ro, { label: t }) ] }) }), /* @__PURE__ */ s.jsx("dd", { className: "m-0", children: n }) ] }), yv = ({ title: e, items: t, ...n }) => /* @__PURE__ */ s.jsx( dn, { "data-testid": n["data-testid"], className: "w-full flex-col p-[1rem]", color: Zr.neutral, children: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col w-full", children: [ e && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("h4", { className: "dashboard-tile-title m-0 text-[--ods-color-heading] text-[20px] leading-[28px] font-bold", children: e }), /* @__PURE__ */ s.jsx(Sa, { spacing: "24" }) ] }), t.map((a, r) => /* @__PURE__ */ s.jsxs(Ae.Fragment, { children: [ /* @__PURE__ */ s.jsx( Ai, { label: a.label, labelTooltip: a.labelTooltip, children: a.value }, a.id ), r < t.length - 1 && /* @__PURE__ */ s.jsx(Sa, { spacing: "24" }) ] }, a.id)) ] }) } ), Ba = ({ children: e }) => /* @__PURE__ */ s.jsx("dl", { className: "flex flex-col gap-1 m-0", children: e }), yi = ({ children: e, tooltip: t }) => /* @__PURE__ */ s.jsxs("dt", { className: "flex items-center gap-2", children: [ /* @__PURE__ */ s.jsx(Y, { preset: me.heading6, children: e }), t && /* @__PURE__ */ s.jsx(ro, { label: t }) ] }), ji = ({ children: e }) => /* @__PURE__ */ s.jsx("dd", { className: "m-0", children: e }); Ba.Label = yi; Ba.Description = ji; const $e = ({ className: e, children: t, ...n }) => /* @__PURE__ */ s.jsx( dn, { className: `w-full flex-col p-[1rem] ${e}`, color: Zr.neutral, ...n, children: /* @__PURE__ */ s.jsx("div", { className: "flex flex-col w-full", children: t }) } ), Pi = ({ children: e }) => /* @__PURE__ */ s.jsx(Y, { preset: me.heading4, children: e }), Ci = () => /* @__PURE__ */ s.jsx(Sa, { spacing: "24" }); $e.Title = Pi; $e.Item = Ba; $e.Divider = Ci; const Si = { 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") }; pe(Si, "buttons"); const _i = { 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") }; pe(_i, "iam"); const Ei = (e) => { const t = /* @__PURE__ */ new Map(); return e.forEach((n) => { n.tags && Object.entries(n.tags).forEach(([a, r]) => { var o; a.startsWith("ovh:") || (t.has(a) ? (o = t.get(a)) == null || o.add(r) : t.set(a, /* @__PURE__ */ new Set([r]))); }); }), Array.from(t.entries()).map(([n, a]) => ({ key: n, values: Array.from(a) })); }, Ri = async ({ actions: e, urns: t }) => { const { data: n } = await mt.v2.post("/iam/authorization/check", { actions: e, resourceURNs: t }); return n; }; function jv({ actions: e, urns: t }) { const { data: n } = Te({ queryKey: ["iam-authorization", t, e], queryFn: () => Ri({ actions: e, urns: t }), enabled: t.length > 0 && e.length > 0, placeholderData: Lr }); return n || []; } function Mi(e) { return `/iam/resource/${encodeURIComponent(e)}/authorization/check`; } const ki = async (e, t) => { const { data: n } = await mt.v2.post(Mi(t), { actions: e }); return n; }; function Fa(e, t, n = !0) { const { data: a, ...r } = Te({ queryKey: [t, e], queryFn: () => ki(e, t), enabled: !!(t && t.length > 0 && e && e.length > 0 && n), placeholderData: Lr }); return { isAuthorized: !!(a != null && a.authorizedActions) && e.every((o) => { var i; return (i = a == null ? void 0 : a.authorizedActions) == null ? void 0 : i.includes(o); }), data: a, ...r }; } function Di({ resourceType: e, enabled: t = !0 }) { let n = "/iam/resource"; e && (n = `${n}?resourceType=${e}`); const { flattenData: a, isError: r, isLoading: o } = Vu({ route: n, queryKey: ["iam/resource", e], enabled: t, shouldFetchAll: !0 }); return { tags: ye(() => a ? Ei(a) : [], [a]), isError: r, isLoading: o }; } const oo = ({ id: e, children: t, label: n, iamActions: a, urn: r, displayTooltip: o = !0, isIamTrigger: i = !0, ...l }) => { const { t: c } = G("iam"), { isAuthorized: g } = Fa(a, r, i); return g || !(a && r) ? /* @__PURE__ */ s.jsx(B, { "data-testid": "manager-button", ...l, label: n }) : o ? /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("div", { id: e, className: "w-fit", children: /* @__PURE__ */ s.jsx( B, { "data-testid": "manager-button-tooltip", ...l, isDisabled: !0, label: n, onClick: null } ) }), /* @__PURE__ */ s.jsx(qn, { triggerId: e, "with-arrow": !0, children: /* @__PURE__ */ s.jsx("div", { children: c("common_iam_actions_message") }) }) ] }) : /* @__PURE__ */ s.jsx( B, { "data-testid": "manager-button-without-tooltip", ...l, isDisabled: !0, onClick: null, label: n } ); }, zi = ({ item: e, isTrigger: t, id: n }) => { var r; const a = { size: je.sm, variant: ae.ghost, displayTooltip: !1, className: "menu-item-button w-full", ...e }; return e.href ? /* @__PURE__ */ s.jsx("a", { href: e.href, download: e.download, target: e.target, children: /* @__PURE__ */ s.jsx(B, { ...a }) }) : !(e != null && e.iamActions) || ((r = e == null ? void 0 : e.iamActions) == null ? void 0 : r.length) === 0 ? /* @__PURE__ */ s.jsx(B, { ...a }) : /* @__PURE__ */ s.jsx(oo, { id: `${n}`, isIamTrigger: t, ...a }); }, Pv = ({ items: e, isCompact: t, icon: n, variant: a = ae.outline, isDisabled: r = !1, isLoading: o = !1, id: i, popoverPosition: l, label: c }) => { const { t: g } = G("buttons"), [m, h] = Ae.useState(!1); return /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("div", { id: `navigation-action-trigger-${i}`, className: "w-min", children: /* @__PURE__ */ s.jsx( B, { "data-testid": "navigation-action-trigger-action", slot: "menu-title", id: i, variant: a, isDisabled: r, isLoading: o, size: je.sm, onClick: () => h(!0), ...!t && { label: c || g("common_actions") }, icon: n || (t ? ue.ellipsisVertical : ue.chevronDown), "aria-label": c || g("common_actions") } ) }, i), /* @__PURE__ */ s.jsx( Wt, { className: "py-[8px] px-0 w-max", "data-testid": "navigation-action-trigger-action-popover", triggerId: `navigation-action-trigger-${i}`, "with-arrow": !0, position: l, children: /* @__PURE__ */ s.jsx("div", { className: "flex flex-col", children: e.map(({ id: b, ...u }) => /* @__PURE__ */ s.jsx( zi, { id: b, item: u, isTrigger: m }, b )) }) } ) ] }); }, Cv = ({ isLoading: e, items: t }) => { const { t: n } = G("buttons"); return /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("div", { id: "navigation-menu-guide-trigger", children: /* @__PURE__ */ s.jsx( B, { isLoading: e, slot: "menu-title", className: "block", variant: ae.ghost, size: je.sm, label: n("user_account_guides_header"), icon: ue.book } ) }), /* @__PURE__ */ s.jsx( Wt, { triggerId: "navigation-menu-guide-trigger", withArrow: !0, position: Ur.bottom, children: /* @__PURE__ */ s.jsx("div", { className: "flex flex-col gap-2 py-1", children: t.map(({ id: a, onClick: r, ...o }) => /* @__PURE__ */ s.jsx( pn, { type: dt.external, onClickReturn: r, ...o }, a )) }) } ) ] }); }, Oi = ["tile-changelog-roadmap", "external-link"], Ti = (e) => `go-to-${e}`, Sv = ({ links: e, chapters: t = [], prefixes: n }) => { const { t: a } = G("buttons"), { trackClick: r } = Cs(); return /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("div", { id: "navigation-menu-changelog-trigger", children: /* @__PURE__ */ s.jsx( B, { slot: "menu-title", variant: ae.ghost, size: je.sm, label: a("mrc_changelog_header"), className: "whitespace-nowrap" } ) }), /* @__PURE__ */ s.jsx( Wt, { triggerId: "navigation-menu-changelog-trigger", withArrow: !0, position: Ur.bottom, children: Object.entries(e).map(([o, i]) => /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx( pn, { href: i, target: "_blank", type: dt.external, rel: dt.external, label: a(`mrc_changelog_${o}`), onClickReturn: () => r({ actionType: "navigation", actions: [ ...t, ...n || Oi, Ti(o) ] }) } ) }, o)) } ) ] }); }, Ni = ({ children: e }) => /* @__PURE__ */ s.jsx("div", { className: "py-8 px-4 md:py-9 md:px-10 md:mt-2", children: e }), _v = ({ children: e }) => /* @__PURE__ */ s.jsx("div", { className: "w-full block", children: /* @__PURE__ */ s.jsx("div", { className: "grid grid-cols-1 md:items-start md:grid-cols-3 gap-4 md:gap-6", children: e }) }), Ev = ({ backLinkLabel: e, hrefPrevious: t, onClickReturn: n, breadcrumb: a, description: r, subtitle: o, subDescription: i, message: l, children: c, header: g, tabs: m }) => /* @__PURE__ */ s.jsxs(Ni, { children: [ /* @__PURE__ */ s.jsx("div", { children: a }), g && /* @__PURE__ */ s.jsx("div", { className: "mt-[24px]", children: /* @__PURE__ */ s.jsx(bi, { ...g }) }), e && (n || t) && /* @__PURE__ */ s.jsx("div", { className: "mb-[16px]", children: /* @__PURE__ */ s.jsx( pn, { "data-testid": "manager-back-link", onClickReturn: n, label: e, type: dt.back, target: "_self", href: t } ) }), r && /* @__PURE__ */ s.jsx(Y, { className: "mb-[16px]", preset: "span", children: r }), l && /* @__PURE__ */ s.jsx("div", { className: "mb-5 max-w-[800px]", children: l }), o && /* @__PURE__ */ s.jsx(no, { className: "block mb-6", children: o }), i && /* @__PURE__ */ s.jsx(Y, { preset: "span", children: i }), m && /* @__PURE__ */ s.jsx("div", { className: "mb-6", children: m }), c ] }), fa = { SERVICE_NOT_FOUND: "service_not_found", UNAUTHORIZED: "unauthorized", PAGE_LOAD: "error_during_page_loading" }, Ii = { 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") }; pe(Ii, "error"); const Hi = "data:image/png;base64,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"; function Bi(e) { return e != null && e.status && Math.floor(e.status / 100) === 4 ? [401, 403].includes(e.status) ? fa.UNAUTHORIZED : fa.SERVICE_NOT_FOUND : fa.PAGE_LOAD; } const Fi = ({ error: e, onRedirectHome: t, onReloadPage: n, labelTracking: a, ...r }) => { var c, g, m; const { t: o } = G("error"), { shell: i } = Ae.useContext(fn), l = (c = i == null ? void 0 : i.environment) == null ? void 0 : c.getEnvironment(); return Ae.useEffect(() => { l == null || l.then((h) => { var p; const { applicationName: b } = h, u = `errors::${Bi(e)}::${b}`; (p = i == null ? void 0 : i.tracking) == null || p.trackPage({ name: u, level2: "81", type: "navigation", page_category: Ss.bannerError }); }); }, []), /* @__PURE__ */ s.jsxs( "div", { className: "mx-auto w-full h-full max-w-[600px] overflow-hidden mx-autogrid p-5", ...r, children: [ /* @__PURE__ */ s.jsx("img", { src: Hi, alt: "OOPS", className: "w-full" }), /* @__PURE__ */ s.jsx("div", { className: "py-2", children: /* @__PURE__ */ s.jsx(Y, { preset: me.heading1, children: o("manager_error_page_title") }) }), /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx( Lt, { color: et.warning, "data-tracking": a, className: "w-full", children: /* @__PURE__ */ s.jsxs("div", { children: [ /* @__PURE__ */ s.jsx("div", { children: o("manager_error_page_default") }), /* @__PURE__ */ s.jsx("div", { children: ((g = e == null ? void 0 : e.data) == null ? void 0 : g.message) && /* @__PURE__ */ s.jsx("strong", { children: e.data.message }) }), /* @__PURE__ */ s.jsx("div", { children: ((m = e == null ? void 0 : e.headers) == null ? void 0 : m["x-ovh-queryid"]) && /* @__PURE__ */ s.jsxs("p", { children: [ o("manager_error_page_detail_code"), e.headers["x-ovh-queryid"] ] }) }) ] }) } ) }), /* @__PURE__ */ s.jsxs("div", { className: "overflow-hidden mt-5 py-2", children: [ /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx( B, { "data-testid": "error-template-action-home", className: "error-template-actions w-full", variant: ae.ghost, onClick: t, label: o("manager_error_page_action_home_label") } ) }), /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx( B, { "data-testid": "error-template-action-reload", className: "error-template-actions w-full ", onClick: n, label: o("manager_error_page_action_reload_label") } ) }) ] }) ] } ); }, Gi = () => (_s(), null), Rv = ({ redirectionApp: e, isPreloaderHide: t = !1, isRouteShellSync: n = !1 }) => { var l, c, g, m; const a = js(), r = (l = mn(fn)) == null ? void 0 : l.shell, o = () => { r == null || r.navigation.navigateTo(e, "", {}); }, i = () => { r == null || r.navigation.reload(); }; return $(() => { t && (r == null || r.ux.hidePreloader()); }, [t]), /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx( Fi, { onReloadPage: i, onRedirectHome: o, error: { data: { message: ((g = (c = a == null ? void 0 : a.response) == null ? void 0 : c.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) || {} } } ), n && /* @__PURE__ */ s.jsx(Gi, {}) ] }); }, 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==", Li = ({ orderButtonLabel: e, orderHref: t, onOrderButtonClick: n, isActionDisabled: a, orderIam: r, moreInfoHref: o, moreInfoButtonLabel: i, moreInfoButtonIcon: l = ue.externalLink, /** * @deprecated use onMoreInfoButtonClick */ onmoreInfoButtonClick: c, onMoreInfoButtonClick: g, isMoreInfoButtonDisabled: m }) => !e && !i ? /* @__PURE__ */ s.jsx(s.Fragment, {}) : /* @__PURE__ */ s.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 && (n || t) && /* @__PURE__ */ s.jsx( oo, { id: "orderButton", className: "[&::part(button)]:w-full sm:w-auto", size: je.md, onClick: () => { n == null || n(), t && window.open(t, "_blank"); }, label: e, isDisabled: a, ...r || {} } ), i && (c || g || o) && /* @__PURE__ */ s.jsx( B, { className: "[&::part(button)]:w-full sm:w-auto", size: je.md, variant: ae.outline, onClick: () => { m || (c == null || c(), g == null || g(), o && window.open(o, "_blank")); }, label: i, icon: l, iconAlignment: qr.right, isDisabled: m } ) ] }), Mv = ({ hideHeadingSection: e, title: t, description: n, orderButtonLabel: a, orderHref: r, isActionDisabled: o, orderIam: i, onOrderButtonClick: l, moreInfoHref: c, moreInfoButtonLabel: g, moreInfoButtonIcon: m, isMoreInfoButtonDisabled: h, /** * @deprecated use onMoreInfoButtonClick */ onmoreInfoButtonClick: b, onMoreInfoButtonClick: u, img: p = {}, children: w }) => { const { className: j, alt: P, ...C } = p; return /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col mx-auto sm:px-10", children: [ !e && /* @__PURE__ */ s.jsxs("section", { className: "flex flex-col items-center gap-6 pt-6 max-w-[800px] self-center", children: [ ((p == null ? void 0 : p.src) || wr) && /* @__PURE__ */ s.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ s.jsx( "img", { ...C, className: `max-h-[150px] ${j}`, src: (p == null ? void 0 : p.src) ?? wr, alt: P ?? "placeholder image" } ) }), /* @__PURE__ */ s.jsx( Y, { preset: me.heading1, className: "block text-center", children: t } ), n, /* @__PURE__ */ s.jsx( Li, { isActionDisabled: o, orderHref: r, onOrderButtonClick: l, onmoreInfoButtonClick: b, onMoreInfoButtonClick: u, orderButtonLabel: a, moreInfoHref: c, moreInfoButtonLabel: g, orderIam: i, moreInfoButtonIcon: m, isMoreInfoButtonDisabled: h } ) ] }), w && /* @__PURE__ */ s.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 }) ] }); }, Yn = (e) => ({ onClick: e, onKeyDown: (t) => { [" ", "Enter"].includes(t.key) && e(t); } }), Wi = { 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") }; pe(Wi, "delete-modal"); const Qi = "TERMINATE", Xi = ({ headline: e, description: t, isOpen: n = !1, deleteInputLabel: a, serviceTypeName: r, closeModal: o, isLoading: i, onConfirmDelete: l, error: c, children: g, cancelButtonLabel: m, confirmButtonLabel: h, terminateValue: b = Qi }) => { const { t: u } = G("delete-modal"), p = Ae.useCallback(() => { o(); }, []); return /* @__PURE__ */ s.jsx( Kn, { color: Qn.critical, onOdsClose: p, isOpen: n, children: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col gap-4", children: [ /* @__PURE__ */ s.jsx(Y, { preset: me.heading3, children: u("deleteModalHeadline", { serviceType: r || u("deleteModalHeadlineService") }) }), !!c && /* @__PURE__ */ s.jsx(Lt, { color: et.warning, children: u("deleteModalError", { error: c }) }), /* @__PURE__ */ s.jsx( Y, { preset: me.paragraph, "data-testid": "manager-delete-modal-description", children: u("deleteModalDescription") } ), g, /* @__PURE__ */ s.jsxs("div", { className: "flex justify-end gap-2", children: [ /* @__PURE__ */ s.jsx( B, { slot: "actions", "data-testid": "manager-delete-modal-cancel", variant: ae.ghost, color: Xe.critical, ...Yn(p), label: u("deleteModalCancelButton") } ), /* @__PURE__ */ s.jsx( B, { slot: "actions", isLoading: i, "data-testid": "manager-delete-modal-confirm", ...Yn(() => { l(); }), color: Xe.critical, label: u("deleteModalDeleteButton") } ) ] }) ] }) } ); }, Ga = ({ resourceName: e = "" }) => [`get/services${e}`], La = async ({ resourceName: e }) => mt.v6.get( `/services${e ? `?resourceName=${e}` : ""}` ), Yi = async (e) => mt.v6.get(`/services/${e}`), Vi = async ({ serviceId: e, displayName: t }) => mt.v6.put(`/services/${e}`, { displayName: t }), Ji = async ({ serviceId: e }) => mt.v6.post(`/services/${e}/terminate`), Zi = ["delete-service"], Ui = ({ onSuccess: e, onError: t, mutationKey: n = Zi }) => { const a = Ia(), { mutate: r, ...o } = Wr({ mutationKey: n, mutationFn: async ({ resourceName: i }) => { const { data: l } = await a.fetchQuery({ queryKey: Ga({ resourceName: i }), queryFn: () => La({ resourceName: i }) }); return Ji({ serviceId: l[0] }); }, onSuccess: e, onError: t }); return { terminateService: r, ...o }; }, qi = ["put/services/displayName"], Ki = ({ onSuccess: e, onError: t, mutationKey: n = qi }) => { const a = Ia(), { mutate: r, ...o } = Wr({ mutationKey: n, mutationFn: async ({ resourceName: i, displayName: l }) => { const { data: c } = await a.fetchQuery({ queryKey: Ga({ resourceName: i }), queryFn: () => La({ resourceName: i }) }); return Vi({ serviceId: c[0], displayName: l }); }, onSuccess: e, onError: t }); return { updateDisplayName: r, ...o }; }, $i = (e) => [ "service-details", e ], kv = ({ queryKey: e, resourceName: t }) => { const n = Ia(); return Te({ queryKey: e ?? $i(t), queryFn: async () => { const { data: a } = await n.fetchQuery({ queryKey: Ga({ resourceName: t }), queryFn: () => La({ resourceName: t }) }); return Yi(a[0]); } }); }, Bn = { delete: "Delete services error", update: "Update services error", get: "Get services error", getDetails: "Get services details error" }, ec = { 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: ao.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: [] }, Dv = ({ getServicesKo: e, getDetailsServicesKo: t, updateServicesKo: n, deleteServicesKo: a, serviceResponse: r = ec }) => [ { url: "/services/:id/terminate", response: () => a ? { message: Bn.delete } : null, status: a ? 500 : 200, method: "post", api: "v6" }, { url: "/services/:id", response: () => n ? { message: Bn.update } : null, status: n ? 500 : 200, method: "put", api: "v6" }, { url: "/services/:id", response: () => t ? { message: Bn.getDetails } : r, status: t ? 500 : 200, method: "get", api: "v6" }, { url: "/services", response: () => e ? { message: Bn.get } : [1234567890], status: e ? 500 : 200, method: "get", api: "v6" } ], zv = ({ onConfirmDelete: e, resourceName: t, onSuccess: n, onError: a, mutationKey: r, isLoading: o, ...i }) => { var h, b; const { terminateService: l, isPending: c, error: g, isError: m } = Ui({ onSuccess: n, onError: a, mutationKey: r }); return /* @__PURE__ */ s.jsx( Xi, { ...i, isLoading: o || c, error: m ? (b = (h = g == null ? void 0 : g.response) == null ? void 0 : h.data) == null ? void 0 : b.message : null, onConfirmDelete: () => { e == null || e(), l({ resourceName: t }); } } ); }, tc = { 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") }; pe(tc, "update-name-modal"); const nc = ({ headline: e, description: t, inputLabel: n, defaultValue: a, closeModal: r, isLoading: o, updateDisplayName: i, error: l, cancelButtonLabel: c, confirmButtonLabel: g, pattern: m, patternMessage: h, isOpen: b = !1 }) => { const { t: u } = G("update-name-modal"), [p, w] = Ae.useState(a), [j, P] = Ae.useState(!1); return Ae.useEffect(() => { w(a); }, [a]), Ae.useEffect(() => { const C = new RegExp(m); P(!(p != null && p.match(C))); }, [p, m]), /* @__PURE__ */ s.jsx(Kn, { isOpen: b, onOdsClose: r, children: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col gap-4", children: [ /* @__PURE__ */ s.jsx(Y, { preset: me.heading3, children: e }), !!l && /* @__PURE__ */ s.jsx(Lt, { color: et.critical, children: u("updateModalError", { error: l }) }), t && /* @__PURE__ */ s.jsx(Y, { preset: me.paragraph, children: t }), /* @__PURE__ */ s.jsxs(yt, { children: [ /* @__PURE__ */ s.jsx("label", { slot: "label", htmlFor: "update-name-modal-input", children: n }), /* @__PURE__ */ s.jsx( un, { className: "block", "aria-label": "update-input", id: "update-name-modal-input", name: "update-name-modal-input", isDisabled: o, type: Xn.text, value: p, hasError: j || void 0, onOdsChange: (C) => w(C.detail.value) } ), h && /* @__PURE__ */ s.jsx( Y, { slot: "visual-hint", preset: "span", className: `update-name-modal-pattern-message ${j && m ? "error" : ""}`, children: h } ) ] }), /* @__PURE__ */ s.jsxs("div", { className: "flex justify-end gap-2", children: [ /* @__PURE__ */ s.jsx( B, { slot: "actions", variant: ae.ghost, ...Yn(r), label: c || u("updateModalCancelButton") } ), /* @__PURE__ */ s.jsx( B, { isDisabled: j || a === p || void 0, slot: "actions", isLoading: o, ...Yn(() => i(p)), label: g || u("updateModalConfirmButton") } ) ] }) ] }) }); }, Ov = ({ onConfirm: e, resourceName: t, onSuccess: n, onError: a, mutationKey: r, isLoading: o, ...i }) => { var h, b; const { updateDisplayName: l, isPending: c, error: g, isError: m } = Ki({ onSuccess: n, onError: a, mutationKey: r }); return /* @__PURE__ */ s.jsx( nc, { ...i, isLoading: c || o, error: m ? (b = (h = g == null ? void 0 : g.response) == null ? void 0 : h.data) == null ? void 0 : b.message : null, updateDisplayName: (u) => { e == null || e(), l({ resourceName: t, displayName: u }); } } ); }; /** * 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 ct(e, t) { return typeof e == "function" ? e(t) : e; } function Oe(e, t) { return (n) => { t.setState((a) => ({ ...a, [e]: ct(n, a[e]) })); }; } function ea(e) { return e instanceof Function; } function ac(e) { return Array.isArray(e) && e.every((t) => typeof t == "number"); } function rc(e, t) { const n = [], a = (r) => { r.forEach((o) => { n.push(o); const i = t(o); i != null && i.length && a(i); }); }; return a(e), n; } function z(e, t, n) { let a = [], r; return (o) => { let i; n.key && n.debug && (i = Date.now()); const l = e(o); if (!(l.length !== a.length || l.some((m, h) => a[h] !== m))) return r; a = l; let g; if (n.key && n.debug && (g = Date.now()), r = t(...l), n == null || n.onChange == null || n.onChange(r), n.key && n.debug && n != null && n.debug()) { const m = Math.round((Date.now() - i) * 100) / 100, h = Math.round((Date.now() - g) * 100) / 100, b = h / 16, u = (p, w) => { for (p = String(p); p.length < w; ) p = " " + p; return p; }; console.info(`%c⏱ ${u(h, 5)} /${u(m, 5)} ms`, ` font-size: .6rem; font-weight: bold; color: hsl(${Math.max(0, Math.min(120 - 120 * b, 120))}deg 100% 31%);`, n == null ? void 0 : n.key); } return r; }; } function O(e, t, n, a) { return { debug: () => { var r; return (r = e == null ? void 0 : e.debugAll) != null ? r : e[t]; }, key: process.env.NODE_ENV === "development" && n, onChange: a }; } function oc(e, t, n, a) { const r = () => { var i; return (i = o.getValue()) != null ? i : e.options.renderFallbackValue; }, o = { id: `${t.id}_${n.id}`, row: t, column: n, getValue: () => t.getValue(a), renderValue: r, getContext: z(() => [e, n, t, o], (i, l, c, g) => ({ table: i, column: l, row: c, cell: g, getValue: g.getValue, renderValue: g.renderValue }), O(e.options, "debugCells", "cell.getContext")) }; return e._features.forEach((i) => { i.createCell == null || i.createCell(o, n, t, e); }, {}), o; } function sc(e, t, n, a) { var r, o; const l = { ...e._getDefaultColumnDef(), ...t }, c = l.accessorKey; let g = (r = (o = l.id) != null ? o : c ? typeof String.prototype.replaceAll == "function" ? c.replaceAll(".", "_") : c.replace(/\./g, "_") : void 0) != null ? r : typeof l.header == "string" ? l.header : void 0, m; if (l.accessorFn ? m = l.accessorFn : c && (c.includes(".") ? m = (b) => { let u = b; for (const w of c.split(".")) { var p; u = (p = u) == null ? void 0 : p[w], process.env.NODE_ENV !== "production" && u === void 0 && console.warn(`"${w}" in deeply nested key "${c}" returned undefined.`); } return u; } : m = (b) => b[l.accessorKey]), !g) throw process.env.NODE_ENV !== "production" ? new Error(l.accessorFn ? "Columns require an id when using an accessorFn" : "Columns require an id when using a non-string header") : new Error(); let h = { id: `${String(g)}`, accessorFn: m, parent: a, depth: n, columnDef: l, columns: [], getFlatColumns: z(() => [!0], () => { var b; return [h, ...(b = h.columns) == null ? void 0 : b.flatMap((u) => u.getFlatColumns())]; }, O(e.options, "debugColumns", "column.getFlatColumns")), getLeafColumns: z(() => [e._getOrderColumnsFn()], (b) => { var u; if ((u = h.columns) != null && u.length) { let p = h.columns.flatMap((w) => w.getLeafColumns()); return b(p); } return [h]; }, O(e.options, "debugColumns", "column.getLeafColumns")) }; for (const b of e._features) b.createColumn == null || b.createColumn(h, e); return h; } const xe = "debugHeaders"; function xr(e, t, n) { var a; let o = { id: (a = n.id) != null ? a : t.id, column: t, index: n.index, isPlaceholder: !!n.isPlaceholder, placeholderId: n.placeholderId, depth: n.depth, subHeaders: [], colSpan: 0, rowSpan: 0, headerGroup: null, getLeafHeaders: () => { const i = [], l = (c) => { c.subHeaders && c.subHeaders.length && c.subHeaders.map(l), i.push(c); }; return l(o), i; }, getContext: () => ({ table: e, header: o, column: t }) }; return e._features.forEach((i) => { i.createHeader == null || i.createHeader(o, e); }), o; } const ic = { createTable: (e) => { e.getHeaderGroups = z(() => [e.getAllColumns(), e.getVisibleLeafColumns(), e.getState().columnPinning.left, e.getState().columnPinning.right], (t, n, a, r) => { var o, i; const l = (o = a == null ? void 0 : a.map((h) => n.find((b) => b.id === h)).filter(Boolean)) != null ? o : [], c = (i = r == null ? void 0 : r.map((h) => n.find((b) => b.id === h)).filter(Boolean)) != null ? i : [], g = n.filter((h) => !(a != null && a.includes(h.id)) && !(r != null && r.includes(h.id))); return Fn(t, [...l, ...g, ...c], e); }, O(e.options, xe, "getHeaderGroups")), e.getCenterHeaderGroups = z(() => [e.getAllColumns(), e.getVisibleLeafColumns(), e.getState().columnPinning.left, e.getState().columnPinning.right], (t, n, a, r) => (n = n.filter((o) => !(a != null && a.includes(o.id)) && !(r != null && r.includes(o.id))), Fn(t, n, e, "center")), O(e.options, xe, "getCenterHeaderGroups")), e.getLeftHeaderGroups = z(() => [e.getAllColumns(), e.getVisibleLeafColumns(), e.getState().columnPinning.left], (t, n, a) => { var r; const o = (r = a == null ? void 0 : a.map((i) => n.find((l) => l.id === i)).filter(Boolean)) != null ? r : []; return Fn(t, o, e, "left"); }, O(e.options, xe, "getLeftHeaderGroups")), e.getRightHeaderGroups = z(() => [e.getAllColumns(), e.getVisibleLeafColumns(), e.getState().columnPinning.right], (t, n, a) => { var r; const o = (r = a == null ? void 0 : a.map((i) => n.find((l) => l.id === i)).filter(Boolean)) != null ? r : []; return Fn(t, o, e, "right"); }, O(e.options, xe, "getRightHeaderGroups")), e.getFooterGroups = z(() => [e.getHeaderGroups()], (t) => [...t].reverse(), O(e.options, xe, "getFooterGroups")), e.getLeftFooterGroups = z(() => [e.getLeftHeaderGroups()], (t) => [...t].reverse(), O(e.options, xe, "getLeftFooterGroups")), e.getCenterFooterGroups = z(() => [e.getCenterHeaderGroups()], (t) => [...t].reverse(), O(e.options, xe, "getCenterFooterGroups")), e.getRightFooterGroups = z(() => [e.getRightHeaderGroups()], (t) => [...t].reverse(), O(e.options, xe, "getRightFooterGroups")), e.getFlatHeaders = z(() => [e.getHeaderGroups()], (t) => t.map((n) => n.headers).flat(), O(e.options, xe, "getFlatHeaders")), e.getLeftFlatHeaders = z(() => [e.getLeftHeaderGroups()], (t) => t.map((n) => n.headers).flat(), O(e.options, xe, "getLeftFlatHeaders")), e.getCenterFlatHeaders = z(() => [e.getCenterHeaderGroups()], (t) => t.map((n) => n.headers).flat(), O(e.options, xe, "getCenterFlatHeaders")), e.getRightFlatHeaders = z(() => [e.getRightHeaderGroups()], (t) => t.map((n) => n.headers).flat(), O(e.options, xe, "getRightFlatHeaders")), e.getCenterLeafHeaders = z(() => [e.getCenterFlatHeaders()], (t) => t.filter((n) => { var a; return !((a = n.subHeaders) != null && a.length); }), O(e.options, xe, "getCenterLeafHeaders")), e.getLeftLeafHeaders = z(() => [e.getLeftFlatHeaders()], (t) => t.filter((n) => { var a; return !((a = n.subHeaders) != null && a.length); }), O(e.options, xe, "getLeftLeafHeaders")), e.getRightLeafHeaders = z(() => [e.getRightFlatHeaders()], (t) => t.filter((n) => { var a; return !((a = n.subHeaders) != null && a.length); }), O(e.options, xe, "getRightLeafHeaders")), e.getLeafHeaders = z(() => [e.getLeftHeaderGroups(), e.getCenterHeaderGroups(), e.getRightHeaderGroups()], (t, n, a) => { var r, o, i, l, c, g; return [...(r = (o = t[0]) == null ? void 0 : o.headers) != null ? r : [], ...(i = (l = n[0]) == null ? void 0 : l.headers) != null ? i : [], ...(c = (g = a[0]) == null ? void 0 : g.headers) != null ? c : []].map((m) => m.getLeafHeaders()).flat(); }, O(e.options, xe, "getLeafHeaders")); } }; function Fn(e, t, n, a) { var r, o; let i = 0; const l = function(b, u) { u === void 0 && (u = 1), i = Math.max(i, u), b.filter((p) => p.getIsVisible()).forEach((p) => { var w; (w = p.columns) != null && w.length && l(p.columns, u + 1); }, 0); }; l(e); let c = []; const g = (b, u) => { const p = { depth: u, id: [a, `${u}`].filter(Boolean).join("_"), headers: [] }, w = []; b.forEach((j) => { const P = [...w].reverse()[0], C = j.column.depth === p.depth; let S, I = !1; if (C && j.column.parent ? S = j.column.parent : (S = j.column, I = !0), P && (P == null ? void 0 : P.column) === S) P.subHeaders.push(j); else { const V = xr(n, S, { id: [a, u, S.id, j == null ? void 0 : j.id].filter(Boolean).join("_"), isPlaceholder: I, placeholderId: I ? `${w.filter((R) => R.column === S).length}` : void 0, depth: u, index: w.length }); V.subHeaders.push(j), w.push(V); } p.headers.push(j), j.headerGroup = p; }), c.push(p), u > 0 && g(w, u - 1); }, m = t.map((b, u) => xr(n, b, { depth: i, index: u })); g(m, i - 1), c.reverse(); const h = (b) => b.filter((p) => p.column.getIsVisible()).map((p) => { let w = 0, j = 0, P = [0]; p.subHeaders && p.subHeaders.length ? (P = [], h(p.subHeaders).forEach((S) => { let { colSpan: I, rowSpan: V } = S; w += I, P.push(V); })) : w = 1; const C = Math.min(...P); return j = j + C, p.colSpan = w, p.rowSpan = j, { colSpan: w, rowSpan: j }; }); return h((r = (o = c[0]) == null ? void 0 : o.headers) != null ? r : []), c; } const cc = (e, t, n, a, r, o, i) => { let l = { id: t, index: a, original: n, depth: r, parentId: i, _valuesCache: {}, _uniqueValuesCache: {}, getValue: (c) => { if (l._valuesCache.hasOwnProperty(c)) return l._valuesCache[c]; const g = e.getColumn(c); if (g != null && g.accessorFn) return l._valuesCache[c] = g.accessorFn(l.original, a), l._valuesCache[c]; }, getUniqueValues: (c) => { if (l._uniqueValuesCache.hasOwnProperty(c)) return l._uniqueValuesCache[c]; const g = e.getColumn(c); if (g != null && g.accessorFn) return g.columnDef.getUniqueValues ? (l._uniqueValuesCache[c] = g.columnDef.getUniqueValues(l.original, a), l._uniqueValuesCache[c]) : (l._uniqueValuesCache[c] = [l.getValue(c)], l._uniqueValuesCache[c]); }, renderValue: (c) => { var g; return (g = l.getValue(c)) != null ? g : e.options.renderFallbackValue; }, subRows: [], getLeafRows: () => rc(l.subRows, (c) => c.subRows), getParentRow: () => l.parentId ? e.getRow(l.parentId, !0) : void 0, getParentRows: () => { let c = [], g = l; for (; ; ) { const m = g.getParentRow(); if (!m) break; c.push(m), g = m; } return c.reverse(); }, getAllCells: z(() => [e.getAllLeafColumns()], (c) => c.map((g) => oc(e, l, g, g.id)), O(e.options, "debugRows", "getAllCells")), _getAllCellsByColumnId: z(() => [l.getAllCells()], (c) => c.reduce((g, m) => (g[m.column.id] = m, g), {}), O(e.options, "debugRows", "getAllCellsByColumnId")) }; for (let c = 0; c < e._features.length; c++) { const g = e._features[c]; g == null || g.createRow == null || g.createRow(l, e); } return l; }, lc = { createColumn: (e, t) => { e._getFacetedRowModel = t.options.getFacetedRowModel && t.options.getFacetedRowModel(t, e.id), e.getFacetedRowModel = () => e._getFacetedRowModel ? e._getFacetedRowModel() : t.getPreFilteredRowModel(), e._getFacetedUniqueValues = t.options.getFacetedUniqueValues && t.options.getFacetedUniqueValues(t, e.id), e.getFacetedUniqueValues = () => e._getFacetedUniqueValues ? e._getFacetedUniqueValues() : /* @__PURE__ */ new Map(), e._getFacetedMinMaxValues = t.options.getFacetedMinMaxValues && t.options.getFacetedMinMaxValues(t, e.id), e.getFacetedMinMaxValues = () => { if (e._getFacetedMinMaxValues) return e._getFacetedMinMaxValues(); }; } }, so = (e, t, n) => { var a; const r = n.toLowerCase(); return !!(!((a = e.getValue(t)) == null || (a = a.toString()) == null || (a = a.toLowerCase()) == null) && a.includes(r)); }; so.autoRemove = (e) => Ye(e); const io = (e, t, n) => { var a; return !!(!((a = e.getValue(t)) == null || (a = a.toString()) == null) && a.includes(n)); }; io.autoRemove = (e) => Ye(e); const co = (e, t, n) => { var a; return ((a = e.getValue(t)) == null || (a = a.toString()) == null ? void 0 : a.toLowerCase()) === (n == null ? void 0 : n.toLowerCase()); }; co.autoRemove = (e) => Ye(e); const lo = (e, t, n) => { var a; return (a = e.getValue(t)) == null ? void 0 : a.includes(n); }; lo.autoRemove = (e) => Ye(e) || !(e != null && e.length); const uo = (e, t, n) => !n.some((a) => { var r; return !((r = e.getValue(t)) != null && r.includes(a)); }); uo.autoRemove = (e) => Ye(e) || !(e != null && e.length); const go = (e, t, n) => n.some((a) => { var r; return (r = e.getValue(t)) == null ? void 0 : r.includes(a); }); go.autoRemove = (e) => Ye(e) || !(e != null && e.length); const mo = (e, t, n) => e.getValue(t) === n; mo.autoRemove = (e) => Ye(e); const fo = (e, t, n) => e.getValue(t) == n; fo.autoRemove = (e) => Ye(e); const Wa = (e, t, n) => { let [a, r] = n; const o = e.getValue(t); return o >= a && o <= r; }; Wa.resolveFilterValue = (e) => { let [t, n] = e, a = typeof t != "number" ? parseFloat(t) : t, r = typeof n != "number" ? parseFloat(n) : n, o = t === null || Number.isNaN(a) ? -1 / 0 : a, i = n === null || Number.isNaN(r) ? 1 / 0 : r; if (o > i) { const l = o; o = i, i = l; } return [o, i]; }; Wa.autoRemove = (e) => Ye(e) || Ye(e[0]) && Ye(e[1]); const Ke = { includesString: so, includesStringSensitive: io, equalsString: co, arrIncludes: lo, arrIncludesAll: uo, arrIncludesSome: go, equals: mo, weakEquals: fo, inNumberRange: Wa }; function Ye(e) { return e == null || e === ""; } const dc = { getDefaultColumnDef: () => ({ filterFn: "auto" }), getInitialState: (e) => ({ columnFilters: [], ...e }), getDefaultOptions: (e) => ({ onColumnFiltersChange: Oe("columnFilters", e), filterFromLeafRows: !1, maxLeafRowFilterDepth: 100 }), createColumn: (e, t) => { e.getAutoFilterFn = () => { const n = t.getCoreRowModel().flatRows[0], a = n == null ? void 0 : n.getValue(e.id); return typeof a == "string" ? Ke.includesString : typeof a == "number" ? Ke.inNumberRange : typeof a == "boolean" || a !== null && typeof a == "object" ? Ke.equals : Array.isArray(a) ? Ke.arrIncludes : Ke.weakEquals; }, e.getFilterFn = () => { var n, a; return ea(e.columnDef.filterFn) ? e.columnDef.filterFn : e.columnDef.filterFn === "auto" ? e.getAutoFilterFn() : ( // @ts-ignore (n = (a = t.options.filterFns) == null ? void 0 : a[e.columnDef.filterFn]) != null ? n : Ke[e.columnDef.filterFn] ); }, e.getCanFilter = () => { var n, a, r; return ((n = e.columnDef.enableColumnFilter) != null ? n : !0) && ((a = t.options.enableColumnFilters) != null ? a : !0) && ((r = t.options.enableFilters) != null ? r : !0) && !!e.accessorFn; }, e.getIsFiltered = () => e.getFilterIndex() > -1, e.getFilterValue = () => { var n; return (n = t.getState().columnFilters) == null || (n = n.find((a) => a.id === e.id)) == null ? void 0 : n.value; }, e.getFilterIndex = () => { var n, a; return (n = (a = t.getState().columnFilters) == null ? void 0 : a.findIndex((r) => r.id === e.id)) != null ? n : -1; }, e.setFilterValue = (n) => { t.setColumnFilters((a) => { const r = e.getFilterFn(), o = a == null ? void 0 : a.find((m) => m.id === e.id), i = ct(n, o ? o.value : void 0); if (Ar(r, i, e)) { var l; return (l = a == null ? void 0 : a.filter((m) => m.id !== e.id)) != null ? l : []; } const c = { id: e.id, value: i }; if (o) { var g; return (g = a == null ? void 0 : a.map((m) => m.id === e.id ? c : m)) != null ? g : []; } return a != null && a.length ? [...a, c] : [c]; }); }; }, createRow: (e, t) => { e.columnFilters = {}, e.columnFiltersMeta = {}; }, createTable: (e) => { e.setColumnFilters = (t) => { const n = e.getAllLeafColumns(), a = (r) => { var o; return (o = ct(t, r)) == null ? void 0 : o.filter((i) => { const l = n.find((c) => c.id === i.id); if (l) { const c = l.getFilterFn(); if (Ar(c, i.value, l)) return !1; } return !0; }); }; e.options.onColumnFiltersChange == null || e.options.onColumnFiltersChange(a); }, e.resetColumnFilters = (t) => { var n, a; e.setColumnFilters(t ? [] : (n = (a = e.initialState) == null ? void 0 : a.columnFilters) != null ? n : []); }, 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 Ar(e, t, n) { return (e && e.autoRemove ? e.autoRemove(t, n) : !1) || typeof t > "u" || typeof t == "string" && !t; } const uc = (e, t, n) => n.reduce((a, r) => { const o = r.getValue(e); return a + (typeof o == "number" ? o : 0); }, 0), gc = (e, t, n) => { let a; return n.forEach((r) => { const o = r.getValue(e); o != null && (a > o || a === void 0 && o >= o) && (a = o); }), a; }, mc = (e, t, n) => { let a; return n.forEach((r) => { const o = r.getValue(e); o != null && (a < o || a === void 0 && o >= o) && (a = o); }), a; }, fc = (e, t, n) => { let a, r; return n.forEach((o) => { const i = o.getValue(e); i != null && (a === void 0 ? i >= i && (a = r = i) : (a > i && (a = i), r < i && (r = i))); }), [a, r]; }, pc = (e, t) => { let n = 0, a = 0; if (t.forEach((r) => { let o = r.getValue(e); o != null && (o = +o) >= o && (++n, a += o); }), n) return a / n; }, hc = (e, t) => { if (!t.length) return; const n = t.map((o) => o.getValue(e)); if (!ac(n)) return; if (n.length === 1) return n[0]; const a = Math.floor(n.length / 2), r = n.sort((o, i) => o - i); return n.length % 2 !== 0 ? r[a] : (r[a - 1] + r[a]) / 2; }, vc = (e, t) => Array.from(new Set(t.map((n) => n.getValue(e))).values()), bc = (e, t) => new Set(t.map((n) => n.getValue(e))).size, wc = (e, t) => t.length, pa = { sum: uc, min: gc, max: mc, extent: fc, mean: pc, median: hc, unique: vc, uniqueCount: bc, count: wc }, xc = { getDefaultColumnDef: () => ({ aggregatedCell: (e) => { var t, n; return (t = (n = e.getValue()) == null || n.toString == null ? void 0 : n.toString()) != null ? t : null; }, aggregationFn: "auto" }), getInitialState: (e) => ({ grouping: [], ...e }), getDefaultOptions: (e) => ({ onGroupingChange: Oe("grouping", e), groupedColumnMode: "reorder" }), createColumn: (e, t) => { e.toggleGrouping = () => { t.setGrouping((n) => n != null && n.includes(e.id) ? n.filter((a) => a !== e.id) : [...n ?? [], e.id]); }, e.getCanGroup = () => { var n, a; return ((n = e.columnDef.enableGrouping) != null ? n : !0) && ((a = t.options.enableGrouping) != null ? a : !0) && (!!e.accessorFn || !!e.columnDef.getGroupingValue); }, e.getIsGrouped = () => { var n; return (n = t.getState().grouping) == null ? void 0 : n.includes(e.id); }, e.getGroupedIndex = () => { var n; return (n = t.getState().grouping) == null ? void 0 : n.indexOf(e.id); }, e.getToggleGroupingHandler = () => { const n = e.getCanGroup(); return () => { n && e.toggleGrouping(); }; }, e.getAutoAggregationFn = () => { const n = t.getCoreRowModel().flatRows[0], a = n == null ? void 0 : n.getValue(e.id); if (typeof a == "number") return pa.sum; if (Object.prototype.toString.call(a) === "[object Date]") return pa.extent; }, e.getAggregationFn = () => { var n, a; if (!e) throw new Error(); return ea(e.columnDef.aggregationFn) ? e.columnDef.aggregationFn : e.columnDef.aggregationFn === "auto" ? e.getAutoAggregationFn() : (n = (a = t.options.aggregationFns) == null ? void 0 : a[e.columnDef.aggregationFn]) != null ? n : pa[e.columnDef.aggregationFn]; }; }, createTable: (e) => { e.setGrouping = (t) => e.options.onGroupingChange == null ? void 0 : e.options.onGroupingChange(t), e.resetGrouping = (t) => { var n, a; e.setGrouping(t ? [] : (n = (a = e.initialState) == null ? void 0 : a.grouping) != null ? n : []); }, 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, t) => { e.getIsGrouped = () => !!e.groupingColumnId, e.getGroupingValue = (n) => { if (e._groupingValuesCache.hasOwnProperty(n)) return e._groupingValuesCache[n]; const a = t.getColumn(n); return a != null && a.columnDef.getGroupingValue ? (e._groupingValuesCache[n] = a.columnDef.getGroupingValue(e.original), e._groupingValuesCache[n]) : e.getValue(n); }, e._groupingValuesCache = {}; }, createCell: (e, t, n, a) => { e.getIsGrouped = () => t.getIsGrouped() && t.id === n.groupingColumnId, e.getIsPlaceholder = () => !e.getIsGrouped() && t.getIsGrouped(), e.getIsAggregated = () => { var r; return !e.getIsGrouped() && !e.getIsPlaceholder() && !!((r = n.subRows) != null && r.length); }; } }; function Ac(e, t, n) { if (!(t != null && t.length) || !n) return e; const a = e.filter((o) => !t.includes(o.id)); return n === "remove" ? a : [...t.map((o) => e.find((i) => i.id === o)).filter(Boolean), ...a]; } const yc = { getInitialState: (e) => ({ columnOrder: [], ...e }), getDefaultOptions: (e) => ({ onColumnOrderChange: Oe("columnOrder", e) }), createColumn: (e, t) => { e.getIndex = z((n) => [cn(t, n)], (n) => n.findIndex((a) => a.id === e.id), O(t.options, "debugColumns", "getIndex")), e.getIsFirstColumn = (n) => { var a; return ((a = cn(t, n)[0]) == null ? void 0 : a.id) === e.id; }, e.getIsLastColumn = (n) => { var a; const r = cn(t, n); return ((a = r[r.length - 1]) == null ? void 0 : a.id) === e.id; }; }, createTable: (e) => { e.setColumnOrder = (t) => e.options.onColumnOrderChange == null ? void 0 : e.options.onColumnOrderChange(t), e.resetColumnOrder = (t) => { var n; e.setColumnOrder(t ? [] : (n = e.initialState.columnOrder) != null ? n : []); }, e._getOrderColumnsFn = z(() => [e.getState().columnOrder, e.getState().grouping, e.options.groupedColumnMode], (t, n, a) => (r) => { let o = []; if (!(t != null && t.length)) o = r; else { const i = [...t], l = [...r]; for (; l.length && i.length; ) { const c = i.shift(), g = l.findIndex((m) => m.id === c); g > -1 && o.push(l.splice(g, 1)[0]); } o = [...o, ...l]; } return Ac(o, n, a); }, O(e.options, "debugTable", "_getOrderColumnsFn")); } }, ha = () => ({ left: [], right: [] }), jc = { getInitialState: (e) => ({ columnPinning: ha(), ...e }), getDefaultOptions: (e) => ({ onColumnPinningChange: Oe("columnPinning", e) }), createColumn: (e, t) => { e.pin = (n) => { const a = e.getLeafColumns().map((r) => r.id).filter(Boolean); t.setColumnPinning((r) => { var o, i; if (n === "right") { var l, c; return { left: ((l = r == null ? void 0 : r.left) != null ? l : []).filter((h) => !(a != null && a.includes(h))), right: [...((c = r == null ? void 0 : r.right) != null ? c : []).filter((h) => !(a != null && a.includes(h))), ...a] }; } if (n === "left") { var g, m; return { left: [...((g = r == null ? void 0 : r.left) != null ? g : []).filter((h) => !(a != null && a.includes(h))), ...a], right: ((m = r == null ? void 0 : r.right) != null ? m : []).filter((h) => !(a != null && a.includes(h))) }; } return { left: ((o = r == null ? void 0 : r.left) != null ? o : []).filter((h) => !(a != null && a.includes(h))), right: ((i = r == null ? void 0 : r.right) != null ? i : []).filter((h) => !(a != null && a.includes(h))) }; }); }, e.getCanPin = () => e.getLeafColumns().some((a) => { var r, o, i; return ((r = a.columnDef.enablePinning) != null ? r : !0) && ((o = (i = t.options.enableColumnPinning) != null ? i : t.options.enablePinning) != null ? o : !0); }), e.getIsPinned = () => { const n = e.getLeafColumns().map((l) => l.id), { left: a, right: r } = t.getState().columnPinning, o = n.some((l) => a == null ? void 0 : a.includes(l)), i = n.some((l) => r == null ? void 0 : r.includes(l)); return o ? "left" : i ? "right" : !1; }, e.getPinnedIndex = () => { var n, a; const r = e.getIsPinned(); return r ? (n = (a = t.getState().columnPinning) == null || (a = a[r]) == null ? void 0 : a.indexOf(e.id)) != null ? n : -1 : 0; }; }, createRow: (e, t) => { e.getCenterVisibleCells = z(() => [e._getAllVisibleCells(), t.getState().columnPinning.left, t.getState().columnPinning.right], (n, a, r) => { const o = [...a ?? [], ...r ?? []]; return n.filter((i) => !o.includes(i.column.id)); }, O(t.options, "debugRows", "getCenterVisibleCells")), e.getLeftVisibleCells = z(() => [e._getAllVisibleCells(), t.getState().columnPinning.left], (n, a) => (a ?? []).map((o) => n.find((i) => i.column.id === o)).filter(Boolean).map((o) => ({ ...o, position: "left" })), O(t.options, "debugRows", "getLeftVisibleCells")), e.getRightVisibleCells = z(() => [e._getAllVisibleCells(), t.getState().columnPinning.right], (n, a) => (a ?? []).map((o) => n.find((i) => i.column.id === o)).filter(Boolean).map((o) => ({ ...o, position: "right" })), O(t.options, "debugRows", "getRightVisibleCells")); }, createTable: (e) => { e.setColumnPinning = (t) => e.options.onColumnPinningChange == null ? void 0 : e.options.onColumnPinningChange(t), e.resetColumnPinning = (t) => { var n, a; return e.setColumnPinning(t ? ha() : (n = (a = e.initialState) == null ? void 0 : a.columnPinning) != null ? n : ha()); }, e.getIsSomeColumnsPinned = (t) => { var n; const a = e.getState().columnPinning; if (!t) { var r, o; return !!((r = a.left) != null && r.length || (o = a.right) != null && o.length); } return !!((n = a[t]) != null && n.length); }, e.getLeftLeafColumns = z(() => [e.getAllLeafColumns(), e.getState().columnPinning.left], (t, n) => (n ?? []).map((a) => t.find((r) => r.id === a)).filter(Boolean), O(e.options, "debugColumns", "getLeftLeafColumns")), e.getRightLeafColumns = z(() => [e.getAllLeafColumns(), e.getState().columnPinning.right], (t, n) => (n ?? []).map((a) => t.find((r) => r.id === a)).filter(Boolean), O(e.options, "debugColumns", "getRightLeafColumns")), e.getCenterLeafColumns = z(() => [e.getAllLeafColumns(), e.getState().columnPinning.left, e.getState().columnPinning.right], (t, n, a) => { const r = [...n ?? [], ...a ?? []]; return t.filter((o) => !r.includes(o.id)); }, O(e.options, "debugColumns", "getCenterLeafColumns")); } }, Gn = { size: 150, minSize: 20, maxSize: Number.MAX_SAFE_INTEGER }, va = () => ({ startOffset: null, startSize: null, deltaOffset: null, deltaPercentage: null, isResizingColumn: !1, columnSizingStart: [] }), Pc = { getDefaultColumnDef: () => Gn, getInitialState: (e) => ({ columnSizing: {}, columnSizingInfo: va(), ...e }), getDefaultOptions: (e) => ({ columnResizeMode: "onEnd", columnResizeDirection: "ltr", onColumnSizingChange: Oe("columnSizing", e), onColumnSizingInfoChange: Oe("columnSizingInfo", e) }), createColumn: (e, t) => { e.getSize = () => { var n, a, r; const o = t.getState().columnSizing[e.id]; return Math.min(Math.max((n = e.columnDef.minSize) != null ? n : Gn.minSize, (a = o ?? e.columnDef.size) != null ? a : Gn.size), (r = e.columnDef.maxSize) != null ? r : Gn.maxSize); }, e.getStart = z((n) => [n, cn(t, n), t.getState().columnSizing], (n, a) => a.slice(0, e.getIndex(n)).reduce((r, o) => r + o.getSize(), 0), O(t.options, "debugColumns", "getStart")), e.getAfter = z((n) => [n, cn(t, n), t.getState().columnSizing], (n, a) => a.slice(e.getIndex(n) + 1).reduce((r, o) => r + o.getSize(), 0), O(t.options, "debugColumns", "getAfter")), e.resetSize = () => { t.setColumnSizing((n) => { let { [e.id]: a, ...r } = n; return r; }); }, e.getCanResize = () => { var n, a; return ((n = e.columnDef.enableResizing) != null ? n : !0) && ((a = t.options.enableColumnResizing) != null ? a : !0); }, e.getIsResizing = () => t.getState().columnSizingInfo.isResizingColumn === e.id; }, createHeader: (e, t) => { e.getSize = () => { let n = 0; const a = (r) => { if (r.subHeaders.length) r.subHeaders.forEach(a); else { var o; n += (o = r.column.getSize()) != null ? o : 0; } }; return a(e), n; }, e.getStart = () => { if (e.index > 0) { const n = e.headerGroup.headers[e.index - 1]; return n.getStart() + n.getSize(); } return 0; }, e.getResizeHandler = (n) => { const a = t.getColumn(e.column.id), r = a == null ? void 0 : a.getCanResize(); return (o) => { if (!a || !r || (o.persist == null || o.persist(), ba(o) && o.touches && o.touches.length > 1)) return; const i = e.getSize(), l = e ? e.getLeafHeaders().map((P) => [P.column.id, P.column.getSize()]) : [[a.id, a.getSize()]], c = ba(o) ? Math.round(o.touches[0].clientX) : o.clientX, g = {}, m = (P, C) => { typeof C == "number" && (t.setColumnSizingInfo((S) => { var I, V; const R = t.options.columnResizeDirection === "rtl" ? -1 : 1, M = (C - ((I = S == null ? void 0 : S.startOffset) != null ? I : 0)) * R, ee = Math.max(M / ((V = S == null ? void 0 : S.startSize) != null ? V : 0), -0.999999); return S.columnSizingStart.forEach((Ne) => { let [Be, Re] = Ne; g[Be] = Math.round(Math.max(Re + Re * ee, 0) * 100) / 100; }), { ...S, deltaOffset: M, deltaPercentage: ee }; }), (t.options.columnResizeMode === "onChange" || P === "end") && t.setColumnSizing((S) => ({ ...S, ...g }))); }, h = (P) => m("move", P), b = (P) => { m("end", P), t.setColumnSizingInfo((C) => ({ ...C, isResizingColumn: !1, startOffset: null, startSize: null, deltaOffset: null, deltaPercentage: null, columnSizingStart: [] })); }, u = n || typeof document < "u" ? document : null, p = { moveHandler: (P) => h(P.clientX), upHandler: (P) => { u == null || u.removeEventListener("mousemove", p.moveHandler), u == null || u.removeEventListener("mouseup", p.upHandler), b(P.clientX); } }, w = { moveHandler: (P) => (P.cancelable && (P.preventDefault(), P.stopPropagation()), h(P.touches[0].clientX), !1), upHandler: (P) => { var C; u == null || u.removeEventListener("touchmove", w.moveHandler), u == null || u.removeEventListener("touchend", w.upHandler), P.cancelable && (P.preventDefault(), P.stopPropagation()), b((C = P.touches[0]) == null ? void 0 : C.clientX); } }, j = Cc() ? { passive: !1 } : !1; ba(o) ? (u == null || u.addEventListener("touchmove", w.moveHandler, j), u == null || u.addEventListener("touchend", w.upHandler, j)) : (u == null || u.addEventListener("mousemove", p.moveHandler, j), u == null || u.addEventListener("mouseup", p.upHandler, j)), t.setColumnSizingInfo((P) => ({ ...P, startOffset: c, startSize: i, deltaOffset: 0, deltaPercentage: 0, columnSizingStart: l, isResizingColumn: a.id })); }; }; }, createTable: (e) => { e.setColumnSizing = (t) => e.options.onColumnSizingChange == null ? void 0 : e.options.onColumnSizingChange(t), e.setColumnSizingInfo = (t) => e.options.onColumnSizingInfoChange == null ? void 0 : e.options.onColumnSizingInfoChange(t), e.resetColumnSizing = (t) => { var n; e.setColumnSizing(t ? {} : (n = e.initialState.columnSizing) != null ? n : {}); }, e.resetHeaderSizeInfo = (t) => { var n; e.setColumnSizingInfo(t ? va() : (n = e.initialState.columnSizingInfo) != null ? n : va()); }, e.getTotalSize = () => { var t, n; return (t = (n = e.getHeaderGroups()[0]) == null ? void 0 : n.headers.reduce((a, r) => a + r.getSize(), 0)) != null ? t : 0; }, e.getLeftTotalSize = () => { var t, n; return (t = (n = e.getLeftHeaderGroups()[0]) == null ? void 0 : n.headers.reduce((a, r) => a + r.getSize(), 0)) != null ? t : 0; }, e.getCenterTotalSize = () => { var t, n; return (t = (n = e.getCenterHeaderGroups()[0]) == null ? void 0 : n.headers.reduce((a, r) => a + r.getSize(), 0)) != null ? t : 0; }, e.getRightTotalSize = () => { var t, n; return (t = (n = e.getRightHeaderGroups()[0]) == null ? void 0 : n.headers.reduce((a, r) => a + r.getSize(), 0)) != null ? t : 0; }; } }; let Ln = null; function Cc() { if (typeof Ln == "boolean") return Ln; let e = !1; try { const t = { get passive() { return e = !0, !1; } }, n = () => { }; window.addEventListener("test", n, t), window.removeEventListener("test", n); } catch { e = !1; } return Ln = e, Ln; } function ba(e) { return e.type === "touchstart"; } const Sc = { getInitialState: (e) => ({ columnVisibility: {}, ...e }), getDefaultOptions: (e) => ({ onColumnVisibilityChange: Oe("columnVisibility", e) }), createColumn: (e, t) => { e.toggleVisibility = (n) => { e.getCanHide() && t.setColumnVisibility((a) => ({ ...a, [e.id]: n ?? !e.getIsVisible() })); }, e.getIsVisible = () => { var n, a; const r = e.columns; return (n = r.length ? r.some((o) => o.getIsVisible()) : (a = t.getState().columnVisibility) == null ? void 0 : a[e.id]) != null ? n : !0; }, e.getCanHide = () => { var n, a; return ((n = e.columnDef.enableHiding) != null ? n : !0) && ((a = t.options.enableHiding) != null ? a : !0); }, e.getToggleVisibilityHandler = () => (n) => { e.toggleVisibility == null || e.toggleVisibility(n.target.checked); }; }, createRow: (e, t) => { e._getAllVisibleCells = z(() => [e.getAllCells(), t.getState().columnVisibility], (n) => n.filter((a) => a.column.getIsVisible()), O(t.options, "debugRows", "_getAllVisibleCells")), e.getVisibleCells = z(() => [e.getLeftVisibleCells(), e.getCenterVisibleCells(), e.getRightVisibleCells()], (n, a, r) => [...n, ...a, ...r], O(t.options, "debugRows", "getVisibleCells")); }, createTable: (e) => { const t = (n, a) => z(() => [a(), a().filter((r) => r.getIsVisible()).map((r) => r.id).join("_")], (r) => r.filter((o) => o.getIsVisible == null ? void 0 : o.getIsVisible()), O(e.options, "debugColumns", n)); e.getVisibleFlatColumns = t("getVisibleFlatColumns", () => e.getAllFlatColumns()), e.getVisibleLeafColumns = t("getVisibleLeafColumns", () => e.getAllLeafColumns()), e.getLeftVisibleLeafColumns = t("getLeftVisibleLeafColumns", () => e.getLeftLeafColumns()), e.getRightVisibleLeafColumns = t("getRightVisibleLeafColumns", () => e.getRightLeafColumns()), e.getCenterVisibleLeafColumns = t("getCenterVisibleLeafColumns", () => e.getCenterLeafColumns()), e.setColumnVisibility = (n) => e.options.onColumnVisibilityChange == null ? void 0 : e.options.onColumnVisibilityChange(n), e.resetColumnVisibility = (n) => { var a; e.setColumnVisibility(n ? {} : (a = e.initialState.columnVisibility) != null ? a : {}); }, e.toggleAllColumnsVisible = (n) => { var a; n = (a = n) != null ? a : !e.getIsAllColumnsVisible(), e.setColumnVisibility(e.getAllLeafColumns().reduce((r, o) => ({ ...r, [o.id]: n || !(o.getCanHide != null && o.getCanHide()) }), {})); }, e.getIsAllColumnsVisible = () => !e.getAllLeafColumns().some((n) => !(n.getIsVisible != null && n.getIsVisible())), e.getIsSomeColumnsVisible = () => e.getAllLeafColumns().some((n) => n.getIsVisible == null ? void 0 : n.getIsVisible()), e.getToggleAllColumnsVisibilityHandler = () => (n) => { var a; e.toggleAllColumnsVisible((a = n.target) == null ? void 0 : a.checked); }; } }; function cn(e, t) { return t ? t === "center" ? e.getCenterVisibleLeafColumns() : t === "left" ? e.getLeftVisibleLeafColumns() : e.getRightVisibleLeafColumns() : e.getVisibleLeafColumns(); } const _c = { 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(); }; } }, Ec = { getInitialState: (e) => ({ globalFilter: void 0, ...e }), getDefaultOptions: (e) => ({ onGlobalFilterChange: Oe("globalFilter", e), globalFilterFn: "auto", getColumnCanGlobalFilter: (t) => { var n; const a = (n = e.getCoreRowModel().flatRows[0]) == null || (n = n._getAllCellsByColumnId()[t.id]) == null ? void 0 : n.getValue(); return typeof a == "string" || typeof a == "number"; } }), createColumn: (e, t) => { e.getCanGlobalFilter = () => { var n, a, r, o; return ((n = e.columnDef.enableGlobalFilter) != null ? n : !0) && ((a = t.options.enableGlobalFilter) != null ? a : !0) && ((r = t.options.enableFilters) != null ? r : !0) && ((o = t.options.getColumnCanGlobalFilter == null ? void 0 : t.options.getColumnCanGlobalFilter(e)) != null ? o : !0) && !!e.accessorFn; }; }, createTable: (e) => { e.getGlobalAutoFilterFn = () => Ke.includesString, e.getGlobalFilterFn = () => { var t, n; const { globalFilterFn: a } = e.options; return ea(a) ? a : a === "auto" ? e.getGlobalAutoFilterFn() : (t = (n = e.options.filterFns) == null ? void 0 : n[a]) != null ? t : Ke[a]; }, e.setGlobalFilter = (t) => { e.options.onGlobalFilterChange == null || e.options.onGlobalFilterChange(t); }, e.resetGlobalFilter = (t) => { e.setGlobalFilter(t ? void 0 : e.initialState.globalFilter); }; } }, Rc = { getInitialState: (e) => ({ expanded: {}, ...e }), getDefaultOptions: (e) => ({ onExpandedChange: Oe("expanded", e), paginateExpandedRows: !0 }), createTable: (e) => { let t = !1, n = !1; e._autoResetExpanded = () => { var a, r; if (!t) { e._queue(() => { t = !0; }); return; } if ((a = (r = e.options.autoResetAll) != null ? r : e.options.autoResetExpanded) != null ? a : !e.options.manualExpanding) { if (n) return; n = !0, e._queue(() => { e.resetExpanded(), n = !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 i = o.split("."); a = Math.max(a, i.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, t) => { e.toggleExpanded = (n) => { t.setExpanded((a) => { var r; const o = a === !0 ? !0 : !!(a != null && a[e.id]); let i = {}; if (a === !0 ? Object.keys(t.getRowModel().rowsById).forEach((l) => { i[l] = !0; }) : i = a, n = (r = n) != null ? r : !o, !o && n) return { ...i, [e.id]: !0 }; if (o && !n) { const { [e.id]: l, ...c } = i; return c; } return a; }); }, e.getIsExpanded = () => { var n; const a = t.getState().expanded; return !!((n = t.options.getIsRowExpanded == null ? void 0 : t.options.getIsRowExpanded(e)) != null ? n : a === !0 || a != null && a[e.id]); }, e.getCanExpand = () => { var n, a, r; return (n = t.options.getRowCanExpand == null ? void 0 : t.options.getRowCanExpand(e)) != null ? n : ((a = t.options.enableExpanding) != null ? a : !0) && !!((r = e.subRows) != null && r.length); }, e.getIsAllParentsExpanded = () => { let n = !0, a = e; for (; n && a.parentId; ) a = t.getRow(a.parentId, !0), n = a.getIsExpanded(); return n; }, e.getToggleExpandedHandler = () => { const n = e.getCanExpand(); return () => { n && e.toggleExpanded(); }; }; } }, Ra = 0, Ma = 10, wa = () => ({ pageIndex: Ra, pageSize: Ma }), Mc = { getInitialState: (e) => ({ ...e, pagination: { ...wa(), ...e == null ? void 0 : e.pagination } }), getDefaultOptions: (e) => ({ onPaginationChange: Oe("pagination", e) }), createTable: (e) => { let t = !1, n = !1; e._autoResetPageIndex = () => { var a, r; if (!t) { e._queue(() => { t = !0; }); return; } if ((a = (r = e.options.autoResetAll) != null ? r : e.options.autoResetPageIndex) != null ? a : !e.options.manualPagination) { if (n) return; n = !0, e._queue(() => { e.resetPageIndex(), n = !1; }); } }, e.setPagination = (a) => { const r = (o) => ct(a, o); return e.options.onPaginationChange == null ? void 0 : e.options.onPaginationChange(r); }, e.resetPagination = (a) => { var r; e.setPagination(a ? wa() : (r = e.initialState.pagination) != null ? r : wa()); }, e.setPageIndex = (a) => { e.setPagination((r) => { let o = ct(a, r.pageIndex); const i = 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, i)), { ...r, pageIndex: o }; }); }, e.resetPageIndex = (a) => { var r, o; e.setPageIndex(a ? Ra : (r = (o = e.initialState) == null || (o = o.pagination) == null ? void 0 : o.pageIndex) != null ? r : Ra); }, e.resetPageSize = (a) => { var r, o; e.setPageSize(a ? Ma : (r = (o = e.initialState) == null || (o = o.pagination) == null ? void 0 : o.pageSize) != null ? r : Ma); }, e.setPageSize = (a) => { e.setPagination((r) => { const o = Math.max(1, ct(a, r.pageSize)), i = r.pageSize * r.pageIndex, l = Math.floor(i / o); return { ...r, pageIndex: l, pageSize: o }; }); }, e.setPageCount = (a) => e.setPagination((r) => { var o; let i = ct(a, (o = e.options.pageCount) != null ? o : -1); return typeof i == "number" && (i = Math.max(-1, i)), { ...r, pageCount: i }; }), e.getPageOptions = z(() => [e.getPageCount()], (a) => { let r = []; return a && a > 0 && (r = [...new Array(a)].fill(null).map((o, i) => i)), r; }, O(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; }; } }, xa = () => ({ top: [], bottom: [] }), kc = { getInitialState: (e) => ({ rowPinning: xa(), ...e }), getDefaultOptions: (e) => ({ onRowPinningChange: Oe("rowPinning", e) }), createRow: (e, t) => { e.pin = (n, a, r) => { const o = a ? e.getLeafRows().map((c) => { let { id: g } = c; return g; }) : [], i = r ? e.getParentRows().map((c) => { let { id: g } = c; return g; }) : [], l = /* @__PURE__ */ new Set([...i, e.id, ...o]); t.setRowPinning((c) => { var g, m; if (n === "bottom") { var h, b; return { top: ((h = c == null ? void 0 : c.top) != null ? h : []).filter((w) => !(l != null && l.has(w))), bottom: [...((b = c == null ? void 0 : c.bottom) != null ? b : []).filter((w) => !(l != null && l.has(w))), ...Array.from(l)] }; } if (n === "top") { var u, p; return { top: [...((u = c == null ? void 0 : c.top) != null ? u : []).filter((w) => !(l != null && l.has(w))), ...Array.from(l)], bottom: ((p = c == null ? void 0 : c.bottom) != null ? p : []).filter((w) => !(l != null && l.has(w))) }; } return { top: ((g = c == null ? void 0 : c.top) != null ? g : []).filter((w) => !(l != null && l.has(w))), bottom: ((m = c == null ? void 0 : c.bottom) != null ? m : []).filter((w) => !(l != null && l.has(w))) }; }); }, e.getCanPin = () => { var n; const { enableRowPinning: a, enablePinning: r } = t.options; return typeof a == "function" ? a(e) : (n = a ?? r) != null ? n : !0; }, e.getIsPinned = () => { const n = [e.id], { top: a, bottom: r } = t.getState().rowPinning, o = n.some((l) => a == null ? void 0 : a.includes(l)), i = n.some((l) => r == null ? void 0 : r.includes(l)); return o ? "top" : i ? "bottom" : !1; }, e.getPinnedIndex = () => { var n, a; const r = e.getIsPinned(); if (!r) return -1; const o = (n = r === "top" ? t.getTopRows() : t.getBottomRows()) == null ? void 0 : n.map((i) => { let { id: l } = i; return l; }); return (a = o == null ? void 0 : o.indexOf(e.id)) != null ? a : -1; }; }, createTable: (e) => { e.setRowPinning = (t) => e.options.onRowPinningChange == null ? void 0 : e.options.onRowPinningChange(t), e.resetRowPinning = (t) => { var n, a; return e.setRowPinning(t ? xa() : (n = (a = e.initialState) == null ? void 0 : a.rowPinning) != null ? n : xa()); }, e.getIsSomeRowsPinned = (t) => { var n; const a = e.getState().rowPinning; if (!t) { var r, o; return !!((r = a.top) != null && r.length || (o = a.bottom) != null && o.length); } return !!((n = a[t]) != null && n.length); }, e._getPinnedRows = (t, n, 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 (n ?? []).map((i) => { const l = e.getRow(i, !0); return l.getIsAllParentsExpanded() ? l : null; }) ) : ( //else get only visible rows that are pinned (n ?? []).map((i) => t.find((l) => l.id === i)) )).filter(Boolean).map((i) => ({ ...i, position: a })); }, e.getTopRows = z(() => [e.getRowModel().rows, e.getState().rowPinning.top], (t, n) => e._getPinnedRows(t, n, "top"), O(e.options, "debugRows", "getTopRows")), e.getBottomRows = z(() => [e.getRowModel().rows, e.getState().rowPinning.bottom], (t, n) => e._getPinnedRows(t, n, "bottom"), O(e.options, "debugRows", "getBottomRows")), e.getCenterRows = z(() => [e.getRowModel().rows, e.getState().rowPinning.top, e.getState().rowPinning.bottom], (t, n, a) => { const r = /* @__PURE__ */ new Set([...n ?? [], ...a ?? []]); return t.filter((o) => !r.has(o.id)); }, O(e.options, "debugRows", "getCenterRows")); } }, Dc = { getInitialState: (e) => ({ rowSelection: {}, ...e }), getDefaultOptions: (e) => ({ onRowSelectionChange: Oe("rowSelection", e), enableRowSelection: !0, enableMultiRowSelection: !0, enableSubRowSelection: !0 // enableGroupingRowSelection: false, // isAdditiveSelectEvent: (e: unknown) => !!e.metaKey, // isInclusiveSelectEvent: (e: unknown) => !!e.shiftKey, }), createTable: (e) => { e.setRowSelection = (t) => e.options.onRowSelectionChange == null ? void 0 : e.options.onRowSelectionChange(t), e.resetRowSelection = (t) => { var n; return e.setRowSelection(t ? {} : (n = e.initialState.rowSelection) != null ? n : {}); }, e.toggleAllRowsSelected = (t) => { e.setRowSelection((n) => { t = typeof t < "u" ? t : !e.getIsAllRowsSelected(); const a = { ...n }, r = e.getPreGroupedRowModel().flatRows; return t ? r.forEach((o) => { o.getCanSelect() && (a[o.id] = !0); }) : r.forEach((o) => { delete a[o.id]; }), a; }); }, e.toggleAllPageRowsSelected = (t) => e.setRowSelection((n) => { const a = typeof t < "u" ? t : !e.getIsAllPageRowsSelected(), r = { ...n }; return e.getRowModel().rows.forEach((o) => { ka(r, o.id, a, !0, e); }), r; }), e.getPreSelectedRowModel = () => e.getCoreRowModel(), e.getSelectedRowModel = z(() => [e.getState().rowSelection, e.getCoreRowModel()], (t, n) => Object.keys(t).length ? Aa(e, n) : { rows: [], flatRows: [], rowsById: {} }, O(e.options, "debugTable", "getSelectedRowModel")), e.getFilteredSelectedRowModel = z(() => [e.getState().rowSelection, e.getFilteredRowModel()], (t, n) => Object.keys(t).length ? Aa(e, n) : { rows: [], flatRows: [], rowsById: {} }, O(e.options, "debugTable", "getFilteredSelectedRowModel")), e.getGroupedSelectedRowModel = z(() => [e.getState().rowSelection, e.getSortedRowModel()], (t, n) => Object.keys(t).length ? Aa(e, n) : { rows: [], flatRows: [], rowsById: {} }, O(e.options, "debugTable", "getGroupedSelectedRowModel")), e.getIsAllRowsSelected = () => { const t = e.getFilteredRowModel().flatRows, { rowSelection: n } = e.getState(); let a = !!(t.length && Object.keys(n).length); return a && t.some((r) => r.getCanSelect() && !n[r.id]) && (a = !1), a; }, e.getIsAllPageRowsSelected = () => { const t = e.getPaginationRowModel().flatRows.filter((r) => r.getCanSelect()), { rowSelection: n } = e.getState(); let a = !!t.length; return a && t.some((r) => !n[r.id]) && (a = !1), a; }, e.getIsSomeRowsSelected = () => { var t; const n = Object.keys((t = e.getState().rowSelection) != null ? t : {}).length; return n > 0 && n < e.getFilteredRowModel().flatRows.length; }, e.getIsSomePageRowsSelected = () => { const t = e.getPaginationRowModel().flatRows; return e.getIsAllPageRowsSelected() ? !1 : t.filter((n) => n.getCanSelect()).some((n) => n.getIsSelected() || n.getIsSomeSelected()); }, e.getToggleAllRowsSelectedHandler = () => (t) => { e.toggleAllRowsSelected(t.target.checked); }, e.getToggleAllPageRowsSelectedHandler = () => (t) => { e.toggleAllPageRowsSelected(t.target.checked); }; }, createRow: (e, t) => { e.toggleSelected = (n, a) => { const r = e.getIsSelected(); t.setRowSelection((o) => { var i; if (n = typeof n < "u" ? n : !r, e.getCanSelect() && r === n) return o; const l = { ...o }; return ka(l, e.id, n, (i = a == null ? void 0 : a.selectChildren) != null ? i : !0, t), l; }); }, e.getIsSelected = () => { const { rowSelection: n } = t.getState(); return Qa(e, n); }, e.getIsSomeSelected = () => { const { rowSelection: n } = t.getState(); return Da(e, n) === "some"; }, e.getIsAllSubRowsSelected = () => { const { rowSelection: n } = t.getState(); return Da(e, n) === "all"; }, e.getCanSelect = () => { var n; return typeof t.options.enableRowSelection == "function" ? t.options.enableRowSelection(e) : (n = t.options.enableRowSelection) != null ? n : !0; }, e.getCanSelectSubRows = () => { var n; return typeof t.options.enableSubRowSelection == "function" ? t.options.enableSubRowSelection(e) : (n = t.options.enableSubRowSelection) != null ? n : !0; }, e.getCanMultiSelect = () => { var n; return typeof t.options.enableMultiRowSelection == "function" ? t.options.enableMultiRowSelection(e) : (n = t.options.enableMultiRowSelection) != null ? n : !0; }, e.getToggleSelectedHandler = () => { const n = e.getCanSelect(); return (a) => { var r; n && e.toggleSelected((r = a.target) == null ? void 0 : r.checked); }; }; } }, ka = (e, t, n, a, r) => { var o; const i = r.getRow(t, !0); n ? (i.getCanMultiSelect() || Object.keys(e).forEach((l) => delete e[l]), i.getCanSelect() && (e[t] = !0)) : delete e[t], a && (o = i.subRows) != null && o.length && i.getCanSelectSubRows() && i.subRows.forEach((l) => ka(e, l.id, n, a, r)); }; function Aa(e, t) { const n = e.getState().rowSelection, a = [], r = {}, o = function(i, l) { return i.map((c) => { var g; const m = Qa(c, n); if (m && (a.push(c), r[c.id] = c), (g = c.subRows) != null && g.length && (c = { ...c, subRows: o(c.subRows) }), m) return c; }).filter(Boolean); }; return { rows: o(t.rows), flatRows: a, rowsById: r }; } function Qa(e, t) { var n; return (n = t[e.id]) != null ? n : !1; } function Da(e, t, n) { var a; if (!((a = e.subRows) != null && a.length)) return !1; let r = !0, o = !1; return e.subRows.forEach((i) => { if (!(o && !r) && (i.getCanSelect() && (Qa(i, t) ? o = !0 : r = !1), i.subRows && i.subRows.length)) { const l = Da(i, t); l === "all" ? o = !0 : (l === "some" && (o = !0), r = !1); } }), r ? "all" : o ? "some" : !1; } const za = /([0-9]+)/gm, zc = (e, t, n) => po(ut(e.getValue(n)).toLowerCase(), ut(t.getValue(n)).toLowerCase()), Oc = (e, t, n) => po(ut(e.getValue(n)), ut(t.getValue(n))), Tc = (e, t, n) => Xa(ut(e.getValue(n)).toLowerCase(), ut(t.getValue(n)).toLowerCase()), Nc = (e, t, n) => Xa(ut(e.getValue(n)), ut(t.getValue(n))), Ic = (e, t, n) => { const a = e.getValue(n), r = t.getValue(n); return a > r ? 1 : a < r ? -1 : 0; }, Hc = (e, t, n) => Xa(e.getValue(n), t.getValue(n)); function Xa(e, t) { return e === t ? 0 : e > t ? 1 : -1; } function ut(e) { return typeof e == "number" ? isNaN(e) || e === 1 / 0 || e === -1 / 0 ? "" : String(e) : typeof e == "string" ? e : ""; } function po(e, t) { const n = e.split(za).filter(Boolean), a = t.split(za).filter(Boolean); for (; n.length && a.length; ) { const r = n.shift(), o = a.shift(), i = parseInt(r, 10), l = parseInt(o, 10), c = [i, l].sort(); if (isNaN(c[0])) { if (r > o) return 1; if (o > r) return -1; continue; } if (isNaN(c[1])) return isNaN(i) ? -1 : 1; if (i > l) return 1; if (l > i) return -1; } return n.length - a.length; } const an = { alphanumeric: zc, alphanumericCaseSensitive: Oc, text: Tc, textCaseSensitive: Nc, datetime: Ic, basic: Hc }, Bc = { getInitialState: (e) => ({ sorting: [], ...e }), getDefaultColumnDef: () => ({ sortingFn: "auto", sortUndefined: 1 }), getDefaultOptions: (e) => ({ onSortingChange: Oe("sorting", e), isMultiSortEvent: (t) => t.shiftKey }), createColumn: (e, t) => { e.getAutoSortingFn = () => { const n = t.getFilteredRowModel().flatRows.slice(10); let a = !1; for (const r of n) { const o = r == null ? void 0 : r.getValue(e.id); if (Object.prototype.toString.call(o) === "[object Date]") return an.datetime; if (typeof o == "string" && (a = !0, o.split(za).length > 1)) return an.alphanumeric; } return a ? an.text : an.basic; }, e.getAutoSortDir = () => { const n = t.getFilteredRowModel().flatRows[0]; return typeof (n == null ? void 0 : n.getValue(e.id)) == "string" ? "asc" : "desc"; }, e.getSortingFn = () => { var n, a; if (!e) throw new Error(); return ea(e.columnDef.sortingFn) ? e.columnDef.sortingFn : e.columnDef.sortingFn === "auto" ? e.getAutoSortingFn() : (n = (a = t.options.sortingFns) == null ? void 0 : a[e.columnDef.sortingFn]) != null ? n : an[e.columnDef.sortingFn]; }, e.toggleSorting = (n, a) => { const r = e.getNextSortingOrder(), o = typeof n < "u" && n !== null; t.setSorting((i) => { const l = i == null ? void 0 : i.find((u) => u.id === e.id), c = i == null ? void 0 : i.findIndex((u) => u.id === e.id); let g = [], m, h = o ? n : r === "desc"; if (i != null && i.length && e.getCanMultiSort() && a ? l ? m = "toggle" : m = "add" : i != null && i.length && c !== i.length - 1 ? m = "replace" : l ? m = "toggle" : m = "replace", m === "toggle" && (o || r || (m = "remove")), m === "add") { var b; g = [...i, { id: e.id, desc: h }], g.splice(0, g.length - ((b = t.options.maxMultiSortColCount) != null ? b : Number.MAX_SAFE_INTEGER)); } else m === "toggle" ? g = i.map((u) => u.id === e.id ? { ...u, desc: h } : u) : m === "remove" ? g = i.filter((u) => u.id !== e.id) : g = [{ id: e.id, desc: h }]; return g; }); }, e.getFirstSortDir = () => { var n, a; return ((n = (a = e.columnDef.sortDescFirst) != null ? a : t.options.sortDescFirst) != null ? n : e.getAutoSortDir() === "desc") ? "desc" : "asc"; }, e.getNextSortingOrder = (n) => { var a, r; const o = e.getFirstSortDir(), i = e.getIsSorted(); return i ? i !== o && ((a = t.options.enableSortingRemoval) == null || a) && // If enableSortRemove, enable in general (!(n && (r = t.options.enableMultiRemove) != null) || r) ? !1 : i === "desc" ? "asc" : "desc" : o; }, e.getCanSort = () => { var n, a; return ((n = e.columnDef.enableSorting) != null ? n : !0) && ((a = t.options.enableSorting) != null ? a : !0) && !!e.accessorFn; }, e.getCanMultiSort = () => { var n, a; return (n = (a = e.columnDef.enableMultiSort) != null ? a : t.options.enableMultiSort) != null ? n : !!e.accessorFn; }, e.getIsSorted = () => { var n; const a = (n = t.getState().sorting) == null ? void 0 : n.find((r) => r.id === e.id); return a ? a.desc ? "desc" : "asc" : !1; }, e.getSortIndex = () => { var n, a; return (n = (a = t.getState().sorting) == null ? void 0 : a.findIndex((r) => r.id === e.id)) != null ? n : -1; }, e.clearSorting = () => { t.setSorting((n) => n != null && n.length ? n.filter((a) => a.id !== e.id) : []); }, e.getToggleSortingHandler = () => { const n = e.getCanSort(); return (a) => { n && (a.persist == null || a.persist(), e.toggleSorting == null || e.toggleSorting(void 0, e.getCanMultiSort() ? t.options.isMultiSortEvent == null ? void 0 : t.options.isMultiSortEvent(a) : !1)); }; }; }, createTable: (e) => { e.setSorting = (t) => e.options.onSortingChange == null ? void 0 : e.options.onSortingChange(t), e.resetSorting = (t) => { var n, a; e.setSorting(t ? [] : (n = (a = e.initialState) == null ? void 0 : a.sorting) != null ? n : []); }, 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()); } }, Fc = [ ic, Sc, yc, jc, lc, dc, _c, //depends on ColumnFaceting Ec, //depends on ColumnFiltering Bc, xc, //depends on RowSorting Rc, Mc, kc, Dc, Pc ]; function Gc(e) { var t, n; process.env.NODE_ENV !== "production" && (e.debugAll || e.debugTable) && console.info("Creating Table Instance..."); const a = [...Fc, ...(t = e._features) != null ? t : []]; let r = { _features: a }; const o = r._features.reduce((b, u) => Object.assign(b, u.getDefaultOptions == null ? void 0 : u.getDefaultOptions(r)), {}), i = (b) => r.options.mergeOptions ? r.options.mergeOptions(o, b) : { ...o, ...b }; let c = { ...{}, ...(n = e.initialState) != null ? n : {} }; r._features.forEach((b) => { var u; c = (u = b.getInitialState == null ? void 0 : b.getInitialState(c)) != null ? u : c; }); const g = []; let m = !1; const h = { _features: a, options: { ...o, ...e }, initialState: c, _queue: (b) => { g.push(b), m || (m = !0, Promise.resolve().then(() => { for (; g.length; ) g.shift()(); m = !1; }).catch((u) => setTimeout(() => { throw u; }))); }, reset: () => { r.setState(r.initialState); }, setOptions: (b) => { const u = ct(b, r.options); r.options = i(u); }, getState: () => r.options.state, setState: (b) => { r.options.onStateChange == null || r.options.onStateChange(b); }, _getRowId: (b, u, p) => { var w; return (w = r.options.getRowId == null ? void 0 : r.options.getRowId(b, u, p)) != null ? w : `${p ? [p.id, u].join(".") : u}`; }, 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, u) => { let p = (u ? r.getPrePaginationRowModel() : r.getRowModel()).rowsById[b]; if (!p && (p = r.getCoreRowModel().rowsById[b], !p)) throw process.env.NODE_ENV !== "production" ? new Error(`getRow could not find row with ID: ${b}`) : new Error(); return p; }, _getDefaultColumnDef: z(() => [r.options.defaultColumn], (b) => { var u; return b = (u = b) != null ? u : {}, { header: (p) => { const w = p.header.column.columnDef; return w.accessorKey ? w.accessorKey : w.accessorFn ? w.id : null; }, // footer: props => props.header.column.id, cell: (p) => { var w, j; return (w = (j = p.renderValue()) == null || j.toString == null ? void 0 : j.toString()) != null ? w : null; }, ...r._features.reduce((p, w) => Object.assign(p, w.getDefaultColumnDef == null ? void 0 : w.getDefaultColumnDef()), {}), ...b }; }, O(e, "debugColumns", "_getDefaultColumnDef")), _getColumnDefs: () => r.options.columns, getAllColumns: z(() => [r._getColumnDefs()], (b) => { const u = function(p, w, j) { return j === void 0 && (j = 0), p.map((P) => { const C = sc(r, P, j, w), S = P; return C.columns = S.columns ? u(S.columns, C, j + 1) : [], C; }); }; return u(b); }, O(e, "debugColumns", "getAllColumns")), getAllFlatColumns: z(() => [r.getAllColumns()], (b) => b.flatMap((u) => u.getFlatColumns()), O(e, "debugColumns", "getAllFlatColumns")), _getAllFlatColumnsById: z(() => [r.getAllFlatColumns()], (b) => b.reduce((u, p) => (u[p.id] = p, u), {}), O(e, "debugColumns", "getAllFlatColumnsById")), getAllLeafColumns: z(() => [r.getAllColumns(), r._getOrderColumnsFn()], (b, u) => { let p = b.flatMap((w) => w.getLeafColumns()); return u(p); }, O(e, "debugColumns", "getAllLeafColumns")), getColumn: (b) => { const u = r._getAllFlatColumnsById()[b]; return process.env.NODE_ENV !== "production" && !u && console.error(`[Table] Column with id '${b}' does not exist.`), u; } }; Object.assign(r, h); for (let b = 0; b < r._features.length; b++) { const u = r._features[b]; u == null || u.createTable == null || u.createTable(r); } return r; } function Lc() { return (e) => z(() => [e.options.data], (t) => { const n = { rows: [], flatRows: [], rowsById: {} }, a = function(r, o, i) { o === void 0 && (o = 0); const l = []; for (let g = 0; g < r.length; g++) { const m = cc(e, e._getRowId(r[g], g, i), r[g], g, o, void 0, i == null ? void 0 : i.id); if (n.flatRows.push(m), n.rowsById[m.id] = m, l.push(m), e.options.getSubRows) { var c; m.originalSubRows = e.options.getSubRows(r[g], g), (c = m.originalSubRows) != null && c.length && (m.subRows = a(m.originalSubRows, o + 1, m)); } } return l; }; return n.rows = a(t), n; }, O(e.options, "debugTable", "getRowModel", () => e._autoResetPageIndex())); } function Wc() { return (e) => z(() => [e.getState().sorting, e.getPreSortedRowModel()], (t, n) => { if (!n.rows.length || !(t != null && t.length)) return n; const a = e.getState().sorting, r = [], o = a.filter((c) => { var g; return (g = e.getColumn(c.id)) == null ? void 0 : g.getCanSort(); }), i = {}; o.forEach((c) => { const g = e.getColumn(c.id); g && (i[c.id] = { sortUndefined: g.columnDef.sortUndefined, invertSorting: g.columnDef.invertSorting, sortingFn: g.getSortingFn() }); }); const l = (c) => { const g = c.map((m) => ({ ...m })); return g.sort((m, h) => { for (let u = 0; u < o.length; u += 1) { var b; const p = o[u], w = i[p.id], j = w.sortUndefined, P = (b = p == null ? void 0 : p.desc) != null ? b : !1; let C = 0; if (j) { const S = m.getValue(p.id), I = h.getValue(p.id), V = S === void 0, R = I === void 0; if (V || R) { if (j === "first") return V ? -1 : 1; if (j === "last") return V ? 1 : -1; C = V && R ? 0 : V ? j : -j; } } if (C === 0 && (C = w.sortingFn(m, h, p.id)), C !== 0) return P && (C *= -1), w.invertSorting && (C *= -1), C; } return m.index - h.index; }), g.forEach((m) => { var h; r.push(m), (h = m.subRows) != null && h.length && (m.subRows = l(m.subRows)); }), g; }; return { rows: l(n.rows), flatRows: r, rowsById: n.rowsById }; }, O(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, t) { return e ? Qc(e) ? /* @__PURE__ */ Ca.createElement(e, t) : e : null; } function Qc(e) { return Xc(e) || typeof e == "function" || Yc(e); } function Xc(e) { return typeof e == "function" && (() => { const t = Object.getPrototypeOf(e); return t.prototype && t.prototype.isReactComponent; })(); } function Yc(e) { return typeof e == "object" && typeof e.$$typeof == "symbol" && ["react.memo", "react.forward_ref"].includes(e.$$typeof.description); } function Vc(e) { const t = { state: {}, // Dummy state onStateChange: () => { }, // noop renderFallbackValue: null, ...e }, [n] = Ca.useState(() => ({ current: Gc(t) })), [a, r] = Ca.useState(() => n.current.initialState); return n.current.setOptions((o) => ({ ...o, ...e, state: { ...a, ...e.state }, // Similarly, we'll maintain both our internal state and any user-provided // state. onStateChange: (i) => { r(i), e.onStateChange == null || e.onStateChange(i); } })), n.current; } function Jc({ className: e, children: t, "data-testid": n }) { const { t: a } = G("datagrid"); return /* @__PURE__ */ s.jsx(Y, { preset: me.span, "data-testid": n, children: t ?? a("common_empty_text_cell") }); } const gn = [10, 25, 50, 100, 300], ho = { pageIndex: 0, pageSize: gn[0] }, Zc = 5, Uc = ["expander", "actions"], qc = { 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") }; pe(qc, "filters"); function Kc({ resourceType: e, tagKey: t, setTagKey: n, value: a, setValue: r }) { var g, m; const { t: o } = G("filters"), { tags: i, isError: l, isLoading: c } = Di({ resourceType: e }); return /* @__PURE__ */ s.jsxs("div", { children: [ /* @__PURE__ */ s.jsxs(yt, { className: "mt-2 w-full", children: [ /* @__PURE__ */ s.jsx("div", { slot: "label", children: /* @__PURE__ */ s.jsx("span", { className: "text-[--ods-color-heading] leading-[22px]", children: o("common_criteria_adder_key_label") }) }), c && /* @__PURE__ */ s.jsx(Wn, {}), !c && /* @__PURE__ */ s.jsx( rr, { name: "tag-key", allowNewElement: !1, onOdsChange: (h) => { n(h.detail.value); }, "data-testid": "tags-filter-form-key-field", children: !l && (i == null ? void 0 : i.map((h) => /* @__PURE__ */ s.jsx(or, { value: h.key, children: h.key }, h.key))) } ) ] }), /* @__PURE__ */ s.jsxs(yt, { className: "mt-2 w-full", children: [ /* @__PURE__ */ s.jsx("div", { slot: "label", children: /* @__PURE__ */ s.jsx("span", { className: "text-[--ods-color-heading] leading-[22px]", children: o("common_criteria_adder_value_label") }) }), c && /* @__PURE__ */ s.jsx(Wn, {}), !c && /* @__PURE__ */ s.jsx( rr, { name: "tag-value", isDisabled: !t, allowNewElement: !1, onOdsChange: (h) => { r(h.detail.value); }, "data-testid": "tags-filter-form-value-field", children: (m = (g = i == null ? void 0 : i.find((h) => h.key === t)) == null ? void 0 : g.values) == null ? void 0 : m.map((h) => /* @__PURE__ */ s.jsx(or, { value: h, children: h }, h)) } ) ] }) ] }); } function $c({ columns: e, onAddFilter: t, resourceType: n }) { var C, S, I, V, R; const { t: a } = G("filters"), [r, o] = F(((C = e == null ? void 0 : e[0]) == null ? void 0 : C.id) || ""), [i, l] = F( ((I = (S = e == null ? void 0 : e[0]) == null ? void 0 : S.comparators) == null ? void 0 : I[0]) || lt.IsEqual ), [c, g] = F(""), [m, h] = F(null), [b, u] = F(""), p = ye( () => e.find(({ id: M }) => r === M), [e, r] ), w = ye(() => (p == null ? void 0 : p.type) === ge.Date ? m !== null : (p == null ? void 0 : p.type) === ge.Numeric ? !Number.isNaN(Number(c)) && c !== "" : (p == null ? void 0 : p.type) === ge.Tags ? !!b && !!c || !!b && [lt.TagExists, lt.TagNotExists].includes( i ) : c !== "", [p, m, c, b, i]), j = () => { w && (t( { key: r, comparator: i, value: p.type === ge.Date ? m.toISOString() : c, type: p.type, tagKey: b }, p ), g(""), u(""), h(null)); }; $(() => { l(p == null ? void 0 : p.comparators[0]), g(""), u(""), h(null); }, [p]); let P; return (p == null ? void 0 : p.type) === ge.Date ? P = /* @__PURE__ */ s.jsx( zs, { name: "filter-add_value-input", className: "border", value: m, "data-testid": "filter-add_value-date", onOdsChange: (M) => h(M.detail.value) } ) : (p == null ? void 0 : p.type) === ge.Numeric ? P = /* @__PURE__ */ s.jsx( un, { name: "filter-add_value-input", className: "border", type: Xn.text, value: c, pattern: "(\\+|-)?[0-9]+([.][0-9]+)?", "data-testid": "filter-add_value-numeric", onOdsChange: (M) => g(`${M.detail.value}`), onKeyDown: (M) => { M.key === "Enter" && j(); } } ) : ((V = p == null ? void 0 : p.options) == null ? void 0 : V.length) > 0 ? P = /* @__PURE__ */ s.jsx( ma, { value: c, name: `filter-add_value-select-${r}`, "data-testid": "filter-add_value-select", onOdsChange: (M) => g(M.detail.value), children: p == null ? void 0 : p.options.map((M) => /* @__PURE__ */ s.jsx("option", { value: M.value, children: M.label }, M.label)) }, `filter-add_value-select-${r}` ) : P = /* @__PURE__ */ s.jsx( un, { name: "filter-add_value-input", className: "border", type: Xn.text, value: c, "data-testid": "filter-add_value-input", onOdsChange: (M) => g(`${M.detail.value}`), onKeyDown: (M) => { M.key === "Enter" && j(); } } ), /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsxs(yt, { className: "w-full", children: [ /* @__PURE__ */ s.jsx("div", { slot: "label", children: /* @__PURE__ */ s.jsx("span", { className: "text-[--ods-color-heading] leading-[22px]", children: a("common_criteria_adder_column_label") }) }), /* @__PURE__ */ s.jsx( ma, { value: r, name: `add-filter_select_idColumn-${r}`, "data-testid": "add-filter_select_idColumn", onOdsChange: (M) => o(M.detail.value), children: e.map(({ id: M, label: ee }) => /* @__PURE__ */ s.jsx("option", { value: M, children: ee }, M)) }, `add-filter_select_idColumn-${r}` ) ] }) }), /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsxs(yt, { className: "mt-2 w-full", children: [ /* @__PURE__ */ s.jsx("div", { slot: "label", children: /* @__PURE__ */ s.jsx("span", { className: "text-[--ods-color-heading] leading-[22px]", children: a("common_criteria_adder_operator_label") }) }), p && /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx( ma, { name: `add-operator-${p.id}`, value: i, onOdsChange: (M) => { l(M.detail.value); }, "data-testid": `add-operator-${p.id}`, children: (R = p.comparators) == null ? void 0 : R.map((M) => /* @__PURE__ */ s.jsx("option", { value: M, children: a(`common_criteria_adder_operator_${M}`) }, M)) }, `add-operator-${p.id}` ) }, `filter-condition-select-${p.id}`) ] }) }), (p == null ? void 0 : p.type) !== ge.Tags && /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsxs(yt, { className: "mt-2 w-full", children: [ /* @__PURE__ */ s.jsx("div", { slot: "label", children: /* @__PURE__ */ s.jsx("span", { className: "text-[--ods-color-heading] leading-[22px]", children: a("common_criteria_adder_value_label") }) }), P ] }) }), (p == null ? void 0 : p.type) === ge.Tags && /* @__PURE__ */ s.jsx( Kc, { resourceType: n, tagKey: b, setTagKey: u, value: c, setValue: g, "data-testid": "filter-tag-inputs" } ), /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx( B, { className: "mt-4 w-full filter-add-button-submit", size: je.sm, isDisabled: !w, onClick: j, "data-testid": "filter-add_submit", label: a("common_criteria_adder_submit_label") } ) }) ] }); } function el(e, t) { if (!e) return ""; switch (e.type) { case ge.Date: return (/* @__PURE__ */ new Date(`${e.value}`)).toLocaleDateString(t); case ge.Tags: return e.value ? `${e.tagKey}:${e.value}` : e.tagKey || ""; default: return e.value; } } function tl({ filters: e, onRemoveFilter: t }) { var i; const { t: n, i18n: a } = G("filters"), r = (l) => n(`common_criteria_adder_operator_${l}`), o = ((i = a.language) == null ? void 0 : i.replace("_", "-")) || "FR-fr"; return /* @__PURE__ */ s.jsx(s.Fragment, { children: e == null ? void 0 : e.map((l, c) => /* @__PURE__ */ s.jsx( Os, { className: "mr-3", color: Bs.information, size: "lg", onOdsRemove: () => t(l), "data-testid": "filter-list_tag_item", label: `${l.label ? `${l.label} ${r(l.comparator)} ` : ""} ${el(l, o)}` }, c )) }); } const jr = (e, t) => e.key === t.key && e.value === t.value && e.comparator === t.comparator; function Ya() { const [e, t] = F([]); return { filters: e, addFilter: (n) => { (n.value || n.type === ge.Tags && [lt.TagExists, lt.TagNotExists].includes( n.comparator )) && t((a) => a.some((r) => jr(r, n)) ? a : [...a, n]); }, removeFilter: (n) => { t( (a) => a.filter((r) => !jr(r, n)) ); } }; } const nl = { 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") }; pe(nl, "datagrid"); function al({ columnsVisibility: e, toggleAllColumnsVisible: t, getIsAllColumnsVisible: n, getIsSomeColumnsVisible: a }) { const { t: r } = G("datagrid"), o = Ft(null), i = e.filter( (m) => !Uc.includes(m.id) && m.label !== "" ), l = i.filter( (m) => m.isVisible() ).length, c = n(), g = a(); return /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx( B, { id: "datagrid-visibility-popover-trigger", slot: "datagrid-visibility-popover-trigger", "data-testid": "datagrid-topbar-visibility-button", size: je.sm, variant: ae.outline, icon: ue.columns, "aria-label": r("common_topbar_columns"), label: `${r("common_topbar_columns")}${l < i.length ? ` (${l})` : ""}` } ), /* @__PURE__ */ s.jsx( Wt, { ref: o, triggerId: "datagrid-visibility-popover-trigger", "with-arrow": !0, children: /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col", children: [ /* @__PURE__ */ s.jsxs("div", { className: "pr-5 flex flex-row items-center gap-x-2", children: [ /* @__PURE__ */ s.jsx( _a, { name: "toggle-all-columns-visibility", inputId: "toggle-all-columns-visibility", isChecked: c, onOdsChange: () => t(!c), ariaLabel: r("common_topbar_columns_select_all"), isIndeterminate: !c && g } ), /* @__PURE__ */ s.jsx("label", { slot: "label", htmlFor: "toggle-all-columns-visibility", children: /* @__PURE__ */ s.jsx(Y, { preset: me.paragraph, children: r("common_topbar_columns_select_all") }) }) ] }), i.map((m) => /* @__PURE__ */ s.jsx(yt, { children: /* @__PURE__ */ s.jsxs("div", { className: "px-5 flex flex-row items-center gap-x-2", children: [ /* @__PURE__ */ s.jsx( _a, { name: m.id, inputId: m.id, isDisabled: m.isDisabled, isChecked: m.isVisible(), onOdsChange: m.onChange, ariaLabel: m.label } ), /* @__PURE__ */ s.jsx("label", { slot: "label", htmlFor: m.id, children: /* @__PURE__ */ s.jsx(Y, { preset: me.paragraph, children: m.label }) }) ] }) }, m.id)) ] }) } ) ] }); } const rl = ({ columnsVisibility: e, toggleAllColumnsVisible: t, getIsAllColumnsVisible: n, getIsSomeColumnsVisible: a, filters: r, filtersColumns: o, isSearchable: i, search: l, topbar: c, resourceType: g }) => { const { t: m } = G("filters"), h = Ft(null), b = e == null ? void 0 : e.some( (u) => u.enableHiding ); return /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ (i || (o == null ? void 0 : o.length) > 0 || c || b) && /* @__PURE__ */ s.jsxs( "div", { id: "container", className: "flex flex-wrap justify-between pb-6 items-center", children: [ /* @__PURE__ */ s.jsx( "div", { id: "left-side", className: "flex-1 w-full md:w-auto md:order-1 mr-4", children: c && /* @__PURE__ */ s.jsx(s.Fragment, { children: c }) } ), /* @__PURE__ */ s.jsx( "div", { id: "right-side", className: "w-full mt-[10px] md:mt-[0px] md:w-auto md:order-3", children: /* @__PURE__ */ s.jsxs("div", { className: "flex justify-end items-center", children: [ i && /* @__PURE__ */ s.jsx( "form", { className: "mr-[5px]", onSubmit: (u) => { u.preventDefault(), l == null || l.onSearch(l == null ? void 0 : l.searchInput); }, children: /* @__PURE__ */ s.jsx( un, { isClearable: !0, onOdsClear: () => { l == null || l.onSearch(""), l == null || l.setSearchInput(""); }, type: Xn.search, id: "datagrid-searchbar", name: "datagrid-searchbar", placeholder: l == null ? void 0 : l.placeholder, defaultValue: l == null ? void 0 : l.searchInput, "data-testid": "datagrid-searchbar", onOdsChange: (u) => { var p, w; return l == null ? void 0 : l.setSearchInput( ((w = (p = u == null ? void 0 : u.detail) == null ? void 0 : p.value) == null ? void 0 : w.toString()) || "" ); }, value: l == null ? void 0 : l.searchInput } ) } ), (o == null ? void 0 : o.length) > 0 && /* @__PURE__ */ s.jsxs( "div", { className: "ml-[10px]", "data-testid": "datagrid-topbar-filters", children: [ /* @__PURE__ */ s.jsx( B, { id: "datagrid-filter-popover-trigger", slot: "datagrid-filter-popover-trigger", size: je.sm, variant: ae.outline, icon: ue.filter, "aria-label": m("common_criteria_adder_filter_label"), label: m("common_criteria_adder_filter_label") } ), /* @__PURE__ */ s.jsx( Wt, { ref: h, triggerId: "datagrid-filter-popover-trigger", "with-arrow": !0, children: /* @__PURE__ */ s.jsx( $c, { columns: o, resourceType: g, onAddFilter: (u, p) => { var w; r.add({ ...u, label: p.label }), (w = h.current) == null || w.hide(); } } ) } ) ] } ), b && /* @__PURE__ */ s.jsx("div", { className: (o == null ? void 0 : o.length) > 0 ? "ml-[10px]" : "", children: /* @__PURE__ */ s.jsx( al, { columnsVisibility: e, toggleAllColumnsVisible: t, getIsAllColumnsVisible: n, getIsSomeColumnsVisible: a } ) }) ] }) } ) ] } ), (r == null ? void 0 : r.filters.length) > 0 && /* @__PURE__ */ s.jsx( "div", { "data-testid": "datagrid-filter-list", id: "datagrid-filter-list", className: "mb-[24px]", children: /* @__PURE__ */ s.jsx( tl, { filters: r.filters, onRemoveFilter: r.remove } ) } ) ] }); }, Pr = ({ id: e, name: t, label: n, onChange: a, isChecked: r, isIndeterminate: o, isDisabled: i }) => /* @__PURE__ */ s.jsx( _a, { inputId: e, name: t, "aria-label": n, onOdsChange: a, isChecked: r, isIndeterminate: o, isDisabled: i } ), Tv = ({ columns: e, columnVisibility: t, setColumnVisibility: n, items: a, filters: r, search: o, topbar: i, totalItems: l, pagination: c, sorting: g, className: m, onPaginationChange: h, onSortChange: b, contentAlignLeft: u = !0, hasNextPage: p, onFetchNextPage: w, onFetchAllPages: j, manualSorting: P = !0, manualPagination: C = !0, noResultLabel: S, isLoading: I = !1, numberOfLoadingRows: V, renderSubComponent: R, getRowCanExpand: M, resetExpandedRowsOnItemsChange: ee, hideHeader: Ne, tableLayoutFixed: Be, resourceType: Re, rowSelection: L, size: Me = Fs.md, variant: Ce = Gs.default, getRowId: Fe }) => { const { t: ne } = G("datagrid"), Ge = c ? Math.ceil(l / c.pageSize) : 1, Se = ye(() => { if (t) return e.reduce((x, k) => (x[k.id] = t.includes(k.id), x), {}); }, [t == null ? void 0 : t.join(","), JSON.stringify(e)]), Je = jt((x) => { var k; if (typeof x == "function") { const re = (k = Object.keys(x())) == null ? void 0 : k[0]; n == null || n( (K) => K.includes(re) ? K.filter((ke) => ke !== re) : [...K, re] ); } else if (typeof x == "object") { const re = Object.entries(x).filter(([K, ke]) => ke).map(([K, ke]) => K); n == null || n(re); } }, []), ft = Ft({}), ie = Vc({ columns: [ ...L ? [ { id: "select", cell: ({ row: x }) => /* @__PURE__ */ s.jsx( Pr, { id: x.id, name: `select-${x.id}`, label: "select", onChange: () => x.toggleSelected(), isChecked: x.getIsSelected(), isDisabled: !x.getCanSelect() } ), header: () => /* @__PURE__ */ s.jsx( Pr, { id: "select-all", name: "select-all", label: "select", onChange: () => { ie.toggleAllRowsSelected(); }, isChecked: ie.getIsAllRowsSelected(), isIndeterminate: ie.getIsSomeRowsSelected() } ) } ] : [], ...M && R ? [ { id: "expander", enableHiding: !1, cell: ({ row: x }) => x.getCanExpand() ? /* @__PURE__ */ s.jsx( B, { label: "", onClick: x.getToggleExpandedHandler(), icon: x.getIsExpanded() ? ue.chevronDown : ue.chevronRight, variant: ae.ghost, size: je.xs } ) : null } ] : [], ...e.map( (x) => ({ id: x.id, accessorKey: x.id, cell: (k) => x.cell(k.row.original), header: x.label, enableSorting: x.isSortable !== !1, size: x.size, enableHiding: x.enableHiding !== !1 }) ) ], data: a, manualPagination: C, manualSorting: P, enableSortingRemoval: !1, sortDescFirst: !1, getCoreRowModel: Lc(), getRowCanExpand: M, pageCount: Ge, ...!P && { onSortingChange: b, state: { sorting: g, ...(L == null ? void 0 : L.rowSelection) && { rowSelection: L.rowSelection }, ...n && { columnVisibility: Se } }, getSortedRowModel: Wc() }, ...P && { state: { ...g && { sorting: [g] }, ...(L == null ? void 0 : L.rowSelection) && { rowSelection: L.rowSelection }, ...n && { columnVisibility: Se } }, onStateChange: (x) => { if (typeof x == "function") { const k = x({ ...ie.getState(), ...g }); b == null || b(k.sorting[0]); } else b && b(x.sorting[0]); } }, initialState: { ...!n && t && { columnVisibility: Se } }, ...n && { onColumnVisibilityChange: Je }, enableRowSelection: (x) => L != null && L.enableRowSelection ? L.enableRowSelection(x) : !!L, onRowSelectionChange: L == null ? void 0 : L.setRowSelection, getRowId: Fe }); $(() => { ee && ie.resetExpanded(); }, [a, ee]); const St = ye( () => e == null ? void 0 : e.filter( (x) => ("comparator" in x || "type" in x) && "isFilterable" in x && x.isFilterable ).map((x) => ({ id: x.id, label: x.label, ...(x == null ? void 0 : x.type) && { comparators: hs[x.type], type: x.type }, ...(x == null ? void 0 : x.comparator) && { comparators: x.comparator }, ...(x == null ? void 0 : x.filterOptions) && { options: x.filterOptions } })), [e] ), _t = ye( () => ie.getAllLeafColumns().map((x) => { const k = e.find((re) => x.id === re.id); return { id: x.id, label: k == null ? void 0 : k.label, isVisible: () => x.getIsVisible(), isDisabled: !x.getCanHide(), enableHiding: k == null ? void 0 : k.enableHiding, onChange: () => x.toggleVisibility(!x.getIsVisible()) }; }), [e] ), Qt = ye( () => e == null ? void 0 : e.find((x) => x == null ? void 0 : x.isSearchable), [e] ); return $(() => { var k, re, K; const x = ((re = (k = ie.getSelectedRowModel()) == null ? void 0 : k.rows) == null ? void 0 : re.map(({ original: ke }) => ke)) || []; (K = L == null ? void 0 : L.onRowSelectionChange) == null || K.call(L, x); }, [JSON.stringify(L == null ? void 0 : L.rowSelection)]), $(() => { var x; if ((x = ie.getSelectedRowModel()) != null && x.rows) { const k = ie.getSelectedRowModel().rows.reduce((re, { id: K }) => ({ ...re, [K]: !0 }), {}); ie.setRowSelection(k); } }, [JSON.stringify(a)]), /* @__PURE__ */ s.jsxs("div", { children: [ /* @__PURE__ */ s.jsx( rl, { columnsVisibility: _t, toggleAllColumnsVisible: ie.toggleAllColumnsVisible, getIsAllColumnsVisible: ie.getIsAllColumnsVisible, getIsSomeColumnsVisible: ie.getIsSomeColumnsVisible, filtersColumns: St, isSearchable: !!Qt, filters: r, search: o, topbar: i, resourceType: Re } ), /* @__PURE__ */ s.jsx("div", { className: `contents px-[1px] ${m || ""}`, children: /* @__PURE__ */ s.jsx(Ts, { className: "overflow-x-visible", size: Me, variant: Ce, children: /* @__PURE__ */ s.jsxs( "table", { className: "w-full border-collapse", style: { "--expander-column-width": "2.5rem" }, children: [ !Ne && /* @__PURE__ */ s.jsx("thead", { children: ie.getHeaderGroups().map((x) => /* @__PURE__ */ s.jsx("tr", { children: x.headers.map((k) => /* @__PURE__ */ s.jsx( "th", { ref: (re) => { ft.current[k.id] = re; }, className: `${u ? "text-left pl-4" : "text-center"} h-11 whitespace-nowrap ${b && k.column.getCanSort() ? "cursor-pointer" : ""} !min-w-0`, ...b && { onClick: k.column.getToggleSortingHandler() }, children: k.isPlaceholder ? null : /* @__PURE__ */ s.jsxs( "div", { className: "flex items-center select-none", "data-testid": `header-${k.id}`, children: [ /* @__PURE__ */ s.jsx("span", { children: /* @__PURE__ */ s.jsx(s.Fragment, { children: yr( k.column.columnDef.header, k.getContext() ) }) }), /* @__PURE__ */ s.jsx("span", { className: "inline-block ml-2 text-xs", children: /* @__PURE__ */ s.jsx( ln, { className: k.column.getIsSorted() ? "" : "invisible", name: k.column.getIsSorted() === "asc" ? ue.arrowUp : ue.arrowDown } ) }) ] } ) }, k.id )) }, x.id)) }), /* @__PURE__ */ s.jsxs("tbody", { children: [ ie.getRowModel().rows.map((x) => /* @__PURE__ */ s.jsxs(ws, { children: [ /* @__PURE__ */ s.jsx("tr", { className: "border-solid border-[1px] h-[3.25rem] border-[--ods-color-blue-200]", children: x.getVisibleCells().map((k) => /* @__PURE__ */ s.jsx( "td", { className: Pe( u ? "text-left pl-4" : "text-center", { "w-[2.5rem]": k.id.indexOf("expander") !== -1 }, "!min-w-0" ), style: { width: Be ? `${k.column.getSize()}px` : null }, children: yr( k.column.columnDef.cell, k.getContext() ) }, k.id )) }), x.getIsExpanded() && !!R && /* @__PURE__ */ s.jsx("tr", { className: "sub-row", children: /* @__PURE__ */ s.jsx( "td", { className: "!min-w-0", colSpan: x.getVisibleCells().length, children: R(x, ft) } ) }) ] }, x.id)), ie.getRowModel().rows.length === 0 && !I && /* @__PURE__ */ s.jsx( "tr", { className: "border-solid border-[1px] h-[3.25rem] border-[--ods-color-blue-200]", children: /* @__PURE__ */ s.jsx( "td", { className: "text-center", colSpan: e.length + (R ? 1 : 0), children: /* @__PURE__ */ s.jsx(Jc, { children: S ?? ne("common_pagination_no_results") }) } ) } ), I && Array.from({ length: V || (c == null ? void 0 : c.pageSize) || Zc }).map((x, k) => /* @__PURE__ */ s.jsx( "tr", { className: "h-[3.25rem]", "data-testid": "loading-row", children: ie.getAllColumns().map( (re) => re.getIsVisible() ? /* @__PURE__ */ s.jsx("td", { children: /* @__PURE__ */ s.jsx(Wn, {}) }, `loading-cell-${k}-${re.id}`) : null ) }, `loading-row-${k})` )) ] }) ] } ) }) }), !w && (a == null ? void 0 : a.length) > 0 && c ? /* @__PURE__ */ s.jsxs( Ns, { defaultCurrentPage: c.pageIndex + 1, className: "flex xs:justify-start md:justify-end my-8", "total-items": l, "total-pages": Ge, "default-items-per-page": c.pageSize, onOdsChange: ({ detail: x }) => { x.current !== x.oldCurrent && h({ ...c, pageIndex: x.current - 1, pageSize: x.itemPerPage }); }, onOdsItemPerPageChange: ({ detail: x }) => { x.current !== c.pageSize && h({ ...c, pageSize: x.current, pageIndex: 0 }); }, children: [ /* @__PURE__ */ s.jsx("span", { slot: "before-total-items", className: "mr-3", children: ne("common_pagination_of") }), /* @__PURE__ */ s.jsx("span", { slot: "after-total-items", className: "ml-3", children: ne("common_pagination_results") }) ] } ) : /* @__PURE__ */ s.jsx(s.Fragment, {}), p ? /* @__PURE__ */ s.jsxs("div", { className: "flex justify-center gap-5 my-5", children: [ /* @__PURE__ */ s.jsx( B, { "data-testid": "load-more-btn", variant: ae.outline, label: ne("common_pagination_load_more"), onClick: w, isLoading: I } ), j && /* @__PURE__ */ s.jsx( B, { "data-testid": "load-all-btn", variant: ae.outline, label: ne("common_pagination_load_all"), onClick: j, isLoading: I } ) ] }) : null ] }); }, Nv = (e = void 0) => { const [t, n] = F(ho), [a, r] = F(e); return { pagination: t, setPagination: n, sorting: a, setSorting: r }; }, Cr = (e) => Object.fromEntries([...e.entries()]), ol = (e) => { const t = { ...ho }; if (e.has("page")) { let n = parseInt(e.get("page"), 10) - 1; (Number.isNaN(n) || n < 0) && (n = 0), t.pageIndex = n; } if (e.has("pageSize")) { let n = parseInt(e.get("pageSize"), 10); gn.includes(n) || ([n] = gn), t.pageSize = n; } return t; }, sl = (e, t) => { const n = { id: null, desc: !1 }; if (e.has("sort")) n.id = e.get("sort"), e.has("sortOrder") && (n.desc = e.get("sortOrder") === "desc"); else if (t) return t; return n; }, Iv = (e) => { const [t, n] = Ps(); return { pagination: ol(t), sorting: sl(t, e), setPagination: ({ pageIndex: a, pageSize: r }) => { a > 0 ? t.set("page", `${a + 1}`) : t.delete("page"), gn.includes(r) && r !== gn[0] ? t.set("pageSize", `${r}`) : t.delete("pageSize"), n({ ...Cr(t) }); }, setSorting: ({ id: a, desc: r }) => { a ? (t.set("sort", a), r ? t.set("sortOrder", "desc") : t.delete("sortOrder")) : (t.delete("sort"), t.delete("sortOrder")), n({ ...Cr(t) }); } }; }; function Hv({ text: e }) { const { t } = G("datagrid"); return /* @__PURE__ */ s.jsxs(Jr, { value: e, children: [ /* @__PURE__ */ s.jsx("span", { slot: "success-message", children: /* @__PURE__ */ s.jsx(Y, { children: t("common_clipboard_success_label") }) }), /* @__PURE__ */ s.jsx("span", { slot: "error-message", children: /* @__PURE__ */ s.jsx(Y, { children: t("common_clipboard_error_label") }) }) ] }); } const il = ({ onClick: e }) => { const { t } = G("drawer"); return /* @__PURE__ */ s.jsx( "button", { "data-testid": "drawer-backdrop", type: "button", "aria-label": t("close"), tabIndex: 0, className: "fixed inset-0 bg-[var(--ods-color-information-500)] z-40 mrc-drawer-backdrop-fade-in", onClick: e } ); }, cl = { de_DE: () => import("./Messages_de_DE-CjgIbe3u.mjs"), en_GB: () => import("./Messages_en_GB-D7f86wD0.mjs"), es_ES: () => import("./Messages_es_ES-D3qtT0Op.mjs"), fr_CA: () => import("./Messages_fr_CA-CmNfGN6s.mjs"), fr_FR: () => import("./Messages_fr_FR-CmNfGN6s.mjs"), it_IT: () => import("./Messages_it_IT-Cj1CqYq9.mjs"), pl_PL: () => import("./Messages_pl_PL-BDiDAwzt.mjs"), pt_PT: () => import("./Messages_pt_PT-BFfhAIjW.mjs") }; pe(cl, "drawer"); const vo = ({ children: e, heading: t, isOpen: n = !0, isLoading: a, onDismiss: r, isPrimaryButtonLoading: o, isPrimaryButtonDisabled: i, onPrimaryButtonClick: l, primaryButtonLabel: c, isSecondaryButtonLoading: g, isSecondaryButtonDisabled: m, onSecondaryButtonClick: h, secondaryButtonLabel: b, className: u }) => { const { t: p } = G("drawer"); return /* @__PURE__ */ s.jsx( Is, { "data-testid": "drawer", isOpen: n, position: "right", onOdsClose: r, className: Pe( "[&::part(drawer)]:w-full [&::part(drawer)]:sm:w-[var(--mrc-drawer-width)] [&::part(drawer)]:max-w-full [&::part(drawer)]:p-0", u ), children: /* @__PURE__ */ s.jsxs("div", { className: "h-screen overflow-hidden flex flex-col justify-between", children: [ /* @__PURE__ */ s.jsx("header", { className: "min-h-[var(--mrc-drawer-header-height)] px-6 flex items-center", children: /* @__PURE__ */ s.jsxs( "div", { className: Pe( "flex items-center w-full py-6 space-x-2", a ? "justify-end" : "justify-between" ), children: [ !a && /* @__PURE__ */ s.jsx(Y, { preset: me.heading2, children: t }), /* @__PURE__ */ s.jsx( B, { "data-testid": "drawer-dismiss-button", label: "", "aria-label": p("close"), icon: "xmark", onClick: r, color: Xe.primary, variant: ae.ghost } ) ] } ) }), a && /* @__PURE__ */ s.jsx( "div", { "data-testid": "drawer-spinner", className: "h-full flex justify-center items-center", children: /* @__PURE__ */ s.jsx(Un, { size: $n.md }) } ), !a && /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("section", { className: "px-6 flex-1 overflow-y-auto outline-none", children: e }), (c || b) && /* @__PURE__ */ s.jsxs("footer", { className: "p-6 space-x-2", children: [ b && /* @__PURE__ */ s.jsx( B, { variant: ae.ghost, label: b, isLoading: g, isDisabled: m, onClick: h, color: Xe.primary } ), c && /* @__PURE__ */ s.jsx( B, { variant: ae.default, label: c, isLoading: o, isDisabled: i, onClick: l, color: Xe.primary } ) ] }) ] }) ] }) } ); }, Bv = (e) => /* @__PURE__ */ s.jsxs("div", { id: "mrc-drawer", className: "relative", children: [ /* @__PURE__ */ s.jsx(vo, { ...e }), e.isOpen && /* @__PURE__ */ s.jsx(il, { onClick: e.onDismiss }) ] }), ll = ({ onClick: e, collapseState: t }) => { const { t: n } = G("drawer"), [a, r] = F(!1); return $(() => { const o = (i) => { i.key === "Escape" && t === "visible" && r(!0); }; return document.addEventListener("keydown", o), () => document.removeEventListener("keydown", o); }, [t]), /* @__PURE__ */ s.jsx( "div", { className: Pe( "fixed z-[100] top-[var(--mrc-drawer-header-height)] right-[var(--mrc-drawer-width)]", "transition-all duration-[var(--mrc-drawer-collapse-duration)] ease-in-out", "mrc-drawer-handle-fade-in", a && "hidden", t === "collapsed" && "translate-x-[var(--mrc-drawer-width)]" ), children: /* @__PURE__ */ s.jsx( "div", { className: Pe( "w-[var(--mrc-drawer-handle-size)] h-[var(--mrc-drawer-handle-size)]", "right-0 bg-white", "rounded-l-lg justify-center items-center", "mrc-drawer-handle-shadow", // Hide the handle on small screens when the drawer becomes w-full t === "visible" ? "hidden sm:flex" : "flex" ), children: /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx( B, { "data-testid": "drawer-handle", label: void 0, "aria-label": n(t === "visible" ? "collapse" : "expand"), icon: t === "visible" ? "chevron-double-right" : "chevron-double-left", onClick: e, color: Xe.primary, variant: ae.ghost } ) }) } ) } ); }, Fv = (e) => { const [t, n] = F("visible"), a = () => { n( (r) => r === "visible" ? "collapsed" : "visible" ); }; return /* @__PURE__ */ s.jsxs("div", { id: "mrc-drawer", className: "relative", children: [ /* @__PURE__ */ s.jsx( vo, { ...e, className: Pe( "[&::part(drawer)]:duration-[var(--mrc-drawer-collapse-duration)]", "[&::part(drawer)]:ease-in-out", t === "collapsed" && "[&::part(drawer)]:translate-x-[var(--mrc-drawer-width)]" ) } ), e.isOpen && /* @__PURE__ */ s.jsx( ll, { onClick: a, collapseState: t } ) ] }); }; function dl({ guide: e, href: t, label: n, onClick: a }) { return /* @__PURE__ */ s.jsx("div", { children: /* @__PURE__ */ s.jsx( tt, { href: t, target: "_blank", icon: ue.externalLink, onClick: () => { a && a(e); }, label: n } ) }); } function ul({ label: e, guides: t, ovhSubsidiary: n, getGuideLabel: a, onGuideClick: r }) { return /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("div", { id: "guides-header-trigger", children: /* @__PURE__ */ s.jsx( B, { slot: "menu-title", variant: ae.ghost, icon: ue.book, label: e } ) }), /* @__PURE__ */ s.jsx(Wt, { triggerId: "guides-header-trigger", children: Object.keys(t).map((o) => /* @__PURE__ */ s.jsx( dl, { guide: t[o], href: `${t[o].url[n]}`, label: a(t[o]), onClick: (i) => { r && r(i); } }, o )) }) ] }); } const gl = { 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/" }, ya = { ASIA: "https://help.ovhcloud.com/csm/asia-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", DE: "https://help.ovhcloud.com/csm/de-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", AU: "https://help.ovhcloud.com/csm/en-au-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", CA: "https://help.ovhcloud.com/csm/en-ca-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", GB: "https://help.ovhcloud.com/csm/en-gb-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", IE: "https://help.ovhcloud.com/csm/en-ie-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", NL: "https://help.ovhcloud.com/csm/en-nl-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", SG: "https://help.ovhcloud.com/csm/en-sg-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", WE: "https://help.ovhcloud.com/csm/en-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", ES: "https://help.ovhcloud.com/csm/es-es-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", WS: "https://help.ovhcloud.com/csm/es-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", QC: "https://help.ovhcloud.com/csm/fr-ca-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", MA: "https://help.ovhcloud.com/csm/fr-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", FR: "https://help.ovhcloud.com/csm/fr-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", SN: "https://help.ovhcloud.com/csm/fr-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", TN: "https://help.ovhcloud.com/csm/fr-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", IT: "https://help.ovhcloud.com/csm/it-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", PL: "https://help.ovhcloud.com/csm/pl-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", PT: "https://help.ovhcloud.com/csm/pt-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", IN: "https://help.ovhcloud.com/csm/en-in-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1", US: "https://support.us.ovhcloud.com/hc/en-us/sections/23498311424275-Object-Storage", DEFAULT: "https://help.ovhcloud.com/csm/en-gb-documentation-public-cloud-storage-object-storage?id=kb_browse_cat&kb_id=574a8325551974502d4c6e78b7421938&kb_category=6f34d555f49801102d4ca4d466a7fd9b&spa=1" }, ml = { ASIA: "https://help.ovhcloud.com/csm/asia-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047333", DE: "https://help.ovhcloud.com/csm/de-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047336", AU: "https://help.ovhcloud.com/csm/en-au-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047335", CA: "https://help.ovhcloud.com/csm/en-ca-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047343", GB: "https://help.ovhcloud.com/csm/en-gb-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0034674", IE: "https://help.ovhcloud.com/csm/en-ie-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047339", NL: "https://help.ovhcloud.com/csm/en-ie-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047339", SG: "https://help.ovhcloud.com/csm/en-sg-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047361", WE: "https://help.ovhcloud.com/csm/en-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047348", ES: "https://help.ovhcloud.com/csm/es-es-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047353", WS: "https://help.ovhcloud.com/csm/es-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047352", QC: "https://help.ovhcloud.com/csm/fr-ca-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047355", MA: "https://help.ovhcloud.com/csm/fr-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047354", FR: "https://help.ovhcloud.com/csm/fr-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047354", SN: "https://help.ovhcloud.com/csm/fr-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047354", TN: "https://help.ovhcloud.com/csm/fr-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047354", IT: "https://help.ovhcloud.com/csm/it-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047356", PL: "https://help.ovhcloud.com/csm/pl-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047359", PT: "https://help.ovhcloud.com/csm/pt-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0047346", IN: "https://help.ovhcloud.com/csm/en-in-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0069681", US: "https://support.us.ovhcloud.com/hc/en-us/articles/4603838122643-Getting-started-with-Object-Storage", DEFAULT: "https://help.ovhcloud.com/csm/en-gb-public-cloud-storage-s3-getting-started-object-storage?id=kb_article_view&sysparm_article=KB0034674" }, fl = { 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/" }, Oa = { 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/" }, Sr = { 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/" }, _r = { 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/" }, pl = { 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/" }, hl = { 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/" }, vl = { 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/" }, bl = { 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/" }, wl = { 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/" }, xl = { 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/" }, Al = { 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/" }, yl = { 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/" }, jl = { 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/" }, Pl = { 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/" }, Cl = { 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/" }, Sl = { 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/" }, _l = { 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/" }, El = { 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/" }, Rl = { 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/" }, Ml = { 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/" }, kl = { 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/" }, Dl = { 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/" }, zl = { 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/" }, Ol = { 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/" }, Tl = { 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/" }, Nl = { 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/" }, Il = { 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/" }, Hl = { 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/" }, Bl = { 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" }, Qe = { public_cloud_guides: { url: gl, key: "all_guides", tracking: "::guides::go_to_all_guides" }, first_steps_with_instances: { url: Oa, key: "first_steps_with_instances", tracking: "::guides::go_to_instances_guide" } }, Fl = { storage: { public_cloud_storage_guides: { url: ya, key: "all_storage_guides", tracking: "::guides::go_to_storage" }, first_steps_with_instances: { url: Oa, key: "first_steps_with_instances", tracking: "::guides::go_to_instances_guide" }, ip_fail_over: { url: Sr, key: "ip_fail_over", tracking: "::guides::go_to_configure_a_failover_ip" }, user_root_and_password: { url: _r, 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: fl, key: "storages_volume_backup_overview", tracking: "::guides::go_to_storages_volume_backup_overview" }, public_cloud_storage_guides: { url: ya, key: "all_storage_guides", tracking: "::guides::go_to_storage" }, first_steps_with_instances: { url: Oa, key: "first_steps_with_instances", tracking: "::guides::go_to_instances_guide" } }, objectStorage: { public_cloud_storage_guides: { url: ya, key: "all_storage_guides", tracking: "::guides::go_to_storage" }, first_steps_with_storages: { url: ml, key: "first_steps_with_storages", tracking: "::guides::go_to_storages_guide" } }, instances: { ...Qe, ip_fail_over: { url: Sr, key: "ip_fail_over", tracking: "::guides::go_to_configure_a_failover_ip" }, user_root_and_password: { url: _r, 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: { ...Qe, first_steps_with_databases: { url: pl, key: "first_steps_with_databases", tracking: "::guides::go_to_getting_started" }, mongo_db_capabilities_and_limitations: { url: hl, key: "mongo_db_capabilities_and_limitations", tracking: "::guides::go_to_mongodb_capabilities" }, mysql_capabilities_and_limitations: { url: vl, key: "mysql_capabilities_and_limitations", tracking: "::guides::go_to_mysql_capabilities" } }, kubernetes: { ...Qe, create_a_cluster: { url: bl, key: "create_a_cluster", tracking: "::guides::go_to_creating_a_cluster" }, deploy_an_application: { url: wl, key: "deploy_an_application", tracking: "::guides::go_to_deploying_an_application" }, loadbalancer_kube: { url: xl, key: "loadbalancer_kube", tracking: "::guides::go_to_using_lb" } }, private_registry: { ...Qe, faq_managed_private_registry: { url: Al, key: "faq_managed_private_registry", tracking: "::guides::go_to_managed_private_registry_faq" }, create_a_managed_private_register: { url: yl, key: "create_a_managed_private_register", tracking: "::guides::go_to_creating_a_private_registry" }, create_and_use_a_private_image: { url: jl, key: "create_and_use_a_private_image", tracking: "::guides::go_to_creating_and_using_a_private_image" } }, ai_machine_learning: { ...Qe, differences_between_ai_notebooks_ai_training_ai_apps: { url: Pl, key: "differences_between_ai_notebooks_ai_training_ai_apps", tracking: "::guides::go_to_ai_comparative_tables" }, ai_apps_capabilities_and_limitations: { url: Cl, key: "ai_apps_capabilities_and_limitations", tracking: "::guides::go_to_capabilities" }, accessing_your_ai_apps_with_tokens: { url: Sl, key: "accessing_your_ai_apps_with_tokens", tracking: "::guides::go_to_ai_apps_tokens" } }, data_processing: { ...Qe, presentation_of_data_processing: { url: _l, key: "presentation_of_data_processing", tracking: "::guides::go_to_overview" }, data_processing_capabilities_and_limitations: { url: El, key: "data_processing_capabilities_and_limitations", tracking: "::guides::go_to_capabilities" }, submit_a_java_scala_job: { url: Rl, key: "submit_a_java_scala_job", tracking: "::guides::go_to_submit_javascala" } }, ai_notenooks: { ...Qe, ai_notebooks_startup: { url: Ml, key: "ai_notebooks_startup", tracking: "::guides::go_to_getting_started_cli" }, ai_notebooks_definition: { url: kl, key: "ai_notebooks_definition", tracking: "::guides::go_to_definition" }, using_data_form_object_storage: { url: Dl, key: "using_data_form_object_storage", tracking: "::guides::go_to_access_object_storage_data" } }, ai_training: { ...Qe, ai_training_capabilities_and_limitations: { url: zl, key: "ai_training_capabilities_and_limitations", tracking: "::guides::go_to_capabilities" }, submit_a_job_via_the_user_interface: { url: Ol, key: "submit_a_job_via_the_user_interface", tracking: "::guides::go_to_submit_job" }, managing_a_custom_image: { url: Tl, key: "managing_a_custom_image", tracking: "::guides::go_to_build_use_custom_image" } }, ml_serving: { ...Qe, deploying_a_custom_model: { url: Nl, key: "deploying_a_custom_model", tracking: "::guides::go_to_deploy_serialized_models" }, models_definition: { url: Il, key: "models_definition", tracking: "::guides::go_to_models" }, exporting_a_tensorflow_model: { url: Hl, key: "exporting_a_tensorflow_model", tracking: "::guides::go_to_export_tensorflow_models" } }, private_network: { ...Qe }, savings_plans: { ...Qe, savings_plans: { url: Bl, key: "savings_plans", tracking: "::guides::go_to_savings_plans" } } }, Gl = { de_DE: () => import("./Messages_de_DE-fb_jrBPR.mjs"), en_GB: () => import("./Messages_en_GB-K8wBDNO9.mjs"), es_ES: () => import("./Messages_es_ES-YSFxYD_v.mjs"), fr_CA: () => import("./Messages_fr_CA-pNy_jKG5.mjs"), fr_FR: () => import("./Messages_fr_FR-DiIb8VNY.mjs"), it_IT: () => import("./Messages_it_IT-BjoEkzhc.mjs"), pl_PL: () => import("./Messages_pl_PL-BoZBFl3u.mjs"), pt_PT: () => import("./Messages_pt_PT-BcdyFdL0.mjs") }; pe(Gl, "pci-guides-header"); function Gv({ category: e, onGuideClick: t }) { const { ovhSubsidiary: n } = Es().getUser(), { trackClick: a } = Rs(), [r] = G("pci-guides-header"); return /* @__PURE__ */ s.jsx( ul, { label: r("pci_project_guides_header"), guides: Fl[e], ovhSubsidiary: n, getGuideLabel: (o) => r(`pci_project_guides_header_${o.key}`), onGuideClick: (o) => { t ? t(o.key) : a({ name: `public-cloud_credit_and_vouchers${o.tracking}`, type: "action" }); } } ); } var on = /* @__PURE__ */ ((e) => (e.Success = "success", e.Error = "error", e.Info = "info", e.Warning = "warning", e))(on || {}); const Ll = 1e3, bo = Ls((e, t) => ({ uid: 0, notifications: [], addNotification: (n, a, r = !1) => e((o) => ({ uid: o.uid + 1, notifications: [ ...o.notifications, { uid: o.uid, content: n, type: a, dismissable: r, creationTimestamp: Date.now() } ] })), addSuccess: (n, a = !1) => t().addNotification(n, "success", a), addError: (n, a = !1) => t().addNotification(n, "error", a), addWarning: (n, a = !1) => t().addNotification(n, "warning", a), addInfo: (n, a = !1) => t().addNotification(n, "info", a), clearNotification: (n) => e((a) => ({ notifications: a.notifications.filter( ({ uid: r }) => r !== n ) })), clearNotifications: () => e((n) => ({ notifications: n.notifications.filter( (a) => Date.now() - a.creationTimestamp < Ll ) })) })), Wl = (e) => { switch (e) { case on.Success: return et.success; case on.Error: return et.danger; case on.Warning: return et.warning; case on.Info: return et.information; default: return et.information; } }, Ql = ({ notification: e }) => { const { clearNotification: t } = bo(); return /* @__PURE__ */ s.jsx( Lt, { className: "mb-2 w-full", color: Wl(e.type), onOdsRemove: () => t(e.uid), children: e.content } ); }, Lv = ({ clearAfterRead: e = !0 }) => { const t = Vr(), [n] = F(t), { notifications: a, clearNotifications: r } = bo(); return $(() => { e && n.pathname !== t.pathname && r(); }, [e, t.pathname]), /* @__PURE__ */ s.jsx(s.Fragment, { children: a.map((o) => /* @__PURE__ */ s.jsx(Ql, { notification: o }, o.uid)) }); }, de = "@ovh-ux/manager-common-translations", ta = { BYTES: `${de}/bytes`, CLIPBOARD: `${de}/clipboard`, ACTIONS: `${de}/actions`, FORM: `${de}/form`, IAM: `${de}/iam`, SERVICE: `${de}/service`, BILLING: `${de}/billing`, ERROR: `${de}/error`, STATUS: `${de}/status`, DATACENTER: `${de}/datacenter`, REGION: `${de}/region`, DASHBOARD: `${de}/dashboard`, ONBOARDING: `${de}/onboarding`, ORDER: `${de}/order`, CONTACT: `${de}/contact`, COUNTRIES: `${de}/countries`, COUNTRY: `${de}/country`, LANGUAGE: `${de}/language`, UPLOAD: `${de}/upload`, RESOURCES: `${de}/resources`, SYSTEM: `${de}/system`, TIME: `${de}/time` }, Wv = ({ children: e, iamActions: t, urn: n, isDisplayTooltip: a, isIamCheckDisabled: r, isDisabled: o, ...i }) => { const l = Yr(), c = ye( () => l.replace(/:/g, ""), [l] ), { t: g } = G(ta.IAM), { isAuthorized: m } = Fa( t, n, !r ); return !o && (m || t === void 0) ? /* @__PURE__ */ s.jsx(tt, { ...i, children: e }) : !a || o ? /* @__PURE__ */ s.jsx(tt, { ...i, isDisabled: !0, onClick: null, children: e }) : /* @__PURE__ */ s.jsxs("div", { children: [ /* @__PURE__ */ s.jsx("span", { id: c, children: /* @__PURE__ */ s.jsx(tt, { ...i, isDisabled: !0, onClick: null, children: e }) }), /* @__PURE__ */ s.jsx(qn, { triggerId: c, position: "bottom", children: /* @__PURE__ */ s.jsx("div", { children: g("iam_actions_message") }) }) ] }); }, Xl = { 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") }; pe(Xl, "iam"); const Qv = ({ children: e, iamActions: t, urn: n, ...a }) => { const { t: r } = G("iam"), { isAuthorized: o } = Fa(t, n); return o ? /* @__PURE__ */ s.jsx(Y, { ...a, children: e }) : /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("div", { id: "tooltip-iam", className: "w-fit", children: /* @__PURE__ */ s.jsx(Y, { preset: "span", ...a, children: r("iam_hidden_text").toUpperCase() }) }), /* @__PURE__ */ s.jsx(qn, { triggerId: "tooltip-iam", "with-arrow": !0, children: /* @__PURE__ */ s.jsx("div", { children: r("common_iam_get_message") }) }) ] }); }, Yl = { 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" } }, Xv = ({ state: e, ...t }) => { const { t: n } = G(ta.SERVICE), { label: a, color: r } = Yl[e] ?? { label: e, color: "information" }; return /* @__PURE__ */ s.jsx(Gt, { label: n(a), color: r, ...t }); }, Vl = { 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") }; pe(Vl, "pci-maintenance-banner"); function Yv({ productName: e, projectName: t, serviceName: n, maintenanceURL: a }) { const { t: r } = G("pci-maintenance-banner"); return /* @__PURE__ */ s.jsxs( Lt, { color: et.warning, "data-testid": "maintenance-banner", children: [ t && /* @__PURE__ */ s.jsx( "span", { dangerouslySetInnerHTML: { __html: r("pci_projects_maintenance_banner_info_project_page", { projectName: t }) } } ), e && /* @__PURE__ */ s.jsx( "span", { dangerouslySetInnerHTML: { __html: r("pci_projects_maintenance_banner_info_list_page", { productName: `${e}` }) } } ), n && /* @__PURE__ */ s.jsx( "span", { dangerouslySetInnerHTML: { __html: r("pci_projects_maintenance_banner_info_product_page", { productServiceName: n }) } } ), /* @__PURE__ */ s.jsx("span", { children: /* @__PURE__ */ s.jsx( tt, { "data-testid": "pci-maintenance-banner-link", className: "ml-4", href: a, target: "_blank", label: r("pci_projects_maintenance_banner_info_link") } ) }) ] } ); } const Jl = { 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") }; pe(Jl, "region"); const Zl = { 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") }; pe(Zl, "datacenter"); const Vv = ({ mode: e = "region", name: t, micro: n }) => { const { t: a } = G(e === "region" ? "region" : "datacenter"); return /* @__PURE__ */ s.jsx(s.Fragment, { children: a(`region_${t}`, { micro: n }) }); }, wo = xs({}), Ul = ({ children: e }) => { const [t, n] = F(!1), a = ye( () => ({ isOrderInitialized: t, setIsOrderInitialized: n }), [t] ); return /* @__PURE__ */ s.jsx(wo.Provider, { value: a, children: e }); }, xo = () => { const e = mn(wo); if (e === void 0) throw new Error("Order-related components must be used within "); return e; }, ql = ({ children: e, onCancel: t, onConfirm: n, isValid: a }) => { const { isOrderInitialized: r, setIsOrderInitialized: o } = xo(), { t: i } = G("order"); return r ? /* @__PURE__ */ s.jsx(s.Fragment, {}) : /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ e, /* @__PURE__ */ s.jsxs("div", { className: "flex flex-row gap-4", children: [ /* @__PURE__ */ s.jsx( B, { size: je.md, variant: ae.ghost, color: Xe.primary, onClick: t, label: i("order_configuration_cancel"), "data-testid": "cta-order-configuration-cancel" } ), /* @__PURE__ */ s.jsx( B, { size: je.md, color: Xe.primary, isDisabled: !a, onClick: () => { n(), o(!0); }, icon: ue.externalLink, iconAlignment: qr.left, label: i("order_configuration_order"), "data-testid": "cta-order-configuration-order" } ) ] }) ] }); }, Kl = ({ onFinish: e, onClickLink: t, orderLink: n, productName: a }) => { const { t: r } = G("order"), { isOrderInitialized: o, setIsOrderInitialized: i } = xo(); if ($(() => { n && o && window.open(n, "_blank", "noopener,noreferrer"); }, [n, o]), !o) return /* @__PURE__ */ s.jsx(s.Fragment, {}); const l = a || r("order_summary_product_default_label"); return /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col gap-8", children: [ /* @__PURE__ */ s.jsxs("div", { className: "flex flex-col gap-4", children: [ /* @__PURE__ */ s.jsx( Y, { preset: me.heading2, "data-testid": "order-summary-title", children: r("order_summary_order_initiated_title", { product: l }) } ), /* @__PURE__ */ s.jsx(Y, { preset: me.paragraph, children: /* @__PURE__ */ s.jsx( Ms, { t: r, i18nKey: "order_summary_order_initiated_subtitle", components: { ExternalLink: /* @__PURE__ */ s.jsx( pn, { type: dt.external, target: "_blank", href: n, "data-testid": "order-summary-link", onClickReturn: t } ) } } ) }), /* @__PURE__ */ s.jsx(Y, { preset: me.paragraph, children: r("order_summary_order_initiated_info", { product: l }) }) ] }), /* @__PURE__ */ s.jsx( B, { size: je.md, color: Xe.primary, "data-testid": "cta-order-summary-finish", onClick: () => { e(), i(!1); }, label: r("order_summary_finish") } ) ] }); }, $l = { 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") }; pe($l, "order"); const Ao = ({ children: e }) => /* @__PURE__ */ s.jsx(Ul, { children: e }); Ao.Configuration = ql; Ao.Summary = Kl; const Jv = ({ isLoading: e, ...t }) => e ? /* @__PURE__ */ s.jsx(Wn, { "data-testid": `${t["data-testid"]}` }) : /* @__PURE__ */ s.jsx(Gt, { ...t }), ed = (e) => e === Qn.critical ? Xe.critical : Xe.primary, td = ({ heading: e, step: t, type: n = Qn.information, isLoading: a, primaryLabel: r, isPrimaryButtonLoading: o, isPrimaryButtonDisabled: i, onPrimaryButtonClick: l, primaryButtonTestId: c, secondaryLabel: g, isSecondaryButtonDisabled: m, isSecondaryButtonLoading: h, onSecondaryButtonClick: b, secondaryButtonTestId: u, onDismiss: p, isOpen: w = !0, children: j }, P) => { const C = ed(n), { t: S } = G(ta.FORM); return /* @__PURE__ */ s.jsxs( Kn, { "data-testid": "modal", color: Qn[n], isDismissible: !!p, className: "text-left", onOdsClose: p, isOpen: w, ref: P, children: [ e && /* @__PURE__ */ s.jsxs("div", { className: "flex items-center mb-4", children: [ /* @__PURE__ */ s.jsx( Y, { className: "block mr-3 flex-1", preset: me.heading4, children: e } ), Number.isInteger(t == null ? void 0 : t.current) && Number.isInteger(t == null ? void 0 : t.total) && /* @__PURE__ */ s.jsx(Y, { className: "ml-auto", preset: me.caption, children: S("stepPlaceholder", { current: t.current, total: t.total }) }) ] }), a ? /* @__PURE__ */ s.jsx("div", { "data-testid": "spinner", className: "flex justify-center my-5", children: /* @__PURE__ */ s.jsx(Un, { size: $n.md, "inline-block": !0 }) }) : /* @__PURE__ */ s.jsxs(s.Fragment, { children: [ /* @__PURE__ */ s.jsx("div", { className: "flex flex-col text-left", children: j }), g && /* @__PURE__ */ s.jsx( B, { "data-testid": u || "secondary-button", slot: "actions", color: C, onClick: m ? null : b, isDisabled: m, isLoading: h, variant: ae.ghost, label: g, className: "mt-4", type: "button" } ), r && /* @__PURE__ */ s.jsx( B, { "data-testid": c || "primary-button", slot: "actions", color: C, onClick: i ? null : l, isDisabled: i, isLoading: o, variant: ae.default, label: r, className: "mt-4", type: "button" } ) ] }) ] } ); }, nd = Ae.forwardRef(td); nd.displayName = "Modal"; const ad = (e, t, n) => { if (!t) return; const a = t.offsetWidth, r = t.offsetHeight, o = e[0] ? e[0].offsetHeight + 4 : 30, l = (n || Math.ceil(r / o)) * a; let c = 0, g = 0; return e.forEach((m) => { if (!m) return; const h = m.getBoundingClientRect().width; n && (h === 0 || c + h > l - 50) || (c += h, g += 1); }), g; }, rd = (e, t, n) => { const a = e.offsetWidth, r = Math.ceil( (a - 50) * 100 / t.getBoundingClientRect().width ), o = Math.floor(n.length * (r / 100)); return n.slice(0, o) + (o < n.length ? "..." : ""); }, od = ({ tags: e, displayInternalTags: t }) => Object.keys(e).filter((n) => t || n.indexOf("ovh:") !== 0).map((n) => `${n}:${e[n]}`), yo = ({ tags: e, displayInternalTags: t = !1, lineNumber: n, onClick: a }) => { const r = "neutral", o = od({ tags: e, displayInternalTags: t }), i = Ft(null), [l, c] = F(null), [g, m] = F(o.length), h = Ft([]), b = Ft([]); return $(() => { if (o.length > 0) { const u = new ResizeObserver(() => { const p = ad( b.current, i.current, n ); m(p || 1), p === 0 && h.current[0] && c( rd( i.current, h.current[0], o[0] ) ); }); return i.current && u.observe(i.current), () => u.disconnect(); } }, [o]), $(() => { b.current.length === 0 && (b.current = [...h.current]); }, []), Object.keys(e).length > 0 && /* @__PURE__ */ s.jsxs("div", { ref: i, className: "w-full h-full min-w-[85px]", children: [ l ? /* @__PURE__ */ s.jsx(Gt, { className: "mr-1 mb-1", color: r, label: l }) : o.slice(0, g).map((u, p) => /* @__PURE__ */ s.jsx( Gt, { className: "mr-1 mb-1", ref: (w) => { h.current[p] = w; }, color: r, label: u }, u )), g < o.length && /* @__PURE__ */ s.jsx( tt, { href: "#", className: "text-xs", onClick: (u) => { a && a(), u.preventDefault(); }, icon: ue.chevronDoubleRight } ) ] }); }, sd = "Tags bearbeiten", id = "suchen", cd = "Suchen", ld = "Zurück", dd = { edit_tags: sd, search_placeholder: id, search: cd, back: ld }, ud = "Edit tags", gd = "search", md = "Search", fd = "Back", pd = { edit_tags: ud, search_placeholder: gd, search: md, back: fd }, hd = "Editar etiquetas", vd = "Buscar", bd = "Buscar", wd = "Volver", xd = { edit_tags: hd, search_placeholder: vd, search: bd, back: wd }, Ad = "Editer tags", yd = "rechercher", jd = "Rechercher", Pd = "Retour", Cd = { edit_tags: Ad, search_placeholder: yd, search: jd, back: Pd }, Sd = "Editer tags", _d = "rechercher", Ed = "Rechercher", Rd = "Retour", Md = { edit_tags: Sd, search_placeholder: _d, search: Ed, back: Rd }, kd = "Modificare tag", Dd = "cercare", zd = "Cercare", Od = "Indietro", Td = { edit_tags: kd, search_placeholder: Dd, search: zd, back: Od }, Nd = "Edytuj tagi", Id = "Szukaj", Hd = "Szukaj", Bd = "Powrót", Fd = { edit_tags: Nd, search_placeholder: Id, search: Hd, back: Bd }, Gd = "Editar tags", Ld = "Procurar...", Wd = "Procurar", Qd = "Retroceder", Xd = { edit_tags: Gd, search_placeholder: Ld, search: Wd, back: Qd }; function Rr() { U.addResources("de_DE", "tags-modal", dd), U.addResources("en_GB", "tags-modal", pd), U.addResources("es_ES", "tags-modal", xd), U.addResources("fr_CA", "tags-modal", Cd), U.addResources("fr_FR", "tags-modal", Md), U.addResources("it_IT", "tags-modal", Td), U.addResources("pl_PL", "tags-modal", Fd), U.addResources("pt_PT", "tags-modal", Xd); } U.isInitialized ? Rr() : U.on("initialized", Rr); const Zv = Ae.forwardRef( ({ isOpen: e = !1, displayName: t, tags: n, displayInternalTags: a = !1, onEditTags: r, onCancel: o }, i) => { const { t: l } = G("tags-modal"), [c, g] = F(""), [m, h] = F(n), b = () => { h( c ? Object.fromEntries( Object.entries(n).filter( ([u, p]) => u.toLowerCase().includes(c.toLowerCase()) || p.toLowerCase().includes(c.toLowerCase()) ) ) : n ); }; return /* @__PURE__ */ s.jsxs( Kn, { color: "neutral", className: "text-left", onOdsClose: o, isOpen: e, ref: i, children: [ /* @__PURE__ */ s.jsxs(Y, { className: "mb-4", preset: me.heading5, children: [ "Tags:", " ", t ] }), /* @__PURE__ */ s.jsxs("div", { className: "flex w-full mb-4", children: [ /* @__PURE__ */ s.jsx( un, { name: "search", className: "rounded-l flex-1 mr-1", placeholder: l("search_placeholder"), type: "text", onOdsChange: (u) => { g(u.detail.value); } } ), /* @__PURE__ */ s.jsx( B, { className: "rounded-r", variant: ae.outline, size: je.sm, onClick: b, label: l("search") } ) ] }), /* @__PURE__ */ s.jsx("div", { className: "w-full min-w-[85px] h-[120px] overflow-auto", children: m && /* @__PURE__ */ s.jsx( yo, { tags: m, displayInternalTags: a } ) }), /* @__PURE__ */ s.jsx( B, { variant: ae.ghost, slot: "actions", color: "primary", onClick: o, label: l("back"), className: "mt-4", type: "button" } ), r && /* @__PURE__ */ s.jsx( B, { slot: "actions", color: "primary", onClick: r, label: l("edit_tags"), className: "mt-4", type: "button" } ) ] } ); } ), Yd = "Tags", Vd = "Es ist kein Tag zugewiesen", Jd = "Tag hinzufügen", Zd = "Zugewiesene Tags", Ud = "Tags verwalten", qd = { tags_tile_title: Yd, tags_tile_empty: Vd, tags_tile_add_tag: Jd, assigned_tags: Zd, manage_tags: Ud }, Kd = "Tags", $d = "No associated tag found", eu = "Add a tag", tu = "Assigned tags", nu = "Manage tags", au = { tags_tile_title: Kd, tags_tile_empty: $d, tags_tile_add_tag: eu, assigned_tags: tu, manage_tags: nu }, ru = "Etiquetas", ou = "No hay tags asociadas", su = "Añadir una tag", iu = "Tags asignadas", cu = "Gestionar las etiquetas", lu = { tags_tile_title: ru, tags_tile_empty: ou, tags_tile_add_tag: su, assigned_tags: iu, manage_tags: cu }, du = "Tags", uu = "Aucun tag n'est associé", gu = "Ajouter un tag", mu = "Tags assignés", fu = "Manager les tags", pu = { tags_tile_title: du, tags_tile_empty: uu, tags_tile_add_tag: gu, assigned_tags: mu, manage_tags: fu }, hu = "Tags", vu = "Aucun tag n'est associé", bu = "Ajouter un tag", wu = "Tags assignés", xu = "Manager les tags", Au = { tags_tile_title: hu, tags_tile_empty: vu, tags_tile_add_tag: bu, assigned_tags: wu, manage_tags: xu }, yu = "Tag", ju = "Nessun tag associato", Pu = "Aggiungere un tag", Cu = "Tag assegnati", Su = "Gestire i tag", _u = { tags_tile_title: yu, tags_tile_empty: ju, tags_tile_add_tag: Pu, assigned_tags: Cu, manage_tags: Su }, Eu = "Tagi", Ru = "Brak przypisanych tagów", Mu = "Dodaj tag", ku = "Przypisane tagi", Du = "Zarządzaj tagami", zu = { tags_tile_title: Eu, tags_tile_empty: Ru, tags_tile_add_tag: Mu, assigned_tags: ku, manage_tags: Du }, Ou = "Tags", Tu = "Nenhuma tag associada", Nu = "Adicionar uma tag", Iu = "Tags atribuídas", Hu = "Gerir tags", Bu = { tags_tile_title: Ou, tags_tile_empty: Tu, tags_tile_add_tag: Nu, assigned_tags: Iu, manage_tags: Hu }; function Mr() { U.addResources("de_DE", "tags-tile", qd), U.addResources("en_GB", "tags-tile", au), U.addResources("es_ES", "tags-tile", lu), U.addResources("fr_CA", "tags-tile", pu), U.addResources("fr_FR", "tags-tile", Au), U.addResources("it_IT", "tags-tile", _u), U.addResources("pl_PL", "tags-tile", zu), U.addResources("pt_PT", "tags-tile", Bu); } U.isInitialized ? Mr() : U.on("initialized", Mr); const Uv = ({ tags: e, displayInternalTags: t = !1, lineNumber: n = 5, onEditTags: a }) => { const { t: r } = G("tags-tile"), o = !e || Object.keys(e).length === 0; return /* @__PURE__ */ s.jsxs($e, { children: [ /* @__PURE__ */ s.jsx($e.Title, { children: r("tags_tile_title") }), /* @__PURE__ */ s.jsx($e.Divider, {}), /* @__PURE__ */ s.jsxs($e.Item, { children: [ /* @__PURE__ */ s.jsx($e.Item.Label, { children: r("assigned_tags") }), /* @__PURE__ */ s.jsxs($e.Item.Description, { children: [ /* @__PURE__ */ s.jsxs("div", { className: "w-full min-w-[85px] h-[120px] overflow-auto", children: [ o && /* @__PURE__ */ s.jsx("span", { children: r("tags_tile_empty") }), !o && /* @__PURE__ */ s.jsx( yo, { tags: e, lineNumber: n, displayInternalTags: t } ) ] }), /* @__PURE__ */ s.jsx( tt, { href: "#", className: "mt-4", onClick: (i) => { a == null || a(), i.preventDefault(); }, label: r(o ? "tags_tile_add_tag" : "manage_tags"), icon: ue.arrowRight } ) ] }) ] }) ] }); }, Fu = 4999, qv = Zn; function Kv({ route: e, pageSize: t = jo, queryKey: n, defaultSorting: a = void 0, shouldFetchAll: r = !1, columns: o, disableCache: i }) { const [l, c] = F(""), [g, m] = F(null), [h, b] = F(a), { filters: u, addFilter: p, removeFilter: w } = Ya(), { data: j, hasNextPage: P, fetchNextPage: C, ...S } = Qr({ initialPageParam: 1, queryKey: [ ...n, r ? "all" : t, h, u, g ], staleTime: 1 / 0, retry: !1, queryFn: ({ pageParam: R }) => Zn({ route: e, pageSize: r ? Fu : t, page: R, sortBy: (h == null ? void 0 : h.id) || null, sortReverse: h == null ? void 0 : h.desc, filters: g ? [g, ...u] : u, disableCache: i }), getNextPageParam: (R, M, ee) => R.totalCount / t > ee ? ee + 1 : null, select: (R) => { const M = R.pageParams[R.pageParams.length - 1], { totalCount: ee } = R.pages[0]; return { data: R, pageIndex: M, totalCount: ee, flattenData: R.pages.flatMap((Ne) => Ne.data) }; } }), I = ye( () => o == null ? void 0 : o.find( (R) => Object.prototype.hasOwnProperty.call(R, "isSearchable") && R.isSearchable ), [o] ); $(() => { r && P && C(); }, [j]); const V = (R) => { I && m( !R || R.length === 0 ? null : { key: I.id, value: l, comparator: lt.Includes, label: I.id } ); }; return { ...j ?? { ...j, totalCount: 0 }, hasNextPage: P, fetchNextPage: C, ...S, sorting: h, setSorting: b, filters: { filters: u, add: p, remove: w }, search: { onSearch: V, searchInput: l, setSearchInput: c } }; } var sn = { exports: {} }; sn.exports; var kr; function Gu() { return kr || (kr = 1, function(e, t) { var n = "[object Date]", a = typeof it == "object" && it && it.Object === Object && it, r = t && !t.nodeType && t, o = r && !0 && e && !e.nodeType && e, i = o && o.exports === r, l = i && a.process, c = function() { try { return l && l.binding("util"); } catch { } }(), g = c && c.isDate; function m(j) { return function(P) { return j(P); }; } var h = Object.prototype, b = h.toString; function u(j) { return w(j) && b.call(j) == n; } var p = g ? m(g) : u; function w(j) { return !!j && typeof j == "object"; } e.exports = p; }(sn, sn.exports)), sn.exports; } var Lu = Gu(); const Wu = /* @__PURE__ */ Kr(Lu); function $v(e) { return Number.isInteger(e) ? ge.Numeric : Wu(e) ? ge.Date : typeof e == "string" ? ge.String : typeof e == "boolean" ? ge.Boolean : typeof e; } function Qu(e, t, n, a) { var r, o, i, l, c, g, m; if (!t || !n) return -1; switch (e) { case ge.Numeric: return a ? parseFloat(n) - parseFloat(t) : parseFloat(t) - parseFloat(n); case ge.Date: return a ? new Date(n).getTime() - new Date(t).getTime() : new Date(t).getTime() - new Date(n).getTime(); case ge.Boolean: return a ? Number(n) - Number(t) : Number(t) - Number(n); case ge.String: return a ? (o = (r = n == null ? void 0 : n.trim().toLowerCase()) == null ? void 0 : r.localeCompare) == null ? void 0 : o.call(r, t == null ? void 0 : t.trim().toLowerCase()) : (m = (c = (l = (i = t.trim()) == null ? void 0 : i.toString()) == null ? void 0 : l.toLowerCase()) == null ? void 0 : c.localeCompare) == null ? void 0 : m.call(c, (g = n == null ? void 0 : n.trim()) == null ? void 0 : g.toLowerCase()); default: return -1; } } function Xu(e, t, n) { return n.length === 0 || !t.length ? e : e == null ? void 0 : e.filter( (a) => t == null ? void 0 : t.some(({ key: r }) => { var i, l; const o = a[r]; return o == null ? !1 : (l = (i = o == null ? void 0 : o.toString()) == null ? void 0 : i.toLowerCase()) == null ? void 0 : l.includes(n == null ? void 0 : n.toLowerCase()); }) ); } function eb({ route: e, queryKey: t, queryFn: n, refetchInterval: a, pageSize: r = 10, columns: o = [], defaultSorting: i }) { const [l, c] = F(""), [g, m] = F([]), { data: h, isError: b, isLoading: u, error: p, status: w } = Te({ queryKey: [t], queryFn: n ? () => n(e) : () => Jn.get(e), refetchInterval: a || !1, retry: !1 }), [j, P] = F( i ), [C, S] = F(0), [I, V] = F(0), [R, M] = F([]), { filters: ee, addFilter: Ne, removeFilter: Be } = Ya(), Re = ye(() => h != null && h.data ? vs( Xu(h == null ? void 0 : h.data, g, l), ee ) : [], [g, h == null ? void 0 : h.data, ee]), L = ye(() => { var ne; if (j) { const Ge = ((ne = o.find((Se) => Se.id === j.id)) == null ? void 0 : ne.type) || ge.String; return [...Re].sort( (Se, Je) => Qu( Ge, `${Se == null ? void 0 : Se[j.id]}`, `${Je == null ? void 0 : Je[j.id]}`, j.desc ) ); } return Re; }, [j, Re]); $(() => { var ne; h != null && h.data && ((ne = h == null ? void 0 : h.data) == null ? void 0 : ne.length) > 0 && I === 0 && (V(h.data.length), M(h == null ? void 0 : h.data)); }, [h]), $(() => { S(0), M(L); }, [L]); const Me = jt(() => S((ne) => ne + 1), []), Ce = ye( () => o.filter((ne) => ne.isSearchable), [o] ), Fe = jt( (ne) => { c(ne || ""), m( ne ? Ce.map(({ id: Ge }) => ({ key: Ge, value: ne, comparator: lt.Includes })) : [] ); }, [Ce] ); return { data: h, sorting: j, setSorting: P, pageIndex: C, totalCount: I, flattenData: R == null ? void 0 : R.slice(0, (C + 1) * r), isError: b, isLoading: u, hasNextPage: C * r + r < (R == null ? void 0 : R.length), fetchNextPage: Me, error: p, status: w, filters: { filters: ee, add: Ne, remove: Be }, search: { onSearch: Fe, searchInput: l, setSearchInput: c } }; } const jo = 10, Yu = 9999, tb = Xr; function Vu({ columns: e, route: t, pageSize: n = jo, queryKey: a, defaultSorting: r = void 0, shouldFetchAll: o = !1, disableCache: i, ...l }) { const [c, g] = F([]), [m, h] = F(""), [b, u] = F(null), [p, w] = F(r), { filters: j, addFilter: P, removeFilter: C } = Ya(), S = Qr({ staleTime: 1 / 0, retry: !1, ...l, initialPageParam: null, queryKey: [ ...a, o ? "all" : n, p, j, b ].filter(Boolean), queryFn: ({ pageParam: R }) => { var M, ee; return Xr({ route: t, pageSize: o ? Yu : n, cursor: R, sortBy: ((M = p == null ? void 0 : p[0]) == null ? void 0 : M.id) || null, sortOrder: (ee = p == null ? void 0 : p[0]) != null && ee.desc ? "DESC" : "ASC", filters: b ? [b, ...j] : j, disableCache: i }); }, getNextPageParam: (R) => R.cursorNext }); $(() => { var M; const R = (M = S.data) == null ? void 0 : M.pages.flatMap((ee) => ee.data); g(R), o && S.hasNextPage && S.fetchNextPage(); }, [S.data]); const I = ye( () => e == null ? void 0 : e.find( (R) => Object.prototype.hasOwnProperty.call(R, "isSearchable") && R.isSearchable ), [e] ), V = jt( (R) => { I && u( !R || R.length === 0 ? null : { key: I.id, value: m, comparator: lt.Includes, label: I.id } ); }, [I, m] ); return { ...S, flattenData: c, setSorting: w, sorting: p, filters: { filters: j, add: P, remove: C }, search: { onSearch: V, searchInput: m, setSearchInput: h } }; } const Ju = (e) => [ "manage-task", e ], nb = ({ resourceUrl: e, apiVersion: t = "v2", taskId: n, queryKey: a, onSuccess: r, onError: o, onFinish: i, refetchIntervalTime: l = 2e3 }) => { const [c, g] = Ae.useState(!1), [m, h] = Ae.useState(!1), [b, u] = Ae.useState(!1), { error: p } = Te({ staleTime: 0, queryKey: a || Ju(n || e), queryFn: async () => { var j, P, C; const w = `/${e.split("/").filter(Boolean).concat(["task", n]).join("/")}`; try { h(!0); const S = await mt[t].get(w); if (t === "v2" && (((j = S.data) == null ? void 0 : j.status) === "DONE" && (h(!1), g(!0), u(!1), r == null || r(), i == null || i()), ((P = S.data) == null ? void 0 : P.status) === "ERROR")) throw h(!1), g(!1), u(!0), o == null || o(), i == null || i(), S; return S; } catch (S) { throw t === "v6" && (((C = S == null ? void 0 : S.response) == null ? void 0 : C.status) === 404 ? (h(!1), g(!0), u(!1), r == null || r()) : (h(!1), u(!0), g(!1), o == null || o()), i == null || i()), S; } }, enabled: !!n, retry: !1, refetchInterval: (w) => { var j, P; return t === "v6" ? w.state.status !== "error" ? l : void 0 : ["DONE", "ERROR"].includes((P = (j = w.state.data) == null ? void 0 : j.data) == null ? void 0 : P.status) ? void 0 : l; } }); return { error: p, isError: b, isPending: m, isSuccess: c }; }; function Zu(e) { if (e === "en_GB") return "enGB"; if (e === "fr_CA") return "frCA"; const [t] = (e == null ? void 0 : e.split("_")) || []; return t || "enGB"; } function q(e) { return (t = {}) => { const n = t.width ? String(t.width) : e.defaultWidth; return e.formats[n] || e.formats[e.defaultWidth]; }; } function W(e) { return (t, n) => { const a = n != null && n.context ? String(n.context) : "standalone"; let r; if (a === "formatting" && e.formattingValues) { const i = e.defaultFormattingWidth || e.defaultWidth, l = n != null && n.width ? String(n.width) : i; r = e.formattingValues[l] || e.formattingValues[i]; } else { const i = e.defaultWidth, l = n != null && n.width ? String(n.width) : e.defaultWidth; r = e.values[l] || e.values[i]; } const o = e.argumentCallback ? e.argumentCallback(t) : t; return r[o]; }; } function Q(e) { return (t, n = {}) => { const a = n.width, r = a && e.matchPatterns[a] || e.matchPatterns[e.defaultMatchWidth], o = t.match(r); if (!o) return null; const i = o[0], l = a && e.parsePatterns[a] || e.parsePatterns[e.defaultParseWidth], c = Array.isArray(l) ? qu(l, (h) => h.test(i)) : ( // [TODO] -- I challenge you to fix the type Uu(l, (h) => h.test(i)) ); let g; g = e.valueCallback ? e.valueCallback(c) : c, g = n.valueCallback ? ( // [TODO] -- I challenge you to fix the type n.valueCallback(g) ) : g; const m = t.slice(i.length); return { value: g, rest: m }; }; } function Uu(e, t) { for (const n in e) if (Object.prototype.hasOwnProperty.call(e, n) && t(e[n])) return n; } function qu(e, t) { for (let n = 0; n < e.length; n++) if (t(e[n])) return n; } function Ct(e) { return (t, n = {}) => { const a = t.match(e.matchPattern); if (!a) return null; const r = a[0], o = t.match(e.parsePattern); if (!o) return null; let i = e.valueCallback ? e.valueCallback(o[0]) : o[0]; i = n.valueCallback ? n.valueCallback(i) : i; const l = t.slice(r.length); return { value: i, rest: l }; }; } const Po = 6048e5, Ku = 864e5, Dr = Symbol.for("constructDateFrom"); function gt(e, t) { return typeof e == "function" ? e(t) : e && typeof e == "object" && Dr in e ? e[Dr](t) : e instanceof Date ? new e.constructor(t) : new Date(t); } function Co(e, ...t) { const n = gt.bind( null, e || t.find((a) => typeof a == "object") ); return t.map(n); } let $u = {}; function na() { return $u; } function Ve(e, t) { return gt(t || e, e); } function Pt(e, t) { var l, c, g, m; const n = na(), a = (t == null ? void 0 : t.weekStartsOn) ?? ((c = (l = t == null ? void 0 : t.locale) == null ? void 0 : l.options) == null ? void 0 : c.weekStartsOn) ?? n.weekStartsOn ?? ((m = (g = n.locale) == null ? void 0 : g.options) == null ? void 0 : m.weekStartsOn) ?? 0, r = Ve(e, t == null ? void 0 : t.in), o = r.getDay(), i = (o < a ? 7 : 0) + o - a; return r.setDate(r.getDate() - i), r.setHours(0, 0, 0, 0), r; } function Ta(e, t, n) { const [a, r] = Co( n == null ? void 0 : n.in, e, t ); return +Pt(a, n) == +Pt(r, n); } 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" } } }, eg = (e, t, n) => { let a; const r = n != null && n.addSuffix ? zr[e].withPreposition : zr[e].standalone; return typeof r == "string" ? a = r : t === 1 ? a = r.one : a = r.other.replace("{{count}}", String(t)), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? "in " + a : "vor " + a : a; }, tg = { 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 }, ng = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, ag = { full: "{{date}} 'um' {{time}}", long: "{{date}} 'um' {{time}}", medium: "{{date}} {{time}}", short: "{{date}} {{time}}" }, rg = { date: q({ formats: tg, defaultWidth: "full" }), time: q({ formats: ng, defaultWidth: "full" }), dateTime: q({ formats: ag, defaultWidth: "full" }) }, og = { lastWeek: "'letzten' eeee 'um' p", yesterday: "'gestern um' p", today: "'heute um' p", tomorrow: "'morgen um' p", nextWeek: "eeee 'um' p", other: "P" }, sg = (e, t, n, a) => og[e], ig = { narrow: ["v.Chr.", "n.Chr."], abbreviated: ["v.Chr.", "n.Chr."], wide: ["vor Christus", "nach Christus"] }, cg = { narrow: ["1", "2", "3", "4"], abbreviated: ["Q1", "Q2", "Q3", "Q4"], wide: ["1. Quartal", "2. Quartal", "3. Quartal", "4. Quartal"] }, Na = { 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" ] }, lg = { narrow: Na.narrow, abbreviated: [ "Jan.", "Feb.", "März", "Apr.", "Mai", "Juni", "Juli", "Aug.", "Sep.", "Okt.", "Nov.", "Dez." ], wide: Na.wide }, dg = { 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" ] }, ug = { 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" } }, gg = { 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" } }, mg = (e) => Number(e) + ".", fg = { ordinalNumber: mg, era: W({ values: ig, defaultWidth: "wide" }), quarter: W({ values: cg, defaultWidth: "wide", argumentCallback: (e) => e - 1 }), month: W({ values: Na, formattingValues: lg, defaultWidth: "wide" }), day: W({ values: dg, defaultWidth: "wide" }), dayPeriod: W({ values: ug, defaultWidth: "wide", formattingValues: gg, defaultFormattingWidth: "wide" }) }, pg = /^(\d+)(\.)?/i, hg = /\d+/i, vg = { narrow: /^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i, abbreviated: /^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i, wide: /^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i }, bg = { any: [/^v/i, /^n/i] }, wg = { narrow: /^[1234]/i, abbreviated: /^q[1234]/i, wide: /^[1234](\.)? Quartal/i }, xg = { any: [/1/i, /2/i, /3/i, /4/i] }, Ag = { 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 }, yg = { 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 ] }, jg = { 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 }, Pg = { any: [/^so/i, /^mo/i, /^di/i, /^mi/i, /^do/i, /^f/i, /^sa/i] }, Cg = { 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 }, Sg = { 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` } }, _g = { ordinalNumber: Ct({ matchPattern: pg, parsePattern: hg, valueCallback: (e) => parseInt(e) }), era: Q({ matchPatterns: vg, defaultMatchWidth: "wide", parsePatterns: bg, defaultParseWidth: "any" }), quarter: Q({ matchPatterns: wg, defaultMatchWidth: "wide", parsePatterns: xg, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: Q({ matchPatterns: Ag, defaultMatchWidth: "wide", parsePatterns: yg, defaultParseWidth: "any" }), day: Q({ matchPatterns: jg, defaultMatchWidth: "wide", parsePatterns: Pg, defaultParseWidth: "any" }), dayPeriod: Q({ matchPatterns: Cg, defaultMatchWidth: "wide", parsePatterns: Sg, defaultParseWidth: "any" }) }, Eg = { code: "de", formatDistance: eg, formatLong: rg, formatRelative: sg, localize: fg, match: _g, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }, Rg = { 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" } }, So = (e, t, n) => { let a; const r = Rg[e]; return typeof r == "string" ? a = r : t === 1 ? a = r.one : a = r.other.replace("{{count}}", t.toString()), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? "in " + a : a + " ago" : a; }, Mg = { lastWeek: "'last' eeee 'at' p", yesterday: "'yesterday at' p", today: "'today at' p", tomorrow: "'tomorrow at' p", nextWeek: "eeee 'at' p", other: "P" }, _o = (e, t, n, a) => Mg[e], kg = { narrow: ["B", "A"], abbreviated: ["BC", "AD"], wide: ["Before Christ", "Anno Domini"] }, Dg = { narrow: ["1", "2", "3", "4"], abbreviated: ["Q1", "Q2", "Q3", "Q4"], wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"] }, zg = { 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" ] }, Og = { 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" ] }, Tg = { 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" } }, Ng = { 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" } }, Ig = (e, t) => { const n = Number(e), a = n % 100; if (a > 20 || a < 10) switch (a % 10) { case 1: return n + "st"; case 2: return n + "nd"; case 3: return n + "rd"; } return n + "th"; }, Eo = { ordinalNumber: Ig, era: W({ values: kg, defaultWidth: "wide" }), quarter: W({ values: Dg, defaultWidth: "wide", argumentCallback: (e) => e - 1 }), month: W({ values: zg, defaultWidth: "wide" }), day: W({ values: Og, defaultWidth: "wide" }), dayPeriod: W({ values: Tg, defaultWidth: "wide", formattingValues: Ng, defaultFormattingWidth: "wide" }) }, Hg = /^(\d+)(th|st|nd|rd)?/i, Bg = /\d+/i, Fg = { 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 }, Gg = { any: [/^b/i, /^(a|c)/i] }, Lg = { narrow: /^[1234]/i, abbreviated: /^q[1234]/i, wide: /^[1234](th|st|nd|rd)? quarter/i }, Wg = { any: [/1/i, /2/i, /3/i, /4/i] }, Qg = { 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 }, Xg = { 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 ] }, Yg = { 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 }, Vg = { 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] }, Jg = { 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 }, Zg = { 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 } }, Ro = { ordinalNumber: Ct({ matchPattern: Hg, parsePattern: Bg, valueCallback: (e) => parseInt(e, 10) }), era: Q({ matchPatterns: Fg, defaultMatchWidth: "wide", parsePatterns: Gg, defaultParseWidth: "any" }), quarter: Q({ matchPatterns: Lg, defaultMatchWidth: "wide", parsePatterns: Wg, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: Q({ matchPatterns: Qg, defaultMatchWidth: "wide", parsePatterns: Xg, defaultParseWidth: "any" }), day: Q({ matchPatterns: Yg, defaultMatchWidth: "wide", parsePatterns: Vg, defaultParseWidth: "any" }), dayPeriod: Q({ matchPatterns: Jg, defaultMatchWidth: "any", parsePatterns: Zg, defaultParseWidth: "any" }) }, Ug = { full: "EEEE, d MMMM yyyy", long: "d MMMM yyyy", medium: "d MMM yyyy", short: "dd/MM/yyyy" }, qg = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, Kg = { full: "{{date}} 'at' {{time}}", long: "{{date}} 'at' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, $g = { date: q({ formats: Ug, defaultWidth: "full" }), time: q({ formats: qg, defaultWidth: "full" }), dateTime: q({ formats: Kg, defaultWidth: "full" }) }, Mo = { code: "en-GB", formatDistance: So, formatLong: $g, formatRelative: _o, localize: Eo, match: Ro, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }, em = { full: "EEEE, MMMM do, y", long: "MMMM do, y", medium: "MMM d, y", short: "MM/dd/yyyy" }, tm = { full: "h:mm:ss a zzzz", long: "h:mm:ss a z", medium: "h:mm:ss a", short: "h:mm a" }, nm = { full: "{{date}} 'at' {{time}}", long: "{{date}} 'at' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, am = { date: q({ formats: em, defaultWidth: "full" }), time: q({ formats: tm, defaultWidth: "full" }), dateTime: q({ formats: nm, defaultWidth: "full" }) }, rm = { code: "en-US", formatDistance: So, formatLong: am, formatRelative: _o, localize: Eo, match: Ro, options: { weekStartsOn: 0, firstWeekContainsDate: 1 } }, om = { 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" } }, sm = (e, t, n) => { let a; const r = om[e]; return typeof r == "string" ? a = r : t === 1 ? a = r.one : a = r.other.replace("{{count}}", t.toString()), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? "en " + a : "hace " + a : a; }, im = { full: "EEEE, d 'de' MMMM 'de' y", long: "d 'de' MMMM 'de' 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" }, lm = { full: "{{date}} 'a las' {{time}}", long: "{{date}} 'a las' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, dm = { date: q({ formats: im, defaultWidth: "full" }), time: q({ formats: cm, defaultWidth: "full" }), dateTime: q({ formats: lm, defaultWidth: "full" }) }, um = { 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" }, gm = { 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" }, mm = (e, t, n, a) => t.getHours() !== 1 ? gm[e] : um[e], fm = { narrow: ["AC", "DC"], abbreviated: ["AC", "DC"], wide: ["antes de cristo", "después de cristo"] }, pm = { narrow: ["1", "2", "3", "4"], abbreviated: ["T1", "T2", "T3", "T4"], wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"] }, hm = { 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" ] }, vm = { 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" ] }, bm = { 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" } }, wm = { 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" } }, xm = (e, t) => Number(e) + "º", Am = { ordinalNumber: xm, era: W({ values: fm, defaultWidth: "wide" }), quarter: W({ values: pm, defaultWidth: "wide", argumentCallback: (e) => Number(e) - 1 }), month: W({ values: hm, defaultWidth: "wide" }), day: W({ values: vm, defaultWidth: "wide" }), dayPeriod: W({ values: bm, defaultWidth: "wide", formattingValues: wm, defaultFormattingWidth: "wide" }) }, ym = /^(\d+)(º)?/i, jm = /\d+/i, Pm = { 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 }, Cm = { 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 ] }, Sm = { narrow: /^[1234]/i, abbreviated: /^T[1234]/i, wide: /^[1234](º)? trimestre/i }, _m = { any: [/1/i, /2/i, /3/i, /4/i] }, Em = { 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 }, Rm = { 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 ] }, Mm = { 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 }, km = { 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] }, Dm = { 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 }, zm = { 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 } }, Om = { ordinalNumber: Ct({ matchPattern: ym, parsePattern: jm, valueCallback: function(e) { return parseInt(e, 10); } }), era: Q({ matchPatterns: Pm, defaultMatchWidth: "wide", parsePatterns: Cm, defaultParseWidth: "any" }), quarter: Q({ matchPatterns: Sm, defaultMatchWidth: "wide", parsePatterns: _m, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: Q({ matchPatterns: Em, defaultMatchWidth: "wide", parsePatterns: Rm, defaultParseWidth: "any" }), day: Q({ matchPatterns: Mm, defaultMatchWidth: "wide", parsePatterns: km, defaultParseWidth: "any" }), dayPeriod: Q({ matchPatterns: Dm, defaultMatchWidth: "any", parsePatterns: zm, defaultParseWidth: "any" }) }, Tm = { code: "es", formatDistance: sm, formatLong: dm, formatRelative: mm, localize: Am, match: Om, options: { weekStartsOn: 1, firstWeekContainsDate: 1 } }, Nm = { 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" } }, ko = (e, t, n) => { let a; const r = Nm[e]; return typeof r == "string" ? a = r : t === 1 ? a = r.one : a = r.other.replace("{{count}}", String(t)), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? "dans " + a : "il y a " + a : a; }, Im = { full: "EEEE d MMMM y", long: "d MMMM y", medium: "d MMM y", short: "dd/MM/y" }, Hm = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, Bm = { full: "{{date}} 'à' {{time}}", long: "{{date}} 'à' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, Fm = { date: q({ formats: Im, defaultWidth: "full" }), time: q({ formats: Hm, defaultWidth: "full" }), dateTime: q({ formats: Bm, defaultWidth: "full" }) }, Gm = { lastWeek: "eeee 'dernier à' p", yesterday: "'hier à' p", today: "'aujourd’hui à' p", tomorrow: "'demain à' p'", nextWeek: "eeee 'prochain à' p", other: "P" }, Do = (e, t, n, a) => Gm[e], Lm = { narrow: ["av. J.-C", "ap. J.-C"], abbreviated: ["av. J.-C", "ap. J.-C"], wide: ["avant Jésus-Christ", "après Jésus-Christ"] }, Wm = { 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"] }, Qm = { 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" ] }, Xm = { 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" ] }, Ym = { 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" } }, Vm = (e, t) => { const n = Number(e), a = t == null ? void 0 : t.unit; if (n === 0) return "0"; const r = ["year", "week", "hour", "minute", "second"]; let o; return n === 1 ? o = a && r.includes(a) ? "ère" : "er" : o = "ème", n + o; }, Jm = ["MMM", "MMMM"], zo = { preprocessor: (e, t) => e.getDate() === 1 || !t.some( (a) => a.isToken && Jm.includes(a.value) ) ? t : t.map( (a) => a.isToken && a.value === "do" ? { isToken: !0, value: "d" } : a ), ordinalNumber: Vm, era: W({ values: Lm, defaultWidth: "wide" }), quarter: W({ values: Wm, defaultWidth: "wide", argumentCallback: (e) => e - 1 }), month: W({ values: Qm, defaultWidth: "wide" }), day: W({ values: Xm, defaultWidth: "wide" }), dayPeriod: W({ values: Ym, defaultWidth: "wide" }) }, Zm = /^(\d+)(ième|ère|ème|er|e)?/i, Um = /\d+/i, qm = { 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 }, Km = { any: [/^av/i, /^ap/i] }, $m = { narrow: /^T?[1234]/i, abbreviated: /^[1234](er|ème|e)? trim\.?/i, wide: /^[1234](er|ème|e)? trimestre/i }, ef = { any: [/1/i, /2/i, /3/i, /4/i] }, tf = { 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 }, nf = { 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 ] }, af = { 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 }, rf = { 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] }, of = { 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 }, sf = { 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 } }, Oo = { ordinalNumber: Ct({ matchPattern: Zm, parsePattern: Um, valueCallback: (e) => parseInt(e) }), era: Q({ matchPatterns: qm, defaultMatchWidth: "wide", parsePatterns: Km, defaultParseWidth: "any" }), quarter: Q({ matchPatterns: $m, defaultMatchWidth: "wide", parsePatterns: ef, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: Q({ matchPatterns: tf, defaultMatchWidth: "wide", parsePatterns: nf, defaultParseWidth: "any" }), day: Q({ matchPatterns: af, defaultMatchWidth: "wide", parsePatterns: rf, defaultParseWidth: "any" }), dayPeriod: Q({ matchPatterns: of, defaultMatchWidth: "any", parsePatterns: sf, defaultParseWidth: "any" }) }, cf = { code: "fr", formatDistance: ko, formatLong: Fm, formatRelative: Do, localize: zo, match: Oo, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }, lf = { full: "EEEE d MMMM y", long: "d MMMM y", medium: "d MMM y", short: "yy-MM-dd" }, df = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, uf = { full: "{{date}} 'à' {{time}}", long: "{{date}} 'à' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, gf = { date: q({ formats: lf, defaultWidth: "full" }), time: q({ formats: df, defaultWidth: "full" }), dateTime: q({ formats: uf, defaultWidth: "full" }) }, mf = { code: "fr-CA", formatDistance: ko, formatLong: gf, formatRelative: Do, localize: zo, match: Oo, // Unique for fr-CA options: { weekStartsOn: 0, firstWeekContainsDate: 1 } }, ff = { 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" } }, pf = (e, t, n) => { let a; const r = ff[e]; return typeof r == "string" ? a = r : t === 1 ? a = r.one : a = r.other.replace("{{count}}", t.toString()), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? "tra " + a : a + " fa" : a; }, hf = { full: "EEEE d MMMM y", long: "d MMMM y", medium: "d MMM y", short: "dd/MM/y" }, vf = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, bf = { full: "{{date}} {{time}}", long: "{{date}} {{time}}", medium: "{{date}} {{time}}", short: "{{date}} {{time}}" }, wf = { date: q({ formats: hf, defaultWidth: "full" }), time: q({ formats: vf, defaultWidth: "full" }), dateTime: q({ formats: bf, defaultWidth: "full" }) }, Va = [ "domenica", "lunedì", "martedì", "mercoledì", "giovedì", "venerdì", "sabato" ]; function xf(e) { switch (e) { case 0: return "'domenica scorsa alle' p"; default: return "'" + Va[e] + " scorso alle' p"; } } function Or(e) { return "'" + Va[e] + " alle' p"; } function Af(e) { switch (e) { case 0: return "'domenica prossima alle' p"; default: return "'" + Va[e] + " prossimo alle' p"; } } const yf = { lastWeek: (e, t, n) => { const a = e.getDay(); return Ta(e, t, n) ? Or(a) : xf(a); }, yesterday: "'ieri alle' p", today: "'oggi alle' p", tomorrow: "'domani alle' p", nextWeek: (e, t, n) => { const a = e.getDay(); return Ta(e, t, n) ? Or(a) : Af(a); }, other: "P" }, jf = (e, t, n, a) => { const r = yf[e]; return typeof r == "function" ? r(t, n, a) : r; }, Pf = { narrow: ["aC", "dC"], abbreviated: ["a.C.", "d.C."], wide: ["avanti Cristo", "dopo Cristo"] }, Cf = { narrow: ["1", "2", "3", "4"], abbreviated: ["T1", "T2", "T3", "T4"], wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"] }, Sf = { 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" ] }, _f = { 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" ] }, Ef = { 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" } }, Rf = { 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" } }, Mf = (e, t) => { const n = Number(e); return String(n); }, kf = { ordinalNumber: Mf, era: W({ values: Pf, defaultWidth: "wide" }), quarter: W({ values: Cf, defaultWidth: "wide", argumentCallback: (e) => e - 1 }), month: W({ values: Sf, defaultWidth: "wide" }), day: W({ values: _f, defaultWidth: "wide" }), dayPeriod: W({ values: Ef, defaultWidth: "wide", formattingValues: Rf, defaultFormattingWidth: "wide" }) }, Df = /^(\d+)(º)?/i, zf = /\d+/i, Of = { 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 }, Tf = { any: [/^a/i, /^(d|e)/i] }, Nf = { narrow: /^[1234]/i, abbreviated: /^t[1234]/i, wide: /^[1234](º)? trimestre/i }, If = { any: [/1/i, /2/i, /3/i, /4/i] }, Hf = { 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 }, Bf = { 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 ] }, Ff = { 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 }, Gf = { 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] }, Lf = { 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 }, Wf = { 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 } }, Qf = { ordinalNumber: Ct({ matchPattern: Df, parsePattern: zf, valueCallback: (e) => parseInt(e, 10) }), era: Q({ matchPatterns: Of, defaultMatchWidth: "wide", parsePatterns: Tf, defaultParseWidth: "any" }), quarter: Q({ matchPatterns: Nf, defaultMatchWidth: "wide", parsePatterns: If, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: Q({ matchPatterns: Hf, defaultMatchWidth: "wide", parsePatterns: Bf, defaultParseWidth: "any" }), day: Q({ matchPatterns: Ff, defaultMatchWidth: "wide", parsePatterns: Gf, defaultParseWidth: "any" }), dayPeriod: Q({ matchPatterns: Lf, defaultMatchWidth: "any", parsePatterns: Wf, defaultParseWidth: "any" }) }, Xf = { code: "it", formatDistance: pf, formatLong: wf, formatRelative: jf, localize: kf, match: Qf, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }, Yf = { 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 Vf(e, t) { if (t === 1) return e.one; const n = t % 100; if (n <= 20 && n > 10) return e.other; const a = n % 10; return a >= 2 && a <= 4 ? e.twoFour : e.other; } function ja(e, t, n) { const a = Vf(e, t); return (typeof a == "string" ? a : a[n]).replace("{{count}}", String(t)); } const Jf = (e, t, n) => { const a = Yf[e]; return n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? "za " + ja(a, t, "future") : ja(a, t, "past") + " temu" : ja(a, t, "regular"); }, Zf = { full: "EEEE, do MMMM y", long: "do MMMM y", medium: "do MMM y", short: "dd.MM.y" }, Uf = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, qf = { full: "{{date}} {{time}}", long: "{{date}} {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, Kf = { date: q({ formats: Zf, defaultWidth: "full" }), time: q({ formats: Uf, defaultWidth: "full" }), dateTime: q({ formats: qf, defaultWidth: "full" }) }, $f = { masculine: "ostatni", feminine: "ostatnia" }, ep = { masculine: "ten", feminine: "ta" }, tp = { masculine: "następny", feminine: "następna" }, np = { 0: "feminine", 1: "masculine", 2: "masculine", 3: "feminine", 4: "masculine", 5: "masculine", 6: "feminine" }; function Tr(e, t, n, a) { let r; if (Ta(t, n, a)) r = ep; else if (e === "lastWeek") r = $f; else if (e === "nextWeek") r = tp; else throw new Error(`Cannot determine adjectives for token ${e}`); const o = t.getDay(), i = np[o]; return `'${r[i]}' eeee 'o' p`; } const ap = { lastWeek: Tr, yesterday: "'wczoraj o' p", today: "'dzisiaj o' p", tomorrow: "'jutro o' p", nextWeek: Tr, other: "P" }, rp = (e, t, n, a) => { const r = ap[e]; return typeof r == "function" ? r(e, t, n, a) : r; }, op = { narrow: ["p.n.e.", "n.e."], abbreviated: ["p.n.e.", "n.e."], wide: ["przed naszą erą", "naszej ery"] }, sp = { narrow: ["1", "2", "3", "4"], abbreviated: ["I kw.", "II kw.", "III kw.", "IV kw."], wide: ["I kwartał", "II kwartał", "III kwartał", "IV kwartał"] }, ip = { 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ń" ] }, cp = { 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" ] }, lp = { 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" ] }, dp = { 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" ] }, up = { 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" } }, gp = { 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" } }, mp = (e, t) => String(e), fp = { ordinalNumber: mp, era: W({ values: op, defaultWidth: "wide" }), quarter: W({ values: sp, defaultWidth: "wide", argumentCallback: (e) => e - 1 }), month: W({ values: ip, defaultWidth: "wide", formattingValues: cp, defaultFormattingWidth: "wide" }), day: W({ values: lp, defaultWidth: "wide", formattingValues: dp, defaultFormattingWidth: "wide" }), dayPeriod: W({ values: up, defaultWidth: "wide", formattingValues: gp, defaultFormattingWidth: "wide" }) }, pp = /^(\d+)?/i, hp = /\d+/i, vp = { 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 }, bp = { any: [/^p/i, /^n/i] }, wp = { narrow: /^[1234]/i, abbreviated: /^(I|II|III|IV)\s*kw\.?/i, wide: /^(I|II|III|IV)\s*kwarta(ł|l)/i }, xp = { narrow: [/1/i, /2/i, /3/i, /4/i], any: [/^I kw/i, /^II kw/i, /^III kw/i, /^IV kw/i] }, Ap = { 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 }, yp = { 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 ] }, jp = { 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 }, Pp = { 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] }, Cp = { 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 }, Sp = { 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 } }, _p = { ordinalNumber: Ct({ matchPattern: pp, parsePattern: hp, valueCallback: (e) => parseInt(e, 10) }), era: Q({ matchPatterns: vp, defaultMatchWidth: "wide", parsePatterns: bp, defaultParseWidth: "any" }), quarter: Q({ matchPatterns: wp, defaultMatchWidth: "wide", parsePatterns: xp, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: Q({ matchPatterns: Ap, defaultMatchWidth: "wide", parsePatterns: yp, defaultParseWidth: "any" }), day: Q({ matchPatterns: jp, defaultMatchWidth: "wide", parsePatterns: Pp, defaultParseWidth: "any" }), dayPeriod: Q({ matchPatterns: Cp, defaultMatchWidth: "any", parsePatterns: Sp, defaultParseWidth: "any" }) }, Ep = { code: "pl", formatDistance: Jf, formatLong: Kf, formatRelative: rp, localize: fp, match: _p, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }, Rp = { 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" } }, Mp = (e, t, n) => { let a; const r = Rp[e]; return typeof r == "string" ? a = r : t === 1 ? a = r.one : a = r.other.replace("{{count}}", String(t)), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? "daqui a " + a : "há " + a : a; }, kp = { full: "EEEE, d 'de' MMMM 'de' y", long: "d 'de' MMMM 'de' y", medium: "d 'de' MMM 'de' y", short: "dd/MM/y" }, Dp = { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, zp = { full: "{{date}} 'às' {{time}}", long: "{{date}} 'às' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, Op = { date: q({ formats: kp, defaultWidth: "full" }), time: q({ formats: Dp, defaultWidth: "full" }), dateTime: q({ formats: zp, defaultWidth: "full" }) }, Tp = { lastWeek: (e) => { const t = e.getDay(); return "'" + (t === 0 || t === 6 ? "último" : "última") + "' eeee 'às' p"; }, yesterday: "'ontem às' p", today: "'hoje às' p", tomorrow: "'amanhã às' p", nextWeek: "eeee 'às' p", other: "P" }, Np = (e, t, n, a) => { const r = Tp[e]; return typeof r == "function" ? r(t) : r; }, Ip = { narrow: ["aC", "dC"], abbreviated: ["a.C.", "d.C."], wide: ["antes de Cristo", "depois de Cristo"] }, Hp = { narrow: ["1", "2", "3", "4"], abbreviated: ["T1", "T2", "T3", "T4"], wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"] }, Bp = { 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" ] }, Fp = { 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" ] }, Gp = { 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" } }, Lp = { 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" } }, Wp = (e, t) => Number(e) + "º", Qp = { ordinalNumber: Wp, era: W({ values: Ip, defaultWidth: "wide" }), quarter: W({ values: Hp, defaultWidth: "wide", argumentCallback: (e) => e - 1 }), month: W({ values: Bp, defaultWidth: "wide" }), day: W({ values: Fp, defaultWidth: "wide" }), dayPeriod: W({ values: Gp, defaultWidth: "wide", formattingValues: Lp, defaultFormattingWidth: "wide" }) }, Xp = /^(\d+)(º|ª)?/i, Yp = /\d+/i, Vp = { 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 }, Jp = { any: [/^ac/i, /^dc/i], wide: [ /^(antes de cristo|antes da era comum)/i, /^(depois de cristo|era comum)/i ] }, Zp = { narrow: /^[1234]/i, abbreviated: /^T[1234]/i, wide: /^[1234](º|ª)? trimestre/i }, Up = { any: [/1/i, /2/i, /3/i, /4/i] }, qp = { 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 }, Kp = { 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 ] }, $p = { 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 }, eh = { 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] }, th = { 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 }, nh = { 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 } }, ah = { ordinalNumber: Ct({ matchPattern: Xp, parsePattern: Yp, valueCallback: (e) => parseInt(e, 10) }), era: Q({ matchPatterns: Vp, defaultMatchWidth: "wide", parsePatterns: Jp, defaultParseWidth: "any" }), quarter: Q({ matchPatterns: Zp, defaultMatchWidth: "wide", parsePatterns: Up, defaultParseWidth: "any", valueCallback: (e) => e + 1 }), month: Q({ matchPatterns: qp, defaultMatchWidth: "wide", parsePatterns: Kp, defaultParseWidth: "any" }), day: Q({ matchPatterns: $p, defaultMatchWidth: "wide", parsePatterns: eh, defaultParseWidth: "any" }), dayPeriod: Q({ matchPatterns: th, defaultMatchWidth: "any", parsePatterns: nh, defaultParseWidth: "any" }) }, rh = { code: "pt", formatDistance: Mp, formatLong: Op, formatRelative: Np, localize: Qp, match: ah, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }, oh = { enGB: Mo, fr: cf, frCA: mf, de: Eg, es: Tm, it: Xf, pl: Ep, pt: rh }, sh = () => { const { i18n: e } = G(), t = Zu(e == null ? void 0 : e.language); return oh[t] || Mo; }; function Vn(e, t) { return Pt(e, { ...t, weekStartsOn: 1 }); } function To(e, t) { const n = Ve(e, t == null ? void 0 : t.in), a = n.getFullYear(), r = gt(n, 0); r.setFullYear(a + 1, 0, 4), r.setHours(0, 0, 0, 0); const o = Vn(r), i = gt(n, 0); i.setFullYear(a, 0, 4), i.setHours(0, 0, 0, 0); const l = Vn(i); return n.getTime() >= o.getTime() ? a + 1 : n.getTime() >= l.getTime() ? a : a - 1; } function Nr(e) { const t = Ve(e), n = new Date( Date.UTC( t.getFullYear(), t.getMonth(), t.getDate(), t.getHours(), t.getMinutes(), t.getSeconds(), t.getMilliseconds() ) ); return n.setUTCFullYear(t.getFullYear()), +e - +n; } function Ir(e, t) { const n = Ve(e, t == null ? void 0 : t.in); return n.setHours(0, 0, 0, 0), n; } function ih(e, t, n) { const [a, r] = Co( n == null ? void 0 : n.in, e, t ), o = Ir(a), i = Ir(r), l = +o - Nr(o), c = +i - Nr(i); return Math.round((l - c) / Ku); } function ch(e, t) { const n = To(e, t), a = gt(e, 0); return a.setFullYear(n, 0, 4), a.setHours(0, 0, 0, 0), Vn(a); } function lh(e) { return e instanceof Date || typeof e == "object" && Object.prototype.toString.call(e) === "[object Date]"; } function No(e) { return !(!lh(e) && typeof e != "number" || isNaN(+Ve(e))); } function dh(e, t) { const n = Ve(e, t == null ? void 0 : t.in); return n.setFullYear(n.getFullYear(), 0, 1), n.setHours(0, 0, 0, 0), n; } function uh(e, t) { const n = Ve(e, t == null ? void 0 : t.in); return ih(n, dh(n)) + 1; } function gh(e, t) { const n = Ve(e, t == null ? void 0 : t.in), a = +Vn(n) - +ch(n); return Math.round(a / Po) + 1; } function Io(e, t) { var m, h, b, u; const n = Ve(e, t == null ? void 0 : t.in), a = n.getFullYear(), r = na(), o = (t == null ? void 0 : t.firstWeekContainsDate) ?? ((h = (m = t == null ? void 0 : t.locale) == null ? void 0 : m.options) == null ? void 0 : h.firstWeekContainsDate) ?? r.firstWeekContainsDate ?? ((u = (b = r.locale) == null ? void 0 : b.options) == null ? void 0 : u.firstWeekContainsDate) ?? 1, i = gt((t == null ? void 0 : t.in) || e, 0); i.setFullYear(a + 1, 0, o), i.setHours(0, 0, 0, 0); const l = Pt(i, t), c = gt((t == null ? void 0 : t.in) || e, 0); c.setFullYear(a, 0, o), c.setHours(0, 0, 0, 0); const g = Pt(c, t); return +n >= +l ? a + 1 : +n >= +g ? a : a - 1; } function mh(e, t) { var l, c, g, m; const n = na(), a = (t == null ? void 0 : t.firstWeekContainsDate) ?? ((c = (l = t == null ? void 0 : t.locale) == null ? void 0 : l.options) == null ? void 0 : c.firstWeekContainsDate) ?? n.firstWeekContainsDate ?? ((m = (g = n.locale) == null ? void 0 : g.options) == null ? void 0 : m.firstWeekContainsDate) ?? 1, r = Io(e, t), o = gt((t == null ? void 0 : t.in) || e, 0); return o.setFullYear(r, 0, a), o.setHours(0, 0, 0, 0), Pt(o, t); } function fh(e, t) { const n = Ve(e, t == null ? void 0 : t.in), a = +Pt(n, t) - +mh(n, t); return Math.round(a / Po) + 1; } function Z(e, t) { const n = e < 0 ? "-" : "", a = Math.abs(e).toString().padStart(t, "0"); return n + a; } const st = { // Year y(e, t) { const n = e.getFullYear(), a = n > 0 ? n : 1 - n; return Z(t === "yy" ? a % 100 : a, t.length); }, // Month M(e, t) { const n = e.getMonth(); return t === "M" ? String(n + 1) : Z(n + 1, 2); }, // Day of the month d(e, t) { return Z(e.getDate(), t.length); }, // AM or PM a(e, t) { const n = e.getHours() / 12 >= 1 ? "pm" : "am"; switch (t) { case "a": case "aa": return n.toUpperCase(); case "aaa": return n; case "aaaaa": return n[0]; case "aaaa": default: return n === "am" ? "a.m." : "p.m."; } }, // Hour [1-12] h(e, t) { return Z(e.getHours() % 12 || 12, t.length); }, // Hour [0-23] H(e, t) { return Z(e.getHours(), t.length); }, // Minute m(e, t) { return Z(e.getMinutes(), t.length); }, // Second s(e, t) { return Z(e.getSeconds(), t.length); }, // Fraction of second S(e, t) { const n = t.length, a = e.getMilliseconds(), r = Math.trunc( a * Math.pow(10, n - 3) ); return Z(r, t.length); } }, It = { am: "am", pm: "pm", midnight: "midnight", noon: "noon", morning: "morning", afternoon: "afternoon", evening: "evening", night: "night" }, Hr = { // Era G: function(e, t, n) { const a = e.getFullYear() > 0 ? 1 : 0; switch (t) { // AD, BC case "G": case "GG": case "GGG": return n.era(a, { width: "abbreviated" }); // A, B case "GGGGG": return n.era(a, { width: "narrow" }); // Anno Domini, Before Christ case "GGGG": default: return n.era(a, { width: "wide" }); } }, // Year y: function(e, t, n) { if (t === "yo") { const a = e.getFullYear(), r = a > 0 ? a : 1 - a; return n.ordinalNumber(r, { unit: "year" }); } return st.y(e, t); }, // Local week-numbering year Y: function(e, t, n, a) { const r = Io(e, a), o = r > 0 ? r : 1 - r; if (t === "YY") { const i = o % 100; return Z(i, 2); } return t === "Yo" ? n.ordinalNumber(o, { unit: "year" }) : Z(o, t.length); }, // ISO week-numbering year R: function(e, t) { const n = To(e); return Z(n, t.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, t) { const n = e.getFullYear(); return Z(n, t.length); }, // Quarter Q: function(e, t, n) { const a = Math.ceil((e.getMonth() + 1) / 3); switch (t) { // 1, 2, 3, 4 case "Q": return String(a); // 01, 02, 03, 04 case "QQ": return Z(a, 2); // 1st, 2nd, 3rd, 4th case "Qo": return n.ordinalNumber(a, { unit: "quarter" }); // Q1, Q2, Q3, Q4 case "QQQ": return n.quarter(a, { width: "abbreviated", context: "formatting" }); // 1, 2, 3, 4 (narrow quarter; could be not numerical) case "QQQQQ": return n.quarter(a, { width: "narrow", context: "formatting" }); // 1st quarter, 2nd quarter, ... case "QQQQ": default: return n.quarter(a, { width: "wide", context: "formatting" }); } }, // Stand-alone quarter q: function(e, t, n) { const a = Math.ceil((e.getMonth() + 1) / 3); switch (t) { // 1, 2, 3, 4 case "q": return String(a); // 01, 02, 03, 04 case "qq": return Z(a, 2); // 1st, 2nd, 3rd, 4th case "qo": return n.ordinalNumber(a, { unit: "quarter" }); // Q1, Q2, Q3, Q4 case "qqq": return n.quarter(a, { width: "abbreviated", context: "standalone" }); // 1, 2, 3, 4 (narrow quarter; could be not numerical) case "qqqqq": return n.quarter(a, { width: "narrow", context: "standalone" }); // 1st quarter, 2nd quarter, ... case "qqqq": default: return n.quarter(a, { width: "wide", context: "standalone" }); } }, // Month M: function(e, t, n) { const a = e.getMonth(); switch (t) { case "M": case "MM": return st.M(e, t); // 1st, 2nd, ..., 12th case "Mo": return n.ordinalNumber(a + 1, { unit: "month" }); // Jan, Feb, ..., Dec case "MMM": return n.month(a, { width: "abbreviated", context: "formatting" }); // J, F, ..., D case "MMMMM": return n.month(a, { width: "narrow", context: "formatting" }); // January, February, ..., December case "MMMM": default: return n.month(a, { width: "wide", context: "formatting" }); } }, // Stand-alone month L: function(e, t, n) { const a = e.getMonth(); switch (t) { // 1, 2, ..., 12 case "L": return String(a + 1); // 01, 02, ..., 12 case "LL": return Z(a + 1, 2); // 1st, 2nd, ..., 12th case "Lo": return n.ordinalNumber(a + 1, { unit: "month" }); // Jan, Feb, ..., Dec case "LLL": return n.month(a, { width: "abbreviated", context: "standalone" }); // J, F, ..., D case "LLLLL": return n.month(a, { width: "narrow", context: "standalone" }); // January, February, ..., December case "LLLL": default: return n.month(a, { width: "wide", context: "standalone" }); } }, // Local week of year w: function(e, t, n, a) { const r = fh(e, a); return t === "wo" ? n.ordinalNumber(r, { unit: "week" }) : Z(r, t.length); }, // ISO week of year I: function(e, t, n) { const a = gh(e); return t === "Io" ? n.ordinalNumber(a, { unit: "week" }) : Z(a, t.length); }, // Day of the month d: function(e, t, n) { return t === "do" ? n.ordinalNumber(e.getDate(), { unit: "date" }) : st.d(e, t); }, // Day of year D: function(e, t, n) { const a = uh(e); return t === "Do" ? n.ordinalNumber(a, { unit: "dayOfYear" }) : Z(a, t.length); }, // Day of week E: function(e, t, n) { const a = e.getDay(); switch (t) { // Tue case "E": case "EE": case "EEE": return n.day(a, { width: "abbreviated", context: "formatting" }); // T case "EEEEE": return n.day(a, { width: "narrow", context: "formatting" }); // Tu case "EEEEEE": return n.day(a, { width: "short", context: "formatting" }); // Tuesday case "EEEE": default: return n.day(a, { width: "wide", context: "formatting" }); } }, // Local day of week e: function(e, t, n, a) { const r = e.getDay(), o = (r - a.weekStartsOn + 8) % 7 || 7; switch (t) { // Numerical value (Nth day of week with current locale or weekStartsOn) case "e": return String(o); // Padded numerical value case "ee": return Z(o, 2); // 1st, 2nd, ..., 7th case "eo": return n.ordinalNumber(o, { unit: "day" }); case "eee": return n.day(r, { width: "abbreviated", context: "formatting" }); // T case "eeeee": return n.day(r, { width: "narrow", context: "formatting" }); // Tu case "eeeeee": return n.day(r, { width: "short", context: "formatting" }); // Tuesday case "eeee": default: return n.day(r, { width: "wide", context: "formatting" }); } }, // Stand-alone local day of week c: function(e, t, n, a) { const r = e.getDay(), o = (r - a.weekStartsOn + 8) % 7 || 7; switch (t) { // Numerical value (same as in `e`) case "c": return String(o); // Padded numerical value case "cc": return Z(o, t.length); // 1st, 2nd, ..., 7th case "co": return n.ordinalNumber(o, { unit: "day" }); case "ccc": return n.day(r, { width: "abbreviated", context: "standalone" }); // T case "ccccc": return n.day(r, { width: "narrow", context: "standalone" }); // Tu case "cccccc": return n.day(r, { width: "short", context: "standalone" }); // Tuesday case "cccc": default: return n.day(r, { width: "wide", context: "standalone" }); } }, // ISO day of week i: function(e, t, n) { const a = e.getDay(), r = a === 0 ? 7 : a; switch (t) { // 2 case "i": return String(r); // 02 case "ii": return Z(r, t.length); // 2nd case "io": return n.ordinalNumber(r, { unit: "day" }); // Tue case "iii": return n.day(a, { width: "abbreviated", context: "formatting" }); // T case "iiiii": return n.day(a, { width: "narrow", context: "formatting" }); // Tu case "iiiiii": return n.day(a, { width: "short", context: "formatting" }); // Tuesday case "iiii": default: return n.day(a, { width: "wide", context: "formatting" }); } }, // AM or PM a: function(e, t, n) { const r = e.getHours() / 12 >= 1 ? "pm" : "am"; switch (t) { case "a": case "aa": return n.dayPeriod(r, { width: "abbreviated", context: "formatting" }); case "aaa": return n.dayPeriod(r, { width: "abbreviated", context: "formatting" }).toLowerCase(); case "aaaaa": return n.dayPeriod(r, { width: "narrow", context: "formatting" }); case "aaaa": default: return n.dayPeriod(r, { width: "wide", context: "formatting" }); } }, // AM, PM, midnight, noon b: function(e, t, n) { const a = e.getHours(); let r; switch (a === 12 ? r = It.noon : a === 0 ? r = It.midnight : r = a / 12 >= 1 ? "pm" : "am", t) { case "b": case "bb": return n.dayPeriod(r, { width: "abbreviated", context: "formatting" }); case "bbb": return n.dayPeriod(r, { width: "abbreviated", context: "formatting" }).toLowerCase(); case "bbbbb": return n.dayPeriod(r, { width: "narrow", context: "formatting" }); case "bbbb": default: return n.dayPeriod(r, { width: "wide", context: "formatting" }); } }, // in the morning, in the afternoon, in the evening, at night B: function(e, t, n) { const a = e.getHours(); let r; switch (a >= 17 ? r = It.evening : a >= 12 ? r = It.afternoon : a >= 4 ? r = It.morning : r = It.night, t) { case "B": case "BB": case "BBB": return n.dayPeriod(r, { width: "abbreviated", context: "formatting" }); case "BBBBB": return n.dayPeriod(r, { width: "narrow", context: "formatting" }); case "BBBB": default: return n.dayPeriod(r, { width: "wide", context: "formatting" }); } }, // Hour [1-12] h: function(e, t, n) { if (t === "ho") { let a = e.getHours() % 12; return a === 0 && (a = 12), n.ordinalNumber(a, { unit: "hour" }); } return st.h(e, t); }, // Hour [0-23] H: function(e, t, n) { return t === "Ho" ? n.ordinalNumber(e.getHours(), { unit: "hour" }) : st.H(e, t); }, // Hour [0-11] K: function(e, t, n) { const a = e.getHours() % 12; return t === "Ko" ? n.ordinalNumber(a, { unit: "hour" }) : Z(a, t.length); }, // Hour [1-24] k: function(e, t, n) { let a = e.getHours(); return a === 0 && (a = 24), t === "ko" ? n.ordinalNumber(a, { unit: "hour" }) : Z(a, t.length); }, // Minute m: function(e, t, n) { return t === "mo" ? n.ordinalNumber(e.getMinutes(), { unit: "minute" }) : st.m(e, t); }, // Second s: function(e, t, n) { return t === "so" ? n.ordinalNumber(e.getSeconds(), { unit: "second" }) : st.s(e, t); }, // Fraction of second S: function(e, t) { return st.S(e, t); }, // Timezone (ISO-8601. If offset is 0, output is always `'Z'`) X: function(e, t, n) { const a = e.getTimezoneOffset(); if (a === 0) return "Z"; switch (t) { // Hours and optional minutes case "X": return Fr(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 At(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 At(a, ":"); } }, // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent) x: function(e, t, n) { const a = e.getTimezoneOffset(); switch (t) { // Hours and optional minutes case "x": return Fr(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 At(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 At(a, ":"); } }, // Timezone (GMT) O: function(e, t, n) { const a = e.getTimezoneOffset(); switch (t) { // Short case "O": case "OO": case "OOO": return "GMT" + Br(a, ":"); // Long case "OOOO": default: return "GMT" + At(a, ":"); } }, // Timezone (specific non-location) z: function(e, t, n) { const a = e.getTimezoneOffset(); switch (t) { // Short case "z": case "zz": case "zzz": return "GMT" + Br(a, ":"); // Long case "zzzz": default: return "GMT" + At(a, ":"); } }, // Seconds timestamp t: function(e, t, n) { const a = Math.trunc(+e / 1e3); return Z(a, t.length); }, // Milliseconds timestamp T: function(e, t, n) { return Z(+e, t.length); } }; function Br(e, t = "") { const n = e > 0 ? "-" : "+", a = Math.abs(e), r = Math.trunc(a / 60), o = a % 60; return o === 0 ? n + String(r) : n + String(r) + t + Z(o, 2); } function Fr(e, t) { return e % 60 === 0 ? (e > 0 ? "-" : "+") + Z(Math.abs(e) / 60, 2) : At(e, t); } function At(e, t = "") { const n = e > 0 ? "-" : "+", a = Math.abs(e), r = Z(Math.trunc(a / 60), 2), o = Z(a % 60, 2); return n + r + t + o; } const Gr = (e, t) => { switch (e) { case "P": return t.date({ width: "short" }); case "PP": return t.date({ width: "medium" }); case "PPP": return t.date({ width: "long" }); case "PPPP": default: return t.date({ width: "full" }); } }, Ho = (e, t) => { switch (e) { case "p": return t.time({ width: "short" }); case "pp": return t.time({ width: "medium" }); case "ppp": return t.time({ width: "long" }); case "pppp": default: return t.time({ width: "full" }); } }, ph = (e, t) => { const n = e.match(/(P+)(p+)?/) || [], a = n[1], r = n[2]; if (!r) return Gr(e, t); let o; switch (a) { case "P": o = t.dateTime({ width: "short" }); break; case "PP": o = t.dateTime({ width: "medium" }); break; case "PPP": o = t.dateTime({ width: "long" }); break; case "PPPP": default: o = t.dateTime({ width: "full" }); break; } return o.replace("{{date}}", Gr(a, t)).replace("{{time}}", Ho(r, t)); }, hh = { p: Ho, P: ph }, vh = /^D+$/, bh = /^Y+$/, wh = ["D", "DD", "YY", "YYYY"]; function xh(e) { return vh.test(e); } function Ah(e) { return bh.test(e); } function yh(e, t, n) { const a = jh(e, t, n); if (console.warn(a), wh.includes(e)) throw new RangeError(a); } function jh(e, t, n) { const a = e[0] === "Y" ? "years" : "days of the month"; return `Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${a} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`; } const Ph = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, Ch = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, Sh = /^'([^]*?)'?$/, _h = /''/g, Eh = /[a-zA-Z]/; function Rh(e, t, n) { var m, h, b, u, p, w, j, P; const a = na(), r = (n == null ? void 0 : n.locale) ?? a.locale ?? rm, o = (n == null ? void 0 : n.firstWeekContainsDate) ?? ((h = (m = n == null ? void 0 : n.locale) == null ? void 0 : m.options) == null ? void 0 : h.firstWeekContainsDate) ?? a.firstWeekContainsDate ?? ((u = (b = a.locale) == null ? void 0 : b.options) == null ? void 0 : u.firstWeekContainsDate) ?? 1, i = (n == null ? void 0 : n.weekStartsOn) ?? ((w = (p = n == null ? void 0 : n.locale) == null ? void 0 : p.options) == null ? void 0 : w.weekStartsOn) ?? a.weekStartsOn ?? ((P = (j = a.locale) == null ? void 0 : j.options) == null ? void 0 : P.weekStartsOn) ?? 0, l = Ve(e, n == null ? void 0 : n.in); if (!No(l)) throw new RangeError("Invalid time value"); let c = t.match(Ch).map((C) => { const S = C[0]; if (S === "p" || S === "P") { const I = hh[S]; return I(C, r.formatLong); } return C; }).join("").match(Ph).map((C) => { if (C === "''") return { isToken: !1, value: "'" }; const S = C[0]; if (S === "'") return { isToken: !1, value: Mh(C) }; if (Hr[S]) return { isToken: !0, value: C }; if (S.match(Eh)) throw new RangeError( "Format string contains an unescaped latin alphabet character `" + S + "`" ); return { isToken: !1, value: C }; }); r.localize.preprocessor && (c = r.localize.preprocessor(l, c)); const g = { firstWeekContainsDate: o, weekStartsOn: i, locale: r }; return c.map((C) => { if (!C.isToken) return C.value; const S = C.value; (!(n != null && n.useAdditionalWeekYearTokens) && Ah(S) || !(n != null && n.useAdditionalDayOfYearTokens) && xh(S)) && yh(S, t, String(e)); const I = Hr[S[0]]; return I(l, S, r.localize, g); }).join(""); } function Mh(e) { const t = e.match(Sh); return t ? t[1].replace(_h, "'") : e; } const kh = "N/A", ab = ({ invalidDateDisplayLabel: e = kh } = {}) => { const t = sh(); return jt( ({ date: a, format: r = "PP" }) => { const o = typeof a == "string" ? new Date(a) : a; if (!o || !No(o)) return e; try { return Rh(o, r, { locale: t }); } catch { return e; } }, [t, e] ); }, Dh = "N/A"; var zh = /* @__PURE__ */ ((e) => (e.compact = "compact", e.display = "display", e.fullDisplay = "fullDisplay", e))(zh || {}); const rb = ({ dateString: e, defaultLocale: t = "FR-fr", unknownDateLabel: n = Dh, format: a = "display" /* display */ }) => { var l; const { i18n: r } = G(), o = new Date(e), i = ((l = r == null ? void 0 : r.language) == null ? void 0 : l.replace("_", "-")) || t; return o.toString() === "Invalid Date" ? n : a === "compact" ? o.toLocaleDateString(i) : o.toLocaleString(i, { day: "numeric", month: a === "fullDisplay" ? "long" : "short", year: "numeric" }); }, Oh = { 1e3: ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"], 1024: ["B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"] }; function ob() { const { t: e } = G(ta.BYTES); return { formatBytes: (n, a = 0, r = 1e3) => { if (!+n) return 0; const o = Math.floor(Math.log(n) / Math.log(r)); return `${parseFloat((n / r ** o).toFixed(a))} ${e( `unit_size_${Oh[r][o]}` )}`; } }; } const Th = async (e) => { const { data: t } = await Jn.get( `/cloud/project/${e}/aggregated/network` ); return t; }, Nh = (e) => ["aggregated-network", e], Ih = (e, t) => Te({ queryKey: Nh(e), queryFn: () => Th(e), enabled: (t == null ? void 0 : t.length) > 0, select: (n) => { var o; const a = {}, r = (t == null ? void 0 : t.filter(({ type: i }) => i.includes("localzone"))) || []; return (o = n.resources) == null || o.forEach((i) => { if (i.visibility === "private" && !(r != null && r.some((l) => l.name === i.region))) if (a[i.vlanId]) { const { id: l, region: c } = i; a[i.vlanId].subnets.push({ region: c, networkId: l }); } else { const { id: l, region: c, ...g } = i; a[i.vlanId] = { ...g, region: c, subnets: [{ region: c, networkId: l }] }; } }), Object.values(a); } }), Hh = (e, t) => { const n = Ih( e, t ), { data: a } = n; return { ...n, data: ye( () => Array.from( new Set( a == null ? void 0 : a.reduce( (r, o) => r.concat(o.subnets.map(({ region: i }) => i)), [] ) ) ), [a] ) }; }, Bh = async () => { const { data: e } = await Jn.get("/cloud/migrationStein"); return e; }, Fh = ["migrationSteins"], Gh = () => Te({ queryKey: Fh, queryFn: () => Bh(), select: (e) => [...e].sort( (t, n) => new Date(t.date).getTime() - new Date(n.date).getTime() ) }), Lh = (e) => [ "project", e, "regions" ], Wh = async (e) => { const { data: t } = await Zn({ route: `/cloud/project/${e}/region` }); return t; }, Qh = (e) => Te({ queryKey: Lh(e), queryFn: () => Wh(e) }); function sb(e) { var i; const { data: t } = Qh(e), { data: n } = Gh(), { data: a } = Hh( e, t ), r = (n == null ? void 0 : n.map(({ zone: l }) => l)) || []; return { hasMaintenance: (a || []).some( (l) => r.includes(l) ), maintenanceURL: (i = n == null ? void 0 : n[0]) == null ? void 0 : i.travaux }; } const Xh = { 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") }; pe(Xh, "region"); const ib = (e) => { var n, a; return /^lz/i.test( (a = (n = e.split("-")) == null ? void 0 : n.slice(2)) == null ? void 0 : a.join("-") ); }, Pa = (e) => { const t = e.split("-"); return [ null, t[0].split(/(\d)/)[0], t[0], t[2], t[2] === "LZ" ? t[3] : t[2], t[3] ][t.length] || "Unknown_Macro_Region"; }, cb = () => { const { i18n: e, t } = G("region"); return { translateMicroRegion: (n) => { const a = Pa(n); return e.exists(`region:manager_components_region_${a}_micro`) ? t(`manager_components_region_${a}_micro`, { micro: n }) : ""; }, translateMacroRegion: (n) => { const a = Pa(n); return e.exists(`region:manager_components_region_${a}`) ? t(`manager_components_region_${a}`) : ""; }, translateContinentRegion: (n) => { const a = Pa(n); return e.exists(`region:manager_components_region_continent_${a}`) ? t(`manager_components_region_continent_${a}`) : ""; } }; }; export { Yu as API_V2_MAX_PAGE_SIZE, Fu as API_V6_MAX_PAGE_SIZE, Ys as ASIA_FORMAT, mv as ActionBanner, Pv as ActionMenu, Jv as Badge, Ev as BaseLayout, pv as Breadcrumb, Oi as CHANGELOG_PREFIXES, wv as Card, Sv as ChangelogButton, hv as Clipboard, ao as CurrencyCode, kh as DEFAULT_UNKNOWN_DATE_LABEL, _v as DashboardGridLayout, yv as DashboardTile, Hv as DataGridClipboardCell, Jc as DataGridTextCell, Tv as Datagrid, ub as DatagridColumnTypes, zh as DateFormat, Xi as DeleteModal, zv as DeleteServiceModal, Bv as Drawer, Fv as DrawerCollapsible, Fi as ErrorBanner, Rv as ErrorBoundary, Vs as FRENCH_FORMAT, $c as FilterAdd, tl as FilterList, Js as GERMAN_FORMAT, Cv as GuideButton, ul as GuidesHeader, Zs as HOUR_IN_MONTH, bi as Headers, vi as IconLinkAlignmentType, Bt as IntervalUnitType, dt as LinkType, pn as Links, oo as ManagerButton, Wv as ManagerLink, Qv as ManagerText, $e as ManagerTile, nd as Modal, td as ModalComponent, Ll as NOTIFICATION_MINIMAL_DISPLAY_TIME, on as NotificationType, Lv as Notifications, fr as OVH_CURRENCY_BY_SUBSIDIARY, Mv as OnboardingLayout, Ao as Order, wi as OvhSubsidiary, Ni as PageLayout, Gv as PciGuidesHeader, Yv as PciMaintenanceBanner, Av as Price, fv as RedirectionGuard, Vv as Region, Yl as STATES, Xv as ServiceStateBadge, vv as StepComponent, no as Subtitle, fa as TRACKING_LABELS, gi as TabsComponent, Kc as TagsFilterForm, yo as TagsList, Zv as TagsModal, Uv as TagsTile, Ai as TileBlock, bv as TilesInputComponent, xv as Title, Ov as UpdateIamNameModal, nc as UpdateNameModal, ov as convertHourlyPriceToMonthly, $v as dataType, Qi as defaultDeleteModalTerminateValue, ec as defaultServiceResponse, Dh as defaultUnknownDateLabel, Ji as deleteService, Zi as deleteServiceMutationKey, $s as featureAvailabilityError, ki as fetchAuthorizationCheck, Ri as fetchAuthorizationsCheck, qs as fetchFeatureAvailabilityData, Mi as getAuthorizationCheckUrl, Ju as getDefaultQueryKey, gv as getFeatureAvailabilityMocks, Ks as getFeatureAvailabilityQueryKey, Pa as getMacroRegion, Ha as getProjectRegions, La as getResourceServiceId, Ga as getResourceServiceIdQueryKey, tb as getResourcesIcebergV2, qv as getResourcesIcebergV6, Yi as getServiceDetails, $i as getServiceDetailsQueryKey, Dv as getServicesMocks, Yn as handleClick, ib as isLocalZone, Us as priceFromUcent, rv as priceToUcent, Bn as servicesMockErrors, Vi as updateServiceName, qi as updateServiceNameMutationKey, Fa as useAuthorizationIam, jv as useAuthorizationsIam, Qs as useBreadcrumb, ob as useBytes, sv as useCatalogPrice, Ya as useColumnFilters, Nv as useDataGrid, Iv as useDatagridSearchParams, sh as useDateFnsLocale, Ui as useDeleteService, uv as useFeatureAvailability, ab as useFormatDate, rb as useFormattedDate, Di as useGetResourceTags, Xs as useMe, bo as useNotifications, xo as useOrderContext, sb as useProductMaintenance, cv as useProjectLocalRegions, lv as useProjectNonLocalRegions, av as useProjectQuota, iv as useProjectRegions, dv as useProjectUrl, Vu as useResourcesIcebergV2, Kv as useResourcesIcebergV6, eb as useResourcesV6, kv as useServiceDetails, nb as useTask, cb as useTranslatedMicroRegions, Ki as useUpdateServiceDisplayName };