@nova-design-system/nova-webcomponents 3.0.0-beta.17

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 (540) hide show
  1. package/LICENSE.MD +157 -0
  2. package/dist/blazor-docs.json +9342 -0
  3. package/dist/cjs/app-globals-2ceecab2.js +11 -0
  4. package/dist/cjs/app-globals-2ceecab2.js.map +1 -0
  5. package/dist/cjs/clsx-fc789adc.js +7 -0
  6. package/dist/cjs/clsx-fc789adc.js.map +1 -0
  7. package/dist/cjs/constants-33057c89.js +140 -0
  8. package/dist/cjs/constants-33057c89.js.map +1 -0
  9. package/dist/cjs/fade.animation-0d33d198.js +1875 -0
  10. package/dist/cjs/fade.animation-0d33d198.js.map +1 -0
  11. package/dist/cjs/grow.animation-46e7ae4b.js +119 -0
  12. package/dist/cjs/grow.animation-46e7ae4b.js.map +1 -0
  13. package/dist/cjs/index-5d1f2412.js +1984 -0
  14. package/dist/cjs/index-5d1f2412.js.map +1 -0
  15. package/dist/cjs/index.cjs.js +494 -0
  16. package/dist/cjs/index.cjs.js.map +1 -0
  17. package/dist/cjs/loader.cjs.js +17 -0
  18. package/dist/cjs/loader.cjs.js.map +1 -0
  19. package/dist/cjs/native.cjs.js +48 -0
  20. package/dist/cjs/native.cjs.js.map +1 -0
  21. package/dist/cjs/nv-alert.cjs.entry.js +140 -0
  22. package/dist/cjs/nv-alert.cjs.entry.js.map +1 -0
  23. package/dist/cjs/nv-avatar.cjs.entry.js +73 -0
  24. package/dist/cjs/nv-avatar.cjs.entry.js.map +1 -0
  25. package/dist/cjs/nv-badge.cjs.entry.js +119 -0
  26. package/dist/cjs/nv-badge.cjs.entry.js.map +1 -0
  27. package/dist/cjs/nv-base.cjs.entry.js +75 -0
  28. package/dist/cjs/nv-base.cjs.entry.js.map +1 -0
  29. package/dist/cjs/nv-button.cjs.entry.js +91 -0
  30. package/dist/cjs/nv-button.cjs.entry.js.map +1 -0
  31. package/dist/cjs/nv-col.cjs.entry.js +41 -0
  32. package/dist/cjs/nv-col.cjs.entry.js.map +1 -0
  33. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js +94 -0
  34. package/dist/cjs/nv-fieldcheckbox.cjs.entry.js.map +1 -0
  35. package/dist/cjs/nv-fieldnumber.cjs.entry.js +94 -0
  36. package/dist/cjs/nv-fieldnumber.cjs.entry.js.map +1 -0
  37. package/dist/cjs/nv-fieldpassword.cjs.entry.js +79 -0
  38. package/dist/cjs/nv-fieldpassword.cjs.entry.js.map +1 -0
  39. package/dist/cjs/nv-fieldradio.cjs.entry.js +81 -0
  40. package/dist/cjs/nv-fieldradio.cjs.entry.js.map +1 -0
  41. package/dist/cjs/nv-fieldselect.cjs.entry.js +290 -0
  42. package/dist/cjs/nv-fieldselect.cjs.entry.js.map +1 -0
  43. package/dist/cjs/nv-fieldtext.cjs.entry.js +83 -0
  44. package/dist/cjs/nv-fieldtext.cjs.entry.js.map +1 -0
  45. package/dist/cjs/nv-fieldtextarea.cjs.entry.js +151 -0
  46. package/dist/cjs/nv-fieldtextarea.cjs.entry.js.map +1 -0
  47. package/dist/cjs/nv-fieldtoggle.cjs.entry.js +64 -0
  48. package/dist/cjs/nv-fieldtoggle.cjs.entry.js.map +1 -0
  49. package/dist/cjs/nv-icon.cjs.entry.js +66 -0
  50. package/dist/cjs/nv-icon.cjs.entry.js.map +1 -0
  51. package/dist/cjs/nv-iconbutton.cjs.entry.js +92 -0
  52. package/dist/cjs/nv-iconbutton.cjs.entry.js.map +1 -0
  53. package/dist/cjs/nv-loader.cjs.entry.js +29 -0
  54. package/dist/cjs/nv-loader.cjs.entry.js.map +1 -0
  55. package/dist/cjs/nv-menu.cjs.entry.js +189 -0
  56. package/dist/cjs/nv-menu.cjs.entry.js.map +1 -0
  57. package/dist/cjs/nv-menuitem.cjs.entry.js +30 -0
  58. package/dist/cjs/nv-menuitem.cjs.entry.js.map +1 -0
  59. package/dist/cjs/nv-popover.cjs.entry.js +2327 -0
  60. package/dist/cjs/nv-popover.cjs.entry.js.map +1 -0
  61. package/dist/cjs/nv-row.cjs.entry.js +24 -0
  62. package/dist/cjs/nv-row.cjs.entry.js.map +1 -0
  63. package/dist/cjs/nv-stack.cjs.entry.js +31 -0
  64. package/dist/cjs/nv-stack.cjs.entry.js.map +1 -0
  65. package/dist/cjs/nv-tooltip.cjs.entry.js +37 -0
  66. package/dist/cjs/nv-tooltip.cjs.entry.js.map +1 -0
  67. package/dist/cjs/timeline.animation-dbb9c5ea.js +107 -0
  68. package/dist/cjs/timeline.animation-dbb9c5ea.js.map +1 -0
  69. package/dist/cjs/v4-7014b8b0.js +67 -0
  70. package/dist/cjs/v4-7014b8b0.js.map +1 -0
  71. package/dist/collection/animations/collapse.animation.js +82 -0
  72. package/dist/collection/animations/collapse.animation.js.map +1 -0
  73. package/dist/collection/animations/fade.animation.js +66 -0
  74. package/dist/collection/animations/fade.animation.js.map +1 -0
  75. package/dist/collection/animations/grow.animation.js +87 -0
  76. package/dist/collection/animations/grow.animation.js.map +1 -0
  77. package/dist/collection/animations/index.js +5 -0
  78. package/dist/collection/animations/index.js.map +1 -0
  79. package/dist/collection/animations/timeline.animation.js +21 -0
  80. package/dist/collection/animations/timeline.animation.js.map +1 -0
  81. package/dist/collection/collection-manifest.json +35 -0
  82. package/dist/collection/components/nv-alert/nv-alert.css +113 -0
  83. package/dist/collection/components/nv-alert/nv-alert.docs.js +61 -0
  84. package/dist/collection/components/nv-alert/nv-alert.docs.js.map +1 -0
  85. package/dist/collection/components/nv-alert/nv-alert.js +355 -0
  86. package/dist/collection/components/nv-alert/nv-alert.js.map +1 -0
  87. package/dist/collection/components/nv-avatar/nv-avatar.css +154 -0
  88. package/dist/collection/components/nv-avatar/nv-avatar.docs.js +42 -0
  89. package/dist/collection/components/nv-avatar/nv-avatar.docs.js.map +1 -0
  90. package/dist/collection/components/nv-avatar/nv-avatar.js +311 -0
  91. package/dist/collection/components/nv-avatar/nv-avatar.js.map +1 -0
  92. package/dist/collection/components/nv-badge/nv-badge.css +174 -0
  93. package/dist/collection/components/nv-badge/nv-badge.docs.js +72 -0
  94. package/dist/collection/components/nv-badge/nv-badge.docs.js.map +1 -0
  95. package/dist/collection/components/nv-badge/nv-badge.js +354 -0
  96. package/dist/collection/components/nv-badge/nv-badge.js.map +1 -0
  97. package/dist/collection/components/nv-base/nv-base.docs.js +5 -0
  98. package/dist/collection/components/nv-base/nv-base.docs.js.map +1 -0
  99. package/dist/collection/components/nv-base/nv-base.js +69 -0
  100. package/dist/collection/components/nv-base/nv-base.js.map +1 -0
  101. package/dist/collection/components/nv-button/nv-button.css +259 -0
  102. package/dist/collection/components/nv-button/nv-button.docs.js +56 -0
  103. package/dist/collection/components/nv-button/nv-button.docs.js.map +1 -0
  104. package/dist/collection/components/nv-button/nv-button.js +241 -0
  105. package/dist/collection/components/nv-button/nv-button.js.map +1 -0
  106. package/dist/collection/components/nv-col/nv-col.css +45 -0
  107. package/dist/collection/components/nv-col/nv-col.docs.js +18 -0
  108. package/dist/collection/components/nv-col/nv-col.docs.js.map +1 -0
  109. package/dist/collection/components/nv-col/nv-col.js +63 -0
  110. package/dist/collection/components/nv-col/nv-col.js.map +1 -0
  111. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.css +136 -0
  112. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js +231 -0
  113. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.js.map +1 -0
  114. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js +448 -0
  115. package/dist/collection/components/nv-fieldcheckbox/nv-fieldcheckbox.js.map +1 -0
  116. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.css +183 -0
  117. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js +180 -0
  118. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.docs.js.map +1 -0
  119. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js +435 -0
  120. package/dist/collection/components/nv-fieldnumber/nv-fieldnumber.js.map +1 -0
  121. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.css +149 -0
  122. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js +189 -0
  123. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.docs.js.map +1 -0
  124. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js +465 -0
  125. package/dist/collection/components/nv-fieldpassword/nv-fieldpassword.js.map +1 -0
  126. package/dist/collection/components/nv-fieldradio/nv-fieldradio.css +133 -0
  127. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js +121 -0
  128. package/dist/collection/components/nv-fieldradio/nv-fieldradio.docs.js.map +1 -0
  129. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js +347 -0
  130. package/dist/collection/components/nv-fieldradio/nv-fieldradio.js.map +1 -0
  131. package/dist/collection/components/nv-fieldselect/nv-fieldselect.css +197 -0
  132. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js +157 -0
  133. package/dist/collection/components/nv-fieldselect/nv-fieldselect.docs.js.map +1 -0
  134. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js +610 -0
  135. package/dist/collection/components/nv-fieldselect/nv-fieldselect.js.map +1 -0
  136. package/dist/collection/components/nv-fieldtext/nv-fieldtext.css +141 -0
  137. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js +206 -0
  138. package/dist/collection/components/nv-fieldtext/nv-fieldtext.docs.js.map +1 -0
  139. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js +499 -0
  140. package/dist/collection/components/nv-fieldtext/nv-fieldtext.js.map +1 -0
  141. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.css +141 -0
  142. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js +175 -0
  143. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.docs.js.map +1 -0
  144. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js +527 -0
  145. package/dist/collection/components/nv-fieldtextarea/nv-fieldtextarea.js.map +1 -0
  146. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.css +114 -0
  147. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.docs.js +65 -0
  148. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.docs.js.map +1 -0
  149. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js +283 -0
  150. package/dist/collection/components/nv-fieldtoggle/nv-fieldtoggle.js.map +1 -0
  151. package/dist/collection/components/nv-icon/nv-icon.css +32 -0
  152. package/dist/collection/components/nv-icon/nv-icon.docs.js +31 -0
  153. package/dist/collection/components/nv-icon/nv-icon.docs.js.map +1 -0
  154. package/dist/collection/components/nv-icon/nv-icon.js +245 -0
  155. package/dist/collection/components/nv-icon/nv-icon.js.map +1 -0
  156. package/dist/collection/components/nv-icon/nv-icons.js +450 -0
  157. package/dist/collection/components/nv-icon/nv-icons.js.map +1 -0
  158. package/dist/collection/components/nv-icon/test/nv-icon.test.js +25 -0
  159. package/dist/collection/components/nv-icon/test/nv-icon.test.js.map +1 -0
  160. package/dist/collection/components/nv-iconbutton/nv-iconbutton.css +152 -0
  161. package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js +61 -0
  162. package/dist/collection/components/nv-iconbutton/nv-iconbutton.docs.js.map +1 -0
  163. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js +263 -0
  164. package/dist/collection/components/nv-iconbutton/nv-iconbutton.js.map +1 -0
  165. package/dist/collection/components/nv-loader/nv-loader.css +162 -0
  166. package/dist/collection/components/nv-loader/nv-loader.docs.js +27 -0
  167. package/dist/collection/components/nv-loader/nv-loader.docs.js.map +1 -0
  168. package/dist/collection/components/nv-loader/nv-loader.js +78 -0
  169. package/dist/collection/components/nv-loader/nv-loader.js.map +1 -0
  170. package/dist/collection/components/nv-menu/nv-menu.css +61 -0
  171. package/dist/collection/components/nv-menu/nv-menu.docs.js +40 -0
  172. package/dist/collection/components/nv-menu/nv-menu.docs.js.map +1 -0
  173. package/dist/collection/components/nv-menu/nv-menu.js +355 -0
  174. package/dist/collection/components/nv-menu/nv-menu.js.map +1 -0
  175. package/dist/collection/components/nv-menuitem/nv-menuitem.css +29 -0
  176. package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js +6 -0
  177. package/dist/collection/components/nv-menuitem/nv-menuitem.docs.js.map +1 -0
  178. package/dist/collection/components/nv-menuitem/nv-menuitem.js +111 -0
  179. package/dist/collection/components/nv-menuitem/nv-menuitem.js.map +1 -0
  180. package/dist/collection/components/nv-popover/nv-popover.css +42 -0
  181. package/dist/collection/components/nv-popover/nv-popover.docs.js +74 -0
  182. package/dist/collection/components/nv-popover/nv-popover.docs.js.map +1 -0
  183. package/dist/collection/components/nv-popover/nv-popover.js +587 -0
  184. package/dist/collection/components/nv-popover/nv-popover.js.map +1 -0
  185. package/dist/collection/components/nv-row/nv-row.css +7 -0
  186. package/dist/collection/components/nv-row/nv-row.docs.js +13 -0
  187. package/dist/collection/components/nv-row/nv-row.docs.js.map +1 -0
  188. package/dist/collection/components/nv-row/nv-row.js +23 -0
  189. package/dist/collection/components/nv-row/nv-row.js.map +1 -0
  190. package/dist/collection/components/nv-stack/nv-stack.css +61 -0
  191. package/dist/collection/components/nv-stack/nv-stack.docs.js +39 -0
  192. package/dist/collection/components/nv-stack/nv-stack.docs.js.map +1 -0
  193. package/dist/collection/components/nv-stack/nv-stack.js +123 -0
  194. package/dist/collection/components/nv-stack/nv-stack.js.map +1 -0
  195. package/dist/collection/components/nv-tooltip/nv-tooltip.css +22 -0
  196. package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js +38 -0
  197. package/dist/collection/components/nv-tooltip/nv-tooltip.docs.js.map +1 -0
  198. package/dist/collection/components/nv-tooltip/nv-tooltip.js +102 -0
  199. package/dist/collection/components/nv-tooltip/nv-tooltip.js.map +1 -0
  200. package/dist/collection/dev/dev-components.js +3 -0
  201. package/dist/collection/dev/dev-components.js.map +1 -0
  202. package/dist/collection/dev/dev-forms.js +3 -0
  203. package/dist/collection/dev/dev-forms.js.map +1 -0
  204. package/dist/collection/dev/dev-root.js +23 -0
  205. package/dist/collection/dev/dev-root.js.map +1 -0
  206. package/dist/collection/dev/dev-utils.js +54 -0
  207. package/dist/collection/dev/dev-utils.js.map +1 -0
  208. package/dist/collection/fonts/TT_Norms_Pro_Bold.woff2 +0 -0
  209. package/dist/collection/fonts/TT_Norms_Pro_Medium.woff2 +0 -0
  210. package/dist/collection/fonts/TT_Norms_Pro_Mono_Bold.woff2 +0 -0
  211. package/dist/collection/fonts/TT_Norms_Pro_Mono_Medium.woff2 +0 -0
  212. package/dist/collection/fonts/TT_Norms_Pro_Mono_Regular.woff2 +0 -0
  213. package/dist/collection/fonts/TT_Norms_Pro_Regular.woff2 +0 -0
  214. package/dist/collection/global.js +6 -0
  215. package/dist/collection/global.js.map +1 -0
  216. package/dist/collection/index.js +10 -0
  217. package/dist/collection/index.js.map +1 -0
  218. package/dist/collection/utils/class.utils.js +15 -0
  219. package/dist/collection/utils/class.utils.js.map +1 -0
  220. package/dist/collection/utils/constants.js +122 -0
  221. package/dist/collection/utils/constants.js.map +1 -0
  222. package/dist/collection/utils/events.utils.js +19 -0
  223. package/dist/collection/utils/events.utils.js.map +1 -0
  224. package/dist/components/index.d.ts +33 -0
  225. package/dist/components/index.js +488 -0
  226. package/dist/components/index.js.map +1 -0
  227. package/dist/components/nv-alert.d.ts +11 -0
  228. package/dist/components/nv-alert.js +171 -0
  229. package/dist/components/nv-alert.js.map +1 -0
  230. package/dist/components/nv-avatar.d.ts +11 -0
  231. package/dist/components/nv-avatar.js +106 -0
  232. package/dist/components/nv-avatar.js.map +1 -0
  233. package/dist/components/nv-badge.d.ts +11 -0
  234. package/dist/components/nv-badge.js +154 -0
  235. package/dist/components/nv-badge.js.map +1 -0
  236. package/dist/components/nv-base.d.ts +11 -0
  237. package/dist/components/nv-base.js +89 -0
  238. package/dist/components/nv-base.js.map +1 -0
  239. package/dist/components/nv-button.d.ts +11 -0
  240. package/dist/components/nv-button.js +116 -0
  241. package/dist/components/nv-button.js.map +1 -0
  242. package/dist/components/nv-col.d.ts +11 -0
  243. package/dist/components/nv-col.js +57 -0
  244. package/dist/components/nv-col.js.map +1 -0
  245. package/dist/components/nv-fieldcheckbox.d.ts +11 -0
  246. package/dist/components/nv-fieldcheckbox.js +128 -0
  247. package/dist/components/nv-fieldcheckbox.js.map +1 -0
  248. package/dist/components/nv-fieldnumber.d.ts +11 -0
  249. package/dist/components/nv-fieldnumber.js +134 -0
  250. package/dist/components/nv-fieldnumber.js.map +1 -0
  251. package/dist/components/nv-fieldpassword.d.ts +11 -0
  252. package/dist/components/nv-fieldpassword.js +134 -0
  253. package/dist/components/nv-fieldpassword.js.map +1 -0
  254. package/dist/components/nv-fieldradio.d.ts +11 -0
  255. package/dist/components/nv-fieldradio.js +110 -0
  256. package/dist/components/nv-fieldradio.js.map +1 -0
  257. package/dist/components/nv-fieldselect.d.ts +11 -0
  258. package/dist/components/nv-fieldselect.js +332 -0
  259. package/dist/components/nv-fieldselect.js.map +1 -0
  260. package/dist/components/nv-fieldtext.d.ts +11 -0
  261. package/dist/components/nv-fieldtext.js +125 -0
  262. package/dist/components/nv-fieldtext.js.map +1 -0
  263. package/dist/components/nv-fieldtextarea.d.ts +11 -0
  264. package/dist/components/nv-fieldtextarea.js +188 -0
  265. package/dist/components/nv-fieldtextarea.js.map +1 -0
  266. package/dist/components/nv-fieldtoggle.d.ts +11 -0
  267. package/dist/components/nv-fieldtoggle.js +91 -0
  268. package/dist/components/nv-fieldtoggle.js.map +1 -0
  269. package/dist/components/nv-icon.d.ts +11 -0
  270. package/dist/components/nv-icon.js +8 -0
  271. package/dist/components/nv-icon.js.map +1 -0
  272. package/dist/components/nv-iconbutton.d.ts +11 -0
  273. package/dist/components/nv-iconbutton.js +8 -0
  274. package/dist/components/nv-iconbutton.js.map +1 -0
  275. package/dist/components/nv-loader.d.ts +11 -0
  276. package/dist/components/nv-loader.js +8 -0
  277. package/dist/components/nv-loader.js.map +1 -0
  278. package/dist/components/nv-menu.d.ts +11 -0
  279. package/dist/components/nv-menu.js +216 -0
  280. package/dist/components/nv-menu.js.map +1 -0
  281. package/dist/components/nv-menuitem.d.ts +11 -0
  282. package/dist/components/nv-menuitem.js +55 -0
  283. package/dist/components/nv-menuitem.js.map +1 -0
  284. package/dist/components/nv-popover.d.ts +11 -0
  285. package/dist/components/nv-popover.js +8 -0
  286. package/dist/components/nv-popover.js.map +1 -0
  287. package/dist/components/nv-row.d.ts +11 -0
  288. package/dist/components/nv-row.js +38 -0
  289. package/dist/components/nv-row.js.map +1 -0
  290. package/dist/components/nv-stack.d.ts +11 -0
  291. package/dist/components/nv-stack.js +51 -0
  292. package/dist/components/nv-stack.js.map +1 -0
  293. package/dist/components/nv-tooltip.d.ts +11 -0
  294. package/dist/components/nv-tooltip.js +61 -0
  295. package/dist/components/nv-tooltip.js.map +1 -0
  296. package/dist/components/p-1daca48a.js +1871 -0
  297. package/dist/components/p-1daca48a.js.map +1 -0
  298. package/dist/components/p-42301d8f.js +104 -0
  299. package/dist/components/p-42301d8f.js.map +1 -0
  300. package/dist/components/p-50bd2808.js +1198 -0
  301. package/dist/components/p-50bd2808.js.map +1 -0
  302. package/dist/components/p-6146d4b0.js +87 -0
  303. package/dist/components/p-6146d4b0.js.map +1 -0
  304. package/dist/components/p-632bedb8.js +1730 -0
  305. package/dist/components/p-632bedb8.js.map +1 -0
  306. package/dist/components/p-8a1a6e56.js +5 -0
  307. package/dist/components/p-8a1a6e56.js.map +1 -0
  308. package/dist/components/p-8da6d9a3.js +43 -0
  309. package/dist/components/p-8da6d9a3.js.map +1 -0
  310. package/dist/components/p-a15ddd42.js +138 -0
  311. package/dist/components/p-a15ddd42.js.map +1 -0
  312. package/dist/components/p-be79e7bc.js +121 -0
  313. package/dist/components/p-be79e7bc.js.map +1 -0
  314. package/dist/components/p-c711fe67.js +2355 -0
  315. package/dist/components/p-c711fe67.js.map +1 -0
  316. package/dist/components/p-f5ff676c.js +65 -0
  317. package/dist/components/p-f5ff676c.js.map +1 -0
  318. package/dist/docs.d.ts +435 -0
  319. package/dist/docs.json +9249 -0
  320. package/dist/esm/app-globals-df0a3c8d.js +9 -0
  321. package/dist/esm/app-globals-df0a3c8d.js.map +1 -0
  322. package/dist/esm/clsx-297c1ffe.js +5 -0
  323. package/dist/esm/clsx-297c1ffe.js.map +1 -0
  324. package/dist/esm/constants-e9bee611.js +138 -0
  325. package/dist/esm/constants-e9bee611.js.map +1 -0
  326. package/dist/esm/fade.animation-2a077983.js +1871 -0
  327. package/dist/esm/fade.animation-2a077983.js.map +1 -0
  328. package/dist/esm/grow.animation-88a8ee8f.js +114 -0
  329. package/dist/esm/grow.animation-88a8ee8f.js.map +1 -0
  330. package/dist/esm/index-179dfba2.js +1952 -0
  331. package/dist/esm/index-179dfba2.js.map +1 -0
  332. package/dist/esm/index.js +487 -0
  333. package/dist/esm/index.js.map +1 -0
  334. package/dist/esm/loader.js +13 -0
  335. package/dist/esm/loader.js.map +1 -0
  336. package/dist/esm/native.js +43 -0
  337. package/dist/esm/native.js.map +1 -0
  338. package/dist/esm/nv-alert.entry.js +136 -0
  339. package/dist/esm/nv-alert.entry.js.map +1 -0
  340. package/dist/esm/nv-avatar.entry.js +69 -0
  341. package/dist/esm/nv-avatar.entry.js.map +1 -0
  342. package/dist/esm/nv-badge.entry.js +115 -0
  343. package/dist/esm/nv-badge.entry.js.map +1 -0
  344. package/dist/esm/nv-base.entry.js +71 -0
  345. package/dist/esm/nv-base.entry.js.map +1 -0
  346. package/dist/esm/nv-button.entry.js +87 -0
  347. package/dist/esm/nv-button.entry.js.map +1 -0
  348. package/dist/esm/nv-col.entry.js +37 -0
  349. package/dist/esm/nv-col.entry.js.map +1 -0
  350. package/dist/esm/nv-fieldcheckbox.entry.js +90 -0
  351. package/dist/esm/nv-fieldcheckbox.entry.js.map +1 -0
  352. package/dist/esm/nv-fieldnumber.entry.js +90 -0
  353. package/dist/esm/nv-fieldnumber.entry.js.map +1 -0
  354. package/dist/esm/nv-fieldpassword.entry.js +75 -0
  355. package/dist/esm/nv-fieldpassword.entry.js.map +1 -0
  356. package/dist/esm/nv-fieldradio.entry.js +77 -0
  357. package/dist/esm/nv-fieldradio.entry.js.map +1 -0
  358. package/dist/esm/nv-fieldselect.entry.js +286 -0
  359. package/dist/esm/nv-fieldselect.entry.js.map +1 -0
  360. package/dist/esm/nv-fieldtext.entry.js +79 -0
  361. package/dist/esm/nv-fieldtext.entry.js.map +1 -0
  362. package/dist/esm/nv-fieldtextarea.entry.js +147 -0
  363. package/dist/esm/nv-fieldtextarea.entry.js.map +1 -0
  364. package/dist/esm/nv-fieldtoggle.entry.js +60 -0
  365. package/dist/esm/nv-fieldtoggle.entry.js.map +1 -0
  366. package/dist/esm/nv-icon.entry.js +62 -0
  367. package/dist/esm/nv-icon.entry.js.map +1 -0
  368. package/dist/esm/nv-iconbutton.entry.js +88 -0
  369. package/dist/esm/nv-iconbutton.entry.js.map +1 -0
  370. package/dist/esm/nv-loader.entry.js +25 -0
  371. package/dist/esm/nv-loader.entry.js.map +1 -0
  372. package/dist/esm/nv-menu.entry.js +185 -0
  373. package/dist/esm/nv-menu.entry.js.map +1 -0
  374. package/dist/esm/nv-menuitem.entry.js +26 -0
  375. package/dist/esm/nv-menuitem.entry.js.map +1 -0
  376. package/dist/esm/nv-popover.entry.js +2323 -0
  377. package/dist/esm/nv-popover.entry.js.map +1 -0
  378. package/dist/esm/nv-row.entry.js +20 -0
  379. package/dist/esm/nv-row.entry.js.map +1 -0
  380. package/dist/esm/nv-stack.entry.js +27 -0
  381. package/dist/esm/nv-stack.entry.js.map +1 -0
  382. package/dist/esm/nv-tooltip.entry.js +33 -0
  383. package/dist/esm/nv-tooltip.entry.js.map +1 -0
  384. package/dist/esm/timeline.animation-1b88f052.js +104 -0
  385. package/dist/esm/timeline.animation-1b88f052.js.map +1 -0
  386. package/dist/esm/v4-a79185f4.js +65 -0
  387. package/dist/esm/v4-a79185f4.js.map +1 -0
  388. package/dist/index.cjs.js +1 -0
  389. package/dist/index.js +1 -0
  390. package/dist/native/fonts/TT_Norms_Pro_Bold.woff2 +0 -0
  391. package/dist/native/fonts/TT_Norms_Pro_Medium.woff2 +0 -0
  392. package/dist/native/fonts/TT_Norms_Pro_Mono_Bold.woff2 +0 -0
  393. package/dist/native/fonts/TT_Norms_Pro_Mono_Medium.woff2 +0 -0
  394. package/dist/native/fonts/TT_Norms_Pro_Mono_Regular.woff2 +0 -0
  395. package/dist/native/fonts/TT_Norms_Pro_Regular.woff2 +0 -0
  396. package/dist/native/index.esm.js +2 -0
  397. package/dist/native/index.esm.js.map +1 -0
  398. package/dist/native/native.css +1 -0
  399. package/dist/native/native.esm.js +2 -0
  400. package/dist/native/native.esm.js.map +1 -0
  401. package/dist/native/p-06f64d05.entry.js +2 -0
  402. package/dist/native/p-06f64d05.entry.js.map +1 -0
  403. package/dist/native/p-0aa0193b.entry.js +2 -0
  404. package/dist/native/p-0aa0193b.entry.js.map +1 -0
  405. package/dist/native/p-124a7067.entry.js +2 -0
  406. package/dist/native/p-124a7067.entry.js.map +1 -0
  407. package/dist/native/p-13d0ab5b.entry.js +2 -0
  408. package/dist/native/p-13d0ab5b.entry.js.map +1 -0
  409. package/dist/native/p-14c08510.entry.js +2 -0
  410. package/dist/native/p-14c08510.entry.js.map +1 -0
  411. package/dist/native/p-1ceee367.entry.js +2 -0
  412. package/dist/native/p-1ceee367.entry.js.map +1 -0
  413. package/dist/native/p-1daca48a.js +16 -0
  414. package/dist/native/p-1daca48a.js.map +1 -0
  415. package/dist/native/p-29d482cd.entry.js +2 -0
  416. package/dist/native/p-29d482cd.entry.js.map +1 -0
  417. package/dist/native/p-42301d8f.js +2 -0
  418. package/dist/native/p-42301d8f.js.map +1 -0
  419. package/dist/native/p-43cd42ca.entry.js +2 -0
  420. package/dist/native/p-43cd42ca.entry.js.map +1 -0
  421. package/dist/native/p-519e0f59.entry.js +2 -0
  422. package/dist/native/p-519e0f59.entry.js.map +1 -0
  423. package/dist/native/p-617d6a09.entry.js +2 -0
  424. package/dist/native/p-617d6a09.entry.js.map +1 -0
  425. package/dist/native/p-6f762ec2.entry.js +2 -0
  426. package/dist/native/p-6f762ec2.entry.js.map +1 -0
  427. package/dist/native/p-71d6aad8.entry.js +2 -0
  428. package/dist/native/p-71d6aad8.entry.js.map +1 -0
  429. package/dist/native/p-7ce1b712.entry.js +2 -0
  430. package/dist/native/p-7ce1b712.entry.js.map +1 -0
  431. package/dist/native/p-80788ddf.js +2 -0
  432. package/dist/native/p-80788ddf.js.map +1 -0
  433. package/dist/native/p-830ec54a.entry.js +2 -0
  434. package/dist/native/p-830ec54a.entry.js.map +1 -0
  435. package/dist/native/p-89accab1.entry.js +2 -0
  436. package/dist/native/p-89accab1.entry.js.map +1 -0
  437. package/dist/native/p-8a1a6e56.js +2 -0
  438. package/dist/native/p-8a1a6e56.js.map +1 -0
  439. package/dist/native/p-8b65b16f.entry.js +2 -0
  440. package/dist/native/p-8b65b16f.entry.js.map +1 -0
  441. package/dist/native/p-a15ddd42.js +2 -0
  442. package/dist/native/p-a15ddd42.js.map +1 -0
  443. package/dist/native/p-a37c2ac2.js +2 -0
  444. package/dist/native/p-a37c2ac2.js.map +1 -0
  445. package/dist/native/p-b5e4a9e7.entry.js +2 -0
  446. package/dist/native/p-b5e4a9e7.entry.js.map +1 -0
  447. package/dist/native/p-b8eb4c31.entry.js +2 -0
  448. package/dist/native/p-b8eb4c31.entry.js.map +1 -0
  449. package/dist/native/p-b99aa075.entry.js +2 -0
  450. package/dist/native/p-b99aa075.entry.js.map +1 -0
  451. package/dist/native/p-d5a8b6c4.entry.js +2 -0
  452. package/dist/native/p-d5a8b6c4.entry.js.map +1 -0
  453. package/dist/native/p-db2a68f3.js +3 -0
  454. package/dist/native/p-db2a68f3.js.map +1 -0
  455. package/dist/native/p-f5acea50.entry.js +2 -0
  456. package/dist/native/p-f5acea50.entry.js.map +1 -0
  457. package/dist/native/p-f5ff676c.js +2 -0
  458. package/dist/native/p-f5ff676c.js.map +1 -0
  459. package/dist/native/p-f9aac71a.entry.js +2 -0
  460. package/dist/native/p-f9aac71a.entry.js.map +1 -0
  461. package/dist/native/p-fb6f42b7.entry.js +2 -0
  462. package/dist/native/p-fb6f42b7.entry.js.map +1 -0
  463. package/dist/types/animations/collapse.animation.d.ts +11 -0
  464. package/dist/types/animations/fade.animation.d.ts +11 -0
  465. package/dist/types/animations/grow.animation.d.ts +15 -0
  466. package/dist/types/animations/index.d.ts +4 -0
  467. package/dist/types/animations/timeline.animation.d.ts +18 -0
  468. package/dist/types/components/nv-alert/nv-alert.d.ts +85 -0
  469. package/dist/types/components/nv-alert/nv-alert.docs.d.ts +4 -0
  470. package/dist/types/components/nv-avatar/nv-avatar.d.ts +75 -0
  471. package/dist/types/components/nv-avatar/nv-avatar.docs.d.ts +4 -0
  472. package/dist/types/components/nv-badge/nv-badge.d.ts +93 -0
  473. package/dist/types/components/nv-badge/nv-badge.docs.d.ts +4 -0
  474. package/dist/types/components/nv-base/nv-base.d.ts +17 -0
  475. package/dist/types/components/nv-base/nv-base.docs.d.ts +5 -0
  476. package/dist/types/components/nv-button/nv-button.d.ts +63 -0
  477. package/dist/types/components/nv-button/nv-button.docs.d.ts +4 -0
  478. package/dist/types/components/nv-col/nv-col.d.ts +18 -0
  479. package/dist/types/components/nv-col/nv-col.docs.d.ts +4 -0
  480. package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.d.ts +119 -0
  481. package/dist/types/components/nv-fieldcheckbox/nv-fieldcheckbox.docs.d.ts +4 -0
  482. package/dist/types/components/nv-fieldnumber/nv-fieldnumber.d.ts +132 -0
  483. package/dist/types/components/nv-fieldnumber/nv-fieldnumber.docs.d.ts +4 -0
  484. package/dist/types/components/nv-fieldpassword/nv-fieldpassword.d.ts +145 -0
  485. package/dist/types/components/nv-fieldpassword/nv-fieldpassword.docs.d.ts +4 -0
  486. package/dist/types/components/nv-fieldradio/nv-fieldradio.d.ts +101 -0
  487. package/dist/types/components/nv-fieldradio/nv-fieldradio.docs.d.ts +4 -0
  488. package/dist/types/components/nv-fieldselect/nv-fieldselect.d.ts +195 -0
  489. package/dist/types/components/nv-fieldselect/nv-fieldselect.docs.d.ts +4 -0
  490. package/dist/types/components/nv-fieldtext/nv-fieldtext.d.ts +162 -0
  491. package/dist/types/components/nv-fieldtext/nv-fieldtext.docs.d.ts +4 -0
  492. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.d.ts +161 -0
  493. package/dist/types/components/nv-fieldtextarea/nv-fieldtextarea.docs.d.ts +4 -0
  494. package/dist/types/components/nv-fieldtoggle/nv-fieldtoggle.d.ts +73 -0
  495. package/dist/types/components/nv-fieldtoggle/nv-fieldtoggle.docs.d.ts +4 -0
  496. package/dist/types/components/nv-icon/nv-icon.d.ts +51 -0
  497. package/dist/types/components/nv-icon/nv-icon.docs.d.ts +4 -0
  498. package/dist/types/components/nv-icon/nv-icons.d.ts +3 -0
  499. package/dist/types/components/nv-icon/test/nv-icon.test.d.ts +1 -0
  500. package/dist/types/components/nv-iconbutton/nv-iconbutton.d.ts +70 -0
  501. package/dist/types/components/nv-iconbutton/nv-iconbutton.docs.d.ts +4 -0
  502. package/dist/types/components/nv-loader/nv-loader.d.ts +18 -0
  503. package/dist/types/components/nv-loader/nv-loader.docs.d.ts +4 -0
  504. package/dist/types/components/nv-menu/nv-menu.d.ts +60 -0
  505. package/dist/types/components/nv-menu/nv-menu.docs.d.ts +4 -0
  506. package/dist/types/components/nv-menuitem/nv-menuitem.d.ts +31 -0
  507. package/dist/types/components/nv-menuitem/nv-menuitem.docs.d.ts +4 -0
  508. package/dist/types/components/nv-popover/nv-popover.d.ts +114 -0
  509. package/dist/types/components/nv-popover/nv-popover.docs.d.ts +4 -0
  510. package/dist/types/components/nv-row/nv-row.d.ts +7 -0
  511. package/dist/types/components/nv-row/nv-row.docs.d.ts +4 -0
  512. package/dist/types/components/nv-stack/nv-stack.d.ts +36 -0
  513. package/dist/types/components/nv-stack/nv-stack.docs.d.ts +4 -0
  514. package/dist/types/components/nv-tooltip/nv-tooltip.d.ts +32 -0
  515. package/dist/types/components/nv-tooltip/nv-tooltip.docs.d.ts +4 -0
  516. package/dist/types/components.d.ts +2412 -0
  517. package/dist/types/dev/dev-components.d.ts +2 -0
  518. package/dist/types/dev/dev-forms.d.ts +2 -0
  519. package/dist/types/dev/dev-root.d.ts +1 -0
  520. package/dist/types/dev/dev-utils.d.ts +17 -0
  521. package/dist/types/global.d.ts +1 -0
  522. package/dist/types/index.d.ts +15 -0
  523. package/dist/types/nova-docs.d.ts +32 -0
  524. package/dist/types/stencil-public-runtime.d.ts +1678 -0
  525. package/dist/types/utils/class.utils.d.ts +6 -0
  526. package/dist/types/utils/constants.d.ts +112 -0
  527. package/dist/types/utils/events.utils.d.ts +15 -0
  528. package/dist/vscode-data.json +3179 -0
  529. package/hydrate/index.d.ts +242 -0
  530. package/hydrate/index.js +24827 -0
  531. package/hydrate/index.mjs +24819 -0
  532. package/hydrate/package.json +12 -0
  533. package/loader/cdn.js +1 -0
  534. package/loader/index.cjs.js +1 -0
  535. package/loader/index.d.ts +24 -0
  536. package/loader/index.es2017.js +1 -0
  537. package/loader/index.js +2 -0
  538. package/loader/package.json +11 -0
  539. package/package.json +197 -0
  540. package/readme.md +67 -0
@@ -0,0 +1,1871 @@
1
+ /******************************************************************************
2
+ Copyright (c) Microsoft Corporation.
3
+
4
+ Permission to use, copy, modify, and/or distribute this software for any
5
+ purpose with or without fee is hereby granted.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13
+ PERFORMANCE OF THIS SOFTWARE.
14
+ ***************************************************************************** */
15
+
16
+ function __rest$1(s, e) {
17
+ var t = {};
18
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
19
+ t[p] = s[p];
20
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
21
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
22
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
23
+ t[p[i]] = s[p[i]];
24
+ }
25
+ return t;
26
+ }
27
+
28
+ var warning = function () { };
29
+
30
+ const clamp$2 = (min, max, v) => Math.min(Math.max(v, min), max);
31
+
32
+ const safeMin = 0.001;
33
+ const minDuration = 0.01;
34
+ const maxDuration = 10.0;
35
+ const minDamping = 0.05;
36
+ const maxDamping = 1;
37
+ function findSpring({ duration = 800, bounce = 0.25, velocity = 0, mass = 1, }) {
38
+ let envelope;
39
+ let derivative;
40
+ warning(duration <= maxDuration * 1000);
41
+ let dampingRatio = 1 - bounce;
42
+ dampingRatio = clamp$2(minDamping, maxDamping, dampingRatio);
43
+ duration = clamp$2(minDuration, maxDuration, duration / 1000);
44
+ if (dampingRatio < 1) {
45
+ envelope = (undampedFreq) => {
46
+ const exponentialDecay = undampedFreq * dampingRatio;
47
+ const delta = exponentialDecay * duration;
48
+ const a = exponentialDecay - velocity;
49
+ const b = calcAngularFreq(undampedFreq, dampingRatio);
50
+ const c = Math.exp(-delta);
51
+ return safeMin - (a / b) * c;
52
+ };
53
+ derivative = (undampedFreq) => {
54
+ const exponentialDecay = undampedFreq * dampingRatio;
55
+ const delta = exponentialDecay * duration;
56
+ const d = delta * velocity + velocity;
57
+ const e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration;
58
+ const f = Math.exp(-delta);
59
+ const g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio);
60
+ const factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1;
61
+ return (factor * ((d - e) * f)) / g;
62
+ };
63
+ }
64
+ else {
65
+ envelope = (undampedFreq) => {
66
+ const a = Math.exp(-undampedFreq * duration);
67
+ const b = (undampedFreq - velocity) * duration + 1;
68
+ return -safeMin + a * b;
69
+ };
70
+ derivative = (undampedFreq) => {
71
+ const a = Math.exp(-undampedFreq * duration);
72
+ const b = (velocity - undampedFreq) * (duration * duration);
73
+ return a * b;
74
+ };
75
+ }
76
+ const initialGuess = 5 / duration;
77
+ const undampedFreq = approximateRoot(envelope, derivative, initialGuess);
78
+ duration = duration * 1000;
79
+ if (isNaN(undampedFreq)) {
80
+ return {
81
+ stiffness: 100,
82
+ damping: 10,
83
+ duration,
84
+ };
85
+ }
86
+ else {
87
+ const stiffness = Math.pow(undampedFreq, 2) * mass;
88
+ return {
89
+ stiffness,
90
+ damping: dampingRatio * 2 * Math.sqrt(mass * stiffness),
91
+ duration,
92
+ };
93
+ }
94
+ }
95
+ const rootIterations = 12;
96
+ function approximateRoot(envelope, derivative, initialGuess) {
97
+ let result = initialGuess;
98
+ for (let i = 1; i < rootIterations; i++) {
99
+ result = result - envelope(result) / derivative(result);
100
+ }
101
+ return result;
102
+ }
103
+ function calcAngularFreq(undampedFreq, dampingRatio) {
104
+ return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio);
105
+ }
106
+
107
+ const durationKeys = ["duration", "bounce"];
108
+ const physicsKeys = ["stiffness", "damping", "mass"];
109
+ function isSpringType(options, keys) {
110
+ return keys.some((key) => options[key] !== undefined);
111
+ }
112
+ function getSpringOptions(options) {
113
+ let springOptions = Object.assign({ velocity: 0.0, stiffness: 100, damping: 10, mass: 1.0, isResolvedFromDuration: false }, options);
114
+ if (!isSpringType(options, physicsKeys) &&
115
+ isSpringType(options, durationKeys)) {
116
+ const derived = findSpring(options);
117
+ springOptions = Object.assign(Object.assign(Object.assign({}, springOptions), derived), { velocity: 0.0, mass: 1.0 });
118
+ springOptions.isResolvedFromDuration = true;
119
+ }
120
+ return springOptions;
121
+ }
122
+ function spring(_a) {
123
+ var { from = 0.0, to = 1.0, restSpeed = 2, restDelta } = _a, options = __rest$1(_a, ["from", "to", "restSpeed", "restDelta"]);
124
+ const state = { done: false, value: from };
125
+ let { stiffness, damping, mass, velocity, duration, isResolvedFromDuration, } = getSpringOptions(options);
126
+ let resolveSpring = zero;
127
+ let resolveVelocity = zero;
128
+ function createSpring() {
129
+ const initialVelocity = velocity ? -(velocity / 1000) : 0.0;
130
+ const initialDelta = to - from;
131
+ const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));
132
+ const undampedAngularFreq = Math.sqrt(stiffness / mass) / 1000;
133
+ if (restDelta === undefined) {
134
+ restDelta = Math.min(Math.abs(to - from) / 100, 0.4);
135
+ }
136
+ if (dampingRatio < 1) {
137
+ const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio);
138
+ resolveSpring = (t) => {
139
+ const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);
140
+ return (to -
141
+ envelope *
142
+ (((initialVelocity +
143
+ dampingRatio * undampedAngularFreq * initialDelta) /
144
+ angularFreq) *
145
+ Math.sin(angularFreq * t) +
146
+ initialDelta * Math.cos(angularFreq * t)));
147
+ };
148
+ resolveVelocity = (t) => {
149
+ const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);
150
+ return (dampingRatio *
151
+ undampedAngularFreq *
152
+ envelope *
153
+ ((Math.sin(angularFreq * t) *
154
+ (initialVelocity +
155
+ dampingRatio *
156
+ undampedAngularFreq *
157
+ initialDelta)) /
158
+ angularFreq +
159
+ initialDelta * Math.cos(angularFreq * t)) -
160
+ envelope *
161
+ (Math.cos(angularFreq * t) *
162
+ (initialVelocity +
163
+ dampingRatio *
164
+ undampedAngularFreq *
165
+ initialDelta) -
166
+ angularFreq *
167
+ initialDelta *
168
+ Math.sin(angularFreq * t)));
169
+ };
170
+ }
171
+ else if (dampingRatio === 1) {
172
+ resolveSpring = (t) => to -
173
+ Math.exp(-undampedAngularFreq * t) *
174
+ (initialDelta +
175
+ (initialVelocity + undampedAngularFreq * initialDelta) *
176
+ t);
177
+ }
178
+ else {
179
+ const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);
180
+ resolveSpring = (t) => {
181
+ const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);
182
+ const freqForT = Math.min(dampedAngularFreq * t, 300);
183
+ return (to -
184
+ (envelope *
185
+ ((initialVelocity +
186
+ dampingRatio * undampedAngularFreq * initialDelta) *
187
+ Math.sinh(freqForT) +
188
+ dampedAngularFreq *
189
+ initialDelta *
190
+ Math.cosh(freqForT))) /
191
+ dampedAngularFreq);
192
+ };
193
+ }
194
+ }
195
+ createSpring();
196
+ return {
197
+ next: (t) => {
198
+ const current = resolveSpring(t);
199
+ if (!isResolvedFromDuration) {
200
+ const currentVelocity = resolveVelocity(t) * 1000;
201
+ const isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;
202
+ const isBelowDisplacementThreshold = Math.abs(to - current) <= restDelta;
203
+ state.done =
204
+ isBelowVelocityThreshold && isBelowDisplacementThreshold;
205
+ }
206
+ else {
207
+ state.done = t >= duration;
208
+ }
209
+ state.value = state.done ? to : current;
210
+ return state;
211
+ },
212
+ flipTarget: () => {
213
+ velocity = -velocity;
214
+ [from, to] = [to, from];
215
+ createSpring();
216
+ },
217
+ };
218
+ }
219
+ spring.needsInterpolation = (a, b) => typeof a === "string" || typeof b === "string";
220
+ const zero = (_t) => 0;
221
+
222
+ const progress = (from, to, value) => {
223
+ const toFromDifference = to - from;
224
+ return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
225
+ };
226
+
227
+ const mix = (from, to, progress) => -progress * from + progress * to + from;
228
+
229
+ const clamp$1 = (min, max) => (v) => Math.max(Math.min(v, max), min);
230
+ const sanitize$1 = (v) => (v % 1 ? Number(v.toFixed(5)) : v);
231
+ const floatRegex = /(-)?([\d]*\.?[\d])+/g;
232
+ const colorRegex = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi;
233
+ const singleColorRegex$1 = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;
234
+ function isString(v) {
235
+ return typeof v === 'string';
236
+ }
237
+
238
+ const number$1 = {
239
+ test: (v) => typeof v === 'number',
240
+ parse: parseFloat,
241
+ transform: (v) => v,
242
+ };
243
+ const alpha$1 = Object.assign(Object.assign({}, number$1), { transform: clamp$1(0, 1) });
244
+ Object.assign(Object.assign({}, number$1), { default: 1 });
245
+
246
+ const createUnitType$1 = (unit) => ({
247
+ test: (v) => isString(v) && v.endsWith(unit) && v.split(' ').length === 1,
248
+ parse: parseFloat,
249
+ transform: (v) => `${v}${unit}`,
250
+ });
251
+ const percent$1 = createUnitType$1('%');
252
+ Object.assign(Object.assign({}, percent$1), { parse: (v) => percent$1.parse(v) / 100, transform: (v) => percent$1.transform(v * 100) });
253
+
254
+ const isColorString$1 = (type, testProp) => (v) => {
255
+ return Boolean((isString(v) && singleColorRegex$1.test(v) && v.startsWith(type)) ||
256
+ (testProp && Object.prototype.hasOwnProperty.call(v, testProp)));
257
+ };
258
+ const splitColor = (aName, bName, cName) => (v) => {
259
+ if (!isString(v))
260
+ return v;
261
+ const [a, b, c, alpha] = v.match(floatRegex);
262
+ return {
263
+ [aName]: parseFloat(a),
264
+ [bName]: parseFloat(b),
265
+ [cName]: parseFloat(c),
266
+ alpha: alpha !== undefined ? parseFloat(alpha) : 1,
267
+ };
268
+ };
269
+
270
+ const hsla$1 = {
271
+ test: isColorString$1('hsl', 'hue'),
272
+ parse: splitColor('hue', 'saturation', 'lightness'),
273
+ transform: ({ hue, saturation, lightness, alpha: alpha$1$1 = 1 }) => {
274
+ return ('hsla(' +
275
+ Math.round(hue) +
276
+ ', ' +
277
+ percent$1.transform(sanitize$1(saturation)) +
278
+ ', ' +
279
+ percent$1.transform(sanitize$1(lightness)) +
280
+ ', ' +
281
+ sanitize$1(alpha$1.transform(alpha$1$1)) +
282
+ ')');
283
+ },
284
+ };
285
+
286
+ const clampRgbUnit$1 = clamp$1(0, 255);
287
+ const rgbUnit$1 = Object.assign(Object.assign({}, number$1), { transform: (v) => Math.round(clampRgbUnit$1(v)) });
288
+ const rgba$1 = {
289
+ test: isColorString$1('rgb', 'red'),
290
+ parse: splitColor('red', 'green', 'blue'),
291
+ transform: ({ red, green, blue, alpha: alpha$1$1 = 1 }) => 'rgba(' +
292
+ rgbUnit$1.transform(red) +
293
+ ', ' +
294
+ rgbUnit$1.transform(green) +
295
+ ', ' +
296
+ rgbUnit$1.transform(blue) +
297
+ ', ' +
298
+ sanitize$1(alpha$1.transform(alpha$1$1)) +
299
+ ')',
300
+ };
301
+
302
+ function parseHex(v) {
303
+ let r = '';
304
+ let g = '';
305
+ let b = '';
306
+ let a = '';
307
+ if (v.length > 5) {
308
+ r = v.substr(1, 2);
309
+ g = v.substr(3, 2);
310
+ b = v.substr(5, 2);
311
+ a = v.substr(7, 2);
312
+ }
313
+ else {
314
+ r = v.substr(1, 1);
315
+ g = v.substr(2, 1);
316
+ b = v.substr(3, 1);
317
+ a = v.substr(4, 1);
318
+ r += r;
319
+ g += g;
320
+ b += b;
321
+ a += a;
322
+ }
323
+ return {
324
+ red: parseInt(r, 16),
325
+ green: parseInt(g, 16),
326
+ blue: parseInt(b, 16),
327
+ alpha: a ? parseInt(a, 16) / 255 : 1,
328
+ };
329
+ }
330
+ const hex$1 = {
331
+ test: isColorString$1('#'),
332
+ parse: parseHex,
333
+ transform: rgba$1.transform,
334
+ };
335
+
336
+ const color$1 = {
337
+ test: (v) => rgba$1.test(v) || hex$1.test(v) || hsla$1.test(v),
338
+ parse: (v) => {
339
+ if (rgba$1.test(v)) {
340
+ return rgba$1.parse(v);
341
+ }
342
+ else if (hsla$1.test(v)) {
343
+ return hsla$1.parse(v);
344
+ }
345
+ else {
346
+ return hex$1.parse(v);
347
+ }
348
+ },
349
+ transform: (v) => {
350
+ return isString(v)
351
+ ? v
352
+ : v.hasOwnProperty('red')
353
+ ? rgba$1.transform(v)
354
+ : hsla$1.transform(v);
355
+ },
356
+ };
357
+
358
+ const colorToken = '${c}';
359
+ const numberToken = '${n}';
360
+ function test(v) {
361
+ var _a, _b, _c, _d;
362
+ return (isNaN(v) &&
363
+ isString(v) &&
364
+ ((_b = (_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = v.match(colorRegex)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0);
365
+ }
366
+ function analyse$1(v) {
367
+ if (typeof v === 'number')
368
+ v = `${v}`;
369
+ const values = [];
370
+ let numColors = 0;
371
+ const colors = v.match(colorRegex);
372
+ if (colors) {
373
+ numColors = colors.length;
374
+ v = v.replace(colorRegex, colorToken);
375
+ values.push(...colors.map(color$1.parse));
376
+ }
377
+ const numbers = v.match(floatRegex);
378
+ if (numbers) {
379
+ v = v.replace(floatRegex, numberToken);
380
+ values.push(...numbers.map(number$1.parse));
381
+ }
382
+ return { values, numColors, tokenised: v };
383
+ }
384
+ function parse(v) {
385
+ return analyse$1(v).values;
386
+ }
387
+ function createTransformer(v) {
388
+ const { values, numColors, tokenised } = analyse$1(v);
389
+ const numValues = values.length;
390
+ return (v) => {
391
+ let output = tokenised;
392
+ for (let i = 0; i < numValues; i++) {
393
+ output = output.replace(i < numColors ? colorToken : numberToken, i < numColors ? color$1.transform(v[i]) : sanitize$1(v[i]));
394
+ }
395
+ return output;
396
+ };
397
+ }
398
+ const convertNumbersToZero = (v) => typeof v === 'number' ? 0 : v;
399
+ function getAnimatableNone(v) {
400
+ const parsed = parse(v);
401
+ const transformer = createTransformer(v);
402
+ return transformer(parsed.map(convertNumbersToZero));
403
+ }
404
+ const complex = { test, parse, createTransformer, getAnimatableNone };
405
+
406
+ function hueToRgb(p, q, t) {
407
+ if (t < 0)
408
+ t += 1;
409
+ if (t > 1)
410
+ t -= 1;
411
+ if (t < 1 / 6)
412
+ return p + (q - p) * 6 * t;
413
+ if (t < 1 / 2)
414
+ return q;
415
+ if (t < 2 / 3)
416
+ return p + (q - p) * (2 / 3 - t) * 6;
417
+ return p;
418
+ }
419
+ function hslaToRgba({ hue, saturation, lightness, alpha }) {
420
+ hue /= 360;
421
+ saturation /= 100;
422
+ lightness /= 100;
423
+ let red = 0;
424
+ let green = 0;
425
+ let blue = 0;
426
+ if (!saturation) {
427
+ red = green = blue = lightness;
428
+ }
429
+ else {
430
+ const q = lightness < 0.5
431
+ ? lightness * (1 + saturation)
432
+ : lightness + saturation - lightness * saturation;
433
+ const p = 2 * lightness - q;
434
+ red = hueToRgb(p, q, hue + 1 / 3);
435
+ green = hueToRgb(p, q, hue);
436
+ blue = hueToRgb(p, q, hue - 1 / 3);
437
+ }
438
+ return {
439
+ red: Math.round(red * 255),
440
+ green: Math.round(green * 255),
441
+ blue: Math.round(blue * 255),
442
+ alpha,
443
+ };
444
+ }
445
+
446
+ const mixLinearColor = (from, to, v) => {
447
+ const fromExpo = from * from;
448
+ const toExpo = to * to;
449
+ return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo));
450
+ };
451
+ const colorTypes = [hex$1, rgba$1, hsla$1];
452
+ const getColorType = (v) => colorTypes.find((type) => type.test(v));
453
+ const mixColor = (from, to) => {
454
+ let fromColorType = getColorType(from);
455
+ let toColorType = getColorType(to);
456
+ let fromColor = fromColorType.parse(from);
457
+ let toColor = toColorType.parse(to);
458
+ if (fromColorType === hsla$1) {
459
+ fromColor = hslaToRgba(fromColor);
460
+ fromColorType = rgba$1;
461
+ }
462
+ if (toColorType === hsla$1) {
463
+ toColor = hslaToRgba(toColor);
464
+ toColorType = rgba$1;
465
+ }
466
+ const blended = Object.assign({}, fromColor);
467
+ return (v) => {
468
+ for (const key in blended) {
469
+ if (key !== "alpha") {
470
+ blended[key] = mixLinearColor(fromColor[key], toColor[key], v);
471
+ }
472
+ }
473
+ blended.alpha = mix(fromColor.alpha, toColor.alpha, v);
474
+ return fromColorType.transform(blended);
475
+ };
476
+ };
477
+
478
+ const isNum = (v) => typeof v === 'number';
479
+
480
+ const combineFunctions = (a, b) => (v) => b(a(v));
481
+ const pipe = (...transformers) => transformers.reduce(combineFunctions);
482
+
483
+ function getMixer(origin, target) {
484
+ if (isNum(origin)) {
485
+ return (v) => mix(origin, target, v);
486
+ }
487
+ else if (color$1.test(origin)) {
488
+ return mixColor(origin, target);
489
+ }
490
+ else {
491
+ return mixComplex(origin, target);
492
+ }
493
+ }
494
+ const mixArray = (from, to) => {
495
+ const output = [...from];
496
+ const numValues = output.length;
497
+ const blendValue = from.map((fromThis, i) => getMixer(fromThis, to[i]));
498
+ return (v) => {
499
+ for (let i = 0; i < numValues; i++) {
500
+ output[i] = blendValue[i](v);
501
+ }
502
+ return output;
503
+ };
504
+ };
505
+ const mixObject = (origin, target) => {
506
+ const output = Object.assign(Object.assign({}, origin), target);
507
+ const blendValue = {};
508
+ for (const key in output) {
509
+ if (origin[key] !== undefined && target[key] !== undefined) {
510
+ blendValue[key] = getMixer(origin[key], target[key]);
511
+ }
512
+ }
513
+ return (v) => {
514
+ for (const key in blendValue) {
515
+ output[key] = blendValue[key](v);
516
+ }
517
+ return output;
518
+ };
519
+ };
520
+ function analyse(value) {
521
+ const parsed = complex.parse(value);
522
+ const numValues = parsed.length;
523
+ let numNumbers = 0;
524
+ let numRGB = 0;
525
+ let numHSL = 0;
526
+ for (let i = 0; i < numValues; i++) {
527
+ if (numNumbers || typeof parsed[i] === "number") {
528
+ numNumbers++;
529
+ }
530
+ else {
531
+ if (parsed[i].hue !== undefined) {
532
+ numHSL++;
533
+ }
534
+ else {
535
+ numRGB++;
536
+ }
537
+ }
538
+ }
539
+ return { parsed, numNumbers, numRGB, numHSL };
540
+ }
541
+ const mixComplex = (origin, target) => {
542
+ const template = complex.createTransformer(target);
543
+ const originStats = analyse(origin);
544
+ const targetStats = analyse(target);
545
+ const canInterpolate = originStats.numHSL === targetStats.numHSL &&
546
+ originStats.numRGB === targetStats.numRGB &&
547
+ originStats.numNumbers >= targetStats.numNumbers;
548
+ if (canInterpolate) {
549
+ return pipe(mixArray(originStats.parsed, targetStats.parsed), template);
550
+ }
551
+ else {
552
+ return (p) => `${p > 0 ? target : origin}`;
553
+ }
554
+ };
555
+
556
+ const mixNumber = (from, to) => (p) => mix(from, to, p);
557
+ function detectMixerFactory(v) {
558
+ if (typeof v === 'number') {
559
+ return mixNumber;
560
+ }
561
+ else if (typeof v === 'string') {
562
+ if (color$1.test(v)) {
563
+ return mixColor;
564
+ }
565
+ else {
566
+ return mixComplex;
567
+ }
568
+ }
569
+ else if (Array.isArray(v)) {
570
+ return mixArray;
571
+ }
572
+ else if (typeof v === 'object') {
573
+ return mixObject;
574
+ }
575
+ }
576
+ function createMixers(output, ease, customMixer) {
577
+ const mixers = [];
578
+ const mixerFactory = customMixer || detectMixerFactory(output[0]);
579
+ const numMixers = output.length - 1;
580
+ for (let i = 0; i < numMixers; i++) {
581
+ let mixer = mixerFactory(output[i], output[i + 1]);
582
+ if (ease) {
583
+ const easingFunction = Array.isArray(ease) ? ease[i] : ease;
584
+ mixer = pipe(easingFunction, mixer);
585
+ }
586
+ mixers.push(mixer);
587
+ }
588
+ return mixers;
589
+ }
590
+ function fastInterpolate([from, to], [mixer]) {
591
+ return (v) => mixer(progress(from, to, v));
592
+ }
593
+ function slowInterpolate(input, mixers) {
594
+ const inputLength = input.length;
595
+ const lastInputIndex = inputLength - 1;
596
+ return (v) => {
597
+ let mixerIndex = 0;
598
+ let foundMixerIndex = false;
599
+ if (v <= input[0]) {
600
+ foundMixerIndex = true;
601
+ }
602
+ else if (v >= input[lastInputIndex]) {
603
+ mixerIndex = lastInputIndex - 1;
604
+ foundMixerIndex = true;
605
+ }
606
+ if (!foundMixerIndex) {
607
+ let i = 1;
608
+ for (; i < inputLength; i++) {
609
+ if (input[i] > v || i === lastInputIndex) {
610
+ break;
611
+ }
612
+ }
613
+ mixerIndex = i - 1;
614
+ }
615
+ const progressInRange = progress(input[mixerIndex], input[mixerIndex + 1], v);
616
+ return mixers[mixerIndex](progressInRange);
617
+ };
618
+ }
619
+ function interpolate(input, output, { clamp: isClamp = true, ease, mixer } = {}) {
620
+ const inputLength = input.length;
621
+ if (input[0] > input[inputLength - 1]) {
622
+ input = [].concat(input);
623
+ output = [].concat(output);
624
+ input.reverse();
625
+ output.reverse();
626
+ }
627
+ const mixers = createMixers(output, ease, mixer);
628
+ const interpolator = inputLength === 2
629
+ ? fastInterpolate(input, mixers)
630
+ : slowInterpolate(input, mixers);
631
+ return isClamp
632
+ ? (v) => interpolator(clamp$2(input[0], input[inputLength - 1], v))
633
+ : interpolator;
634
+ }
635
+
636
+ const reverseEasing = easing => p => 1 - easing(1 - p);
637
+ const mirrorEasing = easing => p => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
638
+ const createExpoIn = (power) => p => Math.pow(p, power);
639
+ const createBackIn = (power) => p => p * p * ((power + 1) * p - power);
640
+ const createAnticipate = (power) => {
641
+ const backEasing = createBackIn(power);
642
+ return p => (p *= 2) < 1
643
+ ? 0.5 * backEasing(p)
644
+ : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
645
+ };
646
+
647
+ const DEFAULT_OVERSHOOT_STRENGTH = 1.525;
648
+ const BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0;
649
+ const BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0;
650
+ const BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0;
651
+ const easeIn = createExpoIn(2);
652
+ reverseEasing(easeIn);
653
+ const easeInOut = mirrorEasing(easeIn);
654
+ const circIn = p => 1 - Math.sin(Math.acos(p));
655
+ const circOut = reverseEasing(circIn);
656
+ mirrorEasing(circOut);
657
+ const backIn = createBackIn(DEFAULT_OVERSHOOT_STRENGTH);
658
+ reverseEasing(backIn);
659
+ mirrorEasing(backIn);
660
+ createAnticipate(DEFAULT_OVERSHOOT_STRENGTH);
661
+ const ca = 4356.0 / 361.0;
662
+ const cb = 35442.0 / 1805.0;
663
+ const cc = 16061.0 / 1805.0;
664
+ const bounceOut = (p) => {
665
+ if (p === 1 || p === 0)
666
+ return p;
667
+ const p2 = p * p;
668
+ return p < BOUNCE_FIRST_THRESHOLD
669
+ ? 7.5625 * p2
670
+ : p < BOUNCE_SECOND_THRESHOLD
671
+ ? 9.075 * p2 - 9.9 * p + 3.4
672
+ : p < BOUNCE_THIRD_THRESHOLD
673
+ ? ca * p2 - cb * p + cc
674
+ : 10.8 * p * p - 20.52 * p + 10.72;
675
+ };
676
+ reverseEasing(bounceOut);
677
+
678
+ function defaultEasing(values, easing) {
679
+ return values.map(() => easing || easeInOut).splice(0, values.length - 1);
680
+ }
681
+ function defaultOffset(values) {
682
+ const numValues = values.length;
683
+ return values.map((_value, i) => i !== 0 ? i / (numValues - 1) : 0);
684
+ }
685
+ function convertOffsetToTimes(offset, duration) {
686
+ return offset.map((o) => o * duration);
687
+ }
688
+ function keyframes({ from = 0, to = 1, ease, offset, duration = 300, }) {
689
+ const state = { done: false, value: from };
690
+ const values = Array.isArray(to) ? to : [from, to];
691
+ const times = convertOffsetToTimes(offset && offset.length === values.length
692
+ ? offset
693
+ : defaultOffset(values), duration);
694
+ function createInterpolator() {
695
+ return interpolate(times, values, {
696
+ ease: Array.isArray(ease) ? ease : defaultEasing(values, ease),
697
+ });
698
+ }
699
+ let interpolator = createInterpolator();
700
+ return {
701
+ next: (t) => {
702
+ state.value = interpolator(t);
703
+ state.done = t >= duration;
704
+ return state;
705
+ },
706
+ flipTarget: () => {
707
+ values.reverse();
708
+ interpolator = createInterpolator();
709
+ },
710
+ };
711
+ }
712
+
713
+ function decay({ velocity = 0, from = 0, power = 0.8, timeConstant = 350, restDelta = 0.5, modifyTarget, }) {
714
+ const state = { done: false, value: from };
715
+ let amplitude = power * velocity;
716
+ const ideal = from + amplitude;
717
+ const target = modifyTarget === undefined ? ideal : modifyTarget(ideal);
718
+ if (target !== ideal)
719
+ amplitude = target - from;
720
+ return {
721
+ next: (t) => {
722
+ const delta = -amplitude * Math.exp(-t / timeConstant);
723
+ state.done = !(delta > restDelta || delta < -restDelta);
724
+ state.value = state.done ? target : target + delta;
725
+ return state;
726
+ },
727
+ flipTarget: () => { },
728
+ };
729
+ }
730
+
731
+ const types = { keyframes, spring, decay };
732
+ function detectAnimationFromOptions(config) {
733
+ if (Array.isArray(config.to)) {
734
+ return keyframes;
735
+ }
736
+ else if (types[config.type]) {
737
+ return types[config.type];
738
+ }
739
+ const keys = new Set(Object.keys(config));
740
+ if (keys.has("ease") ||
741
+ (keys.has("duration") && !keys.has("dampingRatio"))) {
742
+ return keyframes;
743
+ }
744
+ else if (keys.has("dampingRatio") ||
745
+ keys.has("stiffness") ||
746
+ keys.has("mass") ||
747
+ keys.has("damping") ||
748
+ keys.has("restSpeed") ||
749
+ keys.has("restDelta")) {
750
+ return spring;
751
+ }
752
+ return keyframes;
753
+ }
754
+
755
+ const defaultTimestep = (1 / 60) * 1000;
756
+ const getCurrentTime = typeof performance !== "undefined"
757
+ ? () => performance.now()
758
+ : () => Date.now();
759
+ const onNextFrame$1 = typeof window !== "undefined"
760
+ ? (callback) => window.requestAnimationFrame(callback)
761
+ : (callback) => setTimeout(() => callback(getCurrentTime()), defaultTimestep);
762
+
763
+ function createRenderStep(runNextFrame) {
764
+ let toRun = [];
765
+ let toRunNextFrame = [];
766
+ let numToRun = 0;
767
+ let isProcessing = false;
768
+ let flushNextFrame = false;
769
+ const toKeepAlive = new WeakSet();
770
+ const step = {
771
+ schedule: (callback, keepAlive = false, immediate = false) => {
772
+ const addToCurrentFrame = immediate && isProcessing;
773
+ const buffer = addToCurrentFrame ? toRun : toRunNextFrame;
774
+ if (keepAlive)
775
+ toKeepAlive.add(callback);
776
+ if (buffer.indexOf(callback) === -1) {
777
+ buffer.push(callback);
778
+ if (addToCurrentFrame && isProcessing)
779
+ numToRun = toRun.length;
780
+ }
781
+ return callback;
782
+ },
783
+ cancel: (callback) => {
784
+ const index = toRunNextFrame.indexOf(callback);
785
+ if (index !== -1)
786
+ toRunNextFrame.splice(index, 1);
787
+ toKeepAlive.delete(callback);
788
+ },
789
+ process: (frameData) => {
790
+ if (isProcessing) {
791
+ flushNextFrame = true;
792
+ return;
793
+ }
794
+ isProcessing = true;
795
+ [toRun, toRunNextFrame] = [toRunNextFrame, toRun];
796
+ toRunNextFrame.length = 0;
797
+ numToRun = toRun.length;
798
+ if (numToRun) {
799
+ for (let i = 0; i < numToRun; i++) {
800
+ const callback = toRun[i];
801
+ callback(frameData);
802
+ if (toKeepAlive.has(callback)) {
803
+ step.schedule(callback);
804
+ runNextFrame();
805
+ }
806
+ }
807
+ }
808
+ isProcessing = false;
809
+ if (flushNextFrame) {
810
+ flushNextFrame = false;
811
+ step.process(frameData);
812
+ }
813
+ },
814
+ };
815
+ return step;
816
+ }
817
+
818
+ const maxElapsed$1 = 40;
819
+ let useDefaultElapsed$1 = true;
820
+ let runNextFrame = false;
821
+ let isProcessing$1 = false;
822
+ const frame$1 = {
823
+ delta: 0,
824
+ timestamp: 0,
825
+ };
826
+ const stepsOrder$1 = [
827
+ "read",
828
+ "update",
829
+ "preRender",
830
+ "render",
831
+ "postRender",
832
+ ];
833
+ const steps$1 = stepsOrder$1.reduce((acc, key) => {
834
+ acc[key] = createRenderStep(() => (runNextFrame = true));
835
+ return acc;
836
+ }, {});
837
+ const sync$1 = stepsOrder$1.reduce((acc, key) => {
838
+ const step = steps$1[key];
839
+ acc[key] = (process, keepAlive = false, immediate = false) => {
840
+ if (!runNextFrame)
841
+ startLoop$1();
842
+ return step.schedule(process, keepAlive, immediate);
843
+ };
844
+ return acc;
845
+ }, {});
846
+ const cancelSync = stepsOrder$1.reduce((acc, key) => {
847
+ acc[key] = steps$1[key].cancel;
848
+ return acc;
849
+ }, {});
850
+ stepsOrder$1.reduce((acc, key) => {
851
+ acc[key] = () => steps$1[key].process(frame$1);
852
+ return acc;
853
+ }, {});
854
+ const processStep$1 = (stepId) => steps$1[stepId].process(frame$1);
855
+ const processFrame$1 = (timestamp) => {
856
+ runNextFrame = false;
857
+ frame$1.delta = useDefaultElapsed$1
858
+ ? defaultTimestep
859
+ : Math.max(Math.min(timestamp - frame$1.timestamp, maxElapsed$1), 1);
860
+ frame$1.timestamp = timestamp;
861
+ isProcessing$1 = true;
862
+ stepsOrder$1.forEach(processStep$1);
863
+ isProcessing$1 = false;
864
+ if (runNextFrame) {
865
+ useDefaultElapsed$1 = false;
866
+ onNextFrame$1(processFrame$1);
867
+ }
868
+ };
869
+ const startLoop$1 = () => {
870
+ runNextFrame = true;
871
+ useDefaultElapsed$1 = true;
872
+ if (!isProcessing$1)
873
+ onNextFrame$1(processFrame$1);
874
+ };
875
+
876
+ const sync$2 = sync$1;
877
+
878
+ function loopElapsed(elapsed, duration, delay = 0) {
879
+ return elapsed - duration - delay;
880
+ }
881
+ function reverseElapsed(elapsed, duration, delay = 0, isForwardPlayback = true) {
882
+ return isForwardPlayback
883
+ ? loopElapsed(duration + -elapsed, duration, delay)
884
+ : duration - (elapsed - duration) + delay;
885
+ }
886
+ function hasRepeatDelayElapsed(elapsed, duration, delay, isForwardPlayback) {
887
+ return isForwardPlayback ? elapsed >= duration + delay : elapsed <= -delay;
888
+ }
889
+
890
+ const framesync = (update) => {
891
+ const passTimestamp = ({ delta }) => update(delta);
892
+ return {
893
+ start: () => sync$2.update(passTimestamp, true),
894
+ stop: () => cancelSync.update(passTimestamp),
895
+ };
896
+ };
897
+ function animate(_a) {
898
+ var _b, _c;
899
+ var { from, autoplay = true, driver = framesync, elapsed = 0, repeat: repeatMax = 0, repeatType = "loop", repeatDelay = 0, onPlay, onStop, onComplete, onRepeat, onUpdate } = _a, options = __rest$1(_a, ["from", "autoplay", "driver", "elapsed", "repeat", "repeatType", "repeatDelay", "onPlay", "onStop", "onComplete", "onRepeat", "onUpdate"]);
900
+ let { to } = options;
901
+ let driverControls;
902
+ let repeatCount = 0;
903
+ let computedDuration = options.duration;
904
+ let latest;
905
+ let isComplete = false;
906
+ let isForwardPlayback = true;
907
+ let interpolateFromNumber;
908
+ const animator = detectAnimationFromOptions(options);
909
+ if ((_c = (_b = animator).needsInterpolation) === null || _c === void 0 ? void 0 : _c.call(_b, from, to)) {
910
+ interpolateFromNumber = interpolate([0, 100], [from, to], {
911
+ clamp: false,
912
+ });
913
+ from = 0;
914
+ to = 100;
915
+ }
916
+ const animation = animator(Object.assign(Object.assign({}, options), { from, to }));
917
+ function repeat() {
918
+ repeatCount++;
919
+ if (repeatType === "reverse") {
920
+ isForwardPlayback = repeatCount % 2 === 0;
921
+ elapsed = reverseElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback);
922
+ }
923
+ else {
924
+ elapsed = loopElapsed(elapsed, computedDuration, repeatDelay);
925
+ if (repeatType === "mirror")
926
+ animation.flipTarget();
927
+ }
928
+ isComplete = false;
929
+ onRepeat && onRepeat();
930
+ }
931
+ function complete() {
932
+ driverControls.stop();
933
+ onComplete && onComplete();
934
+ }
935
+ function update(delta) {
936
+ if (!isForwardPlayback)
937
+ delta = -delta;
938
+ elapsed += delta;
939
+ if (!isComplete) {
940
+ const state = animation.next(Math.max(0, elapsed));
941
+ latest = state.value;
942
+ if (interpolateFromNumber)
943
+ latest = interpolateFromNumber(latest);
944
+ isComplete = isForwardPlayback ? state.done : elapsed <= 0;
945
+ }
946
+ onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(latest);
947
+ if (isComplete) {
948
+ if (repeatCount === 0)
949
+ computedDuration !== null && computedDuration !== void 0 ? computedDuration : (computedDuration = elapsed);
950
+ if (repeatCount < repeatMax) {
951
+ hasRepeatDelayElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback) && repeat();
952
+ }
953
+ else {
954
+ complete();
955
+ }
956
+ }
957
+ }
958
+ function play() {
959
+ onPlay === null || onPlay === void 0 ? void 0 : onPlay();
960
+ driverControls = driver(update);
961
+ driverControls.start();
962
+ }
963
+ autoplay && play();
964
+ return {
965
+ stop: () => {
966
+ onStop === null || onStop === void 0 ? void 0 : onStop();
967
+ driverControls.stop();
968
+ },
969
+ };
970
+ }
971
+
972
+ /*! *****************************************************************************
973
+ Copyright (c) Microsoft Corporation.
974
+
975
+ Permission to use, copy, modify, and/or distribute this software for any
976
+ purpose with or without fee is hereby granted.
977
+
978
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
979
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
980
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
981
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
982
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
983
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
984
+ PERFORMANCE OF THIS SOFTWARE.
985
+ ***************************************************************************** */
986
+
987
+ var __assign = function() {
988
+ __assign = Object.assign || function __assign(t) {
989
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
990
+ s = arguments[i];
991
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
992
+ }
993
+ return t;
994
+ };
995
+ return __assign.apply(this, arguments);
996
+ };
997
+
998
+ function __rest(s, e) {
999
+ var t = {};
1000
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
1001
+ t[p] = s[p];
1002
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
1003
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
1004
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
1005
+ t[p[i]] = s[p[i]];
1006
+ }
1007
+ return t;
1008
+ }
1009
+
1010
+ var prevTime = 0;
1011
+ var onNextFrame = typeof window !== 'undefined' && window.requestAnimationFrame !== undefined ? function (callback) {
1012
+ return window.requestAnimationFrame(callback);
1013
+ } : function (callback) {
1014
+ var timestamp = Date.now();
1015
+ var timeToCall = Math.max(0, 16.7 - (timestamp - prevTime));
1016
+ prevTime = timestamp + timeToCall;
1017
+ setTimeout(function () {
1018
+ return callback(prevTime);
1019
+ }, timeToCall);
1020
+ };
1021
+
1022
+ var createStep = function (setRunNextFrame) {
1023
+ var processToRun = [];
1024
+ var processToRunNextFrame = [];
1025
+ var numThisFrame = 0;
1026
+ var isProcessing = false;
1027
+ var i = 0;
1028
+ var cancelled = new WeakSet();
1029
+ var toKeepAlive = new WeakSet();
1030
+ var renderStep = {
1031
+ cancel: function (process) {
1032
+ var indexOfCallback = processToRunNextFrame.indexOf(process);
1033
+ cancelled.add(process);
1034
+ if (indexOfCallback !== -1) {
1035
+ processToRunNextFrame.splice(indexOfCallback, 1);
1036
+ }
1037
+ },
1038
+ process: function (frame) {
1039
+ var _a;
1040
+ isProcessing = true;
1041
+ _a = [processToRunNextFrame, processToRun], processToRun = _a[0], processToRunNextFrame = _a[1];
1042
+ processToRunNextFrame.length = 0;
1043
+ numThisFrame = processToRun.length;
1044
+ if (numThisFrame) {
1045
+ var process_1;
1046
+ for (i = 0; i < numThisFrame; i++) {
1047
+ process_1 = processToRun[i];
1048
+ process_1(frame);
1049
+ if (toKeepAlive.has(process_1) === true && !cancelled.has(process_1)) {
1050
+ renderStep.schedule(process_1);
1051
+ setRunNextFrame(true);
1052
+ }
1053
+ }
1054
+ }
1055
+ isProcessing = false;
1056
+ },
1057
+ schedule: function (process, keepAlive, immediate) {
1058
+ if (keepAlive === void 0) {
1059
+ keepAlive = false;
1060
+ }
1061
+ if (immediate === void 0) {
1062
+ immediate = false;
1063
+ }
1064
+ var addToCurrentBuffer = immediate && isProcessing;
1065
+ var buffer = addToCurrentBuffer ? processToRun : processToRunNextFrame;
1066
+ cancelled.delete(process);
1067
+ if (keepAlive) toKeepAlive.add(process);
1068
+ if (buffer.indexOf(process) === -1) {
1069
+ buffer.push(process);
1070
+ if (addToCurrentBuffer) numThisFrame = processToRun.length;
1071
+ }
1072
+ }
1073
+ };
1074
+ return renderStep;
1075
+ };
1076
+
1077
+ var maxElapsed = 40;
1078
+ var defaultElapsed = 1 / 60 * 1000;
1079
+ var useDefaultElapsed = true;
1080
+ var willRunNextFrame = false;
1081
+ var isProcessing = false;
1082
+ var frame = {
1083
+ delta: 0,
1084
+ timestamp: 0
1085
+ };
1086
+ var stepsOrder = ["read", "update", "preRender", "render", "postRender"];
1087
+ var setWillRunNextFrame = function (willRun) {
1088
+ return willRunNextFrame = willRun;
1089
+ };
1090
+ var steps = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {
1091
+ acc[key] = createStep(setWillRunNextFrame);
1092
+ return acc;
1093
+ }, {});
1094
+ var sync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {
1095
+ var step = steps[key];
1096
+ acc[key] = function (process, keepAlive, immediate) {
1097
+ if (keepAlive === void 0) {
1098
+ keepAlive = false;
1099
+ }
1100
+ if (immediate === void 0) {
1101
+ immediate = false;
1102
+ }
1103
+ if (!willRunNextFrame) startLoop();
1104
+ step.schedule(process, keepAlive, immediate);
1105
+ return process;
1106
+ };
1107
+ return acc;
1108
+ }, {});
1109
+ var processStep = function (stepId) {
1110
+ return steps[stepId].process(frame);
1111
+ };
1112
+ var processFrame = function (timestamp) {
1113
+ willRunNextFrame = false;
1114
+ frame.delta = useDefaultElapsed ? defaultElapsed : Math.max(Math.min(timestamp - frame.timestamp, maxElapsed), 1);
1115
+ if (!useDefaultElapsed) defaultElapsed = frame.delta;
1116
+ frame.timestamp = timestamp;
1117
+ isProcessing = true;
1118
+ stepsOrder.forEach(processStep);
1119
+ isProcessing = false;
1120
+ if (willRunNextFrame) {
1121
+ useDefaultElapsed = false;
1122
+ onNextFrame(processFrame);
1123
+ }
1124
+ };
1125
+ var startLoop = function () {
1126
+ willRunNextFrame = true;
1127
+ useDefaultElapsed = true;
1128
+ if (!isProcessing) onNextFrame(processFrame);
1129
+ };
1130
+
1131
+ var clamp = function (min, max) { return function (v) {
1132
+ return Math.max(Math.min(v, max), min);
1133
+ }; };
1134
+ var sanitize = function (v) { return (v % 1 ? Number(v.toFixed(5)) : v); };
1135
+ var singleColorRegex = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i;
1136
+
1137
+ var number = {
1138
+ test: function (v) { return typeof v === 'number'; },
1139
+ parse: parseFloat,
1140
+ transform: function (v) { return v; }
1141
+ };
1142
+ var alpha = __assign(__assign({}, number), { transform: clamp(0, 1) });
1143
+ var scale = __assign(__assign({}, number), { default: 1 });
1144
+
1145
+ var createUnitType = function (unit) { return ({
1146
+ test: function (v) {
1147
+ return typeof v === 'string' && v.endsWith(unit) && v.split(' ').length === 1;
1148
+ },
1149
+ parse: parseFloat,
1150
+ transform: function (v) { return "" + v + unit; }
1151
+ }); };
1152
+ var degrees = createUnitType('deg');
1153
+ var percent = createUnitType('%');
1154
+ var px = createUnitType('px');
1155
+ var progressPercentage = __assign(__assign({}, percent), { parse: function (v) { return percent.parse(v) / 100; }, transform: function (v) { return percent.transform(v * 100); } });
1156
+
1157
+ var getValueFromFunctionString = function (value) {
1158
+ return value.substring(value.indexOf('(') + 1, value.lastIndexOf(')'));
1159
+ };
1160
+ var clampRgbUnit = clamp(0, 255);
1161
+ var isRgba = function (v) { return v.red !== undefined; };
1162
+ var isHsla = function (v) { return v.hue !== undefined; };
1163
+ function getValuesAsArray(value) {
1164
+ return getValueFromFunctionString(value)
1165
+ .replace(/(,|\/)/g, ' ')
1166
+ .split(/ \s*/);
1167
+ }
1168
+ var splitColorValues = function (terms) {
1169
+ return function (v) {
1170
+ if (typeof v !== 'string')
1171
+ return v;
1172
+ var values = {};
1173
+ var valuesArray = getValuesAsArray(v);
1174
+ for (var i = 0; i < 4; i++) {
1175
+ values[terms[i]] =
1176
+ valuesArray[i] !== undefined ? parseFloat(valuesArray[i]) : 1;
1177
+ }
1178
+ return values;
1179
+ };
1180
+ };
1181
+ var rgbaTemplate = function (_a) {
1182
+ var red = _a.red, green = _a.green, blue = _a.blue, _b = _a.alpha, alpha = _b === void 0 ? 1 : _b;
1183
+ return "rgba(" + red + ", " + green + ", " + blue + ", " + alpha + ")";
1184
+ };
1185
+ var hslaTemplate = function (_a) {
1186
+ var hue = _a.hue, saturation = _a.saturation, lightness = _a.lightness, _b = _a.alpha, alpha = _b === void 0 ? 1 : _b;
1187
+ return "hsla(" + hue + ", " + saturation + ", " + lightness + ", " + alpha + ")";
1188
+ };
1189
+ var rgbUnit = __assign(__assign({}, number), { transform: function (v) { return Math.round(clampRgbUnit(v)); } });
1190
+ function isColorString(color, colorType) {
1191
+ return color.startsWith(colorType) && singleColorRegex.test(color);
1192
+ }
1193
+ var rgba = {
1194
+ test: function (v) { return (typeof v === 'string' ? isColorString(v, 'rgb') : isRgba(v)); },
1195
+ parse: splitColorValues(['red', 'green', 'blue', 'alpha']),
1196
+ transform: function (_a) {
1197
+ var red = _a.red, green = _a.green, blue = _a.blue, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b;
1198
+ return rgbaTemplate({
1199
+ red: rgbUnit.transform(red),
1200
+ green: rgbUnit.transform(green),
1201
+ blue: rgbUnit.transform(blue),
1202
+ alpha: sanitize(alpha.transform(alpha$1))
1203
+ });
1204
+ }
1205
+ };
1206
+ var hsla = {
1207
+ test: function (v) { return (typeof v === 'string' ? isColorString(v, 'hsl') : isHsla(v)); },
1208
+ parse: splitColorValues(['hue', 'saturation', 'lightness', 'alpha']),
1209
+ transform: function (_a) {
1210
+ var hue = _a.hue, saturation = _a.saturation, lightness = _a.lightness, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b;
1211
+ return hslaTemplate({
1212
+ hue: Math.round(hue),
1213
+ saturation: percent.transform(sanitize(saturation)),
1214
+ lightness: percent.transform(sanitize(lightness)),
1215
+ alpha: sanitize(alpha.transform(alpha$1))
1216
+ });
1217
+ }
1218
+ };
1219
+ var hex = __assign(__assign({}, rgba), { test: function (v) { return typeof v === 'string' && isColorString(v, '#'); }, parse: function (v) {
1220
+ var r = '';
1221
+ var g = '';
1222
+ var b = '';
1223
+ if (v.length > 4) {
1224
+ r = v.substr(1, 2);
1225
+ g = v.substr(3, 2);
1226
+ b = v.substr(5, 2);
1227
+ }
1228
+ else {
1229
+ r = v.substr(1, 1);
1230
+ g = v.substr(2, 1);
1231
+ b = v.substr(3, 1);
1232
+ r += r;
1233
+ g += g;
1234
+ b += b;
1235
+ }
1236
+ return {
1237
+ red: parseInt(r, 16),
1238
+ green: parseInt(g, 16),
1239
+ blue: parseInt(b, 16),
1240
+ alpha: 1
1241
+ };
1242
+ } });
1243
+ var color = {
1244
+ test: function (v) {
1245
+ return (typeof v === 'string' && singleColorRegex.test(v)) ||
1246
+ isRgba(v) ||
1247
+ isHsla(v);
1248
+ },
1249
+ parse: function (v) {
1250
+ if (rgba.test(v)) {
1251
+ return rgba.parse(v);
1252
+ }
1253
+ else if (hsla.test(v)) {
1254
+ return hsla.parse(v);
1255
+ }
1256
+ else if (hex.test(v)) {
1257
+ return hex.parse(v);
1258
+ }
1259
+ return v;
1260
+ },
1261
+ transform: function (v) {
1262
+ if (isRgba(v)) {
1263
+ return rgba.transform(v);
1264
+ }
1265
+ else if (isHsla(v)) {
1266
+ return hsla.transform(v);
1267
+ }
1268
+ return v;
1269
+ }
1270
+ };
1271
+
1272
+ var createStyler = function (_a) {
1273
+ var onRead = _a.onRead,
1274
+ onRender = _a.onRender,
1275
+ _b = _a.uncachedValues,
1276
+ uncachedValues = _b === void 0 ? new Set() : _b,
1277
+ _c = _a.useCache,
1278
+ useCache = _c === void 0 ? true : _c;
1279
+ return function (_a) {
1280
+ if (_a === void 0) {
1281
+ _a = {};
1282
+ }
1283
+ var props = __rest(_a, []);
1284
+ var state = {};
1285
+ var changedValues = [];
1286
+ var hasChanged = false;
1287
+ function setValue(key, value) {
1288
+ if (key.startsWith('--')) {
1289
+ props.hasCSSVariable = true;
1290
+ }
1291
+ var currentValue = state[key];
1292
+ state[key] = value;
1293
+ if (state[key] === currentValue) return;
1294
+ if (changedValues.indexOf(key) === -1) {
1295
+ changedValues.push(key);
1296
+ }
1297
+ if (!hasChanged) {
1298
+ hasChanged = true;
1299
+ sync.render(styler.render);
1300
+ }
1301
+ }
1302
+ var styler = {
1303
+ get: function (key, forceRead) {
1304
+ if (forceRead === void 0) {
1305
+ forceRead = false;
1306
+ }
1307
+ var useCached = !forceRead && useCache && !uncachedValues.has(key) && state[key] !== undefined;
1308
+ return useCached ? state[key] : onRead(key, props);
1309
+ },
1310
+ set: function (values, value) {
1311
+ if (typeof values === 'string') {
1312
+ setValue(values, value);
1313
+ } else {
1314
+ for (var key in values) {
1315
+ setValue(key, values[key]);
1316
+ }
1317
+ }
1318
+ return this;
1319
+ },
1320
+ render: function (forceRender) {
1321
+ if (forceRender === void 0) {
1322
+ forceRender = false;
1323
+ }
1324
+ if (hasChanged || forceRender === true) {
1325
+ onRender(state, props, changedValues);
1326
+ hasChanged = false;
1327
+ changedValues.length = 0;
1328
+ }
1329
+ return this;
1330
+ }
1331
+ };
1332
+ return styler;
1333
+ };
1334
+ };
1335
+
1336
+ var CAMEL_CASE_PATTERN = /([a-z])([A-Z])/g;
1337
+ var REPLACE_TEMPLATE = '$1-$2';
1338
+ var camelToDash = function (str) {
1339
+ return str.replace(CAMEL_CASE_PATTERN, REPLACE_TEMPLATE).toLowerCase();
1340
+ };
1341
+
1342
+ var camelCache = /*#__PURE__*/new Map();
1343
+ var dashCache = /*#__PURE__*/new Map();
1344
+ var prefixes = ['Webkit', 'Moz', 'O', 'ms', ''];
1345
+ var numPrefixes = prefixes.length;
1346
+ var isBrowser = typeof document !== 'undefined';
1347
+ var testElement;
1348
+ var setDashPrefix = function (key, prefixed) {
1349
+ return dashCache.set(key, camelToDash(prefixed));
1350
+ };
1351
+ var testPrefix = function (key) {
1352
+ testElement = testElement || document.createElement('div');
1353
+ for (var i = 0; i < numPrefixes; i++) {
1354
+ var prefix = prefixes[i];
1355
+ var noPrefix = prefix === '';
1356
+ var prefixedPropertyName = noPrefix ? key : prefix + key.charAt(0).toUpperCase() + key.slice(1);
1357
+ if (prefixedPropertyName in testElement.style || noPrefix) {
1358
+ if (noPrefix && key === 'clipPath' && dashCache.has(key)) {
1359
+ return;
1360
+ }
1361
+ camelCache.set(key, prefixedPropertyName);
1362
+ setDashPrefix(key, "" + (noPrefix ? '' : '-') + camelToDash(prefixedPropertyName));
1363
+ }
1364
+ }
1365
+ };
1366
+ var setServerProperty = function (key) {
1367
+ return setDashPrefix(key, key);
1368
+ };
1369
+ var prefixer = function (key, asDashCase) {
1370
+ if (asDashCase === void 0) {
1371
+ asDashCase = false;
1372
+ }
1373
+ var cache = asDashCase ? dashCache : camelCache;
1374
+ if (!cache.has(key)) {
1375
+ isBrowser ? testPrefix(key) : setServerProperty(key);
1376
+ }
1377
+ return cache.get(key) || key;
1378
+ };
1379
+
1380
+ var axes = ['', 'X', 'Y', 'Z'];
1381
+ var order = ['translate', 'scale', 'rotate', 'skew', 'transformPerspective'];
1382
+ var transformProps = /*#__PURE__*/order.reduce(function (acc, key) {
1383
+ return axes.reduce(function (axesAcc, axesKey) {
1384
+ axesAcc.push(key + axesKey);
1385
+ return axesAcc;
1386
+ }, acc);
1387
+ }, ['x', 'y', 'z']);
1388
+ var transformPropDictionary = /*#__PURE__*/transformProps.reduce(function (dict, key) {
1389
+ dict[key] = true;
1390
+ return dict;
1391
+ }, {});
1392
+ function isTransformProp(key) {
1393
+ return transformPropDictionary[key] === true;
1394
+ }
1395
+ function sortTransformProps(a, b) {
1396
+ return transformProps.indexOf(a) - transformProps.indexOf(b);
1397
+ }
1398
+ var transformOriginProps = /*#__PURE__*/new Set(['originX', 'originY', 'originZ']);
1399
+ function isTransformOriginProp(key) {
1400
+ return transformOriginProps.has(key);
1401
+ }
1402
+
1403
+ var int = /*#__PURE__*/__assign( /*#__PURE__*/__assign({}, number), { transform: Math.round });
1404
+ var valueTypes = {
1405
+ color: color,
1406
+ backgroundColor: color,
1407
+ outlineColor: color,
1408
+ fill: color,
1409
+ stroke: color,
1410
+ borderColor: color,
1411
+ borderTopColor: color,
1412
+ borderRightColor: color,
1413
+ borderBottomColor: color,
1414
+ borderLeftColor: color,
1415
+ borderWidth: px,
1416
+ borderTopWidth: px,
1417
+ borderRightWidth: px,
1418
+ borderBottomWidth: px,
1419
+ borderLeftWidth: px,
1420
+ borderRadius: px,
1421
+ radius: px,
1422
+ borderTopLeftRadius: px,
1423
+ borderTopRightRadius: px,
1424
+ borderBottomRightRadius: px,
1425
+ borderBottomLeftRadius: px,
1426
+ width: px,
1427
+ maxWidth: px,
1428
+ height: px,
1429
+ maxHeight: px,
1430
+ size: px,
1431
+ top: px,
1432
+ right: px,
1433
+ bottom: px,
1434
+ left: px,
1435
+ padding: px,
1436
+ paddingTop: px,
1437
+ paddingRight: px,
1438
+ paddingBottom: px,
1439
+ paddingLeft: px,
1440
+ margin: px,
1441
+ marginTop: px,
1442
+ marginRight: px,
1443
+ marginBottom: px,
1444
+ marginLeft: px,
1445
+ rotate: degrees,
1446
+ rotateX: degrees,
1447
+ rotateY: degrees,
1448
+ rotateZ: degrees,
1449
+ scale: scale,
1450
+ scaleX: scale,
1451
+ scaleY: scale,
1452
+ scaleZ: scale,
1453
+ skew: degrees,
1454
+ skewX: degrees,
1455
+ skewY: degrees,
1456
+ distance: px,
1457
+ translateX: px,
1458
+ translateY: px,
1459
+ translateZ: px,
1460
+ x: px,
1461
+ y: px,
1462
+ z: px,
1463
+ perspective: px,
1464
+ opacity: alpha,
1465
+ originX: progressPercentage,
1466
+ originY: progressPercentage,
1467
+ originZ: px,
1468
+ zIndex: int,
1469
+ fillOpacity: alpha,
1470
+ strokeOpacity: alpha,
1471
+ numOctaves: int
1472
+ };
1473
+ var getValueType = function (key) {
1474
+ return valueTypes[key];
1475
+ };
1476
+ var getValueAsType = function (value, type) {
1477
+ return type && typeof value === 'number' ? type.transform(value) : value;
1478
+ };
1479
+
1480
+ var SCROLL_LEFT = 'scrollLeft';
1481
+ var SCROLL_TOP = 'scrollTop';
1482
+ var scrollKeys = /*#__PURE__*/new Set([SCROLL_LEFT, SCROLL_TOP]);
1483
+
1484
+ var blacklist = /*#__PURE__*/new Set([SCROLL_LEFT, SCROLL_TOP, 'transform']);
1485
+ var translateAlias = {
1486
+ x: 'translateX',
1487
+ y: 'translateY',
1488
+ z: 'translateZ'
1489
+ };
1490
+ function isCustomTemplate(v) {
1491
+ return typeof v === 'function';
1492
+ }
1493
+ function buildTransform(state, transform, transformKeys, transformIsDefault, enableHardwareAcceleration, allowTransformNone) {
1494
+ if (allowTransformNone === void 0) {
1495
+ allowTransformNone = true;
1496
+ }
1497
+ var transformString = '';
1498
+ var transformHasZ = false;
1499
+ transformKeys.sort(sortTransformProps);
1500
+ var numTransformKeys = transformKeys.length;
1501
+ for (var i = 0; i < numTransformKeys; i++) {
1502
+ var key = transformKeys[i];
1503
+ transformString += (translateAlias[key] || key) + "(" + transform[key] + ") ";
1504
+ transformHasZ = key === 'z' ? true : transformHasZ;
1505
+ }
1506
+ if (!transformHasZ && enableHardwareAcceleration) {
1507
+ transformString += 'translateZ(0)';
1508
+ } else {
1509
+ transformString = transformString.trim();
1510
+ }
1511
+ if (isCustomTemplate(state.transform)) {
1512
+ transformString = state.transform(transform, transformIsDefault ? '' : transformString);
1513
+ } else if (allowTransformNone && transformIsDefault) {
1514
+ transformString = 'none';
1515
+ }
1516
+ return transformString;
1517
+ }
1518
+ function buildStyleProperty(state, enableHardwareAcceleration, styles, transform, transformOrigin, transformKeys, isDashCase, allowTransformNone) {
1519
+ if (enableHardwareAcceleration === void 0) {
1520
+ enableHardwareAcceleration = true;
1521
+ }
1522
+ if (styles === void 0) {
1523
+ styles = {};
1524
+ }
1525
+ if (transform === void 0) {
1526
+ transform = {};
1527
+ }
1528
+ if (transformOrigin === void 0) {
1529
+ transformOrigin = {};
1530
+ }
1531
+ if (transformKeys === void 0) {
1532
+ transformKeys = [];
1533
+ }
1534
+ if (isDashCase === void 0) {
1535
+ isDashCase = false;
1536
+ }
1537
+ if (allowTransformNone === void 0) {
1538
+ allowTransformNone = true;
1539
+ }
1540
+ var transformIsDefault = true;
1541
+ var hasTransform = false;
1542
+ var hasTransformOrigin = false;
1543
+ for (var key in state) {
1544
+ var value = state[key];
1545
+ var valueType = getValueType(key);
1546
+ var valueAsType = getValueAsType(value, valueType);
1547
+ if (isTransformProp(key)) {
1548
+ hasTransform = true;
1549
+ transform[key] = valueAsType;
1550
+ transformKeys.push(key);
1551
+ if (transformIsDefault) {
1552
+ if (valueType.default && value !== valueType.default || !valueType.default && value !== 0) {
1553
+ transformIsDefault = false;
1554
+ }
1555
+ }
1556
+ } else if (isTransformOriginProp(key)) {
1557
+ transformOrigin[key] = valueAsType;
1558
+ hasTransformOrigin = true;
1559
+ } else if (!blacklist.has(key) || !isCustomTemplate(valueAsType)) {
1560
+ styles[prefixer(key, isDashCase)] = valueAsType;
1561
+ }
1562
+ }
1563
+ if (hasTransform || typeof state.transform === 'function') {
1564
+ styles.transform = buildTransform(state, transform, transformKeys, transformIsDefault, enableHardwareAcceleration, allowTransformNone);
1565
+ }
1566
+ if (hasTransformOrigin) {
1567
+ styles.transformOrigin = (transformOrigin.originX || '50%') + " " + (transformOrigin.originY || '50%') + " " + (transformOrigin.originZ || 0);
1568
+ }
1569
+ return styles;
1570
+ }
1571
+ function createStyleBuilder(_a) {
1572
+ var _b = _a === void 0 ? {} : _a,
1573
+ _c = _b.enableHardwareAcceleration,
1574
+ enableHardwareAcceleration = _c === void 0 ? true : _c,
1575
+ _d = _b.isDashCase,
1576
+ isDashCase = _d === void 0 ? true : _d,
1577
+ _e = _b.allowTransformNone,
1578
+ allowTransformNone = _e === void 0 ? true : _e;
1579
+ var styles = {};
1580
+ var transform = {};
1581
+ var transformOrigin = {};
1582
+ var transformKeys = [];
1583
+ return function (state) {
1584
+ transformKeys.length = 0;
1585
+ buildStyleProperty(state, enableHardwareAcceleration, styles, transform, transformOrigin, transformKeys, isDashCase, allowTransformNone);
1586
+ return styles;
1587
+ };
1588
+ }
1589
+
1590
+ function onRead(key, options) {
1591
+ var element = options.element,
1592
+ preparseOutput = options.preparseOutput;
1593
+ var defaultValueType = getValueType(key);
1594
+ if (isTransformProp(key)) {
1595
+ return defaultValueType ? defaultValueType.default || 0 : 0;
1596
+ } else if (scrollKeys.has(key)) {
1597
+ return element[key];
1598
+ } else {
1599
+ var domValue = window.getComputedStyle(element, null).getPropertyValue(prefixer(key, true)) || 0;
1600
+ return preparseOutput && defaultValueType && defaultValueType.test(domValue) && defaultValueType.parse ? defaultValueType.parse(domValue) : domValue;
1601
+ }
1602
+ }
1603
+ function onRender(state, _a, changedValues) {
1604
+ var element = _a.element,
1605
+ buildStyles = _a.buildStyles,
1606
+ hasCSSVariable = _a.hasCSSVariable;
1607
+ Object.assign(element.style, buildStyles(state));
1608
+ if (hasCSSVariable) {
1609
+ var numChangedValues = changedValues.length;
1610
+ for (var i = 0; i < numChangedValues; i++) {
1611
+ var key = changedValues[i];
1612
+ if (key.startsWith('--')) {
1613
+ element.style.setProperty(key, state[key]);
1614
+ }
1615
+ }
1616
+ }
1617
+ if (changedValues.indexOf(SCROLL_LEFT) !== -1) {
1618
+ element[SCROLL_LEFT] = state[SCROLL_LEFT];
1619
+ }
1620
+ if (changedValues.indexOf(SCROLL_TOP) !== -1) {
1621
+ element[SCROLL_TOP] = state[SCROLL_TOP];
1622
+ }
1623
+ }
1624
+ var cssStyler = /*#__PURE__*/createStyler({
1625
+ onRead: onRead,
1626
+ onRender: onRender,
1627
+ uncachedValues: scrollKeys
1628
+ });
1629
+ function createCssStyler(element, _a) {
1630
+ if (_a === void 0) {
1631
+ _a = {};
1632
+ }
1633
+ var enableHardwareAcceleration = _a.enableHardwareAcceleration,
1634
+ allowTransformNone = _a.allowTransformNone,
1635
+ props = __rest(_a, ["enableHardwareAcceleration", "allowTransformNone"]);
1636
+ return cssStyler(__assign({ element: element, buildStyles: createStyleBuilder({
1637
+ enableHardwareAcceleration: enableHardwareAcceleration,
1638
+ allowTransformNone: allowTransformNone
1639
+ }), preparseOutput: true }, props));
1640
+ }
1641
+
1642
+ var camelCaseAttributes = /*#__PURE__*/new Set(['baseFrequency', 'diffuseConstant', 'kernelMatrix', 'kernelUnitLength', 'keySplines', 'keyTimes', 'limitingConeAngle', 'markerHeight', 'markerWidth', 'numOctaves', 'targetX', 'targetY', 'surfaceScale', 'specularConstant', 'specularExponent', 'stdDeviation', 'tableValues']);
1643
+
1644
+ var defaultOrigin = 0.5;
1645
+ var svgAttrsTemplate = function () {
1646
+ return {
1647
+ style: {}
1648
+ };
1649
+ };
1650
+ var progressToPixels = function (progress, length) {
1651
+ return px.transform(progress * length);
1652
+ };
1653
+ var unmeasured = { x: 0, y: 0, width: 0, height: 0 };
1654
+ function calcOrigin(origin, offset, size) {
1655
+ return typeof origin === 'string' ? origin : px.transform(offset + size * origin);
1656
+ }
1657
+ function calculateSVGTransformOrigin(dimensions, originX, originY) {
1658
+ return calcOrigin(originX, dimensions.x, dimensions.width) + " " + calcOrigin(originY, dimensions.y, dimensions.height);
1659
+ }
1660
+ var svgStyleConfig = {
1661
+ enableHardwareAcceleration: false,
1662
+ isDashCase: false
1663
+ };
1664
+ function buildSVGAttrs(_a, dimensions, totalPathLength, cssBuilder, attrs, isDashCase) {
1665
+ if (dimensions === void 0) {
1666
+ dimensions = unmeasured;
1667
+ }
1668
+ if (cssBuilder === void 0) {
1669
+ cssBuilder = createStyleBuilder(svgStyleConfig);
1670
+ }
1671
+ if (attrs === void 0) {
1672
+ attrs = svgAttrsTemplate();
1673
+ }
1674
+ if (isDashCase === void 0) {
1675
+ isDashCase = true;
1676
+ }
1677
+ var attrX = _a.attrX,
1678
+ attrY = _a.attrY,
1679
+ originX = _a.originX,
1680
+ originY = _a.originY,
1681
+ pathLength = _a.pathLength,
1682
+ _b = _a.pathSpacing,
1683
+ pathSpacing = _b === void 0 ? 1 : _b,
1684
+ _c = _a.pathOffset,
1685
+ pathOffset = _c === void 0 ? 0 : _c,
1686
+ state = __rest(_a, ["attrX", "attrY", "originX", "originY", "pathLength", "pathSpacing", "pathOffset"]);
1687
+ var style = cssBuilder(state);
1688
+ for (var key in style) {
1689
+ if (key === 'transform') {
1690
+ attrs.style.transform = style[key];
1691
+ } else {
1692
+ var attrKey = isDashCase && !camelCaseAttributes.has(key) ? camelToDash(key) : key;
1693
+ attrs[attrKey] = style[key];
1694
+ }
1695
+ }
1696
+ if (originX !== undefined || originY !== undefined || style.transform) {
1697
+ attrs.style.transformOrigin = calculateSVGTransformOrigin(dimensions, originX !== undefined ? originX : defaultOrigin, originY !== undefined ? originY : defaultOrigin);
1698
+ }
1699
+ if (attrX !== undefined) attrs.x = attrX;
1700
+ if (attrY !== undefined) attrs.y = attrY;
1701
+ if (totalPathLength !== undefined && pathLength !== undefined) {
1702
+ attrs[isDashCase ? 'stroke-dashoffset' : 'strokeDashoffset'] = progressToPixels(-pathOffset, totalPathLength);
1703
+ attrs[isDashCase ? 'stroke-dasharray' : 'strokeDasharray'] = progressToPixels(pathLength, totalPathLength) + " " + progressToPixels(pathSpacing, totalPathLength);
1704
+ }
1705
+ return attrs;
1706
+ }
1707
+ function createAttrBuilder(dimensions, totalPathLength, isDashCase) {
1708
+ if (isDashCase === void 0) {
1709
+ isDashCase = true;
1710
+ }
1711
+ var attrs = svgAttrsTemplate();
1712
+ var cssBuilder = createStyleBuilder(svgStyleConfig);
1713
+ return function (state) {
1714
+ return buildSVGAttrs(state, dimensions, totalPathLength, cssBuilder, attrs, isDashCase);
1715
+ };
1716
+ }
1717
+
1718
+ var getDimensions = function (element) {
1719
+ return typeof element.getBBox === 'function' ? element.getBBox() : element.getBoundingClientRect();
1720
+ };
1721
+ var getSVGElementDimensions = function (element) {
1722
+ try {
1723
+ return getDimensions(element);
1724
+ } catch (e) {
1725
+ return { x: 0, y: 0, width: 0, height: 0 };
1726
+ }
1727
+ };
1728
+
1729
+ var isPath = function (element) {
1730
+ return element.tagName === 'path';
1731
+ };
1732
+ var svgStyler = /*#__PURE__*/createStyler({
1733
+ onRead: function (key, _a) {
1734
+ var element = _a.element;
1735
+ key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
1736
+ if (!isTransformProp(key)) {
1737
+ return element.getAttribute(key);
1738
+ } else {
1739
+ var valueType = getValueType(key);
1740
+ return valueType ? valueType.default || 0 : 0;
1741
+ }
1742
+ },
1743
+ onRender: function (state, _a) {
1744
+ var element = _a.element,
1745
+ buildAttrs = _a.buildAttrs;
1746
+ var attrs = buildAttrs(state);
1747
+ for (var key in attrs) {
1748
+ if (key === 'style') {
1749
+ Object.assign(element.style, attrs.style);
1750
+ } else {
1751
+ element.setAttribute(key, attrs[key]);
1752
+ }
1753
+ }
1754
+ }
1755
+ });
1756
+ var svg = function (element) {
1757
+ var dimensions = getSVGElementDimensions(element);
1758
+ var pathLength = isPath(element) && element.getTotalLength ? element.getTotalLength() : undefined;
1759
+ return svgStyler({
1760
+ element: element,
1761
+ buildAttrs: createAttrBuilder(dimensions, pathLength)
1762
+ });
1763
+ };
1764
+
1765
+ var viewport = /*#__PURE__*/createStyler({
1766
+ useCache: false,
1767
+ onRead: function (key) {
1768
+ return key === 'scrollTop' ? window.pageYOffset : window.pageXOffset;
1769
+ },
1770
+ onRender: function (_a) {
1771
+ var _b = _a.scrollTop,
1772
+ scrollTop = _b === void 0 ? 0 : _b,
1773
+ _c = _a.scrollLeft,
1774
+ scrollLeft = _c === void 0 ? 0 : _c;
1775
+ return window.scrollTo(scrollLeft, scrollTop);
1776
+ }
1777
+ });
1778
+
1779
+ var cache = /*#__PURE__*/new WeakMap();
1780
+ var isHTMLElement = function (node) {
1781
+ return node instanceof HTMLElement || typeof node.click === 'function';
1782
+ };
1783
+ var isSVGElement = function (node) {
1784
+ return node instanceof SVGElement || 'ownerSVGElement' in node;
1785
+ };
1786
+ var createDOMStyler = function (node, props) {
1787
+ var styler;
1788
+ if (node === window) {
1789
+ styler = viewport(node);
1790
+ } else if (isHTMLElement(node)) {
1791
+ styler = createCssStyler(node, props);
1792
+ } else if (isSVGElement(node)) {
1793
+ styler = svg(node);
1794
+ }
1795
+ cache.set(node, styler);
1796
+ return styler;
1797
+ };
1798
+ var getStyler = function (node, props) {
1799
+ return cache.has(node) ? cache.get(node) : createDOMStyler(node, props);
1800
+ };
1801
+ function index(nodeOrSelector, props) {
1802
+ var node = typeof nodeOrSelector === 'string' ? document.querySelector(nodeOrSelector) : nodeOrSelector;
1803
+ return getStyler(node, props);
1804
+ }
1805
+
1806
+ const useFade = (node, { duration } = { duration: 200 }) => {
1807
+ const nodeStyler = index(node);
1808
+ /**
1809
+ * Will animate the opacity to 1, and removes the opacity style attribute once
1810
+ * complete.
1811
+ */
1812
+ function fadeIn() {
1813
+ return new Promise(resolve => {
1814
+ animate({
1815
+ from: { opacity: 0 },
1816
+ to: { opacity: 1 },
1817
+ duration,
1818
+ onUpdate(latest) {
1819
+ nodeStyler.set({ opacity: latest.opacity });
1820
+ },
1821
+ onComplete() {
1822
+ resolve();
1823
+ node.style.removeProperty('opacity');
1824
+ },
1825
+ });
1826
+ });
1827
+ }
1828
+ /**
1829
+ * Applies the fadeOut styles without animating, useful when initial state
1830
+ * is hidden.
1831
+ */
1832
+ function setFadeOut() {
1833
+ node.style.opacity = '0';
1834
+ }
1835
+ /**
1836
+ * Applies the fadeIn styles without animating, useful when initial state
1837
+ * is visible.
1838
+ */
1839
+ function setFadeIn() {
1840
+ node.style.opacity = '1';
1841
+ }
1842
+ /**
1843
+ * Will animate the opacity to 0, once complete, the opacity style attribute
1844
+ * will stay on the element.
1845
+ */
1846
+ function fadeOut() {
1847
+ return new Promise(resolve => {
1848
+ animate({
1849
+ from: { opacity: 1 },
1850
+ to: { opacity: 0 },
1851
+ duration,
1852
+ onUpdate(latest) {
1853
+ nodeStyler.set({ opacity: latest.opacity });
1854
+ },
1855
+ onComplete() {
1856
+ resolve();
1857
+ },
1858
+ });
1859
+ });
1860
+ }
1861
+ return {
1862
+ fadeIn,
1863
+ fadeOut,
1864
+ setFadeOut,
1865
+ setFadeIn,
1866
+ };
1867
+ };
1868
+
1869
+ export { animate as a, index as i, useFade as u };
1870
+
1871
+ //# sourceMappingURL=fade.animation-2a077983.js.map