@morya-ui/mcp 0.4.0 → 0.4.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.
package/data/catalog.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
- "generatedAt": "2026-09-30T07:47:11.558Z",
2
+ "generatedAt": "2026-10-08T08:29:10.652Z",
3
3
  "library": {
4
4
  "name": "morya-ui",
5
- "version": "0.4.0"
5
+ "version": "0.4.1"
6
6
  },
7
7
  "mcp": {
8
8
  "name": "@morya-ui/mcp",
9
- "version": "0.4.0"
9
+ "version": "0.4.1"
10
10
  },
11
11
  "components": [
12
12
  {
@@ -1495,6 +1495,12 @@
1495
1495
  "type": "boolean",
1496
1496
  "default": "false",
1497
1497
  "description": "脉冲动画。"
1498
+ },
1499
+ {
1500
+ "name": "pt",
1501
+ "type": "[RootPassThrough](/docs/types#RootPassThrough) `{ root? }",
1502
+ "default": "—",
1503
+ "description": "DOM 透传,见 [样式与 attrs](/docs/attrs)."
1498
1504
  }
1499
1505
  ],
1500
1506
  "events": [],
@@ -1635,7 +1641,7 @@
1635
1641
  {
1636
1642
  "id": "props",
1637
1643
  "title": "Props",
1638
- "body": "| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `string \\| number` | — | 角标内容。省略时显示为圆点。 |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | 语义色。`warning` 为兼容别名,映射为 `warn`。 |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | — | 尺寸;`sm` / `lg` 为别名。 |\n| `max` | `number` | — | 数字上限,超出显示 `{max}+`。 |\n| `offset` | `[number, number]` | — | 包裹模式下的位移 `[x, y]`。 |\n| `processing` | `boolean` | `false` | 脉冲动画。 |"
1644
+ "body": "| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `string \\| number` | — | 角标内容。省略时显示为圆点。 |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | 语义色。`warning` 为兼容别名,映射为 `warn`。 |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | — | 尺寸;`sm` / `lg` 为别名。 |\n| `max` | `number` | — | 数字上限,超出显示 `{max}+`。 |\n| `offset` | `[number, number]` | — | 包裹模式下的位移 `[x, y]`。 |\n| `processing` | `boolean` | `false` | 脉冲动画。 |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传,见 [样式与 attrs](/docs/attrs). |"
1639
1645
  },
1640
1646
  {
1641
1647
  "id": "slots",
@@ -1653,7 +1659,7 @@
1653
1659
  "body": "无自定义事件。"
1654
1660
  }
1655
1661
  ],
1656
- "markdown": "---\ntitle: Badge\ncategory: 01 / BASIC\ndescription: 状态角标或圆点。\n---\n\n# Badge\n\n状态角标或圆点,用于数量与状态提示。\n\n## 引入\n\n```ts\nimport { MBadge } from 'morya-ui'\n```\n\n## 基础用法\n\n传入 `value` 展示文案或数字;省略 `value` 时渲染为圆点。\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Severity\n\n使用 `severity` 定义语义色;省略时为 primary。兼容旧值 `warning`(映射为 `warn`)。\n\n```vue preview src=\"./demos/Severity.vue\"\n```\n\n## Size\n\n`size` 支持 `small` / `large`,以及别名 `sm` / `lg`。\n\n```vue preview src=\"./demos/Size.vue\"\n```\n\n## Overlay\n\n默认插槽包裹子节点;`max` 超出时显示 `99+`,`processing` 显示脉冲。\n\n```vue preview src=\"./demos/Overlay.vue\"\n```\n\n## Props\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `string \\| number` | — | 角标内容。省略时显示为圆点。 |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | 语义色。`warning` 为兼容别名,映射为 `warn`。 |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | — | 尺寸;`sm` / `lg` 为别名。 |\n| `max` | `number` | — | 数字上限,超出显示 `{max}+`。 |\n| `offset` | `[number, number]` | — | 包裹模式下的位移 `[x, y]`。 |\n| `processing` | `boolean` | `false` | 脉冲动画。 |\n\n\n## Slots\n\n| 插槽名 | 说明 |\n| --- | --- |\n| `default` | 被角标包裹的内容。 |\n\n## 无障碍\n\n- 角标数字变化时,若状态重要,请同步更新附近可见文案或 `aria-live` 区域。\n- 包裹模式下,勿让角标成为唯一的状态提示。\n\n## Events\n\n无自定义事件。\n"
1662
+ "markdown": "---\ntitle: Badge\ncategory: 01 / BASIC\ndescription: 状态角标或圆点。\n---\n\n# Badge\n\n状态角标或圆点,用于数量与状态提示。\n\n## 引入\n\n```ts\nimport { MBadge } from 'morya-ui'\n```\n\n## 基础用法\n\n传入 `value` 展示文案或数字;省略 `value` 时渲染为圆点。\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Severity\n\n使用 `severity` 定义语义色;省略时为 primary。兼容旧值 `warning`(映射为 `warn`)。\n\n```vue preview src=\"./demos/Severity.vue\"\n```\n\n## Size\n\n`size` 支持 `small` / `large`,以及别名 `sm` / `lg`。\n\n```vue preview src=\"./demos/Size.vue\"\n```\n\n## Overlay\n\n默认插槽包裹子节点;`max` 超出时显示 `99+`,`processing` 显示脉冲。\n\n```vue preview src=\"./demos/Overlay.vue\"\n```\n\n## Props\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `string \\| number` | — | 角标内容。省略时显示为圆点。 |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | 语义色。`warning` 为兼容别名,映射为 `warn`。 |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | — | 尺寸;`sm` / `lg` 为别名。 |\n| `max` | `number` | — | 数字上限,超出显示 `{max}+`。 |\n| `offset` | `[number, number]` | — | 包裹模式下的位移 `[x, y]`。 |\n| `processing` | `boolean` | `false` | 脉冲动画。 |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传,见 [样式与 attrs](/docs/attrs). |\n\n\n## Slots\n\n| 插槽名 | 说明 |\n| --- | --- |\n| `default` | 被角标包裹的内容。 |\n\n## 无障碍\n\n- 角标数字变化时,若状态重要,请同步更新附近可见文案或 `aria-live` 区域。\n- 包裹模式下,勿让角标成为唯一的状态提示。\n\n## Events\n\n无自定义事件。\n"
1657
1663
  },
1658
1664
  "en-US": {
1659
1665
  "title": "Badge",
@@ -1692,7 +1698,7 @@
1692
1698
  {
1693
1699
  "id": "props",
1694
1700
  "title": "Props",
1695
- "body": "| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `string \\| number` | 鈥?| Badge content. Renders as a dot when omitted. |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | Semantic color. `warning` is a compatibility alias mapped to `warn`. |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | 鈥?| Size; `sm` / `lg` are aliases. |\n| `max` | `number` | 鈥?| Cap numeric values as `{max}+`. |\n| `offset` | `[number, number]` | 鈥?| Offset `[x, y]` when wrapping content. |\n| `processing` | `boolean` | `false` | Pulse animation. |"
1701
+ "body": "| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `string \\| number` | 鈥?| Badge content. Renders as a dot when omitted. |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | Semantic color. `warning` is a compatibility alias mapped to `warn`. |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | 鈥?| Size; `sm` / `lg` are aliases. |\n| `max` | `number` | 鈥?| Cap numeric values as `{max}+`. |\n| `offset` | `[number, number]` | 鈥?| Offset `[x, y]` when wrapping content. |\n| `processing` | `boolean` | `false` | Pulse animation. |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM pass-through; see [attrs](/docs/attrs). |"
1696
1702
  },
1697
1703
  {
1698
1704
  "id": "slots",
@@ -1710,7 +1716,7 @@
1710
1716
  "body": "No custom events."
1711
1717
  }
1712
1718
  ],
1713
- "markdown": "---\ntitle: Badge\ncategory: 01 / BASIC\ndescription: Status badge or dot.\n---\n\n# Badge\n\nStatus badge or dot for counts and status cues.\n\n## Import\n\n```ts\nimport { MBadge } from 'morya-ui'\n```\n\n## Basic\n\nPass `value` to show text or a number; omit `value` to render a dot.\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Severity\n\nUse `severity` for semantic color; defaults to primary when omitted. Legacy value `warning` is supported (mapped to `warn`).\n\n```vue preview src=\"./demos/Severity.vue\"\n```\n\n## Size\n\n`size` supports `small` / `large`, plus aliases `sm` / `lg`.\n\n```vue preview src=\"./demos/Size.vue\"\n```\n\n## Overlay\n\nWrap content with the default slot. `max` caps numeric values; `processing` pulses.\n\n```vue preview src=\"./demos/Overlay.vue\"\n```\n\n## Props\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `string \\| number` | 鈥?| Badge content. Renders as a dot when omitted. |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | Semantic color. `warning` is a compatibility alias mapped to `warn`. |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | 鈥?| Size; `sm` / `lg` are aliases. |\n| `max` | `number` | 鈥?| Cap numeric values as `{max}+`. |\n| `offset` | `[number, number]` | 鈥?| Offset `[x, y]` when wrapping content. |\n| `processing` | `boolean` | `false` | Pulse animation. |\n\n\n## Slots\n\n| Slot | Description |\n| --- | --- |\n| `default` | Content to overlay. |\n\n## Accessibility\n\n- When badge counts matter, update nearby visible text or an `aria-live` region.\n- Do not rely on the badge alone as the only status indicator.\n\n## Events\n\nNo custom events.\n"
1719
+ "markdown": "---\ntitle: Badge\ncategory: 01 / BASIC\ndescription: Status badge or dot.\n---\n\n# Badge\n\nStatus badge or dot for counts and status cues.\n\n## Import\n\n```ts\nimport { MBadge } from 'morya-ui'\n```\n\n## Basic\n\nPass `value` to show text or a number; omit `value` to render a dot.\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Severity\n\nUse `severity` for semantic color; defaults to primary when omitted. Legacy value `warning` is supported (mapped to `warn`).\n\n```vue preview src=\"./demos/Severity.vue\"\n```\n\n## Size\n\n`size` supports `small` / `large`, plus aliases `sm` / `lg`.\n\n```vue preview src=\"./demos/Size.vue\"\n```\n\n## Overlay\n\nWrap content with the default slot. `max` caps numeric values; `processing` pulses.\n\n```vue preview src=\"./demos/Overlay.vue\"\n```\n\n## Props\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `string \\| number` | 鈥?| Badge content. Renders as a dot when omitted. |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | Semantic color. `warning` is a compatibility alias mapped to `warn`. |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | 鈥?| Size; `sm` / `lg` are aliases. |\n| `max` | `number` | 鈥?| Cap numeric values as `{max}+`. |\n| `offset` | `[number, number]` | 鈥?| Offset `[x, y]` when wrapping content. |\n| `processing` | `boolean` | `false` | Pulse animation. |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM pass-through; see [attrs](/docs/attrs). |\n\n\n## Slots\n\n| Slot | Description |\n| --- | --- |\n| `default` | Content to overlay. |\n\n## Accessibility\n\n- When badge counts matter, update nearby visible text or an `aria-live` region.\n- Do not rely on the badge alone as the only status indicator.\n\n## Events\n\nNo custom events.\n"
1714
1720
  }
1715
1721
  }
1716
1722
  },
@@ -3127,79 +3133,176 @@
3127
3133
  "name": "Carousel",
3128
3134
  "exportName": "MCarousel",
3129
3135
  "category": "03 / DATA",
3130
- "description": "轮播展示一组内容项。",
3131
- "descriptionEn": "Carousel for a set of content items.",
3136
+ "description": "轮播展示一组内容项,支持滑动 / 淡入 / 卡片效果。",
3137
+ "descriptionEn": "Carousel for a set of content items with slide / fade / card effects.",
3132
3138
  "import": "import { MCarousel } from 'morya-ui'",
3133
3139
  "props": [
3134
3140
  {
3135
- "name": "value",
3136
- "type": "unknown[]",
3141
+ "name": "currentIndex",
3142
+ "type": "number",
3137
3143
  "default": "—",
3138
- "description": "内容列表。"
3144
+ "description": "受控当前页,配合 `v-model:currentIndex`。"
3139
3145
  },
3140
3146
  {
3141
- "name": "numVisible",
3147
+ "name": "defaultIndex",
3142
3148
  "type": "number",
3149
+ "default": "0",
3150
+ "description": "非受控初始页。"
3151
+ },
3152
+ {
3153
+ "name": "showArrow",
3154
+ "type": "boolean",
3155
+ "default": "false",
3156
+ "description": "显示箭头。"
3157
+ },
3158
+ {
3159
+ "name": "showDots",
3160
+ "type": "boolean",
3161
+ "default": "true",
3162
+ "description": "显示指示点。"
3163
+ },
3164
+ {
3165
+ "name": "dotType",
3166
+ "type": "'dot' | 'line'",
3167
+ "default": "'dot'",
3168
+ "description": "指示点样式。"
3169
+ },
3170
+ {
3171
+ "name": "dotPlacement",
3172
+ "type": "'top' | 'bottom' | 'left' | 'right'",
3173
+ "default": "'bottom'",
3174
+ "description": "指示点位置。"
3175
+ },
3176
+ {
3177
+ "name": "slidesPerView",
3178
+ "type": "number | 'auto'",
3143
3179
  "default": "1",
3144
- "description": "同时可见项数。"
3180
+ "description": "一屏可见数量(`slide`)。"
3181
+ },
3182
+ {
3183
+ "name": "spaceBetween",
3184
+ "type": "number",
3185
+ "default": "0",
3186
+ "description": "幻灯片间距(px)。"
3145
3187
  },
3146
3188
  {
3147
- "name": "circular",
3189
+ "name": "centeredSlides",
3148
3190
  "type": "boolean",
3149
3191
  "default": "false",
3150
- "description": "循环翻页。"
3192
+ "description": "居中当前页。"
3193
+ },
3194
+ {
3195
+ "name": "direction",
3196
+ "type": "'horizontal' | 'vertical'",
3197
+ "default": "'horizontal'",
3198
+ "description": "方向。"
3151
3199
  },
3152
3200
  {
3153
3201
  "name": "autoplay",
3154
3202
  "type": "boolean",
3155
3203
  "default": "false",
3156
- "description": "自动翻页。"
3204
+ "description": "自动播放。"
3157
3205
  },
3158
3206
  {
3159
3207
  "name": "interval",
3160
3208
  "type": "number",
3161
- "default": "3000",
3162
- "description": "自动翻页间隔(毫秒)。"
3209
+ "default": "5000",
3210
+ "description": "自动播放间隔(ms)。"
3163
3211
  },
3164
3212
  {
3165
- "name": "showArrows",
3213
+ "name": "loop",
3166
3214
  "type": "boolean",
3167
3215
  "default": "true",
3168
- "description": "显示左右箭头。"
3216
+ "description": "循环。"
3217
+ },
3218
+ {
3219
+ "name": "effect",
3220
+ "type": "'slide' | 'fade' | 'card'",
3221
+ "default": "'slide'",
3222
+ "description": "过渡效果。"
3223
+ },
3224
+ {
3225
+ "name": "trigger",
3226
+ "type": "'click' | 'hover'",
3227
+ "default": "'click'",
3228
+ "description": "指示点触发方式。"
3169
3229
  },
3170
3230
  {
3171
- "name": "showIndicators",
3231
+ "name": "touchable",
3172
3232
  "type": "boolean",
3173
3233
  "default": "true",
3174
- "description": "显示指示点。"
3234
+ "description": "触摸滑动。"
3175
3235
  },
3176
3236
  {
3177
- "name": "page",
3237
+ "name": "draggable",
3238
+ "type": "boolean",
3239
+ "default": "false",
3240
+ "description": "鼠标拖拽。"
3241
+ },
3242
+ {
3243
+ "name": "mousewheel",
3244
+ "type": "boolean",
3245
+ "default": "false",
3246
+ "description": "滚轮切换。"
3247
+ },
3248
+ {
3249
+ "name": "keyboard",
3250
+ "type": "boolean",
3251
+ "default": "false",
3252
+ "description": "方向键切换(需聚焦)。"
3253
+ },
3254
+ {
3255
+ "name": "transitionDuration",
3178
3256
  "type": "number",
3179
- "default": "—",
3180
- "description": "—"
3257
+ "default": "300",
3258
+ "description": "过渡时长(ms)。"
3181
3259
  },
3182
3260
  {
3183
3261
  "name": "pt",
3184
3262
  "type": "[RootPassThrough](/docs/types#RootPassThrough) `{ root? }",
3185
3263
  "default": "—",
3186
- "description": "DOM 透传,见 [样式与 attrs](/docs/attrs)."
3264
+ "description": "DOM 透传。"
3187
3265
  }
3188
3266
  ],
3189
3267
  "events": [
3190
3268
  {
3191
- "name": "update:page",
3192
- "payload": "number",
3193
- "description": "页码变化。"
3269
+ "name": "update:currentIndex",
3270
+ "payload": "(currentIndex, lastIndex)",
3271
+ "description": "当前页变化。"
3194
3272
  }
3195
3273
  ],
3196
3274
  "slots": [
3197
3275
  {
3198
- "name": "item",
3199
- "description": "`{ item, index }` 单项。"
3276
+ "name": "default",
3277
+ "description": "幻灯片内容,建议使用 `MCarouselItem`。"
3278
+ },
3279
+ {
3280
+ "name": "arrow",
3281
+ "description": "`{ prev, next, total, currentIndex }` 自定义箭头。"
3282
+ },
3283
+ {
3284
+ "name": "dots",
3285
+ "description": "`{ total, currentIndex, to }` 自定义指示点。"
3286
+ }
3287
+ ],
3288
+ "methods": [
3289
+ {
3290
+ "name": "prev",
3291
+ "description": "上一页。"
3292
+ },
3293
+ {
3294
+ "name": "next",
3295
+ "description": "下一页。"
3296
+ },
3297
+ {
3298
+ "name": "to",
3299
+ "description": "跳到指定页。"
3300
+ },
3301
+ {
3302
+ "name": "getCurrentIndex",
3303
+ "description": "获取当前页。"
3200
3304
  }
3201
3305
  ],
3202
- "methods": [],
3203
3306
  "examples": [
3204
3307
  {
3205
3308
  "id": "引入-1",
@@ -3207,7 +3310,7 @@
3207
3310
  "sectionId": "引入",
3208
3311
  "lang": "ts",
3209
3312
  "preview": false,
3210
- "code": "import { MCarousel } from 'morya-ui'",
3313
+ "code": "import { MCarousel, MCarouselItem } from 'morya-ui'",
3211
3314
  "locale": "zh-CN"
3212
3315
  },
3213
3316
  {
@@ -3216,7 +3319,7 @@
3216
3319
  "sectionId": "基础用法",
3217
3320
  "lang": "vue",
3218
3321
  "preview": true,
3219
- "code": "<script setup lang=\"ts\">\nimport { MCarousel } from 'morya-ui'\n\nconst value = ['春', '夏', '秋', '冬']\n</script>\n\n<template>\n <MCarousel :value=\"value\" :num-visible=\"1\" circular>\n <template #item=\"{ item }\">\n <div style=\"padding:2rem;text-align:center;background:var(--m-color-surface-muted, #f3f4f6);border-radius:var(--m-radius-md)\">\n {{ item }}\n </div>\n </template>\n </MCarousel>\n</template>",
3322
+ "code": "<script setup lang=\"ts\">\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n\nconst slides = [\n { title: '春', color: 'color-mix(in srgb, var(--m-color-success) 18%, var(--m-color-surface))' },\n { title: '夏', color: 'color-mix(in srgb, var(--m-color-warning) 18%, var(--m-color-surface))' },\n { title: '秋', color: 'color-mix(in srgb, var(--m-color-danger) 16%, var(--m-color-surface))' },\n { title: '冬', color: 'color-mix(in srgb, var(--m-color-info) 18%, var(--m-color-surface))' },\n]\n</script>\n\n<template>\n <MCarousel show-arrow style=\"height: 180px\">\n <MCarouselItem\n v-for=\"slide in slides\"\n :key=\"slide.title\"\n >\n <div\n style=\"\n align-items: center;\n display: flex;\n font-size: 1.5rem;\n height: 100%;\n justify-content: center;\n border-radius: var(--m-radius-md);\n \"\n :style=\"{ background: slide.color }\"\n >\n {{ slide.title }}\n </div>\n </MCarouselItem>\n </MCarousel>\n</template>",
3220
3323
  "locale": "zh-CN"
3221
3324
  },
3222
3325
  {
@@ -3225,7 +3328,34 @@
3225
3328
  "sectionId": "autoplay",
3226
3329
  "lang": "vue",
3227
3330
  "preview": true,
3228
- "code": "<script setup lang=\"ts\">\nimport { MCarousel } from 'morya-ui'\n\nconst value = ['A', 'B', 'C']\n</script>\n\n<template>\n <MCarousel :value=\"value\" autoplay :interval=\"4000\" :show-arrows=\"false\">\n <template #item=\"{ item }\">\n <div style=\"padding:1.5rem;text-align:center;background:var(--m-color-surface-muted, #f3f4f6);border-radius:var(--m-radius-md)\">\n {{ item }}\n </div>\n </template>\n </MCarousel>\n</template>",
3331
+ "code": "<script setup lang=\"ts\">\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n\nconst slides = ['01', '02', '03', '04']\n</script>\n\n<template>\n <MCarousel\n autoplay\n :interval=\"4000\"\n show-arrow\n style=\"height: 160px\"\n >\n <MCarouselItem\n v-for=\"slide in slides\"\n :key=\"slide\"\n >\n <div\n style=\"\n align-items: center;\n background: var(--m-color-surface-muted, #f3f4f6);\n border-radius: var(--m-radius-md);\n display: flex;\n font-size: 2rem;\n height: 100%;\n justify-content: center;\n \"\n >\n {{ slide }}\n </div>\n </MCarouselItem>\n </MCarousel>\n</template>",
3332
+ "locale": "zh-CN"
3333
+ },
3334
+ {
3335
+ "id": "过渡效果-1",
3336
+ "section": "过渡效果",
3337
+ "sectionId": "过渡效果",
3338
+ "lang": "vue",
3339
+ "preview": true,
3340
+ "code": "<script setup lang=\"ts\">\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n\nconst slides = ['卡片 A', '卡片 B', '卡片 C', '卡片 D']\n</script>\n\n<template>\n <div class=\"demo-stack\">\n <MCarousel\n class=\"demo-carousel\"\n effect=\"fade\"\n show-arrow\n >\n <MCarouselItem\n v-for=\"slide in slides\"\n :key=\"`fade-${slide}`\"\n >\n <div class=\"demo-slide\">\n Fade · {{ slide }}\n </div>\n </MCarouselItem>\n </MCarousel>\n\n <MCarousel\n class=\"demo-carousel demo-carousel--card\"\n effect=\"card\"\n show-arrow\n >\n <MCarouselItem\n v-for=\"slide in slides\"\n :key=\"`card-${slide}`\"\n >\n <div class=\"demo-slide demo-slide--card\">\n Card · {{ slide }}\n </div>\n </MCarouselItem>\n </MCarousel>\n </div>\n</template>\n\n<style scoped>\n.demo-stack {\n display: grid;\n gap: 1.5rem;\n width: 100%;\n}\n\n.demo-carousel {\n height: 140px;\n width: 100%;\n}\n\n.demo-carousel--card {\n height: 160px;\n}\n\n.demo-slide {\n align-items: center;\n background: color-mix(in srgb, var(--m-color-primary) 12%, var(--m-color-surface));\n border-radius: var(--m-radius-md);\n box-sizing: border-box;\n display: flex;\n height: 100%;\n justify-content: center;\n width: 100%;\n}\n\n.demo-slide--card {\n background: var(--m-color-surface);\n border: var(--m-border-width) solid var(--m-color-border);\n box-shadow: var(--m-shadow-md);\n}\n</style>",
3341
+ "locale": "zh-CN"
3342
+ },
3343
+ {
3344
+ "id": "多图同屏-1",
3345
+ "section": "多图同屏",
3346
+ "sectionId": "多图同屏",
3347
+ "lang": "vue",
3348
+ "preview": true,
3349
+ "code": "<script setup lang=\"ts\">\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n\nconst slides = ['一', '二', '三', '四', '五', '六']\n</script>\n\n<template>\n <MCarousel\n :slides-per-view=\"3\"\n :space-between=\"12\"\n :loop=\"false\"\n show-arrow\n draggable\n style=\"height: 120px\"\n >\n <MCarouselItem\n v-for=\"slide in slides\"\n :key=\"slide\"\n >\n <div\n style=\"\n align-items: center;\n background: var(--m-color-surface-muted, #f3f4f6);\n border-radius: var(--m-radius-md);\n display: flex;\n height: 100%;\n justify-content: center;\n \"\n >\n {{ slide }}\n </div>\n </MCarouselItem>\n </MCarousel>\n</template>",
3350
+ "locale": "zh-CN"
3351
+ },
3352
+ {
3353
+ "id": "纵向-1",
3354
+ "section": "纵向",
3355
+ "sectionId": "纵向",
3356
+ "lang": "vue",
3357
+ "preview": true,
3358
+ "code": "<script setup lang=\"ts\">\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n\nconst slides = ['上', '中', '下']\n</script>\n\n<template>\n <MCarousel\n direction=\"vertical\"\n show-arrow\n dot-placement=\"right\"\n dot-type=\"line\"\n style=\"height: 200px\"\n >\n <MCarouselItem\n v-for=\"slide in slides\"\n :key=\"slide\"\n >\n <div\n style=\"\n align-items: center;\n background: color-mix(in srgb, var(--m-color-primary) 10%, var(--m-color-surface));\n border-radius: var(--m-radius-md);\n display: flex;\n height: 100%;\n justify-content: center;\n \"\n >\n {{ slide }}\n </div>\n </MCarouselItem>\n </MCarousel>\n</template>",
3229
3359
  "locale": "zh-CN"
3230
3360
  },
3231
3361
  {
@@ -3234,7 +3364,7 @@
3234
3364
  "sectionId": "import",
3235
3365
  "lang": "ts",
3236
3366
  "preview": false,
3237
- "code": "import { MCarousel } from 'morya-ui'",
3367
+ "code": "import { MCarousel, MCarouselItem } from 'morya-ui'",
3238
3368
  "locale": "en-US"
3239
3369
  },
3240
3370
  {
@@ -3243,7 +3373,7 @@
3243
3373
  "sectionId": "basic",
3244
3374
  "lang": "vue",
3245
3375
  "preview": true,
3246
- "code": "<script setup lang=\"ts\">\nimport { MCarousel } from 'morya-ui'\n\nconst value = ['Spring', 'Summer', 'Autumn', 'Winter']\n</script>\n\n<template>\n <MCarousel :value=\"value\" :num-visible=\"1\" circular>\n <template #item=\"{ item }\">\n <div style=\"padding:2rem;text-align:center;background:var(--m-color-surface-muted, #f3f4f6);border-radius:var(--m-radius-md)\">\n {{ item }}\n </div>\n </template>\n </MCarousel>\n</template>",
3376
+ "code": "<script setup lang=\"ts\">\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n\nconst slides = [\n { title: 'Spring', color: 'color-mix(in srgb, var(--m-color-success) 18%, var(--m-color-surface))' },\n { title: 'Summer', color: 'color-mix(in srgb, var(--m-color-warning) 18%, var(--m-color-surface))' },\n { title: 'Autumn', color: 'color-mix(in srgb, var(--m-color-danger) 16%, var(--m-color-surface))' },\n { title: 'Winter', color: 'color-mix(in srgb, var(--m-color-info) 18%, var(--m-color-surface))' },\n]\n</script>\n\n<template>\n <MCarousel show-arrow style=\"height: 180px\">\n <MCarouselItem\n v-for=\"slide in slides\"\n :key=\"slide.title\"\n >\n <div\n style=\"\n align-items: center;\n display: flex;\n font-size: 1.5rem;\n height: 100%;\n justify-content: center;\n border-radius: var(--m-radius-md);\n \"\n :style=\"{ background: slide.color }\"\n >\n {{ slide.title }}\n </div>\n </MCarouselItem>\n </MCarousel>\n</template>",
3247
3377
  "locale": "en-US"
3248
3378
  },
3249
3379
  {
@@ -3252,24 +3382,51 @@
3252
3382
  "sectionId": "autoplay",
3253
3383
  "lang": "vue",
3254
3384
  "preview": true,
3255
- "code": "<script setup lang=\"ts\">\nimport { MCarousel } from 'morya-ui'\n\nconst value = ['A', 'B', 'C']\n</script>\n\n<template>\n <MCarousel :value=\"value\" autoplay :interval=\"4000\" :show-arrows=\"false\">\n <template #item=\"{ item }\">\n <div style=\"padding:1.5rem;text-align:center;background:var(--m-color-surface-muted, #f3f4f6);border-radius:var(--m-radius-md)\">\n {{ item }}\n </div>\n </template>\n </MCarousel>\n</template>",
3385
+ "code": "<script setup lang=\"ts\">\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n\nconst slides = ['01', '02', '03', '04']\n</script>\n\n<template>\n <MCarousel\n autoplay\n :interval=\"4000\"\n show-arrow\n style=\"height: 160px\"\n >\n <MCarouselItem\n v-for=\"slide in slides\"\n :key=\"slide\"\n >\n <div\n style=\"\n align-items: center;\n background: var(--m-color-surface-muted, #f3f4f6);\n border-radius: var(--m-radius-md);\n display: flex;\n font-size: 2rem;\n height: 100%;\n justify-content: center;\n \"\n >\n {{ slide }}\n </div>\n </MCarouselItem>\n </MCarousel>\n</template>",
3386
+ "locale": "en-US"
3387
+ },
3388
+ {
3389
+ "id": "effects-1",
3390
+ "section": "Effects",
3391
+ "sectionId": "effects",
3392
+ "lang": "vue",
3393
+ "preview": true,
3394
+ "code": "<script setup lang=\"ts\">\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n\nconst slides = ['Card A', 'Card B', 'Card C', 'Card D']\n</script>\n\n<template>\n <div class=\"demo-stack\">\n <MCarousel\n class=\"demo-carousel\"\n effect=\"fade\"\n show-arrow\n >\n <MCarouselItem\n v-for=\"slide in slides\"\n :key=\"`fade-${slide}`\"\n >\n <div class=\"demo-slide\">\n Fade · {{ slide }}\n </div>\n </MCarouselItem>\n </MCarousel>\n\n <MCarousel\n class=\"demo-carousel demo-carousel--card\"\n effect=\"card\"\n show-arrow\n >\n <MCarouselItem\n v-for=\"slide in slides\"\n :key=\"`card-${slide}`\"\n >\n <div class=\"demo-slide demo-slide--card\">\n Card · {{ slide }}\n </div>\n </MCarouselItem>\n </MCarousel>\n </div>\n</template>\n\n<style scoped>\n.demo-stack {\n display: grid;\n gap: 1.5rem;\n width: 100%;\n}\n\n.demo-carousel {\n height: 140px;\n width: 100%;\n}\n\n.demo-carousel--card {\n height: 160px;\n}\n\n.demo-slide {\n align-items: center;\n background: color-mix(in srgb, var(--m-color-primary) 12%, var(--m-color-surface));\n border-radius: var(--m-radius-md);\n box-sizing: border-box;\n display: flex;\n height: 100%;\n justify-content: center;\n width: 100%;\n}\n\n.demo-slide--card {\n background: var(--m-color-surface);\n border: var(--m-border-width) solid var(--m-color-border);\n box-shadow: var(--m-shadow-md);\n}\n</style>",
3395
+ "locale": "en-US"
3396
+ },
3397
+ {
3398
+ "id": "multiple-slides-1",
3399
+ "section": "Multiple slides",
3400
+ "sectionId": "multiple-slides",
3401
+ "lang": "vue",
3402
+ "preview": true,
3403
+ "code": "<script setup lang=\"ts\">\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n\nconst slides = ['One', 'Two', 'Three', 'Four', 'Five', 'Six']\n</script>\n\n<template>\n <MCarousel\n :slides-per-view=\"3\"\n :space-between=\"12\"\n :loop=\"false\"\n show-arrow\n draggable\n style=\"height: 120px\"\n >\n <MCarouselItem\n v-for=\"slide in slides\"\n :key=\"slide\"\n >\n <div\n style=\"\n align-items: center;\n background: var(--m-color-surface-muted, #f3f4f6);\n border-radius: var(--m-radius-md);\n display: flex;\n height: 100%;\n justify-content: center;\n \"\n >\n {{ slide }}\n </div>\n </MCarouselItem>\n </MCarousel>\n</template>",
3404
+ "locale": "en-US"
3405
+ },
3406
+ {
3407
+ "id": "vertical-1",
3408
+ "section": "Vertical",
3409
+ "sectionId": "vertical",
3410
+ "lang": "vue",
3411
+ "preview": true,
3412
+ "code": "<script setup lang=\"ts\">\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n\nconst slides = ['Top', 'Middle', 'Bottom']\n</script>\n\n<template>\n <MCarousel\n direction=\"vertical\"\n show-arrow\n dot-placement=\"right\"\n dot-type=\"line\"\n style=\"height: 200px\"\n >\n <MCarouselItem\n v-for=\"slide in slides\"\n :key=\"slide\"\n >\n <div\n style=\"\n align-items: center;\n background: color-mix(in srgb, var(--m-color-primary) 10%, var(--m-color-surface));\n border-radius: var(--m-radius-md);\n display: flex;\n height: 100%;\n justify-content: center;\n \"\n >\n {{ slide }}\n </div>\n </MCarouselItem>\n </MCarousel>\n</template>",
3256
3413
  "locale": "en-US"
3257
3414
  }
3258
3415
  ],
3259
3416
  "locales": {
3260
3417
  "zh-CN": {
3261
3418
  "title": "Carousel",
3262
- "description": "轮播展示一组内容项。",
3419
+ "description": "轮播展示一组内容项,支持滑动 / 淡入 / 卡片效果。",
3263
3420
  "sections": [
3264
3421
  {
3265
3422
  "id": "overview",
3266
3423
  "title": "",
3267
- "body": "# Carousel\n\n按 `numVisible` 窗口滑动展示内容。"
3424
+ "body": "# Carousel\n\n支持默认插槽 + `MCarouselItem`、多种过渡、指示点样式与方位、触摸/拖拽/滚轮/键盘、自动播放。"
3268
3425
  },
3269
3426
  {
3270
3427
  "id": "引入",
3271
3428
  "title": "引入",
3272
- "body": "```ts\nimport { MCarousel } from 'morya-ui'\n```"
3429
+ "body": "```ts\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n```"
3273
3430
  },
3274
3431
  {
3275
3432
  "id": "基础用法",
@@ -3279,39 +3436,59 @@
3279
3436
  {
3280
3437
  "id": "autoplay",
3281
3438
  "title": "Autoplay",
3282
- "body": "`autoplay` 按 `interval`(默认 3000ms)自动翻页。`show-arrows` / `show-indicators` 控制箭头与指示点。\n\n```vue preview src=\"./demos/Autoplay.vue\"\n```"
3439
+ "body": "`autoplay` 按 `interval`(默认 5000ms)自动切换;悬停或聚焦时暂停。\n\n```vue preview src=\"./demos/Autoplay.vue\"\n```"
3440
+ },
3441
+ {
3442
+ "id": "过渡效果",
3443
+ "title": "过渡效果",
3444
+ "body": "`effect` 支持 `slide`(默认)、`fade`、`card`。\n\n```vue preview src=\"./demos/Effects.zh.vue\"\n```"
3445
+ },
3446
+ {
3447
+ "id": "多图同屏",
3448
+ "title": "多图同屏",
3449
+ "body": "`slides-per-view` + `space-between` 控制一屏可见数量与间距;可配合 `draggable` 鼠标拖拽。\n\n```vue preview src=\"./demos/MultiView.zh.vue\"\n```"
3450
+ },
3451
+ {
3452
+ "id": "纵向",
3453
+ "title": "纵向",
3454
+ "body": "`direction=\"vertical\"`,指示点可用 `dot-placement` / `dot-type` 调整。\n\n```vue preview src=\"./demos/Vertical.zh.vue\"\n```"
3283
3455
  },
3284
3456
  {
3285
3457
  "id": "props",
3286
3458
  "title": "Props",
3287
- "body": "| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `unknown[]` | — | 内容列表。 |\n| `numVisible` | `number` | `1` | 同时可见项数。 |\n| `circular` | `boolean` | `false` | 循环翻页。 |\n| `autoplay` | `boolean` | `false` | 自动翻页。 |\n| `interval` | `number` | `3000` | 自动翻页间隔(毫秒)。 |\n| `showArrows` | `boolean` | `true` | 显示左右箭头。 |\n| `showIndicators` | `boolean` | `true` | 显示指示点。 |\n| `page` | `number` | — | — |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传,见 [样式与 attrs](/docs/attrs). |"
3459
+ "body": "| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `currentIndex` | `number` | — | 受控当前页,配合 `v-model:currentIndex`。 |\n| `defaultIndex` | `number` | `0` | 非受控初始页。 |\n| `showArrow` | `boolean` | `false` | 显示箭头。 |\n| `showDots` | `boolean` | `true` | 显示指示点。 |\n| `dotType` | `'dot' \\| 'line'` | `'dot'` | 指示点样式。 |\n| `dotPlacement` | `'top' \\| 'bottom' \\| 'left' \\| 'right'` | `'bottom'` | 指示点位置。 |\n| `slidesPerView` | `number \\| 'auto'` | `1` | 一屏可见数量(`slide`)。 |\n| `spaceBetween` | `number` | `0` | 幻灯片间距(px)。 |\n| `centeredSlides` | `boolean` | `false` | 居中当前页。 |\n| `direction` | `'horizontal' \\| 'vertical'` | `'horizontal'` | 方向。 |\n| `autoplay` | `boolean` | `false` | 自动播放。 |\n| `interval` | `number` | `5000` | 自动播放间隔(ms)。 |\n| `loop` | `boolean` | `true` | 循环。 |\n| `effect` | `'slide' \\| 'fade' \\| 'card'` | `'slide'` | 过渡效果。 |\n| `trigger` | `'click' \\| 'hover'` | `'click'` | 指示点触发方式。 |\n| `touchable` | `boolean` | `true` | 触摸滑动。 |\n| `draggable` | `boolean` | `false` | 鼠标拖拽。 |\n| `mousewheel` | `boolean` | `false` | 滚轮切换。 |\n| `keyboard` | `boolean` | `false` | 方向键切换(需聚焦)。 |\n| `transitionDuration` | `number` | `300` | 过渡时长(ms)。 |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传。 |"
3288
3460
  },
3289
3461
  {
3290
3462
  "id": "slots",
3291
3463
  "title": "Slots",
3292
- "body": "| 插槽 | 说明 |\n| --- | --- |\n| `item` | `{ item, index }` 单项。 |"
3464
+ "body": "| 插槽 | 说明 |\n| --- | --- |\n| `default` | 幻灯片内容,建议使用 `MCarouselItem`。 |\n| `arrow` | `{ prev, next, total, currentIndex }` 自定义箭头。 |\n| `dots` | `{ total, currentIndex, to }` 自定义指示点。 |"
3293
3465
  },
3294
3466
  {
3295
3467
  "id": "events",
3296
3468
  "title": "Events",
3297
- "body": "| 事件名 | 参数 | 说明 |\n| --- | --- | --- |\n| `update:page` | `number` | 页码变化。 |"
3469
+ "body": "| 事件名 | 参数 | 说明 |\n| --- | --- | --- |\n| `update:currentIndex` | `(currentIndex, lastIndex)` | 当前页变化。 |"
3470
+ },
3471
+ {
3472
+ "id": "methods",
3473
+ "title": "Methods",
3474
+ "body": "| 方法 | 说明 |\n| --- | --- |\n| `prev()` | 上一页。 |\n| `next()` | 下一页。 |\n| `to(index)` | 跳到指定页。 |\n| `getCurrentIndex()` | 获取当前页。 |"
3298
3475
  }
3299
3476
  ],
3300
- "markdown": "---\ntitle: Carousel\ncategory: 03 / DATA\ndescription: 轮播展示一组内容项。\n---\n\n# Carousel\n\n按 `numVisible` 窗口滑动展示内容。\n\n## 引入\n\n```ts\nimport { MCarousel } from 'morya-ui'\n```\n\n## 基础用法\n\n```vue preview src=\"./demos/Basic.zh.vue\"\n```\n\n## Autoplay\n\n`autoplay` 按 `interval`(默认 3000ms)自动翻页。`show-arrows` / `show-indicators` 控制箭头与指示点。\n\n```vue preview src=\"./demos/Autoplay.vue\"\n```\n\n## Props\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `unknown[]` | — | 内容列表。 |\n| `numVisible` | `number` | `1` | 同时可见项数。 |\n| `circular` | `boolean` | `false` | 循环翻页。 |\n| `autoplay` | `boolean` | `false` | 自动翻页。 |\n| `interval` | `number` | `3000` | 自动翻页间隔(毫秒)。 |\n| `showArrows` | `boolean` | `true` | 显示左右箭头。 |\n| `showIndicators` | `boolean` | `true` | 显示指示点。 |\n| `page` | `number` | — | — |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传,见 [样式与 attrs](/docs/attrs). |\n\n\n## Slots\n\n| 插槽 | 说明 |\n| --- | --- |\n| `item` | `{ item, index }` 单项。 |\n\n## Events\n\n| 事件名 | 参数 | 说明 |\n| --- | --- | --- |\n| `update:page` | `number` | 页码变化。 |\n"
3477
+ "markdown": "---\ntitle: Carousel\ncategory: 03 / DATA\ndescription: 轮播展示一组内容项,支持滑动 / 淡入 / 卡片效果。\n---\n\n# Carousel\n\n支持默认插槽 + `MCarouselItem`、多种过渡、指示点样式与方位、触摸/拖拽/滚轮/键盘、自动播放。\n\n## 引入\n\n```ts\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n```\n\n## 基础用法\n\n```vue preview src=\"./demos/Basic.zh.vue\"\n```\n\n## Autoplay\n\n`autoplay` 按 `interval`(默认 5000ms)自动切换;悬停或聚焦时暂停。\n\n```vue preview src=\"./demos/Autoplay.vue\"\n```\n\n## 过渡效果\n\n`effect` 支持 `slide`(默认)、`fade`、`card`。\n\n```vue preview src=\"./demos/Effects.zh.vue\"\n```\n\n## 多图同屏\n\n`slides-per-view` + `space-between` 控制一屏可见数量与间距;可配合 `draggable` 鼠标拖拽。\n\n```vue preview src=\"./demos/MultiView.zh.vue\"\n```\n\n## 纵向\n\n`direction=\"vertical\"`,指示点可用 `dot-placement` / `dot-type` 调整。\n\n```vue preview src=\"./demos/Vertical.zh.vue\"\n```\n\n## Props\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `currentIndex` | `number` | — | 受控当前页,配合 `v-model:currentIndex`。 |\n| `defaultIndex` | `number` | `0` | 非受控初始页。 |\n| `showArrow` | `boolean` | `false` | 显示箭头。 |\n| `showDots` | `boolean` | `true` | 显示指示点。 |\n| `dotType` | `'dot' \\| 'line'` | `'dot'` | 指示点样式。 |\n| `dotPlacement` | `'top' \\| 'bottom' \\| 'left' \\| 'right'` | `'bottom'` | 指示点位置。 |\n| `slidesPerView` | `number \\| 'auto'` | `1` | 一屏可见数量(`slide`)。 |\n| `spaceBetween` | `number` | `0` | 幻灯片间距(px)。 |\n| `centeredSlides` | `boolean` | `false` | 居中当前页。 |\n| `direction` | `'horizontal' \\| 'vertical'` | `'horizontal'` | 方向。 |\n| `autoplay` | `boolean` | `false` | 自动播放。 |\n| `interval` | `number` | `5000` | 自动播放间隔(ms)。 |\n| `loop` | `boolean` | `true` | 循环。 |\n| `effect` | `'slide' \\| 'fade' \\| 'card'` | `'slide'` | 过渡效果。 |\n| `trigger` | `'click' \\| 'hover'` | `'click'` | 指示点触发方式。 |\n| `touchable` | `boolean` | `true` | 触摸滑动。 |\n| `draggable` | `boolean` | `false` | 鼠标拖拽。 |\n| `mousewheel` | `boolean` | `false` | 滚轮切换。 |\n| `keyboard` | `boolean` | `false` | 方向键切换(需聚焦)。 |\n| `transitionDuration` | `number` | `300` | 过渡时长(ms)。 |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传。 |\n\n## Slots\n\n| 插槽 | 说明 |\n| --- | --- |\n| `default` | 幻灯片内容,建议使用 `MCarouselItem`。 |\n| `arrow` | `{ prev, next, total, currentIndex }` 自定义箭头。 |\n| `dots` | `{ total, currentIndex, to }` 自定义指示点。 |\n\n## Events\n\n| 事件名 | 参数 | 说明 |\n| --- | --- | --- |\n| `update:currentIndex` | `(currentIndex, lastIndex)` | 当前页变化。 |\n\n## Methods\n\n| 方法 | 说明 |\n| --- | --- |\n| `prev()` | 上一页。 |\n| `next()` | 下一页。 |\n| `to(index)` | 跳到指定页。 |\n| `getCurrentIndex()` | 获取当前页。 |\n"
3301
3478
  },
3302
3479
  "en-US": {
3303
3480
  "title": "Carousel",
3304
- "description": "Carousel for a set of content items.",
3481
+ "description": "Carousel for a set of content items with slide / fade / card effects.",
3305
3482
  "sections": [
3306
3483
  {
3307
3484
  "id": "overview",
3308
3485
  "title": "",
3309
- "body": "# Carousel\n\nSlides content in a window of `numVisible` items."
3486
+ "body": "# Carousel\n\nSupports a default slot + `MCarouselItem`, multiple effects, dot styles/placement, touch/drag/wheel/keyboard, and autoplay."
3310
3487
  },
3311
3488
  {
3312
3489
  "id": "import",
3313
3490
  "title": "Import",
3314
- "body": "```ts\nimport { MCarousel } from 'morya-ui'\n```"
3491
+ "body": "```ts\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n```"
3315
3492
  },
3316
3493
  {
3317
3494
  "id": "basic",
@@ -3321,25 +3498,45 @@
3321
3498
  {
3322
3499
  "id": "autoplay",
3323
3500
  "title": "Autoplay",
3324
- "body": "`autoplay` advances pages every `interval` (default 3000ms). `show-arrows` / `show-indicators` control arrows and dots.\n\n```vue preview src=\"./demos/Autoplay.vue\"\n```"
3501
+ "body": "`autoplay` advances every `interval` (default 5000ms). Pauses on hover/focus.\n\n```vue preview src=\"./demos/Autoplay.vue\"\n```"
3502
+ },
3503
+ {
3504
+ "id": "effects",
3505
+ "title": "Effects",
3506
+ "body": "`effect` supports `slide` (default), `fade`, and `card`.\n\n```vue preview src=\"./demos/Effects.en.vue\"\n```"
3507
+ },
3508
+ {
3509
+ "id": "multiple-slides",
3510
+ "title": "Multiple slides",
3511
+ "body": "Use `slides-per-view` + `space-between`. Enable `draggable` for mouse drag.\n\n```vue preview src=\"./demos/MultiView.en.vue\"\n```"
3512
+ },
3513
+ {
3514
+ "id": "vertical",
3515
+ "title": "Vertical",
3516
+ "body": "Set `direction=\"vertical\"`. Tune dots with `dot-placement` / `dot-type`.\n\n```vue preview src=\"./demos/Vertical.en.vue\"\n```"
3325
3517
  },
3326
3518
  {
3327
3519
  "id": "props",
3328
3520
  "title": "Props",
3329
- "body": "| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `unknown[]` | — | Content list. |\n| `numVisible` | `number` | `1` | Number of items visible at once. |\n| `circular` | `boolean` | `false` | Loop paging. |\n| `autoplay` | `boolean` | `false` | Auto-advance. |\n| `interval` | `number` | `3000` | Autoplay interval in milliseconds. |\n| `showArrows` | `boolean` | `true` | Show prev/next arrows. |\n| `showIndicators` | `boolean` | `true` | Show page dots. |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | Pass-through; see [Styling & attrs](/docs/attrs). |"
3521
+ "body": "| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `currentIndex` | `number` | — | Controlled index (`v-model:currentIndex`). |\n| `defaultIndex` | `number` | `0` | Uncontrolled initial index. |\n| `showArrow` | `boolean` | `false` | Show arrows. |\n| `showDots` | `boolean` | `true` | Show dots. |\n| `dotType` | `'dot' \\| 'line'` | `'dot'` | Dot style. |\n| `dotPlacement` | `'top' \\| 'bottom' \\| 'left' \\| 'right'` | `'bottom'` | Dot placement. |\n| `slidesPerView` | `number \\| 'auto'` | `1` | Visible slides (`slide`). |\n| `spaceBetween` | `number` | `0` | Gap between slides (px). |\n| `centeredSlides` | `boolean` | `false` | Center the active slide. |\n| `direction` | `'horizontal' \\| 'vertical'` | `'horizontal'` | Orientation. |\n| `autoplay` | `boolean` | `false` | Auto play. |\n| `interval` | `number` | `5000` | Autoplay interval (ms). |\n| `loop` | `boolean` | `true` | Loop. |\n| `effect` | `'slide' \\| 'fade' \\| 'card'` | `'slide'` | Transition effect. |\n| `trigger` | `'click' \\| 'hover'` | `'click'` | How dots activate slides. |\n| `touchable` | `boolean` | `true` | Touch swipe. |\n| `draggable` | `boolean` | `false` | Mouse drag. |\n| `mousewheel` | `boolean` | `false` | Mouse wheel. |\n| `keyboard` | `boolean` | `false` | Arrow keys when focused. |\n| `transitionDuration` | `number` | `300` | Transition duration (ms). |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM pass-through. |"
3330
3522
  },
3331
3523
  {
3332
3524
  "id": "slots",
3333
3525
  "title": "Slots",
3334
- "body": "| Slot | Description |\n| --- | --- |\n| `item` | `{ item, index }` for each item. |"
3526
+ "body": "| Slot | Description |\n| --- | --- |\n| `default` | Slides; prefer `MCarouselItem`. |\n| `arrow` | `{ prev, next, total, currentIndex }` custom arrows. |\n| `dots` | `{ total, currentIndex, to }` custom dots. |"
3335
3527
  },
3336
3528
  {
3337
3529
  "id": "events",
3338
3530
  "title": "Events",
3339
- "body": "| Event | Prop | Description |\n| --- | --- | --- |\n| `update:page` | `number` | Page change. |"
3531
+ "body": "| Event | Payload | Description |\n| --- | --- | --- |\n| `update:currentIndex` | `(currentIndex, lastIndex)` | Active index changed. |"
3532
+ },
3533
+ {
3534
+ "id": "methods",
3535
+ "title": "Methods",
3536
+ "body": "| Method | Description |\n| --- | --- |\n| `prev()` | Go to previous. |\n| `next()` | Go to next. |\n| `to(index)` | Jump to index. |\n| `getCurrentIndex()` | Read current index. |"
3340
3537
  }
3341
3538
  ],
3342
- "markdown": "---\ntitle: Carousel\ncategory: 03 / DATA\ndescription: Carousel for a set of content items.\n---\n\n# Carousel\n\nSlides content in a window of `numVisible` items.\n\n## Import\n\n```ts\nimport { MCarousel } from 'morya-ui'\n```\n\n## Basic\n\n```vue preview src=\"./demos/Basic.en.vue\"\n```\n\n## Autoplay\n\n`autoplay` advances pages every `interval` (default 3000ms). `show-arrows` / `show-indicators` control arrows and dots.\n\n```vue preview src=\"./demos/Autoplay.vue\"\n```\n\n## Props\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `unknown[]` | — | Content list. |\n| `numVisible` | `number` | `1` | Number of items visible at once. |\n| `circular` | `boolean` | `false` | Loop paging. |\n| `autoplay` | `boolean` | `false` | Auto-advance. |\n| `interval` | `number` | `3000` | Autoplay interval in milliseconds. |\n| `showArrows` | `boolean` | `true` | Show prev/next arrows. |\n| `showIndicators` | `boolean` | `true` | Show page dots. |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | Pass-through; see [Styling & attrs](/docs/attrs). |\n\n\n## Slots\n\n| Slot | Description |\n| --- | --- |\n| `item` | `{ item, index }` for each item. |\n\n## Events\n\n| Event | Prop | Description |\n| --- | --- | --- |\n| `update:page` | `number` | Page change. |\n"
3539
+ "markdown": "---\ntitle: Carousel\ncategory: 03 / DATA\ndescription: Carousel for a set of content items with slide / fade / card effects.\n---\n\n# Carousel\n\nSupports a default slot + `MCarouselItem`, multiple effects, dot styles/placement, touch/drag/wheel/keyboard, and autoplay.\n\n## Import\n\n```ts\nimport { MCarousel, MCarouselItem } from 'morya-ui'\n```\n\n## Basic\n\n```vue preview src=\"./demos/Basic.en.vue\"\n```\n\n## Autoplay\n\n`autoplay` advances every `interval` (default 5000ms). Pauses on hover/focus.\n\n```vue preview src=\"./demos/Autoplay.vue\"\n```\n\n## Effects\n\n`effect` supports `slide` (default), `fade`, and `card`.\n\n```vue preview src=\"./demos/Effects.en.vue\"\n```\n\n## Multiple slides\n\nUse `slides-per-view` + `space-between`. Enable `draggable` for mouse drag.\n\n```vue preview src=\"./demos/MultiView.en.vue\"\n```\n\n## Vertical\n\nSet `direction=\"vertical\"`. Tune dots with `dot-placement` / `dot-type`.\n\n```vue preview src=\"./demos/Vertical.en.vue\"\n```\n\n## Props\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `currentIndex` | `number` | — | Controlled index (`v-model:currentIndex`). |\n| `defaultIndex` | `number` | `0` | Uncontrolled initial index. |\n| `showArrow` | `boolean` | `false` | Show arrows. |\n| `showDots` | `boolean` | `true` | Show dots. |\n| `dotType` | `'dot' \\| 'line'` | `'dot'` | Dot style. |\n| `dotPlacement` | `'top' \\| 'bottom' \\| 'left' \\| 'right'` | `'bottom'` | Dot placement. |\n| `slidesPerView` | `number \\| 'auto'` | `1` | Visible slides (`slide`). |\n| `spaceBetween` | `number` | `0` | Gap between slides (px). |\n| `centeredSlides` | `boolean` | `false` | Center the active slide. |\n| `direction` | `'horizontal' \\| 'vertical'` | `'horizontal'` | Orientation. |\n| `autoplay` | `boolean` | `false` | Auto play. |\n| `interval` | `number` | `5000` | Autoplay interval (ms). |\n| `loop` | `boolean` | `true` | Loop. |\n| `effect` | `'slide' \\| 'fade' \\| 'card'` | `'slide'` | Transition effect. |\n| `trigger` | `'click' \\| 'hover'` | `'click'` | How dots activate slides. |\n| `touchable` | `boolean` | `true` | Touch swipe. |\n| `draggable` | `boolean` | `false` | Mouse drag. |\n| `mousewheel` | `boolean` | `false` | Mouse wheel. |\n| `keyboard` | `boolean` | `false` | Arrow keys when focused. |\n| `transitionDuration` | `number` | `300` | Transition duration (ms). |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM pass-through. |\n\n## Slots\n\n| Slot | Description |\n| --- | --- |\n| `default` | Slides; prefer `MCarouselItem`. |\n| `arrow` | `{ prev, next, total, currentIndex }` custom arrows. |\n| `dots` | `{ total, currentIndex, to }` custom dots. |\n\n## Events\n\n| Event | Payload | Description |\n| --- | --- | --- |\n| `update:currentIndex` | `(currentIndex, lastIndex)` | Active index changed. |\n\n## Methods\n\n| Method | Description |\n| --- | --- |\n| `prev()` | Go to previous. |\n| `next()` | Go to next. |\n| `to(index)` | Jump to index. |\n| `getCurrentIndex()` | Read current index. |\n"
3343
3540
  }
3344
3541
  }
3345
3542
  },
@@ -4064,6 +4261,12 @@
4064
4261
  "type": "'small' | 'large' | 'sm' | 'md' | 'lg'",
4065
4262
  "default": "—",
4066
4263
  "description": "尺寸。"
4264
+ },
4265
+ {
4266
+ "name": "pt",
4267
+ "type": "[RootPassThrough](/docs/types#RootPassThrough) `{ root? }",
4268
+ "default": "—",
4269
+ "description": "DOM 透传,见 [样式与 attrs](/docs/attrs)."
4067
4270
  }
4068
4271
  ],
4069
4272
  "events": [
@@ -4145,7 +4348,7 @@
4145
4348
  {
4146
4349
  "id": "props",
4147
4350
  "title": "Props",
4148
- "body": "| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `label` | `string` | — | 芯片文案。 |\n| `icon` | [IconName](/docs/types#IconName) | — | 前置图标名称。 |\n| `image` | `string` | — | 前置图片 URL(优先于 icon)。 |\n| `removable` | `boolean` | `false` | 显示 × 移除按钮。 |\n| `disabled` | `boolean` | `false` | 禁用交互。 |\n| `severity` | `MTagSeverity \\| 'warning'` | — | 语义色。 |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | — | 尺寸。 |"
4351
+ "body": "| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `label` | `string` | — | 芯片文案。 |\n| `icon` | [IconName](/docs/types#IconName) | — | 前置图标名称。 |\n| `image` | `string` | — | 前置图片 URL(优先于 icon)。 |\n| `removable` | `boolean` | `false` | 显示 × 移除按钮。 |\n| `disabled` | `boolean` | `false` | 禁用交互。 |\n| `severity` | `MTagSeverity \\| 'warning'` | — | 语义色。 |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | — | 尺寸。 |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传,见 [样式与 attrs](/docs/attrs). |"
4149
4352
  },
4150
4353
  {
4151
4354
  "id": "events",
@@ -4158,7 +4361,7 @@
4158
4361
  "body": "| 插槽名 | 说明 |\n| --- | --- |\n| `default` | 标签内容。 |\n| `icon` | 前置图标。 |"
4159
4362
  }
4160
4363
  ],
4161
- "markdown": "---\ntitle: Chip\ncategory: 01 / BASIC\ndescription: 芯片用于展示标签化信息,可带图标、图片与移除操作。\n---\n\n# Chip\n\n芯片用于展示简短标签信息,可选图标/图片与移除按钮。\n\n## 引入\n\n```ts\nimport { MChip } from 'morya-ui'\n```\n\n## 基础用法\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Props\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `label` | `string` | — | 芯片文案。 |\n| `icon` | [IconName](/docs/types#IconName) | — | 前置图标名称。 |\n| `image` | `string` | — | 前置图片 URL(优先于 icon)。 |\n| `removable` | `boolean` | `false` | 显示 × 移除按钮。 |\n| `disabled` | `boolean` | `false` | 禁用交互。 |\n| `severity` | `MTagSeverity \\| 'warning'` | — | 语义色。 |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | — | 尺寸。 |\n\n\n## Events\n\n| 事件名 | 参数 | 说明 |\n| --- | --- | --- |\n| `remove` | `MouseEvent` | 点击移除按钮时触发。 |\n\n## Slots\n\n| 插槽名 | 说明 |\n| --- | --- |\n| `default` | 标签内容。 |\n| `icon` | 前置图标。 |\n"
4364
+ "markdown": "---\ntitle: Chip\ncategory: 01 / BASIC\ndescription: 芯片用于展示标签化信息,可带图标、图片与移除操作。\n---\n\n# Chip\n\n芯片用于展示简短标签信息,可选图标/图片与移除按钮。\n\n## 引入\n\n```ts\nimport { MChip } from 'morya-ui'\n```\n\n## 基础用法\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Props\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `label` | `string` | — | 芯片文案。 |\n| `icon` | [IconName](/docs/types#IconName) | — | 前置图标名称。 |\n| `image` | `string` | — | 前置图片 URL(优先于 icon)。 |\n| `removable` | `boolean` | `false` | 显示 × 移除按钮。 |\n| `disabled` | `boolean` | `false` | 禁用交互。 |\n| `severity` | `MTagSeverity \\| 'warning'` | — | 语义色。 |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | — | 尺寸。 |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传,见 [样式与 attrs](/docs/attrs). |\n\n\n## Events\n\n| 事件名 | 参数 | 说明 |\n| --- | --- | --- |\n| `remove` | `MouseEvent` | 点击移除按钮时触发。 |\n\n## Slots\n\n| 插槽名 | 说明 |\n| --- | --- |\n| `default` | 标签内容。 |\n| `icon` | 前置图标。 |\n"
4162
4365
  },
4163
4366
  "en-US": {
4164
4367
  "title": "Chip",
@@ -4182,7 +4385,7 @@
4182
4385
  {
4183
4386
  "id": "props",
4184
4387
  "title": "Props",
4185
- "body": "| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `label` | `string` | 鈥?| Chip text. |\n| `icon` | [IconName](/docs/types#IconName) | 鈥?| Leading icon name. |\n| `image` | `string` | 鈥?| Leading image URL (takes precedence over icon). |\n| `removable` | `boolean` | `false` | Show 脳 remove button. |\n| `disabled` | `boolean` | `false` | Disable interaction. |\n| `severity` | `MTagSeverity \\| 'warning'` | 鈥?| Semantic color. |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | 鈥?| Size. |"
4388
+ "body": "| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `label` | `string` | 鈥?| Chip text. |\n| `icon` | [IconName](/docs/types#IconName) | 鈥?| Leading icon name. |\n| `image` | `string` | 鈥?| Leading image URL (takes precedence over icon). |\n| `removable` | `boolean` | `false` | Show 脳 remove button. |\n| `disabled` | `boolean` | `false` | Disable interaction. |\n| `severity` | `MTagSeverity \\| 'warning'` | 鈥?| Semantic color. |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | 鈥?| Size. |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM pass-through; see [attrs](/docs/attrs). |"
4186
4389
  },
4187
4390
  {
4188
4391
  "id": "events",
@@ -4195,7 +4398,7 @@
4195
4398
  "body": "| Slot | Description |\n| --- | --- |\n| `default` | Label content. |\n| `icon` | Leading icon. |"
4196
4399
  }
4197
4400
  ],
4198
- "markdown": "---\ntitle: Chip\ncategory: 01 / BASIC\ndescription: Chip displays tagged information, optionally with an icon, image, and remove action.\n---\n\n# Chip\n\nChip displays short tagged information, with optional icon/image and a remove button.\n\n## Import\n\n```ts\nimport { MChip } from 'morya-ui'\n```\n\n## Basic\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Props\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `label` | `string` | 鈥?| Chip text. |\n| `icon` | [IconName](/docs/types#IconName) | 鈥?| Leading icon name. |\n| `image` | `string` | 鈥?| Leading image URL (takes precedence over icon). |\n| `removable` | `boolean` | `false` | Show 脳 remove button. |\n| `disabled` | `boolean` | `false` | Disable interaction. |\n| `severity` | `MTagSeverity \\| 'warning'` | 鈥?| Semantic color. |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | 鈥?| Size. |\n\n\n## Events\n\n| Event | Prop | Description |\n| --- | --- | --- |\n| `remove` | `MouseEvent` | Fired when the remove button is clicked. |\n\n## Slots\n\n| Slot | Description |\n| --- | --- |\n| `default` | Label content. |\n| `icon` | Leading icon. |\n"
4401
+ "markdown": "---\ntitle: Chip\ncategory: 01 / BASIC\ndescription: Chip displays tagged information, optionally with an icon, image, and remove action.\n---\n\n# Chip\n\nChip displays short tagged information, with optional icon/image and a remove button.\n\n## Import\n\n```ts\nimport { MChip } from 'morya-ui'\n```\n\n## Basic\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Props\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `label` | `string` | 鈥?| Chip text. |\n| `icon` | [IconName](/docs/types#IconName) | 鈥?| Leading icon name. |\n| `image` | `string` | 鈥?| Leading image URL (takes precedence over icon). |\n| `removable` | `boolean` | `false` | Show 脳 remove button. |\n| `disabled` | `boolean` | `false` | Disable interaction. |\n| `severity` | `MTagSeverity \\| 'warning'` | 鈥?| Semantic color. |\n| `size` | `'small' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | 鈥?| Size. |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM pass-through; see [attrs](/docs/attrs). |\n\n\n## Events\n\n| Event | Prop | Description |\n| --- | --- | --- |\n| `remove` | `MouseEvent` | Fired when the remove button is clicked. |\n\n## Slots\n\n| Slot | Description |\n| --- | --- |\n| `default` | Label content. |\n| `icon` | Leading icon. |\n"
4199
4402
  }
4200
4403
  }
4201
4404
  },
@@ -7236,6 +7439,12 @@
7236
7439
  "type": "string",
7237
7440
  "default": "—",
7238
7441
  "description": "中间标签文案。存在默认插槽时以插槽为准。"
7442
+ },
7443
+ {
7444
+ "name": "pt",
7445
+ "type": "[RootPassThrough](/docs/types#RootPassThrough) `{ root? }",
7446
+ "default": "—",
7447
+ "description": "DOM 透传,见 [样式与 attrs](/docs/attrs)."
7239
7448
  }
7240
7449
  ],
7241
7450
  "events": [],
@@ -7422,7 +7631,7 @@
7422
7631
  {
7423
7632
  "id": "props",
7424
7633
  "title": "Props",
7425
- "body": "| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `layout` | `'horizontal' \\| 'vertical'` | `'horizontal'` | 布局方向。 |\n| `orientation` | `'horizontal' \\| 'vertical'` | — | `layout` 的别名。 |\n| `type` | `'solid' \\| 'dashed' \\| 'dotted'` | `'solid'` | 线条样式(含虚线 / 点线)。 |\n| `align` | `'left' \\| 'center' \\| 'right'` | `'center'` | 水平分隔带标签时的标签对齐。 |\n| `titlePlacement` | `'left' \\| 'center' \\| 'right'` | — | `align` 的别名;传入时优先。 |\n| `plain` | `boolean` | `false` | 标签使用正文样式。 |\n| `size` | `'small' \\| 'medium' \\| 'large'` | — | 水平分隔的上下间距(`--m-space-*`)。 |\n| `label` | `string` | — | 中间标签文案。存在默认插槽时以插槽为准。 |"
7634
+ "body": "| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `layout` | `'horizontal' \\| 'vertical'` | `'horizontal'` | 布局方向。 |\n| `orientation` | `'horizontal' \\| 'vertical'` | — | `layout` 的别名。 |\n| `type` | `'solid' \\| 'dashed' \\| 'dotted'` | `'solid'` | 线条样式(含虚线 / 点线)。 |\n| `align` | `'left' \\| 'center' \\| 'right'` | `'center'` | 水平分隔带标签时的标签对齐。 |\n| `titlePlacement` | `'left' \\| 'center' \\| 'right'` | — | `align` 的别名;传入时优先。 |\n| `plain` | `boolean` | `false` | 标签使用正文样式。 |\n| `size` | `'small' \\| 'medium' \\| 'large'` | — | 水平分隔的上下间距(`--m-space-*`)。 |\n| `label` | `string` | — | 中间标签文案。存在默认插槽时以插槽为准。 |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传,见 [样式与 attrs](/docs/attrs). |"
7426
7635
  },
7427
7636
  {
7428
7637
  "id": "slots",
@@ -7435,7 +7644,7 @@
7435
7644
  "body": "无自定义事件。"
7436
7645
  }
7437
7646
  ],
7438
- "markdown": "---\ntitle: Divider\ncategory: 01 / BASIC\ndescription: 内容分隔线。\n---\n\n# Divider\n\n内容分隔线,可带标签。\n\n## 引入\n\n```ts\nimport { MDivider } from 'morya-ui'\n```\n\n## 基础用法\n\n默认水平实线分隔。\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Type\n\n`type` 支持 `solid`、`dashed`、`dotted`。\n\n```vue preview src=\"./demos/Type.vue\"\n```\n\n## Align\n\n水平分隔且带标签时,可用 `align` 控制标签位置。\n\n```vue preview src=\"./demos/Align.vue\"\n```\n\n## Title placement\n\n`titlePlacement` 是 `align` 的别名。\n\n```vue preview src=\"./demos/TitlePlacement.vue\"\n```\n\n## Layout\n\n`layout` 控制水平 / 垂直;`orientation` 为别名。\n\n```vue preview src=\"./demos/Layout.vue\"\n```\n\n## Plain\n\n`plain` 让标签使用正文样式(默认偏标题字重)。\n\n```vue preview src=\"./demos/Plain.vue\"\n```\n\n## Props\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `layout` | `'horizontal' \\| 'vertical'` | `'horizontal'` | 布局方向。 |\n| `orientation` | `'horizontal' \\| 'vertical'` | — | `layout` 的别名。 |\n| `type` | `'solid' \\| 'dashed' \\| 'dotted'` | `'solid'` | 线条样式(含虚线 / 点线)。 |\n| `align` | `'left' \\| 'center' \\| 'right'` | `'center'` | 水平分隔带标签时的标签对齐。 |\n| `titlePlacement` | `'left' \\| 'center' \\| 'right'` | — | `align` 的别名;传入时优先。 |\n| `plain` | `boolean` | `false` | 标签使用正文样式。 |\n| `size` | `'small' \\| 'medium' \\| 'large'` | — | 水平分隔的上下间距(`--m-space-*`)。 |\n| `label` | `string` | — | 中间标签文案。存在默认插槽时以插槽为准。 |\n\n\n## Slots\n\n| 插槽名 | 说明 |\n| --- | --- |\n| `default` | 标签内容,优先于 `label`。 |\n\n## Events\n\n无自定义事件。\n"
7647
+ "markdown": "---\ntitle: Divider\ncategory: 01 / BASIC\ndescription: 内容分隔线。\n---\n\n# Divider\n\n内容分隔线,可带标签。\n\n## 引入\n\n```ts\nimport { MDivider } from 'morya-ui'\n```\n\n## 基础用法\n\n默认水平实线分隔。\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Type\n\n`type` 支持 `solid`、`dashed`、`dotted`。\n\n```vue preview src=\"./demos/Type.vue\"\n```\n\n## Align\n\n水平分隔且带标签时,可用 `align` 控制标签位置。\n\n```vue preview src=\"./demos/Align.vue\"\n```\n\n## Title placement\n\n`titlePlacement` 是 `align` 的别名。\n\n```vue preview src=\"./demos/TitlePlacement.vue\"\n```\n\n## Layout\n\n`layout` 控制水平 / 垂直;`orientation` 为别名。\n\n```vue preview src=\"./demos/Layout.vue\"\n```\n\n## Plain\n\n`plain` 让标签使用正文样式(默认偏标题字重)。\n\n```vue preview src=\"./demos/Plain.vue\"\n```\n\n## Props\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `layout` | `'horizontal' \\| 'vertical'` | `'horizontal'` | 布局方向。 |\n| `orientation` | `'horizontal' \\| 'vertical'` | — | `layout` 的别名。 |\n| `type` | `'solid' \\| 'dashed' \\| 'dotted'` | `'solid'` | 线条样式(含虚线 / 点线)。 |\n| `align` | `'left' \\| 'center' \\| 'right'` | `'center'` | 水平分隔带标签时的标签对齐。 |\n| `titlePlacement` | `'left' \\| 'center' \\| 'right'` | — | `align` 的别名;传入时优先。 |\n| `plain` | `boolean` | `false` | 标签使用正文样式。 |\n| `size` | `'small' \\| 'medium' \\| 'large'` | — | 水平分隔的上下间距(`--m-space-*`)。 |\n| `label` | `string` | — | 中间标签文案。存在默认插槽时以插槽为准。 |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传,见 [样式与 attrs](/docs/attrs). |\n\n\n## Slots\n\n| 插槽名 | 说明 |\n| --- | --- |\n| `default` | 标签内容,优先于 `label`。 |\n\n## Events\n\n无自定义事件。\n"
7439
7648
  },
7440
7649
  "en-US": {
7441
7650
  "title": "Divider",
@@ -7484,7 +7693,7 @@
7484
7693
  {
7485
7694
  "id": "props",
7486
7695
  "title": "Props",
7487
- "body": "| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `layout` | `'horizontal' \\| 'vertical'` | `'horizontal'` | Layout direction. |\n| `orientation` | `'horizontal' \\| 'vertical'` | 鈥?| Alias of `layout`. |\n| `type` | `'solid' \\| 'dashed' \\| 'dotted'` | `'solid'` | Line style (solid / dashed / dotted). |\n| `align` | `'left' \\| 'center' \\| 'right'` | `'center'` | Label alignment for a horizontal divider with a label. |\n| `titlePlacement` | `'left' \\| 'center' \\| 'right'` | 鈥?| Alias of `align`; takes precedence when set. |\n| `plain` | `boolean` | `false` | Use body text style for the label. |\n| `size` | `'small' \\| 'medium' \\| 'large'` | 鈥?| Vertical margin for horizontal dividers (`--m-space-*`). |\n| `label` | `string` | 鈥?| Center label text. The default slot takes precedence when present. |"
7696
+ "body": "| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `layout` | `'horizontal' \\| 'vertical'` | `'horizontal'` | Layout direction. |\n| `orientation` | `'horizontal' \\| 'vertical'` | 鈥?| Alias of `layout`. |\n| `type` | `'solid' \\| 'dashed' \\| 'dotted'` | `'solid'` | Line style (solid / dashed / dotted). |\n| `align` | `'left' \\| 'center' \\| 'right'` | `'center'` | Label alignment for a horizontal divider with a label. |\n| `titlePlacement` | `'left' \\| 'center' \\| 'right'` | 鈥?| Alias of `align`; takes precedence when set. |\n| `plain` | `boolean` | `false` | Use body text style for the label. |\n| `size` | `'small' \\| 'medium' \\| 'large'` | 鈥?| Vertical margin for horizontal dividers (`--m-space-*`). |\n| `label` | `string` | 鈥?| Center label text. The default slot takes precedence when present. |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM pass-through; see [attrs](/docs/attrs). |"
7488
7697
  },
7489
7698
  {
7490
7699
  "id": "slots",
@@ -7497,7 +7706,7 @@
7497
7706
  "body": "No custom events."
7498
7707
  }
7499
7708
  ],
7500
- "markdown": "---\ntitle: Divider\ncategory: 01 / BASIC\ndescription: Content divider.\n---\n\n# Divider\n\nContent divider, optionally with a label.\n\n## Import\n\n```ts\nimport { MDivider } from 'morya-ui'\n```\n\n## Basic\n\nDefault horizontal solid divider.\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Type\n\n`type` supports `solid`, `dashed`, and `dotted`.\n\n```vue preview src=\"./demos/Type.vue\"\n```\n\n## Align\n\nWhen the divider is horizontal and has a label, use `align` to control the label position.\n\n```vue preview src=\"./demos/Align.vue\"\n```\n\n## Title placement\n\n`titlePlacement` is an alias of `align`.\n\n```vue preview src=\"./demos/TitlePlacement.vue\"\n```\n\n## Layout\n\n`layout` controls horizontal / vertical; `orientation` is an alias.\n\n```vue preview src=\"./demos/Layout.vue\"\n```\n\n## Plain\n\n`plain` uses body text styling for the label (default is stronger heading weight).\n\n```vue preview src=\"./demos/Plain.vue\"\n```\n\n## Props\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `layout` | `'horizontal' \\| 'vertical'` | `'horizontal'` | Layout direction. |\n| `orientation` | `'horizontal' \\| 'vertical'` | 鈥?| Alias of `layout`. |\n| `type` | `'solid' \\| 'dashed' \\| 'dotted'` | `'solid'` | Line style (solid / dashed / dotted). |\n| `align` | `'left' \\| 'center' \\| 'right'` | `'center'` | Label alignment for a horizontal divider with a label. |\n| `titlePlacement` | `'left' \\| 'center' \\| 'right'` | 鈥?| Alias of `align`; takes precedence when set. |\n| `plain` | `boolean` | `false` | Use body text style for the label. |\n| `size` | `'small' \\| 'medium' \\| 'large'` | 鈥?| Vertical margin for horizontal dividers (`--m-space-*`). |\n| `label` | `string` | 鈥?| Center label text. The default slot takes precedence when present. |\n\n\n## Slots\n\n| Slot | Description |\n| --- | --- |\n| `default` | Label content, takes precedence over `label`. |\n\n## Events\n\nNo custom events.\n"
7709
+ "markdown": "---\ntitle: Divider\ncategory: 01 / BASIC\ndescription: Content divider.\n---\n\n# Divider\n\nContent divider, optionally with a label.\n\n## Import\n\n```ts\nimport { MDivider } from 'morya-ui'\n```\n\n## Basic\n\nDefault horizontal solid divider.\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Type\n\n`type` supports `solid`, `dashed`, and `dotted`.\n\n```vue preview src=\"./demos/Type.vue\"\n```\n\n## Align\n\nWhen the divider is horizontal and has a label, use `align` to control the label position.\n\n```vue preview src=\"./demos/Align.vue\"\n```\n\n## Title placement\n\n`titlePlacement` is an alias of `align`.\n\n```vue preview src=\"./demos/TitlePlacement.vue\"\n```\n\n## Layout\n\n`layout` controls horizontal / vertical; `orientation` is an alias.\n\n```vue preview src=\"./demos/Layout.vue\"\n```\n\n## Plain\n\n`plain` uses body text styling for the label (default is stronger heading weight).\n\n```vue preview src=\"./demos/Plain.vue\"\n```\n\n## Props\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `layout` | `'horizontal' \\| 'vertical'` | `'horizontal'` | Layout direction. |\n| `orientation` | `'horizontal' \\| 'vertical'` | 鈥?| Alias of `layout`. |\n| `type` | `'solid' \\| 'dashed' \\| 'dotted'` | `'solid'` | Line style (solid / dashed / dotted). |\n| `align` | `'left' \\| 'center' \\| 'right'` | `'center'` | Label alignment for a horizontal divider with a label. |\n| `titlePlacement` | `'left' \\| 'center' \\| 'right'` | 鈥?| Alias of `align`; takes precedence when set. |\n| `plain` | `boolean` | `false` | Use body text style for the label. |\n| `size` | `'small' \\| 'medium' \\| 'large'` | 鈥?| Vertical margin for horizontal dividers (`--m-space-*`). |\n| `label` | `string` | 鈥?| Center label text. The default slot takes precedence when present. |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM pass-through; see [attrs](/docs/attrs). |\n\n\n## Slots\n\n| Slot | Description |\n| --- | --- |\n| `default` | Label content, takes precedence over `label`. |\n\n## Events\n\nNo custom events.\n"
7501
7710
  }
7502
7711
  }
7503
7712
  },
@@ -19173,6 +19382,12 @@
19173
19382
  "type": "string",
19174
19383
  "default": "—",
19175
19384
  "description": "自定义填充色。"
19385
+ },
19386
+ {
19387
+ "name": "pt",
19388
+ "type": "[RootPassThrough](/docs/types#RootPassThrough) `{ root? }",
19389
+ "default": "—",
19390
+ "description": "DOM 透传,见 [样式与 attrs](/docs/attrs)."
19176
19391
  }
19177
19392
  ],
19178
19393
  "events": [],
@@ -19262,7 +19477,7 @@
19262
19477
  {
19263
19478
  "id": "props",
19264
19479
  "title": "Props",
19265
- "body": "| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `number` | `0` | 进度 0–100(determinate)。 |\n| `mode` | `'determinate' \\| 'indeterminate'` | `'determinate'` | 确定 / 不确定模式。 |\n| `showValue` | `boolean` | `true` | 是否显示百分比文案。 |\n| `type` | `'line' \\| 'circle'` | `'line'` | 线形或环形。 |\n| `status` | `'success' \\| 'info' \\| 'warning' \\| 'danger' \\| 'exception' \\| 'active' \\| 'normal' \\| …` | — | 语义色。`exception`→danger;`active`→线形条纹动效;`normal`→主色。 |\n| `color` | `string` | — | 自定义填充色。 |"
19480
+ "body": "| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `number` | `0` | 进度 0–100(determinate)。 |\n| `mode` | `'determinate' \\| 'indeterminate'` | `'determinate'` | 确定 / 不确定模式。 |\n| `showValue` | `boolean` | `true` | 是否显示百分比文案。 |\n| `type` | `'line' \\| 'circle'` | `'line'` | 线形或环形。 |\n| `status` | `'success' \\| 'info' \\| 'warning' \\| 'danger' \\| 'exception' \\| 'active' \\| 'normal' \\| …` | — | 语义色。`exception`→danger;`active`→线形条纹动效;`normal`→主色。 |\n| `color` | `string` | — | 自定义填充色。 |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传,见 [样式与 attrs](/docs/attrs). |"
19266
19481
  },
19267
19482
  {
19268
19483
  "id": "events",
@@ -19275,7 +19490,7 @@
19275
19490
  "body": "无插槽。"
19276
19491
  }
19277
19492
  ],
19278
- "markdown": "---\ntitle: ProgressBar\ncategory: 03 / DATA\ndescription: 进度条用于展示确定或不确定进度。\n---\n\n# ProgressBar\n\n进度条用于展示任务完成比例,或不确定加载态。\n\n## 引入\n\n```ts\nimport { MProgressBar } from 'morya-ui'\n```\n\n## 基础用法\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Circle & status\n\n```vue preview src=\"./demos/CircleAndStatus.vue\"\n```\n\n## Props\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `number` | `0` | 进度 0–100(determinate)。 |\n| `mode` | `'determinate' \\| 'indeterminate'` | `'determinate'` | 确定 / 不确定模式。 |\n| `showValue` | `boolean` | `true` | 是否显示百分比文案。 |\n| `type` | `'line' \\| 'circle'` | `'line'` | 线形或环形。 |\n| `status` | `'success' \\| 'info' \\| 'warning' \\| 'danger' \\| 'exception' \\| 'active' \\| 'normal' \\| …` | — | 语义色。`exception`→danger;`active`→线形条纹动效;`normal`→主色。 |\n| `color` | `string` | — | 自定义填充色。 |\n\n## Events\n\n无自定义事件。\n\n## Slots\n\n无插槽。\n"
19493
+ "markdown": "---\ntitle: ProgressBar\ncategory: 03 / DATA\ndescription: 进度条用于展示确定或不确定进度。\n---\n\n# ProgressBar\n\n进度条用于展示任务完成比例,或不确定加载态。\n\n## 引入\n\n```ts\nimport { MProgressBar } from 'morya-ui'\n```\n\n## 基础用法\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Circle & status\n\n```vue preview src=\"./demos/CircleAndStatus.vue\"\n```\n\n## Props\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `number` | `0` | 进度 0–100(determinate)。 |\n| `mode` | `'determinate' \\| 'indeterminate'` | `'determinate'` | 确定 / 不确定模式。 |\n| `showValue` | `boolean` | `true` | 是否显示百分比文案。 |\n| `type` | `'line' \\| 'circle'` | `'line'` | 线形或环形。 |\n| `status` | `'success' \\| 'info' \\| 'warning' \\| 'danger' \\| 'exception' \\| 'active' \\| 'normal' \\| …` | — | 语义色。`exception`→danger;`active`→线形条纹动效;`normal`→主色。 |\n| `color` | `string` | — | 自定义填充色。 |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传,见 [样式与 attrs](/docs/attrs). |\n\n## Events\n\n无自定义事件。\n\n## Slots\n\n无插槽。\n"
19279
19494
  },
19280
19495
  "en-US": {
19281
19496
  "title": "ProgressBar",
@@ -19304,7 +19519,7 @@
19304
19519
  {
19305
19520
  "id": "props",
19306
19521
  "title": "Props",
19307
- "body": "| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `number` | `0` | Progress 0鈥?00 (determinate). |\n| `mode` | `'determinate' \\| 'indeterminate'` | `'determinate'` | Determinate / indeterminate mode. |\n| `showValue` | `boolean` | `true` | Whether to show the percentage label. |\n| `type` | `'line' \\| 'circle'` | `'line'` | Line or circle. |\n| `status` | `'success' \\| 'info' \\| 'warning' \\| 'danger' \\| 'exception' \\| 'active' \\| 'normal' \\| 鈥 | 鈥?| Semantic fill. `exception`鈫抎anger; `active`鈫抣ine stripe; `normal`鈫抪rimary. |\n| `color` | `string` | 鈥?| Custom fill color. |"
19522
+ "body": "| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `number` | `0` | Progress 0鈥?00 (determinate). |\n| `mode` | `'determinate' \\| 'indeterminate'` | `'determinate'` | Determinate / indeterminate mode. |\n| `showValue` | `boolean` | `true` | Whether to show the percentage label. |\n| `type` | `'line' \\| 'circle'` | `'line'` | Line or circle. |\n| `status` | `'success' \\| 'info' \\| 'warning' \\| 'danger' \\| 'exception' \\| 'active' \\| 'normal' \\| 鈥 | 鈥?| Semantic fill. `exception`鈫抎anger; `active`鈫抣ine stripe; `normal`鈫抪rimary. |\n| `color` | `string` | 鈥?| Custom fill color. |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM pass-through; see [attrs](/docs/attrs). |"
19308
19523
  },
19309
19524
  {
19310
19525
  "id": "events",
@@ -19317,7 +19532,7 @@
19317
19532
  "body": "No slots."
19318
19533
  }
19319
19534
  ],
19320
- "markdown": "---\ntitle: ProgressBar\ncategory: 03 / DATA\ndescription: Progress bar for determinate or indeterminate progress.\n---\n\n# ProgressBar\n\nShows task completion, or an indeterminate loading state.\n\n## Import\n\n```ts\nimport { MProgressBar } from 'morya-ui'\n```\n\n## Basic\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Circle & status\n\n```vue preview src=\"./demos/CircleAndStatus.vue\"\n```\n\n## Props\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `number` | `0` | Progress 0鈥?00 (determinate). |\n| `mode` | `'determinate' \\| 'indeterminate'` | `'determinate'` | Determinate / indeterminate mode. |\n| `showValue` | `boolean` | `true` | Whether to show the percentage label. |\n| `type` | `'line' \\| 'circle'` | `'line'` | Line or circle. |\n| `status` | `'success' \\| 'info' \\| 'warning' \\| 'danger' \\| 'exception' \\| 'active' \\| 'normal' \\| 鈥 | 鈥?| Semantic fill. `exception`鈫抎anger; `active`鈫抣ine stripe; `normal`鈫抪rimary. |\n| `color` | `string` | 鈥?| Custom fill color. |\n\n## Events\n\nNo custom events.\n\n## Slots\n\nNo slots.\n"
19535
+ "markdown": "---\ntitle: ProgressBar\ncategory: 03 / DATA\ndescription: Progress bar for determinate or indeterminate progress.\n---\n\n# ProgressBar\n\nShows task completion, or an indeterminate loading state.\n\n## Import\n\n```ts\nimport { MProgressBar } from 'morya-ui'\n```\n\n## Basic\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Circle & status\n\n```vue preview src=\"./demos/CircleAndStatus.vue\"\n```\n\n## Props\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `number` | `0` | Progress 0鈥?00 (determinate). |\n| `mode` | `'determinate' \\| 'indeterminate'` | `'determinate'` | Determinate / indeterminate mode. |\n| `showValue` | `boolean` | `true` | Whether to show the percentage label. |\n| `type` | `'line' \\| 'circle'` | `'line'` | Line or circle. |\n| `status` | `'success' \\| 'info' \\| 'warning' \\| 'danger' \\| 'exception' \\| 'active' \\| 'normal' \\| 鈥 | 鈥?| Semantic fill. `exception`鈫抎anger; `active`鈫抣ine stripe; `normal`鈫抪rimary. |\n| `color` | `string` | 鈥?| Custom fill color. |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM pass-through; see [attrs](/docs/attrs). |\n\n## Events\n\nNo custom events.\n\n## Slots\n\nNo slots.\n"
19321
19536
  }
19322
19537
  }
19323
19538
  },
@@ -27146,6 +27361,12 @@
27146
27361
  "type": "boolean",
27147
27362
  "default": "false",
27148
27363
  "description": "选中态;配合 `v-model:checked`。"
27364
+ },
27365
+ {
27366
+ "name": "pt",
27367
+ "type": "[RootPassThrough](/docs/types#RootPassThrough) `{ root? }",
27368
+ "default": "—",
27369
+ "description": "DOM 透传,见 [样式与 attrs](/docs/attrs)."
27149
27370
  }
27150
27371
  ],
27151
27372
  "events": [
@@ -27348,7 +27569,7 @@
27348
27569
  {
27349
27570
  "id": "props",
27350
27571
  "title": "Props",
27351
- "body": "| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `string` | — | 标签文案。存在默认插槽内容时以插槽为准。 |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'help' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | 语义色。`warning` 为兼容别名,映射为 `warn`。 |\n| `rounded` | `boolean` | `false` | 全圆角。 |\n| `icon` | [IconName](/docs/types#IconName) | — | `MIcon` 图标名称。 |\n| `closable` | `boolean` | `false` | 显示关闭按钮(`checkable` 时忽略)。 |\n| `size` | `'small' \\| 'medium' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | — | 尺寸。 |\n| `bordered` | `boolean` | `false` | 描边。 |\n| `color` | `string` | — | 自定义颜色。 |\n| `disabled` | `boolean` | `false` | 禁用交互。 |\n| `checkable` | `boolean` | `false` | 可切换选中。 |\n| `checked` | `boolean` | `false` | 选中态;配合 `v-model:checked`。 |"
27572
+ "body": "| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `string` | — | 标签文案。存在默认插槽内容时以插槽为准。 |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'help' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | 语义色。`warning` 为兼容别名,映射为 `warn`。 |\n| `rounded` | `boolean` | `false` | 全圆角。 |\n| `icon` | [IconName](/docs/types#IconName) | — | `MIcon` 图标名称。 |\n| `closable` | `boolean` | `false` | 显示关闭按钮(`checkable` 时忽略)。 |\n| `size` | `'small' \\| 'medium' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | — | 尺寸。 |\n| `bordered` | `boolean` | `false` | 描边。 |\n| `color` | `string` | — | 自定义颜色。 |\n| `disabled` | `boolean` | `false` | 禁用交互。 |\n| `checkable` | `boolean` | `false` | 可切换选中。 |\n| `checked` | `boolean` | `false` | 选中态;配合 `v-model:checked`。 |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传,见 [样式与 attrs](/docs/attrs). |"
27352
27573
  },
27353
27574
  {
27354
27575
  "id": "events",
@@ -27361,7 +27582,7 @@
27361
27582
  "body": "| 插槽名 | 说明 |\n| --- | --- |\n| `default` | 标签内容,优先于 `value`。 |"
27362
27583
  }
27363
27584
  ],
27364
- "markdown": "---\ntitle: Tag\ncategory: 01 / BASIC\ndescription: 标签用于展示状态或分类。\n---\n\n# Tag\n\n标签用于展示状态或分类。\n\n## 引入\n\n```ts\nimport { MTag } from 'morya-ui'\n```\n\n## 基础用法\n\n通过 `value` 或默认插槽展示文案。\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Severity\n\n使用 `severity` 定义语义色;省略时为 primary。兼容旧值 `warning`(映射为 `warn`)。\n\n```vue preview src=\"./demos/Severity.vue\"\n```\n\n## Icons\n\n`icon` 传入 `MIcon` 的图标名称。\n\n```vue preview src=\"./demos/Icons.vue\"\n```\n\n## Bordered\n\n`bordered` 使用色调描边。默认无描边、填充色调背景。\n\n```vue preview src=\"./demos/Bordered.vue\"\n```\n\n## Closable\n\n```vue preview src=\"./demos/Closable.vue\"\n```\n\n## Checkable\n\n`checkable` + `v-model:checked` 可切换选中。与 `closable` 同时设置时关闭按钮不显示。\n\n```vue preview src=\"./demos/Checkable.vue\"\n```\n\n## Props\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `string` | — | 标签文案。存在默认插槽内容时以插槽为准。 |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'help' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | 语义色。`warning` 为兼容别名,映射为 `warn`。 |\n| `rounded` | `boolean` | `false` | 全圆角。 |\n| `icon` | [IconName](/docs/types#IconName) | — | `MIcon` 图标名称。 |\n| `closable` | `boolean` | `false` | 显示关闭按钮(`checkable` 时忽略)。 |\n| `size` | `'small' \\| 'medium' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | — | 尺寸。 |\n| `bordered` | `boolean` | `false` | 描边。 |\n| `color` | `string` | — | 自定义颜色。 |\n| `disabled` | `boolean` | `false` | 禁用交互。 |\n| `checkable` | `boolean` | `false` | 可切换选中。 |\n| `checked` | `boolean` | `false` | 选中态;配合 `v-model:checked`。 |\n\n\n## Events\n\n| 事件名 | 参数 | 说明 |\n| --- | --- | --- |\n| `close` | `MouseEvent` | 点击关闭。 |\n| `update:checked` | `boolean` | 选中态变更(`v-model:checked`)。 |\n| `change` | `boolean` | 选中态变更。 |\n\n## Slots\n\n| 插槽名 | 说明 |\n| --- | --- |\n| `default` | 标签内容,优先于 `value`。 |\n"
27585
+ "markdown": "---\ntitle: Tag\ncategory: 01 / BASIC\ndescription: 标签用于展示状态或分类。\n---\n\n# Tag\n\n标签用于展示状态或分类。\n\n## 引入\n\n```ts\nimport { MTag } from 'morya-ui'\n```\n\n## 基础用法\n\n通过 `value` 或默认插槽展示文案。\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Severity\n\n使用 `severity` 定义语义色;省略时为 primary。兼容旧值 `warning`(映射为 `warn`)。\n\n```vue preview src=\"./demos/Severity.vue\"\n```\n\n## Icons\n\n`icon` 传入 `MIcon` 的图标名称。\n\n```vue preview src=\"./demos/Icons.vue\"\n```\n\n## Bordered\n\n`bordered` 使用色调描边。默认无描边、填充色调背景。\n\n```vue preview src=\"./demos/Bordered.vue\"\n```\n\n## Closable\n\n```vue preview src=\"./demos/Closable.vue\"\n```\n\n## Checkable\n\n`checkable` + `v-model:checked` 可切换选中。与 `closable` 同时设置时关闭按钮不显示。\n\n```vue preview src=\"./demos/Checkable.vue\"\n```\n\n## Props\n\n| 参数 | 类型 | 默认值 | 说明 |\n| --- | --- | --- | --- |\n| `value` | `string` | — | 标签文案。存在默认插槽内容时以插槽为准。 |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'help' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | 语义色。`warning` 为兼容别名,映射为 `warn`。 |\n| `rounded` | `boolean` | `false` | 全圆角。 |\n| `icon` | [IconName](/docs/types#IconName) | — | `MIcon` 图标名称。 |\n| `closable` | `boolean` | `false` | 显示关闭按钮(`checkable` 时忽略)。 |\n| `size` | `'small' \\| 'medium' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | — | 尺寸。 |\n| `bordered` | `boolean` | `false` | 描边。 |\n| `color` | `string` | — | 自定义颜色。 |\n| `disabled` | `boolean` | `false` | 禁用交互。 |\n| `checkable` | `boolean` | `false` | 可切换选中。 |\n| `checked` | `boolean` | `false` | 选中态;配合 `v-model:checked`。 |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM 透传,见 [样式与 attrs](/docs/attrs). |\n\n\n## Events\n\n| 事件名 | 参数 | 说明 |\n| --- | --- | --- |\n| `close` | `MouseEvent` | 点击关闭。 |\n| `update:checked` | `boolean` | 选中态变更(`v-model:checked`)。 |\n| `change` | `boolean` | 选中态变更。 |\n\n## Slots\n\n| 插槽名 | 说明 |\n| --- | --- |\n| `default` | 标签内容,优先于 `value`。 |\n"
27365
27586
  },
27366
27587
  "en-US": {
27367
27588
  "title": "Tag",
@@ -27410,7 +27631,7 @@
27410
27631
  {
27411
27632
  "id": "props",
27412
27633
  "title": "Props",
27413
- "body": "| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `string` | 鈥?| Tag text. The default slot takes precedence when present. |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'help' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | Semantic color. `warning` is a compatibility alias mapped to `warn`. |\n| `rounded` | `boolean` | `false` | Fully rounded. |\n| `icon` | [IconName](/docs/types#IconName) | 鈥?| `MIcon` icon name. |\n| `closable` | `boolean` | `false` | Show a close control (ignored when `checkable`). |\n| `size` | `'small' \\| 'medium' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | 鈥?| Size. |\n| `bordered` | `boolean` | `false` | Draw a border. |\n| `color` | `string` | 鈥?| Custom color. |\n| `disabled` | `boolean` | `false` | Disable interaction. |\n| `checkable` | `boolean` | `false` | Toggleable selection. |\n| `checked` | `boolean` | `false` | Checked state; use with `v-model:checked`. |"
27634
+ "body": "| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `string` | 鈥?| Tag text. The default slot takes precedence when present. |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'help' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | Semantic color. `warning` is a compatibility alias mapped to `warn`. |\n| `rounded` | `boolean` | `false` | Fully rounded. |\n| `icon` | [IconName](/docs/types#IconName) | 鈥?| `MIcon` icon name. |\n| `closable` | `boolean` | `false` | Show a close control (ignored when `checkable`). |\n| `size` | `'small' \\| 'medium' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | 鈥?| Size. |\n| `bordered` | `boolean` | `false` | Draw a border. |\n| `color` | `string` | 鈥?| Custom color. |\n| `disabled` | `boolean` | `false` | Disable interaction. |\n| `checkable` | `boolean` | `false` | Toggleable selection. |\n| `checked` | `boolean` | `false` | Checked state; use with `v-model:checked`. |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM pass-through; see [attrs](/docs/attrs). |"
27414
27635
  },
27415
27636
  {
27416
27637
  "id": "events",
@@ -27423,7 +27644,7 @@
27423
27644
  "body": "| Slot | Description |\n| --- | --- |\n| `default` | Tag content; takes precedence over `value`. |"
27424
27645
  }
27425
27646
  ],
27426
- "markdown": "---\ntitle: Tag\ncategory: 01 / BASIC\ndescription: Tag for status or category.\n---\n\n# Tag\n\nTags display status or category.\n\n## Import\n\n```ts\nimport { MTag } from 'morya-ui'\n```\n\n## Basic\n\nShow text via `value` or the default slot.\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Severity\n\nUse `severity` for semantic color; defaults to primary when omitted. The legacy value `warning` is mapped to `warn`.\n\n```vue preview src=\"./demos/Severity.vue\"\n```\n\n## Icons\n\nPass a `MIcon` icon name to `icon`.\n\n```vue preview src=\"./demos/Icons.vue\"\n```\n\n## Bordered\n\n`bordered` draws a tone-colored outline. Default is borderless with a filled tone background.\n\n```vue preview src=\"./demos/Bordered.vue\"\n```\n\n## Closable\n\n```vue preview src=\"./demos/Closable.vue\"\n```\n\n## Checkable\n\n`checkable` + `v-model:checked` toggles selection. When combined with `closable`, the close control is hidden.\n\n```vue preview src=\"./demos/Checkable.vue\"\n```\n\n## Props\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `string` | 鈥?| Tag text. The default slot takes precedence when present. |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'help' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | Semantic color. `warning` is a compatibility alias mapped to `warn`. |\n| `rounded` | `boolean` | `false` | Fully rounded. |\n| `icon` | [IconName](/docs/types#IconName) | 鈥?| `MIcon` icon name. |\n| `closable` | `boolean` | `false` | Show a close control (ignored when `checkable`). |\n| `size` | `'small' \\| 'medium' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | 鈥?| Size. |\n| `bordered` | `boolean` | `false` | Draw a border. |\n| `color` | `string` | 鈥?| Custom color. |\n| `disabled` | `boolean` | `false` | Disable interaction. |\n| `checkable` | `boolean` | `false` | Toggleable selection. |\n| `checked` | `boolean` | `false` | Checked state; use with `v-model:checked`. |\n\n\n## Events\n\n| Event | Payload | Description |\n| --- | --- | --- |\n| `close` | `MouseEvent` | Fired when close is clicked. |\n| `update:checked` | `boolean` | Checked state change (`v-model:checked`). |\n| `change` | `boolean` | Checked state change. |\n\n## Slots\n\n| Slot | Description |\n| --- | --- |\n| `default` | Tag content; takes precedence over `value`. |\n"
27647
+ "markdown": "---\ntitle: Tag\ncategory: 01 / BASIC\ndescription: Tag for status or category.\n---\n\n# Tag\n\nTags display status or category.\n\n## Import\n\n```ts\nimport { MTag } from 'morya-ui'\n```\n\n## Basic\n\nShow text via `value` or the default slot.\n\n```vue preview src=\"./demos/Basic.vue\"\n```\n\n## Severity\n\nUse `severity` for semantic color; defaults to primary when omitted. The legacy value `warning` is mapped to `warn`.\n\n```vue preview src=\"./demos/Severity.vue\"\n```\n\n## Icons\n\nPass a `MIcon` icon name to `icon`.\n\n```vue preview src=\"./demos/Icons.vue\"\n```\n\n## Bordered\n\n`bordered` draws a tone-colored outline. Default is borderless with a filled tone background.\n\n```vue preview src=\"./demos/Bordered.vue\"\n```\n\n## Closable\n\n```vue preview src=\"./demos/Closable.vue\"\n```\n\n## Checkable\n\n`checkable` + `v-model:checked` toggles selection. When combined with `closable`, the close control is hidden.\n\n```vue preview src=\"./demos/Checkable.vue\"\n```\n\n## Props\n\n| Prop | Type | Default | Description |\n| --- | --- | --- | --- |\n| `value` | `string` | 鈥?| Tag text. The default slot takes precedence when present. |\n| `severity` | `'primary' \\| 'secondary' \\| 'success' \\| 'info' \\| 'warn' \\| 'help' \\| 'danger' \\| 'contrast' \\| 'warning'` | `'primary'` | Semantic color. `warning` is a compatibility alias mapped to `warn`. |\n| `rounded` | `boolean` | `false` | Fully rounded. |\n| `icon` | [IconName](/docs/types#IconName) | 鈥?| `MIcon` icon name. |\n| `closable` | `boolean` | `false` | Show a close control (ignored when `checkable`). |\n| `size` | `'small' \\| 'medium' \\| 'large' \\| 'sm' \\| 'md' \\| 'lg'` | 鈥?| Size. |\n| `bordered` | `boolean` | `false` | Draw a border. |\n| `color` | `string` | 鈥?| Custom color. |\n| `disabled` | `boolean` | `false` | Disable interaction. |\n| `checkable` | `boolean` | `false` | Toggleable selection. |\n| `checked` | `boolean` | `false` | Checked state; use with `v-model:checked`. |\n| `pt` | [RootPassThrough](/docs/types#RootPassThrough) `{ root? }` | — | DOM pass-through; see [attrs](/docs/attrs). |\n\n\n## Events\n\n| Event | Payload | Description |\n| --- | --- | --- |\n| `close` | `MouseEvent` | Fired when close is clicked. |\n| `update:checked` | `boolean` | Checked state change (`v-model:checked`). |\n| `change` | `boolean` | Checked state change. |\n\n## Slots\n\n| Slot | Description |\n| --- | --- |\n| `default` | Tag content; takes precedence over `value`. |\n"
27427
27648
  }
27428
27649
  }
27429
27650
  },
@@ -1,6 +1,6 @@
1
1
  {
2
- "generatedAt": "2026-09-30T07:47:17.177Z",
3
- "catalogGeneratedAt": "2026-09-30T07:47:11.558Z",
2
+ "generatedAt": "2026-10-08T08:29:21.331Z",
3
+ "catalogGeneratedAt": "2026-10-08T08:29:10.652Z",
4
4
  "components": [
5
5
  {
6
6
  "id": "Accordion",
@@ -221,10 +221,11 @@
221
221
  "exportName": "MBadge",
222
222
  "examples": 10,
223
223
  "props": {
224
- "total": 6,
224
+ "total": 7,
225
225
  "covered": 5,
226
226
  "missing": [
227
- "offset"
227
+ "offset",
228
+ "pt"
228
229
  ]
229
230
  },
230
231
  "events": {
@@ -412,13 +413,20 @@
412
413
  {
413
414
  "id": "Carousel",
414
415
  "exportName": "MCarousel",
415
- "examples": 6,
416
+ "examples": 12,
416
417
  "props": {
417
- "total": 9,
418
- "covered": 6,
418
+ "total": 21,
419
+ "covered": 11,
419
420
  "missing": [
420
- "showIndicators",
421
- "page",
421
+ "currentIndex",
422
+ "defaultIndex",
423
+ "showDots",
424
+ "centeredSlides",
425
+ "trigger",
426
+ "touchable",
427
+ "mousewheel",
428
+ "keyboard",
429
+ "transitionDuration",
422
430
  "pt"
423
431
  ]
424
432
  },
@@ -426,18 +434,26 @@
426
434
  "total": 1,
427
435
  "covered": 0,
428
436
  "missing": [
429
- "update:page"
437
+ "update:currentIndex"
430
438
  ]
431
439
  },
432
440
  "slots": {
433
- "total": 1,
441
+ "total": 3,
434
442
  "covered": 1,
435
- "missing": []
443
+ "missing": [
444
+ "arrow",
445
+ "dots"
446
+ ]
436
447
  },
437
448
  "methods": {
438
- "total": 0,
449
+ "total": 4,
439
450
  "covered": 0,
440
- "missing": []
451
+ "missing": [
452
+ "prev",
453
+ "next",
454
+ "to",
455
+ "getCurrentIndex"
456
+ ]
441
457
  }
442
458
  },
443
459
  {
@@ -522,10 +538,11 @@
522
538
  "exportName": "MChip",
523
539
  "examples": 4,
524
540
  "props": {
525
- "total": 7,
541
+ "total": 8,
526
542
  "covered": 6,
527
543
  "missing": [
528
- "image"
544
+ "image",
545
+ "pt"
529
546
  ]
530
547
  },
531
548
  "events": {
@@ -912,11 +929,12 @@
912
929
  "exportName": "MDivider",
913
930
  "examples": 14,
914
931
  "props": {
915
- "total": 8,
932
+ "total": 9,
916
933
  "covered": 6,
917
934
  "missing": [
918
935
  "orientation",
919
- "size"
936
+ "size",
937
+ "pt"
920
938
  ]
921
939
  },
922
940
  "events": {
@@ -2439,10 +2457,11 @@
2439
2457
  "exportName": "MProgressBar",
2440
2458
  "examples": 6,
2441
2459
  "props": {
2442
- "total": 6,
2460
+ "total": 7,
2443
2461
  "covered": 5,
2444
2462
  "missing": [
2445
- "color"
2463
+ "color",
2464
+ "pt"
2446
2465
  ]
2447
2466
  },
2448
2467
  "events": {
@@ -3393,10 +3412,11 @@
3393
3412
  "exportName": "MTag",
3394
3413
  "examples": 14,
3395
3414
  "props": {
3396
- "total": 11,
3415
+ "total": 12,
3397
3416
  "covered": 10,
3398
3417
  "missing": [
3399
- "disabled"
3418
+ "disabled",
3419
+ "pt"
3400
3420
  ]
3401
3421
  },
3402
3422
  "events": {
@@ -3985,6 +4005,6 @@
3985
4005
  "summary": {
3986
4006
  "components": 107,
3987
4007
  "componentsWithMissingCoverage": 106,
3988
- "totalExamples": 945
4008
+ "totalExamples": 951
3989
4009
  }
3990
4010
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@morya-ui/mcp",
3
3
  "type": "module",
4
- "version": "0.4.0",
4
+ "version": "0.4.1",
5
5
  "description": "MCP server for morya-ui — component docs, examples, and usage guidance for AI coding agents.",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/morya-space/morya-ui/tree/main/packages/ui-mcp#readme",