@bigbinary/neetoui 8.3.0-beta1 → 8.3.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 (283) hide show
  1. package/README.md +1 -0
  2. package/dist/ActionDropdown.js +7 -6
  3. package/dist/ActionDropdown.js.map +1 -1
  4. package/dist/Alert.js +9 -9
  5. package/dist/Alert.js.map +1 -1
  6. package/dist/Avatar.js +1 -0
  7. package/dist/Avatar.js.map +1 -1
  8. package/dist/Button.js +5 -49
  9. package/dist/Button.js.map +1 -1
  10. package/dist/Checkbox.js +6 -5
  11. package/dist/Checkbox.js.map +1 -1
  12. package/dist/ColorPicker.js +147 -51
  13. package/dist/ColorPicker.js.map +1 -1
  14. package/dist/DatePicker.js +18 -19
  15. package/dist/DatePicker.js.map +1 -1
  16. package/dist/Dropdown.js +4 -3
  17. package/dist/Dropdown.js.map +1 -1
  18. package/dist/Input.js +14 -10
  19. package/dist/Input.js.map +1 -1
  20. package/dist/Kbd.js +1 -0
  21. package/dist/Kbd.js.map +1 -1
  22. package/dist/Label.js +72 -55
  23. package/dist/Label.js.map +1 -1
  24. package/dist/Modal.js +21 -8
  25. package/dist/Modal.js.map +1 -1
  26. package/dist/MultiEmailInput.js +96 -58
  27. package/dist/MultiEmailInput.js.map +1 -1
  28. package/dist/NoData.js +1 -2
  29. package/dist/NoData.js.map +1 -1
  30. package/dist/Pagination.js +5 -5
  31. package/dist/Pane.js +58 -22
  32. package/dist/Pane.js.map +1 -1
  33. package/dist/ProgressBar.js +1 -0
  34. package/dist/ProgressBar.js.map +1 -1
  35. package/dist/Radio.js +11 -8
  36. package/dist/Radio.js.map +1 -1
  37. package/dist/Select.js +52 -22
  38. package/dist/Select.js.map +1 -1
  39. package/dist/Sidebar.js +6 -4
  40. package/dist/Sidebar.js.map +1 -1
  41. package/dist/Slider.js +6 -5
  42. package/dist/Slider.js.map +1 -1
  43. package/dist/Stepper.js +1 -0
  44. package/dist/Stepper.js.map +1 -1
  45. package/dist/Switch.js +9 -5
  46. package/dist/Switch.js.map +1 -1
  47. package/dist/Table.js +358 -194
  48. package/dist/Table.js.map +1 -1
  49. package/dist/{Textarea-e2cdbeb5.js → Textarea-TKn0l0RC.js} +5 -4
  50. package/dist/Textarea-TKn0l0RC.js.map +1 -0
  51. package/dist/Textarea.js +7 -6
  52. package/dist/Textarea.js.map +1 -1
  53. package/dist/TimePicker.js +16 -17
  54. package/dist/TimePicker.js.map +1 -1
  55. package/dist/Toastr.js +45 -23
  56. package/dist/Toastr.js.map +1 -1
  57. package/dist/Tooltip.js +17 -11
  58. package/dist/Tooltip.js.map +1 -1
  59. package/dist/TranslationProvider.js +45 -13
  60. package/dist/TranslationProvider.js.map +1 -1
  61. package/dist/Tree.js +15 -8
  62. package/dist/Tree.js.map +1 -1
  63. package/dist/TreeSelect.js +19 -7
  64. package/dist/TreeSelect.js.map +1 -1
  65. package/dist/cjs/Accordion.js +18 -27
  66. package/dist/cjs/Accordion.js.map +1 -1
  67. package/dist/cjs/ActionDropdown.js +13 -20
  68. package/dist/cjs/ActionDropdown.js.map +1 -1
  69. package/dist/cjs/Alert.js +15 -20
  70. package/dist/cjs/Alert.js.map +1 -1
  71. package/dist/cjs/Avatar.js +11 -19
  72. package/dist/cjs/Avatar.js.map +1 -1
  73. package/dist/cjs/Button.js +17 -70
  74. package/dist/cjs/Button.js.map +1 -1
  75. package/dist/cjs/Callout.js +5 -13
  76. package/dist/cjs/Callout.js.map +1 -1
  77. package/dist/cjs/Checkbox.js +13 -19
  78. package/dist/cjs/Checkbox.js.map +1 -1
  79. package/dist/cjs/ColorPicker.js +170 -84
  80. package/dist/cjs/ColorPicker.js.map +1 -1
  81. package/dist/cjs/DatePicker.js +18 -19
  82. package/dist/cjs/DatePicker.js.map +1 -1
  83. package/dist/cjs/Dropdown.js +32 -41
  84. package/dist/cjs/Dropdown.js.map +1 -1
  85. package/dist/cjs/Input.js +31 -36
  86. package/dist/cjs/Input.js.map +1 -1
  87. package/dist/cjs/Kbd.js +5 -11
  88. package/dist/cjs/Kbd.js.map +1 -1
  89. package/dist/cjs/Label.js +71 -62
  90. package/dist/cjs/Label.js.map +1 -1
  91. package/dist/cjs/Modal.js +38 -34
  92. package/dist/cjs/Modal.js.map +1 -1
  93. package/dist/cjs/MultiEmailInput.js +124 -97
  94. package/dist/cjs/MultiEmailInput.js.map +1 -1
  95. package/dist/cjs/NoData.js +15 -23
  96. package/dist/cjs/NoData.js.map +1 -1
  97. package/dist/cjs/Pagination.js +21 -27
  98. package/dist/cjs/Pagination.js.map +1 -1
  99. package/dist/cjs/Pane.js +74 -47
  100. package/dist/cjs/Pane.js.map +1 -1
  101. package/dist/cjs/Popover.js +5 -12
  102. package/dist/cjs/Popover.js.map +1 -1
  103. package/dist/cjs/ProgressBar.js +4 -8
  104. package/dist/cjs/ProgressBar.js.map +1 -1
  105. package/dist/cjs/Radio.js +25 -31
  106. package/dist/cjs/Radio.js.map +1 -1
  107. package/dist/cjs/Select.js +95 -78
  108. package/dist/cjs/Select.js.map +1 -1
  109. package/dist/cjs/Sidebar.js +72 -79
  110. package/dist/cjs/Sidebar.js.map +1 -1
  111. package/dist/cjs/Slider.js +15 -23
  112. package/dist/cjs/Slider.js.map +1 -1
  113. package/dist/cjs/Spinner.js +2 -7
  114. package/dist/cjs/Spinner.js.map +1 -1
  115. package/dist/cjs/Stepper.js +7 -11
  116. package/dist/cjs/Stepper.js.map +1 -1
  117. package/dist/cjs/Switch.js +22 -25
  118. package/dist/cjs/Switch.js.map +1 -1
  119. package/dist/cjs/Tab.js +10 -18
  120. package/dist/cjs/Tab.js.map +1 -1
  121. package/dist/cjs/Table.js +387 -236
  122. package/dist/cjs/Table.js.map +1 -1
  123. package/dist/cjs/Tag.js +9 -16
  124. package/dist/cjs/Tag.js.map +1 -1
  125. package/dist/cjs/{Textarea-13e1da31.js → Textarea-DdURL8Dd.js} +21 -29
  126. package/dist/cjs/Textarea-DdURL8Dd.js.map +1 -0
  127. package/dist/cjs/Textarea.js +7 -6
  128. package/dist/cjs/Textarea.js.map +1 -1
  129. package/dist/cjs/TimePicker.js +16 -17
  130. package/dist/cjs/TimePicker.js.map +1 -1
  131. package/dist/cjs/Toastr.js +61 -49
  132. package/dist/cjs/Toastr.js.map +1 -1
  133. package/dist/cjs/Tooltip.js +20 -22
  134. package/dist/cjs/Tooltip.js.map +1 -1
  135. package/dist/cjs/TranslationProvider.js +48 -21
  136. package/dist/cjs/TranslationProvider.js.map +1 -1
  137. package/dist/cjs/Tree.js +21 -23
  138. package/dist/cjs/Tree.js.map +1 -1
  139. package/dist/cjs/TreeSelect.js +30 -28
  140. package/dist/cjs/TreeSelect.js.map +1 -1
  141. package/dist/cjs/Typography.js +4 -12
  142. package/dist/cjs/Typography.js.map +1 -1
  143. package/dist/cjs/constants.js +7 -19
  144. package/dist/cjs/constants.js.map +1 -1
  145. package/dist/cjs/{en-80d0fbff.js → en-DhnUUSB_.js} +13 -6
  146. package/dist/cjs/en-DhnUUSB_.js.map +1 -0
  147. package/dist/cjs/formik/ActionBlock.js +12 -18
  148. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  149. package/dist/cjs/formik/BlockNavigation.js +24 -42
  150. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  151. package/dist/cjs/formik/Button.js +3 -10
  152. package/dist/cjs/formik/Button.js.map +1 -1
  153. package/dist/cjs/formik/Checkbox.js +10 -16
  154. package/dist/cjs/formik/Checkbox.js.map +1 -1
  155. package/dist/cjs/formik/Form.js +13 -24
  156. package/dist/cjs/formik/Form.js.map +1 -1
  157. package/dist/cjs/formik/Input.js +10 -16
  158. package/dist/cjs/formik/Input.js.map +1 -1
  159. package/dist/cjs/formik/MultiEmailInput.js +8 -15
  160. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  161. package/dist/cjs/formik/Radio.js +10 -17
  162. package/dist/cjs/formik/Radio.js.map +1 -1
  163. package/dist/cjs/formik/Select.js +9 -17
  164. package/dist/cjs/formik/Select.js.map +1 -1
  165. package/dist/cjs/formik/Slider.js +10 -17
  166. package/dist/cjs/formik/Slider.js.map +1 -1
  167. package/dist/cjs/formik/Switch.js +10 -16
  168. package/dist/cjs/formik/Switch.js.map +1 -1
  169. package/dist/cjs/formik/Textarea.js +11 -17
  170. package/dist/cjs/formik/Textarea.js.map +1 -1
  171. package/dist/cjs/formik/TreeSelect.js +8 -14
  172. package/dist/cjs/formik/TreeSelect.js.map +1 -1
  173. package/dist/cjs/formik/index.js +12 -15
  174. package/dist/cjs/formik/index.js.map +1 -1
  175. package/dist/cjs/index-BG9I04iF.js +451 -0
  176. package/dist/cjs/index-BG9I04iF.js.map +1 -0
  177. package/dist/cjs/{index-4683b7da.js → index-DOn2FmWB.js} +80 -80
  178. package/dist/cjs/index-DOn2FmWB.js.map +1 -0
  179. package/dist/cjs/index.css +2 -2
  180. package/dist/cjs/index.js +26 -29
  181. package/dist/cjs/index.js.map +1 -1
  182. package/dist/cjs/layouts.js +6 -7
  183. package/dist/cjs/layouts.js.map +1 -1
  184. package/dist/cjs/managers.js +0 -2
  185. package/dist/cjs/managers.js.map +1 -1
  186. package/dist/cjs/overlayManager.js +2 -9
  187. package/dist/cjs/overlayManager.js.map +1 -1
  188. package/dist/cjs/{react-select-creatable.esm-23eddf9f.js → react-select-creatable.esm-Bdv9YAMt.js} +231 -140
  189. package/dist/cjs/{react-select-creatable.esm-23eddf9f.js.map → react-select-creatable.esm-Bdv9YAMt.js.map} +1 -1
  190. package/dist/cjs/{useId-4e3deb5c.js → useId-DXHUzdxd.js} +1 -1
  191. package/dist/cjs/{useId-4e3deb5c.js.map → useId-DXHUzdxd.js.map} +1 -1
  192. package/dist/cjs/{useOverlayManager-d4108cf8.js → useOverlayManager-D5NTaYt6.js} +25 -744
  193. package/dist/cjs/useOverlayManager-D5NTaYt6.js.map +1 -0
  194. package/dist/cjs/{useQueryParams-a8ee2f76.js → useQueryParams-l5fJJYCR.js} +2 -6
  195. package/dist/cjs/useQueryParams-l5fJJYCR.js.map +1 -0
  196. package/dist/cjs/useRecentlyUsedColors-DmV1uj1F.js +1270 -0
  197. package/dist/cjs/useRecentlyUsedColors-DmV1uj1F.js.map +1 -0
  198. package/dist/cjs/{HeaderCellMenu-ed9de3d6.js → useRestoreScrollPosition-Ck_b0Nh4.js} +87 -88
  199. package/dist/cjs/useRestoreScrollPosition-Ck_b0Nh4.js.map +1 -0
  200. package/dist/{en-41f5c641.js → en-_r5-MxJe.js} +13 -6
  201. package/dist/en-_r5-MxJe.js.map +1 -0
  202. package/dist/formik/ActionBlock.js +7 -7
  203. package/dist/formik/BlockNavigation.js +15 -26
  204. package/dist/formik/BlockNavigation.js.map +1 -1
  205. package/dist/formik/Button.js +1 -2
  206. package/dist/formik/Button.js.map +1 -1
  207. package/dist/formik/Checkbox.js +6 -5
  208. package/dist/formik/Checkbox.js.map +1 -1
  209. package/dist/formik/Form.js +2 -2
  210. package/dist/formik/Form.js.map +1 -1
  211. package/dist/formik/Input.js +6 -5
  212. package/dist/formik/Input.js.map +1 -1
  213. package/dist/formik/MultiEmailInput.js +5 -5
  214. package/dist/formik/Radio.js +6 -5
  215. package/dist/formik/Radio.js.map +1 -1
  216. package/dist/formik/Select.js +5 -5
  217. package/dist/formik/Slider.js +6 -5
  218. package/dist/formik/Slider.js.map +1 -1
  219. package/dist/formik/Switch.js +6 -5
  220. package/dist/formik/Switch.js.map +1 -1
  221. package/dist/formik/Textarea.js +7 -6
  222. package/dist/formik/Textarea.js.map +1 -1
  223. package/dist/formik/TreeSelect.js +5 -4
  224. package/dist/formik/TreeSelect.js.map +1 -1
  225. package/dist/formik/index.js +12 -13
  226. package/dist/formik/index.js.map +1 -1
  227. package/dist/index-BCP3m_SF.js +434 -0
  228. package/dist/index-BCP3m_SF.js.map +1 -0
  229. package/dist/{index-78e488c9.js → index-BXAHRXsD.js} +33 -21
  230. package/dist/index-BXAHRXsD.js.map +1 -0
  231. package/dist/index.css +2 -2
  232. package/dist/index.js +26 -27
  233. package/dist/index.js.map +1 -1
  234. package/dist/layouts.js +6 -5
  235. package/dist/layouts.js.map +1 -1
  236. package/dist/{react-select-creatable.esm-ad71b0c0.js → react-select-creatable.esm-Dx_vEnyD.js} +137 -31
  237. package/dist/{react-select-creatable.esm-ad71b0c0.js.map → react-select-creatable.esm-Dx_vEnyD.js.map} +1 -1
  238. package/dist/{useId-c1d20bba.js → useId-Jj9hXm-g.js} +1 -1
  239. package/dist/{useId-c1d20bba.js.map → useId-Jj9hXm-g.js.map} +1 -1
  240. package/dist/{useOverlayManager-593daea1.js → useOverlayManager-U3cqV61l.js} +9 -716
  241. package/dist/useOverlayManager-U3cqV61l.js.map +1 -0
  242. package/dist/{useQueryParams-dcb34865.js → useQueryParams-b60CHFUx.js} +1 -1
  243. package/dist/{useQueryParams-dcb34865.js.map → useQueryParams-b60CHFUx.js.map} +1 -1
  244. package/dist/useRecentlyUsedColors-CJe4G0Xs.js +1267 -0
  245. package/dist/useRecentlyUsedColors-CJe4G0Xs.js.map +1 -0
  246. package/dist/{HeaderCellMenu-85af6d2a.js → useRestoreScrollPosition-B3J6xSHt.js} +77 -75
  247. package/dist/useRestoreScrollPosition-B3J6xSHt.js.map +1 -0
  248. package/package.json +20 -14
  249. package/src/translations/de.json +7 -2
  250. package/src/translations/en.json +12 -5
  251. package/src/translations/es.json +7 -2
  252. package/src/translations/fr.json +7 -2
  253. package/src/translations/nl.json +7 -2
  254. package/src/translations/pl.json +7 -2
  255. package/src/translations/pt.json +7 -2
  256. package/types/Button.d.ts +0 -2
  257. package/types/ColorPicker.d.ts +7 -5
  258. package/types/DatePicker.d.ts +2 -0
  259. package/types/Modal.d.ts +1 -1
  260. package/types/Pane.d.ts +1 -1
  261. package/types/Select.d.ts +4 -0
  262. package/types/Table.d.ts +9 -0
  263. package/types/Toastr.d.ts +3 -1
  264. package/types/Tree.d.ts +2 -1
  265. package/dist/HeaderCellMenu-85af6d2a.js.map +0 -1
  266. package/dist/Textarea-e2cdbeb5.js.map +0 -1
  267. package/dist/cjs/HeaderCellMenu-ed9de3d6.js.map +0 -1
  268. package/dist/cjs/Textarea-13e1da31.js.map +0 -1
  269. package/dist/cjs/en-80d0fbff.js.map +0 -1
  270. package/dist/cjs/index-0f5141e0.js +0 -178
  271. package/dist/cjs/index-0f5141e0.js.map +0 -1
  272. package/dist/cjs/index-4683b7da.js.map +0 -1
  273. package/dist/cjs/tinycolor-b1e9a7b2.js +0 -1202
  274. package/dist/cjs/tinycolor-b1e9a7b2.js.map +0 -1
  275. package/dist/cjs/useOverlayManager-d4108cf8.js.map +0 -1
  276. package/dist/cjs/useQueryParams-a8ee2f76.js.map +0 -1
  277. package/dist/en-41f5c641.js.map +0 -1
  278. package/dist/index-78e488c9.js.map +0 -1
  279. package/dist/index-abadd6e9.js +0 -155
  280. package/dist/index-abadd6e9.js.map +0 -1
  281. package/dist/tinycolor-282c618c.js +0 -1200
  282. package/dist/tinycolor-282c618c.js.map +0 -1
  283. package/dist/useOverlayManager-593daea1.js.map +0 -1
package/dist/cjs/Label.js CHANGED
@@ -1,33 +1,84 @@
1
1
  'use strict';
2
2
 
3
3
  var _extends = require('@babel/runtime/helpers/extends');
4
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
5
  var React = require('react');
7
6
  var classnames = require('classnames');
7
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
8
8
  var neetoIcons = require('@bigbinary/neeto-icons');
9
9
  var Button = require('./Button.js');
10
10
  var Popover = require('./Popover.js');
11
11
  var Tooltip = require('./Tooltip.js');
12
12
  var Typography = require('./Typography.js');
13
13
  require('@babel/runtime/helpers/slicedToArray');
14
- require('react-router-dom');
15
- require('./Spinner.js');
16
14
  require('@tippyjs/react');
17
15
  require('tippy.js');
16
+ require('react-router-dom');
17
+ require('./Spinner.js');
18
18
 
19
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
19
+ var _excluded$2 = ["onClick", "className", "icon"];
20
+ var HelpIcon = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
21
+ var onClick = _ref.onClick,
22
+ className = _ref.className,
23
+ icon = _ref.icon,
24
+ otherProps = _objectWithoutProperties(_ref, _excluded$2);
25
+ var HelpIcon = icon || neetoIcons.Help;
26
+ return /*#__PURE__*/React.createElement("span", {
27
+ onClick: onClick,
28
+ ref: ref,
29
+ className: classnames("neeto-ui-label__help-icon-wrap", _defineProperty({}, className, className))
30
+ }, /*#__PURE__*/React.createElement(HelpIcon, _extends({
31
+ size: 16
32
+ }, otherProps)));
33
+ });
34
+ HelpIcon.displayName = "HelpIcon";
20
35
 
21
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
22
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
23
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
24
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
25
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
36
+ var _excluded$1 = ["tooltipProps", "popoverProps"],
37
+ _excluded2 = ["title", "description", "helpLinkProps"];
38
+ var HelpContent = function HelpContent(_ref) {
39
+ var helpIconProps = _ref.helpIconProps;
40
+ var popoverReferenceElement = React.useRef();
41
+ var _ref2 = helpIconProps || {},
42
+ tooltipProps = _ref2.tooltipProps,
43
+ popoverProps = _ref2.popoverProps,
44
+ otherHelpIconProps = _objectWithoutProperties(_ref2, _excluded$1);
45
+ if (tooltipProps) {
46
+ return /*#__PURE__*/React.createElement(Tooltip, tooltipProps, /*#__PURE__*/React.createElement(HelpIcon, otherHelpIconProps));
47
+ }
48
+ if (popoverProps) {
49
+ var title = popoverProps.title,
50
+ description = popoverProps.description,
51
+ helpLinkProps = popoverProps.helpLinkProps,
52
+ otherPopoverProps = _objectWithoutProperties(popoverProps, _excluded2);
53
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HelpIcon, _extends({}, otherHelpIconProps, {
54
+ ref: popoverReferenceElement
55
+ })), /*#__PURE__*/React.createElement(Popover, _extends({
56
+ reference: popoverReferenceElement
57
+ }, otherPopoverProps), /*#__PURE__*/React.createElement("div", {
58
+ className: "neeto-ui-flex neeto-ui-flex-col"
59
+ }, title && /*#__PURE__*/React.createElement(Popover.Title, {
60
+ "data-cy": "help-popover-title",
61
+ "data-testid": "help-popover-title"
62
+ }, title), typeof description === "string" ? /*#__PURE__*/React.createElement(Typography, {
63
+ "data-cy": "help-popover-description",
64
+ "data-testid": "help-popover-description",
65
+ lineHeight: "normal",
66
+ style: "body2",
67
+ weight: "normal"
68
+ }, description) : description, helpLinkProps && /*#__PURE__*/React.createElement(Button, _extends({
69
+ className: "neeto-ui-mt-3",
70
+ "data-cy": "help-popover-link-button",
71
+ size: "small"
72
+ }, helpLinkProps, {
73
+ "data-testid": "help-popover-link-button",
74
+ style: "link",
75
+ target: "_blank"
76
+ })))));
77
+ }
78
+ return /*#__PURE__*/React.createElement(HelpIcon, otherHelpIconProps);
79
+ };
26
80
 
27
- var _excluded = ["children", "className", "required", "helpIconProps"],
28
- _excluded2 = ["onClick", "icon", "tooltipProps", "popoverProps", "className"],
29
- _excluded3 = ["title", "description", "helpLinkProps"];
30
- var Title = Popover.Title;
81
+ var _excluded = ["children", "className", "required", "helpIconProps"];
31
82
  var Label = function Label(_ref) {
32
83
  var children = _ref.children,
33
84
  _ref$className = _ref.className,
@@ -36,56 +87,14 @@ var Label = function Label(_ref) {
36
87
  required = _ref$required === void 0 ? false : _ref$required,
37
88
  _ref$helpIconProps = _ref.helpIconProps,
38
89
  helpIconProps = _ref$helpIconProps === void 0 ? null : _ref$helpIconProps,
39
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
40
- var _ref2 = helpIconProps || {},
41
- onClick = _ref2.onClick,
42
- icon = _ref2.icon,
43
- tooltipProps = _ref2.tooltipProps,
44
- popoverProps = _ref2.popoverProps,
45
- helpIconClassName = _ref2.className,
46
- otherHelpIconProps = _objectWithoutProperties__default["default"](_ref2, _excluded2);
47
- var _ref3 = popoverProps || {},
48
- title = _ref3.title,
49
- description = _ref3.description,
50
- helpLinkProps = _ref3.helpLinkProps,
51
- otherPopoverProps = _objectWithoutProperties__default["default"](_ref3, _excluded3);
52
- var HelpIcon = icon || neetoIcons.Help;
53
- var popoverReferenceElement = React.useRef();
54
- var renderHelpIcon = function renderHelpIcon() {
55
- return /*#__PURE__*/React__default["default"].createElement("span", {
56
- onClick: onClick,
57
- ref: popoverProps ? popoverReferenceElement : undefined,
58
- className: classnames__default["default"]("neeto-ui-label__help-icon-wrap", _defineProperty__default["default"]({}, helpIconClassName, helpIconClassName))
59
- }, /*#__PURE__*/React__default["default"].createElement(HelpIcon, _extends__default["default"]({
60
- size: 16
61
- }, otherHelpIconProps)));
62
- };
63
- return /*#__PURE__*/React__default["default"].createElement("label", _extends__default["default"]({
64
- className: classnames__default["default"]("neeto-ui-label neeto-ui-flex neeto-ui-items-center", className)
65
- }, otherProps), children, required && /*#__PURE__*/React__default["default"].createElement("span", {
90
+ props = _objectWithoutProperties(_ref, _excluded);
91
+ return /*#__PURE__*/React.createElement("label", _extends({
92
+ className: classnames("neeto-ui-label neeto-ui-flex neeto-ui-items-center", className)
93
+ }, props), children, required && /*#__PURE__*/React.createElement("span", {
66
94
  "aria-hidden": true
67
- }, "*"), helpIconProps && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, tooltipProps ? /*#__PURE__*/React__default["default"].createElement(Tooltip, tooltipProps, renderHelpIcon()) : popoverProps ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, renderHelpIcon(), /*#__PURE__*/React__default["default"].createElement(Popover, _extends__default["default"]({
68
- reference: popoverReferenceElement
69
- }, otherPopoverProps), /*#__PURE__*/React__default["default"].createElement("div", {
70
- className: "flex flex-col"
71
- }, title && /*#__PURE__*/React__default["default"].createElement(Title, {
72
- "data-cy": "help-popover-title",
73
- "data-testid": "help-popover-title"
74
- }, title), typeof description === "string" ? /*#__PURE__*/React__default["default"].createElement(Typography, {
75
- "data-cy": "help-popover-description",
76
- "data-testid": "help-popover-description",
77
- lineHeight: "normal",
78
- style: "body2",
79
- weight: "normal"
80
- }, description) : description, helpLinkProps && /*#__PURE__*/React__default["default"].createElement(Button, _extends__default["default"]({
81
- className: "neeto-ui-mt-3",
82
- "data-cy": "help-popover-link-button",
83
- size: "small"
84
- }, helpLinkProps, {
85
- "data-testid": "help-popover-link-button",
86
- style: "link",
87
- target: "_blank"
88
- }))))) : renderHelpIcon()));
95
+ }, "*"), helpIconProps && /*#__PURE__*/React.createElement(HelpContent, {
96
+ helpIconProps: helpIconProps
97
+ }));
89
98
  };
90
99
 
91
100
  module.exports = Label;
@@ -1 +1 @@
1
- {"version":3,"file":"Label.js","sources":["../../src/components/Label.jsx"],"sourcesContent":["import React, { useRef } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Help } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\n\nimport Button from \"./Button\";\nimport Popover from \"./Popover\";\nimport Tooltip from \"./Tooltip\";\nimport Typography from \"./Typography\";\n\nconst { Title } = Popover;\n\nconst Label = ({\n children,\n className = \"\",\n required = false,\n helpIconProps = null,\n ...otherProps\n}) => {\n const {\n onClick,\n icon,\n tooltipProps,\n popoverProps,\n className: helpIconClassName,\n ...otherHelpIconProps\n } = helpIconProps || {};\n\n const { title, description, helpLinkProps, ...otherPopoverProps } =\n popoverProps || {};\n\n const HelpIcon = icon || Help;\n const popoverReferenceElement = useRef();\n\n const renderHelpIcon = () => (\n <span\n {...{ onClick }}\n ref={popoverProps ? popoverReferenceElement : undefined}\n className={classnames(\"neeto-ui-label__help-icon-wrap\", {\n [helpIconClassName]: helpIconClassName,\n })}\n >\n <HelpIcon size={16} {...otherHelpIconProps} />\n </span>\n );\n\n return (\n <label\n className={classnames(\n \"neeto-ui-label neeto-ui-flex neeto-ui-items-center\",\n className\n )}\n {...otherProps}\n >\n {children}\n {required && <span aria-hidden>*</span>}\n {helpIconProps && (\n <>\n {tooltipProps ? (\n <Tooltip {...tooltipProps}>{renderHelpIcon()}</Tooltip>\n ) : popoverProps ? (\n <>\n {renderHelpIcon()}\n <Popover\n reference={popoverReferenceElement}\n {...otherPopoverProps}\n >\n <div className=\"flex flex-col\">\n {title && (\n <Title\n data-cy=\"help-popover-title\"\n data-testid=\"help-popover-title\"\n >\n {title}\n </Title>\n )}\n {typeof description === \"string\" ? (\n <Typography\n data-cy=\"help-popover-description\"\n data-testid=\"help-popover-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"normal\"\n >\n {description}\n </Typography>\n ) : (\n description\n )}\n {helpLinkProps && (\n <Button\n className=\"neeto-ui-mt-3\"\n data-cy=\"help-popover-link-button\"\n size=\"small\"\n {...helpLinkProps}\n data-testid=\"help-popover-link-button\"\n style=\"link\"\n target=\"_blank\"\n />\n )}\n </div>\n </Popover>\n </>\n ) : (\n renderHelpIcon()\n )}\n </>\n )}\n </label>\n );\n};\n\nLabel.propTypes = {\n /**\n * To specify the content to be rendered inside the Label.\n */\n children: PropTypes.node,\n /**\n * Provide external classnames to Label component.\n */\n className: PropTypes.string,\n /**\n * To specify whether to show the required asterisk.\n */\n required: PropTypes.bool,\n /**\n * Props for the help icon\n */\n helpIconProps: PropTypes.shape({\n onClick: PropTypes.func,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n tooltipProps: PropTypes.shape({ ...Tooltip.propTypes }),\n popoverProps: PropTypes.shape({\n title: PropTypes.node,\n description: PropTypes.node,\n helpLinkProps: PropTypes.shape({ ...Button.propTypes }),\n }),\n className: PropTypes.string,\n }),\n};\n\nexport default Label;\n"],"names":["Title","Popover","Label","_ref","children","_ref$className","className","_ref$required","required","_ref$helpIconProps","helpIconProps","otherProps","_objectWithoutProperties","_excluded","_ref2","onClick","icon","tooltipProps","popoverProps","helpIconClassName","otherHelpIconProps","_excluded2","_ref3","title","description","helpLinkProps","otherPopoverProps","_excluded3","HelpIcon","Help","popoverReferenceElement","useRef","renderHelpIcon","React","createElement","ref","undefined","classnames","_defineProperty","_extends","size","Fragment","Tooltip","reference","Typography","lineHeight","style","weight","Button","target"],"mappings":"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"}
1
+ {"version":3,"file":"Label.js","sources":["../../src/components/Label/HelpIcon.jsx","../../src/components/Label/HelpContent.jsx","../../src/components/Label/index.jsx"],"sourcesContent":["import React, { forwardRef } from \"react\";\n\nimport classNames from \"classnames\";\nimport { Help } from \"neetoicons\";\n\nconst HelpIcon = forwardRef(\n ({ onClick, className, icon, ...otherProps }, ref) => {\n const HelpIcon = icon || Help;\n\n return (\n <span\n {...{ onClick, ref }}\n className={classNames(\"neeto-ui-label__help-icon-wrap\", {\n [className]: className,\n })}\n >\n <HelpIcon size={16} {...otherProps} />\n </span>\n );\n }\n);\n\nHelpIcon.displayName = \"HelpIcon\";\n\nexport default HelpIcon;\n","import React, { useRef } from \"react\";\n\nimport HelpIcon from \"./HelpIcon\";\n\nimport Button from \"../Button\";\nimport Popover from \"../Popover\";\nimport Tooltip from \"../Tooltip\";\nimport Typography from \"../Typography\";\n\nconst HelpContent = ({ helpIconProps }) => {\n const popoverReferenceElement = useRef();\n\n const { tooltipProps, popoverProps, ...otherHelpIconProps } =\n helpIconProps || {};\n\n if (tooltipProps) {\n return (\n <Tooltip {...tooltipProps}>\n <HelpIcon {...otherHelpIconProps} />\n </Tooltip>\n );\n }\n\n if (popoverProps) {\n const { title, description, helpLinkProps, ...otherPopoverProps } =\n popoverProps;\n\n return (\n <>\n <HelpIcon {...otherHelpIconProps} ref={popoverReferenceElement} />\n <Popover reference={popoverReferenceElement} {...otherPopoverProps}>\n <div className=\"neeto-ui-flex neeto-ui-flex-col\">\n {title && (\n <Popover.Title\n data-cy=\"help-popover-title\"\n data-testid=\"help-popover-title\"\n >\n {title}\n </Popover.Title>\n )}\n {typeof description === \"string\" ? (\n <Typography\n data-cy=\"help-popover-description\"\n data-testid=\"help-popover-description\"\n lineHeight=\"normal\"\n style=\"body2\"\n weight=\"normal\"\n >\n {description}\n </Typography>\n ) : (\n description\n )}\n {helpLinkProps && (\n <Button\n className=\"neeto-ui-mt-3\"\n data-cy=\"help-popover-link-button\"\n size=\"small\"\n {...helpLinkProps}\n data-testid=\"help-popover-link-button\"\n style=\"link\"\n target=\"_blank\"\n />\n )}\n </div>\n </Popover>\n </>\n );\n }\n\n return <HelpIcon {...otherHelpIconProps} />;\n};\n\nexport default HelpContent;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport HelpContent from \"./HelpContent\";\n\nimport Button from \"../Button\";\nimport Tooltip from \"../Tooltip\";\n\nconst Label = ({\n children,\n className = \"\",\n required = false,\n helpIconProps = null,\n ...props\n}) => (\n <label\n className={classnames(\n \"neeto-ui-label neeto-ui-flex neeto-ui-items-center\",\n className\n )}\n {...props}\n >\n {children}\n {required && <span aria-hidden>*</span>}\n {helpIconProps && <HelpContent {...{ helpIconProps }} />}\n </label>\n);\n\nLabel.propTypes = {\n /**\n * To specify the content to be rendered inside the Label.\n */\n children: PropTypes.node,\n /**\n * Provide external classnames to Label component.\n */\n className: PropTypes.string,\n /**\n * To specify whether to show the required asterisk.\n */\n required: PropTypes.bool,\n /**\n * Props for the help icon\n */\n helpIconProps: PropTypes.shape({\n onClick: PropTypes.func,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n tooltipProps: PropTypes.shape({ ...Tooltip.propTypes }),\n popoverProps: PropTypes.shape({\n title: PropTypes.node,\n description: PropTypes.node,\n helpLinkProps: PropTypes.shape({ ...Button.propTypes }),\n }),\n className: PropTypes.string,\n }),\n};\n\nexport default Label;\n"],"names":["HelpIcon","forwardRef","_ref","ref","onClick","className","icon","otherProps","_objectWithoutProperties","_excluded","Help","React","createElement","classNames","_defineProperty","_extends","size","displayName","HelpContent","helpIconProps","popoverReferenceElement","useRef","_ref2","tooltipProps","popoverProps","otherHelpIconProps","Tooltip","title","description","helpLinkProps","otherPopoverProps","_excluded2","Fragment","Popover","reference","Title","Typography","lineHeight","style","weight","Button","target","Label","children","_ref$className","_ref$required","required","_ref$helpIconProps","props","classnames"],"mappings":"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"}
package/dist/cjs/Modal.js CHANGED
@@ -7,7 +7,7 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
7
7
  var React = require('react');
8
8
  var classnames = require('classnames');
9
9
  var neetoIcons = require('@bigbinary/neeto-icons');
10
- var useOverlayManager = require('./useOverlayManager-d4108cf8.js');
10
+ var useOverlayManager = require('./useOverlayManager-D5NTaYt6.js');
11
11
  var Button = require('./Button.js');
12
12
  require('react-router-dom');
13
13
  require('qs');
@@ -16,40 +16,31 @@ require('@babel/runtime/helpers/esm/extends');
16
16
  require('@babel/runtime/helpers/esm/objectWithoutPropertiesLoose');
17
17
  require('@babel/runtime/helpers/esm/inheritsLoose');
18
18
  require('react-dom');
19
- require('@babel/runtime/helpers/esm/assertThisInitialized');
20
19
  require('ramda');
21
20
  require('@bigbinary/neeto-hotkeys');
22
21
  require('./overlayManager.js');
23
22
  require('@babel/runtime/helpers/classCallCheck');
24
23
  require('@babel/runtime/helpers/createClass');
25
- require('./index-0f5141e0.js');
24
+ require('./index-BG9I04iF.js');
25
+ require('@bigbinary/neeto-cist');
26
+ require('./en-DhnUUSB_.js');
27
+ require('@babel/runtime/helpers/toConsumableArray');
26
28
  require('dayjs');
27
29
  require('dayjs/plugin/localeData');
28
30
  require('dayjs/plugin/utc');
29
31
  require('dayjs/plugin/weekday');
30
32
  require('dayjs/plugin/weekOfYear');
31
- require('@bigbinary/neeto-cist');
32
- require('./en-80d0fbff.js');
33
33
  require('./Spinner.js');
34
34
  require('./Tooltip.js');
35
35
  require('@tippyjs/react');
36
36
  require('tippy.js');
37
37
 
38
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
39
-
40
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
41
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
42
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
43
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
44
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
45
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
46
-
47
38
  var Body = function Body(_ref) {
48
39
  var children = _ref.children,
49
40
  className = _ref.className,
50
41
  dataCy = _ref.dataCy;
51
- return /*#__PURE__*/React__default["default"].createElement("div", {
52
- className: classnames__default["default"]("neeto-ui-modal__body", className),
42
+ return /*#__PURE__*/React.createElement("div", {
43
+ className: classnames("neeto-ui-modal__body", className),
53
44
  "data-cy": dataCy !== null && dataCy !== void 0 ? dataCy : "modal-body"
54
45
  }, children);
55
46
  };
@@ -58,8 +49,8 @@ var Footer = function Footer(_ref) {
58
49
  var children = _ref.children,
59
50
  className = _ref.className,
60
51
  dataCy = _ref.dataCy;
61
- return /*#__PURE__*/React__default["default"].createElement("div", {
62
- className: classnames__default["default"]("neeto-ui-modal__footer", className),
52
+ return /*#__PURE__*/React.createElement("div", {
53
+ className: classnames("neeto-ui-modal__footer", className),
63
54
  "data-cy": dataCy !== null && dataCy !== void 0 ? dataCy : "modal-footer"
64
55
  }, children);
65
56
  };
@@ -70,19 +61,28 @@ var Header = function Header(_ref) {
70
61
  children = _ref.children,
71
62
  className = _ref.className,
72
63
  dataCy = _ref.dataCy;
73
- return /*#__PURE__*/React__default["default"].createElement("div", {
74
- className: classnames__default["default"]("neeto-ui-modal__header", className),
64
+ return /*#__PURE__*/React.createElement("div", {
65
+ className: classnames("neeto-ui-modal__header", className),
75
66
  "data-cy": dataCy !== null && dataCy !== void 0 ? dataCy : "modal-header"
76
- }, children, description && /*#__PURE__*/React__default["default"].createElement("div", {
67
+ }, children, description && /*#__PURE__*/React.createElement("div", {
77
68
  className: "neeto-ui-modal__header-desc",
78
69
  "data-cy": "modal-header-desc"
79
- }, /*#__PURE__*/React__default["default"].createElement(Typography, {
70
+ }, /*#__PURE__*/React.createElement(Typography, {
80
71
  lineHeight: "normal",
81
72
  style: "body2"
82
73
  }, description)));
83
74
  };
84
75
 
85
- var _excluded = ["size", "isOpen", "onClose", "children", "finalFocusRef", "initialFocusRef", "className", "closeOnEsc", "closeButton", "backdropClassName", "blockScrollOnMount", "closeOnOutsideClick"];
76
+ var MemoizedChildren = /*#__PURE__*/React.memo(function (_ref) {
77
+ var children = _ref.children;
78
+ return children;
79
+ }, function (_, _ref2) {
80
+ var shouldUpdate = _ref2.shouldUpdate;
81
+ return !shouldUpdate;
82
+ });
83
+ MemoizedChildren.displayName = "MemoizedChildren";
84
+
85
+ var _excluded = ["size", "isOpen", "onClose", "children", "finalFocusRef", "initialFocusRef", "className", "closeOnEsc", "closeButton", "backdropClassName", "blockScrollOnMount", "closeOnOutsideClick", "forceRender"];
86
86
  var SIZES = {
87
87
  small: "small",
88
88
  medium: "medium",
@@ -111,9 +111,11 @@ var Modal = function Modal(_ref) {
111
111
  blockScrollOnMount = _ref$blockScrollOnMou === void 0 ? true : _ref$blockScrollOnMou,
112
112
  _ref$closeOnOutsideCl = _ref.closeOnOutsideClick,
113
113
  closeOnOutsideClick = _ref$closeOnOutsideCl === void 0 ? true : _ref$closeOnOutsideCl,
114
- otherProps = _objectWithoutProperties__default["default"](_ref, _excluded);
114
+ _ref$forceRender = _ref.forceRender,
115
+ forceRender = _ref$forceRender === void 0 ? false : _ref$forceRender,
116
+ otherProps = _objectWithoutProperties(_ref, _excluded);
115
117
  var _useState = React.useState(false),
116
- _useState2 = _slicedToArray__default["default"](_useState, 2),
118
+ _useState2 = _slicedToArray(_useState, 2),
117
119
  hasTransitionCompleted = _useState2[0],
118
120
  setHasTransitionCompleted = _useState2[1];
119
121
  var modalWrapper = React.useRef(null);
@@ -134,9 +136,9 @@ var Modal = function Modal(_ref) {
134
136
  handleOverlayClose = _useOverlay.handleOverlayClose,
135
137
  setFocusField = _useOverlay.setFocusField;
136
138
  var isFullScreenModal = size === SIZES.fullScreen;
137
- return /*#__PURE__*/React__default["default"].createElement(useOverlayManager.Portal, {
139
+ return /*#__PURE__*/React.createElement(useOverlayManager.Portal, {
138
140
  rootId: "neeto-ui-portal"
139
- }, /*#__PURE__*/React__default["default"].createElement(useOverlayManager.CSSTransition, {
141
+ }, /*#__PURE__*/React.createElement(useOverlayManager.CSSTransition, {
140
142
  unmountOnExit: true,
141
143
  appear: isOpen,
142
144
  classNames: "neeto-ui-modal",
@@ -148,25 +150,25 @@ var Modal = function Modal(_ref) {
148
150
  onExited: function onExited() {
149
151
  return setHasTransitionCompleted(false);
150
152
  }
151
- }, /*#__PURE__*/React__default["default"].createElement(useOverlayManager.Backdrop, {
153
+ }, /*#__PURE__*/React.createElement(useOverlayManager.Backdrop, {
152
154
  "data-testid": "backdrop",
153
155
  key: "modal-backdrop",
154
156
  ref: backdropRef,
155
- className: classnames__default["default"]("neeto-ui-modal__backdrop", {
157
+ className: classnames("neeto-ui-modal__backdrop", {
156
158
  "neeto-ui-modal__backdrop--fullscreen": isFullScreenModal
157
159
  }, backdropClassName)
158
- }, /*#__PURE__*/React__default["default"].createElement("div", _extends__default["default"]({
160
+ }, /*#__PURE__*/React.createElement("div", _extends({
159
161
  "aria-modal": true,
160
162
  key: "modal-wrapper",
161
163
  ref: modalWrapper,
162
164
  role: "dialog",
163
- className: classnames__default["default"]("neeto-ui-modal__wrapper", _defineProperty__default["default"]({
165
+ className: classnames("neeto-ui-modal__wrapper", _defineProperty({
164
166
  "neeto-ui-modal__wrapper--small": size === SIZES.small,
165
167
  "neeto-ui-modal__wrapper--medium": size === SIZES.medium,
166
168
  "neeto-ui-modal__wrapper--large": size === SIZES.large,
167
169
  "neeto-ui-modal__wrapper--fullscreen": isFullScreenModal
168
170
  }, className, className))
169
- }, otherProps), closeButton && /*#__PURE__*/React__default["default"].createElement(Button, {
171
+ }, otherProps), closeButton && /*#__PURE__*/React.createElement(Button, {
170
172
  "aria-label": "Close",
171
173
  className: "neeto-ui-modal__close",
172
174
  "data-cy": "modal-close-button",
@@ -175,9 +177,11 @@ var Modal = function Modal(_ref) {
175
177
  size: isFullScreenModal ? "large" : "small",
176
178
  style: isFullScreenModal ? "secondary" : "text",
177
179
  onClick: handleOverlayClose
178
- }), typeof children === "function" ? children({
180
+ }), /*#__PURE__*/React.createElement(MemoizedChildren, {
181
+ shouldUpdate: isOpen || forceRender
182
+ }, typeof children === "function" ? children({
179
183
  setFocusField: setFocusField
180
- }) : children))));
184
+ }) : children)))));
181
185
  };
182
186
  Modal.Header = Header;
183
187
  Modal.Body = Body;
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sources":["../../src/components/Modal/Body.jsx","../../src/components/Modal/Footer.jsx","../../src/components/Modal/Header.jsx","../../src/components/Modal/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Body = ({ children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__body\", className)}\n data-cy={dataCy ?? \"modal-body\"}\n >\n {children}\n </div>\n);\n\nBody.propTypes = {\n /**\n * To specify className to be applied to the Modal Body.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Body.\n */\n children: PropTypes.node,\n};\n\nexport default Body;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Footer = ({ children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__footer\", className)}\n data-cy={dataCy ?? \"modal-footer\"}\n >\n {children}\n </div>\n);\n\nFooter.propTypes = {\n /**\n * To specify className to be applied to the Modal Footer.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Footer.\n */\n children: PropTypes.node,\n};\n\nexport default Footer;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Typography from \"../Typography\";\n\nconst Header = ({ description = \"\", children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__header\", className)}\n data-cy={dataCy ?? \"modal-header\"}\n >\n {children}\n {description && (\n <div className=\"neeto-ui-modal__header-desc\" data-cy=\"modal-header-desc\">\n <Typography lineHeight=\"normal\" style=\"body2\">\n {description}\n </Typography>\n </div>\n )}\n </div>\n);\n\nHeader.propTypes = {\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the short description of the Modal.\n */\n description: PropTypes.string,\n /**\n * To specify className to be applied to the Modal Header container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Header.\n */\n children: PropTypes.node,\n};\n\nexport default Header;\n","import React, { useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport Backdrop from \"atoms/Backdrop\";\nimport Portal from \"atoms/Portal\";\nimport Button from \"components/Button\";\nimport { useOverlayManager, useOverlay } from \"hooks\";\n\nimport Body from \"./Body\";\nimport Footer from \"./Footer\";\nimport Header from \"./Header\";\n\nconst SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n fullScreen: \"fullScreen\",\n};\n\nconst Modal = ({\n size = SIZES.medium,\n isOpen = false,\n onClose = () => {},\n children,\n finalFocusRef,\n initialFocusRef,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n blockScrollOnMount = true,\n closeOnOutsideClick = true,\n ...otherProps\n}) => {\n const [hasTransitionCompleted, setHasTransitionCompleted] = useState(false);\n\n const modalWrapper = useRef(null);\n const backdropRef = useRef(null);\n\n useOverlayManager(modalWrapper, isOpen);\n\n const { handleOverlayClose, setFocusField } = useOverlay({\n isOpen,\n initialFocusRef,\n finalFocusRef,\n overlayWrapper: modalWrapper,\n onClose,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n blockScrollOnMount,\n hasTransitionCompleted,\n });\n\n const isFullScreenModal = size === SIZES.fullScreen;\n\n return (\n <Portal rootId=\"neeto-ui-portal\">\n <CSSTransition\n unmountOnExit\n appear={isOpen}\n classNames=\"neeto-ui-modal\"\n in={isOpen}\n timeout={300}\n onEntered={() => setHasTransitionCompleted(true)}\n onExited={() => setHasTransitionCompleted(false)}\n >\n <Backdrop\n data-testid=\"backdrop\"\n key=\"modal-backdrop\"\n ref={backdropRef}\n className={classnames(\n \"neeto-ui-modal__backdrop\",\n {\n \"neeto-ui-modal__backdrop--fullscreen\": isFullScreenModal,\n },\n backdropClassName\n )}\n >\n <div\n aria-modal\n key=\"modal-wrapper\"\n ref={modalWrapper}\n role=\"dialog\"\n className={classnames(\"neeto-ui-modal__wrapper\", {\n \"neeto-ui-modal__wrapper--small\": size === SIZES.small,\n \"neeto-ui-modal__wrapper--medium\": size === SIZES.medium,\n \"neeto-ui-modal__wrapper--large\": size === SIZES.large,\n \"neeto-ui-modal__wrapper--fullscreen\": isFullScreenModal,\n [className]: className,\n })}\n {...otherProps}\n >\n {closeButton && (\n <Button\n aria-label=\"Close\"\n className=\"neeto-ui-modal__close\"\n data-cy=\"modal-close-button\"\n data-testid=\"close-button\"\n icon={Close}\n size={isFullScreenModal ? \"large\" : \"small\"}\n style={isFullScreenModal ? \"secondary\" : \"text\"}\n onClick={handleOverlayClose}\n />\n )}\n {typeof children === \"function\"\n ? children({ setFocusField })\n : children}\n </div>\n </Backdrop>\n </CSSTransition>\n </Portal>\n );\n};\n\nModal.propTypes = {\n /**\n * To specify the size of the Modal.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Modal is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the Modal is closed.\n */\n onClose: PropTypes.func,\n /**\n * To specify the content to be rendered inside the Modal component.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * To provide external classNames to the Modal.\n */\n className: PropTypes.string,\n /**\n * To close the Modal on pressing the Esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the close button of the Modal should be displayed or not.\n */\n closeButton: PropTypes.bool,\n /**\n * To add custom classes to backdrop component.\n */\n backdropClassName: PropTypes.string,\n /**\n * To close on clicking outside the Modal content.\n */\n closeOnOutsideClick: PropTypes.bool,\n /*\n * To specify the ref of the element which will receive focus when the Modal is closed.\n * If not specified, the focus will be set to the element which was focused when the Modal was opened.\n * If the Modal was opened by clicking on a button, then the focus will be set to the button.\n * */\n finalFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the ref of the element which will receive focus when the Modal is opened.\n * If not specified, the focus will be set to the first focusable element inside the Modal.\n * */\n initialFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify whether the scroll should be blocked when the Modal is opened.\n * */\n blockScrollOnMount: PropTypes.bool,\n};\n\nModal.Header = Header;\nModal.Body = Body;\nModal.Footer = Footer;\n\nexport default Modal;\n"],"names":["Body","_ref","children","className","dataCy","React","createElement","classnames","Footer","Header","_ref$description","description","Typography","lineHeight","style","SIZES","small","medium","large","fullScreen","Modal","_ref$size","size","_ref$isOpen","isOpen","_ref$onClose","onClose","finalFocusRef","initialFocusRef","_ref$className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$blockScrollOnMou","blockScrollOnMount","_ref$closeOnOutsideCl","closeOnOutsideClick","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","hasTransitionCompleted","setHasTransitionCompleted","modalWrapper","useRef","backdropRef","useOverlayManager","_useOverlay","useOverlay","overlayWrapper","handleOverlayClose","setFocusField","isFullScreenModal","Portal","rootId","CSSTransition","unmountOnExit","appear","classNames","timeout","onEntered","onExited","Backdrop","key","ref","_extends","role","_defineProperty","Button","icon","Close","onClick"],"mappings":"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"}
1
+ {"version":3,"file":"Modal.js","sources":["../../src/components/Modal/Body.jsx","../../src/components/Modal/Footer.jsx","../../src/components/Modal/Header.jsx","../../src/components/Modal/MemoizedChildren.js","../../src/components/Modal/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Body = ({ children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__body\", className)}\n data-cy={dataCy ?? \"modal-body\"}\n >\n {children}\n </div>\n);\n\nBody.propTypes = {\n /**\n * To specify className to be applied to the Modal Body.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Body.\n */\n children: PropTypes.node,\n};\n\nexport default Body;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst Footer = ({ children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__footer\", className)}\n data-cy={dataCy ?? \"modal-footer\"}\n >\n {children}\n </div>\n);\n\nFooter.propTypes = {\n /**\n * To specify className to be applied to the Modal Footer.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Footer.\n */\n children: PropTypes.node,\n};\n\nexport default Footer;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nimport Typography from \"../Typography\";\n\nconst Header = ({ description = \"\", children, className, dataCy }) => (\n <div\n className={classnames(\"neeto-ui-modal__header\", className)}\n data-cy={dataCy ?? \"modal-header\"}\n >\n {children}\n {description && (\n <div className=\"neeto-ui-modal__header-desc\" data-cy=\"modal-header-desc\">\n <Typography lineHeight=\"normal\" style=\"body2\">\n {description}\n </Typography>\n </div>\n )}\n </div>\n);\n\nHeader.propTypes = {\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the short description of the Modal.\n */\n description: PropTypes.string,\n /**\n * To specify className to be applied to the Modal Header container.\n */\n className: PropTypes.string,\n /**\n * To specify the content to be rendered inside the Modal Header.\n */\n children: PropTypes.node,\n};\n\nexport default Header;\n","import React from \"react\";\n\nconst MemoizedChildren = React.memo(\n ({ children }) => children,\n (_, { shouldUpdate }) => !shouldUpdate\n);\n\nMemoizedChildren.displayName = \"MemoizedChildren\";\n\nexport default MemoizedChildren;\n","import React, { useRef, useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { Close } from \"neetoicons\";\nimport PropTypes from \"prop-types\";\nimport { CSSTransition } from \"react-transition-group\";\n\nimport Backdrop from \"atoms/Backdrop\";\nimport Portal from \"atoms/Portal\";\nimport Button from \"components/Button\";\nimport { useOverlayManager, useOverlay } from \"hooks\";\n\nimport Body from \"./Body\";\nimport Footer from \"./Footer\";\nimport Header from \"./Header\";\nimport MemoizedChildren from \"./MemoizedChildren\";\n\nconst SIZES = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n fullScreen: \"fullScreen\",\n};\n\nconst Modal = ({\n size = SIZES.medium,\n isOpen = false,\n onClose = () => {},\n children,\n finalFocusRef,\n initialFocusRef,\n className = \"\",\n closeOnEsc = true,\n closeButton = true,\n backdropClassName = \"\",\n blockScrollOnMount = true,\n closeOnOutsideClick = true,\n forceRender = false,\n ...otherProps\n}) => {\n const [hasTransitionCompleted, setHasTransitionCompleted] = useState(false);\n\n const modalWrapper = useRef(null);\n const backdropRef = useRef(null);\n\n useOverlayManager(modalWrapper, isOpen);\n\n const { handleOverlayClose, setFocusField } = useOverlay({\n isOpen,\n initialFocusRef,\n finalFocusRef,\n overlayWrapper: modalWrapper,\n onClose,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n blockScrollOnMount,\n hasTransitionCompleted,\n });\n\n const isFullScreenModal = size === SIZES.fullScreen;\n\n return (\n <Portal rootId=\"neeto-ui-portal\">\n <CSSTransition\n unmountOnExit\n appear={isOpen}\n classNames=\"neeto-ui-modal\"\n in={isOpen}\n timeout={300}\n onEntered={() => setHasTransitionCompleted(true)}\n onExited={() => setHasTransitionCompleted(false)}\n >\n <Backdrop\n data-testid=\"backdrop\"\n key=\"modal-backdrop\"\n ref={backdropRef}\n className={classnames(\n \"neeto-ui-modal__backdrop\",\n {\n \"neeto-ui-modal__backdrop--fullscreen\": isFullScreenModal,\n },\n backdropClassName\n )}\n >\n <div\n aria-modal\n key=\"modal-wrapper\"\n ref={modalWrapper}\n role=\"dialog\"\n className={classnames(\"neeto-ui-modal__wrapper\", {\n \"neeto-ui-modal__wrapper--small\": size === SIZES.small,\n \"neeto-ui-modal__wrapper--medium\": size === SIZES.medium,\n \"neeto-ui-modal__wrapper--large\": size === SIZES.large,\n \"neeto-ui-modal__wrapper--fullscreen\": isFullScreenModal,\n [className]: className,\n })}\n {...otherProps}\n >\n {closeButton && (\n <Button\n aria-label=\"Close\"\n className=\"neeto-ui-modal__close\"\n data-cy=\"modal-close-button\"\n data-testid=\"close-button\"\n icon={Close}\n size={isFullScreenModal ? \"large\" : \"small\"}\n style={isFullScreenModal ? \"secondary\" : \"text\"}\n onClick={handleOverlayClose}\n />\n )}\n <MemoizedChildren shouldUpdate={isOpen || forceRender}>\n {typeof children === \"function\"\n ? children({ setFocusField })\n : children}\n </MemoizedChildren>\n </div>\n </Backdrop>\n </CSSTransition>\n </Portal>\n );\n};\n\nModal.propTypes = {\n /**\n * To specify the size of the Modal.\n */\n size: PropTypes.oneOf(Object.values(SIZES)),\n /**\n * To specify whether the Modal is open or not.\n */\n isOpen: PropTypes.bool,\n /**\n * To specify the callback which will be invoked when the Modal is closed.\n */\n onClose: PropTypes.func,\n /**\n * To specify the content to be rendered inside the Modal component.\n */\n children: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),\n /**\n * To provide external classNames to the Modal.\n */\n className: PropTypes.string,\n /**\n * To close the Modal on pressing the Esc key.\n */\n closeOnEsc: PropTypes.bool,\n /**\n * To specify whether the close button of the Modal should be displayed or not.\n */\n closeButton: PropTypes.bool,\n /**\n * To add custom classes to backdrop component.\n */\n backdropClassName: PropTypes.string,\n /**\n * To close on clicking outside the Modal content.\n */\n closeOnOutsideClick: PropTypes.bool,\n /*\n * To specify the ref of the element which will receive focus when the Modal is closed.\n * If not specified, the focus will be set to the element which was focused when the Modal was opened.\n * If the Modal was opened by clicking on a button, then the focus will be set to the button.\n * */\n finalFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify the ref of the element which will receive focus when the Modal is opened.\n * If not specified, the focus will be set to the first focusable element inside the Modal.\n * */\n initialFocusRef: PropTypes.object,\n /**\n * <div class=\"neeto-ui-tag neeto-ui-tag--size-small neeto-ui-tag--style-outline neeto-ui-tag--style-success mb-2\">\n * New\n * </div>\n * To specify whether the scroll should be blocked when the Modal is opened.\n * */\n blockScrollOnMount: PropTypes.bool,\n /**\n * The modal children will be force re-rendered if the boolean is set to `true`. Ideally the modal won't update\n * if the `isOpen` is `false`. You can use this prop to override that nature.\n */\n forceRender: PropTypes.bool,\n};\n\nModal.Header = Header;\nModal.Body = Body;\nModal.Footer = Footer;\n\nexport default Modal;\n"],"names":["Body","_ref","children","className","dataCy","React","createElement","classnames","Footer","Header","_ref$description","description","Typography","lineHeight","style","MemoizedChildren","memo","_","_ref2","shouldUpdate","displayName","SIZES","small","medium","large","fullScreen","Modal","_ref$size","size","_ref$isOpen","isOpen","_ref$onClose","onClose","finalFocusRef","initialFocusRef","_ref$className","_ref$closeOnEsc","closeOnEsc","_ref$closeButton","closeButton","_ref$backdropClassNam","backdropClassName","_ref$blockScrollOnMou","blockScrollOnMount","_ref$closeOnOutsideCl","closeOnOutsideClick","_ref$forceRender","forceRender","otherProps","_objectWithoutProperties","_excluded","_useState","useState","_useState2","_slicedToArray","hasTransitionCompleted","setHasTransitionCompleted","modalWrapper","useRef","backdropRef","useOverlayManager","_useOverlay","useOverlay","overlayWrapper","handleOverlayClose","setFocusField","isFullScreenModal","Portal","rootId","CSSTransition","unmountOnExit","appear","classNames","timeout","onEntered","onExited","Backdrop","key","ref","_extends","role","_defineProperty","Button","icon","Close","onClick"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,IAAI,GAAG,SAAPA,IAAIA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;IAAEC,MAAM,GAAAH,IAAA,CAANG,MAAM,CAAA;EAAA,oBACzCC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEH,IAAAA,SAAS,EAAEI,UAAU,CAAC,sBAAsB,EAAEJ,SAAS,CAAE;AACzD,IAAA,SAAA,EAASC,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAANA,MAAM,GAAI,YAAA;AAAa,GAAA,EAE/BF,QAAQ,CACL,CAAA;AAAA,CACP;;ACPD,IAAMM,MAAM,GAAG,SAATA,MAAMA,CAAAP,IAAA,EAAA;AAAA,EAAA,IAAMC,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;IAAEC,MAAM,GAAAH,IAAA,CAANG,MAAM,CAAA;EAAA,oBAC3CC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEH,IAAAA,SAAS,EAAEI,UAAU,CAAC,wBAAwB,EAAEJ,SAAS,CAAE;AAC3D,IAAA,SAAA,EAASC,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAANA,MAAM,GAAI,cAAA;AAAe,GAAA,EAEjCF,QAAQ,CACL,CAAA;AAAA,CACP;;ACLD,IAAMO,MAAM,GAAG,SAATA,MAAMA,CAAAR,IAAA,EAAA;AAAA,EAAA,IAAAS,gBAAA,GAAAT,IAAA,CAAMU,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,gBAAA;IAAER,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IAAEC,SAAS,GAAAF,IAAA,CAATE,SAAS;IAAEC,MAAM,GAAAH,IAAA,CAANG,MAAM,CAAA;EAAA,oBAC7DC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEH,IAAAA,SAAS,EAAEI,UAAU,CAAC,wBAAwB,EAAEJ,SAAS,CAAE;AAC3D,IAAA,SAAA,EAASC,MAAM,KAAA,IAAA,IAANA,MAAM,KAAA,KAAA,CAAA,GAANA,MAAM,GAAI,cAAA;AAAe,GAAA,EAEjCF,QAAQ,EACRS,WAAW,iBACVN,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKH,IAAAA,SAAS,EAAC,6BAA6B;IAAC,SAAQ,EAAA,mBAAA;AAAmB,GAAA,eACtEE,KAAA,CAAAC,aAAA,CAACM,UAAU,EAAA;AAACC,IAAAA,UAAU,EAAC,QAAQ;AAACC,IAAAA,KAAK,EAAC,OAAA;GACnCH,EAAAA,WAAW,CACD,CAEhB,CACG,CAAA;AAAA,CACP;;ACnBD,IAAMI,gBAAgB,gBAAGV,KAAK,CAACW,IAAI,CACjC,UAAAf,IAAA,EAAA;AAAA,EAAA,IAAGC,QAAQ,GAAAD,IAAA,CAARC,QAAQ,CAAA;AAAA,EAAA,OAAOA,QAAQ,CAAA;AAAA,CAC1B,EAAA,UAACe,CAAC,EAAAC,KAAA,EAAA;AAAA,EAAA,IAAIC,YAAY,GAAAD,KAAA,CAAZC,YAAY,CAAA;AAAA,EAAA,OAAO,CAACA,YAAY,CAAA;AAAA,CACvC,CAAA,CAAA;AAEDJ,gBAAgB,CAACK,WAAW,GAAG,kBAAkB;;;ACUjD,IAAMC,KAAK,GAAG;AACZC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,UAAU,EAAE,YAAA;AACd,CAAC,CAAA;AAED,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAAzB,IAAA,EAeL;AAAA,EAAA,IAAA0B,SAAA,GAAA1B,IAAA,CAdJ2B,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,KAAA,CAAA,GAAGN,KAAK,CAACE,MAAM,GAAAI,SAAA;IAAAE,WAAA,GAAA5B,IAAA,CACnB6B,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;IAAAE,YAAA,GAAA9B,IAAA,CACd+B,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,KAAA,CAAA,GAAG,YAAM,EAAE,GAAAA,YAAA;IAClB7B,QAAQ,GAAAD,IAAA,CAARC,QAAQ;IACR+B,aAAa,GAAAhC,IAAA,CAAbgC,aAAa;IACbC,eAAe,GAAAjC,IAAA,CAAfiC,eAAe;IAAAC,cAAA,GAAAlC,IAAA,CACfE,SAAS;AAATA,IAAAA,SAAS,GAAAgC,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAC,eAAA,GAAAnC,IAAA,CACdoC,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,eAAA;IAAAE,gBAAA,GAAArC,IAAA,CACjBsC,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,gBAAA;IAAAE,qBAAA,GAAAvC,IAAA,CAClBwC,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAAE,qBAAA,GAAAzC,IAAA,CACtB0C,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAE,qBAAA,GAAA3C,IAAA,CACzB4C,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAE,gBAAA,GAAA7C,IAAA,CAC1B8C,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,gBAAA;AAChBE,IAAAA,UAAU,GAAAC,wBAAA,CAAAhD,IAAA,EAAAiD,SAAA,CAAA,CAAA;AAEb,EAAA,IAAAC,SAAA,GAA4DC,cAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAApEI,IAAAA,sBAAsB,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,yBAAyB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAExD,EAAA,IAAMI,YAAY,GAAGC,YAAM,CAAC,IAAI,CAAC,CAAA;AACjC,EAAA,IAAMC,WAAW,GAAGD,YAAM,CAAC,IAAI,CAAC,CAAA;AAEhCE,EAAAA,mCAAiB,CAACH,YAAY,EAAE3B,MAAM,CAAC,CAAA;EAEvC,IAAA+B,WAAA,GAA8CC,4BAAU,CAAC;AACvDhC,MAAAA,MAAM,EAANA,MAAM;AACNI,MAAAA,eAAe,EAAfA,eAAe;AACfD,MAAAA,aAAa,EAAbA,aAAa;AACb8B,MAAAA,cAAc,EAAEN,YAAY;AAC5BzB,MAAAA,OAAO,EAAPA,OAAO;AACP2B,MAAAA,WAAW,EAAXA,WAAW;AACXd,MAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBR,MAAAA,UAAU,EAAVA,UAAU;AACVM,MAAAA,kBAAkB,EAAlBA,kBAAkB;AAClBY,MAAAA,sBAAsB,EAAtBA,sBAAAA;AACF,KAAC,CAAC;IAXMS,kBAAkB,GAAAH,WAAA,CAAlBG,kBAAkB;IAAEC,aAAa,GAAAJ,WAAA,CAAbI,aAAa,CAAA;AAazC,EAAA,IAAMC,iBAAiB,GAAGtC,IAAI,KAAKP,KAAK,CAACI,UAAU,CAAA;AAEnD,EAAA,oBACEpB,KAAA,CAAAC,aAAA,CAAC6D,wBAAM,EAAA;AAACC,IAAAA,MAAM,EAAC,iBAAA;AAAiB,GAAA,eAC9B/D,KAAA,CAAAC,aAAA,CAAC+D,+BAAa,EAAA;IACZC,aAAa,EAAA,IAAA;AACbC,IAAAA,MAAM,EAAEzC,MAAO;AACf0C,IAAAA,UAAU,EAAC,gBAAgB;AAC3B,IAAA,IAAA,EAAI1C,MAAO;AACX2C,IAAAA,OAAO,EAAE,GAAI;IACbC,SAAS,EAAE,SAAAA,SAAA,GAAA;MAAA,OAAMlB,yBAAyB,CAAC,IAAI,CAAC,CAAA;KAAC;IACjDmB,QAAQ,EAAE,SAAAA,QAAA,GAAA;MAAA,OAAMnB,yBAAyB,CAAC,KAAK,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA,eAEjDnD,KAAA,CAAAC,aAAA,CAACsE,0BAAQ,EAAA;AACP,IAAA,aAAA,EAAY,UAAU;AACtBC,IAAAA,GAAG,EAAC,gBAAgB;AACpBC,IAAAA,GAAG,EAAEnB,WAAY;AACjBxD,IAAAA,SAAS,EAAEI,UAAU,CACnB,0BAA0B,EAC1B;AACE,MAAA,sCAAsC,EAAE2D,iBAAAA;AAC1C,KAAC,EACDzB,iBAAiB,CAAA;AACjB,GAAA,eAEFpC,KAAA,CAAAC,aAAA,CAAA,KAAA,EAAAyE,QAAA,CAAA;IACE,YAAU,EAAA,IAAA;AACVF,IAAAA,GAAG,EAAC,eAAe;AACnBC,IAAAA,GAAG,EAAErB,YAAa;AAClBuB,IAAAA,IAAI,EAAC,QAAQ;AACb7E,IAAAA,SAAS,EAAEI,UAAU,CAAC,yBAAyB,EAAA0E,eAAA,CAAA;AAC7C,MAAA,gCAAgC,EAAErD,IAAI,KAAKP,KAAK,CAACC,KAAK;AACtD,MAAA,iCAAiC,EAAEM,IAAI,KAAKP,KAAK,CAACE,MAAM;AACxD,MAAA,gCAAgC,EAAEK,IAAI,KAAKP,KAAK,CAACG,KAAK;AACtD,MAAA,qCAAqC,EAAE0C,iBAAAA;KACtC/D,EAAAA,SAAS,EAAGA,SAAS,CAAA,CAAA;GAEpB6C,EAAAA,UAAU,GAEbT,WAAW,iBACVlC,KAAA,CAAAC,aAAA,CAAC4E,MAAM,EAAA;AACL,IAAA,YAAA,EAAW,OAAO;AAClB/E,IAAAA,SAAS,EAAC,uBAAuB;AACjC,IAAA,SAAA,EAAQ,oBAAoB;AAC5B,IAAA,aAAA,EAAY,cAAc;AAC1BgF,IAAAA,IAAI,EAAEC,gBAAM;AACZxD,IAAAA,IAAI,EAAEsC,iBAAiB,GAAG,OAAO,GAAG,OAAQ;AAC5CpD,IAAAA,KAAK,EAAEoD,iBAAiB,GAAG,WAAW,GAAG,MAAO;AAChDmB,IAAAA,OAAO,EAAErB,kBAAAA;AAAmB,GAAA,CAE/B,eACD3D,KAAA,CAAAC,aAAA,CAACS,gBAAgB,EAAA;IAACI,YAAY,EAAEW,MAAM,IAAIiB,WAAAA;AAAY,GAAA,EACnD,OAAO7C,QAAQ,KAAK,UAAU,GAC3BA,QAAQ,CAAC;AAAE+D,IAAAA,aAAa,EAAbA,aAAAA;AAAc,GAAC,CAAC,GAC3B/D,QAAQ,CACK,CACf,CACG,CACG,CACT,CAAA;AAEb,EAAC;AAmEDwB,KAAK,CAACjB,MAAM,GAAGA,MAAM,CAAA;AACrBiB,KAAK,CAAC1B,IAAI,GAAGA,IAAI,CAAA;AACjB0B,KAAK,CAAClB,MAAM,GAAGA,MAAM;;;;"}