@spothero/ui 13.10.1-beta.0 → 14.0.0-beta.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 (124) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/CHANGELOG.tmp +4 -3
  3. package/backlog/Alert/Alert.js +1 -4
  4. package/backlog/AutoSuggestInput/AutoSuggestInput.js +11 -18
  5. package/backlog/AutoSuggestInput/AutoSuggestItem.js +7 -10
  6. package/backlog/AutoSuggestInput/AutoSuggestList.js +9 -12
  7. package/backlog/Badge/Badge.js +1 -4
  8. package/backlog/Chart/Chart.js +11 -18
  9. package/backlog/Checkbox/Checkbox.js +7 -10
  10. package/backlog/DateTime/DatePicker.js +7 -10
  11. package/backlog/DateTime/DatePickerCalendar.js +7 -10
  12. package/backlog/DateTime/DatePickerCalendarNavigation.js +7 -10
  13. package/backlog/DateTime/DatePickerCalendarWithRange.js +11 -18
  14. package/backlog/DateTime/DateTimePicker.js +7 -10
  15. package/backlog/DateTime/DateTimeRangePicker.js +12 -21
  16. package/backlog/DateTime/TimePicker.js +7 -10
  17. package/backlog/DateTime/date-time-assertions.js +1 -4
  18. package/backlog/DateTime/index.js +7 -15
  19. package/backlog/ErrorBoundary/ErrorBoundary.js +7 -10
  20. package/backlog/Flyout/Flyout.js +11 -21
  21. package/backlog/Form/Form.js +8 -13
  22. package/backlog/Form/FormElementError.js +1 -4
  23. package/backlog/Form/FormGroup.js +1 -4
  24. package/backlog/Form/FormGroupError.js +1 -4
  25. package/backlog/Form/index.js +5 -11
  26. package/backlog/GooglePlacesSearchInput/GooglePlacesSearchInput.js +11 -18
  27. package/backlog/GooglePlacesSearchInput/PoweredByGoogle.js +1 -4
  28. package/backlog/GooglePlacesSearchInput/index.js +3 -7
  29. package/backlog/HorizontalRule/HorizontalRule.js +1 -4
  30. package/backlog/Label/Label.js +1 -4
  31. package/backlog/Modal/Modal.js +12 -22
  32. package/backlog/Modal/ModalContent.js +7 -10
  33. package/backlog/Modal/ModalFooter.js +7 -10
  34. package/backlog/Modal/index.js +4 -9
  35. package/backlog/Notification/Notification.js +7 -10
  36. package/backlog/Notification/NotificationContainer.js +7 -10
  37. package/backlog/Notification/NotificationPropTypes.js +1 -4
  38. package/backlog/Notification/index.js +3 -7
  39. package/backlog/PasswordControl/PasswordControl.js +8 -13
  40. package/backlog/Portal/Portal.js +7 -10
  41. package/backlog/PulseLoader/PulseLoader.js +1 -4
  42. package/backlog/Radio/Radio.js +7 -10
  43. package/backlog/Radio/RadioGroup.js +9 -12
  44. package/backlog/Radio/index.js +3 -7
  45. package/backlog/RenderInBody/RenderInBody.js +7 -10
  46. package/backlog/Select/Select.js +10 -15
  47. package/backlog/Select/SelectItemPropTypes.js +1 -4
  48. package/backlog/Select/index.js +3 -7
  49. package/backlog/SelectControlled/SelectControlled.js +10 -15
  50. package/backlog/SelectControlled/index.js +2 -5
  51. package/backlog/Sprite/Sprite.js +1 -4
  52. package/backlog/Tabs/Tab.js +7 -10
  53. package/backlog/Tabs/TabContent.js +6 -9
  54. package/backlog/Tabs/TabNavigation.js +8 -13
  55. package/backlog/Tabs/TabPanel.js +1 -4
  56. package/backlog/Tabs/Tabs.js +7 -10
  57. package/backlog/Tabs/index.js +6 -13
  58. package/backlog/TextArea/TextArea.js +7 -10
  59. package/backlog/TextInput/TextInput.js +9 -12
  60. package/backlog/TextInput/TextInputPropTypes.js +1 -4
  61. package/backlog/TextInput/index.js +3 -7
  62. package/backlog/Tooltip/Tooltip.js +9 -16
  63. package/backlog/index.js +55 -111
  64. package/backlog/v1/components/Button/Button.js +1 -4
  65. package/backlog/v1/components/Button/button-props.js +1 -4
  66. package/backlog/v1/components/Image/Image.js +9 -12
  67. package/backlog/v1/components/Loader/Loader.js +1 -4
  68. package/backlog/v1/components/Panel/Panel.js +7 -10
  69. package/backlog/v1/components/Table/Table.js +9 -14
  70. package/backlog/v1/components/Table/TableCell.js +1 -4
  71. package/backlog/v1/components/Table/TableCellPropTypes.js +1 -4
  72. package/backlog/v1/components/Table/TableControls.js +1 -4
  73. package/backlog/v1/components/Table/TableFooter.js +1 -4
  74. package/backlog/v1/components/Table/TableHeading.js +7 -10
  75. package/backlog/v1/components/Table/TableHeadingPropTypes.js +1 -4
  76. package/backlog/v1/components/Table/TableSortSelector.js +7 -10
  77. package/backlog/v1/components/Table/TableSortType.js +1 -4
  78. package/backlog/v1/components/Table/index.js +6 -13
  79. package/backlog/v1/components/TextButton/TextButton.js +8 -15
  80. package/backlog/v1/components/index.js +7 -15
  81. package/backlog/v1/utils/deprecate.js +3 -8
  82. package/package.json +13 -22
  83. package/v1/index-bundled-cjs/index.js +1 -1
  84. package/v1/index-bundled-cjs/index.js.map +1 -1
  85. package/v1/index-bundled-esm/index.js +1 -1
  86. package/v1/index-bundled-esm/index.js.map +1 -1
  87. package/v1/index-unbundled-cjs/index.js +4168 -1840
  88. package/v1/index-unbundled-cjs/index.js.map +1 -1
  89. package/v1/index-unbundled-esm/index.js +4162 -1829
  90. package/v1/index-unbundled-esm/index.js.map +1 -1
  91. package/v2/index-bundled-cjs/ImageCarousel-080ac52d.js +2 -0
  92. package/v2/index-bundled-cjs/ImageCarousel-080ac52d.js.map +1 -0
  93. package/v2/index-bundled-cjs/index-3ec6f4f6.js +25 -0
  94. package/v2/index-bundled-cjs/index-3ec6f4f6.js.map +1 -0
  95. package/v2/index-bundled-cjs/index.js +1 -1
  96. package/v2/index-bundled-esm/ImageCarousel-f28813a0.js +2 -0
  97. package/v2/index-bundled-esm/ImageCarousel-f28813a0.js.map +1 -0
  98. package/v2/index-bundled-esm/index-1758d567.js +24 -0
  99. package/v2/index-bundled-esm/index-1758d567.js.map +1 -0
  100. package/v2/index-bundled-esm/index.js +1 -1
  101. package/v2/index-unbundled-cjs/{ImageCarousel-7ccd8f2f.js → ImageCarousel-a6361ff4.js} +963 -52
  102. package/v2/index-unbundled-cjs/ImageCarousel-a6361ff4.js.map +1 -0
  103. package/v2/index-unbundled-cjs/{index-9d5ea07a.js → index-fc04c985.js} +1592 -2449
  104. package/v2/index-unbundled-cjs/index-fc04c985.js.map +1 -0
  105. package/v2/index-unbundled-cjs/index.js +15 -16
  106. package/v2/index-unbundled-cjs/index.js.map +1 -1
  107. package/v2/index-unbundled-esm/{ImageCarousel-fbb24dbe.js → ImageCarousel-3b5e450a.js} +963 -50
  108. package/v2/index-unbundled-esm/ImageCarousel-3b5e450a.js.map +1 -0
  109. package/v2/index-unbundled-esm/{index-23e28656.js → index-0a927912.js} +1558 -2432
  110. package/v2/index-unbundled-esm/index-0a927912.js.map +1 -0
  111. package/v2/index-unbundled-esm/index.js +1 -2
  112. package/v2/index-unbundled-esm/index.js.map +1 -1
  113. package/v2/index-bundled-cjs/ImageCarousel-6fd5db39.js +0 -2
  114. package/v2/index-bundled-cjs/ImageCarousel-6fd5db39.js.map +0 -1
  115. package/v2/index-bundled-cjs/index-8d0f80f6.js +0 -26
  116. package/v2/index-bundled-cjs/index-8d0f80f6.js.map +0 -1
  117. package/v2/index-bundled-esm/ImageCarousel-eab1d6cd.js +0 -2
  118. package/v2/index-bundled-esm/ImageCarousel-eab1d6cd.js.map +0 -1
  119. package/v2/index-bundled-esm/index-c0705cec.js +0 -24
  120. package/v2/index-bundled-esm/index-c0705cec.js.map +0 -1
  121. package/v2/index-unbundled-cjs/ImageCarousel-7ccd8f2f.js.map +0 -1
  122. package/v2/index-unbundled-cjs/index-9d5ea07a.js.map +0 -1
  123. package/v2/index-unbundled-esm/ImageCarousel-fbb24dbe.js.map +0 -1
  124. package/v2/index-unbundled-esm/index-23e28656.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageCarousel-fbb24dbe.js","sources":["../../node_modules/core-js-pure/modules/es.array.is-array.js","../../node_modules/core-js-pure/es/array/is-array.js","../../node_modules/core-js-pure/stable/array/is-array.js","../../node_modules/core-js-pure/features/array/is-array.js","../../node_modules/@babel/runtime-corejs3/core-js/array/is-array.js","../../node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithHoles.js","../../node_modules/core-js-pure/modules/es.symbol.async-iterator.js","../../node_modules/core-js-pure/modules/es.symbol.has-instance.js","../../node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","../../node_modules/core-js-pure/modules/es.symbol.iterator.js","../../node_modules/core-js-pure/modules/es.symbol.match.js","../../node_modules/core-js-pure/modules/es.symbol.match-all.js","../../node_modules/core-js-pure/modules/es.symbol.replace.js","../../node_modules/core-js-pure/modules/es.symbol.search.js","../../node_modules/core-js-pure/modules/es.symbol.species.js","../../node_modules/core-js-pure/modules/es.symbol.split.js","../../node_modules/core-js-pure/modules/es.symbol.to-primitive.js","../../node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","../../node_modules/core-js-pure/modules/es.symbol.unscopables.js","../../node_modules/core-js-pure/modules/es.json.to-string-tag.js","../../node_modules/core-js-pure/es/symbol/index.js","../../node_modules/core-js-pure/stable/symbol/index.js","../../node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","../../node_modules/core-js-pure/modules/esnext.symbol.dispose.js","../../node_modules/core-js-pure/modules/esnext.symbol.matcher.js","../../node_modules/core-js-pure/modules/esnext.symbol.metadata.js","../../node_modules/core-js-pure/modules/esnext.symbol.observable.js","../../node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","../../node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","../../node_modules/core-js-pure/features/symbol/index.js","../../node_modules/@babel/runtime-corejs3/core-js/symbol.js","../../node_modules/core-js-pure/internals/string-multibyte.js","../../node_modules/core-js-pure/modules/es.string.iterator.js","../../node_modules/core-js-pure/internals/get-iterator-method.js","../../node_modules/core-js-pure/es/get-iterator-method.js","../../node_modules/core-js-pure/stable/get-iterator-method.js","../../node_modules/core-js-pure/features/get-iterator-method.js","../../node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js","../../node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArrayLimit.js","../../node_modules/core-js-pure/modules/es.array.slice.js","../../node_modules/core-js-pure/es/array/virtual/slice.js","../../node_modules/core-js-pure/es/instance/slice.js","../../node_modules/core-js-pure/stable/instance/slice.js","../../node_modules/core-js-pure/features/instance/slice.js","../../node_modules/@babel/runtime-corejs3/core-js/instance/slice.js","../../node_modules/core-js-pure/internals/iterator-close.js","../../node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","../../node_modules/core-js-pure/internals/is-array-iterator-method.js","../../node_modules/core-js-pure/internals/get-iterator.js","../../node_modules/core-js-pure/internals/array-from.js","../../node_modules/core-js-pure/internals/check-correctness-of-iteration.js","../../node_modules/core-js-pure/modules/es.array.from.js","../../node_modules/core-js-pure/es/array/from.js","../../node_modules/core-js-pure/stable/array/from.js","../../node_modules/core-js-pure/features/array/from.js","../../node_modules/@babel/runtime-corejs3/core-js/array/from.js","../../node_modules/@babel/runtime-corejs3/helpers/esm/arrayLikeToArray.js","../../node_modules/@babel/runtime-corejs3/helpers/esm/unsupportedIterableToArray.js","../../node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableRest.js","../../node_modules/@babel/runtime-corejs3/helpers/esm/slicedToArray.js","../../node_modules/embla-carousel-react/embla-carousel-react.esm.js","../../src/v2/components/ImageCarousel/ImageCarousel.jsx"],"sourcesContent":["var $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\n\n// `Array.isArray` method\n// https://tc39.es/ecma262/#sec-array.isarray\n$({ target: 'Array', stat: true }, {\n isArray: isArray\n});\n","require('../../modules/es.array.is-array');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.isArray;\n","var parent = require('../../es/array/is-array');\n\nmodule.exports = parent;\n","var parent = require('../../stable/array/is-array');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/features/array/is-array\");","import _Array$isArray from \"@babel/runtime-corejs3/core-js/array/is-array\";\nexport default function _arrayWithHoles(arr) {\n if (_Array$isArray(arr)) return arr;\n}","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matchAll` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.matchall\ndefineWellKnownSymbol('matchAll');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","require('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","var parent = require('../../es/symbol');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('asyncDispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-using-statement\ndefineWellKnownSymbol('dispose');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.matcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('matcher');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.metadata` well-known symbol\n// https://github.com/tc39/proposal-decorators\ndefineWellKnownSymbol('metadata');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\ndefineWellKnownSymbol('replaceAll');\n","var parent = require('../../stable/symbol');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.matcher');\nrequire('../../modules/esnext.symbol.metadata');\nrequire('../../modules/esnext.symbol.observable');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.pattern-match');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/features/symbol\");","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","require('../modules/es.array.iterator');\nrequire('../modules/es.string.iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nmodule.exports = getIteratorMethod;\n","var parent = require('../es/get-iterator-method');\nrequire('../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","var parent = require('../stable/get-iterator-method');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/features/get-iterator-method\");","import _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _getIteratorMethod from \"@babel/runtime-corejs3/core-js/get-iterator-method\";\nexport default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof _Symbol !== \"undefined\" && _getIteratorMethod(arr) || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return un$Slice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","require('../../../modules/es.array.slice');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').slice;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/slice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.slice;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.slice) ? method : own;\n};\n","var parent = require('../../es/instance/slice');\n\nmodule.exports = parent;\n","var parent = require('../../stable/instance/slice');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/features/instance/slice\");","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n result = IS_CONSTRUCTOR ? new this() : [];\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n // eslint-disable-next-line es/no-array-from -- required for testing\n Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n from: from\n});\n","require('../../modules/es.string.iterator');\nrequire('../../modules/es.array.from');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Array.from;\n","var parent = require('../../es/array/from');\n\nmodule.exports = parent;\n","var parent = require('../../stable/array/from');\n\nmodule.exports = parent;\n","module.exports = require(\"core-js-pure/features/array/from\");","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","import _sliceInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/slice\";\nimport _Array$from from \"@babel/runtime-corejs3/core-js/array/from\";\nimport arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n var _context;\n\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n\n var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);\n\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return _Array$from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import { useState, useRef, useMemo, useEffect } from 'react';\n\nfunction canUseDOM() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}\nfunction areEqualShallow(objectA, objectB) {\n return Object.keys(objectA).length === Object.keys(objectB).length && Object.keys(objectA).every(function (objectKey) {\n if (!Object.prototype.hasOwnProperty.call(objectB, objectKey)) {\n return false;\n }\n\n return objectA[objectKey] === objectB[objectKey];\n });\n}\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction Alignment(align, viewSize) {\n var predefined = {\n start: start,\n center: center,\n end: end\n };\n\n function start() {\n return 0;\n }\n\n function center(n) {\n return end(n) / 2;\n }\n\n function end(n) {\n return viewSize - n;\n }\n\n function percent() {\n return viewSize * Number(align);\n }\n\n function measure(n) {\n if (typeof align === 'number') return percent();\n return predefined[align](n);\n }\n\n var self = {\n measure: measure\n };\n return self;\n}\n\nfunction Animation(callback) {\n var animationFrame = 0;\n\n function ifAnimating(active, cb) {\n return function () {\n if (active === !!animationFrame) cb();\n };\n }\n\n function start() {\n animationFrame = window.requestAnimationFrame(callback);\n }\n\n function stop() {\n window.cancelAnimationFrame(animationFrame);\n animationFrame = 0;\n }\n\n var self = {\n proceed: ifAnimating(true, start),\n start: ifAnimating(false, start),\n stop: ifAnimating(true, stop)\n };\n return self;\n}\n\nfunction Axis(axis, contentDirection) {\n var scroll = axis === 'y' ? 'y' : 'x';\n var cross = axis === 'y' ? 'x' : 'y';\n var startEdge = getStartEdge();\n var endEdge = getEndEdge();\n\n function measureSize(rect) {\n var width = rect.width,\n height = rect.height;\n return scroll === 'x' ? width : height;\n }\n\n function getStartEdge() {\n if (scroll === 'y') return 'top';\n return contentDirection === 'rtl' ? 'right' : 'left';\n }\n\n function getEndEdge() {\n if (scroll === 'y') return 'bottom';\n return contentDirection === 'rtl' ? 'left' : 'right';\n }\n\n var self = {\n scroll: scroll,\n cross: cross,\n startEdge: startEdge,\n endEdge: endEdge,\n measureSize: measureSize\n };\n return self;\n}\n\nfunction Limit(min, max) {\n var length = Math.abs(min - max);\n\n function reachedMin(n) {\n return n < min;\n }\n\n function reachedMax(n) {\n return n > max;\n }\n\n function reachedAny(n) {\n return reachedMin(n) || reachedMax(n);\n }\n\n function constrain(n) {\n if (!reachedAny(n)) return n;\n return reachedMin(n) ? min : max;\n }\n\n function removeOffset(n) {\n if (!length) return n;\n return n - length * Math.ceil((n - max) / length);\n }\n\n var self = {\n constrain: constrain,\n length: length,\n max: max,\n min: min,\n reachedAny: reachedAny,\n reachedMax: reachedMax,\n reachedMin: reachedMin,\n removeOffset: removeOffset\n };\n return self;\n}\n\nfunction Counter(max, start, loop) {\n var _a = Limit(0, max),\n min = _a.min,\n constrain = _a.constrain;\n\n var loopEnd = max + 1;\n var counter = withinLimit(start);\n\n function withinLimit(n) {\n return !loop ? constrain(n) : Math.abs((loopEnd + n) % loopEnd);\n }\n\n function get() {\n return counter;\n }\n\n function set(n) {\n counter = withinLimit(n);\n return self;\n }\n\n function add(n) {\n return set(get() + n);\n }\n\n function clone() {\n return Counter(max, get(), loop);\n }\n\n var self = {\n add: add,\n clone: clone,\n get: get,\n set: set,\n min: min,\n max: max\n };\n return self;\n}\n\nfunction Direction(direction) {\n var sign = direction === 'rtl' ? -1 : 1;\n\n function applyTo(n) {\n return n * sign;\n }\n\n var self = {\n applyTo: applyTo\n };\n return self;\n}\n\nfunction EventStore() {\n var listeners = [];\n\n function add(node, type, handler, options) {\n if (options === void 0) {\n options = false;\n }\n\n node.addEventListener(type, handler, options);\n listeners.push(function () {\n return node.removeEventListener(type, handler, options);\n });\n return self;\n }\n\n function removeAll() {\n listeners = listeners.filter(function (remove) {\n return remove();\n });\n return self;\n }\n\n var self = {\n add: add,\n removeAll: removeAll\n };\n return self;\n}\n\nfunction Vector1D(value) {\n var vector = value;\n\n function get() {\n return vector;\n }\n\n function set(n) {\n vector = readNumber(n);\n return self;\n }\n\n function add(n) {\n vector += readNumber(n);\n return self;\n }\n\n function subtract(n) {\n vector -= readNumber(n);\n return self;\n }\n\n function multiply(n) {\n vector *= n;\n return self;\n }\n\n function divide(n) {\n vector /= n;\n return self;\n }\n\n function normalize() {\n if (vector !== 0) divide(vector);\n return self;\n }\n\n function readNumber(n) {\n return typeof n === 'number' ? n : n.get();\n }\n\n var self = {\n add: add,\n divide: divide,\n get: get,\n multiply: multiply,\n normalize: normalize,\n set: set,\n subtract: subtract\n };\n return self;\n}\n\nfunction map(value, iStart, iStop, oStart, oStop) {\n return oStart + (oStop - oStart) * ((value - iStart) / (iStop - iStart));\n}\n\nfunction mathSign(n) {\n return !n ? 0 : n / Math.abs(n);\n}\n\nfunction deltaAbs(valueB, valueA) {\n return Math.abs(valueB - valueA);\n}\n\nfunction factorAbs(valueB, valueA) {\n if (valueB === 0 || valueA === 0) return 0;\n if (Math.abs(valueB) <= Math.abs(valueA)) return 0;\n var diff = deltaAbs(Math.abs(valueB), Math.abs(valueA));\n return Math.abs(diff / valueB);\n}\n\nfunction roundToDecimals(decimalPoints) {\n var pow = Math.pow(10, decimalPoints);\n return function (n) {\n return Math.round(n * pow) / pow;\n };\n}\n\nfunction debounce(callback, time) {\n var timeout = 0;\n return function () {\n window.clearTimeout(timeout);\n timeout = window.setTimeout(callback, time) || 0;\n };\n}\n\nfunction groupArray(array, size) {\n var groups = [];\n\n for (var i = 0; i < array.length; i += size) {\n groups.push(array.slice(i, i + size));\n }\n\n return groups;\n}\n\nfunction arrayKeys(array) {\n return Object.keys(array).map(Number);\n}\n\nfunction arrayLast(array) {\n return array[lastIndex(array)];\n}\n\nfunction lastIndex(array) {\n return Math.max(0, array.length - 1);\n}\n\nfunction removeClass(node, className) {\n var cl = node.classList;\n if (className && cl.contains(className)) cl.remove(className);\n}\n\nfunction addClass(node, className) {\n var cl = node.classList;\n if (className && !cl.contains(className)) cl.add(className);\n}\n\nfunction DragHandler(axis, direction, rootNode, target, dragFree, dragTracker, location, animation, scrollTo, scrollBody, scrollTarget, index, events, loop, skipSnaps) {\n var scrollAxis = axis.scroll,\n crossAxis = axis.cross;\n var focusNodes = ['INPUT', 'SELECT', 'TEXTAREA'];\n var startScroll = Vector1D(0);\n var startCross = Vector1D(0);\n var dragStartPoint = Vector1D(0);\n var activationEvents = EventStore();\n var interactionEvents = EventStore();\n var snapForceBoost = {\n mouse: 2.5,\n touch: 3.5\n };\n var freeForceBoost = {\n mouse: 5,\n touch: 7\n };\n var baseSpeed = dragFree ? 5 : 16;\n var baseMass = 1;\n var dragThreshold = 20;\n var pointerIsDown = false;\n var preventScroll = false;\n var preventClick = false;\n var isMouse = false;\n\n function addActivationEvents() {\n var node = rootNode;\n activationEvents.add(node, 'touchmove', function () {\n return undefined;\n }).add(node, 'touchend', function () {\n return undefined;\n }).add(node, 'touchstart', down).add(node, 'mousedown', down).add(node, 'touchcancel', up).add(node, 'contextmenu', up).add(node, 'click', click);\n }\n\n function addInteractionEvents() {\n var node = !isMouse ? rootNode : document;\n interactionEvents.add(node, 'touchmove', move).add(node, 'touchend', up).add(node, 'mousemove', move).add(node, 'mouseup', up);\n }\n\n function removeAllEvents() {\n activationEvents.removeAll();\n interactionEvents.removeAll();\n }\n\n function isFocusNode(node) {\n var name = node.nodeName || '';\n return focusNodes.indexOf(name) > -1;\n }\n\n function forceBoost() {\n var boost = dragFree ? freeForceBoost : snapForceBoost;\n var type = isMouse ? 'mouse' : 'touch';\n return boost[type];\n }\n\n function allowedForce(force, targetChanged) {\n var next = index.clone().add(mathSign(force) * -1);\n var isEdge = next.get() === index.min || next.get() === index.max;\n var baseForce = scrollTarget.byDistance(force, !dragFree).distance;\n if (dragFree || Math.abs(force) < dragThreshold) return baseForce;\n if (!loop && isEdge) return baseForce * 0.6;\n if (skipSnaps && targetChanged) return baseForce * 0.5;\n return scrollTarget.byIndex(next.get(), 0).distance;\n }\n\n function down(evt) {\n isMouse = evt.type === 'mousedown';\n if (isMouse && evt.button !== 0) return;\n var isMoving = deltaAbs(target.get(), location.get()) >= 2;\n var clearPreventClick = isMouse || !isMoving;\n var isNotFocusNode = !isFocusNode(evt.target);\n var preventDefault = isMoving || isMouse && isNotFocusNode;\n pointerIsDown = true;\n dragTracker.pointerDown(evt);\n dragStartPoint.set(target);\n target.set(location);\n scrollBody.useBaseMass().useSpeed(80);\n addInteractionEvents();\n startScroll.set(dragTracker.readPoint(evt, scrollAxis));\n startCross.set(dragTracker.readPoint(evt, crossAxis));\n events.emit('pointerDown');\n if (clearPreventClick) preventClick = false;\n if (preventDefault) evt.preventDefault();\n }\n\n function move(evt) {\n if (!preventScroll && !isMouse) {\n if (!evt.cancelable) return up();\n var moveScroll = dragTracker.readPoint(evt, scrollAxis).get();\n var moveCross = dragTracker.readPoint(evt, crossAxis).get();\n var diffScroll = deltaAbs(moveScroll, startScroll.get());\n var diffCross = deltaAbs(moveCross, startCross.get());\n preventScroll = diffScroll > diffCross;\n if (!preventScroll && !preventClick) return up();\n }\n\n var diff = dragTracker.pointerMove(evt);\n if (!preventClick && diff) preventClick = true;\n animation.start();\n target.add(direction.applyTo(diff));\n evt.preventDefault();\n }\n\n function up() {\n var currentLocation = scrollTarget.byDistance(0, false);\n var targetChanged = currentLocation.index !== index.get();\n var rawForce = dragTracker.pointerUp() * forceBoost();\n var force = allowedForce(direction.applyTo(rawForce), targetChanged);\n var forceFactor = factorAbs(rawForce, force);\n var isMoving = deltaAbs(target.get(), dragStartPoint.get()) >= 0.5;\n var isVigorous = targetChanged && forceFactor > 0.75;\n var isBelowThreshold = Math.abs(rawForce) < dragThreshold;\n var speed = isVigorous ? 10 : baseSpeed;\n var mass = isVigorous ? baseMass + 2.5 * forceFactor : baseMass;\n if (isMoving && !isMouse) preventClick = true;\n preventScroll = false;\n pointerIsDown = false;\n interactionEvents.removeAll();\n scrollBody.useSpeed(isBelowThreshold ? 9 : speed).useMass(mass);\n scrollTo.distance(force, !dragFree);\n isMouse = false;\n events.emit('pointerUp');\n }\n\n function click(evt) {\n if (preventClick) evt.preventDefault();\n }\n\n function clickAllowed() {\n return !preventClick;\n }\n\n function pointerDown() {\n return pointerIsDown;\n }\n\n var self = {\n addActivationEvents: addActivationEvents,\n clickAllowed: clickAllowed,\n pointerDown: pointerDown,\n removeAllEvents: removeAllEvents\n };\n return self;\n}\n\nfunction DragTracker(axis, pxToPercent) {\n var scrollAxis = axis.scroll;\n var coords = {\n x: 'clientX',\n y: 'clientY'\n };\n var startDrag = Vector1D(0);\n var diffDrag = Vector1D(0);\n var lastDrag = Vector1D(0);\n var pointValue = Vector1D(0);\n var trackInterval = 10;\n var trackLength = 5;\n var trackTime = 100;\n var trackPoints = [];\n var lastMoveTime = new Date().getTime();\n var isMouse = false;\n\n function readPoint(evt, type) {\n isMouse = !evt.touches;\n var c = coords[type];\n var value = isMouse ? evt[c] : evt.touches[0][c];\n return pointValue.set(value);\n }\n\n function pointerDown(evt) {\n var point = readPoint(evt, scrollAxis);\n startDrag.set(point);\n lastDrag.set(point);\n return pxToPercent.measure(startDrag.get());\n }\n\n function pointerMove(evt) {\n var point = readPoint(evt, scrollAxis);\n var nowTime = new Date().getTime();\n var diffTime = nowTime - lastMoveTime;\n\n if (diffTime >= trackInterval) {\n if (diffTime >= trackTime) trackPoints = [];\n trackPoints.push(point.get());\n lastMoveTime = nowTime;\n }\n\n diffDrag.set(point).subtract(lastDrag);\n lastDrag.set(point);\n return pxToPercent.measure(diffDrag.get());\n }\n\n function pointerUp() {\n var nowTime = new Date().getTime();\n var diffTime = nowTime - lastMoveTime;\n var currentPoint = lastDrag.get();\n var force = trackPoints.slice(-trackLength).map(function (trackPoint) {\n return currentPoint - trackPoint;\n }).sort(function (p1, p2) {\n return Math.abs(p1) < Math.abs(p2) ? 1 : -1;\n })[0];\n lastDrag.set(diffTime > trackTime || !force ? 0 : force);\n trackPoints = [];\n return pxToPercent.measure(lastDrag.get());\n }\n\n var self = {\n pointerDown: pointerDown,\n pointerMove: pointerMove,\n pointerUp: pointerUp,\n readPoint: readPoint\n };\n return self;\n}\n\nfunction PxToPercent(viewInPx) {\n var totalPercent = 100;\n\n function measure(n) {\n if (viewInPx === 0) return 0;\n return n / viewInPx * totalPercent;\n }\n\n var self = {\n measure: measure,\n totalPercent: totalPercent\n };\n return self;\n}\n\nfunction ScrollBody(location, baseSpeed, baseMass) {\n var roundToTwoDecimals = roundToDecimals(2);\n var velocity = Vector1D(0);\n var acceleration = Vector1D(0);\n var attraction = Vector1D(0);\n var attractionDirection = 0;\n var speed = baseSpeed;\n var mass = baseMass;\n\n function update() {\n velocity.add(acceleration);\n location.add(velocity);\n acceleration.multiply(0);\n }\n\n function applyForce(v) {\n v.divide(mass);\n acceleration.add(v);\n }\n\n function seek(v) {\n attraction.set(v).subtract(location);\n var magnitude = map(attraction.get(), 0, 100, 0, speed);\n attractionDirection = mathSign(attraction.get());\n attraction.normalize().multiply(magnitude).subtract(velocity);\n applyForce(attraction);\n return self;\n }\n\n function settle(v) {\n var diff = v.get() - location.get();\n var hasSettled = !roundToTwoDecimals(diff);\n if (hasSettled) location.set(v);\n return hasSettled;\n }\n\n function direction() {\n return attractionDirection;\n }\n\n function useBaseSpeed() {\n return useSpeed(baseSpeed);\n }\n\n function useBaseMass() {\n return useMass(baseMass);\n }\n\n function useSpeed(n) {\n speed = n;\n return self;\n }\n\n function useMass(n) {\n mass = n;\n return self;\n }\n\n var self = {\n direction: direction,\n seek: seek,\n settle: settle,\n update: update,\n useBaseMass: useBaseMass,\n useBaseSpeed: useBaseSpeed,\n useMass: useMass,\n useSpeed: useSpeed\n };\n return self;\n}\n\nfunction ScrollBounds(limit, location, target, scrollBody) {\n var pullBackThreshold = 10;\n var disabled = false;\n\n function shouldConstrain() {\n if (disabled) return false;\n if (!limit.reachedAny(target.get())) return false;\n if (!limit.reachedAny(location.get())) return false;\n return true;\n }\n\n function constrain(pointerDown) {\n if (!shouldConstrain()) return;\n var friction = pointerDown ? 0.7 : 0.45;\n var diffToTarget = target.get() - location.get();\n target.subtract(diffToTarget * friction);\n\n if (!pointerDown && Math.abs(diffToTarget) < pullBackThreshold) {\n target.set(limit.constrain(target.get()));\n scrollBody.useSpeed(10).useMass(3);\n }\n }\n\n function toggleActive(active) {\n disabled = !active;\n }\n\n var self = {\n constrain: constrain,\n toggleActive: toggleActive\n };\n return self;\n}\n\nfunction ScrollContain(viewSize, contentSize, snaps, snapsAligned, containScroll) {\n var scrollBounds = Limit(-contentSize + viewSize, snaps[0]);\n var snapsBounded = snapsAligned.map(scrollBounds.constrain);\n var snapsContained = measureContained();\n\n function findDuplicates() {\n var startSnap = snapsBounded[0];\n var endSnap = arrayLast(snapsBounded);\n var min = snapsBounded.lastIndexOf(startSnap);\n var max = snapsBounded.indexOf(endSnap) + 1;\n return Limit(min, max);\n }\n\n function measureContained() {\n if (contentSize <= viewSize) return [scrollBounds.max];\n if (containScroll === 'keepSnaps') return snapsBounded;\n\n var _a = findDuplicates(),\n min = _a.min,\n max = _a.max;\n\n return snapsBounded.slice(min, max);\n }\n\n var self = {\n snapsContained: snapsContained\n };\n return self;\n}\n\nfunction ScrollLimit(contentSize, scrollSnaps, loop) {\n var limit = measureLimit();\n\n function measureLimit() {\n var startSnap = scrollSnaps[0];\n var endSnap = arrayLast(scrollSnaps);\n var min = loop ? startSnap - contentSize : endSnap;\n var max = startSnap;\n return Limit(min, max);\n }\n\n var self = {\n limit: limit\n };\n return self;\n}\n\nfunction ScrollLooper(contentSize, pxToPercent, limit, location, vectors) {\n var min = limit.min + pxToPercent.measure(0.1);\n var max = limit.max + pxToPercent.measure(0.1);\n\n var _a = Limit(min, max),\n reachedMin = _a.reachedMin,\n reachedMax = _a.reachedMax;\n\n function shouldLoop(direction) {\n if (direction === 1) return reachedMax(location.get());\n if (direction === -1) return reachedMin(location.get());\n return false;\n }\n\n function loop(direction) {\n if (!shouldLoop(direction)) return;\n var loopDistance = contentSize * (direction * -1);\n vectors.forEach(function (v) {\n return v.add(loopDistance);\n });\n }\n\n var self = {\n loop: loop\n };\n return self;\n}\n\nfunction ScrollProgress(limit) {\n var max = limit.max,\n scrollLength = limit.length;\n\n function get(n) {\n var currentLocation = n - max;\n return currentLocation / -scrollLength;\n }\n\n var self = {\n get: get\n };\n return self;\n}\n\nfunction ScrollSnap(axis, alignment, pxToPercent, containerRect, slideRects, slidesToScroll) {\n var startEdge = axis.startEdge,\n endEdge = axis.endEdge;\n var snaps = measureUnaligned();\n var snapsAligned = measureAligned();\n\n function measureSizes() {\n return groupArray(slideRects, slidesToScroll).map(function (rects) {\n return arrayLast(rects)[endEdge] - rects[0][startEdge];\n }).map(pxToPercent.measure).map(Math.abs);\n }\n\n function measureUnaligned() {\n return slideRects.map(function (rect) {\n return containerRect[startEdge] - rect[startEdge];\n }).map(pxToPercent.measure).map(function (snap) {\n return -Math.abs(snap);\n });\n }\n\n function measureAligned() {\n var groupedSnaps = groupArray(snaps, slidesToScroll).map(function (g) {\n return g[0];\n });\n var alignments = measureSizes().map(alignment.measure);\n return groupedSnaps.map(function (snap, index) {\n return snap + alignments[index];\n });\n }\n\n var self = {\n snaps: snaps,\n snapsAligned: snapsAligned\n };\n return self;\n}\n\nfunction ScrollTarget(loop, scrollSnaps, contentSize, limit, targetVector) {\n var reachedAny = limit.reachedAny,\n removeOffset = limit.removeOffset,\n constrain = limit.constrain;\n\n function minDistance(d1, d2) {\n return Math.abs(d1) < Math.abs(d2) ? d1 : d2;\n }\n\n function findTargetSnap(target) {\n var distance = loop ? removeOffset(target) : constrain(target);\n var ascDiffsToSnaps = scrollSnaps.map(function (scrollSnap) {\n return scrollSnap - distance;\n }).map(function (diffToSnap) {\n return shortcut(diffToSnap, 0);\n }).map(function (diff, i) {\n return {\n diff: diff,\n index: i\n };\n }).sort(function (d1, d2) {\n return Math.abs(d1.diff) - Math.abs(d2.diff);\n });\n var index = ascDiffsToSnaps[0].index;\n return {\n index: index,\n distance: distance\n };\n }\n\n function shortcut(target, direction) {\n var t1 = target;\n var t2 = target + contentSize;\n var t3 = target - contentSize;\n if (!loop) return t1;\n if (!direction) return minDistance(minDistance(t1, t2), t3);\n var shortest = minDistance(t1, direction === 1 ? t2 : t3);\n return Math.abs(shortest) * direction;\n }\n\n function byIndex(index, direction) {\n var diffToSnap = scrollSnaps[index] - targetVector.get();\n var distance = shortcut(diffToSnap, direction);\n return {\n index: index,\n distance: distance\n };\n }\n\n function byDistance(distance, snap) {\n var target = targetVector.get() + distance;\n\n var _a = findTargetSnap(target),\n index = _a.index,\n targetSnapDistance = _a.distance;\n\n var reachedBound = !loop && reachedAny(target);\n if (!snap || reachedBound) return {\n index: index,\n distance: distance\n };\n var diffToSnap = scrollSnaps[index] - targetSnapDistance;\n var snapDistance = distance + shortcut(diffToSnap, 0);\n return {\n index: index,\n distance: snapDistance\n };\n }\n\n var self = {\n byDistance: byDistance,\n byIndex: byIndex,\n shortcut: shortcut\n };\n return self;\n}\n\nfunction ScrollTo(animation, indexCurrent, indexPrevious, scrollTarget, targetVector, events) {\n function scrollTo(target) {\n var distanceDiff = target.distance;\n var indexDiff = target.index !== indexCurrent.get();\n\n if (distanceDiff) {\n animation.start();\n targetVector.add(distanceDiff);\n }\n\n if (indexDiff) {\n indexPrevious.set(indexCurrent.get());\n indexCurrent.set(target.index);\n events.emit('select');\n }\n }\n\n function distance(n, snap) {\n var target = scrollTarget.byDistance(n, snap);\n scrollTo(target);\n }\n\n function index(n, direction) {\n var targetIndex = indexCurrent.clone().set(n);\n var target = scrollTarget.byIndex(targetIndex.get(), direction);\n scrollTo(target);\n }\n\n var self = {\n distance: distance,\n index: index\n };\n return self;\n}\n\nfunction SlideLooper(axis, viewSize, contentSize, slideSizesWithGaps, scrollSnaps, slidesInView, scrollLocation, slides) {\n var ascItems = arrayKeys(slideSizesWithGaps);\n var descItems = arrayKeys(slideSizesWithGaps).reverse();\n var loopPoints = startPoints().concat(endPoints());\n\n function removeSlideSizes(indexes, from) {\n return indexes.reduce(function (a, i) {\n return a - slideSizesWithGaps[i];\n }, from);\n }\n\n function slidesInGap(indexes, gap) {\n return indexes.reduce(function (a, i) {\n var remainingGap = removeSlideSizes(a, gap);\n return remainingGap > 0 ? a.concat([i]) : a;\n }, []);\n }\n\n function findLoopPoints(indexes, edge) {\n var isStartEdge = edge === 'start';\n var offset = isStartEdge ? -contentSize : contentSize;\n var slideBounds = slidesInView.findSlideBounds(offset);\n return indexes.map(function (index) {\n var initial = isStartEdge ? 0 : -contentSize;\n var altered = isStartEdge ? contentSize : 0;\n var bounds = slideBounds.filter(function (b) {\n return b.index === index;\n })[0];\n var point = bounds[isStartEdge ? 'end' : 'start'];\n\n var getTarget = function getTarget() {\n return scrollLocation.get() > point ? initial : altered;\n };\n\n return {\n point: point,\n getTarget: getTarget,\n index: index,\n location: -1\n };\n });\n }\n\n function startPoints() {\n var gap = scrollSnaps[0] - 1;\n var indexes = slidesInGap(descItems, gap);\n return findLoopPoints(indexes, 'end');\n }\n\n function endPoints() {\n var gap = viewSize - scrollSnaps[0] - 1;\n var indexes = slidesInGap(ascItems, gap);\n return findLoopPoints(indexes, 'start');\n }\n\n function canLoop() {\n return loopPoints.every(function (_a) {\n var index = _a.index;\n var otherIndexes = ascItems.filter(function (i) {\n return i !== index;\n });\n return removeSlideSizes(otherIndexes, viewSize) <= 0;\n });\n }\n\n function loop() {\n loopPoints.forEach(function (loopPoint) {\n var getTarget = loopPoint.getTarget,\n location = loopPoint.location,\n index = loopPoint.index;\n var target = getTarget();\n\n if (target !== location) {\n slides[index].style[axis.startEdge] = target + \"%\";\n loopPoint.location = target;\n }\n });\n }\n\n function clear() {\n loopPoints.forEach(function (_a) {\n var index = _a.index;\n slides[index].style[axis.startEdge] = '';\n });\n }\n\n var self = {\n canLoop: canLoop,\n clear: clear,\n loop: loop,\n loopPoints: loopPoints\n };\n return self;\n}\n\nfunction SlideFocus(rootNode, scrollTo, slidesToScroll) {\n var eventStore = EventStore();\n var removeAllEvents = eventStore.removeAll;\n var lastTabPressTime = 0;\n\n function registerTabPress(event) {\n if (event.keyCode !== 9) return;\n lastTabPressTime = new Date().getTime();\n }\n\n function addFocusEvent(slide, index) {\n var focus = function focus() {\n var nowTime = new Date().getTime();\n var diffTime = nowTime - lastTabPressTime;\n if (diffTime > 10) return;\n rootNode.scrollLeft = 0;\n var selectedIndex = Math.floor(index / slidesToScroll);\n scrollTo.index(selectedIndex, 0);\n };\n\n eventStore.add(slide, 'focus', focus, true);\n }\n\n function addActivationEvents(slides) {\n eventStore.add(document, 'keydown', registerTabPress, false);\n slides.forEach(addFocusEvent);\n }\n\n var self = {\n addActivationEvents: addActivationEvents,\n removeAllEvents: removeAllEvents\n };\n return self;\n}\n\nfunction SlidesInView(viewSize, contentSize, slideSizes, snaps, loop, inViewThreshold) {\n var threshold = Math.min(Math.max(inViewThreshold, 0.01), 0.99);\n var offsets = loop ? [0, contentSize, -contentSize] : [0];\n var slideBounds = offsets.reduce(function (a, offset) {\n return a.concat(findSlideBounds(offset, threshold));\n }, []);\n\n function findSlideBounds(offset, threshold) {\n var thresholds = slideSizes.map(function (s) {\n return s * (threshold || 0);\n });\n return snaps.map(function (snap, index) {\n return {\n start: snap - slideSizes[index] + thresholds[index] + offset,\n end: snap + viewSize - thresholds[index] + offset,\n index: index\n };\n });\n }\n\n function check(location) {\n return slideBounds.reduce(function (list, slideBound) {\n var index = slideBound.index,\n start = slideBound.start,\n end = slideBound.end;\n var inList = list.indexOf(index) !== -1;\n var inView = start < location && end > location;\n return !inList && inView ? list.concat([index]) : list;\n }, []);\n }\n\n var self = {\n check: check,\n findSlideBounds: findSlideBounds\n };\n return self;\n}\n\nfunction SlideSizes(axis, pxToPercent, slides, slideRects, loop) {\n var measureSize = axis.measureSize,\n startEdge = axis.startEdge,\n endEdge = axis.endEdge;\n var sizesInPx = slideRects.map(measureSize);\n var slideSizes = sizesInPx.map(pxToPercent.measure);\n var slideSizesWithGaps = measureWithGaps();\n\n function measureWithGaps() {\n return slideRects.map(function (rect, index, rects) {\n var isLast = index === lastIndex(rects);\n var style = window.getComputedStyle(arrayLast(slides));\n var endGap = parseFloat(style.getPropertyValue(\"margin-\" + endEdge));\n if (isLast) return sizesInPx[index] + (loop ? endGap : 0);\n return rects[index + 1][startEdge] - rect[startEdge];\n }).map(pxToPercent.measure).map(Math.abs);\n }\n\n var self = {\n slideSizes: slideSizes,\n slideSizesWithGaps: slideSizesWithGaps\n };\n return self;\n}\n\nfunction Translate(axis, direction, container) {\n var containerStyle = container.style;\n var translate = axis.scroll === 'x' ? x : y;\n var disabled = false;\n\n function x(n) {\n return \"translate3d(\" + n + \"%,0px,0px)\";\n }\n\n function y(n) {\n return \"translate3d(0px,\" + n + \"%,0px)\";\n }\n\n function to(target) {\n if (disabled) return;\n containerStyle.transform = translate(direction.applyTo(target.get()));\n }\n\n function toggleActive(active) {\n disabled = !active;\n }\n\n function clear() {\n containerStyle.transform = '';\n }\n\n var self = {\n clear: clear,\n to: to,\n toggleActive: toggleActive\n };\n return self;\n}\n\nfunction Engine(root, container, slides, options, events) {\n // Options\n var align = options.align,\n scrollAxis = options.axis,\n contentDirection = options.direction,\n startIndex = options.startIndex,\n inViewThreshold = options.inViewThreshold,\n loop = options.loop,\n speed = options.speed,\n dragFree = options.dragFree,\n slidesToScroll = options.slidesToScroll,\n skipSnaps = options.skipSnaps,\n containScroll = options.containScroll; // Measurements\n\n var containerRect = container.getBoundingClientRect();\n var slideRects = slides.map(function (slide) {\n return slide.getBoundingClientRect();\n });\n var direction = Direction(contentDirection);\n var axis = Axis(scrollAxis, contentDirection);\n var pxToPercent = PxToPercent(axis.measureSize(containerRect));\n var viewSize = pxToPercent.totalPercent;\n var alignment = Alignment(align, viewSize);\n\n var _a = SlideSizes(axis, pxToPercent, slides, slideRects, loop),\n slideSizes = _a.slideSizes,\n slideSizesWithGaps = _a.slideSizesWithGaps;\n\n var _b = ScrollSnap(axis, alignment, pxToPercent, containerRect, slideRects, slidesToScroll),\n snaps = _b.snaps,\n snapsAligned = _b.snapsAligned;\n\n var contentSize = -arrayLast(snaps) + arrayLast(slideSizesWithGaps);\n var snapsContained = ScrollContain(viewSize, contentSize, snaps, snapsAligned, containScroll).snapsContained;\n var contain = !loop && containScroll !== '';\n var scrollSnaps = contain ? snapsContained : snapsAligned;\n var limit = ScrollLimit(contentSize, scrollSnaps, loop).limit; // Indexes\n\n var index = Counter(lastIndex(scrollSnaps), startIndex, loop);\n var indexPrevious = index.clone();\n var slideIndexes = arrayKeys(slides); // Draw\n\n var update = function update() {\n if (!loop) engine.scrollBounds.constrain(engine.dragHandler.pointerDown());\n engine.scrollBody.seek(target).update();\n var settled = engine.scrollBody.settle(target);\n\n if (settled && !engine.dragHandler.pointerDown()) {\n engine.animation.stop();\n events.emit('settle');\n }\n\n if (!settled) {\n events.emit('scroll');\n }\n\n if (loop) {\n engine.scrollLooper.loop(engine.scrollBody.direction());\n engine.slideLooper.loop();\n }\n\n engine.translate.to(location);\n engine.animation.proceed();\n }; // Shared\n\n\n var animation = Animation(update);\n var startLocation = scrollSnaps[index.get()];\n var location = Vector1D(startLocation);\n var target = Vector1D(startLocation);\n var scrollBody = ScrollBody(location, speed, 1);\n var scrollTarget = ScrollTarget(loop, scrollSnaps, contentSize, limit, target);\n var scrollTo = ScrollTo(animation, index, indexPrevious, scrollTarget, target, events);\n var slidesInView = SlidesInView(viewSize, contentSize, slideSizes, snaps, loop, inViewThreshold); // DragHandler\n\n var dragHandler = DragHandler(axis, direction, root, target, dragFree, DragTracker(axis, pxToPercent), location, animation, scrollTo, scrollBody, scrollTarget, index, events, loop, skipSnaps); // Slider\n\n var engine = {\n animation: animation,\n axis: axis,\n direction: direction,\n dragHandler: dragHandler,\n pxToPercent: pxToPercent,\n index: index,\n indexPrevious: indexPrevious,\n limit: limit,\n location: location,\n options: options,\n scrollBody: scrollBody,\n scrollBounds: ScrollBounds(limit, location, target, scrollBody),\n scrollLooper: ScrollLooper(contentSize, pxToPercent, limit, location, [location, target]),\n scrollProgress: ScrollProgress(limit),\n scrollSnaps: scrollSnaps,\n scrollTarget: scrollTarget,\n scrollTo: scrollTo,\n slideFocus: SlideFocus(root, scrollTo, slidesToScroll),\n slideLooper: SlideLooper(axis, viewSize, contentSize, slideSizesWithGaps, scrollSnaps, slidesInView, location, slides),\n slidesInView: slidesInView,\n slideIndexes: slideIndexes,\n target: target,\n translate: Translate(axis, direction, container)\n };\n return engine;\n}\n\nfunction EventEmitter() {\n var listeners = {};\n\n function getListeners(evt) {\n var eventListeners = listeners[evt];\n return eventListeners || [];\n }\n\n function emit(evt) {\n getListeners(evt).forEach(function (e) {\n return e(evt);\n });\n return self;\n }\n\n function on(evt, cb) {\n listeners[evt] = getListeners(evt).concat([cb]);\n return self;\n }\n\n function off(evt, cb) {\n listeners[evt] = getListeners(evt).filter(function (e) {\n return e !== cb;\n });\n return self;\n }\n\n var self = {\n emit: emit,\n off: off,\n on: on\n };\n return self;\n}\n\nvar defaultOptions = {\n align: 'center',\n axis: 'x',\n containScroll: '',\n direction: 'ltr',\n dragFree: false,\n draggable: true,\n draggableClass: 'is-draggable',\n draggingClass: 'is-dragging',\n inViewThreshold: 0,\n loop: false,\n skipSnaps: true,\n selectedClass: 'is-selected',\n slidesToScroll: 1,\n speed: 10,\n startIndex: 0\n};\n\nfunction OptionsPseudo(node) {\n var pseudoString = getComputedStyle(node, ':before').content;\n\n function get() {\n try {\n return JSON.parse(pseudoString.slice(1, -1).replace(/\\\\/g, ''));\n } catch (error) {} // eslint-disable-line no-empty\n\n\n return {};\n }\n\n var self = {\n get: get\n };\n return self;\n}\n\nfunction EmblaCarousel(sliderRoot, userOptions) {\n var events = EventEmitter();\n var eventStore = EventStore();\n var debouncedResize = debounce(resize, 500);\n var reInit = reActivate;\n var on = events.on,\n off = events.off;\n var engine;\n var activated = false;\n\n var optionsBase = _extends({}, defaultOptions);\n\n var options = _extends({}, optionsBase);\n\n var optionsPseudo;\n var rootNodeSize = 0;\n var container;\n var slides;\n activate(userOptions);\n\n function setupElements() {\n if (!sliderRoot) throw new Error('Missing root node 😢');\n var sliderContainer = sliderRoot.querySelector('*');\n if (!sliderContainer) throw new Error('Missing container node 😢');\n container = sliderContainer;\n slides = Array.prototype.slice.call(container.children);\n optionsPseudo = OptionsPseudo(sliderRoot);\n }\n\n function activate(partialOptions) {\n setupElements();\n optionsBase = _extends({}, optionsBase, partialOptions);\n options = _extends({}, optionsBase, optionsPseudo.get());\n engine = Engine(sliderRoot, container, slides, options, events);\n eventStore.add(window, 'resize', debouncedResize);\n engine.translate.to(engine.location);\n rootNodeSize = engine.axis.measureSize(sliderRoot.getBoundingClientRect());\n\n if (options.loop) {\n if (!engine.slideLooper.canLoop()) {\n deActivate();\n return activate({\n loop: false\n });\n }\n\n engine.slideLooper.loop();\n }\n\n if (options.draggable && container.offsetParent && slides.length) {\n engine.dragHandler.addActivationEvents();\n\n if (options.draggableClass) {\n addClass(sliderRoot, options.draggableClass);\n }\n\n if (options.draggingClass) {\n events.on('pointerDown', toggleDraggingClass).on('pointerUp', toggleDraggingClass);\n }\n }\n\n if (slides.length) {\n engine.slideFocus.addActivationEvents(slides);\n }\n\n if (options.selectedClass) {\n toggleSelectedClass();\n events.on('select', toggleSelectedClass).on('pointerUp', toggleSelectedClass);\n }\n\n if (!activated) {\n setTimeout(function () {\n return events.emit('init');\n }, 0);\n activated = true;\n }\n }\n\n function toggleDraggingClass(evt) {\n var draggingClass = options.draggingClass;\n if (evt === 'pointerDown') addClass(sliderRoot, draggingClass);else removeClass(sliderRoot, draggingClass);\n }\n\n function toggleSelectedClass() {\n var selectedClass = options.selectedClass;\n var inView = slidesInView(true);\n var notInView = slidesNotInView(true);\n notInView.forEach(function (index) {\n return removeClass(slides[index], selectedClass);\n });\n inView.forEach(function (index) {\n return addClass(slides[index], selectedClass);\n });\n }\n\n function deActivate() {\n engine.dragHandler.removeAllEvents();\n engine.slideFocus.removeAllEvents();\n engine.animation.stop();\n eventStore.removeAll();\n engine.translate.clear();\n engine.slideLooper.clear();\n removeClass(sliderRoot, options.draggableClass);\n slides.forEach(function (slide) {\n return removeClass(slide, options.selectedClass);\n });\n events.off('select', toggleSelectedClass).off('pointerUp', toggleSelectedClass).off('pointerDown', toggleDraggingClass).off('pointerUp', toggleDraggingClass);\n }\n\n function reActivate(partialOptions) {\n if (!activated) return;\n var startIndex = selectedScrollSnap();\n\n var newOptions = _extends({\n startIndex: startIndex\n }, partialOptions);\n\n deActivate();\n activate(newOptions);\n events.emit('reInit');\n }\n\n function destroy() {\n if (!activated) return;\n deActivate();\n activated = false;\n events.emit('destroy');\n }\n\n function resize() {\n if (!activated) return;\n var size = engine.axis.measureSize(sliderRoot.getBoundingClientRect());\n if (rootNodeSize !== size) reActivate();\n events.emit('resize');\n }\n\n function slidesInView(target) {\n var location = engine[target ? 'target' : 'location'].get();\n var type = options.loop ? 'removeOffset' : 'constrain';\n return engine.slidesInView.check(engine.limit[type](location));\n }\n\n function slidesNotInView(target) {\n var inView = slidesInView(target);\n return engine.slideIndexes.filter(function (index) {\n return inView.indexOf(index) === -1;\n });\n }\n\n function scrollTo(index, jump, direction) {\n engine.scrollBody.useBaseMass().useSpeed(jump ? 100 : options.speed);\n if (activated) engine.scrollTo.index(index, direction || 0);\n }\n\n function scrollNext(jump) {\n var next = engine.index.clone().add(1);\n scrollTo(next.get(), jump === true, -1);\n }\n\n function scrollPrev(jump) {\n var prev = engine.index.clone().add(-1);\n scrollTo(prev.get(), jump === true, 1);\n }\n\n function canScrollNext() {\n var next = engine.index.clone().add(1);\n return next.get() !== selectedScrollSnap();\n }\n\n function canScrollPrev() {\n var prev = engine.index.clone().add(-1);\n return prev.get() !== selectedScrollSnap();\n }\n\n function scrollSnapList() {\n return engine.scrollSnaps.map(engine.scrollProgress.get);\n }\n\n function scrollProgress() {\n return engine.scrollProgress.get(engine.location.get());\n }\n\n function selectedScrollSnap() {\n return engine.index.get();\n }\n\n function previousScrollSnap() {\n return engine.indexPrevious.get();\n }\n\n function clickAllowed() {\n return engine.dragHandler.clickAllowed();\n }\n\n function dangerouslyGetEngine() {\n return engine;\n }\n\n function rootNode() {\n return sliderRoot;\n }\n\n function containerNode() {\n return container;\n }\n\n function slideNodes() {\n return slides;\n }\n\n var self = {\n canScrollNext: canScrollNext,\n canScrollPrev: canScrollPrev,\n clickAllowed: clickAllowed,\n containerNode: containerNode,\n dangerouslyGetEngine: dangerouslyGetEngine,\n destroy: destroy,\n off: off,\n on: on,\n previousScrollSnap: previousScrollSnap,\n reInit: reInit,\n rootNode: rootNode,\n scrollNext: scrollNext,\n scrollPrev: scrollPrev,\n scrollProgress: scrollProgress,\n scrollSnapList: scrollSnapList,\n scrollTo: scrollTo,\n selectedScrollSnap: selectedScrollSnap,\n slideNodes: slideNodes,\n slidesInView: slidesInView,\n slidesNotInView: slidesNotInView\n };\n return self;\n}\n\nfunction useEmblaCarousel(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _a = useState(),\n embla = _a[0],\n setEmbla = _a[1];\n\n var _b = useState(),\n viewport = _b[0],\n setViewport = _b[1];\n\n var storedOptions = useRef(options);\n var activeOptions = useMemo(function () {\n if (!areEqualShallow(storedOptions.current, options)) {\n storedOptions.current = options;\n }\n\n return storedOptions.current;\n }, [storedOptions, options]);\n useEffect(function () {\n if (canUseDOM() && viewport) {\n var newEmbla_1 = EmblaCarousel(viewport, activeOptions);\n setEmbla(newEmbla_1);\n return function () {\n return newEmbla_1.destroy();\n };\n } else {\n setEmbla(undefined);\n }\n }, [viewport, activeOptions, setEmbla]);\n return [setViewport, embla];\n}\n\nexport default useEmblaCarousel;\n//# sourceMappingURL=embla-carousel-react.esm.js.map\n","import React, {useState, useEffect, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {Box} from '@chakra-ui/react';\nimport useEmblaCarousel from 'embla-carousel-react';\nimport IconChevronLeft from '@spothero/icons/chevron-left';\nimport IconChevronRight from '@spothero/icons/chevron-right';\nimport Button from 'v2/components/Button/Button';\n\nconst ImageCarousel = ({images, width, height, ...props}) => {\n const imgWidth = width ? `${width}rem` : '100%';\n const imgHeight = `${height}rem`;\n\n const [viewportRef, embla] = useEmblaCarousel({\n skipSnaps: false,\n loop: true,\n });\n const [selectedIndex, setSelectedIndex] = useState(0);\n const scrollPrev = useCallback(() => embla && embla.scrollPrev(), [embla]);\n const scrollNext = useCallback(() => embla && embla.scrollNext(), [embla]);\n\n const onSelect = useCallback(() => {\n if (!embla) return;\n setSelectedIndex(embla.selectedScrollSnap());\n }, [embla, setSelectedIndex]);\n\n useEffect(() => {\n if (!embla) return;\n onSelect();\n embla.on('select', onSelect);\n }, [embla, onSelect]);\n\n if (images.length === 1) {\n const image = images[0];\n\n return (\n <Box width={imgWidth} height={imgHeight} {...props}>\n <img\n style={{\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }}\n src={image.src}\n alt={image.alt}\n />\n </Box>\n );\n }\n\n return (\n <Box\n as=\"section\"\n position=\"relative\"\n overflow=\"hidden\"\n width={imgWidth}\n {...props}\n >\n <Box ref={viewportRef}>\n <Box display=\"flex\" role=\"group\">\n {images.map((image, index) => {\n return (\n <Box\n position=\"relative\"\n flex=\"0 0 100%\"\n key={index}\n aria-label={`Slide ${index + 1} of ${\n images.length\n }`}\n >\n <Box position=\"relative\" height={imgHeight}>\n <img\n style={{\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n }}\n src={image.src}\n alt={image.alt}\n />\n </Box>\n </Box>\n );\n })}\n </Box>\n </Box>\n <Button\n onClick={scrollPrev}\n width=\"16\"\n height=\"100%\"\n position=\"absolute\"\n left=\"0\"\n top=\"0\"\n bg=\"none\"\n borderRadius=\"0\"\n border=\"0\"\n _hover={{\n bg: 'none',\n border: 0,\n }}\n _focus={{\n boxShadow: 'none',\n }}\n padding=\"3\"\n >\n <Box\n width=\"100%\"\n padding=\"3\"\n borderRadius=\"50%\"\n bgColor=\"black\"\n opacity=\"0.6\"\n >\n <IconChevronLeft />\n </Box>\n </Button>\n <Button\n onClick={scrollNext}\n width=\"16\"\n height=\"100%\"\n position=\"absolute\"\n right=\"0\"\n top=\"0\"\n bg=\"none\"\n borderRadius=\"0\"\n border=\"0\"\n _hover={{\n bg: 'none',\n border: 0,\n }}\n _focus={{\n boxShadow: 'none',\n }}\n padding=\"3\"\n >\n <Box\n width=\"100%\"\n padding=\"3\"\n borderRadius=\"50%\"\n bgColor=\"black\"\n opacity=\"0.6\"\n >\n <IconChevronRight />\n </Box>\n </Button>\n <Box\n color=\"white\"\n borderRadius=\"1rem\"\n bgColor=\"black\"\n opacity=\"0.6\"\n paddingX={3}\n paddingY={1}\n fontSize=\"xs\"\n position=\"absolute\"\n bottom={3}\n left=\"50%\"\n transform=\"translateX(-50%)\"\n >\n {selectedIndex + 1}/{images.length}\n </Box>\n </Box>\n );\n};\n\nImageCarousel.propTypes = {\n /** Array of images with src and alt */\n images: PropTypes.arrayOf(\n PropTypes.shape({\n src: PropTypes.string.isRequired,\n alt: PropTypes.string.isRequired,\n })\n ).isRequired,\n /** Height of the carousel in rem */\n height: PropTypes.number.isRequired,\n /** Width of the carousel in rem */\n width: PropTypes.number,\n};\n\nexport default ImageCarousel;\n"],"names":["$","isArray","parent","require$$0","_Array$isArray","global","charAt","uncurryThis","toString","InternalStateModule","ITERATOR","Iterators","getIteratorMethod","_Symbol","_getIteratorMethod","Array","un$Slice","ArrayPrototype","isPrototypeOf","method","call","TypeError","bind","from","arrayLikeToArray","_sliceInstanceProperty","_Array$from","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","ImageCarousel","images","width","height","props","imgWidth","imgHeight","useEmblaCarousel","skipSnaps","loop","viewportRef","embla","useState","selectedIndex","setSelectedIndex","scrollPrev","useCallback","scrollNext","onSelect","selectedScrollSnap","useEffect","on","length","image","objectFit","src","alt","_mapInstanceProperty","index","Button","bg","border","boxShadow","propTypes","PropTypes","arrayOf","shape","string","isRequired","number"],"mappings":"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"}