@carto/meridian-ds 5.1.4-alpha.f781449.339 → 5.2.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 (658) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/dist/bin/meridian-ds-mcp.js +108 -77
  3. package/dist/components/index.cjs +86 -49
  4. package/dist/components/index.js +89 -52
  5. package/dist/conventions.md +2 -2
  6. package/dist/eslint-rules/index.cjs +368 -0
  7. package/dist/eslint-rules/index.js +368 -0
  8. package/dist/metadata.json +1591 -264
  9. package/dist/spacing-steps-CN4lgz20.js +21 -0
  10. package/dist/spacing-steps-DOjPPOKL.cjs +20 -0
  11. package/dist/stories/components-accordion-group--behavior.anatomy.json +1 -0
  12. package/dist/stories/components-accordion-group--behavior.webp +0 -0
  13. package/dist/stories/components-accordion-group--size.anatomy.json +1 -0
  14. package/dist/stories/components-accordion-group--size.webp +0 -0
  15. package/dist/stories/components-accordion-group--summary.anatomy.json +1 -0
  16. package/dist/stories/components-accordion-group--summary.webp +0 -0
  17. package/dist/stories/components-accordion-group--variants.anatomy.json +1 -0
  18. package/dist/stories/components-accordion-group--variants.webp +0 -0
  19. package/dist/stories/components-alert--actions.anatomy.json +1 -0
  20. package/dist/stories/components-alert--actions.webp +0 -0
  21. package/dist/stories/components-alert--layout.anatomy.json +1 -0
  22. package/dist/stories/components-alert--layout.webp +0 -0
  23. package/dist/stories/components-alert--removable.anatomy.json +1 -0
  24. package/dist/stories/components-alert--removable.webp +0 -0
  25. package/dist/stories/components-alert--severity.anatomy.json +1 -0
  26. package/dist/stories/components-alert--severity.webp +0 -0
  27. package/dist/stories/components-alert--sticky.anatomy.json +1 -0
  28. package/dist/stories/components-alert--sticky.webp +0 -0
  29. package/dist/stories/components-alert--title.anatomy.json +1 -0
  30. package/dist/stories/components-alert--title.webp +0 -0
  31. package/dist/stories/components-appbar--composition.anatomy.json +1 -0
  32. package/dist/stories/components-appbar--composition.webp +0 -0
  33. package/dist/stories/components-appbar--custom-branding.anatomy.json +1 -0
  34. package/dist/stories/components-appbar--custom-branding.webp +0 -0
  35. package/dist/stories/components-autocomplete-autocomplete--custom-render-option.anatomy.json +1 -0
  36. package/dist/stories/components-autocomplete-autocomplete--custom-render-option.webp +0 -0
  37. package/dist/stories/components-autocomplete-autocomplete--free-solo.anatomy.json +1 -0
  38. package/dist/stories/components-autocomplete-autocomplete--free-solo.webp +0 -0
  39. package/dist/stories/components-autocomplete-autocomplete--grouped-non-virtualized.anatomy.json +1 -0
  40. package/dist/stories/components-autocomplete-autocomplete--grouped-non-virtualized.webp +0 -0
  41. package/dist/stories/components-autocomplete-autocomplete--grouped-virtualization.anatomy.json +1 -0
  42. package/dist/stories/components-autocomplete-autocomplete--grouped-virtualization.webp +0 -0
  43. package/dist/stories/components-autocomplete-autocomplete--label-and-helper-text.anatomy.json +1 -0
  44. package/dist/stories/components-autocomplete-autocomplete--label-and-helper-text.webp +0 -0
  45. package/dist/stories/components-autocomplete-autocomplete--medium.anatomy.json +1 -0
  46. package/dist/stories/components-autocomplete-autocomplete--medium.webp +0 -0
  47. package/dist/stories/components-autocomplete-autocomplete--prefix.anatomy.json +1 -0
  48. package/dist/stories/components-autocomplete-autocomplete--prefix.webp +0 -0
  49. package/dist/stories/components-autocomplete-autocomplete--small.anatomy.json +1 -0
  50. package/dist/stories/components-autocomplete-autocomplete--small.webp +0 -0
  51. package/dist/stories/components-autocomplete-autocomplete--variants.anatomy.json +1 -0
  52. package/dist/stories/components-autocomplete-autocomplete--variants.webp +0 -0
  53. package/dist/stories/components-autocomplete-autocomplete--virtualized-list.anatomy.json +1 -0
  54. package/dist/stories/components-autocomplete-autocomplete--virtualized-list.webp +0 -0
  55. package/dist/stories/components-autocomplete-creatable-autocomplete--grouped-virtualization.anatomy.json +1 -0
  56. package/dist/stories/components-autocomplete-creatable-autocomplete--grouped-virtualization.webp +0 -0
  57. package/dist/stories/components-autocomplete-creatable-autocomplete--large-dataset-extended.anatomy.json +1 -0
  58. package/dist/stories/components-autocomplete-creatable-autocomplete--large-dataset-extended.webp +0 -0
  59. package/dist/stories/components-autocomplete-creatable-autocomplete--large-dataset.anatomy.json +1 -0
  60. package/dist/stories/components-autocomplete-creatable-autocomplete--large-dataset.webp +0 -0
  61. package/dist/stories/components-autocomplete-creatable-autocomplete--multiple.anatomy.json +1 -0
  62. package/dist/stories/components-autocomplete-creatable-autocomplete--multiple.webp +0 -0
  63. package/dist/stories/components-autocomplete-multiple-autocomplete--counter-formatters.anatomy.json +1 -0
  64. package/dist/stories/components-autocomplete-multiple-autocomplete--counter-formatters.webp +0 -0
  65. package/dist/stories/components-autocomplete-multiple-autocomplete--grouped-virtualization.anatomy.json +1 -0
  66. package/dist/stories/components-autocomplete-multiple-autocomplete--grouped-virtualization.webp +0 -0
  67. package/dist/stories/components-autocomplete-multiple-autocomplete--large-dataset-extended.anatomy.json +1 -0
  68. package/dist/stories/components-autocomplete-multiple-autocomplete--large-dataset-extended.webp +0 -0
  69. package/dist/stories/components-autocomplete-multiple-autocomplete--large-dataset.anatomy.json +1 -0
  70. package/dist/stories/components-autocomplete-multiple-autocomplete--large-dataset.webp +0 -0
  71. package/dist/stories/components-autocomplete-multiple-autocomplete--start-adornment.anatomy.json +1 -0
  72. package/dist/stories/components-autocomplete-multiple-autocomplete--start-adornment.webp +0 -0
  73. package/dist/stories/components-autocomplete-multiple-autocomplete--states.anatomy.json +1 -0
  74. package/dist/stories/components-autocomplete-multiple-autocomplete--states.webp +0 -0
  75. package/dist/stories/components-avatar--color-background.anatomy.json +1 -0
  76. package/dist/stories/components-avatar--color-background.webp +0 -0
  77. package/dist/stories/components-avatar--content-size.anatomy.json +1 -0
  78. package/dist/stories/components-avatar--content-size.webp +0 -0
  79. package/dist/stories/components-avatar--content.anatomy.json +1 -0
  80. package/dist/stories/components-avatar--content.webp +0 -0
  81. package/dist/stories/components-avatar--shape-sizes.anatomy.json +1 -0
  82. package/dist/stories/components-avatar--shape-sizes.webp +0 -0
  83. package/dist/stories/components-avatar--shape.anatomy.json +1 -0
  84. package/dist/stories/components-avatar--shape.webp +0 -0
  85. package/dist/stories/components-buttons-button--behavior.anatomy.json +1 -0
  86. package/dist/stories/components-buttons-button--behavior.webp +0 -0
  87. package/dist/stories/components-buttons-button--colors.anatomy.json +1 -0
  88. package/dist/stories/components-buttons-button--colors.webp +0 -0
  89. package/dist/stories/components-buttons-button--external-link.anatomy.json +1 -0
  90. package/dist/stories/components-buttons-button--external-link.webp +0 -0
  91. package/dist/stories/components-buttons-button--variants.anatomy.json +1 -0
  92. package/dist/stories/components-buttons-button--variants.webp +0 -0
  93. package/dist/stories/components-buttons-iconbutton--colors.anatomy.json +1 -0
  94. package/dist/stories/components-buttons-iconbutton--colors.webp +0 -0
  95. package/dist/stories/components-buttons-iconbutton--icon-button-group.anatomy.json +1 -0
  96. package/dist/stories/components-buttons-iconbutton--icon-button-group.webp +0 -0
  97. package/dist/stories/components-buttons-iconbutton--tooltip.anatomy.json +1 -0
  98. package/dist/stories/components-buttons-iconbutton--tooltip.webp +0 -0
  99. package/dist/stories/components-buttons-iconbutton--variants.anatomy.json +1 -0
  100. package/dist/stories/components-buttons-iconbutton--variants.webp +0 -0
  101. package/dist/stories/components-buttons-splitbutton--colors.anatomy.json +1 -0
  102. package/dist/stories/components-buttons-splitbutton--colors.webp +0 -0
  103. package/dist/stories/components-buttons-splitbutton--states.anatomy.json +1 -0
  104. package/dist/stories/components-buttons-splitbutton--states.webp +0 -0
  105. package/dist/stories/components-buttons-splitbutton--variants.anatomy.json +1 -0
  106. package/dist/stories/components-buttons-splitbutton--variants.webp +0 -0
  107. package/dist/stories/components-buttons-toggle-button-group--background-color.anatomy.json +1 -0
  108. package/dist/stories/components-buttons-toggle-button-group--background-color.webp +0 -0
  109. package/dist/stories/components-buttons-toggle-button-group--behavior.anatomy.json +1 -0
  110. package/dist/stories/components-buttons-toggle-button-group--behavior.webp +0 -0
  111. package/dist/stories/components-buttons-toggle-button-group--colors.anatomy.json +1 -0
  112. package/dist/stories/components-buttons-toggle-button-group--colors.webp +0 -0
  113. package/dist/stories/components-buttons-toggle-button-group--divided-group.anatomy.json +1 -0
  114. package/dist/stories/components-buttons-toggle-button-group--divided-group.webp +0 -0
  115. package/dist/stories/components-buttons-toggle-button-group--multiple-selection-group.anatomy.json +1 -0
  116. package/dist/stories/components-buttons-toggle-button-group--multiple-selection-group.webp +0 -0
  117. package/dist/stories/components-buttons-toggle-button-group--orientation.anatomy.json +1 -0
  118. package/dist/stories/components-buttons-toggle-button-group--orientation.webp +0 -0
  119. package/dist/stories/components-buttons-toggle-button-group--variant.anatomy.json +1 -0
  120. package/dist/stories/components-buttons-toggle-button-group--variant.webp +0 -0
  121. package/dist/stories/components-chipgroup--behavior.anatomy.json +1 -0
  122. package/dist/stories/components-chipgroup--behavior.webp +0 -0
  123. package/dist/stories/components-chipgroup--color.anatomy.json +1 -0
  124. package/dist/stories/components-chipgroup--color.webp +0 -0
  125. package/dist/stories/components-chipgroup--disabled.anatomy.json +1 -0
  126. package/dist/stories/components-chipgroup--disabled.webp +0 -0
  127. package/dist/stories/components-chipgroup--size.anatomy.json +1 -0
  128. package/dist/stories/components-chipgroup--size.webp +0 -0
  129. package/dist/stories/components-codearea-codeareafield--autocompletion-with-highlight.anatomy.json +1 -0
  130. package/dist/stories/components-codearea-codeareafield--autocompletion-with-highlight.webp +0 -0
  131. package/dist/stories/components-codearea-codeareafield--autocompletion.anatomy.json +1 -0
  132. package/dist/stories/components-codearea-codeareafield--autocompletion.webp +0 -0
  133. package/dist/stories/components-codearea-codeareafield--custom-save-label-action.anatomy.json +1 -0
  134. package/dist/stories/components-codearea-codeareafield--custom-save-label-action.webp +0 -0
  135. package/dist/stories/components-codearea-codeareafield--custom-text-marking.anatomy.json +1 -0
  136. package/dist/stories/components-codearea-codeareafield--custom-text-marking.webp +0 -0
  137. package/dist/stories/components-codearea-codeareafield--disable-active-line.anatomy.json +1 -0
  138. package/dist/stories/components-codearea-codeareafield--disable-active-line.webp +0 -0
  139. package/dist/stories/components-codearea-codeareafield--fixed-height.anatomy.json +1 -0
  140. package/dist/stories/components-codearea-codeareafield--fixed-height.webp +0 -0
  141. package/dist/stories/components-codearea-codeareafield--fold-code.anatomy.json +1 -0
  142. package/dist/stories/components-codearea-codeareafield--fold-code.webp +0 -0
  143. package/dist/stories/components-codearea-codeareafield--full-screen.anatomy.json +1 -0
  144. package/dist/stories/components-codearea-codeareafield--full-screen.webp +0 -0
  145. package/dist/stories/components-codearea-codeareafield--label-linenumber-and-helper-text.anatomy.json +1 -0
  146. package/dist/stories/components-codearea-codeareafield--label-linenumber-and-helper-text.webp +0 -0
  147. package/dist/stories/components-codearea-codeareafield--long-value-right-padding.anatomy.json +1 -0
  148. package/dist/stories/components-codearea-codeareafield--long-value-right-padding.webp +0 -0
  149. package/dist/stories/components-codearea-codeareafield--mode.anatomy.json +1 -0
  150. package/dist/stories/components-codearea-codeareafield--mode.webp +0 -0
  151. package/dist/stories/components-codearea-codeareafield--states.anatomy.json +1 -0
  152. package/dist/stories/components-codearea-codeareafield--states.webp +0 -0
  153. package/dist/stories/components-codearea-codeareafield--variant.anatomy.json +1 -0
  154. package/dist/stories/components-codearea-codeareafield--variant.webp +0 -0
  155. package/dist/stories/components-datepickers-datepicker--clearable.anatomy.json +1 -0
  156. package/dist/stories/components-datepickers-datepicker--clearable.webp +0 -0
  157. package/dist/stories/components-datepickers-datepicker--custom-translations.anatomy.json +1 -0
  158. package/dist/stories/components-datepickers-datepicker--custom-translations.webp +0 -0
  159. package/dist/stories/components-datepickers-datepicker--disabled-dates.anatomy.json +1 -0
  160. package/dist/stories/components-datepickers-datepicker--disabled-dates.webp +0 -0
  161. package/dist/stories/components-datepickers-datepicker--label-and-helper-text.anatomy.json +1 -0
  162. package/dist/stories/components-datepickers-datepicker--label-and-helper-text.webp +0 -0
  163. package/dist/stories/components-datepickers-datepicker--sizes.anatomy.json +1 -0
  164. package/dist/stories/components-datepickers-datepicker--sizes.webp +0 -0
  165. package/dist/stories/components-datepickers-datepicker--views.anatomy.json +1 -0
  166. package/dist/stories/components-datepickers-datepicker--views.webp +0 -0
  167. package/dist/stories/components-datepickers-daterangecalendar--fixed-range.anatomy.json +1 -0
  168. package/dist/stories/components-datepickers-daterangecalendar--fixed-range.webp +0 -0
  169. package/dist/stories/components-datepickers-daterangepicker--clearable.anatomy.json +1 -0
  170. package/dist/stories/components-datepickers-daterangepicker--clearable.webp +0 -0
  171. package/dist/stories/components-datepickers-daterangepicker--custom-translations.anatomy.json +1 -0
  172. package/dist/stories/components-datepickers-daterangepicker--custom-translations.webp +0 -0
  173. package/dist/stories/components-datepickers-daterangepicker--disabled-dates.anatomy.json +1 -0
  174. package/dist/stories/components-datepickers-daterangepicker--disabled-dates.webp +0 -0
  175. package/dist/stories/components-datepickers-daterangepicker--label-and-helper-text.anatomy.json +1 -0
  176. package/dist/stories/components-datepickers-daterangepicker--label-and-helper-text.webp +0 -0
  177. package/dist/stories/components-datepickers-daterangepicker--sizes.anatomy.json +1 -0
  178. package/dist/stories/components-datepickers-daterangepicker--sizes.webp +0 -0
  179. package/dist/stories/components-datepickers-daterangepicker--views.anatomy.json +1 -0
  180. package/dist/stories/components-datepickers-daterangepicker--views.webp +0 -0
  181. package/dist/stories/components-datepickers-datetimepicker--am-pm-disabled.anatomy.json +1 -0
  182. package/dist/stories/components-datepickers-datetimepicker--am-pm-disabled.webp +0 -0
  183. package/dist/stories/components-datepickers-datetimepicker--clearable.anatomy.json +1 -0
  184. package/dist/stories/components-datepickers-datetimepicker--clearable.webp +0 -0
  185. package/dist/stories/components-datepickers-datetimepicker--custom-translations.anatomy.json +1 -0
  186. package/dist/stories/components-datepickers-datetimepicker--custom-translations.webp +0 -0
  187. package/dist/stories/components-datepickers-datetimepicker--disabled-dates.anatomy.json +1 -0
  188. package/dist/stories/components-datepickers-datetimepicker--disabled-dates.webp +0 -0
  189. package/dist/stories/components-datepickers-datetimepicker--label-and-helper-text.anatomy.json +1 -0
  190. package/dist/stories/components-datepickers-datetimepicker--label-and-helper-text.webp +0 -0
  191. package/dist/stories/components-datepickers-datetimepicker--show-calendar-false.anatomy.json +1 -0
  192. package/dist/stories/components-datepickers-datetimepicker--show-calendar-false.webp +0 -0
  193. package/dist/stories/components-datepickers-datetimepicker--sizes.anatomy.json +1 -0
  194. package/dist/stories/components-datepickers-datetimepicker--sizes.webp +0 -0
  195. package/dist/stories/components-datepickers-datetimepicker--time-step.anatomy.json +1 -0
  196. package/dist/stories/components-datepickers-datetimepicker--time-step.webp +0 -0
  197. package/dist/stories/components-datepickers-datetimepicker--views.anatomy.json +1 -0
  198. package/dist/stories/components-datepickers-datetimepicker--views.webp +0 -0
  199. package/dist/stories/components-datepickers-timepicker--am-pm-disabled.anatomy.json +1 -0
  200. package/dist/stories/components-datepickers-timepicker--am-pm-disabled.webp +0 -0
  201. package/dist/stories/components-datepickers-timepicker--clearable.anatomy.json +1 -0
  202. package/dist/stories/components-datepickers-timepicker--clearable.webp +0 -0
  203. package/dist/stories/components-datepickers-timepicker--custom-translations.anatomy.json +1 -0
  204. package/dist/stories/components-datepickers-timepicker--custom-translations.webp +0 -0
  205. package/dist/stories/components-datepickers-timepicker--disabled-dates.anatomy.json +1 -0
  206. package/dist/stories/components-datepickers-timepicker--disabled-dates.webp +0 -0
  207. package/dist/stories/components-datepickers-timepicker--label-and-helper-text.anatomy.json +1 -0
  208. package/dist/stories/components-datepickers-timepicker--label-and-helper-text.webp +0 -0
  209. package/dist/stories/components-datepickers-timepicker--show-clock-false.anatomy.json +1 -0
  210. package/dist/stories/components-datepickers-timepicker--show-clock-false.webp +0 -0
  211. package/dist/stories/components-datepickers-timepicker--sizes.anatomy.json +1 -0
  212. package/dist/stories/components-datepickers-timepicker--sizes.webp +0 -0
  213. package/dist/stories/components-datepickers-timepicker--time-step.anatomy.json +1 -0
  214. package/dist/stories/components-datepickers-timepicker--time-step.webp +0 -0
  215. package/dist/stories/components-datepickers-timepicker--views.anatomy.json +1 -0
  216. package/dist/stories/components-datepickers-timepicker--views.webp +0 -0
  217. package/dist/stories/components-dialogs-dialog--custom-spacing.anatomy.json +1 -0
  218. package/dist/stories/components-dialogs-dialog--custom-spacing.webp +0 -0
  219. package/dist/stories/components-dialogs-dialog--fluid-height.anatomy.json +1 -0
  220. package/dist/stories/components-dialogs-dialog--fluid-height.webp +0 -0
  221. package/dist/stories/components-dialogs-dialog--fluid-width.anatomy.json +1 -0
  222. package/dist/stories/components-dialogs-dialog--fluid-width.webp +0 -0
  223. package/dist/stories/components-dialogs-dialog--full-screen.anatomy.json +1 -0
  224. package/dist/stories/components-dialogs-dialog--full-screen.webp +0 -0
  225. package/dist/stories/components-dialogs-dialog--gutter-content.anatomy.json +1 -0
  226. package/dist/stories/components-dialogs-dialog--gutter-content.webp +0 -0
  227. package/dist/stories/components-dialogs-dialog--internall-scroll.anatomy.json +1 -0
  228. package/dist/stories/components-dialogs-dialog--internall-scroll.webp +0 -0
  229. package/dist/stories/components-dialogs-dialog--large.anatomy.json +1 -0
  230. package/dist/stories/components-dialogs-dialog--large.webp +0 -0
  231. package/dist/stories/components-dialogs-dialog--medium.anatomy.json +1 -0
  232. package/dist/stories/components-dialogs-dialog--medium.webp +0 -0
  233. package/dist/stories/components-dialogs-dialog--scroll-borders-hook.anatomy.json +1 -0
  234. package/dist/stories/components-dialogs-dialog--scroll-borders-hook.webp +0 -0
  235. package/dist/stories/components-dialogs-dialog--scrollable-content.anatomy.json +1 -0
  236. package/dist/stories/components-dialogs-dialog--scrollable-content.webp +0 -0
  237. package/dist/stories/components-dialogs-dialog--small.anatomy.json +1 -0
  238. package/dist/stories/components-dialogs-dialog--small.webp +0 -0
  239. package/dist/stories/components-dialogs-dialog--types.anatomy.json +1 -0
  240. package/dist/stories/components-dialogs-dialog--types.webp +0 -0
  241. package/dist/stories/components-dialogs-dialog--with-stepper-and-chip.anatomy.json +1 -0
  242. package/dist/stories/components-dialogs-dialog--with-stepper-and-chip.webp +0 -0
  243. package/dist/stories/components-dialogs-dialogalert--custom-icon.anatomy.json +1 -0
  244. package/dist/stories/components-dialogs-dialogalert--custom-icon.webp +0 -0
  245. package/dist/stories/components-dialogs-dialogalert--severity.anatomy.json +1 -0
  246. package/dist/stories/components-dialogs-dialogalert--severity.webp +0 -0
  247. package/dist/stories/components-dialogs-dialogalert--with-title.anatomy.json +1 -0
  248. package/dist/stories/components-dialogs-dialogalert--with-title.webp +0 -0
  249. package/dist/stories/components-dialogs-dialogconfirmation--custom-slide-props.anatomy.json +1 -0
  250. package/dist/stories/components-dialogs-dialogconfirmation--custom-slide-props.webp +0 -0
  251. package/dist/stories/components-dialogs-dialogconfirmation--open.anatomy.json +1 -0
  252. package/dist/stories/components-dialogs-dialogconfirmation--open.webp +0 -0
  253. package/dist/stories/components-dialogs-dialogfooter--dark.anatomy.json +1 -0
  254. package/dist/stories/components-dialogs-dialogfooter--dark.webp +0 -0
  255. package/dist/stories/components-dialogs-dialogfooter--with-alert-and-title.anatomy.json +1 -0
  256. package/dist/stories/components-dialogs-dialogfooter--with-alert-and-title.webp +0 -0
  257. package/dist/stories/components-dialogs-dialogfooter--with-alert.anatomy.json +1 -0
  258. package/dist/stories/components-dialogs-dialogfooter--with-alert.webp +0 -0
  259. package/dist/stories/components-dialogs-dialogfooter--with-checkbox.anatomy.json +1 -0
  260. package/dist/stories/components-dialogs-dialogfooter--with-checkbox.webp +0 -0
  261. package/dist/stories/components-dialogs-dialogfooter--with-switch.anatomy.json +1 -0
  262. package/dist/stories/components-dialogs-dialogfooter--with-switch.webp +0 -0
  263. package/dist/stories/components-dialogs-dialogfooter--with-tertiary-actions.anatomy.json +1 -0
  264. package/dist/stories/components-dialogs-dialogfooter--with-tertiary-actions.webp +0 -0
  265. package/dist/stories/components-dialogs-dialogheader--custom-close-icon.anatomy.json +1 -0
  266. package/dist/stories/components-dialogs-dialogheader--custom-close-icon.webp +0 -0
  267. package/dist/stories/components-dialogs-dialogheader--custom-close-tooltip-text.anatomy.json +1 -0
  268. package/dist/stories/components-dialogs-dialogheader--custom-close-tooltip-text.webp +0 -0
  269. package/dist/stories/components-dialogs-dialogheader--custom-icon-button-props.anatomy.json +1 -0
  270. package/dist/stories/components-dialogs-dialogheader--custom-icon-button-props.webp +0 -0
  271. package/dist/stories/components-dialogs-dialogheader--with-back-button-custom-icon.anatomy.json +1 -0
  272. package/dist/stories/components-dialogs-dialogheader--with-back-button-custom-icon.webp +0 -0
  273. package/dist/stories/components-dialogs-dialogheader--with-back-button-custom-props.anatomy.json +1 -0
  274. package/dist/stories/components-dialogs-dialogheader--with-back-button-custom-props.webp +0 -0
  275. package/dist/stories/components-dialogs-dialogheader--with-back-button-custom-tooltip.anatomy.json +1 -0
  276. package/dist/stories/components-dialogs-dialogheader--with-back-button-custom-tooltip.webp +0 -0
  277. package/dist/stories/components-dialogs-dialogheader--with-back-button.anatomy.json +1 -0
  278. package/dist/stories/components-dialogs-dialogheader--with-back-button.webp +0 -0
  279. package/dist/stories/components-dialogs-dialogheader--with-children.anatomy.json +1 -0
  280. package/dist/stories/components-dialogs-dialogheader--with-children.webp +0 -0
  281. package/dist/stories/components-dialogs-dialogheader--with-chip.anatomy.json +1 -0
  282. package/dist/stories/components-dialogs-dialogheader--with-chip.webp +0 -0
  283. package/dist/stories/components-dialogs-dialogheader--with-secondary-actions.anatomy.json +1 -0
  284. package/dist/stories/components-dialogs-dialogheader--with-secondary-actions.webp +0 -0
  285. package/dist/stories/components-dialogs-dialogstepper--first-step.anatomy.json +1 -0
  286. package/dist/stories/components-dialogs-dialogstepper--first-step.webp +0 -0
  287. package/dist/stories/components-dialogs-dialogstepper--step-completed.anatomy.json +1 -0
  288. package/dist/stories/components-dialogs-dialogstepper--step-completed.webp +0 -0
  289. package/dist/stories/components-emptystate--actions.anatomy.json +1 -0
  290. package/dist/stories/components-emptystate--actions.webp +0 -0
  291. package/dist/stories/components-emptystate--content-dimensions.anatomy.json +1 -0
  292. package/dist/stories/components-emptystate--content-dimensions.webp +0 -0
  293. package/dist/stories/components-emptystate--icon-props.anatomy.json +1 -0
  294. package/dist/stories/components-emptystate--icon-props.webp +0 -0
  295. package/dist/stories/components-emptystate--icon.anatomy.json +1 -0
  296. package/dist/stories/components-emptystate--icon.webp +0 -0
  297. package/dist/stories/components-emptystate--size.anatomy.json +1 -0
  298. package/dist/stories/components-emptystate--size.webp +0 -0
  299. package/dist/stories/components-emptystate--title-and-description.anatomy.json +1 -0
  300. package/dist/stories/components-emptystate--title-and-description.webp +0 -0
  301. package/dist/stories/components-filterdropdown--custom-button-props.anatomy.json +1 -0
  302. package/dist/stories/components-filterdropdown--custom-button-props.webp +0 -0
  303. package/dist/stories/components-filterdropdown--custom-tooltip-props.anatomy.json +1 -0
  304. package/dist/stories/components-filterdropdown--custom-tooltip-props.webp +0 -0
  305. package/dist/stories/components-filterdropdown--disabled.anatomy.json +1 -0
  306. package/dist/stories/components-filterdropdown--disabled.webp +0 -0
  307. package/dist/stories/components-filterdropdown--labels.anatomy.json +1 -0
  308. package/dist/stories/components-filterdropdown--labels.webp +0 -0
  309. package/dist/stories/components-filterdropdown--menu-item-options.anatomy.json +1 -0
  310. package/dist/stories/components-filterdropdown--menu-item-options.webp +0 -0
  311. package/dist/stories/components-filterdropdown--positioned-menu.anatomy.json +1 -0
  312. package/dist/stories/components-filterdropdown--positioned-menu.webp +0 -0
  313. package/dist/stories/components-filterdropdown--responsive.anatomy.json +1 -0
  314. package/dist/stories/components-filterdropdown--responsive.webp +0 -0
  315. package/dist/stories/components-filterdropdown--secondary-button-color.anatomy.json +1 -0
  316. package/dist/stories/components-filterdropdown--secondary-button-color.webp +0 -0
  317. package/dist/stories/components-filterdropdown--selected-color.anatomy.json +1 -0
  318. package/dist/stories/components-filterdropdown--selected-color.webp +0 -0
  319. package/dist/stories/components-filterdropdown--sizes.anatomy.json +1 -0
  320. package/dist/stories/components-filterdropdown--sizes.webp +0 -0
  321. package/dist/stories/components-iconwrapper--background.anatomy.json +1 -0
  322. package/dist/stories/components-iconwrapper--background.webp +0 -0
  323. package/dist/stories/components-iconwrapper--border.anatomy.json +1 -0
  324. package/dist/stories/components-iconwrapper--border.webp +0 -0
  325. package/dist/stories/components-iconwrapper--colors.anatomy.json +1 -0
  326. package/dist/stories/components-iconwrapper--colors.webp +0 -0
  327. package/dist/stories/components-iconwrapper--padding.anatomy.json +1 -0
  328. package/dist/stories/components-iconwrapper--padding.webp +0 -0
  329. package/dist/stories/components-iconwrapper--sizes.anatomy.json +1 -0
  330. package/dist/stories/components-iconwrapper--sizes.webp +0 -0
  331. package/dist/stories/components-iconwrapper--variants.anatomy.json +1 -0
  332. package/dist/stories/components-iconwrapper--variants.webp +0 -0
  333. package/dist/stories/components-iconwrapper--with-tooltip.anatomy.json +1 -0
  334. package/dist/stories/components-iconwrapper--with-tooltip.webp +0 -0
  335. package/dist/stories/components-labelwithindicator--icon.anatomy.json +1 -0
  336. package/dist/stories/components-labelwithindicator--icon.webp +0 -0
  337. package/dist/stories/components-labelwithindicator--indicator.anatomy.json +1 -0
  338. package/dist/stories/components-labelwithindicator--indicator.webp +0 -0
  339. package/dist/stories/components-labelwithindicator--type.anatomy.json +1 -0
  340. package/dist/stories/components-labelwithindicator--type.webp +0 -0
  341. package/dist/stories/components-labelwithindicator--typography-props.anatomy.json +1 -0
  342. package/dist/stories/components-labelwithindicator--typography-props.webp +0 -0
  343. package/dist/stories/components-labelwithindicator--use-cases.anatomy.json +1 -0
  344. package/dist/stories/components-labelwithindicator--use-cases.webp +0 -0
  345. package/dist/stories/components-link--color.anatomy.json +1 -0
  346. package/dist/stories/components-link--color.webp +0 -0
  347. package/dist/stories/components-link--external-link.anatomy.json +1 -0
  348. package/dist/stories/components-link--external-link.webp +0 -0
  349. package/dist/stories/components-link--icon.anatomy.json +1 -0
  350. package/dist/stories/components-link--icon.webp +0 -0
  351. package/dist/stories/components-link--inline-link.anatomy.json +1 -0
  352. package/dist/stories/components-link--inline-link.webp +0 -0
  353. package/dist/stories/components-link--variant.anatomy.json +1 -0
  354. package/dist/stories/components-link--variant.webp +0 -0
  355. package/dist/stories/components-list-list--direction.anatomy.json +1 -0
  356. package/dist/stories/components-list-list--direction.webp +0 -0
  357. package/dist/stories/components-list-list--divider.anatomy.json +1 -0
  358. package/dist/stories/components-list-list--divider.webp +0 -0
  359. package/dist/stories/components-list-list--double-action.anatomy.json +1 -0
  360. package/dist/stories/components-list-list--double-action.webp +0 -0
  361. package/dist/stories/components-list-list--fixed-height.anatomy.json +1 -0
  362. package/dist/stories/components-list-list--fixed-height.webp +0 -0
  363. package/dist/stories/components-list-list--gutters.anatomy.json +1 -0
  364. package/dist/stories/components-list-list--gutters.webp +0 -0
  365. package/dist/stories/components-list-list--primary-action.anatomy.json +1 -0
  366. package/dist/stories/components-list-list--primary-action.webp +0 -0
  367. package/dist/stories/components-list-list--secondary-action.anatomy.json +1 -0
  368. package/dist/stories/components-list-list--secondary-action.webp +0 -0
  369. package/dist/stories/components-list-list--size.anatomy.json +1 -0
  370. package/dist/stories/components-list-list--size.webp +0 -0
  371. package/dist/stories/components-list-list--spacing.anatomy.json +1 -0
  372. package/dist/stories/components-list-list--spacing.webp +0 -0
  373. package/dist/stories/components-list-list--subheaders.anatomy.json +1 -0
  374. package/dist/stories/components-list-list--subheaders.webp +0 -0
  375. package/dist/stories/components-list-list--variants.anatomy.json +1 -0
  376. package/dist/stories/components-list-list--variants.webp +0 -0
  377. package/dist/stories/components-list-list--virtualized.anatomy.json +1 -0
  378. package/dist/stories/components-list-list--virtualized.webp +0 -0
  379. package/dist/stories/components-list-listitem--alignment.anatomy.json +1 -0
  380. package/dist/stories/components-list-listitem--alignment.webp +0 -0
  381. package/dist/stories/components-list-listitem--divider.anatomy.json +1 -0
  382. package/dist/stories/components-list-listitem--divider.webp +0 -0
  383. package/dist/stories/components-list-listitem--double-action.anatomy.json +1 -0
  384. package/dist/stories/components-list-listitem--double-action.webp +0 -0
  385. package/dist/stories/components-list-listitem--fixed-height.anatomy.json +1 -0
  386. package/dist/stories/components-list-listitem--fixed-height.webp +0 -0
  387. package/dist/stories/components-list-listitem--gutters.anatomy.json +1 -0
  388. package/dist/stories/components-list-listitem--gutters.webp +0 -0
  389. package/dist/stories/components-list-listitem--media-content.anatomy.json +1 -0
  390. package/dist/stories/components-list-listitem--media-content.webp +0 -0
  391. package/dist/stories/components-list-listitem--primary-action.anatomy.json +1 -0
  392. package/dist/stories/components-list-listitem--primary-action.webp +0 -0
  393. package/dist/stories/components-list-listitem--right-content.anatomy.json +1 -0
  394. package/dist/stories/components-list-listitem--right-content.webp +0 -0
  395. package/dist/stories/components-list-listitem--secondary-action.anatomy.json +1 -0
  396. package/dist/stories/components-list-listitem--secondary-action.webp +0 -0
  397. package/dist/stories/components-list-listitem--size.anatomy.json +1 -0
  398. package/dist/stories/components-list-listitem--size.webp +0 -0
  399. package/dist/stories/components-list-listitem--text-content.anatomy.json +1 -0
  400. package/dist/stories/components-list-listitem--text-content.webp +0 -0
  401. package/dist/stories/components-list-listitem--variants.anatomy.json +1 -0
  402. package/dist/stories/components-list-listitem--variants.webp +0 -0
  403. package/dist/stories/components-loader--color.anatomy.json +1 -0
  404. package/dist/stories/components-loader--color.webp +0 -0
  405. package/dist/stories/components-loader--content-height.anatomy.json +1 -0
  406. package/dist/stories/components-loader--content-height.webp +0 -0
  407. package/dist/stories/components-loader--custom-icon-props.anatomy.json +1 -0
  408. package/dist/stories/components-loader--custom-icon-props.webp +0 -0
  409. package/dist/stories/components-loader--label-and-second-label.anatomy.json +1 -0
  410. package/dist/stories/components-loader--label-and-second-label.webp +0 -0
  411. package/dist/stories/components-loader--size.anatomy.json +1 -0
  412. package/dist/stories/components-loader--size.webp +0 -0
  413. package/dist/stories/components-menu--content.anatomy.json +1 -0
  414. package/dist/stories/components-menu--content.webp +0 -0
  415. package/dist/stories/components-menu--custom-height.anatomy.json +1 -0
  416. package/dist/stories/components-menu--custom-height.webp +0 -0
  417. package/dist/stories/components-menu--custom-width.anatomy.json +1 -0
  418. package/dist/stories/components-menu--custom-width.webp +0 -0
  419. package/dist/stories/components-menu--dense.anatomy.json +1 -0
  420. package/dist/stories/components-menu--dense.webp +0 -0
  421. package/dist/stories/components-menu--destructive.anatomy.json +1 -0
  422. package/dist/stories/components-menu--destructive.webp +0 -0
  423. package/dist/stories/components-menu--disable-gutters.anatomy.json +1 -0
  424. package/dist/stories/components-menu--disable-gutters.webp +0 -0
  425. package/dist/stories/components-menu--extended.anatomy.json +1 -0
  426. package/dist/stories/components-menu--extended.webp +0 -0
  427. package/dist/stories/components-menu--fixed-menu-item.anatomy.json +1 -0
  428. package/dist/stories/components-menu--fixed-menu-item.webp +0 -0
  429. package/dist/stories/components-menu--icon-color.anatomy.json +1 -0
  430. package/dist/stories/components-menu--icon-color.webp +0 -0
  431. package/dist/stories/components-menu--menu-list-wrapper.anatomy.json +1 -0
  432. package/dist/stories/components-menu--menu-list-wrapper.webp +0 -0
  433. package/dist/stories/components-menu--placement-right.anatomy.json +1 -0
  434. package/dist/stories/components-menu--placement-right.webp +0 -0
  435. package/dist/stories/components-menu--placement-top.anatomy.json +1 -0
  436. package/dist/stories/components-menu--placement-top.webp +0 -0
  437. package/dist/stories/components-menu--selected-color.anatomy.json +1 -0
  438. package/dist/stories/components-menu--selected-color.webp +0 -0
  439. package/dist/stories/components-menu--states.anatomy.json +1 -0
  440. package/dist/stories/components-menu--states.webp +0 -0
  441. package/dist/stories/components-menu--subtitle.anatomy.json +1 -0
  442. package/dist/stories/components-menu--subtitle.webp +0 -0
  443. package/dist/stories/components-menu--text-overflow.anatomy.json +1 -0
  444. package/dist/stories/components-menu--text-overflow.webp +0 -0
  445. package/dist/stories/components-messagefield--action.anatomy.json +1 -0
  446. package/dist/stories/components-messagefield--action.webp +0 -0
  447. package/dist/stories/components-messagefield--behavior.anatomy.json +1 -0
  448. package/dist/stories/components-messagefield--behavior.webp +0 -0
  449. package/dist/stories/components-messagefield--header.anatomy.json +1 -0
  450. package/dist/stories/components-messagefield--header.webp +0 -0
  451. package/dist/stories/components-messagefield--label-and-helper-text.anatomy.json +1 -0
  452. package/dist/stories/components-messagefield--label-and-helper-text.webp +0 -0
  453. package/dist/stories/components-messagefield--medium.anatomy.json +1 -0
  454. package/dist/stories/components-messagefield--medium.webp +0 -0
  455. package/dist/stories/components-messagefield--small.anatomy.json +1 -0
  456. package/dist/stories/components-messagefield--small.webp +0 -0
  457. package/dist/stories/components-messagefield--toolbar.anatomy.json +1 -0
  458. package/dist/stories/components-messagefield--toolbar.webp +0 -0
  459. package/dist/stories/components-messagefield--variant.anatomy.json +1 -0
  460. package/dist/stories/components-messagefield--variant.webp +0 -0
  461. package/dist/stories/components-password-field--behavior.anatomy.json +1 -0
  462. package/dist/stories/components-password-field--behavior.webp +0 -0
  463. package/dist/stories/components-password-field--label-and-helper-text.anatomy.json +1 -0
  464. package/dist/stories/components-password-field--label-and-helper-text.webp +0 -0
  465. package/dist/stories/components-password-field--medium.anatomy.json +1 -0
  466. package/dist/stories/components-password-field--medium.webp +0 -0
  467. package/dist/stories/components-password-field--prefix-and-suffix.anatomy.json +1 -0
  468. package/dist/stories/components-password-field--prefix-and-suffix.webp +0 -0
  469. package/dist/stories/components-password-field--small.anatomy.json +1 -0
  470. package/dist/stories/components-password-field--small.webp +0 -0
  471. package/dist/stories/components-password-field--variants.anatomy.json +1 -0
  472. package/dist/stories/components-password-field--variants.webp +0 -0
  473. package/dist/stories/components-progress-circularprogress--color.anatomy.json +1 -0
  474. package/dist/stories/components-progress-circularprogress--color.webp +0 -0
  475. package/dist/stories/components-progress-circularprogress--size.anatomy.json +1 -0
  476. package/dist/stories/components-progress-circularprogress--size.webp +0 -0
  477. package/dist/stories/components-progress-circularprogress--thickness.anatomy.json +1 -0
  478. package/dist/stories/components-progress-circularprogress--thickness.webp +0 -0
  479. package/dist/stories/components-progress-circularprogress--variant.anatomy.json +1 -0
  480. package/dist/stories/components-progress-circularprogress--variant.webp +0 -0
  481. package/dist/stories/components-searchfield--behavior.anatomy.json +1 -0
  482. package/dist/stories/components-searchfield--behavior.webp +0 -0
  483. package/dist/stories/components-searchfield--dense.anatomy.json +1 -0
  484. package/dist/stories/components-searchfield--dense.webp +0 -0
  485. package/dist/stories/components-searchfield--medium.anatomy.json +1 -0
  486. package/dist/stories/components-searchfield--medium.webp +0 -0
  487. package/dist/stories/components-searchfield--small.anatomy.json +1 -0
  488. package/dist/stories/components-searchfield--small.webp +0 -0
  489. package/dist/stories/components-searchfield--variants.anatomy.json +1 -0
  490. package/dist/stories/components-searchfield--variants.webp +0 -0
  491. package/dist/stories/components-select-field-multiple-select-field--custom-render-label.anatomy.json +1 -0
  492. package/dist/stories/components-select-field-multiple-select-field--custom-render-label.webp +0 -0
  493. package/dist/stories/components-select-field-multiple-select-field--custom-translation-text.anatomy.json +1 -0
  494. package/dist/stories/components-select-field-multiple-select-field--custom-translation-text.webp +0 -0
  495. package/dist/stories/components-select-field-multiple-select-field--item-disabled-with-tooltip.anatomy.json +1 -0
  496. package/dist/stories/components-select-field-multiple-select-field--item-disabled-with-tooltip.webp +0 -0
  497. package/dist/stories/components-select-field-multiple-select-field--select-all-disabled.anatomy.json +1 -0
  498. package/dist/stories/components-select-field-multiple-select-field--select-all-disabled.webp +0 -0
  499. package/dist/stories/components-select-field-multiple-select-field--show-counter.anatomy.json +1 -0
  500. package/dist/stories/components-select-field-multiple-select-field--show-counter.webp +0 -0
  501. package/dist/stories/components-select-field-multiple-select-field--tooltip-placement.anatomy.json +1 -0
  502. package/dist/stories/components-select-field-multiple-select-field--tooltip-placement.webp +0 -0
  503. package/dist/stories/components-select-field-multiple-select-field--use-labels-collapsed.anatomy.json +1 -0
  504. package/dist/stories/components-select-field-multiple-select-field--use-labels-collapsed.webp +0 -0
  505. package/dist/stories/components-select-field-multiple-select-field--without-filters.anatomy.json +1 -0
  506. package/dist/stories/components-select-field-multiple-select-field--without-filters.webp +0 -0
  507. package/dist/stories/components-select-field-select-field--behavior.anatomy.json +1 -0
  508. package/dist/stories/components-select-field-select-field--behavior.webp +0 -0
  509. package/dist/stories/components-select-field-select-field--grouped.anatomy.json +1 -0
  510. package/dist/stories/components-select-field-select-field--grouped.webp +0 -0
  511. package/dist/stories/components-select-field-select-field--label-and-helper-text.anatomy.json +1 -0
  512. package/dist/stories/components-select-field-select-field--label-and-helper-text.webp +0 -0
  513. package/dist/stories/components-select-field-select-field--medium.anatomy.json +1 -0
  514. package/dist/stories/components-select-field-select-field--medium.webp +0 -0
  515. package/dist/stories/components-select-field-select-field--prefix.anatomy.json +1 -0
  516. package/dist/stories/components-select-field-select-field--prefix.webp +0 -0
  517. package/dist/stories/components-select-field-select-field--small.anatomy.json +1 -0
  518. package/dist/stories/components-select-field-select-field--small.webp +0 -0
  519. package/dist/stories/components-select-field-select-field--variants.anatomy.json +1 -0
  520. package/dist/stories/components-select-field-select-field--variants.webp +0 -0
  521. package/dist/stories/components-snackbar--action.anatomy.json +1 -0
  522. package/dist/stories/components-snackbar--action.webp +0 -0
  523. package/dist/stories/components-snackbar--auto-width.anatomy.json +1 -0
  524. package/dist/stories/components-snackbar--auto-width.webp +0 -0
  525. package/dist/stories/components-snackbar--custom-close-text.anatomy.json +1 -0
  526. package/dist/stories/components-snackbar--custom-close-text.webp +0 -0
  527. package/dist/stories/components-snackbar--custom-icon.anatomy.json +1 -0
  528. package/dist/stories/components-snackbar--custom-icon.webp +0 -0
  529. package/dist/stories/components-snackbar--message.anatomy.json +1 -0
  530. package/dist/stories/components-snackbar--message.webp +0 -0
  531. package/dist/stories/components-snackbar--severity.anatomy.json +1 -0
  532. package/dist/stories/components-snackbar--severity.webp +0 -0
  533. package/dist/stories/components-tablepaginationactions--custom-tooltip.anatomy.json +1 -0
  534. package/dist/stories/components-tablepaginationactions--custom-tooltip.webp +0 -0
  535. package/dist/stories/components-tablepaginationactions--states.anatomy.json +1 -0
  536. package/dist/stories/components-tablepaginationactions--states.webp +0 -0
  537. package/dist/stories/components-tag--colors.anatomy.json +1 -0
  538. package/dist/stories/components-tag--colors.webp +0 -0
  539. package/dist/stories/components-tag--types.anatomy.json +1 -0
  540. package/dist/stories/components-tag--types.webp +0 -0
  541. package/dist/stories/components-tag--variants.anatomy.json +1 -0
  542. package/dist/stories/components-tag--variants.webp +0 -0
  543. package/dist/stories/components-tag--with-icons.anatomy.json +1 -0
  544. package/dist/stories/components-tag--with-icons.webp +0 -0
  545. package/dist/stories/components-tooltip-tooltipdata--data.anatomy.json +1 -0
  546. package/dist/stories/components-tooltip-tooltipdata--data.webp +0 -0
  547. package/dist/stories/components-typography--color.anatomy.json +1 -0
  548. package/dist/stories/components-typography--color.webp +0 -0
  549. package/dist/stories/components-typography--variant.anatomy.json +1 -0
  550. package/dist/stories/components-typography--variant.webp +0 -0
  551. package/dist/stories/components-typography--weight.anatomy.json +1 -0
  552. package/dist/stories/components-typography--weight.webp +0 -0
  553. package/dist/stories/components-uploadfield--behavior.anatomy.json +1 -0
  554. package/dist/stories/components-uploadfield--behavior.webp +0 -0
  555. package/dist/stories/components-uploadfield--label-and-helper-text.anatomy.json +1 -0
  556. package/dist/stories/components-uploadfield--label-and-helper-text.webp +0 -0
  557. package/dist/stories/components-uploadfield--medium.anatomy.json +1 -0
  558. package/dist/stories/components-uploadfield--medium.webp +0 -0
  559. package/dist/stories/components-uploadfield--small.anatomy.json +1 -0
  560. package/dist/stories/components-uploadfield--small.webp +0 -0
  561. package/dist/stories/components-uploadfield--variants.anatomy.json +1 -0
  562. package/dist/stories/components-uploadfield--variants.webp +0 -0
  563. package/dist/stories/patterns-copiablecomponent--custom-icon.anatomy.json +1 -0
  564. package/dist/stories/patterns-copiablecomponent--custom-icon.webp +0 -0
  565. package/dist/stories/patterns-copiablecomponent--custom-snackbar-props.anatomy.json +1 -0
  566. package/dist/stories/patterns-copiablecomponent--custom-snackbar-props.webp +0 -0
  567. package/dist/stories/patterns-copiablecomponent--tooltip.anatomy.json +1 -0
  568. package/dist/stories/patterns-copiablecomponent--tooltip.webp +0 -0
  569. package/dist/stories/patterns-copiablecomponent--variants.anatomy.json +1 -0
  570. package/dist/stories/patterns-copiablecomponent--variants.webp +0 -0
  571. package/dist/stories/patterns-copiableinputtext--long-value.anatomy.json +1 -0
  572. package/dist/stories/patterns-copiableinputtext--long-value.webp +0 -0
  573. package/dist/stories/patterns-copiableinputtext--sizes.anatomy.json +1 -0
  574. package/dist/stories/patterns-copiableinputtext--sizes.webp +0 -0
  575. package/dist/stories/patterns-copiableinputtext--states.anatomy.json +1 -0
  576. package/dist/stories/patterns-copiableinputtext--states.webp +0 -0
  577. package/dist/stories/patterns-copiableinputtext--variants.anatomy.json +1 -0
  578. package/dist/stories/patterns-copiableinputtext--variants.webp +0 -0
  579. package/dist/stories/patterns-ellipsiswithtooltip--always-show-tooltip.anatomy.json +1 -0
  580. package/dist/stories/patterns-ellipsiswithtooltip--always-show-tooltip.webp +0 -0
  581. package/dist/stories/patterns-ellipsiswithtooltip--composition.anatomy.json +1 -0
  582. package/dist/stories/patterns-ellipsiswithtooltip--composition.webp +0 -0
  583. package/dist/stories/patterns-ellipsiswithtooltip--content.anatomy.json +1 -0
  584. package/dist/stories/patterns-ellipsiswithtooltip--content.webp +0 -0
  585. package/dist/stories/patterns-ellipsiswithtooltip--middle-ellipsis-alignment.anatomy.json +1 -0
  586. package/dist/stories/patterns-ellipsiswithtooltip--middle-ellipsis-alignment.webp +0 -0
  587. package/dist/stories/patterns-ellipsiswithtooltip--pseudo-hover.anatomy.json +1 -0
  588. package/dist/stories/patterns-ellipsiswithtooltip--pseudo-hover.webp +0 -0
  589. package/dist/theme/index.cjs +3 -1
  590. package/dist/theme/index.js +3 -1
  591. package/dist/types/components/AccordionGroup/AccordionGroup.stories.d.ts.map +1 -1
  592. package/dist/types/components/AppBar/AppBar.stories.d.ts.map +1 -1
  593. package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.metadata.d.ts.map +1 -1
  594. package/dist/types/components/Autocomplete/utils/utils.d.ts.map +1 -1
  595. package/dist/types/components/Button/Button.d.ts +15 -1
  596. package/dist/types/components/Button/Button.d.ts.map +1 -1
  597. package/dist/types/components/Button/Button.stories.d.ts +13 -0
  598. package/dist/types/components/Button/Button.stories.d.ts.map +1 -1
  599. package/dist/types/components/Dialog/Dialog/Dialog.stories.d.ts +36 -0
  600. package/dist/types/components/Dialog/Dialog/Dialog.stories.d.ts.map +1 -1
  601. package/dist/types/components/Dialog/DialogContent/DialogContent.d.ts +0 -12
  602. package/dist/types/components/Dialog/DialogContent/DialogContent.d.ts.map +1 -1
  603. package/dist/types/components/Dialog/DialogContent/useScrollBorders.d.ts +29 -0
  604. package/dist/types/components/Dialog/DialogContent/useScrollBorders.d.ts.map +1 -0
  605. package/dist/types/components/Dialog/DialogContent/useScrollBorders.test.d.ts +2 -0
  606. package/dist/types/components/Dialog/DialogContent/useScrollBorders.test.d.ts.map +1 -0
  607. package/dist/types/components/Dialog/index.d.ts +2 -0
  608. package/dist/types/components/Dialog/index.d.ts.map +1 -1
  609. package/dist/types/components/EllipsisWithTooltip/EllipsisWithTooltip.stories.d.ts.map +1 -1
  610. package/dist/types/components/EmptyState/EmptyState.stories.d.ts +1 -0
  611. package/dist/types/components/EmptyState/EmptyState.stories.d.ts.map +1 -1
  612. package/dist/types/components/IconButton/IconButton.d.ts.map +1 -1
  613. package/dist/types/components/IconButton/IconButton.stories.d.ts.map +1 -1
  614. package/dist/types/components/IconButton/IconButton.test.d.ts +0 -1
  615. package/dist/types/components/IconButton/IconButton.test.d.ts.map +1 -1
  616. package/dist/types/components/IconButton/IconButton.warnings.test.d.ts +1 -0
  617. package/dist/types/components/IconButton/IconButton.warnings.test.d.ts.map +1 -0
  618. package/dist/types/components/IconWrapper/IconWrapper.stories.d.ts.map +1 -1
  619. package/dist/types/components/List/List.stories.d.ts.map +1 -1
  620. package/dist/types/components/List/ListItem/ListItem.stories.d.ts.map +1 -1
  621. package/dist/types/components/Loader/Loader.stories.d.ts +1 -0
  622. package/dist/types/components/Loader/Loader.stories.d.ts.map +1 -1
  623. package/dist/types/components/Menu/Menu/Menu.stories.d.ts.map +1 -1
  624. package/dist/types/components/SearchField/SearchField.metadata.d.ts +5 -0
  625. package/dist/types/components/SearchField/SearchField.metadata.d.ts.map +1 -1
  626. package/dist/types/components/SelectField/MultipleSelectField/MultipleSelectField.metadata.d.ts.map +1 -1
  627. package/dist/types/components/SelectField/SelectField/SelectField.metadata.d.ts.map +1 -1
  628. package/dist/types/components/SelectField/SelectField/SelectField.stories.d.ts.map +1 -1
  629. package/dist/types/components/SplitButton/SplitButton.d.ts +3 -1
  630. package/dist/types/components/SplitButton/SplitButton.d.ts.map +1 -1
  631. package/dist/types/components/SplitButton/SplitButton.stories.d.ts +17 -0
  632. package/dist/types/components/SplitButton/SplitButton.stories.d.ts.map +1 -1
  633. package/dist/types/components/Tag/Tag.stories.d.ts +1 -1
  634. package/dist/types/components/ToggleButtonGroup/ToggleButtonGroup.stories.d.ts.map +1 -1
  635. package/dist/types/custom-icons/__docs__/CustomIcons.stories.d.ts.map +1 -1
  636. package/dist/types/custom-icons/__docs__/icon-keywords.d.ts +1 -2
  637. package/dist/types/custom-icons/__docs__/icon-keywords.d.ts.map +1 -1
  638. package/dist/types/eslint-rules/index.d.ts +158 -0
  639. package/dist/types/eslint-rules/index.d.ts.map +1 -0
  640. package/dist/types/eslint-rules/index.test.d.ts +2 -0
  641. package/dist/types/eslint-rules/index.test.d.ts.map +1 -0
  642. package/dist/types/eslint-rules/meridian-components.d.ts +9 -0
  643. package/dist/types/eslint-rules/meridian-components.d.ts.map +1 -0
  644. package/dist/types/theme/components/stories/ButtonGroup.stories.d.ts.map +1 -1
  645. package/dist/types/theme/components/stories/Divider.stories.d.ts.map +1 -1
  646. package/dist/types/theme/components/stories/FAB.stories.d.ts.map +1 -1
  647. package/dist/types/theme/components/stories/Switch.stories.d.ts.map +1 -1
  648. package/dist/types/utils/dev-warnings.d.ts +7 -0
  649. package/dist/types/utils/dev-warnings.d.ts.map +1 -0
  650. package/dist/types/utils/dev-warnings.test.d.ts +1 -0
  651. package/dist/types/utils/dev-warnings.test.d.ts.map +1 -0
  652. package/dist/types/utils/spacing-steps.d.ts +4 -0
  653. package/dist/types/utils/spacing-steps.d.ts.map +1 -0
  654. package/dist/types/utils/theme-constants.d.ts +2 -0
  655. package/dist/types/utils/theme-constants.d.ts.map +1 -1
  656. package/dist/{utils-DeuEpVVh.js → utils-BOrXorzC.js} +22 -2
  657. package/dist/{utils-B2bWHJl-.cjs → utils-CKBWUAeM.cjs} +20 -0
  658. package/package.json +13 -3
package/CHANGELOG.md CHANGED
@@ -2,10 +2,19 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
- - feat(ai-metadata): one-call get_component lookups, minified MCP payloads and design-review conventions [sc-578601] [sc-578639] [#563](https://github.com/CartoDB/meridian-ds/pull/563)
6
-
7
5
  ## 5.0
8
6
 
7
+ ### 5.2.0
8
+
9
+ - feat(dialog): export useScrollBorders hook for scroll-edge borders [sc-578988] [#564](https://github.com/CartoDB/meridian-ds/pull/564)
10
+ - feat(button): `tooltip` on Button and SplitButton — shown on hover even while disabled, and linked as the button's description; with it set, the button renders inside a wrapper span [sc-579530] [#563](https://github.com/CartoDB/meridian-ds/pull/563)
11
+ - feat(icon-button): logs a dev-only `console.error` when an IconButton has no accessible name — test setups that fail on `console.error` need a `tooltip` or `aria-label` on those buttons [sc-579530] [#563](https://github.com/CartoDB/meridian-ds/pull/563)
12
+ - feat(eslint-rules): new `@carto/meridian-ds/eslint-rules` export — Meridian's design rules as `no-restricted-syntax` entries plus generated MUI restricted imports, for `.eslintrc` or flat config; `SPACING_STEPS` exported from `@carto/meridian-ds/theme` [sc-579313] [#563](https://github.com/CartoDB/meridian-ds/pull/563)
13
+ - feat(ai-metadata): leaner MCP — minified results, compact catalogs (`list_icons` is now plain text; `list_components` lists family members by name), `get_component` takes `names` and returns `example`/`moreExamples`/`propTypes` instead of `description`/`examples.stories` [sc-578601] [sc-578984] [#563](https://github.com/CartoDB/meridian-ds/pull/563)
14
+ - feat(ai-metadata): conventions absorb the generic design-review rules; decision trees point list filters at FilterDropdown [sc-578639] [sc-580037] [#563](https://github.com/CartoDB/meridian-ds/pull/563)
15
+ - feat(ai-metadata): Meridian's own rendering per curated story — `meridian_get_screenshot(storyId)` and new `meridian_get_anatomy(storyId)`, shipped in `dist/stories/` [sc-580343] [#568](https://github.com/CartoDB/meridian-ds/pull/568)
16
+ - chore(stories): stories follow Meridian's design rules, enforced by lint [sc-579467] [#563](https://github.com/CartoDB/meridian-ds/pull/563)
17
+
9
18
  ### 5.1.3
10
19
 
11
20
  - fix(ai-metadata): allow fractional spacing steps; give design team ownership of design-system paths [sc-577069] [#558](https://github.com/CartoDB/meridian-ds/pull/558)
@@ -33,14 +33,17 @@ function resolveBundlePath() {
33
33
  var DOCS = [];
34
34
  var KNOWN = [];
35
35
  var ICONS = [];
36
+ var ICONS_TEXT = "";
36
37
  var TOKENS;
37
38
  var SCREENSHOTS = {};
39
+ var STORY_REFS = {};
40
+ var DIST_DIR = "";
38
41
  var CONVENTIONS = "";
39
42
  var VERSION = "0.0.0";
40
43
  var TOOLS = [
41
44
  {
42
45
  name: "meridian_list_components",
43
- description: "List all Meridian components with their description and keywords, plus a family signal where relevant (`subComponents` for a compound component, `variants` for sibling components chosen between \u2014 each with a one-line description). Start here: the catalog is small, so read it and pick the component whose description/keywords match your need. Rows flagged `documented: false` are not yet curated (no when-to-use/decisionTree/prop guidance): most still have example stories via get_examples; a few are known-only \u2014 real, importable components with no stories yet, for which get_component/get_examples just point at the type declarations.",
46
+ description: "The Meridian component catalog \u2014 start here. Each row has a description and keywords, plus by name: `subComponents` (parts it's composed with), `variants` (siblings chosen between) and `relatedExports` (hooks/utils/constants). Pick by meaning (there's no search tool), then call meridian_get_component. `documented: false` marks components with no curation yet \u2014 lean on meridian_get_examples and the .d.ts for those.",
44
47
  inputSchema: {
45
48
  type: "object",
46
49
  properties: {},
@@ -49,7 +52,7 @@ var TOOLS = [
49
52
  },
50
53
  {
51
54
  name: "meridian_get_component",
52
- description: "Curation for one component (or several, via `names`): when to use it, its decisionTree (when to reach for a different component), any limitations (capabilities it lacks vs. similar components \u2014 check before downgrading from one), and the high-value inherited MUI props (curation.mui, some with an aiHint). Own props, types, and JSDoc are NOT here \u2014 read the shipped .d.ts (the propTypes field gives the exact command). The lead usage story ships its code inline (`examples.stories[0].code`) \u2014 call meridian_get_examples only for other stories. For a not-yet-curated component (`documented: false`) it returns a note + .d.ts pointer in place of curation \u2014 plus its example stories when any exist (a known-only component has none, so rely on the .d.ts). Sub-components and variants (`DialogHeader`, `MultipleAutocomplete`, \u2026) have no standalone catalog entry \u2014 `meridian_get_component`/`meridian_get_examples` on them return a pointer to the parent (check its `curation.subComponents`/`curation.variants`).",
55
+ description: "Everything to use a component, in one call: when to use it, its decisionTree (when another component fits better), limitations, high-value inherited MUI props (`curation.mui`), family members with descriptions, and the lead usage story's code (`example.code`; `moreExamples` counts the rest, via meridian_get_examples). Own props/types/JSDoc ship in the .d.ts files listed in `propTypes`. Pass `names` for several components at once. A family member's name (e.g. `DialogHeader`) returns a pointer to its parent.",
53
56
  inputSchema: {
54
57
  type: "object",
55
58
  properties: {
@@ -65,7 +68,7 @@ var TOOLS = [
65
68
  },
66
69
  {
67
70
  name: "meridian_get_examples",
68
- description: "Real, copy-able example code (per Storybook story, with imports), shipped in the package. With no storyId: the lead usage story and the notable stories in full, plus an 'Other Stories' list (name + id) of the rest. Pass a storyId (from that list or meridian_get_component) to get just that story's full code. Sub-components and variants (`DialogHeader`, `MultipleAutocomplete`, \u2026) have no standalone catalog entry \u2014 `meridian_get_component`/`meridian_get_examples` on them return a pointer to the parent (check its `curation.subComponents`/`curation.variants`).",
71
+ description: "Copy-able example code from a component's stories. With no storyId: the lead usage story and the notable stories in full, plus an index (name + id) of the rest. With a storyId: just that story. Family member names point to their parent, as in meridian_get_component.",
69
72
  inputSchema: {
70
73
  type: "object",
71
74
  properties: {
@@ -81,7 +84,7 @@ var TOOLS = [
81
84
  },
82
85
  {
83
86
  name: "meridian_get_conventions",
84
- description: "Mandatory system-wide Meridian rules to apply whenever generating or editing UI (component selection, a11y, i18n, styling/theme tokens, props, examples). Call this once per session BEFORE writing code and follow it \u2014 these rules are not repeated in the per-component data.",
87
+ description: `Mandatory system-wide Meridian rules (component choice, a11y, i18n, styling/tokens, props, examples). Call once per session BEFORE writing UI code and follow them \u2014 the per-component data doesn't repeat them. Skip it if your context already has the "Meridian usage conventions" doc (e.g. a skill loaded it).`,
85
88
  inputSchema: {
86
89
  type: "object",
87
90
  properties: {},
@@ -90,7 +93,7 @@ var TOOLS = [
90
93
  },
91
94
  {
92
95
  name: "meridian_list_icons",
93
- description: "List every Meridian custom icon by name, with search keywords where curated (e.g. Bigquery \u2192 warehouse/database). There's no search tool \u2014 match by meaning against the name + keywords. Import the one you pick from '@carto/meridian-ds/custom-icons' and render it as `<Name />`. All icons share one prop type (CustomIconProps): MUI SvgIconProps \u2014 `color`, `fontSize`, `sx`, \u2026 \u2014 plus `width`/`height`; the result's `props` field has the details and the .d.ts pointer. Prefer a Meridian custom icon over an ad-hoc SVG or a MUI icon.",
96
+ description: "Every Meridian custom icon by name, with search keywords where curated (e.g. `Bigquery: warehouse, database`). Match by meaning; import from '@carto/meridian-ds/custom-icons' and render `<Name />`. Prefer these over an ad-hoc SVG or a MUI icon.",
94
97
  inputSchema: {
95
98
  type: "object",
96
99
  properties: {},
@@ -99,7 +102,7 @@ var TOOLS = [
99
102
  },
100
103
  {
101
104
  name: "meridian_get_tokens",
102
- description: "The design tokens (exact values) to reference instead of hardcoding: palette (semantic text/background/action/divider, the intents, and the color scales), the typography ramp (per-variant fontSize/fontWeight/lineHeight/letterSpacing), spacing base, shape.borderRadius, breakpoints, and shadows. Use these with the rules in meridian_get_conventions (which says to use tokens, not raw hex/px) \u2014 this tool supplies the actual values. Projected from the theme, so it always matches the installed Meridian version. These are theme-level tokens (the global palette/type/spacing scale); for a component's internal spacing (e.g. Button padding, List row gap) use meridian_get_component, not this.",
105
+ description: "Exact theme token values to use instead of hardcoding: palette, typography ramp, spacing base, shape.borderRadius, breakpoints and shadows \u2014 projected from the installed version's theme. Theme-level only: a component's internal spacing comes from meridian_get_component.",
103
106
  inputSchema: {
104
107
  type: "object",
105
108
  properties: {},
@@ -108,17 +111,32 @@ var TOOLS = [
108
111
  },
109
112
  {
110
113
  name: "meridian_get_screenshot",
111
- description: "Returns the filesystem path to a labeled reference screenshot. name='icons' is a grid of EVERY custom icon (each glyph captioned with its import name). Read that image to visually confirm an icon you shortlisted from meridian_list_icons, or to match one in a design you're implementing, then use its exact name. Deliberately returns a path (not an inline image) \u2014 portable, cheap per call, and reusable by a consumer app's picker. Requires a runtime that can read images (e.g. Claude Code); headless/non-multimodal callers can skip it. Call with no name to list the available screenshots.",
114
+ description: "Path to a reference image. name='icons' is a grid of every custom icon captioned with its import name. Any curated component's story id (e.g. 'components-alert--layout', from meridian_get_component's `example.id` or meridian_get_examples) returns Meridian's own rendering of that story at 1280\xD7800 \u2014 compare it with your build to tell an app composing a component wrong from Meridian rendering it wrong. Needs an image-capable runtime. Omit name to list the labeled screenshots.",
112
115
  inputSchema: {
113
116
  type: "object",
114
117
  properties: {
115
118
  name: {
116
119
  type: "string",
117
- description: "Which screenshot to return (e.g. 'icons'). Omit to list the available ones."
120
+ description: "'icons', or a story id. Omit to list the labeled screenshots."
118
121
  }
119
122
  },
120
123
  additionalProperties: false
121
124
  }
125
+ },
126
+ {
127
+ name: "meridian_get_anatomy",
128
+ description: "Slot geometry of Meridian's own rendering of a story: each MUI component instance with its box, and its slots' boxes (e.g. Alert `icon`/`message`/`action`) relative to that instance, so they compare across widths. Matches meridian_get_screenshot for the same story id. Use it to measure where a component's parts should sit.",
129
+ inputSchema: {
130
+ type: "object",
131
+ properties: {
132
+ storyId: {
133
+ type: "string",
134
+ description: "A curated component's story id, e.g. 'components-alert--layout'."
135
+ }
136
+ },
137
+ required: ["storyId"],
138
+ additionalProperties: false
139
+ }
122
140
  }
123
141
  ];
124
142
  var find = (name) => DOCS.find((d) => d.name.toLowerCase() === String(name).toLowerCase());
@@ -132,10 +150,9 @@ function notFound(name) {
132
150
  error: `No Meridian component named "${name}" (check the spelling). See meridian_list_components for the catalog.`
133
151
  };
134
152
  }
135
- function dtsFindRecipe(...names) {
136
- const root = "find node_modules/@carto/meridian-ds/dist/types";
137
- const clauses = names.map((n) => `-name '${n}.d.ts'`);
138
- return names.length > 1 ? `${root} \\( ${clauses.join(" -o ")} \\)` : `${root} ${clauses[0]}`;
153
+ var DTS_ROOT = "node_modules/@carto/meridian-ds/dist/types";
154
+ function dtsFindRecipe(name) {
155
+ return `find ${DTS_ROOT} -name '${name}.d.ts'`;
139
156
  }
140
157
  function familyParent(name) {
141
158
  const lc = String(name).toLowerCase();
@@ -160,22 +177,6 @@ function partitionExamples(examples) {
160
177
  const inShown = new Set(shown);
161
178
  return { shown, rest: examples.filter((e) => !inShown.has(e)) };
162
179
  }
163
- function exampleStories(examples) {
164
- const { shown, rest } = partitionExamples(examples);
165
- const leadId = shown[0]?.id;
166
- const ordered = [
167
- ...shown,
168
- ...rest.filter((e) => e.summary),
169
- ...rest.filter((e) => !e.summary)
170
- ];
171
- return ordered.map((e) => ({
172
- id: e.id,
173
- name: titleize(e.name),
174
- ...e.id === leadId ? { lead: true } : {},
175
- ...e.summary ? { summary: e.summary } : {},
176
- ...e.id === leadId ? { code: e.code } : {}
177
- }));
178
- }
179
180
  function listComponents() {
180
181
  return DOCS.map((d) => ({
181
182
  name: d.name,
@@ -185,20 +186,14 @@ function listComponents() {
185
186
  // examples + the .d.ts are still available. Documented rows omit the flag.
186
187
  ...d.documented ? {} : { documented: false },
187
188
  keywords: d.curation.keywords ?? [],
188
- // Family signal: the parts a compound component is composed with, and the
189
- // sibling variants chosen between — each as { name, description } (same shape
190
- // as get_component) so an agent can pick a family member while scanning.
191
- ...d.curation.subComponents?.length ? { subComponents: d.curation.subComponents } : {},
192
- ...d.curation.variants?.length ? { variants: d.curation.variants } : {},
193
- // The public hooks/utils/constants that ship with this component — name,
194
- // kind, and description (same as subComponents/variants, so an agent can pick
195
- // one while scanning without a get_component round-trip). get_component adds
196
- // `import` (the entry point — constant across the family, so omitted here).
189
+ // Family members and related exports by name only; get_component carries
190
+ // their descriptions.
191
+ ...d.curation.subComponents?.length ? { subComponents: d.curation.subComponents.map(subName) } : {},
192
+ ...d.curation.variants?.length ? { variants: d.curation.variants.map(subName) } : {},
197
193
  ...d.curation.relatedExports?.length ? {
198
194
  relatedExports: d.curation.relatedExports.map((e) => ({
199
195
  name: relatedName(e),
200
- ...typeof e === "object" && e.kind ? { kind: e.kind } : {},
201
- ...typeof e === "object" && e.description ? { description: e.description } : {}
196
+ ...typeof e === "object" && e.kind ? { kind: e.kind } : {}
202
197
  }))
203
198
  } : {}
204
199
  }));
@@ -206,30 +201,35 @@ function listComponents() {
206
201
  function getComponent(name) {
207
202
  const doc = find(name);
208
203
  if (!doc) return familyRedirect(name) ?? notFound(name);
209
- const parts = (doc.curation.subComponents ?? []).map(subName);
210
- const dtsGlob = dtsFindRecipe(doc.name, ...parts);
211
- const compound = parts.length > 0 ? `${doc.name} is a compound component \u2014 compose it with its parts: ${parts.join(", ")}. ` : "";
212
204
  const parent = doc.documented ? void 0 : familyParent(doc.name);
213
- const sourceHint = doc.examples.length ? "Use the examples below and its type declarations" : "No example stories ship for it either \u2014 rely on its type declarations (the propTypes recipe below)";
205
+ const sourceHint = doc.examples.length ? "Use its example and type declarations" : "No example stories ship for it either \u2014 rely on its type declarations";
214
206
  const note = doc.documented ? void 0 : `${parent ? `${doc.name} is a ${parent.role} of ${parent.parent} \u2014 compose it within ${parent.parent} (see meridian_get_component('${parent.parent}')). ` : ""}Not yet curated: no when-to-use / decisionTree / keywords / promoted-prop guidance for this component. ${sourceHint} \u2014 and still prefer it over a bare MUI equivalent.`;
207
+ const { keywords: _keywords, relatedExports, ...curation } = doc.curation;
208
+ const lead = partitionExamples(doc.examples).shown[0];
215
209
  return {
216
210
  name: doc.name,
217
- description: doc.description,
218
211
  documented: doc.documented,
219
212
  ...note ? { note } : {},
220
- curation: doc.curation,
221
- // Own props/types/JSDoc aren't in the bundle by design; point a headless
222
- // agent at the shipped .d.ts (no IDE/hover assumed) — for the root and, for a
223
- // compound component, every part. Promoted inherited MUI props, when curated,
224
- // are already in `curation.mui` above.
225
- propTypes: `${compound}Own props, exact types, and JSDoc are not in this payload \u2014 they ship as TypeScript declarations. Read them from the installed package: \`${dtsGlob}\`. Import from '@carto/meridian-ds/components'.`,
226
- examples: doc.examples.length ? {
227
- note: "Stories are ordered by copy-value; the flagged lead (with its code) is the starting point. Call meridian_get_examples(name, storyId) for any other story.",
228
- stories: exampleStories(doc.examples)
229
- } : {
230
- note: "No example stories ship for this component yet \u2014 read its props from the .d.ts (see propTypes above).",
231
- stories: []
232
- }
213
+ curation: {
214
+ ...curation,
215
+ ...relatedExports?.length ? {
216
+ relatedExports: relatedExports.map((e) => {
217
+ if (typeof e !== "object") return e;
218
+ const { import: _import, ...rest } = e;
219
+ return rest;
220
+ })
221
+ } : {}
222
+ },
223
+ // The .d.ts files holding own props/types/JSDoc — the root and, for a compound
224
+ // component, every part — globbed under the install path.
225
+ propTypes: [
226
+ doc.name,
227
+ ...(doc.curation.subComponents ?? []).map(subName)
228
+ ].map((n) => `${DTS_ROOT}/**/${n}.d.ts`),
229
+ ...lead ? {
230
+ example: { id: lead.id, name: titleize(lead.name), code: lead.code },
231
+ ...doc.examples.length > 1 ? { moreExamples: doc.examples.length - 1 } : {}
232
+ } : {}
233
233
  };
234
234
  }
235
235
  function titleize(name) {
@@ -290,35 +290,70 @@ Fetch any with meridian_get_examples(storyId):
290
290
  }
291
291
  return md;
292
292
  }
293
+ var SCOPE_HINT = {
294
+ element: " (cropped to the story root)",
295
+ page: " (full page, with portaled content)"
296
+ };
293
297
  function getScreenshot(name) {
294
298
  const available = Object.keys(SCREENSHOTS);
299
+ const story = STORY_REFS[name];
300
+ if (story)
301
+ return {
302
+ path: path.join(DIST_DIR, story.image),
303
+ ...story.scope && { scope: story.scope },
304
+ hint: `Meridian's rendering of ${name} at 1280\xD7800${story.scope ? SCOPE_HINT[story.scope] : ""}. meridian_get_anatomy('${name}') gives its slot boxes.`
305
+ };
295
306
  const shot = name ? SCREENSHOTS[name] : void 0;
296
307
  if (!shot || !fs.existsSync(shot.path))
297
308
  return name ? {
298
- error: `No screenshot named "${name}". Available: ${available.join(", ") || "(none \u2014 run `yarn metadata:screenshots` and rebuild)"}.`
309
+ error: `No screenshot named "${name}". Available: ${available.join(", ") || "(none \u2014 run `yarn metadata:screenshots` and rebuild)"}, or a curated component's story id (see meridian_get_examples).`
299
310
  } : { available };
300
311
  return { path: shot.path, count: shot.count, hint: shot.hint };
301
312
  }
302
- function listIcons() {
313
+ function getAnatomy(storyId) {
314
+ const ref = STORY_REFS[storyId];
315
+ if (!ref)
316
+ return {
317
+ error: `No reference rendering for "${storyId}". Use a curated component's story id (see meridian_get_examples).`
318
+ };
319
+ if (!ref.anatomy)
320
+ return {
321
+ error: `No anatomy captured for "${storyId}" yet; meridian_get_screenshot('${storyId}') still has its image.`
322
+ };
303
323
  return {
304
- note: "Import from '@carto/meridian-ds/custom-icons' and render as <Name />. Match by name or keywords \u2014 there's no search tool. To see the glyphs, call meridian_get_screenshot({name:'icons'}) and Read the returned image path.",
305
- props: "Every icon is an identical forwardRef component sharing one prop type, CustomIconProps: MUI SvgIconProps \u2014 color, fontSize ('small'|'medium'|'large'|'inherit'), sx, htmlColor, titleAccess \u2014 plus width/height (number|string) to override the fontSize-based size. Prefer color/fontSize for theming/sizing; width/height only for a specific px size. The exact type ships at node_modules/@carto/meridian-ds/dist/types/custom-icons/types.d.ts (the per-icon <Name>.d.ts is identical boilerplate \u2014 no icon-specific props).",
306
- count: ICONS.length,
307
- icons: ICONS
324
+ storyId,
325
+ ...JSON.parse(
326
+ fs.readFileSync(path.join(DIST_DIR, ref.anatomy), "utf8")
327
+ )
308
328
  };
309
329
  }
330
+ function renderIcons() {
331
+ const lines = ICONS.map(
332
+ (i) => i.keywords?.length ? `${i.name}: ${i.keywords.join(", ")}` : i.name
333
+ );
334
+ return [
335
+ `${ICONS.length} Meridian custom icons. Import from '@carto/meridian-ds/custom-icons' and render as <Name />. Match by name or keywords \u2014 there's no search tool. To see the glyphs, call meridian_get_screenshot({name:'icons'}) and Read the returned image path.`,
336
+ "Props: every icon is an identical forwardRef component sharing one prop type, CustomIconProps: MUI SvgIconProps \u2014 color, fontSize ('small'|'medium'|'large'|'inherit'), sx, htmlColor, titleAccess \u2014 plus width/height (number|string) to override the fontSize-based size. Prefer color/fontSize for theming/sizing; width/height only for a specific px size. The exact type ships at node_modules/@carto/meridian-ds/dist/types/custom-icons/types.d.ts.",
337
+ "Icons (Name: keywords):",
338
+ ...lines
339
+ ].join("\n");
340
+ }
310
341
  function callTool(name, args) {
311
342
  switch (name) {
312
343
  case "meridian_list_components":
313
344
  return listComponents();
314
345
  case "meridian_list_icons":
315
- return listIcons();
346
+ return ICONS_TEXT;
316
347
  case "meridian_get_tokens":
317
348
  return TOKENS ?? { error: "No tokens in this bundle." };
318
349
  case "meridian_get_screenshot":
319
350
  return getScreenshot(String(args.name ?? ""));
351
+ case "meridian_get_anatomy":
352
+ return getAnatomy(String(args.storyId ?? args.name ?? ""));
320
353
  case "meridian_get_component":
321
- return Array.isArray(args.names) ? args.names.map((n) => getComponent(String(n))) : getComponent(String(args.name ?? ""));
354
+ if (Array.isArray(args.names))
355
+ return args.names.map((n) => getComponent(String(n)));
356
+ return getComponent(String(args.names ?? args.name ?? ""));
322
357
  case "meridian_get_examples":
323
358
  return getComponentExamples(
324
359
  String(args.name ?? ""),
@@ -330,22 +365,15 @@ function callTool(name, args) {
330
365
  throw new Error(`Unknown tool: ${name}`);
331
366
  }
332
367
  }
333
- var SERVER_INSTRUCTIONS = `Meridian Design System knowledge for writing React UI in an app that depends on @carto/meridian-ds.
368
+ var SERVER_INSTRUCTIONS = `Meridian Design System knowledge for writing React UI with @carto/meridian-ds.
334
369
 
335
- REQUIRED FIRST STEP: before writing or editing ANY Meridian UI, call meridian_get_conventions once and follow it for the rest of the session. These are mandatory cross-cutting rules (component selection, a11y, i18n, styling/theme tokens, props, examples) that the per-component data does NOT repeat \u2014 skipping them produces off-spec code.
370
+ REQUIRED FIRST STEP: before writing or editing any Meridian UI, have the conventions in context and follow them for the rest of the session \u2014 the per-component data doesn't repeat those rules. Call meridian_get_conventions once, unless your context already has the "Meridian usage conventions" doc (e.g. a skill loaded it).
336
371
 
337
- Flow:
338
- 1. meridian_get_conventions \u2014 read first; apply throughout the session.
339
- 2. meridian_list_components \u2014 read the (small) catalog and pick by description + keywords. There is no search tool; match by meaning (the model already knows "picker" \u2248 "dropdown" \u2248 "select").
340
- 3. meridian_get_component(name), or {names: [...]} for several at once \u2014 when to use it, its decisionTree (conditions that point to a different component), the high-value inherited MUI props worth knowing (curation.mui; some carry an aiHint), and the lead usage story's code plus the other story ids.
341
- 4. meridian_get_examples(name[, storyId]) \u2014 more copy-able example code. With no storyId: the lead usage story and the notable stories in full plus a list of the rest; pass a storyId for one story's full code.
342
- 5. meridian_list_icons \u2014 when you need an icon, list the custom icons and match by name/keyword; import from '@carto/meridian-ds/custom-icons' and render as <Name />.
343
- 6. meridian_get_tokens \u2014 exact palette/typography/spacing/shape/breakpoint/shadow values to use instead of hardcoding (the conventions say use tokens; this gives the values).
344
- 7. meridian_get_screenshot \u2014 a labeled reference image (name='icons' \u2192 every icon); Read the returned path to visually confirm a shortlisted icon or match one from a design (image-capable runtimes only).
372
+ Then: meridian_list_components to pick \u2192 meridian_get_component (\`names: [...]\` for several; includes the lead example) \u2192 meridian_get_examples only for other stories. Icons: meridian_list_icons. Exact token values: meridian_get_tokens. Meridian's own rendering of a story, for design QA: meridian_get_screenshot(storyId) + meridian_get_anatomy(storyId).
345
373
 
346
- Three tiers of components, by how much each carries (all are real and importable \u2014 always prefer one over a bare MUI equivalent): CURATED (most) have full when-to-use / decisionTree / promoted-prop guidance; LISTED (flagged "documented": false, with example stories) carry no curation yet \u2014 lean on get_examples + the .d.ts; KNOWN (flagged "documented": false, no stories) are real components not yet documented \u2014 get_component/get_examples point you at their type declarations (.d.ts).
374
+ Component tiers \u2014 all real and importable; prefer any of them over a bare MUI equivalent: CURATED (most) have full guidance; LISTED (\`documented: false\`, with stories) have no curation \u2014 use the examples + .d.ts; KNOWN (\`documented: false\`, no stories) have only the .d.ts.
347
375
 
348
- Exact own props, types, and JSDoc are NOT served here \u2014 they ship as TypeScript declarations in the installed package. Read them with: find node_modules/@carto/meridian-ds/dist/types -name '<Component>.d.ts'. Import the component from '@carto/meridian-ds/components'. Prefer a Meridian component over a bare MUI one whenever one exists.`;
376
+ Own props, types and JSDoc ship as TypeScript declarations: find node_modules/@carto/meridian-ds/dist/types -name '<Component>.d.ts'. Import components from '@carto/meridian-ds/components'.`;
349
377
  function send(msg) {
350
378
  process.stdout.write(JSON.stringify(msg) + "\n");
351
379
  }
@@ -401,6 +429,7 @@ function load() {
401
429
  DOCS = bundle.components;
402
430
  KNOWN = bundle.knownComponents ?? [];
403
431
  ICONS = bundle.icons ?? [];
432
+ ICONS_TEXT = renderIcons();
404
433
  TOKENS = bundle.tokens;
405
434
  SCREENSHOTS = Object.fromEntries(
406
435
  Object.entries(bundle.screenshots ?? {}).map(([key, s]) => [
@@ -412,6 +441,8 @@ function load() {
412
441
  }
413
442
  ])
414
443
  );
444
+ DIST_DIR = path.dirname(bundlePath);
445
+ STORY_REFS = bundle.storyReferences ?? {};
415
446
  CONVENTIONS = bundle.conventions;
416
447
  VERSION = bundle.version;
417
448
  process.stderr.write(
@@ -7,7 +7,7 @@ const paletteUtils = require("../palette-utils-NhMBL9rx.cjs");
7
7
  const iconsMaterial = require("@mui/icons-material");
8
8
  const ArrowDown = require("../ArrowDown-84Oc8r9k.cjs");
9
9
  const ReactWindow = require("react-window");
10
- const utils = require("../utils-B2bWHJl-.cjs");
10
+ const utils = require("../utils-CKBWUAeM.cjs");
11
11
  const Search = require("../Search-BsaXrSzs.cjs");
12
12
  require("cartocolor");
13
13
  const reactCodemirror2 = require("react-codemirror2");
@@ -72,6 +72,21 @@ const ScreenReaderOnly = material.styled("span")(() => ({
72
72
  whiteSpace: "nowrap",
73
73
  border: 0
74
74
  }));
75
+ const idCounter = {};
76
+ function uniqueId(prefix = "$lodash$") {
77
+ if (!idCounter[prefix]) {
78
+ idCounter[prefix] = 0;
79
+ }
80
+ const id = ++idCounter[prefix];
81
+ if (prefix === "$lodash$") {
82
+ return `${id}`;
83
+ }
84
+ return `${prefix}${id}`;
85
+ }
86
+ const TooltipAnchor = material.styled("span")({
87
+ display: "inline-flex",
88
+ "&[data-full-width]": { display: "flex", width: "100%" }
89
+ });
75
90
  const loadingIndicator = /* @__PURE__ */ jsxRuntime.jsx(material.CircularProgress, { size: 18, color: "inherit" });
76
91
  function _Button({
77
92
  children,
@@ -84,6 +99,8 @@ function _Button({
84
99
  showExternalIcon = true,
85
100
  screenReaderText,
86
101
  "aria-describedby": ariaDescribedby,
102
+ tooltip,
103
+ tooltipPlacement = "top",
87
104
  ...otherProps
88
105
  }, ref) {
89
106
  const screenReaderTextValue = utils.useTranslationWithFallback(
@@ -92,7 +109,12 @@ function _Button({
92
109
  );
93
110
  const isExternalLink = otherProps.href && external;
94
111
  const isCenterLoading = loading && loadingPosition === void 0;
95
- return /* @__PURE__ */ jsxRuntime.jsx(
112
+ const [tooltipId] = React.useState(() => uniqueId("button-tooltip-"));
113
+ const describedBy = [
114
+ isExternalLink ? "external-hint" : ariaDescribedby,
115
+ tooltip ? tooltipId : void 0
116
+ ].filter(Boolean).join(" ") || void 0;
117
+ const button = /* @__PURE__ */ jsxRuntime.jsx(
96
118
  material.Button,
97
119
  {
98
120
  loading,
@@ -108,7 +130,7 @@ function _Button({
108
130
  rel: "noopener noreferrer"
109
131
  },
110
132
  ref,
111
- "aria-describedby": isExternalLink ? "external-hint" : ariaDescribedby,
133
+ ...describedBy && { "aria-describedby": describedBy },
112
134
  children: /* @__PURE__ */ jsxRuntime.jsxs(
113
135
  paletteUtils.Typography,
114
136
  {
@@ -125,20 +147,14 @@ function _Button({
125
147
  )
126
148
  }
127
149
  );
150
+ if (tooltip === void 0 || tooltip === null) return button;
151
+ return /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: tooltip, placement: tooltipPlacement, describeChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(TooltipAnchor, { "data-full-width": otherProps.fullWidth || void 0, children: [
152
+ button,
153
+ /* @__PURE__ */ jsxRuntime.jsx("span", { hidden: true, id: tooltipId, children: tooltip })
154
+ ] }) });
128
155
  }
129
156
  const Button = React.forwardRef(_Button);
130
157
  Button.displayName = "Button";
131
- const idCounter = {};
132
- function uniqueId(prefix = "$lodash$") {
133
- if (!idCounter[prefix]) {
134
- idCounter[prefix] = 0;
135
- }
136
- const id = ++idCounter[prefix];
137
- if (prefix === "$lodash$") {
138
- return `${id}`;
139
- }
140
- return `${prefix}${id}`;
141
- }
142
158
  const ButtonGroup = material.styled(material.ButtonGroup)(({ theme, size }) => ({
143
159
  "& .MuiButton-root:last-child": {
144
160
  padding: 0,
@@ -148,6 +164,7 @@ const ButtonGroup = material.styled(material.ButtonGroup)(({ theme, size }) => (
148
164
  function SplitButton({
149
165
  options,
150
166
  disabled,
167
+ tooltip,
151
168
  loading,
152
169
  loadingPosition,
153
170
  onClick,
@@ -202,6 +219,7 @@ function SplitButton({
202
219
  Button,
203
220
  {
204
221
  disabled,
222
+ tooltip,
205
223
  loading,
206
224
  loadingPosition,
207
225
  onClick: handleClick,
@@ -1605,17 +1623,11 @@ function createAutocompleteGroupByList({
1605
1623
  });
1606
1624
  return result;
1607
1625
  }
1608
- const warnDeprecatedGroupBy = /* @__PURE__ */ (() => {
1609
- const shownWarnings = /* @__PURE__ */ new Set();
1610
- return (componentName) => {
1611
- if (process.env.NODE_ENV !== "production" && !shownWarnings.has(componentName)) {
1612
- shownWarnings.add(componentName);
1613
- console.warn(
1614
- `${componentName}: The \`groupBy\` prop is deprecated because it breaks virtualization. Use \`createAutocompleteGroupByList\` instead.`
1615
- );
1616
- }
1617
- };
1618
- })();
1626
+ const warnDeprecatedGroupBy = (componentName) => utils.warnOnce({
1627
+ key: `${componentName}:groupBy`,
1628
+ level: "warn",
1629
+ message: `${componentName}: The \`groupBy\` prop is deprecated because it breaks virtualization. Use \`createAutocompleteGroupByList\` instead.`
1630
+ });
1619
1631
  function _Autocomplete({
1620
1632
  disabled,
1621
1633
  loading,
@@ -3676,14 +3688,52 @@ function DialogHeader({
3676
3688
  children && /* @__PURE__ */ jsxRuntime.jsx(DividerBottom, {})
3677
3689
  ] });
3678
3690
  }
3679
- function computeScrollBorders(node, hasFooterAlert) {
3691
+ function computeScrollBorders({
3692
+ node,
3693
+ keepBottomBorder
3694
+ }) {
3680
3695
  const atBottom = Math.abs(node.scrollHeight - node.clientHeight - node.scrollTop) < 1;
3681
3696
  const atTop = node.scrollTop === 0;
3682
3697
  return {
3683
3698
  showTop: !atTop,
3684
- showBottom: !atBottom || Boolean(hasFooterAlert)
3699
+ showBottom: !atBottom || Boolean(keepBottomBorder)
3685
3700
  };
3686
3701
  }
3702
+ function useScrollBorders({
3703
+ keepBottomBorder
3704
+ } = {}) {
3705
+ const theme = material.useTheme();
3706
+ const [node, setNode] = React.useState(null);
3707
+ const updateBorders = React.useCallback(
3708
+ (element) => {
3709
+ const { showTop, showBottom } = computeScrollBorders({
3710
+ node: element,
3711
+ keepBottomBorder
3712
+ });
3713
+ const borderStyle = `1px solid ${theme.palette.divider}`;
3714
+ element.style.borderTop = showTop ? borderStyle : "none";
3715
+ element.style.borderBottom = showBottom ? borderStyle : "none";
3716
+ },
3717
+ [theme.palette.divider, keepBottomBorder]
3718
+ );
3719
+ const onScroll = React.useCallback(
3720
+ (event) => updateBorders(event.currentTarget),
3721
+ [updateBorders]
3722
+ );
3723
+ React.useEffect(() => {
3724
+ if (!node) return;
3725
+ updateBorders(node);
3726
+ }, [node, updateBorders]);
3727
+ React.useEffect(() => {
3728
+ if (!node || typeof ResizeObserver === "undefined") return;
3729
+ const resizeObserver = new ResizeObserver(() => {
3730
+ updateBorders(node);
3731
+ });
3732
+ resizeObserver.observe(node);
3733
+ return () => resizeObserver.disconnect();
3734
+ }, [node, updateBorders]);
3735
+ return { ref: setNode, onScroll };
3736
+ }
3687
3737
  const Content$5 = material.styled(material.DialogContent, {
3688
3738
  shouldForwardProp: (prop) => ![
3689
3739
  "scrollableContent",
@@ -3738,45 +3788,31 @@ function _DialogContent({
3738
3788
  onScroll,
3739
3789
  ...props
3740
3790
  }, ref) {
3741
- const theme = material.useTheme();
3742
3791
  const [contentRef, setContentRef] = React.useState(null);
3743
3792
  React.useImperativeHandle(
3744
3793
  ref,
3745
3794
  () => contentRef,
3746
3795
  [contentRef]
3747
3796
  );
3748
- const updateBorders = React.useCallback(
3797
+ const { ref: scrollBordersRef, onScroll: updateScrollBorders } = useScrollBorders({ keepBottomBorder: hasFooterAlert });
3798
+ const setRefs = React.useCallback(
3749
3799
  (node) => {
3750
- const { showTop, showBottom } = computeScrollBorders(node, hasFooterAlert);
3751
- const borderStyle = `1px solid ${theme.palette.divider}`;
3752
- node.style.borderTop = showTop ? borderStyle : "none";
3753
- node.style.borderBottom = showBottom ? borderStyle : "none";
3800
+ setContentRef(node);
3801
+ scrollBordersRef(node);
3754
3802
  },
3755
- [theme.palette.divider, hasFooterAlert]
3803
+ [scrollBordersRef]
3756
3804
  );
3757
3805
  const handleScroll = React.useCallback(
3758
3806
  (event) => {
3759
- updateBorders(event.target);
3807
+ updateScrollBorders(event);
3760
3808
  onScroll == null ? void 0 : onScroll(event);
3761
3809
  },
3762
- [updateBorders, onScroll]
3810
+ [updateScrollBorders, onScroll]
3763
3811
  );
3764
- React.useEffect(() => {
3765
- if (!contentRef) return;
3766
- updateBorders(contentRef);
3767
- }, [contentRef, updateBorders]);
3768
- React.useEffect(() => {
3769
- if (!contentRef || typeof ResizeObserver === "undefined") return;
3770
- const resizeObserver = new ResizeObserver(() => {
3771
- updateBorders(contentRef);
3772
- });
3773
- resizeObserver.observe(contentRef);
3774
- return () => resizeObserver.disconnect();
3775
- }, [contentRef, updateBorders]);
3776
3812
  return /* @__PURE__ */ jsxRuntime.jsx(
3777
3813
  Content$5,
3778
3814
  {
3779
- ref: setContentRef,
3815
+ ref: setRefs,
3780
3816
  onScroll: handleScroll,
3781
3817
  scrollableContent,
3782
3818
  withGutter,
@@ -8191,3 +8227,4 @@ exports.useAutocompleteRenderOption = useAutocompleteRenderOption;
8191
8227
  exports.useCodeAreaAutocompletion = useCodeAreaAutocompletion;
8192
8228
  exports.useCopyValue = useCopyValue;
8193
8229
  exports.useListContextProps = useListContextProps;
8230
+ exports.useScrollBorders = useScrollBorders;