@adyen/bento-mcp 0.1.3 → 0.2.1

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 (195) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +50 -5
  3. package/SKILL.md +138 -0
  4. package/bin/add-skill.js +46 -0
  5. package/dist/assets/components/accordion/accordion.types.ts +1 -0
  6. package/dist/assets/components/action-bar/action-bar.docs.mdx +40 -4
  7. package/dist/assets/components/action-bar/action-bar.stories.ts +1 -1
  8. package/dist/assets/components/action-bar/action-bar.types.ts +1 -0
  9. package/dist/assets/components/action-bar/action-bar.vue +1 -1
  10. package/dist/assets/components/ai-tag/ai-tag.types.ts +1 -0
  11. package/dist/assets/components/alert/alert.types.ts +1 -0
  12. package/dist/assets/components/anchor-scroller/anchor-scroller.types.ts +1 -0
  13. package/dist/assets/components/anchor-scroller/components/anchor-scroller-list/anchor-scroller-list.types.ts +1 -0
  14. package/dist/assets/components/avatar/components/avatar-image/avatar-image.types.ts +1 -0
  15. package/dist/assets/components/button/button.types.ts +1 -0
  16. package/dist/assets/components/button/components/ai-button/ai-button.types.ts +1 -0
  17. package/dist/assets/components/button/components/button-actions/button-actions.types.ts +1 -0
  18. package/dist/assets/components/button/components/loading-button/loading-button.types.ts +1 -0
  19. package/dist/assets/components/button/components/toggle-button/toggle.types.ts +1 -0
  20. package/dist/assets/components/card/card.types.ts +1 -0
  21. package/dist/assets/components/checkbox/checkbox.types.ts +1 -0
  22. package/dist/assets/components/checkbox/components/checkbox-group/checkbox-group.types.ts +1 -0
  23. package/dist/assets/components/chip/chip.types.ts +1 -0
  24. package/dist/assets/components/code-snippet/code-snippet.types.ts +1 -0
  25. package/dist/assets/components/country/country.types.ts +1 -0
  26. package/dist/assets/components/currency/currency.types.ts +1 -0
  27. package/dist/assets/components/dashed-underline/dashed-underline.types.ts +1 -0
  28. package/dist/assets/components/data-grid/components/data-grid-cell/data-grid-cell.types.ts +1 -0
  29. package/dist/assets/components/data-grid/components/data-grid-cell-actions/data-grid-cell-actions.types.ts +1 -0
  30. package/dist/assets/components/data-grid/components/data-grid-columns/data-grid-columns.types.ts +1 -0
  31. package/dist/assets/components/data-grid/components/data-grid-config-settings/data-grid-config-settings.types.ts +1 -0
  32. package/dist/assets/components/data-grid/components/data-grid-row/data-grid-row.types.ts +1 -0
  33. package/dist/assets/components/data-grid/components/data-grid-static-icon/data-grid-static-icon.types.ts +1 -0
  34. package/dist/assets/components/data-grid/components/data-grid-summary-cell/data-grid-summary-cell.types.ts +1 -0
  35. package/dist/assets/components/data-grid/components/data-grid-tag-with-text-cell/data-grid-tag-with-text-cell.types.ts +1 -0
  36. package/dist/assets/components/data-grid/components/data-grid-trend-cell/data-grid-trend-cell.types.ts +1 -0
  37. package/dist/assets/components/data-grid/composables/use-calculate-column-width/use-calculate-column-width.types.ts +1 -0
  38. package/dist/assets/components/data-grid/composables/use-column-hovering/use-column-hovering.types.ts +1 -0
  39. package/dist/assets/components/data-grid/composables/use-config-settings/use-config.settings.types.ts +1 -0
  40. package/dist/assets/components/data-grid/composables/use-keyboard-navigator/use-keyboard-navigator.types.ts +1 -0
  41. package/dist/assets/components/data-grid/data-grid.types.ts +1 -0
  42. package/dist/assets/components/date/date.types.ts +1 -0
  43. package/dist/assets/components/date-picker/composables/use-date-picker-single-calendar-text.types.ts +1 -0
  44. package/dist/assets/components/date-picker/date-picker.types.ts +1 -0
  45. package/dist/assets/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.types.ts +1 -0
  46. package/dist/assets/components/date-range-picker/components/date-range-picker-calendar/date-range-picker-calendar.vue +1 -1
  47. package/dist/assets/components/date-range-picker/composables/use-date-range-picker-calendar-text.types.ts +1 -0
  48. package/dist/assets/components/date-range-picker/composables/use-granularity-memory.types.ts +1 -0
  49. package/dist/assets/components/date-range-picker/date-range-picker.types.ts +1 -0
  50. package/dist/assets/components/divider/divider.types.ts +1 -0
  51. package/dist/assets/components/draggable-handle/draggable-handle.types.ts +1 -0
  52. package/dist/assets/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.types.ts +1 -0
  53. package/dist/assets/components/dropdown/components/dropdown-options-container/dropdown-options-container.vue +1 -1
  54. package/dist/assets/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.types.ts +1 -0
  55. package/dist/assets/components/dropdown/components/variants/dropdown-country/dropdown-country.types.ts +1 -0
  56. package/dist/assets/components/dropdown/components/variants/dropdown-currency/dropdown-currency.types.ts +1 -0
  57. package/dist/assets/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.types.ts +1 -0
  58. package/dist/assets/components/dropdown/components/variants/dropdown-tag/dropdown-tag.types.ts +1 -0
  59. package/dist/assets/components/dropdown/composables/use-display-value.types.ts +1 -0
  60. package/dist/assets/components/dropdown/composables/use-keyboard-navigation.types.ts +1 -0
  61. package/dist/assets/components/dropdown/dropdown.stories.ts +1 -1
  62. package/dist/assets/components/dropdown/dropdown.types.ts +1 -0
  63. package/dist/assets/components/dropdown/dropdown.vue +1 -1
  64. package/dist/assets/components/empty-state/empty-state.types.ts +1 -0
  65. package/dist/assets/components/file-uploader/components/file-uploader-file-card/file-uploader-file-card.types.ts +1 -0
  66. package/dist/assets/components/file-uploader/components/file-uploader-restrictions/file-uploader-restrictions.types.ts +1 -0
  67. package/dist/assets/components/file-uploader/composables/use-drag-drop-state/use-drag-drop-state.types.ts +1 -0
  68. package/dist/assets/components/file-uploader/file-uploader.types.ts +1 -0
  69. package/dist/assets/components/filter-bar/components/all-filters-modal/all-filters-modal.types.ts +1 -0
  70. package/dist/assets/components/filter-bar/components/all-filters-modal/all-filters-modal.vue +1 -1
  71. package/dist/assets/components/filter-bar/components/base-filter/base-filter.types.ts +1 -0
  72. package/dist/assets/components/filter-bar/components/checkbox-group-filter/checkbox-group-filter.types.ts +1 -0
  73. package/dist/assets/components/filter-bar/components/filter-bar-button-group/filter-bar-button-group.types.ts +1 -0
  74. package/dist/assets/components/filter-bar/components/input-filter/input-filter.types.ts +1 -0
  75. package/dist/assets/components/filter-bar/components/radio-group-filter/radio-group-filter.types.ts +1 -0
  76. package/dist/assets/components/filter-bar/components/toggle-filter/toggle-filter.types.ts +1 -0
  77. package/dist/assets/components/filter-bar/filter-bar.types.ts +1 -0
  78. package/dist/assets/components/focus-trap/focus-trap.types.ts +1 -0
  79. package/dist/assets/components/form-layout/components/form-layout-field-tip/form-layout-tip.types.ts +1 -0
  80. package/dist/assets/components/form-layout/components/form-layout-group/form-layout-group.types.ts +1 -0
  81. package/dist/assets/components/form-layout/form-layout.types.ts +1 -0
  82. package/dist/assets/components/header/header.types.ts +1 -0
  83. package/dist/assets/components/header-with-views/components/header-with-views-all-views/header-with-views-all-views.types.ts +1 -0
  84. package/dist/assets/components/header-with-views/components/header-with-views-item-edit-form/header-with-views-edit-form.types.ts +1 -0
  85. package/dist/assets/components/header-with-views/header-with-views.types.ts +1 -0
  86. package/dist/assets/components/image/image.types.ts +1 -0
  87. package/dist/assets/components/info-icon/info-icon.types.ts +1 -0
  88. package/dist/assets/components/input-field/input-field.stories.ts +1 -1
  89. package/dist/assets/components/input-field/input-field.types.ts +1 -0
  90. package/dist/assets/components/input-field-password/input-field-password.stories.ts +1 -1
  91. package/dist/assets/components/input-field-password/input-field-password.types.ts +1 -0
  92. package/dist/assets/components/input-field-phone-number/input-field-phone-number.stories.ts +1 -1
  93. package/dist/assets/components/input-field-phone-number/input-field-phone-number.types.ts +1 -0
  94. package/dist/assets/components/inspector/inspector.types.ts +1 -0
  95. package/dist/assets/components/internal/base-button/base-button.types.ts +1 -0
  96. package/dist/assets/components/internal/button-actions-with-menu/button-actions-with-menu.types.ts +1 -0
  97. package/dist/assets/components/internal/calendar/calendar.types.ts +1 -0
  98. package/dist/assets/components/internal/calendar/components/calendar-month/calendar-month.types.ts +1 -0
  99. package/dist/assets/components/internal/calendar/components/calendar-month/components/calendar-month-day/calendar-month-day.types.ts +1 -0
  100. package/dist/assets/components/internal/calendar/components/calendar-month/composables/granular-min-max-date.types.ts +1 -0
  101. package/dist/assets/components/internal/calendar/components/calendar-year/calendar-year.types.ts +1 -0
  102. package/dist/assets/components/internal/calendar/components/calendar-year/components/calendar-year-month/calendar-year-month.types.ts +1 -0
  103. package/dist/assets/components/internal/calendar/composables/use-granularity-adjustments.types.ts +1 -0
  104. package/dist/assets/components/internal/checkbox-input/checkbox-input.types.ts +1 -0
  105. package/dist/assets/components/internal/copy/copy.types.ts +1 -0
  106. package/dist/assets/components/internal/dialog-page/dialog-page.types.ts +1 -0
  107. package/dist/assets/components/internal/grid-layout/grid-layout.types.ts +1 -0
  108. package/dist/assets/components/internal/header-meta/header-meta.types.ts +1 -0
  109. package/dist/assets/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/components/listbox-multi-select-category/listbox-multi-select-category.types.ts +1 -0
  110. package/dist/assets/components/internal/listbox/components/listbox-multi-select/components/listbox-multi-select-options/listbox-multi-select-options.types.ts +1 -0
  111. package/dist/assets/components/internal/listbox/components/listbox-multi-select/listbox-multi-select.types.ts +1 -0
  112. package/dist/assets/components/internal/listbox/listbox.types.ts +1 -0
  113. package/dist/assets/components/internal/radio-input/radio-input.types.ts +1 -0
  114. package/dist/assets/components/internal/radio-input/radio-input.vue +1 -1
  115. package/dist/assets/components/internal/teleport/teleport.types.ts +1 -0
  116. package/dist/assets/components/internal/tooltip/tooltip.types.ts +1 -0
  117. package/dist/assets/components/layout/layout.types.ts +1 -0
  118. package/dist/assets/components/link/link.types.ts +1 -0
  119. package/dist/assets/components/list/components/list-item/list-item.stories.ts +1 -0
  120. package/dist/assets/components/list/components/list-item/list-item.types.ts +1 -0
  121. package/dist/assets/components/list/components/list-item/list-item.vue +1 -0
  122. package/dist/assets/components/list/list.docs.mdx +97 -0
  123. package/dist/assets/components/list/list.stories.ts +1 -0
  124. package/dist/assets/components/list/list.types.ts +1 -0
  125. package/dist/assets/components/list/list.vue +1 -0
  126. package/dist/assets/components/loading-indicator/loading-indicator.types.ts +1 -0
  127. package/dist/assets/components/menu/components/menu-item/menu-item.types.ts +1 -0
  128. package/dist/assets/components/menu/menu.types.ts +1 -0
  129. package/dist/assets/components/modal/components/modal-page/modal-page.types.ts +1 -0
  130. package/dist/assets/components/modal/modal.types.ts +1 -0
  131. package/dist/assets/components/pagination/pagination.types.ts +1 -0
  132. package/dist/assets/components/payment-method/payment-method.types.ts +1 -0
  133. package/dist/assets/components/popover/popover.types.ts +1 -0
  134. package/dist/assets/components/popper-container/popper-container.types.ts +1 -0
  135. package/dist/assets/components/promo-banner/promo-banner.types.ts +1 -0
  136. package/dist/assets/components/radio-group/components/radio-button/radio-button.types.ts +1 -0
  137. package/dist/assets/components/radio-group/radio-group.types.ts +1 -0
  138. package/dist/assets/components/rich-text-editor/components/rich-text-editor-content-area/rich-text-editor-content-area.types.ts +1 -0
  139. package/dist/assets/components/rich-text-editor/components/rich-text-editor-renderer/components/rich-text-editor-code-block/rich-text-editor-code-block.types.ts +1 -0
  140. package/dist/assets/components/rich-text-editor/components/rich-text-editor-renderer/components/rich-text-editor-inline-code/rich-text-editor-inline-code.types.ts +1 -0
  141. package/dist/assets/components/rich-text-editor/components/rich-text-editor-renderer/components/rich-text-editor-link/rich-text-editor-link.types.ts +1 -0
  142. package/dist/assets/components/rich-text-editor/components/rich-text-editor-renderer/components/rich-text-editor-list-item/rich-text-editor-list-item.types.ts +1 -0
  143. package/dist/assets/components/rich-text-editor/components/rich-text-editor-renderer/rich-text-editor-renderer.types.ts +1 -0
  144. package/dist/assets/components/rich-text-editor/rich-text-editor.types.ts +1 -0
  145. package/dist/assets/components/search-bar/search-bar.types.ts +1 -0
  146. package/dist/assets/components/secondary-nav/secondary-nav.types.ts +1 -0
  147. package/dist/assets/components/segmented-control/segmented-control.types.ts +1 -0
  148. package/dist/assets/components/selection-card/components/selection-card-group/selection-card-group.types.ts +1 -0
  149. package/dist/assets/components/selection-card/selection-card.types.ts +1 -0
  150. package/dist/assets/components/sidepanel/sidepanel.types.ts +1 -0
  151. package/dist/assets/components/status/status.types.ts +1 -0
  152. package/dist/assets/components/stepper/stepper.types.ts +1 -0
  153. package/dist/assets/components/structured-list/structured-list.types.ts +1 -0
  154. package/dist/assets/components/summary-grid/components/summary-grid-item/summary-grid-item.types.ts +1 -0
  155. package/dist/assets/components/summary-grid/components/summary-grid-item-amount/summary-grid-item-amount.types.ts +1 -0
  156. package/dist/assets/components/summary-grid/components/summary-grid-item-custom/summary-grid-item-custom.types.ts +1 -0
  157. package/dist/assets/components/summary-grid/components/summary-grid-item-numeric/summary-grid-item-numeric.types.ts +1 -0
  158. package/dist/assets/components/summary-grid/components/summary-grid-item-percentage/summary-grid-item-percentage.types.ts +1 -0
  159. package/dist/assets/components/summary-grid/components/summary-grid-item-text/summary-grid-item-text.types.ts +1 -0
  160. package/dist/assets/components/summary-grid/summary-grid.types.ts +1 -0
  161. package/dist/assets/components/tabs/components/tab.types.ts +1 -0
  162. package/dist/assets/components/tabs/tabs.types.ts +1 -0
  163. package/dist/assets/components/tag/tag.types.ts +1 -0
  164. package/dist/assets/components/textarea/textarea.types.ts +1 -0
  165. package/dist/assets/components/timeline/components/timeline-item/timeline-item.vue +1 -1
  166. package/dist/assets/components/timeline/timeline.stories.ts +1 -1
  167. package/dist/assets/components/timeline/timeline.types.ts +1 -0
  168. package/dist/assets/components/toast/components/toast-shadow-stack/toast-shadow-stack.types.ts +1 -0
  169. package/dist/assets/components/toggle/toggle.types.ts +1 -0
  170. package/dist/assets/components/tutorial/tutorial.types.ts +1 -0
  171. package/dist/assets/components/typography/typography.types.ts +1 -0
  172. package/dist/assets/components.json +101 -0
  173. package/dist/assets/composables/use-bento-theme/install.ts +1 -0
  174. package/dist/assets/composables/use-bento-theme/install.types.ts +1 -0
  175. package/dist/assets/composables/use-bento-theme/use-bento-theme.types.ts +1 -0
  176. package/dist/assets/composables/use-bento-toast-controller/install.ts +1 -0
  177. package/dist/assets/composables/use-bento-toast-controller/use-bento-toast-controller.types.ts +1 -0
  178. package/dist/assets/composables/use-form-validate/use-form.types.ts +1 -0
  179. package/dist/assets/composables/use-form-validate-zod-4/use-form.types.ts +1 -0
  180. package/dist/assets/composables/use-virtual-list/use-virtual-list.types.ts +1 -0
  181. package/dist/assets/deprecations.md +330 -0
  182. package/dist/assets/directives/keyboard-navigation/keyboard-navigation.types.ts +1 -0
  183. package/dist/assets/directives/tooltip/tooltip.types.ts +1 -0
  184. package/dist/assets/icons.json +415 -0
  185. package/dist/assets/index.ts +1 -1
  186. package/dist/assets/install.ts +1 -0
  187. package/dist/assets/tailwind/README.md +89 -0
  188. package/dist/assets/templates/dashboard-template/dashboard-template.types.ts +1 -0
  189. package/dist/assets/templates/data-grid-template/data-grid-template.stories.ts +1 -1
  190. package/dist/assets/templates/data-grid-template/data-grid-template.types.ts +1 -0
  191. package/dist/assets/utility-classes.md +92 -0
  192. package/dist/assets/utils/ts/currency/currency.types.ts +1 -0
  193. package/dist/assets/variables.css +309 -0
  194. package/dist/main.js +395 -29
  195. package/package.json +15 -6
@@ -1 +1 @@
1
- import type { Meta, StoryObj } from '@storybook/vue'; import { storybookDocsParameter } from '@/utils/ts/storybook'; import { onMounted, ref } from 'vue'; import { isVue2 } from 'vue-demi'; import BentoTimeline from './timeline.vue'; import BentoTimelineItem from './components/timeline-item/timeline-item.vue'; import { BentoTimelineGapUnit, BentoTimelineShowMorePlacement } from './timeline.types'; import TimelineDynamicAddition from './__tests__/timeline-dynamic-add-stub.vue?raw'; import { BentoDateFormat } from '@/components/date/date.types'; import BentoLink from '@/components/link/link.vue'; import BentoButton from '@/components/button/button.vue'; const meta: Meta = { title: 'Timeline', component: BentoTimeline, argTypes: { // Slots default: { name: 'default', type: { name: 'string', required: false }, description: 'BentoTimelineItem components', control: 'text', table: { type: { summary: 'VNode[]' }, }, }, }, }; export default meta; type Story = StoryObj<typeof BentoTimeline>; const DEFAULT_PROPS = { timegapLimit: { unit: BentoTimelineGapUnit.DAY, amount: 15 }, showMore: { limit: 3, placement: BentoTimelineShowMorePlacement.AFTER_FIRST }, }; const DEFAULT_ITEM_PROPS = { timestamp: { date: new Date(), value: 'AuthorName', format: BentoDateFormat.FULL_DATE_EXACT_TIME_WITHOUT_PERIOD, }, dataList: [ { label: 'Label', value: 'Value' }, { label: 'Label', value: 'Value' }, ], description: 'Space to put some description about this milestone', }; const { description: _, ...DEFAULT_PROPS_WITHOUT_DESCRIPTION } = DEFAULT_ITEM_PROPS; export const Default: Story = { render: (_args, { argTypes }) => ({ components: { BentoTimeline, BentoTimelineItem }, props: Object.keys(argTypes), template: ` <bento-timeline v-bind="args"> <bento-timeline-item v-bind="milestone5" /> <bento-timeline-item v-bind="milestone4" /> <bento-timeline-item v-bind="milestone3" /> <bento-timeline-item v-bind="milestone2" /> <bento-timeline-item v-bind="milestone1" /> </bento-timeline> `, setup(props) { const milestone5 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 5', status: 'green', }; const milestone4 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 4', timestamp: { date: new Date().setDate(-2), value: 'AuthorName', }, }; const milestone3 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 3', timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, status: 'red', }; const milestone2 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 2', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-15), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; return { args: isVue2 ? props : _args, milestone1, milestone2, milestone3, milestone4, milestone5, }; }, }), args: { ...DEFAULT_PROPS, }, }; export const WithLinks: Story = { render: (_args, { argTypes }) => ({ components: { BentoLink, BentoTimeline, BentoTimelineItem }, props: Object.keys(argTypes), template: ` <bento-timeline v-bind="args"> <bento-timeline-item v-bind="milestone3" /> <bento-timeline-item v-bind="milestone2"> A description with <bento-link to="/">a link</bento-link> </bento-timeline-item> <bento-timeline-item v-bind="milestone1" /> </bento-timeline> `, setup(props) { const milestone3 = { ...DEFAULT_ITEM_PROPS, title: { title: 'Milestone 3', to: '/', }, timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, status: 'green', }; const milestone2 = { ...DEFAULT_PROPS_WITHOUT_DESCRIPTION, title: 'Milestone 2', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-15), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; return { args: isVue2 ? props : _args, milestone1, milestone2, milestone3, }; }, }), args: { ...DEFAULT_PROPS, }, }; const withNotesCode = ` <template> <bento-timeline v-bind="args" @add-timeline-note="addNote"> <bento-timeline-item v-for="item in timelineItems" v-bind="item" /> </bento-timeline> </template> <script setup> const milestone3 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 2', timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-5), value: 'AuthorName', }, }; const milestone2 = { type: 'note', description: 'Milestone Note. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; const timelineItems = ref(); onMounted(() => { timelineItems.value = [milestone3, milestone2, milestone1]; }); const addNote = e => { timelineItems.value.unshift(e); }; return { args: isVue2 ? props : _args, timelineItems, addNote, }; </script> `; export const WithNotes: Story = { render: (_args, { argTypes }) => ({ components: { BentoTimeline, BentoTimelineItem }, props: Object.keys(argTypes), template: ` <bento-timeline v-bind="args"> <bento-timeline-item v-bind="milestone3" /> <bento-timeline-item v-bind="milestone2" /> <bento-timeline-item v-bind="milestone1" /> </bento-timeline> `, setup(props) { const milestone3 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 2', timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-5), value: 'AuthorName', }, }; const milestone2 = { type: 'note', description: 'Milestone Note. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; return { args: isVue2 ? props : _args, milestone1, milestone2, milestone3, }; }, }), args: { ...DEFAULT_PROPS, showMore: null, }, parameters: storybookDocsParameter(withNotesCode), }; const addNoteCode = ` <template> <bento-timeline v-bind="args" add-note @add-timeline-note="addNote"> <bento-timeline-item v-for="item in timelineItems" v-bind="item" /> </bento-timeline> </template> <script setup> const milestone3 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 2', timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-5), value: 'AuthorName', }, }; const milestone2 = { type: 'note', description: 'Milestone Note. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; const timelineItems = ref(); onMounted(() => { timelineItems.value = [milestone3, milestone2, milestone1]; }); const addNote = e => { timelineItems.value.unshift(e); }; return { timelineItems, addNote, }; </script> `; export const AddNote: Story = { render: (_args, { argTypes }) => ({ components: { BentoTimeline, BentoTimelineItem }, props: Object.keys(argTypes), template: ` <bento-timeline v-bind="args" add-note @add-timeline-note="addNote"> <bento-timeline-item v-for="item in timelineItems" v-bind="item" /> </bento-timeline> `, setup(props) { const milestone3 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 2', timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-5), value: 'AuthorName', }, }; const milestone2 = { type: 'note', description: 'Milestone Note. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; const timelineItems = ref(); onMounted(() => { timelineItems.value = [milestone3, milestone2, milestone1]; }); const addNote = e => { const newNote = { ...e, timestamp: { ...e.timestamp, value: 'AuthorName' } }; timelineItems.value.unshift(newNote); }; return { args: isVue2 ? props : _args, timelineItems, addNote, }; }, }), args: { ...DEFAULT_PROPS, showMore: null, addNotes: true, }, parameters: storybookDocsParameter(addNoteCode), }; export const DynamicItemAddition: Story = { render: (_args, { argTypes }) => ({ components: { BentoButton, BentoTimeline, BentoTimelineItem }, props: Object.keys(argTypes), template: ` <div style="display: flex; flex-direction: row; align-items: flex-start; gap: 16px;"> <bento-button @click="addItem">Add timeline item</bento-button> <bento-timeline v-if="timelineEntries"> <bento-timeline-item v-for="entry in timelineEntries" :key="entry.title" v-bind="entry" /> </bento-timeline> </div> `, setup(props) { const timelineEntries = ref([]); let index = 0; const addItem = () => { if (index < 5) { timelineEntries.value.unshift(milestones[index]); index++; } }; const milestone5 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 5', status: 'green', }; const milestone4 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 4', timestamp: { date: new Date().setDate(-2), value: 'AuthorName', }, }; const milestone3 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 3', timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, status: 'red', }; const milestone2 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 2', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-15), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; const milestones = [milestone1, milestone2, milestone3, milestone4, milestone5]; return { args: isVue2 ? props : _args, timelineEntries, addItem, }; }, }), args: { ...DEFAULT_PROPS, }, parameters: storybookDocsParameter(TimelineDynamicAddition), };
1
+ import type { Meta, StoryObj } from '@storybook/vue'; import { storybookDocsParameter } from '@/utils/ts/storybook'; import { onMounted, ref } from 'vue'; import { isVue2 } from 'vue-demi'; import BentoTimeline from './timeline.vue'; import BentoTimelineItem from './components/timeline-item/timeline-item.vue'; import { BentoTimelineGapUnit, BentoTimelineShowMorePlacement } from './timeline.types'; import TimelineDynamicAddition from './__tests__/timeline-dynamic-add-stub.vue?raw'; import TimelineDefaultExample from './__tests__/timeline-default-example.vue?raw'; import { BentoDateFormat } from '@/components/date/date.types'; import BentoLink from '@/components/link/link.vue'; import BentoButton from '@/components/button/button.vue'; const meta: Meta = { title: 'Timeline', component: BentoTimeline, argTypes: { // Slots default: { name: 'default', type: { name: 'string', required: false }, description: 'BentoTimelineItem components', control: 'text', table: { type: { summary: 'VNode[]' }, }, }, }, }; export default meta; type Story = StoryObj<typeof BentoTimeline>; const DEFAULT_PROPS = { timegapLimit: { unit: BentoTimelineGapUnit.DAY, amount: 15 }, showMore: { limit: 3, placement: BentoTimelineShowMorePlacement.AFTER_FIRST }, }; const DEFAULT_ITEM_PROPS = { timestamp: { date: new Date(), value: 'AuthorName', format: BentoDateFormat.FULL_DATE_EXACT_TIME_WITHOUT_PERIOD, }, dataList: [ { label: 'Label', value: 'Value' }, { label: 'Label', value: 'Value' }, ], description: 'Space to put some description about this milestone', }; const { description: _, ...DEFAULT_PROPS_WITHOUT_DESCRIPTION } = DEFAULT_ITEM_PROPS; export const Default: Story = { render: (_args, { argTypes }) => ({ components: { BentoTimeline, BentoTimelineItem }, props: Object.keys(argTypes), template: ` <bento-timeline v-bind="args"> <bento-timeline-item v-bind="milestone5" /> <bento-timeline-item v-bind="milestone4" /> <bento-timeline-item v-bind="milestone3" /> <bento-timeline-item v-bind="milestone2" /> <bento-timeline-item v-bind="milestone1" /> </bento-timeline> `, setup(props) { const milestone5 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 5', status: 'green', }; const milestone4 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 4', timestamp: { date: new Date().setDate(-2), value: 'AuthorName', }, }; const milestone3 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 3', timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, status: 'red', }; const milestone2 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 2', timestamp: { date: new Date().setDate(-14), value: 'BookingDate', description: { popoverText: 'date of booking', }, }, additionalTimestamp: { date: new Date().setDate(-15), value: 'ValueDate', description: { tooltipText: 'date of value', }, }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; return { args: isVue2 ? props : _args, milestone1, milestone2, milestone3, milestone4, milestone5, }; }, }), args: { ...DEFAULT_PROPS, }, parameters: storybookDocsParameter(TimelineDefaultExample), }; export const WithLinks: Story = { render: (_args, { argTypes }) => ({ components: { BentoLink, BentoTimeline, BentoTimelineItem }, props: Object.keys(argTypes), template: ` <bento-timeline v-bind="args"> <bento-timeline-item v-bind="milestone3" /> <bento-timeline-item v-bind="milestone2"> A description with <bento-link to="/">a link</bento-link> </bento-timeline-item> <bento-timeline-item v-bind="milestone1" /> </bento-timeline> `, setup(props) { const milestone3 = { ...DEFAULT_ITEM_PROPS, title: { title: 'Milestone 3', to: '/', }, timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, status: 'green', }; const milestone2 = { ...DEFAULT_PROPS_WITHOUT_DESCRIPTION, title: 'Milestone 2', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-15), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; return { args: isVue2 ? props : _args, milestone1, milestone2, milestone3, }; }, }), args: { ...DEFAULT_PROPS, }, }; const withNotesCode = ` <template> <bento-timeline v-bind="args" @add-timeline-note="addNote"> <bento-timeline-item v-for="item in timelineItems" v-bind="item" /> </bento-timeline> </template> <script setup> const milestone3 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 2', timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-5), value: 'AuthorName', }, }; const milestone2 = { type: 'note', description: 'Milestone Note. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; const timelineItems = ref(); onMounted(() => { timelineItems.value = [milestone3, milestone2, milestone1]; }); const addNote = e => { timelineItems.value.unshift(e); }; return { args: isVue2 ? props : _args, timelineItems, addNote, }; </script> `; export const WithNotes: Story = { render: (_args, { argTypes }) => ({ components: { BentoTimeline, BentoTimelineItem }, props: Object.keys(argTypes), template: ` <bento-timeline v-bind="args"> <bento-timeline-item v-bind="milestone3" /> <bento-timeline-item v-bind="milestone2" /> <bento-timeline-item v-bind="milestone1" /> </bento-timeline> `, setup(props) { const milestone3 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 2', timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-5), value: 'AuthorName', }, }; const milestone2 = { type: 'note', description: 'Milestone Note. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; return { args: isVue2 ? props : _args, milestone1, milestone2, milestone3, }; }, }), args: { ...DEFAULT_PROPS, showMore: null, }, parameters: storybookDocsParameter(withNotesCode), }; const addNoteCode = ` <template> <bento-timeline v-bind="args" add-note @add-timeline-note="addNote"> <bento-timeline-item v-for="item in timelineItems" v-bind="item" /> </bento-timeline> </template> <script setup> const milestone3 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 2', timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-5), value: 'AuthorName', }, }; const milestone2 = { type: 'note', description: 'Milestone Note. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; const timelineItems = ref(); onMounted(() => { timelineItems.value = [milestone3, milestone2, milestone1]; }); const addNote = e => { timelineItems.value.unshift(e); }; return { timelineItems, addNote, }; </script> `; export const AddNote: Story = { render: (_args, { argTypes }) => ({ components: { BentoTimeline, BentoTimelineItem }, props: Object.keys(argTypes), template: ` <bento-timeline v-bind="args" add-note @add-timeline-note="addNote"> <bento-timeline-item v-for="item in timelineItems" v-bind="item" /> </bento-timeline> `, setup(props) { const milestone3 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 2', timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-5), value: 'AuthorName', }, }; const milestone2 = { type: 'note', description: 'Milestone Note. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; const timelineItems = ref(); onMounted(() => { timelineItems.value = [milestone3, milestone2, milestone1]; }); const addNote = e => { const newNote = { ...e, timestamp: { ...e.timestamp, value: 'AuthorName' } }; timelineItems.value.unshift(newNote); }; return { args: isVue2 ? props : _args, timelineItems, addNote, }; }, }), args: { ...DEFAULT_PROPS, showMore: null, addNotes: true, }, parameters: storybookDocsParameter(addNoteCode), }; export const DynamicItemAddition: Story = { render: (_args, { argTypes }) => ({ components: { BentoButton, BentoTimeline, BentoTimelineItem }, props: Object.keys(argTypes), template: ` <div style="display: flex; flex-direction: row; align-items: flex-start; gap: 16px;"> <bento-button @click="addItem">Add timeline item</bento-button> <bento-timeline v-if="timelineEntries"> <bento-timeline-item v-for="entry in timelineEntries" :key="entry.title" v-bind="entry" /> </bento-timeline> </div> `, setup(props) { const timelineEntries = ref([]); let index = 0; const addItem = () => { if (index < 5) { timelineEntries.value.unshift(milestones[index]); index++; } }; const milestone5 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 5', status: 'green', }; const milestone4 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 4', timestamp: { date: new Date().setDate(-2), value: 'AuthorName', }, }; const milestone3 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 3', timestamp: { date: new Date().setDate(-4), value: 'AuthorName', }, status: 'red', }; const milestone2 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 2', timestamp: { date: new Date().setDate(-14), value: 'AuthorName', }, additionalTimestamp: { date: new Date().setDate(-15), value: 'AuthorName', }, }; const milestone1 = { ...DEFAULT_ITEM_PROPS, title: 'Milestone 1', timestamp: { date: new Date().setDate(-150), value: 'AuthorName', }, tag: { label: 'Tag1', }, }; const milestones = [milestone1, milestone2, milestone3, milestone4, milestone5]; return { args: isVue2 ? props : _args, timelineEntries, addItem, }; }, }), args: { ...DEFAULT_PROPS, }, parameters: storybookDocsParameter(TimelineDynamicAddition), };
@@ -0,0 +1 @@
1
+ import { type BentoDashedUnderlineProps } from '@/components/dashed-underline/dashed-underline.types'; import { type BentoDateFormat } from '@/components/date/date.types'; import { type BentoTag } from '@/components/tag'; import { type Ref } from 'vue'; import type { RouterLinkProps } from 'vue-router/types/router.d.ts'; export enum BentoTimelineShowMorePlacement { BOTTOM = 'bottom', AFTER_FIRST = 'after-first', BEFORE_LAST = 'before-last', } export interface BentoTimelineShowMoreObject { limit: number; placement?: BentoTimelineShowMorePlacement; } export enum BentoTimelineGapUnit { SECOND = 'second', MINUTE = 'minute', HOUR = 'hour', DAY = 'day', MONTH = 'month', YEAR = 'year', } export interface BentoTimelineGapObject { amount: number; unit: BentoTimelineGapUnit; } /** * @deprecated "variant" prop was deprecated. Use "status" modifier instead. */ export enum BentoTimelineItemVariant { DEFAULT = 'SquareSmallIcon', SUCCESS = 'CheckedCircleIcon', CRITICAL = 'CrossCircleIcon', } export enum BentoTimelineStatus { BLACK = 'black', BLUE = 'blue', GREEN = 'green', GREY = 'grey', ORANGE = 'orange', RED = 'red', YELLOW = 'yellow', } export interface BentoTimelineItemTitle extends RouterLinkProps { /** * Link label. */ title: string; /** * Set the rendered link to a regular external anchor link. */ external?: boolean; /** * Sets the target of the rendered link. */ target?: string; // This has been added to allow users to add HTML and Aria attribute // eslint-disable-next-line @typescript-eslint/no-explicit-any [name: string]: any; } export interface BentoTimelineTimestamp { date: Date | number; format?: BentoDateFormat; value?: string; description?: BentoDashedUnderlineProps; } export interface BentoTimelineDataListObject { label: string; value: string; } export type BentoTimelineDataList = Array<BentoTimelineDataListObject>; export type BentoTimelineTagProps = InstanceType<typeof BentoTag>['$props']; export interface BentoTimelineEntry { title?: string | BentoTimelineItemTitle; description?: string; date: Date | number; } /** * @deprecated from version 2.0.0. */ export type BentoTimelineRegisterEntry = (props: { title?: string | BentoTimelineItemTitle; description?: string; date: Date | number; }) => { timelineEntries: Ref<Array<BentoTimelineEntry>>; index: number; unregisterTimelineEntry: () => void }; /** * @private */ export type BentoInternalTimelineRegisterEntry = ( entry: BentoTimelineEntry ) => { timelineEntries: Ref<Array<BentoTimelineEntry>>; unregisterTimelineEntry: () => void }; export interface BentoTimelineConfigData { showAll: Ref<boolean>; showMoreIndex: Ref<number>; hiddenItems: Ref<number>; visibleIndexes: Ref<Array<number>>; timegapLimit: Ref<BentoTimelineGapObject>; timelineEntries: Ref<Array<BentoTimelineEntry>>; } export interface BentoTimelineProps { /** * If set to true, gives the possibility to manually add notes to the timeline via a textarea */ addNote?: boolean; /** * Object that determines the max number of items to show without clicking the show more button * and where in the timeline is the show more button placed */ showMore?: BentoTimelineShowMoreObject; /** * Object that determines minimum amount of time for the automatic timegap indicator; * Define a unit (hour, day, month) and an amount (e.g. { amount: 7, unit: 'days' }). * If null, automatic timegap detection will be turned off */ timegapLimit?: BentoTimelineGapObject; } export interface BentoTimelineItemProps { /** * Additional timestamp of the event */ additionalTimestamp?: BentoTimelineTimestamp; /** * Relevant key-value pair data to display in the event */ dataList?: BentoTimelineDataList; /** * Description of the event */ description?: string; /** * Modifier that changes the color of the timeline icon * @values blue, black, green, grey, orange, red, yellow */ status?: string; /** * Tag props that will be passed down to inner tag component */ tag?: BentoTimelineTagProps; /** * Main timestamp of the event. Used for timegap detection. */ timestamp: BentoTimelineTimestamp; /** * Title of the event */ title?: BentoTimelineItemTitle | string; /** * Type of the timeline item. If set to 'note', it renders a note item in the timeline. Defaults to 'milestone'. * @values milestone, note */ type?: string; /** * Variant for the timeline item * @values DEFAULT, SUCCESS, CRITICAL * * @deprecated Use "status" prop instead */ variant?: BentoTimelineItemVariant | `${BentoTimelineItemVariant}`; }
@@ -0,0 +1 @@
1
+ import type { BentoToastItem } from '@/composables'; export interface BentoToastItemWithDimensions extends BentoToastItem { bottom: number; height: number; }
@@ -0,0 +1 @@
1
+ export enum BentoTogglePropClass { LABEL_FIRST = 'label-first', } /** * @deprecated for usage with properties since version 2.0. Use the string literal instead. */ export enum BentoToggleLabelPosition { BEFORE = 'before', AFTER = 'after', }
@@ -0,0 +1 @@
1
+ import type { Ref } from 'vue'; import type { BentoButtonActionObject } from '@/components/button'; import type { BentoImage } from '@/components/image'; import type { BentoPopoverPositions } from '@/components/popover'; import type { VueNodeElement } from '@/types/elements'; export interface BentoTutorialStep { target: VueNodeElement | Ref<VueNodeElement>; image?: Omit<InstanceType<typeof BentoImage>['$props'], 'aspectRatio'>; title: string; description: string; action?: BentoButtonActionObject; position?: `${BentoPopoverPositions}`; } export type BentoTutorialScrollOptions = boolean | ScrollIntoViewOptions;
@@ -0,0 +1 @@
1
+ /** * @deprecated for usage with properties since version 2.0. Use the string literal instead. */ export enum BentoTypographyVariant { CAPTION = 'caption', BODY = 'body', /** @deprecated Use "TITLE" instead. */ SUBTITLE = 'subtitle', TITLE = 'title', } export enum BentoTypographyModifier { WIDE = 'wide', STRONGER = 'stronger', STRONGER_WIDE = 'stronger-wide', STRONGEST = 'strongest', STRONGEST_WIDE = 'strongest-wide', MEDIUM = 'm', LARGE = 'l', MOBILE = 'mobile', } /** * @deprecated for usage with properties since version 2.0. Use the string literal instead. */ export enum BentoTypographyElement { H1 = 'h1', H2 = 'h2', H3 = 'h3', H4 = 'h4', H5 = 'h5', H6 = 'h6', DIV = 'div', PARAGRAPH = 'p', SPAN = 'span', } export interface BentoTypographyProps { /** * Sets the HTML DOM element. * @values h1, h2, h3, h4, h5, h6, div, p, span */ el?: BentoTypographyElement | `${BentoTypographyElement}`; /** * Adds the large class modifier. * Applicable to the Title variant. */ large?: boolean; /** * Adds the medium class modifier. * Applicable to the Title variant. */ medium?: boolean; /** * Adds the rich-text modifier, which allows for the use of HTML tags inside typography. */ richText?: boolean; /** * Adds the stronger class modifier. * Applicable to Caption, Body and Subtitle variants. */ stronger?: boolean; /** * Adds the strongest class modifier. * Applicable to Caption, Body and Subtitle variants. */ strongest?: boolean; /** * Sets the type of typography variant. * @values caption, body, title. */ variant?: BentoTypographyVariant | `${BentoTypographyVariant}`; /** * Adds the medium class modifier. * Applicable to the Body variant. */ wide?: boolean; }
@@ -0,0 +1,101 @@
1
+ [
2
+ "BentoAccordion",
3
+ "BentoAccordionItem",
4
+ "BentoActionBar",
5
+ "BentoAiTag",
6
+ "BentoAlert",
7
+ "BentoAnchorScroller",
8
+ "BentoAvatar",
9
+ "BentoBaseFilter",
10
+ "BentoButton",
11
+ "BentoButtonActions",
12
+ "BentoCard",
13
+ "BentoCheckbox",
14
+ "BentoCheckboxGroup",
15
+ "BentoChip",
16
+ "BentoClickOutside",
17
+ "BentoCodeSnippet",
18
+ "BentoCountry",
19
+ "BentoCurrency",
20
+ "BentoDashboardSection",
21
+ "BentoDashboardTemplate",
22
+ "BentoDashedUnderline",
23
+ "BentoDataGrid",
24
+ "BentoDataGridStaticIcon",
25
+ "BentoDataGridTagWithTextCell",
26
+ "BentoDataGridTemplate",
27
+ "BentoDataGridTrendCell",
28
+ "BentoDate",
29
+ "BentoDatePicker",
30
+ "BentoDateRangePicker",
31
+ "BentoDivider",
32
+ "BentoDropdown",
33
+ "BentoDropdownAvatar",
34
+ "BentoDropdownCountry",
35
+ "BentoDropdownCurrency",
36
+ "BentoDropdownPaymentMethod",
37
+ "BentoDropdownTag",
38
+ "BentoEmptyState",
39
+ "BentoFileUploader",
40
+ "BentoFilterBar",
41
+ "BentoFormLayout",
42
+ "BentoFormLayoutFieldTip",
43
+ "BentoFormLayoutGroup",
44
+ "BentoFormLayoutTitle",
45
+ "BentoHeader",
46
+ "BentoHeaderWithViews",
47
+ "BentoImage",
48
+ "BentoInfoIcon",
49
+ "BentoInputField",
50
+ "BentoInputFieldPassword",
51
+ "BentoInputFieldPhoneNumber",
52
+ "BentoInspector",
53
+ "BentoLayout",
54
+ "BentoLayoutRow",
55
+ "BentoLink",
56
+ "BentoList",
57
+ "BentoListItem",
58
+ "BentoLoadingButton",
59
+ "BentoLoadingIndicator",
60
+ "BentoMenu",
61
+ "BentoModal",
62
+ "BentoModalFullscreen",
63
+ "BentoModalFullscreenPage",
64
+ "BentoModalPage",
65
+ "BentoPagination",
66
+ "BentoPaymentMethod",
67
+ "BentoPopover",
68
+ "BentoPromoBanner",
69
+ "BentoRadioButton",
70
+ "BentoRadioGroup",
71
+ "BentoRichTextEditor",
72
+ "BentoSearchBar",
73
+ "BentoSecondaryNav",
74
+ "BentoSegmentedControl",
75
+ "BentoSelectionCard",
76
+ "BentoSelectionCardGroup",
77
+ "BentoSidepanel",
78
+ "BentoSidepanelPage",
79
+ "BentoStatus",
80
+ "BentoStep",
81
+ "BentoStepper",
82
+ "BentoStructuredList",
83
+ "BentoStructuredListItem",
84
+ "BentoSummaryGrid",
85
+ "BentoSummaryGridItemAmount",
86
+ "BentoSummaryGridItemCustom",
87
+ "BentoSummaryGridItemNumeric",
88
+ "BentoSummaryGridItemPercentage",
89
+ "BentoSummaryGridItemText",
90
+ "BentoTab",
91
+ "BentoTabs",
92
+ "BentoTag",
93
+ "BentoTextarea",
94
+ "BentoTimeline",
95
+ "BentoTimelineItem",
96
+ "BentoToast",
97
+ "BentoToggle",
98
+ "BentoToggleButton",
99
+ "BentoTutorial",
100
+ "BentoTypography"
101
+ ]
@@ -0,0 +1 @@
1
+ import { type App, isVue2, type Vue2 } from 'vue-demi'; import { useBentoThemeKey } from './use-bento-theme.types'; import { BentoTheme } from './install.types'; const getTheme = () => document.body.className.match(/b-\w+-theme/)?.[0] ?? ''; const getThemeForSystemPreference = () => { const preferredDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches; if (preferredDarkMode) { return BentoTheme.BENTO_DARK; } return BentoTheme.BENTO_LIGHT; }; export const setTheme = (theme: BentoTheme) => { const currentTheme = getTheme(); const systemTheme = getThemeForSystemPreference(); const themeToSet = theme === BentoTheme.BENTO_SYSTEM ? systemTheme : theme; if (themeToSet === BentoTheme.BENTO_LIGHT || themeToSet === BentoTheme.BENTO) { document.documentElement.style.colorScheme = 'light'; } else if (themeToSet === BentoTheme.BENTO_DARK) { document.documentElement.style.colorScheme = 'dark'; } // if theme is different from current and it is not `BentoTheme.BENTO` if (currentTheme.length && currentTheme !== themeToSet) { document.body.classList.remove(currentTheme); } // if theme is not `BentoTheme.BENTO` if (themeToSet.length) { document.body.classList.add(themeToSet); } }; /** * This function is used to create and register global reactive state necessary for theme to operate. * @param {Vue} Vue A context application to register global state with. */ export default Vue => { const themeProvider = { getTheme, setTheme, }; if (isVue2) { // Add theme as a global property as there is no "app.provide" functionality in Vue2 // eslint-disable-next-line no-param-reassign -- this is an official way of setting up instance properties on Vue (Vue as typeof Vue2).prototype[useBentoThemeKey] = themeProvider; } else { (Vue as App).provide(useBentoThemeKey, themeProvider); } };
@@ -0,0 +1 @@
1
+ export enum BentoTheme { /** * @deprecated in favor of {@link BENTO_LIGHT}. To be removed in v2.0.0. */ LEGACY = 'b-legacy-theme', STYLEGUIDE = 'b-styleguide-theme', /** * @deprecated in favor of {@link BENTO_LIGHT}. To be removed in v2.0.0. */ BENTO = '', BENTO_LIGHT = 'b-light-theme', BENTO_DARK = 'b-dark-theme', BENTO_SYSTEM = 'b-system', }
@@ -0,0 +1 @@
1
+ import { type BentoTheme } from './install.types'; export const useBentoThemeKey = Symbol('use-bento-theme'); export interface UseBentoTheme { getTheme: () => string; setTheme: (theme: BentoTheme | `${BentoTheme}`) => void; }
@@ -0,0 +1 @@
1
+ import { type App, isVue2, type Vue2 } from 'vue-demi'; import { createToastStack, toastStackInjectionKey } from './toast-stack'; /** * This function is used to create and register global reactive state necessary fro the Toasts to operate. * @param {Vue} Vue A context application to register global state with. */ export default Vue => { if (isVue2) { // Add toast stack as a global property as there is no "app.provide" functionality in Vue2 // eslint-disable-next-line no-param-reassign -- this is an official way of setting up instance properties on Vue (Vue as typeof Vue2).prototype[toastStackInjectionKey] = createToastStack(); } else { (Vue as App).provide(toastStackInjectionKey, createToastStack()); } };
@@ -0,0 +1 @@
1
+ import { type DeepReadonly, type Ref } from 'vue'; export interface BentoToastItemAction { handler: () => void; text: string; } export interface BentoToastItemParams { action?: BentoToastItemAction; text: string; } export interface BentoToastItem extends BentoToastItemParams { id: string; dismiss: () => void; } export type BentoToastItemsList = Array<BentoToastItem>; interface Toast { dismiss: () => void; } export interface ToastStack { stack: DeepReadonly<Ref<BentoToastItemsList>>; addToast: (params: BentoToastItemParams) => Toast; } export type UseBentoToastController = ToastStack;
@@ -0,0 +1 @@
1
+ import type { typeToFlattenedError } from 'zod'; /** * Object of all the form field props with their respective list of errors * @deprecated For usage with Zod/v3. Migrate to Zod/v4 and use `@adyen/bento-vue2/use-form-v4' instead or migrate to Vue3 and use Vee-Validate instead. */ export type ErrorBag<T> = typeToFlattenedError<T, string>['fieldErrors']; /** * Extracts all the keys from a type * @deprecated For usage with Zod/v3. Migrate to Zod/v4 and use `@adyen/bento-vue2/use-form-v4' instead or migrate to Vue3 and use Vee-Validate instead. */ export type allKeys<T> = T extends any ? keyof T : never; /** * useForm composable configuration object * @deprecated For usage with Zod/v3. Migrate to Zod/v4 and use `@adyen/bento-vue2/use-form-v4' instead or migrate to Vue3 and use Vee-Validate instead. */ export interface UseForm<T> { validationSchema: T; }
@@ -0,0 +1 @@
1
+ import type { typeToFlattenedError } from 'zod'; /** * Object of all the form field props with their respective list of errors */ export type ErrorBag<T> = typeToFlattenedError<T, string>['fieldErrors']; /** * Extracts all the keys from a type */ export type allKeys<T> = T extends any ? keyof T : never; /** * useForm composable configuration object */ export interface UseForm<T> { validationSchema: T; }
@@ -0,0 +1 @@
1
+ import type { Ref, UnwrapRef } from 'vue'; import type { StyleValue } from 'vue/types/jsx.d.ts'; export type UseVirtualListItemHeight = number | ((index: number) => number); export interface UseVirtualListOptions { disabled?: boolean; prefixHeight?: Ref<number>; itemHeight: UseVirtualListItemHeight; overscan?: number; } export interface UseVirtualListContainerProps { ref: Ref<UnwrapRef<HTMLElement | null>>; style: StyleValue; } export interface UseVirtualListWrapperProps { style: StyleValue; } export interface UseVirtualListItem<T> { data: T; index: number; }
@@ -0,0 +1,330 @@
1
+ # Bento Deprecations Registry
2
+
3
+ This file contains a list of all deprecated components, properties, and features in the Bento design system, extracted directly from the source code.
4
+
5
+ ---
6
+
7
+ ### Deprecation Found
8
+
9
+ - deprecate(
10
+ - ../vue2/src/components/input-field/input-field.vue- BentoInputField error property
11
+ - ../vue2/src/components/input-field/input-field.vue- `Use the BentoInputField errorMessage property instead to indicate that there is a modifier error.
12
+ - ../vue2/src/components/input-field/input-field.vue- Having the field as undefined will hide/remove the error.
13
+ - ../vue2/src/components/input-field/input-field.vue- <bento-dropdown errorMessage=Error message text />`
14
+ - ../vue2/src/components/input-field/input-field.vue- 2.0.0
15
+ ### Deprecation Found
16
+
17
+ - deprecate(
18
+ - ../vue2/src/components/input-field/input-field.vue- BentoInputField defaultIconBefore slot
19
+ - ../vue2/src/components/input-field/input-field.vue- `Use the BentoInputField iconBefore slot instead to add an icon at the left side of the input field
20
+ - ../vue2/src/components/input-field/input-field.vue- <bento-input-field>
21
+ - ../vue2/src/components/input-field/input-field.vue- \t<template #iconBefore>
22
+ - ../vue2/src/components/input-field/input-field.vue- \t\t<my-icon-goes-here />
23
+ ### Deprecation Found
24
+
25
+ - deprecate(
26
+ - ../vue2/src/components/input-field/input-field.vue- BentoInputField value property
27
+ - ../vue2/src/components/input-field/input-field.vue- `The use of value prop in BentoInputField is no longer supported.
28
+ - ../vue2/src/components/input-field/input-field.vue- Use the v-model or model-value property instead.`
29
+ - ../vue2/src/components/input-field/input-field.vue- 2.0.0
30
+ - ../vue2/src/components/input-field/input-field.vue- );
31
+ ### Deprecation Found
32
+
33
+ - deprecate(
34
+ - ../vue2/src/components/card/card.vue- BentoCard @click property
35
+ - ../vue2/src/components/card/card.vue- `Use the BentoCard @click with the clickable property to enable accessible styles.`
36
+ - ../vue2/src/components/card/card.vue- 2.0.0
37
+ - ../vue2/src/components/card/card.vue- );
38
+ - ../vue2/src/components/card/card.vue- }
39
+ ### Deprecation Found
40
+
41
+ - deprecate(
42
+ - ../vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue- BentoDropdownCurrency value property
43
+ - ../vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue- `The use of value prop in BentoDropdownCurrency is no longer supported.
44
+ - ../vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue- Use the v-model or model-value property instead.`
45
+ - ../vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue- 2.0.0
46
+ - ../vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue- );
47
+ ### Deprecation Found
48
+
49
+ - deprecate(
50
+ - ../vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue- BentoDropdownCountry custom variant and items prop label key
51
+ - ../vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue- Use any of the other BentoDropdownCountry variants instead OR use BentoDropdown component for custom labels
52
+ - ../vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue- 2.0.0
53
+ - ../vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue- );
54
+ - ../vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue- }
55
+ ### Deprecation Found
56
+
57
+ - deprecate(
58
+ - ../vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue- BentoDropdownCountry value property
59
+ - ../vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue- `The use of value prop in BentoDropdownCountry is no longer supported.
60
+ - ../vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue- Use the v-model or model-value property instead.`
61
+ - ../vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue- 2.0.0
62
+ - ../vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue- );
63
+ ### Deprecation Found
64
+
65
+ - deprecate(
66
+ - ../vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue- BentoDropdownPaymentMethod value property
67
+ - ../vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue- `The use of value prop in BentoDropdownPaymentMethod is no longer supported.
68
+ - ../vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue- Use the v-model or model-value property instead.`
69
+ - ../vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue- 2.0.0
70
+ - ../vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue- );
71
+ ### Deprecation Found
72
+
73
+ - deprecate(
74
+ - ../vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue- BentoDropdownTag value property
75
+ - ../vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue- `The use of value prop in BentoDropdownTag is no longer supported.
76
+ - ../vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue- Use the v-model or model-value property instead.`
77
+ - ../vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue- 2.0.0
78
+ - ../vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue- );
79
+ ### Deprecation Found
80
+
81
+ - deprecate(
82
+ - ../vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue- BentoDropdownAvatar value property
83
+ - ../vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue- `The use of value prop in BentoDropdownAvatar is no longer supported.
84
+ - ../vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue- Use the v-model or model-value property instead.`
85
+ - ../vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue- 2.0.0
86
+ - ../vue2/src/components/dropdown/components/variants/dropdown-avatar/dropdown-avatar.vue- );
87
+ ### Deprecation Found
88
+
89
+ - deprecate(
90
+ - ../vue2/src/components/dropdown/dropdown.vue- BentoDropdown error property
91
+ - ../vue2/src/components/dropdown/dropdown.vue- `Use the BentoDropdown errorMessage property instead to indicate that there is a modifier error.
92
+ - ../vue2/src/components/dropdown/dropdown.vue- Having the field as undefined will hide/remove the error.
93
+ - ../vue2/src/components/dropdown/dropdown.vue- <bento-dropdown errorMessage=Error message text />`
94
+ - ../vue2/src/components/dropdown/dropdown.vue- 2.0.0
95
+ ### Deprecation Found
96
+
97
+ - deprecate(BentoDropdown size property, `Do not use. Only default size should be used.`, 2.0.0);
98
+ - ../vue2/src/components/dropdown/dropdown.vue- }
99
+ - ../vue2/src/components/dropdown/dropdown.vue-
100
+ - ../vue2/src/components/dropdown/dropdown.vue- if (props.value) {
101
+ ### Deprecation Found
102
+
103
+ - deprecate(
104
+ - ../vue2/src/components/dropdown/dropdown.vue- BentoDropdown value property
105
+ - ../vue2/src/components/dropdown/dropdown.vue- `The use of value prop in BentoDropdown is no longer supported.
106
+ - ../vue2/src/components/dropdown/dropdown.vue- Use the v-model or model-value property instead.`
107
+ - ../vue2/src/components/dropdown/dropdown.vue- 2.0.0
108
+ - ../vue2/src/components/dropdown/dropdown.vue- );
109
+ ### Deprecation Found
110
+
111
+ - deprecate(
112
+ - ../vue2/src/components/typography/typography.vue- BentoTypography subtitle variant (BentoTypographyVariant.SUBTITLE)
113
+ - ../vue2/src/components/typography/typography.vue- `Use the title or BentoTypographyVariant.TITLE variant and (optionally) combine it with a size property. e.g. medium / large.
114
+ - variant=BentoTypographyVariant.TITLE medium>`
115
+ - ../vue2/src/components/typography/typography.vue- 2.0.0
116
+ - ../vue2/src/components/typography/typography.vue- );
117
+ ### Deprecation Found
118
+
119
+ - deprecate(
120
+ - ../vue2/src/components/currency/currency.vue- BentoCurrency default slot
121
+ - ../vue2/src/components/currency/currency.vue- `The use of default slot in BentoCurrency is no longer supported as it causes issues with dynamic content.
122
+ - ../vue2/src/components/currency/currency.vue- Use the value property instead.
123
+ - value=12345.67 currency=USD major-units=false />`
124
+ - ../vue2/src/components/currency/currency.vue- 2.0.0
125
+ ### Deprecation Found
126
+
127
+ - deprecate(
128
+ - ../vue2/src/components/sidepanel/sidepanel.vue- BentoSidepanel isDismissible property’s behavior
129
+ - ../vue2/src/components/sidepanel/sidepanel.vue- BentoSidepanel isDismissible will no longer hide the close button. Use hideCloseButton=true instead.
130
+ - ../vue2/src/components/sidepanel/sidepanel.vue- 2.0.0
131
+ - ../vue2/src/components/sidepanel/sidepanel.vue- );
132
+ - ../vue2/src/components/sidepanel/sidepanel.vue- }
133
+ ### Deprecation Found
134
+
135
+ - deprecate(
136
+ - ../vue2/src/components/input-field-password/input-field-password.vue- BentoInputFieldPassword value property
137
+ - ../vue2/src/components/input-field-password/input-field-password.vue- `The use of value prop in BentoInputFieldPassword is no longer supported.
138
+ - ../vue2/src/components/input-field-password/input-field-password.vue- Use the v-model or model-value property instead.`
139
+ - ../vue2/src/components/input-field-password/input-field-password.vue- 2.0.0
140
+ - ../vue2/src/components/input-field-password/input-field-password.vue- );
141
+ ### Deprecation Found
142
+
143
+ - deprecate(
144
+ - The property \`label\` will always be rendered by default.`
145
+ - ../vue2/src/components/internal/controls-group/controls-group.vue- `After version 2.0.0, the label will be shown by default.
146
+ - hide-label=true\`. Up until version 2.0.0, to display the label set \`hide-label=false\`.
147
+ - ../vue2/src/components/internal/controls-group/controls-group.vue- \`label\` will always be rendered when \`description\` is passed alongside with \`label\``
148
+ - ../vue2/src/components/internal/controls-group/controls-group.vue- `2.0.0`
149
+ ### Deprecation Found
150
+
151
+ - deprecate(
152
+ - ../vue2/src/components/textarea/textarea.vue- BentoTextarea value property
153
+ - ../vue2/src/components/textarea/textarea.vue- `The use of value prop in BentoTextarea is no longer supported.
154
+ - ../vue2/src/components/textarea/textarea.vue- Use the v-model or model-value property instead.`
155
+ - ../vue2/src/components/textarea/textarea.vue- 2.0.0
156
+ - ../vue2/src/components/textarea/textarea.vue- );
157
+ ### Deprecation Found
158
+
159
+ - deprecate(
160
+ - string | Array<string> | File | Array<File>
161
+ - ../vue2/src/components/file-uploader/file-uploader.vue- Use FileList instead.
162
+ - ../vue2/src/components/file-uploader/file-uploader.vue- 2.0.0
163
+ - ../vue2/src/components/file-uploader/file-uploader.vue- );
164
+ - ../vue2/src/components/file-uploader/file-uploader.vue- }
165
+ ### Deprecation Found
166
+
167
+ - deprecate(
168
+ - ../vue2/src/components/country/country.vue- BentoCountry custom variant and label prop
169
+ - ../vue2/src/components/country/country.vue- Use any of the other BentoCountry variants instead OR BentoTypography component for custom text
170
+ - ../vue2/src/components/country/country.vue- 2.0.0
171
+ - ../vue2/src/components/country/country.vue- );
172
+ - ../vue2/src/components/country/country.vue- }
173
+ ### Deprecation Found
174
+
175
+ - deprecate(
176
+ - ../vue2/src/components/modal/modal.vue- BentoModal overflow-visible property
177
+ - ../vue2/src/components/modal/modal.vue- `overflow-visible property was made redundant. BentoModal can work correctly without the need to pass the propery.
178
+ - ../vue2/src/components/modal/modal.vue- Remove the overflow-visible prop from BentoModal to remove this error.`
179
+ - ../vue2/src/components/modal/modal.vue- 2.0.0
180
+ - ../vue2/src/components/modal/modal.vue- );
181
+ ### Deprecation Found
182
+
183
+ - deprecate(
184
+ - ../vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue- BentoCheckboxGroup hasError property
185
+ - ../vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue- `Use the BentoCheckboxGroup errorMessage property instead to indicate that there is a modifier error.
186
+ - ../vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue- Having the field as undefined will hide/remove the error.
187
+ - ../vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue- <bento-checkbox-group errorMessage=Error message text />`
188
+ - ../vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue- 2.0.0
189
+ ### Deprecation Found
190
+
191
+ - deprecate(
192
+ - ../vue2/src/components/radio-group/radio-group.vue- BentoRadioGroup hasError property
193
+ - ../vue2/src/components/radio-group/radio-group.vue- `Use the BentoRadioGroup errorMessage property instead to indicate that there is a modifier error.
194
+ - ../vue2/src/components/radio-group/radio-group.vue- Having the field as undefined will hide/remove the error.
195
+ - ../vue2/src/components/radio-group/radio-group.vue- <bento-radio-group errorMessage=Error message text />`
196
+ - ../vue2/src/components/radio-group/radio-group.vue- 2.0.0
197
+ ### Deprecation Found
198
+
199
+ - deprecate(
200
+ - ../vue2/src/components/date-picker/date-picker.vue- BentoDatePicker value property
201
+ - ../vue2/src/components/date-picker/date-picker.vue- `The use of value prop in BentoDatePicker is no longer supported. Use the v-model or model-value property instead.`
202
+ - ../vue2/src/components/date-picker/date-picker.vue- 2.0.0
203
+ - ../vue2/src/components/date-picker/date-picker.vue- );
204
+ - ../vue2/src/components/date-picker/date-picker.vue- }
205
+ ### Deprecation Found
206
+
207
+ - deprecate(
208
+ - ../vue2/src/components/input-field-phone-number/input-field-phone-number.vue- BentoInputFieldPhoneNumber value property
209
+ - ../vue2/src/components/input-field-phone-number/input-field-phone-number.vue- `The use of value prop in BentoInputFieldPhoneNumber is no longer supported.
210
+ - ../vue2/src/components/input-field-phone-number/input-field-phone-number.vue- Use the v-model or model-value property instead.`
211
+ - ../vue2/src/components/input-field-phone-number/input-field-phone-number.vue- 2.0.0
212
+ - ../vue2/src/components/input-field-phone-number/input-field-phone-number.vue- );
213
+ ### Deprecation Found
214
+
215
+ - deprecate(
216
+ - ../vue2/src/components/date-range-picker/date-range-picker.vue- BentoDateRangePicker hasActions property
217
+ - ../vue2/src/components/date-range-picker/date-range-picker.vue- `Set the BentoDateRangePicker hasActions property true which will display the Apply and Cancel buttons.
218
+ - ../vue2/src/components/date-range-picker/date-range-picker.vue- This will be the default behavior in the v2 and hasActions will be removed.`
219
+ - ../vue2/src/components/date-range-picker/date-range-picker.vue- 2.0.0
220
+ - ../vue2/src/components/date-range-picker/date-range-picker.vue- );
221
+ ### Deprecation Found
222
+
223
+ - deprecate(
224
+ - ../vue2/src/components/date-range-picker/date-range-picker.vue- BentoDateRangePicker value property
225
+ - ../vue2/src/components/date-range-picker/date-range-picker.vue- The use of value prop in BentoDateRangePicker is no longer supported. Use the v-model or model-value property instead.
226
+ - ../vue2/src/components/date-range-picker/date-range-picker.vue- 2.0.0
227
+ - ../vue2/src/components/date-range-picker/date-range-picker.vue- );
228
+ - ../vue2/src/components/date-range-picker/date-range-picker.vue- }
229
+ ### Deprecation Found
230
+
231
+ - deprecate(
232
+ - ../vue2/src/components/filter-bar/components/input-filter/input-filter.vue- BentoInputFilter options property
233
+ - ../vue2/src/components/filter-bar/components/input-filter/input-filter.vue- `BentoInputFilter options no longer supports dropdown, dropdownPosition or variant attributes.
234
+ - ../vue2/src/components/filter-bar/components/input-filter/input-filter.vue- Use the BentoFilterItemType.INPUT_DROPDOWN instead of BentoFilterItemType.INPUT
235
+ - ../vue2/src/components/filter-bar/components/input-filter/input-filter.vue- <bento-filter-bar
236
+ - config=[{
237
+ ### Deprecation Found
238
+
239
+ - deprecate(
240
+ - ../vue2/src/components/filter-bar/components/select-filter/select-filter.vue- BentoFilterBar filter of type BentoFilterItemType.SELECT options message property
241
+ - ../vue2/src/components/filter-bar/components/select-filter/select-filter.vue- `Please remove the options.messages property from this filter, it is not required any more for persistent filters.
242
+ - ../vue2/src/components/filter-bar/components/select-filter/select-filter.vue- This will be the default behavior in the v2 and options.messages will be removed.`
243
+ - ../vue2/src/components/filter-bar/components/select-filter/select-filter.vue- 2.0.0
244
+ - ../vue2/src/components/filter-bar/components/select-filter/select-filter.vue- );
245
+ ### Deprecation Found
246
+
247
+ - deprecate(
248
+ - ../vue2/src/components/filter-bar/components/select-filter/variants/select-country-filter/select-country-filter.vue- BentoSelectCountryFilter type with `options.variant===custom`
249
+ - ../vue2/src/components/filter-bar/components/select-filter/variants/select-country-filter/select-country-filter.vue- Use any of the other BentoSelectCountryFilter variants instead OR use BentoSelectFilter type for custom labels
250
+ - ../vue2/src/components/filter-bar/components/select-filter/variants/select-country-filter/select-country-filter.vue- 2.0.0
251
+ - ../vue2/src/components/filter-bar/components/select-filter/variants/select-country-filter/select-country-filter.vue- );
252
+ - ../vue2/src/components/filter-bar/components/select-filter/variants/select-country-filter/select-country-filter.vue- }
253
+ ### Deprecation Found
254
+
255
+ - deprecate(
256
+ - ../vue2/src/components/filter-bar/components/boolean-filter/boolean-filter.vue- Boolean filter BentoFilterItemType.BOOLEAN
257
+ - ../vue2/src/components/filter-bar/components/boolean-filter/boolean-filter.vue- `Use the Radio group filter type BentoFilterItemType.RADIO_GROUP instead.`
258
+ - ../vue2/src/components/filter-bar/components/boolean-filter/boolean-filter.vue- 2.0.0
259
+ - ../vue2/src/components/filter-bar/components/boolean-filter/boolean-filter.vue- );
260
+ - ../vue2/src/components/filter-bar/components/boolean-filter/boolean-filter.vue- });
261
+ ### Deprecation Found
262
+
263
+ - deprecate(
264
+ - ../vue2/src/components/inspector/inspector.vue- BentoInspector active-page as optional
265
+ - active-page.
266
+ - ../vue2/src/components/inspector/inspector.vue- active-page prop will be required in the next version`
267
+ - ../vue2/src/components/inspector/inspector.vue- 2.0.0
268
+ - ../vue2/src/components/inspector/inspector.vue- );
269
+ ### Deprecation Found
270
+
271
+ - deprecate(
272
+ - ../vue2/src/components/timeline/components/timeline-item/timeline-item.vue- BentoTimelineItem variant property
273
+ - ../vue2/src/components/timeline/components/timeline-item/timeline-item.vue- `Use the BentoTimelineItem status modifier instead to modify the color of the timeline icon.
274
+ - ../vue2/src/components/timeline/components/timeline-item/timeline-item.vue- <bento-timeline-item status=red />`
275
+ - ../vue2/src/components/timeline/components/timeline-item/timeline-item.vue- 2.0.0
276
+ - ../vue2/src/components/timeline/components/timeline-item/timeline-item.vue- );
277
+ ### Deprecation Found
278
+
279
+ - deprecate(TITLE, MESSAGE, VERSION);
280
+ - ../vue2/src/utils/ts/deprecate.test.ts-
281
+ - ../vue2/src/utils/ts/deprecate.test.ts- expect(warnSpy).toHaveBeenCalledTimes(EXPECTED_CALLS.length);
282
+ - ../vue2/src/utils/ts/deprecate.test.ts- expect(warnSpy.mock.calls).toEqual(EXPECTED_CALLS);
283
+ - ../vue2/src/utils/ts/deprecate.test.ts- });
284
+ - ../vue2/src/utils/ts/deprecate.test.ts-
285
+ ### Deprecation Found
286
+
287
+ - deprecate(TITLE, MESSAGE, VERSION);
288
+ ### Deprecation Found
289
+
290
+ - deprecate(TITLE, MESSAGE, VERSION);
291
+ ### Deprecation Found
292
+
293
+ - deprecate(TITLE, MESSAGE, VERSION);
294
+ - ../vue2/src/utils/ts/deprecate.test.ts-
295
+ - ../vue2/src/utils/ts/deprecate.test.ts- // Only prints the message once
296
+ - ../vue2/src/utils/ts/deprecate.test.ts- expect(warnSpy).toHaveBeenCalledTimes(EXPECTED_CALLS.length);
297
+ - ../vue2/src/utils/ts/deprecate.test.ts- expect(warnSpy.mock.calls).toEqual(EXPECTED_CALLS);
298
+ - ../vue2/src/utils/ts/deprecate.test.ts- });
299
+ ### Deprecation Found
300
+
301
+ - deprecate(TITLE, \tThis\tIs\tTabbed, VERSION);
302
+ - ../vue2/src/utils/ts/deprecate.test.ts-
303
+ - ../vue2/src/utils/ts/deprecate.test.ts- // Only prints the message once
304
+ - ../vue2/src/utils/ts/deprecate.test.ts- expect(warnSpy).toHaveBeenCalledTimes(3);
305
+ - ../vue2/src/utils/ts/deprecate.test.ts- expect(warnSpy.mock.calls).toEqual([
306
+ - ../vue2/src/utils/ts/deprecate.test.ts- EXPECTED_CALLS[0]
307
+ ### Deprecation Found
308
+
309
+ - string) {
310
+ - ../vue2/src/utils/ts/deprecate.ts- // If the message is already showing, dont show it again
311
+ - ../vue2/src/utils/ts/deprecate.ts- if (!shownMessages.has(title)) {
312
+ - \x1b[0m ${title}`, DEPRECATION_STYLES);
313
+ - ../vue2/src/utils/ts/deprecate.ts- // Format multi-line descriptions with the backtick
314
+ - ../vue2/src/utils/ts/deprecate.ts- printDevelopmentWarning(`${deprecationMessage.replaceAll( , ).trim()}`);
315
+ ### Deprecation Found
316
+
317
+ - deprecate(
318
+ - ../vue2/src/install.ts- Using default setting withDesignTokensCSSInjection set to true in BentoVue plugin
319
+ - //adyen-bento.netlify.app/?path=/docs/welcome-getting-started--docs#import-css-variables
320
+ - ../vue2/src/install.ts- 2.0.0
321
+ - ../vue2/src/install.ts- );
322
+ - ../vue2/src/install.ts- // Make sure to put all awaited CSS imports below this point and not above!
323
+ ### Deprecation Found
324
+
325
+ - deprecate(Using `BentoTheme.BENTO`, Please use `BentoTheme.BENTO_LIGHT` instead, 2.0.0);
326
+ - ../vue2/src/install.ts- setTheme(BentoTheme.BENTO_LIGHT);
327
+ - ../vue2/src/install.ts- } else {
328
+ - ../vue2/src/install.ts- setTheme(BentoTheme.BENTO_LIGHT);
329
+ - ../vue2/src/install.ts- }
330
+ - ../vue2/src/install.ts- }
@@ -0,0 +1 @@
1
+ import { type DirectiveBinding } from 'vue'; type ListenerCleanup = () => void; interface KeyboardNavigation { keyDownListener?: ListenerCleanup; } export type Binding<V> = DirectiveBinding<V> & KeyboardNavigation;
@@ -0,0 +1 @@
1
+ import type { DirectiveBinding } from 'vue/types/options'; import { PopperContainerPositionBasic } from '../../components/popper-container/popper-container.types'; export interface BentoTooltipDirectiveBinding extends Readonly<DirectiveBinding> { readonly value: string; } export const BentoTooltipPosition = { ...PopperContainerPositionBasic }; export type BentoTooltipPosition = PopperContainerPositionBasic; export enum BentoTooltipState { HIDDEN = 'hidden', }