gitextract__olebuq9/ ├── .browserlistrc ├── .circleci/ │ └── config.yml ├── .eslintignore ├── .eslintrc.js ├── .flowconfig ├── .github/ │ └── ISSUE_TEMPLATE/ │ ├── bug-report.md │ ├── feature-request.md │ └── tree-issue.md ├── .gitignore ├── .nvmrc ├── .prettierignore ├── .prettierrc ├── .size-snapshot.json ├── .storybook/ │ ├── .babelrc │ ├── babel-setup.md │ ├── config.js │ ├── custom-decorators/ │ │ └── global-styles.jsx │ ├── main.js │ └── preview-head.html ├── .stylelintrc.json ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── a11y-audit-parse.js ├── babel.config.js ├── browser-test-harness.js ├── csp-server/ │ ├── .eslintrc.js │ ├── app.jsx │ ├── client.js │ ├── main.js │ ├── server.js │ ├── start.sh │ └── webpack.config.js ├── cypress/ │ ├── .eslintrc.js │ ├── fixtures/ │ │ └── .gitkeep │ ├── integration/ │ │ ├── content-security-policy.spec.js │ │ ├── focus.spec.js │ │ ├── move-between-lists.spec.js │ │ ├── reorder-lists.spec.js │ │ ├── reorder-virtual.spec.js │ │ ├── reorder.spec.js │ │ └── util.js │ ├── plugins/ │ │ └── index.js │ └── support/ │ ├── commands.js │ └── index.js ├── cypress.json ├── docs/ │ ├── about/ │ │ ├── accessibility.md │ │ ├── animations.md │ │ ├── browser-support.md │ │ ├── design-principles.md │ │ ├── examples.md │ │ └── installation.md │ ├── api/ │ │ ├── drag-drop-context.md │ │ ├── draggable.md │ │ ├── droppable.md │ │ └── reset-server-context.md │ ├── guides/ │ │ ├── auto-scrolling.md │ │ ├── avoiding-image-flickering.md │ │ ├── browser-focus.md │ │ ├── changes-while-dragging.md │ │ ├── combining.md │ │ ├── common-setup-issues.md │ │ ├── content-security-policy.md │ │ ├── doctype.md │ │ ├── dragging-svgs.md │ │ ├── drop-animation.md │ │ ├── how-we-detect-scroll-containers.md │ │ ├── how-we-use-dom-events.md │ │ ├── identifiers.md │ │ ├── preset-styles.md │ │ ├── reparenting.md │ │ ├── responders.md │ │ ├── screen-reader.md │ │ ├── setup-problem-detection-and-error-recovery.md │ │ ├── types.md │ │ └── using-inner-ref.md │ ├── patterns/ │ │ ├── multi-drag.md │ │ ├── tables.md │ │ └── virtual-lists.md │ ├── sensors/ │ │ ├── keyboard.md │ │ ├── mouse.md │ │ ├── sensor-api.md │ │ └── touch.md │ └── support/ │ ├── community-and-addons.md │ ├── engineering-health.md │ ├── media.md │ └── upgrading.md ├── flow-typed/ │ ├── custom/ │ │ ├── cypress.js │ │ └── raf.js │ └── npm/ │ ├── @atlaskit/ │ │ ├── css-reset_vx.x.x.js │ │ └── theme_vx.x.x.js │ ├── @babel/ │ │ ├── core_vx.x.x.js │ │ ├── plugin-proposal-class-properties_vx.x.x.js │ │ ├── plugin-transform-modules-commonjs_vx.x.x.js │ │ ├── plugin-transform-object-assign_vx.x.x.js │ │ ├── plugin-transform-runtime_vx.x.x.js │ │ ├── preset-env_vx.x.x.js │ │ ├── preset-flow_vx.x.x.js │ │ ├── preset-react_vx.x.x.js │ │ └── runtime_vx.x.x.js │ ├── @emotion/ │ │ └── babel-preset-css-prop_vx.x.x.js │ ├── @storybook/ │ │ ├── react_v5.x.x.js │ │ └── theming_vx.x.x.js │ ├── @testing-library/ │ │ └── react_v9.x.x.js │ ├── babel-core_vx.x.x.js │ ├── babel-eslint_vx.x.x.js │ ├── babel-jest_vx.x.x.js │ ├── babel-loader_vx.x.x.js │ ├── babel-plugin-dev-expression_vx.x.x.js │ ├── cross-env_vx.x.x.js │ ├── cypress_vx.x.x.js │ ├── enzyme-adapter-react-16_vx.x.x.js │ ├── enzyme_v3.x.x.js │ ├── eslint-config-airbnb_vx.x.x.js │ ├── eslint-config-prettier_vx.x.x.js │ ├── eslint-plugin-cypress_vx.x.x.js │ ├── eslint-plugin-es5_vx.x.x.js │ ├── eslint-plugin-flowtype_vx.x.x.js │ ├── eslint-plugin-import_vx.x.x.js │ ├── eslint-plugin-jest_vx.x.x.js │ ├── eslint-plugin-jsx-a11y_vx.x.x.js │ ├── eslint-plugin-prettier_vx.x.x.js │ ├── eslint-plugin-react-hooks_vx.x.x.js │ ├── eslint-plugin-react_vx.x.x.js │ ├── eslint_vx.x.x.js │ ├── flow-bin_v0.x.x.js │ ├── fs-extra_vx.x.x.js │ ├── globby_vx.x.x.js │ ├── jest-axe_vx.x.x.js │ ├── jest-junit_vx.x.x.js │ ├── jest-watch-typeahead_vx.x.x.js │ ├── jest_vx.x.x.js │ ├── lighthouse_vx.x.x.js │ ├── markdown-it_vx.x.x.js │ ├── prettier_v1.x.x.js │ ├── react-redux_v7.x.x.js │ ├── react-test-renderer_v16.x.x.js │ ├── redux_v4.x.x.js │ ├── require-from-string_vx.x.x.js │ ├── rimraf_vx.x.x.js │ ├── rollup-plugin-babel_vx.x.x.js │ ├── rollup-plugin-commonjs_vx.x.x.js │ ├── rollup-plugin-json_vx.x.x.js │ ├── rollup-plugin-node-resolve_vx.x.x.js │ ├── rollup-plugin-replace_vx.x.x.js │ ├── rollup-plugin-size-snapshot_vx.x.x.js │ ├── rollup-plugin-strip_vx.x.x.js │ ├── rollup-plugin-terser_vx.x.x.js │ ├── rollup_vx.x.x.js │ ├── styled-components_vx.x.x.js │ ├── stylelint-config-prettier_vx.x.x.js │ ├── stylelint-config-recommended_vx.x.x.js │ ├── stylelint-config-standard_vx.x.x.js │ ├── stylelint-config-styled-components_vx.x.x.js │ ├── stylelint-processor-styled-components_vx.x.x.js │ ├── stylelint_vx.x.x.js │ ├── wait-port_vx.x.x.js │ └── webpack_v4.x.x.js ├── jest.config.js ├── package.json ├── renovate.json ├── rollup.config.js ├── server-ports.js ├── src/ │ ├── animation.js │ ├── debug/ │ │ ├── middleware/ │ │ │ ├── action-timing-average.js │ │ │ ├── action-timing.js │ │ │ ├── log.js │ │ │ └── user-timing.js │ │ └── timings.js │ ├── dev-warning.js │ ├── empty.js │ ├── index.js │ ├── invariant.js │ ├── native-with-fallback.js │ ├── screen-reader-message-preset.js │ ├── state/ │ │ ├── action-creators.js │ │ ├── auto-scroller/ │ │ │ ├── auto-scroller-types.js │ │ │ ├── can-scroll.js │ │ │ ├── fluid-scroller/ │ │ │ │ ├── config.js │ │ │ │ ├── did-start-in-scrollable-area.js │ │ │ │ ├── get-best-scrollable-droppable.js │ │ │ │ ├── get-droppable-scroll-change.js │ │ │ │ ├── get-percentage.js │ │ │ │ ├── get-scroll/ │ │ │ │ │ ├── adjust-for-size-limits.js │ │ │ │ │ ├── get-scroll-on-axis/ │ │ │ │ │ │ ├── dampen-value-by-time.js │ │ │ │ │ │ ├── get-distance-thresholds.js │ │ │ │ │ │ ├── get-value-from-distance.js │ │ │ │ │ │ ├── get-value.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── min-scroll.js │ │ │ │ │ └── index.js │ │ │ │ ├── get-window-scroll-change.js │ │ │ │ ├── index.js │ │ │ │ └── scroll.js │ │ │ ├── index.js │ │ │ └── jump-scroller.js │ │ ├── axis.js │ │ ├── calculate-drag-impact/ │ │ │ └── calculate-reorder-impact.js │ │ ├── can-start-drag.js │ │ ├── create-store.js │ │ ├── did-start-after-critical.js │ │ ├── dimension-marshal/ │ │ │ ├── dimension-marshal-types.js │ │ │ ├── dimension-marshal.js │ │ │ ├── get-initial-publish.js │ │ │ └── while-dragging-publisher.js │ │ ├── dimension-structures.js │ │ ├── droppable/ │ │ │ ├── get-droppable.js │ │ │ ├── is-home-of.js │ │ │ ├── scroll-droppable.js │ │ │ ├── should-use-placeholder.js │ │ │ ├── util/ │ │ │ │ ├── clip.js │ │ │ │ └── get-subject.js │ │ │ ├── what-is-dragged-over-from-result.js │ │ │ ├── what-is-dragged-over.js │ │ │ └── with-placeholder.js │ │ ├── get-center-from-impact/ │ │ │ ├── get-client-border-box-center/ │ │ │ │ ├── get-client-from-page-border-box-center.js │ │ │ │ └── index.js │ │ │ ├── get-page-border-box-center/ │ │ │ │ ├── index.js │ │ │ │ ├── when-combining.js │ │ │ │ └── when-reordering.js │ │ │ └── move-relative-to.js │ │ ├── get-combined-item-displacement.js │ │ ├── get-displaced-by.js │ │ ├── get-displacement-groups.js │ │ ├── get-drag-impact/ │ │ │ ├── get-combine-impact.js │ │ │ ├── get-reorder-impact.js │ │ │ └── index.js │ │ ├── get-draggables-inside-droppable.js │ │ ├── get-droppable-over.js │ │ ├── get-frame.js │ │ ├── get-home-location.js │ │ ├── get-impact-location.js │ │ ├── get-is-displaced.js │ │ ├── get-lift-effect.js │ │ ├── get-max-scroll.js │ │ ├── is-movement-allowed.js │ │ ├── is-within.js │ │ ├── middleware/ │ │ │ ├── auto-scroll.js │ │ │ ├── dimension-marshal-stopper.js │ │ │ ├── drop/ │ │ │ │ ├── drop-animation-finish-middleware.js │ │ │ │ ├── drop-animation-flush-on-scroll-middleware.js │ │ │ │ ├── drop-middleware.js │ │ │ │ ├── get-drop-duration.js │ │ │ │ ├── get-drop-impact.js │ │ │ │ ├── get-new-home-client-offset.js │ │ │ │ └── index.js │ │ │ ├── focus.js │ │ │ ├── lift.js │ │ │ ├── pending-drop.js │ │ │ ├── responders/ │ │ │ │ ├── async-marshal.js │ │ │ │ ├── expiring-announce.js │ │ │ │ ├── index.js │ │ │ │ ├── is-equal.js │ │ │ │ ├── publisher.js │ │ │ │ └── responders-middleware.js │ │ │ ├── scroll-listener.js │ │ │ ├── style.js │ │ │ └── util/ │ │ │ └── validate-dimensions.js │ │ ├── move-in-direction/ │ │ │ ├── index.js │ │ │ ├── move-cross-axis/ │ │ │ │ ├── get-best-cross-axis-droppable.js │ │ │ │ ├── get-closest-draggable.js │ │ │ │ ├── index.js │ │ │ │ ├── move-to-new-droppable.js │ │ │ │ └── without-starting-displacement.js │ │ │ ├── move-in-direction-types.js │ │ │ └── move-to-next-place/ │ │ │ ├── index.js │ │ │ ├── is-totally-visible-in-new-location.js │ │ │ ├── move-to-next-combine/ │ │ │ │ └── index.js │ │ │ └── move-to-next-index/ │ │ │ ├── from-combine.js │ │ │ ├── from-reorder.js │ │ │ └── index.js │ │ ├── no-impact.js │ │ ├── patch-dimension-map.js │ │ ├── patch-droppable-map.js │ │ ├── position.js │ │ ├── post-reducer/ │ │ │ └── when-moving/ │ │ │ ├── refresh-snap.js │ │ │ └── update.js │ │ ├── publish-while-dragging-in-virtual/ │ │ │ ├── adjust-additions-for-scroll-changes.js │ │ │ ├── index.js │ │ │ └── offset-draggable.js │ │ ├── recompute-placeholders.js │ │ ├── rect.js │ │ ├── reducer.js │ │ ├── registry/ │ │ │ ├── create-registry.js │ │ │ ├── registry-types.js │ │ │ └── use-registry.js │ │ ├── remove-draggable-from-list.js │ │ ├── scroll-viewport.js │ │ ├── spacing.js │ │ ├── store-types.js │ │ ├── update-displacement-visibility/ │ │ │ ├── recompute.js │ │ │ └── speculatively-increase.js │ │ ├── visibility/ │ │ │ ├── is-partially-visible-through-frame.js │ │ │ ├── is-position-in-frame.js │ │ │ ├── is-totally-visible-through-frame-on-axis.js │ │ │ ├── is-totally-visible-through-frame.js │ │ │ └── is-visible.js │ │ └── with-scroll-change/ │ │ ├── with-all-displacement.js │ │ ├── with-droppable-displacement.js │ │ ├── with-droppable-scroll.js │ │ └── with-viewport-displacement.js │ ├── types.js │ └── view/ │ ├── animate-in-out/ │ │ ├── animate-in-out.jsx │ │ └── index.js │ ├── check-is-valid-inner-ref.js │ ├── context/ │ │ ├── app-context.js │ │ ├── droppable-context.js │ │ └── store-context.js │ ├── data-attributes.js │ ├── drag-drop-context/ │ │ ├── app.jsx │ │ ├── check-doctype.js │ │ ├── check-react-version.js │ │ ├── drag-drop-context-types.js │ │ ├── drag-drop-context.jsx │ │ ├── error-boundary.jsx │ │ ├── index.js │ │ ├── use-startup-validation.js │ │ └── use-unique-context-id.js │ ├── draggable/ │ │ ├── connected-draggable.js │ │ ├── draggable-api.jsx │ │ ├── draggable-types.js │ │ ├── draggable.jsx │ │ ├── get-style.js │ │ ├── index.js │ │ └── use-validation.js │ ├── droppable/ │ │ ├── connected-droppable.js │ │ ├── droppable-types.js │ │ ├── droppable.jsx │ │ ├── index.js │ │ └── use-validation.js │ ├── event-bindings/ │ │ ├── bind-events.js │ │ └── event-types.js │ ├── get-body-element.js │ ├── get-border-box-center-position.js │ ├── get-document-element.js │ ├── get-elements/ │ │ ├── find-drag-handle.js │ │ └── find-draggable.js │ ├── is-strict-equal.js │ ├── is-type-of-element/ │ │ ├── is-element.js │ │ ├── is-html-element.js │ │ └── is-svg-element.js │ ├── key-codes.js │ ├── placeholder/ │ │ ├── index.js │ │ ├── placeholder-types.js │ │ └── placeholder.jsx │ ├── scroll-listener.js │ ├── throw-if-invalid-inner-ref.js │ ├── use-announcer/ │ │ ├── index.js │ │ └── use-announcer.js │ ├── use-dev-setup-warning.js │ ├── use-dev.js │ ├── use-draggable-publisher/ │ │ ├── get-dimension.js │ │ ├── index.js │ │ └── use-draggable-publisher.js │ ├── use-droppable-publisher/ │ │ ├── check-for-nested-scroll-container.js │ │ ├── get-closest-scrollable.js │ │ ├── get-dimension.js │ │ ├── get-env.js │ │ ├── get-listener-options.js │ │ ├── get-scroll.js │ │ ├── index.js │ │ ├── is-in-fixed-container.js │ │ └── use-droppable-publisher.js │ ├── use-focus-marshal/ │ │ ├── focus-marshal-types.js │ │ ├── index.js │ │ └── use-focus-marshal.js │ ├── use-hidden-text-element/ │ │ ├── index.js │ │ └── use-hidden-text-element.js │ ├── use-isomorphic-layout-effect.js │ ├── use-previous-ref.js │ ├── use-required-context.js │ ├── use-sensor-marshal/ │ │ ├── closest.js │ │ ├── find-closest-draggable-id-from-event.js │ │ ├── index.js │ │ ├── is-event-in-interactive-element.js │ │ ├── lock.js │ │ ├── sensors/ │ │ │ ├── use-keyboard-sensor.js │ │ │ ├── use-mouse-sensor.js │ │ │ ├── use-touch-sensor.js │ │ │ └── util/ │ │ │ ├── prevent-standard-key-events.js │ │ │ └── supported-page-visibility-event-name.js │ │ ├── use-sensor-marshal.js │ │ └── use-validate-sensor-hooks.js │ ├── use-style-marshal/ │ │ ├── get-styles.js │ │ ├── index.js │ │ ├── style-marshal-types.js │ │ └── use-style-marshal.js │ ├── use-unique-id.js │ ├── visually-hidden-style.js │ └── window/ │ ├── get-max-window-scroll.js │ ├── get-viewport.js │ ├── get-window-from-el.js │ ├── get-window-scroll.js │ └── scroll-window.js ├── stories/ │ ├── .eslintrc.js │ ├── 1-single-vertical-list.stories.js │ ├── 10-table.stories.js │ ├── 11-portal.stories.js │ ├── 12-dynamic.stories.js │ ├── 15-on-before-capture.stories.js │ ├── 2-single-horizontal.stories.js │ ├── 20-super-simple.stories.js │ ├── 21-change-on-drag-start.stories.js │ ├── 25-fixed-list.stories.js │ ├── 3-board.stories.stories.js │ ├── 30-custom-drop.stories.js │ ├── 35-function-component.stories.js │ ├── 4-complex-vertical-list.stories.js │ ├── 40-programmatic.stories.js │ ├── 45-virtual.stories.js │ ├── 5-multiple-vertical-lists.stories.js │ ├── 50-multiple-contexts.stories.js │ ├── 55-mixed-sizes.stories.js │ ├── 6-multiple-horizontal-lists.stories.js │ ├── 7-interactive-elements.stories.js │ ├── 8-accessibility.stories.js │ ├── 9-multi-drag.stories.js │ ├── 99-debug.stories.js │ └── src/ │ ├── accessible/ │ │ ├── blur-context.js │ │ ├── data.js │ │ ├── task-app.jsx │ │ ├── task-list.jsx │ │ └── task.jsx │ ├── board/ │ │ ├── board.jsx │ │ └── column.jsx │ ├── constants.js │ ├── custom-drop/ │ │ ├── funny-drop.jsx │ │ └── no-drop.jsx │ ├── data.js │ ├── dynamic/ │ │ ├── lazy-loading.jsx │ │ └── with-controls.jsx │ ├── fixed-list/ │ │ └── fixed-sidebar.jsx │ ├── function-component/ │ │ └── quote-app.jsx │ ├── horizontal/ │ │ └── author-app.jsx │ ├── interactive-elements/ │ │ └── interactive-elements-app.jsx │ ├── mixed-sizes/ │ │ ├── mixed-size-items.jsx │ │ ├── mixed-size-lists-experiment.jsx │ │ └── mixed-size-lists.jsx │ ├── multi-drag/ │ │ ├── column.jsx │ │ ├── data.js │ │ ├── task-app.jsx │ │ ├── task.jsx │ │ ├── types.js │ │ └── utils.js │ ├── multiple-horizontal/ │ │ └── quote-app.jsx │ ├── multiple-vertical/ │ │ └── quote-app.jsx │ ├── on-before-capture/ │ │ └── adding-things.jsx │ ├── portal/ │ │ └── portal-app.jsx │ ├── primatives/ │ │ ├── author-item.jsx │ │ ├── author-list.jsx │ │ ├── quote-item.jsx │ │ ├── quote-list.jsx │ │ └── title.jsx │ ├── programmatic/ │ │ ├── multiple-contexts.jsx │ │ ├── runsheet.jsx │ │ └── with-controls.jsx │ ├── reorder.js │ ├── simple/ │ │ ├── simple-mixed-spacing.jsx │ │ ├── simple-scrollable.jsx │ │ └── simple.jsx │ ├── table/ │ │ ├── with-clone.jsx │ │ ├── with-dimension-locking.jsx │ │ ├── with-fixed-columns.jsx │ │ └── with-portal.jsx │ ├── types.js │ ├── vertical/ │ │ └── quote-app.jsx │ ├── vertical-grouped/ │ │ └── quote-app.jsx │ ├── vertical-nested/ │ │ ├── quote-app.jsx │ │ ├── quote-list.jsx │ │ └── types.js │ └── virtual/ │ ├── quote-count-chooser.jsx │ ├── react-virtualized/ │ │ ├── board.jsx │ │ ├── list.jsx │ │ └── window-list.jsx │ └── react-window/ │ ├── board.jsx │ └── list.jsx └── test/ ├── .eslintrc.js ├── env-setup.js ├── test-flow-types.js ├── test-setup.js ├── unit/ │ ├── dev-warning.spec.js │ ├── docs/ │ │ ├── content.spec.js │ │ └── no-broken-links.spec.js │ ├── health/ │ │ ├── drop-dev-warnings-for-prod.spec.js │ │ └── src-file-name-convention.spec.js │ ├── integration/ │ │ ├── accessibility/ │ │ │ └── axe-audit.spec.js │ │ ├── body-removal-before-unmount.spec.js │ │ ├── combine-on-start.spec.js │ │ ├── disable-on-start.spec.js │ │ ├── drag-drop-context/ │ │ │ ├── check-doctype.spec.js │ │ │ ├── check-react-version.spec.js │ │ │ ├── clashing-with-consumers-redux.spec.js │ │ │ ├── error-handling/ │ │ │ │ ├── error-in-react-tree.spec.js │ │ │ │ └── error-on-window.spec.js │ │ │ ├── on-before-capture/ │ │ │ │ ├── additions.spec.js │ │ │ │ └── removals.spec.js │ │ │ ├── reset-server-context.spec.js │ │ │ └── unmount.spec.js │ │ ├── drag-handle/ │ │ │ ├── keyboard-sensor/ │ │ │ │ ├── directional-movement.spec.js │ │ │ │ ├── no-click-blocking.spec.js │ │ │ │ ├── prevent-keyboard-scroll.spec.js │ │ │ │ ├── prevent-standard-keys-while-dragging.spec.js │ │ │ │ ├── starting-a-drag.spec.js │ │ │ │ └── stopping-a-drag.spec.js │ │ │ ├── mouse-sensor/ │ │ │ │ ├── cancel-while-pending.spec.js │ │ │ │ ├── click-blocking.spec.js │ │ │ │ ├── force-press.spec.js │ │ │ │ ├── prevent-standard-keys-while-dragging.spec.js │ │ │ │ ├── starting-a-dragging.spec.js │ │ │ │ └── stopping-a-drag.spec.js │ │ │ ├── sensor-marshal/ │ │ │ │ ├── click-blocking.spec.js │ │ │ │ ├── force-releasing-locks.spec.js │ │ │ │ ├── is-lock-claimed.spec.js │ │ │ │ ├── lock-context-isolation.spec.js │ │ │ │ ├── move-throttling.spec.js │ │ │ │ ├── no-double-lift.spec.js │ │ │ │ ├── obtaining-lock.spec.js │ │ │ │ └── outdated-locks.spec.js │ │ │ ├── shared-behaviours/ │ │ │ │ ├── abort-on-error.spec.js │ │ │ │ ├── cancel-while-dragging.spec.js │ │ │ │ ├── cannot-start-when-disabled.spec.js │ │ │ │ ├── cannot-start-when-something-else-has-lock.spec.js │ │ │ │ ├── cannot-start-when-unmounted.spec.js │ │ │ │ ├── cleanup.spec.js │ │ │ │ ├── contenteditable.spec.js │ │ │ │ ├── disable-default-sensors.spec.js │ │ │ │ ├── interactive-elements.spec.js │ │ │ │ ├── lock-released-mid-drag.spec.js │ │ │ │ ├── lock-released-pre-drag.spec.js │ │ │ │ ├── nested-handles.spec.js │ │ │ │ ├── no-dragging-svgs.spec.js │ │ │ │ ├── parent-rendering-should-not-kill-drag.spec.js │ │ │ │ └── validate-controls.spec.js │ │ │ └── touch-sensor/ │ │ │ ├── cancel-while-pending.spec.js │ │ │ ├── click-blocking.spec.js │ │ │ ├── context-menu-opt-out.spec.js │ │ │ ├── force-press.spec.js │ │ │ ├── starting-a-drag.spec.js │ │ │ ├── stopping-a-drag.spec.js │ │ │ └── unmounted-while-pending-timer-running.spec.js │ │ ├── draggable/ │ │ │ ├── combined-with.spec.js │ │ │ ├── dragging.spec.js │ │ │ ├── dropping.spec.js │ │ │ ├── moving-out-of-the-way.spec.js │ │ │ ├── portal.spec.js │ │ │ ├── resting.spec.js │ │ │ └── validation.spec.js │ │ ├── droppable/ │ │ │ ├── clone.spec.js │ │ │ └── placeholder.spec.js │ │ ├── reorder-render-sync.spec.js │ │ ├── responders-integration.spec.js │ │ ├── responders-timing.spec.js │ │ ├── server-side-rendering/ │ │ │ ├── __snapshots__/ │ │ │ │ └── server-rendering.spec.js.snap │ │ │ ├── client-hydration.spec.js │ │ │ └── server-rendering.spec.js │ │ └── util/ │ │ ├── app.jsx │ │ ├── board.jsx │ │ ├── controls.js │ │ ├── expanded-mouse.js │ │ └── helpers.js │ ├── state/ │ │ ├── auto-scroll/ │ │ │ ├── can-scroll.spec.js │ │ │ ├── choosing-the-right-scroller.spec.js │ │ │ ├── fluid-scroller/ │ │ │ │ ├── big-draggables.spec.js │ │ │ │ ├── droppable-scrolling.spec.js │ │ │ │ ├── lifecycle.spec.js │ │ │ │ ├── time-dampening.spec.js │ │ │ │ ├── util/ │ │ │ │ │ ├── drag-to.js │ │ │ │ │ ├── for-each.js │ │ │ │ │ ├── get-args-mock.js │ │ │ │ │ ├── get-droppable.js │ │ │ │ │ └── viewport.js │ │ │ │ ├── window-before-droppable.spec.js │ │ │ │ └── window-scrolling.spec.js │ │ │ └── jump-scroller.spec.js │ │ ├── can-start-drag.spec.js │ │ ├── dimension-structures.spec.js │ │ ├── droppable/ │ │ │ ├── clip.spec.js │ │ │ ├── get-droppable.spec.js │ │ │ ├── get-subject.spec.js │ │ │ ├── is-home-of.spec.js │ │ │ ├── scroll-droppable.spec.js │ │ │ ├── what-is-dragged-over.spec.js │ │ │ └── with-placeholder.spec.js │ │ ├── get-center-from-impact/ │ │ │ ├── get-client-border-box-center.spec.js │ │ │ ├── get-client-from-page-border-box-center.spec.js │ │ │ ├── get-page-border-box-center/ │ │ │ │ ├── combine/ │ │ │ │ │ ├── when-combining.spec.js │ │ │ │ │ └── with-droppable-scroll.spec.js │ │ │ │ ├── in-home-location.spec.js │ │ │ │ ├── over-nothing.spec.js │ │ │ │ └── reorder/ │ │ │ │ ├── in-empty-list.spec.js │ │ │ │ ├── nothing-displaced.spec.js │ │ │ │ ├── there-is-displacement.spec.js │ │ │ │ └── with-droppable-scroll.spec.js │ │ │ └── move-relative-to.spec.js │ │ ├── get-displacement-groups/ │ │ │ ├── get-displacement-groups.spec.js │ │ │ └── use-initial-position-not-displaced.spec.js │ │ ├── get-drag-impact/ │ │ │ ├── combine/ │ │ │ │ ├── is-combine-disabled.spec.js │ │ │ │ ├── should-not-combine-with-home-draggable.spec.js │ │ │ │ ├── started-after-critical.spec.js │ │ │ │ ├── started-before-critical.spec.js │ │ │ │ └── with-droppable-scroll.spec.js │ │ │ ├── is-disabled.spec.js │ │ │ ├── over-nothing.spec.js │ │ │ ├── reorder/ │ │ │ │ ├── over-foreign-list/ │ │ │ │ │ ├── did-not-start-displaced.spec.js │ │ │ │ │ ├── move-backward-from-last-item.spec.js │ │ │ │ │ └── move-past-last-item.spec.js │ │ │ │ └── over-home-list/ │ │ │ │ ├── displacement-visibility.spec.js │ │ │ │ ├── move-past-last-item.spec.js │ │ │ │ ├── started-after-critical.spec.js │ │ │ │ ├── started-before-critical.spec.js │ │ │ │ └── with-droppable-scroll.spec.js │ │ │ └── util/ │ │ │ ├── get-combine-threshold.js │ │ │ └── get-offset-for-edge.js │ │ ├── get-draggables-inside-droppable.spec.js │ │ ├── get-droppable-over/ │ │ │ ├── center-is-over.spec.js │ │ │ ├── is-disabled.spec.js │ │ │ ├── is-not-visible.spec.js │ │ │ ├── is-over-nothing.spec.js │ │ │ ├── item-edge-is-over-list-center.spec.js │ │ │ ├── item-is-totally-over.spec.js │ │ │ └── preferencing.spec.js │ │ ├── get-lift-effect/ │ │ │ └── get-lift-effect.spec.js │ │ ├── is-within.spec.js │ │ ├── middleware/ │ │ │ ├── auto-scroll.spec.js │ │ │ ├── dimension-marshal-stopper.spec.js │ │ │ ├── drop/ │ │ │ │ ├── conditionally-animate-drop.spec.js │ │ │ │ ├── drop-animation-finish-middleware.spec.js │ │ │ │ ├── drop-animation-flush-on-scroll-middleware.spec.js │ │ │ │ ├── drop-impact.spec.js │ │ │ │ ├── drop-position.spec.js │ │ │ │ ├── get-drop-duration.spec.js │ │ │ │ ├── result-impact-mismatch.spec.js │ │ │ │ └── timing.spec.js │ │ │ ├── lift.spec.js │ │ │ ├── pending-drop.spec.js │ │ │ ├── responders/ │ │ │ │ ├── abort.spec.js │ │ │ │ ├── announcements.spec.js │ │ │ │ ├── drop.spec.js │ │ │ │ ├── flushing.spec.js │ │ │ │ ├── repeated-use.spec.js │ │ │ │ ├── start.spec.js │ │ │ │ ├── update.spec.js │ │ │ │ └── util/ │ │ │ │ ├── get-announce-stub.js │ │ │ │ ├── get-completed-with-result.js │ │ │ │ └── get-responders-stub.js │ │ │ ├── style.spec.js │ │ │ ├── util/ │ │ │ │ ├── create-store.js │ │ │ │ └── pass-through-middleware.js │ │ │ └── validate-indexes.spec.js │ │ ├── move-in-direction/ │ │ │ ├── move-cross-axis/ │ │ │ │ ├── get-best-cross-axis-droppable.spec.js │ │ │ │ ├── get-closest-draggable/ │ │ │ │ │ ├── with-starting-displacement.spec.js │ │ │ │ │ └── without-starting-displacement.spec.js │ │ │ │ ├── move-to-new-droppable/ │ │ │ │ │ ├── to-foreign-list.spec.js │ │ │ │ │ └── to-home-list.spec.js │ │ │ │ └── no-visible-targets-in-list.spec.js │ │ │ ├── move-in-direction.spec.js │ │ │ └── move-to-next-place/ │ │ │ ├── move-to-next-combine/ │ │ │ │ ├── in-foreign-list.legacy.spec.js │ │ │ │ └── in-home-list.legacy.spec.js │ │ │ ├── move-to-next-index/ │ │ │ │ ├── from-combine/ │ │ │ │ │ ├── did-not-start-after-critical.spec.js │ │ │ │ │ └── started-after-critical.spec.js │ │ │ │ └── from-reorder/ │ │ │ │ ├── in-foreign-list.spec.js │ │ │ │ └── in-home-list.spec.js │ │ │ └── moving-to-invisible-place/ │ │ │ ├── not-visible-in-droppable.spec.js │ │ │ └── not-visible-in-viewport.spec.js │ │ ├── position.spec.js │ │ ├── post-reducer/ │ │ │ └── .gitkeep │ │ ├── publish-while-dragging/ │ │ │ ├── adjust-additions-for-scroll-change.spec.js │ │ │ ├── displacement-animation.spec.js │ │ │ ├── droppable-scroll-change.spec.js │ │ │ ├── nothing-changed.spec.js │ │ │ ├── phase-change.spec.js │ │ │ ├── recompute-after-critical.spec.js │ │ │ └── util.js │ │ ├── recompute-placeholders.spec.js │ │ ├── registry/ │ │ │ ├── cleanup.spec.js │ │ │ ├── draggable-registration.spec.js │ │ │ ├── droppable-registration.spec.js │ │ │ ├── event-listeners.spec.js │ │ │ ├── queries.spec.js │ │ │ └── use-registry.spec.js │ │ ├── scroll-viewport.spec.js │ │ ├── spacing.spec.js │ │ ├── update-displacement-visibility/ │ │ │ ├── recompute.spec.js │ │ │ └── speculative-displacement.spec.js │ │ └── visibility/ │ │ ├── is-partially-visible-through-frame.spec.js │ │ ├── is-partially-visible.spec.js │ │ ├── is-position-in-frame.spec.js │ │ ├── is-totally-visible-on-axis.spec.js │ │ ├── is-totally-visible-through-frame.spec.js │ │ └── is-totally-visible.spec.js │ └── view/ │ ├── animate-in-out/ │ │ ├── animate-in-out.spec.js │ │ └── child-rendering.spec.js │ ├── announcer.spec.js │ ├── connected-draggable/ │ │ ├── child-render-behaviour.spec.js │ │ ├── combine-target-for.spec.js │ │ ├── combine-with.spec.js │ │ ├── dragging.spec.js │ │ ├── dropping-something-else.spec.js │ │ ├── dropping-with-result-mismatch.spec.js │ │ ├── dropping.spec.js │ │ ├── nothing-is-dragging.spec.js │ │ ├── selector-isolation.spec.js │ │ ├── something-else-dragging-in-virtual.spec.js │ │ ├── something-else-is-dragging.spec.js │ │ └── util/ │ │ ├── get-dragging-map-props.js │ │ ├── get-own-props.js │ │ ├── get-secondary-map-props.js │ │ └── get-snapshot.js │ ├── connected-droppable/ │ │ ├── child-render-behaviour.spec.js │ │ ├── disabled.spec.js │ │ ├── dragging.spec.js │ │ ├── dropping.spec.js │ │ ├── post-drop.spec.js │ │ ├── selector-isolation.spec.js │ │ └── util/ │ │ ├── get-own-props.js │ │ ├── resting-props.js │ │ └── with-combine-impact.js │ ├── dimension-marshal/ │ │ ├── droppable-passthrough.spec.js │ │ ├── initial-publish.spec.js │ │ ├── publish-while-dragging.spec.js │ │ └── util.js │ ├── drag-drop-context/ │ │ └── content-security-protection-nonce.spec.js │ ├── droppable/ │ │ ├── home-list-placeholder-cleanup.spec.js │ │ ├── inner-ref-validation.spec.js │ │ ├── own-props-validation.spec.js │ │ ├── pass-through-snapshot.spec.js │ │ ├── placeholder-setup-warning.spec.js │ │ ├── placeholder.spec.js │ │ ├── update-max-window-scroll.spec.js │ │ └── util/ │ │ ├── get-props.js │ │ ├── get-stubber.js │ │ └── mount.js │ ├── is-type-of-element/ │ │ ├── is-element.spec.js │ │ ├── is-html-element.spec.js │ │ ├── is-svg-element.spec.js │ │ └── util/ │ │ └── get-svg.js │ ├── placeholder/ │ │ ├── animated-mount.spec.js │ │ ├── on-close.spec.js │ │ ├── on-transition-end.spec.js │ │ └── util/ │ │ ├── data.js │ │ ├── expect.js │ │ ├── get-placeholder-style.js │ │ └── placeholder-with-class.js │ ├── style-marshal/ │ │ ├── get-styles.spec.js │ │ └── style-marshal.spec.js │ ├── use-draggable-publisher.spec.js │ └── use-droppable-publisher/ │ ├── forced-scroll.spec.js │ ├── is-combined-enabled-change.spec.js │ ├── is-element-scrollable.spec.js │ ├── is-enabled-change.spec.js │ ├── publishing.spec.js │ ├── recollection.spec.js │ ├── registration.spec.js │ ├── scroll-watching.spec.js │ └── util/ │ └── shared.js └── util/ ├── after-point.js ├── before-point.js ├── cause-runtime-error.js ├── clone-impact.js ├── console.js ├── create-ref.js ├── dimension-marshal.js ├── dimension.js ├── dragging-state.js ├── force-update.js ├── get-simple-state-preset.js ├── impact.js ├── no-after-critical.js ├── pass-through-props.jsx ├── preset-action-args.js ├── registry.js ├── reorder.js ├── set-window-scroll-size.js ├── set-window-scroll.js ├── spacing.js ├── try-clean-prototype-stubs.js ├── user-input-util.js └── viewport.js