farm-react 1.0.6 → 1.0.8

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 (302) hide show
  1. package/README.md +79 -4
  2. package/dist/assets/styles/style.css +26254 -0
  3. package/dist/assets/styles/style.css.map +1 -0
  4. package/dist/cjs/Utils/index.d.ts +4 -0
  5. package/dist/cjs/Utils/index.js +8 -0
  6. package/dist/cjs/Utils/index.js.map +1 -0
  7. package/dist/cjs/components/Accordion.d.ts +33 -0
  8. package/dist/cjs/components/Accordion.js +21 -0
  9. package/dist/cjs/components/Accordion.js.map +1 -0
  10. package/dist/cjs/components/Alert.d.ts +32 -0
  11. package/dist/cjs/components/Alert.js +50 -0
  12. package/dist/cjs/components/Alert.js.map +1 -0
  13. package/dist/cjs/components/Badge.d.ts +22 -0
  14. package/dist/cjs/components/Badge.js +36 -0
  15. package/dist/cjs/components/Badge.js.map +1 -0
  16. package/dist/cjs/components/BrokenPage.d.ts +35 -0
  17. package/dist/cjs/components/BrokenPage.js +59 -0
  18. package/dist/cjs/components/BrokenPage.js.map +1 -0
  19. package/dist/cjs/components/Button.d.ts +29 -2
  20. package/dist/cjs/components/Button.js +51 -3
  21. package/dist/cjs/components/Button.js.map +1 -1
  22. package/dist/cjs/components/Card.d.ts +77 -0
  23. package/dist/cjs/components/Card.js +77 -0
  24. package/dist/cjs/components/Card.js.map +1 -0
  25. package/dist/cjs/components/Checkbox.d.ts +25 -0
  26. package/dist/cjs/components/Checkbox.js +23 -0
  27. package/dist/cjs/components/Checkbox.js.map +1 -0
  28. package/dist/cjs/components/ConfirmPoup.d.ts +21 -0
  29. package/dist/cjs/components/ConfirmPoup.js +47 -0
  30. package/dist/cjs/components/ConfirmPoup.js.map +1 -0
  31. package/dist/cjs/components/Dropdown.d.ts +35 -0
  32. package/dist/cjs/components/Dropdown.js +54 -0
  33. package/dist/cjs/components/Dropdown.js.map +1 -0
  34. package/dist/cjs/components/Label.d.ts +1 -1
  35. package/dist/cjs/components/Label.js +4 -4
  36. package/dist/cjs/components/Label.js.map +1 -1
  37. package/dist/cjs/components/MultiCheckbox.d.ts +39 -0
  38. package/dist/cjs/components/MultiCheckbox.js +56 -0
  39. package/dist/cjs/components/MultiCheckbox.js.map +1 -0
  40. package/dist/cjs/components/MultiRadio.d.ts +30 -0
  41. package/dist/cjs/components/MultiRadio.js +41 -0
  42. package/dist/cjs/components/MultiRadio.js.map +1 -0
  43. package/dist/cjs/components/NumberInput.d.ts +38 -0
  44. package/dist/cjs/components/NumberInput.js +34 -0
  45. package/dist/cjs/components/NumberInput.js.map +1 -0
  46. package/dist/cjs/components/Radio.d.ts +24 -0
  47. package/dist/cjs/components/Radio.js +24 -0
  48. package/dist/cjs/components/Radio.js.map +1 -0
  49. package/dist/cjs/components/RangeSlider.d.ts +30 -0
  50. package/dist/cjs/components/RangeSlider.js +48 -0
  51. package/dist/cjs/components/RangeSlider.js.map +1 -0
  52. package/dist/cjs/components/RatingDisplay.d.ts +27 -0
  53. package/dist/cjs/components/RatingDisplay.js +42 -0
  54. package/dist/cjs/components/RatingDisplay.js.map +1 -0
  55. package/dist/cjs/components/Select.d.ts +41 -0
  56. package/dist/cjs/components/Select.js +48 -0
  57. package/dist/cjs/components/Select.js.map +1 -0
  58. package/dist/cjs/components/SkeletonLoader.d.ts +39 -0
  59. package/dist/cjs/components/SkeletonLoader.js +76 -0
  60. package/dist/cjs/components/SkeletonLoader.js.map +1 -0
  61. package/dist/cjs/components/Slider/SlickSlider.d.ts +74 -0
  62. package/dist/cjs/components/Slider/SlickSlider.js +211 -0
  63. package/dist/cjs/components/Slider/SlickSlider.js.map +1 -0
  64. package/dist/cjs/components/Slider/Slider/SlickSlider.d.ts +74 -0
  65. package/dist/cjs/components/Slider/Slider/SlickSlider.js +212 -0
  66. package/dist/cjs/components/Slider/Slider/SlickSlider.js.map +1 -0
  67. package/dist/cjs/components/Slider/Slider/useCenterMode.d.ts +24 -0
  68. package/dist/cjs/components/Slider/Slider/useCenterMode.js +40 -0
  69. package/dist/cjs/components/Slider/Slider/useCenterMode.js.map +1 -0
  70. package/dist/cjs/components/Slider/Slider/useSlider.d.ts +65 -0
  71. package/dist/cjs/components/Slider/Slider/useSlider.js +164 -0
  72. package/dist/cjs/components/Slider/Slider/useSlider.js.map +1 -0
  73. package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.d.ts +33 -0
  74. package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.js +73 -0
  75. package/dist/cjs/components/Slider/Slider/useSliderAutoPlay.js.map +1 -0
  76. package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.d.ts +38 -0
  77. package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.js +53 -0
  78. package/dist/cjs/components/Slider/Slider/useSliderBreakpoint.js.map +1 -0
  79. package/dist/cjs/components/Slider/Slider/useSliderDimension.d.ts +41 -0
  80. package/dist/cjs/components/Slider/Slider/useSliderDimension.js +91 -0
  81. package/dist/cjs/components/Slider/Slider/useSliderDimension.js.map +1 -0
  82. package/dist/cjs/components/Slider/Slider/useSliderDraggable.d.ts +43 -0
  83. package/dist/cjs/components/Slider/Slider/useSliderDraggable.js +146 -0
  84. package/dist/cjs/components/Slider/Slider/useSliderDraggable.js.map +1 -0
  85. package/dist/cjs/components/Slider/Slider/useSliderNavigation.d.ts +41 -0
  86. package/dist/cjs/components/Slider/Slider/useSliderNavigation.js +136 -0
  87. package/dist/cjs/components/Slider/Slider/useSliderNavigation.js.map +1 -0
  88. package/dist/cjs/components/Slider/Slider/useSliderTransform.d.ts +17 -0
  89. package/dist/cjs/components/Slider/Slider/useSliderTransform.js +71 -0
  90. package/dist/cjs/components/Slider/Slider/useSliderTransform.js.map +1 -0
  91. package/dist/cjs/components/Slider/useCenterMode.d.ts +24 -0
  92. package/dist/cjs/components/Slider/useCenterMode.js +40 -0
  93. package/dist/cjs/components/Slider/useCenterMode.js.map +1 -0
  94. package/dist/cjs/components/Slider/useSlider.d.ts +65 -0
  95. package/dist/cjs/components/Slider/useSlider.js +159 -0
  96. package/dist/cjs/components/Slider/useSlider.js.map +1 -0
  97. package/dist/cjs/components/Slider/useSliderAutoPlay.d.ts +33 -0
  98. package/dist/cjs/components/Slider/useSliderAutoPlay.js +73 -0
  99. package/dist/cjs/components/Slider/useSliderAutoPlay.js.map +1 -0
  100. package/dist/cjs/components/Slider/useSliderBreakpoint.d.ts +23 -0
  101. package/dist/cjs/components/Slider/useSliderBreakpoint.js +92 -0
  102. package/dist/cjs/components/Slider/useSliderBreakpoint.js.map +1 -0
  103. package/dist/cjs/components/Slider/useSliderDimension.d.ts +41 -0
  104. package/dist/cjs/components/Slider/useSliderDimension.js +92 -0
  105. package/dist/cjs/components/Slider/useSliderDimension.js.map +1 -0
  106. package/dist/cjs/components/Slider/useSliderDraggable.d.ts +43 -0
  107. package/dist/cjs/components/Slider/useSliderDraggable.js +146 -0
  108. package/dist/cjs/components/Slider/useSliderDraggable.js.map +1 -0
  109. package/dist/cjs/components/Slider/useSliderNavigation.d.ts +41 -0
  110. package/dist/cjs/components/Slider/useSliderNavigation.js +136 -0
  111. package/dist/cjs/components/Slider/useSliderNavigation.js.map +1 -0
  112. package/dist/cjs/components/Slider/useSliderTransform.d.ts +17 -0
  113. package/dist/cjs/components/Slider/useSliderTransform.js +71 -0
  114. package/dist/cjs/components/Slider/useSliderTransform.js.map +1 -0
  115. package/dist/cjs/components/TextInput.d.ts +30 -3
  116. package/dist/cjs/components/TextInput.js +31 -17
  117. package/dist/cjs/components/TextInput.js.map +1 -1
  118. package/dist/cjs/components/ThreeDotsLoader.d.ts +24 -0
  119. package/dist/cjs/components/ThreeDotsLoader.js +25 -0
  120. package/dist/cjs/components/ThreeDotsLoader.js.map +1 -0
  121. package/dist/cjs/constants/app.d.ts +2 -0
  122. package/dist/cjs/constants/app.js +3 -1
  123. package/dist/cjs/constants/app.js.map +1 -1
  124. package/dist/cjs/constants/icons.d.ts +7 -0
  125. package/dist/cjs/constants/icons.js +11 -0
  126. package/dist/cjs/constants/icons.js.map +1 -0
  127. package/dist/cjs/helpers/app.d.ts +39 -2
  128. package/dist/cjs/helpers/app.js +83 -5
  129. package/dist/cjs/helpers/app.js.map +1 -1
  130. package/dist/cjs/helpers/index.d.ts +1 -0
  131. package/dist/cjs/helpers/index.js +3 -0
  132. package/dist/cjs/helpers/index.js.map +1 -1
  133. package/dist/cjs/hooks/index.d.ts +1 -0
  134. package/dist/cjs/hooks/index.js +4 -0
  135. package/dist/cjs/hooks/index.js.map +1 -1
  136. package/dist/cjs/hooks/useLocalStorage.d.ts +7 -0
  137. package/dist/cjs/hooks/useLocalStorage.js +57 -0
  138. package/dist/cjs/hooks/useLocalStorage.js.map +1 -0
  139. package/dist/cjs/index.d.ts +20 -4
  140. package/dist/cjs/index.js +41 -7
  141. package/dist/cjs/index.js.map +1 -1
  142. package/dist/cjs/strings/en.d.ts +4 -1
  143. package/dist/cjs/strings/en.js +5 -2
  144. package/dist/cjs/strings/en.js.map +1 -1
  145. package/dist/esm/Utils/index.d.ts +4 -0
  146. package/dist/esm/Utils/index.js +5 -0
  147. package/dist/esm/Utils/index.js.map +1 -0
  148. package/dist/esm/components/Accordion.d.ts +33 -0
  149. package/dist/esm/components/Accordion.js +19 -0
  150. package/dist/esm/components/Accordion.js.map +1 -0
  151. package/dist/esm/components/Alert.d.ts +32 -0
  152. package/dist/esm/components/Alert.js +48 -0
  153. package/dist/esm/components/Alert.js.map +1 -0
  154. package/dist/esm/components/Badge.d.ts +22 -0
  155. package/dist/esm/components/Badge.js +34 -0
  156. package/dist/esm/components/Badge.js.map +1 -0
  157. package/dist/esm/components/BrokenPage.d.ts +35 -0
  158. package/dist/esm/components/BrokenPage.js +57 -0
  159. package/dist/esm/components/BrokenPage.js.map +1 -0
  160. package/dist/esm/components/Button.d.ts +29 -2
  161. package/dist/esm/components/Button.js +52 -2
  162. package/dist/esm/components/Button.js.map +1 -1
  163. package/dist/esm/components/Card.d.ts +77 -0
  164. package/dist/esm/components/Card.js +75 -0
  165. package/dist/esm/components/Card.js.map +1 -0
  166. package/dist/esm/components/Checkbox.d.ts +25 -0
  167. package/dist/esm/components/Checkbox.js +21 -0
  168. package/dist/esm/components/Checkbox.js.map +1 -0
  169. package/dist/esm/components/ConfirmPoup.d.ts +21 -0
  170. package/dist/esm/components/ConfirmPoup.js +45 -0
  171. package/dist/esm/components/ConfirmPoup.js.map +1 -0
  172. package/dist/esm/components/Dropdown.d.ts +35 -0
  173. package/dist/esm/components/Dropdown.js +52 -0
  174. package/dist/esm/components/Dropdown.js.map +1 -0
  175. package/dist/esm/components/Label.d.ts +1 -1
  176. package/dist/esm/components/Label.js +5 -5
  177. package/dist/esm/components/Label.js.map +1 -1
  178. package/dist/esm/components/MultiCheckbox.d.ts +39 -0
  179. package/dist/esm/components/MultiCheckbox.js +54 -0
  180. package/dist/esm/components/MultiCheckbox.js.map +1 -0
  181. package/dist/esm/components/MultiRadio.d.ts +30 -0
  182. package/dist/esm/components/MultiRadio.js +39 -0
  183. package/dist/esm/components/MultiRadio.js.map +1 -0
  184. package/dist/esm/components/NumberInput.d.ts +38 -0
  185. package/dist/esm/components/NumberInput.js +32 -0
  186. package/dist/esm/components/NumberInput.js.map +1 -0
  187. package/dist/esm/components/Radio.d.ts +24 -0
  188. package/dist/esm/components/Radio.js +22 -0
  189. package/dist/esm/components/Radio.js.map +1 -0
  190. package/dist/esm/components/RangeSlider.d.ts +30 -0
  191. package/dist/esm/components/RangeSlider.js +46 -0
  192. package/dist/esm/components/RangeSlider.js.map +1 -0
  193. package/dist/esm/components/RatingDisplay.d.ts +27 -0
  194. package/dist/esm/components/RatingDisplay.js +40 -0
  195. package/dist/esm/components/RatingDisplay.js.map +1 -0
  196. package/dist/esm/components/Select.d.ts +41 -0
  197. package/dist/esm/components/Select.js +46 -0
  198. package/dist/esm/components/Select.js.map +1 -0
  199. package/dist/esm/components/SkeletonLoader.d.ts +39 -0
  200. package/dist/esm/components/SkeletonLoader.js +74 -0
  201. package/dist/esm/components/SkeletonLoader.js.map +1 -0
  202. package/dist/esm/components/Slider/SlickSlider.d.ts +74 -0
  203. package/dist/esm/components/Slider/SlickSlider.js +208 -0
  204. package/dist/esm/components/Slider/SlickSlider.js.map +1 -0
  205. package/dist/esm/components/Slider/Slider/SlickSlider.d.ts +74 -0
  206. package/dist/esm/components/Slider/Slider/SlickSlider.js +209 -0
  207. package/dist/esm/components/Slider/Slider/SlickSlider.js.map +1 -0
  208. package/dist/esm/components/Slider/Slider/useCenterMode.d.ts +24 -0
  209. package/dist/esm/components/Slider/Slider/useCenterMode.js +38 -0
  210. package/dist/esm/components/Slider/Slider/useCenterMode.js.map +1 -0
  211. package/dist/esm/components/Slider/Slider/useSlider.d.ts +65 -0
  212. package/dist/esm/components/Slider/Slider/useSlider.js +162 -0
  213. package/dist/esm/components/Slider/Slider/useSlider.js.map +1 -0
  214. package/dist/esm/components/Slider/Slider/useSliderAutoPlay.d.ts +33 -0
  215. package/dist/esm/components/Slider/Slider/useSliderAutoPlay.js +71 -0
  216. package/dist/esm/components/Slider/Slider/useSliderAutoPlay.js.map +1 -0
  217. package/dist/esm/components/Slider/Slider/useSliderBreakpoint.d.ts +38 -0
  218. package/dist/esm/components/Slider/Slider/useSliderBreakpoint.js +51 -0
  219. package/dist/esm/components/Slider/Slider/useSliderBreakpoint.js.map +1 -0
  220. package/dist/esm/components/Slider/Slider/useSliderDimension.d.ts +41 -0
  221. package/dist/esm/components/Slider/Slider/useSliderDimension.js +89 -0
  222. package/dist/esm/components/Slider/Slider/useSliderDimension.js.map +1 -0
  223. package/dist/esm/components/Slider/Slider/useSliderDraggable.d.ts +43 -0
  224. package/dist/esm/components/Slider/Slider/useSliderDraggable.js +144 -0
  225. package/dist/esm/components/Slider/Slider/useSliderDraggable.js.map +1 -0
  226. package/dist/esm/components/Slider/Slider/useSliderNavigation.d.ts +41 -0
  227. package/dist/esm/components/Slider/Slider/useSliderNavigation.js +134 -0
  228. package/dist/esm/components/Slider/Slider/useSliderNavigation.js.map +1 -0
  229. package/dist/esm/components/Slider/Slider/useSliderTransform.d.ts +17 -0
  230. package/dist/esm/components/Slider/Slider/useSliderTransform.js +69 -0
  231. package/dist/esm/components/Slider/Slider/useSliderTransform.js.map +1 -0
  232. package/dist/esm/components/Slider/useCenterMode.d.ts +24 -0
  233. package/dist/esm/components/Slider/useCenterMode.js +38 -0
  234. package/dist/esm/components/Slider/useCenterMode.js.map +1 -0
  235. package/dist/esm/components/Slider/useSlider.d.ts +65 -0
  236. package/dist/esm/components/Slider/useSlider.js +157 -0
  237. package/dist/esm/components/Slider/useSlider.js.map +1 -0
  238. package/dist/esm/components/Slider/useSliderAutoPlay.d.ts +33 -0
  239. package/dist/esm/components/Slider/useSliderAutoPlay.js +71 -0
  240. package/dist/esm/components/Slider/useSliderAutoPlay.js.map +1 -0
  241. package/dist/esm/components/Slider/useSliderBreakpoint.d.ts +23 -0
  242. package/dist/esm/components/Slider/useSliderBreakpoint.js +90 -0
  243. package/dist/esm/components/Slider/useSliderBreakpoint.js.map +1 -0
  244. package/dist/esm/components/Slider/useSliderDimension.d.ts +41 -0
  245. package/dist/esm/components/Slider/useSliderDimension.js +90 -0
  246. package/dist/esm/components/Slider/useSliderDimension.js.map +1 -0
  247. package/dist/esm/components/Slider/useSliderDraggable.d.ts +43 -0
  248. package/dist/esm/components/Slider/useSliderDraggable.js +144 -0
  249. package/dist/esm/components/Slider/useSliderDraggable.js.map +1 -0
  250. package/dist/esm/components/Slider/useSliderNavigation.d.ts +41 -0
  251. package/dist/esm/components/Slider/useSliderNavigation.js +134 -0
  252. package/dist/esm/components/Slider/useSliderNavigation.js.map +1 -0
  253. package/dist/esm/components/Slider/useSliderTransform.d.ts +17 -0
  254. package/dist/esm/components/Slider/useSliderTransform.js +69 -0
  255. package/dist/esm/components/Slider/useSliderTransform.js.map +1 -0
  256. package/dist/esm/components/TextInput.d.ts +30 -3
  257. package/dist/esm/components/TextInput.js +33 -18
  258. package/dist/esm/components/TextInput.js.map +1 -1
  259. package/dist/esm/components/ThreeDotsLoader.d.ts +24 -0
  260. package/dist/esm/components/ThreeDotsLoader.js +23 -0
  261. package/dist/esm/components/ThreeDotsLoader.js.map +1 -0
  262. package/dist/esm/constants/app.d.ts +2 -0
  263. package/dist/esm/constants/app.js +2 -0
  264. package/dist/esm/constants/app.js.map +1 -1
  265. package/dist/esm/constants/icons.d.ts +7 -0
  266. package/dist/esm/constants/icons.js +9 -0
  267. package/dist/esm/constants/icons.js.map +1 -0
  268. package/dist/esm/helpers/app.d.ts +39 -2
  269. package/dist/esm/helpers/app.js +73 -3
  270. package/dist/esm/helpers/app.js.map +1 -1
  271. package/dist/esm/helpers/index.d.ts +1 -0
  272. package/dist/esm/helpers/index.js +1 -1
  273. package/dist/esm/helpers/index.js.map +1 -1
  274. package/dist/esm/hooks/index.d.ts +1 -0
  275. package/dist/esm/hooks/index.js +1 -1
  276. package/dist/esm/hooks/index.js.map +1 -1
  277. package/dist/esm/hooks/useLocalStorage.d.ts +7 -0
  278. package/dist/esm/hooks/useLocalStorage.js +54 -0
  279. package/dist/esm/hooks/useLocalStorage.js.map +1 -0
  280. package/dist/esm/index.d.ts +20 -4
  281. package/dist/esm/index.js +20 -4
  282. package/dist/esm/index.js.map +1 -1
  283. package/dist/esm/strings/en.d.ts +4 -1
  284. package/dist/esm/strings/en.js +4 -1
  285. package/dist/esm/strings/en.js.map +1 -1
  286. package/dist/package.json +13 -0
  287. package/package.json +63 -58
  288. package/dist/cjs/components/app.d.ts +0 -6
  289. package/dist/cjs/components/app.js +0 -22
  290. package/dist/cjs/components/app.js.map +0 -1
  291. package/dist/esm/components/Notification.d.ts +0 -1
  292. package/dist/esm/components/Notification.js +0 -46
  293. package/dist/esm/components/Notification.js.map +0 -1
  294. package/dist/esm/components/SwitchItem.d.ts +0 -8
  295. package/dist/esm/components/SwitchItem.js +0 -7
  296. package/dist/esm/components/SwitchItem.js.map +0 -1
  297. package/dist/esm/components/app.d.ts +0 -6
  298. package/dist/esm/components/app.js +0 -19
  299. package/dist/esm/components/app.js.map +0 -1
  300. package/dist/esm/constants/aap.d.ts +0 -1
  301. package/dist/esm/constants/aap.js +0 -2
  302. package/dist/esm/constants/aap.js.map +0 -1
@@ -1,9 +1,57 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = Button;
4
3
  var tslib_1 = require("tslib");
5
4
  var react_1 = tslib_1.__importDefault(require("react"));
6
- function Button() {
7
- return react_1.default.createElement("div", null);
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 Button(_a) {
9
+ var _b = _a.variant, variant = _b === void 0 ? 'primary' : _b, _c = _a.size, size = _c === void 0 ? undefined : _c, _d = _a.label, label = _d === void 0 ? '' : _d, _e = _a.icon, icon = _e === void 0 ? '' : _e, _f = _a.iconPosition, iconPosition = _f === void 0 ? 'right' : _f, _g = _a.disabled, disabled = _g === void 0 ? false : _g, _h = _a.loading, loading = _h === void 0 ? false : _h, _j = _a.type, type = _j === void 0 ? 'button' : _j, onClick = _a.onClick, _k = _a.classnames, classnames = _k === void 0 ? {} : _k, _l = _a.attributes, attributes = _l === void 0 ? {} : _l, _m = _a.children, children = _m === void 0 ? null : _m, rest = tslib_1.__rest(_a, ["variant", "size", "label", "icon", "iconPosition", "disabled", "loading", "type", "onClick", "classnames", "attributes", "children"]);
10
+ // Destructure classnames safely
11
+ var _o = (0, app_1.destructObj)(classnames), buttonClass = _o.button, iconClass = _o.icon, spinnerClass = _o.spinner, labelClass = _o.label;
12
+ // Destructure attributes safely
13
+ var _p = (0, app_1.destructObj)(attributes), buttonAttr = _p.button, iconAttr = _p.icon, spinnerAttr = _p.spinner, labelAttr = _p.label;
14
+ // Determine if button should be disabled (either explicitly disabled or loading)
15
+ var isDisabled = disabled || loading;
16
+ var iconMargin = iconPosition === 'right' ? 'ms-1' : 'me-1';
17
+ // Handle click event
18
+ function handleClick() {
19
+ if (!isDisabled && onClick) {
20
+ onClick();
21
+ }
22
+ }
23
+ // Render icon
24
+ function renderIcon() {
25
+ if ((0, app_1.isStrEmpty)(icon) || loading)
26
+ return null;
27
+ return react_1.default.createElement("i", tslib_1.__assign({ className: (0, clsx_1.default)(icon, iconMargin, iconClass) }, iconAttr));
28
+ }
29
+ // Render spinner
30
+ function renderSpinner() {
31
+ if (!loading)
32
+ return null;
33
+ return (react_1.default.createElement(react_bootstrap_1.Spinner, tslib_1.__assign({ as: 'span', animation: 'border', size: 'sm', role: 'status', className: (0, clsx_1.default)('me-2', spinnerClass) }, spinnerAttr)));
34
+ }
35
+ // Render label/text
36
+ function renderLabel() {
37
+ if ((0, app_1.isStrEmpty)(label))
38
+ return null;
39
+ return (react_1.default.createElement("span", tslib_1.__assign({ className: (0, clsx_1.default)(labelClass) }, labelAttr), label));
40
+ }
41
+ // Build button content based on icon position
42
+ function renderContent() {
43
+ if (children) {
44
+ // If children are provided, render them with optional icon
45
+ return children;
46
+ }
47
+ // Render label with icon based on position
48
+ return (react_1.default.createElement(react_1.default.Fragment, null,
49
+ iconPosition === 'left' && renderIcon(),
50
+ loading && renderSpinner(),
51
+ renderLabel(),
52
+ iconPosition === 'right' && renderIcon()));
53
+ }
54
+ return (react_1.default.createElement(react_bootstrap_1.Button, tslib_1.__assign({ variant: variant, size: size, type: type, disabled: isDisabled, onClick: handleClick, className: (0, clsx_1.default)(buttonClass), "aria-label": label }, buttonAttr, rest), renderContent()));
8
55
  }
56
+ exports.default = Button;
9
57
  //# sourceMappingURL=Button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button.tsx"],"names":[],"mappings":";;AAEA,yBAEC;;AAJD,wDAAgD;AAEhD,SAAwB,MAAM;IAC5B,OAAO,0CAAW,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/Button.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import React, { RefObject, type ReactElement } from 'react';
2
+ import { CardProps as BSCardProps } from 'react-bootstrap';
3
+ export type CardVariant = 'outlined' | 'filled' | 'elevated';
4
+ export type CardSize = 'small' | 'medium' | 'large';
5
+ export type BodySeqType = Array<'title' | 'subtitle' | 'text' | 'link' | 'button'>;
6
+ export interface TitleProps {
7
+ content: string;
8
+ as?: React.ElementType;
9
+ tooltipProps?: any;
10
+ }
11
+ export interface SubtitleProps {
12
+ content: string;
13
+ as?: React.ElementType;
14
+ }
15
+ export interface TextProps {
16
+ content: string;
17
+ as?: React.ElementType;
18
+ }
19
+ export interface LinkProps {
20
+ href: string;
21
+ content: string;
22
+ target?: string;
23
+ as?: React.ElementType;
24
+ }
25
+ export interface ButtonProps {
26
+ content: string;
27
+ as?: React.ElementType;
28
+ [key: string]: any;
29
+ }
30
+ export interface CardImageProps {
31
+ alt: string;
32
+ src: string;
33
+ variant?: 'top' | 'bottom' | string;
34
+ height?: string;
35
+ width?: string;
36
+ className?: string;
37
+ style?: React.CSSProperties;
38
+ }
39
+ export interface CardBodyProps {
40
+ cardBodyProps?: React.HTMLAttributes<HTMLElement>;
41
+ titleProps?: TitleProps;
42
+ subtitleProps?: SubtitleProps;
43
+ textProps?: TextProps;
44
+ linkProps?: LinkProps;
45
+ btnProps?: ButtonProps;
46
+ }
47
+ export interface CardClassNames {
48
+ body?: string;
49
+ card?: string;
50
+ footer?: string;
51
+ header?: string;
52
+ image?: string;
53
+ link?: string;
54
+ subtitle?: string;
55
+ text?: string;
56
+ title?: string;
57
+ button?: string;
58
+ }
59
+ export interface CardHeaderFooterProps {
60
+ content: string;
61
+ as?: React.ElementType;
62
+ [key: string]: any;
63
+ }
64
+ export interface CardProps extends BSCardProps {
65
+ classnames?: CardClassNames;
66
+ headerProps?: CardHeaderFooterProps;
67
+ footerProps?: CardHeaderFooterProps;
68
+ imgProps?: CardImageProps;
69
+ bodyProps?: CardBodyProps;
70
+ bodySeq?: BodySeqType;
71
+ renderBody?: () => React.ReactElement | null;
72
+ renderHeader?: () => React.ReactElement | null;
73
+ renderFooter?: () => React.ReactElement | null;
74
+ ref?: RefObject<HTMLElement | null>;
75
+ }
76
+ declare function Card({ headerProps, footerProps, imgProps, className, bodyProps, classnames, bodySeq, children, renderBody, renderHeader, renderFooter, ref, ...rest }: CardProps): ReactElement;
77
+ export default Card;
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var clsx_1 = tslib_1.__importDefault(require("clsx"));
5
+ var react_1 = tslib_1.__importDefault(require("react"));
6
+ var react_bootstrap_1 = require("react-bootstrap");
7
+ // ================= MAIN FUNCTION COMPONENT =================
8
+ function Card(_a) {
9
+ var headerProps = _a.headerProps, footerProps = _a.footerProps, imgProps = _a.imgProps, className = _a.className, bodyProps = _a.bodyProps, _b = _a.classnames, classnames = _b === void 0 ? {} : _b, bodySeq = _a.bodySeq, children = _a.children, renderBody = _a.renderBody, renderHeader = _a.renderHeader, renderFooter = _a.renderFooter, ref = _a.ref, rest = tslib_1.__rest(_a, ["headerProps", "footerProps", "imgProps", "className", "bodyProps", "classnames", "bodySeq", "children", "renderBody", "renderHeader", "renderFooter", "ref"]);
10
+ // Directly use classnames (defaults to {})
11
+ function renderBodySequence(bodyProps, seq, classnames) {
12
+ if (classnames === void 0) { classnames = {}; }
13
+ if (!bodyProps || !seq)
14
+ return null;
15
+ var linkClass = classnames.link, subtitleClass = classnames.subtitle, textClass = classnames.text, titleClass = classnames.title, buttonClass = classnames.button;
16
+ return seq.map(function (type, i) {
17
+ switch (type) {
18
+ case 'title':
19
+ return renderBodyTitle(bodyProps, titleClass, i);
20
+ case 'subtitle':
21
+ return renderBodySubtitle(bodyProps, subtitleClass, i);
22
+ case 'text':
23
+ return renderBodyText(bodyProps, textClass, i);
24
+ case 'link':
25
+ return renderBodyLinks(bodyProps, linkClass, i);
26
+ case 'button':
27
+ return renderBodyButton(bodyProps, buttonClass, i);
28
+ default:
29
+ return null;
30
+ }
31
+ });
32
+ }
33
+ function renderBodyLinks(bodyProps, linkClass, i) {
34
+ if (!(bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.linkProps))
35
+ return null;
36
+ var Tag = bodyProps.linkProps.as || 'a';
37
+ return (react_1.default.createElement(react_bootstrap_1.Card.Link, tslib_1.__assign({ key: i, as: Tag, className: linkClass }, bodyProps.linkProps), bodyProps.linkProps.content));
38
+ }
39
+ function renderBodyTitle(bodyProps, titleClass, i) {
40
+ var _a;
41
+ if (!((_a = bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.titleProps) === null || _a === void 0 ? void 0 : _a.content))
42
+ return null;
43
+ var TitleTag = bodyProps.titleProps.as || 'h5';
44
+ return (react_1.default.createElement(react_bootstrap_1.Card.Title, { key: i, as: TitleTag, className: titleClass }, bodyProps.titleProps.content));
45
+ }
46
+ function renderBodySubtitle(bodyProps, subtitleClass, i) {
47
+ var _a;
48
+ if (!((_a = bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.subtitleProps) === null || _a === void 0 ? void 0 : _a.content))
49
+ return null;
50
+ var SubTag = bodyProps.subtitleProps.as || 'h6';
51
+ return (react_1.default.createElement(react_bootstrap_1.Card.Subtitle, { key: i, as: SubTag, className: subtitleClass }, bodyProps.subtitleProps.content));
52
+ }
53
+ function renderBodyText(bodyProps, textClass, i) {
54
+ if (!(bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.textProps))
55
+ return null;
56
+ var Tag = bodyProps.textProps.as || 'div';
57
+ return (react_1.default.createElement(react_bootstrap_1.Card.Text, { key: i, as: Tag, className: textClass }, bodyProps.textProps.content));
58
+ }
59
+ function renderBodyButton(bodyProps, buttonClass, i) {
60
+ var _a;
61
+ if (!((_a = bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.btnProps) === null || _a === void 0 ? void 0 : _a.content))
62
+ return null;
63
+ var BtnTag = bodyProps.btnProps.as || 'button';
64
+ return (react_1.default.createElement(BtnTag, tslib_1.__assign({ key: i, className: buttonClass }, bodyProps.btnProps), bodyProps.btnProps.content));
65
+ }
66
+ return (react_1.default.createElement(react_bootstrap_1.Card, tslib_1.__assign({ className: (0, clsx_1.default)(className, classnames.card), ref: ref }, rest),
67
+ renderHeader
68
+ ? renderHeader()
69
+ : (headerProps === null || headerProps === void 0 ? void 0 : headerProps.content) && react_1.default.createElement(react_bootstrap_1.Card.Header, { className: classnames.header }, headerProps.content),
70
+ (imgProps === null || imgProps === void 0 ? void 0 : imgProps.src) && react_1.default.createElement(react_bootstrap_1.CardImg, tslib_1.__assign({}, imgProps, { className: classnames.image })),
71
+ react_1.default.createElement(react_bootstrap_1.Card.Body, tslib_1.__assign({ className: classnames.body }, bodyProps === null || bodyProps === void 0 ? void 0 : bodyProps.cardBodyProps), renderBody ? renderBody() : renderBodySequence(bodyProps, bodySeq, classnames) || children),
72
+ renderFooter
73
+ ? renderFooter()
74
+ : (footerProps === null || footerProps === void 0 ? void 0 : footerProps.content) && react_1.default.createElement(react_bootstrap_1.Card.Footer, { className: classnames.footer }, footerProps.content)));
75
+ }
76
+ exports.default = Card;
77
+ //# sourceMappingURL=Card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../src/components/Card.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type ChangeEvent, type ReactElement } from 'react';
2
+ import { type LabelProps } from './Label';
3
+ interface Classnames {
4
+ wrapper?: string;
5
+ input?: string;
6
+ }
7
+ interface Attributes {
8
+ wrapper?: object;
9
+ input?: object;
10
+ }
11
+ export interface CheckboxProps {
12
+ id?: string;
13
+ name?: string;
14
+ disable?: boolean;
15
+ inline?: boolean;
16
+ classnames?: Classnames;
17
+ attributes?: Attributes;
18
+ labelProps?: LabelProps;
19
+ onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
20
+ onBlur?: (event: ChangeEvent<HTMLInputElement>) => void;
21
+ isValid?: boolean;
22
+ isInvalid?: boolean;
23
+ }
24
+ declare function Checkbox({ id, name, disable, inline, labelProps, classnames, attributes, onChange, onBlur, isValid, isInvalid, ...rest }: CheckboxProps): ReactElement;
25
+ export default Checkbox;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var react_1 = tslib_1.__importDefault(require("react"));
5
+ var react_bootstrap_1 = require("react-bootstrap");
6
+ var app_1 = require("../helpers/app");
7
+ var Label_1 = tslib_1.__importDefault(require("./Label"));
8
+ var clsx_1 = tslib_1.__importDefault(require("clsx"));
9
+ function Checkbox(_a) {
10
+ var id = _a.id, name = _a.name, _b = _a.disable, disable = _b === void 0 ? false : _b, _c = _a.inline, inline = _c === void 0 ? false : _c, labelProps = _a.labelProps, classnames = _a.classnames, attributes = _a.attributes, onChange = _a.onChange, onBlur = _a.onBlur, isValid = _a.isValid, isInvalid = _a.isInvalid, rest = tslib_1.__rest(_a, ["id", "name", "disable", "inline", "labelProps", "classnames", "attributes", "onChange", "onBlur", "isValid", "isInvalid"]);
11
+ var _d = (0, app_1.destructObj)(classnames), inputClass = _d.input, wrapperClass = _d.wrapper;
12
+ var _e = (0, app_1.destructObj)(attributes), inputAttr = _e.input, wrapperAttr = _e.wrapper;
13
+ function renderLabel() {
14
+ if ((0, app_1.isStrEmpty)(labelProps === null || labelProps === void 0 ? void 0 : labelProps.label))
15
+ return null;
16
+ return react_1.default.createElement(Label_1.default, tslib_1.__assign({ id: id }, labelProps));
17
+ }
18
+ return (react_1.default.createElement(react_bootstrap_1.Form.Check, tslib_1.__assign({ type: 'checkbox', id: id, name: name, disabled: disable, inline: inline, className: wrapperClass }, wrapperAttr, rest),
19
+ react_1.default.createElement(react_bootstrap_1.Form.Check.Input, tslib_1.__assign({ type: 'checkbox', isValid: isValid, isInvalid: isInvalid, className: (0, clsx_1.default)('me-2', inputClass), onChange: onChange, onBlur: onBlur }, inputAttr)),
20
+ renderLabel()));
21
+ }
22
+ exports.default = Checkbox;
23
+ //# sourceMappingURL=Checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/components/Checkbox.tsx"],"names":[],"mappings":";;;AAAA,wDAAkE;AAClE,mDAAsC;AACtC,sCAAwD;AACxD,0DAAgD;AAChD,sDAAuB;AA0BvB,SAAS,QAAQ,CAAC,EAaF;IAZd,IAAA,EAAE,QAAA,EACF,IAAI,UAAA,EACJ,eAAe,EAAf,OAAO,mBAAG,KAAK,KAAA,EACf,cAAc,EAAd,MAAM,mBAAG,KAAK,KAAA,EACd,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,OAAO,aAAA,EACP,SAAS,eAAA,EACN,IAAI,sBAZS,2HAajB,CADQ;IAED,IAAA,KAA+C,IAAA,iBAAW,EAAC,UAAU,CAAC,EAA7D,UAAU,WAAA,EAAW,YAAY,aAA4B,CAAA;IACtE,IAAA,KAA6C,IAAA,iBAAW,EAAC,UAAU,CAAC,EAA3D,SAAS,WAAA,EAAW,WAAW,aAA4B,CAAA;IAE1E,SAAS,WAAW;QAClB,IAAI,IAAA,gBAAU,EAAC,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QAC9C,OAAO,8BAAC,eAAK,qBAAC,EAAE,EAAE,EAAE,IAAM,UAAU,EAAI,CAAA;IAC1C,CAAC;IAED,OAAO,CACL,8BAAC,sBAAI,CAAC,KAAK,qBACT,IAAI,EAAC,UAAU,EACf,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY,IACnB,WAAW,EACX,IAAI;QAER,8BAAC,sBAAI,CAAC,KAAK,CAAC,KAAK,qBACf,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,IAAA,cAAI,EAAC,MAAM,EAAE,UAAU,CAAC,EACnC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,IACV,SAAS,EACb;QACD,WAAW,EAAE,CACH,CACd,CAAA;AACH,CAAC;AAED,kBAAe,QAAQ,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { type ReactElement } from 'react';
2
+ import { type ButtonProps } from './Button';
3
+ import { type AlertProps } from './Alert';
4
+ export interface ConfirmPoupProps {
5
+ icon?: string;
6
+ title?: string;
7
+ description?: string;
8
+ message?: string;
9
+ subtitle?: string;
10
+ alertProps?: AlertProps;
11
+ callback?: (response?: boolean) => void;
12
+ renderBody?: () => ReactElement | null;
13
+ renderTitle?: () => ReactElement | null;
14
+ btnsProps?: {
15
+ submit?: ButtonProps;
16
+ cancel?: ButtonProps;
17
+ };
18
+ show?: boolean;
19
+ }
20
+ declare function ConfirmPoup({ show, title, description, subtitle, message, icon, callback, btnsProps, renderBody, renderTitle, }: ConfirmPoupProps): ReactElement | null;
21
+ export default ConfirmPoup;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var react_1 = tslib_1.__importDefault(require("react"));
5
+ var clsx_1 = tslib_1.__importDefault(require("clsx"));
6
+ var Modal_1 = tslib_1.__importDefault(require("react-bootstrap/Modal"));
7
+ var Button_1 = tslib_1.__importDefault(require("./Button"));
8
+ var helpers_1 = require("../helpers");
9
+ var Badge_1 = tslib_1.__importDefault(require("./Badge"));
10
+ function ConfirmPoup(_a) {
11
+ var _b, _c;
12
+ var _d = _a.show, show = _d === void 0 ? false : _d, _e = _a.title, title = _e === void 0 ? undefined : _e, _f = _a.description, description = _f === void 0 ? undefined : _f, _g = _a.subtitle, subtitle = _g === void 0 ? undefined : _g, _h = _a.message, message = _h === void 0 ? undefined : _h, _j = _a.icon, icon = _j === void 0 ? 'bi bi-trash' : _j, callback = _a.callback, _k = _a.btnsProps, btnsProps = _k === void 0 ? undefined : _k, _l = _a.renderBody, renderBody = _l === void 0 ? undefined : _l, _m = _a.renderTitle, renderTitle = _m === void 0 ? undefined : _m;
13
+ // Destruct button props safely
14
+ var _o = (0, helpers_1.destructObj)(btnsProps), submit = _o.submit, cancel = _o.cancel;
15
+ function hidePopup() {
16
+ callback === null || callback === void 0 ? void 0 : callback(false);
17
+ }
18
+ function showPopup() {
19
+ callback === null || callback === void 0 ? void 0 : callback(true);
20
+ }
21
+ function renderPopupTitle() {
22
+ if (renderTitle) {
23
+ return renderTitle();
24
+ }
25
+ if ((0, helpers_1.isStrNotEmpty)(title)) {
26
+ return react_1.default.createElement(Modal_1.default.Title, null, title);
27
+ }
28
+ return null;
29
+ }
30
+ function renderPopupBody() {
31
+ return (react_1.default.createElement(Modal_1.default.Body, null,
32
+ renderPopupTitle(),
33
+ (0, helpers_1.isStrNotEmpty)(description) && react_1.default.createElement("p", null, description),
34
+ (0, helpers_1.isStrNotEmpty)(subtitle) && react_1.default.createElement("p", null, subtitle),
35
+ (0, helpers_1.isStrNotEmpty)(message) && react_1.default.createElement("p", null, message),
36
+ renderBody && renderBody()));
37
+ }
38
+ return (react_1.default.createElement(Modal_1.default, { show: show, onHide: hidePopup, className: 'farm-popup overflow-hidden' },
39
+ react_1.default.createElement(Modal_1.default.Header, { closeButton: true },
40
+ react_1.default.createElement(Badge_1.default, { icon: icon, classnames: { badge: 'p-15 rounded-3 fs-18' }, variant: 'danger' })),
41
+ renderPopupBody(),
42
+ react_1.default.createElement(Modal_1.default.Footer, null,
43
+ react_1.default.createElement(Button_1.default, tslib_1.__assign({ variant: 'white', label: (0, helpers_1.translate)('cancel'), onClick: hidePopup, classnames: tslib_1.__assign({ button: (0, clsx_1.default)((_b = cancel === null || cancel === void 0 ? void 0 : cancel.classnames) === null || _b === void 0 ? void 0 : _b.button, 'flex-grow-1') }, cancel === null || cancel === void 0 ? void 0 : cancel.classnames) }, cancel)),
44
+ react_1.default.createElement(Button_1.default, tslib_1.__assign({ variant: 'primary', label: (0, helpers_1.translate)('yes'), onClick: showPopup, classnames: tslib_1.__assign({ button: (0, clsx_1.default)((_c = cancel === null || cancel === void 0 ? void 0 : cancel.classnames) === null || _c === void 0 ? void 0 : _c.button, 'flex-grow-1') }, cancel === null || cancel === void 0 ? void 0 : cancel.classnames) }, submit)))));
45
+ }
46
+ exports.default = ConfirmPoup;
47
+ //# sourceMappingURL=ConfirmPoup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfirmPoup.js","sourceRoot":"","sources":["../../../src/components/ConfirmPoup.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { ReactElement, ReactNode, RefObject, CSSProperties } from 'react';
2
+ import { type DropdownProps as BSDropdownProps, type DropdownToggleProps, type TooltipProps } from 'react-bootstrap';
3
+ export interface DropdownClassNames {
4
+ wrapper?: string;
5
+ toggleBtn?: string;
6
+ menu?: string;
7
+ }
8
+ export interface DropdownAttributes {
9
+ wrapper?: object;
10
+ toggleBtn?: object;
11
+ menu?: object;
12
+ }
13
+ export interface DropdownProps {
14
+ renderDropdownContent?: (options?: object[]) => ReactElement[] | ReactElement | null;
15
+ show?: boolean;
16
+ onSelect?: (eventKey: string | null, event?: object) => void;
17
+ options?: object[];
18
+ toggleBtnContent?: ReactNode;
19
+ menuStyle?: CSSProperties;
20
+ onToggle?: BSDropdownProps['onToggle'];
21
+ tooltipProps?: TooltipProps;
22
+ classnames?: DropdownClassNames;
23
+ showMenu?: boolean;
24
+ menuWidth?: 'auto' | 'min-width' | 'equal';
25
+ preventScrollJitter?: boolean;
26
+ portalTarget?: HTMLElement;
27
+ attributes?: DropdownAttributes;
28
+ toggleBtnProps?: DropdownToggleProps;
29
+ drop?: 'up' | 'up-centered' | 'start' | 'end' | 'down' | 'down-centered';
30
+ ref?: RefObject<HTMLButtonElement>;
31
+ autoClose?: true | 'outside' | 'inside' | false;
32
+ variant?: 'default' | 'icon';
33
+ }
34
+ declare function Dropdown({ renderDropdownContent, show, onSelect, options, toggleBtnContent, menuStyle, onToggle, classnames, showMenu, menuWidth, portalTarget, attributes, toggleBtnProps, drop, autoClose, ref, }: DropdownProps): ReactElement;
35
+ export default Dropdown;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var react_1 = tslib_1.__importDefault(require("react"));
5
+ var react_dom_1 = tslib_1.__importDefault(require("react-dom"));
6
+ var clsx_1 = tslib_1.__importDefault(require("clsx"));
7
+ var react_bootstrap_1 = require("react-bootstrap");
8
+ var helpers_1 = require("../helpers");
9
+ function Dropdown(_a) {
10
+ var renderDropdownContent = _a.renderDropdownContent, show = _a.show, onSelect = _a.onSelect, _b = _a.options, options = _b === void 0 ? [] : _b, toggleBtnContent = _a.toggleBtnContent, menuStyle = _a.menuStyle, onToggle = _a.onToggle, _c = _a.classnames, classnames = _c === void 0 ? {} : _c, showMenu = _a.showMenu, _d = _a.menuWidth, menuWidth = _d === void 0 ? 'auto' : _d, _e = _a.portalTarget, portalTarget = _e === void 0 ? document.body : _e, _f = _a.attributes, attributes = _f === void 0 ? {} : _f, toggleBtnProps = _a.toggleBtnProps, _g = _a.drop, drop = _g === void 0 ? 'down' : _g, _h = _a.autoClose, autoClose = _h === void 0 ? true : _h, ref = _a.ref;
11
+ // Desturct props
12
+ var _j = (0, helpers_1.destructObj)(classnames), wrapperClass = _j.wrapper, toggleBtnClass = _j.toggleBtn, menuClass = _j.menu;
13
+ var _k = (0, helpers_1.destructObj)(attributes), wrapperAttr = _k.wrapper, toggleBtnAttr = _k.toggleBtn, menuAttr = _k.menu;
14
+ /**
15
+ * Compute menu width style based on menuWidth prop
16
+ */
17
+ function getComputedMenuStyle() {
18
+ var baseStyle = tslib_1.__assign({}, menuStyle);
19
+ if (menuWidth === 'equal') {
20
+ return tslib_1.__assign(tslib_1.__assign({}, baseStyle), { width: '100%' });
21
+ }
22
+ if (menuWidth === 'min-width') {
23
+ return tslib_1.__assign(tslib_1.__assign({}, baseStyle), { minWidth: '100%' });
24
+ }
25
+ return baseStyle;
26
+ }
27
+ /**
28
+ * Render Dropdown Menu
29
+ */
30
+ function renderDropdownMenu() {
31
+ return (react_1.default.createElement(react_bootstrap_1.Dropdown.Menu, tslib_1.__assign({ className: menuClass, style: getComputedMenuStyle(), show: showMenu }, menuAttr), renderDropdownContent === null || renderDropdownContent === void 0 ? void 0 : renderDropdownContent(options)));
32
+ }
33
+ /**
34
+ * Render Dropdown Toggle Button
35
+ */
36
+ function renderToggleButton() {
37
+ return (react_1.default.createElement(react_bootstrap_1.Dropdown.Toggle, tslib_1.__assign({ ref: ref, className: toggleBtnClass }, toggleBtnProps, toggleBtnAttr), toggleBtnContent !== null && toggleBtnContent !== void 0 ? toggleBtnContent : 'Dropdown'));
38
+ }
39
+ /**
40
+ * Render Menu with optional portal
41
+ */
42
+ function renderMenuWithPortal() {
43
+ var menu = renderDropdownMenu();
44
+ if (portalTarget) {
45
+ return react_dom_1.default.createPortal(menu, portalTarget);
46
+ }
47
+ return menu;
48
+ }
49
+ return (react_1.default.createElement(react_bootstrap_1.Dropdown, tslib_1.__assign({ show: show, onToggle: onToggle, onSelect: onSelect, drop: drop, className: (0, clsx_1.default)('farm-dropdown', wrapperClass), autoClose: autoClose }, wrapperAttr),
50
+ renderToggleButton(),
51
+ renderMenuWithPortal()));
52
+ }
53
+ exports.default = Dropdown;
54
+ //# sourceMappingURL=Dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../../src/components/Dropdown.tsx"],"names":[],"mappings":";;;AAAA,wDAAgF;AAChF,gEAAgC;AAChC,sDAAuB;AAEvB,mDAKwB;AACxB,sCAAwC;AAoCxC,SAAS,QAAQ,CAAC,EAiBF;QAhBd,qBAAqB,2BAAA,EACrB,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,eAAY,EAAZ,OAAO,mBAAG,EAAE,KAAA,EACZ,gBAAgB,sBAAA,EAChB,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,kBAAe,EAAf,UAAU,mBAAG,EAAE,KAAA,EACf,QAAQ,cAAA,EACR,iBAAkB,EAAlB,SAAS,mBAAG,MAAM,KAAA,EAClB,oBAA4B,EAA5B,YAAY,mBAAG,QAAQ,CAAC,IAAI,KAAA,EAC5B,kBAAe,EAAf,UAAU,mBAAG,EAAE,KAAA,EACf,cAAc,oBAAA,EACd,YAAa,EAAb,IAAI,mBAAG,MAAM,KAAA,EACb,iBAAgB,EAAhB,SAAS,mBAAG,IAAI,KAAA,EAChB,GAAG,SAAA;IAEH,iBAAiB;IACX,IAAA,KAAwE,IAAA,qBAAW,EAAC,UAAU,CAAC,EAApF,YAAY,aAAA,EAAa,cAAc,eAAA,EAAQ,SAAS,UAA4B,CAAA;IAC/F,IAAA,KAAqE,IAAA,qBAAW,EAAC,UAAU,CAAC,EAAjF,WAAW,aAAA,EAAa,aAAa,eAAA,EAAQ,QAAQ,UAA4B,CAAA;IAElG;;OAEG;IACH,SAAS,oBAAoB;QAC3B,IAAM,SAAS,wBAAQ,SAAS,CAAE,CAAA;QAElC,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YAC1B,6CAAY,SAAS,KAAE,KAAK,EAAE,MAAM,IAAE;QACxC,CAAC;QAED,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;YAC9B,6CAAY,SAAS,KAAE,QAAQ,EAAE,MAAM,IAAE;QAC3C,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAED;;OAEG;IACH,SAAS,kBAAkB;QACzB,OAAO,CACL,8BAAC,0BAAU,CAAC,IAAI,qBAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,IAAM,QAAQ,GAC/F,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAG,OAAO,CAAC,CACjB,CACnB,CAAA;IACH,CAAC;IAED;;OAEG;IACH,SAAS,kBAAkB;QACzB,OAAO,CACL,8BAAC,0BAAU,CAAC,MAAM,qBAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,cAAc,IAAM,cAAc,EAAM,aAAa,GAC1F,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,UAAU,CACb,CACrB,CAAA;IACH,CAAC;IAED;;OAEG;IACH,SAAS,oBAAoB;QAC3B,IAAM,IAAI,GAAG,kBAAkB,EAAE,CAAA;QAEjC,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,mBAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;QAClD,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,8BAAC,0BAAU,qBACT,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,IAAA,cAAI,EAAC,eAAe,EAAE,YAAY,CAAC,EAC9C,SAAS,EAAE,SAAS,IAChB,WAAW;QAEd,kBAAkB,EAAE;QACpB,oBAAoB,EAAE,CACZ,CACd,CAAA;AACH,CAAC;AAED,kBAAe,QAAQ,CAAA"}
@@ -10,5 +10,5 @@ export interface LabelProps {
10
10
  tooltip?: string | ReactElement;
11
11
  classnames?: Classnames;
12
12
  }
13
- declare function Label({ id, label, icon, tooltip, classnames }: LabelProps): ReactElement | null;
13
+ declare function Label({ id, label, icon, tooltip, classnames, }: LabelProps): ReactElement | null;
14
14
  export default Label;
@@ -6,14 +6,14 @@ 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");
8
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;
9
+ var id = _a.id, label = _a.label, _b = _a.icon, icon = _b === void 0 ? 'bi-info-circle' : _b, tooltip = _a.tooltip, _c = _a.classnames, classnames = _c === void 0 ? undefined : _c;
10
10
  // Destructure classnames safely
11
- var _c = (0, app_1.destructObj)(classnames), labelClass = _c.label, iconClass = _c.icon;
11
+ var _d = (0, app_1.destructObj)(classnames), labelClass = _d.label, iconClass = _d.icon;
12
12
  /** Renders the label icon */
13
- var renderLabelIcon = function () { return react_1.default.createElement("i", { className: (0, clsx_1.default)(icon, iconClass, { 'ms-2': tooltip }) }); };
13
+ var renderLabelIcon = function () { return react_1.default.createElement("i", { className: (0, clsx_1.default)(icon, iconClass, { 'ms-5': tooltip }) }); };
14
14
  if (!label)
15
15
  return null;
16
- return (react_1.default.createElement("label", { htmlFor: id, className: (0, clsx_1.default)(labelClass, 'form-label', {
16
+ return (react_1.default.createElement(react_bootstrap_1.Form.Label, { htmlFor: id, className: (0, clsx_1.default)(labelClass, 'form-label', {
17
17
  'd-flex align-items-center': !!icon,
18
18
  }) },
19
19
  label,
@@ -1 +1 @@
1
- {"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../src/components/Label.tsx"],"names":[],"mappings":";;;AAAA,wDAAgD;AAChD,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,qCAAG,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,yCACE,OAAO,EAAE,EAAE,EACX,SAAS,EAAE,IAAA,cAAI,EAAC,UAAU,EAAE,YAAY,EAAE;YACxC,2BAA2B,EAAE,CAAC,CAAC,IAAI;SACpC,CAAC;QAED,KAAK;QACL,OAAO,CAAC,CAAC,CAAC,CACT,8BAAC,gCAAc,IAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,8BAAC,yBAAO,IAAC,SAAS,EAAC,kBAAkB,IAAE,OAAO,CAAW,IAC/F,eAAe,EAAE,CACH,CAClB,CAAC,CAAC,CAAC,CACF,eAAe,EAAE,CAClB,CACK,CACT,CAAA;AACH,CAAC;AAED,kBAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../src/components/Label.tsx"],"names":[],"mappings":";;;AAAA,wDAAgD;AAChD,sDAAuB;AACvB,mDAA+D;AAC/D,sCAA4C;AAe5C,SAAS,KAAK,CAAC,EAMF;QALX,EAAE,QAAA,EACF,KAAK,WAAA,EACL,YAAuB,EAAvB,IAAI,mBAAG,gBAAgB,KAAA,EACvB,OAAO,aAAA,EACP,kBAAsB,EAAtB,UAAU,mBAAG,SAAS,KAAA;IAEtB,gCAAgC;IAC1B,IAAA,KAAyC,IAAA,iBAAW,EAAC,UAAU,CAAC,EAAvD,UAAU,WAAA,EAAQ,SAAS,UAA4B,CAAA;IAEtE,6BAA6B;IAC7B,IAAM,eAAe,GAAG,cAAoB,OAAA,qCAAG,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,8BAAC,sBAAI,CAAC,KAAK,IACT,OAAO,EAAE,EAAE,EACX,SAAS,EAAE,IAAA,cAAI,EAAC,UAAU,EAAE,YAAY,EAAE;YACxC,2BAA2B,EAAE,CAAC,CAAC,IAAI;SACpC,CAAC;QAED,KAAK;QACL,OAAO,CAAC,CAAC,CAAC,CACT,8BAAC,gCAAc,IAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,8BAAC,yBAAO,IAAC,SAAS,EAAC,kBAAkB,IAAE,OAAO,CAAW,IAC/F,eAAe,EAAE,CACH,CAClB,CAAC,CAAC,CAAC,CACF,eAAe,EAAE,CAClB,CACU,CACd,CAAA;AACH,CAAC;AAED,kBAAe,KAAK,CAAA"}
@@ -0,0 +1,39 @@
1
+ import React, { type ReactElement } from 'react';
2
+ import Checkbox from './Checkbox';
3
+ import { type LabelProps } from './Label';
4
+ export type ReturnTypeOption = 'value' | 'object';
5
+ export interface MultiCheckboxClassnames {
6
+ checkboxLabel?: string;
7
+ description?: string;
8
+ errorMessage?: string;
9
+ wrapper?: string;
10
+ input?: string;
11
+ }
12
+ export interface MultiCheckboxAttributes {
13
+ wrapper?: object;
14
+ checkbox?: object;
15
+ }
16
+ export interface MultiCheckboxProps<T = any> extends Omit<React.ComponentProps<typeof Checkbox>, 'onChange'> {
17
+ classnames?: MultiCheckboxClassnames;
18
+ inline?: boolean;
19
+ rtl?: boolean;
20
+ labelProps?: LabelProps;
21
+ onChange?: (value: T[] | Array<string | number> | null) => void;
22
+ returnType?: ReturnTypeOption;
23
+ checkedValues?: Array<string | number>;
24
+ idKey?: string;
25
+ valueKey?: string;
26
+ labelKey?: string;
27
+ name: string;
28
+ data: T[];
29
+ description?: string;
30
+ keyExtractor?: (dataItem: T, index: number) => React.Key;
31
+ attributes?: MultiCheckboxAttributes;
32
+ validations?: object;
33
+ requiredFields?: string[];
34
+ stripDescHTML?: boolean;
35
+ disabledValues?: Array<string | number>;
36
+ renderLabel?: (dataItem: T, label: string | number) => string;
37
+ }
38
+ declare function MultiCheckbox<T = object[]>({ classnames, inline, rtl, labelProps, onChange, returnType, checkedValues, idKey, valueKey, labelKey, name, data, description, keyExtractor, attributes, validations, requiredFields, stripDescHTML, disabledValues, renderLabel, ...rest }: MultiCheckboxProps<T>): ReactElement;
39
+ export default MultiCheckbox;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ var react_1 = tslib_1.__importStar(require("react"));
5
+ var clsx_1 = tslib_1.__importDefault(require("clsx"));
6
+ var Checkbox_1 = tslib_1.__importDefault(require("./Checkbox"));
7
+ var Label_1 = tslib_1.__importDefault(require("./Label"));
8
+ function MultiCheckbox(_a) {
9
+ var _b = _a.classnames, classnames = _b === void 0 ? {} : _b, _c = _a.inline, inline = _c === void 0 ? true : _c, _d = _a.rtl, rtl = _d === void 0 ? false : _d, labelProps = _a.labelProps, onChange = _a.onChange, _e = _a.returnType, returnType = _e === void 0 ? 'value' : _e, _f = _a.checkedValues, checkedValues = _f === void 0 ? [] : _f, _g = _a.idKey, idKey = _g === void 0 ? 'id' : _g, _h = _a.valueKey, valueKey = _h === void 0 ? 'value' : _h, _j = _a.labelKey, labelKey = _j === void 0 ? 'label' : _j, name = _a.name, data = _a.data, description = _a.description, keyExtractor = _a.keyExtractor, _k = _a.attributes, attributes = _k === void 0 ? {} : _k, validations = _a.validations, _l = _a.requiredFields, requiredFields = _l === void 0 ? [] : _l, _m = _a.stripDescHTML, stripDescHTML = _m === void 0 ? false : _m, _o = _a.disabledValues, disabledValues = _o === void 0 ? [] : _o, renderLabel = _a.renderLabel, rest = tslib_1.__rest(_a, ["classnames", "inline", "rtl", "labelProps", "onChange", "returnType", "checkedValues", "idKey", "valueKey", "labelKey", "name", "data", "description", "keyExtractor", "attributes", "validations", "requiredFields", "stripDescHTML", "disabledValues", "renderLabel"]);
10
+ var _p = (0, react_1.useState)(checkedValues), selected = _p[0], setSelected = _p[1];
11
+ /* Sync external checkedValues */
12
+ (0, react_1.useEffect)(function () {
13
+ setSelected(checkedValues);
14
+ }, [checkedValues]);
15
+ /* Handle Change */
16
+ function handleChange(value, checked) {
17
+ var updated;
18
+ if (checked) {
19
+ updated = tslib_1.__spreadArray(tslib_1.__spreadArray([], selected, true), [value], false);
20
+ }
21
+ else {
22
+ updated = selected.filter(function (v) { return v !== value; });
23
+ }
24
+ setSelected(updated);
25
+ if (returnType === 'object') {
26
+ var selectedObjects = data.filter(function (d) { return updated.includes(d[valueKey]); });
27
+ onChange === null || onChange === void 0 ? void 0 : onChange(selectedObjects.length ? selectedObjects : null);
28
+ }
29
+ else {
30
+ onChange === null || onChange === void 0 ? void 0 : onChange(updated.length ? updated : null);
31
+ }
32
+ }
33
+ /* Render Description */
34
+ function renderDescription() {
35
+ if (!description)
36
+ return null;
37
+ return react_1.default.createElement("p", { className: classnames.description }, description);
38
+ }
39
+ /* Render Checkboxes */
40
+ function renderCheckboxes() {
41
+ return data.map(function (item, index) {
42
+ var itemId = item[idKey];
43
+ var itemValue = item[valueKey];
44
+ var label = renderLabel ? renderLabel(item, item[labelKey]) : item[labelKey];
45
+ var key = keyExtractor ? keyExtractor(item, index) : (itemId !== null && itemId !== void 0 ? itemId : index);
46
+ var isDisabled = disabledValues.includes(itemValue) || (requiredFields.length > 0 && requiredFields.includes(itemValue));
47
+ return (react_1.default.createElement(Checkbox_1.default, tslib_1.__assign({ id: itemId, key: key, name: name, inline: inline, disable: isDisabled, labelProps: { label: label }, classnames: { input: classnames.input }, attributes: { wrapper: attributes.checkbox }, onChange: function (e) { return handleChange(itemValue, e.target.checked); } }, rest)));
48
+ });
49
+ }
50
+ return (react_1.default.createElement("div", tslib_1.__assign({ className: (0, clsx_1.default)(classnames.wrapper, { rtl: rtl }) }, attributes.wrapper),
51
+ labelProps && react_1.default.createElement(Label_1.default, tslib_1.__assign({}, labelProps)),
52
+ renderDescription(),
53
+ renderCheckboxes()));
54
+ }
55
+ exports.default = MultiCheckbox;
56
+ //# sourceMappingURL=MultiCheckbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiCheckbox.js","sourceRoot":"","sources":["../../../src/components/MultiCheckbox.tsx"],"names":[],"mappings":"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"}