@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,89 +1,49 @@
1
+ import "./Toast.css";
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
  import { useState, useEffect, createContext } from 'react';
3
4
  import * as RadixUIToast from '@radix-ui/react-toast';
4
- import { styled, keyframes } from 'styled-components';
5
+ import { cn } from '../../lib/cva.js';
5
6
  import { toastsEventEmitter } from './toastEmitter.js';
7
+ import styles from './Toast.module.css.js';
6
8
  import { IconButton } from '../IconButton/index.js';
7
9
  import { Button } from '../Button/index.js';
8
10
  import { Icon as SvgImage } from '../Icon/index.js';
11
+ import { cva } from 'class-variance-authority';
9
12
 
10
13
  const ToastContext = createContext({
11
14
  createToast: () => null
12
15
  });
13
- const ToastIconWrapper = (props) => /* @__PURE__ */ jsx(SvgImage, { ...props });
14
- const ToastIcon = styled(ToastIconWrapper).withConfig({
15
- componentId: "sc-tmc8vl-0"
16
- })(["", ""], ({
17
- theme,
18
- $type = "default"
19
- }) => `
20
- width: ${theme.click.toast.icon.size.width};
21
- height: ${theme.click.toast.icon.size.height};
22
- color: ${theme.click.toast.color.icon[$type]}
23
- `);
24
- const hide = keyframes`
25
- from {
26
- opacity: 1;
27
- }
28
- to {
29
- opacity: 0;
30
- }
31
- `;
32
- const slideIn = keyframes`
33
- from {
34
- transform: translateX(calc(100% + var(--viewport-padding)));
35
- }
36
- to {
37
- transform: translateX(0);
38
- }
39
- `;
40
- const swipeOut = keyframes`
41
- from {
42
- transform: translateX(var(--radix-toast-swipe-end-x));
16
+ const toastIconVariants = cva(styles.toast__icon, {
17
+ variants: {
18
+ type: {
19
+ default: styles["toast__icon_type_default"],
20
+ success: styles["toast__icon_type_success"],
21
+ warning: styles["toast__icon_type_warning"],
22
+ danger: styles["toast__icon_type_danger"]
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ type: "default"
43
27
  }
44
- to {
45
- transform: translateX(calc(100% + var(--viewport-padding)));
28
+ });
29
+ const ToastIcon = ({
30
+ $type = "default",
31
+ className,
32
+ ...props
33
+ }) => /* @__PURE__ */ jsx(SvgImage, { ...props, className: cn(toastIconVariants({
34
+ type: $type
35
+ }), className) });
36
+ const viewportVariants = cva(styles["toast-viewport"], {
37
+ variants: {
38
+ align: {
39
+ start: styles["toast-viewport_align_start"],
40
+ end: styles["toast-viewport_align_end"]
41
+ }
42
+ },
43
+ defaultVariants: {
44
+ align: "end"
46
45
  }
47
- `;
48
- const ToastRoot = styled(RadixUIToast.Root).withConfig({
49
- componentId: "sc-tmc8vl-1"
50
- })(["display:flex;flex-direction:column;align-items:flex-start;width:100%;", " &[data-state='open']{animation:", " 150ms cubic-bezier(0.16,1,0.3,1);}&[data-state='closed']{animation:", " 100ms ease-in;}&[data-swipe='move']{transform:translateX(var(--radix-toast-swipe-move-x));}&[data-swipe='cancel']{transform:translateX(0);transition:transform 200ms ease-out;}&[data-swipe='end']{animation:", " 100ms ease-out;}"], ({
51
- theme
52
- }) => `
53
- padding: ${theme.click.toast.space.y} ${theme.click.toast.space.x};
54
- gap: ${theme.click.toast.space.gap};
55
- border-radius: ${theme.click.toast.radii.all};
56
- border: 1px solid ${theme.click.toast.color.stroke.default};
57
- background: ${theme.click.global.color.background.default};
58
- box-shadow: ${theme.click.toast.shadow};
59
- `, slideIn, hide, swipeOut);
60
- const ToastHeader = styled(RadixUIToast.Title).withConfig({
61
- componentId: "sc-tmc8vl-2"
62
- })(["display:flex;justify-content:space-between;align-items:center;width:100%;gap:inherit;", ""], ({
63
- theme
64
- }) => `
65
- font: ${theme.click.toast.typography.title.default};
66
- color: ${theme.click.toast.color.title.default};
67
- `);
68
- const ToastDescriptionContainer = styled.div.withConfig({
69
- componentId: "sc-tmc8vl-3"
70
- })(["display:flex;flex-direction:column;justify-content:space-between;width:100%;align-items:flex-end;gap:inherit;", ""], ({
71
- theme
72
- }) => `
73
- font: ${theme.click.toast.typography.title.default};
74
- color: ${theme.click.toast.color.title.default};
75
- `);
76
- const ToastDescriptionContent = styled.div.withConfig({
77
- componentId: "sc-tmc8vl-4"
78
- })(["display:flex;align-self:stretch;gap:inherit;", ""], ({
79
- theme
80
- }) => `
81
- font: ${theme.click.toast.typography.description.default};
82
- color: ${theme.click.toast.color.description.default};
83
- `);
84
- const Title = styled.div.withConfig({
85
- componentId: "sc-tmc8vl-5"
86
- })(["flex:1;"]);
46
+ });
87
47
  const Toast = ({
88
48
  type,
89
49
  toastType = "foreground",
@@ -92,6 +52,7 @@ const Toast = ({
92
52
  actions = [],
93
53
  duration,
94
54
  onClose,
55
+ className,
95
56
  ...props
96
57
  }) => {
97
58
  let iconName = "";
@@ -102,37 +63,21 @@ const Toast = ({
102
63
  } else if (type && ["danger", "warning"].includes(type)) {
103
64
  iconName = "warning";
104
65
  }
105
- return /* @__PURE__ */ jsxs(ToastRoot, { onOpenChange: onClose, duration, type: toastType, ...props, children: [
106
- /* @__PURE__ */ jsxs(ToastHeader, { children: [
66
+ return /* @__PURE__ */ jsxs(RadixUIToast.Root, { onOpenChange: onClose, duration, type: toastType, ...props, className: cn(styles.toast, className), children: [
67
+ /* @__PURE__ */ jsxs(RadixUIToast.Title, { className: styles.toast__header, children: [
107
68
  iconName.length > 0 && /* @__PURE__ */ jsx(ToastIcon, { name: iconName, $type: type }),
108
- /* @__PURE__ */ jsx(Title, { children: title }),
69
+ /* @__PURE__ */ jsx("div", { className: styles.toast__title, children: title }),
109
70
  /* @__PURE__ */ jsx(RadixUIToast.Close, { asChild: true, children: /* @__PURE__ */ jsx(IconButton, { icon: "cross", type: "ghost" }) })
110
71
  ] }),
111
- (description || actions.length > 0) && /* @__PURE__ */ jsxs(ToastDescriptionContainer, { children: [
112
- /* @__PURE__ */ jsx(ToastDescriptionContent, { as: RadixUIToast.Description, children: description }),
113
- actions.length > 0 && /* @__PURE__ */ jsx(ToastDescriptionContent, { children: actions.map(({
72
+ (description || actions.length > 0) && /* @__PURE__ */ jsxs("div", { className: styles["toast__description-container"], children: [
73
+ /* @__PURE__ */ jsx(RadixUIToast.Description, { className: styles["toast__description-content"], children: description }),
74
+ actions.length > 0 && /* @__PURE__ */ jsx("div", { className: styles["toast__description-content"], children: actions.map(({
114
75
  altText,
115
76
  ...btnProps
116
77
  }) => /* @__PURE__ */ jsx(RadixUIToast.Action, { altText, asChild: true, children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Button, { ...btnProps }) }) }, altText)) })
117
78
  ] })
118
79
  ] });
119
80
  };
120
- const Viewport = styled(RadixUIToast.Viewport).withConfig({
121
- componentId: "sc-tmc8vl-6"
122
- })(["--viewport-padding:25px;position:fixed;bottom:0;", ";display:flex;flex-direction:column;padding:var(--viewport-padding);gap:", ";width:", ";max-width:100vw;margin:0;list-style:none;z-index:2147483647;outline:none;"], ({
123
- $align
124
- }) => {
125
- if ($align === "start") {
126
- return "left: 0";
127
- }
128
- return `
129
- right: 0;
130
- `;
131
- }, ({
132
- theme
133
- }) => theme.click.toast.space.gap, ({
134
- theme
135
- }) => theme.click.toast.size.width);
136
81
  const ToastProvider = ({
137
82
  children,
138
83
  align = "end",
@@ -189,7 +134,9 @@ const ToastProvider = ({
189
134
  children,
190
135
  Array.from(toasts[align]).map(([id, toast]) => /* @__PURE__ */ jsx(Toast, { ...toast, onClose: onClose(id) }, id))
191
136
  ] }),
192
- /* @__PURE__ */ jsx(Viewport, { $align: align })
137
+ /* @__PURE__ */ jsx(RadixUIToast.Viewport, { className: cn(viewportVariants({
138
+ align
139
+ })) })
193
140
  ] }, `toast-provider-${align}`);
194
141
  };
195
142
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import { createContext, useEffect, useState } from 'react';\nimport * as RadixUIToast from '@radix-ui/react-toast';\nimport { keyframes, styled } from 'styled-components';\nimport { toastsEventEmitter } from './toastEmitter';\nimport { Icon, type IconName, type IconProps } from '@/components/Icon';\nimport { IconButton } from '@/components/IconButton';\nimport { Button } from '@/components/Button';\nimport { ToastContextProps, ToastProps, ToastAlignment, ToastType } from './Toast.types';\n\nexport const ToastContext = createContext<ToastContextProps>({\n createToast: () => null,\n});\n\n// Lazy wrapper to avoid circular dependency issues at module load time\nconst ToastIconWrapper = (props: IconProps & { $type?: ToastType }) => (\n <Icon {...props} />\n);\n\nconst ToastIcon = styled(ToastIconWrapper)<{ $type?: ToastType }>`\n ${({ theme, $type = 'default' }) => `\n width: ${theme.click.toast.icon.size.width};\n height: ${theme.click.toast.icon.size.height};\n color: ${theme.click.toast.color.icon[$type]}\n`}\n`;\nconst hide = keyframes`\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n`;\nconst slideIn = keyframes`\n from {\n transform: translateX(calc(100% + var(--viewport-padding)));\n }\n to {\n transform: translateX(0);\n }\n`;\nconst swipeOut = keyframes`\n from {\n transform: translateX(var(--radix-toast-swipe-end-x));\n }\n to {\n transform: translateX(calc(100% + var(--viewport-padding)));\n }\n`;\n\nconst ToastRoot = styled(RadixUIToast.Root)`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n width: 100%;\n ${({ theme }) => `\n padding: ${theme.click.toast.space.y} ${theme.click.toast.space.x};\n gap: ${theme.click.toast.space.gap};\n border-radius: ${theme.click.toast.radii.all};\n border: 1px solid ${theme.click.toast.color.stroke.default};\n background: ${theme.click.global.color.background.default};\n box-shadow: ${theme.click.toast.shadow};\n `}\n &[data-state='open'] {\n animation: ${slideIn} 150ms cubic-bezier(0.16, 1, 0.3, 1);\n }\n &[data-state='closed'] {\n animation: ${hide} 100ms ease-in;\n }\n &[data-swipe='move'] {\n transform: translateX(var(--radix-toast-swipe-move-x));\n }\n &[data-swipe='cancel'] {\n transform: translateX(0);\n transition: transform 200ms ease-out;\n }\n &[data-swipe='end'] {\n animation: ${swipeOut} 100ms ease-out;\n }\n`;\n\nconst ToastHeader = styled(RadixUIToast.Title)`\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n gap: inherit;\n ${({ theme }) => `\n font: ${theme.click.toast.typography.title.default};\n color: ${theme.click.toast.color.title.default};\n `}\n`;\n\nconst ToastDescriptionContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n align-items: flex-end;\n gap: inherit;\n ${({ theme }) => `\n font: ${theme.click.toast.typography.title.default};\n color: ${theme.click.toast.color.title.default};\n `}\n`;\n\nconst ToastDescriptionContent = styled.div`\n display: flex;\n align-self: stretch;\n gap: inherit;\n ${({ theme }) => `\n font: ${theme.click.toast.typography.description.default};\n color: ${theme.click.toast.color.description.default};\n `}\n`;\n\nconst Title = styled.div`\n flex: 1;\n`;\n\nexport const Toast = ({\n type,\n toastType = 'foreground',\n title,\n description,\n actions = [],\n duration,\n onClose,\n\n ...props\n}: ToastProps & { onClose: (open: boolean) => void }) => {\n let iconName = '';\n if (type === 'default') {\n iconName = 'info-in-circle';\n } else if (type === 'success') {\n iconName = 'check';\n } else if (type && ['danger', 'warning'].includes(type)) {\n iconName = 'warning';\n }\n return (\n <ToastRoot\n onOpenChange={onClose}\n duration={duration}\n type={toastType}\n {...props}\n >\n <ToastHeader>\n {iconName.length > 0 && (\n <ToastIcon\n name={iconName as IconName}\n $type={type}\n />\n )}\n <Title>{title}</Title>\n <RadixUIToast.Close asChild>\n <IconButton\n icon=\"cross\"\n type=\"ghost\"\n />\n </RadixUIToast.Close>\n </ToastHeader>\n {(description || actions.length > 0) && (\n <ToastDescriptionContainer>\n <ToastDescriptionContent as={RadixUIToast.Description}>\n {description}\n </ToastDescriptionContent>\n {actions.length > 0 && (\n <ToastDescriptionContent>\n {actions.map(({ altText, ...btnProps }) => (\n <RadixUIToast.Action\n altText={altText}\n asChild\n key={altText}\n >\n <div>\n <Button {...btnProps} />\n </div>\n </RadixUIToast.Action>\n ))}\n </ToastDescriptionContent>\n )}\n </ToastDescriptionContainer>\n )}\n </ToastRoot>\n );\n};\n\nconst Viewport = styled(RadixUIToast.Viewport)<{ $align: ToastAlignment }>`\n --viewport-padding: 25px;\n position: fixed;\n bottom: 0;\n ${({ $align }) => {\n if ($align === 'start') {\n return 'left: 0';\n }\n return `\n right: 0;\n `;\n }};\n display: flex;\n flex-direction: column;\n padding: var(--viewport-padding);\n gap: ${({ theme }) => theme.click.toast.space.gap};\n width: ${({ theme }) => theme.click.toast.size.width};\n max-width: 100vw;\n margin: 0;\n list-style: none;\n z-index: 2147483647;\n outline: none;\n`;\n\nexport interface ToastProviderProps extends RadixUIToast.ToastProviderProps {\n align?: ToastAlignment;\n}\n\nexport const ToastProvider = ({\n children,\n align = 'end',\n ...props\n}: ToastProviderProps) => {\n const [toasts, setToasts] = useState<Record<ToastAlignment, Map<string, ToastProps>>>({\n start: new Map(),\n end: new Map(),\n });\n\n useEffect(() => {\n const listener = (toast: ToastProps) => {\n setToasts(currentToasts => {\n const alignment = toast.align ?? 'end';\n const newToasts = { ...currentToasts };\n const map = new Map(newToasts[alignment]);\n map.set(toast?.id ?? String(Date.now()), toast);\n newToasts[alignment] = map;\n return newToasts;\n });\n };\n\n toastsEventEmitter.on(listener);\n\n return () => toastsEventEmitter.off(listener);\n }, []);\n\n const onClose = (id: string) => (open: boolean) => {\n if (!open) {\n setToasts(currentToasts => {\n const newToasts = { ...currentToasts };\n const map = new Map(newToasts[align]);\n map.delete(id);\n newToasts[align] = map;\n return newToasts;\n });\n }\n };\n\n const value = {\n createToast: (toast: ToastProps, toastAlign: ToastAlignment = align) => {\n setToasts(currentToasts => {\n const newToasts = { ...currentToasts };\n const map = new Map(newToasts[toastAlign]);\n map.set(toast?.id ?? String(Date.now()), toast);\n newToasts[toastAlign] = map;\n return newToasts;\n });\n },\n };\n\n return (\n <RadixUIToast.Provider\n swipeDirection={align === 'start' ? 'left' : 'right'}\n key={`toast-provider-${align}`}\n {...props}\n >\n <ToastContext.Provider value={value}>\n {children}\n {Array.from(toasts[align]).map(([id, toast]) => (\n <Toast\n key={id}\n {...toast}\n onClose={onClose(id)}\n />\n ))}\n </ToastContext.Provider>\n <Viewport $align={align} />\n </RadixUIToast.Provider>\n );\n};\n"],"names":["ToastContext","createContext","createToast","ToastIconWrapper","props","Icon","ToastIcon","styled","withConfig","componentId","theme","$type","click","toast","icon","size","width","height","color","hide","keyframes","slideIn","swipeOut","ToastRoot","RadixUIToast","Root","space","y","x","gap","radii","all","stroke","default","global","background","shadow","ToastHeader","Title","typography","title","ToastDescriptionContainer","div","ToastDescriptionContent","description","Toast","type","toastType","actions","duration","onClose","iconName","includes","length","Description","map","altText","btnProps","Viewport","$align","ToastProvider","children","align","toasts","setToasts","useState","start","Map","end","useEffect","listener","currentToasts","alignment","newToasts","set","id","String","Date","now","toastsEventEmitter","on","off","open","delete","value","toastAlign","Array","from"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Toast/Toast.tsx"],"sourcesContent":["import { createContext, useEffect, useState } from 'react';\nimport * as RadixUIToast from '@radix-ui/react-toast';\nimport { cn, cva } from '@/lib/cva';\nimport { toastsEventEmitter } from './toastEmitter';\nimport { Icon, type IconName, type IconProps } from '@/components/Icon';\nimport { IconButton } from '@/components/IconButton';\nimport { Button } from '@/components/Button';\nimport { ToastContextProps, ToastProps, ToastAlignment, ToastType } from './Toast.types';\nimport styles from './Toast.module.css';\n\nexport const ToastContext = createContext<ToastContextProps>({\n createToast: () => null,\n});\n\nconst toastIconVariants = cva(styles.toast__icon, {\n variants: {\n type: {\n default: styles['toast__icon_type_default'],\n success: styles['toast__icon_type_success'],\n warning: styles['toast__icon_type_warning'],\n danger: styles['toast__icon_type_danger'],\n },\n },\n defaultVariants: {\n type: 'default',\n },\n});\n\n// Lazy wrapper to avoid circular dependency issues at module load time\nconst ToastIcon = ({\n $type = 'default',\n className,\n ...props\n}: IconProps & { $type?: ToastType }) => (\n <Icon\n {...props}\n className={cn(toastIconVariants({ type: $type }), className)}\n />\n);\n\nconst viewportVariants = cva(styles['toast-viewport'], {\n variants: {\n align: {\n start: styles['toast-viewport_align_start'],\n end: styles['toast-viewport_align_end'],\n },\n },\n defaultVariants: {\n align: 'end',\n },\n});\n\nexport const Toast = ({\n type,\n toastType = 'foreground',\n title,\n description,\n actions = [],\n duration,\n onClose,\n className,\n ...props\n}: ToastProps & { onClose: (open: boolean) => void }) => {\n let iconName = '';\n if (type === 'default') {\n iconName = 'info-in-circle';\n } else if (type === 'success') {\n iconName = 'check';\n } else if (type && ['danger', 'warning'].includes(type)) {\n iconName = 'warning';\n }\n return (\n <RadixUIToast.Root\n onOpenChange={onClose}\n duration={duration}\n type={toastType}\n {...props}\n className={cn(styles.toast, className)}\n >\n <RadixUIToast.Title className={styles.toast__header}>\n {iconName.length > 0 && (\n <ToastIcon\n name={iconName as IconName}\n $type={type}\n />\n )}\n <div className={styles.toast__title}>{title}</div>\n <RadixUIToast.Close asChild>\n <IconButton\n icon=\"cross\"\n type=\"ghost\"\n />\n </RadixUIToast.Close>\n </RadixUIToast.Title>\n {(description || actions.length > 0) && (\n <div className={styles['toast__description-container']}>\n <RadixUIToast.Description className={styles['toast__description-content']}>\n {description}\n </RadixUIToast.Description>\n {actions.length > 0 && (\n <div className={styles['toast__description-content']}>\n {actions.map(({ altText, ...btnProps }) => (\n <RadixUIToast.Action\n altText={altText}\n asChild\n key={altText}\n >\n <div>\n <Button {...btnProps} />\n </div>\n </RadixUIToast.Action>\n ))}\n </div>\n )}\n </div>\n )}\n </RadixUIToast.Root>\n );\n};\n\nexport interface ToastProviderProps extends RadixUIToast.ToastProviderProps {\n align?: ToastAlignment;\n}\n\nexport const ToastProvider = ({\n children,\n align = 'end',\n ...props\n}: ToastProviderProps) => {\n const [toasts, setToasts] = useState<Record<ToastAlignment, Map<string, ToastProps>>>({\n start: new Map(),\n end: new Map(),\n });\n\n useEffect(() => {\n const listener = (toast: ToastProps) => {\n setToasts(currentToasts => {\n const alignment = toast.align ?? 'end';\n const newToasts = { ...currentToasts };\n const map = new Map(newToasts[alignment]);\n map.set(toast?.id ?? String(Date.now()), toast);\n newToasts[alignment] = map;\n return newToasts;\n });\n };\n\n toastsEventEmitter.on(listener);\n\n return () => toastsEventEmitter.off(listener);\n }, []);\n\n const onClose = (id: string) => (open: boolean) => {\n if (!open) {\n setToasts(currentToasts => {\n const newToasts = { ...currentToasts };\n const map = new Map(newToasts[align]);\n map.delete(id);\n newToasts[align] = map;\n return newToasts;\n });\n }\n };\n\n const value = {\n createToast: (toast: ToastProps, toastAlign: ToastAlignment = align) => {\n setToasts(currentToasts => {\n const newToasts = { ...currentToasts };\n const map = new Map(newToasts[toastAlign]);\n map.set(toast?.id ?? String(Date.now()), toast);\n newToasts[toastAlign] = map;\n return newToasts;\n });\n },\n };\n\n return (\n <RadixUIToast.Provider\n swipeDirection={align === 'start' ? 'left' : 'right'}\n key={`toast-provider-${align}`}\n {...props}\n >\n <ToastContext.Provider value={value}>\n {children}\n {Array.from(toasts[align]).map(([id, toast]) => (\n <Toast\n key={id}\n {...toast}\n onClose={onClose(id)}\n />\n ))}\n </ToastContext.Provider>\n <RadixUIToast.Viewport className={cn(viewportVariants({ align }))} />\n </RadixUIToast.Provider>\n );\n};\n"],"names":["ToastContext","createContext","createToast","toastIconVariants","cva","styles","toast__icon","variants","type","default","success","warning","danger","defaultVariants","ToastIcon","$type","className","props","Icon","cn","viewportVariants","align","start","end","Toast","toastType","title","description","actions","duration","onClose","iconName","includes","toast","toast__header","length","toast__title","map","altText","btnProps","ToastProvider","children","toasts","setToasts","useState","Map","useEffect","listener","currentToasts","alignment","newToasts","set","id","String","Date","now","toastsEventEmitter","on","off","open","delete","value","toastAlign","Array","from"],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ .content__UW4Fd {
2
+ --tooltip-max-width: initial;
3
+
4
+ display: flex;
5
+ max-width: var(--tooltip-max-width);
6
+ padding: var(--click-tooltip-space-y) var(--click-tooltip-space-x);
7
+ align-items: flex-start;
8
+ border-radius: var(--click-tooltip-radii-all);
9
+ background: var(--click-tooltip-color-background-default);
10
+ color: var(--click-tooltip-color-label-default);
11
+ font: var(--click-tooltip-typography-label-default);
12
+ white-space: pre-wrap;
13
+ }
14
+
15
+ .arrow__4zROk {
16
+ fill: var(--click-tooltip-color-background-default);
17
+ }
@@ -0,0 +1,9 @@
1
+ const content = "content__UW4Fd";
2
+ const arrow = "arrow__4zROk";
3
+ const styles = {
4
+ content: content,
5
+ arrow: arrow
6
+ };
7
+
8
+ export { arrow, content, styles as default };
9
+ //# sourceMappingURL=Tooltip.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tooltip.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1,7 +1,9 @@
1
+ import "./Tooltip.css";
1
2
  import { jsx, jsxs } from 'react/jsx-runtime';
2
3
  import * as RadixTooltip from '@radix-ui/react-tooltip';
3
- import { styled } from 'styled-components';
4
+ import { cn } from '../../lib/cva.js';
4
5
  import { useResolvedPortalContainer } from '../../providers/PortalContext.js';
6
+ import styles from './Tooltip.module.css.js';
5
7
 
6
8
  const Tooltip = ({
7
9
  children,
@@ -16,38 +18,24 @@ const TooltipTrigger = (props) => {
16
18
  };
17
19
  TooltipTrigger.displayName = "TooltipTrigger";
18
20
  Tooltip.Trigger = TooltipTrigger;
19
- const RadixTooltipContent = styled(RadixTooltip.Content).withConfig({
20
- componentId: "sc-ymqkp1-0"
21
- })(["display:flex;align-items:flex-start;", ""], ({
22
- theme,
23
- $maxWidth
24
- }) => `
25
- padding: ${theme.click.tooltip.space.y} ${theme.click.tooltip.space.x};
26
- color: ${theme.click.tooltip.color.label.default};
27
- background: ${theme.click.tooltip.color.background.default};
28
- border-radius: ${theme.click.tooltip.radii.all};
29
- font: ${theme.click.tooltip.typography.label.default};
30
- white-space: pre-wrap;
31
- ${$maxWidth && `max-width: ${$maxWidth}`};
32
- `);
33
- const Arrow = styled.svg.withConfig({
34
- componentId: "sc-ymqkp1-1"
35
- })(["", ";"], ({
36
- theme
37
- }) => `
38
- fill: ${theme.click.tooltip.color.background.default};
39
- `);
40
21
  const TooltipContent = ({
41
22
  showArrow,
42
23
  children,
43
24
  sideOffset = 6,
44
25
  maxWidth,
26
+ className,
27
+ style,
45
28
  container,
46
29
  ...props
47
30
  }) => {
48
31
  const portalContainer = useResolvedPortalContainer(container);
49
- return /* @__PURE__ */ jsx(RadixTooltip.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs(RadixTooltipContent, { sideOffset, $maxWidth: maxWidth, ...props, children: [
50
- showArrow && /* @__PURE__ */ jsx(Arrow, { as: RadixTooltip.Arrow, width: 20, height: 8 }),
32
+ return /* @__PURE__ */ jsx(RadixTooltip.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs(RadixTooltip.Content, { sideOffset, style: {
33
+ ...maxWidth ? {
34
+ "--tooltip-max-width": maxWidth
35
+ } : {},
36
+ ...style
37
+ }, ...props, className: cn(styles.content, className), children: [
38
+ showArrow && /* @__PURE__ */ jsx(RadixTooltip.Arrow, { className: styles.arrow, width: 20, height: 8 }),
51
39
  children
52
40
  ] }) });
53
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as RadixTooltip from '@radix-ui/react-tooltip';\nimport { HTMLAttributes } from 'react';\nimport { styled } from 'styled-components';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport { TooltipContentProps, TooltipProps } from './Tooltip.types';\n\nexport const Tooltip = ({ children, open, disabled, ...props }: TooltipProps) => {\n return (\n <RadixTooltip.Root\n open={disabled ? false : open}\n {...props}\n >\n {children}\n </RadixTooltip.Root>\n );\n};\n\nconst TooltipTrigger = (props: HTMLAttributes<HTMLDivElement>) => {\n return (\n <RadixTooltip.Trigger asChild>\n <div {...props} />\n </RadixTooltip.Trigger>\n );\n};\nTooltipTrigger.displayName = 'TooltipTrigger';\nTooltip.Trigger = TooltipTrigger;\nconst RadixTooltipContent = styled(RadixTooltip.Content)<{ $maxWidth?: string }>`\n display: flex;\n align-items: flex-start;\n ${({ theme, $maxWidth }) => `\n padding: ${theme.click.tooltip.space.y} ${theme.click.tooltip.space.x};\n color: ${theme.click.tooltip.color.label.default};\n background: ${theme.click.tooltip.color.background.default};\n border-radius: ${theme.click.tooltip.radii.all};\n font: ${theme.click.tooltip.typography.label.default};\n white-space: pre-wrap;\n ${$maxWidth && `max-width: ${$maxWidth}`};\n `}\n`;\n\nconst Arrow = styled.svg`\n ${({ theme }) => `\n fill: ${theme.click.tooltip.color.background.default};\n `};\n`;\n\nconst TooltipContent = ({\n showArrow,\n children,\n sideOffset = 6,\n maxWidth,\n container,\n ...props\n}: TooltipContentProps) => {\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <RadixTooltip.Portal container={portalContainer}>\n <RadixTooltipContent\n sideOffset={sideOffset}\n $maxWidth={maxWidth}\n {...props}\n >\n {showArrow && (\n <Arrow\n as={RadixTooltip.Arrow}\n width={20}\n height={8}\n />\n )}\n {children}\n </RadixTooltipContent>\n </RadixTooltip.Portal>\n );\n};\nTooltipContent.displayName = 'TooltipContent';\nTooltip.Content = TooltipContent;\n"],"names":["Tooltip","children","open","disabled","props","TooltipTrigger","displayName","Trigger","RadixTooltipContent","styled","RadixTooltip","Content","withConfig","componentId","theme","$maxWidth","click","tooltip","space","y","x","color","label","default","background","radii","all","typography","Arrow","svg","TooltipContent","showArrow","sideOffset","maxWidth","container","portalContainer","useResolvedPortalContainer"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["import * as RadixTooltip from '@radix-ui/react-tooltip';\nimport { CSSProperties, HTMLAttributes } from 'react';\nimport { cn } from '@/lib/cva';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport { TooltipContentProps, TooltipProps } from './Tooltip.types';\nimport styles from './Tooltip.module.css';\n\nexport const Tooltip = ({ children, open, disabled, ...props }: TooltipProps) => {\n return (\n <RadixTooltip.Root\n open={disabled ? false : open}\n {...props}\n >\n {children}\n </RadixTooltip.Root>\n );\n};\n\nconst TooltipTrigger = (props: HTMLAttributes<HTMLDivElement>) => {\n return (\n <RadixTooltip.Trigger asChild>\n <div {...props} />\n </RadixTooltip.Trigger>\n );\n};\nTooltipTrigger.displayName = 'TooltipTrigger';\nTooltip.Trigger = TooltipTrigger;\n\nconst TooltipContent = ({\n showArrow,\n children,\n sideOffset = 6,\n maxWidth,\n className,\n style,\n container,\n ...props\n}: TooltipContentProps) => {\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <RadixTooltip.Portal container={portalContainer}>\n <RadixTooltip.Content\n sideOffset={sideOffset}\n style={\n {\n ...(maxWidth ? { '--tooltip-max-width': maxWidth } : {}),\n ...style,\n } as CSSProperties\n }\n {...props}\n className={cn(styles.content, className)}\n >\n {showArrow && (\n <RadixTooltip.Arrow\n className={styles.arrow}\n width={20}\n height={8}\n />\n )}\n {children}\n </RadixTooltip.Content>\n </RadixTooltip.Portal>\n );\n};\nTooltipContent.displayName = 'TooltipContent';\nTooltip.Content = TooltipContent;\n"],"names":["Tooltip","children","open","disabled","props","TooltipTrigger","displayName","Trigger","TooltipContent","showArrow","sideOffset","maxWidth","className","style","container","portalContainer","useResolvedPortalContainer","cn","styles","content","arrow","Content"],"mappings":";;;;;;AAOO,MAAMA,UAAUA,CAAC;AAAA,EAAEC,QAAAA;AAAAA,EAAUC,IAAAA;AAAAA,EAAMC,QAAAA;AAAAA,EAAU,GAAGC;AAAoB,CAAA,KAAM;AAC/E,EAAA,uBACE,GAAA,CAAC,YAAA,CAAa,IAAA,EAAb,EACC,IAAA,EAAMD,WAAW,KAAA,GAAQD,IAAAA,EACzB,GAAIE,KAAAA,EAEHH,QAAAA,EACH,CAAA;AAEJ;AAEA,MAAMI,cAAAA,GAAiBA,CAACD,KAAAA,KAA0C;AAChE,EAAA,uBACE,GAAA,CAAC,YAAA,CAAa,OAAA,EAAb,EAAqB,OAAA,EAAO,MAC3B,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,GAAIA,KAAAA,EAAM,CAAA,EACjB,CAAA;AAEJ,CAAA;AACAC,cAAAA,CAAeC,WAAAA,GAAc,gBAAA;AAC7BN,OAAAA,CAAQO,OAAAA,GAAUF,cAAAA;AAElB,MAAMG,iBAAiBA,CAAC;AAAA,EACtBC,SAAAA;AAAAA,EACAR,QAAAA;AAAAA,EACAS,UAAAA,GAAa,CAAA;AAAA,EACbC,QAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,KAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACA,GAAGV;AACgB,CAAA,KAAM;AACzB,EAAA,MAAMW,eAAAA,GAAkBC,2BAA2BF,SAAS,CAAA;AAE5D,EAAA,uBACE,GAAA,CAAC,YAAA,CAAa,MAAA,EAAb,EAAoB,SAAA,EAAWC,eAAAA,EAC9B,QAAA,kBAAA,IAAA,CAAC,YAAA,CAAa,OAAA,EAAb,EACC,UAAA,EACA,KAAA,EACE;AAAA,IACE,GAAIJ,QAAAA,GAAW;AAAA,MAAE,qBAAA,EAAuBA;AAAAA,QAAa,EAAC;AAAA,IACtD,GAAGE;AAAAA,GACL,EAEF,GAAIT,KAAAA,EACJ,SAAA,EAAWa,GAAGC,MAAAA,CAAOC,OAAAA,EAASP,SAAS,CAAA,EAEtCH,QAAAA,EAAAA;AAAAA,IAAAA,SAAAA,oBACC,GAAA,CAAC,YAAA,CAAa,KAAA,EAAb,EACC,SAAA,EAAWS,OAAOE,KAAAA,EAClB,KAAA,EAAO,EAAA,EACP,MAAA,EAAQ,CAAA,EAAE,CAAA;AAAA,IAGbnB;AAAAA,GAAAA,EACH,CAAA,EACF,CAAA;AAEJ,CAAA;AACAO,cAAAA,CAAeF,WAAAA,GAAc,gBAAA;AAC7BN,OAAAA,CAAQqB,OAAAA,GAAUb,cAAAA;;;;"}