@charcoal-ui/react 3.1.2-beta.6 → 3.3.0-beta.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.
- package/dist/components/Button/index.d.ts +2 -12
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.test.d.ts +2 -2
- package/dist/components/Button/index.test.d.ts.map +1 -1
- package/dist/components/Checkbox/performance.test.d.ts +4 -0
- package/dist/components/Checkbox/performance.test.d.ts.map +1 -0
- package/dist/components/Checkbox/snapshot.test.d.ts +2 -0
- package/dist/components/Checkbox/snapshot.test.d.ts.map +1 -0
- package/dist/components/LoadingSpinner/index.story.d.ts +1 -1
- package/dist/core/CharcoalProvider.d.ts +3 -2
- package/dist/core/CharcoalProvider.d.ts.map +1 -1
- package/dist/index.cjs.js +40 -48
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +40 -48
- package/dist/index.esm.js.map +1 -1
- package/package.json +16 -14
- package/src/components/Button/__snapshots__/index.test.tsx.snap +0 -155
- package/src/components/Button/index.test.tsx +2 -2
- package/src/components/Button/index.tsx +37 -54
- package/src/components/Checkbox/__snapshots__/snapshot.test.tsx.snap +763 -0
- package/src/components/Checkbox/performance.test.tsx +30 -0
- package/src/components/Checkbox/snapshot.test.tsx +66 -0
- package/src/components/LoadingSpinner/index.tsx +2 -2
- package/src/core/CharcoalProvider.tsx +6 -2
|
@@ -1,21 +1,11 @@
|
|
|
1
1
|
import { ClickableElement, ClickableProps } from '../Clickable';
|
|
2
2
|
type Variant = 'Primary' | 'Default' | 'Overlay' | 'Danger' | 'Navigation';
|
|
3
3
|
type Size = 'S' | 'M';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* ボタンのスタイル
|
|
7
|
-
*/
|
|
4
|
+
export type ButtonProps = Partial<{
|
|
8
5
|
variant: Variant;
|
|
9
|
-
/**
|
|
10
|
-
* ボタンのサイズ
|
|
11
|
-
*/
|
|
12
6
|
size: Size;
|
|
13
|
-
/**
|
|
14
|
-
* 幅を最大まで広げて描画
|
|
15
|
-
*/
|
|
16
7
|
fullWidth: boolean;
|
|
17
|
-
}
|
|
18
|
-
export type ButtonProps = Partial<StyledProps> & ClickableProps;
|
|
8
|
+
}> & ClickableProps;
|
|
19
9
|
declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<ClickableElement>>;
|
|
20
10
|
export default Button;
|
|
21
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.tsx"],"names":[],"mappings":"AAIA,OAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE1E,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAA;AAC1E,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.tsx"],"names":[],"mappings":"AAIA,OAAkB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE1E,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,CAAA;AAC1E,KAAK,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;AAQrB,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;IAChC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,IAAI,CAAA;IACV,SAAS,EAAE,OAAO,CAAA;CACnB,CAAC,GACA,cAAc,CAAA;AAEhB,QAAA,MAAM,MAAM,0GAuBV,CAAA;AACF,eAAe,MAAM,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import 'jest-styled-components';
|
|
2
|
-
import
|
|
3
|
-
export declare function render(children: JSX.Element):
|
|
2
|
+
import renderer from 'react-test-renderer';
|
|
3
|
+
export declare function render(children: JSX.Element): renderer.ReactTestRendererJSON | renderer.ReactTestRendererJSON[] | null;
|
|
4
4
|
//# sourceMappingURL=index.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.test.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAA;AAG/B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/components/Button/index.test.tsx"],"names":[],"mappings":"AAAA,OAAO,wBAAwB,CAAA;AAG/B,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAI1C,wBAAgB,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,4EAI3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"performance.test.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/performance.test.tsx"],"names":[],"mappings":"AACA,OAAO,wBAAwB,CAAA;AAG/B,OAAO,QAAQ,MAAM,qBAAqB,CAAA;AAI1C,wBAAgB,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,4EAI3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.test.d.ts","sourceRoot":"","sources":["../../../src/components/Checkbox/snapshot.test.tsx"],"names":[],"mappings":"AAOA,OAAO,wBAAwB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
2
|
title: string;
|
|
3
3
|
component: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<import(".").LoadingSpinnerProps & import("react").RefAttributes<HTMLDivElement>>>;
|
|
4
|
-
decorators:
|
|
4
|
+
decorators: any[];
|
|
5
5
|
};
|
|
6
6
|
export default _default;
|
|
7
7
|
export declare function Basic(): JSX.Element;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Components } from './ComponentAbstraction';
|
|
3
3
|
import { ThemeMap } from '@charcoal-ui/styled/src/TokenInjector';
|
|
4
|
-
import { CharcoalTheme } from '@charcoal-ui/theme';
|
|
4
|
+
import { CharcoalTheme, ThemeColor } from '@charcoal-ui/theme';
|
|
5
5
|
export type CharcoalProviderProps = React.PropsWithChildren<{
|
|
6
6
|
themeMap: ThemeMap<CharcoalTheme>;
|
|
7
7
|
defaultTheme?: CharcoalTheme;
|
|
8
8
|
injectTokens?: boolean;
|
|
9
9
|
components?: Partial<Components>;
|
|
10
|
+
background?: keyof ThemeColor;
|
|
10
11
|
}>;
|
|
11
|
-
export declare function CharcoalProvider({ themeMap, defaultTheme, components, injectTokens, children, }: CharcoalProviderProps): JSX.Element;
|
|
12
|
+
export declare function CharcoalProvider({ themeMap, defaultTheme, components, injectTokens, children, background, }: CharcoalProviderProps): JSX.Element;
|
|
12
13
|
//# sourceMappingURL=CharcoalProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CharcoalProvider.d.ts","sourceRoot":"","sources":["../../src/core/CharcoalProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAA6B,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"CharcoalProvider.d.ts","sourceRoot":"","sources":["../../src/core/CharcoalProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAA6B,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAK9D,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC1D,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;IACjC,YAAY,CAAC,EAAE,aAAa,CAAA;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IAChC,UAAU,CAAC,EAAE,MAAM,UAAU,CAAA;CAC9B,CAAC,CAAA;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,YAAgC,EAChC,UAAe,EACf,YAAmB,EACnB,QAAQ,EACR,UAAU,GACX,EAAE,qBAAqB,eAavB"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -99,10 +99,11 @@ function CharcoalProvider({
|
|
|
99
99
|
defaultTheme = themeMap[":root"],
|
|
100
100
|
components = {},
|
|
101
101
|
injectTokens = true,
|
|
102
|
-
children
|
|
102
|
+
children,
|
|
103
|
+
background
|
|
103
104
|
}) {
|
|
104
105
|
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_ssr.SSRProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_styled_components.ThemeProvider, { theme: defaultTheme, children: [
|
|
105
|
-
injectTokens && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_styled.TokenInjector, { theme: themeMap }),
|
|
106
|
+
injectTokens && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_styled.TokenInjector, { theme: themeMap, background }),
|
|
106
107
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ComponentAbstraction, { components, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_overlays.OverlayProvider, { children }) })
|
|
107
108
|
] }) });
|
|
108
109
|
}
|
|
@@ -238,21 +239,17 @@ var Button2 = (0, import_react2.forwardRef)(function Button3({
|
|
|
238
239
|
{
|
|
239
240
|
...rest,
|
|
240
241
|
disabled,
|
|
241
|
-
variant,
|
|
242
|
-
size,
|
|
243
|
-
fullWidth: fixed,
|
|
242
|
+
$variant: variant,
|
|
243
|
+
$size: size,
|
|
244
|
+
$fullWidth: fixed,
|
|
244
245
|
ref,
|
|
245
246
|
children
|
|
246
247
|
}
|
|
247
248
|
);
|
|
248
249
|
});
|
|
249
250
|
var Button_default = Button2;
|
|
250
|
-
var StyledButton = (0, import_styled_components4.default)(Clickable_default)
|
|
251
|
-
|
|
252
|
-
return prop !== "fullWidth";
|
|
253
|
-
}
|
|
254
|
-
}).attrs(styledProps)`
|
|
255
|
-
width: ${(p) => p.fullWidth ? "stretch" : "min-content"};
|
|
251
|
+
var StyledButton = (0, import_styled_components4.default)(Clickable_default)`
|
|
252
|
+
width: ${(p) => p.$fullWidth ? "stretch" : "min-content"};
|
|
256
253
|
display: inline-grid;
|
|
257
254
|
align-items: center;
|
|
258
255
|
justify-content: center;
|
|
@@ -261,53 +258,48 @@ var StyledButton = (0, import_styled_components4.default)(Clickable_default).wit
|
|
|
261
258
|
white-space: nowrap;
|
|
262
259
|
|
|
263
260
|
${(p) => theme((o) => [
|
|
264
|
-
o.font[p
|
|
265
|
-
o.bg[p
|
|
261
|
+
o.font[variantToFont(p.$variant)].hover.press,
|
|
262
|
+
o.bg[variantToBackground(p.$variant)].hover.press,
|
|
266
263
|
o.typography(14).bold.preserveHalfLeading,
|
|
267
|
-
o.padding.horizontal(p
|
|
264
|
+
o.padding.horizontal(p.$size === "M" ? 24 : 16),
|
|
268
265
|
o.disabled,
|
|
269
266
|
o.borderRadius("oval"),
|
|
270
267
|
o.outline.default.focus
|
|
271
268
|
])}
|
|
272
269
|
|
|
273
270
|
/* よく考えたらheight=32って定義が存在しないな... */
|
|
274
|
-
height: ${(p) => p
|
|
271
|
+
height: ${(p) => p.$size === "M" ? 40 : 32}px;
|
|
275
272
|
`;
|
|
276
|
-
function
|
|
277
|
-
return {
|
|
278
|
-
...props,
|
|
279
|
-
...variantToProps(props.variant),
|
|
280
|
-
...sizeToProps(props.size)
|
|
281
|
-
};
|
|
282
|
-
}
|
|
283
|
-
function variantToProps(variant) {
|
|
273
|
+
function variantToBackground(variant) {
|
|
284
274
|
switch (variant) {
|
|
285
275
|
case "Overlay":
|
|
286
|
-
return
|
|
276
|
+
return "surface4";
|
|
287
277
|
case "Default":
|
|
288
|
-
return
|
|
278
|
+
return "surface3";
|
|
289
279
|
case "Primary":
|
|
290
|
-
return
|
|
280
|
+
return "brand";
|
|
291
281
|
case "Navigation":
|
|
292
|
-
return
|
|
282
|
+
return "surface6";
|
|
293
283
|
case "Danger":
|
|
294
|
-
return
|
|
284
|
+
return "assertive";
|
|
295
285
|
default:
|
|
296
286
|
return unreachable(variant);
|
|
297
287
|
}
|
|
298
288
|
}
|
|
299
|
-
function
|
|
300
|
-
switch (
|
|
301
|
-
case "
|
|
302
|
-
return
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
289
|
+
function variantToFont(variant) {
|
|
290
|
+
switch (variant) {
|
|
291
|
+
case "Overlay":
|
|
292
|
+
return "text5";
|
|
293
|
+
case "Default":
|
|
294
|
+
return "text2";
|
|
295
|
+
case "Primary":
|
|
296
|
+
return "text5";
|
|
297
|
+
case "Navigation":
|
|
298
|
+
return "text5";
|
|
299
|
+
case "Danger":
|
|
300
|
+
return "text5";
|
|
301
|
+
default:
|
|
302
|
+
return unreachable(variant);
|
|
311
303
|
}
|
|
312
304
|
}
|
|
313
305
|
|
|
@@ -322,7 +314,7 @@ var IconButton = (0, import_react3.forwardRef)(
|
|
|
322
314
|
}
|
|
323
315
|
);
|
|
324
316
|
var IconButton_default = IconButton;
|
|
325
|
-
var StyledIconButton = (0, import_styled_components5.default)(Clickable_default).attrs(
|
|
317
|
+
var StyledIconButton = (0, import_styled_components5.default)(Clickable_default).attrs(styledProps)`
|
|
326
318
|
user-select: none;
|
|
327
319
|
|
|
328
320
|
width: ${(p) => p.width}px;
|
|
@@ -339,14 +331,14 @@ var StyledIconButton = (0, import_styled_components5.default)(Clickable_default)
|
|
|
339
331
|
o.outline.default.focus
|
|
340
332
|
])}
|
|
341
333
|
`;
|
|
342
|
-
function
|
|
334
|
+
function styledProps(props) {
|
|
343
335
|
return {
|
|
344
336
|
...props,
|
|
345
|
-
...
|
|
346
|
-
...
|
|
337
|
+
...variantToProps(props.variant),
|
|
338
|
+
...sizeToProps(props.size)
|
|
347
339
|
};
|
|
348
340
|
}
|
|
349
|
-
function
|
|
341
|
+
function variantToProps(variant) {
|
|
350
342
|
switch (variant) {
|
|
351
343
|
case "Default":
|
|
352
344
|
return { font: "text3", background: "transparent" };
|
|
@@ -354,7 +346,7 @@ function variantToProps2(variant) {
|
|
|
354
346
|
return { font: "text5", background: "surface4" };
|
|
355
347
|
}
|
|
356
348
|
}
|
|
357
|
-
function
|
|
349
|
+
function sizeToProps(size) {
|
|
358
350
|
switch (size) {
|
|
359
351
|
case "XS":
|
|
360
352
|
return {
|
|
@@ -1597,7 +1589,7 @@ var LoadingSpinnerRoot = import_styled_components14.default.div.attrs({ role: "p
|
|
|
1597
1589
|
transparent ? o.bg.transparent : o.bg.background1
|
|
1598
1590
|
])}
|
|
1599
1591
|
`;
|
|
1600
|
-
var
|
|
1592
|
+
var scaleOut = import_styled_components14.keyframes`
|
|
1601
1593
|
from {
|
|
1602
1594
|
transform: scale(0);
|
|
1603
1595
|
opacity: 1;
|
|
@@ -1613,7 +1605,7 @@ var Icon2 = import_styled_components14.default.div.attrs({ role: "presentation"
|
|
|
1613
1605
|
height: 1em;
|
|
1614
1606
|
border-radius: 1em;
|
|
1615
1607
|
background-color: currentColor;
|
|
1616
|
-
animation: ${
|
|
1608
|
+
animation: ${scaleOut} 1s both ease-out;
|
|
1617
1609
|
animation-iteration-count: ${(p) => p.once ? 1 : "infinite"};
|
|
1618
1610
|
|
|
1619
1611
|
&[data-reset-animation] {
|