@mason-ds/vue 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/NOTICE +14 -0
- package/README.md +20 -0
- package/dist/index.cjs +1317 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +792 -0
- package/dist/index.d.ts +792 -0
- package/dist/index.js +1278 -0
- package/dist/index.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/provider.ts","../src/Text.ts","../src/styles.ts","../src/textStyles.ts","../src/Stack.ts","../src/stackStyles.ts","../src/Card.ts","../src/cardStyles.ts","../src/Divider.ts","../src/dividerStyles.ts","../src/Link.ts","../src/linkStyles.ts","../src/Button.ts","../src/Spinner.ts","../src/spinnerStyles.ts","../src/buttonStyles.ts","../src/Badge.ts","../src/badgeStyles.ts","../src/Callout.ts","../src/calloutStyles.ts","../src/TextField.ts","../src/field.ts","../src/fieldStyles.ts","../src/Select.ts","../src/Checkbox.ts","../src/checkboxStyles.ts"],"sourcesContent":["import { defineComponent, h, type PropType } from 'vue'\n\nexport type MasonTheme = 'light' | 'dark' | 'system'\n\n/** Root provider for mason-ds Vue apps. */\nexport const MasonProvider = defineComponent({\n name: 'MasonProvider',\n props: {\n theme: {\n type: String as PropType<MasonTheme>,\n default: 'light',\n },\n },\n setup(props, { slots }) {\n return () =>\n h(\n 'div',\n {\n 'data-mason-provider': '',\n 'data-mason-theme': props.theme,\n },\n slots.default?.(),\n )\n },\n})\n\nexport type MasonProviderProps = {\n theme?: MasonTheme\n}\n","import { defineComponent, h, type PropType, type StyleValue } from 'vue'\nimport { mergeClassName, type TextTone, type TextVariant } from './styles.js'\nimport { textStyle, type TextAlign } from './textStyles.js'\n\nexport type { TextAlign } from './textStyles.js'\n\nexport type TextElement =\n | 'p'\n | 'span'\n | 'div'\n | 'label'\n | 'strong'\n | 'code'\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n\n/**\n * Typography primitive. `variant` covers every font role in the token set,\n * `tone` every `color.text.*` role.\n *\n * Pick `as` for semantics (a heading role does not imply an `<h2>`).\n */\nexport const Text = defineComponent({\n name: 'MasonText',\n inheritAttrs: false,\n props: {\n as: {\n type: String as PropType<TextElement>,\n default: 'p',\n },\n variant: {\n type: String as PropType<TextVariant>,\n default: 'body.md',\n },\n tone: {\n type: String as PropType<TextTone>,\n default: 'primary',\n },\n align: {\n type: String as PropType<TextAlign>,\n default: undefined,\n },\n truncate: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, { slots, attrs }) {\n return () => {\n const { class: attrClass, style: attrStyle, ...rest } = attrs\n\n return h(\n props.as,\n {\n ...rest,\n 'data-mason-component': 'text',\n 'data-variant': props.variant,\n class: mergeClassName(attrClass as string | undefined),\n style: [\n textStyle({\n variant: props.variant,\n tone: props.tone,\n align: props.align,\n truncate: props.truncate,\n }),\n attrStyle as StyleValue | undefined,\n ],\n },\n slots.default?.(),\n )\n }\n },\n})\n\nexport type TextProps = {\n as?: TextElement\n variant?: TextVariant\n tone?: TextTone\n align?: TextAlign\n truncate?: boolean\n}\n","import { getSemanticCssVar, type SemanticTokenPath } from '@mason-ds/tokens'\n\n/**\n * Prop unions are derived from the semantic token paths, so adding or removing\n * a token role changes the component API instead of silently drifting from it.\n */\ntype FontRoleOf<Path> = Path extends `font.${infer Role}.family` ? Role : never\ntype TextToneOf<Path> = Path extends `color.text.${infer Tone}` ? Tone : never\ntype FeedbackToneOf<Path> = Path extends `color.feedback.${infer Tone}.bg` ? Tone : never\ntype LevelOf<Path> = Path extends `spacing.inset.${infer Level}` ? Level : never\ntype RadiusOf<Path> = Path extends `radius.${infer Level}` ? Level : never\ntype ShadowOf<Path> = Path extends `shadow.${infer Level}` ? Level : never\n\n/** Typography roles, e.g. `heading.h2`, `body.md`, `code.md`. */\nexport type TextVariant = FontRoleOf<SemanticTokenPath>\n/** Text color roles, e.g. `primary`, `secondary`, `link`, `danger`. */\nexport type TextTone = TextToneOf<SemanticTokenPath>\n/** Status roles shared by Badge / Callout. */\nexport type FeedbackTone = FeedbackToneOf<SemanticTokenPath>\n/** Spacing steps — sm / md / lg. */\nexport type Level = LevelOf<SemanticTokenPath>\nexport type RadiusLevel = RadiusOf<SemanticTokenPath>\nexport type ShadowLevel = ShadowOf<SemanticTokenPath>\n\n/** Reference a semantic token as `var(--mason-*)`. */\nexport function cssVar(path: SemanticTokenPath): string {\n return `var(${getSemanticCssVar(path)})`\n}\n\nexport function spacingVar(axis: 'inset' | 'stack' | 'inline', level: Level): string {\n return cssVar(`spacing.${axis}.${level}`)\n}\n\nexport function radiusVar(level: RadiusLevel): string {\n return cssVar(`radius.${level}`)\n}\n\nexport function shadowVar(level: ShadowLevel): string {\n return cssVar(`shadow.${level}`)\n}\n\nexport function textColorVar(tone: TextTone): string {\n return cssVar(`color.text.${tone}`)\n}\n\nexport function typographyStyle(variant: TextVariant): Record<string, string> {\n return {\n fontFamily: cssVar(`font.${variant}.family`),\n fontSize: cssVar(`font.${variant}.size`),\n fontWeight: cssVar(`font.${variant}.weight`),\n lineHeight: cssVar(`font.${variant}.lineHeight`),\n letterSpacing: cssVar(`font.${variant}.letterSpacing`),\n }\n}\n\nexport function mergeClassName(...parts: (string | undefined)[]): string | undefined {\n const merged = parts.filter(Boolean).join(' ')\n return merged.length > 0 ? merged : undefined\n}\n","import { textColorVar, typographyStyle, type TextTone, type TextVariant } from './styles.js'\n\nexport type TextAlign = 'start' | 'center' | 'end'\n\nexport function textStyle({\n variant = 'body.md',\n tone = 'primary',\n align,\n truncate = false,\n}: {\n variant?: TextVariant\n tone?: TextTone\n align?: TextAlign\n truncate?: boolean\n}): Record<string, string> {\n return {\n margin: '0',\n color: textColorVar(tone),\n ...typographyStyle(variant),\n ...(align ? { textAlign: align } : null),\n ...(truncate\n ? { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }\n : null),\n }\n}\n","import { defineComponent, h, type PropType, type StyleValue } from 'vue'\nimport { mergeClassName, type Level } from './styles.js'\nimport {\n stackStyle,\n type StackAlign,\n type StackDirection,\n type StackJustify,\n} from './stackStyles.js'\n\nexport type { StackAlign, StackDirection, StackJustify } from './stackStyles.js'\n\n/** Layout primitive — flex row/column with token gaps. */\nexport const Stack = defineComponent({\n name: 'MasonStack',\n inheritAttrs: false,\n props: {\n direction: {\n type: String as PropType<StackDirection>,\n default: 'column',\n },\n gap: {\n type: String as PropType<Level>,\n default: 'md',\n },\n align: {\n type: String as PropType<StackAlign>,\n default: undefined,\n },\n justify: {\n type: String as PropType<StackJustify>,\n default: undefined,\n },\n wrap: {\n type: Boolean,\n default: false,\n },\n inline: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, { slots, attrs }) {\n return () => {\n const { class: attrClass, style: attrStyle, ...rest } = attrs\n\n return h(\n 'div',\n {\n ...rest,\n 'data-mason-component': 'stack',\n 'data-direction': props.direction,\n class: mergeClassName(attrClass as string | undefined),\n style: [\n stackStyle({\n direction: props.direction,\n gap: props.gap,\n align: props.align,\n justify: props.justify,\n wrap: props.wrap,\n inline: props.inline,\n }),\n attrStyle as StyleValue | undefined,\n ],\n },\n slots.default?.(),\n )\n }\n },\n})\n\nexport type StackProps = {\n direction?: StackDirection\n gap?: Level\n align?: StackAlign\n justify?: StackJustify\n wrap?: boolean\n inline?: boolean\n}\n","import { spacingVar, type Level } from './styles.js'\n\nexport type StackDirection = 'row' | 'column'\nexport type StackAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline'\nexport type StackJustify = 'start' | 'center' | 'end' | 'between'\n\nconst FLEX_ALIGN = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n baseline: 'baseline',\n} as const satisfies Record<StackAlign, string>\n\nconst FLEX_JUSTIFY = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n between: 'space-between',\n} as const satisfies Record<StackJustify, string>\n\n/** Row gaps come from `spacing.inline`, column gaps from `spacing.stack`. */\nexport function stackStyle({\n direction = 'column',\n gap = 'md',\n align,\n justify,\n wrap = false,\n inline = false,\n}: {\n direction?: StackDirection\n gap?: Level\n align?: StackAlign\n justify?: StackJustify\n wrap?: boolean\n inline?: boolean\n}): Record<string, string> {\n return {\n display: inline ? 'inline-flex' : 'flex',\n flexDirection: direction,\n gap: spacingVar(direction === 'row' ? 'inline' : 'stack', gap),\n flexWrap: wrap ? 'wrap' : 'nowrap',\n minWidth: '0',\n ...(align ? { alignItems: FLEX_ALIGN[align] } : null),\n ...(justify ? { justifyContent: FLEX_JUSTIFY[justify] } : null),\n }\n}\n","import { defineComponent, h, type PropType, type StyleValue } from 'vue'\nimport {\n mergeClassName,\n type Level,\n type RadiusLevel,\n type ShadowLevel,\n} from './styles.js'\nimport { cardStyle, type CardTone } from './cardStyles.js'\n\nexport type { CardTone } from './cardStyles.js'\n\n/** Surface primitive — background, border, radius and shadow from tokens. */\nexport const Card = defineComponent({\n name: 'MasonCard',\n inheritAttrs: false,\n props: {\n padding: {\n type: String as PropType<Level>,\n default: 'md',\n },\n elevation: {\n type: String as PropType<ShadowLevel>,\n default: 'sm',\n },\n radius: {\n type: String as PropType<RadiusLevel>,\n default: 'md',\n },\n tone: {\n type: String as PropType<CardTone>,\n default: 'surface',\n },\n bordered: {\n type: Boolean,\n default: true,\n },\n },\n setup(props, { slots, attrs }) {\n return () => {\n const { class: attrClass, style: attrStyle, ...rest } = attrs\n\n return h(\n 'div',\n {\n ...rest,\n 'data-mason-component': 'card',\n 'data-tone': props.tone,\n class: mergeClassName(attrClass as string | undefined),\n style: [\n cardStyle({\n padding: props.padding,\n elevation: props.elevation,\n radius: props.radius,\n tone: props.tone,\n bordered: props.bordered,\n }),\n attrStyle as StyleValue | undefined,\n ],\n },\n slots.default?.(),\n )\n }\n },\n})\n\nexport type CardProps = {\n padding?: Level\n elevation?: ShadowLevel\n radius?: RadiusLevel\n tone?: CardTone\n bordered?: boolean\n}\n","import {\n cssVar,\n radiusVar,\n shadowVar,\n spacingVar,\n type Level,\n type RadiusLevel,\n type ShadowLevel,\n} from './styles.js'\n\nexport type CardTone = 'surface' | 'canvas' | 'elevated'\n\nconst TONE_BG = {\n surface: 'color.bg.surface',\n canvas: 'color.bg.canvas',\n elevated: 'color.bg.elevated',\n} as const\n\nexport function cardStyle({\n padding = 'md',\n elevation = 'sm',\n radius = 'md',\n tone = 'surface',\n bordered = true,\n}: {\n padding?: Level\n elevation?: ShadowLevel\n radius?: RadiusLevel\n tone?: CardTone\n bordered?: boolean\n}): Record<string, string> {\n return {\n display: 'block',\n padding: spacingVar('inset', padding),\n backgroundColor: cssVar(TONE_BG[tone]),\n color: cssVar('color.text.primary'),\n border: bordered ? `1px solid ${cssVar('color.border.subtle')}` : 'none',\n borderRadius: radiusVar(radius),\n boxShadow: shadowVar(elevation),\n boxSizing: 'border-box',\n minWidth: '0',\n }\n}\n","import { defineComponent, h, type PropType, type StyleValue } from 'vue'\nimport { mergeClassName } from './styles.js'\nimport { dividerStyle, type DividerOrientation } from './dividerStyles.js'\n\nexport type { DividerOrientation } from './dividerStyles.js'\n\n/** Separator line. `<hr>` already carries the separator role. */\nexport const Divider = defineComponent({\n name: 'MasonDivider',\n inheritAttrs: false,\n props: {\n orientation: {\n type: String as PropType<DividerOrientation>,\n default: 'horizontal',\n },\n },\n setup(props, { attrs }) {\n return () => {\n const { class: attrClass, style: attrStyle, ...rest } = attrs\n\n return h('hr', {\n ...rest,\n 'data-mason-component': 'divider',\n 'data-orientation': props.orientation,\n 'aria-orientation': props.orientation === 'vertical' ? 'vertical' : undefined,\n class: mergeClassName(attrClass as string | undefined),\n style: [dividerStyle(props.orientation), attrStyle as StyleValue | undefined],\n })\n }\n },\n})\n\nexport type DividerProps = {\n orientation?: DividerOrientation\n}\n","import { cssVar } from './styles.js'\n\nexport type DividerOrientation = 'horizontal' | 'vertical'\n\nexport function dividerStyle(\n orientation: DividerOrientation = 'horizontal',\n): Record<string, string> {\n const line = `1px solid ${cssVar('color.border.subtle')}`\n\n if (orientation === 'vertical') {\n return {\n alignSelf: 'stretch',\n width: '0',\n minHeight: '1em',\n margin: '0',\n border: 'none',\n borderInlineStart: line,\n }\n }\n\n return {\n width: '100%',\n height: '0',\n margin: '0',\n border: 'none',\n borderBlockStart: line,\n }\n}\n","import { defineComponent, h, type PropType, type StyleValue } from 'vue'\nimport { mergeClassName } from './styles.js'\nimport { linkStyle, type LinkTone, type LinkUnderline } from './linkStyles.js'\n\nexport type { LinkTone, LinkUnderline } from './linkStyles.js'\n\n/** Navigational anchor. Typography is inherited, so it composes inside Text. */\nexport const Link = defineComponent({\n name: 'MasonLink',\n inheritAttrs: false,\n props: {\n tone: {\n type: String as PropType<LinkTone>,\n default: 'link',\n },\n underline: {\n type: String as PropType<LinkUnderline>,\n default: 'hover',\n },\n /** Adds `target=\"_blank\"` and a safe `rel`. */\n external: {\n type: Boolean,\n default: false,\n },\n },\n setup(props, { slots, attrs }) {\n return () => {\n const { class: attrClass, style: attrStyle, ...rest } = attrs\n const externalAttrs = props.external\n ? { target: '_blank', rel: 'noreferrer noopener' }\n : null\n\n return h(\n 'a',\n {\n 'data-mason-component': 'link',\n 'data-tone': props.tone,\n 'data-underline': props.underline,\n ...externalAttrs,\n ...rest,\n class: mergeClassName(attrClass as string | undefined),\n style: [\n linkStyle({ tone: props.tone, underline: props.underline }),\n attrStyle as StyleValue | undefined,\n ],\n },\n slots.default?.(),\n )\n }\n },\n})\n\nexport type LinkProps = {\n tone?: LinkTone\n underline?: LinkUnderline\n external?: boolean\n}\n","import { radiusVar, textColorVar } from './styles.js'\n\nexport type LinkTone = 'link' | 'inherit'\nexport type LinkUnderline = 'hover' | 'always' | 'none'\n\n/** Link inherits typography from its container so it can sit inside Text. */\nexport function linkStyle({\n tone = 'link',\n underline = 'hover',\n}: {\n tone?: LinkTone\n underline?: LinkUnderline\n}): Record<string, string> {\n return {\n color: tone === 'inherit' ? 'inherit' : textColorVar('link'),\n textDecoration: underline === 'always' ? 'underline' : 'none',\n textUnderlineOffset: '0.15em',\n borderRadius: radiusVar('sm'),\n cursor: 'pointer',\n }\n}\n","import { computed, defineComponent, h, type PropType, type StyleValue } from 'vue'\nimport { mergeClassName } from './styles.js'\nimport { Spinner } from './Spinner.js'\nimport { buttonStyle, type ButtonSize, type ButtonVariant } from './buttonStyles.js'\n\nexport type { ButtonSize, ButtonVariant } from './buttonStyles.js'\n\n/**\n * Primary action component. Native `<button>` with token-backed styles.\n *\n * Icon-only usage requires an `aria-label`.\n * Slots: default (label), `leading`, `trailing`.\n */\nexport const Button = defineComponent({\n name: 'MasonButton',\n inheritAttrs: false,\n props: {\n variant: {\n type: String as PropType<ButtonVariant>,\n default: 'primary',\n },\n size: {\n type: String as PropType<ButtonSize>,\n default: 'md',\n },\n loading: {\n type: Boolean,\n default: false,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n type: {\n type: String as PropType<'button' | 'submit' | 'reset'>,\n default: 'button',\n },\n },\n setup(props, { slots, attrs }) {\n const isDisabled = computed(() => props.disabled || props.loading)\n\n return () => {\n const children = []\n\n if (props.loading) {\n children.push(h(Spinner, { size: 'inherit', 'data-mason-slot': 'spinner' }))\n } else if (slots.leading) {\n children.push(h('span', { 'data-mason-slot': 'leading' }, slots.leading()))\n }\n\n if (slots.default) {\n children.push(h('span', { 'data-mason-slot': 'label' }, slots.default()))\n }\n\n if (slots.trailing && !props.loading) {\n children.push(h('span', { 'data-mason-slot': 'trailing' }, slots.trailing()))\n }\n\n const attrClass = attrs.class as string | undefined\n const attrStyle = attrs.style as StyleValue | undefined\n\n return h(\n 'button',\n {\n ...attrs,\n type: props.type,\n 'data-mason-component': 'button',\n 'data-variant': props.variant,\n 'data-size': props.size,\n disabled: isDisabled.value,\n 'aria-busy': props.loading || undefined,\n class: mergeClassName(attrClass),\n style: [\n buttonStyle({\n variant: props.variant,\n size: props.size,\n disabled: props.disabled,\n loading: props.loading,\n }),\n attrStyle,\n ],\n },\n children,\n )\n }\n },\n})\n\nexport type ButtonProps = {\n variant?: ButtonVariant\n size?: ButtonSize\n loading?: boolean\n disabled?: boolean\n type?: 'button' | 'submit' | 'reset'\n}\n","import { defineComponent, h, type PropType, type StyleValue } from 'vue'\nimport { mergeClassName } from './styles.js'\nimport { spinnerStyle, type SpinnerSize } from './spinnerStyles.js'\n\nexport type { SpinnerSize } from './spinnerStyles.js'\n\n/** Indeterminate loading indicator. The rotation lives in `tokens.css`. */\nexport const Spinner = defineComponent({\n name: 'MasonSpinner',\n inheritAttrs: false,\n props: {\n size: {\n type: String as PropType<SpinnerSize>,\n default: 'md',\n },\n /** Announced while loading. Without it the spinner is `aria-hidden`. */\n label: {\n type: String,\n default: undefined,\n },\n },\n setup(props, { attrs }) {\n return () => {\n const { class: attrClass, style: attrStyle, ...rest } = attrs\n\n return h('span', {\n ...rest,\n 'data-mason-component': 'spinner',\n 'data-size': props.size,\n role: props.label ? 'status' : undefined,\n 'aria-label': props.label,\n 'aria-hidden': props.label ? undefined : 'true',\n class: mergeClassName(attrClass as string | undefined),\n style: [spinnerStyle(props.size), attrStyle as StyleValue | undefined],\n })\n }\n },\n})\n\nexport type SpinnerProps = {\n size?: SpinnerSize\n label?: string\n}\n","import { cssVar } from './styles.js'\n\n/** `inherit` follows the surrounding font size — used inside Button. */\nexport type SpinnerSize = 'sm' | 'md' | 'lg' | 'inherit'\n\nconst SIZE_DIMENSION = {\n sm: cssVar('font.body.sm.size'),\n md: cssVar('font.body.md.size'),\n lg: cssVar('font.display.lg.size'),\n inherit: '1em',\n} as const satisfies Record<SpinnerSize, string>\n\nexport function spinnerStyle(size: SpinnerSize = 'md'): Record<string, string> {\n const dimension = SIZE_DIMENSION[size]\n\n return {\n width: dimension,\n height: dimension,\n border: '2px solid currentColor',\n borderTopColor: 'transparent',\n borderRadius: '50%',\n display: 'inline-block',\n flexShrink: '0',\n }\n}\n","import { cssVar, typographyStyle, type TextVariant } from './styles.js'\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger'\nexport type ButtonSize = 'sm' | 'md' | 'lg'\n\ntype ActionColorPath =\n | `color.action.${ButtonVariant | 'disabled'}.${'bg' | 'text' | 'border'}`\n\nfunction actionColors(variant: ButtonVariant | 'disabled'): {\n bg: ActionColorPath\n text: ActionColorPath\n border: ActionColorPath\n} {\n return {\n bg: `color.action.${variant}.bg`,\n text: `color.action.${variant}.text`,\n border: `color.action.${variant}.border`,\n }\n}\n\n/**\n * Size ladder — padding / radius / type. Height comes from content, not min-height.\n */\nconst sizeStyles = {\n sm: {\n paddingBlock: cssVar('spacing.inset.sm'),\n paddingInline: cssVar('spacing.inset.md'),\n gap: cssVar('spacing.inline.sm'),\n radius: cssVar('radius.sm'),\n font: 'label.sm' as TextVariant,\n },\n md: {\n paddingBlock: cssVar('spacing.inset.md'),\n paddingInline: cssVar('spacing.inset.lg'),\n gap: cssVar('spacing.inline.md'),\n radius: cssVar('radius.md'),\n font: 'label.md' as TextVariant,\n },\n lg: {\n paddingBlock: cssVar('spacing.inset.lg'),\n paddingInline: `calc(${cssVar('spacing.inset.lg')} + ${cssVar('spacing.inset.md')})`,\n gap: cssVar('spacing.inline.md'),\n radius: cssVar('radius.lg'),\n font: 'label.lg' as TextVariant,\n },\n} as const satisfies Record<\n ButtonSize,\n {\n paddingBlock: string\n paddingInline: string\n gap: string\n radius: string\n font: TextVariant\n }\n>\n\nexport function buttonStyle({\n variant = 'primary',\n size = 'md',\n disabled = false,\n loading = false,\n}: {\n variant?: ButtonVariant\n size?: ButtonSize\n disabled?: boolean\n loading?: boolean\n}): Record<string, string> {\n const inactive = disabled || loading\n const colors = actionColors(inactive ? 'disabled' : variant)\n const sizing = sizeStyles[size]\n\n return {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: sizing.gap,\n paddingBlock: sizing.paddingBlock,\n paddingInline: sizing.paddingInline,\n margin: '0',\n backgroundColor: cssVar(colors.bg),\n color: cssVar(colors.text),\n border: `1px solid ${cssVar(colors.border)}`,\n borderRadius: sizing.radius,\n boxSizing: 'border-box',\n ...typographyStyle(sizing.font),\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n }\n}\n","import { defineComponent, h, type PropType, type StyleValue } from 'vue'\nimport { mergeClassName } from './styles.js'\nimport { badgeStyle, type BadgeSize, type BadgeTone } from './badgeStyles.js'\n\nexport type { BadgeSize, BadgeTone } from './badgeStyles.js'\n\n/**\n * Compact status chip. Colour carries no meaning on its own — keep the label\n * readable (`활성`, not just a green dot).\n */\nexport const Badge = defineComponent({\n name: 'MasonBadge',\n inheritAttrs: false,\n props: {\n tone: {\n type: String as PropType<BadgeTone>,\n default: 'neutral',\n },\n size: {\n type: String as PropType<BadgeSize>,\n default: 'sm',\n },\n },\n setup(props, { slots, attrs }) {\n return () => {\n const { class: attrClass, style: attrStyle, ...rest } = attrs\n\n return h(\n 'span',\n {\n ...rest,\n 'data-mason-component': 'badge',\n 'data-tone': props.tone,\n 'data-size': props.size,\n class: mergeClassName(attrClass as string | undefined),\n style: [\n badgeStyle({ tone: props.tone, size: props.size }),\n attrStyle as StyleValue | undefined,\n ],\n },\n slots.default?.(),\n )\n }\n },\n})\n\nexport type BadgeProps = {\n tone?: BadgeTone\n size?: BadgeSize\n}\n","import {\n cssVar,\n radiusVar,\n spacingVar,\n typographyStyle,\n type FeedbackTone,\n} from './styles.js'\n\nexport type BadgeTone = FeedbackTone | 'neutral'\nexport type BadgeSize = 'sm' | 'md'\n\nexport function badgeStyle({\n tone = 'neutral',\n size = 'sm',\n}: {\n tone?: BadgeTone\n size?: BadgeSize\n}): Record<string, string> {\n const colors =\n tone === 'neutral'\n ? {\n bg: cssVar('color.bg.canvas'),\n text: cssVar('color.text.secondary'),\n border: cssVar('color.border.subtle'),\n }\n : {\n bg: cssVar(`color.feedback.${tone}.bg`),\n text: cssVar(`color.feedback.${tone}.text`),\n border: cssVar(`color.feedback.${tone}.border`),\n }\n\n return {\n display: 'inline-flex',\n alignItems: 'center',\n gap: spacingVar('inline', 'sm'),\n paddingBlock: '0.125em',\n paddingInline: spacingVar('inset', 'sm'),\n backgroundColor: colors.bg,\n color: colors.text,\n border: `1px solid ${colors.border}`,\n borderRadius: radiusVar('full'),\n ...typographyStyle(size === 'sm' ? 'label.sm' : 'label.md'),\n whiteSpace: 'nowrap',\n }\n}\n","import { defineComponent, h, type PropType, type StyleValue } from 'vue'\nimport { mergeClassName, type FeedbackTone } from './styles.js'\nimport {\n calloutBodyStyle,\n calloutContentStyle,\n calloutStyle,\n calloutTitleStyle,\n} from './calloutStyles.js'\n\n/**\n * Inline message block for page-level feedback.\n * Slots: default (body), `title`, `icon`.\n *\n * It is static content by default — for something that appears in response to\n * an action, pass `role=\"status\"` (or `\"alert\"` when it must interrupt).\n */\nexport const Callout = defineComponent({\n name: 'MasonCallout',\n inheritAttrs: false,\n props: {\n tone: {\n type: String as PropType<FeedbackTone>,\n default: 'info',\n },\n /** Heading text; the `title` slot takes precedence. */\n title: {\n type: String,\n default: undefined,\n },\n },\n setup(props, { slots, attrs }) {\n return () => {\n const { class: attrClass, style: attrStyle, ...rest } = attrs\n const title = slots.title?.() ?? props.title\n const body = slots.default?.()\n\n const content = []\n if (title) {\n content.push(\n h('p', { 'data-mason-slot': 'title', style: calloutTitleStyle() }, title),\n )\n }\n if (body) {\n content.push(\n h('div', { 'data-mason-slot': 'body', style: calloutBodyStyle() }, body),\n )\n }\n\n const children = []\n if (slots.icon) {\n children.push(\n h(\n 'span',\n { 'data-mason-slot': 'icon', 'aria-hidden': 'true' },\n slots.icon(),\n ),\n )\n }\n children.push(\n h(\n 'div',\n { 'data-mason-slot': 'content', style: calloutContentStyle() },\n content,\n ),\n )\n\n return h(\n 'div',\n {\n ...rest,\n 'data-mason-component': 'callout',\n 'data-tone': props.tone,\n class: mergeClassName(attrClass as string | undefined),\n style: [calloutStyle(props.tone), attrStyle as StyleValue | undefined],\n },\n children,\n )\n }\n },\n})\n\nexport type CalloutProps = {\n tone?: FeedbackTone\n title?: string\n}\n","import {\n cssVar,\n radiusVar,\n spacingVar,\n typographyStyle,\n type FeedbackTone,\n} from './styles.js'\n\nexport function calloutStyle(tone: FeedbackTone = 'info'): Record<string, string> {\n return {\n display: 'flex',\n gap: spacingVar('inline', 'md'),\n padding: spacingVar('inset', 'md'),\n backgroundColor: cssVar(`color.feedback.${tone}.bg`),\n color: cssVar(`color.feedback.${tone}.text`),\n border: `1px solid ${cssVar(`color.feedback.${tone}.border`)}`,\n borderRadius: radiusVar('md'),\n boxSizing: 'border-box',\n ...typographyStyle('body.md'),\n }\n}\n\nexport function calloutContentStyle(): Record<string, string> {\n return {\n display: 'flex',\n flexDirection: 'column',\n gap: spacingVar('stack', 'sm'),\n minWidth: '0',\n }\n}\n\nexport function calloutTitleStyle(): Record<string, string> {\n return { margin: '0', ...typographyStyle('label.md') }\n}\n\nexport function calloutBodyStyle(): Record<string, string> {\n return { margin: '0', ...typographyStyle('body.sm') }\n}\n","import { defineComponent, h, type PropType, type StyleValue } from 'vue'\nimport { fieldIds, nextFieldId, renderFieldFrame } from './field.js'\nimport { fieldControlStyle, type FieldSize } from './fieldStyles.js'\n\nexport type { FieldSize } from './fieldStyles.js'\n\ntype InputListener = (event: Event) => void\n\n/**\n * Labelled text input. Supports `v-model`.\n * `class` / `style` apply to the wrapper; every other attribute goes to the\n * native `<input>`.\n * Slots: `label`, `description`, `error` (override the same-named props).\n */\nexport const TextField = defineComponent({\n name: 'MasonTextField',\n inheritAttrs: false,\n props: {\n label: {\n type: String,\n default: undefined,\n },\n description: {\n type: String,\n default: undefined,\n },\n /** Present error text switches the field to its invalid styling. */\n error: {\n type: String,\n default: undefined,\n },\n size: {\n type: String as PropType<FieldSize>,\n default: 'md',\n },\n invalid: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n id: {\n type: String,\n default: undefined,\n },\n modelValue: {\n type: String,\n default: undefined,\n },\n },\n emits: ['update:modelValue'],\n setup(props, { slots, attrs, emit }) {\n const autoId = nextFieldId()\n\n return () => {\n const {\n class: attrClass,\n style: attrStyle,\n onInput: attrInput,\n ...controlAttrs\n } = attrs\n\n const label = slots.label?.() ?? props.label\n const description = slots.description?.() ?? props.description\n const error = slots.error?.() ?? props.error\n const invalid = props.invalid ?? Boolean(error)\n const ids = fieldIds(props.id ?? autoId, Boolean(description), Boolean(error))\n\n const emitInput: InputListener = (event) => {\n emit('update:modelValue', (event.target as HTMLInputElement).value)\n }\n const forwarded = attrInput as InputListener | undefined\n\n const control = h('input', {\n ...controlAttrs,\n id: ids.controlId,\n 'data-mason-slot': 'control',\n disabled: props.disabled,\n 'aria-invalid': invalid || undefined,\n 'aria-describedby': ids.describedBy,\n ...(props.modelValue === undefined ? null : { value: props.modelValue }),\n onInput: forwarded ? [emitInput, forwarded] : emitInput,\n style: fieldControlStyle({\n size: props.size,\n invalid,\n disabled: props.disabled,\n }),\n })\n\n return renderFieldFrame({\n component: 'text-field',\n ids,\n size: props.size,\n invalid,\n disabled: props.disabled,\n label,\n description,\n error,\n attrClass: attrClass as string | undefined,\n attrStyle: attrStyle as StyleValue | undefined,\n control,\n })\n }\n },\n})\n\nexport type TextFieldProps = {\n label?: string\n description?: string\n error?: string\n size?: FieldSize\n invalid?: boolean\n disabled?: boolean\n id?: string\n modelValue?: string\n}\n","import { h, type StyleValue, type VNode, type VNodeChild } from 'vue'\nimport { mergeClassName } from './styles.js'\nimport {\n fieldDescriptionStyle,\n fieldErrorStyle,\n fieldLabelStyle,\n fieldRootStyle,\n type FieldSize,\n} from './fieldStyles.js'\n\nlet fieldSeq = 0\n\n/** Fallback control id when the consumer does not pass one. */\nexport function nextFieldId(): string {\n fieldSeq += 1\n return `mason-field-${fieldSeq}`\n}\n\nexport interface FieldIds {\n controlId: string\n descriptionId: string\n errorId: string\n /** `aria-describedby` value, or undefined when there is nothing to describe. */\n describedBy: string | undefined\n}\n\nexport function fieldIds(\n controlId: string,\n hasDescription: boolean,\n hasError: boolean,\n): FieldIds {\n const descriptionId = `${controlId}-description`\n const errorId = `${controlId}-error`\n\n return {\n controlId,\n descriptionId,\n errorId,\n describedBy:\n [hasDescription ? descriptionId : null, hasError ? errorId : null]\n .filter(Boolean)\n .join(' ') || undefined,\n }\n}\n\n/**\n * Shared label / description / error chrome for form controls.\n * Internal — consumers use TextField, Select or Checkbox.\n */\nexport function renderFieldFrame({\n component,\n ids,\n size,\n invalid,\n disabled,\n label,\n description,\n error,\n attrClass,\n attrStyle,\n control,\n}: {\n component: string\n ids: FieldIds\n size: FieldSize\n invalid: boolean\n disabled: boolean\n label?: VNodeChild\n description?: VNodeChild\n error?: VNodeChild\n attrClass: string | undefined\n attrStyle: StyleValue | undefined\n control: VNode\n}): VNode {\n const children: VNodeChild[] = []\n\n if (label) {\n children.push(\n h(\n 'label',\n {\n 'data-mason-slot': 'label',\n for: ids.controlId,\n style: fieldLabelStyle(size),\n },\n label,\n ),\n )\n }\n\n children.push(control)\n\n if (description) {\n children.push(\n h(\n 'p',\n {\n 'data-mason-slot': 'description',\n id: ids.descriptionId,\n style: fieldDescriptionStyle(),\n },\n description,\n ),\n )\n }\n\n if (error) {\n children.push(\n h(\n 'p',\n {\n 'data-mason-slot': 'error',\n id: ids.errorId,\n role: 'alert',\n style: fieldErrorStyle(),\n },\n error,\n ),\n )\n }\n\n return h(\n 'div',\n {\n 'data-mason-component': component,\n 'data-size': size,\n 'data-invalid': invalid || undefined,\n 'data-disabled': disabled || undefined,\n class: mergeClassName(attrClass),\n style: [fieldRootStyle(), attrStyle],\n },\n children,\n )\n}\n","import {\n cssVar,\n radiusVar,\n spacingVar,\n typographyStyle,\n type Level,\n type TextVariant,\n} from './styles.js'\n\n/** Field sizes reuse the spacing ladder — sm / md / lg. */\nexport type FieldSize = Level\n\nconst CONTROL_FONT = {\n sm: 'body.sm',\n md: 'body.md',\n lg: 'body.lg',\n} as const satisfies Record<FieldSize, TextVariant>\n\nconst LABEL_FONT = {\n sm: 'label.sm',\n md: 'label.md',\n lg: 'label.lg',\n} as const satisfies Record<FieldSize, TextVariant>\n\nconst CONTROL_PADDING_BLOCK = { sm: 'sm', md: 'sm', lg: 'md' } as const satisfies Record<\n FieldSize,\n Level\n>\n\nconst CONTROL_PADDING_INLINE = { sm: 'sm', md: 'md', lg: 'md' } as const satisfies Record<\n FieldSize,\n Level\n>\n\nexport function fieldRootStyle(): Record<string, string> {\n return {\n display: 'flex',\n flexDirection: 'column',\n gap: spacingVar('stack', 'sm'),\n minWidth: '0',\n }\n}\n\nexport function fieldLabelStyle(size: FieldSize = 'md'): Record<string, string> {\n return {\n color: cssVar('color.text.primary'),\n ...typographyStyle(LABEL_FONT[size]),\n }\n}\n\nexport function fieldControlStyle({\n size = 'md',\n invalid = false,\n disabled = false,\n}: {\n size?: FieldSize\n invalid?: boolean\n disabled?: boolean\n}): Record<string, string> {\n return {\n width: '100%',\n boxSizing: 'border-box',\n margin: '0',\n paddingBlock: spacingVar('inset', CONTROL_PADDING_BLOCK[size]),\n paddingInline: spacingVar('inset', CONTROL_PADDING_INLINE[size]),\n backgroundColor: disabled\n ? cssVar('color.action.disabled.bg')\n : cssVar('color.field.bg'),\n color: disabled ? cssVar('color.text.disabled') : cssVar('color.field.text'),\n border: `1px solid ${cssVar(\n invalid ? 'color.field.borderInvalid' : 'color.field.border',\n )}`,\n borderRadius: radiusVar('md'),\n ...typographyStyle(CONTROL_FONT[size]),\n }\n}\n\nexport function fieldDescriptionStyle(): Record<string, string> {\n return {\n margin: '0',\n color: cssVar('color.text.secondary'),\n ...typographyStyle('body.sm'),\n }\n}\n\nexport function fieldErrorStyle(): Record<string, string> {\n return {\n margin: '0',\n color: cssVar('color.text.danger'),\n ...typographyStyle('body.sm'),\n }\n}\n","import { defineComponent, h, type PropType, type StyleValue } from 'vue'\nimport { fieldIds, nextFieldId, renderFieldFrame } from './field.js'\nimport { fieldControlStyle, type FieldSize } from './fieldStyles.js'\n\ntype ChangeListener = (event: Event) => void\n\n/**\n * Labelled native `<select>`. Supports `v-model`.\n * The default slot holds the `<option>` elements, so the browser's own popup\n * and keyboard behaviour is preserved.\n * Slots: default (options), `label`, `description`, `error`.\n */\nexport const Select = defineComponent({\n name: 'MasonSelect',\n inheritAttrs: false,\n props: {\n label: {\n type: String,\n default: undefined,\n },\n description: {\n type: String,\n default: undefined,\n },\n error: {\n type: String,\n default: undefined,\n },\n size: {\n type: String as PropType<FieldSize>,\n default: 'md',\n },\n invalid: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n id: {\n type: String,\n default: undefined,\n },\n /** Rendered as a leading empty `<option>`. */\n placeholder: {\n type: String,\n default: undefined,\n },\n modelValue: {\n type: String,\n default: undefined,\n },\n },\n emits: ['update:modelValue'],\n setup(props, { slots, attrs, emit }) {\n const autoId = nextFieldId()\n\n return () => {\n const {\n class: attrClass,\n style: attrStyle,\n onChange: attrChange,\n ...controlAttrs\n } = attrs\n\n const label = slots.label?.() ?? props.label\n const description = slots.description?.() ?? props.description\n const error = slots.error?.() ?? props.error\n const invalid = props.invalid ?? Boolean(error)\n const ids = fieldIds(props.id ?? autoId, Boolean(description), Boolean(error))\n\n const emitChange: ChangeListener = (event) => {\n emit('update:modelValue', (event.target as HTMLSelectElement).value)\n }\n const forwarded = attrChange as ChangeListener | undefined\n\n const options = []\n if (props.placeholder) {\n options.push(h('option', { value: '' }, props.placeholder))\n }\n const provided = slots.default?.()\n if (provided) {\n options.push(provided)\n }\n\n const control = h(\n 'select',\n {\n ...controlAttrs,\n id: ids.controlId,\n 'data-mason-slot': 'control',\n disabled: props.disabled,\n 'aria-invalid': invalid || undefined,\n 'aria-describedby': ids.describedBy,\n ...(props.modelValue === undefined ? null : { value: props.modelValue }),\n onChange: forwarded ? [emitChange, forwarded] : emitChange,\n style: fieldControlStyle({\n size: props.size,\n invalid,\n disabled: props.disabled,\n }),\n },\n options,\n )\n\n return renderFieldFrame({\n component: 'select',\n ids,\n size: props.size,\n invalid,\n disabled: props.disabled,\n label,\n description,\n error,\n attrClass: attrClass as string | undefined,\n attrStyle: attrStyle as StyleValue | undefined,\n control,\n })\n }\n },\n})\n\nexport type SelectProps = {\n label?: string\n description?: string\n error?: string\n size?: FieldSize\n invalid?: boolean\n disabled?: boolean\n id?: string\n placeholder?: string\n modelValue?: string\n}\n","import { defineComponent, h, type PropType, type StyleValue, type VNodeChild } from 'vue'\nimport { fieldIds, nextFieldId } from './field.js'\nimport { mergeClassName } from './styles.js'\nimport { fieldDescriptionStyle, fieldErrorStyle } from './fieldStyles.js'\nimport {\n checkboxControlStyle,\n checkboxLabelStyle,\n checkboxRootStyle,\n} from './checkboxStyles.js'\n\ntype ChangeListener = (event: Event) => void\n\n/**\n * Native checkbox with a token-backed label row. Supports `v-model`.\n * The check mark uses `accent-color`, so platform behaviour is untouched.\n * Slots: `label`, `description`, `error`.\n */\nexport const Checkbox = defineComponent({\n name: 'MasonCheckbox',\n inheritAttrs: false,\n props: {\n label: {\n type: String,\n default: undefined,\n },\n description: {\n type: String,\n default: undefined,\n },\n error: {\n type: String,\n default: undefined,\n },\n invalid: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: false,\n },\n id: {\n type: String,\n default: undefined,\n },\n modelValue: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n },\n emits: ['update:modelValue'],\n setup(props, { slots, attrs, emit }) {\n const autoId = nextFieldId()\n\n return () => {\n const {\n class: attrClass,\n style: attrStyle,\n onChange: attrChange,\n ...controlAttrs\n } = attrs\n\n const label = slots.label?.() ?? props.label\n const description = slots.description?.() ?? props.description\n const error = slots.error?.() ?? props.error\n const invalid = props.invalid ?? Boolean(error)\n const ids = fieldIds(props.id ?? autoId, Boolean(description), Boolean(error))\n\n const emitChange: ChangeListener = (event) => {\n emit('update:modelValue', (event.target as HTMLInputElement).checked)\n }\n const forwarded = attrChange as ChangeListener | undefined\n\n const children: VNodeChild[] = [\n h(\n 'label',\n {\n 'data-mason-slot': 'label',\n for: ids.controlId,\n style: checkboxLabelStyle(props.disabled),\n },\n [\n h('input', {\n ...controlAttrs,\n type: 'checkbox',\n id: ids.controlId,\n 'data-mason-slot': 'control',\n disabled: props.disabled,\n 'aria-invalid': invalid || undefined,\n 'aria-describedby': ids.describedBy,\n ...(props.modelValue === undefined ? null : { checked: props.modelValue }),\n onChange: forwarded ? [emitChange, forwarded] : emitChange,\n style: checkboxControlStyle(),\n }),\n label ? h('span', { 'data-mason-slot': 'label-text' }, label) : null,\n ],\n ),\n ]\n\n if (description) {\n children.push(\n h(\n 'p',\n {\n 'data-mason-slot': 'description',\n id: ids.descriptionId,\n style: fieldDescriptionStyle(),\n },\n description,\n ),\n )\n }\n\n if (error) {\n children.push(\n h(\n 'p',\n {\n 'data-mason-slot': 'error',\n id: ids.errorId,\n role: 'alert',\n style: fieldErrorStyle(),\n },\n error,\n ),\n )\n }\n\n return h(\n 'div',\n {\n 'data-mason-component': 'checkbox',\n 'data-invalid': invalid || undefined,\n 'data-disabled': props.disabled || undefined,\n class: mergeClassName(attrClass as string | undefined),\n style: [checkboxRootStyle(), attrStyle as StyleValue | undefined],\n },\n children,\n )\n }\n },\n})\n\nexport type CheckboxProps = {\n label?: string\n description?: string\n error?: string\n invalid?: boolean\n disabled?: boolean\n id?: string\n modelValue?: boolean\n}\n","import { cssVar, spacingVar, typographyStyle } from './styles.js'\n\nexport function checkboxRootStyle(): Record<string, string> {\n return {\n display: 'flex',\n flexDirection: 'column',\n gap: spacingVar('stack', 'sm'),\n minWidth: '0',\n }\n}\n\nexport function checkboxLabelStyle(disabled = false): Record<string, string> {\n return {\n display: 'inline-flex',\n alignItems: 'flex-start',\n gap: spacingVar('inline', 'sm'),\n cursor: disabled ? 'not-allowed' : 'pointer',\n color: disabled ? cssVar('color.text.disabled') : cssVar('color.text.primary'),\n ...typographyStyle('body.md'),\n }\n}\n\nexport function checkboxControlStyle(): Record<string, string> {\n return {\n width: '1em',\n height: '1em',\n margin: '0',\n marginBlockStart: '0.15em',\n accentColor: cssVar('color.action.primary.bg'),\n flexShrink: '0',\n }\n}\n"],"mappings":"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","names":["defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","h","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h","defineComponent","h"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@mason-ds/vue",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Vue components for mason-ds",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"import": "./dist/index.js",
|
|
10
|
+
"require": "./dist/index.cjs"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"main": "./dist/index.cjs",
|
|
14
|
+
"module": "./dist/index.js",
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"license": "Apache-2.0",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github.com/FE-HyunSu/mason-ds.git",
|
|
20
|
+
"directory": "packages/vue"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist",
|
|
24
|
+
"README.md",
|
|
25
|
+
"LICENSE",
|
|
26
|
+
"NOTICE"
|
|
27
|
+
],
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"@mason-ds/tokens": "0.2.0"
|
|
30
|
+
},
|
|
31
|
+
"peerDependencies": {
|
|
32
|
+
"vue": "^3.4.0"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@vue/test-utils": "^2.4.6",
|
|
36
|
+
"jsdom": "^26.1.0",
|
|
37
|
+
"tsup": "^8.4.0",
|
|
38
|
+
"typescript": "^5.8.3",
|
|
39
|
+
"vitest": "^3.1.1",
|
|
40
|
+
"vue": "^3.5.13"
|
|
41
|
+
},
|
|
42
|
+
"publishConfig": {
|
|
43
|
+
"access": "public"
|
|
44
|
+
},
|
|
45
|
+
"scripts": {
|
|
46
|
+
"build": "tsup",
|
|
47
|
+
"typecheck": "tsc --noEmit",
|
|
48
|
+
"test": "vitest run --config ../../vitest.config.mts"
|
|
49
|
+
}
|
|
50
|
+
}
|