@uzum-tech/ui 1.4.2 → 1.5.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 (221) hide show
  1. package/dist/index.js +65404 -64355
  2. package/dist/index.prod.js +3 -3
  3. package/es/_internal/index.d.ts +2 -0
  4. package/es/_internal/index.js +1 -0
  5. package/es/_internal/typography/index.d.ts +2 -0
  6. package/es/_internal/typography/index.js +1 -0
  7. package/es/_internal/typography/src/styles/text.cssr.d.ts +2 -0
  8. package/es/_internal/typography/src/styles/text.cssr.js +78 -0
  9. package/es/_internal/typography/src/text.d.ts +246 -0
  10. package/es/_internal/typography/src/text.js +79 -0
  11. package/es/_internal/typography/src/variants.d.ts +13 -0
  12. package/es/_internal/typography/src/variants.js +132 -0
  13. package/es/_internal/typography/styles/dark.d.ts +3 -0
  14. package/es/_internal/typography/styles/dark.js +8 -0
  15. package/es/_internal/typography/styles/index.d.ts +3 -0
  16. package/es/_internal/typography/styles/index.js +2 -0
  17. package/es/_internal/typography/styles/light.d.ts +24 -0
  18. package/es/_internal/typography/styles/light.js +28 -0
  19. package/es/_styles/common/_common.d.ts +2 -0
  20. package/es/_styles/common/_common.js +3 -1
  21. package/es/_styles/common/light.d.ts +2 -0
  22. package/es/action-card/index.d.ts +4 -0
  23. package/es/action-card/index.js +2 -0
  24. package/es/action-card/src/ActionCard.d.ts +313 -0
  25. package/es/action-card/src/ActionCard.js +101 -0
  26. package/es/action-card/src/styles/index.cssr.d.ts +2 -0
  27. package/es/action-card/src/styles/index.cssr.js +113 -0
  28. package/es/action-card/styles/dark.d.ts +3 -0
  29. package/es/action-card/styles/dark.js +11 -0
  30. package/es/action-card/styles/index.d.ts +3 -0
  31. package/es/action-card/styles/index.js +2 -0
  32. package/es/action-card/styles/light.d.ts +29 -0
  33. package/es/action-card/styles/light.js +33 -0
  34. package/es/avatar/src/Avatar.d.ts +13 -3
  35. package/es/avatar/src/Avatar.js +4 -3
  36. package/es/avatar/src/styles/index.cssr.js +3 -2
  37. package/es/avatar/styles/light.d.ts +1 -0
  38. package/es/avatar/styles/light.js +4 -3
  39. package/es/avatar-group/src/AvatarGroup.d.ts +10 -0
  40. package/es/avatar-group/styles/light.d.ts +1 -0
  41. package/es/badge/src/Badge.d.ts +10 -0
  42. package/es/badge/src/Badge.js +3 -2
  43. package/es/badge/src/styles/index.cssr.js +19 -1
  44. package/es/badge/styles/light.d.ts +1 -0
  45. package/es/badge/styles/light.js +4 -3
  46. package/es/components.d.ts +1 -0
  47. package/es/components.js +1 -0
  48. package/es/config-provider/src/internal-interface.d.ts +2 -0
  49. package/es/data-table/src/DataTable.d.ts +14 -0
  50. package/es/data-table/src/DataTable.js +3 -3
  51. package/es/data-table/src/HeaderButton/FilterButton.d.ts +2 -0
  52. package/es/data-table/src/HeaderButton/FilterMenu.d.ts +2 -0
  53. package/es/data-table/src/TableParts/Body.d.ts +2 -0
  54. package/es/data-table/src/TableParts/Body.js +10 -1
  55. package/es/data-table/src/TableParts/BodySkeleton.d.ts +18 -0
  56. package/es/data-table/src/TableParts/BodySkeleton.js +52 -0
  57. package/es/data-table/src/TableParts/Header.d.ts +2 -0
  58. package/es/data-table/src/interface.d.ts +6 -0
  59. package/es/data-table/src/styles/index.cssr.js +1 -1
  60. package/es/data-table/styles/light.d.ts +2 -0
  61. package/es/data-table/styles/light.js +1 -1
  62. package/es/dialog/src/DialogProvider.d.ts +4 -0
  63. package/es/icon-wrapper/src/IconWrapper.d.ts +1 -1
  64. package/es/modal/src/BodyWrapper.d.ts +1 -0
  65. package/es/modal/src/Modal.d.ts +9 -0
  66. package/es/modal/styles/light.d.ts +2 -0
  67. package/es/modal/styles/light.js +2 -1
  68. package/es/pagination/src/Pagination.d.ts +22 -0
  69. package/es/pagination/src/Pagination.js +4 -2
  70. package/es/pagination/src/styles/index.cssr.js +11 -0
  71. package/es/pagination/styles/light.d.ts +4 -0
  72. package/es/pagination/styles/light.js +7 -5
  73. package/es/spin/styles/light.js +3 -3
  74. package/es/steps/src/Step.d.ts +17 -0
  75. package/es/steps/src/Step.js +81 -25
  76. package/es/steps/src/Steps.d.ts +127 -1
  77. package/es/steps/src/Steps.js +4 -1
  78. package/es/steps/src/interface.d.ts +10 -2
  79. package/es/steps/src/interface.js +10 -1
  80. package/es/steps/src/styles/index.cssr.js +115 -3
  81. package/es/steps/styles/light.d.ts +14 -0
  82. package/es/steps/styles/light.js +16 -2
  83. package/es/theme-editor/src/ThemeEditor.d.ts +2 -0
  84. package/es/themes/dark.js +2 -0
  85. package/es/themes/light.js +2 -0
  86. package/es/toggle-button/src/ToggleButton.d.ts +13 -0
  87. package/es/toggle-button/src/ToggleButton.js +5 -2
  88. package/es/toggle-button/src/styles/toggle-button.cssr.js +3 -0
  89. package/es/typography/src/a.d.ts +27 -0
  90. package/es/typography/src/a.js +4 -1
  91. package/es/typography/src/blockquote.d.ts +27 -0
  92. package/es/typography/src/blockquote.js +4 -1
  93. package/es/typography/src/create-header.d.ts +27 -0
  94. package/es/typography/src/create-header.js +4 -1
  95. package/es/typography/src/headers.d.ts +108 -0
  96. package/es/typography/src/hr.d.ts +18 -0
  97. package/es/typography/src/hr.js +4 -0
  98. package/es/typography/src/li.js +4 -1
  99. package/es/typography/src/ol.d.ts +27 -0
  100. package/es/typography/src/ol.js +4 -1
  101. package/es/typography/src/p.d.ts +27 -0
  102. package/es/typography/src/p.js +4 -1
  103. package/es/typography/src/text.d.ts +128 -524
  104. package/es/typography/src/text.js +68 -69
  105. package/es/typography/src/ul.d.ts +27 -0
  106. package/es/typography/src/ul.js +4 -1
  107. package/es/typography/styles/light.d.ts +3 -0
  108. package/es/typography/styles/light.js +3 -0
  109. package/es/version.d.ts +1 -1
  110. package/es/version.js +1 -1
  111. package/lib/_internal/index.d.ts +2 -0
  112. package/lib/_internal/index.js +4 -1
  113. package/lib/_internal/typography/index.d.ts +2 -0
  114. package/lib/_internal/typography/index.js +9 -0
  115. package/lib/_internal/typography/src/styles/text.cssr.d.ts +2 -0
  116. package/lib/_internal/typography/src/styles/text.cssr.js +83 -0
  117. package/lib/_internal/typography/src/text.d.ts +246 -0
  118. package/lib/_internal/typography/src/text.js +85 -0
  119. package/lib/_internal/typography/src/variants.d.ts +13 -0
  120. package/lib/_internal/typography/src/variants.js +137 -0
  121. package/lib/_internal/typography/styles/dark.d.ts +3 -0
  122. package/lib/_internal/typography/styles/dark.js +10 -0
  123. package/lib/_internal/typography/styles/index.d.ts +3 -0
  124. package/lib/_internal/typography/styles/index.js +10 -0
  125. package/lib/_internal/typography/styles/light.d.ts +24 -0
  126. package/lib/_internal/typography/styles/light.js +32 -0
  127. package/lib/_styles/common/_common.d.ts +2 -0
  128. package/lib/_styles/common/_common.js +3 -1
  129. package/lib/_styles/common/light.d.ts +2 -0
  130. package/lib/action-card/index.d.ts +4 -0
  131. package/lib/action-card/index.js +11 -0
  132. package/lib/action-card/src/ActionCard.d.ts +313 -0
  133. package/lib/action-card/src/ActionCard.js +107 -0
  134. package/lib/action-card/src/styles/index.cssr.d.ts +2 -0
  135. package/lib/action-card/src/styles/index.cssr.js +118 -0
  136. package/lib/action-card/styles/dark.d.ts +3 -0
  137. package/lib/action-card/styles/dark.js +13 -0
  138. package/lib/action-card/styles/index.d.ts +3 -0
  139. package/lib/action-card/styles/index.js +10 -0
  140. package/lib/action-card/styles/light.d.ts +29 -0
  141. package/lib/action-card/styles/light.js +37 -0
  142. package/lib/avatar/src/Avatar.d.ts +13 -3
  143. package/lib/avatar/src/Avatar.js +4 -3
  144. package/lib/avatar/src/styles/index.cssr.js +3 -2
  145. package/lib/avatar/styles/light.d.ts +1 -0
  146. package/lib/avatar/styles/light.js +4 -3
  147. package/lib/avatar-group/src/AvatarGroup.d.ts +10 -0
  148. package/lib/avatar-group/styles/light.d.ts +1 -0
  149. package/lib/badge/src/Badge.d.ts +10 -0
  150. package/lib/badge/src/Badge.js +3 -2
  151. package/lib/badge/src/styles/index.cssr.js +19 -1
  152. package/lib/badge/styles/light.d.ts +1 -0
  153. package/lib/badge/styles/light.js +4 -3
  154. package/lib/components.d.ts +1 -0
  155. package/lib/components.js +1 -0
  156. package/lib/config-provider/src/internal-interface.d.ts +2 -0
  157. package/lib/data-table/src/DataTable.d.ts +14 -0
  158. package/lib/data-table/src/DataTable.js +3 -3
  159. package/lib/data-table/src/HeaderButton/FilterButton.d.ts +2 -0
  160. package/lib/data-table/src/HeaderButton/FilterMenu.d.ts +2 -0
  161. package/lib/data-table/src/TableParts/Body.d.ts +2 -0
  162. package/lib/data-table/src/TableParts/Body.js +10 -1
  163. package/lib/data-table/src/TableParts/BodySkeleton.d.ts +18 -0
  164. package/lib/data-table/src/TableParts/BodySkeleton.js +54 -0
  165. package/lib/data-table/src/TableParts/Header.d.ts +2 -0
  166. package/lib/data-table/src/interface.d.ts +6 -0
  167. package/lib/data-table/src/styles/index.cssr.js +1 -1
  168. package/lib/data-table/styles/light.d.ts +2 -0
  169. package/lib/data-table/styles/light.js +1 -1
  170. package/lib/dialog/src/DialogProvider.d.ts +4 -0
  171. package/lib/icon-wrapper/src/IconWrapper.d.ts +1 -1
  172. package/lib/modal/src/BodyWrapper.d.ts +1 -0
  173. package/lib/modal/src/Modal.d.ts +9 -0
  174. package/lib/modal/styles/light.d.ts +2 -0
  175. package/lib/modal/styles/light.js +2 -1
  176. package/lib/pagination/src/Pagination.d.ts +22 -0
  177. package/lib/pagination/src/Pagination.js +4 -2
  178. package/lib/pagination/src/styles/index.cssr.js +11 -0
  179. package/lib/pagination/styles/light.d.ts +4 -0
  180. package/lib/pagination/styles/light.js +7 -5
  181. package/lib/spin/styles/light.js +3 -3
  182. package/lib/steps/src/Step.d.ts +17 -0
  183. package/lib/steps/src/Step.js +81 -25
  184. package/lib/steps/src/Steps.d.ts +127 -1
  185. package/lib/steps/src/Steps.js +4 -1
  186. package/lib/steps/src/interface.d.ts +10 -2
  187. package/lib/steps/src/interface.js +11 -0
  188. package/lib/steps/src/styles/index.cssr.js +115 -3
  189. package/lib/steps/styles/light.d.ts +14 -0
  190. package/lib/steps/styles/light.js +16 -2
  191. package/lib/theme-editor/src/ThemeEditor.d.ts +2 -0
  192. package/lib/themes/dark.js +2 -0
  193. package/lib/themes/light.js +2 -0
  194. package/lib/toggle-button/src/ToggleButton.d.ts +13 -0
  195. package/lib/toggle-button/src/ToggleButton.js +5 -2
  196. package/lib/toggle-button/src/styles/toggle-button.cssr.js +3 -0
  197. package/lib/typography/src/a.d.ts +27 -0
  198. package/lib/typography/src/a.js +3 -0
  199. package/lib/typography/src/blockquote.d.ts +27 -0
  200. package/lib/typography/src/blockquote.js +3 -0
  201. package/lib/typography/src/create-header.d.ts +27 -0
  202. package/lib/typography/src/create-header.js +3 -0
  203. package/lib/typography/src/headers.d.ts +108 -0
  204. package/lib/typography/src/hr.d.ts +18 -0
  205. package/lib/typography/src/hr.js +4 -0
  206. package/lib/typography/src/li.js +3 -0
  207. package/lib/typography/src/ol.d.ts +27 -0
  208. package/lib/typography/src/ol.js +3 -0
  209. package/lib/typography/src/p.d.ts +27 -0
  210. package/lib/typography/src/p.js +3 -0
  211. package/lib/typography/src/text.d.ts +128 -524
  212. package/lib/typography/src/text.js +66 -70
  213. package/lib/typography/src/ul.d.ts +27 -0
  214. package/lib/typography/src/ul.js +3 -0
  215. package/lib/typography/styles/light.d.ts +3 -0
  216. package/lib/typography/styles/light.js +3 -0
  217. package/lib/version.d.ts +1 -1
  218. package/lib/version.js +1 -1
  219. package/package.json +1 -1
  220. package/volar.d.ts +1 -0
  221. package/web-types.json +126 -96
@@ -1,6 +1,7 @@
1
1
  export default {
2
2
  fontFamily: 'v-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"',
3
3
  fontFamilyMono: 'v-mono, SFMono-Regular, Menlo, Consolas, Courier, monospace',
4
+ fontFamilyWixMadeforDisplay: '"Wix Madefor Display", v-sans, system-ui, sans-serif',
4
5
  cubicBezierEaseInOut: 'cubic-bezier(.4, 0, .2, 1)',
5
6
  cubicBezierEaseOut: 'cubic-bezier(0, 0, .2, 1)',
6
7
  cubicBezierEaseIn: 'cubic-bezier(.4, 0, 1, 1)',
@@ -48,5 +49,6 @@ export default {
48
49
  closeMedium: '32px',
49
50
  closeLarge: '56px',
50
51
  closeHuge: '96px',
51
- closeBorderRadius: '100%'
52
+ closeBorderRadius: '100%',
53
+ codeBorder: '1px solid #0000'
52
54
  };
@@ -60,6 +60,7 @@ declare const derived: {
60
60
  shadowDepth: string;
61
61
  fontFamily: string;
62
62
  fontFamilyMono: string;
63
+ fontFamilyWixMadeforDisplay: string;
63
64
  cubicBezierEaseInOut: string;
64
65
  cubicBezierEaseOut: string;
65
66
  cubicBezierEaseIn: string;
@@ -108,6 +109,7 @@ declare const derived: {
108
109
  closeLarge: string;
109
110
  closeHuge: string;
110
111
  closeBorderRadius: string;
112
+ codeBorder: string;
111
113
  name: "common";
112
114
  };
113
115
  export default derived;
@@ -0,0 +1,4 @@
1
+ export { default as UActionCard } from './src/ActionCard';
2
+ export type { ActionCardProps } from './src/ActionCard';
3
+ export { actionCardLight, actionCardDark } from './styles';
4
+ export type { ActionCardTheme, ActionCardThemeVars } from './styles';
@@ -0,0 +1,2 @@
1
+ export { default as UActionCard } from './src/ActionCard';
2
+ export { actionCardLight, actionCardDark } from './styles';
@@ -0,0 +1,313 @@
1
+ import { type PropType } from 'vue';
2
+ import { type ExtractPublicPropTypes, type MaybeArray } from '../../_utils';
3
+ export declare const actionCardProps: {
4
+ readonly title: StringConstructor;
5
+ readonly description: StringConstructor;
6
+ readonly icon: PropType<string | (() => any)>;
7
+ readonly disabled: {
8
+ readonly type: BooleanConstructor;
9
+ readonly default: false;
10
+ };
11
+ readonly loading: {
12
+ readonly type: BooleanConstructor;
13
+ readonly default: false;
14
+ };
15
+ readonly onClick: PropType<MaybeArray<(e: MouseEvent) => void>>;
16
+ readonly tag: {
17
+ readonly type: PropType<"button" | "a" | "div">;
18
+ readonly default: "div";
19
+ };
20
+ readonly descriptionLineClamp: {
21
+ readonly type: NumberConstructor;
22
+ readonly default: 1;
23
+ };
24
+ readonly theme: PropType<import("../../_mixins").Theme<"ActionCard", {
25
+ minHeight: string;
26
+ maxHeight: string;
27
+ width: string;
28
+ borderRadius: string;
29
+ padding: string;
30
+ backgroundColor: string;
31
+ hoverBackgroundColor: string;
32
+ pressedBackgroundColor: string;
33
+ iconSize: string;
34
+ iconColor: string;
35
+ iconMarginBottom: string;
36
+ titleFontSize: string;
37
+ titleFontWeight: string;
38
+ titleLineHeight: string;
39
+ titleColor: string;
40
+ textGap: string;
41
+ descriptionFontSize: string;
42
+ descriptionFontWeight: string;
43
+ descriptionLineHeight: string;
44
+ descriptionColor: string;
45
+ disabledColor: string;
46
+ }, any>>;
47
+ readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"ActionCard", {
48
+ minHeight: string;
49
+ maxHeight: string;
50
+ width: string;
51
+ borderRadius: string;
52
+ padding: string;
53
+ backgroundColor: string;
54
+ hoverBackgroundColor: string;
55
+ pressedBackgroundColor: string;
56
+ iconSize: string;
57
+ iconColor: string;
58
+ iconMarginBottom: string;
59
+ titleFontSize: string;
60
+ titleFontWeight: string;
61
+ titleLineHeight: string;
62
+ titleColor: string;
63
+ textGap: string;
64
+ descriptionFontSize: string;
65
+ descriptionFontWeight: string;
66
+ descriptionLineHeight: string;
67
+ descriptionColor: string;
68
+ disabledColor: string;
69
+ }, any>>>;
70
+ readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"ActionCard", {
71
+ minHeight: string;
72
+ maxHeight: string;
73
+ width: string;
74
+ borderRadius: string;
75
+ padding: string;
76
+ backgroundColor: string;
77
+ hoverBackgroundColor: string;
78
+ pressedBackgroundColor: string;
79
+ iconSize: string;
80
+ iconColor: string;
81
+ iconMarginBottom: string;
82
+ titleFontSize: string;
83
+ titleFontWeight: string;
84
+ titleLineHeight: string;
85
+ titleColor: string;
86
+ textGap: string;
87
+ descriptionFontSize: string;
88
+ descriptionFontWeight: string;
89
+ descriptionLineHeight: string;
90
+ descriptionColor: string;
91
+ disabledColor: string;
92
+ }, any>>>;
93
+ };
94
+ export type ActionCardProps = ExtractPublicPropTypes<typeof actionCardProps>;
95
+ declare const _default: import("vue").DefineComponent<{
96
+ readonly title: StringConstructor;
97
+ readonly description: StringConstructor;
98
+ readonly icon: PropType<string | (() => any)>;
99
+ readonly disabled: {
100
+ readonly type: BooleanConstructor;
101
+ readonly default: false;
102
+ };
103
+ readonly loading: {
104
+ readonly type: BooleanConstructor;
105
+ readonly default: false;
106
+ };
107
+ readonly onClick: PropType<MaybeArray<(e: MouseEvent) => void>>;
108
+ readonly tag: {
109
+ readonly type: PropType<"button" | "a" | "div">;
110
+ readonly default: "div";
111
+ };
112
+ readonly descriptionLineClamp: {
113
+ readonly type: NumberConstructor;
114
+ readonly default: 1;
115
+ };
116
+ readonly theme: PropType<import("../../_mixins").Theme<"ActionCard", {
117
+ minHeight: string;
118
+ maxHeight: string;
119
+ width: string;
120
+ borderRadius: string;
121
+ padding: string;
122
+ backgroundColor: string;
123
+ hoverBackgroundColor: string;
124
+ pressedBackgroundColor: string;
125
+ iconSize: string;
126
+ iconColor: string;
127
+ iconMarginBottom: string;
128
+ titleFontSize: string;
129
+ titleFontWeight: string;
130
+ titleLineHeight: string;
131
+ titleColor: string;
132
+ textGap: string;
133
+ descriptionFontSize: string;
134
+ descriptionFontWeight: string;
135
+ descriptionLineHeight: string;
136
+ descriptionColor: string;
137
+ disabledColor: string;
138
+ }, any>>;
139
+ readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"ActionCard", {
140
+ minHeight: string;
141
+ maxHeight: string;
142
+ width: string;
143
+ borderRadius: string;
144
+ padding: string;
145
+ backgroundColor: string;
146
+ hoverBackgroundColor: string;
147
+ pressedBackgroundColor: string;
148
+ iconSize: string;
149
+ iconColor: string;
150
+ iconMarginBottom: string;
151
+ titleFontSize: string;
152
+ titleFontWeight: string;
153
+ titleLineHeight: string;
154
+ titleColor: string;
155
+ textGap: string;
156
+ descriptionFontSize: string;
157
+ descriptionFontWeight: string;
158
+ descriptionLineHeight: string;
159
+ descriptionColor: string;
160
+ disabledColor: string;
161
+ }, any>>>;
162
+ readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"ActionCard", {
163
+ minHeight: string;
164
+ maxHeight: string;
165
+ width: string;
166
+ borderRadius: string;
167
+ padding: string;
168
+ backgroundColor: string;
169
+ hoverBackgroundColor: string;
170
+ pressedBackgroundColor: string;
171
+ iconSize: string;
172
+ iconColor: string;
173
+ iconMarginBottom: string;
174
+ titleFontSize: string;
175
+ titleFontWeight: string;
176
+ titleLineHeight: string;
177
+ titleColor: string;
178
+ textGap: string;
179
+ descriptionFontSize: string;
180
+ descriptionFontWeight: string;
181
+ descriptionLineHeight: string;
182
+ descriptionColor: string;
183
+ disabledColor: string;
184
+ }, any>>>;
185
+ }, {
186
+ mergedClsPrefix: import("vue").Ref<string>;
187
+ mergedClassNames: import("vue").ComputedRef<(string | {
188
+ [x: string]: boolean;
189
+ } | undefined)[]>;
190
+ handleClick: (e: MouseEvent) => void;
191
+ cssVars: import("vue").ComputedRef<{
192
+ '--u-bezier': string;
193
+ '--u-border-radius': string;
194
+ '--u-padding': string;
195
+ '--u-background-color': string;
196
+ '--u-hover-background-color': string;
197
+ '--u-pressed-background-color': string;
198
+ '--u-icon-size': string;
199
+ '--u-icon-color': string;
200
+ '--u-icon-margin-bottom': string;
201
+ '--u-title-font-size': string;
202
+ '--u-title-font-weight': string;
203
+ '--u-title-line-height': string;
204
+ '--u-title-color': string;
205
+ '--u-disabled-color': string;
206
+ '--u-text-gap': string;
207
+ '--u-description-font-size': string;
208
+ '--u-description-font-weight': string;
209
+ '--u-description-line-height': string;
210
+ '--u-description-color': string;
211
+ '--u-min-height': string;
212
+ '--u-max-height': string;
213
+ '--u-width': string;
214
+ }> | undefined;
215
+ themeClass: import("vue").Ref<string> | undefined;
216
+ onRender: (() => void) | undefined;
217
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
218
+ readonly title: StringConstructor;
219
+ readonly description: StringConstructor;
220
+ readonly icon: PropType<string | (() => any)>;
221
+ readonly disabled: {
222
+ readonly type: BooleanConstructor;
223
+ readonly default: false;
224
+ };
225
+ readonly loading: {
226
+ readonly type: BooleanConstructor;
227
+ readonly default: false;
228
+ };
229
+ readonly onClick: PropType<MaybeArray<(e: MouseEvent) => void>>;
230
+ readonly tag: {
231
+ readonly type: PropType<"button" | "a" | "div">;
232
+ readonly default: "div";
233
+ };
234
+ readonly descriptionLineClamp: {
235
+ readonly type: NumberConstructor;
236
+ readonly default: 1;
237
+ };
238
+ readonly theme: PropType<import("../../_mixins").Theme<"ActionCard", {
239
+ minHeight: string;
240
+ maxHeight: string;
241
+ width: string;
242
+ borderRadius: string;
243
+ padding: string;
244
+ backgroundColor: string;
245
+ hoverBackgroundColor: string;
246
+ pressedBackgroundColor: string;
247
+ iconSize: string;
248
+ iconColor: string;
249
+ iconMarginBottom: string;
250
+ titleFontSize: string;
251
+ titleFontWeight: string;
252
+ titleLineHeight: string;
253
+ titleColor: string;
254
+ textGap: string;
255
+ descriptionFontSize: string;
256
+ descriptionFontWeight: string;
257
+ descriptionLineHeight: string;
258
+ descriptionColor: string;
259
+ disabledColor: string;
260
+ }, any>>;
261
+ readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"ActionCard", {
262
+ minHeight: string;
263
+ maxHeight: string;
264
+ width: string;
265
+ borderRadius: string;
266
+ padding: string;
267
+ backgroundColor: string;
268
+ hoverBackgroundColor: string;
269
+ pressedBackgroundColor: string;
270
+ iconSize: string;
271
+ iconColor: string;
272
+ iconMarginBottom: string;
273
+ titleFontSize: string;
274
+ titleFontWeight: string;
275
+ titleLineHeight: string;
276
+ titleColor: string;
277
+ textGap: string;
278
+ descriptionFontSize: string;
279
+ descriptionFontWeight: string;
280
+ descriptionLineHeight: string;
281
+ descriptionColor: string;
282
+ disabledColor: string;
283
+ }, any>>>;
284
+ readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"ActionCard", {
285
+ minHeight: string;
286
+ maxHeight: string;
287
+ width: string;
288
+ borderRadius: string;
289
+ padding: string;
290
+ backgroundColor: string;
291
+ hoverBackgroundColor: string;
292
+ pressedBackgroundColor: string;
293
+ iconSize: string;
294
+ iconColor: string;
295
+ iconMarginBottom: string;
296
+ titleFontSize: string;
297
+ titleFontWeight: string;
298
+ titleLineHeight: string;
299
+ titleColor: string;
300
+ textGap: string;
301
+ descriptionFontSize: string;
302
+ descriptionFontWeight: string;
303
+ descriptionLineHeight: string;
304
+ descriptionColor: string;
305
+ disabledColor: string;
306
+ }, any>>>;
307
+ }>>, {
308
+ readonly disabled: boolean;
309
+ readonly loading: boolean;
310
+ readonly tag: "a" | "div" | "button";
311
+ readonly descriptionLineClamp: number;
312
+ }, {}>;
313
+ export default _default;
@@ -0,0 +1,101 @@
1
+ import { h, defineComponent, computed, Fragment } from 'vue';
2
+ import { useConfig, useTheme, useThemeClass } from '../../_mixins';
3
+ import { call } from '../../_utils';
4
+ import { UBaseSkeleton } from '../../_internal';
5
+ import { actionCardLight } from '../styles';
6
+ import style from './styles/index.cssr';
7
+ import { UEllipsis } from '../../ellipsis';
8
+ export const actionCardProps = Object.assign(Object.assign({}, useTheme.props), { title: String, description: String, icon: [String, Object], disabled: {
9
+ type: Boolean,
10
+ default: false
11
+ }, loading: {
12
+ type: Boolean,
13
+ default: false
14
+ }, onClick: [Function, Array], tag: {
15
+ type: String,
16
+ default: 'div'
17
+ }, descriptionLineClamp: {
18
+ type: Number,
19
+ default: 1
20
+ } });
21
+ export default defineComponent({
22
+ name: 'ActionCard',
23
+ props: actionCardProps,
24
+ setup(props) {
25
+ const { inlineThemeDisabled, mergedClsPrefixRef } = useConfig(props);
26
+ const themeRef = useTheme('ActionCard', '-action-card', style, actionCardLight, props, mergedClsPrefixRef);
27
+ const handleClick = (e) => {
28
+ if (props.disabled || props.loading)
29
+ return;
30
+ const { onClick } = props;
31
+ if (onClick)
32
+ call(onClick, e);
33
+ };
34
+ const cssVarsRef = computed(() => {
35
+ const { self: { borderRadius, padding, backgroundColor, hoverBackgroundColor, pressedBackgroundColor, iconSize, iconColor, iconMarginBottom, titleFontSize, titleFontWeight, titleLineHeight, titleColor, textGap, descriptionFontSize, descriptionFontWeight, descriptionLineHeight, descriptionColor, disabledColor, minHeight, maxHeight, width }, common: { cubicBezierEaseInOut } } = themeRef.value;
36
+ return {
37
+ '--u-bezier': cubicBezierEaseInOut,
38
+ '--u-border-radius': borderRadius,
39
+ '--u-padding': padding,
40
+ '--u-background-color': backgroundColor,
41
+ '--u-hover-background-color': hoverBackgroundColor,
42
+ '--u-pressed-background-color': pressedBackgroundColor,
43
+ '--u-icon-size': iconSize,
44
+ '--u-icon-color': iconColor,
45
+ '--u-icon-margin-bottom': iconMarginBottom,
46
+ '--u-title-font-size': titleFontSize,
47
+ '--u-title-font-weight': titleFontWeight,
48
+ '--u-title-line-height': titleLineHeight,
49
+ '--u-title-color': titleColor,
50
+ '--u-disabled-color': disabledColor,
51
+ '--u-text-gap': textGap,
52
+ '--u-description-font-size': descriptionFontSize,
53
+ '--u-description-font-weight': descriptionFontWeight,
54
+ '--u-description-line-height': descriptionLineHeight,
55
+ '--u-description-color': descriptionColor,
56
+ '--u-min-height': minHeight,
57
+ '--u-max-height': maxHeight,
58
+ '--u-width': width
59
+ };
60
+ });
61
+ const themeClassHandle = inlineThemeDisabled
62
+ ? useThemeClass('action-card', undefined, cssVarsRef, props)
63
+ : undefined;
64
+ const mergedClassNames = computed(() => {
65
+ return [
66
+ `${mergedClsPrefixRef.value}-action-card`,
67
+ themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass.value,
68
+ {
69
+ [`${mergedClsPrefixRef.value}-action-card--disabled`]: props.disabled,
70
+ [`${mergedClsPrefixRef.value}-action-card--loading`]: props.loading,
71
+ [`${mergedClsPrefixRef.value}-action-card--height-auto`]: props.descriptionLineClamp > 1
72
+ }
73
+ ];
74
+ });
75
+ return {
76
+ mergedClsPrefix: mergedClsPrefixRef,
77
+ mergedClassNames,
78
+ handleClick,
79
+ cssVars: inlineThemeDisabled ? undefined : cssVarsRef,
80
+ themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,
81
+ onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender
82
+ };
83
+ },
84
+ render() {
85
+ const { mergedClsPrefix, mergedClassNames, handleClick, title, description, icon, loading, disabled, tag: Component, onRender, descriptionLineClamp } = this;
86
+ onRender === null || onRender === void 0 ? void 0 : onRender();
87
+ return (h(Component, { class: mergedClassNames, onClick: handleClick, role: "button", tabindex: disabled || loading ? -1 : 0, style: this.cssVars },
88
+ loading && (h("div", { class: `${mergedClsPrefix}-action-card__skeleton` },
89
+ icon && (h("div", { class: `${mergedClsPrefix}-action-card__skeleton-icon` },
90
+ h(UBaseSkeleton, { circle: true, width: "var(--u-icon-size)", height: "var(--u-icon-size)" }))),
91
+ h("div", { class: `${mergedClsPrefix}-action-card__skeleton-text` },
92
+ h(UBaseSkeleton, { height: "var(--u-title-line-height)", width: "60%" }),
93
+ description && (h(Fragment, null, Array.from({ length: descriptionLineClamp }).map((_, i) => (h(UBaseSkeleton, { key: i, height: "var(--u-description-line-height)", width: "80%" })))))))),
94
+ !loading && (h("div", { class: `${mergedClsPrefix}-action-card__content` },
95
+ icon && !loading && (h("div", { class: `${mergedClsPrefix}-action-card__icon` }, typeof icon === 'function' ? icon() : icon)),
96
+ h("div", { class: `${mergedClsPrefix}-action-card__text` },
97
+ title && !loading && (h("div", { class: `${mergedClsPrefix}-action-card__title` }, title)),
98
+ description && !loading && (h("div", { class: `${mergedClsPrefix}-action-card__description` },
99
+ h(UEllipsis, { lineClamp: descriptionLineClamp }, description))))))));
100
+ }
101
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("css-render").CNode;
2
+ export default _default;
@@ -0,0 +1,113 @@
1
+ import { c, cB, cE, cM } from '../../../_utils/cssr';
2
+ // vars:
3
+ // --u-bezier
4
+ // --u-width
5
+ // --u-min-height
6
+ // --u-max-height
7
+ // --u-border-radius
8
+ // --u-padding
9
+ // --u-background-color
10
+ // --u-hover-background-color
11
+ // --u-pressed-background-color
12
+ // --u-icon-size
13
+ // --u-icon-color
14
+ // --u-icon-margin-bottom
15
+ // --u-title-font-size
16
+ // --u-title-font-weight
17
+ // --u-title-line-height
18
+ // --u-title-color
19
+ // --u-text-gap
20
+ // --u-description-font-size
21
+ // --u-description-font-weight
22
+ // --u-description-line-height
23
+ // --u-description-color
24
+ // --u-disabled-color
25
+ export default cB('action-card', `
26
+ position: relative;
27
+ width: var(--u-width);
28
+ min-height: var(--u-min-height);
29
+ max-height: var(--u-max-height);
30
+ border-radius: var(--u-border-radius);
31
+ padding: var(--u-padding);
32
+ background-color: var(--u-background-color);
33
+ cursor: pointer;
34
+ transition: background-color var(--u-bezier);
35
+ display: flex;
36
+ flex-direction: column;
37
+ justify-content: space-between;
38
+ overflow: hidden;
39
+ user-select: none;
40
+ box-sizing: border-box;
41
+ border: none;
42
+ display: inline-flex;
43
+ text-align: left;
44
+ text-decoration: none;
45
+
46
+ font-style: inherit;
47
+ font-variant-ligatures: inherit;
48
+ font-weight: inherit;
49
+ font-size: inherit;
50
+ font-family: inherit;
51
+ text-rendering: inherit;
52
+ color: inherit;
53
+ text-align: inherit;
54
+ `, [cM('height-auto', `
55
+ max-height: none;
56
+ `), cM('disabled', `
57
+ cursor: not-allowed;
58
+ color: var(--u-disabled-color);
59
+ `, [cE('icon', `
60
+ color: var(--u-disabled-color);
61
+ `), cE('title', `
62
+ color: var(--u-disabled-color);
63
+ `), cE('description', `
64
+ color: var(--u-disabled-color);
65
+ `)]), cM('loading', `
66
+ cursor: default;
67
+ `), cE('skeleton', `
68
+ display: flex;
69
+ flex-direction: column;
70
+ height: 100%;
71
+ flex: 1;
72
+ `), cE('skeleton-icon', `
73
+ margin-bottom: var(--u-icon-margin-bottom);
74
+ flex-shrink: 0;
75
+ `), cE('skeleton-text', `
76
+ display: flex;
77
+ flex-direction: column;
78
+ flex: 1;
79
+ justify-content: end;
80
+ gap: var(--u-text-gap);
81
+ `), cE('content', `
82
+ display: flex;
83
+ flex-direction: column;
84
+ height: 100%;
85
+ flex: 1;
86
+ `), cE('icon', `
87
+ height: var(--u-icon-size);
88
+ width: var(--u-icon-size);
89
+ font-size: var(--u-icon-size);
90
+ color: var(--u-icon-color);
91
+ margin-bottom: var(--u-icon-margin-bottom);
92
+ flex-shrink: 0;
93
+ `), cE('text', `
94
+ display: flex;
95
+ flex-direction: column;
96
+ flex: 1;
97
+ gap: var(--u-text-gap);
98
+ justify-content: end;
99
+ `), cE('title', `
100
+ font-size: var(--u-title-font-size);
101
+ font-weight: var(--u-title-font-weight);
102
+ line-height: var(--u-title-line-height);
103
+ color: var(--u-title-color);
104
+ `), cE('description', `
105
+ font-size: var(--u-description-font-size);
106
+ font-weight: var(--u-description-font-weight);
107
+ line-height: var(--u-description-line-height);
108
+ color: var(--u-description-color);
109
+ `), c('&:hover:not(.u-action-card--disabled):not(.u-action-card--loading)', `
110
+ background-color: var(--u-hover-background-color);
111
+ `), c('&:active:not(.u-action-card--disabled):not(.u-action-card--loading)', `
112
+ background-color: var(--u-pressed-background-color);
113
+ `)]);
@@ -0,0 +1,3 @@
1
+ import type { ActionCardTheme } from './light';
2
+ declare const actionCardDark: ActionCardTheme;
3
+ export default actionCardDark;
@@ -0,0 +1,11 @@
1
+ import { commonDark } from '../../_styles/common';
2
+ import { self } from './light';
3
+ const actionCardDark = {
4
+ name: 'ActionCard',
5
+ common: commonDark,
6
+ self: (vars) => {
7
+ const lightVars = self(vars);
8
+ return Object.assign({}, lightVars);
9
+ }
10
+ };
11
+ export default actionCardDark;
@@ -0,0 +1,3 @@
1
+ export { default as actionCardDark } from './dark';
2
+ export { default as actionCardLight } from './light';
3
+ export type { ActionCardTheme, ActionCardThemeVars } from './light';
@@ -0,0 +1,2 @@
1
+ export { default as actionCardDark } from './dark';
2
+ export { default as actionCardLight } from './light';
@@ -0,0 +1,29 @@
1
+ import type { ThemeCommonVars } from '../../_styles/common';
2
+ import type { Theme } from '../../_mixins';
3
+ export declare const self: (vars: ThemeCommonVars) => {
4
+ minHeight: string;
5
+ maxHeight: string;
6
+ width: string;
7
+ borderRadius: string;
8
+ padding: string;
9
+ backgroundColor: string;
10
+ hoverBackgroundColor: string;
11
+ pressedBackgroundColor: string;
12
+ iconSize: string;
13
+ iconColor: string;
14
+ iconMarginBottom: string;
15
+ titleFontSize: string;
16
+ titleFontWeight: string;
17
+ titleLineHeight: string;
18
+ titleColor: string;
19
+ textGap: string;
20
+ descriptionFontSize: string;
21
+ descriptionFontWeight: string;
22
+ descriptionLineHeight: string;
23
+ descriptionColor: string;
24
+ disabledColor: string;
25
+ };
26
+ export type ActionCardThemeVars = ReturnType<typeof self>;
27
+ declare const actionCardLight: Theme<'ActionCard', ActionCardThemeVars>;
28
+ export default actionCardLight;
29
+ export type ActionCardTheme = typeof actionCardLight;
@@ -0,0 +1,33 @@
1
+ import { commonLight } from '../../_styles/common';
2
+ export const self = (vars) => {
3
+ const { borderRadiusLarge, elementsQuaternary, elementsTertiary, elementsQuinary, textTertiary, textPrimary, textSecondary, fontWeightStrong, lineHeightBodyLarge, iconSmall, fontBodyLarge, fontWeight } = vars;
4
+ return {
5
+ minHeight: '148px',
6
+ maxHeight: '148px',
7
+ width: '288px',
8
+ borderRadius: borderRadiusLarge,
9
+ padding: '24px',
10
+ backgroundColor: elementsTertiary,
11
+ hoverBackgroundColor: elementsQuaternary,
12
+ pressedBackgroundColor: elementsQuinary,
13
+ iconSize: iconSmall,
14
+ iconColor: textPrimary,
15
+ iconMarginBottom: '24px',
16
+ titleFontSize: fontBodyLarge,
17
+ titleFontWeight: fontWeightStrong,
18
+ titleLineHeight: lineHeightBodyLarge,
19
+ titleColor: textPrimary,
20
+ textGap: '4px',
21
+ descriptionFontSize: fontBodyLarge,
22
+ descriptionFontWeight: fontWeight,
23
+ descriptionLineHeight: lineHeightBodyLarge,
24
+ descriptionColor: textSecondary,
25
+ disabledColor: textTertiary
26
+ };
27
+ };
28
+ const actionCardLight = {
29
+ name: 'ActionCard',
30
+ common: commonLight,
31
+ self
32
+ };
33
+ export default actionCardLight;