@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,11 +1,16 @@
1
+ import "./Popover.css";
1
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
3
  import * as RadixPopover from '@radix-ui/react-popover';
3
4
  import { GenericMenuPanel, Arrow } from '../GenericMenu/index.js';
4
5
  import { styled } from 'styled-components';
6
+ import { forwardRef } from 'react';
7
+ import { cn } from '../../lib/cva.js';
5
8
  import { EmptyButton } from '../EmptyButton/index.js';
6
9
  import Popover_Arrow from '../Assets/Icons/Popover-Arrow.js';
7
10
  import { useResolvedPortalContainer } from '../../providers/PortalContext.js';
11
+ import styles from './Popover.module.css.js';
8
12
  import { Icon as SvgImage } from '../Icon/index.js';
13
+ import { cva } from 'class-variance-authority';
9
14
 
10
15
  const Popover = ({
11
16
  children,
@@ -28,25 +33,27 @@ const PopoverTrigger = ({
28
33
  };
29
34
  PopoverTrigger.displayName = "PopoverTrigger";
30
35
  Popover.Trigger = PopoverTrigger;
31
- const MenuPanel = styled(GenericMenuPanel).withConfig({
32
- componentId: "sc-1dii14g-1"
33
- })(["display:block;padding:", " ", ";background-color:", ";border:1px solid ", ";border-radius:", ";box-shadow:", ";", ";"], ({
34
- theme
35
- }) => theme.click.popover.space.y, ({
36
- theme
37
- }) => theme.click.popover.space.x, ({
38
- theme
39
- }) => theme.click.popover.color.panel.background.default, ({
40
- theme
41
- }) => theme.click.popover.color.panel.stroke.default, ({
42
- theme
43
- }) => theme.click.popover.radii.all, ({
44
- theme
45
- }) => theme.click.popover.shadow.default, ({
46
- $showClose
47
- }) => $showClose ? "padding-top: 1rem;" : "");
36
+ const menuPanelVariants = cva(styles["menu-panel"], {
37
+ variants: {
38
+ showClose: {
39
+ true: styles["menu-panel_show-close"],
40
+ false: ""
41
+ }
42
+ },
43
+ defaultVariants: {
44
+ showClose: false
45
+ }
46
+ });
47
+ const _MenuPanel = ({
48
+ showClose,
49
+ className,
50
+ ...props
51
+ }, ref) => /* @__PURE__ */ jsx(GenericMenuPanel, { ref, ...props, className: cn(menuPanelVariants({
52
+ showClose
53
+ }), className) });
54
+ const MenuPanel = forwardRef(_MenuPanel);
48
55
  const CloseButton = styled(EmptyButton).withConfig({
49
- componentId: "sc-1dii14g-2"
56
+ componentId: "sc-1dii14g-1"
50
57
  })(["position:absolute;top:", ";right:", ";width:", ";height:", ";"], ({
51
58
  theme
52
59
  }) => theme.click.popover.space.y, ({
@@ -65,7 +72,7 @@ const PopoverContent = ({
65
72
  ...props
66
73
  }) => {
67
74
  const portalContainer = useResolvedPortalContainer(container);
68
- return /* @__PURE__ */ jsx(RadixPopover.Portal, { forceMount, container: portalContainer, children: /* @__PURE__ */ jsxs(MenuPanel, { as: RadixPopover.Content, $type: "popover", $showClose: showClose, $showArrow: showArrow, sideOffset: 4, ...props, children: [
75
+ return /* @__PURE__ */ jsx(RadixPopover.Portal, { forceMount, container: portalContainer, children: /* @__PURE__ */ jsxs(MenuPanel, { as: RadixPopover.Content, type: "popover", showClose, showArrow, sideOffset: 4, ...props, children: [
69
76
  showClose && /* @__PURE__ */ jsx(CloseButton, { as: RadixPopover.Close, asChild: true, children: /* @__PURE__ */ jsx(SvgImage, { name: "cross" }) }),
70
77
  showArrow && /* @__PURE__ */ jsx(Arrow, { asChild: true, as: RadixPopover.Arrow, width: 20, height: 10, children: /* @__PURE__ */ jsx(Popover_Arrow, {}) }),
71
78
  children
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import * as RadixPopover from '@radix-ui/react-popover';\nimport { Arrow, GenericMenuPanel } from '@/components/GenericMenu';\nimport { styled } from 'styled-components';\nimport { ReactNode } from 'react';\nimport { Icon } from '@/components/Icon';\nimport { EmptyButton } from '@/components/EmptyButton';\nimport Popover_Arrow from '@/components/Assets/Icons/Popover-Arrow';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\n\nexport const Popover = ({ children, ...props }: RadixPopover.PopoverProps) => {\n return <RadixPopover.Root {...props}>{children}</RadixPopover.Root>;\n};\n\nconst Trigger = styled(RadixPopover.Trigger)`\n background: inherit;\n border: none;\n color: inherit;\n cursor: pointer;\n font: inherit;\n width: fit-content;\n`;\ninterface TriggerProps extends RadixPopover.PopoverTriggerProps {\n anchor?: ReactNode;\n}\n\nconst PopoverTrigger = ({ anchor, children, ...props }: TriggerProps) => {\n return (\n <>\n <Trigger\n asChild\n {...props}\n >\n <div>{children}</div>\n </Trigger>\n {anchor && <RadixPopover.Anchor asChild>{anchor}</RadixPopover.Anchor>}\n </>\n );\n};\nPopoverTrigger.displayName = 'PopoverTrigger';\nPopover.Trigger = PopoverTrigger;\n\ninterface PopoverContentProps extends RadixPopover.PopoverContentProps {\n /** Whether to show an arrow pointing to the trigger element */\n showArrow?: boolean;\n /** Whether to show a close button in the popover */\n showClose?: boolean;\n /** Forces the popover to mount in the DOM even when closed */\n forceMount?: true;\n /** Custom container element for the popover portal */\n container?: HTMLElement | null;\n}\n\nconst MenuPanel = styled(GenericMenuPanel)<{ $showClose?: boolean }>`\n display: block;\n padding: ${({ theme }) => theme.click.popover.space.y}\n ${({ theme }) => theme.click.popover.space.x};\n background-color: ${({ theme }) => theme.click.popover.color.panel.background.default};\n border: 1px solid ${({ theme }) => theme.click.popover.color.panel.stroke.default};\n border-radius: ${({ theme }) => theme.click.popover.radii.all};\n box-shadow: ${({ theme }) => theme.click.popover.shadow.default};\n\n ${({ $showClose }) => ($showClose ? 'padding-top: 1rem;' : '')};\n`;\n\nconst CloseButton = styled(EmptyButton)`\n position: absolute;\n top: ${({ theme }) => theme.click.popover.space.y};\n right: ${({ theme }) => theme.click.popover.space.x};\n width: ${({ theme }) => theme.click.popover.icon.size.width};\n height: ${({ theme }) => theme.click.popover.icon.size.height};\n`;\n\nconst PopoverContent = ({\n children,\n showArrow,\n showClose,\n forceMount,\n container,\n ...props\n}: PopoverContentProps) => {\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <RadixPopover.Portal\n forceMount={forceMount}\n container={portalContainer}\n >\n <MenuPanel\n as={RadixPopover.Content}\n $type=\"popover\"\n $showClose={showClose}\n $showArrow={showArrow}\n sideOffset={4}\n {...props}\n >\n {showClose && (\n <CloseButton\n as={RadixPopover.Close}\n asChild\n >\n <Icon name=\"cross\" />\n </CloseButton>\n )}\n {showArrow && (\n <Arrow\n asChild\n as={RadixPopover.Arrow}\n width={20}\n height={10}\n >\n <Popover_Arrow />\n </Arrow>\n )}\n {children}\n </MenuPanel>\n </RadixPopover.Portal>\n );\n};\nPopoverContent.displayName = 'PopoverContent';\nPopover.Content = PopoverContent;\n"],"names":["Popover","children","props","Trigger","styled","RadixPopover","withConfig","componentId","PopoverTrigger","anchor","displayName","MenuPanel","GenericMenuPanel","theme","click","popover","space","y","x","color","panel","background","default","stroke","radii","all","shadow","$showClose","CloseButton","EmptyButton","icon","size","width","height","PopoverContent","showArrow","showClose","forceMount","container","portalContainer","useResolvedPortalContainer","Content","Close","Icon","Arrow"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import * as RadixPopover from '@radix-ui/react-popover';\nimport { Arrow, GenericMenuPanel } from '@/components/GenericMenu';\nimport { styled } from 'styled-components';\nimport {\n ComponentProps,\n ComponentPropsWithRef,\n ElementType,\n ReactNode,\n forwardRef,\n} from 'react';\nimport { cn, cva } from '@/lib/cva';\nimport { Icon } from '@/components/Icon';\nimport { EmptyButton } from '@/components/EmptyButton';\nimport Popover_Arrow from '@/components/Assets/Icons/Popover-Arrow';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\nimport styles from './Popover.module.css';\n\nexport const Popover = ({ children, ...props }: RadixPopover.PopoverProps) => {\n return <RadixPopover.Root {...props}>{children}</RadixPopover.Root>;\n};\n\nconst Trigger = styled(RadixPopover.Trigger)`\n background: inherit;\n border: none;\n color: inherit;\n cursor: pointer;\n font: inherit;\n width: fit-content;\n`;\ninterface TriggerProps extends RadixPopover.PopoverTriggerProps {\n anchor?: ReactNode;\n}\n\nconst PopoverTrigger = ({ anchor, children, ...props }: TriggerProps) => {\n return (\n <>\n <Trigger\n asChild\n {...props}\n >\n <div>{children}</div>\n </Trigger>\n {anchor && <RadixPopover.Anchor asChild>{anchor}</RadixPopover.Anchor>}\n </>\n );\n};\nPopoverTrigger.displayName = 'PopoverTrigger';\nPopover.Trigger = PopoverTrigger;\n\ninterface PopoverContentProps extends RadixPopover.PopoverContentProps {\n /** Whether to show an arrow pointing to the trigger element */\n showArrow?: boolean;\n /** Whether to show a close button in the popover */\n showClose?: boolean;\n /** Forces the popover to mount in the DOM even when closed */\n forceMount?: true;\n /** Custom container element for the popover portal */\n container?: HTMLElement | null;\n}\n\nconst menuPanelVariants = cva(styles['menu-panel'], {\n variants: {\n showClose: {\n true: styles['menu-panel_show-close'],\n false: '',\n },\n },\n defaultVariants: {\n showClose: false,\n },\n});\n\ntype MenuPanelComponent = <T extends ElementType = 'div'>(\n props: ComponentProps<typeof GenericMenuPanel<T>> & { showClose?: boolean }\n) => ReactNode;\n\nconst _MenuPanel = <T extends ElementType = 'div'>(\n {\n showClose,\n className,\n ...props\n }: ComponentProps<typeof GenericMenuPanel<T>> & { showClose?: boolean },\n ref: ComponentPropsWithRef<T>['ref']\n) => (\n <GenericMenuPanel\n ref={ref}\n {...(props as ComponentProps<typeof GenericMenuPanel>)}\n className={cn(menuPanelVariants({ showClose }), className)}\n />\n);\n\nconst MenuPanel: MenuPanelComponent = forwardRef(_MenuPanel);\n\nconst CloseButton = styled(EmptyButton)`\n position: absolute;\n top: ${({ theme }) => theme.click.popover.space.y};\n right: ${({ theme }) => theme.click.popover.space.x};\n width: ${({ theme }) => theme.click.popover.icon.size.width};\n height: ${({ theme }) => theme.click.popover.icon.size.height};\n`;\n\nconst PopoverContent = ({\n children,\n showArrow,\n showClose,\n forceMount,\n container,\n ...props\n}: PopoverContentProps) => {\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <RadixPopover.Portal\n forceMount={forceMount}\n container={portalContainer}\n >\n <MenuPanel\n as={RadixPopover.Content}\n type=\"popover\"\n showClose={showClose}\n showArrow={showArrow}\n sideOffset={4}\n {...props}\n >\n {showClose && (\n <CloseButton\n as={RadixPopover.Close}\n asChild\n >\n <Icon name=\"cross\" />\n </CloseButton>\n )}\n {showArrow && (\n <Arrow\n asChild\n as={RadixPopover.Arrow}\n width={20}\n height={10}\n >\n <Popover_Arrow />\n </Arrow>\n )}\n {children}\n </MenuPanel>\n </RadixPopover.Portal>\n );\n};\nPopoverContent.displayName = 'PopoverContent';\nPopover.Content = PopoverContent;\n"],"names":["Popover","children","props","Trigger","styled","RadixPopover","withConfig","componentId","PopoverTrigger","anchor","displayName","menuPanelVariants","cva","styles","variants","showClose","true","false","defaultVariants","_MenuPanel","className","ref","cn","MenuPanel","forwardRef","CloseButton","EmptyButton","theme","click","popover","space","y","x","icon","size","width","height","PopoverContent","showArrow","forceMount","container","portalContainer","useResolvedPortalContainer","Content","Close","Icon","Arrow"],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ .radio-group__RXgmX {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ gap: var(--click-checkbox-space-gap);
5
+ }
6
+
7
+ .radio-group_inline__Bn4-S {
8
+ flex-direction: row;
9
+ }
10
+
11
+ .radio-group_inline_false__OXI3T {
12
+ flex-direction: column;
13
+ }
14
+
15
+ .radio-group_error__cijEQ label {
16
+ color: var(--click-field-color-label-error);
17
+ }
18
+
19
+ /* The item class is applied alongside FormRoot's styled-components class.
20
+ The .item.item double-class boost matches the specificity behavior of the
21
+ original `styled(FormRoot)` chain so these overrides reliably beat FormRoot's
22
+ own declarations regardless of stylesheet insertion order between CSS Modules
23
+ and the runtime-injected styled-components. */
24
+ .item__W9-K2.item__W9-K2 {
25
+ display: flex;
26
+ width: auto;
27
+ padding: var(--click-checkbox-space-all);
28
+ align-items: center;
29
+ gap: var(--click-checkbox-space-gap);
30
+ }
31
+
32
+ .radio-input__KMmKv {
33
+ display: flex;
34
+ width: 1rem;
35
+ height: 1rem;
36
+ justify-content: center;
37
+ align-items: center;
38
+ border: 1px solid var(--click-radio-color-stroke-default);
39
+ border-radius: var(--click-radio-radii-all);
40
+ background: var(--click-radio-color-background-default);
41
+ outline: none;
42
+ cursor: pointer;
43
+ }
44
+
45
+ .radio-input__KMmKv:hover {
46
+ background: var(--click-radio-color-background-hover);
47
+ }
48
+
49
+ .radio-input__KMmKv[data-state='checked'] {
50
+ border-color: var(--click-radio-color-stroke-active);
51
+ background: var(--click-radio-color-background-active);
52
+ }
53
+
54
+ /* stylelint-disable no-descending-specificity -- disabled state intentionally
55
+ defined after the checked state to mirror the source cascade order; matches
56
+ the styled-components rule which used a nested `&[data-disabled]` block placed
57
+ after `&[data-state="checked"]`. */
58
+ .radio-input__KMmKv[data-disabled] {
59
+ border-color: var(--click-radio-color-stroke-disabled);
60
+ background: var(--click-radio-color-background-disabled);
61
+ }
62
+
63
+ .radio-indicator__rrk6W {
64
+ background: var(--click-radio-color-background-default);
65
+ }
66
+
67
+ .radio-indicator__rrk6W::after {
68
+ content: '';
69
+ display: block;
70
+ width: 6px;
71
+ height: 6px;
72
+ border-radius: 50%;
73
+ background-color: var(--click-radio-color-indicator-default);
74
+ }
75
+
76
+ .radio-indicator__rrk6W::after:hover {
77
+ background: var(--click-radio-color-indicator-hover);
78
+ }
79
+
80
+ .radio-indicator__rrk6W[data-state='checked'] {
81
+ background: var(--click-radio-color-background-active);
82
+ }
83
+
84
+ .radio-indicator__rrk6W[data-state='checked']::after {
85
+ background: var(--click-radio-color-indicator-active);
86
+ }
87
+
88
+ .radio-indicator__rrk6W:hover {
89
+ background: var(--click-radio-color-background-hover);
90
+ }
91
+
92
+ .radio-indicator__rrk6W[data-disabled] {
93
+ background: var(--click-radio-color-background-disabled);
94
+ }
95
+
96
+ .radio-indicator__rrk6W[data-disabled]::after {
97
+ background: var(--click-radio-color-indicator-disabled);
98
+ }
99
+ /* stylelint-enable no-descending-specificity */
@@ -0,0 +1,13 @@
1
+ const item = "item__W9-K2";
2
+ const styles = {
3
+ "radio-group": "radio-group__RXgmX",
4
+ "radio-group_inline": "radio-group_inline__Bn4-S",
5
+ "radio-group_inline_false": "radio-group_inline_false__OXI3T",
6
+ "radio-group_error": "radio-group_error__cijEQ",
7
+ item: item,
8
+ "radio-input": "radio-input__KMmKv",
9
+ "radio-indicator": "radio-indicator__rrk6W"
10
+ };
11
+
12
+ export { styles as default, item };
13
+ //# sourceMappingURL=RadioGroup.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1,23 +1,32 @@
1
+ import "./RadioGroup.css";
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
  import * as RadixRadioGroup from '@radix-ui/react-radio-group';
3
4
  import { useId } from 'react';
4
- import { styled } from 'styled-components';
5
+ import { cn } from '../../lib/cva.js';
6
+ import styles from './RadioGroup.module.css.js';
5
7
  import { FormRoot } from '../FormContainer/FormRoot.js';
6
8
  import { FormElementContainer } from '../FormContainer/FormElementContainer.js';
7
9
  import { Error } from '../FormContainer/Error.js';
8
10
  import { Label } from '../Label/index.js';
9
11
  import { GenericLabel } from '../GenericLabel/index.js';
12
+ import { cva } from 'class-variance-authority';
10
13
 
11
- const RadioGroupRoot = styled(RadixRadioGroup.Root).withConfig({
12
- componentId: "sc-p6cydr-0"
13
- })(["display:flex;flex-wrap:wrap;gap:", ";flex-direction:", ";label{", "}"], ({
14
- theme
15
- }) => theme.click.checkbox.space.gap, ({
16
- $inline = true
17
- }) => $inline === true ? "row" : "column", ({
18
- $error,
19
- theme
20
- }) => $error ? `color: ${theme.click.field.color.label.error};` : "");
14
+ const radioGroupVariants = cva(styles["radio-group"], {
15
+ variants: {
16
+ inline: {
17
+ true: styles["radio-group_inline"],
18
+ false: styles["radio-group_inline_false"]
19
+ },
20
+ error: {
21
+ true: styles["radio-group_error"],
22
+ false: ""
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ inline: true,
27
+ error: false
28
+ }
29
+ });
21
30
  const RadioGroup = ({
22
31
  children,
23
32
  inline,
@@ -28,11 +37,15 @@ const RadioGroup = ({
28
37
  label,
29
38
  disabled,
30
39
  id,
40
+ className,
31
41
  ...props
32
42
  }) => {
33
43
  return /* @__PURE__ */ jsxs(FormRoot, { $orientation: orientation, $dir: dir, $addLabelPadding: true, children: [
34
44
  /* @__PURE__ */ jsxs(FormElementContainer, { children: [
35
- /* @__PURE__ */ jsx(RadioGroupRoot, { orientation: inline ? "horizontal" : "vertical", disabled, id, $error: !!error, dir: itemDir, $inline: inline, ...props, children }),
45
+ /* @__PURE__ */ jsx(RadixRadioGroup.Root, { orientation: inline ? "horizontal" : "vertical", disabled, id, dir: itemDir, ...props, className: cn(radioGroupVariants({
46
+ inline: inline === false ? false : true,
47
+ error: !!error
48
+ }), className), children }),
36
49
  !!error && error !== true && /* @__PURE__ */ jsx(Error, { children: error })
37
50
  ] }),
38
51
  label && /* @__PURE__ */ jsx(Label, { htmlFor: id, disabled, error: !!error, children: label })
@@ -44,79 +57,17 @@ const RadioGroupItem = ({
44
57
  value,
45
58
  disabled,
46
59
  required,
60
+ className,
47
61
  ...props
48
62
  }) => {
49
63
  const defaultId = useId();
50
- return /* @__PURE__ */ jsxs(Wrapper, { $orientation: "horizontal", $dir: "end", $addLabelPadding: false, ...props, children: [
51
- /* @__PURE__ */ jsx(RadioInput, { value, id: id ?? defaultId, disabled, required, "aria-label": `${label}`, children: /* @__PURE__ */ jsx(RadioGroupIndicator, {}) }),
64
+ return /* @__PURE__ */ jsxs(FormRoot, { $orientation: "horizontal", $dir: "end", $addLabelPadding: false, ...props, className: cn(styles.item, className), children: [
65
+ /* @__PURE__ */ jsx(RadixRadioGroup.Item, { value, id: id ?? defaultId, disabled, required, "aria-label": `${label}`, className: styles["radio-input"], children: /* @__PURE__ */ jsx(RadixRadioGroup.Indicator, { className: styles["radio-indicator"] }) }),
52
66
  label && /* @__PURE__ */ jsx(GenericLabel, { htmlFor: id ?? defaultId, disabled, children: label })
53
67
  ] });
54
68
  };
55
69
  RadioGroupItem.displayName = "RadioGroupItem";
56
70
  RadioGroup.Item = RadioGroupItem;
57
- const Wrapper = styled(FormRoot).withConfig({
58
- componentId: "sc-p6cydr-1"
59
- })(["padding:", ";display:flex;align-items:center;gap:", ";width:auto;"], ({
60
- theme
61
- }) => theme.click.checkbox.space.all, ({
62
- theme
63
- }) => theme.click.checkbox.space.gap);
64
- const RadioInput = styled(RadixRadioGroup.Item).withConfig({
65
- componentId: "sc-p6cydr-2"
66
- })(["display:flex;align-items:center;justify-content:center;outline:none;cursor:pointer;", ";"], ({
67
- theme
68
- }) => `
69
- border-radius: ${theme.click.radio.radii.all};
70
- width: 1rem;
71
- height: 1rem;
72
- background: ${theme.click.radio.color.background.default};
73
- border: 1px solid ${theme.click.radio.color.stroke.default};
74
-
75
- &:hover {
76
- background: ${theme.click.radio.color.background.hover};
77
- }
78
- &[data-state="checked"] {
79
- border-color: ${theme.click.radio.color.stroke.active};
80
- background: ${theme.click.radio.color.background.active};
81
- }
82
- &[data-disabled] {
83
- background: ${theme.click.radio.color.background.disabled};
84
- border-color: ${theme.click.radio.color.stroke.disabled};
85
- }
86
- `);
87
- const RadioGroupIndicator = styled(RadixRadioGroup.Indicator).withConfig({
88
- componentId: "sc-p6cydr-3"
89
- })(["", ""], ({
90
- theme
91
- }) => `
92
- background: ${theme.click.radio.color.background.default};
93
- &::after {
94
- content: '';
95
- display: block;
96
- width: 6px;
97
- height: 6px;
98
- border-radius: 50%;
99
- background-color: ${theme.click.radio.color.indicator.default};
100
- &:hover {
101
- background: ${theme.click.radio.color.indicator.hover};
102
- }
103
- }
104
- &[data-state="checked"] {
105
- background: ${theme.click.radio.color.background.active};
106
- &::after {
107
- background: ${theme.click.radio.color.indicator.active};
108
- }
109
- }
110
- &:hover {
111
- background: ${theme.click.radio.color.background.hover};
112
- }
113
- &[data-disabled] {
114
- background: ${theme.click.radio.color.background.disabled};
115
- &::after {
116
- background: ${theme.click.radio.color.indicator.disabled};
117
- }
118
- }
119
- `);
120
71
 
121
72
  export { RadioGroup };
122
73
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import * as RadixRadioGroup from '@radix-ui/react-radio-group';\nimport { HTMLAttributes, ReactNode, useId } from 'react';\nimport { styled } from 'styled-components';\nimport { GenericLabel } from '@/components/GenericLabel';\nimport { Label } from '@/components/Label';\nimport { Error, FormElementContainer, FormRoot } from '@/components/FormContainer';\n\nexport interface RadioGroupProps extends Omit<RadixRadioGroup.RadioGroupProps, 'dir'> {\n /** Whether to display radio items inline (horizontally) */\n inline?: boolean;\n /** The orientation of the label relative to the radio group */\n orientation?: 'vertical' | 'horizontal';\n /** The direction/position of the label - start places label before, end places label after */\n dir?: 'start' | 'end';\n /** Text direction for radio items - ltr or rtl */\n itemDir?: 'rtl' | 'ltr';\n /** The label text displayed next to the radio group */\n label?: ReactNode;\n /** Error message to display below the radio group */\n error?: ReactNode;\n}\n\nconst RadioGroupRoot = styled(RadixRadioGroup.Root)<{\n $error: boolean;\n $inline?: boolean;\n}>`\n display: flex;\n flex-wrap: wrap;\n gap: ${({ theme }) => theme.click.checkbox.space.gap};\n flex-direction: ${({ $inline = true }) => ($inline === true ? 'row' : 'column')};\n label {\n ${({ $error, theme }) =>\n $error ? `color: ${theme.click.field.color.label.error};` : ''}\n }\n`;\n\nexport const RadioGroup = ({\n children,\n inline,\n orientation,\n dir,\n error,\n itemDir,\n label,\n disabled,\n id,\n ...props\n}: RadioGroupProps) => {\n return (\n <FormRoot\n $orientation={orientation}\n $dir={dir}\n $addLabelPadding\n >\n <FormElementContainer>\n <RadioGroupRoot\n orientation={inline ? 'horizontal' : 'vertical'}\n disabled={disabled}\n id={id}\n $error={!!error}\n dir={itemDir}\n $inline={inline}\n {...props}\n >\n {children}\n </RadioGroupRoot>\n {!!error && error !== true && <Error>{error}</Error>}\n </FormElementContainer>\n {label && (\n <Label\n htmlFor={id}\n disabled={disabled}\n error={!!error}\n >\n {label}\n </Label>\n )}\n </FormRoot>\n );\n};\n\ninterface RadioGroupInputProps extends RadixRadioGroup.RadioGroupItemProps {\n /** The label text displayed next to the radio item */\n label?: ReactNode;\n}\n\nexport type RadioGroupItemProps = RadioGroupInputProps & HTMLAttributes<HTMLDivElement>;\n\nconst RadioGroupItem = ({\n id,\n label,\n value,\n disabled,\n required,\n ...props\n}: RadioGroupItemProps) => {\n const defaultId = useId();\n return (\n <Wrapper\n $orientation=\"horizontal\"\n $dir=\"end\"\n $addLabelPadding={false}\n {...props}\n >\n <RadioInput\n value={value}\n id={id ?? defaultId}\n disabled={disabled}\n required={required}\n aria-label={`${label}`}\n >\n <RadioGroupIndicator />\n </RadioInput>\n {label && (\n <GenericLabel\n htmlFor={id ?? defaultId}\n disabled={disabled}\n >\n {label}\n </GenericLabel>\n )}\n </Wrapper>\n );\n};\n\nRadioGroupItem.displayName = 'RadioGroupItem';\nRadioGroup.Item = RadioGroupItem;\n\nconst Wrapper = styled(FormRoot)`\n padding: ${({ theme }) => theme.click.checkbox.space.all};\n\n display: flex;\n align-items: center;\n gap: ${({ theme }) => theme.click.checkbox.space.gap};\n width: auto;\n`;\n\nconst RadioInput = styled(RadixRadioGroup.Item)`\n display: flex;\n align-items: center;\n justify-content: center;\n outline: none;\n cursor: pointer;\n ${({ theme }) => `\n border-radius: ${theme.click.radio.radii.all};\n width: 1rem;\n height: 1rem;\n background: ${theme.click.radio.color.background.default};\n border: 1px solid ${theme.click.radio.color.stroke.default};\n\n &:hover {\n background: ${theme.click.radio.color.background.hover};\n }\n &[data-state=\"checked\"] {\n border-color: ${theme.click.radio.color.stroke.active};\n background: ${theme.click.radio.color.background.active};\n }\n &[data-disabled] {\n background: ${theme.click.radio.color.background.disabled};\n border-color: ${theme.click.radio.color.stroke.disabled};\n }\n `};\n`;\n\nconst RadioGroupIndicator = styled(RadixRadioGroup.Indicator)`\n ${({ theme }) => `\n background: ${theme.click.radio.color.background.default};\n &::after {\n content: '';\n display: block;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: ${theme.click.radio.color.indicator.default};\n &:hover {\n background: ${theme.click.radio.color.indicator.hover};\n }\n }\n &[data-state=\"checked\"] {\n background: ${theme.click.radio.color.background.active};\n &::after {\n background: ${theme.click.radio.color.indicator.active};\n }\n }\n &:hover {\n background: ${theme.click.radio.color.background.hover};\n }\n &[data-disabled] {\n background: ${theme.click.radio.color.background.disabled};\n &::after {\n background: ${theme.click.radio.color.indicator.disabled};\n }\n }\n `}\n`;\n"],"names":["RadioGroupRoot","styled","RadixRadioGroup","Root","withConfig","componentId","theme","click","checkbox","space","gap","$inline","$error","field","color","label","error","RadioGroup","children","inline","orientation","dir","itemDir","disabled","id","props","RadioGroupItem","value","required","defaultId","useId","displayName","Item","Wrapper","FormRoot","all","RadioInput","radio","radii","background","default","stroke","hover","active","RadioGroupIndicator","Indicator","indicator"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import * as RadixRadioGroup from '@radix-ui/react-radio-group';\nimport { HTMLAttributes, ReactNode, useId } from 'react';\nimport { GenericLabel } from '@/components/GenericLabel';\nimport { Label } from '@/components/Label';\nimport { Error, FormElementContainer, FormRoot } from '@/components/FormContainer';\nimport { cn, cva } from '@/lib/cva';\nimport styles from './RadioGroup.module.css';\n\nexport interface RadioGroupProps extends Omit<RadixRadioGroup.RadioGroupProps, 'dir'> {\n /** Whether to display radio items inline (horizontally) */\n inline?: boolean;\n /** The orientation of the label relative to the radio group */\n orientation?: 'vertical' | 'horizontal';\n /** The direction/position of the label - start places label before, end places label after */\n dir?: 'start' | 'end';\n /** Text direction for radio items - ltr or rtl */\n itemDir?: 'rtl' | 'ltr';\n /** The label text displayed next to the radio group */\n label?: ReactNode;\n /** Error message to display below the radio group */\n error?: ReactNode;\n}\n\nconst radioGroupVariants = cva(styles['radio-group'], {\n variants: {\n inline: {\n true: styles['radio-group_inline'],\n false: styles['radio-group_inline_false'],\n },\n error: {\n true: styles['radio-group_error'],\n false: '',\n },\n },\n defaultVariants: {\n inline: true,\n error: false,\n },\n});\n\nexport const RadioGroup = ({\n children,\n inline,\n orientation,\n dir,\n error,\n itemDir,\n label,\n disabled,\n id,\n className,\n ...props\n}: RadioGroupProps) => {\n return (\n <FormRoot\n $orientation={orientation}\n $dir={dir}\n $addLabelPadding\n >\n <FormElementContainer>\n <RadixRadioGroup.Root\n orientation={inline ? 'horizontal' : 'vertical'}\n disabled={disabled}\n id={id}\n dir={itemDir}\n {...props}\n className={cn(\n radioGroupVariants({\n inline: inline === false ? false : true,\n error: !!error,\n }),\n className\n )}\n >\n {children}\n </RadixRadioGroup.Root>\n {!!error && error !== true && <Error>{error}</Error>}\n </FormElementContainer>\n {label && (\n <Label\n htmlFor={id}\n disabled={disabled}\n error={!!error}\n >\n {label}\n </Label>\n )}\n </FormRoot>\n );\n};\n\ninterface RadioGroupInputProps extends RadixRadioGroup.RadioGroupItemProps {\n /** The label text displayed next to the radio item */\n label?: ReactNode;\n}\n\nexport type RadioGroupItemProps = RadioGroupInputProps & HTMLAttributes<HTMLDivElement>;\n\nconst RadioGroupItem = ({\n id,\n label,\n value,\n disabled,\n required,\n className,\n ...props\n}: RadioGroupItemProps) => {\n const defaultId = useId();\n return (\n <FormRoot\n $orientation=\"horizontal\"\n $dir=\"end\"\n $addLabelPadding={false}\n {...props}\n className={cn(styles.item, className)}\n >\n <RadixRadioGroup.Item\n value={value}\n id={id ?? defaultId}\n disabled={disabled}\n required={required}\n aria-label={`${label}`}\n className={styles['radio-input']}\n >\n <RadixRadioGroup.Indicator className={styles['radio-indicator']} />\n </RadixRadioGroup.Item>\n {label && (\n <GenericLabel\n htmlFor={id ?? defaultId}\n disabled={disabled}\n >\n {label}\n </GenericLabel>\n )}\n </FormRoot>\n );\n};\n\nRadioGroupItem.displayName = 'RadioGroupItem';\nRadioGroup.Item = RadioGroupItem;\n"],"names":["radioGroupVariants","cva","styles","variants","inline","true","false","error","defaultVariants","RadioGroup","children","orientation","dir","itemDir","label","disabled","id","className","props","cn","RadioGroupItem","value","required","defaultId","useId","item","displayName","Item"],"mappings":"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"}
@@ -309,7 +309,7 @@ const InternalSelect = ({
309
309
  }, align: "start", $useFullWidthItems: useFullWidthItems, $itemCharacterLimit: itemCharacterLimit, children: /* @__PURE__ */ jsxs(SelectList, { children: [
310
310
  /* @__PURE__ */ jsxs(SearchBarContainer, { $showSearch: showSearch, children: [
311
311
  /* @__PURE__ */ jsx(SearchBar, { ref: inputRef, value: search, onChange: (e) => onUpdateSearch(e.target.value), "data-testid": "select-search-input", onKeyDown, $showSearch: showSearch }),
312
- /* @__PURE__ */ jsx(SearchClose, { as: IconButton, icon: "cross", onClick: clearSearch, "data-testid": "select-search-close", $showClose: search.length > 0, size: "xs" })
312
+ /* @__PURE__ */ jsx(SearchClose, { as: IconButton, htmlType: "button", icon: "cross", onClick: clearSearch, "data-testid": "select-search-close", $showClose: search.length > 0, size: "xs" })
313
313
  ] }),
314
314
  /* @__PURE__ */ jsx(SelectListContent, { $maxHeight: maxHeight, children: /* @__PURE__ */ jsx(OptionContext.Provider, { value: optionContextValue, children: options && options.length > 0 ? options.map((props2, index) => {
315
315
  if ("options" in props2) {