@onepercentio/one-ui 1.3.5 → 1.4.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 (229) hide show
  1. package/WebpackConfigs/email-templates.js +99 -0
  2. package/dist/components/AdaptiveButton/AdaptiveButton.js +26 -24
  3. package/dist/components/AdaptiveButton/index.js +25 -22
  4. package/dist/components/AdaptiveContainer/AdaptiveContainer.js +140 -139
  5. package/dist/components/AdaptiveContainer/index.js +25 -22
  6. package/dist/components/AdaptiveDialog/AdaptiveDialog.js +76 -42
  7. package/dist/components/AdaptiveDialog/AdaptiveDialog.module.scss +17 -3
  8. package/dist/components/AdaptiveDialog/index.js +25 -22
  9. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +70 -54
  10. package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.js +10 -9
  11. package/dist/components/AdaptiveSidebar/index.js +25 -22
  12. package/dist/components/AnchoredTooltip/AnchoredTooltip.js +155 -154
  13. package/dist/components/AnchoredTooltip/AnchoredTooltip.module.scss +13 -10
  14. package/dist/components/AnchoredTooltip/index.js +25 -22
  15. package/dist/components/AnimatedEntrance/AnimatedEntrance.js +154 -121
  16. package/dist/components/AnimatedEntrance/index.js +25 -22
  17. package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.js +80 -40
  18. package/dist/components/AsyncTriggerContainer/index.js +25 -22
  19. package/dist/components/AsyncWrapper/AsyncWrapper.js +34 -16
  20. package/dist/components/AsyncWrapper/index.js +25 -22
  21. package/dist/components/Avatar/Avatar.js +33 -18
  22. package/dist/components/Avatar/index.js +25 -22
  23. package/dist/components/BucketFill/BucketFill.js +49 -36
  24. package/dist/components/BucketFill/index.js +25 -22
  25. package/dist/components/Button/Button.js +30 -22
  26. package/dist/components/Button/index.js +25 -22
  27. package/dist/components/Card/Card.js +17 -10
  28. package/dist/components/Card/index.js +25 -22
  29. package/dist/components/Chart/Chart.js +25 -22
  30. package/dist/components/Chart/Chart.logic.js +10 -9
  31. package/dist/components/Chart/Chart.types.js +5 -2
  32. package/dist/components/Chart/Chart.view.js +174 -98
  33. package/dist/components/Chart/index.js +25 -22
  34. package/dist/components/CheckBox/CheckBox.js +48 -30
  35. package/dist/components/CheckBox/CheckBox.module.scss +5 -0
  36. package/dist/components/CheckBox/index.js +25 -22
  37. package/dist/components/CodeInput/CodeInput.js +75 -93
  38. package/dist/components/CodeInput/index.js +25 -22
  39. package/dist/components/Collapsable/Collapsable.js +164 -134
  40. package/dist/components/Collapsable/index.js +25 -22
  41. package/dist/components/Countdown/Countdown.js +69 -86
  42. package/dist/components/Countdown/index.js +25 -22
  43. package/dist/components/CurrencyInput/CurrencyInput.hook.js +25 -25
  44. package/dist/components/CurrencyInput/CurrencyInput.js +48 -29
  45. package/dist/components/CurrencyInput/index.js +25 -22
  46. package/dist/components/Divider/Divider.js +16 -10
  47. package/dist/components/Divider/index.js +25 -22
  48. package/dist/components/EmailInput/EmailInput.js +37 -23
  49. package/dist/components/EmailInput/index.js +25 -22
  50. package/dist/components/FadeIn/FadeIn.js +57 -51
  51. package/dist/components/FadeIn/index.js +25 -22
  52. package/dist/components/FileInput/FileInput.js +45 -38
  53. package/dist/components/FileInput/View/BigFactory/BigFactory.js +48 -16
  54. package/dist/components/FileInput/View/BigFactory/index.js +25 -22
  55. package/dist/components/FileInput/View/Compact/Compact.js +114 -46
  56. package/dist/components/FileInput/View/Compact/index.js +25 -22
  57. package/dist/components/FileInput/View/View.types.js +5 -2
  58. package/dist/components/FileInput/index.js +25 -22
  59. package/dist/components/FlowController/FlowController.js +56 -25
  60. package/dist/components/FlowController/index.js +25 -22
  61. package/dist/components/Form/Form.hook.js +217 -202
  62. package/dist/components/Form/Form.js +103 -65
  63. package/dist/components/Form/Form.types.js +39 -53
  64. package/dist/components/Form/FormField/Extensions/DateField/DateField.js +68 -53
  65. package/dist/components/Form/FormField/Extensions/DateField/index.js +25 -22
  66. package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.js +81 -78
  67. package/dist/components/Form/FormField/Extensions/PhoneField/index.js +25 -22
  68. package/dist/components/Form/FormField/FormField.js +307 -148
  69. package/dist/components/Form/FormField/FormField.types.js +10 -7
  70. package/dist/components/Form/FormField/index.js +25 -22
  71. package/dist/components/Form/index.js +25 -22
  72. package/dist/components/Freeze/Freeze.js +13 -9
  73. package/dist/components/Freeze/index.js +25 -22
  74. package/dist/components/HSForms/HSForms.js +48 -69
  75. package/dist/components/HSForms/index.js +25 -22
  76. package/dist/components/HeaderCloseBtn/HeaderCloseBtn.js +19 -10
  77. package/dist/components/HeaderCloseBtn/index.js +25 -22
  78. package/dist/components/InfinityScroll/InfinityScroll.js +114 -94
  79. package/dist/components/InfinityScroll/index.js +25 -22
  80. package/dist/components/Input/Input.js +99 -57
  81. package/dist/components/Input/index.js +25 -22
  82. package/dist/components/InstantCounter/InstantCounter.js +49 -31
  83. package/dist/components/InstantCounter/index.js +25 -22
  84. package/dist/components/LavaLamp/LavaLamp.data.js +83 -86
  85. package/dist/components/LavaLamp/LavaLamp.js +119 -32
  86. package/dist/components/LavaLamp/index.js +25 -22
  87. package/dist/components/LavaLamp/v2/LavaLamp.js +149 -156
  88. package/dist/components/LinkToId/LinkToId.js +39 -27
  89. package/dist/components/LinkToId/index.js +25 -22
  90. package/dist/components/Loader/Loader.js +21 -22
  91. package/dist/components/Loader/index.js +25 -22
  92. package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.js +27 -15
  93. package/dist/components/LoaderDotsIndicator/index.js +25 -22
  94. package/dist/components/LoopableVideo/LoopableVideo.js +33 -25
  95. package/dist/components/LoopableVideo/index.js +25 -22
  96. package/dist/components/MainGrid/MainGrid.js +46 -23
  97. package/dist/components/MainGrid/index.js +25 -22
  98. package/dist/components/MutableHamburgerButton/MutableHamburgerButton.js +27 -23
  99. package/dist/components/MutableHamburgerButton/index.js +25 -22
  100. package/dist/components/Notification/Notification.js +18 -11
  101. package/dist/components/Notification/index.js +25 -22
  102. package/dist/components/NumberInput/NumberInput.js +43 -42
  103. package/dist/components/NumberInput/index.js +25 -22
  104. package/dist/components/OrderableList/OrderableList.js +416 -404
  105. package/dist/components/OrderableList/index.js +25 -22
  106. package/dist/components/PaginationIndicator/PaginationIndicator.js +243 -198
  107. package/dist/components/PaginationIndicator/index.js +25 -22
  108. package/dist/components/Parallax/Parallax.js +156 -130
  109. package/dist/components/Parallax/index.js +25 -22
  110. package/dist/components/Parallax/math/helpers.js +120 -216
  111. package/dist/components/PasswordInput/PasswordInput.js +88 -71
  112. package/dist/components/PasswordInput/index.js +25 -22
  113. package/dist/components/PingPongText/PingPongText.js +63 -67
  114. package/dist/components/PingPongText/index.js +25 -22
  115. package/dist/components/PixelatedScan/PixelatedScan.js +126 -74
  116. package/dist/components/PixelatedScan/index.js +25 -22
  117. package/dist/components/Portal/Portal.js +46 -43
  118. package/dist/components/Portal/index.js +25 -22
  119. package/dist/components/ProgressBar/ProgressBar.js +105 -47
  120. package/dist/components/ProgressBar/index.js +25 -22
  121. package/dist/components/ProgressTexts/ProgressTexts.js +43 -29
  122. package/dist/components/ProgressTexts/index.js +25 -22
  123. package/dist/components/Radio/Radio.js +51 -28
  124. package/dist/components/Radio/index.js +25 -22
  125. package/dist/components/Radio/variants/Checkmark/Checkmark.js +18 -12
  126. package/dist/components/Radio/variants/Checkmark/index.js +25 -22
  127. package/dist/components/Radio/variants/Generic/Generic.js +20 -12
  128. package/dist/components/Radio/variants/Generic/index.js +25 -22
  129. package/dist/components/ScrollendIndicator/ScrollendIndicator.js +118 -0
  130. package/dist/components/ScrollendIndicator/ScrollendIndicator.module.scss +76 -0
  131. package/dist/components/SectionContainer/SectionContainer.js +38 -16
  132. package/dist/components/SectionContainer/index.js +25 -22
  133. package/dist/components/Select/Select.js +128 -95
  134. package/dist/components/Select/index.js +25 -22
  135. package/dist/components/Skeleton/Skeleton.js +22 -14
  136. package/dist/components/Skeleton/index.js +25 -22
  137. package/dist/components/Slider/Slider.js +63 -59
  138. package/dist/components/Slider/index.js +25 -22
  139. package/dist/components/Spacing/Spacing.js +25 -17
  140. package/dist/components/Spacing/index.js +25 -22
  141. package/dist/components/StaticScroller/StaticScroller.js +65 -61
  142. package/dist/components/StaticScroller/index.js +25 -22
  143. package/dist/components/Switch/Switch.js +40 -26
  144. package/dist/components/Switch/index.js +25 -22
  145. package/dist/components/Table/Table.js +107 -56
  146. package/dist/components/Table/index.js +25 -22
  147. package/dist/components/Tabs/Tabs.js +59 -54
  148. package/dist/components/Tabs/index.js +25 -22
  149. package/dist/components/Text/Text.js +35 -30
  150. package/dist/components/Text/index.js +25 -22
  151. package/dist/components/Transition/MasksFactory/DiagonalReveal.js +46 -12
  152. package/dist/components/Transition/MasksFactory/DiagonalSquareToBalls.js +71 -49
  153. package/dist/components/Transition/MasksFactory/PhysicsSquares.js +89 -79
  154. package/dist/components/Transition/MasksFactory/SquareToBalls.js +60 -41
  155. package/dist/components/Transition/MasksFactory/utils.js +25 -27
  156. package/dist/components/Transition/Transition.js +298 -319
  157. package/dist/components/Transition/index.js +25 -22
  158. package/dist/components/UncontrolledTransition/UncontrolledTransition.js +101 -93
  159. package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.js +27 -19
  160. package/dist/components/UncontrolledTransition/index.js +25 -22
  161. package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js +101 -94
  162. package/dist/components/WalletConnectionWrapper/index.js +25 -22
  163. package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.js +53 -43
  164. package/dist/components/utilitary/ScrollAndFocusLock/index.js +25 -22
  165. package/dist/context/AsyncProcess.js +68 -41
  166. package/dist/context/ContextAsyncControl.js +72 -51
  167. package/dist/context/CustomBrowserRouter.js +44 -30
  168. package/dist/context/OneUIProvider.js +102 -108
  169. package/dist/hooks/logs/useDependencyChangeDetection.js +17 -16
  170. package/dist/hooks/logs/useIsMounting.js +10 -7
  171. package/dist/hooks/persistence/useLocalStorage.js +41 -40
  172. package/dist/hooks/shims/ObjectWatchShim.js +47 -46
  173. package/dist/hooks/ui/useAdaptiveImage.js +29 -34
  174. package/dist/hooks/ui/useAlternating.js +18 -18
  175. package/dist/hooks/ui/useBreakpoint.js +19 -18
  176. package/dist/hooks/ui/useCustomScrollbar.js +26 -21
  177. package/dist/hooks/ui/useEffectIf.js +11 -9
  178. package/dist/hooks/ui/useMouseHover.js +22 -19
  179. package/dist/hooks/ui/usePaginationControls.js +129 -136
  180. package/dist/hooks/ui/useSnapToViewport.js +20 -19
  181. package/dist/hooks/ui/useTilt.js +145 -129
  182. package/dist/hooks/ui/useZoomable.js +123 -116
  183. package/dist/hooks/useAsyncControl.js +67 -52
  184. package/dist/hooks/useContainedRepositioning.js +75 -71
  185. package/dist/hooks/useCustomHistory.js +21 -12
  186. package/dist/hooks/useElementFit.js +43 -48
  187. package/dist/hooks/useFirestoreWatch.js +41 -41
  188. package/dist/hooks/useFreeze.js +10 -8
  189. package/dist/hooks/useHero.js +249 -271
  190. package/dist/hooks/useIntersection.js +32 -27
  191. package/dist/hooks/useMergeRefs.js +27 -24
  192. package/dist/hooks/useObserve.js +17 -14
  193. package/dist/hooks/usePagination.js +147 -164
  194. package/dist/hooks/usePooledOperation.js +41 -57
  195. package/dist/hooks/usePooling.js +46 -49
  196. package/dist/hooks/useRebound.js +23 -19
  197. package/dist/hooks/useShortIntl.js +72 -50
  198. package/dist/hooks/utility/useAsyncMemo.js +36 -42
  199. package/dist/hooks/utility/useDepChange.js +14 -12
  200. package/dist/hooks/utility/useEvents.js +26 -21
  201. package/dist/hooks/utility/useImmediate.js +8 -5
  202. package/dist/hooks/utility/useManualInit.js +19 -17
  203. package/dist/hooks/utility/useModule.js +12 -9
  204. package/dist/hooks/utility/useQuery.js +13 -7
  205. package/dist/hooks/utility/useUniqueEffect.js +17 -17
  206. package/dist/index.js +2159 -349
  207. package/dist/index.preprocess.js +35 -72
  208. package/dist/models/DebugLogger.js +8 -5
  209. package/dist/models/GenericContract.js +42 -13
  210. package/dist/models/ImageScales.js +13 -10
  211. package/dist/models/Orbs.js +53 -47
  212. package/dist/storybookUtils/index.js +40 -39
  213. package/dist/type-utils.js +5 -2
  214. package/dist/types.js +5 -2
  215. package/dist/utils/blockchain.js +35 -54
  216. package/dist/utils/e2e.js +21 -11
  217. package/dist/utils/flatten.js +15 -12
  218. package/dist/utils/formatters.js +48 -43
  219. package/dist/utils/html.utils.js +12 -6
  220. package/dist/utils/ownEvent.js +9 -7
  221. package/dist/utils/test.js +13 -11
  222. package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.d.ts +10 -0
  223. package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.js +68 -0
  224. package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.js.map +1 -0
  225. package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.module.scss +76 -0
  226. package/dist-ts/index.d.ts +1 -0
  227. package/dist-ts/index.js +1 -0
  228. package/dist-ts/index.js.map +1 -1
  229. package/package.json +1 -1
@@ -193,6 +193,105 @@ async function createConfig(
193
193
  },
194
194
  };
195
195
  baseConfig.plugins.push(LogPlugin);
196
+ // Latest list of compiled template routes, kept in sync on every build so
197
+ // the dev-server fallback middleware can render an up-to-date listing.
198
+ let latestRoutes = [];
199
+ const renderTemplatesPage = (routes, heading, warning) => {
200
+ const items = routes
201
+ .map(
202
+ (route) =>
203
+ ` <li><a href="/${route}">${route.replace(
204
+ /\.html$/,
205
+ "",
206
+ )}</a></li>`,
207
+ )
208
+ .join("\n");
209
+ return `<!DOCTYPE html>
210
+ <html lang="en">
211
+ <head>
212
+ <meta charset="utf-8" />
213
+ <title>Templates</title>
214
+ <style>
215
+ body { font-family: system-ui, sans-serif; margin: 2rem; }
216
+ h1 { font-size: 1.25rem; }
217
+ .warning { color: #b00020; margin-bottom: 1rem; }
218
+ ul { line-height: 1.8; padding-left: 1.25rem; }
219
+ a { text-decoration: none; }
220
+ a:hover { text-decoration: underline; }
221
+ </style>
222
+ </head>
223
+ <body>
224
+ ${warning ? `<p class="warning">${warning}</p>` : ""}
225
+ <h1>${heading}</h1>
226
+ <ul>
227
+ ${items}
228
+ </ul>
229
+ </body>
230
+ </html>
231
+ `;
232
+ };
233
+ /**
234
+ * In development, generate an index.html that links to every compiled
235
+ * template so they can be browsed without copying URLs from the console.
236
+ * @type {import("webpack").WebpackPluginInstance}
237
+ */
238
+ const IndexPlugin = {
239
+ apply(compiler) {
240
+ compiler.hooks.emit.tap("EmailIndex", (compilation) => {
241
+ const { RawSource } = compiler.webpack.sources;
242
+ latestRoutes = Object.keys(compilation.assets)
243
+ .filter(
244
+ (a) =>
245
+ a.endsWith(".html") && a !== "index.html" && a !== "404.html",
246
+ )
247
+ .sort();
248
+ compilation.emitAsset(
249
+ "index.html",
250
+ new RawSource(
251
+ renderTemplatesPage(
252
+ latestRoutes,
253
+ `Templates (${latestRoutes.length})`,
254
+ ),
255
+ ),
256
+ );
257
+ });
258
+ },
259
+ };
260
+ if (process.env.NODE_ENV === "development") {
261
+ baseConfig.plugins.push(IndexPlugin);
262
+ // Any route that isn't a compiled template falls through webpack-dev-
263
+ // middleware (it calls next() instead of serving a file). Catch it with a
264
+ // trailing middleware and answer 404 with the same listing plus a warning.
265
+ const previousSetup = baseConfig.devServer?.setupMiddlewares;
266
+ baseConfig.devServer = {
267
+ ...baseConfig.devServer,
268
+ setupMiddlewares: (middlewares, devServer) => {
269
+ const result = previousSetup
270
+ ? previousSetup(middlewares, devServer)
271
+ : middlewares;
272
+ result.push({
273
+ name: "email-templates-not-found",
274
+ middleware: (req, res, next) => {
275
+ if (
276
+ req.method !== "GET" ||
277
+ !(req.headers.accept || "").includes("text/html")
278
+ )
279
+ return next();
280
+ res.statusCode = 404;
281
+ res.setHeader("Content-Type", "text/html; charset=utf-8");
282
+ res.end(
283
+ renderTemplatesPage(
284
+ latestRoutes,
285
+ "Available templates",
286
+ `Template "${req.url}" was not found. Pick one of the templates below.`,
287
+ ),
288
+ );
289
+ },
290
+ });
291
+ return result;
292
+ },
293
+ };
294
+ }
196
295
  const babelLoaderPath = findFirstBabelLoaderConfigPath(baseConfig);
197
296
  const babelLoader = lodash.get(baseConfig.module.rules, babelLoaderPath);
198
297
  const indexOfOneOf = babelLoaderPath.indexOf("oneOf");
@@ -1,30 +1,32 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- const jsx_runtime_1 = require("react/jsx-runtime");
18
- const AdaptiveContainer_1 = __importDefault(require("../AdaptiveContainer"));
19
- const Button_1 = __importDefault(require("../Button"));
20
- const AdaptiveButton_module_scss_1 = __importDefault(require("./AdaptiveButton.module.scss"));
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = AdaptiveButton;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _AdaptiveContainer = _interopRequireDefault(require("../AdaptiveContainer"));
9
+ var _Button = _interopRequireDefault(require("../Button"));
10
+ var _AdaptiveButtonModule = _interopRequireDefault(require("./AdaptiveButton.module.scss"));
11
+ const _excluded = ["children", "className"];
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
21
16
  /**
22
17
  * A button that automatically adjusts its width to fit the content inside it.
23
18
  * This makes the button look natural and not stretched wider than needed.
24
19
  **/
25
- function AdaptiveButton(_a) {
26
- var { children, className = "" } = _a, buttonProps = __rest(_a, ["children", "className"]);
27
- return ((0, jsx_runtime_1.jsx)(AdaptiveContainer_1.default, Object.assign({ containerElement: Button_1.default, className: `${AdaptiveButton_module_scss_1.default.resetButton} ${className}`, direction: "both" }, buttonProps, { children: children })));
20
+ function AdaptiveButton(_ref) {
21
+ let {
22
+ children,
23
+ className = ""
24
+ } = _ref,
25
+ buttonProps = _objectWithoutProperties(_ref, _excluded);
26
+ return /*#__PURE__*/_react.default.createElement(_AdaptiveContainer.default, _extends({
27
+ containerElement: _Button.default,
28
+ className: "".concat(_AdaptiveButtonModule.default.resetButton, " ").concat(className),
29
+ direction: "both"
30
+ }, buttonProps), children);
28
31
  }
29
- exports.default = AdaptiveButton;
30
- //# sourceMappingURL=AdaptiveButton.js.map
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9BZGFwdGl2ZUNvbnRhaW5lciIsIl9CdXR0b24iLCJfQWRhcHRpdmVCdXR0b25Nb2R1bGUiLCJfZXhjbHVkZWQiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9leHRlbmRzIiwiT2JqZWN0IiwiYXNzaWduIiwiYmluZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJhcHBseSIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsImV4Y2x1ZGVkIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJzb3VyY2VTeW1ib2xLZXlzIiwiaW5kZXhPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwic291cmNlS2V5cyIsImtleXMiLCJBZGFwdGl2ZUJ1dHRvbiIsIl9yZWYiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImJ1dHRvblByb3BzIiwiY3JlYXRlRWxlbWVudCIsImNvbnRhaW5lckVsZW1lbnQiLCJCdXR0b24iLCJjb25jYXQiLCJTdHlsZXMiLCJyZXNldEJ1dHRvbiIsImRpcmVjdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0FkYXB0aXZlQnV0dG9uL0FkYXB0aXZlQnV0dG9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgQ29tcG9uZW50UHJvcHMsIFJlYWN0RWxlbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IEFkYXB0aXZlQ29udGFpbmVyIGZyb20gXCIuLi9BZGFwdGl2ZUNvbnRhaW5lclwiO1xuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vQnV0dG9uXCI7XG5pbXBvcnQgU3R5bGVzIGZyb20gXCIuL0FkYXB0aXZlQnV0dG9uLm1vZHVsZS5zY3NzXCI7XG5cbi8qKlxuICogQSBidXR0b24gdGhhdCBhdXRvbWF0aWNhbGx5IGFkanVzdHMgaXRzIHdpZHRoIHRvIGZpdCB0aGUgY29udGVudCBpbnNpZGUgaXQuXG4gKiBUaGlzIG1ha2VzIHRoZSBidXR0b24gbG9vayBuYXR1cmFsIGFuZCBub3Qgc3RyZXRjaGVkIHdpZGVyIHRoYW4gbmVlZGVkLlxuICoqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQWRhcHRpdmVCdXR0b24oe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lID0gXCJcIixcbiAgLi4uYnV0dG9uUHJvcHNcbn06IHtcbiAgY2hpbGRyZW46IFJlYWN0RWxlbWVudDtcbn0gJiBDb21wb25lbnRQcm9wczx0eXBlb2YgQnV0dG9uPikge1xuICByZXR1cm4gKFxuICAgIDxBZGFwdGl2ZUNvbnRhaW5lclxuICAgICAgY29udGFpbmVyRWxlbWVudD17QnV0dG9ufVxuICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZXMucmVzZXRCdXR0b259ICR7Y2xhc3NOYW1lfWB9XG4gICAgICBkaXJlY3Rpb249XCJib3RoXCJcbiAgICAgIHsuLi5idXR0b25Qcm9wc31cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9BZGFwdGl2ZUNvbnRhaW5lcj5cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsa0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLHFCQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFBa0QsTUFBQUksU0FBQTtBQUFBLFNBQUFMLHVCQUFBTSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBQUEsU0FBQUcsU0FBQSxJQUFBQSxRQUFBLEdBQUFDLE1BQUEsQ0FBQUMsTUFBQSxHQUFBRCxNQUFBLENBQUFDLE1BQUEsQ0FBQUMsSUFBQSxlQUFBQyxNQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUYsQ0FBQSxVQUFBRyxNQUFBLEdBQUFGLFNBQUEsQ0FBQUQsQ0FBQSxZQUFBSSxHQUFBLElBQUFELE1BQUEsUUFBQVAsTUFBQSxDQUFBUyxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBSixNQUFBLEVBQUFDLEdBQUEsS0FBQUwsTUFBQSxDQUFBSyxHQUFBLElBQUFELE1BQUEsQ0FBQUMsR0FBQSxnQkFBQUwsTUFBQSxZQUFBSixRQUFBLENBQUFhLEtBQUEsT0FBQVAsU0FBQTtBQUFBLFNBQUFRLHlCQUFBTixNQUFBLEVBQUFPLFFBQUEsUUFBQVAsTUFBQSx5QkFBQUosTUFBQSxHQUFBWSw2QkFBQSxDQUFBUixNQUFBLEVBQUFPLFFBQUEsT0FBQU4sR0FBQSxFQUFBSixDQUFBLE1BQUFKLE1BQUEsQ0FBQWdCLHFCQUFBLFFBQUFDLGdCQUFBLEdBQUFqQixNQUFBLENBQUFnQixxQkFBQSxDQUFBVCxNQUFBLFFBQUFILENBQUEsTUFBQUEsQ0FBQSxHQUFBYSxnQkFBQSxDQUFBWCxNQUFBLEVBQUFGLENBQUEsTUFBQUksR0FBQSxHQUFBUyxnQkFBQSxDQUFBYixDQUFBLE9BQUFVLFFBQUEsQ0FBQUksT0FBQSxDQUFBVixHQUFBLHVCQUFBUixNQUFBLENBQUFTLFNBQUEsQ0FBQVUsb0JBQUEsQ0FBQVIsSUFBQSxDQUFBSixNQUFBLEVBQUFDLEdBQUEsYUFBQUwsTUFBQSxDQUFBSyxHQUFBLElBQUFELE1BQUEsQ0FBQUMsR0FBQSxjQUFBTCxNQUFBO0FBQUEsU0FBQVksOEJBQUFSLE1BQUEsRUFBQU8sUUFBQSxRQUFBUCxNQUFBLHlCQUFBSixNQUFBLFdBQUFpQixVQUFBLEdBQUFwQixNQUFBLENBQUFxQixJQUFBLENBQUFkLE1BQUEsT0FBQUMsR0FBQSxFQUFBSixDQUFBLE9BQUFBLENBQUEsTUFBQUEsQ0FBQSxHQUFBZ0IsVUFBQSxDQUFBZCxNQUFBLEVBQUFGLENBQUEsTUFBQUksR0FBQSxHQUFBWSxVQUFBLENBQUFoQixDQUFBLE9BQUFVLFFBQUEsQ0FBQUksT0FBQSxDQUFBVixHQUFBLGtCQUFBTCxNQUFBLENBQUFLLEdBQUEsSUFBQUQsTUFBQSxDQUFBQyxHQUFBLFlBQUFMLE1BQUE7QUFFbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDZSxTQUFTbUIsY0FBY0EsQ0FBQUMsSUFBQSxFQU1IO0VBQUEsSUFOSTtNQUNyQ0MsUUFBUTtNQUNSQyxTQUFTLEdBQUc7SUFJa0IsQ0FBQyxHQUFBRixJQUFBO0lBSDVCRyxXQUFXLEdBQUFiLHdCQUFBLENBQUFVLElBQUEsRUFBQTVCLFNBQUE7RUFJZCxvQkFDRU4sTUFBQSxDQUFBUyxPQUFBLENBQUE2QixhQUFBLENBQUNuQyxrQkFBQSxDQUFBTSxPQUFpQixFQUFBQyxRQUFBO0lBQ2hCNkIsZ0JBQWdCLEVBQUVDLGVBQU87SUFDekJKLFNBQVMsS0FBQUssTUFBQSxDQUFLQyw2QkFBTSxDQUFDQyxXQUFXLE9BQUFGLE1BQUEsQ0FBSUwsU0FBUyxDQUFHO0lBQ2hEUSxTQUFTLEVBQUM7RUFBTSxHQUNaUCxXQUFXLEdBRWRGLFFBQ2dCLENBQUM7QUFFeEIifQ==
@@ -1,24 +1,27 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {};
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _AdaptiveButton.default;
11
+ }
12
+ });
13
+ var _AdaptiveButton = _interopRequireWildcard(require("./AdaptiveButton"));
14
+ Object.keys(_AdaptiveButton).forEach(function (key) {
15
+ if (key === "default" || key === "__esModule") return;
16
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
17
+ if (key in exports && exports[key] === _AdaptiveButton[key]) return;
18
+ Object.defineProperty(exports, key, {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _AdaptiveButton[key];
7
22
  }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
- Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.default = void 0;
21
- var AdaptiveButton_1 = require("./AdaptiveButton");
22
- Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(AdaptiveButton_1).default; } });
23
- __exportStar(require("./AdaptiveButton"), exports);
24
- //# sourceMappingURL=index.js.map
23
+ });
24
+ });
25
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfQWRhcHRpdmVCdXR0b24iLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIl9leHBvcnROYW1lcyIsImV4cG9ydHMiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZGVzYyIsInNldCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0FkYXB0aXZlQnV0dG9uL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4vQWRhcHRpdmVCdXR0b25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL0FkYXB0aXZlQnV0dG9uXCI7Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxlQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLGVBQUEsRUFBQUssT0FBQSxXQUFBQyxHQUFBO0VBQUEsSUFBQUEsR0FBQSxrQkFBQUEsR0FBQTtFQUFBLElBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQUMsWUFBQSxFQUFBSixHQUFBO0VBQUEsSUFBQUEsR0FBQSxJQUFBSyxPQUFBLElBQUFBLE9BQUEsQ0FBQUwsR0FBQSxNQUFBTixlQUFBLENBQUFNLEdBQUE7RUFBQUgsTUFBQSxDQUFBUyxjQUFBLENBQUFELE9BQUEsRUFBQUwsR0FBQTtJQUFBTyxVQUFBO0lBQUFDLEdBQUEsV0FBQUEsQ0FBQTtNQUFBLE9BQUFkLGVBQUEsQ0FBQU0sR0FBQTtJQUFBO0VBQUE7QUFBQTtBQUFpQyxTQUFBUyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBZix3QkFBQW1CLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxvQkFBQUEsR0FBQSx3QkFBQUEsR0FBQSw0QkFBQUUsT0FBQSxFQUFBRixHQUFBLFVBQUFHLEtBQUEsR0FBQVIsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBTyxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBSixHQUFBLFlBQUFHLEtBQUEsQ0FBQVQsR0FBQSxDQUFBTSxHQUFBLFNBQUFLLE1BQUEsV0FBQUMscUJBQUEsR0FBQXZCLE1BQUEsQ0FBQVMsY0FBQSxJQUFBVCxNQUFBLENBQUF3Qix3QkFBQSxXQUFBckIsR0FBQSxJQUFBYyxHQUFBLFFBQUFkLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQVcsR0FBQSxFQUFBZCxHQUFBLFNBQUFzQixJQUFBLEdBQUFGLHFCQUFBLEdBQUF2QixNQUFBLENBQUF3Qix3QkFBQSxDQUFBUCxHQUFBLEVBQUFkLEdBQUEsY0FBQXNCLElBQUEsS0FBQUEsSUFBQSxDQUFBZCxHQUFBLElBQUFjLElBQUEsQ0FBQUMsR0FBQSxLQUFBMUIsTUFBQSxDQUFBUyxjQUFBLENBQUFhLE1BQUEsRUFBQW5CLEdBQUEsRUFBQXNCLElBQUEsWUFBQUgsTUFBQSxDQUFBbkIsR0FBQSxJQUFBYyxHQUFBLENBQUFkLEdBQUEsU0FBQW1CLE1BQUEsQ0FBQUgsT0FBQSxHQUFBRixHQUFBLE1BQUFHLEtBQUEsSUFBQUEsS0FBQSxDQUFBTSxHQUFBLENBQUFULEdBQUEsRUFBQUssTUFBQSxZQUFBQSxNQUFBIn0=
@@ -1,24 +1,21 @@
1
1
  "use strict";
2
- var __rest = (this && this.__rest) || function (s, e) {
3
- var t = {};
4
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
- t[p] = s[p];
6
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
- t[p[i]] = s[p[i]];
10
- }
11
- return t;
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- const jsx_runtime_1 = require("react/jsx-runtime");
18
- const react_1 = require("react");
19
- const Transition_1 = require("../Transition");
20
- const UncontrolledTransition_1 = __importDefault(require("../UncontrolledTransition"));
21
- const AdaptiveContainer_module_scss_1 = __importDefault(require("./AdaptiveContainer.module.scss"));
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = AdaptiveContainer;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _Transition = require("../Transition");
9
+ var _UncontrolledTransition = _interopRequireDefault(require("../UncontrolledTransition"));
10
+ var _AdaptiveContainerModule = _interopRequireDefault(require("./AdaptiveContainer.module.scss"));
11
+ const _excluded = ["children", "className", "containerElement", "direction", "strict"],
12
+ _excluded2 = ["contentClassName"];
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
17
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
18
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
22
19
  /**
23
20
  * A container that smoothly animates size changes when content updates.
24
21
  *
@@ -26,126 +23,130 @@ const AdaptiveContainer_module_scss_1 = __importDefault(require("./AdaptiveConta
26
23
  * content sizes look polished by animating the width, height, or both dimensions.
27
24
  * It's like giving your UI a gentle, professional feel when content changes.
28
25
  **/
29
- function AdaptiveContainer(_a) {
30
- var { children, className = "", containerElement: _Wrapper = "div", direction = "h", strict = true } = _a, otherProps = __rest(_a, ["children", "className", "containerElement", "direction", "strict"]);
31
- const animatedProperty = (0, react_1.useMemo)(() => {
32
- if (!strict && direction !== "v")
33
- throw new Error(`Strict false only works with direction "v" at the moment`);
34
- switch (direction) {
35
- case "both":
36
- return ["width", "height"];
37
- case "h":
38
- return "width";
39
- case "v":
40
- return strict ? "height" : "minHeight";
41
- }
42
- }, [direction, strict]);
43
- const uncontrolledRef = (0, react_1.useRef)(null);
44
- const buttonRef = (0, react_1.useRef)(null);
45
- (0, react_1.useEffect)(() => {
26
+ function AdaptiveContainer(_ref) {
27
+ let {
28
+ children,
29
+ className = "",
30
+ containerElement: _Wrapper = "div",
31
+ direction = "h",
32
+ strict = true
33
+ } = _ref,
34
+ otherProps = _objectWithoutProperties(_ref, _excluded);
35
+ const animatedProperty = (0, _react.useMemo)(() => {
36
+ if (!strict && direction !== "v") throw new Error("Strict false only works with direction \"v\" at the moment");
37
+ switch (direction) {
38
+ case "both":
39
+ return ["width", "height"];
40
+ case "h":
41
+ return "width";
42
+ case "v":
43
+ return strict ? "height" : "minHeight";
44
+ }
45
+ }, [direction, strict]);
46
+ const uncontrolledRef = (0, _react.useRef)(null);
47
+ const buttonRef = (0, _react.useRef)(null);
48
+ (0, _react.useEffect)(() => {
49
+ const transitionContainer = uncontrolledRef.current.sectionRef.current;
50
+ if (transitionContainer) if (direction === "both") {
51
+ transitionContainer.style.width = "".concat(transitionContainer.clientWidth, "px");
52
+ transitionContainer.style.height = "".concat(transitionContainer.clientHeight, "px");
53
+ } else if (direction === "h") {
54
+ transitionContainer.style.width = "".concat(transitionContainer.clientWidth, "px");
55
+ transitionContainer.style.height = transitionContainer.clientHeight ? "".concat(transitionContainer.clientHeight, "px") : "";
56
+ } else {
57
+ transitionContainer.style[animatedProperty] = "".concat(transitionContainer.clientHeight, "px");
58
+ transitionContainer.style.width = "";
59
+ }
60
+ const t = setTimeout(() => {
61
+ if (uncontrolledRef.current) {
46
62
  const transitionContainer = uncontrolledRef.current.sectionRef.current;
47
- if (transitionContainer)
48
- if (direction === "both") {
49
- transitionContainer.style.width = `${transitionContainer.clientWidth}px`;
50
- transitionContainer.style.height = `${transitionContainer.clientHeight}px`;
51
- }
52
- else if (direction === "h") {
53
- transitionContainer.style.width = `${transitionContainer.clientWidth}px`;
54
- transitionContainer.style.height = transitionContainer.clientHeight
55
- ? `${transitionContainer.clientHeight}px`
56
- : ``;
63
+ if (transitionContainer) {
64
+ const screenThatWillEnter = transitionContainer.lastChild;
65
+ if (screenThatWillEnter) {
66
+ function resetFactory(param, target) {
67
+ const resetPropertyInstance = e => {
68
+ if (e.propertyName !== param) return;
69
+ setTimeout(() => {
70
+ if ((transitionContainer === null || transitionContainer === void 0 ? void 0 : transitionContainer.style[param]) === "".concat(target, "px")) {
71
+ transitionContainer.style[param] = "";
72
+ }
73
+ }, 100);
74
+ if (transitionContainer) transitionContainer.removeEventListener("transitionend", resetPropertyInstance);
75
+ };
76
+ return resetPropertyInstance;
57
77
  }
58
- else {
59
- transitionContainer.style[animatedProperty] =
60
- `${transitionContainer.clientHeight}px`;
61
- transitionContainer.style.width = ``;
62
- }
63
- const t = setTimeout(() => {
64
- if (uncontrolledRef.current) {
65
- const transitionContainer = uncontrolledRef.current.sectionRef.current;
66
- if (transitionContainer) {
67
- const screenThatWillEnter = transitionContainer.lastChild;
68
- if (screenThatWillEnter) {
69
- function resetFactory(param, target) {
70
- const resetPropertyInstance = (e) => {
71
- if (e.propertyName !== param)
72
- return;
73
- setTimeout(() => {
74
- if ((transitionContainer === null || transitionContainer === void 0 ? void 0 : transitionContainer.style[param]) === `${target}px`) {
75
- transitionContainer.style[param] = "";
76
- }
77
- }, 100);
78
- if (transitionContainer)
79
- transitionContainer.removeEventListener("transitionend", resetPropertyInstance);
80
- };
81
- return resetPropertyInstance;
82
- }
83
- if (direction === "both") {
84
- const contentSize = {
85
- width: screenThatWillEnter.clientWidth,
86
- height: screenThatWillEnter.scrollHeight,
87
- };
88
- const targetSize = {
89
- width: `${contentSize.width}px`,
90
- height: `${contentSize.height}px`,
91
- };
92
- const prevSize = {
93
- width: transitionContainer.style.width,
94
- height: transitionContainer.style.height,
95
- };
96
- transitionContainer.style.width = targetSize.width;
97
- transitionContainer.style.height = targetSize.height;
98
- if (Array.isArray(animatedProperty))
99
- for (let prop of animatedProperty) {
100
- const resetProperty = resetFactory(prop, contentSize[prop]);
101
- if (targetSize[prop] === prevSize[prop])
102
- resetProperty({ propertyName: prop });
103
- else
104
- transitionContainer.addEventListener("transitionend", resetProperty);
105
- }
106
- }
107
- else if (direction === "h") {
108
- const contentWidth = screenThatWillEnter.clientWidth;
109
- const targetWidth = `${contentWidth}px`;
110
- const prevWidth = transitionContainer.style.width;
111
- transitionContainer.style.width = targetWidth;
112
- const func = resetFactory("width", contentWidth);
113
- if (targetWidth === prevWidth)
114
- func({ propertyName: "width" });
115
- else
116
- transitionContainer.addEventListener("transitionend", func);
117
- }
118
- else {
119
- const _animatedProperty = animatedProperty;
120
- const contentHeight = screenThatWillEnter.scrollHeight;
121
- const targetHeight = `${contentHeight}px`;
122
- const prevHeight = transitionContainer.style[_animatedProperty];
123
- transitionContainer.style[_animatedProperty] = targetHeight;
124
- const resetProperty = resetFactory(_animatedProperty, contentHeight);
125
- if (targetHeight === prevHeight)
126
- resetProperty({ propertyName: _animatedProperty });
127
- else
128
- transitionContainer.addEventListener("transitionend", resetProperty);
129
- }
130
- }
131
- }
78
+ if (direction === "both") {
79
+ const contentSize = {
80
+ width: screenThatWillEnter.clientWidth,
81
+ height: screenThatWillEnter.scrollHeight
82
+ };
83
+ const targetSize = {
84
+ width: "".concat(contentSize.width, "px"),
85
+ height: "".concat(contentSize.height, "px")
86
+ };
87
+ const prevSize = {
88
+ width: transitionContainer.style.width,
89
+ height: transitionContainer.style.height
90
+ };
91
+ transitionContainer.style.width = targetSize.width;
92
+ transitionContainer.style.height = targetSize.height;
93
+ if (Array.isArray(animatedProperty)) for (let prop of animatedProperty) {
94
+ const resetProperty = resetFactory(prop, contentSize[prop]);
95
+ if (targetSize[prop] === prevSize[prop]) resetProperty({
96
+ propertyName: prop
97
+ });else transitionContainer.addEventListener("transitionend", resetProperty);
98
+ }
99
+ } else if (direction === "h") {
100
+ const contentWidth = screenThatWillEnter.clientWidth;
101
+ const targetWidth = "".concat(contentWidth, "px");
102
+ const prevWidth = transitionContainer.style.width;
103
+ transitionContainer.style.width = targetWidth;
104
+ const func = resetFactory("width", contentWidth);
105
+ if (targetWidth === prevWidth) func({
106
+ propertyName: "width"
107
+ });else transitionContainer.addEventListener("transitionend", func);
108
+ } else {
109
+ const _animatedProperty = animatedProperty;
110
+ const contentHeight = screenThatWillEnter.scrollHeight;
111
+ const targetHeight = "".concat(contentHeight, "px");
112
+ const prevHeight = transitionContainer.style[_animatedProperty];
113
+ transitionContainer.style[_animatedProperty] = targetHeight;
114
+ const resetProperty = resetFactory(_animatedProperty, contentHeight);
115
+ if (targetHeight === prevHeight) resetProperty({
116
+ propertyName: _animatedProperty
117
+ });else transitionContainer.addEventListener("transitionend", resetProperty);
132
118
  }
133
- }, 100);
134
- return () => clearTimeout(t);
135
- }, [children.key, direction]);
136
- const Wrapper = _Wrapper;
137
- const directionClass = direction in AdaptiveContainer_module_scss_1.default ? AdaptiveContainer_module_scss_1.default[direction] : "";
138
- const { contentClassName } = otherProps, spreadProps = __rest(otherProps, ["contentClassName"]);
139
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(Wrapper, Object.assign({ className: `${className}`, ref: buttonRef }, spreadProps, { children: (0, jsx_runtime_1.jsx)(UncontrolledTransition_1.default, { ref: uncontrolledRef, transitionType: Transition_1.TransitionAnimationTypes.CUSTOM, lockTransitionWidth: false, config: {
140
- backward: {
141
- elementExiting: AdaptiveContainer_module_scss_1.default.fadeOutAbsolute,
142
- elementEntering: AdaptiveContainer_module_scss_1.default.fadeInDelayed,
143
- },
144
- forward: {
145
- elementExiting: AdaptiveContainer_module_scss_1.default.fadeOutAbsolute,
146
- elementEntering: AdaptiveContainer_module_scss_1.default.fadeInDelayed,
147
- },
148
- }, className: `${AdaptiveContainer_module_scss_1.default.resetSection} ${directionClass}`, contentClassName: otherProps.contentClassName, children: children }) })) }));
119
+ }
120
+ }
121
+ }
122
+ }, 100);
123
+ return () => clearTimeout(t);
124
+ }, [children.key, direction]);
125
+ const Wrapper = _Wrapper;
126
+ const directionClass = direction in _AdaptiveContainerModule.default ? _AdaptiveContainerModule.default[direction] : "";
127
+ const {
128
+ contentClassName
129
+ } = otherProps,
130
+ spreadProps = _objectWithoutProperties(otherProps, _excluded2);
131
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Wrapper, _extends({
132
+ className: "".concat(className),
133
+ ref: buttonRef
134
+ }, spreadProps), /*#__PURE__*/_react.default.createElement(_UncontrolledTransition.default, {
135
+ ref: uncontrolledRef,
136
+ transitionType: _Transition.TransitionAnimationTypes.CUSTOM,
137
+ lockTransitionWidth: false,
138
+ config: {
139
+ backward: {
140
+ elementExiting: _AdaptiveContainerModule.default.fadeOutAbsolute,
141
+ elementEntering: _AdaptiveContainerModule.default.fadeInDelayed
142
+ },
143
+ forward: {
144
+ elementExiting: _AdaptiveContainerModule.default.fadeOutAbsolute,
145
+ elementEntering: _AdaptiveContainerModule.default.fadeInDelayed
146
+ }
147
+ },
148
+ className: "".concat(_AdaptiveContainerModule.default.resetSection, " ").concat(directionClass),
149
+ contentClassName: otherProps.contentClassName
150
+ }, children)));
149
151
  }
150
- exports.default = AdaptiveContainer;
151
- //# sourceMappingURL=AdaptiveContainer.js.map
152
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfVHJhbnNpdGlvbiIsIl9VbmNvbnRyb2xsZWRUcmFuc2l0aW9uIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BZGFwdGl2ZUNvbnRhaW5lck1vZHVsZSIsIl9leGNsdWRlZCIsIl9leGNsdWRlZDIiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwidGFyZ2V0IiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsInNvdXJjZSIsImFwcGx5IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiZXhjbHVkZWQiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSIsImdldE93blByb3BlcnR5U3ltYm9scyIsInNvdXJjZVN5bWJvbEtleXMiLCJpbmRleE9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJzb3VyY2VLZXlzIiwia2V5cyIsIkFkYXB0aXZlQ29udGFpbmVyIiwiX3JlZiIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiY29udGFpbmVyRWxlbWVudCIsIl9XcmFwcGVyIiwiZGlyZWN0aW9uIiwic3RyaWN0Iiwib3RoZXJQcm9wcyIsImFuaW1hdGVkUHJvcGVydHkiLCJ1c2VNZW1vIiwiRXJyb3IiLCJ1bmNvbnRyb2xsZWRSZWYiLCJ1c2VSZWYiLCJidXR0b25SZWYiLCJ1c2VFZmZlY3QiLCJ0cmFuc2l0aW9uQ29udGFpbmVyIiwiY3VycmVudCIsInNlY3Rpb25SZWYiLCJzdHlsZSIsIndpZHRoIiwiY29uY2F0IiwiY2xpZW50V2lkdGgiLCJoZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJ0Iiwic2V0VGltZW91dCIsInNjcmVlblRoYXRXaWxsRW50ZXIiLCJsYXN0Q2hpbGQiLCJyZXNldEZhY3RvcnkiLCJwYXJhbSIsInJlc2V0UHJvcGVydHlJbnN0YW5jZSIsImUiLCJwcm9wZXJ0eU5hbWUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY29udGVudFNpemUiLCJzY3JvbGxIZWlnaHQiLCJ0YXJnZXRTaXplIiwicHJldlNpemUiLCJBcnJheSIsImlzQXJyYXkiLCJwcm9wIiwicmVzZXRQcm9wZXJ0eSIsImFkZEV2ZW50TGlzdGVuZXIiLCJjb250ZW50V2lkdGgiLCJ0YXJnZXRXaWR0aCIsInByZXZXaWR0aCIsImZ1bmMiLCJfYW5pbWF0ZWRQcm9wZXJ0eSIsImNvbnRlbnRIZWlnaHQiLCJ0YXJnZXRIZWlnaHQiLCJwcmV2SGVpZ2h0IiwiY2xlYXJUaW1lb3V0IiwiV3JhcHBlciIsImRpcmVjdGlvbkNsYXNzIiwiU3R5bGVzIiwiY29udGVudENsYXNzTmFtZSIsInNwcmVhZFByb3BzIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwicmVmIiwidHJhbnNpdGlvblR5cGUiLCJUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMiLCJDVVNUT00iLCJsb2NrVHJhbnNpdGlvbldpZHRoIiwiY29uZmlnIiwiYmFja3dhcmQiLCJlbGVtZW50RXhpdGluZyIsImZhZGVPdXRBYnNvbHV0ZSIsImVsZW1lbnRFbnRlcmluZyIsImZhZGVJbkRlbGF5ZWQiLCJmb3J3YXJkIiwicmVzZXRTZWN0aW9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvQWRhcHRpdmVDb250YWluZXIvQWRhcHRpdmVDb250YWluZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBDb21wb25lbnRQcm9wcyxcbiAgRWxlbWVudFJlZixcbiAgRnVuY3Rpb25Db21wb25lbnQsXG4gIEpTWCxcbiAgUmVhY3RFbGVtZW50LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbn0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMgfSBmcm9tIFwiLi4vVHJhbnNpdGlvblwiO1xuaW1wb3J0IFVuY29udHJvbGxlZFRyYW5zaXRpb24gZnJvbSBcIi4uL1VuY29udHJvbGxlZFRyYW5zaXRpb25cIjtcbmltcG9ydCBTdHlsZXMgZnJvbSBcIi4vQWRhcHRpdmVDb250YWluZXIubW9kdWxlLnNjc3NcIjtcblxuLyoqXG4gKiBBIGNvbnRhaW5lciB0aGF0IHNtb290aGx5IGFuaW1hdGVzIHNpemUgY2hhbmdlcyB3aGVuIGNvbnRlbnQgdXBkYXRlcy5cbiAqXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB5b3VyIGNvbnRlbnQgYW5kIG1ha2VzIHRyYW5zaXRpb25zIGJldHdlZW4gZGlmZmVyZW50XG4gKiBjb250ZW50IHNpemVzIGxvb2sgcG9saXNoZWQgYnkgYW5pbWF0aW5nIHRoZSB3aWR0aCwgaGVpZ2h0LCBvciBib3RoIGRpbWVuc2lvbnMuXG4gKiBJdCdzIGxpa2UgZ2l2aW5nIHlvdXIgVUkgYSBnZW50bGUsIHByb2Zlc3Npb25hbCBmZWVsIHdoZW4gY29udGVudCBjaGFuZ2VzLlxuICoqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQWRhcHRpdmVDb250YWluZXI8XG4gIEUgZXh0ZW5kcyBrZXlvZiBKU1guSW50cmluc2ljRWxlbWVudHMgfCBGdW5jdGlvbkNvbXBvbmVudCxcbj4oe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lID0gXCJcIixcbiAgY29udGFpbmVyRWxlbWVudDogX1dyYXBwZXIgPSBcImRpdlwiIGFzIGFueSxcbiAgZGlyZWN0aW9uID0gXCJoXCIsXG4gIHN0cmljdCA9IHRydWUsXG4gIC4uLm90aGVyUHJvcHNcbn06IHtcbiAgY29udGFpbmVyRWxlbWVudD86IEU7XG4gIGNoaWxkcmVuOiBSZWFjdEVsZW1lbnQ7XG4gIC8qKlxuICAgKiBUaGUgZGlyZWN0aW9uIGluIHdoaWNoIHRoZSBjb250ZW50IHdpbGwgYmUgcmVzaXplZFxuICAgKlxuICAgKiAgICAgXCJoXCIgLy8gV2hlbiB0aGUgY29udGVudCB3aWxsIGNoYW5nZSBpbiB3aWR0aFxuICAgKiAgICAgXCJ2XCIgLy8gV2hlbiB0aGUgY29udGVudCB3aWxsIGNoYW5nZSBpbiBoZWlnaHRcbiAgICovXG4gIGRpcmVjdGlvbj86IFwiaFwiIHwgXCJ2XCIgfCBcImJvdGhcIjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBjb250ZW50Q2xhc3NOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogdHJ1ZTogSXQgd2lsbCBhbmltYXRlIHJlc3RyaWN0aW5nIHRvIHRoZSBoZWlnaHQgd2hlbiBpdCB3YXMgcmVuZGVyZWRcbiAgICogZmFsc2U6IEl0IHdpbGwgYW5pbWF0ZSB0cnlpbmcgdG8gcmVhY2ggdGhlIGhlaWdodCB3aGVuIGl0IHdhcyByZW5kZXJlZCwgZ3Jvd2luZyBpbiBzaXplIGlmIHRoZSBjb250ZW50IGluc2lkZSBpdCBjaGFuZ2VzICovXG4gIHN0cmljdD86IGJvb2xlYW47XG59ICYgQ29tcG9uZW50UHJvcHM8RT4pIHtcbiAgY29uc3QgYW5pbWF0ZWRQcm9wZXJ0eSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmICghc3RyaWN0ICYmIGRpcmVjdGlvbiAhPT0gXCJ2XCIpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBTdHJpY3QgZmFsc2Ugb25seSB3b3JrcyB3aXRoIGRpcmVjdGlvbiBcInZcIiBhdCB0aGUgbW9tZW50YCxcbiAgICAgICk7XG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICAgIGNhc2UgXCJib3RoXCI6XG4gICAgICAgIHJldHVybiBbXCJ3aWR0aFwiLCBcImhlaWdodFwiXSBhcyBjb25zdDtcbiAgICAgIGNhc2UgXCJoXCI6XG4gICAgICAgIHJldHVybiBcIndpZHRoXCIgYXMgY29uc3Q7XG4gICAgICBjYXNlIFwidlwiOlxuICAgICAgICByZXR1cm4gc3RyaWN0ID8gKFwiaGVpZ2h0XCIgYXMgY29uc3QpIDogKFwibWluSGVpZ2h0XCIgYXMgY29uc3QpO1xuICAgIH1cbiAgfSwgW2RpcmVjdGlvbiwgc3RyaWN0XSk7XG4gIGNvbnN0IHVuY29udHJvbGxlZFJlZiA9XG4gICAgdXNlUmVmPEVsZW1lbnRSZWY8dHlwZW9mIFVuY29udHJvbGxlZFRyYW5zaXRpb24+PihudWxsKTtcbiAgY29uc3QgYnV0dG9uUmVmID0gdXNlUmVmPEhUTUxFbGVtZW50PihudWxsKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHRyYW5zaXRpb25Db250YWluZXIgPSB1bmNvbnRyb2xsZWRSZWYuY3VycmVudCEuc2VjdGlvblJlZi5jdXJyZW50O1xuICAgIGlmICh0cmFuc2l0aW9uQ29udGFpbmVyKVxuICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gXCJib3RoXCIpIHtcbiAgICAgICAgdHJhbnNpdGlvbkNvbnRhaW5lci5zdHlsZS53aWR0aCA9IGAke3RyYW5zaXRpb25Db250YWluZXIuY2xpZW50V2lkdGh9cHhgO1xuICAgICAgICB0cmFuc2l0aW9uQ29udGFpbmVyLnN0eWxlLmhlaWdodCA9IGAke3RyYW5zaXRpb25Db250YWluZXIuY2xpZW50SGVpZ2h0fXB4YDtcbiAgICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09PSBcImhcIikge1xuICAgICAgICB0cmFuc2l0aW9uQ29udGFpbmVyLnN0eWxlLndpZHRoID0gYCR7dHJhbnNpdGlvbkNvbnRhaW5lci5jbGllbnRXaWR0aH1weGA7XG4gICAgICAgIHRyYW5zaXRpb25Db250YWluZXIuc3R5bGUuaGVpZ2h0ID0gdHJhbnNpdGlvbkNvbnRhaW5lci5jbGllbnRIZWlnaHRcbiAgICAgICAgICA/IGAke3RyYW5zaXRpb25Db250YWluZXIuY2xpZW50SGVpZ2h0fXB4YFxuICAgICAgICAgIDogYGA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0cmFuc2l0aW9uQ29udGFpbmVyLnN0eWxlW2FuaW1hdGVkUHJvcGVydHkgYXMgXCJoZWlnaHRcIl0gPVxuICAgICAgICAgIGAke3RyYW5zaXRpb25Db250YWluZXIuY2xpZW50SGVpZ2h0fXB4YDtcbiAgICAgICAgdHJhbnNpdGlvbkNvbnRhaW5lci5zdHlsZS53aWR0aCA9IGBgO1xuICAgICAgfVxuICAgIGNvbnN0IHQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh1bmNvbnRyb2xsZWRSZWYuY3VycmVudCkge1xuICAgICAgICBjb25zdCB0cmFuc2l0aW9uQ29udGFpbmVyID0gdW5jb250cm9sbGVkUmVmLmN1cnJlbnQuc2VjdGlvblJlZi5jdXJyZW50O1xuICAgICAgICBpZiAodHJhbnNpdGlvbkNvbnRhaW5lcikge1xuICAgICAgICAgIGNvbnN0IHNjcmVlblRoYXRXaWxsRW50ZXIgPVxuICAgICAgICAgICAgdHJhbnNpdGlvbkNvbnRhaW5lci5sYXN0Q2hpbGQgYXMgSFRNTERpdkVsZW1lbnQ7XG5cbiAgICAgICAgICBpZiAoc2NyZWVuVGhhdFdpbGxFbnRlcikge1xuICAgICAgICAgICAgZnVuY3Rpb24gcmVzZXRGYWN0b3J5KFxuICAgICAgICAgICAgICBwYXJhbTogXCJtaW5IZWlnaHRcIiB8IFwiaGVpZ2h0XCIgfCBcIndpZHRoXCIsXG4gICAgICAgICAgICAgIHRhcmdldDogbnVtYmVyLFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlc2V0UHJvcGVydHlJbnN0YW5jZSA9IChcbiAgICAgICAgICAgICAgICBlOiBQaWNrPFRyYW5zaXRpb25FdmVudCwgXCJwcm9wZXJ0eU5hbWVcIj4sXG4gICAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlLnByb3BlcnR5TmFtZSAhPT0gcGFyYW0pIHJldHVybjtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmICh0cmFuc2l0aW9uQ29udGFpbmVyPy5zdHlsZVtwYXJhbV0gPT09IGAke3RhcmdldH1weGApIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbkNvbnRhaW5lciEuc3R5bGVbcGFyYW1dID0gXCJcIjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCAxMDApO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRyYW5zaXRpb25Db250YWluZXIpXG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uQ29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgICAgICAgICAgICAgICAgIFwidHJhbnNpdGlvbmVuZFwiLFxuICAgICAgICAgICAgICAgICAgICByZXNldFByb3BlcnR5SW5zdGFuY2UsXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICByZXR1cm4gcmVzZXRQcm9wZXJ0eUluc3RhbmNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gXCJib3RoXCIpIHtcbiAgICAgICAgICAgICAgY29uc3QgY29udGVudFNpemUgPSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHNjcmVlblRoYXRXaWxsRW50ZXIuY2xpZW50V2lkdGgsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBzY3JlZW5UaGF0V2lsbEVudGVyLnNjcm9sbEhlaWdodCxcbiAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICBjb25zdCB0YXJnZXRTaXplID0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBgJHtjb250ZW50U2l6ZS53aWR0aH1weGAsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBgJHtjb250ZW50U2l6ZS5oZWlnaHR9cHhgLFxuICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgIGNvbnN0IHByZXZTaXplID0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiB0cmFuc2l0aW9uQ29udGFpbmVyLnN0eWxlLndpZHRoLFxuICAgICAgICAgICAgICAgIGhlaWdodDogdHJhbnNpdGlvbkNvbnRhaW5lci5zdHlsZS5oZWlnaHQsXG4gICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgdHJhbnNpdGlvbkNvbnRhaW5lci5zdHlsZS53aWR0aCA9IHRhcmdldFNpemUud2lkdGg7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb25Db250YWluZXIuc3R5bGUuaGVpZ2h0ID0gdGFyZ2V0U2l6ZS5oZWlnaHQ7XG5cbiAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYW5pbWF0ZWRQcm9wZXJ0eSkpXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgcHJvcCBvZiBhbmltYXRlZFByb3BlcnR5IGFzIChcIndpZHRoXCIgfCBcImhlaWdodFwiKVtdKSB7XG4gICAgICAgICAgICAgICAgICBjb25zdCByZXNldFByb3BlcnR5ID0gcmVzZXRGYWN0b3J5KHByb3AsIGNvbnRlbnRTaXplW3Byb3BdKTtcbiAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXRTaXplW3Byb3BdID09PSBwcmV2U2l6ZVtwcm9wXSlcbiAgICAgICAgICAgICAgICAgICAgcmVzZXRQcm9wZXJ0eSh7IHByb3BlcnR5TmFtZTogcHJvcCB9KTtcbiAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbkNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgICAgICAgICAgICAgIFwidHJhbnNpdGlvbmVuZFwiLFxuICAgICAgICAgICAgICAgICAgICAgIHJlc2V0UHJvcGVydHksXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09IFwiaFwiKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbnRlbnRXaWR0aCA9IHNjcmVlblRoYXRXaWxsRW50ZXIuY2xpZW50V2lkdGg7XG4gICAgICAgICAgICAgIGNvbnN0IHRhcmdldFdpZHRoID0gYCR7Y29udGVudFdpZHRofXB4YDtcbiAgICAgICAgICAgICAgY29uc3QgcHJldldpZHRoID0gdHJhbnNpdGlvbkNvbnRhaW5lci5zdHlsZS53aWR0aDtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbkNvbnRhaW5lci5zdHlsZS53aWR0aCA9IHRhcmdldFdpZHRoO1xuICAgICAgICAgICAgICBjb25zdCBmdW5jID0gcmVzZXRGYWN0b3J5KFwid2lkdGhcIiwgY29udGVudFdpZHRoKTtcbiAgICAgICAgICAgICAgaWYgKHRhcmdldFdpZHRoID09PSBwcmV2V2lkdGgpIGZ1bmMoeyBwcm9wZXJ0eU5hbWU6IFwid2lkdGhcIiB9KTtcbiAgICAgICAgICAgICAgZWxzZSB0cmFuc2l0aW9uQ29udGFpbmVyLmFkZEV2ZW50TGlzdGVuZXIoXCJ0cmFuc2l0aW9uZW5kXCIsIGZ1bmMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgX2FuaW1hdGVkUHJvcGVydHkgPSBhbmltYXRlZFByb3BlcnR5IGFzIFwid2lkdGhcIjtcbiAgICAgICAgICAgICAgY29uc3QgY29udGVudEhlaWdodCA9IHNjcmVlblRoYXRXaWxsRW50ZXIuc2Nyb2xsSGVpZ2h0O1xuICAgICAgICAgICAgICBjb25zdCB0YXJnZXRIZWlnaHQgPSBgJHtjb250ZW50SGVpZ2h0fXB4YDtcbiAgICAgICAgICAgICAgY29uc3QgcHJldkhlaWdodCA9IHRyYW5zaXRpb25Db250YWluZXIuc3R5bGVbX2FuaW1hdGVkUHJvcGVydHldO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uQ29udGFpbmVyLnN0eWxlW19hbmltYXRlZFByb3BlcnR5XSA9IHRhcmdldEhlaWdodDtcbiAgICAgICAgICAgICAgY29uc3QgcmVzZXRQcm9wZXJ0eSA9IHJlc2V0RmFjdG9yeShcbiAgICAgICAgICAgICAgICBfYW5pbWF0ZWRQcm9wZXJ0eSxcbiAgICAgICAgICAgICAgICBjb250ZW50SGVpZ2h0LFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBpZiAodGFyZ2V0SGVpZ2h0ID09PSBwcmV2SGVpZ2h0KVxuICAgICAgICAgICAgICAgIHJlc2V0UHJvcGVydHkoeyBwcm9wZXJ0eU5hbWU6IF9hbmltYXRlZFByb3BlcnR5IH0pO1xuICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgICAgICAgICAgICAgXCJ0cmFuc2l0aW9uZW5kXCIsXG4gICAgICAgICAgICAgICAgICByZXNldFByb3BlcnR5LFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgMTAwKTtcbiAgICByZXR1cm4gKCkgPT4gY2xlYXJUaW1lb3V0KHQpO1xuICB9LCBbY2hpbGRyZW4ua2V5LCBkaXJlY3Rpb25dKTtcbiAgY29uc3QgV3JhcHBlciA9IF9XcmFwcGVyIGFzIGFueTtcbiAgY29uc3QgZGlyZWN0aW9uQ2xhc3MgPSBkaXJlY3Rpb24gaW4gU3R5bGVzID8gU3R5bGVzW2RpcmVjdGlvbl0gOiBcIlwiO1xuICBjb25zdCB7Y29udGVudENsYXNzTmFtZSwgLi4uc3ByZWFkUHJvcHN9ID0gb3RoZXJQcm9wc1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxXcmFwcGVyIGNsYXNzTmFtZT17YCR7Y2xhc3NOYW1lfWB9IHJlZj17YnV0dG9uUmVmfSB7Li4uc3ByZWFkUHJvcHN9PlxuICAgICAgICA8VW5jb250cm9sbGVkVHJhbnNpdGlvblxuICAgICAgICAgIHJlZj17dW5jb250cm9sbGVkUmVmfVxuICAgICAgICAgIHRyYW5zaXRpb25UeXBlPXtUcmFuc2l0aW9uQW5pbWF0aW9uVHlwZXMuQ1VTVE9NfVxuICAgICAgICAgIGxvY2tUcmFuc2l0aW9uV2lkdGg9e2ZhbHNlfVxuICAgICAgICAgIGNvbmZpZz17e1xuICAgICAgICAgICAgYmFja3dhcmQ6IHtcbiAgICAgICAgICAgICAgZWxlbWVudEV4aXRpbmc6IFN0eWxlcy5mYWRlT3V0QWJzb2x1dGUsXG4gICAgICAgICAgICAgIGVsZW1lbnRFbnRlcmluZzogU3R5bGVzLmZhZGVJbkRlbGF5ZWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZm9yd2FyZDoge1xuICAgICAgICAgICAgICBlbGVtZW50RXhpdGluZzogU3R5bGVzLmZhZGVPdXRBYnNvbHV0ZSxcbiAgICAgICAgICAgICAgZWxlbWVudEVudGVyaW5nOiBTdHlsZXMuZmFkZUluRGVsYXllZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfX1cbiAgICAgICAgICBjbGFzc05hbWU9e2Ake1N0eWxlcy5yZXNldFNlY3Rpb259ICR7ZGlyZWN0aW9uQ2xhc3N9YH1cbiAgICAgICAgICBjb250ZW50Q2xhc3NOYW1lPXtvdGhlclByb3BzLmNvbnRlbnRDbGFzc05hbWV9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvVW5jb250cm9sbGVkVHJhbnNpdGlvbj5cbiAgICAgIDwvV3JhcHBlcj5cbiAgICA8Lz5cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBVUEsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsdUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLHdCQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFBcUQsTUFBQUssU0FBQTtFQUFBQyxVQUFBO0FBQUEsU0FBQUgsdUJBQUFJLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFB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