reshaped 3.2.7 → 3.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 (151) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/bundle.css +1 -1
  3. package/dist/bundle.d.ts +2 -0
  4. package/dist/bundle.js +11 -11
  5. package/dist/cjs/themes/_generator/definitions/figma.js +1 -0
  6. package/dist/cjs/themes/_generator/definitions/reshaped.js +5 -4
  7. package/dist/cjs/themes/_generator/tokens/duration/duration.types.d.ts +1 -1
  8. package/dist/cjs/themes/_generator/transform.js +17 -7
  9. package/dist/cjs/themes/_generator/utilities/generateColors.js +6 -6
  10. package/dist/cjs/themes/_generator/utilities/resolveTokenReference.js +1 -1
  11. package/dist/cjs/themes/figma/theme.css +1 -1
  12. package/dist/cjs/themes/reshaped/theme.css +1 -1
  13. package/dist/cjs/themes/slate/theme.css +1 -1
  14. package/dist/components/Alert/tests/Alert.stories.d.ts +5 -4
  15. package/dist/components/Alert/tests/Alert.stories.js +3 -2
  16. package/dist/components/Autocomplete/Autocomplete.js +3 -3
  17. package/dist/components/Autocomplete/Autocomplete.types.d.ts +8 -9
  18. package/dist/components/Badge/Badge.module.css +1 -1
  19. package/dist/components/Button/Button.module.css +1 -1
  20. package/dist/components/Card/Card.js +1 -1
  21. package/dist/components/ContextMenu/ContextMenu.d.ts +10 -0
  22. package/dist/components/ContextMenu/ContextMenu.js +37 -0
  23. package/dist/components/ContextMenu/ContextMenu.module.css +1 -0
  24. package/dist/components/ContextMenu/ContextMenu.types.d.ts +2 -0
  25. package/dist/components/ContextMenu/ContextMenu.types.js +1 -0
  26. package/dist/components/ContextMenu/index.d.ts +2 -0
  27. package/dist/components/ContextMenu/index.js +1 -0
  28. package/dist/components/ContextMenu/tests/ContextMenu.stories.d.ts +18 -0
  29. package/dist/components/ContextMenu/tests/ContextMenu.stories.js +27 -0
  30. package/dist/components/DropdownMenu/DropdownMenu.d.ts +1 -2
  31. package/dist/components/DropdownMenu/DropdownMenu.js +2 -2
  32. package/dist/components/DropdownMenu/DropdownMenu.types.d.ts +4 -4
  33. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.d.ts +1 -1
  34. package/dist/components/DropdownMenu/tests/DropdownMenu.stories.js +8 -0
  35. package/dist/components/FormControl/FormControl.context.d.ts +86 -86
  36. package/dist/components/Grid/Grid.js +5 -1
  37. package/dist/components/Hotkey/Hotkey.module.css +1 -1
  38. package/dist/components/Modal/Modal.js +1 -1
  39. package/dist/components/Modal/Modal.module.css +1 -1
  40. package/dist/components/Popover/Popover.js +1 -1
  41. package/dist/components/Popover/Popover.types.d.ts +1 -1
  42. package/dist/components/Resizable/Resizable.js +2 -2
  43. package/dist/components/Resizable/Resizable.module.css +1 -1
  44. package/dist/components/Resizable/Resizable.types.d.ts +3 -1
  45. package/dist/components/Resizable/tests/Resizable.stories.js +34 -1
  46. package/dist/components/ScrollArea/ScrollArea.js +9 -9
  47. package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
  48. package/dist/components/ScrollArea/ScrollArea.types.d.ts +1 -4
  49. package/dist/components/ScrollArea/tests/ScrollArea.stories.d.ts +6 -4
  50. package/dist/components/ScrollArea/tests/ScrollArea.stories.js +28 -2
  51. package/dist/components/Table/Table.module.css +1 -1
  52. package/dist/components/Tabs/Tabs.module.css +1 -1
  53. package/dist/components/Tabs/Tabs.types.d.ts +2 -0
  54. package/dist/components/Tabs/TabsContext.d.ts +2 -2
  55. package/dist/components/Tabs/TabsPanel.js +3 -3
  56. package/dist/components/Text/Text.js +2 -1
  57. package/dist/components/TextField/TextField.js +4 -4
  58. package/dist/components/TextField/TextField.module.css +1 -1
  59. package/dist/components/TextField/TextField.types.d.ts +1 -0
  60. package/dist/components/Toast/Toast.js +3 -2
  61. package/dist/components/Tooltip/Tooltip.d.ts +1 -1
  62. package/dist/components/Tooltip/Tooltip.js +4 -4
  63. package/dist/components/Tooltip/Tooltip.types.d.ts +1 -1
  64. package/dist/components/Tooltip/tests/Tooltip.stories.d.ts +1 -1
  65. package/dist/components/View/View.js +8 -3
  66. package/dist/components/View/View.module.css +1 -1
  67. package/dist/components/View/View.types.d.ts +5 -5
  68. package/dist/components/View/tests/View.stories.js +6 -0
  69. package/dist/components/_private/Flyout/Flyout.module.css +1 -1
  70. package/dist/components/_private/Flyout/Flyout.types.d.ts +2 -1
  71. package/dist/components/_private/Flyout/FlyoutContent.js +6 -4
  72. package/dist/components/_private/Flyout/FlyoutControlled.js +12 -9
  73. package/dist/components/_private/Flyout/tests/Flyout.stories.d.ts +1 -0
  74. package/dist/components/_private/Flyout/tests/Flyout.stories.js +16 -1
  75. package/dist/components/_private/Flyout/useFlyout.d.ts +6 -11
  76. package/dist/components/_private/Flyout/useFlyout.js +19 -30
  77. package/dist/components/_private/Flyout/utilities/isFullyVisible.d.ts +6 -0
  78. package/dist/components/_private/Flyout/utilities/isFullyVisible.js +16 -0
  79. package/dist/components/_private/Portal/Portal.js +5 -2
  80. package/dist/hooks/_private/useOnClickOutside.d.ts +1 -1
  81. package/dist/hooks/_private/useOnClickOutside.js +8 -5
  82. package/dist/hooks/_private/useSingletonKeyboardMode.js +4 -0
  83. package/dist/index.d.ts +2 -0
  84. package/dist/index.js +1 -0
  85. package/dist/styles/align/align.css +1 -0
  86. package/dist/styles/align/index.d.ts +2 -1
  87. package/dist/styles/align/index.js +3 -3
  88. package/dist/styles/aspectRatio/aspectRatio.css +1 -0
  89. package/dist/styles/aspectRatio/index.d.ts +2 -1
  90. package/dist/styles/aspectRatio/index.js +2 -2
  91. package/dist/styles/bleed/bleed.module.css +1 -1
  92. package/dist/styles/bleed/index.js +2 -5
  93. package/dist/styles/height/height.module.css +1 -1
  94. package/dist/styles/height/index.js +2 -2
  95. package/dist/styles/inset/index.d.ts +2 -1
  96. package/dist/styles/inset/index.js +4 -7
  97. package/dist/styles/inset/inset.css +1 -0
  98. package/dist/styles/justify/index.d.ts +2 -1
  99. package/dist/styles/justify/index.js +3 -3
  100. package/dist/styles/justify/justify.css +1 -0
  101. package/dist/styles/maxHeight/index.js +2 -2
  102. package/dist/styles/maxHeight/maxHeight.module.css +1 -1
  103. package/dist/styles/maxWidth/index.js +2 -2
  104. package/dist/styles/maxWidth/maxWidth.module.css +1 -1
  105. package/dist/styles/minHeight/index.js +2 -2
  106. package/dist/styles/minHeight/minHeight.module.css +1 -1
  107. package/dist/styles/minWidth/index.js +2 -2
  108. package/dist/styles/minWidth/minWidth.module.css +1 -1
  109. package/dist/styles/padding/index.d.ts +2 -1
  110. package/dist/styles/padding/index.js +2 -2
  111. package/dist/styles/padding/padding.css +1 -0
  112. package/dist/styles/position/index.d.ts +2 -1
  113. package/dist/styles/position/index.js +4 -4
  114. package/dist/styles/position/position.css +1 -0
  115. package/dist/styles/textAlign/index.d.ts +2 -1
  116. package/dist/styles/textAlign/index.js +3 -3
  117. package/dist/styles/textAlign/textAlign.css +1 -0
  118. package/dist/styles/types.d.ts +5 -0
  119. package/dist/styles/width/index.js +2 -2
  120. package/dist/styles/width/width.module.css +1 -1
  121. package/dist/themes/_generator/definitions/figma.js +1 -0
  122. package/dist/themes/_generator/definitions/reshaped.js +5 -4
  123. package/dist/themes/_generator/tests/themes.stories.d.ts +4 -3
  124. package/dist/themes/_generator/tests/themes.stories.js +3 -2
  125. package/dist/themes/_generator/tokens/duration/duration.types.d.ts +1 -1
  126. package/dist/themes/_generator/utilities/generateColors.js +6 -6
  127. package/dist/themes/_generator/utilities/resolveTokenReference.js +1 -1
  128. package/dist/themes/figma/theme.css +1 -1
  129. package/dist/themes/reshaped/theme.css +1 -1
  130. package/dist/themes/slate/theme.css +1 -1
  131. package/dist/types/global.d.ts +4 -0
  132. package/dist/utilities/a11y/TrapFocus.js +1 -0
  133. package/dist/utilities/a11y/focus.d.ts +1 -1
  134. package/dist/utilities/a11y/focus.js +4 -1
  135. package/dist/utilities/a11y/tests/TrapFocus.stories.d.ts +6 -0
  136. package/dist/utilities/a11y/tests/TrapFocus.stories.js +59 -0
  137. package/dist/utilities/dom/find.d.ts +9 -0
  138. package/dist/utilities/dom/find.js +26 -0
  139. package/dist/utilities/dom/flyout.d.ts +2 -1
  140. package/dist/utilities/dom/flyout.js +13 -18
  141. package/dist/utilities/dom/index.d.ts +2 -2
  142. package/dist/utilities/dom/index.js +2 -2
  143. package/dist/utilities/scroll/lock.js +6 -2
  144. package/package.json +32 -32
  145. package/dist/styles/align/align.module.css +0 -1
  146. package/dist/styles/aspectRatio/aspectRatio.module.css +0 -1
  147. package/dist/styles/inset/inset.module.css +0 -1
  148. package/dist/styles/justify/justify.module.css +0 -1
  149. package/dist/styles/padding/padding.module.css +0 -1
  150. package/dist/styles/position/position.module.css +0 -1
  151. package/dist/styles/textAlign/textAlign.module.css +0 -1
@@ -4,7 +4,7 @@ const getMinWidthStyles = (value) => {
4
4
  if (!value)
5
5
  return null;
6
6
  const variables = responsiveVariables("--rs-min-w", value);
7
- const classNames = responsiveClassNames(s, (value) => (typeof value === "number" ? "unit" : "literal"), value, { excludeValueFromClassName: true });
8
- return { classNames, variables };
7
+ const classNames = responsiveClassNames(s, (value) => (typeof value === "number" ? "--type-unit" : "--type-literal"), value, { excludeValueFromClassName: true });
8
+ return { classNames: [s.root, classNames], variables };
9
9
  };
10
10
  export default getMinWidthStyles;
@@ -1 +1 @@
1
- .literal{min-width:var(--rs-min-w-s,auto)}.unit{min-width:calc(var(--rs-min-w-s) * var(--rs-unit-x1))}@media (--rs-viewport-m ){.literal--m{min-width:var(--rs-min-w-m)}.unit--m{min-width:calc(var(--rs-min-w-m) * var(--rs-unit-x1))}}@media (--rs-viewport-l ){.literal--l{min-width:var(--rs-min-w-l)}.unit--l{min-width:calc(var(--rs-min-w-l) * var(--rs-unit-x1))}}@media (--rs-viewport-xl ){.literal--xl{min-width:var(--rs-min-w-xl)}.unit--xl{min-width:calc(var(--rs-min-w-xl) * var(--rs-unit-x1))}}
1
+ .root[style*="--rs-min-w-"]{--rs-min-w-s:none;--rs-min-w-m:var(--rs-min-w-s);--rs-min-w-l:var(--rs-min-w-m);--rs-min-w-xl:var(--rs-min-w-l);--rs-min-w:var(--rs-min-w-s)}.--type-literal{min-width:var(--rs-min-w)!important}.--type-unit{min-width:calc(var(--rs-min-w) * var(--rs-unit-x1))!important}@media (--rs-viewport-m ){.root[style*="--rs-min-w-"]{--rs-min-w:var(--rs-min-w-m)}.--type-literal--m{min-width:var(--rs-min-w)!important}.--type-unit--m{min-width:calc(var(--rs-min-w) * var(--rs-unit-x1))!important}}@media (--rs-viewport-l ){.root[style*="--rs-min-w-"]{--rs-min-w:var(--rs-min-w-l)}.--type-literal--l{min-width:var(--rs-min-w)!important}.--type-unit--l{min-width:calc(var(--rs-min-w) * var(--rs-unit-x1))!important}}@media (--rs-viewport-xl ){.root[style*="--rs-min-w-"]{--rs-min-w:var(--rs-min-w-xl)}.--type-literal--xl{min-width:var(--rs-min-w)!important}.--type-unit--xl{min-width:calc(var(--rs-min-w) * var(--rs-unit-x1))!important}}
@@ -1,3 +1,4 @@
1
1
  import * as T from "../types";
2
- declare const getPaddingStyles: T.DynamicStyleUtility<number>;
2
+ import "./padding.css";
3
+ declare const getPaddingStyles: T.VariableStyleUtility<number>;
3
4
  export default getPaddingStyles;
@@ -1,9 +1,9 @@
1
1
  import { responsiveVariables } from "../../utilities/helpers.js";
2
- import s from "./padding.module.css";
2
+ import "./padding.css";
3
3
  const getPaddingStyles = (value) => {
4
4
  if (!value)
5
5
  return null;
6
6
  const variables = responsiveVariables("--rs-p", value);
7
- return { classNames: s.root, variables };
7
+ return { variables };
8
8
  };
9
9
  export default getPaddingStyles;
@@ -0,0 +1 @@
1
+ [style*="--rs-p-"]{padding:calc(var(--rs-p) * var(--rs-unit-x1) - var(--rs-border-width, 0px));--rs-p-s:0;--rs-p-m:var(--rs-p-s);--rs-p-l:var(--rs-p-m);--rs-p-xl:var(--rs-p-l);--rs-p:var(--rs-p-s)}@media (--rs-viewport-m ){[style*="--rs-p-"]{--rs-p:var(--rs-p-m)}}@media (--rs-viewport-l ){[style*="--rs-p-"]{--rs-p:var(--rs-p-l)}}@media (--rs-viewport-xl ){[style*="--rs-p-"]{--rs-p:var(--rs-p-xl)}}
@@ -1,3 +1,4 @@
1
1
  import * as T from "../types";
2
- declare const getPositionStyles: T.StaticStyleUtility<T.Position>;
2
+ import "./position.css";
3
+ declare const getPositionStyles: T.VariableStyleUtility<T.Position>;
3
4
  export default getPositionStyles;
@@ -1,9 +1,9 @@
1
- import { responsiveClassNames } from "../../utilities/helpers.js";
2
- import s from "./position.module.css";
1
+ import { responsiveVariables } from "../../utilities/helpers.js";
2
+ import "./position.css";
3
3
  const getPositionStyles = (value) => {
4
4
  if (!value)
5
5
  return null;
6
- const classNames = responsiveClassNames(s, "--position", value);
7
- return { classNames };
6
+ const variables = responsiveVariables("--rs-position", value);
7
+ return { variables };
8
8
  };
9
9
  export default getPositionStyles;
@@ -0,0 +1 @@
1
+ [style*="--rs-position-"]{position:var(--rs-position)!important;--rs-position-s: ;--rs-position-m:var(--rs-position-s);--rs-position-l:var(--rs-position-m);--rs-position-xl:var(--rs-position-l);--rs-position:var(--rs-position-s)}@media (--rs-viewport-m ){[style*="--rs-position-"]{--rs-position:var(--rs-position-m)}}@media (--rs-viewport-l ){[style*="--rs-position-"]{--rs-position:var(--rs-position-l)}}@media (--rs-viewport-xl ){[style*="--rs-position-"]{--rs-position:var(--rs-position-xl)}}
@@ -1,3 +1,4 @@
1
1
  import * as T from "../types";
2
- declare const getTextAlignStyles: T.StaticStyleUtility<T.TextAlign>;
2
+ import "./textAlign.css";
3
+ declare const getTextAlignStyles: T.VariableStyleUtility<T.TextAlign>;
3
4
  export default getTextAlignStyles;
@@ -1,10 +1,10 @@
1
- import { responsiveClassNames } from "../../utilities/helpers.js";
2
- import s from "./textAlign.module.css";
1
+ import { responsiveVariables } from "../../utilities/helpers.js";
2
+ import "./textAlign.css";
3
3
  const getTextAlignStyles = (value) => {
4
4
  if (!value)
5
5
  return null;
6
6
  return {
7
- classNames: [...responsiveClassNames(s, "--text-align", value)],
7
+ variables: responsiveVariables("--rs-text-align", value),
8
8
  };
9
9
  };
10
10
  export default getTextAlignStyles;
@@ -0,0 +1 @@
1
+ [style*="--rs-text-align-"]{text-align:var(--rs-text-align)!important;--rs-text-align-s: ;--rs-text-align-m:var(--rs-text-align-s);--rs-text-align-l:var(--rs-text-align-m);--rs-text-align-xl:var(--rs-text-align-l);--rs-text-align:var(--rs-text-align-s)}@media (--rs-viewport-m ){[style*="--rs-text-align-"]{--rs-text-align:var(--rs-text-align-m)}}@media (--rs-viewport-l ){[style*="--rs-text-align-"]{--rs-text-align:var(--rs-text-align-l)}}@media (--rs-viewport-xl ){[style*="--rs-text-align-"]{--rs-text-align:var(--rs-text-align-xl)}}
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import * as G from "../types/global";
3
+ export type Inset = number | "auto";
3
4
  export type TextAlign = "start" | "center" | "end";
4
5
  export type Justify = "start" | "center" | "end" | "space-between";
5
6
  export type Align = "start" | "center" | "end" | "stretch" | "baseline";
@@ -12,6 +13,10 @@ export type BorderColor = "neutral" | "neutral-faded" | "critical" | "critical-f
12
13
  export type StaticStyleUtility<Value> = (value?: G.Responsive<Value>) => null | {
13
14
  classNames: G.ClassName;
14
15
  };
16
+ export type VariableStyleUtilityResult = null | {
17
+ variables: React.CSSProperties;
18
+ };
19
+ export type VariableStyleUtility<Value> = (value?: G.Responsive<Value>) => VariableStyleUtilityResult;
15
20
  /**
16
21
  * Utility controlled with classNames and css variables
17
22
  * Classnames define the styles, variables define the values for those styles
@@ -4,7 +4,7 @@ const getWidthStyles = (value) => {
4
4
  if (!value)
5
5
  return null;
6
6
  const variables = responsiveVariables("--rs-w", value);
7
- const classNames = responsiveClassNames(s, (value) => (typeof value === "number" ? "unit" : "literal"), value, { excludeValueFromClassName: true });
8
- return { classNames, variables };
7
+ const classNames = responsiveClassNames(s, (value) => (typeof value === "number" ? "--type-unit" : "--type-literal"), value, { excludeValueFromClassName: true });
8
+ return { classNames: [s.root, classNames], variables };
9
9
  };
10
10
  export default getWidthStyles;
@@ -1 +1 @@
1
- .literal{width:var(--rs-w-s,auto)!important}.unit{width:calc(var(--rs-w-s) * var(--rs-unit-x1))!important}@media (--rs-viewport-m ){.literal--m{width:var(--rs-w-m)!important}.unit--m{width:calc(var(--rs-w-m) * var(--rs-unit-x1))!important}}@media (--rs-viewport-l ){.literal--l{width:var(--rs-w-l)!important}.unit--l{width:calc(var(--rs-w-l) * var(--rs-unit-x1))!important}}@media (--rs-viewport-xl ){.literal--xl{width:var(--rs-w-xl)!important}.unit--xl{width:calc(var(--rs-w-xl) * var(--rs-unit-x1))!important}}
1
+ .root[style*="--rs-w-"]{--rs-w-s:auto;--rs-w-m:var(--rs-w-s);--rs-w-l:var(--rs-w-m);--rs-w-xl:var(--rs-w-l);--rs-w:var(--rs-w-s)}.--type-literal{width:var(--rs-w)!important}.--type-unit{width:calc(var(--rs-w) * var(--rs-unit-x1))!important}@media (--rs-viewport-m ){.root[style*="--rs-w-"]{--rs-w:var(--rs-w-m)}.--type-literal--m{width:var(--rs-w)!important}.--type-unit--m{width:calc(var(--rs-w) * var(--rs-unit-x1))!important}}@media (--rs-viewport-l ){.root[style*="--rs-w-"]{--rs-w:var(--rs-w-l)}.--type-literal--l{width:var(--rs-w)!important}.--type-unit--l{width:calc(var(--rs-w) * var(--rs-unit-x1))!important}}@media (--rs-viewport-xl ){.root[style*="--rs-w-"]{--rs-w:var(--rs-w-xl)}.--type-literal--xl{width:var(--rs-w)!important}.--type-unit--xl{width:calc(var(--rs-w) * var(--rs-unit-x1))!important}}
@@ -140,6 +140,7 @@ const theme = {
140
140
  white: { hex: "#FFFFFF" },
141
141
  },
142
142
  duration: {
143
+ rapid: { ms: 100 },
143
144
  fast: { ms: 200 },
144
145
  medium: { ms: 300 },
145
146
  slow: { ms: 400 },
@@ -111,22 +111,22 @@ const theme = {
111
111
  backgroundCritical: { hex: "#e22c2c", hexDark: "#d02626" },
112
112
  backgroundCriticalFaded: { hex: "#fdeded", hexDark: "#3e1f1f" },
113
113
  borderCritical: { hex: "#bf2424", hexDark: "#f46969" },
114
- borderCriticalFaded: { hex: "#fadbdb", hexDark: "#582929" },
114
+ borderCriticalFaded: { hex: "#f3dad6", hexDark: "#5a2e29" },
115
115
  foregroundCritical: { hex: "#c42525", hexDark: "#f36a6a" },
116
116
  backgroundWarning: { hex: "#facc15", hexDark: "#f1c512" },
117
117
  backgroundWarningFaded: { hex: "#fffae9", hexDark: "#2c271f" },
118
118
  borderWarning: { hex: "#cfa90f", hexDark: "#b4920a" },
119
- borderWarningFaded: { hex: "#faedbb", hexDark: "#3d3628" },
119
+ borderWarningFaded: { hex: "#ece2c4", hexDark: "#453c1e" },
120
120
  foregroundWarning: { hex: "#7b6305", hexDark: "#b4920c" },
121
121
  backgroundPositive: { hex: "#118850", hexDark: "#14784a" },
122
122
  backgroundPositiveFaded: { hex: "#edfdf5", hexDark: "#1f2a23" },
123
123
  borderPositive: { hex: "#0c6e40", hexDark: "#21ab6b" },
124
- borderPositiveFaded: { hex: "#d0f3e2", hexDark: "#293b2f" },
124
+ borderPositiveFaded: { hex: "#d2eddb", hexDark: "#264431" },
125
125
  foregroundPositive: { hex: "#0d7544", hexDark: "#18ab66" },
126
126
  backgroundNeutral: { hex: "#dfe2ea", hexDark: "#494f60" },
127
127
  backgroundNeutralFaded: { hex: "#f3f3f5", hexDark: "#222835" },
128
128
  borderNeutral: { hex: "#0000001f", hexDark: "#ffffff24" },
129
- borderNeutralFaded: { hex: "#0000001a", hexDark: "#ffffff17" },
129
+ borderNeutralFaded: { hex: "#00000014", hexDark: "#ffffff14" },
130
130
  foregroundNeutral: { hex: "#14181f", hexDark: "#eff1f5" },
131
131
  foregroundNeutralFaded: { hex: "#5b667e", hexDark: "#c0c6d6" },
132
132
  backgroundDisabled: { hex: "#eceef2", hexDark: "#1e212a" },
@@ -143,6 +143,7 @@ const theme = {
143
143
  black: { hex: "#000000" },
144
144
  },
145
145
  duration: {
146
+ rapid: { ms: 100 },
146
147
  fast: { ms: 200 },
147
148
  medium: { ms: 300 },
148
149
  slow: { ms: 400 },
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  declare const _default: {
2
3
  title: string;
3
4
  parameters: {
@@ -7,6 +8,6 @@ declare const _default: {
7
8
  };
8
9
  };
9
10
  export default _default;
10
- export declare const base: () => import("react").JSX.Element;
11
- export declare const generation: () => import("react").JSX.Element;
12
- export declare const onColors: () => import("react").JSX.Element;
11
+ export declare const base: () => React.JSX.Element;
12
+ export declare const generation: () => React.JSX.Element;
13
+ export declare const onColors: () => React.JSX.Element;
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import { Example } from "../../../utilities/storybook/index.js";
2
3
  import View from "../../../components/View/index.js";
3
4
  import Button from "../../../components/Button/index.js";
@@ -214,14 +215,14 @@ export const base = () => (<Example>
214
215
  </Theme>
215
216
  </Example.Item>
216
217
  </Example>);
217
- export const generation = () => (<>
218
+ export const generation = () => (<React.Fragment>
218
219
  <style>
219
220
  {cssGenerated}
220
221
  {cssGenerated2}
221
222
  </style>
222
223
  <Theme name="generated">{componentExamples}</Theme>
223
224
  {/* <Theme name="generated2">{componentExamples}</Theme> */}
224
- </>);
225
+ </React.Fragment>);
225
226
  const onColorsCss = getThemeCSS("on-color", {
226
227
  color: {
227
228
  backgroundPrimary: { hex: "#1abc9c", hexDark: "#16a085" },
@@ -1,4 +1,4 @@
1
- export type Name = "fast" | "medium" | "slow";
1
+ export type Name = "rapid" | "fast" | "medium" | "slow";
2
2
  export type Token = {
3
3
  ms: number;
4
4
  };
@@ -2,7 +2,7 @@ import { parseHex, convertOklabToOkhsl, convertLrgbToOklab, convertRgbToLrgb, co
2
2
  const hexToOkHsl = (hex) => {
3
3
  const rgb = parseHex(hex);
4
4
  if (!rgb)
5
- throw new Error(`Can\'t generate rgb from ${hex} color`);
5
+ throw new Error(`[Reshaped] Can\'t generate rgb from ${hex} color`);
6
6
  const lrgb = convertRgbToLrgb(rgb);
7
7
  const oklab = convertLrgbToOklab(lrgb);
8
8
  const okhsl = convertOklabToOkhsl(oklab);
@@ -62,22 +62,22 @@ const generateColorValues = (args) => {
62
62
  ? okhslToHex({
63
63
  ...bgFadedHsl,
64
64
  l: 0,
65
- alpha: 0.06,
65
+ alpha: 0.08,
66
66
  })
67
67
  : okhslToHex({
68
68
  ...bgFadedHsl,
69
69
  s: 0.6 - 0.2 * hueLightness,
70
- l: bgFadedHsl.l - 0.05,
70
+ l: bgFadedHsl.l - 0.07,
71
71
  });
72
72
  const bdFadedHexDark = key === "neutral"
73
73
  ? okhslToHex({
74
74
  ...bgFadedHslDark,
75
75
  l: 1,
76
- alpha: 0.09,
76
+ alpha: 0.08,
77
77
  })
78
78
  : okhslToHex({
79
79
  ...bgFadedHslDark,
80
- l: bgFadedHslDark.l + 0.08,
80
+ l: bgFadedHslDark.l + 0.1,
81
81
  });
82
82
  const output = {
83
83
  [`background${capitalizedKey}`]: {
@@ -148,7 +148,7 @@ const generateColorValues = (args) => {
148
148
  const validateHexColor = (color) => {
149
149
  const hexColorRegex = /^#([A-Fa-f0-9]{3}){2}$/;
150
150
  if (!hexColorRegex.test(color)) {
151
- throw new Error(`Invalid hex color: ${color}`);
151
+ throw new Error(`[Reshaped] Invalid hex color: ${color}`);
152
152
  }
153
153
  return color;
154
154
  };
@@ -8,7 +8,7 @@ const resolveTokenReference = (theme, tokenType, ref) => {
8
8
  referencedToken = tokenGroup[tokenName];
9
9
  });
10
10
  if (!referencedToken)
11
- throw new Error(`Referenced token not found for: ${ref}`);
11
+ throw new Error(`[Reshaped] Referenced token not found for: ${ref}`);
12
12
  return referencedToken;
13
13
  };
14
14
  export default resolveTokenReference;
@@ -1 +1 @@
1
- [data-rs-theme=figma]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,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-extrabold:800;--rs-font-weight-black:900;--rs-font-size-title-1:5rem;--rs-line-height-title-1:5.25rem;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-semibold);--rs-letter-spacing-title-1:normal;--rs-font-size-title-2:4rem;--rs-line-height-title-2:4.25rem;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-semibold);--rs-letter-spacing-title-2:normal;--rs-font-size-title-3:3.5rem;--rs-line-height-title-3:3.75rem;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-semibold);--rs-letter-spacing-title-3:normal;--rs-font-size-title-4:2.5rem;--rs-line-height-title-4:2.75rem;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-semibold);--rs-letter-spacing-title-4:normal;--rs-font-size-title-5:2.25rem;--rs-line-height-title-5:2.5rem;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-semibold);--rs-letter-spacing-title-5:normal;--rs-font-size-title-6:1.5rem;--rs-line-height-title-6:1.75rem;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-semibold);--rs-letter-spacing-title-6:normal;--rs-font-size-featured-1:1.375rem;--rs-line-height-featured-1:1.75rem;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-letter-spacing-featured-1:normal;--rs-font-size-featured-2:1.25rem;--rs-line-height-featured-2:1.75rem;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-letter-spacing-featured-2:normal;--rs-font-size-featured-3:1.125rem;--rs-line-height-featured-3:1.5rem;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-letter-spacing-featured-3:normal;--rs-font-size-body-1:0.875rem;--rs-line-height-body-1:1.25rem;--rs-font-family-body-1:var(--rs-font-family-body);--rs-letter-spacing-body-1:normal;--rs-font-size-body-2:0.8125rem;--rs-line-height-body-2:1.25rem;--rs-font-family-body-2:var(--rs-font-family-body);--rs-letter-spacing-body-2:normal;--rs-font-size-body-3:0.6875rem;--rs-line-height-body-3:1rem;--rs-font-family-body-3:var(--rs-font-family-body);--rs-letter-spacing-body-3:normal;--rs-font-size-caption-1:0.6875rem;--rs-line-height-caption-1:1rem;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-letter-spacing-caption-1:normal;--rs-font-size-caption-2:0.625rem;--rs-line-height-caption-2:0.75rem;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-letter-spacing-caption-2:normal;--rs-unit-base:4px;--rs-unit-radius-small:4px;--rs-unit-radius-medium:4px;--rs-unit-radius-large:4px;--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-radius-small:4px;--rs-radius-medium:8px;--rs-radius-large:12px;--rs-color-brand:#5a58f2;--rs-color-white:#fff;--rs-color-black:#000;--rs-color-on-background-primary:#fff;--rs-color-on-background-critical:#000;--rs-color-on-background-warning:#000;--rs-color-on-background-positive:#000;--rs-color-on-brand:#fff;--rs-color-rgb-white:255,255,255;--rs-color-rgb-black:0,0,0;--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 1px 3px 0px rgba(0,0,0,.15);--rs-shadow-overlay:0px 10px 24px 0px rgba(0,0,0,.1),0px 2px 5px 0px rgba(0,0,0,.04);--rs-viewport-m-min:660;--rs-viewport-l-min:900;--rs-viewport-xl-min:1280}[data-rs-theme=figma][data-rs-color-mode=light]{--rs-color-background-primary:#0d99ff;--rs-color-background-primary-faded:#e5f4ff;--rs-color-border-primary:#007be5;--rs-color-border-primary-faded:#bde3ff;--rs-color-foreground-primary:#007be5;--rs-color-background-critical:#f24822;--rs-color-background-critical-faded:#ffe2e0;--rs-color-border-critical:#dc3412;--rs-color-border-critical-faded:#ffc7c2;--rs-color-foreground-critical:#dc3412;--rs-color-background-warning:#facc15;--rs-color-background-warning-faded:#fffae9;--rs-color-border-warning:#cfa90f;--rs-color-border-warning-faded:#faedbb;--rs-color-foreground-warning:#7b6305;--rs-color-background-positive:#14ae5c;--rs-color-background-positive-faded:#daecdf;--rs-color-border-positive:#009951;--rs-color-border-positive-faded:#bbddc6;--rs-color-foreground-positive:#009951;--rs-color-background-neutral:#dfe2ea;--rs-color-background-neutral-faded:#f5f5f5;--rs-color-border-neutral:#e6e6e6;--rs-color-border-neutral-faded:#e6e6e6;--rs-color-foreground-neutral:#191919;--rs-color-foreground-neutral-faded:#474747;--rs-color-background-disabled:#e4e4e4;--rs-color-background-disabled-faded:#f5f5f5;--rs-color-border-disabled:#e6e6e6;--rs-color-foreground-disabled:#b2b2b2;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-background-page:#fff;--rs-color-background-page-faded:#fafafa;--rs-color-background-neutral-highlighted:#d4d8e3;--rs-color-background-primary-highlighted:#007be5;--rs-color-background-positive-highlighted:#009951;--rs-color-background-critical-highlighted:#dc3412;--rs-color-rgb-background-primary:13,153,255;--rs-color-rgb-background-primary-faded:229,244,255;--rs-color-rgb-background-critical:242,72,34;--rs-color-rgb-background-critical-faded:255,226,224;--rs-color-rgb-background-warning:250,204,21;--rs-color-rgb-background-warning-faded:255,250,233;--rs-color-rgb-background-positive:20,174,92;--rs-color-rgb-background-positive-faded:218,236,223;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:223,226,234;--rs-color-rgb-background-neutral-faded:245,245,245;--rs-color-rgb-background-disabled:228,228,228;--rs-color-rgb-background-disabled-faded:245,245,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;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:250,250,250;--rs-color-rgb-background-neutral-highlighted:212,216,227;--rs-color-rgb-background-primary-highlighted:0,123,229;--rs-color-rgb-background-positive-highlighted:0,153,81;--rs-color-rgb-background-critical-highlighted:220,52,18}[data-rs-theme=figma][data-rs-color-mode=dark]{--rs-color-background-primary:#0c8ce9;--rs-color-background-primary-faded:#394360;--rs-color-border-primary:#7cc4f8;--rs-color-border-primary-faded:#2a4d72;--rs-color-foreground-primary:#7cc4f8;--rs-color-background-critical:#e03e1a;--rs-color-background-critical-faded:#60332a;--rs-color-border-critical:#fca397;--rs-color-border-critical-faded:#803226;--rs-color-foreground-critical:#fca397;--rs-color-background-warning:#f1c512;--rs-color-background-warning-faded:#2c271f;--rs-color-border-warning:#b4920a;--rs-color-border-warning-faded:#3d3628;--rs-color-foreground-warning:#b4920c;--rs-color-background-positive:#198f51;--rs-color-background-positive-faded:#3d5749;--rs-color-border-positive:#79d297;--rs-color-border-positive-faded:#086338;--rs-color-foreground-positive:#79d297;--rs-color-background-neutral:#444;--rs-color-background-neutral-faded:#383838;--rs-color-border-neutral:#444;--rs-color-border-neutral-faded:#444;--rs-color-foreground-neutral:#fff;--rs-color-foreground-neutral-faded:#b2b2b2;--rs-color-background-disabled:#474747;--rs-color-background-disabled-faded:#3a3a3a;--rs-color-border-disabled:#3e3e3e;--rs-color-foreground-disabled:#656565;--rs-color-background-elevation-base:#2c2c2c;--rs-color-background-elevation-raised:#2c2c2c;--rs-color-background-elevation-overlay:#2c2c2c;--rs-color-background-page:#2c2c2c;--rs-color-background-page-faded:#1e1e1e;--rs-color-background-neutral-highlighted:#525252;--rs-color-background-primary-highlighted:#0a6dc2;--rs-color-background-positive-highlighted:#078348;--rs-color-background-critical-highlighted:#c4381c;--rs-color-rgb-background-primary:12,140,233;--rs-color-rgb-background-primary-faded:57,67,96;--rs-color-rgb-background-critical:224,62,26;--rs-color-rgb-background-critical-faded:96,51,42;--rs-color-rgb-background-warning:241,197,18;--rs-color-rgb-background-warning-faded:44,39,31;--rs-color-rgb-background-positive:25,143,81;--rs-color-rgb-background-positive-faded:61,87,73;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:68,68,68;--rs-color-rgb-background-neutral-faded:56,56,56;--rs-color-rgb-background-disabled:71,71,71;--rs-color-rgb-background-disabled-faded:58,58,58;--rs-color-rgb-background-elevation-base:44,44,44;--rs-color-rgb-background-elevation-raised:44,44,44;--rs-color-rgb-background-elevation-overlay:44,44,44;--rs-color-rgb-background-page:44,44,44;--rs-color-rgb-background-page-faded:30,30,30;--rs-color-rgb-background-neutral-highlighted:82,82,82;--rs-color-rgb-background-primary-highlighted:10,109,194;--rs-color-rgb-background-positive-highlighted:7,131,72;--rs-color-rgb-background-critical-highlighted:196,56,28}
1
+ [data-rs-theme=figma]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,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-extrabold:800;--rs-font-weight-black:900;--rs-font-size-title-1:5rem;--rs-line-height-title-1:5.25rem;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-semibold);--rs-letter-spacing-title-1:normal;--rs-font-size-title-2:4rem;--rs-line-height-title-2:4.25rem;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-semibold);--rs-letter-spacing-title-2:normal;--rs-font-size-title-3:3.5rem;--rs-line-height-title-3:3.75rem;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-semibold);--rs-letter-spacing-title-3:normal;--rs-font-size-title-4:2.5rem;--rs-line-height-title-4:2.75rem;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-semibold);--rs-letter-spacing-title-4:normal;--rs-font-size-title-5:2.25rem;--rs-line-height-title-5:2.5rem;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-semibold);--rs-letter-spacing-title-5:normal;--rs-font-size-title-6:1.5rem;--rs-line-height-title-6:1.75rem;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-semibold);--rs-letter-spacing-title-6:normal;--rs-font-size-featured-1:1.375rem;--rs-line-height-featured-1:1.75rem;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-letter-spacing-featured-1:normal;--rs-font-size-featured-2:1.25rem;--rs-line-height-featured-2:1.75rem;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-letter-spacing-featured-2:normal;--rs-font-size-featured-3:1.125rem;--rs-line-height-featured-3:1.5rem;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-letter-spacing-featured-3:normal;--rs-font-size-body-1:0.875rem;--rs-line-height-body-1:1.25rem;--rs-font-family-body-1:var(--rs-font-family-body);--rs-letter-spacing-body-1:normal;--rs-font-size-body-2:0.8125rem;--rs-line-height-body-2:1.25rem;--rs-font-family-body-2:var(--rs-font-family-body);--rs-letter-spacing-body-2:normal;--rs-font-size-body-3:0.6875rem;--rs-line-height-body-3:1rem;--rs-font-family-body-3:var(--rs-font-family-body);--rs-letter-spacing-body-3:normal;--rs-font-size-caption-1:0.6875rem;--rs-line-height-caption-1:1rem;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-letter-spacing-caption-1:normal;--rs-font-size-caption-2:0.625rem;--rs-line-height-caption-2:0.75rem;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-letter-spacing-caption-2:normal;--rs-unit-base:4px;--rs-unit-radius-small:4px;--rs-unit-radius-medium:4px;--rs-unit-radius-large:4px;--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-radius-small:4px;--rs-radius-medium:8px;--rs-radius-large:12px;--rs-color-brand:#5a58f2;--rs-color-white:#fff;--rs-color-black:#000;--rs-color-on-background-primary:#fff;--rs-color-on-background-critical:#000;--rs-color-on-background-warning:#000;--rs-color-on-background-positive:#000;--rs-color-on-brand:#fff;--rs-color-rgb-white:255,255,255;--rs-color-rgb-black:0,0,0;--rs-duration-rapid:100ms;--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 1px 3px 0px rgba(0,0,0,.15);--rs-shadow-overlay:0px 10px 24px 0px rgba(0,0,0,.1),0px 2px 5px 0px rgba(0,0,0,.04);--rs-viewport-m-min:660;--rs-viewport-l-min:900;--rs-viewport-xl-min:1280}[data-rs-theme=figma][data-rs-color-mode=light]{--rs-color-background-primary:#0d99ff;--rs-color-background-primary-faded:#e5f4ff;--rs-color-border-primary:#007be5;--rs-color-border-primary-faded:#bde3ff;--rs-color-foreground-primary:#007be5;--rs-color-background-critical:#f24822;--rs-color-background-critical-faded:#ffe2e0;--rs-color-border-critical:#dc3412;--rs-color-border-critical-faded:#ffc7c2;--rs-color-foreground-critical:#dc3412;--rs-color-background-warning:#facc15;--rs-color-background-warning-faded:#fffae9;--rs-color-border-warning:#cfa90f;--rs-color-border-warning-faded:#ece2c4;--rs-color-foreground-warning:#7b6305;--rs-color-background-positive:#14ae5c;--rs-color-background-positive-faded:#daecdf;--rs-color-border-positive:#009951;--rs-color-border-positive-faded:#bbddc6;--rs-color-foreground-positive:#009951;--rs-color-background-neutral:#dfe2ea;--rs-color-background-neutral-faded:#f5f5f5;--rs-color-border-neutral:#e6e6e6;--rs-color-border-neutral-faded:#e6e6e6;--rs-color-foreground-neutral:#191919;--rs-color-foreground-neutral-faded:#474747;--rs-color-background-disabled:#e4e4e4;--rs-color-background-disabled-faded:#f5f5f5;--rs-color-border-disabled:#e6e6e6;--rs-color-foreground-disabled:#b2b2b2;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-background-page:#fff;--rs-color-background-page-faded:#fafafa;--rs-color-background-neutral-highlighted:#d4d8e3;--rs-color-background-primary-highlighted:#007be5;--rs-color-background-positive-highlighted:#009951;--rs-color-background-critical-highlighted:#dc3412;--rs-color-rgb-background-primary:13,153,255;--rs-color-rgb-background-primary-faded:229,244,255;--rs-color-rgb-background-critical:242,72,34;--rs-color-rgb-background-critical-faded:255,226,224;--rs-color-rgb-background-warning:250,204,21;--rs-color-rgb-background-warning-faded:255,250,233;--rs-color-rgb-background-positive:20,174,92;--rs-color-rgb-background-positive-faded:218,236,223;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:223,226,234;--rs-color-rgb-background-neutral-faded:245,245,245;--rs-color-rgb-background-disabled:228,228,228;--rs-color-rgb-background-disabled-faded:245,245,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;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:250,250,250;--rs-color-rgb-background-neutral-highlighted:212,216,227;--rs-color-rgb-background-primary-highlighted:0,123,229;--rs-color-rgb-background-positive-highlighted:0,153,81;--rs-color-rgb-background-critical-highlighted:220,52,18}[data-rs-theme=figma][data-rs-color-mode=dark]{--rs-color-background-primary:#0c8ce9;--rs-color-background-primary-faded:#394360;--rs-color-border-primary:#7cc4f8;--rs-color-border-primary-faded:#2a4d72;--rs-color-foreground-primary:#7cc4f8;--rs-color-background-critical:#e03e1a;--rs-color-background-critical-faded:#60332a;--rs-color-border-critical:#fca397;--rs-color-border-critical-faded:#803226;--rs-color-foreground-critical:#fca397;--rs-color-background-warning:#f1c512;--rs-color-background-warning-faded:#2c271f;--rs-color-border-warning:#b4920a;--rs-color-border-warning-faded:#453c1e;--rs-color-foreground-warning:#b4920c;--rs-color-background-positive:#198f51;--rs-color-background-positive-faded:#3d5749;--rs-color-border-positive:#79d297;--rs-color-border-positive-faded:#086338;--rs-color-foreground-positive:#79d297;--rs-color-background-neutral:#444;--rs-color-background-neutral-faded:#383838;--rs-color-border-neutral:#444;--rs-color-border-neutral-faded:#444;--rs-color-foreground-neutral:#fff;--rs-color-foreground-neutral-faded:#b2b2b2;--rs-color-background-disabled:#474747;--rs-color-background-disabled-faded:#3a3a3a;--rs-color-border-disabled:#3e3e3e;--rs-color-foreground-disabled:#656565;--rs-color-background-elevation-base:#2c2c2c;--rs-color-background-elevation-raised:#2c2c2c;--rs-color-background-elevation-overlay:#2c2c2c;--rs-color-background-page:#2c2c2c;--rs-color-background-page-faded:#1e1e1e;--rs-color-background-neutral-highlighted:#525252;--rs-color-background-primary-highlighted:#0a6dc2;--rs-color-background-positive-highlighted:#078348;--rs-color-background-critical-highlighted:#c4381c;--rs-color-rgb-background-primary:12,140,233;--rs-color-rgb-background-primary-faded:57,67,96;--rs-color-rgb-background-critical:224,62,26;--rs-color-rgb-background-critical-faded:96,51,42;--rs-color-rgb-background-warning:241,197,18;--rs-color-rgb-background-warning-faded:44,39,31;--rs-color-rgb-background-positive:25,143,81;--rs-color-rgb-background-positive-faded:61,87,73;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:68,68,68;--rs-color-rgb-background-neutral-faded:56,56,56;--rs-color-rgb-background-disabled:71,71,71;--rs-color-rgb-background-disabled-faded:58,58,58;--rs-color-rgb-background-elevation-base:44,44,44;--rs-color-rgb-background-elevation-raised:44,44,44;--rs-color-rgb-background-elevation-overlay:44,44,44;--rs-color-rgb-background-page:44,44,44;--rs-color-rgb-background-page-faded:30,30,30;--rs-color-rgb-background-neutral-highlighted:82,82,82;--rs-color-rgb-background-primary-highlighted:10,109,194;--rs-color-rgb-background-positive-highlighted:7,131,72;--rs-color-rgb-background-critical-highlighted:196,56,28}
@@ -1 +1 @@
1
- [data-rs-theme=reshaped]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,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-extrabold:800;--rs-font-weight-black:900;--rs-font-size-title-1:6rem;--rs-line-height-title-1:6.25rem;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-1:normal;--rs-font-size-title-2:5rem;--rs-line-height-title-2:5.25rem;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-2:normal;--rs-font-size-title-3:4rem;--rs-line-height-title-3:4.25rem;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-3:normal;--rs-font-size-title-4:3.5rem;--rs-line-height-title-4:3.75rem;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-bold);--rs-letter-spacing-title-4:normal;--rs-font-size-title-5:3rem;--rs-line-height-title-5:3.25rem;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-bold);--rs-letter-spacing-title-5:normal;--rs-font-size-title-6:2.25rem;--rs-line-height-title-6:2.5rem;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-bold);--rs-letter-spacing-title-6:normal;--rs-font-size-featured-1:2rem;--rs-line-height-featured-1:2.5rem;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-letter-spacing-featured-1:normal;--rs-font-size-featured-2:1.5rem;--rs-line-height-featured-2:2rem;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-letter-spacing-featured-2:normal;--rs-font-size-featured-3:1.25rem;--rs-line-height-featured-3:1.75rem;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-letter-spacing-featured-3:normal;--rs-font-size-body-1:1.125rem;--rs-line-height-body-1:1.75rem;--rs-font-family-body-1:var(--rs-font-family-body);--rs-letter-spacing-body-1:normal;--rs-font-size-body-2:1rem;--rs-line-height-body-2:1.5rem;--rs-font-family-body-2:var(--rs-font-family-body);--rs-letter-spacing-body-2:normal;--rs-font-size-body-3:0.875rem;--rs-line-height-body-3:1.25rem;--rs-font-family-body-3:var(--rs-font-family-body);--rs-letter-spacing-body-3:normal;--rs-font-size-caption-1:0.75rem;--rs-line-height-caption-1:1rem;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-letter-spacing-caption-1:normal;--rs-font-size-caption-2:0.625rem;--rs-line-height-caption-2:0.75rem;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-letter-spacing-caption-2:normal;--rs-unit-base:4px;--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-radius-small:4px;--rs-radius-medium:8px;--rs-radius-large:12px;--rs-color-brand:#5a58f2;--rs-color-white:#fff;--rs-color-black:#000;--rs-color-on-background-primary:#fff;--rs-color-on-background-critical:#fff;--rs-color-on-background-warning:#000;--rs-color-on-background-positive:#fff;--rs-color-on-brand:#fff;--rs-color-rgb-white:255,255,255;--rs-color-rgb-black:0,0,0;--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 1px 5px -4px rgba(0,0,0,.5),0px 4px 8px 0px rgba(0,0,0,.05);--rs-shadow-overlay:0px 5px 10px 0px rgba(0,0,0,.05),0px 15px 25px 0px rgba(0,0,0,.07);--rs-viewport-m-min:660;--rs-viewport-l-min:900;--rs-viewport-xl-min:1280}[data-rs-theme=reshaped][data-rs-color-mode=light]{--rs-color-background-primary:#5a58f2;--rs-color-background-primary-faded:#ecebfe;--rs-color-border-primary:#3b38ed;--rs-color-border-primary-faded:#dedcfb;--rs-color-foreground-primary:#4f4cf0;--rs-color-background-critical:#e22c2c;--rs-color-background-critical-faded:#fdeded;--rs-color-border-critical:#bf2424;--rs-color-border-critical-faded:#fadbdb;--rs-color-foreground-critical:#c42525;--rs-color-background-warning:#facc15;--rs-color-background-warning-faded:#fffae9;--rs-color-border-warning:#cfa90f;--rs-color-border-warning-faded:#faedbb;--rs-color-foreground-warning:#7b6305;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#edfdf5;--rs-color-border-positive:#0c6e40;--rs-color-border-positive-faded:#d0f3e2;--rs-color-foreground-positive:#0d7544;--rs-color-background-neutral:#dfe2ea;--rs-color-background-neutral-faded:#f3f3f5;--rs-color-border-neutral:#0000001f;--rs-color-border-neutral-faded:#0000001a;--rs-color-foreground-neutral:#14181f;--rs-color-foreground-neutral-faded:#5b667e;--rs-color-background-disabled:#eceef2;--rs-color-background-disabled-faded:#f5f6f9;--rs-color-border-disabled:#dfe2ea;--rs-color-foreground-disabled:#c6ccda;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-background-page:#fff;--rs-color-background-page-faded:#f9f9fb;--rs-color-rgb-background-primary:90,88,242;--rs-color-rgb-background-primary-faded:236,235,254;--rs-color-rgb-background-critical:226,44,44;--rs-color-rgb-background-critical-faded:253,237,237;--rs-color-rgb-background-warning:250,204,21;--rs-color-rgb-background-warning-faded:255,250,233;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:237,253,245;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:223,226,234;--rs-color-rgb-background-neutral-faded:243,243,245;--rs-color-rgb-background-disabled:236,238,242;--rs-color-rgb-background-disabled-faded:245,246,249;--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;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:249,249,251}[data-rs-theme=reshaped][data-rs-color-mode=dark]{--rs-color-background-primary:#524fea;--rs-color-background-primary-faded:#252544;--rs-color-border-primary:#8c8bf3;--rs-color-border-primary-faded:#323164;--rs-color-foreground-primary:#8b8af7;--rs-color-background-critical:#d02626;--rs-color-background-critical-faded:#3e1f1f;--rs-color-border-critical:#f46969;--rs-color-border-critical-faded:#582929;--rs-color-foreground-critical:#f36a6a;--rs-color-background-warning:#f1c512;--rs-color-background-warning-faded:#2c271f;--rs-color-border-warning:#b4920a;--rs-color-border-warning-faded:#3d3628;--rs-color-foreground-warning:#b4920c;--rs-color-background-positive:#14784a;--rs-color-background-positive-faded:#1f2a23;--rs-color-border-positive:#21ab6b;--rs-color-border-positive-faded:#293b2f;--rs-color-foreground-positive:#18ab66;--rs-color-background-neutral:#494f60;--rs-color-background-neutral-faded:#222835;--rs-color-border-neutral:#ffffff24;--rs-color-border-neutral-faded:#ffffff17;--rs-color-foreground-neutral:#eff1f5;--rs-color-foreground-neutral-faded:#c0c6d6;--rs-color-background-disabled:#1e212a;--rs-color-background-disabled-faded:#171921;--rs-color-border-disabled:#262a34;--rs-color-foreground-disabled:#434959;--rs-color-background-elevation-base:#15171e;--rs-color-background-elevation-raised:#191b23;--rs-color-background-elevation-overlay:#1c1f28;--rs-color-background-page:#0f1116;--rs-color-background-page-faded:#111319;--rs-color-rgb-background-primary:82,79,234;--rs-color-rgb-background-primary-faded:37,37,68;--rs-color-rgb-background-critical:208,38,38;--rs-color-rgb-background-critical-faded:62,31,31;--rs-color-rgb-background-warning:241,197,18;--rs-color-rgb-background-warning-faded:44,39,31;--rs-color-rgb-background-positive:20,120,74;--rs-color-rgb-background-positive-faded:31,42,35;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:73,79,96;--rs-color-rgb-background-neutral-faded:34,40,53;--rs-color-rgb-background-disabled:30,33,42;--rs-color-rgb-background-disabled-faded:23,25,33;--rs-color-rgb-background-elevation-base:21,23,30;--rs-color-rgb-background-elevation-raised:25,27,35;--rs-color-rgb-background-elevation-overlay:28,31,40;--rs-color-rgb-background-page:15,17,22;--rs-color-rgb-background-page-faded:17,19,25}
1
+ [data-rs-theme=reshaped]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,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-extrabold:800;--rs-font-weight-black:900;--rs-font-size-title-1:6rem;--rs-line-height-title-1:6.25rem;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-1:normal;--rs-font-size-title-2:5rem;--rs-line-height-title-2:5.25rem;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-2:normal;--rs-font-size-title-3:4rem;--rs-line-height-title-3:4.25rem;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-3:normal;--rs-font-size-title-4:3.5rem;--rs-line-height-title-4:3.75rem;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-bold);--rs-letter-spacing-title-4:normal;--rs-font-size-title-5:3rem;--rs-line-height-title-5:3.25rem;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-bold);--rs-letter-spacing-title-5:normal;--rs-font-size-title-6:2.25rem;--rs-line-height-title-6:2.5rem;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-bold);--rs-letter-spacing-title-6:normal;--rs-font-size-featured-1:2rem;--rs-line-height-featured-1:2.5rem;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-letter-spacing-featured-1:normal;--rs-font-size-featured-2:1.5rem;--rs-line-height-featured-2:2rem;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-letter-spacing-featured-2:normal;--rs-font-size-featured-3:1.25rem;--rs-line-height-featured-3:1.75rem;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-letter-spacing-featured-3:normal;--rs-font-size-body-1:1.125rem;--rs-line-height-body-1:1.75rem;--rs-font-family-body-1:var(--rs-font-family-body);--rs-letter-spacing-body-1:normal;--rs-font-size-body-2:1rem;--rs-line-height-body-2:1.5rem;--rs-font-family-body-2:var(--rs-font-family-body);--rs-letter-spacing-body-2:normal;--rs-font-size-body-3:0.875rem;--rs-line-height-body-3:1.25rem;--rs-font-family-body-3:var(--rs-font-family-body);--rs-letter-spacing-body-3:normal;--rs-font-size-caption-1:0.75rem;--rs-line-height-caption-1:1rem;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-letter-spacing-caption-1:normal;--rs-font-size-caption-2:0.625rem;--rs-line-height-caption-2:0.75rem;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-letter-spacing-caption-2:normal;--rs-unit-base:4px;--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-radius-small:4px;--rs-radius-medium:8px;--rs-radius-large:12px;--rs-color-brand:#5a58f2;--rs-color-white:#fff;--rs-color-black:#000;--rs-color-on-background-primary:#fff;--rs-color-on-background-critical:#fff;--rs-color-on-background-warning:#000;--rs-color-on-background-positive:#fff;--rs-color-on-brand:#fff;--rs-color-rgb-white:255,255,255;--rs-color-rgb-black:0,0,0;--rs-duration-rapid:100ms;--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 1px 5px -4px rgba(0,0,0,.5),0px 4px 8px 0px rgba(0,0,0,.05);--rs-shadow-overlay:0px 5px 10px 0px rgba(0,0,0,.05),0px 15px 25px 0px rgba(0,0,0,.07);--rs-viewport-m-min:660;--rs-viewport-l-min:900;--rs-viewport-xl-min:1280}[data-rs-theme=reshaped][data-rs-color-mode=light]{--rs-color-background-primary:#5a58f2;--rs-color-background-primary-faded:#ecebfe;--rs-color-border-primary:#3b38ed;--rs-color-border-primary-faded:#dedcfb;--rs-color-foreground-primary:#4f4cf0;--rs-color-background-critical:#e22c2c;--rs-color-background-critical-faded:#fdeded;--rs-color-border-critical:#bf2424;--rs-color-border-critical-faded:#f3dad6;--rs-color-foreground-critical:#c42525;--rs-color-background-warning:#facc15;--rs-color-background-warning-faded:#fffae9;--rs-color-border-warning:#cfa90f;--rs-color-border-warning-faded:#ece2c4;--rs-color-foreground-warning:#7b6305;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#edfdf5;--rs-color-border-positive:#0c6e40;--rs-color-border-positive-faded:#d2eddb;--rs-color-foreground-positive:#0d7544;--rs-color-background-neutral:#dfe2ea;--rs-color-background-neutral-faded:#f3f3f5;--rs-color-border-neutral:#0000001f;--rs-color-border-neutral-faded:#00000014;--rs-color-foreground-neutral:#14181f;--rs-color-foreground-neutral-faded:#5b667e;--rs-color-background-disabled:#eceef2;--rs-color-background-disabled-faded:#f5f6f9;--rs-color-border-disabled:#dfe2ea;--rs-color-foreground-disabled:#c6ccda;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-background-page:#fff;--rs-color-background-page-faded:#f9f9fb;--rs-color-rgb-background-primary:90,88,242;--rs-color-rgb-background-primary-faded:236,235,254;--rs-color-rgb-background-critical:226,44,44;--rs-color-rgb-background-critical-faded:253,237,237;--rs-color-rgb-background-warning:250,204,21;--rs-color-rgb-background-warning-faded:255,250,233;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:237,253,245;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:223,226,234;--rs-color-rgb-background-neutral-faded:243,243,245;--rs-color-rgb-background-disabled:236,238,242;--rs-color-rgb-background-disabled-faded:245,246,249;--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;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:249,249,251}[data-rs-theme=reshaped][data-rs-color-mode=dark]{--rs-color-background-primary:#524fea;--rs-color-background-primary-faded:#252544;--rs-color-border-primary:#8c8bf3;--rs-color-border-primary-faded:#323164;--rs-color-foreground-primary:#8b8af7;--rs-color-background-critical:#d02626;--rs-color-background-critical-faded:#3e1f1f;--rs-color-border-critical:#f46969;--rs-color-border-critical-faded:#5a2e29;--rs-color-foreground-critical:#f36a6a;--rs-color-background-warning:#f1c512;--rs-color-background-warning-faded:#2c271f;--rs-color-border-warning:#b4920a;--rs-color-border-warning-faded:#453c1e;--rs-color-foreground-warning:#b4920c;--rs-color-background-positive:#14784a;--rs-color-background-positive-faded:#1f2a23;--rs-color-border-positive:#21ab6b;--rs-color-border-positive-faded:#264431;--rs-color-foreground-positive:#18ab66;--rs-color-background-neutral:#494f60;--rs-color-background-neutral-faded:#222835;--rs-color-border-neutral:#ffffff24;--rs-color-border-neutral-faded:#ffffff14;--rs-color-foreground-neutral:#eff1f5;--rs-color-foreground-neutral-faded:#c0c6d6;--rs-color-background-disabled:#1e212a;--rs-color-background-disabled-faded:#171921;--rs-color-border-disabled:#262a34;--rs-color-foreground-disabled:#434959;--rs-color-background-elevation-base:#15171e;--rs-color-background-elevation-raised:#191b23;--rs-color-background-elevation-overlay:#1c1f28;--rs-color-background-page:#0f1116;--rs-color-background-page-faded:#111319;--rs-color-rgb-background-primary:82,79,234;--rs-color-rgb-background-primary-faded:37,37,68;--rs-color-rgb-background-critical:208,38,38;--rs-color-rgb-background-critical-faded:62,31,31;--rs-color-rgb-background-warning:241,197,18;--rs-color-rgb-background-warning-faded:44,39,31;--rs-color-rgb-background-positive:20,120,74;--rs-color-rgb-background-positive-faded:31,42,35;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:73,79,96;--rs-color-rgb-background-neutral-faded:34,40,53;--rs-color-rgb-background-disabled:30,33,42;--rs-color-rgb-background-disabled-faded:23,25,33;--rs-color-rgb-background-elevation-base:21,23,30;--rs-color-rgb-background-elevation-raised:25,27,35;--rs-color-rgb-background-elevation-overlay:28,31,40;--rs-color-rgb-background-page:15,17,22;--rs-color-rgb-background-page-faded:17,19,25}
@@ -1 +1 @@
1
- [data-rs-theme=slate]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,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-extrabold:800;--rs-font-weight-black:900;--rs-font-size-title-1:6rem;--rs-line-height-title-1:6.25rem;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-1:normal;--rs-font-size-title-2:5rem;--rs-line-height-title-2:5.25rem;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-2:normal;--rs-font-size-title-3:4rem;--rs-line-height-title-3:4.25rem;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-3:normal;--rs-font-size-title-4:3.5rem;--rs-line-height-title-4:3.75rem;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-bold);--rs-letter-spacing-title-4:normal;--rs-font-size-title-5:3rem;--rs-line-height-title-5:3.25rem;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-bold);--rs-letter-spacing-title-5:normal;--rs-font-size-title-6:2.25rem;--rs-line-height-title-6:2.5rem;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-bold);--rs-letter-spacing-title-6:normal;--rs-font-size-featured-1:2rem;--rs-line-height-featured-1:2.5rem;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-letter-spacing-featured-1:normal;--rs-font-size-featured-2:1.5rem;--rs-line-height-featured-2:2rem;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-letter-spacing-featured-2:normal;--rs-font-size-featured-3:1.25rem;--rs-line-height-featured-3:1.75rem;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-letter-spacing-featured-3:normal;--rs-font-size-body-1:1.125rem;--rs-line-height-body-1:1.75rem;--rs-font-family-body-1:var(--rs-font-family-body);--rs-letter-spacing-body-1:normal;--rs-font-size-body-2:1rem;--rs-line-height-body-2:1.5rem;--rs-font-family-body-2:var(--rs-font-family-body);--rs-letter-spacing-body-2:normal;--rs-font-size-body-3:0.875rem;--rs-line-height-body-3:1.25rem;--rs-font-family-body-3:var(--rs-font-family-body);--rs-letter-spacing-body-3:normal;--rs-font-size-caption-1:0.75rem;--rs-line-height-caption-1:1rem;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-letter-spacing-caption-1:normal;--rs-font-size-caption-2:0.625rem;--rs-line-height-caption-2:0.75rem;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-letter-spacing-caption-2:normal;--rs-unit-base:4px;--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-radius-small:4px;--rs-radius-medium:8px;--rs-radius-large:12px;--rs-color-brand:#2563eb;--rs-color-white:#fff;--rs-color-black:#000;--rs-color-on-background-primary:#fff;--rs-color-on-background-critical:#fff;--rs-color-on-background-warning:#000;--rs-color-on-background-positive:#fff;--rs-color-on-brand:#fff;--rs-color-rgb-white:255,255,255;--rs-color-rgb-black:0,0,0;--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 1px 5px -4px rgba(0,0,0,.5),0px 4px 8px 0px rgba(0,0,0,.05);--rs-shadow-overlay:0px 5px 10px 0px rgba(0,0,0,.05),0px 15px 25px 0px rgba(0,0,0,.07);--rs-viewport-m-min:660;--rs-viewport-l-min:900;--rs-viewport-xl-min:1280}[data-rs-theme=slate][data-rs-color-mode=light]{--rs-color-background-primary:#2563eb;--rs-color-background-primary-faded:#e8f0ff;--rs-color-border-primary:#1e5ce5;--rs-color-border-primary-faded:#d7e2f6;--rs-color-foreground-primary:#1e5ce5;--rs-color-background-critical:#e22c2c;--rs-color-background-critical-faded:#fff1ef;--rs-color-border-critical:#c22022;--rs-color-border-critical-faded:#f6e1de;--rs-color-foreground-critical:#c22022;--rs-color-background-warning:#facc15;--rs-color-background-warning-faded:#fff6dd;--rs-color-border-warning:#816802;--rs-color-border-warning-faded:#f0e8d0;--rs-color-foreground-warning:#816802;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#ebfff1;--rs-color-border-positive:#0f7f4a;--rs-color-border-positive-faded:#dcf1e2;--rs-color-foreground-positive:#0f7f4a;--rs-color-background-neutral:#e3e4e8;--rs-color-background-neutral-faded:#f3f3f5;--rs-color-border-neutral:#0000001f;--rs-color-border-neutral-faded:#0000000f;--rs-color-foreground-neutral:#2c2e34;--rs-color-foreground-neutral-faded:#676a75;--rs-color-background-disabled:#edeeef;--rs-color-background-disabled-faded:#f6f6f7;--rs-color-border-disabled:#e2e2e4;--rs-color-foreground-disabled:#cbcccf;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-background-page:#fff;--rs-color-background-page-faded:#fafbfb;--rs-color-rgb-background-primary:37,99,235;--rs-color-rgb-background-primary-faded:232,240,255;--rs-color-rgb-background-critical:226,44,44;--rs-color-rgb-background-critical-faded:255,241,239;--rs-color-rgb-background-warning:250,204,21;--rs-color-rgb-background-warning-faded:255,246,221;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:235,255,241;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:227,228,232;--rs-color-rgb-background-neutral-faded:243,243,245;--rs-color-rgb-background-disabled:237,238,239;--rs-color-rgb-background-disabled-faded:246,246,247;--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;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:250,251,251}[data-rs-theme=slate][data-rs-color-mode=dark]{--rs-color-background-primary:#2563eb;--rs-color-background-primary-faded:#17243d;--rs-color-border-primary:#7199e5;--rs-color-border-primary-faded:#253759;--rs-color-foreground-primary:#7199e5;--rs-color-background-critical:#d72828;--rs-color-background-critical-faded:#391b18;--rs-color-border-critical:#e68075;--rs-color-border-critical-faded:#532a26;--rs-color-foreground-critical:#e68075;--rs-color-background-warning:#d7ae06;--rs-color-background-warning-faded:#2b2410;--rs-color-border-warning:#eed58a;--rs-color-border-warning-faded:#40371b;--rs-color-foreground-warning:#eed58a;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#152a1d;--rs-color-border-positive:#57b17c;--rs-color-border-positive-faded:#223f2d;--rs-color-foreground-positive:#57b17c;--rs-color-background-neutral:#393a42;--rs-color-background-neutral-faded:#212227;--rs-color-border-neutral:#ffffff24;--rs-color-border-neutral-faded:#ffffff17;--rs-color-foreground-neutral:#f3f3f5;--rs-color-foreground-neutral-faded:#c7c9d1;--rs-color-background-disabled:#242527;--rs-color-background-disabled-faded:#1b1b1d;--rs-color-border-disabled:#262729;--rs-color-foreground-disabled:#494a4e;--rs-color-background-elevation-base:#161617;--rs-color-background-elevation-raised:#18191a;--rs-color-background-elevation-overlay:#1d1d1f;--rs-color-background-page:#0e0e0f;--rs-color-background-page-faded:#131414;--rs-color-rgb-background-primary:37,99,235;--rs-color-rgb-background-primary-faded:23,36,61;--rs-color-rgb-background-critical:215,40,40;--rs-color-rgb-background-critical-faded:57,27,24;--rs-color-rgb-background-warning:215,174,6;--rs-color-rgb-background-warning-faded:43,36,16;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:21,42,29;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:57,58,66;--rs-color-rgb-background-neutral-faded:33,34,39;--rs-color-rgb-background-disabled:36,37,39;--rs-color-rgb-background-disabled-faded:27,27,29;--rs-color-rgb-background-elevation-base:22,22,23;--rs-color-rgb-background-elevation-raised:24,25,26;--rs-color-rgb-background-elevation-overlay:29,29,31;--rs-color-rgb-background-page:14,14,15;--rs-color-rgb-background-page-faded:19,20,20}
1
+ [data-rs-theme=slate]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,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-extrabold:800;--rs-font-weight-black:900;--rs-font-size-title-1:6rem;--rs-line-height-title-1:6.25rem;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-1:normal;--rs-font-size-title-2:5rem;--rs-line-height-title-2:5.25rem;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-2:normal;--rs-font-size-title-3:4rem;--rs-line-height-title-3:4.25rem;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-extrabold);--rs-letter-spacing-title-3:normal;--rs-font-size-title-4:3.5rem;--rs-line-height-title-4:3.75rem;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-bold);--rs-letter-spacing-title-4:normal;--rs-font-size-title-5:3rem;--rs-line-height-title-5:3.25rem;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-bold);--rs-letter-spacing-title-5:normal;--rs-font-size-title-6:2.25rem;--rs-line-height-title-6:2.5rem;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-bold);--rs-letter-spacing-title-6:normal;--rs-font-size-featured-1:2rem;--rs-line-height-featured-1:2.5rem;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-letter-spacing-featured-1:normal;--rs-font-size-featured-2:1.5rem;--rs-line-height-featured-2:2rem;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-letter-spacing-featured-2:normal;--rs-font-size-featured-3:1.25rem;--rs-line-height-featured-3:1.75rem;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-letter-spacing-featured-3:normal;--rs-font-size-body-1:1.125rem;--rs-line-height-body-1:1.75rem;--rs-font-family-body-1:var(--rs-font-family-body);--rs-letter-spacing-body-1:normal;--rs-font-size-body-2:1rem;--rs-line-height-body-2:1.5rem;--rs-font-family-body-2:var(--rs-font-family-body);--rs-letter-spacing-body-2:normal;--rs-font-size-body-3:0.875rem;--rs-line-height-body-3:1.25rem;--rs-font-family-body-3:var(--rs-font-family-body);--rs-letter-spacing-body-3:normal;--rs-font-size-caption-1:0.75rem;--rs-line-height-caption-1:1rem;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-letter-spacing-caption-1:normal;--rs-font-size-caption-2:0.625rem;--rs-line-height-caption-2:0.75rem;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-letter-spacing-caption-2:normal;--rs-unit-base:4px;--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-radius-small:4px;--rs-radius-medium:8px;--rs-radius-large:12px;--rs-color-brand:#2563eb;--rs-color-white:#fff;--rs-color-black:#000;--rs-color-on-background-primary:#fff;--rs-color-on-background-critical:#fff;--rs-color-on-background-warning:#000;--rs-color-on-background-positive:#fff;--rs-color-on-brand:#fff;--rs-color-rgb-white:255,255,255;--rs-color-rgb-black:0,0,0;--rs-duration-rapid:100ms;--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 1px 5px -4px rgba(0,0,0,.5),0px 4px 8px 0px rgba(0,0,0,.05);--rs-shadow-overlay:0px 5px 10px 0px rgba(0,0,0,.05),0px 15px 25px 0px rgba(0,0,0,.07);--rs-viewport-m-min:660;--rs-viewport-l-min:900;--rs-viewport-xl-min:1280}[data-rs-theme=slate][data-rs-color-mode=light]{--rs-color-background-primary:#2563eb;--rs-color-background-primary-faded:#e8f0ff;--rs-color-border-primary:#1e5ce5;--rs-color-border-primary-faded:#d0ddf4;--rs-color-foreground-primary:#1e5ce5;--rs-color-background-critical:#e22c2c;--rs-color-background-critical-faded:#fff1ef;--rs-color-border-critical:#c22022;--rs-color-border-critical-faded:#f3dad6;--rs-color-foreground-critical:#c22022;--rs-color-background-warning:#facc15;--rs-color-background-warning-faded:#fff6dd;--rs-color-border-warning:#816802;--rs-color-border-warning-faded:#ece2c4;--rs-color-foreground-warning:#816802;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#ebfff1;--rs-color-border-positive:#0f7f4a;--rs-color-border-positive-faded:#d2eddb;--rs-color-foreground-positive:#0f7f4a;--rs-color-background-neutral:#e3e4e8;--rs-color-background-neutral-faded:#f3f3f5;--rs-color-border-neutral:#0000001f;--rs-color-border-neutral-faded:#00000014;--rs-color-foreground-neutral:#2c2e34;--rs-color-foreground-neutral-faded:#676a75;--rs-color-background-disabled:#edeeef;--rs-color-background-disabled-faded:#f6f6f7;--rs-color-border-disabled:#e2e2e4;--rs-color-foreground-disabled:#cbcccf;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-background-page:#fff;--rs-color-background-page-faded:#fafbfb;--rs-color-rgb-background-primary:37,99,235;--rs-color-rgb-background-primary-faded:232,240,255;--rs-color-rgb-background-critical:226,44,44;--rs-color-rgb-background-critical-faded:255,241,239;--rs-color-rgb-background-warning:250,204,21;--rs-color-rgb-background-warning-faded:255,246,221;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:235,255,241;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:227,228,232;--rs-color-rgb-background-neutral-faded:243,243,245;--rs-color-rgb-background-disabled:237,238,239;--rs-color-rgb-background-disabled-faded:246,246,247;--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;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:250,251,251}[data-rs-theme=slate][data-rs-color-mode=dark]{--rs-color-background-primary:#2563eb;--rs-color-background-primary-faded:#17243d;--rs-color-border-primary:#7199e5;--rs-color-border-primary-faded:#293b60;--rs-color-foreground-primary:#7199e5;--rs-color-background-critical:#d72828;--rs-color-background-critical-faded:#391b18;--rs-color-border-critical:#e68075;--rs-color-border-critical-faded:#5a2e29;--rs-color-foreground-critical:#e68075;--rs-color-background-warning:#d7ae06;--rs-color-background-warning-faded:#2b2410;--rs-color-border-warning:#eed58a;--rs-color-border-warning-faded:#453c1e;--rs-color-foreground-warning:#eed58a;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#152a1d;--rs-color-border-positive:#57b17c;--rs-color-border-positive-faded:#264431;--rs-color-foreground-positive:#57b17c;--rs-color-background-neutral:#393a42;--rs-color-background-neutral-faded:#212227;--rs-color-border-neutral:#ffffff24;--rs-color-border-neutral-faded:#ffffff14;--rs-color-foreground-neutral:#f3f3f5;--rs-color-foreground-neutral-faded:#c7c9d1;--rs-color-background-disabled:#242527;--rs-color-background-disabled-faded:#1b1b1d;--rs-color-border-disabled:#262729;--rs-color-foreground-disabled:#494a4e;--rs-color-background-elevation-base:#161617;--rs-color-background-elevation-raised:#18191a;--rs-color-background-elevation-overlay:#1d1d1f;--rs-color-background-page:#0e0e0f;--rs-color-background-page-faded:#131414;--rs-color-rgb-background-primary:37,99,235;--rs-color-rgb-background-primary-faded:23,36,61;--rs-color-rgb-background-critical:215,40,40;--rs-color-rgb-background-critical-faded:57,27,24;--rs-color-rgb-background-warning:215,174,6;--rs-color-rgb-background-warning-faded:43,36,16;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:21,42,29;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:57,58,66;--rs-color-rgb-background-neutral-faded:33,34,39;--rs-color-rgb-background-disabled:36,37,39;--rs-color-rgb-background-disabled-faded:27,27,29;--rs-color-rgb-background-elevation-base:22,22,23;--rs-color-rgb-background-elevation-raised:24,25,26;--rs-color-rgb-background-elevation-overlay:29,29,31;--rs-color-rgb-background-page:14,14,15;--rs-color-rgb-background-page-faded:19,20,20}
@@ -12,6 +12,10 @@ export type ResponsiveOnly<T> = {
12
12
  [key in Viewport]?: T;
13
13
  };
14
14
  export type Responsive<T> = T | ResponsiveOnly<T>;
15
+ export type Coordinates = {
16
+ x: number;
17
+ y: number;
18
+ };
15
19
  /**
16
20
  * Form handlers
17
21
  */
@@ -21,6 +21,7 @@ class TrapFocus {
21
21
  * Handle keyboard navigation while focus is trapped
22
22
  */
23
23
  handleKeyDown = (event) => {
24
+ // if (event.defaultPrevented) return;
24
25
  if (TrapFocus.chain.tailId !== this.chainId)
25
26
  return;
26
27
  const { mode, onNavigateOutside, pseudoFocus, includeTrigger } = this.options;
@@ -1,5 +1,5 @@
1
1
  import type { FocusableElement } from "./types";
2
- export declare const focusableSelector = "a,button,input:not([type=\"hidden\"]),textarea,select,details,[tabindex]:not([tabindex=\"-1\"])";
2
+ export declare const focusableSelector = "a,button,input:not([type=\"hidden\"]),textarea,select,details,[tabindex],[contenteditable]";
3
3
  export declare const getActiveElement: (originEl?: HTMLElement | null) => HTMLButtonElement;
4
4
  export declare const focusElement: (el: FocusableElement, options?: {
5
5
  pseudoFocus?: boolean;
@@ -1,6 +1,6 @@
1
1
  import { getShadowRoot } from "../dom/index.js";
2
2
  const pseudoFocusAttribute = "data-rs-focus";
3
- export const focusableSelector = 'a,button,input:not([type="hidden"]),textarea,select,details,[tabindex]:not([tabindex="-1"])';
3
+ export const focusableSelector = 'a,button,input:not([type="hidden"]),textarea,select,details,[tabindex],[contenteditable]';
4
4
  export const getActiveElement = (originEl) => {
5
5
  const shadowRoot = originEl ? getShadowRoot(originEl) : null;
6
6
  const rootEl = shadowRoot ?? document;
@@ -25,6 +25,9 @@ export const getFocusableElements = (rootEl, options) => {
25
25
  return false;
26
26
  if (el.clientHeight === 0)
27
27
  return false;
28
+ // Using getAttribute here since browser sets el.tabIndex to -1 by default
29
+ if (el.getAttribute("tabindex") === "-1")
30
+ return false;
28
31
  if (el.type === "radio") {
29
32
  let sameNameRadioEls;
30
33
  if (el.form) {
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ declare const _default: {
3
+ title: string;
4
+ };
5
+ export default _default;
6
+ export declare const base: () => React.JSX.Element;
@@ -0,0 +1,59 @@
1
+ import React from "react";
2
+ import { Example } from "../../storybook/index.js";
3
+ import TrapFocus from "../TrapFocus.js";
4
+ import Button from "../../../components/Button/index.js";
5
+ import useToggle from "../../../hooks/useToggle.js";
6
+ import View from "../../../components/View/index.js";
7
+ import TextField from "../../../components/TextField/index.js";
8
+ import RadioGroup from "../../../components/RadioGroup/index.js";
9
+ import Radio from "../../../components/Radio/index.js";
10
+ import * as keys from "../../../constants/keys.js";
11
+ export default {
12
+ title: "Internal/TrapFocus",
13
+ };
14
+ const Editor = () => {
15
+ const pressedCountRef = React.useRef(1);
16
+ const handleKeyDown = (e) => {
17
+ if (e.key !== keys.TAB)
18
+ return;
19
+ if (pressedCountRef.current % 5)
20
+ e.preventDefault();
21
+ pressedCountRef.current += 1;
22
+ };
23
+ return (<View backgroundColor="neutral-faded" borderColor="neutral-faded" borderRadius="medium" padding={4} attributes={{ contentEditable: true, onKeyDown: handleKeyDown }}/>);
24
+ };
25
+ const Demo = () => {
26
+ const rootRef = React.useRef(null);
27
+ const trapToggle = useToggle();
28
+ React.useEffect(() => {
29
+ if (!trapToggle.active)
30
+ return;
31
+ if (!rootRef.current)
32
+ return;
33
+ const trapFocus = new TrapFocus(rootRef.current);
34
+ trapFocus.trap();
35
+ return () => trapFocus.release();
36
+ }, [trapToggle.active]);
37
+ return (<View gap={4}>
38
+ <Button onClick={trapToggle.activate}>Activate</Button>
39
+ {trapToggle.active && (<View backgroundColor="neutral-faded" borderRadius="medium" padding={4} gap={4} attributes={{ ref: rootRef }}>
40
+ <Button onClick={() => { }}>Button</Button>
41
+ <Button href="#">Link</Button>
42
+ <TextField name="input" placeholder="Input"/>
43
+ <RadioGroup name="radio">
44
+ <Radio value="1">Option 1</Radio>
45
+ <Radio value="2">Option 1</Radio>
46
+ </RadioGroup>
47
+ <Editor />
48
+ <Button onClick={trapToggle.deactivate} attributes={{ tabIndex: -1 }}>
49
+ Excluded
50
+ </Button>
51
+ <Button onClick={trapToggle.deactivate}>Deactivate</Button>
52
+ </View>)}
53
+ </View>);
54
+ };
55
+ export const base = () => (<Example>
56
+ <Example.Item title="Default">
57
+ <Demo />
58
+ </Example.Item>
59
+ </Example>);
@@ -1 +1,10 @@
1
1
  export declare const findParent: (element: HTMLElement, condition: (el: HTMLElement) => boolean) => HTMLElement | null;
2
+ /**
3
+ * Containers used for scoping the rendering,
4
+ * mostly used in flyouts since the have to accommodate for positioning and overflow
5
+ */
6
+ export declare const findClosestRenderContainer: (args: {
7
+ el: HTMLElement | null;
8
+ iteration?: number;
9
+ overflowOnly?: boolean;
10
+ }) => HTMLElement;
@@ -1,3 +1,4 @@
1
+ import { getShadowRoot } from "./shadowDom.js";
1
2
  export const findParent = (element, condition) => {
2
3
  let currentElement = element.parentElement;
3
4
  while (currentElement) {
@@ -7,3 +8,28 @@ export const findParent = (element, condition) => {
7
8
  }
8
9
  return null;
9
10
  };
11
+ /**
12
+ * Containers used for scoping the rendering,
13
+ * mostly used in flyouts since the have to accommodate for positioning and overflow
14
+ */
15
+ export const findClosestRenderContainer = (args) => {
16
+ const { el, iteration = 0, overflowOnly } = args;
17
+ const style = el && window.getComputedStyle(el);
18
+ const overflowY = style?.overflowY;
19
+ const position = style?.position;
20
+ const isScrollable = overflowY?.includes("scroll") || overflowY?.includes("auto");
21
+ const isFixed = position === "fixed" || position === "sticky";
22
+ // Only check shadow root on the first run
23
+ if (iteration === 0) {
24
+ const shadowRoot = getShadowRoot(el);
25
+ if (shadowRoot?.firstElementChild)
26
+ return shadowRoot.firstElementChild;
27
+ }
28
+ if (el === document.body || !el)
29
+ return document.body;
30
+ if (isScrollable && el.scrollHeight > el.clientHeight)
31
+ return el;
32
+ if (isFixed && !overflowOnly)
33
+ return el;
34
+ return findClosestRenderContainer({ el: el.parentElement, iteration: iteration + 1 });
35
+ };
@@ -1 +1,2 @@
1
- export declare const getClosestFlyoutTarget: (el: HTMLElement | null, iteration?: number) => HTMLElement;
1
+ import type * as G from "../../types/global";
2
+ export declare const getRectFromCoordinates: (coordinates: DOMRect | G.Coordinates) => DOMRect;
@@ -1,19 +1,14 @@
1
- import { getShadowRoot } from "./shadowDom.js";
2
- export const getClosestFlyoutTarget = (el, iteration = 0) => {
3
- const style = el && window.getComputedStyle(el);
4
- const overflowY = style?.overflowY;
5
- const position = style?.position;
6
- const isScrollable = overflowY?.includes("scroll");
7
- const isFixed = position === "fixed" || position === "sticky";
8
- // Only check shadow root on the first run
9
- if (iteration === 0) {
10
- const shadowRoot = getShadowRoot(el);
11
- if (shadowRoot?.firstElementChild)
12
- return shadowRoot.firstElementChild;
13
- }
14
- if (el === document.body || !el)
15
- return document.body;
16
- if ((isScrollable && el.scrollHeight > el.clientHeight) || isFixed)
17
- return el;
18
- return getClosestFlyoutTarget(el.parentElement, iteration + 1);
1
+ export const getRectFromCoordinates = (coordinates) => {
2
+ if ("width" in coordinates && coordinates.width !== undefined)
3
+ return coordinates;
4
+ return {
5
+ ...coordinates,
6
+ width: 0,
7
+ height: 0,
8
+ left: coordinates.x,
9
+ right: coordinates.x,
10
+ top: coordinates.y,
11
+ bottom: coordinates.y,
12
+ toJSON: () => { },
13
+ };
19
14
  };
@@ -1,4 +1,4 @@
1
- export { getClosestFlyoutTarget } from "./flyout";
1
+ export { getRectFromCoordinates } from "./flyout";
2
2
  export { getShadowRoot } from "./shadowDom";
3
3
  export { enableUserSelect, disableUserSelect } from "./userSelect";
4
- export { findParent } from "./find";
4
+ export { findParent, findClosestRenderContainer } from "./find";