@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.
@@ -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
- interface StyledProps {
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;AAErB,UAAU,WAAW;IACnB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,IAAI,EAAE,IAAI,CAAA;IACV;;OAEG;IACH,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,cAAc,CAAA;AAE/D,QAAA,MAAM,MAAM,0GAuBV,CAAA;AACF,eAAe,MAAM,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 renderder from 'react-test-renderer';
3
- export declare function render(children: JSX.Element): renderder.ReactTestRendererJSON | renderder.ReactTestRendererJSON[] | null;
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,SAAS,MAAM,qBAAqB,CAAA;AAI3C,wBAAgB,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,8EAI3C"}
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,4 @@
1
+ import 'jest-styled-components';
2
+ import renderer from 'react-test-renderer';
3
+ export declare function render(children: JSX.Element): renderer.ReactTestRendererJSON | renderer.ReactTestRendererJSON[] | null;
4
+ //# sourceMappingURL=performance.test.d.ts.map
@@ -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,2 @@
1
+ import 'jest-styled-components';
2
+ //# sourceMappingURL=snapshot.test.d.ts.map
@@ -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: ((...args: any) => any)[];
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;AAKlD,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;CACjC,CAAC,CAAA;AAEF,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,YAAgC,EAChC,UAAe,EACf,YAAmB,EACnB,QAAQ,GACT,EAAE,qBAAqB,eAWvB"}
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).withConfig({
251
- shouldForwardProp(prop) {
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.font].hover.press,
265
- o.bg[p.background].hover.press,
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.padding),
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.height}px;
271
+ height: ${(p) => p.$size === "M" ? 40 : 32}px;
275
272
  `;
276
- function styledProps(props) {
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 { font: "text5", background: "surface4" };
276
+ return "surface4";
287
277
  case "Default":
288
- return { font: "text2", background: "surface3" };
278
+ return "surface3";
289
279
  case "Primary":
290
- return { font: "text5", background: "brand" };
280
+ return "brand";
291
281
  case "Navigation":
292
- return { font: "text5", background: "surface6" };
282
+ return "surface6";
293
283
  case "Danger":
294
- return { font: "text5", background: "assertive" };
284
+ return "assertive";
295
285
  default:
296
286
  return unreachable(variant);
297
287
  }
298
288
  }
299
- function sizeToProps(size) {
300
- switch (size) {
301
- case "S":
302
- return {
303
- height: 32,
304
- padding: 16
305
- };
306
- case "M":
307
- return {
308
- height: 40,
309
- padding: 24
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(styledProps2)`
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 styledProps2(props) {
334
+ function styledProps(props) {
343
335
  return {
344
336
  ...props,
345
- ...variantToProps2(props.variant),
346
- ...sizeToProps2(props.size)
337
+ ...variantToProps(props.variant),
338
+ ...sizeToProps(props.size)
347
339
  };
348
340
  }
349
- function variantToProps2(variant) {
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 sizeToProps2(size) {
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 scaleout = import_styled_components14.keyframes`
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: ${scaleout} 1s both ease-out;
1608
+ animation: ${scaleOut} 1s both ease-out;
1617
1609
  animation-iteration-count: ${(p) => p.once ? 1 : "infinite"};
1618
1610
 
1619
1611
  &[data-reset-animation] {