@c15t/react 0.0.1-rc.3

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 (230) hide show
  1. package/LICENSE.md +595 -0
  2. package/README.md +55 -0
  3. package/dist/common/components/consent-manager-provider.cjs +93 -0
  4. package/dist/common/components/consent-manager-provider.d.ts +16 -0
  5. package/dist/common/components/consent-manager-provider.d.ts.map +1 -0
  6. package/dist/common/components/consent-manager-provider.js +59 -0
  7. package/dist/common/context/consent-manager-context.cjs +38 -0
  8. package/dist/common/context/consent-manager-context.d.ts +13 -0
  9. package/dist/common/context/consent-manager-context.d.ts.map +1 -0
  10. package/dist/common/context/consent-manager-context.js +4 -0
  11. package/dist/common/hooks/use-consent-manager.cjs +45 -0
  12. package/dist/common/hooks/use-consent-manager.d.ts +20 -0
  13. package/dist/common/hooks/use-consent-manager.d.ts.map +1 -0
  14. package/dist/common/hooks/use-consent-manager.js +11 -0
  15. package/dist/common/index.cjs +42 -0
  16. package/dist/common/index.d.ts +7 -0
  17. package/dist/common/index.d.ts.map +1 -0
  18. package/dist/common/index.js +9 -0
  19. package/dist/common/store/use-consent-manager.cjs +47 -0
  20. package/dist/common/store/use-consent-manager.d.ts +136 -0
  21. package/dist/common/store/use-consent-manager.d.ts.map +1 -0
  22. package/dist/common/store/use-consent-manager.js +13 -0
  23. package/dist/common/store/use-translations.cjs +58 -0
  24. package/dist/common/store/use-translations.d.ts +29 -0
  25. package/dist/common/store/use-translations.d.ts.map +1 -0
  26. package/dist/common/store/use-translations.js +24 -0
  27. package/dist/common/types/consent-manager.cjs +19 -0
  28. package/dist/common/types/consent-manager.d.ts +82 -0
  29. package/dist/common/types/consent-manager.d.ts.map +1 -0
  30. package/dist/common/types/consent-manager.js +0 -0
  31. package/dist/common/utils/theme.cjs +47 -0
  32. package/dist/common/utils/theme.d.ts +8 -0
  33. package/dist/common/utils/theme.d.ts.map +1 -0
  34. package/dist/common/utils/theme.js +13 -0
  35. package/dist/common/utils/translations.cjs +86 -0
  36. package/dist/common/utils/translations.d.ts +14 -0
  37. package/dist/common/utils/translations.d.ts.map +1 -0
  38. package/dist/common/utils/translations.js +50 -0
  39. package/dist/consent-manager-dialog/__tests__/styles.spec.cjs +218 -0
  40. package/dist/consent-manager-dialog/__tests__/styles.spec.d.ts +2 -0
  41. package/dist/consent-manager-dialog/__tests__/styles.spec.d.ts.map +1 -0
  42. package/dist/consent-manager-dialog/__tests__/styles.spec.js +183 -0
  43. package/dist/consent-manager-dialog/__tests__/utils.cjs +68 -0
  44. package/dist/consent-manager-dialog/__tests__/utils.d.ts +13 -0
  45. package/dist/consent-manager-dialog/__tests__/utils.d.ts.map +1 -0
  46. package/dist/consent-manager-dialog/__tests__/utils.js +34 -0
  47. package/dist/consent-manager-dialog/atoms/dialog-card.cjs +139 -0
  48. package/dist/consent-manager-dialog/atoms/dialog-card.d.ts +90 -0
  49. package/dist/consent-manager-dialog/atoms/dialog-card.d.ts.map +1 -0
  50. package/dist/consent-manager-dialog/atoms/dialog-card.js +94 -0
  51. package/dist/consent-manager-dialog/atoms/overlay.cjs +67 -0
  52. package/dist/consent-manager-dialog/atoms/overlay.d.ts +71 -0
  53. package/dist/consent-manager-dialog/atoms/overlay.d.ts.map +1 -0
  54. package/dist/consent-manager-dialog/atoms/overlay.js +32 -0
  55. package/dist/consent-manager-dialog/consent-manager-dialog.cjs +129 -0
  56. package/dist/consent-manager-dialog/consent-manager-dialog.css +75 -0
  57. package/dist/consent-manager-dialog/consent-manager-dialog.d.ts +44 -0
  58. package/dist/consent-manager-dialog/consent-manager-dialog.d.ts.map +1 -0
  59. package/dist/consent-manager-dialog/consent-manager-dialog.js +95 -0
  60. package/dist/consent-manager-dialog/index.cjs +51 -0
  61. package/dist/consent-manager-dialog/index.d.ts +4 -0
  62. package/dist/consent-manager-dialog/index.d.ts.map +1 -0
  63. package/dist/consent-manager-dialog/index.js +18 -0
  64. package/dist/consent-manager-dialog/theme.cjs +19 -0
  65. package/dist/consent-manager-dialog/theme.d.ts +19 -0
  66. package/dist/consent-manager-dialog/theme.d.ts.map +1 -0
  67. package/dist/consent-manager-dialog/theme.js +0 -0
  68. package/dist/consent-manager-widget/__tests__/styles.spec.cjs +228 -0
  69. package/dist/consent-manager-widget/__tests__/styles.spec.d.ts +2 -0
  70. package/dist/consent-manager-widget/__tests__/styles.spec.d.ts.map +1 -0
  71. package/dist/consent-manager-widget/__tests__/styles.spec.js +193 -0
  72. package/dist/consent-manager-widget/__tests__/utils.cjs +68 -0
  73. package/dist/consent-manager-widget/__tests__/utils.d.ts +13 -0
  74. package/dist/consent-manager-widget/__tests__/utils.d.ts.map +1 -0
  75. package/dist/consent-manager-widget/__tests__/utils.js +34 -0
  76. package/dist/consent-manager-widget/atoms/accordion.cjs +147 -0
  77. package/dist/consent-manager-widget/atoms/accordion.d.ts +57 -0
  78. package/dist/consent-manager-widget/atoms/accordion.d.ts.map +1 -0
  79. package/dist/consent-manager-widget/atoms/accordion.js +98 -0
  80. package/dist/consent-manager-widget/atoms/button.cjs +77 -0
  81. package/dist/consent-manager-widget/atoms/button.d.ts +17 -0
  82. package/dist/consent-manager-widget/atoms/button.d.ts.map +1 -0
  83. package/dist/consent-manager-widget/atoms/button.js +38 -0
  84. package/dist/consent-manager-widget/atoms/footer.cjs +70 -0
  85. package/dist/consent-manager-widget/atoms/footer.d.ts +22 -0
  86. package/dist/consent-manager-widget/atoms/footer.d.ts.map +1 -0
  87. package/dist/consent-manager-widget/atoms/footer.js +34 -0
  88. package/dist/consent-manager-widget/atoms/logo.cjs +101 -0
  89. package/dist/consent-manager-widget/atoms/logo.d.ts +8 -0
  90. package/dist/consent-manager-widget/atoms/logo.d.ts.map +1 -0
  91. package/dist/consent-manager-widget/atoms/logo.js +67 -0
  92. package/dist/consent-manager-widget/atoms/root.cjs +64 -0
  93. package/dist/consent-manager-widget/atoms/root.d.ts +82 -0
  94. package/dist/consent-manager-widget/atoms/root.d.ts.map +1 -0
  95. package/dist/consent-manager-widget/atoms/root.js +29 -0
  96. package/dist/consent-manager-widget/consent-manager-widget.cjs +98 -0
  97. package/dist/consent-manager-widget/consent-manager-widget.css +79 -0
  98. package/dist/consent-manager-widget/consent-manager-widget.d.ts +51 -0
  99. package/dist/consent-manager-widget/consent-manager-widget.d.ts.map +1 -0
  100. package/dist/consent-manager-widget/consent-manager-widget.js +64 -0
  101. package/dist/consent-manager-widget/index.cjs +62 -0
  102. package/dist/consent-manager-widget/index.d.ts +10 -0
  103. package/dist/consent-manager-widget/index.d.ts.map +1 -0
  104. package/dist/consent-manager-widget/index.js +29 -0
  105. package/dist/consent-manager-widget/theme.cjs +19 -0
  106. package/dist/consent-manager-widget/theme.d.ts +48 -0
  107. package/dist/consent-manager-widget/theme.d.ts.map +1 -0
  108. package/dist/consent-manager-widget/theme.js +0 -0
  109. package/dist/consent-manager-widget/types.cjs +19 -0
  110. package/dist/consent-manager-widget/types.d.ts +18 -0
  111. package/dist/consent-manager-widget/types.d.ts.map +1 -0
  112. package/dist/consent-manager-widget/types.js +0 -0
  113. package/dist/cookie-banner/__tests__/styles.spec.cjs +234 -0
  114. package/dist/cookie-banner/__tests__/styles.spec.d.ts +2 -0
  115. package/dist/cookie-banner/__tests__/styles.spec.d.ts.map +1 -0
  116. package/dist/cookie-banner/__tests__/styles.spec.js +199 -0
  117. package/dist/cookie-banner/__tests__/utils.cjs +67 -0
  118. package/dist/cookie-banner/__tests__/utils.d.ts +13 -0
  119. package/dist/cookie-banner/__tests__/utils.d.ts.map +1 -0
  120. package/dist/cookie-banner/__tests__/utils.js +33 -0
  121. package/dist/cookie-banner/atoms/overlay.cjs +71 -0
  122. package/dist/cookie-banner/atoms/overlay.d.ts +46 -0
  123. package/dist/cookie-banner/atoms/overlay.d.ts.map +1 -0
  124. package/dist/cookie-banner/atoms/overlay.js +36 -0
  125. package/dist/cookie-banner/atoms/root.cjs +116 -0
  126. package/dist/cookie-banner/atoms/root.d.ts +79 -0
  127. package/dist/cookie-banner/atoms/root.d.ts.map +1 -0
  128. package/dist/cookie-banner/atoms/root.js +81 -0
  129. package/dist/cookie-banner/components.cjs +160 -0
  130. package/dist/cookie-banner/components.d.ts +136 -0
  131. package/dist/cookie-banner/components.d.ts.map +1 -0
  132. package/dist/cookie-banner/components.js +109 -0
  133. package/dist/cookie-banner/cookie-banner.cjs +99 -0
  134. package/dist/cookie-banner/cookie-banner.css +226 -0
  135. package/dist/cookie-banner/cookie-banner.d.ts +134 -0
  136. package/dist/cookie-banner/cookie-banner.d.ts.map +1 -0
  137. package/dist/cookie-banner/cookie-banner.js +65 -0
  138. package/dist/cookie-banner/error-boundary.cjs +68 -0
  139. package/dist/cookie-banner/error-boundary.d.ts +56 -0
  140. package/dist/cookie-banner/error-boundary.d.ts.map +1 -0
  141. package/dist/cookie-banner/error-boundary.js +34 -0
  142. package/dist/cookie-banner/index.cjs +59 -0
  143. package/dist/cookie-banner/index.d.ts +52 -0
  144. package/dist/cookie-banner/index.d.ts.map +1 -0
  145. package/dist/cookie-banner/index.js +26 -0
  146. package/dist/cookie-banner/theme.cjs +19 -0
  147. package/dist/cookie-banner/theme.d.ts +30 -0
  148. package/dist/cookie-banner/theme.d.ts.map +1 -0
  149. package/dist/cookie-banner/theme.js +0 -0
  150. package/dist/index.cjs +89 -0
  151. package/dist/index.d.ts +11 -0
  152. package/dist/index.d.ts.map +1 -0
  153. package/dist/index.js +8 -0
  154. package/dist/primitives/box.cjs +54 -0
  155. package/dist/primitives/box.d.ts +47 -0
  156. package/dist/primitives/box.d.ts.map +1 -0
  157. package/dist/primitives/box.js +20 -0
  158. package/dist/primitives/button.cjs +93 -0
  159. package/dist/primitives/button.d.ts +207 -0
  160. package/dist/primitives/button.d.ts.map +1 -0
  161. package/dist/primitives/button.js +59 -0
  162. package/dist/primitives/button.types.cjs +19 -0
  163. package/dist/primitives/button.types.d.ts +34 -0
  164. package/dist/primitives/button.types.d.ts.map +1 -0
  165. package/dist/primitives/button.types.js +0 -0
  166. package/dist/theme/context.cjs +44 -0
  167. package/dist/theme/context.d.ts +96 -0
  168. package/dist/theme/context.d.ts.map +1 -0
  169. package/dist/theme/context.js +9 -0
  170. package/dist/theme/index.cjs +39 -0
  171. package/dist/theme/index.d.ts +6 -0
  172. package/dist/theme/index.d.ts.map +1 -0
  173. package/dist/theme/index.js +6 -0
  174. package/dist/theme/style-keys.cjs +39 -0
  175. package/dist/theme/style-keys.d.ts +77 -0
  176. package/dist/theme/style-keys.d.ts.map +1 -0
  177. package/dist/theme/style-keys.js +5 -0
  178. package/dist/theme/use-style.cjs +95 -0
  179. package/dist/theme/use-style.d.ts +32 -0
  180. package/dist/theme/use-style.d.ts.map +1 -0
  181. package/dist/theme/use-style.js +61 -0
  182. package/dist/theme/utils/merge-styles.cjs +62 -0
  183. package/dist/theme/utils/merge-styles.d.ts +3 -0
  184. package/dist/theme/utils/merge-styles.d.ts.map +1 -0
  185. package/dist/theme/utils/merge-styles.js +28 -0
  186. package/dist/ui/components/accordion.cjs +204 -0
  187. package/dist/ui/components/accordion.css +158 -0
  188. package/dist/ui/components/accordion.d.ts +45 -0
  189. package/dist/ui/components/accordion.d.ts.map +1 -0
  190. package/dist/ui/components/accordion.js +164 -0
  191. package/dist/ui/components/button.cjs +185 -0
  192. package/dist/ui/components/button.css +303 -0
  193. package/dist/ui/components/button.d.ts +445 -0
  194. package/dist/ui/components/button.d.ts.map +1 -0
  195. package/dist/ui/components/button.js +149 -0
  196. package/dist/ui/components/card.cjs +80 -0
  197. package/dist/ui/components/card.css +55 -0
  198. package/dist/ui/components/card.d.ts +10 -0
  199. package/dist/ui/components/card.d.ts.map +1 -0
  200. package/dist/ui/components/card.js +41 -0
  201. package/dist/ui/components/icon.cjs +57 -0
  202. package/dist/ui/components/icon.d.ts +8 -0
  203. package/dist/ui/components/icon.d.ts.map +1 -0
  204. package/dist/ui/components/icon.js +23 -0
  205. package/dist/ui/components/logo.cjs +101 -0
  206. package/dist/ui/components/logo.d.ts +8 -0
  207. package/dist/ui/components/logo.d.ts.map +1 -0
  208. package/dist/ui/components/logo.js +67 -0
  209. package/dist/ui/components/switch.cjs +81 -0
  210. package/dist/ui/components/switch.css +135 -0
  211. package/dist/ui/components/switch.d.ts +25 -0
  212. package/dist/ui/components/switch.d.ts.map +1 -0
  213. package/dist/ui/components/switch.js +47 -0
  214. package/dist/ui/libs/cn.cjs +55 -0
  215. package/dist/ui/libs/cn.d.ts +11 -0
  216. package/dist/ui/libs/cn.d.ts.map +1 -0
  217. package/dist/ui/libs/cn.js +6 -0
  218. package/dist/ui/libs/polymorphic.cjs +19 -0
  219. package/dist/ui/libs/polymorphic.d.ts +15 -0
  220. package/dist/ui/libs/polymorphic.d.ts.map +1 -0
  221. package/dist/ui/libs/polymorphic.js +0 -0
  222. package/dist/ui/libs/recursive-clone-children.cjs +49 -0
  223. package/dist/ui/libs/recursive-clone-children.d.ts +14 -0
  224. package/dist/ui/libs/recursive-clone-children.d.ts.map +1 -0
  225. package/dist/ui/libs/recursive-clone-children.js +15 -0
  226. package/dist/ui/theme/context.cjs +6 -0
  227. package/dist/ui/theme/context.d.ts +2 -0
  228. package/dist/ui/theme/context.d.ts.map +1 -0
  229. package/dist/ui/theme/context.js +0 -0
  230. package/package.json +71 -0
@@ -0,0 +1,45 @@
1
+ import './accordion.css';
2
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
+ import { type ComponentPropsWithoutRef, type ElementType, type HTMLAttributes } from 'react';
4
+ import { type AllThemeKeys, type ExtendThemeKeys, type ThemeValue } from '../../theme';
5
+ import type { PolymorphicComponentProps } from '../libs/polymorphic';
6
+ declare const AccordionHeader: import("react").ForwardRefExoticComponent<AccordionPrimitive.AccordionHeaderProps & import("react").RefAttributes<HTMLHeadingElement>>;
7
+ export type AccordionStylesKeys = {
8
+ 'accordion.root'?: ThemeValue;
9
+ 'accordion.item': ThemeValue;
10
+ 'accordion.trigger': ThemeValue;
11
+ 'accordion.icon': ThemeValue;
12
+ 'accordion.arrow.open': ThemeValue;
13
+ 'accordion.arrow.close': ThemeValue;
14
+ 'accordion.content': ThemeValue;
15
+ 'accordion.content-inner': ThemeValue;
16
+ };
17
+ declare const AccordionRoot: import("react").ForwardRefExoticComponent<(ComponentPropsWithoutRef<import("react").ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & import("react").RefAttributes<HTMLDivElement>>> & ExtendThemeKeys) & import("react").RefAttributes<HTMLDivElement>>;
18
+ declare const AccordionItem: import("react").ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & ExtendThemeKeys & import("react").RefAttributes<HTMLDivElement>>;
19
+ declare const AccordionTrigger: import("react").ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "ref"> & ExtendThemeKeys & import("react").RefAttributes<HTMLButtonElement>>;
20
+ declare function AccordionIcon<T extends ElementType>({ className, themeKey, baseClassName, noStyle, style, as, ...rest }: PolymorphicComponentProps<T> & ExtendThemeKeys): import("react/jsx-runtime").JSX.Element;
21
+ declare namespace AccordionIcon {
22
+ var displayName: string;
23
+ }
24
+ type AccordionArrowProps = HTMLAttributes<HTMLDivElement> & {
25
+ openIcon?: {
26
+ Element: ElementType;
27
+ themeKey: AllThemeKeys;
28
+ } & ExtendThemeKeys;
29
+ closeIcon?: {
30
+ Element: ElementType;
31
+ themeKey: AllThemeKeys;
32
+ } & ExtendThemeKeys;
33
+ };
34
+ declare function AccordionArrow({ openIcon, closeIcon, ...rest }: AccordionArrowProps): import("react/jsx-runtime").JSX.Element;
35
+ declare namespace AccordionArrow {
36
+ var displayName: string;
37
+ }
38
+ declare const AccordionContent: import("react").ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
39
+ theme: {
40
+ content: ExtendThemeKeys;
41
+ contentInner: ExtendThemeKeys;
42
+ };
43
+ } & import("react").RefAttributes<HTMLDivElement>>;
44
+ export { AccordionRoot as Root, AccordionHeader as Header, AccordionItem as Item, AccordionTrigger as Trigger, AccordionIcon as Icon, AccordionArrow as Arrow, AccordionContent as Content, };
45
+ //# sourceMappingURL=accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../../src/ui/components/accordion.tsx"],"names":[],"mappings":"AAEA,OAAO,iBAAiB,CAAC;AACzB,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,EACN,KAAK,wBAAwB,EAE7B,KAAK,WAAW,EAChB,KAAK,cAAc,EAEnB,MAAM,OAAO,CAAC;AAEf,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,UAAU,EAGf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AASrE,QAAA,MAAM,eAAe,wIAA4B,CAAC;AAElD,MAAM,MAAM,mBAAmB,GAAG;IACjC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,gBAAgB,EAAE,UAAU,CAAC;IAC7B,mBAAmB,EAAE,UAAU,CAAC;IAChC,gBAAgB,EAAE,UAAU,CAAC;IAC7B,sBAAsB,EAAE,UAAU,CAAC;IACnC,uBAAuB,EAAE,UAAU,CAAC;IACpC,mBAAmB,EAAE,UAAU,CAAC;IAChC,yBAAyB,EAAE,UAAU,CAAC;CACtC,CAAC;AAEF,QAAA,MAAM,aAAa,2TAgClB,CAAC;AAIF,QAAA,MAAM,aAAa,iNAwBlB,CAAC;AAGF,QAAA,MAAM,gBAAgB,0NA8BrB,CAAC;AAGF,iBAAS,aAAa,CAAC,CAAC,SAAS,WAAW,EAAE,EAC7C,SAAS,EACT,QAAQ,EACR,aAAa,EACb,OAAO,EACP,KAAK,EACL,EAAE,EACF,GAAG,IAAI,EACP,EAAE,yBAAyB,CAAC,CAAC,CAAC,GAAG,eAAe,2CAWhD;kBAnBQ,aAAa;;;AAsBtB,KAAK,mBAAmB,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG;IAC3D,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,YAAY,CAAA;KAAE,GAAG,eAAe,CAAC;IAC9E,SAAS,CAAC,EAAE;QACX,OAAO,EAAE,WAAW,CAAC;QACrB,QAAQ,EAAE,YAAY,CAAC;KACvB,GAAG,eAAe,CAAC;CACpB,CAAC;AAGF,iBAAS,cAAc,CAAC,EACvB,QAMC,EACD,SAGC,EACD,GAAG,IAAI,EACP,EAAE,mBAAmB,2CAoBrB;kBAjCQ,cAAc;;;AAoCvB,QAAA,MAAM,gBAAgB;WAGb;QAAE,OAAO,EAAE,eAAe,CAAC;QAAC,YAAY,EAAE,eAAe,CAAA;KAAE;kDAmClE,CAAC;AAGH,OAAO,EACN,aAAa,IAAI,IAAI,EACrB,eAAe,IAAI,MAAM,EACzB,aAAa,IAAI,IAAI,EACrB,gBAAgB,IAAI,OAAO,EAC3B,aAAa,IAAI,IAAI,EACrB,cAAc,IAAI,KAAK,EACvB,gBAAgB,IAAI,OAAO,GAC3B,CAAC"}
@@ -0,0 +1,164 @@
1
+ 'use client';
2
+ import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__ from "react/jsx-runtime";
3
+ import "./accordion.css";
4
+ import * as __WEBPACK_EXTERNAL_MODULE__radix_ui_react_accordion_496f1025__ from "@radix-ui/react-accordion";
5
+ import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
6
+ import * as __WEBPACK_EXTERNAL_MODULE__primitives_box_js_62a8881e__ from "../../primitives/box.js";
7
+ import * as __WEBPACK_EXTERNAL_MODULE__theme_index_js_1910c06e__ from "../../theme/index.js";
8
+ import * as __WEBPACK_EXTERNAL_MODULE__icon_js_b2dcfc37__ from "./icon.js";
9
+ const ACCORDION_ROOT_NAME = 'AccordionRoot';
10
+ const ACCORDION_ITEM_NAME = 'AccordionItem';
11
+ const ACCORDION_ICON_NAME = 'AccordionIcon';
12
+ const ACCORDION_ARROW_NAME = 'AccordionArrow';
13
+ const ACCORDION_TRIGGER_NAME = 'AccordionTrigger';
14
+ const ACCORDION_CONTENT_NAME = 'AccordionContent';
15
+ const AccordionHeader = __WEBPACK_EXTERNAL_MODULE__radix_ui_react_accordion_496f1025__.Header;
16
+ const AccordionRoot = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(({ className, themeKey = 'accordion.root', baseClassName, noStyle, style, ...rest }, forwardedRef)=>{
17
+ const { noStyle: contextNoStyle } = (0, __WEBPACK_EXTERNAL_MODULE__theme_index_js_1910c06e__.useThemeContext)();
18
+ const accordionStyle = (0, __WEBPACK_EXTERNAL_MODULE__theme_index_js_1910c06e__.useStyles)(themeKey, {
19
+ baseClassName: [
20
+ baseClassName,
21
+ 'c15t-accordion'
22
+ ],
23
+ className,
24
+ noStyle: contextNoStyle || noStyle,
25
+ style
26
+ });
27
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_accordion_496f1025__.Root, {
28
+ ref: forwardedRef,
29
+ ...rest,
30
+ ...accordionStyle
31
+ });
32
+ });
33
+ AccordionRoot.displayName = ACCORDION_ROOT_NAME;
34
+ const AccordionItem = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(({ className, themeKey, baseClassName, noStyle, style, ...rest }, forwardedRef)=>{
35
+ const { noStyle: contextNoStyle } = (0, __WEBPACK_EXTERNAL_MODULE__theme_index_js_1910c06e__.useThemeContext)();
36
+ const accordionItemStyle = (0, __WEBPACK_EXTERNAL_MODULE__theme_index_js_1910c06e__.useStyles)(themeKey ?? 'accordion.item', {
37
+ baseClassName: [
38
+ baseClassName,
39
+ 'c15t-accordion-item'
40
+ ],
41
+ className,
42
+ noStyle: contextNoStyle || noStyle,
43
+ style
44
+ });
45
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_accordion_496f1025__.Item, {
46
+ ref: forwardedRef,
47
+ ...rest,
48
+ ...accordionItemStyle
49
+ });
50
+ });
51
+ AccordionItem.displayName = ACCORDION_ITEM_NAME;
52
+ const AccordionTrigger = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(({ children, className, themeKey, baseClassName, noStyle, style, ...rest }, forwardedRef)=>{
53
+ const { noStyle: contextNoStyle } = (0, __WEBPACK_EXTERNAL_MODULE__theme_index_js_1910c06e__.useThemeContext)();
54
+ const accordionTriggerStyle = (0, __WEBPACK_EXTERNAL_MODULE__theme_index_js_1910c06e__.useStyles)(themeKey ?? 'accordion.trigger-inner', {
55
+ baseClassName: [
56
+ baseClassName,
57
+ 'c15t-accordion-trigger-inner'
58
+ ],
59
+ className,
60
+ noStyle: contextNoStyle || noStyle,
61
+ style
62
+ });
63
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_accordion_496f1025__.Trigger, {
64
+ ref: forwardedRef,
65
+ ...rest,
66
+ ...accordionTriggerStyle,
67
+ children: children
68
+ });
69
+ });
70
+ AccordionTrigger.displayName = ACCORDION_TRIGGER_NAME;
71
+ function AccordionIcon({ className, themeKey, baseClassName, noStyle, style, as, ...rest }) {
72
+ const accordionIconStyle = (0, __WEBPACK_EXTERNAL_MODULE__theme_index_js_1910c06e__.useStyles)(themeKey ?? 'accordion.icon', {
73
+ baseClassName: [
74
+ baseClassName,
75
+ 'c15t-accordion-icon'
76
+ ],
77
+ className,
78
+ noStyle,
79
+ style
80
+ });
81
+ const Component = as || 'div';
82
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(Component, {
83
+ ...rest,
84
+ ...accordionIconStyle
85
+ });
86
+ }
87
+ AccordionIcon.displayName = ACCORDION_ICON_NAME;
88
+ function AccordionArrow({ openIcon = {
89
+ Element: (0, __WEBPACK_EXTERNAL_MODULE__icon_js_b2dcfc37__.LucideIcon)({
90
+ title: 'Open',
91
+ iconPath: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
92
+ d: "M5 12h14M12 5v14"
93
+ })
94
+ }),
95
+ themeKey: 'accordion.arrow.open'
96
+ }, closeIcon = {
97
+ Element: (0, __WEBPACK_EXTERNAL_MODULE__icon_js_b2dcfc37__.LucideIcon)({
98
+ title: 'Close',
99
+ iconPath: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)("path", {
100
+ d: "M5 12h14"
101
+ })
102
+ }),
103
+ themeKey: 'accordion.arrow.close'
104
+ }, ...rest }) {
105
+ const accordionArrowOpenStyle = (0, __WEBPACK_EXTERNAL_MODULE__theme_index_js_1910c06e__.useStyles)(openIcon.themeKey, {
106
+ baseClassName: [
107
+ openIcon.baseClassName,
108
+ 'c15t-accordion-arrow-open'
109
+ ],
110
+ className: openIcon.className,
111
+ noStyle: openIcon.noStyle,
112
+ style: openIcon.style
113
+ });
114
+ const accordionArrowClosedStyle = (0, __WEBPACK_EXTERNAL_MODULE__theme_index_js_1910c06e__.useStyles)(closeIcon.themeKey, {
115
+ baseClassName: [
116
+ closeIcon.baseClassName,
117
+ 'c15t-accordion-arrow-close'
118
+ ],
119
+ className: closeIcon.className,
120
+ noStyle: closeIcon.noStyle,
121
+ style: closeIcon.style
122
+ });
123
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsxs)(__WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.Fragment, {
124
+ children: [
125
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(openIcon.Element, {
126
+ ...rest,
127
+ ...accordionArrowOpenStyle
128
+ }),
129
+ /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(closeIcon.Element, {
130
+ ...rest,
131
+ ...accordionArrowClosedStyle
132
+ })
133
+ ]
134
+ });
135
+ }
136
+ AccordionArrow.displayName = ACCORDION_ARROW_NAME;
137
+ const AccordionContent = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react__.forwardRef)(({ children, className, theme, ...rest }, forwardedRef)=>{
138
+ const { noStyle: contextNoStyle } = (0, __WEBPACK_EXTERNAL_MODULE__theme_index_js_1910c06e__.useThemeContext)();
139
+ const accordionContentStyle = (0, __WEBPACK_EXTERNAL_MODULE__theme_index_js_1910c06e__.useStyles)(theme?.content?.themeKey ?? 'accordion.content', {
140
+ baseClassName: [
141
+ theme?.content?.baseClassName,
142
+ 'c15t-accordion-content'
143
+ ],
144
+ className,
145
+ noStyle: theme?.content?.noStyle || contextNoStyle,
146
+ style: theme?.content?.style
147
+ });
148
+ return /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__radix_ui_react_accordion_496f1025__.Content, {
149
+ ref: forwardedRef,
150
+ ...rest,
151
+ ...accordionContentStyle,
152
+ children: /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_225474f2__.jsx)(__WEBPACK_EXTERNAL_MODULE__primitives_box_js_62a8881e__.Box, {
153
+ ...theme?.contentInner,
154
+ baseClassName: [
155
+ theme?.content?.baseClassName,
156
+ 'c15t-accordion-content-inner'
157
+ ],
158
+ themeKey: theme?.contentInner?.themeKey ?? 'accordion.content-inner',
159
+ children: children
160
+ })
161
+ });
162
+ });
163
+ AccordionContent.displayName = ACCORDION_CONTENT_NAME;
164
+ export { AccordionArrow as Arrow, AccordionContent as Content, AccordionHeader as Header, AccordionIcon as Icon, AccordionItem as Item, AccordionRoot as Root, AccordionTrigger as Trigger };
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = function(exports1, definition) {
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = function(obj, prop) {
13
+ return Object.prototype.hasOwnProperty.call(obj, prop);
14
+ };
15
+ })();
16
+ (()=>{
17
+ __webpack_require__.r = function(exports1) {
18
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
19
+ value: 'Module'
20
+ });
21
+ Object.defineProperty(exports1, '__esModule', {
22
+ value: true
23
+ });
24
+ };
25
+ })();
26
+ var __webpack_exports__ = {};
27
+ __webpack_require__.r(__webpack_exports__);
28
+ __webpack_require__.d(__webpack_exports__, {
29
+ Root: ()=>ButtonRoot,
30
+ buttonVariants: ()=>buttonVariants,
31
+ Icon: ()=>ButtonIcon
32
+ });
33
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
34
+ const react_slot_namespaceObject = require("@radix-ui/react-slot");
35
+ const external_tailwind_variants_namespaceObject = require("tailwind-variants");
36
+ const recursive_clone_children_cjs_namespaceObject = require("../libs/recursive-clone-children.cjs");
37
+ require("./button.css");
38
+ const external_react_namespaceObject = require("react");
39
+ const BUTTON_ROOT_NAME = 'ButtonRoot';
40
+ const BUTTON_ICON_NAME = 'ButtonIcon';
41
+ const buttonVariants = (0, external_tailwind_variants_namespaceObject.tv)({
42
+ slots: {
43
+ root: [
44
+ 'c15t-button'
45
+ ],
46
+ icon: [
47
+ 'c15t-button-icon'
48
+ ]
49
+ },
50
+ variants: {
51
+ variant: {
52
+ primary: {},
53
+ neutral: {}
54
+ },
55
+ mode: {
56
+ filled: {},
57
+ stroke: {},
58
+ lighter: {},
59
+ ghost: {}
60
+ },
61
+ size: {
62
+ medium: {
63
+ root: 'c15t-button-medium'
64
+ },
65
+ small: {
66
+ root: 'c15t-button-small'
67
+ },
68
+ xsmall: {
69
+ root: 'c15t-button-xsmall'
70
+ },
71
+ xxsmall: {
72
+ root: 'c15t-button-xxsmall'
73
+ }
74
+ }
75
+ },
76
+ compoundVariants: [
77
+ {
78
+ variant: 'primary',
79
+ mode: 'filled',
80
+ class: {
81
+ root: 'c15t-button-primary-filled'
82
+ }
83
+ },
84
+ {
85
+ variant: 'primary',
86
+ mode: 'stroke',
87
+ class: {
88
+ root: 'c15t-button-primary-stroke'
89
+ }
90
+ },
91
+ {
92
+ variant: 'primary',
93
+ mode: 'lighter',
94
+ class: {
95
+ root: 'c15t-button-primary-lighter'
96
+ }
97
+ },
98
+ {
99
+ variant: 'primary',
100
+ mode: 'ghost',
101
+ class: {
102
+ root: 'c15t-button-primary-ghost'
103
+ }
104
+ },
105
+ {
106
+ variant: 'neutral',
107
+ mode: 'filled',
108
+ class: {
109
+ root: 'c15t-button-neutral-filled'
110
+ }
111
+ },
112
+ {
113
+ variant: 'neutral',
114
+ mode: 'stroke',
115
+ class: {
116
+ root: 'c15t-button-neutral-stroke'
117
+ }
118
+ },
119
+ {
120
+ variant: 'neutral',
121
+ mode: 'lighter',
122
+ class: {
123
+ root: 'c15t-button-neutral-lighter'
124
+ }
125
+ },
126
+ {
127
+ variant: 'neutral',
128
+ mode: 'ghost',
129
+ class: {
130
+ root: 'c15t-button-neutral-ghost'
131
+ }
132
+ }
133
+ ],
134
+ defaultVariants: {
135
+ variant: 'primary',
136
+ mode: 'filled',
137
+ size: 'medium'
138
+ }
139
+ });
140
+ const ButtonRoot = /*#__PURE__*/ (0, external_react_namespaceObject.forwardRef)(({ children, variant, mode, size, asChild, className, ...rest }, forwardedRef)=>{
141
+ const uniqueId = (0, external_react_namespaceObject.useId)();
142
+ const Component = asChild ? react_slot_namespaceObject.Slot : 'button';
143
+ const { root } = buttonVariants({
144
+ variant,
145
+ mode,
146
+ size
147
+ });
148
+ const sharedProps = {
149
+ variant,
150
+ mode,
151
+ size
152
+ };
153
+ const extendedChildren = (0, recursive_clone_children_cjs_namespaceObject.recursiveCloneChildren)(children, sharedProps, [
154
+ BUTTON_ICON_NAME
155
+ ], uniqueId, asChild);
156
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Component, {
157
+ ref: forwardedRef,
158
+ className: root({
159
+ class: className
160
+ }),
161
+ ...rest,
162
+ children: extendedChildren
163
+ });
164
+ });
165
+ ButtonRoot.displayName = BUTTON_ROOT_NAME;
166
+ function ButtonIcon({ variant, mode, size, as, className, ...rest }) {
167
+ const Component = as || 'div';
168
+ const { icon } = buttonVariants({
169
+ mode,
170
+ variant,
171
+ size
172
+ });
173
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Component, {
174
+ className: icon({
175
+ class: className
176
+ }),
177
+ ...rest
178
+ });
179
+ }
180
+ ButtonIcon.displayName = BUTTON_ICON_NAME;
181
+ var __webpack_export_target__ = exports;
182
+ for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__] = __webpack_exports__[__webpack_i__];
183
+ if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, '__esModule', {
184
+ value: true
185
+ });
@@ -0,0 +1,303 @@
1
+ .c15t-cookie-banner-root, .c15t-consent-manager-dialog-root, .c15t-consent-manager-widget-root {
2
+ --button-transition-duration: .2s;
3
+ --button-transition-ease: cubic-bezier(.4, 0, .2, 1);
4
+ --button-shadow-primary-focus: 0 0 0 4px #476cff33;
5
+ --button-shadow-neutral-focus: 0 0 0 4px #17171733;
6
+ --button-shadow-xs: 0px 1px 2px 0px #0e121b0f;
7
+ --button-height-medium: 2.5rem;
8
+ --button-height-small: 2.25rem;
9
+ --button-height-xsmall: 2rem;
10
+ --button-height-xxsmall: 1.75rem;
11
+ --button-gap-large: .75rem;
12
+ --button-gap-small: .625rem;
13
+ --button-icon-size: 1.25rem;
14
+ --button-primary-color: #335cff;
15
+ --button-primary-dark: #2547d0;
16
+ --button-primary-alpha-10: #476cff1a;
17
+ --button-bg-white: #fff;
18
+ --button-bg-light-gray: #f7f7f7;
19
+ --button-text-disabled: #d1d1d1;
20
+ --button-text-subtle: #5c5c5c;
21
+ --button-text-strong: #171717;
22
+ --button-static-white: #fff;
23
+ --button-bg-dark: #171717;
24
+ --button-bg-surface: #292929;
25
+ --button-stroke-soft: #ebebeb;
26
+ }
27
+
28
+ .dark .c15t-cookie-banner-root, .dark .c15t-consent-manager-dialog-root, .dark .c15t-consent-manager-widget-root {
29
+ --button-bg-light-gray: #333;
30
+ --button-text-disabled: #4d4d4d;
31
+ --button-text-subtle: #b3b3b3;
32
+ --button-text-strong: #e6e6e6;
33
+ --button-bg-dark: #1a1a1a;
34
+ --button-bg-surface: #292929;
35
+ }
36
+
37
+ .c15t-button, .c15t-button[type="button"], .c15t-button[type="reset"], .c15t-button[type="submit"] {
38
+ -webkit-appearance: button;
39
+ }
40
+
41
+ .c15t-button {
42
+ font: inherit .875rem / 1.25rem 500;
43
+ white-space: nowrap;
44
+ transition: all var(--button-transition-duration) var(--button-transition-ease);
45
+ border: 0;
46
+ outline: none;
47
+ justify-content: center;
48
+ align-items: center;
49
+ margin: 0;
50
+ display: inline-flex;
51
+ position: relative;
52
+ }
53
+
54
+ .c15t-button:disabled {
55
+ pointer-events: none;
56
+ background-color: var(--button-bg-light-gray);
57
+ color: var(--button-text-disabled);
58
+ box-shadow: none;
59
+ }
60
+
61
+ .c15t-button:focus {
62
+ outline: none;
63
+ }
64
+
65
+ .c15t-button-icon {
66
+ width: var(--button-icon-size);
67
+ height: var(--button-icon-size);
68
+ flex-shrink: 0;
69
+ justify-content: center;
70
+ align-items: center;
71
+ margin: 0 -.25rem;
72
+ display: flex;
73
+ }
74
+
75
+ .c15t-button-medium, .c15t-button-small, .c15t-button-xsmall, .c15t-button-xxsmall {
76
+ gap: var(--button-gap-large);
77
+ border-radius: .5rem;
78
+ }
79
+
80
+ .c15t-button-medium {
81
+ height: var(--button-height-medium);
82
+ padding: 0 .875rem;
83
+ }
84
+
85
+ .c15t-button-small {
86
+ height: var(--button-height-small);
87
+ padding: 0 .75rem;
88
+ }
89
+
90
+ .c15t-button-xsmall {
91
+ height: var(--button-height-xsmall);
92
+ padding: 0 .625rem;
93
+ }
94
+
95
+ .c15t-button-xxsmall {
96
+ height: var(--button-height-xxsmall);
97
+ padding: 0 .5rem;
98
+ }
99
+
100
+ .c15t-button-primary-filled {
101
+ background-color: var(--button-primary-color);
102
+ color: var(--button-static-white);
103
+ }
104
+
105
+ .c15t-button-primary-filled:hover {
106
+ background-color: var(--button-primary-dark);
107
+ }
108
+
109
+ .c15t-button-primary-filled:focus-visible {
110
+ box-shadow: var(--button-shadow-primary-focus);
111
+ }
112
+
113
+ .dark .c15t-button-primary-filled {
114
+ --button-bg-white: #1a1a1a;
115
+ --button-bg-light-gray: #333;
116
+ --button-text-disabled: #4d4d4d;
117
+ --button-text-subtle: #b3b3b3;
118
+ --button-text-strong: #e6e6e6;
119
+ --button-bg-dark: #171717;
120
+ --button-bg-surface: #292929;
121
+ }
122
+
123
+ .c15t-button-primary-stroke {
124
+ background-color: var(--button-bg-white);
125
+ color: var(--button-primary-color);
126
+ box-shadow: inset 0 0 0 1px var(--button-primary-color);
127
+
128
+ &:hover {
129
+ background-color: var(--button-primary-alpha-10);
130
+ box-shadow: none;
131
+ }
132
+
133
+ &:focus-visible {
134
+ box-shadow: var(--button-shadow-primary-focus);
135
+ }
136
+ }
137
+
138
+ .dark .c15t-button-primary-stroke {
139
+ --button-primary-color: #335cff;
140
+ --button-primary-dark: #2547d0;
141
+ --button-primary-alpha-10: #476cff1a;
142
+ --button-bg-white: #1a1a1a;
143
+ --button-bg-light-gray: #333;
144
+ --button-text-disabled: #4d4d4d;
145
+ --button-text-subtle: #b3b3b3;
146
+ --button-text-strong: #e6e6e6;
147
+ --button-bg-dark: #171717;
148
+ --button-bg-surface: #292929;
149
+ }
150
+
151
+ .c15t-button-primary-lighter {
152
+ background-color: var(--button-primary-alpha-10);
153
+ color: var(--button-primary-color);
154
+ box-shadow: inset 0 0 0 1px #0000;
155
+
156
+ &:hover {
157
+ background-color: var(--button-bg-white);
158
+ box-shadow: inset 0 0 0 1px var(--button-primary-color);
159
+ }
160
+
161
+ &:focus-visible {
162
+ background-color: var(--button-bg-white);
163
+ box-shadow: var(--button-shadow-primary-focus), inset 0 0 0 1px var(--button-primary-color);
164
+ }
165
+ }
166
+
167
+ .dark .c15t-button-primary-lighter {
168
+ --button-primary-color: #335cff;
169
+ --button-primary-dark: #2547d0;
170
+ --button-primary-alpha-10: #476cff1a;
171
+ --button-bg-white: #1a1a1a;
172
+ --button-bg-light-gray: #333;
173
+ --button-text-disabled: #4d4d4d;
174
+ --button-text-subtle: #b3b3b3;
175
+ --button-text-strong: #e6e6e6;
176
+ --button-bg-dark: #171717;
177
+ --button-bg-surface: #292929;
178
+ }
179
+
180
+ .c15t-button-primary-ghost {
181
+ color: var(--button-primary-color);
182
+ background-color: #0000;
183
+ box-shadow: inset 0 0 0 1px #0000;
184
+
185
+ &:hover {
186
+ background-color: var(--button-primary-alpha-10);
187
+ }
188
+
189
+ &:focus-visible {
190
+ background-color: var(--button-bg-white);
191
+ box-shadow: var(--button-shadow-primary-focus), inset 0 0 0 1px var(--button-primary-color);
192
+ }
193
+ }
194
+
195
+ .dark .c15t-button-primary-ghost {
196
+ --button-primary-color: #335cff;
197
+ --button-primary-dark: #2547d0;
198
+ --button-primary-alpha-10: #476cff1a;
199
+ --button-bg-white: #1a1a1a;
200
+ --button-bg-light-gray: #333;
201
+ --button-text-disabled: #4d4d4d;
202
+ --button-text-subtle: #b3b3b3;
203
+ --button-text-strong: #e6e6e6;
204
+ --button-bg-dark: #171717;
205
+ --button-bg-surface: #292929;
206
+ }
207
+
208
+ .c15t-button-neutral-filled {
209
+ background-color: var(--button-bg-dark);
210
+ color: var(--button-static-white);
211
+
212
+ &:hover {
213
+ background-color: var(--button-bg-surface);
214
+ }
215
+
216
+ &:focus-visible {
217
+ box-shadow: var(--button-shadow-neutral-focus);
218
+ }
219
+ }
220
+
221
+ .c15t-button-neutral-stroke {
222
+ background-color: var(--button-bg-white);
223
+ color: var(--button-text-subtle);
224
+ box-shadow: var(--button-shadow-xs), inset 0 0 0 1px var(--button-stroke-soft);
225
+
226
+ &:hover {
227
+ background-color: var(--button-bg-light-gray);
228
+ color: var(--button-text-strong);
229
+ box-shadow: none;
230
+ }
231
+
232
+ &:focus-visible {
233
+ color: var(--button-text-strong);
234
+ box-shadow: var(--button-shadow-neutral-focus), inset 0 0 0 1px var(--button-text-strong);
235
+ }
236
+ }
237
+
238
+ .dark .c15t-button-neutral-stroke {
239
+ --button-text-subtle: #b3b3b3;
240
+ --button-bg-white: #1a1a1a;
241
+ --button-stroke-soft: #333;
242
+ --button-text-strong: #e6e6e6;
243
+ --button-bg-light-gray: #333;
244
+ --button-text-disabled: #4d4d4d;
245
+ --button-bg-dark: #171717;
246
+ --button-bg-surface: #292929;
247
+ }
248
+
249
+ .c15t-button-neutral-lighter {
250
+ background-color: var(--button-bg-light-gray);
251
+ color: var(--button-text-subtle);
252
+ box-shadow: inset 0 0 0 1px #0000;
253
+
254
+ &:hover {
255
+ background-color: var(--button-bg-white);
256
+ color: var(--button-text-strong);
257
+ box-shadow: var(--button-shadow-xs), inset 0 0 0 1px var(--button-stroke-soft);
258
+ }
259
+
260
+ &:focus-visible {
261
+ background-color: var(--button-bg-white);
262
+ color: var(--button-text-strong);
263
+ box-shadow: var(--button-shadow-neutral-focus), inset 0 0 0 1px var(--button-text-strong);
264
+ }
265
+ }
266
+
267
+ .dark .c15t-button-neutral-lighter {
268
+ --button-bg-light-gray: #333;
269
+ --button-text-subtle: #b3b3b3;
270
+ --button-bg-white: #1a1a1a;
271
+ --button-text-strong: #e6e6e6;
272
+ --button-text-disabled: #4d4d4d;
273
+ --button-bg-dark: #171717;
274
+ --button-bg-surface: #292929;
275
+ }
276
+
277
+ .c15t-button-neutral-ghost {
278
+ color: var(--button-text-subtle);
279
+ background-color: #0000;
280
+ box-shadow: inset 0 0 0 1px #0000;
281
+
282
+ &:hover {
283
+ background-color: var(--button-bg-light-gray);
284
+ color: var(--button-text-strong);
285
+ }
286
+
287
+ &:focus-visible {
288
+ background-color: var(--button-bg-white);
289
+ color: var(--button-text-strong);
290
+ box-shadow: var(--button-shadow-neutral-focus), inset 0 0 0 1px var(--button-text-strong);
291
+ }
292
+ }
293
+
294
+ .dark .c15t-button-neutral-ghost {
295
+ --button-bg-light-gray: #333;
296
+ --button-text-subtle: #b3b3b3;
297
+ --button-bg-white: #1a1a1a;
298
+ --button-text-strong: #e6e6e6;
299
+ --button-text-disabled: #4d4d4d;
300
+ --button-bg-dark: #171717;
301
+ --button-bg-surface: #292929;
302
+ }
303
+