@lilydesignsystem/svelte-headless 0.6.1 → 0.6.2

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 (268) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/LICENSE.md +8 -8
  3. package/README.md +453 -0
  4. package/dist/components/AccordionLink/AccordionLink.svelte +12 -2
  5. package/dist/components/AccordionLink/AccordionLink.svelte.d.ts +4 -0
  6. package/dist/components/ActionBar/ActionBar.svelte +2 -2
  7. package/dist/components/ActionGroup/ActionGroup.svelte +31 -7
  8. package/dist/components/ActionGroup/ActionGroup.svelte.d.ts +4 -4
  9. package/dist/components/AddressographBox/AddressographBox.svelte +5 -1
  10. package/dist/components/AiLabel/AiLabel.svelte +2 -2
  11. package/dist/components/Alert/Alert.svelte +1 -3
  12. package/dist/components/AlertDialog/AlertDialog.svelte +2 -3
  13. package/dist/components/Answer/Answer.svelte +5 -1
  14. package/dist/components/AreaChart/AreaChart.svelte +5 -1
  15. package/dist/components/AsSaudiyahRaqmAlHuwiyahAlWataniyahInput/AsSaudiyahRaqmAlHuwiyahAlWataniyahInput.svelte +55 -0
  16. package/dist/components/AsSaudiyahRaqmAlHuwiyahAlWataniyahInput/AsSaudiyahRaqmAlHuwiyahAlWataniyahInput.svelte.d.ts +10 -0
  17. package/dist/components/AsSaudiyahRaqmAlHuwiyahAlWataniyahView/AsSaudiyahRaqmAlHuwiyahAlWataniyahView.svelte +40 -0
  18. package/dist/components/AsSaudiyahRaqmAlHuwiyahAlWataniyahView/AsSaudiyahRaqmAlHuwiyahAlWataniyahView.svelte.d.ts +8 -0
  19. package/dist/components/AustraliaTaxFileNumberInput/AustraliaTaxFileNumberInput.svelte +55 -0
  20. package/dist/components/AustraliaTaxFileNumberInput/AustraliaTaxFileNumberInput.svelte.d.ts +10 -0
  21. package/dist/components/AustraliaTaxFileNumberView/AustraliaTaxFileNumberView.svelte +40 -0
  22. package/dist/components/AustraliaTaxFileNumberView/AustraliaTaxFileNumberView.svelte.d.ts +8 -0
  23. package/dist/components/Autosuggest/Autosuggest.svelte +175 -8
  24. package/dist/components/Autosuggest/Autosuggest.svelte.d.ts +18 -4
  25. package/dist/components/AvatarGroup/AvatarGroup.svelte +5 -1
  26. package/dist/components/BarChart/BarChart.svelte +5 -1
  27. package/dist/components/BarcodeImage/BarcodeImage.svelte +7 -1
  28. package/dist/components/BreadcrumbLink/BreadcrumbLink.svelte +12 -2
  29. package/dist/components/BreadcrumbLink/BreadcrumbLink.svelte.d.ts +4 -0
  30. package/dist/components/Byline/Byline.svelte +4 -1
  31. package/dist/components/CandlestickChart/CandlestickChart.svelte +5 -1
  32. package/dist/components/Caption/Caption.svelte +1 -0
  33. package/dist/components/CareCard/CareCard.svelte +1 -0
  34. package/dist/components/Cascader/Cascader.svelte +7 -1
  35. package/dist/components/ChatComposer/ChatComposer.svelte +6 -3
  36. package/dist/components/ChatList/ChatList.svelte +6 -2
  37. package/dist/components/ChatListItem/ChatListItem.svelte +10 -2
  38. package/dist/components/ChatListItem/ChatListItem.svelte.d.ts +2 -0
  39. package/dist/components/ChatMessage/ChatMessage.svelte +6 -2
  40. package/dist/components/ChatNav/ChatNav.svelte +6 -2
  41. package/dist/components/CheckListItem/CheckListItem.svelte +4 -1
  42. package/dist/components/CheckboxGroup/CheckboxGroup.svelte +1 -0
  43. package/dist/components/ChoroplethChart/ChoroplethChart.svelte +5 -1
  44. package/dist/components/Citation/Citation.svelte +6 -2
  45. package/dist/components/Coachmark/Coachmark.svelte +20 -10
  46. package/dist/components/Code/Code.svelte +6 -2
  47. package/dist/components/CodeBlock/CodeBlock.svelte +6 -2
  48. package/dist/components/CollectionListItem/CollectionListItem.svelte +1 -1
  49. package/dist/components/ColombiaCedulaDeCiudadaniaInput/ColombiaCedulaDeCiudadaniaInput.svelte +55 -0
  50. package/dist/components/ColombiaCedulaDeCiudadaniaInput/ColombiaCedulaDeCiudadaniaInput.svelte.d.ts +10 -0
  51. package/dist/components/ColombiaCedulaDeCiudadaniaView/ColombiaCedulaDeCiudadaniaView.svelte +40 -0
  52. package/dist/components/ColombiaCedulaDeCiudadaniaView/ColombiaCedulaDeCiudadaniaView.svelte.d.ts +8 -0
  53. package/dist/components/ColumnChart/ColumnChart.svelte +5 -1
  54. package/dist/components/Combobox/Combobox.svelte +11 -9
  55. package/dist/components/Comment/Comment.svelte +5 -1
  56. package/dist/components/ComposedChart/ComposedChart.svelte +5 -1
  57. package/dist/components/ContentsListItem/ContentsListItem.svelte +4 -1
  58. package/dist/components/ContentsNav/ContentsNav.svelte +56 -36
  59. package/dist/components/ContextMenu/ContextMenu.svelte +19 -17
  60. package/dist/components/ContextualHelp/ContextualHelp.svelte +55 -26
  61. package/dist/components/ContextualHelp/ContextualHelp.svelte.d.ts +4 -2
  62. package/dist/components/ConvertDiv/ConvertDiv.svelte +3 -1
  63. package/dist/components/ConvertFromDiv/ConvertFromDiv.svelte +0 -1
  64. package/dist/components/ConvertFromUnitDiv/ConvertFromUnitDiv.svelte +0 -1
  65. package/dist/components/ConvertFromValueDiv/ConvertFromValueDiv.svelte +0 -1
  66. package/dist/components/ConvertIntoDiv/ConvertIntoDiv.svelte +0 -1
  67. package/dist/components/ConvertIntoUnitDiv/ConvertIntoUnitDiv.svelte +0 -1
  68. package/dist/components/ConvertIntoValueDiv/ConvertIntoValueDiv.svelte +0 -1
  69. package/dist/components/CurrencyInput/CurrencyInput.svelte +61 -8
  70. package/dist/components/CurrencyInput/CurrencyInput.svelte.d.ts +9 -4
  71. package/dist/components/DateTimeNowInput/DateTimeNowInput.svelte +18 -16
  72. package/dist/components/DateTimeNowInput/DateTimeNowInput.svelte.d.ts +3 -3
  73. package/dist/components/DescriptionList/DescriptionList.svelte +0 -2
  74. package/dist/components/DescriptionListItem/DescriptionListItem.svelte +0 -2
  75. package/dist/components/DialGroup/DialGroup.svelte +5 -1
  76. package/dist/components/Dialog/Dialog.svelte +2 -2
  77. package/dist/components/Diff/Diff.svelte +5 -1
  78. package/dist/components/DigitalObjectIdentifierLink/DigitalObjectIdentifierLink.svelte +16 -7
  79. package/dist/components/DigitalObjectIdentifierLink/DigitalObjectIdentifierLink.svelte.d.ts +4 -2
  80. package/dist/components/DocumentList/DocumentList.svelte +0 -1
  81. package/dist/components/DocumentListItem/DocumentListItem.svelte +0 -2
  82. package/dist/components/Drawer/Drawer.svelte +35 -12
  83. package/dist/components/DropdownMenu/DropdownMenu.svelte +27 -16
  84. package/dist/components/EcuadorCedulaDeIdentidadInput/EcuadorCedulaDeIdentidadInput.svelte +55 -0
  85. package/dist/components/EcuadorCedulaDeIdentidadInput/EcuadorCedulaDeIdentidadInput.svelte.d.ts +10 -0
  86. package/dist/components/EcuadorCedulaDeIdentidadView/EcuadorCedulaDeIdentidadView.svelte +40 -0
  87. package/dist/components/EcuadorCedulaDeIdentidadView/EcuadorCedulaDeIdentidadView.svelte.d.ts +8 -0
  88. package/dist/components/EireIndividualHealthIdentifierView/EireIndividualHealthIdentifierView.svelte +2 -1
  89. package/dist/components/EspanaTarjetaSanitariaIndividualView/EspanaTarjetaSanitariaIndividualView.svelte +2 -1
  90. package/dist/components/Event/Event.svelte +6 -2
  91. package/dist/components/FeatureCard/FeatureCard.svelte +5 -1
  92. package/dist/components/FeaturePhoto/FeaturePhoto.svelte +4 -1
  93. package/dist/components/FileTree/FileTree.svelte +20 -5
  94. package/dist/components/FiveFaceRatingPicker/FiveFaceRatingPicker.svelte +3 -1
  95. package/dist/components/FiveFaceRatingPickerButton/FiveFaceRatingPickerButton.svelte +2 -2
  96. package/dist/components/FiveStarRatingPicker/FiveStarRatingPicker.svelte +3 -1
  97. package/dist/components/FiveStarRatingPickerButton/FiveStarRatingPickerButton.svelte +2 -2
  98. package/dist/components/FlexStack/FlexStack.svelte +3 -1
  99. package/dist/components/FloatingPanel/FloatingPanel.svelte +15 -13
  100. package/dist/components/FunnelChart/FunnelChart.svelte +5 -1
  101. package/dist/components/GaugeChart/GaugeChart.svelte +5 -1
  102. package/dist/components/GoToNextSection/GoToNextSection.svelte +2 -3
  103. package/dist/components/GoToPreviousSection/GoToPreviousSection.svelte +2 -3
  104. package/dist/components/GoToTop/GoToTop.svelte +0 -2
  105. package/dist/components/GrailLayoutBottomFooter/GrailLayoutBottomFooter.svelte +4 -1
  106. package/dist/components/GrailLayoutCenterMain/GrailLayoutCenterMain.svelte +4 -1
  107. package/dist/components/GrailLayoutLeftAside/GrailLayoutLeftAside.svelte +4 -1
  108. package/dist/components/GrailLayoutRightAside/GrailLayoutRightAside.svelte +4 -1
  109. package/dist/components/GrailLayoutTopHeader/GrailLayoutTopHeader.svelte +4 -1
  110. package/dist/components/GraphicBlock/GraphicBlock.svelte +1 -1
  111. package/dist/components/Grid/Grid.svelte +12 -3
  112. package/dist/components/Grid/Grid.svelte.d.ts +2 -0
  113. package/dist/components/Headline/Headline.svelte +4 -1
  114. package/dist/components/HeatmapChart/HeatmapChart.svelte +5 -1
  115. package/dist/components/HeatmapChartWithYearOfDays/HeatmapChartWithYearOfDays.svelte +5 -1
  116. package/dist/components/Hero/Hero.svelte +6 -2
  117. package/dist/components/HongKongIdentityCardInput/HongKongIdentityCardInput.svelte +55 -0
  118. package/dist/components/HongKongIdentityCardInput/HongKongIdentityCardInput.svelte.d.ts +10 -0
  119. package/dist/components/HongKongIdentityCardView/HongKongIdentityCardView.svelte +40 -0
  120. package/dist/components/HongKongIdentityCardView/HongKongIdentityCardView.svelte.d.ts +8 -0
  121. package/dist/components/HorizontalScroller/HorizontalScroller.svelte +1 -0
  122. package/dist/components/HoverCard/HoverCard.svelte +14 -13
  123. package/dist/components/IconListItem/IconListItem.svelte +4 -1
  124. package/dist/components/InputWithMask/InputWithMask.svelte +4 -1
  125. package/dist/components/IranKodEMelliInput/IranKodEMelliInput.svelte +55 -0
  126. package/dist/components/IranKodEMelliInput/IranKodEMelliInput.svelte.d.ts +10 -0
  127. package/dist/components/IranKodEMelliView/IranKodEMelliView.svelte +40 -0
  128. package/dist/components/IranKodEMelliView/IranKodEMelliView.svelte.d.ts +8 -0
  129. package/dist/components/Kbd/Kbd.svelte +5 -1
  130. package/dist/components/KbdShortcut/KbdShortcut.svelte +9 -2
  131. package/dist/components/LineChart/LineChart.svelte +5 -1
  132. package/dist/components/Listbox/Listbox.svelte +22 -117
  133. package/dist/components/Listbox/listbox-machine.d.ts +81 -0
  134. package/dist/components/Listbox/listbox-machine.js +116 -0
  135. package/dist/components/Listbox/search-text.d.ts +22 -0
  136. package/dist/components/Listbox/search-text.js +56 -0
  137. package/dist/components/Listbox/typeahead.d.ts +19 -0
  138. package/dist/components/Listbox/typeahead.js +39 -0
  139. package/dist/components/Loading/Loading.svelte +5 -1
  140. package/dist/components/MalaysiaKadPengenalanInput/MalaysiaKadPengenalanInput.svelte +55 -0
  141. package/dist/components/MalaysiaKadPengenalanInput/MalaysiaKadPengenalanInput.svelte.d.ts +10 -0
  142. package/dist/components/MalaysiaKadPengenalanView/MalaysiaKadPengenalanView.svelte +40 -0
  143. package/dist/components/MalaysiaKadPengenalanView/MalaysiaKadPengenalanView.svelte.d.ts +8 -0
  144. package/dist/components/Mark/Mark.svelte +0 -2
  145. package/dist/components/MentionsInput/MentionsInput.svelte +14 -2
  146. package/dist/components/Menu/Menu.svelte +1 -3
  147. package/dist/components/MenuBar/MenuBar.svelte +1 -3
  148. package/dist/components/MenuGroup/MenuGroup.svelte +6 -1
  149. package/dist/components/MiddleTruncation/MiddleTruncation.svelte +13 -3
  150. package/dist/components/MockupBrowser/MockupBrowser.svelte +5 -1
  151. package/dist/components/MockupLaptop/MockupLaptop.svelte +5 -1
  152. package/dist/components/MockupPhonePortrait/MockupPhonePortrait.svelte +5 -1
  153. package/dist/components/MockupShell/MockupShell.svelte +5 -1
  154. package/dist/components/MockupTabletLandscape/MockupTabletLandscape.svelte +5 -1
  155. package/dist/components/MockupTabletPortrait/MockupTabletPortrait.svelte +5 -1
  156. package/dist/components/MockupWatch/MockupWatch.svelte +5 -1
  157. package/dist/components/MockupWindow/MockupWindow.svelte +5 -1
  158. package/dist/components/MutuallyExclusive/MutuallyExclusive.svelte +0 -1
  159. package/dist/components/NavigationMenu/NavigationMenu.svelte +51 -3
  160. package/dist/components/NavigationMenu/NavigationMenu.svelte.d.ts +4 -0
  161. package/dist/components/NavigationMenu/overflow-navigation.d.ts +35 -0
  162. package/dist/components/NavigationMenu/overflow-navigation.js +133 -0
  163. package/dist/components/NetPromoterScorePicker/NetPromoterScorePicker.svelte +3 -1
  164. package/dist/components/NetPromoterScorePickerButton/NetPromoterScorePickerButton.svelte +2 -2
  165. package/dist/components/NigeriaNationalIdentificationNumberInput/NigeriaNationalIdentificationNumberInput.svelte +55 -0
  166. package/dist/components/NigeriaNationalIdentificationNumberInput/NigeriaNationalIdentificationNumberInput.svelte.d.ts +10 -0
  167. package/dist/components/NigeriaNationalIdentificationNumberView/NigeriaNationalIdentificationNumberView.svelte +40 -0
  168. package/dist/components/NigeriaNationalIdentificationNumberView/NigeriaNationalIdentificationNumberView.svelte.d.ts +8 -0
  169. package/dist/components/Organization/Organization.svelte +6 -2
  170. package/dist/components/PaginationLink/PaginationLink.svelte +12 -2
  171. package/dist/components/PaginationLink/PaginationLink.svelte.d.ts +4 -0
  172. package/dist/components/PakistanComputerizedNationalIdentityCardInput/PakistanComputerizedNationalIdentityCardInput.svelte +55 -0
  173. package/dist/components/PakistanComputerizedNationalIdentityCardInput/PakistanComputerizedNationalIdentityCardInput.svelte.d.ts +10 -0
  174. package/dist/components/PakistanComputerizedNationalIdentityCardView/PakistanComputerizedNationalIdentityCardView.svelte +40 -0
  175. package/dist/components/PakistanComputerizedNationalIdentityCardView/PakistanComputerizedNationalIdentityCardView.svelte.d.ts +8 -0
  176. package/dist/components/Person/Person.svelte +6 -2
  177. package/dist/components/PhaseBanner/PhaseBanner.svelte +0 -1
  178. package/dist/components/Pictogram/Pictogram.svelte +4 -1
  179. package/dist/components/Picture/Picture.svelte +27 -0
  180. package/dist/components/Picture/Picture.svelte.d.ts +9 -0
  181. package/dist/components/PieChart/PieChart.svelte +5 -1
  182. package/dist/components/Place/Place.svelte +6 -2
  183. package/dist/components/PopconfirmDialog/PopconfirmDialog.svelte +16 -3
  184. package/dist/components/Popover/Popover.svelte +39 -24
  185. package/dist/components/Popover/popover.d.ts +9 -0
  186. package/dist/components/Popover/popover.js +50 -0
  187. package/dist/components/Popup/Popup.svelte +40 -25
  188. package/dist/components/ProductCard/ProductCard.svelte +5 -1
  189. package/dist/components/ProgressBar/ProgressBar.svelte +0 -1
  190. package/dist/components/Question/Question.svelte +5 -1
  191. package/dist/components/RadarChart/RadarChart.svelte +5 -1
  192. package/dist/components/RedAmberGreenPickerButton/RedAmberGreenPickerButton.svelte +2 -2
  193. package/dist/components/RedOrangeYellowGreenBluePickerButton/RedOrangeYellowGreenBluePickerButton.svelte +2 -2
  194. package/dist/components/RelatedContent/RelatedContent.svelte +0 -1
  195. package/dist/components/Resizable/Resizable.svelte +1 -0
  196. package/dist/components/RingChart/RingChart.svelte +5 -1
  197. package/dist/components/SankeyChart/SankeyChart.svelte +5 -1
  198. package/dist/components/ScatterChart/ScatterChart.svelte +5 -1
  199. package/dist/components/ScreenReaderSpan/ScreenReaderSpan.svelte +6 -2
  200. package/dist/components/ScrollArea/ScrollArea.svelte +1 -0
  201. package/dist/components/ScrollBar/ScrollBar.svelte +78 -16
  202. package/dist/components/ScrollBar/ScrollBar.svelte.d.ts +13 -1
  203. package/dist/components/Scroller/Scroller.svelte +4 -1
  204. package/dist/components/ScrollerBase/ScrollerBase.svelte +1 -1
  205. package/dist/components/SectionLink/SectionLink.svelte +0 -2
  206. package/dist/components/SectionList/SectionList.svelte +0 -2
  207. package/dist/components/SectionListItem/SectionListItem.svelte +0 -2
  208. package/dist/components/SectionNav/SectionNav.svelte +0 -1
  209. package/dist/components/Separator/Separator.svelte +1 -0
  210. package/dist/components/Sheet/Sheet.svelte +32 -11
  211. package/dist/components/ShowMore/ShowMore.svelte +9 -2
  212. package/dist/components/SlideOutDrawer/SlideOutDrawer.svelte +33 -10
  213. package/dist/components/SliderButton/SliderButton.svelte +64 -6
  214. package/dist/components/SliderButton/SliderButton.svelte.d.ts +8 -2
  215. package/dist/components/SplitButton/SplitButton.svelte +29 -5
  216. package/dist/components/SplitButton/SplitButton.svelte.d.ts +3 -3
  217. package/dist/components/SplitView/SplitView.svelte +1 -0
  218. package/dist/components/Splitter/Splitter.svelte +1 -0
  219. package/dist/components/StatusLight/StatusLight.svelte +5 -8
  220. package/dist/components/StickyPromoBanner/StickyPromoBanner.svelte +1 -0
  221. package/dist/components/SunburstChart/SunburstChart.svelte +5 -1
  222. package/dist/components/SuperBanner/SuperBanner.svelte +5 -1
  223. package/dist/components/TabBar/TabBar.svelte +1 -3
  224. package/dist/components/Tag/Tag.svelte +10 -2
  225. package/dist/components/TaiwanGuominShenfenzhengTongyiBianhaoInput/TaiwanGuominShenfenzhengTongyiBianhaoInput.svelte +55 -0
  226. package/dist/components/TaiwanGuominShenfenzhengTongyiBianhaoInput/TaiwanGuominShenfenzhengTongyiBianhaoInput.svelte.d.ts +10 -0
  227. package/dist/components/TaiwanGuominShenfenzhengTongyiBianhaoView/TaiwanGuominShenfenzhengTongyiBianhaoView.svelte +40 -0
  228. package/dist/components/TaiwanGuominShenfenzhengTongyiBianhaoView/TaiwanGuominShenfenzhengTongyiBianhaoView.svelte.d.ts +8 -0
  229. package/dist/components/TaskBar/TaskBar.svelte +1 -3
  230. package/dist/components/TextAreaInput/TextAreaInput.svelte +1 -2
  231. package/dist/components/TextAreaInputWithCharacterCounter/TextAreaInputWithCharacterCounter.svelte +4 -3
  232. package/dist/components/ThemeProvider/ThemeProvider.svelte +3 -3
  233. package/dist/components/Tile/Tile.svelte +5 -1
  234. package/dist/components/TimerButton/TimerButton.svelte +55 -7
  235. package/dist/components/TimerButton/TimerButton.svelte.d.ts +9 -3
  236. package/dist/components/ToolBar/ToolBar.svelte +1 -3
  237. package/dist/components/ToolCallError/ToolCallError.svelte +0 -1
  238. package/dist/components/ToolCallName/ToolCallName.svelte +0 -2
  239. package/dist/components/Tooltip/Tooltip.svelte +14 -12
  240. package/dist/components/Tour/Tour.svelte +5 -4
  241. package/dist/components/TourList/TourList.svelte +10 -9
  242. package/dist/components/TourList/TourList.svelte.d.ts +2 -0
  243. package/dist/components/TransferList/TransferList.svelte +8 -2
  244. package/dist/components/TreeLink/TreeLink.svelte +12 -2
  245. package/dist/components/TreeLink/TreeLink.svelte.d.ts +4 -0
  246. package/dist/components/TreeList/TreeList.svelte +3 -3
  247. package/dist/components/TreeListItem/TreeListItem.svelte +9 -1
  248. package/dist/components/TreeMenu/TreeMenu.svelte +40 -1
  249. package/dist/components/TreeSelect/TreeSelect.svelte +10 -3
  250. package/dist/components/TuaisceartEireannHealthAndCareNumberView/TuaisceartEireannHealthAndCareNumberView.svelte +2 -1
  251. package/dist/components/UruguayCedulaDeIdentidadInput/UruguayCedulaDeIdentidadInput.svelte +55 -0
  252. package/dist/components/UruguayCedulaDeIdentidadInput/UruguayCedulaDeIdentidadInput.svelte.d.ts +10 -0
  253. package/dist/components/UruguayCedulaDeIdentidadView/UruguayCedulaDeIdentidadView.svelte +40 -0
  254. package/dist/components/UruguayCedulaDeIdentidadView/UruguayCedulaDeIdentidadView.svelte.d.ts +8 -0
  255. package/dist/components/VideoPlayer/VideoPlayer.svelte +6 -2
  256. package/dist/components/VietNamCanCuocCongDanInput/VietNamCanCuocCongDanInput.svelte +55 -0
  257. package/dist/components/VietNamCanCuocCongDanInput/VietNamCanCuocCongDanInput.svelte.d.ts +10 -0
  258. package/dist/components/VietNamCanCuocCongDanView/VietNamCanCuocCongDanView.svelte +40 -0
  259. package/dist/components/VietNamCanCuocCongDanView/VietNamCanCuocCongDanView.svelte.d.ts +8 -0
  260. package/dist/components/Visible/Visible.svelte +1 -1
  261. package/dist/components/WarningText/WarningText.svelte +48 -0
  262. package/dist/components/WarningText/WarningText.svelte.d.ts +13 -0
  263. package/dist/components/WheelPicker/WheelPicker.svelte +18 -4
  264. package/dist/components/WheelPicker/wheel-picker.js +18 -3
  265. package/dist/index.d.ts +26 -0
  266. package/dist/index.js +26 -0
  267. package/index.md +4 -4
  268. package/package.json +5 -5
@@ -13,6 +13,10 @@
13
13
  </script>
14
14
 
15
15
  <!-- AddressographBox.svelte -->
16
- <div class={`addressograph-box ${className}`} aria-label={label} {...restProps}>
16
+ <div
17
+ class={`addressograph-box ${className}`}
18
+ aria-label={label}
19
+ {...restProps}
20
+ >
17
21
  {@render children?.()}
18
22
  </div>
@@ -55,5 +55,5 @@
55
55
  <span
56
56
  class={`ai-label ${className}`}
57
57
  aria-label={label}
58
- {...restProps}
59
- >{text}</span>
58
+ {...restProps}>{text}</span
59
+ >
@@ -89,9 +89,7 @@
89
89
  } = $props();
90
90
 
91
91
  // Default aria-live based on role if not explicitly set
92
- let ariaLive = $derived(
93
- live ?? (role === "alert" ? "assertive" : "polite"),
94
- );
92
+ let ariaLive = $derived(live ?? (role === "alert" ? "assertive" : "polite"));
95
93
  </script>
96
94
 
97
95
  <!-- Alert.svelte -->
@@ -38,8 +38,8 @@
38
38
  // </AlertDialog>
39
39
  //
40
40
  // Keyboard:
41
- // - Escape: Consumer must implement via onkeydown to close the dialog
42
- // - Tab: Consumer should implement focus trapping within the dialog
41
+ // - Escape: closes the dialog (showModal(): the browser fires cancel; the component sets open to false)
42
+ // - Tab: stays inside the dialog (the browser traps it while the dialog is modal)
43
43
  //
44
44
  // Accessibility:
45
45
  // - role="alertdialog" signals critical content requiring acknowledgment
@@ -55,7 +55,6 @@
55
55
  //
56
56
  // Claude rules:
57
57
  // - Headless: no CSS, no styles — consumer provides all styling
58
- // - Consumer is responsible for focus trapping and Escape key handling
59
58
  // - The open prop must use $bindable() for two-way binding
60
59
  // - Do not use heading elements; use <p><strong> for the title
61
60
  // - Distinct from Dialog: use AlertDialog only for critical messages
@@ -13,6 +13,10 @@
13
13
  </script>
14
14
 
15
15
  <!-- Answer.svelte -->
16
- <div class={`answer ${className}`} aria-label={label} {...restProps}>
16
+ <div
17
+ class={`answer ${className}`}
18
+ aria-label={label}
19
+ {...restProps}
20
+ >
17
21
  {@render children?.()}
18
22
  </div>
@@ -52,7 +52,11 @@
52
52
  class={`area-chart ${className}`}
53
53
  {...restProps}
54
54
  >
55
- <div class="area-chart-graphic" role="img" aria-label={label}>
55
+ <div
56
+ class="area-chart-graphic"
57
+ role="img"
58
+ aria-label={label}
59
+ >
56
60
  {@render children?.()}
57
61
  </div>
58
62
  {#if dataTable}
@@ -0,0 +1,55 @@
1
+ <script lang="ts">
2
+ // AsSaudiyahRaqmAlHuwiyahAlWataniyahInput component
3
+ //
4
+ // A headless input for entering Saudi Arabia's National Identification Number.
5
+ // Format: Ten digits. The first digit is 1 for a Saudi citizen and 2 for a resident (the iqama number), and the last digit is a check digit under the Luhn algorithm: counting from the right, every second digit is doubled (subtracting 9 when the result exceeds 9), and the total must be a multiple of 10.
6
+ //
7
+ // Props:
8
+ // className — string, optional. CSS class name.
9
+ // label — string, required. Accessible label for screen readers via aria-label.
10
+ // value — string, default "". Bindable input value; supports bind:value.
11
+ // required — boolean, default false. Whether the input is required for form submission.
12
+ // disabled — boolean, default false. Whether the input is disabled.
13
+ // ...restProps — additional HTML attributes spread onto the <input>.
14
+ //
15
+ // Syntax:
16
+ // <AsSaudiyahRaqmAlHuwiyahAlWataniyahInput label="National Identification Number" bind:value />
17
+ //
18
+ // Accessibility:
19
+ // - aria-label provides the accessible name for screen readers
20
+ // - autocomplete="off" protects sensitive identifiers
21
+ // - required and disabled states are conveyed to assistive technology
22
+ //
23
+ // Internationalization:
24
+ // - The label prop externalizes user-facing text for translation
25
+ //
26
+ // References:
27
+ // - https://en.wikipedia.org/wiki/National_identity_card
28
+
29
+ let {
30
+ class: className = "",
31
+ label,
32
+ value = $bindable(""),
33
+ required = false,
34
+ disabled = false,
35
+ ...restProps
36
+ }: {
37
+ label: string;
38
+ value?: string;
39
+ required?: boolean;
40
+ disabled?: boolean;
41
+ [key: string]: unknown;
42
+ } = $props();
43
+ </script>
44
+
45
+ <!-- AsSaudiyahRaqmAlHuwiyahAlWataniyahInput.svelte -->
46
+ <input
47
+ class={`as-saudiyah-raqm-al-huwiyah-al-wataniyah-input ${className}`}
48
+ type="text"
49
+ aria-label={label}
50
+ autocomplete="off"
51
+ bind:value
52
+ {required}
53
+ {disabled}
54
+ {...restProps}
55
+ />
@@ -0,0 +1,10 @@
1
+ type $$ComponentProps = {
2
+ label: string;
3
+ value?: string;
4
+ required?: boolean;
5
+ disabled?: boolean;
6
+ [key: string]: unknown;
7
+ };
8
+ declare const AsSaudiyahRaqmAlHuwiyahAlWataniyahInput: import("svelte").Component<$$ComponentProps, {}, "value">;
9
+ type AsSaudiyahRaqmAlHuwiyahAlWataniyahInput = ReturnType<typeof AsSaudiyahRaqmAlHuwiyahAlWataniyahInput>;
10
+ export default AsSaudiyahRaqmAlHuwiyahAlWataniyahInput;
@@ -0,0 +1,40 @@
1
+ <script lang="ts">
2
+ // AsSaudiyahRaqmAlHuwiyahAlWataniyahView component
3
+ //
4
+ // A headless display component for showing Saudi Arabia's
5
+ // National Identification Number in a read-only format.
6
+ // Format: Ten digits. The first digit is 1 for a Saudi citizen and 2 for a resident (the iqama number), and the last digit is a check digit under the Luhn algorithm: counting from the right, every second digit is doubled (subtracting 9 when the result exceeds 9), and the total must be a multiple of 10.
7
+ //
8
+ // Props:
9
+ // className — string, optional. CSS class name.
10
+ // label — string, required. Accessible label for screen readers via aria-label.
11
+ // value — string, default "". The identifier string to display.
12
+ // ...restProps — additional HTML attributes spread onto the <span>.
13
+ //
14
+ // Syntax:
15
+ // <AsSaudiyahRaqmAlHuwiyahAlWataniyahView label="National Identification Number" value={value} />
16
+ //
17
+ // Accessibility:
18
+ // - aria-label provides the accessible name so screen readers announce the purpose
19
+ //
20
+ // References:
21
+ // - https://en.wikipedia.org/wiki/National_identity_card
22
+
23
+ let {
24
+ class: className = "",
25
+ label,
26
+ value = "",
27
+ ...restProps
28
+ }: {
29
+ label: string;
30
+ value?: string;
31
+ [key: string]: unknown;
32
+ } = $props();
33
+ </script>
34
+
35
+ <!-- AsSaudiyahRaqmAlHuwiyahAlWataniyahView.svelte -->
36
+ <span
37
+ class={`as-saudiyah-raqm-al-huwiyah-al-wataniyah-view ${className}`}
38
+ aria-label={label}
39
+ {...restProps}>{value}</span
40
+ >
@@ -0,0 +1,8 @@
1
+ type $$ComponentProps = {
2
+ label: string;
3
+ value?: string;
4
+ [key: string]: unknown;
5
+ };
6
+ declare const AsSaudiyahRaqmAlHuwiyahAlWataniyahView: import("svelte").Component<$$ComponentProps, {}, "">;
7
+ type AsSaudiyahRaqmAlHuwiyahAlWataniyahView = ReturnType<typeof AsSaudiyahRaqmAlHuwiyahAlWataniyahView>;
8
+ export default AsSaudiyahRaqmAlHuwiyahAlWataniyahView;
@@ -0,0 +1,55 @@
1
+ <script lang="ts">
2
+ // AustraliaTaxFileNumberInput component
3
+ //
4
+ // A headless input for entering Australia's Tax File Number (TFN).
5
+ // Format: Nine digits, written 123 456 782 (older numbers have eight). The digits are multiplied by the weights 1,4,3,7,5,8,6,9,10 and summed, and the sum must be a multiple of 11.
6
+ //
7
+ // Props:
8
+ // className — string, optional. CSS class name.
9
+ // label — string, required. Accessible label for screen readers via aria-label.
10
+ // value — string, default "". Bindable input value; supports bind:value.
11
+ // required — boolean, default false. Whether the input is required for form submission.
12
+ // disabled — boolean, default false. Whether the input is disabled.
13
+ // ...restProps — additional HTML attributes spread onto the <input>.
14
+ //
15
+ // Syntax:
16
+ // <AustraliaTaxFileNumberInput label="Tax File Number (TFN)" bind:value />
17
+ //
18
+ // Accessibility:
19
+ // - aria-label provides the accessible name for screen readers
20
+ // - autocomplete="off" protects sensitive identifiers
21
+ // - required and disabled states are conveyed to assistive technology
22
+ //
23
+ // Internationalization:
24
+ // - The label prop externalizes user-facing text for translation
25
+ //
26
+ // References:
27
+ // - https://en.wikipedia.org/wiki/Tax_file_number
28
+
29
+ let {
30
+ class: className = "",
31
+ label,
32
+ value = $bindable(""),
33
+ required = false,
34
+ disabled = false,
35
+ ...restProps
36
+ }: {
37
+ label: string;
38
+ value?: string;
39
+ required?: boolean;
40
+ disabled?: boolean;
41
+ [key: string]: unknown;
42
+ } = $props();
43
+ </script>
44
+
45
+ <!-- AustraliaTaxFileNumberInput.svelte -->
46
+ <input
47
+ class={`australia-tax-file-number-input ${className}`}
48
+ type="text"
49
+ aria-label={label}
50
+ autocomplete="off"
51
+ bind:value
52
+ {required}
53
+ {disabled}
54
+ {...restProps}
55
+ />
@@ -0,0 +1,10 @@
1
+ type $$ComponentProps = {
2
+ label: string;
3
+ value?: string;
4
+ required?: boolean;
5
+ disabled?: boolean;
6
+ [key: string]: unknown;
7
+ };
8
+ declare const AustraliaTaxFileNumberInput: import("svelte").Component<$$ComponentProps, {}, "value">;
9
+ type AustraliaTaxFileNumberInput = ReturnType<typeof AustraliaTaxFileNumberInput>;
10
+ export default AustraliaTaxFileNumberInput;
@@ -0,0 +1,40 @@
1
+ <script lang="ts">
2
+ // AustraliaTaxFileNumberView component
3
+ //
4
+ // A headless display component for showing Australia's
5
+ // Tax File Number (TFN) in a read-only format.
6
+ // Format: Nine digits, written 123 456 782 (older numbers have eight). The digits are multiplied by the weights 1,4,3,7,5,8,6,9,10 and summed, and the sum must be a multiple of 11.
7
+ //
8
+ // Props:
9
+ // className — string, optional. CSS class name.
10
+ // label — string, required. Accessible label for screen readers via aria-label.
11
+ // value — string, default "". The identifier string to display.
12
+ // ...restProps — additional HTML attributes spread onto the <span>.
13
+ //
14
+ // Syntax:
15
+ // <AustraliaTaxFileNumberView label="Tax File Number (TFN)" value={value} />
16
+ //
17
+ // Accessibility:
18
+ // - aria-label provides the accessible name so screen readers announce the purpose
19
+ //
20
+ // References:
21
+ // - https://en.wikipedia.org/wiki/Tax_file_number
22
+
23
+ let {
24
+ class: className = "",
25
+ label,
26
+ value = "",
27
+ ...restProps
28
+ }: {
29
+ label: string;
30
+ value?: string;
31
+ [key: string]: unknown;
32
+ } = $props();
33
+ </script>
34
+
35
+ <!-- AustraliaTaxFileNumberView.svelte -->
36
+ <span
37
+ class={`australia-tax-file-number-view ${className}`}
38
+ aria-label={label}
39
+ {...restProps}>{value}</span
40
+ >
@@ -0,0 +1,8 @@
1
+ type $$ComponentProps = {
2
+ label: string;
3
+ value?: string;
4
+ [key: string]: unknown;
5
+ };
6
+ declare const AustraliaTaxFileNumberView: import("svelte").Component<$$ComponentProps, {}, "">;
7
+ type AustraliaTaxFileNumberView = ReturnType<typeof AustraliaTaxFileNumberView>;
8
+ export default AustraliaTaxFileNumberView;
@@ -1,24 +1,191 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from "svelte";
2
+ // Autosuggest component
3
+ //
4
+ // A text input that proposes matching options as users type: the WAI-ARIA
5
+ // combobox pattern with list autocomplete. The input is the combobox; the
6
+ // suggestions are a listbox of options. The consumer computes the
7
+ // suggestions in onInput (filtering, fetching) and passes them back in
8
+ // `suggestions`; the component owns the open state, the highlight, the keys
9
+ // and the selection.
10
+ //
11
+ // Props:
12
+ // class — string, optional. Appended to the root's class list.
13
+ // label — string, required. Accessible name of the input and the listbox.
14
+ // value — string, default "". Bindable. The input's text.
15
+ // suggestions — { value: string; label: string }[], default []. The options to show.
16
+ // onInput — (query: string) => void, optional. Called as the user types.
17
+ // onSelect — (value: string) => void, optional. Called when a suggestion is chosen.
18
+ // placeholder — string, optional. Placeholder text.
19
+ // name — string, optional. Form field name of the input.
20
+ // ...restProps — additional HTML attributes spread onto the root <div>.
21
+ //
22
+ // Syntax:
23
+ // <Autosuggest label="Country" bind:value {suggestions} onInput={search} />
24
+ //
25
+ // Keyboard:
26
+ // - ArrowDown: open the list / highlight the next option (wraps)
27
+ // - ArrowUp: open the list / highlight the previous option (wraps)
28
+ // - Home / End: highlight the first / last option while the list is open
29
+ // - Enter: choose the highlighted option
30
+ // - Escape: close the list without choosing
31
+ //
32
+ // Accessibility:
33
+ // - role="combobox" on the input, aria-autocomplete="list", aria-expanded,
34
+ // aria-controls naming the listbox, aria-activedescendant naming the
35
+ // highlighted option (which carries aria-selected="true")
36
+ // - The list stays in the DOM, hidden while closed, so aria-controls always resolves
37
+ //
38
+ // Claude rules:
39
+ // - Choosing an option writes its `value` into the input and closes the list
40
+ // - The list opens only while there are suggestions; blur closes it
41
+ // - Pressing on an option does not blur the input, so a click can choose it
42
+ // - A form reset restores the starting text (defaultValue + bind:value)
43
+ //
44
+ // References:
45
+ // - WAI-ARIA APG combobox pattern: https://www.w3.org/WAI/ARIA/apg/patterns/combobox/
46
+
47
+ import { untrack } from "svelte";
48
+
49
+ const uid = $props.id();
50
+ const listId = `autosuggest-list-${uid}`;
51
+ const optionId = (index: number) => `autosuggest-option-${uid}-${index}`;
3
52
 
4
53
  let {
5
54
  class: className = "",
6
- label = undefined,
7
- children,
55
+ label,
56
+ value = $bindable(""),
57
+ suggestions = [],
58
+ onInput = undefined,
59
+ onSelect = undefined,
60
+ placeholder = undefined,
61
+ name = undefined,
8
62
  ...restProps
9
63
  }: {
10
- label?: string;
11
- children: Snippet;
64
+ /** Accessible label. */
65
+ label: string;
66
+ /** The input's text. Bindable. */
67
+ value?: string;
68
+ /** The options to show. */
69
+ suggestions?: { value: string; label: string }[];
70
+ /** Called with the typed text. */
71
+ onInput?: (query: string) => void;
72
+ /** Called with the chosen suggestion's value. */
73
+ onSelect?: (value: string) => void;
74
+ /** Placeholder text. */
75
+ placeholder?: string;
76
+ /** Form field name. */
77
+ name?: string;
12
78
  [key: string]: unknown;
13
79
  } = $props();
80
+
81
+ // The starting text, which a form reset restores (bind:value reads defaultValue).
82
+ const initialValue = untrack(() => value);
83
+ let wanted = $state(false);
84
+ let active = $state(-1);
85
+ const open = $derived(wanted && suggestions.length > 0);
86
+
87
+ function choose(index: number) {
88
+ const suggestion = suggestions[index];
89
+ if (!suggestion) return;
90
+ value = suggestion.value;
91
+ wanted = false;
92
+ active = -1;
93
+ onSelect?.(suggestion.value);
94
+ }
95
+
96
+ function oninput(event: Event) {
97
+ value = (event.currentTarget as HTMLInputElement).value;
98
+ wanted = true;
99
+ active = -1;
100
+ onInput?.(value);
101
+ }
102
+
103
+ function onkeydown(event: KeyboardEvent) {
104
+ const count = suggestions.length;
105
+ switch (event.key) {
106
+ case "ArrowDown":
107
+ if (count === 0) return;
108
+ active = open ? (active + 1) % count : 0;
109
+ wanted = true;
110
+ break;
111
+ case "ArrowUp":
112
+ if (count === 0) return;
113
+ active = open && active > 0 ? active - 1 : count - 1;
114
+ wanted = true;
115
+ break;
116
+ case "Home":
117
+ if (!open) return;
118
+ active = 0;
119
+ break;
120
+ case "End":
121
+ if (!open) return;
122
+ active = count - 1;
123
+ break;
124
+ case "Enter":
125
+ if (!open || active < 0) return;
126
+ choose(active);
127
+ break;
128
+ case "Escape":
129
+ if (!open) return;
130
+ wanted = false;
131
+ active = -1;
132
+ break;
133
+ default:
134
+ return;
135
+ }
136
+ event.preventDefault();
137
+ }
138
+
139
+ function onblur() {
140
+ wanted = false;
141
+ active = -1;
142
+ }
14
143
  </script>
15
144
 
16
145
  <!-- Autosuggest.svelte -->
17
146
  <div
18
147
  class={`autosuggest ${className}`}
19
- role="combobox"
20
- aria-label={label}
21
148
  {...restProps}
22
149
  >
23
- {@render children?.()}
150
+ <input
151
+ class="autosuggest-input"
152
+ type="text"
153
+ role="combobox"
154
+ autocomplete="off"
155
+ aria-label={label}
156
+ aria-autocomplete="list"
157
+ aria-expanded={open}
158
+ aria-controls={listId}
159
+ aria-activedescendant={open && active >= 0 ? optionId(active) : undefined}
160
+ {placeholder}
161
+ {name}
162
+ bind:value
163
+ defaultValue={initialValue}
164
+ {oninput}
165
+ {onkeydown}
166
+ {onblur}
167
+ />
168
+ <!-- svelte-ignore a11y_no_noninteractive_element_interactions (keeps focus in the input while an option is pressed) -->
169
+ <ul
170
+ class="autosuggest-list"
171
+ role="listbox"
172
+ id={listId}
173
+ aria-label={label}
174
+ hidden={!open}
175
+ onmousedown={(event) => event.preventDefault()}
176
+ >
177
+ {#each suggestions as suggestion, index (suggestion.value)}
178
+ <!-- svelte-ignore a11y_click_events_have_key_events (the input owns the keys) -->
179
+ <li
180
+ class="autosuggest-option"
181
+ role="option"
182
+ id={optionId(index)}
183
+ aria-selected={index === active}
184
+ data-value={suggestion.value}
185
+ onclick={() => choose(index)}
186
+ >
187
+ {suggestion.label}
188
+ </li>
189
+ {/each}
190
+ </ul>
24
191
  </div>
@@ -1,9 +1,23 @@
1
- import type { Snippet } from "svelte";
2
1
  type $$ComponentProps = {
3
- label?: string;
4
- children: Snippet;
2
+ /** Accessible label. */
3
+ label: string;
4
+ /** The input's text. Bindable. */
5
+ value?: string;
6
+ /** The options to show. */
7
+ suggestions?: {
8
+ value: string;
9
+ label: string;
10
+ }[];
11
+ /** Called with the typed text. */
12
+ onInput?: (query: string) => void;
13
+ /** Called with the chosen suggestion's value. */
14
+ onSelect?: (value: string) => void;
15
+ /** Placeholder text. */
16
+ placeholder?: string;
17
+ /** Form field name. */
18
+ name?: string;
5
19
  [key: string]: unknown;
6
20
  };
7
- declare const Autosuggest: import("svelte").Component<$$ComponentProps, {}, "">;
21
+ declare const Autosuggest: import("svelte").Component<$$ComponentProps, {}, "value">;
8
22
  type Autosuggest = ReturnType<typeof Autosuggest>;
9
23
  export default Autosuggest;
@@ -13,6 +13,10 @@
13
13
  </script>
14
14
 
15
15
  <!-- AvatarGroup.svelte -->
16
- <div class={`avatar-group ${className}`} aria-label={label} {...restProps}>
16
+ <div
17
+ class={`avatar-group ${className}`}
18
+ aria-label={label}
19
+ {...restProps}
20
+ >
17
21
  {@render children?.()}
18
22
  </div>
@@ -52,7 +52,11 @@
52
52
  class={`bar-chart ${className}`}
53
53
  {...restProps}
54
54
  >
55
- <div class="bar-chart-graphic" role="img" aria-label={label}>
55
+ <div
56
+ class="bar-chart-graphic"
57
+ role="img"
58
+ aria-label={label}
59
+ >
56
60
  {@render children?.()}
57
61
  </div>
58
62
  {#if dataTable}
@@ -14,4 +14,10 @@
14
14
  </script>
15
15
 
16
16
  <!-- BarcodeImage.svelte -->
17
- <img class={`barcode-image ${className}`} {src} {alt} {loading} {...restProps} />
17
+ <img
18
+ class={`barcode-image ${className}`}
19
+ {src}
20
+ {alt}
21
+ {loading}
22
+ {...restProps}
23
+ />
@@ -2,17 +2,27 @@
2
2
  import type { Snippet } from "svelte";
3
3
  let {
4
4
  class: className = "",
5
+ href,
5
6
  label = undefined,
6
7
  children,
7
8
  ...restProps
8
9
  }: {
10
+ /** The URL to navigate to. */
11
+ href: string;
12
+ /** Accessible label override for screen readers. */
9
13
  label?: string;
14
+ /** The link content. */
10
15
  children: Snippet;
11
16
  [key: string]: unknown;
12
17
  } = $props();
13
18
  </script>
14
19
 
15
20
  <!-- BreadcrumbLink.svelte -->
16
- <div class={`breadcrumb-link ${className}`} aria-label={label} {...restProps}>
21
+ <a
22
+ class={`breadcrumb-link ${className}`}
23
+ {href}
24
+ aria-label={label}
25
+ {...restProps}
26
+ >
17
27
  {@render children?.()}
18
- </div>
28
+ </a>
@@ -1,6 +1,10 @@
1
1
  import type { Snippet } from "svelte";
2
2
  type $$ComponentProps = {
3
+ /** The URL to navigate to. */
4
+ href: string;
5
+ /** Accessible label override for screen readers. */
3
6
  label?: string;
7
+ /** The link content. */
4
8
  children: Snippet;
5
9
  [key: string]: unknown;
6
10
  };
@@ -27,7 +27,10 @@
27
27
  </script>
28
28
 
29
29
  <!-- Byline.svelte -->
30
- <div class={`byline ${className}`} {...restProps}>
30
+ <div
31
+ class={`byline ${className}`}
32
+ {...restProps}
33
+ >
31
34
  <span class="byline-authors">{@render children?.()}</span>
32
35
  {#if published}
33
36
  <span class="byline-published">{@render published()}</span>
@@ -52,7 +52,11 @@
52
52
  class={`candlestick-chart ${className}`}
53
53
  {...restProps}
54
54
  >
55
- <div class="candlestick-chart-graphic" role="img" aria-label={label}>
55
+ <div
56
+ class="candlestick-chart-graphic"
57
+ role="img"
58
+ aria-label={label}
59
+ >
56
60
  {@render children?.()}
57
61
  </div>
58
62
  {#if dataTable}
@@ -54,6 +54,7 @@
54
54
  </script>
55
55
 
56
56
  <!-- Caption.svelte -->
57
+ <!-- svelte-ignore a11y_figcaption_parent (Caption is a figure part; the consumer places it inside their <figure>) -->
57
58
  <figcaption
58
59
  class={`caption ${className}`}
59
60
  {...restProps}