elseware-ui 2.20.3 → 2.20.4

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/README.md CHANGED
@@ -1,74 +1,74 @@
1
- # elseware UI
2
-
3
- ## Folder Hierarchy
4
- - components: Base UI primitives (buttons, inputs, modals, etc.)
5
- - compositions: Composite reusable structures built from primitives
6
- - data: Metadata used on the components/compositions
7
- - layouts: Page layouts that can be used to quickly structure the page formats
8
- - styles: Tailwind/CSS stylings
9
- - types: Custom react types
10
- - utils: Reusable utility functions and hooks
11
-
12
- ## Setup
13
-
14
- Install the dependendecies via `npm i`.
15
-
16
- ## Run Storybook
17
-
18
- To test the components and its features start storybook using `npm run dev`.
19
-
20
- ## Build
21
-
22
- Run `npm run build` to build the UI framework.
23
-
24
- ## Publishing to npm
25
-
26
- ### Publishing a New Version
27
-
28
- 1. **Update the version number**:
29
- - Before publishing a new version, update the version in `package.json` following [semantic versioning](https://semver.org/).
30
- - Example:
31
- ```json
32
- {
33
- "name": "elseware-ui",
34
- "version": "1.0.1",
35
- ...
36
- }
37
- ```
38
-
39
- 2. **Build the UI Framework**:
40
- - Run the following command to ensure your changes are built and ready to be published:
41
- ```bash
42
- npm run build
43
- ```
44
-
45
- 3. **Login to npm**:
46
- - If you're not already logged in to npm, log in using:
47
- ```bash
48
- npm login
49
- ```
50
-
51
- 4. **Publish the package**:
52
- - To publish the package, run the following command:
53
- ```bash
54
- npm publish --access public
55
- ```
56
- - Make sure the package name in `package.json` is unique and does not conflict with other packages on npm.
57
-
58
- ### Unpublishing an Older Version
59
-
60
- If you need to unpublish a specific version of the package:
61
-
62
- 1. **Unpublish a specific version**:
63
- - To unpublish a specific version of your package (e.g., `1.0.0`), run:
64
- ```bash
65
- npm unpublish elseware-ui@1.0.0
66
- ```
67
-
68
- 2. **Unpublish the entire package**:
69
- - If you need to unpublish the entire package, you can run the following command (not recommended for public packages):
70
- ```bash
71
- npm unpublish elseware-ui --force
72
- ```
73
-
74
- **Note:** Be cautious when using `--force` as npm restricts package unpublishing for packages that are older than 72 hours to avoid breaking dependencies.
1
+ # elseware UI
2
+
3
+ ## Folder Hierarchy
4
+ - components: Base UI primitives (buttons, inputs, modals, etc.)
5
+ - compositions: Composite reusable structures built from primitives
6
+ - data: Metadata used on the components/compositions
7
+ - layouts: Page layouts that can be used to quickly structure the page formats
8
+ - styles: Tailwind/CSS stylings
9
+ - types: Custom react types
10
+ - utils: Reusable utility functions and hooks
11
+
12
+ ## Setup
13
+
14
+ Install the dependendecies via `npm i`.
15
+
16
+ ## Run Storybook
17
+
18
+ To test the components and its features start storybook using `npm run dev`.
19
+
20
+ ## Build
21
+
22
+ Run `npm run build` to build the UI framework.
23
+
24
+ ## Publishing to npm
25
+
26
+ ### Publishing a New Version
27
+
28
+ 1. **Update the version number**:
29
+ - Before publishing a new version, update the version in `package.json` following [semantic versioning](https://semver.org/).
30
+ - Example:
31
+ ```json
32
+ {
33
+ "name": "elseware-ui",
34
+ "version": "1.0.1",
35
+ ...
36
+ }
37
+ ```
38
+
39
+ 2. **Build the UI Framework**:
40
+ - Run the following command to ensure your changes are built and ready to be published:
41
+ ```bash
42
+ npm run build
43
+ ```
44
+
45
+ 3. **Login to npm**:
46
+ - If you're not already logged in to npm, log in using:
47
+ ```bash
48
+ npm login
49
+ ```
50
+
51
+ 4. **Publish the package**:
52
+ - To publish the package, run the following command:
53
+ ```bash
54
+ npm publish --access public
55
+ ```
56
+ - Make sure the package name in `package.json` is unique and does not conflict with other packages on npm.
57
+
58
+ ### Unpublishing an Older Version
59
+
60
+ If you need to unpublish a specific version of the package:
61
+
62
+ 1. **Unpublish a specific version**:
63
+ - To unpublish a specific version of your package (e.g., `1.0.0`), run:
64
+ ```bash
65
+ npm unpublish elseware-ui@1.0.0
66
+ ```
67
+
68
+ 2. **Unpublish the entire package**:
69
+ - If you need to unpublish the entire package, you can run the following command (not recommended for public packages):
70
+ ```bash
71
+ npm unpublish elseware-ui --force
72
+ ```
73
+
74
+ **Note:** Be cautious when using `--force` as npm restricts package unpublishing for packages that are older than 72 hours to avoid breaking dependencies.
@@ -0,0 +1,7 @@
1
+ import { FormikProps } from "formik";
2
+ interface Props {
3
+ formik: FormikProps<any>;
4
+ onDirtyChange?: (dirty: boolean) => void;
5
+ }
6
+ declare const DirtyObserver: ({ formik, onDirtyChange }: Props) => null;
7
+ export default DirtyObserver;
@@ -9,5 +9,7 @@ export interface FormProps {
9
9
  onChange?: (values: Record<string, any>, meta?: {
10
10
  changed: Record<string, any>;
11
11
  }) => void;
12
+ warnOnUnsavedChanges?: boolean;
13
+ onDirtyChange?: (dirty: boolean) => void;
12
14
  }
13
- export declare const Form: ({ initialValues, validationSchema, enableReinitialize, children, styles, onSubmit, onChange, }: FormProps) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const Form: ({ initialValues, validationSchema, enableReinitialize, children, styles, onSubmit, onChange, warnOnUnsavedChanges, onDirtyChange, }: FormProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { FormikProps } from "formik";
2
+ interface Props {
3
+ formik: FormikProps<any>;
4
+ enabled?: boolean;
5
+ }
6
+ declare const UnsavedChangesGuard: ({ formik, enabled }: Props) => null;
7
+ export default UnsavedChangesGuard;
package/build/index.es.js CHANGED
@@ -39391,9 +39391,38 @@ var FormObserver = function (_a) {
39391
39391
  return null;
39392
39392
  };
39393
39393
 
39394
+ var DirtyObserver = function (_a) {
39395
+ var formik = _a.formik, onDirtyChange = _a.onDirtyChange;
39396
+ useEffect(function () {
39397
+ if (onDirtyChange) {
39398
+ onDirtyChange(formik.dirty);
39399
+ }
39400
+ }, [formik.dirty, onDirtyChange]);
39401
+ return null;
39402
+ };
39403
+
39404
+ var UnsavedChangesGuard = function (_a) {
39405
+ var formik = _a.formik, enabled = _a.enabled;
39406
+ useEffect(function () {
39407
+ if (!enabled)
39408
+ return;
39409
+ var handleBeforeUnload = function (e) {
39410
+ if (!formik.dirty)
39411
+ return;
39412
+ e.preventDefault();
39413
+ e.returnValue = "";
39414
+ };
39415
+ window.addEventListener("beforeunload", handleBeforeUnload);
39416
+ return function () {
39417
+ window.removeEventListener("beforeunload", handleBeforeUnload);
39418
+ };
39419
+ }, [formik.dirty, enabled]);
39420
+ return null;
39421
+ };
39422
+
39394
39423
  var Form = function (_a) {
39395
- var _b = _a.initialValues, initialValues = _b === void 0 ? {} : _b, validationSchema = _a.validationSchema, enableReinitialize = _a.enableReinitialize, children = _a.children, styles = _a.styles, onSubmit = _a.onSubmit, onChange = _a.onChange;
39396
- return (jsx(Formik, __assign$1({ initialValues: initialValues, validationSchema: validationSchema, enableReinitialize: enableReinitialize, onSubmit: onSubmit }, { children: function (formik) { return (jsxs(Form$1, { children: [jsx(FormObserver, { formik: formik, onChange: onChange }), jsx("div", __assign$1({ className: classnames(styles) }, { children: children }))] })); } })));
39424
+ var _b = _a.initialValues, initialValues = _b === void 0 ? {} : _b, validationSchema = _a.validationSchema, enableReinitialize = _a.enableReinitialize, children = _a.children, styles = _a.styles, onSubmit = _a.onSubmit, onChange = _a.onChange, _c = _a.warnOnUnsavedChanges, warnOnUnsavedChanges = _c === void 0 ? false : _c, onDirtyChange = _a.onDirtyChange;
39425
+ return (jsx(Formik, __assign$1({ initialValues: initialValues, validationSchema: validationSchema, enableReinitialize: enableReinitialize, onSubmit: onSubmit }, { children: function (formik) { return (jsxs(Form$1, { children: [jsx(UnsavedChangesGuard, { formik: formik, enabled: warnOnUnsavedChanges }), jsx(DirtyObserver, { formik: formik, onDirtyChange: onDirtyChange }), jsx(FormObserver, { formik: formik, onChange: onChange }), jsx("div", __assign$1({ className: classnames(styles) }, { children: children }))] })); } })));
39397
39426
  };
39398
39427
 
39399
39428
  var Backdrop = function (_a) {
@@ -69193,7 +69222,7 @@ var ShapeSwitch = function () {
69193
69222
  var shape = e.target.value;
69194
69223
  setConfig(function (prev) { return (__assign$1(__assign$1({}, prev), { global: __assign$1(__assign$1({}, prev.global), { shape: shape }) })); });
69195
69224
  };
69196
- return (jsx("div", __assign$1({ className: "flex flex-col gap-1 w-fit" }, { children: jsx("select", __assign$1({ value: currentShape, onChange: handleChange, className: "\n px-3 py-2 rounded-md border border-gray-300\n bg-white dark:bg-gray-800\n text-sm shadow-sm\n focus:outline-none\n " }, { children: Object.keys(Shape).map(function (shape) { return (jsx("option", __assign$1({ value: shape }, { children: shape }), shape)); }) })) })));
69225
+ return (jsx("div", __assign$1({ className: "flex flex-col gap-1 w-fit" }, { children: jsx("select", __assign$1({ value: currentShape, onChange: handleChange, className: "\r\n px-3 py-2 rounded-md border border-gray-300\r\n bg-white dark:bg-gray-800\r\n text-sm shadow-sm\r\n focus:outline-none\r\n " }, { children: Object.keys(Shape).map(function (shape) { return (jsx("option", __assign$1({ value: shape }, { children: shape }), shape)); }) })) })));
69197
69226
  };
69198
69227
 
69199
69228
  // useCurrentTheme.ts
@@ -69347,7 +69376,7 @@ var Button$2 = function (_a) {
69347
69376
  _b["hover:cursor-pointer"] = !loading && !disabled,
69348
69377
  _b["transition-all ease-in-out"] = true,
69349
69378
  _b["".concat(styles)] = styles,
69350
- _b)) }, { children: [jsx("span", { className: "\n pointer-events-none absolute inset-0 opacity-0 group-hover:opacity-100\n transition-opacity duration-300\n ", style: {
69379
+ _b)) }, { children: [jsx("span", { className: "\r\n pointer-events-none absolute inset-0 opacity-0 group-hover:opacity-100\r\n transition-opacity duration-300\r\n ", style: {
69351
69380
  background: "\n radial-gradient(\n 200px circle at var(--glow-x) var(--glow-y),\n rgba(200,200,200,0.2),\n transparent 50%\n )\n ",
69352
69381
  } }), loading && jsx(AiOutlineLoading, { className: "animate-spin z-10" }), icon && jsx("div", __assign$1({ className: "z-10" }, { children: icon })), text && jsx("div", __assign$1({ className: "z-10" }, { children: text })), children && jsx("div", __assign$1({ className: "z-10" }, { children: children }))] })));
69353
69382
  };
@@ -142071,7 +142100,7 @@ var GlowWrapper = function (_a) {
142071
142100
  // provide an initial --glow-bg so there's always a valid CSS var
142072
142101
  _b["--glow-bg"] = "radial-gradient(".concat(glowSize, "px circle at -999px -999px, ").concat(glowColor, ", transparent 60%)"),
142073
142102
  _b);
142074
- return (jsxs("div", __assign$1({ ref: ref, onMouseMove: handleMove, onMouseLeave: handleLeave, className: "relative overflow-hidden group ".concat(className), style: initialStyle }, { children: [jsx("span", { className: "\n pointer-events-none absolute inset-0 opacity-0 \n group-hover:opacity-100 transition-opacity duration-300\n ",
142103
+ return (jsxs("div", __assign$1({ ref: ref, onMouseMove: handleMove, onMouseLeave: handleLeave, className: "relative overflow-hidden group ".concat(className), style: initialStyle }, { children: [jsx("span", { className: "\r\n pointer-events-none absolute inset-0 opacity-0 \r\n group-hover:opacity-100 transition-opacity duration-300\r\n ",
142075
142104
  // use the CSS variable we update on mouse move
142076
142105
  style: { background: "var(--glow-bg)" } }), jsx("div", __assign$1({ className: "relative z-10" }, { children: children }))] })));
142077
142106
  };
package/build/index.js CHANGED
@@ -39418,9 +39418,38 @@ var FormObserver = function (_a) {
39418
39418
  return null;
39419
39419
  };
39420
39420
 
39421
+ var DirtyObserver = function (_a) {
39422
+ var formik = _a.formik, onDirtyChange = _a.onDirtyChange;
39423
+ React.useEffect(function () {
39424
+ if (onDirtyChange) {
39425
+ onDirtyChange(formik.dirty);
39426
+ }
39427
+ }, [formik.dirty, onDirtyChange]);
39428
+ return null;
39429
+ };
39430
+
39431
+ var UnsavedChangesGuard = function (_a) {
39432
+ var formik = _a.formik, enabled = _a.enabled;
39433
+ React.useEffect(function () {
39434
+ if (!enabled)
39435
+ return;
39436
+ var handleBeforeUnload = function (e) {
39437
+ if (!formik.dirty)
39438
+ return;
39439
+ e.preventDefault();
39440
+ e.returnValue = "";
39441
+ };
39442
+ window.addEventListener("beforeunload", handleBeforeUnload);
39443
+ return function () {
39444
+ window.removeEventListener("beforeunload", handleBeforeUnload);
39445
+ };
39446
+ }, [formik.dirty, enabled]);
39447
+ return null;
39448
+ };
39449
+
39421
39450
  var Form = function (_a) {
39422
- var _b = _a.initialValues, initialValues = _b === void 0 ? {} : _b, validationSchema = _a.validationSchema, enableReinitialize = _a.enableReinitialize, children = _a.children, styles = _a.styles, onSubmit = _a.onSubmit, onChange = _a.onChange;
39423
- return (jsxRuntime.jsx(Formik, __assign$1({ initialValues: initialValues, validationSchema: validationSchema, enableReinitialize: enableReinitialize, onSubmit: onSubmit }, { children: function (formik) { return (jsxRuntime.jsxs(Form$1, { children: [jsxRuntime.jsx(FormObserver, { formik: formik, onChange: onChange }), jsxRuntime.jsx("div", __assign$1({ className: classnames(styles) }, { children: children }))] })); } })));
39451
+ var _b = _a.initialValues, initialValues = _b === void 0 ? {} : _b, validationSchema = _a.validationSchema, enableReinitialize = _a.enableReinitialize, children = _a.children, styles = _a.styles, onSubmit = _a.onSubmit, onChange = _a.onChange, _c = _a.warnOnUnsavedChanges, warnOnUnsavedChanges = _c === void 0 ? false : _c, onDirtyChange = _a.onDirtyChange;
39452
+ return (jsxRuntime.jsx(Formik, __assign$1({ initialValues: initialValues, validationSchema: validationSchema, enableReinitialize: enableReinitialize, onSubmit: onSubmit }, { children: function (formik) { return (jsxRuntime.jsxs(Form$1, { children: [jsxRuntime.jsx(UnsavedChangesGuard, { formik: formik, enabled: warnOnUnsavedChanges }), jsxRuntime.jsx(DirtyObserver, { formik: formik, onDirtyChange: onDirtyChange }), jsxRuntime.jsx(FormObserver, { formik: formik, onChange: onChange }), jsxRuntime.jsx("div", __assign$1({ className: classnames(styles) }, { children: children }))] })); } })));
39424
39453
  };
39425
39454
 
39426
39455
  var Backdrop = function (_a) {
@@ -69220,7 +69249,7 @@ var ShapeSwitch = function () {
69220
69249
  var shape = e.target.value;
69221
69250
  setConfig(function (prev) { return (__assign$1(__assign$1({}, prev), { global: __assign$1(__assign$1({}, prev.global), { shape: shape }) })); });
69222
69251
  };
69223
- return (jsxRuntime.jsx("div", __assign$1({ className: "flex flex-col gap-1 w-fit" }, { children: jsxRuntime.jsx("select", __assign$1({ value: currentShape, onChange: handleChange, className: "\n px-3 py-2 rounded-md border border-gray-300\n bg-white dark:bg-gray-800\n text-sm shadow-sm\n focus:outline-none\n " }, { children: Object.keys(Shape).map(function (shape) { return (jsxRuntime.jsx("option", __assign$1({ value: shape }, { children: shape }), shape)); }) })) })));
69252
+ return (jsxRuntime.jsx("div", __assign$1({ className: "flex flex-col gap-1 w-fit" }, { children: jsxRuntime.jsx("select", __assign$1({ value: currentShape, onChange: handleChange, className: "\r\n px-3 py-2 rounded-md border border-gray-300\r\n bg-white dark:bg-gray-800\r\n text-sm shadow-sm\r\n focus:outline-none\r\n " }, { children: Object.keys(Shape).map(function (shape) { return (jsxRuntime.jsx("option", __assign$1({ value: shape }, { children: shape }), shape)); }) })) })));
69224
69253
  };
69225
69254
 
69226
69255
  // useCurrentTheme.ts
@@ -69374,7 +69403,7 @@ var Button$2 = function (_a) {
69374
69403
  _b["hover:cursor-pointer"] = !loading && !disabled,
69375
69404
  _b["transition-all ease-in-out"] = true,
69376
69405
  _b["".concat(styles)] = styles,
69377
- _b)) }, { children: [jsxRuntime.jsx("span", { className: "\n pointer-events-none absolute inset-0 opacity-0 group-hover:opacity-100\n transition-opacity duration-300\n ", style: {
69406
+ _b)) }, { children: [jsxRuntime.jsx("span", { className: "\r\n pointer-events-none absolute inset-0 opacity-0 group-hover:opacity-100\r\n transition-opacity duration-300\r\n ", style: {
69378
69407
  background: "\n radial-gradient(\n 200px circle at var(--glow-x) var(--glow-y),\n rgba(200,200,200,0.2),\n transparent 50%\n )\n ",
69379
69408
  } }), loading && jsxRuntime.jsx(AiOutlineLoading, { className: "animate-spin z-10" }), icon && jsxRuntime.jsx("div", __assign$1({ className: "z-10" }, { children: icon })), text && jsxRuntime.jsx("div", __assign$1({ className: "z-10" }, { children: text })), children && jsxRuntime.jsx("div", __assign$1({ className: "z-10" }, { children: children }))] })));
69380
69409
  };
@@ -142098,7 +142127,7 @@ var GlowWrapper = function (_a) {
142098
142127
  // provide an initial --glow-bg so there's always a valid CSS var
142099
142128
  _b["--glow-bg"] = "radial-gradient(".concat(glowSize, "px circle at -999px -999px, ").concat(glowColor, ", transparent 60%)"),
142100
142129
  _b);
142101
- return (jsxRuntime.jsxs("div", __assign$1({ ref: ref, onMouseMove: handleMove, onMouseLeave: handleLeave, className: "relative overflow-hidden group ".concat(className), style: initialStyle }, { children: [jsxRuntime.jsx("span", { className: "\n pointer-events-none absolute inset-0 opacity-0 \n group-hover:opacity-100 transition-opacity duration-300\n ",
142130
+ return (jsxRuntime.jsxs("div", __assign$1({ ref: ref, onMouseMove: handleMove, onMouseLeave: handleLeave, className: "relative overflow-hidden group ".concat(className), style: initialStyle }, { children: [jsxRuntime.jsx("span", { className: "\r\n pointer-events-none absolute inset-0 opacity-0 \r\n group-hover:opacity-100 transition-opacity duration-300\r\n ",
142102
142131
  // use the CSS variable we update on mouse move
142103
142132
  style: { background: "var(--glow-bg)" } }), jsxRuntime.jsx("div", __assign$1({ className: "relative z-10" }, { children: children }))] })));
142104
142133
  };
package/package.json CHANGED
@@ -1,125 +1,125 @@
1
- {
2
- "name": "elseware-ui",
3
- "version": "2.20.3",
4
- "private": false,
5
- "description": "A modern and customizable React UI component library by elseware Technology.",
6
- "keywords": [
7
- "react",
8
- "ui-library",
9
- "component-library",
10
- "tailwind",
11
- "design-system",
12
- "elseware"
13
- ],
14
- "repository": {
15
- "type": "git",
16
- "url": "https://github.com/elsewaretechnologies/elseware-ui.git"
17
- },
18
- "author": "elseware Technology <elsewaretechnology@gmail.com>",
19
- "license": "MIT",
20
- "main": "./build/index.js",
21
- "module": "./build/index.es.js",
22
- "types": "./build/index.d.ts",
23
- "exports": {
24
- ".": {
25
- "import": "./build/index.es.js",
26
- "require": "./build/index.js",
27
- "types": "./build/index.d.ts"
28
- }
29
- },
30
- "files": [
31
- "build"
32
- ],
33
- "scripts": {
34
- "dev": "storybook dev -p 6006",
35
- "build": "rollup -c",
36
- "build:storybook": "storybook build",
37
- "clean": "rm -rf build dist node_modules/.cache",
38
- "prepare": "npm run build",
39
- "release": "npm publish --access public"
40
- },
41
- "eslintConfig": {
42
- "extends": [
43
- "react-app",
44
- "react-app/jest",
45
- "plugin:storybook/recommended"
46
- ]
47
- },
48
- "browserslist": {
49
- "production": [
50
- ">0.2%",
51
- "not dead",
52
- "not op_mini all"
53
- ],
54
- "development": [
55
- "last 1 chrome version",
56
- "last 1 firefox version",
57
- "last 1 safari version"
58
- ]
59
- },
60
- "peerDependencies": {
61
- "react": ">=18",
62
- "react-dom": ">=18",
63
- "tailwindcss": ">=3.0.0"
64
- },
65
- "dependencies": {
66
- "@headlessui/react": "^2.1.8",
67
- "@mdxeditor/editor": "^3.36.0",
68
- "chart.js": "^4.4.4",
69
- "classnames": "^2.5.1",
70
- "cloudinary-react": "^1.8.1",
71
- "d3": "^7.9.0",
72
- "d3-force": "^3.0.0",
73
- "emoji-flags": "^1.3.0",
74
- "formik": "^2.4.5",
75
- "framer-motion": "^12.23.24",
76
- "react-beautiful-dnd": "^13.1.1",
77
- "react-chartjs-2": "^5.2.0",
78
- "react-icons": "^4.12.0",
79
- "react-simple-maps": "^3.0.0",
80
- "react-toastify": "^10.0.5",
81
- "react-world-flags": "^1.6.0",
82
- "yup": "^1.3.3"
83
- },
84
- "devDependencies": {
85
- "@rollup/plugin-commonjs": "^17.0.0",
86
- "@rollup/plugin-json": "^6.1.0",
87
- "@rollup/plugin-node-resolve": "^11.0.0",
88
- "@rollup/plugin-typescript": "^11.1.5",
89
- "@storybook/addon-essentials": "^8.5.0",
90
- "@storybook/addon-interactions": "^8.5.0",
91
- "@storybook/addon-links": "^8.5.0",
92
- "@storybook/addon-onboarding": "^8.5.0",
93
- "@storybook/blocks": "^8.5.0",
94
- "@storybook/preset-create-react-app": "^8.5.0",
95
- "@storybook/react": "^8.5.0",
96
- "@storybook/react-webpack5": "^8.5.0",
97
- "@storybook/test": "^8.5.0",
98
- "@types/d3": "^7.4.3",
99
- "@types/d3-force": "^3.0.10",
100
- "@types/emoji-flags": "^1.3.3",
101
- "@types/jest": "^30.0.0",
102
- "@types/node": "^24.0.3",
103
- "@types/react": "^19.0.10",
104
- "@types/react-beautiful-dnd": "^13.1.8",
105
- "@types/react-chartjs-2": "^2.5.7",
106
- "@types/react-dom": "^19.0.4",
107
- "@types/react-simple-maps": "^3.0.6",
108
- "@types/react-world-flags": "^1.6.0",
109
- "autoprefixer": "^10.4.16",
110
- "cssnano": "^6.0.3",
111
- "eslint-plugin-storybook": "^0.11.2",
112
- "postcss": "^8.4.33",
113
- "prop-types": "^15.8.1",
114
- "react-scripts": "5.0.1",
115
- "rollup": "^2.79.2",
116
- "rollup-plugin-peer-deps-external": "^2.2.4",
117
- "rollup-plugin-postcss": "^4.0.2",
118
- "rollup-plugin-terser": "^7.0.2",
119
- "rollup-plugin-typescript2": "^0.36.0",
120
- "storybook": "^8.5.0",
121
- "tailwindcss": "^3.4.1",
122
- "tslib": "^2.6.2",
123
- "typescript": "^4.9.5"
124
- }
125
- }
1
+ {
2
+ "name": "elseware-ui",
3
+ "version": "2.20.4",
4
+ "private": false,
5
+ "description": "A modern and customizable React UI component library by elseware Technology.",
6
+ "keywords": [
7
+ "react",
8
+ "ui-library",
9
+ "component-library",
10
+ "tailwind",
11
+ "design-system",
12
+ "elseware"
13
+ ],
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/elsewaretechnologies/elseware-ui.git"
17
+ },
18
+ "author": "elseware Technology <elsewaretechnology@gmail.com>",
19
+ "license": "MIT",
20
+ "main": "./build/index.js",
21
+ "module": "./build/index.es.js",
22
+ "types": "./build/index.d.ts",
23
+ "exports": {
24
+ ".": {
25
+ "import": "./build/index.es.js",
26
+ "require": "./build/index.js",
27
+ "types": "./build/index.d.ts"
28
+ }
29
+ },
30
+ "files": [
31
+ "build"
32
+ ],
33
+ "scripts": {
34
+ "dev": "storybook dev -p 6006",
35
+ "build": "rollup -c",
36
+ "build:storybook": "storybook build",
37
+ "clean": "rm -rf build dist node_modules/.cache",
38
+ "prepare": "npm run build",
39
+ "release": "npm publish --access public"
40
+ },
41
+ "eslintConfig": {
42
+ "extends": [
43
+ "react-app",
44
+ "react-app/jest",
45
+ "plugin:storybook/recommended"
46
+ ]
47
+ },
48
+ "browserslist": {
49
+ "production": [
50
+ ">0.2%",
51
+ "not dead",
52
+ "not op_mini all"
53
+ ],
54
+ "development": [
55
+ "last 1 chrome version",
56
+ "last 1 firefox version",
57
+ "last 1 safari version"
58
+ ]
59
+ },
60
+ "peerDependencies": {
61
+ "react": ">=18",
62
+ "react-dom": ">=18",
63
+ "tailwindcss": ">=3.0.0"
64
+ },
65
+ "dependencies": {
66
+ "@headlessui/react": "^2.1.8",
67
+ "@mdxeditor/editor": "^3.36.0",
68
+ "chart.js": "^4.4.4",
69
+ "classnames": "^2.5.1",
70
+ "cloudinary-react": "^1.8.1",
71
+ "d3": "^7.9.0",
72
+ "d3-force": "^3.0.0",
73
+ "emoji-flags": "^1.3.0",
74
+ "formik": "^2.4.5",
75
+ "framer-motion": "^12.23.24",
76
+ "react-beautiful-dnd": "^13.1.1",
77
+ "react-chartjs-2": "^5.2.0",
78
+ "react-icons": "^4.12.0",
79
+ "react-simple-maps": "^3.0.0",
80
+ "react-toastify": "^10.0.5",
81
+ "react-world-flags": "^1.6.0",
82
+ "yup": "^1.3.3"
83
+ },
84
+ "devDependencies": {
85
+ "@rollup/plugin-commonjs": "^17.0.0",
86
+ "@rollup/plugin-json": "^6.1.0",
87
+ "@rollup/plugin-node-resolve": "^11.0.0",
88
+ "@rollup/plugin-typescript": "^11.1.5",
89
+ "@storybook/addon-essentials": "^8.5.0",
90
+ "@storybook/addon-interactions": "^8.5.0",
91
+ "@storybook/addon-links": "^8.5.0",
92
+ "@storybook/addon-onboarding": "^8.5.0",
93
+ "@storybook/blocks": "^8.5.0",
94
+ "@storybook/preset-create-react-app": "^8.5.0",
95
+ "@storybook/react": "^8.5.0",
96
+ "@storybook/react-webpack5": "^8.5.0",
97
+ "@storybook/test": "^8.5.0",
98
+ "@types/d3": "^7.4.3",
99
+ "@types/d3-force": "^3.0.10",
100
+ "@types/emoji-flags": "^1.3.3",
101
+ "@types/jest": "^30.0.0",
102
+ "@types/node": "^24.0.3",
103
+ "@types/react": "^19.0.10",
104
+ "@types/react-beautiful-dnd": "^13.1.8",
105
+ "@types/react-chartjs-2": "^2.5.7",
106
+ "@types/react-dom": "^19.0.4",
107
+ "@types/react-simple-maps": "^3.0.6",
108
+ "@types/react-world-flags": "^1.6.0",
109
+ "autoprefixer": "^10.4.16",
110
+ "cssnano": "^6.0.3",
111
+ "eslint-plugin-storybook": "^0.11.2",
112
+ "postcss": "^8.4.33",
113
+ "prop-types": "^15.8.1",
114
+ "react-scripts": "5.0.1",
115
+ "rollup": "^2.79.2",
116
+ "rollup-plugin-peer-deps-external": "^2.2.4",
117
+ "rollup-plugin-postcss": "^4.0.2",
118
+ "rollup-plugin-terser": "^7.0.2",
119
+ "rollup-plugin-typescript2": "^0.36.0",
120
+ "storybook": "^8.5.0",
121
+ "tailwindcss": "^3.4.1",
122
+ "tslib": "^2.6.2",
123
+ "typescript": "^4.9.5"
124
+ }
125
+ }