@alixpartners/ui-components 2.0.2 → 2.1.2

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.
Files changed (40) hide show
  1. package/README.md +99 -99
  2. package/dist/assets/Creatable.css +1 -1
  3. package/dist/assets/Dialog.css +1 -1
  4. package/dist/assets/Dropdown.css +1 -1
  5. package/dist/assets/FilePicker.css +1 -0
  6. package/dist/assets/Input.css +1 -1
  7. package/dist/assets/NavBar.css +1 -1
  8. package/dist/assets/TagsFields.css +1 -1
  9. package/dist/assets/Textarea.css +1 -1
  10. package/dist/components/Banner/Banner.test.js +1 -1
  11. package/dist/components/Button/Button.d.ts +2 -1
  12. package/dist/components/Button/Button.js +16 -15
  13. package/dist/components/Button/Button.test.js +3218 -120
  14. package/dist/components/Checkbox/Checkbox.test.js +1 -1
  15. package/dist/components/Creatable/Creatable.d.ts +2 -1
  16. package/dist/components/Creatable/Creatable.js +136 -138
  17. package/dist/components/Dialog/Dialog.d.ts +1 -0
  18. package/dist/components/Dialog/Dialog.js +20 -19
  19. package/dist/components/Dropdown/Dropdown.js +101 -100
  20. package/dist/components/FilePicker/FilePicker.d.ts +46 -0
  21. package/dist/components/FilePicker/FilePicker.js +153 -0
  22. package/dist/components/FilePicker/FilePicker.test.d.ts +1 -0
  23. package/dist/components/FilePicker/FilePicker.test.js +8 -0
  24. package/dist/components/Ghost/Ghost.test.js +1 -1
  25. package/dist/components/Input/Input.test.js +1 -1
  26. package/dist/components/RadioGroup/RadioGroup.test.js +1 -1
  27. package/dist/components/Search/Search.test.js +1 -1
  28. package/dist/components/SplitButton/SplitButton.js +4 -3
  29. package/dist/components/SplitButton/SplitButton.test.js +1 -1
  30. package/dist/components/Tag/Tag.test.js +1 -1
  31. package/dist/components/TagsFields/TagsFields.js +3 -2
  32. package/dist/components/Textarea/Textarea.js +70 -68
  33. package/dist/components/Textarea/Textarea.test.js +1 -1
  34. package/dist/components/Toast/Toast.test.js +1 -1
  35. package/dist/components/Toggle/Toggle.test.js +1 -1
  36. package/dist/main.d.ts +2 -0
  37. package/dist/main.js +36 -34
  38. package/dist/{vi.ClIskdbk-DlR4jLzR.js → vi.ClIskdbk-CFW_9sOK.js} +1 -0
  39. package/dist/web.config +8 -8
  40. package/package.json +84 -84
@@ -5,6 +5,7 @@ import W from "../Icon/Icon.js";
5
5
  import Ie from "../Button/Button.js";
6
6
  import "../Input/Input.js";
7
7
  import Fe from "../Tooltip/Tooltip.js";
8
+ import "../Dialog/Dialog.js";
8
9
  import { R as ve, A as Te, P as Ne, C as Le } from "../../index-BKtdMA_j.js";
9
10
  import '../../assets/TagsFields.css';const De = "TagsFields-module__dropdownContainer___GIsND", Ce = "TagsFields-module__dropdownLabel___AUP9W", ye = "TagsFields-module__dropdownLabelDisabled___hilvh", Oe = "TagsFields-module__required___Ybg21", ke = "TagsFields-module__dropdownWrapper___KxTZl", Re = "TagsFields-module__selectedItemsCreatable___Pnf8l", xe = "TagsFields-module__selectedItem___Tp6lp", Ae = "TagsFields-module__selectedItemLabel___SwoJL", Se = "TagsFields-module__removeButton___od0yh", We = "TagsFields-module__removeIcon___2WRCF", Ee = "TagsFields-module__singleSelectedCreatableItem___QwENt", Me = "TagsFields-module__singleSelectedCreatableItemRemoveButton___1PeN7", Ve = "TagsFields-module__dropdownActions___USb5V", Be = "TagsFields-module__dropdownArrow___JT9d3", Pe = "TagsFields-module__dropdownArrowOpen___jPfTk", je = "TagsFields-module__dropdownMenu___gPhtC", qe = "TagsFields-module__dropdownCreatableSearchContainer___mltcH", Ge = "TagsFields-module__disabled___1OfNF", ze = "TagsFields-module__dropdownCreatableError___R6oyD", Je = "TagsFields-module__creatableInput___qz9jI", Qe = "TagsFields-module__optionsList___qyawx", Ue = "TagsFields-module__categoryGroup___In039", Ye = "TagsFields-module__categoryDivider___eROv0", Ke = "TagsFields-module__categoryLabel___Cv2h5", He = "TagsFields-module__optionItem___UujFS", Xe = "TagsFields-module__optionItemDisabled___9gB8N", Ze = "TagsFields-module__optionItemFocused___4rsDt", $e = "TagsFields-module__optionContent___QSC9G", et = "TagsFields-module__optionLabel___N-fQ7", tt = "TagsFields-module__tickIcon___3uRY-", st = "TagsFields-module__noOptions___ugYj9", lt = "TagsFields-module__helpers___ab6f-", ot = "TagsFields-module__helpText___Qzdqh", dt = "TagsFields-module__helpTextDisabled___m-oFo", nt = "TagsFields-module__helpLink___JQDmR", at = "TagsFields-module__helpLinkDisabled___Nk1BX", rt = "TagsFields-module__errorMessage___b-ugf", t = {
10
11
  dropdownContainer: De,
@@ -49,7 +50,7 @@ import '../../assets/TagsFields.css';const De = "TagsFields-module__dropdownCont
49
50
  helpLinkDisabled: at,
50
51
  errorMessage: rt
51
52
  };
52
- function ht({
53
+ function It({
53
54
  className: te,
54
55
  label: E,
55
56
  options: M,
@@ -227,5 +228,5 @@ function ht({
227
228
  ] });
228
229
  }
229
230
  export {
230
- ht as default
231
+ It as default
231
232
  };
@@ -1,91 +1,93 @@
1
- import { jsxs as f, jsx as c } from "react/jsx-runtime";
2
- import { c as N } from "../../clsx-OuTLNxxd.js";
3
- import { useRef as O, useState as p, useEffect as T, useLayoutEffect as B, useId as D } from "react";
4
- import G from "../Icon/Icon.js";
5
- import H from "../Tooltip/Tooltip.js";
6
- import '../../assets/Textarea.css';const J = "Textarea-module__textareaContainer___O6LaY", Q = "Textarea-module__textareaWrapper___Jq9MF", Y = "Textarea-module__errorState___VI29O", Z = "Textarea-module__disabledState___fiMjr", k = "Textarea-module__label___EjFTD", v = "Textarea-module__required___HEPGF", K = "Textarea-module__counter___-Q123", L = "Textarea-module__errorMessage___-WILV", r = {
7
- textareaContainer: J,
8
- textareaWrapper: Q,
9
- errorState: Y,
10
- disabledState: Z,
11
- label: k,
12
- required: v,
1
+ import { jsxs as p, jsx as o } from "react/jsx-runtime";
2
+ import { c as W } from "../../clsx-OuTLNxxd.js";
3
+ import { useRef as h, useState as x, useEffect as j, useLayoutEffect as G, useId as H } from "react";
4
+ import J from "../Icon/Icon.js";
5
+ import Q from "../Tooltip/Tooltip.js";
6
+ import '../../assets/Textarea.css';const Y = "Textarea-module__textareaContainer___O6LaY", Z = "Textarea-module__textareaWrapper___Jq9MF", g = "Textarea-module__errorState___VI29O", k = "Textarea-module__disabledState___fiMjr", K = "Textarea-module__label___EjFTD", U = "Textarea-module__required___HEPGF", X = "Textarea-module__counter___-Q123", C = "Textarea-module__errorMessage___-WILV", r = {
7
+ textareaContainer: Y,
8
+ textareaWrapper: Z,
9
+ errorState: g,
10
+ disabledState: k,
11
+ label: K,
12
+ required: U,
13
13
  "label-tooltip-icon": "Textarea-module__label-tooltip-icon___Zsj09",
14
- counter: K,
15
- errorMessage: L
14
+ counter: X,
15
+ errorMessage: C
16
16
  };
17
- function re({
18
- label: W,
19
- rows: j,
20
- cols: F,
21
- value: e,
22
- placeholder: I,
23
- required: x,
17
+ function ae({
18
+ label: v,
19
+ rows: F,
20
+ cols: I,
21
+ value: n,
22
+ placeholder: q,
23
+ required: S,
24
24
  errorMessage: l,
25
- disabled: u,
25
+ disabled: f,
26
26
  onChange: s,
27
- maxLength: a,
28
- resize: q = "none",
27
+ maxLength: t,
28
+ resize: y = "none",
29
29
  autofocus: d = !1,
30
30
  fullWidth: m = !1,
31
- labelTooltip: n,
32
- className: y,
33
- ...M
31
+ labelTooltip: a,
32
+ className: M,
33
+ ...$
34
34
  }) {
35
- const S = O(null), [b, $] = p(null), [P, w] = p(e), [V, h] = p((e == null ? void 0 : e.length) || 0);
36
- T(() => {
37
- w(e), h((e == null ? void 0 : e.length) || 0);
38
- }, [e]), B(() => {
39
- var R;
35
+ var N;
36
+ const u = (e) => t && e && e.length > t ? e.slice(0, t) : e, b = h(null), [V, P] = x(null), [A, w] = x(u(n)), [z, E] = x(((N = u(n)) == null ? void 0 : N.length) || 0);
37
+ j(() => {
38
+ var e;
39
+ w(u(n)), E(((e = u(n)) == null ? void 0 : e.length) || 0);
40
+ }, [n, t]), G(() => {
41
+ var O;
40
42
  if (!m) return;
41
- const t = ((R = S.current) == null ? void 0 : R.parentElement) ?? null;
42
- if (!t) return;
43
- const o = () => {
44
- const A = t.getBoundingClientRect().width;
45
- $(A);
43
+ const e = ((O = b.current) == null ? void 0 : O.parentElement) ?? null;
44
+ if (!e) return;
45
+ const c = () => {
46
+ const D = e.getBoundingClientRect().width;
47
+ P(D);
46
48
  };
47
- o();
49
+ c();
48
50
  let _ = null;
49
51
  typeof ResizeObserver < "u" && (_ = new ResizeObserver(() => {
50
- o();
51
- }), _.observe(t));
52
- const E = () => o();
53
- return window.addEventListener("resize", E), () => {
54
- _ && _.disconnect(), window.removeEventListener("resize", E);
52
+ c();
53
+ }), _.observe(e));
54
+ const T = () => c();
55
+ return window.addEventListener("resize", T), () => {
56
+ _ && _.disconnect(), window.removeEventListener("resize", T);
55
57
  };
56
58
  }, [m]);
57
- const z = D(), i = O(null);
58
- T(() => {
59
- if (d && i.current && e) {
59
+ const R = H(), i = h(null);
60
+ j(() => {
61
+ if (d && i.current && n) {
60
62
  i.current.focus();
61
- const t = e.length;
62
- i.current.setSelectionRange(t, t);
63
+ const e = n.length;
64
+ i.current.setSelectionRange(e, e);
63
65
  } else d && i.current && i.current.focus();
64
- }, [d, e]);
65
- const g = (t) => {
66
- if (!u)
67
- if (w(t.target.value), a) {
68
- const o = t.target.value.slice(0, a);
69
- h(o.length), s == null || s(o);
66
+ }, [d, n]);
67
+ const B = (e) => {
68
+ if (!f)
69
+ if (w(e.target.value), t) {
70
+ const c = e.target.value.slice(0, t);
71
+ E(c.length), s == null || s(c);
70
72
  } else
71
- s == null || s(t.target.value);
73
+ s == null || s(e.target.value);
72
74
  };
73
- return /* @__PURE__ */ f("div", { ref: S, className: N(r.textareaContainer, u && r.disabledState, y), children: [
74
- /* @__PURE__ */ f("label", { htmlFor: z, className: r.label, children: [
75
- W,
76
- x && /* @__PURE__ */ c("span", { "aria-hidden": "true", className: r.required, children: "*" }),
77
- n && /* @__PURE__ */ c(H, { content: n.content, size: n.size, theme: n.theme, tipSide: n.tipSide, tipAlignment: n.tipAlignment, startVisible: n.startVisible, children: /* @__PURE__ */ c(G, { icon: "ap-icon-info", className: r["label-tooltip-icon"] }) })
75
+ return /* @__PURE__ */ p("div", { ref: b, className: W(r.textareaContainer, f && r.disabledState, M), children: [
76
+ /* @__PURE__ */ p("label", { htmlFor: R, className: r.label, children: [
77
+ v,
78
+ S && /* @__PURE__ */ o("span", { "aria-hidden": "true", className: r.required, children: "*" }),
79
+ a && /* @__PURE__ */ o(Q, { content: a.content, size: a.size, theme: a.theme, tipSide: a.tipSide, tipAlignment: a.tipAlignment, startVisible: a.startVisible, children: /* @__PURE__ */ o(J, { icon: "ap-icon-info", className: r["label-tooltip-icon"] }) })
78
80
  ] }),
79
- /* @__PURE__ */ f("div", { className: N(r.textareaWrapper, l && r.errorState), children: [
80
- /* @__PURE__ */ c("textarea", { ref: i, required: x, value: P, id: z, rows: j, cols: F, placeholder: I, disabled: u, maxLength: a, autoFocus: d, onChange: g, style: {
81
- resize: q,
82
- width: m && b ? `${b}px` : void 0
83
- }, ...M }),
84
- a && /* @__PURE__ */ c("div", { className: r.counter, children: V ? `${V}/${a}` : `0/${a}` })
81
+ /* @__PURE__ */ p("div", { className: W(r.textareaWrapper, l && r.errorState), children: [
82
+ /* @__PURE__ */ o("textarea", { ref: i, required: S, value: A, id: R, rows: F, cols: I, placeholder: q, disabled: f, maxLength: t, autoFocus: d, onChange: B, style: {
83
+ resize: y,
84
+ width: m && V ? `${V}px` : void 0
85
+ }, ...$ }),
86
+ t && /* @__PURE__ */ o("div", { className: r.counter, children: z ? `${z}/${t}` : `0/${t}` })
85
87
  ] }),
86
- l ? /* @__PURE__ */ c("span", { title: l, className: r.errorMessage, children: l }) : null
88
+ l ? /* @__PURE__ */ o("span", { title: l, className: r.errorMessage, children: l }) : null
87
89
  ] });
88
90
  }
89
91
  export {
90
- re as default
92
+ ae as default
91
93
  };
@@ -1,5 +1,5 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { d, i as s, r as n, g as t, s as a, f as i, v as u } from "../../vi.ClIskdbk-DlR4jLzR.js";
2
+ import { d, i as s, r as n, g as t, s as a, f as i, v as u } from "../../vi.ClIskdbk-CFW_9sOK.js";
3
3
  import o from "./Textarea.js";
4
4
  d("Textarea", () => {
5
5
  d("Rendering", () => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as o } from "react/jsx-runtime";
2
- import { d as i, i as a, r as n, g as e, s } from "../../vi.ClIskdbk-DlR4jLzR.js";
2
+ import { d as i, i as a, r as n, g as e, s } from "../../vi.ClIskdbk-CFW_9sOK.js";
3
3
  import c from "./Toast.js";
4
4
  i("Toast", () => {
5
5
  i("Rendering", () => {
@@ -1,5 +1,5 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { d, i as n, r as g, g as t, s as l, v as c, f as r } from "../../vi.ClIskdbk-DlR4jLzR.js";
2
+ import { d, i as n, r as g, g as t, s as l, v as c, f as r } from "../../vi.ClIskdbk-CFW_9sOK.js";
3
3
  import a from "./Toggle.js";
4
4
  d("Toggle", () => {
5
5
  d("Rendering", () => {
package/dist/main.d.ts CHANGED
@@ -9,6 +9,7 @@ export { default as Toggle } from './components/Toggle/Toggle.tsx';
9
9
  export { default as Banner } from './components/Banner/Banner.tsx';
10
10
  export { default as Ghost } from './components/Ghost/Ghost.tsx';
11
11
  export { default as Dropdown, type DropdownOption } from './components/Dropdown/Dropdown.tsx';
12
+ export { default as FilePicker } from './components/FilePicker/FilePicker.tsx';
12
13
  export { default as Search } from './components/Search/Search.tsx';
13
14
  export { default as Toast } from './components/Toast/Toast.tsx';
14
15
  export { default as Creatable } from './components/Creatable/Creatable.tsx';
@@ -23,3 +24,4 @@ export { default as Tag, type TagColors } from './components/Tag/Tag.tsx';
23
24
  export { default as Tooltip, type TooltipProps } from './components/Tooltip/Tooltip.tsx';
24
25
  export { default as Spinner } from './components/Spinner/Spinner.tsx';
25
26
  export { apLogos } from './assets/ap-logos';
27
+ export type { ApIcon } from './assets/ap-icons-types';
package/dist/main.js CHANGED
@@ -1,52 +1,54 @@
1
- import { default as t } from "./components/Button/Button.js";
2
- import { default as e } from "./components/Checkbox/Checkbox.js";
1
+ import { default as e } from "./components/Button/Button.js";
2
+ import { default as t } from "./components/Checkbox/Checkbox.js";
3
3
  import { default as p } from "./components/Icon/Icon.js";
4
4
  import { default as s } from "./components/Input/Input.js";
5
5
  import { default as u } from "./components/Radio/Radio.js";
6
6
  import { default as m } from "./components/RadioGroup/RadioGroup.js";
7
- import { default as i } from "./components/Textarea/Textarea.js";
7
+ import { default as n } from "./components/Textarea/Textarea.js";
8
8
  import { default as T } from "./components/Toggle/Toggle.js";
9
- import { default as B } from "./components/Banner/Banner.js";
10
- import { default as c } from "./components/Ghost/Ghost.js";
9
+ import { default as c } from "./components/Banner/Banner.js";
10
+ import { default as D } from "./components/Ghost/Ghost.js";
11
11
  import { default as S } from "./components/Dropdown/Dropdown.js";
12
- import { default as C } from "./components/Search/Search.js";
12
+ import { default as v } from "./components/FilePicker/FilePicker.js";
13
+ import { default as F } from "./components/Search/Search.js";
13
14
  import { default as I } from "./components/Toast/Toast.js";
14
15
  import { default as R } from "./components/Creatable/Creatable.js";
15
- import { default as w } from "./components/SplitButton/SplitButton.js";
16
- import { default as F } from "./components/DragAndDrop/DragAndDrop.js";
17
- import { default as j } from "./components/Tab/Tab.js";
18
- import { default as y } from "./components/TabNavigation/TabNavigation.js";
19
- import { default as E } from "./components/Dialog/Dialog.js";
20
- import { default as J } from "./components/TagsFields/TagsFields.js";
21
- import { default as M } from "./components/NavBar/NavBar.js";
22
- import { default as P } from "./components/Tag/Tag.js";
23
- import { default as U } from "./components/Tooltip/Tooltip.js";
24
- import { default as W } from "./components/Spinner/Spinner.js";
25
- import { a as Y } from "./ap-logos-Cl1TR5nm.js";
16
+ import { default as A } from "./components/SplitButton/SplitButton.js";
17
+ import { default as P } from "./components/DragAndDrop/DragAndDrop.js";
18
+ import { default as q } from "./components/Tab/Tab.js";
19
+ import { default as z } from "./components/TabNavigation/TabNavigation.js";
20
+ import { default as H } from "./components/Dialog/Dialog.js";
21
+ import { default as K } from "./components/TagsFields/TagsFields.js";
22
+ import { default as O } from "./components/NavBar/NavBar.js";
23
+ import { default as U } from "./components/Tag/Tag.js";
24
+ import { default as W } from "./components/Tooltip/Tooltip.js";
25
+ import { default as Y } from "./components/Spinner/Spinner.js";
26
+ import { a as _ } from "./ap-logos-Cl1TR5nm.js";
26
27
  import './assets/main.css';export {
27
- B as Banner,
28
- t as Button,
29
- e as Checkbox,
28
+ c as Banner,
29
+ e as Button,
30
+ t as Checkbox,
30
31
  R as Creatable,
31
- E as Dialog,
32
- F as DragAndDrop,
32
+ H as Dialog,
33
+ P as DragAndDrop,
33
34
  S as Dropdown,
34
- c as Ghost,
35
+ v as FilePicker,
36
+ D as Ghost,
35
37
  p as Icon,
36
38
  s as Input,
37
- M as NavBar,
39
+ O as NavBar,
38
40
  u as Radio,
39
41
  m as RadioGroup,
40
- C as Search,
41
- W as Spinner,
42
- w as SplitButton,
43
- j as Tab,
44
- y as TabNavigation,
45
- P as Tag,
46
- J as TagsFields,
47
- i as Textarea,
42
+ F as Search,
43
+ Y as Spinner,
44
+ A as SplitButton,
45
+ q as Tab,
46
+ z as TabNavigation,
47
+ U as Tag,
48
+ K as TagsFields,
49
+ n as Textarea,
48
50
  I as Toast,
49
51
  T as Toggle,
50
- U as Tooltip,
51
- Y as apLogos
52
+ W as Tooltip,
53
+ _ as apLogos
52
54
  };
@@ -24132,6 +24132,7 @@ function $r(e) {
24132
24132
  return (o == null ? void 0 : o.file) || "";
24133
24133
  }
24134
24134
  export {
24135
+ Ve as a,
24135
24136
  sq as d,
24136
24137
  Ze as f,
24137
24138
  xI as g,
package/dist/web.config CHANGED
@@ -1,9 +1,9 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <configuration>
3
- <system.webServer>
4
- <staticContent>
5
- <remove fileExtension=".json"/>
6
- <mimeMap fileExtension=".json" mimeType="application/json"/>
7
- </staticContent>
8
- </system.webServer>
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <configuration>
3
+ <system.webServer>
4
+ <staticContent>
5
+ <remove fileExtension=".json"/>
6
+ <mimeMap fileExtension=".json" mimeType="application/json"/>
7
+ </staticContent>
8
+ </system.webServer>
9
9
  </configuration>
package/package.json CHANGED
@@ -1,84 +1,84 @@
1
- {
2
- "name": "@alixpartners/ui-components",
3
- "version": "2.0.2",
4
- "type": "module",
5
- "files": [
6
- "dist"
7
- ],
8
- "exports": "./dist/main.js",
9
- "module": "./dist/main.js",
10
- "types": "./dist/main.d.ts",
11
- "license": "SEE LICENSE IN LICENSE.md",
12
- "repository": "https://alixpartners-dev.visualstudio.com/_git/AP.UIComponents",
13
- "main": "./dist/umd/index.js",
14
- "scripts": {
15
- "build": "tsc -b && vite build",
16
- "lint": "eslint . --ext ts,tsx",
17
- "lint:fix": "eslint . --ext ts,tsx --fix",
18
- "format": "prettier --check .",
19
- "format:fix": "prettier --write .",
20
- "stylelint": "stylelint **/*.css",
21
- "stylelint:fix": "stylelint **/*.css --fix",
22
- "storybook": "storybook dev -p 6006",
23
- "build-storybook": "storybook build",
24
- "test": "vitest",
25
- "test:unit": "vitest --project unit",
26
- "test:storybook": "vitest --project storybook",
27
- "test:ui": "vitest --ui",
28
- "coverage": "vitest run --coverage",
29
- "generate-icons": "node ./src/assets/generateIconsHelperFiles.js"
30
- },
31
- "dependencies": {
32
- "clsx": "^2.1.1"
33
- },
34
- "peerDependencies": {
35
- "react": "^18.3.1",
36
- "react-dom": "^18.3.1",
37
- "radix-ui": "^1.4.2"
38
- },
39
- "devDependencies": {
40
- "@chromatic-com/storybook": "^4.0.1",
41
- "@eslint/js": "^9.25.0",
42
- "@storybook/addon-designs": "^10.0.2",
43
- "@storybook/addon-onboarding": "^9.0.18",
44
- "@storybook/react-vite": "^9.0.18",
45
- "@testing-library/react": "^16.3.0",
46
- "@types/node": "^22.15.21",
47
- "@types/react": "^19.1.2",
48
- "@types/react-dom": "^19.1.2",
49
- "@vitejs/plugin-react": "^4.4.1",
50
- "@vitest/browser": "^3.1.4",
51
- "@vitest/coverage-v8": "^3.1.4",
52
- "@vitest/ui": "^3.1.4",
53
- "babel-plugin-react-remove-properties": "^0.3.0",
54
- "eslint": "^9.25.0",
55
- "eslint-config-prettier": "^10.1.5",
56
- "eslint-plugin-react-hooks": "^5.2.0",
57
- "eslint-plugin-react-refresh": "^0.4.19",
58
- "eslint-plugin-storybook": "^9.0.18",
59
- "globals": "^16.0.0",
60
- "jsdom": "^26.1.0",
61
- "playwright": "^1.52.0",
62
- "postcss-scss": "^4.0.9",
63
- "prettier": "^3.5.3",
64
- "sass": "^1.89.0",
65
- "storybook": "^9.0.18",
66
- "stylelint": "^16.19.1",
67
- "stylelint-config-standard": "^38.0.0",
68
- "stylelint-scss": "^6.12.0",
69
- "typescript": "~5.8.3",
70
- "typescript-eslint": "^8.30.1",
71
- "vite": "^6.3.5",
72
- "vite-plugin-dts": "^4.5.4",
73
- "vite-plugin-lib-inject-css": "^2.2.2",
74
- "vitest": "^3.1.4",
75
- "@storybook/addon-vitest": "9.0.18",
76
- "@storybook/addon-docs": "^9.0.18",
77
- "glob": "^11.0.2"
78
- },
79
- "eslintConfig": {
80
- "extends": [
81
- "plugin:storybook/recommended"
82
- ]
83
- }
84
- }
1
+ {
2
+ "name": "@alixpartners/ui-components",
3
+ "version": "2.1.2",
4
+ "type": "module",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "exports": "./dist/main.js",
9
+ "module": "./dist/main.js",
10
+ "types": "./dist/main.d.ts",
11
+ "license": "SEE LICENSE IN LICENSE.md",
12
+ "repository": "https://alixpartners-dev.visualstudio.com/_git/AP.UIComponents",
13
+ "main": "./dist/umd/index.js",
14
+ "scripts": {
15
+ "build": "tsc -b && vite build",
16
+ "lint": "eslint . --ext ts,tsx",
17
+ "lint:fix": "eslint . --ext ts,tsx --fix",
18
+ "format": "prettier --check .",
19
+ "format:fix": "prettier --write .",
20
+ "stylelint": "stylelint **/*.css",
21
+ "stylelint:fix": "stylelint **/*.css --fix",
22
+ "storybook": "storybook dev -p 6006",
23
+ "build-storybook": "storybook build",
24
+ "test": "vitest",
25
+ "test:unit": "vitest --project unit",
26
+ "test:storybook": "vitest --project storybook",
27
+ "test:ui": "vitest --ui",
28
+ "coverage": "vitest run --coverage",
29
+ "generate-icons": "node ./src/assets/generateIconsHelperFiles.js"
30
+ },
31
+ "dependencies": {
32
+ "clsx": "^2.1.1"
33
+ },
34
+ "peerDependencies": {
35
+ "react": "^18.3.1",
36
+ "react-dom": "^18.3.1",
37
+ "radix-ui": "^1.4.2"
38
+ },
39
+ "devDependencies": {
40
+ "@chromatic-com/storybook": "^4.0.1",
41
+ "@eslint/js": "^9.25.0",
42
+ "@storybook/addon-designs": "^10.0.2",
43
+ "@storybook/addon-onboarding": "^9.0.18",
44
+ "@storybook/react-vite": "^9.0.18",
45
+ "@testing-library/react": "^16.3.0",
46
+ "@types/node": "^22.15.21",
47
+ "@types/react": "^19.1.2",
48
+ "@types/react-dom": "^19.1.2",
49
+ "@vitejs/plugin-react": "^4.4.1",
50
+ "@vitest/browser": "^3.1.4",
51
+ "@vitest/coverage-v8": "^3.1.4",
52
+ "@vitest/ui": "^3.1.4",
53
+ "babel-plugin-react-remove-properties": "^0.3.0",
54
+ "eslint": "^9.25.0",
55
+ "eslint-config-prettier": "^10.1.5",
56
+ "eslint-plugin-react-hooks": "^5.2.0",
57
+ "eslint-plugin-react-refresh": "^0.4.19",
58
+ "eslint-plugin-storybook": "^9.0.18",
59
+ "globals": "^16.0.0",
60
+ "jsdom": "^26.1.0",
61
+ "playwright": "^1.52.0",
62
+ "postcss-scss": "^4.0.9",
63
+ "prettier": "^3.5.3",
64
+ "sass": "^1.89.0",
65
+ "storybook": "^9.0.18",
66
+ "stylelint": "^16.19.1",
67
+ "stylelint-config-standard": "^38.0.0",
68
+ "stylelint-scss": "^6.12.0",
69
+ "typescript": "~5.8.3",
70
+ "typescript-eslint": "^8.30.1",
71
+ "vite": "^6.3.5",
72
+ "vite-plugin-dts": "^4.5.4",
73
+ "vite-plugin-lib-inject-css": "^2.2.2",
74
+ "vitest": "^3.1.4",
75
+ "@storybook/addon-vitest": "9.0.18",
76
+ "@storybook/addon-docs": "^9.0.18",
77
+ "glob": "^11.0.2"
78
+ },
79
+ "eslintConfig": {
80
+ "extends": [
81
+ "plugin:storybook/recommended"
82
+ ]
83
+ }
84
+ }