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
@@ -1,22 +1,56 @@
1
1
  import type { InputProps } from '../Field/field.js';
2
2
  import type { PinInputThemeProps } from './pinInput.theme.js';
3
- import type { PinInputPattern } from './pinInput.state.svelte.js';
3
+ import type { PinInputPattern, PinInputRejectDetail } from './pinInput.state.svelte.js';
4
4
  import type { HTMLInputAttributes } from 'svelte/elements';
5
5
  export type PinInputProps = Omit<InputProps<'pin'>, 'onValueChange'> & {
6
6
  /** Number of visible cells. */
7
7
  length?: number;
8
- /** Partial-value pattern used to accept typed and pasted input. */
8
+ /**
9
+ * Partial-value pattern the code must match after normalization. Text that fails it is
10
+ * refused whole, and reported to `onRejectInput`.
11
+ */
9
12
  pattern?: PinInputPattern;
10
13
  /** Input mode forwarded to the real input for mobile keyboards. */
11
14
  inputMode?: HTMLInputAttributes['inputmode'];
12
15
  /** Autocomplete hint forwarded to the real input. */
13
16
  autocomplete?: HTMLInputAttributes['autocomplete'];
14
- /** Transforms pasted text before it is inserted. */
17
+ /**
18
+ * Transforms pasted text before the shared normalization runs (a paste-only first step). A
19
+ * result at least `length` characters long replaces the whole code, wherever the caret is.
20
+ */
15
21
  pasteTransformer?: (text: string) => string;
22
+ /**
23
+ * Final step of the normalization every typed, pasted, autofilled, composed and controlled
24
+ * code goes through, after whitespace and separators are removed and digits of other numeral
25
+ * systems become ASCII. Use it to fold case: `(text) => text.toUpperCase()`. It should give
26
+ * the same result when run again on its own output.
27
+ */
28
+ normalizeValue?: (text: string) => string;
29
+ /**
30
+ * Called when the pattern refuses text, with the text as it arrived and where it came from.
31
+ */
32
+ onRejectInput?: (detail: PinInputRejectDetail) => void;
16
33
  /** Called when the value changes. */
17
34
  onValueChange?: (value: string) => void;
18
- /** Called once when the input reaches the configured length. */
35
+ /**
36
+ * Called when the value becomes complete. A paste or autofill that leaves the code complete
37
+ * calls it again, even when the code was already complete or unchanged; typing over one cell
38
+ * of a complete code does not.
39
+ */
19
40
  onComplete?: (value: string) => void;
41
+ /**
42
+ * Submits the owning form when the user types, pastes or autofills a complete code: through
43
+ * the surrounding Form (which validates first and focuses an earlier invalid field), else the
44
+ * native form with `requestSubmit()`. A code set by the parent, and a read-only or disabled
45
+ * input, never submit.
46
+ * @default false
47
+ */
48
+ submitOnComplete?: boolean;
49
+ /**
50
+ * Splits the cells into groups with a separator between them: `[3, 3]` for a code written
51
+ * 123-456. The separator is decorative and hidden from assistive technology.
52
+ */
53
+ groups?: number[];
20
54
  /** Whether displayed characters should be visually masked. */
21
55
  mask?: boolean;
22
56
  /** Theme overrides for the pin input cells and field container. */
@@ -1,6 +1,12 @@
1
1
  import type { Attachment } from 'svelte/attachments';
2
2
  export declare const PIN_INPUT_DIGITS_PATTERN = "^\\d+$";
3
3
  export declare const PIN_INPUT_CHARS_PATTERN = "^[a-zA-Z]+$";
4
+ /**
5
+ * Extra characters the native input accepts beyond the code length. Autofilled or inserted text
6
+ * such as `123-456` reaches the pipeline whole, so it can strip separators before clamping to
7
+ * `length`, instead of the browser truncating it first.
8
+ */
9
+ export declare const PIN_INPUT_TEXT_MARGIN = 32;
4
10
  export declare const PIN_INPUT_ALPHANUMERIC_PATTERN = "^[a-zA-Z0-9]+$";
5
11
  export type PinInputPattern = string | RegExp;
6
12
  export type PinInputCell = {
@@ -16,8 +22,19 @@ type PinInputStateOptions = {
16
22
  length: () => number;
17
23
  pattern: () => PinInputPattern | undefined;
18
24
  pasteTransformer: () => ((text: string) => string) | undefined;
25
+ normalizeValue: () => ((text: string) => string) | undefined;
26
+ onRejectInput: () => ((detail: PinInputRejectDetail) => void) | undefined;
19
27
  onComplete: () => ((value: string) => void) | undefined;
28
+ /** Submits the owning form; called when a typed, pasted or autofilled code completes. */
29
+ submit: () => (() => void) | undefined;
30
+ submitOnComplete: () => boolean | undefined;
20
31
  disabled: () => boolean | undefined;
32
+ readOnly: () => boolean | undefined;
33
+ };
34
+ /** Text the pattern turned away, and where it came from. */
35
+ export type PinInputRejectDetail = {
36
+ text: string;
37
+ source: 'paste' | 'input';
21
38
  };
22
39
  export declare class PinInputState {
23
40
  #private;
@@ -26,20 +43,35 @@ export declare class PinInputState {
26
43
  isFocused: boolean;
27
44
  selectionStart: number | null;
28
45
  selectionEnd: number | null;
46
+ /** The input text while an IME composition is in progress; the cells display it. */
47
+ composingValue: string | null;
29
48
  inputAttachment: Attachment<HTMLInputElement>;
30
49
  constructor(options: PinInputStateOptions);
31
50
  get value(): string;
51
+ /** Whether an IME composition the cells display is in progress. */
52
+ get isComposing(): boolean;
32
53
  get length(): number;
54
+ /**
55
+ * The one pipeline typed, pasted, autofilled, composed and controlled text goes through:
56
+ * format controls and whitespace go, full-width and other numeral systems become ASCII,
57
+ * grouping separators go where the pattern does not accept them, then `normalizeValue` runs.
58
+ * The pattern and the length are applied by the caller.
59
+ */
60
+ normalizeText(text: string): string;
33
61
  get cells(): {
34
62
  index: number;
35
63
  char: string;
36
64
  isActive: boolean;
37
65
  hasFakeCaret: boolean;
38
66
  }[];
67
+ /** Whether the field refuses edits: disabled, or read-only. */
68
+ get isLocked(): boolean;
39
69
  focus: () => void;
40
70
  handlePointerDown: (event: PointerEvent) => void;
41
71
  handleKeydown: (event: KeyboardEvent) => void;
42
72
  handleInput: (event: Event) => void;
73
+ handleCompositionStart: () => void;
74
+ handleCompositionEnd: (event: CompositionEvent) => void;
43
75
  handlePaste: (event: ClipboardEvent) => void;
44
76
  handleFocus: () => void;
45
77
  handleBlur: () => void;
@@ -51,6 +83,15 @@ export declare class PinInputState {
51
83
  private selectCellFromPointer;
52
84
  private getPointerCellIndex;
53
85
  private syncInputValue;
86
+ private endComposition;
87
+ /**
88
+ * Reports a committed complete paste or autofill even when the code was already complete. A
89
+ * changed value is reported by the value effect after the update; an unchanged one right away.
90
+ */
91
+ private requestComplete;
92
+ private reject;
93
+ /** Reports a complete code, and submits the form after one the user typed, pasted or filled. */
94
+ private complete;
54
95
  private notifyComplete;
55
96
  private clampSelection;
56
97
  private isValueAllowed;
@@ -1,6 +1,13 @@
1
1
  import { untrack } from 'svelte';
2
+ import { normalizeDigits, stripBidiMarks } from '../../../utils/number.js';
2
3
  export const PIN_INPUT_DIGITS_PATTERN = '^\\d+$';
3
4
  export const PIN_INPUT_CHARS_PATTERN = '^[a-zA-Z]+$';
5
+ /**
6
+ * Extra characters the native input accepts beyond the code length. Autofilled or inserted text
7
+ * such as `123-456` reaches the pipeline whole, so it can strip separators before clamping to
8
+ * `length`, instead of the browser truncating it first.
9
+ */
10
+ export const PIN_INPUT_TEXT_MARGIN = 32;
4
11
  export const PIN_INPUT_ALPHANUMERIC_PATTERN = '^[a-zA-Z0-9]+$';
5
12
  const KEYS_TO_IGNORE = new Set([
6
13
  'Backspace',
@@ -19,15 +26,34 @@ const KEYS_TO_IGNORE = new Set([
19
26
  'Meta',
20
27
  'Alt'
21
28
  ]);
29
+ /** Folds the full-width ASCII forms that CJK input methods produce (`12`) to ASCII (`12`). */
30
+ const toHalfWidth = (text) => text.replace(/[\uFF01-\uFF5E]/g, (char) => String.fromCharCode(char.charCodeAt(0) - 0xfee0));
31
+ /** Whitespace, which never belongs to a code. */
32
+ const WHITESPACE_RE = /[\p{Z}\s]/u;
33
+ /** Dashes, dots, slashes and the like that group a code for reading (`123-456`, `123.456`). */
34
+ const SEPARATOR_RE = /[\p{Pd}\u2212._\u00b7\u2022/\\,:;|]/u;
35
+ /** Where the root node of `node` is: the document, or the shadow root it lives in. */
36
+ const rootOf = (node) => node.getRootNode();
37
+ /** Some Android keyboards report all typing as one long composition, so they commit on input. */
38
+ const isAlwaysComposingKeyboard = (node) => /android/i.test(node.ownerDocument.defaultView?.navigator.userAgent ?? '');
22
39
  export class PinInputState {
23
40
  options;
24
41
  input = $state(null);
25
42
  isFocused = $state(false);
26
43
  selectionStart = $state(null);
27
44
  selectionEnd = $state(null);
45
+ /** The input text while an IME composition is in progress; the cells display it. */
46
+ composingValue = $state(null);
28
47
  inputAttachment;
29
48
  #previousValue;
30
49
  #previousSelection = [null, null, 'none'];
50
+ #composition = null;
51
+ /** A complete pasted or autofilled value to report even when the previous code was complete. */
52
+ #pendingCompleteValue = null;
53
+ /** The value the last user edit asked for; completing with it may submit the form. */
54
+ #userCommit = null;
55
+ /** What the controlled-value normalization last wrote, so it never re-normalizes its own output. */
56
+ #normalizedValue = null;
31
57
  constructor(options) {
32
58
  this.options = options;
33
59
  this.#previousValue = this.value.slice(0, this.length);
@@ -35,24 +61,36 @@ export class PinInputState {
35
61
  this.input = node;
36
62
  this.syncInputValue(this.value.slice(0, this.length));
37
63
  this.normalizeSelection();
38
- const document = node.ownerDocument;
39
- document.addEventListener('selectionchange', this.normalizeSelection, { capture: true });
64
+ // `selectionchange` does not cross a shadow boundary, so the root node listens, and the
65
+ // document too for engines that report it there.
66
+ const root = rootOf(node);
67
+ const targets = root === node.ownerDocument ? [root] : [root, node.ownerDocument];
68
+ for (const target of targets) {
69
+ target.addEventListener('selectionchange', this.normalizeSelection, { capture: true });
70
+ }
40
71
  return () => {
41
- document.removeEventListener('selectionchange', this.normalizeSelection, {
42
- capture: true
43
- });
72
+ for (const target of targets) {
73
+ target.removeEventListener('selectionchange', this.normalizeSelection, {
74
+ capture: true
75
+ });
76
+ }
44
77
  if (this.input === node) {
45
78
  this.input = null;
46
79
  this.selectionStart = null;
47
80
  this.selectionEnd = null;
48
81
  this.#previousSelection = [null, null, 'none'];
82
+ this.endComposition();
49
83
  }
50
84
  };
51
85
  });
52
86
  $effect(() => {
53
87
  const value = this.value;
54
- const clippedValue = value.slice(0, this.length);
88
+ // A controlled value goes through the same pipeline as typed text, once: what the
89
+ // pipeline wrote is accepted as it is, so an unstable `normalizeValue` cannot loop.
90
+ const normalizedValue = value === this.#normalizedValue ? value : this.normalizeText(value);
91
+ const clippedValue = normalizedValue.slice(0, this.length);
55
92
  if (value !== clippedValue) {
93
+ this.#normalizedValue = clippedValue;
56
94
  this.options.setValue(clippedValue);
57
95
  }
58
96
  this.syncInputValue(clippedValue);
@@ -62,14 +100,32 @@ export class PinInputState {
62
100
  get value() {
63
101
  return this.options.value() ?? '';
64
102
  }
103
+ /** Whether an IME composition the cells display is in progress. */
104
+ get isComposing() {
105
+ return this.composingValue !== null;
106
+ }
65
107
  get length() {
66
108
  const length = this.options.length();
67
109
  if (!Number.isFinite(length))
68
110
  return 6;
69
111
  return Math.max(1, Math.floor(length));
70
112
  }
113
+ /**
114
+ * The one pipeline typed, pasted, autofilled, composed and controlled text goes through:
115
+ * format controls and whitespace go, full-width and other numeral systems become ASCII,
116
+ * grouping separators go where the pattern does not accept them, then `normalizeValue` runs.
117
+ * The pattern and the length are applied by the caller.
118
+ */
119
+ normalizeText(text) {
120
+ const folded = normalizeDigits(toHalfWidth(stripBidiMarks(text)));
121
+ const stripped = Array.from(folded)
122
+ .filter((char) => !WHITESPACE_RE.test(char) &&
123
+ !(SEPARATOR_RE.test(char) && this.options.pattern() && !this.isValueAllowed(char)))
124
+ .join('');
125
+ return this.options.normalizeValue()?.(stripped) ?? stripped;
126
+ }
71
127
  get cells() {
72
- const value = this.value;
128
+ const value = this.composingValue ?? this.value;
73
129
  const selectionStart = this.selectionStart ?? Math.min(value.length, this.length - 1);
74
130
  const selectionEnd = this.selectionEnd ?? selectionStart;
75
131
  const lowerSelection = Math.min(selectionStart, selectionEnd);
@@ -88,6 +144,10 @@ export class PinInputState {
88
144
  };
89
145
  });
90
146
  }
147
+ /** Whether the field refuses edits: disabled, or read-only. */
148
+ get isLocked() {
149
+ return Boolean(this.options.disabled() || this.options.readOnly());
150
+ }
91
151
  focus = () => {
92
152
  if (this.options.disabled())
93
153
  return;
@@ -97,28 +157,95 @@ export class PinInputState {
97
157
  if (this.options.disabled())
98
158
  return;
99
159
  event.preventDefault();
160
+ // Moving the caret would end the composition; the input method keeps it until it commits.
161
+ if (this.#composition)
162
+ return;
100
163
  this.input?.focus({ preventScroll: true });
101
164
  this.selectCellFromPointer(event);
102
165
  };
103
166
  handleKeydown = (event) => {
104
- if (event.isComposing || event.ctrlKey || event.metaKey || KEYS_TO_IGNORE.has(event.key)) {
167
+ if (this.#composition ||
168
+ event.isComposing ||
169
+ // 229 marks a keystroke the input method consumes; its text is checked on compositionend.
170
+ event.keyCode === 229 ||
171
+ event.ctrlKey ||
172
+ event.metaKey ||
173
+ KEYS_TO_IGNORE.has(event.key)) {
105
174
  return;
106
175
  }
107
- if (event.key.length === 1 && !this.isValueAllowed(event.key)) {
108
- event.preventDefault();
176
+ if (event.key.length === 1) {
177
+ // A key the pipeline drops (a separator, a space) never reaches the input.
178
+ const typed = this.normalizeText(event.key);
179
+ if (typed === '') {
180
+ event.preventDefault();
181
+ }
182
+ else if (!this.isValueAllowed(typed)) {
183
+ event.preventDefault();
184
+ // The browser never raises an input event for a key that is refused here.
185
+ if (!this.isLocked)
186
+ this.reject(event.key, 'input');
187
+ }
109
188
  }
110
189
  };
111
190
  handleInput = (event) => {
112
191
  const input = event.currentTarget;
113
192
  if (!(input instanceof HTMLInputElement))
114
193
  return;
115
- const nextValue = input.value.slice(0, this.length);
116
- if (!this.isValueAllowed(nextValue)) {
194
+ // The input method owns the text until compositionend; intermediate text is only displayed.
195
+ if (this.#composition) {
196
+ this.composingValue = input.value;
197
+ this.normalizeSelection();
198
+ return;
199
+ }
200
+ const text = input.value;
201
+ const nextValue = this.normalizeText(text).slice(0, this.length);
202
+ if (this.isLocked || !this.isValueAllowed(nextValue)) {
203
+ if (!this.isLocked)
204
+ this.reject(text, 'input');
117
205
  input.value = this.value;
118
206
  this.normalizeSelection();
119
207
  return;
120
208
  }
121
- this.commitValue(nextValue, input.selectionStart ?? nextValue.length);
209
+ this.commitValue(nextValue, Math.min(input.selectionStart ?? nextValue.length, nextValue.length));
210
+ if (isReplacementInput(event))
211
+ this.requestComplete(nextValue);
212
+ this.normalizeSelection();
213
+ };
214
+ handleCompositionStart = () => {
215
+ const input = this.input;
216
+ if (!input || this.options.disabled() || isAlwaysComposingKeyboard(input))
217
+ return;
218
+ const value = this.value;
219
+ const start = Math.min(input.selectionStart ?? value.length, value.length);
220
+ const end = Math.min(Math.max(input.selectionEnd ?? start, start), value.length);
221
+ this.#composition = { value, start, end };
222
+ this.composingValue = input.value;
223
+ };
224
+ handleCompositionEnd = (event) => {
225
+ const composition = this.#composition;
226
+ const input = this.input;
227
+ if (!composition || !input)
228
+ return;
229
+ this.endComposition();
230
+ const value = this.value;
231
+ const composedText = this.normalizeText(event.data || readComposedText(input.value, composition));
232
+ const caret = composition.start + composedText.length;
233
+ // Composed text overwrites the selected cell and the cells after it, as typing does.
234
+ const nextValue = (value.slice(0, composition.start) +
235
+ composedText +
236
+ value.slice(Math.max(composition.end, caret))).slice(0, this.length);
237
+ if (
238
+ // A field disabled or locked mid-composition refuses the commit, as any other edit.
239
+ this.isLocked ||
240
+ !composedText ||
241
+ // A paste, or a parent value whose effect has not run yet, replaced the composed text.
242
+ value !== composition.value ||
243
+ !this.isValueAllowed(nextValue)) {
244
+ input.value = value;
245
+ this.setSelectionRange(composition.start, composition.end);
246
+ return;
247
+ }
248
+ this.commitValue(nextValue, caret);
122
249
  this.normalizeSelection();
123
250
  };
124
251
  handlePaste = (event) => {
@@ -126,23 +253,37 @@ export class PinInputState {
126
253
  if (!input)
127
254
  return;
128
255
  event.preventDefault();
256
+ if (this.isLocked)
257
+ return;
129
258
  const rawText = event.clipboardData?.getData('text/plain') ?? '';
130
259
  const transformer = this.options.pasteTransformer();
131
- const pastedText = transformer ? transformer(rawText) : rawText;
260
+ // The transformer is a paste-only first step; the shared pipeline follows it.
261
+ const pastedText = this.normalizeText(transformer ? transformer(rawText) : rawText);
262
+ if (pastedText === '') {
263
+ if (rawText !== '')
264
+ this.reject(rawText, 'paste');
265
+ return;
266
+ }
132
267
  const selectionStart = input.selectionStart ?? this.value.length;
133
268
  const selectionEnd = input.selectionEnd ?? selectionStart;
134
- const nextValue = (this.value.slice(0, selectionStart) +
135
- pastedText +
136
- this.value.slice(selectionEnd)).slice(0, this.length);
137
- if (!this.isValueAllowed(nextValue))
269
+ // A paste that fills every cell is a whole new code, wherever the caret was.
270
+ const nextValue = pastedText.length >= this.length
271
+ ? pastedText.slice(0, this.length)
272
+ : (this.value.slice(0, selectionStart) + pastedText + this.value.slice(selectionEnd)).slice(0, this.length);
273
+ if (!this.isValueAllowed(nextValue)) {
274
+ this.reject(rawText, 'paste');
138
275
  return;
276
+ }
139
277
  const selectionEndAfterPaste = nextValue.length;
140
278
  const selectionStartAfterPaste = nextValue.length === this.length
141
279
  ? Math.max(selectionEndAfterPaste - 1, 0)
142
280
  : selectionEndAfterPaste;
143
281
  this.commitValue(nextValue, selectionStartAfterPaste, selectionEndAfterPaste);
282
+ this.requestComplete(nextValue);
144
283
  };
145
284
  handleFocus = () => {
285
+ // A composition cannot outlive focus; drop one whose compositionend never arrived.
286
+ this.endComposition();
146
287
  this.isFocused = true;
147
288
  this.options.setFocused(true);
148
289
  const selectionEnd = this.value.length;
@@ -159,11 +300,18 @@ export class PinInputState {
159
300
  const input = this.input;
160
301
  if (!input)
161
302
  return;
162
- if (input.ownerDocument.activeElement !== input) {
303
+ // Inside a shadow root the document's active element is the host, not the input.
304
+ if (rootOf(input).activeElement !== input) {
163
305
  this.selectionStart = null;
164
306
  this.selectionEnd = null;
165
307
  return;
166
308
  }
309
+ // Moving the native selection mid-composition would cancel it, so only mirror the caret.
310
+ if (this.#composition) {
311
+ this.selectionStart = this.clampSelection(input.selectionStart ?? 0);
312
+ this.selectionEnd = this.clampSelection(input.selectionEnd ?? this.selectionStart);
313
+ return;
314
+ }
167
315
  const nativeStart = this.clampSelection(input.selectionStart ?? this.value.length);
168
316
  const nativeEnd = this.clampSelection(input.selectionEnd ?? nativeStart);
169
317
  const nativeDirection = input.selectionDirection ?? 'none';
@@ -186,9 +334,14 @@ export class PinInputState {
186
334
  this.#previousSelection = [selectionStart, selectionEnd, selectionDirection];
187
335
  };
188
336
  commitValue(nextValue, selectionStart, selectionEnd = selectionStart) {
337
+ this.#userCommit = nextValue;
189
338
  this.options.setValue(nextValue);
190
- if (this.input && this.input.value !== nextValue) {
191
- this.input.value = nextValue;
339
+ // The field can refuse the change (while disabled); the input shows the value it holds.
340
+ const acceptedValue = this.value;
341
+ if (acceptedValue !== nextValue)
342
+ this.#userCommit = null;
343
+ if (this.input && this.input.value !== acceptedValue) {
344
+ this.input.value = acceptedValue;
192
345
  }
193
346
  this.setSelectionRange(selectionStart, selectionEnd);
194
347
  }
@@ -273,6 +426,9 @@ export class PinInputState {
273
426
  return closestIndex;
274
427
  }
275
428
  syncInputValue(value) {
429
+ // A value set from outside mid-composition replaces the text the input method was composing.
430
+ if (this.#composition && this.#composition.value !== value)
431
+ this.endComposition();
276
432
  if (!this.input || this.input.value === value)
277
433
  return;
278
434
  this.input.value = value;
@@ -280,12 +436,42 @@ export class PinInputState {
280
436
  queueMicrotask(this.normalizeSelection);
281
437
  }
282
438
  }
439
+ endComposition() {
440
+ this.#composition = null;
441
+ this.composingValue = null;
442
+ }
443
+ /**
444
+ * Reports a committed complete paste or autofill even when the code was already complete. A
445
+ * changed value is reported by the value effect after the update; an unchanged one right away.
446
+ */
447
+ requestComplete(value) {
448
+ if (value.length !== this.length || this.value !== value)
449
+ return;
450
+ if (value === this.#previousValue) {
451
+ this.complete(value, true);
452
+ return;
453
+ }
454
+ this.#pendingCompleteValue = value;
455
+ }
456
+ reject(text, source) {
457
+ this.options.onRejectInput()?.({ text, source });
458
+ }
459
+ /** Reports a complete code, and submits the form after one the user typed, pasted or filled. */
460
+ complete(value, byUser) {
461
+ this.options.onComplete()?.(value);
462
+ if (byUser && this.options.submitOnComplete() && !this.isLocked)
463
+ this.options.submit()?.();
464
+ }
283
465
  notifyComplete(value) {
284
466
  const previousValue = this.#previousValue;
467
+ const isRequested = this.#pendingCompleteValue === value;
468
+ const byUser = this.#userCommit === value;
469
+ this.#pendingCompleteValue = null;
470
+ this.#userCommit = null;
285
471
  if (previousValue !== value &&
286
- previousValue.length < this.length &&
287
- value.length === this.length) {
288
- this.options.onComplete()?.(value);
472
+ value.length === this.length &&
473
+ (isRequested || previousValue.length < this.length)) {
474
+ this.complete(value, byUser);
289
475
  }
290
476
  this.#previousValue = value;
291
477
  }
@@ -303,3 +489,20 @@ export class PinInputState {
303
489
  return regex.test(value);
304
490
  }
305
491
  }
492
+ /** Whether an input event replaced the whole text, as autofill does, rather than typed into it. */
493
+ const isReplacementInput = (event) => {
494
+ const inputType = event.inputType;
495
+ // Some browsers autofill with a plain `input` Event that carries no input type.
496
+ return inputType === undefined || inputType === 'insertReplacementText';
497
+ };
498
+ /** Recovers the composed text from the input when compositionend carries no data. */
499
+ const readComposedText = (inputValue, { value, start, end }) => {
500
+ const prefix = value.slice(0, start);
501
+ const suffix = value.slice(end);
502
+ if (inputValue.length < prefix.length + suffix.length ||
503
+ !inputValue.startsWith(prefix) ||
504
+ !inputValue.endsWith(suffix)) {
505
+ return '';
506
+ }
507
+ return inputValue.slice(prefix.length, inputValue.length - suffix.length);
508
+ };
@@ -17,7 +17,12 @@ export declare const pinInputTheme: {
17
17
  false: string;
18
18
  };
19
19
  }> & import("../../../utils/cva/types.js").CVAClassProp) | undefined) => string;
20
- input: (props?: import("../../../utils/cva/types.js").CVAClassProp | undefined) => string;
20
+ input: (props?: (import("../../../utils/cva/types.js").CVAVariantSchema<{
21
+ composing: {
22
+ true: string;
23
+ false: string;
24
+ };
25
+ }> & import("../../../utils/cva/types.js").CVAClassProp) | undefined) => string;
21
26
  cell: (props?: (import("../../../utils/cva/types.js").CVAVariantSchema<{
22
27
  size: {
23
28
  small: string;
@@ -33,6 +38,13 @@ export declare const pinInputTheme: {
33
38
  false: string;
34
39
  };
35
40
  }> & import("../../../utils/cva/types.js").CVAClassProp) | undefined) => string;
41
+ separator: (props?: (import("../../../utils/cva/types.js").CVAVariantSchema<{
42
+ size: {
43
+ small: string;
44
+ normal: string;
45
+ large: string;
46
+ };
47
+ }> & import("../../../utils/cva/types.js").CVAClassProp) | undefined) => string;
36
48
  character: (props?: import("../../../utils/cva/types.js").CVAClassProp | undefined) => string;
37
49
  caret: (props?: import("../../../utils/cva/types.js").CVAClassProp | undefined) => string;
38
50
  };
@@ -56,7 +68,12 @@ export declare const setPinInputTheme: (theme: InferComponentTheme<{
56
68
  false: string;
57
69
  };
58
70
  }> & import("../../../utils/cva/types.js").CVAClassProp) | undefined) => string;
59
- input: (props?: import("../../../utils/cva/types.js").CVAClassProp | undefined) => string;
71
+ input: (props?: (import("../../../utils/cva/types.js").CVAVariantSchema<{
72
+ composing: {
73
+ true: string;
74
+ false: string;
75
+ };
76
+ }> & import("../../../utils/cva/types.js").CVAClassProp) | undefined) => string;
60
77
  cell: (props?: (import("../../../utils/cva/types.js").CVAVariantSchema<{
61
78
  size: {
62
79
  small: string;
@@ -72,6 +89,13 @@ export declare const setPinInputTheme: (theme: InferComponentTheme<{
72
89
  false: string;
73
90
  };
74
91
  }> & import("../../../utils/cva/types.js").CVAClassProp) | undefined) => string;
92
+ separator: (props?: (import("../../../utils/cva/types.js").CVAVariantSchema<{
93
+ size: {
94
+ small: string;
95
+ normal: string;
96
+ large: string;
97
+ };
98
+ }> & import("../../../utils/cva/types.js").CVAClassProp) | undefined) => string;
75
99
  character: (props?: import("../../../utils/cva/types.js").CVAClassProp | undefined) => string;
76
100
  caret: (props?: import("../../../utils/cva/types.js").CVAClassProp | undefined) => string;
77
101
  }>) => void;
@@ -93,7 +117,12 @@ export declare const usePinInputTheme: import("../../../utils/cva/theme.js").Use
93
117
  false: string;
94
118
  };
95
119
  }> & import("../../../utils/cva/types.js").CVAClassProp) | undefined) => string;
96
- input: (props?: import("../../../utils/cva/types.js").CVAClassProp | undefined) => string;
120
+ input: (props?: (import("../../../utils/cva/types.js").CVAVariantSchema<{
121
+ composing: {
122
+ true: string;
123
+ false: string;
124
+ };
125
+ }> & import("../../../utils/cva/types.js").CVAClassProp) | undefined) => string;
97
126
  cell: (props?: (import("../../../utils/cva/types.js").CVAVariantSchema<{
98
127
  size: {
99
128
  small: string;
@@ -109,6 +138,13 @@ export declare const usePinInputTheme: import("../../../utils/cva/theme.js").Use
109
138
  false: string;
110
139
  };
111
140
  }> & import("../../../utils/cva/types.js").CVAClassProp) | undefined) => string;
141
+ separator: (props?: (import("../../../utils/cva/types.js").CVAVariantSchema<{
142
+ size: {
143
+ small: string;
144
+ normal: string;
145
+ large: string;
146
+ };
147
+ }> & import("../../../utils/cva/types.js").CVAClassProp) | undefined) => string;
112
148
  character: (props?: import("../../../utils/cva/types.js").CVAClassProp | undefined) => string;
113
149
  caret: (props?: import("../../../utils/cva/types.js").CVAClassProp | undefined) => string;
114
150
  }>;
@@ -27,7 +27,19 @@ const defaultRoot = cva({
27
27
  }
28
28
  });
29
29
  const defaultInput = cva({
30
- base: 'absolute inset-0 z-10 size-full appearance-none border-0 bg-transparent text-transparent caret-transparent outline-none selection:bg-transparent selection:text-transparent [font-size:16px] disabled:cursor-not-allowed'
30
+ base: 'absolute inset-0 z-10 size-full appearance-none border-0 bg-transparent text-transparent caret-transparent outline-none selection:bg-transparent selection:text-transparent [font-size:16px] disabled:cursor-not-allowed',
31
+ variants: {
32
+ // An input method paints its composition underline or clause highlight whatever the text
33
+ // color, so the input hides while composing and the cells show the text. It stays opaque
34
+ // otherwise: iOS offers long-press paste only on a visible input.
35
+ composing: {
36
+ true: 'opacity-0',
37
+ false: ''
38
+ }
39
+ },
40
+ defaultVariants: {
41
+ composing: false
42
+ }
31
43
  });
32
44
  const defaultCell = cva({
33
45
  base: 'relative grid shrink-0 place-items-center overflow-hidden raised-1 bg-surface-raised font-mono font-medium tabular-nums text-neutral transition-[color,background-color,border-color,box-shadow]',
@@ -52,6 +64,19 @@ const defaultCell = cva({
52
64
  disabled: false
53
65
  }
54
66
  });
67
+ const defaultSeparator = cva({
68
+ base: 'h-0.5 shrink-0 rounded-full bg-neutral-muted',
69
+ variants: {
70
+ size: {
71
+ small: 'w-1.5',
72
+ normal: 'w-2',
73
+ large: 'w-3'
74
+ }
75
+ },
76
+ defaultVariants: {
77
+ size: 'normal'
78
+ }
79
+ });
55
80
  const defaultCharacter = cva({
56
81
  base: 'select-none leading-none'
57
82
  });
@@ -63,6 +88,7 @@ export const pinInputTheme = {
63
88
  root: defaultRoot,
64
89
  input: defaultInput,
65
90
  cell: defaultCell,
91
+ separator: defaultSeparator,
66
92
  character: defaultCharacter,
67
93
  caret: defaultCaret
68
94
  };