@cardstack/boxel-cli 0.10.0 → 0.10.1-unstable.0

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 (1070) hide show
  1. package/bundled-realms/pretui/README.md +49 -0
  2. package/bundled-realms/pretui/color/LICENSE +21 -0
  3. package/bundled-realms/pretui/color/README.md +155 -0
  4. package/bundled-realms/pretui/color/index.js +78 -0
  5. package/bundled-realms/pretui/color-engine.ts +1243 -0
  6. package/bundled-realms/pretui/components/accordion.gts +58 -0
  7. package/bundled-realms/pretui/components/accordion.md +60 -0
  8. package/bundled-realms/pretui/components/accordion.usage.gts +129 -0
  9. package/bundled-realms/pretui/components/action-bar.gts +407 -0
  10. package/bundled-realms/pretui/components/action-bar.md +48 -0
  11. package/bundled-realms/pretui/components/action-bar.usage.gts +213 -0
  12. package/bundled-realms/pretui/components/affix.gts +116 -0
  13. package/bundled-realms/pretui/components/affix.md +54 -0
  14. package/bundled-realms/pretui/components/affix.usage.gts +73 -0
  15. package/bundled-realms/pretui/components/agent-question.gts +116 -0
  16. package/bundled-realms/pretui/components/agent-question.md +50 -0
  17. package/bundled-realms/pretui/components/agent-question.usage.gts +22 -0
  18. package/bundled-realms/pretui/components/ai-instructions.gts +378 -0
  19. package/bundled-realms/pretui/components/ai-instructions.md +49 -0
  20. package/bundled-realms/pretui/components/ai-instructions.usage.gts +101 -0
  21. package/bundled-realms/pretui/components/alert-dialog.gts +223 -0
  22. package/bundled-realms/pretui/components/alert-dialog.md +76 -0
  23. package/bundled-realms/pretui/components/alert-dialog.usage.gts +128 -0
  24. package/bundled-realms/pretui/components/alert.gts +163 -0
  25. package/bundled-realms/pretui/components/alert.md +57 -0
  26. package/bundled-realms/pretui/components/alert.usage.gts +99 -0
  27. package/bundled-realms/pretui/components/amount-input.gts +621 -0
  28. package/bundled-realms/pretui/components/amount-input.md +63 -0
  29. package/bundled-realms/pretui/components/amount-input.usage.gts +170 -0
  30. package/bundled-realms/pretui/components/angle-dial.gts +367 -0
  31. package/bundled-realms/pretui/components/angle-dial.md +56 -0
  32. package/bundled-realms/pretui/components/angle-dial.usage.gts +166 -0
  33. package/bundled-realms/pretui/components/animated-image.gts +291 -0
  34. package/bundled-realms/pretui/components/animated-image.md +49 -0
  35. package/bundled-realms/pretui/components/animated-image.usage.gts +127 -0
  36. package/bundled-realms/pretui/components/app-shell.gts +19 -0
  37. package/bundled-realms/pretui/components/app-shell.md +43 -0
  38. package/bundled-realms/pretui/components/app-shell.usage.gts +52 -0
  39. package/bundled-realms/pretui/components/approval-footer.gts +69 -0
  40. package/bundled-realms/pretui/components/approval-footer.md +49 -0
  41. package/bundled-realms/pretui/components/approval-footer.usage.gts +22 -0
  42. package/bundled-realms/pretui/components/aspect-ratio.gts +328 -0
  43. package/bundled-realms/pretui/components/aspect-ratio.md +72 -0
  44. package/bundled-realms/pretui/components/aspect-ratio.usage.gts +174 -0
  45. package/bundled-realms/pretui/components/asset-grid.gts +542 -0
  46. package/bundled-realms/pretui/components/asset-grid.md +54 -0
  47. package/bundled-realms/pretui/components/asset-grid.usage.gts +171 -0
  48. package/bundled-realms/pretui/components/asset-well.gts +731 -0
  49. package/bundled-realms/pretui/components/asset-well.md +72 -0
  50. package/bundled-realms/pretui/components/asset-well.usage.gts +264 -0
  51. package/bundled-realms/pretui/components/audio-player.gts +152 -0
  52. package/bundled-realms/pretui/components/audio-player.md +51 -0
  53. package/bundled-realms/pretui/components/audio-player.usage.gts +118 -0
  54. package/bundled-realms/pretui/components/autocomplete.gts +1150 -0
  55. package/bundled-realms/pretui/components/autocomplete.md +67 -0
  56. package/bundled-realms/pretui/components/autocomplete.usage.gts +339 -0
  57. package/bundled-realms/pretui/components/avatar-group.gts +30 -0
  58. package/bundled-realms/pretui/components/avatar-group.md +48 -0
  59. package/bundled-realms/pretui/components/avatar-group.usage.gts +39 -0
  60. package/bundled-realms/pretui/components/avatar.gts +134 -0
  61. package/bundled-realms/pretui/components/avatar.md +69 -0
  62. package/bundled-realms/pretui/components/avatar.usage.gts +101 -0
  63. package/bundled-realms/pretui/components/backdrop.gts +179 -0
  64. package/bundled-realms/pretui/components/backdrop.md +56 -0
  65. package/bundled-realms/pretui/components/backdrop.usage.gts +223 -0
  66. package/bundled-realms/pretui/components/background-field.gts +743 -0
  67. package/bundled-realms/pretui/components/background-field.md +62 -0
  68. package/bundled-realms/pretui/components/background-field.usage.gts +328 -0
  69. package/bundled-realms/pretui/components/badge.gts +188 -0
  70. package/bundled-realms/pretui/components/badge.md +62 -0
  71. package/bundled-realms/pretui/components/badge.usage.gts +73 -0
  72. package/bundled-realms/pretui/components/bar-list.gts +255 -0
  73. package/bundled-realms/pretui/components/bar-list.md +49 -0
  74. package/bundled-realms/pretui/components/bar-list.usage.gts +129 -0
  75. package/bundled-realms/pretui/components/board.gts +108 -0
  76. package/bundled-realms/pretui/components/board.md +54 -0
  77. package/bundled-realms/pretui/components/board.usage.gts +321 -0
  78. package/bundled-realms/pretui/components/bottom-nav.gts +217 -0
  79. package/bundled-realms/pretui/components/bottom-nav.md +64 -0
  80. package/bundled-realms/pretui/components/bottom-nav.usage.gts +68 -0
  81. package/bundled-realms/pretui/components/breadcrumb.gts +56 -0
  82. package/bundled-realms/pretui/components/breadcrumb.md +52 -0
  83. package/bundled-realms/pretui/components/breadcrumb.usage.gts +24 -0
  84. package/bundled-realms/pretui/components/broken-link.gts +46 -0
  85. package/bundled-realms/pretui/components/broken-link.md +50 -0
  86. package/bundled-realms/pretui/components/broken-link.usage.gts +57 -0
  87. package/bundled-realms/pretui/components/button-group.gts +246 -0
  88. package/bundled-realms/pretui/components/button-group.md +46 -0
  89. package/bundled-realms/pretui/components/button-group.usage.gts +137 -0
  90. package/bundled-realms/pretui/components/button.examples.gts +67 -0
  91. package/bundled-realms/pretui/components/button.gts +594 -0
  92. package/bundled-realms/pretui/components/button.md +81 -0
  93. package/bundled-realms/pretui/components/button.usage.gts +159 -0
  94. package/bundled-realms/pretui/components/calendar.gts +457 -0
  95. package/bundled-realms/pretui/components/calendar.md +57 -0
  96. package/bundled-realms/pretui/components/calendar.usage.gts +161 -0
  97. package/bundled-realms/pretui/components/callout.gts +2 -0
  98. package/bundled-realms/pretui/components/callout.md +40 -0
  99. package/bundled-realms/pretui/components/callout.usage.gts +48 -0
  100. package/bundled-realms/pretui/components/card.gts +637 -0
  101. package/bundled-realms/pretui/components/card.md +105 -0
  102. package/bundled-realms/pretui/components/card.usage.gts +279 -0
  103. package/bundled-realms/pretui/components/carousel.gts +583 -0
  104. package/bundled-realms/pretui/components/carousel.md +53 -0
  105. package/bundled-realms/pretui/components/carousel.usage.gts +220 -0
  106. package/bundled-realms/pretui/components/cascader.gts +436 -0
  107. package/bundled-realms/pretui/components/cascader.md +61 -0
  108. package/bundled-realms/pretui/components/cascader.usage.gts +79 -0
  109. package/bundled-realms/pretui/components/channel-slider.gts +251 -0
  110. package/bundled-realms/pretui/components/channel-slider.md +51 -0
  111. package/bundled-realms/pretui/components/channel-slider.usage.gts +104 -0
  112. package/bundled-realms/pretui/components/chart.gts +1011 -0
  113. package/bundled-realms/pretui/components/chart.md +60 -0
  114. package/bundled-realms/pretui/components/chart.usage.gts +660 -0
  115. package/bundled-realms/pretui/components/checkbox-card.gts +82 -0
  116. package/bundled-realms/pretui/components/checkbox-card.md +73 -0
  117. package/bundled-realms/pretui/components/checkbox-card.usage.gts +114 -0
  118. package/bundled-realms/pretui/components/checkbox.examples.gts +61 -0
  119. package/bundled-realms/pretui/components/checkbox.gts +123 -0
  120. package/bundled-realms/pretui/components/checkbox.md +55 -0
  121. package/bundled-realms/pretui/components/checkbox.usage.gts +31 -0
  122. package/bundled-realms/pretui/components/chip.gts +136 -0
  123. package/bundled-realms/pretui/components/chip.md +54 -0
  124. package/bundled-realms/pretui/components/chip.usage.gts +97 -0
  125. package/bundled-realms/pretui/components/code-block.gts +888 -0
  126. package/bundled-realms/pretui/components/code-block.md +61 -0
  127. package/bundled-realms/pretui/components/code-block.usage.gts +374 -0
  128. package/bundled-realms/pretui/components/collapsed-turn.gts +44 -0
  129. package/bundled-realms/pretui/components/collapsed-turn.md +48 -0
  130. package/bundled-realms/pretui/components/collapsed-turn.usage.gts +21 -0
  131. package/bundled-realms/pretui/components/collapsible.gts +283 -0
  132. package/bundled-realms/pretui/components/collapsible.md +69 -0
  133. package/bundled-realms/pretui/components/collapsible.usage.gts +173 -0
  134. package/bundled-realms/pretui/components/color-area.gts +339 -0
  135. package/bundled-realms/pretui/components/color-area.md +49 -0
  136. package/bundled-realms/pretui/components/color-area.usage.gts +72 -0
  137. package/bundled-realms/pretui/components/color-field.gts +179 -0
  138. package/bundled-realms/pretui/components/color-field.md +47 -0
  139. package/bundled-realms/pretui/components/color-field.usage.gts +87 -0
  140. package/bundled-realms/pretui/components/color-palette.gts +198 -0
  141. package/bundled-realms/pretui/components/color-palette.md +48 -0
  142. package/bundled-realms/pretui/components/color-picker.gts +721 -0
  143. package/bundled-realms/pretui/components/color-picker.md +59 -0
  144. package/bundled-realms/pretui/components/color-picker.usage.gts +122 -0
  145. package/bundled-realms/pretui/components/color-stop-editor.gts +184 -0
  146. package/bundled-realms/pretui/components/color-stop-editor.md +46 -0
  147. package/bundled-realms/pretui/components/color-stop-editor.usage.gts +75 -0
  148. package/bundled-realms/pretui/components/combobox.gts +333 -0
  149. package/bundled-realms/pretui/components/combobox.md +49 -0
  150. package/bundled-realms/pretui/components/combobox.usage.gts +143 -0
  151. package/bundled-realms/pretui/components/command-palette.gts +982 -0
  152. package/bundled-realms/pretui/components/command-palette.md +47 -0
  153. package/bundled-realms/pretui/components/command-palette.usage.gts +95 -0
  154. package/bundled-realms/pretui/components/command.gts +2 -0
  155. package/bundled-realms/pretui/components/command.md +45 -0
  156. package/bundled-realms/pretui/components/command.usage.gts +58 -0
  157. package/bundled-realms/pretui/components/compaction-chip.gts +273 -0
  158. package/bundled-realms/pretui/components/compaction-chip.md +45 -0
  159. package/bundled-realms/pretui/components/compaction-chip.usage.gts +110 -0
  160. package/bundled-realms/pretui/components/comparison.gts +223 -0
  161. package/bundled-realms/pretui/components/comparison.md +46 -0
  162. package/bundled-realms/pretui/components/comparison.usage.gts +148 -0
  163. package/bundled-realms/pretui/components/composer.gts +566 -0
  164. package/bundled-realms/pretui/components/composer.md +59 -0
  165. package/bundled-realms/pretui/components/composer.usage.gts +173 -0
  166. package/bundled-realms/pretui/components/compound-field.gts +289 -0
  167. package/bundled-realms/pretui/components/compound-field.md +66 -0
  168. package/bundled-realms/pretui/components/compound-field.usage.gts +378 -0
  169. package/bundled-realms/pretui/components/contact-link.gts +583 -0
  170. package/bundled-realms/pretui/components/contact-link.md +53 -0
  171. package/bundled-realms/pretui/components/contact-link.usage.gts +273 -0
  172. package/bundled-realms/pretui/components/context-menu.gts +811 -0
  173. package/bundled-realms/pretui/components/context-menu.md +74 -0
  174. package/bundled-realms/pretui/components/context-menu.usage.gts +244 -0
  175. package/bundled-realms/pretui/components/copy-button.gts +237 -0
  176. package/bundled-realms/pretui/components/copy-button.md +71 -0
  177. package/bundled-realms/pretui/components/copy-button.usage.gts +135 -0
  178. package/bundled-realms/pretui/components/copy-fit.gts +396 -0
  179. package/bundled-realms/pretui/components/copy-fit.md +60 -0
  180. package/bundled-realms/pretui/components/copy-fit.usage.gts +200 -0
  181. package/bundled-realms/pretui/components/cta-band.gts +285 -0
  182. package/bundled-realms/pretui/components/cta-band.md +50 -0
  183. package/bundled-realms/pretui/components/cta-band.usage.gts +208 -0
  184. package/bundled-realms/pretui/components/cue.gts +180 -0
  185. package/bundled-realms/pretui/components/cue.md +53 -0
  186. package/bundled-realms/pretui/components/cue.usage.gts +88 -0
  187. package/bundled-realms/pretui/components/cursor-trail.gts +221 -0
  188. package/bundled-realms/pretui/components/cursor-trail.md +56 -0
  189. package/bundled-realms/pretui/components/cursor-trail.usage.gts +218 -0
  190. package/bundled-realms/pretui/components/dashboard-grid.gts +939 -0
  191. package/bundled-realms/pretui/components/dashboard-grid.md +60 -0
  192. package/bundled-realms/pretui/components/dashboard-grid.usage.gts +307 -0
  193. package/bundled-realms/pretui/components/dashboard-item.gts +286 -0
  194. package/bundled-realms/pretui/components/dashboard-item.md +52 -0
  195. package/bundled-realms/pretui/components/dashboard-item.usage.gts +87 -0
  196. package/bundled-realms/pretui/components/data-grid.gts +263 -0
  197. package/bundled-realms/pretui/components/data-grid.md +64 -0
  198. package/bundled-realms/pretui/components/data-grid.usage.gts +50 -0
  199. package/bundled-realms/pretui/components/data-table.gts +1618 -0
  200. package/bundled-realms/pretui/components/data-table.md +104 -0
  201. package/bundled-realms/pretui/components/data-table.usage.gts +324 -0
  202. package/bundled-realms/pretui/components/date-picker.gts +98 -0
  203. package/bundled-realms/pretui/components/date-picker.md +59 -0
  204. package/bundled-realms/pretui/components/date-picker.usage.gts +66 -0
  205. package/bundled-realms/pretui/components/date-range-picker.gts +131 -0
  206. package/bundled-realms/pretui/components/date-range-picker.md +55 -0
  207. package/bundled-realms/pretui/components/date-range-picker.usage.gts +125 -0
  208. package/bundled-realms/pretui/components/date-time-picker.gts +227 -0
  209. package/bundled-realms/pretui/components/date-time-picker.md +60 -0
  210. package/bundled-realms/pretui/components/date-time-picker.usage.gts +64 -0
  211. package/bundled-realms/pretui/components/defer.gts +374 -0
  212. package/bundled-realms/pretui/components/defer.md +61 -0
  213. package/bundled-realms/pretui/components/defer.usage.gts +174 -0
  214. package/bundled-realms/pretui/components/delta.gts +45 -0
  215. package/bundled-realms/pretui/components/delta.md +53 -0
  216. package/bundled-realms/pretui/components/delta.usage.gts +31 -0
  217. package/bundled-realms/pretui/components/descriptions.gts +365 -0
  218. package/bundled-realms/pretui/components/descriptions.md +73 -0
  219. package/bundled-realms/pretui/components/descriptions.usage.gts +123 -0
  220. package/bundled-realms/pretui/components/dialog.gts +153 -0
  221. package/bundled-realms/pretui/components/dialog.md +60 -0
  222. package/bundled-realms/pretui/components/dialog.usage.gts +86 -0
  223. package/bundled-realms/pretui/components/diff-block.gts +89 -0
  224. package/bundled-realms/pretui/components/diff-block.md +51 -0
  225. package/bundled-realms/pretui/components/diff-block.usage.gts +27 -0
  226. package/bundled-realms/pretui/components/disclosure.gts +2 -0
  227. package/bundled-realms/pretui/components/disclosure.md +45 -0
  228. package/bundled-realms/pretui/components/disclosure.usage.gts +47 -0
  229. package/bundled-realms/pretui/components/divider.gts +75 -0
  230. package/bundled-realms/pretui/components/divider.md +49 -0
  231. package/bundled-realms/pretui/components/divider.usage.gts +98 -0
  232. package/bundled-realms/pretui/components/doc-report.gts +306 -0
  233. package/bundled-realms/pretui/components/doc-report.md +45 -0
  234. package/bundled-realms/pretui/components/doc-report.usage.gts +126 -0
  235. package/bundled-realms/pretui/components/dock.gts +165 -0
  236. package/bundled-realms/pretui/components/dock.md +42 -0
  237. package/bundled-realms/pretui/components/dock.usage.gts +114 -0
  238. package/bundled-realms/pretui/components/drawer.gts +166 -0
  239. package/bundled-realms/pretui/components/drawer.md +66 -0
  240. package/bundled-realms/pretui/components/drawer.usage.gts +111 -0
  241. package/bundled-realms/pretui/components/dropzone.gts +314 -0
  242. package/bundled-realms/pretui/components/dropzone.md +56 -0
  243. package/bundled-realms/pretui/components/dropzone.usage.gts +203 -0
  244. package/bundled-realms/pretui/components/dueling-picklist.gts +991 -0
  245. package/bundled-realms/pretui/components/dueling-picklist.md +67 -0
  246. package/bundled-realms/pretui/components/dueling-picklist.usage.gts +182 -0
  247. package/bundled-realms/pretui/components/dynamic-island.gts +264 -0
  248. package/bundled-realms/pretui/components/dynamic-island.md +45 -0
  249. package/bundled-realms/pretui/components/dynamic-island.usage.gts +195 -0
  250. package/bundled-realms/pretui/components/easing-curve.gts +629 -0
  251. package/bundled-realms/pretui/components/easing-curve.md +46 -0
  252. package/bundled-realms/pretui/components/easing-curve.usage.gts +122 -0
  253. package/bundled-realms/pretui/components/edit-in-place.gts +559 -0
  254. package/bundled-realms/pretui/components/edit-in-place.md +63 -0
  255. package/bundled-realms/pretui/components/edit-in-place.usage.gts +209 -0
  256. package/bundled-realms/pretui/components/editable.gts +299 -0
  257. package/bundled-realms/pretui/components/editable.md +79 -0
  258. package/bundled-realms/pretui/components/editable.usage.gts +68 -0
  259. package/bundled-realms/pretui/components/email-input.gts +83 -0
  260. package/bundled-realms/pretui/components/email-input.md +52 -0
  261. package/bundled-realms/pretui/components/email-input.usage.gts +90 -0
  262. package/bundled-realms/pretui/components/emoji-button.gts +162 -0
  263. package/bundled-realms/pretui/components/emoji-button.md +46 -0
  264. package/bundled-realms/pretui/components/emoji-button.usage.gts +174 -0
  265. package/bundled-realms/pretui/components/emoji-picker.gts +1396 -0
  266. package/bundled-realms/pretui/components/emoji-picker.md +53 -0
  267. package/bundled-realms/pretui/components/emoji-picker.usage.gts +235 -0
  268. package/bundled-realms/pretui/components/empty-state.gts +162 -0
  269. package/bundled-realms/pretui/components/empty-state.md +63 -0
  270. package/bundled-realms/pretui/components/empty-state.usage.gts +113 -0
  271. package/bundled-realms/pretui/components/empty.gts +2 -0
  272. package/bundled-realms/pretui/components/empty.md +43 -0
  273. package/bundled-realms/pretui/components/empty.usage.gts +33 -0
  274. package/bundled-realms/pretui/components/entity-display.gts +126 -0
  275. package/bundled-realms/pretui/components/entity-display.md +50 -0
  276. package/bundled-realms/pretui/components/error-summary.gts +321 -0
  277. package/bundled-realms/pretui/components/error-summary.md +60 -0
  278. package/bundled-realms/pretui/components/error-summary.usage.gts +155 -0
  279. package/bundled-realms/pretui/components/expression-builder.gts +1211 -0
  280. package/bundled-realms/pretui/components/expression-builder.md +60 -0
  281. package/bundled-realms/pretui/components/expression-builder.usage.gts +246 -0
  282. package/bundled-realms/pretui/components/fab.gts +2 -0
  283. package/bundled-realms/pretui/components/fab.md +38 -0
  284. package/bundled-realms/pretui/components/fab.usage.gts +38 -0
  285. package/bundled-realms/pretui/components/feature-voting.gts +365 -0
  286. package/bundled-realms/pretui/components/feature-voting.md +44 -0
  287. package/bundled-realms/pretui/components/feature-voting.usage.gts +114 -0
  288. package/bundled-realms/pretui/components/feed.gts +244 -0
  289. package/bundled-realms/pretui/components/feed.md +56 -0
  290. package/bundled-realms/pretui/components/feed.usage.gts +250 -0
  291. package/bundled-realms/pretui/components/field-error.gts +127 -0
  292. package/bundled-realms/pretui/components/field-error.md +60 -0
  293. package/bundled-realms/pretui/components/field-error.usage.gts +146 -0
  294. package/bundled-realms/pretui/components/field.gts +185 -0
  295. package/bundled-realms/pretui/components/field.md +60 -0
  296. package/bundled-realms/pretui/components/field.usage.gts +73 -0
  297. package/bundled-realms/pretui/components/fieldset.gts +124 -0
  298. package/bundled-realms/pretui/components/fieldset.md +65 -0
  299. package/bundled-realms/pretui/components/fieldset.usage.gts +105 -0
  300. package/bundled-realms/pretui/components/file-trigger.gts +185 -0
  301. package/bundled-realms/pretui/components/file-trigger.md +53 -0
  302. package/bundled-realms/pretui/components/file-trigger.usage.gts +121 -0
  303. package/bundled-realms/pretui/components/file-upload.gts +353 -0
  304. package/bundled-realms/pretui/components/file-upload.md +63 -0
  305. package/bundled-realms/pretui/components/file-upload.usage.gts +64 -0
  306. package/bundled-realms/pretui/components/filmstrip.gts +465 -0
  307. package/bundled-realms/pretui/components/filmstrip.md +53 -0
  308. package/bundled-realms/pretui/components/filmstrip.usage.gts +115 -0
  309. package/bundled-realms/pretui/components/filter-chips.gts +236 -0
  310. package/bundled-realms/pretui/components/filter-chips.md +58 -0
  311. package/bundled-realms/pretui/components/filter-chips.usage.gts +102 -0
  312. package/bundled-realms/pretui/components/filter-set.gts +293 -0
  313. package/bundled-realms/pretui/components/filter-set.md +60 -0
  314. package/bundled-realms/pretui/components/filter-set.usage.gts +145 -0
  315. package/bundled-realms/pretui/components/float-button.gts +339 -0
  316. package/bundled-realms/pretui/components/float-button.md +69 -0
  317. package/bundled-realms/pretui/components/float-button.usage.gts +134 -0
  318. package/bundled-realms/pretui/components/fold.gts +86 -0
  319. package/bundled-realms/pretui/components/fold.md +54 -0
  320. package/bundled-realms/pretui/components/fold.usage.gts +19 -0
  321. package/bundled-realms/pretui/components/form-field.gts +609 -0
  322. package/bundled-realms/pretui/components/form-field.md +77 -0
  323. package/bundled-realms/pretui/components/form-field.usage.gts +279 -0
  324. package/bundled-realms/pretui/components/form-footer.gts +246 -0
  325. package/bundled-realms/pretui/components/form-footer.md +59 -0
  326. package/bundled-realms/pretui/components/form-footer.usage.gts +217 -0
  327. package/bundled-realms/pretui/components/form-layout.gts +130 -0
  328. package/bundled-realms/pretui/components/form-layout.md +52 -0
  329. package/bundled-realms/pretui/components/form-layout.usage.gts +200 -0
  330. package/bundled-realms/pretui/components/form-section.gts +434 -0
  331. package/bundled-realms/pretui/components/form-section.md +67 -0
  332. package/bundled-realms/pretui/components/form-section.usage.gts +402 -0
  333. package/bundled-realms/pretui/components/form.gts +315 -0
  334. package/bundled-realms/pretui/components/form.md +82 -0
  335. package/bundled-realms/pretui/components/form.usage.gts +306 -0
  336. package/bundled-realms/pretui/components/format-bytes.gts +212 -0
  337. package/bundled-realms/pretui/components/format-bytes.md +47 -0
  338. package/bundled-realms/pretui/components/format-bytes.usage.gts +274 -0
  339. package/bundled-realms/pretui/components/format-date.gts +249 -0
  340. package/bundled-realms/pretui/components/format-date.md +55 -0
  341. package/bundled-realms/pretui/components/format-date.usage.gts +245 -0
  342. package/bundled-realms/pretui/components/format-number.gts +138 -0
  343. package/bundled-realms/pretui/components/format-number.md +51 -0
  344. package/bundled-realms/pretui/components/format-number.usage.gts +261 -0
  345. package/bundled-realms/pretui/components/formatted-value.gts +65 -0
  346. package/bundled-realms/pretui/components/freestyle-usage.gts +311 -0
  347. package/bundled-realms/pretui/components/freestyle-usage.md +49 -0
  348. package/bundled-realms/pretui/components/gallery.gts +819 -0
  349. package/bundled-realms/pretui/components/gallery.md +65 -0
  350. package/bundled-realms/pretui/components/gallery.usage.gts +212 -0
  351. package/bundled-realms/pretui/components/gradient-editor.gts +682 -0
  352. package/bundled-realms/pretui/components/gradient-editor.md +43 -0
  353. package/bundled-realms/pretui/components/gradient-editor.usage.gts +69 -0
  354. package/bundled-realms/pretui/components/graph-layout.md +54 -0
  355. package/bundled-realms/pretui/components/graph-layout.usage.gts +343 -0
  356. package/bundled-realms/pretui/components/graph-outline.gts +553 -0
  357. package/bundled-realms/pretui/components/graph-outline.md +50 -0
  358. package/bundled-realms/pretui/components/graph-outline.usage.gts +88 -0
  359. package/bundled-realms/pretui/components/grid.gts +68 -0
  360. package/bundled-realms/pretui/components/grid.md +54 -0
  361. package/bundled-realms/pretui/components/grid.usage.gts +144 -0
  362. package/bundled-realms/pretui/components/handle.gts +192 -0
  363. package/bundled-realms/pretui/components/handle.md +55 -0
  364. package/bundled-realms/pretui/components/handle.usage.gts +174 -0
  365. package/bundled-realms/pretui/components/hero-split.gts +307 -0
  366. package/bundled-realms/pretui/components/hero-split.md +50 -0
  367. package/bundled-realms/pretui/components/hero-split.usage.gts +200 -0
  368. package/bundled-realms/pretui/components/hover-actions.gts +485 -0
  369. package/bundled-realms/pretui/components/hover-actions.md +55 -0
  370. package/bundled-realms/pretui/components/hover-actions.usage.gts +224 -0
  371. package/bundled-realms/pretui/components/hover-card.gts +347 -0
  372. package/bundled-realms/pretui/components/hover-card.md +72 -0
  373. package/bundled-realms/pretui/components/hover-card.usage.gts +174 -0
  374. package/bundled-realms/pretui/components/hover-video-player.gts +315 -0
  375. package/bundled-realms/pretui/components/hover-video-player.md +57 -0
  376. package/bundled-realms/pretui/components/hover-video-player.usage.gts +152 -0
  377. package/bundled-realms/pretui/components/icon-button.examples.gts +69 -0
  378. package/bundled-realms/pretui/components/icon-button.gts +153 -0
  379. package/bundled-realms/pretui/components/icon-button.md +72 -0
  380. package/bundled-realms/pretui/components/icon-button.usage.gts +208 -0
  381. package/bundled-realms/pretui/components/image-cropper.gts +693 -0
  382. package/bundled-realms/pretui/components/image-cropper.md +52 -0
  383. package/bundled-realms/pretui/components/image-cropper.usage.gts +108 -0
  384. package/bundled-realms/pretui/components/image-frame.gts +91 -0
  385. package/bundled-realms/pretui/components/image-frame.md +42 -0
  386. package/bundled-realms/pretui/components/image-frame.usage.gts +28 -0
  387. package/bundled-realms/pretui/components/image.gts +326 -0
  388. package/bundled-realms/pretui/components/image.md +71 -0
  389. package/bundled-realms/pretui/components/image.usage.gts +126 -0
  390. package/bundled-realms/pretui/components/in-view.gts +245 -0
  391. package/bundled-realms/pretui/components/in-view.md +53 -0
  392. package/bundled-realms/pretui/components/in-view.usage.gts +264 -0
  393. package/bundled-realms/pretui/components/indicator.gts +137 -0
  394. package/bundled-realms/pretui/components/indicator.md +60 -0
  395. package/bundled-realms/pretui/components/indicator.usage.gts +66 -0
  396. package/bundled-realms/pretui/components/infinite-scroll.gts +163 -0
  397. package/bundled-realms/pretui/components/infinite-scroll.md +54 -0
  398. package/bundled-realms/pretui/components/infinite-scroll.usage.gts +73 -0
  399. package/bundled-realms/pretui/components/input-group.gts +264 -0
  400. package/bundled-realms/pretui/components/input-group.md +55 -0
  401. package/bundled-realms/pretui/components/input-group.usage.gts +283 -0
  402. package/bundled-realms/pretui/components/input.examples.gts +61 -0
  403. package/bundled-realms/pretui/components/input.gts +202 -0
  404. package/bundled-realms/pretui/components/input.md +67 -0
  405. package/bundled-realms/pretui/components/input.usage.gts +208 -0
  406. package/bundled-realms/pretui/components/interactive-input.gts +343 -0
  407. package/bundled-realms/pretui/components/interactive-input.md +45 -0
  408. package/bundled-realms/pretui/components/interactive-input.usage.gts +98 -0
  409. package/bundled-realms/pretui/components/item.gts +218 -0
  410. package/bundled-realms/pretui/components/item.md +66 -0
  411. package/bundled-realms/pretui/components/item.usage.gts +121 -0
  412. package/bundled-realms/pretui/components/joystick.gts +381 -0
  413. package/bundled-realms/pretui/components/joystick.md +52 -0
  414. package/bundled-realms/pretui/components/joystick.usage.gts +140 -0
  415. package/bundled-realms/pretui/components/json-editor.gts +1016 -0
  416. package/bundled-realms/pretui/components/json-editor.md +51 -0
  417. package/bundled-realms/pretui/components/json-editor.usage.gts +230 -0
  418. package/bundled-realms/pretui/components/json-tree.gts +596 -0
  419. package/bundled-realms/pretui/components/json-tree.md +52 -0
  420. package/bundled-realms/pretui/components/json-tree.usage.gts +217 -0
  421. package/bundled-realms/pretui/components/jump-chip.gts +230 -0
  422. package/bundled-realms/pretui/components/jump-chip.md +44 -0
  423. package/bundled-realms/pretui/components/jump-chip.usage.gts +151 -0
  424. package/bundled-realms/pretui/components/kbd.gts +60 -0
  425. package/bundled-realms/pretui/components/kbd.md +50 -0
  426. package/bundled-realms/pretui/components/kbd.usage.gts +98 -0
  427. package/bundled-realms/pretui/components/key-value.gts +150 -0
  428. package/bundled-realms/pretui/components/key-value.md +81 -0
  429. package/bundled-realms/pretui/components/key-value.usage.gts +125 -0
  430. package/bundled-realms/pretui/components/known-date.gts +770 -0
  431. package/bundled-realms/pretui/components/known-date.md +56 -0
  432. package/bundled-realms/pretui/components/known-date.usage.gts +192 -0
  433. package/bundled-realms/pretui/components/label.gts +60 -0
  434. package/bundled-realms/pretui/components/label.md +56 -0
  435. package/bundled-realms/pretui/components/label.usage.gts +63 -0
  436. package/bundled-realms/pretui/components/layer-manager.gts +1884 -0
  437. package/bundled-realms/pretui/components/layer-manager.md +59 -0
  438. package/bundled-realms/pretui/components/layer-manager.usage.gts +233 -0
  439. package/bundled-realms/pretui/components/lightbox.gts +461 -0
  440. package/bundled-realms/pretui/components/lightbox.md +57 -0
  441. package/bundled-realms/pretui/components/lightbox.usage.gts +180 -0
  442. package/bundled-realms/pretui/components/line-grid.examples.gts +156 -0
  443. package/bundled-realms/pretui/components/line-grid.gts +523 -0
  444. package/bundled-realms/pretui/components/line-grid.md +55 -0
  445. package/bundled-realms/pretui/components/line-grid.usage.gts +181 -0
  446. package/bundled-realms/pretui/components/list.gts +679 -0
  447. package/bundled-realms/pretui/components/list.md +90 -0
  448. package/bundled-realms/pretui/components/list.usage.gts +203 -0
  449. package/bundled-realms/pretui/components/loader.gts +2 -0
  450. package/bundled-realms/pretui/components/loader.md +33 -0
  451. package/bundled-realms/pretui/components/loader.usage.gts +35 -0
  452. package/bundled-realms/pretui/components/loading-overlay.gts +120 -0
  453. package/bundled-realms/pretui/components/loading-overlay.md +68 -0
  454. package/bundled-realms/pretui/components/loading-overlay.usage.gts +102 -0
  455. package/bundled-realms/pretui/components/loading-state.gts +124 -0
  456. package/bundled-realms/pretui/components/loading-state.md +48 -0
  457. package/bundled-realms/pretui/components/loading-state.usage.gts +16 -0
  458. package/bundled-realms/pretui/components/lookup.gts +451 -0
  459. package/bundled-realms/pretui/components/lookup.md +59 -0
  460. package/bundled-realms/pretui/components/lookup.usage.gts +235 -0
  461. package/bundled-realms/pretui/components/magnetic.gts +158 -0
  462. package/bundled-realms/pretui/components/magnetic.md +48 -0
  463. package/bundled-realms/pretui/components/magnetic.usage.gts +125 -0
  464. package/bundled-realms/pretui/components/marquee.gts +141 -0
  465. package/bundled-realms/pretui/components/marquee.md +43 -0
  466. package/bundled-realms/pretui/components/marquee.usage.gts +116 -0
  467. package/bundled-realms/pretui/components/masonry.gts +95 -0
  468. package/bundled-realms/pretui/components/masonry.md +59 -0
  469. package/bundled-realms/pretui/components/masonry.usage.gts +238 -0
  470. package/bundled-realms/pretui/components/media-inspector.gts +145 -0
  471. package/bundled-realms/pretui/components/media-inspector.md +46 -0
  472. package/bundled-realms/pretui/components/media-inspector.usage.gts +83 -0
  473. package/bundled-realms/pretui/components/media-player.gts +1133 -0
  474. package/bundled-realms/pretui/components/media-player.md +74 -0
  475. package/bundled-realms/pretui/components/media-player.usage.gts +265 -0
  476. package/bundled-realms/pretui/components/media-viewer.gts +136 -0
  477. package/bundled-realms/pretui/components/media-viewer.md +47 -0
  478. package/bundled-realms/pretui/components/media-viewer.usage.gts +70 -0
  479. package/bundled-realms/pretui/components/mentions.gts +340 -0
  480. package/bundled-realms/pretui/components/mentions.md +65 -0
  481. package/bundled-realms/pretui/components/mentions.usage.gts +73 -0
  482. package/bundled-realms/pretui/components/menu-panel.gts +367 -0
  483. package/bundled-realms/pretui/components/menu.gts +652 -0
  484. package/bundled-realms/pretui/components/menu.md +69 -0
  485. package/bundled-realms/pretui/components/menu.usage.gts +116 -0
  486. package/bundled-realms/pretui/components/menubar.gts +1200 -0
  487. package/bundled-realms/pretui/components/menubar.md +49 -0
  488. package/bundled-realms/pretui/components/menubar.usage.gts +220 -0
  489. package/bundled-realms/pretui/components/meter.gts +113 -0
  490. package/bundled-realms/pretui/components/meter.md +50 -0
  491. package/bundled-realms/pretui/components/meter.usage.gts +50 -0
  492. package/bundled-realms/pretui/components/modal.gts +2 -0
  493. package/bundled-realms/pretui/components/modal.md +41 -0
  494. package/bundled-realms/pretui/components/modal.usage.gts +50 -0
  495. package/bundled-realms/pretui/components/model-viewer.gts +658 -0
  496. package/bundled-realms/pretui/components/model-viewer.md +57 -0
  497. package/bundled-realms/pretui/components/model-viewer.usage.gts +123 -0
  498. package/bundled-realms/pretui/components/money-input.gts +66 -0
  499. package/bundled-realms/pretui/components/money-input.md +43 -0
  500. package/bundled-realms/pretui/components/money-input.usage.gts +293 -0
  501. package/bundled-realms/pretui/components/morphing-dialog.gts +173 -0
  502. package/bundled-realms/pretui/components/morphing-dialog.md +46 -0
  503. package/bundled-realms/pretui/components/morphing-dialog.usage.gts +168 -0
  504. package/bundled-realms/pretui/components/morphing-popover.gts +245 -0
  505. package/bundled-realms/pretui/components/morphing-popover.md +47 -0
  506. package/bundled-realms/pretui/components/morphing-popover.usage.gts +176 -0
  507. package/bundled-realms/pretui/components/multi-select.gts +392 -0
  508. package/bundled-realms/pretui/components/multi-select.md +57 -0
  509. package/bundled-realms/pretui/components/multi-select.usage.gts +97 -0
  510. package/bundled-realms/pretui/components/native-select.gts +212 -0
  511. package/bundled-realms/pretui/components/native-select.md +77 -0
  512. package/bundled-realms/pretui/components/native-select.usage.gts +109 -0
  513. package/bundled-realms/pretui/components/navigation-menu.gts +351 -0
  514. package/bundled-realms/pretui/components/navigation-menu.md +65 -0
  515. package/bundled-realms/pretui/components/navigation-menu.usage.gts +61 -0
  516. package/bundled-realms/pretui/components/node-canvas.gts +1174 -0
  517. package/bundled-realms/pretui/components/node-canvas.md +57 -0
  518. package/bundled-realms/pretui/components/node-canvas.usage.gts +548 -0
  519. package/bundled-realms/pretui/components/node-card.gts +181 -0
  520. package/bundled-realms/pretui/components/node-card.md +53 -0
  521. package/bundled-realms/pretui/components/node-card.usage.gts +156 -0
  522. package/bundled-realms/pretui/components/notification.gts +242 -0
  523. package/bundled-realms/pretui/components/notification.md +69 -0
  524. package/bundled-realms/pretui/components/notification.usage.gts +125 -0
  525. package/bundled-realms/pretui/components/number-input.gts +191 -0
  526. package/bundled-realms/pretui/components/number-input.md +54 -0
  527. package/bundled-realms/pretui/components/number-input.usage.gts +132 -0
  528. package/bundled-realms/pretui/components/odometer.gts +349 -0
  529. package/bundled-realms/pretui/components/odometer.md +55 -0
  530. package/bundled-realms/pretui/components/odometer.usage.gts +258 -0
  531. package/bundled-realms/pretui/components/onboarding.gts +298 -0
  532. package/bundled-realms/pretui/components/onboarding.md +48 -0
  533. package/bundled-realms/pretui/components/onboarding.usage.gts +155 -0
  534. package/bundled-realms/pretui/components/origin-grid.gts +486 -0
  535. package/bundled-realms/pretui/components/origin-grid.md +47 -0
  536. package/bundled-realms/pretui/components/origin-grid.usage.gts +87 -0
  537. package/bundled-realms/pretui/components/otp-input.gts +289 -0
  538. package/bundled-realms/pretui/components/otp-input.md +47 -0
  539. package/bundled-realms/pretui/components/otp-input.usage.gts +131 -0
  540. package/bundled-realms/pretui/components/page-scaffold.gts +343 -0
  541. package/bundled-realms/pretui/components/page-scaffold.md +57 -0
  542. package/bundled-realms/pretui/components/page-scaffold.usage.gts +391 -0
  543. package/bundled-realms/pretui/components/pagination.gts +150 -0
  544. package/bundled-realms/pretui/components/pagination.md +56 -0
  545. package/bundled-realms/pretui/components/pagination.usage.gts +33 -0
  546. package/bundled-realms/pretui/components/panel-section.gts +301 -0
  547. package/bundled-realms/pretui/components/panel-section.md +48 -0
  548. package/bundled-realms/pretui/components/panel-section.usage.gts +137 -0
  549. package/bundled-realms/pretui/components/panel.gts +158 -0
  550. package/bundled-realms/pretui/components/panel.md +58 -0
  551. package/bundled-realms/pretui/components/panel.usage.gts +82 -0
  552. package/bundled-realms/pretui/components/password-input.gts +329 -0
  553. package/bundled-realms/pretui/components/password-input.md +58 -0
  554. package/bundled-realms/pretui/components/password-input.usage.gts +156 -0
  555. package/bundled-realms/pretui/components/password-strength.gts +485 -0
  556. package/bundled-realms/pretui/components/password-strength.md +50 -0
  557. package/bundled-realms/pretui/components/password-strength.usage.gts +34 -0
  558. package/bundled-realms/pretui/components/path-text.gts +288 -0
  559. package/bundled-realms/pretui/components/path-text.md +58 -0
  560. package/bundled-realms/pretui/components/path-text.usage.gts +239 -0
  561. package/bundled-realms/pretui/components/period-input.gts +1100 -0
  562. package/bundled-realms/pretui/components/period-input.md +54 -0
  563. package/bundled-realms/pretui/components/period-input.usage.gts +299 -0
  564. package/bundled-realms/pretui/components/phone-input.gts +80 -0
  565. package/bundled-realms/pretui/components/phone-input.md +55 -0
  566. package/bundled-realms/pretui/components/phone-input.usage.gts +91 -0
  567. package/bundled-realms/pretui/components/pin-input.gts +2 -0
  568. package/bundled-realms/pretui/components/pin-input.md +45 -0
  569. package/bundled-realms/pretui/components/pin-input.usage.gts +39 -0
  570. package/bundled-realms/pretui/components/pip-scale.gts +717 -0
  571. package/bundled-realms/pretui/components/pip-scale.md +55 -0
  572. package/bundled-realms/pretui/components/pip-scale.usage.gts +318 -0
  573. package/bundled-realms/pretui/components/popconfirm.gts +380 -0
  574. package/bundled-realms/pretui/components/popconfirm.md +78 -0
  575. package/bundled-realms/pretui/components/popconfirm.usage.gts +171 -0
  576. package/bundled-realms/pretui/components/popover.gts +198 -0
  577. package/bundled-realms/pretui/components/popover.md +57 -0
  578. package/bundled-realms/pretui/components/popover.usage.gts +106 -0
  579. package/bundled-realms/pretui/components/popup.gts +85 -0
  580. package/bundled-realms/pretui/components/popup.md +42 -0
  581. package/bundled-realms/pretui/components/popup.usage.gts +23 -0
  582. package/bundled-realms/pretui/components/presence.gts +156 -0
  583. package/bundled-realms/pretui/components/presence.md +55 -0
  584. package/bundled-realms/pretui/components/presence.usage.gts +204 -0
  585. package/bundled-realms/pretui/components/progress-bar.gts +177 -0
  586. package/bundled-realms/pretui/components/progress-bar.md +63 -0
  587. package/bundled-realms/pretui/components/progress-bar.usage.gts +172 -0
  588. package/bundled-realms/pretui/components/progress-radial.gts +67 -0
  589. package/bundled-realms/pretui/components/progress-radial.md +55 -0
  590. package/bundled-realms/pretui/components/progress-radial.usage.gts +76 -0
  591. package/bundled-realms/pretui/components/prompt-library.gts +358 -0
  592. package/bundled-realms/pretui/components/prompt-library.md +45 -0
  593. package/bundled-realms/pretui/components/prompt-library.usage.gts +117 -0
  594. package/bundled-realms/pretui/components/property-row.gts +316 -0
  595. package/bundled-realms/pretui/components/property-row.md +55 -0
  596. package/bundled-realms/pretui/components/property-row.usage.gts +146 -0
  597. package/bundled-realms/pretui/components/property-sheet.gts +133 -0
  598. package/bundled-realms/pretui/components/property-sheet.md +48 -0
  599. package/bundled-realms/pretui/components/property-sheet.usage.gts +132 -0
  600. package/bundled-realms/pretui/components/prose.gts +31 -0
  601. package/bundled-realms/pretui/components/prose.md +57 -0
  602. package/bundled-realms/pretui/components/prose.usage.gts +15 -0
  603. package/bundled-realms/pretui/components/pulsing-border.gts +297 -0
  604. package/bundled-realms/pretui/components/pulsing-border.md +65 -0
  605. package/bundled-realms/pretui/components/pulsing-border.usage.gts +253 -0
  606. package/bundled-realms/pretui/components/qr-code.gts +660 -0
  607. package/bundled-realms/pretui/components/qr-code.md +58 -0
  608. package/bundled-realms/pretui/components/qr-code.usage.gts +224 -0
  609. package/bundled-realms/pretui/components/queued-message.gts +83 -0
  610. package/bundled-realms/pretui/components/queued-message.md +53 -0
  611. package/bundled-realms/pretui/components/queued-message.usage.gts +21 -0
  612. package/bundled-realms/pretui/components/radio-card.gts +88 -0
  613. package/bundled-realms/pretui/components/radio-card.md +72 -0
  614. package/bundled-realms/pretui/components/radio-card.usage.gts +148 -0
  615. package/bundled-realms/pretui/components/radio-group.gts +119 -0
  616. package/bundled-realms/pretui/components/radio-group.md +46 -0
  617. package/bundled-realms/pretui/components/radio-group.usage.gts +80 -0
  618. package/bundled-realms/pretui/components/range-slider.gts +34 -0
  619. package/bundled-realms/pretui/components/range-slider.md +47 -0
  620. package/bundled-realms/pretui/components/range-slider.usage.gts +46 -0
  621. package/bundled-realms/pretui/components/rating.examples.gts +67 -0
  622. package/bundled-realms/pretui/components/rating.gts +266 -0
  623. package/bundled-realms/pretui/components/rating.md +55 -0
  624. package/bundled-realms/pretui/components/rating.usage.gts +96 -0
  625. package/bundled-realms/pretui/components/readiness-panel.gts +856 -0
  626. package/bundled-realms/pretui/components/readiness-panel.md +64 -0
  627. package/bundled-realms/pretui/components/readiness-panel.usage.gts +372 -0
  628. package/bundled-realms/pretui/components/recommendation.gts +316 -0
  629. package/bundled-realms/pretui/components/recommendation.md +49 -0
  630. package/bundled-realms/pretui/components/recommendation.usage.gts +103 -0
  631. package/bundled-realms/pretui/components/record-detail.gts +1170 -0
  632. package/bundled-realms/pretui/components/record-detail.md +63 -0
  633. package/bundled-realms/pretui/components/record-detail.usage.gts +533 -0
  634. package/bundled-realms/pretui/components/record-face.gts +153 -0
  635. package/bundled-realms/pretui/components/record-pill.gts +116 -0
  636. package/bundled-realms/pretui/components/record-pill.md +55 -0
  637. package/bundled-realms/pretui/components/record-pill.usage.gts +108 -0
  638. package/bundled-realms/pretui/components/relative-time.gts +88 -0
  639. package/bundled-realms/pretui/components/relative-time.md +58 -0
  640. package/bundled-realms/pretui/components/relative-time.usage.gts +89 -0
  641. package/bundled-realms/pretui/components/reorder.gts +620 -0
  642. package/bundled-realms/pretui/components/reorder.md +47 -0
  643. package/bundled-realms/pretui/components/reorder.usage.gts +171 -0
  644. package/bundled-realms/pretui/components/resizable.gts +2 -0
  645. package/bundled-realms/pretui/components/resizable.md +37 -0
  646. package/bundled-realms/pretui/components/resizable.usage.gts +53 -0
  647. package/bundled-realms/pretui/components/result-card.gts +68 -0
  648. package/bundled-realms/pretui/components/result-card.md +45 -0
  649. package/bundled-realms/pretui/components/result-card.usage.gts +29 -0
  650. package/bundled-realms/pretui/components/result.gts +204 -0
  651. package/bundled-realms/pretui/components/result.md +67 -0
  652. package/bundled-realms/pretui/components/result.usage.gts +85 -0
  653. package/bundled-realms/pretui/components/rule-row.gts +462 -0
  654. package/bundled-realms/pretui/components/rule-row.md +60 -0
  655. package/bundled-realms/pretui/components/rule-row.usage.gts +157 -0
  656. package/bundled-realms/pretui/components/scroll-area.gts +121 -0
  657. package/bundled-realms/pretui/components/scroll-area.md +59 -0
  658. package/bundled-realms/pretui/components/scroll-area.usage.gts +175 -0
  659. package/bundled-realms/pretui/components/scroll-progress.gts +222 -0
  660. package/bundled-realms/pretui/components/scroll-progress.md +48 -0
  661. package/bundled-realms/pretui/components/scroll-progress.usage.gts +162 -0
  662. package/bundled-realms/pretui/components/scroller.gts +323 -0
  663. package/bundled-realms/pretui/components/scroller.md +44 -0
  664. package/bundled-realms/pretui/components/scroller.usage.gts +184 -0
  665. package/bundled-realms/pretui/components/scrub-input.gts +691 -0
  666. package/bundled-realms/pretui/components/scrub-input.md +61 -0
  667. package/bundled-realms/pretui/components/scrub-input.usage.gts +275 -0
  668. package/bundled-realms/pretui/components/search-input.gts +141 -0
  669. package/bundled-realms/pretui/components/search-input.md +56 -0
  670. package/bundled-realms/pretui/components/search-input.usage.gts +91 -0
  671. package/bundled-realms/pretui/components/segmented-control.gts +198 -0
  672. package/bundled-realms/pretui/components/segmented-control.md +39 -0
  673. package/bundled-realms/pretui/components/segmented-control.usage.gts +66 -0
  674. package/bundled-realms/pretui/components/select.examples.gts +80 -0
  675. package/bundled-realms/pretui/components/select.gts +481 -0
  676. package/bundled-realms/pretui/components/select.md +71 -0
  677. package/bundled-realms/pretui/components/select.usage.gts +109 -0
  678. package/bundled-realms/pretui/components/separator.gts +2 -0
  679. package/bundled-realms/pretui/components/separator.md +36 -0
  680. package/bundled-realms/pretui/components/separator.usage.gts +32 -0
  681. package/bundled-realms/pretui/components/session-prep.gts +164 -0
  682. package/bundled-realms/pretui/components/session-prep.md +48 -0
  683. package/bundled-realms/pretui/components/session-prep.usage.gts +122 -0
  684. package/bundled-realms/pretui/components/sheet-toolbar.gts +130 -0
  685. package/bundled-realms/pretui/components/sheet-toolbar.md +51 -0
  686. package/bundled-realms/pretui/components/sheet-toolbar.usage.gts +151 -0
  687. package/bundled-realms/pretui/components/sheet.gts +1166 -0
  688. package/bundled-realms/pretui/components/sheet.md +78 -0
  689. package/bundled-realms/pretui/components/sheet.usage.gts +318 -0
  690. package/bundled-realms/pretui/components/sidebar.gts +1165 -0
  691. package/bundled-realms/pretui/components/sidebar.md +88 -0
  692. package/bundled-realms/pretui/components/sidebar.usage.gts +360 -0
  693. package/bundled-realms/pretui/components/signature-pad.gts +840 -0
  694. package/bundled-realms/pretui/components/signature-pad.md +57 -0
  695. package/bundled-realms/pretui/components/signature-pad.usage.gts +222 -0
  696. package/bundled-realms/pretui/components/skeleton.gts +46 -0
  697. package/bundled-realms/pretui/components/skeleton.md +56 -0
  698. package/bundled-realms/pretui/components/skeleton.usage.gts +56 -0
  699. package/bundled-realms/pretui/components/skip-link.gts +65 -0
  700. package/bundled-realms/pretui/components/skip-link.md +49 -0
  701. package/bundled-realms/pretui/components/skip-link.usage.gts +47 -0
  702. package/bundled-realms/pretui/components/slide-over.gts +2 -0
  703. package/bundled-realms/pretui/components/slide-over.md +41 -0
  704. package/bundled-realms/pretui/components/slide-over.usage.gts +50 -0
  705. package/bundled-realms/pretui/components/slider.examples.gts +61 -0
  706. package/bundled-realms/pretui/components/slider.gts +331 -0
  707. package/bundled-realms/pretui/components/slider.md +59 -0
  708. package/bundled-realms/pretui/components/slider.usage.gts +99 -0
  709. package/bundled-realms/pretui/components/sliding-highlight.gts +249 -0
  710. package/bundled-realms/pretui/components/sliding-highlight.md +58 -0
  711. package/bundled-realms/pretui/components/sliding-highlight.usage.gts +184 -0
  712. package/bundled-realms/pretui/components/snackbar.gts +2 -0
  713. package/bundled-realms/pretui/components/snackbar.md +34 -0
  714. package/bundled-realms/pretui/components/snackbar.usage.gts +31 -0
  715. package/bundled-realms/pretui/components/sonner.gts +2 -0
  716. package/bundled-realms/pretui/components/sonner.md +42 -0
  717. package/bundled-realms/pretui/components/sonner.usage.gts +43 -0
  718. package/bundled-realms/pretui/components/sparkline.gts +233 -0
  719. package/bundled-realms/pretui/components/sparkline.md +58 -0
  720. package/bundled-realms/pretui/components/sparkline.usage.gts +74 -0
  721. package/bundled-realms/pretui/components/spinner.gts +57 -0
  722. package/bundled-realms/pretui/components/spinner.md +49 -0
  723. package/bundled-realms/pretui/components/spinner.usage.gts +65 -0
  724. package/bundled-realms/pretui/components/split-panes.gts +69 -0
  725. package/bundled-realms/pretui/components/split-panes.md +54 -0
  726. package/bundled-realms/pretui/components/split-panes.usage.gts +171 -0
  727. package/bundled-realms/pretui/components/spotlight.gts +174 -0
  728. package/bundled-realms/pretui/components/spotlight.md +51 -0
  729. package/bundled-realms/pretui/components/spotlight.usage.gts +197 -0
  730. package/bundled-realms/pretui/components/stack-divider.gts +58 -0
  731. package/bundled-realms/pretui/components/stack.gts +284 -0
  732. package/bundled-realms/pretui/components/stack.md +81 -0
  733. package/bundled-realms/pretui/components/stack.usage.gts +228 -0
  734. package/bundled-realms/pretui/components/stacking-cards.gts +137 -0
  735. package/bundled-realms/pretui/components/stacking-cards.md +40 -0
  736. package/bundled-realms/pretui/components/stacking-cards.usage.gts +124 -0
  737. package/bundled-realms/pretui/components/stat.gts +216 -0
  738. package/bundled-realms/pretui/components/stat.md +57 -0
  739. package/bundled-realms/pretui/components/stat.usage.gts +16 -0
  740. package/bundled-realms/pretui/components/statement-table.examples.gts +185 -0
  741. package/bundled-realms/pretui/components/statement-table.gts +792 -0
  742. package/bundled-realms/pretui/components/statement-table.md +58 -0
  743. package/bundled-realms/pretui/components/statement-table.usage.gts +252 -0
  744. package/bundled-realms/pretui/components/status-chip.gts +37 -0
  745. package/bundled-realms/pretui/components/status-chip.md +48 -0
  746. package/bundled-realms/pretui/components/status-chip.usage.gts +36 -0
  747. package/bundled-realms/pretui/components/step-list.gts +624 -0
  748. package/bundled-realms/pretui/components/step-list.md +50 -0
  749. package/bundled-realms/pretui/components/step-list.usage.gts +166 -0
  750. package/bundled-realms/pretui/components/stepper.gts +201 -0
  751. package/bundled-realms/pretui/components/stepper.md +54 -0
  752. package/bundled-realms/pretui/components/stepper.usage.gts +103 -0
  753. package/bundled-realms/pretui/components/steps-with-media.gts +254 -0
  754. package/bundled-realms/pretui/components/steps-with-media.md +54 -0
  755. package/bundled-realms/pretui/components/steps-with-media.usage.gts +208 -0
  756. package/bundled-realms/pretui/components/streaming-text.gts +77 -0
  757. package/bundled-realms/pretui/components/streaming-text.md +55 -0
  758. package/bundled-realms/pretui/components/streaming-text.usage.gts +15 -0
  759. package/bundled-realms/pretui/components/swatch-chip.gts +104 -0
  760. package/bundled-realms/pretui/components/swatch-chip.md +47 -0
  761. package/bundled-realms/pretui/components/swatch-chip.usage.gts +21 -0
  762. package/bundled-realms/pretui/components/swatch.gts +141 -0
  763. package/bundled-realms/pretui/components/swatch.md +50 -0
  764. package/bundled-realms/pretui/components/swatch.usage.gts +80 -0
  765. package/bundled-realms/pretui/components/switch.examples.gts +53 -0
  766. package/bundled-realms/pretui/components/switch.gts +118 -0
  767. package/bundled-realms/pretui/components/switch.md +62 -0
  768. package/bundled-realms/pretui/components/switch.usage.gts +59 -0
  769. package/bundled-realms/pretui/components/table-of-contents.gts +384 -0
  770. package/bundled-realms/pretui/components/table-of-contents.md +75 -0
  771. package/bundled-realms/pretui/components/table-of-contents.usage.gts +270 -0
  772. package/bundled-realms/pretui/components/table.gts +158 -0
  773. package/bundled-realms/pretui/components/table.md +80 -0
  774. package/bundled-realms/pretui/components/table.usage.gts +44 -0
  775. package/bundled-realms/pretui/components/tabs.gts +117 -0
  776. package/bundled-realms/pretui/components/tabs.md +58 -0
  777. package/bundled-realms/pretui/components/tabs.usage.gts +94 -0
  778. package/bundled-realms/pretui/components/tags-input.gts +52 -0
  779. package/bundled-realms/pretui/components/tags-input.md +48 -0
  780. package/bundled-realms/pretui/components/tags-input.usage.gts +56 -0
  781. package/bundled-realms/pretui/components/task-row.gts +483 -0
  782. package/bundled-realms/pretui/components/task-row.md +48 -0
  783. package/bundled-realms/pretui/components/task-row.usage.gts +119 -0
  784. package/bundled-realms/pretui/components/terminal-animation.gts +355 -0
  785. package/bundled-realms/pretui/components/terminal-animation.md +49 -0
  786. package/bundled-realms/pretui/components/terminal-animation.usage.gts +110 -0
  787. package/bundled-realms/pretui/components/text-effects.gts +339 -0
  788. package/bundled-realms/pretui/components/text-effects.md +49 -0
  789. package/bundled-realms/pretui/components/text-effects.usage.gts +192 -0
  790. package/bundled-realms/pretui/components/text-morph.gts +292 -0
  791. package/bundled-realms/pretui/components/text-morph.md +45 -0
  792. package/bundled-realms/pretui/components/text-morph.usage.gts +117 -0
  793. package/bundled-realms/pretui/components/text-rotate.gts +121 -0
  794. package/bundled-realms/pretui/components/text-rotate.md +44 -0
  795. package/bundled-realms/pretui/components/text-rotate.usage.gts +73 -0
  796. package/bundled-realms/pretui/components/text-scramble.gts +189 -0
  797. package/bundled-realms/pretui/components/text-scramble.md +42 -0
  798. package/bundled-realms/pretui/components/text-scramble.usage.gts +80 -0
  799. package/bundled-realms/pretui/components/text-shimmer.gts +89 -0
  800. package/bundled-realms/pretui/components/text-shimmer.md +42 -0
  801. package/bundled-realms/pretui/components/text-shimmer.usage.gts +69 -0
  802. package/bundled-realms/pretui/components/textarea.gts +112 -0
  803. package/bundled-realms/pretui/components/textarea.md +51 -0
  804. package/bundled-realms/pretui/components/textarea.usage.gts +100 -0
  805. package/bundled-realms/pretui/components/theme-frame.gts +272 -0
  806. package/bundled-realms/pretui/components/theme-frame.md +48 -0
  807. package/bundled-realms/pretui/components/thinking.gts +431 -0
  808. package/bundled-realms/pretui/components/thinking.md +47 -0
  809. package/bundled-realms/pretui/components/thinking.usage.gts +134 -0
  810. package/bundled-realms/pretui/components/tilt.gts +194 -0
  811. package/bundled-realms/pretui/components/tilt.md +50 -0
  812. package/bundled-realms/pretui/components/tilt.usage.gts +174 -0
  813. package/bundled-realms/pretui/components/time-input.gts +583 -0
  814. package/bundled-realms/pretui/components/time-input.md +51 -0
  815. package/bundled-realms/pretui/components/time-input.usage.gts +110 -0
  816. package/bundled-realms/pretui/components/timeline.gts +269 -0
  817. package/bundled-realms/pretui/components/timeline.md +63 -0
  818. package/bundled-realms/pretui/components/timeline.usage.gts +180 -0
  819. package/bundled-realms/pretui/components/toast.gts +85 -0
  820. package/bundled-realms/pretui/components/toast.md +57 -0
  821. package/bundled-realms/pretui/components/toast.usage.gts +18 -0
  822. package/bundled-realms/pretui/components/toaster.gts +808 -0
  823. package/bundled-realms/pretui/components/toaster.md +83 -0
  824. package/bundled-realms/pretui/components/toaster.usage.gts +256 -0
  825. package/bundled-realms/pretui/components/toggle-group.gts +435 -0
  826. package/bundled-realms/pretui/components/toggle-group.md +59 -0
  827. package/bundled-realms/pretui/components/toggle-group.usage.gts +260 -0
  828. package/bundled-realms/pretui/components/toggle-matrix.gts +994 -0
  829. package/bundled-realms/pretui/components/toggle-matrix.md +44 -0
  830. package/bundled-realms/pretui/components/toggle-matrix.usage.gts +243 -0
  831. package/bundled-realms/pretui/components/toggle.gts +235 -0
  832. package/bundled-realms/pretui/components/toggle.md +59 -0
  833. package/bundled-realms/pretui/components/toggle.usage.gts +244 -0
  834. package/bundled-realms/pretui/components/token-input.gts +483 -0
  835. package/bundled-realms/pretui/components/token-input.md +50 -0
  836. package/bundled-realms/pretui/components/token-input.usage.gts +137 -0
  837. package/bundled-realms/pretui/components/token.gts +197 -0
  838. package/bundled-realms/pretui/components/token.md +63 -0
  839. package/bundled-realms/pretui/components/token.usage.gts +128 -0
  840. package/bundled-realms/pretui/components/toolbar.gts +62 -0
  841. package/bundled-realms/pretui/components/toolbar.md +50 -0
  842. package/bundled-realms/pretui/components/toolbar.usage.gts +78 -0
  843. package/bundled-realms/pretui/components/tooltip.gts +212 -0
  844. package/bundled-realms/pretui/components/tooltip.md +53 -0
  845. package/bundled-realms/pretui/components/tooltip.usage.gts +64 -0
  846. package/bundled-realms/pretui/components/tour.gts +436 -0
  847. package/bundled-realms/pretui/components/tour.md +62 -0
  848. package/bundled-realms/pretui/components/tour.usage.gts +70 -0
  849. package/bundled-realms/pretui/components/transfer.gts +2 -0
  850. package/bundled-realms/pretui/components/transfer.md +39 -0
  851. package/bundled-realms/pretui/components/transfer.usage.gts +52 -0
  852. package/bundled-realms/pretui/components/transmute.gts +103 -0
  853. package/bundled-realms/pretui/components/transmute.md +49 -0
  854. package/bundled-realms/pretui/components/transmute.usage.gts +16 -0
  855. package/bundled-realms/pretui/components/tree-select.gts +596 -0
  856. package/bundled-realms/pretui/components/tree-select.md +70 -0
  857. package/bundled-realms/pretui/components/tree-select.usage.gts +75 -0
  858. package/bundled-realms/pretui/components/tree.gts +532 -0
  859. package/bundled-realms/pretui/components/tree.md +68 -0
  860. package/bundled-realms/pretui/components/tree.usage.gts +278 -0
  861. package/bundled-realms/pretui/components/trim-bar.gts +611 -0
  862. package/bundled-realms/pretui/components/trim-bar.md +48 -0
  863. package/bundled-realms/pretui/components/trim-bar.usage.gts +112 -0
  864. package/bundled-realms/pretui/components/typewriter.gts +122 -0
  865. package/bundled-realms/pretui/components/typewriter.md +45 -0
  866. package/bundled-realms/pretui/components/typewriter.usage.gts +105 -0
  867. package/bundled-realms/pretui/components/typography.gts +379 -0
  868. package/bundled-realms/pretui/components/typography.md +77 -0
  869. package/bundled-realms/pretui/components/typography.usage.gts +52 -0
  870. package/bundled-realms/pretui/components/url-input.gts +130 -0
  871. package/bundled-realms/pretui/components/url-input.md +58 -0
  872. package/bundled-realms/pretui/components/url-input.usage.gts +97 -0
  873. package/bundled-realms/pretui/components/usage-action.gts +16 -0
  874. package/bundled-realms/pretui/components/usage-argument.gts +109 -0
  875. package/bundled-realms/pretui/components/usage-argument.md +44 -0
  876. package/bundled-realms/pretui/components/usage-array.gts +80 -0
  877. package/bundled-realms/pretui/components/usage-array.md +47 -0
  878. package/bundled-realms/pretui/components/usage-bool.gts +62 -0
  879. package/bundled-realms/pretui/components/usage-bool.md +47 -0
  880. package/bundled-realms/pretui/components/usage-component-arg.gts +16 -0
  881. package/bundled-realms/pretui/components/usage-css-variable.gts +56 -0
  882. package/bundled-realms/pretui/components/usage-css-variable.md +48 -0
  883. package/bundled-realms/pretui/components/usage-number.gts +127 -0
  884. package/bundled-realms/pretui/components/usage-number.md +48 -0
  885. package/bundled-realms/pretui/components/usage-object.gts +58 -0
  886. package/bundled-realms/pretui/components/usage-object.md +48 -0
  887. package/bundled-realms/pretui/components/usage-string.gts +89 -0
  888. package/bundled-realms/pretui/components/usage-string.md +46 -0
  889. package/bundled-realms/pretui/components/usage-yield.gts +16 -0
  890. package/bundled-realms/pretui/components/value-input.gts +265 -0
  891. package/bundled-realms/pretui/components/value-input.md +49 -0
  892. package/bundled-realms/pretui/components/value-input.usage.gts +176 -0
  893. package/bundled-realms/pretui/components/video-player.gts +80 -0
  894. package/bundled-realms/pretui/components/video-player.md +46 -0
  895. package/bundled-realms/pretui/components/video-player.usage.gts +107 -0
  896. package/bundled-realms/pretui/components/viewport.gts +520 -0
  897. package/bundled-realms/pretui/components/viewport.md +55 -0
  898. package/bundled-realms/pretui/components/visually-hidden.gts +49 -0
  899. package/bundled-realms/pretui/components/visually-hidden.md +47 -0
  900. package/bundled-realms/pretui/components/visually-hidden.usage.gts +27 -0
  901. package/bundled-realms/pretui/components/watermark.gts +141 -0
  902. package/bundled-realms/pretui/components/watermark.md +58 -0
  903. package/bundled-realms/pretui/components/watermark.usage.gts +63 -0
  904. package/bundled-realms/pretui/components/waveform.gts +376 -0
  905. package/bundled-realms/pretui/components/waveform.md +56 -0
  906. package/bundled-realms/pretui/components/waveform.usage.gts +131 -0
  907. package/bundled-realms/pretui/components/wizard.gts +677 -0
  908. package/bundled-realms/pretui/components/wizard.md +58 -0
  909. package/bundled-realms/pretui/components/wizard.usage.gts +188 -0
  910. package/bundled-realms/pretui/components/work-item.gts +207 -0
  911. package/bundled-realms/pretui/components/work-item.md +58 -0
  912. package/bundled-realms/pretui/components/work-item.usage.gts +103 -0
  913. package/bundled-realms/pretui/components/zoomable-frame.gts +541 -0
  914. package/bundled-realms/pretui/components/zoomable-frame.md +50 -0
  915. package/bundled-realms/pretui/components/zoomable-frame.usage.gts +175 -0
  916. package/bundled-realms/pretui/cropper/LICENSE +21 -0
  917. package/bundled-realms/pretui/cropper/README.md +92 -0
  918. package/bundled-realms/pretui/cropper/index.js +81 -0
  919. package/bundled-realms/pretui/data-component.gts +1161 -0
  920. package/bundled-realms/pretui/demo-design-layers.gts +112 -0
  921. package/bundled-realms/pretui/demo-design-tools.gts +463 -0
  922. package/bundled-realms/pretui/demo-design-value.gts +9 -0
  923. package/bundled-realms/pretui/demo-forms-core.gts +82 -0
  924. package/bundled-realms/pretui/demo-forms-expression.gts +76 -0
  925. package/bundled-realms/pretui/demo-forms-record.gts +16 -0
  926. package/bundled-realms/pretui/demo-foundations-more.gts +10 -0
  927. package/bundled-realms/pretui/demo-foundations.gts +8 -0
  928. package/bundled-realms/pretui/demo-ink-feedback.gts +12 -0
  929. package/bundled-realms/pretui/demo-json.gts +17 -0
  930. package/bundled-realms/pretui/demo-locations.ts +103 -0
  931. package/bundled-realms/pretui/demo-media-library.gts +101 -0
  932. package/bundled-realms/pretui/demo-media.gts +6 -0
  933. package/bundled-realms/pretui/demo-menu.gts +182 -0
  934. package/bundled-realms/pretui/demo-motion-core.gts +4 -0
  935. package/bundled-realms/pretui/demo-motion-pointer.gts +21 -0
  936. package/bundled-realms/pretui/demo-reading-format.gts +10 -0
  937. package/bundled-realms/pretui/demo-structure-dashboard.gts +212 -0
  938. package/bundled-realms/pretui/demo-structure-data.gts +4 -0
  939. package/bundled-realms/pretui/demo-structure-scroll.gts +19 -0
  940. package/bundled-realms/pretui/demo-structure.gts +21 -0
  941. package/bundled-realms/pretui/demo-surfaces-grid.gts +104 -0
  942. package/bundled-realms/pretui/demo-texture.gts +21 -0
  943. package/bundled-realms/pretui/docs/catalog-taxonomy.md +200 -0
  944. package/bundled-realms/pretui/docs/composites.md +13 -0
  945. package/bundled-realms/pretui/docs/reading.md +12 -0
  946. package/bundled-realms/pretui/docs/structure.md +8 -0
  947. package/bundled-realms/pretui/emoji-data/LICENSE +202 -0
  948. package/bundled-realms/pretui/emoji-data/LICENSE.data +202 -0
  949. package/bundled-realms/pretui/emoji-data/LICENSE.emojibase +21 -0
  950. package/bundled-realms/pretui/emoji-data/LICENSE.unicode +39 -0
  951. package/bundled-realms/pretui/emoji-data/README.md +360 -0
  952. package/bundled-realms/pretui/emoji-data/data.ts +45 -0
  953. package/bundled-realms/pretui/emoji-data/engine.ts +465 -0
  954. package/bundled-realms/pretui/example-gallery.gts +129 -0
  955. package/bundled-realms/pretui/examples-kit.gts +228 -0
  956. package/bundled-realms/pretui/examples-listing.gts +51 -0
  957. package/bundled-realms/pretui/examples.gts +584 -0
  958. package/bundled-realms/pretui/focus.gts +459 -0
  959. package/bundled-realms/pretui/gridstack/LICENSE +21 -0
  960. package/bundled-realms/pretui/gridstack/README.md +103 -0
  961. package/bundled-realms/pretui/gridstack/index.js +169 -0
  962. package/bundled-realms/pretui/icon-registry.gts +753 -0
  963. package/bundled-realms/pretui/index.json +11 -0
  964. package/bundled-realms/pretui/internal/agentic-chat.gts +101 -0
  965. package/bundled-realms/pretui/internal/blocks.gts +35 -0
  966. package/bundled-realms/pretui/internal/choice-cards.gts +258 -0
  967. package/bundled-realms/pretui/internal/color-fixtures.gts +3 -0
  968. package/bundled-realms/pretui/internal/composites-fixtures.gts +16 -0
  969. package/bundled-realms/pretui/internal/corner-mark.gts +83 -0
  970. package/bundled-realms/pretui/internal/design-tools.gts +881 -0
  971. package/bundled-realms/pretui/internal/extras.gts +31 -0
  972. package/bundled-realms/pretui/internal/feedback.gts +27 -0
  973. package/bundled-realms/pretui/internal/file-intake-fixtures.gts +17 -0
  974. package/bundled-realms/pretui/internal/file-intake.gts +193 -0
  975. package/bundled-realms/pretui/internal/forms-core.gts +394 -0
  976. package/bundled-realms/pretui/internal/forms-expression.gts +837 -0
  977. package/bundled-realms/pretui/internal/forms-picker-fixtures.gts +10 -0
  978. package/bundled-realms/pretui/internal/forms-picker.gts +129 -0
  979. package/bundled-realms/pretui/internal/forms-record.gts +173 -0
  980. package/bundled-realms/pretui/internal/freestyle.gts +117 -0
  981. package/bundled-realms/pretui/internal/ink.gts +25 -0
  982. package/bundled-realms/pretui/internal/json-tree.gts +526 -0
  983. package/bundled-realms/pretui/internal/keep-style.gts +168 -0
  984. package/bundled-realms/pretui/internal/media-assets.gts +10 -0
  985. package/bundled-realms/pretui/internal/media-library.gts +14 -0
  986. package/bundled-realms/pretui/internal/media-viewer.gts +322 -0
  987. package/bundled-realms/pretui/internal/media-wave.gts +270 -0
  988. package/bundled-realms/pretui/internal/menu.gts +522 -0
  989. package/bundled-realms/pretui/internal/money-fixtures.gts +6 -0
  990. package/bundled-realms/pretui/internal/money.gts +477 -0
  991. package/bundled-realms/pretui/internal/motion-core.gts +54 -0
  992. package/bundled-realms/pretui/internal/motion-pointer.gts +234 -0
  993. package/bundled-realms/pretui/internal/overlay-confirm.gts +35 -0
  994. package/bundled-realms/pretui/internal/overlay.gts +291 -0
  995. package/bundled-realms/pretui/internal/reading-extras.gts +56 -0
  996. package/bundled-realms/pretui/internal/reading-format.gts +232 -0
  997. package/bundled-realms/pretui/internal/reading-listing.gts +232 -0
  998. package/bundled-realms/pretui/internal/structure-chart.gts +414 -0
  999. package/bundled-realms/pretui/internal/structure-dashboard.gts +503 -0
  1000. package/bundled-realms/pretui/internal/structure-flow.gts +48 -0
  1001. package/bundled-realms/pretui/internal/structure-layout-fixtures.gts +36 -0
  1002. package/bundled-realms/pretui/internal/structure-layout.gts +99 -0
  1003. package/bundled-realms/pretui/internal/structure-morph.gts +140 -0
  1004. package/bundled-realms/pretui/internal/structure-scenes.gts +25 -0
  1005. package/bundled-realms/pretui/internal/structure-scroll.gts +72 -0
  1006. package/bundled-realms/pretui/internal/structure-shell-fixtures.gts +25 -0
  1007. package/bundled-realms/pretui/internal/surfaces-canvas-fixtures.gts +5 -0
  1008. package/bundled-realms/pretui/internal/surfaces-canvas.gts +283 -0
  1009. package/bundled-realms/pretui/internal/texture.gts +81 -0
  1010. package/bundled-realms/pretui/internal/toggle-controls-fixtures.gts +7 -0
  1011. package/bundled-realms/pretui/internal/toggle-controls.gts +81 -0
  1012. package/bundled-realms/pretui/json-model.ts +1981 -0
  1013. package/bundled-realms/pretui/media-chrome/LICENSE +19 -0
  1014. package/bundled-realms/pretui/media-chrome/README.md +111 -0
  1015. package/bundled-realms/pretui/media-chrome/index.js +1647 -0
  1016. package/bundled-realms/pretui/media-examples.gts +315 -0
  1017. package/bundled-realms/pretui/model-viewer/LICENSE +202 -0
  1018. package/{LICENSE → bundled-realms/pretui/model-viewer/LICENSE-gainmap-js} +1 -1
  1019. package/bundled-realms/pretui/model-viewer/LICENSE-lit +28 -0
  1020. package/bundled-realms/pretui/model-viewer/LICENSE-three +21 -0
  1021. package/bundled-realms/pretui/model-viewer/NOTICE +67 -0
  1022. package/bundled-realms/pretui/model-viewer/README.md +122 -0
  1023. package/bundled-realms/pretui/model-viewer/index.js +6413 -0
  1024. package/bundled-realms/pretui/package.json +51 -0
  1025. package/bundled-realms/pretui/photoswipe/LICENSE +21 -0
  1026. package/bundled-realms/pretui/photoswipe/README.md +91 -0
  1027. package/bundled-realms/pretui/photoswipe/index.js +149 -0
  1028. package/bundled-realms/pretui/photoswipe/style.ts +465 -0
  1029. package/bundled-realms/pretui/plot/LICENSE +13 -0
  1030. package/bundled-realms/pretui/plot/LICENSE.d3 +13 -0
  1031. package/bundled-realms/pretui/plot/LICENSE.interval-tree-1d +22 -0
  1032. package/bundled-realms/pretui/plot/LICENSE.isoformat +13 -0
  1033. package/bundled-realms/pretui/plot/README.md +35 -0
  1034. package/bundled-realms/pretui/plot/index.d.ts +31 -0
  1035. package/bundled-realms/pretui/plot/index.js +449 -0
  1036. package/bundled-realms/pretui/pretui-component.gts +1336 -0
  1037. package/bundled-realms/pretui/pretui-css.gts +380 -0
  1038. package/bundled-realms/pretui/pretui-primitives.gts +162 -0
  1039. package/bundled-realms/pretui/qrcode/LICENSE +34 -0
  1040. package/bundled-realms/pretui/qrcode/README.md +87 -0
  1041. package/bundled-realms/pretui/qrcode/index.js +35 -0
  1042. package/bundled-realms/pretui/realm.json +16 -0
  1043. package/bundled-realms/pretui/registry.ts +40 -0
  1044. package/bundled-realms/pretui/sigpad/LICENSE +21 -0
  1045. package/bundled-realms/pretui/sigpad/README.md +103 -0
  1046. package/bundled-realms/pretui/sigpad/index.js +30 -0
  1047. package/bundled-realms/pretui/structure-dashboard-css.ts +166 -0
  1048. package/bundled-realms/pretui/surfaces/README.md +37 -0
  1049. package/bundled-realms/pretui/surfaces/canvas/LICENSE.d3 +168 -0
  1050. package/bundled-realms/pretui/surfaces/canvas/LICENSE.xyflow +21 -0
  1051. package/bundled-realms/pretui/surfaces/canvas/index.js +25420 -0
  1052. package/bundled-realms/pretui/surfaces/grid/LICENSE.tanstack +50 -0
  1053. package/bundled-realms/pretui/surfaces/grid/index.js +21478 -0
  1054. package/bundled-realms/pretui/surfaces/layout/index.js +9036 -0
  1055. package/bundled-realms/pretui/surfaces-canvas-css.ts +1640 -0
  1056. package/bundled-realms/pretui/surfaces-canvas-layout.ts +607 -0
  1057. package/bundled-realms/pretui/tsconfig.json +54 -0
  1058. package/bundled-realms/pretui/wavesurfer/LICENSE +29 -0
  1059. package/bundled-realms/pretui/wavesurfer/README.md +85 -0
  1060. package/bundled-realms/pretui/wavesurfer/index.js +184 -0
  1061. package/bundled-realms/pretui/zxcvbn/LICENSE +21 -0
  1062. package/bundled-realms/pretui/zxcvbn/README.md +192 -0
  1063. package/bundled-realms/pretui/zxcvbn/index.d.ts +28 -0
  1064. package/bundled-realms/pretui/zxcvbn/index.js +5931 -0
  1065. package/bundled-test-harness/index.html +1 -1
  1066. package/bundled-test-harness/tests/index.html +1 -1
  1067. package/dist/api.js +1 -1
  1068. package/dist/index.js +33 -33
  1069. package/package.json +1 -1
  1070. package/src/lib/test-engine.ts +14 -4
@@ -0,0 +1,85 @@
1
+ # wavesurfer/ — wavesurfer.js, vendored
2
+
3
+ `index.js` is [wavesurfer.js](https://github.com/katspaugh/wavesurfer.js)
4
+ **7.12.11** plus its **regions** plugin, bundled to a single self-contained ES
5
+ module.
6
+
7
+ ## Provenance
8
+
9
+ | | |
10
+ |---|---|
11
+ | **Source** | **npm**, `wavesurfer.js@7.12.11`. |
12
+ | **Commit SHA** | n/a — built from the published tarball, not a git tree. |
13
+ | **Version** | 7.12.11 (and the regions plugin shipped inside that same package). |
14
+ | **Licence** | **`BSD-3-Clause`**, read from the package's own `LICENSE` file, copied here verbatim as `LICENSE`. Copyright (c) 2012-2023, katspaugh and contributors. |
15
+
16
+ BSD-3 carries **two** clauses that travel with a copy, not one: the copyright
17
+ notice must be retained (as MIT requires), **and** the third clause forbids
18
+ using the names of the copyright holder or contributors to endorse or promote
19
+ derived products. Both are restated in the banner at the top of `index.js`,
20
+ because `--legal-comments=none` strips the originals out of the bundle.
21
+
22
+ ## Exports
23
+
24
+ ```js
25
+ import WaveSurfer, { RegionsPlugin } from './wavesurfer/index.js';
26
+ ```
27
+
28
+ - `default` / `WaveSurfer` — the engine class. `WaveSurfer.create({...})`.
29
+ - `RegionsPlugin` — `RegionsPlugin.create()`, then pass it in `plugins: []`.
30
+
31
+ Built with:
32
+
33
+ esbuild ws.js --bundle --format=esm --minify --line-limit=500 \
34
+ --legal-comments=none --banner:js="<the licence banner>" \
35
+ --outfile=index.js
36
+
37
+ where `ws.js` is:
38
+
39
+ ```js
40
+ export { default } from 'wavesurfer.js';
41
+ export { default as WaveSurfer } from 'wavesurfer.js';
42
+ export { default as RegionsPlugin } from 'wavesurfer.js/dist/plugins/regions.esm.js';
43
+ ```
44
+
45
+ - 57 KB minified, **17 KB gzipped**
46
+ - No bare specifier survives the bundle.
47
+
48
+ ## Five things to know before using it
49
+
50
+ - **Import is DOM-free; `create()` is not.** Evaluating this exact file under
51
+ plain Node succeeds and touches no DOM API (the decisive test — run it
52
+ before trusting any future bundle). `WaveSurfer.create()` needs `document`,
53
+ an `AudioContext` and a real container, so it must be built inside an
54
+ `ember-modifier` and nowhere else.
55
+ - **`destroy()` is mandatory and it is enough.** `wavesurfer.destroy()` aborts
56
+ the in-flight fetch, cancels its single `requestAnimationFrame` playback
57
+ loop, disconnects its ResizeObserver, unsubscribes every emitter and removes
58
+ the media element it created. The rAF ruling is satisfied by calling it from
59
+ the modifier's destructor — which `media-wave.gts` does.
60
+ - **It creates its own `<audio>` unless you hand it one.** Pass
61
+ `media: someAudioElement` to share an element with `MediaPlayer`; otherwise
62
+ wavesurfer owns an element you never see. Either way the engine, not the
63
+ caller, is responsible for tearing it down.
64
+ - **No CSS at all.** wavesurfer paints into a `<canvas>` inside a shadow root
65
+ it creates itself, and its only visual knobs are constructor options
66
+ (`waveColor`, `progressColor`, `cursorColor`, `barWidth`, `height`). There is
67
+ no stylesheet to inline — the PhotoSwipe/Cropper CSS budget does not apply
68
+ here. Because the options are read at construction time, Pretui resolves its
69
+ tokens to concrete colours with `getComputedStyle` in the modifier and
70
+ rebuilds when the theme changes.
71
+ - **`Math.random` and `Date.now` appear in the bundle** (1 and 4 occurrences —
72
+ ids and playback timing). That is fine: the determinism law is about *our*
73
+ module code being evaluated by the indexer, and none of this runs at import.
74
+ Do not copy the pattern into realm source.
75
+
76
+ ## Audited counts in the bundle
77
+
78
+ **1 `requestAnimationFrame`, 6 `setTimeout`, 0 `setInterval`, 4 `Date.now`,
79
+ 1 `Math.random`.** All of them live behind `create()`.
80
+
81
+ ## What is not in here
82
+
83
+ Only the **regions** plugin is bundled. `timeline`, `minimap`, `spectrogram`,
84
+ `hover`, `record` and `zoom` are all excluded; add one to `ws.js` and rebuild if
85
+ a component ever needs it. `Filmstrip` deliberately needs none of them.
@@ -0,0 +1,184 @@
1
+ /*! wavesurfer.js 7.12.11 — SPDX-License-Identifier: BSD-3-Clause — Copyright (c) 2012-2023, katspaugh and contributors. All rights reserved. Redistributions must retain this notice; neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. Full text in ./LICENSE. Includes the regions plugin. */
2
+ function D(h,t,e,i){return new(e||(e=Promise))((function(n,r){function s(o){try{a(i.next(o))}catch(d){r(d)}}function l(o){try{a(i.throw(o))}catch(d){r(d)}}function a(o){var d;o.done?n(o.value):(d=o.value,d instanceof e?d:new e((function(p){p(d)}))).then(s,l)}a((i=i.apply(h,t||[])).next())}))}var A=class{constructor(){this.listeners={}}on(t,e,i){if(this.listeners[t]||(this.listeners[t]=new Set),i?.once){let n=(...r)=>{this.un(t,n),e(...r)};return this.listeners[t].add(n),()=>this.un(t,n)}return this.listeners[t].add(e),()=>this.un(t,e)}un(t,e){var i;(i=this.listeners[t])===null||i===void 0||i.delete(e)}once(t,e){return this.on(t,e,{once:!0})}unAll(){this.listeners={}}emit(t,...e){this.listeners[t]&&this.listeners[t].forEach((i=>i(...e)))}},$={decode:function(h,t){return D(this,void 0,
3
+ void 0,(function*(){let e=new AudioContext({sampleRate:t});try{return yield e.decodeAudioData(h)}finally{e.state!=="closed"&&(yield e.close().catch((()=>{})))}}))},createBuffer:function(h,t){if(!h||h.length===0)throw new Error("channelData must be a non-empty array");if(t<=0)throw new Error("duration must be greater than 0");if(typeof h[0]=="number"&&(h=[h]),!h[0]||h[0].length===0)throw new Error("channelData must contain non-empty channel arrays");(function(i){let n=i[0];if(n.some((r=>r>1||r<-1))){
4
+ let r=n.length,s=0;for(let l=0;l<r;l++){let a=Math.abs(n[l]);a>s&&(s=a)}for(let l of i)for(let a=0;a<r;a++)l[a]/=s}})(h);let e=h.map((i=>i instanceof Float32Array?i:Float32Array.from(i)));return{duration:t,length:e[0].length,sampleRate:e[0].length/t,numberOfChannels:e.length,getChannelData:i=>{let n=e[i];if(!n)throw new Error(`Channel ${i} not found`);return n},copyFromChannel:AudioBuffer.prototype.copyFromChannel,copyToChannel:AudioBuffer.prototype.copyToChannel}}};function rt(h,t){let e=t.xmlns?
5
+ document.createElementNS(t.xmlns,h):document.createElement(h);for(let[i,n]of Object.entries(t))if(i==="children"&&n)for(let[r,s]of Object.entries(n))s instanceof Node?e.appendChild(s):typeof s=="string"?e.appendChild(document.createTextNode(s)):e.appendChild(rt(r,s));else i==="style"?Object.assign(e.style,n):i==="textContent"?e.textContent=n:e.setAttribute(i,n.toString());return e}function et(h,t,e){let i=rt(h,t||{});return e?.appendChild(i),i}function ot(h){return h instanceof HTMLElement||typeof h==
6
+ "object"&&h!==null&&h.nodeType===Node.ELEMENT_NODE&&typeof h.style=="object"}var pt=Object.freeze({__proto__:null,createElement:et,default:et,isHTMLElement:ot}),mt={fetchBlob:function(h,t,e){return D(this,void 0,void 0,(function*(){var i;let n=yield fetch(h,e);if(n.status>=400)throw new Error(`Failed to fetch ${h}: ${n.status} (${n.statusText})`);return(function(r,s,l){D(this,void 0,void 0,(function*(){var a;if(!r.body||!r.headers)return;let o=r.body.getReader(),d=Number(r.headers.get("Content-L\
7
+ ength"))||0,p=0,u=()=>{o.cancel()};if(l){if(l.aborted)return void o.cancel();l.addEventListener("abort",u,{once:!0})}try{for(;;){let m=yield o.read();if(m.done)break;if(p+=((a=m.value)===null||a===void 0?void 0:a.length)||0,d>0){let c=Math.round(p/d*100);s(c)}}}catch(m){if(m instanceof DOMException&&m.name==="AbortError")return;console.warn("Progress tracking error:",m)}finally{l&&l.removeEventListener("abort",u)}}))})(n.clone(),t,(i=e?.signal)!==null&&i!==void 0?i:void 0),n.blob()}))}};function P(h){
8
+ let t=h,e=new Set;return{get value(){return t},set(i){Object.is(t,i)||(t=i,e.forEach((n=>n(t))))},update(i){this.set(i(t))},subscribe:i=>(e.add(i),()=>e.delete(i))}}function z(h,t){let e=P(h());return t.forEach((i=>i.subscribe((()=>{let n=h();Object.is(e.value,n)||e.set(n)})))),{get value(){return e.value},subscribe:i=>e.subscribe(i)}}function _(h,t){let e,i=()=>{e&&(e(),e=void 0),e=h()},n=t.map((r=>r.subscribe(i)));return i(),()=>{e&&(e(),e=void 0),n.forEach((r=>r()))}}var q=class extends A{get isPlayingSignal(){
9
+ return this._isPlaying}get currentTimeSignal(){return this._currentTime}get durationSignal(){return this._duration}get volumeSignal(){return this._volume}get mutedSignal(){return this._muted}get playbackRateSignal(){return this._playbackRate}get seekingSignal(){return this._seeking}constructor(t){super(),this.isExternalMedia=!1,this._ownBlobUrl=null,this.reactiveMediaEventCleanups=[],t.media?(this.media=t.media,this.isExternalMedia=!0):this.media=document.createElement("audio"),this._isPlaying=P(
10
+ !1),this._currentTime=P(0),this._duration=P(0),this._volume=P(this.media.volume),this._muted=P(this.media.muted),this._playbackRate=P(this.media.playbackRate||1),this._seeking=P(!1),this.setupReactiveMediaEvents(),t.mediaControls&&(this.media.controls=!0),t.autoplay&&(this.media.autoplay=!0),t.playbackRate!=null&&this.onMediaEvent("canplay",(()=>{t.playbackRate!=null&&(this.media.playbackRate=t.playbackRate)}),{once:!0})}setupReactiveMediaEvents(){this.reactiveMediaEventCleanups.push(this.onMediaEvent(
11
+ "play",(()=>{this._isPlaying.set(!0)}))),this.reactiveMediaEventCleanups.push(this.onMediaEvent("pause",(()=>{this._isPlaying.set(!1)}))),this.reactiveMediaEventCleanups.push(this.onMediaEvent("ended",(()=>{this._isPlaying.set(!1)}))),this.reactiveMediaEventCleanups.push(this.onMediaEvent("timeupdate",(()=>{this._currentTime.set(this.media.currentTime)}))),this.reactiveMediaEventCleanups.push(this.onMediaEvent("durationchange",(()=>{this._duration.set(this.media.duration||0)}))),this.reactiveMediaEventCleanups.
12
+ push(this.onMediaEvent("loadedmetadata",(()=>{this._duration.set(this.media.duration||0)}))),this.reactiveMediaEventCleanups.push(this.onMediaEvent("seeking",(()=>{this._seeking.set(!0)}))),this.reactiveMediaEventCleanups.push(this.onMediaEvent("seeked",(()=>{this._seeking.set(!1)}))),this.reactiveMediaEventCleanups.push(this.onMediaEvent("volumechange",(()=>{this._volume.set(this.media.volume),this._muted.set(this.media.muted)}))),this.reactiveMediaEventCleanups.push(this.onMediaEvent("ratechan\
13
+ ge",(()=>{this._playbackRate.set(this.media.playbackRate)})))}onMediaEvent(t,e,i){return this.media.addEventListener(t,e,i),()=>this.media.removeEventListener(t,e,i)}getSrc(){return this.media.currentSrc||this.media.src||""}revokeSrc(){this._ownBlobUrl&&(URL.revokeObjectURL(this._ownBlobUrl),this._ownBlobUrl=null)}canPlayType(t){return this.media.canPlayType(t)!==""}setSrc(t,e){let i=this.getSrc();if(t&&i===t)return;this.revokeSrc();let n=e instanceof Blob&&(this.canPlayType(e.type)||!t)?URL.createObjectURL(
14
+ e):t;if(n!==t&&(this._ownBlobUrl=n),i&&this.media.removeAttribute("src"),n||t)try{this.media.src=n}catch{this.media.src=t}}destroy(){this.reactiveMediaEventCleanups.forEach((t=>t())),this.reactiveMediaEventCleanups=[],this.revokeSrc(),this.unAll(),this.isExternalMedia||(this.media.pause(),this.media.removeAttribute("src"),this.media.load(),this.media.remove())}setMediaElement(t){this.reactiveMediaEventCleanups.forEach((e=>e())),this.reactiveMediaEventCleanups=[],this.media=t,this.setupReactiveMediaEvents()}play(){
15
+ return D(this,void 0,void 0,(function*(){try{return yield this.media.play()}catch(t){if(t instanceof DOMException&&t.name==="AbortError")return;throw t}}))}pause(){this.media.pause()}isPlaying(){return!this.media.paused&&!this.media.ended}setTime(t){this.media.currentTime=Math.max(0,Math.min(t,this.getDuration()))}getDuration(){return this.media.duration}getCurrentTime(){return this.media.currentTime}getVolume(){return this.media.volume}setVolume(t){this.media.volume=t}getMuted(){return this.media.
16
+ muted}setMuted(t){this.media.muted=t}getPlaybackRate(){return this.media.playbackRate}isSeeking(){return this.media.seeking}setPlaybackRate(t,e){e!=null&&(this.media.preservesPitch=e),this.media.playbackRate=t}getMediaElement(){return this.media}setSinkId(t){return this.media.setSinkId(t)}};function gt({maxTop:h,maxBottom:t,halfHeight:e,vScale:i,barMinHeight:n=0,barAlign:r}){let s=Math.round(h*e*i),l=s+Math.round(t*e*i)||1;return l<n&&(l=n,r||(s=l/2)),{topHeight:s,totalHeight:l}}function vt({barAlign:h,
17
+ halfHeight:t,topHeight:e,totalHeight:i,canvasHeight:n}){return h==="top"?0:h==="bottom"?n-i:t-e}function it(h,t,e){let i=t-h.left,n=e-h.top;return[i/h.width,n/h.height]}function at(h){return!!(h.barWidth||h.barGap||h.barAlign)}function nt(h,t){if(!at(t))return h;let e=t.barWidth||.5,i=e+(t.barGap||e/2);return i===0?h:Math.floor(h/i)*i}function st({scrollLeft:h,totalWidth:t,numCanvases:e}){if(t===0)return[0];let i=h/t,n=Math.floor(i*e);return[n-1,n,n+1]}function lt(h){let t=h._cleanup;typeof t=="\
18
+ function"&&t()}function ft(h){let t=P({scrollLeft:h.scrollLeft,scrollWidth:h.scrollWidth,clientWidth:h.clientWidth}),e=z((()=>(function(r){let{scrollLeft:s,scrollWidth:l,clientWidth:a}=r;if(l===0)return{startX:0,endX:1};let o=s/l,d=(s+a)/l;return{startX:Math.max(0,Math.min(1,o)),endX:Math.max(0,Math.min(1,d))}})(t.value)),[t]),i=z((()=>(function(r){return{left:r.scrollLeft,right:r.scrollLeft+r.clientWidth}})(t.value)),[t]),n=()=>{t.set({scrollLeft:h.scrollLeft,scrollWidth:h.scrollWidth,clientWidth:h.
19
+ clientWidth})};return h.addEventListener("scroll",n,{passive:!0}),{scrollData:t,percentages:e,bounds:i,cleanup:()=>{h.removeEventListener("scroll",n),lt(t)}}}var Y=class extends A{constructor(t,e){super(),this.timeouts=[],this.isScrollable=!1,this.audioData=null,this.resizeObserver=null,this.lastContainerWidth=0,this.isDragging=!1,this.subscriptions=[],this.unsubscribeOnScroll=[],this.dragStream=null,this.scrollStream=null,this.containerInlinePadding=0,this.onClickWrapper=s=>{let l=this.wrapper.
20
+ getBoundingClientRect(),[a,o]=it(l,s.clientX,s.clientY);this.emit("click",a,o)},this.onDblClickWrapper=s=>{let l=this.wrapper.getBoundingClientRect(),[a,o]=it(l,s.clientX,s.clientY);this.emit("dblclick",a,o)},this.subscriptions=[],this.options=t;let i=this.parentFromOptionsContainer(t.container);this.parent=i;let[n,r]=this.initHtml();i.appendChild(n),this.container=n,this.scrollContainer=r.querySelector(".scroll"),this.wrapper=r.querySelector(".wrapper"),this.canvasWrapper=r.querySelector(".canv\
21
+ ases"),this.progressWrapper=r.querySelector(".progress"),this.cursor=r.querySelector(".cursor"),this.calculateInlinePadding(),e&&r.appendChild(e),this.initEvents()}parentFromOptionsContainer(t){let e;if(typeof t=="string"?e=document.querySelector(t):ot(t)&&(e=t),!e)throw new Error("Container not found");return e}initEvents(){this.wrapper.addEventListener("click",this.onClickWrapper),this.wrapper.addEventListener("dblclick",this.onDblClickWrapper),this.options.dragToSeek!==!0&&typeof this.options.
22
+ dragToSeek!="object"||this.initDrag(),this.scrollStream=ft(this.scrollContainer);let t=_((()=>{let{startX:e,endX:i}=this.scrollStream.percentages.value,{left:n,right:r}=this.scrollStream.bounds.value;this.emit("scroll",e,i,n,r)}),[this.scrollStream.percentages,this.scrollStream.bounds]);if(this.subscriptions.push(t),typeof ResizeObserver=="function"){let e=this.createDelay(100);this.resizeObserver=new ResizeObserver((()=>{e().then((()=>this.onContainerResize())).catch((()=>{}))})),this.resizeObserver.
23
+ observe(this.scrollContainer)}}onContainerResize(){let t=this.parent.clientWidth;this.calculateInlinePadding(),t===this.lastContainerWidth&&this.options.height!=="auto"||(this.lastContainerWidth=t,this.reRender(),this.emit("resize"))}initDrag(){if(this.dragStream)return;this.dragStream=(function(e,i={}){let{threshold:n=3,mouseButton:r=0,touchDelay:s=100}=i,l=P(null),a=new Map,o=matchMedia("(pointer: coarse)").matches,d=()=>{},p=u=>{if(u.button!==r||a.has(u.pointerId)||(a.set(u.pointerId,u),a.size>
24
+ 1))return;let m=u.pointerId,c=u.clientX,v=u.clientY,g=!1,C=Date.now(),x=e.getBoundingClientRect(),{left:M,top:E}=x,S=f=>{if(f.pointerId!==m||f.defaultPrevented||a.size>1||o&&Date.now()-C<s)return;let T=f.clientX,L=f.clientY,W=T-c,y=L-v;(g||Math.abs(W)>n||Math.abs(y)>n)&&(f.preventDefault(),f.stopPropagation(),g||(l.set({type:"start",x:c-M,y:v-E}),g=!0),l.set({type:"move",x:T-M,y:L-E,deltaX:W,deltaY:y}),c=T,v=L)},w=f=>{if(a.delete(f.pointerId)){if(f.pointerId===m&&g){let T=f.clientX,L=f.clientY;l.
25
+ set({type:"end",x:T-M,y:L-E})}a.size===0&&d()}},k=f=>{f.relatedTarget&&f.relatedTarget!==document.documentElement||w(f)},b=f=>{g&&(f.stopPropagation(),f.preventDefault())},R=f=>{f.defaultPrevented||a.size>1||g&&f.preventDefault()};document.addEventListener("pointermove",S),document.addEventListener("pointerup",w),document.addEventListener("pointerout",k),document.addEventListener("pointercancel",k),document.addEventListener("touchmove",R,{passive:!1}),document.addEventListener("click",b,{capture:!0}),
26
+ d=()=>{document.removeEventListener("pointermove",S),document.removeEventListener("pointerup",w),document.removeEventListener("pointerout",k),document.removeEventListener("pointercancel",k),document.removeEventListener("touchmove",R),setTimeout((()=>{document.removeEventListener("click",b,{capture:!0})}),10)}};return e.addEventListener("pointerdown",p),{signal:l,cleanup:()=>{d(),e.removeEventListener("pointerdown",p),a.clear(),lt(l)}}})(this.wrapper);let t=_((()=>{let e=this.dragStream.signal.value;
27
+ if(!e)return;let i=this.wrapper.getBoundingClientRect().width,n=(r=e.x/i)<0?0:r>1?1:r;var r;e.type==="start"?(this.isDragging=!0,this.emit("dragstart",n)):e.type==="move"?this.emit("drag",n):e.type==="end"&&(this.isDragging=!1,this.emit("dragend",n))}),[this.dragStream.signal]);this.subscriptions.push(t)}calculateInlinePadding(){let{paddingLeft:t,paddingRight:e}=getComputedStyle(this.scrollContainer),i=parseFloat(t)+parseFloat(e);this.containerInlinePadding=Number.isNaN(i)?0:i}initHtml(){let t=document.
28
+ createElement("div"),e=t.attachShadow({mode:"open"}),i=this.options.cspNonce&&typeof this.options.cspNonce=="string"?this.options.cspNonce.replace(/"/g,""):"";return e.innerHTML=`
29
+ <style${i?` nonce="${i}"`:""}>
30
+ :host {
31
+ user-select: none;
32
+ min-width: 1px;
33
+ }
34
+ :host audio {
35
+ display: block;
36
+ width: 100%;
37
+ }
38
+ :host .scroll {
39
+ overflow-x: auto;
40
+ overflow-y: hidden;
41
+ width: 100%;
42
+ position: relative;
43
+ }
44
+ :host .noScrollbar {
45
+ scrollbar-color: transparent;
46
+ scrollbar-width: none;
47
+ }
48
+ :host .noScrollbar::-webkit-scrollbar {
49
+ display: none;
50
+ -webkit-appearance: none;
51
+ }
52
+ :host .wrapper {
53
+ position: relative;
54
+ overflow: visible;
55
+ z-index: 2;
56
+ }
57
+ :host .canvases {
58
+ min-height: ${this.getHeight(this.options.height,this.options.splitChannels)}px;
59
+ pointer-events: none;
60
+ }
61
+ :host .canvases > div {
62
+ position: relative;
63
+ }
64
+ :host canvas {
65
+ display: block;
66
+ position: absolute;
67
+ top: 0;
68
+ image-rendering: pixelated;
69
+ }
70
+ :host .progress {
71
+ pointer-events: none;
72
+ position: absolute;
73
+ z-index: 2;
74
+ top: 0;
75
+ left: 0;
76
+ width: 0;
77
+ height: 100%;
78
+ overflow: hidden;
79
+ }
80
+ :host .progress > div {
81
+ position: relative;
82
+ }
83
+ :host .cursor {
84
+ pointer-events: none;
85
+ position: absolute;
86
+ z-index: 5;
87
+ top: 0;
88
+ left: 0;
89
+ height: 100%;
90
+ border-radius: 2px;
91
+ }
92
+ </style>
93
+
94
+ <div class="scroll" part="scroll">
95
+ <div class="wrapper" part="wrapper">
96
+ <div class="canvases" part="canvases"></div>
97
+ <div class="progress" part="progress"></div>
98
+ <div class="cursor" part="cursor"></div>
99
+ </div>
100
+ </div>
101
+ `,[t,e]}setOptions(t){var e;if(this.options.container!==t.container){let i=this.parentFromOptionsContainer(t.container);i.appendChild(this.container),this.parent=i}t.dragToSeek===!0||typeof this.options.dragToSeek=="object"?this.initDrag():((e=this.dragStream)===null||e===void 0||e.cleanup(),this.dragStream=null),this.options=t,this.reRender()}getWrapper(){return this.wrapper}getWidth(){return this.scrollContainer.clientWidth-this.containerInlinePadding}getScroll(){return this.scrollContainer.
102
+ scrollLeft}setScroll(t){this.scrollContainer.scrollLeft=t}setScrollPercentage(t){let{scrollWidth:e}=this.scrollContainer,i=e*t;this.setScroll(i)}destroy(){var t;this.wrapper.removeEventListener("click",this.onClickWrapper),this.wrapper.removeEventListener("dblclick",this.onDblClickWrapper),this.timeouts.forEach((e=>e())),this.timeouts=[],this.subscriptions.forEach((e=>e())),this.container.remove(),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),(t=this.unsubscribeOnScroll)===
103
+ null||t===void 0||t.forEach((e=>e())),this.unsubscribeOnScroll=[],this.dragStream&&(this.dragStream.cleanup(),this.dragStream=null),this.scrollStream&&(this.scrollStream.cleanup(),this.scrollStream=null)}createDelay(t=10){let e,i,n=()=>{e&&(clearTimeout(e),e=void 0),i&&(i(),i=void 0)};return this.timeouts.push(n),()=>new Promise(((r,s)=>{n(),i=s,e=setTimeout((()=>{e=void 0,i=void 0,r()}),t)}))}getHeight(t,e){var i;let n=((i=this.audioData)===null||i===void 0?void 0:i.numberOfChannels)||1;return(function({
104
+ optionsHeight:r,optionsSplitChannels:s,parentHeight:l,numberOfChannels:a,defaultHeight:o=128}){if(r==null)return o;let d=Number(r);if(!isNaN(d))return d;if(r==="auto"){let p=l||o;return s?.every((u=>!u.overlay))?p/a:p}return o})({optionsHeight:t,optionsSplitChannels:e,parentHeight:this.parent.clientHeight,numberOfChannels:n,defaultHeight:128})}convertColorValues(t,e){return(function(i,n,r){if(!Array.isArray(i))return i||"";if(i.length===0)return"#999";if(i.length<2)return i[0]||"";let s=document.
105
+ createElement("canvas"),l=s.getContext("2d");if(!l)return i[0]||"";let a=r||s.height*n,o=l.createLinearGradient(0,0,0,a),d=1/(i.length-1);return i.forEach(((p,u)=>{o.addColorStop(u*d,p)})),o})(t,this.getPixelRatio(),e?.canvas.height)}getPixelRatio(){return t=window.devicePixelRatio,Math.max(1,t||1);var t}renderBarWaveform(t,e,i,n){let{width:r,height:s}=i.canvas,{halfHeight:l,barWidth:a,barRadius:o,barIndexScale:d,barSpacing:p,barMinHeight:u}=(function({width:c,height:v,length:g,options:C,pixelRatio:x}){
106
+ let M=v/2,E=C.barWidth?C.barWidth*x:1,S=C.barGap?C.barGap*x:C.barWidth?E/2:0,w=E+S||1;return{halfHeight:M,barWidth:E,barGap:S,barRadius:C.barRadius||0,barMinHeight:C.barMinHeight?C.barMinHeight*x:0,barIndexScale:g>0?c/w/g:0,barSpacing:w}})({width:r,height:s,length:(t[0]||[]).length,options:e,pixelRatio:this.getPixelRatio()}),m=(function({channelData:c,barIndexScale:v,barSpacing:g,barWidth:C,halfHeight:x,vScale:M,canvasHeight:E,barAlign:S,barMinHeight:w}){let k=c[0]||[],b=c[1]||k,R=k.length,f=[],
107
+ T=0,L=0,W=0;for(let y=0;y<=R;y++){let O=Math.round(y*v);if(O>T){let{topHeight:ct,totalHeight:tt}=gt({maxTop:L,maxBottom:W,halfHeight:x,vScale:M,barMinHeight:w,barAlign:S}),ut=vt({barAlign:S,halfHeight:x,topHeight:ct,totalHeight:tt,canvasHeight:E});f.push({x:T*g,y:ut,width:C,height:tt}),T=O,L=0,W=0}let K=Math.abs(k[y]||0),Q=Math.abs(b[y]||0);K>L&&(L=K),Q>W&&(W=Q)}return f})({channelData:t,barIndexScale:d,barSpacing:p,barWidth:a,halfHeight:l,vScale:n,canvasHeight:s,barAlign:e.barAlign,barMinHeight:u});
108
+ i.beginPath();for(let c of m)o&&"roundRect"in i?i.roundRect(c.x,c.y,c.width,c.height,o):i.rect(c.x,c.y,c.width,c.height);i.fill(),i.closePath()}renderLineWaveform(t,e,i,n){let{width:r,height:s}=i.canvas,l=(function({channelData:a,width:o,height:d,vScale:p}){let u=d/2,m=a[0]||[];return[m,a[1]||m].map(((c,v)=>{let g=c.length,C=g?o/g:0,x=u,M=v===0?-1:1,E=[{x:0,y:x}],S=0,w=0;for(let k=0;k<=g;k++){let b=Math.round(k*C);if(b>S){let f=x+(Math.round(w*u*p)||1)*M;E.push({x:S,y:f}),S=b,w=0}let R=Math.abs(
109
+ c[k]||0);R>w&&(w=R)}return E.push({x:S,y:x}),E}))})({channelData:t,width:r,height:s,vScale:n});i.beginPath();for(let a of l)if(a.length){i.moveTo(a[0].x,a[0].y);for(let o=1;o<a.length;o++){let d=a[o];i.lineTo(d.x,d.y)}}i.fill(),i.closePath()}renderWaveform(t,e,i){if(i.fillStyle=this.convertColorValues(e.waveColor,i),e.renderFunction)return void e.renderFunction(t,i);let n=(function({channelData:r,barHeight:s,normalize:l,maxPeak:a}){var o;let d=s||1;if(!l)return d;let p=r[0];if(!p||p.length===0)return d;
110
+ let u=a??0;if(!a)for(let m=0;m<p.length;m++){let c=(o=p[m])!==null&&o!==void 0?o:0,v=Math.abs(c);v>u&&(u=v)}return u?d/u:d})({channelData:t,barHeight:e.barHeight,normalize:e.normalize,maxPeak:e.maxPeak});at(e)?this.renderBarWaveform(t,e,i,n):this.renderLineWaveform(t,e,i,n)}renderSingleCanvas(t,e,i,n,r,s,l){let a=this.getPixelRatio(),o=document.createElement("canvas");o.width=Math.round(i*a),o.height=Math.round(n*a),o.style.width=`${i}px`,o.style.height=`${n}px`,o.style.left=`${Math.round(r)}px`,
111
+ s.appendChild(o);let d=o.getContext("2d");if(e.renderFunction?(d.fillStyle=this.convertColorValues(e.waveColor,d),e.renderFunction(t,d)):this.renderWaveform(t,e,d),o.width>0&&o.height>0){let p=o.cloneNode(),u=p.getContext("2d");u.drawImage(o,0,0),u.globalCompositeOperation="source-in",u.fillStyle=this.convertColorValues(e.progressColor,u),u.fillRect(0,0,o.width,o.height),l.appendChild(p)}}renderMultiCanvas(t,e,i,n,r,s){let l=this.getPixelRatio(),{clientWidth:a}=this.scrollContainer,o=i/l,d=(function({
112
+ clientWidth:c,totalWidth:v,options:g}){return nt(Math.min(8e3,c,v),g)})({clientWidth:a,totalWidth:o,options:e}),p={};if(d===0)return;let u=c=>{if(c<0||c>=m||p[c])return;p[c]=!0;let v=c*d,g=Math.min(o-v,d);if(g=nt(g,e),g<=0)return;let C=(function({channelData:x,offset:M,clampedWidth:E,totalWidth:S}){return x.map((w=>{let k=Math.floor(M/S*w.length),b=Math.floor((M+E)/S*w.length);return w.slice(k,b)}))})({channelData:t,offset:v,clampedWidth:g,totalWidth:o});this.renderSingleCanvas(C,e,g,n,v,r,s)},m=Math.
113
+ ceil(o/d);if(!this.isScrollable){for(let c=0;c<m;c++)u(c);return}if(st({scrollLeft:this.scrollContainer.scrollLeft,totalWidth:o,numCanvases:m}).forEach((c=>u(c))),m>1){let c=this.on("scroll",(()=>{let{scrollLeft:v}=this.scrollContainer;Object.keys(p).length>10&&(r.innerHTML="",s.innerHTML="",p={}),st({scrollLeft:v,totalWidth:o,numCanvases:m}).forEach((g=>u(g)))}));this.unsubscribeOnScroll.push(c)}}renderChannel(t,e,i,n){var{overlay:r}=e,s=(function(d,p){var u={};for(var m in d)Object.prototype.hasOwnProperty.
114
+ call(d,m)&&p.indexOf(m)<0&&(u[m]=d[m]);if(d!=null&&typeof Object.getOwnPropertySymbols=="function"){var c=0;for(m=Object.getOwnPropertySymbols(d);c<m.length;c++)p.indexOf(m[c])<0&&Object.prototype.propertyIsEnumerable.call(d,m[c])&&(u[m[c]]=d[m[c]])}return u})(e,["overlay"]);let l=document.createElement("div"),a=this.getHeight(s.height,s.splitChannels);l.style.height=`${a}px`,r&&n>0&&(l.style.marginTop=`-${a}px`),this.canvasWrapper.style.minHeight=`${a}px`,this.canvasWrapper.appendChild(l);let o=l.
115
+ cloneNode();this.progressWrapper.appendChild(o),this.renderMultiCanvas(t,s,i,a,l,o)}render(t){return D(this,void 0,void 0,(function*(){var e;this.timeouts.forEach((o=>o())),this.timeouts=[],this.unsubscribeOnScroll.forEach((o=>o())),this.unsubscribeOnScroll=[],this.canvasWrapper.innerHTML="",this.progressWrapper.innerHTML="",this.options.width!=null&&(this.scrollContainer.style.width=typeof this.options.width=="number"?`${this.options.width}px`:this.options.width);let i=this.getPixelRatio(),n=this.
116
+ scrollContainer.clientWidth-this.containerInlinePadding,{scrollWidth:r,isScrollable:s,useParentWidth:l,width:a}=(function({duration:o,minPxPerSec:d=0,parentWidth:p,fillParent:u,pixelRatio:m}){let c=Math.ceil(o*d),v=c>p,g=!!(u&&!v);return{scrollWidth:c,isScrollable:v,useParentWidth:g,width:(g?p:c)*m}})({duration:t.duration,minPxPerSec:this.options.minPxPerSec||0,parentWidth:n,fillParent:this.options.fillParent,pixelRatio:i});if(this.isScrollable=s,this.wrapper.style.width=l?"100%":`${r}px`,this.scrollContainer.
117
+ style.overflowX=this.isScrollable?"auto":"hidden",this.scrollContainer.classList.toggle("noScrollbar",!!this.options.hideScrollbar),this.cursor.style.backgroundColor=`${this.options.cursorColor||this.options.progressColor}`,this.cursor.style.width=`${this.options.cursorWidth}px`,this.audioData=t,this.emit("render"),this.options.splitChannels)for(let o=0;o<t.numberOfChannels;o++){let d=Object.assign(Object.assign({},this.options),(e=this.options.splitChannels)===null||e===void 0?void 0:e[o]);this.
118
+ renderChannel([t.getChannelData(o)],d,a,o)}else{let o=[t.getChannelData(0)];t.numberOfChannels>1&&o.push(t.getChannelData(1)),this.renderChannel(o,this.options,a,0)}Promise.resolve().then((()=>this.emit("rendered")))}))}reRender(){if(this.unsubscribeOnScroll.forEach((i=>i())),this.unsubscribeOnScroll=[],!this.audioData)return;let{scrollWidth:t}=this.scrollContainer,{right:e}=this.progressWrapper.getBoundingClientRect();if(this.render(this.audioData),!this.isScrollable&&this.scrollContainer.scrollLeft)
119
+ this.scrollContainer.scrollLeft=0;else if(this.isScrollable&&t!==this.scrollContainer.scrollWidth){let{right:i}=this.progressWrapper.getBoundingClientRect(),n=(function(r){let s=2*r;return(s<0?Math.floor(s):Math.ceil(s))/2})(i-e);this.scrollContainer.scrollLeft+=n}}zoom(t){this.options.minPxPerSec=t,this.reRender()}scrollIntoView(t,e=!1){var i;let{scrollLeft:n,scrollWidth:r,clientWidth:s}=this.scrollContainer,l=t*r,a=n,o=n+s,d=s/2;if(this.isDragging)l+30>o?this.scrollContainer.scrollLeft+=30:l-30<
120
+ a&&(this.scrollContainer.scrollLeft-=30);else{(l<a||l>o)&&(this.scrollContainer.scrollLeft=l-(this.options.autoCenter?d:0));let p=l-n-d;if(e&&this.options.autoCenter&&p>0){let u=(i=this.audioData)===null||i===void 0?void 0:i.duration;if(u===void 0||u<=0)return void(this.scrollContainer.scrollLeft+=p);let m=r/u;this.scrollContainer.scrollLeft+=m<=600?Math.min(p,10):p}}}renderProgress(t,e){if(isNaN(t))return;let i=100*t;this.canvasWrapper.style.clipPath=`polygon(${i}% 0%, 100% 0%, 100% 100%, ${i}%\
121
+ 100%)`,this.progressWrapper.style.width=`${i}%`,this.cursor.style.left=`${i}%`,this.cursor.style.transform=this.options.cursorWidth?`translateX(-${t*this.options.cursorWidth}px)`:"",this.isScrollable&&this.options.autoScroll&&this.audioData&&this.audioData.duration>0&&this.scrollIntoView(t,e)}exportImage(t,e,i){return D(this,void 0,void 0,(function*(){let n=this.canvasWrapper.querySelectorAll("canvas");if(!n.length)throw new Error("No waveform data");if(i==="dataURL"){let r=Array.from(n).map((s=>s.
122
+ toDataURL(t,e)));return Promise.resolve(r)}return Promise.all(Array.from(n).map((r=>new Promise(((s,l)=>{r.toBlob((a=>{a?s(a):l(new Error("Could not export image"))}),t,e)})))))}))}},G=class extends A{constructor(){super(...arguments),this.animationFrameId=null,this.isRunning=!1}start(){if(this.isRunning)return;this.isRunning=!0;let t=()=>{this.isRunning&&(this.emit("tick"),this.animationFrameId=requestAnimationFrame(t))};t()}stop(){this.isRunning=!1,this.animationFrameId!==null&&(cancelAnimationFrame(
123
+ this.animationFrameId),this.animationFrameId=null)}destroy(){this.stop(),this.unAll()}},I=class extends A{constructor(t){super(),this.bufferNode=null,this.playStartTime=0,this.playbackPosition=0,this._muted=!1,this._playbackRate=1,this._duration=void 0,this.buffer=null,this.currentSrc="",this.paused=!0,this.crossOrigin=null,this.seeking=!1,this.autoplay=!1,this.addEventListener=this.on,this.removeEventListener=this.un,this._destroyed=!1,(function(){let e=globalThis.navigator;if(e?.audioSession)try{
124
+ e.audioSession.type="playback"}catch(i){console.warn("Setting navigator.audioSession.type failed:",i)}})(),this.audioContext=t||new AudioContext,this.gainNode=this.audioContext.createGain(),this.gainNode.connect(this.audioContext.destination)}load(){return D(this,void 0,void 0,(function*(){}))}remove(){this.destroy()}destroy(){if(!this._destroyed){if(this._destroyed=!0,this.currentSrc="",this.bufferNode){this.bufferNode.onended=null;try{this.bufferNode.stop()}catch{}this.bufferNode.disconnect(),
125
+ this.bufferNode=null}this.gainNode.disconnect(),typeof this.audioContext.close=="function"&&Promise.resolve(this.audioContext.close.call(this.audioContext)).catch((()=>{})),this.buffer=null,this.unAll()}}get src(){return this.currentSrc}set src(t){if(this.currentSrc=t,this._duration=void 0,!t)return this.buffer=null,void this.emit("emptied");fetch(t).then((e=>{if(e.status>=400)throw new Error(`Failed to fetch ${t}: ${e.status} (${e.statusText})`);return e.arrayBuffer()})).then((e=>this.currentSrc!==
126
+ t?null:this.audioContext.decodeAudioData(e))).then((e=>{this.currentSrc===t&&(this.buffer=e,this.emit("loadedmetadata"),this.emit("canplay"),this.autoplay&&this.play())})).catch((e=>{console.error("WebAudioPlayer load error:",e)}))}_play(){if(!this.paused)return;this.paused=!1,this.bufferNode&&(this.bufferNode.onended=null,this.bufferNode.disconnect()),this.bufferNode=this.audioContext.createBufferSource(),this.buffer&&(this.bufferNode.buffer=this.buffer),this.bufferNode.playbackRate.value=this.
127
+ _playbackRate,this.bufferNode.connect(this.gainNode);let t=this.playbackPosition;(t>=this.duration||t<0)&&(t=0,this.playbackPosition=0),this.bufferNode.start(this.audioContext.currentTime,t),this.playStartTime=this.audioContext.currentTime,this.bufferNode.onended=()=>{!this.paused&&this.duration-this.currentTime<.01&&(this.pause(),this.emit("ended"))}}_pause(){if(this.paused=!0,this.bufferNode){this.bufferNode.onended=null;try{this.bufferNode.stop()}catch{}}this.playbackPosition+=(this.audioContext.
128
+ currentTime-this.playStartTime)*this._playbackRate}play(){return D(this,void 0,void 0,(function*(){this.paused&&(this._play(),this.emit("play"))}))}pause(){this.paused||(this._pause(),this.emit("pause"))}stopAt(t){let e=(t-this.currentTime)/this._playbackRate,i=this.bufferNode;i?.stop(this.audioContext.currentTime+e),i?.addEventListener("ended",(()=>{i===this.bufferNode&&(this.bufferNode=null,this.pause(),this.playbackPosition=Math.min(t,this.duration),this.emit("timeupdate"))}),{once:!0})}setSinkId(t){
129
+ return D(this,void 0,void 0,(function*(){return this.audioContext.setSinkId(t)}))}get playbackRate(){return this._playbackRate}set playbackRate(t){let e=!this.paused;e&&this._pause(),this._playbackRate=t,e&&this._play(),this.bufferNode&&(this.bufferNode.playbackRate.value=t)}get currentTime(){return this.paused?this.playbackPosition:this.playbackPosition+(this.audioContext.currentTime-this.playStartTime)*this._playbackRate}set currentTime(t){let e=!this.paused;e&&this._pause(),this.playbackPosition=
130
+ t,e&&this._play(),this.emit("seeking"),this.emit("timeupdate")}get duration(){var t,e;return(t=this._duration)!==null&&t!==void 0?t:((e=this.buffer)===null||e===void 0?void 0:e.duration)||0}set duration(t){this._duration=t}get volume(){return this.gainNode.gain.value}set volume(t){this.gainNode.gain.value=t,this.emit("volumechange")}get muted(){return this._muted}set muted(t){this._muted!==t&&(this._muted=t,this._muted?this.gainNode.disconnect():this.gainNode.connect(this.audioContext.destination))}canPlayType(t){
131
+ return/^(audio|video)\//.test(t)}getGainNode(){return this.gainNode}getChannelData(){let t=[];if(!this.buffer)return t;let e=this.buffer.numberOfChannels;for(let i=0;i<e;i++)t.push(this.buffer.getChannelData(i));return t}removeAttribute(t){switch(t){case"src":this.src="";break;case"playbackRate":this.playbackRate=0;break;case"currentTime":this.currentTime=0;break;case"duration":this.duration=0;break;case"volume":this.volume=0;break;case"muted":this.muted=!1}}},bt={waveColor:"#999",progressColor:"\
132
+ #555",cursorWidth:1,minPxPerSec:0,fillParent:!0,interact:!0,dragToSeek:!1,autoScroll:!0,autoCenter:!0,sampleRate:8e3},H=class h extends q{static create(t){return new h(t)}getState(){return this.wavesurferState}getRenderer(){return this.renderer}constructor(t){let e=t.media||(t.backend==="WebAudio"?new I:void 0);super({media:e,mediaControls:t.mediaControls,autoplay:t.autoplay,playbackRate:t.audioRate}),this.plugins=[],this.decodedData=null,this.stopAtPosition=null,this.subscriptions=[],this.mediaSubscriptions=
133
+ [],this.abortController=null,this._isDestroyed=!1,this._loadVersion=0,this.reactiveCleanups=[],this.options=Object.assign({},bt,t);let{state:i,actions:n}=(function(l){var a,o,d,p,u,m;let c=(a=l?.currentTime)!==null&&a!==void 0?a:P(0),v=(o=l?.duration)!==null&&o!==void 0?o:P(0),g=(d=l?.isPlaying)!==null&&d!==void 0?d:P(!1),C=(p=l?.isSeeking)!==null&&p!==void 0?p:P(!1),x=(u=l?.volume)!==null&&u!==void 0?u:P(1),M=(m=l?.playbackRate)!==null&&m!==void 0?m:P(1),E=P(null),S=P(null),w=P(""),k=P(0),b=P(0),
134
+ R=z((()=>!g.value),[g]),f=z((()=>E.value!==null),[E]),T=z((()=>f.value&&v.value>0),[f,v]),L=z((()=>c.value),[c]),W=z((()=>v.value>0?c.value/v.value:0),[c,v]);return{state:{currentTime:c,duration:v,isPlaying:g,isPaused:R,isSeeking:C,volume:x,playbackRate:M,audioBuffer:E,peaks:S,url:w,zoom:k,scrollPosition:b,canPlay:f,isReady:T,progress:L,progressPercent:W},actions:{setCurrentTime:y=>{let O=Math.max(0,Math.min(v.value||1/0,y));c.set(O)},setDuration:y=>{v.set(Math.max(0,y))},setPlaying:y=>{g.set(y)},
135
+ setSeeking:y=>{C.set(y)},setVolume:y=>{let O=Math.max(0,Math.min(1,y));x.set(O)},setPlaybackRate:y=>{let O=Math.max(.1,Math.min(16,y));M.set(O)},setAudioBuffer:y=>{E.set(y),y&&v.set(y.duration)},setPeaks:y=>{S.set(y)},setUrl:y=>{w.set(y)},setZoom:y=>{k.set(Math.max(0,y))},setScrollPosition:y=>{b.set(Math.max(0,y))}}}})({isPlaying:this.isPlayingSignal,currentTime:this.currentTimeSignal,duration:this.durationSignal,volume:this.volumeSignal,playbackRate:this.playbackRateSignal,isSeeking:this.seekingSignal});
136
+ this.wavesurferState=i,this.wavesurferActions=n,this.timer=new G;let r=e?void 0:this.getMediaElement();this.renderer=new Y(this.options,r),this.initPlayerEvents(),this.initRendererEvents(),this.initTimerEvents(),this.initReactiveState(),this.initPlugins();let s=this.options.url||this.getSrc()||"";Promise.resolve().then((()=>{this.emit("init");let{peaks:l,duration:a}=this.options;(s||l&&a)&&this.load(s,l,a).catch((()=>{}))}))}updateProgress(t=this.getCurrentTime()){return this.renderer.renderProgress(
137
+ t/this.getDuration(),this.isPlaying()),t}initTimerEvents(){this.subscriptions.push(this.timer.on("tick",(()=>{if(!this.isSeeking()){let t=this.updateProgress();if(this.emit("timeupdate",t),this.emit("audioprocess",t),this.stopAtPosition!=null&&this.isPlaying()&&t>=this.stopAtPosition){let e=this.stopAtPosition;this.pause(),this.setTime(e)}}})))}initReactiveState(){this.reactiveCleanups.push((function(t,e){let i=[];i.push(_((()=>{let s=t.isPlaying.value;e.emit(s?"play":"pause")}),[t.isPlaying])),
138
+ i.push(_((()=>{let s=t.currentTime.value;e.emit("timeupdate",s),t.isPlaying.value&&e.emit("audioprocess",s)}),[t.currentTime,t.isPlaying])),i.push(_((()=>{t.isSeeking.value&&e.emit("seeking",t.currentTime.value)}),[t.isSeeking,t.currentTime]));let n=!1;i.push(_((()=>{t.isReady.value&&!n&&(n=!0,e.emit("ready",t.duration.value))}),[t.isReady,t.duration])),i.push(_((()=>{t.audioBuffer.value===null&&(n=!1)}),[t.audioBuffer]));let r=!1;return i.push(_((()=>{let s=t.isPlaying.value,l=t.currentTime.value,
139
+ a=t.duration.value,o=a>0&&l>=a;r&&!s&&o&&e.emit("finish"),r=s&&o}),[t.isPlaying,t.currentTime,t.duration])),i.push(_((()=>{let s=t.zoom.value;s>0&&e.emit("zoom",s)}),[t.zoom])),()=>{i.forEach((s=>s()))}})(this.wavesurferState,{emit:this.emit.bind(this)}))}initPlayerEvents(){this.isPlaying()&&(this.emit("play"),this.timer.start()),this.mediaSubscriptions.push(this.onMediaEvent("timeupdate",(()=>{let t=this.updateProgress();this.emit("timeupdate",t)})),this.onMediaEvent("play",(()=>{this.emit("pla\
140
+ y"),this.timer.start()})),this.onMediaEvent("pause",(()=>{this.emit("pause"),this.timer.stop(),this.stopAtPosition=null})),this.onMediaEvent("emptied",(()=>{this.timer.stop(),this.stopAtPosition=null})),this.onMediaEvent("ended",(()=>{this.emit("timeupdate",this.getDuration()),this.emit("finish"),this.stopAtPosition=null})),this.onMediaEvent("seeking",(()=>{this.emit("seeking",this.getCurrentTime())})),this.onMediaEvent("error",(()=>{var t;this.emit("error",(t=this.getMediaElement().error)!==null&&
141
+ t!==void 0?t:new Error("Media error")),this.stopAtPosition=null})))}initRendererEvents(){this.subscriptions.push(this.renderer.on("click",((t,e)=>{this.options.interact&&(this.seekTo(t),this.emit("interaction",t*this.getDuration()),this.emit("click",t,e))})),this.renderer.on("dblclick",((t,e)=>{this.emit("dblclick",t,e)})),this.renderer.on("scroll",((t,e,i,n)=>{let r=this.getDuration();this.emit("scroll",t*r,e*r,i,n)})),this.renderer.on("render",(()=>{this.emit("redraw")})),this.renderer.on("ren\
142
+ dered",(()=>{this.emit("redrawcomplete")})),this.renderer.on("dragstart",(t=>{this.emit("dragstart",t)})),this.renderer.on("dragend",(t=>{this.emit("dragend",t)})),this.renderer.on("resize",(()=>{this.emit("resize")})));{let t,e=this.renderer.on("drag",(i=>{var n;if(!this.options.interact)return;this.renderer.renderProgress(i),clearTimeout(t);let r=0,s=this.options.dragToSeek;this.isPlaying()?r=0:s===!0?r=200:s&&typeof s=="object"&&(r=(n=s.debounceTime)!==null&&n!==void 0?n:200),t=setTimeout((()=>{
143
+ this.seekTo(i)}),r),this.emit("interaction",i*this.getDuration()),this.emit("drag",i)}));this.subscriptions.push((()=>{clearTimeout(t),e()}))}}initPlugins(){var t;!((t=this.options.plugins)===null||t===void 0)&&t.length&&this.options.plugins.forEach((e=>{this.registerPlugin(e)}))}unsubscribePlayerEvents(){this.mediaSubscriptions.forEach((t=>t())),this.mediaSubscriptions=[]}setOptions(t){this.options=Object.assign({},this.options,t),t.duration&&!t.peaks&&(this.decodedData=$.createBuffer(this.exportPeaks(),
144
+ t.duration)),t.peaks&&t.duration&&(this.decodedData=$.createBuffer(t.peaks,t.duration)),this.renderer.setOptions(this.options),t.audioRate&&this.setPlaybackRate(t.audioRate),t.mediaControls!=null&&(this.getMediaElement().controls=t.mediaControls)}registerPlugin(t){if(this.plugins.includes(t))return t;t._init(this),this.plugins.push(t);let e=t.once("destroy",(()=>{this.plugins=this.plugins.filter((i=>i!==t)),this.subscriptions=this.subscriptions.filter((i=>i!==e))}));return this.subscriptions.push(
145
+ e),t}unregisterPlugin(t){this.plugins=this.plugins.filter((e=>e!==t)),t.destroy()}getWrapper(){return this.renderer.getWrapper()}getWidth(){return this.renderer.getWidth()}getScroll(){return this.renderer.getScroll()}setScroll(t){return this.renderer.setScroll(t)}setScrollTime(t){let e=t/this.getDuration();this.renderer.setScrollPercentage(e)}getActivePlugins(){return this.plugins}loadAudio(t,e,i,n){return D(this,void 0,void 0,(function*(){var r;let s=++this._loadVersion;if(this._isDestroyed=!1,
146
+ this.emit("load",t),!this.options.media&&this.isPlaying()&&this.pause(),this.decodedData=null,this.stopAtPosition=null,(r=this.abortController)===null||r===void 0||r.abort(),this.abortController=null,!e&&!i){let a=this.options.fetchParams||{};window.AbortController&&!a.signal&&(this.abortController=new AbortController,a.signal=this.abortController.signal);let o=p=>this.emit("loading",p);if(e=yield mt.fetchBlob(t,o,a),this._isDestroyed||s!==this._loadVersion)return;let d=this.options.blobMimeType;
147
+ d&&(e=new Blob([e],{type:d}))}if(this._isDestroyed||s!==this._loadVersion)return;this.setSrc(t,e);let l=yield new Promise((a=>{let o=n||this.getDuration();o?a(o):this.mediaSubscriptions.push(this.onMediaEvent("loadedmetadata",(()=>a(this.getDuration())),{once:!0}))}));if(!this._isDestroyed&&s===this._loadVersion){if(!t&&!e){let a=this.getMediaElement();a instanceof I&&(a.duration=l)}if(i)this.decodedData=$.createBuffer(i,l||0);else if(e){let a=yield e.arrayBuffer();if(this._isDestroyed||s!==this.
148
+ _loadVersion)return;this.decodedData=yield $.decode(a,this.options.sampleRate)}this._isDestroyed||s!==this._loadVersion||(this.decodedData&&(this.emit("decode",this.getDuration()),this.renderer.render(this.decodedData)),this.emit("ready",this.getDuration()))}}))}load(t,e,i){return D(this,void 0,void 0,(function*(){try{return yield this.loadAudio(t,void 0,e,i)}catch(n){throw this.emit("error",n),n}}))}loadBlob(t,e,i){return D(this,void 0,void 0,(function*(){try{return yield this.loadAudio("",t,e,
149
+ i)}catch(n){throw this.emit("error",n),n}}))}zoom(t){if(!this.decodedData)throw new Error("No audio loaded");this.renderer.zoom(t),this.emit("zoom",t)}getDecodedData(){return this.decodedData}exportPeaks({channels:t=2,maxLength:e=8e3,precision:i=1e4}={}){if(!this.decodedData)throw new Error("The audio has not been decoded yet");let n=Math.min(t,this.decodedData.numberOfChannels),r=[];for(let s=0;s<n;s++){let l=this.decodedData.getChannelData(s),a=[],o=l.length/e;for(let d=0;d<e;d++){let p=l.slice(
150
+ Math.floor(d*o),Math.ceil((d+1)*o)),u=0;for(let m=0;m<p.length;m++){let c=p[m];Math.abs(c)>Math.abs(u)&&(u=c)}a.push(Math.round(u*i)/i)}r.push(a)}return r}getDuration(){let t=super.getDuration()||0;return t!==0&&t!==1/0||!this.decodedData||(t=this.decodedData.duration),t}toggleInteraction(t){this.options.interact=t}setTime(t){this.stopAtPosition=null,super.setTime(t),this.updateProgress(t),this.emit("timeupdate",t)}seekTo(t){let e=this.getDuration()*t;this.setTime(e)}play(t,e){let i=Object.create(
151
+ null,{play:{get:()=>super.play}});return D(this,void 0,void 0,(function*(){t!=null&&this.setTime(t);let n=yield i.play.call(this);return e!=null&&(this.media instanceof I?this.media.stopAt(e):this.stopAtPosition=e),n}))}playPause(){return D(this,void 0,void 0,(function*(){return this.isPlaying()?this.pause():this.play()}))}stop(){this.pause(),this.setTime(0)}skip(t){this.setTime(this.getCurrentTime()+t)}empty(){this.load("",[[0]],.001)}setMediaElement(t){this.unsubscribePlayerEvents(),super.setMediaElement(
152
+ t),this.initPlayerEvents()}exportImage(){return D(this,arguments,void 0,(function*(t="image/png",e=1,i="dataURL"){return this.renderer.exportImage(t,e,i)}))}destroy(){var t;this._isDestroyed=!0,this.emit("destroy"),(t=this.abortController)===null||t===void 0||t.abort(),this.plugins.forEach((e=>e.destroy())),this.subscriptions.forEach((e=>e())),this.unsubscribePlayerEvents(),this.reactiveCleanups.forEach((e=>e())),this.reactiveCleanups=[],this.timer.destroy(),this.renderer.destroy(),super.destroy()}};
153
+ H.BasePlugin=class extends A{constructor(h){super(),this.subscriptions=[],this.isDestroyed=!1,this.options=h}onInit(){}_init(h){this.isDestroyed&&(this.subscriptions=[],this.isDestroyed=!1),this.wavesurfer=h,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach((h=>h())),this.subscriptions=[],this.isDestroyed=!0,this.wavesurfer=void 0}},H.dom=pt;var U=class{constructor(){this.listeners={}}on(t,e,i){if(this.listeners[t]||(this.listeners[t]=new Set),i?.once){let n=(...r)=>{this.un(t,n),e(...r)};return this.listeners[t].add(n),()=>this.un(t,n)}return this.listeners[t].add(e),()=>this.un(t,e)}un(t,e){var i;(i=this.listeners[t])===null||i===void 0||i.delete(e)}once(t,e){return this.on(t,e,{once:!0})}unAll(){this.listeners={}}emit(t,...e){this.listeners[t]&&this.listeners[t].forEach((i=>i(...e)))}},Z=class extends U{constructor(t){super(),this.
154
+ subscriptions=[],this.isDestroyed=!1,this.options=t}onInit(){}_init(t){this.isDestroyed&&(this.subscriptions=[],this.isDestroyed=!1),this.wavesurfer=t,this.onInit()}destroy(){this.emit("destroy"),this.subscriptions.forEach((t=>t())),this.subscriptions=[],this.isDestroyed=!0,this.wavesurfer=void 0}};function ht(h,t){let e=t.xmlns?document.createElementNS(t.xmlns,h):document.createElement(h);for(let[i,n]of Object.entries(t))if(i==="children"&&n)for(let[r,s]of Object.entries(n))s instanceof Node?e.
155
+ appendChild(s):typeof s=="string"?e.appendChild(document.createTextNode(s)):e.appendChild(ht(r,s));else i==="style"?Object.assign(e.style,n):i==="textContent"?e.textContent=n:e.setAttribute(i,n.toString());return e}function j(h,t,e){let i=ht(h,t||{});return e?.appendChild(i),i}function dt(h){let t=h,e=new Set;return{get value(){return t},set(i){Object.is(t,i)||(t=i,e.forEach((n=>n(t))))},update(i){this.set(i(t))},subscribe:i=>(e.add(i),()=>e.delete(i))}}function X(h,t){let e,i=()=>{e&&(e(),e=void 0),
156
+ e=h()},n=t.map((r=>r.subscribe(i)));return i(),()=>{e&&(e(),e=void 0),n.forEach((r=>r()))}}function N(h,t){let e=dt(null),i=n=>{e.set(n)};return h.addEventListener(t,i),e._cleanup=()=>{h.removeEventListener(t,i)},e}function B(h){let t=h._cleanup;typeof t=="function"&&t()}function F(h,t={}){let{threshold:e=3,mouseButton:i=0,touchDelay:n=100}=t,r=dt(null),s=new Map,l=matchMedia("(pointer: coarse)").matches,a=()=>{},o=d=>{if(d.button!==i||s.has(d.pointerId)||(s.set(d.pointerId,d),s.size>1))return;let p=d.
157
+ pointerId,u=d.clientX,m=d.clientY,c=!1,v=Date.now(),g=h.getBoundingClientRect(),{left:C,top:x}=g,M=b=>{if(b.pointerId!==p||b.defaultPrevented||s.size>1||l&&Date.now()-v<n)return;let R=b.clientX,f=b.clientY,T=R-u,L=f-m;(c||Math.abs(T)>e||Math.abs(L)>e)&&(b.preventDefault(),b.stopPropagation(),c||(r.set({type:"start",x:u-C,y:m-x}),c=!0),r.set({type:"move",x:R-C,y:f-x,deltaX:T,deltaY:L}),u=R,m=f)},E=b=>{if(s.delete(b.pointerId)){if(b.pointerId===p&&c){let R=b.clientX,f=b.clientY;r.set({type:"end",x:R-
158
+ C,y:f-x})}s.size===0&&a()}},S=b=>{b.relatedTarget&&b.relatedTarget!==document.documentElement||E(b)},w=b=>{c&&(b.stopPropagation(),b.preventDefault())},k=b=>{b.defaultPrevented||s.size>1||c&&b.preventDefault()};document.addEventListener("pointermove",M),document.addEventListener("pointerup",E),document.addEventListener("pointerout",S),document.addEventListener("pointercancel",S),document.addEventListener("touchmove",k,{passive:!1}),document.addEventListener("click",w,{capture:!0}),a=()=>{document.
159
+ removeEventListener("pointermove",M),document.removeEventListener("pointerup",E),document.removeEventListener("pointerout",S),document.removeEventListener("pointercancel",S),document.removeEventListener("touchmove",k),setTimeout((()=>{document.removeEventListener("click",w,{capture:!0})}),10)}};return h.addEventListener("pointerdown",o),{signal:r,cleanup:()=>{a(),h.removeEventListener("pointerdown",o),s.clear(),B(r)}}}var V=class extends U{constructor(t,e,i=0){var n,r,s,l,a,o,d,p,u,m;super(),this.
160
+ totalDuration=e,this.numberOfChannels=i,this.element=null,this.minLength=0,this.maxLength=1/0,this.contentEditable=!1,this.subscriptions=[],this.updatingSide=void 0,this.isRemoved=!1,this.subscriptions=[],this.id=t.id||`region-${Math.random().toString(32).slice(2)}`,this.start=this.clampPosition(t.start),this.end=this.clampPosition((n=t.end)!==null&&n!==void 0?n:t.start),this.drag=(r=t.drag)===null||r===void 0||r,this.resize=(s=t.resize)===null||s===void 0||s,this.resizeStart=(l=t.resizeStart)===
161
+ null||l===void 0||l,this.resizeEnd=(a=t.resizeEnd)===null||a===void 0||a,this.color=(o=t.color)!==null&&o!==void 0?o:"rgba(0, 0, 0, 0.1)",this.minLength=(d=t.minLength)!==null&&d!==void 0?d:this.minLength,this.maxLength=(p=t.maxLength)!==null&&p!==void 0?p:this.maxLength,this.channelIdx=(u=t.channelIdx)!==null&&u!==void 0?u:-1,this.contentEditable=(m=t.contentEditable)!==null&&m!==void 0?m:this.contentEditable,this.element=this.initElement(),this.setContent(t.content),this.setPart(),this.renderPosition(),
162
+ this.initMouseEvents()}clampPosition(t){return Math.max(0,Math.min(this.totalDuration,t))}setPart(){var t;let e=this.start===this.end;(t=this.element)===null||t===void 0||t.setAttribute("part",`${e?"marker":"region"} ${this.id}`)}addResizeHandles(t){let e={position:"absolute",zIndex:"2",width:"6px",height:"100%",top:"0",cursor:"ew-resize",wordBreak:"keep-all"},i=j("div",{part:"region-handle region-handle-left",style:Object.assign(Object.assign({},e),{left:"0",borderLeft:"2px solid rgba(0, 0, 0, \
163
+ 0.5)",borderRadius:"2px 0 0 2px"})},t),n=j("div",{part:"region-handle region-handle-right",style:Object.assign(Object.assign({},e),{right:"0",borderRight:"2px solid rgba(0, 0, 0, 0.5)",borderRadius:"0 2px 2px 0"})},t),r=F(i,{threshold:1}),s=F(n,{threshold:1}),l=X((()=>{let o=r.signal.value;o&&(o.type==="move"&&o.deltaX!==void 0?this.onResize(o.deltaX,"start"):o.type==="end"&&this.onEndResizing("start"))}),[r.signal]),a=X((()=>{let o=s.signal.value;o&&(o.type==="move"&&o.deltaX!==void 0?this.onResize(
164
+ o.deltaX,"end"):o.type==="end"&&this.onEndResizing("end"))}),[s.signal]);this.subscriptions.push((()=>{l(),a(),r.cleanup(),s.cleanup()}))}removeResizeHandles(t){let e=t.querySelector('[part*="region-handle-left"]'),i=t.querySelector('[part*="region-handle-right"]');e&&t.removeChild(e),i&&t.removeChild(i)}initElement(){if(this.isRemoved)return null;let t=this.start===this.end,e=0,i=100;this.channelIdx>=0&&this.numberOfChannels>0&&this.channelIdx<this.numberOfChannels&&(i=100/this.numberOfChannels,
165
+ e=i*this.channelIdx);let n=j("div",{style:{position:"absolute",top:`${e}%`,height:`${i}%`,backgroundColor:t?"none":this.color,borderLeft:t?"2px solid "+this.color:"none",borderRadius:"2px",boxSizing:"border-box",transition:"background-color 0.2s ease",cursor:this.drag?"grab":"default",pointerEvents:"all"}});return!t&&this.resize&&this.addResizeHandles(n),n}renderPosition(){if(!this.element)return;let t=this.start/this.totalDuration,e=(this.totalDuration-this.end)/this.totalDuration;this.element.
166
+ style.left=100*t+"%",this.element.style.right=100*e+"%"}toggleCursor(t){var e;this.drag&&(!((e=this.element)===null||e===void 0)&&e.style)&&(this.element.style.cursor=t?"grabbing":"grab")}initMouseEvents(){let{element:t}=this;if(!t)return;let e=N(t,"click"),i=N(t,"mouseenter"),n=N(t,"mouseleave"),r=N(t,"dblclick"),s=N(t,"pointerdown"),l=N(t,"pointerup"),a=e.subscribe((g=>g&&this.emit("click",g))),o=i.subscribe((g=>g&&this.emit("over",g))),d=n.subscribe((g=>g&&this.emit("leave",g))),p=r.subscribe(
167
+ (g=>g&&this.emit("dblclick",g))),u=s.subscribe((g=>g&&this.toggleCursor(!0))),m=l.subscribe((g=>g&&this.toggleCursor(!1)));this.subscriptions.push((()=>{a(),o(),d(),p(),u(),m(),B(e),B(i),B(n),B(r),B(s),B(l)}));let c=F(t),v=X((()=>{let g=c.signal.value;g&&(g.type==="start"?this.toggleCursor(!0):g.type==="move"&&g.deltaX!==void 0?this.onMove(g.deltaX):g.type==="end"&&(this.toggleCursor(!1),this.drag&&this.emit("update-end")))}),[c.signal]);this.subscriptions.push((()=>{v(),c.cleanup()})),this.contentEditable&&
168
+ this.content&&(this.contentClickListener=g=>this.onContentClick(g),this.contentBlurListener=()=>this.onContentBlur(),this.content.addEventListener("click",this.contentClickListener),this.content.addEventListener("blur",this.contentBlurListener))}_onUpdate(t,e,i){var n;if(!(!((n=this.element)===null||n===void 0)&&n.parentElement))return;let{width:r}=this.element.parentElement.getBoundingClientRect(),s=t/r*this.totalDuration,l=e&&e!=="start"?this.start:this.start+s,a=e&&e!=="end"?this.end:this.end+
169
+ s,o=i!==void 0;o&&this.updatingSide&&this.updatingSide!==e&&(this.updatingSide==="start"?l=i:a=i),l=Math.max(0,l),a=Math.min(this.totalDuration,a);let d=a-l;this.updatingSide=e;let p=d>=this.minLength&&d<=this.maxLength;l<=a&&(p||o)&&(this.start=l,this.end=a,this.renderPosition(),this.emit("update",e))}onMove(t){this.drag&&this._onUpdate(t)}onResize(t,e){this.resize&&(this.resizeStart||e!=="start")&&(this.resizeEnd||e!=="end")&&this._onUpdate(t,e)}onEndResizing(t){this.resize&&(this.emit("update\
170
+ -end",t),this.updatingSide=void 0)}onContentClick(t){t.stopPropagation(),t.target.focus(),this.emit("click",t)}onContentBlur(){this.emit("update-end")}_setTotalDuration(t){this.totalDuration=t,this.renderPosition()}play(t){this.emit("play",t&&this.end!==this.start?this.end:void 0)}getContent(t=!1){var e;return t?this.content||void 0:this.element instanceof HTMLElement?((e=this.content)===null||e===void 0?void 0:e.innerHTML)||void 0:""}setContent(t){var e;if(this.element)if(this.content&&this.contentEditable&&
171
+ (this.contentClickListener&&this.content.removeEventListener("click",this.contentClickListener),this.contentBlurListener&&this.content.removeEventListener("blur",this.contentBlurListener)),(e=this.content)===null||e===void 0||e.remove(),t){if(typeof t=="string"){let i=this.start===this.end;this.content=j("div",{style:{padding:`0.2em ${i?.2:.4}em`,display:"inline-block"},textContent:t})}else this.content=t;this.contentEditable&&(this.content.contentEditable="true",this.contentClickListener=i=>this.
172
+ onContentClick(i),this.contentBlurListener=()=>this.onContentBlur(),this.content.addEventListener("click",this.contentClickListener),this.content.addEventListener("blur",this.contentBlurListener)),this.content.setAttribute("part","region-content"),this.element.appendChild(this.content),this.emit("content-changed")}else this.content=void 0}setOptions(t){var e,i;if(this.element){if(t.color&&(this.color=t.color,this.element.style.backgroundColor=this.color),t.drag!==void 0&&(this.drag=t.drag,this.element.
173
+ style.cursor=this.drag?"grab":"default"),t.start!==void 0||t.end!==void 0){let n=this.start===this.end;this.start=this.clampPosition((e=t.start)!==null&&e!==void 0?e:this.start),this.end=this.clampPosition((i=t.end)!==null&&i!==void 0?i:n?this.start:this.end),this.renderPosition(),this.setPart(),this.emit("render")}if(t.content&&this.setContent(t.content),t.id&&(this.id=t.id,this.setPart()),t.resize!==void 0&&t.resize!==this.resize){let n=this.start===this.end;this.resize=t.resize,this.resize&&!n?
174
+ this.addResizeHandles(this.element):this.removeResizeHandles(this.element)}t.resizeStart!==void 0&&(this.resizeStart=t.resizeStart),t.resizeEnd!==void 0&&(this.resizeEnd=t.resizeEnd)}}remove(){this.isRemoved=!0,this.emit("remove"),this.subscriptions.forEach((t=>t())),this.subscriptions=[],this.content&&this.contentEditable&&(this.contentClickListener&&(this.content.removeEventListener("click",this.contentClickListener),this.contentClickListener=void 0),this.contentBlurListener&&(this.content.removeEventListener(
175
+ "blur",this.contentBlurListener),this.contentBlurListener=void 0)),this.element&&(this.element.remove(),this.element=null),this.unAll()}},J=class h extends Z{constructor(t){super(t),this.regions=[],this.regionsContainer=this.initRegionsContainer()}static create(t){return new h(t)}onInit(){if(!this.wavesurfer)throw Error("WaveSurfer is not initialized");this.wavesurfer.getWrapper().appendChild(this.regionsContainer),this.subscriptions.push(this.wavesurfer.on("ready",(e=>{this.regions.forEach((i=>i.
176
+ _setTotalDuration(e)))})));let t=[];this.subscriptions.push(this.wavesurfer.on("timeupdate",(e=>{let i=this.regions.filter((n=>n.start<=e&&(n.end===n.start?n.start+.05:n.end)>=e));i.forEach((n=>{t.includes(n)||this.emit("region-in",n)})),t.forEach((n=>{i.includes(n)||this.emit("region-out",n)})),t=i})))}initRegionsContainer(){return j("div",{part:"regions-container",style:{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",zIndex:"5",pointerEvents:"none"}})}getRegions(){return this.
177
+ regions}avoidOverlapping(t){t.content&&!t.isRemoved&&setTimeout((()=>{if(!t.content)return;let e=t.content;e.style.marginTop="0";let i=e.getBoundingClientRect(),n=this.regions.indexOf(t);if(n<0)return;let r=this.regions.slice(0,n).filter((s=>!s.isRemoved)).reduce(((s,l)=>{if(l===t||!l.content)return s;let a=l.content.getBoundingClientRect();return i.left<a.right&&a.left<i.right&&s.push(a),s}),[]).sort(((s,l)=>s.top-l.top)).reduce(((s,l)=>{let a=i.top+s,o=a+i.height;return a<l.bottom&&l.top<o?l.bottom-
178
+ i.top+2:s}),0);e.style.marginTop=`${r}px`}),10)}avoidOverlappingAll(){this.regions.forEach((t=>this.avoidOverlapping(t)))}adjustScroll(t){var e,i;if(!t.element)return;let n=(i=(e=this.wavesurfer)===null||e===void 0?void 0:e.getWrapper())===null||i===void 0?void 0:i.parentElement;if(!n)return;let{clientWidth:r,scrollWidth:s}=n;if(s<=r)return;let l=n.getBoundingClientRect(),a=t.element.getBoundingClientRect(),o=a.left-l.left,d=a.right-l.left;o<0?n.scrollLeft+=o:d>r&&(n.scrollLeft+=d-r)}virtualAppend(t,e,i){
179
+ let n=()=>{if(!this.wavesurfer)return;let r=this.wavesurfer.getWidth(),s=this.wavesurfer.getScroll(),l=e.clientWidth,a=this.wavesurfer.getDuration(),o=Math.round(t.start/a*l),d=o+(Math.round((t.end-t.start)/a*l)||1)>s&&o<s+r;d&&!i.parentElement?e.appendChild(i):!d&&i.parentElement&&i.remove()};setTimeout((()=>{if(!this.wavesurfer||!t.element)return;n();let r=this.wavesurfer.on("scroll",n),s=this.wavesurfer.on("zoom",n),l=this.wavesurfer.on("resize",n),a=t.on("render",n),o=[r,s,l,a];this.subscriptions.
180
+ push(...o),t.once("remove",(()=>{r(),s(),l(),a(),this.subscriptions=this.subscriptions.filter((d=>!o.includes(d)))}))}),0)}saveRegion(t){if(!t.element)return;this.virtualAppend(t,this.regionsContainer,t.element),this.avoidOverlapping(t),this.regions.push(t);let e=[t.on("update",(i=>{i||this.adjustScroll(t),this.emit("region-update",t,i)})),t.on("update-end",(i=>{this.avoidOverlappingAll(),this.emit("region-updated",t,i)})),t.on("play",(i=>{var n;(n=this.wavesurfer)===null||n===void 0||n.play(t.start,
181
+ i)})),t.on("click",(i=>{this.emit("region-clicked",t,i)})),t.on("dblclick",(i=>{this.emit("region-double-clicked",t,i)})),t.on("content-changed",(()=>{this.emit("region-content-changed",t)})),t.once("remove",(()=>{e.forEach((i=>i())),this.subscriptions=this.subscriptions.filter((i=>!e.includes(i))),this.regions=this.regions.filter((i=>i!==t)),this.emit("region-removed",t)}))];this.subscriptions.push(...e),this.emit("region-created",t)}addRegion(t){var e,i;if(!this.wavesurfer)throw Error("WaveSur\
182
+ fer is not initialized");let n=this.wavesurfer.getDuration(),r=(i=(e=this.wavesurfer)===null||e===void 0?void 0:e.getDecodedData())===null||i===void 0?void 0:i.numberOfChannels,s=new V(t,n,r);if(this.emit("region-initialized",s),n)this.saveRegion(s);else{let l=this.wavesurfer.once("ready",(a=>{s._setTotalDuration(a),this.saveRegion(s),this.subscriptions=this.subscriptions.filter((o=>o!==l))}));this.subscriptions.push(l)}return s}enableDragSelection(t,e=3){var i;let n=(i=this.wavesurfer)===null||
183
+ i===void 0?void 0:i.getWrapper();if(!(n&&n instanceof HTMLElement))return()=>{};let r=null,s=0,l=0,a=F(n,{threshold:e}),o=X((()=>{var d,p;let u=a.signal.value;if(u)if(u.type==="start"){if(s=u.x,!this.wavesurfer)return;let m=this.wavesurfer.getDuration(),c=(p=(d=this.wavesurfer)===null||d===void 0?void 0:d.getDecodedData())===null||p===void 0?void 0:p.numberOfChannels,{width:v}=this.wavesurfer.getWrapper().getBoundingClientRect();l=s/v*m;let g=u.x/v*m,C=(u.x+5)/v*m;r=new V(Object.assign(Object.assign(
184
+ {},t),{start:g,end:C}),m,c),this.emit("region-initialized",r),r.element&&this.regionsContainer.appendChild(r.element)}else u.type==="move"&&u.deltaX!==void 0?r&&r._onUpdate(u.deltaX,u.x>s?"end":"start",l):u.type==="end"&&r&&(this.saveRegion(r),r.updatingSide=void 0,r=null)}),[a.signal]);return()=>{o(),a.cleanup()}}clearRegions(){this.regions.slice().forEach((t=>t.remove())),this.regions=[]}destroy(){this.clearRegions(),super.destroy(),this.regionsContainer.remove()}};export{J as RegionsPlugin,H as WaveSurfer,H as default};
@@ -0,0 +1,21 @@
1
+ Copyright (c) 2012-2016 Dan Wheeler and Dropbox, Inc.
2
+ Copyright (c) 2021 @zxcvbn-ts
3
+
4
+ Permission is hereby granted, free of charge, to any person obtaining
5
+ a copy of this software and associated documentation files (the
6
+ "Software"), to deal in the Software without restriction, including
7
+ without limitation the rights to use, copy, modify, merge, publish,
8
+ distribute, sublicense, and/or sell copies of the Software, and to
9
+ permit persons to whom the Software is furnished to do so, subject to
10
+ the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be
13
+ included in all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,192 @@
1
+ # zxcvbn/ — password strength estimation, vendored
2
+
3
+ `index.js` is [zxcvbn-ts](https://github.com/zxcvbn-ts/zxcvbn) — the modern
4
+ modular rewrite of Dropbox's zxcvbn — bundled to a single self-contained ES
5
+ module. Licence **MIT** (SPDX **`MIT`**), verified from the upstream
6
+ `LICENSE.txt` in the checkout below, copied here as `LICENSE`.
7
+
8
+ ## Provenance — where these exact bytes came from
9
+
10
+ | | |
11
+ | -------------------------------- | ---------------------------------------------------- |
12
+ | **Source** | the **local `zxcvbn-ts` monorepo checkout**, not npm |
13
+ | **Commit** | `642ef8f0c40d8267e9fc2d4de29ab2691e87a10e` |
14
+ | **Working tree** | clean at build time (`git status --porcelain` empty) |
15
+ | **`git describe --tags --long`** | `@zxcvbn-ts/core@4.2.0-0-g642ef8f` |
16
+ | **Vendored** | 2026-08-13 |
17
+ | **SPDX** | `MIT` |
18
+
19
+ The `-0-` in the describe output means HEAD **is** the tagged commit, so this
20
+ bundle does correspond to a published release rather than to an untagged
21
+ working state. That is the good case. The tradeoff to know for next time: a
22
+ bundle built from an _untagged_ commit no longer matches any release, and then
23
+ the SHA is the only thing that makes it reproducible — which is why the SHA is
24
+ recorded here regardless.
25
+
26
+ It is a monorepo with independently versioned packages, so there is no single
27
+ "zxcvbn-ts version". Per package, read from each `package.json` in that
28
+ checkout:
29
+
30
+ | package | version | role |
31
+ | ---------------------------- | --------- | ------------------------------------------------------------------- |
32
+ | `@zxcvbn-ts/core` | **4.2.0** | matchers, scoring, feedback, time estimates |
33
+ | `@zxcvbn-ts/language-common` | **4.1.3** | shared password / diceware lists, keyboard adjacency graphs |
34
+ | `@zxcvbn-ts/language-en` | **4.1.1** | English words, first names, surnames, Wikipedia terms, translations |
35
+
36
+ **Two runtime dependencies came from npm, not the checkout** — a stated
37
+ fallback, because the monorepo checkout carries no `node_modules` and neither
38
+ package is vendored inside it:
39
+
40
+ | package | version | why |
41
+ | ----------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------- |
42
+ | `fastest-levenshtein` | **1.0.16** | required by `core/src/utils/levenshtein.ts`; the version is `core`'s own exact pin, not a range resolution |
43
+ | `@zxcvbn-ts/dictionary-compression` | **3.0.1** | build-time `compress` + the `decompress` shipped in the bundle; upstream's own `scripts/rollup.config.mjs` treats it the same way |
44
+
45
+ Build tooling from npm: `esbuild` **0.28.2**. Every line of zxcvbn itself is
46
+ from the checkout.
47
+
48
+ Because `--legal-comments=none` strips the inline notices, the MIT notice
49
+ clause is satisfied by the `LICENSE` file here plus the banner at the top of
50
+ `index.js` — the same arrangement `media-chrome/` uses.
51
+
52
+ ## Dictionary data — exactly what is in here
53
+
54
+ This is the bulk of the bundle and the part most likely to need regenerating,
55
+ so it is itemised. All of it is the `src/*.json` in the checkout, compressed at
56
+ build time (see below); raw sizes are the on-disk JSON in the checkout.
57
+
58
+ | pack | file | raw |
59
+ | ----------------- | ---------------------- | --------------------------------- |
60
+ | `language-common` | `passwords.json` | 476 KB |
61
+ | `language-common` | `diceware.json` | 76 KB |
62
+ | `language-common` | `adjacencyGraphs.json` | 16 KB |
63
+ | `language-en` | `lastnames.json` | 856 KB |
64
+ | `language-en` | `commonWords.json` | 548 KB |
65
+ | `language-en` | `wikipedia.json` | 328 KB |
66
+ | `language-en` | `firstnames.json` | 44 KB |
67
+ | `language-en` | `wordSequences.json` | 4 KB |
68
+ | `language-en` | `translations.ts` | the feedback strings the UI shows |
69
+
70
+ **No other language pack is included and none should be** — the checkout ships
71
+ about twenty more and each is another half-megabyte. Adding one means editing
72
+ `lean.ts` to merge its `dictionary` into the factory, and re-measuring.
73
+
74
+ ## Size — this is the whole design constraint
75
+
76
+ index.js 1,670,255 bytes (1.59 MiB) minified
77
+ 859,084 bytes (839 KiB) gzipped
78
+ module eval ~220 ms in Node, dominated by dictionary decompression
79
+
80
+ That is roughly six times the vendored Observable Plot bundle. **It must never
81
+ be on a component's static import graph.** `password-strength.gts` reaches it
82
+ through `await import('./zxcvbn/index.js')` behind a cached promise, so
83
+ `PasswordInput` renders, accepts input and submits with the bundle untouched;
84
+ the first keystroke under `@strength={{true}}` is what fetches it.
85
+
86
+ Dictionary compression is applied at build time exactly as upstream's
87
+ `scripts/jsonPlugin.mjs` does it (array-valued JSON → `compress()` → a
88
+ `decompress()` call at module scope). Without it the same bundle is 2,437,587
89
+ bytes / 989 KB gzipped, so the compression is worth keeping even though it
90
+ costs the ~220 ms of eval above.
91
+
92
+ ## Exports — one function, deliberately
93
+
94
+ ```ts
95
+ estimate(password: string, userInputs?: (string | number)[]): PasswordEstimate
96
+ // { score, warning, suggestions, guessesLog10, crackTime }
97
+ ```
98
+
99
+ The raw `ZxcvbnResult` is **not** exported. It carries `sequence`, an array of
100
+ the matched _substrings of the password_ — the shortest path from "we added a
101
+ strength meter" to a password in a DOM node or a log line. Reducing at the
102
+ bundle boundary means no consumer can reach it. `userInputs` is the argument
103
+ that matters most: pass the user's name, email and handle and "chris1985"
104
+ stops reading as strong.
105
+
106
+ Types live in `index.d.ts` beside the bundle so `import()` type-resolves.
107
+
108
+ ## Two vendor patches, both about realm determinism
109
+
110
+ Upstream reads the wall clock twice. A realm forbids that (indexing
111
+ determinism), so both are patched in the build tree before bundling and the
112
+ patched lines carry a `PRETUI VENDOR PATCH` comment:
113
+
114
+ - `libraries/main/src/index.ts` — `const time = () => new Date().getTime()`
115
+ becomes `() => 0`. It only feeds `calcTime` on the result, which is not part
116
+ of the exported surface.
117
+ - `libraries/main/src/data/const.ts` — `REFERENCE_YEAR = new Date().getFullYear()`
118
+ is **module scope**, so it would read the clock during indexing. Frozen to
119
+ `2026`. It only affects how "recent" a year inside a password is judged;
120
+ **bump it when re-vendoring.**
121
+
122
+ Audited in the shipped bundle: **0** `Date.now`, **0** `new Date`, **0**
123
+ `Math.random`, **0** `setTimeout`/`setInterval`/`requestAnimationFrame`, **0**
124
+ `document.`/`window.`, **0** network calls. Estimation is entirely local and
125
+ must stay that way.
126
+
127
+ Not exported for the same reason: upstream's `debounce` helper, which owns an
128
+ unowned `setTimeout`. The debounce that ships is `OneShotDebounce` in
129
+ `password-strength.gts`, owned by an `ember-modifier` that cancels it in its
130
+ destructor.
131
+
132
+ ## Build
133
+
134
+ From a scratch tree holding `npm i esbuild@0.28.2 fastest-levenshtein@1.0.16
135
+ @zxcvbn-ts/dictionary-compression@3.0.1` plus copies of three `src/`
136
+ directories taken from the checkout at the commit above —
137
+ `packages/libraries/main/src` → `src/core`, `packages/languages/common/src` →
138
+ `src/common`, `packages/languages/en/src` → `src/en` — with the two patches
139
+ above applied, and `lean.ts` (the entry reproduced below):
140
+
141
+ ```
142
+ esbuild lean.ts --bundle --format=esm --minify --line-limit=500 \
143
+ --legal-comments=none --banner:js="<licence banner>" --outfile=index.js
144
+ ```
145
+
146
+ plus an `onLoad` plugin for `/\.json$/` that mirrors upstream's
147
+ `scripts/jsonPlugin.mjs`. Without that plugin the dictionaries bundle raw.
148
+
149
+ `lean.ts`:
150
+
151
+ ```ts
152
+ import { ZxcvbnFactory } from './src/core/index';
153
+ import { dictionary as common, adjacencyGraphs } from './src/common/index';
154
+ import { dictionary as en, translations } from './src/en/index';
155
+
156
+ const factory = new ZxcvbnFactory({
157
+ dictionary: { ...common, ...en },
158
+ graphs: adjacencyGraphs,
159
+ translations,
160
+ });
161
+
162
+ export function estimate(password, userInputs = []) {
163
+ const r = factory.check(password, userInputs);
164
+ return {
165
+ score: r.score,
166
+ warning: r.feedback.warning ?? '',
167
+ suggestions: r.feedback.suggestions ?? [],
168
+ guessesLog10: r.guessesLog10,
169
+ crackTime: String(
170
+ r.crackTimes?.offlineSlowHashingXPerSecond?.display ?? '',
171
+ ),
172
+ };
173
+ }
174
+ ```
175
+
176
+ Note `crackTimes[scenario].display` — the shape is not `crackTimesDisplay`,
177
+ which is what the v3 docs suggest and what silently returns `undefined`.
178
+
179
+ ## Two things to know before using it
180
+
181
+ - **Import is DOM-free and the module evaluates cleanly under plain Node** —
182
+ verified — so it cannot break indexing wherever it lands in the graph. It is
183
+ still lazily imported, for weight, not for safety.
184
+ - **Estimation is advice, never a gate.** Current NIST 800-63B guidance is that
185
+ composition rules are counterproductive and that length plus
186
+ not-being-breached is what matters. Do not block submission on a score.
187
+ zxcvbn agrees with NIST in its own words — one of its stock suggestions is
188
+ "You can create strong passwords without using symbols, numbers, or
189
+ uppercase letters."
190
+
191
+ See `password-strength.gts` for the Glimmer binding, and `controls-extras.gts`
192
+ for the `PasswordInput @strength={{true}}` opt-in.
@@ -0,0 +1,28 @@
1
+ // Hand-written types for the vendored bundle in this directory. They exist so
2
+ // that `import('./zxcvbn/index.js')` type-resolves under `boxel parse` instead
3
+ // of joining the "Cannot find module" baseline noise. Keep in sync with
4
+ // lean.ts as recorded in README.md.
5
+
6
+ /** A password estimate reduced to values that contain no part of the password. */
7
+ export interface PasswordEstimate {
8
+ /** zxcvbn score, 0 (too guessable) … 4 (very unguessable) */
9
+ score: 0 | 1 | 2 | 3 | 4;
10
+ /** zxcvbn's single headline warning, '' when it has none */
11
+ warning: string;
12
+ /** zxcvbn's actionable suggestions, possibly empty */
13
+ suggestions: string[];
14
+ /** log10 of the estimated guess count */
15
+ guessesLog10: number;
16
+ /** humanised crack time under a slow salted hash at 1e4 guesses/second */
17
+ crackTime: string;
18
+ }
19
+
20
+ /**
21
+ * Estimate the strength of `password`, optionally told what the user's own
22
+ * name / email / handle are so that "chris1985" does not read as strong.
23
+ * Runs entirely locally; makes no network request of any kind.
24
+ */
25
+ export declare function estimate(
26
+ password: string,
27
+ userInputs?: (string | number)[],
28
+ ): PasswordEstimate;