@svgrid/grid 2.6.6 → 2.6.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. package/CHANGELOG.md +346 -0
  2. package/README.md +199 -199
  3. package/dist/FlexRender.svelte +96 -96
  4. package/dist/GridFooter.svelte +178 -178
  5. package/dist/GridMenus.svelte +705 -705
  6. package/dist/SvAutoComplete.svelte +165 -165
  7. package/dist/SvAvatar.svelte +75 -75
  8. package/dist/SvCalendar.svelte +503 -503
  9. package/dist/SvCarousel.svelte +141 -141
  10. package/dist/SvCheckBox.svelte +102 -102
  11. package/dist/SvCircularProgress.svelte +109 -109
  12. package/dist/SvColorInput.svelte +181 -181
  13. package/dist/SvComboBox.svelte +275 -275
  14. package/dist/SvContextMenu.svelte +116 -116
  15. package/dist/SvCountryInput.svelte +163 -163
  16. package/dist/SvDrawer.svelte +254 -254
  17. package/dist/SvDropDownList.svelte +374 -374
  18. package/dist/SvDurationInput.svelte +126 -126
  19. package/dist/SvField.svelte +293 -293
  20. package/dist/SvForm.svelte +437 -437
  21. package/dist/SvGrid.controller.svelte.d.ts +1 -0
  22. package/dist/SvGrid.controller.svelte.js +44 -12
  23. package/dist/SvGrid.css +2856 -2846
  24. package/dist/SvGrid.svelte +2956 -3548
  25. package/dist/SvGridCellEditor.svelte +662 -0
  26. package/dist/SvGridCellEditor.svelte.d.ts +46 -0
  27. package/dist/SvGridChart.svelte +1716 -1716
  28. package/dist/SvGridChartPanel.svelte +485 -485
  29. package/dist/SvGridChartView.svelte +70 -70
  30. package/dist/SvGridDropdown.svelte +728 -728
  31. package/dist/SvGridSelect.svelte +266 -266
  32. package/dist/SvGroupCell.svelte +116 -116
  33. package/dist/SvListBox.svelte +326 -326
  34. package/dist/SvMaskedInput.svelte +122 -122
  35. package/dist/SvMenu.svelte +124 -124
  36. package/dist/SvMenuList.svelte +146 -146
  37. package/dist/SvMultiSelect.svelte +289 -289
  38. package/dist/SvNumberInput.svelte +168 -168
  39. package/dist/SvOtpInput.svelte +158 -158
  40. package/dist/SvPasswordInput.svelte +151 -151
  41. package/dist/SvPhoneInput.svelte +133 -133
  42. package/dist/SvPopover.svelte +197 -197
  43. package/dist/SvProgress.svelte +116 -116
  44. package/dist/SvRadioGroup.svelte +107 -107
  45. package/dist/SvRating.svelte +112 -112
  46. package/dist/SvResult.svelte +73 -73
  47. package/dist/SvRichText.svelte +211 -211
  48. package/dist/SvRowGroupPanel.svelte +170 -170
  49. package/dist/SvScrollArea.svelte +61 -61
  50. package/dist/SvSlider.svelte +203 -203
  51. package/dist/SvSwitchButton.svelte +108 -108
  52. package/dist/SvTagsInput.svelte +115 -115
  53. package/dist/SvTextInput.svelte +147 -147
  54. package/dist/SvTimePicker.svelte +245 -245
  55. package/dist/SvToaster.svelte +159 -159
  56. package/dist/SvToggleButton.svelte +85 -85
  57. package/dist/SvTooltip.svelte +161 -161
  58. package/dist/SvTour.svelte +208 -208
  59. package/dist/SvTree.svelte +444 -444
  60. package/dist/SvTreeSelect.svelte +235 -235
  61. package/dist/cdn/{GridMenus-CBvjL5u4.js → GridMenus-D3JbtKWp.js} +29 -28
  62. package/dist/cdn/GridMenus-g9aHrUhs.js +488 -0
  63. package/dist/cdn/{SvDateTimePicker-CHnUkWcH.js → SvDateTimePicker-DSUhIta8.js} +2 -2
  64. package/dist/cdn/{SvDateTimePicker-CRQH_U7E.js → SvDateTimePicker-h9kPyszT.js} +2 -2
  65. package/dist/cdn/SvGridCellEditor-DkyQO6FV.js +523 -0
  66. package/dist/cdn/SvGridCellEditor-JpJSRhDx.js +522 -0
  67. package/dist/cdn/{SvGridChart-BwVos976.js → SvGridChart-Bs2GIR2Q.js} +1 -1
  68. package/dist/cdn/{SvGridChart-BEJmNNx9.js → SvGridChart-CwhFz7GV.js} +1 -1
  69. package/dist/cdn/{SvGridChartPanel-BOknOkrP.js → SvGridChartPanel-1WXuStzM.js} +1 -1
  70. package/dist/cdn/{SvGridChartPanel-D2PjII4O.js → SvGridChartPanel-e5_nqNP9.js} +1 -1
  71. package/dist/cdn/{SvGridChartView-00LPUHL1.js → SvGridChartView-SmPW10dI.js} +1 -1
  72. package/dist/cdn/{SvGridChartView-BhUEJ5ki.js → SvGridChartView-eSPuJE6g.js} +1 -1
  73. package/dist/cdn/{SvGridDropdown-D0VdjeR8.js → SvGridDropdown-B1ZcLpgs.js} +1 -1
  74. package/dist/cdn/{SvGridDropdown-D13MtJ2j.js → SvGridDropdown-CtdbHcIS.js} +1 -1
  75. package/dist/cdn/editor-registry-CiI0xlKg.js +141 -0
  76. package/dist/cdn/row-drag-touch-Ddaa-QeB.js +91 -0
  77. package/dist/cdn/{src-3WKN7L4G.js → src-B76QPix7.js} +3877 -4387
  78. package/dist/cdn/{src-Cl7h5-Ux.js → src-cKs_0jXV.js} +9648 -10158
  79. package/dist/cdn/svgrid.js +8 -7
  80. package/dist/cdn/svgrid.svelte-external.js +8 -7
  81. package/dist/chart-export.js +8 -8
  82. package/dist/headless.d.ts +22 -0
  83. package/dist/headless.js +22 -0
  84. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/_svelte_metadata.json +1 -0
  85. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/_metadata.json +178 -0
  86. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/attachments-qzRy9DX4.js +3843 -0
  87. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/attachments-qzRy9DX4.js.map +1 -0
  88. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/constants-RLNOXCpz.js +23 -0
  89. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/constants-RLNOXCpz.js.map +1 -0
  90. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/dev-DPd12uEU.js +1925 -0
  91. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/dev-DPd12uEU.js.map +1 -0
  92. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/events-CDC4DKuQ.js +206 -0
  93. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/events-CDC4DKuQ.js.map +1 -0
  94. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/flags-BD-lYX7s.js +20 -0
  95. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/flags-BD-lYX7s.js.map +1 -0
  96. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/hydration-D3UBU2t8.js +264 -0
  97. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/hydration-D3UBU2t8.js.map +1 -0
  98. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/legacy-client-B0ZUlbSQ.js +698 -0
  99. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/legacy-client-B0ZUlbSQ.js.map +1 -0
  100. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/package.json +3 -0
  101. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte.js +135 -0
  102. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte.js.map +1 -0
  103. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_animate.js +57 -0
  104. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_animate.js.map +1 -0
  105. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_attachments.js +2 -0
  106. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_compiler.js +46691 -0
  107. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_compiler.js.map +1 -0
  108. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_easing.js +239 -0
  109. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_easing.js.map +1 -0
  110. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_events.js +2 -0
  111. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal.js +6 -0
  112. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal.js.map +1 -0
  113. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_client.js +7 -0
  114. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_disclose-version.js +6 -0
  115. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_disclose-version.js.map +1 -0
  116. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_async.js +7 -0
  117. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_async.js.map +1 -0
  118. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_legacy.js +7 -0
  119. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_legacy.js.map +1 -0
  120. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_tracing.js +7 -0
  121. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_tracing.js.map +1 -0
  122. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_server.js +6 -0
  123. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_legacy.js +85 -0
  124. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_legacy.js.map +1 -0
  125. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_motion.js +561 -0
  126. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_motion.js.map +1 -0
  127. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity.js +26 -0
  128. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity.js.map +1 -0
  129. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity_window.js +124 -0
  130. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity_window.js.map +1 -0
  131. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_server.js +2 -0
  132. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_store.js +91 -0
  133. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_store.js.map +1 -0
  134. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_transition.js +242 -0
  135. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_transition.js.map +1 -0
  136. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-lObbumRX.js +497 -0
  137. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-lObbumRX.js.map +1 -0
  138. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-mR9mAWyK.js +4929 -0
  139. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-mR9mAWyK.js.map +1 -0
  140. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/validate-CezNmRkM.js +192 -0
  141. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/validate-CezNmRkM.js.map +1 -0
  142. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/version-BHHo0WE-.js +10 -0
  143. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/version-BHHo0WE-.js.map +1 -0
  144. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/warnings-yiExAB06.js +140 -0
  145. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/warnings-yiExAB06.js.map +1 -0
  146. package/dist/row-drag-touch.d.ts +18 -0
  147. package/dist/row-drag-touch.js +185 -0
  148. package/dist/row-drag.d.ts +2 -0
  149. package/dist/row-drag.js +156 -5
  150. package/dist/virtualization/virtualizer.d.ts +14 -0
  151. package/dist/virtualization/virtualizer.js +21 -0
  152. package/package.json +18 -12
  153. package/src/FlexRender.svelte +96 -96
  154. package/src/GridFooter.svelte +178 -178
  155. package/src/GridMenus.svelte +705 -705
  156. package/src/SvAutoComplete.svelte +165 -165
  157. package/src/SvAvatar.svelte +75 -75
  158. package/src/SvCalendar.svelte +503 -503
  159. package/src/SvCalendar.test.ts +226 -226
  160. package/src/SvCarousel.svelte +141 -141
  161. package/src/SvCheckBox.svelte +102 -102
  162. package/src/SvCircularProgress.svelte +109 -109
  163. package/src/SvColorInput.svelte +181 -181
  164. package/src/SvComboBox.svelte +275 -275
  165. package/src/SvContextMenu.svelte +116 -116
  166. package/src/SvCountryInput.svelte +163 -163
  167. package/src/SvDrawer.svelte +254 -254
  168. package/src/SvDropDownList.svelte +374 -374
  169. package/src/SvDurationInput.svelte +126 -126
  170. package/src/SvField.svelte +293 -293
  171. package/src/SvForm.svelte +437 -437
  172. package/src/SvForm.test.ts +411 -411
  173. package/src/SvGrid.controller.svelte.ts +3898 -3858
  174. package/src/SvGrid.css +2856 -2846
  175. package/src/SvGrid.svelte +2956 -3548
  176. package/src/SvGrid.types.ts +1769 -1769
  177. package/src/SvGridCellEditor.svelte +662 -0
  178. package/src/SvGridChart.svelte +1716 -1716
  179. package/src/SvGridChartPanel.svelte +485 -485
  180. package/src/SvGridChartView.svelte +70 -70
  181. package/src/SvGridDropdown.svelte +728 -728
  182. package/src/SvGridSelect.svelte +266 -266
  183. package/src/SvGroupCell.svelte +116 -116
  184. package/src/SvListBox.svelte +326 -326
  185. package/src/SvMaskedInput.svelte +122 -122
  186. package/src/SvMenu.svelte +124 -124
  187. package/src/SvMenu.test.ts +97 -97
  188. package/src/SvMenuList.svelte +146 -146
  189. package/src/SvMultiSelect.svelte +289 -289
  190. package/src/SvNumberInput.svelte +168 -168
  191. package/src/SvOtpInput.svelte +158 -158
  192. package/src/SvPasswordInput.svelte +151 -151
  193. package/src/SvPhoneInput.svelte +133 -133
  194. package/src/SvPopover.svelte +197 -197
  195. package/src/SvProgress.svelte +116 -116
  196. package/src/SvRadioGroup.svelte +107 -107
  197. package/src/SvRating.svelte +112 -112
  198. package/src/SvResult.svelte +73 -73
  199. package/src/SvRichText.svelte +211 -211
  200. package/src/SvRowGroupPanel.svelte +170 -170
  201. package/src/SvScrollArea.svelte +61 -61
  202. package/src/SvSlider.svelte +203 -203
  203. package/src/SvSwitchButton.svelte +108 -108
  204. package/src/SvTagsInput.svelte +115 -115
  205. package/src/SvTextInput.svelte +147 -147
  206. package/src/SvTimePicker.svelte +245 -245
  207. package/src/SvToaster.svelte +159 -159
  208. package/src/SvToaster.test.ts +95 -95
  209. package/src/SvToggleButton.svelte +85 -85
  210. package/src/SvTooltip.svelte +161 -161
  211. package/src/SvTour.svelte +208 -208
  212. package/src/SvTree.svelte +444 -444
  213. package/src/SvTreeSelect.svelte +235 -235
  214. package/src/a11y/dismissable.test.ts +119 -119
  215. package/src/a11y/dismissable.ts +114 -114
  216. package/src/a11y.contract.test.ts +49 -49
  217. package/src/a11y.test.ts +59 -59
  218. package/src/a11y.ts +61 -61
  219. package/src/ai.test.ts +502 -502
  220. package/src/ai.ts +1391 -1391
  221. package/src/build-api.coverage.test.ts +633 -633
  222. package/src/build-api.ts +846 -846
  223. package/src/builtin-editors.grid.test.ts +83 -85
  224. package/src/cell-formatting.ts +169 -169
  225. package/src/cell-render.test.ts +513 -513
  226. package/src/cell-render.ts +496 -496
  227. package/src/cell-values.ts +118 -118
  228. package/src/chart-export.ts +201 -201
  229. package/src/chart-view.svelte.ts +36 -36
  230. package/src/chart.ts +2295 -2295
  231. package/src/collaboration.test.ts +104 -104
  232. package/src/collaboration.ts +167 -167
  233. package/src/core.performance.test.ts +30 -30
  234. package/src/core.ts +1261 -1261
  235. package/src/createAutocomplete.svelte.ts +132 -132
  236. package/src/createCombobox.svelte.ts +191 -191
  237. package/src/createCountryInput.svelte.ts +157 -157
  238. package/src/createDropdownList.svelte.ts +168 -168
  239. package/src/createForm.svelte.ts +386 -386
  240. package/src/createGrid.svelte.ts +42 -42
  241. package/src/createGrid.test.ts +10 -10
  242. package/src/createGridState.svelte.ts +17 -17
  243. package/src/createListbox.svelte.ts +250 -250
  244. package/src/createMenu.svelte.ts +224 -224
  245. package/src/createPopoverSelect.svelte.ts +213 -213
  246. package/src/createSlider.svelte.ts +191 -191
  247. package/src/createTooltip.svelte.ts +144 -144
  248. package/src/createTree.svelte.ts +319 -319
  249. package/src/editing.test.ts +949 -949
  250. package/src/editing.ts +606 -606
  251. package/src/editor-contract.ts +170 -170
  252. package/src/editor-registry.grid.test.ts +144 -144
  253. package/src/editor-registry.ts +122 -122
  254. package/src/export-data-api.test.ts +126 -126
  255. package/src/export-format.test.ts +107 -107
  256. package/src/export-format.ts +601 -601
  257. package/src/filter-operators.ts +160 -160
  258. package/src/flex-render.ts +3 -3
  259. package/src/form-field.ts +127 -127
  260. package/src/group-display.test.ts +167 -167
  261. package/src/group-display.ts +200 -200
  262. package/src/headless.ts +80 -0
  263. package/src/index.ts +754 -754
  264. package/src/js-scroller.svelte.ts +173 -173
  265. package/src/keyboard-handlers.ts +270 -270
  266. package/src/keyboard.test.ts +59 -59
  267. package/src/keyboard.ts +97 -97
  268. package/src/list-nav.test.ts +49 -49
  269. package/src/list-nav.ts +29 -29
  270. package/src/list-option.test.ts +56 -56
  271. package/src/list-option.ts +172 -172
  272. package/src/menus.ts +567 -567
  273. package/src/merge-objects.ts +48 -48
  274. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/_svelte_metadata.json +1 -0
  275. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/_metadata.json +178 -0
  276. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/attachments-qzRy9DX4.js +3843 -0
  277. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/attachments-qzRy9DX4.js.map +1 -0
  278. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/constants-RLNOXCpz.js +23 -0
  279. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/constants-RLNOXCpz.js.map +1 -0
  280. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/dev-DPd12uEU.js +1925 -0
  281. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/dev-DPd12uEU.js.map +1 -0
  282. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/events-CDC4DKuQ.js +206 -0
  283. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/events-CDC4DKuQ.js.map +1 -0
  284. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/flags-BD-lYX7s.js +20 -0
  285. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/flags-BD-lYX7s.js.map +1 -0
  286. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/hydration-D3UBU2t8.js +264 -0
  287. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/hydration-D3UBU2t8.js.map +1 -0
  288. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/legacy-client-B0ZUlbSQ.js +698 -0
  289. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/legacy-client-B0ZUlbSQ.js.map +1 -0
  290. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/package.json +3 -0
  291. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte.js +135 -0
  292. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte.js.map +1 -0
  293. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_animate.js +57 -0
  294. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_animate.js.map +1 -0
  295. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_attachments.js +2 -0
  296. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_compiler.js +46691 -0
  297. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_compiler.js.map +1 -0
  298. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_easing.js +239 -0
  299. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_easing.js.map +1 -0
  300. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_events.js +2 -0
  301. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal.js +6 -0
  302. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal.js.map +1 -0
  303. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_client.js +7 -0
  304. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_disclose-version.js +6 -0
  305. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_disclose-version.js.map +1 -0
  306. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_async.js +7 -0
  307. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_async.js.map +1 -0
  308. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_legacy.js +7 -0
  309. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_legacy.js.map +1 -0
  310. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_tracing.js +7 -0
  311. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_tracing.js.map +1 -0
  312. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_server.js +6 -0
  313. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_legacy.js +85 -0
  314. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_legacy.js.map +1 -0
  315. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_motion.js +561 -0
  316. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_motion.js.map +1 -0
  317. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity.js +26 -0
  318. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity.js.map +1 -0
  319. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity_window.js +124 -0
  320. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity_window.js.map +1 -0
  321. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_server.js +2 -0
  322. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_store.js +91 -0
  323. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_store.js.map +1 -0
  324. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_transition.js +242 -0
  325. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_transition.js.map +1 -0
  326. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-lObbumRX.js +497 -0
  327. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-lObbumRX.js.map +1 -0
  328. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-mR9mAWyK.js +4929 -0
  329. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-mR9mAWyK.js.map +1 -0
  330. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/validate-CezNmRkM.js +192 -0
  331. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/validate-CezNmRkM.js.map +1 -0
  332. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/version-BHHo0WE-.js +10 -0
  333. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/version-BHHo0WE-.js.map +1 -0
  334. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/warnings-yiExAB06.js +140 -0
  335. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/warnings-yiExAB06.js.map +1 -0
  336. package/src/overlays.test.ts +90 -90
  337. package/src/render-component.ts +28 -28
  338. package/src/row-drag-touch.ts +211 -0
  339. package/src/row-drag.test.ts +353 -168
  340. package/src/row-drag.ts +415 -265
  341. package/src/row-resize.ts +210 -210
  342. package/src/scheduler-model.test.ts +562 -562
  343. package/src/scheduler-model.ts +872 -872
  344. package/src/selection.test.ts +754 -754
  345. package/src/selection.ts +491 -491
  346. package/src/server-data-source.test.ts +383 -383
  347. package/src/server-data-source.ts +469 -469
  348. package/src/sparkline.test.ts +68 -68
  349. package/src/sparkline.ts +169 -169
  350. package/src/spreadsheet.test.ts +488 -488
  351. package/src/spreadsheet.ts +312 -312
  352. package/src/static-functions.ts +11 -11
  353. package/src/subscribe.ts +38 -38
  354. package/src/svgrid-wrapper.types.ts +558 -558
  355. package/src/svgrid.async-editor-options.test.ts +273 -271
  356. package/src/svgrid.auto-row-height.test.ts +204 -204
  357. package/src/svgrid.behavior.test.ts +705 -705
  358. package/src/svgrid.charting.test.ts +534 -534
  359. package/src/svgrid.comments-autocomplete.test.ts +127 -123
  360. package/src/svgrid.context-menu.test.ts +147 -147
  361. package/src/svgrid.features.test.ts +157 -157
  362. package/src/svgrid.filter-depth.test.ts +163 -163
  363. package/src/svgrid.filter-menu-listbox.svelte.test.ts +331 -331
  364. package/src/svgrid.filter-menu-scroll.test.ts +112 -112
  365. package/src/svgrid.grand-total.test.ts +188 -188
  366. package/src/svgrid.group-display-mode.test.ts +171 -171
  367. package/src/svgrid.group-footers.test.ts +121 -121
  368. package/src/svgrid.group-pagination.test.ts +153 -153
  369. package/src/svgrid.new-features.wrapper.test.ts +251 -251
  370. package/src/svgrid.tree-data.test.ts +186 -186
  371. package/src/svgrid.wrapper.test.ts +63 -63
  372. package/src/svgriddropdown.async-panel.svelte.test.ts +195 -195
  373. package/src/test-setup.ts +62 -62
  374. package/src/themes/index.ts +286 -286
  375. package/src/toast-store.svelte.ts +246 -246
  376. package/src/toast-store.test.ts +147 -147
  377. package/src/tree-row-model.test.ts +168 -168
  378. package/src/ui-buttons.test.ts +144 -144
  379. package/src/ui-inputs.test.ts +118 -118
  380. package/src/ui-localization.test.ts +113 -113
  381. package/src/ui-range.test.ts +70 -70
  382. package/src/ui-selection.test.ts +155 -155
  383. package/src/ui-tier1.test.ts +142 -142
  384. package/src/virtual.test.ts +88 -88
  385. package/src/virtualization/column-virtualizer.test.ts +27 -27
  386. package/src/virtualization/column-virtualizer.ts +30 -30
  387. package/src/virtualization/pre-measure.test.ts +65 -0
  388. package/src/virtualization/svelte-virtualizer.svelte.ts +26 -26
  389. package/src/virtualization/types.ts +30 -30
  390. package/src/virtualization/virtualizer.test.ts +47 -47
  391. package/src/virtualization/virtualizer.ts +322 -296
  392. package/dist/cdn/GridMenus-DAzp6YXc.js +0 -487
@@ -0,0 +1,124 @@
1
+ import { Nt as createSubscriber, dn as tag, mt as source, o as get, pt as set } from "./utils-mR9mAWyK.js";
2
+ import "./attachments-qzRy9DX4.js";
3
+ import { c as on } from "./events-CDC4DKuQ.js";
4
+ import "./svelte_events.js";
5
+ //#region ../../../node_modules/.pnpm/svelte@5.55.9/node_modules/svelte/src/reactivity/reactive-value.js
6
+ /**
7
+ * @template T
8
+ */
9
+ var ReactiveValue = class {
10
+ #fn;
11
+ #subscribe;
12
+ /**
13
+ *
14
+ * @param {() => T} fn
15
+ * @param {(update: () => void) => void} onsubscribe
16
+ */
17
+ constructor(fn, onsubscribe) {
18
+ this.#fn = fn;
19
+ this.#subscribe = createSubscriber(onsubscribe);
20
+ }
21
+ get current() {
22
+ this.#subscribe();
23
+ return this.#fn();
24
+ }
25
+ };
26
+ //#endregion
27
+ //#region ../../../node_modules/.pnpm/svelte@5.55.9/node_modules/svelte/src/reactivity/window/index.js
28
+ /**
29
+ * `scrollX.current` is a reactive view of `window.scrollX`. On the server it is `undefined`.
30
+ * @since 5.11.0
31
+ */
32
+ var scrollX = new ReactiveValue(() => void 0, (update) => on(window, "scroll", update));
33
+ /**
34
+ * `scrollY.current` is a reactive view of `window.scrollY`. On the server it is `undefined`.
35
+ * @since 5.11.0
36
+ */
37
+ var scrollY = new ReactiveValue(() => void 0, (update) => on(window, "scroll", update));
38
+ /**
39
+ * `innerWidth.current` is a reactive view of `window.innerWidth`. On the server it is `undefined`.
40
+ * @since 5.11.0
41
+ */
42
+ var innerWidth = new ReactiveValue(() => void 0, (update) => on(window, "resize", update));
43
+ /**
44
+ * `innerHeight.current` is a reactive view of `window.innerHeight`. On the server it is `undefined`.
45
+ * @since 5.11.0
46
+ */
47
+ var innerHeight = new ReactiveValue(() => void 0, (update) => on(window, "resize", update));
48
+ /**
49
+ * `outerWidth.current` is a reactive view of `window.outerWidth`. On the server it is `undefined`.
50
+ * @since 5.11.0
51
+ */
52
+ var outerWidth = new ReactiveValue(() => void 0, (update) => on(window, "resize", update));
53
+ /**
54
+ * `outerHeight.current` is a reactive view of `window.outerHeight`. On the server it is `undefined`.
55
+ * @since 5.11.0
56
+ */
57
+ var outerHeight = new ReactiveValue(() => void 0, (update) => on(window, "resize", update));
58
+ /**
59
+ * `screenLeft.current` is a reactive view of `window.screenLeft`. It is updated inside a `requestAnimationFrame` callback. On the server it is `undefined`.
60
+ * @since 5.11.0
61
+ */
62
+ var screenLeft = new ReactiveValue(() => void 0, (update) => {
63
+ let value = window.screenLeft;
64
+ let frame = requestAnimationFrame(function check() {
65
+ frame = requestAnimationFrame(check);
66
+ if (value !== (value = window.screenLeft)) update();
67
+ });
68
+ return () => {
69
+ cancelAnimationFrame(frame);
70
+ };
71
+ });
72
+ /**
73
+ * `screenTop.current` is a reactive view of `window.screenTop`. It is updated inside a `requestAnimationFrame` callback. On the server it is `undefined`.
74
+ * @since 5.11.0
75
+ */
76
+ var screenTop = new ReactiveValue(() => void 0, (update) => {
77
+ let value = window.screenTop;
78
+ let frame = requestAnimationFrame(function check() {
79
+ frame = requestAnimationFrame(check);
80
+ if (value !== (value = window.screenTop)) update();
81
+ });
82
+ return () => {
83
+ cancelAnimationFrame(frame);
84
+ };
85
+ });
86
+ /**
87
+ * `online.current` is a reactive view of `navigator.onLine`. On the server it is `undefined`.
88
+ * @since 5.11.0
89
+ */
90
+ var online = new ReactiveValue(() => void 0, (update) => {
91
+ const unsub_online = on(window, "online", update);
92
+ const unsub_offline = on(window, "offline", update);
93
+ return () => {
94
+ unsub_online();
95
+ unsub_offline();
96
+ };
97
+ });
98
+ /**
99
+ * `devicePixelRatio.current` is a reactive view of `window.devicePixelRatio`. On the server it is `undefined`.
100
+ * Note that behaviour differs between browsers — on Chrome it will respond to the current zoom level,
101
+ * on Firefox and Safari it won't.
102
+ * @type {{ get current(): number | undefined }}
103
+ * @since 5.11.0
104
+ */
105
+ var devicePixelRatio = /* @__PURE__ */ new class DevicePixelRatio {
106
+ #dpr = source(void 0);
107
+ #update() {
108
+ const off = on(window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`), "change", () => {
109
+ set(this.#dpr, window.devicePixelRatio);
110
+ off();
111
+ this.#update();
112
+ });
113
+ }
114
+ constructor() {
115
+ tag(this.#dpr, "window.devicePixelRatio");
116
+ }
117
+ get current() {
118
+ get(this.#dpr);
119
+ }
120
+ }();
121
+ //#endregion
122
+ export { devicePixelRatio, innerHeight, innerWidth, online, outerHeight, outerWidth, screenLeft, screenTop, scrollX, scrollY };
123
+
124
+ //# sourceMappingURL=svelte_reactivity_window.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte_reactivity_window.js","names":["#fn","#subscribe","#dpr","#update"],"sources":["../../../../../../../../node_modules/.pnpm/svelte@5.55.9/node_modules/svelte/src/reactivity/reactive-value.js","../../../../../../../../node_modules/.pnpm/svelte@5.55.9/node_modules/svelte/src/reactivity/window/index.js"],"sourcesContent":["import { createSubscriber } from './create-subscriber.js';\n\n/**\n * @template T\n */\nexport class ReactiveValue {\n\t#fn;\n\t#subscribe;\n\n\t/**\n\t *\n\t * @param {() => T} fn\n\t * @param {(update: () => void) => void} onsubscribe\n\t */\n\tconstructor(fn, onsubscribe) {\n\t\tthis.#fn = fn;\n\t\tthis.#subscribe = createSubscriber(onsubscribe);\n\t}\n\n\tget current() {\n\t\tthis.#subscribe();\n\t\treturn this.#fn();\n\t}\n}\n","import { BROWSER, DEV } from 'esm-env';\nimport { on } from '../../events/index.js';\nimport { ReactiveValue } from '../reactive-value.js';\nimport { get } from '../../internal/client/index.js';\nimport { set, source } from '../../internal/client/reactivity/sources.js';\nimport { tag } from '../../internal/client/dev/tracing.js';\n\n/**\n * `scrollX.current` is a reactive view of `window.scrollX`. On the server it is `undefined`.\n * @since 5.11.0\n */\nexport const scrollX = new ReactiveValue(\n\tBROWSER ? () => window.scrollX : () => undefined,\n\t(update) => on(window, 'scroll', update)\n);\n\n/**\n * `scrollY.current` is a reactive view of `window.scrollY`. On the server it is `undefined`.\n * @since 5.11.0\n */\nexport const scrollY = new ReactiveValue(\n\tBROWSER ? () => window.scrollY : () => undefined,\n\t(update) => on(window, 'scroll', update)\n);\n\n/**\n * `innerWidth.current` is a reactive view of `window.innerWidth`. On the server it is `undefined`.\n * @since 5.11.0\n */\nexport const innerWidth = new ReactiveValue(\n\tBROWSER ? () => window.innerWidth : () => undefined,\n\t(update) => on(window, 'resize', update)\n);\n\n/**\n * `innerHeight.current` is a reactive view of `window.innerHeight`. On the server it is `undefined`.\n * @since 5.11.0\n */\nexport const innerHeight = new ReactiveValue(\n\tBROWSER ? () => window.innerHeight : () => undefined,\n\t(update) => on(window, 'resize', update)\n);\n\n/**\n * `outerWidth.current` is a reactive view of `window.outerWidth`. On the server it is `undefined`.\n * @since 5.11.0\n */\nexport const outerWidth = new ReactiveValue(\n\tBROWSER ? () => window.outerWidth : () => undefined,\n\t(update) => on(window, 'resize', update)\n);\n\n/**\n * `outerHeight.current` is a reactive view of `window.outerHeight`. On the server it is `undefined`.\n * @since 5.11.0\n */\nexport const outerHeight = new ReactiveValue(\n\tBROWSER ? () => window.outerHeight : () => undefined,\n\t(update) => on(window, 'resize', update)\n);\n\n/**\n * `screenLeft.current` is a reactive view of `window.screenLeft`. It is updated inside a `requestAnimationFrame` callback. On the server it is `undefined`.\n * @since 5.11.0\n */\nexport const screenLeft = new ReactiveValue(\n\tBROWSER ? () => window.screenLeft : () => undefined,\n\t(update) => {\n\t\tlet value = window.screenLeft;\n\n\t\tlet frame = requestAnimationFrame(function check() {\n\t\t\tframe = requestAnimationFrame(check);\n\n\t\t\tif (value !== (value = window.screenLeft)) {\n\t\t\t\tupdate();\n\t\t\t}\n\t\t});\n\n\t\treturn () => {\n\t\t\tcancelAnimationFrame(frame);\n\t\t};\n\t}\n);\n\n/**\n * `screenTop.current` is a reactive view of `window.screenTop`. It is updated inside a `requestAnimationFrame` callback. On the server it is `undefined`.\n * @since 5.11.0\n */\nexport const screenTop = new ReactiveValue(\n\tBROWSER ? () => window.screenTop : () => undefined,\n\t(update) => {\n\t\tlet value = window.screenTop;\n\n\t\tlet frame = requestAnimationFrame(function check() {\n\t\t\tframe = requestAnimationFrame(check);\n\n\t\t\tif (value !== (value = window.screenTop)) {\n\t\t\t\tupdate();\n\t\t\t}\n\t\t});\n\n\t\treturn () => {\n\t\t\tcancelAnimationFrame(frame);\n\t\t};\n\t}\n);\n\n/**\n * `online.current` is a reactive view of `navigator.onLine`. On the server it is `undefined`.\n * @since 5.11.0\n */\nexport const online = new ReactiveValue(\n\tBROWSER ? () => navigator.onLine : () => undefined,\n\t(update) => {\n\t\tconst unsub_online = on(window, 'online', update);\n\t\tconst unsub_offline = on(window, 'offline', update);\n\t\treturn () => {\n\t\t\tunsub_online();\n\t\t\tunsub_offline();\n\t\t};\n\t}\n);\n\n/**\n * `devicePixelRatio.current` is a reactive view of `window.devicePixelRatio`. On the server it is `undefined`.\n * Note that behaviour differs between browsers — on Chrome it will respond to the current zoom level,\n * on Firefox and Safari it won't.\n * @type {{ get current(): number | undefined }}\n * @since 5.11.0\n */\nexport const devicePixelRatio = /* @__PURE__ */ new (class DevicePixelRatio {\n\t#dpr = source(BROWSER ? window.devicePixelRatio : undefined);\n\n\t#update() {\n\t\tconst off = on(\n\t\t\twindow.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),\n\t\t\t'change',\n\t\t\t() => {\n\t\t\t\tset(this.#dpr, window.devicePixelRatio);\n\n\t\t\t\toff();\n\t\t\t\tthis.#update();\n\t\t\t}\n\t\t);\n\t}\n\n\tconstructor() {\n\t\tif (BROWSER) {\n\t\t\tthis.#update();\n\t\t}\n\n\t\tif (DEV) {\n\t\t\ttag(this.#dpr, 'window.devicePixelRatio');\n\t\t}\n\t}\n\n\tget current() {\n\t\tget(this.#dpr);\n\t\treturn BROWSER ? window.devicePixelRatio : undefined;\n\t}\n})();\n"],"x_google_ignoreList":[0,1],"mappings":";;;;;;;;AAKA,IAAa,gBAAb,MAA2B;CAC1B;CACA;;;;;;CAOA,YAAY,IAAI,aAAa;EAC5B,KAAKA,MAAM;EACX,KAAKC,aAAa,iBAAiB,WAAW;CAC/C;CAEA,IAAI,UAAU;EACb,KAAKA,WAAW;EAChB,OAAO,KAAKD,IAAI;CACjB;AACD;;;;;;;ACZA,IAAa,UAAU,IAAI,oBACa,KAAA,IACtC,WAAW,GAAG,QAAQ,UAAU,MAAM,CACxC;;;;;AAMA,IAAa,UAAU,IAAI,oBACa,KAAA,IACtC,WAAW,GAAG,QAAQ,UAAU,MAAM,CACxC;;;;;AAMA,IAAa,aAAa,IAAI,oBACa,KAAA,IACzC,WAAW,GAAG,QAAQ,UAAU,MAAM,CACxC;;;;;AAMA,IAAa,cAAc,IAAI,oBACa,KAAA,IAC1C,WAAW,GAAG,QAAQ,UAAU,MAAM,CACxC;;;;;AAMA,IAAa,aAAa,IAAI,oBACa,KAAA,IACzC,WAAW,GAAG,QAAQ,UAAU,MAAM,CACxC;;;;;AAMA,IAAa,cAAc,IAAI,oBACa,KAAA,IAC1C,WAAW,GAAG,QAAQ,UAAU,MAAM,CACxC;;;;;AAMA,IAAa,aAAa,IAAI,oBACa,KAAA,IACzC,WAAW;CACX,IAAI,QAAQ,OAAO;CAEnB,IAAI,QAAQ,sBAAsB,SAAS,QAAQ;EAClD,QAAQ,sBAAsB,KAAK;EAEnC,IAAI,WAAW,QAAQ,OAAO,aAC7B,OAAO;CAET,CAAC;CAED,aAAa;EACZ,qBAAqB,KAAK;CAC3B;AACD,CACD;;;;;AAMA,IAAa,YAAY,IAAI,oBACa,KAAA,IACxC,WAAW;CACX,IAAI,QAAQ,OAAO;CAEnB,IAAI,QAAQ,sBAAsB,SAAS,QAAQ;EAClD,QAAQ,sBAAsB,KAAK;EAEnC,IAAI,WAAW,QAAQ,OAAO,YAC7B,OAAO;CAET,CAAC;CAED,aAAa;EACZ,qBAAqB,KAAK;CAC3B;AACD,CACD;;;;;AAMA,IAAa,SAAS,IAAI,oBACgB,KAAA,IACxC,WAAW;CACX,MAAM,eAAe,GAAG,QAAQ,UAAU,MAAM;CAChD,MAAM,gBAAgB,GAAG,QAAQ,WAAW,MAAM;CAClD,aAAa;EACZ,aAAa;EACb,cAAc;CACf;AACD,CACD;;;;;;;;AASA,IAAa,mCAAmC,IAAK,MAAM,iBAAiB;CAC3E,OAAO,OAA2C,KAAA,CAAS;CAE3D,UAAU;EACT,MAAM,MAAM,GACX,OAAO,WAAW,gBAAgB,OAAO,iBAAiB,MAAM,GAChE,gBACM;GACL,IAAI,KAAKE,MAAM,OAAO,gBAAgB;GAEtC,IAAI;GACJ,KAAKC,QAAQ;EACd,CACD;CACD;CAEA,cAAc;EAMZ,IAAI,KAAKD,MAAM,yBAAyB;CAE1C;CAEA,IAAI,UAAU;EACb,IAAI,KAAKA,IAAI;CAEd;AACD,EAAG"}
@@ -0,0 +1,2 @@
1
+ import { v as render } from "./dev-DPd12uEU.js";
2
+ export { render };
@@ -0,0 +1,91 @@
1
+ import { $t as readonly, Qt as readable, Xt as derived, Zt as get, en as writable } from "./utils-mR9mAWyK.js";
2
+ //#region ../../../node_modules/.pnpm/svelte@5.55.9/node_modules/svelte/src/store/index-server.js
3
+ /** @import { Readable, Writable } from './public.js' */
4
+ /**
5
+ * @template V
6
+ * @overload
7
+ * @param {() => V} get
8
+ * @param {(v: V) => void} set
9
+ * @returns {Writable<V>}
10
+ */
11
+ /**
12
+ * @template V
13
+ * @overload
14
+ * @param {() => V} get
15
+ * @returns {Readable<V>}
16
+ */
17
+ /**
18
+ * Create a store from a function that returns state, and (to make a writable store), an
19
+ * optional second function that sets state.
20
+ *
21
+ * ```ts
22
+ * import { toStore } from 'svelte/store';
23
+ *
24
+ * let count = $state(0);
25
+ *
26
+ * const store = toStore(() => count, (v) => (count = v));
27
+ * ```
28
+ * @template V
29
+ * @param {() => V} get
30
+ * @param {(v: V) => void} [set]
31
+ * @returns {Writable<V> | Readable<V>}
32
+ */
33
+ function toStore(get, set) {
34
+ const store = writable(get());
35
+ if (set) return {
36
+ set,
37
+ update: (fn) => set(fn(get())),
38
+ subscribe: store.subscribe
39
+ };
40
+ return { subscribe: store.subscribe };
41
+ }
42
+ /**
43
+ * @template V
44
+ * @overload
45
+ * @param {Writable<V>} store
46
+ * @returns {{ current: V }}
47
+ */
48
+ /**
49
+ * @template V
50
+ * @overload
51
+ * @param {Readable<V>} store
52
+ * @returns {{ readonly current: V }}
53
+ */
54
+ /**
55
+ * Convert a store to an object with a reactive `current` property. If `store`
56
+ * is a readable store, `current` will be a readonly property.
57
+ *
58
+ * ```ts
59
+ * import { fromStore, get, writable } from 'svelte/store';
60
+ *
61
+ * const store = writable(0);
62
+ *
63
+ * const count = fromStore(store);
64
+ *
65
+ * count.current; // 0;
66
+ * store.set(1);
67
+ * count.current; // 1
68
+ *
69
+ * count.current += 1;
70
+ * get(store); // 2
71
+ * ```
72
+ * @template V
73
+ * @param {Writable<V> | Readable<V>} store
74
+ */
75
+ function fromStore(store) {
76
+ if ("set" in store) return {
77
+ get current() {
78
+ return get(store);
79
+ },
80
+ set current(v) {
81
+ store.set(v);
82
+ }
83
+ };
84
+ return { get current() {
85
+ return get(store);
86
+ } };
87
+ }
88
+ //#endregion
89
+ export { derived, fromStore, get, readable, readonly, toStore, writable };
90
+
91
+ //# sourceMappingURL=svelte_store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte_store.js","names":[],"sources":["../../../../../../../../node_modules/.pnpm/svelte@5.55.9/node_modules/svelte/src/store/index-server.js"],"sourcesContent":["/** @import { Readable, Writable } from './public.js' */\nimport { get, writable } from './shared/index.js';\n\nexport { derived, get, readable, readonly, writable } from './shared/index.js';\n\n/**\n * @template V\n * @overload\n * @param {() => V} get\n * @param {(v: V) => void} set\n * @returns {Writable<V>}\n */\n/**\n * @template V\n * @overload\n * @param {() => V} get\n * @returns {Readable<V>}\n */\n/**\n * Create a store from a function that returns state, and (to make a writable store), an\n * optional second function that sets state.\n *\n * ```ts\n * import { toStore } from 'svelte/store';\n *\n * let count = $state(0);\n *\n * const store = toStore(() => count, (v) => (count = v));\n * ```\n * @template V\n * @param {() => V} get\n * @param {(v: V) => void} [set]\n * @returns {Writable<V> | Readable<V>}\n */\nexport function toStore(get, set) {\n\tconst store = writable(get());\n\n\tif (set) {\n\t\treturn {\n\t\t\tset,\n\t\t\tupdate: (fn) => set(fn(get())),\n\t\t\tsubscribe: store.subscribe\n\t\t};\n\t}\n\n\treturn {\n\t\tsubscribe: store.subscribe\n\t};\n}\n\n/**\n * @template V\n * @overload\n * @param {Writable<V>} store\n * @returns {{ current: V }}\n */\n/**\n * @template V\n * @overload\n * @param {Readable<V>} store\n * @returns {{ readonly current: V }}\n */\n/**\n * Convert a store to an object with a reactive `current` property. If `store`\n * is a readable store, `current` will be a readonly property.\n *\n * ```ts\n * import { fromStore, get, writable } from 'svelte/store';\n *\n * const store = writable(0);\n *\n * const count = fromStore(store);\n *\n * count.current; // 0;\n * store.set(1);\n * count.current; // 1\n *\n * count.current += 1;\n * get(store); // 2\n * ```\n * @template V\n * @param {Writable<V> | Readable<V>} store\n */\nexport function fromStore(store) {\n\tif ('set' in store) {\n\t\treturn {\n\t\t\tget current() {\n\t\t\t\treturn get(store);\n\t\t\t},\n\t\t\tset current(v) {\n\t\t\t\tstore.set(v);\n\t\t\t}\n\t\t};\n\t}\n\n\treturn {\n\t\tget current() {\n\t\t\treturn get(store);\n\t\t}\n\t};\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCA,SAAgB,QAAQ,KAAK,KAAK;CACjC,MAAM,QAAQ,SAAS,IAAI,CAAC;CAE5B,IAAI,KACH,OAAO;EACN;EACA,SAAS,OAAO,IAAI,GAAG,IAAI,CAAC,CAAC;EAC7B,WAAW,MAAM;CAClB;CAGD,OAAO,EACN,WAAW,MAAM,UAClB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,SAAgB,UAAU,OAAO;CAChC,IAAI,SAAS,OACZ,OAAO;EACN,IAAI,UAAU;GACb,OAAO,IAAI,KAAK;EACjB;EACA,IAAI,QAAQ,GAAG;GACd,MAAM,IAAI,CAAC;EACZ;CACD;CAGD,OAAO,EACN,IAAI,UAAU;EACb,OAAO,IAAI,KAAK;CACjB,EACD;AACD"}
@@ -0,0 +1,242 @@
1
+ import { v as transition_slide_display } from "./warnings-yiExAB06.js";
2
+ //#region ../../../node_modules/.pnpm/svelte@5.55.9/node_modules/svelte/src/transition/index.js
3
+ /** @import { BlurParams, CrossfadeParams, DrawParams, FadeParams, FlyParams, ScaleParams, SlideParams, TransitionConfig } from './public' */
4
+ /** @param {number} x */
5
+ var linear = (x) => x;
6
+ /** @param {number} t */
7
+ function cubic_out(t) {
8
+ const f = t - 1;
9
+ return f * f * f + 1;
10
+ }
11
+ /**
12
+ * @param {number} t
13
+ * @returns {number}
14
+ */
15
+ function cubic_in_out(t) {
16
+ return t < .5 ? 4 * t * t * t : .5 * Math.pow(2 * t - 2, 3) + 1;
17
+ }
18
+ /** @param {number | string} value
19
+ * @returns {[number, string]}
20
+ */
21
+ function split_css_unit(value) {
22
+ const split = typeof value === "string" && value.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);
23
+ return split ? [parseFloat(split[1]), split[2] || "px"] : [value, "px"];
24
+ }
25
+ /**
26
+ * Animates a `blur` filter alongside an element's opacity.
27
+ *
28
+ * @param {Element} node
29
+ * @param {BlurParams} [params]
30
+ * @returns {TransitionConfig}
31
+ */
32
+ function blur(node, { delay = 0, duration = 400, easing = cubic_in_out, amount = 5, opacity = 0 } = {}) {
33
+ const style = getComputedStyle(node);
34
+ const target_opacity = +style.opacity;
35
+ const f = style.filter === "none" ? "" : style.filter;
36
+ const od = target_opacity * (1 - opacity);
37
+ const [value, unit] = split_css_unit(amount);
38
+ return {
39
+ delay,
40
+ duration,
41
+ easing,
42
+ css: (_t, u) => `opacity: ${target_opacity - od * u}; filter: ${f} blur(${u * value}${unit});`
43
+ };
44
+ }
45
+ /**
46
+ * Animates the opacity of an element from 0 to the current opacity for `in` transitions and from the current opacity to 0 for `out` transitions.
47
+ *
48
+ * @param {Element} node
49
+ * @param {FadeParams} [params]
50
+ * @returns {TransitionConfig}
51
+ */
52
+ function fade(node, { delay = 0, duration = 400, easing = linear } = {}) {
53
+ const o = +getComputedStyle(node).opacity;
54
+ return {
55
+ delay,
56
+ duration,
57
+ easing,
58
+ css: (t) => `opacity: ${t * o}`
59
+ };
60
+ }
61
+ /**
62
+ * Animates the x and y positions and the opacity of an element. `in` transitions animate from the provided values, passed as parameters to the element's default values. `out` transitions animate from the element's default values to the provided values.
63
+ *
64
+ * @param {Element} node
65
+ * @param {FlyParams} [params]
66
+ * @returns {TransitionConfig}
67
+ */
68
+ function fly(node, { delay = 0, duration = 400, easing = cubic_out, x = 0, y = 0, opacity = 0 } = {}) {
69
+ const style = getComputedStyle(node);
70
+ const target_opacity = +style.opacity;
71
+ const transform = style.transform === "none" ? "" : style.transform;
72
+ const od = target_opacity * (1 - opacity);
73
+ const [x_value, x_unit] = split_css_unit(x);
74
+ const [y_value, y_unit] = split_css_unit(y);
75
+ return {
76
+ delay,
77
+ duration,
78
+ easing,
79
+ css: (t, u) => `
80
+ transform: ${transform} translate(${(1 - t) * x_value}${x_unit}, ${(1 - t) * y_value}${y_unit});
81
+ opacity: ${target_opacity - od * u}`
82
+ };
83
+ }
84
+ var slide_warning = false;
85
+ /**
86
+ * Slides an element in and out.
87
+ *
88
+ * @param {Element} node
89
+ * @param {SlideParams} [params]
90
+ * @returns {TransitionConfig}
91
+ */
92
+ function slide(node, { delay = 0, duration = 400, easing = cubic_out, axis = "y" } = {}) {
93
+ const style = getComputedStyle(node);
94
+ if (!slide_warning && /(contents|inline|table)/.test(style.display)) {
95
+ slide_warning = true;
96
+ Promise.resolve().then(() => slide_warning = false);
97
+ transition_slide_display(style.display);
98
+ }
99
+ const opacity = +style.opacity;
100
+ const primary_property = axis === "y" ? "height" : "width";
101
+ const primary_property_value = parseFloat(style[primary_property]);
102
+ const secondary_properties = axis === "y" ? ["top", "bottom"] : ["left", "right"];
103
+ const capitalized_secondary_properties = secondary_properties.map((e) => `${e[0].toUpperCase()}${e.slice(1)}`);
104
+ const padding_start_value = parseFloat(style[`padding${capitalized_secondary_properties[0]}`]);
105
+ const padding_end_value = parseFloat(style[`padding${capitalized_secondary_properties[1]}`]);
106
+ const margin_start_value = parseFloat(style[`margin${capitalized_secondary_properties[0]}`]);
107
+ const margin_end_value = parseFloat(style[`margin${capitalized_secondary_properties[1]}`]);
108
+ const border_width_start_value = parseFloat(style[`border${capitalized_secondary_properties[0]}Width`]);
109
+ const border_width_end_value = parseFloat(style[`border${capitalized_secondary_properties[1]}Width`]);
110
+ return {
111
+ delay,
112
+ duration,
113
+ easing,
114
+ css: (t) => `overflow: hidden;opacity: ${Math.min(t * 20, 1) * opacity};${primary_property}: ${t * primary_property_value}px;padding-${secondary_properties[0]}: ${t * padding_start_value}px;padding-${secondary_properties[1]}: ${t * padding_end_value}px;margin-${secondary_properties[0]}: ${t * margin_start_value}px;margin-${secondary_properties[1]}: ${t * margin_end_value}px;border-${secondary_properties[0]}-width: ${t * border_width_start_value}px;border-${secondary_properties[1]}-width: ${t * border_width_end_value}px;min-${primary_property}: 0`
115
+ };
116
+ }
117
+ /**
118
+ * Animates the opacity and scale of an element. `in` transitions animate from the provided values, passed as parameters, to an element's current (default) values. `out` transitions animate from an element's default values to the provided values.
119
+ *
120
+ * @param {Element} node
121
+ * @param {ScaleParams} [params]
122
+ * @returns {TransitionConfig}
123
+ */
124
+ function scale(node, { delay = 0, duration = 400, easing = cubic_out, start = 0, opacity = 0 } = {}) {
125
+ const style = getComputedStyle(node);
126
+ const target_opacity = +style.opacity;
127
+ const transform = style.transform === "none" ? "" : style.transform;
128
+ const sd = 1 - start;
129
+ const od = target_opacity * (1 - opacity);
130
+ return {
131
+ delay,
132
+ duration,
133
+ easing,
134
+ css: (_t, u) => `
135
+ transform: ${transform} scale(${1 - sd * u});
136
+ opacity: ${target_opacity - od * u}
137
+ `
138
+ };
139
+ }
140
+ /**
141
+ * Animates the stroke of an SVG element, like a snake in a tube. `in` transitions begin with the path invisible and draw the path to the screen over time. `out` transitions start in a visible state and gradually erase the path. `draw` only works with elements that have a `getTotalLength` method, like `<path>` and `<polyline>`.
142
+ *
143
+ * @param {SVGElement & { getTotalLength(): number }} node
144
+ * @param {DrawParams} [params]
145
+ * @returns {TransitionConfig}
146
+ */
147
+ function draw(node, { delay = 0, speed, duration, easing = cubic_in_out } = {}) {
148
+ let len = node.getTotalLength();
149
+ const style = getComputedStyle(node);
150
+ if (style.strokeLinecap !== "butt") len += parseInt(style.strokeWidth);
151
+ if (duration === void 0) if (speed === void 0) duration = 800;
152
+ else duration = len / speed;
153
+ else if (typeof duration === "function") duration = duration(len);
154
+ return {
155
+ delay,
156
+ duration,
157
+ easing,
158
+ css: (_, u) => `
159
+ stroke-dasharray: ${len};
160
+ stroke-dashoffset: ${u * len};
161
+ `
162
+ };
163
+ }
164
+ /**
165
+ * @template T
166
+ * @template S
167
+ * @param {T} tar
168
+ * @param {S} src
169
+ * @returns {T & S}
170
+ */
171
+ function assign(tar, src) {
172
+ for (const k in src) tar[k] = src[k];
173
+ return tar;
174
+ }
175
+ /**
176
+ * The `crossfade` function creates a pair of [transitions](https://svelte.dev/docs/svelte/transition) called `send` and `receive`. When an element is 'sent', it looks for a corresponding element being 'received', and generates a transition that transforms the element to its counterpart's position and fades it out. When an element is 'received', the reverse happens. If there is no counterpart, the `fallback` transition is used.
177
+ *
178
+ * @param {CrossfadeParams & {
179
+ * fallback?: (node: Element, params: CrossfadeParams, intro: boolean) => TransitionConfig;
180
+ * }} params
181
+ * @returns {[(node: any, params: CrossfadeParams & { key: any; }) => () => TransitionConfig, (node: any, params: CrossfadeParams & { key: any; }) => () => TransitionConfig]}
182
+ */
183
+ function crossfade({ fallback, ...defaults }) {
184
+ /** @type {Map<any, Element>} */
185
+ const to_receive = /* @__PURE__ */ new Map();
186
+ /** @type {Map<any, Element>} */
187
+ const to_send = /* @__PURE__ */ new Map();
188
+ /**
189
+ * @param {Element} from_node
190
+ * @param {Element} node
191
+ * @param {CrossfadeParams} params
192
+ * @returns {TransitionConfig}
193
+ */
194
+ function crossfade(from_node, node, params) {
195
+ const { delay = 0, duration = (d) => Math.sqrt(d) * 30, easing = cubic_out } = assign(assign({}, defaults), params);
196
+ const from = from_node.getBoundingClientRect();
197
+ const to = node.getBoundingClientRect();
198
+ const dx = from.left - to.left;
199
+ const dy = from.top - to.top;
200
+ const dw = from.width / to.width;
201
+ const dh = from.height / to.height;
202
+ const d = Math.sqrt(dx * dx + dy * dy);
203
+ const style = getComputedStyle(node);
204
+ const transform = style.transform === "none" ? "" : style.transform;
205
+ const opacity = +style.opacity;
206
+ return {
207
+ delay,
208
+ duration: typeof duration === "function" ? duration(d) : duration,
209
+ easing,
210
+ css: (t, u) => `
211
+ opacity: ${t * opacity};
212
+ transform-origin: top left;
213
+ transform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh});
214
+ `
215
+ };
216
+ }
217
+ /**
218
+ * @param {Map<any, Element>} items
219
+ * @param {Map<any, Element>} counterparts
220
+ * @param {boolean} intro
221
+ * @returns {(node: any, params: CrossfadeParams & { key: any; }) => () => TransitionConfig}
222
+ */
223
+ function transition(items, counterparts, intro) {
224
+ return (node, params) => {
225
+ items.set(params.key, node);
226
+ return () => {
227
+ if (counterparts.has(params.key)) {
228
+ const other_node = counterparts.get(params.key);
229
+ counterparts.delete(params.key);
230
+ return crossfade(other_node, node, params);
231
+ }
232
+ items.delete(params.key);
233
+ return fallback && fallback(node, params, intro);
234
+ };
235
+ };
236
+ }
237
+ return [transition(to_send, to_receive, false), transition(to_receive, to_send, true)];
238
+ }
239
+ //#endregion
240
+ export { blur, crossfade, draw, fade, fly, scale, slide };
241
+
242
+ //# sourceMappingURL=svelte_transition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte_transition.js","names":[],"sources":["../../../../../../../../node_modules/.pnpm/svelte@5.55.9/node_modules/svelte/src/transition/index.js"],"sourcesContent":["/** @import { BlurParams, CrossfadeParams, DrawParams, FadeParams, FlyParams, ScaleParams, SlideParams, TransitionConfig } from './public' */\n\nimport { DEV } from 'esm-env';\nimport * as w from '../internal/client/warnings.js';\n\n/** @param {number} x */\nconst linear = (x) => x;\n\n/** @param {number} t */\nfunction cubic_out(t) {\n\tconst f = t - 1.0;\n\treturn f * f * f + 1.0;\n}\n\n/**\n * @param {number} t\n * @returns {number}\n */\nfunction cubic_in_out(t) {\n\treturn t < 0.5 ? 4.0 * t * t * t : 0.5 * Math.pow(2.0 * t - 2.0, 3.0) + 1.0;\n}\n\n/** @param {number | string} value\n * @returns {[number, string]}\n */\nfunction split_css_unit(value) {\n\tconst split = typeof value === 'string' && value.match(/^\\s*(-?[\\d.]+)([^\\s]*)\\s*$/);\n\treturn split ? [parseFloat(split[1]), split[2] || 'px'] : [/** @type {number} */ (value), 'px'];\n}\n\n/**\n * Animates a `blur` filter alongside an element's opacity.\n *\n * @param {Element} node\n * @param {BlurParams} [params]\n * @returns {TransitionConfig}\n */\nexport function blur(\n\tnode,\n\t{ delay = 0, duration = 400, easing = cubic_in_out, amount = 5, opacity = 0 } = {}\n) {\n\tconst style = getComputedStyle(node);\n\tconst target_opacity = +style.opacity;\n\tconst f = style.filter === 'none' ? '' : style.filter;\n\tconst od = target_opacity * (1 - opacity);\n\tconst [value, unit] = split_css_unit(amount);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (_t, u) => `opacity: ${target_opacity - od * u}; filter: ${f} blur(${u * value}${unit});`\n\t};\n}\n\n/**\n * Animates the opacity of an element from 0 to the current opacity for `in` transitions and from the current opacity to 0 for `out` transitions.\n *\n * @param {Element} node\n * @param {FadeParams} [params]\n * @returns {TransitionConfig}\n */\nexport function fade(node, { delay = 0, duration = 400, easing = linear } = {}) {\n\tconst o = +getComputedStyle(node).opacity;\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (t) => `opacity: ${t * o}`\n\t};\n}\n\n/**\n * Animates the x and y positions and the opacity of an element. `in` transitions animate from the provided values, passed as parameters to the element's default values. `out` transitions animate from the element's default values to the provided values.\n *\n * @param {Element} node\n * @param {FlyParams} [params]\n * @returns {TransitionConfig}\n */\nexport function fly(\n\tnode,\n\t{ delay = 0, duration = 400, easing = cubic_out, x = 0, y = 0, opacity = 0 } = {}\n) {\n\tconst style = getComputedStyle(node);\n\tconst target_opacity = +style.opacity;\n\tconst transform = style.transform === 'none' ? '' : style.transform;\n\tconst od = target_opacity * (1 - opacity);\n\tconst [x_value, x_unit] = split_css_unit(x);\n\tconst [y_value, y_unit] = split_css_unit(y);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (t, u) => `\n\t\t\ttransform: ${transform} translate(${(1 - t) * x_value}${x_unit}, ${(1 - t) * y_value}${y_unit});\n\t\t\topacity: ${target_opacity - od * u}`\n\t};\n}\n\nvar slide_warning = false;\n\n/**\n * Slides an element in and out.\n *\n * @param {Element} node\n * @param {SlideParams} [params]\n * @returns {TransitionConfig}\n */\nexport function slide(node, { delay = 0, duration = 400, easing = cubic_out, axis = 'y' } = {}) {\n\tconst style = getComputedStyle(node);\n\n\tif (DEV && !slide_warning && /(contents|inline|table)/.test(style.display)) {\n\t\tslide_warning = true;\n\t\tPromise.resolve().then(() => (slide_warning = false));\n\t\tw.transition_slide_display(style.display);\n\t}\n\n\tconst opacity = +style.opacity;\n\tconst primary_property = axis === 'y' ? 'height' : 'width';\n\tconst primary_property_value = parseFloat(style[primary_property]);\n\tconst secondary_properties = axis === 'y' ? ['top', 'bottom'] : ['left', 'right'];\n\tconst capitalized_secondary_properties = secondary_properties.map(\n\t\t(e) => /** @type {'Left' | 'Right' | 'Top' | 'Bottom'} */ (`${e[0].toUpperCase()}${e.slice(1)}`)\n\t);\n\tconst padding_start_value = parseFloat(style[`padding${capitalized_secondary_properties[0]}`]);\n\tconst padding_end_value = parseFloat(style[`padding${capitalized_secondary_properties[1]}`]);\n\tconst margin_start_value = parseFloat(style[`margin${capitalized_secondary_properties[0]}`]);\n\tconst margin_end_value = parseFloat(style[`margin${capitalized_secondary_properties[1]}`]);\n\tconst border_width_start_value = parseFloat(\n\t\tstyle[`border${capitalized_secondary_properties[0]}Width`]\n\t);\n\tconst border_width_end_value = parseFloat(\n\t\tstyle[`border${capitalized_secondary_properties[1]}Width`]\n\t);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (t) =>\n\t\t\t'overflow: hidden;' +\n\t\t\t`opacity: ${Math.min(t * 20, 1) * opacity};` +\n\t\t\t`${primary_property}: ${t * primary_property_value}px;` +\n\t\t\t`padding-${secondary_properties[0]}: ${t * padding_start_value}px;` +\n\t\t\t`padding-${secondary_properties[1]}: ${t * padding_end_value}px;` +\n\t\t\t`margin-${secondary_properties[0]}: ${t * margin_start_value}px;` +\n\t\t\t`margin-${secondary_properties[1]}: ${t * margin_end_value}px;` +\n\t\t\t`border-${secondary_properties[0]}-width: ${t * border_width_start_value}px;` +\n\t\t\t`border-${secondary_properties[1]}-width: ${t * border_width_end_value}px;` +\n\t\t\t`min-${primary_property}: 0`\n\t};\n}\n\n/**\n * Animates the opacity and scale of an element. `in` transitions animate from the provided values, passed as parameters, to an element's current (default) values. `out` transitions animate from an element's default values to the provided values.\n *\n * @param {Element} node\n * @param {ScaleParams} [params]\n * @returns {TransitionConfig}\n */\nexport function scale(\n\tnode,\n\t{ delay = 0, duration = 400, easing = cubic_out, start = 0, opacity = 0 } = {}\n) {\n\tconst style = getComputedStyle(node);\n\tconst target_opacity = +style.opacity;\n\tconst transform = style.transform === 'none' ? '' : style.transform;\n\tconst sd = 1 - start;\n\tconst od = target_opacity * (1 - opacity);\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (_t, u) => `\n\t\t\ttransform: ${transform} scale(${1 - sd * u});\n\t\t\topacity: ${target_opacity - od * u}\n\t\t`\n\t};\n}\n\n/**\n * Animates the stroke of an SVG element, like a snake in a tube. `in` transitions begin with the path invisible and draw the path to the screen over time. `out` transitions start in a visible state and gradually erase the path. `draw` only works with elements that have a `getTotalLength` method, like `<path>` and `<polyline>`.\n *\n * @param {SVGElement & { getTotalLength(): number }} node\n * @param {DrawParams} [params]\n * @returns {TransitionConfig}\n */\nexport function draw(node, { delay = 0, speed, duration, easing = cubic_in_out } = {}) {\n\tlet len = node.getTotalLength();\n\tconst style = getComputedStyle(node);\n\tif (style.strokeLinecap !== 'butt') {\n\t\tlen += parseInt(style.strokeWidth);\n\t}\n\tif (duration === undefined) {\n\t\tif (speed === undefined) {\n\t\t\tduration = 800;\n\t\t} else {\n\t\t\tduration = len / speed;\n\t\t}\n\t} else if (typeof duration === 'function') {\n\t\tduration = duration(len);\n\t}\n\treturn {\n\t\tdelay,\n\t\tduration,\n\t\teasing,\n\t\tcss: (_, u) => `\n\t\t\tstroke-dasharray: ${len};\n\t\t\tstroke-dashoffset: ${u * len};\n\t\t`\n\t};\n}\n\n/**\n * @template T\n * @template S\n * @param {T} tar\n * @param {S} src\n * @returns {T & S}\n */\nfunction assign(tar, src) {\n\t// @ts-ignore\n\tfor (const k in src) tar[k] = src[k];\n\treturn /** @type {T & S} */ (tar);\n}\n\n/**\n * The `crossfade` function creates a pair of [transitions](https://svelte.dev/docs/svelte/transition) called `send` and `receive`. When an element is 'sent', it looks for a corresponding element being 'received', and generates a transition that transforms the element to its counterpart's position and fades it out. When an element is 'received', the reverse happens. If there is no counterpart, the `fallback` transition is used.\n *\n * @param {CrossfadeParams & {\n * \tfallback?: (node: Element, params: CrossfadeParams, intro: boolean) => TransitionConfig;\n * }} params\n * @returns {[(node: any, params: CrossfadeParams & { key: any; }) => () => TransitionConfig, (node: any, params: CrossfadeParams & { key: any; }) => () => TransitionConfig]}\n */\nexport function crossfade({ fallback, ...defaults }) {\n\t/** @type {Map<any, Element>} */\n\tconst to_receive = new Map();\n\t/** @type {Map<any, Element>} */\n\tconst to_send = new Map();\n\n\t/**\n\t * @param {Element} from_node\n\t * @param {Element} node\n\t * @param {CrossfadeParams} params\n\t * @returns {TransitionConfig}\n\t */\n\tfunction crossfade(from_node, node, params) {\n\t\tconst {\n\t\t\tdelay = 0,\n\t\t\tduration = /** @param {number} d */ (d) => Math.sqrt(d) * 30,\n\t\t\teasing = cubic_out\n\t\t} = assign(assign({}, defaults), params);\n\t\tconst from = from_node.getBoundingClientRect();\n\t\tconst to = node.getBoundingClientRect();\n\t\tconst dx = from.left - to.left;\n\t\tconst dy = from.top - to.top;\n\t\tconst dw = from.width / to.width;\n\t\tconst dh = from.height / to.height;\n\t\tconst d = Math.sqrt(dx * dx + dy * dy);\n\t\tconst style = getComputedStyle(node);\n\t\tconst transform = style.transform === 'none' ? '' : style.transform;\n\t\tconst opacity = +style.opacity;\n\t\treturn {\n\t\t\tdelay,\n\t\t\tduration: typeof duration === 'function' ? duration(d) : duration,\n\t\t\teasing,\n\t\t\tcss: (t, u) => `\n\t\t\t opacity: ${t * opacity};\n\t\t\t transform-origin: top left;\n\t\t\t transform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${\n\t\t\t\t\t\tt + (1 - t) * dh\n\t\t\t\t\t});\n\t\t `\n\t\t};\n\t}\n\n\t/**\n\t * @param {Map<any, Element>} items\n\t * @param {Map<any, Element>} counterparts\n\t * @param {boolean} intro\n\t * @returns {(node: any, params: CrossfadeParams & { key: any; }) => () => TransitionConfig}\n\t */\n\tfunction transition(items, counterparts, intro) {\n\t\t// @ts-expect-error TODO improve typings (are the public types wrong?)\n\t\treturn (node, params) => {\n\t\t\titems.set(params.key, node);\n\t\t\treturn () => {\n\t\t\t\tif (counterparts.has(params.key)) {\n\t\t\t\t\tconst other_node = counterparts.get(params.key);\n\t\t\t\t\tcounterparts.delete(params.key);\n\t\t\t\t\treturn crossfade(/** @type {Element} */ (other_node), node, params);\n\t\t\t\t}\n\t\t\t\t// if the node is disappearing altogether\n\t\t\t\t// (i.e. wasn't claimed by the other list)\n\t\t\t\t// then we need to supply an outro\n\t\t\t\titems.delete(params.key);\n\t\t\t\treturn fallback && fallback(node, params, intro);\n\t\t\t};\n\t\t};\n\t}\n\treturn [transition(to_send, to_receive, false), transition(to_receive, to_send, true)];\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;AAMA,IAAM,UAAU,MAAM;;AAGtB,SAAS,UAAU,GAAG;CACrB,MAAM,IAAI,IAAI;CACd,OAAO,IAAI,IAAI,IAAI;AACpB;;;;;AAMA,SAAS,aAAa,GAAG;CACxB,OAAO,IAAI,KAAM,IAAM,IAAI,IAAI,IAAI,KAAM,KAAK,IAAI,IAAM,IAAI,GAAK,CAAG,IAAI;AACzE;;;;AAKA,SAAS,eAAe,OAAO;CAC9B,MAAM,QAAQ,OAAO,UAAU,YAAY,MAAM,MAAM,4BAA4B;CACnF,OAAO,QAAQ,CAAC,WAAW,MAAM,EAAE,GAAG,MAAM,MAAM,IAAI,IAAI,CAAwB,OAAQ,IAAI;AAC/F;;;;;;;;AASA,SAAgB,KACf,MACA,EAAE,QAAQ,GAAG,WAAW,KAAK,SAAS,cAAc,SAAS,GAAG,UAAU,MAAM,CAAC,GAChF;CACD,MAAM,QAAQ,iBAAiB,IAAI;CACnC,MAAM,iBAAiB,CAAC,MAAM;CAC9B,MAAM,IAAI,MAAM,WAAW,SAAS,KAAK,MAAM;CAC/C,MAAM,KAAK,kBAAkB,IAAI;CACjC,MAAM,CAAC,OAAO,QAAQ,eAAe,MAAM;CAC3C,OAAO;EACN;EACA;EACA;EACA,MAAM,IAAI,MAAM,YAAY,iBAAiB,KAAK,EAAE,YAAY,EAAE,QAAQ,IAAI,QAAQ,KAAK;CAC5F;AACD;;;;;;;;AASA,SAAgB,KAAK,MAAM,EAAE,QAAQ,GAAG,WAAW,KAAK,SAAS,WAAW,CAAC,GAAG;CAC/E,MAAM,IAAI,CAAC,iBAAiB,IAAI,EAAE;CAClC,OAAO;EACN;EACA;EACA;EACA,MAAM,MAAM,YAAY,IAAI;CAC7B;AACD;;;;;;;;AASA,SAAgB,IACf,MACA,EAAE,QAAQ,GAAG,WAAW,KAAK,SAAS,WAAW,IAAI,GAAG,IAAI,GAAG,UAAU,MAAM,CAAC,GAC/E;CACD,MAAM,QAAQ,iBAAiB,IAAI;CACnC,MAAM,iBAAiB,CAAC,MAAM;CAC9B,MAAM,YAAY,MAAM,cAAc,SAAS,KAAK,MAAM;CAC1D,MAAM,KAAK,kBAAkB,IAAI;CACjC,MAAM,CAAC,SAAS,UAAU,eAAe,CAAC;CAC1C,MAAM,CAAC,SAAS,UAAU,eAAe,CAAC;CAC1C,OAAO;EACN;EACA;EACA;EACA,MAAM,GAAG,MAAM;gBACD,UAAU,cAAc,IAAI,KAAK,UAAU,OAAO,KAAK,IAAI,KAAK,UAAU,OAAO;cACnF,iBAAiB,KAAK;CACnC;AACD;AAEA,IAAI,gBAAgB;;;;;;;;AASpB,SAAgB,MAAM,MAAM,EAAE,QAAQ,GAAG,WAAW,KAAK,SAAS,WAAW,OAAO,QAAQ,CAAC,GAAG;CAC/F,MAAM,QAAQ,iBAAiB,IAAI;CAEnC,IAAW,CAAC,iBAAiB,0BAA0B,KAAK,MAAM,OAAO,GAAG;EAC3E,gBAAgB;EAChB,QAAQ,QAAQ,EAAE,WAAY,gBAAgB,KAAM;EACpD,yBAA2B,MAAM,OAAO;CACzC;CAEA,MAAM,UAAU,CAAC,MAAM;CACvB,MAAM,mBAAmB,SAAS,MAAM,WAAW;CACnD,MAAM,yBAAyB,WAAW,MAAM,iBAAiB;CACjE,MAAM,uBAAuB,SAAS,MAAM,CAAC,OAAO,QAAQ,IAAI,CAAC,QAAQ,OAAO;CAChF,MAAM,mCAAmC,qBAAqB,KAC5D,MAA0D,GAAG,EAAE,GAAG,YAAY,IAAI,EAAE,MAAM,CAAC,GAC7F;CACA,MAAM,sBAAsB,WAAW,MAAM,UAAU,iCAAiC,KAAK;CAC7F,MAAM,oBAAoB,WAAW,MAAM,UAAU,iCAAiC,KAAK;CAC3F,MAAM,qBAAqB,WAAW,MAAM,SAAS,iCAAiC,KAAK;CAC3F,MAAM,mBAAmB,WAAW,MAAM,SAAS,iCAAiC,KAAK;CACzF,MAAM,2BAA2B,WAChC,MAAM,SAAS,iCAAiC,GAAG,OACpD;CACA,MAAM,yBAAyB,WAC9B,MAAM,SAAS,iCAAiC,GAAG,OACpD;CACA,OAAO;EACN;EACA;EACA;EACA,MAAM,MACL,6BACY,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,QAAQ,GACvC,iBAAiB,IAAI,IAAI,uBAAuB,aACxC,qBAAqB,GAAG,IAAI,IAAI,oBAAoB,aACpD,qBAAqB,GAAG,IAAI,IAAI,kBAAkB,YACnD,qBAAqB,GAAG,IAAI,IAAI,mBAAmB,YACnD,qBAAqB,GAAG,IAAI,IAAI,iBAAiB,YACjD,qBAAqB,GAAG,UAAU,IAAI,yBAAyB,YAC/D,qBAAqB,GAAG,UAAU,IAAI,uBAAuB,SAChE,iBAAiB;CAC1B;AACD;;;;;;;;AASA,SAAgB,MACf,MACA,EAAE,QAAQ,GAAG,WAAW,KAAK,SAAS,WAAW,QAAQ,GAAG,UAAU,MAAM,CAAC,GAC5E;CACD,MAAM,QAAQ,iBAAiB,IAAI;CACnC,MAAM,iBAAiB,CAAC,MAAM;CAC9B,MAAM,YAAY,MAAM,cAAc,SAAS,KAAK,MAAM;CAC1D,MAAM,KAAK,IAAI;CACf,MAAM,KAAK,kBAAkB,IAAI;CACjC,OAAO;EACN;EACA;EACA;EACA,MAAM,IAAI,MAAM;gBACF,UAAU,SAAS,IAAI,KAAK,EAAE;cAChC,iBAAiB,KAAK,EAAE;;CAErC;AACD;;;;;;;;AASA,SAAgB,KAAK,MAAM,EAAE,QAAQ,GAAG,OAAO,UAAU,SAAS,iBAAiB,CAAC,GAAG;CACtF,IAAI,MAAM,KAAK,eAAe;CAC9B,MAAM,QAAQ,iBAAiB,IAAI;CACnC,IAAI,MAAM,kBAAkB,QAC3B,OAAO,SAAS,MAAM,WAAW;CAElC,IAAI,aAAa,KAAA,GAChB,IAAI,UAAU,KAAA,GACb,WAAW;MAEX,WAAW,MAAM;MAEZ,IAAI,OAAO,aAAa,YAC9B,WAAW,SAAS,GAAG;CAExB,OAAO;EACN;EACA;EACA;EACA,MAAM,GAAG,MAAM;uBACM,IAAI;wBACH,IAAI,IAAI;;CAE/B;AACD;;;;;;;;AASA,SAAS,OAAO,KAAK,KAAK;CAEzB,KAAK,MAAM,KAAK,KAAK,IAAI,KAAK,IAAI;CAClC,OAA6B;AAC9B;;;;;;;;;AAUA,SAAgB,UAAU,EAAE,UAAU,GAAG,YAAY;;CAEpD,MAAM,6BAAa,IAAI,IAAI;;CAE3B,MAAM,0BAAU,IAAI,IAAI;;;;;;;CAQxB,SAAS,UAAU,WAAW,MAAM,QAAQ;EAC3C,MAAM,EACL,QAAQ,GACR,YAAqC,MAAM,KAAK,KAAK,CAAC,IAAI,IAC1D,SAAS,cACN,OAAO,OAAO,CAAC,GAAG,QAAQ,GAAG,MAAM;EACvC,MAAM,OAAO,UAAU,sBAAsB;EAC7C,MAAM,KAAK,KAAK,sBAAsB;EACtC,MAAM,KAAK,KAAK,OAAO,GAAG;EAC1B,MAAM,KAAK,KAAK,MAAM,GAAG;EACzB,MAAM,KAAK,KAAK,QAAQ,GAAG;EAC3B,MAAM,KAAK,KAAK,SAAS,GAAG;EAC5B,MAAM,IAAI,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE;EACrC,MAAM,QAAQ,iBAAiB,IAAI;EACnC,MAAM,YAAY,MAAM,cAAc,SAAS,KAAK,MAAM;EAC1D,MAAM,UAAU,CAAC,MAAM;EACvB,OAAO;GACN;GACA,UAAU,OAAO,aAAa,aAAa,SAAS,CAAC,IAAI;GACzD;GACA,MAAM,GAAG,MAAM;iBACD,IAAI,QAAQ;;mBAEV,UAAU,aAAa,IAAI,GAAG,KAAK,IAAI,GAAG,YAAY,KAAK,IAAI,KAAK,GAAG,IACpF,KAAK,IAAI,KAAK,GACd;;EAEJ;CACD;;;;;;;CAQA,SAAS,WAAW,OAAO,cAAc,OAAO;EAE/C,QAAQ,MAAM,WAAW;GACxB,MAAM,IAAI,OAAO,KAAK,IAAI;GAC1B,aAAa;IACZ,IAAI,aAAa,IAAI,OAAO,GAAG,GAAG;KACjC,MAAM,aAAa,aAAa,IAAI,OAAO,GAAG;KAC9C,aAAa,OAAO,OAAO,GAAG;KAC9B,OAAO,UAAkC,YAAa,MAAM,MAAM;IACnE;IAIA,MAAM,OAAO,OAAO,GAAG;IACvB,OAAO,YAAY,SAAS,MAAM,QAAQ,KAAK;GAChD;EACD;CACD;CACA,OAAO,CAAC,WAAW,SAAS,YAAY,KAAK,GAAG,WAAW,YAAY,SAAS,IAAI,CAAC;AACtF"}