@womp/kookie-ui 0.13.2 → 0.13.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 (174) hide show
  1. package/components.css +491 -738
  2. package/dist/cjs/components/_internal/menu-context.js +1 -1
  3. package/dist/cjs/components/_internal/menu-context.js.map +3 -3
  4. package/dist/cjs/components/alert-dialog.js +1 -1
  5. package/dist/cjs/components/alert-dialog.js.map +3 -3
  6. package/dist/cjs/components/badge.js +1 -1
  7. package/dist/cjs/components/badge.js.map +3 -3
  8. package/dist/cjs/components/button.js +1 -1
  9. package/dist/cjs/components/button.js.map +3 -3
  10. package/dist/cjs/components/chatbar.js +2 -2
  11. package/dist/cjs/components/chatbar.js.map +3 -3
  12. package/dist/cjs/components/checkbox-cards.js +1 -1
  13. package/dist/cjs/components/checkbox-cards.js.map +3 -3
  14. package/dist/cjs/components/combobox.js +1 -1
  15. package/dist/cjs/components/combobox.js.map +3 -3
  16. package/dist/cjs/components/context-menu.js +1 -1
  17. package/dist/cjs/components/context-menu.js.map +3 -3
  18. package/dist/cjs/components/dialog.js +1 -1
  19. package/dist/cjs/components/dialog.js.map +3 -3
  20. package/dist/cjs/components/dropdown-menu.js +1 -1
  21. package/dist/cjs/components/dropdown-menu.js.map +3 -3
  22. package/dist/cjs/components/hover-card.js +1 -1
  23. package/dist/cjs/components/hover-card.js.map +3 -3
  24. package/dist/cjs/components/icon-button.js +1 -1
  25. package/dist/cjs/components/icon-button.js.map +3 -3
  26. package/dist/cjs/components/index.js +4 -4
  27. package/dist/cjs/components/index.js.map +3 -3
  28. package/dist/cjs/components/message-scroller.js +1 -1
  29. package/dist/cjs/components/message-scroller.js.map +3 -3
  30. package/dist/cjs/components/notice.js +2 -2
  31. package/dist/cjs/components/notice.js.map +3 -3
  32. package/dist/cjs/components/popover.js +1 -1
  33. package/dist/cjs/components/popover.js.map +3 -3
  34. package/dist/cjs/components/radio-cards.js +1 -1
  35. package/dist/cjs/components/radio-cards.js.map +3 -3
  36. package/dist/cjs/components/select.js +1 -1
  37. package/dist/cjs/components/select.js.map +3 -3
  38. package/dist/cjs/components/sheet.js +1 -1
  39. package/dist/cjs/components/sheet.js.map +3 -3
  40. package/dist/cjs/components/sidebar.js +1 -1
  41. package/dist/cjs/components/sidebar.js.map +3 -3
  42. package/dist/cjs/components/theme-panel.js +2 -2
  43. package/dist/cjs/components/theme-panel.js.map +3 -3
  44. package/dist/cjs/components/theme.d.ts.map +1 -1
  45. package/dist/cjs/components/theme.js +1 -1
  46. package/dist/cjs/components/theme.js.map +3 -3
  47. package/dist/cjs/components/toggle-button.js +2 -2
  48. package/dist/cjs/components/toggle-button.js.map +3 -3
  49. package/dist/cjs/components/toggle-icon-button.js +1 -1
  50. package/dist/cjs/components/toggle-icon-button.js.map +3 -3
  51. package/dist/cjs/components/toolbar.js +1 -1
  52. package/dist/cjs/components/toolbar.js.map +3 -3
  53. package/dist/cjs/components/tooltip.js +1 -1
  54. package/dist/cjs/components/tooltip.js.map +3 -3
  55. package/dist/cjs/components/user-card.js +1 -1
  56. package/dist/cjs/components/user-card.js.map +3 -3
  57. package/dist/cjs/components/virtual-menu.js +1 -1
  58. package/dist/cjs/components/virtual-menu.js.map +3 -3
  59. package/dist/cjs/index.js +4 -4
  60. package/dist/cjs/index.js.map +3 -3
  61. package/dist/esm/{chunk-YWENWZOU.js → chunk-2OSGPH7E.js} +2 -2
  62. package/dist/esm/{chunk-EGMUQQRW.js → chunk-3OELU3EO.js} +2 -2
  63. package/dist/esm/{chunk-L5PID6BU.js → chunk-64PFYID5.js} +2 -2
  64. package/dist/esm/{chunk-VHECAEUP.js → chunk-7E2BPXIP.js} +2 -2
  65. package/dist/esm/{chunk-ISOLUTZF.js → chunk-7FS2VDHO.js} +2 -2
  66. package/dist/esm/{chunk-KMPE7TJ6.js → chunk-7NVLCYCL.js} +2 -2
  67. package/dist/esm/{chunk-D6PHTHF2.js → chunk-7R73ISNJ.js} +2 -2
  68. package/dist/esm/{chunk-UYCPDGWA.js → chunk-7RUVID3O.js} +2 -2
  69. package/dist/esm/{chunk-IYCPYN4Z.js → chunk-C34HCTGS.js} +2 -2
  70. package/dist/esm/{chunk-53SZ4Y23.js → chunk-CET7V3FZ.js} +2 -2
  71. package/dist/esm/{chunk-ZK7A2MZZ.js → chunk-DD6SJPOU.js} +2 -2
  72. package/dist/esm/{chunk-3R4YLW4A.js → chunk-EPX34Y7S.js} +2 -2
  73. package/dist/esm/{chunk-OIUCV5HK.js → chunk-ESPWYN5C.js} +2 -2
  74. package/dist/esm/{chunk-7RQNB63F.js → chunk-GL5QTWYI.js} +2 -2
  75. package/dist/esm/{chunk-7JJT42J2.js → chunk-JUJYMZ2F.js} +2 -2
  76. package/dist/esm/{chunk-6G3MPL4A.js → chunk-NJ7S43EK.js} +2 -2
  77. package/dist/esm/{chunk-XLMTTSRO.js → chunk-NQ3D3UXZ.js} +2 -2
  78. package/dist/esm/{chunk-MZXHKM4V.js → chunk-P2NZLSAD.js} +2 -2
  79. package/dist/esm/{chunk-METRW4HG.js → chunk-PHZNRO3D.js} +2 -2
  80. package/dist/esm/{chunk-CYU6BLZ5.js → chunk-PLYOBXAF.js} +2 -2
  81. package/dist/esm/{chunk-OLAWVEAI.js → chunk-SAJY4H6J.js} +2 -2
  82. package/dist/esm/{chunk-WHFJ4JUN.js → chunk-TIT3QMV7.js} +2 -2
  83. package/dist/esm/{chunk-PQKJNRMR.js → chunk-TVV6IHBN.js} +2 -2
  84. package/dist/esm/{chunk-CRTH5LNU.js → chunk-VDTB4JG3.js} +2 -2
  85. package/dist/esm/chunk-VICP2RNA.js +2 -0
  86. package/dist/esm/chunk-VICP2RNA.js.map +7 -0
  87. package/dist/esm/{chunk-T4OR62DQ.js → chunk-WBMCZ4Z3.js} +2 -2
  88. package/dist/esm/{chunk-MEO7MJMQ.js → chunk-XVYTOZES.js} +2 -2
  89. package/dist/esm/components/_internal/menu-context.js +1 -1
  90. package/dist/esm/components/alert-dialog.js +1 -1
  91. package/dist/esm/components/badge.js +1 -1
  92. package/dist/esm/components/button.js +1 -1
  93. package/dist/esm/components/chatbar.js +1 -1
  94. package/dist/esm/components/checkbox-cards.js +1 -1
  95. package/dist/esm/components/combobox.js +1 -1
  96. package/dist/esm/components/context-menu.js +1 -1
  97. package/dist/esm/components/dialog.js +1 -1
  98. package/dist/esm/components/dropdown-menu.js +1 -1
  99. package/dist/esm/components/hover-card.js +1 -1
  100. package/dist/esm/components/icon-button.js +1 -1
  101. package/dist/esm/components/index.js +1 -1
  102. package/dist/esm/components/message-scroller.js +1 -1
  103. package/dist/esm/components/notice.js +1 -1
  104. package/dist/esm/components/popover.js +1 -1
  105. package/dist/esm/components/radio-cards.js +1 -1
  106. package/dist/esm/components/select.js +1 -1
  107. package/dist/esm/components/sheet.js +1 -1
  108. package/dist/esm/components/sidebar.js +1 -1
  109. package/dist/esm/components/theme-panel.js +1 -1
  110. package/dist/esm/components/theme.d.ts.map +1 -1
  111. package/dist/esm/components/theme.js +1 -1
  112. package/dist/esm/components/toggle-button.js +1 -1
  113. package/dist/esm/components/toggle-icon-button.js +1 -1
  114. package/dist/esm/components/toolbar.js +1 -1
  115. package/dist/esm/components/tooltip.js +1 -1
  116. package/dist/esm/components/user-card.js +1 -1
  117. package/dist/esm/components/virtual-menu.js +1 -1
  118. package/dist/esm/index.js +1 -1
  119. package/package.json +3 -3
  120. package/src/components/_internal/base-button.css +8 -6
  121. package/src/components/_internal/base-card.css +6 -0
  122. package/src/components/_internal/base-sidebar-menu.css +9 -1
  123. package/src/components/_internal/base-tab-list.css +10 -0
  124. package/src/components/accordion.css +113 -90
  125. package/src/components/avatar.css +9 -9
  126. package/src/components/badge.css +3 -3
  127. package/src/components/callout.css +0 -16
  128. package/src/components/kbd.css +10 -10
  129. package/src/components/progress.css +0 -38
  130. package/src/components/scroll-area.css +3 -3
  131. package/src/components/segmented-control.css +4 -4
  132. package/src/components/select.css +3 -3
  133. package/src/components/shell.css +6 -1
  134. package/src/components/sidebar.css +129 -28
  135. package/src/components/slider.css +10 -8
  136. package/src/components/table.css +0 -20
  137. package/src/components/text-field.css +7 -5
  138. package/src/components/theme.tsx +4 -1
  139. package/src/components/toolbar.css +4 -4
  140. package/src/styles/scrollbar.css +4 -2
  141. package/src/styles/tokens/constants.css +5 -5
  142. package/src/styles/tokens/index.css +0 -3
  143. package/src/styles/tokens/radius.css +17 -1
  144. package/styles.css +507 -740
  145. package/tokens/base.css +12 -0
  146. package/tokens.css +12 -0
  147. package/dist/esm/chunk-SEY4NA45.js +0 -2
  148. package/dist/esm/chunk-SEY4NA45.js.map +0 -7
  149. /package/dist/esm/{chunk-YWENWZOU.js.map → chunk-2OSGPH7E.js.map} +0 -0
  150. /package/dist/esm/{chunk-EGMUQQRW.js.map → chunk-3OELU3EO.js.map} +0 -0
  151. /package/dist/esm/{chunk-L5PID6BU.js.map → chunk-64PFYID5.js.map} +0 -0
  152. /package/dist/esm/{chunk-VHECAEUP.js.map → chunk-7E2BPXIP.js.map} +0 -0
  153. /package/dist/esm/{chunk-ISOLUTZF.js.map → chunk-7FS2VDHO.js.map} +0 -0
  154. /package/dist/esm/{chunk-KMPE7TJ6.js.map → chunk-7NVLCYCL.js.map} +0 -0
  155. /package/dist/esm/{chunk-D6PHTHF2.js.map → chunk-7R73ISNJ.js.map} +0 -0
  156. /package/dist/esm/{chunk-UYCPDGWA.js.map → chunk-7RUVID3O.js.map} +0 -0
  157. /package/dist/esm/{chunk-IYCPYN4Z.js.map → chunk-C34HCTGS.js.map} +0 -0
  158. /package/dist/esm/{chunk-53SZ4Y23.js.map → chunk-CET7V3FZ.js.map} +0 -0
  159. /package/dist/esm/{chunk-ZK7A2MZZ.js.map → chunk-DD6SJPOU.js.map} +0 -0
  160. /package/dist/esm/{chunk-3R4YLW4A.js.map → chunk-EPX34Y7S.js.map} +0 -0
  161. /package/dist/esm/{chunk-OIUCV5HK.js.map → chunk-ESPWYN5C.js.map} +0 -0
  162. /package/dist/esm/{chunk-7RQNB63F.js.map → chunk-GL5QTWYI.js.map} +0 -0
  163. /package/dist/esm/{chunk-7JJT42J2.js.map → chunk-JUJYMZ2F.js.map} +0 -0
  164. /package/dist/esm/{chunk-6G3MPL4A.js.map → chunk-NJ7S43EK.js.map} +0 -0
  165. /package/dist/esm/{chunk-XLMTTSRO.js.map → chunk-NQ3D3UXZ.js.map} +0 -0
  166. /package/dist/esm/{chunk-MZXHKM4V.js.map → chunk-P2NZLSAD.js.map} +0 -0
  167. /package/dist/esm/{chunk-METRW4HG.js.map → chunk-PHZNRO3D.js.map} +0 -0
  168. /package/dist/esm/{chunk-CYU6BLZ5.js.map → chunk-PLYOBXAF.js.map} +0 -0
  169. /package/dist/esm/{chunk-OLAWVEAI.js.map → chunk-SAJY4H6J.js.map} +0 -0
  170. /package/dist/esm/{chunk-WHFJ4JUN.js.map → chunk-TIT3QMV7.js.map} +0 -0
  171. /package/dist/esm/{chunk-PQKJNRMR.js.map → chunk-TVV6IHBN.js.map} +0 -0
  172. /package/dist/esm/{chunk-CRTH5LNU.js.map → chunk-VDTB4JG3.js.map} +0 -0
  173. /package/dist/esm/{chunk-T4OR62DQ.js.map → chunk-WBMCZ4Z3.js.map} +0 -0
  174. /package/dist/esm/{chunk-MEO7MJMQ.js.map → chunk-XVYTOZES.js.map} +0 -0
package/tokens/base.css CHANGED
@@ -1427,6 +1427,18 @@
1427
1427
  --radius-10: calc(40px * var(--scaling) * var(--radius-factor));
1428
1428
  --radius-11: calc(48px * var(--scaling) * var(--radius-factor));
1429
1429
  --radius-12: calc(56px * var(--scaling) * var(--radius-factor));
1430
+ --radius-pill-1: max(var(--radius-1), var(--radius-full));
1431
+ --radius-pill-2: max(var(--radius-2), var(--radius-full));
1432
+ --radius-pill-3: max(var(--radius-3), var(--radius-full));
1433
+ --radius-pill-4: max(var(--radius-4), var(--radius-full));
1434
+ --radius-pill-5: max(var(--radius-5), var(--radius-full));
1435
+ --radius-pill-6: max(var(--radius-6), var(--radius-full));
1436
+ --radius-pill-7: max(var(--radius-7), var(--radius-full));
1437
+ --radius-pill-8: max(var(--radius-8), var(--radius-full));
1438
+ --radius-pill-9: max(var(--radius-9), var(--radius-full));
1439
+ --radius-pill-10: max(var(--radius-10), var(--radius-full));
1440
+ --radius-pill-11: max(var(--radius-11), var(--radius-full));
1441
+ --radius-pill-12: max(var(--radius-12), var(--radius-full));
1430
1442
  --radius-surface-1: calc(6px * var(--scaling) * var(--radius-surface-factor));
1431
1443
  --radius-surface-2: calc(8px * var(--scaling) * var(--radius-surface-factor));
1432
1444
  --radius-surface-3: calc(10px * var(--scaling) * var(--radius-surface-factor));
package/tokens.css CHANGED
@@ -4811,6 +4811,18 @@
4811
4811
  --radius-10: calc(40px * var(--scaling) * var(--radius-factor));
4812
4812
  --radius-11: calc(48px * var(--scaling) * var(--radius-factor));
4813
4813
  --radius-12: calc(56px * var(--scaling) * var(--radius-factor));
4814
+ --radius-pill-1: max(var(--radius-1), var(--radius-full));
4815
+ --radius-pill-2: max(var(--radius-2), var(--radius-full));
4816
+ --radius-pill-3: max(var(--radius-3), var(--radius-full));
4817
+ --radius-pill-4: max(var(--radius-4), var(--radius-full));
4818
+ --radius-pill-5: max(var(--radius-5), var(--radius-full));
4819
+ --radius-pill-6: max(var(--radius-6), var(--radius-full));
4820
+ --radius-pill-7: max(var(--radius-7), var(--radius-full));
4821
+ --radius-pill-8: max(var(--radius-8), var(--radius-full));
4822
+ --radius-pill-9: max(var(--radius-9), var(--radius-full));
4823
+ --radius-pill-10: max(var(--radius-10), var(--radius-full));
4824
+ --radius-pill-11: max(var(--radius-11), var(--radius-full));
4825
+ --radius-pill-12: max(var(--radius-12), var(--radius-full));
4814
4826
  --radius-surface-1: calc(6px * var(--scaling) * var(--radius-surface-factor));
4815
4827
  --radius-surface-2: calc(8px * var(--scaling) * var(--radius-surface-factor));
4816
4828
  --radius-surface-3: calc(10px * var(--scaling) * var(--radius-surface-factor));
@@ -1,2 +0,0 @@
1
- import{a as r}from"./chunk-WAURCNAS.js";import{a as j}from"./chunk-F22ZRNWL.js";import{a as e}from"./chunk-XYVLQDGR.js";import{a as W}from"./chunk-5TXQLK4G.js";import*as n from"react";import q from"classnames";import{Direction as z,Slot as J,Tooltip as K}from"radix-ui";import{useComposedRefs as Q,useLayoutEffect as U}from"radix-ui/internal";var o=()=>{},X={appearance:e.appearance.default,accentColor:e.accentColor.default,grayColor:e.grayColor.default,resolvedGrayColor:e.grayColor.default,material:e.material.default,panelBackground:e.panelBackground.default,radius:e.radius.default,scaling:e.scaling.default,fontFamily:e.fontFamily.default,headingFontFamily:void 0,onAppearanceChange:o,onAccentColorChange:o,onGrayColorChange:o,onMaterialChange:o,onPanelBackgroundChange:o,onRadiusChange:o,onScalingChange:o,onFontFamilyChange:o,onHeadingFontFamilyChange:o},S=n.createContext(void 0);function re(){return n.useContext(S)??X}var Y=n.forwardRef((a,l)=>n.useContext(S)===void 0?n.createElement(K.Provider,{delayDuration:200},n.createElement(z.Provider,{dir:"ltr"},n.createElement(L,{...a,ref:l}))):n.createElement(O,{...a,ref:l}));Y.displayName="Theme";var L=n.forwardRef((a,l)=>{let{appearance:t=e.appearance.default,accentColor:P=e.accentColor.default,grayColor:i=e.grayColor.default,material:s=e.material.default,panelBackground:c=e.panelBackground.default,radius:m=e.radius.default,scaling:d=e.scaling.default,fontFamily:u=e.fontFamily.default,headingFontFamily:p,hasBackground:h=e.hasBackground.default,...g}=a;W(a.panelBackground);let[f,C]=r(t),[v,k]=r(P),[R,x]=r(i),B=s!==e.material.default?s:c,[y,A]=r(B),[b,I]=r(y),[F,M]=r(m),[T,H]=r(d),[E,G]=r(u),[w,D]=r(p);return n.createElement(O,{...g,ref:l,isRoot:!0,hasBackground:h,appearance:f,accentColor:v,grayColor:R,material:y,panelBackground:b,radius:F,scaling:T,fontFamily:E,headingFontFamily:w,onAppearanceChange:C,onAccentColorChange:k,onGrayColorChange:x,onMaterialChange:A,onPanelBackgroundChange:I,onRadiusChange:M,onScalingChange:H,onFontFamilyChange:G,onHeadingFontFamilyChange:D})});L.displayName="ThemeRoot";function Z(){if(typeof navigator>"u")return;let a=navigator.userAgent;if(a.includes("Win"))return"windows";if(a.includes("Mac"))return"macos";if(a.includes("Linux"))return"linux"}var O=n.forwardRef((a,l)=>{let t=n.useContext(S),{asChild:P,isRoot:i,hasBackground:s,appearance:c=a.appearance??t?.appearance??e.appearance.default,accentColor:m=a.accentColor??t?.accentColor??e.accentColor.default,grayColor:d=a.grayColor??t?.resolvedGrayColor??e.grayColor.default,material:u=a.material??t?.material??e.material.default,panelBackground:p=a.panelBackground??t?.panelBackground??e.panelBackground.default,radius:h=a.radius??t?.radius??e.radius.default,scaling:g=a.scaling??t?.scaling??e.scaling.default,fontFamily:f=a.fontFamily??t?.fontFamily??e.fontFamily.default,headingFontFamily:C=a.headingFontFamily??t?.headingFontFamily,onAppearanceChange:v=o,onAccentColorChange:k=o,onGrayColorChange:R=o,onMaterialChange:x=o,onPanelBackgroundChange:B=o,onRadiusChange:y=o,onScalingChange:A=o,onFontFamilyChange:b=o,onHeadingFontFamilyChange:I=o,...F}=a,M=P?J.Root:"div",T=d==="auto"?j(m):d,H=a.appearance==="light"||a.appearance==="dark",E=s===void 0?i||H:s,G=n.useRef(null),w=Q(l,G),D="data-os"in F;return U(()=>{if(!i||D)return;let N=G.current;if(!N)return;let V=Z();if(V)return N.setAttribute("data-os",V),()=>N.removeAttribute("data-os")},[i,D]),n.createElement(S.Provider,{value:n.useMemo(()=>({appearance:c,accentColor:m,grayColor:d,resolvedGrayColor:T,material:u,panelBackground:p,radius:h,scaling:g,fontFamily:f,headingFontFamily:C,onAppearanceChange:v,onAccentColorChange:k,onGrayColorChange:R,onMaterialChange:x,onPanelBackgroundChange:B,onRadiusChange:y,onScalingChange:A,onFontFamilyChange:b,onHeadingFontFamilyChange:I}),[c,m,d,T,u,p,h,g,f,C,v,k,R,x,B,y,A,b,I])},n.createElement(M,{"data-is-root-theme":i?"true":"false","data-accent-color":m,"data-gray-color":T,"data-has-background":E?"true":"false","data-material":u,"data-panel-background":p,"data-radius":h,"data-scaling":g,"data-font-family":f,"data-heading-font-family":C,ref:w,...F,className:q("radix-themes",{light:c==="light",dark:c==="dark"},F.className)}))});O.displayName="ThemeImpl";export{S as a,re as b,Y as c};
2
- //# sourceMappingURL=chunk-SEY4NA45.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/components/theme.tsx"],
4
- "sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Direction, Slot, Tooltip as TooltipPrimitive } from 'radix-ui';\nimport { useComposedRefs, useLayoutEffect } from 'radix-ui/internal';\n\nimport { getMatchingGrayColor } from '../helpers/get-matching-gray-color.js';\nimport { usePropSyncedState } from '../hooks/use-prop-synced-state.js';\nimport { useDeprecatedPanelBackgroundWarning } from '../helpers/use-deprecation-warning.js';\nimport { themePropDefs } from './theme.props.js';\n\nimport type { ThemeOwnProps } from './theme.props.js';\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\n\nconst noop = () => {};\n\ntype ThemeAppearance = (typeof themePropDefs.appearance.values)[number];\ntype ThemeAccentColor = (typeof themePropDefs.accentColor.values)[number];\ntype ThemeGrayColor = (typeof themePropDefs.grayColor.values)[number];\ntype ThemeMaterial = (typeof themePropDefs.material.values)[number];\ntype ThemePanelBackground = (typeof themePropDefs.panelBackground.values)[number];\ntype ThemeRadius = (typeof themePropDefs.radius.values)[number];\ntype ThemeScaling = (typeof themePropDefs.scaling.values)[number];\ntype ThemeFontFamily = (typeof themePropDefs.fontFamily.values)[number];\n// Headings follow the body font until something sets this, so `undefined` is a\n// meaningful value here rather than a missing one.\ntype ThemeHeadingFontFamily = ThemeFontFamily | undefined;\n\ninterface ThemeChangeHandlers {\n onAppearanceChange: (appearance: ThemeAppearance) => void;\n onAccentColorChange: (accentColor: ThemeAccentColor) => void;\n onGrayColorChange: (grayColor: ThemeGrayColor) => void;\n onMaterialChange: (material: ThemeMaterial) => void;\n onPanelBackgroundChange: (panelBackground: ThemePanelBackground) => void;\n onRadiusChange: (radius: ThemeRadius) => void;\n onScalingChange: (scaling: ThemeScaling) => void;\n onFontFamilyChange: (fontFamily: ThemeFontFamily) => void;\n onHeadingFontFamilyChange: (headingFontFamily: ThemeHeadingFontFamily) => void;\n}\n\ninterface ThemeContextValue extends ThemeChangeHandlers {\n appearance: ThemeAppearance;\n accentColor: ThemeAccentColor;\n grayColor: ThemeGrayColor;\n resolvedGrayColor: ThemeGrayColor;\n material: ThemeMaterial;\n panelBackground: ThemePanelBackground;\n radius: ThemeRadius;\n scaling: ThemeScaling;\n fontFamily: ThemeFontFamily;\n headingFontFamily: ThemeHeadingFontFamily;\n}\n// Default theme values used when components render outside a Theme provider\nconst defaultThemeContext: ThemeContextValue = {\n appearance: themePropDefs.appearance.default,\n accentColor: themePropDefs.accentColor.default,\n grayColor: themePropDefs.grayColor.default,\n resolvedGrayColor: themePropDefs.grayColor.default,\n material: themePropDefs.material.default,\n panelBackground: themePropDefs.panelBackground.default,\n radius: themePropDefs.radius.default,\n scaling: themePropDefs.scaling.default,\n fontFamily: themePropDefs.fontFamily.default,\n headingFontFamily: undefined,\n onAppearanceChange: noop,\n onAccentColorChange: noop,\n onGrayColorChange: noop,\n onMaterialChange: noop,\n onPanelBackgroundChange: noop,\n onRadiusChange: noop,\n onScalingChange: noop,\n onFontFamilyChange: noop,\n onHeadingFontFamilyChange: noop,\n};\n\nconst ThemeContext = React.createContext<ThemeContextValue | undefined>(undefined);\n\nfunction useThemeContext() {\n const context = React.useContext(ThemeContext);\n // Return default context if used outside Theme provider (e.g., during SSR)\n return context ?? defaultThemeContext;\n}\n\ninterface ThemeProps extends ThemeImplPublicProps {}\nconst Theme = React.forwardRef<ThemeImplElement, ThemeProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n const isRoot = context === undefined;\n if (isRoot) {\n return (\n <TooltipPrimitive.Provider delayDuration={200}>\n <Direction.Provider dir=\"ltr\">\n <ThemeRoot {...props} ref={forwardedRef} />\n </Direction.Provider>\n </TooltipPrimitive.Provider>\n );\n }\n return <ThemeImpl {...props} ref={forwardedRef} />;\n});\nTheme.displayName = 'Theme';\n\nconst ThemeRoot = React.forwardRef<ThemeImplElement, ThemeImplPublicProps>(\n (props, forwardedRef) => {\n const {\n appearance: appearanceProp = themePropDefs.appearance.default,\n accentColor: accentColorProp = themePropDefs.accentColor.default,\n grayColor: grayColorProp = themePropDefs.grayColor.default,\n material: materialProp = themePropDefs.material.default,\n panelBackground: panelBackgroundProp = themePropDefs.panelBackground.default,\n radius: radiusProp = themePropDefs.radius.default,\n scaling: scalingProp = themePropDefs.scaling.default,\n fontFamily: fontFamilyProp = themePropDefs.fontFamily.default,\n headingFontFamily: headingFontFamilyProp,\n hasBackground = themePropDefs.hasBackground.default,\n ...rootProps\n } = props;\n\n useDeprecatedPanelBackgroundWarning(props.panelBackground);\n\n // Each of these follows its prop but stays independently settable, so\n // `ThemePanel` can change the theme at runtime. Syncing during render\n // rather than in an effect matters here: an effect would commit the old\n // theme first and re-render every consumer of the context a second time.\n const [appearance, setAppearance] = usePropSyncedState(appearanceProp);\n const [accentColor, setAccentColor] = usePropSyncedState(accentColorProp);\n const [grayColor, setGrayColor] = usePropSyncedState(grayColorProp);\n\n // Material takes precedence over panelBackground\n const effectiveMaterial =\n materialProp !== themePropDefs.material.default ? materialProp : panelBackgroundProp;\n const [material, setMaterial] = usePropSyncedState(effectiveMaterial);\n\n // Keep panelBackground in sync with material for backward compatibility\n const [panelBackground, setPanelBackground] = usePropSyncedState(material);\n\n const [radius, setRadius] = usePropSyncedState(radiusProp);\n const [scaling, setScaling] = usePropSyncedState(scalingProp);\n const [fontFamily, setFontFamily] = usePropSyncedState(fontFamilyProp);\n const [headingFontFamily, setHeadingFontFamily] = usePropSyncedState(headingFontFamilyProp);\n\n return (\n <ThemeImpl\n {...rootProps}\n ref={forwardedRef}\n isRoot\n hasBackground={hasBackground}\n //\n appearance={appearance}\n accentColor={accentColor}\n grayColor={grayColor}\n material={material}\n panelBackground={panelBackground}\n radius={radius}\n scaling={scaling}\n fontFamily={fontFamily}\n headingFontFamily={headingFontFamily}\n //\n onAppearanceChange={setAppearance}\n onAccentColorChange={setAccentColor}\n onGrayColorChange={setGrayColor}\n onMaterialChange={setMaterial}\n onPanelBackgroundChange={setPanelBackground}\n onRadiusChange={setRadius}\n onScalingChange={setScaling}\n onFontFamilyChange={setFontFamily}\n onHeadingFontFamilyChange={setHeadingFontFamily}\n />\n );\n },\n);\nThemeRoot.displayName = 'ThemeRoot';\n\ntype ThemeImplElement = React.ElementRef<'div'>;\ninterface ThemeImplProps extends ThemeImplPublicProps, ThemeImplPrivateProps {}\ninterface ThemeImplPublicProps\n extends ComponentPropsWithout<'div', RemovedProps | 'dir'>,\n ThemeOwnProps {}\ninterface ThemeImplPrivateProps extends Partial<ThemeChangeHandlers> {\n isRoot?: boolean;\n}\nfunction getClientOS(): 'windows' | 'macos' | 'linux' | undefined {\n if (typeof navigator === 'undefined') return undefined;\n const ua = navigator.userAgent;\n if (ua.includes('Win')) return 'windows';\n if (ua.includes('Mac')) return 'macos';\n if (ua.includes('Linux')) return 'linux';\n return undefined;\n}\n\nconst ThemeImpl = React.forwardRef<ThemeImplElement, ThemeImplProps>((props, forwardedRef) => {\n const context = React.useContext(ThemeContext);\n const {\n asChild,\n isRoot,\n hasBackground: hasBackgroundProp,\n //\n appearance = props.appearance ?? context?.appearance ?? themePropDefs.appearance.default,\n accentColor = props.accentColor ?? context?.accentColor ?? themePropDefs.accentColor.default,\n grayColor = props.grayColor ?? context?.resolvedGrayColor ?? themePropDefs.grayColor.default,\n material = props.material ?? context?.material ?? themePropDefs.material.default,\n panelBackground = props.panelBackground ??\n context?.panelBackground ??\n themePropDefs.panelBackground.default,\n radius = props.radius ?? context?.radius ?? themePropDefs.radius.default,\n scaling = props.scaling ?? context?.scaling ?? themePropDefs.scaling.default,\n fontFamily = props.fontFamily ?? context?.fontFamily ?? themePropDefs.fontFamily.default,\n headingFontFamily = props.headingFontFamily ?? context?.headingFontFamily,\n //\n onAppearanceChange = noop,\n onAccentColorChange = noop,\n onGrayColorChange = noop,\n onMaterialChange = noop,\n onPanelBackgroundChange = noop,\n onRadiusChange = noop,\n onScalingChange = noop,\n onFontFamilyChange = noop,\n onHeadingFontFamilyChange = noop,\n //\n ...themeProps\n } = props;\n const Comp = asChild ? Slot.Root : 'div';\n const resolvedGrayColor = grayColor === 'auto' ? getMatchingGrayColor(accentColor) : grayColor;\n const isExplicitAppearance = props.appearance === 'light' || props.appearance === 'dark';\n const hasBackground =\n hasBackgroundProp === undefined ? isRoot || isExplicitAppearance : hasBackgroundProp;\n\n // `data-os` can only be resolved on the client. Writing it straight to the\n // DOM keeps it out of the server markup \u2014 so hydration still matches \u2014 without\n // spending a render pass, and a state update here would re-render the whole\n // application on mount.\n const rootRef = React.useRef<ThemeImplElement>(null);\n const composedRef = useComposedRefs(forwardedRef, rootRef);\n const hasExplicitOS = 'data-os' in themeProps;\n\n useLayoutEffect(() => {\n if (!isRoot || hasExplicitOS) return;\n const node = rootRef.current;\n if (!node) return;\n\n const os = getClientOS();\n if (!os) return;\n node.setAttribute('data-os', os);\n return () => node.removeAttribute('data-os');\n }, [isRoot, hasExplicitOS]);\n\n return (\n <ThemeContext.Provider\n value={React.useMemo(\n () => ({\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n material,\n panelBackground,\n radius,\n scaling,\n fontFamily,\n headingFontFamily,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onMaterialChange,\n onPanelBackgroundChange,\n onRadiusChange,\n onScalingChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n }),\n [\n appearance,\n accentColor,\n grayColor,\n resolvedGrayColor,\n material,\n panelBackground,\n radius,\n scaling,\n fontFamily,\n headingFontFamily,\n //\n onAppearanceChange,\n onAccentColorChange,\n onGrayColorChange,\n onMaterialChange,\n onPanelBackgroundChange,\n onRadiusChange,\n onScalingChange,\n onFontFamilyChange,\n onHeadingFontFamilyChange,\n ],\n )}\n >\n <Comp\n data-is-root-theme={isRoot ? 'true' : 'false'}\n data-accent-color={accentColor}\n data-gray-color={resolvedGrayColor}\n // for nested `Theme` background\n data-has-background={hasBackground ? 'true' : 'false'}\n data-material={material}\n data-panel-background={panelBackground}\n data-radius={radius}\n data-scaling={scaling}\n data-font-family={fontFamily}\n data-heading-font-family={headingFontFamily}\n ref={composedRef}\n {...themeProps}\n className={classNames(\n 'radix-themes',\n {\n light: appearance === 'light',\n dark: appearance === 'dark',\n },\n themeProps.className,\n )}\n />\n </ThemeContext.Provider>\n );\n});\nThemeImpl.displayName = 'ThemeImpl';\n\nexport { Theme, ThemeContext, useThemeContext };\nexport type { ThemeProps, ThemeContextValue };\n"],
5
- "mappings": "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",
6
- "names": ["React", "classNames", "Direction", "Slot", "TooltipPrimitive", "useComposedRefs", "useLayoutEffect", "noop", "defaultThemeContext", "themePropDefs", "ThemeContext", "useThemeContext", "Theme", "props", "forwardedRef", "TooltipPrimitive", "Direction", "ThemeRoot", "ThemeImpl", "appearanceProp", "accentColorProp", "grayColorProp", "materialProp", "panelBackgroundProp", "radiusProp", "scalingProp", "fontFamilyProp", "headingFontFamilyProp", "hasBackground", "rootProps", "useDeprecatedPanelBackgroundWarning", "appearance", "setAppearance", "usePropSyncedState", "accentColor", "setAccentColor", "grayColor", "setGrayColor", "effectiveMaterial", "material", "setMaterial", "panelBackground", "setPanelBackground", "radius", "setRadius", "scaling", "setScaling", "fontFamily", "setFontFamily", "headingFontFamily", "setHeadingFontFamily", "getClientOS", "ua", "context", "asChild", "isRoot", "hasBackgroundProp", "onAppearanceChange", "onAccentColorChange", "onGrayColorChange", "onMaterialChange", "onPanelBackgroundChange", "onRadiusChange", "onScalingChange", "onFontFamilyChange", "onHeadingFontFamilyChange", "themeProps", "Comp", "Slot", "resolvedGrayColor", "getMatchingGrayColor", "isExplicitAppearance", "rootRef", "composedRef", "useComposedRefs", "hasExplicitOS", "useLayoutEffect", "node", "os", "classNames"]
7
- }