@descope/web-components-ui 1.0.287 → 1.0.289

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.d.ts CHANGED
@@ -51,6 +51,8 @@ export type Theme = {
51
51
  typography: Record<string, any>;
52
52
  shadow: Record<string, string>;
53
53
  spacing: Record<string, string>;
54
+ radius: Record<string, string>;
55
+ border: Record<string, string>;
54
56
  };
55
57
  components: {
56
58
  button: Record<string, any>;
@@ -60,5 +62,6 @@ export type Theme = {
60
62
  link: Record<string, any>;
61
63
  text: Record<string, any>;
62
64
  inputWrapper: Record<string, any>;
65
+ buttonSelectionGroupItem: Record<string, any>;
63
66
  };
64
67
  };
package/dist/index.esm.js CHANGED
@@ -7015,6 +7015,10 @@ const ButtonSelectionGroupItemClass = compose(
7015
7015
  selector: () => ButtonClass.componentName,
7016
7016
  property: ButtonClass.cssVarList.borderColor,
7017
7017
  },
7018
+ borderWidth: {
7019
+ selector: () => ButtonClass.componentName,
7020
+ property: ButtonClass.cssVarList.borderWidth,
7021
+ },
7018
7022
  borderStyle: {
7019
7023
  selector: () => ButtonClass.componentName,
7020
7024
  property: ButtonClass.cssVarList.borderStyle,
@@ -9384,27 +9388,87 @@ const createHelperVars = (theme, prefix) => {
9384
9388
  return [res.theme, res.useVars, res.vars];
9385
9389
  };
9386
9390
 
9387
- // TODO: fix generated colors strategy
9388
- const genDark = (c, percentage = 0.5) => c.darken(percentage).hex();
9389
- const genLight = (c, percentage = 0.5) => c.lighten(percentage).hex();
9390
- const genContrast = (c, percentage = 0.9) => {
9391
+ const colorGaps = {
9392
+ darkLight: 0.4,
9393
+ highlight: 0.8,
9394
+ contrast: 1,
9395
+ edgeColor: {
9396
+ darkLight: 0.25,
9397
+ highlight: 0.1,
9398
+ },
9399
+ };
9400
+
9401
+ const darken = (c, percentage) => c.darken(percentage).hex();
9402
+
9403
+ const contrast = (c) => {
9391
9404
  const isDark = c.isDark();
9392
9405
  return c
9393
- .mix(Color(isDark ? 'white' : 'black'), percentage)
9406
+ .mix(Color(isDark ? 'white' : 'black'), colorGaps.contrast)
9394
9407
  .saturate(1)
9395
9408
  .hex();
9396
9409
  };
9397
9410
 
9398
- const genColor = (color) => {
9411
+ const lighten = (c, percentage) => {
9412
+ const isDark = c.lightness() < 0.5;
9413
+
9414
+ if (isDark) {
9415
+ return c.lightness(percentage * 100).hex();
9416
+ }
9417
+
9418
+ return c.lighten(percentage).hex();
9419
+ };
9420
+
9421
+ const isNearBlack = (color) => color.luminosity() < 0.01;
9422
+ const isNearWhite = (color) => color.luminosity() > 0.99;
9423
+
9424
+ const generateDarkColor = (color, theme) => {
9425
+ if (theme === 'dark') {
9426
+ return isNearWhite(color)
9427
+ ? darken(color, colorGaps.edgeColor.darkLight)
9428
+ : lighten(color, colorGaps.darkLight);
9429
+ }
9430
+
9431
+ return isNearBlack(color)
9432
+ ? lighten(color, colorGaps.edgeColor.darkLight)
9433
+ : darken(color, colorGaps.darkLight);
9434
+ };
9435
+
9436
+ const generateLightColor = (color, theme) => {
9437
+ if (theme === 'dark') {
9438
+ return isNearBlack(color)
9439
+ ? lighten(color, colorGaps.edgeColor.darkLight)
9440
+ : darken(color, colorGaps.darkLight);
9441
+ }
9442
+
9443
+ return isNearWhite(color)
9444
+ ? darken(color, colorGaps.edgeColor.darkLight)
9445
+ : lighten(color, colorGaps.darkLight);
9446
+ };
9447
+
9448
+ const generateHighlightColor = (color, theme) => {
9449
+ if (theme === 'dark') {
9450
+ return isNearBlack(color)
9451
+ ? lighten(color, colorGaps.edgeColor.highlight)
9452
+ : darken(color, colorGaps.highlight);
9453
+ }
9454
+
9455
+ return isNearWhite(color)
9456
+ ? darken(color, colorGaps.edgeColor.highlight)
9457
+ : lighten(color, colorGaps.highlight);
9458
+ };
9459
+
9460
+ const genColor = (color, theme) => {
9399
9461
  const mainColor = new Color(color.main || color);
9400
9462
 
9401
- return {
9463
+ const res = {
9402
9464
  main: mainColor.hex(),
9403
- dark: color.dark || genDark(mainColor),
9404
- light: color.light || genLight(mainColor),
9405
- highlight: color.highlight || genLight(mainColor),
9406
- contrast: color.contrast || genContrast(mainColor),
9465
+ dark: color.dark || generateDarkColor(mainColor, theme),
9466
+ light: color.light || generateLightColor(mainColor, theme),
9467
+ highlight: color.highlight || generateHighlightColor(mainColor, theme),
9468
+ contrast: color.contrast || contrast(mainColor),
9407
9469
  };
9470
+
9471
+ return res;
9408
9472
  };
9409
9473
 
9410
9474
  const genColors = (colors) => {
@@ -10805,6 +10869,7 @@ const buttonSelectionGroupItem = {
10805
10869
  [vars$a.borderStyle]: 'solid',
10806
10870
  [vars$a.borderRadius]: globalRefs$8.radius.sm,
10807
10871
  [vars$a.outlineColor]: 'transparent',
10872
+ [vars$a.borderWidth]: globalRefs$8.border.xs,
10808
10873
 
10809
10874
  _hover: {
10810
10875
  [vars$a.backgroundColor]: globalRefs$8.colors.surface.highlight,