farm-react 1.0.5 → 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.
Files changed (135) hide show
  1. package/README.md +79 -4
  2. package/dist/cjs/assets/data/header.d.ts +6 -0
  3. package/dist/cjs/assets/data/header.js +17 -0
  4. package/dist/cjs/assets/data/header.js.map +1 -0
  5. package/dist/cjs/assets/data/home.d.ts +0 -0
  6. package/dist/cjs/assets/data/home.js +2 -0
  7. package/dist/cjs/assets/data/home.js.map +1 -0
  8. package/dist/cjs/assets/data/icons.d.ts +0 -0
  9. package/dist/cjs/assets/data/icons.js +2 -0
  10. package/dist/cjs/assets/data/icons.js.map +1 -0
  11. package/dist/cjs/components/Accordion.d.ts +33 -0
  12. package/dist/cjs/components/Accordion.js +20 -0
  13. package/dist/cjs/components/Accordion.js.map +1 -0
  14. package/dist/cjs/components/Button.d.ts +2 -0
  15. package/dist/cjs/components/Button.js +8 -0
  16. package/dist/cjs/components/Button.js.map +1 -0
  17. package/dist/cjs/components/Label.d.ts +14 -0
  18. package/dist/cjs/components/Label.js +21 -0
  19. package/dist/cjs/components/Label.js.map +1 -0
  20. package/dist/cjs/components/Layout/Footer.d.ts +3 -0
  21. package/dist/cjs/components/Layout/Footer.js +11 -0
  22. package/dist/cjs/components/Layout/Footer.js.map +1 -0
  23. package/dist/cjs/components/Layout/Header.d.ts +2 -0
  24. package/dist/cjs/components/Layout/Header.js +17 -0
  25. package/dist/cjs/components/Layout/Header.js.map +1 -0
  26. package/dist/cjs/components/Layout/Sidebar.d.ts +2 -0
  27. package/dist/cjs/components/Layout/Sidebar.js +9 -0
  28. package/dist/cjs/components/Layout/Sidebar.js.map +1 -0
  29. package/dist/cjs/components/RatingDisplay.d.ts +27 -0
  30. package/dist/cjs/components/RatingDisplay.js +39 -0
  31. package/dist/cjs/components/RatingDisplay.js.map +1 -0
  32. package/dist/cjs/components/TextInput.d.ts +9 -0
  33. package/dist/cjs/components/TextInput.js +21 -0
  34. package/dist/cjs/components/TextInput.js.map +1 -0
  35. package/dist/cjs/constants/app.d.ts +1 -0
  36. package/dist/cjs/constants/app.js +5 -0
  37. package/dist/cjs/constants/app.js.map +1 -0
  38. package/dist/cjs/constants/images.d.ts +0 -0
  39. package/dist/cjs/constants/images.js +2 -0
  40. package/dist/cjs/constants/images.js.map +1 -0
  41. package/dist/cjs/constants/routes.d.ts +0 -0
  42. package/dist/cjs/constants/routes.js +2 -0
  43. package/dist/cjs/constants/routes.js.map +1 -0
  44. package/dist/cjs/container/index.d.ts +0 -0
  45. package/dist/cjs/container/index.js +2 -0
  46. package/dist/cjs/container/index.js.map +1 -0
  47. package/dist/cjs/helpers/app.d.ts +81 -0
  48. package/dist/cjs/helpers/app.js +151 -0
  49. package/dist/cjs/helpers/app.js.map +1 -0
  50. package/dist/cjs/helpers/index.d.ts +0 -0
  51. package/dist/cjs/helpers/index.js +2 -0
  52. package/dist/cjs/helpers/index.js.map +1 -0
  53. package/dist/cjs/hooks/index.d.ts +0 -0
  54. package/dist/cjs/hooks/index.js +2 -0
  55. package/dist/cjs/hooks/index.js.map +1 -0
  56. package/dist/cjs/index.d.ts +5 -2
  57. package/dist/cjs/index.js +9 -3
  58. package/dist/cjs/index.js.map +1 -1
  59. package/dist/cjs/strings/en.d.ts +4 -0
  60. package/dist/cjs/strings/en.js +9 -0
  61. package/dist/cjs/strings/en.js.map +1 -0
  62. package/dist/cjs/strings/index.d.ts +0 -0
  63. package/dist/cjs/strings/index.js +2 -0
  64. package/dist/cjs/strings/index.js.map +1 -0
  65. package/dist/esm/assets/data/header.d.ts +6 -0
  66. package/dist/esm/assets/data/header.js +14 -0
  67. package/dist/esm/assets/data/header.js.map +1 -0
  68. package/dist/esm/assets/data/home.d.ts +0 -0
  69. package/dist/esm/assets/data/home.js +2 -0
  70. package/dist/esm/assets/data/home.js.map +1 -0
  71. package/dist/esm/assets/data/icons.d.ts +0 -0
  72. package/dist/esm/assets/data/icons.js +2 -0
  73. package/dist/esm/assets/data/icons.js.map +1 -0
  74. package/dist/esm/components/Accordion.d.ts +33 -0
  75. package/dist/esm/components/Accordion.js +18 -0
  76. package/dist/esm/components/Accordion.js.map +1 -0
  77. package/dist/esm/components/Button.d.ts +2 -0
  78. package/dist/esm/components/Button.js +5 -0
  79. package/dist/esm/components/Button.js.map +1 -0
  80. package/dist/esm/components/Label.d.ts +14 -0
  81. package/dist/esm/components/Label.js +18 -0
  82. package/dist/esm/components/Label.js.map +1 -0
  83. package/dist/esm/components/Layout/Footer.d.ts +3 -0
  84. package/dist/esm/components/Layout/Footer.js +9 -0
  85. package/dist/esm/components/Layout/Footer.js.map +1 -0
  86. package/dist/esm/components/Layout/Header.d.ts +2 -0
  87. package/dist/esm/components/Layout/Header.js +14 -0
  88. package/dist/esm/components/Layout/Header.js.map +1 -0
  89. package/dist/esm/components/Layout/Sidebar.d.ts +2 -0
  90. package/dist/esm/components/Layout/Sidebar.js +7 -0
  91. package/dist/esm/components/Layout/Sidebar.js.map +1 -0
  92. package/dist/esm/components/RatingDisplay.d.ts +27 -0
  93. package/dist/esm/components/RatingDisplay.js +37 -0
  94. package/dist/esm/components/RatingDisplay.js.map +1 -0
  95. package/dist/esm/components/TextInput.d.ts +9 -0
  96. package/dist/esm/components/TextInput.js +18 -0
  97. package/dist/esm/components/TextInput.js.map +1 -0
  98. package/dist/esm/constants/app.d.ts +1 -0
  99. package/dist/esm/constants/app.js +2 -0
  100. package/dist/esm/constants/app.js.map +1 -0
  101. package/dist/esm/constants/images.d.ts +0 -0
  102. package/dist/esm/constants/images.js +2 -0
  103. package/dist/esm/constants/images.js.map +1 -0
  104. package/dist/esm/constants/routes.d.ts +0 -0
  105. package/dist/esm/constants/routes.js +2 -0
  106. package/dist/esm/constants/routes.js.map +1 -0
  107. package/dist/esm/container/index.d.ts +0 -0
  108. package/dist/esm/container/index.js +2 -0
  109. package/dist/esm/container/index.js.map +1 -0
  110. package/dist/esm/helpers/app.d.ts +81 -0
  111. package/dist/esm/helpers/app.js +136 -0
  112. package/dist/esm/helpers/app.js.map +1 -0
  113. package/dist/esm/helpers/index.d.ts +0 -0
  114. package/dist/esm/helpers/index.js +2 -0
  115. package/dist/esm/helpers/index.js.map +1 -0
  116. package/dist/esm/hooks/index.d.ts +0 -0
  117. package/dist/esm/hooks/index.js +2 -0
  118. package/dist/esm/hooks/index.js.map +1 -0
  119. package/dist/esm/index.d.ts +5 -2
  120. package/dist/esm/index.js +5 -2
  121. package/dist/esm/index.js.map +1 -1
  122. package/dist/esm/strings/en.d.ts +4 -0
  123. package/dist/esm/strings/en.js +6 -0
  124. package/dist/esm/strings/en.js.map +1 -0
  125. package/dist/esm/strings/index.d.ts +0 -0
  126. package/dist/esm/strings/index.js +2 -0
  127. package/dist/esm/strings/index.js.map +1 -0
  128. package/dist/package.json +13 -0
  129. package/package.json +62 -53
  130. package/dist/cjs/components/app.d.ts +0 -6
  131. package/dist/cjs/components/app.js +0 -22
  132. package/dist/cjs/components/app.js.map +0 -1
  133. package/dist/esm/components/app.d.ts +0 -6
  134. package/dist/esm/components/app.js +0 -19
  135. package/dist/esm/components/app.js.map +0 -1
package/README.md CHANGED
@@ -1,4 +1,79 @@
1
- # publish-packages for (React Package, Node JS, Nest JS)
2
- This is Demo Repo to showcase publishing packages related to Node JS, React UI & Nest JS Packages
3
-
4
- ![](https://i.ytimg.com/vi/lVze5eT5DQQ/maxresdefault.jpg)
1
+ # farm-react
2
+
3
+ React UI component library for building farmer product websites and applications with ease and consistency.
4
+
5
+ [![npm version](https://img.shields.io/npm/v/farm-react.svg)](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,6 @@
1
+ declare const headerItem: {
2
+ id: number;
3
+ label: string;
4
+ link: string;
5
+ }[];
6
+ export { headerItem };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.headerItem = void 0;
4
+ var headerItem = [
5
+ { id: 1, label: 'Bootstrap 5', link: 'https://getbootstrap.com/docs/5.3/getting-started/introduction/' },
6
+ { id: 2, label: 'React bootstrap', link: 'https://react-bootstrap.netlify.app/' },
7
+ { id: 4, label: 'Seed App', link: 'https://seed-app' },
8
+ { id: 3, label: 'Updates group', link: 'https://chat.whatsapp.com/ISQ2i9zTTvr2dGPzyvE5FV?mode=ac_t' },
9
+ // { id: 6, label: 'home', link: '' },
10
+ // { id: 7, label: 'home', link: '' },
11
+ // { id: 8, label: 'home', link: '' },
12
+ // { id: 9, label: 'home', link: '' },
13
+ // { id: 10, label: 'home', link: '' },
14
+ // { id: 11, label: 'home', link: '' },
15
+ ];
16
+ exports.headerItem = headerItem;
17
+ //# sourceMappingURL=header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../../../src/assets/data/header.ts"],"names":[],"mappings":";;;AAAA,IAAM,UAAU,GAAG;IACjB,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,iEAAiE,EAAE;IACxG,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,sCAAsC,EAAE;IACjF,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACtD,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,4DAA4D,EAAE;IACrG,sCAAsC;IACtC,sCAAsC;IACtC,sCAAsC;IACtC,sCAAsC;IACtC,uCAAuC;IACvC,uCAAuC;CACxC,CAAA;AACQ,gCAAU"}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=home.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home.js","sourceRoot":"","sources":["../../../../src/assets/data/home.ts"],"names":[],"mappings":""}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../src/assets/data/icons.ts"],"names":[],"mappings":""}
@@ -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"}
@@ -0,0 +1,2 @@
1
+ import { type ReactElement } from 'react';
2
+ export default function Button(): ReactElement;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = Button;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ function Button() {
6
+ return (0, jsx_runtime_1.jsx)("div", {});
7
+ }
8
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,14 @@
1
+ import { type ReactElement } from 'react';
2
+ interface Classnames {
3
+ label?: string;
4
+ icon?: string;
5
+ }
6
+ export interface LabelProps {
7
+ id?: string;
8
+ label?: string;
9
+ icon?: string;
10
+ tooltip?: string | ReactElement;
11
+ classnames?: Classnames;
12
+ }
13
+ declare function Label({ id, label, icon, tooltip, classnames }: LabelProps): ReactElement | null;
14
+ export default Label;
@@ -0,0 +1,21 @@
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 react_bootstrap_1 = require("react-bootstrap");
7
+ var app_1 = require("../helpers/app");
8
+ function Label(_a) {
9
+ var id = _a.id, label = _a.label, _b = _a.icon, icon = _b === void 0 ? 'bi bi-info-circle' : _b, tooltip = _a.tooltip, classnames = _a.classnames;
10
+ // Destructure classnames safely
11
+ var _c = (0, app_1.destructObj)(classnames), labelClass = _c.label, iconClass = _c.icon;
12
+ /** Renders the label icon */
13
+ var renderLabelIcon = function () { return (0, jsx_runtime_1.jsx)("i", { className: (0, clsx_1.default)(icon, iconClass, { 'ms-2': tooltip }) }); };
14
+ if (!label)
15
+ return null;
16
+ return ((0, jsx_runtime_1.jsxs)("label", { htmlFor: id, className: (0, clsx_1.default)(labelClass, 'form-label', {
17
+ 'd-flex align-items-center': !!icon,
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())] }));
19
+ }
20
+ exports.default = Label;
21
+ //# sourceMappingURL=Label.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,3 @@
1
+ import type { ReactElement } from 'react';
2
+ declare function Footer(): ReactElement;
3
+ export default Footer;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var jsx_runtime_1 = require("react/jsx-runtime");
4
+ var header_1 = require("../../assets/data/header");
5
+ var react_bootstrap_1 = require("react-bootstrap");
6
+ var app_1 = require("../../constants/app");
7
+ function Footer() {
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)); }) }) })] }) }) }));
9
+ }
10
+ exports.default = Footer;
11
+ //# sourceMappingURL=Footer.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ declare function Header(): import("react/jsx-runtime").JSX.Element;
2
+ export default Header;
@@ -0,0 +1,17 @@
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 Container_1 = tslib_1.__importDefault(require("react-bootstrap/Container"));
6
+ var Nav_1 = tslib_1.__importDefault(require("react-bootstrap/Nav"));
7
+ var Navbar_1 = tslib_1.__importDefault(require("react-bootstrap/Navbar"));
8
+ var react_bootstrap_1 = require("react-bootstrap");
9
+ var header_1 = require("../../assets/data/header");
10
+ var react_router_1 = require("react-router");
11
+ var react_bootstrap_2 = require("react-bootstrap");
12
+ var app_1 = require("../../constants/app");
13
+ function Header() {
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" })] })] }) })] }) }) }));
15
+ }
16
+ exports.default = Header;
17
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ declare function Sidebar(): import("react/jsx-runtime").JSX.Element;
2
+ export default Sidebar;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var jsx_runtime_1 = require("react/jsx-runtime");
4
+ var react_bootstrap_1 = require("react-bootstrap");
5
+ function Sidebar() {
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." }) }));
7
+ }
8
+ exports.default = Sidebar;
9
+ //# sourceMappingURL=Sidebar.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,9 @@
1
+ import type { LabelProps } from './Label';
2
+ export interface TextInputProps {
3
+ labelProps?: LabelProps;
4
+ placeholder?: string;
5
+ type?: string;
6
+ variant?: string;
7
+ id?: string;
8
+ }
9
+ export default function TextInput({ labelProps, placeholder, type, variant, id }: TextInputProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = TextInput;
4
+ var tslib_1 = require("tslib");
5
+ var jsx_runtime_1 = require("react/jsx-runtime");
6
+ var clsx_1 = tslib_1.__importDefault(require("clsx"));
7
+ var Label_1 = tslib_1.__importDefault(require("./Label"));
8
+ var react_1 = require("react");
9
+ var react_bootstrap_1 = require("react-bootstrap");
10
+ function TextInput(_a) {
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
+ var _d = (0, react_1.useState)(false), showPassword = _d[0], setShowPassword = _d[1];
13
+ var handleToggle = function () {
14
+ setShowPassword(function (prev) { return !prev; });
15
+ };
16
+ function renderInput() {
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
+ }
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())] }));
20
+ }
21
+ //# sourceMappingURL=TextInput.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1 @@
1
+ export declare const LOGO_IMG = "app/assets/images/logo.png";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LOGO_IMG = void 0;
4
+ exports.LOGO_IMG = 'app/assets/images/logo.png';
5
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/constants/app.ts"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG,4BAA4B,CAAA"}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=images.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"images.js","sourceRoot":"","sources":["../../../src/constants/images.ts"],"names":[],"mappings":""}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=routes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.js","sourceRoot":"","sources":["../../../src/constants/routes.ts"],"names":[],"mappings":""}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/container/index.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Safely returns the provided object or an empty object as fallback.
3
+ * @param value - The object to check.
4
+ * @returns The original object if defined, otherwise an empty object of type T.
5
+ */
6
+ export declare function destructObj<T extends object>(value?: T): T;
7
+ /**
8
+ * Checks if the given value is an empty string (after trimming).
9
+ * @param value - The string to check.
10
+ * @returns true if the value is not a valid string or is empty after trimming, false otherwise.
11
+ */
12
+ export declare function isEmptyString(value?: string | null): boolean;
13
+ /**
14
+ * Checks if the given value is a non-empty string.
15
+ * @param value - The string to check.
16
+ * @returns true if the value is a string with at least one character, false otherwise.
17
+ */
18
+ export declare function isStringNotEmpty(value?: string | null): boolean;
19
+ /**
20
+ * Checks if the given value is a non-empty array.
21
+ * @param value - The array to check.
22
+ * @returns true if the value is an array with at least one element, false otherwise.
23
+ */
24
+ export declare function isArrayNotEmpty<T>(value?: T[] | null): boolean;
25
+ /**
26
+ * Checks if the given value is an empty array.
27
+ * @param value - The array to check.
28
+ * @returns true if the value is an array with no elements, false otherwise.
29
+ */
30
+ export declare function isArrayEmpty<T>(value?: T[] | null): boolean;
31
+ /**
32
+ * Safely returns the length of the given array.
33
+ * @param value - The array to check.
34
+ * @returns The number of elements in the array, or 0 if the array is null/undefined.
35
+ */
36
+ export declare function getArrayLength<T>(value?: T[] | null): number;
37
+ /**
38
+ * Safely checks if the given array includes a specific value.
39
+ * @param array - The array to check.
40
+ * @param item - The item to search for.
41
+ * @returns true if the array includes the item, false otherwise.
42
+ */
43
+ export declare function isArrayIncludes<T>(array: T[] | null | undefined, item: T): boolean;
44
+ /**
45
+ * Checks if the given value is an empty object.
46
+ * @param value - The object to check.
47
+ * @returns true if the value is an object with no own enumerable keys, false otherwise.
48
+ */
49
+ export declare function isObjEmpty(value?: object | null): boolean;
50
+ /**
51
+ * Checks if the given value is a non-empty plain object.
52
+ * @param value - The object to check.
53
+ * @returns true if the value is a plain object with at least one own key, false otherwise.
54
+ */
55
+ export declare function isObjNotEmpty(value?: object | null): boolean;
56
+ /**
57
+ * Checks if the given value is empty.
58
+ * Supports: string, array, object.
59
+ * @param value - The value to check.
60
+ * @returns true if the value is empty, false otherwise.
61
+ */
62
+ export declare function isEmpty(value: any): boolean;
63
+ /**
64
+ * Generates an array of dates between two dates (inclusive).
65
+ * @param start - The start date.
66
+ * @param end - The end date.
67
+ * @returns An array of Date objects from start to end.
68
+ */
69
+ export declare function getDates(start: Date, end: Date): Date[];
70
+ /**
71
+ * Formats a given date into a string.
72
+ * @param date - The date to format.
73
+ * @param format - The format string (default: "YYYY-MM-DD").
74
+ * Supported tokens: YYYY, MM, DD, HH, mm, ss
75
+ * @returns The formatted date string.
76
+ */
77
+ export declare function getFormattedDate(date: Date, format?: string): string;
78
+ /**
79
+ * Returns the current logged-in user from localStorage.
80
+ */
81
+ export declare function getCurrentUser(): any | null;