@uzum-tech/ui 1.11.2 → 1.12.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 (279) hide show
  1. package/dist/index.js +10829 -6652
  2. package/dist/index.prod.js +4 -4
  3. package/es/_internal/icons/BurgerMenuIcon.d.ts +2 -0
  4. package/es/_internal/icons/BurgerMenuIcon.js +4 -0
  5. package/es/_internal/icons/Logout.d.ts +2 -0
  6. package/es/_internal/icons/Logout.js +4 -0
  7. package/es/_internal/icons/OzbekFlag.d.ts +2 -0
  8. package/es/_internal/icons/OzbekFlag.js +15 -0
  9. package/es/_internal/icons/RussiaFlag.d.ts +2 -0
  10. package/es/_internal/icons/RussiaFlag.js +11 -0
  11. package/es/_internal/icons/SendFilled.d.ts +2 -0
  12. package/es/_internal/icons/SendFilled.js +9 -0
  13. package/es/_internal/icons/index.d.ts +5 -0
  14. package/es/_internal/icons/index.js +5 -0
  15. package/es/_styles/common/dark.js +1 -1
  16. package/es/_styles/common/light.d.ts +1 -0
  17. package/es/_styles/common/light.js +1 -1
  18. package/es/chat/src/Chat.d.ts +464 -83
  19. package/es/chat/src/Chat.js +17 -2
  20. package/es/chat/src/ChatListItems.d.ts +497 -94
  21. package/es/chat/src/ChatListItems.js +1 -1
  22. package/es/chat/src/ChatMessages.d.ts +501 -94
  23. package/es/chat/src/ChatMessages.js +115 -22
  24. package/es/chat/src/ChatParts/MainArea.d.ts +7 -3
  25. package/es/chat/src/ChatParts/MainArea.js +110 -14
  26. package/es/chat/src/ChatParts/Sidebar.d.ts +64 -11
  27. package/es/chat/src/interface.d.ts +18 -0
  28. package/es/chat/src/interface.js +6 -0
  29. package/es/chat/src/styles/index.cssr.js +22 -1
  30. package/es/chat/styles/dark.d.ts +41 -8
  31. package/es/chat/styles/dark.js +6 -2
  32. package/es/chat/styles/light.d.ts +42 -8
  33. package/es/chat/styles/light.js +7 -2
  34. package/es/components.d.ts +3 -0
  35. package/es/components.js +3 -0
  36. package/es/config-provider/src/internal-interface.d.ts +17 -0
  37. package/es/dialog/src/DialogProvider.d.ts +2 -0
  38. package/es/form/src/FormItemCol.d.ts +2 -2
  39. package/es/form/src/FormItemGridItem.d.ts +2 -2
  40. package/es/form/src/FormItemRow.d.ts +1 -1
  41. package/es/grid/src/Grid.d.ts +1 -1
  42. package/es/grid/src/GridItem.d.ts +2 -2
  43. package/es/header/demos/mock.d.ts +2 -0
  44. package/es/header/demos/mock.js +235 -0
  45. package/es/header/index.d.ts +12 -0
  46. package/es/header/index.js +10 -0
  47. package/es/header/src/Header.d.ts +604 -0
  48. package/es/header/src/Header.js +320 -0
  49. package/es/header/src/HeaderActions.d.ts +120 -0
  50. package/es/header/src/HeaderActions.js +166 -0
  51. package/es/header/src/HeaderDesktopLayout.d.ts +25 -0
  52. package/es/header/src/HeaderDesktopLayout.js +24 -0
  53. package/es/header/src/HeaderMobileLayout.d.ts +25 -0
  54. package/es/header/src/HeaderMobileLayout.js +21 -0
  55. package/es/header/src/HeaderNavigation.d.ts +128 -0
  56. package/es/header/src/HeaderNavigation.js +172 -0
  57. package/es/header/src/HeaderSearchDesktop.d.ts +79 -0
  58. package/es/header/src/HeaderSearchDesktop.js +77 -0
  59. package/es/header/src/HeaderSearchMobile.d.ts +73 -0
  60. package/es/header/src/HeaderSearchMobile.js +126 -0
  61. package/es/header/src/HeaderSearchResults.d.ts +81 -0
  62. package/es/header/src/HeaderSearchResults.js +74 -0
  63. package/es/header/src/constants.d.ts +1 -0
  64. package/es/header/src/constants.js +1 -0
  65. package/es/header/src/interface.d.ts +58 -0
  66. package/es/header/src/interface.js +1 -0
  67. package/es/header/src/mobile/HeaderMobile.d.ts +218 -0
  68. package/es/header/src/mobile/HeaderMobile.js +241 -0
  69. package/es/header/src/styles/index.cssr.d.ts +6 -0
  70. package/es/header/src/styles/index.cssr.js +519 -0
  71. package/es/header/src/utils.d.ts +12 -0
  72. package/es/header/src/utils.js +47 -0
  73. package/es/header/styles/dark.d.ts +36 -0
  74. package/es/header/styles/dark.js +9 -0
  75. package/es/header/styles/index.d.ts +3 -0
  76. package/es/header/styles/index.js +2 -0
  77. package/es/header/styles/light.d.ts +72 -0
  78. package/es/header/styles/light.js +45 -0
  79. package/es/icon/src/Icon.d.ts +3 -0
  80. package/es/icon/src/Icon.js +3 -2
  81. package/es/icon-bar/index.d.ts +4 -0
  82. package/es/icon-bar/index.js +2 -0
  83. package/es/icon-bar/src/IconBar.d.ts +175 -0
  84. package/es/icon-bar/src/IconBar.js +57 -0
  85. package/es/icon-bar/src/IconBarItem.d.ts +163 -0
  86. package/es/icon-bar/src/IconBarItem.js +50 -0
  87. package/es/icon-bar/src/styles/index.cssr.d.ts +2 -0
  88. package/es/icon-bar/src/styles/index.cssr.js +62 -0
  89. package/es/icon-bar/styles/dark.d.ts +3 -0
  90. package/es/icon-bar/styles/dark.js +8 -0
  91. package/es/icon-bar/styles/index.d.ts +3 -0
  92. package/es/icon-bar/styles/index.js +2 -0
  93. package/es/icon-bar/styles/light.d.ts +19 -0
  94. package/es/icon-bar/styles/light.js +23 -0
  95. package/es/locales/common/arDZ.js +11 -1
  96. package/es/locales/common/deDE.js +11 -1
  97. package/es/locales/common/enGB.js +11 -1
  98. package/es/locales/common/enUS.d.ts +10 -0
  99. package/es/locales/common/enUS.js +11 -1
  100. package/es/locales/common/eo.js +11 -1
  101. package/es/locales/common/esAR.js +11 -1
  102. package/es/locales/common/faIR.js +11 -1
  103. package/es/locales/common/frFR.js +11 -1
  104. package/es/locales/common/idID.js +11 -1
  105. package/es/locales/common/itIT.js +11 -1
  106. package/es/locales/common/jaJP.js +11 -1
  107. package/es/locales/common/koKR.js +11 -1
  108. package/es/locales/common/nbNO.js +11 -1
  109. package/es/locales/common/nlNL.js +11 -1
  110. package/es/locales/common/plPL.js +11 -1
  111. package/es/locales/common/ptBR.js +11 -1
  112. package/es/locales/common/ruRU.js +11 -1
  113. package/es/locales/common/skSK.js +11 -1
  114. package/es/locales/common/svSE.js +11 -1
  115. package/es/locales/common/thTH.js +11 -1
  116. package/es/locales/common/trTR.js +11 -1
  117. package/es/locales/common/ukUA.js +11 -1
  118. package/es/locales/common/viVN.js +11 -1
  119. package/es/locales/common/zhCN.js +11 -1
  120. package/es/locales/common/zhTW.js +11 -1
  121. package/es/qr-code/index.d.ts +2 -0
  122. package/es/qr-code/index.js +1 -0
  123. package/es/qr-code/src/QrCode.d.ts +171 -0
  124. package/es/qr-code/src/QrCode.js +229 -0
  125. package/es/qr-code/src/qrcodegen.d.ts +95 -0
  126. package/es/qr-code/src/qrcodegen.js +949 -0
  127. package/es/qr-code/src/styles/index.cssr.d.ts +2 -0
  128. package/es/qr-code/src/styles/index.cssr.js +8 -0
  129. package/es/qr-code/styles/dark.d.ts +3 -0
  130. package/es/qr-code/styles/dark.js +11 -0
  131. package/es/qr-code/styles/index.d.ts +3 -0
  132. package/es/qr-code/styles/index.js +2 -0
  133. package/es/qr-code/styles/light.d.ts +9 -0
  134. package/es/qr-code/styles/light.js +12 -0
  135. package/es/theme-editor/src/ThemeEditor.d.ts +1 -0
  136. package/es/themes/dark.js +7 -1
  137. package/es/themes/light.js +7 -1
  138. package/es/version.d.ts +1 -1
  139. package/es/version.js +1 -1
  140. package/lib/_internal/icons/BurgerMenuIcon.d.ts +2 -0
  141. package/lib/_internal/icons/BurgerMenuIcon.js +6 -0
  142. package/lib/_internal/icons/Logout.d.ts +2 -0
  143. package/lib/_internal/icons/Logout.js +6 -0
  144. package/lib/_internal/icons/OzbekFlag.d.ts +2 -0
  145. package/lib/_internal/icons/OzbekFlag.js +17 -0
  146. package/lib/_internal/icons/RussiaFlag.d.ts +2 -0
  147. package/lib/_internal/icons/RussiaFlag.js +13 -0
  148. package/lib/_internal/icons/SendFilled.d.ts +2 -0
  149. package/lib/_internal/icons/SendFilled.js +11 -0
  150. package/lib/_internal/icons/index.d.ts +5 -0
  151. package/lib/_internal/icons/index.js +11 -1
  152. package/lib/_styles/common/dark.js +1 -1
  153. package/lib/_styles/common/light.d.ts +1 -0
  154. package/lib/_styles/common/light.js +1 -1
  155. package/lib/chat/src/Chat.d.ts +464 -83
  156. package/lib/chat/src/Chat.js +17 -2
  157. package/lib/chat/src/ChatListItems.d.ts +497 -94
  158. package/lib/chat/src/ChatListItems.js +1 -1
  159. package/lib/chat/src/ChatMessages.d.ts +501 -94
  160. package/lib/chat/src/ChatMessages.js +113 -20
  161. package/lib/chat/src/ChatParts/MainArea.d.ts +7 -3
  162. package/lib/chat/src/ChatParts/MainArea.js +108 -12
  163. package/lib/chat/src/ChatParts/Sidebar.d.ts +64 -11
  164. package/lib/chat/src/interface.d.ts +18 -0
  165. package/lib/chat/src/interface.js +7 -1
  166. package/lib/chat/src/styles/index.cssr.js +22 -1
  167. package/lib/chat/styles/dark.d.ts +41 -8
  168. package/lib/chat/styles/dark.js +6 -2
  169. package/lib/chat/styles/light.d.ts +42 -8
  170. package/lib/chat/styles/light.js +7 -2
  171. package/lib/components.d.ts +3 -0
  172. package/lib/components.js +3 -0
  173. package/lib/config-provider/src/internal-interface.d.ts +17 -0
  174. package/lib/dialog/src/DialogProvider.d.ts +2 -0
  175. package/lib/form/src/FormItemCol.d.ts +2 -2
  176. package/lib/form/src/FormItemGridItem.d.ts +2 -2
  177. package/lib/form/src/FormItemRow.d.ts +1 -1
  178. package/lib/grid/src/Grid.d.ts +1 -1
  179. package/lib/grid/src/GridItem.d.ts +2 -2
  180. package/lib/header/demos/mock.d.ts +2 -0
  181. package/lib/header/demos/mock.js +238 -0
  182. package/lib/header/index.d.ts +12 -0
  183. package/lib/header/index.js +48 -0
  184. package/lib/header/src/Header.d.ts +604 -0
  185. package/lib/header/src/Header.js +349 -0
  186. package/lib/header/src/HeaderActions.d.ts +120 -0
  187. package/lib/header/src/HeaderActions.js +172 -0
  188. package/lib/header/src/HeaderDesktopLayout.d.ts +25 -0
  189. package/lib/header/src/HeaderDesktopLayout.js +27 -0
  190. package/lib/header/src/HeaderMobileLayout.d.ts +25 -0
  191. package/lib/header/src/HeaderMobileLayout.js +24 -0
  192. package/lib/header/src/HeaderNavigation.d.ts +128 -0
  193. package/lib/header/src/HeaderNavigation.js +175 -0
  194. package/lib/header/src/HeaderSearchDesktop.d.ts +79 -0
  195. package/lib/header/src/HeaderSearchDesktop.js +83 -0
  196. package/lib/header/src/HeaderSearchMobile.d.ts +73 -0
  197. package/lib/header/src/HeaderSearchMobile.js +132 -0
  198. package/lib/header/src/HeaderSearchResults.d.ts +81 -0
  199. package/lib/header/src/HeaderSearchResults.js +77 -0
  200. package/lib/header/src/constants.d.ts +1 -0
  201. package/lib/header/src/constants.js +4 -0
  202. package/lib/header/src/interface.d.ts +58 -0
  203. package/lib/header/src/interface.js +2 -0
  204. package/lib/header/src/mobile/HeaderMobile.d.ts +218 -0
  205. package/lib/header/src/mobile/HeaderMobile.js +244 -0
  206. package/lib/header/src/styles/index.cssr.d.ts +6 -0
  207. package/lib/header/src/styles/index.cssr.js +525 -0
  208. package/lib/header/src/utils.d.ts +12 -0
  209. package/lib/header/src/utils.js +58 -0
  210. package/lib/header/styles/dark.d.ts +36 -0
  211. package/lib/header/styles/dark.js +11 -0
  212. package/lib/header/styles/index.d.ts +3 -0
  213. package/lib/header/styles/index.js +10 -0
  214. package/lib/header/styles/light.d.ts +72 -0
  215. package/lib/header/styles/light.js +49 -0
  216. package/lib/icon/src/Icon.d.ts +3 -0
  217. package/lib/icon/src/Icon.js +3 -2
  218. package/lib/icon-bar/index.d.ts +4 -0
  219. package/lib/icon-bar/index.js +12 -0
  220. package/lib/icon-bar/src/IconBar.d.ts +175 -0
  221. package/lib/icon-bar/src/IconBar.js +63 -0
  222. package/lib/icon-bar/src/IconBarItem.d.ts +163 -0
  223. package/lib/icon-bar/src/IconBarItem.js +56 -0
  224. package/lib/icon-bar/src/styles/index.cssr.d.ts +2 -0
  225. package/lib/icon-bar/src/styles/index.cssr.js +67 -0
  226. package/lib/icon-bar/styles/dark.d.ts +3 -0
  227. package/lib/icon-bar/styles/dark.js +10 -0
  228. package/lib/icon-bar/styles/index.d.ts +3 -0
  229. package/lib/icon-bar/styles/index.js +10 -0
  230. package/lib/icon-bar/styles/light.d.ts +19 -0
  231. package/lib/icon-bar/styles/light.js +27 -0
  232. package/lib/locales/common/arDZ.js +11 -1
  233. package/lib/locales/common/deDE.js +11 -1
  234. package/lib/locales/common/enGB.js +11 -1
  235. package/lib/locales/common/enUS.d.ts +10 -0
  236. package/lib/locales/common/enUS.js +11 -1
  237. package/lib/locales/common/eo.js +11 -1
  238. package/lib/locales/common/esAR.js +11 -1
  239. package/lib/locales/common/faIR.js +11 -1
  240. package/lib/locales/common/frFR.js +11 -1
  241. package/lib/locales/common/idID.js +11 -1
  242. package/lib/locales/common/itIT.js +11 -1
  243. package/lib/locales/common/jaJP.js +11 -1
  244. package/lib/locales/common/koKR.js +11 -1
  245. package/lib/locales/common/nbNO.js +11 -1
  246. package/lib/locales/common/nlNL.js +11 -1
  247. package/lib/locales/common/plPL.js +11 -1
  248. package/lib/locales/common/ptBR.js +11 -1
  249. package/lib/locales/common/ruRU.js +11 -1
  250. package/lib/locales/common/skSK.js +11 -1
  251. package/lib/locales/common/svSE.js +11 -1
  252. package/lib/locales/common/thTH.js +11 -1
  253. package/lib/locales/common/trTR.js +11 -1
  254. package/lib/locales/common/ukUA.js +11 -1
  255. package/lib/locales/common/viVN.js +11 -1
  256. package/lib/locales/common/zhCN.js +11 -1
  257. package/lib/locales/common/zhTW.js +11 -1
  258. package/lib/qr-code/index.d.ts +2 -0
  259. package/lib/qr-code/index.js +9 -0
  260. package/lib/qr-code/src/QrCode.d.ts +171 -0
  261. package/lib/qr-code/src/QrCode.js +235 -0
  262. package/lib/qr-code/src/qrcodegen.d.ts +95 -0
  263. package/lib/qr-code/src/qrcodegen.js +950 -0
  264. package/lib/qr-code/src/styles/index.cssr.d.ts +2 -0
  265. package/lib/qr-code/src/styles/index.cssr.js +13 -0
  266. package/lib/qr-code/styles/dark.d.ts +3 -0
  267. package/lib/qr-code/styles/dark.js +13 -0
  268. package/lib/qr-code/styles/index.d.ts +3 -0
  269. package/lib/qr-code/styles/index.js +10 -0
  270. package/lib/qr-code/styles/light.d.ts +9 -0
  271. package/lib/qr-code/styles/light.js +14 -0
  272. package/lib/theme-editor/src/ThemeEditor.d.ts +1 -0
  273. package/lib/themes/dark.js +7 -1
  274. package/lib/themes/light.js +7 -1
  275. package/lib/version.d.ts +1 -1
  276. package/lib/version.js +1 -1
  277. package/package.json +1 -1
  278. package/volar.d.ts +166 -153
  279. package/web-types.json +854 -2
@@ -0,0 +1,45 @@
1
+ import { commonLight } from '../../_styles/common';
2
+ import { createTheme } from '../../_mixins';
3
+ export const self = (vars) => {
4
+ const { containerPrimary, textPrimary, textSecondary, textTertiary, textQuaternary, borderRadiusLarge, shadowDepth2, fontBodyMedium, fontBodyLarge, fontTitleSmall, brandPrimary500, elementsPrimary, elementsTertiary, elementsQuaternary } = vars;
5
+ return {
6
+ fontSize: fontBodyMedium,
7
+ fontBodyLarge,
8
+ fontTitleSmall,
9
+ backgroundColor: containerPrimary,
10
+ textColor: textPrimary,
11
+ mutedTextColor: textSecondary,
12
+ borderRadius: borderRadiusLarge,
13
+ shadow: shadowDepth2,
14
+ navigationGap: '48px',
15
+ actionGap: '32px',
16
+ tabTextColor: textSecondary,
17
+ tabTextColorHover: textPrimary,
18
+ tabTextColorActive: textPrimary,
19
+ tabIndicatorColor: brandPrimary500,
20
+ cardBackgroundColor: containerPrimary,
21
+ cardShadow: shadowDepth2,
22
+ cardBorderRadius: borderRadiusLarge,
23
+ cardTitleColor: textPrimary,
24
+ cardItemColor: textSecondary,
25
+ cardItemHoverColor: textPrimary,
26
+ cardDividerColor: elementsQuaternary,
27
+ cardGap: '32px',
28
+ cardPadding: '32px 48px',
29
+ badgeBackgroundColor: elementsPrimary,
30
+ badgeTextColor: textQuaternary,
31
+ actionIconColor: textPrimary,
32
+ actionIconColorHover: textPrimary,
33
+ mobileBorderColor: elementsTertiary,
34
+ mobileItemHoverColor: 'rgba(0, 0, 0, 0.03)',
35
+ mobileItemPressedColor: 'rgba(0, 0, 0, 0.05)',
36
+ mobileItemActiveColor: 'rgba(99, 226, 183, 0.08)',
37
+ mobileGroupItemColor: textTertiary
38
+ };
39
+ };
40
+ const headerLight = createTheme({
41
+ name: 'Header',
42
+ common: commonLight,
43
+ self
44
+ });
45
+ export default headerLight;
@@ -6,6 +6,7 @@ export declare const iconProps: {
6
6
  readonly size: PropType<number | string>;
7
7
  readonly color: StringConstructor;
8
8
  readonly component: PropType<Component>;
9
+ readonly onClick: PropType<(e: MouseEvent) => void>;
9
10
  readonly theme: PropType<import("../../_mixins").Theme<"Icon", {
10
11
  color: string;
11
12
  opacity1Depth: string;
@@ -37,6 +38,7 @@ export declare const UIcon: import("vue").DefineComponent<{
37
38
  readonly size: PropType<number | string>;
38
39
  readonly color: StringConstructor;
39
40
  readonly component: PropType<Component>;
41
+ readonly onClick: PropType<(e: MouseEvent) => void>;
40
42
  readonly theme: PropType<import("../../_mixins").Theme<"Icon", {
41
43
  color: string;
42
44
  opacity1Depth: string;
@@ -79,6 +81,7 @@ export declare const UIcon: import("vue").DefineComponent<{
79
81
  readonly size: PropType<number | string>;
80
82
  readonly color: StringConstructor;
81
83
  readonly component: PropType<Component>;
84
+ readonly onClick: PropType<(e: MouseEvent) => void>;
82
85
  readonly theme: PropType<import("../../_mixins").Theme<"Icon", {
83
86
  color: string;
84
87
  opacity1Depth: string;
@@ -3,7 +3,7 @@ import { useThemeClass, useConfig, useTheme } from '../../_mixins';
3
3
  import { formatLength, warn } from '../../_utils';
4
4
  import { iconLight } from '../styles';
5
5
  import style from './styles/index.cssr';
6
- export const iconProps = Object.assign(Object.assign({}, useTheme.props), { depth: [String, Number], size: [Number, String], color: String, component: Object });
6
+ export const iconProps = Object.assign(Object.assign({}, useTheme.props), { depth: [String, Number], size: [Number, String], color: String, component: Object, onClick: Function });
7
7
  export const UIcon = defineComponent({
8
8
  _n_icon__: true,
9
9
  name: 'Icon',
@@ -63,7 +63,8 @@ export const UIcon = defineComponent({
63
63
  [`${mergedClsPrefix}-icon--color-transition`]: depth !== undefined
64
64
  }
65
65
  ],
66
- style: [this.cssVars, this.mergedStyle]
66
+ style: [this.cssVars, this.mergedStyle],
67
+ onClick: this.onClick
67
68
  }), component ? h(component) : this.$slots);
68
69
  }
69
70
  });
@@ -0,0 +1,4 @@
1
+ export { default as UIconBar, iconBarProps } from './src/IconBar';
2
+ export type { IconBarProps } from './src/IconBar';
3
+ export { default as UIconBarItem, iconBarItemProps } from './src/IconBarItem';
4
+ export type { IconBarItemProps } from './src/IconBarItem';
@@ -0,0 +1,2 @@
1
+ export { default as UIconBar, iconBarProps } from './src/IconBar';
2
+ export { default as UIconBarItem, iconBarItemProps } from './src/IconBarItem';
@@ -0,0 +1,175 @@
1
+ import { ExtractPublicPropTypes, PropType } from 'vue';
2
+ import { IconBarItemProps } from './IconBarItem';
3
+ import { GridProps } from '../../grid';
4
+ export declare const iconBarProps: {
5
+ readonly items: {
6
+ readonly type: PropType<IconBarItemProps[]>;
7
+ readonly default: () => never[];
8
+ };
9
+ readonly cols: {
10
+ readonly type: NumberConstructor;
11
+ readonly default: 6;
12
+ };
13
+ readonly gridProps: {
14
+ readonly type: PropType<Partial<GridProps>>;
15
+ };
16
+ readonly itemSize: PropType<number | string>;
17
+ readonly theme: PropType<import("../../_mixins").Theme<"IconBar", {
18
+ itemSize: string;
19
+ color: string;
20
+ colorHover: string;
21
+ itemGap: string;
22
+ iconSize: string;
23
+ labelColor: string;
24
+ labelSizeHover: string;
25
+ labelColorHover: string;
26
+ boxShadow: string;
27
+ span: number;
28
+ cols: number;
29
+ }, any>>;
30
+ readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"IconBar", {
31
+ itemSize: string;
32
+ color: string;
33
+ colorHover: string;
34
+ itemGap: string;
35
+ iconSize: string;
36
+ labelColor: string;
37
+ labelSizeHover: string;
38
+ labelColorHover: string;
39
+ boxShadow: string;
40
+ span: number;
41
+ cols: number;
42
+ }, any>>>;
43
+ readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"IconBar", {
44
+ itemSize: string;
45
+ color: string;
46
+ colorHover: string;
47
+ itemGap: string;
48
+ iconSize: string;
49
+ labelColor: string;
50
+ labelSizeHover: string;
51
+ labelColorHover: string;
52
+ boxShadow: string;
53
+ span: number;
54
+ cols: number;
55
+ }, any>>>;
56
+ };
57
+ export type IconBarProps = ExtractPublicPropTypes<typeof iconBarProps>;
58
+ declare const _default: import("vue").DefineComponent<{
59
+ readonly items: {
60
+ readonly type: PropType<IconBarItemProps[]>;
61
+ readonly default: () => never[];
62
+ };
63
+ readonly cols: {
64
+ readonly type: NumberConstructor;
65
+ readonly default: 6;
66
+ };
67
+ readonly gridProps: {
68
+ readonly type: PropType<Partial<GridProps>>;
69
+ };
70
+ readonly itemSize: PropType<number | string>;
71
+ readonly theme: PropType<import("../../_mixins").Theme<"IconBar", {
72
+ itemSize: string;
73
+ color: string;
74
+ colorHover: string;
75
+ itemGap: string;
76
+ iconSize: string;
77
+ labelColor: string;
78
+ labelSizeHover: string;
79
+ labelColorHover: string;
80
+ boxShadow: string;
81
+ span: number;
82
+ cols: number;
83
+ }, any>>;
84
+ readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"IconBar", {
85
+ itemSize: string;
86
+ color: string;
87
+ colorHover: string;
88
+ itemGap: string;
89
+ iconSize: string;
90
+ labelColor: string;
91
+ labelSizeHover: string;
92
+ labelColorHover: string;
93
+ boxShadow: string;
94
+ span: number;
95
+ cols: number;
96
+ }, any>>>;
97
+ readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"IconBar", {
98
+ itemSize: string;
99
+ color: string;
100
+ colorHover: string;
101
+ itemGap: string;
102
+ iconSize: string;
103
+ labelColor: string;
104
+ labelSizeHover: string;
105
+ labelColorHover: string;
106
+ boxShadow: string;
107
+ span: number;
108
+ cols: number;
109
+ }, any>>>;
110
+ }, {
111
+ mergedClsPrefix: import("vue").Ref<string>;
112
+ cssVars: import("vue").ComputedRef<{
113
+ '--u-icon-bar-cols': string;
114
+ '--u-icon-bar-item-size': string;
115
+ }> | undefined;
116
+ themeClass: import("vue").Ref<string> | undefined;
117
+ renderIconBarItems: (items: IconBarItemProps[]) => JSX.Element[];
118
+ onRender: (() => void) | undefined;
119
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
120
+ readonly items: {
121
+ readonly type: PropType<IconBarItemProps[]>;
122
+ readonly default: () => never[];
123
+ };
124
+ readonly cols: {
125
+ readonly type: NumberConstructor;
126
+ readonly default: 6;
127
+ };
128
+ readonly gridProps: {
129
+ readonly type: PropType<Partial<GridProps>>;
130
+ };
131
+ readonly itemSize: PropType<number | string>;
132
+ readonly theme: PropType<import("../../_mixins").Theme<"IconBar", {
133
+ itemSize: string;
134
+ color: string;
135
+ colorHover: string;
136
+ itemGap: string;
137
+ iconSize: string;
138
+ labelColor: string;
139
+ labelSizeHover: string;
140
+ labelColorHover: string;
141
+ boxShadow: string;
142
+ span: number;
143
+ cols: number;
144
+ }, any>>;
145
+ readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"IconBar", {
146
+ itemSize: string;
147
+ color: string;
148
+ colorHover: string;
149
+ itemGap: string;
150
+ iconSize: string;
151
+ labelColor: string;
152
+ labelSizeHover: string;
153
+ labelColorHover: string;
154
+ boxShadow: string;
155
+ span: number;
156
+ cols: number;
157
+ }, any>>>;
158
+ readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"IconBar", {
159
+ itemSize: string;
160
+ color: string;
161
+ colorHover: string;
162
+ itemGap: string;
163
+ iconSize: string;
164
+ labelColor: string;
165
+ labelSizeHover: string;
166
+ labelColorHover: string;
167
+ boxShadow: string;
168
+ span: number;
169
+ cols: number;
170
+ }, any>>>;
171
+ }>>, {
172
+ readonly cols: number;
173
+ readonly items: IconBarItemProps[];
174
+ }, {}>;
175
+ export default _default;
@@ -0,0 +1,57 @@
1
+ import { computed, defineComponent, h } from 'vue';
2
+ import { useConfig, useTheme, useThemeClass } from '../../_mixins';
3
+ import { iconBarLight } from '../styles';
4
+ import style from './styles/index.cssr';
5
+ import IconBarItem from './IconBarItem';
6
+ import { UGrid, UGridItem } from '../../grid';
7
+ import { resolveSize } from '../../_utils';
8
+ export const iconBarProps = Object.assign(Object.assign({}, useTheme.props), { items: {
9
+ type: Array,
10
+ default: () => []
11
+ }, cols: {
12
+ type: Number,
13
+ default: 6
14
+ }, gridProps: {
15
+ type: Object
16
+ }, itemSize: [Number, String] });
17
+ export default defineComponent({
18
+ name: 'IconBar',
19
+ props: iconBarProps,
20
+ setup(props, { slots }) {
21
+ const { mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);
22
+ const themeRef = useTheme('IconBar', '-icon-bar', style, iconBarLight, props, mergedClsPrefixRef);
23
+ const cssVarsRef = computed(() => {
24
+ const { self: { itemSize } } = themeRef.value;
25
+ return {
26
+ '--u-icon-bar-cols': String(props.cols),
27
+ '--u-icon-bar-item-size': resolveSize(props.itemSize, itemSize)
28
+ };
29
+ });
30
+ const renderIconBarItems = (items) => {
31
+ if (slots.default) {
32
+ return slots
33
+ .default()
34
+ .map((vnode, index) => h(UGridItem, { key: index }, vnode));
35
+ }
36
+ return items.map((item, index) => (h(UGridItem, { key: index, span: item.span },
37
+ h(IconBarItem, Object.assign({}, item)))));
38
+ };
39
+ const themeClassHandle = inlineThemeDisabled
40
+ ? useThemeClass('icon-bar', undefined, cssVarsRef, props)
41
+ : undefined;
42
+ return {
43
+ mergedClsPrefix: mergedClsPrefixRef,
44
+ cssVars: inlineThemeDisabled ? undefined : cssVarsRef,
45
+ themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,
46
+ renderIconBarItems,
47
+ onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender
48
+ };
49
+ },
50
+ render() {
51
+ const { mergedClsPrefix, themeClass, cssVars, items, onRender } = this;
52
+ onRender === null || onRender === void 0 ? void 0 : onRender();
53
+ return (h(UGrid, Object.assign({ class: [`${mergedClsPrefix}-icon-bar`, themeClass], style: cssVars, cols: this.cols, xGap: 20, yGap: 32 }, this.gridProps), {
54
+ default: () => this.renderIconBarItems(items)
55
+ }));
56
+ }
57
+ });
@@ -0,0 +1,163 @@
1
+ import { ExtractPublicPropTypes, PropType, VNodeChild } from 'vue';
2
+ import { TextProps } from '../../typography';
3
+ export declare const iconBarItemProps: {
4
+ readonly label: StringConstructor;
5
+ readonly icon: PropType<() => VNodeChild>;
6
+ readonly iconSize: PropType<number | string>;
7
+ readonly span: PropType<number | string>;
8
+ readonly typographyProps: {
9
+ readonly type: PropType<Partial<TextProps>>;
10
+ };
11
+ readonly theme: PropType<import("../../_mixins").Theme<"IconBar", {
12
+ itemSize: string;
13
+ color: string;
14
+ colorHover: string;
15
+ itemGap: string;
16
+ iconSize: string;
17
+ labelColor: string;
18
+ labelSizeHover: string;
19
+ labelColorHover: string;
20
+ boxShadow: string;
21
+ span: number;
22
+ cols: number;
23
+ }, any>>;
24
+ readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"IconBar", {
25
+ itemSize: string;
26
+ color: string;
27
+ colorHover: string;
28
+ itemGap: string;
29
+ iconSize: string;
30
+ labelColor: string;
31
+ labelSizeHover: string;
32
+ labelColorHover: string;
33
+ boxShadow: string;
34
+ span: number;
35
+ cols: number;
36
+ }, any>>>;
37
+ readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"IconBar", {
38
+ itemSize: string;
39
+ color: string;
40
+ colorHover: string;
41
+ itemGap: string;
42
+ iconSize: string;
43
+ labelColor: string;
44
+ labelSizeHover: string;
45
+ labelColorHover: string;
46
+ boxShadow: string;
47
+ span: number;
48
+ cols: number;
49
+ }, any>>>;
50
+ };
51
+ export type IconBarItemProps = ExtractPublicPropTypes<typeof iconBarItemProps>;
52
+ declare const _default: import("vue").DefineComponent<{
53
+ readonly label: StringConstructor;
54
+ readonly icon: PropType<() => VNodeChild>;
55
+ readonly iconSize: PropType<number | string>;
56
+ readonly span: PropType<number | string>;
57
+ readonly typographyProps: {
58
+ readonly type: PropType<Partial<TextProps>>;
59
+ };
60
+ readonly theme: PropType<import("../../_mixins").Theme<"IconBar", {
61
+ itemSize: string;
62
+ color: string;
63
+ colorHover: string;
64
+ itemGap: string;
65
+ iconSize: string;
66
+ labelColor: string;
67
+ labelSizeHover: string;
68
+ labelColorHover: string;
69
+ boxShadow: string;
70
+ span: number;
71
+ cols: number;
72
+ }, any>>;
73
+ readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"IconBar", {
74
+ itemSize: string;
75
+ color: string;
76
+ colorHover: string;
77
+ itemGap: string;
78
+ iconSize: string;
79
+ labelColor: string;
80
+ labelSizeHover: string;
81
+ labelColorHover: string;
82
+ boxShadow: string;
83
+ span: number;
84
+ cols: number;
85
+ }, any>>>;
86
+ readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"IconBar", {
87
+ itemSize: string;
88
+ color: string;
89
+ colorHover: string;
90
+ itemGap: string;
91
+ iconSize: string;
92
+ labelColor: string;
93
+ labelSizeHover: string;
94
+ labelColorHover: string;
95
+ boxShadow: string;
96
+ span: number;
97
+ cols: number;
98
+ }, any>>>;
99
+ }, {
100
+ mergedClsPrefix: import("vue").Ref<string>;
101
+ cssVars: import("vue").ComputedRef<{
102
+ '--u-bezier': string;
103
+ '--u-icon-bar-item-color': string;
104
+ '--u-icon-bar-item-icon-size': string;
105
+ '--u-icon-bar-item-label-color': string;
106
+ '--u-icon-bar-item-label-size-hover': string;
107
+ '--u-icon-bar-item-label-color-hover': string;
108
+ '--u-icon-bar-item-color-hover': string;
109
+ '--u-icon-bar-item-box-shadow': string;
110
+ '--u-icon-bar-item-gap': string;
111
+ '--u-icon-bar-item-span': string;
112
+ }> | undefined;
113
+ themeClass: import("vue").Ref<string> | undefined;
114
+ onRender: (() => void) | undefined;
115
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
116
+ readonly label: StringConstructor;
117
+ readonly icon: PropType<() => VNodeChild>;
118
+ readonly iconSize: PropType<number | string>;
119
+ readonly span: PropType<number | string>;
120
+ readonly typographyProps: {
121
+ readonly type: PropType<Partial<TextProps>>;
122
+ };
123
+ readonly theme: PropType<import("../../_mixins").Theme<"IconBar", {
124
+ itemSize: string;
125
+ color: string;
126
+ colorHover: string;
127
+ itemGap: string;
128
+ iconSize: string;
129
+ labelColor: string;
130
+ labelSizeHover: string;
131
+ labelColorHover: string;
132
+ boxShadow: string;
133
+ span: number;
134
+ cols: number;
135
+ }, any>>;
136
+ readonly themeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"IconBar", {
137
+ itemSize: string;
138
+ color: string;
139
+ colorHover: string;
140
+ itemGap: string;
141
+ iconSize: string;
142
+ labelColor: string;
143
+ labelSizeHover: string;
144
+ labelColorHover: string;
145
+ boxShadow: string;
146
+ span: number;
147
+ cols: number;
148
+ }, any>>>;
149
+ readonly builtinThemeOverrides: PropType<import("../../_mixins/use-theme").ExtractThemeOverrides<import("../../_mixins").Theme<"IconBar", {
150
+ itemSize: string;
151
+ color: string;
152
+ colorHover: string;
153
+ itemGap: string;
154
+ iconSize: string;
155
+ labelColor: string;
156
+ labelSizeHover: string;
157
+ labelColorHover: string;
158
+ boxShadow: string;
159
+ span: number;
160
+ cols: number;
161
+ }, any>>>;
162
+ }>>, {}, {}>;
163
+ export default _default;
@@ -0,0 +1,50 @@
1
+ import { computed, defineComponent, h } from 'vue';
2
+ import { useConfig, useTheme, useThemeClass } from '../../_mixins';
3
+ import { iconBarLight } from '../styles';
4
+ import style from './styles/index.cssr';
5
+ import { UText } from '../../typography';
6
+ import { resolveSize } from '../../_utils';
7
+ export const iconBarItemProps = Object.assign(Object.assign({}, useTheme.props), { label: String, icon: Function, iconSize: [Number, String], span: [Number, String], typographyProps: {
8
+ type: Object
9
+ } });
10
+ export default defineComponent({
11
+ name: 'IconBarItem',
12
+ props: iconBarItemProps,
13
+ setup(props) {
14
+ const { mergedClsPrefixRef, inlineThemeDisabled } = useConfig(props);
15
+ const themeRef = useTheme('IconBar', '-icon-bar-item', style, iconBarLight, props, mergedClsPrefixRef);
16
+ const cssVarsRef = computed(() => {
17
+ const { self: { iconSize, labelColor, labelSizeHover, labelColorHover, color, colorHover, boxShadow, itemGap, span }, common: { cubicBezierEaseInOut } } = themeRef.value;
18
+ return {
19
+ '--u-bezier': cubicBezierEaseInOut,
20
+ '--u-icon-bar-item-color': color,
21
+ '--u-icon-bar-item-icon-size': resolveSize(props.iconSize, iconSize),
22
+ '--u-icon-bar-item-label-color': labelColor,
23
+ '--u-icon-bar-item-label-size-hover': labelSizeHover,
24
+ '--u-icon-bar-item-label-color-hover': labelColorHover,
25
+ '--u-icon-bar-item-color-hover': colorHover,
26
+ '--u-icon-bar-item-box-shadow': boxShadow,
27
+ '--u-icon-bar-item-gap': itemGap,
28
+ '--u-icon-bar-item-span': String(props.span || span)
29
+ };
30
+ });
31
+ const themeClassHandle = inlineThemeDisabled
32
+ ? useThemeClass('icon-bar-item', undefined, cssVarsRef, props)
33
+ : undefined;
34
+ return {
35
+ mergedClsPrefix: mergedClsPrefixRef,
36
+ cssVars: inlineThemeDisabled ? undefined : cssVarsRef,
37
+ themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,
38
+ onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender
39
+ };
40
+ },
41
+ render() {
42
+ var _a, _b, _c, _d, _e;
43
+ const { mergedClsPrefix, onRender } = this;
44
+ onRender === null || onRender === void 0 ? void 0 : onRender();
45
+ return (h("div", { class: [`${mergedClsPrefix}-icon-bar-item-wrapper`, this.themeClass], style: this.cssVars },
46
+ h("div", { class: `${mergedClsPrefix}-icon-bar-item`, style: this.cssVars },
47
+ h("div", { class: `${mergedClsPrefix}-icon-bar-item__icon` }, ((_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a)) || ((_c = this.icon) === null || _c === void 0 ? void 0 : _c.call(this)))),
48
+ (this.$slots.label || this.label) && (h(UText, Object.assign({ class: `${mergedClsPrefix}-icon-bar-item-wrapper__label`, variant: "heading-s-bold" }, this.typographyProps), ((_e = (_d = this.$slots).label) === null || _e === void 0 ? void 0 : _e.call(_d)) || this.label))));
49
+ }
50
+ });
@@ -0,0 +1,2 @@
1
+ declare const _default: import("css-render").CNode;
2
+ export default _default;
@@ -0,0 +1,62 @@
1
+ import { c, cB, cE } from '../../../_utils/cssr';
2
+ // vars
3
+ // '--u-bezier'
4
+ // '--u-icon-bar-item-size'
5
+ // '--u-icon-bar-item-color'
6
+ // '--u-icon-bar-item-icon-size'
7
+ // '--u-icon-bar-item-label-color'
8
+ // '--u-icon-bar-item-label-size-hover'
9
+ // '--u-icon-bar-item-label-color-hover'
10
+ // '--u-icon-bar-item-color-hover'
11
+ // '--u-icon-bar-item-box-shadow'
12
+ // '--u-icon-bar-item-span'
13
+ // '--u-icon-bar-cols'
14
+ export default c([cB('icon-bar', `
15
+ justify-content: space-between !important;
16
+ grid-template-columns: repeat(var(--u-icon-bar-cols), var(--u-icon-bar-item-size)) !important;
17
+ `), cB('icon-bar-item-wrapper', `
18
+ display: flex;
19
+ flex-direction: column;
20
+ align-items: center;
21
+ cursor: pointer;
22
+ gap: var(--u-icon-bar-item-gap);
23
+ grid-column: span var(--u-icon-bar-item-span)
24
+ `, [cB('icon-bar-item', `
25
+ width: 100%;
26
+ height: var(--u-icon-bar-item-size);
27
+ background-color: var(--u-icon-bar-item-color);
28
+ border-radius: 16px;
29
+ display: flex;
30
+ align-items: center;
31
+ box-sizing: border-box;
32
+ justify-content: center;
33
+ box-shadow: var(--u-icon-bar-item-box-shadow);
34
+ transition:
35
+ background-color .3s var(--u-bezier),
36
+ transform .3s var(--u-bezier);
37
+ `, [cE('icon', `
38
+ width: var(--u-icon-bar-item-icon-size);
39
+ height: var(--u-icon-bar-item-icon-size);
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ & > * {
44
+ width: 100%;
45
+ height: 100%;
46
+ }
47
+ `)]), cE('label', `
48
+ color: var(--u-icon-bar-item-label-color);
49
+ font-weight: 400;
50
+ text-align: center;
51
+ transition:
52
+ font-size .2s var(--u-bezier),
53
+ color .2s var(--u-bezier),
54
+ font-weight .2s var(--u-bezier);
55
+ `), c('&:hover', [cB('icon-bar-item', `
56
+ background-color: var(--u-icon-bar-item-color-hover);
57
+ transform: scale(1.04);
58
+ `), cE('label', `
59
+ font-size: var(--u-icon-bar-item-label-size-hover);
60
+ color: var(--u-icon-bar-item-label-color-hover);
61
+ font-weight: 500;
62
+ `)])])]);
@@ -0,0 +1,3 @@
1
+ import type { IconBarTheme } from './light';
2
+ declare const iconBarDark: IconBarTheme;
3
+ export default iconBarDark;
@@ -0,0 +1,8 @@
1
+ import { commonDark } from '../../_styles/common';
2
+ import { self } from './light';
3
+ const iconBarDark = {
4
+ name: 'IconBar',
5
+ common: commonDark,
6
+ self
7
+ };
8
+ export default iconBarDark;
@@ -0,0 +1,3 @@
1
+ export { default as iconBarDark } from './dark';
2
+ export { default as iconBarLight } from './light';
3
+ export type { IconBarTheme, IconBarThemeVars } from './light';
@@ -0,0 +1,2 @@
1
+ export { default as iconBarDark } from './dark';
2
+ export { default as iconBarLight } from './light';
@@ -0,0 +1,19 @@
1
+ import type { ThemeCommonVars } from '../../_styles/common';
2
+ import type { Theme } from '../../_mixins';
3
+ export declare const self: (vars: ThemeCommonVars) => {
4
+ itemSize: string;
5
+ color: string;
6
+ colorHover: string;
7
+ itemGap: string;
8
+ iconSize: string;
9
+ labelColor: string;
10
+ labelSizeHover: string;
11
+ labelColorHover: string;
12
+ boxShadow: string;
13
+ span: number;
14
+ cols: number;
15
+ };
16
+ export type IconBarThemeVars = ReturnType<typeof self>;
17
+ declare const iconBarLight: Theme<'IconBar', IconBarThemeVars>;
18
+ export default iconBarLight;
19
+ export type IconBarTheme = typeof iconBarLight;