@bigbinary/neetoui 6.5.10 → 6.5.11-beta.1

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 (371) hide show
  1. package/dist/Accordion.js +152 -0
  2. package/dist/Accordion.js.map +1 -0
  3. package/dist/ActionDropdown.js +75 -0
  4. package/dist/ActionDropdown.js.map +1 -0
  5. package/dist/Alert.js +112 -0
  6. package/dist/Alert.js.map +1 -0
  7. package/dist/Avatar.js +97 -0
  8. package/dist/Avatar.js.map +1 -0
  9. package/dist/Button.js +219 -0
  10. package/dist/Button.js.map +1 -0
  11. package/dist/Callout.js +39 -0
  12. package/dist/Callout.js.map +1 -0
  13. package/dist/Checkbox.js +65 -0
  14. package/dist/Checkbox.js.map +1 -0
  15. package/dist/ColorPicker.js +1408 -0
  16. package/dist/ColorPicker.js.map +1 -0
  17. package/dist/DatePicker.js +290 -0
  18. package/dist/DatePicker.js.map +1 -0
  19. package/dist/DateTimePicker.js +163 -0
  20. package/dist/DateTimePicker.js.map +1 -0
  21. package/dist/Dropdown.js +303 -0
  22. package/dist/Dropdown.js.map +1 -0
  23. package/dist/Input.js +158 -0
  24. package/dist/Input.js.map +1 -0
  25. package/dist/Kbd.js +24 -0
  26. package/dist/Kbd.js.map +1 -0
  27. package/dist/Label.js +46 -0
  28. package/dist/Label.js.map +1 -0
  29. package/dist/Modal.js +166 -0
  30. package/dist/Modal.js.map +1 -0
  31. package/dist/MultiEmailInput.js +307 -0
  32. package/dist/MultiEmailInput.js.map +1 -0
  33. package/dist/NoData.js +81 -0
  34. package/dist/NoData.js.map +1 -0
  35. package/dist/Pagination.js +178 -0
  36. package/dist/Pagination.js.map +1 -0
  37. package/dist/Pane.js +160 -0
  38. package/dist/Pane.js.map +1 -0
  39. package/dist/Popover.js +44 -0
  40. package/dist/Popover.js.map +1 -0
  41. package/dist/Radio.js +100 -0
  42. package/dist/Radio.js.map +1 -0
  43. package/dist/Select.js +281 -0
  44. package/dist/Select.js.map +1 -0
  45. package/dist/Sidebar.js +378 -0
  46. package/dist/Sidebar.js.map +1 -0
  47. package/dist/Slider.js +110 -0
  48. package/dist/Slider.js.map +1 -0
  49. package/dist/Spinner.js +36 -0
  50. package/dist/Spinner.js.map +1 -0
  51. package/dist/Stepper.js +35 -0
  52. package/dist/Stepper.js.map +1 -0
  53. package/dist/Switch.js +84 -0
  54. package/dist/Switch.js.map +1 -0
  55. package/dist/Tab.js +74 -0
  56. package/dist/Tab.js.map +1 -0
  57. package/dist/Table.js +887 -0
  58. package/dist/Table.js.map +1 -0
  59. package/dist/Tag.js +89 -0
  60. package/dist/Tag.js.map +1 -0
  61. package/dist/Textarea.js +143 -0
  62. package/dist/Textarea.js.map +1 -0
  63. package/dist/TimePicker.js +174 -0
  64. package/dist/TimePicker.js.map +1 -0
  65. package/dist/TimePickerInput.js +25 -0
  66. package/dist/TimePickerInput.js.map +1 -0
  67. package/dist/Toastr.js +393 -0
  68. package/dist/Toastr.js.map +1 -0
  69. package/dist/Tooltip.js +8 -0
  70. package/dist/Tooltip.js.map +1 -0
  71. package/dist/Tree.js +48 -0
  72. package/dist/Tree.js.map +1 -0
  73. package/dist/TreeSelect.js +108 -0
  74. package/dist/TreeSelect.js.map +1 -0
  75. package/dist/Typography.js +142 -0
  76. package/dist/Typography.js.map +1 -0
  77. package/dist/cjs/Accordion.js +158 -0
  78. package/dist/cjs/Accordion.js.map +1 -0
  79. package/dist/cjs/ActionDropdown.js +81 -0
  80. package/dist/cjs/ActionDropdown.js.map +1 -0
  81. package/dist/cjs/Alert.js +118 -0
  82. package/dist/cjs/Alert.js.map +1 -0
  83. package/dist/cjs/Avatar.js +104 -0
  84. package/dist/cjs/Avatar.js.map +1 -0
  85. package/dist/cjs/Button.js +225 -0
  86. package/dist/cjs/Button.js.map +1 -0
  87. package/dist/cjs/Callout.js +45 -0
  88. package/dist/cjs/Callout.js.map +1 -0
  89. package/dist/cjs/Checkbox.js +71 -0
  90. package/dist/cjs/Checkbox.js.map +1 -0
  91. package/dist/cjs/ColorPicker.js +1414 -0
  92. package/dist/cjs/ColorPicker.js.map +1 -0
  93. package/dist/cjs/DatePicker.js +298 -0
  94. package/dist/cjs/DatePicker.js.map +1 -0
  95. package/dist/cjs/DateTimePicker.js +169 -0
  96. package/dist/cjs/DateTimePicker.js.map +1 -0
  97. package/dist/cjs/Dropdown.js +309 -0
  98. package/dist/cjs/Dropdown.js.map +1 -0
  99. package/dist/cjs/Input.js +164 -0
  100. package/dist/cjs/Input.js.map +1 -0
  101. package/dist/cjs/Kbd.js +30 -0
  102. package/dist/cjs/Kbd.js.map +1 -0
  103. package/dist/cjs/Label.js +52 -0
  104. package/dist/cjs/Label.js.map +1 -0
  105. package/dist/cjs/Modal.js +172 -0
  106. package/dist/cjs/Modal.js.map +1 -0
  107. package/dist/cjs/MultiEmailInput.js +314 -0
  108. package/dist/cjs/MultiEmailInput.js.map +1 -0
  109. package/dist/cjs/NoData.js +87 -0
  110. package/dist/cjs/NoData.js.map +1 -0
  111. package/dist/cjs/Pagination.js +184 -0
  112. package/dist/cjs/Pagination.js.map +1 -0
  113. package/dist/cjs/Pane.js +166 -0
  114. package/dist/cjs/Pane.js.map +1 -0
  115. package/dist/cjs/Popover.js +50 -0
  116. package/dist/cjs/Popover.js.map +1 -0
  117. package/dist/cjs/Radio.js +106 -0
  118. package/dist/cjs/Radio.js.map +1 -0
  119. package/dist/cjs/Select.js +291 -0
  120. package/dist/cjs/Select.js.map +1 -0
  121. package/dist/cjs/Sidebar.js +384 -0
  122. package/dist/cjs/Sidebar.js.map +1 -0
  123. package/dist/cjs/Slider.js +118 -0
  124. package/dist/cjs/Slider.js.map +1 -0
  125. package/dist/cjs/Spinner.js +42 -0
  126. package/dist/cjs/Spinner.js.map +1 -0
  127. package/dist/cjs/Stepper.js +41 -0
  128. package/dist/cjs/Stepper.js.map +1 -0
  129. package/dist/cjs/Switch.js +90 -0
  130. package/dist/cjs/Switch.js.map +1 -0
  131. package/dist/cjs/Tab.js +80 -0
  132. package/dist/cjs/Tab.js.map +1 -0
  133. package/dist/cjs/Table.js +896 -0
  134. package/dist/cjs/Table.js.map +1 -0
  135. package/dist/cjs/Tag.js +95 -0
  136. package/dist/cjs/Tag.js.map +1 -0
  137. package/dist/cjs/Textarea.js +149 -0
  138. package/dist/cjs/Textarea.js.map +1 -0
  139. package/dist/cjs/TimePicker.js +182 -0
  140. package/dist/cjs/TimePicker.js.map +1 -0
  141. package/dist/cjs/TimePickerInput.js +31 -0
  142. package/dist/cjs/TimePickerInput.js.map +1 -0
  143. package/dist/cjs/Toastr.js +417 -0
  144. package/dist/cjs/Toastr.js.map +1 -0
  145. package/dist/cjs/Tooltip.js +14 -0
  146. package/dist/cjs/Tooltip.js.map +1 -0
  147. package/dist/cjs/Tree.js +56 -0
  148. package/dist/cjs/Tree.js.map +1 -0
  149. package/dist/cjs/TreeSelect.js +116 -0
  150. package/dist/cjs/TreeSelect.js.map +1 -0
  151. package/dist/cjs/Typography.js +148 -0
  152. package/dist/cjs/Typography.js.map +1 -0
  153. package/dist/cjs/createClass-80e17c6a.js +31 -0
  154. package/dist/cjs/createClass-80e17c6a.js.map +1 -0
  155. package/dist/cjs/defineProperty-ee86604b.js +21 -0
  156. package/dist/cjs/defineProperty-ee86604b.js.map +1 -0
  157. package/dist/cjs/extends-1b35a664.js +19 -0
  158. package/dist/cjs/extends-1b35a664.js.map +1 -0
  159. package/dist/cjs/formik/ActionBlock.js +58 -0
  160. package/dist/cjs/formik/ActionBlock.js.map +1 -0
  161. package/dist/cjs/formik/BlockNavigation.js +127 -0
  162. package/dist/cjs/formik/BlockNavigation.js.map +1 -0
  163. package/dist/cjs/formik/Button.js +44 -0
  164. package/dist/cjs/formik/Button.js.map +1 -0
  165. package/dist/cjs/formik/Checkbox.js +61 -0
  166. package/dist/cjs/formik/Checkbox.js.map +1 -0
  167. package/dist/cjs/formik/Form.js +197 -0
  168. package/dist/cjs/formik/Form.js.map +1 -0
  169. package/dist/cjs/formik/Input.js +59 -0
  170. package/dist/cjs/formik/Input.js.map +1 -0
  171. package/dist/cjs/formik/MultiEmailInput.js +58 -0
  172. package/dist/cjs/formik/MultiEmailInput.js.map +1 -0
  173. package/dist/cjs/formik/Radio.js +61 -0
  174. package/dist/cjs/formik/Radio.js.map +1 -0
  175. package/dist/cjs/formik/Select.js +106 -0
  176. package/dist/cjs/formik/Select.js.map +1 -0
  177. package/dist/cjs/formik/Slider.js +64 -0
  178. package/dist/cjs/formik/Slider.js.map +1 -0
  179. package/dist/cjs/formik/Switch.js +52 -0
  180. package/dist/cjs/formik/Switch.js.map +1 -0
  181. package/dist/cjs/formik/Textarea.js +60 -0
  182. package/dist/cjs/formik/Textarea.js.map +1 -0
  183. package/dist/cjs/formik/TreeSelect.js +56 -0
  184. package/dist/cjs/formik/TreeSelect.js.map +1 -0
  185. package/dist/cjs/formik/index.js +84 -0
  186. package/dist/cjs/formik/index.js.map +1 -0
  187. package/dist/cjs/index-302c3d37.js +58 -0
  188. package/dist/cjs/index-302c3d37.js.map +1 -0
  189. package/dist/cjs/index-5d74cfeb.js +375 -0
  190. package/dist/cjs/index-5d74cfeb.js.map +1 -0
  191. package/dist/cjs/index-63580e68.js +92 -0
  192. package/dist/cjs/index-63580e68.js.map +1 -0
  193. package/dist/cjs/index-6e09c7bc.js +2211 -0
  194. package/dist/cjs/index-6e09c7bc.js.map +1 -0
  195. package/dist/cjs/index-773961dd.js +453 -0
  196. package/dist/cjs/index-773961dd.js.map +1 -0
  197. package/dist/cjs/index-a8cc581e.js +2383 -0
  198. package/dist/cjs/index-a8cc581e.js.map +1 -0
  199. package/dist/cjs/index-b1ac86d6.js +258 -0
  200. package/dist/cjs/index-b1ac86d6.js.map +1 -0
  201. package/dist/cjs/index.js +99 -13808
  202. package/dist/cjs/index.js.map +1 -1
  203. package/dist/cjs/layouts.js +19 -363
  204. package/dist/cjs/layouts.js.map +1 -1
  205. package/dist/cjs/managers.js +3 -2
  206. package/dist/cjs/managers.js.map +1 -1
  207. package/dist/cjs/objectWithoutProperties-2fed2d7d.js +33 -0
  208. package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +1 -0
  209. package/dist/cjs/{overlayManager-a0827ae7.js → overlayManager.js} +5 -2
  210. package/dist/cjs/overlayManager.js.map +1 -0
  211. package/dist/cjs/slicedToArray-732a2048.js +63 -0
  212. package/dist/cjs/slicedToArray-732a2048.js.map +1 -0
  213. package/dist/cjs/toConsumableArray-418424fc.js +23 -0
  214. package/dist/cjs/toConsumableArray-418424fc.js.map +1 -0
  215. package/dist/cjs/{createClass-ca103cfb.js → toPropertyKey-bfa2e465.js} +1 -27
  216. package/dist/cjs/toPropertyKey-bfa2e465.js.map +1 -0
  217. package/dist/cjs/useId-4e3deb5c.js +11 -0
  218. package/dist/cjs/useId-4e3deb5c.js.map +1 -0
  219. package/dist/cjs/useOverlayManager-359ed795.js +1602 -0
  220. package/dist/cjs/useOverlayManager-359ed795.js.map +1 -0
  221. package/dist/cjs/useQueryParams-14f054b3.js +18 -0
  222. package/dist/cjs/useQueryParams-14f054b3.js.map +1 -0
  223. package/dist/cjs/useSyncedRef-9c3dcd03.js +19 -0
  224. package/dist/cjs/useSyncedRef-9c3dcd03.js.map +1 -0
  225. package/dist/createClass-601a36b2.js +28 -0
  226. package/dist/createClass-601a36b2.js.map +1 -0
  227. package/dist/defineProperty-e5245270.js +19 -0
  228. package/dist/defineProperty-e5245270.js.map +1 -0
  229. package/dist/extends-093996c9.js +17 -0
  230. package/dist/extends-093996c9.js.map +1 -0
  231. package/dist/formik/ActionBlock.js +52 -0
  232. package/dist/formik/ActionBlock.js.map +1 -0
  233. package/dist/formik/BlockNavigation.js +121 -0
  234. package/dist/formik/BlockNavigation.js.map +1 -0
  235. package/dist/formik/Button.js +38 -0
  236. package/dist/formik/Button.js.map +1 -0
  237. package/dist/formik/Checkbox.js +55 -0
  238. package/dist/formik/Checkbox.js.map +1 -0
  239. package/dist/formik/Form.js +191 -0
  240. package/dist/formik/Form.js.map +1 -0
  241. package/dist/formik/Input.js +53 -0
  242. package/dist/formik/Input.js.map +1 -0
  243. package/dist/formik/MultiEmailInput.js +52 -0
  244. package/dist/formik/MultiEmailInput.js.map +1 -0
  245. package/dist/formik/Radio.js +55 -0
  246. package/dist/formik/Radio.js.map +1 -0
  247. package/dist/formik/Select.js +100 -0
  248. package/dist/formik/Select.js.map +1 -0
  249. package/dist/formik/Slider.js +58 -0
  250. package/dist/formik/Slider.js.map +1 -0
  251. package/dist/formik/Switch.js +46 -0
  252. package/dist/formik/Switch.js.map +1 -0
  253. package/dist/formik/Textarea.js +54 -0
  254. package/dist/formik/Textarea.js.map +1 -0
  255. package/dist/formik/TreeSelect.js +50 -0
  256. package/dist/formik/TreeSelect.js.map +1 -0
  257. package/dist/formik/index.js +64 -0
  258. package/dist/formik/index.js.map +1 -0
  259. package/dist/index-283bc6a6.js +90 -0
  260. package/dist/index-283bc6a6.js.map +1 -0
  261. package/dist/index-34956d66.js +372 -0
  262. package/dist/index-34956d66.js.map +1 -0
  263. package/dist/index-3659771d.js +56 -0
  264. package/dist/index-3659771d.js.map +1 -0
  265. package/dist/index-7fae3611.js +2381 -0
  266. package/dist/index-7fae3611.js.map +1 -0
  267. package/dist/index-b3a8dd29.js +249 -0
  268. package/dist/index-b3a8dd29.js.map +1 -0
  269. package/dist/index-c442518b.js +445 -0
  270. package/dist/index-c442518b.js.map +1 -0
  271. package/dist/index-c8d9113c.js +2193 -0
  272. package/dist/index-c8d9113c.js.map +1 -0
  273. package/dist/index.js +79 -13767
  274. package/dist/index.js.map +1 -1
  275. package/dist/layouts.js +19 -363
  276. package/dist/layouts.js.map +1 -1
  277. package/dist/managers.js +3 -2
  278. package/dist/managers.js.map +1 -1
  279. package/dist/objectWithoutProperties-a0edb288.js +31 -0
  280. package/dist/objectWithoutProperties-a0edb288.js.map +1 -0
  281. package/dist/{overlayManager-4d5be56b.js → overlayManager.js} +4 -3
  282. package/dist/overlayManager.js.map +1 -0
  283. package/dist/slicedToArray-45fa766e.js +57 -0
  284. package/dist/slicedToArray-45fa766e.js.map +1 -0
  285. package/dist/toConsumableArray-1186e144.js +20 -0
  286. package/dist/toConsumableArray-1186e144.js.map +1 -0
  287. package/dist/toPropertyKey-bdc24cb9.js +28 -0
  288. package/dist/toPropertyKey-bdc24cb9.js.map +1 -0
  289. package/dist/useId-c1d20bba.js +9 -0
  290. package/dist/useId-c1d20bba.js.map +1 -0
  291. package/dist/useOverlayManager-95a474d5.js +1591 -0
  292. package/dist/useOverlayManager-95a474d5.js.map +1 -0
  293. package/dist/useQueryParams-4e7ddcf8.js +16 -0
  294. package/dist/useQueryParams-4e7ddcf8.js.map +1 -0
  295. package/dist/useSyncedRef-226a3dbc.js +17 -0
  296. package/dist/useSyncedRef-226a3dbc.js.map +1 -0
  297. package/formik.d.ts +26 -51
  298. package/index.d.ts +75 -834
  299. package/package.json +26 -4
  300. package/types/Accordion.d.ts +26 -0
  301. package/types/ActionDropdown.d.ts +21 -0
  302. package/types/Alert.d.ts +23 -0
  303. package/types/Avatar.d.ts +17 -0
  304. package/types/Button.d.ts +32 -0
  305. package/types/Callout.d.ts +13 -0
  306. package/types/Checkbox.d.ts +18 -0
  307. package/types/ColorPicker.d.ts +21 -0
  308. package/types/DatePicker.d.ts +30 -0
  309. package/types/DateTimePicker.d.ts +26 -0
  310. package/types/Dropdown.d.ts +77 -0
  311. package/types/Input.d.ts +27 -0
  312. package/types/Kbd.d.ts +11 -0
  313. package/types/Label.d.ts +19 -0
  314. package/types/Modal.d.ts +10 -0
  315. package/types/MultiEmailInput.d.ts +25 -0
  316. package/types/NoData.d.ts +14 -0
  317. package/types/Pagination.d.ts +11 -0
  318. package/types/Pane.d.ts +11 -0
  319. package/types/Popover.d.ts +32 -0
  320. package/types/Popup.d.ts +17 -0
  321. package/types/Radio.d.ts +24 -0
  322. package/types/Select.d.ts +27 -0
  323. package/types/Slider.d.ts +12 -0
  324. package/types/Spinner.d.ts +9 -0
  325. package/types/Stepper.d.ts +10 -0
  326. package/types/Switch.d.ts +20 -0
  327. package/types/Tab.d.ts +24 -0
  328. package/types/Table.d.ts +41 -0
  329. package/types/Tag.d.ts +27 -0
  330. package/types/Textarea.d.ts +22 -0
  331. package/types/TimePicker.d.ts +28 -0
  332. package/types/TimePickerInput.d.ts +22 -0
  333. package/types/Toastr.d.ts +20 -0
  334. package/types/Tooltip.d.ts +31 -0
  335. package/types/Tree.d.ts +62 -0
  336. package/types/TreeSelect.d.ts +40 -0
  337. package/types/Typography.d.ts +64 -0
  338. package/types/formik/ActionBlock.d.ts +11 -0
  339. package/types/formik/BlockNavigation.d.ts +9 -0
  340. package/types/formik/Button.d.ts +1 -0
  341. package/types/formik/Checkbox.d.ts +1 -0
  342. package/types/formik/Form.d.ts +13 -0
  343. package/types/formik/Input.d.ts +1 -0
  344. package/types/formik/MultiEmailInput.d.ts +1 -0
  345. package/types/formik/Radio.d.ts +1 -0
  346. package/types/formik/Select.d.ts +1 -0
  347. package/types/formik/Slider.d.ts +1 -0
  348. package/types/formik/Switch.d.ts +1 -0
  349. package/types/formik/Textarea.d.ts +1 -0
  350. package/types/formik/TreeSelect.d.ts +1 -0
  351. package/dist/TreeSelect-54c59138.js +0 -22106
  352. package/dist/TreeSelect-54c59138.js.map +0 -1
  353. package/dist/Typography-6b2170d4.js +0 -6439
  354. package/dist/Typography-6b2170d4.js.map +0 -1
  355. package/dist/cjs/TreeSelect-40898804.js +0 -22161
  356. package/dist/cjs/TreeSelect-40898804.js.map +0 -1
  357. package/dist/cjs/Typography-3f90f925.js +0 -6472
  358. package/dist/cjs/Typography-3f90f925.js.map +0 -1
  359. package/dist/cjs/createClass-ca103cfb.js.map +0 -1
  360. package/dist/cjs/formik.js +0 -624
  361. package/dist/cjs/formik.js.map +0 -1
  362. package/dist/cjs/index-099304bb.js +0 -104
  363. package/dist/cjs/index-099304bb.js.map +0 -1
  364. package/dist/cjs/overlayManager-a0827ae7.js.map +0 -1
  365. package/dist/createClass-27bd48bc.js +0 -52
  366. package/dist/createClass-27bd48bc.js.map +0 -1
  367. package/dist/formik.js +0 -604
  368. package/dist/formik.js.map +0 -1
  369. package/dist/index-ed90c85d.js +0 -98
  370. package/dist/index-ed90c85d.js.map +0 -1
  371. package/dist/overlayManager-4d5be56b.js.map +0 -1
@@ -0,0 +1,163 @@
1
+ import { _ as _extends } from './extends-093996c9.js';
2
+ import { _ as _defineProperty } from './defineProperty-e5245270.js';
3
+ import { _ as _slicedToArray } from './slicedToArray-45fa766e.js';
4
+ import React__default, { useState, useEffect } from 'react';
5
+ import { c as classnames } from './index-3659771d.js';
6
+ import { d as dayjs, h as hyphenize, n as noop } from './index-c8d9113c.js';
7
+ import { c as customParseFormat, T as TimePickerInput } from './index-b3a8dd29.js';
8
+ import { isPresent, isNotPresent } from '@bigbinary/neeto-cist';
9
+ import DatePicker from './DatePicker.js';
10
+ import Label from './Label.js';
11
+ import { u as useId } from './useId-c1d20bba.js';
12
+ import 'react-router-dom';
13
+ import './index-7fae3611.js';
14
+ import './overlayManager.js';
15
+ import './toPropertyKey-bdc24cb9.js';
16
+ import './createClass-601a36b2.js';
17
+ import 'util';
18
+ import 'ramda';
19
+ import './objectWithoutProperties-a0edb288.js';
20
+ import '@wojtekmaj/react-timerange-picker';
21
+ import 'react-time-picker';
22
+ import '@bigbinary/neeto-icons';
23
+ import 'antd/lib/date-picker';
24
+ import './useSyncedRef-226a3dbc.js';
25
+ import 'antd/lib/config-provider';
26
+ import './index-c442518b.js';
27
+ import 'tippy.js';
28
+ import 'react-dom';
29
+
30
+ var DATE_FORMAT = "YYYY-MM-DD";
31
+ var TIME_FORMAT = "HH:mm";
32
+ var getDateTime = function getDateTime(date, time) {
33
+ if (isPresent(date) && isPresent(time)) {
34
+ return dayjs("".concat(date.format(DATE_FORMAT), " ").concat(time.format(TIME_FORMAT)));
35
+ }
36
+ return null;
37
+ };
38
+ var getAllowedTime = function getAllowedTime(date, time, minDateTime, maxDateTime) {
39
+ var newTime = getDateTime(date, time || dayjs());
40
+ if (isPresent(minDateTime) && date !== null && date !== void 0 && date.isSame(minDateTime, "day") && newTime !== null && newTime !== void 0 && newTime.isBefore(minDateTime)) {
41
+ return minDateTime;
42
+ }
43
+ if (isPresent(maxDateTime) && date !== null && date !== void 0 && date.isSame(maxDateTime, "day") && newTime !== null && newTime !== void 0 && newTime.isAfter(maxDateTime)) {
44
+ return maxDateTime;
45
+ }
46
+ return newTime;
47
+ };
48
+ var getTime = function getTime(date) {
49
+ return date === null || date === void 0 ? void 0 : date.format(TIME_FORMAT);
50
+ };
51
+
52
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
53
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
54
+ dayjs.extend(customParseFormat);
55
+ var DateTimePicker = function DateTimePicker(_ref) {
56
+ var _ref$className = _ref.className,
57
+ className = _ref$className === void 0 ? "" : _ref$className,
58
+ _ref$label = _ref.label,
59
+ label = _ref$label === void 0 ? "" : _ref$label,
60
+ size = _ref.size,
61
+ dropdownClassName = _ref.dropdownClassName,
62
+ popupClassName = _ref.popupClassName,
63
+ dateFormat = _ref.dateFormat,
64
+ _ref$onChange = _ref.onChange,
65
+ onChange = _ref$onChange === void 0 ? noop : _ref$onChange,
66
+ _ref$nakedInput = _ref.nakedInput,
67
+ nakedInput = _ref$nakedInput === void 0 ? false : _ref$nakedInput,
68
+ _ref$error = _ref.error,
69
+ error = _ref$error === void 0 ? "" : _ref$error,
70
+ defaultValue = _ref.defaultValue,
71
+ value = _ref.value,
72
+ labelProps = _ref.labelProps,
73
+ _ref$required = _ref.required,
74
+ required = _ref$required === void 0 ? false : _ref$required,
75
+ id = _ref.id,
76
+ datePickerProps = _ref.datePickerProps,
77
+ timePickerProps = _ref.timePickerProps,
78
+ minDateTime = _ref.minDateTime,
79
+ maxDateTime = _ref.maxDateTime,
80
+ _ref$onTimeInputBlur = _ref.onTimeInputBlur,
81
+ onTimeInputBlur = _ref$onTimeInputBlur === void 0 ? noop : _ref$onTimeInputBlur,
82
+ _ref$onBlur = _ref.onBlur,
83
+ onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur;
84
+ var _useState = useState(),
85
+ _useState2 = _slicedToArray(_useState, 2),
86
+ date = _useState2[0],
87
+ setDate = _useState2[1];
88
+ var _useState3 = useState(),
89
+ _useState4 = _slicedToArray(_useState3, 2),
90
+ time = _useState4[0],
91
+ setTime = _useState4[1];
92
+ var _useState5 = useState(),
93
+ _useState6 = _slicedToArray(_useState5, 2),
94
+ changedField = _useState6[0],
95
+ setChangedField = _useState6[1];
96
+ var timeRef = React__default.useRef(null);
97
+ var defaultId = useId(id);
98
+ var errorId = "error_".concat(defaultId);
99
+ useEffect(function () {
100
+ var inputValue = value || defaultValue;
101
+ if (isPresent(inputValue) && dayjs(inputValue).isValid()) {
102
+ var dateTime = dayjs.isDayjs(inputValue) ? inputValue : dayjs(inputValue);
103
+ setDate(dateTime);
104
+ setTime(dateTime);
105
+ }
106
+ }, [value, defaultValue]);
107
+ useEffect(function () {
108
+ if (isNotPresent(changedField)) return;
109
+ onChange(getDateTime(date, time), changedField);
110
+ setChangedField(); // reset to avoid unnecessary trigger on rerender
111
+ }, [date, time, changedField]);
112
+ var handleDateChange = function handleDateChange(newDate) {
113
+ var _timeRef$current;
114
+ (_timeRef$current = timeRef.current) === null || _timeRef$current === void 0 || (_timeRef$current = _timeRef$current.querySelector(".react-time-picker__inputGroup__hour")) === null || _timeRef$current === void 0 || _timeRef$current.focus();
115
+ setDate(newDate);
116
+ setTime(getAllowedTime(newDate, time, minDateTime, maxDateTime));
117
+ setChangedField("date");
118
+ };
119
+ var handleTimeChange = function handleTimeChange(newTime) {
120
+ setTime(newTime.isValid() ? newTime : null);
121
+ if (newTime.isValid() && !date) setDate(newTime);
122
+ setChangedField("time");
123
+ };
124
+ var handleTimeBlur = function handleTimeBlur() {
125
+ var dateTime = getDateTime(date, time);
126
+ onTimeInputBlur(dateTime);
127
+ onBlur(dateTime);
128
+ };
129
+ return /*#__PURE__*/React__default.createElement("div", {
130
+ className: "neeto-ui-input__wrapper"
131
+ }, label && /*#__PURE__*/React__default.createElement(Label, _objectSpread({
132
+ required: required
133
+ }, labelProps), label), /*#__PURE__*/React__default.createElement("div", {
134
+ className: classnames("neeto-ui-date-time-input", className)
135
+ }, /*#__PURE__*/React__default.createElement(DatePicker, _extends({
136
+ dateFormat: dateFormat,
137
+ dropdownClassName: dropdownClassName,
138
+ nakedInput: nakedInput,
139
+ popupClassName: popupClassName,
140
+ size: size,
141
+ error: !!error,
142
+ maxDate: maxDateTime,
143
+ minDate: minDateTime,
144
+ picker: "date",
145
+ showTime: false,
146
+ type: "date",
147
+ value: date,
148
+ onChange: handleDateChange
149
+ }, datePickerProps)), /*#__PURE__*/React__default.createElement(TimePickerInput, _extends(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({
150
+ error: error,
151
+ nakedInput: nakedInput,
152
+ size: size
153
+ }, "error", !!error), "maxTime", (date === null || date === void 0 ? void 0 : date.isSame(maxDateTime, "day")) && getTime(maxDateTime)), "minTime", (date === null || date === void 0 ? void 0 : date.isSame(minDateTime, "day")) && getTime(minDateTime)), "ref", timeRef), "value", time), "onBlur", handleTimeBlur), "onChange", handleTimeChange), timePickerProps))), !!error && /*#__PURE__*/React__default.createElement("p", {
154
+ className: "neeto-ui-input__error",
155
+ "data-cy": "".concat(hyphenize(label), "-input-error"),
156
+ id: errorId
157
+ }, error));
158
+ };
159
+ DateTimePicker.displayName = "DateTimePicker";
160
+ var index = /*#__PURE__*/React__default.memo(DateTimePicker);
161
+
162
+ export { index as default };
163
+ //# sourceMappingURL=DateTimePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimePicker.js","sources":["../src/components/DateTimePicker/utils.js","../src/components/DateTimePicker/index.jsx"],"sourcesContent":["import dayjs from \"dayjs\";\nimport { isPresent } from \"neetocist\";\n\nconst DATE_FORMAT = \"YYYY-MM-DD\";\nconst TIME_FORMAT = \"HH:mm\";\n\nexport const getDateTime = (date, time) => {\n if (isPresent(date) && isPresent(time)) {\n return dayjs(`${date.format(DATE_FORMAT)} ${time.format(TIME_FORMAT)}`);\n }\n\n return null;\n};\n\nexport const getAllowedTime = (date, time, minDateTime, maxDateTime) => {\n const newTime = getDateTime(date, time || dayjs());\n if (\n isPresent(minDateTime) &&\n date?.isSame(minDateTime, \"day\") &&\n newTime?.isBefore(minDateTime)\n ) {\n return minDateTime;\n }\n\n if (\n isPresent(maxDateTime) &&\n date?.isSame(maxDateTime, \"day\") &&\n newTime?.isAfter(maxDateTime)\n ) {\n return maxDateTime;\n }\n\n return newTime;\n};\n\nexport const getTime = date => date?.format(TIME_FORMAT);\n","import React, { useState, useEffect } from \"react\";\n\nimport classnames from \"classnames\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { isPresent, isNotPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport DatePicker from \"components/DatePicker\";\nimport Label from \"components/Label\";\nimport TimePickerInput from \"components/TimePickerInput\";\nimport { useId } from \"hooks\";\nimport { hyphenize, noop } from \"utils\";\n\nimport { getDateTime, getAllowedTime, getTime } from \"./utils\";\n\nconst INPUT_SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\ndayjs.extend(customParseFormat);\n\nconst DateTimePicker = ({\n className = \"\",\n label = \"\",\n size,\n dropdownClassName,\n popupClassName,\n dateFormat,\n onChange = noop,\n nakedInput = false,\n error = \"\",\n defaultValue,\n value,\n labelProps,\n required = false,\n id,\n datePickerProps,\n timePickerProps,\n minDateTime,\n maxDateTime,\n onTimeInputBlur = noop,\n onBlur = noop,\n}) => {\n const [date, setDate] = useState();\n const [time, setTime] = useState();\n const [changedField, setChangedField] = useState();\n const timeRef = React.useRef(null);\n const defaultId = useId(id);\n const errorId = `error_${defaultId}`;\n\n useEffect(() => {\n const inputValue = value || defaultValue;\n if (isPresent(inputValue) && dayjs(inputValue).isValid()) {\n const dateTime = dayjs.isDayjs(inputValue)\n ? inputValue\n : dayjs(inputValue);\n setDate(dateTime);\n setTime(dateTime);\n }\n }, [value, defaultValue]);\n\n useEffect(() => {\n if (isNotPresent(changedField)) return;\n onChange(getDateTime(date, time), changedField);\n setChangedField(); // reset to avoid unnecessary trigger on rerender\n }, [date, time, changedField]);\n\n const handleDateChange = newDate => {\n timeRef.current\n ?.querySelector(\".react-time-picker__inputGroup__hour\")\n ?.focus();\n\n setDate(newDate);\n setTime(getAllowedTime(newDate, time, minDateTime, maxDateTime));\n setChangedField(\"date\");\n };\n\n const handleTimeChange = newTime => {\n setTime(newTime.isValid() ? newTime : null);\n if (newTime.isValid() && !date) setDate(newTime);\n setChangedField(\"time\");\n };\n\n const handleTimeBlur = () => {\n const dateTime = getDateTime(date, time);\n onTimeInputBlur(dateTime);\n onBlur(dateTime);\n };\n\n return (\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required, ...labelProps }}>{label}</Label>}\n <div className={classnames(\"neeto-ui-date-time-input\", className)}>\n <DatePicker\n {...{\n dateFormat,\n dropdownClassName,\n nakedInput,\n popupClassName,\n size,\n }}\n error={!!error}\n maxDate={maxDateTime}\n minDate={minDateTime}\n picker=\"date\"\n showTime={false}\n type=\"date\"\n value={date}\n onChange={handleDateChange}\n {...datePickerProps}\n />\n <TimePickerInput\n {...{ error, nakedInput, size }}\n error={!!error}\n maxTime={date?.isSame(maxDateTime, \"day\") && getTime(maxDateTime)}\n minTime={date?.isSame(minDateTime, \"day\") && getTime(minDateTime)}\n ref={timeRef}\n value={time}\n onBlur={handleTimeBlur}\n onChange={handleTimeChange}\n {...timePickerProps}\n />\n </div>\n {!!error && (\n <p\n className=\"neeto-ui-input__error\"\n data-cy={`${hyphenize(label)}-input-error`}\n id={errorId}\n >\n {error}\n </p>\n )}\n </div>\n );\n};\n\nDateTimePicker.displayName = \"DateTimePicker\";\n\nDateTimePicker.propTypes = {\n /**\n * To set the text to be displayed above the DateTimePicker.\n */\n label: PropTypes.string,\n /**\n * To specify the label props to be passed to the Label component.\n */\n labelProps: PropTypes.object,\n /**\n * The callback function that will be triggered when value changes.\n */\n onChange: PropTypes.func,\n /**\n * To specify the error message to be shown in the DateTimePicker.\n */\n error: PropTypes.string,\n /**\n * To specify whether the Date Time Input is required or not.\n */\n required: PropTypes.bool,\n /**\n * To provide external classnames to DateTimePicker component.\n */\n className: PropTypes.string,\n /**\n * To set the text to be displayed above the DateTimePicker.\n */\n size: PropTypes.oneOf(Object.values(INPUT_SIZES)),\n /**\n * To set the DateTimePicker as naked Input field.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify custom classnames to be applied to the DatePicker dropdown.\n */\n dropdownClassName: PropTypes.string,\n /**\n * To specify the date format.\n */\n dateFormat: PropTypes.string,\n /**\n * To specify the values to be displayed inside the DatePicker.\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n /**\n * To specify the default values to be displayed inside the DatePicker.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n /**\n * @deprecated The callback function that will be triggered when time picker loses focus (onBlur event).\n */\n onTimeInputBlur: PropTypes.func,\n /**\n * The callback function that will be triggered when time picker loses focus (onBlur event).\n */\n onBlur: PropTypes.func,\n /**\n * To specify minimum allowed date time\n */\n minDateTime: PropTypes.object,\n /**\n * To specify maximum allowed date time\n */\n maxDateTime: PropTypes.object,\n};\n\nexport default React.memo(DateTimePicker);\n"],"names":["DATE_FORMAT","TIME_FORMAT","getDateTime","date","time","isPresent","dayjs","concat","format","getAllowedTime","minDateTime","maxDateTime","newTime","isSame","isBefore","isAfter","getTime","extend","customParseFormat","DateTimePicker","_ref","_ref$className","className","_ref$label","label","size","dropdownClassName","popupClassName","dateFormat","_ref$onChange","onChange","noop","_ref$nakedInput","nakedInput","_ref$error","error","defaultValue","value","labelProps","_ref$required","required","id","datePickerProps","timePickerProps","_ref$onTimeInputBlur","onTimeInputBlur","_ref$onBlur","onBlur","_useState","useState","_useState2","_slicedToArray","setDate","_useState3","_useState4","setTime","_useState5","_useState6","changedField","setChangedField","timeRef","React","useRef","defaultId","useId","errorId","useEffect","inputValue","isValid","dateTime","isDayjs","isNotPresent","handleDateChange","newDate","_timeRef$current","current","querySelector","focus","handleTimeChange","handleTimeBlur","createElement","Label","_objectSpread","classnames","DatePicker","_extends","maxDate","minDate","picker","showTime","type","TimePickerInput","_defineProperty","hyphenize","displayName","memo"],"mappings":"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"}
@@ -0,0 +1,303 @@
1
+ import { _ as _extends } from './extends-093996c9.js';
2
+ import { _ as _defineProperty } from './defineProperty-e5245270.js';
3
+ import { _ as _slicedToArray } from './slicedToArray-45fa766e.js';
4
+ import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
5
+ import React__default, { forwardRef, useState } from 'react';
6
+ import { T as Tooltip, i as index } from './index-c442518b.js';
7
+ import { c as classnames } from './index-3659771d.js';
8
+ import { Down } from '@bigbinary/neeto-icons';
9
+ import { isNil } from 'ramda';
10
+ import Button from './Button.js';
11
+ import { h as hyphenize, n as noop } from './index-c8d9113c.js';
12
+ import { isPresent } from '@bigbinary/neeto-cist';
13
+ import { Link } from 'react-router-dom';
14
+ import './toPropertyKey-bdc24cb9.js';
15
+ import 'tippy.js';
16
+ import 'react-dom';
17
+ import 'framer-motion';
18
+ import './createClass-601a36b2.js';
19
+ import 'util';
20
+
21
+ var Divider = function Divider(props) {
22
+ return /*#__PURE__*/React__default.createElement("li", _extends({
23
+ className: "neeto-ui-dropdown__popup-divider"
24
+ }, props));
25
+ };
26
+
27
+ var _excluded$3 = ["children", "className"];
28
+ var Menu = function Menu(_ref) {
29
+ var children = _ref.children,
30
+ className = _ref.className,
31
+ otherProps = _objectWithoutProperties(_ref, _excluded$3);
32
+ return /*#__PURE__*/React__default.createElement("ul", _extends({
33
+ className: classnames("neeto-ui-dropdown__popup-menu", className)
34
+ }, otherProps), children);
35
+ };
36
+
37
+ var _excluded$2 = ["children", "className", "tooltipProps"];
38
+ var MenuItem = function MenuItem(_ref) {
39
+ var children = _ref.children,
40
+ className = _ref.className,
41
+ tooltipProps = _ref.tooltipProps,
42
+ otherProps = _objectWithoutProperties(_ref, _excluded$2);
43
+ var renderMenuItem = function renderMenuItem() {
44
+ return /*#__PURE__*/React__default.createElement("li", _extends({
45
+ className: classnames("neeto-ui-dropdown__popup-menu-item", className)
46
+ }, otherProps), children);
47
+ };
48
+ if (isPresent(tooltipProps)) {
49
+ return /*#__PURE__*/React__default.createElement(Tooltip, tooltipProps, renderMenuItem());
50
+ }
51
+ return renderMenuItem();
52
+ };
53
+
54
+ var _excluded$1 = ["children", "className", "isActive", "isDisabled", "style", "prefix", "suffix", "type", "to", "href", "tooltipProps"];
55
+ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
56
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
57
+ var ITEM_BTN_STYLES = {
58
+ "default": "default",
59
+ danger: "danger"
60
+ };
61
+ var BUTTON_TYPES = {
62
+ button: "button",
63
+ reset: "reset",
64
+ submit: "submit"
65
+ };
66
+ var MenuItemButton = /*#__PURE__*/forwardRef(function (_ref, ref) {
67
+ var children = _ref.children,
68
+ className = _ref.className,
69
+ isActive = _ref.isActive,
70
+ isDisabled = _ref.isDisabled,
71
+ _ref$style = _ref.style,
72
+ style = _ref$style === void 0 ? ITEM_BTN_STYLES["default"] : _ref$style,
73
+ prefix = _ref.prefix,
74
+ suffix = _ref.suffix,
75
+ _ref$type = _ref.type,
76
+ type = _ref$type === void 0 ? BUTTON_TYPES.button : _ref$type,
77
+ _ref$to = _ref.to,
78
+ to = _ref$to === void 0 ? "" : _ref$to,
79
+ _ref$href = _ref.href,
80
+ href = _ref$href === void 0 ? "" : _ref$href,
81
+ tooltipProps = _ref.tooltipProps,
82
+ otherProps = _objectWithoutProperties(_ref, _excluded$1);
83
+ var Parent, elementSpecificProps;
84
+ if (to) {
85
+ Parent = Link;
86
+ elementSpecificProps = {
87
+ to: to
88
+ };
89
+ } else if (href) {
90
+ Parent = "a";
91
+ elementSpecificProps = {
92
+ href: href
93
+ };
94
+ } else {
95
+ Parent = "button";
96
+ elementSpecificProps = {
97
+ type: type
98
+ };
99
+ }
100
+ return /*#__PURE__*/React__default.createElement(MenuItem, {
101
+ tooltipProps: tooltipProps
102
+ }, /*#__PURE__*/React__default.createElement(Parent, _extends({
103
+ disabled: isDisabled,
104
+ className: classnames("neeto-ui-dropdown__popup-menu-item-btn", className, {
105
+ "neeto-ui-dropdown__popup-menu-item-btn--active": isActive,
106
+ "neeto-ui-dropdown__popup-menu-item-btn--disabled": isDisabled,
107
+ "neeto-ui-dropdown__popup-menu-item-btn--style-danger": style === ITEM_BTN_STYLES.danger
108
+ })
109
+ }, _objectSpread$1(_objectSpread$1({
110
+ ref: ref
111
+ }, otherProps), elementSpecificProps)), prefix && /*#__PURE__*/React__default.createElement("div", {
112
+ className: "neeto-ui-dropdown__popup-menu-item-btn__prefix"
113
+ }, prefix), children, suffix && /*#__PURE__*/React__default.createElement("div", {
114
+ className: "neeto-ui-dropdown__popup-menu-item-btn__suffix"
115
+ }, suffix)));
116
+ });
117
+ MenuItemButton.displayName = "MenuItemButton";
118
+
119
+ MenuItem.Button = MenuItemButton;
120
+
121
+ var _excluded = ["style", "size"],
122
+ _excluded2 = ["icon", "label", "isOpen", "onClose", "dropdownProps", "position", "children", "className", "buttonStyle", "buttonSize", "buttonProps", "customTarget", "disabled", "closeOnEsc", "closeOnSelect", "closeOnOutsideClick", "dropdownModifiers", "trigger", "strategy", "onClick"],
123
+ _excluded3 = ["classNames"];
124
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
125
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
126
+ var BTN_STYLES = {
127
+ primary: "primary",
128
+ secondary: "secondary",
129
+ tertiary: "tertiary",
130
+ danger: "danger",
131
+ danger_text: "danger-text",
132
+ text: "text",
133
+ link: "link"
134
+ };
135
+ var BTN_SIZES = {
136
+ small: "small",
137
+ medium: "medium",
138
+ large: "large"
139
+ };
140
+ var STRATEGY = {
141
+ absolute: "absolute",
142
+ fixed: "fixed"
143
+ };
144
+ var PLACEMENT = {
145
+ auto: "auto",
146
+ autoStart: "auto-start",
147
+ autoEnd: "auto-end",
148
+ top: "top",
149
+ topStart: "top-start",
150
+ topEnd: "top-end",
151
+ bottom: "bottom",
152
+ bottomStart: "bottom-start",
153
+ bottomEnd: "bottom-end",
154
+ right: "right",
155
+ rightStart: "right-start",
156
+ rightEnd: "right-end",
157
+ left: "left",
158
+ leftStart: "left-start",
159
+ leftEnd: "left-end"
160
+ };
161
+ var TRIGGERS = {
162
+ click: "click",
163
+ hover: "mouseenter focus",
164
+ all: "mouseenter focus click",
165
+ manual: "manual"
166
+ };
167
+ var hideOnEsc = {
168
+ name: "hideOnEsc",
169
+ defaultValue: true,
170
+ fn: function fn(_ref) {
171
+ var hide = _ref.hide,
172
+ hideOnEsc = _ref.props.hideOnEsc;
173
+ function onKeyDown(event) {
174
+ var _event$key;
175
+ if (((_event$key = event.key) === null || _event$key === void 0 ? void 0 : _event$key.toLowerCase()) === "escape" && hideOnEsc) hide();
176
+ }
177
+ return {
178
+ onShow: function onShow() {
179
+ document.addEventListener("keydown", onKeyDown);
180
+ },
181
+ onHide: function onHide() {
182
+ document.removeEventListener("keydown", onKeyDown);
183
+ }
184
+ };
185
+ }
186
+ };
187
+ var plugins = [hideOnEsc];
188
+ var Dropdown = function Dropdown(_ref2) {
189
+ var icon = _ref2.icon,
190
+ label = _ref2.label,
191
+ isOpen = _ref2.isOpen,
192
+ _ref2$onClose = _ref2.onClose,
193
+ onClose = _ref2$onClose === void 0 ? noop : _ref2$onClose,
194
+ _ref2$dropdownProps = _ref2.dropdownProps,
195
+ dropdownProps = _ref2$dropdownProps === void 0 ? {} : _ref2$dropdownProps,
196
+ _ref2$position = _ref2.position,
197
+ position = _ref2$position === void 0 ? PLACEMENT.bottomEnd : _ref2$position,
198
+ children = _ref2.children,
199
+ className = _ref2.className,
200
+ _ref2$buttonStyle = _ref2.buttonStyle,
201
+ buttonStyle = _ref2$buttonStyle === void 0 ? BTN_STYLES.primary : _ref2$buttonStyle,
202
+ _ref2$buttonSize = _ref2.buttonSize,
203
+ buttonSize = _ref2$buttonSize === void 0 ? BTN_SIZES.medium : _ref2$buttonSize,
204
+ _ref2$buttonProps = _ref2.buttonProps,
205
+ _ref2$buttonProps2 = _ref2$buttonProps === void 0 ? {} : _ref2$buttonProps,
206
+ style = _ref2$buttonProps2.style,
207
+ size = _ref2$buttonProps2.size,
208
+ buttonProps = _objectWithoutProperties(_ref2$buttonProps2, _excluded),
209
+ customTarget = _ref2.customTarget,
210
+ _ref2$disabled = _ref2.disabled,
211
+ disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
212
+ _ref2$closeOnEsc = _ref2.closeOnEsc,
213
+ closeOnEsc = _ref2$closeOnEsc === void 0 ? true : _ref2$closeOnEsc,
214
+ _ref2$closeOnSelect = _ref2.closeOnSelect,
215
+ closeOnSelect = _ref2$closeOnSelect === void 0 ? true : _ref2$closeOnSelect,
216
+ _ref2$closeOnOutsideC = _ref2.closeOnOutsideClick,
217
+ closeOnOutsideClick = _ref2$closeOnOutsideC === void 0 ? true : _ref2$closeOnOutsideC,
218
+ _ref2$dropdownModifie = _ref2.dropdownModifiers,
219
+ dropdownModifiers = _ref2$dropdownModifie === void 0 ? [] : _ref2$dropdownModifie,
220
+ _ref2$trigger = _ref2.trigger,
221
+ trigger = _ref2$trigger === void 0 ? TRIGGERS.click : _ref2$trigger,
222
+ _ref2$strategy = _ref2.strategy,
223
+ strategy = _ref2$strategy === void 0 ? STRATEGY.absolute : _ref2$strategy,
224
+ onClick = _ref2.onClick,
225
+ otherProps = _objectWithoutProperties(_ref2, _excluded2);
226
+ var _useState = useState(null),
227
+ _useState2 = _slicedToArray(_useState, 2),
228
+ instance = _useState2[0],
229
+ setInstance = _useState2[1];
230
+ var _useState3 = useState(false),
231
+ _useState4 = _slicedToArray(_useState3, 2),
232
+ mounted = _useState4[0],
233
+ setMounted = _useState4[1];
234
+ var isControlled = !isNil(isOpen);
235
+ var controlledProps = isControlled ? {
236
+ visible: isOpen
237
+ } : {
238
+ onClickOutside: function onClickOutside() {
239
+ return closeOnOutsideClick;
240
+ }
241
+ };
242
+ var dropdownClassname = dropdownProps.classNames,
243
+ otherDropdownProps = _objectWithoutProperties(dropdownProps, _excluded3);
244
+ var close = function close() {
245
+ return instance.hide();
246
+ };
247
+ return /*#__PURE__*/React__default.createElement(index, _extends({
248
+ interactive: true,
249
+ animation: false,
250
+ arrow: false,
251
+ duration: 0
252
+ // hideOnClick determines whether the dropdown should be hidden when the user clicks outside of the dropdown.
253
+ // https://atomiks.github.io/tippyjs/v6/all-props/#hideonclick
254
+ ,
255
+ hideOnClick: isControlled ? undefined : closeOnOutsideClick || "toggle",
256
+ hideOnEsc: closeOnEsc,
257
+ maxWidth: "none",
258
+ offset: 0,
259
+ placement: position || PLACEMENT.bottomEnd,
260
+ popperOptions: {
261
+ strategy: strategy,
262
+ modifiers: dropdownModifiers
263
+ },
264
+ role: "dropdown",
265
+ theme: "light",
266
+ trigger: isControlled ? undefined : TRIGGERS[trigger],
267
+ className: classnames("neeto-ui-dropdown", _defineProperty({}, className, className)),
268
+ content: mounted ? /*#__PURE__*/React__default.createElement("div", _extends({
269
+ "data-cy": "".concat(hyphenize(label), "-dropdown-container"),
270
+ className: classnames("neeto-ui-dropdown__popup", _defineProperty({}, dropdownClassname, dropdownClassname)),
271
+ onClick: closeOnSelect ? close : noop
272
+ }, otherDropdownProps), children) : null,
273
+ onCreate: function onCreate(instance) {
274
+ return instance && setInstance(instance);
275
+ },
276
+ onMount: function onMount() {
277
+ return setMounted(true);
278
+ },
279
+ onHidden: function onHidden() {
280
+ onClose();
281
+ setMounted(false);
282
+ }
283
+ }, _objectSpread(_objectSpread({
284
+ plugins: plugins
285
+ }, otherProps), controlledProps)), customTarget ? /*#__PURE__*/React__default.createElement("span", {
286
+ onClick: onClick
287
+ }, typeof customTarget === "function" ? customTarget() : customTarget) : /*#__PURE__*/React__default.createElement(Button, _extends({
288
+ label: label,
289
+ onClick: onClick,
290
+ "data-cy": "".concat(hyphenize(label), "-dropdown-icon"),
291
+ disabled: disabled || (buttonProps === null || buttonProps === void 0 ? void 0 : buttonProps.disabled),
292
+ icon: icon || Down,
293
+ iconPosition: "right",
294
+ size: size !== null && size !== void 0 ? size : buttonSize,
295
+ style: style !== null && style !== void 0 ? style : buttonStyle
296
+ }, buttonProps)));
297
+ };
298
+ Dropdown.Menu = Menu;
299
+ Dropdown.MenuItem = MenuItem;
300
+ Dropdown.Divider = Divider;
301
+
302
+ export { Dropdown as default };
303
+ //# sourceMappingURL=Dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dropdown.js","sources":["../src/components/Dropdown/Divider.jsx","../src/components/Dropdown/Menu.jsx","../src/components/Dropdown/MenuItem/MenuItem.jsx","../src/components/Dropdown/MenuItem/MenuItemButton.jsx","../src/components/Dropdown/MenuItem/index.js","../src/components/Dropdown/index.jsx"],"sourcesContent":["import React from \"react\";\n\nconst Divider = props => (\n <li className=\"neeto-ui-dropdown__popup-divider\" {...props} />\n);\n\nexport default Divider;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Menu = ({ children, className, ...otherProps }) => (\n <ul\n className={classnames(\"neeto-ui-dropdown__popup-menu\", className)}\n {...otherProps}\n >\n {children}\n </ul>\n);\n\nMenu.propTypes = {\n /**\n * To specify className to be applied to the Menu.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Menu.\n */\n children: PropTypes.node,\n};\n\nexport default Menu;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport Tooltip from \"components/Tooltip\";\n\nconst MenuItem = ({ children, className, tooltipProps, ...otherProps }) => {\n const renderMenuItem = () => (\n <li\n className={classnames(\"neeto-ui-dropdown__popup-menu-item\", className)}\n {...otherProps}\n >\n {children}\n </li>\n );\n\n if (isPresent(tooltipProps)) {\n return <Tooltip {...tooltipProps}>{renderMenuItem()}</Tooltip>;\n }\n\n return renderMenuItem();\n};\n\nMenuItem.propTypes = {\n /**\n * To specify className to be applied to the MenuItem.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the MenuItem.\n */\n children: PropTypes.node,\n /**\n * To specify the active state of the MenuItem.\n */\n isActive: PropTypes.bool,\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n};\n\nexport default MenuItem;\n","import React, { forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { Link } from \"react-router-dom\";\n\nimport MenuItem from \"./MenuItem\";\n\nconst ITEM_BTN_STYLES = { default: \"default\", danger: \"danger\" };\n\nconst BUTTON_TYPES = { button: \"button\", reset: \"reset\", submit: \"submit\" };\n\nconst MenuItemButton = forwardRef(\n (\n {\n children,\n className,\n isActive,\n isDisabled,\n style = ITEM_BTN_STYLES.default,\n prefix,\n suffix,\n type = BUTTON_TYPES.button,\n to = \"\",\n href = \"\",\n tooltipProps,\n ...otherProps\n },\n ref\n ) => {\n let Parent, elementSpecificProps;\n if (to) {\n Parent = Link;\n elementSpecificProps = { to };\n } else if (href) {\n Parent = \"a\";\n elementSpecificProps = { href };\n } else {\n Parent = \"button\";\n elementSpecificProps = { type };\n }\n\n return (\n <MenuItem {...{ tooltipProps }}>\n <Parent\n disabled={isDisabled}\n className={classnames(\n \"neeto-ui-dropdown__popup-menu-item-btn\",\n className,\n {\n \"neeto-ui-dropdown__popup-menu-item-btn--active\": isActive,\n \"neeto-ui-dropdown__popup-menu-item-btn--disabled\": isDisabled,\n \"neeto-ui-dropdown__popup-menu-item-btn--style-danger\":\n style === ITEM_BTN_STYLES.danger,\n }\n )}\n {...{ ref, ...otherProps, ...elementSpecificProps }}\n >\n {prefix && (\n <div className=\"neeto-ui-dropdown__popup-menu-item-btn__prefix\">\n {prefix}\n </div>\n )}\n {children}\n {suffix && (\n <div className=\"neeto-ui-dropdown__popup-menu-item-btn__suffix\">\n {suffix}\n </div>\n )}\n </Parent>\n </MenuItem>\n );\n }\n);\n\nMenuItemButton.displayName = \"MenuItemButton\";\n\nMenuItemButton.propTypes = {\n /**\n * To specify className to be applied to the MenuItem.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the MenuItem.\n */\n children: PropTypes.node,\n /**\n * To specify the active state of the MenuItem.\n */\n isActive: PropTypes.bool,\n /**\n * To specify whether the MenuItem is disabled.\n */\n isDisabled: PropTypes.bool,\n /**\n * To specify an internal route to which the button points to.\n */\n to: PropTypes.string,\n /**\n * To specify an external link to which the button points to.\n */\n href: PropTypes.string,\n /**\n * To specify the content to be added at the end of the input field.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the input field.\n */\n prefix: PropTypes.node,\n /**\n * To specify the type of button.\n */\n type: PropTypes.oneOf(Object.values(BUTTON_TYPES)),\n /**\n * To specify the style of button.\n */\n style: PropTypes.oneOf(Object.values(ITEM_BTN_STYLES)),\n /**\n * To specify the props to be passed to the tooltip.\n */\n tooltipProps: PropTypes.object,\n};\n\nexport default MenuItemButton;\n","import MenuItem from \"./MenuItem\";\nimport MenuItemButton from \"./MenuItemButton\";\n\nMenuItem.Button = MenuItemButton;\n\nexport default MenuItem;\n","import React, { useState } from \"react\";\n\nimport Tippy from \"@tippyjs/react\";\nimport classnames from \"classnames\";\nimport { Down } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { isNil } from \"ramda\";\n\nimport Button from \"components/Button\";\nimport { hyphenize, noop } from \"utils\";\n\nimport Divider from \"./Divider\";\nimport Menu from \"./Menu\";\nimport MenuItem from \"./MenuItem\";\n\nconst BTN_STYLES = {\n primary: \"primary\",\n secondary: \"secondary\",\n tertiary: \"tertiary\",\n danger: \"danger\",\n danger_text: \"danger-text\",\n text: \"text\",\n link: \"link\",\n};\n\nconst BTN_SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n};\n\nconst STRATEGY = { absolute: \"absolute\", fixed: \"fixed\" };\n\nconst PLACEMENT = {\n auto: \"auto\",\n autoStart: \"auto-start\",\n autoEnd: \"auto-end\",\n top: \"top\",\n topStart: \"top-start\",\n topEnd: \"top-end\",\n bottom: \"bottom\",\n bottomStart: \"bottom-start\",\n bottomEnd: \"bottom-end\",\n right: \"right\",\n rightStart: \"right-start\",\n rightEnd: \"right-end\",\n left: \"left\",\n leftStart: \"left-start\",\n leftEnd: \"left-end\",\n};\n\nconst TRIGGERS = {\n click: \"click\",\n hover: \"mouseenter focus\",\n all: \"mouseenter focus click\",\n manual: \"manual\",\n};\n\nconst hideOnEsc = {\n name: \"hideOnEsc\",\n defaultValue: true,\n fn({ hide, props: { hideOnEsc } }) {\n function onKeyDown(event) {\n if (event.key?.toLowerCase() === \"escape\" && hideOnEsc) hide();\n }\n\n return {\n onShow() {\n document.addEventListener(\"keydown\", onKeyDown);\n },\n onHide() {\n document.removeEventListener(\"keydown\", onKeyDown);\n },\n };\n },\n};\n\nconst plugins = [hideOnEsc];\n\nconst Dropdown = ({\n icon,\n label,\n isOpen,\n onClose = noop,\n dropdownProps = {},\n position = PLACEMENT.bottomEnd,\n children,\n className,\n buttonStyle = BTN_STYLES.primary,\n buttonSize = BTN_SIZES.medium,\n buttonProps: { style, size, ...buttonProps } = {},\n customTarget,\n disabled = false,\n closeOnEsc = true,\n closeOnSelect = true,\n closeOnOutsideClick = true,\n dropdownModifiers = [],\n trigger = TRIGGERS.click,\n strategy = STRATEGY.absolute,\n onClick,\n ...otherProps\n}) => {\n const [instance, setInstance] = useState(null);\n const [mounted, setMounted] = useState(false);\n\n const isControlled = !isNil(isOpen);\n\n const controlledProps = isControlled\n ? { visible: isOpen }\n : { onClickOutside: () => closeOnOutsideClick };\n\n const { classNames: dropdownClassname, ...otherDropdownProps } =\n dropdownProps;\n\n const close = () => instance.hide();\n\n return (\n <Tippy\n interactive\n animation={false}\n arrow={false}\n duration={0}\n // hideOnClick determines whether the dropdown should be hidden when the user clicks outside of the dropdown.\n // https://atomiks.github.io/tippyjs/v6/all-props/#hideonclick\n hideOnClick={isControlled ? undefined : closeOnOutsideClick || \"toggle\"}\n hideOnEsc={closeOnEsc}\n maxWidth=\"none\"\n offset={0}\n placement={position || PLACEMENT.bottomEnd}\n popperOptions={{ strategy, modifiers: dropdownModifiers }}\n role=\"dropdown\"\n theme=\"light\"\n trigger={isControlled ? undefined : TRIGGERS[trigger]}\n className={classnames(\"neeto-ui-dropdown\", {\n [className]: className,\n })}\n content={\n mounted ? (\n <div\n data-cy={`${hyphenize(label)}-dropdown-container`}\n className={classnames(\"neeto-ui-dropdown__popup\", {\n [dropdownClassname]: dropdownClassname,\n })}\n onClick={closeOnSelect ? close : noop}\n {...otherDropdownProps}\n >\n {children}\n </div>\n ) : null\n }\n onCreate={instance => instance && setInstance(instance)}\n onMount={() => setMounted(true)}\n onHidden={() => {\n onClose();\n setMounted(false);\n }}\n {...{ plugins, ...otherProps, ...controlledProps }}\n >\n {customTarget ? (\n <span {...{ onClick }}>\n {typeof customTarget === \"function\" ? customTarget() : customTarget}\n </span>\n ) : (\n <Button\n {...{ label, onClick }}\n data-cy={`${hyphenize(label)}-dropdown-icon`}\n disabled={disabled || buttonProps?.disabled}\n icon={icon || Down}\n iconPosition=\"right\"\n size={size ?? buttonSize}\n style={style ?? buttonStyle}\n {...buttonProps}\n />\n )}\n </Tippy>\n );\n};\n\nDropdown.Menu = Menu;\nDropdown.MenuItem = MenuItem;\nDropdown.Divider = Divider;\n\nDropdown.propTypes = {\n /**\n * To specify the icon to be rendered in the Dropdown target.\n */\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /**\n * To specify the label for Dropdown target button.\n */\n label: PropTypes.string,\n /**\n * To specify whether the Dropdown is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the action to be triggered on closing the Dropdown.\n */\n onClose: PropTypes.func,\n /**\n * To specify the triggering action for Dropdown.\n */\n trigger: PropTypes.oneOf(Object.keys(TRIGGERS)),\n /**\n * To specify the positioning strategy to use. By default, it is absolute, which in the simplest cases does not require repositioning of the Dropdown.\n *\n * If your reference element is in a fixed container, use the fixed strategy\n */\n strategy: PropTypes.oneOf(Object.values(STRATEGY)),\n /**\n * To specify the classes to be passed to the Dropdown menu.\n */\n dropdownProps: PropTypes.object,\n /**\n * To specify the position of the Dropdown menu.\n */\n position: PropTypes.oneOf(Object.values(PLACEMENT)),\n /**\n * To specify the content to be rendered inside the Dropdown.\n */\n children: PropTypes.node,\n /**\n * To specify whether the Dropdown menu width needs to be set to auto or not.\n */\n autoWidth: PropTypes.bool,\n /**\n * To provide external classnames to Dropdown target wrapper.\n */\n className: PropTypes.string,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the size of the button to be rendered as the Dropdown target.\n */\n buttonSize: PropTypes.oneOf(Object.values(BTN_SIZES)),\n /**\n * To specify the style of the button to be rendered as the Dropdown target.\n */\n buttonStyle: PropTypes.oneOf(Object.values(BTN_STYLES)),\n /**\n * To specify the props to be passed to the Dropdown target button.\n */\n buttonProps: PropTypes.object,\n /**\n * To provide a custom target to be rendered instead of the default button target.\n */\n customTarget: PropTypes.node,\n /**\n * To specify whether the Dropdown is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on pressing esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on selecting an option.\n */\n closeOnSelect: PropTypes.bool,\n /**\n * To specify whether the Dropdown should close on clicking outside the Dropdown content. (will not have any effect if the component is controlled.)\n */\n closeOnOutsideClick: PropTypes.bool,\n /**\n * To provide custom modifiers to Dropdown component.\n */\n dropdownModifiers: PropTypes.array,\n /**\n * To specify whether the Dropdown should be multilevel.\n */\n isMultiLevel: PropTypes.bool,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-danger mb-2\">\n * Removed\n * </div>\n * _Use `dropdownProps` props instead._\n *\n */\n ulProps: PropTypes.object,\n /**\n * To specify the action that should be triggered when clicking outside of the controlled dropdown component.\n */\n onClickOutside: PropTypes.func,\n};\n\nexport default Dropdown;\n"],"names":["Divider","props","React","createElement","_extends","className","Menu","_ref","children","otherProps","_objectWithoutProperties","_excluded","classnames","MenuItem","tooltipProps","renderMenuItem","isPresent","Tooltip","ITEM_BTN_STYLES","danger","BUTTON_TYPES","button","reset","submit","MenuItemButton","forwardRef","ref","isActive","isDisabled","_ref$style","style","prefix","suffix","_ref$type","type","_ref$to","to","_ref$href","href","Parent","elementSpecificProps","Link","disabled","_objectSpread","displayName","Button","BTN_STYLES","primary","secondary","tertiary","danger_text","text","link","BTN_SIZES","small","medium","large","STRATEGY","absolute","fixed","PLACEMENT","auto","autoStart","autoEnd","top","topStart","topEnd","bottom","bottomStart","bottomEnd","right","rightStart","rightEnd","left","leftStart","leftEnd","TRIGGERS","click","hover","all","manual","hideOnEsc","name","defaultValue","fn","hide","onKeyDown","event","_event$key","key","toLowerCase","onShow","document","addEventListener","onHide","removeEventListener","plugins","Dropdown","_ref2","icon","label","isOpen","_ref2$onClose","onClose","noop","_ref2$dropdownProps","dropdownProps","_ref2$position","position","_ref2$buttonStyle","buttonStyle","_ref2$buttonSize","buttonSize","_ref2$buttonProps","buttonProps","_ref2$buttonProps2","size","customTarget","_ref2$disabled","_ref2$closeOnEsc","closeOnEsc","_ref2$closeOnSelect","closeOnSelect","_ref2$closeOnOutsideC","closeOnOutsideClick","_ref2$dropdownModifie","dropdownModifiers","_ref2$trigger","trigger","_ref2$strategy","strategy","onClick","_excluded2","_useState","useState","_useState2","_slicedToArray","instance","setInstance","_useState3","_useState4","mounted","setMounted","isControlled","isNil","controlledProps","visible","onClickOutside","dropdownClassname","classNames","otherDropdownProps","_excluded3","close","Tippy","interactive","animation","arrow","duration","hideOnClick","undefined","maxWidth","offset","placement","popperOptions","modifiers","role","theme","_defineProperty","content","concat","hyphenize","onCreate","onMount","onHidden","Down","iconPosition"],"mappings":"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"}