farm-react 1.0.6 → 1.0.7
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 +79 -4
- package/dist/cjs/components/Accordion.d.ts +33 -0
- package/dist/cjs/components/Accordion.js +20 -0
- package/dist/cjs/components/Accordion.js.map +1 -0
- package/dist/cjs/components/Button.js +2 -3
- package/dist/cjs/components/Button.js.map +1 -1
- package/dist/cjs/components/Label.js +4 -6
- package/dist/cjs/components/Label.js.map +1 -1
- package/dist/cjs/components/Layout/Footer.js +2 -11
- package/dist/cjs/components/Layout/Footer.js.map +1 -1
- package/dist/cjs/components/Layout/Header.d.ts +1 -2
- package/dist/cjs/components/Layout/Header.js +4 -15
- package/dist/cjs/components/Layout/Header.js.map +1 -1
- package/dist/cjs/components/Layout/Sidebar.d.ts +1 -2
- package/dist/cjs/components/Layout/Sidebar.js +3 -5
- package/dist/cjs/components/Layout/Sidebar.js.map +1 -1
- package/dist/cjs/components/RatingDisplay.d.ts +27 -0
- package/dist/cjs/components/RatingDisplay.js +39 -0
- package/dist/cjs/components/RatingDisplay.js.map +1 -0
- package/dist/cjs/components/TextInput.d.ts +1 -2
- package/dist/cjs/components/TextInput.js +3 -8
- package/dist/cjs/components/TextInput.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -2
- package/dist/cjs/index.js +5 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/strings/en.d.ts +1 -0
- package/dist/cjs/strings/en.js +1 -0
- package/dist/cjs/strings/en.js.map +1 -1
- package/dist/esm/components/Accordion.d.ts +33 -0
- package/dist/esm/components/Accordion.js +18 -0
- package/dist/esm/components/Accordion.js.map +1 -0
- package/dist/esm/components/Button.js +2 -2
- package/dist/esm/components/Button.js.map +1 -1
- package/dist/esm/components/Label.js +4 -6
- package/dist/esm/components/Label.js.map +1 -1
- package/dist/esm/components/Layout/Footer.js +2 -10
- package/dist/esm/components/Layout/Footer.js.map +1 -1
- package/dist/esm/components/Layout/Header.d.ts +1 -2
- package/dist/esm/components/Layout/Header.js +3 -14
- package/dist/esm/components/Layout/Header.js.map +1 -1
- package/dist/esm/components/Layout/Sidebar.d.ts +1 -2
- package/dist/esm/components/Layout/Sidebar.js +3 -4
- package/dist/esm/components/Layout/Sidebar.js.map +1 -1
- package/dist/esm/components/RatingDisplay.d.ts +27 -0
- package/dist/esm/components/RatingDisplay.js +37 -0
- package/dist/esm/components/RatingDisplay.js.map +1 -0
- package/dist/esm/components/TextInput.d.ts +1 -2
- package/dist/esm/components/TextInput.js +3 -8
- package/dist/esm/components/TextInput.js.map +1 -1
- package/dist/esm/index.d.ts +3 -2
- package/dist/esm/index.js +3 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/strings/en.d.ts +1 -0
- package/dist/esm/strings/en.js +1 -0
- package/dist/esm/strings/en.js.map +1 -1
- package/dist/package.json +13 -0
- package/package.json +62 -58
- package/dist/cjs/components/app.d.ts +0 -6
- package/dist/cjs/components/app.js +0 -22
- package/dist/cjs/components/app.js.map +0 -1
- package/dist/esm/components/Notification.d.ts +0 -1
- package/dist/esm/components/Notification.js +0 -46
- package/dist/esm/components/Notification.js.map +0 -1
- package/dist/esm/components/SwitchItem.d.ts +0 -8
- package/dist/esm/components/SwitchItem.js +0 -7
- package/dist/esm/components/SwitchItem.js.map +0 -1
- package/dist/esm/components/app.d.ts +0 -6
- package/dist/esm/components/app.js +0 -19
- package/dist/esm/components/app.js.map +0 -1
- package/dist/esm/constants/aap.d.ts +0 -1
- package/dist/esm/constants/aap.js +0 -2
- package/dist/esm/constants/aap.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,4 +1,79 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
# farm-react
|
|
2
|
+
|
|
3
|
+
React UI component library for building farmer product websites and applications with ease and consistency.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/farm-react)
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
**farm-react** provides a set of reusable, accessible, and customizable React components specifically designed for farm product e-shops, dashboards, and supply chain UIs. It streamlines frontend development for agriculture and farm supply product interfaces.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Features
|
|
14
|
+
- Accessible and flexible components (Accordion, Button, Label, RatingDisplay, TextInput, Layouts)
|
|
15
|
+
- TypeScript support with full typings
|
|
16
|
+
- Customizable through classnames and attributes
|
|
17
|
+
- Built on top of React and React-Bootstrap for rapid integration
|
|
18
|
+
- Easy theming with SCSS support
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
Install from npm:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install farm-react
|
|
28
|
+
# or
|
|
29
|
+
yarn add farm-react
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
**Peer dependencies:** Ensure your project has React (v18+) installed.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Usage Example
|
|
37
|
+
|
|
38
|
+
```tsx
|
|
39
|
+
import { Accordion, Button, Label, RatingDisplay, TextInput } from 'farm-react';
|
|
40
|
+
|
|
41
|
+
function App() {
|
|
42
|
+
return (
|
|
43
|
+
<div>
|
|
44
|
+
<Accordion data={[{ title: 'Demo Section', desc: 'Accordion Content' }]} />
|
|
45
|
+
<Button />
|
|
46
|
+
<Label label="This is a label" />
|
|
47
|
+
<RatingDisplay value={4} activeIcons={4} totalCount={5} />
|
|
48
|
+
<TextInput placeholder="Enter something..." />
|
|
49
|
+
</div>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Components
|
|
57
|
+
|
|
58
|
+
- **Accordion**: Expandable/collapsible sections with custom headers and bodies.
|
|
59
|
+
- **Button**: Simple button placeholder for customization.
|
|
60
|
+
- **Label**: Label with optional icon and tooltip features.
|
|
61
|
+
- **RatingDisplay**: Flexible star (or icon) rating component, custom icons/labels.
|
|
62
|
+
- **TextInput**: Text input with optional label and password toggle.
|
|
63
|
+
- **Layout/Header/Footer/Sidebar**: Basic prebuilt layout scaffolding.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Theming & Customization
|
|
68
|
+
- Customize appearance using the provided `classnames` and `attributes` props.
|
|
69
|
+
- Use your preferred SCSS, CSS, or a CSS-in-JS solution. Comes with some default SCSS styles.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## License
|
|
74
|
+
|
|
75
|
+
ISC
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
© 2025 Nikhil Kumar. Distributed under the ISC License.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type ReactElement, type ReactNode } from 'react';
|
|
2
|
+
interface AccordionData {
|
|
3
|
+
title?: string;
|
|
4
|
+
subtitle?: string;
|
|
5
|
+
desc?: string;
|
|
6
|
+
}
|
|
7
|
+
interface Classnames {
|
|
8
|
+
wrapper?: string;
|
|
9
|
+
item?: string;
|
|
10
|
+
header?: string;
|
|
11
|
+
title?: string;
|
|
12
|
+
subtitle?: string;
|
|
13
|
+
body?: string;
|
|
14
|
+
}
|
|
15
|
+
interface Attributes {
|
|
16
|
+
wrapper?: object;
|
|
17
|
+
item?: object;
|
|
18
|
+
header?: object;
|
|
19
|
+
title?: object;
|
|
20
|
+
subtitle?: object;
|
|
21
|
+
body?: object;
|
|
22
|
+
}
|
|
23
|
+
export interface AccordionProps {
|
|
24
|
+
data: AccordionData[];
|
|
25
|
+
alwaysOpen?: boolean;
|
|
26
|
+
defaultActiveKey?: string;
|
|
27
|
+
classnames?: Classnames;
|
|
28
|
+
attributes?: Attributes;
|
|
29
|
+
renderBody?: (item: AccordionData) => ReactNode | ReactElement;
|
|
30
|
+
renderHeader?: (item: AccordionData) => ReactNode | ReactElement;
|
|
31
|
+
}
|
|
32
|
+
declare function Accordion({ data, alwaysOpen, defaultActiveKey, classnames, attributes, renderBody, renderHeader, }: AccordionProps): ReactElement;
|
|
33
|
+
export default Accordion;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
var react_1 = require("react");
|
|
6
|
+
var Accordion_1 = tslib_1.__importDefault(require("react-bootstrap/Accordion"));
|
|
7
|
+
var clsx_1 = tslib_1.__importDefault(require("clsx"));
|
|
8
|
+
var app_1 = require("../helpers/app");
|
|
9
|
+
function Accordion(_a) {
|
|
10
|
+
var data = _a.data, _b = _a.alwaysOpen, alwaysOpen = _b === void 0 ? false : _b, _c = _a.defaultActiveKey, defaultActiveKey = _c === void 0 ? undefined : _c, _d = _a.classnames, classnames = _d === void 0 ? undefined : _d, _e = _a.attributes, attributes = _e === void 0 ? undefined : _e, renderBody = _a.renderBody, renderHeader = _a.renderHeader;
|
|
11
|
+
// Destruct props
|
|
12
|
+
var _f = (0, app_1.destructObj)(classnames), wrapperClass = _f.wrapper, itemClass = _f.item, headerClass = _f.header, titleClass = _f.title, subTitleClass = _f.subtitle, bodyClass = _f.body;
|
|
13
|
+
var _g = (0, app_1.destructObj)(attributes), wrapperAttr = _g.wrapper, itemAttr = _g.item, headerAttr = _g.header, titleAttr = _g.title, subTitleAttr = _g.subtitle, bodyAttr = _g.body;
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)(Accordion_1.default, tslib_1.__assign({}, wrapperAttr, { alwaysOpen: alwaysOpen, defaultActiveKey: defaultActiveKey, className: (0, clsx_1.default)('farm-custom-acc', wrapperClass), children: (0, app_1.isArrayNotEmpty)(data) &&
|
|
15
|
+
(data === null || data === void 0 ? void 0 : data.map(function (item, index) { return ((0, react_1.createElement)(Accordion_1.default.Item, tslib_1.__assign({}, itemAttr, { key: index, eventKey: index.toString(), className: (0, clsx_1.default)(itemClass) }),
|
|
16
|
+
(0, jsx_runtime_1.jsx)(Accordion_1.default.Header, tslib_1.__assign({}, headerAttr, { className: (0, clsx_1.default)('farm-content-none', headerClass), children: renderHeader ? (renderHeader(item)) : ((0, jsx_runtime_1.jsxs)("div", { children: [(item === null || item === void 0 ? void 0 : item.title) && ((0, jsx_runtime_1.jsx)("p", tslib_1.__assign({}, titleAttr, { className: (0, clsx_1.default)('mb-0 fs-20', titleClass), children: item.title }))), (item === null || item === void 0 ? void 0 : item.subtitle) && ((0, jsx_runtime_1.jsx)("small", tslib_1.__assign({}, subTitleAttr, { className: (0, clsx_1.default)(subTitleClass), children: item.subtitle })))] })) })),
|
|
17
|
+
(0, jsx_runtime_1.jsx)(Accordion_1.default.Body, tslib_1.__assign({}, bodyAttr, { className: (0, clsx_1.default)(bodyClass), children: renderBody ? renderBody(item) : item.desc })))); })) })));
|
|
18
|
+
}
|
|
19
|
+
exports.default = Accordion;
|
|
20
|
+
//# sourceMappingURL=Accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../../src/components/Accordion.tsx"],"names":[],"mappings":";;;;;AACA,gFAAmD;AACnD,sDAAuB;AACvB,sCAA6D;AAqC7D,SAAS,SAAS,CAAC,EAQF;QAPf,IAAI,UAAA,EACJ,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,wBAA4B,EAA5B,gBAAgB,mBAAG,SAAS,KAAA,EAC5B,kBAAsB,EAAtB,UAAU,mBAAG,SAAS,KAAA,EACtB,kBAAsB,EAAtB,UAAU,mBAAG,SAAS,KAAA,EACtB,UAAU,gBAAA,EACV,YAAY,kBAAA;IAEZ,iBAAiB;IACX,IAAA,KAO4B,IAAA,iBAAW,EAAC,UAAU,CAAC,EAN9C,YAAY,aAAA,EACf,SAAS,UAAA,EACP,WAAW,YAAA,EACZ,UAAU,WAAA,EACP,aAAa,cAAA,EACjB,SAAS,UACwC,CAAA;IAEnD,IAAA,KAO4B,IAAA,iBAAW,EAAC,UAAU,CAAC,EAN9C,WAAW,aAAA,EACd,QAAQ,UAAA,EACN,UAAU,YAAA,EACX,SAAS,WAAA,EACN,YAAY,cAAA,EAChB,QAAQ,UACyC,CAAA;IAEzD,OAAO,CACL,uBAAC,mBAAW,uBACN,WAAW,IACf,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,IAAA,cAAI,EAAC,iBAAiB,EAAE,YAAY,CAAC,YAE/C,IAAA,qBAAe,EAAC,IAAI,CAAC;aACpB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,CACzB,2BAAC,mBAAW,CAAC,IAAI,uBAAK,QAAQ,IAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAA,cAAI,EAAC,SAAS,CAAC;gBAChG,uBAAC,mBAAW,CAAC,MAAM,uBAAK,UAAU,IAAE,SAAS,EAAE,IAAA,cAAI,EAAC,mBAAmB,EAAE,WAAW,CAAC,YAClF,YAAY,CAAC,CAAC,CAAC,CACd,YAAY,CAAC,IAAI,CAAC,CACnB,CAAC,CAAC,CAAC,CACF,4CACG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,CACd,iDAAO,SAAS,IAAE,SAAS,EAAE,IAAA,cAAI,EAAC,YAAY,EAAE,UAAU,CAAC,YACxD,IAAI,CAAC,KAAK,IACT,CACL,EACA,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,KAAI,CACjB,qDAAW,YAAY,IAAE,SAAS,EAAE,IAAA,cAAI,EAAC,aAAa,CAAC,YACpD,IAAI,CAAC,QAAQ,IACR,CACT,IACG,CACP,IACkB;gBACrB,uBAAC,mBAAW,CAAC,IAAI,uBAAK,QAAQ,IAAE,SAAS,EAAE,IAAA,cAAI,EAAC,SAAS,CAAC,YACvD,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IACzB,CACF,CACpB,EAxB0B,CAwB1B,CAAC,CAAA,IACQ,CACf,CAAA;AACH,CAAC;AAED,kBAAe,SAAS,CAAA"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = Button;
|
|
4
|
-
var
|
|
5
|
-
var react_1 = tslib_1.__importDefault(require("react"));
|
|
4
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
5
|
function Button() {
|
|
7
|
-
return
|
|
6
|
+
return (0, jsx_runtime_1.jsx)("div", {});
|
|
8
7
|
}
|
|
9
8
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button.tsx"],"names":[],"mappings":";;AAEA,yBAEC;;
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button.tsx"],"names":[],"mappings":";;AAEA,yBAEC;;AAFD,SAAwB,MAAM;IAC5B,OAAO,iCAAW,CAAA;AACpB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
4
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
var clsx_1 = tslib_1.__importDefault(require("clsx"));
|
|
6
6
|
var react_bootstrap_1 = require("react-bootstrap");
|
|
7
7
|
var app_1 = require("../helpers/app");
|
|
@@ -10,14 +10,12 @@ function Label(_a) {
|
|
|
10
10
|
// Destructure classnames safely
|
|
11
11
|
var _c = (0, app_1.destructObj)(classnames), labelClass = _c.label, iconClass = _c.icon;
|
|
12
12
|
/** Renders the label icon */
|
|
13
|
-
var renderLabelIcon = function () { return
|
|
13
|
+
var renderLabelIcon = function () { return (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)(icon, iconClass, { 'ms-2': tooltip }) }); };
|
|
14
14
|
if (!label)
|
|
15
15
|
return null;
|
|
16
|
-
return (
|
|
16
|
+
return ((0, jsx_runtime_1.jsxs)("label", { htmlFor: id, className: (0, clsx_1.default)(labelClass, 'form-label', {
|
|
17
17
|
'd-flex align-items-center': !!icon,
|
|
18
|
-
}) },
|
|
19
|
-
label,
|
|
20
|
-
tooltip ? (react_1.default.createElement(react_bootstrap_1.OverlayTrigger, { placement: 'top', overlay: react_1.default.createElement(react_bootstrap_1.Tooltip, { className: 'bg-white rounded' }, tooltip) }, renderLabelIcon())) : (renderLabelIcon())));
|
|
18
|
+
}), children: [label, tooltip ? ((0, jsx_runtime_1.jsx)(react_bootstrap_1.OverlayTrigger, { placement: 'top', overlay: (0, jsx_runtime_1.jsx)(react_bootstrap_1.Tooltip, { className: 'bg-white rounded', children: tooltip }), children: renderLabelIcon() })) : (renderLabelIcon())] }));
|
|
21
19
|
}
|
|
22
20
|
exports.default = Label;
|
|
23
21
|
//# sourceMappingURL=Label.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../src/components/Label.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../src/components/Label.tsx"],"names":[],"mappings":";;;;AACA,sDAAuB;AACvB,mDAAyD;AACzD,sCAA4C;AAe5C,SAAS,KAAK,CAAC,EAA0E;QAAxE,EAAE,QAAA,EAAE,KAAK,WAAA,EAAE,YAA0B,EAA1B,IAAI,mBAAG,mBAAmB,KAAA,EAAE,OAAO,aAAA,EAAE,UAAU,gBAAA;IACzE,gCAAgC;IAC1B,IAAA,KAAyC,IAAA,iBAAW,EAAC,UAAU,CAAC,EAAvD,UAAU,WAAA,EAAQ,SAAS,UAA4B,CAAA;IAEtE,6BAA6B;IAC7B,IAAM,eAAe,GAAG,cAAoB,OAAA,8BAAG,SAAS,EAAE,IAAA,cAAI,EAAC,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAI,EAA5D,CAA4D,CAAA;IAExG,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,OAAO,CACL,mCACE,OAAO,EAAE,EAAE,EACX,SAAS,EAAE,IAAA,cAAI,EAAC,UAAU,EAAE,YAAY,EAAE;YACxC,2BAA2B,EAAE,CAAC,CAAC,IAAI;SACpC,CAAC,aAED,KAAK,EACL,OAAO,CAAC,CAAC,CAAC,CACT,uBAAC,gCAAc,IAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,uBAAC,yBAAO,IAAC,SAAS,EAAC,kBAAkB,YAAE,OAAO,GAAW,YAC/F,eAAe,EAAE,GACH,CAClB,CAAC,CAAC,CAAC,CACF,eAAe,EAAE,CAClB,IACK,CACT,CAAA;AACH,CAAC;AAED,kBAAe,KAAK,CAAA"}
|
|
@@ -1,20 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var
|
|
4
|
-
var react_1 = tslib_1.__importDefault(require("react"));
|
|
3
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
4
|
var header_1 = require("../../assets/data/header");
|
|
6
5
|
var react_bootstrap_1 = require("react-bootstrap");
|
|
7
6
|
var app_1 = require("../../constants/app");
|
|
8
7
|
function Footer() {
|
|
9
|
-
return (
|
|
10
|
-
react_1.default.createElement(react_bootstrap_1.Container, null,
|
|
11
|
-
react_1.default.createElement(react_bootstrap_1.Row, null,
|
|
12
|
-
react_1.default.createElement(react_bootstrap_1.Col, { lg: 2 },
|
|
13
|
-
react_1.default.createElement(react_bootstrap_1.Image, { src: app_1.LOGO_IMG, alt: 'farm-react logo', height: 40, width: 40 }),
|
|
14
|
-
' '),
|
|
15
|
-
react_1.default.createElement(react_bootstrap_1.Col, { lg: 4 }),
|
|
16
|
-
react_1.default.createElement(react_bootstrap_1.Col, { lg: 6 },
|
|
17
|
-
react_1.default.createElement(react_bootstrap_1.Nav, { className: 'd-flex' }, header_1.headerItem.map(function (item) { return (react_1.default.createElement(react_bootstrap_1.Nav.Link, { key: item.id, href: item.link, className: 'text-dark' }, item.label)); })))))));
|
|
8
|
+
return ((0, jsx_runtime_1.jsx)("footer", { children: (0, jsx_runtime_1.jsx)(react_bootstrap_1.Container, { children: (0, jsx_runtime_1.jsxs)(react_bootstrap_1.Row, { children: [(0, jsx_runtime_1.jsxs)(react_bootstrap_1.Col, { lg: 2, children: [(0, jsx_runtime_1.jsx)(react_bootstrap_1.Image, { src: app_1.LOGO_IMG, alt: 'farm-react logo', height: 40, width: 40 }), ' '] }), (0, jsx_runtime_1.jsx)(react_bootstrap_1.Col, { lg: 4 }), (0, jsx_runtime_1.jsx)(react_bootstrap_1.Col, { lg: 6, children: (0, jsx_runtime_1.jsx)(react_bootstrap_1.Nav, { className: 'd-flex', children: header_1.headerItem.map(function (item) { return ((0, jsx_runtime_1.jsx)(react_bootstrap_1.Nav.Link, { href: item.link, className: 'text-dark', children: item.label }, item.id)); }) }) })] }) }) }));
|
|
18
9
|
}
|
|
19
10
|
exports.default = Footer;
|
|
20
11
|
//# sourceMappingURL=Footer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../../src/components/Layout/Footer.tsx"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../../src/components/Layout/Footer.tsx"],"names":[],"mappings":";;;AACA,mDAAqD;AACrD,mDAAiE;AACjE,2CAA8C;AAE9C,SAAS,MAAM;IACb,OAAO,CACL,6CACE,uBAAC,2BAAS,cACR,wBAAC,qBAAG,eACF,wBAAC,qBAAG,IAAC,EAAE,EAAE,CAAC,aACR,uBAAC,uBAAK,IAAC,GAAG,EAAE,cAAQ,EAAE,GAAG,EAAC,iBAAiB,EAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAI,EAAC,GAAG,IACrE,EACN,uBAAC,qBAAG,IAAC,EAAE,EAAE,CAAC,GAAI,EACd,uBAAC,qBAAG,IAAC,EAAE,EAAE,CAAC,YACR,uBAAC,qBAAG,IAAC,SAAS,EAAC,QAAQ,YACpB,mBAAU,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,CACxB,uBAAC,qBAAG,CAAC,IAAI,IAAe,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,WAAW,YAC3D,IAAI,CAAC,KAAK,IADE,IAAI,CAAC,EAAE,CAEX,CACZ,EAJyB,CAIzB,CAAC,GACE,GACF,IACF,GACI,GACL,CACV,CAAA;AACH,CAAC;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -1,28 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
var tslib_1 = require("tslib");
|
|
4
|
-
var
|
|
4
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
5
|
var Container_1 = tslib_1.__importDefault(require("react-bootstrap/Container"));
|
|
6
6
|
var Nav_1 = tslib_1.__importDefault(require("react-bootstrap/Nav"));
|
|
7
7
|
var Navbar_1 = tslib_1.__importDefault(require("react-bootstrap/Navbar"));
|
|
8
|
-
var
|
|
8
|
+
var react_bootstrap_1 = require("react-bootstrap");
|
|
9
9
|
var header_1 = require("../../assets/data/header");
|
|
10
10
|
var react_router_1 = require("react-router");
|
|
11
|
-
var
|
|
11
|
+
var react_bootstrap_2 = require("react-bootstrap");
|
|
12
12
|
var app_1 = require("../../constants/app");
|
|
13
13
|
function Header() {
|
|
14
|
-
return (
|
|
15
|
-
react_1.default.createElement(Navbar_1.default, { expand: 'lg', className: 'bg-body-tertiary' },
|
|
16
|
-
react_1.default.createElement(Container_1.default, null,
|
|
17
|
-
react_1.default.createElement(Navbar_1.default.Brand, { href: '#' },
|
|
18
|
-
react_1.default.createElement(react_bootstrap_1.Image, { src: app_1.LOGO_IMG, alt: 'logo image', height: 30, width: 30 })),
|
|
19
|
-
react_1.default.createElement(Navbar_1.default.Toggle, { "aria-controls": 'basic-navbar-nav' }),
|
|
20
|
-
react_1.default.createElement(Navbar_1.default.Collapse, { id: 'basic-navbar-nav' },
|
|
21
|
-
react_1.default.createElement(Nav_1.default, { className: 'me-auto' },
|
|
22
|
-
header_1.headerItem.map(function (item) { return (react_1.default.createElement(Nav_1.default.Link, { key: item.id, to: item.link, as: react_router_1.Link }, item.label)); }),
|
|
23
|
-
react_1.default.createElement(NavDropdown_1.default, { title: 'Version', id: 'basic-nav-dropdown' },
|
|
24
|
-
react_1.default.createElement(NavDropdown_1.default.Item, { href: '#' }, "farm-react 1.0.0"),
|
|
25
|
-
react_1.default.createElement(NavDropdown_1.default.Item, { href: '#' }, "farm-react 2.0.0"))))))));
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)("header", { className: 'position-sticky top-0', children: (0, jsx_runtime_1.jsx)(Navbar_1.default, { expand: 'lg', className: 'bg-body-tertiary', children: (0, jsx_runtime_1.jsxs)(Container_1.default, { children: [(0, jsx_runtime_1.jsx)(Navbar_1.default.Brand, { href: '#', children: (0, jsx_runtime_1.jsx)(react_bootstrap_2.Image, { src: app_1.LOGO_IMG, alt: 'logo image', height: 30, width: 30 }) }), (0, jsx_runtime_1.jsx)(Navbar_1.default.Toggle, { "aria-controls": 'basic-navbar-nav' }), (0, jsx_runtime_1.jsx)(Navbar_1.default.Collapse, { id: 'basic-navbar-nav', children: (0, jsx_runtime_1.jsxs)(Nav_1.default, { className: 'me-auto', children: [header_1.headerItem.map(function (item) { return ((0, jsx_runtime_1.jsx)(Nav_1.default.Link, { to: item.link, as: react_router_1.Link, children: item.label }, item.id)); }), (0, jsx_runtime_1.jsxs)(react_bootstrap_1.NavDropdown, { title: 'Version', id: 'basic-nav-dropdown', children: [(0, jsx_runtime_1.jsx)(react_bootstrap_1.NavDropdown.Item, { href: '#', children: "farm-react 1.0.0" }), (0, jsx_runtime_1.jsx)(react_bootstrap_1.NavDropdown.Item, { href: '#', children: "farm-react 2.0.0" })] })] }) })] }) }) }));
|
|
26
15
|
}
|
|
27
16
|
exports.default = Header;
|
|
28
17
|
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../src/components/Layout/Header.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../src/components/Layout/Header.tsx"],"names":[],"mappings":";;;;AAAA,gFAAiD;AACjD,oEAAqC;AACrC,0EAA2C;AAC3C,mDAA6C;AAC7C,mDAAqD;AACrD,6CAAmC;AACnC,mDAAuC;AACvC,2CAA8C;AAE9C,SAAS,MAAM;IACb,OAAO,CACL,mCAAQ,SAAS,EAAC,uBAAuB,YACvC,uBAAC,gBAAM,IAAC,MAAM,EAAC,IAAI,EAAC,SAAS,EAAC,kBAAkB,YAC9C,wBAAC,mBAAS,eACR,uBAAC,gBAAM,CAAC,KAAK,IAAC,IAAI,EAAC,GAAG,YACpB,uBAAC,uBAAK,IAAC,GAAG,EAAE,cAAQ,EAAE,GAAG,EAAC,YAAY,EAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,GAAI,GACnD,EACf,uBAAC,gBAAM,CAAC,MAAM,qBAAe,kBAAkB,GAAG,EAClD,uBAAC,gBAAM,CAAC,QAAQ,IAAC,EAAE,EAAC,kBAAkB,YACpC,wBAAC,aAAG,IAAC,SAAS,EAAC,SAAS,aACrB,mBAAU,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,CACxB,uBAAC,aAAG,CAAC,IAAI,IAAe,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,mBAAI,YAC5C,IAAI,CAAC,KAAK,IADE,IAAI,CAAC,EAAE,CAEX,CACZ,EAJyB,CAIzB,CAAC,EACF,wBAAC,6BAAW,IAAC,KAAK,EAAC,SAAS,EAAC,EAAE,EAAC,oBAAoB,aAClD,uBAAC,6BAAW,CAAC,IAAI,IAAC,IAAI,EAAC,GAAG,iCAAoC,EAC9D,uBAAC,6BAAW,CAAC,IAAI,IAAC,IAAI,EAAC,GAAG,iCAAoC,IAClD,IACV,GACU,IACR,GACL,GACF,CACV,CAAA;AACH,CAAC;AAED,kBAAe,MAAM,CAAA"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var Offcanvas_1 = tslib_1.__importDefault(require("react-bootstrap/Offcanvas"));
|
|
3
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
var react_bootstrap_1 = require("react-bootstrap");
|
|
6
5
|
function Sidebar() {
|
|
7
|
-
return (
|
|
8
|
-
react_1.default.createElement(Offcanvas_1.default.Body, null, "Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.")));
|
|
6
|
+
return ((0, jsx_runtime_1.jsx)(react_bootstrap_1.Offcanvas, { show: true, className: 'top-60', backdrop: false, scroll: true, children: (0, jsx_runtime_1.jsx)(react_bootstrap_1.Offcanvas.Body, { children: "Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc." }) }));
|
|
9
7
|
}
|
|
10
8
|
exports.default = Sidebar;
|
|
11
9
|
//# sourceMappingURL=Sidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/components/Layout/Sidebar.tsx"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../../src/components/Layout/Sidebar.tsx"],"names":[],"mappings":";;;AAAA,mDAA2C;AAE3C,SAAS,OAAO;IACd,OAAO,CACL,uBAAC,2BAAS,IAAC,IAAI,QAAC,SAAS,EAAC,QAAQ,EAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,YAC9D,uBAAC,2BAAS,CAAC,IAAI,oIAGE,GACP,CACb,CAAA;AACH,CAAC;AAED,kBAAe,OAAO,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type ReactElement } from 'react';
|
|
2
|
+
interface Classnames {
|
|
3
|
+
wrapper?: string;
|
|
4
|
+
icon?: string;
|
|
5
|
+
item?: string;
|
|
6
|
+
label?: string;
|
|
7
|
+
}
|
|
8
|
+
interface Attributes {
|
|
9
|
+
wrapper?: object;
|
|
10
|
+
icon?: object;
|
|
11
|
+
item?: object;
|
|
12
|
+
label?: object;
|
|
13
|
+
}
|
|
14
|
+
interface RatingDisplayProps {
|
|
15
|
+
value?: number | string;
|
|
16
|
+
decimalCount?: number;
|
|
17
|
+
icon?: string;
|
|
18
|
+
activeIcons: number;
|
|
19
|
+
totalCount?: number;
|
|
20
|
+
hideLabel?: boolean;
|
|
21
|
+
classnames?: Classnames;
|
|
22
|
+
attributes?: Attributes;
|
|
23
|
+
onClick?: ((val: number) => void) | null;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
}
|
|
26
|
+
declare function RatingDisplay({ icon, value, decimalCount, totalCount, disabled, hideLabel, activeIcons, classnames, attributes, onClick, }: RatingDisplayProps): ReactElement;
|
|
27
|
+
export default RatingDisplay;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
var clsx_1 = tslib_1.__importDefault(require("clsx"));
|
|
6
|
+
var app_1 = require("../helpers/app");
|
|
7
|
+
function RatingDisplay(_a) {
|
|
8
|
+
var _b = _a.icon, icon = _b === void 0 ? 'bi bi-star-fill' : _b, _c = _a.value, value = _c === void 0 ? 0 : _c, _d = _a.decimalCount, decimalCount = _d === void 0 ? 0 : _d, _e = _a.totalCount, totalCount = _e === void 0 ? 1 : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, _g = _a.hideLabel, hideLabel = _g === void 0 ? false : _g, activeIcons = _a.activeIcons, _h = _a.classnames, classnames = _h === void 0 ? {} : _h, _j = _a.attributes, attributes = _j === void 0 ? {} : _j, onClick = _a.onClick;
|
|
9
|
+
// condition: interactive only if onClick is provided and not disabled
|
|
10
|
+
var isInteractive = !!onClick && !disabled;
|
|
11
|
+
// Object Destructuring
|
|
12
|
+
var _k = (0, app_1.destructObj)(classnames), wrapperClass = _k.wrapper, iconClass = _k.icon, labelClass = _k.label;
|
|
13
|
+
var _l = (0, app_1.destructObj)(attributes), wrapperAttr = _l.wrapper, iconAttr = _l.icon, labelAttr = _l.label;
|
|
14
|
+
/** Function responsible for creating the ratings array on the basis of total count being passed. */
|
|
15
|
+
function createRatingsArr() {
|
|
16
|
+
return Array.from({ length: totalCount }, function (_, index) { return index + 1; });
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* This function format the value according to decimal count and remove the trailing zeros.
|
|
20
|
+
* In order to display numbers after decimal points, we are using the maximum limit of 5.
|
|
21
|
+
* @returns return the formatted string value.
|
|
22
|
+
*/
|
|
23
|
+
function getFormattedVal() {
|
|
24
|
+
var numVal = typeof value === 'string' ? Number(value) : value;
|
|
25
|
+
var count = Math.min(decimalCount, 5);
|
|
26
|
+
return numVal
|
|
27
|
+
.toFixed(count)
|
|
28
|
+
.replace(/(\.\d*?)0+$/, '$1')
|
|
29
|
+
.replace(/\.$/, '')
|
|
30
|
+
.toString();
|
|
31
|
+
}
|
|
32
|
+
function renderLabelText() {
|
|
33
|
+
return ((0, jsx_runtime_1.jsx)("span", tslib_1.__assign({}, labelAttr, { className: (0, clsx_1.default)(labelClass), children: getFormattedVal() })));
|
|
34
|
+
}
|
|
35
|
+
return ((0, jsx_runtime_1.jsxs)("div", tslib_1.__assign({}, wrapperAttr, { className: (0, clsx_1.default)('d-flex align-items-center gap-2', wrapperClass), children: [(0, app_1.isArrayNotEmpty)(createRatingsArr()) &&
|
|
36
|
+
createRatingsArr().map(function (star) { return ((0, jsx_runtime_1.jsx)("span", { className: "d-flex align-items-center ".concat(isInteractive ? 'rating-hover' : 'disabled-rating'), onClick: function () { return (isInteractive ? onClick(star) : undefined); }, children: (0, jsx_runtime_1.jsx)("i", tslib_1.__assign({}, iconAttr, { className: (0, clsx_1.default)(icon, iconClass, star <= activeIcons ? 'text-warning' : 'text-secondary', isInteractive ? 'cursor-pointer' : 'cursor-default pe-none') })) }, star)); }), !hideLabel ? renderLabelText() : null] })));
|
|
37
|
+
}
|
|
38
|
+
exports.default = RatingDisplay;
|
|
39
|
+
//# sourceMappingURL=RatingDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RatingDisplay.js","sourceRoot":"","sources":["../../../src/components/RatingDisplay.tsx"],"names":[],"mappings":";;;;AACA,sDAAuB;AACvB,sCAA6D;AA6B7D,SAAS,aAAa,CAAC,EAWF;QAVnB,YAAwB,EAAxB,IAAI,mBAAG,iBAAiB,KAAA,EACxB,aAAS,EAAT,KAAK,mBAAG,CAAC,KAAA,EACT,oBAAgB,EAAhB,YAAY,mBAAG,CAAC,KAAA,EAChB,kBAAc,EAAd,UAAU,mBAAG,CAAC,KAAA,EACd,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,WAAW,iBAAA,EACX,kBAAe,EAAf,UAAU,mBAAG,EAAE,KAAA,EACf,kBAAe,EAAf,UAAU,mBAAG,EAAE,KAAA,EACf,OAAO,aAAA;IAEP,sEAAsE;IACtE,IAAM,aAAa,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAA;IAE5C,uBAAuB;IACjB,IAAA,KAIgC,IAAA,iBAAW,EAAC,UAAU,CAAC,EAHlD,YAAY,aAAA,EACf,SAAS,UAAA,EACR,UAAU,WAC0C,CAAA;IAEvD,IAAA,KAIgC,IAAA,iBAAW,EAAC,UAAU,CAAC,EAHlD,WAAW,aAAA,EACd,QAAQ,UAAA,EACP,SAAS,WAC2C,CAAA;IAE7D,oGAAoG;IACpG,SAAS,gBAAgB;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,UAAC,CAAC,EAAE,KAAK,IAAK,OAAA,KAAK,GAAG,CAAC,EAAT,CAAS,CAAC,CAAA;IACpE,CAAC;IAED;;;;OAIG;IACH,SAAS,eAAe;QACtB,IAAM,MAAM,GAAW,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACxE,IAAM,KAAK,GAAW,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;QAC/C,OAAO,MAAM;aACV,OAAO,CAAC,KAAK,CAAC;aACd,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC;aAC5B,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;aAClB,QAAQ,EAAE,CAAA;IACf,CAAC;IAED,SAAS,eAAe;QACtB,OAAO,CACL,oDAAU,SAAS,IAAE,SAAS,EAAE,IAAA,cAAI,EAAC,UAAU,CAAC,YAC7C,eAAe,EAAE,IACb,CACR,CAAA;IACH,CAAC;IAED,OAAO,CACL,oDAAS,WAAW,IAAE,SAAS,EAAE,IAAA,cAAI,EAAC,iCAAiC,EAAE,YAAY,CAAC,aACnF,IAAA,qBAAe,EAAC,gBAAgB,EAAE,CAAC;gBAClC,gBAAgB,EAAE,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,CAC/B,iCAEE,SAAS,EAAE,oCAA6B,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAE,EAC5F,OAAO,EAAE,cAAM,OAAA,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAA3C,CAA2C,YAE1D,iDACM,QAAQ,IACZ,SAAS,EAAE,IAAA,cAAI,EACb,IAAI,EACJ,SAAS,EACT,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,EACvD,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,wBAAwB,CAC5D,IACD,IAZG,IAAI,CAaJ,CACR,EAhBgC,CAgBhC,CAAC,EACH,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,KAClC,CACP,CAAA;AACH,CAAC;AAED,kBAAe,aAAa,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { LabelProps } from './Label';
|
|
2
|
-
import React from 'react';
|
|
3
2
|
export interface TextInputProps {
|
|
4
3
|
labelProps?: LabelProps;
|
|
5
4
|
placeholder?: string;
|
|
@@ -7,4 +6,4 @@ export interface TextInputProps {
|
|
|
7
6
|
variant?: string;
|
|
8
7
|
id?: string;
|
|
9
8
|
}
|
|
10
|
-
export default function TextInput({ labelProps, placeholder, type, variant, id }: TextInputProps):
|
|
9
|
+
export default function TextInput({ labelProps, placeholder, type, variant, id }: TextInputProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = TextInput;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
6
|
var clsx_1 = tslib_1.__importDefault(require("clsx"));
|
|
6
7
|
var Label_1 = tslib_1.__importDefault(require("./Label"));
|
|
7
8
|
var react_1 = require("react");
|
|
8
9
|
var react_bootstrap_1 = require("react-bootstrap");
|
|
9
|
-
var react_2 = tslib_1.__importDefault(require("react"));
|
|
10
10
|
function TextInput(_a) {
|
|
11
11
|
var labelProps = _a.labelProps, placeholder = _a.placeholder, _b = _a.type, type = _b === void 0 ? 'text' : _b, _c = _a.variant, variant = _c === void 0 ? 'sm' : _c, id = _a.id;
|
|
12
12
|
var _d = (0, react_1.useState)(false), showPassword = _d[0], setShowPassword = _d[1];
|
|
@@ -14,13 +14,8 @@ function TextInput(_a) {
|
|
|
14
14
|
setShowPassword(function (prev) { return !prev; });
|
|
15
15
|
};
|
|
16
16
|
function renderInput() {
|
|
17
|
-
return (
|
|
17
|
+
return ((0, jsx_runtime_1.jsx)(react_bootstrap_1.Form.Control, { placeholder: placeholder, id: id, type: type === 'password' && showPassword ? 'text' : type, className: (0, clsx_1.default)("form-control-".concat(variant)) }));
|
|
18
18
|
}
|
|
19
|
-
return (
|
|
20
|
-
react_2.default.createElement(Label_1.default, tslib_1.__assign({}, labelProps, { id: id })),
|
|
21
|
-
type === 'password' ? (react_2.default.createElement("div", { className: 'position-relative' },
|
|
22
|
-
renderInput(),
|
|
23
|
-
react_2.default.createElement(react_bootstrap_1.Button, { variant: 'transparent', className: 'form-control-icon text-dark', onClick: handleToggle },
|
|
24
|
-
react_2.default.createElement("i", { className: (0, clsx_1.default)(showPassword ? 'bi bi-eye bi' : 'bi-eye-slash') })))) : (renderInput())));
|
|
19
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.default)('text-input-wrapper'), children: [(0, jsx_runtime_1.jsx)(Label_1.default, tslib_1.__assign({}, labelProps, { id: id })), type === 'password' ? ((0, jsx_runtime_1.jsxs)("div", { className: 'position-relative', children: [renderInput(), (0, jsx_runtime_1.jsx)(react_bootstrap_1.Button, { variant: 'transparent', className: 'form-control-icon text-dark', onClick: handleToggle, children: (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)(showPassword ? 'bi bi-eye bi' : 'bi-eye-slash') }) })] })) : (renderInput())] }));
|
|
25
20
|
}
|
|
26
21
|
//# sourceMappingURL=TextInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextInput.js","sourceRoot":"","sources":["../../../src/components/TextInput.tsx"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"TextInput.js","sourceRoot":"","sources":["../../../src/components/TextInput.tsx"],"names":[],"mappings":";;AAcA,4BAiCC;;;AA/CD,sDAAuB;AAEvB,0DAA2B;AAC3B,+BAAmD;AACnD,mDAA8C;AAU9C,SAAwB,SAAS,CAAC,EAA8E;QAA5E,UAAU,gBAAA,EAAE,WAAW,iBAAA,EAAE,YAAa,EAAb,IAAI,mBAAG,MAAM,KAAA,EAAE,eAAc,EAAd,OAAO,mBAAG,IAAI,KAAA,EAAE,EAAE,QAAA;IACtF,IAAA,KAAkC,IAAA,gBAAQ,EAAC,KAAK,CAAC,EAAhD,YAAY,QAAA,EAAE,eAAe,QAAmB,CAAA;IAEvD,IAAM,YAAY,GAAG;QACnB,eAAe,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,IAAI,EAAL,CAAK,CAAC,CAAA;IAClC,CAAC,CAAA;IAED,SAAS,WAAW;QAClB,OAAO,CACL,uBAAC,sBAAI,CAAC,OAAO,IACX,WAAW,EAAE,WAAW,EACxB,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,KAAK,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EACzD,SAAS,EAAE,IAAA,cAAI,EAAC,uBAAgB,OAAO,CAAE,CAAC,GAC1C,CACH,CAAA;IACH,CAAC;IAED,OAAO,CACL,iCAAK,SAAS,EAAE,IAAA,cAAI,EAAC,oBAAoB,CAAC,aACxC,uBAAC,eAAK,uBAAK,UAAU,IAAE,EAAE,EAAE,EAAE,IAAI,EAChC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CACrB,iCAAK,SAAS,EAAC,mBAAmB,aAC/B,WAAW,EAAE,EACd,uBAAC,wBAAM,IAAC,OAAO,EAAC,aAAa,EAAC,SAAS,EAAC,6BAA6B,EAAC,OAAO,EAAE,YAAY,YACzF,8BAAG,SAAS,EAAE,IAAA,cAAI,EAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,GAAI,GAC/D,IACL,CACP,CAAC,CAAC,CAAC,CACF,WAAW,EAAE,CACd,IACG,CACP,CAAA;AACH,CAAC"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import Accordion from './components/Accordion';
|
|
2
|
+
import Button from './components/Button';
|
|
1
3
|
import TextInput from './components/TextInput';
|
|
2
4
|
import Label from './components/Label';
|
|
3
|
-
|
|
4
|
-
export { Label, Button, TextInput };
|
|
5
|
+
export { Accordion, Label, Button, TextInput };
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TextInput = exports.Button = exports.Label = void 0;
|
|
3
|
+
exports.TextInput = exports.Button = exports.Label = exports.Accordion = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
+
var Accordion_1 = tslib_1.__importDefault(require("./components/Accordion"));
|
|
6
|
+
exports.Accordion = Accordion_1.default;
|
|
7
|
+
var Button_1 = tslib_1.__importDefault(require("./components/Button"));
|
|
8
|
+
exports.Button = Button_1.default;
|
|
5
9
|
var TextInput_1 = tslib_1.__importDefault(require("./components/TextInput"));
|
|
6
10
|
exports.TextInput = TextInput_1.default;
|
|
7
11
|
var Label_1 = tslib_1.__importDefault(require("./components/Label"));
|
|
8
12
|
exports.Label = Label_1.default;
|
|
9
|
-
var Button_1 = tslib_1.__importDefault(require("./components/Button"));
|
|
10
|
-
exports.Button = Button_1.default;
|
|
11
13
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,6EAA8C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;AAAA,6EAA8C;AAKrC,oBALF,mBAAS,CAKE;AAJlB,uEAAwC;AAIb,iBAJpB,gBAAM,CAIoB;AAHjC,6EAA8C;AAGX,oBAH5B,mBAAS,CAG4B;AAF5C,qEAAsC;AAElB,gBAFb,eAAK,CAEa"}
|
package/dist/cjs/strings/en.d.ts
CHANGED
package/dist/cjs/strings/en.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../../src/strings/en.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACvC,QAAA,MAAM,GAAG;IACpB,IAAI,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../../src/strings/en.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACvC,QAAA,MAAM,GAAG;IACpB,IAAI,EAAE,YAAY;IAClB,IAAI,EAAE,MAAM;CACb,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type ReactElement, type ReactNode } from 'react';
|
|
2
|
+
interface AccordionData {
|
|
3
|
+
title?: string;
|
|
4
|
+
subtitle?: string;
|
|
5
|
+
desc?: string;
|
|
6
|
+
}
|
|
7
|
+
interface Classnames {
|
|
8
|
+
wrapper?: string;
|
|
9
|
+
item?: string;
|
|
10
|
+
header?: string;
|
|
11
|
+
title?: string;
|
|
12
|
+
subtitle?: string;
|
|
13
|
+
body?: string;
|
|
14
|
+
}
|
|
15
|
+
interface Attributes {
|
|
16
|
+
wrapper?: object;
|
|
17
|
+
item?: object;
|
|
18
|
+
header?: object;
|
|
19
|
+
title?: object;
|
|
20
|
+
subtitle?: object;
|
|
21
|
+
body?: object;
|
|
22
|
+
}
|
|
23
|
+
export interface AccordionProps {
|
|
24
|
+
data: AccordionData[];
|
|
25
|
+
alwaysOpen?: boolean;
|
|
26
|
+
defaultActiveKey?: string;
|
|
27
|
+
classnames?: Classnames;
|
|
28
|
+
attributes?: Attributes;
|
|
29
|
+
renderBody?: (item: AccordionData) => ReactNode | ReactElement;
|
|
30
|
+
renderHeader?: (item: AccordionData) => ReactNode | ReactElement;
|
|
31
|
+
}
|
|
32
|
+
declare function Accordion({ data, alwaysOpen, defaultActiveKey, classnames, attributes, renderBody, renderHeader, }: AccordionProps): ReactElement;
|
|
33
|
+
export default Accordion;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { createElement as _createElement } from "react";
|
|
4
|
+
import BSAccordion from 'react-bootstrap/Accordion';
|
|
5
|
+
import clsx from 'clsx';
|
|
6
|
+
import { destructObj, isArrayNotEmpty } from '../helpers/app';
|
|
7
|
+
function Accordion(_a) {
|
|
8
|
+
var data = _a.data, _b = _a.alwaysOpen, alwaysOpen = _b === void 0 ? false : _b, _c = _a.defaultActiveKey, defaultActiveKey = _c === void 0 ? undefined : _c, _d = _a.classnames, classnames = _d === void 0 ? undefined : _d, _e = _a.attributes, attributes = _e === void 0 ? undefined : _e, renderBody = _a.renderBody, renderHeader = _a.renderHeader;
|
|
9
|
+
// Destruct props
|
|
10
|
+
var _f = destructObj(classnames), wrapperClass = _f.wrapper, itemClass = _f.item, headerClass = _f.header, titleClass = _f.title, subTitleClass = _f.subtitle, bodyClass = _f.body;
|
|
11
|
+
var _g = destructObj(attributes), wrapperAttr = _g.wrapper, itemAttr = _g.item, headerAttr = _g.header, titleAttr = _g.title, subTitleAttr = _g.subtitle, bodyAttr = _g.body;
|
|
12
|
+
return (_jsx(BSAccordion, __assign({}, wrapperAttr, { alwaysOpen: alwaysOpen, defaultActiveKey: defaultActiveKey, className: clsx('farm-custom-acc', wrapperClass), children: isArrayNotEmpty(data) &&
|
|
13
|
+
(data === null || data === void 0 ? void 0 : data.map(function (item, index) { return (_createElement(BSAccordion.Item, __assign({}, itemAttr, { key: index, eventKey: index.toString(), className: clsx(itemClass) }),
|
|
14
|
+
_jsx(BSAccordion.Header, __assign({}, headerAttr, { className: clsx('farm-content-none', headerClass), children: renderHeader ? (renderHeader(item)) : (_jsxs("div", { children: [(item === null || item === void 0 ? void 0 : item.title) && (_jsx("p", __assign({}, titleAttr, { className: clsx('mb-0 fs-20', titleClass), children: item.title }))), (item === null || item === void 0 ? void 0 : item.subtitle) && (_jsx("small", __assign({}, subTitleAttr, { className: clsx(subTitleClass), children: item.subtitle })))] })) })),
|
|
15
|
+
_jsx(BSAccordion.Body, __assign({}, bodyAttr, { className: clsx(bodyClass), children: renderBody ? renderBody(item) : item.desc })))); })) })));
|
|
16
|
+
}
|
|
17
|
+
export default Accordion;
|
|
18
|
+
//# sourceMappingURL=Accordion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../../src/components/Accordion.tsx"],"names":[],"mappings":";;;AACA,OAAO,WAAW,MAAM,2BAA2B,CAAA;AACnD,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAqC7D,SAAS,SAAS,CAAC,EAQF;QAPf,IAAI,UAAA,EACJ,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,wBAA4B,EAA5B,gBAAgB,mBAAG,SAAS,KAAA,EAC5B,kBAAsB,EAAtB,UAAU,mBAAG,SAAS,KAAA,EACtB,kBAAsB,EAAtB,UAAU,mBAAG,SAAS,KAAA,EACtB,UAAU,gBAAA,EACV,YAAY,kBAAA;IAEZ,iBAAiB;IACX,IAAA,KAO4B,WAAW,CAAC,UAAU,CAAC,EAN9C,YAAY,aAAA,EACf,SAAS,UAAA,EACP,WAAW,YAAA,EACZ,UAAU,WAAA,EACP,aAAa,cAAA,EACjB,SAAS,UACwC,CAAA;IAEnD,IAAA,KAO4B,WAAW,CAAC,UAAU,CAAC,EAN9C,WAAW,aAAA,EACd,QAAQ,UAAA,EACN,UAAU,YAAA,EACX,SAAS,WAAA,EACN,YAAY,cAAA,EAChB,QAAQ,UACyC,CAAA;IAEzD,OAAO,CACL,KAAC,WAAW,eACN,WAAW,IACf,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,YAE/C,eAAe,CAAC,IAAI,CAAC;aACpB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,CACzB,eAAC,WAAW,CAAC,IAAI,eAAK,QAAQ,IAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;gBAChG,KAAC,WAAW,CAAC,MAAM,eAAK,UAAU,IAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,YAClF,YAAY,CAAC,CAAC,CAAC,CACd,YAAY,CAAC,IAAI,CAAC,CACnB,CAAC,CAAC,CAAC,CACF,0BACG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,CACd,uBAAO,SAAS,IAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,YACxD,IAAI,CAAC,KAAK,IACT,CACL,EACA,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,KAAI,CACjB,2BAAW,YAAY,IAAE,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,YACpD,IAAI,CAAC,QAAQ,IACR,CACT,IACG,CACP,IACkB;gBACrB,KAAC,WAAW,CAAC,IAAI,eAAK,QAAQ,IAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,YACvD,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IACzB,CACF,CACpB,EAxB0B,CAwB1B,CAAC,CAAA,IACQ,CACf,CAAA;AACH,CAAC;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,MAAM;IAC5B,OAAO,eAAW,CAAA;AACpB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import clsx from 'clsx';
|
|
3
3
|
import { OverlayTrigger, Tooltip } from 'react-bootstrap';
|
|
4
4
|
import { destructObj } from '../helpers/app';
|
|
@@ -7,14 +7,12 @@ function Label(_a) {
|
|
|
7
7
|
// Destructure classnames safely
|
|
8
8
|
var _c = destructObj(classnames), labelClass = _c.label, iconClass = _c.icon;
|
|
9
9
|
/** Renders the label icon */
|
|
10
|
-
var renderLabelIcon = function () { return
|
|
10
|
+
var renderLabelIcon = function () { return _jsx("i", { className: clsx(icon, iconClass, { 'ms-2': tooltip }) }); };
|
|
11
11
|
if (!label)
|
|
12
12
|
return null;
|
|
13
|
-
return (
|
|
13
|
+
return (_jsxs("label", { htmlFor: id, className: clsx(labelClass, 'form-label', {
|
|
14
14
|
'd-flex align-items-center': !!icon,
|
|
15
|
-
}) },
|
|
16
|
-
label,
|
|
17
|
-
tooltip ? (React.createElement(OverlayTrigger, { placement: 'top', overlay: React.createElement(Tooltip, { className: 'bg-white rounded' }, tooltip) }, renderLabelIcon())) : (renderLabelIcon())));
|
|
15
|
+
}), children: [label, tooltip ? (_jsx(OverlayTrigger, { placement: 'top', overlay: _jsx(Tooltip, { className: 'bg-white rounded', children: tooltip }), children: renderLabelIcon() })) : (renderLabelIcon())] }));
|
|
18
16
|
}
|
|
19
17
|
export default Label;
|
|
20
18
|
//# sourceMappingURL=Label.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../src/components/Label.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../src/components/Label.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAe5C,SAAS,KAAK,CAAC,EAA0E;QAAxE,EAAE,QAAA,EAAE,KAAK,WAAA,EAAE,YAA0B,EAA1B,IAAI,mBAAG,mBAAmB,KAAA,EAAE,OAAO,aAAA,EAAE,UAAU,gBAAA;IACzE,gCAAgC;IAC1B,IAAA,KAAyC,WAAW,CAAC,UAAU,CAAC,EAAvD,UAAU,WAAA,EAAQ,SAAS,UAA4B,CAAA;IAEtE,6BAA6B;IAC7B,IAAM,eAAe,GAAG,cAAoB,OAAA,YAAG,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAI,EAA5D,CAA4D,CAAA;IAExG,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,OAAO,CACL,iBACE,OAAO,EAAE,EAAE,EACX,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE;YACxC,2BAA2B,EAAE,CAAC,CAAC,IAAI;SACpC,CAAC,aAED,KAAK,EACL,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,cAAc,IAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,KAAC,OAAO,IAAC,SAAS,EAAC,kBAAkB,YAAE,OAAO,GAAW,YAC/F,eAAe,EAAE,GACH,CAClB,CAAC,CAAC,CAAC,CACF,eAAe,EAAE,CAClB,IACK,CACT,CAAA;AACH,CAAC;AAED,eAAe,KAAK,CAAA"}
|