@bigbinary/neetoui 8.2.22 → 8.2.24

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 (214) hide show
  1. package/dist/ActionDropdown.js +2 -2
  2. package/dist/Alert.js +3 -4
  3. package/dist/Alert.js.map +1 -1
  4. package/dist/Checkbox.js +3 -3
  5. package/dist/ColorPicker.js +3 -3
  6. package/dist/ColorPicker.js.map +1 -1
  7. package/dist/DatePicker.js +15 -16
  8. package/dist/DatePicker.js.map +1 -1
  9. package/dist/Dropdown.js +2 -2
  10. package/dist/Input.js +3 -3
  11. package/dist/Modal.js +3 -4
  12. package/dist/Modal.js.map +1 -1
  13. package/dist/MultiEmailInput.js +15 -15
  14. package/dist/Pagination.js +3 -3
  15. package/dist/Pane.js +3 -4
  16. package/dist/Pane.js.map +1 -1
  17. package/dist/Radio.js +3 -3
  18. package/dist/Select.js +4 -4
  19. package/dist/Select.js.map +1 -1
  20. package/dist/Sidebar.js +3 -2
  21. package/dist/Sidebar.js.map +1 -1
  22. package/dist/Slider.js +3 -3
  23. package/dist/Switch.js +5 -3
  24. package/dist/Switch.js.map +1 -1
  25. package/dist/Table.js +4 -7
  26. package/dist/Table.js.map +1 -1
  27. package/dist/{Textarea-afac4a3e.js → Textarea-BcglKMaG.js} +3 -3
  28. package/dist/{Textarea-afac4a3e.js.map → Textarea-BcglKMaG.js.map} +1 -1
  29. package/dist/Textarea.js +4 -4
  30. package/dist/TimePicker.js +15 -16
  31. package/dist/TimePicker.js.map +1 -1
  32. package/dist/Toastr.js +2 -2
  33. package/dist/TranslationProvider.js +3 -1
  34. package/dist/TranslationProvider.js.map +1 -1
  35. package/dist/Tree.js +2 -2
  36. package/dist/TreeSelect.js +2 -2
  37. package/dist/cjs/Accordion.js +18 -27
  38. package/dist/cjs/Accordion.js.map +1 -1
  39. package/dist/cjs/ActionDropdown.js +8 -16
  40. package/dist/cjs/ActionDropdown.js.map +1 -1
  41. package/dist/cjs/Alert.js +9 -15
  42. package/dist/cjs/Alert.js.map +1 -1
  43. package/dist/cjs/Avatar.js +10 -19
  44. package/dist/cjs/Avatar.js.map +1 -1
  45. package/dist/cjs/Button.js +13 -21
  46. package/dist/cjs/Button.js.map +1 -1
  47. package/dist/cjs/Callout.js +5 -13
  48. package/dist/cjs/Callout.js.map +1 -1
  49. package/dist/cjs/Checkbox.js +10 -17
  50. package/dist/cjs/Checkbox.js.map +1 -1
  51. package/dist/cjs/ColorPicker.js +30 -40
  52. package/dist/cjs/ColorPicker.js.map +1 -1
  53. package/dist/cjs/DatePicker.js +15 -16
  54. package/dist/cjs/DatePicker.js.map +1 -1
  55. package/dist/cjs/Dropdown.js +30 -40
  56. package/dist/cjs/Dropdown.js.map +1 -1
  57. package/dist/cjs/Input.js +20 -29
  58. package/dist/cjs/Input.js.map +1 -1
  59. package/dist/cjs/Kbd.js +4 -11
  60. package/dist/cjs/Kbd.js.map +1 -1
  61. package/dist/cjs/Label.js +14 -22
  62. package/dist/cjs/Label.js.map +1 -1
  63. package/dist/cjs/Modal.js +22 -32
  64. package/dist/cjs/Modal.js.map +1 -1
  65. package/dist/cjs/MultiEmailInput.js +51 -62
  66. package/dist/cjs/MultiEmailInput.js.map +1 -1
  67. package/dist/cjs/NoData.js +14 -21
  68. package/dist/cjs/NoData.js.map +1 -1
  69. package/dist/cjs/Pagination.js +19 -25
  70. package/dist/cjs/Pagination.js.map +1 -1
  71. package/dist/cjs/Pane.js +19 -29
  72. package/dist/cjs/Pane.js.map +1 -1
  73. package/dist/cjs/Popover.js +5 -12
  74. package/dist/cjs/Popover.js.map +1 -1
  75. package/dist/cjs/ProgressBar.js +3 -8
  76. package/dist/cjs/ProgressBar.js.map +1 -1
  77. package/dist/cjs/Radio.js +17 -26
  78. package/dist/cjs/Radio.js.map +1 -1
  79. package/dist/cjs/Select.js +49 -62
  80. package/dist/cjs/Select.js.map +1 -1
  81. package/dist/cjs/Sidebar.js +69 -77
  82. package/dist/cjs/Sidebar.js.map +1 -1
  83. package/dist/cjs/Slider.js +12 -21
  84. package/dist/cjs/Slider.js.map +1 -1
  85. package/dist/cjs/Spinner.js +2 -7
  86. package/dist/cjs/Spinner.js.map +1 -1
  87. package/dist/cjs/Stepper.js +6 -11
  88. package/dist/cjs/Stepper.js.map +1 -1
  89. package/dist/cjs/Switch.js +18 -23
  90. package/dist/cjs/Switch.js.map +1 -1
  91. package/dist/cjs/Tab.js +10 -18
  92. package/dist/cjs/Tab.js.map +1 -1
  93. package/dist/cjs/Table.js +54 -70
  94. package/dist/cjs/Table.js.map +1 -1
  95. package/dist/cjs/Tag.js +9 -16
  96. package/dist/cjs/Tag.js.map +1 -1
  97. package/dist/cjs/{Textarea-c6496fa2.js → Textarea-XjB9bG3I.js} +19 -28
  98. package/dist/cjs/{Textarea-c6496fa2.js.map → Textarea-XjB9bG3I.js.map} +1 -1
  99. package/dist/cjs/Textarea.js +4 -4
  100. package/dist/cjs/TimePicker.js +15 -16
  101. package/dist/cjs/TimePicker.js.map +1 -1
  102. package/dist/cjs/Toastr.js +24 -34
  103. package/dist/cjs/Toastr.js.map +1 -1
  104. package/dist/cjs/Tooltip.js +4 -12
  105. package/dist/cjs/Tooltip.js.map +1 -1
  106. package/dist/cjs/TranslationProvider.js +6 -9
  107. package/dist/cjs/TranslationProvider.js.map +1 -1
  108. package/dist/cjs/Tree.js +8 -17
  109. package/dist/cjs/Tree.js.map +1 -1
  110. package/dist/cjs/TreeSelect.js +14 -24
  111. package/dist/cjs/TreeSelect.js.map +1 -1
  112. package/dist/cjs/Typography.js +4 -12
  113. package/dist/cjs/Typography.js.map +1 -1
  114. package/dist/cjs/constants.js +7 -19
  115. package/dist/cjs/constants.js.map +1 -1
  116. package/dist/cjs/{en-c69be2fb.js → en-1dfvTYgC.js} +1 -1
  117. package/dist/cjs/en-1dfvTYgC.js.map +1 -0
  118. package/dist/cjs/formik/ActionBlock.js +7 -13
  119. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  120. package/dist/cjs/formik/BlockNavigation.js +12 -20
  121. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  122. package/dist/cjs/formik/Button.js +2 -8
  123. package/dist/cjs/formik/Button.js.map +1 -1
  124. package/dist/cjs/formik/Checkbox.js +7 -14
  125. package/dist/cjs/formik/Checkbox.js.map +1 -1
  126. package/dist/cjs/formik/Form.js +13 -24
  127. package/dist/cjs/formik/Form.js.map +1 -1
  128. package/dist/cjs/formik/Input.js +7 -14
  129. package/dist/cjs/formik/Input.js.map +1 -1
  130. package/dist/cjs/formik/MultiEmailInput.js +6 -13
  131. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  132. package/dist/cjs/formik/Radio.js +7 -15
  133. package/dist/cjs/formik/Radio.js.map +1 -1
  134. package/dist/cjs/formik/Select.js +8 -16
  135. package/dist/cjs/formik/Select.js.map +1 -1
  136. package/dist/cjs/formik/Slider.js +7 -15
  137. package/dist/cjs/formik/Slider.js.map +1 -1
  138. package/dist/cjs/formik/Switch.js +7 -14
  139. package/dist/cjs/formik/Switch.js.map +1 -1
  140. package/dist/cjs/formik/Textarea.js +8 -15
  141. package/dist/cjs/formik/Textarea.js.map +1 -1
  142. package/dist/cjs/formik/TreeSelect.js +5 -12
  143. package/dist/cjs/formik/TreeSelect.js.map +1 -1
  144. package/dist/cjs/formik/index.js +6 -9
  145. package/dist/cjs/formik/index.js.map +1 -1
  146. package/dist/cjs/{index-3c44e0c7.js → index-CvMjRZDt.js} +19 -33
  147. package/dist/cjs/{index-3c44e0c7.js.map → index-CvMjRZDt.js.map} +1 -1
  148. package/dist/cjs/{index-b7601801.js → index-DoQ9g6qh.js} +53 -70
  149. package/dist/cjs/{index-b7601801.js.map → index-DoQ9g6qh.js.map} +1 -1
  150. package/dist/cjs/index.js +22 -25
  151. package/dist/cjs/index.js.map +1 -1
  152. package/dist/cjs/layouts.js +2 -4
  153. package/dist/cjs/layouts.js.map +1 -1
  154. package/dist/cjs/managers.js +0 -2
  155. package/dist/cjs/managers.js.map +1 -1
  156. package/dist/cjs/overlayManager.js +2 -9
  157. package/dist/cjs/overlayManager.js.map +1 -1
  158. package/dist/cjs/{react-select-creatable.esm-23eddf9f.js → react-select-creatable.esm-Bdv9YAMt.js} +231 -140
  159. package/dist/cjs/{react-select-creatable.esm-23eddf9f.js.map → react-select-creatable.esm-Bdv9YAMt.js.map} +1 -1
  160. package/dist/cjs/tinycolor-C4a31PPv.js +1214 -0
  161. package/dist/cjs/tinycolor-C4a31PPv.js.map +1 -0
  162. package/dist/cjs/{useId-4e3deb5c.js → useId-DXHUzdxd.js} +1 -1
  163. package/dist/cjs/{useId-4e3deb5c.js.map → useId-DXHUzdxd.js.map} +1 -1
  164. package/dist/cjs/{useOverlayManager-b8134604.js → useOverlayManager-CXLC179x.js} +19 -741
  165. package/dist/cjs/useOverlayManager-CXLC179x.js.map +1 -0
  166. package/dist/cjs/{useQueryParams-a8ee2f76.js → useQueryParams-l5fJJYCR.js} +2 -6
  167. package/dist/cjs/useQueryParams-l5fJJYCR.js.map +1 -0
  168. package/dist/cjs/{useRestoreScrollPosition-26e8d203.js → useRestoreScrollPosition-Dmq0tlvp.js} +18 -22
  169. package/dist/cjs/{useRestoreScrollPosition-26e8d203.js.map → useRestoreScrollPosition-Dmq0tlvp.js.map} +1 -1
  170. package/dist/{en-2d3f9fc1.js → en-CJac0MnO.js} +1 -1
  171. package/dist/en-CJac0MnO.js.map +1 -0
  172. package/dist/formik/ActionBlock.js +2 -2
  173. package/dist/formik/BlockNavigation.js +3 -4
  174. package/dist/formik/BlockNavigation.js.map +1 -1
  175. package/dist/formik/Checkbox.js +3 -3
  176. package/dist/formik/Input.js +3 -3
  177. package/dist/formik/MultiEmailInput.js +3 -3
  178. package/dist/formik/Radio.js +3 -3
  179. package/dist/formik/Select.js +4 -4
  180. package/dist/formik/Slider.js +3 -3
  181. package/dist/formik/Switch.js +3 -3
  182. package/dist/formik/Textarea.js +4 -4
  183. package/dist/formik/TreeSelect.js +2 -2
  184. package/dist/formik/index.js +6 -7
  185. package/dist/formik/index.js.map +1 -1
  186. package/dist/{index-6e82a862.js → index-BojMT3ps.js} +3 -3
  187. package/dist/{index-6e82a862.js.map → index-BojMT3ps.js.map} +1 -1
  188. package/dist/{index-40372119.js → index-H3jaZAFp.js} +6 -12
  189. package/dist/{index-40372119.js.map → index-H3jaZAFp.js.map} +1 -1
  190. package/dist/index.js +22 -23
  191. package/dist/index.js.map +1 -1
  192. package/dist/layouts.js +2 -2
  193. package/dist/{react-select-creatable.esm-ad71b0c0.js → react-select-creatable.esm-Dx_vEnyD.js} +137 -31
  194. package/dist/{react-select-creatable.esm-ad71b0c0.js.map → react-select-creatable.esm-Dx_vEnyD.js.map} +1 -1
  195. package/dist/tinycolor-DX-kZ4bq.js +1212 -0
  196. package/dist/tinycolor-DX-kZ4bq.js.map +1 -0
  197. package/dist/{useId-c1d20bba.js → useId-Jj9hXm-g.js} +1 -1
  198. package/dist/{useId-c1d20bba.js.map → useId-Jj9hXm-g.js.map} +1 -1
  199. package/dist/{useOverlayManager-65f6d80a.js → useOverlayManager-Dyv5Y8Ug.js} +3 -713
  200. package/dist/useOverlayManager-Dyv5Y8Ug.js.map +1 -0
  201. package/dist/{useQueryParams-dcb34865.js → useQueryParams-b60CHFUx.js} +1 -1
  202. package/dist/{useQueryParams-dcb34865.js.map → useQueryParams-b60CHFUx.js.map} +1 -1
  203. package/dist/{useRestoreScrollPosition-631cf3e5.js → useRestoreScrollPosition-DnEaioaR.js} +2 -2
  204. package/dist/{useRestoreScrollPosition-631cf3e5.js.map → useRestoreScrollPosition-DnEaioaR.js.map} +1 -1
  205. package/package.json +10 -10
  206. package/dist/cjs/en-c69be2fb.js.map +0 -1
  207. package/dist/cjs/tinycolor-b1e9a7b2.js +0 -1202
  208. package/dist/cjs/tinycolor-b1e9a7b2.js.map +0 -1
  209. package/dist/cjs/useOverlayManager-b8134604.js.map +0 -1
  210. package/dist/cjs/useQueryParams-a8ee2f76.js.map +0 -1
  211. package/dist/en-2d3f9fc1.js.map +0 -1
  212. package/dist/tinycolor-282c618c.js +0 -1200
  213. package/dist/tinycolor-282c618c.js.map +0 -1
  214. package/dist/useOverlayManager-65f6d80a.js.map +0 -1
@@ -6,7 +6,7 @@ var classnames = require('classnames');
6
6
  var formik = require('formik');
7
7
  var reactI18next = require('react-i18next');
8
8
  var Button = require('../Button.js');
9
- var index = require('../index-3c44e0c7.js');
9
+ var index = require('../index-CvMjRZDt.js');
10
10
  var formik_Button = require('./Button.js');
11
11
  require('@babel/runtime/helpers/defineProperty');
12
12
  require('@babel/runtime/helpers/objectWithoutProperties');
@@ -28,13 +28,7 @@ require('dayjs/plugin/weekOfYear');
28
28
  require('@bigbinary/neeto-cist');
29
29
  require('qs');
30
30
  require('ramda');
31
- require('../en-c69be2fb.js');
32
-
33
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
34
-
35
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
36
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
37
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
31
+ require('../en-1dfvTYgC.js');
38
32
 
39
33
  var POSITIONS = {
40
34
  left: "left",
@@ -56,7 +50,7 @@ var ActionBlock = function ActionBlock(_ref) {
56
50
  dirty = _useFormikContext.dirty;
57
51
  var isSubmitting = isFormSubmitting !== null && isFormSubmitting !== void 0 ? isFormSubmitting : isFormikSubmitting;
58
52
  var isButtonPositionRight = position === POSITIONS.right;
59
- var cancelButton = /*#__PURE__*/React__default["default"].createElement(Button, _extends__default["default"]({
53
+ var cancelButton = /*#__PURE__*/React.createElement(Button, _extends({
60
54
  "data-cy": "cancel-button",
61
55
  "data-test-id": "cancel-button",
62
56
  disabled: isSubmitting,
@@ -67,7 +61,7 @@ var ActionBlock = function ActionBlock(_ref) {
67
61
  return e.preventDefault();
68
62
  }
69
63
  }, cancelButtonProps));
70
- var submitButton = /*#__PURE__*/React__default["default"].createElement(formik_Button, _extends__default["default"]({
64
+ var submitButton = /*#__PURE__*/React.createElement(formik_Button, _extends({
71
65
  "data-cy": "save-changes-button",
72
66
  "data-test-id": "save-changes-button",
73
67
  disabled: isSubmitting || !dirty,
@@ -76,11 +70,11 @@ var ActionBlock = function ActionBlock(_ref) {
76
70
  style: "primary",
77
71
  type: "submit"
78
72
  }, submitButtonProps));
79
- return /*#__PURE__*/React__default["default"].createElement("div", {
80
- className: classnames__default["default"](["neeto-ui-action-block__wrapper", {
73
+ return /*#__PURE__*/React.createElement("div", {
74
+ className: classnames(["neeto-ui-action-block__wrapper", {
81
75
  "justify-end": isButtonPositionRight
82
76
  }, className])
83
- }, isButtonPositionRight ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, cancelButton, submitButton) : /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, submitButton, cancelButton));
77
+ }, isButtonPositionRight ? /*#__PURE__*/React.createElement(React.Fragment, null, cancelButton, submitButton) : /*#__PURE__*/React.createElement(React.Fragment, null, submitButton, cancelButton));
84
78
  };
85
79
 
86
80
  module.exports = ActionBlock;
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBlock.js","sources":["../../../src/formik/ActionBlock.jsx"],"sourcesContent":["/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport React from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Button from \"components/Button\";\nimport { getLocale } from \"utils\";\n\nimport SubmitButton from \"./Button\";\n\nconst POSITIONS = { left: \"left\", right: \"right\" };\n\nconst ActionBlock = ({\n className,\n submitButtonProps,\n cancelButtonProps,\n isSubmitting: isFormSubmitting,\n position = POSITIONS.left,\n}) => {\n const { t, i18n } = useTranslation();\n\n const {\n handleReset,\n isSubmitting: isFormikSubmitting,\n dirty,\n } = useFormikContext();\n\n const isSubmitting = isFormSubmitting ?? isFormikSubmitting;\n const isButtonPositionRight = position === POSITIONS.right;\n\n const cancelButton = (\n <Button\n data-cy=\"cancel-button\"\n data-test-id=\"cancel-button\"\n disabled={isSubmitting}\n label={getLocale(i18n, t, \"neetoui.actionBlock.cancel\")}\n style=\"text\"\n onClick={handleReset}\n onMouseDown={e => e.preventDefault()}\n {...cancelButtonProps}\n />\n );\n\n const submitButton = (\n <SubmitButton\n data-cy=\"save-changes-button\"\n data-test-id=\"save-changes-button\"\n disabled={isSubmitting || !dirty}\n label={getLocale(i18n, t, \"neetoui.actionBlock.saveChanges\")}\n loading={isSubmitting}\n style=\"primary\"\n type=\"submit\"\n {...submitButtonProps}\n />\n );\n\n return (\n <div\n className={classnames([\n \"neeto-ui-action-block__wrapper\",\n { \"justify-end\": isButtonPositionRight },\n className,\n ])}\n >\n {isButtonPositionRight ? (\n <>\n {cancelButton}\n {submitButton}\n </>\n ) : (\n <>\n {submitButton}\n {cancelButton}\n </>\n )}\n </div>\n );\n};\n\nActionBlock.propTypes = {\n /**\n * To specify additional classnames for action block.\n */\n className: PropTypes.string,\n /**\n * To provide props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To provide props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Optional prop to specify the state of form submission, typically used to provide React Query mutation loading state. If not provided, Formik's `isSubmitting` prop is used.\n */\n isSubmitting: PropTypes.bool,\n /**\n * Determines the alignment of buttons in ActionBlock components. Set to `right` when using ActionBlock to right-align both buttons. Defaults to `left`, left-aligning both buttons.\n */\n position: PropTypes.oneOf(Object.values(POSITIONS)),\n};\n\nexport default ActionBlock;\n"],"names":["POSITIONS","left","right","ActionBlock","_ref","className","submitButtonProps","cancelButtonProps","isFormSubmitting","isSubmitting","_ref$position","position","_useTranslation","useTranslation","t","i18n","_useFormikContext","useFormikContext","handleReset","isFormikSubmitting","dirty","isButtonPositionRight","cancelButton","React","createElement","Button","_extends","disabled","label","getLocale","style","onClick","onMouseDown","e","preventDefault","submitButton","SubmitButton","loading","type","classnames","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"ActionBlock.js","sources":["../../../src/formik/ActionBlock.jsx"],"sourcesContent":["/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport React from \"react\";\n\nimport classnames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Button from \"components/Button\";\nimport { getLocale } from \"utils\";\n\nimport SubmitButton from \"./Button\";\n\nconst POSITIONS = { left: \"left\", right: \"right\" };\n\nconst ActionBlock = ({\n className,\n submitButtonProps,\n cancelButtonProps,\n isSubmitting: isFormSubmitting,\n position = POSITIONS.left,\n}) => {\n const { t, i18n } = useTranslation();\n\n const {\n handleReset,\n isSubmitting: isFormikSubmitting,\n dirty,\n } = useFormikContext();\n\n const isSubmitting = isFormSubmitting ?? isFormikSubmitting;\n const isButtonPositionRight = position === POSITIONS.right;\n\n const cancelButton = (\n <Button\n data-cy=\"cancel-button\"\n data-test-id=\"cancel-button\"\n disabled={isSubmitting}\n label={getLocale(i18n, t, \"neetoui.actionBlock.cancel\")}\n style=\"text\"\n onClick={handleReset}\n onMouseDown={e => e.preventDefault()}\n {...cancelButtonProps}\n />\n );\n\n const submitButton = (\n <SubmitButton\n data-cy=\"save-changes-button\"\n data-test-id=\"save-changes-button\"\n disabled={isSubmitting || !dirty}\n label={getLocale(i18n, t, \"neetoui.actionBlock.saveChanges\")}\n loading={isSubmitting}\n style=\"primary\"\n type=\"submit\"\n {...submitButtonProps}\n />\n );\n\n return (\n <div\n className={classnames([\n \"neeto-ui-action-block__wrapper\",\n { \"justify-end\": isButtonPositionRight },\n className,\n ])}\n >\n {isButtonPositionRight ? (\n <>\n {cancelButton}\n {submitButton}\n </>\n ) : (\n <>\n {submitButton}\n {cancelButton}\n </>\n )}\n </div>\n );\n};\n\nActionBlock.propTypes = {\n /**\n * To specify additional classnames for action block.\n */\n className: PropTypes.string,\n /**\n * To provide props for submit button.\n */\n submitButtonProps: PropTypes.object,\n /**\n * To provide props for cancel button.\n */\n cancelButtonProps: PropTypes.object,\n /**\n * Optional prop to specify the state of form submission, typically used to provide React Query mutation loading state. If not provided, Formik's `isSubmitting` prop is used.\n */\n isSubmitting: PropTypes.bool,\n /**\n * Determines the alignment of buttons in ActionBlock components. Set to `right` when using ActionBlock to right-align both buttons. Defaults to `left`, left-aligning both buttons.\n */\n position: PropTypes.oneOf(Object.values(POSITIONS)),\n};\n\nexport default ActionBlock;\n"],"names":["POSITIONS","left","right","ActionBlock","_ref","className","submitButtonProps","cancelButtonProps","isFormSubmitting","isSubmitting","_ref$position","position","_useTranslation","useTranslation","t","i18n","_useFormikContext","useFormikContext","handleReset","isFormikSubmitting","dirty","isButtonPositionRight","cancelButton","React","createElement","Button","_extends","disabled","label","getLocale","style","onClick","onMouseDown","e","preventDefault","submitButton","SubmitButton","loading","type","classnames","Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,IAAMA,SAAS,GAAG;AAAEC,EAAAA,IAAI,EAAE,MAAM;AAAEC,EAAAA,KAAK,EAAE,OAAA;AAAQ,CAAC,CAAA;AAElD,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAMX;AAAA,EAAA,IALJC,SAAS,GAAAD,IAAA,CAATC,SAAS;IACTC,iBAAiB,GAAAF,IAAA,CAAjBE,iBAAiB;IACjBC,iBAAiB,GAAAH,IAAA,CAAjBG,iBAAiB;IACHC,gBAAgB,GAAAJ,IAAA,CAA9BK,YAAY;IAAAC,aAAA,GAAAN,IAAA,CACZO,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAA,KAAA,CAAA,GAAGV,SAAS,CAACC,IAAI,GAAAS,aAAA,CAAA;EAEzB,IAAAE,eAAA,GAAoBC,2BAAc,EAAE;IAA5BC,CAAC,GAAAF,eAAA,CAADE,CAAC;IAAEC,IAAI,GAAAH,eAAA,CAAJG,IAAI,CAAA;EAEf,IAAAC,iBAAA,GAIIC,uBAAgB,EAAE;IAHpBC,WAAW,GAAAF,iBAAA,CAAXE,WAAW;IACGC,kBAAkB,GAAAH,iBAAA,CAAhCP,YAAY;IACZW,KAAK,GAAAJ,iBAAA,CAALI,KAAK,CAAA;EAGP,IAAMX,YAAY,GAAGD,gBAAgB,KAAA,IAAA,IAAhBA,gBAAgB,KAAhBA,KAAAA,CAAAA,GAAAA,gBAAgB,GAAIW,kBAAkB,CAAA;AAC3D,EAAA,IAAME,qBAAqB,GAAGV,QAAQ,KAAKX,SAAS,CAACE,KAAK,CAAA;EAE1D,IAAMoB,YAAY,gBAChBC,KAAA,CAAAC,aAAA,CAACC,MAAM,EAAAC,QAAA,CAAA;AACL,IAAA,SAAA,EAAQ,eAAe;AACvB,IAAA,cAAA,EAAa,eAAe;AAC5BC,IAAAA,QAAQ,EAAElB,YAAa;IACvBmB,KAAK,EAAEC,eAAS,CAACd,IAAI,EAAED,CAAC,EAAE,4BAA4B,CAAE;AACxDgB,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,OAAO,EAAEb,WAAY;IACrBc,WAAW,EAAE,SAAAA,WAAAA,CAAAC,CAAC,EAAA;MAAA,OAAIA,CAAC,CAACC,cAAc,EAAE,CAAA;AAAA,KAAA;AAAC,GAAA,EACjC3B,iBAAiB,CAExB,CAAA,CAAA;EAED,IAAM4B,YAAY,gBAChBZ,KAAA,CAAAC,aAAA,CAACY,aAAY,EAAAV,QAAA,CAAA;AACX,IAAA,SAAA,EAAQ,qBAAqB;AAC7B,IAAA,cAAA,EAAa,qBAAqB;AAClCC,IAAAA,QAAQ,EAAElB,YAAY,IAAI,CAACW,KAAM;IACjCQ,KAAK,EAAEC,eAAS,CAACd,IAAI,EAAED,CAAC,EAAE,iCAAiC,CAAE;AAC7DuB,IAAAA,OAAO,EAAE5B,YAAa;AACtBqB,IAAAA,KAAK,EAAC,SAAS;AACfQ,IAAAA,IAAI,EAAC,QAAA;AAAQ,GAAA,EACThC,iBAAiB,CAExB,CAAA,CAAA;EAED,oBACEiB,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEnB,IAAAA,SAAS,EAAEkC,UAAU,CAAC,CACpB,gCAAgC,EAChC;AAAE,MAAA,aAAa,EAAElB,qBAAAA;KAAuB,EACxChB,SAAS,CACV,CAAA;GAEAgB,EAAAA,qBAAqB,gBACpBE,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAiB,QAAA,EACGlB,IAAAA,EAAAA,YAAY,EACZa,YAAY,CACZ,gBAEHZ,KAAA,CAAAC,aAAA,CAAAD,KAAA,CAAAiB,QAAA,EAAA,IAAA,EACGL,YAAY,EACZb,YAAY,CAEhB,CACG,CAAA;AAEV;;;;"}
@@ -8,7 +8,7 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
8
8
  var reactRouterDom = require('react-router-dom');
9
9
  require('@bigbinary/neeto-hotkeys');
10
10
  require('../overlayManager.js');
11
- var index = require('../index-3c44e0c7.js');
11
+ var index = require('../index-CvMjRZDt.js');
12
12
  require('@babel/runtime/helpers/defineProperty');
13
13
  require('qs');
14
14
  var reactI18next = require('react-i18next');
@@ -26,32 +26,24 @@ require('dayjs/plugin/weekday');
26
26
  require('dayjs/plugin/weekOfYear');
27
27
  require('@bigbinary/neeto-cist');
28
28
  require('ramda');
29
- require('../en-c69be2fb.js');
29
+ require('../en-1dfvTYgC.js');
30
30
  require('classnames');
31
31
  require('../Spinner.js');
32
32
  require('../Tooltip.js');
33
33
  require('@tippyjs/react');
34
34
  require('tippy.js');
35
35
  require('@bigbinary/neeto-icons');
36
- require('../useOverlayManager-b8134604.js');
36
+ require('../useOverlayManager-CXLC179x.js');
37
37
  require('@babel/runtime/helpers/esm/extends');
38
38
  require('@babel/runtime/helpers/esm/objectWithoutPropertiesLoose');
39
39
  require('@babel/runtime/helpers/esm/inheritsLoose');
40
40
  require('react-dom');
41
- require('@babel/runtime/helpers/esm/assertThisInitialized');
42
-
43
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
44
-
45
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
46
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
47
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
48
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
49
41
 
50
42
  var useNavPrompt = function useNavPrompt(_ref) {
51
43
  var _ref$shouldBlock = _ref.shouldBlock,
52
44
  shouldBlock = _ref$shouldBlock === void 0 ? true : _ref$shouldBlock;
53
45
  var _useState = React.useState(false),
54
- _useState2 = _slicedToArray__default["default"](_useState, 2),
46
+ _useState2 = _slicedToArray(_useState, 2),
55
47
  isBlocked = _useState2[0],
56
48
  setIsBlocked = _useState2[1];
57
49
  var history = reactRouterDom.useHistory();
@@ -124,7 +116,7 @@ var Alert = function Alert(_ref) {
124
116
  var submitButtonRef = React.useRef(null);
125
117
  var cancelButtonLabel = index.getLocale(i18n, t, "neetoui.blockNavigation.cancelButtonLabel");
126
118
  var submitButtonLabel = index.getLocale(i18n, t, "neetoui.blockNavigation.submitButtonLabel");
127
- return /*#__PURE__*/React__default["default"].createElement(Modal, {
119
+ return /*#__PURE__*/React.createElement(Modal, {
128
120
  isOpen: isOpen,
129
121
  onClose: onClose,
130
122
  closeButton: true,
@@ -133,21 +125,21 @@ var Alert = function Alert(_ref) {
133
125
  "data-cy": "alert-box",
134
126
  initialFocusRef: submitButtonRef,
135
127
  size: "medium"
136
- }, /*#__PURE__*/React__default["default"].createElement(Modal.Header, null, /*#__PURE__*/React__default["default"].createElement(Typography, {
128
+ }, /*#__PURE__*/React.createElement(Modal.Header, null, /*#__PURE__*/React.createElement(Typography, {
137
129
  "data-cy": "alert-title",
138
130
  style: "h2"
139
- }, index.getLocale(i18n, t, "neetoui.blockNavigation.alertTitle"))), /*#__PURE__*/React__default["default"].createElement(Modal.Body, null, /*#__PURE__*/React__default["default"].createElement(Typography, {
131
+ }, index.getLocale(i18n, t, "neetoui.blockNavigation.alertTitle"))), /*#__PURE__*/React.createElement(Modal.Body, null, /*#__PURE__*/React.createElement(Typography, {
140
132
  "data-cy": "alert-message",
141
133
  lineHeight: "normal",
142
134
  style: "body2"
143
- }, index.getLocale(i18n, t, "neetoui.blockNavigation.alertMessage"))), /*#__PURE__*/React__default["default"].createElement(Modal.Footer, {
135
+ }, index.getLocale(i18n, t, "neetoui.blockNavigation.alertMessage"))), /*#__PURE__*/React.createElement(Modal.Footer, {
144
136
  className: "neeto-ui-gap-2 neeto-ui-flex neeto-ui-justify-end neeto-ui-items-center"
145
- }, /*#__PURE__*/React__default["default"].createElement(Button, {
137
+ }, /*#__PURE__*/React.createElement(Button, {
146
138
  "data-cy": "alert-cancel-button",
147
139
  label: cancelButtonLabel,
148
140
  style: "danger",
149
141
  onClick: onDiscardChanges
150
- }), /*#__PURE__*/React__default["default"].createElement(Button, {
142
+ }), /*#__PURE__*/React.createElement(Button, {
151
143
  "data-cy": "alert-submit-button",
152
144
  label: submitButtonLabel,
153
145
  ref: submitButtonRef,
@@ -160,7 +152,7 @@ var _excluded = ["isDirty"];
160
152
  var BlockNavigation = function BlockNavigation(_ref) {
161
153
  var _ref$isDirty = _ref.isDirty,
162
154
  isDirty = _ref$isDirty === void 0 ? false : _ref$isDirty,
163
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
155
+ otherProps = _objectWithoutProperties(_ref, _excluded);
164
156
  var formikContext = formik.useFormikContext();
165
157
  var shouldBlock = isDirty || Boolean(formikContext) && Boolean(formikContext.dirty);
166
158
  var _useNavPrompt = useNavPrompt({
@@ -174,7 +166,7 @@ var BlockNavigation = function BlockNavigation(_ref) {
174
166
  hidePrompt();
175
167
  continueNavigation();
176
168
  };
177
- return /*#__PURE__*/React__default["default"].createElement(Alert, _extends__default["default"]({
169
+ return /*#__PURE__*/React.createElement(Alert, _extends({
178
170
  isOpen: isBlocked,
179
171
  onClose: hidePrompt,
180
172
  onDiscardChanges: handleDiscardChanges,
@@ -1 +1 @@
1
- {"version":3,"file":"BlockNavigation.js","sources":["../../../src/hooks/useNavPrompt.js","../../../src/formik/BlockNavigation/Alert.jsx","../../../src/formik/BlockNavigation/index.jsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport { useHistory } from \"react-router-dom\";\n\nconst useNavPrompt = ({ shouldBlock = true }) => {\n const [isBlocked, setIsBlocked] = useState(false);\n\n const history = useHistory();\n const unblockRef = useRef();\n const navRef = useRef();\n\n const continueNavigation = () => {\n if (isBlocked && unblockRef.current) {\n unblockRef.current?.();\n setIsBlocked(false);\n if (navRef.current) {\n const { action, transition } = navRef.current;\n handleNavigation(action, transition);\n }\n }\n };\n\n const hidePrompt = () => setIsBlocked(false);\n\n const handleNavigation = (action, transition) => {\n switch (action) {\n case \"PUSH\":\n history.push(transition);\n break;\n case \"REPLACE\":\n history.replace(transition);\n break;\n case \"POP\":\n history.goBack();\n break;\n }\n };\n\n useEffect(() => {\n if (shouldBlock) {\n unblockRef.current = history.block((transition, action) => {\n setIsBlocked(true);\n navRef.current = { transition, action };\n\n return false;\n });\n\n return () => {\n if (unblockRef.current) {\n unblockRef.current();\n }\n };\n }\n\n return undefined;\n }, [shouldBlock]);\n\n return { isBlocked, continueNavigation, hidePrompt };\n};\n\nexport default useNavPrompt;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport React, { useRef } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport Button from \"components/Button\";\nimport Modal from \"components/Modal\";\nimport Typography from \"components/Typography\";\nimport { getLocale } from \"utils\";\n\nconst Alert = ({ isOpen = false, onClose, onSubmit, onDiscardChanges }) => {\n const { t, i18n } = useTranslation();\n\n const submitButtonRef = useRef(null);\n\n const cancelButtonLabel = getLocale(\n i18n,\n t,\n \"neetoui.blockNavigation.cancelButtonLabel\"\n );\n\n const submitButtonLabel = getLocale(\n i18n,\n t,\n \"neetoui.blockNavigation.submitButtonLabel\"\n );\n\n return (\n <Modal\n {...{ isOpen, onClose }}\n closeButton\n closeOnEsc\n closeOnOutsideClick\n data-cy=\"alert-box\"\n initialFocusRef={submitButtonRef}\n size=\"medium\"\n >\n <Modal.Header>\n <Typography data-cy=\"alert-title\" style=\"h2\">\n {getLocale(i18n, t, \"neetoui.blockNavigation.alertTitle\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography data-cy=\"alert-message\" lineHeight=\"normal\" style=\"body2\">\n {getLocale(i18n, t, \"neetoui.blockNavigation.alertMessage\")}\n </Typography>\n </Modal.Body>\n <Modal.Footer className=\"neeto-ui-gap-2 neeto-ui-flex neeto-ui-justify-end neeto-ui-items-center\">\n <Button\n data-cy=\"alert-cancel-button\"\n label={cancelButtonLabel}\n style=\"danger\"\n onClick={onDiscardChanges}\n />\n <Button\n data-cy=\"alert-submit-button\"\n label={submitButtonLabel}\n ref={submitButtonRef}\n style=\"primary\"\n onClick={onSubmit}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default Alert;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport { useNavPrompt } from \"hooks\";\n\nimport Alert from \"./Alert\";\n\nconst BlockNavigation = ({ isDirty = false, ...otherProps }) => {\n const formikContext = useFormikContext();\n const shouldBlock =\n isDirty || (Boolean(formikContext) && Boolean(formikContext.dirty));\n\n const { isBlocked, continueNavigation, hidePrompt } = useNavPrompt({\n shouldBlock,\n });\n\n const handleDiscardChanges = () => {\n if (formikContext) formikContext.resetForm();\n hidePrompt();\n continueNavigation();\n };\n\n return (\n <Alert\n isOpen={isBlocked}\n onClose={hidePrompt}\n onDiscardChanges={handleDiscardChanges}\n onSubmit={hidePrompt}\n {...otherProps}\n />\n );\n};\n\nBlockNavigation.propTypes = {\n isDirty: PropTypes.bool,\n message: PropTypes.string,\n title: PropTypes.string,\n submitButtonLabel: PropTypes.string,\n};\n\nexport default BlockNavigation;\n"],"names":["useNavPrompt","_ref","_ref$shouldBlock","shouldBlock","_useState","useState","_useState2","_slicedToArray","isBlocked","setIsBlocked","history","useHistory","unblockRef","useRef","navRef","continueNavigation","current","_unblockRef$current","call","_navRef$current","action","transition","handleNavigation","hidePrompt","push","replace","goBack","useEffect","block","undefined","Alert","_ref$isOpen","isOpen","onClose","onSubmit","onDiscardChanges","_useTranslation","useTranslation","t","i18n","submitButtonRef","cancelButtonLabel","getLocale","submitButtonLabel","React","createElement","Modal","closeButton","closeOnEsc","closeOnOutsideClick","initialFocusRef","size","Header","Typography","style","Body","lineHeight","Footer","className","Button","label","onClick","ref","BlockNavigation","_ref$isDirty","isDirty","otherProps","_objectWithoutProperties","_excluded","formikContext","useFormikContext","Boolean","dirty","_useNavPrompt","handleDiscardChanges","resetForm","_extends"],"mappings":"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"}
1
+ {"version":3,"file":"BlockNavigation.js","sources":["../../../src/hooks/useNavPrompt.js","../../../src/formik/BlockNavigation/Alert.jsx","../../../src/formik/BlockNavigation/index.jsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport { useHistory } from \"react-router-dom\";\n\nconst useNavPrompt = ({ shouldBlock = true }) => {\n const [isBlocked, setIsBlocked] = useState(false);\n\n const history = useHistory();\n const unblockRef = useRef();\n const navRef = useRef();\n\n const continueNavigation = () => {\n if (isBlocked && unblockRef.current) {\n unblockRef.current?.();\n setIsBlocked(false);\n if (navRef.current) {\n const { action, transition } = navRef.current;\n handleNavigation(action, transition);\n }\n }\n };\n\n const hidePrompt = () => setIsBlocked(false);\n\n const handleNavigation = (action, transition) => {\n switch (action) {\n case \"PUSH\":\n history.push(transition);\n break;\n case \"REPLACE\":\n history.replace(transition);\n break;\n case \"POP\":\n history.goBack();\n break;\n }\n };\n\n useEffect(() => {\n if (shouldBlock) {\n unblockRef.current = history.block((transition, action) => {\n setIsBlocked(true);\n navRef.current = { transition, action };\n\n return false;\n });\n\n return () => {\n if (unblockRef.current) {\n unblockRef.current();\n }\n };\n }\n\n return undefined;\n }, [shouldBlock]);\n\n return { isBlocked, continueNavigation, hidePrompt };\n};\n\nexport default useNavPrompt;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport React, { useRef } from \"react\";\n\nimport { useTranslation } from \"react-i18next\";\n\nimport Button from \"components/Button\";\nimport Modal from \"components/Modal\";\nimport Typography from \"components/Typography\";\nimport { getLocale } from \"utils\";\n\nconst Alert = ({ isOpen = false, onClose, onSubmit, onDiscardChanges }) => {\n const { t, i18n } = useTranslation();\n\n const submitButtonRef = useRef(null);\n\n const cancelButtonLabel = getLocale(\n i18n,\n t,\n \"neetoui.blockNavigation.cancelButtonLabel\"\n );\n\n const submitButtonLabel = getLocale(\n i18n,\n t,\n \"neetoui.blockNavigation.submitButtonLabel\"\n );\n\n return (\n <Modal\n {...{ isOpen, onClose }}\n closeButton\n closeOnEsc\n closeOnOutsideClick\n data-cy=\"alert-box\"\n initialFocusRef={submitButtonRef}\n size=\"medium\"\n >\n <Modal.Header>\n <Typography data-cy=\"alert-title\" style=\"h2\">\n {getLocale(i18n, t, \"neetoui.blockNavigation.alertTitle\")}\n </Typography>\n </Modal.Header>\n <Modal.Body>\n <Typography data-cy=\"alert-message\" lineHeight=\"normal\" style=\"body2\">\n {getLocale(i18n, t, \"neetoui.blockNavigation.alertMessage\")}\n </Typography>\n </Modal.Body>\n <Modal.Footer className=\"neeto-ui-gap-2 neeto-ui-flex neeto-ui-justify-end neeto-ui-items-center\">\n <Button\n data-cy=\"alert-cancel-button\"\n label={cancelButtonLabel}\n style=\"danger\"\n onClick={onDiscardChanges}\n />\n <Button\n data-cy=\"alert-submit-button\"\n label={submitButtonLabel}\n ref={submitButtonRef}\n style=\"primary\"\n onClick={onSubmit}\n />\n </Modal.Footer>\n </Modal>\n );\n};\n\nexport default Alert;\n","/* eslint-disable @bigbinary/neeto/file-name-and-export-name-standards */\nimport React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport { useNavPrompt } from \"hooks\";\n\nimport Alert from \"./Alert\";\n\nconst BlockNavigation = ({ isDirty = false, ...otherProps }) => {\n const formikContext = useFormikContext();\n const shouldBlock =\n isDirty || (Boolean(formikContext) && Boolean(formikContext.dirty));\n\n const { isBlocked, continueNavigation, hidePrompt } = useNavPrompt({\n shouldBlock,\n });\n\n const handleDiscardChanges = () => {\n if (formikContext) formikContext.resetForm();\n hidePrompt();\n continueNavigation();\n };\n\n return (\n <Alert\n isOpen={isBlocked}\n onClose={hidePrompt}\n onDiscardChanges={handleDiscardChanges}\n onSubmit={hidePrompt}\n {...otherProps}\n />\n );\n};\n\nBlockNavigation.propTypes = {\n isDirty: PropTypes.bool,\n message: PropTypes.string,\n title: PropTypes.string,\n submitButtonLabel: PropTypes.string,\n};\n\nexport default BlockNavigation;\n"],"names":["useNavPrompt","_ref","_ref$shouldBlock","shouldBlock","_useState","useState","_useState2","_slicedToArray","isBlocked","setIsBlocked","history","useHistory","unblockRef","useRef","navRef","continueNavigation","current","_unblockRef$current","call","_navRef$current","action","transition","handleNavigation","hidePrompt","push","replace","goBack","useEffect","block","undefined","Alert","_ref$isOpen","isOpen","onClose","onSubmit","onDiscardChanges","_useTranslation","useTranslation","t","i18n","submitButtonRef","cancelButtonLabel","getLocale","submitButtonLabel","React","createElement","Modal","closeButton","closeOnEsc","closeOnOutsideClick","initialFocusRef","size","Header","Typography","style","Body","lineHeight","Footer","className","Button","label","onClick","ref","BlockNavigation","_ref$isDirty","isDirty","otherProps","_objectWithoutProperties","_excluded","formikContext","useFormikContext","Boolean","dirty","_useNavPrompt","handleDiscardChanges","resetForm","_extends"],"mappings":"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"}
@@ -15,16 +15,10 @@ require('@babel/runtime/helpers/slicedToArray');
15
15
  require('@tippyjs/react');
16
16
  require('tippy.js');
17
17
 
18
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
-
20
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
21
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
22
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
23
-
24
18
  var _excluded = ["disabled"];
25
19
  var FormikButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
26
20
  var disabled = _ref.disabled,
27
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
21
+ otherProps = _objectWithoutProperties(_ref, _excluded);
28
22
  var _useFormikContext = formik.useFormikContext(),
29
23
  handleSubmit = _useFormikContext.handleSubmit,
30
24
  isSubmitting = _useFormikContext.isSubmitting,
@@ -32,7 +26,7 @@ var FormikButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
32
26
  initialValues = _useFormikContext.initialValues,
33
27
  isValid = _useFormikContext.isValid;
34
28
  var isDisabled = disabled !== null && disabled !== void 0 ? disabled : isSubmitting || ramda.equals(values, initialValues);
35
- return /*#__PURE__*/React__default["default"].createElement(Button, _extends__default["default"]({
29
+ return /*#__PURE__*/React.createElement(Button, _extends({
36
30
  ref: ref,
37
31
  disabled: isDisabled,
38
32
  loading: isSubmitting && isValid,
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sources":["../../../src/formik/Button.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { equals } from \"ramda\";\n\nimport Button from \"components/Button\";\n\nconst FormikButton = forwardRef(({ disabled, ...otherProps }, ref) => {\n const { handleSubmit, isSubmitting, values, initialValues, isValid } =\n useFormikContext();\n\n const isDisabled =\n disabled ?? (isSubmitting || equals(values, initialValues));\n\n return (\n <Button\n {...{ ref }}\n disabled={isDisabled}\n loading={isSubmitting && isValid}\n onClick={handleSubmit}\n {...otherProps}\n />\n );\n});\n\nFormikButton.displayName = \"FormikButton\";\n\nexport default FormikButton;\n"],"names":["FormikButton","forwardRef","_ref","ref","disabled","otherProps","_objectWithoutProperties","_excluded","_useFormikContext","useFormikContext","handleSubmit","isSubmitting","values","initialValues","isValid","isDisabled","equals","React","createElement","Button","_extends","loading","onClick","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAOMA,IAAAA,YAAY,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAA8BC,GAAG,EAAK;AAAA,EAAA,IAAnCC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;AAAKC,IAAAA,UAAU,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;EACxD,IAAAC,iBAAA,GACEC,uBAAgB,EAAE;IADZC,YAAY,GAAAF,iBAAA,CAAZE,YAAY;IAAEC,YAAY,GAAAH,iBAAA,CAAZG,YAAY;IAAEC,MAAM,GAAAJ,iBAAA,CAANI,MAAM;IAAEC,aAAa,GAAAL,iBAAA,CAAbK,aAAa;IAAEC,OAAO,GAAAN,iBAAA,CAAPM,OAAO,CAAA;AAGlE,EAAA,IAAMC,UAAU,GACdX,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,QAAQ,GAAKO,YAAY,IAAIK,YAAM,CAACJ,MAAM,EAAEC,aAAa,CAAE,CAAA;AAE7D,EAAA,oBACEI,yBAAA,CAAAC,aAAA,CAACC,MAAM,EAAAC,4BAAA,CAAA;AACCjB,IAAAA,GAAG,EAAHA,GAAG;AACTC,IAAAA,QAAQ,EAAEW,UAAW;IACrBM,OAAO,EAAEV,YAAY,IAAIG,OAAQ;AACjCQ,IAAAA,OAAO,EAAEZ,YAAAA;AAAa,GAAA,EAClBL,UAAU,CACd,CAAA,CAAA;AAEN,CAAC,EAAC;AAEFL,YAAY,CAACuB,WAAW,GAAG,cAAc;;;;"}
1
+ {"version":3,"file":"Button.js","sources":["../../../src/formik/Button.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { equals } from \"ramda\";\n\nimport Button from \"components/Button\";\n\nconst FormikButton = forwardRef(({ disabled, ...otherProps }, ref) => {\n const { handleSubmit, isSubmitting, values, initialValues, isValid } =\n useFormikContext();\n\n const isDisabled =\n disabled ?? (isSubmitting || equals(values, initialValues));\n\n return (\n <Button\n {...{ ref }}\n disabled={isDisabled}\n loading={isSubmitting && isValid}\n onClick={handleSubmit}\n {...otherProps}\n />\n );\n});\n\nFormikButton.displayName = \"FormikButton\";\n\nexport default FormikButton;\n"],"names":["FormikButton","forwardRef","_ref","ref","disabled","otherProps","_objectWithoutProperties","_excluded","_useFormikContext","useFormikContext","handleSubmit","isSubmitting","values","initialValues","isValid","isDisabled","equals","React","createElement","Button","_extends","loading","onClick","displayName"],"mappings":";;;;;;;;;;;;;;;;;;AAOMA,IAAAA,YAAY,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAA8BC,GAAG,EAAK;AAAA,EAAA,IAAnCC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;AAAKC,IAAAA,UAAU,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;EACxD,IAAAC,iBAAA,GACEC,uBAAgB,EAAE;IADZC,YAAY,GAAAF,iBAAA,CAAZE,YAAY;IAAEC,YAAY,GAAAH,iBAAA,CAAZG,YAAY;IAAEC,MAAM,GAAAJ,iBAAA,CAANI,MAAM;IAAEC,aAAa,GAAAL,iBAAA,CAAbK,aAAa;IAAEC,OAAO,GAAAN,iBAAA,CAAPM,OAAO,CAAA;AAGlE,EAAA,IAAMC,UAAU,GACdX,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,QAAQ,GAAKO,YAAY,IAAIK,YAAM,CAACJ,MAAM,EAAEC,aAAa,CAAE,CAAA;AAE7D,EAAA,oBACEI,KAAA,CAAAC,aAAA,CAACC,MAAM,EAAAC,QAAA,CAAA;AACCjB,IAAAA,GAAG,EAAHA,GAAG;AACTC,IAAAA,QAAQ,EAAEW,UAAW;IACrBM,OAAO,EAAEV,YAAY,IAAIG,OAAQ;AACjCQ,IAAAA,OAAO,EAAEZ,YAAAA;AAAa,GAAA,EAClBL,UAAU,CACd,CAAA,CAAA;AAEN,CAAC,EAAC;AAEFL,YAAY,CAACuB,WAAW,GAAG,cAAc;;;;"}
@@ -8,14 +8,14 @@ var formik = require('formik');
8
8
  var ramda = require('ramda');
9
9
  var Checkbox$1 = require('../Checkbox.js');
10
10
  require('classnames');
11
- require('../useId-4e3deb5c.js');
11
+ require('../useId-DXHUzdxd.js');
12
12
  require('@babel/runtime/helpers/slicedToArray');
13
13
  require('react-router-dom');
14
14
  require('@bigbinary/neeto-hotkeys');
15
15
  require('../overlayManager.js');
16
16
  require('@babel/runtime/helpers/classCallCheck');
17
17
  require('@babel/runtime/helpers/createClass');
18
- require('../index-3c44e0c7.js');
18
+ require('../index-CvMjRZDt.js');
19
19
  require('@babel/runtime/helpers/toConsumableArray');
20
20
  require('dayjs');
21
21
  require('dayjs/plugin/localeData');
@@ -25,7 +25,7 @@ require('dayjs/plugin/weekday');
25
25
  require('dayjs/plugin/weekOfYear');
26
26
  require('@bigbinary/neeto-cist');
27
27
  require('qs');
28
- require('../en-c69be2fb.js');
28
+ require('../en-1dfvTYgC.js');
29
29
  require('../Label.js');
30
30
  require('@bigbinary/neeto-icons');
31
31
  require('../Button.js');
@@ -36,20 +36,13 @@ require('tippy.js');
36
36
  require('../Popover.js');
37
37
  require('../Typography.js');
38
38
 
39
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
40
-
41
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
42
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
43
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
44
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
45
-
46
39
  var _excluded = ["name"];
47
40
  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; }
48
- 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__default["default"](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; }
41
+ 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; }
49
42
  var Checkbox = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
50
43
  var name = _ref.name,
51
- rest = _objectWithoutProperties__default["default"](_ref, _excluded);
52
- return /*#__PURE__*/React__default["default"].createElement(formik.Field, {
44
+ rest = _objectWithoutProperties(_ref, _excluded);
45
+ return /*#__PURE__*/React.createElement(formik.Field, {
53
46
  name: name
54
47
  }, function (_ref2) {
55
48
  var field = _ref2.field,
@@ -65,7 +58,7 @@ var Checkbox = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
65
58
  field.onChange(e);
66
59
  }
67
60
  });
68
- return /*#__PURE__*/React__default["default"].createElement(Checkbox$1, _extends__default["default"]({
61
+ return /*#__PURE__*/React.createElement(Checkbox$1, _extends({
69
62
  checked: field.value
70
63
  }, _objectSpread(_objectSpread({}, fieldProps), {}, {
71
64
  ref: ref
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../src/formik/Checkbox.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { Field, getIn } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { dissoc } from \"ramda\";\n\nimport CheckboxField from \"components/Checkbox\";\n\nconst Checkbox = forwardRef(({ name, ...rest }, ref) => (\n <Field {...{ name }}>\n {({ field, meta, form }) => {\n const { status = {}, setStatus } = form;\n const fieldStatus = getIn(status, name);\n\n const fieldProps = {\n ...field,\n onChange: e => {\n setStatus(dissoc(name, status));\n field.onChange(e);\n },\n };\n\n return (\n <CheckboxField\n checked={field.value}\n {...{ ...fieldProps, ref }}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n {...rest}\n />\n );\n }}\n </Field>\n));\n\nCheckbox.displayName = \"Checkbox\";\n\nCheckbox.propTypes = {\n /**\n * The name of the Checkbox.\n */\n name: PropTypes.string,\n};\n\nexport default Checkbox;\n"],"names":["Checkbox","forwardRef","_ref","ref","name","rest","_objectWithoutProperties","_excluded","React","createElement","Field","_ref2","field","meta","form","_form$status","status","setStatus","fieldStatus","getIn","fieldProps","_objectSpread","onChange","e","dissoc","CheckboxField","_extends","checked","value","error","touched","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,QAAQ,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAAoBC,GAAG,EAAA;AAAA,EAAA,IAApBC,IAAI,GAAAF,IAAA,CAAJE,IAAI;AAAKC,IAAAA,IAAI,GAAAC,4CAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC1CC,yBAAA,CAAAC,aAAA,CAACC,YAAK,EAAA;AAAON,IAAAA,IAAI,EAAJA,IAAAA;GACV,EAAA,UAAAO,KAAA,EAA2B;AAAA,IAAA,IAAxBC,KAAK,GAAAD,KAAA,CAALC,KAAK;MAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;MAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI,CAAA;AACnB,IAAA,IAAAC,YAAA,GAAmCD,IAAI,CAA/BE,MAAM;AAANA,MAAAA,MAAM,GAAAD,YAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,YAAA;MAAEE,SAAS,GAAKH,IAAI,CAAlBG,SAAS,CAAA;AAC9B,IAAA,IAAMC,WAAW,GAAGC,YAAK,CAACH,MAAM,EAAEZ,IAAI,CAAC,CAAA;AAEvC,IAAA,IAAMgB,UAAU,GAAAC,aAAA,CAAAA,aAAA,KACXT,KAAK,CAAA,EAAA,EAAA,EAAA;AACRU,MAAAA,QAAQ,EAAE,SAAAA,QAAAC,CAAAA,CAAC,EAAI;AACbN,QAAAA,SAAS,CAACO,YAAM,CAACpB,IAAI,EAAEY,MAAM,CAAC,CAAC,CAAA;AAC/BJ,QAAAA,KAAK,CAACU,QAAQ,CAACC,CAAC,CAAC,CAAA;AACnB,OAAA;KACD,CAAA,CAAA;AAED,IAAA,oBACEf,yBAAA,CAAAC,aAAA,CAACgB,UAAa,EAAAC,4BAAA,CAAA;MACZC,OAAO,EAAEf,KAAK,CAACgB,KAAAA;AAAM,KAAA,EAAAP,aAAA,CAAAA,aAAA,CAAA,EAAA,EACZD,UAAU,CAAA,EAAA,EAAA,EAAA;AAAEjB,MAAAA,GAAG,EAAHA,GAAAA;AAAG,KAAA,CAAA,EAAA;MACxB0B,KAAK,EAAEhB,IAAI,CAACiB,OAAO,GAAGjB,IAAI,CAACgB,KAAK,IAAIX,WAAW,GAAG,EAAA;AAAG,KAAA,EACjDb,IAAI,CACR,CAAA,CAAA;AAEN,GAAC,CACK,CAAA;AAAA,CACT,EAAC;AAEFL,QAAQ,CAAC+B,WAAW,GAAG,UAAU;;;;"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../src/formik/Checkbox.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport { Field, getIn } from \"formik\";\nimport PropTypes from \"prop-types\";\nimport { dissoc } from \"ramda\";\n\nimport CheckboxField from \"components/Checkbox\";\n\nconst Checkbox = forwardRef(({ name, ...rest }, ref) => (\n <Field {...{ name }}>\n {({ field, meta, form }) => {\n const { status = {}, setStatus } = form;\n const fieldStatus = getIn(status, name);\n\n const fieldProps = {\n ...field,\n onChange: e => {\n setStatus(dissoc(name, status));\n field.onChange(e);\n },\n };\n\n return (\n <CheckboxField\n checked={field.value}\n {...{ ...fieldProps, ref }}\n error={meta.touched ? meta.error || fieldStatus : \"\"}\n {...rest}\n />\n );\n }}\n </Field>\n));\n\nCheckbox.displayName = \"Checkbox\";\n\nCheckbox.propTypes = {\n /**\n * The name of the Checkbox.\n */\n name: PropTypes.string,\n};\n\nexport default Checkbox;\n"],"names":["Checkbox","forwardRef","_ref","ref","name","rest","_objectWithoutProperties","_excluded","React","createElement","Field","_ref2","field","meta","form","_form$status","status","setStatus","fieldStatus","getIn","fieldProps","_objectSpread","onChange","e","dissoc","CheckboxField","_extends","checked","value","error","touched","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,QAAQ,gBAAGC,gBAAU,CAAC,UAAAC,IAAA,EAAoBC,GAAG,EAAA;AAAA,EAAA,IAApBC,IAAI,GAAAF,IAAA,CAAJE,IAAI;AAAKC,IAAAA,IAAI,GAAAC,wBAAA,CAAAJ,IAAA,EAAAK,SAAA,CAAA,CAAA;AAAA,EAAA,oBAC1CC,KAAA,CAAAC,aAAA,CAACC,YAAK,EAAA;AAAON,IAAAA,IAAI,EAAJA,IAAAA;GACV,EAAA,UAAAO,KAAA,EAA2B;AAAA,IAAA,IAAxBC,KAAK,GAAAD,KAAA,CAALC,KAAK;MAAEC,IAAI,GAAAF,KAAA,CAAJE,IAAI;MAAEC,IAAI,GAAAH,KAAA,CAAJG,IAAI,CAAA;AACnB,IAAA,IAAAC,YAAA,GAAmCD,IAAI,CAA/BE,MAAM;AAANA,MAAAA,MAAM,GAAAD,YAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,YAAA;MAAEE,SAAS,GAAKH,IAAI,CAAlBG,SAAS,CAAA;AAC9B,IAAA,IAAMC,WAAW,GAAGC,YAAK,CAACH,MAAM,EAAEZ,IAAI,CAAC,CAAA;AAEvC,IAAA,IAAMgB,UAAU,GAAAC,aAAA,CAAAA,aAAA,KACXT,KAAK,CAAA,EAAA,EAAA,EAAA;AACRU,MAAAA,QAAQ,EAAE,SAAAA,QAAAC,CAAAA,CAAC,EAAI;AACbN,QAAAA,SAAS,CAACO,YAAM,CAACpB,IAAI,EAAEY,MAAM,CAAC,CAAC,CAAA;AAC/BJ,QAAAA,KAAK,CAACU,QAAQ,CAACC,CAAC,CAAC,CAAA;AACnB,OAAA;KACD,CAAA,CAAA;AAED,IAAA,oBACEf,KAAA,CAAAC,aAAA,CAACgB,UAAa,EAAAC,QAAA,CAAA;MACZC,OAAO,EAAEf,KAAK,CAACgB,KAAAA;AAAM,KAAA,EAAAP,aAAA,CAAAA,aAAA,CAAA,EAAA,EACZD,UAAU,CAAA,EAAA,EAAA,EAAA;AAAEjB,MAAAA,GAAG,EAAHA,GAAAA;AAAG,KAAA,CAAA,EAAA;MACxB0B,KAAK,EAAEhB,IAAI,CAACiB,OAAO,GAAGjB,IAAI,CAACgB,KAAK,IAAIX,WAAW,GAAG,EAAA;AAAG,KAAA,EACjDb,IAAI,CACR,CAAA,CAAA;AAEN,GAAC,CACK,CAAA;AAAA,CACT,EAAC;AAEFL,QAAQ,CAAC+B,WAAW,GAAG,UAAU;;;;"}
@@ -12,28 +12,17 @@ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
12
12
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
13
13
  var neetoCist = require('@bigbinary/neeto-cist');
14
14
 
15
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
-
17
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
18
- var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
19
- var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
20
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
22
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
23
- var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
24
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
25
-
26
15
  var transformObjectToDotNotation = function transformObjectToDotNotation(object) {
27
16
  var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
28
17
  var result = [];
29
18
  Object.entries(object).forEach(function (_ref) {
30
- var _ref2 = _slicedToArray__default["default"](_ref, 2),
19
+ var _ref2 = _slicedToArray(_ref, 2),
31
20
  key = _ref2[0],
32
21
  value = _ref2[1];
33
22
  if (!value) return;
34
23
  var nextKey = prefix ? "".concat(prefix, ".").concat(key) : key;
35
24
  if (ramda.is(Object, value)) {
36
- result.push.apply(result, _toConsumableArray__default["default"](transformObjectToDotNotation(value, nextKey)));
25
+ result.push.apply(result, _toConsumableArray(transformObjectToDotNotation(value, nextKey)));
37
26
  } else {
38
27
  result.push(nextKey);
39
28
  }
@@ -53,7 +42,7 @@ var getFieldsWithServerError = function getFieldsWithServerError() {
53
42
  var scrollToError = function scrollToError(formRef, errors, status) {
54
43
  var fieldErrorName = getErrorFieldName(errors);
55
44
  var _getFieldsWithServerE = getFieldsWithServerError(status),
56
- _getFieldsWithServerE2 = _slicedToArray__default["default"](_getFieldsWithServerE, 1),
45
+ _getFieldsWithServerE2 = _slicedToArray(_getFieldsWithServerE, 1),
57
46
  fieldWithServerError = _getFieldsWithServerE2[0];
58
47
  if (!fieldErrorName && !fieldWithServerError) return;
59
48
  var errorFieldName = fieldErrorName || fieldWithServerError;
@@ -83,7 +72,7 @@ var ScrollToErrorField = function ScrollToErrorField(_ref) {
83
72
 
84
73
  var _excluded = ["validateForm", "setErrors", "setTouched", "submitForm"];
85
74
  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; }
86
- 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__default["default"](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; }
75
+ 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; }
87
76
  var FormWrapper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
88
77
  var className = _ref.className,
89
78
  formProps = _ref.formProps,
@@ -94,16 +83,16 @@ var FormWrapper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
94
83
  setErrors = _useFormikContext.setErrors,
95
84
  setTouched = _useFormikContext.setTouched,
96
85
  submitForm = _useFormikContext.submitForm,
97
- formikBag = _objectWithoutProperties__default["default"](_useFormikContext, _excluded);
86
+ formikBag = _objectWithoutProperties(_useFormikContext, _excluded);
98
87
  var isFormDirty = formikBag.dirty,
99
88
  isSubmitting = formikBag.isSubmitting,
100
89
  status = formikBag.status;
101
90
  var formRefForScrollToErrorField = React.useRef();
102
91
  var formRef = ref || formRefForScrollToErrorField;
103
92
  var handleKeyDown = React.useCallback( /*#__PURE__*/function () {
104
- var _ref2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(event) {
93
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(event) {
105
94
  var isEventFromEditorOrTextarea, errors, fieldStatuses;
106
- return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
95
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
107
96
  while (1) switch (_context.prev = _context.next) {
108
97
  case 0:
109
98
  isEventFromEditorOrTextarea = event.target.tagName === "TEXTAREA" || event.target.editor;
@@ -162,13 +151,13 @@ var FormWrapper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
162
151
  return _ref2.apply(this, arguments);
163
152
  };
164
153
  }(), [validateForm, setErrors, setTouched, isFormDirty, isSubmitting, submitForm, status]);
165
- return /*#__PURE__*/React__default["default"].createElement(formik.Form, _extends__default["default"]({
154
+ return /*#__PURE__*/React.createElement(formik.Form, _extends({
166
155
  className: className,
167
156
  noValidate: true,
168
157
  "data-testid": "neeto-ui-form-wrapper",
169
158
  ref: formRef,
170
159
  onKeyDown: handleKeyDown
171
- }, formProps), scrollToErrorField && /*#__PURE__*/React__default["default"].createElement(ScrollToErrorField, {
160
+ }, formProps), scrollToErrorField && /*#__PURE__*/React.createElement(ScrollToErrorField, {
172
161
  formRef: formRef
173
162
  }), children);
174
163
  });
@@ -183,10 +172,10 @@ var Form = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
183
172
  scrollToErrorField = _ref$scrollToErrorFie === void 0 ? false : _ref$scrollToErrorFie;
184
173
  var formikRef = React.useRef();
185
174
  var handleSubmit = /*#__PURE__*/function () {
186
- var _ref2 = _asyncToGenerator__default["default"]( /*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(values, actions) {
175
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(values, actions) {
187
176
  var _formikRef$current;
188
177
  var fieldsWithServerError;
189
- return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
178
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
190
179
  while (1) switch (_context.prev = _context.next) {
191
180
  case 0:
192
181
  fieldsWithServerError = getFieldsWithServerError((_formikRef$current = formikRef.current) === null || _formikRef$current === void 0 ? void 0 : _formikRef$current.status);
@@ -209,12 +198,12 @@ var Form = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
209
198
  return _ref2.apply(this, arguments);
210
199
  };
211
200
  }();
212
- return /*#__PURE__*/React__default["default"].createElement(formik.Formik, _extends__default["default"]({
201
+ return /*#__PURE__*/React.createElement(formik.Formik, _extends({
213
202
  innerRef: formikRef
214
203
  }, formikProps, {
215
204
  onSubmit: handleSubmit
216
205
  }), function (props) {
217
- return /*#__PURE__*/React__default["default"].createElement(FormWrapper, {
206
+ return /*#__PURE__*/React.createElement(FormWrapper, {
218
207
  className: className,
219
208
  formProps: formProps,
220
209
  ref: ref,
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","sources":["../../../src/formik/Form/ScrollToErrorField/utils.js","../../../src/formik/Form/ScrollToErrorField/index.js","../../../src/formik/Form/FormWrapper.jsx","../../../src/formik/Form/index.jsx"],"sourcesContent":["import { isPresent } from \"neetocist\";\nimport { is } from \"ramda\";\n\nconst transformObjectToDotNotation = (object, prefix = \"\") => {\n const result = [];\n\n Object.entries(object).forEach(([key, value]) => {\n if (!value) return;\n const nextKey = prefix ? `${prefix}.${key}` : key;\n if (is(Object, value)) {\n result.push(...transformObjectToDotNotation(value, nextKey));\n } else {\n result.push(nextKey);\n }\n });\n\n return result;\n};\n\nconst getErrorFieldName = formikErrors =>\n transformObjectToDotNotation(formikErrors)?.[0];\n\nexport const getFieldsWithServerError = (status = {}) =>\n Object.keys(status).filter(fieldName => isPresent(status[fieldName]));\n\nexport const scrollToError = (formRef, errors, status) => {\n const fieldErrorName = getErrorFieldName(errors);\n const [fieldWithServerError] = getFieldsWithServerError(status);\n\n if (!fieldErrorName && !fieldWithServerError) return;\n\n const errorFieldName = fieldErrorName || fieldWithServerError;\n const errorFormElement = formRef.current.querySelector(\n `[name=\"${errorFieldName}\"]`\n );\n\n errorFormElement?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n};\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isEmpty } from \"ramda\";\n\nimport { getFieldsWithServerError, scrollToError } from \"./utils\";\n\nconst ScrollToErrorField = ({ formRef }) => {\n const { submitCount, isValid, errors, status } = useFormikContext();\n\n useEffect(() => {\n const fieldsWithServerError = getFieldsWithServerError(status);\n if (!formRef.current || (isValid && isEmpty(fieldsWithServerError))) {\n return;\n }\n\n scrollToError(formRef, errors, status);\n }, [submitCount]);\n\n return null;\n};\n\nexport default ScrollToErrorField;\n","import React, { useCallback, forwardRef, useRef } from \"react\";\n\nimport { Form as FormikForm, useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport ScrollToErrorField from \"./ScrollToErrorField\";\nimport {\n getFieldsWithServerError,\n scrollToError,\n} from \"./ScrollToErrorField/utils\";\n\nconst FormWrapper = forwardRef(\n ({ className, formProps, children, scrollToErrorField }, ref) => {\n const { validateForm, setErrors, setTouched, submitForm, ...formikBag } =\n useFormikContext();\n\n const { dirty: isFormDirty, isSubmitting, status } = formikBag;\n\n const formRefForScrollToErrorField = useRef();\n\n const formRef = ref || formRefForScrollToErrorField;\n\n const handleKeyDown = useCallback(\n async event => {\n const isEventFromEditorOrTextarea =\n event.target.tagName === \"TEXTAREA\" || event.target.editor;\n\n if (event.key !== \"Enter\") return;\n\n if (isEventFromEditorOrTextarea && !event.metaKey) return;\n\n event.preventDefault();\n\n if (event.shiftKey) return;\n\n if (!isFormDirty || isSubmitting) return;\n\n try {\n const errors = await validateForm();\n const fieldStatuses = getFieldsWithServerError(status);\n\n if (\n Object.keys(errors).length > 0 ||\n Object.keys(fieldStatuses).length > 0\n ) {\n setErrors(errors);\n setTouched({ ...errors, ...status });\n scrollToErrorField && scrollToError(formRef, errors, status);\n } else {\n submitForm();\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n \"An unhandled error was caught from validateForm()\",\n error\n );\n }\n },\n [\n validateForm,\n setErrors,\n setTouched,\n isFormDirty,\n isSubmitting,\n submitForm,\n status,\n ]\n );\n\n return (\n <FormikForm\n {...{ className }}\n noValidate\n data-testid=\"neeto-ui-form-wrapper\"\n ref={formRef}\n onKeyDown={handleKeyDown}\n {...formProps}\n >\n {scrollToErrorField && <ScrollToErrorField {...{ formRef }} />}\n {children}\n </FormikForm>\n );\n }\n);\n\nFormWrapper.displayName = \"FormWrapper\";\n\nFormWrapper.propTypes = {\n children: PropTypes.node,\n formProps: PropTypes.object,\n scrollToErrorField: PropTypes.bool,\n};\n\nexport default FormWrapper;\n","import React, { forwardRef, useRef } from \"react\";\n\nimport { Formik } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport FormWrapper from \"./FormWrapper\";\nimport { getFieldsWithServerError } from \"./ScrollToErrorField/utils\";\n\nconst Form = forwardRef(\n (\n { className, children, formikProps, formProps, scrollToErrorField = false },\n ref\n ) => {\n const formikRef = useRef();\n\n const handleSubmit = async (values, actions) => {\n const fieldsWithServerError = getFieldsWithServerError(\n formikRef.current?.status\n );\n\n if (fieldsWithServerError.length > 0) {\n actions.setSubmitting(false);\n\n return;\n }\n\n await formikProps.onSubmit(values, actions);\n };\n\n return (\n <Formik innerRef={formikRef} {...formikProps} onSubmit={handleSubmit}>\n {props => (\n <FormWrapper {...{ className, formProps, ref, scrollToErrorField }}>\n {typeof children === \"function\" ? children(props) : children}\n </FormWrapper>\n )}\n </Formik>\n );\n }\n);\n\nForm.displayName = \"Form\";\n\nForm.propTypes = {\n /**\n * Pass a function to render children or pass the children directly\n **/\n children: PropTypes.node,\n /**\n * Additional classnames to be passed to the form wrapper\n **/\n className: PropTypes.string,\n /**\n * Props to be passed to the Formik component like `initialValues`, `validationSchema`, `onSubmit`\n * Refer to the Formik docs for more details\n * https://formik.org/docs/api/formik\n **/\n formikProps: PropTypes.object,\n /**\n * Props to be passed to the form element like `className`.\n * Refer to the Formik docs for more details\n * https://formik.org/docs/api/form\n **/\n formProps: PropTypes.object,\n /**\n * Props to be passed for scrolling to error field on submit button click.\n **/\n scrollToErrorField: PropTypes.bool,\n};\n\nexport default Form;\n"],"names":["transformObjectToDotNotation","object","prefix","arguments","length","undefined","result","Object","entries","forEach","_ref","_ref2","_slicedToArray","key","value","nextKey","concat","is","push","apply","_toConsumableArray","getErrorFieldName","formikErrors","_transformObjectToDot","getFieldsWithServerError","status","keys","filter","fieldName","isPresent","scrollToError","formRef","errors","fieldErrorName","_getFieldsWithServerE","_getFieldsWithServerE2","fieldWithServerError","errorFieldName","errorFormElement","current","querySelector","scrollIntoView","behavior","block","ScrollToErrorField","_useFormikContext","useFormikContext","submitCount","isValid","useEffect","fieldsWithServerError","isEmpty","FormWrapper","forwardRef","ref","className","formProps","children","scrollToErrorField","validateForm","setErrors","setTouched","submitForm","formikBag","_objectWithoutProperties","_excluded","isFormDirty","dirty","isSubmitting","formRefForScrollToErrorField","useRef","handleKeyDown","useCallback","_asyncToGenerator","_regeneratorRuntime","mark","_callee","event","isEventFromEditorOrTextarea","fieldStatuses","wrap","_callee$","_context","prev","next","target","tagName","editor","abrupt","metaKey","preventDefault","shiftKey","sent","_objectSpread","t0","console","error","stop","_x","React","createElement","FormikForm","_extends","noValidate","onKeyDown","displayName","Form","formikProps","_ref$scrollToErrorFie","formikRef","handleSubmit","values","actions","_formikRef$current","setSubmitting","onSubmit","_x2","Formik","innerRef","props"],"mappings":"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"}
1
+ {"version":3,"file":"Form.js","sources":["../../../src/formik/Form/ScrollToErrorField/utils.js","../../../src/formik/Form/ScrollToErrorField/index.js","../../../src/formik/Form/FormWrapper.jsx","../../../src/formik/Form/index.jsx"],"sourcesContent":["import { isPresent } from \"neetocist\";\nimport { is } from \"ramda\";\n\nconst transformObjectToDotNotation = (object, prefix = \"\") => {\n const result = [];\n\n Object.entries(object).forEach(([key, value]) => {\n if (!value) return;\n const nextKey = prefix ? `${prefix}.${key}` : key;\n if (is(Object, value)) {\n result.push(...transformObjectToDotNotation(value, nextKey));\n } else {\n result.push(nextKey);\n }\n });\n\n return result;\n};\n\nconst getErrorFieldName = formikErrors =>\n transformObjectToDotNotation(formikErrors)?.[0];\n\nexport const getFieldsWithServerError = (status = {}) =>\n Object.keys(status).filter(fieldName => isPresent(status[fieldName]));\n\nexport const scrollToError = (formRef, errors, status) => {\n const fieldErrorName = getErrorFieldName(errors);\n const [fieldWithServerError] = getFieldsWithServerError(status);\n\n if (!fieldErrorName && !fieldWithServerError) return;\n\n const errorFieldName = fieldErrorName || fieldWithServerError;\n const errorFormElement = formRef.current.querySelector(\n `[name=\"${errorFieldName}\"]`\n );\n\n errorFormElement?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n};\n","import { useEffect } from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { isEmpty } from \"ramda\";\n\nimport { getFieldsWithServerError, scrollToError } from \"./utils\";\n\nconst ScrollToErrorField = ({ formRef }) => {\n const { submitCount, isValid, errors, status } = useFormikContext();\n\n useEffect(() => {\n const fieldsWithServerError = getFieldsWithServerError(status);\n if (!formRef.current || (isValid && isEmpty(fieldsWithServerError))) {\n return;\n }\n\n scrollToError(formRef, errors, status);\n }, [submitCount]);\n\n return null;\n};\n\nexport default ScrollToErrorField;\n","import React, { useCallback, forwardRef, useRef } from \"react\";\n\nimport { Form as FormikForm, useFormikContext } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport ScrollToErrorField from \"./ScrollToErrorField\";\nimport {\n getFieldsWithServerError,\n scrollToError,\n} from \"./ScrollToErrorField/utils\";\n\nconst FormWrapper = forwardRef(\n ({ className, formProps, children, scrollToErrorField }, ref) => {\n const { validateForm, setErrors, setTouched, submitForm, ...formikBag } =\n useFormikContext();\n\n const { dirty: isFormDirty, isSubmitting, status } = formikBag;\n\n const formRefForScrollToErrorField = useRef();\n\n const formRef = ref || formRefForScrollToErrorField;\n\n const handleKeyDown = useCallback(\n async event => {\n const isEventFromEditorOrTextarea =\n event.target.tagName === \"TEXTAREA\" || event.target.editor;\n\n if (event.key !== \"Enter\") return;\n\n if (isEventFromEditorOrTextarea && !event.metaKey) return;\n\n event.preventDefault();\n\n if (event.shiftKey) return;\n\n if (!isFormDirty || isSubmitting) return;\n\n try {\n const errors = await validateForm();\n const fieldStatuses = getFieldsWithServerError(status);\n\n if (\n Object.keys(errors).length > 0 ||\n Object.keys(fieldStatuses).length > 0\n ) {\n setErrors(errors);\n setTouched({ ...errors, ...status });\n scrollToErrorField && scrollToError(formRef, errors, status);\n } else {\n submitForm();\n }\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\n \"An unhandled error was caught from validateForm()\",\n error\n );\n }\n },\n [\n validateForm,\n setErrors,\n setTouched,\n isFormDirty,\n isSubmitting,\n submitForm,\n status,\n ]\n );\n\n return (\n <FormikForm\n {...{ className }}\n noValidate\n data-testid=\"neeto-ui-form-wrapper\"\n ref={formRef}\n onKeyDown={handleKeyDown}\n {...formProps}\n >\n {scrollToErrorField && <ScrollToErrorField {...{ formRef }} />}\n {children}\n </FormikForm>\n );\n }\n);\n\nFormWrapper.displayName = \"FormWrapper\";\n\nFormWrapper.propTypes = {\n children: PropTypes.node,\n formProps: PropTypes.object,\n scrollToErrorField: PropTypes.bool,\n};\n\nexport default FormWrapper;\n","import React, { forwardRef, useRef } from \"react\";\n\nimport { Formik } from \"formik\";\nimport PropTypes from \"prop-types\";\n\nimport FormWrapper from \"./FormWrapper\";\nimport { getFieldsWithServerError } from \"./ScrollToErrorField/utils\";\n\nconst Form = forwardRef(\n (\n { className, children, formikProps, formProps, scrollToErrorField = false },\n ref\n ) => {\n const formikRef = useRef();\n\n const handleSubmit = async (values, actions) => {\n const fieldsWithServerError = getFieldsWithServerError(\n formikRef.current?.status\n );\n\n if (fieldsWithServerError.length > 0) {\n actions.setSubmitting(false);\n\n return;\n }\n\n await formikProps.onSubmit(values, actions);\n };\n\n return (\n <Formik innerRef={formikRef} {...formikProps} onSubmit={handleSubmit}>\n {props => (\n <FormWrapper {...{ className, formProps, ref, scrollToErrorField }}>\n {typeof children === \"function\" ? children(props) : children}\n </FormWrapper>\n )}\n </Formik>\n );\n }\n);\n\nForm.displayName = \"Form\";\n\nForm.propTypes = {\n /**\n * Pass a function to render children or pass the children directly\n **/\n children: PropTypes.node,\n /**\n * Additional classnames to be passed to the form wrapper\n **/\n className: PropTypes.string,\n /**\n * Props to be passed to the Formik component like `initialValues`, `validationSchema`, `onSubmit`\n * Refer to the Formik docs for more details\n * https://formik.org/docs/api/formik\n **/\n formikProps: PropTypes.object,\n /**\n * Props to be passed to the form element like `className`.\n * Refer to the Formik docs for more details\n * https://formik.org/docs/api/form\n **/\n formProps: PropTypes.object,\n /**\n * Props to be passed for scrolling to error field on submit button click.\n **/\n scrollToErrorField: PropTypes.bool,\n};\n\nexport default Form;\n"],"names":["transformObjectToDotNotation","object","prefix","arguments","length","undefined","result","Object","entries","forEach","_ref","_ref2","_slicedToArray","key","value","nextKey","concat","is","push","apply","_toConsumableArray","getErrorFieldName","formikErrors","_transformObjectToDot","getFieldsWithServerError","status","keys","filter","fieldName","isPresent","scrollToError","formRef","errors","fieldErrorName","_getFieldsWithServerE","_getFieldsWithServerE2","fieldWithServerError","errorFieldName","errorFormElement","current","querySelector","scrollIntoView","behavior","block","ScrollToErrorField","_useFormikContext","useFormikContext","submitCount","isValid","useEffect","fieldsWithServerError","isEmpty","FormWrapper","forwardRef","ref","className","formProps","children","scrollToErrorField","validateForm","setErrors","setTouched","submitForm","formikBag","_objectWithoutProperties","_excluded","isFormDirty","dirty","isSubmitting","formRefForScrollToErrorField","useRef","handleKeyDown","useCallback","_asyncToGenerator","_regeneratorRuntime","mark","_callee","event","isEventFromEditorOrTextarea","fieldStatuses","wrap","_callee$","_context","prev","next","target","tagName","editor","abrupt","metaKey","preventDefault","shiftKey","sent","_objectSpread","t0","console","error","stop","_x","React","createElement","FormikForm","_extends","noValidate","onKeyDown","displayName","Form","formikProps","_ref$scrollToErrorFie","formikRef","handleSubmit","values","actions","_formikRef$current","setSubmitting","onSubmit","_x2","Formik","innerRef","props"],"mappings":"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"}