@clickhouse/click-ui 0.6.2-rc2 → 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 -124
  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 -125
  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,14 +1,19 @@
1
+ import "./Flyout.css";
1
2
  import { jsx, jsxs } from 'react/jsx-runtime';
2
- import { Dialog, DialogContent, DialogTitle, DialogDescription, DialogTrigger, DialogPortal, DialogOverlay, DialogClose } from '@radix-ui/react-dialog';
3
- import { styled, keyframes } from 'styled-components';
3
+ import { useMemo } from 'react';
4
+ import { useTheme } from 'styled-components';
5
+ import { Dialog, DialogTrigger, DialogPortal, DialogOverlay, DialogContent, DialogClose, DialogTitle, DialogDescription } from '@radix-ui/react-dialog';
4
6
  import { CrossButton } from '../CrossButton/index.js';
5
7
  import { useResolvedPortalContainer } from '../../providers/PortalContext.js';
8
+ import { cn } from '../../lib/cva.js';
9
+ import styles from './Flyout.module.css.js';
6
10
  import { Container } from '../Container/index.js';
7
- import { CodeBlock } from '../CodeBlock/index.js';
8
11
  import { Icon as SvgImage } from '../Icon/index.js';
9
12
  import { Separator } from '../Separator/index.js';
10
13
  import { Button } from '../Button/index.js';
14
+ import { CodeBlock } from '../CodeBlock/index.js';
11
15
  import { Spacer } from '../Spacer/index.js';
16
+ import { cva } from 'class-variance-authority';
12
17
 
13
18
  const Flyout = ({
14
19
  modal = false,
@@ -24,130 +29,129 @@ const Trigger = ({
24
29
  };
25
30
  Trigger.displayName = "Flyout.Trigger";
26
31
  Flyout.Trigger = Trigger;
27
- const animationWidth = () => keyframes({
28
- from: {
29
- width: 0
32
+ const contentVariants = cva(styles.content, {
33
+ variants: {
34
+ type: {
35
+ default: styles.content_type_default,
36
+ inline: styles.content_type_inline
37
+ },
38
+ strategy: {
39
+ relative: styles.content_strategy_relative,
40
+ absolute: styles.content_strategy_absolute,
41
+ fixed: styles.content_strategy_fixed
42
+ },
43
+ align: {
44
+ start: styles.content_align_start,
45
+ end: styles.content_align_end
46
+ },
47
+ hasShadow: {
48
+ true: "",
49
+ false: styles["content_no-shadow"]
50
+ }
30
51
  },
31
- to: {
32
- width: "fit-content"
52
+ defaultVariants: {
53
+ type: "default",
54
+ align: "end",
55
+ hasShadow: true
33
56
  }
34
57
  });
35
- const FlyoutContent = styled(DialogContent).withConfig({
36
- componentId: "sc-1vtv6sf-0"
37
- })(["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;", ""], ({
38
- theme,
39
- $size = "default",
40
- $width
41
- }) => $width || theme.click.flyout.size[$size].width, animationWidth, ({
42
- theme,
43
- $strategy,
44
- $type = "default",
45
- $align,
46
- $hasShadow = true
47
- }) => `
48
- ${$align === "start" ? "left" : "right"}: 0;
49
- max-width: 100%;
50
- position: ${$strategy};
51
- height: ${$strategy === "relative" ? "100%" : "auto"};
52
- padding: 0 ${theme.click.flyout.space[$type].x};
53
- gap: ${theme.click.flyout.space[$type].gap};
54
- box-shadow: ${$hasShadow === false ? "none" : theme.click.flyout.shadow[$align === "start" ? "reverse" : "default"]};
55
- border-${$align === "start" ? "right" : "left"}: 1px solid ${theme.click.flyout.color.stroke.default};
56
- background: ${theme.click.flyout.color.background.default};
57
-
58
- @media (max-width: 1024px) {
59
- ${$strategy === "relative" ? `
60
- position: absolute !important;` : ""}
61
- overflow: hidden;
62
- transform: ${$align === "start" ? "translateX(calc(50px - 100%))" : "translateX(calc(100% - 50px))"};
63
- transition: 0.3s ease-in-out;
64
- &:hover,
65
- &.active,
66
- &:focus-within {
67
- transform: translateX(0);
68
- ${$align === "start" ? "right" : "left"}: auto;
69
- }
70
- }
71
- `);
72
- const FlyoutContainer = styled.div.withConfig({
73
- componentId: "sc-1vtv6sf-1"
74
- })(["display:flex;gap:0;width:var(--flyout-width);max-width:100%;flex-flow:column nowrap;gap:inherit;"]);
75
58
  const Content = ({
76
59
  showOverlay = false,
77
60
  children,
78
61
  container,
79
62
  strategy = "relative",
80
- size,
63
+ size = "default",
81
64
  type = "default",
82
65
  closeOnInteractOutside = false,
83
66
  width,
84
67
  align = "end",
85
68
  hasShadow = true,
86
69
  onInteractOutside,
70
+ className,
71
+ style,
87
72
  ...props
88
73
  }) => {
89
74
  const portalContainer = useResolvedPortalContainer(container);
75
+ const theme = useTheme();
76
+ const mergedStyle = useMemo(() => {
77
+ const resolvedWidth = width || theme.click.flyout.size[size].width;
78
+ return {
79
+ "--flyout-width": resolvedWidth,
80
+ ...style
81
+ };
82
+ }, [width, size, style, theme]);
90
83
  return /* @__PURE__ */ jsxs(DialogPortal, { container: portalContainer, children: [
91
84
  showOverlay && /* @__PURE__ */ jsx(DialogOverlay, { className: "DialogOverlay" }),
92
- /* @__PURE__ */ jsx(FlyoutContent, { $size: size, $type: type, $strategy: strategy, onInteractOutside: (e) => {
85
+ /* @__PURE__ */ jsx(DialogContent, { onInteractOutside: (e) => {
93
86
  if (!closeOnInteractOutside) {
94
87
  e.preventDefault();
95
88
  }
96
89
  if (typeof onInteractOutside === "function") {
97
90
  onInteractOutside(e);
98
91
  }
99
- }, $width: width, $align: align, $hasShadow: hasShadow, ...props, children })
92
+ }, ...props, style: mergedStyle, className: cn(contentVariants({
93
+ type,
94
+ strategy,
95
+ align,
96
+ hasShadow
97
+ }), className), children })
100
98
  ] });
101
99
  };
102
100
  Content.displayName = "Flyout.Content";
103
101
  Flyout.Content = Content;
104
- const FlyoutElement = styled(Container).withConfig({
105
- componentId: "sc-1vtv6sf-2"
106
- })(["max-width:100%;max-width:-webkit-fill-available;max-width:fill-available;max-width:stretch;", ""], ({
107
- theme,
108
- $type = "default"
109
- }) => `
110
- gap: ${theme.click.flyout.space[$type].gap};
111
- padding: 0 ${theme.click.flyout.space[$type].content.x};
112
- `);
102
+ const elementVariants = cva(styles.element, {
103
+ variants: {
104
+ type: {
105
+ default: styles.element_type_default,
106
+ inline: styles.element_type_inline
107
+ }
108
+ },
109
+ defaultVariants: {
110
+ type: "default"
111
+ }
112
+ });
113
113
  const Element = ({
114
114
  type,
115
+ className,
115
116
  ...props
116
- }) => /* @__PURE__ */ jsx(FlyoutElement, { orientation: "vertical", padding: "none", gap: "none", $type: type, ...props });
117
+ }) => /* @__PURE__ */ jsx(Container, { orientation: "vertical", padding: "none", gap: "none", ...props, className: cn(elementVariants({
118
+ type
119
+ }), className) });
117
120
  Element.displayName = "Flyout.Element";
118
121
  Flyout.Element = Element;
119
- const FlyoutHeaderContainer = styled(Container).withConfig({
120
- componentId: "sc-1vtv6sf-3"
121
- })(["", ""], ({
122
- theme,
123
- $type = "default"
124
- }) => `
125
- row-gap: ${theme.click.flyout.space[$type].content["row-gap"]};
126
- column-gap: ${theme.click.flyout.space[$type].content["column-gap"]};
127
- padding: ${theme.click.flyout.space[$type].y} ${theme.click.flyout.space[$type].y} 0 ${theme.click.flyout.space[$type].y};
128
- `);
129
- const FlyoutTitle = styled(DialogTitle).withConfig({
130
- componentId: "sc-1vtv6sf-4"
131
- })(["", ""], ({
132
- theme,
133
- $type = "default"
134
- }) => `
135
- color: ${theme.click.flyout.color.title.default};
136
- font: ${theme.click.flyout.typography[$type].title.default};
137
- margin: 0;
138
- padding: 0;
139
- `);
140
- const FlyoutDescription = styled(DialogDescription).withConfig({
141
- componentId: "sc-1vtv6sf-5"
142
- })(["", ""], ({
143
- theme,
144
- $type = "default"
145
- }) => `
146
- color: ${theme.click.flyout.color.description.default};
147
- font: ${theme.click.flyout.typography[$type].description.default};
148
- margin: 0;
149
- padding: 0;
150
- `);
122
+ const headerVariants = cva(styles.header, {
123
+ variants: {
124
+ type: {
125
+ default: styles.header_type_default,
126
+ inline: styles.header_type_inline
127
+ }
128
+ },
129
+ defaultVariants: {
130
+ type: "default"
131
+ }
132
+ });
133
+ const titleVariants = cva(styles.title, {
134
+ variants: {
135
+ type: {
136
+ default: styles.title_type_default,
137
+ inline: styles.title_type_inline
138
+ }
139
+ },
140
+ defaultVariants: {
141
+ type: "default"
142
+ }
143
+ });
144
+ const descriptionVariants = cva(styles.description, {
145
+ variants: {
146
+ type: {
147
+ default: styles.description_type_default,
148
+ inline: styles.description_type_inline
149
+ }
150
+ },
151
+ defaultVariants: {
152
+ type: "default"
153
+ }
154
+ });
151
155
  const Header = ({
152
156
  title,
153
157
  description,
@@ -155,22 +159,31 @@ const Header = ({
155
159
  children,
156
160
  showClose = true,
157
161
  showSeparator = true,
162
+ className,
158
163
  ...props
159
164
  }) => {
160
165
  if (children) {
161
- return /* @__PURE__ */ jsxs(FlyoutContainer, { children: [
162
- /* @__PURE__ */ jsxs(FlyoutHeaderContainer, { $type: type, justifyContent: "space-between", alignItems: "start", padding: "none", gap: "none", fillWidth: false, isResponsive: false, ...props, children: [
166
+ return /* @__PURE__ */ jsxs("div", { className: styles.container, children: [
167
+ /* @__PURE__ */ jsxs(Container, { justifyContent: "space-between", alignItems: "start", padding: "none", gap: "none", fillWidth: false, isResponsive: false, ...props, className: cn(headerVariants({
168
+ type
169
+ }), className), children: [
163
170
  /* @__PURE__ */ jsx(Container, { padding: "none", gap: "none", orientation: "vertical", grow: "1", children }),
164
171
  showClose && /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(CrossButton, { "data-testid": "flyout-header-close-btn", children: /* @__PURE__ */ jsx(SvgImage, { name: "cross", size: type === "inline" ? "md" : "lg" }) }) })
165
172
  ] }),
166
173
  showSeparator && /* @__PURE__ */ jsx(Separator, { "data-testid": "flyout-header-separator", size: "lg" })
167
174
  ] });
168
175
  }
169
- return /* @__PURE__ */ jsxs(FlyoutContainer, { children: [
170
- /* @__PURE__ */ jsxs(FlyoutHeaderContainer, { $type: type, justifyContent: "space-between", alignItems: "start", fillWidth: false, isResponsive: false, ...props, children: [
176
+ return /* @__PURE__ */ jsxs("div", { className: styles.container, children: [
177
+ /* @__PURE__ */ jsxs(Container, { justifyContent: "space-between", alignItems: "start", fillWidth: false, isResponsive: false, ...props, className: cn(headerVariants({
178
+ type
179
+ }), className), children: [
171
180
  /* @__PURE__ */ jsxs(Container, { padding: "none", gap: "none", orientation: "vertical", grow: "1", children: [
172
- /* @__PURE__ */ jsx(FlyoutTitle, { $type: type, children: title }),
173
- description && /* @__PURE__ */ jsx(FlyoutDescription, { $type: type, children: description })
181
+ /* @__PURE__ */ jsx(DialogTitle, { className: cn(titleVariants({
182
+ type
183
+ })), children: title }),
184
+ description && /* @__PURE__ */ jsx(DialogDescription, { className: cn(descriptionVariants({
185
+ type
186
+ })), children: description })
174
187
  ] }),
175
188
  showClose && /* @__PURE__ */ jsx(DialogClose, { asChild: true, children: /* @__PURE__ */ jsx(CrossButton, { "data-testid": "flyout-header-close-btn", children: /* @__PURE__ */ jsx(SvgImage, { name: "cross", size: type === "inline" ? "md" : "lg" }) }) })
176
189
  ] }),
@@ -179,27 +192,37 @@ const Header = ({
179
192
  };
180
193
  Header.displayName = "Flyout.Header";
181
194
  Flyout.Header = Header;
182
- const FlyoutBody = styled(Container).withConfig({
183
- componentId: "sc-1vtv6sf-6"
184
- })(["width:var(--flyout-width);max-width:100%;margin-top:", ";"], ({
185
- $align = "default"
186
- }) => $align === "top" ? "-1rem" : 0);
195
+ const bodyVariants = cva(styles.body, {
196
+ variants: {
197
+ align: {
198
+ default: styles.body_align_default,
199
+ top: styles.body_align_top
200
+ }
201
+ },
202
+ defaultVariants: {
203
+ align: "default"
204
+ }
205
+ });
187
206
  const Body = ({
188
207
  align,
208
+ className,
189
209
  ...props
190
- }) => /* @__PURE__ */ jsx(FlyoutBody, { overflow: "auto", orientation: "vertical", grow: "1", $align: align, ...props });
210
+ }) => /* @__PURE__ */ jsx(Container, { overflow: "auto", orientation: "vertical", grow: "1", ...props, className: cn(bodyVariants({
211
+ align
212
+ }), className) });
191
213
  Body.displayName = "Flyout.Body";
192
214
  Flyout.Body = Body;
193
- const FlyoutFooter = styled(Container).withConfig({
194
- componentId: "sc-1vtv6sf-7"
195
- })(["", ""], ({
196
- theme,
197
- type = "default"
198
- }) => `
199
- row-gap: ${theme.click.flyout.space[type].content["row-gap"]};
200
- column-gap: ${theme.click.flyout.space[type].content["column-gap"]};
201
- padding: ${theme.click.flyout.space[type].y} ${theme.click.flyout.space[type].content.x};
202
- `);
215
+ const footerVariants = cva(styles.footer, {
216
+ variants: {
217
+ type: {
218
+ default: styles.footer_type_default,
219
+ inline: styles.footer_type_inline
220
+ }
221
+ },
222
+ defaultVariants: {
223
+ type: "default"
224
+ }
225
+ });
203
226
  const FlyoutClose = ({
204
227
  children,
205
228
  ...props
@@ -208,20 +231,20 @@ const FlyoutClose = ({
208
231
  };
209
232
  FlyoutClose.displayName = "Flyout.Close";
210
233
  Flyout.Close = FlyoutClose;
211
- const FooterContainer = styled(Container).withConfig({
212
- componentId: "sc-1vtv6sf-8"
213
- })(["width:var(--flyout-width);max-width:100%;"]);
214
- const Footer = (props) => {
215
- return /* @__PURE__ */ jsxs(FooterContainer, { gap: "none", orientation: "vertical", alignItems: "end", children: [
234
+ const Footer = ({
235
+ type,
236
+ className,
237
+ ...props
238
+ }) => {
239
+ return /* @__PURE__ */ jsxs(Container, { gap: "none", orientation: "vertical", alignItems: "end", className: styles["footer-container"], children: [
216
240
  /* @__PURE__ */ jsx(Separator, { size: "xs" }),
217
- /* @__PURE__ */ jsx(FlyoutFooter, { justifyContent: "end", gap: "none", padding: "none", isResponsive: false, wrap: "wrap", ...props })
241
+ /* @__PURE__ */ jsx(Container, { justifyContent: "end", gap: "none", padding: "none", isResponsive: false, wrap: "wrap", ...props, className: cn(footerVariants({
242
+ type
243
+ }), className) })
218
244
  ] });
219
245
  };
220
246
  Footer.displayName = "Flyout.Footer";
221
247
  Flyout.Footer = Footer;
222
- const CustomCodeBlock = styled(CodeBlock).withConfig({
223
- componentId: "sc-1vtv6sf-9"
224
- })(["display:flex;height:100%;pre{flex:1;overflow-wrap:break-word;code{display:inline-block;max-width:calc(100% - 1rem);}}"]);
225
248
  const FlyoutCodeBlock = ({
226
249
  statement,
227
250
  language,
@@ -230,10 +253,11 @@ const FlyoutCodeBlock = ({
230
253
  showWrapButton,
231
254
  onCopy,
232
255
  onCopyError,
256
+ className,
233
257
  ...props
234
258
  }) => {
235
259
  return /* @__PURE__ */ jsxs(Element, { fillHeight: true, ...props, children: [
236
- /* @__PURE__ */ jsx(CustomCodeBlock, { wrapLines, language, showLineNumbers, showWrapButton, onCopy, onCopyError, children: statement }),
260
+ /* @__PURE__ */ jsx(CodeBlock, { className: cn(styles["code-block"], className), wrapLines, language, showLineNumbers, showWrapButton, onCopy, onCopyError, children: statement }),
237
261
  /* @__PURE__ */ jsx(Spacer, { size: "xs" })
238
262
  ] });
239
263
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","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 gap: ${theme.click.flyout.space[$type].gap};\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","Trigger","children","displayName","animationWidth","keyframes","from","width","to","FlyoutContent","styled","DialogContent","withConfig","componentId","theme","$size","$width","click","flyout","size","$strategy","$type","$align","$hasShadow","space","x","gap","shadow","color","stroke","default","background","FlyoutContainer","div","Content","showOverlay","container","strategy","type","closeOnInteractOutside","align","hasShadow","onInteractOutside","portalContainer","useResolvedPortalContainer","e","preventDefault","FlyoutElement","Container","content","Element","FlyoutHeaderContainer","y","FlyoutTitle","DialogTitle","title","typography","FlyoutDescription","DialogDescription","description","Header","showClose","showSeparator","Icon","FlyoutBody","Body","FlyoutFooter","FlyoutClose","Close","FooterContainer","Footer","CustomCodeBlock","CodeBlock","FlyoutCodeBlock","statement","language","wrapLines","showLineNumbers","showWrapButton","onCopy","onCopyError"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","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","Trigger","children","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","e","preventDefault","cn","elementVariants","element","element_type_default","element_type_inline","Element","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","Icon","bodyVariants","body","body_align_default","top","body_align_top","Body","footerVariants","footer","footer_type_default","footer_type_inline","FlyoutClose","Close","Footer","FlyoutCodeBlock","statement","language","wrapLines","showLineNumbers","showWrapButton","onCopy","onCopyError","CodeBlock"],"mappings":"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"}