@codemonster-ru/vueforge-core 1.1.1 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +1 -0
  2. package/dist/components/accordion/VfAccordion.vue.d.ts.map +1 -1
  3. package/dist/components/accordion/index.d.ts.map +1 -1
  4. package/dist/components/alert/VfAlert.vue.d.ts.map +1 -1
  5. package/dist/components/alert/index.d.ts.map +1 -1
  6. package/dist/components/badge/VfBadge.vue.d.ts.map +1 -1
  7. package/dist/components/badge/index.d.ts.map +1 -1
  8. package/dist/components/button/VfButton.vue.d.ts +1 -1
  9. package/dist/components/button/VfButton.vue.d.ts.map +1 -1
  10. package/dist/components/button/index.d.ts.map +1 -1
  11. package/dist/components/card/VfCard.vue.d.ts.map +1 -1
  12. package/dist/components/card/index.d.ts.map +1 -1
  13. package/dist/components/checkbox/VfCheckbox.vue.d.ts +38 -0
  14. package/dist/components/checkbox/VfCheckbox.vue.d.ts.map +1 -0
  15. package/dist/components/checkbox/index.d.ts +2 -0
  16. package/dist/components/checkbox/index.d.ts.map +1 -0
  17. package/dist/components/dialog/VfDialog.vue.d.ts +5 -1
  18. package/dist/components/dialog/VfDialog.vue.d.ts.map +1 -1
  19. package/dist/components/dialog/index.d.ts.map +1 -1
  20. package/dist/components/divider/VfDivider.vue.d.ts.map +1 -1
  21. package/dist/components/divider/index.d.ts.map +1 -1
  22. package/dist/components/drawer/VfDrawer.vue.d.ts +68 -0
  23. package/dist/components/drawer/VfDrawer.vue.d.ts.map +1 -0
  24. package/dist/components/drawer/index.d.ts +2 -0
  25. package/dist/components/drawer/index.d.ts.map +1 -0
  26. package/dist/components/dropdown/VfDropdown.vue.d.ts +4 -0
  27. package/dist/components/dropdown/VfDropdown.vue.d.ts.map +1 -1
  28. package/dist/components/dropdown/index.d.ts.map +1 -1
  29. package/dist/components/icon-button/VfIconButton.vue.d.ts +1 -1
  30. package/dist/components/icon-button/VfIconButton.vue.d.ts.map +1 -1
  31. package/dist/components/icon-button/index.d.ts.map +1 -1
  32. package/dist/components/index.d.ts +5 -0
  33. package/dist/components/index.d.ts.map +1 -1
  34. package/dist/components/input/VfInput.vue.d.ts.map +1 -1
  35. package/dist/components/input/index.d.ts.map +1 -1
  36. package/dist/components/link/VfLink.vue.d.ts +7 -2
  37. package/dist/components/link/VfLink.vue.d.ts.map +1 -1
  38. package/dist/components/link/index.d.ts.map +1 -1
  39. package/dist/components/nav-menu/VfNavMenu.vue.d.ts +24 -0
  40. package/dist/components/nav-menu/VfNavMenu.vue.d.ts.map +1 -0
  41. package/dist/components/nav-menu/VfNavMenuItemNode.vue.d.ts +23 -0
  42. package/dist/components/nav-menu/VfNavMenuItemNode.vue.d.ts.map +1 -0
  43. package/dist/components/nav-menu/index.d.ts +2 -0
  44. package/dist/components/nav-menu/index.d.ts.map +1 -0
  45. package/dist/components/panel/VfPanel.vue.d.ts.map +1 -1
  46. package/dist/components/panel/index.d.ts.map +1 -1
  47. package/dist/components/popover/VfPopover.vue.d.ts +5 -1
  48. package/dist/components/popover/VfPopover.vue.d.ts.map +1 -1
  49. package/dist/components/popover/index.d.ts.map +1 -1
  50. package/dist/components/radio/VfRadio.vue.d.ts +40 -0
  51. package/dist/components/radio/VfRadio.vue.d.ts.map +1 -0
  52. package/dist/components/radio/index.d.ts +2 -0
  53. package/dist/components/radio/index.d.ts.map +1 -0
  54. package/dist/components/switch/VfSwitch.vue.d.ts +36 -0
  55. package/dist/components/switch/VfSwitch.vue.d.ts.map +1 -0
  56. package/dist/components/switch/index.d.ts +2 -0
  57. package/dist/components/switch/index.d.ts.map +1 -0
  58. package/dist/components/tabs/VfTabs.vue.d.ts.map +1 -1
  59. package/dist/components/tabs/index.d.ts.map +1 -1
  60. package/dist/components/tag/VfTag.vue.d.ts.map +1 -1
  61. package/dist/components/tag/index.d.ts.map +1 -1
  62. package/dist/components/textarea/VfTextarea.vue.d.ts.map +1 -1
  63. package/dist/components/textarea/index.d.ts.map +1 -1
  64. package/dist/components/tooltip/VfTooltip.vue.d.ts +4 -0
  65. package/dist/components/tooltip/VfTooltip.vue.d.ts.map +1 -1
  66. package/dist/components/tooltip/index.d.ts.map +1 -1
  67. package/dist/composables/index.d.ts.map +1 -1
  68. package/dist/composables/useClickOutside.d.ts.map +1 -1
  69. package/dist/composables/useDisclosure.d.ts.map +1 -1
  70. package/dist/composables/useEscapeKey.d.ts +1 -1
  71. package/dist/composables/useEscapeKey.d.ts.map +1 -1
  72. package/dist/composables/useFloating.d.ts.map +1 -1
  73. package/dist/composables/useFocusTrap.d.ts.map +1 -1
  74. package/dist/composables/useId.d.ts.map +1 -1
  75. package/dist/composables/useTheme.d.ts +3 -3
  76. package/dist/foundation/breakpoints.d.ts.map +1 -1
  77. package/dist/foundation/index.d.ts.map +1 -1
  78. package/dist/foundation/useBreakpoint.d.ts +1 -1
  79. package/dist/foundation/useBreakpoint.d.ts.map +1 -1
  80. package/dist/foundation/useBreakpointValue.d.ts.map +1 -1
  81. package/dist/foundation/useBreakpoints.d.ts.map +1 -1
  82. package/dist/foundation/useScrollLock.d.ts.map +1 -1
  83. package/dist/foundation-api.js +1 -1
  84. package/dist/foundation.css +2 -2
  85. package/dist/index.d.ts +6 -6
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/plugin.d.ts.map +1 -1
  88. package/dist/providers/VfThemeProvider.vue.d.ts.map +1 -1
  89. package/dist/providers/themeContext.d.ts.map +1 -1
  90. package/dist/providers/vueForgeConfig.d.ts.map +1 -1
  91. package/dist/styles.css +1 -1
  92. package/dist/theme/default-preset.d.ts.map +1 -1
  93. package/dist/theme/index.d.ts +2 -1
  94. package/dist/theme/index.d.ts.map +1 -1
  95. package/dist/theme/motion.d.ts +2 -0
  96. package/dist/theme/motion.d.ts.map +1 -0
  97. package/dist/theme/public.d.ts +2 -1
  98. package/dist/theme/public.d.ts.map +1 -1
  99. package/dist/theme/utils.d.ts +2 -7
  100. package/dist/theme/utils.d.ts.map +1 -1
  101. package/dist/theme-api.js +220 -2
  102. package/dist/theme.css +107 -8
  103. package/dist/tokens.css +147 -11
  104. package/dist/types/components.d.ts +23 -9
  105. package/dist/types/components.d.ts.map +1 -1
  106. package/dist/types/theme.d.ts +2 -138
  107. package/dist/types/theme.d.ts.map +1 -1
  108. package/dist/{useScrollLock-B7pq1ybb.js → useScrollLock-FYdn9vRp.js} +8 -10
  109. package/dist/utils/theme.d.ts +1 -5
  110. package/dist/utils/theme.d.ts.map +1 -1
  111. package/dist/vueforge-core.js +1649 -750
  112. package/package.json +4 -4
  113. package/dist/public-D2viaiWv.js +0 -202
package/dist/theme-api.js CHANGED
@@ -1,5 +1,223 @@
1
- import { d as t, e as a } from "./public-D2viaiWv.js";
1
+ import { vfMotionTokens as o } from "@codemonster-ru/vueforge-theme";
2
+ import { createThemePreset as t } from "@codemonster-ru/vueforge-theme";
3
+ import { b as r } from "./breakpoints-hxAiWC8U.js";
4
+ const e = {
5
+ breakpointXs: `${r.xs}px`,
6
+ breakpointSm: `${r.sm}px`,
7
+ breakpointMd: `${r.md}px`,
8
+ breakpointLg: `${r.lg}px`,
9
+ breakpointXl: `${r.xl}px`,
10
+ breakpoint2xl: `${r["2xl"]}px`
11
+ }, i = {
12
+ name: "vueforge-default",
13
+ tokens: {
14
+ colorBg: "#fcfcfd",
15
+ colorSurface: "#ffffff",
16
+ colorSurfaceMuted: "#f5f7fb",
17
+ colorText: "#172033",
18
+ colorMuted: "#69738a",
19
+ colorBorder: "#d8e0ef",
20
+ colorPrimary: "#0b63f6",
21
+ colorPrimaryContrast: "#ffffff",
22
+ colorPrimarySoft: "color-mix(in srgb, var(--vf-color-primary) 12%, var(--vf-color-surface))",
23
+ colorPrimaryBorderSoft: "color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border))",
24
+ colorFocusRing: "color-mix(in srgb, var(--vf-color-primary) 32%, var(--vf-color-surface))",
25
+ colorSuccess: "#16a34a",
26
+ colorSuccessContrast: "#ffffff",
27
+ colorInfo: "#0ea5e9",
28
+ colorInfoContrast: "#ffffff",
29
+ colorWarn: "#f59e0b",
30
+ colorWarnContrast: "#1f1300",
31
+ colorHelp: "#8b5cf6",
32
+ colorHelpContrast: "#ffffff",
33
+ colorDanger: "#dc2626",
34
+ colorDangerContrast: "#ffffff",
35
+ colorContrast: "#111827",
36
+ colorContrastContrast: "#ffffff",
37
+ colorSuccessSoft: "color-mix(in srgb, var(--vf-color-success) 12%, var(--vf-color-surface))",
38
+ colorInfoSoft: "color-mix(in srgb, var(--vf-color-info) 12%, var(--vf-color-surface))",
39
+ colorWarnSoft: "color-mix(in srgb, var(--vf-color-warn) 12%, var(--vf-color-surface))",
40
+ colorHelpSoft: "color-mix(in srgb, var(--vf-color-help) 12%, var(--vf-color-surface))",
41
+ colorDangerSoft: "color-mix(in srgb, var(--vf-color-danger) 12%, var(--vf-color-surface))",
42
+ colorContrastSoft: "color-mix(in srgb, var(--vf-color-contrast) 10%, var(--vf-color-surface))",
43
+ colorSuccessBorderSoft: "color-mix(in srgb, var(--vf-color-success) 24%, var(--vf-color-border))",
44
+ colorInfoBorderSoft: "color-mix(in srgb, var(--vf-color-info) 24%, var(--vf-color-border))",
45
+ colorWarnBorderSoft: "color-mix(in srgb, var(--vf-color-warn) 24%, var(--vf-color-border))",
46
+ colorHelpBorderSoft: "color-mix(in srgb, var(--vf-color-help) 24%, var(--vf-color-border))",
47
+ colorDangerBorderSoft: "color-mix(in srgb, var(--vf-color-danger) 24%, var(--vf-color-border))",
48
+ colorContrastBorderSoft: "color-mix(in srgb, var(--vf-color-contrast) 24%, var(--vf-color-border))",
49
+ focusRingWidth: "3px",
50
+ radius: "0.75rem",
51
+ radiusControl: "calc(var(--vf-radius) - 0.125rem)",
52
+ radiusControlTight: "calc(var(--vf-radius) - 0.25rem)",
53
+ radiusSurface: "var(--vf-radius)",
54
+ radiusOverlay: "calc(var(--vf-radius) + 0.125rem)",
55
+ ...e,
56
+ controlHeightSm: "1.75rem",
57
+ controlHeightMd: "2.25rem",
58
+ controlHeightLg: "2.5rem",
59
+ controlFontSizeSm: "0.875rem",
60
+ controlFontSizeMd: "0.9375rem",
61
+ controlFontSizeLg: "1rem",
62
+ buttonPaddingSm: "0.25rem 0.55rem",
63
+ buttonPaddingMd: "0.375rem 0.75rem",
64
+ buttonPaddingLg: "0.5rem 0.875rem",
65
+ buttonGap: "0.5rem",
66
+ fieldPaddingSm: "0.25rem 0.55rem",
67
+ fieldPaddingMd: "0.375rem 0.65rem",
68
+ fieldPaddingLg: "0.5rem 0.75rem",
69
+ checkboxSizeSm: "1rem",
70
+ checkboxSizeMd: "1.125rem",
71
+ checkboxSizeLg: "1.25rem",
72
+ selectionGap: "0.65rem",
73
+ checkboxMarkWidth: "0.3rem",
74
+ checkboxMarkHeight: "0.55rem",
75
+ checkboxMarkStrokeWidth: "2px",
76
+ checkboxMarkOffsetY: "-0.05rem",
77
+ radioDotSize: "0.5rem",
78
+ switchWidthSm: "2rem",
79
+ switchWidthMd: "2.25rem",
80
+ switchWidthLg: "2.5rem",
81
+ switchHeightSm: "1.125rem",
82
+ switchHeightMd: "1.25rem",
83
+ switchHeightLg: "1.375rem",
84
+ switchThumbSizeSm: "0.75rem",
85
+ switchThumbSizeMd: "0.875rem",
86
+ switchThumbSizeLg: "1rem",
87
+ switchThumbInset: "0.1875rem",
88
+ textareaMinHeightSm: "4.5rem",
89
+ textareaMinHeightMd: "6rem",
90
+ textareaMinHeightLg: "7rem",
91
+ overlayPadding: "0.875rem",
92
+ overlayGap: "0.75rem",
93
+ overlayViewportPadding: "1rem",
94
+ menuPadding: "0.4rem",
95
+ menuGap: "0.2rem",
96
+ menuMinWidth: "12rem",
97
+ surfacePadding: "0.95rem",
98
+ surfaceGap: "0.625rem",
99
+ surfacePaddingCompact: "0.7rem",
100
+ surfaceGapCompact: "0.5rem",
101
+ sectionPadding: "0.75rem 0.9rem",
102
+ sectionGap: "0.75rem",
103
+ tabsGap: "0.875rem",
104
+ tabsListGap: "0.375rem",
105
+ tabsListPadding: "0.25rem",
106
+ tabsTabPaddingInline: "0.8rem",
107
+ tabsPanelPaddingTop: "0.75rem",
108
+ navMenuListGap: "0.2rem",
109
+ navMenuNestedGap: "0.15rem",
110
+ navMenuCollapseOffsetTop: "0.1rem",
111
+ navMenuCollapseInsetLevel0Margin: "1.275rem",
112
+ navMenuCollapseInsetLevel0Padding: "0.7rem",
113
+ navMenuCollapseInsetSimpleLevel0Margin: "0.75rem",
114
+ navMenuCollapseInsetSimpleLevel0Padding: "0.45rem",
115
+ navMenuCollapseInsetDeepMargin: "0.35rem",
116
+ navMenuCollapseInsetDeepPadding: "0.35rem",
117
+ navMenuCollapseInsetSimpleDeepMargin: "0.2rem",
118
+ navMenuCollapseInsetSimpleDeepPadding: "0.2rem",
119
+ navMenuNodeGroupSpacing: "0.1rem",
120
+ navMenuGroupPadding: "0.35rem 0.65rem",
121
+ navMenuGroupFontSize: "0.875rem",
122
+ navMenuItemPadding: "0.35rem 0.65rem",
123
+ navMenuItemGap: "0.55rem",
124
+ navMenuLeadingIconSize: "1rem",
125
+ navMenuLeadingIconColumnSize: "1.25rem",
126
+ badgeHeight: "1.625rem",
127
+ badgePadding: "0.2rem 0.55rem",
128
+ badgeGap: "0.375rem",
129
+ badgeRadius: "999px",
130
+ badgeFontSize: "0.8125rem",
131
+ badgeLineHeight: "1.2",
132
+ tagHeight: "1.75rem",
133
+ tagPadding: "0.25rem 0.6rem",
134
+ tagFontSize: "0.8125rem",
135
+ tagLineHeight: "1.2",
136
+ tooltipPadding: "0.45rem 0.65rem",
137
+ tooltipMaxWidth: "16rem",
138
+ tooltipFontSize: "0.8125rem",
139
+ tooltipLineHeight: "1.4",
140
+ dialogWidthSm: "28rem",
141
+ dialogWidthMd: "36rem",
142
+ dialogWidthLg: "48rem",
143
+ dialogMaxHeight: "min(85vh, 48rem)",
144
+ drawerSizeSm: "20rem",
145
+ drawerSizeMd: "26rem",
146
+ drawerSizeLg: "32rem",
147
+ drawerOffsetTop: "0px",
148
+ drawerBodyPadding: "var(--vf-overlay-padding)",
149
+ dialogTitleFontSize: "1.125rem",
150
+ dialogHeaderGap: "0.75rem",
151
+ dialogActionsGap: "0.5rem",
152
+ popoverWidth: "min(100vw - 2rem, 22rem)",
153
+ floatingArrowSize: "0.625rem",
154
+ overlayBackdrop: "rgba(15, 23, 42, 0.56)",
155
+ alertPrimarySoft: "color-mix(in srgb, var(--vf-color-primary) 8%, var(--vf-color-surface))",
156
+ alertPrimaryBorderSoft: "color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border))",
157
+ alertContentGap: "0.25rem",
158
+ alertTitleFontSize: "0.9375rem",
159
+ cardTitleFontSize: "1rem",
160
+ panelTitleFontSize: "0.9375rem",
161
+ textLineHeight: "1.5",
162
+ headingLineHeight: "1.3",
163
+ tabsLineHeight: "1.2",
164
+ motionDurationFast: o.durationFast,
165
+ motionDurationNormal: o.durationNormal,
166
+ motionEaseStandard: o.easeStandard,
167
+ zOverlay: "1000",
168
+ zDrawer: "1000",
169
+ zDropdown: "900",
170
+ zPopover: "925",
171
+ zTooltip: "950",
172
+ spacing: "1rem",
173
+ shadow: "none"
174
+ },
175
+ dark: {
176
+ colorBg: "#0f172a",
177
+ colorSurface: "#162033",
178
+ colorSurfaceMuted: "#1b2840",
179
+ colorText: "#eff4ff",
180
+ colorMuted: "#9fb0cf",
181
+ colorBorder: "#2d405f",
182
+ colorPrimary: "#6ea8fe",
183
+ colorPrimaryContrast: "#081120",
184
+ colorPrimarySoft: "color-mix(in srgb, var(--vf-color-primary) 12%, var(--vf-color-surface))",
185
+ colorPrimaryBorderSoft: "color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border))",
186
+ colorFocusRing: "color-mix(in srgb, var(--vf-color-primary) 32%, var(--vf-color-surface))",
187
+ colorSuccess: "#4ade80",
188
+ colorSuccessContrast: "#081120",
189
+ colorInfo: "#38bdf8",
190
+ colorInfoContrast: "#081120",
191
+ colorWarn: "#fbbf24",
192
+ colorWarnContrast: "#1f1300",
193
+ colorHelp: "#a78bfa",
194
+ colorHelpContrast: "#081120",
195
+ colorDanger: "#f87171",
196
+ colorDangerContrast: "#081120",
197
+ colorContrast: "#f3f4f6",
198
+ colorContrastContrast: "#111827",
199
+ colorSuccessSoft: "color-mix(in srgb, var(--vf-color-success) 12%, var(--vf-color-surface))",
200
+ colorInfoSoft: "color-mix(in srgb, var(--vf-color-info) 12%, var(--vf-color-surface))",
201
+ colorWarnSoft: "color-mix(in srgb, var(--vf-color-warn) 12%, var(--vf-color-surface))",
202
+ colorHelpSoft: "color-mix(in srgb, var(--vf-color-help) 12%, var(--vf-color-surface))",
203
+ colorDangerSoft: "color-mix(in srgb, var(--vf-color-danger) 12%, var(--vf-color-surface))",
204
+ colorContrastSoft: "color-mix(in srgb, var(--vf-color-contrast) 10%, var(--vf-color-surface))",
205
+ colorSuccessBorderSoft: "color-mix(in srgb, var(--vf-color-success) 24%, var(--vf-color-border))",
206
+ colorInfoBorderSoft: "color-mix(in srgb, var(--vf-color-info) 24%, var(--vf-color-border))",
207
+ colorWarnBorderSoft: "color-mix(in srgb, var(--vf-color-warn) 24%, var(--vf-color-border))",
208
+ colorHelpBorderSoft: "color-mix(in srgb, var(--vf-color-help) 24%, var(--vf-color-border))",
209
+ colorDangerBorderSoft: "color-mix(in srgb, var(--vf-color-danger) 24%, var(--vf-color-border))",
210
+ colorContrastBorderSoft: "color-mix(in srgb, var(--vf-color-contrast) 24%, var(--vf-color-border))",
211
+ focusRingWidth: "3px",
212
+ zOverlay: "1000",
213
+ zDrawer: "1000",
214
+ zDropdown: "900",
215
+ zPopover: "925",
216
+ zTooltip: "950",
217
+ shadow: "none"
218
+ }
219
+ };
2
220
  export {
3
221
  t as createThemePreset,
4
- a as defaultThemePreset
222
+ i as defaultThemePreset
5
223
  };
package/dist/theme.css CHANGED
@@ -6,7 +6,7 @@
6
6
  color: var(--vf-color-text);
7
7
  }
8
8
 
9
- :root[data-vf-theme='dark'] {
9
+ :root[data-vf-theme="dark"] {
10
10
  color-scheme: dark;
11
11
  --vf-color-bg: #0f172a;
12
12
  --vf-color-surface: #162033;
@@ -16,14 +16,113 @@
16
16
  --vf-color-border: #2d405f;
17
17
  --vf-color-primary: #6ea8fe;
18
18
  --vf-color-primary-contrast: #081120;
19
- --vf-color-primary-soft: color-mix(in srgb, var(--vf-color-primary) 12%, var(--vf-color-surface));
20
- --vf-color-primary-border-soft: color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border));
21
- --vf-color-focus-ring: color-mix(in srgb, var(--vf-color-primary) 52%, var(--vf-color-surface));
19
+ --vf-color-primary-soft: color-mix(
20
+ in srgb,
21
+ var(--vf-color-primary) 12%,
22
+ var(--vf-color-surface)
23
+ );
24
+ --vf-color-primary-border-soft: color-mix(
25
+ in srgb,
26
+ var(--vf-color-primary) 22%,
27
+ var(--vf-color-border)
28
+ );
29
+ --vf-color-focus-ring: color-mix(
30
+ in srgb,
31
+ var(--vf-color-primary) 32%,
32
+ var(--vf-color-surface)
33
+ );
22
34
  --vf-color-success: #4ade80;
35
+ --vf-color-success-contrast: #081120;
36
+ --vf-color-info: #38bdf8;
37
+ --vf-color-info-contrast: #081120;
38
+ --vf-color-warn: #fbbf24;
39
+ --vf-color-warn-contrast: #1f1300;
40
+ --vf-color-help: #a78bfa;
41
+ --vf-color-help-contrast: #081120;
23
42
  --vf-color-danger: #f87171;
24
- --vf-color-success-soft: color-mix(in srgb, var(--vf-color-success) 12%, var(--vf-color-surface));
25
- --vf-color-danger-soft: color-mix(in srgb, var(--vf-color-danger) 12%, var(--vf-color-surface));
26
- --vf-color-success-border-soft: color-mix(in srgb, var(--vf-color-success) 24%, var(--vf-color-border));
27
- --vf-color-danger-border-soft: color-mix(in srgb, var(--vf-color-danger) 24%, var(--vf-color-border));
43
+ --vf-color-danger-contrast: #081120;
44
+ --vf-color-contrast: #f3f4f6;
45
+ --vf-color-contrast-contrast: #111827;
46
+ --vf-color-success-soft: color-mix(
47
+ in srgb,
48
+ var(--vf-color-success) 12%,
49
+ var(--vf-color-surface)
50
+ );
51
+ --vf-color-info-soft: color-mix(
52
+ in srgb,
53
+ var(--vf-color-info) 12%,
54
+ var(--vf-color-surface)
55
+ );
56
+ --vf-color-warn-soft: color-mix(
57
+ in srgb,
58
+ var(--vf-color-warn) 12%,
59
+ var(--vf-color-surface)
60
+ );
61
+ --vf-color-help-soft: color-mix(
62
+ in srgb,
63
+ var(--vf-color-help) 12%,
64
+ var(--vf-color-surface)
65
+ );
66
+ --vf-color-danger-soft: color-mix(
67
+ in srgb,
68
+ var(--vf-color-danger) 12%,
69
+ var(--vf-color-surface)
70
+ );
71
+ --vf-color-contrast-soft: color-mix(
72
+ in srgb,
73
+ var(--vf-color-contrast) 10%,
74
+ var(--vf-color-surface)
75
+ );
76
+ --vf-color-success-border-soft: color-mix(
77
+ in srgb,
78
+ var(--vf-color-success) 24%,
79
+ var(--vf-color-border)
80
+ );
81
+ --vf-color-info-border-soft: color-mix(
82
+ in srgb,
83
+ var(--vf-color-info) 24%,
84
+ var(--vf-color-border)
85
+ );
86
+ --vf-color-warn-border-soft: color-mix(
87
+ in srgb,
88
+ var(--vf-color-warn) 24%,
89
+ var(--vf-color-border)
90
+ );
91
+ --vf-color-help-border-soft: color-mix(
92
+ in srgb,
93
+ var(--vf-color-help) 24%,
94
+ var(--vf-color-border)
95
+ );
96
+ --vf-color-danger-border-soft: color-mix(
97
+ in srgb,
98
+ var(--vf-color-danger) 24%,
99
+ var(--vf-color-border)
100
+ );
101
+ --vf-color-contrast-border-soft: color-mix(
102
+ in srgb,
103
+ var(--vf-color-contrast) 24%,
104
+ var(--vf-color-border)
105
+ );
28
106
  --vf-shadow: none;
29
107
  }
108
+
109
+ :root.vf-theme-transitioning,
110
+ :root.vf-theme-transitioning body,
111
+ :root.vf-theme-transitioning #app,
112
+ :root.vf-theme-transitioning [class^="vf-"],
113
+ :root.vf-theme-transitioning [class*=" vf-"],
114
+ :root.vf-theme-transitioning .demo-page,
115
+ :root.vf-theme-transitioning .demo-container,
116
+ :root.vf-theme-transitioning .demo-header,
117
+ :root.vf-theme-transitioning .demo-block,
118
+ :root.vf-theme-transitioning .demo-example,
119
+ :root.vf-theme-transitioning .demo-item {
120
+ transition:
121
+ background-color var(--vf-motion-duration-normal)
122
+ var(--vf-motion-ease-standard),
123
+ border-color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),
124
+ color var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),
125
+ box-shadow var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),
126
+ fill var(--vf-motion-duration-normal) var(--vf-motion-ease-standard),
127
+ stroke var(--vf-motion-duration-normal) var(--vf-motion-ease-standard);
128
+ }
package/dist/tokens.css CHANGED
@@ -1,6 +1,6 @@
1
1
  /* Fallback baseline tokens for package CSS consumers.
2
2
  Canonical token values live in src/theme/default-preset.ts. */
3
- @import './generated-breakpoints.css';
3
+ @import "./generated-breakpoints.css";
4
4
 
5
5
  :root {
6
6
  --vf-color-bg: #fcfcfd;
@@ -11,15 +11,94 @@
11
11
  --vf-color-border: #d8e0ef;
12
12
  --vf-color-primary: #0b63f6;
13
13
  --vf-color-primary-contrast: #ffffff;
14
- --vf-color-primary-soft: color-mix(in srgb, var(--vf-color-primary) 12%, var(--vf-color-surface));
15
- --vf-color-primary-border-soft: color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border));
16
- --vf-color-focus-ring: color-mix(in srgb, var(--vf-color-primary) 52%, var(--vf-color-surface));
14
+ --vf-color-primary-soft: color-mix(
15
+ in srgb,
16
+ var(--vf-color-primary) 12%,
17
+ var(--vf-color-surface)
18
+ );
19
+ --vf-color-primary-border-soft: color-mix(
20
+ in srgb,
21
+ var(--vf-color-primary) 22%,
22
+ var(--vf-color-border)
23
+ );
24
+ --vf-color-focus-ring: color-mix(
25
+ in srgb,
26
+ var(--vf-color-primary) 32%,
27
+ var(--vf-color-surface)
28
+ );
17
29
  --vf-color-success: #16a34a;
30
+ --vf-color-success-contrast: #ffffff;
31
+ --vf-color-info: #0ea5e9;
32
+ --vf-color-info-contrast: #ffffff;
33
+ --vf-color-warn: #f59e0b;
34
+ --vf-color-warn-contrast: #1f1300;
35
+ --vf-color-help: #8b5cf6;
36
+ --vf-color-help-contrast: #ffffff;
18
37
  --vf-color-danger: #dc2626;
19
- --vf-color-success-soft: color-mix(in srgb, var(--vf-color-success) 12%, var(--vf-color-surface));
20
- --vf-color-danger-soft: color-mix(in srgb, var(--vf-color-danger) 12%, var(--vf-color-surface));
21
- --vf-color-success-border-soft: color-mix(in srgb, var(--vf-color-success) 24%, var(--vf-color-border));
22
- --vf-color-danger-border-soft: color-mix(in srgb, var(--vf-color-danger) 24%, var(--vf-color-border));
38
+ --vf-color-danger-contrast: #ffffff;
39
+ --vf-color-contrast: #111827;
40
+ --vf-color-contrast-contrast: #ffffff;
41
+ --vf-color-success-soft: color-mix(
42
+ in srgb,
43
+ var(--vf-color-success) 12%,
44
+ var(--vf-color-surface)
45
+ );
46
+ --vf-color-info-soft: color-mix(
47
+ in srgb,
48
+ var(--vf-color-info) 12%,
49
+ var(--vf-color-surface)
50
+ );
51
+ --vf-color-warn-soft: color-mix(
52
+ in srgb,
53
+ var(--vf-color-warn) 12%,
54
+ var(--vf-color-surface)
55
+ );
56
+ --vf-color-help-soft: color-mix(
57
+ in srgb,
58
+ var(--vf-color-help) 12%,
59
+ var(--vf-color-surface)
60
+ );
61
+ --vf-color-danger-soft: color-mix(
62
+ in srgb,
63
+ var(--vf-color-danger) 12%,
64
+ var(--vf-color-surface)
65
+ );
66
+ --vf-color-contrast-soft: color-mix(
67
+ in srgb,
68
+ var(--vf-color-contrast) 10%,
69
+ var(--vf-color-surface)
70
+ );
71
+ --vf-color-success-border-soft: color-mix(
72
+ in srgb,
73
+ var(--vf-color-success) 24%,
74
+ var(--vf-color-border)
75
+ );
76
+ --vf-color-info-border-soft: color-mix(
77
+ in srgb,
78
+ var(--vf-color-info) 24%,
79
+ var(--vf-color-border)
80
+ );
81
+ --vf-color-warn-border-soft: color-mix(
82
+ in srgb,
83
+ var(--vf-color-warn) 24%,
84
+ var(--vf-color-border)
85
+ );
86
+ --vf-color-help-border-soft: color-mix(
87
+ in srgb,
88
+ var(--vf-color-help) 24%,
89
+ var(--vf-color-border)
90
+ );
91
+ --vf-color-danger-border-soft: color-mix(
92
+ in srgb,
93
+ var(--vf-color-danger) 24%,
94
+ var(--vf-color-border)
95
+ );
96
+ --vf-color-contrast-border-soft: color-mix(
97
+ in srgb,
98
+ var(--vf-color-contrast) 24%,
99
+ var(--vf-color-border)
100
+ );
101
+ --vf-focus-ring-width: 3px;
23
102
  --vf-radius: 0.75rem;
24
103
  --vf-radius-control: calc(var(--vf-radius) - 0.125rem);
25
104
  --vf-radius-control-tight: calc(var(--vf-radius) - 0.25rem);
@@ -38,6 +117,25 @@
38
117
  --vf-field-padding-sm: 0.25rem 0.55rem;
39
118
  --vf-field-padding-md: 0.375rem 0.65rem;
40
119
  --vf-field-padding-lg: 0.5rem 0.75rem;
120
+ --vf-checkbox-size-sm: 1rem;
121
+ --vf-checkbox-size-md: 1.125rem;
122
+ --vf-checkbox-size-lg: 1.25rem;
123
+ --vf-selection-gap: 0.65rem;
124
+ --vf-checkbox-mark-width: 0.3rem;
125
+ --vf-checkbox-mark-height: 0.55rem;
126
+ --vf-checkbox-mark-stroke-width: 2px;
127
+ --vf-checkbox-mark-offset-y: -0.05rem;
128
+ --vf-radio-dot-size: 0.5rem;
129
+ --vf-switch-width-sm: 2rem;
130
+ --vf-switch-width-md: 2.25rem;
131
+ --vf-switch-width-lg: 2.5rem;
132
+ --vf-switch-height-sm: 1.125rem;
133
+ --vf-switch-height-md: 1.25rem;
134
+ --vf-switch-height-lg: 1.375rem;
135
+ --vf-switch-thumb-size-sm: 0.75rem;
136
+ --vf-switch-thumb-size-md: 0.875rem;
137
+ --vf-switch-thumb-size-lg: 1rem;
138
+ --vf-switch-thumb-inset: 0.1875rem;
41
139
  --vf-textarea-min-height-sm: 4.5rem;
42
140
  --vf-textarea-min-height-md: 6rem;
43
141
  --vf-textarea-min-height-lg: 7rem;
@@ -58,6 +156,24 @@
58
156
  --vf-tabs-list-padding: 0.25rem;
59
157
  --vf-tabs-tab-padding-inline: 0.8rem;
60
158
  --vf-tabs-panel-padding-top: 0.75rem;
159
+ --vf-nav-menu-list-gap: 0.2rem;
160
+ --vf-nav-menu-nested-gap: 0.15rem;
161
+ --vf-nav-menu-collapse-offset-top: 0.1rem;
162
+ --vf-nav-menu-collapse-inset-level-0-margin: 1.275rem;
163
+ --vf-nav-menu-collapse-inset-level-0-padding: 0.7rem;
164
+ --vf-nav-menu-collapse-inset-simple-level-0-margin: 0.75rem;
165
+ --vf-nav-menu-collapse-inset-simple-level-0-padding: 0.45rem;
166
+ --vf-nav-menu-collapse-inset-deep-margin: 0.35rem;
167
+ --vf-nav-menu-collapse-inset-deep-padding: 0.35rem;
168
+ --vf-nav-menu-collapse-inset-simple-deep-margin: 0.2rem;
169
+ --vf-nav-menu-collapse-inset-simple-deep-padding: 0.2rem;
170
+ --vf-nav-menu-node-group-spacing: 0.1rem;
171
+ --vf-nav-menu-group-padding: 0.35rem 0.65rem;
172
+ --vf-nav-menu-group-font-size: 0.875rem;
173
+ --vf-nav-menu-item-padding: 0.35rem 0.65rem;
174
+ --vf-nav-menu-item-gap: 0.55rem;
175
+ --vf-nav-menu-leading-icon-size: 1rem;
176
+ --vf-nav-menu-leading-icon-column-size: 1.25rem;
61
177
  --vf-badge-height: 1.625rem;
62
178
  --vf-badge-padding: 0.2rem 0.55rem;
63
179
  --vf-badge-gap: 0.375rem;
@@ -76,15 +192,27 @@
76
192
  --vf-dialog-width-md: 36rem;
77
193
  --vf-dialog-width-lg: 48rem;
78
194
  --vf-dialog-max-height: min(85vh, 48rem);
195
+ --vf-drawer-size-sm: 20rem;
196
+ --vf-drawer-size-md: 26rem;
197
+ --vf-drawer-size-lg: 32rem;
198
+ --vf-drawer-offset-top: 0px;
199
+ --vf-drawer-body-padding: var(--vf-overlay-padding);
79
200
  --vf-dialog-title-font-size: 1.125rem;
80
201
  --vf-dialog-header-gap: 0.75rem;
81
202
  --vf-dialog-actions-gap: 0.5rem;
82
203
  --vf-popover-width: min(100vw - 2rem, 22rem);
83
204
  --vf-floating-arrow-size: 0.625rem;
84
205
  --vf-overlay-backdrop: rgba(15, 23, 42, 0.56);
85
- --vf-overlay-backdrop-blur: 6px;
86
- --vf-alert-primary-soft: color-mix(in srgb, var(--vf-color-primary) 8%, var(--vf-color-surface));
87
- --vf-alert-primary-border-soft: color-mix(in srgb, var(--vf-color-primary) 22%, var(--vf-color-border));
206
+ --vf-alert-primary-soft: color-mix(
207
+ in srgb,
208
+ var(--vf-color-primary) 8%,
209
+ var(--vf-color-surface)
210
+ );
211
+ --vf-alert-primary-border-soft: color-mix(
212
+ in srgb,
213
+ var(--vf-color-primary) 22%,
214
+ var(--vf-color-border)
215
+ );
88
216
  --vf-alert-content-gap: 0.25rem;
89
217
  --vf-alert-title-font-size: 0.9375rem;
90
218
  --vf-card-title-font-size: 1rem;
@@ -92,6 +220,14 @@
92
220
  --vf-text-line-height: 1.5;
93
221
  --vf-heading-line-height: 1.3;
94
222
  --vf-tabs-line-height: 1.2;
223
+ --vf-motion-duration-fast: 220ms;
224
+ --vf-motion-duration-normal: 320ms;
225
+ --vf-motion-ease-standard: cubic-bezier(0.16, 1, 0.3, 1);
226
+ --vf-z-overlay: 1000;
227
+ --vf-z-drawer: 1000;
228
+ --vf-z-dropdown: 900;
229
+ --vf-z-popover: 925;
230
+ --vf-z-tooltip: 950;
95
231
  --vf-spacing: 1rem;
96
232
  --vf-shadow: none;
97
233
  }
@@ -1,15 +1,29 @@
1
- export type VfButtonVariant = 'primary' | 'secondary' | 'ghost';
2
- export type VfControlSize = 'sm' | 'md' | 'lg';
3
- export type VfLinkTone = 'default' | 'muted';
4
- export type VfBadgeTone = 'neutral' | 'primary' | 'success' | 'danger';
5
- export type VfFeedbackTone = 'neutral' | 'primary' | 'success' | 'danger';
6
- export type VfDividerOrientation = 'horizontal' | 'vertical';
7
- export type VfDialogSize = 'sm' | 'md' | 'lg';
8
- export type VfDropdownPlacement = 'bottom-start' | 'bottom-end';
9
- export type VfTooltipPlacement = 'top' | 'bottom';
1
+ import { IconName } from '@codemonster-ru/vueiconify';
2
+ export type VfButtonVariant = "primary" | "secondary" | "success" | "info" | "warn" | "help" | "danger" | "contrast" | "ghost";
3
+ export type VfControlSize = "sm" | "md" | "lg";
4
+ export type VfLinkTone = "default" | "muted";
5
+ export type VfBadgeTone = "neutral" | "primary" | "success" | "info" | "warn" | "help" | "danger" | "contrast";
6
+ export type VfFeedbackTone = "neutral" | "primary" | "success" | "info" | "warn" | "help" | "danger" | "contrast";
7
+ export type VfDividerOrientation = "horizontal" | "vertical";
8
+ export type VfDialogSize = "sm" | "md" | "lg";
9
+ export type VfDrawerPlacement = "left" | "right" | "top" | "bottom";
10
+ export type VfDropdownPlacement = "bottom-start" | "bottom-end";
11
+ export type VfTooltipPlacement = "top" | "bottom";
10
12
  export interface VfTabItem {
11
13
  value: string;
12
14
  label: string;
13
15
  disabled?: boolean;
14
16
  }
17
+ export interface VfNavMenuItem {
18
+ value: string;
19
+ label: string;
20
+ kind?: "item" | "group";
21
+ leadingIcon?: IconName | string;
22
+ href?: string;
23
+ to?: string | Record<string, unknown>;
24
+ target?: string;
25
+ rel?: string;
26
+ disabled?: boolean;
27
+ children?: VfNavMenuItem[];
28
+ }
15
29
  //# sourceMappingURL=components.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/types/components.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAA;AAC/D,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAC9C,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,CAAA;AAC5C,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;AACtE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;AACzE,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,UAAU,CAAA;AAC5D,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAC7C,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,YAAY,CAAA;AAC/D,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,QAAQ,CAAA;AAEjD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/types/components.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAE3D,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,WAAW,GACX,SAAS,GACT,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,GACV,OAAO,CAAC;AACZ,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC/C,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,OAAO,CAAC;AAC7C,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,SAAS,GACT,SAAS,GACT,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,CAAC;AACf,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,SAAS,GACT,SAAS,GACT,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,UAAU,CAAC;AACf,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,UAAU,CAAC;AAC7D,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9C,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AACpE,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,YAAY,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAElD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B"}