@clickhouse/click-ui 0.6.1-rc2 → 0.6.2-rc1

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 (243) hide show
  1. package/README.md +5 -0
  2. package/dist/cjs/click-ui.css +1021 -11
  3. package/dist/cjs/components/Accordion/Accordion.css +111 -0
  4. package/dist/cjs/components/Accordion/Accordion.module.css.cjs +33 -0
  5. package/dist/cjs/components/Accordion/Accordion.module.css.cjs.map +1 -0
  6. package/dist/cjs/components/Accordion/index.cjs +51 -54
  7. package/dist/cjs/components/Accordion/index.cjs.map +1 -1
  8. package/dist/cjs/components/Alert/Alert.css +169 -0
  9. package/dist/cjs/components/Alert/Alert.module.css.cjs +75 -0
  10. package/dist/cjs/components/Alert/Alert.module.css.cjs.map +1 -0
  11. package/dist/cjs/components/Alert/index.cjs +113 -69
  12. package/dist/cjs/components/Alert/index.cjs.map +1 -1
  13. package/dist/cjs/components/Assets/Icons/Check.cjs +1 -1
  14. package/dist/cjs/components/Assets/Icons/Check.cjs.map +1 -1
  15. package/dist/cjs/components/Assets/Icons/Dollar.cjs +10 -0
  16. package/dist/cjs/components/Assets/Icons/Dollar.cjs.map +1 -0
  17. package/dist/cjs/components/Assets/Icons/Pin.cjs +13 -0
  18. package/dist/cjs/components/Assets/Icons/Pin.cjs.map +1 -0
  19. package/dist/cjs/components/Assets/Icons/Unpin.cjs +17 -0
  20. package/dist/cjs/components/Assets/Icons/Unpin.cjs.map +1 -0
  21. package/dist/cjs/components/Assets/Icons/system/IconsLight.cjs +6 -0
  22. package/dist/cjs/components/Assets/Icons/system/IconsLight.cjs.map +1 -1
  23. package/dist/cjs/components/AutoComplete/index.cjs +4 -1
  24. package/dist/cjs/components/AutoComplete/index.cjs.map +1 -1
  25. package/dist/cjs/components/Button/index.cjs +2 -1
  26. package/dist/cjs/components/Button/index.cjs.map +1 -1
  27. package/dist/cjs/components/ButtonGroup/ButtonGroup.css +37 -0
  28. package/dist/cjs/components/ButtonGroup/ButtonGroup.module.css.cjs +8 -0
  29. package/dist/cjs/components/ButtonGroup/ButtonGroup.module.css.cjs.map +1 -1
  30. package/dist/cjs/components/ButtonGroup/index.cjs +21 -2
  31. package/dist/cjs/components/ButtonGroup/index.cjs.map +1 -1
  32. package/dist/cjs/components/CardPrimary/CardPrimaryTopBadge.cjs +1 -0
  33. package/dist/cjs/components/Checkbox/index.cjs +1 -11
  34. package/dist/cjs/components/Checkbox/index.cjs.map +1 -1
  35. package/dist/cjs/components/Collapsible/Collapsible.css +79 -0
  36. package/dist/cjs/components/Collapsible/Collapsible.module.css.cjs +31 -0
  37. package/dist/cjs/components/Collapsible/Collapsible.module.css.cjs.map +1 -0
  38. package/dist/cjs/components/Collapsible/IconWrapper.cjs +5 -11
  39. package/dist/cjs/components/Collapsible/IconWrapper.cjs.map +1 -1
  40. package/dist/cjs/components/Collapsible/index.cjs +36 -24
  41. package/dist/cjs/components/Collapsible/index.cjs.map +1 -1
  42. package/dist/cjs/components/Container/Container.css +3 -3
  43. package/dist/cjs/components/ContextMenu/index.cjs +4 -1
  44. package/dist/cjs/components/ContextMenu/index.cjs.map +1 -1
  45. package/dist/cjs/components/DatePicker/Common.cjs +1 -1
  46. package/dist/cjs/components/DatePicker/Common.cjs.map +1 -1
  47. package/dist/cjs/components/DatePicker/index.cjs +4 -1
  48. package/dist/cjs/components/DatePicker/index.cjs.map +1 -1
  49. package/dist/cjs/components/Dialog/Dialog.css +97 -0
  50. package/dist/cjs/components/Dialog/Dialog.module.css.cjs +27 -0
  51. package/dist/cjs/components/Dialog/Dialog.module.css.cjs.map +1 -0
  52. package/dist/cjs/components/Dialog/index.cjs +29 -71
  53. package/dist/cjs/components/Dialog/index.cjs.map +1 -1
  54. package/dist/cjs/components/Dropdown/index.cjs +4 -1
  55. package/dist/cjs/components/Dropdown/index.cjs.map +1 -1
  56. package/dist/cjs/components/Flyout/index.cjs +23 -19
  57. package/dist/cjs/components/Flyout/index.cjs.map +1 -1
  58. package/dist/cjs/components/HoverCard/HoverCard.css +6 -0
  59. package/dist/cjs/components/HoverCard/HoverCard.module.css.cjs +10 -0
  60. package/dist/cjs/components/HoverCard/HoverCard.module.css.cjs.map +1 -0
  61. package/dist/cjs/components/HoverCard/index.cjs +8 -6
  62. package/dist/cjs/components/HoverCard/index.cjs.map +1 -1
  63. package/dist/cjs/components/Icon/SvgImageElement.cjs +1 -0
  64. package/dist/cjs/components/Link/Link.css +12 -8
  65. package/dist/cjs/components/Link/Link.module.css.cjs +15 -4
  66. package/dist/cjs/components/Link/Link.module.css.cjs.map +1 -1
  67. package/dist/cjs/components/Link/index.cjs +6 -6
  68. package/dist/cjs/components/Link/index.cjs.map +1 -1
  69. package/dist/cjs/components/MultiAccordion/MultiAccordion.css +200 -0
  70. package/dist/cjs/components/MultiAccordion/MultiAccordion.module.css.cjs +42 -0
  71. package/dist/cjs/components/MultiAccordion/MultiAccordion.module.css.cjs.map +1 -0
  72. package/dist/cjs/components/MultiAccordion/index.cjs +102 -92
  73. package/dist/cjs/components/MultiAccordion/index.cjs.map +1 -1
  74. package/dist/cjs/components/Popover/index.cjs +3 -1
  75. package/dist/cjs/components/Popover/index.cjs.map +1 -1
  76. package/dist/cjs/components/Select/common/InternalSelect.cjs +4 -2
  77. package/dist/cjs/components/Select/common/InternalSelect.cjs.map +1 -1
  78. package/dist/cjs/components/SidebarNavigationItem/SidebarNavigationItem.css +167 -0
  79. package/dist/cjs/components/SidebarNavigationItem/SidebarNavigationItem.module.css.cjs +23 -0
  80. package/dist/cjs/components/SidebarNavigationItem/SidebarNavigationItem.module.css.cjs.map +1 -0
  81. package/dist/cjs/components/SidebarNavigationItem/index.cjs +60 -69
  82. package/dist/cjs/components/SidebarNavigationItem/index.cjs.map +1 -1
  83. package/dist/cjs/components/SidebarNavigationTitle/SidebarNavigationTitle.css +76 -0
  84. package/dist/cjs/components/SidebarNavigationTitle/SidebarNavigationTitle.module.css.cjs +19 -0
  85. package/dist/cjs/components/SidebarNavigationTitle/SidebarNavigationTitle.module.css.cjs.map +1 -0
  86. package/dist/cjs/components/SidebarNavigationTitle/index.cjs +35 -23
  87. package/dist/cjs/components/SidebarNavigationTitle/index.cjs.map +1 -1
  88. package/dist/cjs/components/Tabs/Tabs.css +54 -0
  89. package/dist/cjs/components/Tabs/Tabs.module.css.cjs +20 -0
  90. package/dist/cjs/components/Tabs/Tabs.module.css.cjs.map +1 -0
  91. package/dist/cjs/components/Tabs/index.cjs +45 -20
  92. package/dist/cjs/components/Tabs/index.cjs.map +1 -1
  93. package/dist/cjs/components/Tooltip/index.cjs +4 -1
  94. package/dist/cjs/components/Tooltip/index.cjs.map +1 -1
  95. package/dist/cjs/index.cjs +5 -0
  96. package/dist/cjs/index.cjs.map +1 -1
  97. package/dist/cjs/providers/PortalContext.cjs +19 -0
  98. package/dist/cjs/providers/PortalContext.cjs.map +1 -0
  99. package/dist/cjs/providers/PortalProvider.cjs +16 -0
  100. package/dist/cjs/providers/PortalProvider.cjs.map +1 -0
  101. package/dist/cjs/theme/styles/tokens-dark.css +5 -0
  102. package/dist/cjs/theme/styles/tokens-light.css +5 -0
  103. package/dist/cjs/theme/tokens/variables.dark.cjs +15 -0
  104. package/dist/cjs/theme/tokens/variables.dark.cjs.map +1 -1
  105. package/dist/cjs/theme/tokens/variables.light.cjs +15 -0
  106. package/dist/cjs/theme/tokens/variables.light.cjs.map +1 -1
  107. package/dist/esm/click-ui.css +1021 -11
  108. package/dist/esm/components/Accordion/Accordion.css +111 -0
  109. package/dist/esm/components/Accordion/Accordion.module.css.js +22 -0
  110. package/dist/esm/components/Accordion/Accordion.module.css.js.map +1 -0
  111. package/dist/esm/components/Accordion/index.js +51 -54
  112. package/dist/esm/components/Accordion/index.js.map +1 -1
  113. package/dist/esm/components/Alert/Alert.css +169 -0
  114. package/dist/esm/components/Alert/Alert.module.css.js +53 -0
  115. package/dist/esm/components/Alert/Alert.module.css.js.map +1 -0
  116. package/dist/esm/components/Alert/index.js +113 -69
  117. package/dist/esm/components/Alert/index.js.map +1 -1
  118. package/dist/esm/components/Assets/Icons/Check.js +1 -1
  119. package/dist/esm/components/Assets/Icons/Check.js.map +1 -1
  120. package/dist/esm/components/Assets/Icons/Dollar.js +6 -0
  121. package/dist/esm/components/Assets/Icons/Dollar.js.map +1 -0
  122. package/dist/esm/components/Assets/Icons/Pin.js +9 -0
  123. package/dist/esm/components/Assets/Icons/Pin.js.map +1 -0
  124. package/dist/esm/components/Assets/Icons/Unpin.js +13 -0
  125. package/dist/esm/components/Assets/Icons/Unpin.js.map +1 -0
  126. package/dist/esm/components/Assets/Icons/system/IconsLight.js +6 -0
  127. package/dist/esm/components/Assets/Icons/system/IconsLight.js.map +1 -1
  128. package/dist/esm/components/AutoComplete/index.js +4 -1
  129. package/dist/esm/components/AutoComplete/index.js.map +1 -1
  130. package/dist/esm/components/Button/index.js +2 -1
  131. package/dist/esm/components/Button/index.js.map +1 -1
  132. package/dist/esm/components/ButtonGroup/ButtonGroup.css +37 -0
  133. package/dist/esm/components/ButtonGroup/ButtonGroup.module.css.js +7 -1
  134. package/dist/esm/components/ButtonGroup/ButtonGroup.module.css.js.map +1 -1
  135. package/dist/esm/components/ButtonGroup/index.js +21 -2
  136. package/dist/esm/components/ButtonGroup/index.js.map +1 -1
  137. package/dist/esm/components/CardPrimary/CardPrimaryTopBadge.js +1 -0
  138. package/dist/esm/components/Checkbox/index.js +1 -11
  139. package/dist/esm/components/Checkbox/index.js.map +1 -1
  140. package/dist/esm/components/Collapsible/Collapsible.css +79 -0
  141. package/dist/esm/components/Collapsible/Collapsible.module.css.js +21 -0
  142. package/dist/esm/components/Collapsible/Collapsible.module.css.js.map +1 -0
  143. package/dist/esm/components/Collapsible/IconWrapper.js +5 -11
  144. package/dist/esm/components/Collapsible/IconWrapper.js.map +1 -1
  145. package/dist/esm/components/Collapsible/index.js +36 -24
  146. package/dist/esm/components/Collapsible/index.js.map +1 -1
  147. package/dist/esm/components/Container/Container.css +3 -3
  148. package/dist/esm/components/ContextMenu/index.js +4 -1
  149. package/dist/esm/components/ContextMenu/index.js.map +1 -1
  150. package/dist/esm/components/DatePicker/Common.js +1 -1
  151. package/dist/esm/components/DatePicker/Common.js.map +1 -1
  152. package/dist/esm/components/DatePicker/index.js +4 -1
  153. package/dist/esm/components/DatePicker/index.js.map +1 -1
  154. package/dist/esm/components/Dialog/Dialog.css +97 -0
  155. package/dist/esm/components/Dialog/Dialog.module.css.js +18 -0
  156. package/dist/esm/components/Dialog/Dialog.module.css.js.map +1 -0
  157. package/dist/esm/components/Dialog/index.js +29 -71
  158. package/dist/esm/components/Dialog/index.js.map +1 -1
  159. package/dist/esm/components/Dropdown/index.js +4 -1
  160. package/dist/esm/components/Dropdown/index.js.map +1 -1
  161. package/dist/esm/components/Flyout/index.js +23 -19
  162. package/dist/esm/components/Flyout/index.js.map +1 -1
  163. package/dist/esm/components/HoverCard/HoverCard.css +6 -0
  164. package/dist/esm/components/HoverCard/HoverCard.module.css.js +6 -0
  165. package/dist/esm/components/HoverCard/HoverCard.module.css.js.map +1 -0
  166. package/dist/esm/components/HoverCard/index.js +8 -6
  167. package/dist/esm/components/HoverCard/index.js.map +1 -1
  168. package/dist/esm/components/Icon/SvgImageElement.js +1 -0
  169. package/dist/esm/components/Link/Link.css +12 -8
  170. package/dist/esm/components/Link/Link.module.css.js +11 -5
  171. package/dist/esm/components/Link/Link.module.css.js.map +1 -1
  172. package/dist/esm/components/Link/index.js +6 -6
  173. package/dist/esm/components/Link/index.js.map +1 -1
  174. package/dist/esm/components/MultiAccordion/MultiAccordion.css +200 -0
  175. package/dist/esm/components/MultiAccordion/MultiAccordion.module.css.js +38 -0
  176. package/dist/esm/components/MultiAccordion/MultiAccordion.module.css.js.map +1 -0
  177. package/dist/esm/components/MultiAccordion/index.js +102 -92
  178. package/dist/esm/components/MultiAccordion/index.js.map +1 -1
  179. package/dist/esm/components/Popover/index.js +3 -1
  180. package/dist/esm/components/Popover/index.js.map +1 -1
  181. package/dist/esm/components/Select/common/InternalSelect.js +4 -2
  182. package/dist/esm/components/Select/common/InternalSelect.js.map +1 -1
  183. package/dist/esm/components/SidebarNavigationItem/SidebarNavigationItem.css +167 -0
  184. package/dist/esm/components/SidebarNavigationItem/SidebarNavigationItem.module.css.js +16 -0
  185. package/dist/esm/components/SidebarNavigationItem/SidebarNavigationItem.module.css.js.map +1 -0
  186. package/dist/esm/components/SidebarNavigationItem/index.js +60 -69
  187. package/dist/esm/components/SidebarNavigationItem/index.js.map +1 -1
  188. package/dist/esm/components/SidebarNavigationTitle/SidebarNavigationTitle.css +76 -0
  189. package/dist/esm/components/SidebarNavigationTitle/SidebarNavigationTitle.module.css.js +12 -0
  190. package/dist/esm/components/SidebarNavigationTitle/SidebarNavigationTitle.module.css.js.map +1 -0
  191. package/dist/esm/components/SidebarNavigationTitle/index.js +35 -23
  192. package/dist/esm/components/SidebarNavigationTitle/index.js.map +1 -1
  193. package/dist/esm/components/Tabs/Tabs.css +54 -0
  194. package/dist/esm/components/Tabs/Tabs.module.css.js +14 -0
  195. package/dist/esm/components/Tabs/Tabs.module.css.js.map +1 -0
  196. package/dist/esm/components/Tabs/index.js +45 -20
  197. package/dist/esm/components/Tabs/index.js.map +1 -1
  198. package/dist/esm/components/Tooltip/index.js +4 -1
  199. package/dist/esm/components/Tooltip/index.js.map +1 -1
  200. package/dist/esm/index.js +2 -0
  201. package/dist/esm/index.js.map +1 -1
  202. package/dist/esm/providers/PortalContext.js +13 -0
  203. package/dist/esm/providers/PortalContext.js.map +1 -0
  204. package/dist/esm/providers/PortalProvider.js +12 -0
  205. package/dist/esm/providers/PortalProvider.js.map +1 -0
  206. package/dist/esm/theme/styles/tokens-dark.css +5 -0
  207. package/dist/esm/theme/styles/tokens-light.css +5 -0
  208. package/dist/esm/theme/tokens/variables.dark.js +15 -0
  209. package/dist/esm/theme/tokens/variables.dark.js.map +1 -1
  210. package/dist/esm/theme/tokens/variables.light.js +15 -0
  211. package/dist/esm/theme/tokens/variables.light.js.map +1 -1
  212. package/dist/types/components/Accordion/Accordion.d.ts +3 -3
  213. package/dist/types/components/Assets/Icons/Dollar.d.ts +3 -0
  214. package/dist/types/components/Assets/Icons/Pin.d.ts +3 -0
  215. package/dist/types/components/Assets/Icons/Unpin.d.ts +3 -0
  216. package/dist/types/components/Assets/Icons/system/types.d.ts +1 -1
  217. package/dist/types/components/AutoComplete/AutoComplete.d.ts +2 -1
  218. package/dist/types/components/Button/Button.d.ts +1 -24
  219. package/dist/types/components/Button/Button.types.d.ts +3 -0
  220. package/dist/types/components/ButtonGroup/ButtonGroup.types.d.ts +5 -0
  221. package/dist/types/components/ButtonGroup/index.d.ts +1 -1
  222. package/dist/types/components/Collapsible/Collapsible.d.ts +3 -3
  223. package/dist/types/components/ContextMenu/ContextMenu.d.ts +3 -1
  224. package/dist/types/components/DatePicker/DatePicker.d.ts +2 -1
  225. package/dist/types/components/Dialog/Dialog.d.ts +2 -2
  226. package/dist/types/components/Dropdown/Dropdown.d.ts +3 -1
  227. package/dist/types/components/Flyout/Flyout.d.ts +1 -1
  228. package/dist/types/components/Flyout/Flyout.types.d.ts +2 -0
  229. package/dist/types/components/HoverCard/HoverCard.d.ts +1 -1
  230. package/dist/types/components/MultiAccordion/MultiAccordion.d.ts +2 -2
  231. package/dist/types/components/SidebarNavigationItem/SidebarNavigationItem.d.ts +9 -5
  232. package/dist/types/components/SidebarNavigationTitle/SidebarNavigationTitle.d.ts +9 -4
  233. package/dist/types/components/Tabs/Tabs.d.ts +11 -21
  234. package/dist/types/components/Tooltip/Tooltip.d.ts +2 -10
  235. package/dist/types/components/Tooltip/Tooltip.types.d.ts +1 -0
  236. package/dist/types/index.d.ts +2 -1
  237. package/dist/types/providers/PortalContext.d.ts +4 -0
  238. package/dist/types/providers/PortalProvider.d.ts +7 -0
  239. package/dist/types/providers/index.d.ts +4 -0
  240. package/dist/types/theme/theme.core.d.ts +30 -0
  241. package/dist/types/theme/tokens/variables.dark.d.ts +15 -0
  242. package/dist/types/theme/tokens/variables.light.d.ts +15 -0
  243. package/package.json +2 -3
@@ -0,0 +1,76 @@
1
+ /* stylelint-disable custom-property-pattern -- design tokens use camelCase (e.g. sqlSidebar) */
2
+ .wrapper__ey0v7 {
3
+ /* stylelint-disable plugin/no-unsupported-browser-features, declaration-property-value-no-unknown -- the original styled rule used this
4
+ same width fallback chain (100% → -webkit-fill-available → fill-available →
5
+ stretch) so the title fills the available inline space. */
6
+ width: 100%;
7
+ width: -webkit-fill-available;
8
+ width: fill-available;
9
+ width: stretch;
10
+ /* stylelint-enable plugin/no-unsupported-browser-features, declaration-property-value-no-unknown */
11
+ padding: 0;
12
+ padding-left: var(--title-pad-left);
13
+ overflow: hidden;
14
+ border: none;
15
+ background: transparent;
16
+ white-space: nowrap;
17
+
18
+ /* Not collapsible by default: reserve the icon-column width on the left.
19
+ The single-class modifiers below override this; keep these defaults at
20
+ single-class specificity so they can. */
21
+ --title-pad-left: var(--click-image-sm-size-width);
22
+ }
23
+
24
+ /* Doubled class → specificity (0,2,0). SidebarCollapsibleTitle renders this
25
+ wrapper `as={Collapsible.Trigger}`, so the element also carries
26
+ `.collapsible__trigger`, whose `display/align-items/color/font/cursor`
27
+ resets would otherwise win on CSS-module bundle order and strip the title's
28
+ own typography. The original styled-components cascade resolved in the
29
+ title's favour; the doubled class makes that deterministic. Only the
30
+ properties that actually conflict with the trigger live here — box metrics
31
+ and the `--title-*` custom properties stay single-class above/below so the
32
+ `type`/`collapsible` modifiers still override them. */
33
+ .wrapper__ey0v7.wrapper__ey0v7 {
34
+ display: inline-flex;
35
+ align-items: center;
36
+ color: var(--title-color-default);
37
+ font: var(--click-sidebar-navigation-title-typography-default);
38
+ cursor: pointer;
39
+ }
40
+
41
+ .wrapper__ey0v7.wrapper__ey0v7:hover {
42
+ color: var(--title-color-hover);
43
+ font: var(--click-sidebar-navigation-title-typography-hover);
44
+ }
45
+
46
+ .wrapper__ey0v7.wrapper__ey0v7:active,
47
+ .wrapper__ey0v7.wrapper__ey0v7[data-state='open'],
48
+ .wrapper__ey0v7.wrapper__ey0v7[data-selected='true'] {
49
+ color: var(--title-color-active);
50
+ font: var(--click-sidebar-navigation-title-typography-active);
51
+ }
52
+
53
+ .wrapper__ey0v7 a {
54
+ color: inherit;
55
+ text-decoration: none;
56
+ }
57
+
58
+ .wrapper__ey0v7 a:active {
59
+ color: inherit;
60
+ }
61
+
62
+ .wrapper_type_main__wvTIv {
63
+ --title-color-default: var(--click-sidebar-main-navigation-title-color-default);
64
+ --title-color-hover: var(--click-sidebar-main-navigation-title-color-hover);
65
+ --title-color-active: var(--click-sidebar-main-navigation-title-color-active);
66
+ }
67
+
68
+ .wrapper_type_sql-sidebar__J-qle {
69
+ --title-color-default: var(--click-sidebar-sqlSidebar-navigation-title-color-default);
70
+ --title-color-hover: var(--click-sidebar-sqlSidebar-navigation-title-color-hover);
71
+ --title-color-active: var(--click-sidebar-sqlSidebar-navigation-title-color-active);
72
+ }
73
+
74
+ .wrapper_collapsible_true__8ANnP {
75
+ --title-pad-left: 0;
76
+ }
@@ -0,0 +1,12 @@
1
+ const wrapper = "wrapper__ey0v7";
2
+ const wrapper_type_main = "wrapper_type_main__wvTIv";
3
+ const wrapper_collapsible_true = "wrapper_collapsible_true__8ANnP";
4
+ const styles = {
5
+ wrapper: wrapper,
6
+ wrapper_type_main: wrapper_type_main,
7
+ "wrapper_type_sql-sidebar": "wrapper_type_sql-sidebar__J-qle",
8
+ wrapper_collapsible_true: wrapper_collapsible_true
9
+ };
10
+
11
+ export { styles as default, wrapper, wrapper_collapsible_true, wrapper_type_main };
12
+ //# sourceMappingURL=SidebarNavigationTitle.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNavigationTitle.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,7 +1,41 @@
1
+ import "./SidebarNavigationTitle.css";
1
2
  import { jsx } from 'react/jsx-runtime';
2
- import { styled } from 'styled-components';
3
+ import { forwardRef } from 'react';
4
+ import { cn } from '../../lib/cva.js';
3
5
  import { IconWrapper } from '../Collapsible/IconWrapper.js';
6
+ import styles from './SidebarNavigationTitle.module.css.js';
7
+ import { cva } from 'class-variance-authority';
4
8
 
9
+ const wrapperVariants = cva(styles.wrapper, {
10
+ variants: {
11
+ type: {
12
+ main: styles.wrapper_type_main,
13
+ sqlSidebar: styles["wrapper_type_sql-sidebar"]
14
+ },
15
+ collapsible: {
16
+ true: styles.wrapper_collapsible_true,
17
+ false: ""
18
+ }
19
+ },
20
+ defaultVariants: {
21
+ type: "main",
22
+ collapsible: false
23
+ }
24
+ });
25
+ const _SidebarTitleWrapper = ({
26
+ as,
27
+ $collapsible = false,
28
+ $type = "main",
29
+ className,
30
+ ...props
31
+ }, ref) => {
32
+ const Component = as ?? "button";
33
+ return /* @__PURE__ */ jsx(Component, { ref, ...props, className: cn(wrapperVariants({
34
+ type: $type,
35
+ collapsible: $collapsible
36
+ }), className) });
37
+ };
38
+ const SidebarTitleWrapper = forwardRef(_SidebarTitleWrapper);
5
39
  const SidebarNavigationTitle = ({
6
40
  label,
7
41
  icon,
@@ -12,28 +46,6 @@ const SidebarNavigationTitle = ({
12
46
  }) => {
13
47
  return /* @__PURE__ */ jsx(SidebarTitleWrapper, { "data-selected": selected, $type: type, ...props, children: /* @__PURE__ */ jsx(IconWrapper, { icon, iconDir, children: label }) });
14
48
  };
15
- const SidebarTitleWrapper = styled.button.withConfig({
16
- componentId: "sc-1rg1a4o-0"
17
- })(["display:inline-flex;align-items:center;background:transparent;border:none;width:100%;width:-webkit-fill-available;width:fill-available;width:stretch;white-space:nowrap;overflow:hidden;cursor:pointer;", " a{color:inherit;text-decoration:none;&:active{color:inherit;}}"], ({
18
- theme,
19
- $collapsible = false,
20
- $type
21
- }) => `
22
- padding: 0;
23
- padding-left: ${$collapsible ? 0 : theme.click.image.sm.size.width};
24
- font: ${theme.click.sidebar.navigation.title.typography.default};
25
- color: ${theme.click.sidebar[$type].navigation.title.color.default};
26
-
27
- &:hover {
28
- font: ${theme.click.sidebar.navigation.title.typography.hover};
29
- color: ${theme.click.sidebar[$type].navigation.title.color.hover};
30
- }
31
-
32
- &:active, &[data-state="open"], &[data-selected="true"] {
33
- font: ${theme.click.sidebar.navigation.title.typography.active};
34
- color: ${theme.click.sidebar[$type].navigation.title.color.active};
35
- }
36
- `);
37
49
 
38
50
  export { SidebarNavigationTitle, SidebarTitleWrapper };
39
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/SidebarNavigationTitle/SidebarNavigationTitle.tsx"],"sourcesContent":["import { styled } from 'styled-components';\nimport { IconWrapper } from '@/components/Collapsible/IconWrapper';\nimport { SidebarNavigationTitleProps } from './SidebarNavigationTitle.types';\n\nexport const SidebarNavigationTitle = ({\n label,\n icon,\n iconDir,\n selected,\n type = 'main',\n ...props\n}: SidebarNavigationTitleProps) => {\n return (\n <SidebarTitleWrapper\n data-selected={selected}\n $type={type}\n {...props}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {label}\n </IconWrapper>\n </SidebarTitleWrapper>\n );\n};\nexport const SidebarTitleWrapper = styled.button<{\n $collapsible?: boolean;\n $type: 'main' | 'sqlSidebar';\n}>`\n display: inline-flex;\n align-items: center;\n background: transparent;\n border: none;\n width: 100%;\n width: -webkit-fill-available;\n width: fill-available;\n width: stretch;\n white-space: nowrap;\n overflow: hidden;\n cursor: pointer;\n ${({ theme, $collapsible = false, $type }) => `\n padding: 0;\n padding-left: ${$collapsible ? 0 : theme.click.image.sm.size.width};\n font: ${theme.click.sidebar.navigation.title.typography.default};\n color: ${theme.click.sidebar[$type].navigation.title.color.default};\n\n &:hover {\n font: ${theme.click.sidebar.navigation.title.typography.hover};\n color: ${theme.click.sidebar[$type].navigation.title.color.hover};\n }\n\n &:active, &[data-state=\"open\"], &[data-selected=\"true\"] {\n font: ${theme.click.sidebar.navigation.title.typography.active};\n color: ${theme.click.sidebar[$type].navigation.title.color.active};\n }\n `}\n\n a {\n color: inherit;\n text-decoration: none;\n\n &:active {\n color: inherit;\n }\n }\n`;\n"],"names":["SidebarNavigationTitle","label","icon","iconDir","selected","type","props","SidebarTitleWrapper","styled","button","withConfig","componentId","theme","$collapsible","$type","click","image","sm","size","width","sidebar","navigation","title","typography","default","color","hover","active"],"mappings":";;;;AAIO,MAAMA,yBAAyBA,CAAC;AAAA,EACrCC,KAAAA;AAAAA,EACAC,IAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,IAAAA,GAAO,MAAA;AAAA,EACP,GAAGC;AACwB,CAAA,KAAM;AACjC,EAAA,uBACE,GAAA,CAAC,mBAAA,EAAA,EACC,eAAA,EAAeF,QAAAA,EACf,KAAA,EAAOC,IAAAA,EACP,GAAIC,KAAAA,EAEJ,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EACC,IAAA,EACA,OAAA,EAECL,iBACH,CAAA,EACF,CAAA;AAEJ;AACO,MAAMM,mBAAAA,GAAsBC,MAAAA,CAAOC,MAAAA,CAAMC,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,yMAAA,EAAA,iEAAA,GAe5C,CAAC;AAAA,EAAEC,KAAAA;AAAAA,EAAOC,YAAAA,GAAe,KAAA;AAAA,EAAOC;AAAM,CAAA,KAAM;AAAA;AAAA,kBAAA,EAE5BD,eAAe,CAAA,GAAID,KAAAA,CAAMG,MAAMC,KAAAA,CAAMC,EAAAA,CAAGC,KAAKC,KAAK,CAAA;AAAA,UAAA,EAC1DP,MAAMG,KAAAA,CAAMK,OAAAA,CAAQC,UAAAA,CAAWC,KAAAA,CAAMC,WAAWC,OAAO,CAAA;AAAA,WAAA,EACtDZ,KAAAA,CAAMG,MAAMK,OAAAA,CAAQN,KAAK,EAAEO,UAAAA,CAAWC,KAAAA,CAAMG,MAAMD,OAAO,CAAA;;AAAA;AAAA,YAAA,EAGxDZ,MAAMG,KAAAA,CAAMK,OAAAA,CAAQC,UAAAA,CAAWC,KAAAA,CAAMC,WAAWG,KAAK,CAAA;AAAA,aAAA,EACpDd,KAAAA,CAAMG,MAAMK,OAAAA,CAAQN,KAAK,EAAEO,UAAAA,CAAWC,KAAAA,CAAMG,MAAMC,KAAK,CAAA;AAAA;;AAAA;AAAA,YAAA,EAIxDd,MAAMG,KAAAA,CAAMK,OAAAA,CAAQC,UAAAA,CAAWC,KAAAA,CAAMC,WAAWI,MAAM,CAAA;AAAA,aAAA,EACrDf,KAAAA,CAAMG,MAAMK,OAAAA,CAAQN,KAAK,EAAEO,UAAAA,CAAWC,KAAAA,CAAMG,MAAME,MAAM,CAAA;AAAA;AAAA,EAAA,CAEpE;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/SidebarNavigationTitle/SidebarNavigationTitle.tsx"],"sourcesContent":["import {\n ComponentProps,\n ComponentPropsWithRef,\n ElementType,\n ReactNode,\n forwardRef,\n} from 'react';\nimport { cn, cva } from '@/lib/cva';\nimport { IconWrapper } from '@/components/Collapsible/IconWrapper';\nimport { SidebarNavigationTitleProps } from './SidebarNavigationTitle.types';\nimport styles from './SidebarNavigationTitle.module.css';\n\nconst wrapperVariants = cva(styles.wrapper, {\n variants: {\n type: {\n main: styles.wrapper_type_main,\n sqlSidebar: styles['wrapper_type_sql-sidebar'],\n },\n collapsible: { true: styles.wrapper_collapsible_true, false: '' },\n },\n defaultVariants: { type: 'main', collapsible: false },\n});\n\n// Polymorphic wrapper: SidebarCollapsibleTitle renders it `as={Collapsible.Trigger}`.\n// Same shape as the Container polymorphic component (src/components/Container).\nexport interface SidebarTitleWrapperProps<T extends ElementType = 'button'> {\n as?: T;\n $collapsible?: boolean;\n $type?: 'main' | 'sqlSidebar';\n}\n\ntype SidebarTitleWrapperComponent = <T extends ElementType = 'button'>(\n props: Omit<ComponentProps<T>, keyof SidebarTitleWrapperProps<T>> &\n SidebarTitleWrapperProps<T>\n) => ReactNode;\n\nconst _SidebarTitleWrapper = <T extends ElementType = 'button'>(\n {\n as,\n $collapsible = false,\n $type = 'main',\n className,\n ...props\n }: Omit<ComponentProps<T>, keyof SidebarTitleWrapperProps<T>> &\n SidebarTitleWrapperProps<T>,\n ref: ComponentPropsWithRef<T>['ref']\n) => {\n const Component = as ?? 'button';\n return (\n <Component\n ref={ref}\n {...props}\n className={cn(\n wrapperVariants({ type: $type, collapsible: $collapsible }),\n className\n )}\n />\n );\n};\n\nexport const SidebarTitleWrapper: SidebarTitleWrapperComponent =\n forwardRef(_SidebarTitleWrapper);\n\nexport const SidebarNavigationTitle = ({\n label,\n icon,\n iconDir,\n selected,\n type = 'main',\n ...props\n}: SidebarNavigationTitleProps) => {\n return (\n <SidebarTitleWrapper\n data-selected={selected}\n $type={type}\n {...props}\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {label}\n </IconWrapper>\n </SidebarTitleWrapper>\n );\n};\n"],"names":["wrapperVariants","cva","styles","wrapper","variants","type","main","wrapper_type_main","sqlSidebar","collapsible","true","wrapper_collapsible_true","false","defaultVariants","_SidebarTitleWrapper","as","$collapsible","$type","className","props","ref","Component","cn","SidebarTitleWrapper","forwardRef","SidebarNavigationTitle","label","icon","iconDir","selected"],"mappings":";;;;;;;AAYA,MAAMA,eAAAA,GAAkBC,GAAAA,CAAIC,MAAAA,CAAOC,OAAAA,EAAS;AAAA,EAC1CC,QAAAA,EAAU;AAAA,IACRC,IAAAA,EAAM;AAAA,MACJC,MAAMJ,MAAAA,CAAOK,iBAAAA;AAAAA,MACbC,UAAAA,EAAYN,OAAO,0BAA0B;AAAA,KAC/C;AAAA,IACAO,WAAAA,EAAa;AAAA,MAAEC,MAAMR,MAAAA,CAAOS,wBAAAA;AAAAA,MAA0BC,KAAAA,EAAO;AAAA;AAAG,GAClE;AAAA,EACAC,eAAAA,EAAiB;AAAA,IAAER,IAAAA,EAAM,MAAA;AAAA,IAAQI,WAAAA,EAAa;AAAA;AAChD,CAAC,CAAA;AAeD,MAAMK,uBAAuB,CAC3B;AAAA,EACEC,EAAAA;AAAAA,EACAC,YAAAA,GAAe,KAAA;AAAA,EACfC,KAAAA,GAAQ,MAAA;AAAA,EACRC,SAAAA;AAAAA,EACA,GAAGC;AAEuB,CAAA,EAC5BC,GAAAA,KACG;AACH,EAAA,MAAMC,YAAYN,EAAAA,IAAM,QAAA;AACxB,EAAA,2BACG,SAAA,EAAA,EACC,GAAA,KACII,KAAAA,EACJ,SAAA,EAAWG,GACTtB,eAAAA,CAAgB;AAAA,IAAEK,IAAAA,EAAMY,KAAAA;AAAAA,IAAOR,WAAAA,EAAaO;AAAAA,GAAc,CAAA,EAC1DE,SACF,CAAA,EAAE,CAAA;AAGR,CAAA;AAEO,MAAMK,mBAAAA,GACXC,WAAWV,oBAAoB;AAE1B,MAAMW,yBAAyBA,CAAC;AAAA,EACrCC,KAAAA;AAAAA,EACAC,IAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAxB,IAAAA,GAAO,MAAA;AAAA,EACP,GAAGc;AACwB,CAAA,KAAM;AACjC,EAAA,uBACE,GAAA,CAAC,mBAAA,EAAA,EACC,eAAA,EAAeU,QAAAA,EACf,KAAA,EAAOxB,IAAAA,EACP,GAAIc,KAAAA,EAEJ,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EACC,IAAA,EACA,OAAA,EAECO,iBACH,CAAA,EACF,CAAA;AAEJ;;;;"}
@@ -0,0 +1,54 @@
1
+ .tabs__trigger__JHqK4 {
2
+ padding: var(--click-tabs-space-y) var(--click-tabs-space-x);
3
+ border: none;
4
+ border-bottom: 2px solid var(--click-tabs-basic-color-stroke-default);
5
+ background-color: var(--click-tabs-basic-color-background-default);
6
+ color: var(--click-tabs-basic-color-text-default);
7
+ font: var(--click-tabs-typography-label-default);
8
+ cursor: pointer;
9
+ border-top-left-radius: var(--click-tabs-radii-all);
10
+ border-top-right-radius: var(--click-tabs-radii-all);
11
+ }
12
+
13
+ .tabs__trigger__JHqK4[data-state='active'] {
14
+ border-bottom: 2px solid var(--click-tabs-basic-color-stroke-active);
15
+ color: var(--click-tabs-basic-color-text-active);
16
+ font: var(--click-tabs-typography-label-active);
17
+ }
18
+
19
+ .tabs__trigger__JHqK4:hover {
20
+ border-bottom: 2px solid var(--click-tabs-basic-color-stroke-hover);
21
+ background-color: var(--click-tabs-basic-color-background-hover);
22
+ color: var(--click-tabs-basic-color-text-hover);
23
+ font: var(--click-tabs-typography-label-hover);
24
+ }
25
+
26
+ .tabs__trigger__JHqK4:hover[data-state='active'] {
27
+ border-bottom: 2px solid var(--click-tabs-basic-color-stroke-active);
28
+ font: var(--click-tabs-typography-label-active);
29
+ }
30
+
31
+ /* stylelint-disable-next-line block-no-empty -- base element required by BEM */
32
+ .tabs__content__O9Cub {
33
+ }
34
+
35
+ .tabs__triggers-list__9Hz3q {
36
+ display: flex;
37
+ border-bottom: 1px solid var(--click-global-color-stroke-default);
38
+ }
39
+
40
+ .full-width-tabs__VaUSf {
41
+ width: 100%;
42
+ }
43
+
44
+ /* stylelint-disable-next-line block-no-empty -- base element required by BEM */
45
+ .full-width-tabs__trigger__LA8iG {
46
+ }
47
+
48
+ .full-width-tabs__trigger_width_stretched__Q31k- {
49
+ flex: 1 1 auto;
50
+ }
51
+
52
+ .full-width-tabs__trigger_width_fixed__U9z-W {
53
+ width: var(--full-width-tabs-trigger-width);
54
+ }
@@ -0,0 +1,14 @@
1
+ const tabs__trigger = "tabs__trigger__JHqK4";
2
+ const tabs__content = "tabs__content__O9Cub";
3
+ const styles = {
4
+ tabs__trigger: tabs__trigger,
5
+ tabs__content: tabs__content,
6
+ "tabs__triggers-list": "tabs__triggers-list__9Hz3q",
7
+ "full-width-tabs": "full-width-tabs__VaUSf",
8
+ "full-width-tabs__trigger": "full-width-tabs__trigger__LA8iG",
9
+ "full-width-tabs__trigger_width_stretched": "full-width-tabs__trigger_width_stretched__Q31k-",
10
+ "full-width-tabs__trigger_width_fixed": "full-width-tabs__trigger_width_fixed__U9z-W"
11
+ };
12
+
13
+ export { styles as default, tabs__content, tabs__trigger };
14
+ //# sourceMappingURL=Tabs.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1,16 +1,34 @@
1
+ import "./Tabs.css";
1
2
  import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef } from 'react';
2
4
  import * as RadixTabs from '@radix-ui/react-tabs';
3
- import { styled } from 'styled-components';
5
+ import { cn } from '../../lib/cva.js';
6
+ import styles from './Tabs.module.css.js';
7
+ import { cva } from 'class-variance-authority';
4
8
 
5
- const Trigger = styled(RadixTabs.Trigger).withConfig({
6
- componentId: "sc-tj736u-0"
7
- })(["padding:", ";border-top-left-radius:", ";border-top-right-radius:", ";border:none;border-bottom:2px solid ", ";background-color:", ";color:", ";font:", ";cursor:pointer;&[data-state='active']{border-bottom:2px solid ", ";color:", ";font:", ";&:hover{font:", ";}}&:hover{border-bottom:2px solid ", ";background-color:", ";color:", ";font:", ";}&:hover[data-state='active']{border-bottom:2px solid ", ";}"], (props) => `${props.theme.click.tabs.space.y} ${props.theme.click.tabs.space.x}`, (props) => props.theme.click.tabs.radii.all, (props) => props.theme.click.tabs.radii.all, (props) => props.theme.click.tabs.basic.color.stroke.default, (props) => props.theme.click.tabs.basic.color.background.default, (props) => props.theme.click.tabs.basic.color.text.default, (props) => props.theme.click.tabs.typography.label.default, (props) => props.theme.click.tabs.basic.color.stroke.active, (props) => props.theme.click.tabs.basic.color.text.active, (props) => props.theme.click.tabs.typography.label.active, (props) => props.theme.click.tabs.typography.label.active, (props) => props.theme.click.tabs.basic.color.stroke.hover, (props) => props.theme.click.tabs.basic.color.background.hover, (props) => props.theme.click.tabs.basic.color.text.hover, (props) => props.theme.click.tabs.typography.label.hover, (props) => props.theme.click.tabs.basic.color.stroke.active);
8
- const Content = styled(RadixTabs.Content).withConfig({
9
- componentId: "sc-tj736u-1"
10
- })([""]);
11
- const TriggersList = styled(RadixTabs.List).withConfig({
12
- componentId: "sc-tj736u-2"
13
- })(["border-bottom:1px solid ", ";display:flex;"], (props) => props.theme.click.global.color.stroke.default);
9
+ const fullWidthTriggerVariants = cva(cn(styles.tabs__trigger, styles["full-width-tabs__trigger"]), {
10
+ variants: {
11
+ width: {
12
+ fixed: styles["full-width-tabs__trigger_width_fixed"],
13
+ stretched: styles["full-width-tabs__trigger_width_stretched"]
14
+ }
15
+ },
16
+ defaultVariants: {
17
+ width: "stretched"
18
+ }
19
+ });
20
+ const Trigger = forwardRef(({
21
+ className,
22
+ ...props
23
+ }, ref) => /* @__PURE__ */ jsx(RadixTabs.Trigger, { ref, ...props, className: cn(styles.tabs__trigger, className) }));
24
+ const Content = forwardRef(({
25
+ className,
26
+ ...props
27
+ }, ref) => /* @__PURE__ */ jsx(RadixTabs.Content, { ref, ...props, className: cn(styles.tabs__content, className) }));
28
+ const TriggersList = forwardRef(({
29
+ className,
30
+ ...props
31
+ }, ref) => /* @__PURE__ */ jsx(RadixTabs.List, { ref, ...props, className: cn(styles["tabs__triggers-list"], className) }));
14
32
  const Tabs = ({
15
33
  defaultValue,
16
34
  children,
@@ -23,17 +41,24 @@ const Tabs = ({
23
41
  Tabs.TriggersList = TriggersList;
24
42
  Tabs.Trigger = Trigger;
25
43
  Tabs.Content = Content;
26
- const FullWidthTabs = styled(Tabs).withConfig({
27
- componentId: "sc-tj736u-3"
28
- })(["width:100%;"]);
29
- FullWidthTabs.Trigger = styled(Trigger).withConfig({
30
- componentId: "sc-tj736u-4"
31
- })(["", ";"], (props) => props.width ? `width: ${props.width};` : `
32
- flex-basis: auto;
33
- flex-grow: 1;
34
- flex-shrink: 1;
35
- `);
44
+ const FullWidthTabs = ({
45
+ className,
46
+ ...props
47
+ }) => /* @__PURE__ */ jsx(Tabs, { ...props, className: cn(styles["full-width-tabs"], className) });
48
+ const FullWidthTabsTrigger = forwardRef(({
49
+ className,
50
+ width,
51
+ style,
52
+ ...props
53
+ }, ref) => /* @__PURE__ */ jsx(RadixTabs.Trigger, { ref, ...props, style: width ? {
54
+ ...style,
55
+ "--full-width-tabs-trigger-width": width
56
+ } : style, className: cn(fullWidthTriggerVariants({
57
+ width: width ? "fixed" : "stretched"
58
+ }), className) }));
59
+ FullWidthTabs.Trigger = FullWidthTabsTrigger;
36
60
  FullWidthTabs.TriggersList = TriggersList;
61
+ FullWidthTabs.Content = Content;
37
62
 
38
63
  export { FullWidthTabs, Tabs };
39
64
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import * as RadixTabs from '@radix-ui/react-tabs';\nimport { styled } from 'styled-components';\nimport { TabsProps } from './Tabs.types';\n\nconst Trigger = styled(RadixTabs.Trigger)`\n padding: ${props =>\n `${props.theme.click.tabs.space.y} ${props.theme.click.tabs.space.x}`};\n\n border-top-left-radius: ${props => props.theme.click.tabs.radii.all};\n border-top-right-radius: ${props => props.theme.click.tabs.radii.all};\n border: none;\n border-bottom: 2px solid ${props => props.theme.click.tabs.basic.color.stroke.default};\n background-color: ${props => props.theme.click.tabs.basic.color.background.default};\n color: ${props => props.theme.click.tabs.basic.color.text.default};\n font: ${props => props.theme.click.tabs.typography.label.default};\n cursor: pointer;\n\n &[data-state='active'] {\n border-bottom: 2px solid ${props => props.theme.click.tabs.basic.color.stroke.active};\n color: ${props => props.theme.click.tabs.basic.color.text.active};\n font: ${props => props.theme.click.tabs.typography.label.active};\n &:hover {\n font: ${props => props.theme.click.tabs.typography.label.active};\n }\n }\n\n &:hover {\n border-bottom: 2px solid ${props => props.theme.click.tabs.basic.color.stroke.hover};\n background-color: ${props => props.theme.click.tabs.basic.color.background.hover};\n color: ${props => props.theme.click.tabs.basic.color.text.hover};\n font: ${props => props.theme.click.tabs.typography.label.hover};\n }\n\n &:hover[data-state='active'] {\n border-bottom: 2px solid ${props => props.theme.click.tabs.basic.color.stroke.active};\n }\n`;\n\nconst Content = styled(RadixTabs.Content)``;\n\nconst TriggersList = styled(RadixTabs.List)`\n border-bottom: 1px solid ${props => props.theme.click.global.color.stroke.default};\n display: flex;\n`;\n\nconst Tabs = ({\n defaultValue,\n children,\n ariaLabel,\n onValueChange,\n ...delegated\n}: TabsProps) => {\n return (\n <RadixTabs.Root\n aria-label={ariaLabel}\n defaultValue={defaultValue}\n onValueChange={onValueChange}\n {...delegated}\n >\n {children}\n </RadixTabs.Root>\n );\n};\n\nTabs.TriggersList = TriggersList;\nTabs.Trigger = Trigger;\nTabs.Content = Content;\n\nconst FullWidthTabs = styled(Tabs)`\n width: 100%;\n`;\n\nFullWidthTabs.Trigger = styled(Trigger)<{ width?: string }>`\n ${props =>\n props.width\n ? `width: ${props.width};`\n : `\n flex-basis: auto;\n flex-grow: 1;\n flex-shrink: 1;\n `};\n`;\n\nFullWidthTabs.TriggersList = TriggersList;\n\nexport { Tabs, FullWidthTabs };\n"],"names":["Trigger","styled","RadixTabs","withConfig","componentId","props","theme","click","tabs","space","y","x","radii","all","basic","color","stroke","default","background","text","typography","label","active","hover","Content","TriggersList","List","global","Tabs","defaultValue","children","ariaLabel","onValueChange","delegated","FullWidthTabs","width"],"mappings":";;;;AAIA,MAAMA,OAAAA,GAAUC,MAAAA,CAAOC,SAAAA,CAAUF,OAAO,EAACG,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,EAAA,CAAA,UAAA,EAAA,0BAAA,EAAA,2BAAA,EAAA,yCAAA,oBAAA,EAAA,SAAA,EAAA,QAAA,EAAA,iEAAA,EAAA,WAAA,QAAA,EAAA,gBAAA,EAAA,qCAAA,EAAA,oBAAA,EAAA,WAAA,QAAA,EAAA,yDAAA,EAAA,IAAA,CAAA,EAC5BC,WACT,CAAA,EAAGA,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMC,KAAKC,KAAAA,CAAMC,CAAC,CAAA,CAAA,EAAIL,KAAAA,CAAMC,MAAMC,KAAAA,CAAMC,IAAAA,CAAKC,MAAME,CAAC,CAAA,CAAA,EAE3CN,WAASA,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMC,IAAAA,CAAKI,MAAMC,GAAAA,EACrCR,CAAAA,KAAAA,KAASA,KAAAA,CAAMC,KAAAA,CAAMC,MAAMC,IAAAA,CAAKI,KAAAA,CAAMC,GAAAA,EAEtCR,CAAAA,KAAAA,KAASA,MAAMC,KAAAA,CAAMC,KAAAA,CAAMC,KAAKM,KAAAA,CAAMC,KAAAA,CAAMC,OAAOC,OAAAA,EAC1DZ,CAAAA,KAAAA,KAASA,KAAAA,CAAMC,KAAAA,CAAMC,MAAMC,IAAAA,CAAKM,KAAAA,CAAMC,KAAAA,CAAMG,UAAAA,CAAWD,SAClEZ,CAAAA,KAAAA,KAASA,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMC,KAAKM,KAAAA,CAAMC,KAAAA,CAAMI,KAAKF,OAAAA,EAClDZ,CAAAA,KAAAA,KAASA,MAAMC,KAAAA,CAAMC,KAAAA,CAAMC,IAAAA,CAAKY,UAAAA,CAAWC,MAAMJ,OAAAA,EAI5BZ,CAAAA,KAAAA,KAASA,KAAAA,CAAMC,KAAAA,CAAMC,MAAMC,IAAAA,CAAKM,KAAAA,CAAMC,KAAAA,CAAMC,MAAAA,CAAOM,QACrEjB,CAAAA,KAAAA,KAASA,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMC,KAAKM,KAAAA,CAAMC,KAAAA,CAAMI,IAAAA,CAAKG,MAAAA,EAClDjB,WAASA,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMC,IAAAA,CAAKY,WAAWC,KAAAA,CAAMC,MAAAA,EAE/CjB,CAAAA,KAAAA,KAASA,KAAAA,CAAMC,MAAMC,KAAAA,CAAMC,IAAAA,CAAKY,WAAWC,KAAAA,CAAMC,MAAAA,EAKhCjB,WAASA,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMC,IAAAA,CAAKM,MAAMC,KAAAA,CAAMC,MAAAA,CAAOO,KAAAA,EAC1DlB,CAAAA,KAAAA,KAASA,MAAMC,KAAAA,CAAMC,KAAAA,CAAMC,IAAAA,CAAKM,KAAAA,CAAMC,MAAMG,UAAAA,CAAWK,KAAAA,EAClElB,WAASA,KAAAA,CAAMC,KAAAA,CAAMC,MAAMC,IAAAA,CAAKM,KAAAA,CAAMC,KAAAA,CAAMI,IAAAA,CAAKI,OAClDlB,CAAAA,KAAAA,KAASA,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMC,KAAKY,UAAAA,CAAWC,KAAAA,CAAME,KAAAA,EAI9BlB,CAAAA,KAAAA,KAASA,MAAMC,KAAAA,CAAMC,KAAAA,CAAMC,KAAKM,KAAAA,CAAMC,KAAAA,CAAMC,OAAOM,MAAM,CAAA;AAIxF,MAAME,OAAAA,GAAUvB,MAAAA,CAAOC,SAAAA,CAAUsB,OAAO,EAACrB,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAEzC,MAAMqB,YAAAA,GAAexB,MAAAA,CAAOC,SAAAA,CAAUwB,IAAI,EAACvB,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,0BAAA,EAAA,gBAAA,CAAA,EACdC,CAAAA,KAAAA,KAASA,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMoB,MAAAA,CAAOZ,KAAAA,CAAMC,MAAAA,CAAOC,OAAO,CAAA;AAInF,MAAMW,OAAOA,CAAC;AAAA,EACZC,YAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,aAAAA;AAAAA,EACA,GAAGC;AACM,CAAA,KAAM;AACf,EAAA,uBACE,GAAA,CAAC,SAAA,CAAU,IAAA,EAAV,EACC,YAAA,EAAYF,WACZ,YAAA,EACA,aAAA,EACA,GAAIE,SAAAA,EAEHH,QAAAA,EACH,CAAA;AAEJ;AAEAF,IAAAA,CAAKH,YAAAA,GAAeA,YAAAA;AACpBG,IAAAA,CAAK5B,OAAAA,GAAUA,OAAAA;AACf4B,IAAAA,CAAKJ,OAAAA,GAAUA,OAAAA;AAEf,MAAMU,aAAAA,GAAgBjC,MAAAA,CAAO2B,IAAI,CAAA,CAACzB,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,aAAA,CAAA;AAIlC8B,aAAAA,CAAclC,OAAAA,GAAUC,MAAAA,CAAOD,OAAO,CAAA,CAACG,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,GAAA,CAAA,EACnCC,CAAAA,KAAAA,KACAA,KAAAA,CAAM8B,KAAAA,GACF,CAAA,OAAA,EAAU9B,KAAAA,CAAM8B,KAAK,CAAA,CAAA,CAAA,GACrB;AAAA;AAAA;AAAA;AAAA,EAAA,CAIL,CAAA;AAGHD,aAAAA,CAAcT,YAAAA,GAAeA,YAAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Tabs/Tabs.tsx"],"sourcesContent":["import { ComponentPropsWithoutRef, CSSProperties, ElementRef, forwardRef } from 'react';\nimport * as RadixTabs from '@radix-ui/react-tabs';\nimport { cn, cva } from '@/lib/cva';\nimport { TabsProps } from './Tabs.types';\nimport styles from './Tabs.module.css';\n\nconst fullWidthTriggerVariants = cva(\n cn(styles.tabs__trigger, styles['full-width-tabs__trigger']),\n {\n variants: {\n width: {\n fixed: styles['full-width-tabs__trigger_width_fixed'],\n stretched: styles['full-width-tabs__trigger_width_stretched'],\n },\n },\n defaultVariants: {\n width: 'stretched',\n },\n }\n);\n\nconst Trigger = forwardRef<\n ElementRef<typeof RadixTabs.Trigger>,\n ComponentPropsWithoutRef<typeof RadixTabs.Trigger>\n>(({ className, ...props }, ref) => (\n <RadixTabs.Trigger\n ref={ref}\n {...props}\n className={cn(styles.tabs__trigger, className)}\n />\n));\n\nconst Content = forwardRef<\n ElementRef<typeof RadixTabs.Content>,\n ComponentPropsWithoutRef<typeof RadixTabs.Content>\n>(({ className, ...props }, ref) => (\n <RadixTabs.Content\n ref={ref}\n {...props}\n className={cn(styles.tabs__content, className)}\n />\n));\n\nconst TriggersList = forwardRef<\n ElementRef<typeof RadixTabs.List>,\n ComponentPropsWithoutRef<typeof RadixTabs.List>\n>(({ className, ...props }, ref) => (\n <RadixTabs.List\n ref={ref}\n {...props}\n className={cn(styles['tabs__triggers-list'], className)}\n />\n));\n\nconst Tabs = ({\n defaultValue,\n children,\n ariaLabel,\n onValueChange,\n ...delegated\n}: TabsProps) => {\n return (\n <RadixTabs.Root\n aria-label={ariaLabel}\n defaultValue={defaultValue}\n onValueChange={onValueChange}\n {...delegated}\n >\n {children}\n </RadixTabs.Root>\n );\n};\n\nTabs.TriggersList = TriggersList;\nTabs.Trigger = Trigger;\nTabs.Content = Content;\n\nconst FullWidthTabs = ({ className, ...props }: TabsProps) => (\n <Tabs\n {...props}\n className={cn(styles['full-width-tabs'], className)}\n />\n);\n\nconst FullWidthTabsTrigger = forwardRef<\n ElementRef<typeof RadixTabs.Trigger>,\n ComponentPropsWithoutRef<typeof RadixTabs.Trigger> & { width?: string }\n>(({ className, width, style, ...props }, ref) => (\n <RadixTabs.Trigger\n ref={ref}\n {...props}\n style={\n width\n ? ({ ...style, '--full-width-tabs-trigger-width': width } as CSSProperties)\n : style\n }\n className={cn(\n fullWidthTriggerVariants({ width: width ? 'fixed' : 'stretched' }),\n className\n )}\n />\n));\n\nFullWidthTabs.Trigger = FullWidthTabsTrigger;\nFullWidthTabs.TriggersList = TriggersList;\nFullWidthTabs.Content = Content;\n\nexport { Tabs, FullWidthTabs };\n"],"names":["fullWidthTriggerVariants","cva","cn","styles","tabs__trigger","variants","width","fixed","stretched","defaultVariants","Trigger","forwardRef","className","props","ref","Content","tabs__content","TriggersList","Tabs","defaultValue","children","ariaLabel","onValueChange","delegated","FullWidthTabs","FullWidthTabsTrigger","style"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import * as RadixTooltip from '@radix-ui/react-tooltip';
3
3
  import { styled } from 'styled-components';
4
+ import { useResolvedPortalContainer } from '../../providers/PortalContext.js';
4
5
 
5
6
  const Tooltip = ({
6
7
  children,
@@ -41,9 +42,11 @@ const TooltipContent = ({
41
42
  children,
42
43
  sideOffset = 6,
43
44
  maxWidth,
45
+ container,
44
46
  ...props
45
47
  }) => {
46
- return /* @__PURE__ */ jsx(RadixTooltip.Portal, { children: /* @__PURE__ */ jsxs(RadixTooltipContent, { sideOffset, $maxWidth: maxWidth, ...props, children: [
48
+ const portalContainer = useResolvedPortalContainer(container);
49
+ return /* @__PURE__ */ jsx(RadixTooltip.Portal, { container: portalContainer, children: /* @__PURE__ */ jsxs(RadixTooltipContent, { sideOffset, $maxWidth: maxWidth, ...props, children: [
47
50
  showArrow && /* @__PURE__ */ jsx(Arrow, { as: RadixTooltip.Arrow, width: 20, height: 8 }),
48
51
  children
49
52
  ] }) });
@@ -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 { 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;\ninterface TooltipContentProps extends RadixTooltip.TooltipContentProps {\n /** Whether to show an arrow pointing to the trigger element */\n showArrow?: boolean;\n /** Maximum width of the tooltip content */\n maxWidth?: string;\n}\n\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 ...props\n}: TooltipContentProps) => {\n return (\n <RadixTooltip.Portal>\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"],"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 { 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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"}
package/dist/esm/index.js CHANGED
@@ -80,5 +80,7 @@ export { Text } from './components/Text/index.js';
80
80
  export { Title } from './components/Title/index.js';
81
81
  export { VerticalStepper } from './components/VerticalStepper/index.js';
82
82
  export { ClickUIProvider } from './providers/ClickUIProvider.js';
83
+ export { PortalProvider } from './providers/PortalProvider.js';
83
84
  export { ThemeProvider } from './providers/ThemeProvider.js';
85
+ export { usePortalContainer, useResolvedPortalContainer } from './providers/PortalContext.js';
84
86
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,13 @@
1
+ import { createContext, useContext } from 'react';
2
+
3
+ const PortalContainerContext = createContext(null);
4
+ const usePortalContainer = () => {
5
+ return useContext(PortalContainerContext);
6
+ };
7
+ const useResolvedPortalContainer = (container) => {
8
+ const contextContainer = usePortalContainer();
9
+ return container === void 0 ? contextContainer : container;
10
+ };
11
+
12
+ export { PortalContainerContext, usePortalContainer, useResolvedPortalContainer };
13
+ //# sourceMappingURL=PortalContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PortalContext.js","sources":["../../../src/providers/PortalContext.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nexport type PortalContainer = HTMLElement | null;\n\nexport const PortalContainerContext = createContext<PortalContainer>(null);\n\nexport const usePortalContainer = (): PortalContainer => {\n return useContext(PortalContainerContext);\n};\n\nexport const useResolvedPortalContainer = (\n container?: PortalContainer\n): PortalContainer => {\n const contextContainer = usePortalContainer();\n\n return container === undefined ? contextContainer : container;\n};\n"],"names":["PortalContainerContext","createContext","usePortalContainer","useContext","useResolvedPortalContainer","container","contextContainer","undefined"],"mappings":";;AAIO,MAAMA,sBAAAA,GAAyBC,cAA+B,IAAI;AAElE,MAAMC,qBAAqBA,MAAuB;AACvD,EAAA,OAAOC,WAAWH,sBAAsB,CAAA;AAC1C;AAEO,MAAMI,0BAAAA,GAA6BA,CACxCC,SAAAA,KACoB;AACpB,EAAA,MAAMC,mBAAmBJ,kBAAAA,EAAmB;AAE5C,EAAA,OAAOG,SAAAA,KAAcE,SAAYD,gBAAAA,GAAmBD,SAAAA;AACtD;;;;"}
@@ -0,0 +1,12 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { PortalContainerContext } from './PortalContext.js';
3
+
4
+ const PortalProvider = ({
5
+ children,
6
+ container = null
7
+ }) => {
8
+ return /* @__PURE__ */ jsx(PortalContainerContext.Provider, { value: container, children });
9
+ };
10
+
11
+ export { PortalProvider };
12
+ //# sourceMappingURL=PortalProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PortalProvider.js","sources":["../../../src/providers/PortalProvider.tsx"],"sourcesContent":["import { ReactElement, ReactNode } from 'react';\nimport { PortalContainerContext, type PortalContainer } from './PortalContext';\n\nexport interface PortalProviderProps {\n children: ReactNode;\n container?: PortalContainer;\n}\n\nexport const PortalProvider = ({\n children,\n container = null,\n}: PortalProviderProps): ReactElement => {\n return (\n <PortalContainerContext.Provider value={container}>\n {children}\n </PortalContainerContext.Provider>\n );\n};\n"],"names":["PortalProvider","children","container"],"mappings":";;;AAQO,MAAMA,iBAAiBA,CAAC;AAAA,EAC7BC,QAAAA;AAAAA,EACAC,SAAAA,GAAY;AACO,CAAA,KAAoB;AACvC,EAAA,2BACG,sBAAA,CAAuB,QAAA,EAAvB,EAAgC,KAAA,EAAOA,WACrCD,QAAAA,EACH,CAAA;AAEJ;;;;"}
@@ -367,6 +367,11 @@
367
367
  --click-button-group-space-button-default-x: 0.75rem;
368
368
  --click-button-group-space-button-borderless-y: 5.5px;
369
369
  --click-button-group-space-button-borderless-x: 1rem;
370
+ --click-button-group-space-icon-default-y: 3px;
371
+ --click-button-group-space-icon-default-x: 1rem;
372
+ --click-button-group-space-icon-borderless-y: 5.5px;
373
+ --click-button-group-space-icon-borderless-x: 1rem;
374
+ --click-button-group-icon-size-all: 1rem;
370
375
  --click-button-group-color-background-default: rgba(0, 0, 0, 0);
371
376
  --click-button-group-color-background-hover: #282828;
372
377
  --click-button-group-color-background-active: #414141;
@@ -368,6 +368,11 @@
368
368
  --click-button-group-space-button-default-x: 0.75rem;
369
369
  --click-button-group-space-button-borderless-y: 5.5px;
370
370
  --click-button-group-space-button-borderless-x: 1rem;
371
+ --click-button-group-space-icon-default-y: 3px;
372
+ --click-button-group-space-icon-default-x: 1rem;
373
+ --click-button-group-space-icon-borderless-y: 5.5px;
374
+ --click-button-group-space-icon-borderless-x: 1rem;
375
+ --click-button-group-icon-size-all: 1rem;
371
376
  --click-button-group-color-background-default: rgba(0, 0, 0, 0);
372
377
  --click-button-group-color-background-hover: #f6f7fa;
373
378
  --click-button-group-color-background-active: lch(95.274 1.5364 271.98);
@@ -768,6 +768,21 @@ const theme = {
768
768
  y: "5.5px",
769
769
  x: "1rem"
770
770
  }
771
+ },
772
+ icon: {
773
+ default: {
774
+ y: "3px",
775
+ x: "1rem"
776
+ },
777
+ borderless: {
778
+ y: "5.5px",
779
+ x: "1rem"
780
+ }
781
+ }
782
+ },
783
+ icon: {
784
+ size: {
785
+ all: "1rem"
771
786
  }
772
787
  },
773
788
  color: {