@ovh-ux/muk 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/README.md +51 -16
- package/dist/{TagsModal.component-wlV7ClY7.mjs → TagsModal.component-BIbbIBAv.mjs} +1 -1
- package/dist/{lib-Bpiw0_2K.mjs → lib-CWaID5dp.mjs} +45 -44
- package/dist/manager-ui-kit-lib.es.ts +1 -1
- package/dist/manager-ui-kit-lib.umd.ts +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.1.1](https://github.com/ovh/manager/compare/@ovh-ux/muk@0.1.0...@ovh-ux/muk@0.1.1) (2025-10-23)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @ovh-ux/muk
|
|
9
|
+
|
|
6
10
|
# [0.1.0](https://github.com/ovh/manager/compare/@ovh-ux/muk@0.0.1...@ovh-ux/muk@0.1.0) (2025-10-23)
|
|
7
11
|
|
|
8
12
|
### Bug Fixes
|
package/README.md
CHANGED
|
@@ -1,26 +1,61 @@
|
|
|
1
|
-
# ⚛️⚡ Manager
|
|
1
|
+
# ⚛️⚡ Manager UI Kit Library
|
|
2
|
+
|
|
3
|
+
Design-system library for OVHcloud Manager µ-apps.
|
|
2
4
|
|
|
3
5
|
## Features
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
- **Unified Entry Point for Manager Development:** Access all Manager components, hooks, and utilities from a single, streamlined library — eliminating dependency clutter, simplifying imports, and accelerating development with one consistent source of truth.
|
|
8
|
+
- **Built on OVHcloud Design System v19:** Harnesses the power and consistency of OVHcloud’s latest design principles — ensuring visual harmony, modern aesthetics, and a unified user experience across all Manager applications. Elimination of shadow DOM for simplified tests.
|
|
9
|
+
- **Absorb Breaking Changes from ODS:** As MUK exposes wrappers for every ODS components, in future MUK can absorb the pressure of ODS braking change to reduce the impact on µ-apps
|
|
10
|
+
- **Exclusive Manager Components:** Includes purpose-built Manager-only components such as Datagrid, layouts, Modals, Tags Management and more — crafted specifically to meet complex product needs and streamline development across Manager platforms.
|
|
11
|
+
- **Accessibility by Design:** Every component is crafted with WCAG-compliant accessibility in mind, ensuring inclusivity and usability for all users right out of the box.
|
|
12
|
+
- **Optimized for Performance:** Engineered for scalability and speed — with Datagrid virtualization that efficiently handles massive data sets while keeping interfaces lightning fast.
|
|
13
|
+
- **Tree-Shakeable Architecture:** Designed with modular exports that support tree-shaking, ensuring your applications load only what they need — reducing bundle size, improving load times, and boosting overall performance.
|
|
14
|
+
- **Developer-Friendly Documentation:** Explore an interactive documentation hub on Manager-Wiki, featuring live examples, ready-to-use code snippets, and detailed guidelines to speed up adoption and integration.
|
|
15
|
+
|
|
16
|
+
## Usage
|
|
17
|
+
|
|
18
|
+
To use the Manager UI Kit in your project,
|
|
19
|
+
|
|
20
|
+
1. Add a dependency in your app,
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
yarn add @ovhcloud/muk
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
2. Import CSS in your app,
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
import '@ovh-ux/muk/dist/style.css';
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Note:** This requirement is temporary and will no longer be needed with future releases.
|
|
33
|
+
|
|
34
|
+
3. Import components in your tsx file and use it as per your needs,
|
|
35
|
+
|
|
36
|
+
```tsx
|
|
37
|
+
import { Badge, BADGE_COLOR, BADGE_SIZE } from '@ovh-ux/muk';
|
|
7
38
|
|
|
8
|
-
|
|
39
|
+
return (
|
|
40
|
+
<Badge color={BADGE_COLOR.information} size={BADGE_SIZE.md}>
|
|
41
|
+
Active
|
|
42
|
+
</Badge>
|
|
43
|
+
);
|
|
44
|
+
```
|
|
9
45
|
|
|
10
|
-
|
|
11
|
-
2. Add your `stories.tsx` file
|
|
12
|
-
3. Add your e2e test
|
|
46
|
+
## Contributing
|
|
13
47
|
|
|
14
|
-
|
|
48
|
+
For development guidelines, refer our [documentation](https://ovh.github.io/manager/storybook-static/index.html?path=/docs/manager-ui-kit-guidelines-new-component--technical-information).
|
|
15
49
|
|
|
16
|
-
|
|
17
|
-
|
|
50
|
+
Request new component [here](https://github.com/ovh/manager/issues/new?template=manager_components_feature_request.yml).
|
|
51
|
+
Report a bug [here](https://github.com/ovh/manager/issues/new?template=manager_components_bug_report.yml).
|
|
18
52
|
|
|
19
|
-
##
|
|
53
|
+
## Useful Commands
|
|
20
54
|
|
|
21
|
-
|
|
55
|
+
Run the commands using `yarn` package manager,
|
|
22
56
|
|
|
23
|
-
- `
|
|
24
|
-
- `test
|
|
25
|
-
- `test`: Runs
|
|
26
|
-
- `
|
|
57
|
+
- `build`: Generates the production build of the package.
|
|
58
|
+
- `test`: Run all tests to validate code functionality and quality.
|
|
59
|
+
- `test:ci`: Runs the test suite and reports code coverage metrics.
|
|
60
|
+
- `lint:modern`: Check code for linting errors and enforce coding standards.
|
|
61
|
+
- `lint:modern:fix`: Runs the `lint:modern` with fix option to automatically fix the reported issues
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as a, M as k, T as b } from "./lib-
|
|
1
|
+
import { j as a, M as k, T as b } from "./lib-CWaID5dp.mjs";
|
|
2
2
|
import { forwardRef as f, useState as l, useCallback as R } from "react";
|
|
3
3
|
import { useTranslation as x } from "react-i18next";
|
|
4
4
|
import { MODAL_COLOR as T, Input as j, Button as E, BUTTON_VARIANT as S, BUTTON_SIZE as B } from "@ovhcloud/ods-react";
|
|
@@ -3989,29 +3989,30 @@ function lg({
|
|
|
3989
3989
|
isLoading: o
|
|
3990
3990
|
};
|
|
3991
3991
|
}
|
|
3992
|
-
const
|
|
3993
|
-
BYTES: `${
|
|
3994
|
-
CLIPBOARD: `${
|
|
3995
|
-
ACTIONS: `${
|
|
3996
|
-
FORM: `${
|
|
3997
|
-
IAM: `${
|
|
3998
|
-
SERVICE: `${
|
|
3999
|
-
BILLING: `${
|
|
4000
|
-
ERROR: `${
|
|
4001
|
-
STATUS: `${
|
|
4002
|
-
DATACENTER: `${
|
|
4003
|
-
REGION: `${
|
|
4004
|
-
DASHBOARD: `${
|
|
4005
|
-
ONBOARDING: `${
|
|
4006
|
-
ORDER: `${
|
|
4007
|
-
CONTACT: `${
|
|
4008
|
-
COUNTRIES: `${
|
|
4009
|
-
COUNTRY: `${
|
|
4010
|
-
LANGUAGE: `${
|
|
4011
|
-
UPLOAD: `${
|
|
4012
|
-
RESOURCES: `${
|
|
4013
|
-
SYSTEM: `${
|
|
4014
|
-
TIME: `${
|
|
3992
|
+
const ue = "@ovh-ux/manager-common-translations", ir = {
|
|
3993
|
+
BYTES: `${ue}/bytes`,
|
|
3994
|
+
CLIPBOARD: `${ue}/clipboard`,
|
|
3995
|
+
ACTIONS: `${ue}/actions`,
|
|
3996
|
+
FORM: `${ue}/form`,
|
|
3997
|
+
IAM: `${ue}/iam`,
|
|
3998
|
+
SERVICE: `${ue}/service`,
|
|
3999
|
+
BILLING: `${ue}/billing`,
|
|
4000
|
+
ERROR: `${ue}/error`,
|
|
4001
|
+
STATUS: `${ue}/status`,
|
|
4002
|
+
DATACENTER: `${ue}/datacenter`,
|
|
4003
|
+
REGION: `${ue}/region`,
|
|
4004
|
+
DASHBOARD: `${ue}/dashboard`,
|
|
4005
|
+
ONBOARDING: `${ue}/onboarding`,
|
|
4006
|
+
ORDER: `${ue}/order`,
|
|
4007
|
+
CONTACT: `${ue}/contact`,
|
|
4008
|
+
COUNTRIES: `${ue}/countries`,
|
|
4009
|
+
COUNTRY: `${ue}/country`,
|
|
4010
|
+
LANGUAGE: `${ue}/language`,
|
|
4011
|
+
UPLOAD: `${ue}/upload`,
|
|
4012
|
+
RESOURCES: `${ue}/resources`,
|
|
4013
|
+
SYSTEM: `${ue}/system`,
|
|
4014
|
+
TIME: `${ue}/time`,
|
|
4015
|
+
NAVIGATION: `${ue}/navigation`
|
|
4015
4016
|
}, ug = {
|
|
4016
4017
|
1e3: ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"],
|
|
4017
4018
|
1024: ["B", "KiB", "MiB", "GiB", "TiB", "PiB", "EiB", "ZiB", "YiB"]
|
|
@@ -6129,8 +6130,8 @@ function fm() {
|
|
|
6129
6130
|
}(), $e = Dt && Dt.isTypedArray;
|
|
6130
6131
|
function Ct(d, v) {
|
|
6131
6132
|
for (var y = -1, D = d == null ? 0 : d.length, re = 0, L = []; ++y < D; ) {
|
|
6132
|
-
var
|
|
6133
|
-
v(
|
|
6133
|
+
var ce = d[y];
|
|
6134
|
+
v(ce, y, d) && (L[re++] = ce);
|
|
6134
6135
|
}
|
|
6135
6136
|
return L;
|
|
6136
6137
|
}
|
|
@@ -6314,9 +6315,9 @@ function fm() {
|
|
|
6314
6315
|
}
|
|
6315
6316
|
gt.prototype.clear = lr, gt.prototype.delete = ji, gt.prototype.get = Ei, gt.prototype.has = Ti, gt.prototype.set = Ri;
|
|
6316
6317
|
function Mi(d, v) {
|
|
6317
|
-
var y = dr(d), D = !y && Xi(d), re = !y && !D && Lr(d), L = !y && !D && !re && Fa(d),
|
|
6318
|
+
var y = dr(d), D = !y && Xi(d), re = !y && !D && Lr(d), L = !y && !D && !re && Fa(d), ce = y || D || re || L, xe = ce ? zt(d.length, String) : [], Ce = xe.length;
|
|
6318
6319
|
for (var le in d)
|
|
6319
|
-
ye.call(d, le) && !(
|
|
6320
|
+
ye.call(d, le) && !(ce && // Safari 9 has enumerable `arguments.length` in strict mode.
|
|
6320
6321
|
(le == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
|
|
6321
6322
|
re && (le == "offset" || le == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
|
|
6322
6323
|
L && (le == "buffer" || le == "byteLength" || le == "byteOffset") || // Skip index properties.
|
|
@@ -6343,16 +6344,16 @@ function fm() {
|
|
|
6343
6344
|
return d === v ? !0 : d == null || v == null || !Ln(d) && !Ln(v) ? d !== d && v !== v : zi(d, v, y, D, Da, re);
|
|
6344
6345
|
}
|
|
6345
6346
|
function zi(d, v, y, D, re, L) {
|
|
6346
|
-
var
|
|
6347
|
+
var ce = dr(d), xe = dr(v), Ce = ce ? u : Ut(d), le = xe ? u : Ut(v);
|
|
6347
6348
|
Ce = Ce == l ? S : Ce, le = le == l ? S : le;
|
|
6348
6349
|
var Ze = Ce == S, mt = le == S, je = Ce == le;
|
|
6349
6350
|
if (je && Lr(d)) {
|
|
6350
6351
|
if (!Lr(v))
|
|
6351
6352
|
return !1;
|
|
6352
|
-
|
|
6353
|
+
ce = !0, Ze = !1;
|
|
6353
6354
|
}
|
|
6354
6355
|
if (je && !Ze)
|
|
6355
|
-
return L || (L = new gt()),
|
|
6356
|
+
return L || (L = new gt()), ce || Fa(d) ? za(d, v, y, D, re, L) : ki(d, v, Ce, y, D, re, L);
|
|
6356
6357
|
if (!(y & a)) {
|
|
6357
6358
|
var tt = Ze && ye.call(d, "__wrapped__"), nt = mt && ye.call(v, "__wrapped__");
|
|
6358
6359
|
if (tt || nt) {
|
|
@@ -6380,8 +6381,8 @@ function fm() {
|
|
|
6380
6381
|
return v;
|
|
6381
6382
|
}
|
|
6382
6383
|
function za(d, v, y, D, re, L) {
|
|
6383
|
-
var
|
|
6384
|
-
if (xe != Ce && !(
|
|
6384
|
+
var ce = y & a, xe = d.length, Ce = v.length;
|
|
6385
|
+
if (xe != Ce && !(ce && Ce > xe))
|
|
6385
6386
|
return !1;
|
|
6386
6387
|
var le = L.get(d);
|
|
6387
6388
|
if (le && L.get(v))
|
|
@@ -6390,7 +6391,7 @@ function fm() {
|
|
|
6390
6391
|
for (L.set(d, v), L.set(v, d); ++Ze < xe; ) {
|
|
6391
6392
|
var tt = d[Ze], nt = v[Ze];
|
|
6392
6393
|
if (D)
|
|
6393
|
-
var qt =
|
|
6394
|
+
var qt = ce ? D(nt, tt, Ze, v, d, L) : D(tt, nt, Ze, d, v, L);
|
|
6394
6395
|
if (qt !== void 0) {
|
|
6395
6396
|
if (qt)
|
|
6396
6397
|
continue;
|
|
@@ -6412,7 +6413,7 @@ function fm() {
|
|
|
6412
6413
|
}
|
|
6413
6414
|
return L.delete(d), L.delete(v), mt;
|
|
6414
6415
|
}
|
|
6415
|
-
function ki(d, v, y, D, re, L,
|
|
6416
|
+
function ki(d, v, y, D, re, L, ce) {
|
|
6416
6417
|
switch (y) {
|
|
6417
6418
|
case ze:
|
|
6418
6419
|
if (d.byteLength != v.byteLength || d.byteOffset != v.byteOffset)
|
|
@@ -6435,12 +6436,12 @@ function fm() {
|
|
|
6435
6436
|
var Ce = D & a;
|
|
6436
6437
|
if (xe || (xe = Ot), d.size != v.size && !Ce)
|
|
6437
6438
|
return !1;
|
|
6438
|
-
var le =
|
|
6439
|
+
var le = ce.get(d);
|
|
6439
6440
|
if (le)
|
|
6440
6441
|
return le == v;
|
|
6441
|
-
D |= o,
|
|
6442
|
-
var Ze = za(xe(d), xe(v), D, re, L,
|
|
6443
|
-
return
|
|
6442
|
+
D |= o, ce.set(d, v);
|
|
6443
|
+
var Ze = za(xe(d), xe(v), D, re, L, ce);
|
|
6444
|
+
return ce.delete(d), Ze;
|
|
6444
6445
|
case Ae:
|
|
6445
6446
|
if (Jt)
|
|
6446
6447
|
return Jt.call(d) == Jt.call(v);
|
|
@@ -6448,12 +6449,12 @@ function fm() {
|
|
|
6448
6449
|
return !1;
|
|
6449
6450
|
}
|
|
6450
6451
|
function Hi(d, v, y, D, re, L) {
|
|
6451
|
-
var
|
|
6452
|
-
if (Ce != Ze && !
|
|
6452
|
+
var ce = y & a, xe = Oa(d), Ce = xe.length, le = Oa(v), Ze = le.length;
|
|
6453
|
+
if (Ce != Ze && !ce)
|
|
6453
6454
|
return !1;
|
|
6454
6455
|
for (var mt = Ce; mt--; ) {
|
|
6455
6456
|
var je = xe[mt];
|
|
6456
|
-
if (!(
|
|
6457
|
+
if (!(ce ? je in v : ye.call(v, je)))
|
|
6457
6458
|
return !1;
|
|
6458
6459
|
}
|
|
6459
6460
|
var tt = L.get(d);
|
|
@@ -6461,11 +6462,11 @@ function fm() {
|
|
|
6461
6462
|
return tt == v;
|
|
6462
6463
|
var nt = !0;
|
|
6463
6464
|
L.set(d, v), L.set(v, d);
|
|
6464
|
-
for (var qt =
|
|
6465
|
+
for (var qt = ce; ++mt < Ce; ) {
|
|
6465
6466
|
je = xe[mt];
|
|
6466
6467
|
var kt = d[je], wn = v[je];
|
|
6467
6468
|
if (D)
|
|
6468
|
-
var Ba =
|
|
6469
|
+
var Ba = ce ? D(wn, kt, je, v, d, L) : D(kt, wn, je, d, v, L);
|
|
6469
6470
|
if (!(Ba === void 0 ? kt === wn || re(kt, wn, y, D, L) : Ba)) {
|
|
6470
6471
|
nt = !1;
|
|
6471
6472
|
break;
|
|
@@ -7868,7 +7869,7 @@ const mi = qi(
|
|
|
7868
7869
|
}
|
|
7869
7870
|
)
|
|
7870
7871
|
] }) : null;
|
|
7871
|
-
}, ih = Ki(() => import("./TagsModal.component-
|
|
7872
|
+
}, ih = Ki(() => import("./TagsModal.component-BIbbIBAv.mjs")), sh = ({
|
|
7872
7873
|
tags: e,
|
|
7873
7874
|
displayInternalTags: n = !1,
|
|
7874
7875
|
maxLines: t,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ab as e, ac as o, ad as r, ae as t, A as i, w as n, Y as E, x as T, B as l, O as C, a9 as S, $ as I, af as u, ag as c, ah as _, ai as O, C as N, aa as R, aj as d, ak as P, al as A, b4 as p, D as g, a8 as m, am as b, an as M, ao as L, a4 as U, G as h, a1 as F, a2 as B, ap as D, aq as y, ar as k, J as G, K as H, as as x, at as V, au as v, av as w, a5 as Y, H as Z, b6 as f, L as z, a0 as K, F as W, aw as Q, ax as J, ay as q, M as X, N as $, b5 as j, a6 as aa, a7 as sa, W as ea, b3 as oa, az as ra, aA as ta, aB as ia, aC as na, aD as Ea, aE as Ta, P as la, aF as Ca, aG as Sa, aH as Ia, aI as ua, aJ as ca, aL as _a, aM as Oa, aK as Na, aN as Ra, R as da, aO as Pa, aP as Aa, aQ as pa, U as ga, S as ma, aR as ba, aS as Ma, y as La, Z as Ua, _ as ha, Q as Fa, V as Ba, E as Da, z as ya, aT as ka, aU as Ga, aV as Ha, aW as xa, aX as Va, aY as va, aZ as wa, a_ as Ya, a$ as Za, b0 as fa, b1 as za, b2 as Ka, a3 as Wa, d as Qa, k as Ja, g as qa, i as Xa, v as $a, b7 as ja, t as as, c as ss, p as es, l as os, h as rs, u as ts, n as is, b as ns, q as Es, r as Ts, o as ls, e as Cs, f as Ss, m as Is, a as us, I as cs, X as _s, s as Os } from "./lib-
|
|
1
|
+
import { ab as e, ac as o, ad as r, ae as t, A as i, w as n, Y as E, x as T, B as l, O as C, a9 as S, $ as I, af as u, ag as c, ah as _, ai as O, C as N, aa as R, aj as d, ak as P, al as A, b4 as p, D as g, a8 as m, am as b, an as M, ao as L, a4 as U, G as h, a1 as F, a2 as B, ap as D, aq as y, ar as k, J as G, K as H, as as x, at as V, au as v, av as w, a5 as Y, H as Z, b6 as f, L as z, a0 as K, F as W, aw as Q, ax as J, ay as q, M as X, N as $, b5 as j, a6 as aa, a7 as sa, W as ea, b3 as oa, az as ra, aA as ta, aB as ia, aC as na, aD as Ea, aE as Ta, P as la, aF as Ca, aG as Sa, aH as Ia, aI as ua, aJ as ca, aL as _a, aM as Oa, aK as Na, aN as Ra, R as da, aO as Pa, aP as Aa, aQ as pa, U as ga, S as ma, aR as ba, aS as Ma, y as La, Z as Ua, _ as ha, Q as Fa, V as Ba, E as Da, z as ya, aT as ka, aU as Ga, aV as Ha, aW as xa, aX as Va, aY as va, aZ as wa, a_ as Ya, a$ as Za, b0 as fa, b1 as za, b2 as Ka, a3 as Wa, d as Qa, k as Ja, g as qa, i as Xa, v as $a, b7 as ja, t as as, c as ss, p as es, l as os, h as rs, u as ts, n as is, b as ns, q as Es, r as Ts, o as ls, e as Cs, f as Ss, m as Is, a as us, I as cs, X as _s, s as Os } from "./lib-CWaID5dp.mjs";
|
|
2
2
|
import { DATEPICKER_DAY as Rs, DATEPICKER_DAYS as ds, DATEPICKER_VIEW as Ps, DATEPICKER_VIEWS as As, FILE_REJECTION_CAUSE as ps, FILE_REJECTION_CAUSES as gs, FILE_UPLOAD_I18N as ms, MESSAGE_COLOR as bs, MESSAGE_COLORS as Ms, MESSAGE_I18N as Ls, MESSAGE_VARIANT as Us, MESSAGE_VARIANTS as hs, PHONE_NUMBER_COUNTRIES_PRESET as Fs, PHONE_NUMBER_COUNTRIES_PRESETS as Bs, PHONE_NUMBER_COUNTRY_ISO_CODE as Ds, PHONE_NUMBER_COUNTRY_ISO_CODES as ys, PHONE_NUMBER_I18N as ks, PHONE_NUMBER_PARSING_ERROR as Gs, PHONE_NUMBER_PARSING_ERRORS as Hs, POPOVER_POSITION as xs, POPOVER_POSITIONS as Vs, SWITCH_SIZE as vs, SWITCH_SIZES as ws, TIMEPICKER_I18N as Ys, TIMEZONE as Zs, TIMEZONES as fs, TIMEZONES_PRESET as zs, TIMEZONES_PRESETS as Ks, TOOLTIP_POSITION as Ws, TOOLTIP_POSITIONS as Qs, useFormField as Js } from "@ovhcloud/ods-react";
|
|
3
3
|
export {
|
|
4
4
|
e as Accordion,
|