@adyen/bento-mcp 0.3.0 → 0.5.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 (96) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/assets/components/alert/alert.types.ts +1 -1
  3. package/dist/assets/components/button/button.types.ts +1 -1
  4. package/dist/assets/components/button/components/button-actions/button-actions.types.ts +1 -1
  5. package/dist/assets/components/card/card.types.ts +1 -1
  6. package/dist/assets/components/checkbox/checkbox.vue +1 -1
  7. package/dist/assets/components/checkbox/components/checkbox-group/checkbox-group.types.ts +1 -1
  8. package/dist/assets/components/checkbox/components/checkbox-group/checkbox-group.vue +1 -1
  9. package/dist/assets/components/code-snippet/code-snippet.types.ts +1 -1
  10. package/dist/assets/components/country/country.types.ts +1 -1
  11. package/dist/assets/components/data-grid/components/data-grid-cell-actions/data-grid-cell-actions.types.ts +1 -1
  12. package/dist/assets/components/data-grid/components/data-grid-cell-actions/data-grid-cell-actions.vue +1 -1
  13. package/dist/assets/components/data-grid/components/data-grid-row/data-grid-row.vue +1 -1
  14. package/dist/assets/components/data-grid/data-grid.docs.mdx +1 -1
  15. package/dist/assets/components/data-grid/data-grid.vue +1 -1
  16. package/dist/assets/components/date-picker/date-picker.types.ts +1 -1
  17. package/dist/assets/components/date-picker/date-picker.vue +1 -1
  18. package/dist/assets/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.vue +1 -1
  19. package/dist/assets/components/date-range-picker/date-range-picker.types.ts +1 -1
  20. package/dist/assets/components/draggable/components/draggable-handle/draggable-handle.stories.ts +1 -0
  21. package/dist/assets/components/draggable/components/draggable-handle/draggable-handle.types.ts +1 -0
  22. package/dist/assets/components/draggable/components/draggable-handle/draggable-handle.vue +1 -0
  23. package/dist/assets/components/draggable/draggable.docs.mdx +178 -0
  24. package/dist/assets/components/draggable/draggable.stories.ts +1 -0
  25. package/dist/assets/components/draggable/draggable.types.ts +1 -0
  26. package/dist/assets/components/draggable/draggable.vue +1 -0
  27. package/dist/assets/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue +1 -1
  28. package/dist/assets/components/dropdown/components/variants/dropdown-country/dropdown-country.vue +1 -1
  29. package/dist/assets/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue +1 -1
  30. package/dist/assets/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue +1 -1
  31. package/dist/assets/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue +1 -1
  32. package/dist/assets/components/dropdown/composables/use-keyboard-navigation.types.ts +1 -1
  33. package/dist/assets/components/dropdown/dropdown.stories.ts +1 -1
  34. package/dist/assets/components/dropdown/dropdown.types.ts +1 -1
  35. package/dist/assets/components/dropdown/dropdown.vue +1 -1
  36. package/dist/assets/components/file-uploader/file-uploader.vue +1 -1
  37. package/dist/assets/components/filter-bar/components/boolean-filter/boolean-filter.vue +1 -1
  38. package/dist/assets/components/filter-bar/components/date-filter/date-filter.vue +1 -1
  39. package/dist/assets/components/filter-bar/components/input-filter/input-filter.types.ts +1 -1
  40. package/dist/assets/components/filter-bar/filter-bar.docs.mdx +1 -0
  41. package/dist/assets/components/filter-bar/filter-bar.stories.ts +1 -1
  42. package/dist/assets/components/filter-bar/filter-bar.types.ts +1 -1
  43. package/dist/assets/components/filter-bar/filter-bar.vue +1 -1
  44. package/dist/assets/components/form-layout/components/form-layout-group/form-layout-group.vue +1 -1
  45. package/dist/assets/components/form-layout/form-layout.docs.mdx +33 -20
  46. package/dist/assets/components/form-layout/form-layout.stories.ts +1 -1
  47. package/dist/assets/components/header/header.types.ts +1 -1
  48. package/dist/assets/components/input-field/input-field.types.ts +1 -1
  49. package/dist/assets/components/input-field/input-field.vue +1 -1
  50. package/dist/assets/components/input-field-password/input-field-password.types.ts +1 -1
  51. package/dist/assets/components/input-field-password/input-field-password.vue +1 -1
  52. package/dist/assets/components/input-field-phone-number/input-field-phone-number.types.ts +1 -1
  53. package/dist/assets/components/input-field-phone-number/input-field-phone-number.vue +1 -1
  54. package/dist/assets/components/input-time/input-time.vue +1 -1
  55. package/dist/assets/components/internal/calendar/calendar.types.ts +1 -1
  56. package/dist/assets/components/internal/calendar/composables/use-range-pane.types.ts +1 -0
  57. package/dist/assets/components/internal/listbox/components/listbox-multi-select/listbox-multi-select.vue +1 -1
  58. package/dist/assets/components/internal/listbox/components/listbox-single-select/listbox-single-select.vue +1 -1
  59. package/dist/assets/components/internal/listbox/listbox.vue +1 -1
  60. package/dist/assets/components/internal/teleport/teleport.vue +1 -1
  61. package/dist/assets/components/link/link.types.ts +1 -1
  62. package/dist/assets/components/menu/menu.types.ts +1 -1
  63. package/dist/assets/components/menu/menu.vue +1 -1
  64. package/dist/assets/components/modal/modal.types.ts +1 -1
  65. package/dist/assets/components/modal/modal.vue +1 -1
  66. package/dist/assets/components/pagination/pagination.types.ts +1 -1
  67. package/dist/assets/components/payment-method/payment-method.types.ts +1 -1
  68. package/dist/assets/components/popover/popover.types.ts +1 -1
  69. package/dist/assets/components/popper-container/popper-container.types.ts +1 -1
  70. package/dist/assets/components/promo-banner/promo-banner.types.ts +1 -1
  71. package/dist/assets/components/radio-group/radio-group.types.ts +1 -1
  72. package/dist/assets/components/segmented-control/segmented-control.types.ts +1 -1
  73. package/dist/assets/components/status/status.types.ts +1 -1
  74. package/dist/assets/components/summary-grid/components/summary-grid-item/summary-grid-item.types.ts +1 -1
  75. package/dist/assets/components/summary-grid/summary-grid.types.ts +1 -1
  76. package/dist/assets/components/tag/tag.types.ts +1 -1
  77. package/dist/assets/components/textarea/textarea.types.ts +1 -1
  78. package/dist/assets/components/textarea/textarea.vue +1 -1
  79. package/dist/assets/components/timeline/timeline.types.ts +1 -1
  80. package/dist/assets/components/toggle/toggle.types.ts +1 -1
  81. package/dist/assets/components/toggle/toggle.vue +1 -1
  82. package/dist/assets/components/typography/typography.types.ts +1 -1
  83. package/dist/assets/components.json +101 -100
  84. package/dist/assets/composables/use-bento-theme/install.types.ts +1 -1
  85. package/dist/assets/composables/use-form-validate/use-form.types.ts +1 -1
  86. package/dist/assets/deprecations.md +196 -196
  87. package/dist/assets/icons.json +18 -0
  88. package/dist/assets/index.ts +1 -1
  89. package/dist/assets/tailwind/README.md +45 -5
  90. package/dist/assets/usage.json +103 -0
  91. package/dist/main.js +53 -3
  92. package/package.json +2 -3
  93. package/dist/assets/components/draggable-handle/draggable-handle.stories.ts +0 -1
  94. package/dist/assets/components/draggable-handle/draggable-handle.types.ts +0 -1
  95. package/dist/assets/components/draggable-handle/draggable-handle.vue +0 -1
  96. /package/dist/assets/components/{draggable-handle → draggable/components/draggable-handle}/draggable-handle.docs.mdx +0 -0
package/dist/main.js CHANGED
@@ -30396,11 +30396,61 @@ function addGetIcons(server) {
30396
30396
  );
30397
30397
  }
30398
30398
 
30399
+ // packages/mcp/src/tools/find-component-usage.ts
30400
+ function addFindComponentUsage(server) {
30401
+ server.registerTool(
30402
+ "find_component_usage",
30403
+ {
30404
+ description: `
30405
+ Finds all files in the Bento library where a specific component is used.
30406
+ This helps in understanding real-world implementation examples of a component.
30407
+
30408
+ Args:
30409
+ componentName (string): The name of the component (e.g., "button", "modal").
30410
+
30411
+ Returns:
30412
+ str: A list of file paths where the component is referenced.
30413
+ `,
30414
+ inputSchema: {
30415
+ componentName: zod_default.string().describe("The name of the component")
30416
+ }
30417
+ },
30418
+ async ({ componentName }) => {
30419
+ const usageDataRaw = getFile("usage.json");
30420
+ let usageData = {};
30421
+ try {
30422
+ usageData = JSON.parse(usageDataRaw);
30423
+ } catch (error48) {
30424
+ console.error("Error parsing usage.json:", error48);
30425
+ return {
30426
+ content: [{ type: "text", text: "Error: Could not load usage registry." }]
30427
+ };
30428
+ }
30429
+ const usage = usageData[componentName] || [];
30430
+ if (usage.length === 0) {
30431
+ return {
30432
+ content: [{ type: "text", text: `No usage found for component "${componentName}".` }]
30433
+ };
30434
+ }
30435
+ return {
30436
+ content: [
30437
+ {
30438
+ type: "text",
30439
+ text: `Component "${componentName}" is used in the following files:
30440
+
30441
+ ${usage.map((f) => `- ${f}`).join("\n")}`
30442
+ }
30443
+ ]
30444
+ };
30445
+ }
30446
+ );
30447
+ }
30448
+
30399
30449
  // packages/mcp/package.json
30400
30450
  var package_default = {
30401
30451
  name: "@adyen/bento-mcp",
30402
30452
  mcpName: "io.github.adyen/bento-mcp",
30403
- version: "0.3.0",
30453
+ version: "0.5.0",
30404
30454
  type: "module",
30405
30455
  description: "A Model Context Protocol server implementation for Bento",
30406
30456
  license: "MIT",
@@ -30451,8 +30501,7 @@ var package_default = {
30451
30501
  "@modelcontextprotocol/inspector": "0.21.1",
30452
30502
  "@playwright/test": "catalog:",
30453
30503
  "@nx/playwright": "catalog:nx",
30454
- "@swc/cli": "0.8.0",
30455
- "@swc/core": "^1.15.0"
30504
+ "@swc/core": "catalog:"
30456
30505
  }
30457
30506
  };
30458
30507
 
@@ -30470,6 +30519,7 @@ async function main() {
30470
30519
  addGetDesignTokens(server);
30471
30520
  addGetUtilityClasses(server);
30472
30521
  addGetIcons(server);
30522
+ addFindComponentUsage(server);
30473
30523
  const transport = new StdioServerTransport();
30474
30524
  await server.connect(transport);
30475
30525
  console.error("Bento MCP Server running on stdio");
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@adyen/bento-mcp",
3
3
  "mcpName": "io.github.adyen/bento-mcp",
4
- "version": "0.3.0",
4
+ "version": "0.5.0",
5
5
  "type": "module",
6
6
  "description": "A Model Context Protocol server implementation for Bento",
7
7
  "license": "MIT",
@@ -46,8 +46,7 @@
46
46
  "@modelcontextprotocol/inspector": "0.21.1",
47
47
  "@playwright/test": "1.42.1",
48
48
  "@nx/playwright": "22.4.0",
49
- "@swc/cli": "0.8.0",
50
- "@swc/core": "^1.15.0"
49
+ "@swc/core": "^1.15.11"
51
50
  },
52
51
  "scripts": {
53
52
  "add-skill": "node bin/add-skill.js",
@@ -1 +0,0 @@
1
- import { action } from '@storybook/addon-actions'; import { isVue2 } from 'vue-demi'; import { storybookDocsParameter } from '@/utils/ts/storybook'; import type { Meta, StoryObj } from '@storybook/vue'; import BentoDraggableHandle from './draggable-handle.vue'; import DraggableHandleDefaultExample from './__tests__/draggable-handle-default-example.vue?raw'; const meta: Meta = { title: 'Draggable handle', component: BentoDraggableHandle, argTypes: { condensed: { control: 'boolean', }, }, }; export default meta; type Story = StoryObj<typeof BentoDraggableHandle>; const DEFAULT_LABEL = 'Draggable element'; export const Default: Story = { render: (_args, { argTypes }) => ({ components: { BentoDraggableHandle }, props: Object.keys(argTypes), template: ` <bento-draggable-handle v-bind="args" @move-up="clickedAction('move-up')" @move-down="clickedAction('move-down')" @move-right="clickedAction('move-right')" @move-left="clickedAction('move-left')" @move-top="clickedAction('move-top')" @move-bottom="clickedAction('move-bottom')" /> `, setup(props) { const clickedAction = (actionName: string) => action(actionName)(); return { // Values args: isVue2 ? props : _args, // Events clickedAction, }; }, }), args: { label: DEFAULT_LABEL, }, parameters: storybookDocsParameter(DraggableHandleDefaultExample), };
@@ -1 +0,0 @@
1
- import { type BentoMenuProps } from '../menu/menu.types'; export interface BentoDraggableHandleProps { /** * Reduces the size of the handle * @default false */ condensed?: BentoMenuProps['button']['condensed']; /** * Allows to disable the menus individually * @default {} */ disabledMenus?: { bottom?: boolean; down?: boolean; left?: boolean; right?: boolean; top?: boolean; up?: boolean; }; /** * Title or label used to describe the element being dragged. * Used for accessibility. */ label: string; /** * Determines the set of directional actions available in the handle's context menu. * * - `'all-directions'`: Includes 'Move up', 'Move down', 'Move left', 'Move right', 'Move to top', and 'Move to bottom'. * - `'up-and-down'`: Includes 'Move up', 'Move down', 'Move to top', and 'Move to bottom'. * * @default 'up-and-down' */ variant?: 'all-directions' | 'up-and-down'; }
@@ -1 +0,0 @@
1
- <template> <bento-menu class="b-draggable-handle" :data="menuData" :menu-width="250" :button="buttonComputedProps"> <template #iconLeft> <span class="b-draggable-handle__icon"> <grab-icon aria-hidden="true" /> </span> </template> </bento-menu> </template> <script setup lang="ts"> import { computed } from 'vue'; import { BentoMenu, type BentoMenuItem, type BentoMenuProps } from '@/components/menu'; import { type BentoDraggableHandleProps } from './draggable-handle.types'; import { useI18n } from '@/utils/ts/i18n'; import GrabIcon from '@adyen/ui-assets-icons-16/vue/grab'; import ArrowTopIcon from '@adyen/ui-assets-icons-16/vue/arrow-top'; import ArrowLeftIcon from '@adyen/ui-assets-icons-16/vue/arrow-left'; import ArrowRightIcon from '@adyen/ui-assets-icons-16/vue/arrow-right'; import ArrowBottomIcon from '@adyen/ui-assets-icons-16/vue/arrow-bottom'; import messages from './messages.json'; type MessageSchema = (typeof messages)['en-US']; const { t } = useI18n<{ message: MessageSchema }>({ messages }); const props = withDefaults(defineProps<BentoDraggableHandleProps>(), { condensed: false, disabledMenus: () => ({}), variant: 'up-and-down', }); const emit = defineEmits<{ /** * Emitted when the "Move to bottom" action is fired. */ (e: 'move-bottom'): void; /** * Emitted when the "Move down" action is fired. */ (e: 'move-down'): void; /** * Emitted when the "Move left" action is fired. (Only in `all-directions` variant) */ (e: 'move-left'): void; /** * Emitted when the "Move right" action is fired. (Only in `all-directions` variant) */ (e: 'move-right'): void; /** * Emitted when the "Move to top" action is fired. */ (e: 'move-top'): void; /** * Emitted when the "Move up" action is fired. */ (e: 'move-up'): void; }>(); const buttonComputedProps = computed( () => ({ 'aria-label': t('reorderLabel', { label: props.label }), condensed: props.condensed, variant: 'tertiary', }) as BentoMenuProps['button'] ); /** * Renders the menus for the draggable handle. */ const menuData = computed(() => { const MENUS: { [key: string]: BentoMenuItem; } = { up: { text: t('moveUp'), handler: () => emit('move-up'), disabled: props.disabledMenus.up, icon: ArrowTopIcon, }, down: { text: t('moveDown'), handler: () => emit('move-down'), disabled: props.disabledMenus.down, icon: ArrowBottomIcon, }, left: { text: t('moveLeft'), handler: () => emit('move-left'), disabled: props.disabledMenus.left, icon: ArrowLeftIcon, }, right: { text: t('moveRight'), handler: () => emit('move-right'), disabled: props.disabledMenus.right, icon: ArrowRightIcon, }, top: { text: t('moveToTheTop'), handler: () => emit('move-top'), disabled: props.disabledMenus.top, icon: ArrowTopIcon, }, bottom: { text: t('moveToTheBottom'), handler: () => emit('move-bottom'), disabled: props.disabledMenus.bottom, icon: ArrowBottomIcon, }, }; // Render the menus and dividers according to the variant return props.variant === 'up-and-down' ? [ MENUS.up, // Divider added after "Move down" { ...MENUS.down, addDivider: true, }, MENUS.top, MENUS.bottom, ] : [ MENUS.up, MENUS.down, MENUS.left, // Divider added after "Move right" { ...MENUS.right, addDivider: true, }, MENUS.top, MENUS.bottom, ]; }); </script> <script lang="ts"> /** * Bento drag and drop handle component. * * @example * import { BentoDraggableHandle } from '@adyen/bento-vue2'; * * export default { * components: { BentoDraggableHandle }, * template: ` * <bento-draggable-handle * bottom * condensed * down * left * right * top * up * \@move-bottom="moveBottom(index)" * \@move-down="moveDown(index)" * \@move-left="moveLeft(index)" * \@move-right="moveRight(index)" * \@move-top="moveTop(index)" * \@move-up="moveUp(index)" * /> * `, * setup() { * const moveBottom = () => {} * const moveDown = () => {} * const moveLeft = () => {} * const moveRight = () => {} * const moveTop = () => {} * const moveUp = () => {} * } * } */ export default { i18n: { messages }, name: 'bento-draggable-handle', }; </script> <style lang="scss" scoped src="./draggable-handle.scss" />