@digitalc/dxp-ui 0.0.5-alpha.15 → 0.0.5-alpha.17

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 (238) hide show
  1. package/README.md +81 -47
  2. package/es/assets/token.json +128 -102
  3. package/es/components/Accordion/designTokens.d.ts +3 -3
  4. package/es/components/Accordion/designTokens.js +22 -14
  5. package/es/components/Accordion/index.js +8 -4
  6. package/es/components/Amount/designTokens.d.ts +2 -2
  7. package/es/components/Amount/designTokens.js +12 -8
  8. package/es/components/Amount/index.d.ts +3 -10
  9. package/es/components/Amount/index.js +122 -136
  10. package/es/components/Button/designTokens.d.ts +18 -3
  11. package/es/components/Button/designTokens.js +136 -122
  12. package/es/components/Button/index.d.ts +16 -5
  13. package/es/components/Button/index.js +89 -94
  14. package/es/components/Button/style/index.less +1 -1
  15. package/es/components/Card/designTokens.d.ts +9 -0
  16. package/es/components/Card/designTokens.js +14 -0
  17. package/es/components/Card/index.d.ts +15 -0
  18. package/es/components/Card/index.js +66 -0
  19. package/es/components/Card/style/index.less +45 -0
  20. package/es/components/Card/style/variables.less +4 -0
  21. package/es/components/Chip/designTokens.d.ts +2 -2
  22. package/es/components/Chip/designTokens.js +25 -21
  23. package/es/components/Chip/index.js +9 -8
  24. package/es/components/Divider/designTokens.d.ts +4 -0
  25. package/es/components/Divider/designTokens.js +9 -0
  26. package/es/components/Divider/index.d.ts +3 -8
  27. package/es/components/Divider/index.js +31 -49
  28. package/es/components/Drawer/designTokens.d.ts +2 -2
  29. package/es/components/Drawer/designTokens.js +30 -26
  30. package/es/components/Drawer/index.d.ts +6 -2
  31. package/es/components/Drawer/index.js +71 -68
  32. package/es/components/Drawer/style/index.less +13 -7
  33. package/es/components/GlobalTokenProvider/index.d.ts +11 -0
  34. package/es/components/GlobalTokenProvider/index.js +16 -0
  35. package/es/components/Icon/designTokens.d.ts +3 -3
  36. package/es/components/Icon/designTokens.js +11 -6
  37. package/es/components/Icon/index.js +6 -2
  38. package/es/components/IconButton/designTokens.d.ts +3 -4
  39. package/es/components/IconButton/designTokens.js +38 -32
  40. package/es/components/IconButton/index.d.ts +1 -1
  41. package/es/components/IconButton/index.js +7 -7
  42. package/es/components/Image/index.d.ts +1 -1
  43. package/es/components/Image/index.js +4 -3
  44. package/es/components/ListItem/designTokens.d.ts +4 -2
  45. package/es/components/ListItem/designTokens.js +36 -30
  46. package/es/components/ListItem/index.d.ts +12 -2
  47. package/es/components/ListItem/index.js +95 -30
  48. package/es/components/ListItem/style/index.less +42 -9
  49. package/es/components/Modal/designTokens.d.ts +11 -20
  50. package/es/components/Modal/designTokens.js +39 -30
  51. package/es/components/Modal/index.js +24 -11
  52. package/es/components/Navigation/designTokens.d.ts +9 -8
  53. package/es/components/Navigation/designTokens.js +24 -18
  54. package/es/components/Navigation/index.d.ts +1 -0
  55. package/es/components/Navigation/index.js +14 -10
  56. package/es/components/Notification/designTokens.d.ts +9 -0
  57. package/es/components/Notification/designTokens.js +14 -0
  58. package/es/components/Notification/index.d.ts +12 -0
  59. package/es/components/Notification/index.js +54 -0
  60. package/es/components/Notification/style/index.less +45 -0
  61. package/es/components/Notification/style/variables.less +4 -0
  62. package/es/components/Search/designTokens.d.ts +4 -4
  63. package/es/components/Search/designTokens.js +57 -46
  64. package/es/components/Search/index.js +15 -9
  65. package/es/components/Stepper/designTokens.d.ts +4 -5
  66. package/es/components/Stepper/designTokens.js +48 -40
  67. package/es/components/Stepper/index.d.ts +9 -10
  68. package/es/components/Stepper/index.js +139 -135
  69. package/es/components/Stepper/style/index.less +27 -12
  70. package/es/components/StickyFooter/designTokens.d.ts +2 -2
  71. package/es/components/StickyFooter/designTokens.js +20 -16
  72. package/es/components/StickyFooter/index.d.ts +2 -2
  73. package/es/components/StickyFooter/index.js +68 -39
  74. package/es/components/StickyFooter/style/index.less +5 -3
  75. package/es/components/Tabs/designTokens.d.ts +6 -6
  76. package/es/components/Tabs/designTokens.js +77 -60
  77. package/es/components/Tabs/index.js +11 -6
  78. package/es/components/Tag/designTokens.d.ts +42 -42
  79. package/es/components/Tag/designTokens.js +139 -95
  80. package/es/components/Tag/index.d.ts +1 -1
  81. package/es/components/Tag/index.js +16 -3
  82. package/es/components/Text/designTokens.d.ts +19 -10
  83. package/es/components/Text/designTokens.js +65 -51
  84. package/es/components/Text/index.d.ts +2 -1
  85. package/es/components/Text/index.js +42 -12
  86. package/es/components/TextInputInside/designTokens.d.ts +3 -12
  87. package/es/components/TextInputInside/designTokens.js +59 -57
  88. package/es/components/TextInputInside/index.js +10 -7
  89. package/es/components/TextInputOutside/designTokens.d.ts +5 -5
  90. package/es/components/TextInputOutside/designTokens.js +77 -61
  91. package/es/components/TextInputOutside/index.js +12 -7
  92. package/es/components/TextLink/designTokens.d.ts +2 -2
  93. package/es/components/TextLink/designTokens.js +14 -10
  94. package/es/components/TextLink/index.js +2 -1
  95. package/es/components/Toast/designTokens.d.ts +2 -2
  96. package/es/components/Toast/designTokens.js +20 -19
  97. package/es/components/Toast/index.js +2 -1
  98. package/es/components/Toggle/designTokens.d.ts +2 -2
  99. package/es/components/Toggle/designTokens.js +16 -12
  100. package/es/components/Toggle/index.js +2 -1
  101. package/es/components/index.d.ts +7 -1
  102. package/es/components/index.js +6 -2
  103. package/es/constants/index.d.ts +4 -1
  104. package/es/constants/index.js +5 -1
  105. package/es/index.d.ts +2 -0
  106. package/es/index.js +4 -0
  107. package/es/tokens/DXPGlobal.d.ts +27 -19
  108. package/es/tokens/DXPGlobal.js +3 -2
  109. package/es/utils/TokenContext.d.ts +14 -0
  110. package/es/utils/TokenContext.js +91 -0
  111. package/es/utils/deviceType.d.ts +14 -0
  112. package/es/utils/deviceType.js +65 -0
  113. package/es/utils/index.d.ts +9 -0
  114. package/es/utils/index.js +9 -0
  115. package/es/utils/tokenHelper.js +2 -5
  116. package/es/utils/tokenManager.d.ts +82 -20
  117. package/es/utils/tokenManager.js +857 -779
  118. package/lib/assets/token.json +128 -102
  119. package/lib/components/Accordion/designTokens.d.ts +3 -3
  120. package/lib/components/Accordion/designTokens.js +25 -17
  121. package/lib/components/Accordion/index.js +8 -4
  122. package/lib/components/Amount/designTokens.d.ts +2 -2
  123. package/lib/components/Amount/designTokens.js +13 -9
  124. package/lib/components/Amount/index.d.ts +3 -10
  125. package/lib/components/Amount/index.js +84 -90
  126. package/lib/components/Button/designTokens.d.ts +18 -3
  127. package/lib/components/Button/designTokens.js +120 -114
  128. package/lib/components/Button/index.d.ts +16 -5
  129. package/lib/components/Button/index.js +59 -51
  130. package/lib/components/Button/style/index.less +1 -1
  131. package/lib/components/Card/designTokens.d.ts +9 -0
  132. package/lib/components/Card/designTokens.js +37 -0
  133. package/lib/components/Card/index.d.ts +15 -0
  134. package/lib/components/Card/index.js +156 -0
  135. package/lib/components/Card/style/index.less +45 -0
  136. package/lib/components/Card/style/variables.less +4 -0
  137. package/lib/components/Chip/designTokens.d.ts +2 -2
  138. package/lib/components/Chip/designTokens.js +25 -21
  139. package/lib/components/Chip/index.js +8 -5
  140. package/lib/components/Divider/designTokens.d.ts +4 -0
  141. package/lib/components/Divider/designTokens.js +32 -0
  142. package/lib/components/Divider/index.d.ts +3 -8
  143. package/lib/components/Divider/index.js +41 -43
  144. package/lib/components/Drawer/designTokens.d.ts +2 -2
  145. package/lib/components/Drawer/designTokens.js +31 -38
  146. package/lib/components/Drawer/index.d.ts +6 -2
  147. package/lib/components/Drawer/index.js +80 -53
  148. package/lib/components/Drawer/style/index.less +13 -7
  149. package/lib/components/GlobalTokenProvider/index.d.ts +11 -0
  150. package/lib/components/GlobalTokenProvider/index.js +40 -0
  151. package/lib/components/Icon/designTokens.d.ts +3 -3
  152. package/lib/components/Icon/designTokens.js +11 -17
  153. package/lib/components/Icon/index.js +5 -4
  154. package/lib/components/IconButton/designTokens.d.ts +3 -4
  155. package/lib/components/IconButton/designTokens.js +41 -34
  156. package/lib/components/IconButton/index.d.ts +1 -1
  157. package/lib/components/IconButton/index.js +25 -23
  158. package/lib/components/Image/index.d.ts +1 -1
  159. package/lib/components/Image/index.js +4 -4
  160. package/lib/components/ListItem/designTokens.d.ts +4 -2
  161. package/lib/components/ListItem/designTokens.js +36 -41
  162. package/lib/components/ListItem/index.d.ts +12 -2
  163. package/lib/components/ListItem/index.js +115 -46
  164. package/lib/components/ListItem/style/index.less +42 -9
  165. package/lib/components/Modal/designTokens.d.ts +11 -20
  166. package/lib/components/Modal/designTokens.js +44 -60
  167. package/lib/components/Modal/index.js +63 -16
  168. package/lib/components/Navigation/designTokens.d.ts +9 -8
  169. package/lib/components/Navigation/designTokens.js +24 -29
  170. package/lib/components/Navigation/index.d.ts +1 -0
  171. package/lib/components/Navigation/index.js +13 -12
  172. package/lib/components/Notification/designTokens.d.ts +9 -0
  173. package/lib/components/Notification/designTokens.js +37 -0
  174. package/lib/components/Notification/index.d.ts +12 -0
  175. package/lib/components/Notification/index.js +110 -0
  176. package/lib/components/Notification/style/index.less +45 -0
  177. package/lib/components/Notification/style/variables.less +4 -0
  178. package/lib/components/Search/designTokens.d.ts +4 -4
  179. package/lib/components/Search/designTokens.js +61 -49
  180. package/lib/components/Search/index.js +31 -9
  181. package/lib/components/Stepper/designTokens.d.ts +4 -5
  182. package/lib/components/Stepper/designTokens.js +70 -62
  183. package/lib/components/Stepper/index.d.ts +9 -10
  184. package/lib/components/Stepper/index.js +104 -53
  185. package/lib/components/Stepper/style/index.less +27 -12
  186. package/lib/components/StickyFooter/designTokens.d.ts +2 -2
  187. package/lib/components/StickyFooter/designTokens.js +21 -17
  188. package/lib/components/StickyFooter/index.d.ts +2 -2
  189. package/lib/components/StickyFooter/index.js +50 -18
  190. package/lib/components/StickyFooter/style/index.less +5 -3
  191. package/lib/components/Tabs/designTokens.d.ts +6 -6
  192. package/lib/components/Tabs/designTokens.js +80 -63
  193. package/lib/components/Tabs/index.js +19 -12
  194. package/lib/components/Tag/designTokens.d.ts +42 -42
  195. package/lib/components/Tag/designTokens.js +159 -115
  196. package/lib/components/Tag/index.d.ts +1 -1
  197. package/lib/components/Tag/index.js +27 -14
  198. package/lib/components/Text/designTokens.d.ts +19 -10
  199. package/lib/components/Text/designTokens.js +65 -51
  200. package/lib/components/Text/index.d.ts +2 -1
  201. package/lib/components/Text/index.js +407 -297
  202. package/lib/components/TextInputInside/designTokens.d.ts +3 -12
  203. package/lib/components/TextInputInside/designTokens.js +62 -75
  204. package/lib/components/TextInputInside/index.js +10 -7
  205. package/lib/components/TextInputOutside/designTokens.d.ts +5 -5
  206. package/lib/components/TextInputOutside/designTokens.js +82 -66
  207. package/lib/components/TextInputOutside/index.js +12 -8
  208. package/lib/components/TextLink/designTokens.d.ts +2 -2
  209. package/lib/components/TextLink/designTokens.js +14 -21
  210. package/lib/components/TextLink/index.js +3 -2
  211. package/lib/components/Toast/designTokens.d.ts +2 -2
  212. package/lib/components/Toast/designTokens.js +20 -16
  213. package/lib/components/Toast/index.js +7 -6
  214. package/lib/components/Toggle/designTokens.d.ts +2 -2
  215. package/lib/components/Toggle/designTokens.js +16 -23
  216. package/lib/components/Toggle/index.js +3 -2
  217. package/lib/components/index.d.ts +7 -1
  218. package/lib/components/index.js +10 -2
  219. package/lib/constants/index.d.ts +4 -1
  220. package/lib/constants/index.js +5 -1
  221. package/lib/index.d.ts +2 -0
  222. package/lib/index.js +22 -0
  223. package/lib/tokens/DXPGlobal.d.ts +27 -19
  224. package/lib/tokens/DXPGlobal.js +1 -1
  225. package/lib/utils/TokenContext.d.ts +14 -0
  226. package/lib/utils/TokenContext.js +85 -0
  227. package/lib/utils/deviceType.d.ts +14 -0
  228. package/lib/utils/deviceType.js +56 -0
  229. package/lib/utils/index.d.ts +9 -0
  230. package/lib/utils/index.js +44 -0
  231. package/lib/utils/tokenHelper.js +2 -12
  232. package/lib/utils/tokenManager.d.ts +82 -20
  233. package/lib/utils/tokenManager.js +840 -777
  234. package/package.json +14 -11
  235. package/umd/dxp-ui.min.css +1 -1
  236. package/umd/dxp-ui.min.js +1 -1
  237. package/lib/components/Button/demo/index.d.ts +0 -3
  238. package/lib/components/Button/demo/index.js +0 -138
@@ -1,18 +1,22 @@
1
1
  import React from 'react';
2
2
  import './style/index.less';
3
- export type DrawerType = 'DrawerTypeHandler' | 'DrawerTypeCloseBtn';
3
+ export type DrawerType = 'DrawerTypeHandler' | 'DrawerTypeCloseBtn' | 'DrawerTypeDefault';
4
4
  export declare const DrawerTypeEnum: Record<string, DrawerType>;
5
5
  export interface BottomDrawerProps {
6
+ showClose?: boolean;
7
+ prefix?: string;
8
+ className?: string;
6
9
  visible: boolean;
7
10
  onClose: () => void;
8
11
  children: React.ReactNode;
9
12
  height?: number | string;
10
13
  title?: string;
11
- drawerType: DrawerType;
14
+ drawerType?: DrawerType;
12
15
  bottomBtnText?: string;
13
16
  bottomLinkText?: string;
14
17
  showBottomBorder?: boolean;
15
18
  showImage?: boolean;
19
+ showBottomShadow?: boolean;
16
20
  imageSrc?: string;
17
21
  onLinkClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
18
22
  onBottomBtnClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
@@ -48,24 +48,32 @@ __export(Drawer_exports, {
48
48
  });
49
49
  module.exports = __toCommonJS(Drawer_exports);
50
50
  var import_react = __toESM(require("react"));
51
- var import_designTokens = __toESM(require("./designTokens"));
51
+ var import_designTokens = require("./designTokens");
52
+ var import_lodash = require("lodash");
53
+ var import_cssinjs = require("@ant-design/cssinjs");
52
54
  var import__ = require("../index");
53
55
  var import_constants = require("../../constants");
56
+ var import_theme = require("../../utils/theme");
54
57
  var import_style = require("./style/index.less");
55
58
  var DrawerTypeEnum = {
56
59
  DrawerTypeHandler: "DrawerTypeHandler",
57
- DrawerTypeCloseBtn: "DrawerTypeCloseBtn"
60
+ DrawerTypeCloseBtn: "DrawerTypeCloseBtn",
61
+ DrawerTypeDefault: "DrawerTypeDefault"
58
62
  };
59
63
  var BottomDrawer = ({
64
+ prefix = `${import_constants.cssClasses.PREFIX}-drawer`,
65
+ showClose = true,
66
+ className = "",
60
67
  visible,
61
68
  onClose,
62
69
  children,
63
70
  height,
64
71
  title,
65
- drawerType = DrawerTypeEnum.DrawerTypeHandler,
72
+ drawerType = DrawerTypeEnum.DrawerTypeDefault,
66
73
  bottomBtnText,
67
74
  bottomLinkText,
68
75
  showBottomBorder,
76
+ showBottomShadow,
69
77
  showImage,
70
78
  imageSrc,
71
79
  onLinkClick,
@@ -92,7 +100,7 @@ var BottomDrawer = ({
92
100
  return;
93
101
  }
94
102
  const timer = setTimeout(() => {
95
- const footer = document.querySelector(`.${import_constants.cssClasses.PREFIX}-stickyFooter`);
103
+ const footer = document.querySelector(`.drawer-sticky`);
96
104
  if (footer) {
97
105
  const observer = new ResizeObserver((entries) => {
98
106
  const contentHeight = (entries == null ? void 0 : entries[0].contentRect.height) + 10;
@@ -105,6 +113,7 @@ var BottomDrawer = ({
105
113
  }, 100);
106
114
  return () => clearTimeout(timer);
107
115
  }, [visible]);
116
+ const designTokens = (0, import_designTokens.useDesignTokens)();
108
117
  const {
109
118
  colorDrawerBackgroundOverlay,
110
119
  colorDrawerBackgroundStandard,
@@ -119,71 +128,88 @@ var BottomDrawer = ({
119
128
  spacingDrawerListOptionHorizontalGap,
120
129
  spacingDrawerPaddingBottom,
121
130
  spacingDrawerPaddingTop
122
- } = import_designTokens.default;
131
+ } = designTokens;
132
+ const useCustomButtonStyle = () => {
133
+ const hashId = (0, import_cssinjs.useStyleRegister)({
134
+ theme: import_theme.theme,
135
+ token: {},
136
+ path: [`${prefix}`]
137
+ }, () => `
138
+ .${prefix}-mask {
139
+ background: ${colorDrawerBackgroundOverlay};
140
+ }
141
+ .${prefix}-content {
142
+ background: ${colorDrawerBackgroundStandard};
143
+ border-top-left-radius: ${borderTopLeftRadius}px;
144
+ border-top-right-radius:${borderTopRightRadius}px;
145
+ height:${height}px;
146
+ }
147
+ .${prefix}-inner {
148
+ padding-left: ${spacingDrawerPaddingHorizontal}px;
149
+ padding-right: ${spacingDrawerPaddingHorizontal}px;
150
+ padding-bottom:${spacingDrawerPaddingBottom}px;
151
+ }
152
+ .${prefix}-header {
153
+ .${prefix}-header-text {
154
+ color: ${colorDrawerTextHeader};
155
+ margin-bottom: ${spacingDrawerListOptionHorizontalGap}px;
156
+ display: block;
157
+ }
158
+ &.center{
159
+ width: 100%;
160
+ text-align: center;
161
+ }
162
+ }
163
+ .${prefix}-handle-bar {
164
+ width:${sizingDrawerHandle || 0}px;
165
+ background: ${colorDrawerHandle};
166
+ margin-top: ${spacingDrawerHandlePaddingTop}px !important;
167
+ margin-bottom: ${spacingDrawerHandlePaddingBottom}px !important;
168
+ }
169
+ .${prefix}-close-warp {
170
+ padding-top: ${spacingDrawerPaddingTop}px;
171
+ padding-left: ${spacingDrawerPaddingHorizontal}px;
172
+ padding-right: ${spacingDrawerPaddingHorizontal}px;
173
+ }
174
+ `);
175
+ return hashId;
176
+ };
177
+ useCustomButtonStyle();
123
178
  if (!isMounted)
124
179
  return null;
125
- const borderStyle = showBottomBorder ? {} : { border: "none" };
126
- const TitleCom = title ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${import_constants.cssClasses.PREFIX}-drawer-header` }, /* @__PURE__ */ import_react.default.createElement(
180
+ const borderStyle = showBottomBorder ? {} : showBottomShadow ? {
181
+ boxShadow: "0 -2px 10px 0 rgba(0, 0, 0, 0.06)",
182
+ border: "none"
183
+ } : { border: "none" };
184
+ const paddingStyle = paddingBottom > 0 ? { paddingBottom: `${paddingBottom}px` } : {};
185
+ const TitleCom = title ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}-header ${drawerType === DrawerTypeEnum.DrawerTypeDefault ? "center" : ""}` }, /* @__PURE__ */ import_react.default.createElement(
127
186
  import__.Text,
128
187
  {
129
- size: "TitleT21Bold",
130
- style: { color: colorDrawerTextHeader, marginBottom: `${spacingDrawerListOptionHorizontalGap}px`, display: "block" }
188
+ className: `${prefix}-header-text`,
189
+ size: "TitleT21Bold"
131
190
  },
132
191
  title
133
- )) : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null);
192
+ )) : /* @__PURE__ */ import_react.default.createElement("div", null);
134
193
  return /* @__PURE__ */ import_react.default.createElement(
135
194
  "div",
136
195
  {
137
- className: `${import_constants.cssClasses.PREFIX}-drawer-mask ${visible ? "visible" : ""}`,
138
- style: { background: colorDrawerBackgroundOverlay },
196
+ className: `${prefix}-mask ${visible ? "visible" : ""} ${className || ""}`,
139
197
  onClick: onClose
140
198
  },
141
199
  /* @__PURE__ */ import_react.default.createElement(
142
200
  "div",
143
201
  {
144
- className: `${import_constants.cssClasses.PREFIX}-drawer-content ${visible ? "active" : ""}`,
145
- style: {
146
- height,
147
- background: colorDrawerBackgroundStandard,
148
- borderTopLeftRadius: `${borderTopLeftRadius}px`,
149
- borderTopRightRadius: `${borderTopRightRadius}px`
150
- },
202
+ className: `${prefix}-content ${visible ? "active" : ""}`,
151
203
  onClick: (e) => e.stopPropagation()
152
204
  },
205
+ drawerType !== DrawerTypeEnum.DrawerTypeHandler && /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}-close-warp` }, TitleCom, showClose && /* @__PURE__ */ import_react.default.createElement(import__.Icon, { className: `${prefix}-icon-close`, name: "icon-Close", onClick: onClose })),
153
206
  /* @__PURE__ */ import_react.default.createElement(
154
207
  "div",
155
208
  {
156
- className: `${import_constants.cssClasses.PREFIX}-drawer-inner`,
157
- style: {
158
- paddingLeft: `${spacingDrawerPaddingHorizontal}px`,
159
- paddingRight: `${spacingDrawerPaddingHorizontal}px`,
160
- paddingBottom: `${paddingBottom}px`
161
- }
209
+ className: `${prefix}-inner`,
210
+ style: __spreadValues({}, paddingStyle)
162
211
  },
163
- drawerType === DrawerTypeEnum.DrawerTypeHandler && /* @__PURE__ */ import_react.default.createElement(
164
- "div",
165
- {
166
- className: "handle-bar",
167
- style: {
168
- width: sizingDrawerHandle ? `${sizingDrawerHandle}px` : 0,
169
- background: colorDrawerHandle,
170
- marginTop: `${spacingDrawerHandlePaddingTop}px`,
171
- marginBottom: `${spacingDrawerHandlePaddingBottom}px`
172
- }
173
- }
174
- ),
175
- drawerType === DrawerTypeEnum.DrawerTypeCloseBtn && /* @__PURE__ */ import_react.default.createElement(
176
- "div",
177
- {
178
- className: "close-warp",
179
- style: {
180
- paddingTop: `${spacingDrawerPaddingTop}px`
181
- // paddingBottom: `${spacingDrawerListOptionHorizontalGap}px`,
182
- }
183
- },
184
- /* @__PURE__ */ import_react.default.createElement("div", null, TitleCom),
185
- /* @__PURE__ */ import_react.default.createElement(import__.Icon, { name: "icon-Close", onClick: onClose })
186
- ),
212
+ drawerType === DrawerTypeEnum.DrawerTypeHandler && /* @__PURE__ */ import_react.default.createElement("div", { className: `${prefix}-handle-bar` }),
187
213
  showImage && /* @__PURE__ */ import_react.default.createElement(
188
214
  import__.Image,
189
215
  {
@@ -193,12 +219,13 @@ var BottomDrawer = ({
193
219
  style: { marginBottom: `${spacingDrawerPaddingBottom}px` }
194
220
  }
195
221
  ),
196
- drawerType !== DrawerTypeEnum.DrawerTypeCloseBtn && title && TitleCom,
222
+ drawerType === DrawerTypeEnum.DrawerTypeHandler && title && TitleCom,
197
223
  children
198
224
  ),
199
- (!!bottomBtnText || !!bottomLinkText) && /* @__PURE__ */ import_react.default.createElement(
225
+ (!(0, import_lodash.isEmpty)(bottomBtnText) || !(0, import_lodash.isEmpty)(bottomLinkText)) && /* @__PURE__ */ import_react.default.createElement(
200
226
  import__.StickyFooter,
201
227
  {
228
+ className: "drawer-sticky",
202
229
  onClick: onBottomBtnClick,
203
230
  buttonText: bottomBtnText,
204
231
  style: __spreadValues({
@@ -206,7 +233,7 @@ var BottomDrawer = ({
206
233
  flexShrink: 0
207
234
  }, borderStyle)
208
235
  },
209
- !!bottomLinkText && /* @__PURE__ */ import_react.default.createElement(
236
+ !(0, import_lodash.isEmpty)(bottomLinkText) && /* @__PURE__ */ import_react.default.createElement("div", { className: "drawer-link" }, /* @__PURE__ */ import_react.default.createElement(
210
237
  import__.Text,
211
238
  {
212
239
  onClick: (e) => {
@@ -221,7 +248,7 @@ var BottomDrawer = ({
221
248
  }
222
249
  },
223
250
  bottomLinkText
224
- )
251
+ ))
225
252
  )
226
253
  )
227
254
  );
@@ -1,12 +1,13 @@
1
1
  @import './variables.less';
2
+ @component: drawer;
2
3
 
3
4
  // 添加iOS惯性滚动限制
4
- .@{prefix}-drawer-content {
5
+ .@{prefix}-@{component}-content {
5
6
  -webkit-overflow-scrolling: touch;
6
7
  overscroll-behavior: contain;
7
8
  }
8
9
 
9
- .@{prefix}-drawer-mask {
10
+ .@{prefix}-@{component}-mask {
10
11
  touch-action: none; // 阻止移动端触摸事件
11
12
  position: fixed;
12
13
  top: 0;
@@ -23,7 +24,7 @@
23
24
  }
24
25
  }
25
26
 
26
- .@{prefix}-drawer-content {
27
+ .@{prefix}-@{component}-content {
27
28
  .transition-properties();
28
29
  position: fixed;
29
30
  left: 0;
@@ -44,27 +45,32 @@
44
45
  bottom: 0;
45
46
  }
46
47
 
47
- .handle-bar {
48
+ .@{prefix}-@{component}-handle-bar {
48
49
  height: 4px;
49
50
  margin: 0 auto;
50
51
  border-radius: 4px;
51
52
  }
52
53
 
53
- .@{prefix}-drawer-inner {
54
+ .@{prefix}-@{component}-inner {
54
55
  overflow: auto;
55
56
  flex: 1;
56
57
  min-height: 0;
57
58
  padding-bottom: 20px;
58
59
  /* 防止底部遮挡 */
59
-
60
60
  }
61
61
 
62
- .close-warp {
62
+ .@{prefix}-@{component}-close-warp {
63
63
  display: flex;
64
64
  flex-direction: row;
65
65
  justify-content: space-between;
66
66
  }
67
67
 
68
+ .drawer-link {
69
+ display: flex;
70
+ align-items: center;
71
+ justify-content: center;
72
+ }
73
+
68
74
  }
69
75
 
70
76
  // 混合 (Mixin)
@@ -0,0 +1,11 @@
1
+ import React, { ReactNode } from 'react';
2
+ interface GlobalTokenProviderProps {
3
+ children: ReactNode;
4
+ getToken?: (tokenName: string) => string | number | boolean | undefined;
5
+ }
6
+ /**
7
+ * 全局TokenProvider组件
8
+ * 用于在应用顶层提供TokenContext,避免在每个组件中重复创建TokenProvider
9
+ */
10
+ declare const GlobalTokenProvider: React.FC<GlobalTokenProviderProps>;
11
+ export default GlobalTokenProvider;
@@ -0,0 +1,40 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/GlobalTokenProvider/index.tsx
30
+ var GlobalTokenProvider_exports = {};
31
+ __export(GlobalTokenProvider_exports, {
32
+ default: () => GlobalTokenProvider_default
33
+ });
34
+ module.exports = __toCommonJS(GlobalTokenProvider_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_utils = require("../../utils");
37
+ var GlobalTokenProvider = ({ children, getToken }) => {
38
+ return /* @__PURE__ */ import_react.default.createElement(import_utils.TokenProvider, { getToken }, children);
39
+ };
40
+ var GlobalTokenProvider_default = GlobalTokenProvider;
@@ -1,6 +1,6 @@
1
- declare const designTokens: {
1
+ declare const useDesignTokens: () => {
2
2
  colorIconButtonNeutral: any;
3
3
  colorIconButtonInverse: any;
4
- sizingButtonIcon: any;
4
+ sizingButtonIcon: number;
5
5
  };
6
- export default designTokens;
6
+ export { useDesignTokens };
@@ -1,8 +1,6 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
5
  var __export = (target, all) => {
8
6
  for (var name in all)
@@ -16,26 +14,22 @@ var __copyProps = (to, from, except, desc) => {
16
14
  }
17
15
  return to;
18
16
  };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
18
 
29
19
  // src/components/Icon/designTokens.ts
30
20
  var designTokens_exports = {};
31
21
  __export(designTokens_exports, {
32
- default: () => designTokens_default
22
+ useDesignTokens: () => useDesignTokens
33
23
  });
34
24
  module.exports = __toCommonJS(designTokens_exports);
35
- var import_tokenManager = __toESM(require("../../utils/tokenManager"));
36
- var designTokens = {
37
- colorIconButtonNeutral: import_tokenManager.default.tokenKey("colorIconButtonNeutral"),
38
- colorIconButtonInverse: import_tokenManager.default.tokenKey("colorIconButtonInverse"),
39
- sizingButtonIcon: import_tokenManager.default.tokenKey("sizingButtonIcon")
25
+ var import_utils = require("../../utils");
26
+ var import_scaleTool = require("../../utils/scaleTool");
27
+ var useDesignTokens = () => {
28
+ const getToken = (0, import_utils.useDynamicTokens)();
29
+ const designTokens = {
30
+ colorIconButtonNeutral: getToken("colorIconButtonNeutral"),
31
+ colorIconButtonInverse: getToken("colorIconButtonInverse"),
32
+ sizingButtonIcon: (0, import_scaleTool.wSacle)(getToken("sizingButtonIcon"))
33
+ };
34
+ return designTokens;
40
35
  };
41
- var designTokens_default = designTokens;
@@ -60,14 +60,15 @@ __export(Icon_exports, {
60
60
  module.exports = __toCommonJS(Icon_exports);
61
61
  var import_react = __toESM(require("react"));
62
62
  var import_Icon = __toESM(require("./Icon"));
63
- var import_designTokens = __toESM(require("./designTokens"));
63
+ var import_designTokens = require("./designTokens");
64
64
  var Icon = (props) => {
65
- const { colorIconButtonInverse, colorIconButtonNeutral, sizingButtonIcon } = import_designTokens.default;
66
- const _a = props, { name, color, size = sizingButtonIcon, inverse = false, style } = _a, rest = __objRest(_a, ["name", "color", "size", "inverse", "style"]);
65
+ const designTokens = (0, import_designTokens.useDesignTokens)();
66
+ const { colorIconButtonInverse, colorIconButtonNeutral, sizingButtonIcon } = designTokens;
67
+ const _a = props, { name, color, size = sizingButtonIcon, inverse = false, style, className = "" } = _a, rest = __objRest(_a, ["name", "color", "size", "inverse", "style", "className"]);
67
68
  const mergeStyle = __spreadValues({
68
69
  color: color || (inverse ? colorIconButtonInverse : colorIconButtonNeutral),
69
70
  fontSize: size ? `${size}px` : ""
70
71
  }, style);
71
- return /* @__PURE__ */ import_react.default.createElement(import_Icon.default, __spreadValues({ type: name, style: mergeStyle }, rest));
72
+ return /* @__PURE__ */ import_react.default.createElement(import_Icon.default, __spreadValues({ className, type: name, style: mergeStyle }, rest));
72
73
  };
73
74
  var Icon_default = Icon;
@@ -1,4 +1,4 @@
1
- declare const designTokens: {
1
+ declare const useDesignTokens: () => {
2
2
  colorIconButtonNeutral: any;
3
3
  colorIconButtonInverse: any;
4
4
  sizingIconButtonMedium: any;
@@ -14,8 +14,7 @@ declare const designTokens: {
14
14
  colorIconButtonActive: any;
15
15
  transitionIconButton: string;
16
16
  };
17
- declare const otherDesignTokens: {
17
+ declare const useOtherDesignTokens: () => {
18
18
  [x: string]: string;
19
19
  };
20
- export { designTokens, otherDesignTokens, };
21
- export default designTokens;
20
+ export { useDesignTokens, useOtherDesignTokens, };
@@ -19,43 +19,50 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  // src/components/IconButton/designTokens.ts
20
20
  var designTokens_exports = {};
21
21
  __export(designTokens_exports, {
22
- default: () => designTokens_default,
23
- designTokens: () => designTokens,
24
- otherDesignTokens: () => otherDesignTokens
22
+ useDesignTokens: () => useDesignTokens,
23
+ useOtherDesignTokens: () => useOtherDesignTokens
25
24
  });
26
25
  module.exports = __toCommonJS(designTokens_exports);
27
- var import_tokenHelper = require("../../utils/tokenHelper");
26
+ var import_utils = require("../../utils");
28
27
  var import_constants = require("../../constants");
29
28
  var prefixCls = import_constants.cssClasses.PREFIX + "-icon-button";
30
- var designTokens = {
31
- // 图标按钮颜色
32
- colorIconButtonNeutral: (0, import_tokenHelper.getToken)("colorIconButtonNeutral"),
33
- colorIconButtonInverse: (0, import_tokenHelper.getToken)("colorIconButtonInverse"),
34
- // 反色
35
- // 图标按钮尺寸
36
- sizingIconButtonMedium: (0, import_tokenHelper.getToken)("sizingIconButtonIconMedium"),
37
- // Medium Icon: 24px x 24px
38
- sizingIconButtonSmall: (0, import_tokenHelper.getToken)("sizingIconButtonIconSmall"),
39
- // Small Icon: 16px x 16px
40
- // padding
41
- spacingIconButtonPaddingVertical: (0, import_tokenHelper.getToken)("spacingIconButtonPaddingVertical"),
42
- // Medium
43
- spacingIconButtonPaddingVerticalSm: (0, import_tokenHelper.getToken)("spacingIconButtonPaddingVerticalSm"),
44
- // Small
45
- spacingIconButtonPaddingHorizontal: (0, import_tokenHelper.getToken)("spacingIconButtonPaddingHorizontal"),
46
- spacingIconButtonPaddingHorizontalSm: (0, import_tokenHelper.getToken)("spacingIconButtonPaddingHorizontalSm"),
47
- spacingIconButtonHorizontalGap: (0, import_tokenHelper.getToken)("spacingIconButtonHorizontalGap"),
48
- spacingIconButtonHorizontalGapSm: (0, import_tokenHelper.getToken)("spacingIconButtonHorizontalGapSm"),
49
- colorIconButtonDisabled: (0, import_tokenHelper.getToken)("colorIconButtonDisabled"),
50
- colorIconButtonHover: (0, import_tokenHelper.getToken)("colorIconButtonHover"),
51
- colorIconButtonActive: (0, import_tokenHelper.getToken)("colorIconButtonActive"),
52
- // 过渡动画
53
- transitionIconButton: "0.3s"
29
+ var transitionIconButton = "0.3s";
30
+ var useDesignTokens = () => {
31
+ const getToken = (0, import_utils.useDynamicTokens)();
32
+ const designTokens = {
33
+ // 图标按钮颜色
34
+ colorIconButtonNeutral: getToken("colorIconButtonNeutral"),
35
+ colorIconButtonInverse: getToken("colorIconButtonInverse"),
36
+ // 反色
37
+ // 图标按钮尺寸
38
+ sizingIconButtonMedium: getToken("sizingIconButtonIconMedium"),
39
+ // Medium Icon: 24px x 24px
40
+ sizingIconButtonSmall: getToken("sizingIconButtonIconSmall"),
41
+ // Small Icon: 16px x 16px
42
+ // padding
43
+ spacingIconButtonPaddingVertical: getToken("spacingIconButtonPaddingVertical"),
44
+ // Medium
45
+ spacingIconButtonPaddingVerticalSm: getToken("spacingIconButtonPaddingVerticalSm"),
46
+ // Small
47
+ spacingIconButtonPaddingHorizontal: getToken("spacingIconButtonPaddingHorizontal"),
48
+ spacingIconButtonPaddingHorizontalSm: getToken("spacingIconButtonPaddingHorizontalSm"),
49
+ spacingIconButtonHorizontalGap: getToken("spacingIconButtonHorizontalGap"),
50
+ spacingIconButtonHorizontalGapSm: getToken("spacingIconButtonHorizontalGapSm"),
51
+ colorIconButtonDisabled: getToken("colorIconButtonDisabled"),
52
+ colorIconButtonHover: getToken("colorIconButtonHover"),
53
+ colorIconButtonActive: getToken("colorIconButtonActive"),
54
+ // 过渡动画
55
+ transitionIconButton
56
+ };
57
+ return designTokens;
54
58
  };
55
- var otherDesignTokens = {
56
- [`--${prefixCls}-color`]: `${(0, import_tokenHelper.getToken)("colorIconButtonNeutral")}`,
57
- [`--${prefixCls}-color-inverse`]: `${(0, import_tokenHelper.getToken)("colorIconButtonInverse")}`,
58
- [`--${prefixCls}-color-disabled`]: `${(0, import_tokenHelper.getToken)("colorIconButtonDisabled")}`,
59
- [`--${prefixCls}-transition`]: `all ${designTokens.transitionIconButton}`
59
+ var useOtherDesignTokens = () => {
60
+ const getToken = (0, import_utils.useDynamicTokens)();
61
+ const otherDesignTokens = {
62
+ [`--${prefixCls}-color`]: `${getToken("colorIconButtonNeutral")}`,
63
+ [`--${prefixCls}-color-inverse`]: `${getToken("colorIconButtonInverse")}`,
64
+ [`--${prefixCls}-color-disabled`]: `${getToken("colorIconButtonDisabled")}`,
65
+ [`--${prefixCls}-transition`]: `all ${transitionIconButton}`
66
+ };
67
+ return otherDesignTokens;
60
68
  };
61
- var designTokens_default = designTokens;
@@ -2,11 +2,11 @@ import React from 'react';
2
2
  import './style/index.less';
3
3
  export type Size = 'medium' | 'small';
4
4
  export interface IconButtonProps {
5
- customeIconSize?: string | number;
6
5
  prefixCls?: string;
7
6
  name: string;
8
7
  color?: string;
9
8
  size?: Size | string | number;
9
+ customIconSize?: string | number;
10
10
  style?: React.CSSProperties;
11
11
  className?: string;
12
12
  inverse?: boolean;