reshaped 2.2.0 → 2.3.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 (160) hide show
  1. package/CHANGELOG.md +19 -12
  2. package/LICENSE-SOURCE.md +40 -0
  3. package/LICENSE.md +21 -37
  4. package/bin/clean.sh +1 -0
  5. package/bin/cli.js +1 -11
  6. package/bin/release-source.sh +7 -0
  7. package/bundle.css +1 -1
  8. package/bundle.js +10 -10
  9. package/cli/theming/definitions/base.d.ts +1 -1
  10. package/cli/theming/definitions/figma.d.ts +1 -1
  11. package/cli/theming/definitions/reshaped.d.ts +1 -1
  12. package/cli/theming/definitions/slate.d.ts +1 -1
  13. package/cli/theming/index.d.ts +4 -4
  14. package/cli/theming/index.js +7 -107
  15. package/components/Actionable/Actionable.js +14 -3
  16. package/components/Actionable/Actionable.module.css +1 -1
  17. package/components/Autocomplete/tests/Autocomplete.stories.js +27 -1
  18. package/components/Button/Button.js +2 -0
  19. package/components/Button/Button.module.css +1 -1
  20. package/components/Button/Button.types.d.ts +6 -0
  21. package/components/Button/ButtonGroup.d.ts +4 -0
  22. package/components/Button/ButtonGroup.js +9 -0
  23. package/components/Button/tests/Button.stories.d.ts +1 -0
  24. package/components/Button/tests/Button.stories.js +63 -0
  25. package/components/Checkbox/Checkbox.module.css +1 -1
  26. package/components/DropdownMenu/DropdownMenu.js +1 -1
  27. package/components/DropdownMenu/tests/DropdownMenu.stories.js +1 -0
  28. package/components/Overlay/Overlay.js +4 -4
  29. package/components/Radio/Radio.module.css +1 -1
  30. package/components/Select/Select.js +1 -1
  31. package/components/Slider/Slider.module.css +1 -1
  32. package/components/Switch/Switch.module.css +1 -1
  33. package/components/Tabs/Tabs.d.ts +1 -8
  34. package/components/Tabs/Tabs.module.css +1 -1
  35. package/components/Tabs/Tabs.types.d.ts +6 -7
  36. package/components/Tabs/TabsContext.d.ts +4 -0
  37. package/components/Tabs/TabsControlled.js +24 -1
  38. package/components/Tabs/TabsItem.d.ts +1 -8
  39. package/components/Tabs/TabsItem.js +22 -4
  40. package/components/Tabs/TabsList.js +30 -32
  41. package/components/Tabs/tests/Tabs.stories.d.ts +1 -0
  42. package/components/Tabs/tests/Tabs.stories.js +17 -0
  43. package/components/Toast/ToastContainer.js +1 -0
  44. package/components/Toast/ToastProvider.js +4 -0
  45. package/components/Toast/tests/Toast.stories.js +1 -0
  46. package/components/_private/Flyout/Flyout.types.d.ts +2 -0
  47. package/components/_private/Flyout/FlyoutContent.js +7 -3
  48. package/components/_private/Flyout/FlyoutControlled.js +8 -1
  49. package/components/_private/Flyout/tests/Flyout.stories.d.ts +1 -0
  50. package/components/_private/Flyout/tests/Flyout.stories.js +25 -0
  51. package/components/_private/Portal/Portal.d.ts +8 -4
  52. package/components/_private/Portal/Portal.js +23 -11
  53. package/components/_private/Portal/Portal.types.d.ts +7 -2
  54. package/components/_private/Portal/index.d.ts +1 -1
  55. package/components/_private/Portal/index.js +1 -1
  56. package/components/_private/Portal/tests/Portal.stories.js +11 -12
  57. package/config/next.d.ts +4 -5
  58. package/config/next.js +21 -7
  59. package/config/tailwind.d.ts +1 -1
  60. package/config/tailwind.js +3 -3
  61. package/hooks/_private/useFlyout.js +16 -13
  62. package/package.json +39 -31
  63. package/themes/_generator/tests/themes.stories.d.ts +6 -0
  64. package/themes/_generator/tests/themes.stories.js +32 -0
  65. package/{cli/theming → themes/_generator}/tokens/color/color.transforms.d.ts +1 -1
  66. package/{cli/theming → themes/_generator}/tokens/duration/duration.transforms.d.ts +1 -1
  67. package/{cli/theming → themes/_generator}/tokens/easing/easing.transforms.d.ts +1 -1
  68. package/{cli/theming → themes/_generator}/tokens/font/font.transforms.d.ts +1 -1
  69. package/{cli/theming → themes/_generator}/tokens/fontFamily/fontFamily.transforms.d.ts +1 -1
  70. package/{cli/theming → themes/_generator}/tokens/fontWeight/fontWeight.transforms.d.ts +1 -1
  71. package/{cli/theming → themes/_generator}/tokens/shadow/shadow.transforms.d.ts +1 -1
  72. package/{cli/theming → themes/_generator}/tokens/shadow/shadow.transforms.js +1 -1
  73. package/{cli/theming → themes/_generator}/tokens/unit/unit.transforms.d.ts +1 -1
  74. package/{cli/theming → themes/_generator}/tokens/viewport/viewport.transforms.d.ts +1 -1
  75. package/themes/_generator/transform.d.ts +7 -0
  76. package/themes/_generator/transform.js +57 -0
  77. package/{cli/theming → themes/_generator}/types.d.ts +3 -1
  78. package/{cli/theming → themes/_generator}/utilities/css.js +3 -1
  79. package/themes/_generator/utilities/generateBackgroundColors.d.ts +4 -0
  80. package/themes/_generator/utilities/generateBackgroundColors.js +54 -0
  81. package/themes/_generator/utilities/generateUnits.d.ts +4 -0
  82. package/themes/_generator/utilities/generateUnits.js +17 -0
  83. package/{cli/theming → themes/_generator}/utilities/mergeDeep.js +1 -3
  84. package/{cli/theming → themes/_generator}/utilities/resolveTokenReference.js +1 -3
  85. package/themes/index.d.ts +3 -0
  86. package/themes/index.js +5 -0
  87. package/types/config.d.ts +1 -1
  88. package/utilities/a11y.js +12 -3
  89. package/{cli/utilities → utilities}/color.d.ts +1 -1
  90. package/utilities/dom.d.ts +1 -0
  91. package/utilities/dom.js +9 -0
  92. package/cli/theming/definitions/minimal.d.ts +0 -3
  93. package/cli/theming/definitions/minimal.js +0 -80
  94. package/cli/utilities/tests/color.test.d.ts +0 -1
  95. package/cli/utilities/tests/color.test.js +0 -63
  96. package/styles/aspectRatio/index.test.d.ts +0 -1
  97. package/styles/aspectRatio/index.test.js +0 -24
  98. package/styles/bleed/index.test.d.ts +0 -1
  99. package/styles/bleed/index.test.js +0 -24
  100. package/styles/height/index.test.d.ts +0 -1
  101. package/styles/height/index.test.js +0 -27
  102. package/styles/inset/index.test.d.ts +0 -1
  103. package/styles/inset/index.test.js +0 -27
  104. package/styles/maxHeight/index.test.d.ts +0 -1
  105. package/styles/maxHeight/index.test.js +0 -27
  106. package/styles/maxWidth/index.test.d.ts +0 -1
  107. package/styles/maxWidth/index.test.js +0 -27
  108. package/styles/padding/index.test.d.ts +0 -1
  109. package/styles/padding/index.test.js +0 -24
  110. package/styles/position/index.test.d.ts +0 -1
  111. package/styles/position/index.test.js +0 -21
  112. package/styles/radius/index.test.d.ts +0 -1
  113. package/styles/radius/index.test.js +0 -24
  114. package/styles/width/index.test.d.ts +0 -1
  115. package/styles/width/index.test.js +0 -27
  116. package/themes/minimal/theme.css +0 -1
  117. package/utilities/testPresets.d.ts +0 -25
  118. package/utilities/testPresets.js +0 -76
  119. package/utilities/tests/Chain.test.d.ts +0 -1
  120. package/utilities/tests/Chain.test.js +0 -45
  121. /package/bin/{copy-release.sh → release-copy.sh} +0 -0
  122. /package/{cli/theming → themes/_generator}/tokens/color/color.transforms.js +0 -0
  123. /package/{cli/theming → themes/_generator}/tokens/color/color.types.d.ts +0 -0
  124. /package/{cli/theming → themes/_generator}/tokens/color/color.types.js +0 -0
  125. /package/{cli/theming → themes/_generator}/tokens/duration/duration.transforms.js +0 -0
  126. /package/{cli/theming → themes/_generator}/tokens/duration/duration.types.d.ts +0 -0
  127. /package/{cli/theming → themes/_generator}/tokens/duration/duration.types.js +0 -0
  128. /package/{cli/theming → themes/_generator}/tokens/easing/easing.transforms.js +0 -0
  129. /package/{cli/theming → themes/_generator}/tokens/easing/easing.types.d.ts +0 -0
  130. /package/{cli/theming → themes/_generator}/tokens/easing/easing.types.js +0 -0
  131. /package/{cli/theming → themes/_generator}/tokens/font/font.transforms.js +0 -0
  132. /package/{cli/theming → themes/_generator}/tokens/font/font.types.d.ts +0 -0
  133. /package/{cli/theming → themes/_generator}/tokens/font/font.types.js +0 -0
  134. /package/{cli/theming → themes/_generator}/tokens/fontFamily/fontFamily.transforms.js +0 -0
  135. /package/{cli/theming → themes/_generator}/tokens/fontFamily/fontFamily.types.d.ts +0 -0
  136. /package/{cli/theming → themes/_generator}/tokens/fontFamily/fontFamily.types.js +0 -0
  137. /package/{cli/theming → themes/_generator}/tokens/fontWeight/fontWeight.transforms.js +0 -0
  138. /package/{cli/theming → themes/_generator}/tokens/fontWeight/fontWeight.types.d.ts +0 -0
  139. /package/{cli/theming → themes/_generator}/tokens/fontWeight/fontWeight.types.js +0 -0
  140. /package/{cli/theming → themes/_generator}/tokens/shadow/shadow.types.d.ts +0 -0
  141. /package/{cli/theming → themes/_generator}/tokens/shadow/shadow.types.js +0 -0
  142. /package/{cli/theming → themes/_generator}/tokens/transforms.d.ts +0 -0
  143. /package/{cli/theming → themes/_generator}/tokens/transforms.js +0 -0
  144. /package/{cli/theming → themes/_generator}/tokens/types.d.ts +0 -0
  145. /package/{cli/theming → themes/_generator}/tokens/types.js +0 -0
  146. /package/{cli/theming → themes/_generator}/tokens/unit/unit.transforms.js +0 -0
  147. /package/{cli/theming → themes/_generator}/tokens/unit/unit.types.d.ts +0 -0
  148. /package/{cli/theming → themes/_generator}/tokens/unit/unit.types.js +0 -0
  149. /package/{cli/theming → themes/_generator}/tokens/viewport/viewport.transforms.js +0 -0
  150. /package/{cli/theming → themes/_generator}/tokens/viewport/viewport.types.d.ts +0 -0
  151. /package/{cli/theming → themes/_generator}/tokens/viewport/viewport.types.js +0 -0
  152. /package/{cli/theming → themes/_generator}/types.js +0 -0
  153. /package/{cli/theming → themes/_generator}/utilities/css.d.ts +0 -0
  154. /package/{cli/theming → themes/_generator}/utilities/mergeDeep.d.ts +0 -0
  155. /package/{cli/theming → themes/_generator}/utilities/mergeDefinitions.d.ts +0 -0
  156. /package/{cli/theming → themes/_generator}/utilities/mergeDefinitions.js +0 -0
  157. /package/{cli/theming → themes/_generator}/utilities/resolveTokenReference.d.ts +0 -0
  158. /package/{cli/utilities → utilities}/color.js +0 -0
  159. /package/{cli/utilities → utilities}/string.d.ts +0 -0
  160. /package/{cli/utilities → utilities}/string.js +0 -0
@@ -0,0 +1,5 @@
1
+ import transform from "./_generator/transform.js";
2
+ export const getThemeCSS = (name, definition) => {
3
+ const code = transform(name, definition, { isFragment: true });
4
+ return code.variables;
5
+ };
package/types/config.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { PartialUserThemeDefinition } from "../cli/theming/tokens/types";
1
+ import { PartialUserThemeDefinition } from "../themes/_generator/tokens/types";
2
2
  export type ReshapedConfig = {
3
3
  themes?: Record<string, PartialUserThemeDefinition>;
4
4
  themeFragments?: Record<string, PartialUserThemeDefinition>;
package/utilities/a11y.js CHANGED
@@ -102,10 +102,19 @@ export const trapFocus = (() => {
102
102
  const isSelectionMenu = mode === "selection-menu";
103
103
  const isTabMode = isDialog || isContentMenu;
104
104
  const isArrowsMode = mode === "action-menu" || isSelectionMenu;
105
+ const focusable = getFocusableElements(root, includeTrigger ? triggerElement : undefined);
105
106
  let chainId;
107
+ // Re-focus on the first element if content has changed
108
+ const observer = new MutationObserver(() => {
109
+ const focusable = getFocusableElements(root, includeTrigger ? triggerElement : undefined);
110
+ if (!focusable.length)
111
+ return;
112
+ focusElement(focusable[0], mode);
113
+ });
106
114
  const release = (releaseOptions = {}) => {
107
115
  const { withoutFocusReturn } = releaseOptions;
108
116
  chain.removePreviousTill(chainId, (item) => document.body.contains(item.data.trigger));
117
+ observer.disconnect();
109
118
  if (triggerElement) {
110
119
  triggerElement.focus({ preventScroll: withoutFocusReturn || !isKeyboardMode() });
111
120
  }
@@ -159,7 +168,9 @@ export const trapFocus = (() => {
159
168
  resetListeners();
160
169
  if (isDialog)
161
170
  srTrap = trapScreenReader(root);
162
- const focusable = getFocusableElements(root, includeTrigger ? triggerElement : undefined);
171
+ document.addEventListener("keydown", handleKeyDown);
172
+ resetListeners = () => document.removeEventListener("keydown", handleKeyDown);
173
+ observer.observe(root, { childList: true, subtree: true });
163
174
  if (!focusable.length)
164
175
  return null;
165
176
  // Don't add back to the chain if we're traversing back
@@ -168,8 +179,6 @@ export const trapFocus = (() => {
168
179
  chainId = chain.add({ root, trigger: triggerElement, options });
169
180
  focusElement(focusable[0], mode);
170
181
  }
171
- document.addEventListener("keydown", handleKeyDown);
172
- resetListeners = () => document.removeEventListener("keydown", handleKeyDown);
173
182
  return release;
174
183
  };
175
184
  })();
@@ -1,4 +1,4 @@
1
- import { Name } from "../theming/tokens/color/color.types";
1
+ import { Name } from "../themes/_generator/tokens/color/color.types";
2
2
  export declare const bgWithDynamicForeground: Name[];
3
3
  export declare const hexToRgb: (hex: string) => {
4
4
  r: number;
@@ -0,0 +1 @@
1
+ export declare const getClosestScrollableParent: (el: HTMLElement | null) => HTMLElement;
@@ -0,0 +1,9 @@
1
+ export const getClosestScrollableParent = (el) => {
2
+ const overflowY = el && window.getComputedStyle(el).overflowY;
3
+ const isScrollable = overflowY === null || overflowY === void 0 ? void 0 : overflowY.includes("scroll");
4
+ if (el === document.body || !el)
5
+ return document.body;
6
+ if (isScrollable && el.scrollHeight > el.clientHeight)
7
+ return el;
8
+ return getClosestScrollableParent(el.parentElement);
9
+ };
@@ -1,3 +0,0 @@
1
- import { UserThemeDefinition } from "../tokens/types";
2
- declare const theme: UserThemeDefinition;
3
- export default theme;
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const reshaped_1 = __importDefault(require("./reshaped"));
7
- const theme = Object.assign(Object.assign({}, reshaped_1.default), { color: Object.assign(Object.assign({}, reshaped_1.default.color), { foregroundNeutral: {
8
- hex: "#161a26",
9
- hexDark: "#f2f3f5",
10
- }, foregroundNeutralFaded: {
11
- hex: "#717787",
12
- hexDark: "#9f9e9e",
13
- }, foregroundPrimary: {
14
- hex: "#2383e2",
15
- hexDark: "#5098ff",
16
- }, foregroundDisabled: {
17
- hex: "#d4d0d0",
18
- hexDark: "#656565",
19
- }, backgroundPrimary: {
20
- hex: "#2383e2",
21
- hexDark: "#4281DB",
22
- }, backgroundPrimaryFaded: {
23
- hex: "#e5f4fb",
24
- hexDark: "#1e2c45",
25
- }, backgroundPrimaryHighlighted: {
26
- hex: "#3273CC",
27
- hexDark: "#3273CC",
28
- }, backgroundElevationBase: {
29
- hex: "#ffffff",
30
- hexDark: "#232323",
31
- }, backgroundElevationRaised: {
32
- hex: "#ffffff",
33
- hexDark: "#262626",
34
- }, backgroundElevationOverlay: {
35
- hex: "#ffffff",
36
- hexDark: "#292929",
37
- }, backgroundNeutral: {
38
- hex: "#e3e3e5",
39
- hexDark: "#4f5155",
40
- }, backgroundNeutralFaded: {
41
- hex: "#f2f3f5",
42
- hexDark: "#34363f",
43
- }, backgroundNeutralHighlighted: {
44
- hex: "#dedee1",
45
- hexDark: "#595c60",
46
- }, backgroundPage: {
47
- hex: "#ffffff",
48
- hexDark: "#191919",
49
- }, backgroundPageFaded: {
50
- hex: "#F7F7F5",
51
- hexDark: "#202020",
52
- }, backgroundDisabled: {
53
- hex: "#ECEEF3",
54
- hexDark: "#313131",
55
- }, backgroundDisabledFaded: {
56
- hex: "#F4F5F7",
57
- hexDark: "#262626",
58
- }, borderPrimary: {
59
- hex: "#3D76C7",
60
- hexDark: "#5A91E0",
61
- }, borderPrimaryFaded: {
62
- hex: "#c6d9f4",
63
- hexDark: "#163a6a",
64
- }, borderNeutral: {
65
- hex: "#d2d2d2",
66
- hexDark: "#414141",
67
- }, borderNeutralFaded: {
68
- hex: "#E2E2E2",
69
- hexDark: "#464646",
70
- }, borderDisabled: {
71
- hex: "#E2E2E2",
72
- hexDark: "#404040",
73
- } }), unit: Object.assign(Object.assign({}, reshaped_1.default.unit), { radiusSmall: {
74
- px: 2,
75
- }, radiusMedium: {
76
- px: 4,
77
- }, radiusLarge: {
78
- px: 6,
79
- } }) });
80
- exports.default = theme;
@@ -1 +0,0 @@
1
- export {};
@@ -1,63 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const color_1 = require("../color");
4
- describe("cli/utilities/color", () => {
5
- test("returns white for black background", () => {
6
- expect((0, color_1.getOnColor)({ bgHexColor: "#000000", mode: "light" })).toBe("#ffffff");
7
- });
8
- test("returns white for dark colored background", () => {
9
- expect((0, color_1.getOnColor)({ bgHexColor: "#aa0000", mode: "light" })).toBe("#ffffff");
10
- });
11
- test("returns black for white background", () => {
12
- expect((0, color_1.getOnColor)({ bgHexColor: "#ffffff", mode: "light" })).toBe("#000000");
13
- });
14
- test("returns white for light colored background", () => {
15
- expect((0, color_1.getOnColor)({ bgHexColor: "#dedede", mode: "light" })).toBe("#000000");
16
- });
17
- /**
18
- * 8-digit hex
19
- */
20
- test("returns black for dark background with alpha: 0", () => {
21
- expect((0, color_1.getOnColor)({ bgHexColor: "#00000000", mode: "light" })).toBe("#000000");
22
- });
23
- test("returns black for light background with alpha: 0", () => {
24
- expect((0, color_1.getOnColor)({ bgHexColor: "#ffffff00", mode: "light" })).toBe("#000000");
25
- });
26
- test("returns black for dark background with alpha: 25%", () => {
27
- expect((0, color_1.getOnColor)({ bgHexColor: "#00000040", mode: "light" })).toBe("#000000");
28
- });
29
- test("returns white for dark background with alpha: 30%", () => {
30
- expect((0, color_1.getOnColor)({ bgHexColor: "#0000004D", mode: "light" })).toBe("#ffffff");
31
- });
32
- /**
33
- * Dark mode
34
- */
35
- test("returns black for white background in dark mode", () => {
36
- expect((0, color_1.getOnColor)({ bgHexColor: "#ffffff", mode: "dark" })).toBe("#000000");
37
- });
38
- test("returns white for dark background with alpha: 25% in dark mode", () => {
39
- expect((0, color_1.getOnColor)({ bgHexColor: "#00000040", mode: "dark" })).toBe("#ffffff");
40
- });
41
- test("returns white for dark background with alpha: 0 in dark mode", () => {
42
- expect((0, color_1.getOnColor)({ bgHexColor: "#00000000", mode: "dark" })).toBe("#ffffff");
43
- });
44
- /**
45
- * Custom resolved color
46
- */
47
- test("returns #999 for white background in dark mode", () => {
48
- expect((0, color_1.getOnColor)({
49
- bgHexColor: "#ffffff",
50
- mode: "dark",
51
- lightHexColor: "#eeeeee",
52
- darkHexColor: "#999999",
53
- })).toBe("#999999");
54
- });
55
- test("returns #eee for black background in dark mode", () => {
56
- expect((0, color_1.getOnColor)({
57
- bgHexColor: "#000000",
58
- mode: "dark",
59
- lightHexColor: "#eeeeee",
60
- darkHexColor: "#999999",
61
- })).toBe("#eeeeee");
62
- });
63
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,24 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import getAspectRatioStyles from "./index.js";
11
- describe("Styles/AspectRatio", () => {
12
- test("handles positive value", () => {
13
- expect(getAspectRatioStyles(1 / 2)).toMatchSnapshot();
14
- });
15
- test("handles 0 value", () => {
16
- expect(getAspectRatioStyles(0)).toMatchSnapshot();
17
- });
18
- test("handles undefined value", () => {
19
- expect(getAspectRatioStyles()).toMatchSnapshot();
20
- });
21
- test("handles responsive value", () => __awaiter(void 0, void 0, void 0, function* () {
22
- expect(getAspectRatioStyles({ s: 4, m: 0, l: 2 })).toMatchSnapshot();
23
- }));
24
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,24 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import getBleedStyles from "./index.js";
11
- describe("Styles/Bleed", () => {
12
- test("handles positive value", () => {
13
- expect(getBleedStyles(4)).toMatchSnapshot();
14
- });
15
- test("handles 0 value", () => {
16
- expect(getBleedStyles(0)).toMatchSnapshot();
17
- });
18
- test("handles undefined value", () => {
19
- expect(getBleedStyles()).toMatchSnapshot();
20
- });
21
- test("handles responsive value", () => __awaiter(void 0, void 0, void 0, function* () {
22
- expect(getBleedStyles({ s: 4, m: 0, l: 2 })).toMatchSnapshot();
23
- }));
24
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import getHeightStyles from "./index.js";
11
- describe("Styles/Height", () => {
12
- test("handles px value", () => {
13
- expect(getHeightStyles("50px")).toMatchSnapshot();
14
- });
15
- test("handles % value", () => {
16
- expect(getHeightStyles("50%")).toMatchSnapshot();
17
- });
18
- test("handles unit value", () => {
19
- expect(getHeightStyles(5)).toMatchSnapshot();
20
- });
21
- test("handles undefined value", () => {
22
- expect(getHeightStyles()).toMatchSnapshot();
23
- });
24
- test("handles responsive value", () => __awaiter(void 0, void 0, void 0, function* () {
25
- expect(getHeightStyles({ s: "50px", l: "50%" })).toMatchSnapshot();
26
- }));
27
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import getInsetStyles from "./index.js";
11
- describe("Styles/Inset", () => {
12
- test("handles positive value", () => {
13
- expect(getInsetStyles(4)).toMatchSnapshot();
14
- });
15
- test("handles 0 value", () => {
16
- expect(getInsetStyles(0)).toMatchSnapshot();
17
- });
18
- test("handles undefined value", () => {
19
- expect(getInsetStyles()).toMatchSnapshot();
20
- });
21
- test("handles responsive value", () => __awaiter(void 0, void 0, void 0, function* () {
22
- expect(getInsetStyles({ s: 4, m: 0, l: 2 })).toMatchSnapshot();
23
- }));
24
- test("handles value width defined side", () => {
25
- expect(getInsetStyles(4, "start")).toMatchSnapshot();
26
- });
27
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import getMaxHeightStyles from "./index.js";
11
- describe("Styles/MaxHeight", () => {
12
- test("handles px value", () => {
13
- expect(getMaxHeightStyles("50px")).toMatchSnapshot();
14
- });
15
- test("handles % value", () => {
16
- expect(getMaxHeightStyles("50%")).toMatchSnapshot();
17
- });
18
- test("handles unit value", () => {
19
- expect(getMaxHeightStyles(5)).toMatchSnapshot();
20
- });
21
- test("handles undefined value", () => {
22
- expect(getMaxHeightStyles()).toMatchSnapshot();
23
- });
24
- test("handles responsive value", () => __awaiter(void 0, void 0, void 0, function* () {
25
- expect(getMaxHeightStyles({ s: "50px", l: "50%" })).toMatchSnapshot();
26
- }));
27
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import getMaxWidthStyles from "./index.js";
11
- describe("Styles/MaxWidth", () => {
12
- test("handles px value", () => {
13
- expect(getMaxWidthStyles("50px")).toMatchSnapshot();
14
- });
15
- test("handles % value", () => {
16
- expect(getMaxWidthStyles("50%")).toMatchSnapshot();
17
- });
18
- test("handles unit value", () => {
19
- expect(getMaxWidthStyles(5)).toMatchSnapshot();
20
- });
21
- test("handles undefined value", () => {
22
- expect(getMaxWidthStyles()).toMatchSnapshot();
23
- });
24
- test("handles responsive value", () => __awaiter(void 0, void 0, void 0, function* () {
25
- expect(getMaxWidthStyles({ s: "50px", l: "50%" })).toMatchSnapshot();
26
- }));
27
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,24 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import getPaddingStyles from "./index.js";
11
- describe("Styles/Padding", () => {
12
- test("handles positive value", () => {
13
- expect(getPaddingStyles(4)).toMatchSnapshot();
14
- });
15
- test("handles 0 value", () => {
16
- expect(getPaddingStyles(0)).toMatchSnapshot();
17
- });
18
- test("handles undefined value", () => {
19
- expect(getPaddingStyles()).toMatchSnapshot();
20
- });
21
- test("handles responsive value", () => __awaiter(void 0, void 0, void 0, function* () {
22
- expect(getPaddingStyles({ s: 4, m: 0, l: 2 })).toMatchSnapshot();
23
- }));
24
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,21 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import getPositionStyles from "./index.js";
11
- describe("Styles/Position", () => {
12
- test("handles value", () => {
13
- expect(getPositionStyles("absolute")).toMatchSnapshot();
14
- });
15
- test("handles undefined value", () => {
16
- expect(getPositionStyles()).toMatchSnapshot();
17
- });
18
- test("handles responsive value", () => __awaiter(void 0, void 0, void 0, function* () {
19
- expect(getPositionStyles({ s: "absolute", l: "fixed" })).toMatchSnapshot();
20
- }));
21
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,24 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import getRadiusStyles from "./index.js";
11
- describe("Styles/Radius", () => {
12
- test("handles value", () => {
13
- expect(getRadiusStyles("large")).toMatchSnapshot();
14
- });
15
- test("handles none", () => {
16
- expect(getRadiusStyles("none")).toMatchSnapshot();
17
- });
18
- test("handles undefined value", () => {
19
- expect(getRadiusStyles()).toMatchSnapshot();
20
- });
21
- test("handles responsive value", () => __awaiter(void 0, void 0, void 0, function* () {
22
- expect(getRadiusStyles({ s: "small", m: "none", l: "circular" })).toMatchSnapshot();
23
- }));
24
- });
@@ -1 +0,0 @@
1
- export {};
@@ -1,27 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import getWidthStyles from "./index.js";
11
- describe("Styles/Width", () => {
12
- test("handles px value", () => {
13
- expect(getWidthStyles("50px")).toMatchSnapshot();
14
- });
15
- test("handles % value", () => {
16
- expect(getWidthStyles("50%")).toMatchSnapshot();
17
- });
18
- test("handles unit value", () => {
19
- expect(getWidthStyles(5)).toMatchSnapshot();
20
- });
21
- test("handles undefined value", () => {
22
- expect(getWidthStyles()).toMatchSnapshot();
23
- });
24
- test("handles responsive value", () => __awaiter(void 0, void 0, void 0, function* () {
25
- expect(getWidthStyles({ s: "50px", l: "50%" })).toMatchSnapshot();
26
- }));
27
- });
@@ -1 +0,0 @@
1
- [data-rs-theme=minimal][data-rs-color-mode=dark],[data-rs-theme=minimal][data-rs-color-mode=light]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;--rs-font-weight-regular:400;--rs-font-weight-medium:500;--rs-font-weight-semibold:600;--rs-font-weight-bold:700;--rs-font-weight-heavy:800;--rs-font-weight-black:900;--rs-font-size-title-1:96px;--rs-line-height-title-1:100px;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-heavy);--rs-font-size-title-2:80px;--rs-line-height-title-2:84px;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-heavy);--rs-font-size-title-3:64px;--rs-line-height-title-3:68px;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-heavy);--rs-font-size-title-4:56px;--rs-line-height-title-4:60px;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-bold);--rs-font-size-title-5:48px;--rs-line-height-title-5:52px;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-bold);--rs-font-size-title-6:36px;--rs-line-height-title-6:40px;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-bold);--rs-font-size-featured-1:32px;--rs-line-height-featured-1:40px;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-font-size-featured-2:24px;--rs-line-height-featured-2:32px;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-font-size-featured-3:20px;--rs-line-height-featured-3:28px;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-font-size-body-1:18px;--rs-line-height-body-1:24px;--rs-font-family-body-1:var(--rs-font-family-body);--rs-font-size-body-2:16px;--rs-line-height-body-2:24px;--rs-font-family-body-2:var(--rs-font-family-body);--rs-font-size-body-3:14px;--rs-line-height-body-3:20px;--rs-font-family-body-3:var(--rs-font-family-body);--rs-font-size-caption-1:12px;--rs-line-height-caption-1:16px;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-font-size-caption-2:10px;--rs-line-height-caption-2:12px;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-unit-base:4px;--rs-unit-radius-small:2px;--rs-unit-radius-medium:4px;--rs-unit-radius-large:6px;--rs-unit-x1:4px;--rs-unit-x2:8px;--rs-unit-x3:12px;--rs-unit-x4:16px;--rs-unit-x5:20px;--rs-unit-x6:24px;--rs-unit-x7:28px;--rs-unit-x8:32px;--rs-unit-x9:36px;--rs-unit-x10:40px;--rs-color-black:#000;--rs-color-white:#fff;--rs-color-on-background-primary:#fff;--rs-color-on-background-positive:#fff;--rs-color-on-background-critical:#fff;--rs-color-rgb-black:0,0,0;--rs-color-rgb-white:255,255,255;--rs-duration-fast:200ms;--rs-duration-medium:300ms;--rs-duration-slow:400ms;--rs-easing-standard:cubic-bezier(0.4,0,0.2,1);--rs-easing-accelerate:cubic-bezier(0.4,0,1,1);--rs-easing-decelerate:cubic-bezier(0,0,0.2,1);--rs-shadow-raised:0px 2px 3px rgba(0,0,0,.1),0px 1px 2px -1px rgba(0,0,0,.1);--rs-shadow-overlay:0px 5px 10px rgba(0,0,0,.05),0px 15px 25px rgba(0,0,0,.07)}[data-rs-theme=minimal][data-rs-color-mode=light]{--rs-color-foreground-neutral:#161a26;--rs-color-foreground-neutral-faded:#717787;--rs-color-foreground-disabled:#d4d0d0;--rs-color-foreground-primary:#2383e2;--rs-color-foreground-positive:#05751f;--rs-color-foreground-critical:#cb101d;--rs-color-background-neutral:#e3e3e5;--rs-color-background-neutral-faded:#f2f3f5;--rs-color-background-neutral-highlighted:#dedee1;--rs-color-background-disabled:#eceef3;--rs-color-background-disabled-faded:#f4f5f7;--rs-color-background-primary:#2383e2;--rs-color-background-primary-highlighted:#3273cc;--rs-color-background-primary-faded:#d6ebf6;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#ebfef6;--rs-color-background-positive-highlighted:#009950;--rs-color-background-critical:#e22c2c;--rs-color-background-critical-faded:#fef1f2;--rs-color-background-critical-highlighted:#eb4747;--rs-color-border-neutral:#d2d2d2;--rs-color-border-neutral-faded:#e2e2e2;--rs-color-border-disabled:#e2e2e2;--rs-color-border-primary:#3d76c7;--rs-color-border-primary-faded:#508de4;--rs-color-border-positive:#05751f;--rs-color-border-positive-faded:#cdedd5;--rs-color-border-critical:#cb101d;--rs-color-border-critical-faded:#fbd5d8;--rs-color-background-page:#fff;--rs-color-background-page-faded:#f7f7f5;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:227,227,229;--rs-color-rgb-background-neutral-faded:242,243,245;--rs-color-rgb-background-neutral-highlighted:222,222,225;--rs-color-rgb-background-disabled:236,238,243;--rs-color-rgb-background-disabled-faded:244,245,247;--rs-color-rgb-background-primary:35,131,226;--rs-color-rgb-background-primary-highlighted:50,115,204;--rs-color-rgb-background-primary-faded:214,235,246;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:235,254,246;--rs-color-rgb-background-positive-highlighted:0,153,80;--rs-color-rgb-background-critical:226,44,44;--rs-color-rgb-background-critical-faded:254,241,242;--rs-color-rgb-background-critical-highlighted:235,71,71;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:247,247,245;--rs-color-rgb-background-elevation-base:255,255,255;--rs-color-rgb-background-elevation-raised:255,255,255;--rs-color-rgb-background-elevation-overlay:255,255,255}[data-rs-theme=minimal][data-rs-color-mode=dark]{--rs-color-foreground-neutral:#f2f3f5;--rs-color-foreground-neutral-faded:#9f9e9e;--rs-color-foreground-disabled:#656565;--rs-color-foreground-primary:#5098ff;--rs-color-foreground-positive:#03ab5f;--rs-color-foreground-critical:#eb6666;--rs-color-background-neutral:#4f5155;--rs-color-background-neutral-faded:#34363f;--rs-color-background-neutral-highlighted:#595c60;--rs-color-background-disabled:#313131;--rs-color-background-disabled-faded:#262626;--rs-color-background-primary:#4281db;--rs-color-background-primary-highlighted:#3273cc;--rs-color-background-primary-faded:#1e2c45;--rs-color-background-positive:#06743f;--rs-color-background-positive-faded:#0f2921;--rs-color-background-positive-highlighted:#008545;--rs-color-background-critical:#ab1717;--rs-color-background-critical-faded:#2f1e1f;--rs-color-background-critical-highlighted:#c11515;--rs-color-border-neutral:#414141;--rs-color-border-neutral-faded:#464646;--rs-color-border-disabled:#404040;--rs-color-border-primary:#5a91e0;--rs-color-border-primary-faded:#163a6a;--rs-color-border-positive:#03a059;--rs-color-border-positive-faded:#163c30;--rs-color-border-critical:#e95454;--rs-color-border-critical-faded:#412a2b;--rs-color-background-page:#191919;--rs-color-background-page-faded:#202020;--rs-color-background-elevation-base:#232323;--rs-color-background-elevation-raised:#262626;--rs-color-background-elevation-overlay:#292929;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:79,81,85;--rs-color-rgb-background-neutral-faded:52,54,63;--rs-color-rgb-background-neutral-highlighted:89,92,96;--rs-color-rgb-background-disabled:49,49,49;--rs-color-rgb-background-disabled-faded:38,38,38;--rs-color-rgb-background-primary:66,129,219;--rs-color-rgb-background-primary-highlighted:50,115,204;--rs-color-rgb-background-primary-faded:30,44,69;--rs-color-rgb-background-positive:6,116,63;--rs-color-rgb-background-positive-faded:15,41,33;--rs-color-rgb-background-positive-highlighted:0,133,69;--rs-color-rgb-background-critical:171,23,23;--rs-color-rgb-background-critical-faded:47,30,31;--rs-color-rgb-background-critical-highlighted:193,21,21;--rs-color-rgb-background-page:25,25,25;--rs-color-rgb-background-page-faded:32,32,32;--rs-color-rgb-background-elevation-base:35,35,35;--rs-color-rgb-background-elevation-raised:38,38,38;--rs-color-rgb-background-elevation-overlay:41,41,41}
@@ -1,25 +0,0 @@
1
- import React from "react";
2
- type Renderer<P> = (props: P) => React.ReactElement;
3
- export declare const testChildren: (renderer: Renderer<{
4
- children: React.ReactNode;
5
- }>) => void;
6
- export declare const testLinkBehavior: (renderer: Renderer<{
7
- href: string;
8
- }>) => void;
9
- export declare const testLinkButtonBehavior: (renderer: Renderer<{
10
- href: string;
11
- onClick: () => void;
12
- }>) => void;
13
- export declare const testButtonBehavior: (renderer: Renderer<{
14
- onClick: () => void;
15
- }>) => void;
16
- export declare const testButtonType: (renderer: Renderer<{
17
- type: string;
18
- }>) => void;
19
- export declare const testDisabledButton: (renderer: Renderer<{
20
- onClick: () => void;
21
- }>) => void;
22
- export declare const testAriaLabel: (renderer: Renderer<{
23
- ariaLabel: string;
24
- }>) => void;
25
- export {};