entasis 0.11.0 → 0.12.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 (839) hide show
  1. package/README.md +1 -1
  2. package/dist/attachments/disclosurePanel.svelte.d.ts +84 -0
  3. package/dist/attachments/disclosurePanel.svelte.js +277 -0
  4. package/dist/attachments/portal.d.ts +17 -1
  5. package/dist/attachments/portal.js +39 -2
  6. package/dist/attachments/spinnerOverlay.svelte.js +12 -0
  7. package/dist/attachments/transitionSize.d.ts +6 -0
  8. package/dist/attachments/transitionSize.js +30 -0
  9. package/dist/components/AIAskUserQuestion/AIAskUserQuestion.svelte +131 -17
  10. package/dist/components/AIAskUserQuestion/AIAskUserQuestionFileStep.svelte +26 -6
  11. package/dist/components/AIAskUserQuestion/AIAskUserQuestionFileStep.svelte.d.ts +6 -0
  12. package/dist/components/AIAskUserQuestion/AIAskUserQuestionFooter.svelte +27 -53
  13. package/dist/components/AIAskUserQuestion/AIAskUserQuestionFooter.svelte.d.ts +3 -4
  14. package/dist/components/AIAskUserQuestion/AIAskUserQuestionHeader.svelte +19 -16
  15. package/dist/components/AIAskUserQuestion/AIAskUserQuestionStep.svelte +180 -21
  16. package/dist/components/AIAskUserQuestion/AIAskUserQuestionStep.svelte.d.ts +9 -1
  17. package/dist/components/AIAskUserQuestion/AIAskUserQuestionSummary.svelte +56 -0
  18. package/dist/components/AIAskUserQuestion/AIAskUserQuestionSummary.svelte.d.ts +4 -0
  19. package/dist/components/AIAskUserQuestion/aiAskUserQuestion.mcp.d.ts +1 -1
  20. package/dist/components/AIAskUserQuestion/aiAskUserQuestion.mcp.js +26 -8
  21. package/dist/components/AIAskUserQuestion/aiAskUserQuestion.props.d.ts +62 -5
  22. package/dist/components/AIAskUserQuestion/aiAskUserQuestion.theme.d.ts +42 -0
  23. package/dist/components/AIAskUserQuestion/aiAskUserQuestion.theme.js +53 -12
  24. package/dist/components/AIAskUserQuestion/aiAskUserQuestionAnswers.d.ts +17 -1
  25. package/dist/components/AIAskUserQuestion/aiAskUserQuestionAnswers.js +56 -8
  26. package/dist/components/AIAskUserQuestion/index.d.ts +3 -1
  27. package/dist/components/AIAskUserQuestion/index.js +2 -0
  28. package/dist/components/AIAskUserQuestion/schemas.d.ts +44 -0
  29. package/dist/components/AIAskUserQuestion/schemas.js +10 -3
  30. package/dist/components/AIChat/AIChat.svelte +10 -0
  31. package/dist/components/AIChat/AIChat.svelte.d.ts +2 -2
  32. package/dist/components/AIChat/AIChatComposerSurface.svelte +23 -5
  33. package/dist/components/AIChat/AIChatComposerSurface.svelte.d.ts +5 -0
  34. package/dist/components/AIChat/AIChatSkeleton.svelte +29 -37
  35. package/dist/components/AIChat/AIChatSurface.svelte +30 -2
  36. package/dist/components/AIChat/AIChatSurface.svelte.d.ts +1 -1
  37. package/dist/components/AIChat/AIChatThreadSurface.svelte +11 -1
  38. package/dist/components/AIChat/AIChatThreadSurface.svelte.d.ts +3 -1
  39. package/dist/components/AIChat/aiChat.mcp.d.ts +1 -1
  40. package/dist/components/AIChat/aiChat.mcp.js +31 -15
  41. package/dist/components/AIChat/aiChat.props.d.ts +36 -10
  42. package/dist/components/AIChat/aiChat.theme.d.ts +9 -0
  43. package/dist/components/AIChat/aiChat.theme.js +21 -4
  44. package/dist/components/AIChat/aiChatSkeleton.props.d.ts +5 -0
  45. package/dist/components/AIChat/index.d.ts +1 -1
  46. package/dist/components/AIComposer/AIComposer.svelte +102 -5
  47. package/dist/components/AIComposer/AIComposer.svelte.d.ts +1 -0
  48. package/dist/components/AIComposer/AIComposerFooter.svelte +54 -12
  49. package/dist/components/AIComposer/AIComposerFooter.svelte.d.ts +2 -0
  50. package/dist/components/AIComposer/AIComposerQueue.svelte +8 -3
  51. package/dist/components/AIComposer/aiComposer.editor.theme.js +13 -2
  52. package/dist/components/AIComposer/aiComposer.mcp.d.ts +1 -1
  53. package/dist/components/AIComposer/aiComposer.mcp.js +15 -7
  54. package/dist/components/AIComposer/aiComposer.props.d.ts +27 -7
  55. package/dist/components/AIComposer/aiComposer.theme.d.ts +42 -3
  56. package/dist/components/AIComposer/aiComposer.theme.js +37 -5
  57. package/dist/components/AIComposer/aiComposerFileController.svelte.d.ts +20 -0
  58. package/dist/components/AIComposer/aiComposerFileController.svelte.js +75 -9
  59. package/dist/components/AIComposer/aiComposerSourceAdapter.js +22 -4
  60. package/dist/components/AIComposer/aiComposerSubmitController.svelte.d.ts +12 -0
  61. package/dist/components/AIComposer/aiComposerSubmitController.svelte.js +16 -6
  62. package/dist/components/AIContext/AIContext.svelte +7 -3
  63. package/dist/components/AIContext/aiContext.mcp.d.ts +1 -1
  64. package/dist/components/AIContext/aiContext.mcp.js +1 -1
  65. package/dist/components/AIContext/aiContext.props.d.ts +4 -1
  66. package/dist/components/AIContext/aiContext.theme.d.ts +3 -0
  67. package/dist/components/AIContext/aiContext.theme.js +7 -2
  68. package/dist/components/AIConversation/AIConversation.svelte.d.ts +2 -2
  69. package/dist/components/AIFilePreview/aiFilePreview.theme.js +1 -1
  70. package/dist/components/AIMarker/AIMarker.svelte +2 -0
  71. package/dist/components/AIMarker/aiMarker.mcp.d.ts +1 -1
  72. package/dist/components/AIMarker/aiMarker.mcp.js +2 -0
  73. package/dist/components/AIMarker/aiMarker.props.d.ts +3 -0
  74. package/dist/components/AIMarker/aiMarker.theme.js +2 -2
  75. package/dist/components/AIMessage/AIMessage.svelte +38 -16
  76. package/dist/components/AIMessage/aiMessage.mcp.d.ts +1 -1
  77. package/dist/components/AIMessage/aiMessage.mcp.js +20 -6
  78. package/dist/components/AIMessage/aiMessage.props.d.ts +18 -2
  79. package/dist/components/AIMessage/aiMessage.theme.d.ts +51 -6
  80. package/dist/components/AIMessage/aiMessage.theme.js +91 -32
  81. package/dist/components/AIMessageActions/AIMessageActions.svelte +19 -9
  82. package/dist/components/AIMessageActions/aiMessageActions.mcp.d.ts +1 -1
  83. package/dist/components/AIMessageActions/aiMessageActions.mcp.js +11 -3
  84. package/dist/components/AIMessageActions/aiMessageActions.theme.js +36 -9
  85. package/dist/components/AIModelSelector/AIModelSelector.svelte +25 -10
  86. package/dist/components/AIModelSelector/aiModelSelector.mcp.d.ts +1 -1
  87. package/dist/components/AIModelSelector/aiModelSelector.mcp.js +1 -1
  88. package/dist/components/AIModelSelector/aiModelSelector.theme.d.ts +3 -0
  89. package/dist/components/AIModelSelector/aiModelSelector.theme.js +7 -3
  90. package/dist/components/AIReasoning/AIReasoning.svelte +135 -38
  91. package/dist/components/AIReasoning/aiReasoning.mcp.d.ts +1 -1
  92. package/dist/components/AIReasoning/aiReasoning.mcp.js +11 -5
  93. package/dist/components/AIReasoning/aiReasoning.props.d.ts +15 -4
  94. package/dist/components/AIReasoning/aiReasoning.theme.d.ts +45 -0
  95. package/dist/components/AIReasoning/aiReasoning.theme.js +47 -7
  96. package/dist/components/AISuggestion/AISuggestion.svelte +2 -1
  97. package/dist/components/AISuggestion/AISuggestions.svelte +2 -1
  98. package/dist/components/AISuggestion/aiSuggestion.mcp.d.ts +1 -1
  99. package/dist/components/AISuggestion/aiSuggestion.mcp.js +8 -1
  100. package/dist/components/AISuggestion/aiSuggestion.props.d.ts +4 -1
  101. package/dist/components/AISuggestion/aiSuggestion.theme.js +1 -1
  102. package/dist/components/AISuggestion/aiSuggestions.props.d.ts +7 -0
  103. package/dist/components/AIThread/AIThread.svelte +378 -95
  104. package/dist/components/AIThread/AIThreadAskUserQuestion.svelte +1 -0
  105. package/dist/components/AIThread/AIThreadItems.svelte +266 -64
  106. package/dist/components/AIThread/AIThreadItems.svelte.d.ts +7 -3
  107. package/dist/components/AIThread/AIThreadMarker.svelte +8 -1
  108. package/dist/components/AIThread/AIThreadMarker.svelte.d.ts +1 -0
  109. package/dist/components/AIThread/aiThread.mcp.d.ts +1 -1
  110. package/dist/components/AIThread/aiThread.mcp.js +34 -20
  111. package/dist/components/AIThread/aiThread.props.d.ts +73 -8
  112. package/dist/components/AIThread/aiThread.theme.d.ts +78 -0
  113. package/dist/components/AIThread/aiThread.theme.js +108 -9
  114. package/dist/components/AIThread/index.d.ts +1 -1
  115. package/dist/components/AIThread/threadAskUserQuestion.d.ts +4 -1
  116. package/dist/components/AIThread/threadAskUserQuestion.js +8 -4
  117. package/dist/components/AIThread/threadRenderItems.d.ts +74 -3
  118. package/dist/components/AIThread/threadRenderItems.js +265 -77
  119. package/dist/components/AIThread/threadScrollController.d.ts +0 -8
  120. package/dist/components/AIThread/threadScrollController.js +2 -39
  121. package/dist/components/AIThread/threadTools.d.ts +11 -0
  122. package/dist/components/AIThread/threadTools.js +79 -0
  123. package/dist/components/AIThreadToc/AIThreadToc.svelte +188 -18
  124. package/dist/components/AIThreadToc/AIThreadTocPreview.svelte +25 -2
  125. package/dist/components/AIThreadToc/AIThreadTocPreview.svelte.d.ts +3 -0
  126. package/dist/components/AIThreadToc/aiThreadToc.d.ts +4 -2
  127. package/dist/components/AIThreadToc/aiThreadToc.js +17 -5
  128. package/dist/components/AIThreadToc/aiThreadToc.mcp.d.ts +1 -1
  129. package/dist/components/AIThreadToc/aiThreadToc.mcp.js +13 -3
  130. package/dist/components/AIThreadToc/aiThreadToc.props.d.ts +11 -0
  131. package/dist/components/AIThreadToc/aiThreadToc.theme.d.ts +3 -0
  132. package/dist/components/AIThreadToc/aiThreadToc.theme.js +15 -6
  133. package/dist/components/AITool/AITool.svelte +56 -21
  134. package/dist/components/AITool/AIToolCallList.svelte +79 -29
  135. package/dist/components/AITool/AIToolCallList.svelte.d.ts +6 -2
  136. package/dist/components/AITool/AIToolStatusMark.svelte +52 -0
  137. package/dist/components/AITool/AIToolStatusMark.svelte.d.ts +14 -0
  138. package/dist/components/AITool/AIToolValueSection.svelte +126 -28
  139. package/dist/components/AITool/AIToolValueSection.svelte.d.ts +6 -2
  140. package/dist/components/AITool/AIToolValueTree.svelte +11 -16
  141. package/dist/components/AITool/AIToolValueTree.svelte.d.ts +2 -3
  142. package/dist/components/AITool/aiTool.mcp.d.ts +1 -1
  143. package/dist/components/AITool/aiTool.mcp.js +36 -8
  144. package/dist/components/AITool/aiTool.props.d.ts +52 -6
  145. package/dist/components/AITool/aiTool.theme.d.ts +117 -39
  146. package/dist/components/AITool/aiTool.theme.js +144 -140
  147. package/dist/components/AITool/aiToolClock.svelte.d.ts +18 -0
  148. package/dist/components/AITool/aiToolClock.svelte.js +62 -0
  149. package/dist/components/AITool/aiToolPrimitiveThemes.d.ts +0 -2
  150. package/dist/components/AITool/aiToolPrimitiveThemes.js +0 -10
  151. package/dist/components/AITool/index.d.ts +2 -1
  152. package/dist/components/AITool/index.js +1 -0
  153. package/dist/components/AITool/toolRendering.d.ts +33 -1
  154. package/dist/components/AITool/toolRendering.js +179 -15
  155. package/dist/components/AITool/toolValueTree.d.ts +14 -1
  156. package/dist/components/AITool/toolValueTree.js +126 -27
  157. package/dist/components/Accordion/Accordion.svelte +109 -109
  158. package/dist/components/Accordion/Accordion.svelte.d.ts +0 -1
  159. package/dist/components/Accordion/AccordionPanel.svelte +64 -0
  160. package/dist/components/Accordion/AccordionPanel.svelte.d.ts +20 -0
  161. package/dist/components/Accordion/accordion.attributes.d.ts +24 -0
  162. package/dist/components/Accordion/accordion.attributes.js +20 -0
  163. package/dist/components/Accordion/accordion.mcp.d.ts +1 -1
  164. package/dist/components/Accordion/accordion.mcp.js +78 -22
  165. package/dist/components/Accordion/accordion.props.d.ts +54 -10
  166. package/dist/components/Accordion/accordion.theme.d.ts +3 -0
  167. package/dist/components/Accordion/accordion.theme.js +4 -0
  168. package/dist/components/Accordion/index.d.ts +1 -0
  169. package/dist/components/Accordion/index.js +1 -0
  170. package/dist/components/AudioPlayer/audioPlayerVolumeControl.slider.theme.d.ts +31 -1
  171. package/dist/components/Avatar/Avatar.svelte +60 -10
  172. package/dist/components/Avatar/AvatarGroup.svelte +9 -0
  173. package/dist/components/Avatar/avatar.mcp.d.ts +1 -1
  174. package/dist/components/Avatar/avatar.mcp.js +13 -5
  175. package/dist/components/Avatar/avatar.props.d.ts +28 -1
  176. package/dist/components/Avatar/avatar.theme.js +3 -3
  177. package/dist/components/Avatar/index.d.ts +1 -1
  178. package/dist/components/Breadcrumbs/breadcrumbs.mcp.d.ts +1 -1
  179. package/dist/components/Breadcrumbs/breadcrumbs.mcp.js +1 -1
  180. package/dist/components/Button/Button.svelte +35 -15
  181. package/dist/components/Button/button.mcp.d.ts +1 -1
  182. package/dist/components/Button/button.mcp.js +8 -4
  183. package/dist/components/Button/button.props.d.ts +23 -8
  184. package/dist/components/Button/button.theme.d.ts +12 -0
  185. package/dist/components/Button/button.theme.js +17 -4
  186. package/dist/components/ButtonGroup/buttonGroup.mcp.d.ts +1 -1
  187. package/dist/components/ButtonGroup/buttonGroup.mcp.js +1 -1
  188. package/dist/components/ButtonGroup/buttonGroup.props.d.ts +4 -1
  189. package/dist/components/Collapsible/Collapsible.svelte +125 -19
  190. package/dist/components/Collapsible/collapsible.attributes.d.ts +21 -0
  191. package/dist/components/Collapsible/collapsible.attributes.js +17 -0
  192. package/dist/components/Collapsible/collapsible.mcp.d.ts +1 -1
  193. package/dist/components/Collapsible/collapsible.mcp.js +62 -12
  194. package/dist/components/Collapsible/collapsible.props.d.ts +39 -8
  195. package/dist/components/Collapsible/collapsible.theme.js +3 -1
  196. package/dist/components/Collapsible/index.d.ts +1 -0
  197. package/dist/components/Collapsible/index.js +1 -0
  198. package/dist/components/Command/Command.svelte +56 -14
  199. package/dist/components/Command/command.mcp.d.ts +1 -1
  200. package/dist/components/Command/command.mcp.js +12 -6
  201. package/dist/components/Command/command.props.d.ts +39 -6
  202. package/dist/components/Command/command.state.svelte.d.ts +40 -11
  203. package/dist/components/Command/command.state.svelte.js +75 -28
  204. package/dist/components/Command/command.theme.js +4 -3
  205. package/dist/components/Confirmation/Confirmation.svelte +72 -31
  206. package/dist/components/Confirmation/confirmation.mcp.d.ts +1 -1
  207. package/dist/components/Confirmation/confirmation.mcp.js +5 -4
  208. package/dist/components/ContextMenu/ContextMenu.svelte +126 -16
  209. package/dist/components/ContextMenu/contextMenu.mcp.d.ts +1 -1
  210. package/dist/components/ContextMenu/contextMenu.mcp.js +10 -7
  211. package/dist/components/ContextMenu/contextMenu.props.d.ts +13 -4
  212. package/dist/components/ContextMenu/contextMenu.theme.d.ts +3 -3
  213. package/dist/components/ContextMenu/contextMenu.theme.js +3 -2
  214. package/dist/components/DataTable/DataTable.svelte +4 -9
  215. package/dist/components/DataTable/DataTableEditor.svelte +5 -0
  216. package/dist/components/DataTable/DataTableFilter.svelte +1 -0
  217. package/dist/components/DataTable/DataTableToolbar.svelte +1 -0
  218. package/dist/components/DataTable/dataTable.mcp.d.ts +1 -1
  219. package/dist/components/DataTable/dataTable.mcp.js +4 -2
  220. package/dist/components/DataTable/dataTable.theme.d.ts +0 -3
  221. package/dist/components/DataTable/dataTable.theme.js +9 -6
  222. package/dist/components/Dialog/Dialog.svelte +120 -35
  223. package/dist/components/Dialog/Dialog.svelte.d.ts +1 -1
  224. package/dist/components/Dialog/DialogBackdrop.svelte +21 -1
  225. package/dist/components/Dialog/dialog.api.d.ts +65 -0
  226. package/dist/components/Dialog/dialog.api.js +1 -0
  227. package/dist/components/Dialog/dialog.attributes.d.ts +23 -0
  228. package/dist/components/Dialog/dialog.attributes.js +19 -0
  229. package/dist/components/Dialog/dialog.indent.d.ts +6 -0
  230. package/dist/components/Dialog/dialog.indent.js +16 -0
  231. package/dist/components/Dialog/dialog.mcp.d.ts +1 -1
  232. package/dist/components/Dialog/dialog.mcp.js +195 -22
  233. package/dist/components/Dialog/dialog.props.d.ts +102 -19
  234. package/dist/components/Dialog/dialog.snap.d.ts +40 -0
  235. package/dist/components/Dialog/dialog.snap.js +78 -0
  236. package/dist/components/Dialog/dialog.state.svelte.d.ts +122 -10
  237. package/dist/components/Dialog/dialog.state.svelte.js +525 -66
  238. package/dist/components/Dialog/dialog.theme.d.ts +48 -0
  239. package/dist/components/Dialog/dialog.theme.js +32 -9
  240. package/dist/components/Dialog/index.d.ts +4 -1
  241. package/dist/components/Dialog/index.js +1 -0
  242. package/dist/components/DocumentViewer/DocumentSearchControl.svelte +5 -3
  243. package/dist/components/DocumentViewer/documentOutput.js +2 -1
  244. package/dist/components/FloatingWindow/FloatingWindow.svelte +20 -32
  245. package/dist/components/FloatingWindow/FloatingWindow.svelte.d.ts +1 -1
  246. package/dist/components/FloatingWindow/floatingWindow.mcp.d.ts +1 -1
  247. package/dist/components/FloatingWindow/floatingWindow.mcp.js +3 -3
  248. package/dist/components/FloatingWindow/floatingWindow.props.d.ts +9 -4
  249. package/dist/components/FloatingWindow/floatingWindow.state.svelte.d.ts +8 -2
  250. package/dist/components/FloatingWindow/floatingWindow.state.svelte.js +18 -7
  251. package/dist/components/Form/Ask/Ask.svelte +9 -13
  252. package/dist/components/Form/Ask/ask.mcp.d.ts +1 -1
  253. package/dist/components/Form/Ask/ask.mcp.js +1 -1
  254. package/dist/components/Form/Ask/ask.props.d.ts +1 -1
  255. package/dist/components/Form/Autocomplete/Autocomplete.svelte +418 -0
  256. package/dist/components/Form/Autocomplete/Autocomplete.svelte.d.ts +4 -0
  257. package/dist/components/Form/Autocomplete/autocomplete.items.d.ts +30 -0
  258. package/dist/components/Form/Autocomplete/autocomplete.items.js +64 -0
  259. package/dist/components/Form/Autocomplete/autocomplete.mcp.d.ts +1 -0
  260. package/dist/components/Form/Autocomplete/autocomplete.mcp.js +134 -0
  261. package/dist/components/Form/Autocomplete/autocomplete.props.d.ts +146 -0
  262. package/dist/components/Form/Autocomplete/autocomplete.props.js +1 -0
  263. package/dist/components/Form/Autocomplete/autocomplete.theme.d.ts +213 -0
  264. package/dist/components/Form/Autocomplete/autocomplete.theme.js +119 -0
  265. package/dist/components/Form/Autocomplete/index.d.ts +3 -0
  266. package/dist/components/Form/Autocomplete/index.js +2 -0
  267. package/dist/components/Form/Calendar/CalendarInput.svelte +9 -0
  268. package/dist/components/Form/Calendar/CalendarMonthYearPicker.svelte +3 -0
  269. package/dist/components/Form/Calendar/CalendarPrimitive.svelte +5 -0
  270. package/dist/components/Form/Calendar/calendar.mcp.d.ts +1 -1
  271. package/dist/components/Form/Calendar/calendar.mcp.js +2 -1
  272. package/dist/components/Form/Calendar/calendarInput.props.d.ts +2 -0
  273. package/dist/components/Form/Calendar/useCalendar.svelte.d.ts +3 -0
  274. package/dist/components/Form/Calendar/useCalendar.svelte.js +3 -0
  275. package/dist/components/Form/Checkbox/Checkbox.svelte +17 -2
  276. package/dist/components/Form/Checkbox/checkbox.mcp.d.ts +1 -1
  277. package/dist/components/Form/Checkbox/checkbox.mcp.js +11 -1
  278. package/dist/components/Form/Checkbox/checkbox.props.d.ts +12 -1
  279. package/dist/components/Form/CheckboxesInput/CheckboxLine.svelte +69 -32
  280. package/dist/components/Form/CheckboxesInput/CheckboxLine.svelte.d.ts +10 -2
  281. package/dist/components/Form/CheckboxesInput/CheckboxesInput.svelte +123 -74
  282. package/dist/components/Form/CheckboxesInput/CheckboxesInput.svelte.d.ts +12 -12
  283. package/dist/components/Form/CheckboxesInput/checkboxesInput.mcp.d.ts +1 -1
  284. package/dist/components/Form/CheckboxesInput/checkboxesInput.mcp.js +11 -7
  285. package/dist/components/Form/CheckboxesInput/checkboxesInput.props.d.ts +25 -9
  286. package/dist/components/Form/CheckboxesInput/checkboxesInput.theme.d.ts +12 -0
  287. package/dist/components/Form/CheckboxesInput/checkboxesInput.theme.js +9 -4
  288. package/dist/components/Form/CheckboxesInput/choiceEnter.d.ts +11 -0
  289. package/dist/components/Form/CheckboxesInput/choiceEnter.js +27 -0
  290. package/dist/components/Form/ColorInput/ColorInput.svelte +12 -3
  291. package/dist/components/Form/ColorInput/colorInput.mcp.d.ts +1 -1
  292. package/dist/components/Form/ColorInput/colorInput.mcp.js +1 -0
  293. package/dist/components/Form/ColorPicker/ColorPicker.svelte +11 -2
  294. package/dist/components/Form/ColorPicker/ColorPickerInput.svelte +9 -0
  295. package/dist/components/Form/ColorPicker/colorPicker.mcp.d.ts +1 -1
  296. package/dist/components/Form/ColorPicker/colorPicker.mcp.js +1 -0
  297. package/dist/components/Form/ColorPicker/colorPicker.props.d.ts +2 -0
  298. package/dist/components/Form/ColorPicker/colorPicker.state.svelte.d.ts +4 -0
  299. package/dist/components/Form/ColorPicker/colorPicker.state.svelte.js +12 -8
  300. package/dist/components/Form/Combobox/Combobox.svelte +145 -185
  301. package/dist/components/Form/Combobox/Combobox.svelte.d.ts +1 -1
  302. package/dist/components/Form/Combobox/ComboboxPopup.svelte +128 -0
  303. package/dist/components/Form/Combobox/ComboboxPopup.svelte.d.ts +28 -0
  304. package/dist/components/Form/Combobox/combobox.attributes.d.ts +34 -0
  305. package/dist/components/Form/Combobox/combobox.attributes.js +25 -0
  306. package/dist/components/Form/Combobox/combobox.items.d.ts +28 -0
  307. package/dist/components/Form/Combobox/combobox.items.js +68 -0
  308. package/dist/components/Form/Combobox/combobox.mcp.d.ts +1 -1
  309. package/dist/components/Form/Combobox/combobox.mcp.js +104 -13
  310. package/dist/components/Form/Combobox/combobox.props.d.ts +113 -19
  311. package/dist/components/Form/Combobox/combobox.state.svelte.d.ts +137 -0
  312. package/dist/components/Form/Combobox/combobox.state.svelte.js +375 -0
  313. package/dist/components/Form/Combobox/combobox.theme.d.ts +63 -0
  314. package/dist/components/Form/Combobox/combobox.theme.js +37 -1
  315. package/dist/components/Form/Combobox/index.d.ts +2 -1
  316. package/dist/components/Form/Combobox/index.js +1 -0
  317. package/dist/components/Form/DateInput/DateInput.svelte +11 -3
  318. package/dist/components/Form/DateInput/dateInput.mcp.d.ts +1 -1
  319. package/dist/components/Form/DateInput/dateInput.mcp.js +5 -0
  320. package/dist/components/Form/DateSelector/DateSelector.svelte +5 -2
  321. package/dist/components/Form/DateSelector/DateSelectorInput.svelte +9 -0
  322. package/dist/components/Form/DateSelector/dateSelector.mcp.d.ts +1 -1
  323. package/dist/components/Form/DateSelector/dateSelector.mcp.js +2 -2
  324. package/dist/components/Form/DateSelector/dateSelector.props.d.ts +2 -0
  325. package/dist/components/Form/Field/Field.svelte +256 -30
  326. package/dist/components/Form/Field/Field.svelte.d.ts +9 -0
  327. package/dist/components/Form/Field/FieldGroup.svelte +29 -0
  328. package/dist/components/Form/Field/FieldGroup.svelte.d.ts +11 -0
  329. package/dist/components/Form/Field/FieldHiddenInputs.svelte +187 -0
  330. package/dist/components/Form/Field/FieldHiddenInputs.svelte.d.ts +26 -0
  331. package/dist/components/Form/Field/field.d.ts +64 -8
  332. package/dist/components/Form/Field/field.mcp.d.ts +1 -1
  333. package/dist/components/Form/Field/field.mcp.js +158 -18
  334. package/dist/components/Form/Field/field.messages.d.ts +47 -0
  335. package/dist/components/Form/Field/field.messages.js +64 -0
  336. package/dist/components/Form/Field/field.state.svelte.d.ts +109 -3
  337. package/dist/components/Form/Field/field.state.svelte.js +508 -16
  338. package/dist/components/Form/Field/field.theme.d.ts +46 -0
  339. package/dist/components/Form/Field/field.theme.js +33 -0
  340. package/dist/components/Form/Field/fieldHiddenInputs.props.d.ts +61 -0
  341. package/dist/components/Form/Field/fieldHiddenInputs.props.js +1 -0
  342. package/dist/components/Form/Field/fieldNativeForm.svelte.d.ts +14 -0
  343. package/dist/components/Form/Field/fieldNativeForm.svelte.js +113 -0
  344. package/dist/components/Form/Field/index.d.ts +5 -2
  345. package/dist/components/Form/Field/index.js +1 -0
  346. package/dist/components/Form/Field/schemas.js +7 -2
  347. package/dist/components/Form/File/FileInput.svelte +24 -3
  348. package/dist/components/Form/File/fileInput.mcp.d.ts +1 -1
  349. package/dist/components/Form/File/fileInput.mcp.js +1 -0
  350. package/dist/components/Form/Form/Form.svelte +47 -14
  351. package/dist/components/Form/Form/FormActions.svelte +3 -1
  352. package/dist/components/Form/Form/FormActions.svelte.d.ts +42 -2
  353. package/dist/components/Form/Form/FormFieldRenderer.svelte +40 -2
  354. package/dist/components/Form/Form/FormInputRenderer.svelte +7 -0
  355. package/dist/components/Form/Form/form.d.ts +35 -6
  356. package/dist/components/Form/Form/form.mcp.d.ts +1 -1
  357. package/dist/components/Form/Form/form.mcp.js +113 -13
  358. package/dist/components/Form/Form/form.props.d.ts +32 -1
  359. package/dist/components/Form/Form/form.registry.d.ts +2 -2
  360. package/dist/components/Form/Form/form.registry.js +1 -4
  361. package/dist/components/Form/Form/form.state.svelte.d.ts +1138 -413
  362. package/dist/components/Form/Form/form.state.svelte.js +319 -26
  363. package/dist/components/Form/Form/index.d.ts +3 -1
  364. package/dist/components/Form/Form/visibility.d.ts +3096 -1831
  365. package/dist/components/Form/KeyValueInput/KeyValueInput.svelte +22 -10
  366. package/dist/components/Form/KeyValueInput/keyValueInput.mcp.d.ts +1 -1
  367. package/dist/components/Form/KeyValueInput/keyValueInput.mcp.js +1 -0
  368. package/dist/components/Form/MultiStepForm/MultiStepForm.svelte +12 -5
  369. package/dist/components/Form/MultiStepForm/multiStepForm.mcp.d.ts +1 -1
  370. package/dist/components/Form/MultiStepForm/multiStepForm.mcp.js +5 -3
  371. package/dist/components/Form/MultiStepForm/multiStepForm.props.d.ts +5 -0
  372. package/dist/components/Form/MultiStepForm/multiStepForm.state.svelte.d.ts +1022 -408
  373. package/dist/components/Form/MultiStepForm/multiStepForm.state.svelte.js +48 -24
  374. package/dist/components/Form/NumberInput/NumberInput.svelte +365 -46
  375. package/dist/components/Form/NumberInput/index.d.ts +1 -1
  376. package/dist/components/Form/NumberInput/numberInput.mcp.d.ts +1 -1
  377. package/dist/components/Form/NumberInput/numberInput.mcp.js +55 -30
  378. package/dist/components/Form/NumberInput/numberInput.props.d.ts +64 -4
  379. package/dist/components/Form/PasswordInput/Password.svelte +28 -1
  380. package/dist/components/Form/PasswordInput/index.d.ts +1 -1
  381. package/dist/components/Form/PasswordInput/passwordInput.mcp.d.ts +1 -1
  382. package/dist/components/Form/PasswordInput/passwordInput.mcp.js +20 -2
  383. package/dist/components/Form/PasswordInput/passwordInput.props.d.ts +23 -0
  384. package/dist/components/Form/PhoneInput/PhoneInput.svelte +11 -4
  385. package/dist/components/Form/PhoneInput/PhoneInputCountryPicker.svelte +47 -21
  386. package/dist/components/Form/PhoneInput/phoneInput-cdn.js +2 -1
  387. package/dist/components/Form/PhoneInput/phoneInput.mcp.d.ts +1 -1
  388. package/dist/components/Form/PhoneInput/phoneInput.mcp.js +6 -2
  389. package/dist/components/Form/PhoneInput/phoneInputCountry.d.ts +9 -3
  390. package/dist/components/Form/PhoneInput/phoneInputCountry.js +34 -24
  391. package/dist/components/Form/PinInput/PinInput.svelte +44 -9
  392. package/dist/components/Form/PinInput/PinInputCells.svelte +22 -1
  393. package/dist/components/Form/PinInput/PinInputCells.svelte.d.ts +1 -0
  394. package/dist/components/Form/PinInput/index.d.ts +1 -1
  395. package/dist/components/Form/PinInput/pinInput.mcp.d.ts +1 -1
  396. package/dist/components/Form/PinInput/pinInput.mcp.js +29 -6
  397. package/dist/components/Form/PinInput/pinInput.props.d.ts +38 -4
  398. package/dist/components/Form/PinInput/pinInput.state.svelte.d.ts +41 -0
  399. package/dist/components/Form/PinInput/pinInput.state.svelte.js +227 -24
  400. package/dist/components/Form/PinInput/pinInput.theme.d.ts +39 -3
  401. package/dist/components/Form/PinInput/pinInput.theme.js +27 -1
  402. package/dist/components/Form/RadioInput/RadioInput.svelte +94 -32
  403. package/dist/components/Form/RadioInput/RadioInput.svelte.d.ts +12 -12
  404. package/dist/components/Form/RadioInput/radioInput.mcp.d.ts +1 -1
  405. package/dist/components/Form/RadioInput/radioInput.mcp.js +12 -9
  406. package/dist/components/Form/RadioInput/radioInput.props.d.ts +22 -6
  407. package/dist/components/Form/RadioInput/radioInput.theme.d.ts +12 -0
  408. package/dist/components/Form/RadioInput/radioInput.theme.js +10 -5
  409. package/dist/components/Form/RatingInput/RatingInput.svelte +13 -4
  410. package/dist/components/Form/RatingInput/ratingInput.mcp.d.ts +1 -1
  411. package/dist/components/Form/RatingInput/ratingInput.mcp.js +3 -3
  412. package/dist/components/Form/RatingInput/ratingInput.props.d.ts +1 -1
  413. package/dist/components/Form/Select/Select.svelte +186 -48
  414. package/dist/components/Form/Select/Select.svelte.d.ts +23 -2
  415. package/dist/components/Form/Select/SelectOptionRow.svelte +69 -0
  416. package/dist/components/Form/Select/SelectOptionRow.svelte.d.ts +18 -0
  417. package/dist/components/Form/Select/index.d.ts +2 -1
  418. package/dist/components/Form/Select/index.js +1 -0
  419. package/dist/components/Form/Select/select.align.d.ts +5 -0
  420. package/dist/components/Form/Select/select.align.js +19 -5
  421. package/dist/components/Form/Select/select.attributes.d.ts +36 -0
  422. package/dist/components/Form/Select/select.attributes.js +27 -0
  423. package/dist/components/Form/Select/select.mcp.d.ts +1 -1
  424. package/dist/components/Form/Select/select.mcp.js +103 -18
  425. package/dist/components/Form/Select/select.props.d.ts +87 -10
  426. package/dist/components/Form/Select/select.state.svelte.d.ts +108 -17
  427. package/dist/components/Form/Select/select.state.svelte.js +354 -59
  428. package/dist/components/Form/Select/select.theme.d.ts +21 -0
  429. package/dist/components/Form/Select/select.theme.js +22 -0
  430. package/dist/components/Form/Slider/Slider.svelte +54 -14
  431. package/dist/components/Form/Slider/SliderMarks.svelte +1 -1
  432. package/dist/components/Form/Slider/SliderThumb.svelte +49 -19
  433. package/dist/components/Form/Slider/SliderThumb.svelte.d.ts +8 -2
  434. package/dist/components/Form/Slider/SliderTrack.svelte +33 -12
  435. package/dist/components/Form/Slider/SliderTrack.svelte.d.ts +6 -2
  436. package/dist/components/Form/Slider/index.d.ts +1 -1
  437. package/dist/components/Form/Slider/slider.mcp.d.ts +1 -1
  438. package/dist/components/Form/Slider/slider.mcp.js +55 -11
  439. package/dist/components/Form/Slider/slider.props.d.ts +35 -2
  440. package/dist/components/Form/Slider/slider.state.svelte.d.ts +66 -5
  441. package/dist/components/Form/Slider/slider.state.svelte.js +273 -49
  442. package/dist/components/Form/Slider/slider.theme.d.ts +36 -0
  443. package/dist/components/Form/Slider/slider.theme.js +35 -17
  444. package/dist/components/Form/Switch/Switch.svelte +61 -38
  445. package/dist/components/Form/Switch/switch.mcp.d.ts +1 -1
  446. package/dist/components/Form/Switch/switch.mcp.js +25 -5
  447. package/dist/components/Form/Switch/switch.props.d.ts +14 -1
  448. package/dist/components/Form/Switch/switch.theme.d.ts +12 -0
  449. package/dist/components/Form/Switch/switch.theme.js +8 -3
  450. package/dist/components/Form/TagGroup/TagGroup.svelte +8 -0
  451. package/dist/components/Form/TagGroup/tagGroup.mcp.d.ts +1 -1
  452. package/dist/components/Form/TagGroup/tagGroup.mcp.js +1 -0
  453. package/dist/components/Form/TagsInput/TagsInput.svelte +277 -275
  454. package/dist/components/Form/TagsInput/TagsInput.svelte.d.ts +1 -1
  455. package/dist/components/Form/TagsInput/tagsInput.mcp.d.ts +1 -1
  456. package/dist/components/Form/TagsInput/tagsInput.mcp.js +31 -11
  457. package/dist/components/Form/TagsInput/tagsInput.props.d.ts +6 -26
  458. package/dist/components/Form/TagsInput/tagsInput.theme.d.ts +63 -0
  459. package/dist/components/Form/TagsInput/tagsInput.theme.js +37 -1
  460. package/dist/components/Form/TextArea/TextArea.svelte +8 -0
  461. package/dist/components/Form/TextArea/textArea.mcp.d.ts +1 -1
  462. package/dist/components/Form/TextArea/textArea.mcp.js +1 -0
  463. package/dist/components/Form/TextInput/TextInput.svelte +8 -1
  464. package/dist/components/Form/TextInput/textInput.mcp.d.ts +1 -1
  465. package/dist/components/Form/TextInput/textInput.mcp.js +5 -0
  466. package/dist/components/Form/TimeInput/TimeInput.svelte +9 -1
  467. package/dist/components/Form/TimeInput/timeInput.mcp.d.ts +1 -1
  468. package/dist/components/Form/TimeInput/timeInput.mcp.js +31 -0
  469. package/dist/components/Form/VoiceInput/VoiceInput.svelte +10 -2
  470. package/dist/components/Form/VoiceInput/voiceInput.mcp.d.ts +1 -1
  471. package/dist/components/Form/VoiceInput/voiceInput.mcp.js +1 -0
  472. package/dist/components/GanttChart/GanttDependencyControl.svelte +4 -4
  473. package/dist/components/HoverCard/HoverCard.svelte +100 -10
  474. package/dist/components/HoverCard/hoverCard.attributes.d.ts +33 -0
  475. package/dist/components/HoverCard/hoverCard.attributes.js +24 -0
  476. package/dist/components/HoverCard/hoverCard.mcp.d.ts +1 -1
  477. package/dist/components/HoverCard/hoverCard.mcp.js +61 -2
  478. package/dist/components/HoverCard/hoverCard.props.d.ts +19 -0
  479. package/dist/components/HoverCard/hoverCard.theme.d.ts +12 -0
  480. package/dist/components/HoverCard/hoverCard.theme.js +9 -2
  481. package/dist/components/HoverCard/index.d.ts +1 -0
  482. package/dist/components/HoverCard/index.js +1 -0
  483. package/dist/components/ImageGallery/imageGallery.state.svelte.d.ts +1 -1
  484. package/dist/components/ImageZoom/imageZoom.lightbox.js +40 -6
  485. package/dist/components/ImageZoom/imageZoom.mcp.d.ts +1 -1
  486. package/dist/components/ImageZoom/imageZoom.mcp.js +3 -3
  487. package/dist/components/ImageZoom/imageZoom.props.d.ts +10 -4
  488. package/dist/components/ImageZoom/imageZoom.state.svelte.d.ts +16 -4
  489. package/dist/components/ImageZoom/imageZoom.state.svelte.js +38 -9
  490. package/dist/components/Kanban/kanban.theme.js +7 -3
  491. package/dist/components/Layout/layoutSpacing.d.ts +2 -2
  492. package/dist/components/LinkPreview/LinkPreview.svelte +7 -1
  493. package/dist/components/LinkPreview/linkPreview.mcp.d.ts +1 -1
  494. package/dist/components/LinkPreview/linkPreview.mcp.js +4 -1
  495. package/dist/components/LinkPreview/linkPreview.props.d.ts +15 -0
  496. package/dist/components/LinkPreview/linkPreview.theme.d.ts +12 -0
  497. package/dist/components/LinkPreview/linkPreview.theme.js +9 -2
  498. package/dist/components/Map/maplibre-cdn.js +3 -2
  499. package/dist/components/Markdown/markdown.mcp.d.ts +1 -1
  500. package/dist/components/Markdown/markdown.mcp.js +2 -1
  501. package/dist/components/Markdown/markdown.theme.js +18 -9
  502. package/dist/components/MediaVolume/MediaVolumeControl.svelte +4 -3
  503. package/dist/components/Menu/Menu.svelte +3 -3
  504. package/dist/components/Menu/Menu.svelte.d.ts +1 -1
  505. package/dist/components/Menu/MenuCheckboxItem.svelte +87 -0
  506. package/dist/components/Menu/MenuCheckboxItem.svelte.d.ts +16 -0
  507. package/dist/components/Menu/MenuFloating.svelte +421 -74
  508. package/dist/components/Menu/MenuFloating.svelte.d.ts +1 -1
  509. package/dist/components/Menu/MenuMirroredIcon.svelte +9 -0
  510. package/dist/components/Menu/MenuMirroredIcon.svelte.d.ts +7 -0
  511. package/dist/components/Menu/MenuRadioGroup.svelte +102 -0
  512. package/dist/components/Menu/MenuRadioGroup.svelte.d.ts +18 -0
  513. package/dist/components/Menu/MenuSearchField.svelte +54 -0
  514. package/dist/components/Menu/MenuSearchField.svelte.d.ts +20 -0
  515. package/dist/components/Menu/MenuStacked.svelte +404 -158
  516. package/dist/components/Menu/MenuStacked.svelte.d.ts +1 -1
  517. package/dist/components/Menu/MenuStackedBackHeader.svelte +6 -1
  518. package/dist/components/Menu/index.d.ts +2 -1
  519. package/dist/components/Menu/index.js +1 -0
  520. package/dist/components/Menu/menu.attributes.d.ts +37 -0
  521. package/dist/components/Menu/menu.attributes.js +28 -0
  522. package/dist/components/Menu/menu.filter.svelte.d.ts +52 -0
  523. package/dist/components/Menu/menu.filter.svelte.js +143 -0
  524. package/dist/components/Menu/menu.mcp.d.ts +1 -1
  525. package/dist/components/Menu/menu.mcp.js +227 -17
  526. package/dist/components/Menu/menu.platform.d.ts +5 -0
  527. package/dist/components/Menu/menu.platform.js +11 -0
  528. package/dist/components/Menu/menu.props.d.ts +172 -9
  529. package/dist/components/Menu/menu.theme.d.ts +147 -0
  530. package/dist/components/Menu/menu.theme.js +101 -0
  531. package/dist/components/Menu/menuTree.d.ts +35 -1
  532. package/dist/components/Menu/menuTree.js +158 -1
  533. package/dist/components/MenuBar/menuBar.mcp.d.ts +1 -1
  534. package/dist/components/MenuBar/menuBar.mcp.js +4 -2
  535. package/dist/components/MenuBar/menuBar.state.svelte.js +28 -10
  536. package/dist/components/MenuOption/MenuOption.svelte +5 -1
  537. package/dist/components/MenuOption/menuOption.mcp.d.ts +1 -1
  538. package/dist/components/MenuOption/menuOption.mcp.js +8 -0
  539. package/dist/components/MenuOption/menuOption.props.d.ts +12 -0
  540. package/dist/components/MenuOption/menuOption.theme.d.ts +18 -0
  541. package/dist/components/MenuOption/menuOption.theme.js +24 -4
  542. package/dist/components/Mermaid/mermaid.mcp.d.ts +1 -1
  543. package/dist/components/Mermaid/mermaid.mcp.js +8 -8
  544. package/dist/components/Mermaid/mermaid.props.d.ts +3 -4
  545. package/dist/components/Mermaid/mermaid.state.svelte.d.ts +20 -19
  546. package/dist/components/Mermaid/mermaid.state.svelte.js +80 -243
  547. package/dist/components/Mermaid/mermaid.theme.js +26 -1
  548. package/dist/components/MetadataList/MetadataList.svelte.d.ts +1 -1
  549. package/dist/components/Meter/Meter.svelte +110 -24
  550. package/dist/components/Meter/Meter.svelte.d.ts +12 -12
  551. package/dist/components/Meter/meter.mcp.d.ts +1 -1
  552. package/dist/components/Meter/meter.mcp.js +23 -37
  553. package/dist/components/Meter/meter.props.d.ts +36 -44
  554. package/dist/components/NavigationMenu/NavigationMenu.svelte +181 -0
  555. package/dist/components/NavigationMenu/NavigationMenu.svelte.d.ts +25 -0
  556. package/dist/components/NavigationMenu/NavigationMenuContent.svelte +141 -0
  557. package/dist/components/NavigationMenu/NavigationMenuContent.svelte.d.ts +13 -0
  558. package/dist/components/NavigationMenu/NavigationMenuTrigger.svelte +75 -0
  559. package/dist/components/NavigationMenu/NavigationMenuTrigger.svelte.d.ts +13 -0
  560. package/dist/components/NavigationMenu/index.d.ts +4 -0
  561. package/dist/components/NavigationMenu/index.js +3 -0
  562. package/dist/components/NavigationMenu/navigationMenu.attributes.d.ts +24 -0
  563. package/dist/components/NavigationMenu/navigationMenu.attributes.js +21 -0
  564. package/dist/components/NavigationMenu/navigationMenu.mcp.d.ts +1 -0
  565. package/dist/components/NavigationMenu/navigationMenu.mcp.js +138 -0
  566. package/dist/components/NavigationMenu/navigationMenu.props.d.ts +129 -0
  567. package/dist/components/NavigationMenu/navigationMenu.props.js +1 -0
  568. package/dist/components/NavigationMenu/navigationMenu.state.svelte.d.ts +163 -0
  569. package/dist/components/NavigationMenu/navigationMenu.state.svelte.js +721 -0
  570. package/dist/components/NavigationMenu/navigationMenu.theme.d.ts +326 -0
  571. package/dist/components/NavigationMenu/navigationMenu.theme.js +239 -0
  572. package/dist/components/Overlay/Overlay.svelte +19 -30
  573. package/dist/components/Overlay/index.d.ts +1 -0
  574. package/dist/components/Overlay/index.js +1 -0
  575. package/dist/components/Overlay/overlay.attributes.d.ts +16 -0
  576. package/dist/components/Overlay/overlay.attributes.js +14 -0
  577. package/dist/components/Overlay/overlay.mcp.d.ts +1 -1
  578. package/dist/components/Overlay/overlay.mcp.js +21 -3
  579. package/dist/components/Overlay/overlay.props.d.ts +8 -4
  580. package/dist/components/Popover/Popover.svelte +163 -52
  581. package/dist/components/Popover/Popover.svelte.d.ts +23 -2
  582. package/dist/components/Popover/PopoverSession.svelte +12 -0
  583. package/dist/components/Popover/PopoverSession.svelte.d.ts +7 -0
  584. package/dist/components/Popover/index.d.ts +10 -2
  585. package/dist/components/Popover/index.js +4 -1
  586. package/dist/components/Popover/popover.api.d.ts +83 -0
  587. package/dist/components/Popover/popover.api.js +1 -0
  588. package/dist/components/Popover/popover.attributes.d.ts +32 -0
  589. package/dist/components/Popover/popover.attributes.js +28 -0
  590. package/dist/components/Popover/popover.claims.d.ts +19 -0
  591. package/dist/components/Popover/popover.claims.js +45 -0
  592. package/dist/components/Popover/popover.mcp.d.ts +1 -1
  593. package/dist/components/Popover/popover.mcp.js +163 -31
  594. package/dist/components/Popover/popover.position.d.ts +226 -0
  595. package/dist/components/Popover/popover.position.js +402 -0
  596. package/dist/components/Popover/popover.props.d.ts +179 -24
  597. package/dist/components/Popover/popover.state.svelte.d.ts +169 -37
  598. package/dist/components/Popover/popover.state.svelte.js +1034 -194
  599. package/dist/components/Popover/popover.theme.d.ts +15 -0
  600. package/dist/components/Popover/popover.theme.js +27 -2
  601. package/dist/components/PopupMenu/PopupMenu.svelte +193 -22
  602. package/dist/components/PopupMenu/PopupMenu.svelte.d.ts +2 -2
  603. package/dist/components/PopupMenu/popupMenu.context.d.ts +42 -0
  604. package/dist/components/PopupMenu/popupMenu.context.js +52 -0
  605. package/dist/components/PopupMenu/popupMenu.mcp.d.ts +1 -1
  606. package/dist/components/PopupMenu/popupMenu.mcp.js +46 -6
  607. package/dist/components/PopupMenu/popupMenu.props.d.ts +29 -2
  608. package/dist/components/Progress/Progress.svelte +160 -0
  609. package/dist/components/Progress/Progress.svelte.d.ts +4 -0
  610. package/dist/components/Progress/index.d.ts +3 -0
  611. package/dist/components/Progress/index.js +2 -0
  612. package/dist/components/Progress/progress.mcp.d.ts +1 -0
  613. package/dist/components/Progress/progress.mcp.js +101 -0
  614. package/dist/components/Progress/progress.props.d.ts +79 -0
  615. package/dist/components/Progress/progress.props.js +1 -0
  616. package/dist/components/Progress/progress.theme.d.ts +129 -0
  617. package/dist/components/Progress/progress.theme.js +83 -0
  618. package/dist/components/ProgressCircle/ProgressCircle.svelte +51 -6
  619. package/dist/components/ProgressCircle/progressCircle.mcp.d.ts +1 -1
  620. package/dist/components/ProgressCircle/progressCircle.mcp.js +18 -4
  621. package/dist/components/ProgressCircle/progressCircle.props.d.ts +32 -2
  622. package/dist/components/ProgressCircle/progressCircle.theme.d.ts +15 -3
  623. package/dist/components/ProgressCircle/progressCircle.theme.js +7 -2
  624. package/dist/components/RichTextInput/RichTextInput.svelte +19 -1
  625. package/dist/components/RichTextInput/RichTextInputChrome.svelte +5 -1
  626. package/dist/components/RichTextInput/RichTextInputChrome.svelte.d.ts +2 -0
  627. package/dist/components/RichTextInput/RichTextInputViewport.svelte +3 -1
  628. package/dist/components/RichTextInput/RichTextInputViewport.svelte.d.ts +1 -0
  629. package/dist/components/RichTextInput/richTextInput.mcp.d.ts +1 -1
  630. package/dist/components/RichTextInput/richTextInput.mcp.js +1 -0
  631. package/dist/components/RichTextInput/suggestions.js +2 -0
  632. package/dist/components/ScrollArea/ScrollArea.svelte +166 -27
  633. package/dist/components/ScrollArea/index.d.ts +2 -1
  634. package/dist/components/ScrollArea/index.js +1 -0
  635. package/dist/components/ScrollArea/scrollArea.attributes.d.ts +25 -0
  636. package/dist/components/ScrollArea/scrollArea.attributes.js +21 -0
  637. package/dist/components/ScrollArea/scrollArea.mcp.d.ts +1 -1
  638. package/dist/components/ScrollArea/scrollArea.mcp.js +47 -3
  639. package/dist/components/ScrollArea/scrollArea.props.d.ts +33 -6
  640. package/dist/components/ScrollArea/scrollArea.svelte.d.ts +56 -12
  641. package/dist/components/ScrollArea/scrollArea.svelte.js +281 -71
  642. package/dist/components/ScrollArea/scrollArea.theme.js +5 -2
  643. package/dist/components/SegmentedControl/SegmentedControl.svelte +4 -3
  644. package/dist/components/SegmentedControl/segmentedControl.mcp.d.ts +1 -1
  645. package/dist/components/SegmentedControl/segmentedControl.mcp.js +3 -2
  646. package/dist/components/SelectionMenu/SelectionMenu.svelte +4 -2
  647. package/dist/components/Sidebar/SidebarAction.svelte +13 -3
  648. package/dist/components/Sidebar/SidebarAction.svelte.d.ts +2 -1
  649. package/dist/components/Sidebar/SidebarActivityBar.svelte +14 -7
  650. package/dist/components/Sidebar/SidebarFlyout.svelte +97 -0
  651. package/dist/components/Sidebar/SidebarFlyout.svelte.d.ts +32 -0
  652. package/dist/components/Sidebar/SidebarGroup.svelte +39 -15
  653. package/dist/components/Sidebar/SidebarMenuButton.svelte +6 -3
  654. package/dist/components/Sidebar/SidebarMenuItem.svelte +134 -31
  655. package/dist/components/Sidebar/SidebarMenuSubItem.svelte +30 -14
  656. package/dist/components/Sidebar/SidebarTreeNode.svelte +41 -61
  657. package/dist/components/Sidebar/index.d.ts +1 -0
  658. package/dist/components/Sidebar/index.js +1 -0
  659. package/dist/components/Sidebar/sidebar-position.d.ts +37 -2
  660. package/dist/components/Sidebar/sidebar-position.js +31 -2
  661. package/dist/components/Sidebar/sidebar.attributes.d.ts +33 -0
  662. package/dist/components/Sidebar/sidebar.attributes.js +29 -0
  663. package/dist/components/Sidebar/sidebar.mcp.d.ts +1 -1
  664. package/dist/components/Sidebar/sidebar.mcp.js +45 -10
  665. package/dist/components/Sidebar/sidebar.props.d.ts +28 -7
  666. package/dist/components/Sidebar/sidebar.theme.d.ts +51 -21
  667. package/dist/components/Sidebar/sidebar.theme.js +113 -62
  668. package/dist/components/Sidebar/sidebar.views.svelte.js +11 -18
  669. package/dist/components/Stepper/Stepper.svelte +2 -0
  670. package/dist/components/Stepper/stepper.mcp.d.ts +1 -1
  671. package/dist/components/Stepper/stepper.mcp.js +1 -0
  672. package/dist/components/Stepper/stepper.props.d.ts +5 -0
  673. package/dist/components/Stepper/stepper.state.svelte.d.ts +2 -0
  674. package/dist/components/Stepper/stepper.state.svelte.js +31 -12
  675. package/dist/components/Tabbar/Tabbar.svelte +55 -16
  676. package/dist/components/Tabbar/index.d.ts +1 -1
  677. package/dist/components/Tabbar/tabbar.mcp.d.ts +1 -1
  678. package/dist/components/Tabbar/tabbar.mcp.js +26 -9
  679. package/dist/components/Tabbar/tabbar.props.d.ts +34 -5
  680. package/dist/components/Tabbar/tabbar.selection.svelte.d.ts +79 -0
  681. package/dist/components/Tabbar/tabbar.selection.svelte.js +99 -0
  682. package/dist/components/TableOfContents/tableOfContents.state.svelte.js +9 -7
  683. package/dist/components/Tabs/Tabs.svelte +73 -16
  684. package/dist/components/Tabs/index.d.ts +2 -1
  685. package/dist/components/Tabs/tabs.direction.svelte.d.ts +25 -0
  686. package/dist/components/Tabs/tabs.direction.svelte.js +40 -0
  687. package/dist/components/Tabs/tabs.mcp.d.ts +1 -1
  688. package/dist/components/Tabs/tabs.mcp.js +22 -4
  689. package/dist/components/Tabs/tabs.props.d.ts +39 -12
  690. package/dist/components/Tabs/tabs.theme.js +3 -1
  691. package/dist/components/Theme/Theme.svelte +44 -27
  692. package/dist/components/Theme/helper.d.ts +16 -2
  693. package/dist/components/Theme/helper.js +46 -4
  694. package/dist/components/Theme/theme.mcp.d.ts +1 -1
  695. package/dist/components/Theme/theme.mcp.js +103 -0
  696. package/dist/components/Theme/theme.props.d.ts +16 -0
  697. package/dist/components/Theme/theme.state.svelte.d.ts +14 -1
  698. package/dist/components/Theme/theme.state.svelte.js +18 -1
  699. package/dist/components/Toast/Toast.svelte +184 -39
  700. package/dist/components/Toast/Toaster.svelte +14 -10
  701. package/dist/components/Toast/index.d.ts +1 -0
  702. package/dist/components/Toast/toast.mcp.d.ts +1 -1
  703. package/dist/components/Toast/toast.mcp.js +47 -6
  704. package/dist/components/Toast/toast.state.svelte.d.ts +172 -6
  705. package/dist/components/Toast/toast.state.svelte.js +513 -68
  706. package/dist/components/Toast/toast.theme.js +1 -1
  707. package/dist/components/ToggleButton/ToggleButton.svelte +23 -1
  708. package/dist/components/ToggleButton/toggleButton.mcp.d.ts +1 -1
  709. package/dist/components/ToggleButton/toggleButton.mcp.js +3 -1
  710. package/dist/components/ToggleButton/toggleButton.props.d.ts +13 -1
  711. package/dist/components/ToggleButton/toggleButton.theme.d.ts +12 -0
  712. package/dist/components/ToggleButton/toggleButton.theme.js +15 -3
  713. package/dist/components/ToggleButtonGroup/ToggleButtonGroup.svelte +29 -9
  714. package/dist/components/ToggleButtonGroup/index.d.ts +1 -1
  715. package/dist/components/ToggleButtonGroup/toggleButtonGroup.mcp.d.ts +1 -1
  716. package/dist/components/ToggleButtonGroup/toggleButtonGroup.mcp.js +5 -2
  717. package/dist/components/ToggleButtonGroup/toggleButtonGroup.props.d.ts +19 -1
  718. package/dist/components/ToggleButtonGroup/toggleButtonGroup.theme.d.ts +12 -0
  719. package/dist/components/ToggleButtonGroup/toggleButtonGroup.theme.js +21 -2
  720. package/dist/components/ToggleMenu/ToggleMenu.svelte +57 -43
  721. package/dist/components/ToggleMenu/ToggleMenuGroup.svelte +1 -0
  722. package/dist/components/ToggleMenu/ToggleMenuMenu.svelte +9 -3
  723. package/dist/components/ToggleMenu/ToggleMenuRadioGroup.svelte +7 -2
  724. package/dist/components/ToggleMenu/toggleMenu.mcp.d.ts +1 -1
  725. package/dist/components/ToggleMenu/toggleMenu.mcp.js +3 -2
  726. package/dist/components/ToggleMenu/toggleMenu.props.d.ts +4 -1
  727. package/dist/components/Tooltip/Tooltip.svelte +4 -12
  728. package/dist/components/Tooltip/TooltipHost.svelte +136 -15
  729. package/dist/components/Tooltip/index.d.ts +1 -0
  730. package/dist/components/Tooltip/index.js +1 -0
  731. package/dist/components/Tooltip/tooltip.attachment.svelte.d.ts +5 -0
  732. package/dist/components/Tooltip/tooltip.attachment.svelte.js +215 -33
  733. package/dist/components/Tooltip/tooltip.attributes.d.ts +32 -0
  734. package/dist/components/Tooltip/tooltip.attributes.js +28 -0
  735. package/dist/components/Tooltip/tooltip.mcp.d.ts +1 -1
  736. package/dist/components/Tooltip/tooltip.mcp.js +111 -10
  737. package/dist/components/Tooltip/tooltip.props.d.ts +33 -2
  738. package/dist/components/Tooltip/tooltip.surface.d.ts +24 -0
  739. package/dist/components/Tooltip/tooltip.surface.js +42 -0
  740. package/dist/components/Tree/TreeContextMenuSurface.svelte +16 -3
  741. package/dist/components/Utils/BeforeHydratation.svelte +14 -3
  742. package/dist/components/Utils/BeforeHydratation.svelte.d.ts +2 -0
  743. package/dist/components/VideoPlayer/VideoPlayer.svelte.d.ts +1 -1
  744. package/dist/components/VideoPlayer/VideoPlayerSettings.svelte +2 -0
  745. package/dist/generated/componentAliases.d.ts +3 -0
  746. package/dist/generated/componentAliases.js +3 -0
  747. package/dist/generated/componentContract.d.ts +79 -34
  748. package/dist/generated/componentContract.js +225 -6
  749. package/dist/generated/componentMcpRegistry.js +6 -0
  750. package/dist/i18n/ar.js +107 -3
  751. package/dist/i18n/context.svelte.d.ts +6 -0
  752. package/dist/i18n/context.svelte.js +12 -0
  753. package/dist/i18n/de.js +101 -3
  754. package/dist/i18n/en.d.ts +91 -2
  755. package/dist/i18n/en.js +101 -3
  756. package/dist/i18n/es.js +101 -3
  757. package/dist/i18n/fr.js +101 -3
  758. package/dist/i18n/ja.js +101 -3
  759. package/dist/i18n/pt.js +101 -3
  760. package/dist/i18n/zh.js +101 -3
  761. package/dist/tailwind/geometry.js +7 -0
  762. package/dist/tailwind/global.js +31 -0
  763. package/dist/types/index.d.ts +1 -0
  764. package/dist/types/types.mcp.d.ts +1 -1
  765. package/dist/types/types.mcp.js +23 -0
  766. package/dist/utils/cspNonce.d.ts +16 -0
  767. package/dist/utils/cspNonce.js +39 -0
  768. package/dist/utils/cva/merge.d.ts +5 -1
  769. package/dist/utils/cva/merge.js +6 -4
  770. package/dist/utils/focus.d.ts +34 -0
  771. package/dist/utils/focus.js +93 -0
  772. package/dist/utils/focusHistory.d.ts +21 -0
  773. package/dist/utils/focusHistory.js +99 -0
  774. package/dist/utils/handlers.d.ts +7 -0
  775. package/dist/utils/handlers.js +14 -0
  776. package/dist/utils/hoverIntent.d.ts +42 -0
  777. package/dist/utils/hoverIntent.js +57 -0
  778. package/dist/utils/id.d.ts +7 -0
  779. package/dist/utils/id.js +15 -0
  780. package/dist/utils/layers.svelte.d.ts +32 -4
  781. package/dist/utils/layers.svelte.js +214 -21
  782. package/dist/utils/listFilter.d.ts +44 -0
  783. package/dist/utils/listFilter.js +130 -0
  784. package/dist/utils/match.d.ts +35 -0
  785. package/dist/utils/match.js +36 -0
  786. package/dist/utils/number.d.ts +126 -0
  787. package/dist/utils/number.js +401 -0
  788. package/dist/utils/openChange.d.ts +88 -0
  789. package/dist/utils/openChange.js +71 -0
  790. package/dist/utils/openLifecycle.svelte.d.ts +41 -0
  791. package/dist/utils/openLifecycle.svelte.js +134 -0
  792. package/dist/utils/pointerDrag.d.ts +10 -0
  793. package/dist/utils/pointerDrag.js +37 -2
  794. package/dist/utils/pragmaticDragAndDrop.d.ts +2 -1
  795. package/dist/utils/pragmaticDragAndDrop.js +8 -3
  796. package/dist/utils/range.d.ts +62 -0
  797. package/dist/utils/range.js +70 -0
  798. package/dist/utils/requestNativeSubmit.d.ts +17 -0
  799. package/dist/utils/requestNativeSubmit.js +47 -0
  800. package/dist/utils/safeArea.svelte.d.ts +10 -1
  801. package/dist/utils/safeArea.svelte.js +19 -11
  802. package/dist/utils/stateAttributes.d.ts +108 -0
  803. package/dist/utils/stateAttributes.js +78 -0
  804. package/dist/utils/swipeVelocity.d.ts +32 -0
  805. package/dist/utils/swipeVelocity.js +59 -0
  806. package/dist/utils/timer.svelte.d.ts +65 -2
  807. package/dist/utils/timer.svelte.js +159 -25
  808. package/dist/utils/trigger.d.ts +41 -0
  809. package/dist/utils/trigger.js +103 -0
  810. package/dist/utils/typeahead.d.ts +9 -0
  811. package/dist/utils/typeahead.js +21 -9
  812. package/dist/utils/useDndList.svelte.d.ts +1 -1
  813. package/dist/utils/useDndList.svelte.js +6 -23
  814. package/dist/utils/useFocusScope.svelte.d.ts +29 -0
  815. package/dist/utils/useFocusScope.svelte.js +189 -27
  816. package/dist/utils/useHoverAction.svelte.d.ts +44 -4
  817. package/dist/utils/useHoverAction.svelte.js +161 -51
  818. package/dist/utils/useKeyDown.svelte.d.ts +19 -2
  819. package/dist/utils/useKeyDown.svelte.js +19 -12
  820. package/dist/utils/useListNavigation.svelte.d.ts +94 -13
  821. package/dist/utils/useListNavigation.svelte.js +261 -35
  822. package/dist/utils/useLiveAnnouncer.svelte.d.ts +77 -2
  823. package/dist/utils/useLiveAnnouncer.svelte.js +119 -2
  824. package/dist/utils/useNavigation.svelte.d.ts +36 -3
  825. package/dist/utils/useNavigation.svelte.js +699 -332
  826. package/dist/utils/usePressAndHold.svelte.d.ts +38 -0
  827. package/dist/utils/usePressAndHold.svelte.js +191 -0
  828. package/dist/utils/useScrollLock.svelte.d.ts +20 -1
  829. package/dist/utils/useScrollLock.svelte.js +54 -13
  830. package/dist/utils/useSlidingIndicator.svelte.d.ts +2 -0
  831. package/dist/utils/useSlidingIndicator.svelte.js +27 -5
  832. package/dist/utils/useTabBridge.svelte.d.ts +20 -0
  833. package/dist/utils/useTabBridge.svelte.js +109 -0
  834. package/dist/utils/values.d.ts +15 -0
  835. package/dist/utils/values.js +49 -0
  836. package/package.json +31 -2
  837. package/dist/generated/componentMcpRegistry.d.ts +0 -142
  838. package/dist/utils/useDrag.svelte.d.ts +0 -11
  839. package/dist/utils/useDrag.svelte.js +0 -55
@@ -0,0 +1,108 @@
1
+ /**
2
+ * The shared state attributes every component exposes as styling hooks. They are presence
3
+ * attributes: `''` while the state holds and omitted otherwise, so `[data-open]` selectors and
4
+ * Tailwind's `data-open:` variant work without values. `data-side` and `data-align` carry a value.
5
+ *
6
+ * Spread the returned objects on rendered elements (`{...openStateAttributes(open)}`); use
7
+ * `applyStateAttributes` for elements a component manages imperatively. Components keep their
8
+ * existing `data-state` values alongside these for compatibility.
9
+ */
10
+ import type { Placement } from '@floating-ui/dom';
11
+ /** A presence attribute value: `''` sets the attribute, `undefined` omits it. */
12
+ export type Presence = '' | undefined;
13
+ /** `''` when `on` is truthy, `undefined` otherwise. */
14
+ export declare const presence: (on: unknown) => Presence;
15
+ /** Lifecycle of anything that opens and closes with a transition. */
16
+ export type OpenTransitionStatus = 'closed' | 'entering' | 'open' | 'exiting';
17
+ export type OpenStateAttributes = {
18
+ 'data-open': Presence;
19
+ 'data-closed': Presence;
20
+ };
21
+ /** `data-open` while open, `data-closed` otherwise (including while the exit transition plays). */
22
+ export declare const openStateAttributes: (open: boolean) => OpenStateAttributes;
23
+ export type TransitionStatusAttributes = {
24
+ 'data-entering': Presence;
25
+ 'data-exiting': Presence;
26
+ };
27
+ /** `data-entering` while the enter transition plays, `data-exiting` while the exit one plays. */
28
+ export declare const transitionStatusAttributes: (status: OpenTransitionStatus | undefined) => TransitionStatusAttributes;
29
+ /**
30
+ * The side of the anchor a popup sits on. A popup that asked for a logical side reports
31
+ * `inline-start` or `inline-end` while it stays on the inline axis.
32
+ */
33
+ export type PopupSide = 'top' | 'right' | 'bottom' | 'left' | 'inline-start' | 'inline-end';
34
+ /** A popup's side, or `none` when it is not placed beside its anchor (Select over its trigger). */
35
+ export type PopupPlacementSide = PopupSide | 'none';
36
+ /** How a popup lines up with its anchor along that side. */
37
+ export type PopupAlign = 'start' | 'center' | 'end';
38
+ /** Splits a floating-ui placement (`bottom-start`) into its side and alignment. */
39
+ export declare const parsePlacement: (placement: Placement) => {
40
+ side: PopupSide;
41
+ align: PopupAlign;
42
+ };
43
+ export type PlacementAttributes = {
44
+ 'data-side': PopupPlacementSide | undefined;
45
+ 'data-align': PopupAlign | undefined;
46
+ 'data-anchor-hidden': Presence;
47
+ };
48
+ /**
49
+ * `data-side` and `data-align` from the resolved placement (not the requested one, which a flip
50
+ * may have changed), and `data-anchor-hidden` while the anchor is scrolled out of view. A popup
51
+ * on side `none` has no alignment.
52
+ */
53
+ export declare const placementAttributes: (placement: Placement | {
54
+ side: PopupPlacementSide;
55
+ align?: PopupAlign;
56
+ } | undefined, { anchorHidden }?: {
57
+ anchorHidden?: boolean;
58
+ }) => PlacementAttributes;
59
+ export type PopupTriggerAttributes = {
60
+ 'data-popup-open': Presence;
61
+ };
62
+ /** `data-popup-open` on a trigger while the popup it controls is open. */
63
+ export declare const popupTriggerAttributes: (open: boolean) => PopupTriggerAttributes;
64
+ export type PopupSideAttributes = {
65
+ 'data-popup-side': PopupPlacementSide | undefined;
66
+ };
67
+ /** `data-popup-side` on a trigger: the side its placed popup sits on, omitted while unplaced. */
68
+ export declare const popupSideAttributes: (side: PopupPlacementSide | null | undefined) => PopupSideAttributes;
69
+ export type ItemState = {
70
+ /** The keyboard or pointer highlight is on the item. */
71
+ highlighted?: boolean;
72
+ /** The item cannot be chosen. */
73
+ disabled?: boolean;
74
+ /** The item is chosen (selected, checked or current). */
75
+ selected?: boolean;
76
+ };
77
+ export type ItemStateAttributes = {
78
+ 'data-highlighted': Presence;
79
+ 'data-disabled': Presence;
80
+ 'data-selected': Presence;
81
+ };
82
+ /** `data-highlighted`, `data-disabled` and `data-selected` for an option, menu item or row. */
83
+ export declare const itemStateAttributes: ({ highlighted, disabled, selected }: ItemState) => ItemStateAttributes;
84
+ /**
85
+ * Writes attributes onto an element Svelte doesn't render: a string sets the attribute, `undefined`
86
+ * or `null` removes it.
87
+ */
88
+ export declare const applyStateAttributes: (element: Element, attributes: Readonly<Record<string, string | null | undefined>>) => void;
89
+ /**
90
+ * What each shared state attribute means. Components build their documented styling-hook maps
91
+ * from these entries so the wording stays the same everywhere.
92
+ */
93
+ export declare const stateDataAttributes: {
94
+ readonly 'data-open': "Present while open.";
95
+ readonly 'data-closed': "Present while closed, including during the exit transition.";
96
+ readonly 'data-entering': "Present while the enter transition plays.";
97
+ readonly 'data-exiting': "Present while the exit transition plays.";
98
+ readonly 'data-side': "The side of the anchor the popup sits on: top, right, bottom or left; inline-start or inline-end when a logical side was requested; none when the popup is not placed beside its anchor.";
99
+ readonly 'data-align': "The alignment with the anchor: start, center or end.";
100
+ readonly 'data-anchor-hidden': "Present while the anchor is scrolled out of view.";
101
+ readonly 'data-popup-open': "Present on a trigger while its popup is open.";
102
+ readonly 'data-popup-side': "On a trigger, the side its placed popup sits on (the values of data-side).";
103
+ readonly 'data-highlighted': "Present on the item the keyboard or pointer highlights.";
104
+ readonly 'data-disabled': "Present while disabled.";
105
+ readonly 'data-selected': "Present while selected or checked.";
106
+ };
107
+ /** The name of a shared state attribute. */
108
+ export type StateDataAttribute = keyof typeof stateDataAttributes;
@@ -0,0 +1,78 @@
1
+ /** `''` when `on` is truthy, `undefined` otherwise. */
2
+ export const presence = (on) => (on ? '' : undefined);
3
+ /** `data-open` while open, `data-closed` otherwise (including while the exit transition plays). */
4
+ export const openStateAttributes = (open) => ({
5
+ 'data-open': presence(open),
6
+ 'data-closed': presence(!open)
7
+ });
8
+ /** `data-entering` while the enter transition plays, `data-exiting` while the exit one plays. */
9
+ export const transitionStatusAttributes = (status) => ({
10
+ 'data-entering': presence(status === 'entering'),
11
+ 'data-exiting': presence(status === 'exiting')
12
+ });
13
+ /** Splits a floating-ui placement (`bottom-start`) into its side and alignment. */
14
+ export const parsePlacement = (placement) => {
15
+ const [side, align] = placement.split('-');
16
+ return { side, align: align ?? 'center' };
17
+ };
18
+ /**
19
+ * `data-side` and `data-align` from the resolved placement (not the requested one, which a flip
20
+ * may have changed), and `data-anchor-hidden` while the anchor is scrolled out of view. A popup
21
+ * on side `none` has no alignment.
22
+ */
23
+ export const placementAttributes = (placement, { anchorHidden = false } = {}) => {
24
+ const resolved = placement === undefined
25
+ ? undefined
26
+ : typeof placement === 'string'
27
+ ? parsePlacement(placement)
28
+ : { side: placement.side, align: placement.align ?? 'center' };
29
+ return {
30
+ 'data-side': resolved?.side,
31
+ 'data-align': resolved?.side === 'none' ? undefined : resolved?.align,
32
+ 'data-anchor-hidden': presence(anchorHidden)
33
+ };
34
+ };
35
+ /** `data-popup-open` on a trigger while the popup it controls is open. */
36
+ export const popupTriggerAttributes = (open) => ({
37
+ 'data-popup-open': presence(open)
38
+ });
39
+ /** `data-popup-side` on a trigger: the side its placed popup sits on, omitted while unplaced. */
40
+ export const popupSideAttributes = (side) => ({
41
+ 'data-popup-side': side ?? undefined
42
+ });
43
+ /** `data-highlighted`, `data-disabled` and `data-selected` for an option, menu item or row. */
44
+ export const itemStateAttributes = ({ highlighted, disabled, selected }) => ({
45
+ 'data-highlighted': presence(highlighted),
46
+ 'data-disabled': presence(disabled),
47
+ 'data-selected': presence(selected)
48
+ });
49
+ /**
50
+ * Writes attributes onto an element Svelte doesn't render: a string sets the attribute, `undefined`
51
+ * or `null` removes it.
52
+ */
53
+ export const applyStateAttributes = (element, attributes) => {
54
+ for (const [name, value] of Object.entries(attributes)) {
55
+ if (value == null)
56
+ element.removeAttribute(name);
57
+ else if (element.getAttribute(name) !== value)
58
+ element.setAttribute(name, value);
59
+ }
60
+ };
61
+ /**
62
+ * What each shared state attribute means. Components build their documented styling-hook maps
63
+ * from these entries so the wording stays the same everywhere.
64
+ */
65
+ export const stateDataAttributes = {
66
+ 'data-open': 'Present while open.',
67
+ 'data-closed': 'Present while closed, including during the exit transition.',
68
+ 'data-entering': 'Present while the enter transition plays.',
69
+ 'data-exiting': 'Present while the exit transition plays.',
70
+ 'data-side': 'The side of the anchor the popup sits on: top, right, bottom or left; inline-start or inline-end when a logical side was requested; none when the popup is not placed beside its anchor.',
71
+ 'data-align': 'The alignment with the anchor: start, center or end.',
72
+ 'data-anchor-hidden': 'Present while the anchor is scrolled out of view.',
73
+ 'data-popup-open': 'Present on a trigger while its popup is open.',
74
+ 'data-popup-side': 'On a trigger, the side its placed popup sits on (the values of data-side).',
75
+ 'data-highlighted': 'Present on the item the keyboard or pointer highlights.',
76
+ 'data-disabled': 'Present while disabled.',
77
+ 'data-selected': 'Present while selected or checked.'
78
+ };
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Release speed for swipe gestures (drawer dismissal, Sidebar view swipes, Toast flicks).
3
+ *
4
+ * The speed is measured over a time window that ends at the last sample where the pointer was
5
+ * still moving, rather than from the last pair of samples. That keeps it stable whatever the
6
+ * input rate (60 Hz and 120 Hz report the same flick) and survives the effectively stationary
7
+ * move some Android devices emit right before release, which would otherwise read as a stop.
8
+ * A pointer that rests longer than the window before release has no speed left.
9
+ */
10
+ /** Width of the measuring window, in ms. */
11
+ export declare const SWIPE_VELOCITY_WINDOW_MS = 80;
12
+ export type VelocityTrackerOptions = {
13
+ /** Width of the measuring window, in ms. Default `SWIPE_VELOCITY_WINDOW_MS`. */
14
+ windowMs?: number;
15
+ /** Shortest interval a speed is divided by, in ms. Default 4. */
16
+ minIntervalMs?: number;
17
+ };
18
+ export type VelocityTracker = {
19
+ /** Forgets every sample: call it when a gesture starts. */
20
+ reset(): void;
21
+ /**
22
+ * Records the pointer's position along the gesture axis at `time` (an event's `timeStamp`).
23
+ * Record the release event too: a release that moved still counts.
24
+ */
25
+ add(position: number, time: number): void;
26
+ /**
27
+ * The speed along the axis in px/ms (signed: positive toward increasing positions) at `time`,
28
+ * usually the release event's `timeStamp`. Defaults to the newest sample's time.
29
+ */
30
+ velocity(time?: number): number;
31
+ };
32
+ export declare const createVelocityTracker: ({ windowMs, minIntervalMs }?: VelocityTrackerOptions) => VelocityTracker;
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Release speed for swipe gestures (drawer dismissal, Sidebar view swipes, Toast flicks).
3
+ *
4
+ * The speed is measured over a time window that ends at the last sample where the pointer was
5
+ * still moving, rather than from the last pair of samples. That keeps it stable whatever the
6
+ * input rate (60 Hz and 120 Hz report the same flick) and survives the effectively stationary
7
+ * move some Android devices emit right before release, which would otherwise read as a stop.
8
+ * A pointer that rests longer than the window before release has no speed left.
9
+ */
10
+ /** Width of the measuring window, in ms. */
11
+ export const SWIPE_VELOCITY_WINDOW_MS = 80;
12
+ /** Shortest interval a speed is divided by, so near-simultaneous samples cannot spike it. */
13
+ const MIN_INTERVAL_MS = 4;
14
+ /** Samples closer than this to the resting position count as stationary. */
15
+ const STATIONARY_PX = 1;
16
+ /** Samples kept: comfortably more than a window's worth at 240 Hz. */
17
+ const MAX_SAMPLES = 64;
18
+ export const createVelocityTracker = ({ windowMs = SWIPE_VELOCITY_WINDOW_MS, minIntervalMs = MIN_INTERVAL_MS } = {}) => {
19
+ let samples = [];
20
+ /** Index of the first sample of the stationary tail: where the pointer came to rest. */
21
+ const restingIndex = () => {
22
+ const newest = samples[samples.length - 1];
23
+ let index = samples.length - 1;
24
+ while (index > 0 && Math.abs(samples[index - 1].position - newest.position) < STATIONARY_PX) {
25
+ index -= 1;
26
+ }
27
+ return index;
28
+ };
29
+ return {
30
+ reset() {
31
+ samples = [];
32
+ },
33
+ add(position, time) {
34
+ if (!Number.isFinite(position) || !Number.isFinite(time))
35
+ return;
36
+ const newest = samples[samples.length - 1];
37
+ if (newest && time < newest.time)
38
+ return;
39
+ samples.push({ position, time });
40
+ if (samples.length > MAX_SAMPLES)
41
+ samples = samples.slice(-MAX_SAMPLES);
42
+ },
43
+ velocity(time) {
44
+ if (samples.length < 2)
45
+ return 0;
46
+ const end = restingIndex();
47
+ const last = samples[end];
48
+ const now = time ?? samples[samples.length - 1].time;
49
+ // Resting for longer than the window is a hold, not a flick.
50
+ if (end === 0 || now - last.time > windowMs)
51
+ return 0;
52
+ let start = end - 1;
53
+ while (start > 0 && last.time - samples[start - 1].time <= windowMs)
54
+ start -= 1;
55
+ const first = samples[start];
56
+ return (last.position - first.position) / Math.max(last.time - first.time, minIntervalMs);
57
+ }
58
+ };
59
+ };
@@ -1,19 +1,82 @@
1
+ export type TimerOptions = {
2
+ /** Creates the timer held by `pause()`: it counts nothing until `resume()`. @default false */
3
+ startPaused?: boolean;
4
+ /**
5
+ * Reason, or reasons, that hold the timer from the start, such as `'hover'` or `'window'` when
6
+ * the pointer or an inactive window already pauses its owner. It counts nothing until each one
7
+ * is released.
8
+ */
9
+ heldBy?: string | Iterable<string>;
10
+ };
11
+ /** The reason `pause()` holds and `resume()` releases. */
12
+ export declare const PAUSE_REASON = "pause";
13
+ /**
14
+ * A countdown driven by requestAnimationFrame, with reactive `elapsed` and `remaining`.
15
+ *
16
+ * Several things can stop it at once (hover, keyboard focus, a swipe, an inactive window): each
17
+ * one calls `hold(reason)` and later `release(reason)`, and the countdown runs only while no
18
+ * reason holds it. `pause()` and `resume()` hold and release the `'pause'` reason.
19
+ *
20
+ * Frames stop while a tab is hidden but `performance.now()` keeps counting, so the owner has to
21
+ * hold the timer while its window is inactive (see `watchWindowActivity`); otherwise the first
22
+ * frame after the user comes back sees the whole hidden interval as elapsed.
23
+ */
1
24
  export declare class Timer {
2
25
  private rafId;
3
26
  private startTime;
4
27
  private pausedTime;
5
28
  private callback;
6
- private isPaused;
29
+ private holds;
30
+ private revision;
31
+ private touch;
32
+ private stopped;
33
+ private held;
7
34
  delay: number;
8
35
  remaining: number;
9
36
  elapsed: number;
10
37
  elapsedInSeconds: number;
11
38
  elapsedInPercent: number;
12
- constructor(callback: () => void, delay: number);
39
+ constructor(callback: () => void, delay: number, { startPaused, heldBy }?: TimerOptions);
40
+ /** Whether any reason holds the countdown. Reactive. */
41
+ get paused(): boolean;
42
+ /** The reasons currently holding the countdown, in the order they were added. Reactive. */
43
+ get heldBy(): readonly string[];
44
+ /** Whether `reason` currently holds the countdown. Reactive. */
45
+ isHeldBy: (reason: string) => boolean;
13
46
  start: () => void;
47
+ /**
48
+ * Stops the countdown for `reason`, keeping the time already elapsed. Holding with a reason
49
+ * that already holds it changes nothing.
50
+ */
51
+ hold: (reason: string) => void;
52
+ /**
53
+ * Drops `reason`. When no other reason holds the timer, the countdown resumes with the time it
54
+ * had left. Releasing a reason that doesn't hold it changes nothing.
55
+ */
56
+ release: (reason: string) => void;
57
+ /** Holds the countdown with the `'pause'` reason. */
14
58
  pause: () => void;
59
+ /** Releases the `'pause'` reason; other reasons keep holding the timer. */
15
60
  resume: () => void;
16
61
  destroy: () => void;
62
+ /**
63
+ * Restarts the countdown from the full `delay`. A held timer stays held, so a toast updated
64
+ * under the pointer or in a background tab does not start counting down.
65
+ */
17
66
  update: (delay: number) => void;
67
+ private cancelFrame;
18
68
  private scheduleFrame;
19
69
  }
70
+ /**
71
+ * Reports when the window becomes inactive (blurred, or its document hidden) and active again:
72
+ * `onChange(true)` on the way in, `onChange(false)` on the way out. A document that is already
73
+ * hidden reports `true` at once; focus is assumed at the start. Returns the cleanup.
74
+ */
75
+ export declare const watchWindowActivity: (onChange: (inactive: boolean) => void, targetWindow?: Window | undefined) => (() => void);
76
+ /** Reason `holdWhileWindowInactive` holds a timer with. */
77
+ export declare const WINDOW_INACTIVE_REASON = "window";
78
+ /**
79
+ * Holds `timer` with `reason` while the window is blurred or its tab hidden, and releases it when
80
+ * the window is active again. Returns the cleanup, which also releases the reason.
81
+ */
82
+ export declare const holdWhileWindowInactive: (timer: Pick<Timer, "hold" | "release">, reason?: string) => (() => void);
@@ -1,69 +1,203 @@
1
+ import { untrack } from 'svelte';
2
+ /** The reason `pause()` holds and `resume()` releases. */
3
+ export const PAUSE_REASON = 'pause';
4
+ /**
5
+ * A countdown driven by requestAnimationFrame, with reactive `elapsed` and `remaining`.
6
+ *
7
+ * Several things can stop it at once (hover, keyboard focus, a swipe, an inactive window): each
8
+ * one calls `hold(reason)` and later `release(reason)`, and the countdown runs only while no
9
+ * reason holds it. `pause()` and `resume()` hold and release the `'pause'` reason.
10
+ *
11
+ * Frames stop while a tab is hidden but `performance.now()` keeps counting, so the owner has to
12
+ * hold the timer while its window is inactive (see `watchWindowActivity`); otherwise the first
13
+ * frame after the user comes back sees the whole hidden interval as elapsed.
14
+ */
1
15
  export class Timer {
2
16
  rafId = null;
3
17
  startTime = 0;
4
18
  pausedTime = 0;
5
19
  callback;
6
- isPaused = false;
20
+ // eslint-disable-next-line svelte/prefer-svelte-reactivity -- read imperatively, so `hold()` in an effect doesn't subscribe it; `held` and `revision` are the reactive mirrors
21
+ holds = new Set();
22
+ // Bumped on every hold and release, so `heldBy` and `isHeldBy` are reactive.
23
+ revision = $state(0);
24
+ // Bumps `revision` without reading it, so a `hold()` inside an effect doesn't subscribe it.
25
+ touch = () => untrack(() => (this.revision += 1));
26
+ // Set once the callback ran or the timer was destroyed; only `update()` restarts it.
27
+ stopped = false;
28
+ held = $state(false);
7
29
  delay = $state(0);
8
30
  remaining = $state(0);
9
31
  elapsed = $state(0);
10
32
  elapsedInSeconds = $derived(Math.round(Math.min(this.elapsed / 1000, this.delay / 1000)));
11
33
  elapsedInPercent = $derived(Math.round(Math.min((this.elapsed / this.delay) * 100, 100)));
12
- constructor(callback, delay) {
34
+ constructor(callback, delay, { startPaused = false, heldBy = [] } = {}) {
13
35
  this.callback = callback;
14
36
  this.delay = delay;
15
37
  this.remaining = delay;
16
- if (delay > 0) {
38
+ for (const reason of typeof heldBy === 'string' ? [heldBy] : heldBy)
39
+ this.holds.add(reason);
40
+ if (startPaused)
41
+ this.holds.add(PAUSE_REASON);
42
+ this.held = this.holds.size > 0;
43
+ if (delay > 0 && !this.held) {
17
44
  this.start();
18
45
  }
19
46
  }
47
+ /** Whether any reason holds the countdown. Reactive. */
48
+ get paused() {
49
+ return this.held;
50
+ }
51
+ /** The reasons currently holding the countdown, in the order they were added. Reactive. */
52
+ get heldBy() {
53
+ void this.revision;
54
+ return [...this.holds];
55
+ }
56
+ /** Whether `reason` currently holds the countdown. Reactive. */
57
+ isHeldBy = (reason) => {
58
+ void this.revision;
59
+ return this.holds.has(reason);
60
+ };
20
61
  start = () => {
62
+ this.cancelFrame();
21
63
  this.startTime = performance.now();
22
64
  this.rafId = requestAnimationFrame(this.scheduleFrame);
23
65
  };
24
- pause = () => {
25
- if (this.rafId !== null) {
26
- cancelAnimationFrame(this.rafId);
27
- this.rafId = null;
28
- }
29
- this.isPaused = true;
66
+ /**
67
+ * Stops the countdown for `reason`, keeping the time already elapsed. Holding with a reason
68
+ * that already holds it changes nothing.
69
+ */
70
+ hold = (reason) => {
71
+ if (this.holds.has(reason))
72
+ return;
73
+ this.holds.add(reason);
74
+ this.touch();
75
+ if (this.holds.size > 1)
76
+ return;
77
+ this.cancelFrame();
30
78
  this.pausedTime = this.elapsed;
79
+ this.held = true;
31
80
  };
32
- resume = () => {
33
- if (this.isPaused) {
34
- this.startTime = performance.now() - this.pausedTime;
35
- this.isPaused = false;
36
- this.rafId = requestAnimationFrame(this.scheduleFrame);
37
- }
81
+ /**
82
+ * Drops `reason`. When no other reason holds the timer, the countdown resumes with the time it
83
+ * had left. Releasing a reason that doesn't hold it changes nothing.
84
+ */
85
+ release = (reason) => {
86
+ if (!this.holds.delete(reason))
87
+ return;
88
+ this.touch();
89
+ if (this.holds.size > 0)
90
+ return;
91
+ this.held = false;
92
+ if (this.stopped || this.delay <= 0)
93
+ return;
94
+ this.startTime = performance.now() - this.pausedTime;
95
+ this.cancelFrame();
96
+ this.rafId = requestAnimationFrame(this.scheduleFrame);
38
97
  };
98
+ /** Holds the countdown with the `'pause'` reason. */
99
+ pause = () => this.hold(PAUSE_REASON);
100
+ /** Releases the `'pause'` reason; other reasons keep holding the timer. */
101
+ resume = () => this.release(PAUSE_REASON);
39
102
  destroy = () => {
40
- if (this.rafId !== null) {
41
- cancelAnimationFrame(this.rafId);
42
- this.rafId = null;
43
- }
103
+ this.cancelFrame();
104
+ this.stopped = true;
44
105
  };
106
+ /**
107
+ * Restarts the countdown from the full `delay`. A held timer stays held, so a toast updated
108
+ * under the pointer or in a background tab does not start counting down.
109
+ */
45
110
  update = (delay) => {
46
- this.destroy();
111
+ this.cancelFrame();
112
+ this.stopped = false;
47
113
  this.delay = delay;
48
114
  this.remaining = delay;
49
115
  this.elapsed = 0;
50
116
  this.pausedTime = 0;
51
- this.isPaused = false;
52
- if (delay > 0) {
117
+ if (delay > 0 && this.holds.size === 0) {
53
118
  this.start();
54
119
  }
55
120
  };
121
+ cancelFrame = () => {
122
+ if (this.rafId === null)
123
+ return;
124
+ cancelAnimationFrame(this.rafId);
125
+ this.rafId = null;
126
+ };
56
127
  scheduleFrame = (timestamp) => {
57
- if (this.isPaused)
128
+ this.rafId = null;
129
+ if (this.holds.size > 0 || this.stopped)
58
130
  return;
59
- this.elapsed = timestamp - this.startTime;
131
+ // A frame's timestamp can precede the `performance.now()` read in `start()`.
132
+ this.elapsed = Math.max(0, timestamp - this.startTime);
60
133
  this.remaining = Math.max(0, this.delay - this.elapsed);
61
134
  if (this.elapsed >= this.delay) {
135
+ this.stopped = true;
62
136
  this.callback();
63
- this.rafId = null;
64
137
  }
65
138
  else {
66
139
  this.rafId = requestAnimationFrame(this.scheduleFrame);
67
140
  }
68
141
  };
69
142
  }
143
+ /**
144
+ * Reports when the window becomes inactive (blurred, or its document hidden) and active again:
145
+ * `onChange(true)` on the way in, `onChange(false)` on the way out. A document that is already
146
+ * hidden reports `true` at once; focus is assumed at the start. Returns the cleanup.
147
+ */
148
+ export const watchWindowActivity = (onChange, targetWindow = typeof window === 'undefined' ? undefined : window) => {
149
+ if (!targetWindow)
150
+ return () => { };
151
+ const targetDocument = targetWindow.document;
152
+ let blurred = false;
153
+ let hidden = targetDocument.visibilityState === 'hidden';
154
+ let inactive = hidden;
155
+ const update = () => {
156
+ const next = blurred || hidden;
157
+ if (next === inactive)
158
+ return;
159
+ inactive = next;
160
+ onChange(next);
161
+ };
162
+ // Blur and focus don't bubble, so these only see the window's own events; the target check
163
+ // keeps element focus changes out all the same.
164
+ const onBlur = (event) => {
165
+ if (event.target !== event.currentTarget)
166
+ return;
167
+ blurred = true;
168
+ update();
169
+ };
170
+ const onFocus = (event) => {
171
+ if (event.target !== event.currentTarget)
172
+ return;
173
+ blurred = false;
174
+ update();
175
+ };
176
+ const onVisibilityChange = () => {
177
+ hidden = targetDocument.visibilityState === 'hidden';
178
+ update();
179
+ };
180
+ targetWindow.addEventListener('blur', onBlur);
181
+ targetWindow.addEventListener('focus', onFocus);
182
+ targetDocument.addEventListener('visibilitychange', onVisibilityChange);
183
+ if (inactive)
184
+ onChange(true);
185
+ return () => {
186
+ targetWindow.removeEventListener('blur', onBlur);
187
+ targetWindow.removeEventListener('focus', onFocus);
188
+ targetDocument.removeEventListener('visibilitychange', onVisibilityChange);
189
+ };
190
+ };
191
+ /** Reason `holdWhileWindowInactive` holds a timer with. */
192
+ export const WINDOW_INACTIVE_REASON = 'window';
193
+ /**
194
+ * Holds `timer` with `reason` while the window is blurred or its tab hidden, and releases it when
195
+ * the window is active again. Returns the cleanup, which also releases the reason.
196
+ */
197
+ export const holdWhileWindowInactive = (timer, reason = WINDOW_INACTIVE_REASON) => {
198
+ const stop = watchWindowActivity((inactive) => inactive ? timer.hold(reason) : timer.release(reason));
199
+ return () => {
200
+ stop();
201
+ timer.release(reason);
202
+ };
203
+ };
@@ -0,0 +1,41 @@
1
+ /** Elements that may carry popup ARIA state. */
2
+ export declare const POPUP_CONTROL = "button, a[href], input, select, textarea, summary, [role=\"button\"], [role=\"link\"], [role=\"combobox\"], [role=\"menuitem\"], [role=\"menuitemcheckbox\"], [role=\"menuitemradio\"], [role=\"tab\"], [role=\"option\"], [role=\"treeitem\"], [role=\"gridcell\"], [role=\"switch\"], [role=\"checkbox\"]";
3
+ /** Elements the browser already focuses and activates from the keyboard. */
4
+ export declare const NATIVE_CONTROL = "button, a[href], input, select, textarea, summary";
5
+ /** A trigger's popup state, in the library's semantic vocabulary. */
6
+ export type PopupTriggerProps = {
7
+ haspopup: 'dialog' | 'menu' | 'listbox' | 'tree' | 'grid' | true;
8
+ expanded: boolean;
9
+ controls: string | undefined;
10
+ };
11
+ /**
12
+ * Writes the popup ARIA attributes on a trigger. Call inside an `$effect` so they follow the
13
+ * state. Only real controls carry them: a wrapper `div` or a presentational `span` used as an
14
+ * anchor must not (axe: aria-allowed-attr).
15
+ */
16
+ export declare function writePopupAria(node: HTMLElement, props: PopupTriggerProps): void;
17
+ export interface TriggerActivationOptions {
18
+ /** Requests the change; called with the click or key event that pressed the trigger. */
19
+ activate: (event: MouseEvent | KeyboardEvent) => void;
20
+ /**
21
+ * A counter the owner bumps on every open-state request. The press stands down when it moved
22
+ * while the event was dispatching: the element's own handler (`onclick={popover.toggle}`)
23
+ * already acted, and acting again would undo it.
24
+ */
25
+ requests: () => number;
26
+ /** Whether presses act at all (`openOnClick`). Default `true`. */
27
+ enabled?: () => boolean;
28
+ }
29
+ /**
30
+ * Makes `node` a trigger that activates on click, and on Enter and Space when it is not a native
31
+ * control. A non-control element also gets `role="button"` and `tabindex="0"`. Returns cleanup.
32
+ */
33
+ export declare function triggerActivation(node: HTMLElement, options: TriggerActivationOptions): () => void;
34
+ /**
35
+ * The element focus returns to when a popup opened from `trigger` closes: the trigger when it is
36
+ * focusable, else the focusable element inside it that was pressed or focused (the country button
37
+ * inside a phone field's wrapper), else `null` (the focus scope's own default).
38
+ */
39
+ export declare function triggerFocusTarget(trigger: HTMLElement, event?: Event): HTMLElement | null;
40
+ /** The element that has focus now, or `null` when nothing does (the body). */
41
+ export declare function focusedElement(document?: Document): HTMLElement | null;