@spectral_labs/ui 1.2.0 → 1.3.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 (467) hide show
  1. package/dist/components/accordion/__tests__/AccordionTest.svelte +4 -4
  2. package/dist/components/accordion/components/accordion-content.svelte +3 -3
  3. package/dist/components/accordion/components/accordion-item.svelte +1 -1
  4. package/dist/components/accordion/components/accordion-root.svelte +5 -7
  5. package/dist/components/accordion/components/accordion-root.svelte.d.ts.map +1 -1
  6. package/dist/components/accordion/components/accordion-trigger.svelte +12 -12
  7. package/dist/components/alert-dialog/__tests__/AlertDialogTest.svelte +6 -3
  8. package/dist/components/alert-dialog/__tests__/alert-dialog.a11y.test.js +9 -2
  9. package/dist/components/alert-dialog/components/alert-dialog-action.svelte +2 -2
  10. package/dist/components/alert-dialog/components/alert-dialog-cancel.svelte +2 -2
  11. package/dist/components/alert-dialog/components/alert-dialog-content.svelte +15 -11
  12. package/dist/components/alert-dialog/components/alert-dialog-content.svelte.d.ts.map +1 -1
  13. package/dist/components/alert-dialog/components/alert-dialog-description.svelte +1 -1
  14. package/dist/components/alert-dialog/components/alert-dialog-overlay.svelte +8 -6
  15. package/dist/components/alert-dialog/components/alert-dialog-overlay.svelte.d.ts.map +1 -1
  16. package/dist/components/alert-dialog/components/alert-dialog-root.svelte +7 -2
  17. package/dist/components/alert-dialog/components/alert-dialog-root.svelte.d.ts.map +1 -1
  18. package/dist/components/alert-dialog/components/alert-dialog-title.svelte +6 -2
  19. package/dist/components/alert-dialog/components/alert-dialog-trigger.svelte +3 -3
  20. package/dist/components/app-bar/app-bar.svelte +12 -12
  21. package/dist/components/aspect-ratio/aspect-ratio.svelte +2 -2
  22. package/dist/components/avatar/avatar.svelte +6 -6
  23. package/dist/components/badge/badge.svelte +49 -13
  24. package/dist/components/badge/types.d.ts.map +1 -1
  25. package/dist/components/bottom-sheet/__tests__/BottomSheetTest.svelte +16 -6
  26. package/dist/components/bottom-sheet/components/bottom-sheet-root.svelte +20 -20
  27. package/dist/components/breadcrumb/breadcrumb-item.svelte +2 -2
  28. package/dist/components/breadcrumb/breadcrumb-link.svelte +6 -2
  29. package/dist/components/breadcrumb/breadcrumb-link.svelte.d.ts.map +1 -1
  30. package/dist/components/breadcrumb/breadcrumb-list.svelte +2 -2
  31. package/dist/components/breadcrumb/breadcrumb-page.svelte +3 -3
  32. package/dist/components/breadcrumb/breadcrumb-separator.svelte +12 -4
  33. package/dist/components/breadcrumb/breadcrumb.svelte +2 -2
  34. package/dist/components/button/button.svelte +1 -1
  35. package/dist/components/button/types.d.ts.map +1 -1
  36. package/dist/components/calendar/__tests__/CalendarTest.svelte +1 -1
  37. package/dist/components/calendar/calendar.svelte.d.ts.map +1 -1
  38. package/dist/components/calendar/calendar.svelte.js +89 -33
  39. package/dist/components/calendar/components/calendar-grid.svelte +16 -15
  40. package/dist/components/calendar/components/calendar-grid.svelte.d.ts.map +1 -1
  41. package/dist/components/calendar/components/calendar-header.svelte +1 -1
  42. package/dist/components/calendar/components/calendar-heading.svelte +2 -2
  43. package/dist/components/calendar/components/calendar-next-button.svelte +14 -6
  44. package/dist/components/calendar/components/calendar-prev-button.svelte +14 -6
  45. package/dist/components/calendar/components/calendar-root.svelte +50 -22
  46. package/dist/components/calendar/components/calendar-root.svelte.d.ts.map +1 -1
  47. package/dist/components/card/card.svelte +1 -1
  48. package/dist/components/checkbox/checkbox.svelte +23 -27
  49. package/dist/components/checkbox/checkbox.svelte.d.ts.map +1 -1
  50. package/dist/components/chips/chip-group.svelte +8 -13
  51. package/dist/components/chips/chip-group.svelte.d.ts.map +1 -1
  52. package/dist/components/chips/chips.svelte +32 -39
  53. package/dist/components/chips/chips.svelte.d.ts.map +1 -1
  54. package/dist/components/chips/types.d.ts +5 -5
  55. package/dist/components/chips/types.d.ts.map +1 -1
  56. package/dist/components/collapsible/__tests__/CollapsibleTest.svelte +1 -1
  57. package/dist/components/collapsible/components/collapsible-content.svelte +8 -6
  58. package/dist/components/collapsible/components/collapsible-content.svelte.d.ts.map +1 -1
  59. package/dist/components/collapsible/components/collapsible-root.svelte +2 -3
  60. package/dist/components/collapsible/components/collapsible-root.svelte.d.ts.map +1 -1
  61. package/dist/components/collapsible/components/collapsible-trigger.svelte +2 -2
  62. package/dist/components/combobox/__tests__/ComboboxTest.svelte +5 -5
  63. package/dist/components/combobox/components/combobox-content.svelte +4 -6
  64. package/dist/components/combobox/components/combobox-content.svelte.d.ts.map +1 -1
  65. package/dist/components/combobox/components/combobox-input.svelte +10 -15
  66. package/dist/components/combobox/components/combobox-input.svelte.d.ts.map +1 -1
  67. package/dist/components/combobox/components/combobox-item.svelte +5 -8
  68. package/dist/components/combobox/components/combobox-item.svelte.d.ts.map +1 -1
  69. package/dist/components/combobox/components/combobox-root.svelte +13 -18
  70. package/dist/components/combobox/components/combobox-root.svelte.d.ts.map +1 -1
  71. package/dist/components/combobox/index.d.ts +1 -1
  72. package/dist/components/combobox/index.d.ts.map +1 -1
  73. package/dist/components/command/__tests__/CommandTest.svelte +19 -10
  74. package/dist/components/command/__tests__/command.a11y.test.js +1 -1
  75. package/dist/components/command/command.svelte.d.ts.map +1 -1
  76. package/dist/components/command/command.svelte.js +20 -10
  77. package/dist/components/command/components/command-empty.svelte +2 -2
  78. package/dist/components/command/components/command-group.svelte +6 -4
  79. package/dist/components/command/components/command-group.svelte.d.ts.map +1 -1
  80. package/dist/components/command/components/command-input.svelte +27 -14
  81. package/dist/components/command/components/command-input.svelte.d.ts.map +1 -1
  82. package/dist/components/command/components/command-item.svelte +12 -7
  83. package/dist/components/command/components/command-item.svelte.d.ts.map +1 -1
  84. package/dist/components/command/components/command-list.svelte +2 -7
  85. package/dist/components/command/components/command-root.svelte +18 -10
  86. package/dist/components/command/components/command-root.svelte.d.ts.map +1 -1
  87. package/dist/components/command/components/command-separator.svelte +2 -2
  88. package/dist/components/context-menu/__tests__/ContextMenuNonInteractiveTest.svelte +2 -4
  89. package/dist/components/context-menu/__tests__/ContextMenuTest.svelte +1 -1
  90. package/dist/components/context-menu/__tests__/context-menu.test.svelte.js +4 -1
  91. package/dist/components/context-menu/components/context-menu-content.svelte +7 -10
  92. package/dist/components/context-menu/components/context-menu-content.svelte.d.ts.map +1 -1
  93. package/dist/components/context-menu/components/context-menu-root.svelte +7 -2
  94. package/dist/components/context-menu/components/context-menu-root.svelte.d.ts.map +1 -1
  95. package/dist/components/context-menu/components/context-menu-trigger.svelte +13 -13
  96. package/dist/components/context-menu/index.d.ts +1 -1
  97. package/dist/components/context-menu/index.d.ts.map +1 -1
  98. package/dist/components/context-menu/types.d.ts +1 -1
  99. package/dist/components/context-menu/types.d.ts.map +1 -1
  100. package/dist/components/date-field/__tests__/DateFieldTest.svelte +1 -1
  101. package/dist/components/date-field/__tests__/date-field.test.svelte.js +5 -5
  102. package/dist/components/date-field/components/date-field-root.svelte +55 -55
  103. package/dist/components/date-field/types.d.ts +14 -14
  104. package/dist/components/date-field/types.d.ts.map +1 -1
  105. package/dist/components/date-picker/__tests__/DatePickerTest.svelte +2 -8
  106. package/dist/components/date-picker/__tests__/date-picker.test.svelte.js +10 -9
  107. package/dist/components/date-picker/components/date-picker-root.svelte +38 -31
  108. package/dist/components/date-picker/components/date-picker-root.svelte.d.ts.map +1 -1
  109. package/dist/components/date-range-field/__tests__/DateRangeFieldTest.svelte +1 -1
  110. package/dist/components/date-range-field/__tests__/date-range-field.test.svelte.js +3 -3
  111. package/dist/components/date-range-field/components/date-range-field-root.svelte +5 -5
  112. package/dist/components/date-range-picker/__tests__/DateRangePickerTest.svelte +2 -7
  113. package/dist/components/date-range-picker/__tests__/date-range-picker.test.svelte.js +11 -11
  114. package/dist/components/date-range-picker/components/date-range-picker-root.svelte +40 -32
  115. package/dist/components/date-range-picker/components/date-range-picker-root.svelte.d.ts.map +1 -1
  116. package/dist/components/dialog/__tests__/DialogTest.svelte +11 -4
  117. package/dist/components/dialog/__tests__/dialog.test.svelte.js +11 -0
  118. package/dist/components/dialog/components/dialog-close.svelte +2 -2
  119. package/dist/components/dialog/components/dialog-content.svelte +73 -13
  120. package/dist/components/dialog/components/dialog-content.svelte.d.ts.map +1 -1
  121. package/dist/components/dialog/components/dialog-description.svelte +1 -1
  122. package/dist/components/dialog/components/dialog-overlay.svelte +8 -6
  123. package/dist/components/dialog/components/dialog-overlay.svelte.d.ts.map +1 -1
  124. package/dist/components/dialog/components/dialog-root.svelte +4 -2
  125. package/dist/components/dialog/components/dialog-root.svelte.d.ts.map +1 -1
  126. package/dist/components/dialog/components/dialog-title.svelte +6 -2
  127. package/dist/components/dialog/components/dialog-trigger.svelte +3 -3
  128. package/dist/components/dialog/index.d.ts +1 -1
  129. package/dist/components/dialog/index.d.ts.map +1 -1
  130. package/dist/components/dialog/types.d.ts +12 -0
  131. package/dist/components/dialog/types.d.ts.map +1 -1
  132. package/dist/components/drop-zone/drop-zone.svelte +12 -18
  133. package/dist/components/drop-zone/drop-zone.svelte.d.ts.map +1 -1
  134. package/dist/components/dropdown-menu/__tests__/DropdownMenuTest.svelte +1 -1
  135. package/dist/components/dropdown-menu/components/dropdown-menu-checkbox-item.svelte +19 -8
  136. package/dist/components/dropdown-menu/components/dropdown-menu-checkbox-item.svelte.d.ts.map +1 -1
  137. package/dist/components/dropdown-menu/components/dropdown-menu-content.svelte +8 -12
  138. package/dist/components/dropdown-menu/components/dropdown-menu-content.svelte.d.ts.map +1 -1
  139. package/dist/components/dropdown-menu/components/dropdown-menu-item.svelte +4 -6
  140. package/dist/components/dropdown-menu/components/dropdown-menu-item.svelte.d.ts.map +1 -1
  141. package/dist/components/dropdown-menu/components/dropdown-menu-label.svelte +1 -1
  142. package/dist/components/dropdown-menu/components/dropdown-menu-root.svelte +7 -2
  143. package/dist/components/dropdown-menu/components/dropdown-menu-root.svelte.d.ts.map +1 -1
  144. package/dist/components/dropdown-menu/components/dropdown-menu-separator.svelte +2 -2
  145. package/dist/components/dropdown-menu/components/dropdown-menu-sub-content.svelte +5 -8
  146. package/dist/components/dropdown-menu/components/dropdown-menu-sub-content.svelte.d.ts.map +1 -1
  147. package/dist/components/dropdown-menu/components/dropdown-menu-sub-trigger.svelte +19 -14
  148. package/dist/components/dropdown-menu/components/dropdown-menu-sub-trigger.svelte.d.ts.map +1 -1
  149. package/dist/components/dropdown-menu/components/dropdown-menu-sub.svelte +19 -7
  150. package/dist/components/dropdown-menu/components/dropdown-menu-sub.svelte.d.ts.map +1 -1
  151. package/dist/components/dropdown-menu/components/dropdown-menu-trigger.svelte +5 -7
  152. package/dist/components/dropdown-menu/components/dropdown-menu-trigger.svelte.d.ts.map +1 -1
  153. package/dist/components/empty-state/empty-state.svelte +6 -6
  154. package/dist/components/fab/fab.svelte +2 -2
  155. package/dist/components/field/__tests__/FieldTest.svelte +2 -2
  156. package/dist/components/field/field-description.svelte +1 -1
  157. package/dist/components/field/field-error.svelte +2 -2
  158. package/dist/components/field/field-group.svelte +1 -1
  159. package/dist/components/field/field-label.svelte +2 -2
  160. package/dist/components/field/field-separator.svelte +4 -4
  161. package/dist/components/field/field.svelte +1 -1
  162. package/dist/components/grid-list/__tests__/GridListTest.svelte +2 -2
  163. package/dist/components/grid-list/components/grid-list-item.svelte +11 -17
  164. package/dist/components/grid-list/components/grid-list-item.svelte.d.ts.map +1 -1
  165. package/dist/components/grid-list/components/grid-list-root.svelte +32 -35
  166. package/dist/components/grid-list/components/grid-list-root.svelte.d.ts.map +1 -1
  167. package/dist/components/grid-list/grid-list.svelte.d.ts.map +1 -1
  168. package/dist/components/grid-list/grid-list.svelte.js +25 -15
  169. package/dist/components/grid-list/index.d.ts +1 -1
  170. package/dist/components/grid-list/index.d.ts.map +1 -1
  171. package/dist/components/grid-list/types.d.ts +21 -21
  172. package/dist/components/grid-list/types.d.ts.map +1 -1
  173. package/dist/components/hover-card/__tests__/HoverCardTest.svelte +3 -3
  174. package/dist/components/hover-card/components/hover-card-content.svelte +26 -12
  175. package/dist/components/hover-card/components/hover-card-content.svelte.d.ts.map +1 -1
  176. package/dist/components/hover-card/components/hover-card-root.svelte +10 -4
  177. package/dist/components/hover-card/components/hover-card-root.svelte.d.ts.map +1 -1
  178. package/dist/components/hover-card/components/hover-card-trigger.svelte +3 -4
  179. package/dist/components/hover-card/components/hover-card-trigger.svelte.d.ts.map +1 -1
  180. package/dist/components/indicator/indicator.svelte +5 -5
  181. package/dist/components/input/__tests__/input.test.svelte.js +29 -0
  182. package/dist/components/input/input.svelte +22 -5
  183. package/dist/components/label/label.svelte +2 -3
  184. package/dist/components/label/label.svelte.d.ts.map +1 -1
  185. package/dist/components/language-select/__tests__/languages.test.js +8 -8
  186. package/dist/components/language-select/language-select.svelte +23 -35
  187. package/dist/components/language-select/language-select.svelte.d.ts.map +1 -1
  188. package/dist/components/link-preview/__tests__/LinkPreviewTest.svelte +2 -2
  189. package/dist/components/link-preview/__tests__/link-preview.a11y.test.js +5 -1
  190. package/dist/components/link-preview/__tests__/link-preview.test.svelte.js +4 -1
  191. package/dist/components/link-preview/components/link-preview-content.svelte +16 -7
  192. package/dist/components/link-preview/components/link-preview-content.svelte.d.ts.map +1 -1
  193. package/dist/components/link-preview/components/link-preview-root.svelte +7 -2
  194. package/dist/components/link-preview/components/link-preview-root.svelte.d.ts.map +1 -1
  195. package/dist/components/link-preview/components/link-preview-trigger.svelte +15 -13
  196. package/dist/components/link-preview/components/link-preview-trigger.svelte.d.ts.map +1 -1
  197. package/dist/components/link-preview/index.d.ts +1 -1
  198. package/dist/components/link-preview/index.d.ts.map +1 -1
  199. package/dist/components/list/components/list-item.svelte +4 -4
  200. package/dist/components/list/components/list-root.svelte +2 -2
  201. package/dist/components/menubar/__tests__/MenubarTest.svelte +5 -5
  202. package/dist/components/menubar/__tests__/menubar.a11y.test.js +5 -1
  203. package/dist/components/menubar/components/menubar-content.svelte +36 -27
  204. package/dist/components/menubar/components/menubar-content.svelte.d.ts.map +1 -1
  205. package/dist/components/menubar/components/menubar-menu.svelte +7 -3
  206. package/dist/components/menubar/components/menubar-menu.svelte.d.ts.map +1 -1
  207. package/dist/components/menubar/components/menubar-root.svelte +12 -22
  208. package/dist/components/menubar/components/menubar-root.svelte.d.ts.map +1 -1
  209. package/dist/components/menubar/components/menubar-trigger.svelte +6 -8
  210. package/dist/components/menubar/components/menubar-trigger.svelte.d.ts.map +1 -1
  211. package/dist/components/meter/meter.svelte +6 -9
  212. package/dist/components/meter/meter.svelte.d.ts.map +1 -1
  213. package/dist/components/nav-bar/components/nav-bar-item.svelte +9 -12
  214. package/dist/components/nav-bar/components/nav-bar-item.svelte.d.ts.map +1 -1
  215. package/dist/components/nav-bar/components/nav-bar-root.svelte +3 -3
  216. package/dist/components/nav-drawer/components/nav-drawer-item.svelte +8 -11
  217. package/dist/components/nav-drawer/components/nav-drawer-item.svelte.d.ts.map +1 -1
  218. package/dist/components/nav-drawer/components/nav-drawer-root.svelte +11 -11
  219. package/dist/components/nav-drawer/components/nav-drawer-root.svelte.d.ts.map +1 -1
  220. package/dist/components/nav-rail/components/nav-rail-item.svelte +10 -12
  221. package/dist/components/nav-rail/components/nav-rail-item.svelte.d.ts.map +1 -1
  222. package/dist/components/nav-rail/components/nav-rail-root.svelte +4 -4
  223. package/dist/components/pagination/pagination.svelte +28 -33
  224. package/dist/components/pagination/pagination.svelte.d.ts.map +1 -1
  225. package/dist/components/pin-input/pin-input.svelte +21 -20
  226. package/dist/components/pin-input/pin-input.svelte.d.ts.map +1 -1
  227. package/dist/components/popover/__tests__/PopoverTest.svelte +2 -2
  228. package/dist/components/popover/components/popover-close.svelte +2 -2
  229. package/dist/components/popover/components/popover-content.svelte +48 -25
  230. package/dist/components/popover/components/popover-content.svelte.d.ts.map +1 -1
  231. package/dist/components/popover/components/popover-root.svelte +1 -1
  232. package/dist/components/popover/components/popover-trigger.svelte +4 -5
  233. package/dist/components/popover/components/popover-trigger.svelte.d.ts.map +1 -1
  234. package/dist/components/progress/progress.svelte +3 -3
  235. package/dist/components/radio-group/components/radio-group-item.svelte +8 -9
  236. package/dist/components/radio-group/components/radio-group-item.svelte.d.ts.map +1 -1
  237. package/dist/components/radio-group/components/radio-group-root.svelte +6 -5
  238. package/dist/components/radio-group/components/radio-group-root.svelte.d.ts.map +1 -1
  239. package/dist/components/range-calendar/__tests__/RangeCalendarTest.svelte +1 -1
  240. package/dist/components/range-calendar/__tests__/range-calendar.test.svelte.js +4 -1
  241. package/dist/components/range-calendar/components/range-calendar-grid.svelte +16 -17
  242. package/dist/components/range-calendar/components/range-calendar-grid.svelte.d.ts.map +1 -1
  243. package/dist/components/range-calendar/components/range-calendar-header.svelte +29 -13
  244. package/dist/components/range-calendar/components/range-calendar-root.svelte +42 -17
  245. package/dist/components/range-calendar/components/range-calendar-root.svelte.d.ts.map +1 -1
  246. package/dist/components/range-calendar/range-calendar.svelte.d.ts.map +1 -1
  247. package/dist/components/range-calendar/range-calendar.svelte.js +54 -24
  248. package/dist/components/rating-group/rating-group.svelte +17 -23
  249. package/dist/components/rating-group/rating-group.svelte.d.ts.map +1 -1
  250. package/dist/components/scroll-area/scroll-area.svelte +22 -28
  251. package/dist/components/scroll-area/scroll-area.svelte.d.ts.map +1 -1
  252. package/dist/components/search-field/__tests__/SearchFieldTest.svelte +3 -3
  253. package/dist/components/search-field/__tests__/search-field.test.svelte.js +28 -0
  254. package/dist/components/search-field/search-field.svelte +44 -18
  255. package/dist/components/search-field/types.d.ts +7 -7
  256. package/dist/components/search-field/types.d.ts.map +1 -1
  257. package/dist/components/select/__tests__/SelectLabelPersistenceTest.svelte +6 -8
  258. package/dist/components/select/__tests__/SelectTest.svelte +1 -1
  259. package/dist/components/select/components/select-content.svelte +13 -16
  260. package/dist/components/select/components/select-content.svelte.d.ts.map +1 -1
  261. package/dist/components/select/components/select-item.svelte +14 -16
  262. package/dist/components/select/components/select-item.svelte.d.ts.map +1 -1
  263. package/dist/components/select/components/select-root.svelte +9 -12
  264. package/dist/components/select/components/select-root.svelte.d.ts.map +1 -1
  265. package/dist/components/select/components/select-trigger.svelte +20 -12
  266. package/dist/components/select/components/select-trigger.svelte.d.ts.map +1 -1
  267. package/dist/components/separator/separator.svelte +1 -1
  268. package/dist/components/sheet/__tests__/SheetTest.svelte +2 -2
  269. package/dist/components/sheet/components/sheet-close.svelte +2 -2
  270. package/dist/components/sheet/components/sheet-content.svelte +12 -11
  271. package/dist/components/sheet/components/sheet-content.svelte.d.ts.map +1 -1
  272. package/dist/components/sheet/components/sheet-description.svelte +1 -1
  273. package/dist/components/sheet/components/sheet-overlay.svelte +8 -6
  274. package/dist/components/sheet/components/sheet-overlay.svelte.d.ts.map +1 -1
  275. package/dist/components/sheet/components/sheet-root.svelte +4 -2
  276. package/dist/components/sheet/components/sheet-root.svelte.d.ts.map +1 -1
  277. package/dist/components/sheet/components/sheet-title.svelte +7 -6
  278. package/dist/components/sheet/components/sheet-trigger.svelte +3 -3
  279. package/dist/components/side-sheet/__tests__/side-sheet.test.svelte.js +3 -1
  280. package/dist/components/side-sheet/side-sheet.svelte +5 -5
  281. package/dist/components/sidebar/__tests__/SidebarFullTest.svelte +7 -7
  282. package/dist/components/sidebar/__tests__/SidebarTest.svelte +2 -2
  283. package/dist/components/sidebar/__tests__/sidebar.test.svelte.js +9 -5
  284. package/dist/components/sidebar/components/sidebar-content.svelte +1 -1
  285. package/dist/components/sidebar/components/sidebar-footer.svelte +1 -1
  286. package/dist/components/sidebar/components/sidebar-group-content.svelte +1 -1
  287. package/dist/components/sidebar/components/sidebar-group-label.svelte +1 -1
  288. package/dist/components/sidebar/components/sidebar-group.svelte +1 -1
  289. package/dist/components/sidebar/components/sidebar-header.svelte +1 -1
  290. package/dist/components/sidebar/components/sidebar-inset.svelte +1 -1
  291. package/dist/components/sidebar/components/sidebar-menu-action.svelte +11 -4
  292. package/dist/components/sidebar/components/sidebar-menu-action.svelte.d.ts.map +1 -1
  293. package/dist/components/sidebar/components/sidebar-menu-button.svelte +8 -4
  294. package/dist/components/sidebar/components/sidebar-menu-item.svelte +1 -1
  295. package/dist/components/sidebar/components/sidebar-menu-sub-button.svelte +5 -3
  296. package/dist/components/sidebar/components/sidebar-menu-sub-item.svelte +1 -1
  297. package/dist/components/sidebar/components/sidebar-menu-sub.svelte +1 -1
  298. package/dist/components/sidebar/components/sidebar-menu.svelte +1 -1
  299. package/dist/components/sidebar/components/sidebar-provider.svelte +5 -3
  300. package/dist/components/sidebar/components/sidebar-provider.svelte.d.ts.map +1 -1
  301. package/dist/components/sidebar/components/sidebar-root.svelte +6 -4
  302. package/dist/components/sidebar/components/sidebar-separator.svelte +1 -1
  303. package/dist/components/sidebar/components/sidebar-trigger.svelte +13 -5
  304. package/dist/components/sidebar/sidebar.svelte.d.ts.map +1 -1
  305. package/dist/components/sidebar/sidebar.svelte.js +9 -3
  306. package/dist/components/simple-dialog/__tests__/SimpleDialogTest.svelte +16 -5
  307. package/dist/components/simple-dialog/__tests__/simple-dialog.test.svelte.js +5 -0
  308. package/dist/components/simple-dialog/simple-dialog.svelte +9 -8
  309. package/dist/components/simple-dialog/simple-dialog.svelte.d.ts.map +1 -1
  310. package/dist/components/simple-dialog/types.d.ts +3 -0
  311. package/dist/components/simple-dialog/types.d.ts.map +1 -1
  312. package/dist/components/simple-tooltip/__tests__/SimpleTooltipTest.svelte +2 -2
  313. package/dist/components/simple-tooltip/__tests__/simple-tooltip.test.svelte.js +1 -0
  314. package/dist/components/simple-tooltip/simple-tooltip.svelte +1 -1
  315. package/dist/components/slider/slider.svelte +11 -15
  316. package/dist/components/slider/slider.svelte.d.ts.map +1 -1
  317. package/dist/components/slider/types.d.ts +10 -10
  318. package/dist/components/slider/types.d.ts.map +1 -1
  319. package/dist/components/sortable-list/__tests__/SortableListTest.svelte +9 -2
  320. package/dist/components/sortable-list/__tests__/sortable-list.test.svelte.js +13 -7
  321. package/dist/components/sortable-list/components/sortable-list-handle.svelte +20 -25
  322. package/dist/components/sortable-list/components/sortable-list-handle.svelte.d.ts.map +1 -1
  323. package/dist/components/sortable-list/components/sortable-list-indicator.svelte +11 -16
  324. package/dist/components/sortable-list/components/sortable-list-indicator.svelte.d.ts.map +1 -1
  325. package/dist/components/sortable-list/components/sortable-list-item.svelte +5 -9
  326. package/dist/components/sortable-list/components/sortable-list-item.svelte.d.ts.map +1 -1
  327. package/dist/components/sortable-list/components/sortable-list-root.svelte +3 -3
  328. package/dist/components/sortable-list/sortable-list.svelte.d.ts.map +1 -1
  329. package/dist/components/sortable-list/sortable-list.svelte.js +8 -10
  330. package/dist/components/sortable-list/types.d.ts +15 -15
  331. package/dist/components/sortable-list/types.d.ts.map +1 -1
  332. package/dist/components/splitter/splitter.svelte +21 -30
  333. package/dist/components/splitter/splitter.svelte.d.ts.map +1 -1
  334. package/dist/components/switch/switch.svelte +11 -11
  335. package/dist/components/switch/switch.svelte.d.ts.map +1 -1
  336. package/dist/components/table/components/table-body.svelte +1 -1
  337. package/dist/components/table/components/table-cell.svelte +23 -35
  338. package/dist/components/table/components/table-cell.svelte.d.ts.map +1 -1
  339. package/dist/components/table/components/table-header.svelte +1 -1
  340. package/dist/components/table/components/table-resize-handle.svelte +7 -10
  341. package/dist/components/table/components/table-resize-handle.svelte.d.ts.map +1 -1
  342. package/dist/components/table/components/table-root.svelte +26 -22
  343. package/dist/components/table/components/table-row.svelte +5 -4
  344. package/dist/components/table/components/table-row.svelte.d.ts.map +1 -1
  345. package/dist/components/table/table.svelte.d.ts.map +1 -1
  346. package/dist/components/table/table.svelte.js +6 -2
  347. package/dist/components/tabs/__tests__/TabsTest.svelte +7 -7
  348. package/dist/components/tabs/__tests__/tabs.test.svelte.js +4 -1
  349. package/dist/components/tabs/components/tabs-content.svelte +2 -2
  350. package/dist/components/tabs/components/tabs-list.svelte +10 -13
  351. package/dist/components/tabs/components/tabs-list.svelte.d.ts.map +1 -1
  352. package/dist/components/tabs/components/tabs-root.svelte +1 -1
  353. package/dist/components/tabs/components/tabs-trigger.svelte +4 -5
  354. package/dist/components/tabs/components/tabs-trigger.svelte.d.ts.map +1 -1
  355. package/dist/components/textarea/__tests__/textarea.test.svelte.js +29 -0
  356. package/dist/components/textarea/textarea.svelte +14 -1
  357. package/dist/components/time-field/__tests__/TimeFieldTest.svelte +1 -1
  358. package/dist/components/time-field/__tests__/time-field.test.svelte.js +6 -8
  359. package/dist/components/time-field/components/time-field-root.svelte +67 -73
  360. package/dist/components/time-field/components/time-field-root.svelte.d.ts.map +1 -1
  361. package/dist/components/time-field/index.d.ts +1 -1
  362. package/dist/components/time-field/index.d.ts.map +1 -1
  363. package/dist/components/time-field/time-field.svelte.d.ts.map +1 -1
  364. package/dist/components/time-field/types.d.ts +13 -13
  365. package/dist/components/time-field/types.d.ts.map +1 -1
  366. package/dist/components/time-range-field/__tests__/TimeRangeFieldTest.svelte +1 -1
  367. package/dist/components/time-range-field/__tests__/time-range-field.test.svelte.js +4 -4
  368. package/dist/components/time-range-field/components/time-range-field-root.svelte +5 -5
  369. package/dist/components/time-range-field/types.d.ts +1 -1
  370. package/dist/components/time-range-field/types.d.ts.map +1 -1
  371. package/dist/components/toast/toast.svelte +15 -15
  372. package/dist/components/toggle/toggle.svelte +3 -4
  373. package/dist/components/toggle/toggle.svelte.d.ts.map +1 -1
  374. package/dist/components/toggle-group/components/toggle-group-item.svelte +3 -4
  375. package/dist/components/toggle-group/components/toggle-group-item.svelte.d.ts.map +1 -1
  376. package/dist/components/toggle-group/components/toggle-group-root.svelte +7 -11
  377. package/dist/components/toggle-group/components/toggle-group-root.svelte.d.ts.map +1 -1
  378. package/dist/components/toggle-group/types.d.ts.map +1 -1
  379. package/dist/components/toolbar/__tests__/ToolbarCompositionTest.svelte +7 -7
  380. package/dist/components/toolbar/__tests__/ToolbarTabstopTest.svelte +5 -5
  381. package/dist/components/toolbar/toolbar-group.svelte +3 -8
  382. package/dist/components/toolbar/toolbar-group.svelte.d.ts.map +1 -1
  383. package/dist/components/toolbar/toolbar-separator.svelte +2 -3
  384. package/dist/components/toolbar/toolbar-separator.svelte.d.ts.map +1 -1
  385. package/dist/components/toolbar/toolbar.svelte +17 -23
  386. package/dist/components/toolbar/toolbar.svelte.d.ts.map +1 -1
  387. package/dist/components/tooltip/__tests__/TooltipTest.svelte +1 -1
  388. package/dist/components/tooltip/components/tooltip-content.svelte +20 -15
  389. package/dist/components/tooltip/components/tooltip-content.svelte.d.ts.map +1 -1
  390. package/dist/components/tooltip/components/tooltip-provider.svelte +8 -3
  391. package/dist/components/tooltip/components/tooltip-provider.svelte.d.ts.map +1 -1
  392. package/dist/components/tooltip/components/tooltip-root.svelte +1 -1
  393. package/dist/components/tooltip/components/tooltip-trigger.svelte +15 -13
  394. package/dist/components/tooltip/components/tooltip-trigger.svelte.d.ts.map +1 -1
  395. package/dist/components/tooltip/index.d.ts +1 -1
  396. package/dist/components/tooltip/index.d.ts.map +1 -1
  397. package/dist/components/tooltip/tooltip-provider.svelte.d.ts.map +1 -1
  398. package/dist/components/tree/__tests__/TreeLabelContentTest.svelte +7 -7
  399. package/dist/components/tree/__tests__/TreeTest.svelte +7 -7
  400. package/dist/components/tree/components/tree-item.svelte +22 -26
  401. package/dist/components/tree/components/tree-item.svelte.d.ts.map +1 -1
  402. package/dist/components/tree/components/tree-root.svelte +2 -2
  403. package/dist/components/tree/tree.svelte.d.ts.map +1 -1
  404. package/dist/components/tree/types.d.ts +9 -9
  405. package/dist/components/tree/types.d.ts.map +1 -1
  406. package/dist/components/virtualizer/__tests__/waterfall-layout.test.js +1 -1
  407. package/dist/components/virtualizer/components/virtualizer-root.svelte +8 -17
  408. package/dist/components/virtualizer/components/virtualizer-root.svelte.d.ts.map +1 -1
  409. package/dist/index.d.ts +2 -2
  410. package/dist/index.d.ts.map +1 -1
  411. package/dist/index.js +1 -1
  412. package/dist/internal/announcer/announcer.svelte.d.ts.map +1 -1
  413. package/dist/internal/date-time/calendar-helpers.d.ts.map +1 -1
  414. package/dist/internal/date-time/formatter.d.ts.map +1 -1
  415. package/dist/internal/date-time/types.d.ts.map +1 -1
  416. package/dist/internal/date-time/types.js +4 -1
  417. package/dist/internal/date-time/utils.d.ts +2 -2
  418. package/dist/internal/date-time/utils.d.ts.map +1 -1
  419. package/dist/internal/date-time/utils.js +2 -2
  420. package/dist/internal/dismissible-layer/dismissible-layer.svelte.d.ts.map +1 -1
  421. package/dist/internal/dismissible-layer/dismissible-layer.svelte.js +6 -6
  422. package/dist/internal/drag-drop/__tests__/auto-scroll.test.js +6 -2
  423. package/dist/internal/drag-drop/__tests__/drag-session.test.svelte.js +9 -4
  424. package/dist/internal/drag-drop/__tests__/drop-delegate.test.js +18 -10
  425. package/dist/internal/drag-drop/auto-scroll.svelte.d.ts.map +1 -1
  426. package/dist/internal/drag-drop/auto-scroll.svelte.js +12 -8
  427. package/dist/internal/drag-drop/drag-session.svelte.d.ts.map +1 -1
  428. package/dist/internal/drag-drop/drag-session.svelte.js +41 -17
  429. package/dist/internal/drag-drop/drag-source.svelte.d.ts.map +1 -1
  430. package/dist/internal/drag-drop/drop-delegate.svelte.d.ts.map +1 -1
  431. package/dist/internal/drag-drop/drop-delegate.svelte.js +3 -3
  432. package/dist/internal/drag-drop/drop-target.svelte.d.ts.map +1 -1
  433. package/dist/internal/drag-drop/keyboard-dnd.svelte.d.ts.map +1 -1
  434. package/dist/internal/escape-layer/escape-layer.svelte.d.ts.map +1 -1
  435. package/dist/internal/escape-layer/escape-layer.svelte.js +2 -2
  436. package/dist/internal/floating-layer/floating-layer.svelte.d.ts.map +1 -1
  437. package/dist/internal/floating-layer/types.d.ts.map +1 -1
  438. package/dist/internal/focus-scope/focus-scope.svelte.d.ts.map +1 -1
  439. package/dist/internal/grace-area/grace-area.svelte.d.ts.map +1 -1
  440. package/dist/internal/grace-area/grace-area.svelte.js +1 -1
  441. package/dist/internal/helpers/arrays.d.ts.map +1 -1
  442. package/dist/internal/helpers/dom.d.ts.map +1 -1
  443. package/dist/internal/helpers/dom.js +2 -2
  444. package/dist/internal/helpers/merge-props.d.ts.map +1 -1
  445. package/dist/internal/i18n/languages.d.ts.map +1 -1
  446. package/dist/internal/i18n/languages.js +2 -2
  447. package/dist/internal/portal/__tests__/PortalTest.svelte +3 -3
  448. package/dist/internal/portal/portal-consumer.svelte +1 -1
  449. package/dist/internal/portal/portal.svelte +7 -3
  450. package/dist/internal/portal/portal.svelte.d.ts.map +1 -1
  451. package/dist/internal/presence-layer/presence-layer.svelte.d.ts.map +1 -1
  452. package/dist/internal/roving-focus/roving-focus.svelte.d.ts.map +1 -1
  453. package/dist/internal/roving-focus/roving-focus.svelte.js +2 -2
  454. package/dist/internal/scroll-lock/scroll-lock.svelte.d.ts.map +1 -1
  455. package/dist/internal/text-selection-layer/text-selection-layer.svelte.d.ts.map +1 -1
  456. package/dist/internal/typeahead/typeahead.svelte.d.ts.map +1 -1
  457. package/dist/internal/typeahead/typeahead.svelte.js +1 -1
  458. package/package.json +1 -1
  459. package/src/fonts.css +2 -2
  460. package/src/themes/__tests__/carbon-dark-contrast.test.ts +4 -3
  461. package/src/themes/carbon.css +104 -107
  462. package/src/themes/day.css +104 -106
  463. package/src/themes/docs.css +104 -106
  464. package/src/themes/iris-ocr.css +104 -108
  465. package/src/themes/midnight.css +104 -107
  466. package/src/themes/spectral-components.css +3 -1
  467. package/src/themes/spectral.css +116 -111
@@ -1 +1 @@
1
- {"version":3,"file":"hover-card-trigger.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/hover-card/components/hover-card-trigger.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAyBxD,QAAA,MAAM,gBAAgB,2DAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"hover-card-trigger.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/hover-card/components/hover-card-trigger.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAwBxD,QAAA,MAAM,gBAAgB,2DAAwC,CAAC;AAC/D,KAAK,gBAAgB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC5D,eAAe,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
- <script lang='ts'>
1
+ <script lang="ts">
2
2
  import type { IndicatorProps } from './types.js'
3
3
 
4
4
  const { status = 'neutral', label, class: className, children }: IndicatorProps = $props()
@@ -6,14 +6,14 @@
6
6
 
7
7
  <span
8
8
  class="sp-indicator {status} {className ?? ''}"
9
- role='status'
10
- aria-live='polite'
9
+ role="status"
10
+ aria-live="polite"
11
11
  aria-label={label}
12
12
  data-status={status}
13
13
  >
14
- <span class='sp-indicator-dot'></span>
14
+ <span class="sp-indicator-dot"></span>
15
15
  {#if children}
16
- <span class='sp-indicator-label'>{@render children()}</span>
16
+ <span class="sp-indicator-label">{@render children()}</span>
17
17
  {/if}
18
18
  </span>
19
19
 
@@ -1,6 +1,10 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import { dirname, resolve } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
1
4
  import { mount, unmount } from 'svelte';
2
5
  import { afterEach, describe, expect, it } from 'vitest';
3
6
  import Input from '../input.svelte';
7
+ const componentSource = readFileSync(resolve(dirname(fileURLToPath(import.meta.url)), '../input.svelte'), 'utf8');
4
8
  describe('input', () => {
5
9
  let target;
6
10
  let instance;
@@ -35,4 +39,29 @@ describe('input', () => {
35
39
  setup({ placeholder: 'Enter email' });
36
40
  expect(target.querySelector('input')?.getAttribute('placeholder')).toBe('Enter email');
37
41
  });
42
+ // ── iOS Safari focus-zoom contract ────────────────────────────────
43
+ // Real WebKit focus-zoom cannot be reproduced in jsdom. These tests
44
+ // lock the CSS contract that prevents the regression on `size="sm"` :
45
+ // the `sm` typography stays token-driven for desktop, and a clamp to
46
+ // >= 1rem is applied on coarse pointers (touch / iOS). Other sizes
47
+ // inherit the base 1rem and are already iOS-safe.
48
+ describe('iOS Safari focus-zoom contract (size="sm")', () => {
49
+ it('keeps fine-pointer typography on the body-medium token', () => {
50
+ expect(componentSource).toMatch(/\.sp-input\.sm\s*\{[^}]*font-size:\s*var\(--sp-sys-typescale-body-medium-size[^}]*\}/);
51
+ });
52
+ it('clamps the sm input to at least 1rem on coarse pointers', () => {
53
+ expect(componentSource).toMatch(/@media\s*\(pointer:\s*coarse\)\s*\{[\s\S]*?\.sp-input\.sm\s*\{[^}]*font-size:\s*max\(1rem,[^)]*\)[\s\S]*?\}/);
54
+ });
55
+ it('only the sm variant is targeted by the coarse-pointer clamp', () => {
56
+ // The clamp must target `.sp-input.sm` and only `.sp-input.sm`. Other
57
+ // sizes inherit the base 1rem and must not get an override.
58
+ const coarseRules = [
59
+ ...componentSource.matchAll(/@media\s*\(pointer:\s*coarse\)\s*\{[^}]*\{/g),
60
+ ];
61
+ expect(coarseRules.length).toBe(1);
62
+ expect(coarseRules[0][0]).toContain('.sp-input.sm');
63
+ expect(coarseRules[0][0]).not.toContain('.sp-input.md');
64
+ expect(coarseRules[0][0]).not.toContain('.sp-input.lg');
65
+ });
66
+ });
38
67
  });
@@ -1,4 +1,4 @@
1
- <script lang='ts'>
1
+ <script lang="ts">
2
2
  import type { InputProps } from './types.js'
3
3
 
4
4
  let {
@@ -26,7 +26,8 @@
26
26
  .sp-input {
27
27
  display: block;
28
28
  width: 100%;
29
- border: var(--sp-comp-input-outline-width, 1px) solid var(--sp-comp-input-outline-color, var(--sp-sys-color-outline));
29
+ border: var(--sp-comp-input-outline-width, 1px) solid
30
+ var(--sp-comp-input-outline-color, var(--sp-sys-color-outline));
30
31
  background-color: var(--sp-comp-input-container-color, transparent);
31
32
  color: var(--sp-comp-input-text-color, var(--sp-sys-color-on-surface));
32
33
  caret-color: var(--sp-comp-input-caret-color, currentColor);
@@ -48,6 +49,19 @@
48
49
  font-size: var(--sp-sys-typescale-body-medium-size, 0.875rem);
49
50
  }
50
51
 
52
+ /* iOS Safari focus zoom : WebKit auto-zooms the viewport when a focused
53
+ form control's computed font-size is < 16px. The `sm` size renders
54
+ at `body-medium` (14px by default), which crosses that threshold.
55
+ Clamp to at least 1rem on coarse pointers (touch / iOS) so dense
56
+ forms on mobile stay usable; `max()` preserves any theme that may
57
+ override `--sp-sys-typescale-body-medium-size` upward. Other sizes
58
+ inherit the base 1rem and are already iOS-safe. */
59
+ @media (pointer: coarse) {
60
+ .sp-input.sm {
61
+ font-size: max(1rem, var(--sp-sys-typescale-body-medium-size, 0.875rem));
62
+ }
63
+ }
64
+
51
65
  .sp-input.md {
52
66
  height: calc(48px + var(--sp-sys-density-offset, 0px));
53
67
  }
@@ -65,19 +79,22 @@
65
79
  /* Compensate for the extra border pixels so the element doesn't shift.
66
80
  Works out to `1rem - 1px` by default; 0 when outline tokens are equal (e.g. both 0). */
67
81
  padding-inline: calc(
68
- 1rem - (var(--sp-comp-input-focus-outline-width, 2px) - var(--sp-comp-input-outline-width, 1px))
82
+ 1rem -
83
+ (var(--sp-comp-input-focus-outline-width, 2px) - var(--sp-comp-input-outline-width, 1px))
69
84
  );
70
85
  }
71
86
 
72
87
  .sp-input.sm:focus {
73
88
  padding-inline: calc(
74
- 0.75rem - (var(--sp-comp-input-focus-outline-width, 2px) - var(--sp-comp-input-outline-width, 1px))
89
+ 0.75rem -
90
+ (var(--sp-comp-input-focus-outline-width, 2px) - var(--sp-comp-input-outline-width, 1px))
75
91
  );
76
92
  }
77
93
 
78
94
  .sp-input.lg:focus {
79
95
  padding-inline: calc(
80
- 1.25rem - (var(--sp-comp-input-focus-outline-width, 2px) - var(--sp-comp-input-outline-width, 1px))
96
+ 1.25rem -
97
+ (var(--sp-comp-input-focus-outline-width, 2px) - var(--sp-comp-input-outline-width, 1px))
81
98
  );
82
99
  }
83
100
 
@@ -1,11 +1,10 @@
1
- <script lang='ts'>
1
+ <script lang="ts">
2
2
  import type { LabelProps } from './types.js'
3
3
 
4
4
  const { class: className, children, ...restProps }: LabelProps = $props()
5
5
 
6
6
  function onmousedown(event: MouseEvent) {
7
- if (event.detail > 1)
8
- event.preventDefault()
7
+ if (event.detail > 1) event.preventDefault()
9
8
  }
10
9
  </script>
11
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"label.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/label/label.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAqB7C,QAAA,MAAM,KAAK,gDAAwC,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"label.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/label/label.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAoB7C,QAAA,MAAM,KAAK,gDAAwC,CAAC;AACpD,KAAK,KAAK,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC;AACtC,eAAe,KAAK,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import { describe, expect, it } from 'vitest';
2
- import { getLanguage, getLanguages, LANGUAGES, } from '../../../internal/i18n/languages.js';
2
+ import { getLanguage, getLanguages, LANGUAGES } from '../../../internal/i18n/languages.js';
3
3
  describe('i18n/languages', () => {
4
4
  describe('languages list', () => {
5
5
  it('contains the 16 curated languages', () => {
6
6
  expect(LANGUAGES).toHaveLength(16);
7
7
  });
8
8
  it('exposes valid BCP 47 codes', () => {
9
- const codes = LANGUAGES.map(l => l.code);
9
+ const codes = LANGUAGES.map((l) => l.code);
10
10
  expect(codes).toEqual([
11
11
  'en',
12
12
  'fr',
@@ -27,9 +27,9 @@ describe('i18n/languages', () => {
27
27
  ]);
28
28
  });
29
29
  it('marks ar and ur as rtl and the rest as ltr', () => {
30
- const rtl = LANGUAGES.filter(l => l.dir === 'rtl').map(l => l.code);
30
+ const rtl = LANGUAGES.filter((l) => l.dir === 'rtl').map((l) => l.code);
31
31
  expect(rtl).toEqual(['ar', 'ur']);
32
- const ltr = LANGUAGES.filter(l => l.dir === 'ltr').map(l => l.code);
32
+ const ltr = LANGUAGES.filter((l) => l.dir === 'ltr').map((l) => l.code);
33
33
  expect(ltr).toHaveLength(14);
34
34
  });
35
35
  it('has a non-empty nativeName and englishName for each entry', () => {
@@ -42,22 +42,22 @@ describe('i18n/languages', () => {
42
42
  expect(Object.isFrozen(LANGUAGES)).toBe(true);
43
43
  });
44
44
  it('has no duplicate codes', () => {
45
- const codes = LANGUAGES.map(l => l.code);
45
+ const codes = LANGUAGES.map((l) => l.code);
46
46
  expect(new Set(codes).size).toBe(codes.length);
47
47
  });
48
48
  });
49
49
  describe('getLanguages', () => {
50
50
  it('returns the requested subset in the requested order', () => {
51
51
  const result = getLanguages(['fr', 'en', 'de']);
52
- expect(result.map(l => l.code)).toEqual(['fr', 'en', 'de']);
52
+ expect(result.map((l) => l.code)).toEqual(['fr', 'en', 'de']);
53
53
  });
54
54
  it('preserves user-specified order even when reversed vs LANGUAGES', () => {
55
55
  const result = getLanguages(['de', 'en', 'fr']);
56
- expect(result.map(l => l.code)).toEqual(['de', 'en', 'fr']);
56
+ expect(result.map((l) => l.code)).toEqual(['de', 'en', 'fr']);
57
57
  });
58
58
  it('silently drops unknown codes', () => {
59
59
  const result = getLanguages(['fr', 'xx', 'en']);
60
- expect(result.map(l => l.code)).toEqual(['fr', 'en']);
60
+ expect(result.map((l) => l.code)).toEqual(['fr', 'en']);
61
61
  });
62
62
  it('returns [] for an empty input', () => {
63
63
  expect(getLanguages([])).toEqual([]);
@@ -1,4 +1,4 @@
1
- <script lang='ts'>
1
+ <script lang="ts">
2
2
  import type { LanguageOption } from '../../internal/i18n/languages.js'
3
3
  import type { LanguageSelectProps } from './types.js'
4
4
  import { LANGUAGES } from '../../internal/i18n/languages.js'
@@ -23,9 +23,8 @@
23
23
  // ── Shared helpers ────────────────────────────────────────────────────────
24
24
 
25
25
  function nativeNameFor(code: string | undefined): string {
26
- if (!code)
27
- return ''
28
- return items.find(l => l.code === code)?.nativeName ?? ''
26
+ if (!code) return ''
27
+ return items.find((l) => l.code === code)?.nativeName ?? ''
29
28
  }
30
29
 
31
30
  // ── Combobox variant — composite value trick ─────────────────────────────
@@ -48,9 +47,8 @@
48
47
  }
49
48
 
50
49
  function compositeFor(code: string | undefined): string {
51
- if (!code)
52
- return ''
53
- const item = items.find(l => l.code === code)
50
+ if (!code) return ''
51
+ const item = items.find((l) => l.code === code)
54
52
  return item ? toComposite(item) : ''
55
53
  }
56
54
 
@@ -72,44 +70,36 @@
72
70
  // External `value` → internal state, only when value genuinely changed
73
71
  // from outside (i.e. differs from the last code we synced).
74
72
  $effect(() => {
75
- if (value === lastExternalCode)
76
- return
73
+ if (value === lastExternalCode) return
77
74
  lastExternalCode = value
78
75
  if (variant === 'select') {
79
76
  const v = value ?? ''
80
- if (selectValue !== v)
81
- selectValue = v
82
- }
83
- else {
77
+ if (selectValue !== v) selectValue = v
78
+ } else {
84
79
  const expected = compositeFor(value)
85
- if (compositeValue !== expected)
86
- compositeValue = expected
80
+ if (compositeValue !== expected) compositeValue = expected
87
81
  searchQuery = nativeNameFor(value)
88
82
  }
89
83
  })
90
84
 
91
85
  // Internal state → external `value`, only when user interaction moved it.
92
86
  $effect(() => {
93
- if (variant !== 'select')
94
- return
87
+ if (variant !== 'select') return
95
88
  const code: string | undefined = selectValue || undefined
96
89
  if (code !== lastExternalCode) {
97
90
  lastExternalCode = code
98
91
  value = code
99
- if (code !== undefined)
100
- onValueChange?.(code)
92
+ if (code !== undefined) onValueChange?.(code)
101
93
  }
102
94
  })
103
95
 
104
96
  $effect(() => {
105
- if (variant !== 'combobox')
106
- return
97
+ if (variant !== 'combobox') return
107
98
  const code: string | undefined = codeOf(compositeValue) || undefined
108
99
  if (code !== lastExternalCode) {
109
100
  lastExternalCode = code
110
101
  value = code
111
- if (code !== undefined)
112
- onValueChange?.(code)
102
+ if (code !== undefined) onValueChange?.(code)
113
103
  }
114
104
  })
115
105
 
@@ -118,8 +108,7 @@
118
108
  // the input reflects the current selection even though search is empty.
119
109
  if (open) {
120
110
  searchQuery = ''
121
- }
122
- else {
111
+ } else {
123
112
  const code = codeOf(compositeValue)
124
113
  searchQuery = nativeNameFor(code)
125
114
  }
@@ -128,25 +117,24 @@
128
117
 
129
118
  <div class="sp-language-select {className ?? ''}">
130
119
  {#if label}
131
- <span class='sp-language-select-label'>{label}</span>
120
+ <span class="sp-language-select-label">{label}</span>
132
121
  {/if}
133
122
 
134
123
  {#if variant === 'select'}
135
124
  <Select.Root bind:value={selectValue} {disabled} {name}>
136
- <Select.Trigger
137
- placeholder={placeholder || 'Select a language'}
138
- aria-label={label}
139
- >
125
+ <Select.Trigger placeholder={placeholder || 'Select a language'} aria-label={label}>
140
126
  {#if value && nativeNameFor(value)}
141
- <span class='sp-language-select-native sp-select-value' dir='auto'>{nativeNameFor(value)}</span>
127
+ <span class="sp-language-select-native sp-select-value" dir="auto"
128
+ >{nativeNameFor(value)}</span
129
+ >
142
130
  {:else}
143
- <span class='sp-select-value placeholder'>{placeholder || 'Select a language'}</span>
131
+ <span class="sp-select-value placeholder">{placeholder || 'Select a language'}</span>
144
132
  {/if}
145
133
  </Select.Trigger>
146
134
  <Select.Content {side} {sideOffset} {align}>
147
135
  {#each items as item (item.code)}
148
136
  <Select.Item value={item.code} label={item.nativeName}>
149
- <span class='sp-language-select-native' dir='auto'>{item.nativeName}</span>
137
+ <span class="sp-language-select-native" dir="auto">{item.nativeName}</span>
150
138
  </Select.Item>
151
139
  {/each}
152
140
  </Select.Content>
@@ -165,14 +153,14 @@
165
153
  <Combobox.Content {side} {sideOffset} {align}>
166
154
  {#each items as item (item.code)}
167
155
  <Combobox.Item value={toComposite(item)}>
168
- <span class='sp-language-select-native' dir='auto'>{item.nativeName}</span>
156
+ <span class="sp-language-select-native" dir="auto">{item.nativeName}</span>
169
157
  </Combobox.Item>
170
158
  {/each}
171
159
  </Combobox.Content>
172
160
  </Combobox.Root>
173
161
 
174
162
  {#if name && value}
175
- <input type='hidden' {name} {value} />
163
+ <input type="hidden" {name} {value} />
176
164
  {/if}
177
165
  {/if}
178
166
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"language-select.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/language-select/language-select.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAiLrD,QAAA,MAAM,cAAc,8DAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"language-select.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/language-select/language-select.svelte.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAsKrD,QAAA,MAAM,cAAc,8DAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -1,4 +1,4 @@
1
- <script lang='ts'>
1
+ <script lang="ts">
2
2
  import LinkPreviewContent from '../components/link-preview-content.svelte'
3
3
  import LinkPreviewRoot from '../components/link-preview-root.svelte'
4
4
  import LinkPreviewTrigger from '../components/link-preview-trigger.svelte'
@@ -29,7 +29,7 @@
29
29
 
30
30
  <div bind:this={rootEl}>
31
31
  <LinkPreviewRoot {openDelay} {closeDelay}>
32
- <LinkPreviewTrigger href='https://example.com'>Example Link</LinkPreviewTrigger>
32
+ <LinkPreviewTrigger href="https://example.com">Example Link</LinkPreviewTrigger>
33
33
  <LinkPreviewContent {disablePortal} class={contentClass}>
34
34
  <p>Preview of example.com</p>
35
35
  </LinkPreviewContent>
@@ -5,7 +5,11 @@ import * as matchers from 'vitest-axe/matchers';
5
5
  import LinkPreviewTest from './LinkPreviewTest.svelte';
6
6
  expect.extend(matchers);
7
7
  const axe = configureAxe({
8
- rules: { 'region': { enabled: false }, 'page-has-heading-one': { enabled: false }, 'landmark-one-main': { enabled: false } },
8
+ rules: {
9
+ region: { enabled: false },
10
+ 'page-has-heading-one': { enabled: false },
11
+ 'landmark-one-main': { enabled: false },
12
+ },
9
13
  });
10
14
  describe('link-preview a11y', () => {
11
15
  let cleanup;
@@ -191,7 +191,10 @@ describe('link-preview', () => {
191
191
  vi.useFakeTimers();
192
192
  const localTarget = document.createElement('div');
193
193
  document.body.appendChild(localTarget);
194
- const localInstance = mount(LinkPreviewTest, { target: localTarget, props: { openDelay: 0, closeDelay: 0 } });
194
+ const localInstance = mount(LinkPreviewTest, {
195
+ target: localTarget,
196
+ props: { openDelay: 0, closeDelay: 0 },
197
+ });
195
198
  flushSync();
196
199
  try {
197
200
  const trigger = localTarget.querySelector('.sp-link-preview-trigger');
@@ -1,4 +1,4 @@
1
- <script lang='ts'>
1
+ <script lang="ts">
2
2
  import type { LinkPreviewContentProps } from '../types.js'
3
3
  import { EscapeLayerState } from '../../../internal/escape-layer/index.js'
4
4
  import { FloatingLayerState } from '../../../internal/floating-layer/index.js'
@@ -20,7 +20,9 @@
20
20
  let contentEl: HTMLElement | undefined = $state()
21
21
 
22
22
  const presence = new PresenceLayerState({
23
- get present() { return ctx.open },
23
+ get present() {
24
+ return ctx.open
25
+ },
24
26
  })
25
27
 
26
28
  const escapeLayer = new EscapeLayerState({
@@ -33,9 +35,15 @@
33
35
  const floating = new FloatingLayerState({
34
36
  reference: null,
35
37
  floating: null,
36
- get side() { return side },
37
- get sideOffset() { return sideOffset },
38
- get align() { return align },
38
+ get side() {
39
+ return side
40
+ },
41
+ get sideOffset() {
42
+ return sideOffset
43
+ },
44
+ get align() {
45
+ return align
46
+ },
39
47
  avoidCollisions: true,
40
48
  })
41
49
 
@@ -67,7 +75,7 @@
67
75
  bind:this={contentEl}
68
76
  class="sp-link-preview-content {className ?? ''}"
69
77
  id={ctx.contentId}
70
- role='dialog'
78
+ role="dialog"
71
79
  tabindex={-1}
72
80
  data-state={ctx.open ? 'open' : 'closed'}
73
81
  data-side={side}
@@ -92,7 +100,8 @@
92
100
  pointer-events: auto;
93
101
  transition:
94
102
  opacity var(--sp-sys-motion-duration-medium1, 250ms) var(--sp-sys-motion-easing-effects, ease),
95
- transform var(--sp-sys-motion-duration-medium1, 250ms) var(--sp-sys-motion-easing-emphasized, ease);
103
+ transform var(--sp-sys-motion-duration-medium1, 250ms)
104
+ var(--sp-sys-motion-easing-emphasized, ease);
96
105
  }
97
106
 
98
107
  .sp-link-preview-content[data-state='closed'] {
@@ -1 +1 @@
1
- {"version":3,"file":"link-preview-content.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/link-preview/components/link-preview-content.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAmF1D,QAAA,MAAM,kBAAkB,6DAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"link-preview-content.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/link-preview/components/link-preview-content.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AA2F1D,QAAA,MAAM,kBAAkB,6DAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
@@ -1,8 +1,13 @@
1
- <script lang='ts'>
1
+ <script lang="ts">
2
2
  import type { LinkPreviewProps } from '../types.js'
3
3
  import { createLinkPreviewIds, setLinkPreviewContext } from '../link-preview.svelte.js'
4
4
 
5
- const { openDelay = 700, closeDelay = 300, class: className, children }: LinkPreviewProps = $props()
5
+ const {
6
+ openDelay = 700,
7
+ closeDelay = 300,
8
+ class: className,
9
+ children,
10
+ }: LinkPreviewProps = $props()
6
11
 
7
12
  const ids = createLinkPreviewIds()
8
13
  let open = $state(false)
@@ -1 +1 @@
1
- {"version":3,"file":"link-preview-root.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/link-preview/components/link-preview-root.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AA4DnD,QAAA,MAAM,eAAe,sDAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"link-preview-root.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/link-preview/components/link-preview-root.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAiEnD,QAAA,MAAM,eAAe,sDAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
@@ -1,4 +1,4 @@
1
- <script lang='ts'>
1
+ <script lang="ts">
2
2
  import type { LinkPreviewTriggerProps } from '../types.js'
3
3
  import { GraceAreaState } from '../../../internal/grace-area/index.js'
4
4
  import { isBrowser } from '../../../internal/helpers/index.js'
@@ -10,9 +10,15 @@
10
10
  let el: HTMLElement | undefined = $state()
11
11
 
12
12
  const graceArea = new GraceAreaState({
13
- get triggerElement() { return el ?? null },
14
- get contentElement() { return ctx.contentEl },
15
- get enabled() { return ctx.open },
13
+ get triggerElement() {
14
+ return el ?? null
15
+ },
16
+ get contentElement() {
17
+ return ctx.contentEl
18
+ },
19
+ get enabled() {
20
+ return ctx.open
21
+ },
16
22
  })
17
23
 
18
24
  let graceAreaListener: (() => void) | null = null
@@ -24,8 +30,7 @@
24
30
  cleanupGraceListener()
25
31
  const handler = (e: MouseEvent) => {
26
32
  const point = { x: e.clientX, y: e.clientY }
27
- if (graceArea.isPointInGraceArea(point))
28
- return
33
+ if (graceArea.isPointInGraceArea(point)) return
29
34
  cleanupGraceListener()
30
35
  ctx.hide()
31
36
  }
@@ -38,8 +43,7 @@
38
43
  ctx.hide()
39
44
  }
40
45
  }, 500)
41
- }
42
- else {
46
+ } else {
43
47
  ctx.hide()
44
48
  }
45
49
  }
@@ -53,13 +57,11 @@
53
57
  }
54
58
 
55
59
  $effect(() => {
56
- if (el)
57
- ctx.setTriggerEl(el)
60
+ if (el) ctx.setTriggerEl(el)
58
61
  })
59
62
 
60
63
  $effect(() => {
61
- if (!ctx.open)
62
- cleanupGraceListener()
64
+ if (!ctx.open) cleanupGraceListener()
63
65
  })
64
66
  </script>
65
67
 
@@ -67,7 +69,7 @@
67
69
  bind:this={el}
68
70
  class="sp-link-preview-trigger {className ?? ''}"
69
71
  {href}
70
- aria-haspopup='dialog'
72
+ aria-haspopup="dialog"
71
73
  aria-expanded={ctx.open}
72
74
  aria-controls={ctx.open ? ctx.contentId : undefined}
73
75
  onmouseenter={() => {
@@ -1 +1 @@
1
- {"version":3,"file":"link-preview-trigger.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/link-preview/components/link-preview-trigger.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AA+E1D,QAAA,MAAM,kBAAkB,6DAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"link-preview-trigger.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/components/link-preview/components/link-preview-trigger.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAiF1D,QAAA,MAAM,kBAAkB,6DAAwC,CAAC;AACjE,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAChE,eAAe,kBAAkB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { default as Content } from './components/link-preview-content.svelte';
2
2
  export { default as Root } from './components/link-preview-root.svelte';
3
3
  export { default as Trigger } from './components/link-preview-trigger.svelte';
4
- export type { LinkPreviewContentProps, LinkPreviewProps, LinkPreviewTriggerProps, } from './types.js';
4
+ export type { LinkPreviewContentProps, LinkPreviewProps, LinkPreviewTriggerProps } from './types.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/components/link-preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,0CAA0C,CAAA;AAC7E,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,uCAAuC,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,0CAA0C,CAAA;AAC7E,YAAY,EACV,uBAAuB,EACvB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/components/link-preview/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,0CAA0C,CAAA;AAC7E,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,uCAAuC,CAAA;AACvE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,0CAA0C,CAAA;AAC7E,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA"}
@@ -1,4 +1,4 @@
1
- <script lang='ts'>
1
+ <script lang="ts">
2
2
  import type { ListItemProps } from '../types.js'
3
3
 
4
4
  const {
@@ -25,13 +25,13 @@
25
25
  data-state={active ? 'active' : undefined}
26
26
  >
27
27
  {#if leading}
28
- <span class='sp-list-item-leading'>{@render leading()}</span>
28
+ <span class="sp-list-item-leading">{@render leading()}</span>
29
29
  {/if}
30
- <span class='sp-list-item-content'>
30
+ <span class="sp-list-item-content">
31
31
  {#if children}{@render children()}{/if}
32
32
  </span>
33
33
  {#if trailing}
34
- <span class='sp-list-item-trailing'>{@render trailing()}</span>
34
+ <span class="sp-list-item-trailing">{@render trailing()}</span>
35
35
  {/if}
36
36
  </li>
37
37
 
@@ -1,10 +1,10 @@
1
- <script lang='ts'>
1
+ <script lang="ts">
2
2
  import type { ListProps } from '../types.js'
3
3
 
4
4
  const { density = 'standard', class: className, children }: ListProps = $props()
5
5
  </script>
6
6
 
7
- <ul class="sp-list {density} {className ?? ''}" role='list' data-density={density}>
7
+ <ul class="sp-list {density} {className ?? ''}" role="list" data-density={density}>
8
8
  {#if children}{@render children()}{/if}
9
9
  </ul>
10
10
 
@@ -1,4 +1,4 @@
1
- <script lang='ts'>
1
+ <script lang="ts">
2
2
  import DropdownMenuItem from '../../dropdown-menu/components/dropdown-menu-item.svelte'
3
3
  import DropdownMenuSeparator from '../../dropdown-menu/components/dropdown-menu-separator.svelte'
4
4
  import MenubarContent from '../components/menubar-content.svelte'
@@ -6,11 +6,11 @@
6
6
  import MenubarRoot from '../components/menubar-root.svelte'
7
7
  import MenubarTrigger from '../components/menubar-trigger.svelte'
8
8
 
9
- const { loop = true, portalTo }: { loop?: boolean, portalTo?: HTMLElement | string } = $props()
9
+ const { loop = true, portalTo }: { loop?: boolean; portalTo?: HTMLElement | string } = $props()
10
10
  </script>
11
11
 
12
12
  <MenubarRoot {loop}>
13
- <MenubarMenu value='file'>
13
+ <MenubarMenu value="file">
14
14
  <MenubarTrigger>File</MenubarTrigger>
15
15
  <MenubarContent {portalTo}>
16
16
  <DropdownMenuItem>New</DropdownMenuItem>
@@ -19,14 +19,14 @@
19
19
  <DropdownMenuItem>Save</DropdownMenuItem>
20
20
  </MenubarContent>
21
21
  </MenubarMenu>
22
- <MenubarMenu value='edit'>
22
+ <MenubarMenu value="edit">
23
23
  <MenubarTrigger>Edit</MenubarTrigger>
24
24
  <MenubarContent {portalTo}>
25
25
  <DropdownMenuItem>Undo</DropdownMenuItem>
26
26
  <DropdownMenuItem>Redo</DropdownMenuItem>
27
27
  </MenubarContent>
28
28
  </MenubarMenu>
29
- <MenubarMenu value='view'>
29
+ <MenubarMenu value="view">
30
30
  <MenubarTrigger>View</MenubarTrigger>
31
31
  <MenubarContent {portalTo}>
32
32
  <DropdownMenuItem>Zoom In</DropdownMenuItem>