@esri/solutions-components 0.6.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1219) hide show
  1. package/dist/assets/t9n/card-manager/resources.json +2 -1
  2. package/dist/assets/t9n/card-manager/resources_en.json +2 -1
  3. package/dist/assets/t9n/comment-card/resources.json +2 -1
  4. package/dist/assets/t9n/comment-card/resources_en.json +2 -1
  5. package/dist/assets/t9n/crowdsource-manager/resources.json +2 -1
  6. package/dist/assets/t9n/crowdsource-manager/resources_en.json +2 -1
  7. package/dist/assets/t9n/edit-card/resources.json +3 -0
  8. package/dist/assets/t9n/edit-card/resources_en.json +3 -0
  9. package/dist/assets/t9n/info-card/resources.json +6 -0
  10. package/dist/assets/t9n/info-card/resources_en.json +6 -0
  11. package/dist/assets/t9n/layer-table/resources.json +10 -1
  12. package/dist/assets/t9n/layer-table/resources_en.json +10 -1
  13. package/dist/assets/t9n/map-card/resources.json +1 -7
  14. package/dist/assets/t9n/map-card/resources_en.json +1 -7
  15. package/dist/assets/t9n/map-tools/resources.json +9 -0
  16. package/dist/assets/t9n/map-tools/resources_en.json +9 -0
  17. package/dist/assets/t9n/media-card/resources.json +2 -1
  18. package/dist/assets/t9n/media-card/resources_en.json +2 -1
  19. package/dist/cjs/ExpandToggle-df2e8eee.js +117 -0
  20. package/dist/cjs/FloatingArrow-d1fa2c13.js +48 -0
  21. package/dist/cjs/Heading-9abe4b02.js +25 -0
  22. package/dist/cjs/app-globals-953584e9.js +64 -0
  23. package/dist/cjs/ar-88fbb2bf.js +98 -0
  24. package/dist/cjs/array-38a9541f.js +17 -0
  25. package/dist/cjs/bg-53305961.js +79 -0
  26. package/dist/cjs/browser-e514d838.js +24 -0
  27. package/dist/cjs/bs-8fb0c8a8.js +48 -0
  28. package/dist/cjs/buffer-tools_4.cjs.entry.js +17 -14
  29. package/dist/cjs/ca-33170ec7.js +68 -0
  30. package/dist/cjs/calcite-accordion-item.cjs.entry.js +10 -7
  31. package/dist/cjs/calcite-action-bar_2.cjs.entry.js +655 -0
  32. package/dist/cjs/calcite-action-group_2.cjs.entry.js +384 -0
  33. package/dist/cjs/calcite-action-pad.cjs.entry.js +15 -15
  34. package/dist/cjs/calcite-action_2.cjs.entry.js +407 -69
  35. package/dist/cjs/calcite-alert.cjs.entry.js +23 -12
  36. package/dist/cjs/calcite-avatar.cjs.entry.js +5 -5
  37. package/dist/cjs/calcite-block-section.cjs.entry.js +8 -8
  38. package/dist/cjs/calcite-block.cjs.entry.js +170 -0
  39. package/dist/cjs/calcite-button.cjs.entry.js +15 -12
  40. package/dist/cjs/calcite-card.cjs.entry.js +9 -9
  41. package/dist/cjs/calcite-checkbox.cjs.entry.js +11 -8
  42. package/dist/cjs/calcite-chip-group.cjs.entry.js +9 -6
  43. package/dist/cjs/calcite-chip.cjs.entry.js +14 -11
  44. package/dist/cjs/calcite-color-picker-hex-input_2.cjs.entry.js +8 -8
  45. package/dist/cjs/calcite-color-picker.cjs.entry.js +15 -12
  46. package/dist/cjs/calcite-combobox-item-group.cjs.entry.js +5 -5
  47. package/dist/cjs/calcite-combobox_6.cjs.entry.js +1868 -0
  48. package/dist/cjs/calcite-date-picker-day_3.cjs.entry.js +17 -10
  49. package/dist/cjs/calcite-date-picker.cjs.entry.js +11 -11
  50. package/dist/cjs/calcite-fab.cjs.entry.js +13 -6
  51. package/dist/cjs/calcite-filter_3.cjs.entry.js +778 -0
  52. package/dist/cjs/calcite-flow-item.cjs.entry.js +14 -11
  53. package/dist/cjs/calcite-flow.cjs.entry.js +2 -2
  54. package/dist/cjs/calcite-graph.cjs.entry.js +3 -3
  55. package/dist/cjs/calcite-handle.cjs.entry.js +136 -0
  56. package/dist/cjs/calcite-icon.cjs.entry.js +6 -6
  57. package/dist/cjs/calcite-inline-editable.cjs.entry.js +14 -11
  58. package/dist/cjs/calcite-input-date-picker.cjs.entry.js +23 -19
  59. package/dist/cjs/calcite-input-number.cjs.entry.js +16 -13
  60. package/dist/cjs/calcite-input-text_4.cjs.entry.js +1852 -0
  61. package/dist/cjs/calcite-input-time-picker-a27cc51a.js +1624 -0
  62. package/dist/cjs/calcite-input-time-picker.cjs.entry.js +15 -14
  63. package/dist/cjs/calcite-input_2.cjs.entry.js +16 -13
  64. package/dist/cjs/calcite-label.cjs.entry.js +5 -5
  65. package/dist/cjs/calcite-link.cjs.entry.js +12 -5
  66. package/dist/cjs/calcite-list-item-group.cjs.entry.js +8 -3
  67. package/dist/cjs/calcite-loader.cjs.entry.js +80 -0
  68. package/dist/cjs/calcite-menu-item.cjs.entry.js +10 -10
  69. package/dist/cjs/calcite-menu.cjs.entry.js +9 -9
  70. package/dist/cjs/calcite-modal.cjs.entry.js +14 -14
  71. package/dist/cjs/calcite-navigation-logo.cjs.entry.js +2 -2
  72. package/dist/cjs/calcite-navigation-user.cjs.entry.js +2 -2
  73. package/dist/cjs/calcite-navigation.cjs.entry.js +5 -5
  74. package/dist/cjs/calcite-notice.cjs.entry.js +139 -0
  75. package/dist/cjs/calcite-option_2.cjs.entry.js +12 -9
  76. package/dist/cjs/calcite-pagination.cjs.entry.js +9 -9
  77. package/dist/cjs/calcite-panel_2.cjs.entry.js +17 -14
  78. package/dist/cjs/calcite-pick-list-group.cjs.entry.js +7 -7
  79. package/dist/cjs/calcite-pick-list-item.cjs.entry.js +15 -12
  80. package/dist/cjs/calcite-pick-list.cjs.entry.js +146 -0
  81. package/dist/cjs/calcite-radio-button-group.cjs.entry.js +35 -6
  82. package/dist/cjs/calcite-radio-button.cjs.entry.js +56 -26
  83. package/dist/cjs/calcite-rating.cjs.entry.js +15 -12
  84. package/dist/cjs/calcite-scrim.cjs.entry.js +44 -9
  85. package/dist/cjs/calcite-segmented-control_2.cjs.entry.js +258 -0
  86. package/dist/cjs/calcite-shell-center-row.cjs.entry.js +6 -6
  87. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +32 -25
  88. package/dist/cjs/calcite-sortable-list.cjs.entry.js +10 -7
  89. package/dist/cjs/calcite-split-button.cjs.entry.js +122 -0
  90. package/dist/cjs/calcite-stack.cjs.entry.js +4 -4
  91. package/dist/cjs/calcite-stepper-item.cjs.entry.js +11 -8
  92. package/dist/cjs/calcite-stepper.cjs.entry.js +3 -3
  93. package/dist/cjs/calcite-switch.cjs.entry.js +11 -8
  94. package/dist/cjs/calcite-text-area.cjs.entry.js +15 -12
  95. package/dist/cjs/calcite-tile-select-group.cjs.entry.js +8 -1
  96. package/dist/cjs/calcite-tile-select.cjs.entry.js +7 -4
  97. package/dist/cjs/calcite-tile.cjs.entry.js +10 -7
  98. package/dist/cjs/calcite-time-picker.cjs.entry.js +10 -10
  99. package/dist/cjs/calcite-tip-manager.cjs.entry.js +9 -9
  100. package/dist/cjs/calcite-tip.cjs.entry.js +10 -10
  101. package/dist/cjs/calcite-tree_3.cjs.entry.js +15 -48
  102. package/dist/cjs/card-manager_3.cjs.entry.js +658 -0
  103. package/dist/cjs/conditionalSlot-981d22ef.js +63 -0
  104. package/dist/cjs/crowdsource-manager.cjs.entry.js +22 -10
  105. package/dist/cjs/cs-00bf51dd.js +144 -0
  106. package/dist/cjs/da-b4fe1bf6.js +63 -0
  107. package/dist/cjs/date-c378755c.js +250 -0
  108. package/dist/cjs/de-9df08c96.js +88 -0
  109. package/dist/cjs/de-at-dac7c3a1.js +87 -0
  110. package/dist/cjs/de-ch-2e005f38.js +87 -0
  111. package/dist/cjs/deduct-calculator.cjs.entry.js +3 -3
  112. package/dist/cjs/dom-af578b3b.js +954 -0
  113. package/dist/cjs/downloadUtils-6d4e269f.js +2729 -0
  114. package/dist/cjs/edit-card_2.cjs.entry.js +339 -0
  115. package/dist/cjs/el-bea67f78.js +63 -0
  116. package/dist/cjs/en-au-1d459a65.js +63 -0
  117. package/dist/cjs/en-ca-edc65793.js +62 -0
  118. package/dist/cjs/en-gb-6346d6a4.js +66 -0
  119. package/dist/cjs/es-aa822160.js +63 -0
  120. package/dist/cjs/es-mx-64988455.js +62 -0
  121. package/dist/cjs/et-e5a47682.js +89 -0
  122. package/dist/cjs/fi-92ac3b85.js +112 -0
  123. package/dist/cjs/filter-56d64d02.js +765 -0
  124. package/dist/cjs/floating-ui-b2a26a9a.js +1874 -0
  125. package/dist/cjs/focusTrapComponent-65d39be9.js +851 -0
  126. package/dist/cjs/form-f62ca3df.js +288 -0
  127. package/dist/cjs/fr-1c9ab5db.js +65 -0
  128. package/dist/cjs/fr-ch-67ccddcd.js +63 -0
  129. package/dist/cjs/guid-100bd1be.js +26 -0
  130. package/dist/cjs/he-2306f19e.js +102 -0
  131. package/dist/cjs/hi-18b2364f.js +62 -0
  132. package/dist/cjs/hr-f47dfd73.js +77 -0
  133. package/dist/cjs/hu-9533083e.js +85 -0
  134. package/dist/cjs/id-b98eb252.js +63 -0
  135. package/dist/cjs/index.es-fc923796.js +10808 -0
  136. package/dist/cjs/interactive-e8f05d26.js +147 -0
  137. package/dist/cjs/interfaces-ad03ec39.js +85 -0
  138. package/dist/cjs/it-43222f60.js +63 -0
  139. package/dist/cjs/it-ch-f9eb4007.js +63 -0
  140. package/dist/cjs/ja-8c6ec082.js +69 -0
  141. package/dist/cjs/key-2522c20b.js +19 -0
  142. package/dist/cjs/ko-d2889748.js +69 -0
  143. package/dist/cjs/label-71d4d3b5.js +136 -0
  144. package/dist/cjs/loadable-6571b6b9.js +69 -0
  145. package/dist/cjs/loader.cjs.js +3 -3
  146. package/dist/cjs/locale-83870af6.js +570 -0
  147. package/dist/cjs/lt-1ebac21f.js +94 -0
  148. package/dist/cjs/lv-cb236d46.js +63 -0
  149. package/dist/cjs/map-tools.cjs.entry.js +111 -0
  150. package/dist/cjs/mapViewUtils-efc49df7.js +369 -0
  151. package/dist/cjs/math-0eb2ec5c.js +28 -0
  152. package/dist/cjs/mk-00e34bda.js +63 -0
  153. package/dist/cjs/nb-6e0d9b4c.js +64 -0
  154. package/dist/cjs/nl-bb4f7d59.js +64 -0
  155. package/dist/cjs/observers-5c9538b2.js +53 -0
  156. package/dist/cjs/openCloseComponent-0b7ace48.js +100 -0
  157. package/dist/cjs/pl-2cf4efab.js +111 -0
  158. package/dist/cjs/pt-4c4a3aa2.js +64 -0
  159. package/dist/cjs/pt-br-6abb7f76.js +62 -0
  160. package/dist/cjs/public-notification.cjs.entry.js +18 -5
  161. package/dist/cjs/resources-11930a56.js +22 -0
  162. package/dist/cjs/resources-31971fd8.js +39 -0
  163. package/dist/cjs/resources-3910592f.js +20 -0
  164. package/dist/cjs/resources-3a47be9f.js +32 -0
  165. package/dist/cjs/resources-6c4c932c.js +2057 -0
  166. package/dist/cjs/resources-c751bdd1.js +50 -0
  167. package/dist/cjs/resources-d4061075.js +27 -0
  168. package/dist/cjs/resources-d8a4240f.js +23 -0
  169. package/dist/cjs/resources-e4e8d49f.js +27 -0
  170. package/dist/cjs/ro-c257efaf.js +63 -0
  171. package/dist/cjs/ru-e31a6ee1.js +123 -0
  172. package/dist/cjs/shared-list-render-d4e4e7b1.js +364 -0
  173. package/dist/cjs/sk-4d6d340c.js +145 -0
  174. package/dist/cjs/sl-01804d73.js +63 -0
  175. package/dist/cjs/solution-configuration.cjs.entry.js +2 -2
  176. package/dist/cjs/solution-contents_3.cjs.entry.js +2 -2
  177. package/dist/cjs/solution-store-bd956f06.js +4100 -0
  178. package/dist/cjs/solutions-components.cjs.js +3 -3
  179. package/dist/cjs/sortableComponent-76967993.js +3087 -0
  180. package/dist/cjs/sr-76730aad.js +98 -0
  181. package/dist/cjs/sv-c1e40108.js +68 -0
  182. package/dist/cjs/t9n-f82f4304.js +100 -0
  183. package/dist/cjs/th-758abef8.js +62 -0
  184. package/dist/cjs/time-a1d60db6.js +208 -0
  185. package/dist/cjs/tr-36efd084.js +63 -0
  186. package/dist/cjs/uk-f5a49848.js +101 -0
  187. package/dist/cjs/utils-300573e5.js +64 -0
  188. package/dist/cjs/utils-369d7746.js +218 -0
  189. package/dist/cjs/utils-46e2a6ec.js +55 -0
  190. package/dist/cjs/utils-cedf26ae.js +87 -0
  191. package/dist/cjs/vi-f87def37.js +67 -0
  192. package/dist/cjs/zh-cn-6d3c38fc.js +91 -0
  193. package/dist/cjs/zh-hk-1bd0e62f.js +68 -0
  194. package/dist/cjs/zh-tw-40912bdf.js +89 -0
  195. package/dist/collection/collection-manifest.json +2 -5
  196. package/dist/collection/components/card-manager/card-manager.css +26 -9
  197. package/dist/collection/components/card-manager/card-manager.js +96 -29
  198. package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +39 -7
  199. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +22 -10
  200. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +1 -1
  201. package/dist/collection/components/deduct-calculator/deduct-calculator.js +5 -5
  202. package/dist/collection/components/edit-card/edit-card.css +54 -0
  203. package/dist/collection/components/edit-card/edit-card.js +294 -0
  204. package/dist/collection/components/info-card/info-card.css +21 -0
  205. package/dist/collection/components/info-card/info-card.js +199 -36
  206. package/dist/collection/components/layer-table/layer-table.css +19 -2
  207. package/dist/collection/components/layer-table/layer-table.js +222 -75
  208. package/dist/collection/components/map-card/map-card.css +8 -2
  209. package/dist/collection/components/map-card/map-card.js +24 -93
  210. package/dist/collection/components/map-layer-picker/map-layer-picker.css +9 -0
  211. package/dist/collection/components/map-layer-picker/map-layer-picker.js +145 -45
  212. package/dist/collection/components/map-select-tools/map-select-tools.js +3 -4
  213. package/dist/collection/components/map-tools/map-tools.css +31 -0
  214. package/dist/collection/components/map-tools/map-tools.js +196 -0
  215. package/dist/collection/components/pdf-download/pdf-download.js +19 -1
  216. package/dist/collection/components/public-notification/public-notification.js +51 -3
  217. package/dist/collection/components/refine-selection/refine-selection.js +2 -2
  218. package/dist/collection/demos/buffer-tools.html +2 -2
  219. package/dist/collection/demos/card-manager.html +49 -3
  220. package/dist/collection/demos/crowdsource-manager.html +15 -5
  221. package/dist/collection/demos/crowdsource-reporter.html +2 -2
  222. package/dist/collection/demos/demo-map.html +2 -2
  223. package/dist/collection/demos/edit-card.html +34 -0
  224. package/dist/collection/demos/index.html +1 -1
  225. package/dist/collection/demos/layer-table.html +2 -2
  226. package/dist/collection/demos/list-item.html +2 -2
  227. package/dist/collection/demos/map-card.html +2 -2
  228. package/dist/collection/demos/map-draw-tools.html +2 -2
  229. package/dist/collection/demos/map-layer-picker.html +2 -2
  230. package/dist/collection/demos/map-select-tools.html +2 -2
  231. package/dist/collection/utils/downloadUtils.js +1 -1
  232. package/dist/collection/utils/downloadUtils.ts +1 -1
  233. package/dist/collection/utils/interfaces.js +5 -0
  234. package/dist/collection/utils/interfaces.ts +18 -6
  235. package/dist/collection/utils/queryUtils.js +39 -2
  236. package/dist/collection/utils/queryUtils.ts +48 -3
  237. package/dist/components/ExpandToggle.js +5 -7
  238. package/dist/components/FloatingArrow.js +1 -1
  239. package/dist/components/Heading.js +1 -1
  240. package/dist/components/action-bar.js +19 -19
  241. package/dist/components/action-group.js +1 -1
  242. package/dist/components/action-menu.js +2 -2
  243. package/dist/components/action.js +4 -2
  244. package/dist/components/alert.js +328 -0
  245. package/dist/components/array.js +1 -1
  246. package/dist/components/avatar.js +2 -2
  247. package/dist/components/browser.js +21 -0
  248. package/dist/components/button.js +4 -2
  249. package/dist/components/calcite-accordion-item.js +6 -3
  250. package/dist/components/calcite-action-pad.js +3 -3
  251. package/dist/components/calcite-alert.js +1 -310
  252. package/dist/components/calcite-block-section.js +1 -1
  253. package/dist/components/calcite-block.js +227 -1
  254. package/dist/components/calcite-card.js +1 -1
  255. package/dist/components/calcite-chip-group.js +4 -2
  256. package/dist/components/calcite-color-picker.js +3 -1
  257. package/dist/components/calcite-combobox-item-group.js +1 -1
  258. package/dist/components/calcite-fab.js +9 -3
  259. package/dist/components/calcite-flow-item.js +4 -2
  260. package/dist/components/calcite-flow.js +1 -1
  261. package/dist/components/calcite-inline-editable.js +4 -2
  262. package/dist/components/calcite-input-date-picker.js +7 -4
  263. package/dist/components/calcite-input-time-picker.js +5 -3
  264. package/dist/components/calcite-list-item-group.js +6 -2
  265. package/dist/components/calcite-menu-item.js +2 -2
  266. package/dist/components/calcite-modal.js +408 -1
  267. package/dist/components/calcite-navigation-logo.js +1 -1
  268. package/dist/components/calcite-navigation-user.js +1 -1
  269. package/dist/components/calcite-navigation.js +2 -2
  270. package/dist/components/calcite-pagination.js +1 -1
  271. package/dist/components/calcite-pick-list.js +159 -1
  272. package/dist/components/calcite-radio-button-group.js +38 -7
  273. package/dist/components/calcite-radio-button.js +50 -21
  274. package/dist/components/calcite-rating.js +4 -2
  275. package/dist/components/calcite-shell-center-row.js +1 -1
  276. package/dist/components/calcite-sortable-list.js +5 -3
  277. package/dist/components/calcite-split-button.js +167 -1
  278. package/dist/components/calcite-stack.js +2 -2
  279. package/dist/components/calcite-stepper-item.js +3 -1
  280. package/dist/components/calcite-stepper.js +1 -1
  281. package/dist/components/calcite-text-area.js +5 -3
  282. package/dist/components/calcite-tile-select-group.js +7 -1
  283. package/dist/components/calcite-tile-select.js +4 -2
  284. package/dist/components/calcite-tip-manager.js +1 -1
  285. package/dist/components/calcite-tip.js +1 -1
  286. package/dist/components/card-manager.js +1 -133
  287. package/dist/components/card-manager2.js +177 -0
  288. package/dist/components/checkbox.js +3 -1
  289. package/dist/components/chip.js +5 -3
  290. package/dist/components/color-picker-hex-input.js +3 -3
  291. package/dist/components/color-picker-swatch.js +2 -2
  292. package/dist/components/combobox-item.js +4 -2
  293. package/dist/components/combobox.js +5 -3
  294. package/dist/components/conditionalSlot.js +1 -1
  295. package/dist/components/crowdsource-manager.js +93 -69
  296. package/dist/components/date-picker-day.js +8 -2
  297. package/dist/components/date-picker-month-header.js +2 -2
  298. package/dist/components/date-picker.js +2 -2
  299. package/dist/components/date.js +1 -1
  300. package/dist/components/deduct-calculator2.js +3 -3
  301. package/dist/components/dom.js +3 -3
  302. package/dist/components/downloadUtils.js +2 -2
  303. package/dist/components/dropdown-group.js +1 -1
  304. package/dist/components/dropdown-item.js +1 -1
  305. package/dist/components/dropdown.js +6 -4
  306. package/dist/components/edit-card.d.ts +11 -0
  307. package/dist/components/edit-card.js +11 -0
  308. package/dist/components/edit-card2.js +201 -0
  309. package/dist/components/filter.js +4 -2
  310. package/dist/components/filter2.js +1 -1
  311. package/dist/components/floating-ui.js +228 -179
  312. package/dist/components/focusTrapComponent.js +47 -5
  313. package/dist/components/form.js +2 -2
  314. package/dist/components/graph.js +1 -1
  315. package/dist/components/guid.js +1 -1
  316. package/dist/components/handle.js +1 -1
  317. package/dist/components/icon.js +2 -2
  318. package/dist/components/index.d.ts +2 -5
  319. package/dist/components/index.js +3 -6
  320. package/dist/components/info-card2.js +183 -28
  321. package/dist/components/input-message.js +2 -2
  322. package/dist/components/input-number.js +6 -4
  323. package/dist/components/input-text.js +5 -3
  324. package/dist/components/input.js +6 -4
  325. package/dist/components/interactive.js +80 -10
  326. package/dist/components/interfaces.js +6 -1
  327. package/dist/components/key.js +1 -1
  328. package/dist/components/label.js +1 -1
  329. package/dist/components/label2.js +2 -2
  330. package/dist/components/layer-table2.js +221 -117
  331. package/dist/components/link.js +8 -2
  332. package/dist/components/list-item2.js +7 -7
  333. package/dist/components/list.js +8 -8
  334. package/dist/components/loadable.js +1 -1
  335. package/dist/components/locale2.js +7 -4
  336. package/dist/components/map-card2.js +65 -92
  337. package/dist/components/map-draw-tools2.js +1 -1
  338. package/dist/components/map-layer-picker2.js +133 -239
  339. package/dist/components/map-select-tools2.js +38 -14
  340. package/dist/components/map-tools.d.ts +11 -0
  341. package/dist/components/map-tools.js +11 -0
  342. package/dist/components/map-tools2.js +176 -0
  343. package/dist/components/mapViewUtils.js +204 -0
  344. package/dist/components/math.js +1 -1
  345. package/dist/components/menu.js +2 -2
  346. package/dist/components/notice.js +2 -2
  347. package/dist/components/observers.js +1 -1
  348. package/dist/components/openCloseComponent.js +1 -1
  349. package/dist/components/panel.js +5 -3
  350. package/dist/components/pdf-download2.js +3 -1
  351. package/dist/components/pick-list-item.js +4 -2
  352. package/dist/components/popover.js +3 -3
  353. package/dist/components/public-notification.js +57 -23
  354. package/dist/components/queryUtils.js +11 -17
  355. package/dist/components/refine-selection2.js +36 -11
  356. package/dist/components/resources.js +1 -1
  357. package/dist/components/resources2.js +1 -1
  358. package/dist/components/resources3.js +1 -1
  359. package/dist/components/scrim.js +39 -2
  360. package/dist/components/segmented-control-item.js +1 -1
  361. package/dist/components/segmented-control.js +3 -1
  362. package/dist/components/select.js +5 -3
  363. package/dist/components/shared-list-render.js +3 -3
  364. package/dist/components/shell-panel.js +1 -1
  365. package/dist/components/shell.js +2 -2
  366. package/dist/components/slider.js +4 -2
  367. package/dist/components/sortableComponent.js +1 -1
  368. package/dist/components/switch.js +4 -2
  369. package/dist/components/t9n.js +1 -1
  370. package/dist/components/tab-nav.js +1 -1
  371. package/dist/components/tab-title.js +4 -2
  372. package/dist/components/tabs.js +1 -1
  373. package/dist/components/tile.js +4 -2
  374. package/dist/components/time-picker.js +2 -2
  375. package/dist/components/tooltip.js +45 -28
  376. package/dist/components/tree-item.js +9 -43
  377. package/dist/components/tree.js +2 -2
  378. package/dist/components/utils.js +1 -1
  379. package/dist/components/utils2.js +3 -3
  380. package/dist/components/utils3.js +2 -2
  381. package/dist/components/value-list-item.js +4 -2
  382. package/dist/components/value-list.js +6 -4
  383. package/dist/esm/ExpandToggle-4683a6dc.js +109 -0
  384. package/dist/esm/FloatingArrow-fa0da351.js +46 -0
  385. package/dist/esm/Heading-14bfe249.js +22 -0
  386. package/dist/esm/app-globals-b5877644.js +62 -0
  387. package/dist/esm/ar-8e6281b5.js +96 -0
  388. package/dist/esm/array-e32fb269.js +15 -0
  389. package/dist/esm/bg-89c46a11.js +77 -0
  390. package/dist/esm/browser-f8ca09b7.js +21 -0
  391. package/dist/esm/bs-567a72ac.js +46 -0
  392. package/dist/esm/buffer-tools_4.entry.js +17 -14
  393. package/dist/esm/ca-0d08cce0.js +66 -0
  394. package/dist/esm/calcite-accordion-item.entry.js +10 -7
  395. package/dist/esm/calcite-action-bar_2.entry.js +650 -0
  396. package/dist/esm/calcite-action-group_2.entry.js +379 -0
  397. package/dist/esm/calcite-action-pad.entry.js +15 -15
  398. package/dist/esm/calcite-action_2.entry.js +408 -70
  399. package/dist/esm/calcite-alert.entry.js +23 -12
  400. package/dist/esm/calcite-avatar.entry.js +5 -5
  401. package/dist/esm/calcite-block-section.entry.js +8 -8
  402. package/dist/esm/calcite-block.entry.js +166 -0
  403. package/dist/esm/calcite-button.entry.js +15 -12
  404. package/dist/esm/calcite-card.entry.js +9 -9
  405. package/dist/esm/calcite-checkbox.entry.js +11 -8
  406. package/dist/esm/calcite-chip-group.entry.js +9 -6
  407. package/dist/esm/calcite-chip.entry.js +14 -11
  408. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +8 -8
  409. package/dist/esm/calcite-color-picker.entry.js +15 -12
  410. package/dist/esm/calcite-combobox-item-group.entry.js +5 -5
  411. package/dist/esm/calcite-combobox_6.entry.js +1859 -0
  412. package/dist/esm/calcite-date-picker-day_3.entry.js +17 -10
  413. package/dist/esm/calcite-date-picker.entry.js +11 -11
  414. package/dist/esm/calcite-fab.entry.js +13 -6
  415. package/dist/esm/calcite-filter_3.entry.js +772 -0
  416. package/dist/esm/calcite-flow-item.entry.js +14 -11
  417. package/dist/esm/calcite-flow.entry.js +2 -2
  418. package/dist/esm/calcite-graph.entry.js +3 -3
  419. package/dist/esm/calcite-handle.entry.js +132 -0
  420. package/dist/esm/calcite-icon.entry.js +6 -6
  421. package/dist/esm/calcite-inline-editable.entry.js +14 -11
  422. package/dist/esm/calcite-input-date-picker.entry.js +23 -19
  423. package/dist/esm/calcite-input-number.entry.js +16 -13
  424. package/dist/esm/calcite-input-text_4.entry.js +1845 -0
  425. package/dist/esm/calcite-input-time-picker-d5606a45.js +1621 -0
  426. package/dist/esm/calcite-input-time-picker.entry.js +15 -14
  427. package/dist/esm/calcite-input_2.entry.js +16 -13
  428. package/dist/esm/calcite-label.entry.js +5 -5
  429. package/dist/esm/calcite-link.entry.js +12 -5
  430. package/dist/esm/calcite-list-item-group.entry.js +8 -3
  431. package/dist/esm/calcite-loader.entry.js +76 -0
  432. package/dist/esm/calcite-menu-item.entry.js +10 -10
  433. package/dist/esm/calcite-menu.entry.js +9 -9
  434. package/dist/esm/calcite-modal.entry.js +14 -14
  435. package/dist/esm/calcite-navigation-logo.entry.js +2 -2
  436. package/dist/esm/calcite-navigation-user.entry.js +2 -2
  437. package/dist/esm/calcite-navigation.entry.js +5 -5
  438. package/dist/esm/calcite-notice.entry.js +135 -0
  439. package/dist/esm/calcite-option_2.entry.js +12 -9
  440. package/dist/esm/calcite-pagination.entry.js +9 -9
  441. package/dist/esm/calcite-panel_2.entry.js +17 -14
  442. package/dist/esm/calcite-pick-list-group.entry.js +7 -7
  443. package/dist/esm/calcite-pick-list-item.entry.js +15 -12
  444. package/dist/esm/calcite-pick-list.entry.js +142 -0
  445. package/dist/esm/calcite-radio-button-group.entry.js +35 -6
  446. package/dist/esm/calcite-radio-button.entry.js +57 -27
  447. package/dist/esm/calcite-rating.entry.js +15 -12
  448. package/dist/esm/calcite-scrim.entry.js +44 -9
  449. package/dist/esm/calcite-segmented-control_2.entry.js +253 -0
  450. package/dist/esm/calcite-shell-center-row.entry.js +6 -6
  451. package/dist/esm/calcite-shell-panel_14.entry.js +32 -25
  452. package/dist/esm/calcite-sortable-list.entry.js +10 -7
  453. package/dist/esm/calcite-split-button.entry.js +118 -0
  454. package/dist/esm/calcite-stack.entry.js +4 -4
  455. package/dist/esm/calcite-stepper-item.entry.js +11 -8
  456. package/dist/esm/calcite-stepper.entry.js +3 -3
  457. package/dist/esm/calcite-switch.entry.js +11 -8
  458. package/dist/esm/calcite-text-area.entry.js +15 -12
  459. package/dist/esm/calcite-tile-select-group.entry.js +8 -1
  460. package/dist/esm/calcite-tile-select.entry.js +7 -4
  461. package/dist/esm/calcite-tile.entry.js +10 -7
  462. package/dist/esm/calcite-time-picker.entry.js +10 -10
  463. package/dist/esm/calcite-tip-manager.entry.js +9 -9
  464. package/dist/esm/calcite-tip.entry.js +10 -10
  465. package/dist/esm/calcite-tree_3.entry.js +15 -48
  466. package/dist/esm/card-manager_3.entry.js +652 -0
  467. package/dist/esm/conditionalSlot-b651e48a.js +60 -0
  468. package/dist/esm/crowdsource-manager.entry.js +22 -10
  469. package/dist/esm/cs-4ea5bb28.js +142 -0
  470. package/dist/esm/da-8121b2c6.js +61 -0
  471. package/dist/esm/date-3f48db3f.js +235 -0
  472. package/dist/esm/de-4f0e6db4.js +86 -0
  473. package/dist/esm/de-at-6f914992.js +85 -0
  474. package/dist/esm/de-ch-ba51285a.js +85 -0
  475. package/dist/esm/deduct-calculator.entry.js +3 -3
  476. package/dist/esm/dom-03275741.js +927 -0
  477. package/dist/esm/downloadUtils-1092cb0f.js +2723 -0
  478. package/dist/esm/edit-card_2.entry.js +334 -0
  479. package/dist/esm/el-2fb644ad.js +61 -0
  480. package/dist/esm/en-au-469a4963.js +61 -0
  481. package/dist/esm/en-ca-a110f04a.js +60 -0
  482. package/dist/esm/en-gb-04dd59df.js +64 -0
  483. package/dist/esm/es-901bbd11.js +61 -0
  484. package/dist/esm/es-mx-c3cff8d1.js +60 -0
  485. package/dist/esm/et-0ded5035.js +87 -0
  486. package/dist/esm/fi-767e7505.js +110 -0
  487. package/dist/esm/filter-4ba3be5f.js +763 -0
  488. package/dist/esm/floating-ui-1e70279f.js +1866 -0
  489. package/dist/esm/focusTrapComponent-eaa62505.js +846 -0
  490. package/dist/esm/form-8396f037.js +280 -0
  491. package/dist/esm/fr-ch-8c34f192.js +61 -0
  492. package/dist/esm/fr-e6bda0a2.js +63 -0
  493. package/dist/esm/guid-1fbbc894.js +24 -0
  494. package/dist/esm/he-00779397.js +100 -0
  495. package/dist/esm/hi-f3d5ecb7.js +60 -0
  496. package/dist/esm/hr-1d8c2cad.js +75 -0
  497. package/dist/esm/hu-4290c5fe.js +83 -0
  498. package/dist/esm/id-58d1a3cb.js +61 -0
  499. package/dist/esm/index.es-08a48fdd.js +10722 -0
  500. package/dist/esm/interactive-e5b2cca0.js +143 -0
  501. package/dist/esm/interfaces-bf20e69c.js +85 -0
  502. package/dist/esm/it-ch-74c5b6dd.js +61 -0
  503. package/dist/esm/it-ef33898d.js +61 -0
  504. package/dist/esm/ja-7f21d57b.js +67 -0
  505. package/dist/esm/key-d6bc268b.js +16 -0
  506. package/dist/esm/ko-0790a2d9.js +67 -0
  507. package/dist/esm/label-6db1573f.js +130 -0
  508. package/dist/esm/loadable-3cf62971.js +65 -0
  509. package/dist/esm/loader.js +3 -3
  510. package/dist/esm/locale-ead7fa24.js +558 -0
  511. package/dist/esm/lt-6e66fa4a.js +92 -0
  512. package/dist/esm/lv-0c39ca8e.js +61 -0
  513. package/dist/esm/map-tools.entry.js +107 -0
  514. package/dist/esm/mapViewUtils-a787c6a8.js +356 -0
  515. package/dist/esm/math-5e1080da.js +25 -0
  516. package/dist/esm/mk-0e1b5772.js +61 -0
  517. package/dist/esm/nb-8b0c8dcb.js +62 -0
  518. package/dist/esm/nl-89c00bbe.js +62 -0
  519. package/dist/esm/observers-76deadbc.js +51 -0
  520. package/dist/esm/openCloseComponent-7d3ca222.js +96 -0
  521. package/dist/esm/pl-2c7583e1.js +109 -0
  522. package/dist/esm/pt-br-0544aa11.js +60 -0
  523. package/dist/esm/pt-eb653341.js +62 -0
  524. package/dist/esm/public-notification.entry.js +18 -5
  525. package/dist/esm/resources-3600c05b.js +46 -0
  526. package/dist/esm/resources-4d6ec614.js +24 -0
  527. package/dist/esm/resources-684bbbfe.js +23 -0
  528. package/dist/esm/resources-85e89a13.js +19 -0
  529. package/dist/esm/resources-885142d2.js +2048 -0
  530. package/dist/esm/resources-a3b9b875.js +20 -0
  531. package/dist/esm/resources-e7e4115c.js +35 -0
  532. package/dist/esm/resources-ee3b03a3.js +28 -0
  533. package/dist/esm/resources-f5948e92.js +20 -0
  534. package/dist/esm/ro-f5c8d5e2.js +61 -0
  535. package/dist/esm/ru-7725d9a9.js +121 -0
  536. package/dist/esm/shared-list-render-19de1661.js +342 -0
  537. package/dist/esm/sk-606ae6cd.js +143 -0
  538. package/dist/esm/sl-8a06145d.js +61 -0
  539. package/dist/esm/solution-configuration.entry.js +2 -2
  540. package/dist/esm/solution-contents_3.entry.js +2 -2
  541. package/dist/esm/solution-store-c107ca4d.js +4092 -0
  542. package/dist/esm/solutions-components.js +3 -3
  543. package/dist/esm/sortableComponent-dab8ef70.js +3082 -0
  544. package/dist/esm/sr-7eff7ca4.js +96 -0
  545. package/dist/esm/sv-0ab2f707.js +66 -0
  546. package/dist/esm/t9n-ece1047e.js +95 -0
  547. package/dist/esm/th-29a9e340.js +60 -0
  548. package/dist/esm/time-7b08c631.js +195 -0
  549. package/dist/esm/tr-6748b764.js +61 -0
  550. package/dist/esm/uk-de4e1b64.js +99 -0
  551. package/dist/esm/utils-33f2d835.js +200 -0
  552. package/dist/esm/utils-43f27af6.js +61 -0
  553. package/dist/esm/utils-a29ac888.js +45 -0
  554. package/dist/esm/utils-d1d9ff93.js +79 -0
  555. package/dist/esm/vi-6830c744.js +65 -0
  556. package/dist/esm/zh-cn-ad4dc9be.js +89 -0
  557. package/dist/esm/zh-hk-81513d7a.js +66 -0
  558. package/dist/esm/zh-tw-4ff4db52.js +87 -0
  559. package/dist/node_modules/@esri/calcite-components/dist/collection/components/list/list.css +4 -0
  560. package/dist/node_modules/@esri/calcite-components/dist/collection/components/list-item/list-item.css +11 -0
  561. package/dist/node_modules/@esri/calcite-components/dist/collection/components/shell-panel/shell-panel.css +1 -1
  562. package/dist/node_modules/@esri/calcite-components/dist/collection/components/tree-item/tree-item.css +3 -2
  563. package/dist/solutions-components/assets/icon/circlePause16.json +1 -0
  564. package/dist/solutions-components/assets/icon/circlePause16F.json +1 -0
  565. package/dist/solutions-components/assets/icon/circlePause24.json +1 -0
  566. package/dist/solutions-components/assets/icon/circlePause24F.json +1 -0
  567. package/dist/solutions-components/assets/icon/circlePause32.json +1 -0
  568. package/dist/solutions-components/assets/icon/circlePause32F.json +1 -0
  569. package/dist/solutions-components/assets/icon/h3Hexagon16.json +1 -0
  570. package/dist/solutions-components/assets/icon/h3Hexagon24.json +1 -0
  571. package/dist/solutions-components/assets/icon/h3Hexagon32.json +1 -0
  572. package/dist/solutions-components/assets/icon/merge216.json +1 -0
  573. package/dist/solutions-components/assets/icon/merge224.json +1 -0
  574. package/dist/solutions-components/assets/icon/merge232.json +1 -0
  575. package/dist/solutions-components/assets/icon/recycleBin16.json +1 -0
  576. package/dist/solutions-components/assets/icon/recycleBin24.json +1 -0
  577. package/dist/solutions-components/assets/icon/recycleBin32.json +1 -0
  578. package/dist/solutions-components/assets/icon/transverseHexagon16.json +1 -0
  579. package/dist/solutions-components/assets/icon/transverseHexagon24.json +1 -0
  580. package/dist/solutions-components/assets/icon/transverseHexagon32.json +1 -0
  581. package/dist/solutions-components/assets/icon/unmerge16.json +1 -0
  582. package/dist/solutions-components/assets/icon/unmerge24.json +1 -0
  583. package/dist/solutions-components/assets/icon/unmerge32.json +1 -0
  584. package/dist/solutions-components/demos/buffer-tools.html +2 -2
  585. package/dist/solutions-components/demos/card-manager.html +49 -3
  586. package/dist/solutions-components/demos/crowdsource-manager.html +15 -5
  587. package/dist/solutions-components/demos/crowdsource-reporter.html +2 -2
  588. package/dist/solutions-components/demos/demo-map.html +2 -2
  589. package/dist/solutions-components/demos/edit-card.html +34 -0
  590. package/dist/solutions-components/demos/index.html +1 -1
  591. package/dist/solutions-components/demos/layer-table.html +2 -2
  592. package/dist/solutions-components/demos/list-item.html +2 -2
  593. package/dist/solutions-components/demos/map-card.html +2 -2
  594. package/dist/solutions-components/demos/map-draw-tools.html +2 -2
  595. package/dist/solutions-components/demos/map-layer-picker.html +2 -2
  596. package/dist/solutions-components/demos/map-select-tools.html +2 -2
  597. package/dist/solutions-components/p-0036e829.js +11 -0
  598. package/dist/solutions-components/p-004eb0a6.entry.js +6 -0
  599. package/dist/solutions-components/p-04c41e35.js +6 -0
  600. package/dist/solutions-components/p-058f02c9.js +6 -0
  601. package/dist/solutions-components/p-05f6859f.js +11 -0
  602. package/dist/solutions-components/p-0641aa9b.js +36 -0
  603. package/dist/solutions-components/p-0bb57140.js +16 -0
  604. package/dist/solutions-components/p-0d2c9050.js +6 -0
  605. package/dist/solutions-components/p-0e024d20.entry.js +11 -0
  606. package/dist/solutions-components/p-0ef9e367.entry.js +17 -0
  607. package/dist/solutions-components/p-0ff7b311.js +16 -0
  608. package/dist/solutions-components/p-1085b789.js +11 -0
  609. package/dist/solutions-components/p-10dd03be.js +6 -0
  610. package/dist/solutions-components/p-10e93b31.entry.js +11 -0
  611. package/dist/solutions-components/p-132843d2.entry.js +11 -0
  612. package/dist/solutions-components/p-13a8349e.js +6 -0
  613. package/dist/solutions-components/p-16146013.js +6 -0
  614. package/dist/solutions-components/p-161ac069.entry.js +6 -0
  615. package/dist/solutions-components/p-16643fca.entry.js +11 -0
  616. package/dist/solutions-components/p-1aca2237.js +17 -0
  617. package/dist/solutions-components/p-1b69c50d.entry.js +11 -0
  618. package/dist/solutions-components/p-1d81a92e.entry.js +11 -0
  619. package/dist/solutions-components/p-1f1bd18d.js +11 -0
  620. package/dist/solutions-components/p-214657d6.entry.js +6 -0
  621. package/dist/solutions-components/p-2284cd37.js +11 -0
  622. package/dist/solutions-components/p-22c4225f.entry.js +11 -0
  623. package/dist/solutions-components/p-2455a61f.entry.js +11 -0
  624. package/dist/solutions-components/p-293a0267.entry.js +11 -0
  625. package/dist/solutions-components/p-2c049a6d.entry.js +37 -0
  626. package/dist/solutions-components/p-2d651417.js +6 -0
  627. package/dist/solutions-components/p-2f632334.entry.js +11 -0
  628. package/dist/solutions-components/p-309d3096.js +6 -0
  629. package/dist/solutions-components/p-34737573.js +6 -0
  630. package/dist/solutions-components/p-35195436.entry.js +11 -0
  631. package/dist/solutions-components/p-37a78329.js +6 -0
  632. package/dist/solutions-components/p-386dbde1.js +6 -0
  633. package/dist/solutions-components/p-3b57fcc6.js +11 -0
  634. package/dist/solutions-components/p-40bdd836.js +11 -0
  635. package/dist/solutions-components/p-41f5a5fc.js +12 -0
  636. package/dist/solutions-components/p-438560cf.js +6 -0
  637. package/dist/solutions-components/p-474b00d7.entry.js +11 -0
  638. package/dist/solutions-components/p-4766a668.entry.js +6 -0
  639. package/dist/solutions-components/p-4989e987.js +6 -0
  640. package/dist/solutions-components/p-4aab2c0d.entry.js +6 -0
  641. package/dist/solutions-components/p-4b738e52.entry.js +11 -0
  642. package/dist/solutions-components/p-4ea9094a.js +6 -0
  643. package/dist/solutions-components/p-5173b841.js +11 -0
  644. package/dist/solutions-components/p-5652bbda.js +6 -0
  645. package/dist/solutions-components/p-57fa8ff3.entry.js +6 -0
  646. package/dist/solutions-components/p-58448ac4.entry.js +11 -0
  647. package/dist/solutions-components/p-5a6ca63b.entry.js +35 -0
  648. package/dist/solutions-components/p-5a6f8f15.entry.js +17 -0
  649. package/dist/solutions-components/p-5b260e5f.js +61 -0
  650. package/dist/solutions-components/p-5bab0d9d.entry.js +11 -0
  651. package/dist/solutions-components/p-5ca01455.entry.js +11 -0
  652. package/dist/solutions-components/p-5f05045a.entry.js +6 -0
  653. package/dist/solutions-components/p-5fc99541.js +257 -0
  654. package/dist/solutions-components/p-60dba0cb.js +11 -0
  655. package/dist/solutions-components/p-610ff7ca.js +6 -0
  656. package/dist/solutions-components/p-612c38cc.js +6 -0
  657. package/dist/solutions-components/p-628f2a83.entry.js +11 -0
  658. package/dist/solutions-components/p-62a49383.js +6 -0
  659. package/dist/solutions-components/p-6305f474.entry.js +18 -0
  660. package/dist/solutions-components/p-67d0ce8c.entry.js +11 -0
  661. package/dist/solutions-components/p-67d75135.js +6 -0
  662. package/dist/solutions-components/p-693bafa4.js +6 -0
  663. package/dist/solutions-components/p-6960ce47.js +6 -0
  664. package/dist/solutions-components/p-696de9a4.entry.js +6 -0
  665. package/dist/solutions-components/p-69cd4b76.entry.js +17 -0
  666. package/dist/solutions-components/p-6c1d694f.js +6 -0
  667. package/dist/solutions-components/p-743451a5.entry.js +6 -0
  668. package/dist/solutions-components/p-7479f322.entry.js +28 -0
  669. package/dist/solutions-components/p-74a2d025.entry.js +6 -0
  670. package/dist/solutions-components/p-75ed8af0.entry.js +12 -0
  671. package/dist/solutions-components/p-76716055.js +6 -0
  672. package/dist/solutions-components/p-77649e3a.js +11 -0
  673. package/dist/solutions-components/p-7764def7.js +11 -0
  674. package/dist/solutions-components/p-781480c2.entry.js +6 -0
  675. package/dist/solutions-components/p-7a42ffab.js +11 -0
  676. package/dist/solutions-components/p-7ab9d4a8.js +11 -0
  677. package/dist/solutions-components/p-7cbe5354.js +6 -0
  678. package/dist/solutions-components/p-7f3c3a5d.entry.js +11 -0
  679. package/dist/solutions-components/p-7fd8e783.js +18 -0
  680. package/dist/solutions-components/p-800e94cb.entry.js +11 -0
  681. package/dist/solutions-components/p-81c695d6.entry.js +11 -0
  682. package/dist/solutions-components/p-8249c47b.js +11 -0
  683. package/dist/solutions-components/p-82922f3a.entry.js +37 -0
  684. package/dist/solutions-components/p-841a5f97.entry.js +6 -0
  685. package/dist/solutions-components/p-84d9dacf.entry.js +11 -0
  686. package/dist/solutions-components/p-87cc78f1.js +6 -0
  687. package/dist/solutions-components/p-892d0a1d.js +6 -0
  688. package/dist/solutions-components/p-8bf81a2e.js +11 -0
  689. package/dist/solutions-components/p-8e003792.js +6 -0
  690. package/dist/solutions-components/p-8e541da0.js +6 -0
  691. package/dist/solutions-components/p-944c2f33.entry.js +11 -0
  692. package/dist/solutions-components/p-9630e3b7.js +11 -0
  693. package/dist/solutions-components/p-96bd78ec.entry.js +11 -0
  694. package/dist/solutions-components/p-978b9ba3.entry.js +6 -0
  695. package/dist/solutions-components/p-99b55177.js +11 -0
  696. package/dist/solutions-components/p-9a19cfb6.js +6 -0
  697. package/dist/solutions-components/p-9ab03591.js +21 -0
  698. package/dist/solutions-components/p-9bc20eff.entry.js +6 -0
  699. package/dist/solutions-components/p-9c42e5ca.js +6 -0
  700. package/dist/solutions-components/p-9ed9ea6a.js +6 -0
  701. package/dist/solutions-components/p-9f214b82.entry.js +11 -0
  702. package/dist/solutions-components/p-a3b55d2b.js +6 -0
  703. package/dist/solutions-components/p-a5d44d7d.js +11 -0
  704. package/dist/solutions-components/p-a62c1b3c.entry.js +6 -0
  705. package/dist/solutions-components/p-a6730996.js +6 -0
  706. package/dist/solutions-components/p-a738e38f.js +11 -0
  707. package/dist/solutions-components/p-a74094e4.js +17 -0
  708. package/dist/solutions-components/p-a8253173.js +6 -0
  709. package/dist/solutions-components/p-a94f0d7b.entry.js +11 -0
  710. package/dist/solutions-components/p-a9dab418.entry.js +11 -0
  711. package/dist/solutions-components/p-ac36a101.js +6 -0
  712. package/dist/solutions-components/p-ad60a547.js +474 -0
  713. package/dist/solutions-components/p-b018bd03.js +6 -0
  714. package/dist/solutions-components/p-b39e12ab.js +6 -0
  715. package/dist/solutions-components/p-b4c65a27.entry.js +6 -0
  716. package/dist/solutions-components/p-b64401a3.entry.js +6 -0
  717. package/dist/solutions-components/p-b70a3d8d.entry.js +11 -0
  718. package/dist/solutions-components/p-b940aa2f.entry.js +6 -0
  719. package/dist/solutions-components/p-b9a21972.js +6 -0
  720. package/dist/solutions-components/p-ba34ef55.js +6 -0
  721. package/dist/solutions-components/p-ba8ec9b6.entry.js +35 -0
  722. package/dist/solutions-components/p-bb322078.entry.js +11 -0
  723. package/dist/solutions-components/p-bc6ce0ff.js +6 -0
  724. package/dist/solutions-components/p-c0738483.entry.js +11 -0
  725. package/dist/solutions-components/p-c2316631.entry.js +16 -0
  726. package/dist/solutions-components/p-c2a141cc.js +11 -0
  727. package/dist/solutions-components/p-c2d148da.js +11 -0
  728. package/dist/solutions-components/p-c52de940.entry.js +11 -0
  729. package/dist/solutions-components/p-c844e615.js +12 -0
  730. package/dist/solutions-components/p-c8835780.js +11 -0
  731. package/dist/solutions-components/p-ca67597d.js +6 -0
  732. package/dist/solutions-components/p-ca6edad0.js +11 -0
  733. package/dist/solutions-components/p-ccf5c0ff.entry.js +11 -0
  734. package/dist/solutions-components/p-cd9579c6.js +11 -0
  735. package/dist/solutions-components/p-ce57ecf3.entry.js +6 -0
  736. package/dist/solutions-components/p-d042dd6a.entry.js +12 -0
  737. package/dist/solutions-components/p-d088d13a.entry.js +6 -0
  738. package/dist/solutions-components/p-d102a71f.js +6 -0
  739. package/dist/solutions-components/p-d164a8b0.entry.js +12 -0
  740. package/dist/solutions-components/p-d17b0020.entry.js +11 -0
  741. package/dist/solutions-components/p-d4c9dda7.entry.js +11 -0
  742. package/dist/solutions-components/p-d5104492.js +6 -0
  743. package/dist/solutions-components/p-d60a77a4.js +11 -0
  744. package/dist/solutions-components/p-d866ff25.js +11 -0
  745. package/dist/solutions-components/p-dac4f4cb.js +6 -0
  746. package/dist/solutions-components/p-db08ef87.js +11 -0
  747. package/dist/solutions-components/p-db546438.entry.js +11 -0
  748. package/dist/solutions-components/p-de9d2167.entry.js +11 -0
  749. package/dist/solutions-components/p-e0af78a4.js +6 -0
  750. package/dist/solutions-components/p-e13ba5ae.js +6 -0
  751. package/dist/solutions-components/p-e320f0ed.entry.js +11 -0
  752. package/dist/solutions-components/p-e5d839f8.js +6 -0
  753. package/dist/solutions-components/p-e5e20990.js +11 -0
  754. package/dist/solutions-components/p-e617f6e9.js +6 -0
  755. package/dist/solutions-components/p-ea7c74b7.entry.js +11 -0
  756. package/dist/solutions-components/p-eafc4b73.js +11 -0
  757. package/dist/solutions-components/p-ed2eea7f.entry.js +23 -0
  758. package/dist/solutions-components/p-ed65f44c.entry.js +11 -0
  759. package/dist/solutions-components/p-f08e454f.entry.js +11 -0
  760. package/dist/solutions-components/p-f1d4f341.js +6 -0
  761. package/dist/solutions-components/p-f54ca1e4.entry.js +11 -0
  762. package/dist/solutions-components/p-f62c655b.entry.js +11 -0
  763. package/dist/solutions-components/p-f68a8cd4.entry.js +11 -0
  764. package/dist/solutions-components/p-f6ec5e80.js +11 -0
  765. package/dist/solutions-components/p-f9b91640.js +11 -0
  766. package/dist/solutions-components/p-fae853e9.js +16 -0
  767. package/dist/solutions-components/p-fb233add.entry.js +6 -0
  768. package/dist/solutions-components/p-ff27b297.js +11 -0
  769. package/dist/solutions-components/p-ffb12960.entry.js +11 -0
  770. package/dist/solutions-components/solutions-components.esm.js +1 -1
  771. package/dist/solutions-components/utils/downloadUtils.ts +1 -1
  772. package/dist/solutions-components/utils/interfaces.ts +18 -6
  773. package/dist/solutions-components/utils/queryUtils.ts +48 -3
  774. package/dist/types/components/card-manager/card-manager.d.ts +33 -5
  775. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +12 -4
  776. package/dist/types/components/deduct-calculator/deduct-calculator.d.ts +2 -2
  777. package/dist/types/components/edit-card/edit-card.d.ts +136 -0
  778. package/dist/types/components/info-card/info-card.d.ts +89 -9
  779. package/dist/types/components/layer-table/layer-table.d.ts +102 -33
  780. package/dist/types/components/map-card/map-card.d.ts +12 -42
  781. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +50 -11
  782. package/dist/types/components/map-select-tools/map-select-tools.d.ts +1 -1
  783. package/dist/types/components/map-tools/map-tools.d.ts +87 -0
  784. package/dist/types/components/pdf-download/pdf-download.d.ts +4 -0
  785. package/dist/types/components/public-notification/public-notification.d.ts +18 -2
  786. package/dist/types/components/refine-selection/refine-selection.d.ts +1 -1
  787. package/dist/types/components.d.ts +169 -117
  788. package/dist/types/preact.d.ts +10 -13
  789. package/dist/types/utils/interfaces.d.ts +16 -4
  790. package/dist/types/utils/queryUtils.d.ts +17 -1
  791. package/package.json +2 -2
  792. package/dist/assets/t9n/edit-record-modal/resources.json +0 -8
  793. package/dist/assets/t9n/edit-record-modal/resources_en.json +0 -8
  794. package/dist/cjs/ExpandToggle-8e23a37e.js +0 -119
  795. package/dist/cjs/FloatingArrow-7747dddf.js +0 -48
  796. package/dist/cjs/Heading-52c0152b.js +0 -25
  797. package/dist/cjs/add-record-modal.cjs.entry.js +0 -106
  798. package/dist/cjs/app-globals-cd063150.js +0 -64
  799. package/dist/cjs/ar-06e23092.js +0 -97
  800. package/dist/cjs/array-cb509bfb.js +0 -17
  801. package/dist/cjs/bg-b197c685.js +0 -78
  802. package/dist/cjs/bs-b7279fd9.js +0 -47
  803. package/dist/cjs/ca-c127e2c7.js +0 -67
  804. package/dist/cjs/calcite-action-bar_4.cjs.entry.js +0 -629
  805. package/dist/cjs/calcite-action-group.cjs.entry.js +0 -116
  806. package/dist/cjs/calcite-action-menu_2.cjs.entry.js +0 -691
  807. package/dist/cjs/calcite-combobox_3.cjs.entry.js +0 -1156
  808. package/dist/cjs/calcite-dropdown_5.cjs.entry.js +0 -866
  809. package/dist/cjs/calcite-filter_5.cjs.entry.js +0 -1014
  810. package/dist/cjs/calcite-input-text_5.cjs.entry.js +0 -1969
  811. package/dist/cjs/calcite-input-time-picker-1c90d5aa.js +0 -1622
  812. package/dist/cjs/calcite-tooltip.cjs.entry.js +0 -413
  813. package/dist/cjs/card-manager.cjs.entry.js +0 -91
  814. package/dist/cjs/comment-card.cjs.entry.js +0 -75
  815. package/dist/cjs/conditionalSlot-df3ccf68.js +0 -63
  816. package/dist/cjs/cs-f482fe72.js +0 -143
  817. package/dist/cjs/da-b8ab4c7b.js +0 -62
  818. package/dist/cjs/date-23702871.js +0 -250
  819. package/dist/cjs/de-6bc1f7ac.js +0 -87
  820. package/dist/cjs/de-at-46963b6b.js +0 -86
  821. package/dist/cjs/de-ch-160af810.js +0 -86
  822. package/dist/cjs/dom-5fd13fa0.js +0 -954
  823. package/dist/cjs/downloadUtils-fd585157.js +0 -2729
  824. package/dist/cjs/el-64fa4e5b.js +0 -62
  825. package/dist/cjs/en-au-d6d05b1c.js +0 -62
  826. package/dist/cjs/en-ca-e4c76e21.js +0 -61
  827. package/dist/cjs/en-gb-bbc542f7.js +0 -65
  828. package/dist/cjs/es-13c046da.js +0 -62
  829. package/dist/cjs/es-mx-bc0dcd4b.js +0 -61
  830. package/dist/cjs/et-96792c05.js +0 -88
  831. package/dist/cjs/fi-228557cc.js +0 -111
  832. package/dist/cjs/filter-8be5307a.js +0 -765
  833. package/dist/cjs/floating-ui-72d35286.js +0 -1825
  834. package/dist/cjs/focusTrapComponent-8e851fe9.js +0 -809
  835. package/dist/cjs/form-bbb48e39.js +0 -288
  836. package/dist/cjs/fr-cfe747ac.js +0 -64
  837. package/dist/cjs/fr-ch-ff5aa897.js +0 -62
  838. package/dist/cjs/guid-66679eda.js +0 -26
  839. package/dist/cjs/he-fb6d2d39.js +0 -101
  840. package/dist/cjs/hi-30c7826f.js +0 -61
  841. package/dist/cjs/hr-c1eab940.js +0 -76
  842. package/dist/cjs/hu-fba39a67.js +0 -84
  843. package/dist/cjs/id-b5e6f8ba.js +0 -62
  844. package/dist/cjs/index.es-d125163b.js +0 -10808
  845. package/dist/cjs/info-card_2.cjs.entry.js +0 -203
  846. package/dist/cjs/interactive-39ec70c2.js +0 -75
  847. package/dist/cjs/interfaces-842c84a1.js +0 -80
  848. package/dist/cjs/it-ca0d0aac.js +0 -62
  849. package/dist/cjs/it-ch-65c41132.js +0 -62
  850. package/dist/cjs/ja-a5f9afc7.js +0 -68
  851. package/dist/cjs/key-5b33d77d.js +0 -19
  852. package/dist/cjs/ko-852f5312.js +0 -68
  853. package/dist/cjs/label-345b79b7.js +0 -136
  854. package/dist/cjs/layer-table_2.cjs.entry.js +0 -517
  855. package/dist/cjs/loadable-30ee9cda.js +0 -69
  856. package/dist/cjs/locale-180f4242.js +0 -567
  857. package/dist/cjs/lt-255c3b01.js +0 -93
  858. package/dist/cjs/lv-7ed56721.js +0 -62
  859. package/dist/cjs/map-search.cjs.entry.js +0 -176
  860. package/dist/cjs/mapViewUtils-9c67134b.js +0 -375
  861. package/dist/cjs/math-c948c17d.js +0 -28
  862. package/dist/cjs/mk-f6d33563.js +0 -62
  863. package/dist/cjs/nb-bd0ca554.js +0 -63
  864. package/dist/cjs/nl-eadfdfb4.js +0 -63
  865. package/dist/cjs/observers-f7aad52c.js +0 -53
  866. package/dist/cjs/openCloseComponent-84b60d30.js +0 -100
  867. package/dist/cjs/pl-c9d0eeb6.js +0 -110
  868. package/dist/cjs/pt-abc4d582.js +0 -63
  869. package/dist/cjs/pt-br-217ada13.js +0 -61
  870. package/dist/cjs/resources-1687ac3b.js +0 -27
  871. package/dist/cjs/resources-17e31c94.js +0 -32
  872. package/dist/cjs/resources-2194e840.js +0 -2057
  873. package/dist/cjs/resources-5d9c0817.js +0 -23
  874. package/dist/cjs/resources-840442cb.js +0 -22
  875. package/dist/cjs/resources-8f85e83e.js +0 -27
  876. package/dist/cjs/resources-b2a52eac.js +0 -50
  877. package/dist/cjs/resources-b9022801.js +0 -39
  878. package/dist/cjs/resources-c050c6cd.js +0 -20
  879. package/dist/cjs/ro-1618e102.js +0 -62
  880. package/dist/cjs/ru-a23bea65.js +0 -122
  881. package/dist/cjs/shared-list-render-e49ee33c.js +0 -364
  882. package/dist/cjs/sk-dcacc22d.js +0 -144
  883. package/dist/cjs/sl-313d5585.js +0 -62
  884. package/dist/cjs/solution-store-ca4639d5.js +0 -4100
  885. package/dist/cjs/sortableComponent-e91c4b54.js +0 -3087
  886. package/dist/cjs/sr-c7b2c043.js +0 -97
  887. package/dist/cjs/sv-d8327a96.js +0 -67
  888. package/dist/cjs/t9n-44f8e750.js +0 -100
  889. package/dist/cjs/th-871548cb.js +0 -61
  890. package/dist/cjs/time-0ae619db.js +0 -208
  891. package/dist/cjs/tr-799e3306.js +0 -62
  892. package/dist/cjs/uk-eb7261c3.js +0 -100
  893. package/dist/cjs/utils-3c384fb2.js +0 -55
  894. package/dist/cjs/utils-49d0aa19.js +0 -218
  895. package/dist/cjs/utils-5c1c33cf.js +0 -64
  896. package/dist/cjs/utils-da61890c.js +0 -87
  897. package/dist/cjs/vi-ebbac61c.js +0 -66
  898. package/dist/cjs/zh-cn-dfcfe1fe.js +0 -90
  899. package/dist/cjs/zh-hk-64eeb0f6.js +0 -67
  900. package/dist/cjs/zh-tw-3d6f9661.js +0 -88
  901. package/dist/collection/components/add-record-modal/add-record-modal.css +0 -36
  902. package/dist/collection/components/add-record-modal/add-record-modal.js +0 -149
  903. package/dist/collection/components/comment-card/comment-card.css +0 -19
  904. package/dist/collection/components/comment-card/comment-card.js +0 -89
  905. package/dist/collection/components/edit-record-modal/edit-record-modal.css +0 -35
  906. package/dist/collection/components/edit-record-modal/edit-record-modal.js +0 -141
  907. package/dist/collection/components/map-search/map-search.css +0 -24
  908. package/dist/collection/components/map-search/map-search.js +0 -284
  909. package/dist/collection/components/media-card/media-card.css +0 -58
  910. package/dist/collection/components/media-card/media-card.js +0 -187
  911. package/dist/collection/demos/add-record-modal.html +0 -34
  912. package/dist/collection/demos/comment-card.html +0 -81
  913. package/dist/collection/demos/edit-record-modal.html +0 -34
  914. package/dist/collection/demos/map-search.html +0 -81
  915. package/dist/collection/demos/media-card.html +0 -71
  916. package/dist/components/add-record-modal.d.ts +0 -11
  917. package/dist/components/add-record-modal.js +0 -171
  918. package/dist/components/block.js +0 -232
  919. package/dist/components/comment-card.d.ts +0 -11
  920. package/dist/components/comment-card.js +0 -90
  921. package/dist/components/edit-record-modal.d.ts +0 -11
  922. package/dist/components/edit-record-modal.js +0 -11
  923. package/dist/components/edit-record-modal2.js +0 -161
  924. package/dist/components/map-search.d.ts +0 -11
  925. package/dist/components/map-search.js +0 -195
  926. package/dist/components/media-card.d.ts +0 -11
  927. package/dist/components/media-card.js +0 -11
  928. package/dist/components/media-card2.js +0 -177
  929. package/dist/components/modal.js +0 -415
  930. package/dist/components/pick-list.js +0 -164
  931. package/dist/components/split-button.js +0 -168
  932. package/dist/esm/ExpandToggle-ed0c4899.js +0 -111
  933. package/dist/esm/FloatingArrow-e769cdda.js +0 -46
  934. package/dist/esm/Heading-c36f4400.js +0 -22
  935. package/dist/esm/add-record-modal.entry.js +0 -102
  936. package/dist/esm/app-globals-4c1c4b90.js +0 -62
  937. package/dist/esm/ar-5fce09b4.js +0 -95
  938. package/dist/esm/array-af5e433b.js +0 -15
  939. package/dist/esm/bg-88930ab8.js +0 -76
  940. package/dist/esm/bs-83095544.js +0 -45
  941. package/dist/esm/ca-2452be3f.js +0 -65
  942. package/dist/esm/calcite-action-bar_4.entry.js +0 -622
  943. package/dist/esm/calcite-action-group.entry.js +0 -112
  944. package/dist/esm/calcite-action-menu_2.entry.js +0 -686
  945. package/dist/esm/calcite-combobox_3.entry.js +0 -1150
  946. package/dist/esm/calcite-dropdown_5.entry.js +0 -858
  947. package/dist/esm/calcite-filter_5.entry.js +0 -1006
  948. package/dist/esm/calcite-input-text_5.entry.js +0 -1961
  949. package/dist/esm/calcite-input-time-picker-379ab2c4.js +0 -1619
  950. package/dist/esm/calcite-tooltip.entry.js +0 -409
  951. package/dist/esm/card-manager.entry.js +0 -87
  952. package/dist/esm/comment-card.entry.js +0 -71
  953. package/dist/esm/conditionalSlot-e9ec914f.js +0 -60
  954. package/dist/esm/cs-c4999998.js +0 -141
  955. package/dist/esm/da-6e7eb415.js +0 -60
  956. package/dist/esm/date-85b54b18.js +0 -235
  957. package/dist/esm/de-39db71ff.js +0 -85
  958. package/dist/esm/de-at-0b43fa52.js +0 -84
  959. package/dist/esm/de-ch-345e1007.js +0 -84
  960. package/dist/esm/dom-e14bb980.js +0 -927
  961. package/dist/esm/downloadUtils-c4d8f012.js +0 -2723
  962. package/dist/esm/el-3d3eb2d9.js +0 -60
  963. package/dist/esm/en-au-f85fb0f9.js +0 -60
  964. package/dist/esm/en-ca-ae24e23b.js +0 -59
  965. package/dist/esm/en-gb-9f56a48f.js +0 -63
  966. package/dist/esm/es-00ec702d.js +0 -60
  967. package/dist/esm/es-mx-5fb19224.js +0 -59
  968. package/dist/esm/et-1a294618.js +0 -86
  969. package/dist/esm/fi-1bcfd731.js +0 -109
  970. package/dist/esm/filter-09439c1d.js +0 -763
  971. package/dist/esm/floating-ui-421b8ed2.js +0 -1817
  972. package/dist/esm/focusTrapComponent-45081255.js +0 -804
  973. package/dist/esm/form-58f5ab7c.js +0 -280
  974. package/dist/esm/fr-3a844513.js +0 -62
  975. package/dist/esm/fr-ch-32438415.js +0 -60
  976. package/dist/esm/guid-5c8ddb45.js +0 -24
  977. package/dist/esm/he-4d2d41f5.js +0 -99
  978. package/dist/esm/hi-e5a5cf07.js +0 -59
  979. package/dist/esm/hr-003c79cb.js +0 -74
  980. package/dist/esm/hu-a679b97b.js +0 -82
  981. package/dist/esm/id-8ce09f04.js +0 -60
  982. package/dist/esm/index.es-ba252f56.js +0 -10722
  983. package/dist/esm/info-card_2.entry.js +0 -198
  984. package/dist/esm/interactive-eaa1e00b.js +0 -73
  985. package/dist/esm/interfaces-523c6558.js +0 -80
  986. package/dist/esm/it-8a20f6f9.js +0 -60
  987. package/dist/esm/it-ch-b829ceb9.js +0 -60
  988. package/dist/esm/ja-ab479dce.js +0 -66
  989. package/dist/esm/key-2c25459c.js +0 -16
  990. package/dist/esm/ko-a523df7c.js +0 -66
  991. package/dist/esm/label-10a81bc6.js +0 -130
  992. package/dist/esm/layer-table_2.entry.js +0 -512
  993. package/dist/esm/loadable-fca3f617.js +0 -65
  994. package/dist/esm/locale-b550eae4.js +0 -555
  995. package/dist/esm/lt-6061d0cc.js +0 -91
  996. package/dist/esm/lv-c8234418.js +0 -60
  997. package/dist/esm/map-search.entry.js +0 -172
  998. package/dist/esm/mapViewUtils-06a77be9.js +0 -362
  999. package/dist/esm/math-778f9699.js +0 -25
  1000. package/dist/esm/mk-d08e7df4.js +0 -60
  1001. package/dist/esm/nb-35ca03d9.js +0 -61
  1002. package/dist/esm/nl-e815c488.js +0 -61
  1003. package/dist/esm/observers-b17e5da7.js +0 -51
  1004. package/dist/esm/openCloseComponent-1aef0328.js +0 -96
  1005. package/dist/esm/pl-a1c11e8b.js +0 -108
  1006. package/dist/esm/pt-8874bd08.js +0 -61
  1007. package/dist/esm/pt-br-cb76472e.js +0 -59
  1008. package/dist/esm/resources-09757d0c.js +0 -23
  1009. package/dist/esm/resources-23bce35b.js +0 -20
  1010. package/dist/esm/resources-6c49ff61.js +0 -2048
  1011. package/dist/esm/resources-78b20773.js +0 -20
  1012. package/dist/esm/resources-a9874e81.js +0 -28
  1013. package/dist/esm/resources-ac65ccee.js +0 -35
  1014. package/dist/esm/resources-bf1eeffc.js +0 -24
  1015. package/dist/esm/resources-c59151a8.js +0 -19
  1016. package/dist/esm/resources-f5fec753.js +0 -46
  1017. package/dist/esm/ro-0e8b863a.js +0 -60
  1018. package/dist/esm/ru-f3224893.js +0 -120
  1019. package/dist/esm/shared-list-render-86d8dcb7.js +0 -342
  1020. package/dist/esm/sk-eccf534f.js +0 -142
  1021. package/dist/esm/sl-a8e0c24f.js +0 -60
  1022. package/dist/esm/solution-store-70f874f8.js +0 -4092
  1023. package/dist/esm/sortableComponent-267e5853.js +0 -3082
  1024. package/dist/esm/sr-0e5973cb.js +0 -95
  1025. package/dist/esm/sv-ff8fbe95.js +0 -65
  1026. package/dist/esm/t9n-4c43412c.js +0 -95
  1027. package/dist/esm/th-90f7d79c.js +0 -59
  1028. package/dist/esm/time-18f4bea6.js +0 -195
  1029. package/dist/esm/tr-8a61ecaa.js +0 -60
  1030. package/dist/esm/uk-cb40a88d.js +0 -98
  1031. package/dist/esm/utils-701a66a0.js +0 -45
  1032. package/dist/esm/utils-d5304067.js +0 -200
  1033. package/dist/esm/utils-e59e3392.js +0 -79
  1034. package/dist/esm/utils-fbb44364.js +0 -61
  1035. package/dist/esm/vi-03f26f71.js +0 -64
  1036. package/dist/esm/zh-cn-b40fefb9.js +0 -88
  1037. package/dist/esm/zh-hk-846adb7a.js +0 -65
  1038. package/dist/esm/zh-tw-5e6c0c4c.js +0 -86
  1039. package/dist/solutions-components/demos/add-record-modal.html +0 -34
  1040. package/dist/solutions-components/demos/comment-card.html +0 -81
  1041. package/dist/solutions-components/demos/edit-record-modal.html +0 -34
  1042. package/dist/solutions-components/demos/map-search.html +0 -81
  1043. package/dist/solutions-components/demos/media-card.html +0 -71
  1044. package/dist/solutions-components/p-0004c7cf.js +0 -11
  1045. package/dist/solutions-components/p-028fe399.js +0 -11
  1046. package/dist/solutions-components/p-02934a73.js +0 -6
  1047. package/dist/solutions-components/p-0350a94c.js +0 -6
  1048. package/dist/solutions-components/p-03630cc2.js +0 -11
  1049. package/dist/solutions-components/p-0c0ae47e.entry.js +0 -6
  1050. package/dist/solutions-components/p-100a644d.js +0 -6
  1051. package/dist/solutions-components/p-10ee8954.js +0 -11
  1052. package/dist/solutions-components/p-14b581f0.js +0 -6
  1053. package/dist/solutions-components/p-156616b5.js +0 -6
  1054. package/dist/solutions-components/p-163f9453.entry.js +0 -22
  1055. package/dist/solutions-components/p-16a85289.entry.js +0 -11
  1056. package/dist/solutions-components/p-18c285a2.entry.js +0 -6
  1057. package/dist/solutions-components/p-1c6b3fcc.js +0 -11
  1058. package/dist/solutions-components/p-1ff86baf.js +0 -6
  1059. package/dist/solutions-components/p-21894ee1.entry.js +0 -6
  1060. package/dist/solutions-components/p-21d890eb.js +0 -11
  1061. package/dist/solutions-components/p-22367f3b.entry.js +0 -11
  1062. package/dist/solutions-components/p-224fc498.js +0 -6
  1063. package/dist/solutions-components/p-253c9105.entry.js +0 -11
  1064. package/dist/solutions-components/p-274e2b43.entry.js +0 -16
  1065. package/dist/solutions-components/p-29de380e.entry.js +0 -23
  1066. package/dist/solutions-components/p-2ab62909.entry.js +0 -12
  1067. package/dist/solutions-components/p-2ba08c44.js +0 -11
  1068. package/dist/solutions-components/p-2c91149c.entry.js +0 -17
  1069. package/dist/solutions-components/p-2d79dcaa.entry.js +0 -6
  1070. package/dist/solutions-components/p-2e02d0c6.js +0 -6
  1071. package/dist/solutions-components/p-2fb33412.js +0 -6
  1072. package/dist/solutions-components/p-2ff245e3.entry.js +0 -11
  1073. package/dist/solutions-components/p-309ab62c.entry.js +0 -6
  1074. package/dist/solutions-components/p-30fff23a.js +0 -6
  1075. package/dist/solutions-components/p-31084785.entry.js +0 -11
  1076. package/dist/solutions-components/p-322657e1.js +0 -6
  1077. package/dist/solutions-components/p-333fece7.js +0 -11
  1078. package/dist/solutions-components/p-33f7b5ad.entry.js +0 -12
  1079. package/dist/solutions-components/p-34b5fd3f.js +0 -11
  1080. package/dist/solutions-components/p-354a1a55.js +0 -16
  1081. package/dist/solutions-components/p-360652a6.js +0 -6
  1082. package/dist/solutions-components/p-361a2107.js +0 -6
  1083. package/dist/solutions-components/p-36b68fb9.js +0 -11
  1084. package/dist/solutions-components/p-3918da18.js +0 -6
  1085. package/dist/solutions-components/p-3965e731.js +0 -6
  1086. package/dist/solutions-components/p-3b2f8f0d.entry.js +0 -11
  1087. package/dist/solutions-components/p-3ed956eb.js +0 -36
  1088. package/dist/solutions-components/p-3fba8b91.js +0 -6
  1089. package/dist/solutions-components/p-40494687.js +0 -11
  1090. package/dist/solutions-components/p-441a995d.js +0 -11
  1091. package/dist/solutions-components/p-453cd5e4.entry.js +0 -11
  1092. package/dist/solutions-components/p-460d4659.entry.js +0 -11
  1093. package/dist/solutions-components/p-486ea405.js +0 -11
  1094. package/dist/solutions-components/p-48fd5600.entry.js +0 -11
  1095. package/dist/solutions-components/p-4a0899a1.entry.js +0 -6
  1096. package/dist/solutions-components/p-4a7214b3.js +0 -6
  1097. package/dist/solutions-components/p-4a86a776.js +0 -474
  1098. package/dist/solutions-components/p-4f308c0c.entry.js +0 -11
  1099. package/dist/solutions-components/p-50ebdbe1.entry.js +0 -6
  1100. package/dist/solutions-components/p-55a4d846.entry.js +0 -18
  1101. package/dist/solutions-components/p-563863b1.entry.js +0 -11
  1102. package/dist/solutions-components/p-56ee8fcf.entry.js +0 -6
  1103. package/dist/solutions-components/p-5730082b.entry.js +0 -17
  1104. package/dist/solutions-components/p-5798a8e1.entry.js +0 -11
  1105. package/dist/solutions-components/p-5a9f7d1d.entry.js +0 -11
  1106. package/dist/solutions-components/p-5dc70753.entry.js +0 -6
  1107. package/dist/solutions-components/p-5ed755a2.entry.js +0 -37
  1108. package/dist/solutions-components/p-5f9044e9.entry.js +0 -6
  1109. package/dist/solutions-components/p-67dce98d.js +0 -11
  1110. package/dist/solutions-components/p-681822de.entry.js +0 -11
  1111. package/dist/solutions-components/p-68ae67e2.js +0 -6
  1112. package/dist/solutions-components/p-6aabe903.entry.js +0 -6
  1113. package/dist/solutions-components/p-6aeb2614.entry.js +0 -6
  1114. package/dist/solutions-components/p-6b0437e2.js +0 -11
  1115. package/dist/solutions-components/p-6b16e621.js +0 -17
  1116. package/dist/solutions-components/p-6bca27ae.entry.js +0 -6
  1117. package/dist/solutions-components/p-6e8fc013.js +0 -11
  1118. package/dist/solutions-components/p-6f090d92.entry.js +0 -11
  1119. package/dist/solutions-components/p-71f15882.js +0 -6
  1120. package/dist/solutions-components/p-72bd2198.js +0 -6
  1121. package/dist/solutions-components/p-734fb637.entry.js +0 -11
  1122. package/dist/solutions-components/p-737ebddb.js +0 -6
  1123. package/dist/solutions-components/p-74ab524f.entry.js +0 -17
  1124. package/dist/solutions-components/p-751105bf.entry.js +0 -11
  1125. package/dist/solutions-components/p-758a5902.js +0 -6
  1126. package/dist/solutions-components/p-75d44bac.entry.js +0 -11
  1127. package/dist/solutions-components/p-76fd5733.js +0 -11
  1128. package/dist/solutions-components/p-78315271.entry.js +0 -11
  1129. package/dist/solutions-components/p-78719506.js +0 -257
  1130. package/dist/solutions-components/p-7903b163.js +0 -12
  1131. package/dist/solutions-components/p-7b49e5e3.js +0 -11
  1132. package/dist/solutions-components/p-7b4a714b.js +0 -11
  1133. package/dist/solutions-components/p-7b7091d4.js +0 -16
  1134. package/dist/solutions-components/p-7c96a204.entry.js +0 -11
  1135. package/dist/solutions-components/p-7d1fd0ab.js +0 -11
  1136. package/dist/solutions-components/p-7d3582a2.js +0 -18
  1137. package/dist/solutions-components/p-7d5a1cdb.js +0 -11
  1138. package/dist/solutions-components/p-7dfb2d00.entry.js +0 -17
  1139. package/dist/solutions-components/p-7ed79fea.entry.js +0 -6
  1140. package/dist/solutions-components/p-805d62b8.js +0 -6
  1141. package/dist/solutions-components/p-817b174b.js +0 -6
  1142. package/dist/solutions-components/p-851fd101.entry.js +0 -6
  1143. package/dist/solutions-components/p-85706e85.js +0 -11
  1144. package/dist/solutions-components/p-8b1bac08.entry.js +0 -11
  1145. package/dist/solutions-components/p-90abad32.js +0 -6
  1146. package/dist/solutions-components/p-9151a991.js +0 -17
  1147. package/dist/solutions-components/p-918b08f8.js +0 -6
  1148. package/dist/solutions-components/p-92123a6f.js +0 -6
  1149. package/dist/solutions-components/p-92de1de9.js +0 -21
  1150. package/dist/solutions-components/p-93015b7f.entry.js +0 -29
  1151. package/dist/solutions-components/p-963026b1.js +0 -11
  1152. package/dist/solutions-components/p-96601723.entry.js +0 -11
  1153. package/dist/solutions-components/p-966deb61.js +0 -16
  1154. package/dist/solutions-components/p-987fc85a.js +0 -6
  1155. package/dist/solutions-components/p-9ae83468.js +0 -6
  1156. package/dist/solutions-components/p-9d8ba56e.js +0 -11
  1157. package/dist/solutions-components/p-a3539120.js +0 -11
  1158. package/dist/solutions-components/p-a36a4f4c.entry.js +0 -11
  1159. package/dist/solutions-components/p-a390ad52.js +0 -6
  1160. package/dist/solutions-components/p-a4f6cb03.js +0 -6
  1161. package/dist/solutions-components/p-a58a83f5.entry.js +0 -11
  1162. package/dist/solutions-components/p-a5f966da.js +0 -6
  1163. package/dist/solutions-components/p-a717b838.entry.js +0 -11
  1164. package/dist/solutions-components/p-aa2b508b.js +0 -6
  1165. package/dist/solutions-components/p-ad77361c.entry.js +0 -11
  1166. package/dist/solutions-components/p-b05c0dab.js +0 -6
  1167. package/dist/solutions-components/p-b2175b0f.js +0 -11
  1168. package/dist/solutions-components/p-b32b130a.entry.js +0 -11
  1169. package/dist/solutions-components/p-b34f269f.entry.js +0 -6
  1170. package/dist/solutions-components/p-b4b19fd3.entry.js +0 -37
  1171. package/dist/solutions-components/p-b62c14e9.entry.js +0 -23
  1172. package/dist/solutions-components/p-b85c70ff.js +0 -6
  1173. package/dist/solutions-components/p-b9569aa8.js +0 -6
  1174. package/dist/solutions-components/p-b9df29d5.entry.js +0 -6
  1175. package/dist/solutions-components/p-c68c6cfc.js +0 -6
  1176. package/dist/solutions-components/p-c7f63eae.entry.js +0 -6
  1177. package/dist/solutions-components/p-c80b582f.js +0 -11
  1178. package/dist/solutions-components/p-c9c400b0.js +0 -6
  1179. package/dist/solutions-components/p-cfdcbbc4.entry.js +0 -11
  1180. package/dist/solutions-components/p-d0a0d58e.js +0 -6
  1181. package/dist/solutions-components/p-d0bd5dc8.js +0 -11
  1182. package/dist/solutions-components/p-d13c5d43.js +0 -6
  1183. package/dist/solutions-components/p-d2dfbb78.entry.js +0 -11
  1184. package/dist/solutions-components/p-d4c7b0b0.entry.js +0 -11
  1185. package/dist/solutions-components/p-d54d34a3.entry.js +0 -11
  1186. package/dist/solutions-components/p-d6c1abd1.js +0 -11
  1187. package/dist/solutions-components/p-d7e59435.entry.js +0 -35
  1188. package/dist/solutions-components/p-dadd5bfb.js +0 -11
  1189. package/dist/solutions-components/p-dc9c209f.entry.js +0 -11
  1190. package/dist/solutions-components/p-e12458f7.js +0 -6
  1191. package/dist/solutions-components/p-e1384eb6.entry.js +0 -6
  1192. package/dist/solutions-components/p-e13bc246.entry.js +0 -18
  1193. package/dist/solutions-components/p-e19a5718.entry.js +0 -11
  1194. package/dist/solutions-components/p-e470b2c7.entry.js +0 -6
  1195. package/dist/solutions-components/p-e4e33d1c.js +0 -6
  1196. package/dist/solutions-components/p-e6330f55.entry.js +0 -11
  1197. package/dist/solutions-components/p-e7b96c06.js +0 -11
  1198. package/dist/solutions-components/p-e84ff0f8.entry.js +0 -6
  1199. package/dist/solutions-components/p-e90f8998.entry.js +0 -11
  1200. package/dist/solutions-components/p-e9f43fe1.entry.js +0 -11
  1201. package/dist/solutions-components/p-ebd369cf.js +0 -6
  1202. package/dist/solutions-components/p-eda91258.entry.js +0 -11
  1203. package/dist/solutions-components/p-ee853883.entry.js +0 -11
  1204. package/dist/solutions-components/p-eea493bc.js +0 -6
  1205. package/dist/solutions-components/p-eec28f93.js +0 -6
  1206. package/dist/solutions-components/p-eee3969d.entry.js +0 -11
  1207. package/dist/solutions-components/p-f03a6d9c.js +0 -61
  1208. package/dist/solutions-components/p-f1aaf8d9.entry.js +0 -6
  1209. package/dist/solutions-components/p-f226673c.js +0 -11
  1210. package/dist/solutions-components/p-f546e45d.js +0 -6
  1211. package/dist/solutions-components/p-fa3d2b1f.js +0 -6
  1212. package/dist/solutions-components/p-fb33ea5f.js +0 -6
  1213. package/dist/solutions-components/p-fb553e61.js +0 -6
  1214. package/dist/solutions-components/p-fb8aa15c.entry.js +0 -11
  1215. package/dist/types/components/add-record-modal/add-record-modal.d.ts +0 -68
  1216. package/dist/types/components/comment-card/comment-card.d.ts +0 -26
  1217. package/dist/types/components/edit-record-modal/edit-record-modal.d.ts +0 -49
  1218. package/dist/types/components/map-search/map-search.d.ts +0 -120
  1219. package/dist/types/components/media-card/media-card.d.ts +0 -80
@@ -0,0 +1,3087 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ 'use strict';
7
+
8
+ const dom = require('./dom-af578b3b.js');
9
+
10
+ /**!
11
+ * Sortable 1.15.0
12
+ * @author RubaXa <trash@rubaxa.org>
13
+ * @author owenm <owen23355@gmail.com>
14
+ * @license MIT
15
+ */
16
+ function ownKeys(object, enumerableOnly) {
17
+ var keys = Object.keys(object);
18
+
19
+ if (Object.getOwnPropertySymbols) {
20
+ var symbols = Object.getOwnPropertySymbols(object);
21
+
22
+ if (enumerableOnly) {
23
+ symbols = symbols.filter(function (sym) {
24
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
25
+ });
26
+ }
27
+
28
+ keys.push.apply(keys, symbols);
29
+ }
30
+
31
+ return keys;
32
+ }
33
+
34
+ function _objectSpread2(target) {
35
+ for (var i = 1; i < arguments.length; i++) {
36
+ var source = arguments[i] != null ? arguments[i] : {};
37
+
38
+ if (i % 2) {
39
+ ownKeys(Object(source), true).forEach(function (key) {
40
+ _defineProperty(target, key, source[key]);
41
+ });
42
+ } else if (Object.getOwnPropertyDescriptors) {
43
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
44
+ } else {
45
+ ownKeys(Object(source)).forEach(function (key) {
46
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
47
+ });
48
+ }
49
+ }
50
+
51
+ return target;
52
+ }
53
+
54
+ function _typeof(obj) {
55
+ "@babel/helpers - typeof";
56
+
57
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
58
+ _typeof = function (obj) {
59
+ return typeof obj;
60
+ };
61
+ } else {
62
+ _typeof = function (obj) {
63
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
64
+ };
65
+ }
66
+
67
+ return _typeof(obj);
68
+ }
69
+
70
+ function _defineProperty(obj, key, value) {
71
+ if (key in obj) {
72
+ Object.defineProperty(obj, key, {
73
+ value: value,
74
+ enumerable: true,
75
+ configurable: true,
76
+ writable: true
77
+ });
78
+ } else {
79
+ obj[key] = value;
80
+ }
81
+
82
+ return obj;
83
+ }
84
+
85
+ function _extends() {
86
+ _extends = Object.assign || function (target) {
87
+ for (var i = 1; i < arguments.length; i++) {
88
+ var source = arguments[i];
89
+
90
+ for (var key in source) {
91
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
92
+ target[key] = source[key];
93
+ }
94
+ }
95
+ }
96
+
97
+ return target;
98
+ };
99
+
100
+ return _extends.apply(this, arguments);
101
+ }
102
+
103
+ function _objectWithoutPropertiesLoose(source, excluded) {
104
+ if (source == null) return {};
105
+ var target = {};
106
+ var sourceKeys = Object.keys(source);
107
+ var key, i;
108
+
109
+ for (i = 0; i < sourceKeys.length; i++) {
110
+ key = sourceKeys[i];
111
+ if (excluded.indexOf(key) >= 0) continue;
112
+ target[key] = source[key];
113
+ }
114
+
115
+ return target;
116
+ }
117
+
118
+ function _objectWithoutProperties(source, excluded) {
119
+ if (source == null) return {};
120
+
121
+ var target = _objectWithoutPropertiesLoose(source, excluded);
122
+
123
+ var key, i;
124
+
125
+ if (Object.getOwnPropertySymbols) {
126
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
127
+
128
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
129
+ key = sourceSymbolKeys[i];
130
+ if (excluded.indexOf(key) >= 0) continue;
131
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
132
+ target[key] = source[key];
133
+ }
134
+ }
135
+
136
+ return target;
137
+ }
138
+
139
+ var version = "1.15.0";
140
+
141
+ function userAgent(pattern) {
142
+ if (typeof window !== 'undefined' && window.navigator) {
143
+ return !! /*@__PURE__*/navigator.userAgent.match(pattern);
144
+ }
145
+ }
146
+
147
+ var IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i);
148
+ var Edge = userAgent(/Edge/i);
149
+ var FireFox = userAgent(/firefox/i);
150
+ var Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);
151
+ var IOS = userAgent(/iP(ad|od|hone)/i);
152
+ var ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);
153
+
154
+ var captureMode = {
155
+ capture: false,
156
+ passive: false
157
+ };
158
+
159
+ function on(el, event, fn) {
160
+ el.addEventListener(event, fn, !IE11OrLess && captureMode);
161
+ }
162
+
163
+ function off(el, event, fn) {
164
+ el.removeEventListener(event, fn, !IE11OrLess && captureMode);
165
+ }
166
+
167
+ function matches(
168
+ /**HTMLElement*/
169
+ el,
170
+ /**String*/
171
+ selector) {
172
+ if (!selector) return;
173
+ selector[0] === '>' && (selector = selector.substring(1));
174
+
175
+ if (el) {
176
+ try {
177
+ if (el.matches) {
178
+ return el.matches(selector);
179
+ } else if (el.msMatchesSelector) {
180
+ return el.msMatchesSelector(selector);
181
+ } else if (el.webkitMatchesSelector) {
182
+ return el.webkitMatchesSelector(selector);
183
+ }
184
+ } catch (_) {
185
+ return false;
186
+ }
187
+ }
188
+
189
+ return false;
190
+ }
191
+
192
+ function getParentOrHost(el) {
193
+ return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;
194
+ }
195
+
196
+ function closest(
197
+ /**HTMLElement*/
198
+ el,
199
+ /**String*/
200
+ selector,
201
+ /**HTMLElement*/
202
+ ctx, includeCTX) {
203
+ if (el) {
204
+ ctx = ctx || document;
205
+
206
+ do {
207
+ if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {
208
+ return el;
209
+ }
210
+
211
+ if (el === ctx) break;
212
+ /* jshint boss:true */
213
+ } while (el = getParentOrHost(el));
214
+ }
215
+
216
+ return null;
217
+ }
218
+
219
+ var R_SPACE = /\s+/g;
220
+
221
+ function toggleClass(el, name, state) {
222
+ if (el && name) {
223
+ if (el.classList) {
224
+ el.classList[state ? 'add' : 'remove'](name);
225
+ } else {
226
+ var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');
227
+ el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');
228
+ }
229
+ }
230
+ }
231
+
232
+ function css(el, prop, val) {
233
+ var style = el && el.style;
234
+
235
+ if (style) {
236
+ if (val === void 0) {
237
+ if (document.defaultView && document.defaultView.getComputedStyle) {
238
+ val = document.defaultView.getComputedStyle(el, '');
239
+ } else if (el.currentStyle) {
240
+ val = el.currentStyle;
241
+ }
242
+
243
+ return prop === void 0 ? val : val[prop];
244
+ } else {
245
+ if (!(prop in style) && prop.indexOf('webkit') === -1) {
246
+ prop = '-webkit-' + prop;
247
+ }
248
+
249
+ style[prop] = val + (typeof val === 'string' ? '' : 'px');
250
+ }
251
+ }
252
+ }
253
+
254
+ function matrix(el, selfOnly) {
255
+ var appliedTransforms = '';
256
+
257
+ if (typeof el === 'string') {
258
+ appliedTransforms = el;
259
+ } else {
260
+ do {
261
+ var transform = css(el, 'transform');
262
+
263
+ if (transform && transform !== 'none') {
264
+ appliedTransforms = transform + ' ' + appliedTransforms;
265
+ }
266
+ /* jshint boss:true */
267
+
268
+ } while (!selfOnly && (el = el.parentNode));
269
+ }
270
+
271
+ var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;
272
+ /*jshint -W056 */
273
+
274
+ return matrixFn && new matrixFn(appliedTransforms);
275
+ }
276
+
277
+ function find(ctx, tagName, iterator) {
278
+ if (ctx) {
279
+ var list = ctx.getElementsByTagName(tagName),
280
+ i = 0,
281
+ n = list.length;
282
+
283
+ if (iterator) {
284
+ for (; i < n; i++) {
285
+ iterator(list[i], i);
286
+ }
287
+ }
288
+
289
+ return list;
290
+ }
291
+
292
+ return [];
293
+ }
294
+
295
+ function getWindowScrollingElement() {
296
+ var scrollingElement = document.scrollingElement;
297
+
298
+ if (scrollingElement) {
299
+ return scrollingElement;
300
+ } else {
301
+ return document.documentElement;
302
+ }
303
+ }
304
+ /**
305
+ * Returns the "bounding client rect" of given element
306
+ * @param {HTMLElement} el The element whose boundingClientRect is wanted
307
+ * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container
308
+ * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr
309
+ * @param {[Boolean]} undoScale Whether the container's scale() should be undone
310
+ * @param {[HTMLElement]} container The parent the element will be placed in
311
+ * @return {Object} The boundingClientRect of el, with specified adjustments
312
+ */
313
+
314
+
315
+ function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {
316
+ if (!el.getBoundingClientRect && el !== window) return;
317
+ var elRect, top, left, bottom, right, height, width;
318
+
319
+ if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {
320
+ elRect = el.getBoundingClientRect();
321
+ top = elRect.top;
322
+ left = elRect.left;
323
+ bottom = elRect.bottom;
324
+ right = elRect.right;
325
+ height = elRect.height;
326
+ width = elRect.width;
327
+ } else {
328
+ top = 0;
329
+ left = 0;
330
+ bottom = window.innerHeight;
331
+ right = window.innerWidth;
332
+ height = window.innerHeight;
333
+ width = window.innerWidth;
334
+ }
335
+
336
+ if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {
337
+ // Adjust for translate()
338
+ container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)
339
+ // Not needed on <= IE11
340
+
341
+ if (!IE11OrLess) {
342
+ do {
343
+ if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {
344
+ var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container
345
+
346
+ top -= containerRect.top + parseInt(css(container, 'border-top-width'));
347
+ left -= containerRect.left + parseInt(css(container, 'border-left-width'));
348
+ bottom = top + elRect.height;
349
+ right = left + elRect.width;
350
+ break;
351
+ }
352
+ /* jshint boss:true */
353
+
354
+ } while (container = container.parentNode);
355
+ }
356
+ }
357
+
358
+ if (undoScale && el !== window) {
359
+ // Adjust for scale()
360
+ var elMatrix = matrix(container || el),
361
+ scaleX = elMatrix && elMatrix.a,
362
+ scaleY = elMatrix && elMatrix.d;
363
+
364
+ if (elMatrix) {
365
+ top /= scaleY;
366
+ left /= scaleX;
367
+ width /= scaleX;
368
+ height /= scaleY;
369
+ bottom = top + height;
370
+ right = left + width;
371
+ }
372
+ }
373
+
374
+ return {
375
+ top: top,
376
+ left: left,
377
+ bottom: bottom,
378
+ right: right,
379
+ width: width,
380
+ height: height
381
+ };
382
+ }
383
+ /**
384
+ * Checks if a side of an element is scrolled past a side of its parents
385
+ * @param {HTMLElement} el The element who's side being scrolled out of view is in question
386
+ * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')
387
+ * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')
388
+ * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element
389
+ */
390
+
391
+
392
+ function isScrolledPast(el, elSide, parentSide) {
393
+ var parent = getParentAutoScrollElement(el, true),
394
+ elSideVal = getRect(el)[elSide];
395
+ /* jshint boss:true */
396
+
397
+ while (parent) {
398
+ var parentSideVal = getRect(parent)[parentSide],
399
+ visible = void 0;
400
+
401
+ if (parentSide === 'top' || parentSide === 'left') {
402
+ visible = elSideVal >= parentSideVal;
403
+ } else {
404
+ visible = elSideVal <= parentSideVal;
405
+ }
406
+
407
+ if (!visible) return parent;
408
+ if (parent === getWindowScrollingElement()) break;
409
+ parent = getParentAutoScrollElement(parent, false);
410
+ }
411
+
412
+ return false;
413
+ }
414
+ /**
415
+ * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)
416
+ * and non-draggable elements
417
+ * @param {HTMLElement} el The parent element
418
+ * @param {Number} childNum The index of the child
419
+ * @param {Object} options Parent Sortable's options
420
+ * @return {HTMLElement} The child at index childNum, or null if not found
421
+ */
422
+
423
+
424
+ function getChild(el, childNum, options, includeDragEl) {
425
+ var currentChild = 0,
426
+ i = 0,
427
+ children = el.children;
428
+
429
+ while (i < children.length) {
430
+ if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && (includeDragEl || children[i] !== Sortable.dragged) && closest(children[i], options.draggable, el, false)) {
431
+ if (currentChild === childNum) {
432
+ return children[i];
433
+ }
434
+
435
+ currentChild++;
436
+ }
437
+
438
+ i++;
439
+ }
440
+
441
+ return null;
442
+ }
443
+ /**
444
+ * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)
445
+ * @param {HTMLElement} el Parent element
446
+ * @param {selector} selector Any other elements that should be ignored
447
+ * @return {HTMLElement} The last child, ignoring ghostEl
448
+ */
449
+
450
+
451
+ function lastChild(el, selector) {
452
+ var last = el.lastElementChild;
453
+
454
+ while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {
455
+ last = last.previousElementSibling;
456
+ }
457
+
458
+ return last || null;
459
+ }
460
+ /**
461
+ * Returns the index of an element within its parent for a selected set of
462
+ * elements
463
+ * @param {HTMLElement} el
464
+ * @param {selector} selector
465
+ * @return {number}
466
+ */
467
+
468
+
469
+ function index(el, selector) {
470
+ var index = 0;
471
+
472
+ if (!el || !el.parentNode) {
473
+ return -1;
474
+ }
475
+ /* jshint boss:true */
476
+
477
+
478
+ while (el = el.previousElementSibling) {
479
+ if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {
480
+ index++;
481
+ }
482
+ }
483
+
484
+ return index;
485
+ }
486
+ /**
487
+ * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.
488
+ * The value is returned in real pixels.
489
+ * @param {HTMLElement} el
490
+ * @return {Array} Offsets in the format of [left, top]
491
+ */
492
+
493
+
494
+ function getRelativeScrollOffset(el) {
495
+ var offsetLeft = 0,
496
+ offsetTop = 0,
497
+ winScroller = getWindowScrollingElement();
498
+
499
+ if (el) {
500
+ do {
501
+ var elMatrix = matrix(el),
502
+ scaleX = elMatrix.a,
503
+ scaleY = elMatrix.d;
504
+ offsetLeft += el.scrollLeft * scaleX;
505
+ offsetTop += el.scrollTop * scaleY;
506
+ } while (el !== winScroller && (el = el.parentNode));
507
+ }
508
+
509
+ return [offsetLeft, offsetTop];
510
+ }
511
+ /**
512
+ * Returns the index of the object within the given array
513
+ * @param {Array} arr Array that may or may not hold the object
514
+ * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find
515
+ * @return {Number} The index of the object in the array, or -1
516
+ */
517
+
518
+
519
+ function indexOfObject(arr, obj) {
520
+ for (var i in arr) {
521
+ if (!arr.hasOwnProperty(i)) continue;
522
+
523
+ for (var key in obj) {
524
+ if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);
525
+ }
526
+ }
527
+
528
+ return -1;
529
+ }
530
+
531
+ function getParentAutoScrollElement(el, includeSelf) {
532
+ // skip to window
533
+ if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();
534
+ var elem = el;
535
+ var gotSelf = false;
536
+
537
+ do {
538
+ // we don't need to get elem css if it isn't even overflowing in the first place (performance)
539
+ if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {
540
+ var elemCSS = css(elem);
541
+
542
+ if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {
543
+ if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();
544
+ if (gotSelf || includeSelf) return elem;
545
+ gotSelf = true;
546
+ }
547
+ }
548
+ /* jshint boss:true */
549
+
550
+ } while (elem = elem.parentNode);
551
+
552
+ return getWindowScrollingElement();
553
+ }
554
+
555
+ function extend(dst, src) {
556
+ if (dst && src) {
557
+ for (var key in src) {
558
+ if (src.hasOwnProperty(key)) {
559
+ dst[key] = src[key];
560
+ }
561
+ }
562
+ }
563
+
564
+ return dst;
565
+ }
566
+
567
+ function isRectEqual(rect1, rect2) {
568
+ return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);
569
+ }
570
+
571
+ var _throttleTimeout;
572
+
573
+ function throttle(callback, ms) {
574
+ return function () {
575
+ if (!_throttleTimeout) {
576
+ var args = arguments,
577
+ _this = this;
578
+
579
+ if (args.length === 1) {
580
+ callback.call(_this, args[0]);
581
+ } else {
582
+ callback.apply(_this, args);
583
+ }
584
+
585
+ _throttleTimeout = setTimeout(function () {
586
+ _throttleTimeout = void 0;
587
+ }, ms);
588
+ }
589
+ };
590
+ }
591
+
592
+ function cancelThrottle() {
593
+ clearTimeout(_throttleTimeout);
594
+ _throttleTimeout = void 0;
595
+ }
596
+
597
+ function scrollBy(el, x, y) {
598
+ el.scrollLeft += x;
599
+ el.scrollTop += y;
600
+ }
601
+
602
+ function clone(el) {
603
+ var Polymer = window.Polymer;
604
+ var $ = window.jQuery || window.Zepto;
605
+
606
+ if (Polymer && Polymer.dom) {
607
+ return Polymer.dom(el).cloneNode(true);
608
+ } else if ($) {
609
+ return $(el).clone(true)[0];
610
+ } else {
611
+ return el.cloneNode(true);
612
+ }
613
+ }
614
+
615
+ var expando = 'Sortable' + new Date().getTime();
616
+
617
+ function AnimationStateManager() {
618
+ var animationStates = [],
619
+ animationCallbackId;
620
+ return {
621
+ captureAnimationState: function captureAnimationState() {
622
+ animationStates = [];
623
+ if (!this.options.animation) return;
624
+ var children = [].slice.call(this.el.children);
625
+ children.forEach(function (child) {
626
+ if (css(child, 'display') === 'none' || child === Sortable.ghost) return;
627
+ animationStates.push({
628
+ target: child,
629
+ rect: getRect(child)
630
+ });
631
+
632
+ var fromRect = _objectSpread2({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation
633
+
634
+
635
+ if (child.thisAnimationDuration) {
636
+ var childMatrix = matrix(child, true);
637
+
638
+ if (childMatrix) {
639
+ fromRect.top -= childMatrix.f;
640
+ fromRect.left -= childMatrix.e;
641
+ }
642
+ }
643
+
644
+ child.fromRect = fromRect;
645
+ });
646
+ },
647
+ addAnimationState: function addAnimationState(state) {
648
+ animationStates.push(state);
649
+ },
650
+ removeAnimationState: function removeAnimationState(target) {
651
+ animationStates.splice(indexOfObject(animationStates, {
652
+ target: target
653
+ }), 1);
654
+ },
655
+ animateAll: function animateAll(callback) {
656
+ var _this = this;
657
+
658
+ if (!this.options.animation) {
659
+ clearTimeout(animationCallbackId);
660
+ if (typeof callback === 'function') callback();
661
+ return;
662
+ }
663
+
664
+ var animating = false,
665
+ animationTime = 0;
666
+ animationStates.forEach(function (state) {
667
+ var time = 0,
668
+ target = state.target,
669
+ fromRect = target.fromRect,
670
+ toRect = getRect(target),
671
+ prevFromRect = target.prevFromRect,
672
+ prevToRect = target.prevToRect,
673
+ animatingRect = state.rect,
674
+ targetMatrix = matrix(target, true);
675
+
676
+ if (targetMatrix) {
677
+ // Compensate for current animation
678
+ toRect.top -= targetMatrix.f;
679
+ toRect.left -= targetMatrix.e;
680
+ }
681
+
682
+ target.toRect = toRect;
683
+
684
+ if (target.thisAnimationDuration) {
685
+ // Could also check if animatingRect is between fromRect and toRect
686
+ if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect
687
+ (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {
688
+ // If returning to same place as started from animation and on same axis
689
+ time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);
690
+ }
691
+ } // if fromRect != toRect: animate
692
+
693
+
694
+ if (!isRectEqual(toRect, fromRect)) {
695
+ target.prevFromRect = fromRect;
696
+ target.prevToRect = toRect;
697
+
698
+ if (!time) {
699
+ time = _this.options.animation;
700
+ }
701
+
702
+ _this.animate(target, animatingRect, toRect, time);
703
+ }
704
+
705
+ if (time) {
706
+ animating = true;
707
+ animationTime = Math.max(animationTime, time);
708
+ clearTimeout(target.animationResetTimer);
709
+ target.animationResetTimer = setTimeout(function () {
710
+ target.animationTime = 0;
711
+ target.prevFromRect = null;
712
+ target.fromRect = null;
713
+ target.prevToRect = null;
714
+ target.thisAnimationDuration = null;
715
+ }, time);
716
+ target.thisAnimationDuration = time;
717
+ }
718
+ });
719
+ clearTimeout(animationCallbackId);
720
+
721
+ if (!animating) {
722
+ if (typeof callback === 'function') callback();
723
+ } else {
724
+ animationCallbackId = setTimeout(function () {
725
+ if (typeof callback === 'function') callback();
726
+ }, animationTime);
727
+ }
728
+
729
+ animationStates = [];
730
+ },
731
+ animate: function animate(target, currentRect, toRect, duration) {
732
+ if (duration) {
733
+ css(target, 'transition', '');
734
+ css(target, 'transform', '');
735
+ var elMatrix = matrix(this.el),
736
+ scaleX = elMatrix && elMatrix.a,
737
+ scaleY = elMatrix && elMatrix.d,
738
+ translateX = (currentRect.left - toRect.left) / (scaleX || 1),
739
+ translateY = (currentRect.top - toRect.top) / (scaleY || 1);
740
+ target.animatingX = !!translateX;
741
+ target.animatingY = !!translateY;
742
+ css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');
743
+ this.forRepaintDummy = repaint(target); // repaint
744
+
745
+ css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));
746
+ css(target, 'transform', 'translate3d(0,0,0)');
747
+ typeof target.animated === 'number' && clearTimeout(target.animated);
748
+ target.animated = setTimeout(function () {
749
+ css(target, 'transition', '');
750
+ css(target, 'transform', '');
751
+ target.animated = false;
752
+ target.animatingX = false;
753
+ target.animatingY = false;
754
+ }, duration);
755
+ }
756
+ }
757
+ };
758
+ }
759
+
760
+ function repaint(target) {
761
+ return target.offsetWidth;
762
+ }
763
+
764
+ function calculateRealTime(animatingRect, fromRect, toRect, options) {
765
+ return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;
766
+ }
767
+
768
+ var plugins = [];
769
+ var defaults = {
770
+ initializeByDefault: true
771
+ };
772
+ var PluginManager = {
773
+ mount: function mount(plugin) {
774
+ // Set default static properties
775
+ for (var option in defaults) {
776
+ if (defaults.hasOwnProperty(option) && !(option in plugin)) {
777
+ plugin[option] = defaults[option];
778
+ }
779
+ }
780
+
781
+ plugins.forEach(function (p) {
782
+ if (p.pluginName === plugin.pluginName) {
783
+ throw "Sortable: Cannot mount plugin ".concat(plugin.pluginName, " more than once");
784
+ }
785
+ });
786
+ plugins.push(plugin);
787
+ },
788
+ pluginEvent: function pluginEvent(eventName, sortable, evt) {
789
+ var _this = this;
790
+
791
+ this.eventCanceled = false;
792
+
793
+ evt.cancel = function () {
794
+ _this.eventCanceled = true;
795
+ };
796
+
797
+ var eventNameGlobal = eventName + 'Global';
798
+ plugins.forEach(function (plugin) {
799
+ if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable
800
+
801
+ if (sortable[plugin.pluginName][eventNameGlobal]) {
802
+ sortable[plugin.pluginName][eventNameGlobal](_objectSpread2({
803
+ sortable: sortable
804
+ }, evt));
805
+ } // Only fire plugin event if plugin is enabled in this sortable,
806
+ // and plugin has event defined
807
+
808
+
809
+ if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {
810
+ sortable[plugin.pluginName][eventName](_objectSpread2({
811
+ sortable: sortable
812
+ }, evt));
813
+ }
814
+ });
815
+ },
816
+ initializePlugins: function initializePlugins(sortable, el, defaults, options) {
817
+ plugins.forEach(function (plugin) {
818
+ var pluginName = plugin.pluginName;
819
+ if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;
820
+ var initialized = new plugin(sortable, el, sortable.options);
821
+ initialized.sortable = sortable;
822
+ initialized.options = sortable.options;
823
+ sortable[pluginName] = initialized; // Add default options from plugin
824
+
825
+ _extends(defaults, initialized.defaults);
826
+ });
827
+
828
+ for (var option in sortable.options) {
829
+ if (!sortable.options.hasOwnProperty(option)) continue;
830
+ var modified = this.modifyOption(sortable, option, sortable.options[option]);
831
+
832
+ if (typeof modified !== 'undefined') {
833
+ sortable.options[option] = modified;
834
+ }
835
+ }
836
+ },
837
+ getEventProperties: function getEventProperties(name, sortable) {
838
+ var eventProperties = {};
839
+ plugins.forEach(function (plugin) {
840
+ if (typeof plugin.eventProperties !== 'function') return;
841
+
842
+ _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));
843
+ });
844
+ return eventProperties;
845
+ },
846
+ modifyOption: function modifyOption(sortable, name, value) {
847
+ var modifiedValue;
848
+ plugins.forEach(function (plugin) {
849
+ // Plugin must exist on the Sortable
850
+ if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin
851
+
852
+ if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {
853
+ modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);
854
+ }
855
+ });
856
+ return modifiedValue;
857
+ }
858
+ };
859
+
860
+ function dispatchEvent(_ref) {
861
+ var sortable = _ref.sortable,
862
+ rootEl = _ref.rootEl,
863
+ name = _ref.name,
864
+ targetEl = _ref.targetEl,
865
+ cloneEl = _ref.cloneEl,
866
+ toEl = _ref.toEl,
867
+ fromEl = _ref.fromEl,
868
+ oldIndex = _ref.oldIndex,
869
+ newIndex = _ref.newIndex,
870
+ oldDraggableIndex = _ref.oldDraggableIndex,
871
+ newDraggableIndex = _ref.newDraggableIndex,
872
+ originalEvent = _ref.originalEvent,
873
+ putSortable = _ref.putSortable,
874
+ extraEventProperties = _ref.extraEventProperties;
875
+ sortable = sortable || rootEl && rootEl[expando];
876
+ if (!sortable) return;
877
+ var evt,
878
+ options = sortable.options,
879
+ onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature
880
+
881
+ if (window.CustomEvent && !IE11OrLess && !Edge) {
882
+ evt = new CustomEvent(name, {
883
+ bubbles: true,
884
+ cancelable: true
885
+ });
886
+ } else {
887
+ evt = document.createEvent('Event');
888
+ evt.initEvent(name, true, true);
889
+ }
890
+
891
+ evt.to = toEl || rootEl;
892
+ evt.from = fromEl || rootEl;
893
+ evt.item = targetEl || rootEl;
894
+ evt.clone = cloneEl;
895
+ evt.oldIndex = oldIndex;
896
+ evt.newIndex = newIndex;
897
+ evt.oldDraggableIndex = oldDraggableIndex;
898
+ evt.newDraggableIndex = newDraggableIndex;
899
+ evt.originalEvent = originalEvent;
900
+ evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;
901
+
902
+ var allEventProperties = _objectSpread2(_objectSpread2({}, extraEventProperties), PluginManager.getEventProperties(name, sortable));
903
+
904
+ for (var option in allEventProperties) {
905
+ evt[option] = allEventProperties[option];
906
+ }
907
+
908
+ if (rootEl) {
909
+ rootEl.dispatchEvent(evt);
910
+ }
911
+
912
+ if (options[onName]) {
913
+ options[onName].call(sortable, evt);
914
+ }
915
+ }
916
+
917
+ var _excluded = ["evt"];
918
+
919
+ var pluginEvent = function pluginEvent(eventName, sortable) {
920
+ var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
921
+ originalEvent = _ref.evt,
922
+ data = _objectWithoutProperties(_ref, _excluded);
923
+
924
+ PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread2({
925
+ dragEl: dragEl,
926
+ parentEl: parentEl,
927
+ ghostEl: ghostEl,
928
+ rootEl: rootEl,
929
+ nextEl: nextEl,
930
+ lastDownEl: lastDownEl,
931
+ cloneEl: cloneEl,
932
+ cloneHidden: cloneHidden,
933
+ dragStarted: moved,
934
+ putSortable: putSortable,
935
+ activeSortable: Sortable.active,
936
+ originalEvent: originalEvent,
937
+ oldIndex: oldIndex,
938
+ oldDraggableIndex: oldDraggableIndex,
939
+ newIndex: newIndex,
940
+ newDraggableIndex: newDraggableIndex,
941
+ hideGhostForTarget: _hideGhostForTarget,
942
+ unhideGhostForTarget: _unhideGhostForTarget,
943
+ cloneNowHidden: function cloneNowHidden() {
944
+ cloneHidden = true;
945
+ },
946
+ cloneNowShown: function cloneNowShown() {
947
+ cloneHidden = false;
948
+ },
949
+ dispatchSortableEvent: function dispatchSortableEvent(name) {
950
+ _dispatchEvent({
951
+ sortable: sortable,
952
+ name: name,
953
+ originalEvent: originalEvent
954
+ });
955
+ }
956
+ }, data));
957
+ };
958
+
959
+ function _dispatchEvent(info) {
960
+ dispatchEvent(_objectSpread2({
961
+ putSortable: putSortable,
962
+ cloneEl: cloneEl,
963
+ targetEl: dragEl,
964
+ rootEl: rootEl,
965
+ oldIndex: oldIndex,
966
+ oldDraggableIndex: oldDraggableIndex,
967
+ newIndex: newIndex,
968
+ newDraggableIndex: newDraggableIndex
969
+ }, info));
970
+ }
971
+
972
+ var dragEl,
973
+ parentEl,
974
+ ghostEl,
975
+ rootEl,
976
+ nextEl,
977
+ lastDownEl,
978
+ cloneEl,
979
+ cloneHidden,
980
+ oldIndex,
981
+ newIndex,
982
+ oldDraggableIndex,
983
+ newDraggableIndex,
984
+ activeGroup,
985
+ putSortable,
986
+ awaitingDragStarted = false,
987
+ ignoreNextClick = false,
988
+ sortables = [],
989
+ tapEvt,
990
+ touchEvt,
991
+ lastDx,
992
+ lastDy,
993
+ tapDistanceLeft,
994
+ tapDistanceTop,
995
+ moved,
996
+ lastTarget,
997
+ lastDirection,
998
+ pastFirstInvertThresh = false,
999
+ isCircumstantialInvert = false,
1000
+ targetMoveDistance,
1001
+ // For positioning ghost absolutely
1002
+ ghostRelativeParent,
1003
+ ghostRelativeParentInitialScroll = [],
1004
+ // (left, top)
1005
+ _silent = false,
1006
+ savedInputChecked = [];
1007
+ /** @const */
1008
+
1009
+ var documentExists = typeof document !== 'undefined',
1010
+ PositionGhostAbsolutely = IOS,
1011
+ CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',
1012
+ // This will not pass for IE9, because IE9 DnD only works on anchors
1013
+ supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),
1014
+ supportCssPointerEvents = function () {
1015
+ if (!documentExists) return; // false when <= IE11
1016
+
1017
+ if (IE11OrLess) {
1018
+ return false;
1019
+ }
1020
+
1021
+ var el = document.createElement('x');
1022
+ el.style.cssText = 'pointer-events:auto';
1023
+ return el.style.pointerEvents === 'auto';
1024
+ }(),
1025
+ _detectDirection = function _detectDirection(el, options) {
1026
+ var elCSS = css(el),
1027
+ elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),
1028
+ child1 = getChild(el, 0, options),
1029
+ child2 = getChild(el, 1, options),
1030
+ firstChildCSS = child1 && css(child1),
1031
+ secondChildCSS = child2 && css(child2),
1032
+ firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,
1033
+ secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;
1034
+
1035
+ if (elCSS.display === 'flex') {
1036
+ return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';
1037
+ }
1038
+
1039
+ if (elCSS.display === 'grid') {
1040
+ return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';
1041
+ }
1042
+
1043
+ if (child1 && firstChildCSS["float"] && firstChildCSS["float"] !== 'none') {
1044
+ var touchingSideChild2 = firstChildCSS["float"] === 'left' ? 'left' : 'right';
1045
+ return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';
1046
+ }
1047
+
1048
+ return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';
1049
+ },
1050
+ _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {
1051
+ var dragElS1Opp = vertical ? dragRect.left : dragRect.top,
1052
+ dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,
1053
+ dragElOppLength = vertical ? dragRect.width : dragRect.height,
1054
+ targetS1Opp = vertical ? targetRect.left : targetRect.top,
1055
+ targetS2Opp = vertical ? targetRect.right : targetRect.bottom,
1056
+ targetOppLength = vertical ? targetRect.width : targetRect.height;
1057
+ return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;
1058
+ },
1059
+
1060
+ /**
1061
+ * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.
1062
+ * @param {Number} x X position
1063
+ * @param {Number} y Y position
1064
+ * @return {HTMLElement} Element of the first found nearest Sortable
1065
+ */
1066
+ _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {
1067
+ var ret;
1068
+ sortables.some(function (sortable) {
1069
+ var threshold = sortable[expando].options.emptyInsertThreshold;
1070
+ if (!threshold || lastChild(sortable)) return;
1071
+ var rect = getRect(sortable),
1072
+ insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,
1073
+ insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;
1074
+
1075
+ if (insideHorizontally && insideVertically) {
1076
+ return ret = sortable;
1077
+ }
1078
+ });
1079
+ return ret;
1080
+ },
1081
+ _prepareGroup = function _prepareGroup(options) {
1082
+ function toFn(value, pull) {
1083
+ return function (to, from, dragEl, evt) {
1084
+ var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;
1085
+
1086
+ if (value == null && (pull || sameGroup)) {
1087
+ // Default pull value
1088
+ // Default pull and put value if same group
1089
+ return true;
1090
+ } else if (value == null || value === false) {
1091
+ return false;
1092
+ } else if (pull && value === 'clone') {
1093
+ return value;
1094
+ } else if (typeof value === 'function') {
1095
+ return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);
1096
+ } else {
1097
+ var otherGroup = (pull ? to : from).options.group.name;
1098
+ return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;
1099
+ }
1100
+ };
1101
+ }
1102
+
1103
+ var group = {};
1104
+ var originalGroup = options.group;
1105
+
1106
+ if (!originalGroup || _typeof(originalGroup) != 'object') {
1107
+ originalGroup = {
1108
+ name: originalGroup
1109
+ };
1110
+ }
1111
+
1112
+ group.name = originalGroup.name;
1113
+ group.checkPull = toFn(originalGroup.pull, true);
1114
+ group.checkPut = toFn(originalGroup.put);
1115
+ group.revertClone = originalGroup.revertClone;
1116
+ options.group = group;
1117
+ },
1118
+ _hideGhostForTarget = function _hideGhostForTarget() {
1119
+ if (!supportCssPointerEvents && ghostEl) {
1120
+ css(ghostEl, 'display', 'none');
1121
+ }
1122
+ },
1123
+ _unhideGhostForTarget = function _unhideGhostForTarget() {
1124
+ if (!supportCssPointerEvents && ghostEl) {
1125
+ css(ghostEl, 'display', '');
1126
+ }
1127
+ }; // #1184 fix - Prevent click event on fallback if dragged but item not changed position
1128
+
1129
+
1130
+ if (documentExists && !ChromeForAndroid) {
1131
+ document.addEventListener('click', function (evt) {
1132
+ if (ignoreNextClick) {
1133
+ evt.preventDefault();
1134
+ evt.stopPropagation && evt.stopPropagation();
1135
+ evt.stopImmediatePropagation && evt.stopImmediatePropagation();
1136
+ ignoreNextClick = false;
1137
+ return false;
1138
+ }
1139
+ }, true);
1140
+ }
1141
+
1142
+ var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {
1143
+ if (dragEl) {
1144
+ evt = evt.touches ? evt.touches[0] : evt;
1145
+
1146
+ var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);
1147
+
1148
+ if (nearest) {
1149
+ // Create imitation event
1150
+ var event = {};
1151
+
1152
+ for (var i in evt) {
1153
+ if (evt.hasOwnProperty(i)) {
1154
+ event[i] = evt[i];
1155
+ }
1156
+ }
1157
+
1158
+ event.target = event.rootEl = nearest;
1159
+ event.preventDefault = void 0;
1160
+ event.stopPropagation = void 0;
1161
+
1162
+ nearest[expando]._onDragOver(event);
1163
+ }
1164
+ }
1165
+ };
1166
+
1167
+ var _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {
1168
+ if (dragEl) {
1169
+ dragEl.parentNode[expando]._isOutsideThisEl(evt.target);
1170
+ }
1171
+ };
1172
+ /**
1173
+ * @class Sortable
1174
+ * @param {HTMLElement} el
1175
+ * @param {Object} [options]
1176
+ */
1177
+
1178
+
1179
+ function Sortable(el, options) {
1180
+ if (!(el && el.nodeType && el.nodeType === 1)) {
1181
+ throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(el));
1182
+ }
1183
+
1184
+ this.el = el; // root element
1185
+
1186
+ this.options = options = _extends({}, options); // Export instance
1187
+
1188
+ el[expando] = this;
1189
+ var defaults = {
1190
+ group: null,
1191
+ sort: true,
1192
+ disabled: false,
1193
+ store: null,
1194
+ handle: null,
1195
+ draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',
1196
+ swapThreshold: 1,
1197
+ // percentage; 0 <= x <= 1
1198
+ invertSwap: false,
1199
+ // invert always
1200
+ invertedSwapThreshold: null,
1201
+ // will be set to same as swapThreshold if default
1202
+ removeCloneOnHide: true,
1203
+ direction: function direction() {
1204
+ return _detectDirection(el, this.options);
1205
+ },
1206
+ ghostClass: 'sortable-ghost',
1207
+ chosenClass: 'sortable-chosen',
1208
+ dragClass: 'sortable-drag',
1209
+ ignore: 'a, img',
1210
+ filter: null,
1211
+ preventOnFilter: true,
1212
+ animation: 0,
1213
+ easing: null,
1214
+ setData: function setData(dataTransfer, dragEl) {
1215
+ dataTransfer.setData('Text', dragEl.textContent);
1216
+ },
1217
+ dropBubble: false,
1218
+ dragoverBubble: false,
1219
+ dataIdAttr: 'data-id',
1220
+ delay: 0,
1221
+ delayOnTouchOnly: false,
1222
+ touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,
1223
+ forceFallback: false,
1224
+ fallbackClass: 'sortable-fallback',
1225
+ fallbackOnBody: false,
1226
+ fallbackTolerance: 0,
1227
+ fallbackOffset: {
1228
+ x: 0,
1229
+ y: 0
1230
+ },
1231
+ supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window && !Safari,
1232
+ emptyInsertThreshold: 5
1233
+ };
1234
+ PluginManager.initializePlugins(this, el, defaults); // Set default options
1235
+
1236
+ for (var name in defaults) {
1237
+ !(name in options) && (options[name] = defaults[name]);
1238
+ }
1239
+
1240
+ _prepareGroup(options); // Bind all private methods
1241
+
1242
+
1243
+ for (var fn in this) {
1244
+ if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {
1245
+ this[fn] = this[fn].bind(this);
1246
+ }
1247
+ } // Setup drag mode
1248
+
1249
+
1250
+ this.nativeDraggable = options.forceFallback ? false : supportDraggable;
1251
+
1252
+ if (this.nativeDraggable) {
1253
+ // Touch start threshold cannot be greater than the native dragstart threshold
1254
+ this.options.touchStartThreshold = 1;
1255
+ } // Bind events
1256
+
1257
+
1258
+ if (options.supportPointer) {
1259
+ on(el, 'pointerdown', this._onTapStart);
1260
+ } else {
1261
+ on(el, 'mousedown', this._onTapStart);
1262
+ on(el, 'touchstart', this._onTapStart);
1263
+ }
1264
+
1265
+ if (this.nativeDraggable) {
1266
+ on(el, 'dragover', this);
1267
+ on(el, 'dragenter', this);
1268
+ }
1269
+
1270
+ sortables.push(this.el); // Restore sorting
1271
+
1272
+ options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager
1273
+
1274
+ _extends(this, AnimationStateManager());
1275
+ }
1276
+
1277
+ Sortable.prototype =
1278
+ /** @lends Sortable.prototype */
1279
+ {
1280
+ constructor: Sortable,
1281
+ _isOutsideThisEl: function _isOutsideThisEl(target) {
1282
+ if (!this.el.contains(target) && target !== this.el) {
1283
+ lastTarget = null;
1284
+ }
1285
+ },
1286
+ _getDirection: function _getDirection(evt, target) {
1287
+ return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;
1288
+ },
1289
+ _onTapStart: function _onTapStart(
1290
+ /** Event|TouchEvent */
1291
+ evt) {
1292
+ if (!evt.cancelable) return;
1293
+
1294
+ var _this = this,
1295
+ el = this.el,
1296
+ options = this.options,
1297
+ preventOnFilter = options.preventOnFilter,
1298
+ type = evt.type,
1299
+ touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,
1300
+ target = (touch || evt).target,
1301
+ originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,
1302
+ filter = options.filter;
1303
+
1304
+ _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.
1305
+
1306
+
1307
+ if (dragEl) {
1308
+ return;
1309
+ }
1310
+
1311
+ if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {
1312
+ return; // only left button and enabled
1313
+ } // cancel dnd if original target is content editable
1314
+
1315
+
1316
+ if (originalTarget.isContentEditable) {
1317
+ return;
1318
+ } // Safari ignores further event handling after mousedown
1319
+
1320
+
1321
+ if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === 'SELECT') {
1322
+ return;
1323
+ }
1324
+
1325
+ target = closest(target, options.draggable, el, false);
1326
+
1327
+ if (target && target.animated) {
1328
+ return;
1329
+ }
1330
+
1331
+ if (lastDownEl === target) {
1332
+ // Ignoring duplicate `down`
1333
+ return;
1334
+ } // Get the index of the dragged element within its parent
1335
+
1336
+
1337
+ oldIndex = index(target);
1338
+ oldDraggableIndex = index(target, options.draggable); // Check filter
1339
+
1340
+ if (typeof filter === 'function') {
1341
+ if (filter.call(this, evt, target, this)) {
1342
+ _dispatchEvent({
1343
+ sortable: _this,
1344
+ rootEl: originalTarget,
1345
+ name: 'filter',
1346
+ targetEl: target,
1347
+ toEl: el,
1348
+ fromEl: el
1349
+ });
1350
+
1351
+ pluginEvent('filter', _this, {
1352
+ evt: evt
1353
+ });
1354
+ preventOnFilter && evt.cancelable && evt.preventDefault();
1355
+ return; // cancel dnd
1356
+ }
1357
+ } else if (filter) {
1358
+ filter = filter.split(',').some(function (criteria) {
1359
+ criteria = closest(originalTarget, criteria.trim(), el, false);
1360
+
1361
+ if (criteria) {
1362
+ _dispatchEvent({
1363
+ sortable: _this,
1364
+ rootEl: criteria,
1365
+ name: 'filter',
1366
+ targetEl: target,
1367
+ fromEl: el,
1368
+ toEl: el
1369
+ });
1370
+
1371
+ pluginEvent('filter', _this, {
1372
+ evt: evt
1373
+ });
1374
+ return true;
1375
+ }
1376
+ });
1377
+
1378
+ if (filter) {
1379
+ preventOnFilter && evt.cancelable && evt.preventDefault();
1380
+ return; // cancel dnd
1381
+ }
1382
+ }
1383
+
1384
+ if (options.handle && !closest(originalTarget, options.handle, el, false)) {
1385
+ return;
1386
+ } // Prepare `dragstart`
1387
+
1388
+
1389
+ this._prepareDragStart(evt, touch, target);
1390
+ },
1391
+ _prepareDragStart: function _prepareDragStart(
1392
+ /** Event */
1393
+ evt,
1394
+ /** Touch */
1395
+ touch,
1396
+ /** HTMLElement */
1397
+ target) {
1398
+ var _this = this,
1399
+ el = _this.el,
1400
+ options = _this.options,
1401
+ ownerDocument = el.ownerDocument,
1402
+ dragStartFn;
1403
+
1404
+ if (target && !dragEl && target.parentNode === el) {
1405
+ var dragRect = getRect(target);
1406
+ rootEl = el;
1407
+ dragEl = target;
1408
+ parentEl = dragEl.parentNode;
1409
+ nextEl = dragEl.nextSibling;
1410
+ lastDownEl = target;
1411
+ activeGroup = options.group;
1412
+ Sortable.dragged = dragEl;
1413
+ tapEvt = {
1414
+ target: dragEl,
1415
+ clientX: (touch || evt).clientX,
1416
+ clientY: (touch || evt).clientY
1417
+ };
1418
+ tapDistanceLeft = tapEvt.clientX - dragRect.left;
1419
+ tapDistanceTop = tapEvt.clientY - dragRect.top;
1420
+ this._lastX = (touch || evt).clientX;
1421
+ this._lastY = (touch || evt).clientY;
1422
+ dragEl.style['will-change'] = 'all';
1423
+
1424
+ dragStartFn = function dragStartFn() {
1425
+ pluginEvent('delayEnded', _this, {
1426
+ evt: evt
1427
+ });
1428
+
1429
+ if (Sortable.eventCanceled) {
1430
+ _this._onDrop();
1431
+
1432
+ return;
1433
+ } // Delayed drag has been triggered
1434
+ // we can re-enable the events: touchmove/mousemove
1435
+
1436
+
1437
+ _this._disableDelayedDragEvents();
1438
+
1439
+ if (!FireFox && _this.nativeDraggable) {
1440
+ dragEl.draggable = true;
1441
+ } // Bind the events: dragstart/dragend
1442
+
1443
+
1444
+ _this._triggerDragStart(evt, touch); // Drag start event
1445
+
1446
+
1447
+ _dispatchEvent({
1448
+ sortable: _this,
1449
+ name: 'choose',
1450
+ originalEvent: evt
1451
+ }); // Chosen item
1452
+
1453
+
1454
+ toggleClass(dragEl, options.chosenClass, true);
1455
+ }; // Disable "draggable"
1456
+
1457
+
1458
+ options.ignore.split(',').forEach(function (criteria) {
1459
+ find(dragEl, criteria.trim(), _disableDraggable);
1460
+ });
1461
+ on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);
1462
+ on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);
1463
+ on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);
1464
+ on(ownerDocument, 'mouseup', _this._onDrop);
1465
+ on(ownerDocument, 'touchend', _this._onDrop);
1466
+ on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox)
1467
+
1468
+ if (FireFox && this.nativeDraggable) {
1469
+ this.options.touchStartThreshold = 4;
1470
+ dragEl.draggable = true;
1471
+ }
1472
+
1473
+ pluginEvent('delayStart', this, {
1474
+ evt: evt
1475
+ }); // Delay is impossible for native DnD in Edge or IE
1476
+
1477
+ if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {
1478
+ if (Sortable.eventCanceled) {
1479
+ this._onDrop();
1480
+
1481
+ return;
1482
+ } // If the user moves the pointer or let go the click or touch
1483
+ // before the delay has been reached:
1484
+ // disable the delayed drag
1485
+
1486
+
1487
+ on(ownerDocument, 'mouseup', _this._disableDelayedDrag);
1488
+ on(ownerDocument, 'touchend', _this._disableDelayedDrag);
1489
+ on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);
1490
+ on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);
1491
+ on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);
1492
+ options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);
1493
+ _this._dragStartTimer = setTimeout(dragStartFn, options.delay);
1494
+ } else {
1495
+ dragStartFn();
1496
+ }
1497
+ }
1498
+ },
1499
+ _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(
1500
+ /** TouchEvent|PointerEvent **/
1501
+ e) {
1502
+ var touch = e.touches ? e.touches[0] : e;
1503
+
1504
+ if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {
1505
+ this._disableDelayedDrag();
1506
+ }
1507
+ },
1508
+ _disableDelayedDrag: function _disableDelayedDrag() {
1509
+ dragEl && _disableDraggable(dragEl);
1510
+ clearTimeout(this._dragStartTimer);
1511
+
1512
+ this._disableDelayedDragEvents();
1513
+ },
1514
+ _disableDelayedDragEvents: function _disableDelayedDragEvents() {
1515
+ var ownerDocument = this.el.ownerDocument;
1516
+ off(ownerDocument, 'mouseup', this._disableDelayedDrag);
1517
+ off(ownerDocument, 'touchend', this._disableDelayedDrag);
1518
+ off(ownerDocument, 'touchcancel', this._disableDelayedDrag);
1519
+ off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);
1520
+ off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);
1521
+ off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);
1522
+ },
1523
+ _triggerDragStart: function _triggerDragStart(
1524
+ /** Event */
1525
+ evt,
1526
+ /** Touch */
1527
+ touch) {
1528
+ touch = touch || evt.pointerType == 'touch' && evt;
1529
+
1530
+ if (!this.nativeDraggable || touch) {
1531
+ if (this.options.supportPointer) {
1532
+ on(document, 'pointermove', this._onTouchMove);
1533
+ } else if (touch) {
1534
+ on(document, 'touchmove', this._onTouchMove);
1535
+ } else {
1536
+ on(document, 'mousemove', this._onTouchMove);
1537
+ }
1538
+ } else {
1539
+ on(dragEl, 'dragend', this);
1540
+ on(rootEl, 'dragstart', this._onDragStart);
1541
+ }
1542
+
1543
+ try {
1544
+ if (document.selection) {
1545
+ // Timeout neccessary for IE9
1546
+ _nextTick(function () {
1547
+ document.selection.empty();
1548
+ });
1549
+ } else {
1550
+ window.getSelection().removeAllRanges();
1551
+ }
1552
+ } catch (err) {}
1553
+ },
1554
+ _dragStarted: function _dragStarted(fallback, evt) {
1555
+
1556
+ awaitingDragStarted = false;
1557
+
1558
+ if (rootEl && dragEl) {
1559
+ pluginEvent('dragStarted', this, {
1560
+ evt: evt
1561
+ });
1562
+
1563
+ if (this.nativeDraggable) {
1564
+ on(document, 'dragover', _checkOutsideTargetEl);
1565
+ }
1566
+
1567
+ var options = this.options; // Apply effect
1568
+
1569
+ !fallback && toggleClass(dragEl, options.dragClass, false);
1570
+ toggleClass(dragEl, options.ghostClass, true);
1571
+ Sortable.active = this;
1572
+ fallback && this._appendGhost(); // Drag start event
1573
+
1574
+ _dispatchEvent({
1575
+ sortable: this,
1576
+ name: 'start',
1577
+ originalEvent: evt
1578
+ });
1579
+ } else {
1580
+ this._nulling();
1581
+ }
1582
+ },
1583
+ _emulateDragOver: function _emulateDragOver() {
1584
+ if (touchEvt) {
1585
+ this._lastX = touchEvt.clientX;
1586
+ this._lastY = touchEvt.clientY;
1587
+
1588
+ _hideGhostForTarget();
1589
+
1590
+ var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
1591
+ var parent = target;
1592
+
1593
+ while (target && target.shadowRoot) {
1594
+ target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
1595
+ if (target === parent) break;
1596
+ parent = target;
1597
+ }
1598
+
1599
+ dragEl.parentNode[expando]._isOutsideThisEl(target);
1600
+
1601
+ if (parent) {
1602
+ do {
1603
+ if (parent[expando]) {
1604
+ var inserted = void 0;
1605
+ inserted = parent[expando]._onDragOver({
1606
+ clientX: touchEvt.clientX,
1607
+ clientY: touchEvt.clientY,
1608
+ target: target,
1609
+ rootEl: parent
1610
+ });
1611
+
1612
+ if (inserted && !this.options.dragoverBubble) {
1613
+ break;
1614
+ }
1615
+ }
1616
+
1617
+ target = parent; // store last element
1618
+ }
1619
+ /* jshint boss:true */
1620
+ while (parent = parent.parentNode);
1621
+ }
1622
+
1623
+ _unhideGhostForTarget();
1624
+ }
1625
+ },
1626
+ _onTouchMove: function _onTouchMove(
1627
+ /**TouchEvent*/
1628
+ evt) {
1629
+ if (tapEvt) {
1630
+ var options = this.options,
1631
+ fallbackTolerance = options.fallbackTolerance,
1632
+ fallbackOffset = options.fallbackOffset,
1633
+ touch = evt.touches ? evt.touches[0] : evt,
1634
+ ghostMatrix = ghostEl && matrix(ghostEl, true),
1635
+ scaleX = ghostEl && ghostMatrix && ghostMatrix.a,
1636
+ scaleY = ghostEl && ghostMatrix && ghostMatrix.d,
1637
+ relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),
1638
+ dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),
1639
+ dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging
1640
+
1641
+ if (!Sortable.active && !awaitingDragStarted) {
1642
+ if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {
1643
+ return;
1644
+ }
1645
+
1646
+ this._onDragStart(evt, true);
1647
+ }
1648
+
1649
+ if (ghostEl) {
1650
+ if (ghostMatrix) {
1651
+ ghostMatrix.e += dx - (lastDx || 0);
1652
+ ghostMatrix.f += dy - (lastDy || 0);
1653
+ } else {
1654
+ ghostMatrix = {
1655
+ a: 1,
1656
+ b: 0,
1657
+ c: 0,
1658
+ d: 1,
1659
+ e: dx,
1660
+ f: dy
1661
+ };
1662
+ }
1663
+
1664
+ var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")");
1665
+ css(ghostEl, 'webkitTransform', cssMatrix);
1666
+ css(ghostEl, 'mozTransform', cssMatrix);
1667
+ css(ghostEl, 'msTransform', cssMatrix);
1668
+ css(ghostEl, 'transform', cssMatrix);
1669
+ lastDx = dx;
1670
+ lastDy = dy;
1671
+ touchEvt = touch;
1672
+ }
1673
+
1674
+ evt.cancelable && evt.preventDefault();
1675
+ }
1676
+ },
1677
+ _appendGhost: function _appendGhost() {
1678
+ // Bug if using scale(): https://stackoverflow.com/questions/2637058
1679
+ // Not being adjusted for
1680
+ if (!ghostEl) {
1681
+ var container = this.options.fallbackOnBody ? document.body : rootEl,
1682
+ rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),
1683
+ options = this.options; // Position absolutely
1684
+
1685
+ if (PositionGhostAbsolutely) {
1686
+ // Get relatively positioned parent
1687
+ ghostRelativeParent = container;
1688
+
1689
+ while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {
1690
+ ghostRelativeParent = ghostRelativeParent.parentNode;
1691
+ }
1692
+
1693
+ if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {
1694
+ if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();
1695
+ rect.top += ghostRelativeParent.scrollTop;
1696
+ rect.left += ghostRelativeParent.scrollLeft;
1697
+ } else {
1698
+ ghostRelativeParent = getWindowScrollingElement();
1699
+ }
1700
+
1701
+ ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);
1702
+ }
1703
+
1704
+ ghostEl = dragEl.cloneNode(true);
1705
+ toggleClass(ghostEl, options.ghostClass, false);
1706
+ toggleClass(ghostEl, options.fallbackClass, true);
1707
+ toggleClass(ghostEl, options.dragClass, true);
1708
+ css(ghostEl, 'transition', '');
1709
+ css(ghostEl, 'transform', '');
1710
+ css(ghostEl, 'box-sizing', 'border-box');
1711
+ css(ghostEl, 'margin', 0);
1712
+ css(ghostEl, 'top', rect.top);
1713
+ css(ghostEl, 'left', rect.left);
1714
+ css(ghostEl, 'width', rect.width);
1715
+ css(ghostEl, 'height', rect.height);
1716
+ css(ghostEl, 'opacity', '0.8');
1717
+ css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');
1718
+ css(ghostEl, 'zIndex', '100000');
1719
+ css(ghostEl, 'pointerEvents', 'none');
1720
+ Sortable.ghost = ghostEl;
1721
+ container.appendChild(ghostEl); // Set transform-origin
1722
+
1723
+ css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');
1724
+ }
1725
+ },
1726
+ _onDragStart: function _onDragStart(
1727
+ /**Event*/
1728
+ evt,
1729
+ /**boolean*/
1730
+ fallback) {
1731
+ var _this = this;
1732
+
1733
+ var dataTransfer = evt.dataTransfer;
1734
+ var options = _this.options;
1735
+ pluginEvent('dragStart', this, {
1736
+ evt: evt
1737
+ });
1738
+
1739
+ if (Sortable.eventCanceled) {
1740
+ this._onDrop();
1741
+
1742
+ return;
1743
+ }
1744
+
1745
+ pluginEvent('setupClone', this);
1746
+
1747
+ if (!Sortable.eventCanceled) {
1748
+ cloneEl = clone(dragEl);
1749
+ cloneEl.removeAttribute("id");
1750
+ cloneEl.draggable = false;
1751
+ cloneEl.style['will-change'] = '';
1752
+
1753
+ this._hideClone();
1754
+
1755
+ toggleClass(cloneEl, this.options.chosenClass, false);
1756
+ Sortable.clone = cloneEl;
1757
+ } // #1143: IFrame support workaround
1758
+
1759
+
1760
+ _this.cloneId = _nextTick(function () {
1761
+ pluginEvent('clone', _this);
1762
+ if (Sortable.eventCanceled) return;
1763
+
1764
+ if (!_this.options.removeCloneOnHide) {
1765
+ rootEl.insertBefore(cloneEl, dragEl);
1766
+ }
1767
+
1768
+ _this._hideClone();
1769
+
1770
+ _dispatchEvent({
1771
+ sortable: _this,
1772
+ name: 'clone'
1773
+ });
1774
+ });
1775
+ !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events
1776
+
1777
+ if (fallback) {
1778
+ ignoreNextClick = true;
1779
+ _this._loopId = setInterval(_this._emulateDragOver, 50);
1780
+ } else {
1781
+ // Undo what was set in _prepareDragStart before drag started
1782
+ off(document, 'mouseup', _this._onDrop);
1783
+ off(document, 'touchend', _this._onDrop);
1784
+ off(document, 'touchcancel', _this._onDrop);
1785
+
1786
+ if (dataTransfer) {
1787
+ dataTransfer.effectAllowed = 'move';
1788
+ options.setData && options.setData.call(_this, dataTransfer, dragEl);
1789
+ }
1790
+
1791
+ on(document, 'drop', _this); // #1276 fix:
1792
+
1793
+ css(dragEl, 'transform', 'translateZ(0)');
1794
+ }
1795
+
1796
+ awaitingDragStarted = true;
1797
+ _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));
1798
+ on(document, 'selectstart', _this);
1799
+ moved = true;
1800
+
1801
+ if (Safari) {
1802
+ css(document.body, 'user-select', 'none');
1803
+ }
1804
+ },
1805
+ // Returns true - if no further action is needed (either inserted or another condition)
1806
+ _onDragOver: function _onDragOver(
1807
+ /**Event*/
1808
+ evt) {
1809
+ var el = this.el,
1810
+ target = evt.target,
1811
+ dragRect,
1812
+ targetRect,
1813
+ revert,
1814
+ options = this.options,
1815
+ group = options.group,
1816
+ activeSortable = Sortable.active,
1817
+ isOwner = activeGroup === group,
1818
+ canSort = options.sort,
1819
+ fromSortable = putSortable || activeSortable,
1820
+ vertical,
1821
+ _this = this,
1822
+ completedFired = false;
1823
+
1824
+ if (_silent) return;
1825
+
1826
+ function dragOverEvent(name, extra) {
1827
+ pluginEvent(name, _this, _objectSpread2({
1828
+ evt: evt,
1829
+ isOwner: isOwner,
1830
+ axis: vertical ? 'vertical' : 'horizontal',
1831
+ revert: revert,
1832
+ dragRect: dragRect,
1833
+ targetRect: targetRect,
1834
+ canSort: canSort,
1835
+ fromSortable: fromSortable,
1836
+ target: target,
1837
+ completed: completed,
1838
+ onMove: function onMove(target, after) {
1839
+ return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);
1840
+ },
1841
+ changed: changed
1842
+ }, extra));
1843
+ } // Capture animation state
1844
+
1845
+
1846
+ function capture() {
1847
+ dragOverEvent('dragOverAnimationCapture');
1848
+
1849
+ _this.captureAnimationState();
1850
+
1851
+ if (_this !== fromSortable) {
1852
+ fromSortable.captureAnimationState();
1853
+ }
1854
+ } // Return invocation when dragEl is inserted (or completed)
1855
+
1856
+
1857
+ function completed(insertion) {
1858
+ dragOverEvent('dragOverCompleted', {
1859
+ insertion: insertion
1860
+ });
1861
+
1862
+ if (insertion) {
1863
+ // Clones must be hidden before folding animation to capture dragRectAbsolute properly
1864
+ if (isOwner) {
1865
+ activeSortable._hideClone();
1866
+ } else {
1867
+ activeSortable._showClone(_this);
1868
+ }
1869
+
1870
+ if (_this !== fromSortable) {
1871
+ // Set ghost class to new sortable's ghost class
1872
+ toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);
1873
+ toggleClass(dragEl, options.ghostClass, true);
1874
+ }
1875
+
1876
+ if (putSortable !== _this && _this !== Sortable.active) {
1877
+ putSortable = _this;
1878
+ } else if (_this === Sortable.active && putSortable) {
1879
+ putSortable = null;
1880
+ } // Animation
1881
+
1882
+
1883
+ if (fromSortable === _this) {
1884
+ _this._ignoreWhileAnimating = target;
1885
+ }
1886
+
1887
+ _this.animateAll(function () {
1888
+ dragOverEvent('dragOverAnimationComplete');
1889
+ _this._ignoreWhileAnimating = null;
1890
+ });
1891
+
1892
+ if (_this !== fromSortable) {
1893
+ fromSortable.animateAll();
1894
+ fromSortable._ignoreWhileAnimating = null;
1895
+ }
1896
+ } // Null lastTarget if it is not inside a previously swapped element
1897
+
1898
+
1899
+ if (target === dragEl && !dragEl.animated || target === el && !target.animated) {
1900
+ lastTarget = null;
1901
+ } // no bubbling and not fallback
1902
+
1903
+
1904
+ if (!options.dragoverBubble && !evt.rootEl && target !== document) {
1905
+ dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted
1906
+
1907
+
1908
+ !insertion && nearestEmptyInsertDetectEvent(evt);
1909
+ }
1910
+
1911
+ !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();
1912
+ return completedFired = true;
1913
+ } // Call when dragEl has been inserted
1914
+
1915
+
1916
+ function changed() {
1917
+ newIndex = index(dragEl);
1918
+ newDraggableIndex = index(dragEl, options.draggable);
1919
+
1920
+ _dispatchEvent({
1921
+ sortable: _this,
1922
+ name: 'change',
1923
+ toEl: el,
1924
+ newIndex: newIndex,
1925
+ newDraggableIndex: newDraggableIndex,
1926
+ originalEvent: evt
1927
+ });
1928
+ }
1929
+
1930
+ if (evt.preventDefault !== void 0) {
1931
+ evt.cancelable && evt.preventDefault();
1932
+ }
1933
+
1934
+ target = closest(target, options.draggable, el, true);
1935
+ dragOverEvent('dragOver');
1936
+ if (Sortable.eventCanceled) return completedFired;
1937
+
1938
+ if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {
1939
+ return completed(false);
1940
+ }
1941
+
1942
+ ignoreNextClick = false;
1943
+
1944
+ if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = parentEl !== rootEl) // Reverting item into the original list
1945
+ : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {
1946
+ vertical = this._getDirection(evt, target) === 'vertical';
1947
+ dragRect = getRect(dragEl);
1948
+ dragOverEvent('dragOverValid');
1949
+ if (Sortable.eventCanceled) return completedFired;
1950
+
1951
+ if (revert) {
1952
+ parentEl = rootEl; // actualization
1953
+
1954
+ capture();
1955
+
1956
+ this._hideClone();
1957
+
1958
+ dragOverEvent('revert');
1959
+
1960
+ if (!Sortable.eventCanceled) {
1961
+ if (nextEl) {
1962
+ rootEl.insertBefore(dragEl, nextEl);
1963
+ } else {
1964
+ rootEl.appendChild(dragEl);
1965
+ }
1966
+ }
1967
+
1968
+ return completed(true);
1969
+ }
1970
+
1971
+ var elLastChild = lastChild(el, options.draggable);
1972
+
1973
+ if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {
1974
+ // Insert to end of list
1975
+ // If already at end of list: Do not insert
1976
+ if (elLastChild === dragEl) {
1977
+ return completed(false);
1978
+ } // if there is a last element, it is the target
1979
+
1980
+
1981
+ if (elLastChild && el === evt.target) {
1982
+ target = elLastChild;
1983
+ }
1984
+
1985
+ if (target) {
1986
+ targetRect = getRect(target);
1987
+ }
1988
+
1989
+ if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {
1990
+ capture();
1991
+
1992
+ if (elLastChild && elLastChild.nextSibling) {
1993
+ // the last draggable element is not the last node
1994
+ el.insertBefore(dragEl, elLastChild.nextSibling);
1995
+ } else {
1996
+ el.appendChild(dragEl);
1997
+ }
1998
+
1999
+ parentEl = el; // actualization
2000
+
2001
+ changed();
2002
+ return completed(true);
2003
+ }
2004
+ } else if (elLastChild && _ghostIsFirst(evt, vertical, this)) {
2005
+ // Insert to start of list
2006
+ var firstChild = getChild(el, 0, options, true);
2007
+
2008
+ if (firstChild === dragEl) {
2009
+ return completed(false);
2010
+ }
2011
+
2012
+ target = firstChild;
2013
+ targetRect = getRect(target);
2014
+
2015
+ if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {
2016
+ capture();
2017
+ el.insertBefore(dragEl, firstChild);
2018
+ parentEl = el; // actualization
2019
+
2020
+ changed();
2021
+ return completed(true);
2022
+ }
2023
+ } else if (target.parentNode === el) {
2024
+ targetRect = getRect(target);
2025
+ var direction = 0,
2026
+ targetBeforeFirstSwap,
2027
+ differentLevel = dragEl.parentNode !== el,
2028
+ differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),
2029
+ side1 = vertical ? 'top' : 'left',
2030
+ scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),
2031
+ scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;
2032
+
2033
+ if (lastTarget !== target) {
2034
+ targetBeforeFirstSwap = targetRect[side1];
2035
+ pastFirstInvertThresh = false;
2036
+ isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;
2037
+ }
2038
+
2039
+ direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);
2040
+ var sibling;
2041
+
2042
+ if (direction !== 0) {
2043
+ // Check if target is beside dragEl in respective direction (ignoring hidden elements)
2044
+ var dragIndex = index(dragEl);
2045
+
2046
+ do {
2047
+ dragIndex -= direction;
2048
+ sibling = parentEl.children[dragIndex];
2049
+ } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));
2050
+ } // If dragEl is already beside target: Do not insert
2051
+
2052
+
2053
+ if (direction === 0 || sibling === target) {
2054
+ return completed(false);
2055
+ }
2056
+
2057
+ lastTarget = target;
2058
+ lastDirection = direction;
2059
+ var nextSibling = target.nextElementSibling,
2060
+ after = false;
2061
+ after = direction === 1;
2062
+
2063
+ var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);
2064
+
2065
+ if (moveVector !== false) {
2066
+ if (moveVector === 1 || moveVector === -1) {
2067
+ after = moveVector === 1;
2068
+ }
2069
+
2070
+ _silent = true;
2071
+ setTimeout(_unsilent, 30);
2072
+ capture();
2073
+
2074
+ if (after && !nextSibling) {
2075
+ el.appendChild(dragEl);
2076
+ } else {
2077
+ target.parentNode.insertBefore(dragEl, after ? nextSibling : target);
2078
+ } // Undo chrome's scroll adjustment (has no effect on other browsers)
2079
+
2080
+
2081
+ if (scrolledPastTop) {
2082
+ scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);
2083
+ }
2084
+
2085
+ parentEl = dragEl.parentNode; // actualization
2086
+ // must be done before animation
2087
+
2088
+ if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {
2089
+ targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);
2090
+ }
2091
+
2092
+ changed();
2093
+ return completed(true);
2094
+ }
2095
+ }
2096
+
2097
+ if (el.contains(dragEl)) {
2098
+ return completed(false);
2099
+ }
2100
+ }
2101
+
2102
+ return false;
2103
+ },
2104
+ _ignoreWhileAnimating: null,
2105
+ _offMoveEvents: function _offMoveEvents() {
2106
+ off(document, 'mousemove', this._onTouchMove);
2107
+ off(document, 'touchmove', this._onTouchMove);
2108
+ off(document, 'pointermove', this._onTouchMove);
2109
+ off(document, 'dragover', nearestEmptyInsertDetectEvent);
2110
+ off(document, 'mousemove', nearestEmptyInsertDetectEvent);
2111
+ off(document, 'touchmove', nearestEmptyInsertDetectEvent);
2112
+ },
2113
+ _offUpEvents: function _offUpEvents() {
2114
+ var ownerDocument = this.el.ownerDocument;
2115
+ off(ownerDocument, 'mouseup', this._onDrop);
2116
+ off(ownerDocument, 'touchend', this._onDrop);
2117
+ off(ownerDocument, 'pointerup', this._onDrop);
2118
+ off(ownerDocument, 'touchcancel', this._onDrop);
2119
+ off(document, 'selectstart', this);
2120
+ },
2121
+ _onDrop: function _onDrop(
2122
+ /**Event*/
2123
+ evt) {
2124
+ var el = this.el,
2125
+ options = this.options; // Get the index of the dragged element within its parent
2126
+
2127
+ newIndex = index(dragEl);
2128
+ newDraggableIndex = index(dragEl, options.draggable);
2129
+ pluginEvent('drop', this, {
2130
+ evt: evt
2131
+ });
2132
+ parentEl = dragEl && dragEl.parentNode; // Get again after plugin event
2133
+
2134
+ newIndex = index(dragEl);
2135
+ newDraggableIndex = index(dragEl, options.draggable);
2136
+
2137
+ if (Sortable.eventCanceled) {
2138
+ this._nulling();
2139
+
2140
+ return;
2141
+ }
2142
+
2143
+ awaitingDragStarted = false;
2144
+ isCircumstantialInvert = false;
2145
+ pastFirstInvertThresh = false;
2146
+ clearInterval(this._loopId);
2147
+ clearTimeout(this._dragStartTimer);
2148
+
2149
+ _cancelNextTick(this.cloneId);
2150
+
2151
+ _cancelNextTick(this._dragStartId); // Unbind events
2152
+
2153
+
2154
+ if (this.nativeDraggable) {
2155
+ off(document, 'drop', this);
2156
+ off(el, 'dragstart', this._onDragStart);
2157
+ }
2158
+
2159
+ this._offMoveEvents();
2160
+
2161
+ this._offUpEvents();
2162
+
2163
+ if (Safari) {
2164
+ css(document.body, 'user-select', '');
2165
+ }
2166
+
2167
+ css(dragEl, 'transform', '');
2168
+
2169
+ if (evt) {
2170
+ if (moved) {
2171
+ evt.cancelable && evt.preventDefault();
2172
+ !options.dropBubble && evt.stopPropagation();
2173
+ }
2174
+
2175
+ ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);
2176
+
2177
+ if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {
2178
+ // Remove clone(s)
2179
+ cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);
2180
+ }
2181
+
2182
+ if (dragEl) {
2183
+ if (this.nativeDraggable) {
2184
+ off(dragEl, 'dragend', this);
2185
+ }
2186
+
2187
+ _disableDraggable(dragEl);
2188
+
2189
+ dragEl.style['will-change'] = ''; // Remove classes
2190
+ // ghostClass is added in dragStarted
2191
+
2192
+ if (moved && !awaitingDragStarted) {
2193
+ toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);
2194
+ }
2195
+
2196
+ toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event
2197
+
2198
+ _dispatchEvent({
2199
+ sortable: this,
2200
+ name: 'unchoose',
2201
+ toEl: parentEl,
2202
+ newIndex: null,
2203
+ newDraggableIndex: null,
2204
+ originalEvent: evt
2205
+ });
2206
+
2207
+ if (rootEl !== parentEl) {
2208
+ if (newIndex >= 0) {
2209
+ // Add event
2210
+ _dispatchEvent({
2211
+ rootEl: parentEl,
2212
+ name: 'add',
2213
+ toEl: parentEl,
2214
+ fromEl: rootEl,
2215
+ originalEvent: evt
2216
+ }); // Remove event
2217
+
2218
+
2219
+ _dispatchEvent({
2220
+ sortable: this,
2221
+ name: 'remove',
2222
+ toEl: parentEl,
2223
+ originalEvent: evt
2224
+ }); // drag from one list and drop into another
2225
+
2226
+
2227
+ _dispatchEvent({
2228
+ rootEl: parentEl,
2229
+ name: 'sort',
2230
+ toEl: parentEl,
2231
+ fromEl: rootEl,
2232
+ originalEvent: evt
2233
+ });
2234
+
2235
+ _dispatchEvent({
2236
+ sortable: this,
2237
+ name: 'sort',
2238
+ toEl: parentEl,
2239
+ originalEvent: evt
2240
+ });
2241
+ }
2242
+
2243
+ putSortable && putSortable.save();
2244
+ } else {
2245
+ if (newIndex !== oldIndex) {
2246
+ if (newIndex >= 0) {
2247
+ // drag & drop within the same list
2248
+ _dispatchEvent({
2249
+ sortable: this,
2250
+ name: 'update',
2251
+ toEl: parentEl,
2252
+ originalEvent: evt
2253
+ });
2254
+
2255
+ _dispatchEvent({
2256
+ sortable: this,
2257
+ name: 'sort',
2258
+ toEl: parentEl,
2259
+ originalEvent: evt
2260
+ });
2261
+ }
2262
+ }
2263
+ }
2264
+
2265
+ if (Sortable.active) {
2266
+ /* jshint eqnull:true */
2267
+ if (newIndex == null || newIndex === -1) {
2268
+ newIndex = oldIndex;
2269
+ newDraggableIndex = oldDraggableIndex;
2270
+ }
2271
+
2272
+ _dispatchEvent({
2273
+ sortable: this,
2274
+ name: 'end',
2275
+ toEl: parentEl,
2276
+ originalEvent: evt
2277
+ }); // Save sorting
2278
+
2279
+
2280
+ this.save();
2281
+ }
2282
+ }
2283
+ }
2284
+
2285
+ this._nulling();
2286
+ },
2287
+ _nulling: function _nulling() {
2288
+ pluginEvent('nulling', this);
2289
+ rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;
2290
+ savedInputChecked.forEach(function (el) {
2291
+ el.checked = true;
2292
+ });
2293
+ savedInputChecked.length = lastDx = lastDy = 0;
2294
+ },
2295
+ handleEvent: function handleEvent(
2296
+ /**Event*/
2297
+ evt) {
2298
+ switch (evt.type) {
2299
+ case 'drop':
2300
+ case 'dragend':
2301
+ this._onDrop(evt);
2302
+
2303
+ break;
2304
+
2305
+ case 'dragenter':
2306
+ case 'dragover':
2307
+ if (dragEl) {
2308
+ this._onDragOver(evt);
2309
+
2310
+ _globalDragOver(evt);
2311
+ }
2312
+
2313
+ break;
2314
+
2315
+ case 'selectstart':
2316
+ evt.preventDefault();
2317
+ break;
2318
+ }
2319
+ },
2320
+
2321
+ /**
2322
+ * Serializes the item into an array of string.
2323
+ * @returns {String[]}
2324
+ */
2325
+ toArray: function toArray() {
2326
+ var order = [],
2327
+ el,
2328
+ children = this.el.children,
2329
+ i = 0,
2330
+ n = children.length,
2331
+ options = this.options;
2332
+
2333
+ for (; i < n; i++) {
2334
+ el = children[i];
2335
+
2336
+ if (closest(el, options.draggable, this.el, false)) {
2337
+ order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));
2338
+ }
2339
+ }
2340
+
2341
+ return order;
2342
+ },
2343
+
2344
+ /**
2345
+ * Sorts the elements according to the array.
2346
+ * @param {String[]} order order of the items
2347
+ */
2348
+ sort: function sort(order, useAnimation) {
2349
+ var items = {},
2350
+ rootEl = this.el;
2351
+ this.toArray().forEach(function (id, i) {
2352
+ var el = rootEl.children[i];
2353
+
2354
+ if (closest(el, this.options.draggable, rootEl, false)) {
2355
+ items[id] = el;
2356
+ }
2357
+ }, this);
2358
+ useAnimation && this.captureAnimationState();
2359
+ order.forEach(function (id) {
2360
+ if (items[id]) {
2361
+ rootEl.removeChild(items[id]);
2362
+ rootEl.appendChild(items[id]);
2363
+ }
2364
+ });
2365
+ useAnimation && this.animateAll();
2366
+ },
2367
+
2368
+ /**
2369
+ * Save the current sorting
2370
+ */
2371
+ save: function save() {
2372
+ var store = this.options.store;
2373
+ store && store.set && store.set(this);
2374
+ },
2375
+
2376
+ /**
2377
+ * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.
2378
+ * @param {HTMLElement} el
2379
+ * @param {String} [selector] default: `options.draggable`
2380
+ * @returns {HTMLElement|null}
2381
+ */
2382
+ closest: function closest$1(el, selector) {
2383
+ return closest(el, selector || this.options.draggable, this.el, false);
2384
+ },
2385
+
2386
+ /**
2387
+ * Set/get option
2388
+ * @param {string} name
2389
+ * @param {*} [value]
2390
+ * @returns {*}
2391
+ */
2392
+ option: function option(name, value) {
2393
+ var options = this.options;
2394
+
2395
+ if (value === void 0) {
2396
+ return options[name];
2397
+ } else {
2398
+ var modifiedValue = PluginManager.modifyOption(this, name, value);
2399
+
2400
+ if (typeof modifiedValue !== 'undefined') {
2401
+ options[name] = modifiedValue;
2402
+ } else {
2403
+ options[name] = value;
2404
+ }
2405
+
2406
+ if (name === 'group') {
2407
+ _prepareGroup(options);
2408
+ }
2409
+ }
2410
+ },
2411
+
2412
+ /**
2413
+ * Destroy
2414
+ */
2415
+ destroy: function destroy() {
2416
+ pluginEvent('destroy', this);
2417
+ var el = this.el;
2418
+ el[expando] = null;
2419
+ off(el, 'mousedown', this._onTapStart);
2420
+ off(el, 'touchstart', this._onTapStart);
2421
+ off(el, 'pointerdown', this._onTapStart);
2422
+
2423
+ if (this.nativeDraggable) {
2424
+ off(el, 'dragover', this);
2425
+ off(el, 'dragenter', this);
2426
+ } // Remove draggable attributes
2427
+
2428
+
2429
+ Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {
2430
+ el.removeAttribute('draggable');
2431
+ });
2432
+
2433
+ this._onDrop();
2434
+
2435
+ this._disableDelayedDragEvents();
2436
+
2437
+ sortables.splice(sortables.indexOf(this.el), 1);
2438
+ this.el = el = null;
2439
+ },
2440
+ _hideClone: function _hideClone() {
2441
+ if (!cloneHidden) {
2442
+ pluginEvent('hideClone', this);
2443
+ if (Sortable.eventCanceled) return;
2444
+ css(cloneEl, 'display', 'none');
2445
+
2446
+ if (this.options.removeCloneOnHide && cloneEl.parentNode) {
2447
+ cloneEl.parentNode.removeChild(cloneEl);
2448
+ }
2449
+
2450
+ cloneHidden = true;
2451
+ }
2452
+ },
2453
+ _showClone: function _showClone(putSortable) {
2454
+ if (putSortable.lastPutMode !== 'clone') {
2455
+ this._hideClone();
2456
+
2457
+ return;
2458
+ }
2459
+
2460
+ if (cloneHidden) {
2461
+ pluginEvent('showClone', this);
2462
+ if (Sortable.eventCanceled) return; // show clone at dragEl or original position
2463
+
2464
+ if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {
2465
+ rootEl.insertBefore(cloneEl, dragEl);
2466
+ } else if (nextEl) {
2467
+ rootEl.insertBefore(cloneEl, nextEl);
2468
+ } else {
2469
+ rootEl.appendChild(cloneEl);
2470
+ }
2471
+
2472
+ if (this.options.group.revertClone) {
2473
+ this.animate(dragEl, cloneEl);
2474
+ }
2475
+
2476
+ css(cloneEl, 'display', '');
2477
+ cloneHidden = false;
2478
+ }
2479
+ }
2480
+ };
2481
+
2482
+ function _globalDragOver(
2483
+ /**Event*/
2484
+ evt) {
2485
+ if (evt.dataTransfer) {
2486
+ evt.dataTransfer.dropEffect = 'move';
2487
+ }
2488
+
2489
+ evt.cancelable && evt.preventDefault();
2490
+ }
2491
+
2492
+ function _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {
2493
+ var evt,
2494
+ sortable = fromEl[expando],
2495
+ onMoveFn = sortable.options.onMove,
2496
+ retVal; // Support for new CustomEvent feature
2497
+
2498
+ if (window.CustomEvent && !IE11OrLess && !Edge) {
2499
+ evt = new CustomEvent('move', {
2500
+ bubbles: true,
2501
+ cancelable: true
2502
+ });
2503
+ } else {
2504
+ evt = document.createEvent('Event');
2505
+ evt.initEvent('move', true, true);
2506
+ }
2507
+
2508
+ evt.to = toEl;
2509
+ evt.from = fromEl;
2510
+ evt.dragged = dragEl;
2511
+ evt.draggedRect = dragRect;
2512
+ evt.related = targetEl || toEl;
2513
+ evt.relatedRect = targetRect || getRect(toEl);
2514
+ evt.willInsertAfter = willInsertAfter;
2515
+ evt.originalEvent = originalEvent;
2516
+ fromEl.dispatchEvent(evt);
2517
+
2518
+ if (onMoveFn) {
2519
+ retVal = onMoveFn.call(sortable, evt, originalEvent);
2520
+ }
2521
+
2522
+ return retVal;
2523
+ }
2524
+
2525
+ function _disableDraggable(el) {
2526
+ el.draggable = false;
2527
+ }
2528
+
2529
+ function _unsilent() {
2530
+ _silent = false;
2531
+ }
2532
+
2533
+ function _ghostIsFirst(evt, vertical, sortable) {
2534
+ var rect = getRect(getChild(sortable.el, 0, sortable.options, true));
2535
+ var spacer = 10;
2536
+ return vertical ? evt.clientX < rect.left - spacer || evt.clientY < rect.top && evt.clientX < rect.right : evt.clientY < rect.top - spacer || evt.clientY < rect.bottom && evt.clientX < rect.left;
2537
+ }
2538
+
2539
+ function _ghostIsLast(evt, vertical, sortable) {
2540
+ var rect = getRect(lastChild(sortable.el, sortable.options.draggable));
2541
+ var spacer = 10;
2542
+ return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;
2543
+ }
2544
+
2545
+ function _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {
2546
+ var mouseOnAxis = vertical ? evt.clientY : evt.clientX,
2547
+ targetLength = vertical ? targetRect.height : targetRect.width,
2548
+ targetS1 = vertical ? targetRect.top : targetRect.left,
2549
+ targetS2 = vertical ? targetRect.bottom : targetRect.right,
2550
+ invert = false;
2551
+
2552
+ if (!invertSwap) {
2553
+ // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold
2554
+ if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {
2555
+ // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2
2556
+ // check if past first invert threshold on side opposite of lastDirection
2557
+ if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {
2558
+ // past first invert threshold, do not restrict inverted threshold to dragEl shadow
2559
+ pastFirstInvertThresh = true;
2560
+ }
2561
+
2562
+ if (!pastFirstInvertThresh) {
2563
+ // dragEl shadow (target move distance shadow)
2564
+ if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow
2565
+ : mouseOnAxis > targetS2 - targetMoveDistance) {
2566
+ return -lastDirection;
2567
+ }
2568
+ } else {
2569
+ invert = true;
2570
+ }
2571
+ } else {
2572
+ // Regular
2573
+ if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {
2574
+ return _getInsertDirection(target);
2575
+ }
2576
+ }
2577
+ }
2578
+
2579
+ invert = invert || invertSwap;
2580
+
2581
+ if (invert) {
2582
+ // Invert of regular
2583
+ if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {
2584
+ return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;
2585
+ }
2586
+ }
2587
+
2588
+ return 0;
2589
+ }
2590
+ /**
2591
+ * Gets the direction dragEl must be swapped relative to target in order to make it
2592
+ * seem that dragEl has been "inserted" into that element's position
2593
+ * @param {HTMLElement} target The target whose position dragEl is being inserted at
2594
+ * @return {Number} Direction dragEl must be swapped
2595
+ */
2596
+
2597
+
2598
+ function _getInsertDirection(target) {
2599
+ if (index(dragEl) < index(target)) {
2600
+ return 1;
2601
+ } else {
2602
+ return -1;
2603
+ }
2604
+ }
2605
+ /**
2606
+ * Generate id
2607
+ * @param {HTMLElement} el
2608
+ * @returns {String}
2609
+ * @private
2610
+ */
2611
+
2612
+
2613
+ function _generateId(el) {
2614
+ var str = el.tagName + el.className + el.src + el.href + el.textContent,
2615
+ i = str.length,
2616
+ sum = 0;
2617
+
2618
+ while (i--) {
2619
+ sum += str.charCodeAt(i);
2620
+ }
2621
+
2622
+ return sum.toString(36);
2623
+ }
2624
+
2625
+ function _saveInputCheckedState(root) {
2626
+ savedInputChecked.length = 0;
2627
+ var inputs = root.getElementsByTagName('input');
2628
+ var idx = inputs.length;
2629
+
2630
+ while (idx--) {
2631
+ var el = inputs[idx];
2632
+ el.checked && savedInputChecked.push(el);
2633
+ }
2634
+ }
2635
+
2636
+ function _nextTick(fn) {
2637
+ return setTimeout(fn, 0);
2638
+ }
2639
+
2640
+ function _cancelNextTick(id) {
2641
+ return clearTimeout(id);
2642
+ } // Fixed #973:
2643
+
2644
+
2645
+ if (documentExists) {
2646
+ on(document, 'touchmove', function (evt) {
2647
+ if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {
2648
+ evt.preventDefault();
2649
+ }
2650
+ });
2651
+ } // Export utils
2652
+
2653
+
2654
+ Sortable.utils = {
2655
+ on: on,
2656
+ off: off,
2657
+ css: css,
2658
+ find: find,
2659
+ is: function is(el, selector) {
2660
+ return !!closest(el, selector, el, false);
2661
+ },
2662
+ extend: extend,
2663
+ throttle: throttle,
2664
+ closest: closest,
2665
+ toggleClass: toggleClass,
2666
+ clone: clone,
2667
+ index: index,
2668
+ nextTick: _nextTick,
2669
+ cancelNextTick: _cancelNextTick,
2670
+ detectDirection: _detectDirection,
2671
+ getChild: getChild
2672
+ };
2673
+ /**
2674
+ * Get the Sortable instance of an element
2675
+ * @param {HTMLElement} element The element
2676
+ * @return {Sortable|undefined} The instance of Sortable
2677
+ */
2678
+
2679
+ Sortable.get = function (element) {
2680
+ return element[expando];
2681
+ };
2682
+ /**
2683
+ * Mount a plugin to Sortable
2684
+ * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted
2685
+ */
2686
+
2687
+
2688
+ Sortable.mount = function () {
2689
+ for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {
2690
+ plugins[_key] = arguments[_key];
2691
+ }
2692
+
2693
+ if (plugins[0].constructor === Array) plugins = plugins[0];
2694
+ plugins.forEach(function (plugin) {
2695
+ if (!plugin.prototype || !plugin.prototype.constructor) {
2696
+ throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(plugin));
2697
+ }
2698
+
2699
+ if (plugin.utils) Sortable.utils = _objectSpread2(_objectSpread2({}, Sortable.utils), plugin.utils);
2700
+ PluginManager.mount(plugin);
2701
+ });
2702
+ };
2703
+ /**
2704
+ * Create sortable instance
2705
+ * @param {HTMLElement} el
2706
+ * @param {Object} [options]
2707
+ */
2708
+
2709
+
2710
+ Sortable.create = function (el, options) {
2711
+ return new Sortable(el, options);
2712
+ }; // Export
2713
+
2714
+
2715
+ Sortable.version = version;
2716
+
2717
+ var autoScrolls = [],
2718
+ scrollEl,
2719
+ scrollRootEl,
2720
+ scrolling = false,
2721
+ lastAutoScrollX,
2722
+ lastAutoScrollY,
2723
+ touchEvt$1,
2724
+ pointerElemChangedInterval;
2725
+
2726
+ function AutoScrollPlugin() {
2727
+ function AutoScroll() {
2728
+ this.defaults = {
2729
+ scroll: true,
2730
+ forceAutoScrollFallback: false,
2731
+ scrollSensitivity: 30,
2732
+ scrollSpeed: 10,
2733
+ bubbleScroll: true
2734
+ }; // Bind all private methods
2735
+
2736
+ for (var fn in this) {
2737
+ if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {
2738
+ this[fn] = this[fn].bind(this);
2739
+ }
2740
+ }
2741
+ }
2742
+
2743
+ AutoScroll.prototype = {
2744
+ dragStarted: function dragStarted(_ref) {
2745
+ var originalEvent = _ref.originalEvent;
2746
+
2747
+ if (this.sortable.nativeDraggable) {
2748
+ on(document, 'dragover', this._handleAutoScroll);
2749
+ } else {
2750
+ if (this.options.supportPointer) {
2751
+ on(document, 'pointermove', this._handleFallbackAutoScroll);
2752
+ } else if (originalEvent.touches) {
2753
+ on(document, 'touchmove', this._handleFallbackAutoScroll);
2754
+ } else {
2755
+ on(document, 'mousemove', this._handleFallbackAutoScroll);
2756
+ }
2757
+ }
2758
+ },
2759
+ dragOverCompleted: function dragOverCompleted(_ref2) {
2760
+ var originalEvent = _ref2.originalEvent;
2761
+
2762
+ // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)
2763
+ if (!this.options.dragOverBubble && !originalEvent.rootEl) {
2764
+ this._handleAutoScroll(originalEvent);
2765
+ }
2766
+ },
2767
+ drop: function drop() {
2768
+ if (this.sortable.nativeDraggable) {
2769
+ off(document, 'dragover', this._handleAutoScroll);
2770
+ } else {
2771
+ off(document, 'pointermove', this._handleFallbackAutoScroll);
2772
+ off(document, 'touchmove', this._handleFallbackAutoScroll);
2773
+ off(document, 'mousemove', this._handleFallbackAutoScroll);
2774
+ }
2775
+
2776
+ clearPointerElemChangedInterval();
2777
+ clearAutoScrolls();
2778
+ cancelThrottle();
2779
+ },
2780
+ nulling: function nulling() {
2781
+ touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;
2782
+ autoScrolls.length = 0;
2783
+ },
2784
+ _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {
2785
+ this._handleAutoScroll(evt, true);
2786
+ },
2787
+ _handleAutoScroll: function _handleAutoScroll(evt, fallback) {
2788
+ var _this = this;
2789
+
2790
+ var x = (evt.touches ? evt.touches[0] : evt).clientX,
2791
+ y = (evt.touches ? evt.touches[0] : evt).clientY,
2792
+ elem = document.elementFromPoint(x, y);
2793
+ touchEvt$1 = evt; // IE does not seem to have native autoscroll,
2794
+ // Edge's autoscroll seems too conditional,
2795
+ // MACOS Safari does not have autoscroll,
2796
+ // Firefox and Chrome are good
2797
+
2798
+ if (fallback || this.options.forceAutoScrollFallback || Edge || IE11OrLess || Safari) {
2799
+ autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change
2800
+
2801
+ var ogElemScroller = getParentAutoScrollElement(elem, true);
2802
+
2803
+ if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {
2804
+ pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour
2805
+
2806
+ pointerElemChangedInterval = setInterval(function () {
2807
+ var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);
2808
+
2809
+ if (newElem !== ogElemScroller) {
2810
+ ogElemScroller = newElem;
2811
+ clearAutoScrolls();
2812
+ }
2813
+
2814
+ autoScroll(evt, _this.options, newElem, fallback);
2815
+ }, 10);
2816
+ lastAutoScrollX = x;
2817
+ lastAutoScrollY = y;
2818
+ }
2819
+ } else {
2820
+ // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll
2821
+ if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {
2822
+ clearAutoScrolls();
2823
+ return;
2824
+ }
2825
+
2826
+ autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);
2827
+ }
2828
+ }
2829
+ };
2830
+ return _extends(AutoScroll, {
2831
+ pluginName: 'scroll',
2832
+ initializeByDefault: true
2833
+ });
2834
+ }
2835
+
2836
+ function clearAutoScrolls() {
2837
+ autoScrolls.forEach(function (autoScroll) {
2838
+ clearInterval(autoScroll.pid);
2839
+ });
2840
+ autoScrolls = [];
2841
+ }
2842
+
2843
+ function clearPointerElemChangedInterval() {
2844
+ clearInterval(pointerElemChangedInterval);
2845
+ }
2846
+
2847
+ var autoScroll = throttle(function (evt, options, rootEl, isFallback) {
2848
+ // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521
2849
+ if (!options.scroll) return;
2850
+ var x = (evt.touches ? evt.touches[0] : evt).clientX,
2851
+ y = (evt.touches ? evt.touches[0] : evt).clientY,
2852
+ sens = options.scrollSensitivity,
2853
+ speed = options.scrollSpeed,
2854
+ winScroller = getWindowScrollingElement();
2855
+ var scrollThisInstance = false,
2856
+ scrollCustomFn; // New scroll root, set scrollEl
2857
+
2858
+ if (scrollRootEl !== rootEl) {
2859
+ scrollRootEl = rootEl;
2860
+ clearAutoScrolls();
2861
+ scrollEl = options.scroll;
2862
+ scrollCustomFn = options.scrollFn;
2863
+
2864
+ if (scrollEl === true) {
2865
+ scrollEl = getParentAutoScrollElement(rootEl, true);
2866
+ }
2867
+ }
2868
+
2869
+ var layersOut = 0;
2870
+ var currentParent = scrollEl;
2871
+
2872
+ do {
2873
+ var el = currentParent,
2874
+ rect = getRect(el),
2875
+ top = rect.top,
2876
+ bottom = rect.bottom,
2877
+ left = rect.left,
2878
+ right = rect.right,
2879
+ width = rect.width,
2880
+ height = rect.height,
2881
+ canScrollX = void 0,
2882
+ canScrollY = void 0,
2883
+ scrollWidth = el.scrollWidth,
2884
+ scrollHeight = el.scrollHeight,
2885
+ elCSS = css(el),
2886
+ scrollPosX = el.scrollLeft,
2887
+ scrollPosY = el.scrollTop;
2888
+
2889
+ if (el === winScroller) {
2890
+ canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');
2891
+ canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');
2892
+ } else {
2893
+ canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');
2894
+ canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');
2895
+ }
2896
+
2897
+ var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);
2898
+ var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);
2899
+
2900
+ if (!autoScrolls[layersOut]) {
2901
+ for (var i = 0; i <= layersOut; i++) {
2902
+ if (!autoScrolls[i]) {
2903
+ autoScrolls[i] = {};
2904
+ }
2905
+ }
2906
+ }
2907
+
2908
+ if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {
2909
+ autoScrolls[layersOut].el = el;
2910
+ autoScrolls[layersOut].vx = vx;
2911
+ autoScrolls[layersOut].vy = vy;
2912
+ clearInterval(autoScrolls[layersOut].pid);
2913
+
2914
+ if (vx != 0 || vy != 0) {
2915
+ scrollThisInstance = true;
2916
+ /* jshint loopfunc:true */
2917
+
2918
+ autoScrolls[layersOut].pid = setInterval(function () {
2919
+ // emulate drag over during autoscroll (fallback), emulating native DnD behaviour
2920
+ if (isFallback && this.layer === 0) {
2921
+ Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely
2922
+
2923
+ }
2924
+
2925
+ var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;
2926
+ var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;
2927
+
2928
+ if (typeof scrollCustomFn === 'function') {
2929
+ if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {
2930
+ return;
2931
+ }
2932
+ }
2933
+
2934
+ scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);
2935
+ }.bind({
2936
+ layer: layersOut
2937
+ }), 24);
2938
+ }
2939
+ }
2940
+
2941
+ layersOut++;
2942
+ } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));
2943
+
2944
+ scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not
2945
+ }, 30);
2946
+
2947
+ var drop = function drop(_ref) {
2948
+ var originalEvent = _ref.originalEvent,
2949
+ putSortable = _ref.putSortable,
2950
+ dragEl = _ref.dragEl,
2951
+ activeSortable = _ref.activeSortable,
2952
+ dispatchSortableEvent = _ref.dispatchSortableEvent,
2953
+ hideGhostForTarget = _ref.hideGhostForTarget,
2954
+ unhideGhostForTarget = _ref.unhideGhostForTarget;
2955
+ if (!originalEvent) return;
2956
+ var toSortable = putSortable || activeSortable;
2957
+ hideGhostForTarget();
2958
+ var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;
2959
+ var target = document.elementFromPoint(touch.clientX, touch.clientY);
2960
+ unhideGhostForTarget();
2961
+
2962
+ if (toSortable && !toSortable.el.contains(target)) {
2963
+ dispatchSortableEvent('spill');
2964
+ this.onSpill({
2965
+ dragEl: dragEl,
2966
+ putSortable: putSortable
2967
+ });
2968
+ }
2969
+ };
2970
+
2971
+ function Revert() {}
2972
+
2973
+ Revert.prototype = {
2974
+ startIndex: null,
2975
+ dragStart: function dragStart(_ref2) {
2976
+ var oldDraggableIndex = _ref2.oldDraggableIndex;
2977
+ this.startIndex = oldDraggableIndex;
2978
+ },
2979
+ onSpill: function onSpill(_ref3) {
2980
+ var dragEl = _ref3.dragEl,
2981
+ putSortable = _ref3.putSortable;
2982
+ this.sortable.captureAnimationState();
2983
+
2984
+ if (putSortable) {
2985
+ putSortable.captureAnimationState();
2986
+ }
2987
+
2988
+ var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);
2989
+
2990
+ if (nextSibling) {
2991
+ this.sortable.el.insertBefore(dragEl, nextSibling);
2992
+ } else {
2993
+ this.sortable.el.appendChild(dragEl);
2994
+ }
2995
+
2996
+ this.sortable.animateAll();
2997
+
2998
+ if (putSortable) {
2999
+ putSortable.animateAll();
3000
+ }
3001
+ },
3002
+ drop: drop
3003
+ };
3004
+
3005
+ _extends(Revert, {
3006
+ pluginName: 'revertOnSpill'
3007
+ });
3008
+
3009
+ function Remove() {}
3010
+
3011
+ Remove.prototype = {
3012
+ onSpill: function onSpill(_ref4) {
3013
+ var dragEl = _ref4.dragEl,
3014
+ putSortable = _ref4.putSortable;
3015
+ var parentSortable = putSortable || this.sortable;
3016
+ parentSortable.captureAnimationState();
3017
+ dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);
3018
+ parentSortable.animateAll();
3019
+ },
3020
+ drop: drop
3021
+ };
3022
+
3023
+ _extends(Remove, {
3024
+ pluginName: 'removeOnSpill'
3025
+ });
3026
+
3027
+ Sortable.mount(new AutoScrollPlugin());
3028
+ Sortable.mount(Remove, Revert);
3029
+
3030
+ /*!
3031
+ * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3032
+ * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
3033
+ * v1.4.3
3034
+ */
3035
+ const sortableComponentSet = new Set();
3036
+ const inactiveSortableComponentSet = new WeakSet();
3037
+ /**
3038
+ * Helper to keep track of a SortableComponent. This should be called in the `connectedCallback` lifecycle method as well as any other method necessary to rebuild the sortable instance.
3039
+ *
3040
+ * @param {SortableComponent} component - The sortable component.
3041
+ * @param {SortableComponent} [options] - Sortable options object.
3042
+ */
3043
+ function connectSortableComponent(component, options) {
3044
+ disconnectSortableComponent(component);
3045
+ sortableComponentSet.add(component);
3046
+ if (inactiveSortableComponentSet.has(component)) {
3047
+ return;
3048
+ }
3049
+ component.sortable = Sortable.create(component.el, options);
3050
+ }
3051
+ /**
3052
+ * Helper to remove track of a SortableComponent. This should be called in the `disconnectedCallback` lifecycle method.
3053
+ *
3054
+ * @param {SortableComponent} component - The sortable component.
3055
+ */
3056
+ function disconnectSortableComponent(component) {
3057
+ sortableComponentSet.delete(component);
3058
+ if (inactiveSortableComponentSet.has(component)) {
3059
+ return;
3060
+ }
3061
+ component.sortable?.destroy();
3062
+ component.sortable = null;
3063
+ }
3064
+ function getNestedSortableComponents(activeComponent) {
3065
+ return Array.from(sortableComponentSet).filter((component) => component !== activeComponent && dom.containsCrossShadowBoundary(activeComponent.el, component.el));
3066
+ }
3067
+ /**
3068
+ * Helper to handle nested SortableComponents on `Sortable.onStart`.
3069
+ *
3070
+ * @param {SortableComponent} activeComponent - The active sortable component.
3071
+ */
3072
+ function onSortingStart(activeComponent) {
3073
+ getNestedSortableComponents(activeComponent).forEach((component) => inactiveSortableComponentSet.add(component));
3074
+ }
3075
+ /**
3076
+ * Helper to handle nested SortableComponents on `Sortable.onEnd`.
3077
+ *
3078
+ * @param {SortableComponent} activeComponent - The active sortable component.
3079
+ */
3080
+ function onSortingEnd(activeComponent) {
3081
+ getNestedSortableComponents(activeComponent).forEach((component) => inactiveSortableComponentSet.delete(component));
3082
+ }
3083
+
3084
+ exports.connectSortableComponent = connectSortableComponent;
3085
+ exports.disconnectSortableComponent = disconnectSortableComponent;
3086
+ exports.onSortingEnd = onSortingEnd;
3087
+ exports.onSortingStart = onSortingStart;