@carto/meridian-ds 5.1.4-alpha.f9cdbcf.347 → 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.
- package/CHANGELOG.md +11 -3
- package/dist/bin/meridian-ds-mcp.js +53 -4
- package/dist/conventions.md +1 -1
- package/dist/eslint-rules/index.cjs +138 -107
- package/dist/eslint-rules/index.js +138 -107
- package/dist/metadata.json +1517 -52
- package/dist/stories/components-accordion-group--behavior.anatomy.json +1 -0
- package/dist/stories/components-accordion-group--behavior.webp +0 -0
- package/dist/stories/components-accordion-group--size.anatomy.json +1 -0
- package/dist/stories/components-accordion-group--size.webp +0 -0
- package/dist/stories/components-accordion-group--summary.anatomy.json +1 -0
- package/dist/stories/components-accordion-group--summary.webp +0 -0
- package/dist/stories/components-accordion-group--variants.anatomy.json +1 -0
- package/dist/stories/components-accordion-group--variants.webp +0 -0
- package/dist/stories/components-alert--actions.anatomy.json +1 -0
- package/dist/stories/components-alert--actions.webp +0 -0
- package/dist/stories/components-alert--layout.anatomy.json +1 -0
- package/dist/stories/components-alert--layout.webp +0 -0
- package/dist/stories/components-alert--removable.anatomy.json +1 -0
- package/dist/stories/components-alert--removable.webp +0 -0
- package/dist/stories/components-alert--severity.anatomy.json +1 -0
- package/dist/stories/components-alert--severity.webp +0 -0
- package/dist/stories/components-alert--sticky.anatomy.json +1 -0
- package/dist/stories/components-alert--sticky.webp +0 -0
- package/dist/stories/components-alert--title.anatomy.json +1 -0
- package/dist/stories/components-alert--title.webp +0 -0
- package/dist/stories/components-appbar--composition.anatomy.json +1 -0
- package/dist/stories/components-appbar--composition.webp +0 -0
- package/dist/stories/components-appbar--custom-branding.anatomy.json +1 -0
- package/dist/stories/components-appbar--custom-branding.webp +0 -0
- package/dist/stories/components-autocomplete-autocomplete--custom-render-option.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-autocomplete--custom-render-option.webp +0 -0
- package/dist/stories/components-autocomplete-autocomplete--free-solo.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-autocomplete--free-solo.webp +0 -0
- package/dist/stories/components-autocomplete-autocomplete--grouped-non-virtualized.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-autocomplete--grouped-non-virtualized.webp +0 -0
- package/dist/stories/components-autocomplete-autocomplete--grouped-virtualization.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-autocomplete--grouped-virtualization.webp +0 -0
- package/dist/stories/components-autocomplete-autocomplete--label-and-helper-text.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-autocomplete--label-and-helper-text.webp +0 -0
- package/dist/stories/components-autocomplete-autocomplete--medium.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-autocomplete--medium.webp +0 -0
- package/dist/stories/components-autocomplete-autocomplete--prefix.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-autocomplete--prefix.webp +0 -0
- package/dist/stories/components-autocomplete-autocomplete--small.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-autocomplete--small.webp +0 -0
- package/dist/stories/components-autocomplete-autocomplete--variants.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-autocomplete--variants.webp +0 -0
- package/dist/stories/components-autocomplete-autocomplete--virtualized-list.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-autocomplete--virtualized-list.webp +0 -0
- package/dist/stories/components-autocomplete-creatable-autocomplete--grouped-virtualization.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-creatable-autocomplete--grouped-virtualization.webp +0 -0
- package/dist/stories/components-autocomplete-creatable-autocomplete--large-dataset-extended.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-creatable-autocomplete--large-dataset-extended.webp +0 -0
- package/dist/stories/components-autocomplete-creatable-autocomplete--large-dataset.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-creatable-autocomplete--large-dataset.webp +0 -0
- package/dist/stories/components-autocomplete-creatable-autocomplete--multiple.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-creatable-autocomplete--multiple.webp +0 -0
- package/dist/stories/components-autocomplete-multiple-autocomplete--counter-formatters.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-multiple-autocomplete--counter-formatters.webp +0 -0
- package/dist/stories/components-autocomplete-multiple-autocomplete--grouped-virtualization.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-multiple-autocomplete--grouped-virtualization.webp +0 -0
- package/dist/stories/components-autocomplete-multiple-autocomplete--large-dataset-extended.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-multiple-autocomplete--large-dataset-extended.webp +0 -0
- package/dist/stories/components-autocomplete-multiple-autocomplete--large-dataset.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-multiple-autocomplete--large-dataset.webp +0 -0
- package/dist/stories/components-autocomplete-multiple-autocomplete--start-adornment.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-multiple-autocomplete--start-adornment.webp +0 -0
- package/dist/stories/components-autocomplete-multiple-autocomplete--states.anatomy.json +1 -0
- package/dist/stories/components-autocomplete-multiple-autocomplete--states.webp +0 -0
- package/dist/stories/components-avatar--color-background.anatomy.json +1 -0
- package/dist/stories/components-avatar--color-background.webp +0 -0
- package/dist/stories/components-avatar--content-size.anatomy.json +1 -0
- package/dist/stories/components-avatar--content-size.webp +0 -0
- package/dist/stories/components-avatar--content.anatomy.json +1 -0
- package/dist/stories/components-avatar--content.webp +0 -0
- package/dist/stories/components-avatar--shape-sizes.anatomy.json +1 -0
- package/dist/stories/components-avatar--shape-sizes.webp +0 -0
- package/dist/stories/components-avatar--shape.anatomy.json +1 -0
- package/dist/stories/components-avatar--shape.webp +0 -0
- package/dist/stories/components-buttons-button--behavior.anatomy.json +1 -0
- package/dist/stories/components-buttons-button--behavior.webp +0 -0
- package/dist/stories/components-buttons-button--colors.anatomy.json +1 -0
- package/dist/stories/components-buttons-button--colors.webp +0 -0
- package/dist/stories/components-buttons-button--external-link.anatomy.json +1 -0
- package/dist/stories/components-buttons-button--external-link.webp +0 -0
- package/dist/stories/components-buttons-button--variants.anatomy.json +1 -0
- package/dist/stories/components-buttons-button--variants.webp +0 -0
- package/dist/stories/components-buttons-iconbutton--colors.anatomy.json +1 -0
- package/dist/stories/components-buttons-iconbutton--colors.webp +0 -0
- package/dist/stories/components-buttons-iconbutton--icon-button-group.anatomy.json +1 -0
- package/dist/stories/components-buttons-iconbutton--icon-button-group.webp +0 -0
- package/dist/stories/components-buttons-iconbutton--tooltip.anatomy.json +1 -0
- package/dist/stories/components-buttons-iconbutton--tooltip.webp +0 -0
- package/dist/stories/components-buttons-iconbutton--variants.anatomy.json +1 -0
- package/dist/stories/components-buttons-iconbutton--variants.webp +0 -0
- package/dist/stories/components-buttons-splitbutton--colors.anatomy.json +1 -0
- package/dist/stories/components-buttons-splitbutton--colors.webp +0 -0
- package/dist/stories/components-buttons-splitbutton--states.anatomy.json +1 -0
- package/dist/stories/components-buttons-splitbutton--states.webp +0 -0
- package/dist/stories/components-buttons-splitbutton--variants.anatomy.json +1 -0
- package/dist/stories/components-buttons-splitbutton--variants.webp +0 -0
- package/dist/stories/components-buttons-toggle-button-group--background-color.anatomy.json +1 -0
- package/dist/stories/components-buttons-toggle-button-group--background-color.webp +0 -0
- package/dist/stories/components-buttons-toggle-button-group--behavior.anatomy.json +1 -0
- package/dist/stories/components-buttons-toggle-button-group--behavior.webp +0 -0
- package/dist/stories/components-buttons-toggle-button-group--colors.anatomy.json +1 -0
- package/dist/stories/components-buttons-toggle-button-group--colors.webp +0 -0
- package/dist/stories/components-buttons-toggle-button-group--divided-group.anatomy.json +1 -0
- package/dist/stories/components-buttons-toggle-button-group--divided-group.webp +0 -0
- package/dist/stories/components-buttons-toggle-button-group--multiple-selection-group.anatomy.json +1 -0
- package/dist/stories/components-buttons-toggle-button-group--multiple-selection-group.webp +0 -0
- package/dist/stories/components-buttons-toggle-button-group--orientation.anatomy.json +1 -0
- package/dist/stories/components-buttons-toggle-button-group--orientation.webp +0 -0
- package/dist/stories/components-buttons-toggle-button-group--variant.anatomy.json +1 -0
- package/dist/stories/components-buttons-toggle-button-group--variant.webp +0 -0
- package/dist/stories/components-chipgroup--behavior.anatomy.json +1 -0
- package/dist/stories/components-chipgroup--behavior.webp +0 -0
- package/dist/stories/components-chipgroup--color.anatomy.json +1 -0
- package/dist/stories/components-chipgroup--color.webp +0 -0
- package/dist/stories/components-chipgroup--disabled.anatomy.json +1 -0
- package/dist/stories/components-chipgroup--disabled.webp +0 -0
- package/dist/stories/components-chipgroup--size.anatomy.json +1 -0
- package/dist/stories/components-chipgroup--size.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--autocompletion-with-highlight.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--autocompletion-with-highlight.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--autocompletion.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--autocompletion.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--custom-save-label-action.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--custom-save-label-action.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--custom-text-marking.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--custom-text-marking.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--disable-active-line.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--disable-active-line.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--fixed-height.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--fixed-height.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--fold-code.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--fold-code.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--full-screen.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--full-screen.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--label-linenumber-and-helper-text.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--label-linenumber-and-helper-text.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--long-value-right-padding.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--long-value-right-padding.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--mode.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--mode.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--states.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--states.webp +0 -0
- package/dist/stories/components-codearea-codeareafield--variant.anatomy.json +1 -0
- package/dist/stories/components-codearea-codeareafield--variant.webp +0 -0
- package/dist/stories/components-datepickers-datepicker--clearable.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datepicker--clearable.webp +0 -0
- package/dist/stories/components-datepickers-datepicker--custom-translations.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datepicker--custom-translations.webp +0 -0
- package/dist/stories/components-datepickers-datepicker--disabled-dates.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datepicker--disabled-dates.webp +0 -0
- package/dist/stories/components-datepickers-datepicker--label-and-helper-text.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datepicker--label-and-helper-text.webp +0 -0
- package/dist/stories/components-datepickers-datepicker--sizes.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datepicker--sizes.webp +0 -0
- package/dist/stories/components-datepickers-datepicker--views.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datepicker--views.webp +0 -0
- package/dist/stories/components-datepickers-daterangecalendar--fixed-range.anatomy.json +1 -0
- package/dist/stories/components-datepickers-daterangecalendar--fixed-range.webp +0 -0
- package/dist/stories/components-datepickers-daterangepicker--clearable.anatomy.json +1 -0
- package/dist/stories/components-datepickers-daterangepicker--clearable.webp +0 -0
- package/dist/stories/components-datepickers-daterangepicker--custom-translations.anatomy.json +1 -0
- package/dist/stories/components-datepickers-daterangepicker--custom-translations.webp +0 -0
- package/dist/stories/components-datepickers-daterangepicker--disabled-dates.anatomy.json +1 -0
- package/dist/stories/components-datepickers-daterangepicker--disabled-dates.webp +0 -0
- package/dist/stories/components-datepickers-daterangepicker--label-and-helper-text.anatomy.json +1 -0
- package/dist/stories/components-datepickers-daterangepicker--label-and-helper-text.webp +0 -0
- package/dist/stories/components-datepickers-daterangepicker--sizes.anatomy.json +1 -0
- package/dist/stories/components-datepickers-daterangepicker--sizes.webp +0 -0
- package/dist/stories/components-datepickers-daterangepicker--views.anatomy.json +1 -0
- package/dist/stories/components-datepickers-daterangepicker--views.webp +0 -0
- package/dist/stories/components-datepickers-datetimepicker--am-pm-disabled.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datetimepicker--am-pm-disabled.webp +0 -0
- package/dist/stories/components-datepickers-datetimepicker--clearable.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datetimepicker--clearable.webp +0 -0
- package/dist/stories/components-datepickers-datetimepicker--custom-translations.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datetimepicker--custom-translations.webp +0 -0
- package/dist/stories/components-datepickers-datetimepicker--disabled-dates.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datetimepicker--disabled-dates.webp +0 -0
- package/dist/stories/components-datepickers-datetimepicker--label-and-helper-text.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datetimepicker--label-and-helper-text.webp +0 -0
- package/dist/stories/components-datepickers-datetimepicker--show-calendar-false.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datetimepicker--show-calendar-false.webp +0 -0
- package/dist/stories/components-datepickers-datetimepicker--sizes.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datetimepicker--sizes.webp +0 -0
- package/dist/stories/components-datepickers-datetimepicker--time-step.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datetimepicker--time-step.webp +0 -0
- package/dist/stories/components-datepickers-datetimepicker--views.anatomy.json +1 -0
- package/dist/stories/components-datepickers-datetimepicker--views.webp +0 -0
- package/dist/stories/components-datepickers-timepicker--am-pm-disabled.anatomy.json +1 -0
- package/dist/stories/components-datepickers-timepicker--am-pm-disabled.webp +0 -0
- package/dist/stories/components-datepickers-timepicker--clearable.anatomy.json +1 -0
- package/dist/stories/components-datepickers-timepicker--clearable.webp +0 -0
- package/dist/stories/components-datepickers-timepicker--custom-translations.anatomy.json +1 -0
- package/dist/stories/components-datepickers-timepicker--custom-translations.webp +0 -0
- package/dist/stories/components-datepickers-timepicker--disabled-dates.anatomy.json +1 -0
- package/dist/stories/components-datepickers-timepicker--disabled-dates.webp +0 -0
- package/dist/stories/components-datepickers-timepicker--label-and-helper-text.anatomy.json +1 -0
- package/dist/stories/components-datepickers-timepicker--label-and-helper-text.webp +0 -0
- package/dist/stories/components-datepickers-timepicker--show-clock-false.anatomy.json +1 -0
- package/dist/stories/components-datepickers-timepicker--show-clock-false.webp +0 -0
- package/dist/stories/components-datepickers-timepicker--sizes.anatomy.json +1 -0
- package/dist/stories/components-datepickers-timepicker--sizes.webp +0 -0
- package/dist/stories/components-datepickers-timepicker--time-step.anatomy.json +1 -0
- package/dist/stories/components-datepickers-timepicker--time-step.webp +0 -0
- package/dist/stories/components-datepickers-timepicker--views.anatomy.json +1 -0
- package/dist/stories/components-datepickers-timepicker--views.webp +0 -0
- package/dist/stories/components-dialogs-dialog--custom-spacing.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--custom-spacing.webp +0 -0
- package/dist/stories/components-dialogs-dialog--fluid-height.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--fluid-height.webp +0 -0
- package/dist/stories/components-dialogs-dialog--fluid-width.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--fluid-width.webp +0 -0
- package/dist/stories/components-dialogs-dialog--full-screen.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--full-screen.webp +0 -0
- package/dist/stories/components-dialogs-dialog--gutter-content.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--gutter-content.webp +0 -0
- package/dist/stories/components-dialogs-dialog--internall-scroll.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--internall-scroll.webp +0 -0
- package/dist/stories/components-dialogs-dialog--large.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--large.webp +0 -0
- package/dist/stories/components-dialogs-dialog--medium.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--medium.webp +0 -0
- package/dist/stories/components-dialogs-dialog--scroll-borders-hook.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--scroll-borders-hook.webp +0 -0
- package/dist/stories/components-dialogs-dialog--scrollable-content.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--scrollable-content.webp +0 -0
- package/dist/stories/components-dialogs-dialog--small.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--small.webp +0 -0
- package/dist/stories/components-dialogs-dialog--types.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--types.webp +0 -0
- package/dist/stories/components-dialogs-dialog--with-stepper-and-chip.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialog--with-stepper-and-chip.webp +0 -0
- package/dist/stories/components-dialogs-dialogalert--custom-icon.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogalert--custom-icon.webp +0 -0
- package/dist/stories/components-dialogs-dialogalert--severity.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogalert--severity.webp +0 -0
- package/dist/stories/components-dialogs-dialogalert--with-title.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogalert--with-title.webp +0 -0
- package/dist/stories/components-dialogs-dialogconfirmation--custom-slide-props.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogconfirmation--custom-slide-props.webp +0 -0
- package/dist/stories/components-dialogs-dialogconfirmation--open.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogconfirmation--open.webp +0 -0
- package/dist/stories/components-dialogs-dialogfooter--dark.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogfooter--dark.webp +0 -0
- package/dist/stories/components-dialogs-dialogfooter--with-alert-and-title.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogfooter--with-alert-and-title.webp +0 -0
- package/dist/stories/components-dialogs-dialogfooter--with-alert.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogfooter--with-alert.webp +0 -0
- package/dist/stories/components-dialogs-dialogfooter--with-checkbox.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogfooter--with-checkbox.webp +0 -0
- package/dist/stories/components-dialogs-dialogfooter--with-switch.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogfooter--with-switch.webp +0 -0
- package/dist/stories/components-dialogs-dialogfooter--with-tertiary-actions.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogfooter--with-tertiary-actions.webp +0 -0
- package/dist/stories/components-dialogs-dialogheader--custom-close-icon.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogheader--custom-close-icon.webp +0 -0
- package/dist/stories/components-dialogs-dialogheader--custom-close-tooltip-text.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogheader--custom-close-tooltip-text.webp +0 -0
- package/dist/stories/components-dialogs-dialogheader--custom-icon-button-props.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogheader--custom-icon-button-props.webp +0 -0
- package/dist/stories/components-dialogs-dialogheader--with-back-button-custom-icon.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogheader--with-back-button-custom-icon.webp +0 -0
- package/dist/stories/components-dialogs-dialogheader--with-back-button-custom-props.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogheader--with-back-button-custom-props.webp +0 -0
- package/dist/stories/components-dialogs-dialogheader--with-back-button-custom-tooltip.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogheader--with-back-button-custom-tooltip.webp +0 -0
- package/dist/stories/components-dialogs-dialogheader--with-back-button.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogheader--with-back-button.webp +0 -0
- package/dist/stories/components-dialogs-dialogheader--with-children.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogheader--with-children.webp +0 -0
- package/dist/stories/components-dialogs-dialogheader--with-chip.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogheader--with-chip.webp +0 -0
- package/dist/stories/components-dialogs-dialogheader--with-secondary-actions.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogheader--with-secondary-actions.webp +0 -0
- package/dist/stories/components-dialogs-dialogstepper--first-step.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogstepper--first-step.webp +0 -0
- package/dist/stories/components-dialogs-dialogstepper--step-completed.anatomy.json +1 -0
- package/dist/stories/components-dialogs-dialogstepper--step-completed.webp +0 -0
- package/dist/stories/components-emptystate--actions.anatomy.json +1 -0
- package/dist/stories/components-emptystate--actions.webp +0 -0
- package/dist/stories/components-emptystate--content-dimensions.anatomy.json +1 -0
- package/dist/stories/components-emptystate--content-dimensions.webp +0 -0
- package/dist/stories/components-emptystate--icon-props.anatomy.json +1 -0
- package/dist/stories/components-emptystate--icon-props.webp +0 -0
- package/dist/stories/components-emptystate--icon.anatomy.json +1 -0
- package/dist/stories/components-emptystate--icon.webp +0 -0
- package/dist/stories/components-emptystate--size.anatomy.json +1 -0
- package/dist/stories/components-emptystate--size.webp +0 -0
- package/dist/stories/components-emptystate--title-and-description.anatomy.json +1 -0
- package/dist/stories/components-emptystate--title-and-description.webp +0 -0
- package/dist/stories/components-filterdropdown--custom-button-props.anatomy.json +1 -0
- package/dist/stories/components-filterdropdown--custom-button-props.webp +0 -0
- package/dist/stories/components-filterdropdown--custom-tooltip-props.anatomy.json +1 -0
- package/dist/stories/components-filterdropdown--custom-tooltip-props.webp +0 -0
- package/dist/stories/components-filterdropdown--disabled.anatomy.json +1 -0
- package/dist/stories/components-filterdropdown--disabled.webp +0 -0
- package/dist/stories/components-filterdropdown--labels.anatomy.json +1 -0
- package/dist/stories/components-filterdropdown--labels.webp +0 -0
- package/dist/stories/components-filterdropdown--menu-item-options.anatomy.json +1 -0
- package/dist/stories/components-filterdropdown--menu-item-options.webp +0 -0
- package/dist/stories/components-filterdropdown--positioned-menu.anatomy.json +1 -0
- package/dist/stories/components-filterdropdown--positioned-menu.webp +0 -0
- package/dist/stories/components-filterdropdown--responsive.anatomy.json +1 -0
- package/dist/stories/components-filterdropdown--responsive.webp +0 -0
- package/dist/stories/components-filterdropdown--secondary-button-color.anatomy.json +1 -0
- package/dist/stories/components-filterdropdown--secondary-button-color.webp +0 -0
- package/dist/stories/components-filterdropdown--selected-color.anatomy.json +1 -0
- package/dist/stories/components-filterdropdown--selected-color.webp +0 -0
- package/dist/stories/components-filterdropdown--sizes.anatomy.json +1 -0
- package/dist/stories/components-filterdropdown--sizes.webp +0 -0
- package/dist/stories/components-iconwrapper--background.anatomy.json +1 -0
- package/dist/stories/components-iconwrapper--background.webp +0 -0
- package/dist/stories/components-iconwrapper--border.anatomy.json +1 -0
- package/dist/stories/components-iconwrapper--border.webp +0 -0
- package/dist/stories/components-iconwrapper--colors.anatomy.json +1 -0
- package/dist/stories/components-iconwrapper--colors.webp +0 -0
- package/dist/stories/components-iconwrapper--padding.anatomy.json +1 -0
- package/dist/stories/components-iconwrapper--padding.webp +0 -0
- package/dist/stories/components-iconwrapper--sizes.anatomy.json +1 -0
- package/dist/stories/components-iconwrapper--sizes.webp +0 -0
- package/dist/stories/components-iconwrapper--variants.anatomy.json +1 -0
- package/dist/stories/components-iconwrapper--variants.webp +0 -0
- package/dist/stories/components-iconwrapper--with-tooltip.anatomy.json +1 -0
- package/dist/stories/components-iconwrapper--with-tooltip.webp +0 -0
- package/dist/stories/components-labelwithindicator--icon.anatomy.json +1 -0
- package/dist/stories/components-labelwithindicator--icon.webp +0 -0
- package/dist/stories/components-labelwithindicator--indicator.anatomy.json +1 -0
- package/dist/stories/components-labelwithindicator--indicator.webp +0 -0
- package/dist/stories/components-labelwithindicator--type.anatomy.json +1 -0
- package/dist/stories/components-labelwithindicator--type.webp +0 -0
- package/dist/stories/components-labelwithindicator--typography-props.anatomy.json +1 -0
- package/dist/stories/components-labelwithindicator--typography-props.webp +0 -0
- package/dist/stories/components-labelwithindicator--use-cases.anatomy.json +1 -0
- package/dist/stories/components-labelwithindicator--use-cases.webp +0 -0
- package/dist/stories/components-link--color.anatomy.json +1 -0
- package/dist/stories/components-link--color.webp +0 -0
- package/dist/stories/components-link--external-link.anatomy.json +1 -0
- package/dist/stories/components-link--external-link.webp +0 -0
- package/dist/stories/components-link--icon.anatomy.json +1 -0
- package/dist/stories/components-link--icon.webp +0 -0
- package/dist/stories/components-link--inline-link.anatomy.json +1 -0
- package/dist/stories/components-link--inline-link.webp +0 -0
- package/dist/stories/components-link--variant.anatomy.json +1 -0
- package/dist/stories/components-link--variant.webp +0 -0
- package/dist/stories/components-list-list--direction.anatomy.json +1 -0
- package/dist/stories/components-list-list--direction.webp +0 -0
- package/dist/stories/components-list-list--divider.anatomy.json +1 -0
- package/dist/stories/components-list-list--divider.webp +0 -0
- package/dist/stories/components-list-list--double-action.anatomy.json +1 -0
- package/dist/stories/components-list-list--double-action.webp +0 -0
- package/dist/stories/components-list-list--fixed-height.anatomy.json +1 -0
- package/dist/stories/components-list-list--fixed-height.webp +0 -0
- package/dist/stories/components-list-list--gutters.anatomy.json +1 -0
- package/dist/stories/components-list-list--gutters.webp +0 -0
- package/dist/stories/components-list-list--primary-action.anatomy.json +1 -0
- package/dist/stories/components-list-list--primary-action.webp +0 -0
- package/dist/stories/components-list-list--secondary-action.anatomy.json +1 -0
- package/dist/stories/components-list-list--secondary-action.webp +0 -0
- package/dist/stories/components-list-list--size.anatomy.json +1 -0
- package/dist/stories/components-list-list--size.webp +0 -0
- package/dist/stories/components-list-list--spacing.anatomy.json +1 -0
- package/dist/stories/components-list-list--spacing.webp +0 -0
- package/dist/stories/components-list-list--subheaders.anatomy.json +1 -0
- package/dist/stories/components-list-list--subheaders.webp +0 -0
- package/dist/stories/components-list-list--variants.anatomy.json +1 -0
- package/dist/stories/components-list-list--variants.webp +0 -0
- package/dist/stories/components-list-list--virtualized.anatomy.json +1 -0
- package/dist/stories/components-list-list--virtualized.webp +0 -0
- package/dist/stories/components-list-listitem--alignment.anatomy.json +1 -0
- package/dist/stories/components-list-listitem--alignment.webp +0 -0
- package/dist/stories/components-list-listitem--divider.anatomy.json +1 -0
- package/dist/stories/components-list-listitem--divider.webp +0 -0
- package/dist/stories/components-list-listitem--double-action.anatomy.json +1 -0
- package/dist/stories/components-list-listitem--double-action.webp +0 -0
- package/dist/stories/components-list-listitem--fixed-height.anatomy.json +1 -0
- package/dist/stories/components-list-listitem--fixed-height.webp +0 -0
- package/dist/stories/components-list-listitem--gutters.anatomy.json +1 -0
- package/dist/stories/components-list-listitem--gutters.webp +0 -0
- package/dist/stories/components-list-listitem--media-content.anatomy.json +1 -0
- package/dist/stories/components-list-listitem--media-content.webp +0 -0
- package/dist/stories/components-list-listitem--primary-action.anatomy.json +1 -0
- package/dist/stories/components-list-listitem--primary-action.webp +0 -0
- package/dist/stories/components-list-listitem--right-content.anatomy.json +1 -0
- package/dist/stories/components-list-listitem--right-content.webp +0 -0
- package/dist/stories/components-list-listitem--secondary-action.anatomy.json +1 -0
- package/dist/stories/components-list-listitem--secondary-action.webp +0 -0
- package/dist/stories/components-list-listitem--size.anatomy.json +1 -0
- package/dist/stories/components-list-listitem--size.webp +0 -0
- package/dist/stories/components-list-listitem--text-content.anatomy.json +1 -0
- package/dist/stories/components-list-listitem--text-content.webp +0 -0
- package/dist/stories/components-list-listitem--variants.anatomy.json +1 -0
- package/dist/stories/components-list-listitem--variants.webp +0 -0
- package/dist/stories/components-loader--color.anatomy.json +1 -0
- package/dist/stories/components-loader--color.webp +0 -0
- package/dist/stories/components-loader--content-height.anatomy.json +1 -0
- package/dist/stories/components-loader--content-height.webp +0 -0
- package/dist/stories/components-loader--custom-icon-props.anatomy.json +1 -0
- package/dist/stories/components-loader--custom-icon-props.webp +0 -0
- package/dist/stories/components-loader--label-and-second-label.anatomy.json +1 -0
- package/dist/stories/components-loader--label-and-second-label.webp +0 -0
- package/dist/stories/components-loader--size.anatomy.json +1 -0
- package/dist/stories/components-loader--size.webp +0 -0
- package/dist/stories/components-menu--content.anatomy.json +1 -0
- package/dist/stories/components-menu--content.webp +0 -0
- package/dist/stories/components-menu--custom-height.anatomy.json +1 -0
- package/dist/stories/components-menu--custom-height.webp +0 -0
- package/dist/stories/components-menu--custom-width.anatomy.json +1 -0
- package/dist/stories/components-menu--custom-width.webp +0 -0
- package/dist/stories/components-menu--dense.anatomy.json +1 -0
- package/dist/stories/components-menu--dense.webp +0 -0
- package/dist/stories/components-menu--destructive.anatomy.json +1 -0
- package/dist/stories/components-menu--destructive.webp +0 -0
- package/dist/stories/components-menu--disable-gutters.anatomy.json +1 -0
- package/dist/stories/components-menu--disable-gutters.webp +0 -0
- package/dist/stories/components-menu--extended.anatomy.json +1 -0
- package/dist/stories/components-menu--extended.webp +0 -0
- package/dist/stories/components-menu--fixed-menu-item.anatomy.json +1 -0
- package/dist/stories/components-menu--fixed-menu-item.webp +0 -0
- package/dist/stories/components-menu--icon-color.anatomy.json +1 -0
- package/dist/stories/components-menu--icon-color.webp +0 -0
- package/dist/stories/components-menu--menu-list-wrapper.anatomy.json +1 -0
- package/dist/stories/components-menu--menu-list-wrapper.webp +0 -0
- package/dist/stories/components-menu--placement-right.anatomy.json +1 -0
- package/dist/stories/components-menu--placement-right.webp +0 -0
- package/dist/stories/components-menu--placement-top.anatomy.json +1 -0
- package/dist/stories/components-menu--placement-top.webp +0 -0
- package/dist/stories/components-menu--selected-color.anatomy.json +1 -0
- package/dist/stories/components-menu--selected-color.webp +0 -0
- package/dist/stories/components-menu--states.anatomy.json +1 -0
- package/dist/stories/components-menu--states.webp +0 -0
- package/dist/stories/components-menu--subtitle.anatomy.json +1 -0
- package/dist/stories/components-menu--subtitle.webp +0 -0
- package/dist/stories/components-menu--text-overflow.anatomy.json +1 -0
- package/dist/stories/components-menu--text-overflow.webp +0 -0
- package/dist/stories/components-messagefield--action.anatomy.json +1 -0
- package/dist/stories/components-messagefield--action.webp +0 -0
- package/dist/stories/components-messagefield--behavior.anatomy.json +1 -0
- package/dist/stories/components-messagefield--behavior.webp +0 -0
- package/dist/stories/components-messagefield--header.anatomy.json +1 -0
- package/dist/stories/components-messagefield--header.webp +0 -0
- package/dist/stories/components-messagefield--label-and-helper-text.anatomy.json +1 -0
- package/dist/stories/components-messagefield--label-and-helper-text.webp +0 -0
- package/dist/stories/components-messagefield--medium.anatomy.json +1 -0
- package/dist/stories/components-messagefield--medium.webp +0 -0
- package/dist/stories/components-messagefield--small.anatomy.json +1 -0
- package/dist/stories/components-messagefield--small.webp +0 -0
- package/dist/stories/components-messagefield--toolbar.anatomy.json +1 -0
- package/dist/stories/components-messagefield--toolbar.webp +0 -0
- package/dist/stories/components-messagefield--variant.anatomy.json +1 -0
- package/dist/stories/components-messagefield--variant.webp +0 -0
- package/dist/stories/components-password-field--behavior.anatomy.json +1 -0
- package/dist/stories/components-password-field--behavior.webp +0 -0
- package/dist/stories/components-password-field--label-and-helper-text.anatomy.json +1 -0
- package/dist/stories/components-password-field--label-and-helper-text.webp +0 -0
- package/dist/stories/components-password-field--medium.anatomy.json +1 -0
- package/dist/stories/components-password-field--medium.webp +0 -0
- package/dist/stories/components-password-field--prefix-and-suffix.anatomy.json +1 -0
- package/dist/stories/components-password-field--prefix-and-suffix.webp +0 -0
- package/dist/stories/components-password-field--small.anatomy.json +1 -0
- package/dist/stories/components-password-field--small.webp +0 -0
- package/dist/stories/components-password-field--variants.anatomy.json +1 -0
- package/dist/stories/components-password-field--variants.webp +0 -0
- package/dist/stories/components-progress-circularprogress--color.anatomy.json +1 -0
- package/dist/stories/components-progress-circularprogress--color.webp +0 -0
- package/dist/stories/components-progress-circularprogress--size.anatomy.json +1 -0
- package/dist/stories/components-progress-circularprogress--size.webp +0 -0
- package/dist/stories/components-progress-circularprogress--thickness.anatomy.json +1 -0
- package/dist/stories/components-progress-circularprogress--thickness.webp +0 -0
- package/dist/stories/components-progress-circularprogress--variant.anatomy.json +1 -0
- package/dist/stories/components-progress-circularprogress--variant.webp +0 -0
- package/dist/stories/components-searchfield--behavior.anatomy.json +1 -0
- package/dist/stories/components-searchfield--behavior.webp +0 -0
- package/dist/stories/components-searchfield--dense.anatomy.json +1 -0
- package/dist/stories/components-searchfield--dense.webp +0 -0
- package/dist/stories/components-searchfield--medium.anatomy.json +1 -0
- package/dist/stories/components-searchfield--medium.webp +0 -0
- package/dist/stories/components-searchfield--small.anatomy.json +1 -0
- package/dist/stories/components-searchfield--small.webp +0 -0
- package/dist/stories/components-searchfield--variants.anatomy.json +1 -0
- package/dist/stories/components-searchfield--variants.webp +0 -0
- package/dist/stories/components-select-field-multiple-select-field--custom-render-label.anatomy.json +1 -0
- package/dist/stories/components-select-field-multiple-select-field--custom-render-label.webp +0 -0
- package/dist/stories/components-select-field-multiple-select-field--custom-translation-text.anatomy.json +1 -0
- package/dist/stories/components-select-field-multiple-select-field--custom-translation-text.webp +0 -0
- package/dist/stories/components-select-field-multiple-select-field--item-disabled-with-tooltip.anatomy.json +1 -0
- package/dist/stories/components-select-field-multiple-select-field--item-disabled-with-tooltip.webp +0 -0
- package/dist/stories/components-select-field-multiple-select-field--select-all-disabled.anatomy.json +1 -0
- package/dist/stories/components-select-field-multiple-select-field--select-all-disabled.webp +0 -0
- package/dist/stories/components-select-field-multiple-select-field--show-counter.anatomy.json +1 -0
- package/dist/stories/components-select-field-multiple-select-field--show-counter.webp +0 -0
- package/dist/stories/components-select-field-multiple-select-field--tooltip-placement.anatomy.json +1 -0
- package/dist/stories/components-select-field-multiple-select-field--tooltip-placement.webp +0 -0
- package/dist/stories/components-select-field-multiple-select-field--use-labels-collapsed.anatomy.json +1 -0
- package/dist/stories/components-select-field-multiple-select-field--use-labels-collapsed.webp +0 -0
- package/dist/stories/components-select-field-multiple-select-field--without-filters.anatomy.json +1 -0
- package/dist/stories/components-select-field-multiple-select-field--without-filters.webp +0 -0
- package/dist/stories/components-select-field-select-field--behavior.anatomy.json +1 -0
- package/dist/stories/components-select-field-select-field--behavior.webp +0 -0
- package/dist/stories/components-select-field-select-field--grouped.anatomy.json +1 -0
- package/dist/stories/components-select-field-select-field--grouped.webp +0 -0
- package/dist/stories/components-select-field-select-field--label-and-helper-text.anatomy.json +1 -0
- package/dist/stories/components-select-field-select-field--label-and-helper-text.webp +0 -0
- package/dist/stories/components-select-field-select-field--medium.anatomy.json +1 -0
- package/dist/stories/components-select-field-select-field--medium.webp +0 -0
- package/dist/stories/components-select-field-select-field--prefix.anatomy.json +1 -0
- package/dist/stories/components-select-field-select-field--prefix.webp +0 -0
- package/dist/stories/components-select-field-select-field--small.anatomy.json +1 -0
- package/dist/stories/components-select-field-select-field--small.webp +0 -0
- package/dist/stories/components-select-field-select-field--variants.anatomy.json +1 -0
- package/dist/stories/components-select-field-select-field--variants.webp +0 -0
- package/dist/stories/components-snackbar--action.anatomy.json +1 -0
- package/dist/stories/components-snackbar--action.webp +0 -0
- package/dist/stories/components-snackbar--auto-width.anatomy.json +1 -0
- package/dist/stories/components-snackbar--auto-width.webp +0 -0
- package/dist/stories/components-snackbar--custom-close-text.anatomy.json +1 -0
- package/dist/stories/components-snackbar--custom-close-text.webp +0 -0
- package/dist/stories/components-snackbar--custom-icon.anatomy.json +1 -0
- package/dist/stories/components-snackbar--custom-icon.webp +0 -0
- package/dist/stories/components-snackbar--message.anatomy.json +1 -0
- package/dist/stories/components-snackbar--message.webp +0 -0
- package/dist/stories/components-snackbar--severity.anatomy.json +1 -0
- package/dist/stories/components-snackbar--severity.webp +0 -0
- package/dist/stories/components-tablepaginationactions--custom-tooltip.anatomy.json +1 -0
- package/dist/stories/components-tablepaginationactions--custom-tooltip.webp +0 -0
- package/dist/stories/components-tablepaginationactions--states.anatomy.json +1 -0
- package/dist/stories/components-tablepaginationactions--states.webp +0 -0
- package/dist/stories/components-tag--colors.anatomy.json +1 -0
- package/dist/stories/components-tag--colors.webp +0 -0
- package/dist/stories/components-tag--types.anatomy.json +1 -0
- package/dist/stories/components-tag--types.webp +0 -0
- package/dist/stories/components-tag--variants.anatomy.json +1 -0
- package/dist/stories/components-tag--variants.webp +0 -0
- package/dist/stories/components-tag--with-icons.anatomy.json +1 -0
- package/dist/stories/components-tag--with-icons.webp +0 -0
- package/dist/stories/components-tooltip-tooltipdata--data.anatomy.json +1 -0
- package/dist/stories/components-tooltip-tooltipdata--data.webp +0 -0
- package/dist/stories/components-typography--color.anatomy.json +1 -0
- package/dist/stories/components-typography--color.webp +0 -0
- package/dist/stories/components-typography--variant.anatomy.json +1 -0
- package/dist/stories/components-typography--variant.webp +0 -0
- package/dist/stories/components-typography--weight.anatomy.json +1 -0
- package/dist/stories/components-typography--weight.webp +0 -0
- package/dist/stories/components-uploadfield--behavior.anatomy.json +1 -0
- package/dist/stories/components-uploadfield--behavior.webp +0 -0
- package/dist/stories/components-uploadfield--label-and-helper-text.anatomy.json +1 -0
- package/dist/stories/components-uploadfield--label-and-helper-text.webp +0 -0
- package/dist/stories/components-uploadfield--medium.anatomy.json +1 -0
- package/dist/stories/components-uploadfield--medium.webp +0 -0
- package/dist/stories/components-uploadfield--small.anatomy.json +1 -0
- package/dist/stories/components-uploadfield--small.webp +0 -0
- package/dist/stories/components-uploadfield--variants.anatomy.json +1 -0
- package/dist/stories/components-uploadfield--variants.webp +0 -0
- package/dist/stories/patterns-copiablecomponent--custom-icon.anatomy.json +1 -0
- package/dist/stories/patterns-copiablecomponent--custom-icon.webp +0 -0
- package/dist/stories/patterns-copiablecomponent--custom-snackbar-props.anatomy.json +1 -0
- package/dist/stories/patterns-copiablecomponent--custom-snackbar-props.webp +0 -0
- package/dist/stories/patterns-copiablecomponent--tooltip.anatomy.json +1 -0
- package/dist/stories/patterns-copiablecomponent--tooltip.webp +0 -0
- package/dist/stories/patterns-copiablecomponent--variants.anatomy.json +1 -0
- package/dist/stories/patterns-copiablecomponent--variants.webp +0 -0
- package/dist/stories/patterns-copiableinputtext--long-value.anatomy.json +1 -0
- package/dist/stories/patterns-copiableinputtext--long-value.webp +0 -0
- package/dist/stories/patterns-copiableinputtext--sizes.anatomy.json +1 -0
- package/dist/stories/patterns-copiableinputtext--sizes.webp +0 -0
- package/dist/stories/patterns-copiableinputtext--states.anatomy.json +1 -0
- package/dist/stories/patterns-copiableinputtext--states.webp +0 -0
- package/dist/stories/patterns-copiableinputtext--variants.anatomy.json +1 -0
- package/dist/stories/patterns-copiableinputtext--variants.webp +0 -0
- package/dist/stories/patterns-ellipsiswithtooltip--always-show-tooltip.anatomy.json +1 -0
- package/dist/stories/patterns-ellipsiswithtooltip--always-show-tooltip.webp +0 -0
- package/dist/stories/patterns-ellipsiswithtooltip--composition.anatomy.json +1 -0
- package/dist/stories/patterns-ellipsiswithtooltip--composition.webp +0 -0
- package/dist/stories/patterns-ellipsiswithtooltip--content.anatomy.json +1 -0
- package/dist/stories/patterns-ellipsiswithtooltip--content.webp +0 -0
- package/dist/stories/patterns-ellipsiswithtooltip--middle-ellipsis-alignment.anatomy.json +1 -0
- package/dist/stories/patterns-ellipsiswithtooltip--middle-ellipsis-alignment.webp +0 -0
- package/dist/stories/patterns-ellipsiswithtooltip--pseudo-hover.anatomy.json +1 -0
- package/dist/stories/patterns-ellipsiswithtooltip--pseudo-hover.webp +0 -0
- package/dist/types/components/AccordionGroup/AccordionGroup.stories.d.ts.map +1 -1
- package/dist/types/components/AppBar/AppBar.stories.d.ts.map +1 -1
- package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.metadata.d.ts.map +1 -1
- package/dist/types/components/Button/Button.stories.d.ts.map +1 -1
- package/dist/types/components/EllipsisWithTooltip/EllipsisWithTooltip.stories.d.ts.map +1 -1
- package/dist/types/components/EmptyState/EmptyState.stories.d.ts +1 -0
- package/dist/types/components/EmptyState/EmptyState.stories.d.ts.map +1 -1
- package/dist/types/components/IconButton/IconButton.stories.d.ts.map +1 -1
- package/dist/types/components/IconWrapper/IconWrapper.stories.d.ts.map +1 -1
- package/dist/types/components/List/List.stories.d.ts.map +1 -1
- package/dist/types/components/List/ListItem/ListItem.stories.d.ts.map +1 -1
- package/dist/types/components/Loader/Loader.stories.d.ts +1 -0
- package/dist/types/components/Loader/Loader.stories.d.ts.map +1 -1
- package/dist/types/components/Menu/Menu/Menu.stories.d.ts.map +1 -1
- package/dist/types/components/SearchField/SearchField.metadata.d.ts +5 -0
- package/dist/types/components/SearchField/SearchField.metadata.d.ts.map +1 -1
- package/dist/types/components/SelectField/MultipleSelectField/MultipleSelectField.metadata.d.ts.map +1 -1
- package/dist/types/components/SelectField/SelectField/SelectField.metadata.d.ts.map +1 -1
- package/dist/types/components/SelectField/SelectField/SelectField.stories.d.ts.map +1 -1
- package/dist/types/components/SplitButton/SplitButton.stories.d.ts.map +1 -1
- package/dist/types/components/Tag/Tag.stories.d.ts +1 -1
- package/dist/types/components/ToggleButtonGroup/ToggleButtonGroup.stories.d.ts.map +1 -1
- package/dist/types/custom-icons/__docs__/CustomIcons.stories.d.ts.map +1 -1
- package/dist/types/eslint-rules/index.d.ts +65 -2
- package/dist/types/eslint-rules/index.d.ts.map +1 -1
- package/dist/types/theme/components/stories/ButtonGroup.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/Divider.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/FAB.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/Switch.stories.d.ts.map +1 -1
- package/package.json +4 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,11 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
-
- feat(dialog): export useScrollBorders hook for scroll-edge borders [sc-578988] [#564](https://github.com/CartoDB/meridian-ds/pull/564)
|
|
6
|
-
- feat(ai-metadata): leaner MCP and shared design-system rules [#563](https://github.com/CartoDB/meridian-ds/pull/563)
|
|
7
|
-
|
|
8
5
|
## 5.0
|
|
9
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
|
+
|
|
10
18
|
### 5.1.3
|
|
11
19
|
|
|
12
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)
|
|
@@ -36,6 +36,8 @@ var ICONS = [];
|
|
|
36
36
|
var ICONS_TEXT = "";
|
|
37
37
|
var TOKENS;
|
|
38
38
|
var SCREENSHOTS = {};
|
|
39
|
+
var STORY_REFS = {};
|
|
40
|
+
var DIST_DIR = "";
|
|
39
41
|
var CONVENTIONS = "";
|
|
40
42
|
var VERSION = "0.0.0";
|
|
41
43
|
var TOOLS = [
|
|
@@ -109,17 +111,32 @@ var TOOLS = [
|
|
|
109
111
|
},
|
|
110
112
|
{
|
|
111
113
|
name: "meridian_get_screenshot",
|
|
112
|
-
description: "Path to a
|
|
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.",
|
|
113
115
|
inputSchema: {
|
|
114
116
|
type: "object",
|
|
115
117
|
properties: {
|
|
116
118
|
name: {
|
|
117
119
|
type: "string",
|
|
118
|
-
description: "
|
|
120
|
+
description: "'icons', or a story id. Omit to list the labeled screenshots."
|
|
119
121
|
}
|
|
120
122
|
},
|
|
121
123
|
additionalProperties: false
|
|
122
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
|
+
}
|
|
123
140
|
}
|
|
124
141
|
];
|
|
125
142
|
var find = (name) => DOCS.find((d) => d.name.toLowerCase() === String(name).toLowerCase());
|
|
@@ -273,15 +290,43 @@ Fetch any with meridian_get_examples(storyId):
|
|
|
273
290
|
}
|
|
274
291
|
return md;
|
|
275
292
|
}
|
|
293
|
+
var SCOPE_HINT = {
|
|
294
|
+
element: " (cropped to the story root)",
|
|
295
|
+
page: " (full page, with portaled content)"
|
|
296
|
+
};
|
|
276
297
|
function getScreenshot(name) {
|
|
277
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
|
+
};
|
|
278
306
|
const shot = name ? SCREENSHOTS[name] : void 0;
|
|
279
307
|
if (!shot || !fs.existsSync(shot.path))
|
|
280
308
|
return name ? {
|
|
281
|
-
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).`
|
|
282
310
|
} : { available };
|
|
283
311
|
return { path: shot.path, count: shot.count, hint: shot.hint };
|
|
284
312
|
}
|
|
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
|
+
};
|
|
323
|
+
return {
|
|
324
|
+
storyId,
|
|
325
|
+
...JSON.parse(
|
|
326
|
+
fs.readFileSync(path.join(DIST_DIR, ref.anatomy), "utf8")
|
|
327
|
+
)
|
|
328
|
+
};
|
|
329
|
+
}
|
|
285
330
|
function renderIcons() {
|
|
286
331
|
const lines = ICONS.map(
|
|
287
332
|
(i) => i.keywords?.length ? `${i.name}: ${i.keywords.join(", ")}` : i.name
|
|
@@ -303,6 +348,8 @@ function callTool(name, args) {
|
|
|
303
348
|
return TOKENS ?? { error: "No tokens in this bundle." };
|
|
304
349
|
case "meridian_get_screenshot":
|
|
305
350
|
return getScreenshot(String(args.name ?? ""));
|
|
351
|
+
case "meridian_get_anatomy":
|
|
352
|
+
return getAnatomy(String(args.storyId ?? args.name ?? ""));
|
|
306
353
|
case "meridian_get_component":
|
|
307
354
|
if (Array.isArray(args.names))
|
|
308
355
|
return args.names.map((n) => getComponent(String(n)));
|
|
@@ -322,7 +369,7 @@ var SERVER_INSTRUCTIONS = `Meridian Design System knowledge for writing React UI
|
|
|
322
369
|
|
|
323
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).
|
|
324
371
|
|
|
325
|
-
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.
|
|
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).
|
|
326
373
|
|
|
327
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.
|
|
328
375
|
|
|
@@ -394,6 +441,8 @@ function load() {
|
|
|
394
441
|
}
|
|
395
442
|
])
|
|
396
443
|
);
|
|
444
|
+
DIST_DIR = path.dirname(bundlePath);
|
|
445
|
+
STORY_REFS = bundle.storyReferences ?? {};
|
|
397
446
|
CONVENTIONS = bundle.conventions;
|
|
398
447
|
VERSION = bundle.version;
|
|
399
448
|
process.stderr.write(
|
package/dist/conventions.md
CHANGED
|
@@ -67,7 +67,7 @@ Meridian is the source of truth: when an existing codebase pattern contradicts M
|
|
|
67
67
|
|
|
68
68
|
## Styling
|
|
69
69
|
|
|
70
|
-
- Use theme tokens, never hardcoded values: colors from the palette (`text.*`, `background.*`, `divider`, semantic `*.main`) and spacing from the theme scale (`theme.spacing(n)`, or `sx` numeric spacing like `px: 2` / `mt: 1.5`) — no raw hex/rgb or px. Margin, padding and
|
|
70
|
+
- Use theme tokens, never hardcoded values: colors from the palette (`text.*`, `background.*`, `divider`, semantic `*.main`) and spacing from the theme scale (`theme.spacing(n)`, or `sx` numeric spacing like `px: 2` / `mt: 1.5`) — no raw hex/rgb or px. Margin, padding and gap use steps `0.25, 0.5, 0.75, 1, 1.5, 2, 2.5, 3, 4, 5, 6, 7, 8, 9, 12, 15` (2–120px); `width`/`height` and positional offsets may use any step (`spacing-step` in `@carto/meridian-ds/eslint-rules` lints it). Get the exact values — palette keys, spacing base, type ramp, `shape.borderRadius`, breakpoints, shadows — from `meridian_get_tokens`.
|
|
71
71
|
- Token details:
|
|
72
72
|
- `sx` spacing keys (`m*`/`p*`/`gap`) resolve to the scale, but `top`/`right`/`bottom`/`left` don't (`top: 2` is 2px) — use `theme.spacing()` there.
|
|
73
73
|
- In `styled()`, always use `theme.spacing()`. `style={}` isn't theme-aware — use `sx`.
|
|
@@ -177,11 +177,13 @@ const STYLE_STRING = (pattern) => `Literal[value=${pattern}]:not(JSXAttribute[na
|
|
|
177
177
|
const NON_ZERO = "Literal[raw=/^[0-9.]+$/][raw!=/^0+(\\.0+)?$/]";
|
|
178
178
|
const exactly = (...alternatives) => `/^(${alternatives.join("|")})$/`;
|
|
179
179
|
const SPACING = "[mp][trblxy]?|(margin|padding)(Top|Right|Bottom|Left|X|Y|Inline|Block)?|gap|rowGap|columnGap";
|
|
180
|
-
const OFFSET = "top|right|bottom|left|inset";
|
|
181
180
|
const SPACING_KEY = exactly(SPACING);
|
|
182
|
-
const
|
|
183
|
-
const
|
|
184
|
-
const
|
|
181
|
+
const MERIDIAN_IMPORT = /^@carto\/meridian-ds(\/|$)/;
|
|
182
|
+
const CSS_WIDE = "inherit|initial|unset|revert|revert-layer";
|
|
183
|
+
const PALETTE_VALUE = `/^(${CSS_WIDE}|currentColor|transparent|divider|[a-z]+\\.[A-Za-z0-9]+(\\.[A-Za-z0-9]+)?)$/`;
|
|
184
|
+
const ICON = "/(Icon|Outlined|Rounded|Sharp|TwoTone)$/";
|
|
185
|
+
const VISUAL_KEY = "/^(background|border|border(Top|Right|Bottom|Left)?(Color|Width|Style)?|borderRadius|boxShadow|opacity|outline|textTransform|textDecoration|fill|stroke)$/";
|
|
186
|
+
const COLOR_KEY = "/^(color|bgcolor|backgroundColor)$/";
|
|
185
187
|
const SX = ":matches(JSXAttribute[name.name='sx'], Property[key.name='sx'])";
|
|
186
188
|
const STYLED_OR_STYLE = ":matches(CallExpression[callee.callee.name='styled'], CallExpression[callee.object.name='styled'], CallExpression[callee.callee.object.name='styled'], JSXAttribute[name.name='style'])";
|
|
187
189
|
const SPACING_CALL = "CallExpression[callee.property.name='spacing']";
|
|
@@ -196,110 +198,138 @@ const WRAPPERS = [
|
|
|
196
198
|
"TemplateLiteral > ConditionalExpression > "
|
|
197
199
|
];
|
|
198
200
|
const under = (parent, nodes) => nodes.flatMap((node) => WRAPPERS.map((w) => `${parent} > ${w}${node}`));
|
|
199
|
-
const
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
])
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
`${STYLED_OR_STYLE} Property[key.name=${SPACING_OR_OFFSET_KEY}]`,
|
|
223
|
-
signed(NON_ZERO)
|
|
201
|
+
const esqueryRegex = (re) => `/${re.source.replace(/\\?\//g, "\\x2F")}/`;
|
|
202
|
+
function createMeridianDesignRules({
|
|
203
|
+
importSource = MERIDIAN_IMPORT
|
|
204
|
+
} = {}) {
|
|
205
|
+
const source = esqueryRegex(importSource);
|
|
206
|
+
const forImported = (names, selector) => anyOf(
|
|
207
|
+
...names.map(
|
|
208
|
+
(name) => `Program:has(ImportDeclaration[source.value=${source}] > :matches(ImportSpecifier, ImportDefaultSpecifier)[local.name='${name}']) ${selector(name)}`
|
|
209
|
+
)
|
|
210
|
+
);
|
|
211
|
+
const sxOf = (name) => `JSXOpeningElement[name.name='${name}'] > JSXAttribute[name.name='sx']`;
|
|
212
|
+
return {
|
|
213
|
+
"spacing-step": {
|
|
214
|
+
selector: anyOf(
|
|
215
|
+
...under(`${SX} Property[key.name=${SPACING_KEY}]`, [
|
|
216
|
+
...signed(OFF_SCALE),
|
|
217
|
+
`ArrayExpression > ${OFF_SCALE}`,
|
|
218
|
+
`ObjectExpression > Property > ${OFF_SCALE}`
|
|
219
|
+
]),
|
|
220
|
+
...under(
|
|
221
|
+
`Property[key.name=${SPACING_KEY}]`,
|
|
222
|
+
signed(OFF_SCALE).map((n) => `${SPACING_CALL} > ${n}`)
|
|
223
|
+
)
|
|
224
224
|
),
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
["
|
|
255
|
-
)
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
225
|
+
message: `Spacing off the Meridian scale: margin, padding and gap use ${spacingSteps.SPACING_STEPS.join(", ")}.`
|
|
226
|
+
},
|
|
227
|
+
"px-spacing": {
|
|
228
|
+
selector: anyOf(
|
|
229
|
+
...under(`Property[key.name=${SPACING_KEY}]`, [
|
|
230
|
+
PX_STRING,
|
|
231
|
+
`ArrayExpression > ${PX_STRING}`,
|
|
232
|
+
`ObjectExpression > Property > ${PX_STRING}`
|
|
233
|
+
]),
|
|
234
|
+
...under(
|
|
235
|
+
`${STYLED_OR_STYLE} Property[key.name=${SPACING_KEY}]`,
|
|
236
|
+
signed(NON_ZERO)
|
|
237
|
+
)
|
|
238
|
+
),
|
|
239
|
+
message: "Raw px spacing: use the theme scale — `sx` spacing numbers (`px: 2`) or `theme.spacing(n)`. Numbers in `styled()`/`style` are px."
|
|
240
|
+
},
|
|
241
|
+
"filled-icon": {
|
|
242
|
+
selector: anyOf(
|
|
243
|
+
"ImportDeclaration[source.value=/^@mui.icons-material.(?!.*(Outlined|Rounded|Sharp|TwoTone)$)/]",
|
|
244
|
+
"ImportDeclaration[source.value='@mui/icons-material'][importKind!='type'] > ImportSpecifier[importKind!='type'][imported.name!=/(Outlined|Rounded|Sharp|TwoTone)$/]"
|
|
245
|
+
),
|
|
246
|
+
message: "Filled MUI icon: import the Outlined variant."
|
|
247
|
+
},
|
|
248
|
+
"alpha-white-black": {
|
|
249
|
+
selector: "CallExpression[callee.name='alpha'] > MemberExpression[property.name=/^(white|black)$/][object.property.name='common']",
|
|
250
|
+
message: "`alpha()` on white/black: use the palette opacity shades `white[N]` / `black[N]`."
|
|
251
|
+
},
|
|
252
|
+
"hex-color": {
|
|
253
|
+
selector: STYLE_STRING(
|
|
254
|
+
"/(^|[\\s(,])#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})\\b/"
|
|
255
|
+
),
|
|
256
|
+
message: "Hardcoded hex color: use a palette token."
|
|
257
|
+
},
|
|
258
|
+
"rgb-color": {
|
|
259
|
+
selector: STYLE_STRING("/(^|[^a-z])rgba?\\(/"),
|
|
260
|
+
message: "Hardcoded rgb()/rgba() color: use a palette token."
|
|
261
|
+
},
|
|
262
|
+
"typography-style": {
|
|
263
|
+
selector: anyOf(
|
|
264
|
+
...under(
|
|
265
|
+
`:matches(${SX}, ${STYLED_OR_STYLE}) Property[key.name=/^(fontWeight|fontFamily)$/]`,
|
|
266
|
+
[`Literal[value!=/^(${CSS_WIDE})$/]`]
|
|
267
|
+
),
|
|
268
|
+
...under(
|
|
269
|
+
`:matches(${SX}, ${STYLED_OR_STYLE}) Property[key.name='lineHeight']`,
|
|
270
|
+
[`Literal[value!=/^(${CSS_WIDE}|0|1|normal)$/]`]
|
|
271
|
+
),
|
|
272
|
+
...under(
|
|
273
|
+
`:matches(${SX}, ${STYLED_OR_STYLE}) Property[key.name='fontSize']:not(JSXOpeningElement[name.name=${ICON}] > JSXAttribute[name.name='sx'] Property)`,
|
|
274
|
+
[`Literal[value!=/^(${CSS_WIDE})$/]`]
|
|
275
|
+
)
|
|
276
|
+
),
|
|
277
|
+
message: "Hardcoded typography: use `<Typography variant>` (and `weight`), `sx={{ typography: 'body2' }}` or `...theme.typography.body2`."
|
|
278
|
+
},
|
|
279
|
+
"external-link": {
|
|
280
|
+
selector: "JSXOpeningElement[name.name='a'] > JSXAttribute[name.name='target'] > Literal[value='_blank']",
|
|
281
|
+
message: 'Raw `<a target="_blank">`: use Meridian `Link` with `external`.'
|
|
282
|
+
},
|
|
283
|
+
"data-name": {
|
|
284
|
+
selector: forImported(
|
|
285
|
+
MERIDIAN_COMPONENTS,
|
|
286
|
+
(name) => `JSXOpeningElement[name.name='${name}'] > JSXAttribute[name.name='data-name']`
|
|
287
|
+
),
|
|
288
|
+
message: "`data-name` on a Meridian component overrides its own marker: set it on a wrapper, or drop it."
|
|
289
|
+
},
|
|
290
|
+
"literal-a11y-text": {
|
|
291
|
+
selector: anyOf(
|
|
292
|
+
...["", "JSXExpressionContainer > "].map(
|
|
293
|
+
(wrapper) => `JSXAttribute[name.name=/^(aria-label|placeholder)$/] > ${wrapper}Literal[value=/[A-Za-z]/]`
|
|
294
|
+
)
|
|
295
|
+
),
|
|
296
|
+
message: "Hardcoded `aria-label` / `placeholder`: translate it with the i18n layer, and keep test ids out of it."
|
|
297
|
+
},
|
|
298
|
+
"raw-shadow-radius": {
|
|
299
|
+
selector: anyOf(
|
|
300
|
+
"Property[key.name='boxShadow'] > Literal[value=/\\d/]",
|
|
301
|
+
"Property[key.name='borderRadius'] > Literal[value=/^\\d+(\\.\\d+)?px$/]"
|
|
302
|
+
),
|
|
303
|
+
message: "Hardcoded shadow or radius: use `theme.shadows[n]` / `theme.shape.borderRadius`."
|
|
304
|
+
},
|
|
305
|
+
"styled-meridian": {
|
|
306
|
+
selector: forImported(
|
|
307
|
+
MERIDIAN_COMPONENTS,
|
|
308
|
+
(name) => `CallExpression[callee.name='styled'] > Identifier[name='${name}']`
|
|
309
|
+
),
|
|
310
|
+
message: "`styled()` of a Meridian component restyles it locally: use its props/variants, or raise the gap upstream in Meridian."
|
|
311
|
+
},
|
|
312
|
+
"visual-sx": {
|
|
313
|
+
selector: forImported(
|
|
314
|
+
MERIDIAN_COMPONENTS,
|
|
315
|
+
(name) => `${sxOf(name)} :matches(Property[key.name=${VISUAL_KEY}], Property[key.name=${COLOR_KEY}] Literal[value!=${PALETTE_VALUE}])`
|
|
316
|
+
),
|
|
317
|
+
message: "Visual `sx` on a Meridian component overrides its design: keep `sx` to layout (spacing, size, position) and use its props/variants for the look."
|
|
318
|
+
},
|
|
319
|
+
"disabled-without-reason": {
|
|
320
|
+
selector: forImported(
|
|
321
|
+
["Button", "IconButton", "SplitButton"],
|
|
322
|
+
(name) => `JSXOpeningElement[name.name='${name}']:has(> JSXAttribute[name.name='disabled']:not([value.expression.value=false])):not(:has(> JSXAttribute[name.name=/^(tooltip|aria-describedby)$/]))`
|
|
323
|
+
),
|
|
324
|
+
message: "Disabled without a reason: pass `tooltip` (or `aria-describedby`) saying why it can’t be used."
|
|
325
|
+
},
|
|
326
|
+
"disabled-cursor": {
|
|
327
|
+
selector: "Property[key.name='cursor'] > Literal[value='not-allowed']",
|
|
328
|
+
message: "Don't tweak the cursor for disabled states: the component already styles them."
|
|
329
|
+
}
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
const meridianDesignRules = createMeridianDesignRules();
|
|
303
333
|
const PROPS_TYPES = new Set(MERIDIAN_PROPS_TYPES);
|
|
304
334
|
const replacedBy = (names) => names.flatMap((n) => PROPS_TYPES.has(n) ? [n, `${n}Props`] : [n]);
|
|
305
335
|
const USE_MERIDIAN = "Import from @carto/meridian-ds/components instead.";
|
|
@@ -333,5 +363,6 @@ const meridianRestrictedImports = {
|
|
|
333
363
|
message: USE_MERIDIAN
|
|
334
364
|
}))
|
|
335
365
|
};
|
|
366
|
+
exports.createMeridianDesignRules = createMeridianDesignRules;
|
|
336
367
|
exports.meridianDesignRules = meridianDesignRules;
|
|
337
368
|
exports.meridianRestrictedImports = meridianRestrictedImports;
|