@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
@@ -1 +0,0 @@
1
- {"version":3,"file":"tinycolor-282c618c.js","sources":["../node_modules/tinycolor2/tinycolor.js"],"sourcesContent":["// TinyColor v1.4.2\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useOverlayManager-593daea1.js","sources":["../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/dom-helpers/esm/hasClass.js","../node_modules/dom-helpers/esm/addClass.js","../node_modules/dom-helpers/esm/removeClass.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../node_modules/react-transition-group/esm/CSSTransition.js","../node_modules/react-transition-group/esm/utils/ChildMapping.js","../node_modules/react-transition-group/esm/TransitionGroup.js","../node_modules/react-transition-group/esm/ReplaceTransition.js","../node_modules/react-transition-group/esm/SwitchTransition.js","../src/atoms/Backdrop.jsx","../src/atoms/Portal.js","../src/hooks/useOnClickOutside.js","../src/hooks/useOverlay.js","../src/hooks/useOverlayManager.js"],"sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Checks if a given element has a CSS class.\n * \n * @param element the element\n * @param className the CSS class name\n */\nexport default function hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);\n return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}","import hasClass from './hasClass';\n/**\n * Adds a CSS class to a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\nexport default function addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!hasClass(element, className)) if (typeof element.className === 'string') element.className = element.className + \" \" + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + \" \" + className);\n}","function replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp(\"(^|\\\\s)\" + classToRemove + \"(?:\\\\s|$)\", 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n/**\n * Removes a CSS class from a given element.\n * \n * @param element the element\n * @param className the CSS class name\n */\n\n\nexport default function removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else if (typeof element.className === 'string') {\n element.className = replaceClassName(element.className, className);\n } else {\n element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n }\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport addOneClass from 'dom-helpers/addClass';\nimport removeOneClass from 'dom-helpers/removeClass';\nimport React from 'react';\nimport Transition from './Transition';\nimport { classNamesShape } from './utils/PropTypes';\nimport { forceReflow } from './utils/reflow';\n\nvar _addClass = function addClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return addOneClass(node, c);\n });\n};\n\nvar removeClass = function removeClass(node, classes) {\n return node && classes && classes.split(' ').forEach(function (c) {\n return removeOneClass(node, c);\n });\n};\n/**\n * A transition component inspired by the excellent\n * [ng-animate](https://docs.angularjs.org/api/ngAnimate) library, you should\n * use it if you're using CSS transitions or animations. It's built upon the\n * [`Transition`](https://reactcommunity.org/react-transition-group/transition)\n * component, so it inherits all of its props.\n *\n * `CSSTransition` applies a pair of class names during the `appear`, `enter`,\n * and `exit` states of the transition. The first class is applied and then a\n * second `*-active` class in order to activate the CSS transition. After the\n * transition, matching `*-done` class names are applied to persist the\n * transition state.\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <CSSTransition in={inProp} timeout={200} classNames=\"my-node\">\n * <div>\n * {\"I'll receive my-node-* classes\"}\n * </div>\n * </CSSTransition>\n * <button type=\"button\" onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the `in` prop is set to `true`, the child component will first receive\n * the class `example-enter`, then the `example-enter-active` will be added in\n * the next tick. `CSSTransition` [forces a\n * reflow](https://github.com/reactjs/react-transition-group/blob/5007303e729a74be66a21c3e2205e4916821524b/src/CSSTransition.js#L208-L215)\n * between before adding the `example-enter-active`. This is an important trick\n * because it allows us to transition between `example-enter` and\n * `example-enter-active` even though they were added immediately one after\n * another. Most notably, this is what makes it possible for us to animate\n * _appearance_.\n *\n * ```css\n * .my-node-enter {\n * opacity: 0;\n * }\n * .my-node-enter-active {\n * opacity: 1;\n * transition: opacity 200ms;\n * }\n * .my-node-exit {\n * opacity: 1;\n * }\n * .my-node-exit-active {\n * opacity: 0;\n * transition: opacity 200ms;\n * }\n * ```\n *\n * `*-active` classes represent which styles you want to animate **to**, so it's\n * important to add `transition` declaration only to them, otherwise transitions\n * might not behave as intended! This might not be obvious when the transitions\n * are symmetrical, i.e. when `*-enter-active` is the same as `*-exit`, like in\n * the example above (minus `transition`), but it becomes apparent in more\n * complex transitions.\n *\n * **Note**: If you're using the\n * [`appear`](http://reactcommunity.org/react-transition-group/transition#Transition-prop-appear)\n * prop, make sure to define styles for `.appear-*` classes as well.\n */\n\n\nvar CSSTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(CSSTransition, _React$Component);\n\n function CSSTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.appliedClasses = {\n appear: {},\n enter: {},\n exit: {}\n };\n\n _this.onEnter = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument[0],\n appearing = _this$resolveArgument[1];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, appearing ? 'appear' : 'enter', 'base');\n\n if (_this.props.onEnter) {\n _this.props.onEnter(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntering = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument2 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument2[0],\n appearing = _this$resolveArgument2[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.addClass(node, type, 'active');\n\n if (_this.props.onEntering) {\n _this.props.onEntering(maybeNode, maybeAppearing);\n }\n };\n\n _this.onEntered = function (maybeNode, maybeAppearing) {\n var _this$resolveArgument3 = _this.resolveArguments(maybeNode, maybeAppearing),\n node = _this$resolveArgument3[0],\n appearing = _this$resolveArgument3[1];\n\n var type = appearing ? 'appear' : 'enter';\n\n _this.removeClasses(node, type);\n\n _this.addClass(node, type, 'done');\n\n if (_this.props.onEntered) {\n _this.props.onEntered(maybeNode, maybeAppearing);\n }\n };\n\n _this.onExit = function (maybeNode) {\n var _this$resolveArgument4 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument4[0];\n\n _this.removeClasses(node, 'appear');\n\n _this.removeClasses(node, 'enter');\n\n _this.addClass(node, 'exit', 'base');\n\n if (_this.props.onExit) {\n _this.props.onExit(maybeNode);\n }\n };\n\n _this.onExiting = function (maybeNode) {\n var _this$resolveArgument5 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument5[0];\n\n _this.addClass(node, 'exit', 'active');\n\n if (_this.props.onExiting) {\n _this.props.onExiting(maybeNode);\n }\n };\n\n _this.onExited = function (maybeNode) {\n var _this$resolveArgument6 = _this.resolveArguments(maybeNode),\n node = _this$resolveArgument6[0];\n\n _this.removeClasses(node, 'exit');\n\n _this.addClass(node, 'exit', 'done');\n\n if (_this.props.onExited) {\n _this.props.onExited(maybeNode);\n }\n };\n\n _this.resolveArguments = function (maybeNode, maybeAppearing) {\n return _this.props.nodeRef ? [_this.props.nodeRef.current, maybeNode] // here `maybeNode` is actually `appearing`\n : [maybeNode, maybeAppearing];\n };\n\n _this.getClassNames = function (type) {\n var classNames = _this.props.classNames;\n var isStringClassNames = typeof classNames === 'string';\n var prefix = isStringClassNames && classNames ? classNames + \"-\" : '';\n var baseClassName = isStringClassNames ? \"\" + prefix + type : classNames[type];\n var activeClassName = isStringClassNames ? baseClassName + \"-active\" : classNames[type + \"Active\"];\n var doneClassName = isStringClassNames ? baseClassName + \"-done\" : classNames[type + \"Done\"];\n return {\n baseClassName: baseClassName,\n activeClassName: activeClassName,\n doneClassName: doneClassName\n };\n };\n\n return _this;\n }\n\n var _proto = CSSTransition.prototype;\n\n _proto.addClass = function addClass(node, type, phase) {\n var className = this.getClassNames(type)[phase + \"ClassName\"];\n\n var _this$getClassNames = this.getClassNames('enter'),\n doneClassName = _this$getClassNames.doneClassName;\n\n if (type === 'appear' && phase === 'done' && doneClassName) {\n className += \" \" + doneClassName;\n } // This is to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n\n\n if (phase === 'active') {\n if (node) forceReflow(node);\n }\n\n if (className) {\n this.appliedClasses[type][phase] = className;\n\n _addClass(node, className);\n }\n };\n\n _proto.removeClasses = function removeClasses(node, type) {\n var _this$appliedClasses$ = this.appliedClasses[type],\n baseClassName = _this$appliedClasses$.base,\n activeClassName = _this$appliedClasses$.active,\n doneClassName = _this$appliedClasses$.done;\n this.appliedClasses[type] = {};\n\n if (baseClassName) {\n removeClass(node, baseClassName);\n }\n\n if (activeClassName) {\n removeClass(node, activeClassName);\n }\n\n if (doneClassName) {\n removeClass(node, doneClassName);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n _ = _this$props.classNames,\n props = _objectWithoutPropertiesLoose(_this$props, [\"classNames\"]);\n\n return /*#__PURE__*/React.createElement(Transition, _extends({}, props, {\n onEnter: this.onEnter,\n onEntered: this.onEntered,\n onEntering: this.onEntering,\n onExit: this.onExit,\n onExiting: this.onExiting,\n onExited: this.onExited\n }));\n };\n\n return CSSTransition;\n}(React.Component);\n\nCSSTransition.defaultProps = {\n classNames: ''\n};\nCSSTransition.propTypes = process.env.NODE_ENV !== \"production\" ? _extends({}, Transition.propTypes, {\n /**\n * The animation classNames applied to the component as it appears, enters,\n * exits or has finished the transition. A single name can be provided, which\n * will be suffixed for each stage, e.g. `classNames=\"fade\"` applies:\n *\n * - `fade-appear`, `fade-appear-active`, `fade-appear-done`\n * - `fade-enter`, `fade-enter-active`, `fade-enter-done`\n * - `fade-exit`, `fade-exit-active`, `fade-exit-done`\n *\n * A few details to note about how these classes are applied:\n *\n * 1. They are _joined_ with the ones that are already defined on the child\n * component, so if you want to add some base styles, you can use\n * `className` without worrying that it will be overridden.\n *\n * 2. If the transition component mounts with `in={false}`, no classes are\n * applied yet. You might be expecting `*-exit-done`, but if you think\n * about it, a component cannot finish exiting if it hasn't entered yet.\n *\n * 2. `fade-appear-done` and `fade-enter-done` will _both_ be applied. This\n * allows you to define different behavior for when appearing is done and\n * when regular entering is done, using selectors like\n * `.fade-enter-done:not(.fade-appear-done)`. For example, you could apply\n * an epic entrance animation when element first appears in the DOM using\n * [Animate.css](https://daneden.github.io/animate.css/). Otherwise you can\n * simply use `fade-enter-done` for defining both cases.\n *\n * Each individual classNames can also be specified independently like:\n *\n * ```js\n * classNames={{\n * appear: 'my-appear',\n * appearActive: 'my-active-appear',\n * appearDone: 'my-done-appear',\n * enter: 'my-enter',\n * enterActive: 'my-active-enter',\n * enterDone: 'my-done-enter',\n * exit: 'my-exit',\n * exitActive: 'my-active-exit',\n * exitDone: 'my-done-exit',\n * }}\n * ```\n *\n * If you want to set these classes using CSS Modules:\n *\n * ```js\n * import styles from './styles.css';\n * ```\n *\n * you might want to use camelCase in your CSS file, that way could simply\n * spread them instead of listing them one by one:\n *\n * ```js\n * classNames={{ ...styles }}\n * ```\n *\n * @type {string | {\n * appear?: string,\n * appearActive?: string,\n * appearDone?: string,\n * enter?: string,\n * enterActive?: string,\n * enterDone?: string,\n * exit?: string,\n * exitActive?: string,\n * exitDone?: string,\n * }}\n */\n classNames: classNamesShape,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or 'appear' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEnter: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter-active' or\n * 'appear-active' class is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'enter' or\n * 'appear' classes are **removed** and the `done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntered: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' class is\n * applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExit: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit-active' is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExiting: PropTypes.func,\n\n /**\n * A `<Transition>` callback fired immediately after the 'exit' classes\n * are **removed** and the `exit-done` class is added to the DOM node.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement)\n */\n onExited: PropTypes.func\n}) : {};\nexport default CSSTransition;","import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport TransitionGroup from './TransitionGroup';\n/**\n * The `<ReplaceTransition>` component is a specialized `Transition` component\n * that animates between two children.\n *\n * ```jsx\n * <ReplaceTransition in>\n * <Fade><div>I appear first</div></Fade>\n * <Fade><div>I replace the above</div></Fade>\n * </ReplaceTransition>\n * ```\n */\n\nvar ReplaceTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(ReplaceTransition, _React$Component);\n\n function ReplaceTransition() {\n var _this;\n\n for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {\n _args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(_args)) || this;\n\n _this.handleEnter = function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _this.handleLifecycle('onEnter', 0, args);\n };\n\n _this.handleEntering = function () {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _this.handleLifecycle('onEntering', 0, args);\n };\n\n _this.handleEntered = function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _this.handleLifecycle('onEntered', 0, args);\n };\n\n _this.handleExit = function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n return _this.handleLifecycle('onExit', 1, args);\n };\n\n _this.handleExiting = function () {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n return _this.handleLifecycle('onExiting', 1, args);\n };\n\n _this.handleExited = function () {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n return _this.handleLifecycle('onExited', 1, args);\n };\n\n return _this;\n }\n\n var _proto = ReplaceTransition.prototype;\n\n _proto.handleLifecycle = function handleLifecycle(handler, idx, originalArgs) {\n var _child$props;\n\n var children = this.props.children;\n var child = React.Children.toArray(children)[idx];\n if (child.props[handler]) (_child$props = child.props)[handler].apply(_child$props, originalArgs);\n\n if (this.props[handler]) {\n var maybeNode = child.props.nodeRef ? undefined : ReactDOM.findDOMNode(this);\n this.props[handler](maybeNode);\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n inProp = _this$props.in,\n props = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\"]);\n\n var _React$Children$toArr = React.Children.toArray(children),\n first = _React$Children$toArr[0],\n second = _React$Children$toArr[1];\n\n delete props.onEnter;\n delete props.onEntering;\n delete props.onEntered;\n delete props.onExit;\n delete props.onExiting;\n delete props.onExited;\n return /*#__PURE__*/React.createElement(TransitionGroup, props, inProp ? React.cloneElement(first, {\n key: 'first',\n onEnter: this.handleEnter,\n onEntering: this.handleEntering,\n onEntered: this.handleEntered\n }) : React.cloneElement(second, {\n key: 'second',\n onEnter: this.handleExit,\n onEntering: this.handleExiting,\n onEntered: this.handleExited\n }));\n };\n\n return ReplaceTransition;\n}(React.Component);\n\nReplaceTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n in: PropTypes.bool.isRequired,\n children: function children(props, propName) {\n if (React.Children.count(props[propName]) !== 2) return new Error(\"\\\"\" + propName + \"\\\" must be exactly two transition components.\");\n return null;\n }\n} : {};\nexport default ReplaceTransition;","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\n\nvar _leaveRenders, _enterRenders;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { ENTERED, ENTERING, EXITING } from './Transition';\nimport TransitionGroupContext from './TransitionGroupContext';\n\nfunction areChildrenDifferent(oldChildren, newChildren) {\n if (oldChildren === newChildren) return false;\n\n if (React.isValidElement(oldChildren) && React.isValidElement(newChildren) && oldChildren.key != null && oldChildren.key === newChildren.key) {\n return false;\n }\n\n return true;\n}\n/**\n * Enum of modes for SwitchTransition component\n * @enum { string }\n */\n\n\nexport var modes = {\n out: 'out-in',\n in: 'in-out'\n};\n\nvar callHook = function callHook(element, name, cb) {\n return function () {\n var _element$props;\n\n element.props[name] && (_element$props = element.props)[name].apply(_element$props, arguments);\n cb();\n };\n};\n\nvar leaveRenders = (_leaveRenders = {}, _leaveRenders[modes.out] = function (_ref) {\n var current = _ref.current,\n changeState = _ref.changeState;\n return React.cloneElement(current, {\n in: false,\n onExited: callHook(current, 'onExited', function () {\n changeState(ENTERING, null);\n })\n });\n}, _leaveRenders[modes.in] = function (_ref2) {\n var current = _ref2.current,\n changeState = _ref2.changeState,\n children = _ref2.children;\n return [current, React.cloneElement(children, {\n in: true,\n onEntered: callHook(children, 'onEntered', function () {\n changeState(ENTERING);\n })\n })];\n}, _leaveRenders);\nvar enterRenders = (_enterRenders = {}, _enterRenders[modes.out] = function (_ref3) {\n var children = _ref3.children,\n changeState = _ref3.changeState;\n return React.cloneElement(children, {\n in: true,\n onEntered: callHook(children, 'onEntered', function () {\n changeState(ENTERED, React.cloneElement(children, {\n in: true\n }));\n })\n });\n}, _enterRenders[modes.in] = function (_ref4) {\n var current = _ref4.current,\n children = _ref4.children,\n changeState = _ref4.changeState;\n return [React.cloneElement(current, {\n in: false,\n onExited: callHook(current, 'onExited', function () {\n changeState(ENTERED, React.cloneElement(children, {\n in: true\n }));\n })\n }), React.cloneElement(children, {\n in: true\n })];\n}, _enterRenders);\n/**\n * A transition component inspired by the [vue transition modes](https://vuejs.org/v2/guide/transitions.html#Transition-Modes).\n * You can use it when you want to control the render between state transitions.\n * Based on the selected mode and the child's key which is the `Transition` or `CSSTransition` component, the `SwitchTransition` makes a consistent transition between them.\n *\n * If the `out-in` mode is selected, the `SwitchTransition` waits until the old child leaves and then inserts a new child.\n * If the `in-out` mode is selected, the `SwitchTransition` inserts a new child first, waits for the new child to enter and then removes the old child.\n *\n * **Note**: If you want the animation to happen simultaneously\n * (that is, to have the old child removed and a new child inserted **at the same time**),\n * you should use\n * [`TransitionGroup`](https://reactcommunity.org/react-transition-group/transition-group)\n * instead.\n *\n * ```jsx\n * function App() {\n * const [state, setState] = useState(false);\n * return (\n * <SwitchTransition>\n * <CSSTransition\n * key={state ? \"Goodbye, world!\" : \"Hello, world!\"}\n * addEndListener={(node, done) => node.addEventListener(\"transitionend\", done, false)}\n * classNames='fade'\n * >\n * <button onClick={() => setState(state => !state)}>\n * {state ? \"Goodbye, world!\" : \"Hello, world!\"}\n * </button>\n * </CSSTransition>\n * </SwitchTransition>\n * );\n * }\n * ```\n *\n * ```css\n * .fade-enter{\n * opacity: 0;\n * }\n * .fade-exit{\n * opacity: 1;\n * }\n * .fade-enter-active{\n * opacity: 1;\n * }\n * .fade-exit-active{\n * opacity: 0;\n * }\n * .fade-enter-active,\n * .fade-exit-active{\n * transition: opacity 500ms;\n * }\n * ```\n */\n\nvar SwitchTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(SwitchTransition, _React$Component);\n\n function SwitchTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n status: ENTERED,\n current: null\n };\n _this.appeared = false;\n\n _this.changeState = function (status, current) {\n if (current === void 0) {\n current = _this.state.current;\n }\n\n _this.setState({\n status: status,\n current: current\n });\n };\n\n return _this;\n }\n\n var _proto = SwitchTransition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n };\n\n SwitchTransition.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n if (props.children == null) {\n return {\n current: null\n };\n }\n\n if (state.status === ENTERING && props.mode === modes.in) {\n return {\n status: ENTERING\n };\n }\n\n if (state.current && areChildrenDifferent(state.current, props.children)) {\n return {\n status: EXITING\n };\n }\n\n return {\n current: React.cloneElement(props.children, {\n in: true\n })\n };\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n mode = _this$props.mode,\n _this$state = this.state,\n status = _this$state.status,\n current = _this$state.current;\n var data = {\n children: children,\n current: current,\n changeState: this.changeState,\n status: status\n };\n var component;\n\n switch (status) {\n case ENTERING:\n component = enterRenders[mode](data);\n break;\n\n case EXITING:\n component = leaveRenders[mode](data);\n break;\n\n case ENTERED:\n component = current;\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: {\n isMounting: !this.appeared\n }\n }, component);\n };\n\n return SwitchTransition;\n}(React.Component);\n\nSwitchTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Transition modes.\n * `out-in`: Current element transitions out first, then when complete, the new element transitions in.\n * `in-out`: New element transitions in first, then when complete, the current element transitions out.\n *\n * @type {'out-in'|'in-out'}\n */\n mode: PropTypes.oneOf([modes.in, modes.out]),\n\n /**\n * Any `Transition` or `CSSTransition` component.\n */\n children: PropTypes.oneOfType([PropTypes.element.isRequired])\n} : {};\nSwitchTransition.defaultProps = {\n mode: modes.out\n};\nexport default SwitchTransition;","import React, { forwardRef } from \"react\";\n\nconst Portal = ({ children, ...otherProps }, ref) => (\n <div\n data-cy=\"neeto-backdrop\"\n data-testid=\"neeto-backdrop\"\n ref={ref}\n {...otherProps}\n >\n {children}\n </div>\n);\n\nexport default forwardRef(Portal);\n","import { useEffect, useRef } from \"react\";\n\nimport { isEmpty } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nconst Portal = ({ children, rootId = \"root-portal\", el = \"div\" }) => {\n const target = useRef(null);\n\n useEffect(() => {\n let container = document.getElementById(rootId);\n if (!container) {\n container = document.createElement(el);\n container.setAttribute(\"id\", rootId);\n document.body.appendChild(container);\n }\n\n container.appendChild(target.current);\n\n return () => {\n target.current.remove();\n if (isEmpty(container.childNodes)) {\n container.remove();\n }\n };\n }, [rootId]);\n\n if (!target.current) {\n target.current = document.createElement(el);\n }\n\n return createPortal(children, target.current);\n};\n\nexport default Portal;\n","import { useEffect } from \"react\";\n\nconst useOnClickOutside = (insideRef, outsideRef, handler) => {\n useEffect(() => {\n const listener = event => {\n // Do nothing if clicking ref's element or descendent elements\n if (!insideRef.current || insideRef.current.contains(event.target)) {\n return;\n }\n\n if (outsideRef.current) {\n // If Outside ref exists, trigger the handler if it contains the event target.\n if (outsideRef.current.contains(event.target)) {\n handler(event);\n }\n\n return;\n }\n handler(event);\n };\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [insideRef, outsideRef, handler]);\n};\n\nexport default useOnClickOutside;\n","import { useRef, useEffect, useCallback, useSyncExternalStore } from \"react\";\n\nimport useHotKeys from \"@bigbinary/neeto-hotkeys\";\n\nimport { manager } from \"managers\";\nimport {\n noop,\n hideScrollAndAddMargin,\n showScrollAndRemoveMargin,\n focusFirstFocusableElement,\n trapFocusOnFocusableElements,\n} from \"utils\";\n\nimport useOnClickOutside from \"./useOnClickOutside\";\n\nconst useOverlay = ({\n isOpen,\n initialFocusRef,\n finalFocusRef,\n overlayWrapper,\n onClose,\n backdropRef,\n closeOnOutsideClick,\n closeOnEsc,\n blockScrollOnMount,\n hasTransitionCompleted,\n}) => {\n const elementToFocusRef = useRef(null);\n\n const bodyHeight = document.body.offsetHeight;\n const windowHeight = window.innerHeight;\n const hasScroll = bodyHeight > windowHeight;\n\n const shouldHideScrollAndAddMargin =\n hasScroll && blockScrollOnMount && manager.hasOverlays();\n\n const returnFocusToPreviousActiveElement = () => {\n elementToFocusRef.current = manager.getFinalFocusInOverlay();\n if (!finalFocusRef?.current) {\n elementToFocusRef?.current?.focus();\n } else {\n finalFocusRef.current.focus();\n }\n };\n\n const focusRequiredElementInOverlay = () => {\n if (!hasTransitionCompleted) return;\n\n if (initialFocusRef?.current) {\n initialFocusRef?.current?.focus();\n } else {\n focusFirstFocusableElement(overlayWrapper);\n }\n };\n\n const handleOverlayClose = useCallback(() => {\n if (!manager.isTopOverlay(overlayWrapper)) return;\n returnFocusToPreviousActiveElement();\n onClose?.();\n }, [onClose]);\n\n useOnClickOutside(\n overlayWrapper,\n backdropRef,\n closeOnOutsideClick ? handleOverlayClose : noop\n );\n\n const isTopOverlay = useSyncExternalStore(manager.subscribe, () =>\n manager.isTopOverlay(overlayWrapper)\n );\n\n useHotKeys(\"escape\", handleOverlayClose, { enabled: closeOnEsc });\n\n useEffect(() => {\n let cleanUp = noop;\n if (isOpen) {\n if (hasTransitionCompleted && isTopOverlay) {\n focusRequiredElementInOverlay();\n // Enable focus trap only for the topmost overlay\n cleanUp = trapFocusOnFocusableElements(overlayWrapper);\n }\n\n if (shouldHideScrollAndAddMargin) hideScrollAndAddMargin();\n }\n\n return () => {\n if (!manager.hasOverlays()) showScrollAndRemoveMargin();\n cleanUp();\n };\n }, [isOpen, hasTransitionCompleted, isTopOverlay]);\n\n const setFocusField = fieldRef => {\n if (!fieldRef) return;\n initialFocusRef = { current: fieldRef };\n if (hasTransitionCompleted) focusRequiredElementInOverlay();\n };\n\n return { handleOverlayClose, setFocusField };\n};\n\nexport default useOverlay;\n","import { useEffect } from \"react\";\n\nimport { manager } from \"managers\";\n\nconst useOverlayManager = (ref, isOpen) => {\n const elementToFocus = document.activeElement;\n useEffect(() => {\n if (isOpen) {\n manager.add(ref, elementToFocus);\n }\n\n return () => {\n manager.remove(ref, elementToFocus);\n };\n }, [isOpen, ref]);\n};\n\nexport default useOverlayManager;\n"],"names":["ReactPropTypesSecret","require$$0","removeClass","React","addClass","addOneClass","removeOneClass","Portal","_ref","ref","children","otherProps","_objectWithoutProperties","_excluded","createElement","_extends","forwardRef","_ref$rootId","rootId","_ref$el","el","target","useRef","useEffect","container","document","getElementById","setAttribute","body","appendChild","current","remove","isEmpty","childNodes","createPortal","useOnClickOutside","insideRef","outsideRef","handler","listener","event","contains","addEventListener","removeEventListener","useOverlay","isOpen","initialFocusRef","finalFocusRef","overlayWrapper","onClose","backdropRef","closeOnOutsideClick","closeOnEsc","blockScrollOnMount","hasTransitionCompleted","elementToFocusRef","bodyHeight","offsetHeight","windowHeight","window","innerHeight","hasScroll","shouldHideScrollAndAddMargin","manager","hasOverlays","returnFocusToPreviousActiveElement","getFinalFocusInOverlay","_elementToFocusRef$cu","focus","focusRequiredElementInOverlay","_initialFocusRef","_initialFocusRef2","focusFirstFocusableElement","handleOverlayClose","useCallback","isTopOverlay","noop","useSyncExternalStore","subscribe","useHotKeys","enabled","cleanUp","trapFocusOnFocusableElements","hideScrollAndAddMargin","showScrollAndRemoveMargin","setFocusField","fieldRef","useOverlayManager","elementToFocus","activeElement","add"],"mappings":"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"}