@clickhouse/click-ui 0.6.2-rc3 → 0.7.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 (212) hide show
  1. package/dist/cjs/click-ui.css +1872 -59
  2. package/dist/cjs/components/Alert/index.cjs +2 -2
  3. package/dist/cjs/components/Alert/index.cjs.map +1 -1
  4. package/dist/cjs/components/Assets/Logos/Polaris.cjs +22 -0
  5. package/dist/cjs/components/Assets/Logos/Polaris.cjs.map +1 -0
  6. package/dist/cjs/components/Assets/Logos/system/LogosDark.cjs +2 -0
  7. package/dist/cjs/components/Assets/Logos/system/LogosDark.cjs.map +1 -1
  8. package/dist/cjs/components/Assets/Logos/system/LogosLight.cjs +2 -0
  9. package/dist/cjs/components/Assets/Logos/system/LogosLight.cjs.map +1 -1
  10. package/dist/cjs/components/BigStat/BigStat.css +77 -0
  11. package/dist/cjs/components/BigStat/BigStat.module.css.cjs +22 -0
  12. package/dist/cjs/components/BigStat/BigStat.module.css.cjs.map +1 -0
  13. package/dist/cjs/components/BigStat/index.cjs +60 -52
  14. package/dist/cjs/components/BigStat/index.cjs.map +1 -1
  15. package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
  16. package/dist/cjs/components/ButtonGroup/index.cjs.map +1 -1
  17. package/dist/cjs/components/CardPromotion/index.cjs +1 -1
  18. package/dist/cjs/components/CardPromotion/index.cjs.map +1 -1
  19. package/dist/cjs/components/CardSecondary/CardSecondary.css +99 -0
  20. package/dist/cjs/components/CardSecondary/CardSecondary.module.css.cjs +39 -0
  21. package/dist/cjs/components/CardSecondary/CardSecondary.module.css.cjs.map +1 -0
  22. package/dist/cjs/components/CardSecondary/index.cjs +35 -84
  23. package/dist/cjs/components/CardSecondary/index.cjs.map +1 -1
  24. package/dist/cjs/components/ConfirmationDialog/ConfirmationDialog.css +20 -0
  25. package/dist/cjs/components/ConfirmationDialog/ConfirmationDialog.module.css.cjs +15 -0
  26. package/dist/cjs/components/ConfirmationDialog/ConfirmationDialog.module.css.cjs.map +1 -0
  27. package/dist/cjs/components/ConfirmationDialog/index.cjs +6 -11
  28. package/dist/cjs/components/ConfirmationDialog/index.cjs.map +1 -1
  29. package/dist/cjs/components/ContextMenu/ContextMenu.css +28 -0
  30. package/dist/cjs/components/ContextMenu/ContextMenu.module.css.cjs +10 -0
  31. package/dist/cjs/components/ContextMenu/ContextMenu.module.css.cjs.map +1 -0
  32. package/dist/cjs/components/ContextMenu/index.cjs +27 -29
  33. package/dist/cjs/components/ContextMenu/index.cjs.map +1 -1
  34. package/dist/cjs/components/CrossButton/index.cjs +5 -1
  35. package/dist/cjs/components/CrossButton/index.cjs.map +1 -1
  36. package/dist/cjs/components/DatePicker/Common.cjs +1 -1
  37. package/dist/cjs/components/DatePicker/Common.cjs.map +1 -1
  38. package/dist/cjs/components/Dropdown/Dropdown.css +13 -0
  39. package/dist/cjs/components/Dropdown/Dropdown.module.css.cjs +11 -0
  40. package/dist/cjs/components/Dropdown/Dropdown.module.css.cjs.map +1 -0
  41. package/dist/cjs/components/Dropdown/index.cjs +19 -13
  42. package/dist/cjs/components/Dropdown/index.cjs.map +1 -1
  43. package/dist/cjs/components/FileTabs/index.cjs +1 -1
  44. package/dist/cjs/components/FileTabs/index.cjs.map +1 -1
  45. package/dist/cjs/components/Flyout/Flyout.css +231 -0
  46. package/dist/cjs/components/Flyout/Flyout.module.css.cjs +93 -0
  47. package/dist/cjs/components/Flyout/Flyout.module.css.cjs.map +1 -0
  48. package/dist/cjs/components/Flyout/index.cjs +148 -126
  49. package/dist/cjs/components/Flyout/index.cjs.map +1 -1
  50. package/dist/cjs/components/GenericMenu/GenericMenu.css +176 -0
  51. package/dist/cjs/components/GenericMenu/GenericMenu.module.css.cjs +23 -0
  52. package/dist/cjs/components/GenericMenu/GenericMenu.module.css.cjs.map +1 -0
  53. package/dist/cjs/components/GenericMenu/index.cjs +93 -99
  54. package/dist/cjs/components/GenericMenu/index.cjs.map +1 -1
  55. package/dist/cjs/components/HoverCard/index.cjs +1 -1
  56. package/dist/cjs/components/HoverCard/index.cjs.map +1 -1
  57. package/dist/cjs/components/IconButton/index.cjs +2 -1
  58. package/dist/cjs/components/IconButton/index.cjs.map +1 -1
  59. package/dist/cjs/components/InputWrapper/InputWrapper.css +221 -0
  60. package/dist/cjs/components/InputWrapper/InputWrapper.module.css.cjs +39 -0
  61. package/dist/cjs/components/InputWrapper/InputWrapper.module.css.cjs.map +1 -0
  62. package/dist/cjs/components/InputWrapper/index.cjs +84 -185
  63. package/dist/cjs/components/InputWrapper/index.cjs.map +1 -1
  64. package/dist/cjs/components/Popover/Popover.css +12 -0
  65. package/dist/cjs/components/Popover/Popover.module.css.cjs +11 -0
  66. package/dist/cjs/components/Popover/Popover.module.css.cjs.map +1 -0
  67. package/dist/cjs/components/Popover/index.cjs +26 -19
  68. package/dist/cjs/components/Popover/index.cjs.map +1 -1
  69. package/dist/cjs/components/RadioGroup/RadioGroup.css +99 -0
  70. package/dist/cjs/components/RadioGroup/RadioGroup.module.css.cjs +18 -0
  71. package/dist/cjs/components/RadioGroup/RadioGroup.module.css.cjs.map +1 -0
  72. package/dist/cjs/components/RadioGroup/index.cjs +28 -77
  73. package/dist/cjs/components/RadioGroup/index.cjs.map +1 -1
  74. package/dist/cjs/components/Select/common/InternalSelect.cjs +1 -1
  75. package/dist/cjs/components/Select/common/InternalSelect.cjs.map +1 -1
  76. package/dist/cjs/components/SplitButton/index.cjs +2 -1
  77. package/dist/cjs/components/SplitButton/index.cjs.map +1 -1
  78. package/dist/cjs/components/Table/Table.css +376 -0
  79. package/dist/cjs/components/Table/Table.module.css.cjs +86 -0
  80. package/dist/cjs/components/Table/Table.module.css.cjs.map +1 -0
  81. package/dist/cjs/components/Table/index.cjs +132 -214
  82. package/dist/cjs/components/Table/index.cjs.map +1 -1
  83. package/dist/cjs/components/Toast/Toast.css +142 -0
  84. package/dist/cjs/components/Toast/Toast.module.css.cjs +38 -0
  85. package/dist/cjs/components/Toast/Toast.module.css.cjs.map +1 -0
  86. package/dist/cjs/components/Toast/index.cjs +43 -96
  87. package/dist/cjs/components/Toast/index.cjs.map +1 -1
  88. package/dist/cjs/components/Tooltip/Tooltip.css +17 -0
  89. package/dist/cjs/components/Tooltip/Tooltip.module.css.cjs +15 -0
  90. package/dist/cjs/components/Tooltip/Tooltip.module.css.cjs.map +1 -0
  91. package/dist/cjs/components/Tooltip/index.cjs +12 -24
  92. package/dist/cjs/components/Tooltip/index.cjs.map +1 -1
  93. package/dist/cjs/components/VerticalStepper/VerticalStepper.css +302 -0
  94. package/dist/cjs/components/VerticalStepper/VerticalStepper.module.css.cjs +84 -0
  95. package/dist/cjs/components/VerticalStepper/VerticalStepper.module.css.cjs.map +1 -0
  96. package/dist/cjs/components/VerticalStepper/index.cjs +85 -110
  97. package/dist/cjs/components/VerticalStepper/index.cjs.map +1 -1
  98. package/dist/esm/click-ui.css +1872 -59
  99. package/dist/esm/components/Alert/index.js +2 -2
  100. package/dist/esm/components/Alert/index.js.map +1 -1
  101. package/dist/esm/components/Assets/Logos/Polaris.js +18 -0
  102. package/dist/esm/components/Assets/Logos/Polaris.js.map +1 -0
  103. package/dist/esm/components/Assets/Logos/system/LogosDark.js +2 -0
  104. package/dist/esm/components/Assets/Logos/system/LogosDark.js.map +1 -1
  105. package/dist/esm/components/Assets/Logos/system/LogosLight.js +2 -0
  106. package/dist/esm/components/Assets/Logos/system/LogosLight.js.map +1 -1
  107. package/dist/esm/components/BigStat/BigStat.css +77 -0
  108. package/dist/esm/components/BigStat/BigStat.module.css.js +18 -0
  109. package/dist/esm/components/BigStat/BigStat.module.css.js.map +1 -0
  110. package/dist/esm/components/BigStat/index.js +60 -52
  111. package/dist/esm/components/BigStat/index.js.map +1 -1
  112. package/dist/esm/components/ButtonGroup/index.js +1 -1
  113. package/dist/esm/components/ButtonGroup/index.js.map +1 -1
  114. package/dist/esm/components/CardPromotion/index.js +1 -1
  115. package/dist/esm/components/CardPromotion/index.js.map +1 -1
  116. package/dist/esm/components/CardSecondary/CardSecondary.css +99 -0
  117. package/dist/esm/components/CardSecondary/CardSecondary.module.css.js +25 -0
  118. package/dist/esm/components/CardSecondary/CardSecondary.module.css.js.map +1 -0
  119. package/dist/esm/components/CardSecondary/index.js +35 -84
  120. package/dist/esm/components/CardSecondary/index.js.map +1 -1
  121. package/dist/esm/components/ConfirmationDialog/ConfirmationDialog.css +20 -0
  122. package/dist/esm/components/ConfirmationDialog/ConfirmationDialog.module.css.js +9 -0
  123. package/dist/esm/components/ConfirmationDialog/ConfirmationDialog.module.css.js.map +1 -0
  124. package/dist/esm/components/ConfirmationDialog/index.js +6 -11
  125. package/dist/esm/components/ConfirmationDialog/index.js.map +1 -1
  126. package/dist/esm/components/ContextMenu/ContextMenu.css +28 -0
  127. package/dist/esm/components/ContextMenu/ContextMenu.module.css.js +6 -0
  128. package/dist/esm/components/ContextMenu/ContextMenu.module.css.js.map +1 -0
  129. package/dist/esm/components/ContextMenu/index.js +28 -30
  130. package/dist/esm/components/ContextMenu/index.js.map +1 -1
  131. package/dist/esm/components/CrossButton/index.js +5 -1
  132. package/dist/esm/components/CrossButton/index.js.map +1 -1
  133. package/dist/esm/components/DatePicker/Common.js +1 -1
  134. package/dist/esm/components/DatePicker/Common.js.map +1 -1
  135. package/dist/esm/components/Dropdown/Dropdown.css +13 -0
  136. package/dist/esm/components/Dropdown/Dropdown.module.css.js +7 -0
  137. package/dist/esm/components/Dropdown/Dropdown.module.css.js.map +1 -0
  138. package/dist/esm/components/Dropdown/index.js +19 -13
  139. package/dist/esm/components/Dropdown/index.js.map +1 -1
  140. package/dist/esm/components/FileTabs/index.js +1 -1
  141. package/dist/esm/components/FileTabs/index.js.map +1 -1
  142. package/dist/esm/components/Flyout/Flyout.css +231 -0
  143. package/dist/esm/components/Flyout/Flyout.module.css.js +62 -0
  144. package/dist/esm/components/Flyout/Flyout.module.css.js.map +1 -0
  145. package/dist/esm/components/Flyout/index.js +149 -127
  146. package/dist/esm/components/Flyout/index.js.map +1 -1
  147. package/dist/esm/components/GenericMenu/GenericMenu.css +176 -0
  148. package/dist/esm/components/GenericMenu/GenericMenu.module.css.js +18 -0
  149. package/dist/esm/components/GenericMenu/GenericMenu.module.css.js.map +1 -0
  150. package/dist/esm/components/GenericMenu/index.js +93 -99
  151. package/dist/esm/components/GenericMenu/index.js.map +1 -1
  152. package/dist/esm/components/HoverCard/index.js +1 -1
  153. package/dist/esm/components/HoverCard/index.js.map +1 -1
  154. package/dist/esm/components/IconButton/index.js +2 -1
  155. package/dist/esm/components/IconButton/index.js.map +1 -1
  156. package/dist/esm/components/InputWrapper/InputWrapper.css +221 -0
  157. package/dist/esm/components/InputWrapper/InputWrapper.module.css.js +27 -0
  158. package/dist/esm/components/InputWrapper/InputWrapper.module.css.js.map +1 -0
  159. package/dist/esm/components/InputWrapper/index.js +84 -185
  160. package/dist/esm/components/InputWrapper/index.js.map +1 -1
  161. package/dist/esm/components/Popover/Popover.css +12 -0
  162. package/dist/esm/components/Popover/Popover.module.css.js +7 -0
  163. package/dist/esm/components/Popover/Popover.module.css.js.map +1 -0
  164. package/dist/esm/components/Popover/index.js +26 -19
  165. package/dist/esm/components/Popover/index.js.map +1 -1
  166. package/dist/esm/components/RadioGroup/RadioGroup.css +99 -0
  167. package/dist/esm/components/RadioGroup/RadioGroup.module.css.js +13 -0
  168. package/dist/esm/components/RadioGroup/RadioGroup.module.css.js.map +1 -0
  169. package/dist/esm/components/RadioGroup/index.js +28 -77
  170. package/dist/esm/components/RadioGroup/index.js.map +1 -1
  171. package/dist/esm/components/Select/common/InternalSelect.js +1 -1
  172. package/dist/esm/components/Select/common/InternalSelect.js.map +1 -1
  173. package/dist/esm/components/SplitButton/index.js +2 -1
  174. package/dist/esm/components/SplitButton/index.js.map +1 -1
  175. package/dist/esm/components/Table/Table.css +376 -0
  176. package/dist/esm/components/Table/Table.module.css.js +63 -0
  177. package/dist/esm/components/Table/Table.module.css.js.map +1 -0
  178. package/dist/esm/components/Table/index.js +132 -214
  179. package/dist/esm/components/Table/index.js.map +1 -1
  180. package/dist/esm/components/Toast/Toast.css +142 -0
  181. package/dist/esm/components/Toast/Toast.module.css.js +26 -0
  182. package/dist/esm/components/Toast/Toast.module.css.js.map +1 -0
  183. package/dist/esm/components/Toast/index.js +43 -96
  184. package/dist/esm/components/Toast/index.js.map +1 -1
  185. package/dist/esm/components/Tooltip/Tooltip.css +17 -0
  186. package/dist/esm/components/Tooltip/Tooltip.module.css.js +9 -0
  187. package/dist/esm/components/Tooltip/Tooltip.module.css.js.map +1 -0
  188. package/dist/esm/components/Tooltip/index.js +12 -24
  189. package/dist/esm/components/Tooltip/index.js.map +1 -1
  190. package/dist/esm/components/VerticalStepper/VerticalStepper.css +302 -0
  191. package/dist/esm/components/VerticalStepper/VerticalStepper.module.css.js +55 -0
  192. package/dist/esm/components/VerticalStepper/VerticalStepper.module.css.js.map +1 -0
  193. package/dist/esm/components/VerticalStepper/index.js +85 -110
  194. package/dist/esm/components/VerticalStepper/index.js.map +1 -1
  195. package/dist/types/components/Assets/Logos/Polaris.d.ts +3 -0
  196. package/dist/types/components/Assets/Logos/system/types.d.ts +1 -1
  197. package/dist/types/components/BigStat/BigStat.d.ts +1 -1
  198. package/dist/types/components/CardSecondary/CardSecondary.d.ts +1 -1
  199. package/dist/types/components/ConfirmationDialog/ConfirmationDialog.d.ts +1 -1
  200. package/dist/types/components/CrossButton/CrossButton.d.ts +6 -2
  201. package/dist/types/components/Flyout/Flyout.d.ts +8 -6
  202. package/dist/types/components/Flyout/Flyout.types.d.ts +3 -0
  203. package/dist/types/components/GenericMenu/GenericMenu.d.ts +29 -12
  204. package/dist/types/components/IconButton/IconButton.types.d.ts +3 -0
  205. package/dist/types/components/InputWrapper/InputWrapper.d.ts +17 -13
  206. package/dist/types/components/RadioGroup/RadioGroup.d.ts +2 -2
  207. package/dist/types/components/SplitButton/SplitButton.d.ts +1 -1
  208. package/dist/types/components/SplitButton/SplitButton.types.d.ts +3 -0
  209. package/dist/types/components/Toast/Toast.d.ts +1 -1
  210. package/dist/types/components/Tooltip/Tooltip.d.ts +1 -1
  211. package/dist/types/components/VerticalStepper/VerticalStepper.d.ts +2 -2
  212. package/package.json +1 -1
@@ -1,18 +1,23 @@
1
+ require("./Flyout.css");
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
5
 
5
6
  const jsxRuntime = require('react/jsx-runtime');
6
- const RadixDialog = require('@radix-ui/react-dialog');
7
+ const react = require('react');
7
8
  const styledComponents = require('styled-components');
9
+ const RadixDialog = require('@radix-ui/react-dialog');
8
10
  const CrossButton = require('../CrossButton/index.cjs');
9
11
  const PortalContext = require('../../providers/PortalContext.cjs');
12
+ const cva = require('../../lib/cva.cjs');
13
+ const Flyout_module = require('./Flyout.module.css.cjs');
10
14
  const Container = require('../Container/index.cjs');
11
- const CodeBlock = require('../CodeBlock/index.cjs');
12
15
  const Icon = require('../Icon/index.cjs');
13
16
  const Separator = require('../Separator/index.cjs');
14
17
  const Button = require('../Button/index.cjs');
18
+ const CodeBlock = require('../CodeBlock/index.cjs');
15
19
  const Spacer = require('../Spacer/index.cjs');
20
+ const classVarianceAuthority = require('class-variance-authority');
16
21
 
17
22
  const Flyout = ({
18
23
  modal = false,
@@ -28,132 +33,129 @@ const Trigger = ({
28
33
  };
29
34
  Trigger.displayName = "Flyout.Trigger";
30
35
  Flyout.Trigger = Trigger;
31
- const animationWidth = () => styledComponents.keyframes({
32
- from: {
33
- width: 0
36
+ const contentVariants = classVarianceAuthority.cva(Flyout_module.default.content, {
37
+ variants: {
38
+ type: {
39
+ default: Flyout_module.default.content_type_default,
40
+ inline: Flyout_module.default.content_type_inline
41
+ },
42
+ strategy: {
43
+ relative: Flyout_module.default.content_strategy_relative,
44
+ absolute: Flyout_module.default.content_strategy_absolute,
45
+ fixed: Flyout_module.default.content_strategy_fixed
46
+ },
47
+ align: {
48
+ start: Flyout_module.default.content_align_start,
49
+ end: Flyout_module.default.content_align_end
50
+ },
51
+ hasShadow: {
52
+ true: "",
53
+ false: Flyout_module.default["content_no-shadow"]
54
+ }
34
55
  },
35
- to: {
36
- width: "fit-content"
56
+ defaultVariants: {
57
+ type: "default",
58
+ align: "end",
59
+ hasShadow: true
37
60
  }
38
61
  });
39
- const FlyoutContent = styledComponents.styled(RadixDialog.DialogContent).withConfig({
40
- componentId: "sc-1vtv6sf-0"
41
- })(["display:flex;flex-direction:column;align-items:center;overflow:hidden;top:0;bottom:0;width:fit-content;--flyout-width:", ";animation:", " 500ms cubic-bezier(0.16,1,0.3,1) forwards;", ""], ({
42
- theme,
43
- $size = "default",
44
- $width
45
- }) => $width || theme.click.flyout.size[$size].width, animationWidth, ({
46
- theme,
47
- $strategy,
48
- $type = "default",
49
- $align,
50
- $hasShadow = true
51
- }) => `
52
- ${$align === "start" ? "left" : "right"}: 0;
53
- max-width: 100%;
54
- position: ${$strategy};
55
- height: ${$strategy === "relative" ? "100%" : "auto"};
56
- padding: 0 ${theme.click.flyout.space[$type].x};
57
- /* Section spacing comes from the separators' own margins (Separator size), not a
58
- container gap. A gap here would stack on those margins and double the spacing. */
59
- gap: 0;
60
- box-shadow: ${$hasShadow === false ? "none" : theme.click.flyout.shadow[$align === "start" ? "reverse" : "default"]};
61
- border-${$align === "start" ? "right" : "left"}: 1px solid ${theme.click.flyout.color.stroke.default};
62
- background: ${theme.click.flyout.color.background.default};
63
-
64
- @media (max-width: 1024px) {
65
- ${$strategy === "relative" ? `
66
- position: absolute !important;` : ""}
67
- overflow: hidden;
68
- transform: ${$align === "start" ? "translateX(calc(50px - 100%))" : "translateX(calc(100% - 50px))"};
69
- transition: 0.3s ease-in-out;
70
- &:hover,
71
- &.active,
72
- &:focus-within {
73
- transform: translateX(0);
74
- ${$align === "start" ? "right" : "left"}: auto;
75
- }
76
- }
77
- `);
78
- const FlyoutContainer = styledComponents.styled.div.withConfig({
79
- componentId: "sc-1vtv6sf-1"
80
- })(["display:flex;gap:0;width:var(--flyout-width);max-width:100%;flex-flow:column nowrap;gap:inherit;"]);
81
62
  const Content = ({
82
63
  showOverlay = false,
83
64
  children,
84
65
  container,
85
66
  strategy = "relative",
86
- size,
67
+ size = "default",
87
68
  type = "default",
88
69
  closeOnInteractOutside = false,
89
70
  width,
90
71
  align = "end",
91
72
  hasShadow = true,
92
73
  onInteractOutside,
74
+ className,
75
+ style,
93
76
  ...props
94
77
  }) => {
95
78
  const portalContainer = PortalContext.useResolvedPortalContainer(container);
79
+ const theme = styledComponents.useTheme();
80
+ const mergedStyle = react.useMemo(() => {
81
+ const resolvedWidth = width || theme.click.flyout.size[size].width;
82
+ return {
83
+ "--flyout-width": resolvedWidth,
84
+ ...style
85
+ };
86
+ }, [width, size, style, theme]);
96
87
  return /* @__PURE__ */ jsxRuntime.jsxs(RadixDialog.DialogPortal, { container: portalContainer, children: [
97
88
  showOverlay && /* @__PURE__ */ jsxRuntime.jsx(RadixDialog.DialogOverlay, { className: "DialogOverlay" }),
98
- /* @__PURE__ */ jsxRuntime.jsx(FlyoutContent, { $size: size, $type: type, $strategy: strategy, onInteractOutside: (e) => {
89
+ /* @__PURE__ */ jsxRuntime.jsx(RadixDialog.DialogContent, { onInteractOutside: (e) => {
99
90
  if (!closeOnInteractOutside) {
100
91
  e.preventDefault();
101
92
  }
102
93
  if (typeof onInteractOutside === "function") {
103
94
  onInteractOutside(e);
104
95
  }
105
- }, $width: width, $align: align, $hasShadow: hasShadow, ...props, children })
96
+ }, ...props, style: mergedStyle, className: cva.cn(contentVariants({
97
+ type,
98
+ strategy,
99
+ align,
100
+ hasShadow
101
+ }), className), children })
106
102
  ] });
107
103
  };
108
104
  Content.displayName = "Flyout.Content";
109
105
  Flyout.Content = Content;
110
- const FlyoutElement = styledComponents.styled(Container.Container).withConfig({
111
- componentId: "sc-1vtv6sf-2"
112
- })(["max-width:100%;max-width:-webkit-fill-available;max-width:fill-available;max-width:stretch;", ""], ({
113
- theme,
114
- $type = "default"
115
- }) => `
116
- gap: ${theme.click.flyout.space[$type].gap};
117
- padding: 0 ${theme.click.flyout.space[$type].content.x};
118
- `);
106
+ const elementVariants = classVarianceAuthority.cva(Flyout_module.default.element, {
107
+ variants: {
108
+ type: {
109
+ default: Flyout_module.default.element_type_default,
110
+ inline: Flyout_module.default.element_type_inline
111
+ }
112
+ },
113
+ defaultVariants: {
114
+ type: "default"
115
+ }
116
+ });
119
117
  const Element = ({
120
118
  type,
119
+ className,
121
120
  ...props
122
- }) => /* @__PURE__ */ jsxRuntime.jsx(FlyoutElement, { orientation: "vertical", padding: "none", gap: "none", $type: type, ...props });
121
+ }) => /* @__PURE__ */ jsxRuntime.jsx(Container.Container, { orientation: "vertical", padding: "none", gap: "none", ...props, className: cva.cn(elementVariants({
122
+ type
123
+ }), className) });
123
124
  Element.displayName = "Flyout.Element";
124
125
  Flyout.Element = Element;
125
- const FlyoutHeaderContainer = styledComponents.styled(Container.Container).withConfig({
126
- componentId: "sc-1vtv6sf-3"
127
- })(["", ""], ({
128
- theme,
129
- $type = "default"
130
- }) => `
131
- row-gap: ${theme.click.flyout.space[$type].content["row-gap"]};
132
- column-gap: ${theme.click.flyout.space[$type].content["column-gap"]};
133
- padding: ${theme.click.flyout.space[$type].y} ${theme.click.flyout.space[$type].y} 0 ${theme.click.flyout.space[$type].y};
134
- `);
135
- const FlyoutTitle = styledComponents.styled(RadixDialog.DialogTitle).withConfig({
136
- componentId: "sc-1vtv6sf-4"
137
- })(["", ""], ({
138
- theme,
139
- $type = "default"
140
- }) => `
141
- color: ${theme.click.flyout.color.title.default};
142
- font: ${theme.click.flyout.typography[$type].title.default};
143
- margin: 0;
144
- padding: 0;
145
- `);
146
- const FlyoutDescription = styledComponents.styled(RadixDialog.DialogDescription).withConfig({
147
- componentId: "sc-1vtv6sf-5"
148
- })(["", ""], ({
149
- theme,
150
- $type = "default"
151
- }) => `
152
- color: ${theme.click.flyout.color.description.default};
153
- font: ${theme.click.flyout.typography[$type].description.default};
154
- margin: 0;
155
- padding: 0;
156
- `);
126
+ const headerVariants = classVarianceAuthority.cva(Flyout_module.default.header, {
127
+ variants: {
128
+ type: {
129
+ default: Flyout_module.default.header_type_default,
130
+ inline: Flyout_module.default.header_type_inline
131
+ }
132
+ },
133
+ defaultVariants: {
134
+ type: "default"
135
+ }
136
+ });
137
+ const titleVariants = classVarianceAuthority.cva(Flyout_module.default.title, {
138
+ variants: {
139
+ type: {
140
+ default: Flyout_module.default.title_type_default,
141
+ inline: Flyout_module.default.title_type_inline
142
+ }
143
+ },
144
+ defaultVariants: {
145
+ type: "default"
146
+ }
147
+ });
148
+ const descriptionVariants = classVarianceAuthority.cva(Flyout_module.default.description, {
149
+ variants: {
150
+ type: {
151
+ default: Flyout_module.default.description_type_default,
152
+ inline: Flyout_module.default.description_type_inline
153
+ }
154
+ },
155
+ defaultVariants: {
156
+ type: "default"
157
+ }
158
+ });
157
159
  const Header = ({
158
160
  title,
159
161
  description,
@@ -161,22 +163,31 @@ const Header = ({
161
163
  children,
162
164
  showClose = true,
163
165
  showSeparator = true,
166
+ className,
164
167
  ...props
165
168
  }) => {
166
169
  if (children) {
167
- return /* @__PURE__ */ jsxRuntime.jsxs(FlyoutContainer, { children: [
168
- /* @__PURE__ */ jsxRuntime.jsxs(FlyoutHeaderContainer, { $type: type, justifyContent: "space-between", alignItems: "start", padding: "none", gap: "none", fillWidth: false, isResponsive: false, ...props, children: [
170
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Flyout_module.default.container, children: [
171
+ /* @__PURE__ */ jsxRuntime.jsxs(Container.Container, { justifyContent: "space-between", alignItems: "start", padding: "none", gap: "none", fillWidth: false, isResponsive: false, ...props, className: cva.cn(headerVariants({
172
+ type
173
+ }), className), children: [
169
174
  /* @__PURE__ */ jsxRuntime.jsx(Container.Container, { padding: "none", gap: "none", orientation: "vertical", grow: "1", children }),
170
175
  showClose && /* @__PURE__ */ jsxRuntime.jsx(RadixDialog.DialogClose, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(CrossButton.CrossButton, { "data-testid": "flyout-header-close-btn", children: /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { name: "cross", size: type === "inline" ? "md" : "lg" }) }) })
171
176
  ] }),
172
177
  showSeparator && /* @__PURE__ */ jsxRuntime.jsx(Separator.Separator, { "data-testid": "flyout-header-separator", size: "lg" })
173
178
  ] });
174
179
  }
175
- return /* @__PURE__ */ jsxRuntime.jsxs(FlyoutContainer, { children: [
176
- /* @__PURE__ */ jsxRuntime.jsxs(FlyoutHeaderContainer, { $type: type, justifyContent: "space-between", alignItems: "start", fillWidth: false, isResponsive: false, ...props, children: [
180
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: Flyout_module.default.container, children: [
181
+ /* @__PURE__ */ jsxRuntime.jsxs(Container.Container, { justifyContent: "space-between", alignItems: "start", fillWidth: false, isResponsive: false, ...props, className: cva.cn(headerVariants({
182
+ type
183
+ }), className), children: [
177
184
  /* @__PURE__ */ jsxRuntime.jsxs(Container.Container, { padding: "none", gap: "none", orientation: "vertical", grow: "1", children: [
178
- /* @__PURE__ */ jsxRuntime.jsx(FlyoutTitle, { $type: type, children: title }),
179
- description && /* @__PURE__ */ jsxRuntime.jsx(FlyoutDescription, { $type: type, children: description })
185
+ /* @__PURE__ */ jsxRuntime.jsx(RadixDialog.DialogTitle, { className: cva.cn(titleVariants({
186
+ type
187
+ })), children: title }),
188
+ description && /* @__PURE__ */ jsxRuntime.jsx(RadixDialog.DialogDescription, { className: cva.cn(descriptionVariants({
189
+ type
190
+ })), children: description })
180
191
  ] }),
181
192
  showClose && /* @__PURE__ */ jsxRuntime.jsx(RadixDialog.DialogClose, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(CrossButton.CrossButton, { "data-testid": "flyout-header-close-btn", children: /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { name: "cross", size: type === "inline" ? "md" : "lg" }) }) })
182
193
  ] }),
@@ -185,27 +196,37 @@ const Header = ({
185
196
  };
186
197
  Header.displayName = "Flyout.Header";
187
198
  Flyout.Header = Header;
188
- const FlyoutBody = styledComponents.styled(Container.Container).withConfig({
189
- componentId: "sc-1vtv6sf-6"
190
- })(["width:var(--flyout-width);max-width:100%;margin-top:", ";"], ({
191
- $align = "default"
192
- }) => $align === "top" ? "-1rem" : 0);
199
+ const bodyVariants = classVarianceAuthority.cva(Flyout_module.default.body, {
200
+ variants: {
201
+ align: {
202
+ default: Flyout_module.default.body_align_default,
203
+ top: Flyout_module.default.body_align_top
204
+ }
205
+ },
206
+ defaultVariants: {
207
+ align: "default"
208
+ }
209
+ });
193
210
  const Body = ({
194
211
  align,
212
+ className,
195
213
  ...props
196
- }) => /* @__PURE__ */ jsxRuntime.jsx(FlyoutBody, { overflow: "auto", orientation: "vertical", grow: "1", $align: align, ...props });
214
+ }) => /* @__PURE__ */ jsxRuntime.jsx(Container.Container, { overflow: "auto", orientation: "vertical", grow: "1", ...props, className: cva.cn(bodyVariants({
215
+ align
216
+ }), className) });
197
217
  Body.displayName = "Flyout.Body";
198
218
  Flyout.Body = Body;
199
- const FlyoutFooter = styledComponents.styled(Container.Container).withConfig({
200
- componentId: "sc-1vtv6sf-7"
201
- })(["", ""], ({
202
- theme,
203
- type = "default"
204
- }) => `
205
- row-gap: ${theme.click.flyout.space[type].content["row-gap"]};
206
- column-gap: ${theme.click.flyout.space[type].content["column-gap"]};
207
- padding: ${theme.click.flyout.space[type].y} ${theme.click.flyout.space[type].content.x};
208
- `);
219
+ const footerVariants = classVarianceAuthority.cva(Flyout_module.default.footer, {
220
+ variants: {
221
+ type: {
222
+ default: Flyout_module.default.footer_type_default,
223
+ inline: Flyout_module.default.footer_type_inline
224
+ }
225
+ },
226
+ defaultVariants: {
227
+ type: "default"
228
+ }
229
+ });
209
230
  const FlyoutClose = ({
210
231
  children,
211
232
  ...props
@@ -214,20 +235,20 @@ const FlyoutClose = ({
214
235
  };
215
236
  FlyoutClose.displayName = "Flyout.Close";
216
237
  Flyout.Close = FlyoutClose;
217
- const FooterContainer = styledComponents.styled(Container.Container).withConfig({
218
- componentId: "sc-1vtv6sf-8"
219
- })(["width:var(--flyout-width);max-width:100%;"]);
220
- const Footer = (props) => {
221
- return /* @__PURE__ */ jsxRuntime.jsxs(FooterContainer, { gap: "none", orientation: "vertical", alignItems: "end", children: [
238
+ const Footer = ({
239
+ type,
240
+ className,
241
+ ...props
242
+ }) => {
243
+ return /* @__PURE__ */ jsxRuntime.jsxs(Container.Container, { gap: "none", orientation: "vertical", alignItems: "end", className: Flyout_module.default["footer-container"], children: [
222
244
  /* @__PURE__ */ jsxRuntime.jsx(Separator.Separator, { size: "xs" }),
223
- /* @__PURE__ */ jsxRuntime.jsx(FlyoutFooter, { justifyContent: "end", gap: "none", padding: "none", isResponsive: false, wrap: "wrap", ...props })
245
+ /* @__PURE__ */ jsxRuntime.jsx(Container.Container, { justifyContent: "end", gap: "none", padding: "none", isResponsive: false, wrap: "wrap", ...props, className: cva.cn(footerVariants({
246
+ type
247
+ }), className) })
224
248
  ] });
225
249
  };
226
250
  Footer.displayName = "Flyout.Footer";
227
251
  Flyout.Footer = Footer;
228
- const CustomCodeBlock = styledComponents.styled(CodeBlock.CodeBlock).withConfig({
229
- componentId: "sc-1vtv6sf-9"
230
- })(["display:flex;height:100%;pre{flex:1;overflow-wrap:break-word;code{display:inline-block;max-width:calc(100% - 1rem);}}"]);
231
252
  const FlyoutCodeBlock = ({
232
253
  statement,
233
254
  language,
@@ -236,10 +257,11 @@ const FlyoutCodeBlock = ({
236
257
  showWrapButton,
237
258
  onCopy,
238
259
  onCopyError,
260
+ className,
239
261
  ...props
240
262
  }) => {
241
263
  return /* @__PURE__ */ jsxRuntime.jsxs(Element, { fillHeight: true, ...props, children: [
242
- /* @__PURE__ */ jsxRuntime.jsx(CustomCodeBlock, { wrapLines, language, showLineNumbers, showWrapButton, onCopy, onCopyError, children: statement }),
264
+ /* @__PURE__ */ jsxRuntime.jsx(CodeBlock.CodeBlock, { className: cva.cn(Flyout_module.default["code-block"], className), wrapLines, language, showLineNumbers, showWrapButton, onCopy, onCopyError, children: statement }),
243
265
  /* @__PURE__ */ jsxRuntime.jsx(Spacer.Spacer, { size: "xs" })
244
266
  ] });
245
267
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../src/components/Flyout/Flyout.tsx"],"sourcesContent":["import { ReactNode } from 'react';\nimport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n} from '@radix-ui/react-dialog';\nimport { Button } from '@/components/Button';\nimport type { ButtonProps } from '@/components/Button';\nimport { CodeBlock } from '@/components/CodeBlock';\nimport { Container } from '@/components/Container';\nimport type { ContainerProps } from '@/components/Container';\nimport { Icon } from '@/components/Icon';\nimport { Separator } from '@/components/Separator';\nimport { Spacer } from '@/components/Spacer';\nimport { styled, keyframes } from 'styled-components';\nimport { CrossButton } from '@/components/CrossButton';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport type {\n FlyoutProps,\n FlyoutTriggerProps,\n FlyoutContentProps,\n FlyoutHeaderProps,\n FlyoutFooterProps,\n FlyoutSizeType,\n FlyoutStrategy,\n FlyoutType,\n FlyoutAlignmentType,\n} from './Flyout.types';\n\nexport const Flyout = ({ modal = false, ...props }: FlyoutProps) => {\n return (\n <Dialog\n modal={modal}\n {...props}\n />\n );\n};\n\nconst Trigger = ({ children, ...props }: FlyoutTriggerProps) => {\n return (\n <DialogTrigger asChild>\n <div {...props}>{children}</div>\n </DialogTrigger>\n );\n};\nTrigger.displayName = 'Flyout.Trigger';\nFlyout.Trigger = Trigger;\n\nconst animationWidth = () =>\n keyframes({\n from: { width: 0 },\n to: { width: 'fit-content' },\n });\n\nconst FlyoutContent = styled(DialogContent)<{\n $size?: FlyoutSizeType;\n $type?: FlyoutType;\n $strategy: FlyoutStrategy;\n $width?: string;\n $align: FlyoutAlignmentType;\n $hasShadow?: boolean;\n}>`\n display: flex;\n flex-direction: column;\n align-items: center;\n overflow: hidden;\n top: 0;\n bottom: 0;\n width: fit-content;\n --flyout-width: ${({ theme, $size = 'default', $width }) =>\n $width || theme.click.flyout.size[$size].width};\n animation: ${animationWidth} 500ms cubic-bezier(0.16, 1, 0.3, 1) forwards;\n ${({ theme, $strategy, $type = 'default', $align, $hasShadow = true }) => `\n ${$align === 'start' ? 'left' : 'right'}: 0;\n max-width: 100%;\n position: ${$strategy};\n height: ${$strategy === 'relative' ? '100%' : 'auto'};\n padding: 0 ${theme.click.flyout.space[$type].x};\n /* Section spacing comes from the separators' own margins (Separator size), not a\n container gap. A gap here would stack on those margins and double the spacing. */\n gap: 0;\n box-shadow: ${\n $hasShadow === false\n ? 'none'\n : theme.click.flyout.shadow[$align === 'start' ? 'reverse' : 'default']\n };\n border-${$align === 'start' ? 'right' : 'left'}: 1px solid ${\n theme.click.flyout.color.stroke.default\n };\n background: ${theme.click.flyout.color.background.default};\n\n @media (max-width: 1024px) {\n ${\n $strategy === 'relative'\n ? `\n position: absolute !important;`\n : ''\n }\n overflow: hidden;\n transform: ${\n $align === 'start'\n ? 'translateX(calc(50px - 100%))'\n : 'translateX(calc(100% - 50px))'\n };\n transition: 0.3s ease-in-out;\n &:hover,\n &.active,\n &:focus-within {\n transform: translateX(0);\n ${$align === 'start' ? 'right' : 'left'}: auto;\n }\n }\n `}\n`;\nconst FlyoutContainer = styled.div`\n display: flex;\n gap: 0;\n width: var(--flyout-width);\n max-width: 100%;\n flex-flow: column nowrap;\n gap: inherit;\n`;\n\nconst Content = ({\n showOverlay = false,\n children,\n container,\n strategy = 'relative',\n size,\n type = 'default',\n closeOnInteractOutside = false,\n width,\n align = 'end',\n hasShadow = true,\n onInteractOutside,\n ...props\n}: FlyoutContentProps) => {\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <DialogPortal container={portalContainer}>\n {showOverlay && <DialogOverlay className=\"DialogOverlay\" />}\n <FlyoutContent\n $size={size}\n $type={type}\n $strategy={strategy}\n onInteractOutside={e => {\n if (!closeOnInteractOutside) {\n e.preventDefault();\n }\n if (typeof onInteractOutside === 'function') {\n onInteractOutside(e);\n }\n }}\n $width={width}\n $align={align}\n $hasShadow={hasShadow}\n {...props}\n >\n {children}\n </FlyoutContent>\n </DialogPortal>\n );\n};\nContent.displayName = 'Flyout.Content';\nFlyout.Content = Content;\n\nconst FlyoutElement = styled(Container)<{\n $type?: FlyoutType;\n}>`\n max-width: 100%;\n max-width: -webkit-fill-available;\n max-width: fill-available;\n max-width: stretch;\n ${({ theme, $type = 'default' }) => `\n gap: ${theme.click.flyout.space[$type].gap};\n padding: 0 ${theme.click.flyout.space[$type].content.x};\n `}\n`;\n\ninterface ElementProps extends Omit<\n ContainerProps,\n 'component' | 'padding' | 'gap' | 'orientation'\n> {\n type?: FlyoutType;\n}\n\nconst Element = ({ type, ...props }: ElementProps) => (\n <FlyoutElement\n orientation=\"vertical\"\n padding=\"none\"\n gap=\"none\"\n $type={type}\n {...props}\n />\n);\n\nElement.displayName = 'Flyout.Element';\nFlyout.Element = Element;\n\nconst FlyoutHeaderContainer = styled(Container)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n row-gap: ${theme.click.flyout.space[$type].content['row-gap']};\n column-gap: ${theme.click.flyout.space[$type].content['column-gap']};\n padding: ${theme.click.flyout.space[$type].y} ${theme.click.flyout.space[$type].y} 0 ${theme.click.flyout.space[$type].y};\n `}\n`;\n\nconst FlyoutTitle = styled(DialogTitle)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n color: ${theme.click.flyout.color.title.default};\n font: ${theme.click.flyout.typography[$type].title.default};\n margin: 0;\n padding: 0;\n `}\n`;\n\nconst FlyoutDescription = styled(DialogDescription)<{\n $type?: FlyoutType;\n}>`\n ${({ theme, $type = 'default' }) => `\n color: ${theme.click.flyout.color.description.default};\n font: ${theme.click.flyout.typography[$type].description.default};\n margin: 0;\n padding: 0;\n `}\n`;\n\nconst Header = ({\n title,\n description,\n type,\n children,\n showClose = true,\n showSeparator = true,\n ...props\n}: FlyoutHeaderProps) => {\n if (children) {\n return (\n <FlyoutContainer>\n <FlyoutHeaderContainer\n $type={type}\n justifyContent=\"space-between\"\n alignItems=\"start\"\n padding=\"none\"\n gap=\"none\"\n fillWidth={false}\n isResponsive={false}\n {...props}\n >\n <Container\n padding=\"none\"\n gap=\"none\"\n orientation=\"vertical\"\n grow=\"1\"\n >\n {children}\n </Container>\n {showClose && (\n <DialogClose asChild>\n <CrossButton data-testid=\"flyout-header-close-btn\">\n <Icon\n name=\"cross\"\n size={type === 'inline' ? 'md' : 'lg'}\n />\n </CrossButton>\n </DialogClose>\n )}\n </FlyoutHeaderContainer>\n {showSeparator && (\n <Separator\n data-testid=\"flyout-header-separator\"\n size=\"lg\"\n />\n )}\n </FlyoutContainer>\n );\n }\n\n return (\n <FlyoutContainer>\n <FlyoutHeaderContainer\n $type={type}\n justifyContent=\"space-between\"\n alignItems=\"start\"\n fillWidth={false}\n isResponsive={false}\n {...props}\n >\n <Container\n padding=\"none\"\n gap=\"none\"\n orientation=\"vertical\"\n grow=\"1\"\n >\n <FlyoutTitle $type={type}>{title}</FlyoutTitle>\n {description && (\n <FlyoutDescription $type={type}>{description}</FlyoutDescription>\n )}\n </Container>\n {showClose && (\n <DialogClose asChild>\n <CrossButton data-testid=\"flyout-header-close-btn\">\n <Icon\n name=\"cross\"\n size={type === 'inline' ? 'md' : 'lg'}\n />\n </CrossButton>\n </DialogClose>\n )}\n </FlyoutHeaderContainer>\n {showSeparator && (\n <Separator\n data-testid=\"flyout-header-separator\"\n size=\"lg\"\n />\n )}\n </FlyoutContainer>\n );\n};\nHeader.displayName = 'Flyout.Header';\nFlyout.Header = Header;\n\ntype FlyoutAlign = 'default' | 'top';\nconst FlyoutBody = styled(Container)<{ $align?: FlyoutAlign }>`\n width: var(--flyout-width);\n max-width: 100%;\n margin-top: ${({ $align = 'default' }) => ($align === 'top' ? '-1rem' : 0)};\n`;\n\ninterface BodyProps extends ContainerProps {\n align?: FlyoutAlign;\n}\n\nconst Body = ({ align, ...props }: BodyProps) => (\n <FlyoutBody\n overflow=\"auto\"\n orientation=\"vertical\"\n grow=\"1\"\n $align={align}\n {...props}\n />\n);\n\nBody.displayName = 'Flyout.Body';\nFlyout.Body = Body;\n\nconst FlyoutFooter = styled(Container)<{\n type?: FlyoutType;\n}>`\n ${({ theme, type = 'default' }) => `\n row-gap: ${theme.click.flyout.space[type].content['row-gap']};\n column-gap: ${theme.click.flyout.space[type].content['column-gap']};\n padding: ${theme.click.flyout.space[type].y} ${theme.click.flyout.space[type].content.x};\n `}\n`;\n\ninterface FlyoutButtonProps extends Omit<ButtonProps, 'children'> {\n children?: never;\n}\n\nconst FlyoutClose = ({\n children,\n ...props\n}: FlyoutButtonProps | { children?: ReactNode }) => {\n return (\n <DialogClose asChild>\n {children ?? (\n <Button\n type=\"secondary\"\n {...props}\n />\n )}\n </DialogClose>\n );\n};\nFlyoutClose.displayName = 'Flyout.Close';\nFlyout.Close = FlyoutClose;\n\nconst FooterContainer = styled(Container)`\n width: var(--flyout-width);\n max-width: 100%;\n`;\n\nconst Footer = (props: FlyoutFooterProps) => {\n return (\n <FooterContainer\n gap=\"none\"\n orientation=\"vertical\"\n alignItems=\"end\"\n >\n <Separator size=\"xs\" />\n <FlyoutFooter\n justifyContent=\"end\"\n gap=\"none\"\n padding=\"none\"\n isResponsive={false}\n wrap=\"wrap\"\n {...props}\n />\n </FooterContainer>\n );\n};\nFooter.displayName = 'Flyout.Footer';\nFlyout.Footer = Footer;\n\nconst CustomCodeBlock = styled(CodeBlock)`\n display: flex;\n height: 100%;\n pre {\n flex: 1;\n overflow-wrap: break-word;\n code {\n display: inline-block;\n max-width: calc(100% - 1rem);\n }\n }\n`;\n\ninterface FlyoutCodeBlockProps extends ContainerProps {\n language?: string;\n statement: string;\n showLineNumbers?: boolean;\n showWrapButton?: boolean;\n wrapLines?: boolean;\n onCopy?: (value: string) => void | Promise<void>;\n onCopyError?: (error: string) => void | Promise<void>;\n}\nconst FlyoutCodeBlock = ({\n statement,\n language,\n wrapLines,\n showLineNumbers,\n showWrapButton,\n onCopy,\n onCopyError,\n ...props\n}: FlyoutCodeBlockProps & ElementProps) => {\n return (\n <Element\n fillHeight\n {...props}\n >\n <CustomCodeBlock\n wrapLines={wrapLines}\n language={language}\n showLineNumbers={showLineNumbers}\n showWrapButton={showWrapButton}\n onCopy={onCopy}\n onCopyError={onCopyError}\n >\n {statement}\n </CustomCodeBlock>\n <Spacer size=\"xs\" />\n </Element>\n );\n};\n\nFlyout.CodeBlock = FlyoutCodeBlock;\n"],"names":["Flyout","modal","props","jsx","Dialog","Trigger","children","DialogTrigger","displayName","animationWidth","keyframes","from","width","to","FlyoutContent","styled","DialogContent","withConfig","componentId","theme","$size","$width","click","flyout","size","$strategy","$type","$align","$hasShadow","space","x","shadow","color","stroke","default","background","FlyoutContainer","div","Content","showOverlay","container","strategy","type","closeOnInteractOutside","align","hasShadow","onInteractOutside","portalContainer","useResolvedPortalContainer","jsxs","DialogPortal","DialogOverlay","e","preventDefault","FlyoutElement","Container","gap","content","Element","FlyoutHeaderContainer","y","FlyoutTitle","DialogTitle","title","typography","FlyoutDescription","DialogDescription","description","Header","showClose","showSeparator","DialogClose","CrossButton","Icon","Separator","FlyoutBody","Body","FlyoutFooter","FlyoutClose","Button","Close","FooterContainer","Footer","CustomCodeBlock","CodeBlock","FlyoutCodeBlock","statement","language","wrapLines","showLineNumbers","showWrapButton","onCopy","onCopyError","Spacer"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../src/components/Flyout/Flyout.tsx"],"sourcesContent":["import { CSSProperties, ReactNode, useMemo } from 'react';\nimport { useTheme } from 'styled-components';\nimport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n} from '@radix-ui/react-dialog';\nimport { Button } from '@/components/Button';\nimport type { ButtonProps } from '@/components/Button';\nimport { CodeBlock } from '@/components/CodeBlock';\nimport { Container } from '@/components/Container';\nimport type { ContainerProps } from '@/components/Container';\nimport { Icon } from '@/components/Icon';\nimport { Separator } from '@/components/Separator';\nimport { Spacer } from '@/components/Spacer';\nimport { CrossButton } from '@/components/CrossButton';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport { cn, cva } from '@/lib/cva';\nimport styles from './Flyout.module.css';\nimport type {\n FlyoutProps,\n FlyoutTriggerProps,\n FlyoutContentProps,\n FlyoutHeaderProps,\n FlyoutFooterProps,\n FlyoutType,\n} from './Flyout.types';\n\nexport const Flyout = ({ modal = false, ...props }: FlyoutProps) => {\n return (\n <Dialog\n modal={modal}\n {...props}\n />\n );\n};\n\nconst Trigger = ({ children, ...props }: FlyoutTriggerProps) => {\n return (\n <DialogTrigger asChild>\n <div {...props}>{children}</div>\n </DialogTrigger>\n );\n};\nTrigger.displayName = 'Flyout.Trigger';\nFlyout.Trigger = Trigger;\n\nconst contentVariants = cva(styles.content, {\n variants: {\n type: {\n default: styles.content_type_default,\n inline: styles.content_type_inline,\n },\n strategy: {\n relative: styles.content_strategy_relative,\n absolute: styles.content_strategy_absolute,\n fixed: styles.content_strategy_fixed,\n },\n align: {\n start: styles.content_align_start,\n end: styles.content_align_end,\n },\n hasShadow: {\n true: '',\n false: styles['content_no-shadow'],\n },\n },\n defaultVariants: {\n type: 'default',\n align: 'end',\n hasShadow: true,\n },\n});\n\nconst Content = ({\n showOverlay = false,\n children,\n container,\n strategy = 'relative',\n size = 'default',\n type = 'default',\n closeOnInteractOutside = false,\n width,\n align = 'end',\n hasShadow = true,\n onInteractOutside,\n className,\n style,\n ...props\n}: FlyoutContentProps) => {\n const portalContainer = useResolvedPortalContainer(container);\n const theme = useTheme();\n\n const mergedStyle = useMemo(() => {\n // Resolve the default width from the typed theme so an invalid `size`\n // fails at compile time, rather than silently emitting a non-existent\n // CSS variable. A non-empty `width` prop always wins; `||` (matching the\n // pre-migration styled version) also falls back on an empty-string width.\n const resolvedWidth = width || theme.click.flyout.size[size].width;\n\n return {\n '--flyout-width': resolvedWidth,\n ...style,\n } as CSSProperties;\n }, [width, size, style, theme]);\n\n return (\n <DialogPortal container={portalContainer}>\n {showOverlay && <DialogOverlay className=\"DialogOverlay\" />}\n <DialogContent\n onInteractOutside={e => {\n if (!closeOnInteractOutside) {\n e.preventDefault();\n }\n if (typeof onInteractOutside === 'function') {\n onInteractOutside(e);\n }\n }}\n {...props}\n style={mergedStyle}\n className={cn(contentVariants({ type, strategy, align, hasShadow }), className)}\n >\n {children}\n </DialogContent>\n </DialogPortal>\n );\n};\nContent.displayName = 'Flyout.Content';\nFlyout.Content = Content;\n\nconst elementVariants = cva(styles.element, {\n variants: {\n type: {\n default: styles.element_type_default,\n inline: styles.element_type_inline,\n },\n },\n defaultVariants: {\n type: 'default',\n },\n});\n\ninterface ElementProps extends Omit<\n ContainerProps,\n 'component' | 'padding' | 'gap' | 'orientation'\n> {\n type?: FlyoutType;\n className?: string;\n}\n\nconst Element = ({ type, className, ...props }: ElementProps) => (\n <Container\n orientation=\"vertical\"\n padding=\"none\"\n gap=\"none\"\n {...props}\n className={cn(elementVariants({ type }), className)}\n />\n);\n\nElement.displayName = 'Flyout.Element';\nFlyout.Element = Element;\n\nconst headerVariants = cva(styles.header, {\n variants: {\n type: {\n default: styles.header_type_default,\n inline: styles.header_type_inline,\n },\n },\n defaultVariants: {\n type: 'default',\n },\n});\n\nconst titleVariants = cva(styles.title, {\n variants: {\n type: {\n default: styles.title_type_default,\n inline: styles.title_type_inline,\n },\n },\n defaultVariants: {\n type: 'default',\n },\n});\n\nconst descriptionVariants = cva(styles.description, {\n variants: {\n type: {\n default: styles.description_type_default,\n inline: styles.description_type_inline,\n },\n },\n defaultVariants: {\n type: 'default',\n },\n});\n\nconst Header = ({\n title,\n description,\n type,\n children,\n showClose = true,\n showSeparator = true,\n className,\n ...props\n}: FlyoutHeaderProps) => {\n if (children) {\n return (\n <div className={styles.container}>\n <Container\n justifyContent=\"space-between\"\n alignItems=\"start\"\n padding=\"none\"\n gap=\"none\"\n fillWidth={false}\n isResponsive={false}\n {...props}\n className={cn(headerVariants({ type }), className)}\n >\n <Container\n padding=\"none\"\n gap=\"none\"\n orientation=\"vertical\"\n grow=\"1\"\n >\n {children}\n </Container>\n {showClose && (\n <DialogClose asChild>\n <CrossButton data-testid=\"flyout-header-close-btn\">\n <Icon\n name=\"cross\"\n size={type === 'inline' ? 'md' : 'lg'}\n />\n </CrossButton>\n </DialogClose>\n )}\n </Container>\n {showSeparator && (\n <Separator\n data-testid=\"flyout-header-separator\"\n size=\"lg\"\n />\n )}\n </div>\n );\n }\n\n return (\n <div className={styles.container}>\n <Container\n justifyContent=\"space-between\"\n alignItems=\"start\"\n fillWidth={false}\n isResponsive={false}\n {...props}\n className={cn(headerVariants({ type }), className)}\n >\n <Container\n padding=\"none\"\n gap=\"none\"\n orientation=\"vertical\"\n grow=\"1\"\n >\n <DialogTitle className={cn(titleVariants({ type }))}>{title}</DialogTitle>\n {description && (\n <DialogDescription className={cn(descriptionVariants({ type }))}>\n {description}\n </DialogDescription>\n )}\n </Container>\n {showClose && (\n <DialogClose asChild>\n <CrossButton data-testid=\"flyout-header-close-btn\">\n <Icon\n name=\"cross\"\n size={type === 'inline' ? 'md' : 'lg'}\n />\n </CrossButton>\n </DialogClose>\n )}\n </Container>\n {showSeparator && (\n <Separator\n data-testid=\"flyout-header-separator\"\n size=\"lg\"\n />\n )}\n </div>\n );\n};\nHeader.displayName = 'Flyout.Header';\nFlyout.Header = Header;\n\ntype FlyoutAlign = 'default' | 'top';\n\nconst bodyVariants = cva(styles.body, {\n variants: {\n align: {\n default: styles.body_align_default,\n top: styles.body_align_top,\n },\n },\n defaultVariants: {\n align: 'default',\n },\n});\n\ninterface BodyProps extends ContainerProps {\n align?: FlyoutAlign;\n className?: string;\n}\n\nconst Body = ({ align, className, ...props }: BodyProps) => (\n <Container\n overflow=\"auto\"\n orientation=\"vertical\"\n grow=\"1\"\n {...props}\n className={cn(bodyVariants({ align }), className)}\n />\n);\n\nBody.displayName = 'Flyout.Body';\nFlyout.Body = Body;\n\nconst footerVariants = cva(styles.footer, {\n variants: {\n type: {\n default: styles.footer_type_default,\n inline: styles.footer_type_inline,\n },\n },\n defaultVariants: {\n type: 'default',\n },\n});\n\ninterface FlyoutButtonProps extends Omit<ButtonProps, 'children'> {\n children?: never;\n}\n\nconst FlyoutClose = ({\n children,\n ...props\n}: FlyoutButtonProps | { children?: ReactNode }) => {\n return (\n <DialogClose asChild>\n {children ?? (\n <Button\n type=\"secondary\"\n {...props}\n />\n )}\n </DialogClose>\n );\n};\nFlyoutClose.displayName = 'Flyout.Close';\nFlyout.Close = FlyoutClose;\n\nconst Footer = ({ type, className, ...props }: FlyoutFooterProps) => {\n return (\n <Container\n gap=\"none\"\n orientation=\"vertical\"\n alignItems=\"end\"\n className={styles['footer-container']}\n >\n <Separator size=\"xs\" />\n <Container\n justifyContent=\"end\"\n gap=\"none\"\n padding=\"none\"\n isResponsive={false}\n wrap=\"wrap\"\n {...props}\n className={cn(footerVariants({ type }), className)}\n />\n </Container>\n );\n};\nFooter.displayName = 'Flyout.Footer';\nFlyout.Footer = Footer;\n\ninterface FlyoutCodeBlockProps extends ContainerProps {\n language?: string;\n statement: string;\n showLineNumbers?: boolean;\n showWrapButton?: boolean;\n wrapLines?: boolean;\n onCopy?: (value: string) => void | Promise<void>;\n onCopyError?: (error: string) => void | Promise<void>;\n}\nconst FlyoutCodeBlock = ({\n statement,\n language,\n wrapLines,\n showLineNumbers,\n showWrapButton,\n onCopy,\n onCopyError,\n className,\n ...props\n}: FlyoutCodeBlockProps & ElementProps) => {\n return (\n <Element\n fillHeight\n {...props}\n >\n <CodeBlock\n className={cn(styles['code-block'], className)}\n wrapLines={wrapLines}\n language={language}\n showLineNumbers={showLineNumbers}\n showWrapButton={showWrapButton}\n onCopy={onCopy}\n onCopyError={onCopyError}\n >\n {statement}\n </CodeBlock>\n <Spacer size=\"xs\" />\n </Element>\n );\n};\n\nFlyout.CodeBlock = FlyoutCodeBlock;\n"],"names":["Flyout","modal","props","jsx","Dialog","Trigger","children","DialogTrigger","displayName","contentVariants","cva","styles","content","variants","type","default","content_type_default","inline","content_type_inline","strategy","relative","content_strategy_relative","absolute","content_strategy_absolute","fixed","content_strategy_fixed","align","start","content_align_start","end","content_align_end","hasShadow","true","false","defaultVariants","Content","showOverlay","container","size","closeOnInteractOutside","width","onInteractOutside","className","style","portalContainer","useResolvedPortalContainer","theme","useTheme","mergedStyle","useMemo","resolvedWidth","click","flyout","jsxs","DialogPortal","DialogOverlay","DialogContent","e","preventDefault","cn","elementVariants","element","element_type_default","element_type_inline","Element","Container","headerVariants","header","header_type_default","header_type_inline","titleVariants","title","title_type_default","title_type_inline","descriptionVariants","description","description_type_default","description_type_inline","Header","showClose","showSeparator","DialogClose","CrossButton","Icon","Separator","DialogTitle","DialogDescription","bodyVariants","body","body_align_default","top","body_align_top","Body","footerVariants","footer","footer_type_default","footer_type_inline","FlyoutClose","Button","Close","Footer","FlyoutCodeBlock","statement","language","wrapLines","showLineNumbers","showWrapButton","onCopy","onCopyError","CodeBlock","Spacer"],"mappings":"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"}