import MtNumberField from "./mt-number-field.vue"; import baseFieldArgTypes from "../_internal/mt-base-field/arg-types"; import type { StoryObj } from "@storybook/vue3"; import type { SlottedMeta } from "@/_internal/story-helper"; import { fn } from "@storybook/test"; export type MtNumberFieldMeta = SlottedMeta< typeof MtNumberField, | "default" | "inheritanceRemove" | "inheritanceRestore" | "isInherited" | "change" | "updateModelValue" | "modelValue" | "hint" | "suffix" | "prefix" | "error" >; export default { title: "Components/Form/mt-number-field", component: MtNumberField, render: (args) => ({ template: `

hidden

`, components: { MtNumberField }, data() { return { currentValue: "", }; }, watch: { "args.modelValue"(v) { if (this.currentValue === v) { return; } this.currentValue = v; }, }, created() { this.currentValue = args.modelValue; }, methods: { inheritanceRemoveWrapper() { args.inheritanceRemove(); args.isInherited = false; }, inheritanceRestoreWrapper() { args.inheritanceRestore(); args.isInherited = true; }, }, setup: () => { return { args, }; }, }), args: { label: "Numberfield", step: 1, numberType: "int", change: fn(), updateModelValue: fn(), inheritanceRemove: fn(), inheritanceRestore: fn(), }, argTypes: { ...baseFieldArgTypes, }, } as MtNumberFieldMeta; export type MtNumberFieldStory = StoryObj; export const DefaultStory: MtNumberFieldStory = { name: "mt-number-field", };