@bigbinary/neetoui 6.7.4 → 6.8.0

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 (296) hide show
  1. package/dist/Accordion.js +5 -6
  2. package/dist/Accordion.js.map +1 -1
  3. package/dist/ActionDropdown.js +16 -11
  4. package/dist/ActionDropdown.js.map +1 -1
  5. package/dist/Alert.js +23 -13
  6. package/dist/Alert.js.map +1 -1
  7. package/dist/Avatar.js +6 -6
  8. package/dist/Button.js +7 -8
  9. package/dist/Button.js.map +1 -1
  10. package/dist/Callout.js +4 -5
  11. package/dist/Callout.js.map +1 -1
  12. package/dist/Checkbox.js +22 -13
  13. package/dist/Checkbox.js.map +1 -1
  14. package/dist/ColorPicker.js +20 -14
  15. package/dist/ColorPicker.js.map +1 -1
  16. package/dist/DatePicker.js +21 -12
  17. package/dist/DatePicker.js.map +1 -1
  18. package/dist/DateTimePicker.js +27 -17
  19. package/dist/DateTimePicker.js.map +1 -1
  20. package/dist/Dropdown.js +18 -13
  21. package/dist/Dropdown.js.map +1 -1
  22. package/dist/Input.js +21 -12
  23. package/dist/Input.js.map +1 -1
  24. package/dist/Kbd.js +6 -6
  25. package/dist/Label.js +54 -18
  26. package/dist/Label.js.map +1 -1
  27. package/dist/Modal.js +23 -13
  28. package/dist/Modal.js.map +1 -1
  29. package/dist/MultiEmailInput.js +41 -16
  30. package/dist/MultiEmailInput.js.map +1 -1
  31. package/dist/NoData.js +7 -8
  32. package/dist/NoData.js.map +1 -1
  33. package/dist/Pagination.js +15 -10
  34. package/dist/Pagination.js.map +1 -1
  35. package/dist/Pane.js +23 -13
  36. package/dist/Pane.js.map +1 -1
  37. package/dist/Popover.js +7 -8
  38. package/dist/Popover.js.map +1 -1
  39. package/dist/ProgressBar.js +1 -1
  40. package/dist/Radio.js +22 -13
  41. package/dist/Radio.js.map +1 -1
  42. package/dist/Select.js +42 -14
  43. package/dist/Select.js.map +1 -1
  44. package/dist/Sidebar.js +16 -11
  45. package/dist/Sidebar.js.map +1 -1
  46. package/dist/Slider.js +22 -13
  47. package/dist/Slider.js.map +1 -1
  48. package/dist/Spinner.js +1 -1
  49. package/dist/Stepper.js +1 -1
  50. package/dist/Switch.js +22 -13
  51. package/dist/Switch.js.map +1 -1
  52. package/dist/Tab.js +4 -5
  53. package/dist/Tab.js.map +1 -1
  54. package/dist/Table.js +19 -14
  55. package/dist/Table.js.map +1 -1
  56. package/dist/Tag.js +3 -3
  57. package/dist/Textarea.js +22 -13
  58. package/dist/Textarea.js.map +1 -1
  59. package/dist/TimePicker.js +22 -13
  60. package/dist/TimePicker.js.map +1 -1
  61. package/dist/TimePickerInput.js +258 -21
  62. package/dist/TimePickerInput.js.map +1 -1
  63. package/dist/Toastr.js +15 -126
  64. package/dist/Toastr.js.map +1 -1
  65. package/dist/Tooltip.js +73 -7
  66. package/dist/Tooltip.js.map +1 -1
  67. package/dist/Tree.js +13 -8
  68. package/dist/Tree.js.map +1 -1
  69. package/dist/TreeSelect.js +21 -11
  70. package/dist/TreeSelect.js.map +1 -1
  71. package/dist/Typography.js +4 -5
  72. package/dist/Typography.js.map +1 -1
  73. package/dist/cjs/Accordion.js +25 -21
  74. package/dist/cjs/Accordion.js.map +1 -1
  75. package/dist/cjs/ActionDropdown.js +24 -16
  76. package/dist/cjs/ActionDropdown.js.map +1 -1
  77. package/dist/cjs/Alert.js +25 -14
  78. package/dist/cjs/Alert.js.map +1 -1
  79. package/dist/cjs/Avatar.js +17 -13
  80. package/dist/cjs/Avatar.js.map +1 -1
  81. package/dist/cjs/Button.js +17 -14
  82. package/dist/cjs/Button.js.map +1 -1
  83. package/dist/cjs/Callout.js +11 -8
  84. package/dist/cjs/Callout.js.map +1 -1
  85. package/dist/cjs/Checkbox.js +32 -20
  86. package/dist/cjs/Checkbox.js.map +1 -1
  87. package/dist/cjs/ColorPicker.js +33 -22
  88. package/dist/cjs/ColorPicker.js.map +1 -1
  89. package/dist/cjs/DatePicker.js +35 -21
  90. package/dist/cjs/DatePicker.js.map +1 -1
  91. package/dist/cjs/DateTimePicker.js +45 -29
  92. package/dist/cjs/DateTimePicker.js.map +1 -1
  93. package/dist/cjs/Dropdown.js +50 -39
  94. package/dist/cjs/Dropdown.js.map +1 -1
  95. package/dist/cjs/Input.js +39 -25
  96. package/dist/cjs/Input.js.map +1 -1
  97. package/dist/cjs/Kbd.js +13 -10
  98. package/dist/cjs/Kbd.js.map +1 -1
  99. package/dist/cjs/Label.js +61 -21
  100. package/dist/cjs/Label.js.map +1 -1
  101. package/dist/cjs/Modal.js +36 -21
  102. package/dist/cjs/Modal.js.map +1 -1
  103. package/dist/cjs/MultiEmailInput.js +71 -39
  104. package/dist/cjs/MultiEmailInput.js.map +1 -1
  105. package/dist/cjs/NoData.js +15 -13
  106. package/dist/cjs/NoData.js.map +1 -1
  107. package/dist/cjs/Pagination.js +24 -17
  108. package/dist/cjs/Pagination.js.map +1 -1
  109. package/dist/cjs/Pane.js +36 -21
  110. package/dist/cjs/Pane.js.map +1 -1
  111. package/dist/cjs/Popover.js +14 -12
  112. package/dist/cjs/Popover.js.map +1 -1
  113. package/dist/cjs/ProgressBar.js +3 -2
  114. package/dist/cjs/ProgressBar.js.map +1 -1
  115. package/dist/cjs/Radio.js +39 -25
  116. package/dist/cjs/Radio.js.map +1 -1
  117. package/dist/cjs/Select.js +91 -54
  118. package/dist/cjs/Select.js.map +1 -1
  119. package/dist/cjs/Sidebar.js +38 -28
  120. package/dist/cjs/Sidebar.js.map +1 -1
  121. package/dist/cjs/Slider.js +29 -17
  122. package/dist/cjs/Slider.js.map +1 -1
  123. package/dist/cjs/Spinner.js +3 -2
  124. package/dist/cjs/Spinner.js.map +1 -1
  125. package/dist/cjs/Stepper.js +7 -6
  126. package/dist/cjs/Stepper.js.map +1 -1
  127. package/dist/cjs/Switch.js +35 -23
  128. package/dist/cjs/Switch.js.map +1 -1
  129. package/dist/cjs/Tab.js +15 -12
  130. package/dist/cjs/Tab.js.map +1 -1
  131. package/dist/cjs/Table.js +55 -44
  132. package/dist/cjs/Table.js.map +1 -1
  133. package/dist/cjs/Tag.js +10 -7
  134. package/dist/cjs/Tag.js.map +1 -1
  135. package/dist/cjs/Textarea.js +38 -24
  136. package/dist/cjs/Textarea.js.map +1 -1
  137. package/dist/cjs/TimePicker.js +31 -18
  138. package/dist/cjs/TimePicker.js.map +1 -1
  139. package/dist/cjs/TimePickerInput.js +268 -22
  140. package/dist/cjs/TimePickerInput.js.map +1 -1
  141. package/dist/cjs/Toastr.js +32 -155
  142. package/dist/cjs/Toastr.js.map +1 -1
  143. package/dist/cjs/Tooltip.js +78 -8
  144. package/dist/cjs/Tooltip.js.map +1 -1
  145. package/dist/cjs/Tree.js +20 -12
  146. package/dist/cjs/Tree.js.map +1 -1
  147. package/dist/cjs/TreeSelect.js +30 -16
  148. package/dist/cjs/TreeSelect.js.map +1 -1
  149. package/dist/cjs/Typography.js +11 -8
  150. package/dist/cjs/Typography.js.map +1 -1
  151. package/dist/cjs/formik/ActionBlock.js +12 -11
  152. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  153. package/dist/cjs/formik/BlockNavigation.js +29 -16
  154. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  155. package/dist/cjs/formik/Button.js +11 -10
  156. package/dist/cjs/formik/Button.js.map +1 -1
  157. package/dist/cjs/formik/Checkbox.js +28 -16
  158. package/dist/cjs/formik/Checkbox.js.map +1 -1
  159. package/dist/cjs/formik/Form.js +29 -24
  160. package/dist/cjs/formik/Form.js.map +1 -1
  161. package/dist/cjs/formik/Input.js +27 -15
  162. package/dist/cjs/formik/Input.js.map +1 -1
  163. package/dist/cjs/formik/MultiEmailInput.js +47 -15
  164. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  165. package/dist/cjs/formik/Radio.js +31 -18
  166. package/dist/cjs/formik/Radio.js.map +1 -1
  167. package/dist/cjs/formik/Select.js +48 -16
  168. package/dist/cjs/formik/Select.js.map +1 -1
  169. package/dist/cjs/formik/Slider.js +31 -18
  170. package/dist/cjs/formik/Slider.js.map +1 -1
  171. package/dist/cjs/formik/Switch.js +28 -16
  172. package/dist/cjs/formik/Switch.js.map +1 -1
  173. package/dist/cjs/formik/Textarea.js +28 -16
  174. package/dist/cjs/formik/Textarea.js.map +1 -1
  175. package/dist/cjs/formik/TreeSelect.js +27 -14
  176. package/dist/cjs/formik/TreeSelect.js.map +1 -1
  177. package/dist/cjs/formik/index.js +45 -16
  178. package/dist/cjs/formik/index.js.map +1 -1
  179. package/dist/cjs/index-f2e36d91.js +167 -0
  180. package/dist/cjs/index-f2e36d91.js.map +1 -0
  181. package/dist/cjs/index.css +1 -1
  182. package/dist/cjs/index.js +49 -20
  183. package/dist/cjs/index.js.map +1 -1
  184. package/dist/cjs/layouts.js +16 -11
  185. package/dist/cjs/layouts.js.map +1 -1
  186. package/dist/cjs/managers.js +2 -2
  187. package/dist/cjs/overlayManager.js +9 -4
  188. package/dist/cjs/overlayManager.js.map +1 -1
  189. package/dist/cjs/{react-select-creatable.esm-b39742a3.js → react-select-creatable.esm-23eddf9f.js} +130 -367
  190. package/dist/cjs/react-select-creatable.esm-23eddf9f.js.map +1 -0
  191. package/dist/cjs/{useOverlayManager-359ed795.js → useOverlayManager-1de0435e.js} +37 -75
  192. package/dist/cjs/useOverlayManager-1de0435e.js.map +1 -0
  193. package/dist/cjs/{useQueryParams-14f054b3.js → useQueryParams-a8ee2f76.js} +9 -5
  194. package/dist/cjs/useQueryParams-a8ee2f76.js.map +1 -0
  195. package/dist/formik/ActionBlock.js +7 -8
  196. package/dist/formik/ActionBlock.js.map +1 -1
  197. package/dist/formik/BlockNavigation.js +23 -13
  198. package/dist/formik/BlockNavigation.js.map +1 -1
  199. package/dist/formik/Button.js +7 -8
  200. package/dist/formik/Button.js.map +1 -1
  201. package/dist/formik/Checkbox.js +22 -13
  202. package/dist/formik/Checkbox.js.map +1 -1
  203. package/dist/formik/Form.js +13 -14
  204. package/dist/formik/Form.js.map +1 -1
  205. package/dist/formik/Input.js +21 -12
  206. package/dist/formik/Input.js.map +1 -1
  207. package/dist/formik/MultiEmailInput.js +41 -12
  208. package/dist/formik/MultiEmailInput.js.map +1 -1
  209. package/dist/formik/Radio.js +23 -14
  210. package/dist/formik/Radio.js.map +1 -1
  211. package/dist/formik/Select.js +40 -12
  212. package/dist/formik/Select.js.map +1 -1
  213. package/dist/formik/Slider.js +23 -14
  214. package/dist/formik/Slider.js.map +1 -1
  215. package/dist/formik/Switch.js +22 -13
  216. package/dist/formik/Switch.js.map +1 -1
  217. package/dist/formik/Textarea.js +22 -13
  218. package/dist/formik/Textarea.js.map +1 -1
  219. package/dist/formik/TreeSelect.js +21 -11
  220. package/dist/formik/TreeSelect.js.map +1 -1
  221. package/dist/formik/index.js +45 -16
  222. package/dist/formik/index.js.map +1 -1
  223. package/dist/index-9d5142b4.js +145 -0
  224. package/dist/index-9d5142b4.js.map +1 -0
  225. package/dist/index.css +1 -1
  226. package/dist/index.js +47 -18
  227. package/dist/index.js.map +1 -1
  228. package/dist/layouts.js +16 -11
  229. package/dist/layouts.js.map +1 -1
  230. package/dist/managers.js +2 -2
  231. package/dist/overlayManager.js +2 -2
  232. package/dist/{react-select-creatable.esm-93affeca.js → react-select-creatable.esm-ad71b0c0.js} +43 -289
  233. package/dist/react-select-creatable.esm-ad71b0c0.js.map +1 -0
  234. package/dist/{useOverlayManager-95a474d5.js → useOverlayManager-9d385819.js} +9 -54
  235. package/dist/useOverlayManager-9d385819.js.map +1 -0
  236. package/dist/{useQueryParams-4e7ddcf8.js → useQueryParams-dcb34865.js} +4 -4
  237. package/dist/{useQueryParams-4e7ddcf8.js.map → useQueryParams-dcb34865.js.map} +1 -1
  238. package/package.json +13 -6
  239. package/types/Label.d.ts +7 -0
  240. package/dist/cjs/createClass-80e17c6a.js +0 -31
  241. package/dist/cjs/createClass-80e17c6a.js.map +0 -1
  242. package/dist/cjs/defineProperty-ee86604b.js +0 -21
  243. package/dist/cjs/defineProperty-ee86604b.js.map +0 -1
  244. package/dist/cjs/extends-1b35a664.js +0 -19
  245. package/dist/cjs/extends-1b35a664.js.map +0 -1
  246. package/dist/cjs/index-302c3d37.js +0 -58
  247. package/dist/cjs/index-302c3d37.js.map +0 -1
  248. package/dist/cjs/index-5d74cfeb.js +0 -375
  249. package/dist/cjs/index-5d74cfeb.js.map +0 -1
  250. package/dist/cjs/index-6e09c7bc.js +0 -2211
  251. package/dist/cjs/index-6e09c7bc.js.map +0 -1
  252. package/dist/cjs/index-773961dd.js +0 -453
  253. package/dist/cjs/index-773961dd.js.map +0 -1
  254. package/dist/cjs/index-a8cc581e.js +0 -2383
  255. package/dist/cjs/index-a8cc581e.js.map +0 -1
  256. package/dist/cjs/index-becc6543.js +0 -262
  257. package/dist/cjs/index-becc6543.js.map +0 -1
  258. package/dist/cjs/objectWithoutProperties-2fed2d7d.js +0 -33
  259. package/dist/cjs/objectWithoutProperties-2fed2d7d.js.map +0 -1
  260. package/dist/cjs/react-select-creatable.esm-b39742a3.js.map +0 -1
  261. package/dist/cjs/slicedToArray-732a2048.js +0 -63
  262. package/dist/cjs/slicedToArray-732a2048.js.map +0 -1
  263. package/dist/cjs/toConsumableArray-418424fc.js +0 -23
  264. package/dist/cjs/toConsumableArray-418424fc.js.map +0 -1
  265. package/dist/cjs/toPropertyKey-bfa2e465.js +0 -31
  266. package/dist/cjs/toPropertyKey-bfa2e465.js.map +0 -1
  267. package/dist/cjs/useOverlayManager-359ed795.js.map +0 -1
  268. package/dist/cjs/useQueryParams-14f054b3.js.map +0 -1
  269. package/dist/createClass-601a36b2.js +0 -28
  270. package/dist/createClass-601a36b2.js.map +0 -1
  271. package/dist/defineProperty-e5245270.js +0 -19
  272. package/dist/defineProperty-e5245270.js.map +0 -1
  273. package/dist/extends-093996c9.js +0 -17
  274. package/dist/extends-093996c9.js.map +0 -1
  275. package/dist/index-34956d66.js +0 -372
  276. package/dist/index-34956d66.js.map +0 -1
  277. package/dist/index-3659771d.js +0 -56
  278. package/dist/index-3659771d.js.map +0 -1
  279. package/dist/index-661b9fd6.js +0 -253
  280. package/dist/index-661b9fd6.js.map +0 -1
  281. package/dist/index-7fae3611.js +0 -2381
  282. package/dist/index-7fae3611.js.map +0 -1
  283. package/dist/index-c442518b.js +0 -445
  284. package/dist/index-c442518b.js.map +0 -1
  285. package/dist/index-c8d9113c.js +0 -2193
  286. package/dist/index-c8d9113c.js.map +0 -1
  287. package/dist/objectWithoutProperties-a0edb288.js +0 -31
  288. package/dist/objectWithoutProperties-a0edb288.js.map +0 -1
  289. package/dist/react-select-creatable.esm-93affeca.js.map +0 -1
  290. package/dist/slicedToArray-45fa766e.js +0 -57
  291. package/dist/slicedToArray-45fa766e.js.map +0 -1
  292. package/dist/toConsumableArray-1186e144.js +0 -20
  293. package/dist/toConsumableArray-1186e144.js.map +0 -1
  294. package/dist/toPropertyKey-bdc24cb9.js +0 -28
  295. package/dist/toPropertyKey-bdc24cb9.js.map +0 -1
  296. package/dist/useOverlayManager-95a474d5.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","sources":["../src/components/Textarea.jsx"],"sourcesContent":["import React, { useState, useEffect, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { useSyncedRef, useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport Label from \"./Label\";\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst ROWS = { small: 1, medium: 3, large: 4 };\n\nconst RESIZE = { vertical: \"vertical\", none: \"none\" };\n\nconst Textarea = forwardRef(\n (\n {\n size = SIZES.medium,\n resize = RESIZE.vertical,\n suffix = null,\n prefix = null,\n disabled = false,\n required = false,\n nakedTextarea = false,\n helpText = \"\",\n error = \"\",\n label = \"\",\n className = \"\",\n maxLength,\n unlimitedChars = false,\n labelProps,\n onBlur,\n disableTrimOnBlur = false,\n ...otherProps\n },\n ref\n ) => {\n const [valueInternal, setValueInternal] = useState(\"\");\n\n const value = otherProps.value ?? valueInternal ?? \"\";\n\n const id = useId(otherProps.id);\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n const textareaRef = useSyncedRef(ref);\n\n const valueLength = value?.toString().length || 0;\n const isCharacterLimitVisible = valueLength >= maxLength * 0.85;\n const maxLengthError = unlimitedChars && valueLength > maxLength;\n\n const onChangeInternal = e => setValueInternal(e.target.value);\n const onChange = otherProps.onChange ?? onChangeInternal;\n const isMaxLengthPresent = !!maxLength || maxLength === 0;\n\n useEffect(() => {\n textareaRef.current.style.minHeight = \"22px\";\n textareaRef.current.style.height = \"auto\";\n const scrollHeight = textareaRef.current.scrollHeight;\n textareaRef.current.style.height = `${scrollHeight + 1}px`;\n }, [value]);\n\n const handleTrimmedChangeOnBlur = e => {\n if (disableTrimOnBlur || typeof value !== \"string\") return;\n\n const trimmedValue = value.trim();\n if (value === trimmedValue) return;\n\n e.target.value = trimmedValue;\n onChange(e);\n };\n\n const handleOnBlur = e => {\n handleTrimmedChangeOnBlur(e);\n onBlur?.(e);\n };\n\n return (\n <div className={classnames([\"neeto-ui-input__wrapper\", className])}>\n <div className=\"neeto-ui-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n data-cy={`${hyphenize(label)}-label`}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCharacterLimitVisible && (\n <p\n className={classnames(\"neeto-ui-input__max-length\", {\n \"neeto-ui-input__max-length--error\": maxLengthError,\n })}\n >\n {valueLength}/{maxLength}\n </p>\n )}\n </div>\n <div\n data-cy={`${hyphenize(label)}-text-input`}\n className={classnames(\"neeto-ui-input\", \"neeto-ui-input--textarea\", {\n \"neeto-ui-input--error\": !!error,\n \"neeto-ui-input--disabled\": !!disabled,\n \"neeto-ui-input--naked\": !!nakedTextarea,\n \"neeto-ui-input--small\": size === SIZES.small,\n \"neeto-ui-input--medium\": size === SIZES.medium,\n \"neeto-ui-input--large\": size === SIZES.large,\n \"neeto-ui-input--resize--vertical\": resize === RESIZE.vertical,\n \"neeto-ui-input--resize--none\": resize === RESIZE.none,\n })}\n >\n {prefix && <div className=\"neeto-ui-input__prefix\">{prefix}</div>}\n <textarea\n ref={textareaRef}\n rows={ROWS[size]}\n {...{\n disabled,\n ...(isMaxLengthPresent && !unlimitedChars && { maxLength }),\n ...otherProps,\n onChange,\n value,\n }}\n onBlur={handleOnBlur}\n />\n {suffix && <div className=\"neeto-ui-input__suffix\">{suffix}</div>}\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 {helpText && (\n <p className=\"neeto-ui-input__help-text\" id={helpTextId}>\n {helpText}\n </p>\n )}\n </div>\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n\nTextarea.propTypes = {\n /**\n * To specify the row height of the Textarea.\n */\n rows: PropTypes.number,\n /**\n * To specify the size of Textarea.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify the label shown above the Textarea.\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 * To provide the value of the Textarea.\n */\n value: PropTypes.string,\n /**\n * To provide the error message shown below the Textarea.\n */\n error: PropTypes.string,\n /**\n * To provide the placeholder text for the Textarea.\n */\n placeholder: PropTypes.string,\n /**\n * To specify whether the Textarea is required.\n */\n required: PropTypes.bool,\n /**\n * To specify whether the Textarea is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To provide additional classnames to the Textarea container.\n */\n className: PropTypes.string,\n /**\n * The resize property sets whether the Textarea is resizable.\n */\n resize: PropTypes.oneOf(Object.values(RESIZE)),\n /**\n * To specify the text that appears below the Textarea.\n */\n helpText: PropTypes.string,\n /**\n * To create a Textarea without any borders.\n */\n nakedTextarea: PropTypes.bool,\n /**\n * To specify a maximum character limit to the Textarea. Charater limit is visible only if the Textarea value is greater than or equal to 85% of the maximum character limit.\n */\n maxLength: PropTypes.number,\n /**\n * To be used along with maxLength prop. When set to true the character limit will not be enforced and character count will be shown in error state if the character limit is exceeded.\n */\n unlimitedChars: PropTypes.bool,\n /**\n * To specify the content to be added at the end of the Textarea.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Textarea.\n */\n prefix: PropTypes.node,\n /**\n * To disable leading and trailing white spaces onBlur.\n */\n disableTrimOnBlur: PropTypes.bool,\n};\n\nexport default Textarea;\n"],"names":["SIZES","small","medium","large","ROWS","RESIZE","vertical","none","Textarea","forwardRef","_ref","ref","_ref2","_otherProps$value","_otherProps$onChange","_ref$size","size","_ref$resize","resize","_ref$suffix","suffix","_ref$prefix","prefix","_ref$disabled","disabled","_ref$required","required","_ref$nakedTextarea","nakedTextarea","_ref$helpText","helpText","_ref$error","error","_ref$label","label","_ref$className","className","maxLength","_ref$unlimitedChars","unlimitedChars","labelProps","onBlur","_ref$disableTrimOnBlu","disableTrimOnBlur","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","valueInternal","setValueInternal","value","id","useId","errorId","concat","helpTextId","textareaRef","useSyncedRef","valueLength","toString","length","isCharacterLimitVisible","maxLengthError","onChangeInternal","e","target","onChange","isMaxLengthPresent","useEffect","current","style","minHeight","height","scrollHeight","handleTrimmedChangeOnBlur","trimmedValue","trim","handleOnBlur","React","createElement","classnames","Label","_extends","hyphenize","htmlFor","rows","_objectSpread","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"Textarea.js","sources":["../src/components/Textarea.jsx"],"sourcesContent":["import React, { useState, useEffect, forwardRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport { useSyncedRef, useId } from \"hooks\";\nimport { hyphenize } from \"utils\";\n\nimport Label from \"./Label\";\n\nconst SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst ROWS = { small: 1, medium: 3, large: 4 };\n\nconst RESIZE = { vertical: \"vertical\", none: \"none\" };\n\nconst Textarea = forwardRef(\n (\n {\n size = SIZES.medium,\n resize = RESIZE.vertical,\n suffix = null,\n prefix = null,\n disabled = false,\n required = false,\n nakedTextarea = false,\n helpText = \"\",\n error = \"\",\n label = \"\",\n className = \"\",\n maxLength,\n unlimitedChars = false,\n labelProps,\n onBlur,\n disableTrimOnBlur = false,\n ...otherProps\n },\n ref\n ) => {\n const [valueInternal, setValueInternal] = useState(\"\");\n\n const value = otherProps.value ?? valueInternal ?? \"\";\n\n const id = useId(otherProps.id);\n const errorId = `error_${id}`;\n const helpTextId = `helpText_${id}`;\n const textareaRef = useSyncedRef(ref);\n\n const valueLength = value?.toString().length || 0;\n const isCharacterLimitVisible = valueLength >= maxLength * 0.85;\n const maxLengthError = unlimitedChars && valueLength > maxLength;\n\n const onChangeInternal = e => setValueInternal(e.target.value);\n const onChange = otherProps.onChange ?? onChangeInternal;\n const isMaxLengthPresent = !!maxLength || maxLength === 0;\n\n useEffect(() => {\n textareaRef.current.style.minHeight = \"22px\";\n textareaRef.current.style.height = \"auto\";\n const scrollHeight = textareaRef.current.scrollHeight;\n textareaRef.current.style.height = `${scrollHeight + 1}px`;\n }, [value]);\n\n const handleTrimmedChangeOnBlur = e => {\n if (disableTrimOnBlur || typeof value !== \"string\") return;\n\n const trimmedValue = value.trim();\n if (value === trimmedValue) return;\n\n e.target.value = trimmedValue;\n onChange(e);\n };\n\n const handleOnBlur = e => {\n handleTrimmedChangeOnBlur(e);\n onBlur?.(e);\n };\n\n return (\n <div className={classnames([\"neeto-ui-input__wrapper\", className])}>\n <div className=\"neeto-ui-input__label-wrapper\">\n {label && (\n <Label\n {...{ required }}\n data-cy={`${hyphenize(label)}-label`}\n htmlFor={id}\n {...labelProps}\n >\n {label}\n </Label>\n )}\n {isCharacterLimitVisible && (\n <p\n className={classnames(\"neeto-ui-input__max-length\", {\n \"neeto-ui-input__max-length--error\": maxLengthError,\n })}\n >\n {valueLength}/{maxLength}\n </p>\n )}\n </div>\n <div\n data-cy={`${hyphenize(label)}-text-input`}\n className={classnames(\"neeto-ui-input\", \"neeto-ui-input--textarea\", {\n \"neeto-ui-input--error\": !!error,\n \"neeto-ui-input--disabled\": !!disabled,\n \"neeto-ui-input--naked\": !!nakedTextarea,\n \"neeto-ui-input--small\": size === SIZES.small,\n \"neeto-ui-input--medium\": size === SIZES.medium,\n \"neeto-ui-input--large\": size === SIZES.large,\n \"neeto-ui-input--resize--vertical\": resize === RESIZE.vertical,\n \"neeto-ui-input--resize--none\": resize === RESIZE.none,\n })}\n >\n {prefix && <div className=\"neeto-ui-input__prefix\">{prefix}</div>}\n <textarea\n ref={textareaRef}\n rows={ROWS[size]}\n {...{\n disabled,\n ...(isMaxLengthPresent && !unlimitedChars && { maxLength }),\n ...otherProps,\n onChange,\n value,\n }}\n onBlur={handleOnBlur}\n />\n {suffix && <div className=\"neeto-ui-input__suffix\">{suffix}</div>}\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 {helpText && (\n <p className=\"neeto-ui-input__help-text\" id={helpTextId}>\n {helpText}\n </p>\n )}\n </div>\n );\n }\n);\n\nTextarea.displayName = \"Textarea\";\n\nTextarea.propTypes = {\n /**\n * To specify the row height of the Textarea.\n */\n rows: PropTypes.number,\n /**\n * To specify the size of Textarea.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify the label shown above the Textarea.\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 * To provide the value of the Textarea.\n */\n value: PropTypes.string,\n /**\n * To provide the error message shown below the Textarea.\n */\n error: PropTypes.string,\n /**\n * To provide the placeholder text for the Textarea.\n */\n placeholder: PropTypes.string,\n /**\n * To specify whether the Textarea is required.\n */\n required: PropTypes.bool,\n /**\n * To specify whether the Textarea is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To provide additional classnames to the Textarea container.\n */\n className: PropTypes.string,\n /**\n * The resize property sets whether the Textarea is resizable.\n */\n resize: PropTypes.oneOf(Object.values(RESIZE)),\n /**\n * To specify the text that appears below the Textarea.\n */\n helpText: PropTypes.string,\n /**\n * To create a Textarea without any borders.\n */\n nakedTextarea: PropTypes.bool,\n /**\n * To specify a maximum character limit to the Textarea. Charater limit is visible only if the Textarea value is greater than or equal to 85% of the maximum character limit.\n */\n maxLength: PropTypes.number,\n /**\n * To be used along with maxLength prop. When set to true the character limit will not be enforced and character count will be shown in error state if the character limit is exceeded.\n */\n unlimitedChars: PropTypes.bool,\n /**\n * To specify the content to be added at the end of the Textarea.\n */\n suffix: PropTypes.node,\n /**\n * To specify the content to be added at the beginning of the Textarea.\n */\n prefix: PropTypes.node,\n /**\n * To disable leading and trailing white spaces onBlur.\n */\n disableTrimOnBlur: PropTypes.bool,\n};\n\nexport default Textarea;\n"],"names":["SIZES","small","medium","large","ROWS","RESIZE","vertical","none","Textarea","forwardRef","_ref","ref","_ref2","_otherProps$value","_otherProps$onChange","_ref$size","size","_ref$resize","resize","_ref$suffix","suffix","_ref$prefix","prefix","_ref$disabled","disabled","_ref$required","required","_ref$nakedTextarea","nakedTextarea","_ref$helpText","helpText","_ref$error","error","_ref$label","label","_ref$className","className","maxLength","_ref$unlimitedChars","unlimitedChars","labelProps","onBlur","_ref$disableTrimOnBlu","disableTrimOnBlur","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","valueInternal","setValueInternal","value","id","useId","errorId","concat","helpTextId","textareaRef","useSyncedRef","valueLength","toString","length","isCharacterLimitVisible","maxLengthError","onChangeInternal","e","target","onChange","isMaxLengthPresent","useEffect","current","style","minHeight","height","scrollHeight","handleTrimmedChangeOnBlur","trimmedValue","trim","handleOnBlur","React","createElement","classnames","Label","_extends","hyphenize","htmlFor","rows","_objectSpread","displayName"],"mappings":"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"}
@@ -1,27 +1,36 @@
1
1
  import _ConfigProvider from 'antd/lib/config-provider';
2
- import { _ as _extends } from './extends-093996c9.js';
3
- import { _ as _defineProperty } from './defineProperty-e5245270.js';
4
- import { _ as _objectWithoutProperties } from './objectWithoutProperties-a0edb288.js';
2
+ import _extends from '@babel/runtime/helpers/extends';
3
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
5
  import React__default, { forwardRef } from 'react';
6
- import { c as classnames } from './index-3659771d.js';
6
+ import classnames from 'classnames';
7
7
  import { Clock } from '@bigbinary/neeto-icons';
8
8
  import Label from './Label.js';
9
9
  import { u as useId } from './useId-c1d20bba.js';
10
+ import '@babel/runtime/helpers/slicedToArray';
10
11
  import 'react-router-dom';
11
- import './index-7fae3611.js';
12
+ import '@bigbinary/neeto-hotkeys';
12
13
  import './overlayManager.js';
13
- import { c as convertToDayjsObjects, h as hyphenize, A as ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES, n as noop } from './index-c8d9113c.js';
14
+ import { c as convertToDayjsObjects, h as hyphenize, A as ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES, n as noop } from './index-9d5142b4.js';
15
+ import 'qs';
14
16
  import { u as useSyncedRef } from './useSyncedRef-226a3dbc.js';
15
17
  import _DatePicker from 'antd/lib/date-picker';
16
- import './toPropertyKey-bdc24cb9.js';
17
- import './index-c442518b.js';
18
- import './slicedToArray-45fa766e.js';
18
+ import './Button.js';
19
+ import './motion-087daf52.js';
20
+ import './Tooltip.js';
21
+ import '@tippyjs/react';
19
22
  import 'tippy.js';
20
- import 'react-dom';
21
- import 'ramda';
22
- import './createClass-601a36b2.js';
23
+ import './Popover.js';
24
+ import './Typography.js';
25
+ import '@babel/runtime/helpers/classCallCheck';
26
+ import '@babel/runtime/helpers/createClass';
27
+ import 'dayjs';
28
+ import 'dayjs/plugin/localeData';
29
+ import 'dayjs/plugin/utc';
30
+ import 'dayjs/plugin/weekday';
31
+ import 'dayjs/plugin/weekOfYear';
23
32
  import '@bigbinary/neeto-cist';
24
- import 'util';
33
+ import 'ramda';
25
34
 
26
35
  var RangePicker = _DatePicker.RangePicker;
27
36
  var TIME_PICKER_TYPES = {
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.js","sources":["../src/components/TimePicker/constants.js","../src/components/TimePicker/index.jsx"],"sourcesContent":["import { DatePicker as AntTimePicker } from \"antd\";\n\nconst { RangePicker } = AntTimePicker;\n\nexport const TIME_PICKER_TYPES = {\n range: RangePicker,\n time: AntTimePicker,\n};\n","import React, { forwardRef } from \"react\";\n\nimport { ConfigProvider } from \"antd\";\nimport classnames from \"classnames\";\nimport { Clock } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nimport Label from \"components/Label\";\nimport { useSyncedRef, useId } from \"hooks\";\nimport {\n convertToDayjsObjects,\n noop,\n hyphenize,\n ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES,\n} from \"utils\";\n\nimport { TIME_PICKER_TYPES } from \"./constants\";\n\nconst INPUT_SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst TIME_PICKER_INTERVAL = {\n hourStep: 1,\n minuteStep: 1,\n secondStep: 1,\n};\n\nconst TimePicker = forwardRef(\n (\n {\n className = \"\",\n label = \"\",\n size = INPUT_SIZES.medium,\n dropdownClassName = \"\",\n popupClassName = \"\",\n format = \"HH:mm:ss\",\n interval = TIME_PICKER_INTERVAL,\n onChange = noop,\n type = \"time\",\n nakedInput = false,\n disabled = false,\n error = \"\",\n defaultValue,\n value,\n labelProps,\n required = false,\n ...otherProps\n },\n ref\n ) => {\n const id = useId(otherProps.id);\n const timePickerRef = useSyncedRef(ref);\n\n const Component = TIME_PICKER_TYPES[type.toLowerCase()];\n\n const errorId = `error_${id}`;\n\n const showTimeLabels = {};\n if (format.includes(\"s\")) {\n showTimeLabels.second = true;\n }\n\n if (format.includes(\"m\")) {\n showTimeLabels.minute = true;\n }\n\n if (format.includes(\"H\") || format.includes(\"h\")) {\n showTimeLabels.hour = true;\n }\n\n const handleOnChange = (time, timeString) => {\n type === \"range\" && !time\n ? onChange([], timeString)\n : onChange(time, timeString);\n };\n\n const panelRender = originalPanel => (\n <div className=\"neeto-ui-date-input-custom-panel\">\n <div className=\"neeto-ui-date-input-custom-panel__header\">\n <ul className=\"neeto-ui-date-input-custom-panel__header-cols\">\n {showTimeLabels.hour && (\n <li className=\"neeto-ui-date-input-custom-panel__header-col\">\n Hour\n </li>\n )}\n {showTimeLabels.minute && (\n <li className=\"neeto-ui-date-input-custom-panel__header-col\">\n Minutes\n </li>\n )}\n {showTimeLabels.second && (\n <li className=\"neeto-ui-date-input-custom-panel__header-col\">\n Seconds\n </li>\n )}\n </ul>\n </div>\n <div className=\"neeto-ui-date-input-custom-panel__body\">\n {originalPanel}\n </div>\n </div>\n );\n\n return (\n <ConfigProvider\n theme={{\n token: { ...ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES },\n components: {\n DatePicker: {\n // Global overrides\n colorBgElevated: \"rgb(var(--neeto-ui-white))\",\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n colorPrimaryHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorBorder: \"rgb(var(--neeto-ui-gray-300))\",\n colorLink: \"rgb(var(--neeto-ui-primary-500))\",\n colorLinkHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorText: \"rgb(var(--neeto-ui-gray-800))\",\n colorTextDisabled: \"rgb(var(--neeto-ui-gray-500))\",\n colorTextPlaceholder: \"rgb(var(--neeto-ui-gray-400))\",\n controlItemBgActive: \"rgb(var(--neeto-ui-primary-800))\",\n controlItemBgHover: \"rgb(var(--neeto-ui-gray-100))\",\n controlOutline: \"rgb(var(--neeto-ui-gray-300))\",\n },\n },\n }}\n >\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required, ...labelProps }}>{label}</Label>}\n <Component\n hourStep={interval.hourStep}\n minuteStep={interval.minuteStep}\n ref={timePickerRef}\n secondStep={interval.secondStep}\n className={classnames(\"neeto-ui-time-input\", [className], {\n \"neeto-ui-time-input--small\": size === \"small\",\n \"neeto-ui-time-input--medium\": size === \"medium\",\n \"neeto-ui-time-input--large\": size === \"large\",\n \"neeto-ui-time-input--disabled\": disabled,\n \"neeto-ui-time-input--naked\": nakedInput,\n \"neeto-ui-time-input--error\": error,\n })}\n popupClassName={classnames(\"neeto-ui-date-time-dropdown\", [\n dropdownClassName, // Will be removed in the next major version\n popupClassName,\n ])}\n onChange={handleOnChange}\n {...{ disabled, format, ...otherProps, panelRender }}\n defaultValue={convertToDayjsObjects(defaultValue)}\n mode={undefined}\n picker=\"time\"\n suffixIcon={<Clock size={16} />}\n value={convertToDayjsObjects(value)}\n />\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 </ConfigProvider>\n );\n }\n);\n\nTimePicker.displayName = \"TimePicker\";\n\nTimePicker.propTypes = {\n /**\n * To provide external classnames to TimePicker component.\n */\n className: PropTypes.string,\n /**\n * To set the text to be displayed above the TimePicker.\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 * To set the size of the TimePicker.\n */\n size: PropTypes.oneOf(Object.values(INPUT_SIZES)),\n /**\n * To set the TimePicker as naked Input field.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify the error message to be shown in the TimePicker.\n */\n error: PropTypes.string,\n /**\n * To specify the time format.\n */\n format: PropTypes.string,\n /**\n * To specify the time interval.\n */\n interval: PropTypes.object,\n /**\n * For `TimeInput`,(time, timeString) => {} <br />\n * For `TimeRange`, (time, [startTime, endTime]) => {}\n */\n onChange: PropTypes.func,\n /**\n * To specify the type of the TimePicker.\n */\n type: PropTypes.oneOf([\"time\", \"range\"]),\n /**\n * To set TimePicker as disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To specify the values to be displayed inside the TimePicker.\n */\n value: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * To specify custom classnames to be applied to the TimePicker dropdown.\n */\n dropdownClassName: PropTypes.string,\n /**\n * To specify the default values to be displayed inside the TimePicker.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * To specify whether the Time picker is required or not.\n */\n required: PropTypes.bool,\n};\n\nexport default TimePicker;\n"],"names":["RangePicker","_DatePicker","TIME_PICKER_TYPES","range","time","INPUT_SIZES","small","medium","large","TIME_PICKER_INTERVAL","hourStep","minuteStep","secondStep","TimePicker","forwardRef","_ref","ref","_ref$className","className","_ref$label","label","_ref$size","size","_ref$dropdownClassNam","dropdownClassName","_ref$popupClassName","popupClassName","_ref$format","format","_ref$interval","interval","_ref$onChange","onChange","noop","_ref$type","type","_ref$nakedInput","nakedInput","_ref$disabled","disabled","_ref$error","error","defaultValue","value","labelProps","_ref$required","required","otherProps","_objectWithoutProperties","_excluded","id","useId","timePickerRef","useSyncedRef","Component","toLowerCase","errorId","concat","showTimeLabels","includes","second","minute","hour","handleOnChange","timeString","panelRender","originalPanel","React","createElement","_ConfigProvider","theme","token","_objectSpread","ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES","components","DatePicker","colorBgElevated","colorPrimary","colorPrimaryHover","colorBorder","colorLink","colorLinkHover","colorText","colorTextDisabled","colorTextPlaceholder","controlItemBgActive","controlItemBgHover","controlOutline","Label","_extends","classnames","convertToDayjsObjects","mode","undefined","picker","suffixIcon","Clock","hyphenize","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"TimePicker.js","sources":["../src/components/TimePicker/constants.js","../src/components/TimePicker/index.jsx"],"sourcesContent":["import { DatePicker as AntTimePicker } from \"antd\";\n\nconst { RangePicker } = AntTimePicker;\n\nexport const TIME_PICKER_TYPES = {\n range: RangePicker,\n time: AntTimePicker,\n};\n","import React, { forwardRef } from \"react\";\n\nimport { ConfigProvider } from \"antd\";\nimport classnames from \"classnames\";\nimport { Clock } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nimport Label from \"components/Label\";\nimport { useSyncedRef, useId } from \"hooks\";\nimport {\n convertToDayjsObjects,\n noop,\n hyphenize,\n ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES,\n} from \"utils\";\n\nimport { TIME_PICKER_TYPES } from \"./constants\";\n\nconst INPUT_SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst TIME_PICKER_INTERVAL = {\n hourStep: 1,\n minuteStep: 1,\n secondStep: 1,\n};\n\nconst TimePicker = forwardRef(\n (\n {\n className = \"\",\n label = \"\",\n size = INPUT_SIZES.medium,\n dropdownClassName = \"\",\n popupClassName = \"\",\n format = \"HH:mm:ss\",\n interval = TIME_PICKER_INTERVAL,\n onChange = noop,\n type = \"time\",\n nakedInput = false,\n disabled = false,\n error = \"\",\n defaultValue,\n value,\n labelProps,\n required = false,\n ...otherProps\n },\n ref\n ) => {\n const id = useId(otherProps.id);\n const timePickerRef = useSyncedRef(ref);\n\n const Component = TIME_PICKER_TYPES[type.toLowerCase()];\n\n const errorId = `error_${id}`;\n\n const showTimeLabels = {};\n if (format.includes(\"s\")) {\n showTimeLabels.second = true;\n }\n\n if (format.includes(\"m\")) {\n showTimeLabels.minute = true;\n }\n\n if (format.includes(\"H\") || format.includes(\"h\")) {\n showTimeLabels.hour = true;\n }\n\n const handleOnChange = (time, timeString) => {\n type === \"range\" && !time\n ? onChange([], timeString)\n : onChange(time, timeString);\n };\n\n const panelRender = originalPanel => (\n <div className=\"neeto-ui-date-input-custom-panel\">\n <div className=\"neeto-ui-date-input-custom-panel__header\">\n <ul className=\"neeto-ui-date-input-custom-panel__header-cols\">\n {showTimeLabels.hour && (\n <li className=\"neeto-ui-date-input-custom-panel__header-col\">\n Hour\n </li>\n )}\n {showTimeLabels.minute && (\n <li className=\"neeto-ui-date-input-custom-panel__header-col\">\n Minutes\n </li>\n )}\n {showTimeLabels.second && (\n <li className=\"neeto-ui-date-input-custom-panel__header-col\">\n Seconds\n </li>\n )}\n </ul>\n </div>\n <div className=\"neeto-ui-date-input-custom-panel__body\">\n {originalPanel}\n </div>\n </div>\n );\n\n return (\n <ConfigProvider\n theme={{\n token: { ...ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES },\n components: {\n DatePicker: {\n // Global overrides\n colorBgElevated: \"rgb(var(--neeto-ui-white))\",\n colorPrimary: \"rgb(var(--neeto-ui-primary-500))\",\n colorPrimaryHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorBorder: \"rgb(var(--neeto-ui-gray-300))\",\n colorLink: \"rgb(var(--neeto-ui-primary-500))\",\n colorLinkHover: \"rgb(var(--neeto-ui-primary-600))\",\n colorText: \"rgb(var(--neeto-ui-gray-800))\",\n colorTextDisabled: \"rgb(var(--neeto-ui-gray-500))\",\n colorTextPlaceholder: \"rgb(var(--neeto-ui-gray-400))\",\n controlItemBgActive: \"rgb(var(--neeto-ui-primary-800))\",\n controlItemBgHover: \"rgb(var(--neeto-ui-gray-100))\",\n controlOutline: \"rgb(var(--neeto-ui-gray-300))\",\n },\n },\n }}\n >\n <div className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required, ...labelProps }}>{label}</Label>}\n <Component\n hourStep={interval.hourStep}\n minuteStep={interval.minuteStep}\n ref={timePickerRef}\n secondStep={interval.secondStep}\n className={classnames(\"neeto-ui-time-input\", [className], {\n \"neeto-ui-time-input--small\": size === \"small\",\n \"neeto-ui-time-input--medium\": size === \"medium\",\n \"neeto-ui-time-input--large\": size === \"large\",\n \"neeto-ui-time-input--disabled\": disabled,\n \"neeto-ui-time-input--naked\": nakedInput,\n \"neeto-ui-time-input--error\": error,\n })}\n popupClassName={classnames(\"neeto-ui-date-time-dropdown\", [\n dropdownClassName, // Will be removed in the next major version\n popupClassName,\n ])}\n onChange={handleOnChange}\n {...{ disabled, format, ...otherProps, panelRender }}\n defaultValue={convertToDayjsObjects(defaultValue)}\n mode={undefined}\n picker=\"time\"\n suffixIcon={<Clock size={16} />}\n value={convertToDayjsObjects(value)}\n />\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 </ConfigProvider>\n );\n }\n);\n\nTimePicker.displayName = \"TimePicker\";\n\nTimePicker.propTypes = {\n /**\n * To provide external classnames to TimePicker component.\n */\n className: PropTypes.string,\n /**\n * To set the text to be displayed above the TimePicker.\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 * To set the size of the TimePicker.\n */\n size: PropTypes.oneOf(Object.values(INPUT_SIZES)),\n /**\n * To set the TimePicker as naked Input field.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify the error message to be shown in the TimePicker.\n */\n error: PropTypes.string,\n /**\n * To specify the time format.\n */\n format: PropTypes.string,\n /**\n * To specify the time interval.\n */\n interval: PropTypes.object,\n /**\n * For `TimeInput`,(time, timeString) => {} <br />\n * For `TimeRange`, (time, [startTime, endTime]) => {}\n */\n onChange: PropTypes.func,\n /**\n * To specify the type of the TimePicker.\n */\n type: PropTypes.oneOf([\"time\", \"range\"]),\n /**\n * To set TimePicker as disabled.\n */\n disabled: PropTypes.bool,\n /**\n * To specify the values to be displayed inside the TimePicker.\n */\n value: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * To specify custom classnames to be applied to the TimePicker dropdown.\n */\n dropdownClassName: PropTypes.string,\n /**\n * To specify the default values to be displayed inside the TimePicker.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * To specify whether the Time picker is required or not.\n */\n required: PropTypes.bool,\n};\n\nexport default TimePicker;\n"],"names":["RangePicker","_DatePicker","TIME_PICKER_TYPES","range","time","INPUT_SIZES","small","medium","large","TIME_PICKER_INTERVAL","hourStep","minuteStep","secondStep","TimePicker","forwardRef","_ref","ref","_ref$className","className","_ref$label","label","_ref$size","size","_ref$dropdownClassNam","dropdownClassName","_ref$popupClassName","popupClassName","_ref$format","format","_ref$interval","interval","_ref$onChange","onChange","noop","_ref$type","type","_ref$nakedInput","nakedInput","_ref$disabled","disabled","_ref$error","error","defaultValue","value","labelProps","_ref$required","required","otherProps","_objectWithoutProperties","_excluded","id","useId","timePickerRef","useSyncedRef","Component","toLowerCase","errorId","concat","showTimeLabels","includes","second","minute","hour","handleOnChange","timeString","panelRender","originalPanel","React","createElement","_ConfigProvider","theme","token","_objectSpread","ANT_DESIGN_GLOBAL_TOKEN_OVERRIDES","components","DatePicker","colorBgElevated","colorPrimary","colorPrimaryHover","colorBorder","colorLink","colorLinkHover","colorText","colorTextDisabled","colorTextPlaceholder","controlItemBgActive","controlItemBgHover","controlOutline","Label","_extends","classnames","convertToDayjsObjects","mode","undefined","picker","suffixIcon","Clock","hyphenize","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAQA,WAAW,GAAAC,WAAA,CAAXD,WAAW,CAAA;AAEZ,IAAME,iBAAiB,GAAG;AAC/BC,EAAAA,KAAK,EAAEH,WAAW;AAClBI,EAAAA,IAAI,EAAAH,WAAAA;AACN,CAAC;;;;;ACWD,IAAMI,WAAW,GAAG;AAAEC,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,MAAM,EAAE,QAAQ;AAAEC,EAAAA,KAAK,EAAE,OAAA;AAAQ,CAAC,CAAA;AAExE,IAAMC,oBAAoB,GAAG;AAC3BC,EAAAA,QAAQ,EAAE,CAAC;AACXC,EAAAA,UAAU,EAAE,CAAC;AACbC,EAAAA,UAAU,EAAE,CAAA;AACd,CAAC,CAAA;AAEKC,IAAAA,UAAU,gBAAGC,UAAU,CAC3B,UAAAC,IAAA,EAoBEC,GAAG,EACA;AAAA,EAAA,IAAAC,cAAA,GAAAF,IAAA,CAnBDG,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAE,UAAA,GAAAJ,IAAA,CACdK,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAE,SAAA,GAAAN,IAAA,CACVO,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAGhB,WAAW,CAACE,MAAM,GAAAc,SAAA;IAAAE,qBAAA,GAAAR,IAAA,CACzBS,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAE,mBAAA,GAAAV,IAAA,CACtBW,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,mBAAA;IAAAE,WAAA,GAAAZ,IAAA,CACnBa,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,UAAU,GAAAA,WAAA;IAAAE,aAAA,GAAAd,IAAA,CACnBe,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAGpB,KAAAA,CAAAA,GAAAA,oBAAoB,GAAAoB,aAAA;IAAAE,aAAA,GAAAhB,IAAA,CAC/BiB,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,aAAA;IAAAG,SAAA,GAAAnB,IAAA,CACfoB,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;IAAAE,eAAA,GAAArB,IAAA,CACbsB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAAAE,aAAA,GAAAvB,IAAA,CAClBwB,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAAAE,UAAA,GAAAzB,IAAA,CAChB0B,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IACVE,YAAY,GAAA3B,IAAA,CAAZ2B,YAAY;IACZC,KAAK,GAAA5B,IAAA,CAAL4B,KAAK;IACLC,UAAU,GAAA7B,IAAA,CAAV6B,UAAU;IAAAC,aAAA,GAAA9B,IAAA,CACV+B,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;AACbE,IAAAA,UAAU,GAAAC,wBAAA,CAAAjC,IAAA,EAAAkC,SAAA,CAAA,CAAA;AAIf,EAAA,IAAMC,EAAE,GAAGC,KAAK,CAACJ,UAAU,CAACG,EAAE,CAAC,CAAA;AAC/B,EAAA,IAAME,aAAa,GAAGC,YAAY,CAACrC,GAAG,CAAC,CAAA;EAEvC,IAAMsC,SAAS,GAAGpD,iBAAiB,CAACiC,IAAI,CAACoB,WAAW,EAAE,CAAC,CAAA;AAEvD,EAAA,IAAMC,OAAO,GAAA,QAAA,CAAAC,MAAA,CAAYP,EAAE,CAAE,CAAA;EAE7B,IAAMQ,cAAc,GAAG,EAAE,CAAA;AACzB,EAAA,IAAI9B,MAAM,CAAC+B,QAAQ,CAAC,GAAG,CAAC,EAAE;IACxBD,cAAc,CAACE,MAAM,GAAG,IAAI,CAAA;AAC9B,GAAA;AAEA,EAAA,IAAIhC,MAAM,CAAC+B,QAAQ,CAAC,GAAG,CAAC,EAAE;IACxBD,cAAc,CAACG,MAAM,GAAG,IAAI,CAAA;AAC9B,GAAA;AAEA,EAAA,IAAIjC,MAAM,CAAC+B,QAAQ,CAAC,GAAG,CAAC,IAAI/B,MAAM,CAAC+B,QAAQ,CAAC,GAAG,CAAC,EAAE;IAChDD,cAAc,CAACI,IAAI,GAAG,IAAI,CAAA;AAC5B,GAAA;EAEA,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAI3D,IAAI,EAAE4D,UAAU,EAAK;AAC3C7B,IAAAA,IAAI,KAAK,OAAO,IAAI,CAAC/B,IAAI,GACrB4B,QAAQ,CAAC,EAAE,EAAEgC,UAAU,CAAC,GACxBhC,QAAQ,CAAC5B,IAAI,EAAE4D,UAAU,CAAC,CAAA;GAC/B,CAAA;AAED,EAAA,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAGC,aAAa,EAAA;IAAA,oBAC/BC,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKlD,MAAAA,SAAS,EAAC,kCAAA;KACbiD,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKlD,MAAAA,SAAS,EAAC,0CAAA;KACbiD,eAAAA,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIlD,MAAAA,SAAS,EAAC,+CAAA;AAA+C,KAAA,EAC1DwC,cAAc,CAACI,IAAI,iBAClBK,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIlD,MAAAA,SAAS,EAAC,8CAAA;KAA+C,EAAA,MAE7D,CACD,EACAwC,cAAc,CAACG,MAAM,iBACpBM,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIlD,MAAAA,SAAS,EAAC,8CAAA;KAA+C,EAAA,SAE7D,CACD,EACAwC,cAAc,CAACE,MAAM,iBACpBO,cAAA,CAAAC,aAAA,CAAA,IAAA,EAAA;AAAIlD,MAAAA,SAAS,EAAC,8CAAA;AAA8C,KAAA,EAAC,SAE7D,CACD,CACE,CACD,eACNiD,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKlD,MAAAA,SAAS,EAAC,wCAAA;KACZgD,EAAAA,aAAa,CACV,CACF,CAAA;GACP,CAAA;AAED,EAAA,oBACEC,cAAA,CAAAC,aAAA,CAAAC,eAAA,EAAA;AACEC,IAAAA,KAAK,EAAE;AACLC,MAAAA,KAAK,EAAAC,aAAA,CAAOC,EAAAA,EAAAA,iCAAiC,CAAE;AAC/CC,MAAAA,UAAU,EAAE;AACVC,QAAAA,UAAU,EAAE;AACV;AACAC,UAAAA,eAAe,EAAE,4BAA4B;AAC7CC,UAAAA,YAAY,EAAE,kCAAkC;AAChDC,UAAAA,iBAAiB,EAAE,kCAAkC;AACrDC,UAAAA,WAAW,EAAE,+BAA+B;AAC5CC,UAAAA,SAAS,EAAE,kCAAkC;AAC7CC,UAAAA,cAAc,EAAE,kCAAkC;AAClDC,UAAAA,SAAS,EAAE,+BAA+B;AAC1CC,UAAAA,iBAAiB,EAAE,+BAA+B;AAClDC,UAAAA,oBAAoB,EAAE,+BAA+B;AACrDC,UAAAA,mBAAmB,EAAE,kCAAkC;AACvDC,UAAAA,kBAAkB,EAAE,+BAA+B;AACnDC,UAAAA,cAAc,EAAE,+BAAA;AAClB,SAAA;AACF,OAAA;AACF,KAAA;GAEApB,eAAAA,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKlD,IAAAA,SAAS,EAAC,yBAAA;GACZE,EAAAA,KAAK,iBAAI+C,cAAA,CAAAC,aAAA,CAACoB,KAAK,EAAAhB,aAAA,CAAA;AAAO1B,IAAAA,QAAQ,EAARA,QAAAA;GAAaF,EAAAA,UAAU,CAAKxB,EAAAA,KAAK,CAAS,eACjE+C,cAAA,CAAAC,aAAA,CAACd,SAAS,EAAAmC,QAAA,CAAA;IACR/E,QAAQ,EAAEoB,QAAQ,CAACpB,QAAS;IAC5BC,UAAU,EAAEmB,QAAQ,CAACnB,UAAW;AAChCK,IAAAA,GAAG,EAAEoC,aAAc;IACnBxC,UAAU,EAAEkB,QAAQ,CAAClB,UAAW;IAChCM,SAAS,EAAEwE,UAAU,CAAC,qBAAqB,EAAE,CAACxE,SAAS,CAAC,EAAE;MACxD,4BAA4B,EAAEI,IAAI,KAAK,OAAO;MAC9C,6BAA6B,EAAEA,IAAI,KAAK,QAAQ;MAChD,4BAA4B,EAAEA,IAAI,KAAK,OAAO;AAC9C,MAAA,+BAA+B,EAAEiB,QAAQ;AACzC,MAAA,4BAA4B,EAAEF,UAAU;AACxC,MAAA,4BAA4B,EAAEI,KAAAA;AAChC,KAAC,CAAE;AACHf,IAAAA,cAAc,EAAEgE,UAAU,CAAC,6BAA6B,EAAE,CACxDlE,iBAAiB;AAAE;AACnBE,IAAAA,cAAc,CACf,CAAE;AACHM,IAAAA,QAAQ,EAAE+B,cAAAA;GAAeS,EAAAA,aAAA,CAAAA,aAAA,CAAA;AACnBjC,IAAAA,QAAQ,EAARA,QAAQ;AAAEX,IAAAA,MAAM,EAANA,MAAAA;AAAM,GAAA,EAAKmB,UAAU,CAAA,EAAA,EAAA,EAAA;AAAEkB,IAAAA,WAAW,EAAXA,WAAAA;AAAW,GAAA,CAAA,EAAA;AAClDvB,IAAAA,YAAY,EAAEiD,qBAAqB,CAACjD,YAAY,CAAE;AAClDkD,IAAAA,IAAI,EAAEC,SAAU;AAChBC,IAAAA,MAAM,EAAC,MAAM;AACbC,IAAAA,UAAU,eAAE5B,cAAA,CAAAC,aAAA,CAAC4B,KAAK,EAAA;AAAC1E,MAAAA,IAAI,EAAE,EAAA;KAAO,CAAA;IAChCqB,KAAK,EAAEgD,qBAAqB,CAAChD,KAAK,CAAA;AAAE,GAAA,CAAA,CACpC,EACD,CAAC,CAACF,KAAK,iBACN0B,cAAA,CAAAC,aAAA,CAAA,GAAA,EAAA;AACElD,IAAAA,SAAS,EAAC,uBAAuB;AACjC,IAAA,SAAA,EAAA,EAAA,CAAAuC,MAAA,CAAYwC,SAAS,CAAC7E,KAAK,CAAC,EAAe,cAAA,CAAA;AAC3C8B,IAAAA,EAAE,EAAEM,OAAAA;GAEHf,EAAAA,KAAK,CAET,CACG,CACS,CAAA;AAErB,CAAC,EACF;AAED5B,UAAU,CAACqF,WAAW,GAAG,YAAY;;;;"}
@@ -1,25 +1,262 @@
1
- import './extends-093996c9.js';
2
- import './defineProperty-e5245270.js';
3
- import './slicedToArray-45fa766e.js';
4
- import './objectWithoutProperties-a0edb288.js';
5
- import 'react';
6
- import '@wojtekmaj/react-timerange-picker';
7
- import './index-3659771d.js';
8
- import './index-c8d9113c.js';
9
- export { T as default } from './index-661b9fd6.js';
10
- import '@bigbinary/neeto-cist';
11
- import 'react-time-picker';
12
- import './Label.js';
13
- import './useId-c1d20bba.js';
1
+ import _extends from '@babel/runtime/helpers/extends';
2
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
+ import React__default, { useState, useRef, forwardRef, useEffect } from 'react';
6
+ import TimeRangePicker from '@wojtekmaj/react-timerange-picker';
7
+ import classnames from 'classnames';
8
+ import dayjs from 'dayjs';
9
+ import customParseFormat from 'dayjs/plugin/customParseFormat';
10
+ import { isPresent, isNotPresent } from '@bigbinary/neeto-cist';
11
+ import TimePicker from 'react-time-picker';
12
+ import Label from './Label.js';
13
+ import { u as useId } from './useId-c1d20bba.js';
14
14
  import 'react-router-dom';
15
- import './index-7fae3611.js';
15
+ import '@bigbinary/neeto-hotkeys';
16
16
  import './overlayManager.js';
17
- import './toPropertyKey-bdc24cb9.js';
18
- import './createClass-601a36b2.js';
19
- import 'util';
20
- import 'ramda';
21
- import '@bigbinary/neeto-icons';
22
- import './index-c442518b.js';
17
+ import { h as hyphenize, n as noop } from './index-9d5142b4.js';
18
+ import 'qs';
19
+ import { Close, Clock } from '@bigbinary/neeto-icons';
20
+ import './Button.js';
21
+ import './motion-087daf52.js';
22
+ import './Tooltip.js';
23
+ import '@tippyjs/react';
23
24
  import 'tippy.js';
24
- import 'react-dom';
25
+ import './Popover.js';
26
+ import './Typography.js';
27
+ import '@babel/runtime/helpers/classCallCheck';
28
+ import '@babel/runtime/helpers/createClass';
29
+ import 'dayjs/plugin/localeData';
30
+ import 'dayjs/plugin/utc';
31
+ import 'dayjs/plugin/weekday';
32
+ import 'dayjs/plugin/weekOfYear';
33
+ import 'ramda';
34
+
35
+ var HoverIcon = function HoverIcon(_ref) {
36
+ var _ref$time = _ref.time,
37
+ time = _ref$time === void 0 ? false : _ref$time;
38
+ var _useState = useState(false),
39
+ _useState2 = _slicedToArray(_useState, 2),
40
+ hovered = _useState2[0],
41
+ setHovered = _useState2[1];
42
+ return /*#__PURE__*/React__default.createElement("div", {
43
+ onMouseLeave: function onMouseLeave() {
44
+ return setHovered(false);
45
+ },
46
+ onMouseOver: function onMouseOver() {
47
+ return setHovered(true);
48
+ }
49
+ }, hovered && time ? /*#__PURE__*/React__default.createElement(Close, {
50
+ size: 16
51
+ }) : /*#__PURE__*/React__default.createElement(Clock, {
52
+ size: 16
53
+ }));
54
+ };
55
+
56
+ // A wrapper hook around useState, that updates a ref as well, useful when dealing directly with dom event listeners.
57
+ var useRefState = function useRefState(val) {
58
+ // eslint-disable-next-line react/hook-use-state
59
+ var _useState = useState(val),
60
+ _useState2 = _slicedToArray(_useState, 2),
61
+ value = _useState2[0],
62
+ _setValue = _useState2[1];
63
+ var valueRef = useRef(value);
64
+ var setValue = function setValue(val) {
65
+ valueRef.current = val;
66
+ _setValue(val);
67
+ };
68
+ return [value, valueRef, setValue];
69
+ };
70
+
71
+ var FORMAT = "HH:mm";
72
+ var getFormattedTime = function getFormattedTime(value) {
73
+ if (dayjs.isDayjs(value)) {
74
+ return value.toDate();
75
+ } else if (value instanceof Date || dayjs(value, FORMAT).isValid()) {
76
+ return value;
77
+ }
78
+ return null;
79
+ };
80
+ var getFormattedRange = function getFormattedRange(value) {
81
+ if (!Array.isArray(value)) return null;
82
+ return value.map(function (item) {
83
+ return getFormattedTime(item);
84
+ });
85
+ };
86
+ var toDayJs = function toDayJs(value) {
87
+ if (Array.isArray(value)) return value.map(function (item) {
88
+ return dayjs(item, FORMAT);
89
+ });
90
+ return dayjs(value, FORMAT);
91
+ };
92
+ var isValidTime = function isValidTime(minTime, maxTime, value) {
93
+ if (isPresent(minTime) && toDayJs(value).isBefore(toDayJs(minTime))) {
94
+ return false;
95
+ }
96
+ return !(isPresent(maxTime) && toDayJs(value).isAfter(toDayJs(maxTime)));
97
+ };
98
+ var isValidRange = function isValidRange(minTime, maxTime, value) {
99
+ return value.every(function (item) {
100
+ return isValid(minTime, maxTime, item);
101
+ });
102
+ };
103
+ var isValid = function isValid(minTime, maxTime, value) {
104
+ return (Array.isArray(value) ? isValidRange : isValidTime)(minTime, maxTime, value);
105
+ };
106
+ var getValidTime = function getValidTime(minTime, maxTime, value) {
107
+ if (isPresent(minTime) && toDayJs(value).isBefore(toDayJs(minTime))) {
108
+ return minTime;
109
+ }
110
+ if (isPresent(maxTime) && toDayJs(value).isAfter(toDayJs(maxTime))) {
111
+ return maxTime;
112
+ }
113
+ return value;
114
+ };
115
+ var getValidRange = function getValidRange(minTime, maxTime, value) {
116
+ return value.map(function (item) {
117
+ return getValidTime(minTime, maxTime, item);
118
+ });
119
+ };
120
+ var getValid = function getValid(minTime, maxTime, value) {
121
+ return (Array.isArray(value) ? getValidRange : getValidTime)(minTime, maxTime, value);
122
+ };
123
+
124
+ var _excluded = ["type", "className", "label", "labelProps", "size", "nakedInput", "required", "value", "defaultValue", "onChange", "error", "onBlur", "minTime", "maxTime"];
125
+ 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; }
126
+ 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; }
127
+ dayjs.extend(customParseFormat);
128
+ var INPUT_SIZES = {
129
+ small: "small",
130
+ medium: "medium",
131
+ large: "large"
132
+ };
133
+ var timeComponents = {
134
+ range: TimeRangePicker,
135
+ time: TimePicker
136
+ };
137
+ var TimePickerInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
138
+ var _ref$type = _ref.type,
139
+ type = _ref$type === void 0 ? "time" : _ref$type,
140
+ _ref$className = _ref.className,
141
+ className = _ref$className === void 0 ? "" : _ref$className,
142
+ label = _ref.label,
143
+ labelProps = _ref.labelProps,
144
+ _ref$size = _ref.size,
145
+ size = _ref$size === void 0 ? INPUT_SIZES.medium : _ref$size,
146
+ _ref$nakedInput = _ref.nakedInput,
147
+ nakedInput = _ref$nakedInput === void 0 ? false : _ref$nakedInput,
148
+ _ref$required = _ref.required,
149
+ required = _ref$required === void 0 ? false : _ref$required,
150
+ inputValue = _ref.value,
151
+ defaultValue = _ref.defaultValue,
152
+ _ref$onChange = _ref.onChange,
153
+ onChange = _ref$onChange === void 0 ? noop : _ref$onChange,
154
+ _ref$error = _ref.error,
155
+ error = _ref$error === void 0 ? "" : _ref$error,
156
+ _ref$onBlur = _ref.onBlur,
157
+ onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,
158
+ minTime = _ref.minTime,
159
+ maxTime = _ref.maxTime,
160
+ otherProps = _objectWithoutProperties(_ref, _excluded);
161
+ var _useRefState = useRefState(null),
162
+ _useRefState2 = _slicedToArray(_useRefState, 3),
163
+ value = _useRefState2[0],
164
+ valueRef = _useRefState2[1],
165
+ setValue = _useRefState2[2];
166
+ var componentRef = useRef(null);
167
+ var id = useId(otherProps.id);
168
+ var errorId = "error_".concat(id);
169
+ useEffect(function () {
170
+ var value = inputValue || defaultValue;
171
+ if (isNotPresent(value)) {
172
+ setValue(null);
173
+ return;
174
+ }
175
+ setValue((type === "range" ? getFormattedRange : getFormattedTime)(value));
176
+ }, [type, inputValue, defaultValue]);
177
+ var handleChange = function handleChange(newValue) {
178
+ setValue(newValue);
179
+ if (isValid(minTime, maxTime, newValue)) {
180
+ onChange(toDayJs(newValue), newValue);
181
+ }
182
+ };
183
+ var onBlurHandle = function onBlurHandle() {
184
+ if (isValid(minTime, maxTime, value)) {
185
+ onBlur(toDayJs(value), value);
186
+ } else {
187
+ var validValue = getValid(minTime, maxTime, value);
188
+ setValue(validValue);
189
+ onChange(toDayJs(validValue), validValue);
190
+ onBlur(toDayJs(validValue), validValue);
191
+ }
192
+ return true;
193
+ };
194
+ var onAmPmChange = function onAmPmChange() {
195
+ var value = valueRef.current;
196
+ if (!isValid(minTime, maxTime, value)) {
197
+ var validValue = getValid(minTime, maxTime, value);
198
+ setValue(validValue);
199
+ onChange(toDayJs(validValue), validValue);
200
+ }
201
+ };
202
+
203
+ // If you just make amPm select change, onBlurHandle is not triggering. A work around
204
+ useEffect(function () {
205
+ var _document$getElementB;
206
+ var amPmChange = function amPmChange() {
207
+ return setTimeout(onAmPmChange);
208
+ };
209
+ var selectElements = (_document$getElementB = document.getElementById(id)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.querySelectorAll("[name='amPm']");
210
+ selectElements === null || selectElements === void 0 || selectElements.forEach(function (element) {
211
+ return element.addEventListener("change", amPmChange);
212
+ });
213
+ return function () {
214
+ selectElements === null || selectElements === void 0 || selectElements.forEach(function (element) {
215
+ return element.removeEventListener("change", amPmChange);
216
+ });
217
+ };
218
+ }, [value]);
219
+ var handleKeyDown = function handleKeyDown(_ref2) {
220
+ var code = _ref2.code;
221
+ if (code !== "Enter") return;
222
+ onBlurHandle();
223
+ };
224
+ var Component = timeComponents[type];
225
+ return /*#__PURE__*/React__default.createElement("div", {
226
+ ref: ref,
227
+ className: "neeto-ui-input__wrapper"
228
+ }, label && /*#__PURE__*/React__default.createElement(Label, _objectSpread({
229
+ required: required
230
+ }, labelProps), label), /*#__PURE__*/React__default.createElement(Component, _extends({
231
+ id: id,
232
+ value: value,
233
+ disableClock: true,
234
+ clearIcon: /*#__PURE__*/React__default.createElement(HoverIcon, {
235
+ time: !!value
236
+ }),
237
+ format: "hh:mm a",
238
+ hourPlaceholder: "HH",
239
+ minutePlaceholder: "mm",
240
+ ref: componentRef,
241
+ secondAriaLabel: "ss",
242
+ shouldCloseClock: onBlurHandle,
243
+ className: classnames("neeto-ui-time-picker", [className], {
244
+ "neeto-ui-time-picker--small": size === "small",
245
+ "neeto-ui-time-picker--medium": size === "medium",
246
+ "neeto-ui-time-picker--large": size === "large",
247
+ "neeto-ui-time-picker--disabled": otherProps.disabled,
248
+ "neeto-ui-time-picker--naked": nakedInput,
249
+ "neeto-ui-time-picker--error": !!error
250
+ }),
251
+ onChange: handleChange,
252
+ onKeyDown: handleKeyDown
253
+ }, otherProps)), !!error && typeof error === "string" && /*#__PURE__*/React__default.createElement("p", {
254
+ className: "neeto-ui-input__error",
255
+ "data-cy": "".concat(hyphenize(label), "-input-error"),
256
+ id: errorId
257
+ }, error));
258
+ });
259
+ TimePickerInput.displayName = "TimePicker";
260
+
261
+ export { TimePickerInput as default };
25
262
  //# sourceMappingURL=TimePickerInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimePickerInput.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"TimePickerInput.js","sources":["../src/components/TimePickerInput/HoverIcon.jsx","../src/components/TimePickerInput/useRefState.js","../src/components/TimePickerInput/utils.js","../src/components/TimePickerInput/index.jsx"],"sourcesContent":["import React, { useState } from \"react\";\n\nimport { Clock, Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nconst HoverIcon = ({ time = false }) => {\n const [hovered, setHovered] = useState(false);\n\n return (\n <div\n onMouseLeave={() => setHovered(false)}\n onMouseOver={() => setHovered(true)}\n >\n {hovered && time ? <Close size={16} /> : <Clock size={16} />}\n </div>\n );\n};\n\n/**\n * time prop is required to find the feild is filled or not\n */\nHoverIcon.propTypes = { time: PropTypes.bool.isRequired };\n\nexport default HoverIcon;\n","import { useState, useRef } from \"react\";\n\n// A wrapper hook around useState, that updates a ref as well, useful when dealing directly with dom event listeners.\nconst useRefState = val => {\n // eslint-disable-next-line react/hook-use-state\n const [value, _setValue] = useState(val);\n const valueRef = useRef(value);\n\n const setValue = val => {\n valueRef.current = val;\n _setValue(val);\n };\n\n return [value, valueRef, setValue];\n};\n\nexport default useRefState;\n","import dayjs from \"dayjs\";\nimport { isPresent } from \"neetocist\";\n\nconst FORMAT = \"HH:mm\";\n\nconst getFormattedTime = value => {\n if (dayjs.isDayjs(value)) {\n return value.toDate();\n } else if (value instanceof Date || dayjs(value, FORMAT).isValid()) {\n return value;\n }\n\n return null;\n};\n\nconst getFormattedRange = value => {\n if (!Array.isArray(value)) return null;\n\n return value.map(item => getFormattedTime(item));\n};\n\nconst toDayJs = value => {\n if (Array.isArray(value)) return value.map(item => dayjs(item, FORMAT));\n\n return dayjs(value, FORMAT);\n};\n\nconst isValidTime = (minTime, maxTime, value) => {\n if (isPresent(minTime) && toDayJs(value).isBefore(toDayJs(minTime))) {\n return false;\n }\n\n return !(isPresent(maxTime) && toDayJs(value).isAfter(toDayJs(maxTime)));\n};\n\nconst isValidRange = (minTime, maxTime, value) =>\n value.every(item => isValid(minTime, maxTime, item));\n\nconst isValid = (minTime, maxTime, value) =>\n (Array.isArray(value) ? isValidRange : isValidTime)(minTime, maxTime, value);\n\nconst getValidTime = (minTime, maxTime, value) => {\n if (isPresent(minTime) && toDayJs(value).isBefore(toDayJs(minTime))) {\n return minTime;\n }\n\n if (isPresent(maxTime) && toDayJs(value).isAfter(toDayJs(maxTime))) {\n return maxTime;\n }\n\n return value;\n};\n\nconst getValidRange = (minTime, maxTime, value) =>\n value.map(item => getValidTime(minTime, maxTime, item));\n\nconst getValid = (minTime, maxTime, value) =>\n (Array.isArray(value) ? getValidRange : getValidTime)(\n minTime,\n maxTime,\n value\n );\n\nexport {\n getValid,\n isValid,\n toDayJs,\n getFormattedRange,\n getFormattedTime,\n FORMAT,\n};\n","import React, { forwardRef, useRef, useEffect } from \"react\";\n\nimport TimeRangePicker from \"@wojtekmaj/react-timerange-picker\";\nimport classnames from \"classnames\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport { isNotPresent } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport TimePicker from \"react-time-picker\";\n\nimport Label from \"components/Label\";\nimport { useId } from \"hooks\";\nimport { hyphenize, noop } from \"utils\";\n\nimport HoverIcon from \"./HoverIcon\";\nimport useRefState from \"./useRefState\";\nimport {\n getFormattedTime,\n getFormattedRange,\n toDayJs,\n isValid,\n getValid,\n} from \"./utils\";\n\ndayjs.extend(customParseFormat);\n\nconst INPUT_SIZES = { small: \"small\", medium: \"medium\", large: \"large\" };\n\nconst timeComponents = { range: TimeRangePicker, time: TimePicker };\n\nconst TimePickerInput = forwardRef(\n (\n {\n type = \"time\",\n className = \"\",\n label,\n labelProps,\n size = INPUT_SIZES.medium,\n nakedInput = false,\n required = false,\n value: inputValue,\n defaultValue,\n onChange = noop,\n error = \"\",\n onBlur = noop,\n minTime,\n maxTime,\n ...otherProps\n },\n ref\n ) => {\n const [value, valueRef, setValue] = useRefState(null);\n const componentRef = useRef(null);\n const id = useId(otherProps.id);\n const errorId = `error_${id}`;\n\n useEffect(() => {\n const value = inputValue || defaultValue;\n if (isNotPresent(value)) {\n setValue(null);\n\n return;\n }\n\n setValue(\n (type === \"range\" ? getFormattedRange : getFormattedTime)(value)\n );\n }, [type, inputValue, defaultValue]);\n\n const handleChange = newValue => {\n setValue(newValue);\n if (isValid(minTime, maxTime, newValue)) {\n onChange(toDayJs(newValue), newValue);\n }\n };\n\n const onBlurHandle = () => {\n if (isValid(minTime, maxTime, value)) {\n onBlur(toDayJs(value), value);\n } else {\n const validValue = getValid(minTime, maxTime, value);\n setValue(validValue);\n onChange(toDayJs(validValue), validValue);\n onBlur(toDayJs(validValue), validValue);\n }\n\n return true;\n };\n\n const onAmPmChange = () => {\n const value = valueRef.current;\n if (!isValid(minTime, maxTime, value)) {\n const validValue = getValid(minTime, maxTime, value);\n setValue(validValue);\n onChange(toDayJs(validValue), validValue);\n }\n };\n\n // If you just make amPm select change, onBlurHandle is not triggering. A work around\n useEffect(() => {\n const amPmChange = () => setTimeout(onAmPmChange);\n const selectElements = document\n .getElementById(id)\n ?.querySelectorAll(\"[name='amPm']\");\n\n selectElements?.forEach(element =>\n element.addEventListener(\"change\", amPmChange)\n );\n\n return () => {\n selectElements?.forEach(element =>\n element.removeEventListener(\"change\", amPmChange)\n );\n };\n }, [value]);\n\n const handleKeyDown = ({ code }) => {\n if (code !== \"Enter\") return;\n onBlurHandle();\n };\n\n const Component = timeComponents[type];\n\n return (\n <div {...{ ref }} className=\"neeto-ui-input__wrapper\">\n {label && <Label {...{ required, ...labelProps }}>{label}</Label>}\n <Component\n {...{ id, value }}\n disableClock\n clearIcon={<HoverIcon time={!!value} />}\n format=\"hh:mm a\"\n hourPlaceholder=\"HH\"\n minutePlaceholder=\"mm\"\n ref={componentRef}\n secondAriaLabel=\"ss\"\n shouldCloseClock={onBlurHandle}\n className={classnames(\"neeto-ui-time-picker\", [className], {\n \"neeto-ui-time-picker--small\": size === \"small\",\n \"neeto-ui-time-picker--medium\": size === \"medium\",\n \"neeto-ui-time-picker--large\": size === \"large\",\n \"neeto-ui-time-picker--disabled\": otherProps.disabled,\n \"neeto-ui-time-picker--naked\": nakedInput,\n \"neeto-ui-time-picker--error\": !!error,\n })}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n {...otherProps}\n />\n {!!error && typeof error === \"string\" && (\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);\n\nTimePickerInput.displayName = \"TimePicker\";\n\nTimePickerInput.propTypes = {\n /**\n * To set the text to be displayed above the TimePicker.\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 * To set the size of the DatePicker.\n */\n size: PropTypes.oneOf(Object.values(INPUT_SIZES)),\n /**\n * To set the DatePicker as naked Input field.\n */\n nakedInput: PropTypes.bool,\n /**\n * To specify the values to be displayed inside the TimePicker.\n */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n /**\n * To specify the values to be displayed inside the TimePicker.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n /**\n * The callback function that will be triggered when value changes.\n */\n onChange: PropTypes.func,\n /**\n * To provide external classnames to TimePicker target wrapper.\n */\n className: PropTypes.string,\n /**\n * To set the clear icon to be shown in the input.\n */\n clearIcon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.element,\n ]),\n /**\n * To specify whether the TimePicker is disabled or not.\n */\n disabled: PropTypes.bool,\n /**\n * To specify the error message to be shown in the TimePicker.\n */\n error: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n /**\n * To specify whether the Date picker is required or not.\n */\n required: PropTypes.bool,\n /**\n * The callback function that will be triggered when time picker loses focus.\n */\n onBlur: PropTypes.func,\n /**\n * To specify the type of the TimePickerInput.\n */\n type: PropTypes.oneOf(Object.keys(timeComponents)),\n /**\n * To specify the minimum time of the TimePickerInput.\n */\n minTime: PropTypes.string,\n /**\n * To specify the maximum time of the TimePickerInput.\n */\n maxTime: PropTypes.string,\n};\n\nexport default TimePickerInput;\n"],"names":["HoverIcon","_ref","_ref$time","time","_useState","useState","_useState2","_slicedToArray","hovered","setHovered","React","createElement","onMouseLeave","onMouseOver","Close","size","Clock","useRefState","val","value","_setValue","valueRef","useRef","setValue","current","FORMAT","getFormattedTime","dayjs","isDayjs","toDate","Date","isValid","getFormattedRange","Array","isArray","map","item","toDayJs","isValidTime","minTime","maxTime","isPresent","isBefore","isAfter","isValidRange","every","getValidTime","getValidRange","getValid","extend","customParseFormat","INPUT_SIZES","small","medium","large","timeComponents","range","TimeRangePicker","TimePicker","TimePickerInput","forwardRef","ref","_ref$type","type","_ref$className","className","label","labelProps","_ref$size","_ref$nakedInput","nakedInput","_ref$required","required","inputValue","defaultValue","_ref$onChange","onChange","noop","_ref$error","error","_ref$onBlur","onBlur","otherProps","_objectWithoutProperties","_excluded","_useRefState","_useRefState2","componentRef","id","useId","errorId","concat","useEffect","isNotPresent","handleChange","newValue","onBlurHandle","validValue","onAmPmChange","_document$getElementB","amPmChange","setTimeout","selectElements","document","getElementById","querySelectorAll","forEach","element","addEventListener","removeEventListener","handleKeyDown","_ref2","code","Component","Label","_objectSpread","_extends","disableClock","clearIcon","format","hourPlaceholder","minutePlaceholder","secondAriaLabel","shouldCloseClock","classnames","disabled","onKeyDown","hyphenize","displayName"],"mappings":"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"}