fluentui-svelte 0.1.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 (283) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +201 -0
  3. package/dist/components/auto-suggest-box/auto-suggest-box.d.ts +2 -0
  4. package/dist/components/auto-suggest-box/auto-suggest-box.js +2 -0
  5. package/dist/components/auto-suggest-box/auto-suggest-box.svelte +457 -0
  6. package/dist/components/auto-suggest-box/auto-suggest-box.svelte.d.ts +4 -0
  7. package/dist/components/auto-suggest-box/docs/llms.md +73 -0
  8. package/dist/components/auto-suggest-box/option.svelte +82 -0
  9. package/dist/components/auto-suggest-box/option.svelte.d.ts +4 -0
  10. package/dist/components/auto-suggest-box/types.d.ts +140 -0
  11. package/dist/components/auto-suggest-box/types.js +1 -0
  12. package/dist/components/avatar/avatar.svelte +269 -0
  13. package/dist/components/avatar/avatar.svelte.d.ts +20 -0
  14. package/dist/components/avatar/docs/llms.md +92 -0
  15. package/dist/components/avatar/type.d.ts +63 -0
  16. package/dist/components/avatar/type.js +1 -0
  17. package/dist/components/badge/badge-icon.svelte +103 -0
  18. package/dist/components/badge/badge-icon.svelte.d.ts +25 -0
  19. package/dist/components/badge/badge.svelte +163 -0
  20. package/dist/components/badge/badge.svelte.d.ts +20 -0
  21. package/dist/components/badge/docs/llms.md +133 -0
  22. package/dist/components/badge/types.d.ts +70 -0
  23. package/dist/components/badge/types.js +1 -0
  24. package/dist/components/badge/utils.svelte.d.ts +16 -0
  25. package/dist/components/badge/utils.svelte.js +35 -0
  26. package/dist/components/button/button.svelte +203 -0
  27. package/dist/components/button/button.svelte.d.ts +38 -0
  28. package/dist/components/button/docs/llms.md +102 -0
  29. package/dist/components/button/split-button.svelte +66 -0
  30. package/dist/components/button/split-button.svelte.d.ts +4 -0
  31. package/dist/components/button/types.d.ts +84 -0
  32. package/dist/components/button/types.js +1 -0
  33. package/dist/components/calendar-date-picker/calendar-date-picker.svelte +119 -0
  34. package/dist/components/calendar-date-picker/calendar-date-picker.svelte.d.ts +4 -0
  35. package/dist/components/calendar-date-picker/docs/llms.md +33 -0
  36. package/dist/components/calendar-date-picker/types.d.ts +36 -0
  37. package/dist/components/calendar-date-picker/types.js +1 -0
  38. package/dist/components/calendar-view/calendar-view-controls.svelte +115 -0
  39. package/dist/components/calendar-view/calendar-view-controls.svelte.d.ts +3 -0
  40. package/dist/components/calendar-view/calendar-view-days.svelte +210 -0
  41. package/dist/components/calendar-view/calendar-view-days.svelte.d.ts +3 -0
  42. package/dist/components/calendar-view/calendar-view-grid.d.ts +38 -0
  43. package/dist/components/calendar-view/calendar-view-grid.js +140 -0
  44. package/dist/components/calendar-view/calendar-view-header.svelte +66 -0
  45. package/dist/components/calendar-view/calendar-view-header.svelte.d.ts +18 -0
  46. package/dist/components/calendar-view/calendar-view-item.svelte +181 -0
  47. package/dist/components/calendar-view/calendar-view-item.svelte.d.ts +4 -0
  48. package/dist/components/calendar-view/calendar-view-months.svelte +165 -0
  49. package/dist/components/calendar-view/calendar-view-months.svelte.d.ts +3 -0
  50. package/dist/components/calendar-view/calendar-view-years.svelte +161 -0
  51. package/dist/components/calendar-view/calendar-view-years.svelte.d.ts +3 -0
  52. package/dist/components/calendar-view/calendar-view.svelte +451 -0
  53. package/dist/components/calendar-view/calendar-view.svelte.d.ts +9 -0
  54. package/dist/components/calendar-view/calendar-view.svelte.js +196 -0
  55. package/dist/components/calendar-view/docs/llms.md +121 -0
  56. package/dist/components/calendar-view/index.d.ts +1 -0
  57. package/dist/components/calendar-view/index.js +1 -0
  58. package/dist/components/calendar-view/types.d.ts +174 -0
  59. package/dist/components/calendar-view/types.js +1 -0
  60. package/dist/components/checkbox/checkbox.svelte +171 -0
  61. package/dist/components/checkbox/checkbox.svelte.d.ts +40 -0
  62. package/dist/components/checkbox/docs/llms.md +78 -0
  63. package/dist/components/checkbox/types.d.ts +50 -0
  64. package/dist/components/checkbox/types.js +1 -0
  65. package/dist/components/date-picker/date-picker.svelte +381 -0
  66. package/dist/components/date-picker/date-picker.svelte.d.ts +4 -0
  67. package/dist/components/date-picker/docs/llms.md +52 -0
  68. package/dist/components/date-picker/index.d.ts +1 -0
  69. package/dist/components/date-picker/index.js +1 -0
  70. package/dist/components/date-picker/types.d.ts +74 -0
  71. package/dist/components/date-picker/types.js +1 -0
  72. package/dist/components/dialog/dialog-actions.svelte +37 -0
  73. package/dist/components/dialog/dialog-actions.svelte.d.ts +4 -0
  74. package/dist/components/dialog/dialog-content.svelte +17 -0
  75. package/dist/components/dialog/dialog-content.svelte.d.ts +4 -0
  76. package/dist/components/dialog/dialog-surface.svelte +95 -0
  77. package/dist/components/dialog/dialog-surface.svelte.d.ts +4 -0
  78. package/dist/components/dialog/dialog-title.svelte +33 -0
  79. package/dist/components/dialog/dialog-title.svelte.d.ts +25 -0
  80. package/dist/components/dialog/dialog-trigger.svelte +23 -0
  81. package/dist/components/dialog/dialog-trigger.svelte.d.ts +4 -0
  82. package/dist/components/dialog/dialog.svelte +64 -0
  83. package/dist/components/dialog/dialog.svelte.d.ts +7 -0
  84. package/dist/components/dialog/dialog.svelte.js +2 -0
  85. package/dist/components/dialog/docs/llms.md +131 -0
  86. package/dist/components/dialog/types.d.ts +92 -0
  87. package/dist/components/dialog/types.js +1 -0
  88. package/dist/components/divider/divider.svelte +120 -0
  89. package/dist/components/divider/divider.svelte.d.ts +39 -0
  90. package/dist/components/divider/docs/llms.md +83 -0
  91. package/dist/components/divider/types.d.ts +32 -0
  92. package/dist/components/divider/types.js +1 -0
  93. package/dist/components/dropdown/docs/llms.md +70 -0
  94. package/dist/components/dropdown/dropdown-context.d.ts +2 -0
  95. package/dist/components/dropdown/dropdown-context.js +2 -0
  96. package/dist/components/dropdown/dropdown-option.svelte +31 -0
  97. package/dist/components/dropdown/dropdown-option.svelte.d.ts +4 -0
  98. package/dist/components/dropdown/dropdown.svelte +309 -0
  99. package/dist/components/dropdown/dropdown.svelte.d.ts +4 -0
  100. package/dist/components/dropdown/types.d.ts +82 -0
  101. package/dist/components/dropdown/types.js +1 -0
  102. package/dist/components/dropdown-select/docs/llms.md +72 -0
  103. package/dist/components/dropdown-select/dropdown-select-option.svelte +87 -0
  104. package/dist/components/dropdown-select/dropdown-select-option.svelte.d.ts +4 -0
  105. package/dist/components/dropdown-select/dropdown-select.svelte +165 -0
  106. package/dist/components/dropdown-select/dropdown-select.svelte.d.ts +4 -0
  107. package/dist/components/dropdown-select/dropdown-select.svelte.js +48 -0
  108. package/dist/components/dropdown-select/index.d.ts +2 -0
  109. package/dist/components/dropdown-select/index.js +2 -0
  110. package/dist/components/dropdown-select/types.d.ts +46 -0
  111. package/dist/components/dropdown-select/types.js +1 -0
  112. package/dist/components/expander/docs/llms.md +88 -0
  113. package/dist/components/expander/expander.svelte +249 -0
  114. package/dist/components/expander/expander.svelte.d.ts +21 -0
  115. package/dist/components/expander/types.d.ts +47 -0
  116. package/dist/components/expander/types.js +1 -0
  117. package/dist/components/flyout/docs/llms.md +31 -0
  118. package/dist/components/flyout/flyout.svelte +148 -0
  119. package/dist/components/flyout/flyout.svelte.d.ts +19 -0
  120. package/dist/components/flyout/types.d.ts +36 -0
  121. package/dist/components/flyout/types.js +1 -0
  122. package/dist/components/hyperlink/docs/llms.md +33 -0
  123. package/dist/components/hyperlink/hyperlink.svelte +66 -0
  124. package/dist/components/hyperlink/hyperlink.svelte.d.ts +16 -0
  125. package/dist/components/hyperlink/types.d.ts +14 -0
  126. package/dist/components/hyperlink/types.js +1 -0
  127. package/dist/components/info-bar/docs/llms.md +81 -0
  128. package/dist/components/info-bar/info-bar.svelte +140 -0
  129. package/dist/components/info-bar/info-bar.svelte.d.ts +19 -0
  130. package/dist/components/info-bar/types.d.ts +27 -0
  131. package/dist/components/info-bar/types.js +1 -0
  132. package/dist/components/label/docs/llms.md +67 -0
  133. package/dist/components/label/label.svelte +95 -0
  134. package/dist/components/label/label.svelte.d.ts +4 -0
  135. package/dist/components/label/types.d.ts +32 -0
  136. package/dist/components/label/types.js +1 -0
  137. package/dist/components/list-view/docs/llms.md +110 -0
  138. package/dist/components/list-view/list-view-item.svelte +168 -0
  139. package/dist/components/list-view/list-view-item.svelte.d.ts +25 -0
  140. package/dist/components/list-view/list-view.svelte +137 -0
  141. package/dist/components/list-view/list-view.svelte.d.ts +25 -0
  142. package/dist/components/list-view/types.d.ts +95 -0
  143. package/dist/components/list-view/types.js +1 -0
  144. package/dist/components/list-view/utils.d.ts +6 -0
  145. package/dist/components/list-view/utils.js +12 -0
  146. package/dist/components/menu/context-menu-trigger.svelte +84 -0
  147. package/dist/components/menu/context-menu-trigger.svelte.d.ts +9 -0
  148. package/dist/components/menu/docs/llms.md +169 -0
  149. package/dist/components/menu/menu-divider.svelte +9 -0
  150. package/dist/components/menu/menu-divider.svelte.d.ts +26 -0
  151. package/dist/components/menu/menu-group.svelte +31 -0
  152. package/dist/components/menu/menu-group.svelte.d.ts +4 -0
  153. package/dist/components/menu/menu-item-checkbox.svelte +143 -0
  154. package/dist/components/menu/menu-item-checkbox.svelte.d.ts +15 -0
  155. package/dist/components/menu/menu-item-radio.svelte +147 -0
  156. package/dist/components/menu/menu-item-radio.svelte.d.ts +15 -0
  157. package/dist/components/menu/menu-item-switch.svelte +194 -0
  158. package/dist/components/menu/menu-item-switch.svelte.d.ts +15 -0
  159. package/dist/components/menu/menu-item.svelte +124 -0
  160. package/dist/components/menu/menu-item.svelte.d.ts +18 -0
  161. package/dist/components/menu/menu-list.svelte +38 -0
  162. package/dist/components/menu/menu-list.svelte.d.ts +5 -0
  163. package/dist/components/menu/menu-popover.svelte +125 -0
  164. package/dist/components/menu/menu-popover.svelte.d.ts +12 -0
  165. package/dist/components/menu/menu-trigger.svelte +121 -0
  166. package/dist/components/menu/menu-trigger.svelte.d.ts +4 -0
  167. package/dist/components/menu/menu.svelte +124 -0
  168. package/dist/components/menu/menu.svelte.d.ts +4 -0
  169. package/dist/components/menu/menu.svelte.js +77 -0
  170. package/dist/components/menu/types.d.ts +127 -0
  171. package/dist/components/menu/types.js +1 -0
  172. package/dist/components/number-box/docs/llms.md +37 -0
  173. package/dist/components/number-box/number-box.svelte +115 -0
  174. package/dist/components/number-box/number-box.svelte.d.ts +15 -0
  175. package/dist/components/number-box/types.d.ts +16 -0
  176. package/dist/components/number-box/types.js +1 -0
  177. package/dist/components/persona/docs/llms.md +107 -0
  178. package/dist/components/persona/persona.svelte +79 -0
  179. package/dist/components/persona/persona.svelte.d.ts +4 -0
  180. package/dist/components/persona/types.d.ts +42 -0
  181. package/dist/components/persona/types.js +1 -0
  182. package/dist/components/progress-bar/docs/llms.md +67 -0
  183. package/dist/components/progress-bar/progress-bar.svelte +167 -0
  184. package/dist/components/progress-bar/progress-bar.svelte.d.ts +15 -0
  185. package/dist/components/progress-bar/types.d.ts +39 -0
  186. package/dist/components/progress-bar/types.js +1 -0
  187. package/dist/components/progress-ring/docs/llms.md +76 -0
  188. package/dist/components/progress-ring/progress-ring.svelte +145 -0
  189. package/dist/components/progress-ring/progress-ring.svelte.d.ts +15 -0
  190. package/dist/components/progress-ring/types.d.ts +42 -0
  191. package/dist/components/progress-ring/types.js +1 -0
  192. package/dist/components/radio-button/docs/llms.md +64 -0
  193. package/dist/components/radio-button/radio-button.svelte +129 -0
  194. package/dist/components/radio-button/radio-button.svelte.d.ts +19 -0
  195. package/dist/components/radio-button/types.d.ts +24 -0
  196. package/dist/components/radio-button/types.js +1 -0
  197. package/dist/components/skeleton/docs/llms.md +67 -0
  198. package/dist/components/skeleton/skeleton.svelte +106 -0
  199. package/dist/components/skeleton/skeleton.svelte.d.ts +39 -0
  200. package/dist/components/skeleton/types.d.ts +24 -0
  201. package/dist/components/skeleton/types.js +1 -0
  202. package/dist/components/slider/docs/llms.md +75 -0
  203. package/dist/components/slider/slider.svelte +486 -0
  204. package/dist/components/slider/slider.svelte.d.ts +19 -0
  205. package/dist/components/slider/types.d.ts +102 -0
  206. package/dist/components/slider/types.js +1 -0
  207. package/dist/components/text-box/docs/llms.md +86 -0
  208. package/dist/components/text-box/text-box-button.svelte +65 -0
  209. package/dist/components/text-box/text-box-button.svelte.d.ts +9 -0
  210. package/dist/components/text-box/text-box.svelte +299 -0
  211. package/dist/components/text-box/text-box.svelte.d.ts +16 -0
  212. package/dist/components/text-box/types.d.ts +60 -0
  213. package/dist/components/text-box/types.js +1 -0
  214. package/dist/components/textarea/docs/llms.md +55 -0
  215. package/dist/components/textarea/textarea.svelte +151 -0
  216. package/dist/components/textarea/textarea.svelte.d.ts +17 -0
  217. package/dist/components/textarea/types.d.ts +33 -0
  218. package/dist/components/textarea/types.js +1 -0
  219. package/dist/components/time-picker/docs/llms.md +47 -0
  220. package/dist/components/time-picker/index.d.ts +1 -0
  221. package/dist/components/time-picker/index.js +1 -0
  222. package/dist/components/time-picker/time-picker.svelte +336 -0
  223. package/dist/components/time-picker/time-picker.svelte.d.ts +4 -0
  224. package/dist/components/time-picker/types.d.ts +54 -0
  225. package/dist/components/time-picker/types.js +1 -0
  226. package/dist/components/toggle-switch/docs/llms.md +39 -0
  227. package/dist/components/toggle-switch/toggle-switch.svelte +151 -0
  228. package/dist/components/toggle-switch/toggle-switch.svelte.d.ts +17 -0
  229. package/dist/components/toggle-switch/types.d.ts +20 -0
  230. package/dist/components/toggle-switch/types.js +1 -0
  231. package/dist/components/tooltip/docs/llms.md +74 -0
  232. package/dist/components/tooltip/tooltip.svelte +246 -0
  233. package/dist/components/tooltip/tooltip.svelte.d.ts +18 -0
  234. package/dist/components/tooltip/types.d.ts +67 -0
  235. package/dist/components/tooltip/types.js +1 -0
  236. package/dist/components/tree-view/docs/llms.md +117 -0
  237. package/dist/components/tree-view/tree-view-item-content.svelte +158 -0
  238. package/dist/components/tree-view/tree-view-item-content.svelte.d.ts +4 -0
  239. package/dist/components/tree-view/tree-view-item.svelte +197 -0
  240. package/dist/components/tree-view/tree-view-item.svelte.d.ts +4 -0
  241. package/dist/components/tree-view/tree-view.svelte +220 -0
  242. package/dist/components/tree-view/tree-view.svelte.d.ts +4 -0
  243. package/dist/components/tree-view/tree-view.svelte.js +111 -0
  244. package/dist/components/tree-view/types.d.ts +185 -0
  245. package/dist/components/tree-view/types.js +1 -0
  246. package/dist/css/class-darkmode.css +186 -0
  247. package/dist/css/media-darkmode.css +189 -0
  248. package/dist/css/reset.css +53 -0
  249. package/dist/css/theme.css +276 -0
  250. package/dist/css/typography.css +67 -0
  251. package/dist/css/utils.d.ts +1 -0
  252. package/dist/css/utils.js +153 -0
  253. package/dist/index.d.ts +63 -0
  254. package/dist/index.js +129 -0
  255. package/dist/internal/components/dynamic-carousel/dynamic-carousel.svelte +449 -0
  256. package/dist/internal/components/dynamic-carousel/dynamic-carousel.svelte.d.ts +22 -0
  257. package/dist/internal/components/render-soc/render-soc.svelte +29 -0
  258. package/dist/internal/components/render-soc/render-soc.svelte.d.ts +30 -0
  259. package/dist/internal/constants.d.ts +26 -0
  260. package/dist/internal/constants.js +4036 -0
  261. package/dist/internal/context.d.ts +14 -0
  262. package/dist/internal/context.js +13 -0
  263. package/dist/internal/dom-utils.svelte.d.ts +6 -0
  264. package/dist/internal/dom-utils.svelte.js +46 -0
  265. package/dist/internal/floating-ui/floating.svelte.d.ts +15 -0
  266. package/dist/internal/floating-ui/floating.svelte.js +26 -0
  267. package/dist/internal/floating-ui/utils.d.ts +3 -0
  268. package/dist/internal/floating-ui/utils.js +30 -0
  269. package/dist/internal/index.d.ts +9 -0
  270. package/dist/internal/index.js +9 -0
  271. package/dist/internal/polyfills/expander.svelte.d.ts +21 -0
  272. package/dist/internal/polyfills/expander.svelte.js +96 -0
  273. package/dist/internal/transitions.d.ts +32 -0
  274. package/dist/internal/transitions.js +37 -0
  275. package/dist/internal/utils.d.ts +22 -0
  276. package/dist/internal/utils.js +63 -0
  277. package/dist/providers/fluentui-svelte/fluentui-svelte.d.ts +19 -0
  278. package/dist/providers/fluentui-svelte/fluentui-svelte.js +11 -0
  279. package/dist/providers/fluentui-svelte/fluentui-svelte.svelte +68 -0
  280. package/dist/providers/fluentui-svelte/fluentui-svelte.svelte.d.ts +9 -0
  281. package/dist/types/index.d.ts +117 -0
  282. package/dist/types/index.js +1 -0
  283. package/package.json +142 -0
package/dist/index.js ADDED
@@ -0,0 +1,129 @@
1
+ // Start AutoSuggestBox Component
2
+ export { default as AutoSuggestBox } from './components/auto-suggest-box/auto-suggest-box.svelte';
3
+ export { default as AutoSuggestBoxOption } from './components/auto-suggest-box/option.svelte';
4
+ // End AutoSuggestBox Component
5
+ // Start Avatar Component
6
+ export { default as Avatar } from './components/avatar/avatar.svelte';
7
+ // End Avatar Component
8
+ // Start Badge Component
9
+ export { default as Badge } from './components/badge/badge.svelte';
10
+ export { default as BadgeIcon } from './components/badge/badge-icon.svelte';
11
+ // End Badge Component
12
+ // Start Button Component
13
+ export { default as Button } from './components/button/button.svelte';
14
+ export { default as SplitButton } from './components/button/split-button.svelte';
15
+ // End Button Component
16
+ // Start CalendarView Component
17
+ export { default as CalendarView } from './components/calendar-view/calendar-view.svelte';
18
+ export { default as CalendarViewHeader } from './components/calendar-view/calendar-view-header.svelte';
19
+ export { default as CalendarViewControls } from './components/calendar-view/calendar-view-controls.svelte';
20
+ export { default as CalendarViewDays } from './components/calendar-view/calendar-view-days.svelte';
21
+ export { default as CalendarViewMonths } from './components/calendar-view/calendar-view-months.svelte';
22
+ export { default as CalendarViewYears } from './components/calendar-view/calendar-view-years.svelte';
23
+ export { default as CalendarViewItem } from './components/calendar-view/calendar-view-item.svelte';
24
+ // End CalendarView Component
25
+ // Start CalendarDatePicker Component
26
+ export { default as CalendarDatePicker } from './components/calendar-date-picker/calendar-date-picker.svelte';
27
+ // End CalendarDatePicker Component
28
+ // Start Checkbox Component
29
+ export { default as Checkbox } from './components/checkbox/checkbox.svelte';
30
+ // End Checkbox Component
31
+ // Start DatePicker Component
32
+ export { default as DatePicker } from './components/date-picker/date-picker.svelte';
33
+ // End DatePicker Component
34
+ // Start Dialog Component
35
+ export { default as Dialog } from './components/dialog/dialog.svelte';
36
+ export { default as DialogTitle } from './components/dialog/dialog-title.svelte';
37
+ export { default as DialogContent } from './components/dialog/dialog-content.svelte';
38
+ export { default as DialogActions } from './components/dialog/dialog-actions.svelte';
39
+ export { default as DialogSurface } from './components/dialog/dialog-surface.svelte';
40
+ export { default as DialogTrigger } from './components/dialog/dialog-trigger.svelte';
41
+ // End Dialog Component
42
+ // Start Divider Component
43
+ export { default as Divider } from './components/divider/divider.svelte';
44
+ // End Divider Component
45
+ // Start Dropdown Component
46
+ export { default as Dropdown } from './components/dropdown/dropdown.svelte';
47
+ export { default as DropdownOption } from './components/dropdown/dropdown-option.svelte';
48
+ // End Dropdown Component
49
+ // Start DropdownSelect Component
50
+ export { default as DropdownSelect } from './components/dropdown-select/dropdown-select.svelte';
51
+ export { default as DropdownSelectOption } from './components/dropdown-select/dropdown-select-option.svelte';
52
+ // End DropdownSelect Component
53
+ // Start Expander Component
54
+ export { default as Expander } from './components/expander/expander.svelte';
55
+ // End Expander Component
56
+ // Start Flyout Component
57
+ export { default as Flyout } from './components/flyout/flyout.svelte';
58
+ // End Flyout Component
59
+ // Start Hyperlink Component
60
+ export { default as Hyperlink } from './components/hyperlink/hyperlink.svelte';
61
+ // End Hyperlink Component
62
+ // Start InfoBar Component
63
+ export { default as InfoBar } from './components/info-bar/info-bar.svelte';
64
+ // End InfoBar Component
65
+ // Start Label Component
66
+ export { default as Label } from './components/label/label.svelte';
67
+ // End Label Component
68
+ // Start ListView Component
69
+ export { default as ListView } from './components/list-view/list-view.svelte';
70
+ export { default as ListViewItem } from './components/list-view/list-view-item.svelte';
71
+ // End ListView Component
72
+ // Start Menu Component
73
+ export { default as Menu } from './components/menu/menu.svelte';
74
+ export { default as MenuItem } from './components/menu/menu-item.svelte';
75
+ export { default as MenuDivider } from './components/menu/menu-divider.svelte';
76
+ export { default as MenuGroup } from './components/menu/menu-group.svelte';
77
+ export { default as MenuTrigger } from './components/menu/menu-trigger.svelte';
78
+ export { default as MenuPopover } from './components/menu/menu-popover.svelte';
79
+ export { default as MenuList } from './components/menu/menu-list.svelte';
80
+ export { default as MenuItemCheckbox } from './components/menu/menu-item-checkbox.svelte';
81
+ export { default as MenuItemRadio } from './components/menu/menu-item-radio.svelte';
82
+ export { default as MenuItemSwitch } from './components/menu/menu-item-switch.svelte';
83
+ export { default as ContextMenuTrigger } from './components/menu/context-menu-trigger.svelte';
84
+ // End Menu Component
85
+ // Start NumberBox Component
86
+ export { default as NumberBox } from './components/number-box/number-box.svelte';
87
+ // End NumberBox Component
88
+ // Start Persona Component
89
+ export { default as Persona } from './components/persona/persona.svelte';
90
+ // End Persona Component
91
+ // Start ProgressBar Component
92
+ export { default as ProgressBar } from './components/progress-bar/progress-bar.svelte';
93
+ // End ProgressBar Component
94
+ // Start ProgressRing Component
95
+ export { default as ProgressRing } from './components/progress-ring/progress-ring.svelte';
96
+ // End ProgressRing Component
97
+ // Start RadioButton Component
98
+ export { default as RadioButton } from './components/radio-button/radio-button.svelte';
99
+ // End RadioButton Component
100
+ // Start Skeleton Component
101
+ export { default as Skeleton } from './components/skeleton/skeleton.svelte';
102
+ // End Skeleton Component
103
+ // Start Slider Component
104
+ export { default as Slider } from './components/slider/slider.svelte';
105
+ // End Slider Component
106
+ // Start TextArea Component
107
+ export { default as TextArea } from './components/textarea/textarea.svelte';
108
+ // End TextArea Component
109
+ // Start TextBox Component
110
+ export { default as TextBox } from './components/text-box/text-box.svelte';
111
+ export { default as TextBoxButton } from './components/text-box/text-box-button.svelte';
112
+ // End TextBox Component
113
+ // Start TimePicker Component
114
+ export { default as TimePicker } from './components/time-picker/time-picker.svelte';
115
+ // End TimePicker Component
116
+ // Start ToggleSwitch Component
117
+ export { default as ToggleSwitch } from './components/toggle-switch/toggle-switch.svelte';
118
+ // End ToggleSwitch Component
119
+ // Start Tooltip Component
120
+ export { default as Tooltip } from './components/tooltip/tooltip.svelte';
121
+ // End Tooltip Component
122
+ // Start TreeView Component
123
+ export { default as TreeView } from './components/tree-view/tree-view.svelte';
124
+ export { default as TreeViewItem } from './components/tree-view/tree-view-item.svelte';
125
+ export { default as TreeViewItemContent } from './components/tree-view/tree-view-item-content.svelte';
126
+ // End TreeView Component
127
+ // Start FluentUISvelte Component
128
+ export { default as FluentUISvelte } from './providers/fluentui-svelte/fluentui-svelte.svelte';
129
+ // End FluentUISvelte Component
@@ -0,0 +1,449 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import CaretDownFilled from 'fluentui-icons-svelte/CaretDownFilled.svelte';
4
+ import CaretUpFilled from 'fluentui-icons-svelte/CaretUpFilled.svelte';
5
+ import { Button } from '../../../index.js';
6
+ import { on } from 'svelte/events';
7
+
8
+ let {
9
+ values = Array.from({ length: 12 }, (_, i) => (i + 1).toString().padStart(2, '0')),
10
+ selectedIndex = $bindable(0),
11
+ disabledIndices = [],
12
+ onSelected,
13
+ visibleItems = 7,
14
+ itemHeight = 40,
15
+ infinite = true,
16
+ inertia = true,
17
+ children
18
+ }: {
19
+ values?: string[];
20
+ selectedIndex?: number;
21
+ /** Real (0-based, unwrapped) indices the carousel must never rest on. */
22
+ disabledIndices?: number[];
23
+ onSelected?: (value: string, index: number) => void;
24
+ visibleItems?: number;
25
+ itemHeight?: number;
26
+ /** When false, the wheel is bounded (no wrap) and stops at the first/last item. */
27
+ infinite?: boolean;
28
+ /** When false, releasing snaps immediately with no momentum coasting. */
29
+ inertia?: boolean;
30
+ children?: Snippet<[{ value: string; index: number; selected: boolean }]>;
31
+ } = $props();
32
+
33
+ // Reactive state — read by the template and deriveds.
34
+ let scrolling = $state(false);
35
+ // Continuous position for smooth scrolling (in item units, unbounded for infinite scroll).
36
+ // Starts centred on the initially-selected index.
37
+ let displayPos = $state(selectedIndex);
38
+
39
+ // Internal bookkeeping — never read reactively, so plain `let` skips the reactive overhead.
40
+ let isTouching = false;
41
+ let lastTouchY = 0;
42
+ let touchSamples: { t: number; pos: number }[] = [];
43
+ let targetPos = 0;
44
+ let smoothRaf: number | undefined;
45
+ let lastTime = 0;
46
+
47
+ // Inertia
48
+ let wheelTimestamps: number[] = [];
49
+ let wheelDirections: number[] = [];
50
+ let wheelEndTimer: ReturnType<typeof setTimeout> | undefined;
51
+ let inertiaVelocity = 0;
52
+
53
+ const halfVisible = $derived(Math.floor(visibleItems / 2));
54
+ const containerHeight = $derived(visibleItems * itemHeight);
55
+ // Absolute (unwrapped) index of the centred slot — drives the virtual items and the
56
+ // stable, unique DOM ids / aria-activedescendant target.
57
+ const centerIndex = $derived(Math.round(displayPos));
58
+ const disabledSet = $derived(new Set(disabledIndices));
59
+ const maxPos = $derived(values.length - 1);
60
+
61
+ // Map an (unbounded) slot index to a real value index: wrap when infinite, clamp when not.
62
+ function wrapIndex(index: number): number {
63
+ const n = values.length;
64
+ return infinite ? ((index % n) + n) % n : Math.max(0, Math.min(n - 1, index));
65
+ }
66
+
67
+ // Clamp a continuous position to the valid range when the carousel is bounded.
68
+ function clampPos(pos: number): number {
69
+ return infinite ? pos : Math.max(0, Math.min(maxPos, pos));
70
+ }
71
+
72
+ // Generate virtual items around displayPos for rendering
73
+ const virtualItems = $derived.by(() => {
74
+ const items: { value: string; realIndex: number; visualOffset: number; key: number }[] = [];
75
+ const buffer = halfVisible + 3;
76
+ for (let i = -buffer; i <= buffer; i++) {
77
+ const itemIndex = centerIndex + i;
78
+ // Bounded mode renders empty space past the ends instead of wrapping around.
79
+ if (!infinite && (itemIndex < 0 || itemIndex >= values.length)) continue;
80
+ const realIndex = wrapIndex(itemIndex);
81
+ // Position relative to display center
82
+ const visualOffset = (itemIndex - displayPos) * itemHeight;
83
+ // Key by the absolute (unwrapped) index so each slot keeps its DOM node while
84
+ // scrolling — only its offset moves — instead of remounting at every half-item step.
85
+ items.push({ value: values[realIndex], realIndex, visualOffset, key: itemIndex });
86
+ }
87
+ return items;
88
+ });
89
+
90
+ const currentSelectedIndex = $derived(wrapIndex(centerIndex));
91
+
92
+ // Commit the item nearest `pos` as the selection, notifying the consumer once.
93
+ function commitIndex(pos: number) {
94
+ const newIndex = wrapIndex(Math.round(pos));
95
+ if (newIndex !== selectedIndex) {
96
+ selectedIndex = newIndex;
97
+ onSelected?.(values[newIndex], newIndex);
98
+ }
99
+ }
100
+
101
+ // Nearest integer position to `pos` whose (wrapped) item is enabled, searching outward
102
+ // with a bias toward `dir`. Returns Math.round(pos) when nothing is disabled (or all is).
103
+ function nearestEnabled(pos: number, dir = 1) {
104
+ const base = Math.round(pos);
105
+ const n = values.length;
106
+ if (disabledSet.size === 0 || disabledSet.size >= n) return base;
107
+ if (!disabledSet.has(wrapIndex(base))) return base;
108
+ const step = dir >= 0 ? 1 : -1;
109
+ for (let d = 1; d <= n; d++) {
110
+ if (!disabledSet.has(wrapIndex(base + d * step))) return base + d * step;
111
+ if (!disabledSet.has(wrapIndex(base - d * step))) return base - d * step;
112
+ }
113
+ return base;
114
+ }
115
+
116
+ function startSmoothLoop() {
117
+ if (smoothRaf) return;
118
+ lastTime = performance.now();
119
+ function tick(now: number) {
120
+ const dt = Math.min(now - lastTime, 50) / 16.67; // normalize to ~60fps
121
+ lastTime = now;
122
+
123
+ if (inertiaVelocity !== 0) {
124
+ // Inertia mode: apply velocity with decay
125
+ inertiaVelocity *= Math.pow(0.93, dt);
126
+ if (Math.abs(inertiaVelocity) < 0.01) {
127
+ // Snap to the nearest enabled item, keeping the coasting direction.
128
+ targetPos = nearestEnabled(displayPos, inertiaVelocity);
129
+ inertiaVelocity = 0;
130
+ } else {
131
+ targetPos = clampPos(targetPos + inertiaVelocity * dt);
132
+ displayPos = clampPos(displayPos + inertiaVelocity * dt);
133
+ }
134
+ }
135
+
136
+ // Lerp displayPos toward targetPos
137
+ const diff = targetPos - displayPos;
138
+ if (Math.abs(diff) < 0.001) {
139
+ displayPos = targetPos;
140
+ commitIndex(targetPos);
141
+ if (inertiaVelocity === 0) {
142
+ smoothRaf = undefined;
143
+ scrolling = false;
144
+ return;
145
+ }
146
+ } else {
147
+ displayPos += diff * Math.min(0.25 * dt, 1);
148
+ commitIndex(displayPos);
149
+ }
150
+
151
+ smoothRaf = requestAnimationFrame(tick);
152
+ }
153
+ smoothRaf = requestAnimationFrame(tick);
154
+ }
155
+
156
+ function moveBy(delta: number) {
157
+ targetPos = clampPos(nearestEnabled(targetPos + delta, delta));
158
+ inertiaVelocity = 0;
159
+ startSmoothLoop();
160
+ }
161
+
162
+ function stopSmooth() {
163
+ if (smoothRaf) {
164
+ cancelAnimationFrame(smoothRaf);
165
+ smoothRaf = undefined;
166
+ }
167
+ inertiaVelocity = 0;
168
+ }
169
+
170
+ function handleWheel(e: WheelEvent) {
171
+ e.preventDefault();
172
+ stopSmooth();
173
+ scrolling = true;
174
+
175
+ const now = performance.now();
176
+ const direction = e.deltaY > 0 ? 1 : -1;
177
+
178
+ wheelTimestamps.push(now);
179
+ wheelDirections.push(direction);
180
+
181
+ // Keep only recent events
182
+ const cutoff = now - 300;
183
+ while (wheelTimestamps.length > 0 && wheelTimestamps[0] < cutoff) {
184
+ wheelTimestamps.shift();
185
+ wheelDirections.shift();
186
+ }
187
+
188
+ // Move directly 1 step
189
+ targetPos = clampPos(targetPos + direction);
190
+ displayPos = clampPos(displayPos + direction);
191
+ commitIndex(displayPos);
192
+
193
+ clearTimeout(wheelEndTimer);
194
+ wheelEndTimer = setTimeout(() => {
195
+ // Calculate inertia from recent events (only when inertia is enabled).
196
+ if (inertia && wheelTimestamps.length >= 3) {
197
+ const elapsed = wheelTimestamps[wheelTimestamps.length - 1] - wheelTimestamps[0];
198
+ if (elapsed > 0) {
199
+ const avgDir = wheelDirections.reduce((a, b) => a + b, 0) / wheelDirections.length;
200
+ const rate = wheelTimestamps.length / elapsed; // events per ms
201
+ const vel = avgDir * rate * 16 * 1.5; // per-frame velocity
202
+ if (Math.abs(vel) > 0.3) {
203
+ inertiaVelocity = vel;
204
+ targetPos = displayPos;
205
+ startSmoothLoop();
206
+ } else {
207
+ // Snap to nearest enabled item
208
+ targetPos = clampPos(nearestEnabled(displayPos, direction));
209
+ startSmoothLoop();
210
+ }
211
+ }
212
+ } else {
213
+ targetPos = clampPos(nearestEnabled(displayPos, direction));
214
+ startSmoothLoop();
215
+ }
216
+ wheelTimestamps = [];
217
+ wheelDirections = [];
218
+ }, 80);
219
+ }
220
+
221
+ function handleTouchStart(e: TouchEvent) {
222
+ e.preventDefault();
223
+ stopSmooth();
224
+ scrolling = true;
225
+ isTouching = true;
226
+ lastTouchY = e.touches[0].clientY;
227
+ touchSamples = [{ t: performance.now(), pos: displayPos }];
228
+ }
229
+
230
+ function handleTouchMove(e: TouchEvent) {
231
+ if (!isTouching) return;
232
+ e.preventDefault();
233
+ const y = e.touches[0].clientY;
234
+ // Drag 1:1 with the finger by moving the continuous position directly.
235
+ displayPos = clampPos(displayPos - (y - lastTouchY) / itemHeight);
236
+ lastTouchY = y;
237
+ commitIndex(displayPos);
238
+
239
+ const now = performance.now();
240
+ touchSamples.push({ t: now, pos: displayPos });
241
+ const cutoff = now - 90;
242
+ while (touchSamples.length > 2 && touchSamples[0].t < cutoff) touchSamples.shift();
243
+ }
244
+
245
+ function handleTouchEnd() {
246
+ if (!isTouching) return;
247
+ isTouching = false;
248
+
249
+ // Release velocity in item-units per frame (~60fps reference) from recent samples.
250
+ let velocity = 0;
251
+ if (touchSamples.length >= 2) {
252
+ const first = touchSamples[0];
253
+ const last = touchSamples[touchSamples.length - 1];
254
+ const dt = Math.max(1, last.t - first.t);
255
+ velocity = ((last.pos - first.pos) / dt) * 16;
256
+ }
257
+ touchSamples = [];
258
+
259
+ if (inertia && Math.abs(velocity) > 0.05) {
260
+ // Fling: coast with momentum; the inertia loop snaps to the nearest enabled item.
261
+ inertiaVelocity = velocity;
262
+ targetPos = displayPos;
263
+ } else {
264
+ // Released at rest: snap straight to the nearest enabled item.
265
+ inertiaVelocity = 0;
266
+ targetPos = clampPos(nearestEnabled(displayPos, 1));
267
+ }
268
+ startSmoothLoop();
269
+ }
270
+
271
+ function handleKeydown(e: KeyboardEvent) {
272
+ if (e.key === 'ArrowUp') {
273
+ e.preventDefault();
274
+ moveBy(-1);
275
+ } else if (e.key === 'ArrowDown') {
276
+ e.preventDefault();
277
+ moveBy(1);
278
+ }
279
+ }
280
+
281
+ // Attach wheel/touch listeners imperatively so they are non-passive: Svelte's declarative
282
+ // on* handlers are passive by default for these events, which forbids preventDefault().
283
+ function bindGestures(node: HTMLDivElement) {
284
+ const off = [
285
+ on(node, 'wheel', handleWheel, { passive: false }),
286
+ on(node, 'touchstart', handleTouchStart, { passive: false }),
287
+ on(node, 'touchmove', handleTouchMove, { passive: false }),
288
+ on(node, 'touchend', handleTouchEnd),
289
+ on(node, 'touchcancel', handleTouchEnd)
290
+ ];
291
+ return () => off.forEach((remove) => remove());
292
+ }
293
+
294
+ // Stop any in-flight animation frame and pending wheel-inertia timer on unmount.
295
+ $effect(() => {
296
+ return () => {
297
+ if (smoothRaf) cancelAnimationFrame(smoothRaf);
298
+ clearTimeout(wheelEndTimer);
299
+ };
300
+ });
301
+ </script>
302
+
303
+ <div class="fs-dynamic-carousel" style:--item-height="{itemHeight}px" style:--container-height="{containerHeight}px">
304
+ <Button class="fs-dynamic-carousel-btn" appearance="subtle" aria-label="Previous" onclick={() => moveBy(-1)}>
305
+ <CaretUpFilled />
306
+ </Button>
307
+ <div
308
+ class={['fs-dynamic-carousel-viewport', { scrolling }]}
309
+ {@attach bindGestures}
310
+ onkeydown={handleKeydown}
311
+ role="listbox"
312
+ tabindex="0"
313
+ aria-label="Selector"
314
+ aria-activedescendant="carousel-item-{centerIndex}"
315
+ >
316
+ <div class="fs-dynamic-carousel-track">
317
+ {#each virtualItems as item (item.key)}
318
+ <div
319
+ id="carousel-item-{item.key}"
320
+ class={[
321
+ 'fs-dynamic-carousel-item',
322
+ item.realIndex === currentSelectedIndex && 'selected',
323
+ disabledSet.has(item.realIndex) && 'disabled'
324
+ ]}
325
+ role="option"
326
+ tabindex="-1"
327
+ aria-selected={item.realIndex === currentSelectedIndex}
328
+ aria-disabled={disabledSet.has(item.realIndex)}
329
+ style:top="{halfVisible * itemHeight + item.visualOffset}px"
330
+ onclick={() => {
331
+ const offset = Math.round(item.visualOffset / itemHeight);
332
+ moveBy(offset);
333
+ }}
334
+ onkeydown={(e) => {
335
+ if (e.key === 'Enter' || e.key === ' ') {
336
+ e.preventDefault();
337
+ const offset = Math.round(item.visualOffset / itemHeight);
338
+ moveBy(offset);
339
+ }
340
+ }}
341
+ >
342
+ {#if children}
343
+ {@render children({
344
+ value: item.value,
345
+ index: item.realIndex,
346
+ selected: item.realIndex === currentSelectedIndex
347
+ })}
348
+ {:else}
349
+ {item.value}
350
+ {/if}
351
+ </div>
352
+ {/each}
353
+ </div>
354
+ </div>
355
+ <Button class="fs-dynamic-carousel-btn" appearance="subtle" aria-label="Next" onclick={() => moveBy(1)}>
356
+ <CaretDownFilled />
357
+ </Button>
358
+ </div>
359
+
360
+ <style>
361
+ .fs-dynamic-carousel {
362
+ display: flex;
363
+ flex-direction: column;
364
+ align-items: center;
365
+ user-select: none;
366
+ width: fit-content;
367
+ position: relative;
368
+ & :global(.fs-button.fs-dynamic-carousel-btn) {
369
+ padding: 0.6rem;
370
+ position: absolute;
371
+ top: 0;
372
+ left: 0;
373
+ width: 100%;
374
+ z-index: 10;
375
+ justify-content: center;
376
+ align-items: center;
377
+ visibility: hidden;
378
+ background: var(--fs-acrylic-background-default);
379
+ &::before {
380
+ content: '';
381
+ border-radius: calc(var(--fs-control-overlay-border-radius) - 0.063rem);
382
+ width: 100%;
383
+ height: 100%;
384
+ position: absolute;
385
+ inset: 0;
386
+ background: var(--fs-acrilic-noise);
387
+ background-size: 2.5rem;
388
+ opacity: 0.1;
389
+ filter: grayscale(1);
390
+ z-index: 0;
391
+ pointer-events: none;
392
+ }
393
+ &:last-child {
394
+ top: auto;
395
+ bottom: 0;
396
+ }
397
+
398
+ & :global(svg) {
399
+ width: 16px;
400
+ height: 16px;
401
+ }
402
+ }
403
+ &:hover :global(.fs-dynamic-carousel-btn) {
404
+ visibility: visible !important;
405
+ }
406
+ }
407
+
408
+ .fs-dynamic-carousel-viewport {
409
+ height: var(--container-height);
410
+ position: relative;
411
+ touch-action: none;
412
+ outline: none;
413
+ overflow: hidden;
414
+ width: 100%;
415
+ }
416
+
417
+ .fs-dynamic-carousel-track {
418
+ position: relative;
419
+ height: 100%;
420
+ }
421
+
422
+ .fs-dynamic-carousel-item {
423
+ position: absolute;
424
+ left: 0;
425
+ right: 0;
426
+ height: var(--item-height);
427
+ display: flex;
428
+ align-items: center;
429
+ justify-content: center;
430
+ cursor: pointer;
431
+ border-radius: var(--fs-control-border-radius);
432
+ color: var(--fs-text-secondary);
433
+
434
+ &.selected {
435
+ color: var(--fs-text-on-accent-primary);
436
+ }
437
+ &.disabled {
438
+ color: var(--fs-text-disabled);
439
+ pointer-events: none;
440
+ }
441
+ &:hover:not(.selected) {
442
+ background: var(--fs-control-fill-secondary);
443
+ }
444
+
445
+ .scrolling & {
446
+ pointer-events: none;
447
+ }
448
+ }
449
+ </style>
@@ -0,0 +1,22 @@
1
+ import type { Snippet } from 'svelte';
2
+ type $$ComponentProps = {
3
+ values?: string[];
4
+ selectedIndex?: number;
5
+ /** Real (0-based, unwrapped) indices the carousel must never rest on. */
6
+ disabledIndices?: number[];
7
+ onSelected?: (value: string, index: number) => void;
8
+ visibleItems?: number;
9
+ itemHeight?: number;
10
+ /** When false, the wheel is bounded (no wrap) and stops at the first/last item. */
11
+ infinite?: boolean;
12
+ /** When false, releasing snaps immediately with no momentum coasting. */
13
+ inertia?: boolean;
14
+ children?: Snippet<[{
15
+ value: string;
16
+ index: number;
17
+ selected: boolean;
18
+ }]>;
19
+ };
20
+ declare const DynamicCarousel: import("svelte").Component<$$ComponentProps, {}, "selectedIndex">;
21
+ type DynamicCarousel = ReturnType<typeof DynamicCarousel>;
22
+ export default DynamicCarousel;
@@ -0,0 +1,29 @@
1
+ <!-- eslint-disable @typescript-eslint/no-explicit-any -->
2
+ <script lang="ts" generics="T extends Snippet<unknown[]> | Component<any>">
3
+ import type { Component, Snippet } from 'svelte';
4
+
5
+ // Read more about this here: https://github.com/sveltejs/svelte/issues/9774#issuecomment-2266700153
6
+ const isSnippet = <T extends unknown[]>(value: Snippet<T> | Component): value is Snippet<T> => value.length === 1;
7
+
8
+ const isComponent = <T extends Record<string, any>>(value: Component<T> | Snippet): value is Component<T> =>
9
+ value.length === 2;
10
+
11
+ type SOCProps<G> =
12
+ G extends Snippet<infer A> ? { SoC: T; args: A } : G extends Component<infer P> ? { SoC: T } & P : never;
13
+
14
+ let { SoC, args, ...props }: SOCProps<T> = $props();
15
+ </script>
16
+
17
+ {#if SoC}
18
+ {#if isSnippet(SoC)}
19
+ {#if args && Array.isArray(args)}
20
+ {/* @ts-expect-error - [any[]] no assignable to never */ null}
21
+ {@render SoC(args)}
22
+ {:else}
23
+ {/* @ts-expect-error - [] is not assignable to never */ null}
24
+ {@render SoC()}
25
+ {/if}
26
+ {:else if isComponent(SoC)}
27
+ <SoC {...props} />
28
+ {/if}
29
+ {/if}
@@ -0,0 +1,30 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+ declare function $$render<T extends Snippet<unknown[]> | Component<any>>(): {
3
+ props: T extends Snippet<infer A extends unknown[]> ? {
4
+ SoC: T;
5
+ args: A;
6
+ } : T extends Component<infer P extends Record<string, any>, {}, string> ? {
7
+ SoC: T;
8
+ } & P : never;
9
+ exports: {};
10
+ bindings: "";
11
+ slots: {};
12
+ events: {};
13
+ };
14
+ declare class __sveltets_Render<T extends Snippet<unknown[]> | Component<any>> {
15
+ props(): ReturnType<typeof $$render<T>>['props'];
16
+ events(): ReturnType<typeof $$render<T>>['events'];
17
+ slots(): ReturnType<typeof $$render<T>>['slots'];
18
+ bindings(): "";
19
+ exports(): {};
20
+ }
21
+ interface $$IsomorphicComponent {
22
+ new <T extends Snippet<unknown[]> | Component<any>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
23
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
24
+ } & ReturnType<__sveltets_Render<T>['exports']>;
25
+ <T extends Snippet<unknown[]> | Component<any>>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
26
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
27
+ }
28
+ declare const RenderSoc: $$IsomorphicComponent;
29
+ type RenderSoc<T extends Snippet<unknown[]> | Component<any>> = InstanceType<typeof RenderSoc<T>>;
30
+ export default RenderSoc;
@@ -0,0 +1,26 @@
1
+ import type { VirtualElement } from '@floating-ui/dom';
2
+ export declare const EASING: {
3
+ readonly EASE_IN: "ease-in";
4
+ readonly EASE_OUT: "ease-out";
5
+ readonly EASE_IN_OUT: "ease-in-out";
6
+ readonly LINEAR: "linear";
7
+ };
8
+ export declare const DURATION: {
9
+ readonly REDUCED: 0;
10
+ readonly FAST: 167;
11
+ readonly NORMAL: 333;
12
+ readonly SLOW: 500;
13
+ };
14
+ export declare const DIRECTION: {
15
+ readonly DOWN: "down";
16
+ readonly UP: "up";
17
+ readonly LEFT: "left";
18
+ readonly RIGHT: "right";
19
+ };
20
+ export declare const PREFIX = "fs";
21
+ export declare const DEFAULT_OFFSET = 8;
22
+ export declare const VIRTUAL_ELEMENT: VirtualElement;
23
+ export declare const fake: {
24
+ id: string;
25
+ name: string;
26
+ }[];