dash-splash-plugin 0.1.0__py3-none-any.whl

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 (521) hide show
  1. dash_splash_plugin/__init__.py +26 -0
  2. dash_splash_plugin/_catalog.py +538 -0
  3. dash_splash_plugin/plugin.py +524 -0
  4. dash_splash_plugin/py.typed +0 -0
  5. dash_splash_plugin/resources/licenses/SOURCES.json +4 -0
  6. dash_splash_plugin/resources/licenses/UPSTREAM-INVENTORY.md +44 -0
  7. dash_splash_plugin/resources/licenses/dash-loading-components-LICENSE.txt +21 -0
  8. dash_splash_plugin/resources/licenses/dash-loading-components-NOTICE.txt +51 -0
  9. dash_splash_plugin/resources/licenses/loading-ui-LICENSE.txt +21 -0
  10. dash_splash_plugin/resources/licenses/node_modules__alerix_m3-loading-indicator-LICENSE.txt +202 -0
  11. dash_splash_plugin/resources/licenses/node_modules__alerix_m3-loading-indicator-NOTICE.txt +16 -0
  12. dash_splash_plugin/resources/licenses/node_modules__ant-design_colors-LICENSE.txt +22 -0
  13. dash_splash_plugin/resources/licenses/node_modules__ant-design_cssinjs-LICENSE.md.txt +9 -0
  14. dash_splash_plugin/resources/licenses/node_modules__ant-design_cssinjs-utils-LICENSE.txt +20 -0
  15. dash_splash_plugin/resources/licenses/node_modules__ant-design_fast-color-LICENSE.txt +20 -0
  16. dash_splash_plugin/resources/licenses/node_modules__ant-design_icons-LICENSE.txt +22 -0
  17. dash_splash_plugin/resources/licenses/node_modules__ant-design_react-slick-LICENSE.txt +22 -0
  18. dash_splash_plugin/resources/licenses/node_modules__babel_runtime-LICENSE.txt +22 -0
  19. dash_splash_plugin/resources/licenses/node_modules__emotion_hash-LICENSE.txt +21 -0
  20. dash_splash_plugin/resources/licenses/node_modules__emotion_is-prop-valid-LICENSE.txt +21 -0
  21. dash_splash_plugin/resources/licenses/node_modules__emotion_memoize-LICENSE.txt +21 -0
  22. dash_splash_plugin/resources/licenses/node_modules__emotion_unitless-LICENSE.txt +21 -0
  23. dash_splash_plugin/resources/licenses/node_modules__rc-component_async-validator-LICENSE.md.txt +9 -0
  24. dash_splash_plugin/resources/licenses/node_modules__rc-component_cascader-LICENSE.md.txt +9 -0
  25. dash_splash_plugin/resources/licenses/node_modules__rc-component_cascader-LICENSE.txt +21 -0
  26. dash_splash_plugin/resources/licenses/node_modules__rc-component_checkbox-LICENSE.md.txt +7 -0
  27. dash_splash_plugin/resources/licenses/node_modules__rc-component_collapse-LICENSE.md.txt +9 -0
  28. dash_splash_plugin/resources/licenses/node_modules__rc-component_color-picker-LICENSE.md.txt +9 -0
  29. dash_splash_plugin/resources/licenses/node_modules__rc-component_context-LICENSE.md.txt +9 -0
  30. dash_splash_plugin/resources/licenses/node_modules__rc-component_dialog-LICENSE.md.txt +9 -0
  31. dash_splash_plugin/resources/licenses/node_modules__rc-component_drawer-LICENSE.txt +22 -0
  32. dash_splash_plugin/resources/licenses/node_modules__rc-component_dropdown-LICENSE.txt +20 -0
  33. dash_splash_plugin/resources/licenses/node_modules__rc-component_form-LICENSE.txt +21 -0
  34. dash_splash_plugin/resources/licenses/node_modules__rc-component_image-LICENSE.md.txt +9 -0
  35. dash_splash_plugin/resources/licenses/node_modules__rc-component_image-LICENSE.txt +21 -0
  36. dash_splash_plugin/resources/licenses/node_modules__rc-component_input-LICENSE.md.txt +9 -0
  37. dash_splash_plugin/resources/licenses/node_modules__rc-component_input-number-LICENSE.md.txt +9 -0
  38. dash_splash_plugin/resources/licenses/node_modules__rc-component_listy-LICENSE.txt +20 -0
  39. dash_splash_plugin/resources/licenses/node_modules__rc-component_mentions-LICENSE.md.txt +9 -0
  40. dash_splash_plugin/resources/licenses/node_modules__rc-component_mentions-LICENSE.txt +21 -0
  41. dash_splash_plugin/resources/licenses/node_modules__rc-component_menu-LICENSE.md.txt +9 -0
  42. dash_splash_plugin/resources/licenses/node_modules__rc-component_menu-LICENSE.txt +21 -0
  43. dash_splash_plugin/resources/licenses/node_modules__rc-component_mini-decimal-LICENSE.txt +21 -0
  44. dash_splash_plugin/resources/licenses/node_modules__rc-component_motion-LICENSE.md.txt +9 -0
  45. dash_splash_plugin/resources/licenses/node_modules__rc-component_mutate-observer-LICENSE.txt +21 -0
  46. dash_splash_plugin/resources/licenses/node_modules__rc-component_notification-LICENSE.md.txt +9 -0
  47. dash_splash_plugin/resources/licenses/node_modules__rc-component_notification-LICENSE.txt +21 -0
  48. dash_splash_plugin/resources/licenses/node_modules__rc-component_overflow-LICENSE.md.txt +9 -0
  49. dash_splash_plugin/resources/licenses/node_modules__rc-component_pagination-LICENSE.md.txt +9 -0
  50. dash_splash_plugin/resources/licenses/node_modules__rc-component_picker-LICENSE.md.txt +9 -0
  51. dash_splash_plugin/resources/licenses/node_modules__rc-component_picker-LICENSE.txt +21 -0
  52. dash_splash_plugin/resources/licenses/node_modules__rc-component_portal-LICENSE.txt +21 -0
  53. dash_splash_plugin/resources/licenses/node_modules__rc-component_progress-LICENSE.md.txt +9 -0
  54. dash_splash_plugin/resources/licenses/node_modules__rc-component_progress-LICENSE.txt +21 -0
  55. dash_splash_plugin/resources/licenses/node_modules__rc-component_qrcode-LICENSE.txt +20 -0
  56. dash_splash_plugin/resources/licenses/node_modules__rc-component_rate-LICENSE.md.txt +9 -0
  57. dash_splash_plugin/resources/licenses/node_modules__rc-component_resize-observer-LICENSE.md.txt +9 -0
  58. dash_splash_plugin/resources/licenses/node_modules__rc-component_segmented-LICENSE.md.txt +9 -0
  59. dash_splash_plugin/resources/licenses/node_modules__rc-component_segmented-LICENSE.txt +21 -0
  60. dash_splash_plugin/resources/licenses/node_modules__rc-component_segmented_node_modules__babel_runtime-LICENSE.txt +22 -0
  61. dash_splash_plugin/resources/licenses/node_modules__rc-component_select-LICENSE.md.txt +9 -0
  62. dash_splash_plugin/resources/licenses/node_modules__rc-component_select-LICENSE.txt +21 -0
  63. dash_splash_plugin/resources/licenses/node_modules__rc-component_slider-LICENSE.txt +20 -0
  64. dash_splash_plugin/resources/licenses/node_modules__rc-component_steps-LICENSE.md.txt +9 -0
  65. dash_splash_plugin/resources/licenses/node_modules__rc-component_steps-LICENSE.txt +21 -0
  66. dash_splash_plugin/resources/licenses/node_modules__rc-component_switch-LICENSE.md.txt +9 -0
  67. dash_splash_plugin/resources/licenses/node_modules__rc-component_table-LICENSE.md.txt +9 -0
  68. dash_splash_plugin/resources/licenses/node_modules__rc-component_table-LICENSE.txt +21 -0
  69. dash_splash_plugin/resources/licenses/node_modules__rc-component_tabs-LICENSE.md.txt +9 -0
  70. dash_splash_plugin/resources/licenses/node_modules__rc-component_tabs-LICENSE.txt +21 -0
  71. dash_splash_plugin/resources/licenses/node_modules__rc-component_tooltip-LICENSE.txt +21 -0
  72. dash_splash_plugin/resources/licenses/node_modules__rc-component_tour-LICENSE.txt +21 -0
  73. dash_splash_plugin/resources/licenses/node_modules__rc-component_tree-LICENSE.md.txt +22 -0
  74. dash_splash_plugin/resources/licenses/node_modules__rc-component_tree-LICENSE.txt +21 -0
  75. dash_splash_plugin/resources/licenses/node_modules__rc-component_tree-select-LICENSE.md.txt +22 -0
  76. dash_splash_plugin/resources/licenses/node_modules__rc-component_tree-select-LICENSE.txt +21 -0
  77. dash_splash_plugin/resources/licenses/node_modules__rc-component_trigger-LICENSE.txt +20 -0
  78. dash_splash_plugin/resources/licenses/node_modules__rc-component_upload-LICENSE.txt +21 -0
  79. dash_splash_plugin/resources/licenses/node_modules__rc-component_util-LICENSE.txt +22 -0
  80. dash_splash_plugin/resources/licenses/node_modules__rc-component_util_node_modules_react-is-LICENSE.txt +21 -0
  81. dash_splash_plugin/resources/licenses/node_modules__rc-component_virtual-list-LICENSE.txt +21 -0
  82. dash_splash_plugin/resources/licenses/node_modules__rc-component_virtual-list_node_modules__babel_runtime-LICENSE.txt +22 -0
  83. dash_splash_plugin/resources/licenses/node_modules__types_prop-types-LICENSE.txt +21 -0
  84. dash_splash_plugin/resources/licenses/node_modules__types_react-LICENSE.txt +21 -0
  85. dash_splash_plugin/resources/licenses/node_modules__types_react-dom-LICENSE.txt +21 -0
  86. dash_splash_plugin/resources/licenses/node_modules_antd-LICENSE.txt +22 -0
  87. dash_splash_plugin/resources/licenses/node_modules_camelize-LICENSE.txt +18 -0
  88. dash_splash_plugin/resources/licenses/node_modules_clsx-license.txt +9 -0
  89. dash_splash_plugin/resources/licenses/node_modules_compute-scroll-into-view-LICENSE.txt +21 -0
  90. dash_splash_plugin/resources/licenses/node_modules_css-color-keywords-LICENSE.txt +15 -0
  91. dash_splash_plugin/resources/licenses/node_modules_css-to-react-native-LICENSE.md.txt +21 -0
  92. dash_splash_plugin/resources/licenses/node_modules_csstype-LICENSE.txt +19 -0
  93. dash_splash_plugin/resources/licenses/node_modules_dayjs-LICENSE.txt +21 -0
  94. dash_splash_plugin/resources/licenses/node_modules_flicker-dot-LICENSE.txt +21 -0
  95. dash_splash_plugin/resources/licenses/node_modules_framer-motion-LICENSE.md.txt +21 -0
  96. dash_splash_plugin/resources/licenses/node_modules_gridora-LICENSE.txt +21 -0
  97. dash_splash_plugin/resources/licenses/node_modules_js-tokens-LICENSE.txt +21 -0
  98. dash_splash_plugin/resources/licenses/node_modules_json2mq-LICENSE.txt +22 -0
  99. dash_splash_plugin/resources/licenses/node_modules_ldrs-LICENSE.txt +21 -0
  100. dash_splash_plugin/resources/licenses/node_modules_loadersz-LICENSE.txt +21 -0
  101. dash_splash_plugin/resources/licenses/node_modules_loose-envify-LICENSE.txt +21 -0
  102. dash_splash_plugin/resources/licenses/node_modules_motion-LICENSE.md.txt +21 -0
  103. dash_splash_plugin/resources/licenses/node_modules_motion-dom-LICENSE.md.txt +21 -0
  104. dash_splash_plugin/resources/licenses/node_modules_motion-utils-LICENSE.md.txt +21 -0
  105. dash_splash_plugin/resources/licenses/node_modules_object-assign-license.txt +21 -0
  106. dash_splash_plugin/resources/licenses/node_modules_postcss-value-parser-LICENSE.txt +22 -0
  107. dash_splash_plugin/resources/licenses/node_modules_premium-react-loaders-LICENSE.txt +21 -0
  108. dash_splash_plugin/resources/licenses/node_modules_prop-types-LICENSE.txt +21 -0
  109. dash_splash_plugin/resources/licenses/node_modules_react-LICENSE.txt +21 -0
  110. dash_splash_plugin/resources/licenses/node_modules_react-dom-LICENSE.txt +21 -0
  111. dash_splash_plugin/resources/licenses/node_modules_react-epic-spinners-LICENSE.txt +21 -0
  112. dash_splash_plugin/resources/licenses/node_modules_react-is-LICENSE.txt +21 -0
  113. dash_splash_plugin/resources/licenses/node_modules_react-loader-spinner-LICENSE.txt +21 -0
  114. dash_splash_plugin/resources/licenses/node_modules_react-loading-indicators-LICENSE.txt +21 -0
  115. dash_splash_plugin/resources/licenses/node_modules_react-spinners-LICENSE.txt +21 -0
  116. dash_splash_plugin/resources/licenses/node_modules_scheduler-LICENSE.txt +21 -0
  117. dash_splash_plugin/resources/licenses/node_modules_scroll-into-view-if-needed-LICENSE.txt +21 -0
  118. dash_splash_plugin/resources/licenses/node_modules_spinners-react-LICENSE.md.txt +21 -0
  119. dash_splash_plugin/resources/licenses/node_modules_string-convert-LICENSE.txt +21 -0
  120. dash_splash_plugin/resources/licenses/node_modules_styled-components-LICENSE.txt +21 -0
  121. dash_splash_plugin/resources/licenses/node_modules_stylis-LICENSE.txt +21 -0
  122. dash_splash_plugin/resources/licenses/node_modules_thinking-orbs-LICENSE.txt +21 -0
  123. dash_splash_plugin/resources/licenses/node_modules_throttle-debounce-LICENSE.md.txt +45 -0
  124. dash_splash_plugin/resources/licenses/node_modules_tinycolor2-LICENSE.txt +20 -0
  125. dash_splash_plugin/resources/licenses/node_modules_tslib-LICENSE.txt.txt +12 -0
  126. dash_splash_plugin/resources/licenses/scripts_react19_node_modules_loading-dev-LICENSE.md.txt +21 -0
  127. dash_splash_plugin/resources/licenses/scripts_react19_node_modules_react-LICENSE.txt +21 -0
  128. dash_splash_plugin/resources/licenses/scripts_react19_node_modules_react-dom-LICENSE.txt +21 -0
  129. dash_splash_plugin/resources/licenses/scripts_react19_node_modules_scheduler-LICENSE.txt +21 -0
  130. dash_splash_plugin/resources/manifest.json +57430 -0
  131. dash_splash_plugin/resources/react/loader-0-VIVLENDE.js +1 -0
  132. dash_splash_plugin/resources/react/loader-1-N6KHCHAU.js +1 -0
  133. dash_splash_plugin/resources/react/loader-10-5FIMCSU3.js +1 -0
  134. dash_splash_plugin/resources/react/loader-10-JOPQFXQB.css +1 -0
  135. dash_splash_plugin/resources/react/loader-100-WRPTEIAR.js +1 -0
  136. dash_splash_plugin/resources/react/loader-101-NI35QNCM.js +1 -0
  137. dash_splash_plugin/resources/react/loader-102-UMSTUCRX.js +1 -0
  138. dash_splash_plugin/resources/react/loader-103-BOBNXEEG.js +3 -0
  139. dash_splash_plugin/resources/react/loader-104-MA6WLBJR.js +1 -0
  140. dash_splash_plugin/resources/react/loader-105-WOMPW7RH.js +1 -0
  141. dash_splash_plugin/resources/react/loader-106-IMARWTEC.js +1 -0
  142. dash_splash_plugin/resources/react/loader-107-LUWABWK6.js +1 -0
  143. dash_splash_plugin/resources/react/loader-108-ALXCFGTW.js +1 -0
  144. dash_splash_plugin/resources/react/loader-109-LFFUH2CF.js +1 -0
  145. dash_splash_plugin/resources/react/loader-11-PKKDWJRW.js +1 -0
  146. dash_splash_plugin/resources/react/loader-110-L5RJNRTQ.js +1 -0
  147. dash_splash_plugin/resources/react/loader-111-O5TGLCOW.js +1 -0
  148. dash_splash_plugin/resources/react/loader-112-UHUPVKDM.js +1 -0
  149. dash_splash_plugin/resources/react/loader-113-TSXKK7JO.js +1 -0
  150. dash_splash_plugin/resources/react/loader-114-3AGVXVMG.css +2 -0
  151. dash_splash_plugin/resources/react/loader-114-JFR43WMS.js +12 -0
  152. dash_splash_plugin/resources/react/loader-115-4AOU5LIY.css +2 -0
  153. dash_splash_plugin/resources/react/loader-115-JUNV44H3.js +1 -0
  154. dash_splash_plugin/resources/react/loader-116-IA72555N.js +7 -0
  155. dash_splash_plugin/resources/react/loader-116-M5G5ZWNB.css +2 -0
  156. dash_splash_plugin/resources/react/loader-117-IZO5H5HG.css +2 -0
  157. dash_splash_plugin/resources/react/loader-117-WNOM5ONN.js +14 -0
  158. dash_splash_plugin/resources/react/loader-118-Z5F3ZKYN.css +2 -0
  159. dash_splash_plugin/resources/react/loader-118-ZPRC2GR4.js +1 -0
  160. dash_splash_plugin/resources/react/loader-119-QGX6IEPZ.js +14 -0
  161. dash_splash_plugin/resources/react/loader-119-TVNBITTY.css +2 -0
  162. dash_splash_plugin/resources/react/loader-12-ICB6VE5X.js +1 -0
  163. dash_splash_plugin/resources/react/loader-120-QNU4QFYU.css +2 -0
  164. dash_splash_plugin/resources/react/loader-120-SDYITMFR.js +11 -0
  165. dash_splash_plugin/resources/react/loader-121-SR3BHIPG.js +11 -0
  166. dash_splash_plugin/resources/react/loader-121-V7XJDX5B.css +2 -0
  167. dash_splash_plugin/resources/react/loader-122-2TBCSNHY.js +69 -0
  168. dash_splash_plugin/resources/react/loader-122-MZNWTUSI.css +2 -0
  169. dash_splash_plugin/resources/react/loader-123-F26LQLHM.css +2 -0
  170. dash_splash_plugin/resources/react/loader-123-PBKMZKOZ.js +11 -0
  171. dash_splash_plugin/resources/react/loader-124-DY7LOBRX.css +2 -0
  172. dash_splash_plugin/resources/react/loader-124-IXIMKQXG.js +11 -0
  173. dash_splash_plugin/resources/react/loader-125-BVM7HDP6.js +1 -0
  174. dash_splash_plugin/resources/react/loader-125-VGO2NOYM.css +2 -0
  175. dash_splash_plugin/resources/react/loader-126-ENRK7M2D.css +2 -0
  176. dash_splash_plugin/resources/react/loader-126-MMEBIXD6.js +15 -0
  177. dash_splash_plugin/resources/react/loader-127-EOJQ3GDC.js +24 -0
  178. dash_splash_plugin/resources/react/loader-127-NRBOYTQX.css +2 -0
  179. dash_splash_plugin/resources/react/loader-128-O44KASJ3.css +2 -0
  180. dash_splash_plugin/resources/react/loader-128-QZM5SS4J.js +12 -0
  181. dash_splash_plugin/resources/react/loader-129-FUVAS2EW.css +2 -0
  182. dash_splash_plugin/resources/react/loader-129-XNESF23S.js +7 -0
  183. dash_splash_plugin/resources/react/loader-13-OGPEPMHP.js +1 -0
  184. dash_splash_plugin/resources/react/loader-130-IG76RIX6.css +2 -0
  185. dash_splash_plugin/resources/react/loader-130-J3ZU3UCU.js +7 -0
  186. dash_splash_plugin/resources/react/loader-131-2NRSM7YT.css +2 -0
  187. dash_splash_plugin/resources/react/loader-131-VBJOI6PC.js +36 -0
  188. dash_splash_plugin/resources/react/loader-132-AHYS3RQB.js +36 -0
  189. dash_splash_plugin/resources/react/loader-132-CVKNKKTR.css +2 -0
  190. dash_splash_plugin/resources/react/loader-133-4BZWZD4R.js +7 -0
  191. dash_splash_plugin/resources/react/loader-133-ZZWERVBI.css +2 -0
  192. dash_splash_plugin/resources/react/loader-134-S646LD5W.js +1 -0
  193. dash_splash_plugin/resources/react/loader-134-WNPGKWWH.css +2 -0
  194. dash_splash_plugin/resources/react/loader-135-5K76CEXY.css +2 -0
  195. dash_splash_plugin/resources/react/loader-135-C76B27AJ.js +11 -0
  196. dash_splash_plugin/resources/react/loader-136-CPHFELRF.css +2 -0
  197. dash_splash_plugin/resources/react/loader-136-ZXXWTVQ7.js +1 -0
  198. dash_splash_plugin/resources/react/loader-137-QBFF7PQZ.css +2 -0
  199. dash_splash_plugin/resources/react/loader-137-QXRJ4QHZ.js +14 -0
  200. dash_splash_plugin/resources/react/loader-138-BPN66P6S.js +14 -0
  201. dash_splash_plugin/resources/react/loader-138-YGIX7XHL.css +2 -0
  202. dash_splash_plugin/resources/react/loader-139-NMYASBUV.js +11 -0
  203. dash_splash_plugin/resources/react/loader-139-XWF76VQV.css +2 -0
  204. dash_splash_plugin/resources/react/loader-14-4PJXLU65.js +1 -0
  205. dash_splash_plugin/resources/react/loader-140-2QKVKL25.js +7 -0
  206. dash_splash_plugin/resources/react/loader-140-F4ANSRIX.css +2 -0
  207. dash_splash_plugin/resources/react/loader-141-47RWLHAH.css +2 -0
  208. dash_splash_plugin/resources/react/loader-141-XHQW3GPT.js +1 -0
  209. dash_splash_plugin/resources/react/loader-142-AESXWIJ6.css +2 -0
  210. dash_splash_plugin/resources/react/loader-142-AHNDS455.js +11 -0
  211. dash_splash_plugin/resources/react/loader-143-LNNXCCBI.css +2 -0
  212. dash_splash_plugin/resources/react/loader-143-RAXC7BTL.js +7 -0
  213. dash_splash_plugin/resources/react/loader-144-3QQXO26K.css +2 -0
  214. dash_splash_plugin/resources/react/loader-144-6LWBRZL6.js +1 -0
  215. dash_splash_plugin/resources/react/loader-145-ANZRJTRO.css +2 -0
  216. dash_splash_plugin/resources/react/loader-145-CX6FLPVZ.js +7 -0
  217. dash_splash_plugin/resources/react/loader-146-3QLYGVOV.js +27 -0
  218. dash_splash_plugin/resources/react/loader-146-W6SFKVSG.css +2 -0
  219. dash_splash_plugin/resources/react/loader-147-2E5XPW3B.js +20 -0
  220. dash_splash_plugin/resources/react/loader-147-3J4XXY5G.css +2 -0
  221. dash_splash_plugin/resources/react/loader-148-EKP32VYK.js +20 -0
  222. dash_splash_plugin/resources/react/loader-148-MLBKU4QZ.css +2 -0
  223. dash_splash_plugin/resources/react/loader-149-ODUAWE2P.js +29 -0
  224. dash_splash_plugin/resources/react/loader-149-X33ZBH62.css +2 -0
  225. dash_splash_plugin/resources/react/loader-15-2CWOANG7.js +1 -0
  226. dash_splash_plugin/resources/react/loader-150-OAXTT45M.js +125 -0
  227. dash_splash_plugin/resources/react/loader-150-UTVKYMPK.css +2 -0
  228. dash_splash_plugin/resources/react/loader-151-L4LA7DHB.css +2 -0
  229. dash_splash_plugin/resources/react/loader-151-P2XRI7UY.js +12 -0
  230. dash_splash_plugin/resources/react/loader-152-D43ENW6P.js +12 -0
  231. dash_splash_plugin/resources/react/loader-152-YDSTDXQN.css +2 -0
  232. dash_splash_plugin/resources/react/loader-153-E4N33ZSC.css +2 -0
  233. dash_splash_plugin/resources/react/loader-153-SJVD2NXK.js +12 -0
  234. dash_splash_plugin/resources/react/loader-154-5HOCADYH.js +1 -0
  235. dash_splash_plugin/resources/react/loader-154-7ZF4FE6D.css +2 -0
  236. dash_splash_plugin/resources/react/loader-155-6CMVY3TK.js +1 -0
  237. dash_splash_plugin/resources/react/loader-155-FX4OWGZH.css +2 -0
  238. dash_splash_plugin/resources/react/loader-156-4JVVBJ47.css +2 -0
  239. dash_splash_plugin/resources/react/loader-156-JSCUTCGO.js +11 -0
  240. dash_splash_plugin/resources/react/loader-157-E3MQQJ5X.css +2 -0
  241. dash_splash_plugin/resources/react/loader-157-SZMAIMOP.js +7 -0
  242. dash_splash_plugin/resources/react/loader-158-6D356NAL.js +14 -0
  243. dash_splash_plugin/resources/react/loader-158-QEM6VMOX.css +2 -0
  244. dash_splash_plugin/resources/react/loader-159-5GFRRJOM.css +2 -0
  245. dash_splash_plugin/resources/react/loader-159-6DD4SISK.js +58 -0
  246. dash_splash_plugin/resources/react/loader-16-CVXIONBI.js +1 -0
  247. dash_splash_plugin/resources/react/loader-160-NIAX6LED.css +2 -0
  248. dash_splash_plugin/resources/react/loader-160-X74UYDJ2.js +12 -0
  249. dash_splash_plugin/resources/react/loader-161-ABHCEFP6.js +1 -0
  250. dash_splash_plugin/resources/react/loader-162-AN6BZBQB.js +1 -0
  251. dash_splash_plugin/resources/react/loader-163-NH3ACH4W.js +1 -0
  252. dash_splash_plugin/resources/react/loader-164-M73MCOG3.js +1 -0
  253. dash_splash_plugin/resources/react/loader-17-AG7TGQF2.js +1 -0
  254. dash_splash_plugin/resources/react/loader-18-3KF773I7.js +1 -0
  255. dash_splash_plugin/resources/react/loader-19-JIKMJBN7.js +1 -0
  256. dash_splash_plugin/resources/react/loader-2-7YJXQGW6.js +1 -0
  257. dash_splash_plugin/resources/react/loader-20-PLYWEIU6.js +1 -0
  258. dash_splash_plugin/resources/react/loader-21-MEBUVUUU.js +1 -0
  259. dash_splash_plugin/resources/react/loader-22-DI6BOVIP.js +13 -0
  260. dash_splash_plugin/resources/react/loader-23-MTQFH5PW.js +10 -0
  261. dash_splash_plugin/resources/react/loader-24-MVP5LKW5.css +1 -0
  262. dash_splash_plugin/resources/react/loader-24-RS5CFIPI.js +1 -0
  263. dash_splash_plugin/resources/react/loader-25-SCTH6VT4.js +1 -0
  264. dash_splash_plugin/resources/react/loader-25-ZBA4MKRO.css +1 -0
  265. dash_splash_plugin/resources/react/loader-26-FWYXWHYH.js +1 -0
  266. dash_splash_plugin/resources/react/loader-26-QILU6ILC.css +1 -0
  267. dash_splash_plugin/resources/react/loader-27-LRLVQGSI.css +1 -0
  268. dash_splash_plugin/resources/react/loader-27-RH3FHF3U.js +1 -0
  269. dash_splash_plugin/resources/react/loader-28-A3AGDK7B.js +1 -0
  270. dash_splash_plugin/resources/react/loader-28-CKZOQQDB.css +1 -0
  271. dash_splash_plugin/resources/react/loader-29-GCCFXSJ7.js +1 -0
  272. dash_splash_plugin/resources/react/loader-29-GTOT4JLS.css +1 -0
  273. dash_splash_plugin/resources/react/loader-3-KPQ7YCBX.js +1 -0
  274. dash_splash_plugin/resources/react/loader-30-CNFGA4NX.css +1 -0
  275. dash_splash_plugin/resources/react/loader-30-HMBETZJ4.js +1 -0
  276. dash_splash_plugin/resources/react/loader-31-UN4H6YET.js +1 -0
  277. dash_splash_plugin/resources/react/loader-31-W5FAZ4RZ.css +1 -0
  278. dash_splash_plugin/resources/react/loader-32-TT3DGPLC.css +1 -0
  279. dash_splash_plugin/resources/react/loader-32-WBSAN3EJ.js +1 -0
  280. dash_splash_plugin/resources/react/loader-33-C7YIISXL.css +1 -0
  281. dash_splash_plugin/resources/react/loader-33-DKO3ZGKQ.js +1 -0
  282. dash_splash_plugin/resources/react/loader-34-2DHRQV36.css +1 -0
  283. dash_splash_plugin/resources/react/loader-34-UDKOX3JI.js +1 -0
  284. dash_splash_plugin/resources/react/loader-35-744HJYFH.js +1 -0
  285. dash_splash_plugin/resources/react/loader-35-LGLJHECS.css +1 -0
  286. dash_splash_plugin/resources/react/loader-36-RLYKAFPR.js +1 -0
  287. dash_splash_plugin/resources/react/loader-37-QQC6XOSK.js +1 -0
  288. dash_splash_plugin/resources/react/loader-38-7DKIWWZZ.js +1 -0
  289. dash_splash_plugin/resources/react/loader-39-2ZOVK4YT.js +1 -0
  290. dash_splash_plugin/resources/react/loader-4-6CJNMM6V.js +1 -0
  291. dash_splash_plugin/resources/react/loader-40-XOAV5FLU.js +1 -0
  292. dash_splash_plugin/resources/react/loader-41-56MLHYWY.js +1 -0
  293. dash_splash_plugin/resources/react/loader-42-OBXKNERE.js +1 -0
  294. dash_splash_plugin/resources/react/loader-43-YR2YDW34.js +1 -0
  295. dash_splash_plugin/resources/react/loader-44-DUAP4PI3.js +1 -0
  296. dash_splash_plugin/resources/react/loader-45-FUCLV3WS.js +1 -0
  297. dash_splash_plugin/resources/react/loader-46-UJRZZQGL.js +1 -0
  298. dash_splash_plugin/resources/react/loader-47-O5BJ4DLB.js +1 -0
  299. dash_splash_plugin/resources/react/loader-48-27EKGSW2.js +1 -0
  300. dash_splash_plugin/resources/react/loader-49-MWPJI5VQ.js +1 -0
  301. dash_splash_plugin/resources/react/loader-5-MU5WX5KQ.js +1 -0
  302. dash_splash_plugin/resources/react/loader-50-3PLGR2BL.js +1 -0
  303. dash_splash_plugin/resources/react/loader-51-DUJJAZ3M.js +1 -0
  304. dash_splash_plugin/resources/react/loader-52-OL2FYZOE.js +1 -0
  305. dash_splash_plugin/resources/react/loader-53-KE6TNF6E.js +1 -0
  306. dash_splash_plugin/resources/react/loader-54-2HBOXFQ5.js +1 -0
  307. dash_splash_plugin/resources/react/loader-55-5JR3YOGL.js +1 -0
  308. dash_splash_plugin/resources/react/loader-56-JVGIEY53.js +1 -0
  309. dash_splash_plugin/resources/react/loader-57-2ZE6XKVB.js +1 -0
  310. dash_splash_plugin/resources/react/loader-58-VQ3SI25Y.js +1 -0
  311. dash_splash_plugin/resources/react/loader-59-M2H4SIRS.js +1 -0
  312. dash_splash_plugin/resources/react/loader-6-T2P6WVKH.js +1 -0
  313. dash_splash_plugin/resources/react/loader-60-VO73T4UM.js +1 -0
  314. dash_splash_plugin/resources/react/loader-61-LJ7ABJQC.js +1 -0
  315. dash_splash_plugin/resources/react/loader-62-B7MDXETP.js +1 -0
  316. dash_splash_plugin/resources/react/loader-63-5NMGSUDN.js +1 -0
  317. dash_splash_plugin/resources/react/loader-64-F4Q5RTWG.js +1 -0
  318. dash_splash_plugin/resources/react/loader-65-FNVCTY4J.js +1 -0
  319. dash_splash_plugin/resources/react/loader-66-ZZ5O4W2O.js +1 -0
  320. dash_splash_plugin/resources/react/loader-67-XBA5L4X3.js +1 -0
  321. dash_splash_plugin/resources/react/loader-68-QVUCBKOF.js +1 -0
  322. dash_splash_plugin/resources/react/loader-69-AIJEJEO6.js +1 -0
  323. dash_splash_plugin/resources/react/loader-7-KE7L4VXE.js +1 -0
  324. dash_splash_plugin/resources/react/loader-70-OGBEL5GC.js +1 -0
  325. dash_splash_plugin/resources/react/loader-71-M2FCUV3J.js +1 -0
  326. dash_splash_plugin/resources/react/loader-72-IDBVXT76.js +1 -0
  327. dash_splash_plugin/resources/react/loader-73-TJLWSPXL.js +1 -0
  328. dash_splash_plugin/resources/react/loader-74-C554ITRF.js +1 -0
  329. dash_splash_plugin/resources/react/loader-75-JTWPTLDK.js +1 -0
  330. dash_splash_plugin/resources/react/loader-76-X3HP7RLI.js +1 -0
  331. dash_splash_plugin/resources/react/loader-77-DYKEJYBY.css +1 -0
  332. dash_splash_plugin/resources/react/loader-77-WR3UJMBR.js +1 -0
  333. dash_splash_plugin/resources/react/loader-78-MLWRE2JV.js +1 -0
  334. dash_splash_plugin/resources/react/loader-78-VKXHIZHP.css +1 -0
  335. dash_splash_plugin/resources/react/loader-79-73FAPICC.css +1 -0
  336. dash_splash_plugin/resources/react/loader-79-K522YKKP.js +1 -0
  337. dash_splash_plugin/resources/react/loader-8-H73ZS7JQ.js +1 -0
  338. dash_splash_plugin/resources/react/loader-80-27RREQWF.js +1 -0
  339. dash_splash_plugin/resources/react/loader-80-PMZJW4FZ.css +1 -0
  340. dash_splash_plugin/resources/react/loader-81-TRNQR24L.js +1 -0
  341. dash_splash_plugin/resources/react/loader-81-X7VCUG5X.css +1 -0
  342. dash_splash_plugin/resources/react/loader-82-BQ67HOV5.js +1 -0
  343. dash_splash_plugin/resources/react/loader-82-LWMA6VG7.css +1 -0
  344. dash_splash_plugin/resources/react/loader-83-2OPWV33W.js +1 -0
  345. dash_splash_plugin/resources/react/loader-83-EXUNGU3F.css +1 -0
  346. dash_splash_plugin/resources/react/loader-84-BVRH4R32.js +1 -0
  347. dash_splash_plugin/resources/react/loader-84-EV5BENJ2.css +1 -0
  348. dash_splash_plugin/resources/react/loader-85-AFXFTL2E.css +1 -0
  349. dash_splash_plugin/resources/react/loader-85-VX2U5H5F.js +1 -0
  350. dash_splash_plugin/resources/react/loader-86-EGJR2DWT.css +1 -0
  351. dash_splash_plugin/resources/react/loader-86-HJL5HLMA.js +1 -0
  352. dash_splash_plugin/resources/react/loader-87-7AYEMRUD.js +1 -0
  353. dash_splash_plugin/resources/react/loader-87-L4CCQJ7P.css +1 -0
  354. dash_splash_plugin/resources/react/loader-88-F7ZCN44M.css +1 -0
  355. dash_splash_plugin/resources/react/loader-88-PLMBEHYL.js +1 -0
  356. dash_splash_plugin/resources/react/loader-89-5DSCZ2OZ.js +1 -0
  357. dash_splash_plugin/resources/react/loader-89-OD6HYQ3C.css +1 -0
  358. dash_splash_plugin/resources/react/loader-9-B7RZLFPR.css +1 -0
  359. dash_splash_plugin/resources/react/loader-9-KHQJC77U.js +1 -0
  360. dash_splash_plugin/resources/react/loader-90-3CILX6GU.css +1 -0
  361. dash_splash_plugin/resources/react/loader-90-DXRIW5OL.js +1 -0
  362. dash_splash_plugin/resources/react/loader-91-KL5FYOY6.css +1 -0
  363. dash_splash_plugin/resources/react/loader-91-OBFM6LY7.js +1 -0
  364. dash_splash_plugin/resources/react/loader-92-3TJT2CDJ.js +1 -0
  365. dash_splash_plugin/resources/react/loader-93-GAKYP5EW.js +1 -0
  366. dash_splash_plugin/resources/react/loader-94-GE4G6CZU.js +1 -0
  367. dash_splash_plugin/resources/react/loader-95-CGT4O7R7.js +1 -0
  368. dash_splash_plugin/resources/react/loader-96-IT2QKHDJ.js +1 -0
  369. dash_splash_plugin/resources/react/loader-97-HUBSXKOK.js +7 -0
  370. dash_splash_plugin/resources/react/loader-98-G2OCRSD7.js +1 -0
  371. dash_splash_plugin/resources/react/loader-99-AO2FTACY.js +17 -0
  372. dash_splash_plugin/resources/react/shared-5VWDGKKA.js +0 -0
  373. dash_splash_plugin/resources/react/shared-ABZUEXK7.js +97 -0
  374. dash_splash_plugin/resources/react/shared-BZJBV7O6.js +161 -0
  375. dash_splash_plugin/resources/react/shared-C2IJTFMR.js +1 -0
  376. dash_splash_plugin/resources/react/shared-CSCKHORP.js +1 -0
  377. dash_splash_plugin/resources/react/shared-EGKPPMO6.js +5 -0
  378. dash_splash_plugin/resources/react/shared-GR5T7NKZ.js +1 -0
  379. dash_splash_plugin/resources/react/shared-HPSJGR7V.js +302 -0
  380. dash_splash_plugin/resources/react/shared-KXBAZB5M.js +0 -0
  381. dash_splash_plugin/resources/react/shared-L47IMDW5.js +5 -0
  382. dash_splash_plugin/resources/react/shared-M6WLEZ7J.js +898 -0
  383. dash_splash_plugin/resources/react/shared-MDXWYKGH.js +1 -0
  384. dash_splash_plugin/resources/react/shared-OLHKCM4W.js +1 -0
  385. dash_splash_plugin/resources/react/shared-P5MJTN4V.js +2322 -0
  386. dash_splash_plugin/resources/react/shared-P6CDZGRU.js +1312 -0
  387. dash_splash_plugin/resources/react/shared-QQL2K63A.js +77 -0
  388. dash_splash_plugin/resources/react/shared-SOIMXQE5.js +1 -0
  389. dash_splash_plugin/resources/splash.js +110 -0
  390. dash_splash_plugin/resources/static-loaders.json +1 -0
  391. dash_splash_plugin-0.1.0.dist-info/METADATA +513 -0
  392. dash_splash_plugin-0.1.0.dist-info/RECORD +521 -0
  393. dash_splash_plugin-0.1.0.dist-info/WHEEL +5 -0
  394. dash_splash_plugin-0.1.0.dist-info/entry_points.txt +2 -0
  395. dash_splash_plugin-0.1.0.dist-info/licenses/LICENSE +21 -0
  396. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/SOURCES.json +4 -0
  397. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/UPSTREAM-INVENTORY.md +44 -0
  398. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/dash-loading-components-LICENSE.txt +21 -0
  399. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/dash-loading-components-NOTICE.txt +51 -0
  400. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/loading-ui-LICENSE.txt +21 -0
  401. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__alerix_m3-loading-indicator-LICENSE.txt +202 -0
  402. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__alerix_m3-loading-indicator-NOTICE.txt +16 -0
  403. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__ant-design_colors-LICENSE.txt +22 -0
  404. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__ant-design_cssinjs-LICENSE.md.txt +9 -0
  405. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__ant-design_cssinjs-utils-LICENSE.txt +20 -0
  406. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__ant-design_fast-color-LICENSE.txt +20 -0
  407. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__ant-design_icons-LICENSE.txt +22 -0
  408. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__ant-design_react-slick-LICENSE.txt +22 -0
  409. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__babel_runtime-LICENSE.txt +22 -0
  410. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__emotion_hash-LICENSE.txt +21 -0
  411. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__emotion_is-prop-valid-LICENSE.txt +21 -0
  412. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__emotion_memoize-LICENSE.txt +21 -0
  413. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__emotion_unitless-LICENSE.txt +21 -0
  414. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_async-validator-LICENSE.md.txt +9 -0
  415. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_cascader-LICENSE.md.txt +9 -0
  416. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_cascader-LICENSE.txt +21 -0
  417. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_checkbox-LICENSE.md.txt +7 -0
  418. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_collapse-LICENSE.md.txt +9 -0
  419. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_color-picker-LICENSE.md.txt +9 -0
  420. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_context-LICENSE.md.txt +9 -0
  421. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_dialog-LICENSE.md.txt +9 -0
  422. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_drawer-LICENSE.txt +22 -0
  423. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_dropdown-LICENSE.txt +20 -0
  424. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_form-LICENSE.txt +21 -0
  425. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_image-LICENSE.md.txt +9 -0
  426. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_image-LICENSE.txt +21 -0
  427. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_input-LICENSE.md.txt +9 -0
  428. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_input-number-LICENSE.md.txt +9 -0
  429. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_listy-LICENSE.txt +20 -0
  430. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_mentions-LICENSE.md.txt +9 -0
  431. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_mentions-LICENSE.txt +21 -0
  432. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_menu-LICENSE.md.txt +9 -0
  433. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_menu-LICENSE.txt +21 -0
  434. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_mini-decimal-LICENSE.txt +21 -0
  435. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_motion-LICENSE.md.txt +9 -0
  436. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_mutate-observer-LICENSE.txt +21 -0
  437. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_notification-LICENSE.md.txt +9 -0
  438. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_notification-LICENSE.txt +21 -0
  439. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_overflow-LICENSE.md.txt +9 -0
  440. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_pagination-LICENSE.md.txt +9 -0
  441. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_picker-LICENSE.md.txt +9 -0
  442. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_picker-LICENSE.txt +21 -0
  443. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_portal-LICENSE.txt +21 -0
  444. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_progress-LICENSE.md.txt +9 -0
  445. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_progress-LICENSE.txt +21 -0
  446. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_qrcode-LICENSE.txt +20 -0
  447. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_rate-LICENSE.md.txt +9 -0
  448. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_resize-observer-LICENSE.md.txt +9 -0
  449. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_segmented-LICENSE.md.txt +9 -0
  450. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_segmented-LICENSE.txt +21 -0
  451. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_segmented_node_modules__babel_runtime-LICENSE.txt +22 -0
  452. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_select-LICENSE.md.txt +9 -0
  453. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_select-LICENSE.txt +21 -0
  454. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_slider-LICENSE.txt +20 -0
  455. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_steps-LICENSE.md.txt +9 -0
  456. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_steps-LICENSE.txt +21 -0
  457. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_switch-LICENSE.md.txt +9 -0
  458. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_table-LICENSE.md.txt +9 -0
  459. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_table-LICENSE.txt +21 -0
  460. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_tabs-LICENSE.md.txt +9 -0
  461. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_tabs-LICENSE.txt +21 -0
  462. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_tooltip-LICENSE.txt +21 -0
  463. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_tour-LICENSE.txt +21 -0
  464. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_tree-LICENSE.md.txt +22 -0
  465. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_tree-LICENSE.txt +21 -0
  466. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_tree-select-LICENSE.md.txt +22 -0
  467. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_tree-select-LICENSE.txt +21 -0
  468. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_trigger-LICENSE.txt +20 -0
  469. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_upload-LICENSE.txt +21 -0
  470. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_util-LICENSE.txt +22 -0
  471. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_util_node_modules_react-is-LICENSE.txt +21 -0
  472. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_virtual-list-LICENSE.txt +21 -0
  473. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__rc-component_virtual-list_node_modules__babel_runtime-LICENSE.txt +22 -0
  474. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__types_prop-types-LICENSE.txt +21 -0
  475. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__types_react-LICENSE.txt +21 -0
  476. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules__types_react-dom-LICENSE.txt +21 -0
  477. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_antd-LICENSE.txt +22 -0
  478. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_camelize-LICENSE.txt +18 -0
  479. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_clsx-license.txt +9 -0
  480. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_compute-scroll-into-view-LICENSE.txt +21 -0
  481. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_css-color-keywords-LICENSE.txt +15 -0
  482. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_css-to-react-native-LICENSE.md.txt +21 -0
  483. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_csstype-LICENSE.txt +19 -0
  484. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_dayjs-LICENSE.txt +21 -0
  485. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_flicker-dot-LICENSE.txt +21 -0
  486. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_framer-motion-LICENSE.md.txt +21 -0
  487. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_gridora-LICENSE.txt +21 -0
  488. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_js-tokens-LICENSE.txt +21 -0
  489. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_json2mq-LICENSE.txt +22 -0
  490. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_ldrs-LICENSE.txt +21 -0
  491. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_loadersz-LICENSE.txt +21 -0
  492. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_loose-envify-LICENSE.txt +21 -0
  493. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_motion-LICENSE.md.txt +21 -0
  494. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_motion-dom-LICENSE.md.txt +21 -0
  495. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_motion-utils-LICENSE.md.txt +21 -0
  496. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_object-assign-license.txt +21 -0
  497. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_postcss-value-parser-LICENSE.txt +22 -0
  498. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_premium-react-loaders-LICENSE.txt +21 -0
  499. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_prop-types-LICENSE.txt +21 -0
  500. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_react-LICENSE.txt +21 -0
  501. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_react-dom-LICENSE.txt +21 -0
  502. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_react-epic-spinners-LICENSE.txt +21 -0
  503. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_react-is-LICENSE.txt +21 -0
  504. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_react-loader-spinner-LICENSE.txt +21 -0
  505. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_react-loading-indicators-LICENSE.txt +21 -0
  506. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_react-spinners-LICENSE.txt +21 -0
  507. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_scheduler-LICENSE.txt +21 -0
  508. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_scroll-into-view-if-needed-LICENSE.txt +21 -0
  509. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_spinners-react-LICENSE.md.txt +21 -0
  510. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_string-convert-LICENSE.txt +21 -0
  511. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_styled-components-LICENSE.txt +21 -0
  512. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_stylis-LICENSE.txt +21 -0
  513. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_thinking-orbs-LICENSE.txt +21 -0
  514. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_throttle-debounce-LICENSE.md.txt +45 -0
  515. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_tinycolor2-LICENSE.txt +20 -0
  516. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/node_modules_tslib-LICENSE.txt.txt +12 -0
  517. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/scripts_react19_node_modules_loading-dev-LICENSE.md.txt +21 -0
  518. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/scripts_react19_node_modules_react-LICENSE.txt +21 -0
  519. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/scripts_react19_node_modules_react-dom-LICENSE.txt +21 -0
  520. dash_splash_plugin-0.1.0.dist-info/licenses/src/dash_splash_plugin/resources/licenses/scripts_react19_node_modules_scheduler-LICENSE.txt +21 -0
  521. dash_splash_plugin-0.1.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,524 @@
1
+ """Dash Hooks registration and startup-overlay configuration."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import json
6
+ import math
7
+ import re
8
+ from copy import deepcopy
9
+ from dataclasses import dataclass, fields, replace
10
+ from difflib import get_close_matches
11
+ from functools import cache
12
+ from html import escape
13
+ from importlib.metadata import PackageNotFoundError, version
14
+ from importlib.resources import files
15
+ from threading import RLock
16
+ from typing import Any, Literal, NamedTuple, TypedDict, cast
17
+ from weakref import WeakKeyDictionary, ref
18
+
19
+ from dash import get_app, hooks
20
+ from flask import abort, current_app, has_request_context, request
21
+ from typing_extensions import Unpack
22
+
23
+ from ._catalog import LoaderId, LoaderLibrary
24
+
25
+ try:
26
+ __version__ = version("dash-splash-plugin")
27
+ except PackageNotFoundError: # pragma: no cover - source tree fallback
28
+ __version__ = "0.1.0"
29
+
30
+ _SPLASH_MARKER = "data-dash-splash"
31
+ _BODY_PATTERN = re.compile(r"<body(?:\s[^>]*)?>", flags=re.IGNORECASE)
32
+ _HEAD_END_PATTERN = re.compile(r"</head\s*>", flags=re.IGNORECASE)
33
+ _START_SCRIPT = (
34
+ "<script>if (window.__dashSplashStart){window.__dashSplashStart()}</script>"
35
+ )
36
+ _ASSET_CACHE_CONTROL = "public, max-age=31536000, immutable"
37
+ _DEFAULT_PATHNAME_PREFIX = "/"
38
+
39
+ _CONFIG_LOCK = RLock()
40
+ _dash_server: WeakKeyDictionary[Any, list[Any]] = WeakKeyDictionary()
41
+
42
+ _DEFAULT_SIZE = 32
43
+ _MANIFEST = json.loads(
44
+ files(__package__).joinpath("resources/manifest.json").read_text(encoding="utf-8")
45
+ )
46
+ _LOADER_NAMES = frozenset(_MANIFEST["loaders"])
47
+ _COLOR_OPTIONS = (
48
+ "color",
49
+ "dark_color",
50
+ "text_color",
51
+ "dark_text_color",
52
+ )
53
+ _SPLASH_ROUTE = "_dash-splash-plugin"
54
+ Theme = Literal["light", "dark", "auto", "system"]
55
+
56
+
57
+ @hooks.setup(priority=100)
58
+ def _register_dash_app(app: Any) -> None:
59
+ registered = _dash_server.setdefault(app.server, [])
60
+ registered[:] = [app_ref for app_ref in registered if app_ref() is not None]
61
+ registered.append(ref(app))
62
+
63
+
64
+ def _current_app() -> Any:
65
+ """Return the Dash app serving the current request, or ``None`` outside one."""
66
+
67
+ if has_request_context():
68
+ server = cast(Any, current_app)._get_current_object()
69
+ apps = [
70
+ app
71
+ for app in (app_ref() for app_ref in _dash_server.get(server, ()))
72
+ if app is not None
73
+ ]
74
+ if apps:
75
+ matches = [
76
+ app
77
+ for app in apps
78
+ if request.path.startswith(app.config.routes_pathname_prefix)
79
+ ]
80
+ return max(
81
+ matches or apps, key=lambda app: len(app.config.routes_pathname_prefix)
82
+ )
83
+ # Dash 4 binds plugin routes and index hooks to their app's context, including
84
+ # non-Flask backends. Only accept it during a request, not its global fallback.
85
+ try:
86
+ app = get_app()
87
+ except Exception: # Dash 3 raises a plain Exception when no app exists.
88
+ return None
89
+ backend = getattr(app, "backend", None)
90
+ if backend is not None and backend.has_request_context():
91
+ return app
92
+ return None
93
+
94
+
95
+ def _requests_pathname_prefix() -> str:
96
+ app = _current_app()
97
+ if app is None:
98
+ return _DEFAULT_PATHNAME_PREFIX
99
+ return app.config.requests_pathname_prefix
100
+
101
+
102
+ class SetupOptions(TypedDict, total=False):
103
+ enabled: bool
104
+ theme: Theme
105
+ aria_label: str
106
+ z_index: int
107
+ background: str
108
+ dark_background: str
109
+ color: str | None
110
+ dark_color: str | None
111
+ text_color: str | None
112
+ dark_text_color: str | None
113
+ loader: LoaderId
114
+ text: str
115
+ size: int | float | None
116
+ stroke: int | float | None
117
+ rate: int | float
118
+ playing: bool
119
+ font_size: int | float | None
120
+ custom_loader_html: str | None
121
+ loader_options: dict[str, Any] | None
122
+
123
+
124
+ @dataclass(frozen=True)
125
+ class SplashConfig:
126
+ """Configuration serialized into the startup overlay.
127
+
128
+ ``custom_loader_html`` is inserted verbatim and must only contain trusted
129
+ HTML supplied by the application author.
130
+ """
131
+
132
+ enabled: bool = True
133
+ theme: Theme = "auto"
134
+ aria_label: str = "Loading"
135
+ z_index: int = 9999
136
+ background: str = "#f5f5f5"
137
+ dark_background: str = "#000"
138
+ color: str | None = "#1890ff"
139
+ dark_color: str | None = None
140
+ text_color: str | None = None
141
+ dark_text_color: str | None = None
142
+ loader: LoaderId = "loading-ui:fade-arc"
143
+ text: str = "Loading"
144
+ size: int | float | None = None
145
+ stroke: int | float | None = None
146
+ rate: int | float = 1.0
147
+ playing: bool = True
148
+ font_size: int | float | None = None
149
+ custom_loader_html: str | None = None
150
+ loader_options: dict[str, Any] | None = None
151
+
152
+
153
+ _DEFAULT_CONFIG = SplashConfig()
154
+ _config = _DEFAULT_CONFIG
155
+
156
+
157
+ def _validate_color(name: str, value: str | None) -> None:
158
+ if value is not None and (not isinstance(value, str) or not value.strip()):
159
+ raise ValueError(f"{name} must be None or a non-empty CSS color")
160
+
161
+
162
+ def _validate_length(name: str, value: float) -> None:
163
+ if isinstance(value, bool) or not isinstance(value, (int, float)):
164
+ raise TypeError(f"{name} must be an int or float")
165
+ if not math.isfinite(value) or value < 0:
166
+ raise ValueError(f"{name} must be finite and greater than or equal to zero")
167
+
168
+
169
+ def _validate(config: SplashConfig) -> SplashConfig:
170
+ if not isinstance(config.theme, str) or config.theme not in (
171
+ "light", "dark", "auto", "system"
172
+ ):
173
+ raise ValueError("theme must be 'light', 'dark', 'auto' or 'system'")
174
+ if not isinstance(config.aria_label, str) or not config.aria_label.strip():
175
+ raise ValueError("aria_label must be a non-empty string")
176
+ if isinstance(config.z_index, bool) or not isinstance(config.z_index, int):
177
+ raise TypeError("z_index must be an int")
178
+ if config.custom_loader_html is not None and not isinstance(
179
+ config.custom_loader_html, str
180
+ ):
181
+ raise TypeError("custom_loader_html must be None or a string")
182
+ if not isinstance(config.enabled, bool):
183
+ raise TypeError("enabled must be a boolean")
184
+ if not isinstance(config.playing, bool):
185
+ raise TypeError("playing must be a boolean")
186
+ _validate_length("rate", config.rate)
187
+ if config.rate == 0:
188
+ raise ValueError("rate must be greater than zero; use playing=False to pause")
189
+ if not isinstance(config.loader, str) or config.loader not in _LOADER_NAMES:
190
+ message = (
191
+ f"Unknown loader: {config.loader!r}. "
192
+ "Use a qualified 'library:name' identifier."
193
+ )
194
+ if isinstance(config.loader, str):
195
+ matches = get_close_matches(
196
+ config.loader, sorted(_LOADER_NAMES), n=3, cutoff=0.5
197
+ )
198
+ if matches:
199
+ message += f" Did you mean {', '.join(repr(name) for name in matches)}?"
200
+ raise ValueError(message)
201
+ if config.loader_options is not None:
202
+ if not isinstance(config.loader_options, dict):
203
+ raise TypeError("loader_options must be a JSON object")
204
+ try:
205
+ json.dumps(config.loader_options, allow_nan=False)
206
+ except (TypeError, ValueError) as error:
207
+ raise ValueError(
208
+ "loader_options must contain only finite JSON values"
209
+ ) from error
210
+ if not _json_value(config.loader_options):
211
+ raise ValueError(
212
+ "loader_options must contain only JSON objects, arrays and scalar values"
213
+ )
214
+ schema = _MANIFEST["loaders"][config.loader]["options"]
215
+ if schema:
216
+ unknown = set(config.loader_options) - set(schema)
217
+ if unknown:
218
+ raise ValueError(
219
+ f"Unknown loader_options for {config.loader}: {', '.join(sorted(unknown))}"
220
+ )
221
+ for name, value in config.loader_options.items():
222
+ if not _matches_schema(value, schema[name]):
223
+ raise ValueError(
224
+ f"Invalid loader_options.{name} for {config.loader}"
225
+ )
226
+ if not isinstance(config.text, str) or not config.text.strip():
227
+ raise ValueError("text must be a non-empty string")
228
+ for name in ("background", "dark_background"):
229
+ value = getattr(config, name)
230
+ if not isinstance(value, str) or not value.strip():
231
+ raise ValueError(f"{name} must be a non-empty CSS color")
232
+ for name in _COLOR_OPTIONS:
233
+ _validate_color(name, getattr(config, name))
234
+ for name in ("size", "stroke", "font_size"):
235
+ value = getattr(config, name)
236
+ if value is not None:
237
+ _validate_length(name, value)
238
+ return config
239
+
240
+
241
+ def _json_value(value: Any) -> bool:
242
+ if isinstance(value, dict):
243
+ return all(
244
+ isinstance(key, str) and _json_value(item) for key, item in value.items()
245
+ )
246
+ if isinstance(value, list):
247
+ return all(_json_value(item) for item in value)
248
+ return value is None or isinstance(value, (str, bool, int, float))
249
+
250
+
251
+ def _matches_schema(value: Any, schema: dict[str, Any]) -> bool:
252
+ if value is None:
253
+ return not schema.get("required", False)
254
+ kind = schema.get("type")
255
+ if kind == "oneOf":
256
+ return value in schema["values"]
257
+ if kind == "oneOfType":
258
+ return any(_matches_schema(value, option) for option in schema["values"])
259
+ if kind == "arrayOf":
260
+ return isinstance(value, list) and all(
261
+ _matches_schema(item, schema["items"]) for item in value
262
+ )
263
+ if kind == "objectOf":
264
+ return isinstance(value, dict) and all(
265
+ _matches_schema(item, schema["items"]) for item in value.values()
266
+ )
267
+ if kind in {"shape", "exact"}:
268
+ return isinstance(value, dict) and all(
269
+ _matches_schema(value.get(key), item)
270
+ for key, item in schema["properties"].items()
271
+ )
272
+ expected = {
273
+ "string": str,
274
+ "bool": bool,
275
+ "array": list,
276
+ "arrayOf": list,
277
+ "object": dict,
278
+ "objectOf": dict,
279
+ }
280
+ if kind == "number":
281
+ return (
282
+ not isinstance(value, bool)
283
+ and isinstance(value, (int, float))
284
+ and math.isfinite(value)
285
+ )
286
+ return isinstance(value, expected[kind]) if kind in expected else True
287
+
288
+
289
+ def list_libraries() -> tuple[LoaderLibrary, ...]:
290
+ """Return the available kebab-case animation library names."""
291
+ return tuple(sorted({item["family"] for item in _MANIFEST["loaders"].values()}))
292
+
293
+
294
+ def list_loaders(library: LoaderLibrary | None = None) -> tuple[LoaderId, ...]:
295
+ """Return qualified identifiers accepted by setup, optionally filtered by library."""
296
+ if library is not None and library not in list_libraries():
297
+ raise ValueError(f"Unknown loader library: {library}")
298
+ return tuple(
299
+ name
300
+ for name, item in _MANIFEST["loaders"].items()
301
+ if library is None or item["family"] == library
302
+ )
303
+
304
+
305
+ def setup(**changes: Unpack[SetupOptions]) -> SplashConfig:
306
+ """Update the process-wide plugin configuration.
307
+
308
+ Call this before creating ``dash.Dash``. The Dash hooks registry is
309
+ process-wide, so one configuration is shared by all apps in the process.
310
+ Use ``setup(loader="flicker:mail")``. Loader identifiers always include
311
+ their library; omitted options keep their current values.
312
+ """
313
+
314
+ valid_names = {field.name for field in fields(SplashConfig)}
315
+ unknown = set(changes).difference(valid_names)
316
+ if unknown:
317
+ names = ", ".join(sorted(unknown))
318
+ raise TypeError(f"Unknown splash option(s): {names}")
319
+ global _config
320
+ with _CONFIG_LOCK:
321
+ if changes.get("loader", _config.loader) != _config.loader:
322
+ changes.setdefault("loader_options", None)
323
+ _config = _validate(deepcopy(replace(_config, **changes)))
324
+ return deepcopy(_config)
325
+
326
+
327
+ def get_config() -> SplashConfig:
328
+ """Return the active immutable configuration."""
329
+
330
+ with _CONFIG_LOCK:
331
+ return deepcopy(_config)
332
+
333
+
334
+ def reset_config() -> SplashConfig:
335
+ """Restore the default configuration, primarily for tests."""
336
+
337
+ global _config
338
+ with _CONFIG_LOCK:
339
+ _config = _DEFAULT_CONFIG
340
+ return _config
341
+
342
+
343
+ class _Visuals(NamedTuple):
344
+ color: str
345
+ dark_color: str
346
+ text_color: str
347
+ dark_text_color: str
348
+
349
+
350
+ def _resolved_visuals(config: SplashConfig) -> _Visuals:
351
+ color = config.color
352
+ return _Visuals(
353
+ color=color or "inherit",
354
+ dark_color=config.dark_color or color or "inherit",
355
+ text_color=config.text_color or config.color or "inherit",
356
+ dark_text_color=config.dark_text_color
357
+ or config.text_color
358
+ or config.dark_color
359
+ or config.color
360
+ or "inherit",
361
+ )
362
+
363
+
364
+ def _overlay_styles(config: SplashConfig) -> dict[str, str]:
365
+ visuals = _resolved_visuals(config)
366
+ size = _DEFAULT_SIZE if config.size is None else config.size
367
+ styles = {
368
+ "--dash-splash-background": config.background,
369
+ "--dash-splash-dark-background": config.dark_background,
370
+ "--dash-splash-color": visuals.color,
371
+ "--dash-splash-dark-color": visuals.dark_color,
372
+ "--dash-splash-text-color": visuals.text_color,
373
+ "--dash-splash-dark-text-color": visuals.dark_text_color,
374
+ "--dash-splash-size": f"{size:g}px",
375
+ "--dash-splash-display": "none" if size == 0 else "inline-flex",
376
+ "--dash-splash-z-index": str(config.z_index),
377
+ "--dash-splash-rate": f"{config.rate:g}",
378
+ "--dash-splash-play-state": "running" if config.playing else "paused",
379
+ }
380
+ if config.stroke is not None:
381
+ styles["--dash-splash-stroke"] = f"{config.stroke:g}px"
382
+ return styles
383
+
384
+
385
+ def _loader_markup(config: SplashConfig, loader: str) -> str:
386
+ item = _MANIFEST["loaders"][loader]
387
+ base = f"{_requests_pathname_prefix()}{_SPLASH_ROUTE}/react/"
388
+ payload = {
389
+ "text": config.text,
390
+ "rate": config.rate,
391
+ "playing": config.playing,
392
+ "loader_options": {**item["defaults"], **(config.loader_options or {})},
393
+ }
394
+ for name in ("size", "stroke", "font_size"):
395
+ if getattr(config, name) is not None:
396
+ payload[name] = getattr(config, name)
397
+ encoded = escape(
398
+ json.dumps(payload, ensure_ascii=True, allow_nan=False), quote=True
399
+ )
400
+ css = (
401
+ f' data-dash-splash-css="{escape(base + item["css"], quote=True)}"'
402
+ if item.get("css")
403
+ else ""
404
+ )
405
+ content = '<span class="dash-splash__fallback" aria-hidden="true"></span>'
406
+ standalone = ""
407
+ preview = _static_loader_previews().get(loader)
408
+ if preview is not None:
409
+ mode = "preview" if config.loader_options else "true"
410
+ standalone = f' data-dash-splash-static="{mode}"'
411
+ content = (
412
+ '<template shadowrootmode="open">'
413
+ '<style data-css-hash="dash-splash-static">'
414
+ ':host{display:inline-flex;color:inherit;max-width:100%}'
415
+ '.viewport{position:relative;display:inline-flex}'
416
+ '.artwork{display:inline-flex;transform-origin:top left}'
417
+ '.artwork *,.artwork *::before,.artwork *::after{'
418
+ 'animation-play-state:var(--dash-splash-play-state,running)}'
419
+ '@media(prefers-reduced-motion:reduce){.artwork *,.artwork *::before,'
420
+ '.artwork *::after{animation-play-state:paused!important}}'
421
+ f'{preview["css"]}</style>'
422
+ f'<div class="viewport"><div class="artwork">{preview["html"]}</div></div>'
423
+ '</template>'
424
+ )
425
+ return (
426
+ f'<span class="dash-splash__loader" data-dash-splash-loader="{escape(loader, quote=True)}" '
427
+ f'data-dash-splash-module="{escape(base + item["module"], quote=True)}"{css}{standalone} '
428
+ f'data-dash-splash-react-min="{item.get("minReact", 18)}" '
429
+ f'data-dash-splash-config="{encoded}" aria-hidden="true">'
430
+ f'{content}</span>'
431
+ )
432
+
433
+
434
+ def _overlay_html(config: SplashConfig, loader: str) -> str:
435
+ styles = _overlay_styles(config)
436
+ style = escape(
437
+ ";".join(f"{name}:{value}" for name, value in styles.items()), quote=True
438
+ )
439
+ if config.custom_loader_html is not None:
440
+ loader_html = config.custom_loader_html
441
+ else:
442
+ loader_html = _loader_markup(config, loader)
443
+ loader_html = f'<div class="dash-splash__spinner-region">{loader_html}</div>'
444
+ return (
445
+ f'<div class="dash-splash" {_SPLASH_MARKER} '
446
+ f'data-dash-splash-theme="{config.theme}" '
447
+ 'role="status" aria-live="polite" '
448
+ f'aria-label="{escape(config.aria_label, quote=True)}" aria-busy="true" style="{style}">'
449
+ f'<div class="dash-splash__content">{loader_html}</div>'
450
+ "</div>"
451
+ )
452
+
453
+
454
+ @cache
455
+ def _static_loader_previews() -> dict[str, dict[str, str]]:
456
+ return json.loads(_resource_text("static-loaders.json"))
457
+
458
+
459
+ @cache
460
+ def _resource_text(name: str) -> str:
461
+ return (
462
+ files(__package__)
463
+ .joinpath(f"resources/{name}")
464
+ .read_text(encoding="utf-8")
465
+ .strip()
466
+ )
467
+
468
+
469
+ @hooks.route(name=f"{_SPLASH_ROUTE}/react/{{asset}}", priority=100)
470
+ @hooks.route(name=f"{_SPLASH_ROUTE}/react/<asset>", priority=100)
471
+ def serve_splash_asset(asset: str = ""):
472
+ """Serve allowlisted, content-hashed React modules and their stylesheets."""
473
+
474
+ app = _current_app()
475
+ backend = getattr(app, "backend", None) if app is not None else None
476
+ if asset not in _MANIFEST["files"]:
477
+ if backend is not None:
478
+ return backend.make_response("", status=404)
479
+ abort(404)
480
+ if backend is not None:
481
+ response = backend.make_response(
482
+ _resource_text(f"react/{asset}"),
483
+ mimetype="text/css" if asset.endswith(".css") else "text/javascript",
484
+ )
485
+ response.headers["Cache-Control"] = _ASSET_CACHE_CONTROL
486
+ return response
487
+
488
+ return current_app.response_class(
489
+ _resource_text(f"react/{asset}"),
490
+ mimetype="text/css" if asset.endswith(".css") else "text/javascript",
491
+ headers={"Cache-Control": _ASSET_CACHE_CONTROL},
492
+ )
493
+
494
+
495
+ def _with_splash_runtime(head: str) -> str:
496
+ runtime = f'<script data-dash-splash-resource="runtime">{_resource_text("splash.js")}</script>'
497
+ head_end = _HEAD_END_PATTERN.search(head)
498
+ if head_end is None:
499
+ return runtime + head
500
+ return head[: head_end.start()] + runtime + head[head_end.start() :]
501
+
502
+
503
+ def _inject_overlay(app_index: str) -> str:
504
+ config = get_config()
505
+ if not config.enabled or _SPLASH_MARKER in app_index:
506
+ return app_index
507
+ body = _BODY_PATTERN.search(app_index)
508
+ if body is None:
509
+ return app_index
510
+
511
+ loader = config.loader
512
+ return (
513
+ _with_splash_runtime(app_index[: body.end()])
514
+ + _overlay_html(config, loader)
515
+ + _START_SCRIPT
516
+ + app_index[body.end() :]
517
+ )
518
+
519
+
520
+ @hooks.index(priority=100)
521
+ def inject_splash(app_index: str) -> str:
522
+ """Inject the pre-React overlay into the final HTML document."""
523
+
524
+ return _inject_overlay(app_index)
File without changes
@@ -0,0 +1,4 @@
1
+ {
2
+ "dash-loading-components": "5bb43d20d62f6edb34b4827d3c8697a250988c7e",
3
+ "loading-ui": "0ba63f89430d21c445edc6a771039288733462a9"
4
+ }
@@ -0,0 +1,44 @@
1
+ # Upstream inventory: dash-loading-components (`dlc`)
2
+
3
+ **Package license:** MIT (this repo). Upstream licenses in the SPDX column.
4
+ **Baseline:** React ≥19 / Dash ≥4.5 (hard requirement for shipping `loading_dev`).
5
+
6
+ Update this table when a family is added, version-pinned, or wrap status changes. See also root `NOTICE`.
7
+
8
+ ## Wrapped families
9
+
10
+ | dlc namespace | Upstream npm + version | SPDX | Homepage / repo | React peers | Wrap status | Notes |
11
+ |--------------|------------------------|------|-----------------|-------------|-------------|-------|
12
+ | `loading_dev` | [loading-dev](https://www.npmjs.com/package/loading-dev) **0.3.4** | MIT | [loading.dev](https://loading.dev/) · [jakubkrehel/loading](https://github.com/jakubkrehel/loading) | ≥19 | `wrapped` | Product tent-pole; drives React 19 / Dash ≥4.5 floor |
13
+ | `ldrs` | [ldrs](https://www.npmjs.com/package/ldrs) **1.1.9** | MIT | [uiball.com/ldrs](https://uiball.com/ldrs/) · [GriffinJohnston/ldrs](https://github.com/GriffinJohnston/ldrs) | none declared | `wrapped` | Per-component CSS imports |
14
+ | `spinners` | [react-spinners](https://www.npmjs.com/package/react-spinners) **0.17.1** | MIT | [npm](https://www.npmjs.com/package/react-spinners) · [davidhu2000/react-spinners](https://github.com/davidhu2000/react-spinners) | ^16–^19 | `wrapped` | Classic zoo; also used by dash-loading-spinners |
15
+ | `spinners_react` | [spinners-react](https://www.npmjs.com/package/spinners-react) **1.0.11** | MIT | [npm](https://www.npmjs.com/package/spinners-react) · [adexin/spinners-react](https://github.com/adexin/spinners-react) | ^16–^19 | `wrapped` | Not in dash-loading-spinners |
16
+ | `loader_spinner` | [react-loader-spinner](https://www.npmjs.com/package/react-loader-spinner) **8.0.2** | MIT | [npm](https://www.npmjs.com/package/react-loader-spinner) · [mhnpd/react-loader-spinner](https://github.com/mhnpd/react-loader-spinner) | ≥17 `<20` | `wrapped` | High wrap friction (styled-components); own PR after core |
17
+ | `premium` | [premium-react-loaders](https://www.npmjs.com/package/premium-react-loaders) **4.2.0** | MIT | [npm](https://www.npmjs.com/package/premium-react-loaders) | ^18 \|\| ^19 | `wrapped` | One CSS import |
18
+ | `indicators` | [react-loading-indicators](https://www.npmjs.com/package/react-loading-indicators) **1.0.1** | MIT | [npm](https://www.npmjs.com/package/react-loading-indicators) | ≥16.8 | `wrapped` | Low friction |
19
+ | `svg_spinners` | [react-svg-spinners](https://www.npmjs.com/package/react-svg-spinners) **0.3.1** | MIT | [npm](https://www.npmjs.com/package/react-svg-spinners) · [theme-park/react-svg-spinners](https://github.com/theme-park/react-svg-spinners) | **^18.2 only** | `gated` | Do not merge until React 19 peer resolved (override/fork) or deferred |
20
+ | `m3` | [@alerix/m3-loading-indicator](https://www.npmjs.com/package/@alerix/m3-loading-indicator) **1.0.5** | Apache-2.0 | [npm](https://www.npmjs.com/package/@alerix/m3-loading-indicator) | ≥18 | `wrapped` | Day-one (LARGER): include with `epic`; Apache-2.0 OK with MIT wrapper + NOTICE |
21
+ | `epic` | [react-epic-spinners](https://www.npmjs.com/package/react-epic-spinners) **0.6.0** | MIT | [npm](https://www.npmjs.com/package/react-epic-spinners) · [bondz/react-epic-spinners](https://github.com/bondz/react-epic-spinners) | ≥16.8 | `wrapped` | Day-one (LARGER): include with `m3`; styled-components friction |
22
+ | `flicker` | [flicker-dot](https://www.npmjs.com/package/flicker-dot) **0.1.4** | MIT | [flicker.laurie.fyi](https://flicker.laurie.fyi) · [laurieesc/flicker-dot](https://github.com/laurieesc/flicker-dot) | ≥18 | `wrapped` | Player only; the 63 presets are PhylaTech originals (MIT, this repo). The flicker.laurie.fyi gallery patterns are not open source and are not redistributed |
23
+ | `gridora` | [gridora](https://www.npmjs.com/package/gridora) **0.3.0** | MIT | [gridora.gabrielayer.com](https://gridora.gabrielayer.com) · [0x65dgerunner/gridora](https://github.com/0x65dgerunner/gridora) | ≥18 | `wrapped` | 133 motion variants + bitmap-font text. The studio site patterns are not redistributed; user-pasted `sequence=` inputs are their own |
24
+ | `loadersz` | [loadersz](https://www.npmjs.com/package/loadersz) **0.9.0** | MIT | [loadersz.vercel.app](https://loadersz.vercel.app) · [lumberjacque/loadersz-core](https://github.com/lumberjacque/loadersz-core) | ≥18 | `wrapped` | 160 canvas-based loaders via a native Web Component. Includes a chart-shaped group (heatmap, sankey, treemap, candlestick, bar chart). The first nine state names overlap with thinking-orbs (independently implemented; see NOTICE) |
25
+ | `thinking_orbs` | [thinking-orbs](https://www.npmjs.com/package/thinking-orbs) **0.3.2** | MIT | [libraries.dev/orbs](https://libraries.dev/orbs) · [Jakubantalik/Libraries.dev](https://github.com/Jakubantalik/Libraries.dev/tree/main/packages/thinking-orbs) | ≥18 | `wrapped` | One `Orb` component, nine states, plain 2D canvas, monochrome until `color` tints it. Upstream draws at 64, 32 and 20 only; `dlc` snaps any `size` to the nearest and CSS-scales. Not the newer, unrelated `@yogesharc/thinking-orbs` |
26
+ | `lab` | none (PhylaTech originals) | MIT | [this repo](https://github.com/PhylaTech/dash-loading-components) | ≥18 | `original` | Two SVG spinners drawn here, animated with CSS: `HplcTrace` and `WellPlate`. No upstream package; MIT with this repo |
27
+
28
+ ## Hard skips (license: do not wrap)
29
+
30
+ | Upstream | SPDX | Reason |
31
+ |----------|------|--------|
32
+ | [css-spinners](https://www.npmjs.com/package/css-spinners) | GPL-3.0 | Incompatible with MIT product distribution without Legal exception |
33
+ | [react18-loaders](https://www.npmjs.com/package/react18-loaders) | MPL-2.0 | Avoid unless Legal OK |
34
+
35
+ ## Layout
36
+
37
+ Wrappers live under `src/lib/components/<family>/` with prefixed React names. The Python namespaces `dlc.<family>.*` re-export them under short names.
38
+
39
+ ## Column legend
40
+
41
+ | Column | Meaning |
42
+ |--------|---------|
43
+ | Wrap status | `wrapped` = shipped in the package; `gated` = blocked on an upstream peer or a licensing decision |
44
+ | React peers | Declared upstream peerDependency range (npm), not our package floor |
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Phyla Technologies
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,51 @@
1
+ dash-loading-components (dlc)
2
+ Copyright (c) 2026 Phyla Technologies
3
+
4
+ This package is licensed under the MIT License (see LICENSE).
5
+
6
+ It wraps and redistributes third-party loading-indicator libraries under their
7
+ own licenses. Full upstream inventory (npm name, version, SPDX license,
8
+ homepage/repo URLs, React peers, wrap status) lives in:
9
+
10
+ docs/UPSTREAM-INVENTORY.md
11
+
12
+ Notable upstream projects (non-exhaustive; see inventory for pins and status):
13
+
14
+ - loading-dev / loading.dev (jakubkrehel/loading) — MIT
15
+ - ldrs (GriffinJohnston/ldrs) — MIT
16
+ - react-spinners (davidhu2000/react-spinners) — MIT
17
+ - spinners-react — MIT
18
+ - react-loader-spinner — MIT
19
+ - premium-react-loaders — MIT
20
+ - react-loading-indicators — MIT
21
+ - react-svg-spinners — MIT (gated: React ^18.2 peer)
22
+ - @alerix/m3-loading-indicator — Apache-2.0
23
+ - react-epic-spinners — MIT
24
+ - flicker-dot (laurieesc/flicker-dot) — MIT. The dlc.flicker presets are
25
+ original PhylaTech designs under this package's MIT license; none of the
26
+ flicker.laurie.fyi gallery patterns are included.
27
+ - gridora (0x65dgerunner/gridora) -- MIT. 133 motion variants and bitmap-font
28
+ text, wrapped as dlc.gridora.GridLoader and dlc.gridora.Text. The studio
29
+ site (gridora.gabrielayer.com) patterns are not redistributed.
30
+ - loadersz (lumberjacque/loadersz-core) -- MIT. 160 canvas-based loading
31
+ animations as a native Web Component, wrapped as dlc.loadersz.Loader.
32
+ Includes chart-shaped loaders (heatmap, sankey, treemap, candlestick,
33
+ bar chart) suited for data dashboards.
34
+ Note: the first nine semantic state names (working, searching, connecting,
35
+ weaving, shaping, listening, breathing, composing, solving) overlap with
36
+ thinking-orbs (Jakub Antalik, MIT). The two libraries are independently
37
+ implemented: loadersz is a framework-agnostic Web Component using its own
38
+ canvas renderer with Dot/OrbLine/OrbRect/OrbArc primitives, while
39
+ thinking-orbs is a React-only 3D dotted-sphere renderer. The shared names
40
+ describe common AI/agent activity verbs. No code or assets are copied.
41
+ - thinking-orbs (Jakubantalik/Libraries.dev) -- MIT. Nine dotted-sphere canvas
42
+ orbs for AI and agent status, wrapped as dlc.thinking_orbs.Orb. Not to be
43
+ confused with the unrelated @yogesharc/thinking-orbs package, which is not
44
+ wrapped.
45
+ - dlc.lab is PhylaTech's own work (MIT, this repo): two SVG spinners, HplcTrace
46
+ and WellPlate. No third-party code or assets.
47
+
48
+ Hard skips (not wrapped): css-spinners (GPL-3.0), react18-loaders (MPL-2.0).
49
+
50
+ When redistributing this package, retain this NOTICE and the inventory document
51
+ so third-party attribution remains intact.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Bartosz Zagrodzki
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.