elseware-ui 2.20.3 → 2.20.5

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,48 @@ 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: function (values, helpers) { return __awaiter(void 0, void 0, void 0, function () {
39426
+ return __generator(this, function (_a) {
39427
+ switch (_a.label) {
39428
+ case 0: return [4 /*yield*/, onSubmit(values)];
39429
+ case 1:
39430
+ _a.sent();
39431
+ helpers.resetForm({ values: values });
39432
+ return [2 /*return*/];
39433
+ }
39434
+ });
39435
+ }); } }, { 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
39436
  };
39398
39437
 
39399
39438
  var Backdrop = function (_a) {
@@ -69193,7 +69232,7 @@ var ShapeSwitch = function () {
69193
69232
  var shape = e.target.value;
69194
69233
  setConfig(function (prev) { return (__assign$1(__assign$1({}, prev), { global: __assign$1(__assign$1({}, prev.global), { shape: shape }) })); });
69195
69234
  };
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)); }) })) })));
69235
+ 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
69236
  };
69198
69237
 
69199
69238
  // useCurrentTheme.ts
@@ -69347,7 +69386,7 @@ var Button$2 = function (_a) {
69347
69386
  _b["hover:cursor-pointer"] = !loading && !disabled,
69348
69387
  _b["transition-all ease-in-out"] = true,
69349
69388
  _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: {
69389
+ _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
69390
  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
69391
  } }), 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
69392
  };
@@ -142071,7 +142110,7 @@ var GlowWrapper = function (_a) {
142071
142110
  // provide an initial --glow-bg so there's always a valid CSS var
142072
142111
  _b["--glow-bg"] = "radial-gradient(".concat(glowSize, "px circle at -999px -999px, ").concat(glowColor, ", transparent 60%)"),
142073
142112
  _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 ",
142113
+ 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
142114
  // use the CSS variable we update on mouse move
142076
142115
  style: { background: "var(--glow-bg)" } }), jsx("div", __assign$1({ className: "relative z-10" }, { children: children }))] })));
142077
142116
  };
package/build/index.js CHANGED
@@ -39418,9 +39418,48 @@ 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: function (values, helpers) { return __awaiter(void 0, void 0, void 0, function () {
39453
+ return __generator(this, function (_a) {
39454
+ switch (_a.label) {
39455
+ case 0: return [4 /*yield*/, onSubmit(values)];
39456
+ case 1:
39457
+ _a.sent();
39458
+ helpers.resetForm({ values: values });
39459
+ return [2 /*return*/];
39460
+ }
39461
+ });
39462
+ }); } }, { 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
39463
  };
39425
39464
 
39426
39465
  var Backdrop = function (_a) {
@@ -69220,7 +69259,7 @@ var ShapeSwitch = function () {
69220
69259
  var shape = e.target.value;
69221
69260
  setConfig(function (prev) { return (__assign$1(__assign$1({}, prev), { global: __assign$1(__assign$1({}, prev.global), { shape: shape }) })); });
69222
69261
  };
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)); }) })) })));
69262
+ 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
69263
  };
69225
69264
 
69226
69265
  // useCurrentTheme.ts
@@ -69374,7 +69413,7 @@ var Button$2 = function (_a) {
69374
69413
  _b["hover:cursor-pointer"] = !loading && !disabled,
69375
69414
  _b["transition-all ease-in-out"] = true,
69376
69415
  _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: {
69416
+ _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
69417
  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
69418
  } }), 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
69419
  };
@@ -142098,7 +142137,7 @@ var GlowWrapper = function (_a) {
142098
142137
  // provide an initial --glow-bg so there's always a valid CSS var
142099
142138
  _b["--glow-bg"] = "radial-gradient(".concat(glowSize, "px circle at -999px -999px, ").concat(glowColor, ", transparent 60%)"),
142100
142139
  _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 ",
142140
+ 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
142141
  // use the CSS variable we update on mouse move
142103
142142
  style: { background: "var(--glow-bg)" } }), jsxRuntime.jsx("div", __assign$1({ className: "relative z-10" }, { children: children }))] })));
142104
142143
  };
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.5",
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
+ }