fluentui-svelte 0.5.0 → 0.7.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 (259) hide show
  1. package/dist/components/app-surface/app-surface.svelte +96 -0
  2. package/dist/components/app-surface/app-surface.svelte.d.ts +22 -0
  3. package/dist/components/app-surface/docs/llms.md +73 -0
  4. package/dist/components/app-surface/types.d.ts +19 -0
  5. package/dist/components/app-surface/types.js +1 -0
  6. package/dist/components/app-window/app-window.d.ts +3 -0
  7. package/dist/components/app-window/app-window.js +3 -0
  8. package/dist/components/app-window/app-window.svelte +193 -0
  9. package/dist/components/app-window/app-window.svelte.d.ts +25 -0
  10. package/dist/components/app-window/docs/llms.md +119 -0
  11. package/dist/components/app-window/types.d.ts +66 -0
  12. package/dist/components/app-window/types.js +1 -0
  13. package/dist/components/auto-suggest-box/auto-suggest-box.svelte +47 -31
  14. package/dist/components/auto-suggest-box/auto-suggest-box.svelte.d.ts +2 -2
  15. package/dist/components/auto-suggest-box/docs/llms.md +34 -33
  16. package/dist/components/auto-suggest-box/option.svelte +6 -4
  17. package/dist/components/auto-suggest-box/types.d.ts +13 -16
  18. package/dist/components/avatar/avatar.svelte +4 -3
  19. package/dist/components/avatar/docs/llms.md +1 -1
  20. package/dist/components/avatar/type.d.ts +1 -1
  21. package/dist/components/badge/badge-icon.svelte +2 -2
  22. package/dist/components/badge/badge.svelte +2 -2
  23. package/dist/components/badge/docs/llms.md +2 -2
  24. package/dist/components/badge/types.d.ts +2 -2
  25. package/dist/components/breadcrumb/breadcrumb-button.svelte +2 -2
  26. package/dist/components/breadcrumb/breadcrumb-divider.svelte +2 -2
  27. package/dist/components/breadcrumb/breadcrumb-item.svelte +2 -2
  28. package/dist/components/breadcrumb/breadcrumb.svelte +10 -5
  29. package/dist/components/breadcrumb/docs/llms.md +11 -11
  30. package/dist/components/breadcrumb/types.d.ts +7 -7
  31. package/dist/components/button/button.svelte +2 -2
  32. package/dist/components/button/docs/llms.md +17 -17
  33. package/dist/components/button/split-button.svelte +7 -7
  34. package/dist/components/button/types.d.ts +5 -5
  35. package/dist/components/calendar-date-picker/calendar-date-picker.svelte +98 -10
  36. package/dist/components/calendar-date-picker/calendar-date-picker.svelte.d.ts +1 -1
  37. package/dist/components/calendar-date-picker/docs/llms.md +19 -14
  38. package/dist/components/calendar-date-picker/types.d.ts +22 -8
  39. package/dist/components/calendar-view/calendar-view-days.svelte +3 -2
  40. package/dist/components/calendar-view/calendar-view-grid.js +8 -3
  41. package/dist/components/calendar-view/calendar-view-item.svelte +10 -4
  42. package/dist/components/calendar-view/calendar-view-months.svelte +3 -2
  43. package/dist/components/calendar-view/calendar-view-years.svelte +3 -2
  44. package/dist/components/calendar-view/calendar-view.svelte +11 -4
  45. package/dist/components/calendar-view/calendar-view.svelte.js +5 -0
  46. package/dist/components/calendar-view/docs/llms.md +20 -19
  47. package/dist/components/calendar-view/types.d.ts +6 -1
  48. package/dist/components/card/card-footer.svelte +2 -2
  49. package/dist/components/card/card-header.svelte +5 -4
  50. package/dist/components/card/card-preview.svelte +13 -2
  51. package/dist/components/card/card.svelte +5 -5
  52. package/dist/components/card/docs/llms.md +22 -21
  53. package/dist/components/card/types.d.ts +8 -4
  54. package/dist/components/checkbox/checkbox.svelte +47 -26
  55. package/dist/components/checkbox/checkbox.svelte.d.ts +3 -24
  56. package/dist/components/checkbox/docs/llms.md +24 -23
  57. package/dist/components/checkbox/types.d.ts +10 -23
  58. package/dist/components/date-picker/date-picker.svelte +98 -27
  59. package/dist/components/date-picker/date-picker.svelte.d.ts +1 -1
  60. package/dist/components/date-picker/docs/llms.md +23 -20
  61. package/dist/components/date-picker/types.d.ts +24 -15
  62. package/dist/components/dialog/dialog-actions.svelte +17 -2
  63. package/dist/components/dialog/dialog-content.svelte +2 -2
  64. package/dist/components/dialog/dialog-content.svelte.d.ts +1 -1
  65. package/dist/components/dialog/dialog-surface.svelte +130 -8
  66. package/dist/components/dialog/dialog-title.svelte +23 -6
  67. package/dist/components/dialog/dialog-trigger.svelte +8 -2
  68. package/dist/components/dialog/dialog-trigger.svelte.d.ts +1 -1
  69. package/dist/components/dialog/dialog.svelte +22 -11
  70. package/dist/components/dialog/docs/llms.md +56 -19
  71. package/dist/components/dialog/types.d.ts +31 -9
  72. package/dist/components/dialog/utils.d.ts +2 -0
  73. package/dist/components/dialog/utils.js +1 -0
  74. package/dist/components/divider/divider.svelte +6 -4
  75. package/dist/components/divider/types.d.ts +1 -1
  76. package/dist/components/dropdown/docs/llms.md +30 -28
  77. package/dist/components/dropdown/dropdown-option.svelte +17 -5
  78. package/dist/components/dropdown/dropdown.svelte +182 -84
  79. package/dist/components/dropdown/dropdown.svelte.d.ts +1 -1
  80. package/dist/components/dropdown/types.d.ts +26 -20
  81. package/dist/components/dropdown-select/docs/llms.md +24 -22
  82. package/dist/components/dropdown-select/dropdown-select-option.svelte +2 -2
  83. package/dist/components/dropdown-select/dropdown-select.svelte +42 -7
  84. package/dist/components/dropdown-select/types.d.ts +4 -4
  85. package/dist/components/expander/docs/llms.md +3 -3
  86. package/dist/components/expander/expander.svelte +13 -8
  87. package/dist/components/expander/types.d.ts +5 -5
  88. package/dist/components/flyout/docs/llms.md +1 -1
  89. package/dist/components/flyout/flyout.svelte +17 -6
  90. package/dist/components/flyout/types.d.ts +1 -1
  91. package/dist/components/hyperlink/docs/llms.md +6 -6
  92. package/dist/components/hyperlink/hyperlink.svelte +13 -4
  93. package/dist/components/hyperlink/types.d.ts +1 -1
  94. package/dist/components/info-bar/docs/llms.md +11 -10
  95. package/dist/components/info-bar/info-bar.svelte +3 -2
  96. package/dist/components/info-bar/types.d.ts +4 -0
  97. package/dist/components/label/docs/llms.md +75 -22
  98. package/dist/components/label/label-context.d.ts +14 -0
  99. package/dist/components/label/label-context.js +10 -0
  100. package/dist/components/label/label.svelte +153 -30
  101. package/dist/components/label/label.svelte.d.ts +1 -1
  102. package/dist/components/label/types.d.ts +48 -4
  103. package/dist/components/list-view/docs/llms.md +103 -33
  104. package/dist/components/list-view/list-view-item-branch.svelte +257 -0
  105. package/dist/components/list-view/list-view-item-branch.svelte.d.ts +4 -0
  106. package/dist/components/list-view/list-view-item.svelte +164 -46
  107. package/dist/components/list-view/list-view-item.svelte.d.ts +5 -5
  108. package/dist/components/list-view/list-view.svelte +73 -25
  109. package/dist/components/list-view/types.d.ts +71 -8
  110. package/dist/components/list-view/utils.d.ts +10 -0
  111. package/dist/components/list-view/utils.js +17 -1
  112. package/dist/components/menu/docs/llms.md +98 -15
  113. package/dist/components/menu/menu-command-bar-item.svelte +61 -0
  114. package/dist/components/menu/menu-command-bar-item.svelte.d.ts +14 -0
  115. package/dist/components/menu/menu-command-bar.svelte +218 -0
  116. package/dist/components/menu/menu-command-bar.svelte.d.ts +21 -0
  117. package/dist/components/menu/menu-group.svelte +6 -3
  118. package/dist/components/menu/menu-item-checkbox.svelte +5 -4
  119. package/dist/components/menu/menu-item-radio.svelte +5 -4
  120. package/dist/components/menu/menu-item-switch.svelte +5 -4
  121. package/dist/components/menu/menu-item.svelte +5 -5
  122. package/dist/components/menu/menu-item.svelte.d.ts +2 -3
  123. package/dist/components/menu/menu-list.svelte +10 -1
  124. package/dist/components/menu/menu-popover.svelte +9 -5
  125. package/dist/components/menu/menu-trigger.svelte +2 -1
  126. package/dist/components/menu/menu.svelte.js +1 -0
  127. package/dist/components/menu/types.d.ts +62 -7
  128. package/dist/components/number-box/docs/llms.md +6 -4
  129. package/dist/components/number-box/number-box.svelte +35 -29
  130. package/dist/components/number-box/number-box.svelte.d.ts +1 -1
  131. package/dist/components/number-box/types.d.ts +1 -1
  132. package/dist/components/persona/docs/llms.md +29 -25
  133. package/dist/components/persona/persona.svelte +8 -6
  134. package/dist/components/persona/types.d.ts +4 -3
  135. package/dist/components/progress-bar/docs/llms.md +13 -13
  136. package/dist/components/progress-bar/progress-bar.svelte +6 -6
  137. package/dist/components/progress-bar/types.d.ts +4 -4
  138. package/dist/components/progress-ring/docs/llms.md +14 -14
  139. package/dist/components/progress-ring/progress-ring.svelte +5 -5
  140. package/dist/components/progress-ring/types.d.ts +3 -3
  141. package/dist/components/radio-button/docs/llms.md +11 -8
  142. package/dist/components/radio-button/radio-button.svelte +38 -12
  143. package/dist/components/radio-button/radio-button.svelte.d.ts +1 -1
  144. package/dist/components/radio-button/types.d.ts +11 -8
  145. package/dist/components/rating/docs/llms.md +111 -0
  146. package/dist/components/rating/rating.svelte +247 -0
  147. package/dist/components/rating/rating.svelte.d.ts +19 -0
  148. package/dist/components/rating/types.d.ts +44 -0
  149. package/dist/components/rating/types.js +1 -0
  150. package/dist/components/side-nav/docs/llms.md +110 -0
  151. package/dist/components/side-nav/side-nav-branch.svelte +43 -0
  152. package/dist/components/side-nav/side-nav-branch.svelte.d.ts +4 -0
  153. package/dist/components/side-nav/side-nav-item.svelte +75 -0
  154. package/dist/components/side-nav/side-nav-item.svelte.d.ts +25 -0
  155. package/dist/components/side-nav/side-nav-list.svelte +32 -0
  156. package/dist/components/side-nav/side-nav-list.svelte.d.ts +7 -0
  157. package/dist/components/side-nav/side-nav.d.ts +2 -0
  158. package/dist/components/side-nav/side-nav.js +2 -0
  159. package/dist/components/side-nav/side-nav.svelte +355 -0
  160. package/dist/components/side-nav/side-nav.svelte.d.ts +24 -0
  161. package/dist/components/side-nav/types.d.ts +149 -0
  162. package/dist/components/side-nav/types.js +1 -0
  163. package/dist/components/skeleton/docs/llms.md +1 -1
  164. package/dist/components/skeleton/skeleton.svelte +2 -2
  165. package/dist/components/skeleton/types.d.ts +1 -1
  166. package/dist/components/slider/docs/llms.md +31 -28
  167. package/dist/components/slider/slider.svelte +126 -61
  168. package/dist/components/slider/slider.svelte.d.ts +1 -3
  169. package/dist/components/slider/types.d.ts +21 -14
  170. package/dist/components/tab-view/docs/llms.md +7 -7
  171. package/dist/components/tab-view/tab-view-tab.svelte +16 -14
  172. package/dist/components/tab-view/tab-view.svelte +16 -9
  173. package/dist/components/tab-view/types.d.ts +6 -6
  174. package/dist/components/table/docs/llms.md +38 -33
  175. package/dist/components/table/table-body.svelte +2 -2
  176. package/dist/components/table/table-cell-actions.svelte +8 -2
  177. package/dist/components/table/table-cell-layout.svelte +2 -2
  178. package/dist/components/table/table-cell.svelte +2 -2
  179. package/dist/components/table/table-header-cell.svelte +2 -2
  180. package/dist/components/table/table-header.svelte +2 -2
  181. package/dist/components/table/table-row.svelte +2 -2
  182. package/dist/components/table/table-selection-cell.svelte +6 -6
  183. package/dist/components/table/table.svelte +2 -2
  184. package/dist/components/table/types.d.ts +11 -11
  185. package/dist/components/tag/docs/llms.md +383 -0
  186. package/dist/components/tag/tag-group.d.ts +2 -0
  187. package/dist/components/tag/tag-group.js +2 -0
  188. package/dist/components/tag/tag-group.svelte +117 -0
  189. package/dist/components/tag/tag-group.svelte.d.ts +20 -0
  190. package/dist/components/tag/tag.svelte +459 -0
  191. package/dist/components/tag/tag.svelte.d.ts +19 -0
  192. package/dist/components/tag/types.d.ts +137 -0
  193. package/dist/components/tag/types.js +1 -0
  194. package/dist/components/tag-picker/docs/llms.md +298 -0
  195. package/dist/components/tag-picker/option-group.svelte +51 -0
  196. package/dist/components/tag-picker/option-group.svelte.d.ts +4 -0
  197. package/dist/components/tag-picker/option.svelte +82 -0
  198. package/dist/components/tag-picker/option.svelte.d.ts +4 -0
  199. package/dist/components/tag-picker/tag-picker.d.ts +2 -0
  200. package/dist/components/tag-picker/tag-picker.js +2 -0
  201. package/dist/components/tag-picker/tag-picker.svelte +716 -0
  202. package/dist/components/tag-picker/tag-picker.svelte.d.ts +21 -0
  203. package/dist/components/tag-picker/types.d.ts +142 -0
  204. package/dist/components/tag-picker/types.js +1 -0
  205. package/dist/components/text-box/docs/llms.md +31 -4
  206. package/dist/components/text-box/text-box-button.svelte +3 -3
  207. package/dist/components/text-box/text-box-button.svelte.d.ts +1 -1
  208. package/dist/components/text-box/text-box.svelte +41 -14
  209. package/dist/components/text-box/types.d.ts +5 -5
  210. package/dist/components/textarea/docs/llms.md +4 -3
  211. package/dist/components/textarea/textarea.svelte +14 -6
  212. package/dist/components/textarea/types.d.ts +2 -4
  213. package/dist/components/time-picker/docs/llms.md +18 -15
  214. package/dist/components/time-picker/time-picker.svelte +133 -33
  215. package/dist/components/time-picker/time-picker.svelte.d.ts +1 -1
  216. package/dist/components/time-picker/types.d.ts +23 -13
  217. package/dist/components/title-bar/docs/llms.md +382 -0
  218. package/dist/components/title-bar/title-bar-left-controls.svelte +215 -0
  219. package/dist/components/title-bar/title-bar-left-controls.svelte.d.ts +22 -0
  220. package/dist/components/title-bar/title-bar-right-controls.svelte +190 -0
  221. package/dist/components/title-bar/title-bar-right-controls.svelte.d.ts +27 -0
  222. package/dist/components/title-bar/title-bar.d.ts +3 -0
  223. package/dist/components/title-bar/title-bar.js +4 -0
  224. package/dist/components/title-bar/title-bar.svelte +224 -0
  225. package/dist/components/title-bar/title-bar.svelte.d.ts +26 -0
  226. package/dist/components/title-bar/types.d.ts +165 -0
  227. package/dist/components/title-bar/types.js +1 -0
  228. package/dist/components/toggle-switch/docs/llms.md +11 -9
  229. package/dist/components/toggle-switch/toggle-switch.svelte +23 -14
  230. package/dist/components/toggle-switch/toggle-switch.svelte.d.ts +1 -1
  231. package/dist/components/toggle-switch/types.d.ts +12 -10
  232. package/dist/components/tooltip/docs/llms.md +1 -1
  233. package/dist/components/tooltip/tooltip.svelte +5 -4
  234. package/dist/components/tooltip/types.d.ts +1 -1
  235. package/dist/components/top-nav/docs/llms.md +1 -1
  236. package/dist/components/top-nav/top-nav-item.svelte +2 -2
  237. package/dist/components/top-nav/top-nav.svelte +2 -2
  238. package/dist/components/top-nav/types.d.ts +2 -2
  239. package/dist/components/tree-view/docs/llms.md +11 -11
  240. package/dist/components/tree-view/tree-view-item-content.svelte +3 -3
  241. package/dist/components/tree-view/tree-view-item.svelte +13 -5
  242. package/dist/components/tree-view/tree-view.svelte +20 -5
  243. package/dist/components/tree-view/tree-view.svelte.d.ts +1 -1
  244. package/dist/components/tree-view/tree-view.svelte.js +31 -3
  245. package/dist/components/tree-view/types.d.ts +7 -3
  246. package/dist/index.d.ts +25 -0
  247. package/dist/index.js +32 -0
  248. package/dist/internal/components/dynamic-carousel/dynamic-carousel.svelte +26 -5
  249. package/dist/internal/components/dynamic-carousel/dynamic-carousel.svelte.d.ts +2 -0
  250. package/dist/internal/constants.d.ts +0 -4
  251. package/dist/internal/constants.js +0 -4002
  252. package/dist/internal/index.d.ts +1 -0
  253. package/dist/internal/index.js +1 -0
  254. package/dist/internal/native-field.svelte.d.ts +44 -0
  255. package/dist/internal/native-field.svelte.js +85 -0
  256. package/dist/internal/utils.d.ts +16 -2
  257. package/dist/internal/utils.js +25 -3
  258. package/dist/types/index.d.ts +3 -3
  259. package/package.json +51 -37
package/dist/index.js CHANGED
@@ -1,3 +1,10 @@
1
+ // Start AppSurface Component
2
+ export { default as AppSurface } from './components/app-surface/app-surface.svelte';
3
+ // End AppSurface Component
4
+ // Start AppWindow Component
5
+ export { default as AppWindow } from './components/app-window/app-window.svelte';
6
+ export { getAppWindowContext } from "./components/app-window/app-window.js";
7
+ // End AppWindow Component
1
8
  // Start AutoSuggestBox Component
2
9
  export { default as AutoSuggestBox } from './components/auto-suggest-box/auto-suggest-box.svelte';
3
10
  export { default as AutoSuggestBoxOption } from './components/auto-suggest-box/option.svelte';
@@ -80,6 +87,7 @@ export { default as Label } from './components/label/label.svelte';
80
87
  // Start ListView Component
81
88
  export { default as ListView } from './components/list-view/list-view.svelte';
82
89
  export { default as ListViewItem } from './components/list-view/list-view-item.svelte';
90
+ export { default as ListViewItemBranch } from './components/list-view/list-view-item-branch.svelte';
83
91
  // End ListView Component
84
92
  // Start Menu Component
85
93
  export { default as Menu } from './components/menu/menu.svelte';
@@ -92,6 +100,8 @@ export { default as MenuList } from './components/menu/menu-list.svelte';
92
100
  export { default as MenuItemCheckbox } from './components/menu/menu-item-checkbox.svelte';
93
101
  export { default as MenuItemRadio } from './components/menu/menu-item-radio.svelte';
94
102
  export { default as MenuItemSwitch } from './components/menu/menu-item-switch.svelte';
103
+ export { default as MenuCommandBar } from './components/menu/menu-command-bar.svelte';
104
+ export { default as MenuCommandBarItem } from './components/menu/menu-command-bar-item.svelte';
95
105
  export { default as ContextMenuTrigger } from './components/menu/context-menu-trigger.svelte';
96
106
  // End Menu Component
97
107
  // Start NumberBox Component
@@ -109,6 +119,9 @@ export { default as ProgressRing } from './components/progress-ring/progress-rin
109
119
  // Start RadioButton Component
110
120
  export { default as RadioButton } from './components/radio-button/radio-button.svelte';
111
121
  // End RadioButton Component
122
+ // Start Rating Component
123
+ export { default as Rating } from './components/rating/rating.svelte';
124
+ // End Rating Component
112
125
  // Start Skeleton Component
113
126
  export { default as Skeleton } from './components/skeleton/skeleton.svelte';
114
127
  // End Skeleton Component
@@ -130,6 +143,15 @@ export { default as TableCellActions } from './components/table/table-cell-actio
130
143
  export { default as TabView } from './components/tab-view/tab-view.svelte';
131
144
  export { default as TabViewTab } from './components/tab-view/tab-view-tab.svelte';
132
145
  // End TabView Component
146
+ // Start Tag Component
147
+ export { default as Tag } from './components/tag/tag.svelte';
148
+ export { default as TagGroup } from './components/tag/tag-group.svelte';
149
+ // End Tag Component
150
+ // Start TagPicker Component
151
+ export { default as TagPicker } from './components/tag-picker/tag-picker.svelte';
152
+ export { default as TagPickerOption } from './components/tag-picker/option.svelte';
153
+ export { default as TagPickerOptionGroup } from './components/tag-picker/option-group.svelte';
154
+ // End TagPicker Component
133
155
  // Start TextArea Component
134
156
  export { default as TextArea } from './components/textarea/textarea.svelte';
135
157
  // End TextArea Component
@@ -140,6 +162,16 @@ export { default as TextBoxButton } from './components/text-box/text-box-button.
140
162
  // Start TimePicker Component
141
163
  export { default as TimePicker } from './components/time-picker/time-picker.svelte';
142
164
  // End TimePicker Component
165
+ // Start SideNav Component
166
+ export { default as SideNav } from './components/side-nav/side-nav.svelte';
167
+ export { default as SideNavItem } from './components/side-nav/side-nav-item.svelte';
168
+ export { default as SideNavBranch } from './components/side-nav/side-nav-branch.svelte';
169
+ // End SideNav Component
170
+ // Start TitleBar Component
171
+ export { default as TitleBar } from './components/title-bar/title-bar.svelte';
172
+ export { default as TitleBarLeftControls } from './components/title-bar/title-bar-left-controls.svelte';
173
+ export { default as TitleBarRightControls } from './components/title-bar/title-bar-right-controls.svelte';
174
+ // End TitleBar Component
143
175
  // Start ToggleSwitch Component
144
176
  export { default as ToggleSwitch } from './components/toggle-switch/toggle-switch.svelte';
145
177
  // End ToggleSwitch Component
@@ -3,9 +3,11 @@
3
3
  import CaretDownFilled from 'fluentui-icons-svelte/CaretDownFilled.svelte';
4
4
  import CaretUpFilled from 'fluentui-icons-svelte/CaretUpFilled.svelte';
5
5
  import { Button } from '../../../index.js';
6
+ import { PREFIX } from '../../constants.js';
6
7
  import { on } from 'svelte/events';
7
8
 
8
9
  let {
10
+ label,
9
11
  values = Array.from({ length: 12 }, (_, i) => (i + 1).toString().padStart(2, '0')),
10
12
  selectedIndex = $bindable(0),
11
13
  disabledIndices = [],
@@ -16,6 +18,8 @@
16
18
  inertia = true,
17
19
  children
18
20
  }: {
21
+ /** The accessible name of the listbox, such as the field it picks. */
22
+ label: string;
19
23
  values?: string[];
20
24
  selectedIndex?: number;
21
25
  /** Real (0-based, unwrapped) indices the carousel must never rest on. */
@@ -30,6 +34,10 @@
30
34
  children?: Snippet<[{ value: string; index: number; selected: boolean }]>;
31
35
  } = $props();
32
36
 
37
+ // Picker columns render side by side, so the option ids need a prefix of their own.
38
+ const UID = $props.id();
39
+ const ITEM_ID = `${PREFIX}carousel-${UID}-item`;
40
+
33
41
  // Reactive state — read by the template and deriveds.
34
42
  let scrolling = $state(false);
35
43
  // Continuous position for smooth scrolling (in item units, unbounded for infinite scroll).
@@ -301,7 +309,14 @@
301
309
  </script>
302
310
 
303
311
  <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)}>
312
+ <!-- The arrows are for the pointer: the listbox moves with ArrowUp/ArrowDown. -->
313
+ <Button
314
+ class="fs-dynamic-carousel-btn"
315
+ appearance="subtle"
316
+ tabindex={-1}
317
+ aria-hidden="true"
318
+ onclick={() => moveBy(-1)}
319
+ >
305
320
  <CaretUpFilled />
306
321
  </Button>
307
322
  <div
@@ -310,13 +325,13 @@
310
325
  onkeydown={handleKeydown}
311
326
  role="listbox"
312
327
  tabindex="0"
313
- aria-label="Selector"
314
- aria-activedescendant="carousel-item-{centerIndex}"
328
+ aria-label={label}
329
+ aria-activedescendant="{ITEM_ID}-{centerIndex}"
315
330
  >
316
331
  <div class="fs-dynamic-carousel-track">
317
332
  {#each virtualItems as item (item.key)}
318
333
  <div
319
- id="carousel-item-{item.key}"
334
+ id="{ITEM_ID}-{item.key}"
320
335
  class={[
321
336
  'fs-dynamic-carousel-item',
322
337
  item.realIndex === currentSelectedIndex && 'selected',
@@ -352,7 +367,13 @@
352
367
  {/each}
353
368
  </div>
354
369
  </div>
355
- <Button class="fs-dynamic-carousel-btn" appearance="subtle" aria-label="Next" onclick={() => moveBy(1)}>
370
+ <Button
371
+ class="fs-dynamic-carousel-btn"
372
+ appearance="subtle"
373
+ tabindex={-1}
374
+ aria-hidden="true"
375
+ onclick={() => moveBy(1)}
376
+ >
356
377
  <CaretDownFilled />
357
378
  </Button>
358
379
  </div>
@@ -1,5 +1,7 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  type $$ComponentProps = {
3
+ /** The accessible name of the listbox, such as the field it picks. */
4
+ label: string;
3
5
  values?: string[];
4
6
  selectedIndex?: number;
5
7
  /** Real (0-based, unwrapped) indices the carousel must never rest on. */
@@ -20,7 +20,3 @@ export declare const DIRECTION: {
20
20
  export declare const PREFIX = "fs";
21
21
  export declare const DEFAULT_OFFSET = 8;
22
22
  export declare const VIRTUAL_ELEMENT: VirtualElement;
23
- export declare const fake: {
24
- id: string;
25
- name: string;
26
- }[];