niuma-ui 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +2 -0
  3. package/README.zh-CN.md +2 -0
  4. package/dist/components/badge/index.d.ts +1 -0
  5. package/dist/components/badge/src/RsBadge.css +61 -8
  6. package/dist/components/badge/src/RsBadge.d.ts +19 -3
  7. package/dist/components/badge/src/RsBadge.impl.js +46 -3
  8. package/dist/components/badge/src/RsBadge.js +1 -1
  9. package/dist/components/badge/src/badge-utils.d.ts +11 -0
  10. package/dist/components/badge/src/badge-utils.js +32 -0
  11. package/dist/components/button/src/RsButton.css +87 -71
  12. package/dist/components/button/src/RsButton.d.ts +7 -3
  13. package/dist/components/button/src/RsButton.impl.js +43 -31
  14. package/dist/components/button/src/RsButton.js +1 -1
  15. package/dist/components/button/src/button-utils.d.ts +17 -0
  16. package/dist/components/button/src/button-utils.js +14 -1
  17. package/dist/components/cascader/src/RsCascader.d.ts +1 -1
  18. package/dist/components/divider/index.d.ts +1 -0
  19. package/dist/components/divider/src/RsDivider.css +37 -22
  20. package/dist/components/divider/src/RsDivider.d.ts +4 -2
  21. package/dist/components/divider/src/RsDivider.impl.js +26 -12
  22. package/dist/components/divider/src/RsDivider.js +1 -1
  23. package/dist/components/divider/src/divider-utils.d.ts +4 -0
  24. package/dist/components/dynamic-tags/src/RsDynamicTags.css +23 -23
  25. package/dist/components/dynamic-tags/src/RsDynamicTags.d.ts +1 -1
  26. package/dist/components/dynamic-tags/src/RsDynamicTags.js +1 -1
  27. package/dist/components/icon/src/RsIcon.css +9 -4
  28. package/dist/components/icon/src/RsIcon.d.ts +4 -3
  29. package/dist/components/icon/src/RsIcon.impl.js +9 -32
  30. package/dist/components/icon/src/RsIcon.js +1 -1
  31. package/dist/components/icon/src/icon-utils.d.ts +17 -0
  32. package/dist/components/icon/src/icon-utils.js +39 -0
  33. package/dist/components/link/index.d.ts +1 -0
  34. package/dist/components/link/src/RsLink.css +58 -17
  35. package/dist/components/link/src/RsLink.d.ts +12 -4
  36. package/dist/components/link/src/RsLink.impl.js +26 -25
  37. package/dist/components/link/src/RsLink.js +2 -1
  38. package/dist/components/link/src/link-utils.d.ts +9 -0
  39. package/dist/components/link/src/link-utils.js +15 -0
  40. package/dist/components/loading/src/RsLoading.d.ts +2 -2
  41. package/dist/components/tag/index.d.ts +1 -1
  42. package/dist/components/tag/src/RsTag.css +42 -38
  43. package/dist/components/tag/src/RsTag.d.ts +3 -2
  44. package/dist/components/tag/src/RsTag.impl.js +18 -9
  45. package/dist/components/tag/src/RsTag.js +1 -1
  46. package/dist/components/tag/src/tag-utils.d.ts +8 -0
  47. package/dist/components/terminal/src/RsTerminal.d.ts +1 -1
  48. package/dist/index.d.ts +3 -0
  49. package/package.json +9 -8
@@ -1,7 +1,16 @@
1
- import { Primitive } from "../../_shared/src/reka.js";
2
- import { computed, createBlock, defineComponent, normalizeClass, openBlock, renderSlot, unref, withCtx } from "vue";
1
+ import RsIcon_default from "../../icon/src/RsIcon.js";
2
+ import { mergeRsLinkRel, resolveRsLinkTone } from "./link-utils.js";
3
+ import { computed, createBlock, createCommentVNode, createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot } from "vue";
3
4
  //#region src/components/link/src/RsLink.vue?vue&type=script&setup=true&lang.ts
5
+ var _hoisted_1 = [
6
+ "href",
7
+ "target",
8
+ "rel",
9
+ "aria-disabled",
10
+ "tabindex"
11
+ ];
4
12
  var RsLink_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
13
+ name: "RsLink",
5
14
  __name: "RsLink",
6
15
  props: {
7
16
  href: {},
@@ -11,47 +20,39 @@ var RsLink_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCom
11
20
  type: Boolean,
12
21
  default: false
13
22
  },
14
- underline: { default: "hover" }
23
+ underline: { default: "hover" },
24
+ tone: { default: void 0 },
25
+ icon: { default: void 0 }
15
26
  },
16
27
  setup(__props) {
17
28
  const props = __props;
18
- const mergedRel = computed(() => {
19
- const relParts = (props.rel ?? "").split(/\s+/).map((item) => item.trim()).filter(Boolean);
20
- if (props.target === "_blank") {
21
- if (!relParts.includes("noopener")) relParts.push("noopener");
22
- if (!relParts.includes("noreferrer")) relParts.push("noreferrer");
23
- }
24
- return relParts.length > 0 ? relParts.join(" ") : void 0;
25
- });
29
+ const resolvedTone = computed(() => resolveRsLinkTone(props.tone));
30
+ const mergedRel = computed(() => mergeRsLinkRel(props.rel, props.target));
26
31
  function onClick(event) {
27
32
  if (!props.disabled) return;
28
33
  event.preventDefault();
29
34
  event.stopPropagation();
30
35
  }
31
36
  return (_ctx, _cache) => {
32
- return openBlock(), createBlock(unref(Primitive), {
33
- as: "a",
37
+ return openBlock(), createElementBlock("a", {
34
38
  href: __props.disabled ? void 0 : __props.href,
35
39
  target: __props.disabled ? void 0 : __props.target,
36
40
  rel: __props.disabled ? void 0 : mergedRel.value,
37
41
  class: normalizeClass(["rs-link", {
38
42
  "rs-link--disabled": __props.disabled,
39
- [`rs-link--underline-${__props.underline}`]: true
43
+ "rs-link--has-icon": Boolean(__props.icon),
44
+ [`rs-link--underline-${__props.underline}`]: true,
45
+ [`rs-link--tone-${resolvedTone.value}`]: true
40
46
  }]),
41
47
  "aria-disabled": __props.disabled ? "true" : void 0,
42
48
  tabindex: __props.disabled ? -1 : void 0,
43
49
  onClick
44
- }, {
45
- default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
46
- _: 3
47
- }, 8, [
48
- "href",
49
- "target",
50
- "rel",
51
- "class",
52
- "aria-disabled",
53
- "tabindex"
54
- ]);
50
+ }, [__props.icon ? (openBlock(), createBlock(RsIcon_default, {
51
+ key: 0,
52
+ class: "rs-link__icon",
53
+ name: __props.icon,
54
+ size: "1em"
55
+ }, null, 8, ["name"])) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default", {}, void 0, true)], 10, _hoisted_1);
55
56
  };
56
57
  }
57
58
  });
@@ -1,7 +1,8 @@
1
1
  import './RsLink.css'
2
+ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.js";
2
3
  import RsLink_vue_vue_type_script_setup_true_lang_default from "./RsLink.impl.js";
3
4
 
4
5
  //#region src/components/link/src/RsLink.vue
5
- var RsLink_default = RsLink_vue_vue_type_script_setup_true_lang_default;
6
+ var RsLink_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsLink_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-78d8e4b3"]]);
6
7
  //#endregion
7
8
  export { RsLink_default as default };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * RsLink 语义色(色相)。链接没有形态轴,默认 primary。
3
+ * 操作按钮请用 RsButton variant="link",不要用本组件冒充按钮。
4
+ */
5
+ export type RsLinkTone = 'primary' | 'neutral' | 'success' | 'warning' | 'danger' | 'info';
6
+ export type RsLinkUnderline = 'always' | 'hover' | 'none';
7
+ export declare function resolveRsLinkTone(tone?: RsLinkTone): RsLinkTone;
8
+ /** `_blank` 时补上 noopener / noreferrer,并保留调用方已有 rel。 */
9
+ export declare function mergeRsLinkRel(rel: string | undefined, target: string | undefined): string | undefined;
@@ -0,0 +1,15 @@
1
+ //#region src/components/link/src/link-utils.ts
2
+ function resolveRsLinkTone(tone) {
3
+ return tone ?? "primary";
4
+ }
5
+ /** `_blank` 时补上 noopener / noreferrer,并保留调用方已有 rel。 */
6
+ function mergeRsLinkRel(rel, target) {
7
+ const parts = (rel ?? "").split(/\s+/).map((item) => item.trim()).filter(Boolean);
8
+ if (target === "_blank") {
9
+ if (!parts.includes("noopener")) parts.push("noopener");
10
+ if (!parts.includes("noreferrer")) parts.push("noreferrer");
11
+ }
12
+ return parts.length > 0 ? parts.join(" ") : void 0;
13
+ }
14
+ //#endregion
15
+ export { mergeRsLinkRel, resolveRsLinkTone };
@@ -12,12 +12,12 @@ type __VLS_Props = {
12
12
  };
13
13
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
14
14
  variant: RsLoadingVariant;
15
+ overlay: boolean;
15
16
  size: RsLoadingSize;
16
17
  tone: RsLoadingTone;
17
18
  loading: boolean;
18
- block: boolean;
19
19
  showLabel: boolean;
20
- overlay: boolean;
20
+ block: boolean;
21
21
  skeletonLines: number;
22
22
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
23
23
  declare const _default: typeof __VLS_export;
@@ -1,2 +1,2 @@
1
1
  export { default as RsTag } from './src/RsTag.js';
2
- export type { RsTagVariant } from './src/RsTag.js';
2
+ export type { RsTagVariant } from './src/tag-utils';
@@ -1,5 +1,9 @@
1
1
 
2
- .rs-tag[data-v-0140d810] {
2
+ .rs-tag[data-v-d8327085] {
3
+ --rs-tag-pad-y-sm: 0.0625rem;
4
+ --rs-tag-pad-y-md: 0.125rem;
5
+ --rs-tag-disabled-opacity: 0.55;
6
+ --rs-tag-close-opacity: 0.75;
3
7
  display: inline-flex;
4
8
  align-items: center;
5
9
  gap: var(--rs-space-xs);
@@ -10,85 +14,85 @@
10
14
  box-sizing: border-box;
11
15
  vertical-align: middle;
12
16
  }
13
- .rs-tag--ssm[data-v-0140d810] {
14
- padding: 0 var(--rs-space-xs);
17
+ .rs-tag--ssm[data-v-d8327085] {
18
+ padding-block: 0;
19
+ padding-inline: var(--rs-space-xs);
15
20
  font-size: var(--rs-font-size-xs);
16
21
  }
17
- .rs-tag--sm[data-v-0140d810] {
18
- padding: 0.0625rem var(--rs-space-xs);
22
+ .rs-tag--sm[data-v-d8327085] {
23
+ padding-block: var(--rs-tag-pad-y-sm);
24
+ padding-inline: var(--rs-space-xs);
19
25
  font-size: var(--rs-font-size-xs);
20
26
  }
21
- .rs-tag--md[data-v-0140d810] {
22
- padding: 0.125rem var(--rs-space-sm);
27
+ .rs-tag--md[data-v-d8327085] {
28
+ padding-block: var(--rs-tag-pad-y-md);
29
+ padding-inline: var(--rs-space-sm);
23
30
  font-size: var(--rs-font-size-xs);
24
31
  }
25
- .rs-tag--lg[data-v-0140d810] {
26
- padding: var(--rs-space-xs) var(--rs-space-sm);
32
+ .rs-tag--lg[data-v-d8327085] {
33
+ padding-block: var(--rs-space-xs);
34
+ padding-inline: var(--rs-space-sm);
27
35
  font-size: var(--rs-font-size-sm);
28
36
  }
29
- .rs-tag--round[data-v-0140d810] {
37
+ .rs-tag--round[data-v-d8327085] {
30
38
  border-radius: var(--rs-radius-full);
31
39
  }
32
- .rs-tag--disabled[data-v-0140d810] {
33
- opacity: 0.55;
40
+ .rs-tag--disabled[data-v-d8327085] {
41
+ opacity: var(--rs-tag-disabled-opacity);
34
42
  cursor: not-allowed;
35
43
  }
36
- .rs-tag__content[data-v-0140d810] {
44
+ .rs-tag__content[data-v-d8327085] {
37
45
  overflow: hidden;
38
46
  text-overflow: ellipsis;
39
47
  white-space: nowrap;
40
48
  }
41
- .rs-tag__close[data-v-0140d810] {
42
- display: inline-flex;
43
- align-items: center;
44
- justify-content: center;
45
- margin: 0;
49
+ .rs-tag__close[data-v-d8327085] {
50
+ min-width: 0;
51
+ min-height: 0;
52
+ width: 1em;
53
+ height: 1em;
46
54
  padding: 0;
47
- border: 0;
48
- border-radius: var(--rs-radius-full);
49
- background: transparent;
50
55
  color: inherit;
51
- cursor: pointer;
52
- opacity: 0.75;
53
- outline: none;
56
+ opacity: var(--rs-tag-close-opacity);
54
57
  }
55
- .rs-tag__close[data-v-0140d810]:hover:not(:disabled) {
58
+ .rs-tag__close[data-v-d8327085]:hover:not(:disabled) {
56
59
  opacity: 1;
60
+ color: inherit;
57
61
  background: color-mix(in srgb, currentColor 12%, transparent);
58
62
  }
59
- .rs-tag__close[data-v-0140d810]:focus-visible {
60
- box-shadow: 0 0 0 var(--rs-focus-ring-width, 2px) var(--rs-focus-ring);
61
- }
62
- .rs-tag__close[data-v-0140d810]:disabled {
63
- cursor: not-allowed;
64
- }
65
- .rs-tag--default[data-v-0140d810] {
63
+ .rs-tag--default[data-v-d8327085] {
66
64
  background: var(--rs-surface-hover);
67
- color: var(--rs-text);
65
+ color: var(--rs-text-primary);
68
66
  border: 1px solid var(--rs-border);
69
67
  }
70
- .rs-tag--primary[data-v-0140d810] {
68
+ .rs-tag--primary[data-v-d8327085] {
71
69
  background: var(--rs-primary-container);
72
70
  color: var(--rs-on-primary-container);
73
71
  border: 1px solid color-mix(in srgb, var(--rs-primary) var(--rs-tag-border-alpha, 40%), transparent);
74
72
  }
75
- .rs-tag--success[data-v-0140d810] {
73
+ .rs-tag--success[data-v-d8327085] {
76
74
  background: var(--rs-success-container);
77
75
  color: var(--rs-on-success-container);
78
76
  border: 1px solid color-mix(in srgb, var(--rs-success) var(--rs-tag-border-alpha, 40%), transparent);
79
77
  }
80
- .rs-tag--warning[data-v-0140d810] {
78
+ .rs-tag--warning[data-v-d8327085] {
81
79
  background: var(--rs-warning-container);
82
80
  color: var(--rs-on-warning-container);
83
81
  border: 1px solid color-mix(in srgb, var(--rs-warning) var(--rs-tag-border-alpha, 40%), transparent);
84
82
  }
85
- .rs-tag--danger[data-v-0140d810] {
83
+ .rs-tag--danger[data-v-d8327085] {
86
84
  background: var(--rs-danger-container);
87
85
  color: var(--rs-on-danger-container);
88
86
  border: 1px solid color-mix(in srgb, var(--rs-danger) var(--rs-tag-border-alpha, 40%), transparent);
89
87
  }
90
- .rs-tag--info[data-v-0140d810] {
88
+ .rs-tag--info[data-v-d8327085] {
91
89
  background: var(--rs-info-container);
92
90
  color: var(--rs-on-info-container);
93
91
  border: 1px solid color-mix(in srgb, var(--rs-info) var(--rs-tag-border-alpha, 40%), transparent);
94
92
  }
93
+ @media (forced-colors: active) {
94
+ .rs-tag[data-v-d8327085] {
95
+ border: 1px solid CanvasText;
96
+ forced-color-adjust: none;
97
+ }
98
+ }
@@ -1,5 +1,6 @@
1
- import type { RsComponentSize, RsRadius } from '../../../theme/types';
2
- export type RsTagVariant = 'default' | 'primary' | 'success' | 'warning' | 'danger' | 'info';
1
+ import { type RsComponentSize, type RsRadius } from '../../../theme/types';
2
+ import type { RsTagVariant } from './tag-utils';
3
+ export type { RsTagVariant };
3
4
  type __VLS_Props = {
4
5
  variant?: RsTagVariant;
5
6
  closable?: boolean;
@@ -1,12 +1,13 @@
1
+ import { RS_COMPONENT_SIZE_ICON_PX } from "../../../theme/types.js";
1
2
  import { useRsI18n } from "../../../composables/useRsI18n.js";
2
- import RsIcon_default from "../../icon/src/RsIcon.js";
3
3
  import { useResolvedRsComponentSize } from "../../_shared/src/resolve-size.js";
4
4
  import { rsRadiusCss, useResolvedRsRadius } from "../../_shared/src/resolve-radius.js";
5
- import { computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, renderSlot, unref } from "vue";
5
+ import RsButton_default from "../../button/src/RsButton.js";
6
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, renderSlot, unref } from "vue";
6
7
  //#region src/components/tag/src/RsTag.vue?vue&type=script&setup=true&lang.ts
7
8
  var _hoisted_1 = { class: "rs-tag__content" };
8
- var _hoisted_2 = ["disabled", "aria-label"];
9
9
  var RsTag_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
10
+ name: "RsTag",
10
11
  __name: "RsTag",
11
12
  props: {
12
13
  variant: { default: "default" },
@@ -32,6 +33,7 @@ var RsTag_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
32
33
  const { t } = useRsI18n();
33
34
  const resolvedSize = useResolvedRsComponentSize(() => props.size);
34
35
  const resolvedRadius = useResolvedRsRadius(() => props.round ? "full" : props.radius, "sm");
36
+ const closeIconSize = RS_COMPONENT_SIZE_ICON_PX.ssm;
35
37
  const rootClass = computed(() => [
36
38
  "rs-tag",
37
39
  `rs-tag--${props.variant}`,
@@ -52,17 +54,24 @@ var RsTag_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
52
54
  return openBlock(), createElementBlock("span", {
53
55
  class: normalizeClass(rootClass.value),
54
56
  style: normalizeStyle(rootStyle.value)
55
- }, [createElementVNode("span", _hoisted_1, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), __props.closable ? (openBlock(), createElementBlock("button", {
57
+ }, [createElementVNode("span", _hoisted_1, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]), __props.closable ? (openBlock(), createBlock(RsButton_default, {
56
58
  key: 0,
57
- type: "button",
58
59
  class: "rs-tag__close",
60
+ variant: "text",
61
+ bordered: false,
62
+ size: "ssm",
63
+ radius: "full",
64
+ icon: "x",
65
+ "icon-size": unref(closeIconSize),
66
+ "icon-only": "",
59
67
  disabled: __props.disabled,
60
68
  "aria-label": unref(t)("tag.close"),
61
69
  onClick: onClose
62
- }, [createVNode(RsIcon_default, {
63
- name: "x",
64
- size: 12
65
- })], 8, _hoisted_2)) : createCommentVNode("", true)], 6);
70
+ }, null, 8, [
71
+ "icon-size",
72
+ "disabled",
73
+ "aria-label"
74
+ ])) : createCommentVNode("", true)], 6);
66
75
  };
67
76
  }
68
77
  });
@@ -3,6 +3,6 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
3
3
  import RsTag_vue_vue_type_script_setup_true_lang_default from "./RsTag.impl.js";
4
4
 
5
5
  //#region src/components/tag/src/RsTag.vue
6
- var RsTag_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsTag_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0140d810"]]);
6
+ var RsTag_default = /*#__PURE__*/ _plugin_vue_export_helper_default(RsTag_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-d8327085"]]);
7
7
  //#endregion
8
8
  export { RsTag_default as default };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * RsTag 语义色。只有色相、没有形态轴,不另开 tone。
3
+ * 可增删的一组标签请用 RsDynamicTags。
4
+ */
5
+ export declare const RS_TAG_VARIANTS: readonly ["default", "primary", "success", "warning", "danger", "info"];
6
+ export type RsTagVariant = (typeof RS_TAG_VARIANTS)[number];
7
+ export declare function isRsTagVariant(value: unknown): value is RsTagVariant;
8
+ export declare function resolveRsTagVariant(variant?: RsTagVariant | null): RsTagVariant;
@@ -87,8 +87,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, RsTerminalE
87
87
  onExtraSelect?: ((key: string) => any) | undefined;
88
88
  }>, {
89
89
  theme: Partial<ITheme>;
90
- loading: boolean;
91
90
  overlay: string;
91
+ loading: boolean;
92
92
  contextMenu: boolean;
93
93
  shortcuts: boolean;
94
94
  inputEnabled: boolean;
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { RsConfigProvider } from './components/config-provider';
2
2
  export { RsBadge } from './components/badge';
3
+ export type { RsBadgeVariant } from './components/badge';
3
4
  export { RsContainer } from './components/container';
4
5
  export { RsBreadcrumb } from './components/breadcrumb';
5
6
  export { RsAnchor } from './components/anchor';
@@ -21,6 +22,7 @@ export { RsDynamicTags } from './components/dynamic-tags';
21
22
  export type { RsDynamicTagsInputMode, RsDynamicTagsRejectReason, } from './components/dynamic-tags';
22
23
  export { RsAlert } from './components/alert';
23
24
  export { RsDivider } from './components/divider';
25
+ export type { RsDividerOrientation } from './components/divider';
24
26
  export { RsDescriptions } from './components/descriptions';
25
27
  export { RsDescriptionsItem } from './components/descriptions';
26
28
  export type { RsDescriptionsItem as RsDescriptionsItemData, RsDescriptionsLabelPlacement, RsDescriptionsSize, } from './components/descriptions';
@@ -38,6 +40,7 @@ export type { RsInputNumberValue } from './components/input-number';
38
40
  export { clampNumber, formatNumberValue, fromModelValue, isNumberInputInterim, normalizeCommittedNumber, parseNumberInput, resolveNumberPrecision, roundToPrecision, stepNumberValue, toModelValue, } from './components/input-number';
39
41
  export { RsLabel } from './components/label';
40
42
  export { RsLink } from './components/link';
43
+ export type { RsLinkTone, RsLinkUnderline } from './components/link';
41
44
  export { RsMenu } from './components/menu';
42
45
  export { RsSelect } from './components/select';
43
46
  export { RsAutoComplete } from './components/auto-complete';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "niuma-ui",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "description": "Vue 3 workbench design system — Rs* components, --rs-* tokens, optional Monaco / CodeMirror / xterm",
@@ -77,8 +77,8 @@
77
77
  "**/*.scss"
78
78
  ],
79
79
  "peerDependencies": {
80
- "vue": "^3.5.0",
81
- "vite": ">=5"
80
+ "vite": ">=5",
81
+ "vue": "^3.5.0"
82
82
  },
83
83
  "peerDependenciesMeta": {
84
84
  "vite": {
@@ -106,18 +106,18 @@
106
106
  "@codemirror/theme-one-dark": "^6.1.3",
107
107
  "@codemirror/view": "^6.43.1",
108
108
  "@lucide/vue": "^1.31.0",
109
+ "@rollup/pluginutils": "^5.3.0",
109
110
  "@xterm/addon-fit": "^0.11.0",
110
111
  "@xterm/addon-search": "^0.16.0",
111
112
  "@xterm/xterm": "^6.0.0",
112
113
  "codemirror": "^6.0.2",
113
114
  "dayjs": "^1.11.21",
114
115
  "dompurify": "^3.4.13",
116
+ "es-module-lexer": "^1.7.0",
117
+ "magic-string": "^0.30.17",
115
118
  "marked": "^18.0.9",
116
119
  "monaco-editor": "^0.55.1",
117
120
  "monaco-sql-languages": "^1.2.0",
118
- "@rollup/pluginutils": "^5.3.0",
119
- "es-module-lexer": "^1.7.0",
120
- "magic-string": "^0.30.17",
121
121
  "reka-ui": "^2.9.10",
122
122
  "vue-sonner": "^2.0.9"
123
123
  },
@@ -132,8 +132,9 @@
132
132
  "vite": "^8.1.3",
133
133
  "vitest": "^4.1.9",
134
134
  "vue": "^3.5.39",
135
- "vue-tsc": "^3.3.6",
136
- "vue-router": "^5.1.0"
135
+ "vue-i18n": "^11.4.12",
136
+ "vue-router": "^5.1.0",
137
+ "vue-tsc": "^3.3.6"
137
138
  },
138
139
  "engines": {
139
140
  "node": ">=20"